Merge branch 'master' of https://github.com/tobspr/shapez.io
3
.gitignore
vendored
@ -112,3 +112,6 @@ tmp_standalone_files
|
||||
|
||||
# Github Actions files
|
||||
.github/workflows
|
||||
|
||||
# Local config
|
||||
config.local.js
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7697c34997a719bed9ddf9c16c19c672a0fdf9641edf0a9761aea9c2c7e17c6b
|
||||
size 632609
|
||||
oid sha256:6463b33b2cae50d1ecb11f0a845f06633aff331a5c2c0998d9eb93e40ad576b1
|
||||
size 636254
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:87ff03f1c77d8c245e4e2fe716b6243aecca174425ae24cfd19ffb5bd1df52f6
|
||||
size 1191627
|
||||
oid sha256:95a342ce958586280b9ebc69a41d5cc950915b787de83ddaf101dbb852bdaf86
|
||||
size 1179560
|
||||
|
||||
BIN
artwork/itch.io/screenshots/10.png
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 13 KiB |
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e9341c471a5807f58c0277b1ae220499d85871ff62c653866074bce12ef1f0d7
|
||||
size 201007
|
||||
oid sha256:47b6aca7fe07f4628b041f32ce813a840793cfdce8ffa27c7ff4562858ac05f9
|
||||
size 194245
|
||||
|
||||
@ -107,9 +107,14 @@ gulp.task("utils.cleanup", $.sequence("utils.cleanBuildFolder", "utils.cleanBuil
|
||||
|
||||
// Requires no uncomitted files
|
||||
gulp.task("utils.requireCleanWorkingTree", cb => {
|
||||
const output = $.trim(execSync("git status -su").toString("ascii"));
|
||||
let output = $.trim(execSync("git status -su").toString("ascii")).replace(/\r/gi, "").split("\n");
|
||||
|
||||
// Filter files which are OK to be untracked
|
||||
output = output.filter(x => x.indexOf(".local.js") < 0);
|
||||
if (output.length > 0) {
|
||||
console.error("\n\nYou have unstaged changes, please commit everything first!");
|
||||
console.error("Unstaged files:");
|
||||
console.error(output.join("\n"));
|
||||
process.exit(1);
|
||||
}
|
||||
cb();
|
||||
|
||||
@ -40,6 +40,8 @@ module.exports = ({
|
||||
G_ALL_UI_IMAGES: JSON.stringify(utils.getAllResourceImages()),
|
||||
};
|
||||
|
||||
const minifyNames = environment === "prod";
|
||||
|
||||
return {
|
||||
mode: "production",
|
||||
entry: {
|
||||
@ -91,15 +93,15 @@ module.exports = ({
|
||||
parse: {},
|
||||
module: true,
|
||||
toplevel: true,
|
||||
keep_classnames: false,
|
||||
keep_fnames: false,
|
||||
keep_fargs: false,
|
||||
keep_classnames: !minifyNames,
|
||||
keep_fnames: !minifyNames,
|
||||
keep_fargs: !minifyNames,
|
||||
safari10: true,
|
||||
compress: {
|
||||
arguments: false, // breaks
|
||||
drop_console: false,
|
||||
global_defs: globalDefs,
|
||||
keep_fargs: false,
|
||||
keep_fargs: !minifyNames,
|
||||
keep_infinity: true,
|
||||
passes: 2,
|
||||
module: true,
|
||||
@ -141,8 +143,8 @@ module.exports = ({
|
||||
},
|
||||
mangle: {
|
||||
eval: true,
|
||||
keep_classnames: false,
|
||||
keep_fnames: false,
|
||||
keep_classnames: !minifyNames,
|
||||
keep_fnames: !minifyNames,
|
||||
module: true,
|
||||
toplevel: true,
|
||||
safari10: true,
|
||||
@ -154,7 +156,7 @@ module.exports = ({
|
||||
braces: false,
|
||||
ecma: es6 ? 6 : 5,
|
||||
preamble:
|
||||
"/* Shapez.io Codebase - Copyright 2020 Tobias Springer - " +
|
||||
"/* shapez.io Codebase - Copyright 2020 Tobias Springer - " +
|
||||
utils.getVersion() +
|
||||
" @ " +
|
||||
utils.getRevision() +
|
||||
|
||||
@ -17,7 +17,8 @@
|
||||
"publishOnSteam": "cd gulp/steampipe && ./upload.bat",
|
||||
"publishStandalone": "yarn publishOnItch && yarn publishOnSteam",
|
||||
"publishWeb": "cd gulp && yarn main.deploy.prod",
|
||||
"publish": "yarn publishStandalone && yarn publishWeb"
|
||||
"publish": "yarn publishStandalone && yarn publishWeb",
|
||||
"syncTranslations": "node sync-translations.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.5.4",
|
||||
@ -45,6 +46,7 @@
|
||||
"logrocket": "^1.0.7",
|
||||
"lz-string": "^1.4.4",
|
||||
"markdown-loader": "^4.0.0",
|
||||
"match-all": "^1.2.5",
|
||||
"obfuscator-loader": "^1.1.2",
|
||||
"phonegap-plugin-mobile-accessibility": "^1.0.5",
|
||||
"promise-polyfill": "^8.1.0",
|
||||
@ -65,7 +67,9 @@
|
||||
"webpack-plugin-replace": "^1.1.1",
|
||||
"webpack-strip-block": "^0.2.0",
|
||||
"whatwg-fetch": "^3.0.0",
|
||||
"worker-loader": "^2.0.0"
|
||||
"worker-loader": "^2.0.0",
|
||||
"yaml": "^1.10.0",
|
||||
"yawn-yaml": "^1.5.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@typescript-eslint/eslint-plugin": "^3.2.0",
|
||||
|
||||
BIN
res/ui/icons/blueprint_marker_inverted.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
res/ui/icons/current_goal_marker_inverted.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
99
res/ui/languages/kor.svg
Normal file
@ -0,0 +1,99 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<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"
|
||||
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||||
<path style="fill:#F5F5F5;" 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"/>
|
||||
<path style="fill:#FF4B55;" d="M305.008,182.532c-40.562-27.042-95.35-15.985-122.374,24.507
|
||||
c-13.555,20.211-8.046,47.674,12.235,61.195c20.265,13.521,47.64,8.03,61.161-12.252c13.521-20.281,40.914-25.704,61.179-12.253
|
||||
c20.297,13.521,25.756,40.984,12.217,61.195C356.468,264.362,345.537,209.574,305.008,182.532"/>
|
||||
<path style="fill:#41479B;" d="M182.634,207.039c-13.555,20.211-8.046,47.674,12.235,61.195c20.265,13.521,47.64,8.03,61.161-12.252
|
||||
c13.521-20.281,40.914-25.704,61.179-12.253c20.297,13.521,25.756,40.984,12.217,61.195
|
||||
c-27.005,40.633-81.776,51.548-122.338,24.507C166.561,302.39,155.593,247.602,182.634,207.039"/>
|
||||
<g>
|
||||
<path style="fill:#464655;" d="M349.921,149.189l16.035,24.101c1.347,2.025,0.802,4.759-1.219,6.112l-4.066,2.723
|
||||
c-2.029,1.359-4.775,0.812-6.129-1.22l-16.055-24.096c-1.351-2.027-0.804-4.766,1.222-6.118l4.086-2.728
|
||||
C345.825,146.608,348.569,147.158,349.921,149.189z"/>
|
||||
<path style="fill:#464655;" d="M374.66,186.351l16.087,24.087c1.358,2.034,0.804,4.785-1.237,6.134l-4.083,2.699
|
||||
c-2.026,1.339-4.754,0.789-6.103-1.23l-16.078-24.061c-1.354-2.027-0.81-4.767,1.217-6.122l4.074-2.724
|
||||
C370.564,183.778,373.306,184.323,374.66,186.351z"/>
|
||||
<path style="fill:#464655;" d="M367.088,137.733l40.829,61.274c1.352,2.028,0.803,4.768-1.225,6.12l-4.102,2.735
|
||||
c-2.028,1.352-4.769,0.804-6.121-1.224l-40.843-61.269c-1.353-2.029-0.803-4.771,1.227-6.122l4.115-2.739
|
||||
C362.998,135.156,365.737,135.705,367.088,137.733z"/>
|
||||
<path style="fill:#464655;" d="M384.211,126.291l16.07,24.149c1.353,2.034,0.797,4.78-1.241,6.128l-4.087,2.701
|
||||
c-2.028,1.34-4.757,0.789-6.106-1.234l-16.082-24.117c-1.353-2.028-0.805-4.769,1.224-6.121l4.099-2.732
|
||||
C380.117,123.711,382.859,124.261,384.211,126.291z"/>
|
||||
<path style="fill:#464655;" d="M408.967,163.531l16.046,24.099c1.349,2.026,0.803,4.762-1.221,6.115l-4.075,2.725
|
||||
c-2.029,1.357-4.774,0.809-6.127-1.223l-16.046-24.099c-1.349-2.026-0.803-4.762,1.221-6.115l4.075-2.725
|
||||
C404.869,160.951,407.614,161.499,408.967,163.531z"/>
|
||||
<path style="fill:#464655;" d="M132.72,293.982l40.824,61.208c1.352,2.027,0.806,4.767-1.221,6.12l-4.089,2.73
|
||||
c-2.028,1.354-4.77,0.807-6.123-1.222l-40.824-61.208c-1.352-2.027-0.805-4.767,1.221-6.12l4.089-2.73
|
||||
C128.626,291.406,131.367,291.954,132.72,293.982z"/>
|
||||
<path style="fill:#464655;" d="M115.582,305.431l16.027,24.041c1.35,2.026,0.806,4.762-1.217,6.116l-4.066,2.722
|
||||
c-2.027,1.357-4.771,0.812-6.126-1.217l-16.048-24.035c-1.354-2.027-0.807-4.768,1.22-6.122l4.086-2.728
|
||||
C111.487,302.854,114.229,303.402,115.582,305.431z"/>
|
||||
<path style="fill:#464655;" d="M140.351,342.605l16.047,24.101c1.349,2.026,0.803,4.763-1.221,6.115l-4.078,2.726
|
||||
c-2.029,1.356-4.773,0.809-6.126-1.222l-16.057-24.097c-1.351-2.027-0.804-4.765,1.222-6.118l4.088-2.73
|
||||
C136.255,340.026,138.999,340.574,140.351,342.605z"/>
|
||||
<path style="fill:#464655;" d="M98.442,316.876l40.798,61.211c1.351,2.026,0.805,4.764-1.22,6.117l-4.077,2.725
|
||||
c-2.028,1.356-4.771,0.809-6.125-1.22l-40.822-61.203c-1.353-2.028-0.805-4.769,1.224-6.122l4.101-2.734
|
||||
C94.349,314.3,97.09,314.848,98.442,316.876z"/>
|
||||
<path style="fill:#464655;" d="M121.295,210.441l40.818-61.257c1.353-2.03,4.095-2.578,6.124-1.223l4.087,2.729
|
||||
c2.027,1.353,2.573,4.093,1.221,6.12l-40.834,61.222c-1.349,2.023-4.08,2.574-6.108,1.232l-4.071-2.694
|
||||
C120.494,215.221,119.94,212.475,121.295,210.441z"/>
|
||||
<path style="fill:#464655;" d="M104.147,199.009l40.826-61.269c1.353-2.031,4.097-2.578,6.126-1.222l4.077,2.725
|
||||
c2.024,1.353,2.57,4.09,1.22,6.116l-40.815,61.273c-1.352,2.03-4.095,2.579-6.124,1.224l-4.088-2.729
|
||||
C103.343,203.775,102.796,201.036,104.147,199.009z"/>
|
||||
<path style="fill:#464655;" d="M86.991,187.625l40.829-61.33c1.353-2.032,4.098-2.58,6.127-1.223l4.077,2.726
|
||||
c2.023,1.353,2.57,4.088,1.222,6.114L98.441,195.25c-1.351,2.031-4.093,2.581-6.123,1.228l-4.101-2.734
|
||||
C86.189,192.392,85.64,189.653,86.991,187.625z"/>
|
||||
<path style="fill:#464655;" d="M338.492,355.189l16.048-24.035c1.355-2.029,4.099-2.574,6.127-1.217l4.066,2.723
|
||||
c2.023,1.354,2.567,4.091,1.217,6.116l-16.028,24.04c-1.353,2.029-4.095,2.577-6.123,1.223l-4.086-2.728
|
||||
C337.685,359.957,337.138,357.217,338.492,355.189z"/>
|
||||
<path style="fill:#464655;" d="M363.243,318.14l16.073-24.154c1.351-2.031,4.093-2.58,6.123-1.227l4.096,2.73
|
||||
c2.03,1.353,2.577,4.096,1.222,6.124l-16.107,24.116c-1.35,2.022-4.082,2.571-6.109,1.228l-4.062-2.692
|
||||
C362.445,322.916,361.891,320.172,363.243,318.14z"/>
|
||||
<path style="fill:#464655;" d="M355.626,366.698l16.058-24.098c1.352-2.029,4.093-2.578,6.122-1.225l4.104,2.737
|
||||
c2.027,1.352,2.576,4.09,1.225,6.118l-16.047,24.101c-1.351,2.029-4.091,2.579-6.12,1.228l-4.115-2.739
|
||||
C354.824,371.469,354.274,368.728,355.626,366.698z"/>
|
||||
<path style="fill:#464655;" d="M380.402,329.464l16.066-24.042c1.353-2.025,4.092-2.571,6.118-1.22l4.101,2.734
|
||||
c2.03,1.353,2.577,4.096,1.221,6.125l-16.065,24.042c-1.353,2.025-4.091,2.571-6.118,1.22l-4.102-2.735
|
||||
C379.594,334.235,379.047,331.492,380.402,329.464z"/>
|
||||
<path style="fill:#464655;" d="M372.771,378.081l16.075-24.056c1.349-2.02,4.077-2.569,6.103-1.23l4.087,2.701
|
||||
c2.04,1.348,2.595,4.097,1.239,6.131l-16.063,24.088c-1.352,2.028-4.092,2.576-6.121,1.224l-4.099-2.732
|
||||
C371.963,382.853,371.416,380.109,372.771,378.081z"/>
|
||||
<path style="fill:#464655;" d="M397.553,340.969l16.036-24.085c1.353-2.032,4.098-2.58,6.127-1.223l4.072,2.722
|
||||
c2.025,1.354,2.57,4.093,1.218,6.119l-16.048,24.053c-1.35,2.023-4.083,2.573-6.11,1.229l-4.059-2.691
|
||||
C396.754,345.746,396.201,343.001,397.553,340.969z"/>
|
||||
</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>
|
||||
|
After Width: | Height: | Size: 6.0 KiB |
@ -607,6 +607,6 @@
|
||||
"format": "RGBA8888",
|
||||
"size": {"w":407,"h":128},
|
||||
"scale": "0.1",
|
||||
"smartupdate": "$TexturePacker:SmartUpdate:feeaacb789d7182e6aef553861c19982:774c2c10210542582abaa8efc495510d:f159918d23e5952766c6d23ab52278c6$"
|
||||
"smartupdate": "$TexturePacker:SmartUpdate:3dd7a89f30024dd4787ad4af6b14588a:9ba11f8b02134c4376ab4e0a44f8b850:f159918d23e5952766c6d23ab52278c6$"
|
||||
}
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 50 KiB |
@ -607,6 +607,6 @@
|
||||
"format": "RGBA8888",
|
||||
"size": {"w":1997,"h":1801},
|
||||
"scale": "1",
|
||||
"smartupdate": "$TexturePacker:SmartUpdate:feeaacb789d7182e6aef553861c19982:774c2c10210542582abaa8efc495510d:f159918d23e5952766c6d23ab52278c6$"
|
||||
"smartupdate": "$TexturePacker:SmartUpdate:3dd7a89f30024dd4787ad4af6b14588a:9ba11f8b02134c4376ab4e0a44f8b850:f159918d23e5952766c6d23ab52278c6$"
|
||||
}
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 752 KiB After Width: | Height: | Size: 743 KiB |
@ -607,6 +607,6 @@
|
||||
"format": "RGBA8888",
|
||||
"size": {"w":510,"h":512},
|
||||
"scale": "0.25",
|
||||
"smartupdate": "$TexturePacker:SmartUpdate:feeaacb789d7182e6aef553861c19982:774c2c10210542582abaa8efc495510d:f159918d23e5952766c6d23ab52278c6$"
|
||||
"smartupdate": "$TexturePacker:SmartUpdate:3dd7a89f30024dd4787ad4af6b14588a:9ba11f8b02134c4376ab4e0a44f8b850:f159918d23e5952766c6d23ab52278c6$"
|
||||
}
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 163 KiB After Width: | Height: | Size: 160 KiB |
@ -607,6 +607,6 @@
|
||||
"format": "RGBA8888",
|
||||
"size": {"w":475,"h":1968},
|
||||
"scale": "0.5",
|
||||
"smartupdate": "$TexturePacker:SmartUpdate:feeaacb789d7182e6aef553861c19982:774c2c10210542582abaa8efc495510d:f159918d23e5952766c6d23ab52278c6$"
|
||||
"smartupdate": "$TexturePacker:SmartUpdate:3dd7a89f30024dd4787ad4af6b14588a:9ba11f8b02134c4376ab4e0a44f8b850:f159918d23e5952766c6d23ab52278c6$"
|
||||
}
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 380 KiB After Width: | Height: | Size: 374 KiB |
@ -607,6 +607,6 @@
|
||||
"format": "RGBA8888",
|
||||
"size": {"w":2016,"h":1024},
|
||||
"scale": "0.75",
|
||||
"smartupdate": "$TexturePacker:SmartUpdate:feeaacb789d7182e6aef553861c19982:774c2c10210542582abaa8efc495510d:f159918d23e5952766c6d23ab52278c6$"
|
||||
"smartupdate": "$TexturePacker:SmartUpdate:3dd7a89f30024dd4787ad4af6b14588a:9ba11f8b02134c4376ab4e0a44f8b850:f159918d23e5952766c6d23ab52278c6$"
|
||||
}
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 746 KiB After Width: | Height: | Size: 735 KiB |
@ -4,7 +4,7 @@
|
||||
<key>fileFormatVersion</key>
|
||||
<int>4</int>
|
||||
<key>texturePackerVersion</key>
|
||||
<string>5.3.0</string>
|
||||
<string>5.4.0</string>
|
||||
<key>autoSDSettings</key>
|
||||
<array>
|
||||
<struct type="AutoSDSettings">
|
||||
@ -445,6 +445,7 @@
|
||||
<key type="filename">sprites/map_overview/belt_forward.png</key>
|
||||
<key type="filename">sprites/map_overview/belt_left.png</key>
|
||||
<key type="filename">sprites/map_overview/belt_right.png</key>
|
||||
<key type="filename">sprites/misc/waypoint.png</key>
|
||||
<struct type="IndividualSpriteSettings">
|
||||
<key>pivotPoint</key>
|
||||
<point_f>0.5,0.5</point_f>
|
||||
|
||||
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 16 KiB |
@ -1,5 +1,5 @@
|
||||
# Requirements: numpy, scipy, Pillow,
|
||||
|
||||
from __future__ import print_function
|
||||
import sys
|
||||
import numpy as np
|
||||
from scipy import ndimage
|
||||
@ -59,7 +59,7 @@ def save_image(data, outfilename, src_image):
|
||||
|
||||
|
||||
def roberts_cross(infilename, outfilename):
|
||||
print "Processing", infilename
|
||||
print("Processing", infilename)
|
||||
img = Image.open(infilename)
|
||||
img.load()
|
||||
img = img.filter(ImageFilter.GaussianBlur(0.5))
|
||||
@ -72,7 +72,7 @@ def roberts_cross(infilename, outfilename):
|
||||
|
||||
|
||||
def generateUiPreview(srcPath, buildingId):
|
||||
print srcPath, buildingId
|
||||
print(srcPath, buildingId)
|
||||
img = Image.open(srcPath)
|
||||
img.load()
|
||||
img.thumbnail((110, 110), Image.ANTIALIAS)
|
||||
|
||||
@ -23,7 +23,7 @@ $icons: notification_saved, notification_success, notification_upgrade;
|
||||
}
|
||||
|
||||
$languages: en, de, cs, da, et, es-419, fr, it, pt-BR, sv, tr, el, ru, uk, zh-TW, nb, mt-MT, ar, nl, vi, th,
|
||||
hu, pl, ja;
|
||||
hu, pl, ja, kor;
|
||||
|
||||
@each $language in $languages {
|
||||
[data-languageicon="#{$language}"] {
|
||||
|
||||
@ -118,6 +118,10 @@
|
||||
pointer-events: all;
|
||||
@include S(width, 350px);
|
||||
|
||||
@include DarkThemeOverride {
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
@ -58,11 +58,20 @@
|
||||
}
|
||||
}
|
||||
|
||||
&:not(.placementActive) .binding.placementOnly {
|
||||
&:not(.placementActive) .binding.placementOnly,
|
||||
&.mapOverviewActive .binding.placementOnly {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&.placementActive .noPlacementOnly {
|
||||
&.placementActive:not(.mapOverviewActive) .noPlacementOnly {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&:not(.mapOverviewActive) .binding.overviewOnly {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&.mapOverviewActive .noOverviewOnly {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
@ -74,25 +74,44 @@
|
||||
|
||||
&.goal,
|
||||
&.blueprint {
|
||||
.amountLabel {
|
||||
&::after {
|
||||
content: " ";
|
||||
position: absolute;
|
||||
display: inline-block;
|
||||
@include S(width, 8px);
|
||||
@include S(height, 8px);
|
||||
@include S(top, 4px);
|
||||
@include S(left, -7px);
|
||||
background: uiResource("icons/current_goal_marker.png") center center / contain no-repeat;
|
||||
.amountLabel::after {
|
||||
content: " ";
|
||||
position: absolute;
|
||||
display: inline-block;
|
||||
@include S(width, 8px);
|
||||
@include S(height, 8px);
|
||||
@include S(top, 4px);
|
||||
@include S(left, -7px);
|
||||
background: center center / contain no-repeat;
|
||||
}
|
||||
|
||||
@include DarkThemeInvert;
|
||||
&.goal .amountLabel {
|
||||
&::after {
|
||||
background-image: uiResource("icons/current_goal_marker.png");
|
||||
background-size: 90%;
|
||||
}
|
||||
@include DarkThemeOverride {
|
||||
&::after {
|
||||
background-image: uiResource("icons/current_goal_marker_inverted.png") !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.blueprint .amountLabel::after {
|
||||
background-image: uiResource("icons/blueprint_marker.png");
|
||||
background-size: 90%;
|
||||
&.blueprint .amountLabel {
|
||||
&::after {
|
||||
background-image: uiResource("icons/blueprint_marker.png");
|
||||
background-size: 90%;
|
||||
}
|
||||
@include DarkThemeOverride {
|
||||
&::after {
|
||||
background-image: uiResource("icons/blueprint_marker_inverted.png") !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.completed {
|
||||
opacity: 0.5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -46,7 +46,7 @@
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
@include S(width, 50px);
|
||||
@include S(min-width, 50px);
|
||||
@include S(padding, 0px, 5px);
|
||||
|
||||
&[data-tier="0"] {
|
||||
|
||||
@ -29,7 +29,7 @@
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
max-height: 90vh;
|
||||
max-height: 100vh;
|
||||
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
@ -55,7 +55,7 @@
|
||||
.subTitle {
|
||||
@include PlainText;
|
||||
display: inline-block;
|
||||
@include S(margin, 0px, 0, 20px);
|
||||
@include S(margin, 5px, 0, 20px);
|
||||
color: $colorGreenBright;
|
||||
|
||||
@include S(border-radius, $globalBorderRadius);
|
||||
|
||||
@ -79,7 +79,11 @@
|
||||
|
||||
@include S(grid-column-gap, 10px);
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
grid-template-columns: 1fr;
|
||||
|
||||
&.demo {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
|
||||
.standaloneBanner {
|
||||
background: rgb(255, 234, 245);
|
||||
|
||||
@ -39,6 +39,10 @@
|
||||
a {
|
||||
color: $colorBlueBright;
|
||||
}
|
||||
li {
|
||||
@include SuperSmallText;
|
||||
@include S(margin-bottom, 10px);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -14,13 +14,10 @@ import { Vector } from "./core/vector";
|
||||
import { AdProviderInterface } from "./platform/ad_provider";
|
||||
import { NoAdProvider } from "./platform/ad_providers/no_ad_provider";
|
||||
import { AnalyticsInterface } from "./platform/analytics";
|
||||
import { ShapezGameAnalytics } from "./platform/browser/game_analytics";
|
||||
import { GoogleAnalyticsImpl } from "./platform/browser/google_analytics";
|
||||
import { NoGameAnalytics } from "./platform/browser/no_game_analytics";
|
||||
import { SoundImplBrowser } from "./platform/browser/sound";
|
||||
import { StorageImplBrowser } from "./platform/browser/storage";
|
||||
import { StorageImplBrowserIndexedDB } from "./platform/browser/storage_indexed_db";
|
||||
import { PlatformWrapperImplBrowser } from "./platform/browser/wrapper";
|
||||
import { StorageImplElectron } from "./platform/electron/storage";
|
||||
import { PlatformWrapperImplElectron } from "./platform/electron/wrapper";
|
||||
import { GameAnalyticsInterface } from "./platform/game_analytics";
|
||||
import { SoundInterface } from "./platform/sound";
|
||||
@ -36,7 +33,6 @@ import { MainMenuState } from "./states/main_menu";
|
||||
import { MobileWarningState } from "./states/mobile_warning";
|
||||
import { PreloadState } from "./states/preload";
|
||||
import { SettingsState } from "./states/settings";
|
||||
import { NoGameAnalytics } from "./platform/browser/no_game_analytics";
|
||||
|
||||
const logger = createLogger("application");
|
||||
|
||||
|
||||
@ -1,9 +1,41 @@
|
||||
export const CHANGELOG = [
|
||||
{
|
||||
version: "1.1.11",
|
||||
date: "13.06.2020",
|
||||
entries: [
|
||||
"Pinned shapes are now smart, they dynamically update their goal and also unpin when no longer required. Completed objectives are now rendered transparent.",
|
||||
"You can now cut areas, and also paste the last blueprint again! (by hexy)",
|
||||
"You can now export your whole base as an image by pressing F3!",
|
||||
"Improve upgrade number rounding, so there are no goals like '37.4k', instead it will now be '35k'",
|
||||
"You can now configure the camera movement speed when using WASD (by mini-bomba)",
|
||||
"Selecting an area now is relative to the world and thus does not move when moving the screen (by Dimava)",
|
||||
"Allow higher tick-rates up to 500hz (This will burn your PC!)",
|
||||
"Fix bug regarding number rounding",
|
||||
"Fix dialog text being hardly readable in dark theme",
|
||||
"Fix app not starting when the savegames were corrupted - there is now a better error message as well.",
|
||||
"Further translation updates - Big thanks to all contributors!",
|
||||
],
|
||||
},
|
||||
{
|
||||
version: "1.1.10",
|
||||
date: "12.06.2020",
|
||||
entries: [
|
||||
"There are now linux builds on steam! Please report any issues in the discord!",
|
||||
"Steam cloud saves are now available!",
|
||||
"Added and update more translations (Big thank you to all translators!)",
|
||||
"Prevent invalid connection if existing underground tunnel entrance exists (by jaysc)",
|
||||
],
|
||||
},
|
||||
{
|
||||
version: "1.1.9",
|
||||
date: "unreleased",
|
||||
date: "11.06.2020",
|
||||
entries: [
|
||||
"Support for translations! Interested in helping out? Check out the <a target='_blank' href='https://github.com/tobspr/shapez.io/tree/master/translations'>translation guide</a>!",
|
||||
"Update stacker artwork to clarify how it works",
|
||||
"Update keybinding hints on the top left to be more accurate",
|
||||
"Make it more clear when blueprints are unlocked when trying to use them",
|
||||
"Fix pinned shape icons not being visible in dark mode",
|
||||
"Fix being able to select buildings via hotkeys in map overview mode",
|
||||
"Make shapes unpinnable in the upgrades tab (By hexy)",
|
||||
],
|
||||
},
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
import { queryParamOptions } from "./query_parameters";
|
||||
|
||||
export const IS_DEBUG =
|
||||
G_IS_DEV &&
|
||||
typeof window !== "undefined" &&
|
||||
@ -5,9 +7,10 @@ export const IS_DEBUG =
|
||||
(window.location.host.indexOf("localhost:") >= 0 || window.location.host.indexOf("192.168.0.") >= 0) &&
|
||||
window.location.search.indexOf("nodebug") < 0;
|
||||
|
||||
export const IS_DEMO =
|
||||
(G_IS_PROD && !G_IS_STANDALONE) ||
|
||||
(typeof window !== "undefined" && window.location.search.indexOf("demo") >= 0);
|
||||
export const IS_DEMO = queryParamOptions.fullVersion
|
||||
? false
|
||||
: (G_IS_PROD && !G_IS_STANDALONE) ||
|
||||
(typeof window !== "undefined" && window.location.search.indexOf("demo") >= 0);
|
||||
|
||||
const smoothCanvas = true;
|
||||
|
||||
@ -79,40 +82,7 @@ export const globalConfig = {
|
||||
},
|
||||
|
||||
rendering: {},
|
||||
|
||||
debug: {
|
||||
/* dev:start */
|
||||
// fastGameEnter: true,
|
||||
// noArtificialDelays: true,
|
||||
// disableSavegameWrite: true,
|
||||
// showEntityBounds: true,
|
||||
// showAcceptorEjectors: true,
|
||||
// disableMusic: true,
|
||||
// doNotRenderStatics: true,
|
||||
// disableZoomLimits: true,
|
||||
// showChunkBorders: true,
|
||||
// rewardsInstant: true,
|
||||
allBuildingsUnlocked: true,
|
||||
blueprintsNoCost: true,
|
||||
upgradesNoCost: true,
|
||||
// disableUnlockDialog: true,
|
||||
// disableLogicTicks: true,
|
||||
// testClipping: true,
|
||||
// framePausesBetweenTicks: 40,
|
||||
// testTranslations: true,
|
||||
// enableEntityInspector: true,
|
||||
// testAds: true,
|
||||
// disableMapOverview: true,
|
||||
// disableTutorialHints: true,
|
||||
disableUpgradeNotification: true,
|
||||
// instantBelts: true,
|
||||
// instantProcessors: true,
|
||||
// instantMiners: true,
|
||||
// resumeGameOnFastEnter: false,
|
||||
|
||||
// renderForTrailer: true,
|
||||
/* dev:end */
|
||||
},
|
||||
debug: require("./config.local").default,
|
||||
|
||||
// Secret vars
|
||||
info: {
|
||||
@ -130,14 +100,15 @@ export const globalConfig = {
|
||||
export const IS_MOBILE = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
|
||||
|
||||
// Automatic calculations
|
||||
|
||||
globalConfig.minerSpeedItemsPerSecond = globalConfig.beltSpeedItemsPerSecond / 5;
|
||||
|
||||
// Dynamic calculations
|
||||
if (globalConfig.debug.disableMapOverview) {
|
||||
globalConfig.mapChunkOverviewMinZoom = 0;
|
||||
globalConfig.mapChunkPrerenderMinZoom = 0;
|
||||
}
|
||||
|
||||
// Stuff for making the trailer
|
||||
if (G_IS_DEV && globalConfig.debug.renderForTrailer) {
|
||||
globalConfig.debug.framePausesBetweenTicks = 32;
|
||||
// globalConfig.mapChunkOverviewMinZoom = 0.0;
|
||||
@ -148,3 +119,7 @@ if (G_IS_DEV && globalConfig.debug.renderForTrailer) {
|
||||
globalConfig.debug.disableSavegameWrite = true;
|
||||
// globalConfig.beltSpeedItemsPerSecond *= 2;
|
||||
}
|
||||
|
||||
if (globalConfig.debug.fastGameEnter) {
|
||||
globalConfig.debug.noArtificalDelays = true;
|
||||
}
|
||||
|
||||
87
src/js/core/config.local.js
Normal file
@ -0,0 +1,87 @@
|
||||
export default {
|
||||
// You can set any debug options here!
|
||||
/* dev:start */
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Quickly enters the game and skips the main menu - good for fast iterating
|
||||
// fastGameEnter: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Skips any delays like transitions between states and such
|
||||
// noArtificialDelays: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Disables writing of savegames, useful for testing the same savegame over and over
|
||||
// disableSavegameWrite: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Shows bounds of all entities
|
||||
// showEntityBounds: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Shows arrows for every ejector / acceptor
|
||||
// showAcceptorEjectors: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Disables the music (Overrides any setting, can cause weird behaviour)
|
||||
// disableMusic: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Do not render static map entities (=most buildings)
|
||||
// doNotRenderStatics: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Allow to zoom freely without limits
|
||||
// disableZoomLimits: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Shows a border arround every chunk
|
||||
// showChunkBorders: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// All rewards can be unlocked by passing just 1 of any shape
|
||||
// rewardsInstant: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Unlocks all buildings
|
||||
// allBuildingsUnlocked: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Disables cost of bluepirnts
|
||||
// blueprintsNoCost: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Disables cost of upgrades
|
||||
// upgradesNoCost: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Disables the dialog when completing a level
|
||||
// disableUnlockDialog: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Disables the simulation - This effectively pauses the game.
|
||||
// disableLogicTicks: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Test the rendering if everything is clipped out properly
|
||||
// testClipping: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Allows to render slower, useful for recording at half speed to avoid stuttering
|
||||
// framePausesBetweenTicks: 1,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Replace all translations with emojis to see which texts are translateable
|
||||
// testTranslations: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Enables an inspector which shows information about the entity below the curosr
|
||||
// enableEntityInspector: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Enables ads in the local build (normally they are deactivated there)
|
||||
// testAds: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Disables the automatic switch to an overview when zooming out
|
||||
// disableMapOverview: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Disables the notification when there are new entries in the changelog since last played
|
||||
// disableUpgradeNotification: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Makes belts almost infinitely fast
|
||||
// instantBelts: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Makes item processors almost infinitely fast
|
||||
// instantProcessors: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Makes miners almost infinitely fast
|
||||
// instantMiners: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// When using fastGameEnter, controls whether a new game is started or the last one is resumed
|
||||
// resumeGameOnFastEnter: false,
|
||||
// -----------------------------------------------------------------------------------
|
||||
// Special option used to render the trailer
|
||||
// renderForTrailer: true,
|
||||
// -----------------------------------------------------------------------------------
|
||||
/* dev:end */
|
||||
};
|
||||
@ -3,8 +3,14 @@ const options = queryString.parse(location.search);
|
||||
|
||||
export let queryParamOptions = {
|
||||
embedProvider: null,
|
||||
fullVersion: false,
|
||||
};
|
||||
|
||||
if (options.embed) {
|
||||
queryParamOptions.embedProvider = options.embed;
|
||||
}
|
||||
|
||||
// Allow testing full version outside of standalone
|
||||
if (options.fullVersion && !G_IS_RELEASE) {
|
||||
queryParamOptions.fullVersion = true;
|
||||
}
|
||||
|
||||
@ -377,7 +377,23 @@ export function findNiceValue(num) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
const roundAmount = 0.5 * Math_pow(10, Math_floor(Math_log10(num) - 1));
|
||||
let roundAmount = 1;
|
||||
if (num > 50000) {
|
||||
roundAmount = 10000;
|
||||
} else if (num > 20000) {
|
||||
roundAmount = 5000;
|
||||
} else if (num > 5000) {
|
||||
roundAmount = 1000;
|
||||
} else if (num > 2000) {
|
||||
roundAmount = 500;
|
||||
} else if (num > 1000) {
|
||||
roundAmount = 100;
|
||||
} else if (num > 100) {
|
||||
roundAmount = 20;
|
||||
} else if (num > 20) {
|
||||
roundAmount = 5;
|
||||
}
|
||||
|
||||
const niceValue = Math_floor(num / roundAmount) * roundAmount;
|
||||
if (num >= 10) {
|
||||
return Math_round(niceValue);
|
||||
@ -389,6 +405,8 @@ export function findNiceValue(num) {
|
||||
return Math_round(niceValue * 100) / 100;
|
||||
}
|
||||
|
||||
window.fn = findNiceValue;
|
||||
|
||||
/**
|
||||
* Finds a nice integer value
|
||||
* @see findNiceValue
|
||||
|
||||
@ -10,6 +10,7 @@ import {
|
||||
Math_atan2,
|
||||
Math_sin,
|
||||
Math_cos,
|
||||
Math_ceil,
|
||||
} from "./builtins";
|
||||
|
||||
const tileSize = globalConfig.tileSize;
|
||||
@ -303,13 +304,21 @@ export class Vector {
|
||||
}
|
||||
|
||||
/**
|
||||
* Computes componentwise floor and return a new vector
|
||||
* Computes componentwise floor and returns a new vector
|
||||
* @returns {Vector}
|
||||
*/
|
||||
floor() {
|
||||
return new Vector(Math_floor(this.x), Math_floor(this.y));
|
||||
}
|
||||
|
||||
/**
|
||||
* Computes componentwise ceil and returns a new vector
|
||||
* @returns {Vector}
|
||||
*/
|
||||
ceil() {
|
||||
return new Vector(Math_ceil(this.x), Math_ceil(this.y));
|
||||
}
|
||||
|
||||
/**
|
||||
* Computes componentwise round and return a new vector
|
||||
* @returns {Vector}
|
||||
|
||||
@ -175,6 +175,8 @@ export class MetaUndergroundBeltBuilding extends MetaBuilding {
|
||||
rotationVariant: 0,
|
||||
connectedEntities: [contents],
|
||||
};
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -901,8 +901,8 @@ export class Camera extends BasicSerializableObject {
|
||||
forceX += 1;
|
||||
}
|
||||
|
||||
this.center.x += moveAmount * forceX;
|
||||
this.center.y += moveAmount * forceY;
|
||||
this.center.x += moveAmount * forceX * this.root.app.settings.getMovementSpeed();
|
||||
this.center.y += moveAmount * forceY * this.root.app.settings.getMovementSpeed();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -409,7 +409,7 @@ export class GameCore {
|
||||
}
|
||||
|
||||
if (G_IS_DEV) {
|
||||
root.map.drawStaticEntities(params);
|
||||
root.map.drawStaticEntityDebugOverlays(params);
|
||||
}
|
||||
|
||||
// END OF GAME CONTENT
|
||||
|
||||
@ -136,7 +136,7 @@ export class Entity extends BasicSerializableObject {
|
||||
* Draws the entity, to override use @see Entity.drawImpl
|
||||
* @param {DrawParameters} parameters
|
||||
*/
|
||||
draw(parameters) {
|
||||
drawDebugOverlays(parameters) {
|
||||
const context = parameters.context;
|
||||
const staticComp = this.components.StaticMapEntity;
|
||||
|
||||
|
||||
@ -2,6 +2,10 @@
|
||||
import { GameRoot } from "../root";
|
||||
/* typehints:end */
|
||||
|
||||
/* dev:start */
|
||||
import { TrailerMaker } from "./trailer_maker";
|
||||
/* dev:end */
|
||||
|
||||
import { Signal } from "../../core/signal";
|
||||
import { DrawParameters } from "../../core/draw_parameters";
|
||||
import { HUDProcessingOverlay } from "./parts/processing_overlay";
|
||||
@ -29,10 +33,7 @@ import { HUDModalDialogs } from "./parts/modal_dialogs";
|
||||
import { HUDPartTutorialHints } from "./parts/tutorial_hints";
|
||||
import { HUDWaypoints } from "./parts/waypoints";
|
||||
import { HUDInteractiveTutorial } from "./parts/interactive_tutorial";
|
||||
|
||||
/* dev:start */
|
||||
import { TrailerMaker } from "./trailer_maker";
|
||||
/* dev:end */
|
||||
import { HUDScreenshotExporter } from "./parts/screenshot_exporter";
|
||||
|
||||
export class GameHUD {
|
||||
/**
|
||||
@ -66,14 +67,16 @@ export class GameHUD {
|
||||
// betaOverlay: new HUDBetaOverlay(this.root),
|
||||
debugInfo: new HUDDebugInfo(this.root),
|
||||
dialogs: new HUDModalDialogs(this.root),
|
||||
screenshotExporter: new HUDScreenshotExporter(this.root),
|
||||
};
|
||||
|
||||
this.signals = {
|
||||
selectedPlacementBuildingChanged: /** @type {TypedSignal<[MetaBuilding|null]>} */ (new Signal()),
|
||||
shapePinRequested: /** @type {TypedSignal<[ShapeDefinition, number]>} */ (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: new Signal(),
|
||||
};
|
||||
|
||||
if (!IS_MOBILE) {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
//www.youtube.com/watch?v=KyorY1uIqiQimport { DrawParameters } from "../../../core/draw_parameters";
|
||||
import { DrawParameters } from "../../../core/draw_parameters";
|
||||
import { STOP_PROPAGATION } from "../../../core/signal";
|
||||
import { TrackedState } from "../../../core/tracked_state";
|
||||
import { Vector } from "../../../core/vector";
|
||||
@ -29,6 +29,8 @@ export class HUDBlueprintPlacer extends BaseHUDPart {
|
||||
|
||||
/** @type {TypedTrackedState<Blueprint?>} */
|
||||
this.currentBlueprint = new TrackedState(this.onBlueprintChanged, this);
|
||||
/** @type {Blueprint?} */
|
||||
this.lastBlueprintUsed = null;
|
||||
|
||||
const keyActionMapper = this.root.keyMapper;
|
||||
keyActionMapper.getBinding(KEYMAPPINGS.general.back).add(this.abortPlacement, this);
|
||||
@ -36,9 +38,7 @@ export class HUDBlueprintPlacer extends BaseHUDPart {
|
||||
.getBinding(KEYMAPPINGS.placement.abortBuildingPlacement)
|
||||
.add(this.abortPlacement, this);
|
||||
keyActionMapper.getBinding(KEYMAPPINGS.placement.rotateWhilePlacing).add(this.rotateBlueprint, this);
|
||||
keyActionMapper
|
||||
.getBinding(KEYMAPPINGS.placement.abortBuildingPlacement)
|
||||
.add(this.abortPlacement, this);
|
||||
keyActionMapper.getBinding(KEYMAPPINGS.massSelect.pasteLastBlueprint).add(this.pasteBlueprint, this);
|
||||
|
||||
this.root.camera.downPreHandler.add(this.onMouseDown, this);
|
||||
this.root.camera.movePreHandler.add(this.onMouseMove, this);
|
||||
@ -73,6 +73,7 @@ export class HUDBlueprintPlacer extends BaseHUDPart {
|
||||
*/
|
||||
onBlueprintChanged(blueprint) {
|
||||
if (blueprint) {
|
||||
this.lastBlueprintUsed = blueprint;
|
||||
this.costDisplayText.innerText = "" + blueprint.getCost();
|
||||
}
|
||||
}
|
||||
@ -144,6 +145,15 @@ export class HUDBlueprintPlacer extends BaseHUDPart {
|
||||
}
|
||||
}
|
||||
|
||||
pasteBlueprint() {
|
||||
if (this.lastBlueprintUsed !== null) {
|
||||
this.root.hud.signals.pasteBlueprintRequested.dispatch();
|
||||
this.currentBlueprint.set(this.lastBlueprintUsed);
|
||||
} else {
|
||||
this.root.soundProxy.playUiError();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {DrawParameters} parameters
|
||||
|
||||
@ -40,6 +40,7 @@ export class HUDBuildingPlacer extends BaseHUDPart {
|
||||
keyActionMapper.getBinding(KEYMAPPINGS.placement.cycleBuildingVariants).add(this.cycleVariants, this);
|
||||
|
||||
this.root.hud.signals.buildingsSelectedForCopy.add(this.abortPlacement, this);
|
||||
this.root.hud.signals.pasteBlueprintRequested.add(this.abortPlacement, this);
|
||||
|
||||
this.domAttach = new DynamicDomAttach(this.root, this.element, {});
|
||||
|
||||
|
||||
@ -151,6 +151,11 @@ export class HUDBuildingsToolbar extends BaseHUDPart {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.root.camera.getIsMapOverlayActive()) {
|
||||
this.root.soundProxy.playUiError();
|
||||
return;
|
||||
}
|
||||
|
||||
// Allow clicking an item again to deselect it
|
||||
for (const buildingId in this.buildingHandles) {
|
||||
const handle = this.buildingHandles[buildingId];
|
||||
|
||||
@ -39,7 +39,7 @@ export class HUDInteractiveTutorial extends BaseHUDPart {
|
||||
"ingame_HUD_InteractiveTutorial",
|
||||
["animEven"],
|
||||
`
|
||||
<strong class="title">Tutorial</strong>
|
||||
<strong class="title">${T.ingame.interactiveTutorial.title}</strong>
|
||||
`
|
||||
);
|
||||
|
||||
|
||||
@ -2,6 +2,7 @@ import { makeDiv } from "../../../core/utils";
|
||||
import { T } from "../../../translations";
|
||||
import { getStringForKeyCode, KEYMAPPINGS } from "../../key_action_mapper";
|
||||
import { BaseHUDPart } from "../base_hud_part";
|
||||
import { TrackedState } from "../../../core/tracked_state";
|
||||
|
||||
export class HUDKeybindingOverlay extends BaseHUDPart {
|
||||
initialize() {
|
||||
@ -9,6 +10,8 @@ export class HUDKeybindingOverlay extends BaseHUDPart {
|
||||
this.onSelectedBuildingForPlacementChanged,
|
||||
this
|
||||
);
|
||||
|
||||
this.trackedMapOverviewActive = new TrackedState(this.applyCssClasses, this);
|
||||
}
|
||||
|
||||
createElements(parent) {
|
||||
@ -31,15 +34,21 @@ export class HUDKeybindingOverlay extends BaseHUDPart {
|
||||
<code class="keybinding">${getKeycode(KEYMAPPINGS.navigation.mapMoveDown)}</code>
|
||||
<code class="keybinding">${getKeycode(KEYMAPPINGS.navigation.mapMoveRight)}</code>
|
||||
<label>${T.ingame.keybindingsOverlay.moveMap}</label>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="binding noPlacementOnly">
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="binding noPlacementOnly noOverviewOnly">
|
||||
<code class="keybinding rightMouse"></code>
|
||||
<label>${T.ingame.keybindingsOverlay.delete}</label>
|
||||
</div>
|
||||
|
||||
<div class="binding noPlacementOnly overviewOnly">
|
||||
<code class="keybinding rightMouse"></code>
|
||||
<label>${T.ingame.keybindingsOverlay.createMarker}</label>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="binding noPlacementOnly">
|
||||
<code class="keybinding builtinKey">${getKeycode(
|
||||
KEYMAPPINGS.massSelect.massSelectStart
|
||||
@ -47,13 +56,12 @@ export class HUDKeybindingOverlay extends BaseHUDPart {
|
||||
<code class="keybinding leftMouse"></code>
|
||||
<label>${T.ingame.keybindingsOverlay.selectBuildings}</label>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="binding placementOnly">
|
||||
<code class="keybinding leftMouse"></code>
|
||||
<label>${T.ingame.keybindingsOverlay.placeBuilding}</label>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="binding placementOnly">
|
||||
<code class="keybinding rightMouse"></code><i></i>
|
||||
<code class="keybinding">${getKeycode(KEYMAPPINGS.placement.abortBuildingPlacement)}</code>
|
||||
@ -65,12 +73,17 @@ export class HUDKeybindingOverlay extends BaseHUDPart {
|
||||
<label>${T.ingame.keybindingsOverlay.rotateBuilding}</label>
|
||||
</div>
|
||||
|
||||
` +
|
||||
(this.root.app.settings.getAllSettings().alwaysMultiplace
|
||||
? ""
|
||||
: `
|
||||
<div class="binding placementOnly">
|
||||
<code class="keybinding builtinKey shift">${getKeycode(
|
||||
KEYMAPPINGS.placementModifiers.placeMultiple
|
||||
)}</code>
|
||||
<label>${T.ingame.keybindingsOverlay.placeMultiple}</label>
|
||||
</div>
|
||||
</div>`) +
|
||||
`
|
||||
`
|
||||
);
|
||||
}
|
||||
@ -79,5 +92,11 @@ export class HUDKeybindingOverlay extends BaseHUDPart {
|
||||
this.element.classList.toggle("placementActive", !!selectedMetaBuilding);
|
||||
}
|
||||
|
||||
update() {}
|
||||
applyCssClasses() {
|
||||
this.element.classList.toggle("mapOverviewActive", this.root.camera.getIsMapOverlayActive());
|
||||
}
|
||||
|
||||
update() {
|
||||
this.trackedMapOverviewActive.set(this.root.camera.getIsMapOverlayActive());
|
||||
}
|
||||
}
|
||||
|
||||
@ -22,6 +22,9 @@ export class HUDMassSelector extends BaseHUDPart {
|
||||
.getBinding(KEYMAPPINGS.massSelect.confirmMassDelete)
|
||||
.getKeyCodeString();
|
||||
const abortKeybinding = this.root.keyMapper.getBinding(KEYMAPPINGS.general.back).getKeyCodeString();
|
||||
const cutKeybinding = this.root.keyMapper
|
||||
.getBinding(KEYMAPPINGS.massSelect.massSelectCut)
|
||||
.getKeyCodeString();
|
||||
const copyKeybinding = this.root.keyMapper
|
||||
.getBinding(KEYMAPPINGS.massSelect.massSelectCopy)
|
||||
.getKeyCodeString();
|
||||
@ -32,6 +35,7 @@ export class HUDMassSelector extends BaseHUDPart {
|
||||
[],
|
||||
T.ingame.massSelect.infoText
|
||||
.replace("<keyDelete>", `<code class='keybinding'>${removalKeybinding}</code>`)
|
||||
.replace("<keyCut>", `<code class='keybinding'>${cutKeybinding}</code>`)
|
||||
.replace("<keyCopy>", `<code class='keybinding'>${copyKeybinding}</code>`)
|
||||
.replace("<keyCancel>", `<code class='keybinding'>${abortKeybinding}</code>`)
|
||||
);
|
||||
@ -40,7 +44,7 @@ export class HUDMassSelector extends BaseHUDPart {
|
||||
initialize() {
|
||||
this.deletionMarker = Loader.getSprite("sprites/misc/deletion_marker.png");
|
||||
|
||||
this.currentSelectionStart = null;
|
||||
this.currentSelectionStartWorld = null;
|
||||
this.currentSelectionEnd = null;
|
||||
this.selectedUids = new Set();
|
||||
|
||||
@ -54,6 +58,7 @@ export class HUDMassSelector extends BaseHUDPart {
|
||||
this.root.keyMapper
|
||||
.getBinding(KEYMAPPINGS.massSelect.confirmMassDelete)
|
||||
.add(this.confirmDelete, this);
|
||||
this.root.keyMapper.getBinding(KEYMAPPINGS.massSelect.massSelectCut).add(this.confirmCut, this);
|
||||
this.root.keyMapper.getBinding(KEYMAPPINGS.massSelect.massSelectCopy).add(this.startCopy, this);
|
||||
|
||||
this.domAttach = new DynamicDomAttach(this.root, this.element);
|
||||
@ -123,6 +128,49 @@ export class HUDMassSelector extends BaseHUDPart {
|
||||
}
|
||||
}
|
||||
|
||||
confirmCut() {
|
||||
if (!this.root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_blueprints)) {
|
||||
this.root.hud.parts.dialogs.showInfo(
|
||||
T.dialogs.blueprintsNotUnlocked.title,
|
||||
T.dialogs.blueprintsNotUnlocked.desc
|
||||
);
|
||||
} else if (this.selectedUids.size > 100) {
|
||||
const { ok } = this.root.hud.parts.dialogs.showWarning(
|
||||
T.dialogs.massCutConfirm.title,
|
||||
T.dialogs.massCutConfirm.desc.replace(
|
||||
"<count>",
|
||||
"" + formatBigNumberFull(this.selectedUids.size)
|
||||
),
|
||||
["cancel:good", "ok:bad"]
|
||||
);
|
||||
ok.add(() => this.doCut());
|
||||
} else {
|
||||
this.doCut();
|
||||
}
|
||||
}
|
||||
|
||||
doCut() {
|
||||
if (this.selectedUids.size > 0) {
|
||||
const entityUids = Array.from(this.selectedUids);
|
||||
|
||||
// copy code relies on entities still existing, so must copy before deleting.
|
||||
this.root.hud.signals.buildingsSelectedForCopy.dispatch(entityUids);
|
||||
|
||||
for (let i = 0; i < entityUids.length; ++i) {
|
||||
const uid = entityUids[i];
|
||||
const entity = this.root.entityMgr.findByUid(uid);
|
||||
if (!this.root.logic.tryDeleteBuilding(entity)) {
|
||||
logger.error("Error in mass cut, could not remove building");
|
||||
this.selectedUids.delete(uid);
|
||||
}
|
||||
}
|
||||
|
||||
this.root.soundProxy.playUiClick();
|
||||
} else {
|
||||
this.root.soundProxy.playUiError();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* mouse down pre handler
|
||||
* @param {Vector} pos
|
||||
@ -146,7 +194,7 @@ export class HUDMassSelector extends BaseHUDPart {
|
||||
this.selectedUids = new Set();
|
||||
}
|
||||
|
||||
this.currentSelectionStart = pos.copy();
|
||||
this.currentSelectionStartWorld = this.root.camera.screenToWorld(pos.copy());
|
||||
this.currentSelectionEnd = pos.copy();
|
||||
return STOP_PROPAGATION;
|
||||
}
|
||||
@ -156,14 +204,14 @@ export class HUDMassSelector extends BaseHUDPart {
|
||||
* @param {Vector} pos
|
||||
*/
|
||||
onMouseMove(pos) {
|
||||
if (this.currentSelectionStart) {
|
||||
if (this.currentSelectionStartWorld) {
|
||||
this.currentSelectionEnd = pos.copy();
|
||||
}
|
||||
}
|
||||
|
||||
onMouseUp() {
|
||||
if (this.currentSelectionStart) {
|
||||
const worldStart = this.root.camera.screenToWorld(this.currentSelectionStart);
|
||||
if (this.currentSelectionStartWorld) {
|
||||
const worldStart = this.currentSelectionStartWorld;
|
||||
const worldEnd = this.root.camera.screenToWorld(this.currentSelectionEnd);
|
||||
|
||||
const tileStart = worldStart.toTileSpace();
|
||||
@ -181,7 +229,7 @@ export class HUDMassSelector extends BaseHUDPart {
|
||||
}
|
||||
}
|
||||
|
||||
this.currentSelectionStart = null;
|
||||
this.currentSelectionStartWorld = null;
|
||||
this.currentSelectionEnd = null;
|
||||
}
|
||||
}
|
||||
@ -197,8 +245,8 @@ export class HUDMassSelector extends BaseHUDPart {
|
||||
draw(parameters) {
|
||||
const boundsBorder = 2;
|
||||
|
||||
if (this.currentSelectionStart) {
|
||||
const worldStart = this.root.camera.screenToWorld(this.currentSelectionStart);
|
||||
if (this.currentSelectionStartWorld) {
|
||||
const worldStart = this.currentSelectionStartWorld;
|
||||
const worldEnd = this.root.camera.screenToWorld(this.currentSelectionEnd);
|
||||
|
||||
const realWorldStart = worldStart.min(worldEnd);
|
||||
|
||||
@ -1,22 +1,54 @@
|
||||
import { Math_max } from "../../../core/builtins";
|
||||
import { ClickDetector } from "../../../core/click_detector";
|
||||
import { formatBigNumber, makeDiv } from "../../../core/utils";
|
||||
import { formatBigNumber, makeDiv, arrayDelete, arrayDeleteValue } from "../../../core/utils";
|
||||
import { ShapeDefinition } from "../../shape_definition";
|
||||
import { BaseHUDPart } from "../base_hud_part";
|
||||
import { blueprintShape } from "../../upgrades";
|
||||
import { blueprintShape, UPGRADES } from "../../upgrades";
|
||||
import { enumHubGoalRewards } from "../../tutorial_goals";
|
||||
|
||||
/**
|
||||
* Manages the pinned shapes on the left side of the screen
|
||||
*/
|
||||
export class HUDPinnedShapes extends BaseHUDPart {
|
||||
constructor(root) {
|
||||
super(root);
|
||||
/**
|
||||
* Store a list of pinned shapes
|
||||
* @type {Array<string>}
|
||||
*/
|
||||
this.pinnedShapes = [];
|
||||
|
||||
/**
|
||||
* Store handles to the currently rendered elements, so we can update them more
|
||||
* convenient. Also allows for cleaning up handles.
|
||||
* @type {Array<{
|
||||
* key: string,
|
||||
* amountLabel: HTMLElement,
|
||||
* lastRenderedValue: string,
|
||||
* element: HTMLElement,
|
||||
* detector?: ClickDetector
|
||||
* }>}
|
||||
*/
|
||||
this.handles = [];
|
||||
}
|
||||
|
||||
createElements(parent) {
|
||||
this.element = makeDiv(parent, "ingame_HUD_PinnedShapes", []);
|
||||
}
|
||||
|
||||
/**
|
||||
* Serializes the pinned shapes
|
||||
*/
|
||||
serialize() {
|
||||
return {
|
||||
shapes: this.pinnedShapes,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Deserializes the pinned shapes
|
||||
* @param {{ shapes: Array<string>}} data
|
||||
*/
|
||||
deserialize(data) {
|
||||
if (!data || !data.shapes || !Array.isArray(data.shapes)) {
|
||||
return "Invalid pinned shapes data";
|
||||
@ -24,48 +56,99 @@ export class HUDPinnedShapes extends BaseHUDPart {
|
||||
this.pinnedShapes = data.shapes;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes the hud component
|
||||
*/
|
||||
initialize() {
|
||||
/** @type {Array<{ key: string, goal: number }>} */
|
||||
this.pinnedShapes = [];
|
||||
|
||||
/** @type {Array<{key: string, amountLabel: HTMLElement, lastRenderedValue: number, element: HTMLElement, detector?: ClickDetector}>} */
|
||||
this.handles = [];
|
||||
this.rerenderFull();
|
||||
|
||||
// Connect to any relevant signals
|
||||
this.root.signals.storyGoalCompleted.add(this.rerenderFull, this);
|
||||
this.root.signals.upgradePurchased.add(this.updateShapesAfterUpgrade, this);
|
||||
this.root.signals.postLoadHook.add(this.rerenderFull, this);
|
||||
this.root.hud.signals.shapePinRequested.add(this.pinNewShape, this);
|
||||
this.root.hud.signals.shapeUnpinRequested.add(this.unpinShape, this);
|
||||
|
||||
// Perform initial render
|
||||
this.updateShapesAfterUpgrade();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether a given shape is pinned
|
||||
* Updates all shapes after an upgrade has been purchased and removes the unused ones
|
||||
*/
|
||||
updateShapesAfterUpgrade() {
|
||||
for (let i = 0; i < this.pinnedShapes.length; ++i) {
|
||||
const key = this.pinnedShapes[i];
|
||||
if (key === blueprintShape) {
|
||||
// Ignore blueprint shapes
|
||||
continue;
|
||||
}
|
||||
let goal = this.findGoalValueForShape(key);
|
||||
if (!goal) {
|
||||
// Seems no longer relevant
|
||||
this.pinnedShapes.splice(i, 1);
|
||||
i -= 1;
|
||||
}
|
||||
}
|
||||
|
||||
this.rerenderFull();
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds the current goal for the given key. If the key is the story goal, returns
|
||||
* the story goal. If its the blueprint shape, no goal is returned. Otherwise
|
||||
* it's searched for upgrades.
|
||||
* @param {string} key
|
||||
*/
|
||||
findGoalValueForShape(key) {
|
||||
if (key === this.root.hubGoals.currentGoal.definition.getHash()) {
|
||||
return this.root.hubGoals.currentGoal.required;
|
||||
}
|
||||
if (key === blueprintShape) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Check if this shape is required for any upgrade
|
||||
for (const upgradeId in UPGRADES) {
|
||||
const { tiers } = UPGRADES[upgradeId];
|
||||
const currentTier = this.root.hubGoals.getUpgradeLevel(upgradeId);
|
||||
const tierHandle = tiers[currentTier];
|
||||
|
||||
if (!tierHandle) {
|
||||
// Max level
|
||||
continue;
|
||||
}
|
||||
|
||||
for (let i = 0; i < tierHandle.required.length; ++i) {
|
||||
const { shape, amount } = tierHandle.required[i];
|
||||
if (shape === key) {
|
||||
return amount;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether a given shape is currently pinned
|
||||
* @param {string} key
|
||||
*/
|
||||
isShapePinned(key) {
|
||||
if (!this.pinnedShapes) {
|
||||
return false;
|
||||
}
|
||||
if (key === this.root.hubGoals.currentGoal.definition.getHash()) {
|
||||
return true;
|
||||
}
|
||||
if (key === blueprintShape) {
|
||||
if (key === this.root.hubGoals.currentGoal.definition.getHash() || key === blueprintShape) {
|
||||
// This is a "special" shape which is always pinned
|
||||
return true;
|
||||
}
|
||||
|
||||
for (let i = 0; i < this.pinnedShapes.length; ++i) {
|
||||
if (this.pinnedShapes[i].key === key) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
return this.pinnedShapes.indexOf(key) >= 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Rerenders the whole component
|
||||
*/
|
||||
rerenderFull() {
|
||||
const currentGoal = this.root.hubGoals.currentGoal;
|
||||
const currentKey = currentGoal.definition.getHash();
|
||||
|
||||
// First, remove old ones
|
||||
// First, remove all old shapes
|
||||
for (let i = 0; i < this.handles.length; ++i) {
|
||||
this.handles[i].element.remove();
|
||||
const detector = this.handles[i].detector;
|
||||
@ -75,28 +158,30 @@ export class HUDPinnedShapes extends BaseHUDPart {
|
||||
}
|
||||
this.handles = [];
|
||||
|
||||
this.internalPinShape(currentKey, currentGoal.required, false, "goal");
|
||||
// Pin story goal
|
||||
this.internalPinShape(currentKey, false, "goal");
|
||||
|
||||
// Pin blueprint shape as well
|
||||
if (this.root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_blueprints)) {
|
||||
this.internalPinShape(blueprintShape, null, false, "blueprint");
|
||||
this.internalPinShape(blueprintShape, false, "blueprint");
|
||||
}
|
||||
|
||||
// Pin manually pinned shapes
|
||||
for (let i = 0; i < this.pinnedShapes.length; ++i) {
|
||||
const key = this.pinnedShapes[i].key;
|
||||
const key = this.pinnedShapes[i];
|
||||
if (key !== currentKey) {
|
||||
this.internalPinShape(key, this.pinnedShapes[i].goal);
|
||||
this.internalPinShape(key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Pins a shape
|
||||
* Pins a new shape
|
||||
* @param {string} key
|
||||
* @param {number} goal
|
||||
* @param {boolean} canUnpin
|
||||
* @param {string=} className
|
||||
*/
|
||||
internalPinShape(key, goal, canUnpin = true, className = null) {
|
||||
internalPinShape(key, canUnpin = true, className = null) {
|
||||
const definition = this.root.shapeDefinitionMgr.getShapeFromShortKey(key);
|
||||
|
||||
const element = makeDiv(this.element, null, ["shape"]);
|
||||
@ -121,6 +206,7 @@ export class HUDPinnedShapes extends BaseHUDPart {
|
||||
|
||||
const amountLabel = makeDiv(element, null, ["amountLabel"], "");
|
||||
|
||||
const goal = this.findGoalValueForShape(key);
|
||||
if (goal) {
|
||||
makeDiv(element, null, ["goalLabel"], "/" + formatBigNumber(goal));
|
||||
}
|
||||
@ -129,18 +215,24 @@ export class HUDPinnedShapes extends BaseHUDPart {
|
||||
key,
|
||||
element,
|
||||
amountLabel,
|
||||
lastRenderedValue: -1,
|
||||
lastRenderedValue: "",
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates all amount labels
|
||||
*/
|
||||
update() {
|
||||
for (let i = 0; i < this.handles.length; ++i) {
|
||||
const handle = this.handles[i];
|
||||
|
||||
const currentValue = this.root.hubGoals.getShapesStoredByKey(handle.key);
|
||||
if (currentValue !== handle.lastRenderedValue) {
|
||||
handle.lastRenderedValue = currentValue;
|
||||
handle.amountLabel.innerText = formatBigNumber(currentValue);
|
||||
const currentValueFormatted = formatBigNumber(currentValue);
|
||||
if (currentValueFormatted !== handle.lastRenderedValue) {
|
||||
handle.lastRenderedValue = currentValueFormatted;
|
||||
handle.amountLabel.innerText = currentValueFormatted;
|
||||
const goal = this.findGoalValueForShape(handle.key);
|
||||
handle.element.classList.toggle("completed", goal && currentValue > goal);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -150,20 +242,15 @@ export class HUDPinnedShapes extends BaseHUDPart {
|
||||
* @param {string} key
|
||||
*/
|
||||
unpinShape(key) {
|
||||
for (let i = 0; i < this.pinnedShapes.length; ++i) {
|
||||
if (this.pinnedShapes[i].key === key) {
|
||||
this.pinnedShapes.splice(i, 1);
|
||||
this.rerenderFull();
|
||||
return;
|
||||
}
|
||||
}
|
||||
arrayDeleteValue(this.pinnedShapes, key);
|
||||
this.rerenderFull();
|
||||
}
|
||||
|
||||
/**
|
||||
* Requests to pin a new shape
|
||||
* @param {ShapeDefinition} definition
|
||||
* @param {number} goal
|
||||
*/
|
||||
pinNewShape(definition, goal) {
|
||||
pinNewShape(definition) {
|
||||
const key = definition.getHash();
|
||||
if (key === this.root.hubGoals.currentGoal.definition.getHash()) {
|
||||
// Can not pin current goal
|
||||
@ -171,18 +258,16 @@ export class HUDPinnedShapes extends BaseHUDPart {
|
||||
}
|
||||
|
||||
if (key === blueprintShape) {
|
||||
// Can not pin the blueprint shape
|
||||
return;
|
||||
}
|
||||
|
||||
for (let i = 0; i < this.pinnedShapes.length; ++i) {
|
||||
if (this.pinnedShapes[i].key === key) {
|
||||
// Already pinned
|
||||
this.pinnedShapes[i].goal = Math_max(this.pinnedShapes[i].goal, goal);
|
||||
return;
|
||||
}
|
||||
// Check if its already pinned
|
||||
if (this.pinnedShapes.indexOf(key) >= 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.pinnedShapes.push({ key, goal });
|
||||
this.pinnedShapes.push(key);
|
||||
this.rerenderFull();
|
||||
}
|
||||
}
|
||||
|
||||
105
src/js/game/hud/parts/screenshot_exporter.js
Normal file
@ -0,0 +1,105 @@
|
||||
import { BaseHUDPart } from "../base_hud_part";
|
||||
import { KEYMAPPINGS } from "../../key_action_mapper";
|
||||
import { IS_DEMO, globalConfig } from "../../../core/config";
|
||||
import { T } from "../../../translations";
|
||||
import { createLogger } from "../../../core/logging";
|
||||
import { StaticMapEntityComponent } from "../../components/static_map_entity";
|
||||
import { Vector } from "../../../core/vector";
|
||||
import { Math_max, Math_min } from "../../../core/builtins";
|
||||
import { makeOffscreenBuffer } from "../../../core/buffer_utils";
|
||||
import { DrawParameters } from "../../../core/draw_parameters";
|
||||
import { Rectangle } from "../../../core/rectangle";
|
||||
|
||||
const logger = createLogger("screenshot_exporter");
|
||||
|
||||
export class HUDScreenshotExporter extends BaseHUDPart {
|
||||
createElements() {}
|
||||
|
||||
initialize() {
|
||||
this.root.keyMapper.getBinding(KEYMAPPINGS.ingame.exportScreenshot).add(this.startExport, this);
|
||||
}
|
||||
|
||||
startExport() {
|
||||
if (IS_DEMO) {
|
||||
this.root.hud.parts.dialogs.showFeatureRestrictionInfo(T.demo.features.exportingBase);
|
||||
return;
|
||||
}
|
||||
|
||||
const { ok } = this.root.hud.parts.dialogs.showInfo(
|
||||
T.dialogs.exportScreenshotWarning.title,
|
||||
T.dialogs.exportScreenshotWarning.desc,
|
||||
["cancel:good", "ok:bad"]
|
||||
);
|
||||
ok.add(this.doExport, this);
|
||||
}
|
||||
|
||||
doExport() {
|
||||
logger.log("Starting export ...");
|
||||
|
||||
// Find extends
|
||||
const staticEntities = this.root.entityMgr.getAllWithComponent(StaticMapEntityComponent);
|
||||
|
||||
const minTile = new Vector(0, 0);
|
||||
const maxTile = new Vector(0, 0);
|
||||
for (let i = 0; i < staticEntities.length; ++i) {
|
||||
const bounds = staticEntities[i].components.StaticMapEntity.getTileSpaceBounds();
|
||||
minTile.x = Math_min(minTile.x, bounds.x);
|
||||
minTile.y = Math_min(minTile.y, bounds.y);
|
||||
|
||||
maxTile.x = Math_max(maxTile.x, bounds.x + bounds.w);
|
||||
maxTile.y = Math_max(maxTile.y, bounds.y + bounds.h);
|
||||
}
|
||||
|
||||
const minChunk = minTile.divideScalar(globalConfig.mapChunkSize).floor();
|
||||
const maxChunk = maxTile.divideScalar(globalConfig.mapChunkSize).ceil();
|
||||
|
||||
const dimensions = maxChunk.sub(minChunk);
|
||||
logger.log("Dimensions:", dimensions);
|
||||
|
||||
const chunkSizePixels = 128;
|
||||
const chunkScale = chunkSizePixels / (globalConfig.mapChunkSize * globalConfig.tileSize);
|
||||
logger.log("Scale:", chunkScale);
|
||||
|
||||
logger.log("Allocating buffer, if the factory grew too big it will crash here");
|
||||
const [canvas, context] = makeOffscreenBuffer(
|
||||
dimensions.x * chunkSizePixels,
|
||||
dimensions.y * chunkSizePixels,
|
||||
{
|
||||
smooth: true,
|
||||
reusable: false,
|
||||
label: "export-buffer",
|
||||
}
|
||||
);
|
||||
logger.log("Got buffer, rendering now ...");
|
||||
|
||||
const visibleRect = new Rectangle(
|
||||
minChunk.x * globalConfig.mapChunkSize * globalConfig.tileSize,
|
||||
minChunk.y * globalConfig.mapChunkSize * globalConfig.tileSize,
|
||||
dimensions.x * globalConfig.mapChunkSize * globalConfig.tileSize,
|
||||
dimensions.y * globalConfig.mapChunkSize * globalConfig.tileSize
|
||||
);
|
||||
const parameters = new DrawParameters({
|
||||
context,
|
||||
visibleRect,
|
||||
desiredAtlasScale: "1",
|
||||
root: this.root,
|
||||
zoomLevel: chunkScale,
|
||||
});
|
||||
|
||||
context.scale(chunkScale, chunkScale);
|
||||
context.translate(-visibleRect.x, -visibleRect.y);
|
||||
|
||||
// Render all relevant chunks
|
||||
this.root.map.drawBackground(parameters);
|
||||
this.root.map.drawForeground(parameters);
|
||||
|
||||
// Offer export
|
||||
logger.log("Rendered buffer, exporting ...");
|
||||
const image = canvas.toDataURL("image/png");
|
||||
const link = document.createElement("a");
|
||||
link.download = "base.png";
|
||||
link.href = image;
|
||||
link.click();
|
||||
logger.log("Done!");
|
||||
}
|
||||
}
|
||||
@ -98,7 +98,9 @@ export class HUDShop extends BaseHUDPart {
|
||||
// Set description
|
||||
handle.elemDescription.innerText = T.shopUpgrades[upgradeId].description
|
||||
.replace("<currentMult>", currentTierMultiplier.toString())
|
||||
.replace("<newMult>", (currentTierMultiplier + tierHandle.improvement).toString());
|
||||
.replace("<newMult>", (currentTierMultiplier + tierHandle.improvement).toString())
|
||||
// Backwards compatibility
|
||||
.replace("<gain>", (tierHandle.improvement * 100.0).toString());
|
||||
|
||||
tierHandle.required.forEach(({ shape, amount }) => {
|
||||
const container = makeDiv(handle.elemRequirements, null, ["requirement"]);
|
||||
@ -137,7 +139,7 @@ export class HUDShop extends BaseHUDPart {
|
||||
pinButton.classList.add("unpinned");
|
||||
pinButton.classList.remove("pinned", "alreadyPinned");
|
||||
} else {
|
||||
this.root.hud.signals.shapePinRequested.dispatch(shapeDef, amount);
|
||||
this.root.hud.signals.shapePinRequested.dispatch(shapeDef);
|
||||
pinButton.classList.add("pinned");
|
||||
pinButton.classList.remove("unpinned");
|
||||
}
|
||||
|
||||
@ -39,7 +39,7 @@ export class HUDUnlockNotification extends BaseHUDPart {
|
||||
|
||||
this.btnClose = document.createElement("button");
|
||||
this.btnClose.classList.add("close", "styledButton");
|
||||
this.btnClose.innerText = "Next level";
|
||||
this.btnClose.innerText = T.ingame.levelCompleteNotification.buttonNextLevel;
|
||||
dialog.appendChild(this.btnClose);
|
||||
|
||||
this.trackClicks(this.btnClose, this.requestClose);
|
||||
|
||||
@ -2,6 +2,7 @@ import { BaseHUDPart } from "../base_hud_part";
|
||||
import { DrawParameters } from "../../../core/draw_parameters";
|
||||
import { makeDiv } from "../../../core/utils";
|
||||
import { THIRDPARTY_URLS } from "../../../core/config";
|
||||
import { T } from "../../../translations";
|
||||
|
||||
export class HUDWatermark extends BaseHUDPart {
|
||||
createElements(parent) {
|
||||
@ -28,15 +29,15 @@ export class HUDWatermark extends BaseHUDPart {
|
||||
parameters.context.fillStyle = "#f77";
|
||||
parameters.context.font = "bold " + this.root.app.getEffectiveUiScale() * 17 + "px GameFont";
|
||||
// parameters.context.textAlign = "center";
|
||||
parameters.context.fillText("DEMO VERSION", x, this.root.app.getEffectiveUiScale() * 27);
|
||||
parameters.context.fillText(
|
||||
T.demoBanners.title.toUpperCase(),
|
||||
x,
|
||||
this.root.app.getEffectiveUiScale() * 27
|
||||
);
|
||||
|
||||
parameters.context.font = "bold " + this.root.app.getEffectiveUiScale() * 12 + "px GameFont";
|
||||
// parameters.context.textAlign = "center";
|
||||
parameters.context.fillText(
|
||||
"Please consider to buy the full version!",
|
||||
x,
|
||||
this.root.app.getEffectiveUiScale() * 45
|
||||
);
|
||||
parameters.context.fillText(T.demoBanners.intro, x, this.root.app.getEffectiveUiScale() * 45);
|
||||
|
||||
// parameters.context.textAlign = "left";
|
||||
}
|
||||
|
||||
@ -24,7 +24,8 @@ export const KEYMAPPINGS = {
|
||||
menuOpenStats: { keyCode: key("G") },
|
||||
|
||||
toggleHud: { keyCode: 113 }, // F2
|
||||
toggleFPSInfo: { keyCode: 115 }, // F1
|
||||
exportScreenshot: { keyCode: 114 }, // F3
|
||||
toggleFPSInfo: { keyCode: 115 }, // F4
|
||||
},
|
||||
|
||||
navigation: {
|
||||
@ -65,7 +66,9 @@ export const KEYMAPPINGS = {
|
||||
massSelectStart: { keyCode: 17 }, // CTRL
|
||||
massSelectSelectMultiple: { keyCode: 16 }, // SHIFT
|
||||
massSelectCopy: { keyCode: key("C") },
|
||||
massSelectCut: { keyCode: key("X") },
|
||||
confirmMassDelete: { keyCode: 46 }, // DEL
|
||||
pasteLastBlueprint: { keyCode: key("V") },
|
||||
},
|
||||
|
||||
placementModifiers: {
|
||||
|
||||
@ -64,7 +64,7 @@ export class MapView extends BaseMap {
|
||||
* Draws all static entities like buildings etc.
|
||||
* @param {DrawParameters} drawParameters
|
||||
*/
|
||||
drawStaticEntities(drawParameters) {
|
||||
drawStaticEntityDebugOverlays(drawParameters) {
|
||||
const cullRange = drawParameters.visibleRect.toTileCullRectangle();
|
||||
const top = cullRange.top();
|
||||
const right = cullRange.right();
|
||||
@ -90,7 +90,7 @@ export class MapView extends BaseMap {
|
||||
if (content) {
|
||||
let isBorder = x <= left - 1 || x >= right + 1 || y <= top - 1 || y >= bottom + 1;
|
||||
if (!isBorder) {
|
||||
content.draw(drawParameters);
|
||||
content.drawDebugOverlays(drawParameters);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -74,9 +74,7 @@ export class HubSystem extends GameSystemWithFilter {
|
||||
context.fillText("" + formatBigNumber(delivered), pos.x + textOffsetX, pos.y + textOffsetY);
|
||||
|
||||
// Required
|
||||
|
||||
context.font = "13px GameFont";
|
||||
|
||||
context.fillStyle = "#a4a6b0";
|
||||
context.fillText(
|
||||
"/ " + formatBigNumber(goals.required),
|
||||
@ -85,16 +83,40 @@ export class HubSystem extends GameSystemWithFilter {
|
||||
);
|
||||
|
||||
// Reward
|
||||
context.font = "bold 11px GameFont";
|
||||
const rewardText = T.storyRewards[goals.reward].title.toUpperCase();
|
||||
if (rewardText.length > 12) {
|
||||
context.font = "bold 9px GameFont";
|
||||
} else {
|
||||
context.font = "bold 11px GameFont";
|
||||
}
|
||||
context.fillStyle = "#fd0752";
|
||||
context.textAlign = "center";
|
||||
context.fillText(T.storyRewards[goals.reward].title.toUpperCase(), pos.x, pos.y + 46);
|
||||
|
||||
context.fillText(rewardText, pos.x, pos.y + 46);
|
||||
|
||||
// Level
|
||||
context.font = "bold 11px GameFont";
|
||||
context.fillStyle = "#fff";
|
||||
context.fillText("" + this.root.hubGoals.level, pos.x - 42, pos.y - 36);
|
||||
|
||||
// Texts
|
||||
context.textAlign = "center";
|
||||
context.fillStyle = "#fff";
|
||||
context.font = "bold 7px GameFont";
|
||||
context.fillText(T.buildings.hub.levelShortcut, pos.x - 42, pos.y - 47);
|
||||
|
||||
context.fillStyle = "#64666e";
|
||||
context.font = "bold 11px GameFont";
|
||||
context.fillText(T.buildings.hub.deliver.toUpperCase(), pos.x, pos.y - 40);
|
||||
|
||||
const unlockText = T.buildings.hub.toUnlock.toUpperCase();
|
||||
if (unlockText.length > 15) {
|
||||
context.font = "bold 8px GameFont";
|
||||
} else {
|
||||
context.font = "bold 11px GameFont";
|
||||
}
|
||||
context.fillText(T.buildings.hub.toUnlock.toUpperCase(), pos.x, pos.y + 30);
|
||||
|
||||
context.textAlign = "left";
|
||||
}
|
||||
}
|
||||
|
||||
@ -26,4 +26,40 @@ export const LANGUAGES = {
|
||||
code: "pt",
|
||||
region: "BR",
|
||||
},
|
||||
"cs": {
|
||||
name: "Čeština",
|
||||
data: require("./built-temp/base-cz.json"),
|
||||
code: "cs",
|
||||
region: "",
|
||||
},
|
||||
"es-419": {
|
||||
name: "Español (Latinoamérica)",
|
||||
data: require("./built-temp/base-es.json"),
|
||||
code: "es",
|
||||
region: "419",
|
||||
},
|
||||
"pl": {
|
||||
name: "Polski",
|
||||
data: require("./built-temp/base-pl.json"),
|
||||
code: "pl",
|
||||
region: "",
|
||||
},
|
||||
"ru": {
|
||||
name: "Русский",
|
||||
data: require("./built-temp/base-ru.json"),
|
||||
code: "ru",
|
||||
region: "",
|
||||
},
|
||||
"kor": {
|
||||
name: "한국어",
|
||||
data: require("./built-temp/base-kor.json"),
|
||||
code: "kor",
|
||||
region: "",
|
||||
},
|
||||
"nl": {
|
||||
name: "Nederlands",
|
||||
data: require("./built-temp/base-nl.json"),
|
||||
code: "nl",
|
||||
region: "",
|
||||
},
|
||||
};
|
||||
|
||||
@ -62,6 +62,33 @@ export const scrollWheelSensitivities = [
|
||||
},
|
||||
];
|
||||
|
||||
export const movementSpeeds = [
|
||||
{
|
||||
id: "super_slow",
|
||||
multiplier: 0.25,
|
||||
},
|
||||
{
|
||||
id: "slow",
|
||||
multiplier: 0.5,
|
||||
},
|
||||
{
|
||||
id: "regular",
|
||||
multiplier: 1,
|
||||
},
|
||||
{
|
||||
id: "fast",
|
||||
multiplier: 2,
|
||||
},
|
||||
{
|
||||
id: "super_fast",
|
||||
multiplier: 4,
|
||||
},
|
||||
{
|
||||
id: "extremely_fast",
|
||||
multiplier: 8,
|
||||
},
|
||||
];
|
||||
|
||||
/** @type {Array<BaseSetting>} */
|
||||
export const allApplicationSettings = [
|
||||
new EnumSetting("language", {
|
||||
@ -117,24 +144,13 @@ export const allApplicationSettings = [
|
||||
*/
|
||||
(app, value) => app.sound.setMusicMuted(value)
|
||||
),
|
||||
new EnumSetting("scrollWheelSensitivity", {
|
||||
options: scrollWheelSensitivities.sort((a, b) => a.scale - b.scale),
|
||||
valueGetter: scale => scale.id,
|
||||
textGetter: scale => T.settings.labels.scrollWheelSensitivity.sensitivity[scale.id],
|
||||
category: categoryApp,
|
||||
restartRequired: false,
|
||||
changeCb:
|
||||
/**
|
||||
* @param {Application} app
|
||||
*/
|
||||
(app, id) => app.updateAfterUiScaleChanged(),
|
||||
}),
|
||||
|
||||
// GAME
|
||||
|
||||
new EnumSetting("theme", {
|
||||
options: Object.keys(THEMES),
|
||||
valueGetter: theme => theme,
|
||||
textGetter: theme => theme.substr(0, 1).toUpperCase() + theme.substr(1),
|
||||
textGetter: theme => T.settings.labels.theme.themes[theme],
|
||||
category: categoryGame,
|
||||
restartRequired: false,
|
||||
changeCb:
|
||||
@ -149,7 +165,7 @@ export const allApplicationSettings = [
|
||||
}),
|
||||
|
||||
new EnumSetting("refreshRate", {
|
||||
options: ["60", "100", "144", "165"],
|
||||
options: ["60", "100", "144", "165", "250", "500"],
|
||||
valueGetter: rate => rate,
|
||||
textGetter: rate => rate + " Hz",
|
||||
category: categoryGame,
|
||||
@ -158,6 +174,28 @@ export const allApplicationSettings = [
|
||||
enabled: !IS_DEMO,
|
||||
}),
|
||||
|
||||
new EnumSetting("scrollWheelSensitivity", {
|
||||
options: scrollWheelSensitivities.sort((a, b) => a.scale - b.scale),
|
||||
valueGetter: scale => scale.id,
|
||||
textGetter: scale => T.settings.labels.scrollWheelSensitivity.sensitivity[scale.id],
|
||||
category: categoryGame,
|
||||
restartRequired: false,
|
||||
changeCb:
|
||||
/**
|
||||
* @param {Application} app
|
||||
*/
|
||||
(app, id) => app.updateAfterUiScaleChanged(),
|
||||
}),
|
||||
|
||||
new EnumSetting("movementSpeed", {
|
||||
options: movementSpeeds.sort((a, b) => a.multiplier - b.multiplier),
|
||||
valueGetter: multiplier => multiplier.id,
|
||||
textGetter: multiplier => T.settings.labels.movementSpeed.speeds[multiplier.id],
|
||||
category: categoryGame,
|
||||
restartRequired: false,
|
||||
changeCb: (app, id) => {},
|
||||
}),
|
||||
|
||||
new BoolSetting("alwaysMultiplace", categoryGame, (app, value) => {}),
|
||||
new BoolSetting("offerHints", categoryGame, (app, value) => {}),
|
||||
];
|
||||
@ -176,6 +214,7 @@ class SettingsStorage {
|
||||
this.theme = "light";
|
||||
this.refreshRate = "60";
|
||||
this.scrollWheelSensitivity = "regular";
|
||||
this.movementSpeed = "regular";
|
||||
this.language = "auto-detect";
|
||||
|
||||
this.alwaysMultiplace = false;
|
||||
@ -263,6 +302,17 @@ export class ApplicationSettings extends ReadWriteProxy {
|
||||
return 1;
|
||||
}
|
||||
|
||||
getMovementSpeed() {
|
||||
const id = this.getAllSettings().movementSpeed;
|
||||
for (let i = 0; i < movementSpeeds.length; ++i) {
|
||||
if (movementSpeeds[i].id === id) {
|
||||
return movementSpeeds[i].multiplier;
|
||||
}
|
||||
}
|
||||
logger.error("Unknown movement speed id:", id);
|
||||
return 1;
|
||||
}
|
||||
|
||||
getIsFullScreen() {
|
||||
return this.getAllSettings().fullscreen;
|
||||
}
|
||||
@ -358,7 +408,7 @@ export class ApplicationSettings extends ReadWriteProxy {
|
||||
}
|
||||
|
||||
getCurrentVersion() {
|
||||
return 9;
|
||||
return 10;
|
||||
}
|
||||
|
||||
/** @param {{settings: SettingsStorage, version: number}} data */
|
||||
@ -390,6 +440,11 @@ export class ApplicationSettings extends ReadWriteProxy {
|
||||
data.version = 9;
|
||||
}
|
||||
|
||||
if (data.version < 10) {
|
||||
data.settings.movementSpeed = "regular";
|
||||
data.version = 10;
|
||||
}
|
||||
|
||||
return ExplainedResult.good();
|
||||
}
|
||||
}
|
||||
|
||||
@ -9,10 +9,10 @@ import { SavegameSerializer } from "./savegame_serializer";
|
||||
import { BaseSavegameInterface } from "./savegame_interface";
|
||||
import { createLogger } from "../core/logging";
|
||||
import { globalConfig } from "../core/config";
|
||||
import { SavegameInterface_V1000 } from "./schemas/1000";
|
||||
import { getSavegameInterface, savegameInterfaces } from "./savegame_interface_registry";
|
||||
import { SavegameInterface_V1001 } from "./schemas/1001";
|
||||
import { SavegameInterface_V1002 } from "./schemas/1002";
|
||||
import { SavegameInterface_V1003 } from "./schemas/1003";
|
||||
|
||||
const logger = createLogger("savegame");
|
||||
|
||||
@ -44,7 +44,7 @@ export class Savegame extends ReadWriteProxy {
|
||||
* @returns {number}
|
||||
*/
|
||||
static getCurrentVersion() {
|
||||
return 1002;
|
||||
return 1003;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -93,6 +93,11 @@ export class Savegame extends ReadWriteProxy {
|
||||
data.version = 1002;
|
||||
}
|
||||
|
||||
if (data.version === 1002) {
|
||||
SavegameInterface_V1003.migrate1002to1003(data);
|
||||
data.version = 1003;
|
||||
}
|
||||
|
||||
return ExplainedResult.good();
|
||||
}
|
||||
|
||||
|
||||
@ -3,12 +3,14 @@ import { SavegameInterface_V1000 } from "./schemas/1000";
|
||||
import { createLogger } from "../core/logging";
|
||||
import { SavegameInterface_V1001 } from "./schemas/1001";
|
||||
import { SavegameInterface_V1002 } from "./schemas/1002";
|
||||
import { SavegameInterface_V1003 } from "./schemas/1003";
|
||||
|
||||
/** @type {Object.<number, typeof BaseSavegameInterface>} */
|
||||
export const savegameInterfaces = {
|
||||
1000: SavegameInterface_V1000,
|
||||
1001: SavegameInterface_V1001,
|
||||
1002: SavegameInterface_V1002,
|
||||
1003: SavegameInterface_V1003,
|
||||
};
|
||||
|
||||
const logger = createLogger("savegame_interface_registry");
|
||||
|
||||
28
src/js/savegame/schemas/1003.js
Normal file
@ -0,0 +1,28 @@
|
||||
import { createLogger } from "../../core/logging.js";
|
||||
import { SavegameInterface_V1002 } from "./1002.js";
|
||||
|
||||
const schema = require("./1003.json");
|
||||
const logger = createLogger("savegame_interface/1003");
|
||||
|
||||
export class SavegameInterface_V1003 extends SavegameInterface_V1002 {
|
||||
getVersion() {
|
||||
return 1003;
|
||||
}
|
||||
|
||||
getSchemaUncached() {
|
||||
return schema;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {import("../savegame_typedefs.js").SavegameData} data
|
||||
*/
|
||||
static migrate1002to1003(data) {
|
||||
logger.log("Migrating 1002 to 1003");
|
||||
const dump = data.dump;
|
||||
if (!dump) {
|
||||
return true;
|
||||
}
|
||||
|
||||
dump.pinnedShapes = { shapes: [] };
|
||||
}
|
||||
}
|
||||
5
src/js/savegame/schemas/1003.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"type": "object",
|
||||
"required": [],
|
||||
"additionalProperties": true
|
||||
}
|
||||
@ -15,17 +15,9 @@ export class AboutState extends TextualGameState {
|
||||
}
|
||||
|
||||
getMainContentHTML() {
|
||||
return `
|
||||
This game is open source and developed by <a href="https://github.com/tobspr" target="_blank">Tobias Springer</a> (this is me).
|
||||
<br><br>
|
||||
If you want to contribute, check out <a href="${THIRDPARTY_URLS.github}" target="_blank">shapez.io on github</a>.
|
||||
<br><br>
|
||||
This game wouldn't have been possible without the great discord community arround my games - You should really join the <a href="${THIRDPARTY_URLS.discord}" target="_blank">discord server</a>!
|
||||
<br><br>
|
||||
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius" target="_blank">Peppsen</a> - He's awesome.
|
||||
<br><br>
|
||||
Finally, huge thanks to my best friend <a href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Without our factorio sessions this game would never have existed.
|
||||
`;
|
||||
return T.about.body
|
||||
.replace("<githublink>", THIRDPARTY_URLS.github)
|
||||
.replace("<discordlink>", THIRDPARTY_URLS.discord);
|
||||
}
|
||||
|
||||
onEnter() {
|
||||
|
||||
@ -29,8 +29,7 @@ export class MainMenuState extends GameState {
|
||||
<a href="#" class="steamLink" target="_blank">Get the shapez.io standalone!</a>
|
||||
`;
|
||||
|
||||
return (
|
||||
`
|
||||
return `
|
||||
|
||||
<div class="topButtons">
|
||||
<button class="languageChoose" data-languageicon="${this.app.settings.getLanguage()}"></button>
|
||||
@ -63,20 +62,6 @@ export class MainMenuState extends GameState {
|
||||
|
||||
<div class="sideContainer">
|
||||
${IS_DEMO ? `<div class="standaloneBanner">${bannerHtml}</div>` : ""}
|
||||
|
||||
<div class="contest">
|
||||
<h3>${T.mainMenu.contests.contest_01_03062020.title}</h3>
|
||||
` +
|
||||
/*<p>${T.mainMenu.contests.contest_01_03062020.desc}</p>
|
||||
<button class="styledButton participateContest">${
|
||||
T.mainMenu.contests.showInfo
|
||||
}</button>*/
|
||||
|
||||
`
|
||||
<p>${T.mainMenu.contests.contestOver}</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="mainContainer">
|
||||
@ -111,8 +96,7 @@ export class MainMenuState extends GameState {
|
||||
<div class="author">Made by <a class="producerLink" target="_blank">Tobias Springer</a></div>
|
||||
|
||||
</div>
|
||||
`
|
||||
);
|
||||
`;
|
||||
}
|
||||
|
||||
requestImportSavegame() {
|
||||
@ -382,11 +366,19 @@ export class MainMenuState extends GameState {
|
||||
this.app.adProvider.showVideoAd().then(() => {
|
||||
this.app.analytics.trackUiClick("resume_game_adcomplete");
|
||||
const savegame = this.app.savegameMgr.getSavegameById(game.internalId);
|
||||
savegame.readAsync().then(() => {
|
||||
this.moveToState("InGameState", {
|
||||
savegame,
|
||||
savegame
|
||||
.readAsync()
|
||||
.then(() => {
|
||||
this.moveToState("InGameState", {
|
||||
savegame,
|
||||
});
|
||||
})
|
||||
.catch(err => {
|
||||
this.dialogs.showWarning(
|
||||
T.dialogs.gameLoadFailure.title,
|
||||
T.dialogs.gameLoadFailure.text + "<br><br>" + err
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@ -68,38 +68,6 @@ export class PreloadState extends GameState {
|
||||
startLoading() {
|
||||
this.setStatus("Booting")
|
||||
|
||||
.then(() => this.setStatus("Checking for updates"))
|
||||
.then(() => {
|
||||
if (G_IS_STANDALONE) {
|
||||
return Promise.race([
|
||||
new Promise(resolve => setTimeout(resolve, 10000)),
|
||||
fetch(
|
||||
"https://itch.io/api/1/x/wharf/latest?target=tobspr/shapezio&channel_name=windows",
|
||||
{
|
||||
cache: "no-cache",
|
||||
}
|
||||
)
|
||||
.then(res => res.json())
|
||||
.then(({ latest }) => {
|
||||
if (latest !== G_BUILD_VERSION) {
|
||||
const { ok } = this.dialogs.showInfo(
|
||||
T.dialogs.newUpdate.title,
|
||||
T.dialogs.newUpdate.desc,
|
||||
["ok:good"]
|
||||
);
|
||||
|
||||
return new Promise(resolve => {
|
||||
ok.add(resolve);
|
||||
});
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
logger.log("Failed to fetch version:", err);
|
||||
}),
|
||||
]);
|
||||
}
|
||||
})
|
||||
|
||||
.then(() => this.setStatus("Creating platform wrapper"))
|
||||
.then(() => this.app.platformWrapper.initialize())
|
||||
|
||||
@ -170,15 +138,10 @@ export class PreloadState extends GameState {
|
||||
.then(() => {
|
||||
return this.app.savegameMgr.initialize().catch(err => {
|
||||
logger.error("Failed to initialize savegames:", err);
|
||||
return new Promise(resolve => {
|
||||
// const { ok } = this.dialogs.showWarning(
|
||||
// T.preload.savegame_corrupt_dialog.title,
|
||||
// T.preload.savegame_corrupt_dialog.content,
|
||||
// ["ok:good"]
|
||||
// );
|
||||
// ok.add(resolve);
|
||||
alert("Your savegames failed to load. They might not show up. Sorry!");
|
||||
});
|
||||
alert(
|
||||
"Your savegames failed to load, it seems your data files got corrupted. I'm so sorry!\n\n(This can happen if your pc crashed while a game was saved).\n\nYou can try re-importing your savegames."
|
||||
);
|
||||
return this.app.savegameMgr.writeAsync();
|
||||
});
|
||||
})
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@ export class SettingsState extends TextualGameState {
|
||||
${
|
||||
this.app.platformWrapper.getSupportsKeyboard()
|
||||
? `
|
||||
<button class="styledButton editKeybindings">Keybindings</button>
|
||||
<button class="styledButton editKeybindings">${T.keybindings.title}</button>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
|
||||
@ -84,7 +84,6 @@ export function autoDetectLanguageId() {
|
||||
} else {
|
||||
logger.warn("Navigator has no languages prop");
|
||||
}
|
||||
languages = ["de-De"];
|
||||
|
||||
for (let i = 0; i < languages.length; ++i) {
|
||||
logger.log("Trying to find language target for", languages[i]);
|
||||
@ -93,7 +92,9 @@ export function autoDetectLanguageId() {
|
||||
return trans;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
||||
// Fallback
|
||||
return "en";
|
||||
}
|
||||
|
||||
function matchDataRecursive(dest, src) {
|
||||
|
||||
82
sync-translations.js
Normal file
@ -0,0 +1,82 @@
|
||||
// Synchronizes all translations
|
||||
|
||||
const fs = require("fs");
|
||||
const matchAll = require("match-all");
|
||||
const path = require("path");
|
||||
const YAWN = require("yawn-yaml/cjs");
|
||||
const YAML = require("yaml");
|
||||
|
||||
const files = fs
|
||||
.readdirSync(path.join(__dirname, "translations"))
|
||||
.filter(x => x.endsWith(".yaml"))
|
||||
.filter(x => x.indexOf("base-en") < 0);
|
||||
|
||||
const originalContents = fs
|
||||
.readFileSync(path.join(__dirname, "translations", "base-en.yaml"))
|
||||
.toString("utf-8");
|
||||
|
||||
const original = YAML.parse(originalContents);
|
||||
|
||||
const placeholderRegexp = /<([a-zA-Z_0-9]+)>/gi;
|
||||
|
||||
function match(originalObj, translatedObj, path = "/") {
|
||||
for (const key in originalObj) {
|
||||
if (!translatedObj[key]) {
|
||||
console.warn(" | Missing key", path + key);
|
||||
translatedObj[key] = originalObj[key];
|
||||
continue;
|
||||
}
|
||||
const valueOriginal = originalObj[key];
|
||||
const valueMatching = translatedObj[key];
|
||||
if (typeof valueOriginal !== typeof valueMatching) {
|
||||
console.warn(" | MISMATCHING type (obj|non-obj) in", path + key);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (typeof valueOriginal === "object") {
|
||||
match(valueOriginal, valueMatching, path + key + "/");
|
||||
} else if (typeof valueOriginal === "string") {
|
||||
// todo
|
||||
const originalPlaceholders = matchAll(valueOriginal, placeholderRegexp).toArray();
|
||||
const translatedPlaceholders = matchAll(valueMatching, placeholderRegexp).toArray();
|
||||
|
||||
if (originalPlaceholders.length !== translatedPlaceholders.length) {
|
||||
console.warn(
|
||||
" | Mismatching placeholders in",
|
||||
path + key,
|
||||
"->",
|
||||
originalPlaceholders,
|
||||
"vs",
|
||||
translatedPlaceholders
|
||||
);
|
||||
translatedObj[key] = originalObj[key];
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
console.warn(" | Unknown type: ", typeof valueOriginal);
|
||||
}
|
||||
|
||||
// const matching = translatedObj[key];
|
||||
}
|
||||
|
||||
for (const key in translatedObj) {
|
||||
if (!originalObj[key]) {
|
||||
console.warn(" | Obsolete key", path + key);
|
||||
delete translatedObj[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (let i = 0; i < files.length; ++i) {
|
||||
const filePath = path.join(__dirname, "translations", files[i]);
|
||||
console.log("Processing", files[i]);
|
||||
const translatedContents = fs.readFileSync(filePath).toString("utf-8");
|
||||
const translated = YAML.parse(translatedContents);
|
||||
const handle = new YAWN(translatedContents);
|
||||
|
||||
const json = handle.json;
|
||||
match(original, json, "/");
|
||||
handle.json = json;
|
||||
|
||||
fs.writeFileSync(filePath, handle.yaml, "utf-8");
|
||||
}
|
||||
@ -20,6 +20,11 @@ The base translation is `base-en.yaml`. It will always contain the latest phrase
|
||||
- [Chinese (Simplified)](base-zh-CN.yaml)
|
||||
- [Chinese (Traditional)](base-zh-TW.yaml)
|
||||
- [Spanish](base-es.yaml)
|
||||
- [Hungarian](base-hu.yaml)
|
||||
- [Turkish](base-tr.yaml)
|
||||
- [Japanese](base-ja.yaml)
|
||||
- [Lithuanian](base-lt.yaml)
|
||||
- [Arabic](base-ar.yaml)
|
||||
|
||||
(If you want to translate into a new language, see below!)
|
||||
|
||||
@ -40,4 +45,4 @@ PS: I'm super busy, but I'll give my best to do it quickly!
|
||||
|
||||
## Updating a language to the latest version
|
||||
|
||||
Right now there is no possibility to automatically update a translation to the latest version. It is required to manually check the base translation (`base-en.yaml`) and compare it to the other translations to remove unused keys and add new ones.
|
||||
Run `yarn syncTranslations` in the root directory to synchronize all translations to the latest version! This will remove obsolete keys and add newly added keys. (Run `yarn` before to install packes).
|
||||
|
||||
766
translations/base-ar.yaml
Normal file
@ -0,0 +1,766 @@
|
||||
#
|
||||
# GAME TRANSLATIONS
|
||||
#
|
||||
# Contributing:
|
||||
#
|
||||
# If you want to contribute, please make a pull request on this respository
|
||||
# and I will have a look.
|
||||
#
|
||||
# Placeholders:
|
||||
#
|
||||
# Do *not* replace placeholders! Placeholders have a special syntax like
|
||||
# `Hotkey: <key>`. They are encapsulated within angle brackets. The correct
|
||||
# translation for this one in German for example would be: `Taste: <key>` (notice
|
||||
# how the placeholder stayed '<key>' and was not replaced!)
|
||||
#
|
||||
# Adding a new language:
|
||||
#
|
||||
# If you want to add a new language, ask me in the discord and I will setup
|
||||
# the basic structure so the game also detects it.
|
||||
#
|
||||
|
||||
steamPage:
|
||||
# This is the short text appearing on the steam page
|
||||
shortText: shapez.io is a game about building factories to automate the creation and combination of increasingly complex shapes within an infinite map.
|
||||
|
||||
# This is the long description for the steam page - It is contained here so you can help to translate it, and I will regulary update the store page.
|
||||
# NOTICE:
|
||||
# - Do not translate the first line (This is the gif image at the start of the store)
|
||||
# - Please keep the markup (Stuff like [b], [list] etc) in the same format
|
||||
longText: >-
|
||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
||||
|
||||
shapez.io is a game about building factories to automate the creation and combination of shapes. Deliver the requested, increasingly complex shapes to progress within the game and unlock upgrades to speed up your factory.
|
||||
|
||||
Since the demand raises you will have to scale up your factory to fit the needs - Don't forget about resources though, you will have to expand in the [b]infinite map[/b]!
|
||||
|
||||
Since shapes can get boring soon you need to mix colors and paint your shapes with it - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
|
||||
|
||||
This game features 18 levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
|
||||
|
||||
[b]Standalone Advantages[/b]
|
||||
|
||||
[list]
|
||||
[*] Waypoints
|
||||
[*] Unlimited Savegames
|
||||
[*] Dark Mode
|
||||
[*] More settings
|
||||
[*] Allow me to further develop shapez.io ❤️
|
||||
[*] More features in the future!
|
||||
[/list]
|
||||
|
||||
[b]Planned features & Community suggestions[/b]
|
||||
|
||||
This game is open source - Anybody can contribute! Besides of that, I listen [b]a lot[/b] to the community! I try to read all suggestions and take as much feedback into account as possible.
|
||||
|
||||
[list]
|
||||
[*] Story mode where buildings cost shapes
|
||||
[*] More levels & buildings (standalone exclusive)
|
||||
[*] Different maps, and maybe map obstacles
|
||||
[*] Configurable map creation (Edit number and size of patches, seed, and more)
|
||||
[*] More types of shapes
|
||||
[*] More performance improvements (Although the game already runs pretty good!)
|
||||
[*] Color blind mode
|
||||
[*] And much more!
|
||||
[/list]
|
||||
|
||||
Be sure to check out my trello board for the full roadmap! https://trello.com/b/ISQncpJP/shapezio
|
||||
|
||||
global:
|
||||
loading: Loading
|
||||
error: Error
|
||||
|
||||
# How big numbers are rendered, e.g. "10,000"
|
||||
thousandsDivider: ","
|
||||
|
||||
# The suffix for large numbers, e.g. 1.3k, 400.2M, etc.
|
||||
suffix:
|
||||
thousands: k
|
||||
millions: M
|
||||
billions: B
|
||||
trillions: T
|
||||
|
||||
# Shown for infinitely big numbers
|
||||
infinite: inf
|
||||
|
||||
time:
|
||||
# Used for formatting past time dates
|
||||
oneSecondAgo: one second ago
|
||||
xSecondsAgo: <x> seconds ago
|
||||
oneMinuteAgo: one minute ago
|
||||
xMinutesAgo: <x> minutes ago
|
||||
oneHourAgo: one hour ago
|
||||
xHoursAgo: <x> hours ago
|
||||
oneDayAgo: one day ago
|
||||
xDaysAgo: <x> days ago
|
||||
|
||||
# Short formats for times, e.g. '5h 23m'
|
||||
secondsShort: <seconds>s
|
||||
minutesAndSecondsShort: <minutes>m <seconds>s
|
||||
hoursAndMinutesShort: <hours>h <minutes>m
|
||||
|
||||
xMinutes: <x> minutes
|
||||
|
||||
keys:
|
||||
tab: TAB
|
||||
control: CTRL
|
||||
alt: ALT
|
||||
escape: ESC
|
||||
shift: SHIFT
|
||||
space: SPACE
|
||||
|
||||
demoBanners:
|
||||
# This is the "advertisement" shown in the main menu and other various places
|
||||
title: Demo Version
|
||||
intro: >-
|
||||
Get the standalone to unlock all features!
|
||||
|
||||
mainMenu:
|
||||
play: Play
|
||||
changelog: Changelog
|
||||
importSavegame: Import
|
||||
openSourceHint: This game is open source!
|
||||
discordLink: Official Discord Server
|
||||
helpTranslate: Help translate!
|
||||
|
||||
# This is shown when using firefox and other browsers which are not supported.
|
||||
browserWarning: >-
|
||||
Sorry, but the game is known to run slow on your browser! Get the standalone version or download chrome for the full experience.
|
||||
|
||||
savegameLevel: Level <x>
|
||||
savegameLevelUnknown: Unknown Level
|
||||
|
||||
contests:
|
||||
contest_01_03062020:
|
||||
title: "Contest #01"
|
||||
desc: Win <strong>$25</strong> for the coolest base!
|
||||
longDesc: >-
|
||||
To give something back to you, I thought it would be cool to make weekly contests!
|
||||
<br><br>
|
||||
<strong>This weeks topic:</strong> Build the coolest base!
|
||||
<br><br>
|
||||
Here's the deal:<br>
|
||||
<ul class="bucketList">
|
||||
<li>Submit a screenshot of your base to <strong>contest@shapez.io</strong></li>
|
||||
<li>Bonus points if you share it on social media!</li>
|
||||
<li>I will choose 5 screenshots and propose it to the <strong>discord</strong> community to vote.</li>
|
||||
<li>The winner gets <strong>$25</strong> (Paypal, Amazon Gift Card, whatever you prefer)</li>
|
||||
<li>Deadline: 07.06.2020 12:00 AM CEST</li>
|
||||
</ul>
|
||||
<br>
|
||||
I'm looking forward to seeing your awesome creations!
|
||||
|
||||
showInfo: View
|
||||
contestOver: This contest has ended - Join the discord to get noticed about new contests!
|
||||
|
||||
dialogs:
|
||||
buttons:
|
||||
ok: OK
|
||||
delete: Delete
|
||||
cancel: Cancel
|
||||
later: Later
|
||||
restart: Restart
|
||||
reset: Reset
|
||||
getStandalone: Get Standalone
|
||||
deleteGame: I know what I do
|
||||
viewUpdate: View Update
|
||||
showUpgrades: Show Upgrades
|
||||
showKeybindings: Show Keybindings
|
||||
|
||||
importSavegameError:
|
||||
title: Import Error
|
||||
text: >-
|
||||
Failed to import your savegame:
|
||||
|
||||
importSavegameSuccess:
|
||||
title: Savegame Imported
|
||||
text: >-
|
||||
Your savegame has been successfully imported.
|
||||
|
||||
gameLoadFailure:
|
||||
title: Game is broken
|
||||
text: >-
|
||||
Failed to load your savegame:
|
||||
|
||||
confirmSavegameDelete:
|
||||
title: Confirm deletion
|
||||
text: >-
|
||||
Are you sure you want to delete the game?
|
||||
|
||||
savegameDeletionError:
|
||||
title: Failed to delete
|
||||
text: >-
|
||||
Failed to delete the savegame:
|
||||
|
||||
restartRequired:
|
||||
title: Restart required
|
||||
text: >-
|
||||
You need to restart the game to apply the settings.
|
||||
|
||||
editKeybinding:
|
||||
title: Change Keybinding
|
||||
desc: Press the key or mouse button you want to assign, or escape to cancel.
|
||||
|
||||
resetKeybindingsConfirmation:
|
||||
title: Reset keybindings
|
||||
desc: This will reset all keybindings to their default values. Please confirm.
|
||||
|
||||
keybindingsResetOk:
|
||||
title: Keybindings reset
|
||||
desc: The keybindings have been reset to their respective defaults!
|
||||
|
||||
featureRestriction:
|
||||
title: Demo Version
|
||||
desc: You tried to access a feature (<feature>) which is not available in the demo. Consider to get the standalone for the full experience!
|
||||
|
||||
oneSavegameLimit:
|
||||
title: Limited savegames
|
||||
desc: You can only have one savegame at a time in the demo version. Please remove the existing one or get the standalone!
|
||||
|
||||
updateSummary:
|
||||
title: New update!
|
||||
desc: >-
|
||||
Here are the changes since you last played:
|
||||
|
||||
upgradesIntroduction:
|
||||
title: Unlock Upgrades
|
||||
desc: >-
|
||||
All shapes you produce can be used to unlock upgrades - <strong>Don't destroy your old factories!</strong>
|
||||
The upgrades tab can be found on the top right corner of the screen.
|
||||
|
||||
massDeleteConfirm:
|
||||
title: Confirm delete
|
||||
desc: >-
|
||||
You are deleting a lot of buildings (<count> to be exact)! Are you sure you want to do this?
|
||||
|
||||
blueprintsNotUnlocked:
|
||||
title: Not unlocked yet
|
||||
desc: >-
|
||||
Complete level 12 to unlock Blueprints!
|
||||
|
||||
keybindingsIntroduction:
|
||||
title: Useful keybindings
|
||||
desc: >-
|
||||
This game has a lot of keybindings which make it easier to build big factories.
|
||||
Here are a few, but be sure to <strong>check out the keybindings</strong>!<br><br>
|
||||
<code class='keybinding'>CTRL</code> + Drag: Select an area.<br>
|
||||
<code class='keybinding'>SHIFT</code>: Hold to place multiple of one building.<br>
|
||||
<code class='keybinding'>ALT</code>: Invert orientation of placed belts.<br>
|
||||
|
||||
createMarker:
|
||||
title: New Marker
|
||||
desc: Give it a meaningful name
|
||||
|
||||
markerDemoLimit:
|
||||
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
|
||||
massCutConfirm:
|
||||
title: Confirm cut
|
||||
desc: >-
|
||||
You are cutting a lot of buildings (<count> to be exact)! Are you sure you
|
||||
want to do this?
|
||||
|
||||
exportScreenshotWarning:
|
||||
title: Export screenshot
|
||||
desc: >-
|
||||
You requested to export your base as a screenshot. Please note that this can
|
||||
be quite slow for a big base and even crash your game!
|
||||
|
||||
ingame:
|
||||
# This is shown in the top left corner and displays useful keybindings in
|
||||
# every situation
|
||||
keybindingsOverlay:
|
||||
moveMap: Move
|
||||
selectBuildings: Select area
|
||||
stopPlacement: Stop placement
|
||||
rotateBuilding: Rotate building
|
||||
placeMultiple: Place multiple
|
||||
reverseOrientation: Reverse orientation
|
||||
disableAutoOrientation: Disable auto orientation
|
||||
toggleHud: Toggle HUD
|
||||
placeBuilding: Place building
|
||||
createMarker: Create Marker
|
||||
delete: Destroy
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
|
||||
# Everything related to placing buildings (I.e. as soon as you selected a building
|
||||
# from the toolbar)
|
||||
buildingPlacement:
|
||||
# Buildings can have different variants which are unlocked at later levels,
|
||||
# and this is the hint shown when there are multiple variants available.
|
||||
cycleBuildingVariants: Press <key> to cycle variants.
|
||||
|
||||
# Shows the hotkey in the ui, e.g. "Hotkey: Q"
|
||||
hotkeyLabel: >-
|
||||
Hotkey: <key>
|
||||
|
||||
infoTexts:
|
||||
speed: Speed
|
||||
range: Range
|
||||
storage: Storage
|
||||
oneItemPerSecond: 1 item / second
|
||||
itemsPerSecond: <x> items / s
|
||||
itemsPerSecondDouble: (x2)
|
||||
|
||||
tiles: <x> tiles
|
||||
|
||||
# The notification when completing a level
|
||||
levelCompleteNotification:
|
||||
# <level> is replaced by the actual level, so this gets 'Level 03' for example.
|
||||
levelTitle: Level <level>
|
||||
completed: Completed
|
||||
unlockText: Unlocked <reward>!
|
||||
buttonNextLevel: Next Level
|
||||
|
||||
# Notifications on the lower right
|
||||
notifications:
|
||||
newUpgrade: A new upgrade is available!
|
||||
gameSaved: Your game has been saved.
|
||||
|
||||
# Mass select information, this is when you hold CTRL and then drag with your mouse
|
||||
# to select multiple buildings
|
||||
massSelect:
|
||||
infoText: Press <keyCut> to cut, <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
|
||||
# The "Upgrades" window
|
||||
shop:
|
||||
title: Upgrades
|
||||
buttonUnlock: Upgrade
|
||||
|
||||
# Gets replaced to e.g. "Tier IX"
|
||||
tier: Tier <x>
|
||||
|
||||
# The roman number for each tier
|
||||
tierLabels: [I, II, III, IV, V, VI, VII, VIII, IX, X]
|
||||
|
||||
maximumLevel: MAXIMUM LEVEL (Speed x<currentMult>)
|
||||
|
||||
# The "Statistics" window
|
||||
statistics:
|
||||
title: Statistics
|
||||
dataSources:
|
||||
stored:
|
||||
title: Stored
|
||||
description: Displaying amount of stored shapes in your central building.
|
||||
produced:
|
||||
title: Produced
|
||||
description: Displaying all shapes your whole factory produces, including intermediate products.
|
||||
delivered:
|
||||
title: Delivered
|
||||
description: Displaying shapes which are delivered to your central building.
|
||||
noShapesProduced: No shapes have been produced so far.
|
||||
|
||||
# Displays the shapes per minute, e.g. '523 / m'
|
||||
shapesPerMinute: <shapes> / m
|
||||
|
||||
# Settings menu, when you press "ESC"
|
||||
settingsMenu:
|
||||
playtime: Playtime
|
||||
|
||||
buildingsPlaced: Buildings
|
||||
beltsPlaced: Belts
|
||||
|
||||
buttons:
|
||||
continue: Continue
|
||||
settings: Settings
|
||||
menu: Return to menu
|
||||
|
||||
# Bottom left tutorial hints
|
||||
tutorialHints:
|
||||
title: Need help?
|
||||
showHint: Show hint
|
||||
hideHint: Close
|
||||
|
||||
# When placing a blueprint
|
||||
blueprintPlacer:
|
||||
cost: Cost
|
||||
|
||||
# Map markers
|
||||
waypoints:
|
||||
waypoints: Markers
|
||||
hub: HUB
|
||||
description: Left-click a marker to jump to it, right-click to delete it.<br><br>Press <keybinding> to create a marker from the current view, or <strong>right-click</strong> to create a marker at the selected location.
|
||||
creationSuccessNotification: Marker has been created.
|
||||
|
||||
# Interactive tutorial
|
||||
interactiveTutorial:
|
||||
title: Tutorial
|
||||
hints:
|
||||
1_1_extractor: Place an <strong>extractor</strong> on top of a <strong>circle shape</strong> to extract it!
|
||||
1_2_conveyor: >-
|
||||
Connect the extractor with a <strong>conveyor belt</strong> to your hub!<br><br>Tip: <strong>Click and drag</strong> the belt with your mouse!
|
||||
|
||||
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.
|
||||
|
||||
# All shop upgrades
|
||||
shopUpgrades:
|
||||
belt:
|
||||
name: Belts, Distributor & Tunnels
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
miner:
|
||||
name: Extraction
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
processors:
|
||||
name: Cutting, Rotating & Stacking
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
painting:
|
||||
name: Mixing & Painting
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
|
||||
# Buildings and their name / description
|
||||
buildings:
|
||||
hub:
|
||||
deliver: Deliver
|
||||
toUnlock: to unlock
|
||||
levelShortcut: LVL
|
||||
|
||||
belt:
|
||||
default:
|
||||
name: &belt Conveyor Belt
|
||||
description: Transports items, hold and drag to place multiple.
|
||||
|
||||
miner: # Internal name for the Extractor
|
||||
default:
|
||||
name: &miner Extractor
|
||||
description: Place over a shape or color to extract it.
|
||||
|
||||
chainable:
|
||||
name: Extractor (Chain)
|
||||
description: Place over a shape or color to extract it. Can be chained.
|
||||
|
||||
underground_belt: # Internal name for the Tunnel
|
||||
default:
|
||||
name: &underground_belt Tunnel
|
||||
description: Allows to tunnel resources under buildings and belts.
|
||||
|
||||
tier2:
|
||||
name: Tunnel Tier II
|
||||
description: Allows to tunnel resources under buildings and belts.
|
||||
|
||||
splitter: # Internal name for the Balancer
|
||||
default:
|
||||
name: &splitter Balancer
|
||||
description: Multifunctional - Evenly distributes all inputs onto all outputs.
|
||||
|
||||
compact:
|
||||
name: Merger (compact)
|
||||
description: Merges two conveyor belts into one.
|
||||
|
||||
compact-inverse:
|
||||
name: Merger (compact)
|
||||
description: Merges two conveyor belts into one.
|
||||
|
||||
cutter:
|
||||
default:
|
||||
name: &cutter Cutter
|
||||
description: Cuts shapes from top to bottom and outputs both halfs. <strong>If you use only one part, be sure to destroy the other part or it will stall!</strong>
|
||||
quad:
|
||||
name: Cutter (Quad)
|
||||
description: Cuts shapes into four parts. <strong>If you use only one part, be sure to destroy the other parts or it will stall!</strong>
|
||||
|
||||
rotater:
|
||||
default:
|
||||
name: &rotater Rotate
|
||||
description: Rotates shapes clockwise by 90 degrees.
|
||||
ccw:
|
||||
name: Rotate (CCW)
|
||||
description: Rotates shapes counter clockwise by 90 degrees.
|
||||
|
||||
stacker:
|
||||
default:
|
||||
name: &stacker Stacker
|
||||
description: Stacks both items. If they can not be merged, the right item is placed above the left item.
|
||||
|
||||
mixer:
|
||||
default:
|
||||
name: &mixer Color Mixer
|
||||
description: Mixes two colors using additive blending.
|
||||
|
||||
painter:
|
||||
default:
|
||||
name: &painter Painter
|
||||
description: Colors the whole shape on the left input with the color from the top input.
|
||||
double:
|
||||
name: Painter (Double)
|
||||
description: Colors the shapes on the left inputs with the color from the top input.
|
||||
quad:
|
||||
name: Painter (Quad)
|
||||
description: Allows to color each quadrant of the shape with a different color.
|
||||
|
||||
trash:
|
||||
default:
|
||||
name: &trash Trash
|
||||
description: Accepts inputs from all sides and destroys them. Forever.
|
||||
|
||||
storage:
|
||||
name: Storage
|
||||
description: Stores excess items, up to a given capacity. Can be used as an overflow gate.
|
||||
|
||||
storyRewards:
|
||||
# Those are the rewards gained from completing the store
|
||||
reward_cutter_and_trash:
|
||||
title: Cutting Shapes
|
||||
desc: You just unlocked the <strong>cutter</strong> - it cuts shapes half from <strong>top to bottom</strong> regardless of its orientation!<br><br>Be sure to get rid of the waste, or otherwise <strong>it will stall</strong> - For this purpose I gave you a trash, which destroys everything you put into it!
|
||||
|
||||
reward_rotater:
|
||||
title: Rotating
|
||||
desc: The <strong>rotater</strong> has been unlocked! It rotates shapes clockwise by 90 degrees.
|
||||
|
||||
reward_painter:
|
||||
title: Painting
|
||||
desc: >-
|
||||
The <strong>painter</strong> has been unlocked - Extract some color veins (just as you do with shapes) and combine it with a shape in the painter to color them!<br><br>PS: If you are colorblind, I'm working on a solution already!
|
||||
|
||||
reward_mixer:
|
||||
title: Color Mixing
|
||||
desc: The <strong>mixer</strong> has been unlocked - Combine two colors using <strong>additive blending</strong> with this building!
|
||||
|
||||
reward_stacker:
|
||||
title: Combiner
|
||||
desc: You can now combine shapes with the <strong>combiner</strong>! Both inputs are combined, and if they can be put next to each other, they will be <strong>fused</strong>. If not, the right input is <strong>stacked on top</strong> of the left input!
|
||||
|
||||
reward_splitter:
|
||||
title: Splitter/Merger
|
||||
desc: The multifunctional <strong>balancer</strong> has been unlocked - It can be used to build bigger factories by <strong>splitting and merging items</strong> onto multiple belts!<br><br>
|
||||
|
||||
reward_tunnel:
|
||||
title: Tunnel
|
||||
desc: The <strong>tunnel</strong> has been unlocked - You can now tunnel items through belts and buildings with it!
|
||||
|
||||
reward_rotater_ccw:
|
||||
title: CCW Rotating
|
||||
desc: You have unlocked a variant of the <strong>rotater</strong> - It allows to rotate counter clockwise! To build it, select the rotater and <strong>press 'T' to cycle its variants</strong>!
|
||||
|
||||
reward_miner_chainable:
|
||||
title: Chaining Extractor
|
||||
desc: You have unlocked the <strong>chaining extractor</strong>! It can <strong>forward its resources</strong> to other extractors so you can more efficiently extract resources!
|
||||
|
||||
reward_underground_belt_tier_2:
|
||||
title: Tunnel Tier II
|
||||
desc: You have unlocked a new variant of the <strong>tunnel</strong> - It has a <strong>bigger range</strong>, and you can also mix-n-match those tunnels now!
|
||||
|
||||
reward_splitter_compact:
|
||||
title: Compact Balancer
|
||||
desc: >-
|
||||
You have unlocked a compact variant of the <strong>balancer</strong> - It accepts two inputs and merges them into one!
|
||||
|
||||
reward_cutter_quad:
|
||||
title: Quad Cutting
|
||||
desc: You have unlocked a variant of the <strong>cutter</strong> - It allows you to cut shapes in <strong>four parts</strong> instead of just two!
|
||||
|
||||
reward_painter_double:
|
||||
title: Double Painting
|
||||
desc: You have unlocked a variant of the <strong>painter</strong> - It works as the regular painter but processes <strong>two shapes at once</strong> consuming just one color instead of two!
|
||||
|
||||
reward_painter_quad:
|
||||
title: Quad Painting
|
||||
desc: You have unlocked a variant of the <strong>painter</strong> - It allows to paint each part of the shape individually!
|
||||
|
||||
reward_storage:
|
||||
title: Storage Buffer
|
||||
desc: You have unlocked a variant of the <strong>trash</strong> - It allows to store items up to a given capacity!
|
||||
|
||||
reward_freeplay:
|
||||
title: Freeplay
|
||||
desc: You did it! You unlocked the <strong>free-play mode</strong>! This means that shapes are now randomly generated! (No worries, more content is planned for the standalone!)
|
||||
|
||||
reward_blueprints:
|
||||
title: Blueprints
|
||||
desc: You can now <strong>copy and paste</strong> parts of your factory! Select an area (Hold CTRL, then drag with your mouse), and press 'C' to copy it.<br><br>Pasting it is <strong>not free</strong>, you need to produce <strong>blueprint shapes</strong> to afford it! (Those you just delivered).
|
||||
|
||||
# Special reward, which is shown when there is no reward actually
|
||||
no_reward:
|
||||
title: Next level
|
||||
desc: >-
|
||||
This level gave you no reward, but the next one will! <br><br> PS: Better don't destroy your existing factory - You need <strong>all</strong> those shapes later again to <strong>unlock upgrades</strong>!
|
||||
|
||||
no_reward_freeplay:
|
||||
title: Next level
|
||||
desc: >-
|
||||
Congratulations! By the way, more content is planned for the standalone!
|
||||
|
||||
settings:
|
||||
title: Settings
|
||||
categories:
|
||||
game: Game
|
||||
app: Application
|
||||
|
||||
versionBadges:
|
||||
dev: Development
|
||||
staging: Staging
|
||||
prod: Production
|
||||
buildDate: Built <at-date>
|
||||
|
||||
labels:
|
||||
uiScale:
|
||||
title: Interface scale
|
||||
description: >-
|
||||
Changes the size of the user interface. The interface will still scale based on your device resolution, but this setting controls the amount of scale.
|
||||
scales:
|
||||
super_small: Super small
|
||||
small: Small
|
||||
regular: Regular
|
||||
large: Large
|
||||
huge: Huge
|
||||
|
||||
scrollWheelSensitivity:
|
||||
title: Zoom sensitivity
|
||||
description: >-
|
||||
Changes how sensitive the zoom is (Either mouse wheel or trackpad).
|
||||
sensitivity:
|
||||
super_slow: Super slow
|
||||
slow: Slow
|
||||
regular: Regular
|
||||
fast: Fast
|
||||
super_fast: Super fast
|
||||
|
||||
language:
|
||||
title: Language
|
||||
description: >-
|
||||
Change the language. All translations are user contributed and might be incomplete!
|
||||
|
||||
fullscreen:
|
||||
title: Fullscreen
|
||||
description: >-
|
||||
It is recommended to play the game in fullscreen to get the best experience. Only available in the standalone.
|
||||
|
||||
soundsMuted:
|
||||
title: Mute Sounds
|
||||
description: >-
|
||||
If enabled, mutes all sound effects.
|
||||
|
||||
musicMuted:
|
||||
title: Mute Music
|
||||
description: >-
|
||||
If enabled, mutes all music.
|
||||
|
||||
theme:
|
||||
title: Game theme
|
||||
description: >-
|
||||
Choose the game theme (light / dark).
|
||||
themes:
|
||||
dark: Dark
|
||||
light: Light
|
||||
|
||||
refreshRate:
|
||||
title: Simulation Target
|
||||
description: >-
|
||||
If you have a 144hz monitor, change the refresh rate here so the game will properly simulate at higher refresh rates. This might actually decrease the FPS if your computer is too slow.
|
||||
|
||||
alwaysMultiplace:
|
||||
title: Multiplace
|
||||
description: >-
|
||||
If enabled, all buildings will stay selected after placement until you cancel it. This is equivalent to holding SHIFT permanently.
|
||||
|
||||
offerHints:
|
||||
title: Hints & Tutorials
|
||||
description: >-
|
||||
Whether to offer hints and tutorials while playing. Also hides certain UI elements onto a given level to make it easier to get into the game.
|
||||
|
||||
movementSpeed:
|
||||
title: Movement speed
|
||||
description: Changes how fast the view moves when using the keyboard.
|
||||
speeds:
|
||||
super_slow: Super slow
|
||||
slow: Slow
|
||||
regular: Regular
|
||||
fast: Fast
|
||||
super_fast: Super Fast
|
||||
extremely_fast: Extremely Fast
|
||||
keybindings:
|
||||
title: Keybindings
|
||||
hint: >-
|
||||
Tip: Be sure to make use of CTRL, SHIFT and ALT! They enable different placement options.
|
||||
|
||||
resetKeybindings: Reset Keybindings
|
||||
|
||||
categoryLabels:
|
||||
general: Application
|
||||
ingame: Game
|
||||
navigation: Navigating
|
||||
placement: Placement
|
||||
massSelect: Mass Select
|
||||
buildings: Building Shortcuts
|
||||
placementModifiers: Placement Modifiers
|
||||
|
||||
mappings:
|
||||
confirm: Confirm
|
||||
back: Back
|
||||
mapMoveUp: Move Up
|
||||
mapMoveRight: Move Right
|
||||
mapMoveDown: Move Down
|
||||
mapMoveLeft: Move Left
|
||||
centerMap: Center Map
|
||||
|
||||
mapZoomIn: Zoom in
|
||||
mapZoomOut: Zoom out
|
||||
createMarker: Create Marker
|
||||
|
||||
menuOpenShop: Upgrades
|
||||
menuOpenStats: Statistics
|
||||
|
||||
toggleHud: Toggle HUD
|
||||
toggleFPSInfo: Toggle FPS and Debug Info
|
||||
belt: *belt
|
||||
splitter: *splitter
|
||||
underground_belt: *underground_belt
|
||||
miner: *miner
|
||||
cutter: *cutter
|
||||
rotater: *rotater
|
||||
stacker: *stacker
|
||||
mixer: *mixer
|
||||
painter: *painter
|
||||
trash: *trash
|
||||
|
||||
abortBuildingPlacement: Abort Placement
|
||||
rotateWhilePlacing: Rotate
|
||||
rotateInverseModifier: >-
|
||||
Modifier: Rotate CCW instead
|
||||
cycleBuildingVariants: Cycle Variants
|
||||
confirmMassDelete: Confirm Mass Delete
|
||||
cycleBuildings: Cycle Buildings
|
||||
|
||||
massSelectStart: Hold and drag to start
|
||||
massSelectSelectMultiple: Select multiple areas
|
||||
massSelectCopy: Copy area
|
||||
|
||||
placementDisableAutoOrientation: Disable automatic orientation
|
||||
placeMultiple: Stay in placement mode
|
||||
placeInverse: Invert automatic belt orientation
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
massSelectCut: Cut area
|
||||
exportScreenshot: Export whole Base as Image
|
||||
|
||||
about:
|
||||
title: About this Game
|
||||
body: >-
|
||||
This game is open source and developed by <a href="https://github.com/tobspr"
|
||||
target="_blank">Tobias Springer</a> (this is me).<br><br>
|
||||
|
||||
If you want to contribute, check out <a href="<githublink>"
|
||||
target="_blank">shapez.io on github</a>.<br><br>
|
||||
|
||||
This game wouldn't have been possible without the great discord community
|
||||
around my games - You should really join the <a href="<discordlink>"
|
||||
target="_blank">discord server</a>!<br><br>
|
||||
|
||||
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius"
|
||||
target="_blank">Peppsen</a> - He's awesome.<br><br>
|
||||
|
||||
Finally, huge thanks to my best friend <a
|
||||
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Without our
|
||||
factorio sessions this game would never have existed.
|
||||
|
||||
changelog:
|
||||
title: Changelog
|
||||
|
||||
demo:
|
||||
features:
|
||||
restoringGames: Restoring savegames
|
||||
importingGames: Importing savegames
|
||||
oneGameLimit: Limited to one savegame
|
||||
customizeKeybindings: Customizing Keybindings
|
||||
exportingBase: Exporting whole Base as Image
|
||||
|
||||
settingNotAvailable: Not available in the demo.
|
||||
749
translations/base-cz.yaml
Normal file
@ -0,0 +1,749 @@
|
||||
# Czech translation
|
||||
|
||||
steamPage:
|
||||
# This is the short text appearing on the steam page
|
||||
shortText: shapez.io je hra o stavbě továren pro automatizaci výroby a kombinování čím dál složitějších tvarů na nekonečné mapě.
|
||||
|
||||
# This is the long description for the steam page - It is contained here so you can help to translate it, and I will regulary update the store page.
|
||||
# NOTICE:
|
||||
# - Do not translate the first line (This is the gif image at the start of the store)
|
||||
# - Please keep the markup (Stuff like [b], [list] etc) in the same format
|
||||
longText: >-
|
||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
||||
|
||||
shapez.io je hra o stavbě továren pro automatizaci výroby a kombinování tvarů. Poskytněte vyžadované, stále složitější tvary, aby jste postoupili ve hře dále, a odemkněte vylepšení pro zrychlení vaší továrny.
|
||||
|
||||
Protože poptávka postupně roste, musíte svou továrnu rozšiřovat tak, aby vyhověla potřebám - Nové zdroje, najdete na [b]nekonečné mapě[/b]!
|
||||
|
||||
Jen tvary by byly nuda, proto máme pigmenty kterými musíte dílky obarvit - zkombinujte červené, zelené a modré barvivo pro vytvoření dalších odstínů a obarvěte s nimi tvary pro uspokojení poptávky.
|
||||
|
||||
Hra obsahuje 18 úrovní (což by vás mělo zaměstnat na spoustu hodin!), ale nový obsah je neustále přidáván - je toho hodně naplánováno!
|
||||
|
||||
|
||||
[b]Výhody plné hry[/b]
|
||||
|
||||
[list]
|
||||
[*] Označování pozic na mapě
|
||||
[*] Neomezený počet uložených her
|
||||
[*] Tmavý motiv
|
||||
[*] Více nastavení
|
||||
[*] Pomůžete mi dále vyvíjet shapez.io ❤️
|
||||
[*] Více funkcí v budoucnu!
|
||||
[/list]
|
||||
|
||||
[b]Plánované funkce a komunitní návrhy[/b]
|
||||
|
||||
Tato hra je open source - kdokoli může přispět! Kromě toho [b]hodně[/b] poslouchám komunitu! Snažím se přečíst si všechny návrhy a vzít v úvahu zpětnou vazbu.
|
||||
|
||||
[list]
|
||||
[*] Mód s příběhem, kde stavba budov stojí tvary
|
||||
[*] Více úrovní a budov (exkluzivní pro plnou verzi)
|
||||
[*] Různé mapy a zábrany na mapě
|
||||
[*] Konfigurace generátoru map (úprava počtu a velikosti nálezišť, seed map, a další)
|
||||
[*] Více tvarů
|
||||
[*] Další zlepšení výkonu (I když hra již běží docela dobře!)
|
||||
[*] Režim pro barvoslepé
|
||||
[*] A mnohem více!
|
||||
[/list]
|
||||
|
||||
Nezapomeňte se podívat na moji Trello nástěnku pro úplný plán! https://trello.com/b/ISQncpJP/shapezio
|
||||
|
||||
global:
|
||||
loading: Načítám
|
||||
error: Chyba
|
||||
|
||||
# How big numbers are rendered, e.g. "10,000"
|
||||
thousandsDivider: " "
|
||||
|
||||
# The suffix for large numbers, e.g. 1.3k, 400.2M, etc.
|
||||
suffix:
|
||||
thousands: k
|
||||
millions: M
|
||||
billions: B
|
||||
trillions: T
|
||||
|
||||
# Shown for infinitely big numbers
|
||||
infinite: nekonečno
|
||||
|
||||
time:
|
||||
# Used for formatting past time dates
|
||||
oneSecondAgo: před sekundou
|
||||
xSecondsAgo: před <x> sekundami
|
||||
oneMinuteAgo: před minutou
|
||||
xMinutesAgo: před <x> minutami
|
||||
oneHourAgo: před hodinou
|
||||
xHoursAgo: před <x> hodinami
|
||||
oneDayAgo: včera
|
||||
xDaysAgo: před <x> dny
|
||||
|
||||
# Short formats for times, e.g. '5h 23m'
|
||||
secondsShort: <seconds>s
|
||||
minutesAndSecondsShort: <minutes>m <seconds>s
|
||||
hoursAndMinutesShort: <hours>h <minutes>m
|
||||
|
||||
xMinutes: <x> minut
|
||||
|
||||
keys:
|
||||
tab: TAB
|
||||
control: CTRL
|
||||
alt: ALT
|
||||
escape: ESC
|
||||
shift: SHIFT
|
||||
space: SPACE
|
||||
|
||||
demoBanners:
|
||||
# This is the "advertisement" shown in the main menu and other various places
|
||||
title: Demo verze
|
||||
intro: >-
|
||||
Získejte plnou verzi pro odemknutí všech funkcí!
|
||||
|
||||
mainMenu:
|
||||
play: Hrát
|
||||
changelog: Změny
|
||||
importSavegame: Importovat
|
||||
openSourceHint: Tato hra je open source!
|
||||
discordLink: Oficiální Discord Server
|
||||
helpTranslate: Pomozte přeložit hru!
|
||||
|
||||
# This is shown when using firefox and other browsers which are not supported.
|
||||
browserWarning: >-
|
||||
Hrajete v nepodporovaném prohlížeči, je možné že hra poběží pomalu! Pořiďte si samostatnou verzi nebo vyzkoušejte prohlížeč Chrome pro plnohodnotný zážitek.
|
||||
|
||||
savegameLevel: Úroveň <x>
|
||||
savegameLevelUnknown: Neznámá úroveň
|
||||
|
||||
contests:
|
||||
contest_01_03062020:
|
||||
title: "Soutěž #01"
|
||||
desc: Vyhraj <strong>$25</strong> za nejvíc cool základnu!
|
||||
longDesc: >-
|
||||
Abych vám poděkoval, myslel jsem, že by bylo skvělé dělat týdenní soutěže!
|
||||
<br><br>
|
||||
<strong>Téma tohoto týdne:</strong> Postavte nejvíc cool základnu!
|
||||
<br><br>
|
||||
Zde je zadání:<br>
|
||||
<ul class="bucketList">
|
||||
<li>Zašlete screenshot své základny na <strong>contest@shapez.io</strong></li>
|
||||
<li>Bonusové body za sdílení na sociálních médiích!</li>
|
||||
<li>Vyberu 5 screenshotů a <strong>Discord</strong> komunita bude hlasovat o vítězi.</li>
|
||||
<li>Vítěz dostane <strong>$25</strong> (Paypal, Amazon Dárkový Poukaz, co preferujete)</li>
|
||||
<li>Uzávěrka: 07.06.2020 12:00 CEST</li>
|
||||
</ul>
|
||||
<br>
|
||||
Těším se na vaše úžasné výtvory!
|
||||
|
||||
showInfo: Zobrazit
|
||||
contestOver: Tato soutěž skončila - Připojte se na Discord a získejte informace o nových soutěžích!
|
||||
|
||||
dialogs:
|
||||
buttons:
|
||||
ok: OK
|
||||
delete: Smazat
|
||||
cancel: Zrušit
|
||||
later: Později
|
||||
restart: Restart
|
||||
reset: Reset
|
||||
getStandalone: Získejte Plnou verzi
|
||||
deleteGame: Vím co dělám
|
||||
viewUpdate: Zobrazit aktualizaci
|
||||
showUpgrades: Zobrazit vylepšení
|
||||
showKeybindings: Zobrazit klávesové zkratky
|
||||
|
||||
importSavegameError:
|
||||
title: Chyba Importu
|
||||
text: >-
|
||||
Nepovedlo se importovat vaši uloženou hru:
|
||||
|
||||
importSavegameSuccess:
|
||||
title: Uložená hra importována
|
||||
text: >-
|
||||
Vaše uložená hra byla úspěšně importována.
|
||||
|
||||
gameLoadFailure:
|
||||
title: Uložená hra je poškozená
|
||||
text: >-
|
||||
Nepovedlo se načíst vaši uloženou hru:
|
||||
|
||||
confirmSavegameDelete:
|
||||
title: Potvrdit smazání
|
||||
text: >-
|
||||
Opravdu chcete smazat hru?
|
||||
|
||||
savegameDeletionError:
|
||||
title: Chyba mazání
|
||||
text: >-
|
||||
Nepovedlo se smazat vaši uloženou hru:
|
||||
|
||||
restartRequired:
|
||||
title: Vyžadován restart
|
||||
text: >-
|
||||
Pro aplikování nastavení musíte restartovat hru.
|
||||
|
||||
editKeybinding:
|
||||
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 zrušení.
|
||||
|
||||
resetKeybindingsConfirmation:
|
||||
title: Reset klávesových zkratek
|
||||
desc: Opravdu chcete vrátit klávesové zkratky zpět do původního nastavení?
|
||||
|
||||
keybindingsResetOk:
|
||||
title: Reset klávesových zkratek
|
||||
desc: Vaše klávesové zkratky byly resetovány do původního nastavení!
|
||||
|
||||
featureRestriction:
|
||||
title: Demo verze
|
||||
desc: Zkoušíte použít funkci (<feature>), která není v demo verzi. Pořiďte si plnou verzi pro lepší zážitek!
|
||||
|
||||
oneSavegameLimit:
|
||||
title: Omezené ukládání
|
||||
desc: Ve zkušební 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!
|
||||
|
||||
updateSummary:
|
||||
title: Nová aktualizace!
|
||||
desc: >-
|
||||
Tady jsou změny od posledně:
|
||||
|
||||
upgradesIntroduction:
|
||||
title: Odemknout 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 nachází v pravém horním rohu obrazovky.
|
||||
|
||||
massDeleteConfirm:
|
||||
title: Potvrdit smazání
|
||||
desc: >-
|
||||
Odstraňujete spoustu budov (přesněji <count>)! Opravdu je chcete smazat?
|
||||
|
||||
blueprintsNotUnlocked:
|
||||
title: Zatím neodemčeno
|
||||
desc: >-
|
||||
Plány ještě nebyly odemčeny! Chcete-li je odemknout, dokončete úroveň 12.
|
||||
|
||||
keybindingsIntroduction:
|
||||
title: Užitečné klávesové zkratky
|
||||
desc: >-
|
||||
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 <strong>ostatní klávesové zkratky</strong>!<br><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 za sebout.<br>
|
||||
<code class='keybinding'>ALT</code>: Změnit orientaci umístěných pásů.<br>
|
||||
|
||||
createMarker:
|
||||
title: Nová značka
|
||||
desc: Dejte jí smysluplné jméno
|
||||
|
||||
markerDemoLimit:
|
||||
desc: V ukázce můžete vytvořit pouze dvě značky. Získejte plnou verzi pro neomezený počet značek!
|
||||
massCutConfirm:
|
||||
title: Confirm cut
|
||||
desc: >-
|
||||
You are cutting a lot of buildings (<count> to be exact)! Are you sure you
|
||||
want to do this?
|
||||
|
||||
exportScreenshotWarning:
|
||||
title: Export screenshot
|
||||
desc: >-
|
||||
You requested to export your base as a screenshot. Please note that this can
|
||||
be quite slow for a big base and even crash your game!
|
||||
|
||||
ingame:
|
||||
# This is shown in the top left corner and displays useful keybindings in
|
||||
# every situation
|
||||
keybindingsOverlay:
|
||||
moveMap: Posun mapy
|
||||
selectBuildings: Vybrat oblast
|
||||
stopPlacement: Ukončit pokládání
|
||||
rotateBuilding: Otočit budovu
|
||||
placeMultiple: Položit více budov
|
||||
reverseOrientation: Změnit orientaci
|
||||
disableAutoOrientation: Vypnout automatickou orientaci
|
||||
toggleHud: Přepnout HUD
|
||||
placeBuilding: Položit budovu
|
||||
createMarker: Vytvořit značku
|
||||
delete: Zničit
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
|
||||
# Everything related to placing buildings (I.e. as soon as you selected a building
|
||||
# from the toolbar)
|
||||
buildingPlacement:
|
||||
# Buildings can have different variants which are unlocked at later levels,
|
||||
# and this is the hint shown when there are multiple variants available.
|
||||
cycleBuildingVariants: Zmáčkněte <key> pro přepínání mezi variantami.
|
||||
|
||||
# Shows the hotkey in the ui, e.g. "Hotkey: Q"
|
||||
hotkeyLabel: >-
|
||||
Klávesová zkratka: <key>
|
||||
|
||||
infoTexts:
|
||||
speed: Rychlost
|
||||
range: Dosah
|
||||
storage: Úložný prostor
|
||||
oneItemPerSecond: 1 tvar / sekundu
|
||||
itemsPerSecond: <x> tvarů / s
|
||||
itemsPerSecondDouble: (x2)
|
||||
|
||||
tiles: <x> dílků
|
||||
|
||||
# The notification when completing a level
|
||||
levelCompleteNotification:
|
||||
# <level> is replaced by the actual level, so this gets 'Level 03' for example.
|
||||
levelTitle: Úroveň <level>
|
||||
completed: Dokončeno
|
||||
unlockText: "Odemčeno: <reward>!"
|
||||
buttonNextLevel: Další úroveň
|
||||
|
||||
# Notifications on the lower right
|
||||
notifications:
|
||||
newUpgrade: Nová aktualizace je k dispozici!
|
||||
gameSaved: Hra byla uložena.
|
||||
|
||||
# Mass select information, this is when you hold CTRL and then drag with your mouse
|
||||
# to select multiple buildings
|
||||
massSelect:
|
||||
infoText: Press <keyCut> to cut, <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
|
||||
# The "Upgrades" window
|
||||
shop:
|
||||
title: Vylepšení
|
||||
buttonUnlock: Vylepšit
|
||||
|
||||
# Gets replaced to e.g. "Tier IX"
|
||||
tier: Úroveň <x>
|
||||
|
||||
# The roman number for each tier
|
||||
tierLabels: [I, II, III, IV, V, VI, VII, VIII, IX, X]
|
||||
|
||||
maximumLevel: MAXIMÁLNÍ ÚROVEŇ (Rychlost x<currentMult>)
|
||||
|
||||
# The "Statistics" window
|
||||
statistics:
|
||||
title: Statistiky
|
||||
dataSources:
|
||||
stored:
|
||||
title: Uloženo
|
||||
description: Tvary uložené ve vaší centrální budově.
|
||||
produced:
|
||||
title: Vyprodukováno
|
||||
description: Tvary která vaše továrna produkuje, včetně meziproduktů.
|
||||
delivered:
|
||||
title: Dodáno
|
||||
description: Tvary které jsou dodávány do vaší centrální budovy.
|
||||
noShapesProduced: Žádné tvary zatím nebyly vyprodukovány.
|
||||
|
||||
# Displays the shapes per minute, e.g. '523 / m'
|
||||
shapesPerMinute: <shapes> / m
|
||||
|
||||
# Settings menu, when you press "ESC"
|
||||
settingsMenu:
|
||||
playtime: Herní čas
|
||||
|
||||
buildingsPlaced: Budovy
|
||||
beltsPlaced: Pásy
|
||||
|
||||
buttons:
|
||||
continue: Pokračovat
|
||||
settings: Nastavení
|
||||
menu: Návrat do menu
|
||||
|
||||
# Bottom left tutorial hints
|
||||
tutorialHints:
|
||||
title: Potřebujete pomoct?
|
||||
showHint: Zobrazit nápovědu
|
||||
hideHint: Zavřít
|
||||
|
||||
# When placing a blueprint
|
||||
blueprintPlacer:
|
||||
cost: Cena
|
||||
|
||||
# Map markers
|
||||
waypoints:
|
||||
waypoints: Značky
|
||||
hub: HUB
|
||||
description: Klepnutím levým tlačítkem myši na značku se přesunete na její umístění, klepnutím pravým tlačítkem ji odstraníte.<br><br>Stisknutím klávesy <keybinding> vytvoříte značku na aktuálním místě, nebo <strong>klepnutím pravým tlačítkem</strong> vytvoříte značku na vybraném místě na mapě.
|
||||
creationSuccessNotification: Značka byla vytvořena.
|
||||
|
||||
# Interactive tutorial
|
||||
interactiveTutorial:
|
||||
title: Tutoriál
|
||||
hints:
|
||||
1_1_extractor: Umístěte <strong>extraktor</strong> na naleziště<strong>kruhového tvaru</strong> a vytěžte jej!
|
||||
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> myší pro položení více pásů!
|
||||
|
||||
1_3_expand: >-
|
||||
Toto <strong>NENÍ</strong> hra o čekání! Sestavte další extraktory 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í <strong>R</strong> je můžete otočit.
|
||||
|
||||
# All shop upgrades
|
||||
shopUpgrades:
|
||||
belt:
|
||||
name: Pásy, distribuce & tunely
|
||||
description: Rychlost x<currentMult> → x<newMult>
|
||||
miner:
|
||||
name: Extrakce
|
||||
description: Rychlost x<currentMult> → x<newMult>
|
||||
processors:
|
||||
name: Řezání, otáčení a spojování
|
||||
description: Rychlost x<currentMult> → x<newMult>
|
||||
painting:
|
||||
name: Míchání a barvení
|
||||
description: Rychlost x<currentMult> → x<newMult>
|
||||
|
||||
# Buildings and their name / description
|
||||
buildings:
|
||||
hub:
|
||||
deliver: Dodejte
|
||||
toUnlock: pro odemčení
|
||||
levelShortcut: LVL
|
||||
|
||||
belt:
|
||||
default:
|
||||
name: &belt Dopravníkový pás
|
||||
description: Přepravuje tvary a barvy, přidržením můžete umístit více pásů za sebe tahem.
|
||||
|
||||
miner: # Internal name for the Extractor
|
||||
default:
|
||||
name: &miner Extraktor
|
||||
description: Umístěte na náleziště tvaru nebo barvy pro zahájení těžby.
|
||||
|
||||
chainable:
|
||||
name: Extraktor (Navazující)
|
||||
description: Umístěte na náleziště tvaru nebo barvy pro zahájení těžby. Lze zapojit po skupinách.
|
||||
|
||||
underground_belt: # Internal name for the Tunnel
|
||||
default:
|
||||
name: &underground_belt Tunel
|
||||
description: Umožňuje vézt suroviny pod budovami a pásy.
|
||||
|
||||
tier2:
|
||||
name: Tunel II. úrovně
|
||||
description: Umožňuje vézt suroviny pod budovami a pásy.
|
||||
|
||||
splitter: # Internal name for the Balancer
|
||||
default:
|
||||
name: &splitter Balancer
|
||||
description: Multifunkční - Rozděluje vstupy do výstupů.
|
||||
|
||||
compact:
|
||||
name: Spojka (levá)
|
||||
description: Spojí dva pásy do jednoho.
|
||||
|
||||
compact-inverse:
|
||||
name: Spojka (pravá)
|
||||
description: Spojí dva pásy do jednoho.
|
||||
|
||||
cutter:
|
||||
default:
|
||||
name: &cutter Pila
|
||||
description: Rozřízne tvar svisle na dvě části. <strong>Pokud použijete jen jednu půlku, nezapomeňte druhou smazat, jinak se vám produkce zasekne!</strong>
|
||||
quad:
|
||||
name: Rozebírač
|
||||
description: Rozebere tvar na čtyři části. <strong>Pokud použijete jen některé části, nezapomeňte ostatní smazat, jinak se vám produkce zasekne!</strong>
|
||||
|
||||
rotater:
|
||||
default:
|
||||
name: &rotater Rotor
|
||||
description: Otáčí tvary o 90 stupňů po směru hodinových ručiček.
|
||||
ccw:
|
||||
name: Rotor (opačný)
|
||||
description: Otáčí tvary o 90 stupňů proti směru hodinových ručiček
|
||||
|
||||
stacker:
|
||||
default:
|
||||
name: &stacker Kombinátor
|
||||
description: Spojí tvary dohromady. Pokud nemohou být spojeny, pravý tvar je položen na levý.
|
||||
|
||||
mixer:
|
||||
default:
|
||||
name: &mixer Mixér na barvy
|
||||
description: Smíchá dvě barvy.
|
||||
|
||||
painter:
|
||||
default:
|
||||
name: &painter Barvič
|
||||
description: Obarví celý tvar v levém vstupu barvou z pravého vstupu.
|
||||
double:
|
||||
name: Barvič (dvojnásobný)
|
||||
description: Obarví tvary z levých vstupů barvou z horního vstupu.
|
||||
quad:
|
||||
name: Barvič (čtyřnásobný)
|
||||
description: Umožňuje obarvit každý dílek tvaru samostatně.
|
||||
|
||||
trash:
|
||||
default:
|
||||
name: &trash Koš
|
||||
description: Příjmá tvary a barvy ze všech stran a smaže je. Navždy.
|
||||
|
||||
storage:
|
||||
name: Sklad
|
||||
description: Skladuje věci navíc až do naplnění kapacity. Může být použit na skladování surovin navíc.
|
||||
|
||||
storyRewards:
|
||||
# Those are the rewards gained from completing the store
|
||||
reward_cutter_and_trash:
|
||||
title: Řezání tvarů
|
||||
desc: Právě jste odemknuli <strong>pilu</strong> - řeže tvary <strong>svisle</strong> bez ohledu na svou orientaci!<br><br>Nezapomeňte se zbavovat odpadu, jinak <strong>se vám zasekne produkce</strong> - pro tento účel jsem vám odemknul koš, který můžete použít na mazání odpadu!
|
||||
|
||||
reward_rotater:
|
||||
title: Otáčení
|
||||
desc: <strong>Rotor</strong> byl právě odemčen! Otáčí tvary po směru hodinových ručiček o 90 stupňů.
|
||||
|
||||
reward_painter:
|
||||
title: Barvení
|
||||
desc: >-
|
||||
<strong>Barvič</strong> byl právě odemčen - vytěžte nějakou barvu (stejně jako těžíte tvary) a skombinujte ji v barviči s tvarem pro obarvení!<br><br>PS: Pokud jste barvoslepí, nebojte, již pracuju na řešení.!
|
||||
|
||||
reward_mixer:
|
||||
title: Míchání barev
|
||||
desc: <strong>Mixér</strong> byl právě odemčen - zkombinuje dvě barvy pomocí <strong>aditivního míchání</strong>!
|
||||
|
||||
reward_stacker:
|
||||
title: Kombinátor
|
||||
desc: Nyní můžete spojovat tvary pomocí <strong>kombinátor</strong>! Pokud to jde, oba tvary se <strong>slepí</strong> k sobě. Pokud ne, tvar vpravo se <strong>nalepí na</strong> tvar vlevo!
|
||||
|
||||
reward_splitter:
|
||||
title: Rozřazování/Spojování pásu
|
||||
desc: Multifuknční <strong>balancer</strong> byl právě odemčen - Může být použít pro stavbu větších továren díky tomu, že <strong>rozřazuje</strong> tvary mezi dva pásy!<br><br>
|
||||
|
||||
reward_tunnel:
|
||||
title: Tunel
|
||||
desc: <strong>Tunel</strong> byl právě odemčen - Umožňuje vézt suroviny pod budovami a pásy.
|
||||
|
||||
reward_rotater_ccw:
|
||||
title: Otáčení II
|
||||
desc: Odemknuli jste variantu <strong>rotoru</strong> - Umožňuje vám otáčet proti směru hodinových ručiček. Vyberte rotor a <strong>zmáčkněte 'T' pro přepnutí mezi variantami</strong>!
|
||||
|
||||
reward_miner_chainable:
|
||||
title: Napojovací extraktor
|
||||
desc: Odemknuli jste variantu <strong>extraktoru</strong>! Může <strong>přesměrovat vytěžené zdroje</strong> do dalších extraktorů pro efektivnější těžbu!
|
||||
|
||||
reward_underground_belt_tier_2:
|
||||
title: Tunel II. úrovně
|
||||
desc: Odemknuli jste <strong>tunel II. úrovně</strong> - Má <strong>delší dosah</strong> a také můžete nyní míchat tunely dohromady!
|
||||
|
||||
reward_splitter_compact:
|
||||
title: Kompaktní spojka
|
||||
desc: >-
|
||||
Odemknuli jste variantu <strong>balanceru</strong> - Spojuje dva pásy do jednoho!
|
||||
|
||||
reward_cutter_quad:
|
||||
title: Řezání na čtvrtiny
|
||||
desc: Odemknuli jste variantu <strong>pily</strong> - Rozebírač vám umožňuje rozdělit tvary <strong> na čtvrtiny</strong> místo na poloviny!
|
||||
|
||||
reward_painter_double:
|
||||
title: Dvojité barvení
|
||||
desc: Odemknuli jste variantu <strong>barviče</strong> - Funguje stejně jako normální, ale nabarví <strong>dva tvary naráz</strong> pomocí jedné barvy!
|
||||
|
||||
reward_painter_quad:
|
||||
title: Quad Painting
|
||||
desc: Odemknuli jste variantu <strong>painter</strong> - Umožní vám nabarvit každou čtvrtinu tvaru jinou barvou!
|
||||
|
||||
reward_storage:
|
||||
title: Sklad
|
||||
desc: Odemknuli jste variantu <strong>koše</strong> - Umožňuje vám skladovat věci až do určité kapacity!
|
||||
|
||||
reward_freeplay:
|
||||
title: Volná hra
|
||||
desc: Dokázali jste to! Odemknuli jste <strong>volnou hru</strong>! Další tvary jsou již náhodně generované! (pro plnou verzi plánujeme více obsahu!)
|
||||
|
||||
reward_blueprints:
|
||||
title: Plány
|
||||
desc: Nyní můžete <strong>kopírovat a vkládat</strong> části továrny! Vyberte oblast (Držte CTRL a táhněte myší) a zmáčkněte 'C' pro zkopírování.<br><br>Vkládání <strong>není zadarmo</strong>, potřebujete produkovat <strong>tvary pro plány</strong> na výstavbu! (Jsou to ty které jste právě dodali).
|
||||
|
||||
# Special reward, which is shown when there is no reward actually
|
||||
no_reward:
|
||||
title: Další úroveň
|
||||
desc: >-
|
||||
Tato úroveň vám nic neodemknula, ale s další to přijde! <br><br> PS: Radši neničte vaše stávající továrny - budete potřebovat <strong>všechny</strong> produkované tvary později na <strong>odemčení vylepšení</strong>!
|
||||
|
||||
no_reward_freeplay:
|
||||
title: Další úroveň
|
||||
desc: >-
|
||||
Gratuluji! Mimochodem, více obsahu najdete v plné verzi!
|
||||
|
||||
settings:
|
||||
title: Nastavení
|
||||
categories:
|
||||
game: Hra
|
||||
app: Aplikace
|
||||
|
||||
versionBadges:
|
||||
dev: Vývojová verze
|
||||
staging: Testovací verze
|
||||
prod: Produkční verze
|
||||
buildDate: Sestaveno <at-date>
|
||||
|
||||
labels:
|
||||
uiScale:
|
||||
title: Škála UI
|
||||
description: >-
|
||||
Změní velikost uživatelského rozhraní. Rozhraní se bude stále přizpůsobovoat rozlišení vaší obrazovky, toto nastavení pouze mění jeho škálu.
|
||||
scales:
|
||||
super_small: Velmi malé
|
||||
small: Malé
|
||||
regular: Normální
|
||||
large: Velké
|
||||
huge: Obrovské
|
||||
|
||||
scrollWheelSensitivity:
|
||||
title: Citlivost přibížení
|
||||
description: >-
|
||||
Změní citlivost přiblížení (kolečkem myši nebo trackpadem).
|
||||
sensitivity:
|
||||
super_slow: Hodně pomalé
|
||||
slow: Pomalé
|
||||
regular: Normální
|
||||
fast: Rychlé
|
||||
super_fast: Hodně rychlé
|
||||
|
||||
language:
|
||||
title: Jazyk
|
||||
description: >-
|
||||
Změní jazyk. Všechny překlady jsou vytvářeny komunitou a nemusí být kompletní.
|
||||
|
||||
fullscreen:
|
||||
title: Celá obrazovka
|
||||
description: >-
|
||||
Doporučujeme hrát v režimu celé obrazovky pro nejlepší zážitek. Dostupné pouze v plné verzi.
|
||||
|
||||
soundsMuted:
|
||||
title: Ztlumit zvuky
|
||||
description: >-
|
||||
Ztlumí všechny zvuky.
|
||||
|
||||
musicMuted:
|
||||
title: Ztlumit hudbu
|
||||
description: >-
|
||||
Ztlumí veškerou hudbu.
|
||||
|
||||
theme:
|
||||
title: Motiv
|
||||
description: >-
|
||||
Vybere motiv (světlý / tmavý).
|
||||
|
||||
themes:
|
||||
dark: Dark
|
||||
light: Light
|
||||
|
||||
refreshRate:
|
||||
title: Cíl simulace
|
||||
description: >-
|
||||
Pokud máte 144 Hz monitor, změňte si rychlost obnovování obrazu. Toto nastavení může snížit FPS, pokud máte pomalý počítač.
|
||||
|
||||
alwaysMultiplace:
|
||||
title: Několikanásobné pokládání
|
||||
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 SHIFT.
|
||||
|
||||
offerHints:
|
||||
title: Tipy & Nápovědy
|
||||
description: >-
|
||||
Pokud zapnuté, budou se ve hře zobrazovat tipy a nápovědy. Také schová určité elementy na obrazovce pro jednodušší dostání se do hry.
|
||||
|
||||
movementSpeed:
|
||||
title: Movement speed
|
||||
description: Changes how fast the view moves when using the keyboard.
|
||||
speeds:
|
||||
super_slow: Super slow
|
||||
slow: Slow
|
||||
regular: Regular
|
||||
fast: Fast
|
||||
super_fast: Super Fast
|
||||
extremely_fast: Extremely Fast
|
||||
|
||||
keybindings:
|
||||
title: Klávesové zkratky
|
||||
hint: >-
|
||||
Tip: Nezapomeňte používat CTRL, SHIFT a ALT! Díky nim můžete měnit způsob stavění.
|
||||
|
||||
resetKeybindings: Resetovat nastavení klávesových zkratek
|
||||
|
||||
categoryLabels:
|
||||
general: Aplikace
|
||||
ingame: Hra
|
||||
navigation: Posun mapy
|
||||
placement: Stavba
|
||||
massSelect: Hromadný výběr
|
||||
buildings: Zkratky pro stavbu
|
||||
placementModifiers: Modifikátory umístění
|
||||
|
||||
mappings:
|
||||
confirm: Potvrdit
|
||||
back: Zpět
|
||||
mapMoveUp: Posun nahoru
|
||||
mapMoveRight: Posun doprava
|
||||
mapMoveDown: Posun dolů
|
||||
mapMoveLeft: Posun doleva
|
||||
centerMap: Vycentrovat mapu
|
||||
|
||||
mapZoomIn: Přiblížit
|
||||
mapZoomOut: Oddálit
|
||||
createMarker: Vytvořit značku
|
||||
|
||||
menuOpenShop: Vylepšení
|
||||
menuOpenStats: Statistiky
|
||||
|
||||
toggleHud: Přepnout HUD
|
||||
toggleFPSInfo: Přepnout zobrazení FPS a ladících informací
|
||||
belt: *belt
|
||||
splitter: *splitter
|
||||
underground_belt: *underground_belt
|
||||
miner: *miner
|
||||
cutter: *cutter
|
||||
rotater: *rotater
|
||||
stacker: *stacker
|
||||
mixer: *mixer
|
||||
painter: *painter
|
||||
trash: *trash
|
||||
|
||||
abortBuildingPlacement: Zrušit stavbu
|
||||
rotateWhilePlacing: Otočit
|
||||
rotateInverseModifier: >-
|
||||
Modifikátor: Otočit proti směru hodinových ručiček
|
||||
cycleBuildingVariants: Změnit variantu
|
||||
confirmMassDelete: Potvrdit hromadné smazání
|
||||
cycleBuildings: Změnit budovu
|
||||
|
||||
massSelectStart: Držte a táhněte pro vybrání oblasti
|
||||
massSelectSelectMultiple: Vybrat více oblastí
|
||||
massSelectCopy: Zkopírovat oblast
|
||||
|
||||
placementDisableAutoOrientation: Zrušit automatickou orientaci
|
||||
placeMultiple: Zůstat ve stavebním módu
|
||||
placeInverse: Přepnout automatickou orientaci pásů
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
massSelectCut: Cut area
|
||||
exportScreenshot: Export whole Base as Image
|
||||
|
||||
about:
|
||||
title: O hře
|
||||
body: >-
|
||||
This game is open source and developed by <a href="https://github.com/tobspr"
|
||||
target="_blank">Tobias Springer</a> (this is me).<br><br>
|
||||
|
||||
If you want to contribute, check out <a href="<githublink>"
|
||||
target="_blank">shapez.io on github</a>.<br><br>
|
||||
|
||||
This game wouldn't have been possible without the great discord community
|
||||
around my games - You should really join the <a href="<discordlink>"
|
||||
target="_blank">discord server</a>!<br><br>
|
||||
|
||||
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius"
|
||||
target="_blank">Peppsen</a> - He's awesome.<br><br>
|
||||
|
||||
Finally, huge thanks to my best friend <a
|
||||
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Without our
|
||||
factorio sessions this game would never have existed.
|
||||
|
||||
changelog:
|
||||
title: Seznam změn
|
||||
|
||||
demo:
|
||||
features:
|
||||
restoringGames: Nahrávání uložených her
|
||||
importingGames: Importování uložených her
|
||||
oneGameLimit: Omezeno pouze na jednu uloženou hru
|
||||
customizeKeybindings: Změna klávesových zkratek
|
||||
exportingBase: Exporting whole Base as Image
|
||||
|
||||
settingNotAvailable: Nedostupné v demo verzi.
|
||||
@ -21,7 +21,7 @@
|
||||
|
||||
steamPage:
|
||||
# This is the short text appearing on the steam page
|
||||
shortText: shapez.io is a game about building factories to automate the creation and combination of increasingly complex shapes within an infinite map.
|
||||
shortText: shapez.io ist ein Spiel über den Bau von Fabriken, um die Erstellung und Kombination immer komplexerer Formen zu automatisieren.
|
||||
|
||||
# This is the long description for the steam page - It is contained here so you can help to translate it, and I will regulary update the store page.
|
||||
# NOTICE:
|
||||
@ -30,42 +30,41 @@ steamPage:
|
||||
longText: >-
|
||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
||||
|
||||
shapez.io is a game about building factories to automate the creation and combination of shapes. Deliver the requested, increasingly complex shapes to progress within the game and unlock upgrades to speed up your factory.
|
||||
shapez.io ist ein Spiel über den Bau von Fabriken um die Erstellung und Kombination von Formen zu automatisieren. Liefere die gewünschten, stetig komplexer werdenden Formen, um im Spiel voranzukommen und schalte Upgrades frei, die deine Fabrik zu beschleunigen!
|
||||
|
||||
Since the demand raises you will have to scale up your factory to fit the needs - Don't forget about resources though, you will have to expand in the [b]infinite map[/b]!
|
||||
Da die Nachfrage steigt, wirst du deine Fabrik vergrößern müssen, um den Bedürfnissen gerecht zu werden - vergiss jedoch nicht die Ressourcen, du wirst in der [b]unendlichen Karte[/b] expandieren müssen!
|
||||
|
||||
Since shapes can get boring soon you need to mix colors and paint your shapes with it - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
|
||||
Da Formen natürlich langweilig werden können, musst du Farben mischen und deine Formen damit bemalen - Kombiniere rote, grüne und blaue Farbressourcen, um verschiedene Farben herzustellen und Formen damit zu bemalen, um die Nachfrage zu befriedigen.
|
||||
|
||||
This game features 18 levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
Dieses Spiel hat 18 verschiedene Level (Was dich schon Stunden beschäftig hält!) aber ich werde konstant neue Inhalte hinzufügen - Es ist echt viel geplant!
|
||||
|
||||
|
||||
[b]Standalone Advantages[/b]
|
||||
[b]Vorteile der Standalone[/b]
|
||||
|
||||
[list]
|
||||
[*] Wegpunkte
|
||||
[*] Unbegrenzte Anzahl von Spielständen
|
||||
[*] Dunkler Modus
|
||||
[*] Dark-Mode
|
||||
[*] Mehr Einstellungen
|
||||
[*] Erlaube es mir weiter an shapez.io zu entwickeln ❤️
|
||||
[*] Mehr Funktionen in der Zukunft!
|
||||
[/list]
|
||||
|
||||
[b]Geplante Funktionen & Community vorschläge[/b]
|
||||
[b]Geplante Funktionen & Community Vorschläge[/b]
|
||||
|
||||
Diese Spiel ist open source - Jeder kann dazu beitragen! Abgesehen davon höre ich [b]sehr viel[/b] auf die Community! Ich versuche alle vorschläge zu lesen und soviel feedback einzubeziehen wie nur möglich.
|
||||
Diese Spiel ist open source - Jeder kann dazu beitragen! Abgesehen davon höre ich auf die Community! Ich versuche alle Vorschläge zu lesen und so viel Feedback einzubeziehen wie nur möglich.
|
||||
|
||||
[list]
|
||||
[*] Story-Modus, in dem Gebäude Formen kosten
|
||||
[*] Mehr Gebäude und Levels (nur in der einzelstehenden Version)
|
||||
[*] Mehr Karten und villeicht auch Hindernisse auf diesen
|
||||
[*] Einstellbare Kartenerstellung (Ändere die Grösse und Anzahl von Resourcenflicken, Seed, und mehr)
|
||||
[*] Mehr Gebäude und Level (nur in der Standalone-Version)
|
||||
[*] Mehr Karten und vielleicht auch Hindernisse
|
||||
[*] Einstellbare Kartenerstellung (Ändere die Grösse und Anzahl von Ressourcenflecken, Seed, und mehr)
|
||||
[*] Mehr Typen von Formen
|
||||
[*] Mehr Performanceverbesserungen (Auch wenn das Spiel bereits ganz gut läuft)
|
||||
[*] Farbenblinder-Modus
|
||||
[*] Farbenblind-Modus
|
||||
[*] Und viel mehr!
|
||||
[/list]
|
||||
|
||||
Schau dir auch das Trello-board for alle Planungen an! https://trello.com/b/ISQncpJP/shapezio
|
||||
Schau dir auch das Trello-board für die komplette Planung an! https://trello.com/b/ISQncpJP/shapezio
|
||||
|
||||
global:
|
||||
loading: Laden
|
||||
@ -76,13 +75,13 @@ global:
|
||||
|
||||
# The suffix for large numbers, e.g. 1.3k, 400.2M, etc.
|
||||
suffix:
|
||||
thousands: k
|
||||
thousands: T
|
||||
millions: M
|
||||
billions: B
|
||||
trillions: T
|
||||
trillions: tr
|
||||
|
||||
# Shown for infinitely big numbers
|
||||
infinite: inf
|
||||
infinite: unend
|
||||
|
||||
time:
|
||||
# Used for formatting past time dates
|
||||
@ -98,23 +97,23 @@ global:
|
||||
# Short formats for times, e.g. '5h 23m'
|
||||
secondsShort: <seconds>s
|
||||
minutesAndSecondsShort: <minutes>m <seconds>s
|
||||
hoursAndMinutesShort: <hours>h <minutes>s
|
||||
hoursAndMinutesShort: <hours>h <minutes>m
|
||||
|
||||
xMinutes: <x> Minuten
|
||||
|
||||
keys:
|
||||
tab: TAB
|
||||
control: CTRL
|
||||
control: STRG
|
||||
alt: ALT
|
||||
escape: ESC
|
||||
shift: SHIFT
|
||||
shift: UMSCH
|
||||
space: LEER
|
||||
|
||||
demoBanners:
|
||||
# This is the "advertisement" shown in the main menu and other various places
|
||||
title: Demo Version
|
||||
intro: >-
|
||||
Kaufe die Standalone für alle Features!
|
||||
Kauf die Standalone für alle Features!
|
||||
|
||||
mainMenu:
|
||||
play: Spielen
|
||||
@ -133,7 +132,7 @@ mainMenu:
|
||||
contests:
|
||||
contest_01_03062020:
|
||||
title: "Contest #01"
|
||||
desc: Gewinne <strong>$25</strong> für dir beste Basis!
|
||||
desc: Gewinne <strong>$25</strong> für die beste Basis!
|
||||
longDesc: >-
|
||||
Um euch etwas zurückzugeben dachte ich, dass es eine coole Idee ist, wöchentliche Wettbewerbe durchzuführen!
|
||||
<br><br>
|
||||
@ -151,7 +150,8 @@ mainMenu:
|
||||
Ich freue mich deine tollen Kreationen zu sehen!
|
||||
|
||||
showInfo: Anschauen
|
||||
contestOver: Dieser Wettbewerb ist vorbei! Tritt dem discord server bei, um über neue Wettbewerbe informiert zu werden!
|
||||
contestOver: Dieser Wettbewerb ist vorbei! Tritt dem Discord Server bei, um über neue Wettbewerbe informiert zu werden!
|
||||
helpTranslate: Help translate!
|
||||
|
||||
dialogs:
|
||||
buttons:
|
||||
@ -170,7 +170,7 @@ dialogs:
|
||||
importSavegameError:
|
||||
title: Import Fehler
|
||||
text: >-
|
||||
Fehler beim Importieren deines Speicherstands:
|
||||
Fehler beim Importieren deines Spielstands:
|
||||
|
||||
importSavegameSuccess:
|
||||
title: Spielstand importieren
|
||||
@ -183,147 +183,143 @@ dialogs:
|
||||
Der Spielstand konnte nicht geladen werden.
|
||||
|
||||
confirmSavegameDelete:
|
||||
title: Confirm deletion
|
||||
title: Bestätige Löschen
|
||||
text: >-
|
||||
Are you sure you want to delete the game?
|
||||
Bist du sicher, dass du das Spiel löschen willst?
|
||||
|
||||
savegameDeletionError:
|
||||
title: Failed to delete
|
||||
title: Löschen gescheitert
|
||||
text: >-
|
||||
Failed to delete the savegame:
|
||||
Das Löschen des Spiels ist gescheitert:
|
||||
|
||||
restartRequired:
|
||||
title: Restart required
|
||||
title: Neustart benötigt
|
||||
text: >-
|
||||
You need to restart the game to apply the settings.
|
||||
Du muss das Spiel neu starten, um die Einstellungen anzuwenden
|
||||
|
||||
editKeybinding:
|
||||
title: Change Keybinding
|
||||
desc: Press the key or mouse button you want to assign, or escape to cancel.
|
||||
title: Ändere Tastenbelegung
|
||||
desc: Drücke die Taste oder Maustaste, die du vergeben willst, oder ESC um abzubrechen.
|
||||
|
||||
resetKeybindingsConfirmation:
|
||||
title: Reset keybindings
|
||||
desc: This will reset all keybindings to their default values. Please confirm.
|
||||
title: Tastenbelegung zurücksetzen
|
||||
desc: Das wird all deine Tastenbelegungen auf den Standard zurücksetzen. Bitte bestätige.
|
||||
|
||||
keybindingsResetOk:
|
||||
title: Keybindings reset
|
||||
desc: The keybindings have been reset to their respective defaults!
|
||||
title: Tastenbelegung zurückgesetzt
|
||||
desc: Die Tastenbelegung wurde auf den Standard zurückgesetzt!
|
||||
|
||||
featureRestriction:
|
||||
title: Demo Version
|
||||
desc: You tried to access a feature (<feature>) which is not available in the demo. Consider to get the standalone for the full experience!
|
||||
|
||||
saveNotPossibleInDemo:
|
||||
desc: Your game has been saved, but restoring it is only possible in the standalone version. Consider to get the standalone for the full experience!
|
||||
|
||||
leaveNotPossibleInDemo:
|
||||
title: Demo version
|
||||
desc: Your game has been saved, but you will not be able to restore it in the demo. Restoring your savegames is only possible in the full version. Are you sure?
|
||||
|
||||
newUpdate:
|
||||
title: Update available
|
||||
desc: There is an update for this game available, be sure to download it!
|
||||
desc: Du hast ein Feature probiert (<feature>), welches nicht in der Demo enthalten ist. Erwerbe die Standalone für das volle Erlebnis!
|
||||
|
||||
oneSavegameLimit:
|
||||
title: Limited savegames
|
||||
desc: You can only have one savegame at a time in the demo version. Please remove the existing one or get the standalone!
|
||||
title: Begrenzte Spielstände
|
||||
desc: Du kannst in der Demo nur einen Spielstand haben. Bitte lösche das Spiel oder hole dir die Standalone!
|
||||
|
||||
updateSummary:
|
||||
title: New update!
|
||||
title: Neues Update!
|
||||
desc: >-
|
||||
Here are the changes since you last played:
|
||||
|
||||
hintDescription:
|
||||
title: Tutorial
|
||||
desc: >-
|
||||
Whenever you need help or are stuck, check out the 'Show hint' button in the lower left and I'll give my best to help you!
|
||||
Hier sind die Änderungen, seit dem du das letzte Mal gespielt hast:
|
||||
|
||||
upgradesIntroduction:
|
||||
title: Unlock Upgrades
|
||||
title: Upgrades Freischalten
|
||||
desc: >-
|
||||
All shapes you produce can be used to unlock upgrades - <strong>Don't destroy your old factories!</strong>
|
||||
The upgrades tab can be found on the top right corner of the screen.
|
||||
Viele deiner Formen können noch benutzt werden, um Upgrades freizuschalten - <strong>Zerstöre deine alten Fabriken nicht!</strong>
|
||||
Den Upgrade Tab kannst du oben rechts im Bildschirm finden.
|
||||
|
||||
massDeleteConfirm:
|
||||
title: Confirm delete
|
||||
title: Bestätige Löschen
|
||||
desc: >-
|
||||
You are deleting a lot of buildings (<count> to be exact)! Are you sure you want to do this?
|
||||
Du löscht sehr viele Gebäude (<count> um genau zu sein)! Bist du dir sicher?
|
||||
|
||||
blueprintsNotUnlocked:
|
||||
title: Not unlocked yet
|
||||
title: Noch nicht freigeschaltet
|
||||
desc: >-
|
||||
Blueprints have not been unlocked yet! Complete more levels to unlock them.
|
||||
Blueprints werden erst in Level 12 freigeschalten!
|
||||
|
||||
keybindingsIntroduction:
|
||||
title: Useful keybindings
|
||||
title: Nützliche Tastenbelegung
|
||||
desc: >-
|
||||
This game has a lot of keybindings which make it easier to build big factories.
|
||||
Here are a few, but be sure to <strong>check out the keybindings</strong>!<br><br>
|
||||
<code class='keybinding'>CTRL</code> + Drag: Select area to copy / delete.<br>
|
||||
<code class='keybinding'>SHIFT</code>: Hold to place multiple of one building.<br>
|
||||
<code class='keybinding'>ALT</code>: Invert orientation of placed belts.<br>
|
||||
Dieses Spiel hat viele Tastenbelegungen, die es einfacher machen, Fabriken zu bauen.
|
||||
Hier sind ein paar, aber prüfe am besten die <strong>Tastenkürzel-Einstellungen</strong>!<br><br>
|
||||
<code class='keybinding'>STRG</code> + Ziehen: Wähle Areal aus.<br>
|
||||
<code class='keybinding'>UMSCH</code>: Halten, um mehrere Gebäude zu platzieren.<br>
|
||||
<code class='keybinding'>ALT</code>: Invertiere die Platzierung der Förderbänder.<br>
|
||||
|
||||
createMarker:
|
||||
title: New Marker
|
||||
desc: Give it a meaningful name
|
||||
title: Neuer Marker
|
||||
desc: Gib ihm einen sinnvollen Namen
|
||||
|
||||
markerDemoLimit:
|
||||
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
|
||||
desc: Du kannst nur 2 benutzerdefinierte Marker in der Demo benutzen. Hol dir die Standalone um unendlich viele Marker zu benutzen!
|
||||
massCutConfirm:
|
||||
title: Confirm cut
|
||||
desc: >-
|
||||
You are cutting a lot of buildings (<count> to be exact)! Are you sure you
|
||||
want to do this?
|
||||
|
||||
exportScreenshotWarning:
|
||||
title: Export screenshot
|
||||
desc: >-
|
||||
You requested to export your base as a screenshot. Please note that this can
|
||||
be quite slow for a big base and even crash your game!
|
||||
|
||||
ingame:
|
||||
# This is shown in the top left corner and displays useful keybindings in
|
||||
# every situation
|
||||
keybindingsOverlay:
|
||||
moveMap: Move
|
||||
selectBuildings: Select area
|
||||
stopPlacement: Stop placement
|
||||
rotateBuilding: Rotate building
|
||||
placeMultiple: Place multiple
|
||||
reverseOrientation: Reverse orientation
|
||||
disableAutoOrientation: Disable auto orientation
|
||||
toggleHud: Toggle HUD
|
||||
placeBuilding: Place building
|
||||
createMarker: Create Marker
|
||||
delete: Destroy
|
||||
moveMap: Bewegen
|
||||
selectBuildings: Wähle Areal
|
||||
stopPlacement: Stoppe Platzierung
|
||||
rotateBuilding: Rotiere Gebäude
|
||||
placeMultiple: Platziere Mehrere
|
||||
reverseOrientation: Umgedrehte Orientierung
|
||||
disableAutoOrientation: Deaktiviere Auto-Orientierung
|
||||
toggleHud: Umschaltung HUD Sichtbarkeit
|
||||
placeBuilding: Platziere Gebäude
|
||||
createMarker: Erstelle Marker
|
||||
delete: Löschen
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
|
||||
# Everything related to placing buildings (I.e. as soon as you selected a building
|
||||
# from the toolbar)
|
||||
buildingPlacement:
|
||||
# Buildings can have different variants which are unlocked at later levels,
|
||||
# and this is the hint shown when there are multiple variants available.
|
||||
cycleBuildingVariants: Press <key> to cycle variants.
|
||||
cycleBuildingVariants: Drücke <key> um zwischen den Varianten zu wählen.
|
||||
|
||||
# Shows the hotkey in the ui, e.g. "Hotkey: Q"
|
||||
hotkeyLabel: >-
|
||||
Hotkey: <key>
|
||||
Taste: <key>
|
||||
|
||||
infoTexts:
|
||||
speed: Speed
|
||||
range: Range
|
||||
storage: Storage
|
||||
oneItemPerSecond: 1 item / second
|
||||
itemsPerSecond: <x> items / s
|
||||
speed: Geschwindigkeit
|
||||
range: Reichweite
|
||||
storage: Kapazität
|
||||
oneItemPerSecond: 1 Item / Sekunde
|
||||
itemsPerSecond: <x> Items / s
|
||||
itemsPerSecondDouble: (x2)
|
||||
|
||||
tiles: <x> tiles
|
||||
tiles: <x> Felder
|
||||
|
||||
# The notification when completing a level
|
||||
levelCompleteNotification:
|
||||
# <level> is replaced by the actual level, so this gets 'Level 03' for example.
|
||||
levelTitle: Level <level>
|
||||
completed: Completed
|
||||
unlockText: Unlocked <reward>!
|
||||
buttonNextLevel: Next Level
|
||||
completed: Abgeschlossen
|
||||
unlockText: <reward> freigeschalten!
|
||||
buttonNextLevel: Nächstes Level
|
||||
|
||||
# Notifications on the lower right
|
||||
notifications:
|
||||
newUpgrade: A new upgrade is available!
|
||||
gameSaved: Your game has been saved.
|
||||
newUpgrade: Ein neues Upgrade ist verfügbar!
|
||||
gameSaved: Dein Spiel wurde gespeichert.
|
||||
|
||||
# Mass select information, this is when you hold CTRL and then drag with your mouse
|
||||
# to select multiple buildings
|
||||
massSelect:
|
||||
infoText: Press <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
infoText: Press <keyCut> to cut, <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
|
||||
# The "Upgrades" window
|
||||
shop:
|
||||
@ -331,204 +327,213 @@ ingame:
|
||||
buttonUnlock: Upgrade
|
||||
|
||||
# Gets replaced to e.g. "Tier IX"
|
||||
tier: Tier <x>
|
||||
tier: Level <x>
|
||||
|
||||
# The roman number for each tier
|
||||
tierLabels: [I, II, III, IV, V, VI, VII, VIII, IX, X]
|
||||
|
||||
maximumLevel: MAXIMUM LEVEL (Speed x<currentMult>)
|
||||
maximumLevel: MAXIMALES LEVEL (Geschw. x<currentMult>)
|
||||
|
||||
# The "Statistics" window
|
||||
statistics:
|
||||
title: Statistics
|
||||
title: Statistiken
|
||||
dataSources:
|
||||
stored:
|
||||
title: Stored
|
||||
description: Displaying amount of stored shapes in your central building.
|
||||
title: Gelagert
|
||||
description: Zeigt die Menge an Formen, die im zentralen Gebäude gelagert sind.
|
||||
produced:
|
||||
title: Produced
|
||||
description: Displaying all shapes your whole factory produces, including intermediate products.
|
||||
title: Produziert
|
||||
description: Zeigt die Menge an Formen, die deine ganze Fabrik produziert (auch Zwischenprodukte).
|
||||
delivered:
|
||||
title: Delivered
|
||||
description: Displaying shapes which are delivered to your central building.
|
||||
noShapesProduced: No shapes have been produced so far.
|
||||
title: Eingeliefert
|
||||
description: Zeigt die Menge an Formen, die ins zentrale Gebäude eingeliefert werden.
|
||||
noShapesProduced: Bisher wurden keine Formen produziert.
|
||||
|
||||
# Displays the shapes per minute, e.g. '523 / m'
|
||||
shapesPerMinute: <shapes> / m
|
||||
|
||||
# Settings menu, when you press "ESC"
|
||||
settingsMenu:
|
||||
playtime: Playtime
|
||||
playtime: Spielzeit
|
||||
|
||||
buildingsPlaced: Buildings
|
||||
beltsPlaced: Belts
|
||||
buildingsPlaced: Gebäude
|
||||
beltsPlaced: Förderbänder
|
||||
|
||||
buttons:
|
||||
continue: Continue
|
||||
settings: Settings
|
||||
menu: Return to menu
|
||||
continue: Weiter
|
||||
settings: Einstellungen
|
||||
menu: Zurück zum Menü
|
||||
|
||||
# Bottom left tutorial hints
|
||||
tutorialHints:
|
||||
title: Need help?
|
||||
showHint: Show hint
|
||||
hideHint: Close
|
||||
title: Brauchst du Hilfe?
|
||||
showHint: Hinweis
|
||||
hideHint: Schließen
|
||||
|
||||
# When placing a blueprint
|
||||
blueprintPlacer:
|
||||
cost: Cost
|
||||
cost: Kosten
|
||||
|
||||
# Map markers
|
||||
waypoints:
|
||||
waypoints: Markers
|
||||
waypoints: Markierungen
|
||||
hub: HUB
|
||||
description: Left-click a marker to jump to it, right-click to delete it.<br><br>Press <keybinding> to create a marker from the current view, or <strong>right-click</strong> to create a marker at the selected location.
|
||||
creationSuccessNotification: Marker has been created.
|
||||
description: Linksklick auf einen Marker um dort hinzugelangen, Rechts-Klick um ihn zu löschen.<br><br>Drücke <keybinding> um einen Marker aus deinem Blickwinkel zu erschaffen, oder <strong>Rechts-Klicke</strong> um einen Marker auf deiner ausgewählten Position zu erschaffen.
|
||||
creationSuccessNotification: Marker wurde erstellt.
|
||||
|
||||
# Interactive tutorial
|
||||
interactiveTutorial:
|
||||
title: Tutorial
|
||||
hints:
|
||||
1_1_extractor: Place an <strong>extractor</strong> on top of a <strong>circle shape</strong> to extract it!
|
||||
1_1_extractor: Platziere einen <strong>Extrahierer</strong> auf der <strong>Kreis-Form</strong> um sie zu extrahieren!
|
||||
1_2_conveyor: >-
|
||||
Connect the extractor with a <strong>conveyor belt</strong> to your hub!<br><br>Tip: <strong>Click and drag</strong> the belt with your mouse!
|
||||
Verbinde den Extrahierer mit einem <strong>Förderband</strong> und schließe ihn am zentralen Gebäude an!<br><br>Tipp: <strong>Drück und Ziehe</strong> das Förderband mit der Maus!
|
||||
|
||||
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.
|
||||
Dies ist <strong>KEIN</strong> Idle-Game! Baue mehr Extrahierer und Fördebänder, um das Ziel schneller zu erreichen.<br><br>Tipp: Halte <strong>UMSCH</strong>, um mehrere Gebäude zu platzieren und nutze <strong>R</strong> um sie zu rotieren.
|
||||
|
||||
# All shop upgrades
|
||||
shopUpgrades:
|
||||
belt:
|
||||
name: Belts, Distributor & Tunnels
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
name: Förderbänder, Verteiler & Tunnel
|
||||
description: Geschw. x<currentMult> → x<newMult>
|
||||
miner:
|
||||
name: Extraction
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
name: Extrahierer
|
||||
description: Geschw. x<currentMult> → x<newMult>
|
||||
processors:
|
||||
name: Cutting, Rotating & Stacking
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
name: Schneiden, Rotieren & Stapeln
|
||||
description: Geschw. x<currentMult> → x<newMult>
|
||||
painting:
|
||||
name: Mixing & Painting
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
name: Mischen & Färben
|
||||
description: Geschw. x<currentMult> → x<newMult>
|
||||
|
||||
# Buildings and their name / description
|
||||
buildings:
|
||||
belt:
|
||||
default:
|
||||
name: &belt Conveyor Belt
|
||||
description: Transports items, hold and drag to place multiple.
|
||||
name: &belt Förderband
|
||||
description: Transportiert Items, halte und ziehe um mehrere zu platzieren.
|
||||
|
||||
miner: # Internal name for the Extractor
|
||||
default:
|
||||
name: &miner Extractor
|
||||
description: Place over a shape or color to extract it.
|
||||
name: &miner Extrahierer
|
||||
description: Platziere in über einer Form oder Farbe um sie zu extrahieren.
|
||||
|
||||
chainable:
|
||||
name: Extractor (Chain)
|
||||
description: Place over a shape or color to extract it. Can be chained.
|
||||
name: Extrahierer (Kette)
|
||||
description: Platziere ihn auf einer Form oder Farbe um sie zu extrahieren. Kann verkettet werden.
|
||||
|
||||
underground_belt: # Internal name for the Tunnel
|
||||
default:
|
||||
name: &underground_belt Tunnel
|
||||
description: Allows to tunnel resources under buildings and belts.
|
||||
description: Erlaubt dir, Formen und Farbe unter Gebäuden und Förderbändern durchzuleiten.
|
||||
|
||||
tier2:
|
||||
name: Tunnel Tier II
|
||||
description: Allows to tunnel resources under buildings and belts.
|
||||
name: Tunnel Level II
|
||||
description: Erlaubt dir, Formen und Farbe unter Gebäuden und Förderbändern durchzuleiten.
|
||||
|
||||
splitter: # Internal name for the Balancer
|
||||
default:
|
||||
name: &splitter Balancer
|
||||
description: Multifunctional - Evenly distributes all inputs onto all outputs.
|
||||
name: &splitter Verteiler
|
||||
description: Multifunktional - Verteilt gleichmäßig vom Eingang auf den Ausgang.
|
||||
|
||||
compact:
|
||||
name: Merger (compact)
|
||||
description: Merges two conveyor belts into one.
|
||||
name: Kombinierer (Kompakt)
|
||||
description: Vereint zwei Förderbänder in eins.
|
||||
|
||||
compact-inverse:
|
||||
name: Merger (compact)
|
||||
description: Merges two conveyor belts into one.
|
||||
name: Kombinierer (Kompakt)
|
||||
description: Vereint zwei Förderbänder in eins.
|
||||
|
||||
cutter:
|
||||
default:
|
||||
name: &cutter Cutter
|
||||
description: Cuts shapes from top to bottom and outputs both halfs. <strong>If you use only one part, be sure to destroy the other part or it will stall!</strong>
|
||||
name: &cutter Zerschneider
|
||||
description: Zerschneidet Formen von oben nach unten. <strong>Benutze oder zerstöre beide Hälften, sonst verstopft die Maschine!</strong>
|
||||
quad:
|
||||
name: Cutter (Quad)
|
||||
description: Cuts shapes into four parts. <strong>If you use only one part, be sure to destroy the other part or it will stall!</strong>
|
||||
name: Zerschneider (4-fach)
|
||||
description: Zerschneidet Formen in vier Teile. <strong>Benutze oder zerstöre alle Viertel, sonst verstopft die Maschine!</strong>
|
||||
|
||||
rotater:
|
||||
default:
|
||||
name: &rotater Rotate
|
||||
description: Rotates shapes clockwise by 90 degrees.
|
||||
name: &rotater Rotierer
|
||||
description: Rotiert Formen im Uhrzeigersinn um 90 Grad.
|
||||
|
||||
ccw:
|
||||
name: Rotate (CCW)
|
||||
description: Rotates shapes counter clockwise by 90 degrees.
|
||||
|
||||
stacker:
|
||||
default:
|
||||
name: &stacker Stacker
|
||||
description: Stacks both items. If they can not be merged, the right item is placed above the left item.
|
||||
name: &stacker Stapler
|
||||
description: Stapelt beide Formen. Wenn beide nicht vereint werden können, wird die rechte Form auf die linke Form gestapelt.
|
||||
|
||||
mixer:
|
||||
default:
|
||||
name: &mixer Color Mixer
|
||||
description: Mixes two colors using additive blending.
|
||||
name: &mixer Farbmischer
|
||||
description: Mischt zwei Farben auf Basis der additiven Farbmischung.
|
||||
|
||||
painter:
|
||||
default:
|
||||
name: &painter Painter
|
||||
description: Colors the whole shape on the left input with the color from the right input.
|
||||
name: &painter Färber
|
||||
description: Färbt die ganze Form aus dem linken Eingang mit der Farbe aus dem oberen Eingang.
|
||||
|
||||
double:
|
||||
name: Painter (Double)
|
||||
description: Colors the shapes on the left inputs with the color from the top input.
|
||||
name: Färber (2-Fach)
|
||||
description: Färbt die Formen aus dem linken Eingang mit der Farbe aus dem oberen Eingang.
|
||||
|
||||
quad:
|
||||
name: Painter (Quad)
|
||||
description: Allows to color each quadrant of the shape with a different color.
|
||||
name: Färber (4-Fach)
|
||||
description: Erlaubt jedes einzelne Viertel einer Form beliebig einzufärben.
|
||||
|
||||
trash:
|
||||
default:
|
||||
name: &trash Trash
|
||||
description: Accepts inputs from all sides and destroys them. Forever.
|
||||
name: &trash Mülleimer
|
||||
description: Akzeptiert Formen und Farben aus jeder Richtung und zerstört sie. Für immer ...
|
||||
|
||||
storage:
|
||||
name: Storage
|
||||
description: Stores excess items, up to a given capacity. Can be used as an overflow gate.
|
||||
name: Lager
|
||||
description: Lagert den Überschuss, bis zu einer gegebenen Kapazität. Kann als Überlauftor agieren.
|
||||
|
||||
hub:
|
||||
deliver: Liefere
|
||||
toUnlock: >-
|
||||
Für folgende Belohnung:
|
||||
levelShortcut: LVL
|
||||
|
||||
storyRewards:
|
||||
# Those are the rewards gained from completing the store
|
||||
reward_cutter_and_trash:
|
||||
title: Cutting Shapes
|
||||
desc: You just unlocked the <strong>cutter</strong> - it cuts shapes half from <strong>top to bottom</strong> regardless of its orientation!<br><br>Be sure to get rid of the waste, or otherwise <strong>it will stall</strong> - For this purpose I gave you a trash, which destroys everything you put into it!
|
||||
title: Formen zerschneiden
|
||||
desc: Du hast den <strong>Zerschneider</strong> freigeschaltet! - Er zerschneidet Formen von <strong>oben nach unten</strong> unabhängig von ihrer Orientierung!<br><br>Stelle sicher, dass du den Abfall loswirst, sonst <strong>verstopft die Maschine</strong>! - Dafür habe ich dir extra einen Mülleimer freigeschalten.
|
||||
|
||||
reward_rotater:
|
||||
title: Rotating
|
||||
desc: The <strong>rotater</strong> has been unlocked! It rotates shapes clockwise by 90 degrees.
|
||||
title: Rotieren
|
||||
desc: Der <strong>Rotierer</strong> wurde freigeschaltet! Er rotiert Formen im Uhrzeigersinn um 90 Grad!
|
||||
|
||||
reward_painter:
|
||||
title: Painting
|
||||
title: Färben
|
||||
desc: >-
|
||||
The <strong>painter</strong> has been unlocked - Extract some color veins (just as you do with shapes) and combine it with a shape in the painter to color them!<br><br>PS: If you are colorblind, I'm working on a solution already!
|
||||
Der <strong>Färber</strong> wurde freigeschaltet! Extrahiere ein paar Farben (genauso wie die Formen) und lasse sie vom Färber bemalen!<br><br>PS: Falls du farbenblind bist: Ich arbeite bereits an einer Lösung!
|
||||
|
||||
reward_mixer:
|
||||
title: Color Mixing
|
||||
desc: The <strong>mixer</strong> has been unlocked - Combine two colors using <strong>additive blending</strong> with this building!
|
||||
title: Farben mischen
|
||||
desc: Der <strong>Farbmischer</strong> wurde freigeschaltet! Kombiniere mit diesem Gebäude zwei Farben getreu der <strong>additiven Farbmischung</strong>!
|
||||
|
||||
reward_stacker:
|
||||
title: Combiner
|
||||
desc: You can now combine shapes with the <strong>combiner</strong>! Both inputs are combined, and if they can be put next to each other, they will be <strong>fused</strong>. If not, the right input is <strong>stacked on top</strong> of the left input!
|
||||
title: Stapler
|
||||
desc: Mit dem <strong>Stapler</strong> kannst du nun Formen kombinieren! Passen sie nebeneinander, werden sie <strong>verschmolzen</strong>. Anderenfalls wird die rechte auf die linke Form <strong>gestapelt</strong>!
|
||||
|
||||
reward_splitter:
|
||||
title: Splitter/Merger
|
||||
desc: The multifunctional <strong>balancer</strong> has been unlocked - It can be used to build bigger factories by <strong>splitting and merging items</strong> onto multiple belts!<br><br>
|
||||
title: Verteiler/Kombinierer
|
||||
desc: Der multifunktionale <strong>Verteiler</strong> wurde freigeschaltet! Er ermöglicht die Konstruktion größerer Fabriken, indem er Items auf mehrere Förderbänder <strong>verteilt oder diese zusammenführt</strong>!<br><br>
|
||||
|
||||
reward_tunnel:
|
||||
title: Tunnel
|
||||
desc: The <strong>tunnel</strong> has been unlocked - You can now pipe items through belts and buildings with it!
|
||||
desc: Der <strong>Tunnel</strong> wurde freigeschaltet! Du kannst Items nun unter Gebäuden oder Förderbändern hindurchleiten!
|
||||
|
||||
reward_rotater_ccw:
|
||||
title: CCW Rotating
|
||||
desc: You have unlocked a variant of the <strong>rotater</strong> - It allows to rotate counter clockwise! To build it, select the rotater and <strong>press 'T' to cycle its variants</strong>!
|
||||
title: GdUZ Rotieren
|
||||
desc: Du hast eine zweite Variante des <strong>Rotierers</strong> freigeschaltet! Damit können Items gegen den Uhrzeigensinn gedreht werden. Wähle den Rotierer aus und <strong>drücke 'T', um auf verschiedene Varianten zuzugreifen</strong>!
|
||||
|
||||
reward_miner_chainable:
|
||||
title: Chaining Extractor
|
||||
@ -579,94 +584,113 @@ storyRewards:
|
||||
Congratulations! By the way, more content is planned for the standalone!
|
||||
|
||||
settings:
|
||||
title: Settings
|
||||
title: Einstellungen
|
||||
categories:
|
||||
game: Game
|
||||
app: Application
|
||||
game: Spiel
|
||||
app: Applikation
|
||||
|
||||
versionBadges:
|
||||
dev: Development
|
||||
staging: Staging
|
||||
prod: Production
|
||||
buildDate: Built <at-date>
|
||||
dev: Entwicklung
|
||||
staging: Beta
|
||||
prod: Produktion
|
||||
buildDate: Gebaut <at-date>
|
||||
|
||||
labels:
|
||||
uiScale:
|
||||
title: Interface scale
|
||||
title: HUD Größe
|
||||
description: >-
|
||||
Changes the size of the user interface. The interface will still scale based on your device resolution, but this setting controls the amount of scale.
|
||||
Ändert die Größe der Benutzeroberfläche, basierend auf der Bildschirmauflösung.
|
||||
scales:
|
||||
super_small: Super small
|
||||
small: Small
|
||||
regular: Regular
|
||||
large: Large
|
||||
huge: Huge
|
||||
super_small: Sehr klein
|
||||
small: Klein
|
||||
regular: Normal
|
||||
large: Groß
|
||||
huge: Riesig
|
||||
|
||||
scrollWheelSensitivity:
|
||||
title: Zoom sensitivity
|
||||
title: Zoomempfindlichkeit
|
||||
description: >-
|
||||
Changes how sensitive the zoom is (Either mouse wheel or trackpad).
|
||||
Ändert die Sensitivität des Zooms (Sowohl Mausrad, als auch Trackpad).
|
||||
sensitivity:
|
||||
super_slow: Sehr langsam
|
||||
slow: Langsam
|
||||
regular: Normal
|
||||
fast: Schnell
|
||||
super_fast: Sehr schnell
|
||||
|
||||
fullscreen:
|
||||
title: Vollbild
|
||||
description: >-
|
||||
Für das beste Erlebnis im Spiel wird der Vollbildmodus empfohlen (Nur in der Standalone-Version verfügbar).
|
||||
|
||||
soundsMuted:
|
||||
title: Geräusche stummschalten
|
||||
description: >-
|
||||
Bei Aktivierung werden alle Geräusche stummgeschaltet.
|
||||
|
||||
musicMuted:
|
||||
title: Musik stummschalten
|
||||
description: >-
|
||||
Bei Aktivierung wird die Musik stummgeschaltet.
|
||||
|
||||
theme:
|
||||
title: Farbmodus
|
||||
description: >-
|
||||
Wähle zwischen dunklem und hellem Farbmodus.
|
||||
|
||||
themes:
|
||||
dark: Dunkel
|
||||
light: Hell
|
||||
refreshRate:
|
||||
title: Zielbildwiederholrate
|
||||
description: >-
|
||||
Für z.B einen 144-Hz-Monitor kann die Bildwiederholrate hier korrekt eingestellt werden. Bei einem zu langsamen Computer kann dies die Leistung beeinträchtigen.
|
||||
|
||||
alwaysMultiplace:
|
||||
title: Mehrfachplatzierung
|
||||
description: >-
|
||||
Bei Aktivierung wird das platzierte Gebäude nicht abgewählt. Das hat den gleichen Effekt wie beim Platzieren permanent UMSCH gedrückt zu halten.
|
||||
|
||||
offerHints:
|
||||
title: Hinweise & Tutorials
|
||||
description: >-
|
||||
Schaltet Hinweise und das Tutorial beim Spielen an und aus. Außerdem werden zu den Levels bestimmte Textfelder versteckt, die den Einstieg erleichtern sollen.
|
||||
|
||||
language:
|
||||
title: Sprache
|
||||
description: >-
|
||||
Ändere die Sprache. Alle Übersetzungen werden von Nutzern erstellt und sind möglicherweise unvollständig!
|
||||
|
||||
movementSpeed:
|
||||
title: Movement speed
|
||||
description: Changes how fast the view moves when using the keyboard.
|
||||
speeds:
|
||||
super_slow: Super slow
|
||||
slow: Slow
|
||||
regular: Regular
|
||||
fast: Fast
|
||||
super_fast: Super fast
|
||||
|
||||
fullscreen:
|
||||
title: Fullscreen
|
||||
description: >-
|
||||
It is recommended to play the game in fullscreen to get the best experience. Only available in the standalone.
|
||||
|
||||
soundsMuted:
|
||||
title: Mute Sounds
|
||||
description: >-
|
||||
If enabled, mutes all sound effects.
|
||||
|
||||
musicMuted:
|
||||
title: Mute Music
|
||||
description: >-
|
||||
If enabled, mutes all music.
|
||||
|
||||
theme:
|
||||
title: Game theme
|
||||
description: >-
|
||||
Choose the game theme (light / dark).
|
||||
|
||||
refreshRate:
|
||||
title: Simulation Target
|
||||
description: >-
|
||||
If you have a 144hz monitor, change the refresh rate here so the game will properly simulate at higher refresh rates. This might actually decrease the FPS if your computer is too slow.
|
||||
|
||||
alwaysMultiplace:
|
||||
title: Multiplace
|
||||
description: >-
|
||||
If enabled, all buildings will stay selected after placement until you cancel it. This is equivalent to holding SHIFT permanently.
|
||||
|
||||
offerHints:
|
||||
title: Hints & Tutorials
|
||||
description: >-
|
||||
Whether to offer hints and tutorials while playing. Also hides certain UI elements onto a given level to make it easier to get into the game.
|
||||
super_fast: Super Fast
|
||||
extremely_fast: Extremely Fast
|
||||
|
||||
keybindings:
|
||||
title: Keybindings
|
||||
title: Tastenkürzel
|
||||
hint: >-
|
||||
Tip: Be sure to make use of CTRL, SHIFT and ALT! They enable different placement options.
|
||||
Tipp: Benutze STRG, UMSCH and ALT! Sie aktivieren verschiedene Platzierungsoptionen!
|
||||
|
||||
resetKeybindings: Reset Keyinbindings
|
||||
resetKeybindings: Tastenkürzel zurücksetzen.
|
||||
|
||||
categoryLabels:
|
||||
general: Application
|
||||
ingame: Game
|
||||
navigation: Navigating
|
||||
placement: Placement
|
||||
massSelect: Mass Select
|
||||
buildings: Building Shortcuts
|
||||
placementModifiers: Placement Modifiers
|
||||
general: Applikation
|
||||
ingame: Spiel
|
||||
navigation: Navigation
|
||||
placement: Platzierung
|
||||
massSelect: Bereichsauswahl
|
||||
buildings: Gebäude-Kürzel
|
||||
placementModifiers: Platzierungs-Modifikatoren
|
||||
|
||||
mappings:
|
||||
confirm: Confirm
|
||||
back: Back
|
||||
confirm: Bestätigen
|
||||
back: Zurück
|
||||
mapMoveUp: Move Up
|
||||
mapMoveRight: Move Right
|
||||
mapMoveDown: Move Down
|
||||
@ -708,18 +732,39 @@ keybindings:
|
||||
placementDisableAutoOrientation: Disable automatic orientation
|
||||
placeMultiple: Stay in placement mode
|
||||
placeInverse: Invert automatic belt orientation
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
massSelectCut: Cut area
|
||||
exportScreenshot: Export whole Base as Image
|
||||
|
||||
about:
|
||||
title: About this Game
|
||||
title: Über dieses Spiel
|
||||
body: >-
|
||||
This game is open source and developed by <a href="https://github.com/tobspr"
|
||||
target="_blank">Tobias Springer</a> (this is me).<br><br>
|
||||
|
||||
If you want to contribute, check out <a href="<githublink>"
|
||||
target="_blank">shapez.io on github</a>.<br><br>
|
||||
|
||||
This game wouldn't have been possible without the great discord community
|
||||
around my games - You should really join the <a href="<discordlink>"
|
||||
target="_blank">discord server</a>!<br><br>
|
||||
|
||||
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius"
|
||||
target="_blank">Peppsen</a> - He's awesome.<br><br>
|
||||
|
||||
Finally, huge thanks to my best friend <a
|
||||
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Without our
|
||||
factorio sessions this game would never have existed.
|
||||
|
||||
changelog:
|
||||
title: Changelog
|
||||
title: Änderungen
|
||||
|
||||
demo:
|
||||
features:
|
||||
restoringGames: Restoring savegames
|
||||
importingGames: Importing savegames
|
||||
oneGameLimit: Limited to one savegame
|
||||
customizeKeybindings: Customizing Keybindings
|
||||
restoringGames: Spiele wiederherstellen
|
||||
importingGames: Spiele importieren
|
||||
oneGameLimit: Beschränkt auf einen Spielstand
|
||||
customizeKeybindings: Tastenkürzel anpassen
|
||||
exportingBase: Exporting whole Base as Image
|
||||
|
||||
settingNotAvailable: Not available in the demo.
|
||||
settingNotAvailable: Nicht verfügbar in der Demo.
|
||||
|
||||
@ -36,7 +36,7 @@ steamPage:
|
||||
|
||||
Since shapes can get boring soon you need to mix colors and paint your shapes with it - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
|
||||
|
||||
This game features 18 levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
This game features 18 levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
|
||||
|
||||
[b]Standalone Advantages[/b]
|
||||
@ -214,17 +214,6 @@ dialogs:
|
||||
title: Demo Version
|
||||
desc: You tried to access a feature (<feature>) which is not available in the demo. Consider to get the standalone for the full experience!
|
||||
|
||||
saveNotPossibleInDemo:
|
||||
desc: Your game has been saved, but restoring it is only possible in the standalone version. Consider to get the standalone for the full experience!
|
||||
|
||||
leaveNotPossibleInDemo:
|
||||
title: Demo version
|
||||
desc: Your game has been saved, but you will not be able to restore it in the demo. Restoring your savegames is only possible in the full version. Are you sure?
|
||||
|
||||
newUpdate:
|
||||
title: Update available
|
||||
desc: There is an update for this game available, be sure to download it!
|
||||
|
||||
oneSavegameLimit:
|
||||
title: Limited savegames
|
||||
desc: You can only have one savegame at a time in the demo version. Please remove the existing one or get the standalone!
|
||||
@ -234,11 +223,6 @@ dialogs:
|
||||
desc: >-
|
||||
Here are the changes since you last played:
|
||||
|
||||
hintDescription:
|
||||
title: Tutorial
|
||||
desc: >-
|
||||
Whenever you need help or are stuck, check out the 'Show hint' button in the lower left and I'll give my best to help you!
|
||||
|
||||
upgradesIntroduction:
|
||||
title: Unlock Upgrades
|
||||
desc: >-
|
||||
@ -270,6 +254,17 @@ dialogs:
|
||||
|
||||
markerDemoLimit:
|
||||
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
|
||||
massCutConfirm:
|
||||
title: Confirm cut
|
||||
desc: >-
|
||||
You are cutting a lot of buildings (<count> to be exact)! Are you sure you
|
||||
want to do this?
|
||||
|
||||
exportScreenshotWarning:
|
||||
title: Export screenshot
|
||||
desc: >-
|
||||
You requested to export your base as a screenshot. Please note that this can
|
||||
be quite slow for a big base and even crash your game!
|
||||
|
||||
ingame:
|
||||
# This is shown in the top left corner and displays useful keybindings in
|
||||
@ -286,6 +281,7 @@ ingame:
|
||||
placeBuilding: Place building
|
||||
createMarker: Create Marker
|
||||
delete: Destroy
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
|
||||
# Everything related to placing buildings (I.e. as soon as you selected a building
|
||||
# from the toolbar)
|
||||
@ -324,7 +320,7 @@ ingame:
|
||||
# Mass select information, this is when you hold CTRL and then drag with your mouse
|
||||
# to select multiple buildings
|
||||
massSelect:
|
||||
infoText: Press <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
infoText: Press <keyCut> to cut, <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
|
||||
# The "Upgrades" window
|
||||
shop:
|
||||
@ -496,6 +492,11 @@ buildings:
|
||||
name: Storage
|
||||
description: Stores excess items, up to a given capacity. Can be used as an overflow gate.
|
||||
|
||||
hub:
|
||||
deliver: Deliver
|
||||
toUnlock: to unlock
|
||||
levelShortcut: LVL
|
||||
|
||||
storyRewards:
|
||||
# Those are the rewards gained from completing the store
|
||||
reward_cutter_and_trash:
|
||||
@ -639,6 +640,10 @@ settings:
|
||||
description: >-
|
||||
Choose the game theme (light / dark).
|
||||
|
||||
themes:
|
||||
dark: Dark
|
||||
light: Light
|
||||
|
||||
refreshRate:
|
||||
title: Simulation Target
|
||||
description: >-
|
||||
@ -654,6 +659,17 @@ settings:
|
||||
description: >-
|
||||
Whether to offer hints and tutorials while playing. Also hides certain UI elements onto a given level to make it easier to get into the game.
|
||||
|
||||
movementSpeed:
|
||||
title: Movement speed
|
||||
description: Changes how fast the view moves when using the keyboard.
|
||||
speeds:
|
||||
super_slow: Super slow
|
||||
slow: Slow
|
||||
regular: Regular
|
||||
fast: Fast
|
||||
super_fast: Super Fast
|
||||
extremely_fast: Extremely Fast
|
||||
|
||||
keybindings:
|
||||
title: Keybindings
|
||||
hint: >-
|
||||
@ -714,9 +730,29 @@ keybindings:
|
||||
placementDisableAutoOrientation: Disable automatic orientation
|
||||
placeMultiple: Stay in placement mode
|
||||
placeInverse: Invert automatic belt orientation
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
massSelectCut: Cut area
|
||||
exportScreenshot: Export whole Base as Image
|
||||
|
||||
about:
|
||||
title: About this Game
|
||||
body: >-
|
||||
This game is open source and developed by <a href="https://github.com/tobspr"
|
||||
target="_blank">Tobias Springer</a> (this is me).<br><br>
|
||||
|
||||
If you want to contribute, check out <a href="<githublink>"
|
||||
target="_blank">shapez.io on github</a>.<br><br>
|
||||
|
||||
This game wouldn't have been possible without the great discord community
|
||||
around my games - You should really join the <a href="<discordlink>"
|
||||
target="_blank">discord server</a>!<br><br>
|
||||
|
||||
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius"
|
||||
target="_blank">Peppsen</a> - He's awesome.<br><br>
|
||||
|
||||
Finally, huge thanks to my best friend <a
|
||||
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Without our
|
||||
factorio sessions this game would never have existed.
|
||||
|
||||
changelog:
|
||||
title: Changelog
|
||||
@ -727,5 +763,6 @@ demo:
|
||||
importingGames: Importing savegames
|
||||
oneGameLimit: Limited to one savegame
|
||||
customizeKeybindings: Customizing Keybindings
|
||||
exportingBase: Exporting whole Base as Image
|
||||
|
||||
settingNotAvailable: Not available in the demo.
|
||||
|
||||
@ -36,7 +36,7 @@ steamPage:
|
||||
|
||||
Since shapes can get boring soon you need to mix colors and paint your shapes with it - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
|
||||
|
||||
This game features 18 levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
This game features 18 levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
|
||||
|
||||
[b]Standalone Advantages[/b]
|
||||
@ -98,7 +98,7 @@ global:
|
||||
# Short formats for times, e.g. '5h 23m'
|
||||
secondsShort: <seconds>s
|
||||
minutesAndSecondsShort: <minutes>m <seconds>s
|
||||
hoursAndMinutesShort: <hours>h <minutes>s
|
||||
hoursAndMinutesShort: <hours>h <minutes>m
|
||||
|
||||
xMinutes: <x> minutes
|
||||
|
||||
@ -214,17 +214,6 @@ dialogs:
|
||||
title: Demo Version
|
||||
desc: You tried to access a feature (<feature>) which is not available in the demo. Consider to get the standalone for the full experience!
|
||||
|
||||
saveNotPossibleInDemo:
|
||||
desc: Your game has been saved, but restoring it is only possible in the standalone version. Consider to get the standalone for the full experience!
|
||||
|
||||
leaveNotPossibleInDemo:
|
||||
title: Demo version
|
||||
desc: Your game has been saved, but you will not be able to restore it in the demo. Restoring your savegames is only possible in the full version. Are you sure?
|
||||
|
||||
newUpdate:
|
||||
title: Update available
|
||||
desc: There is an update for this game available, be sure to download it!
|
||||
|
||||
oneSavegameLimit:
|
||||
title: Limited savegames
|
||||
desc: You can only have one savegame at a time in the demo version. Please remove the existing one or get the standalone!
|
||||
@ -234,11 +223,6 @@ dialogs:
|
||||
desc: >-
|
||||
Here are the changes since you last played:
|
||||
|
||||
hintDescription:
|
||||
title: Tutorial
|
||||
desc: >-
|
||||
Whenever you need help or are stuck, check out the 'Show hint' button in the lower left and I'll give my best to help you!
|
||||
|
||||
upgradesIntroduction:
|
||||
title: Unlock Upgrades
|
||||
desc: >-
|
||||
@ -250,17 +234,22 @@ dialogs:
|
||||
desc: >-
|
||||
You are deleting a lot of buildings (<count> to be exact)! Are you sure you want to do this?
|
||||
|
||||
massCutConfirm:
|
||||
title: Confirm cut
|
||||
desc: >-
|
||||
You are cutting a lot of buildings (<count> to be exact)! Are you sure you want to do this?
|
||||
|
||||
blueprintsNotUnlocked:
|
||||
title: Not unlocked yet
|
||||
desc: >-
|
||||
Blueprints have not been unlocked yet! Complete more levels to unlock them.
|
||||
Complete level 12 to unlock Blueprints!
|
||||
|
||||
keybindingsIntroduction:
|
||||
title: Useful keybindings
|
||||
desc: >-
|
||||
This game has a lot of keybindings which make it easier to build big factories.
|
||||
Here are a few, but be sure to <strong>check out the keybindings</strong>!<br><br>
|
||||
<code class='keybinding'>CTRL</code> + Drag: Select area to copy / delete.<br>
|
||||
<code class='keybinding'>CTRL</code> + Drag: Select an area.<br>
|
||||
<code class='keybinding'>SHIFT</code>: Hold to place multiple of one building.<br>
|
||||
<code class='keybinding'>ALT</code>: Invert orientation of placed belts.<br>
|
||||
|
||||
@ -271,6 +260,10 @@ dialogs:
|
||||
markerDemoLimit:
|
||||
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
|
||||
|
||||
exportScreenshotWarning:
|
||||
title: Export screenshot
|
||||
desc: You requested to export your base as a screenshot. Please note that this can be quite slow for a big base and even crash your game!
|
||||
|
||||
ingame:
|
||||
# This is shown in the top left corner and displays useful keybindings in
|
||||
# every situation
|
||||
@ -286,6 +279,7 @@ ingame:
|
||||
placeBuilding: Place building
|
||||
createMarker: Create Marker
|
||||
delete: Destroy
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
|
||||
# Everything related to placing buildings (I.e. as soon as you selected a building
|
||||
# from the toolbar)
|
||||
@ -324,7 +318,7 @@ ingame:
|
||||
# Mass select information, this is when you hold CTRL and then drag with your mouse
|
||||
# to select multiple buildings
|
||||
massSelect:
|
||||
infoText: Press <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
infoText: Press <keyCut> to cut, <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
|
||||
# The "Upgrades" window
|
||||
shop:
|
||||
@ -414,6 +408,11 @@ shopUpgrades:
|
||||
|
||||
# Buildings and their name / description
|
||||
buildings:
|
||||
hub:
|
||||
deliver: Deliver
|
||||
toUnlock: to unlock
|
||||
levelShortcut: LVL
|
||||
|
||||
belt:
|
||||
default:
|
||||
name: &belt Conveyor Belt
|
||||
@ -456,7 +455,7 @@ buildings:
|
||||
description: Cuts shapes from top to bottom and outputs both halfs. <strong>If you use only one part, be sure to destroy the other part or it will stall!</strong>
|
||||
quad:
|
||||
name: Cutter (Quad)
|
||||
description: Cuts shapes into four parts. <strong>If you use only one part, be sure to destroy the other part or it will stall!</strong>
|
||||
description: Cuts shapes into four parts. <strong>If you use only one part, be sure to destroy the other parts or it will stall!</strong>
|
||||
|
||||
rotater:
|
||||
default:
|
||||
@ -479,7 +478,7 @@ buildings:
|
||||
painter:
|
||||
default:
|
||||
name: &painter Painter
|
||||
description: Colors the whole shape on the left input with the color from the right input.
|
||||
description: Colors the whole shape on the left input with the color from the top input.
|
||||
double:
|
||||
name: Painter (Double)
|
||||
description: Colors the shapes on the left inputs with the color from the top input.
|
||||
@ -525,7 +524,7 @@ storyRewards:
|
||||
|
||||
reward_tunnel:
|
||||
title: Tunnel
|
||||
desc: The <strong>tunnel</strong> has been unlocked - You can now pipe items through belts and buildings with it!
|
||||
desc: The <strong>tunnel</strong> has been unlocked - You can now tunnel items through belts and buildings with it!
|
||||
|
||||
reward_rotater_ccw:
|
||||
title: CCW Rotating
|
||||
@ -614,6 +613,18 @@ settings:
|
||||
fast: Fast
|
||||
super_fast: Super fast
|
||||
|
||||
movementSpeed:
|
||||
title: Movement speed
|
||||
description: >-
|
||||
Changes how fast the view moves when using the keyboard.
|
||||
speeds:
|
||||
super_slow: Super slow
|
||||
slow: Slow
|
||||
regular: Regular
|
||||
fast: Fast
|
||||
super_fast: Super Fast
|
||||
extremely_fast: Extremely Fast
|
||||
|
||||
language:
|
||||
title: Language
|
||||
description: >-
|
||||
@ -638,6 +649,9 @@ settings:
|
||||
title: Game theme
|
||||
description: >-
|
||||
Choose the game theme (light / dark).
|
||||
themes:
|
||||
dark: Dark
|
||||
light: Light
|
||||
|
||||
refreshRate:
|
||||
title: Simulation Target
|
||||
@ -659,7 +673,7 @@ keybindings:
|
||||
hint: >-
|
||||
Tip: Be sure to make use of CTRL, SHIFT and ALT! They enable different placement options.
|
||||
|
||||
resetKeybindings: Reset Keyinbindings
|
||||
resetKeybindings: Reset Keybindings
|
||||
|
||||
categoryLabels:
|
||||
general: Application
|
||||
@ -688,6 +702,7 @@ keybindings:
|
||||
|
||||
toggleHud: Toggle HUD
|
||||
toggleFPSInfo: Toggle FPS and Debug Info
|
||||
exportScreenshot: Export whole Base as Image
|
||||
belt: *belt
|
||||
splitter: *splitter
|
||||
underground_belt: *underground_belt
|
||||
@ -705,11 +720,13 @@ keybindings:
|
||||
Modifier: Rotate CCW instead
|
||||
cycleBuildingVariants: Cycle Variants
|
||||
confirmMassDelete: Confirm Mass Delete
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
cycleBuildings: Cycle Buildings
|
||||
|
||||
massSelectStart: Hold and drag to start
|
||||
massSelectSelectMultiple: Select multiple areas
|
||||
massSelectCopy: Copy area
|
||||
massSelectCut: Cut area
|
||||
|
||||
placementDisableAutoOrientation: Disable automatic orientation
|
||||
placeMultiple: Stay in placement mode
|
||||
@ -717,6 +734,16 @@ keybindings:
|
||||
|
||||
about:
|
||||
title: About this Game
|
||||
body: >-
|
||||
This game is open source and developed by <a href="https://github.com/tobspr" target="_blank">Tobias Springer</a> (this is me).<br><br>
|
||||
|
||||
If you want to contribute, check out <a href="<githublink>" target="_blank">shapez.io on github</a>.<br><br>
|
||||
|
||||
This game wouldn't have been possible without the great discord community around my games - You should really join the <a href="<discordlink>" target="_blank">discord server</a>!<br><br>
|
||||
|
||||
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius" target="_blank">Peppsen</a> - He's awesome.<br><br>
|
||||
|
||||
Finally, huge thanks to my best friend <a href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Without our factorio sessions this game would never have existed.
|
||||
|
||||
changelog:
|
||||
title: Changelog
|
||||
@ -727,5 +754,6 @@ demo:
|
||||
importingGames: Importing savegames
|
||||
oneGameLimit: Limited to one savegame
|
||||
customizeKeybindings: Customizing Keybindings
|
||||
exportingBase: Exporting whole Base as Image
|
||||
|
||||
settingNotAvailable: Not available in the demo.
|
||||
|
||||
@ -99,7 +99,7 @@ global:
|
||||
# Short formats for times, e.g. '5h 23m'
|
||||
secondsShort: <seconds>s
|
||||
minutesAndSecondsShort: <minutes>m <seconds>s
|
||||
hoursAndMinutesShort: <hours>h <minutes>s
|
||||
hoursAndMinutesShort: <hours>h <minutes>m
|
||||
|
||||
xMinutes: <x> minutes
|
||||
|
||||
@ -123,6 +123,7 @@ mainMenu:
|
||||
importSavegame: Importer
|
||||
openSourceHint: Ce jeu est open source!
|
||||
discordLink: Serveur Discord officiel
|
||||
helpTranslate: Contribuez à la traduction !
|
||||
|
||||
# This is shown when using firefox and other browsers which are not supported.
|
||||
browserWarning: >-
|
||||
@ -214,17 +215,6 @@ dialogs:
|
||||
title: Version démo
|
||||
desc: Vous avez essayé d'accéder à la fonction (<feature>) qui n'est pas disponible dans la démo. Considérez l'achat de la version complète pour une expérience optimale!
|
||||
|
||||
saveNotPossibleInDemo:
|
||||
desc: Votre partie a été sauvegardée, mais la charger n'est possible que dans la version complète. Considérez son achat pour une expérience optimale!
|
||||
|
||||
leaveNotPossibleInDemo:
|
||||
title: Version démo
|
||||
desc: Votre partie a été sauvée mais nous ne pourrez pas la charger dans la démo. Charger les parties n'est disponible que dans la version complète. Etes-vous certain?
|
||||
|
||||
newUpdate:
|
||||
title: Mise-à-jour disponible
|
||||
desc: Une mise-à-jour est disponible pour ce jeu!
|
||||
|
||||
oneSavegameLimit:
|
||||
title: Sauvegardes limitées
|
||||
desc: Vous ne pouvez avoir qu'une seule sauvegarde en même temps dans la version démo. Merci de soit effacer l'actuelle ou de vous procurer la version complète!
|
||||
@ -234,11 +224,6 @@ dialogs:
|
||||
desc: >-
|
||||
Voici les modifications depuis votre dernière session:
|
||||
|
||||
hintDescription:
|
||||
title: Tutorial
|
||||
desc: >-
|
||||
Si vous avez besoin d'aide ou êtes coincé, vérifiez le bouton 'Aide' dans le coin inférieur gauche et j'essayerai de vous aider au mieux!
|
||||
|
||||
upgradesIntroduction:
|
||||
title: Débloquer les améliorations
|
||||
desc: >-
|
||||
@ -250,6 +235,12 @@ dialogs:
|
||||
desc: >-
|
||||
Vous allez supprimer pas mal de bâtiments (<count> pour être exact)! Etes vous certains de vouloir faire ça ?
|
||||
|
||||
massCutConfirm:
|
||||
title: Confirmer la coupure
|
||||
desc: >-
|
||||
Vous vous appretez à couper beaucoup de bâtiments (<count> pour être précis) ! Êtes-vous
|
||||
certains de vouloir faire ceci ?
|
||||
|
||||
blueprintsNotUnlocked:
|
||||
title: Pas encore débloqué
|
||||
desc: >-
|
||||
@ -271,6 +262,13 @@ dialogs:
|
||||
markerDemoLimit:
|
||||
desc: Vous ne pouvez créer que deux balises dans la démo. Achetez la version complète pour en faire tant que vous voulez !
|
||||
|
||||
exportScreenshotWarning:
|
||||
title: Exporter une capture d'écran
|
||||
desc: >-
|
||||
Vous avez demandé à exporter votre base sous la forme d'une capture d'écran. Soyez conscient
|
||||
que cela peut s'avérer relativement lent pour une grande base, voire même planter votre jeu !
|
||||
|
||||
|
||||
ingame:
|
||||
# This is shown in the top left corner and displays useful keybindings in
|
||||
# every situation
|
||||
@ -286,6 +284,7 @@ ingame:
|
||||
placeBuilding: Placer un bâtiment
|
||||
createMarker: Créer une balise
|
||||
delete: Supprimer
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
|
||||
# Everything related to placing buildings (I.e. as soon as you selected a building
|
||||
# from the toolbar)
|
||||
@ -324,7 +323,7 @@ ingame:
|
||||
# Mass select information, this is when you hold CTRL and then drag with your mouse
|
||||
# to select multiple buildings
|
||||
massSelect:
|
||||
infoText: Appuyez sur <keyCopy> pour copier, <keyDelete> pour supprimer et <keyCancel> pour annuler.
|
||||
infoText: Press <keyCut> to cut, <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
|
||||
# The "Upgrades" window
|
||||
shop:
|
||||
@ -336,8 +335,7 @@ ingame:
|
||||
|
||||
# The roman number for each tier
|
||||
tierLabels: [I, II, III, IV, V, VI, VII, VIII, IX, X]
|
||||
|
||||
maximumLevel: Niveau maximum
|
||||
maximumLevel: MAXIMUM LEVEL (Speed x<currentMult>)
|
||||
|
||||
# The "Statistics" window
|
||||
statistics:
|
||||
@ -401,16 +399,19 @@ ingame:
|
||||
shopUpgrades:
|
||||
belt:
|
||||
name: Convoyeurs, Distributeurs et Tunnels
|
||||
description: Vitesse +<gain>%
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
|
||||
miner:
|
||||
name: Extraction
|
||||
description: Vitesse +<gain>%
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
|
||||
processors:
|
||||
name: Découpage, Rotation et Empilage
|
||||
description: Vitesse +<gain>%
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
|
||||
painting:
|
||||
name: Mélange et Peinture
|
||||
description: Vitesse +<gain>%
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
|
||||
# Buildings and their name / description
|
||||
buildings:
|
||||
@ -495,6 +496,10 @@ buildings:
|
||||
storage:
|
||||
name: Stockage
|
||||
description: Stocke les formes en trop jusqu'à une certaine capacité. Peut être utilisé comme tampon.
|
||||
hub:
|
||||
deliver: Deliver
|
||||
toUnlock: to unlock
|
||||
levelShortcut: LVL
|
||||
|
||||
storyRewards:
|
||||
# Those are the rewards gained from completing the store
|
||||
@ -519,8 +524,6 @@ storyRewards:
|
||||
title: Combineur
|
||||
desc: Vous pouvez maintenant combiner deux formes avec le <strong>combineur</strong> ! Les deux entrées sont combinée et si elles ne peuvent êtres mises l'une à côté de l'autre, elles sont <strong>fusionnées</strong>. Sinon, la forme de droite est <strong>placée au dessus</strong> de la forme de gauche après avoir été légèrement réduite.
|
||||
|
||||
# Suggestion from the translator: "après avoir été légèrement réduite" = "after having been slightly scaled down": I think this part of the explanation is missing in the original text, and I struggled a lot at the beginning to understand this important fact of mixing shapes.
|
||||
|
||||
reward_splitter:
|
||||
title: Distributeur/Rassembleur
|
||||
desc: Le <strong>répartiteur</strong> multifonctionnel a été débloqué - Il peut être utilisé pour construire de plus grandes usines en <strong>distribuant équitablement et rassemblant les formes</strong> entre plusieurs convoyeurs!<br><br>
|
||||
@ -576,9 +579,7 @@ storyRewards:
|
||||
no_reward:
|
||||
title: Niveau suivant
|
||||
desc: >-
|
||||
Ce niveau n'a pas de récompense mais le prochain, oui ! <br><br>PS: Vous ne devriez pas détruires votre usine actuelle - Vous aurez besoin de <strong>toutes</strong> ces formes plus tard pour <strong>débloquer des améliorations</strong>
|
||||
|
||||
# Question from the translator: Is the "desc: >-" syntaxically correct ?
|
||||
Ce niveau n'a pas de récompense mais le prochain, oui ! <br><br>PS: Vous ne devriez pas détruire votre usine actuelle - Vous aurez besoin de <strong>toutes</strong> ces formes plus tard pour <strong>débloquer des améliorations</strong>
|
||||
|
||||
no_reward_freeplay:
|
||||
title: Niveau suivant
|
||||
@ -640,6 +641,10 @@ settings:
|
||||
description: >-
|
||||
Choisissez votre thème (clair / sombre).
|
||||
|
||||
themes:
|
||||
dark: Dark
|
||||
light: Light
|
||||
|
||||
refreshRate:
|
||||
title: Fréquence de simulation
|
||||
description: >-
|
||||
@ -655,6 +660,23 @@ settings:
|
||||
description: >-
|
||||
Affiche ou non le bouton 'Afficher un indice' dans le coin inférieur gauche.
|
||||
|
||||
language:
|
||||
title: Language
|
||||
description: >-
|
||||
Change the language. All translations are user contributed and might be
|
||||
incomplete!
|
||||
|
||||
movementSpeed:
|
||||
title: Movement speed
|
||||
description: Changes how fast the view moves when using the keyboard.
|
||||
speeds:
|
||||
super_slow: Super slow
|
||||
slow: Slow
|
||||
regular: Regular
|
||||
fast: Fast
|
||||
super_fast: Super Fast
|
||||
extremely_fast: Extremely Fast
|
||||
|
||||
keybindings:
|
||||
title: Contrôles
|
||||
hint: >-
|
||||
@ -715,10 +737,30 @@ keybindings:
|
||||
placementDisableAutoOrientation: Désactiver l'orientation automatique
|
||||
placeMultiple: Rester en mode placement
|
||||
placeInverse: Inverser le mode d'orientation automatique
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
massSelectCut: Cut area
|
||||
exportScreenshot: Export whole Base as Image
|
||||
|
||||
about:
|
||||
title: À propos de ce jeu
|
||||
body: >-
|
||||
Ce jeu est open source et développé par <a href="https://github.com/tobspr"
|
||||
target="_blank">Tobias Springer</a> (c'est moi).<br><br>
|
||||
|
||||
Si vous souhaitez contribuer, allez voir <a href="<githublink>"
|
||||
target="_blank">shapez.io sur github</a>.<br><br>
|
||||
|
||||
Ce jeu n'aurait pu être réalisé sans la précieuse communauté discord autour de
|
||||
mes jeux - Vous devriez vraiment envisager de joindre le <a href="<discordlink>"
|
||||
target="_blank">serveur discord</a> !<br><br>
|
||||
|
||||
La bande son a été créée par <a href="https://soundcloud.com/pettersumelius"
|
||||
target="_blank">Peppsen</a> - Il est impressionnant.<br><br>
|
||||
|
||||
Pour terminer, un immense merci à mon meilleur amis <a
|
||||
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Sans nos
|
||||
sessions sur factorio, ce jeu n'aurait jamais existé.
|
||||
|
||||
changelog:
|
||||
title: Historique
|
||||
|
||||
@ -728,6 +770,7 @@ demo:
|
||||
importingGames: Importer des sauvegardes
|
||||
oneGameLimit: Limité à une sauvegarde
|
||||
customizeKeybindings: Personnalisation des contrôles
|
||||
exportingBase: Exporting whole Base as Image
|
||||
|
||||
settingNotAvailable: Indisponible dans la démo.
|
||||
#
|
||||
|
||||
767
translations/base-hu.yaml
Normal file
@ -0,0 +1,767 @@
|
||||
#
|
||||
# GAME TRANSLATIONS
|
||||
#
|
||||
# Contributing:
|
||||
#
|
||||
# If you want to contribute, please make a pull request on this respository
|
||||
# and I will have a look.
|
||||
#
|
||||
# Placeholders:
|
||||
#
|
||||
# Do *not* replace placeholders! Placeholders have a special syntax like
|
||||
# `Hotkey: <key>`. They are encapsulated within angle brackets. The correct
|
||||
# translation for this one in German for example would be: `Taste: <key>` (notice
|
||||
# how the placeholder stayed '<key>' and was not replaced!)
|
||||
#
|
||||
# Adding a new language:
|
||||
#
|
||||
# If you want to add a new language, ask me in the discord and I will setup
|
||||
# the basic structure so the game also detects it.
|
||||
#
|
||||
|
||||
steamPage:
|
||||
# This is the short text appearing on the steam page
|
||||
shortText: shapez.io is a game about building factories to automate the creation and combination of increasingly complex shapes within an infinite map.
|
||||
|
||||
# This is the long description for the steam page - It is contained here so you can help to translate it, and I will regulary update the store page.
|
||||
# NOTICE:
|
||||
# - Do not translate the first line (This is the gif image at the start of the store)
|
||||
# - Please keep the markup (Stuff like [b], [list] etc) in the same format
|
||||
longText: >-
|
||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
||||
|
||||
shapez.io is a game about building factories to automate the creation and combination of shapes. Deliver the requested, increasingly complex shapes to progress within the game and unlock upgrades to speed up your factory.
|
||||
|
||||
Since the demand raises you will have to scale up your factory to fit the needs - Don't forget about resources though, you will have to expand in the [b]infinite map[/b]!
|
||||
|
||||
Since shapes can get boring soon you need to mix colors and paint your shapes with it - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
|
||||
|
||||
This game features 18 levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
|
||||
|
||||
[b]Standalone Advantages[/b]
|
||||
|
||||
[list]
|
||||
[*] Waypoints
|
||||
[*] Végtelen mentések
|
||||
[*] Sötét Mód
|
||||
[*] Több beállítás
|
||||
[*] Lehetővé teszed, hogy tovább fejlesszem a shapez.io-t ❤️
|
||||
[*] More features in the future!
|
||||
[/list]
|
||||
|
||||
[b]Planned features & Community suggestions[/b]
|
||||
|
||||
Ez a játék nyílt forráskódú - Anybody can contribute! Besides of that, I listen [b]a lot[/b] to the community! I try to read all suggestions and take as much feedback into account as possible.
|
||||
|
||||
[list]
|
||||
[*] Sztori mód, ahol az épületek alakzatokba kerülnek
|
||||
[*] Több szint és épület (standalone exclusive)
|
||||
[*] Különböző térképek, és talán akadályok
|
||||
[*] Configurable map creation (Edit number and size of patches, seed, and more)
|
||||
[*] Sokkal több alakzat
|
||||
[*] More performance improvements (Bár a játék így is elég jól fut!)
|
||||
[*] Színvak mód
|
||||
[*] And much more!
|
||||
[/list]
|
||||
|
||||
Be sure to check out my trello board for the full roadmap! https://trello.com/b/ISQncpJP/shapezio
|
||||
|
||||
global:
|
||||
loading: Betöltés
|
||||
error: Hiba
|
||||
|
||||
# How big numbers are rendered, e.g. "10,000"
|
||||
thousandsDivider: ","
|
||||
|
||||
# The suffix for large numbers, e.g. 1.3k, 400.2M, etc.
|
||||
suffix:
|
||||
thousands: E
|
||||
millions: M
|
||||
billions: Mlrd
|
||||
trillions: T
|
||||
|
||||
# Shown for infinitely big numbers
|
||||
infinite: inf
|
||||
|
||||
time:
|
||||
# Used for formatting past time dates
|
||||
oneSecondAgo: egy másodperccel ezelőtt
|
||||
xSecondsAgo: <x> másodperccel ezelőtt
|
||||
oneMinuteAgo: egy perccel ezelőtt
|
||||
xMinutesAgo: <x> perccel ezelőtt
|
||||
oneHourAgo: egy órával ezelőtt
|
||||
xHoursAgo: <x> órával ezelőtt
|
||||
oneDayAgo: egy nappal ezelőtt
|
||||
xDaysAgo: <x> nappal ezelőtt
|
||||
|
||||
# Short formats for times, e.g. '5h 23m'
|
||||
secondsShort: <seconds>mp
|
||||
minutesAndSecondsShort: <minutes>p <seconds>mp
|
||||
hoursAndMinutesShort: <hours>ó <minutes>p
|
||||
|
||||
xMinutes: <x> perc
|
||||
|
||||
keys:
|
||||
tab: TAB
|
||||
control: CTRL
|
||||
alt: ALT
|
||||
escape: ESC
|
||||
shift: SHIFT
|
||||
space: SPACE
|
||||
|
||||
demoBanners:
|
||||
# This is the "advertisement" shown in the main menu and other various places
|
||||
title: Demó verzi
|
||||
intro: >-
|
||||
Get the standalone to unlock all features!
|
||||
|
||||
mainMenu:
|
||||
play: Játék
|
||||
changelog: Changelog
|
||||
importSavegame: Importálás
|
||||
openSourceHint: Ez a játék nyílt forráskódú!
|
||||
discordLink: Hivatalos Discord Szerver
|
||||
helpTranslate: Segíts a fordításban!
|
||||
|
||||
# This is shown when using firefox and other browsers which are not supported.
|
||||
browserWarning: >-
|
||||
Sorry, but the game is known to run slow on your browser! Get the standalone version or download chrome for the full experience.
|
||||
|
||||
savegameLevel: <x>. szint
|
||||
savegameLevelUnknown: Ismeretlen szint
|
||||
|
||||
contests:
|
||||
contest_01_03062020:
|
||||
title: "Contest #01"
|
||||
desc: Win <strong>$25</strong> for the coolest base!
|
||||
longDesc: >-
|
||||
To give something back to you, I thought it would be cool to make weekly contests!
|
||||
<br><br>
|
||||
<strong>This weeks topic:</strong> Build the coolest base!
|
||||
<br><br>
|
||||
Here's the deal:<br>
|
||||
<ul class="bucketList">
|
||||
<li>Submit a screenshot of your base to <strong>contest@shapez.io</strong></li>
|
||||
<li>Bonus points if you share it on social media!</li>
|
||||
<li>I will choose 5 screenshots and propose it to the <strong>discord</strong> community to vote.</li>
|
||||
<li>The winner gets <strong>$25</strong> (Paypal, Amazon Gift Card, whatever you prefer)</li>
|
||||
<li>Deadline: 07.06.2020 12:00 AM CEST</li>
|
||||
</ul>
|
||||
<br>
|
||||
I'm looking forward to seeing your awesome creations!
|
||||
|
||||
showInfo: View
|
||||
contestOver: This contest has ended - Join the discord to get noticed about new contests!
|
||||
|
||||
dialogs:
|
||||
buttons:
|
||||
ok: OK
|
||||
delete: Törlés
|
||||
cancel: Megszakítás
|
||||
later: Később
|
||||
restart: Újrakezdés
|
||||
reset: Visszaállítás
|
||||
getStandalone: Get Standalone
|
||||
deleteGame: Tudom mit csinálok
|
||||
viewUpdate: View Update
|
||||
showUpgrades: Show Upgrades
|
||||
showKeybindings: Show Keybindings
|
||||
|
||||
importSavegameError:
|
||||
title: Importálás Hiba
|
||||
text: >-
|
||||
Failed to import your savegame: Nem sikerült importálni a mentésed.
|
||||
|
||||
importSavegameSuccess:
|
||||
title: Mentés Importálva
|
||||
text: >-
|
||||
A mentésed sikeresen importálva lett.
|
||||
|
||||
gameLoadFailure:
|
||||
title: Game is broken
|
||||
text: >-
|
||||
Failed to load your savegame: Nem sikerült betölteni a mentésed
|
||||
|
||||
confirmSavegameDelete:
|
||||
title: Confirm deletion
|
||||
text: >-
|
||||
Biztos, hogy ki akarod törölni?
|
||||
|
||||
savegameDeletionError:
|
||||
title: Sikertelen törlés
|
||||
text: >-
|
||||
Failed to delete the savegame: Nem sikerült törölni a mentésed.
|
||||
|
||||
restartRequired:
|
||||
title: Újraindítás szükséges
|
||||
text: >-
|
||||
Újra kell indítanod a játékot, hogy életbe lépjenek a módosítások.
|
||||
|
||||
editKeybinding:
|
||||
title: Change Keybinding
|
||||
desc: Press the key or mouse button you want to assign, or escape to cancel.
|
||||
|
||||
resetKeybindingsConfirmation:
|
||||
title: Reset keybindings
|
||||
desc: This will reset all keybindings to their default values. Please confirm.
|
||||
|
||||
keybindingsResetOk:
|
||||
title: Keybindings reset
|
||||
desc: The keybindings have been reset to their respective defaults!
|
||||
|
||||
featureRestriction:
|
||||
title: Demo Version
|
||||
desc: You tried to access a feature (<feature>) which is not available in the demo. Consider to get the standalone for the full experience!
|
||||
|
||||
oneSavegameLimit:
|
||||
title: Limited savegames
|
||||
desc: You can only have one savegame at a time in the demo version. Please remove the existing one or get the standalone!
|
||||
|
||||
updateSummary:
|
||||
title: Új frissítés!
|
||||
desc: >-
|
||||
Here are the changes since you last played:
|
||||
|
||||
upgradesIntroduction:
|
||||
title: Unlock Upgrades
|
||||
desc: >-
|
||||
All shapes you produce can be used to unlock upgrades - <strong>Don't destroy your old factories!</strong>
|
||||
The upgrades tab can be found on the top right corner of the screen.
|
||||
|
||||
massDeleteConfirm:
|
||||
title: Confirm delete
|
||||
desc: >-
|
||||
You are deleting a lot of buildings (<count> to be exact)! Are you sure you want to do this?
|
||||
|
||||
blueprintsNotUnlocked:
|
||||
title: Még nincs feloldva
|
||||
desc: >-
|
||||
Blueprints have not been unlocked yet! Complete more levels to unlock them.
|
||||
|
||||
keybindingsIntroduction:
|
||||
title: Useful keybindings
|
||||
desc: >-
|
||||
This game has a lot of keybindings which make it easier to build big factories.
|
||||
Here are a few, but be sure to <strong>check out the keybindings</strong>!<br><br>
|
||||
<code class='keybinding'>CTRL</code> + Drag: Select area to copy / delete.<br>
|
||||
<code class='keybinding'>SHIFT</code>: Hold to place multiple of one building.<br>
|
||||
<code class='keybinding'>ALT</code>: Invert orientation of placed belts.<br>
|
||||
|
||||
createMarker:
|
||||
title: New Marker
|
||||
desc: Adj neki egy értelmes nevet
|
||||
|
||||
markerDemoLimit:
|
||||
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
|
||||
massCutConfirm:
|
||||
title: Confirm cut
|
||||
desc: >-
|
||||
You are cutting a lot of buildings (<count> to be exact)! Are you sure you
|
||||
want to do this?
|
||||
|
||||
exportScreenshotWarning:
|
||||
title: Export screenshot
|
||||
desc: >-
|
||||
You requested to export your base as a screenshot. Please note that this can
|
||||
be quite slow for a big base and even crash your game!
|
||||
|
||||
ingame:
|
||||
# This is shown in the top left corner and displays useful keybindings in
|
||||
# every situation
|
||||
keybindingsOverlay:
|
||||
moveMap: Move
|
||||
selectBuildings: Terület kijelölése
|
||||
stopPlacement: Stop placement
|
||||
rotateBuilding: Épület forgatása
|
||||
placeMultiple: Place multiple
|
||||
reverseOrientation: Reverse orientation
|
||||
disableAutoOrientation: Disable auto orientation
|
||||
toggleHud: Toggle HUD
|
||||
placeBuilding: Place building
|
||||
createMarker: Create Marker
|
||||
delete: Destroy
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
|
||||
# Everything related to placing buildings (I.e. as soon as you selected a building
|
||||
# from the toolbar)
|
||||
buildingPlacement:
|
||||
# Buildings can have different variants which are unlocked at later levels,
|
||||
# and this is the hint shown when there are multiple variants available.
|
||||
cycleBuildingVariants: Nyomd meg a <key>-t, hogy válts a variációk között.
|
||||
|
||||
# Shows the hotkey in the ui, e.g. "Hotkey: Q"
|
||||
hotkeyLabel: >-
|
||||
Hotkey: <key>
|
||||
|
||||
infoTexts:
|
||||
speed: Gyorsaság
|
||||
range: Range
|
||||
storage: Storage
|
||||
oneItemPerSecond: 1 tárgy / mp
|
||||
itemsPerSecond: <x> tárgy / mp
|
||||
itemsPerSecondDouble: (x2)
|
||||
|
||||
tiles: <x> tiles
|
||||
|
||||
# The notification when completing a level
|
||||
levelCompleteNotification:
|
||||
# <level> is replaced by the actual level, so this gets 'Level 03' for example.
|
||||
levelTitle: <level>. szint
|
||||
completed: Completed
|
||||
unlockText: Feloldva <reward>!
|
||||
buttonNextLevel: Következő Szint
|
||||
|
||||
# Notifications on the lower right
|
||||
notifications:
|
||||
newUpgrade: Egy új fejlesztés elérhető!
|
||||
gameSaved: A játékod el lett mentve.
|
||||
|
||||
# Mass select information, this is when you hold CTRL and then drag with your mouse
|
||||
# to select multiple buildings
|
||||
massSelect:
|
||||
infoText: Press <keyCut> to cut, <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
|
||||
# The "Upgrades" window
|
||||
shop:
|
||||
title: Fejlesztések
|
||||
buttonUnlock: Fejlesztés
|
||||
|
||||
# Gets replaced to e.g. "Tier IX"
|
||||
tier: Tier <x>
|
||||
|
||||
# The roman number for each tier
|
||||
tierLabels: [I, II, III, IV, V, VI, VII, VIII, IX, X]
|
||||
|
||||
maximumLevel: MAXIMUM LEVEL (Speed x<currentMult>)
|
||||
|
||||
# The "Statistics" window
|
||||
statistics:
|
||||
title: Statisztikák
|
||||
dataSources:
|
||||
stored:
|
||||
title: Tárolva
|
||||
description: Displaying amount of stored shapes in your central building.
|
||||
produced:
|
||||
title: Gyártva
|
||||
description: Displaying all shapes your whole factory produces, including intermediate products.
|
||||
delivered:
|
||||
title: Delivered
|
||||
description: Displaying shapes which are delivered to your central building.
|
||||
noShapesProduced: No shapes have been produced so far.
|
||||
|
||||
# Displays the shapes per minute, e.g. '523 / m'
|
||||
shapesPerMinute: <shapes> / p
|
||||
|
||||
# Settings menu, when you press "ESC"
|
||||
settingsMenu:
|
||||
playtime: Játékidő
|
||||
|
||||
buildingsPlaced: Épület
|
||||
beltsPlaced: Futószalag
|
||||
|
||||
buttons:
|
||||
continue: Folytatás
|
||||
settings: Beállítások
|
||||
menu: Vissza a menübe
|
||||
|
||||
# Bottom left tutorial hints
|
||||
tutorialHints:
|
||||
title: Segítségre van szükséged?
|
||||
showHint: Segítség mutatása
|
||||
hideHint: Bezárás
|
||||
|
||||
# When placing a blueprint
|
||||
blueprintPlacer:
|
||||
cost: Ár
|
||||
|
||||
# Map markers
|
||||
waypoints:
|
||||
waypoints: Markers
|
||||
hub: HUB
|
||||
description: Left-click a marker to jump to it, right-click to delete it.<br><br>Press <keybinding> to create a marker from the current view, or <strong>right-click</strong> to create a marker at the selected location.
|
||||
creationSuccessNotification: Marker has been created.
|
||||
|
||||
# Interactive tutorial
|
||||
interactiveTutorial:
|
||||
title: Tutorial
|
||||
hints:
|
||||
1_1_extractor: Place an <strong>extractor</strong> on top of a <strong>circle shape</strong> to extract it!
|
||||
1_2_conveyor: >-
|
||||
Connect the extractor with a <strong>conveyor belt</strong> to your hub!<br><br>Tip: <strong>Click and drag</strong> the belt with your mouse!
|
||||
|
||||
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.
|
||||
|
||||
# All shop upgrades
|
||||
shopUpgrades:
|
||||
belt:
|
||||
name: Belts, Distributor & Tunnels
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
miner:
|
||||
name: Extraction
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
processors:
|
||||
name: Cutting, Rotating & Stacking
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
painting:
|
||||
name: Mixing & Painting
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
|
||||
# Buildings and their name / description
|
||||
buildings:
|
||||
belt:
|
||||
default:
|
||||
name: &belt Conveyor Belt
|
||||
description: Transports items, hold and drag to place multiple.
|
||||
|
||||
miner: # Internal name for the Extractor
|
||||
default:
|
||||
name: &miner Extractor
|
||||
description: Place over a shape or color to extract it.
|
||||
|
||||
chainable:
|
||||
name: Extractor (Chain)
|
||||
description: Place over a shape or color to extract it. Can be chained.
|
||||
|
||||
underground_belt: # Internal name for the Tunnel
|
||||
default:
|
||||
name: &underground_belt Tunnel
|
||||
description: Allows to tunnel resources under buildings and belts.
|
||||
|
||||
tier2:
|
||||
name: Tunnel Tier II
|
||||
description: Allows to tunnel resources under buildings and belts.
|
||||
|
||||
splitter: # Internal name for the Balancer
|
||||
default:
|
||||
name: &splitter Balancer
|
||||
description: Multifunctional - Evenly distributes all inputs onto all outputs.
|
||||
|
||||
compact:
|
||||
name: Merger (compact)
|
||||
description: Merges two conveyor belts into one.
|
||||
|
||||
compact-inverse:
|
||||
name: Merger (compact)
|
||||
description: Merges two conveyor belts into one.
|
||||
|
||||
cutter:
|
||||
default:
|
||||
name: &cutter Cutter
|
||||
description: Cuts shapes from top to bottom and outputs both halfs. <strong>If you use only one part, be sure to destroy the other part or it will stall!</strong>
|
||||
quad:
|
||||
name: Cutter (Quad)
|
||||
description: Cuts shapes into four parts. <strong>If you use only one part, be sure to destroy the other part or it will stall!</strong>
|
||||
|
||||
rotater:
|
||||
default:
|
||||
name: &rotater Rotate
|
||||
description: Rotates shapes clockwise by 90 degrees.
|
||||
ccw:
|
||||
name: Rotate (CCW)
|
||||
description: Rotates shapes counter clockwise by 90 degrees.
|
||||
|
||||
stacker:
|
||||
default:
|
||||
name: &stacker Stacker
|
||||
description: Stacks both items. If they can not be merged, the right item is placed above the left item.
|
||||
|
||||
mixer:
|
||||
default:
|
||||
name: &mixer Color Mixer
|
||||
description: Mixes two colors using additive blending.
|
||||
|
||||
painter:
|
||||
default:
|
||||
name: &painter Painter
|
||||
description: Colors the whole shape on the left input with the color from the right input.
|
||||
double:
|
||||
name: Painter (Double)
|
||||
description: Colors the shapes on the left inputs with the color from the top input.
|
||||
quad:
|
||||
name: Painter (Quad)
|
||||
description: Allows to color each quadrant of the shape with a different color.
|
||||
|
||||
trash:
|
||||
default:
|
||||
name: &trash Trash
|
||||
description: Accepts inputs from all sides and destroys them. Forever.
|
||||
|
||||
storage:
|
||||
name: Storage
|
||||
description: Stores excess items, up to a given capacity. Can be used as an overflow gate.
|
||||
hub:
|
||||
deliver: Deliver
|
||||
toUnlock: to unlock
|
||||
levelShortcut: LVL
|
||||
|
||||
storyRewards:
|
||||
# Those are the rewards gained from completing the store
|
||||
reward_cutter_and_trash:
|
||||
title: Cutting Shapes
|
||||
desc: You just unlocked the <strong>cutter</strong> - it cuts shapes half from <strong>top to bottom</strong> regardless of its orientation!<br><br>Be sure to get rid of the waste, or otherwise <strong>it will stall</strong> - For this purpose I gave you a trash, which destroys everything you put into it!
|
||||
|
||||
reward_rotater:
|
||||
title: Rotating
|
||||
desc: The <strong>rotater</strong> has been unlocked! It rotates shapes clockwise by 90 degrees.
|
||||
|
||||
reward_painter:
|
||||
title: Painting
|
||||
desc: >-
|
||||
The <strong>painter</strong> has been unlocked - Extract some color veins (just as you do with shapes) and combine it with a shape in the painter to color them!<br><br>PS: If you are colorblind, I'm working on a solution already!
|
||||
|
||||
reward_mixer:
|
||||
title: Color Mixing
|
||||
desc: The <strong>mixer</strong> has been unlocked - Combine two colors using <strong>additive blending</strong> with this building!
|
||||
|
||||
reward_stacker:
|
||||
title: Combiner
|
||||
desc: You can now combine shapes with the <strong>combiner</strong>! Both inputs are combined, and if they can be put next to each other, they will be <strong>fused</strong>. If not, the right input is <strong>stacked on top</strong> of the left input!
|
||||
|
||||
reward_splitter:
|
||||
title: Splitter/Merger
|
||||
desc: The multifunctional <strong>balancer</strong> has been unlocked - It can be used to build bigger factories by <strong>splitting and merging items</strong> onto multiple belts!<br><br>
|
||||
|
||||
reward_tunnel:
|
||||
title: Tunnel
|
||||
desc: The <strong>tunnel</strong> has been unlocked - You can now pipe items through belts and buildings with it!
|
||||
|
||||
reward_rotater_ccw:
|
||||
title: CCW Rotating
|
||||
desc: You have unlocked a variant of the <strong>rotater</strong> - It allows to rotate counter clockwise! To build it, select the rotater and <strong>press 'T' to cycle its variants</strong>!
|
||||
|
||||
reward_miner_chainable:
|
||||
title: Chaining Extractor
|
||||
desc: You have unlocked the <strong>chaining extractor</strong>! It can <strong>forward its resources</strong> to other extractors so you can more efficiently extract resources!
|
||||
|
||||
reward_underground_belt_tier_2:
|
||||
title: Tunnel Tier II
|
||||
desc: You have unlocked a new variant of the <strong>tunnel</strong> - It has a <strong>bigger range</strong>, and you can also mix-n-match those tunnels now!
|
||||
|
||||
reward_splitter_compact:
|
||||
title: Compact Balancer
|
||||
desc: >-
|
||||
You have unlocked a compact variant of the <strong>balancer</strong> - It accepts two inputs and merges them into one!
|
||||
|
||||
reward_cutter_quad:
|
||||
title: Quad Cutting
|
||||
desc: You have unlocked a variant of the <strong>cutter</strong> - It allows you to cut shapes in <strong>four parts</strong> instead of just two!
|
||||
|
||||
reward_painter_double:
|
||||
title: Double Painting
|
||||
desc: You have unlocked a variant of the <strong>painter</strong> - It works as the regular painter but processes <strong>two shapes at once</strong> consuming just one color instead of two!
|
||||
|
||||
reward_painter_quad:
|
||||
title: Quad Painting
|
||||
desc: You have unlocked a variant of the <strong>painter</strong> - It allows to paint each part of the shape individually!
|
||||
|
||||
reward_storage:
|
||||
title: Storage Buffer
|
||||
desc: You have unlocked a variant of the <strong>trash</strong> - It allows to store items up to a given capacity!
|
||||
|
||||
reward_freeplay:
|
||||
title: Freeplay
|
||||
desc: You did it! You unlocked the <strong>free-play mode</strong>! This means that shapes are now randomly generated! (No worries, more content is planned for the standalone!)
|
||||
|
||||
reward_blueprints:
|
||||
title: Blueprints
|
||||
desc: You can now <strong>copy and paste</strong> parts of your factory! Select an area (Hold CTRL, then drag with your mouse), and press 'C' to copy it.<br><br>Pasting it is <strong>not free</strong>, you need to produce <strong>blueprint shapes</strong> to afford it! (Those you just delivered).
|
||||
|
||||
# Special reward, which is shown when there is no reward actually
|
||||
no_reward:
|
||||
title: Next level
|
||||
desc: >-
|
||||
This level gave you no reward, but the next one will! <br><br> PS: Better don't destroy your existing factory - You need <strong>all</strong> those shapes later again to <strong>unlock upgrades</strong>!
|
||||
|
||||
no_reward_freeplay:
|
||||
title: Next level
|
||||
desc: >-
|
||||
Congratulations! By the way, more content is planned for the standalone!
|
||||
|
||||
settings:
|
||||
title: Beállítások
|
||||
categories:
|
||||
game: Game
|
||||
app: Application
|
||||
|
||||
versionBadges:
|
||||
dev: Development
|
||||
staging: Staging
|
||||
prod: Production
|
||||
buildDate: Built <at-date>
|
||||
|
||||
labels:
|
||||
uiScale:
|
||||
title: Interfész nagyság
|
||||
description: >-
|
||||
Changes the size of the user interface. The interface will still scale based on your device resolution, but this setting controls the amount of scale.
|
||||
scales:
|
||||
super_small: Szuper kicsi
|
||||
small: Kicsi
|
||||
regular: Közepes
|
||||
large: Nagy
|
||||
huge: Hatalmas
|
||||
|
||||
scrollWheelSensitivity:
|
||||
title: Zoom sensitivity
|
||||
description: >-
|
||||
Changes how sensitive the zoom is (Either mouse wheel or trackpad).
|
||||
sensitivity:
|
||||
super_slow: Szuper lassú
|
||||
slow: Lassú
|
||||
regular: Közepes
|
||||
fast: Gyors
|
||||
super_fast: Szuper gyors
|
||||
|
||||
language:
|
||||
title: Nyelv
|
||||
description: >-
|
||||
Change the language. All translations are user contributed and might be incomplete!
|
||||
|
||||
fullscreen:
|
||||
title: Fullscreen
|
||||
description: >-
|
||||
It is recommended to play the game in fullscreen to get the best experience. Only available in the standalone.
|
||||
|
||||
soundsMuted:
|
||||
title: Hangok Némítása
|
||||
description: >-
|
||||
If enabled, mutes all sound effects.
|
||||
|
||||
musicMuted:
|
||||
title: Zene Némítása
|
||||
description: >-
|
||||
If enabled, mutes all music.
|
||||
|
||||
theme:
|
||||
title: Game theme
|
||||
description: >-
|
||||
Choose the game theme (light / dark).
|
||||
|
||||
themes:
|
||||
dark: Sötét
|
||||
light: Világos
|
||||
|
||||
refreshRate:
|
||||
title: Simulation Target
|
||||
description: >-
|
||||
If you have a 144hz monitor, change the refresh rate here so the game will properly simulate at higher refresh rates. This might actually decrease the FPS if your computer is too slow.
|
||||
|
||||
alwaysMultiplace:
|
||||
title: Multiplace
|
||||
description: >-
|
||||
If enabled, all buildings will stay selected after placement until you cancel it. This is equivalent to holding SHIFT permanently.
|
||||
|
||||
offerHints:
|
||||
title: Hints & Tutorials
|
||||
description: >-
|
||||
Whether to offer hints and tutorials while playing. Also hides certain UI elements onto a given level to make it easier to get into the game.
|
||||
|
||||
movementSpeed:
|
||||
title: Movement speed
|
||||
description: Changes how fast the view moves when using the keyboard.
|
||||
speeds:
|
||||
super_slow: Super slow
|
||||
slow: Slow
|
||||
regular: Regular
|
||||
fast: Fast
|
||||
super_fast: Super Fast
|
||||
extremely_fast: Extremely Fast
|
||||
|
||||
keybindings:
|
||||
title: Keybindings
|
||||
hint: >-
|
||||
Tip: Be sure to make use of CTRL, SHIFT and ALT! They enable different placement options.
|
||||
|
||||
resetKeybindings: Reset Keyinbindings
|
||||
|
||||
categoryLabels:
|
||||
general: Application
|
||||
ingame: Game
|
||||
navigation: Navigating
|
||||
placement: Placement
|
||||
massSelect: Mass Select
|
||||
buildings: Building Shortcuts
|
||||
placementModifiers: Placement Modifiers
|
||||
|
||||
mappings:
|
||||
confirm: Confirm
|
||||
back: Vissza
|
||||
mapMoveUp: Move Up
|
||||
mapMoveRight: Move Right
|
||||
mapMoveDown: Move Down
|
||||
mapMoveLeft: Move Left
|
||||
centerMap: Center Map
|
||||
|
||||
mapZoomIn: Zoom in
|
||||
mapZoomOut: Zoom out
|
||||
createMarker: Create Marker
|
||||
|
||||
menuOpenShop: Fejlesztések
|
||||
menuOpenStats: Statisztikák
|
||||
|
||||
toggleHud: Toggle HUD
|
||||
toggleFPSInfo: Toggle FPS and Debug Info
|
||||
belt: *belt
|
||||
splitter: *splitter
|
||||
underground_belt: *underground_belt
|
||||
miner: *miner
|
||||
cutter: *cutter
|
||||
rotater: *rotater
|
||||
stacker: *stacker
|
||||
mixer: *mixer
|
||||
painter: *painter
|
||||
trash: *trash
|
||||
|
||||
abortBuildingPlacement: Abort Placement
|
||||
rotateWhilePlacing: Rotate
|
||||
rotateInverseModifier: >-
|
||||
Modifier: Rotate CCW instead
|
||||
cycleBuildingVariants: Cycle Variants
|
||||
confirmMassDelete: Confirm Mass Delete
|
||||
cycleBuildings: Cycle Buildings
|
||||
|
||||
massSelectStart: Hold and drag to start
|
||||
massSelectSelectMultiple: Select multiple areas
|
||||
massSelectCopy: Copy area
|
||||
|
||||
placementDisableAutoOrientation: Disable automatic orientation
|
||||
placeMultiple: Stay in placement mode
|
||||
placeInverse: Invert automatic belt orientation
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
massSelectCut: Cut area
|
||||
exportScreenshot: Export whole Base as Image
|
||||
|
||||
about:
|
||||
title: A játékról
|
||||
body: >-
|
||||
This game is open source and developed by <a href="https://github.com/tobspr"
|
||||
target="_blank">Tobias Springer</a> (this is me).<br><br>
|
||||
|
||||
If you want to contribute, check out <a href="<githublink>"
|
||||
target="_blank">shapez.io on github</a>.<br><br>
|
||||
|
||||
This game wouldn't have been possible without the great discord community
|
||||
around my games - You should really join the <a href="<discordlink>"
|
||||
target="_blank">discord server</a>!<br><br>
|
||||
|
||||
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius"
|
||||
target="_blank">Peppsen</a> - He's awesome.<br><br>
|
||||
|
||||
Finally, huge thanks to my best friend <a
|
||||
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Without our
|
||||
factorio sessions this game would never have existed.
|
||||
|
||||
changelog:
|
||||
title: Changelog
|
||||
|
||||
demo:
|
||||
features:
|
||||
restoringGames: Mentések visszaállítása
|
||||
importingGames: Mentések importálása
|
||||
oneGameLimit: Egy mentésre van limitálva
|
||||
customizeKeybindings: Customizing Keybindings
|
||||
exportingBase: Exporting whole Base as Image
|
||||
|
||||
settingNotAvailable: Nem elérhető a demóban.
|
||||
@ -36,7 +36,7 @@ steamPage:
|
||||
|
||||
Since shapes can get boring soon you need to mix colors and paint your shapes with it - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
|
||||
|
||||
This game features 18 levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
This game features 18 levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
|
||||
|
||||
[b]Standalone Advantages[/b]
|
||||
@ -214,17 +214,6 @@ dialogs:
|
||||
title: Demo Version
|
||||
desc: You tried to access a feature (<feature>) which is not available in the demo. Consider to get the standalone for the full experience!
|
||||
|
||||
saveNotPossibleInDemo:
|
||||
desc: Your game has been saved, but restoring it is only possible in the standalone version. Consider to get the standalone for the full experience!
|
||||
|
||||
leaveNotPossibleInDemo:
|
||||
title: Demo version
|
||||
desc: Your game has been saved, but you will not be able to restore it in the demo. Restoring your savegames is only possible in the full version. Are you sure?
|
||||
|
||||
newUpdate:
|
||||
title: Update available
|
||||
desc: There is an update for this game available, be sure to download it!
|
||||
|
||||
oneSavegameLimit:
|
||||
title: Limited savegames
|
||||
desc: You can only have one savegame at a time in the demo version. Please remove the existing one or get the standalone!
|
||||
@ -234,11 +223,6 @@ dialogs:
|
||||
desc: >-
|
||||
Here are the changes since you last played:
|
||||
|
||||
hintDescription:
|
||||
title: Tutorial
|
||||
desc: >-
|
||||
Whenever you need help or are stuck, check out the 'Show hint' button in the lower left and I'll give my best to help you!
|
||||
|
||||
upgradesIntroduction:
|
||||
title: Unlock Upgrades
|
||||
desc: >-
|
||||
@ -270,6 +254,17 @@ dialogs:
|
||||
|
||||
markerDemoLimit:
|
||||
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
|
||||
massCutConfirm:
|
||||
title: Confirm cut
|
||||
desc: >-
|
||||
You are cutting a lot of buildings (<count> to be exact)! Are you sure you
|
||||
want to do this?
|
||||
|
||||
exportScreenshotWarning:
|
||||
title: Export screenshot
|
||||
desc: >-
|
||||
You requested to export your base as a screenshot. Please note that this can
|
||||
be quite slow for a big base and even crash your game!
|
||||
|
||||
ingame:
|
||||
# This is shown in the top left corner and displays useful keybindings in
|
||||
@ -286,6 +281,7 @@ ingame:
|
||||
placeBuilding: Place building
|
||||
createMarker: Create Marker
|
||||
delete: Destroy
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
|
||||
# Everything related to placing buildings (I.e. as soon as you selected a building
|
||||
# from the toolbar)
|
||||
@ -324,7 +320,7 @@ ingame:
|
||||
# Mass select information, this is when you hold CTRL and then drag with your mouse
|
||||
# to select multiple buildings
|
||||
massSelect:
|
||||
infoText: Press <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
infoText: Press <keyCut> to cut, <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
|
||||
# The "Upgrades" window
|
||||
shop:
|
||||
@ -496,6 +492,11 @@ buildings:
|
||||
name: Storage
|
||||
description: Stores excess items, up to a given capacity. Can be used as an overflow gate.
|
||||
|
||||
hub:
|
||||
deliver: Deliver
|
||||
toUnlock: to unlock
|
||||
levelShortcut: LVL
|
||||
|
||||
storyRewards:
|
||||
# Those are the rewards gained from completing the store
|
||||
reward_cutter_and_trash:
|
||||
@ -639,6 +640,10 @@ settings:
|
||||
description: >-
|
||||
Choose the game theme (light / dark).
|
||||
|
||||
themes:
|
||||
dark: Dark
|
||||
light: Light
|
||||
|
||||
refreshRate:
|
||||
title: Simulation Target
|
||||
description: >-
|
||||
@ -654,6 +659,17 @@ settings:
|
||||
description: >-
|
||||
Whether to offer hints and tutorials while playing. Also hides certain UI elements onto a given level to make it easier to get into the game.
|
||||
|
||||
movementSpeed:
|
||||
title: Movement speed
|
||||
description: Changes how fast the view moves when using the keyboard.
|
||||
speeds:
|
||||
super_slow: Super slow
|
||||
slow: Slow
|
||||
regular: Regular
|
||||
fast: Fast
|
||||
super_fast: Super Fast
|
||||
extremely_fast: Extremely Fast
|
||||
|
||||
keybindings:
|
||||
title: Keybindings
|
||||
hint: >-
|
||||
@ -714,9 +730,29 @@ keybindings:
|
||||
placementDisableAutoOrientation: Disable automatic orientation
|
||||
placeMultiple: Stay in placement mode
|
||||
placeInverse: Invert automatic belt orientation
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
massSelectCut: Cut area
|
||||
exportScreenshot: Export whole Base as Image
|
||||
|
||||
about:
|
||||
title: About this Game
|
||||
body: >-
|
||||
This game is open source and developed by <a href="https://github.com/tobspr"
|
||||
target="_blank">Tobias Springer</a> (this is me).<br><br>
|
||||
|
||||
If you want to contribute, check out <a href="<githublink>"
|
||||
target="_blank">shapez.io on github</a>.<br><br>
|
||||
|
||||
This game wouldn't have been possible without the great discord community
|
||||
around my games - You should really join the <a href="<discordlink>"
|
||||
target="_blank">discord server</a>!<br><br>
|
||||
|
||||
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius"
|
||||
target="_blank">Peppsen</a> - He's awesome.<br><br>
|
||||
|
||||
Finally, huge thanks to my best friend <a
|
||||
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Without our
|
||||
factorio sessions this game would never have existed.
|
||||
|
||||
changelog:
|
||||
title: Changelog
|
||||
@ -727,5 +763,6 @@ demo:
|
||||
importingGames: Importing savegames
|
||||
oneGameLimit: Limited to one savegame
|
||||
customizeKeybindings: Customizing Keybindings
|
||||
exportingBase: Exporting whole Base as Image
|
||||
|
||||
settingNotAvailable: Not available in the demo.
|
||||
|
||||
768
translations/base-ja.yaml
Normal file
@ -0,0 +1,768 @@
|
||||
#
|
||||
# GAME TRANSLATIONS
|
||||
#
|
||||
# Contributing:
|
||||
#
|
||||
# If you want to contribute, please make a pull request on this respository
|
||||
# and I will have a look.
|
||||
#
|
||||
# Placeholders:
|
||||
#
|
||||
# Do *not* replace placeholders! Placeholders have a special syntax like
|
||||
# `Hotkey: <key>`. They are encapsulated within angle brackets. The correct
|
||||
# translation for this one in German for example would be: `Taste: <key>` (notice
|
||||
# how the placeholder stayed '<key>' and was not replaced!)
|
||||
#
|
||||
# Adding a new language:
|
||||
#
|
||||
# If you want to add a new language, ask me in the discord and I will setup
|
||||
# the basic structure so the game also detects it.
|
||||
#
|
||||
|
||||
steamPage:
|
||||
# This is the short text appearing on the steam page
|
||||
shortText: shapez.io is a game about building factories to automate the creation and combination of increasingly complex shapes within an infinite map.
|
||||
|
||||
# This is the long description for the steam page - It is contained here so you can help to translate it, and I will regulary update the store page.
|
||||
# NOTICE:
|
||||
# - Do not translate the first line (This is the gif image at the start of the store)
|
||||
# - Please keep the markup (Stuff like [b], [list] etc) in the same format
|
||||
longText: >-
|
||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
||||
|
||||
shapez.io is a game about building factories to automate the creation and combination of shapes. Deliver the requested, increasingly complex shapes to progress within the game and unlock upgrades to speed up your factory.
|
||||
|
||||
Since the demand raises you will have to scale up your factory to fit the needs - Don't forget about resources though, you will have to expand in the [b]infinite map[/b]!
|
||||
|
||||
Since shapes can get boring soon you need to mix colors and paint your shapes with it - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
|
||||
|
||||
This game features 18 levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
|
||||
|
||||
[b]Standalone Advantages[/b]
|
||||
|
||||
[list]
|
||||
[*] Waypoints
|
||||
[*] Unlimited Savegames
|
||||
[*] Dark Mode
|
||||
[*] More settings
|
||||
[*] Allow me to further develop shapez.io ❤️
|
||||
[*] More features in the future!
|
||||
[/list]
|
||||
|
||||
[b]Planned features & Community suggestions[/b]
|
||||
|
||||
This game is open source - Anybody can contribute! Besides of that, I listen [b]a lot[/b] to the community! I try to read all suggestions and take as much feedback into account as possible.
|
||||
|
||||
[list]
|
||||
[*] Story mode where buildings cost shapes
|
||||
[*] More levels & buildings (standalone exclusive)
|
||||
[*] Different maps, and maybe map obstacles
|
||||
[*] Configurable map creation (Edit number and size of patches, seed, and more)
|
||||
[*] More types of shapes
|
||||
[*] More performance improvements (Although the game already runs pretty good!)
|
||||
[*] Color blind mode
|
||||
[*] And much more!
|
||||
[/list]
|
||||
|
||||
Be sure to check out my trello board for the full roadmap! https://trello.com/b/ISQncpJP/shapezio
|
||||
|
||||
global:
|
||||
loading: Loading
|
||||
error: Error
|
||||
|
||||
# How big numbers are rendered, e.g. "10,000"
|
||||
thousandsDivider: ","
|
||||
|
||||
# The suffix for large numbers, e.g. 1.3k, 400.2M, etc.
|
||||
suffix:
|
||||
thousands: k
|
||||
millions: M
|
||||
billions: B
|
||||
trillions: T
|
||||
|
||||
# Shown for infinitely big numbers
|
||||
infinite: inf
|
||||
|
||||
time:
|
||||
# Used for formatting past time dates
|
||||
oneSecondAgo: one second ago
|
||||
xSecondsAgo: <x> seconds ago
|
||||
oneMinuteAgo: one minute ago
|
||||
xMinutesAgo: <x> minutes ago
|
||||
oneHourAgo: one hour ago
|
||||
xHoursAgo: <x> hours ago
|
||||
oneDayAgo: one day ago
|
||||
xDaysAgo: <x> days ago
|
||||
|
||||
# Short formats for times, e.g. '5h 23m'
|
||||
secondsShort: <seconds>s
|
||||
minutesAndSecondsShort: <minutes>m <seconds>s
|
||||
hoursAndMinutesShort: <hours>h <minutes>m
|
||||
|
||||
xMinutes: <x> minutes
|
||||
|
||||
keys:
|
||||
tab: TAB
|
||||
control: CTRL
|
||||
alt: ALT
|
||||
escape: ESC
|
||||
shift: SHIFT
|
||||
space: SPACE
|
||||
|
||||
demoBanners:
|
||||
# This is the "advertisement" shown in the main menu and other various places
|
||||
title: Demo Version
|
||||
intro: >-
|
||||
Get the standalone to unlock all features!
|
||||
|
||||
mainMenu:
|
||||
play: Play
|
||||
changelog: Changelog
|
||||
importSavegame: Import
|
||||
openSourceHint: This game is open source!
|
||||
discordLink: Official Discord Server
|
||||
helpTranslate: Help translate!
|
||||
|
||||
# This is shown when using firefox and other browsers which are not supported.
|
||||
browserWarning: >-
|
||||
Sorry, but the game is known to run slow on your browser! Get the standalone version or download chrome for the full experience.
|
||||
|
||||
savegameLevel: Level <x>
|
||||
savegameLevelUnknown: Unknown Level
|
||||
|
||||
contests:
|
||||
contest_01_03062020:
|
||||
title: "Contest #01"
|
||||
desc: Win <strong>$25</strong> for the coolest base!
|
||||
longDesc: >-
|
||||
To give something back to you, I thought it would be cool to make weekly contests!
|
||||
<br><br>
|
||||
<strong>This weeks topic:</strong> Build the coolest base!
|
||||
<br><br>
|
||||
Here's the deal:<br>
|
||||
<ul class="bucketList">
|
||||
<li>Submit a screenshot of your base to <strong>contest@shapez.io</strong></li>
|
||||
<li>Bonus points if you share it on social media!</li>
|
||||
<li>I will choose 5 screenshots and propose it to the <strong>discord</strong> community to vote.</li>
|
||||
<li>The winner gets <strong>$25</strong> (Paypal, Amazon Gift Card, whatever you prefer)</li>
|
||||
<li>Deadline: 07.06.2020 12:00 AM CEST</li>
|
||||
</ul>
|
||||
<br>
|
||||
I'm looking forward to seeing your awesome creations!
|
||||
|
||||
showInfo: View
|
||||
contestOver: This contest has ended - Join the discord to get noticed about new contests!
|
||||
|
||||
dialogs:
|
||||
buttons:
|
||||
ok: OK
|
||||
delete: Delete
|
||||
cancel: Cancel
|
||||
later: Later
|
||||
restart: Restart
|
||||
reset: Reset
|
||||
getStandalone: Get Standalone
|
||||
deleteGame: I know what I do
|
||||
viewUpdate: View Update
|
||||
showUpgrades: Show Upgrades
|
||||
showKeybindings: Show Keybindings
|
||||
|
||||
importSavegameError:
|
||||
title: Import Error
|
||||
text: >-
|
||||
Failed to import your savegame:
|
||||
|
||||
importSavegameSuccess:
|
||||
title: Savegame Imported
|
||||
text: >-
|
||||
Your savegame has been successfully imported.
|
||||
|
||||
gameLoadFailure:
|
||||
title: Game is broken
|
||||
text: >-
|
||||
Failed to load your savegame:
|
||||
|
||||
confirmSavegameDelete:
|
||||
title: Confirm deletion
|
||||
text: >-
|
||||
Are you sure you want to delete the game?
|
||||
|
||||
savegameDeletionError:
|
||||
title: Failed to delete
|
||||
text: >-
|
||||
Failed to delete the savegame:
|
||||
|
||||
restartRequired:
|
||||
title: Restart required
|
||||
text: >-
|
||||
You need to restart the game to apply the settings.
|
||||
|
||||
editKeybinding:
|
||||
title: Change Keybinding
|
||||
desc: Press the key or mouse button you want to assign, or escape to cancel.
|
||||
|
||||
resetKeybindingsConfirmation:
|
||||
title: Reset keybindings
|
||||
desc: This will reset all keybindings to their default values. Please confirm.
|
||||
|
||||
keybindingsResetOk:
|
||||
title: Keybindings reset
|
||||
desc: The keybindings have been reset to their respective defaults!
|
||||
|
||||
featureRestriction:
|
||||
title: Demo Version
|
||||
desc: You tried to access a feature (<feature>) which is not available in the demo. Consider to get the standalone for the full experience!
|
||||
|
||||
oneSavegameLimit:
|
||||
title: Limited savegames
|
||||
desc: You can only have one savegame at a time in the demo version. Please remove the existing one or get the standalone!
|
||||
|
||||
updateSummary:
|
||||
title: New update!
|
||||
desc: >-
|
||||
Here are the changes since you last played:
|
||||
|
||||
upgradesIntroduction:
|
||||
title: Unlock Upgrades
|
||||
desc: >-
|
||||
All shapes you produce can be used to unlock upgrades - <strong>Don't destroy your old factories!</strong>
|
||||
The upgrades tab can be found on the top right corner of the screen.
|
||||
|
||||
massDeleteConfirm:
|
||||
title: Confirm delete
|
||||
desc: >-
|
||||
You are deleting a lot of buildings (<count> to be exact)! Are you sure you want to do this?
|
||||
|
||||
blueprintsNotUnlocked:
|
||||
title: Not unlocked yet
|
||||
desc: >-
|
||||
Complete level 12 to unlock Blueprints!
|
||||
|
||||
keybindingsIntroduction:
|
||||
title: Useful keybindings
|
||||
desc: >-
|
||||
This game has a lot of keybindings which make it easier to build big factories.
|
||||
Here are a few, but be sure to <strong>check out the keybindings</strong>!<br><br>
|
||||
<code class='keybinding'>CTRL</code> + Drag: Select area to delete.<br>
|
||||
<code class='keybinding'>SHIFT</code>: Hold to place multiple of one building.<br>
|
||||
<code class='keybinding'>ALT</code>: Invert orientation of placed belts.<br>
|
||||
|
||||
createMarker:
|
||||
title: New Marker
|
||||
desc: Give it a meaningful name
|
||||
|
||||
markerDemoLimit:
|
||||
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
|
||||
massCutConfirm:
|
||||
title: Confirm cut
|
||||
desc: >-
|
||||
You are cutting a lot of buildings (<count> to be exact)! Are you sure you
|
||||
want to do this?
|
||||
|
||||
exportScreenshotWarning:
|
||||
title: Export screenshot
|
||||
desc: >-
|
||||
You requested to export your base as a screenshot. Please note that this can
|
||||
be quite slow for a big base and even crash your game!
|
||||
|
||||
ingame:
|
||||
# This is shown in the top left corner and displays useful keybindings in
|
||||
# every situation
|
||||
keybindingsOverlay:
|
||||
moveMap: Move
|
||||
selectBuildings: Select area
|
||||
stopPlacement: Stop placement
|
||||
rotateBuilding: Rotate building
|
||||
placeMultiple: Place multiple
|
||||
reverseOrientation: Reverse orientation
|
||||
disableAutoOrientation: Disable auto orientation
|
||||
toggleHud: Toggle HUD
|
||||
placeBuilding: Place building
|
||||
createMarker: Create Marker
|
||||
delete: Destroy
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
|
||||
# Everything related to placing buildings (I.e. as soon as you selected a building
|
||||
# from the toolbar)
|
||||
buildingPlacement:
|
||||
# Buildings can have different variants which are unlocked at later levels,
|
||||
# and this is the hint shown when there are multiple variants available.
|
||||
cycleBuildingVariants: Press <key> to cycle variants.
|
||||
|
||||
# Shows the hotkey in the ui, e.g. "Hotkey: Q"
|
||||
hotkeyLabel: >-
|
||||
Hotkey: <key>
|
||||
|
||||
infoTexts:
|
||||
speed: Speed
|
||||
range: Range
|
||||
storage: Storage
|
||||
oneItemPerSecond: 1 item / second
|
||||
itemsPerSecond: <x> items / s
|
||||
itemsPerSecondDouble: (x2)
|
||||
|
||||
tiles: <x> tiles
|
||||
|
||||
# The notification when completing a level
|
||||
levelCompleteNotification:
|
||||
# <level> is replaced by the actual level, so this gets 'Level 03' for example.
|
||||
levelTitle: Level <level>
|
||||
completed: Completed
|
||||
unlockText: Unlocked <reward>!
|
||||
buttonNextLevel: Next Level
|
||||
|
||||
# Notifications on the lower right
|
||||
notifications:
|
||||
newUpgrade: A new upgrade is available!
|
||||
gameSaved: Your game has been saved.
|
||||
|
||||
# Mass select information, this is when you hold CTRL and then drag with your mouse
|
||||
# to select multiple buildings
|
||||
massSelect:
|
||||
infoText: Press <keyCut> to cut, <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
|
||||
# The "Upgrades" window
|
||||
shop:
|
||||
title: Upgrades
|
||||
buttonUnlock: Upgrade
|
||||
|
||||
# Gets replaced to e.g. "Tier IX"
|
||||
tier: Tier <x>
|
||||
|
||||
# The roman number for each tier
|
||||
tierLabels: [I, II, III, IV, V, VI, VII, VIII, IX, X]
|
||||
|
||||
maximumLevel: MAXIMUM LEVEL (Speed x<currentMult>)
|
||||
|
||||
# The "Statistics" window
|
||||
statistics:
|
||||
title: Statistics
|
||||
dataSources:
|
||||
stored:
|
||||
title: Stored
|
||||
description: Displaying amount of stored shapes in your central building.
|
||||
produced:
|
||||
title: Produced
|
||||
description: Displaying all shapes your whole factory produces, including intermediate products.
|
||||
delivered:
|
||||
title: Delivered
|
||||
description: Displaying shapes which are delivered to your central building.
|
||||
noShapesProduced: No shapes have been produced so far.
|
||||
|
||||
# Displays the shapes per minute, e.g. '523 / m'
|
||||
shapesPerMinute: <shapes> / m
|
||||
|
||||
# Settings menu, when you press "ESC"
|
||||
settingsMenu:
|
||||
playtime: Playtime
|
||||
|
||||
buildingsPlaced: Buildings
|
||||
beltsPlaced: Belts
|
||||
|
||||
buttons:
|
||||
continue: Continue
|
||||
settings: Settings
|
||||
menu: Return to menu
|
||||
|
||||
# Bottom left tutorial hints
|
||||
tutorialHints:
|
||||
title: Need help?
|
||||
showHint: Show hint
|
||||
hideHint: Close
|
||||
|
||||
# When placing a blueprint
|
||||
blueprintPlacer:
|
||||
cost: Cost
|
||||
|
||||
# Map markers
|
||||
waypoints:
|
||||
waypoints: Markers
|
||||
hub: HUB
|
||||
description: Left-click a marker to jump to it, right-click to delete it.<br><br>Press <keybinding> to create a marker from the current view, or <strong>right-click</strong> to create a marker at the selected location.
|
||||
creationSuccessNotification: Marker has been created.
|
||||
|
||||
# Interactive tutorial
|
||||
interactiveTutorial:
|
||||
title: Tutorial
|
||||
hints:
|
||||
1_1_extractor: Place an <strong>extractor</strong> on top of a <strong>circle shape</strong> to extract it!
|
||||
1_2_conveyor: >-
|
||||
Connect the extractor with a <strong>conveyor belt</strong> to your hub!<br><br>Tip: <strong>Click and drag</strong> the belt with your mouse!
|
||||
|
||||
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.
|
||||
|
||||
# All shop upgrades
|
||||
shopUpgrades:
|
||||
belt:
|
||||
name: Belts, Distributor & Tunnels
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
miner:
|
||||
name: Extraction
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
processors:
|
||||
name: Cutting, Rotating & Stacking
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
painting:
|
||||
name: Mixing & Painting
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
|
||||
# Buildings and their name / description
|
||||
buildings:
|
||||
hub:
|
||||
deliver: Deliver
|
||||
toUnlock: to unlock
|
||||
levelShortcut: LVL
|
||||
|
||||
belt:
|
||||
default:
|
||||
name: &belt Conveyor Belt
|
||||
description: Transports items, hold and drag to place multiple.
|
||||
|
||||
miner: # Internal name for the Extractor
|
||||
default:
|
||||
name: &miner Extractor
|
||||
description: Place over a shape or color to extract it.
|
||||
|
||||
chainable:
|
||||
name: Extractor (Chain)
|
||||
description: Place over a shape or color to extract it. Can be chained.
|
||||
|
||||
underground_belt: # Internal name for the Tunnel
|
||||
default:
|
||||
name: &underground_belt Tunnel
|
||||
description: Allows to tunnel resources under buildings and belts.
|
||||
|
||||
tier2:
|
||||
name: Tunnel Tier II
|
||||
description: Allows to tunnel resources under buildings and belts.
|
||||
|
||||
splitter: # Internal name for the Balancer
|
||||
default:
|
||||
name: &splitter Balancer
|
||||
description: Multifunctional - Evenly distributes all inputs onto all outputs.
|
||||
|
||||
compact:
|
||||
name: Merger (compact)
|
||||
description: Merges two conveyor belts into one.
|
||||
|
||||
compact-inverse:
|
||||
name: Merger (compact)
|
||||
description: Merges two conveyor belts into one.
|
||||
|
||||
cutter:
|
||||
default:
|
||||
name: &cutter Cutter
|
||||
description: Cuts shapes from top to bottom and outputs both halfs. <strong>If you use only one part, be sure to destroy the other part or it will stall!</strong>
|
||||
quad:
|
||||
name: Cutter (Quad)
|
||||
description: Cuts shapes into four parts. <strong>If you use only one part, be sure to destroy the other part or it will stall!</strong>
|
||||
|
||||
rotater:
|
||||
default:
|
||||
name: &rotater Rotate
|
||||
description: Rotates shapes clockwise by 90 degrees.
|
||||
ccw:
|
||||
name: Rotate (CCW)
|
||||
description: Rotates shapes counter clockwise by 90 degrees.
|
||||
|
||||
stacker:
|
||||
default:
|
||||
name: &stacker Stacker
|
||||
description: Stacks both items. If they can not be merged, the right item is placed above the left item.
|
||||
|
||||
mixer:
|
||||
default:
|
||||
name: &mixer Color Mixer
|
||||
description: Mixes two colors using additive blending.
|
||||
|
||||
painter:
|
||||
default:
|
||||
name: &painter Painter
|
||||
description: Colors the whole shape on the left input with the color from the right input.
|
||||
double:
|
||||
name: Painter (Double)
|
||||
description: Colors the shapes on the left inputs with the color from the top input.
|
||||
quad:
|
||||
name: Painter (Quad)
|
||||
description: Allows to color each quadrant of the shape with a different color.
|
||||
|
||||
trash:
|
||||
default:
|
||||
name: &trash Trash
|
||||
description: Accepts inputs from all sides and destroys them. Forever.
|
||||
|
||||
storage:
|
||||
name: Storage
|
||||
description: Stores excess items, up to a given capacity. Can be used as an overflow gate.
|
||||
|
||||
storyRewards:
|
||||
# Those are the rewards gained from completing the store
|
||||
reward_cutter_and_trash:
|
||||
title: Cutting Shapes
|
||||
desc: You just unlocked the <strong>cutter</strong> - it cuts shapes half from <strong>top to bottom</strong> regardless of its orientation!<br><br>Be sure to get rid of the waste, or otherwise <strong>it will stall</strong> - For this purpose I gave you a trash, which destroys everything you put into it!
|
||||
|
||||
reward_rotater:
|
||||
title: Rotating
|
||||
desc: The <strong>rotater</strong> has been unlocked! It rotates shapes clockwise by 90 degrees.
|
||||
|
||||
reward_painter:
|
||||
title: Painting
|
||||
desc: >-
|
||||
The <strong>painter</strong> has been unlocked - Extract some color veins (just as you do with shapes) and combine it with a shape in the painter to color them!<br><br>PS: If you are colorblind, I'm working on a solution already!
|
||||
|
||||
reward_mixer:
|
||||
title: Color Mixing
|
||||
desc: The <strong>mixer</strong> has been unlocked - Combine two colors using <strong>additive blending</strong> with this building!
|
||||
|
||||
reward_stacker:
|
||||
title: Combiner
|
||||
desc: You can now combine shapes with the <strong>combiner</strong>! Both inputs are combined, and if they can be put next to each other, they will be <strong>fused</strong>. If not, the right input is <strong>stacked on top</strong> of the left input!
|
||||
|
||||
reward_splitter:
|
||||
title: Splitter/Merger
|
||||
desc: The multifunctional <strong>balancer</strong> has been unlocked - It can be used to build bigger factories by <strong>splitting and merging items</strong> onto multiple belts!<br><br>
|
||||
|
||||
reward_tunnel:
|
||||
title: Tunnel
|
||||
desc: The <strong>tunnel</strong> has been unlocked - You can now pipe items through belts and buildings with it!
|
||||
|
||||
reward_rotater_ccw:
|
||||
title: CCW Rotating
|
||||
desc: You have unlocked a variant of the <strong>rotater</strong> - It allows to rotate counter clockwise! To build it, select the rotater and <strong>press 'T' to cycle its variants</strong>!
|
||||
|
||||
reward_miner_chainable:
|
||||
title: Chaining Extractor
|
||||
desc: You have unlocked the <strong>chaining extractor</strong>! It can <strong>forward its resources</strong> to other extractors so you can more efficiently extract resources!
|
||||
|
||||
reward_underground_belt_tier_2:
|
||||
title: Tunnel Tier II
|
||||
desc: You have unlocked a new variant of the <strong>tunnel</strong> - It has a <strong>bigger range</strong>, and you can also mix-n-match those tunnels now!
|
||||
|
||||
reward_splitter_compact:
|
||||
title: Compact Balancer
|
||||
desc: >-
|
||||
You have unlocked a compact variant of the <strong>balancer</strong> - It accepts two inputs and merges them into one!
|
||||
|
||||
reward_cutter_quad:
|
||||
title: Quad Cutting
|
||||
desc: You have unlocked a variant of the <strong>cutter</strong> - It allows you to cut shapes in <strong>four parts</strong> instead of just two!
|
||||
|
||||
reward_painter_double:
|
||||
title: Double Painting
|
||||
desc: You have unlocked a variant of the <strong>painter</strong> - It works as the regular painter but processes <strong>two shapes at once</strong> consuming just one color instead of two!
|
||||
|
||||
reward_painter_quad:
|
||||
title: Quad Painting
|
||||
desc: You have unlocked a variant of the <strong>painter</strong> - It allows to paint each part of the shape individually!
|
||||
|
||||
reward_storage:
|
||||
title: Storage Buffer
|
||||
desc: You have unlocked a variant of the <strong>trash</strong> - It allows to store items up to a given capacity!
|
||||
|
||||
reward_freeplay:
|
||||
title: Freeplay
|
||||
desc: You did it! You unlocked the <strong>free-play mode</strong>! This means that shapes are now randomly generated! (No worries, more content is planned for the standalone!)
|
||||
|
||||
reward_blueprints:
|
||||
title: Blueprints
|
||||
desc: You can now <strong>copy and paste</strong> parts of your factory! Select an area (Hold CTRL, then drag with your mouse), and press 'C' to copy it.<br><br>Pasting it is <strong>not free</strong>, you need to produce <strong>blueprint shapes</strong> to afford it! (Those you just delivered).
|
||||
|
||||
# Special reward, which is shown when there is no reward actually
|
||||
no_reward:
|
||||
title: Next level
|
||||
desc: >-
|
||||
This level gave you no reward, but the next one will! <br><br> PS: Better don't destroy your existing factory - You need <strong>all</strong> those shapes later again to <strong>unlock upgrades</strong>!
|
||||
|
||||
no_reward_freeplay:
|
||||
title: Next level
|
||||
desc: >-
|
||||
Congratulations! By the way, more content is planned for the standalone!
|
||||
|
||||
settings:
|
||||
title: Settings
|
||||
categories:
|
||||
game: Game
|
||||
app: Application
|
||||
|
||||
versionBadges:
|
||||
dev: Development
|
||||
staging: Staging
|
||||
prod: Production
|
||||
buildDate: Built <at-date>
|
||||
|
||||
labels:
|
||||
uiScale:
|
||||
title: Interface scale
|
||||
description: >-
|
||||
Changes the size of the user interface. The interface will still scale based on your device resolution, but this setting controls the amount of scale.
|
||||
scales:
|
||||
super_small: Super small
|
||||
small: Small
|
||||
regular: Regular
|
||||
large: Large
|
||||
huge: Huge
|
||||
|
||||
scrollWheelSensitivity:
|
||||
title: Zoom sensitivity
|
||||
description: >-
|
||||
Changes how sensitive the zoom is (Either mouse wheel or trackpad).
|
||||
sensitivity:
|
||||
super_slow: Super slow
|
||||
slow: Slow
|
||||
regular: Regular
|
||||
fast: Fast
|
||||
super_fast: Super fast
|
||||
|
||||
language:
|
||||
title: Language
|
||||
description: >-
|
||||
Change the language. All translations are user contributed and might be incomplete!
|
||||
|
||||
fullscreen:
|
||||
title: Fullscreen
|
||||
description: >-
|
||||
It is recommended to play the game in fullscreen to get the best experience. Only available in the standalone.
|
||||
|
||||
soundsMuted:
|
||||
title: Mute Sounds
|
||||
description: >-
|
||||
If enabled, mutes all sound effects.
|
||||
|
||||
musicMuted:
|
||||
title: Mute Music
|
||||
description: >-
|
||||
If enabled, mutes all music.
|
||||
|
||||
theme:
|
||||
title: Game theme
|
||||
description: >-
|
||||
Choose the game theme (light / dark).
|
||||
|
||||
themes:
|
||||
dark: Dark
|
||||
light: Light
|
||||
|
||||
refreshRate:
|
||||
title: Simulation Target
|
||||
description: >-
|
||||
If you have a 144hz monitor, change the refresh rate here so the game will properly simulate at higher refresh rates. This might actually decrease the FPS if your computer is too slow.
|
||||
|
||||
alwaysMultiplace:
|
||||
title: Multiplace
|
||||
description: >-
|
||||
If enabled, all buildings will stay selected after placement until you cancel it. This is equivalent to holding SHIFT permanently.
|
||||
|
||||
offerHints:
|
||||
title: Hints & Tutorials
|
||||
description: >-
|
||||
Whether to offer hints and tutorials while playing. Also hides certain UI elements onto a given level to make it easier to get into the game.
|
||||
|
||||
movementSpeed:
|
||||
title: Movement speed
|
||||
description: Changes how fast the view moves when using the keyboard.
|
||||
speeds:
|
||||
super_slow: Super slow
|
||||
slow: Slow
|
||||
regular: Regular
|
||||
fast: Fast
|
||||
super_fast: Super Fast
|
||||
extremely_fast: Extremely Fast
|
||||
|
||||
keybindings:
|
||||
title: Keybindings
|
||||
hint: >-
|
||||
Tip: Be sure to make use of CTRL, SHIFT and ALT! They enable different placement options.
|
||||
|
||||
resetKeybindings: Reset Keyinbindings
|
||||
|
||||
categoryLabels:
|
||||
general: Application
|
||||
ingame: Game
|
||||
navigation: Navigating
|
||||
placement: Placement
|
||||
massSelect: Mass Select
|
||||
buildings: Building Shortcuts
|
||||
placementModifiers: Placement Modifiers
|
||||
|
||||
mappings:
|
||||
confirm: Confirm
|
||||
back: Back
|
||||
mapMoveUp: Move Up
|
||||
mapMoveRight: Move Right
|
||||
mapMoveDown: Move Down
|
||||
mapMoveLeft: Move Left
|
||||
centerMap: Center Map
|
||||
|
||||
mapZoomIn: Zoom in
|
||||
mapZoomOut: Zoom out
|
||||
createMarker: Create Marker
|
||||
|
||||
menuOpenShop: Upgrades
|
||||
menuOpenStats: Statistics
|
||||
|
||||
toggleHud: Toggle HUD
|
||||
toggleFPSInfo: Toggle FPS and Debug Info
|
||||
belt: *belt
|
||||
splitter: *splitter
|
||||
underground_belt: *underground_belt
|
||||
miner: *miner
|
||||
cutter: *cutter
|
||||
rotater: *rotater
|
||||
stacker: *stacker
|
||||
mixer: *mixer
|
||||
painter: *painter
|
||||
trash: *trash
|
||||
|
||||
abortBuildingPlacement: Abort Placement
|
||||
rotateWhilePlacing: Rotate
|
||||
rotateInverseModifier: >-
|
||||
Modifier: Rotate CCW instead
|
||||
cycleBuildingVariants: Cycle Variants
|
||||
confirmMassDelete: Confirm Mass Delete
|
||||
cycleBuildings: Cycle Buildings
|
||||
|
||||
massSelectStart: Hold and drag to start
|
||||
massSelectSelectMultiple: Select multiple areas
|
||||
massSelectCopy: Copy area
|
||||
|
||||
placementDisableAutoOrientation: Disable automatic orientation
|
||||
placeMultiple: Stay in placement mode
|
||||
placeInverse: Invert automatic belt orientation
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
massSelectCut: Cut area
|
||||
exportScreenshot: Export whole Base as Image
|
||||
|
||||
about:
|
||||
title: About this Game
|
||||
body: >-
|
||||
This game is open source and developed by <a href="https://github.com/tobspr"
|
||||
target="_blank">Tobias Springer</a> (this is me).<br><br>
|
||||
|
||||
If you want to contribute, check out <a href="<githublink>"
|
||||
target="_blank">shapez.io on github</a>.<br><br>
|
||||
|
||||
This game wouldn't have been possible without the great discord community
|
||||
around my games - You should really join the <a href="<discordlink>"
|
||||
target="_blank">discord server</a>!<br><br>
|
||||
|
||||
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius"
|
||||
target="_blank">Peppsen</a> - He's awesome.<br><br>
|
||||
|
||||
Finally, huge thanks to my best friend <a
|
||||
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Without our
|
||||
factorio sessions this game would never have existed.
|
||||
|
||||
changelog:
|
||||
title: Changelog
|
||||
|
||||
demo:
|
||||
features:
|
||||
restoringGames: Restoring savegames
|
||||
importingGames: Importing savegames
|
||||
oneGameLimit: Limited to one savegame
|
||||
customizeKeybindings: Customizing Keybindings
|
||||
exportingBase: Exporting whole Base as Image
|
||||
|
||||
settingNotAvailable: Not available in the demo.
|
||||
767
translations/base-lt.yaml
Normal file
@ -0,0 +1,767 @@
|
||||
#
|
||||
# GAME TRANSLATIONS
|
||||
#
|
||||
# Contributing:
|
||||
#
|
||||
# If you want to contribute, please make a pull request on this respository
|
||||
# and I will have a look.
|
||||
#
|
||||
# Placeholders:
|
||||
#
|
||||
# Do *not* replace placeholders! Placeholders have a special syntax like
|
||||
# `Hotkey: <key>`. They are encapsulated within angle brackets. The correct
|
||||
# translation for this one in German for example would be: `Taste: <key>` (notice
|
||||
# how the placeholder stayed '<key>' and was not replaced!)
|
||||
#
|
||||
# Adding a new language:
|
||||
#
|
||||
# If you want to add a new language, ask me in the discord and I will setup
|
||||
# the basic structure so the game also detects it.
|
||||
#
|
||||
|
||||
steamPage:
|
||||
# This is the short text appearing on the steam page
|
||||
shortText: shapez.io is a game about building factories to automate the creation and combination of increasingly complex shapes within an infinite map.
|
||||
|
||||
# This is the long description for the steam page - It is contained here so you can help to translate it, and I will regulary update the store page.
|
||||
# NOTICE:
|
||||
# - Do not translate the first line (This is the gif image at the start of the store)
|
||||
# - Please keep the markup (Stuff like [b], [list] etc) in the same format
|
||||
longText: >-
|
||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
||||
|
||||
shapez.io is a game about building factories to automate the creation and combination of shapes. Deliver the requested, increasingly complex shapes to progress within the game and unlock upgrades to speed up your factory.
|
||||
|
||||
Since the demand raises you will have to scale up your factory to fit the needs - Don't forget about resources though, you will have to expand in the [b]infinite map[/b]!
|
||||
|
||||
Since shapes can get boring soon you need to mix colors and paint your shapes with it - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
|
||||
|
||||
This game features 18 levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
|
||||
|
||||
[b]Standalone Advantages[/b]
|
||||
|
||||
[list]
|
||||
[*] Waypoints
|
||||
[*] Unlimited Savegames
|
||||
[*] Dark Mode
|
||||
[*] More settings
|
||||
[*] Allow me to further develop shapez.io ❤️
|
||||
[*] More features in the future!
|
||||
[/list]
|
||||
|
||||
[b]Planned features & Community suggestions[/b]
|
||||
|
||||
This game is open source - Anybody can contribute! Besides of that, I listen [b]a lot[/b] to the community! I try to read all suggestions and take as much feedback into account as possible.
|
||||
|
||||
[list]
|
||||
[*] Story mode where buildings cost shapes
|
||||
[*] More levels & buildings (standalone exclusive)
|
||||
[*] Different maps, and maybe map obstacles
|
||||
[*] Configurable map creation (Edit number and size of patches, seed, and more)
|
||||
[*] More types of shapes
|
||||
[*] More performance improvements (Although the game already runs pretty good!)
|
||||
[*] Color blind mode
|
||||
[*] And much more!
|
||||
[/list]
|
||||
|
||||
Be sure to check out my trello board for the full roadmap! https://trello.com/b/ISQncpJP/shapezio
|
||||
|
||||
global:
|
||||
loading: Loading
|
||||
error: Error
|
||||
|
||||
# How big numbers are rendered, e.g. "10,000"
|
||||
thousandsDivider: ","
|
||||
|
||||
# The suffix for large numbers, e.g. 1.3k, 400.2M, etc.
|
||||
suffix:
|
||||
thousands: k
|
||||
millions: M
|
||||
billions: B
|
||||
trillions: T
|
||||
|
||||
# Shown for infinitely big numbers
|
||||
infinite: inf
|
||||
|
||||
time:
|
||||
# Used for formatting past time dates
|
||||
oneSecondAgo: one second ago
|
||||
xSecondsAgo: <x> seconds ago
|
||||
oneMinuteAgo: one minute ago
|
||||
xMinutesAgo: <x> minutes ago
|
||||
oneHourAgo: one hour ago
|
||||
xHoursAgo: <x> hours ago
|
||||
oneDayAgo: one day ago
|
||||
xDaysAgo: <x> days ago
|
||||
|
||||
# Short formats for times, e.g. '5h 23m'
|
||||
secondsShort: <seconds>s
|
||||
minutesAndSecondsShort: <minutes>m <seconds>s
|
||||
hoursAndMinutesShort: <hours>h <minutes>m
|
||||
|
||||
xMinutes: <x> minutes
|
||||
|
||||
keys:
|
||||
tab: TAB
|
||||
control: CTRL
|
||||
alt: ALT
|
||||
escape: ESC
|
||||
shift: SHIFT
|
||||
space: SPACE
|
||||
|
||||
demoBanners:
|
||||
# This is the "advertisement" shown in the main menu and other various places
|
||||
title: Demo Version
|
||||
intro: >-
|
||||
Get the standalone to unlock all features!
|
||||
|
||||
mainMenu:
|
||||
play: Play
|
||||
changelog: Changelog
|
||||
importSavegame: Import
|
||||
openSourceHint: This game is open source!
|
||||
discordLink: Official Discord Server
|
||||
helpTranslate: Help translate!
|
||||
|
||||
# This is shown when using firefox and other browsers which are not supported.
|
||||
browserWarning: >-
|
||||
Sorry, but the game is known to run slow on your browser! Get the standalone version or download chrome for the full experience.
|
||||
|
||||
savegameLevel: Level <x>
|
||||
savegameLevelUnknown: Unknown Level
|
||||
|
||||
contests:
|
||||
contest_01_03062020:
|
||||
title: "Contest #01"
|
||||
desc: Win <strong>$25</strong> for the coolest base!
|
||||
longDesc: >-
|
||||
To give something back to you, I thought it would be cool to make weekly contests!
|
||||
<br><br>
|
||||
<strong>This weeks topic:</strong> Build the coolest base!
|
||||
<br><br>
|
||||
Here's the deal:<br>
|
||||
<ul class="bucketList">
|
||||
<li>Submit a screenshot of your base to <strong>contest@shapez.io</strong></li>
|
||||
<li>Bonus points if you share it on social media!</li>
|
||||
<li>I will choose 5 screenshots and propose it to the <strong>discord</strong> community to vote.</li>
|
||||
<li>The winner gets <strong>$25</strong> (Paypal, Amazon Gift Card, whatever you prefer)</li>
|
||||
<li>Deadline: 07.06.2020 12:00 AM CEST</li>
|
||||
</ul>
|
||||
<br>
|
||||
I'm looking forward to seeing your awesome creations!
|
||||
|
||||
showInfo: View
|
||||
contestOver: This contest has ended - Join the discord to get noticed about new contests!
|
||||
|
||||
dialogs:
|
||||
buttons:
|
||||
ok: OK
|
||||
delete: Delete
|
||||
cancel: Cancel
|
||||
later: Later
|
||||
restart: Restart
|
||||
reset: Reset
|
||||
getStandalone: Get Standalone
|
||||
deleteGame: I know what I do
|
||||
viewUpdate: View Update
|
||||
showUpgrades: Show Upgrades
|
||||
showKeybindings: Show Keybindings
|
||||
|
||||
importSavegameError:
|
||||
title: Import Error
|
||||
text: >-
|
||||
Failed to import your savegame:
|
||||
|
||||
importSavegameSuccess:
|
||||
title: Savegame Imported
|
||||
text: >-
|
||||
Your savegame has been successfully imported.
|
||||
|
||||
gameLoadFailure:
|
||||
title: Game is broken
|
||||
text: >-
|
||||
Failed to load your savegame:
|
||||
|
||||
confirmSavegameDelete:
|
||||
title: Confirm deletion
|
||||
text: >-
|
||||
Are you sure you want to delete the game?
|
||||
|
||||
savegameDeletionError:
|
||||
title: Failed to delete
|
||||
text: >-
|
||||
Failed to delete the savegame:
|
||||
|
||||
restartRequired:
|
||||
title: Restart required
|
||||
text: >-
|
||||
You need to restart the game to apply the settings.
|
||||
|
||||
editKeybinding:
|
||||
title: Change Keybinding
|
||||
desc: Press the key or mouse button you want to assign, or escape to cancel.
|
||||
|
||||
resetKeybindingsConfirmation:
|
||||
title: Reset keybindings
|
||||
desc: This will reset all keybindings to their default values. Please confirm.
|
||||
|
||||
keybindingsResetOk:
|
||||
title: Keybindings reset
|
||||
desc: The keybindings have been reset to their respective defaults!
|
||||
|
||||
featureRestriction:
|
||||
title: Demo Version
|
||||
desc: You tried to access a feature (<feature>) which is not available in the demo. Consider to get the standalone for the full experience!
|
||||
|
||||
oneSavegameLimit:
|
||||
title: Limited savegames
|
||||
desc: You can only have one savegame at a time in the demo version. Please remove the existing one or get the standalone!
|
||||
|
||||
updateSummary:
|
||||
title: New update!
|
||||
desc: >-
|
||||
Here are the changes since you last played:
|
||||
|
||||
upgradesIntroduction:
|
||||
title: Unlock Upgrades
|
||||
desc: >-
|
||||
All shapes you produce can be used to unlock upgrades - <strong>Don't destroy your old factories!</strong>
|
||||
The upgrades tab can be found on the top right corner of the screen.
|
||||
|
||||
massDeleteConfirm:
|
||||
title: Confirm delete
|
||||
desc: >-
|
||||
You are deleting a lot of buildings (<count> to be exact)! Are you sure you want to do this?
|
||||
|
||||
blueprintsNotUnlocked:
|
||||
title: Not unlocked yet
|
||||
desc: >-
|
||||
Complete level 12 to unlock Blueprints!
|
||||
|
||||
keybindingsIntroduction:
|
||||
title: Useful keybindings
|
||||
desc: >-
|
||||
This game has a lot of keybindings which make it easier to build big factories.
|
||||
Here are a few, but be sure to <strong>check out the keybindings</strong>!<br><br>
|
||||
<code class='keybinding'>CTRL</code> + Drag: Select an area.<br>
|
||||
<code class='keybinding'>SHIFT</code>: Hold to place multiple of one building.<br>
|
||||
<code class='keybinding'>ALT</code>: Invert orientation of placed belts.<br>
|
||||
|
||||
createMarker:
|
||||
title: New Marker
|
||||
desc: Give it a meaningful name
|
||||
|
||||
markerDemoLimit:
|
||||
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
|
||||
massCutConfirm:
|
||||
title: Confirm cut
|
||||
desc: >-
|
||||
You are cutting a lot of buildings (<count> to be exact)! Are you sure you
|
||||
want to do this?
|
||||
|
||||
exportScreenshotWarning:
|
||||
title: Export screenshot
|
||||
desc: >-
|
||||
You requested to export your base as a screenshot. Please note that this can
|
||||
be quite slow for a big base and even crash your game!
|
||||
|
||||
ingame:
|
||||
# This is shown in the top left corner and displays useful keybindings in
|
||||
# every situation
|
||||
keybindingsOverlay:
|
||||
moveMap: Move
|
||||
selectBuildings: Select area
|
||||
stopPlacement: Stop placement
|
||||
rotateBuilding: Rotate building
|
||||
placeMultiple: Place multiple
|
||||
reverseOrientation: Reverse orientation
|
||||
disableAutoOrientation: Disable auto orientation
|
||||
toggleHud: Toggle HUD
|
||||
placeBuilding: Place building
|
||||
createMarker: Create Marker
|
||||
delete: Destroy
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
|
||||
# Everything related to placing buildings (I.e. as soon as you selected a building
|
||||
# from the toolbar)
|
||||
buildingPlacement:
|
||||
# Buildings can have different variants which are unlocked at later levels,
|
||||
# and this is the hint shown when there are multiple variants available.
|
||||
cycleBuildingVariants: Press <key> to cycle variants.
|
||||
|
||||
# Shows the hotkey in the ui, e.g. "Hotkey: Q"
|
||||
hotkeyLabel: >-
|
||||
Hotkey: <key>
|
||||
|
||||
infoTexts:
|
||||
speed: Speed
|
||||
range: Range
|
||||
storage: Storage
|
||||
oneItemPerSecond: 1 item / second
|
||||
itemsPerSecond: <x> items / s
|
||||
itemsPerSecondDouble: (x2)
|
||||
|
||||
tiles: <x> tiles
|
||||
|
||||
# The notification when completing a level
|
||||
levelCompleteNotification:
|
||||
# <level> is replaced by the actual level, so this gets 'Level 03' for example.
|
||||
levelTitle: Level <level>
|
||||
completed: Completed
|
||||
unlockText: Unlocked <reward>!
|
||||
buttonNextLevel: Next Level
|
||||
|
||||
# Notifications on the lower right
|
||||
notifications:
|
||||
newUpgrade: A new upgrade is available!
|
||||
gameSaved: Your game has been saved.
|
||||
|
||||
# Mass select information, this is when you hold CTRL and then drag with your mouse
|
||||
# to select multiple buildings
|
||||
massSelect:
|
||||
infoText: Press <keyCut> to cut, <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
|
||||
# The "Upgrades" window
|
||||
shop:
|
||||
title: Upgrades
|
||||
buttonUnlock: Upgrade
|
||||
|
||||
# Gets replaced to e.g. "Tier IX"
|
||||
tier: Tier <x>
|
||||
|
||||
# The roman number for each tier
|
||||
tierLabels: [I, II, III, IV, V, VI, VII, VIII, IX, X]
|
||||
|
||||
maximumLevel: MAXIMUM LEVEL (Speed x<currentMult>)
|
||||
|
||||
# The "Statistics" window
|
||||
statistics:
|
||||
title: Statistics
|
||||
dataSources:
|
||||
stored:
|
||||
title: Stored
|
||||
description: Displaying amount of stored shapes in your central building.
|
||||
produced:
|
||||
title: Produced
|
||||
description: Displaying all shapes your whole factory produces, including intermediate products.
|
||||
delivered:
|
||||
title: Delivered
|
||||
description: Displaying shapes which are delivered to your central building.
|
||||
noShapesProduced: No shapes have been produced so far.
|
||||
|
||||
# Displays the shapes per minute, e.g. '523 / m'
|
||||
shapesPerMinute: <shapes> / m
|
||||
|
||||
# Settings menu, when you press "ESC"
|
||||
settingsMenu:
|
||||
playtime: Playtime
|
||||
|
||||
buildingsPlaced: Buildings
|
||||
beltsPlaced: Belts
|
||||
|
||||
buttons:
|
||||
continue: Continue
|
||||
settings: Settings
|
||||
menu: Return to menu
|
||||
|
||||
# Bottom left tutorial hints
|
||||
tutorialHints:
|
||||
title: Need help?
|
||||
showHint: Show hint
|
||||
hideHint: Close
|
||||
|
||||
# When placing a blueprint
|
||||
blueprintPlacer:
|
||||
cost: Cost
|
||||
|
||||
# Map markers
|
||||
waypoints:
|
||||
waypoints: Markers
|
||||
hub: HUB
|
||||
description: Left-click a marker to jump to it, right-click to delete it.<br><br>Press <keybinding> to create a marker from the current view, or <strong>right-click</strong> to create a marker at the selected location.
|
||||
creationSuccessNotification: Marker has been created.
|
||||
|
||||
# Interactive tutorial
|
||||
interactiveTutorial:
|
||||
title: Tutorial
|
||||
hints:
|
||||
1_1_extractor: Place an <strong>extractor</strong> on top of a <strong>circle shape</strong> to extract it!
|
||||
1_2_conveyor: >-
|
||||
Connect the extractor with a <strong>conveyor belt</strong> to your hub!<br><br>Tip: <strong>Click and drag</strong> the belt with your mouse!
|
||||
|
||||
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.
|
||||
|
||||
# All shop upgrades
|
||||
shopUpgrades:
|
||||
belt:
|
||||
name: Belts, Distributor & Tunnels
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
miner:
|
||||
name: Extraction
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
processors:
|
||||
name: Cutting, Rotating & Stacking
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
painting:
|
||||
name: Mixing & Painting
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
|
||||
# Buildings and their name / description
|
||||
buildings:
|
||||
hub:
|
||||
deliver: Deliver
|
||||
toUnlock: to unlock
|
||||
levelShortcut: LVL
|
||||
|
||||
belt:
|
||||
default:
|
||||
name: &belt Conveyor Belt
|
||||
description: Transports items, hold and drag to place multiple.
|
||||
|
||||
miner: # Internal name for the Extractor
|
||||
default:
|
||||
name: &miner Extractor
|
||||
description: Place over a shape or color to extract it.
|
||||
|
||||
chainable:
|
||||
name: Extractor (Chain)
|
||||
description: Place over a shape or color to extract it. Can be chained.
|
||||
|
||||
underground_belt: # Internal name for the Tunnel
|
||||
default:
|
||||
name: &underground_belt Tunnel
|
||||
description: Allows to tunnel resources under buildings and belts.
|
||||
|
||||
tier2:
|
||||
name: Tunnel Tier II
|
||||
description: Allows to tunnel resources under buildings and belts.
|
||||
|
||||
splitter: # Internal name for the Balancer
|
||||
default:
|
||||
name: &splitter Balancer
|
||||
description: Multifunctional - Evenly distributes all inputs onto all outputs.
|
||||
|
||||
compact:
|
||||
name: Merger (compact)
|
||||
description: Merges two conveyor belts into one.
|
||||
|
||||
compact-inverse:
|
||||
name: Merger (compact)
|
||||
description: Merges two conveyor belts into one.
|
||||
|
||||
cutter:
|
||||
default:
|
||||
name: &cutter Cutter
|
||||
description: Cuts shapes from top to bottom and outputs both halfs. <strong>If you use only one part, be sure to destroy the other part or it will stall!</strong>
|
||||
quad:
|
||||
name: Cutter (Quad)
|
||||
description: Cuts shapes into four parts. <strong>If you use only one part, be sure to destroy the other parts or it will stall!</strong>
|
||||
|
||||
rotater:
|
||||
default:
|
||||
name: &rotater Rotate
|
||||
description: Rotates shapes clockwise by 90 degrees.
|
||||
ccw:
|
||||
name: Rotate (CCW)
|
||||
description: Rotates shapes counter clockwise by 90 degrees.
|
||||
|
||||
stacker:
|
||||
default:
|
||||
name: &stacker Stacker
|
||||
description: Stacks both items. If they can not be merged, the right item is placed above the left item.
|
||||
|
||||
mixer:
|
||||
default:
|
||||
name: &mixer Color Mixer
|
||||
description: Mixes two colors using additive blending.
|
||||
|
||||
painter:
|
||||
default:
|
||||
name: &painter Painter
|
||||
description: Colors the whole shape on the left input with the color from the top input.
|
||||
double:
|
||||
name: Painter (Double)
|
||||
description: Colors the shapes on the left inputs with the color from the top input.
|
||||
quad:
|
||||
name: Painter (Quad)
|
||||
description: Allows to color each quadrant of the shape with a different color.
|
||||
|
||||
trash:
|
||||
default:
|
||||
name: &trash Trash
|
||||
description: Accepts inputs from all sides and destroys them. Forever.
|
||||
|
||||
storage:
|
||||
name: Storage
|
||||
description: Stores excess items, up to a given capacity. Can be used as an overflow gate.
|
||||
|
||||
storyRewards:
|
||||
# Those are the rewards gained from completing the store
|
||||
reward_cutter_and_trash:
|
||||
title: Cutting Shapes
|
||||
desc: You just unlocked the <strong>cutter</strong> - it cuts shapes half from <strong>top to bottom</strong> regardless of its orientation!<br><br>Be sure to get rid of the waste, or otherwise <strong>it will stall</strong> - For this purpose I gave you a trash, which destroys everything you put into it!
|
||||
|
||||
reward_rotater:
|
||||
title: Rotating
|
||||
desc: The <strong>rotater</strong> has been unlocked! It rotates shapes clockwise by 90 degrees.
|
||||
|
||||
reward_painter:
|
||||
title: Painting
|
||||
desc: >-
|
||||
The <strong>painter</strong> has been unlocked - Extract some color veins (just as you do with shapes) and combine it with a shape in the painter to color them!<br><br>PS: If you are colorblind, I'm working on a solution already!
|
||||
|
||||
reward_mixer:
|
||||
title: Color Mixing
|
||||
desc: The <strong>mixer</strong> has been unlocked - Combine two colors using <strong>additive blending</strong> with this building!
|
||||
|
||||
reward_stacker:
|
||||
title: Combiner
|
||||
desc: You can now combine shapes with the <strong>combiner</strong>! Both inputs are combined, and if they can be put next to each other, they will be <strong>fused</strong>. If not, the right input is <strong>stacked on top</strong> of the left input!
|
||||
|
||||
reward_splitter:
|
||||
title: Splitter/Merger
|
||||
desc: The multifunctional <strong>balancer</strong> has been unlocked - It can be used to build bigger factories by <strong>splitting and merging items</strong> onto multiple belts!<br><br>
|
||||
|
||||
reward_tunnel:
|
||||
title: Tunnel
|
||||
desc: The <strong>tunnel</strong> has been unlocked - You can now tunnel items through belts and buildings with it!
|
||||
|
||||
reward_rotater_ccw:
|
||||
title: CCW Rotating
|
||||
desc: You have unlocked a variant of the <strong>rotater</strong> - It allows to rotate counter clockwise! To build it, select the rotater and <strong>press 'T' to cycle its variants</strong>!
|
||||
|
||||
reward_miner_chainable:
|
||||
title: Chaining Extractor
|
||||
desc: You have unlocked the <strong>chaining extractor</strong>! It can <strong>forward its resources</strong> to other extractors so you can more efficiently extract resources!
|
||||
|
||||
reward_underground_belt_tier_2:
|
||||
title: Tunnel Tier II
|
||||
desc: You have unlocked a new variant of the <strong>tunnel</strong> - It has a <strong>bigger range</strong>, and you can also mix-n-match those tunnels now!
|
||||
|
||||
reward_splitter_compact:
|
||||
title: Compact Balancer
|
||||
desc: >-
|
||||
You have unlocked a compact variant of the <strong>balancer</strong> - It accepts two inputs and merges them into one!
|
||||
|
||||
reward_cutter_quad:
|
||||
title: Quad Cutting
|
||||
desc: You have unlocked a variant of the <strong>cutter</strong> - It allows you to cut shapes in <strong>four parts</strong> instead of just two!
|
||||
|
||||
reward_painter_double:
|
||||
title: Double Painting
|
||||
desc: You have unlocked a variant of the <strong>painter</strong> - It works as the regular painter but processes <strong>two shapes at once</strong> consuming just one color instead of two!
|
||||
|
||||
reward_painter_quad:
|
||||
title: Quad Painting
|
||||
desc: You have unlocked a variant of the <strong>painter</strong> - It allows to paint each part of the shape individually!
|
||||
|
||||
reward_storage:
|
||||
title: Storage Buffer
|
||||
desc: You have unlocked a variant of the <strong>trash</strong> - It allows to store items up to a given capacity!
|
||||
|
||||
reward_freeplay:
|
||||
title: Freeplay
|
||||
desc: You did it! You unlocked the <strong>free-play mode</strong>! This means that shapes are now randomly generated! (No worries, more content is planned for the standalone!)
|
||||
|
||||
reward_blueprints:
|
||||
title: Blueprints
|
||||
desc: You can now <strong>copy and paste</strong> parts of your factory! Select an area (Hold CTRL, then drag with your mouse), and press 'C' to copy it.<br><br>Pasting it is <strong>not free</strong>, you need to produce <strong>blueprint shapes</strong> to afford it! (Those you just delivered).
|
||||
|
||||
# Special reward, which is shown when there is no reward actually
|
||||
no_reward:
|
||||
title: Next level
|
||||
desc: >-
|
||||
This level gave you no reward, but the next one will! <br><br> PS: Better don't destroy your existing factory - You need <strong>all</strong> those shapes later again to <strong>unlock upgrades</strong>!
|
||||
|
||||
no_reward_freeplay:
|
||||
title: Next level
|
||||
desc: >-
|
||||
Congratulations! By the way, more content is planned for the standalone!
|
||||
|
||||
settings:
|
||||
title: Settings
|
||||
categories:
|
||||
game: Game
|
||||
app: Application
|
||||
|
||||
versionBadges:
|
||||
dev: Development
|
||||
staging: Staging
|
||||
prod: Production
|
||||
buildDate: Built <at-date>
|
||||
|
||||
labels:
|
||||
uiScale:
|
||||
title: Interface scale
|
||||
description: >-
|
||||
Changes the size of the user interface. The interface will still scale based on your device resolution, but this setting controls the amount of scale.
|
||||
scales:
|
||||
super_small: Super small
|
||||
small: Small
|
||||
regular: Regular
|
||||
large: Large
|
||||
huge: Huge
|
||||
|
||||
scrollWheelSensitivity:
|
||||
title: Zoom sensitivity
|
||||
description: >-
|
||||
Changes how sensitive the zoom is (Either mouse wheel or trackpad).
|
||||
sensitivity:
|
||||
super_slow: Super slow
|
||||
slow: Slow
|
||||
regular: Regular
|
||||
fast: Fast
|
||||
super_fast: Super fast
|
||||
|
||||
language:
|
||||
title: Language
|
||||
description: >-
|
||||
Change the language. All translations are user contributed and might be incomplete!
|
||||
|
||||
fullscreen:
|
||||
title: Fullscreen
|
||||
description: >-
|
||||
It is recommended to play the game in fullscreen to get the best experience. Only available in the standalone.
|
||||
|
||||
soundsMuted:
|
||||
title: Mute Sounds
|
||||
description: >-
|
||||
If enabled, mutes all sound effects.
|
||||
|
||||
musicMuted:
|
||||
title: Mute Music
|
||||
description: >-
|
||||
If enabled, mutes all music.
|
||||
|
||||
theme:
|
||||
title: Game theme
|
||||
description: >-
|
||||
Choose the game theme (light / dark).
|
||||
themes:
|
||||
dark: Dark
|
||||
light: Light
|
||||
|
||||
refreshRate:
|
||||
title: Simulation Target
|
||||
description: >-
|
||||
If you have a 144hz monitor, change the refresh rate here so the game will properly simulate at higher refresh rates. This might actually decrease the FPS if your computer is too slow.
|
||||
|
||||
alwaysMultiplace:
|
||||
title: Multiplace
|
||||
description: >-
|
||||
If enabled, all buildings will stay selected after placement until you cancel it. This is equivalent to holding SHIFT permanently.
|
||||
|
||||
offerHints:
|
||||
title: Hints & Tutorials
|
||||
description: >-
|
||||
Whether to offer hints and tutorials while playing. Also hides certain UI elements onto a given level to make it easier to get into the game.
|
||||
|
||||
movementSpeed:
|
||||
title: Movement speed
|
||||
description: Changes how fast the view moves when using the keyboard.
|
||||
speeds:
|
||||
super_slow: Super slow
|
||||
slow: Slow
|
||||
regular: Regular
|
||||
fast: Fast
|
||||
super_fast: Super Fast
|
||||
extremely_fast: Extremely Fast
|
||||
|
||||
keybindings:
|
||||
title: Keybindings
|
||||
hint: >-
|
||||
Tip: Be sure to make use of CTRL, SHIFT and ALT! They enable different placement options.
|
||||
|
||||
resetKeybindings: Reset Keybindings
|
||||
|
||||
categoryLabels:
|
||||
general: Application
|
||||
ingame: Game
|
||||
navigation: Navigating
|
||||
placement: Placement
|
||||
massSelect: Mass Select
|
||||
buildings: Building Shortcuts
|
||||
placementModifiers: Placement Modifiers
|
||||
|
||||
mappings:
|
||||
confirm: Confirm
|
||||
back: Back
|
||||
mapMoveUp: Move Up
|
||||
mapMoveRight: Move Right
|
||||
mapMoveDown: Move Down
|
||||
mapMoveLeft: Move Left
|
||||
centerMap: Center Map
|
||||
|
||||
mapZoomIn: Zoom in
|
||||
mapZoomOut: Zoom out
|
||||
createMarker: Create Marker
|
||||
|
||||
menuOpenShop: Upgrades
|
||||
menuOpenStats: Statistics
|
||||
|
||||
toggleHud: Toggle HUD
|
||||
toggleFPSInfo: Toggle FPS and Debug Info
|
||||
belt: *belt
|
||||
splitter: *splitter
|
||||
underground_belt: *underground_belt
|
||||
miner: *miner
|
||||
cutter: *cutter
|
||||
rotater: *rotater
|
||||
stacker: *stacker
|
||||
mixer: *mixer
|
||||
painter: *painter
|
||||
trash: *trash
|
||||
|
||||
abortBuildingPlacement: Abort Placement
|
||||
rotateWhilePlacing: Rotate
|
||||
rotateInverseModifier: >-
|
||||
Modifier: Rotate CCW instead
|
||||
cycleBuildingVariants: Cycle Variants
|
||||
confirmMassDelete: Confirm Mass Delete
|
||||
cycleBuildings: Cycle Buildings
|
||||
|
||||
massSelectStart: Hold and drag to start
|
||||
massSelectSelectMultiple: Select multiple areas
|
||||
massSelectCopy: Copy area
|
||||
|
||||
placementDisableAutoOrientation: Disable automatic orientation
|
||||
placeMultiple: Stay in placement mode
|
||||
placeInverse: Invert automatic belt orientation
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
massSelectCut: Cut area
|
||||
exportScreenshot: Export whole Base as Image
|
||||
|
||||
about:
|
||||
title: About this Game
|
||||
body: >-
|
||||
This game is open source and developed by <a href="https://github.com/tobspr"
|
||||
target="_blank">Tobias Springer</a> (this is me).<br><br>
|
||||
|
||||
If you want to contribute, check out <a href="<githublink>"
|
||||
target="_blank">shapez.io on github</a>.<br><br>
|
||||
|
||||
This game wouldn't have been possible without the great discord community
|
||||
around my games - You should really join the <a href="<discordlink>"
|
||||
target="_blank">discord server</a>!<br><br>
|
||||
|
||||
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius"
|
||||
target="_blank">Peppsen</a> - He's awesome.<br><br>
|
||||
|
||||
Finally, huge thanks to my best friend <a
|
||||
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Without our
|
||||
factorio sessions this game would never have existed.
|
||||
|
||||
changelog:
|
||||
title: Changelog
|
||||
|
||||
demo:
|
||||
features:
|
||||
restoringGames: Restoring savegames
|
||||
importingGames: Importing savegames
|
||||
oneGameLimit: Limited to one savegame
|
||||
customizeKeybindings: Customizing Keybindings
|
||||
exportingBase: Exporting whole Base as Image
|
||||
|
||||
settingNotAvailable: Not available in the demo.
|
||||
@ -36,7 +36,7 @@ steamPage:
|
||||
|
||||
Since shapes can get boring soon you need to mix colors and paint your shapes with it - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
|
||||
|
||||
This game features 18 levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
This game features 18 levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
|
||||
|
||||
[b]Standalone Advantages[/b]
|
||||
@ -98,7 +98,7 @@ global:
|
||||
# Short formats for times, e.g. '5h 23m'
|
||||
secondsShort: <seconds>s
|
||||
minutesAndSecondsShort: <minutes>m <seconds>s
|
||||
hoursAndMinutesShort: <hours>h <minutes>s
|
||||
hoursAndMinutesShort: <hours>h <minutes>m
|
||||
|
||||
xMinutes: <x> minutos
|
||||
|
||||
@ -151,6 +151,8 @@ mainMenu:
|
||||
Estou ansioso para ver suas criações incríveis!
|
||||
|
||||
showInfo: Participate
|
||||
contestOver: This contest has ended - Join the discord to get noticed about new contests!
|
||||
helpTranslate: Help translate!
|
||||
|
||||
dialogs:
|
||||
buttons:
|
||||
@ -212,17 +214,6 @@ dialogs:
|
||||
title: Versão Demo
|
||||
desc: Você tentou acessar um recurso (<feature>) que não está disponível na demo. Considere obter a versão completa para a proceder!
|
||||
|
||||
saveNotPossibleInDemo:
|
||||
desc: Seu jogo foi salvo, mas a restauração só é possível na versão completa. Considere obter a versão completa!
|
||||
|
||||
leaveNotPossibleInDemo:
|
||||
title: Demo version
|
||||
desc: Seu jogo foi salvo, mas você não poderá restaurá-lo na demo. Restaurar seus savegames só é possível na versão completa. Você tem certeza?
|
||||
|
||||
newUpdate:
|
||||
title: Atualização disponível
|
||||
desc: Uma atualização para esse jogo esta disponível!
|
||||
|
||||
oneSavegameLimit:
|
||||
title: Save limitado
|
||||
desc: Você pode ter apenas um savegame por vez na versão demo. Remova o existente ou obtenha a versão completa!
|
||||
@ -232,11 +223,6 @@ dialogs:
|
||||
desc: >-
|
||||
Aqui estão as alterações desde a última vez que você jogou:
|
||||
|
||||
hintDescription:
|
||||
title: Tutorial
|
||||
desc: >-
|
||||
Sempre que precisar de ajuda ou estiver parado, confira o botão 'Mostrar dica' no canto inferior esquerdo e darei o meu melhor para ajudá-lo!
|
||||
|
||||
upgradesIntroduction:
|
||||
title: Desbloquear updates
|
||||
desc: >-
|
||||
@ -265,12 +251,29 @@ dialogs:
|
||||
createMarker:
|
||||
title: Nova Marcação
|
||||
desc: De um nome
|
||||
markerDemoLimit:
|
||||
desc: >-
|
||||
You can only create two custom markers in the demo. Get the standalone for
|
||||
unlimited markers!
|
||||
|
||||
massCutConfirm:
|
||||
title: Confirm cut
|
||||
desc: >-
|
||||
You are cutting a lot of buildings (<count> to be exact)! Are you sure you
|
||||
want to do this?
|
||||
|
||||
exportScreenshotWarning:
|
||||
title: Export screenshot
|
||||
desc: >-
|
||||
You requested to export your base as a screenshot. Please note that this can
|
||||
be quite slow for a big base and even crash your game!
|
||||
|
||||
ingame:
|
||||
# This is shown in the top left corner and displays useful keybindings in
|
||||
# every situation
|
||||
keybindingsOverlay:
|
||||
moveMap: Mover
|
||||
removeBuildings: Deletar
|
||||
|
||||
stopPlacement: Parar
|
||||
rotateBuilding: Rotação
|
||||
placeMultiple: Colocar vários
|
||||
@ -280,6 +283,8 @@ ingame:
|
||||
placeBuilding: Colocar construção
|
||||
createMarker: Criar marcador
|
||||
delete: Destruir
|
||||
selectBuildings: Select area
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
|
||||
# Everything related to placing buildings (I.e. as soon as you selected a building
|
||||
# from the toolbar)
|
||||
@ -318,7 +323,7 @@ ingame:
|
||||
# Mass select information, this is when you hold CTRL and then drag with your mouse
|
||||
# to select multiple buildings
|
||||
massSelect:
|
||||
infoText: Aperte <keyCopy> para copiar, <keyDelete> para excluir e <keyCancel> para cancelar.
|
||||
infoText: Press <keyCut> to cut, <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
|
||||
# The "Upgrades" window
|
||||
shop:
|
||||
@ -330,8 +335,7 @@ ingame:
|
||||
|
||||
# The roman number for each tier
|
||||
tierLabels: [I, II, III, IV, V, VI, VII, VIII, IX, X]
|
||||
|
||||
maximumLevel: Level Máximo
|
||||
maximumLevel: MAXIMUM LEVEL (Speed x<currentMult>)
|
||||
|
||||
# The "Statistics" window
|
||||
statistics:
|
||||
@ -395,16 +399,19 @@ ingame:
|
||||
shopUpgrades:
|
||||
belt:
|
||||
name: Esteiras, Distribuidores e Túneis
|
||||
description: Velocidade +<gain>%
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
|
||||
miner:
|
||||
name: Extração
|
||||
description: Velocidade +<gain>%
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
|
||||
processors:
|
||||
name: Cortar, Rotacionar e Empilhamento
|
||||
description: Velocidade +<gain>%
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
|
||||
painting:
|
||||
name: Misturador e pintura
|
||||
description: Velocidade +<gain>%
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
|
||||
# Buildings and their name / description
|
||||
buildings:
|
||||
@ -489,6 +496,10 @@ buildings:
|
||||
storage:
|
||||
name: Estoque
|
||||
description: Armazena itens em excesso, até uma determinada capacidade. Pode ser usado como uma porta de transbordamento.
|
||||
hub:
|
||||
deliver: Deliver
|
||||
toUnlock: to unlock
|
||||
levelShortcut: LVL
|
||||
|
||||
storyRewards:
|
||||
# Those are the rewards gained from completing the store
|
||||
@ -515,7 +526,10 @@ storyRewards:
|
||||
|
||||
reward_splitter:
|
||||
title: Divisor/fusão
|
||||
desc: O balanceador multifuncional <strong> </strong> foi desbloqueado - ele pode ser usado para construir fábricas maiores dividindo e mesclando itens </strong>! <br> <br>
|
||||
desc: >-
|
||||
The multifunctional <strong>balancer</strong> has been unlocked - It can be
|
||||
used to build bigger factories by <strong>splitting and merging items</strong>
|
||||
onto multiple belts!<br><br>
|
||||
|
||||
reward_tunnel:
|
||||
title: Túnel
|
||||
@ -628,6 +642,10 @@ settings:
|
||||
description: >-
|
||||
Escolha o tema entre (Branco / Preto).
|
||||
|
||||
themes:
|
||||
dark: Dark
|
||||
light: Light
|
||||
|
||||
refreshRate:
|
||||
title: Frequencia
|
||||
description: >-
|
||||
@ -643,6 +661,23 @@ settings:
|
||||
description: >-
|
||||
Se deve oferecer dicas e tutoriais enquanto estiver jogando.v.
|
||||
|
||||
language:
|
||||
title: Language
|
||||
description: >-
|
||||
Change the language. All translations are user contributed and might be
|
||||
incomplete!
|
||||
|
||||
movementSpeed:
|
||||
title: Movement speed
|
||||
description: Changes how fast the view moves when using the keyboard.
|
||||
speeds:
|
||||
super_slow: Super slow
|
||||
slow: Slow
|
||||
regular: Regular
|
||||
fast: Fast
|
||||
super_fast: Super Fast
|
||||
extremely_fast: Extremely Fast
|
||||
|
||||
keybindings:
|
||||
title: Comandos
|
||||
hint: >-
|
||||
@ -703,9 +738,29 @@ keybindings:
|
||||
placementDisableAutoOrientation: Desligar orientações automaticas
|
||||
placeMultiple: Permanecer no modo de produção
|
||||
placeInverse: Inverter orientação de esteira
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
massSelectCut: Cut area
|
||||
exportScreenshot: Export whole Base as Image
|
||||
|
||||
about:
|
||||
title: Sobre o jogo
|
||||
body: >-
|
||||
This game is open source and developed by <a href="https://github.com/tobspr"
|
||||
target="_blank">Tobias Springer</a> (this is me).<br><br>
|
||||
|
||||
If you want to contribute, check out <a href="<githublink>"
|
||||
target="_blank">shapez.io on github</a>.<br><br>
|
||||
|
||||
This game wouldn't have been possible without the great discord community
|
||||
around my games - You should really join the <a href="<discordlink>"
|
||||
target="_blank">discord server</a>!<br><br>
|
||||
|
||||
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius"
|
||||
target="_blank">Peppsen</a> - He's awesome.<br><br>
|
||||
|
||||
Finally, huge thanks to my best friend <a
|
||||
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Without our
|
||||
factorio sessions this game would never have existed.
|
||||
|
||||
changelog:
|
||||
title: Changelog
|
||||
@ -716,6 +771,6 @@ demo:
|
||||
importingGames: Carregando jogos salvos
|
||||
oneGameLimit: Limitado para um savegamne
|
||||
customizeKeybindings: Modificando Teclas
|
||||
creatingMarkers: Criando marcações
|
||||
exportingBase: Exporting whole Base as Image
|
||||
|
||||
settingNotAvailable: Não disponível na versão demo.
|
||||
|
||||
@ -36,7 +36,7 @@ steamPage:
|
||||
|
||||
Since shapes can get boring soon you need to mix colors and paint your shapes with it - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
|
||||
|
||||
This game features 18 levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
This game features 18 levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
|
||||
|
||||
[b]Standalone Advantages[/b]
|
||||
@ -214,17 +214,6 @@ dialogs:
|
||||
title: Demo Version
|
||||
desc: You tried to access a feature (<feature>) which is not available in the demo. Consider to get the standalone for the full experience!
|
||||
|
||||
saveNotPossibleInDemo:
|
||||
desc: Your game has been saved, but restoring it is only possible in the standalone version. Consider to get the standalone for the full experience!
|
||||
|
||||
leaveNotPossibleInDemo:
|
||||
title: Demo version
|
||||
desc: Your game has been saved, but you will not be able to restore it in the demo. Restoring your savegames is only possible in the full version. Are you sure?
|
||||
|
||||
newUpdate:
|
||||
title: Update available
|
||||
desc: There is an update for this game available, be sure to download it!
|
||||
|
||||
oneSavegameLimit:
|
||||
title: Limited savegames
|
||||
desc: You can only have one savegame at a time in the demo version. Please remove the existing one or get the standalone!
|
||||
@ -234,11 +223,6 @@ dialogs:
|
||||
desc: >-
|
||||
Here are the changes since you last played:
|
||||
|
||||
hintDescription:
|
||||
title: Tutorial
|
||||
desc: >-
|
||||
Whenever you need help or are stuck, check out the 'Show hint' button in the lower left and I'll give my best to help you!
|
||||
|
||||
upgradesIntroduction:
|
||||
title: Unlock Upgrades
|
||||
desc: >-
|
||||
@ -270,6 +254,17 @@ dialogs:
|
||||
|
||||
markerDemoLimit:
|
||||
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
|
||||
massCutConfirm:
|
||||
title: Confirm cut
|
||||
desc: >-
|
||||
You are cutting a lot of buildings (<count> to be exact)! Are you sure you
|
||||
want to do this?
|
||||
|
||||
exportScreenshotWarning:
|
||||
title: Export screenshot
|
||||
desc: >-
|
||||
You requested to export your base as a screenshot. Please note that this can
|
||||
be quite slow for a big base and even crash your game!
|
||||
|
||||
ingame:
|
||||
# This is shown in the top left corner and displays useful keybindings in
|
||||
@ -286,6 +281,7 @@ ingame:
|
||||
placeBuilding: Place building
|
||||
createMarker: Create Marker
|
||||
delete: Destroy
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
|
||||
# Everything related to placing buildings (I.e. as soon as you selected a building
|
||||
# from the toolbar)
|
||||
@ -324,7 +320,7 @@ ingame:
|
||||
# Mass select information, this is when you hold CTRL and then drag with your mouse
|
||||
# to select multiple buildings
|
||||
massSelect:
|
||||
infoText: Press <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
infoText: Press <keyCut> to cut, <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
|
||||
# The "Upgrades" window
|
||||
shop:
|
||||
@ -495,6 +491,10 @@ buildings:
|
||||
storage:
|
||||
name: Storage
|
||||
description: Stores excess items, up to a given capacity. Can be used as an overflow gate.
|
||||
hub:
|
||||
deliver: Deliver
|
||||
toUnlock: to unlock
|
||||
levelShortcut: LVL
|
||||
|
||||
storyRewards:
|
||||
# Those are the rewards gained from completing the store
|
||||
@ -639,6 +639,10 @@ settings:
|
||||
description: >-
|
||||
Choose the game theme (light / dark).
|
||||
|
||||
themes:
|
||||
dark: Dark
|
||||
light: Light
|
||||
|
||||
refreshRate:
|
||||
title: Simulation Target
|
||||
description: >-
|
||||
@ -654,6 +658,17 @@ settings:
|
||||
description: >-
|
||||
Whether to offer hints and tutorials while playing. Also hides certain UI elements onto a given level to make it easier to get into the game.
|
||||
|
||||
movementSpeed:
|
||||
title: Movement speed
|
||||
description: Changes how fast the view moves when using the keyboard.
|
||||
speeds:
|
||||
super_slow: Super slow
|
||||
slow: Slow
|
||||
regular: Regular
|
||||
fast: Fast
|
||||
super_fast: Super Fast
|
||||
extremely_fast: Extremely Fast
|
||||
|
||||
keybindings:
|
||||
title: Keybindings
|
||||
hint: >-
|
||||
@ -714,9 +729,29 @@ keybindings:
|
||||
placementDisableAutoOrientation: Disable automatic orientation
|
||||
placeMultiple: Stay in placement mode
|
||||
placeInverse: Invert automatic belt orientation
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
massSelectCut: Cut area
|
||||
exportScreenshot: Export whole Base as Image
|
||||
|
||||
about:
|
||||
title: About this Game
|
||||
body: >-
|
||||
This game is open source and developed by <a href="https://github.com/tobspr"
|
||||
target="_blank">Tobias Springer</a> (this is me).<br><br>
|
||||
|
||||
If you want to contribute, check out <a href="<githublink>"
|
||||
target="_blank">shapez.io on github</a>.<br><br>
|
||||
|
||||
This game wouldn't have been possible without the great discord community
|
||||
around my games - You should really join the <a href="<discordlink>"
|
||||
target="_blank">discord server</a>!<br><br>
|
||||
|
||||
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius"
|
||||
target="_blank">Peppsen</a> - He's awesome.<br><br>
|
||||
|
||||
Finally, huge thanks to my best friend <a
|
||||
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Without our
|
||||
factorio sessions this game would never have existed.
|
||||
|
||||
changelog:
|
||||
title: Changelog
|
||||
@ -727,5 +762,6 @@ demo:
|
||||
importingGames: Importing savegames
|
||||
oneGameLimit: Limited to one savegame
|
||||
customizeKeybindings: Customizing Keybindings
|
||||
exportingBase: Exporting whole Base as Image
|
||||
|
||||
settingNotAvailable: Not available in the demo.
|
||||
|
||||
@ -36,7 +36,7 @@ steamPage:
|
||||
|
||||
Since shapes can get boring soon you need to mix colors and paint your shapes with it - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
|
||||
|
||||
This game features 18 levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
This game features 18 levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
|
||||
|
||||
[b]Standalone Advantages[/b]
|
||||
@ -214,17 +214,6 @@ dialogs:
|
||||
title: Demo Version
|
||||
desc: You tried to access a feature (<feature>) which is not available in the demo. Consider to get the standalone for the full experience!
|
||||
|
||||
saveNotPossibleInDemo:
|
||||
desc: Your game has been saved, but restoring it is only possible in the standalone version. Consider to get the standalone for the full experience!
|
||||
|
||||
leaveNotPossibleInDemo:
|
||||
title: Demo version
|
||||
desc: Your game has been saved, but you will not be able to restore it in the demo. Restoring your savegames is only possible in the full version. Are you sure?
|
||||
|
||||
newUpdate:
|
||||
title: Update available
|
||||
desc: There is an update for this game available, be sure to download it!
|
||||
|
||||
oneSavegameLimit:
|
||||
title: Limited savegames
|
||||
desc: You can only have one savegame at a time in the demo version. Please remove the existing one or get the standalone!
|
||||
@ -234,11 +223,6 @@ dialogs:
|
||||
desc: >-
|
||||
Here are the changes since you last played:
|
||||
|
||||
hintDescription:
|
||||
title: Tutorial
|
||||
desc: >-
|
||||
Whenever you need help or are stuck, check out the 'Show hint' button in the lower left and I'll give my best to help you!
|
||||
|
||||
upgradesIntroduction:
|
||||
title: Unlock Upgrades
|
||||
desc: >-
|
||||
@ -270,6 +254,17 @@ dialogs:
|
||||
|
||||
markerDemoLimit:
|
||||
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
|
||||
massCutConfirm:
|
||||
title: Confirm cut
|
||||
desc: >-
|
||||
You are cutting a lot of buildings (<count> to be exact)! Are you sure you
|
||||
want to do this?
|
||||
|
||||
exportScreenshotWarning:
|
||||
title: Export screenshot
|
||||
desc: >-
|
||||
You requested to export your base as a screenshot. Please note that this can
|
||||
be quite slow for a big base and even crash your game!
|
||||
|
||||
ingame:
|
||||
# This is shown in the top left corner and displays useful keybindings in
|
||||
@ -286,6 +281,7 @@ ingame:
|
||||
placeBuilding: Place building
|
||||
createMarker: Create Marker
|
||||
delete: Destroy
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
|
||||
# Everything related to placing buildings (I.e. as soon as you selected a building
|
||||
# from the toolbar)
|
||||
@ -324,7 +320,7 @@ ingame:
|
||||
# Mass select information, this is when you hold CTRL and then drag with your mouse
|
||||
# to select multiple buildings
|
||||
massSelect:
|
||||
infoText: Press <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
infoText: Press <keyCut> to cut, <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
|
||||
# The "Upgrades" window
|
||||
shop:
|
||||
@ -495,6 +491,10 @@ buildings:
|
||||
storage:
|
||||
name: Storage
|
||||
description: Stores excess items, up to a given capacity. Can be used as an overflow gate.
|
||||
hub:
|
||||
deliver: Deliver
|
||||
toUnlock: to unlock
|
||||
levelShortcut: LVL
|
||||
|
||||
storyRewards:
|
||||
# Those are the rewards gained from completing the store
|
||||
@ -639,6 +639,10 @@ settings:
|
||||
description: >-
|
||||
Choose the game theme (light / dark).
|
||||
|
||||
themes:
|
||||
dark: Dark
|
||||
light: Light
|
||||
|
||||
refreshRate:
|
||||
title: Simulation Target
|
||||
description: >-
|
||||
@ -654,6 +658,17 @@ settings:
|
||||
description: >-
|
||||
Whether to offer hints and tutorials while playing. Also hides certain UI elements onto a given level to make it easier to get into the game.
|
||||
|
||||
movementSpeed:
|
||||
title: Movement speed
|
||||
description: Changes how fast the view moves when using the keyboard.
|
||||
speeds:
|
||||
super_slow: Super slow
|
||||
slow: Slow
|
||||
regular: Regular
|
||||
fast: Fast
|
||||
super_fast: Super Fast
|
||||
extremely_fast: Extremely Fast
|
||||
|
||||
keybindings:
|
||||
title: Keybindings
|
||||
hint: >-
|
||||
@ -714,9 +729,29 @@ keybindings:
|
||||
placementDisableAutoOrientation: Disable automatic orientation
|
||||
placeMultiple: Stay in placement mode
|
||||
placeInverse: Invert automatic belt orientation
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
massSelectCut: Cut area
|
||||
exportScreenshot: Export whole Base as Image
|
||||
|
||||
about:
|
||||
title: About this Game
|
||||
body: >-
|
||||
This game is open source and developed by <a href="https://github.com/tobspr"
|
||||
target="_blank">Tobias Springer</a> (this is me).<br><br>
|
||||
|
||||
If you want to contribute, check out <a href="<githublink>"
|
||||
target="_blank">shapez.io on github</a>.<br><br>
|
||||
|
||||
This game wouldn't have been possible without the great discord community
|
||||
around my games - You should really join the <a href="<discordlink>"
|
||||
target="_blank">discord server</a>!<br><br>
|
||||
|
||||
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius"
|
||||
target="_blank">Peppsen</a> - He's awesome.<br><br>
|
||||
|
||||
Finally, huge thanks to my best friend <a
|
||||
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Without our
|
||||
factorio sessions this game would never have existed.
|
||||
|
||||
changelog:
|
||||
title: Changelog
|
||||
@ -727,5 +762,6 @@ demo:
|
||||
importingGames: Importing savegames
|
||||
oneGameLimit: Limited to one savegame
|
||||
customizeKeybindings: Customizing Keybindings
|
||||
exportingBase: Exporting whole Base as Image
|
||||
|
||||
settingNotAvailable: Not available in the demo.
|
||||
|
||||
768
translations/base-tr.yaml
Normal file
@ -0,0 +1,768 @@
|
||||
#
|
||||
# GAME TRANSLATIONS
|
||||
#
|
||||
# Contributing:
|
||||
#
|
||||
# If you want to contribute, please make a pull request on this respository
|
||||
# and I will have a look.
|
||||
#
|
||||
# Placeholders:
|
||||
#
|
||||
# Do *not* replace placeholders! Placeholders have a special syntax like
|
||||
# `Hotkey: <key>`. They are encapsulated within angle brackets. The correct
|
||||
# translation for this one in German for example would be: `Taste: <key>` (notice
|
||||
# how the placeholder stayed '<key>' and was not replaced!)
|
||||
#
|
||||
# Adding a new language:
|
||||
#
|
||||
# If you want to add a new language, ask me in the discord and I will setup
|
||||
# the basic structure so the game also detects it.
|
||||
#
|
||||
|
||||
steamPage:
|
||||
# This is the short text appearing on the steam page
|
||||
shortText: shapez.io is a game about building factories to automate the creation and combination of increasingly complex shapes within an infinite map.
|
||||
|
||||
# This is the long description for the steam page - It is contained here so you can help to translate it, and I will regulary update the store page.
|
||||
# NOTICE:
|
||||
# - Do not translate the first line (This is the gif image at the start of the store)
|
||||
# - Please keep the markup (Stuff like [b], [list] etc) in the same format
|
||||
longText: >-
|
||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
||||
|
||||
shapez.io is a game about building factories to automate the creation and combination of shapes. Deliver the requested, increasingly complex shapes to progress within the game and unlock upgrades to speed up your factory.
|
||||
|
||||
Since the demand raises you will have to scale up your factory to fit the needs - Don't forget about resources though, you will have to expand in the [b]infinite map[/b]!
|
||||
|
||||
Since shapes can get boring soon you need to mix colors and paint your shapes with it - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
|
||||
|
||||
This game features 18 levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
|
||||
|
||||
[b]Standalone Advantages[/b]
|
||||
|
||||
[list]
|
||||
[*] Waypoints
|
||||
[*] Unlimited Savegames
|
||||
[*] Dark Mode
|
||||
[*] More settings
|
||||
[*] Allow me to further develop shapez.io ❤️
|
||||
[*] More features in the future!
|
||||
[/list]
|
||||
|
||||
[b]Planned features & Community suggestions[/b]
|
||||
|
||||
This game is open source - Anybody can contribute! Besides of that, I listen [b]a lot[/b] to the community! I try to read all suggestions and take as much feedback into account as possible.
|
||||
|
||||
[list]
|
||||
[*] Story mode where buildings cost shapes
|
||||
[*] More levels & buildings (standalone exclusive)
|
||||
[*] Different maps, and maybe map obstacles
|
||||
[*] Configurable map creation (Edit number and size of patches, seed, and more)
|
||||
[*] More types of shapes
|
||||
[*] More performance improvements (Although the game already runs pretty good!)
|
||||
[*] Color blind mode
|
||||
[*] And much more!
|
||||
[/list]
|
||||
|
||||
Be sure to check out my trello board for the full roadmap! https://trello.com/b/ISQncpJP/shapezio
|
||||
|
||||
global:
|
||||
loading: Loading
|
||||
error: Error
|
||||
|
||||
# How big numbers are rendered, e.g. "10,000"
|
||||
thousandsDivider: ","
|
||||
|
||||
# The suffix for large numbers, e.g. 1.3k, 400.2M, etc.
|
||||
suffix:
|
||||
thousands: k
|
||||
millions: M
|
||||
billions: B
|
||||
trillions: T
|
||||
|
||||
# Shown for infinitely big numbers
|
||||
infinite: inf
|
||||
|
||||
time:
|
||||
# Used for formatting past time dates
|
||||
oneSecondAgo: one second ago
|
||||
xSecondsAgo: <x> seconds ago
|
||||
oneMinuteAgo: one minute ago
|
||||
xMinutesAgo: <x> minutes ago
|
||||
oneHourAgo: one hour ago
|
||||
xHoursAgo: <x> hours ago
|
||||
oneDayAgo: one day ago
|
||||
xDaysAgo: <x> days ago
|
||||
|
||||
# Short formats for times, e.g. '5h 23m'
|
||||
secondsShort: <seconds>s
|
||||
minutesAndSecondsShort: <minutes>m <seconds>s
|
||||
hoursAndMinutesShort: <hours>h <minutes>m
|
||||
|
||||
xMinutes: <x> minutes
|
||||
|
||||
keys:
|
||||
tab: TAB
|
||||
control: CTRL
|
||||
alt: ALT
|
||||
escape: ESC
|
||||
shift: SHIFT
|
||||
space: SPACE
|
||||
|
||||
demoBanners:
|
||||
# This is the "advertisement" shown in the main menu and other various places
|
||||
title: Demo Version
|
||||
intro: >-
|
||||
Get the standalone to unlock all features!
|
||||
|
||||
mainMenu:
|
||||
play: Play
|
||||
changelog: Changelog
|
||||
importSavegame: Import
|
||||
openSourceHint: This game is open source!
|
||||
discordLink: Official Discord Server
|
||||
helpTranslate: Help translate!
|
||||
|
||||
# This is shown when using firefox and other browsers which are not supported.
|
||||
browserWarning: >-
|
||||
Sorry, but the game is known to run slow on your browser! Get the standalone version or download chrome for the full experience.
|
||||
|
||||
savegameLevel: Level <x>
|
||||
savegameLevelUnknown: Unknown Level
|
||||
|
||||
contests:
|
||||
contest_01_03062020:
|
||||
title: "Contest #01"
|
||||
desc: Win <strong>$25</strong> for the coolest base!
|
||||
longDesc: >-
|
||||
To give something back to you, I thought it would be cool to make weekly contests!
|
||||
<br><br>
|
||||
<strong>This weeks topic:</strong> Build the coolest base!
|
||||
<br><br>
|
||||
Here's the deal:<br>
|
||||
<ul class="bucketList">
|
||||
<li>Submit a screenshot of your base to <strong>contest@shapez.io</strong></li>
|
||||
<li>Bonus points if you share it on social media!</li>
|
||||
<li>I will choose 5 screenshots and propose it to the <strong>discord</strong> community to vote.</li>
|
||||
<li>The winner gets <strong>$25</strong> (Paypal, Amazon Gift Card, whatever you prefer)</li>
|
||||
<li>Deadline: 07.06.2020 12:00 AM CEST</li>
|
||||
</ul>
|
||||
<br>
|
||||
I'm looking forward to seeing your awesome creations!
|
||||
|
||||
showInfo: View
|
||||
contestOver: This contest has ended - Join the discord to get noticed about new contests!
|
||||
|
||||
dialogs:
|
||||
buttons:
|
||||
ok: OK
|
||||
delete: Delete
|
||||
cancel: Cancel
|
||||
later: Later
|
||||
restart: Restart
|
||||
reset: Reset
|
||||
getStandalone: Get Standalone
|
||||
deleteGame: I know what I do
|
||||
viewUpdate: View Update
|
||||
showUpgrades: Show Upgrades
|
||||
showKeybindings: Show Keybindings
|
||||
|
||||
importSavegameError:
|
||||
title: Import Error
|
||||
text: >-
|
||||
Failed to import your savegame:
|
||||
|
||||
importSavegameSuccess:
|
||||
title: Savegame Imported
|
||||
text: >-
|
||||
Your savegame has been successfully imported.
|
||||
|
||||
gameLoadFailure:
|
||||
title: Game is broken
|
||||
text: >-
|
||||
Failed to load your savegame:
|
||||
|
||||
confirmSavegameDelete:
|
||||
title: Confirm deletion
|
||||
text: >-
|
||||
Are you sure you want to delete the game?
|
||||
|
||||
savegameDeletionError:
|
||||
title: Failed to delete
|
||||
text: >-
|
||||
Failed to delete the savegame:
|
||||
|
||||
restartRequired:
|
||||
title: Restart required
|
||||
text: >-
|
||||
You need to restart the game to apply the settings.
|
||||
|
||||
editKeybinding:
|
||||
title: Change Keybinding
|
||||
desc: Press the key or mouse button you want to assign, or escape to cancel.
|
||||
|
||||
resetKeybindingsConfirmation:
|
||||
title: Reset keybindings
|
||||
desc: This will reset all keybindings to their default values. Please confirm.
|
||||
|
||||
keybindingsResetOk:
|
||||
title: Keybindings reset
|
||||
desc: The keybindings have been reset to their respective defaults!
|
||||
|
||||
featureRestriction:
|
||||
title: Demo Version
|
||||
desc: You tried to access a feature (<feature>) which is not available in the demo. Consider to get the standalone for the full experience!
|
||||
|
||||
oneSavegameLimit:
|
||||
title: Limited savegames
|
||||
desc: You can only have one savegame at a time in the demo version. Please remove the existing one or get the standalone!
|
||||
|
||||
updateSummary:
|
||||
title: New update!
|
||||
desc: >-
|
||||
Here are the changes since you last played:
|
||||
|
||||
upgradesIntroduction:
|
||||
title: Unlock Upgrades
|
||||
desc: >-
|
||||
All shapes you produce can be used to unlock upgrades - <strong>Don't destroy your old factories!</strong>
|
||||
The upgrades tab can be found on the top right corner of the screen.
|
||||
|
||||
massDeleteConfirm:
|
||||
title: Confirm delete
|
||||
desc: >-
|
||||
You are deleting a lot of buildings (<count> to be exact)! Are you sure you want to do this?
|
||||
|
||||
blueprintsNotUnlocked:
|
||||
title: Not unlocked yet
|
||||
desc: >-
|
||||
Complete level 12 to unlock Blueprints!
|
||||
|
||||
keybindingsIntroduction:
|
||||
title: Useful keybindings
|
||||
desc: >-
|
||||
This game has a lot of keybindings which make it easier to build big factories.
|
||||
Here are a few, but be sure to <strong>check out the keybindings</strong>!<br><br>
|
||||
<code class='keybinding'>CTRL</code> + Drag: Select area to delete.<br>
|
||||
<code class='keybinding'>SHIFT</code>: Hold to place multiple of one building.<br>
|
||||
<code class='keybinding'>ALT</code>: Invert orientation of placed belts.<br>
|
||||
|
||||
createMarker:
|
||||
title: New Marker
|
||||
desc: Give it a meaningful name
|
||||
|
||||
markerDemoLimit:
|
||||
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
|
||||
massCutConfirm:
|
||||
title: Confirm cut
|
||||
desc: >-
|
||||
You are cutting a lot of buildings (<count> to be exact)! Are you sure you
|
||||
want to do this?
|
||||
|
||||
exportScreenshotWarning:
|
||||
title: Export screenshot
|
||||
desc: >-
|
||||
You requested to export your base as a screenshot. Please note that this can
|
||||
be quite slow for a big base and even crash your game!
|
||||
|
||||
ingame:
|
||||
# This is shown in the top left corner and displays useful keybindings in
|
||||
# every situation
|
||||
keybindingsOverlay:
|
||||
moveMap: Move
|
||||
selectBuildings: Select area
|
||||
stopPlacement: Stop placement
|
||||
rotateBuilding: Rotate building
|
||||
placeMultiple: Place multiple
|
||||
reverseOrientation: Reverse orientation
|
||||
disableAutoOrientation: Disable auto orientation
|
||||
toggleHud: Toggle HUD
|
||||
placeBuilding: Place building
|
||||
createMarker: Create Marker
|
||||
delete: Destroy
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
|
||||
# Everything related to placing buildings (I.e. as soon as you selected a building
|
||||
# from the toolbar)
|
||||
buildingPlacement:
|
||||
# Buildings can have different variants which are unlocked at later levels,
|
||||
# and this is the hint shown when there are multiple variants available.
|
||||
cycleBuildingVariants: Press <key> to cycle variants.
|
||||
|
||||
# Shows the hotkey in the ui, e.g. "Hotkey: Q"
|
||||
hotkeyLabel: >-
|
||||
Hotkey: <key>
|
||||
|
||||
infoTexts:
|
||||
speed: Speed
|
||||
range: Range
|
||||
storage: Storage
|
||||
oneItemPerSecond: 1 item / second
|
||||
itemsPerSecond: <x> items / s
|
||||
itemsPerSecondDouble: (x2)
|
||||
|
||||
tiles: <x> tiles
|
||||
|
||||
# The notification when completing a level
|
||||
levelCompleteNotification:
|
||||
# <level> is replaced by the actual level, so this gets 'Level 03' for example.
|
||||
levelTitle: Level <level>
|
||||
completed: Completed
|
||||
unlockText: Unlocked <reward>!
|
||||
buttonNextLevel: Next Level
|
||||
|
||||
# Notifications on the lower right
|
||||
notifications:
|
||||
newUpgrade: A new upgrade is available!
|
||||
gameSaved: Your game has been saved.
|
||||
|
||||
# Mass select information, this is when you hold CTRL and then drag with your mouse
|
||||
# to select multiple buildings
|
||||
massSelect:
|
||||
infoText: Press <keyCut> to cut, <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
|
||||
# The "Upgrades" window
|
||||
shop:
|
||||
title: Upgrades
|
||||
buttonUnlock: Upgrade
|
||||
|
||||
# Gets replaced to e.g. "Tier IX"
|
||||
tier: Tier <x>
|
||||
|
||||
# The roman number for each tier
|
||||
tierLabels: [I, II, III, IV, V, VI, VII, VIII, IX, X]
|
||||
|
||||
maximumLevel: MAXIMUM LEVEL (Speed x<currentMult>)
|
||||
|
||||
# The "Statistics" window
|
||||
statistics:
|
||||
title: Statistics
|
||||
dataSources:
|
||||
stored:
|
||||
title: Stored
|
||||
description: Displaying amount of stored shapes in your central building.
|
||||
produced:
|
||||
title: Produced
|
||||
description: Displaying all shapes your whole factory produces, including intermediate products.
|
||||
delivered:
|
||||
title: Delivered
|
||||
description: Displaying shapes which are delivered to your central building.
|
||||
noShapesProduced: No shapes have been produced so far.
|
||||
|
||||
# Displays the shapes per minute, e.g. '523 / m'
|
||||
shapesPerMinute: <shapes> / m
|
||||
|
||||
# Settings menu, when you press "ESC"
|
||||
settingsMenu:
|
||||
playtime: Playtime
|
||||
|
||||
buildingsPlaced: Buildings
|
||||
beltsPlaced: Belts
|
||||
|
||||
buttons:
|
||||
continue: Continue
|
||||
settings: Settings
|
||||
menu: Return to menu
|
||||
|
||||
# Bottom left tutorial hints
|
||||
tutorialHints:
|
||||
title: Need help?
|
||||
showHint: Show hint
|
||||
hideHint: Close
|
||||
|
||||
# When placing a blueprint
|
||||
blueprintPlacer:
|
||||
cost: Cost
|
||||
|
||||
# Map markers
|
||||
waypoints:
|
||||
waypoints: Markers
|
||||
hub: HUB
|
||||
description: Left-click a marker to jump to it, right-click to delete it.<br><br>Press <keybinding> to create a marker from the current view, or <strong>right-click</strong> to create a marker at the selected location.
|
||||
creationSuccessNotification: Marker has been created.
|
||||
|
||||
# Interactive tutorial
|
||||
interactiveTutorial:
|
||||
title: Tutorial
|
||||
hints:
|
||||
1_1_extractor: Place an <strong>extractor</strong> on top of a <strong>circle shape</strong> to extract it!
|
||||
1_2_conveyor: >-
|
||||
Connect the extractor with a <strong>conveyor belt</strong> to your hub!<br><br>Tip: <strong>Click and drag</strong> the belt with your mouse!
|
||||
|
||||
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.
|
||||
|
||||
# All shop upgrades
|
||||
shopUpgrades:
|
||||
belt:
|
||||
name: Belts, Distributor & Tunnels
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
miner:
|
||||
name: Extraction
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
processors:
|
||||
name: Cutting, Rotating & Stacking
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
painting:
|
||||
name: Mixing & Painting
|
||||
description: Speed x<currentMult> → x<newMult>
|
||||
|
||||
# Buildings and their name / description
|
||||
buildings:
|
||||
hub:
|
||||
deliver: Deliver
|
||||
toUnlock: to unlock
|
||||
levelShortcut: LVL
|
||||
|
||||
belt:
|
||||
default:
|
||||
name: &belt Conveyor Belt
|
||||
description: Transports items, hold and drag to place multiple.
|
||||
|
||||
miner: # Internal name for the Extractor
|
||||
default:
|
||||
name: &miner Extractor
|
||||
description: Place over a shape or color to extract it.
|
||||
|
||||
chainable:
|
||||
name: Extractor (Chain)
|
||||
description: Place over a shape or color to extract it. Can be chained.
|
||||
|
||||
underground_belt: # Internal name for the Tunnel
|
||||
default:
|
||||
name: &underground_belt Tunnel
|
||||
description: Allows to tunnel resources under buildings and belts.
|
||||
|
||||
tier2:
|
||||
name: Tunnel Tier II
|
||||
description: Allows to tunnel resources under buildings and belts.
|
||||
|
||||
splitter: # Internal name for the Balancer
|
||||
default:
|
||||
name: &splitter Balancer
|
||||
description: Multifunctional - Evenly distributes all inputs onto all outputs.
|
||||
|
||||
compact:
|
||||
name: Merger (compact)
|
||||
description: Merges two conveyor belts into one.
|
||||
|
||||
compact-inverse:
|
||||
name: Merger (compact)
|
||||
description: Merges two conveyor belts into one.
|
||||
|
||||
cutter:
|
||||
default:
|
||||
name: &cutter Cutter
|
||||
description: Cuts shapes from top to bottom and outputs both halfs. <strong>If you use only one part, be sure to destroy the other part or it will stall!</strong>
|
||||
quad:
|
||||
name: Cutter (Quad)
|
||||
description: Cuts shapes into four parts. <strong>If you use only one part, be sure to destroy the other part or it will stall!</strong>
|
||||
|
||||
rotater:
|
||||
default:
|
||||
name: &rotater Rotate
|
||||
description: Rotates shapes clockwise by 90 degrees.
|
||||
ccw:
|
||||
name: Rotate (CCW)
|
||||
description: Rotates shapes counter clockwise by 90 degrees.
|
||||
|
||||
stacker:
|
||||
default:
|
||||
name: &stacker Stacker
|
||||
description: Stacks both items. If they can not be merged, the right item is placed above the left item.
|
||||
|
||||
mixer:
|
||||
default:
|
||||
name: &mixer Color Mixer
|
||||
description: Mixes two colors using additive blending.
|
||||
|
||||
painter:
|
||||
default:
|
||||
name: &painter Painter
|
||||
description: Colors the whole shape on the left input with the color from the right input.
|
||||
double:
|
||||
name: Painter (Double)
|
||||
description: Colors the shapes on the left inputs with the color from the top input.
|
||||
quad:
|
||||
name: Painter (Quad)
|
||||
description: Allows to color each quadrant of the shape with a different color.
|
||||
|
||||
trash:
|
||||
default:
|
||||
name: &trash Trash
|
||||
description: Accepts inputs from all sides and destroys them. Forever.
|
||||
|
||||
storage:
|
||||
name: Storage
|
||||
description: Stores excess items, up to a given capacity. Can be used as an overflow gate.
|
||||
|
||||
storyRewards:
|
||||
# Those are the rewards gained from completing the store
|
||||
reward_cutter_and_trash:
|
||||
title: Cutting Shapes
|
||||
desc: You just unlocked the <strong>cutter</strong> - it cuts shapes half from <strong>top to bottom</strong> regardless of its orientation!<br><br>Be sure to get rid of the waste, or otherwise <strong>it will stall</strong> - For this purpose I gave you a trash, which destroys everything you put into it!
|
||||
|
||||
reward_rotater:
|
||||
title: Rotating
|
||||
desc: The <strong>rotater</strong> has been unlocked! It rotates shapes clockwise by 90 degrees.
|
||||
|
||||
reward_painter:
|
||||
title: Painting
|
||||
desc: >-
|
||||
The <strong>painter</strong> has been unlocked - Extract some color veins (just as you do with shapes) and combine it with a shape in the painter to color them!<br><br>PS: If you are colorblind, I'm working on a solution already!
|
||||
|
||||
reward_mixer:
|
||||
title: Color Mixing
|
||||
desc: The <strong>mixer</strong> has been unlocked - Combine two colors using <strong>additive blending</strong> with this building!
|
||||
|
||||
reward_stacker:
|
||||
title: Combiner
|
||||
desc: You can now combine shapes with the <strong>combiner</strong>! Both inputs are combined, and if they can be put next to each other, they will be <strong>fused</strong>. If not, the right input is <strong>stacked on top</strong> of the left input!
|
||||
|
||||
reward_splitter:
|
||||
title: Splitter/Merger
|
||||
desc: The multifunctional <strong>balancer</strong> has been unlocked - It can be used to build bigger factories by <strong>splitting and merging items</strong> onto multiple belts!<br><br>
|
||||
|
||||
reward_tunnel:
|
||||
title: Tunnel
|
||||
desc: The <strong>tunnel</strong> has been unlocked - You can now pipe items through belts and buildings with it!
|
||||
|
||||
reward_rotater_ccw:
|
||||
title: CCW Rotating
|
||||
desc: You have unlocked a variant of the <strong>rotater</strong> - It allows to rotate counter clockwise! To build it, select the rotater and <strong>press 'T' to cycle its variants</strong>!
|
||||
|
||||
reward_miner_chainable:
|
||||
title: Chaining Extractor
|
||||
desc: You have unlocked the <strong>chaining extractor</strong>! It can <strong>forward its resources</strong> to other extractors so you can more efficiently extract resources!
|
||||
|
||||
reward_underground_belt_tier_2:
|
||||
title: Tunnel Tier II
|
||||
desc: You have unlocked a new variant of the <strong>tunnel</strong> - It has a <strong>bigger range</strong>, and you can also mix-n-match those tunnels now!
|
||||
|
||||
reward_splitter_compact:
|
||||
title: Compact Balancer
|
||||
desc: >-
|
||||
You have unlocked a compact variant of the <strong>balancer</strong> - It accepts two inputs and merges them into one!
|
||||
|
||||
reward_cutter_quad:
|
||||
title: Quad Cutting
|
||||
desc: You have unlocked a variant of the <strong>cutter</strong> - It allows you to cut shapes in <strong>four parts</strong> instead of just two!
|
||||
|
||||
reward_painter_double:
|
||||
title: Double Painting
|
||||
desc: You have unlocked a variant of the <strong>painter</strong> - It works as the regular painter but processes <strong>two shapes at once</strong> consuming just one color instead of two!
|
||||
|
||||
reward_painter_quad:
|
||||
title: Quad Painting
|
||||
desc: You have unlocked a variant of the <strong>painter</strong> - It allows to paint each part of the shape individually!
|
||||
|
||||
reward_storage:
|
||||
title: Storage Buffer
|
||||
desc: You have unlocked a variant of the <strong>trash</strong> - It allows to store items up to a given capacity!
|
||||
|
||||
reward_freeplay:
|
||||
title: Freeplay
|
||||
desc: You did it! You unlocked the <strong>free-play mode</strong>! This means that shapes are now randomly generated! (No worries, more content is planned for the standalone!)
|
||||
|
||||
reward_blueprints:
|
||||
title: Blueprints
|
||||
desc: You can now <strong>copy and paste</strong> parts of your factory! Select an area (Hold CTRL, then drag with your mouse), and press 'C' to copy it.<br><br>Pasting it is <strong>not free</strong>, you need to produce <strong>blueprint shapes</strong> to afford it! (Those you just delivered).
|
||||
|
||||
# Special reward, which is shown when there is no reward actually
|
||||
no_reward:
|
||||
title: Next level
|
||||
desc: >-
|
||||
This level gave you no reward, but the next one will! <br><br> PS: Better don't destroy your existing factory - You need <strong>all</strong> those shapes later again to <strong>unlock upgrades</strong>!
|
||||
|
||||
no_reward_freeplay:
|
||||
title: Next level
|
||||
desc: >-
|
||||
Congratulations! By the way, more content is planned for the standalone!
|
||||
|
||||
settings:
|
||||
title: Settings
|
||||
categories:
|
||||
game: Game
|
||||
app: Application
|
||||
|
||||
versionBadges:
|
||||
dev: Development
|
||||
staging: Staging
|
||||
prod: Production
|
||||
buildDate: Built <at-date>
|
||||
|
||||
labels:
|
||||
uiScale:
|
||||
title: Interface scale
|
||||
description: >-
|
||||
Changes the size of the user interface. The interface will still scale based on your device resolution, but this setting controls the amount of scale.
|
||||
scales:
|
||||
super_small: Super small
|
||||
small: Small
|
||||
regular: Regular
|
||||
large: Large
|
||||
huge: Huge
|
||||
|
||||
scrollWheelSensitivity:
|
||||
title: Zoom sensitivity
|
||||
description: >-
|
||||
Changes how sensitive the zoom is (Either mouse wheel or trackpad).
|
||||
sensitivity:
|
||||
super_slow: Super slow
|
||||
slow: Slow
|
||||
regular: Regular
|
||||
fast: Fast
|
||||
super_fast: Super fast
|
||||
|
||||
language:
|
||||
title: Language
|
||||
description: >-
|
||||
Change the language. All translations are user contributed and might be incomplete!
|
||||
|
||||
fullscreen:
|
||||
title: Fullscreen
|
||||
description: >-
|
||||
It is recommended to play the game in fullscreen to get the best experience. Only available in the standalone.
|
||||
|
||||
soundsMuted:
|
||||
title: Mute Sounds
|
||||
description: >-
|
||||
If enabled, mutes all sound effects.
|
||||
|
||||
musicMuted:
|
||||
title: Mute Music
|
||||
description: >-
|
||||
If enabled, mutes all music.
|
||||
|
||||
theme:
|
||||
title: Game theme
|
||||
description: >-
|
||||
Choose the game theme (light / dark).
|
||||
|
||||
themes:
|
||||
dark: Dark
|
||||
light: Light
|
||||
|
||||
refreshRate:
|
||||
title: Simulation Target
|
||||
description: >-
|
||||
If you have a 144hz monitor, change the refresh rate here so the game will properly simulate at higher refresh rates. This might actually decrease the FPS if your computer is too slow.
|
||||
|
||||
alwaysMultiplace:
|
||||
title: Multiplace
|
||||
description: >-
|
||||
If enabled, all buildings will stay selected after placement until you cancel it. This is equivalent to holding SHIFT permanently.
|
||||
|
||||
offerHints:
|
||||
title: Hints & Tutorials
|
||||
description: >-
|
||||
Whether to offer hints and tutorials while playing. Also hides certain UI elements onto a given level to make it easier to get into the game.
|
||||
|
||||
movementSpeed:
|
||||
title: Movement speed
|
||||
description: Changes how fast the view moves when using the keyboard.
|
||||
speeds:
|
||||
super_slow: Super slow
|
||||
slow: Slow
|
||||
regular: Regular
|
||||
fast: Fast
|
||||
super_fast: Super Fast
|
||||
extremely_fast: Extremely Fast
|
||||
|
||||
keybindings:
|
||||
title: Keybindings
|
||||
hint: >-
|
||||
Tip: Be sure to make use of CTRL, SHIFT and ALT! They enable different placement options.
|
||||
|
||||
resetKeybindings: Reset Keyinbindings
|
||||
|
||||
categoryLabels:
|
||||
general: Application
|
||||
ingame: Game
|
||||
navigation: Navigating
|
||||
placement: Placement
|
||||
massSelect: Mass Select
|
||||
buildings: Building Shortcuts
|
||||
placementModifiers: Placement Modifiers
|
||||
|
||||
mappings:
|
||||
confirm: Confirm
|
||||
back: Back
|
||||
mapMoveUp: Move Up
|
||||
mapMoveRight: Move Right
|
||||
mapMoveDown: Move Down
|
||||
mapMoveLeft: Move Left
|
||||
centerMap: Center Map
|
||||
|
||||
mapZoomIn: Zoom in
|
||||
mapZoomOut: Zoom out
|
||||
createMarker: Create Marker
|
||||
|
||||
menuOpenShop: Upgrades
|
||||
menuOpenStats: Statistics
|
||||
|
||||
toggleHud: Toggle HUD
|
||||
toggleFPSInfo: Toggle FPS and Debug Info
|
||||
belt: *belt
|
||||
splitter: *splitter
|
||||
underground_belt: *underground_belt
|
||||
miner: *miner
|
||||
cutter: *cutter
|
||||
rotater: *rotater
|
||||
stacker: *stacker
|
||||
mixer: *mixer
|
||||
painter: *painter
|
||||
trash: *trash
|
||||
|
||||
abortBuildingPlacement: Abort Placement
|
||||
rotateWhilePlacing: Rotate
|
||||
rotateInverseModifier: >-
|
||||
Modifier: Rotate CCW instead
|
||||
cycleBuildingVariants: Cycle Variants
|
||||
confirmMassDelete: Confirm Mass Delete
|
||||
cycleBuildings: Cycle Buildings
|
||||
|
||||
massSelectStart: Hold and drag to start
|
||||
massSelectSelectMultiple: Select multiple areas
|
||||
massSelectCopy: Copy area
|
||||
|
||||
placementDisableAutoOrientation: Disable automatic orientation
|
||||
placeMultiple: Stay in placement mode
|
||||
placeInverse: Invert automatic belt orientation
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
massSelectCut: Cut area
|
||||
exportScreenshot: Export whole Base as Image
|
||||
|
||||
about:
|
||||
title: About this Game
|
||||
body: >-
|
||||
This game is open source and developed by <a href="https://github.com/tobspr"
|
||||
target="_blank">Tobias Springer</a> (this is me).<br><br>
|
||||
|
||||
If you want to contribute, check out <a href="<githublink>"
|
||||
target="_blank">shapez.io on github</a>.<br><br>
|
||||
|
||||
This game wouldn't have been possible without the great discord community
|
||||
around my games - You should really join the <a href="<discordlink>"
|
||||
target="_blank">discord server</a>!<br><br>
|
||||
|
||||
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius"
|
||||
target="_blank">Peppsen</a> - He's awesome.<br><br>
|
||||
|
||||
Finally, huge thanks to my best friend <a
|
||||
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Without our
|
||||
factorio sessions this game would never have existed.
|
||||
|
||||
changelog:
|
||||
title: Changelog
|
||||
|
||||
demo:
|
||||
features:
|
||||
restoringGames: Restoring savegames
|
||||
importingGames: Importing savegames
|
||||
oneGameLimit: Limited to one savegame
|
||||
customizeKeybindings: Customizing Keybindings
|
||||
exportingBase: Exporting whole Base as Image
|
||||
|
||||
settingNotAvailable: Not available in the demo.
|
||||
@ -36,7 +36,7 @@ steamPage:
|
||||
|
||||
Since shapes can get boring soon you need to mix colors and paint your shapes with it - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
|
||||
|
||||
This game features 18 levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
This game features 18 levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
|
||||
|
||||
[b]Standalone Advantages[/b]
|
||||
@ -214,17 +214,6 @@ dialogs:
|
||||
title: Demo Version
|
||||
desc: You tried to access a feature (<feature>) which is not available in the demo. Consider to get the standalone for the full experience!
|
||||
|
||||
saveNotPossibleInDemo:
|
||||
desc: Your game has been saved, but restoring it is only possible in the standalone version. Consider to get the standalone for the full experience!
|
||||
|
||||
leaveNotPossibleInDemo:
|
||||
title: Demo version
|
||||
desc: Your game has been saved, but you will not be able to restore it in the demo. Restoring your savegames is only possible in the full version. Are you sure?
|
||||
|
||||
newUpdate:
|
||||
title: Update available
|
||||
desc: There is an update for this game available, be sure to download it!
|
||||
|
||||
oneSavegameLimit:
|
||||
title: Limited savegames
|
||||
desc: You can only have one savegame at a time in the demo version. Please remove the existing one or get the standalone!
|
||||
@ -234,11 +223,6 @@ dialogs:
|
||||
desc: >-
|
||||
Here are the changes since you last played:
|
||||
|
||||
hintDescription:
|
||||
title: Tutorial
|
||||
desc: >-
|
||||
Whenever you need help or are stuck, check out the 'Show hint' button in the lower left and I'll give my best to help you!
|
||||
|
||||
upgradesIntroduction:
|
||||
title: Unlock Upgrades
|
||||
desc: >-
|
||||
@ -270,6 +254,17 @@ dialogs:
|
||||
|
||||
markerDemoLimit:
|
||||
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
|
||||
massCutConfirm:
|
||||
title: Confirm cut
|
||||
desc: >-
|
||||
You are cutting a lot of buildings (<count> to be exact)! Are you sure you
|
||||
want to do this?
|
||||
|
||||
exportScreenshotWarning:
|
||||
title: Export screenshot
|
||||
desc: >-
|
||||
You requested to export your base as a screenshot. Please note that this can
|
||||
be quite slow for a big base and even crash your game!
|
||||
|
||||
ingame:
|
||||
# This is shown in the top left corner and displays useful keybindings in
|
||||
@ -286,6 +281,7 @@ ingame:
|
||||
placeBuilding: Place building
|
||||
createMarker: Create Marker
|
||||
delete: Destroy
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
|
||||
# Everything related to placing buildings (I.e. as soon as you selected a building
|
||||
# from the toolbar)
|
||||
@ -324,7 +320,7 @@ ingame:
|
||||
# Mass select information, this is when you hold CTRL and then drag with your mouse
|
||||
# to select multiple buildings
|
||||
massSelect:
|
||||
infoText: Press <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
infoText: Press <keyCut> to cut, <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
|
||||
# The "Upgrades" window
|
||||
shop:
|
||||
@ -495,6 +491,10 @@ buildings:
|
||||
storage:
|
||||
name: Storage
|
||||
description: Stores excess items, up to a given capacity. Can be used as an overflow gate.
|
||||
hub:
|
||||
deliver: Deliver
|
||||
toUnlock: to unlock
|
||||
levelShortcut: LVL
|
||||
|
||||
storyRewards:
|
||||
# Those are the rewards gained from completing the store
|
||||
@ -639,6 +639,10 @@ settings:
|
||||
description: >-
|
||||
Choose the game theme (light / dark).
|
||||
|
||||
themes:
|
||||
dark: Dark
|
||||
light: Light
|
||||
|
||||
refreshRate:
|
||||
title: Simulation Target
|
||||
description: >-
|
||||
@ -654,6 +658,17 @@ settings:
|
||||
description: >-
|
||||
Whether to offer hints and tutorials while playing. Also hides certain UI elements onto a given level to make it easier to get into the game.
|
||||
|
||||
movementSpeed:
|
||||
title: Movement speed
|
||||
description: Changes how fast the view moves when using the keyboard.
|
||||
speeds:
|
||||
super_slow: Super slow
|
||||
slow: Slow
|
||||
regular: Regular
|
||||
fast: Fast
|
||||
super_fast: Super Fast
|
||||
extremely_fast: Extremely Fast
|
||||
|
||||
keybindings:
|
||||
title: Keybindings
|
||||
hint: >-
|
||||
@ -714,9 +729,29 @@ keybindings:
|
||||
placementDisableAutoOrientation: Disable automatic orientation
|
||||
placeMultiple: Stay in placement mode
|
||||
placeInverse: Invert automatic belt orientation
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
massSelectCut: Cut area
|
||||
exportScreenshot: Export whole Base as Image
|
||||
|
||||
about:
|
||||
title: About this Game
|
||||
body: >-
|
||||
This game is open source and developed by <a href="https://github.com/tobspr"
|
||||
target="_blank">Tobias Springer</a> (this is me).<br><br>
|
||||
|
||||
If you want to contribute, check out <a href="<githublink>"
|
||||
target="_blank">shapez.io on github</a>.<br><br>
|
||||
|
||||
This game wouldn't have been possible without the great discord community
|
||||
around my games - You should really join the <a href="<discordlink>"
|
||||
target="_blank">discord server</a>!<br><br>
|
||||
|
||||
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius"
|
||||
target="_blank">Peppsen</a> - He's awesome.<br><br>
|
||||
|
||||
Finally, huge thanks to my best friend <a
|
||||
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Without our
|
||||
factorio sessions this game would never have existed.
|
||||
|
||||
changelog:
|
||||
title: Changelog
|
||||
@ -727,5 +762,6 @@ demo:
|
||||
importingGames: Importing savegames
|
||||
oneGameLimit: Limited to one savegame
|
||||
customizeKeybindings: Customizing Keybindings
|
||||
exportingBase: Exporting whole Base as Image
|
||||
|
||||
settingNotAvailable: Not available in the demo.
|
||||
|
||||
@ -36,7 +36,7 @@ steamPage:
|
||||
|
||||
Since shapes can get boring soon you need to mix colors and paint your shapes with it - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
|
||||
|
||||
This game features 18 levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
This game features 18 levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
|
||||
|
||||
[b]Standalone Advantages[/b]
|
||||
@ -214,17 +214,6 @@ dialogs:
|
||||
title: Demo Version
|
||||
desc: You tried to access a feature (<feature>) which is not available in the demo. Consider to get the standalone for the full experience!
|
||||
|
||||
saveNotPossibleInDemo:
|
||||
desc: Your game has been saved, but restoring it is only possible in the standalone version. Consider to get the standalone for the full experience!
|
||||
|
||||
leaveNotPossibleInDemo:
|
||||
title: Demo version
|
||||
desc: Your game has been saved, but you will not be able to restore it in the demo. Restoring your savegames is only possible in the full version. Are you sure?
|
||||
|
||||
newUpdate:
|
||||
title: Update available
|
||||
desc: There is an update for this game available, be sure to download it!
|
||||
|
||||
oneSavegameLimit:
|
||||
title: Limited savegames
|
||||
desc: You can only have one savegame at a time in the demo version. Please remove the existing one or get the standalone!
|
||||
@ -234,11 +223,6 @@ dialogs:
|
||||
desc: >-
|
||||
Here are the changes since you last played:
|
||||
|
||||
hintDescription:
|
||||
title: Tutorial
|
||||
desc: >-
|
||||
Whenever you need help or are stuck, check out the 'Show hint' button in the lower left and I'll give my best to help you!
|
||||
|
||||
upgradesIntroduction:
|
||||
title: Unlock Upgrades
|
||||
desc: >-
|
||||
@ -270,6 +254,17 @@ dialogs:
|
||||
|
||||
markerDemoLimit:
|
||||
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
|
||||
massCutConfirm:
|
||||
title: Confirm cut
|
||||
desc: >-
|
||||
You are cutting a lot of buildings (<count> to be exact)! Are you sure you
|
||||
want to do this?
|
||||
|
||||
exportScreenshotWarning:
|
||||
title: Export screenshot
|
||||
desc: >-
|
||||
You requested to export your base as a screenshot. Please note that this can
|
||||
be quite slow for a big base and even crash your game!
|
||||
|
||||
ingame:
|
||||
# This is shown in the top left corner and displays useful keybindings in
|
||||
@ -286,6 +281,7 @@ ingame:
|
||||
placeBuilding: Place building
|
||||
createMarker: Create Marker
|
||||
delete: Destroy
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
|
||||
# Everything related to placing buildings (I.e. as soon as you selected a building
|
||||
# from the toolbar)
|
||||
@ -324,7 +320,7 @@ ingame:
|
||||
# Mass select information, this is when you hold CTRL and then drag with your mouse
|
||||
# to select multiple buildings
|
||||
massSelect:
|
||||
infoText: Press <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
infoText: Press <keyCut> to cut, <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
|
||||
|
||||
# The "Upgrades" window
|
||||
shop:
|
||||
@ -495,6 +491,10 @@ buildings:
|
||||
storage:
|
||||
name: Storage
|
||||
description: Stores excess items, up to a given capacity. Can be used as an overflow gate.
|
||||
hub:
|
||||
deliver: Deliver
|
||||
toUnlock: to unlock
|
||||
levelShortcut: LVL
|
||||
|
||||
storyRewards:
|
||||
# Those are the rewards gained from completing the store
|
||||
@ -639,6 +639,10 @@ settings:
|
||||
description: >-
|
||||
Choose the game theme (light / dark).
|
||||
|
||||
themes:
|
||||
dark: Dark
|
||||
light: Light
|
||||
|
||||
refreshRate:
|
||||
title: Simulation Target
|
||||
description: >-
|
||||
@ -654,6 +658,17 @@ settings:
|
||||
description: >-
|
||||
Whether to offer hints and tutorials while playing. Also hides certain UI elements onto a given level to make it easier to get into the game.
|
||||
|
||||
movementSpeed:
|
||||
title: Movement speed
|
||||
description: Changes how fast the view moves when using the keyboard.
|
||||
speeds:
|
||||
super_slow: Super slow
|
||||
slow: Slow
|
||||
regular: Regular
|
||||
fast: Fast
|
||||
super_fast: Super Fast
|
||||
extremely_fast: Extremely Fast
|
||||
|
||||
keybindings:
|
||||
title: Keybindings
|
||||
hint: >-
|
||||
@ -714,9 +729,29 @@ keybindings:
|
||||
placementDisableAutoOrientation: Disable automatic orientation
|
||||
placeMultiple: Stay in placement mode
|
||||
placeInverse: Invert automatic belt orientation
|
||||
pasteLastBlueprint: Paste last blueprint
|
||||
massSelectCut: Cut area
|
||||
exportScreenshot: Export whole Base as Image
|
||||
|
||||
about:
|
||||
title: About this Game
|
||||
body: >-
|
||||
This game is open source and developed by <a href="https://github.com/tobspr"
|
||||
target="_blank">Tobias Springer</a> (this is me).<br><br>
|
||||
|
||||
If you want to contribute, check out <a href="<githublink>"
|
||||
target="_blank">shapez.io on github</a>.<br><br>
|
||||
|
||||
This game wouldn't have been possible without the great discord community
|
||||
around my games - You should really join the <a href="<discordlink>"
|
||||
target="_blank">discord server</a>!<br><br>
|
||||
|
||||
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius"
|
||||
target="_blank">Peppsen</a> - He's awesome.<br><br>
|
||||
|
||||
Finally, huge thanks to my best friend <a
|
||||
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Without our
|
||||
factorio sessions this game would never have existed.
|
||||
|
||||
changelog:
|
||||
title: Changelog
|
||||
@ -727,5 +762,6 @@ demo:
|
||||
importingGames: Importing savegames
|
||||
oneGameLimit: Limited to one savegame
|
||||
customizeKeybindings: Customizing Keybindings
|
||||
exportingBase: Exporting whole Base as Image
|
||||
|
||||
settingNotAvailable: Not available in the demo.
|
||||
|
||||
34
yarn.lock
@ -5334,6 +5334,14 @@ js-yaml@^3.13.1:
|
||||
argparse "^1.0.7"
|
||||
esprima "^4.0.0"
|
||||
|
||||
js-yaml@^3.4.2:
|
||||
version "3.14.0"
|
||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482"
|
||||
integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==
|
||||
dependencies:
|
||||
argparse "^1.0.7"
|
||||
esprima "^4.0.0"
|
||||
|
||||
jsesc@^2.5.1:
|
||||
version "2.5.2"
|
||||
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
|
||||
@ -5609,7 +5617,7 @@ lodash.uniq@^4.5.0:
|
||||
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
|
||||
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
|
||||
|
||||
lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.3.0:
|
||||
lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.3.0:
|
||||
version "4.17.15"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
|
||||
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
|
||||
@ -5744,6 +5752,11 @@ marked@^0.5.0:
|
||||
resolved "https://registry.yarnpkg.com/marked/-/marked-0.5.2.tgz#3efdb27b1fd0ecec4f5aba362bddcd18120e5ba9"
|
||||
integrity sha512-fdZvBa7/vSQIZCi4uuwo2N3q+7jJURpMVCcbaX0S1Mg65WZ5ilXvC67MviJAsdjqqgD+CEq4RKo5AYGgINkVAA==
|
||||
|
||||
match-all@^1.2.5:
|
||||
version "1.2.5"
|
||||
resolved "https://registry.yarnpkg.com/match-all/-/match-all-1.2.5.tgz#f709af311a7cb9ae464d9107a4f0fe08d3326eff"
|
||||
integrity sha512-KW4trRDMYbVkAKZ1J655vh0931mk3XM1lIJ480TXUL3KBrOsZ6WpryYJELonvtXC1O4erLYB069uHidLkswbjQ==
|
||||
|
||||
md5.js@^1.3.4:
|
||||
version "1.3.5"
|
||||
resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
|
||||
@ -9771,6 +9784,16 @@ yallist@^3.0.2:
|
||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
|
||||
integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
|
||||
|
||||
yaml-js@^0.1.3:
|
||||
version "0.1.5"
|
||||
resolved "https://registry.yarnpkg.com/yaml-js/-/yaml-js-0.1.5.tgz#a01369010b3558d8aaed2394615dfd0780fd8fac"
|
||||
integrity sha1-oBNpAQs1WNiq7SOUYV39B4D9j6w=
|
||||
|
||||
yaml@^1.10.0:
|
||||
version "1.10.0"
|
||||
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e"
|
||||
integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==
|
||||
|
||||
yargs-parser@^13.1.0:
|
||||
version "13.1.2"
|
||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
|
||||
@ -9875,6 +9898,15 @@ yauzl@^2.4.2:
|
||||
buffer-crc32 "~0.2.3"
|
||||
fd-slicer "~1.1.0"
|
||||
|
||||
yawn-yaml@^1.5.0:
|
||||
version "1.5.0"
|
||||
resolved "https://registry.yarnpkg.com/yawn-yaml/-/yawn-yaml-1.5.0.tgz#95fba7544d5375fce3dc84514f12218ed0d2ebcb"
|
||||
integrity sha512-sH2zX9K1QiWhWh9U19pye660qlzrEAd5c4ebw/6lqz17LZw7xYi7nqXlBoVLVtc2FZFXDKiJIsvVcKGYbLVyFQ==
|
||||
dependencies:
|
||||
js-yaml "^3.4.2"
|
||||
lodash "^4.17.11"
|
||||
yaml-js "^0.1.3"
|
||||
|
||||
yeast@0.1.2:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
|
||||
|
||||