Merge pull request #6 from tobspr/master

Update
This commit is contained in:
Killgaru 2020-06-13 14:37:42 +03:00 committed by GitHub
commit a902cdcac7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
99 changed files with 8770 additions and 2799 deletions

3
.gitignore vendored
View File

@ -112,3 +112,6 @@ tmp_standalone_files
# Github Actions files
.github/workflows
# Local config
config.local.js

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7697c34997a719bed9ddf9c16c19c672a0fdf9641edf0a9761aea9c2c7e17c6b
size 632609
oid sha256:6463b33b2cae50d1ecb11f0a845f06633aff331a5c2c0998d9eb93e40ad576b1
size 636254

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:87ff03f1c77d8c245e4e2fe716b6243aecca174425ae24cfd19ffb5bd1df52f6
size 1191627
oid sha256:95a342ce958586280b9ebc69a41d5cc950915b787de83ddaf101dbb852bdaf86
size 1179560

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e9341c471a5807f58c0277b1ae220499d85871ff62c653866074bce12ef1f0d7
size 201007
oid sha256:47b6aca7fe07f4628b041f32ce813a840793cfdce8ffa27c7ff4562858ac05f9
size 194245

View File

@ -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();

View File

@ -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() +

View File

@ -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.0.1",

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

99
res/ui/languages/kor.svg Normal file
View 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

View File

@ -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$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View File

@ -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$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 752 KiB

After

Width:  |  Height:  |  Size: 743 KiB

View File

@ -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$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 KiB

After

Width:  |  Height:  |  Size: 160 KiB

View File

@ -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$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 380 KiB

After

Width:  |  Height:  |  Size: 374 KiB

View File

@ -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$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 746 KiB

After

Width:  |  Height:  |  Size: 735 KiB

View File

@ -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>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -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)

View File

@ -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}"] {

View File

@ -118,6 +118,10 @@
pointer-events: all;
@include S(width, 350px);
@include DarkThemeOverride {
color: #aaa;
}
strong {
font-weight: bold;
}

View File

@ -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;
}

View File

@ -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;
}
}
}

View File

@ -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"] {

View File

@ -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);

View File

@ -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);

View File

@ -39,6 +39,10 @@
a {
color: $colorBlueBright;
}
li {
@include SuperSmallText;
@include S(margin-bottom, 10px);
}
}
}

View File

@ -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");

View File

@ -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)",
],
},

View File

@ -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;
}

View 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 */
};

View File

@ -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;
}

View File

@ -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

View File

@ -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}

View File

@ -175,6 +175,8 @@ export class MetaUndergroundBeltBuilding extends MetaBuilding {
rotationVariant: 0,
connectedEntities: [contents],
};
} else {
break;
}
}
}

View File

@ -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();
}
}
}

View File

@ -409,7 +409,7 @@ export class GameCore {
}
if (G_IS_DEV) {
root.map.drawStaticEntities(params);
root.map.drawStaticEntityDebugOverlays(params);
}
// END OF GAME CONTENT

View File

@ -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;

View File

@ -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) {

View File

@ -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

View File

@ -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, {});

View File

@ -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];

View File

@ -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>
`
);

View File

@ -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());
}
}

View File

@ -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);

View File

@ -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();
}
}

View 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!");
}
}

View File

@ -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");
}

View File

@ -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);

View File

@ -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";
}

View File

@ -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: {

View File

@ -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);
}
}
}

View File

@ -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";
}
}

View File

@ -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: "",
},
};

View File

@ -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();
}
}

View File

@ -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();
}

View File

@ -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");

View 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: [] };
}
}

View File

@ -0,0 +1,5 @@
{
"type": "object",
"required": [],
"additionalProperties": true
}

View File

@ -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() {

View File

@ -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
);
});
});
});
}

View File

@ -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();
});
})

View File

@ -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>
`
: ""
}

View File

@ -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
View 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");
}

View File

@ -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
View 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
View 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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

File diff suppressed because it is too large Load Diff

View File

@ -30,41 +30,42 @@ steamPage:
longText: >-
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
shapez.io est un jeu qui consiste à construire des usines pour automatiser la création et la combinaison de formes. Livrez les formes demandées, de plus en plus complexes, pour progresser dans le jeu et débloquez des améliorations pour accélérer votre usine.
shapez.io est un jeu ayant pour objectif d'automatiser la création et la fusion de formes à l'aide d'une usine. Livrez les formes de plus en plus complexes requises pour progresser dans le jeu et débloquez des améliorations qui accéléreront votre chaîne de production.
Comme la demande augmente, vous devrez agrandir votre usine pour répondre aux besoins - Mais, n'oubliez pas les ressources, vous devrez vous agrandir dans la carte [b]infinie[/b] !
La demande allant croissant, vous aurez à adapter l'échelle de votre usine afin de suivre la demande - Ne négligez pas les resources cependant, vous aurez à vous étendre sur une [b]carte infinie[/b] !
Comme les formes peuvent vite devenir ennuyeuses, vous devrez mélanger les couleurs et peindre vos formes avec - Combinez les ressources de couleur rouge, verte et bleue pour produire différentes couleurs et peignez les formes avec pour satisfaire la demande.
Les formes seules pouvant devenir ennuyeuses à la longue vous aurez à mélanger des couleurs et les utiliser pour peindre vos formes - Combinez des pigments rouges, verts ou bleus pour produire différentes couleurs et enduisez-en vos formes afin de satisfaire les demandes.
Ce jeu comporte 18 niveaux (ce qui devrait vous occuper pendant des heures déjà !) mais j'ajoute constamment du nouveau contenu - Il y en a beaucoup de prévu !
Ce jeu propose 18 niveaux (qui devraient d'ores et déjà vous occuper pour de nombreuses heures !) mais j'ajoute régulièrement de nouveaux contenus - Beaucoup de nouveautés sont prévues !
[b]Avantages de la version complête[/b]
[b]Avantage de la version complète[/b]
[list]
[*] Points de positions
[*] Sauvegardes illimitées
[*] Mode sombre
[*] Plus d'options
[*] Me permet de développer davantage shapez.io ❤️
[*] Plus de fonctionnalités dans le future!
[*] Balises
[*] Nombre illimité de sauvegardes
[*] Thème sombre
[*] Plus de paramètres de configuration
[*] Acheter la version complète m'aide à poursuivre le développement de shapez.io ❤️
[*] Encore plus de fonctionnalités à l'avenir !
[/list]
[b]Fonctionnalités planifiées & Suggestions de la communauté[/b]
[b]Fonctionnalités planifiées & suggestions de la communauté[/b]
Ce jeu est open source - N'importe qui peut contribuer! En plus de cela, j'écoute beaucoup la communauté ! J'essaie de lire toutes les suggestions et de prendre en compte autant de réactions que possible.
Ce jeu est open source - N'importe qui peut contribuer ! En outre, Je suis [b]très attentif[/b] à ce que dit la communauté ! J'essaie de lire toutes les suggestions et de tenir compte des retours autant que possible.
[list]
[*] Mode histoire où les bâtiments coûtent des formes.
[*] Plus de niveaux et de bâtiments (Exclusif de la version complête)
[*] Différente carte et peut-être des obstacles sur la carte
[*] Création de carte configurable (Modifier le nombre et la taille des gisement, graines et bien plus)
[*] Plus de types de formes
[*] Plus de performances (Même si le jeu roûle déjà très bien!)
[*] Mode daltonien
[*] Et bien plus!
[*] Mode Histoire où les batiments ont un coût en formes
[*] Plus de niveaux et de batiments (en exclusivité dans la version complète)
[*] Différentes cartes, contenant éventuellement des obstacles
[*] Création configurable de carte (éditer le nombre et la taille des gisements de resources, édition de la graine générant la carte, et plus encore)
[*] Davantage de types de formes
[*] Performance améliorée (bien que le jeu tourne déjà de manière tout à fait décente !)
[*] Adaptation de l'affichage des couleurs à différente forme de daltonisme
[*] Et bien plus encore !
[/list]
Allez voir mon tableau trello pour la feuille de route complête! https://trello.com/b/ISQncpJP/shapezio
N'hésitez pas à consulter mon tableau trello pour avoir une vue d'ensemble de ce qui est prévu ! https://trello.com/b/ISQncpJP/shapezio
global:
loading: Chargement
@ -74,11 +75,12 @@ global:
thousandsDivider: "."
# The suffix for large numbers, e.g. 1.3k, 400.2M, etc. cf wikipedia système international d'unité
# For french: https://fr.wikipedia.org/wiki/Pr%C3%A9fixes_du_Syst%C3%A8me_international_d%27unit%C3%A9s
suffix:
thousands: k
millions: M
billions: T
trillions: E
billions: G
trillions: T
# Shown for infinitely big numbers
infinite: inf
@ -97,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
@ -124,7 +126,7 @@ mainMenu:
# This is shown when using firefox and other browsers which are not supported.
browserWarning: >-
Désolé, mais ce jeu est connu pour tourner lentement sur votre navigateur web! Procurez-vous la version autonome ou téléchargez Chrome pour une meilleure expérience.
Désolé, mais ce jeu est connu pour tourner lentement sur votre navigateur web ! Procurez-vous la version complète ou téléchargez Chrome pour une meilleure expérience.
savegameLevel: Niveau <x>
savegameLevelUnknown: Niveau inconnu
@ -150,7 +152,8 @@ mainMenu:
J'attends avec impatience de voir vos superbes créations!
showInfo: Voir
contestOver: Ce concours est terminé - Rejoignez le discord pour être notifié de nouveaux concours!
contestOver: Ce concours est terminé - Rejoignez le serveur discord pour être tenu au courant des prochains concours !
helpTranslate: Help translate!
dialogs:
buttons:
@ -184,7 +187,7 @@ dialogs:
confirmSavegameDelete:
title: Confirmez la suppression
text: >-
Etes-vous certains de vouloir supprimer votre partie?
Êtes-vous certains de vouloir supprimer votre partie?
savegameDeletionError:
title: Impossible de supprimer
@ -212,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!
@ -232,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: >-
@ -246,12 +233,12 @@ dialogs:
massDeleteConfirm:
title: Confirmation de suppression
desc: >-
Vous allez supprimer pas mal de bâtiments (<count> pour être exact)! Etes vous certains de vouloir faire ça?
Vous allez supprimer pas mal de bâtiments (<count> pour être exact)! Etes vous certains de vouloir faire ça ?
blueprintsNotUnlocked:
title: Pas encore débloqué
desc: >-
Les patrons n'ont pas encore étés débloqués! Terminez encore quelques niveaux pour les débloquer.
Les patrons n'ont pas encore étés débloqués ! Terminez encore quelques niveaux pour les débloquer.
keybindingsIntroduction:
title: Raccourcis utiles
@ -267,7 +254,18 @@ dialogs:
desc: Donnez-lui un nom approprié
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!
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 !
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
@ -280,10 +278,11 @@ ingame:
placeMultiple: Placement multiple
reverseOrientation: Changer l'orientation
disableAutoOrientation: Désactiver l'orientation automatique
toggleHud: Basculet l'ATH
toggleHud: Basculer l'ATH
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)
@ -316,13 +315,13 @@ ingame:
# Notifications on the lower right
notifications:
newUpgrade: Une nouvelle amélioration est disponible!
newUpgrade: Une nouvelle amélioration est disponible !
gameSaved: Votre partie a été sauvegardée.
# 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:
@ -330,12 +329,11 @@ ingame:
buttonUnlock: Améliorer
# Gets replaced to e.g. "Tier IX"
tier: Échelon <x>
tier: Niveau <x>
# 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:
@ -349,7 +347,7 @@ ingame:
description: Affiche tous les formes que votre usine entière produit, en incluant les formes intermédiaires.
delivered:
title: Délivré
description: Affiche les formes qui ont été livrées dans votre noyau.
description: Affiche les formes qui ont été livrées dans votre centre.
noShapesProduced: Aucune forme n'a été produite jusqu'à présent.
# Displays the shapes per minute, e.g. '523 / m'
@ -369,7 +367,7 @@ ingame:
# Bottom left tutorial hints
tutorialHints:
title: Besoin d'aide?
title: Besoin d'aide ?
showHint: Indice
hideHint: Fermer
@ -380,35 +378,38 @@ ingame:
# Map markers
waypoints:
waypoints: Balise
hub: Noyau
hub: Centre
description: Cliquez une balise pour vous y rendre, clic-droit pour l'effacer.<br><br>Appuyez sur <keybinding> pour créer une balise sur la vue actuelle, ou <strong>clic-droit</strong> pour en créer une sur l'endroit pointé.
creationSuccessNotification: La bailse a été créée.
creationSuccessNotification: La balise a été créée.
# Interactive tutorial
interactiveTutorial:
title: Tutoriel
hints:
1_1_extractor: Placez un <strong>extracteur</strong> sur une <strong>forme en cercle</strong> pour l'extraire!
1_1_extractor: Placez un <strong>extracteur</strong> sur une <strong>forme en cercle</strong> pour l'extraire !
1_2_conveyor: >-
Connectez l'extracteur avec un <strong>convoyeur</strong> vers votre noyau!<br><br>Astuce: <strong>Cliquez et faites glisser</strong> le convoyeur avec votre souris!
Connectez l'extracteur avec un <strong>convoyeur</strong> vers votre centre !<br><br>Astuce: <strong>Cliquez et faites glisser</strong> le convoyeur avec votre souris !
1_3_expand: >-
Ceci n'est <strong>PAS</strong> un jeu incrémental et inactif! Construisez plus d'extracteurs et de convoyeurs pour atteindre plus vite votre votre but.<br><br>Astuce: Gardez <strong>SHIFT</strong> enfoncé pour placer plusieurs extracteurs, et utilisez <strong>R</strong> pour les faire pivoter.
Ceci n'est <strong>PAS</strong> un jeu incrémental et inactif ! Construisez plus d'extracteurs et de convoyeurs pour atteindre plus vite votre votre but.<br><br>Astuce: Gardez <strong>SHIFT</strong> enfoncé pour placer plusieurs extracteurs, et utilisez <strong>R</strong> pour les faire pivoter.
# All shop upgrades
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:
@ -437,8 +438,8 @@ buildings:
splitter: # Internal name for the Balancer
default:
name: &splitter Balancier
description: Multifonctionnel - Distribue de manière égale toutes les entrées vers toutes les sorties.
name: &splitter Répartiteur
description: Multifonctionnel - Distribue de manière équitable toutes les entrées vers toutes les sorties.
compact:
name: Fusionneur (compact)
@ -451,10 +452,10 @@ buildings:
cutter:
default:
name: &cutter Découpeur
description: Coupe une forme de haut en bas et sort les deux parties. <strong>Si vous n'utilisez qu'une seule partie, assurez-vous de détruire l'autre ou cela coincera!</strong>
description: Coupe une forme de haut en bas et sort les deux parties. <strong>Si vous n'utilisez qu'une seule partie, assurez-vous de détruite l'autre ou sinon, gare au blocage !</strong>
quad:
name: Découpeur (Quatre)
description: Coupe une forme en 4 parties. <strong>Si vous n'utilisez qu'une seule partie, assurez-vous de détruire les autres ou cela coincera!</strong>
description: Coupe une forme en 4 parties. <strong>Si vous n'utilisez pas toutes les parties, assurez-vous de détruite les autres ou sinon, gare au blocage !</strong>
rotater:
default:
@ -472,12 +473,12 @@ buildings:
mixer:
default:
name: &mixer Mélangeur de couleur
description: Mélange deux couleurs en utilisant le mélange additif.
description: Mélange deux couleurs en utilisant la synthèse additive des couleurs.
painter:
default:
name: &painter Peintre
description: Colorie la forme entière de gauche avec la couleur de droite.
description: Colorie entièrement la forme de gauche avec la couleur de droite.
double:
name: Peintre (Double)
description: Colorie les deux formes de gauche avec la couleur de droite.
@ -493,89 +494,99 @@ 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
reward_cutter_and_trash:
title: Découper des formes
desc: Vous venez de débloquer le <strong>découpeur</strong> - il coupe des formes en deux <strong>de haut en bas</strong> quel que soit son orientation!<br><br>SOyez certain de vous débarasser des déchets, sinon, <strong>cela coincera</strong> - A cet effet, je vous donne la poubelle, qui détruit tout ce que vous y mettez!
desc: Vous venez de débloquer le <strong>découpeur</strong> - il coupe des formes en deux <strong>de haut en bas</strong> quel que soit son orientation!<br><br>Assurez-vous de vous débarasser des déchets, sinon <strong>gare au blocage</strong> - À cet effet, je mets à votre disposition la poubelle, qui détruit tout ce que vous y mettez !
reward_rotater:
title: Rotation
desc: Le <strong>pivoteur</strong> a été débloqué! Il pivote les formes de 90 degrés vers la droite.
desc: Le <strong>pivoteur</strong> a été débloqué ! Il pivote les formes de 90 degrés vers la droite.
reward_painter:
title: Peintre
desc: >-
Le <strong>peintre</strong> a été débloqué - Extrayez des pigments de couleur (comme vous le faites avec les formes) et combinez les avec une forme dans un peintre pour les colorier!<br><br>PS: Si vous êtes daltonien, je travaille déjà sur une solution!
Le <strong>peintre</strong> a été débloqué - Extrayez des pigments de couleur (comme vous le faites avec les formes) et combinez les avec une forme dans un peintre pour les colorier !<br><br>PS: Si vous êtes daltonien, je travaille déjà à une solution !
reward_mixer:
title: Le mélangeur de couleurs
desc: Le <strong>mélangeur</strong> a été débloqué - Combinez deux couleurs en utilisant <strong>le mélange additif</strong> avec ce bâtiment!
title: Mélangeur de couleurs
desc: Le <strong>mélangeur</strong> a été débloqué - Combinez deux couleurs en utilisant <strong>la synthèse additive des couleurs</strong> avec ce bâtiment !
reward_stacker:
title: Combineur
desc: Vous pouvez maintenant combiner deux formes avec le <strong>combineur</strong>! Les deux entrées sont combinée et si elles 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.
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>balancier</strong> multifonctionnel a été débloqué - Il peut être utilisé pour construire de plus grandes usines en <strong>distribuant et en rassemblant les formes</strong> sur plusieurs convoyeurs!<br><br>
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>
reward_tunnel:
title: Tunnel
desc: Le <strong>tunnel</strong> a été débloqué - Vous pouvez maintenant faire passer des formes sous les convoyeurs et les bâtiments avec ça!
desc: Le <strong>tunnel</strong> a été débloqué - À présent il devient possible de faire passer des formes sous les convoyeurs et les bâtiments !
reward_rotater_ccw:
title: Pivoteur inversé
desc: Vous avez débloqué une variante du <strong>pivoteur</strong> - Elle permet de faire pivoter vers la gauche! Pour le construire, sélectionnez le pivoteur et <strong>appuyez sur 'T' pour changer sa variante</strong>!
desc: Vous avez débloqué une variante du <strong>pivoteur</strong> - Elle permet de faire pivoter vers la gauche ! Pour le construire, sélectionnez le pivoteur et <strong>appuyez sur 'T' pour alterner entre les variantes</strong> !
reward_miner_chainable:
title: Extracteur en série
desc: Vous avez débloqué <strong>l'extracteur en série</strong>! Il permet <strong>de transférer ses ressources</strong> à d'autres extracteurs pour les extraire plus efficacement!
desc: Vous avez débloqué <strong>l'extracteur en série</strong> ! Il permet de <strong>transférer ses resources</strong> à d'autres extracteurs pour augmenter le débit sortant !
reward_underground_belt_tier_2:
title: Tunnel échelon II
desc: Vous avez débloqué une nouvelle variante du <strong>tunnel</strong> - Elle a <strong>une portée plus grande</strong>, et vous pouvez également entrecroiser ces tunnels maintenant!
title: Tunnel niveau II
desc: Vous avez débloqué une nouvelle variante du <strong>tunnel</strong> - Elle a une <strong>portée plus grande</strong>, et vous pouvez à présent superposer les deux variantes de tunnels !
reward_splitter_compact:
title: Balancier compact
title: Répartiteur compact
desc: >-
Vous avez débloqué une variante compacte du <strong>balancier</strong> - Elle accepte deux entrées et les rassemble en une sortie!
Vous avez débloqué une variante compacte du <strong>répartiteur</strong> - Elle accepte deux entrées et les rassemble en une sortie !
reward_cutter_quad:
title: Quadruple découpeur
desc: Vous avez débloqué une variante du <strong>découpeur</strong> - Elle permet de découper les formes en <strong>quatres parties</strong> à la place de simplement deux!
desc: Vous avez débloqué une variante du <strong>découpeur</strong> - Elle permet de découper les formes en <strong>quatre parties</strong> à la place de simplement deux !
reward_painter_double:
title: Double peintre
desc: Vous avez débloqué une variante du <strong>peintre</strong> - Elle fonctionne comme le peintre de base, mais elle permet de traiter <strong>deux formes à la fois</strong> en ne consommant qu'une couleur au lieu de deux!
desc: Vous avez débloqué une variante du <strong>peintre</strong> - Elle fonctionne comme le peintre de base, mais elle permet de traiter <strong>deux formes à la fois</strong> en ne consommant qu'une couleur au lieu de deux !
reward_painter_quad:
title: Quadruple peintre
desc: Vous avez débloqué une variante du <strong>peintre</strong> - Elle permet de colorier chaque partie d'une forme individuellement!
desc: Vous avez débloqué une variante du <strong>peintre</strong> - Elle permet de colorier chaque partie d'une forme individuellement !
reward_storage:
title: Tampon de stockage
desc: Vous avez débloqué une variante de <strong>la poubelle</strong> - Elle permet de stocker des formes jusqu'à une certaine limite!
desc: Vous avez débloqué une variante de <strong>la poubelle</strong> - Elle permet de stocker des formes jusqu'à une certaine limite !
reward_freeplay:
title: Mode libre
desc: Vous l'avez fait! Vous avez débloqué le <strong>mode libre</strong>! Cela veut dire que dorénavant, les formes sont générées aléatoirement! (Ne vous en faites pas, plus de contenu est prévu pour la version complète!)
desc: Vous y êtes arrivé ! Vous avez débloqué le <strong>mode libre</strong> ! Cela veut dire que dorénavant, les formes sont générées aléatoirement ! (Ne vous en faites pas, plus de contenu est prévu pour la version complète !)
reward_blueprints:
title: Patrons
desc: Vous pouvez maintenant <strong>copier et coller</strong> des parties de votre usines! Sélectionnez une zone (Appuyez sur CTRL, et sélectionnez avec votre souris), et appuyez sur 'C' pour la copier.<br><br>Coller n'est <strong>pas gratuit</strong>, vous devez produire <strong>des formes de patrons</strong> pour vous le payer (ce que vous venez de livrer).
desc: Vous pouvez maintenant <strong>copier et coller</strong> des parties de votre usines ! Sélectionnez une zone (Appuyez sur CTRL, et sélectionnez avec votre souris), et appuyez sur 'C' pour la copier.<br><br>Coller n'est <strong>pas gratuit</strong>, vous devez produire <strong>des formes de patrons</strong> pour vous le payer (les mêmes que celles que vous venez de livrer).
# Question from the translator: Should shortcuts be hardcoded in this message ?
# Special reward, which is shown when there is no reward actually
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 les améliorations</strong>!
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 ?
no_reward_freeplay:
title: Niveau suivant
desc: >-
Bravo! D'ailleurs, plus de contenu est prévu pour la version complète!
Bravo ! À propos, plus de contenu est prévu pour la version complète !
settings:
title: Options
@ -615,7 +626,7 @@ settings:
fullscreen:
title: Plein écran
description: >-
Il est recommandé de jouer au jeu en plein écran pour obtenir la meilleur expérience possible. Seulement disponible dans la version complète.
Il est recommandé de jouer au jeu en plein écran pour obtenir la meilleure expérience possible. Seulement disponible dans la version complète.
soundsMuted:
title: Sons désactivés
@ -632,25 +643,46 @@ settings:
description: >-
Choisissez votre thème (clair / sombre).
themes:
dark: Dark
light: Light
refreshRate:
title: Simulation Target
title: Fréquence de simulation
description: >-
Si vous avez un moniteur à 144hz, changez le taux de rafraichissement ici pour que le jeu fonctionne correctement à cette haute fréquence. Ceci pourrait diminuer vos IPS si votre ordinateur est trop lent.
Si vous avez un moniteur à 144hz, changez le taux de rafraichissement pour que le jeu fonctionne correctement à cette haute fréquence. Ceci pourrait cependant diminuer vos IPS (itérations par seconde) si votre ordinateur est trop lent.
alwaysMultiplace:
title: Placement multiple
description: >-
Si activé, tous les bâtiments resterons sélectionnés tant que vous n'avez pas annulé. Ceci revient à garder la touche SHIFT appuyée en permanence.
Si activé, tous les bâtiments resterons sélectionnés tant que vous n'aurez pas annulé. Ceci revient à garder la touche SHIFT appuyée en permanence.
offerHints:
title: Indices
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: >-
Astuce: Soyez sûr d'utiliser CTRL, SHIFT et ALT! Ces touches activent différentes options de placement.
Astuce: Soyez sûr d'utiliser CTRL, SHIFT et ALT ! Ces touches activent différentes options de placement.
resetKeybindings: Réinitialiser les contrôles
@ -659,7 +691,7 @@ keybindings:
ingame: Jeu
navigation: Navigation
placement: Placement
massSelect: Suppression de masse
massSelect: Suppression de zone
buildings: Raccourcis bâtiment
placementModifiers: Modificateurs de placement
@ -679,8 +711,8 @@ keybindings:
menuOpenShop: Améliorations
menuOpenStats: Statistiques
toggleHud: Basculer l'ATH
toggleFPSInfo: Basculer IPS et informations débogage
toggleHud: Basculer l'ATH (affichage tête haute)
toggleFPSInfo: Basculer IPS (itérations par seconde) et informations de débogage
belt: *belt
splitter: *splitter
underground_belt: *underground_belt
@ -697,19 +729,39 @@ keybindings:
rotateInverseModifier: >-
Variante: Pivote à gauche
cycleBuildingVariants: Faire défiler les variantes
confirmMassDelete: Confirmer la suppression de masse
confirmMassDelete: Confirmer la suppression de zone
cycleBuildings: Faire défiler les bâtiments
massSelectStart: Cliquez et maintenez pour commencer
massSelectSelectMultiple: Séléctionner plusieurs zones
massSelectCopy: Copie la zone
massSelectSelectMultiple: Sélectionner plusieurs zones
massSelectCopy: Copier la zone
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: A propos de ce jeu
title: À propos de ce jeu
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: Historique
@ -720,8 +772,11 @@ 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.
#
# French translation version v0.5 based on english v1.1.8 by Didier WEERTS 'The Corsaire'
#
# French translation completed (and corrected) by Pascal Grossé.

767
translations/base-hu.yaml Normal file
View 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.

View File

@ -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
View 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.

File diff suppressed because it is too large Load Diff

767
translations/base-lt.yaml Normal file
View 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.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -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.

File diff suppressed because it is too large Load Diff

View File

@ -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.

View File

@ -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 это игра о строительстве фабрик для автоматизации создания и объединения все более сложных фигур на бесконечной карте.
# 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,56 +30,56 @@ 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 это игра о строительстве фабрик для автоматизации создания и объединения фигур. Доставляйте запрошенные, все более сложные фигуры, чтобы развиваться в игре и разблокировать улучшения, чтобы ускорить работу вашей фабрики.
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]!
Поскольку спрос растет, вам придется увеличивать свою фабрику, чтобы соответствовать потребностям. Однако, не забывайте о ресурсах, несмотря на то что вы будете расширятся на [b]бесконечной карте[/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!
Эта игра имеет 18 уровней (но и они займут вас на часы!), но я постоянно добавляю новый контент - там много чего запланировано!
[b]Standalone Advantages[/b]
[b]Преимущества полной версии[/b]
[list]
[*] Waypoints
[*] Unlimited Savegames
[*] Dark Mode
[*] More settings
[*] Allow me to further develop shapez.io ❤️
[*] More features in the future!
[*] Метки
[*] Неограниченное количество сохранений
[*] Темный режим
[*] Больше настроек
[*] Позволит мне быстрее разрабатывать shapez.io ❤️
[*] Больше возможностей в будущем!
[/list]
[b]Planned features & Community suggestions[/b]
[b]Планируемые функции & Предложения сообщества[/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.
Это игра с открытым исходным кодом - Любой может внести свой вклад! Кроме того, я во [b]многом[/b] прислушиваюсь к сообществу! Я стараюсь прочитать все предложения и учту как можно больше отзывов.
[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
Не забудьте проверить мою доску trello со всеми планами! https://trello.com/b/ISQncpJP/shapezio
global:
loading: Loading
error: Error
loading: Загрузка
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
thousands: тыс.
millions: млн
billions: млрд
trillions: трлн
# Shown for infinitely big numbers
infinite: inf
@ -87,18 +87,18 @@ global:
time:
# Used for formatting past time dates
oneSecondAgo: одну секунду назад
xSecondsAgo: <x> seconds ago
xSecondsAgo: <x> секунд(ы) назад
oneMinuteAgo: одну минуту назад
xMinutesAgo: <x> minutes ago
xMinutesAgo: <x> минут(ы) назад
oneHourAgo: один час назад
xHoursAgo: <x> hours ago
xHoursAgo: <x> часов(а) назад
oneDayAgo: один день назад
xDaysAgo: <x> days ago
xDaysAgo: <x> дней(я) назад
# Short formats for times, e.g. '5h 23m'
secondsShort: <seconds>s
minutesAndSecondsShort: <minutes>m <seconds>s
hoursAndMinutesShort: <hours>h <minutes>s
secondsShort: <seconds>с
minutesAndSecondsShort: <minutes>м <seconds>с
hoursAndMinutesShort: <hours>м <minutes>с
xMinutes: <x> minutes
@ -108,28 +108,28 @@ global:
alt: ALT
escape: ESC
shift: SHIFT
space: SPACE
space: ПРОБЕЛ
demoBanners:
# This is the "advertisement" shown in the main menu and other various places
title: Demo Version
title: Демо версия
intro: >-
Get the standalone to unlock all features!
Приобретите полную версию чтобы разблокировать все возможности!
mainMenu:
play: Играть
changelog: Список изменений
importSavegame: Импортировать сохраненную игру
openSourceHint: This game is open source!
openSourceHint: Это игра с открытым исходным кодом!
discordLink: Оффициальный Дискорд Сервер
helpTranslate: Help translate!
helpTranslate: Помоги с переводом!
# 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.
Извините, но игра работает медленно в вашем браузере! Приобретите полную версию или загрузите Chrome чтобы ознакомится с игрой в полной мере.
savegameLevel: Level <x>
savegameLevelUnknown: Unknown Level
savegameLevel: Уровень <x>
savegameLevelUnknown: Неизвестный уровень
contests:
contest_01_03062020:
@ -157,344 +157,344 @@ mainMenu:
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
delete: Удалить
cancel: Закрыть
later: Позже
restart: Перезапустить
reset: Сбросить
getStandalone: Приобрести полную версию
deleteGame: Я знаю, что я делаю
viewUpdate: Посмотреть Обновление
showUpgrades: Показать Улучшения
showKeybindings: Показать Управление
importSavegameError:
title: Import Error
title: Ошибка импортирования
text: >-
Failed to import your savegame:
Не удалось импортировать ваше сохранение игры:
importSavegameSuccess:
title: Savegame Imported
title: Сохраненная игра импортированна
text: >-
Your savegame has been successfully imported.
Ваша сохраненная игра успешно импортированна.
gameLoadFailure:
title: Game is broken
title: Ошибка загрузки
text: >-
Failed to load your savegame:
Не удалось загрузить ваше сохранение игры:
confirmSavegameDelete:
title: Confirm deletion
title: Подтвердите удаление.
text: >-
Are you sure you want to delete the game?
Вы действительно хотите удалить игру?
savegameDeletionError:
title: Failed to delete
title: Ошибка удаления
text: >-
Failed to delete the savegame:
Не удалось удалить сохранение игры:
restartRequired:
title: Restart required
title: Необходим перезапуск
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.
title: Изменение управления
desc: Нажмите клавишу или кнопку мыши, которую хотите назначить, или нажмите «Esc» для отмены.
resetKeybindingsConfirmation:
title: Reset keybindings
desc: This will reset all keybindings to their default values. Please confirm.
title: Сброс управления
desc: Это сбросит все настройки управления к их значениям по умолчанию. Пожалуйста подтвердите.
keybindingsResetOk:
title: Keybindings reset
desc: The keybindings have been reset to their respective defaults!
title: Сброс управления
desc: Настройки управления сброшены до соответствующих значений по умолчанию!
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!
title: Демо версия
desc: Вы попытались получить доступ к функции (<feature>), которая недоступна в демоверсии. Вы можете приобрести полную версию чтобы пользоваться всеми функциями!
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: Лимит сохранений
desc: Вы можете иметь только одно сохранение игры в демо-версии. Пожалуйста, удалите существующее или приобретите полную версию!
updateSummary:
title: New update!
title: Новое обновление!
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
title: Открыть улучшения
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.
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
title: Подтвердить удаление
desc: >-
You are deleting a lot of buildings (<count> to be exact)! Are you sure you want to do this?
Вы удаляете много построек (<count>)! Вы действительно хотите сделать это?
blueprintsNotUnlocked:
title: Not unlocked yet
title: Еще не открыто
desc: >-
Blueprints have not been unlocked yet! Complete more levels to unlock them.
Чертежи еще не открыты! Завершите больше уровней, что-бы открыть их.
keybindingsIntroduction:
title: Useful keybindings
title: Полезные горячие клавиши
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>
В этой игре много горячих клавиш, которые облегчают строительство больших фабрик.
Вот несколько, но обязательно <strong>проверьте настройки управления</strong>!<br><br>
<code class='keybinding'>CTRL</code> + Потащить: Выбор области для копирования / удаления.<br>
<code class='keybinding'>SHIFT</code>: Удерживайте, чтобы разместить несколько зданий.<br>
<code class='keybinding'>ALT</code>: Инвертировать направление размещаемых конвейерных лент.<br>
createMarker:
title: New Marker
desc: Give it a meaningful name
title: Новый маркер
desc: Напишите содержательное имя.
markerDemoLimit:
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
desc: Вы можете создать только 2 своих маркера в демо версии. Приобретите полную версию для безлимитных маркеров.
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: Передвижение
selectBuildings: Выбрать область
stopPlacement: Прекратить размещение
rotateBuilding: Повернуть постройку
placeMultiple: Поставить несколько
reverseOrientation: Реверсировать направление
disableAutoOrientation: Отключить авто-определение направления
toggleHud: Переключить HUD
placeBuilding: Разместить постройку
createMarker: Создать маркер
delete: Уничтожить
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: Нажмите <key> для переключения вариантов.
# Shows the hotkey in the ui, e.g. "Hotkey: Q"
hotkeyLabel: >-
Hotkey: <key>
Клавиша: <key>
infoTexts:
speed: Speed
range: Range
speed: Скорость
range: Расстояние
storage: Storage
oneItemPerSecond: 1 item / second
itemsPerSecond: <x> items / s
oneItemPerSecond: 1 предмет / сек
itemsPerSecond: <x> предметов / сек
itemsPerSecondDouble: (x2)
tiles: <x> tiles
tiles: <x> клеток
# 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
levelTitle: Уровень <level>
completed: Завершено
unlockText: Открыто <reward>!
buttonNextLevel: Следующий уровень
# Notifications on the lower right
notifications:
newUpgrade: A new upgrade is available!
gameSaved: Your game has been saved.
newUpgrade: Новое улучшение доступно!
gameSaved: Ваша игра была сохранена.
# 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:
title: Upgrades
buttonUnlock: Upgrade
title: Улучшения
buttonUnlock: Улучшить
# Gets replaced to e.g. "Tier IX"
tier: Tier <x>
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>)
maximumLevel: МАКСИМАЛЬНЫЙ УРОВЕНЬ (Скорость x<currentMult>)
# The "Statistics" window
statistics:
title: Statistics
title: Статистика
dataSources:
stored:
title: Stored
description: Displaying amount of stored shapes in your central building.
title: Хранится
description: Показывает количество хранящихся фигур в вашем центральном здании.
produced:
title: Produced
description: Displaying all shapes your whole factory produces, including intermediate products.
title: Производится
description: Показывает производящиеся фигуры, включая промежуточное производство.
delivered:
title: Delivered
description: Displaying shapes which are delivered to your central building.
noShapesProduced: No shapes have been produced so far.
title: Доставлено
description: Показывает фигуры, которые доставляются в ваше центральное здание.
noShapesProduced: Фигуры еще не произведены.
# Displays the shapes per minute, e.g. '523 / m'
shapesPerMinute: <shapes> / m
shapesPerMinute: <shapes> / мин
# Settings menu, when you press "ESC"
settingsMenu:
playtime: Playtime
playtime: Игровое время
buildingsPlaced: Buildings
beltsPlaced: Belts
buildingsPlaced: Постройки
beltsPlaced: Конвейеры
buttons:
continue: Continue
settings: Settings
menu: Return to menu
continue: Продолжить
settings: Настройки
menu: Вернутся в меню
# Bottom left tutorial hints
tutorialHints:
title: Need help?
showHint: Show hint
hideHint: Close
title: Нужна помощь?
showHint: Показать подсказку
hideHint: Закрыть
# When placing a blueprint
blueprintPlacer:
cost: 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.
waypoints: Маркеры
hub: ХАБ
description: ЛКМ по маркеру, чтобы переместится к нему, ПКМ что-бы удалить. <br><br>Нажмите <keybinding> чтобы создать маркер в текущей позиции или <strong>ПКМ</strong> чтобы выбрать другое место для сождания маркера.
creationSuccessNotification: Маркер был создан.
# Interactive tutorial
interactiveTutorial:
title: Tutorial
title: Обучение
hints:
1_1_extractor: Place an <strong>extractor</strong> on top of a <strong>circle shape</strong> to extract it!
1_1_extractor: Поместите <strong>экстрактор</strong> на <strong>фигуру в форме круга</strong> чтобы добыть ее!
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!
Соедините экстрактор <strong>конвейерной лентой</strong> с вашим хабом!<br><br>Подсказка: Необходимо выбрать конвейерную ленту и <strong>нажать и перетащить</strong> мышку!
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.
Это <strong>НЕ</strong> idle-игра! Постройте больше экстракторов и конвейерных лент, чтобы достичь цели быстрее.<br><br>Подсказка: Удерживайте <strong>SHIFT</strong> чтобы разместить несколько экстракторов, а <strong>R</strong> чтобы вращать их.
# All shop upgrades
shopUpgrades:
belt:
name: Belts, Distributor & Tunnels
description: Speed x<currentMult> → x<newMult>
name: Конвейерные ленты, Распределители & Туннели
description: Скорость x<currentMult> → x<newMult>
miner:
name: Extraction
description: Speed x<currentMult> → x<newMult>
name: Добыча
description: Скорость x<currentMult> → x<newMult>
processors:
name: Cutting, Rotating & Stacking
description: Speed x<currentMult> → x<newMult>
name: Нарезка, Вращение & Склейка
description: Скорость x<currentMult> → x<newMult>
painting:
name: Mixing & Painting
description: Speed x<currentMult> → x<newMult>
name: Смешивание & Покраска
description: Скорость 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 Конвейер
description: Транспортриует передметы, держите и тащите, чтобы разместить несколько.
miner: # Internal name for the Extractor
default:
name: &miner Extractor
description: Place over a shape or color to extract it.
name: &miner Экстрактор
description: Поместите над фигурным или цветовым ресурсом, чтобы добыть его.
chainable:
name: Extractor (Chain)
description: Place over a shape or color to extract it. Can be chained.
name: Экстрактор (Цепной)
description: Поместите над фигурным или цветовым ресурсом, чтобы добыть его. Может последовательно соединяться.
underground_belt: # Internal name for the Tunnel
default:
name: &underground_belt Tunnel
description: Allows to tunnel resources under buildings and belts.
name: &underground_belt Туннель
description: Позволяет перевозить ресурсы под зданиями и конвейерными лентами.
tier2:
name: Tunnel Tier II
description: Allows to tunnel resources under buildings and belts.
name: Туннель II
description: Позволяет перевозить ресурсы под зданиями и конвейерными лентами.
splitter: # Internal name for the Balancer
default:
name: &splitter Balancer
description: Multifunctional - Evenly distributes all inputs onto all outputs.
name: &splitter Разделитель
description: Многофункциональный - равномерно распределяет все входы на все выходы.
compact:
name: Merger (compact)
description: Merges two conveyor belts into one.
name: Соединитель (компактный)
description: Объединяет две конвейерные ленты в одну.
compact-inverse:
name: Merger (compact)
description: Merges two conveyor belts into one.
name: Соединитель (компактный)
description: Объединяет две конвейерные ленты в одну.
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 Резчик
description: Разрезает фигуры сверху вниз и выводит обе половины. <strong>Если вы используете только одну часть, обязательно уничтожьте другую, иначе производство остановится!</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: Резчик (Четырехпоточный)
description: Разрезает фигуры на четыре части. <strong>Если вы используете только одну часть, обязательно уничтожьте другие, иначе производство остановится!</strong>
rotater:
default:
name: &rotater Rotate
description: Rotates shapes clockwise by 90 degrees.
name: &rotater Вращатель
description: Поворачивает фигуры по часовой стрелке на 90 градусов.
ccw:
name: Rotate (CCW)
description: Rotates shapes counter clockwise by 90 degrees.
name: Вращатель (обратный)
description: Поворачивает фигуры против часовой стрелки на 90 градусов.
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 Склеиватель
description: Склеивает оба предмета. Если они не могут быть объединены, правый элемент помещается над левым элементом.
mixer:
default:
name: &mixer Color Mixer
description: Mixes two colors using additive blending.
name: &mixer Смешиватель цветов
description: Смешивает два цвета с помощью аддитивного смешивания.
painter:
default:
name: &painter Painter
description: Colors the whole shape on the left input with the color from the right input.
name: &painter Покрасчик
description: Красит всю фигуру из левого входа краской из верхнего.
double:
name: Painter (Double)
description: Colors the shapes on the left inputs with the color from the top input.
name: Покрасчик (Двойной)
description: Красит фигуру из левых входов краской из верхнего.
quad:
name: Painter (Quad)
description: Allows to color each quadrant of the shape with a different color.
name: Покрасчик (Четырехпоточный)
description: Позволяет раскрасить каждую четверть фигуры разными цветами.
trash:
default:
name: &trash Trash
description: Accepts inputs from all sides and destroys them. Forever.
name: &trash Мусорка
description: Имеет входы со всех сторон. Уничтожает все что принимает, навсегда.
storage:
name: Storage
description: Stores excess items, up to a given capacity. Can be used as an overflow gate.
name: Хранилище
description: Хранит лишние предметы, до заданной вместимости. Может использоваться в качестве ворот для пропускания излишков.
hub:
deliver: Deliver
toUnlock: to unlock
levelShortcut: LVL
storyRewards:
# Those are the rewards gained from completing the store
@ -520,12 +520,12 @@ storyRewards:
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>
title: Разделитель/соеденитель
desc: Был открыт многофункциональный <strong>balancer</strong>.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!
title: Туннель
desc: Был открыт <strong>Туннель</strong>. You can now pipe items through belts and buildings with it!
reward_rotater_ccw:
title: CCW Rotating
@ -561,7 +561,7 @@ storyRewards:
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
title: Свободная игра
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:
@ -570,17 +570,17 @@ storyRewards:
# Special reward, which is shown when there is no reward actually
no_reward:
title: Next level
title: Следующий уровень
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
title: Следующий уровень
desc: >-
Congratulations! By the way, more content is planned for the standalone!
settings:
title: Settings
title: Настройки
categories:
game: Game
app: Application
@ -593,51 +593,55 @@ settings:
labels:
uiScale:
title: Interface scale
title: Размер интерфейса
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.
Выберите размер пользовательского интерфейса. 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
super_small: Очень маленький
small: Маленький
regular: Средний
large: Большой
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
super_slow: Очень медленно
slow: Медленно
regular: Средне
fast: Быстро
super_fast: Очень быстро
language:
title: Language
title: Язык
description: >-
Change the language. All translations are user contributed and might be incomplete!
Выберите язык. Все переводы сделаны пользователями и могут быть незакончены!
fullscreen:
title: Fullscreen
title: Полный экран
description: >-
It is recommended to play the game in fullscreen to get the best experience. Only available in the standalone.
Для лучшей игры рекомендуется играть в полноэкранном режиме. Доступно только в полной версии.
soundsMuted:
title: Mute Sounds
title: Выключить звуки
description: >-
If enabled, mutes all sound effects.
Если включено, выключает все звуковые эффекты
musicMuted:
title: Mute Music
title: Выключить музыку
description: >-
If enabled, mutes all music.
Если включено, выключает музыку
theme:
title: Game theme
title: Тема игры
description: >-
Choose the game theme (light / dark).
Выберите тему игры (светлая / темная).
themes:
dark: Dark
light: Light
refreshRate:
title: Simulation Target
@ -654,12 +658,23 @@ 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
title: Настройки управления
hint: >-
Tip: Be sure to make use of CTRL, SHIFT and ALT! They enable different placement options.
resetKeybindings: Reset Keyinbindings
resetKeybindings: Настройки по умолчанию
categoryLabels:
general: Application
@ -671,8 +686,8 @@ keybindings:
placementModifiers: Placement Modifiers
mappings:
confirm: Confirm
back: Back
confirm: Подтвердить
back: Назад
mapMoveUp: Move Up
mapMoveRight: Move Right
mapMoveDown: Move Down
@ -687,7 +702,7 @@ keybindings:
menuOpenStats: Statistics
toggleHud: Toggle HUD
toggleFPSInfo: Toggle FPS and Debug Info
toggleFPSInfo: Включить/выключить FPS и информацию отладки
belt: *belt
splitter: *splitter
underground_belt: *underground_belt
@ -714,12 +729,32 @@ 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: О игре
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: Список измений
demo:
features:
@ -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.
settingNotAvailable: Не доступно в демо-версии.

View File

@ -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
View 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.

View File

@ -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.

View File

@ -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.

View File

@ -1 +1 @@
1.1.8
1.1.11

View File

@ -5316,6 +5316,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"
@ -5591,7 +5599,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==
@ -5726,6 +5734,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"
@ -9753,6 +9766,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"
@ -9857,6 +9880,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"