1
0
mirror of https://github.com/tobspr/shapez.io.git synced 2025-06-13 13:04:03 +00:00

Merge branch 'master' into patch-1

This commit is contained in:
Prosta4okua 2020-07-23 11:11:30 +03:00 committed by GitHub
commit 760a0c4c78
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
97 changed files with 4799 additions and 3263 deletions

View File

@ -39,3 +39,15 @@ jobs:
- name: Lint
run: |
yarn lint
- name: YAML Lint
uses: ibiqlik/action-yamllint@v1.0.0
with:
file_or_dir: translations/*.yaml
- name: TSLint
run: |
cd gulp
yarn gulp translations.fullBuild
cd ..
yarn tslint

4
.gitignore vendored
View File

@ -109,10 +109,6 @@ build
tmp_standalone_files
# Github Actions files
.github/workflows
# Local config
config.local.js
.DS_Store

View File

@ -3,165 +3,164 @@ os: linux
dist: xenial
language: node_js
node_js:
- "10"
- "12"
cache: yarn
# platform specific configuration
jobs:
# jobs which have to succeed
include:
# OS: MAC
## -> build darwin
# - name: "Standalone MacOS on MacOS"
# os: osx
# osx_image: xcode11.3
# before_install:
# - HOMEBREW_NO_AUTO_UPDATE=1 brew install git-lfs
# - HOMEBREW_NO_AUTO_UPDATE=1 brew install ffmpeg
# script:
# - cd gulp
# - yarn gulp build.standalone-prod || travis_terminate 1
# - yarn gulp standalone.prepare
# - yarn gulp standalone.package.prod.darwin64
# - cd ..
# jobs which have to succeed
include:
# OS: MAC
## -> build darwin
- name: "Standalone MacOS on MacOS"
os: osx
osx_image: xcode11.3
before_install:
- HOMEBREW_NO_AUTO_UPDATE=1 brew install git-lfs
- HOMEBREW_NO_AUTO_UPDATE=1 brew install ffmpeg
script:
- cd gulp
- yarn gulp build.standalone-prod || travis_terminate 1
- yarn gulp standalone.prepare
- yarn gulp standalone.package.prod.darwin64
- cd ..
## -> build win
# - name: "Standalone Windows on MacOS"
# os: osx
# osx_image: xcode11.3
# before_install:
# - HOMEBREW_NO_AUTO_UPDATE=1 brew install git-lfs
# - HOMEBREW_NO_AUTO_UPDATE=1 brew install ffmpeg
# - HOMEBREW_NO_AUTO_UPDATE=1 brew cask install wine-stable
# # prevent Wine popup dialogs about installing additional packages
# - export WINEDLLOVERRIDES="mscoree,mshtml="
# - export WINEDEBUG="-all"
# script:
# - cd gulp
# - yarn gulp build.standalone-prod || travis_terminate 1
# - yarn gulp standalone.prepare
# - yarn gulp standalone.package.prod.win64
# - yarn gulp standalone.package.prod.win32
# - cd ..
## -> build win
- name: "Standalone Windows on MacOS"
os: osx
osx_image: xcode11.3
before_install:
- HOMEBREW_NO_AUTO_UPDATE=1 brew install git-lfs
- HOMEBREW_NO_AUTO_UPDATE=1 brew install ffmpeg
- HOMEBREW_NO_AUTO_UPDATE=1 brew cask install wine-stable
# prevent Wine popup dialogs about installing additional packages
- export WINEDLLOVERRIDES="mscoree,mshtml="
- export WINEDEBUG="-all"
script:
- cd gulp
- yarn gulp build.standalone-prod || travis_terminate 1
- yarn gulp standalone.prepare
- yarn gulp standalone.package.prod.win64
- yarn gulp standalone.package.prod.win32
- cd ..
## -> build linux
# - name: "Standalone Linux on MacOS"
# os: osx
# osx_image: xcode11.3
# before_install:
# - HOMEBREW_NO_AUTO_UPDATE=1 brew install git-lfs
# - HOMEBREW_NO_AUTO_UPDATE=1 brew install ffmpeg
# script:
# - cd gulp
# - yarn gulp build.standalone-prod || travis_terminate 1
# - yarn gulp standalone.prepare
# - yarn gulp standalone.package.prod.linux64
# - yarn gulp standalone.package.prod.linux32
# - cd ..
## -> build linux
- name: "Standalone Linux on MacOS"
os: osx
osx_image: xcode11.3
before_install:
- HOMEBREW_NO_AUTO_UPDATE=1 brew install git-lfs
- HOMEBREW_NO_AUTO_UPDATE=1 brew install ffmpeg
script:
- cd gulp
- yarn gulp build.standalone-prod || travis_terminate 1
- yarn gulp standalone.prepare
- yarn gulp standalone.package.prod.linux64
- yarn gulp standalone.package.prod.linux32
- cd ..
# OS: LINUX
## -> build darwin
## not possible
# OS: LINUX
## -> build darwin
## not possible
## -> build win
# - name: "Standalone Windows on Linux"
# os: linux
# addons:
# apt:
# packages:
# - libavformat-dev
# - libavfilter-dev
# - libavdevice-dev
# - ffmpeg
# - wine
# script:
# - cd gulp
# - yarn gulp build.standalone-prod || travis_terminate 1
# - yarn gulp standalone.prepare
# - yarn gulp standalone.package.prod.win64
# - yarn gulp standalone.package.prod.win32
# - cd ..
## -> build win
- name: "Standalone Windows on Linux"
os: linux
addons:
apt:
packages:
- libavformat-dev
- libavfilter-dev
- libavdevice-dev
- ffmpeg
- wine
script:
- cd gulp
- yarn gulp build.standalone-prod || travis_terminate 1
- yarn gulp standalone.prepare
- yarn gulp standalone.package.prod.win64
- yarn gulp standalone.package.prod.win32
- cd ..
## -> build linux
# - name: "Standalone Linux on Linux"
# os: linux
# addons:
# apt:
# packages:
# - libavformat-dev
# - libavfilter-dev
# - libavdevice-dev
# - ffmpeg
# script:
# - cd gulp
# - yarn gulp build.standalone-prod || travis_terminate 1
# - yarn gulp standalone.prepare
# - yarn gulp standalone.package.prod.linux64
# - yarn gulp standalone.package.prod.linux32
# - cd ..
## -> build linux
- name: "Standalone Linux on Linux"
os: linux
addons:
apt:
packages:
- libavformat-dev
- libavfilter-dev
- libavdevice-dev
- ffmpeg
script:
- cd gulp
- yarn gulp build.standalone-prod || travis_terminate 1
- yarn gulp standalone.prepare
- yarn gulp standalone.package.prod.linux64
- yarn gulp standalone.package.prod.linux32
- cd ..
# OS: WINDOWS
## -> build darwin
## not possible
# OS: WINDOWS
## -> build darwin
## not possible
## -> build linux
# - name: "Standalone Linux on Windows"
# os: windows
# env: YARN_GPG=no
# before_install:
# - choco install git-lfs -y -f || echo "0" # choco fails but git-lfs is still installed
# - choco install ffmpeg --version=4.2.3
# - export PATH=/C/ProgramData/chocolatey/lib/ffmpeg/tools/ffmpeg/bin:$PATH
# - wget https://github.com/moiamond/docker-ffmpeg-base-windowsservercore/raw/master/System32/avicap32.dll -P /C/Windows/System32/
# - wget https://github.com/moiamond/docker-ffmpeg-base-windowsservercore/raw/master/System32/msvfw32.dll -P /C/Windows/System32/
# script:
# - cd gulp
# - yarn gulp build.standalone-prod || travis_terminate 1
# - yarn gulp standalone.prepare
# - yarn gulp standalone.package.prod.linux64
# - yarn gulp standalone.package.prod.linux32
# - cd ..
## -> build linux
- name: "Standalone Linux on Windows"
os: windows
env: YARN_GPG=no
before_install:
- choco install git-lfs -y -f || echo "0" # choco fails but git-lfs is still installed
- choco install ffmpeg --version=4.2.3
- export PATH=/C/ProgramData/chocolatey/lib/ffmpeg/tools/ffmpeg/bin:$PATH
- wget https://github.com/moiamond/docker-ffmpeg-base-windowsservercore/raw/master/System32/avicap32.dll -P /C/Windows/System32/
- wget https://github.com/moiamond/docker-ffmpeg-base-windowsservercore/raw/master/System32/msvfw32.dll -P /C/Windows/System32/
script:
- cd gulp
- yarn gulp build.standalone-prod || travis_terminate 1
- yarn gulp standalone.prepare
- yarn gulp standalone.package.prod.linux64
- yarn gulp standalone.package.prod.linux32
- cd ..
## -> build win
- name: "Standalone Windows on Windows"
os: windows
env: YARN_GPG=no
before_install:
- choco install git-lfs -y -f || echo "0" # choco fails but git-lfs is still installed
- choco install ffmpeg --version=4.2.3
- choco install wget
- export PATH=/C/ProgramData/chocolatey/lib/ffmpeg/tools/ffmpeg/bin:$PATH
- wget https://github.com/moiamond/docker-ffmpeg-base-windowsservercore/raw/master/System32/avicap32.dll -P /C/Windows/System32/
- wget https://github.com/moiamond/docker-ffmpeg-base-windowsservercore/raw/master/System32/msvfw32.dll -P /C/Windows/System32/
script:
- cd gulp
- yarn gulp build.standalone-prod || travis_terminate 1
- yarn gulp standalone.prepare
- yarn gulp standalone.package.prod.win64
- yarn gulp standalone.package.prod.win32
- cd ..
## -> build win
- name: "Standalone Windows on Windows"
os: windows
env: YARN_GPG=no
before_install:
- choco install git-lfs -y -f || echo "0" # choco fails but git-lfs is still installed
- choco install ffmpeg --version=4.2.3
- choco install wget
- export PATH=/C/ProgramData/chocolatey/lib/ffmpeg/tools/ffmpeg/bin:$PATH
- wget https://github.com/moiamond/docker-ffmpeg-base-windowsservercore/raw/master/System32/avicap32.dll -P /C/Windows/System32/
- wget https://github.com/moiamond/docker-ffmpeg-base-windowsservercore/raw/master/System32/msvfw32.dll -P /C/Windows/System32/
script:
- cd gulp
- yarn gulp build.standalone-prod || travis_terminate 1
- yarn gulp standalone.prepare
- yarn gulp standalone.package.prod.win64
- yarn gulp standalone.package.prod.win32
- cd ..
# mark build as finished even if "allow_failures" are still running
fast_finish: true
# mark build as finished even if "allow_failures" are still running
fast_finish: true
# optional jobs which may fail
#allow_failures:
# - name: ""
# optional jobs which may fail
#allow_failures:
# - name: ""
# shared
install:
- git lfs install
- git lfs pull
- git lfs install
- git lfs pull
- yarn
# electron dependencies
- cd electron
- yarn
- cd ..
- yarn
# gulp dependendencies
- cd gulp
- yarn
- cd ..
# electron dependencies
- cd electron
- yarn
- cd ..
# gulp dependendencies
- cd gulp
- yarn
- cd ..

6
.yamllint Normal file
View File

@ -0,0 +1,6 @@
extends: default
rules:
line-length:
level: warning
max: 200

View File

@ -11,6 +11,15 @@ Your goal is to produce shapes by cutting, rotating, merging and painting parts
- [Steam Page](https://steam.shapez.io)
- [Official Discord](https://discord.com/invite/HN7EVzV) <- _Highly recommended to join!_
## Reporting issues, suggestions, feedback, bugs
1. Ask in `#bugs` / `#feedback` / `#questions` on the [Official Discord](https://discord.com/invite/HN7EVzV) if you are not entirely sure if it's a bug etc.
2. Check out the trello board: https://trello.com/b/ISQncpJP/shapezio
3. See if it's already there - If so, vote for it, done. I will see it. (You have to be signed in on trello)
4. If not, check if it's already reported here: https://github.com/tobspr/shapez.io/issues
5. If not, file a new issue here: https://github.com/tobspr/shapez.io/issues/new
6. I will then have a look (This can take days or weeks) and convert it to trello, and comment with the link. You can then vote there ;)
## Building
- Make sure git `git lfs` extension is on your path

View File

@ -1,44 +0,0 @@
const glob = require("glob");
const execSync = require("child_process").execSync;
const trim = require("trim");
const fs = require("fs");
const path = require("path");
module.exports = {
getRevision: function (useLast = false) {
const commitHash = execSync("git rev-parse --short " + (useLast ? "HEAD^1" : "HEAD")).toString("ascii");
return commitHash.replace(/^\s+|\s+$/g, "");
},
getAllResourceImages() {
return glob
.sync("res/**/*.@(png|svg|jpg)", { cwd: ".." })
.map((f) => f.replace(/^res\//gi, ""))
.filter((f) => {
if (f.indexOf("ui") >= 0) {
// We drop all ui images except for the noinline ones
return f.indexOf("noinline") >= 0;
}
return true;
});
},
getAllAtlasImages() {
return glob.sync("res_built/atlas/*.png", { cwd: ".." }).map((s) => s.replace("res_built/atlas/", "res/"));
},
getAllSounds() {
return glob.sync("res_built/sounds/**/*.mp3", { cwd: ".." }).map((s) => s.replace("res_built/sounds/", "res/sounds/"));
},
getVersion() {
return trim(fs.readFileSync(path.join(__dirname, "version")).toString());
},
/**
* @param {string} url
* @param {string} commitHash
*/
cachebust(url, commitHash) {
return "/v/" + commitHash + "/" + url;
},
};

View File

@ -20,7 +20,7 @@
"ajv": "^6.10.2",
"audiosprite": "^0.7.2",
"babel-loader": "^8.1.0",
"browser-sync": "^2.24.6",
"browser-sync": "^2.26.10",
"circular-dependency-plugin": "^5.0.2",
"circular-json": "^0.5.9",
"clipboard-copy": "^3.1.0",
@ -54,7 +54,7 @@
"through2": "^3.0.1",
"uglify-template-string-loader": "^1.1.0",
"unused-files-webpack-plugin": "^3.4.0",
"webpack": "^4.31.0",
"webpack": "^4.43.0",
"webpack-bundle-analyzer": "^3.0.3",
"webpack-cli": "^3.1.0",
"webpack-deep-scope-plugin": "^1.6.0",
@ -114,7 +114,7 @@
"speed-measure-webpack-plugin": "^1.3.1",
"strip-json-comments": "^3.0.1",
"trim": "^0.0.1",
"webpack-stream": "^5.1.0",
"webpack-stream": "^5.2.1",
"yaml-loader": "^0.6.0"
}
}

View File

@ -1163,150 +1163,149 @@
resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8"
integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==
"@webassemblyjs/ast@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359"
integrity sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==
"@webassemblyjs/ast@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964"
integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==
dependencies:
"@webassemblyjs/helper-module-context" "1.8.5"
"@webassemblyjs/helper-wasm-bytecode" "1.8.5"
"@webassemblyjs/wast-parser" "1.8.5"
"@webassemblyjs/helper-module-context" "1.9.0"
"@webassemblyjs/helper-wasm-bytecode" "1.9.0"
"@webassemblyjs/wast-parser" "1.9.0"
"@webassemblyjs/floating-point-hex-parser@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721"
integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==
"@webassemblyjs/floating-point-hex-parser@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4"
integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==
"@webassemblyjs/helper-api-error@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7"
integrity sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==
"@webassemblyjs/helper-api-error@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2"
integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==
"@webassemblyjs/helper-buffer@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204"
integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==
"@webassemblyjs/helper-buffer@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00"
integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==
"@webassemblyjs/helper-code-frame@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e"
integrity sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==
"@webassemblyjs/helper-code-frame@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27"
integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==
dependencies:
"@webassemblyjs/wast-printer" "1.8.5"
"@webassemblyjs/wast-printer" "1.9.0"
"@webassemblyjs/helper-fsm@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452"
integrity sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==
"@webassemblyjs/helper-fsm@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8"
integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==
"@webassemblyjs/helper-module-context@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245"
integrity sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==
"@webassemblyjs/helper-module-context@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07"
integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==
dependencies:
"@webassemblyjs/ast" "1.8.5"
mamacro "^0.0.3"
"@webassemblyjs/ast" "1.9.0"
"@webassemblyjs/helper-wasm-bytecode@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61"
integrity sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==
"@webassemblyjs/helper-wasm-bytecode@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790"
integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==
"@webassemblyjs/helper-wasm-section@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf"
integrity sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==
"@webassemblyjs/helper-wasm-section@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346"
integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/helper-buffer" "1.8.5"
"@webassemblyjs/helper-wasm-bytecode" "1.8.5"
"@webassemblyjs/wasm-gen" "1.8.5"
"@webassemblyjs/ast" "1.9.0"
"@webassemblyjs/helper-buffer" "1.9.0"
"@webassemblyjs/helper-wasm-bytecode" "1.9.0"
"@webassemblyjs/wasm-gen" "1.9.0"
"@webassemblyjs/ieee754@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e"
integrity sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==
"@webassemblyjs/ieee754@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4"
integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==
dependencies:
"@xtuc/ieee754" "^1.2.0"
"@webassemblyjs/leb128@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10"
integrity sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==
"@webassemblyjs/leb128@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95"
integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==
dependencies:
"@xtuc/long" "4.2.2"
"@webassemblyjs/utf8@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc"
integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==
"@webassemblyjs/utf8@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab"
integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==
"@webassemblyjs/wasm-edit@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a"
integrity sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==
"@webassemblyjs/wasm-edit@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf"
integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/helper-buffer" "1.8.5"
"@webassemblyjs/helper-wasm-bytecode" "1.8.5"
"@webassemblyjs/helper-wasm-section" "1.8.5"
"@webassemblyjs/wasm-gen" "1.8.5"
"@webassemblyjs/wasm-opt" "1.8.5"
"@webassemblyjs/wasm-parser" "1.8.5"
"@webassemblyjs/wast-printer" "1.8.5"
"@webassemblyjs/ast" "1.9.0"
"@webassemblyjs/helper-buffer" "1.9.0"
"@webassemblyjs/helper-wasm-bytecode" "1.9.0"
"@webassemblyjs/helper-wasm-section" "1.9.0"
"@webassemblyjs/wasm-gen" "1.9.0"
"@webassemblyjs/wasm-opt" "1.9.0"
"@webassemblyjs/wasm-parser" "1.9.0"
"@webassemblyjs/wast-printer" "1.9.0"
"@webassemblyjs/wasm-gen@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc"
integrity sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==
"@webassemblyjs/wasm-gen@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c"
integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/helper-wasm-bytecode" "1.8.5"
"@webassemblyjs/ieee754" "1.8.5"
"@webassemblyjs/leb128" "1.8.5"
"@webassemblyjs/utf8" "1.8.5"
"@webassemblyjs/ast" "1.9.0"
"@webassemblyjs/helper-wasm-bytecode" "1.9.0"
"@webassemblyjs/ieee754" "1.9.0"
"@webassemblyjs/leb128" "1.9.0"
"@webassemblyjs/utf8" "1.9.0"
"@webassemblyjs/wasm-opt@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264"
integrity sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==
"@webassemblyjs/wasm-opt@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61"
integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/helper-buffer" "1.8.5"
"@webassemblyjs/wasm-gen" "1.8.5"
"@webassemblyjs/wasm-parser" "1.8.5"
"@webassemblyjs/ast" "1.9.0"
"@webassemblyjs/helper-buffer" "1.9.0"
"@webassemblyjs/wasm-gen" "1.9.0"
"@webassemblyjs/wasm-parser" "1.9.0"
"@webassemblyjs/wasm-parser@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d"
integrity sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==
"@webassemblyjs/wasm-parser@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e"
integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/helper-api-error" "1.8.5"
"@webassemblyjs/helper-wasm-bytecode" "1.8.5"
"@webassemblyjs/ieee754" "1.8.5"
"@webassemblyjs/leb128" "1.8.5"
"@webassemblyjs/utf8" "1.8.5"
"@webassemblyjs/ast" "1.9.0"
"@webassemblyjs/helper-api-error" "1.9.0"
"@webassemblyjs/helper-wasm-bytecode" "1.9.0"
"@webassemblyjs/ieee754" "1.9.0"
"@webassemblyjs/leb128" "1.9.0"
"@webassemblyjs/utf8" "1.9.0"
"@webassemblyjs/wast-parser@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c"
integrity sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==
"@webassemblyjs/wast-parser@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914"
integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/floating-point-hex-parser" "1.8.5"
"@webassemblyjs/helper-api-error" "1.8.5"
"@webassemblyjs/helper-code-frame" "1.8.5"
"@webassemblyjs/helper-fsm" "1.8.5"
"@webassemblyjs/ast" "1.9.0"
"@webassemblyjs/floating-point-hex-parser" "1.9.0"
"@webassemblyjs/helper-api-error" "1.9.0"
"@webassemblyjs/helper-code-frame" "1.9.0"
"@webassemblyjs/helper-fsm" "1.9.0"
"@xtuc/long" "4.2.2"
"@webassemblyjs/wast-printer@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc"
integrity sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==
"@webassemblyjs/wast-printer@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899"
integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/wast-parser" "1.8.5"
"@webassemblyjs/ast" "1.9.0"
"@webassemblyjs/wast-parser" "1.9.0"
"@xtuc/long" "4.2.2"
"@xtuc/ieee754@^1.2.0":
@ -1379,11 +1378,16 @@ acorn@^5.0.3, acorn@^5.5.0, acorn@^5.6.0:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==
acorn@^6.0.1, acorn@^6.0.2, acorn@^6.0.7, acorn@^6.2.1:
acorn@^6.0.1, acorn@^6.0.2, acorn@^6.0.7:
version "6.3.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e"
integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==
acorn@^6.4.1:
version "6.4.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474"
integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==
after@0.8.2:
version "0.8.2"
resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
@ -1505,6 +1509,11 @@ ansi-regex@^4.1.0:
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
ansi-regex@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
ansi-styles@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.1.0.tgz#eaecbf66cd706882760b2f4691582b8f55d7a7de"
@ -1522,7 +1531,7 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1:
dependencies:
color-convert "^1.9.0"
ansi-styles@^4.1.0:
ansi-styles@^4.0.0, ansi-styles@^4.1.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359"
integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==
@ -1548,6 +1557,14 @@ anymatch@^2.0.0:
micromatch "^3.1.4"
normalize-path "^2.1.1"
anymatch@~3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142"
integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==
dependencies:
normalize-path "^3.0.0"
picomatch "^2.0.4"
append-buffer@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1"
@ -2160,6 +2177,11 @@ binary-extensions@^1.0.0:
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==
binary-extensions@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9"
integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==
bl@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/bl/-/bl-0.7.0.tgz#3fb0670602ac2878eb770dc2039f1836be62ae5b"
@ -2268,7 +2290,7 @@ braces@^2.3.1, braces@^2.3.2:
split-string "^3.0.2"
to-regex "^3.0.1"
braces@^3.0.1:
braces@^3.0.1, braces@~3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
@ -2285,20 +2307,20 @@ browser-process-hrtime@^0.1.2:
resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4"
integrity sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==
browser-sync-client@^2.26.6:
version "2.26.6"
resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.26.6.tgz#e5201d3ace8aee88af17656b7b0c0620b6f8e4ab"
integrity sha512-mGrkZdNzttKdf/16I+y+2dTQxoMCIpKbVIMJ/uP8ZpnKu9f9qa/2CYVtLtbjZG8nsM14EwiCrjuFTGBEnT3Gjw==
browser-sync-client@^2.26.10:
version "2.26.10"
resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.26.10.tgz#ca9309ba19f9695e7945b95062da8a7ef3156711"
integrity sha512-8pYitKwpVva7hzXJI8lTljNDbA9fjMEobHSxWqegIUon/GjJAG3UgHB/+lBWnOLzTY8rGX66MvGqL1Aknyrj7g==
dependencies:
etag "1.8.1"
fresh "0.5.2"
mitt "^1.1.3"
rxjs "^5.5.6"
browser-sync-ui@^2.26.4:
version "2.26.4"
resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-2.26.4.tgz#3772f13c6b93f2d7d333f4be0ca1ec02aae97dba"
integrity sha512-u20P3EsZoM8Pt+puoi3BU3KlbQAH1lAcV+/O4saF26qokrBqIDotmGonfWwoRbUmdxZkM9MBmA0K39ZTG1h4sA==
browser-sync-ui@^2.26.10:
version "2.26.10"
resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-2.26.10.tgz#7b4b378de204b3913d4b8a6f93b16b1ba769d4bc"
integrity sha512-UfNSBItlXcmEvJ9RE4JooNtIsiIfHowp+7/52Jz4VFfQD4v78QK5/NV9DVrG41oMM3zLyhW4f/RliOb4ysStZg==
dependencies:
async-each-series "0.1.1"
connect-history-api-fallback "^1"
@ -2307,16 +2329,16 @@ browser-sync-ui@^2.26.4:
socket.io-client "^2.0.4"
stream-throttle "^0.1.3"
browser-sync@^2.24.6:
version "2.26.7"
resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.26.7.tgz#120287716eb405651a76cc74fe851c31350557f9"
integrity sha512-lY3emme0OyvA2ujEMpRmyRy9LY6gHLuTr2/ABxhIm3lADOiRXzP4dgekvnDrQqZ/Ec2Fz19lEjm6kglSG5766w==
browser-sync@^2.26.10:
version "2.26.10"
resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.26.10.tgz#f03c043f615cf53c9294ccb2a5a5e25cfe11a230"
integrity sha512-JeVQP3CARvNA1DELj+ZGWj+/0pzE8+Omvq1WNgzaTXVdP3lNEbGxZbkjvLK7hHpQywjQ1sDJWlJQZT6V59XDTg==
dependencies:
browser-sync-client "^2.26.6"
browser-sync-ui "^2.26.4"
browser-sync-client "^2.26.10"
browser-sync-ui "^2.26.10"
bs-recipes "1.3.4"
bs-snippet-injector "^2.0.1"
chokidar "^2.0.4"
chokidar "^3.4.1"
connect "3.6.6"
connect-history-api-fallback "^1"
dev-ip "^1.0.1"
@ -2325,10 +2347,10 @@ browser-sync@^2.24.6:
etag "^1.8.1"
fresh "^0.5.2"
fs-extra "3.0.1"
http-proxy "1.15.2"
http-proxy "^1.18.1"
immutable "^3"
localtunnel "1.9.2"
micromatch "^3.1.10"
localtunnel "^2.0.0"
micromatch "^4.0.2"
opn "5.3.0"
portscanner "2.1.1"
qs "6.2.3"
@ -2340,8 +2362,8 @@ browser-sync@^2.24.6:
serve-static "1.13.2"
server-destroy "1.0.1"
socket.io "2.1.1"
ua-parser-js "0.7.17"
yargs "6.4.0"
ua-parser-js "^0.7.18"
yargs "^15.4.1"
browserify-aes@^1.0.0, browserify-aes@^1.0.4:
version "1.2.0"
@ -2806,7 +2828,7 @@ check-types@^8.0.3:
resolved "https://registry.yarnpkg.com/check-types/-/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552"
integrity sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==
chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.4:
chokidar@^2.0.0, chokidar@^2.1.8:
version "2.1.8"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==
@ -2825,6 +2847,21 @@ chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.4:
optionalDependencies:
fsevents "^1.2.7"
chokidar@^3.4.0, chokidar@^3.4.1:
version "3.4.1"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.1.tgz#e905bdecf10eaa0a0b1db0c664481cc4cbc22ba1"
integrity sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g==
dependencies:
anymatch "~3.1.1"
braces "~3.0.2"
glob-parent "~5.1.0"
is-binary-path "~2.1.0"
is-glob "~4.0.1"
normalize-path "~3.0.0"
readdirp "~3.4.0"
optionalDependencies:
fsevents "~2.1.2"
chownr@^1.1.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6"
@ -2946,6 +2983,15 @@ cliui@^5.0.0:
strip-ansi "^5.2.0"
wrap-ansi "^5.1.0"
cliui@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1"
integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==
dependencies:
string-width "^4.2.0"
strip-ansi "^6.0.0"
wrap-ansi "^6.2.0"
clone-buffer@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58"
@ -4250,6 +4296,11 @@ emoji-regex@^7.0.1:
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
emoji-regex@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
emojis-list@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
@ -4738,10 +4789,10 @@ event-emitter@~0.3.5:
d "1"
es5-ext "~0.10.14"
eventemitter3@1.x.x:
version "1.2.0"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508"
integrity sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=
eventemitter3@^4.0.0:
version "4.0.4"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384"
integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==
events@^3.0.0:
version "3.0.0"
@ -5243,6 +5294,14 @@ find-up@^3.0.0:
dependencies:
locate-path "^3.0.0"
find-up@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
dependencies:
locate-path "^5.0.0"
path-exists "^4.0.0"
find-versions@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-3.1.0.tgz#10161f29cf3eb4350dec10a29bdde75bff0df32d"
@ -5362,6 +5421,11 @@ follow-redirects@1.5.10:
dependencies:
debug "=3.1.0"
follow-redirects@^1.0.0:
version "1.12.1"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.12.1.tgz#de54a6205311b93d60398ebc01cf7015682312b6"
integrity sha512-tmRv0AVuR7ZyouUHLeNSiO6pqulF7dYa3s19c6t+wz9LD69/uSzdMxJ2S91nTI9U3rt/IldxpzMOFejp6f0hjg==
for-each@^0.3.3:
version "0.3.3"
resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
@ -5511,6 +5575,11 @@ fsevents@^1.2.7:
nan "^2.12.1"
node-pre-gyp "^0.12.0"
fsevents@~2.1.2:
version "2.1.3"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
fstream@^1.0.0, fstream@^1.0.12:
version "1.0.12"
resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045"
@ -5684,7 +5753,7 @@ glob-parent@^3.1.0:
is-glob "^3.1.0"
path-dirname "^1.0.0"
glob-parent@^5.1.0:
glob-parent@^5.1.0, glob-parent@~5.1.0:
version "5.1.1"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229"
integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==
@ -6686,13 +6755,14 @@ http-errors@~1.6.2:
resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4"
integrity sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=
http-proxy@1.15.2:
version "1.15.2"
resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.15.2.tgz#642fdcaffe52d3448d2bda3b0079e9409064da31"
integrity sha1-ZC/cr/5S00SNK9o7AHnpQJBk2jE=
http-proxy@^1.18.1:
version "1.18.1"
resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549"
integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==
dependencies:
eventemitter3 "1.x.x"
requires-port "1.x.x"
eventemitter3 "^4.0.0"
follow-redirects "^1.0.0"
requires-port "^1.0.0"
http-signature@~1.2.0:
version "1.2.0"
@ -7104,6 +7174,13 @@ is-binary-path@^1.0.0:
dependencies:
binary-extensions "^1.0.0"
is-binary-path@~2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
dependencies:
binary-extensions "^2.0.0"
is-buffer@^1.1.5, is-buffer@~1.1.1:
version "1.1.6"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
@ -7209,6 +7286,11 @@ is-fullwidth-code-point@^2.0.0:
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
is-fullwidth-code-point@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
is-function@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5"
@ -7228,7 +7310,7 @@ is-glob@^3.1.0:
dependencies:
is-extglob "^2.1.0"
is-glob@^4.0.0, is-glob@^4.0.1:
is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
@ -7900,7 +7982,7 @@ loader-runner@^2.4.0:
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==
loader-utils@1.2.3, loader-utils@^1.0.0, loader-utils@^1.1.0, loader-utils@^1.2.3:
loader-utils@1.2.3, loader-utils@^1.1.0, loader-utils@^1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7"
integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==
@ -7919,7 +8001,7 @@ loader-utils@^0.2.5, loader-utils@~0.2.2, loader-utils@~0.2.3, loader-utils@~0.2
json5 "^0.5.0"
object-assign "^4.0.1"
loader-utils@^1.4.0:
loader-utils@^1.0.0, loader-utils@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
@ -7928,15 +8010,15 @@ loader-utils@^1.4.0:
emojis-list "^3.0.0"
json5 "^1.0.1"
localtunnel@1.9.2:
version "1.9.2"
resolved "https://registry.yarnpkg.com/localtunnel/-/localtunnel-1.9.2.tgz#0012fcabc29cf964c130a01858768aa2bb65b5af"
integrity sha512-NEKF7bDJE9U3xzJu3kbayF0WTvng6Pww7tzqNb/XtEARYwqw7CKEX7BvOMg98FtE9es2CRizl61gkV3hS8dqYg==
localtunnel@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/localtunnel/-/localtunnel-2.0.0.tgz#2ea71174fa80e34cce91b2a7ce416e6a57d9ff7c"
integrity sha512-g6E0aLgYYDvQDxIjIXkgJo2+pHj3sGg4Wz/XP3h2KtZnRsWPbOQY+hw1H8Z91jep998fkcVE9l+kghO+97vllg==
dependencies:
axios "0.19.0"
debug "4.1.1"
openurl "1.1.1"
yargs "6.6.0"
yargs "13.3.0"
locate-path@^2.0.0:
version "2.0.0"
@ -7954,6 +8036,13 @@ locate-path@^3.0.0:
p-locate "^3.0.0"
path-exists "^3.0.0"
locate-path@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
dependencies:
p-locate "^4.1.0"
lodash._basecopy@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
@ -8383,11 +8472,6 @@ make-iterator@^1.0.0:
dependencies:
kind-of "^6.0.2"
mamacro@^0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4"
integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==
map-age-cleaner@^0.1.1:
version "0.1.3"
resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a"
@ -9060,7 +9144,7 @@ normalize-path@^2.1.1:
dependencies:
remove-trailing-separator "^1.0.1"
normalize-path@^3.0.0:
normalize-path@^3.0.0, normalize-path@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
@ -9562,6 +9646,13 @@ p-limit@^2.0.0:
dependencies:
p-try "^2.0.0"
p-limit@^2.2.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
dependencies:
p-try "^2.0.0"
p-locate@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
@ -9576,6 +9667,13 @@ p-locate@^3.0.0:
dependencies:
p-limit "^2.0.0"
p-locate@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
dependencies:
p-limit "^2.2.0"
p-map-series@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-1.0.0.tgz#bf98fe575705658a9e1351befb85ae4c1f07bdca"
@ -9787,6 +9885,11 @@ path-exists@^3.0.0:
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
path-exists@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
path-is-absolute@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
@ -9891,7 +9994,7 @@ phonegap-plugin-mobile-accessibility@^1.0.5:
resolved "https://registry.yarnpkg.com/phonegap-plugin-mobile-accessibility/-/phonegap-plugin-mobile-accessibility-1.0.5.tgz#95a8754d127508bc6e1ae259a53ce765836eac03"
integrity sha1-lah1TRJ1CLxuGuJZpTznZYNurAM=
picomatch@^2.0.5, picomatch@^2.2.1:
picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1:
version "2.2.2"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
@ -10920,7 +11023,7 @@ querystring@0.2.0:
resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
@ -11109,6 +11212,13 @@ readdirp@^2.1.0, readdirp@^2.2.1:
micromatch "^3.1.10"
readable-stream "^2.0.2"
readdirp@~3.4.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada"
integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==
dependencies:
picomatch "^2.2.1"
readline2@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35"
@ -11362,7 +11472,7 @@ require-uncached@^1.0.2:
caller-path "^0.1.0"
resolve-from "^1.0.0"
requires-port@1.x.x:
requires-port@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
@ -11769,6 +11879,13 @@ serialize-javascript@^1.7.0:
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb"
integrity sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==
serialize-javascript@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-3.1.0.tgz#8bf3a9170712664ef2561b44b691eafe399214ea"
integrity sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==
dependencies:
randombytes "^2.1.0"
serve-index@1.9.1, serve-index@^1.1.4:
version "1.9.1"
resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239"
@ -12381,6 +12498,15 @@ string-width@^3.0.0, string-width@^3.1.0:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^5.1.0"
string-width@^4.1.0, string-width@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5"
integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==
dependencies:
emoji-regex "^8.0.0"
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.0"
string.prototype.trim@^1.1.2:
version "1.2.0"
resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz#75a729b10cfc1be439543dae442129459ce61e3d"
@ -12453,6 +12579,13 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
dependencies:
ansi-regex "^4.1.0"
strip-ansi@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
dependencies:
ansi-regex "^5.0.0"
strip-bom@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794"
@ -12712,7 +12845,7 @@ ternary-stream@^3.0.0:
merge-stream "^2.0.0"
through2 "^3.0.1"
terser-webpack-plugin@^1.1.0, terser-webpack-plugin@^1.4.1:
terser-webpack-plugin@^1.1.0:
version "1.4.1"
resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz#61b18e40eaee5be97e771cdbb10ed1280888c2b4"
integrity sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==
@ -12727,6 +12860,21 @@ terser-webpack-plugin@^1.1.0, terser-webpack-plugin@^1.4.1:
webpack-sources "^1.4.0"
worker-farm "^1.7.0"
terser-webpack-plugin@^1.4.3:
version "1.4.4"
resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz#2c63544347324baafa9a56baaddf1634c8abfc2f"
integrity sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==
dependencies:
cacache "^12.0.2"
find-cache-dir "^2.1.0"
is-wsl "^1.1.0"
schema-utils "^1.0.0"
serialize-javascript "^3.1.0"
source-map "^0.6.1"
terser "^4.1.2"
webpack-sources "^1.4.0"
worker-farm "^1.7.0"
terser@^4.0.0, terser@^4.1.2:
version "4.3.1"
resolved "https://registry.yarnpkg.com/terser/-/terser-4.3.1.tgz#09820bcb3398299c4b48d9a86aefc65127d0ed65"
@ -13107,10 +13255,10 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
ua-parser-js@0.7.17:
version "0.7.17"
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac"
integrity sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==
ua-parser-js@^0.7.18:
version "0.7.21"
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.21.tgz#853cf9ce93f642f67174273cc34565ae6f308777"
integrity sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==
uglify-js@3.4.x:
version "3.4.10"
@ -13588,14 +13736,23 @@ watch@^0.11.0:
resolved "https://registry.yarnpkg.com/watch/-/watch-0.11.0.tgz#e8dba091b7456799a3af57978b986e77e1320406"
integrity sha1-6NugkbdFZ5mjr1eXi5hud+EyBAY=
watchpack@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00"
integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==
watchpack-chokidar2@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0"
integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==
dependencies:
chokidar "^2.1.8"
watchpack@^1.6.1:
version "1.7.2"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.2.tgz#c02e4d4d49913c3e7e122c3325365af9d331e9aa"
integrity sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==
dependencies:
chokidar "^2.0.2"
graceful-fs "^4.1.2"
neo-async "^2.5.0"
optionalDependencies:
chokidar "^3.4.0"
watchpack-chokidar2 "^2.0.0"
webidl-conversions@^4.0.2:
version "4.0.2"
@ -13658,7 +13815,7 @@ webpack-sources@^1.4.0, webpack-sources@^1.4.1:
source-list-map "^2.0.0"
source-map "~0.6.1"
webpack-stream@^5.1.0:
webpack-stream@^5.2.1:
version "5.2.1"
resolved "https://registry.yarnpkg.com/webpack-stream/-/webpack-stream-5.2.1.tgz#35c992161399fe8cad9c10d4a5c258f022629b39"
integrity sha512-WvyVU0K1/VB1NZ7JfsaemVdG0PXAQUqbjUNW4A58th4pULvKMQxG+y33HXTL02JvD56ko2Cub+E2NyPwrLBT/A==
@ -13680,16 +13837,16 @@ webpack-strip-block@^0.2.0:
dependencies:
loader-utils "^1.1.0"
webpack@^4.26.1, webpack@^4.31.0:
version "4.40.2"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.40.2.tgz#d21433d250f900bf0facbabe8f50d585b2dc30a7"
integrity sha512-5nIvteTDCUws2DVvP9Qe+JPla7kWPPIDFZv55To7IycHWZ+Z5qBdaBYPyuXWdhggTufZkQwfIK+5rKQTVovm2A==
webpack@^4.26.1, webpack@^4.43.0:
version "4.43.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.43.0.tgz#c48547b11d563224c561dad1172c8aa0b8a678e6"
integrity sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/helper-module-context" "1.8.5"
"@webassemblyjs/wasm-edit" "1.8.5"
"@webassemblyjs/wasm-parser" "1.8.5"
acorn "^6.2.1"
"@webassemblyjs/ast" "1.9.0"
"@webassemblyjs/helper-module-context" "1.9.0"
"@webassemblyjs/wasm-edit" "1.9.0"
"@webassemblyjs/wasm-parser" "1.9.0"
acorn "^6.4.1"
ajv "^6.10.2"
ajv-keywords "^3.4.1"
chrome-trace-event "^1.0.2"
@ -13700,13 +13857,13 @@ webpack@^4.26.1, webpack@^4.31.0:
loader-utils "^1.2.3"
memory-fs "^0.4.1"
micromatch "^3.1.10"
mkdirp "^0.5.1"
mkdirp "^0.5.3"
neo-async "^2.6.1"
node-libs-browser "^2.2.1"
schema-utils "^1.0.0"
tapable "^1.1.3"
terser-webpack-plugin "^1.4.1"
watchpack "^1.6.0"
terser-webpack-plugin "^1.4.3"
watchpack "^1.6.1"
webpack-sources "^1.4.1"
websocket-driver@>=0.3.6:
@ -13780,11 +13937,6 @@ wide-align@^1.1.0:
dependencies:
string-width "^1.0.2 || 2"
window-size@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075"
integrity sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=
winston@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/winston/-/winston-1.0.2.tgz#351c58e2323f8a4ca29a45195aa9aa3b4c35d76f"
@ -13840,6 +13992,15 @@ wrap-ansi@^5.1.0:
string-width "^3.0.0"
strip-ansi "^5.0.0"
wrap-ansi@^6.2.0:
version "6.2.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
dependencies:
ansi-styles "^4.0.0"
string-width "^4.1.0"
strip-ansi "^6.0.0"
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
@ -14002,12 +14163,21 @@ yargs-parser@^13.0.0, yargs-parser@^13.1.0:
camelcase "^5.0.0"
decamelize "^1.2.0"
yargs-parser@^4.1.0, yargs-parser@^4.2.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c"
integrity sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=
yargs-parser@^13.1.1:
version "13.1.2"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==
dependencies:
camelcase "^3.0.0"
camelcase "^5.0.0"
decamelize "^1.2.0"
yargs-parser@^18.1.2:
version "18.1.3"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
dependencies:
camelcase "^5.0.0"
decamelize "^1.2.0"
yargs-parser@^5.0.0:
version "5.0.0"
@ -14033,44 +14203,38 @@ yargs@13.2.4:
y18n "^4.0.0"
yargs-parser "^13.1.0"
yargs@6.4.0:
version "6.4.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.4.0.tgz#816e1a866d5598ccf34e5596ddce22d92da490d4"
integrity sha1-gW4ahm1VmMzzTlWW3c4i2S2kkNQ=
yargs@13.3.0:
version "13.3.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83"
integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==
dependencies:
camelcase "^3.0.0"
cliui "^3.2.0"
decamelize "^1.1.1"
get-caller-file "^1.0.1"
os-locale "^1.4.0"
read-pkg-up "^1.0.1"
cliui "^5.0.0"
find-up "^3.0.0"
get-caller-file "^2.0.1"
require-directory "^2.1.1"
require-main-filename "^1.0.1"
require-main-filename "^2.0.0"
set-blocking "^2.0.0"
string-width "^1.0.2"
which-module "^1.0.0"
window-size "^0.2.0"
y18n "^3.2.1"
yargs-parser "^4.1.0"
string-width "^3.0.0"
which-module "^2.0.0"
y18n "^4.0.0"
yargs-parser "^13.1.1"
yargs@6.6.0:
version "6.6.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208"
integrity sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=
yargs@^15.4.1:
version "15.4.1"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8"
integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==
dependencies:
camelcase "^3.0.0"
cliui "^3.2.0"
decamelize "^1.1.1"
get-caller-file "^1.0.1"
os-locale "^1.4.0"
read-pkg-up "^1.0.1"
cliui "^6.0.0"
decamelize "^1.2.0"
find-up "^4.1.0"
get-caller-file "^2.0.1"
require-directory "^2.1.1"
require-main-filename "^1.0.1"
require-main-filename "^2.0.0"
set-blocking "^2.0.0"
string-width "^1.0.2"
which-module "^1.0.0"
y18n "^3.2.1"
yargs-parser "^4.2.0"
string-width "^4.2.0"
which-module "^2.0.0"
y18n "^4.0.0"
yargs-parser "^18.1.2"
yargs@^7.0.0:
version "7.1.0"

View File

@ -29,7 +29,6 @@
"@types/filesystem": "^0.0.29",
"ajv": "^6.10.2",
"babel-loader": "^8.0.4",
"browser-sync": "^2.24.6",
"circular-dependency-plugin": "^5.0.2",
"circular-json": "^0.5.9",
"clipboard-copy": "^3.1.0",
@ -60,7 +59,7 @@
"typescript": "3.9.3",
"uglify-template-string-loader": "^1.1.0",
"unused-files-webpack-plugin": "^3.4.0",
"webpack": "^4.31.0",
"webpack": "^4.43.0",
"webpack-bundle-analyzer": "^3.0.3",
"webpack-cli": "^3.1.0",
"webpack-deep-scope-plugin": "^1.6.0",
@ -97,7 +96,6 @@
"sass-unused": "^0.3.0",
"speed-measure-webpack-plugin": "^1.3.1",
"strip-json-comments": "^3.0.1",
"trim": "^0.0.1",
"webpack-stream": "^5.1.0"
"trim": "^0.0.1"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 712 B

After

Width:  |  Height:  |  Size: 756 B

BIN
res/ui/icons/link.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 70 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 KiB

After

Width:  |  Height:  |  Size: 226 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 515 KiB

After

Width:  |  Height:  |  Size: 527 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 976 KiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

@ -449,6 +449,7 @@
<key type="filename">sprites/blueprints/miner-chainable.png</key>
<key type="filename">sprites/blueprints/miner.png</key>
<key type="filename">sprites/blueprints/rotater-ccw.png</key>
<key type="filename">sprites/blueprints/rotater-fl.png</key>
<key type="filename">sprites/blueprints/rotater.png</key>
<key type="filename">sprites/blueprints/splitter-compact-inverse.png</key>
<key type="filename">sprites/blueprints/splitter-compact.png</key>
@ -459,6 +460,7 @@
<key type="filename">sprites/blueprints/underground_belt_exit.png</key>
<key type="filename">sprites/buildings/miner-chainable.png</key>
<key type="filename">sprites/buildings/rotater-ccw.png</key>
<key type="filename">sprites/buildings/rotater-fl.png</key>
<key type="filename">sprites/buildings/splitter-compact-inverse.png</key>
<key type="filename">sprites/buildings/splitter-compact.png</key>
<key type="filename">sprites/buildings/underground_belt_entry-tier2.png</key>

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -73,6 +73,9 @@ body {
scrollbar-face-color: #888;
scrollbar-track-color: rgba(255, 255, 255, 0.1);
// Firefox
scrollbar-color: #cdd0d4 rgba(#000, 0.05);
overflow: hidden;
@include Text;
@ -205,7 +208,7 @@ button {
border: 0;
background: $colorBlueBright;
color: #fff;
@include S(border-radius, $globalBorderRadius);
// border: #{D(1px)} solid rgba(0, 10, 20, 0.2);
@include S(border-bottom-width, 2px);
// color: $accentColorDark;
@ -345,6 +348,7 @@ canvas {
::-webkit-scrollbar-thumb {
// border-radius: 4px;
@include S(border-radius, $globalBorderRadius);
background: #cdd0d4;
}

View File

@ -8,8 +8,8 @@ $buildings: belt, cutter, miner, mixer, painter, rotater, splitter, stacker, tra
}
$buildingsAndVariants: belt, splitter, splitter-compact, splitter-compact-inverse, underground_belt,
underground_belt-tier2, miner, miner-chainable, cutter, cutter-quad, rotater, rotater-ccw, stacker, mixer,
painter, painter-double, painter-quad, trash, trash-storage;
underground_belt-tier2, miner, miner-chainable, cutter, cutter-quad, rotater, rotater-ccw, rotater-fl,
stacker, mixer, painter, painter-double, painter-quad, trash, trash-storage;
@each $building in $buildingsAndVariants {
[data-icon="building_tutorials/#{$building}.png"] {
background-image: uiResource("res/ui/building_tutorials/#{$building}.png") !important;

View File

@ -4,23 +4,28 @@
left: 50%;
transform: translateX(-50%);
// NOTE: This flex rule may not be necessary. Need to find out intent.
display: flex;
flex-direction: column;
background-color: rgb(255, 255, 255);
background: transparent;
border-bottom-width: 0;
transition: transform 0.12s ease-in-out;
transition: transform 120ms ease-in-out;
will-change: transform;
background: rgba(mix(#ddd, $colorBlueBright, 90%), 0.75);
background-color: rgba(mix(#ddd, $colorBlueBright, 90%), 0.5);
backdrop-filter: blur(D(3px));
@include DarkThemeOverride {
background: #222428;
background-color: #222428;
}
&:not(.visible) {
transform: translateX(-50%) translateY(#{D(100px)});
}
@include S(border-top-left-radius, $globalBorderRadius);
@include S(border-top-right-radius, $globalBorderRadius);
.buildings {
display: grid;
grid-auto-flow: column;
@ -60,21 +65,43 @@
@include S(border-radius, $globalBorderRadius);
&.selected {
background-color: rgba($colorBlueBright, 0.6) !important;
transform: scale(1.05);
.keybinding {
color: #111;
}
}
pointer-events: all;
transition: all 0.05s ease-in-out;
transition-property: background-color, transform;
&.unlocked:hover {
background-color: rgba($accentColorDark, 0.1);
&.unlocked {
pointer-events: all;
transition: all 50ms ease-in-out;
transition-property: background-color, transform;
cursor: pointer;
will-change: transform;
&::before {
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: $accentColorDark;
opacity: 0;
will-change: opacity;
}
&:hover {
&::before {
opacity: 0.1;
}
}
&.selected {
transform: scale(1.05);
&::before {
background-color: $colorBlueBright;
opacity: 0.6;
}
.keybinding {
color: #111;
}
}
}
}
}

View File

@ -22,6 +22,7 @@
cursor: pointer;
transition: all 0.12s ease-in-out;
transition-property: opacity, transform;
will-change: opacity;
opacity: 0.9;
@include S(margin-left, 5px);
position: relative;

View File

@ -15,6 +15,8 @@
display: flex;
flex-direction: column;
@include S(border-radius, $globalBorderRadius);
@include MakeAnimationWrappedEvenOdd(0.5s ease-in-out) {
0% {
}

View File

@ -7,7 +7,8 @@
flex-direction: column;
align-items: flex-start;
color: #333438;
// text-shadow: #{D(1px)} #{D(1px)} 0 rgba(0, 10, 20, 0.1);
backdrop-filter: blur(D(2px));
padding: D(3px);
@include DarkThemeOverride {
color: #fff;

View File

@ -18,6 +18,7 @@
@include S(margin-bottom, 4px);
color: #333438;
// text-shadow: #{D(1px)} #{D(1px)} 0 rgba(0, 10, 20, 0.2);
filter: drop-shadow(#{D(1px)} #{D(1px)} 0 rgba(0, 10, 20, 0.2));
&.unpinable {
> canvas {
@ -33,10 +34,12 @@
grid-row: 1 / 3;
pointer-events: all;
transition: transform 0.1s ease-in-out;
transform-origin: D(2px) center;
will-change: transform;
position: relative;
z-index: 20;
&:hover {
transform: scale(2) translateX(#{D(5px)});
transform: scale(2);
z-index: 21;
}
}

View File

@ -2,8 +2,8 @@
/* Forces an element to get rendered on its own layer, increasing
the performance when animated. Use only transform and opacity in animations! */
@mixin FastAnimation {
// will-change: transform, opacity;
transform: translateZ(0);
will-change: transform, opacity, filter;
// transform: translateZ(0);
backface-visibility: hidden;
-webkit-backface-visibility: hidden;
}

View File

@ -1,6 +1,23 @@
#state_AboutState {
> .container .content {
@include S(max-width, 600px);
@include PlainText;
padding: 0;
background: transparent;
}
.head {
@include S(padding, 20px);
img {
display: block;
margin: 0 auto;
@include S(max-width, 200px);
}
}
.text {
@include S(margin, 10px);
}
a {

View File

@ -1,5 +1,6 @@
#state_ChangelogState {
.content {
@include S(max-width, 800px);
display: flex;
flex-direction: column;
}

View File

@ -55,7 +55,7 @@
opacity: 0;
display: none;
transform: translate(50%, 50%);
filter: blur(10px);
// filter: blur(10px);
$opacity: 0.2;
&.loaded {
@ -178,6 +178,10 @@
transform: translateX(50%) rotate(-7deg) scale(1.1);
}
}
@include DarkThemeOverride {
color: $colorBlueBright;
}
}
}
@ -201,33 +205,6 @@
flex-grow: 1;
@include S(margin-bottom, 10px);
}
.contest {
flex-grow: 1;
background: rgb(32, 187, 166);
@include S(padding, 15px);
h3 {
@include Heading;
color: #fff;
font-weight: bold;
text-transform: uppercase;
@include S(margin-bottom, 5px);
}
p {
color: #fff;
@include Text;
strong {
font-weight: bold;
}
@include S(margin-bottom, 5px);
}
button {
background: #fff;
color: #333538;
}
}
}
.mainContainer {
@ -265,13 +242,15 @@
@include S(min-width, 130px);
@include S(padding, 15px, 20px);
letter-spacing: 0.3em !important;
@include IncreasedClickArea(0px);
font-weight: bold;
color: #fff;
background-color: $colorGreenBright;
transition: transform 0.12s ease-in-out;
transition: transform 0.12s ease-in-out, background-color 0.12s ease-in-out;
&:hover {
transform: scale(1.02);
background-color: darken($colorGreenBright, 4);
opacity: 1;
}
&.continueButton {
@ -281,9 +260,11 @@
.importButton {
@include S(margin-top, 15px);
@include IncreasedClickArea(0px);
}
.newGameButton {
@include IncreasedClickArea(0px);
@include S(margin-top, 15px);
@include S(margin-left, 15px);
}
@ -306,8 +287,8 @@
display: grid;
grid-template-columns: 1fr auto auto;
grid-template-rows: auto auto;
@include S(grid-column-gap, 5px);
@include S(grid-row-gap, 3px);
@include S(grid-column-gap, 4px);
@include S(grid-row-gap, 1px);
.playtime {
grid-column: 1 / 2;
@ -325,12 +306,9 @@
button.resumeGame,
button.downloadGame,
button.deleteGame {
grid-column: 3 / 4;
grid-row: 1 / 3;
@include S(width, 30px);
@include S(height, 30px);
padding: 0;
align-self: center;
justify-self: center;
@include IncreasedClickArea(0px);
background: #44484a uiResource("icons/play.png") center center / 40% no-repeat;
}
@ -338,12 +316,13 @@
button.downloadGame {
grid-column: 2 / 3;
grid-row: 1 / 2;
background-color: $colorBlueBright;
background-image: uiResource("icons/download.png");
@include S(width, 15px);
@include IncreasedClickArea(0px);
@include S(height, 15px);
align-self: end;
background-size: 60%;
align-self: start;
}
button.deleteGame {
@ -357,6 +336,14 @@
align-self: end;
background-size: 60%;
}
button.resumeGame {
grid-column: 3 / 4;
grid-row: 1 / 3;
margin: 0;
@include S(width, 32px);
height: 100%;
}
}
}
}
@ -370,7 +357,7 @@
grid-template-columns: auto auto auto 1fr;
@include S(padding, 10px);
box-sizing: border-box;
@include S(grid-gap, 5px);
@include S(grid-gap, 4px);
.author {
flex-grow: 1;
@ -390,7 +377,7 @@
grid-template-columns: 1fr auto;
justify-content: center;
background: #fdfdfd;
background: #fdfdfd uiResource("icons/link.png") top D(3px) right D(3px) / D(9px) no-repeat;
@include S(padding, 5px);
@include S(padding-left, 10px);
@include S(border-radius, $globalBorderRadius);
@ -401,15 +388,14 @@
text-transform: uppercase;
color: #616266;
transition: all 0.12s ease-in-out;
transition-property: background-color, transform;
transition: background-color 0.12s ease-in-out;
pointer-events: all;
@include S(width, 120px);
@include S(height, 60px);
cursor: pointer;
&:hover {
background-color: #fff;
background-color: #f0f6ff;
}
.thirdpartyLogo {
@ -432,7 +418,7 @@
align-items: flex-start;
justify-content: flex-start;
grid-template-rows: 1fr 1fr 1fr;
@include S(grid-gap, 2px);
@include S(grid-gap, 3px);
@include S(height, 60px);
> a {
@ -441,7 +427,7 @@
height: 100%;
&:hover {
background-color: #fff;
background-color: #f0f6ff;
}
@include SuperSmallText;
text-transform: uppercase;
@ -457,6 +443,9 @@
background-position: #{D(5px)} center;
background-size: #{D(12px)};
background-repeat: no-repeat;
@include S(border-radius, $globalBorderRadius);
transition: background-color 0.12s ease-in-out;
&.redditLink {
background-image: uiResource("main_menu/reddit.svg");

View File

@ -1,113 +1,188 @@
#state_SettingsState {
.content {
.versionbar {
@include S(margin-top, 20px);
@include SuperSmallText;
display: grid;
align-items: center;
grid-template-columns: 1fr auto;
.buildVersion {
display: flex;
flex-direction: column;
color: #aaadaf;
$colorCategoryButton: #eee;
$colorCategoryButtonSelected: #5f748b;
.container .content {
display: flex;
overflow-y: scroll;
.categoryContainer {
width: 100%;
.category {
display: none;
&.active {
display: block;
}
.setting {
@include S(padding, 10px);
background: #eeeff5;
@include S(border-radius, $globalBorderRadius);
@include S(margin-bottom, 5px);
label {
text-transform: uppercase;
@include Text;
}
.desc {
@include S(margin-top, 5px);
@include SuperSmallText;
color: #aaadb2;
}
> .row {
display: grid;
align-items: center;
grid-template-columns: 1fr auto;
}
&.disabled {
// opacity: 0.3;
pointer-events: none;
* {
pointer-events: none !important;
cursor: default !important;
}
position: relative;
.standaloneOnlyHint {
@include PlainText;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
pointer-events: all;
display: flex;
align-items: center;
justify-content: center;
background: rgba(#fff, 0.5);
text-transform: uppercase;
color: $colorRedBright;
}
}
.value.enum {
background: #fff;
@include PlainText;
display: flex;
align-items: flex-start;
pointer-events: all;
cursor: pointer;
justify-content: center;
@include S(min-width, 100px);
@include S(border-radius, $globalBorderRadius);
@include S(padding, 4px);
@include S(padding-right, 15px);
background: #fff uiResource("icons/enum_selector.png") calc(100% - #{D(5px)})
calc(50% + #{D(1px)}) / #{D(15px)} no-repeat;
transition: background-color 0.12s ease-in-out;
&:hover {
background-color: #fafafa;
}
}
}
}
}
button.about {
background-color: $colorGreenBright;
}
.sidebar {
display: flex;
flex-direction: column;
@include S(min-width, 210px);
@include S(max-width, 320px);
width: 30%;
height: 100%;
position: sticky;
top: 0;
@include S(margin-left, 20px);
@include S(margin-right, 32px);
.setting {
@include S(padding, 10px);
background: #eeeff5;
@include S(border-radius, $globalBorderRadius);
@include S(margin-bottom, 5px);
label {
text-transform: uppercase;
@include Text;
.other {
margin-top: auto;
}
.desc {
@include S(margin-top, 5px);
button {
@include S(margin-top, 4px);
width: calc(100% - #{D(20px)});
text-align: start;
&::after {
content: unset;
}
}
button.categoryButton,
button.about {
background-color: $colorCategoryButton;
color: #777a7f;
&.active {
background-color: $colorCategoryButtonSelected;
color: #fff;
&:hover {
opacity: 1;
}
}
&.pressed {
transform: none !important;
}
}
.versionbar {
@include S(margin-top, 20px);
@include SuperSmallText;
color: #aaadb2;
}
> .row {
display: grid;
align-items: center;
grid-template-columns: 1fr auto;
}
&.disabled {
// opacity: 0.3;
pointer-events: none;
* {
pointer-events: none !important;
cursor: default !important;
}
position: relative;
.standaloneOnlyHint {
@include PlainText;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
pointer-events: all;
.buildVersion {
display: flex;
align-items: center;
justify-content: center;
background: rgba(#fff, 0.5);
text-transform: uppercase;
color: $colorRedBright;
}
}
.value.enum {
background: #fff;
@include PlainText;
display: flex;
align-items: flex-start;
pointer-events: all;
cursor: pointer;
justify-content: center;
@include S(min-width, 100px);
@include S(border-radius, $globalBorderRadius);
@include S(padding, 4px);
@include S(padding-right, 15px);
background: #fff uiResource("icons/enum_selector.png") calc(100% - #{D(5px)})
calc(50% + #{D(1px)}) / #{D(15px)} no-repeat;
transition: background-color 0.12s ease-in-out;
&:hover {
background-color: #fafafa;
flex-direction: column;
color: #aaadaf;
}
}
}
}
@include DarkThemeOverride {
.content {
.setting {
background: darken($darkModeGameBackground, 10);
.container .content {
.sidebar {
button.categoryButton,
button.about {
background-color: #3f3f47;
.value.enum {
// dirty but works
filter: invert(0.85);
color: #222;
}
.value.checkbox {
background-color: #74767b;
&.checked {
&.active {
background-color: $colorBlueBright;
}
}
}
.categoryContainer {
.category {
.setting {
background: darken($darkModeGameBackground, 10);
.value.enum {
// dirty but works
filter: invert(0.78) sepia(40%) hue-rotate(190deg);
color: #222;
}
.value.checkbox {
background-color: #74767b;
&.checked {
background-color: $colorBlueBright;
}
}
}
}
}
}
}
}

View File

@ -1,24 +1,18 @@
.gameState.textualState {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
$padding: 15px;
.headerBar,
> .container .content {
@include S(width, 500px);
}
display: grid;
grid-template-rows: auto 1fr;
box-sizing: border-box;
@include S(padding, 32px);
height: 100vh;
.headerBar {
display: flex;
align-items: center;
justify-content: flex-start;
h1 {
display: flex;
pointer-events: all;
display: grid;
grid-template-columns: auto 1fr;
align-items: center;
pointer-events: all;
cursor: pointer;
@include SuperHeading;
text-transform: uppercase;
@ -39,11 +33,17 @@
}
> .container {
display: flex;
justify-content: center;
width: 100%;
overflow-y: auto;
> .content {
width: 100%;
background: #fff;
@include S(border-radius, $globalBorderRadius);
@include S(padding, 10px);
height: calc(80vh - #{D(60px)});
height: 100%;
overflow-y: auto;
box-sizing: border-box;
pointer-events: all;

View File

@ -1,4 +1,4 @@
$globalBorderRadius: 0px;
$globalBorderRadius: 2px;
// When to reduce control elements size for small devices
$layoutExpandMinWidth: 340px;

View File

@ -385,7 +385,7 @@ export class Application {
}
const scale = this.getEffectiveUiScale();
waitNextFrame().then(() => document.documentElement.style.setProperty("--ui-scale", scale));
waitNextFrame().then(() => document.documentElement.style.setProperty("--ui-scale", `${scale}`));
window.focus();
}
}

View File

@ -4,9 +4,9 @@ export const CHANGELOG = [
date: "unreleased",
entries: [
"WIRES",
"Reworked menu UI design (by dengr1605)",
"Allow holding ALT in belt planner to reverse direction (by jakobhellermann)",
"Clear cursor when trying to pipette the same building twice (by hexy)",
"Allow binding TAB (by swtw7466)",
"Added keybinding to close menus (by isaisstillalive / Sandwichs-del)",
"Fix rare crash regarding the buildings toolbar (by isaisstillalive)",
"Fixed some phrases (by EnderDoom77)",
@ -25,7 +25,7 @@ export const CHANGELOG = [
version: "1.1.19",
date: "02.07.2020",
entries: [
"There are now notifications every 15 minutes in the demo version to buy the full version (For further details and the reason, check the #surveys channel in the discord)",
"There are now notifications every 15 minutes in the demo version to buy the full version (For further details and the reason, check the #surveys channel in the Discord)",
"I'm still working on the wires update, I hope to release it mid july!",
],
},
@ -152,7 +152,7 @@ export const CHANGELOG = [
version: "1.1.10",
date: "12.06.2020",
entries: [
"There are now linux builds on steam! Please report any issues in the discord!",
"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)",
@ -222,7 +222,7 @@ export const CHANGELOG = [
entries: [
"The official trailer is now ready! Check it out <a href='https://www.youtube.com/watch?v=KyorY1uIqiQ' target='_blank'>here</a>!",
"The <a href='https://steam.shapez.io' target='_blank'>steam page</a> is now live!",
"Experimental linux builds are now available! Please give me feedback on them in the discord",
"Experimental linux builds are now available! Please give me feedback on them in the Discord",
"Allow hovering pinned shapes to enlarge them",
"Allow deselecting blueprints with right click and 'Q'",
"Move default key for deleting from 'X' to 'DEL'",

View File

@ -67,6 +67,7 @@ export const globalConfig = {
cutterQuad: 1 / 4,
rotater: 1 / 1,
rotaterCCW: 1 / 1,
rotaterFL: 1 / 1,
painter: 1 / 6,
painterDouble: 1 / 8,
painterQuad: 1 / 8,

View File

@ -11,7 +11,7 @@ import { enumHubGoalRewards } from "../tutorial_goals";
import { enumItemType } from "../base_item";
/** @enum {string} */
export const enumRotaterVariants = { ccw: "ccw" };
export const enumRotaterVariants = { ccw: "ccw", fl: "fl" };
export class MetaRotaterBuilding extends MetaBuilding {
constructor() {
@ -28,12 +28,20 @@ export class MetaRotaterBuilding extends MetaBuilding {
* @returns {Array<[string, string]>}
*/
getAdditionalStatistics(root, variant) {
const speed = root.hubGoals.getProcessorBaseSpeed(
variant === enumRotaterVariants.ccw
? enumItemProcessorTypes.rotaterCCW
: enumItemProcessorTypes.rotater
);
return [[T.ingame.buildingPlacement.infoTexts.speed, formatItemsPerSecond(speed)]];
switch (variant) {
case defaultBuildingVariant: {
const speed = root.hubGoals.getProcessorBaseSpeed(enumItemProcessorTypes.rotater);
return [[T.ingame.buildingPlacement.infoTexts.speed, formatItemsPerSecond(speed)]];
}
case enumRotaterVariants.ccw: {
const speed = root.hubGoals.getProcessorBaseSpeed(enumItemProcessorTypes.rotaterCCW);
return [[T.ingame.buildingPlacement.infoTexts.speed, formatItemsPerSecond(speed)]];
}
case enumRotaterVariants.fl: {
const speed = root.hubGoals.getProcessorBaseSpeed(enumItemProcessorTypes.rotaterFL);
return [[T.ingame.buildingPlacement.infoTexts.speed, formatItemsPerSecond(speed)]];
}
}
}
/**
@ -41,10 +49,14 @@ export class MetaRotaterBuilding extends MetaBuilding {
* @param {GameRoot} root
*/
getAvailableVariants(root) {
let variants = [defaultBuildingVariant];
if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_rotater_ccw)) {
return [defaultBuildingVariant, enumRotaterVariants.ccw];
variants.push(enumRotaterVariants.ccw);
}
return super.getAvailableVariants(root);
if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_rotater_fl)) {
variants.push(enumRotaterVariants.fl);
}
return variants;
}
/**
@ -100,6 +112,10 @@ export class MetaRotaterBuilding extends MetaBuilding {
entity.components.ItemProcessor.type = enumItemProcessorTypes.rotaterCCW;
break;
}
case enumRotaterVariants.fl: {
entity.components.ItemProcessor.type = enumItemProcessorTypes.rotaterFL;
break;
}
default:
assertAlways(false, "Unknown rotater variant: " + variant);
}

View File

@ -11,6 +11,7 @@ export const enumItemProcessorTypes = {
cutterQuad: "cutterQuad",
rotater: "rotater",
rotaterCCW: "rotaterCCW",
rotaterFL: "rotaterFL",
stacker: "stacker",
trash: "trash",
mixer: "mixer",

View File

@ -431,6 +431,7 @@ export class HubGoals extends BasicSerializableObject {
case enumItemProcessorTypes.cutterQuad:
case enumItemProcessorTypes.rotater:
case enumItemProcessorTypes.rotaterCCW:
case enumItemProcessorTypes.rotaterFL:
case enumItemProcessorTypes.stacker: {
assert(
globalConfig.buildingSpeeds[processorType],

View File

@ -416,6 +416,14 @@ export class HUDBuildingPlacerLogic extends BaseHUDPart {
) {
continue checkVariant;
}
if (metaBuilding.id === "wire" && entity.layer !== enumLayer.wires) {
continue checkVariant;
}
if (metaBuilding.id === "belt" && entity.layer !== enumLayer.regular) {
continue checkVariant;
}
matches.push({ metaBuilding, variant });
}
}

View File

@ -15,7 +15,9 @@ export class HUDEntityDebugger extends BaseHUDPart {
`
);
/** @type {HTMLElement} */
this.mousePosElem = this.element.querySelector(".mousePos");
/** @type {HTMLElement} */
this.chunkPosElem = this.element.querySelector(".chunkPos");
this.entityInfoElem = this.element.querySelector(".entityInfo");
}

View File

@ -105,7 +105,7 @@ export class HUDSandboxController extends BaseHUDPart {
this.root.hubGoals.upgradeImprovements[id] = improvement;
this.root.signals.upgradePurchased.dispatch(id);
this.root.hud.signals.notification.dispatch(
"Upgrade '" + id + "' is now at level " + this.root.hubGoals.upgradeLevels[id],
"Upgrade '" + id + "' is now at tier " + (this.root.hubGoals.upgradeLevels[id] + 1),
enumNotificationType.upgrade
);
}

View File

@ -23,7 +23,7 @@ export class HUDSettingsMenu extends BaseHUDPart {
<strong>${T.ingame.settingsMenu.beltsPlaced}</strong><span class="beltsPlaced"></span>
<strong>${T.ingame.settingsMenu.buildingsPlaced}</strong><span class="buildingsPlaced"></span>
<strong>${T.ingame.settingsMenu.playtime}</strong><span class="playtime"></span>
`
);
@ -106,16 +106,22 @@ export class HUDSettingsMenu extends BaseHUDPart {
this.root.app.inputMgr.makeSureAttachedAndOnTop(this.inputReciever);
const totalMinutesPlayed = Math.ceil(this.root.time.now() / 60);
this.statsElement.querySelector(".playtime").innerText = T.global.time.xMinutes.replace(
"<x>",
"" + totalMinutesPlayed
);
this.statsElement.querySelector(".buildingsPlaced").innerText = formatBigNumberFull(
/** @type {HTMLElement} */
const playtimeElement = this.statsElement.querySelector(".playtime");
/** @type {HTMLElement} */
const buildingsPlacedElement = this.statsElement.querySelector(".buildingsPlaced");
/** @type {HTMLElement} */
const beltsPlacedElement = this.statsElement.querySelector(".beltsPlaced");
playtimeElement.innerText = T.global.time.xMinutes.replace("<x>", `${totalMinutesPlayed}`);
buildingsPlacedElement.innerText = formatBigNumberFull(
this.root.entityMgr.getAllWithComponent(StaticMapEntityComponent).length -
this.root.entityMgr.getAllWithComponent(BeltComponent).length
);
this.statsElement.querySelector(".beltsPlaced").innerText = formatBigNumberFull(
beltsPlacedElement.innerText = formatBigNumberFull(
this.root.entityMgr.getAllWithComponent(BeltComponent).length
);
}

View File

@ -495,6 +495,19 @@ export class ShapeDefinition extends BasicSerializableObject {
return new ShapeDefinition({ layers: newLayers });
}
/**
* Returns a definition which was rotated 180 degrees (flipped)
* @returns {ShapeDefinition}
*/
cloneRotateFL() {
const newLayers = this.internalCloneLayers();
for (let layerIndex = 0; layerIndex < newLayers.length; ++layerIndex) {
const quadrants = newLayers[layerIndex];
quadrants.push(quadrants.shift(), quadrants.shift());
}
return new ShapeDefinition({ layers: newLayers });
}
/**
* Stacks the given shape definition on top.
* @param {ShapeDefinition} definition

View File

@ -127,6 +127,24 @@ export class ShapeDefinitionManager extends BasicSerializableObject {
));
}
/**
* Generates a definition for rotating a shape counter clockwise
* @param {ShapeDefinition} definition
* @returns {ShapeDefinition}
*/
shapeActionRotateFL(definition) {
const key = "rotate-fl:" + definition.getHash();
if (this.operationCache[key]) {
return /** @type {ShapeDefinition} */ (this.operationCache[key]);
}
const rotated = definition.cloneRotateFL();
return /** @type {ShapeDefinition} */ (this.operationCache[key] = this.registerOrReturnHandle(
rotated
));
}
/**
* Generates a definition for stacking the upper definition onto the lower one
* @param {ShapeDefinition} lowerDefinition

View File

@ -185,7 +185,7 @@ export class ItemProcessorSystem extends GameSystemWithFilter {
break;
}
// ROTATER ( CCW)
// ROTATER (CCW)
case enumItemProcessorTypes.rotaterCCW: {
const inputItem = /** @type {ShapeItem} */ (items[0].item);
assert(inputItem instanceof ShapeItem, "Input for rotation is not a shape");
@ -198,6 +198,19 @@ export class ItemProcessorSystem extends GameSystemWithFilter {
break;
}
// ROTATER (FL)
case enumItemProcessorTypes.rotaterFL: {
const inputItem = /** @type {ShapeItem} */ (items[0].item);
assert(inputItem instanceof ShapeItem, "Input for rotation is not a shape");
const inputDefinition = inputItem.definition;
const rotatedDefinition = this.root.shapeDefinitionMgr.shapeActionRotateFL(inputDefinition);
outItems.push({
item: new ShapeItem(rotatedDefinition),
});
break;
}
// STACKER
case enumItemProcessorTypes.stacker: {

View File

@ -15,6 +15,7 @@ export const enumHubGoalRewards = {
reward_tunnel: "reward_tunnel",
reward_rotater_ccw: "reward_rotater_ccw",
reward_rotater_fl: "reward_rotater_fl",
reward_miner_chainable: "reward_miner_chainable",
reward_underground_belt_tier_2: "reward_underground_belt_tier_2",
reward_splitter_compact: "reward_splitter_compact",

View File

@ -33,6 +33,7 @@ export const enumHubGoalRewardsToContentUnlocked = {
[enumHubGoalRewards.reward_tunnel]: typed([[MetaUndergroundBeltBuilding, defaultBuildingVariant]]),
[enumHubGoalRewards.reward_rotater_ccw]: typed([[MetaRotaterBuilding, enumRotaterVariants.ccw]]),
[enumHubGoalRewards.reward_rotater_fl]: typed([[MetaRotaterBuilding, enumRotaterVariants.fl]]),
[enumHubGoalRewards.reward_miner_chainable]: typed([[MetaMinerBuilding, enumMinerVariants.chainable]]),
[enumHubGoalRewards.reward_underground_belt_tier_2]: typed([
[MetaUndergroundBeltBuilding, enumUndergroundBeltVariants.tier2],

12
src/js/globals.d.ts vendored
View File

@ -36,11 +36,6 @@ declare interface CanvasRenderingContext2D {
webkitImageSmoothingEnabled: boolean;
}
declare interface HTMLCanvasElement {
opaque: boolean;
webkitOpaque: boolean;
}
// Just for compatibility with the shared code
declare interface Logger {
log(...args);
@ -127,13 +122,6 @@ declare interface NodeRequire {
context(src: string, flag: boolean, regexp: RegExp): WebpackContext;
}
// HTML Element
declare interface Element {
style: any;
innerText: string;
innerHTML: string;
}
declare interface Object {
entries(obj: object): Array<[string, any]>;
}

View File

@ -102,7 +102,10 @@ export class AdinplayAdProvider extends AdProviderInterface {
// Add the player
const videoElement = this.adContainerMainElement.querySelector(".videoInner");
this.adContainerMainElement.querySelector(".adInner").style.maxWidth = w + "px";
/** @type {HTMLElement} */
const adInnerElement = this.adContainerMainElement.querySelector(".adInner");
adInnerElement.style.maxWidth = w + "px";
const self = this;
window.aiptag.cmd.player.push(function () {

View File

@ -95,6 +95,7 @@ export class PlatformWrapperImplBrowser extends PlatformWrapperInterface {
request = window.indexedDB.open("indexeddb_feature_detection", 1);
} catch (ex) {
logger.warn("Error while opening indexed db:", ex);
this.app.storage = new StorageImplBrowser(this.app);
resolve();
return;
}

View File

@ -13,8 +13,14 @@ import { LANGUAGES } from "../languages";
const logger = createLogger("application_settings");
const categoryGame = "game";
const categoryApp = "app";
/**
* @enum {string}
*/
export const enumCategories = {
general: "general",
userInterface: "userInterface",
advanced: "advanced",
};
export const uiScales = [
{
@ -122,7 +128,7 @@ export const allApplicationSettings = [
options: Object.keys(LANGUAGES),
valueGetter: key => key,
textGetter: key => LANGUAGES[key].name,
category: categoryApp,
category: enumCategories.general,
restartRequired: true,
changeCb: (app, id) => null,
magicValue: "auto-detect",
@ -132,7 +138,7 @@ export const allApplicationSettings = [
options: uiScales.sort((a, b) => a.size - b.size),
valueGetter: scale => scale.id,
textGetter: scale => T.settings.labels.uiScale.scales[scale.id],
category: categoryApp,
category: enumCategories.userInterface,
restartRequired: false,
changeCb:
/**
@ -143,7 +149,7 @@ export const allApplicationSettings = [
new BoolSetting(
"fullscreen",
categoryApp,
enumCategories.general,
/**
* @param {Application} app
*/
@ -157,7 +163,7 @@ export const allApplicationSettings = [
new BoolSetting(
"soundsMuted",
categoryApp,
enumCategories.general,
/**
* @param {Application} app
*/
@ -165,7 +171,7 @@ export const allApplicationSettings = [
),
new BoolSetting(
"musicMuted",
categoryApp,
enumCategories.general,
/**
* @param {Application} app
*/
@ -174,7 +180,7 @@ export const allApplicationSettings = [
new BoolSetting(
"enableColorBlindHelper",
categoryApp,
enumCategories.general,
/**
* @param {Application} app
*/
@ -182,13 +188,13 @@ export const allApplicationSettings = [
),
// GAME
new BoolSetting("offerHints", categoryGame, (app, value) => {}),
new BoolSetting("offerHints", enumCategories.userInterface, (app, value) => {}),
new EnumSetting("theme", {
options: Object.keys(THEMES),
valueGetter: theme => theme,
textGetter: theme => T.settings.labels.theme.themes[theme],
category: categoryGame,
category: enumCategories.userInterface,
restartRequired: false,
changeCb:
/**
@ -205,7 +211,7 @@ export const allApplicationSettings = [
options: autosaveIntervals,
valueGetter: interval => interval.id,
textGetter: interval => T.settings.labels.autosaveInterval.intervals[interval.id],
category: categoryGame,
category: enumCategories.advanced,
restartRequired: false,
changeCb:
/**
@ -218,7 +224,7 @@ export const allApplicationSettings = [
options: ["60", "100", "120", "144", "165", "250", G_IS_DEV ? "10" : "500"],
valueGetter: rate => rate,
textGetter: rate => rate + " Hz",
category: categoryGame,
category: enumCategories.advanced,
restartRequired: false,
changeCb: (app, id) => {},
enabled: !IS_DEMO,
@ -228,7 +234,7 @@ export const allApplicationSettings = [
options: scrollWheelSensitivities.sort((a, b) => a.scale - b.scale),
valueGetter: scale => scale.id,
textGetter: scale => T.settings.labels.scrollWheelSensitivity.sensitivity[scale.id],
category: categoryGame,
category: enumCategories.advanced,
restartRequired: false,
changeCb:
/**
@ -241,17 +247,17 @@ export const allApplicationSettings = [
options: movementSpeeds.sort((a, b) => a.multiplier - b.multiplier),
valueGetter: multiplier => multiplier.id,
textGetter: multiplier => T.settings.labels.movementSpeed.speeds[multiplier.id],
category: categoryGame,
category: enumCategories.advanced,
restartRequired: false,
changeCb: (app, id) => {},
}),
new BoolSetting("alwaysMultiplace", categoryGame, (app, value) => {}),
new BoolSetting("enableTunnelSmartplace", categoryGame, (app, value) => {}),
new BoolSetting("vignette", categoryGame, (app, value) => {}),
new BoolSetting("compactBuildingInfo", categoryGame, (app, value) => {}),
new BoolSetting("disableCutDeleteWarnings", categoryGame, (app, value) => {}),
new BoolSetting("rotationByBuilding", categoryGame, (app, value) => {}),
new BoolSetting("alwaysMultiplace", enumCategories.advanced, (app, value) => {}),
new BoolSetting("enableTunnelSmartplace", enumCategories.advanced, (app, value) => {}),
new BoolSetting("vignette", enumCategories.userInterface, (app, value) => {}),
new BoolSetting("compactBuildingInfo", enumCategories.userInterface, (app, value) => {}),
new BoolSetting("disableCutDeleteWarnings", enumCategories.advanced, (app, value) => {}),
new BoolSetting("rotationByBuilding", enumCategories.advanced, (app, value) => {}),
];
export function getApplicationSettingById(id) {

View File

@ -40,7 +40,7 @@ export class BaseSetting {
/**
* @param {Application} app
* @param {Element} element
* @param {HTMLElement} element
* @param {any} dialogs
*/
bind(app, element, dialogs) {
@ -188,7 +188,7 @@ export class BoolSetting extends BaseSetting {
return `
<div class="setting cardbox ${this.enabled ? "enabled" : "disabled"}">
${this.enabled ? "" : `<span class="standaloneOnlyHint">${T.demo.settingNotAvailable}</span>`}
<div class="row">
<label>${T.settings.labels[this.id].title}</label>
<div class="value checkbox checked" data-setting="${this.id}">

View File

@ -1,9 +1,7 @@
import { TextualGameState } from "../core/textual_game_state";
import { SOUNDS } from "../platform/sound";
import { T } from "../translations";
import { KEYMAPPINGS, getStringForKeyCode } from "../game/key_action_mapper";
import { Dialog } from "../core/modal_dialog_elements";
import { THIRDPARTY_URLS } from "../core/config";
import { cachebust } from "../core/cachebust";
export class AboutState extends TextualGameState {
constructor() {
@ -15,9 +13,16 @@ export class AboutState extends TextualGameState {
}
getMainContentHTML() {
return T.about.body
.replace("<githublink>", THIRDPARTY_URLS.github)
.replace("<discordlink>", THIRDPARTY_URLS.discord);
return `
<div class="head">
<img src="${cachebust("res/logo.png")}" alt="shapez.io Logo">
</div>
<div class="text">
${T.about.body
.replace("<githublink>", THIRDPARTY_URLS.github)
.replace("<discordlink>", THIRDPARTY_URLS.discord)}
</div>
`;
}
onEnter() {

View File

@ -46,7 +46,7 @@ export class MainMenuState extends GameState {
: ""
}
</div>
<video autoplay muted loop class="fullscreenBackgroundVideo">
<source src="${cachebust("res/bg_render.webm")}" type="video/webm">
</video>
@ -92,10 +92,10 @@ export class MainMenuState extends GameState {
<a class="redditLink">${T.mainMenu.subreddit}</a>
<a class="changelog">${T.changelog.title}</a>
<a class="helpTranslate">${T.mainMenu.helpTranslate}</a>
</div>
<div class="author">${T.mainMenu.madeBy.replace(
"<author-link>",
'<a class="producerLink" target="_blank">Tobias Springer</a>'
@ -218,11 +218,6 @@ export class MainMenuState extends GameState {
this.trackClicks(qs(".languageChoose"), this.onLanguageChooseClicked);
this.trackClicks(qs(".helpTranslate"), this.onTranslationHelpLinkClicked);
const contestButton = qs(".participateContest");
if (contestButton) {
this.trackClicks(contestButton, this.onContestClicked);
}
if (G_IS_STANDALONE) {
this.trackClicks(qs(".exitAppButton"), this.onExitAppButtonClicked);
}
@ -312,15 +307,6 @@ export class MainMenuState extends GameState {
this.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.reddit);
}
onContestClicked() {
this.app.analytics.trackUiClick("contest_click");
this.dialogs.showInfo(
T.mainMenu.contests.contest_01_03062020.title,
T.mainMenu.contests.contest_01_03062020.longDesc
);
}
onLanguageChooseClicked() {
this.app.analytics.trackUiClick("choose_language");
const setting = /** @type {EnumSetting} */ (getApplicationSettingById("language"));

View File

@ -37,7 +37,7 @@ export class PreloadState extends GameState {
return false;
}
onEnter(payload) {
onEnter() {
this.htmlElement.classList.add("prefab_LoadingState");
const elementsToRemove = ["#loadingPreload", "#fontPreload"];
@ -52,9 +52,13 @@ export class PreloadState extends GameState {
const dialogsElement = document.body.querySelector(".modalDialogParent");
this.dialogs.initializeToElement(dialogsElement);
/** @type {HTMLElement} */
this.statusText = this.htmlElement.querySelector(".loadingStatus > .desc");
/** @type {HTMLElement} */
this.statusBar = this.htmlElement.querySelector(".loadingStatus > .bar > .inner");
/** @type {HTMLElement} */
this.statusBarText = this.htmlElement.querySelector(".loadingStatus > .bar > .status");
this.currentStatus = "booting";
this.currentIndex = 0;
@ -251,12 +255,12 @@ export class PreloadState extends GameState {
${this.currentStatus} failed:<br/>
${text}
</div>
<div class="supportHelp">
Please send me an email with steps to reproduce and what you did before this happened:
<br /><a class="email" href="mailto:${email}?subject=App%20does%20not%20launch">${email}</a>
</div>
<div class="lower">
<button class="resetApp styledButton">Reset App</button>
<i>Build ${G_BUILD_VERSION} @ ${G_BUILD_COMMIT_HASH}</i>

View File

@ -1,6 +1,6 @@
import { TextualGameState } from "../core/textual_game_state";
import { formatSecondsToTimeAgo } from "../core/utils";
import { allApplicationSettings } from "../profile/application_settings";
import { allApplicationSettings, enumCategories } from "../profile/application_settings";
import { T } from "../translations";
export class SettingsState extends TextualGameState {
@ -15,50 +15,65 @@ export class SettingsState extends TextualGameState {
getMainContentHTML() {
return `
<div class="upperLinks">
<div class="sidebar">
${this.getCategoryButtonsHtml()}
${
this.app.platformWrapper.getSupportsKeyboard()
? `
<button class="styledButton editKeybindings">${T.keybindings.title}</button>
`
<button class="styledButton categoryButton editKeybindings">
${T.keybindings.title}
</button>`
: ""
}
<button class="styledButton about">${T.about.title}</button>
</div>
<div class="other">
<button class="styledButton about">${T.about.title}</button>
${this.getSettingsHtml()}
<div class="versionbar">
<div class="buildVersion">${T.global.loading} ...</div>
<div class="versionbar">
<div class="buildVersion">${T.global.loading} ...</div>
</div>
</div>
</div>
<div class="categoryContainer">
${this.getSettingsHtml()}
</div>
`;
}
getCategoryButtonsHtml() {
return Object.keys(enumCategories)
.map(key => enumCategories[key])
.map(
category =>
`
<button class="styledButton categoryButton" data-category-btn="${category}">
${T.settings.categories[category]}
</button>
`
)
.join("");
}
getSettingsHtml() {
let lastCategory = null;
let html = "";
const categoriesHTML = {};
Object.keys(enumCategories).forEach(key => {
const catName = enumCategories[key];
categoriesHTML[catName] = `<div class="category" data-category="${catName}">`;
});
for (let i = 0; i < allApplicationSettings.length; ++i) {
const setting = allApplicationSettings[i];
if (setting.categoryId !== lastCategory) {
lastCategory = setting.categoryId;
if (i !== 0) {
html += "</div>";
}
html += `<strong class="categoryLabel">${T.settings.categories[lastCategory]}</strong>`;
html += "<div class='settingsContainer'>";
}
html += setting.getHtml();
}
if (lastCategory) {
html += "</div>";
categoriesHTML[setting.categoryId] += setting.getHtml();
}
return html;
return Object.keys(categoriesHTML)
.map(k => categoriesHTML[k] + "</div>")
.join("");
}
renderBuildText() {
@ -90,10 +105,33 @@ export class SettingsState extends TextualGameState {
}
this.initSettings();
this.initCategoryButtons();
this.htmlElement.querySelector(".category").classList.add("active");
this.htmlElement.querySelector(".categoryButton").classList.add("active");
}
setActiveCategory(category) {
const previousCategory = this.htmlElement.querySelector(".category.active");
const previousCategoryButton = this.htmlElement.querySelector(".categoryButton.active");
if (previousCategory.getAttribute("data-category") == category) {
return;
}
previousCategory.classList.remove("active");
previousCategoryButton.classList.remove("active");
const newCategory = this.htmlElement.querySelector("[data-category='" + category + "']");
const newCategoryButton = this.htmlElement.querySelector("[data-category-btn='" + category + "']");
newCategory.classList.add("active");
newCategoryButton.classList.add("active");
}
initSettings() {
allApplicationSettings.forEach(setting => {
/** @type {HTMLElement} */
const element = this.htmlElement.querySelector("[data-setting='" + setting.id + "']");
setting.bind(this.app, element, this.dialogs);
setting.syncValueToElement();
@ -107,6 +145,20 @@ export class SettingsState extends TextualGameState {
});
}
initCategoryButtons() {
Object.keys(enumCategories).forEach(key => {
const category = enumCategories[key];
const button = this.htmlElement.querySelector("[data-category-btn='" + category + "']");
this.trackClicks(
button,
() => {
this.setActiveCategory(category);
},
{ preventDefault: false }
);
});
}
onAboutClicked() {
this.moveToStateAddGoBack("AboutState");
}

View File

@ -3,7 +3,7 @@
/* Basic Options */
"target": "es6" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */,
"module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */,
// "lib": [], /* Specify library files to be included in the compilation. */
"lib": ["DOM","ES2018"], /* Specify library files to be included in the compilation. */
"allowJs": true /* Allow javascript files to be compiled. */,
"checkJs": true /* Report errors in .js files. */,
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */

View File

@ -31,6 +31,8 @@ The base language is English and can be found [here](base-en.yaml).
- [Catalan](base-cat.yaml)
- [Slovenian](base-sl.yaml)
- [Ukrainian](base-uk.yaml)
- [Indonesian](base-ind.yaml)
- [Serbian](base-sr.yaml)
(If you want to translate into a new language, see below!)
@ -57,7 +59,7 @@ If you want to edit an existing translation (Fixing typos, Updating it to a newe
## Adding a new language
Please DM me on discord (tobspr#5407), so I can add the language template for you.
Please DM me on Discord (tobspr#5407), so I can add the language template for you.
Please use the following template:

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -151,7 +151,6 @@ mainMenu:
savegameLevel: Level <x>
savegameLevelUnknown: Unknown Level
continue: Continue
newGame: New Game
madeBy: Made by <author-link>
@ -491,6 +490,9 @@ buildings:
ccw:
name: Rotate (CCW)
description: Rotates shapes counter clockwise by 90 degrees.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -632,8 +634,9 @@ storyRewards:
settings:
title: Settings
categories:
game: Game
app: Application
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Development
@ -844,9 +847,9 @@ about:
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
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>
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>

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -154,8 +154,6 @@ mainMenu:
savegameLevel: Nivell <x>
savegameLevelUnknown: Nivell desconegut
dialogs:
buttons:
ok: OK
@ -498,6 +496,9 @@ buildings:
ccw:
name: Rotador (Antihorari)
description: Rota formes en sentit antihorari 90 graus.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -636,8 +637,9 @@ storyRewards:
settings:
title: Opcions
categories:
game: Joc
app: Aplicació
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Desenvolupament
@ -828,7 +830,7 @@ about:
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>
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:

View File

@ -132,7 +132,6 @@ mainMenu:
savegameLevel: Úroveň <x>
savegameLevelUnknown: Neznámá úroveň
continue: Pokračovat
newGame: Nová hra
madeBy: Vytvořil <author-link>
@ -472,6 +471,9 @@ buildings:
ccw:
name: Rotor (opačný)
description: Otáčí tvary o 90 stupňů proti směru hodinových ručiček
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -613,8 +615,9 @@ storyRewards:
settings:
title: Nastavení
categories:
game: Hra
app: Aplikace
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Vývojová verze
@ -824,9 +827,9 @@ about:
Pokud se chceš na hře podílet, podívej se na <a href="<githublink>"
target="_blank">shapez.io na githubu</a>.<br><br>
Tato hra by nebyla ani možná bez skvělé discord komunity
Tato hra by nebyla ani možná bez skvělé Discord komunity
okolo Tobiasových her - Vážně by ses měl přijít mrknout na <a href="<discordlink>"
target="_blank">discord server</a>!<br><br>
target="_blank">Discord server</a>!<br><br>
Soundtrack udělal <a href="https://soundcloud.com/pettersumelius"
target="_blank">Peppsen</a> - Je úžasnej.<br><br>

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -155,8 +155,6 @@ mainMenu:
savegameLevel: Level <x>
savegameLevelUnknown: Unknown Level
dialogs:
buttons:
ok: OK
@ -491,6 +489,9 @@ buildings:
ccw:
name: Rotate (CCW)
description: Rotates shapes counter clockwise by 90 degrees.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -636,8 +637,9 @@ storyRewards:
settings:
title: Settings
categories:
game: Game
app: Application
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Development
@ -846,7 +848,7 @@ about:
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>
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>

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -23,7 +23,7 @@ steamPage:
# This is the short text appearing on the steam page
shortText: In shapez.io nutzt du die vorhandenen Ressourcen, um mit deinen Maschinen durch Kombination immer komplexere Formen zu erschaffen.
# This is the text shown above the discord link
# This is the text shown above the Discord link
discordLink: Offizieller Discord - Hier kannst du mit mir schreiben!
# 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.
@ -150,7 +150,6 @@ mainMenu:
savegameLevel: Level <x>
savegameLevelUnknown: Unbekanntes Level
helpTranslate: Hilf beim Übersetzen!
continue: Fortsetzen
newGame: Neues Spiel
@ -485,6 +484,9 @@ buildings:
ccw:
name: Rotierer (CCW)
description: Rotiert Formen gegen den Uhrzeigersinn um 90 Grad.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -613,7 +615,7 @@ storyRewards:
desc: Du hast eine neue Variante des <strong>Mülleimers</strong> freigeschaltet! Bis zu einer gewissen Kapazität können hier Items zwischengelagert werden!
reward_freeplay:
title: Freispiel
title: Freies Spiel
desc: Du hast es geschafft! Du hast den <strong>Freispielmodus</strong> freigeschaltet! Das heißt, dass abzuliefernde Formen jetzt zufällig generiert werden! (Keine Sorge, für die Standaloneversion ist noch mehr geplant!)
reward_blueprints:
@ -634,14 +636,15 @@ storyRewards:
settings:
title: Einstellungen
categories:
game: Spiel
app: Applikation
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Entwicklung
staging: Beta
prod: Produktion
buildDate: Gebaut <at-date>
buildDate: Gebaut am <at-date>
labels:
uiScale:
@ -811,7 +814,7 @@ keybindings:
rotateWhilePlacing: Rotieren
rotateInverseModifier: >-
Modifikator: stattdessen gegen UZS rotieren
Modifikator: stattdessen gegen den UZS rotieren
cycleBuildingVariants: Variante wählen
confirmMassDelete: Massenlöschung bestätigen
cycleBuildings: Gebäude rotieren

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -151,7 +151,6 @@ mainMenu:
savegameLevel: Level <x>
savegameLevelUnknown: Unknown Level
continue: Continue
newGame: New Game
madeBy: Made by <author-link>
@ -486,6 +485,9 @@ buildings:
ccw:
name: Rotate (CCW)
description: Rotates shapes counter clockwise by 90 degrees.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -632,8 +634,9 @@ storyRewards:
settings:
title: Settings
categories:
game: Game
app: Application
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Development
@ -845,7 +848,7 @@ about:
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
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>

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -23,7 +23,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 processing of increasingly complex shapes across an infinitely expanding map.
# This is the text shown above the discord link
# This is the text shown above the Discord link
discordLink: Official Discord - Chat with me!
# 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.
@ -41,7 +41,7 @@ steamPage:
Soon you'll have to mix colors and paint your shapes with them - Combine red, green and blue color resources to produce different colors and paint shapes with them to satisfy the demand.
This game features 18 progressive levels (Which should already keep you busy for hours!) but I'm constantly adding new content - There's a lot planned!
This game features 18 progressive levels (Which should already keep you busy for hours!) but I'm constantly adding new content - There's a lot planned!
Purchasing the game gives you access to the standalone version which has additional features, and you'll also receive access to newly developed features.
@ -74,7 +74,7 @@ steamPage:
[b]This game is open source![/b]
Anybody can contribute, I'm actively involved in the community and attempt to review all suggestions and take feedback into consideration where possible.
Be sure to check out my trello board for the full roadmap!
Be sure to check out my trello board for the full roadmap!
[b]Links[/b]
@ -503,6 +503,9 @@ buildings:
ccw:
name: Rotate (CCW)
description: Rotates shapes counter-clockwise by 90 degrees.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -644,8 +647,9 @@ storyRewards:
settings:
title: Settings
categories:
game: Game
app: Application
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Development
@ -852,13 +856,13 @@ about:
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>
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>
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.
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

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -23,9 +23,9 @@ steamPage:
# This is the short text appearing on the steam page
shortText: shapez.io es un juego sobre construir fábricas para automatizar la creación y combinación de figuras cada vez más complejas en un mapa infinito.
# This is the text shown above the discord link
# This is the text shown above the Discord link
discordLink: Discord oficial - ¡Chatea conmigo!
# 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)
@ -33,7 +33,7 @@ steamPage:
longText: >-
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
shapez.io es un juego basado en la construcción de fábricas para automatizar la creación y combinación de figuras en un mapa que se expande infinitamente.
shapez.io es un juego basado en la construcción de fábricas para automatizar la creación y combinación de figuras en un mapa que se expande infinitamente.
Entrega las figuras requeridas para progresar y desbloquear mejoras para aumentar la velocidad de tu fábrica.
Al aumentar la demanda, necesitarás escalar tu fábrica para ajustarte a las necesidades - ¡No te olvides de los recursos, necesitarás expandirte en el [b]mapa infinito[/b]!
@ -73,7 +73,7 @@ steamPage:
[b]¡Este juego es de código abierto![/b]
Cualquiera puede contribuir, estoy activamente involucrado en la comunidad e intento leer todas las sugerencias y considerar todas las propuestas planteadas.
¡Comprueba mi tablero de Trello para ver todo lo planificado!
¡Comprueba mi tablero de Trello para ver todo lo planificado!
[b]Enlaces[/b]
@ -219,7 +219,7 @@ dialogs:
oneSavegameLimit:
title: Partidas guardadas limitadas
desc: Solo puedes tener una partida guardada a la vez en la versión de prueba. ¡Por favor, elimina la ya existente u obtén el juego completo!
updateSummary:
title: ¡Nueva actualización!
desc: >-
@ -502,6 +502,9 @@ buildings:
ccw:
name: Rotador (Inverso)
description: Rota las figuras en sentido antihorario 90 grados.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -556,7 +559,7 @@ buildings:
merger:
name: Fusionador de cables
description: Fusiona dos cables en uno
storyRewards:
# Those are the rewards gained from completing the store
reward_cutter_and_trash:
@ -642,8 +645,9 @@ storyRewards:
settings:
title: Opciones
categories:
game: Juego
app: Aplicación
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Desarrollo

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -155,8 +155,6 @@ mainMenu:
savegameLevel: Taso <x>
savegameLevelUnknown: Tuntematon Taso
dialogs:
buttons:
ok: OK
@ -501,6 +499,9 @@ buildings:
ccw:
name: Rotate (Vastapäivään)
description: Kääntää muotoja 90 astetta vastapäivään.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -640,8 +641,9 @@ storyRewards:
settings:
title: Asetukset
categories:
game: Peli
app: Sovellus
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Kehitys
@ -850,7 +852,7 @@ about:
Jos haluat osallistua, tarkista <a href="<githublink>" target="_blank">shapez.io githubissa</a>.<br><br>
Tämä peli ei olisi ollut mahdollinen ilman suurta discord yhteisöä pelini ympärillä - Sinun kannattaisi liittyä <a href="<discordlink>" target="_blank">discord palvelimelleni</a>!<br><br>
Tämä peli ei olisi ollut mahdollinen ilman suurta Discord yhteisöä pelini ympärillä - Sinun kannattaisi liittyä <a href="<discordlink>" target="_blank">Discord palvelimelleni</a>!<br><br>
Ääniraidan on tehnyt <a href="https://soundcloud.com/pettersumelius" target="_blank">Peppsen</a> - Hän on mahtava.<br><br>

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -30,48 +30,47 @@ steamPage:
longText: >-
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
shapez.io est un jeu ou il faut construire des usines pour automatiser la création et la transformation de formes de plus en plus complexes sur une carte infinie.
En livrant les bonnes formes tu vas progresser dans le jeu et débloquer des améliorations pour accélerer ton usine.
shapez.io est un jeu dans lequel vous devrez construire des usines pour automatiser la création et la combinaison de formes de plus en plus complexes sur une carte infinie.
Lors de la livraison des formes requises vous progresserez et débloquerez des améliorations pour accélerer votre usine.
Comme la demande de formes augmente, il vas falloir agrandir ton usine pour produire plus - N'oublie pas les resources, il vas falloir s'étendre tout autour de la [b]carte infinie[/b]!
Au vu de l'augmantation des demandes de formes, vous devrez agrandir votre usine pour répondre à la forte demande - Mais n'oubliez pas les ressources, vous drevrez vous étendre au milieu de cette [b]carte infinie[/b] !
Puis il vas falloir mélanger les couleurs et peindres tes formes avec - Combine du rouge, du bleu et du vert pour produire différente couleurs et peindre des formes pour satisfaire la demande.
Bientôt vous devrez mixer les couleurs et peindre vos formes avec - Combinez les ressources de couleurs rouge, verte et bleue pour produire différentes couleurs et peindre les formes avec pour satisfaire la demande.
Ce jeu propose 18 niveaux progressifs (qui devraient vous occuper pendant des heures!) et j'ajoute constament plus de contenu - Il y en as beaucoup qui arrive!
Ce jeu propose 18 niveaux progressifs (qui devraient déjà vous occuper des heures!) mais j'ajoute constamment de nouveau contenus - Il y en a beaucoup de prévus !
Acheter le jeu te donnes accès à la version hors-ligne qui as plus de contenu et tu recevras l'accès aux nouvelles fonctionnalités.
Acheter le jeu vous donne accès à la version complète qui a des fonctionnalitées additionnelles et vous recevrez aussi un accès à des fonctionnalitées fraîchement développées.
[b]Avantages de la version hors-ligne[/b]
[b]Avantages de la version complète (standalone)[/b]
[list]
[*] Mode sombre
[*] Balises infinies
[*] Sauvegardes infinies
[*] Plus de setting
[*] Arrive bientôt: Cables et éléctricité! Sort en Juillet 2020.
[*] Arrive bientôt: Plus de niveaux
[*] Me permet de plus déveloper le jeu ❤️
[*] Parties infinies
[*] Plus d'options
[*] Prochainement: Câbles et énergie ! Prévu pour (environ) fin Juillet 2020.
[*] Prochainement: Plus de niveaux
[*] Aidez moi à continuer de développer shapez.io ❤️
[/list]
[b]Mises à jours futures[/b]
[b]Mises à jour futures[/b]
Je fait souvent des mises à jours et essaye d'en sortir une part semaine!
Je fais souvent des mises à jour et essaye d'en sortir une par semaine!
[list]
[*] Plusieurs cartes et challenges (e.g. carte avec des obstacles)
[*] Puzzles (Livrer les formes avec des batiments limités/une carte limitée)
[*] Un mode histoire ou les bâtiments on un coût
[*] Générateur de carte configurable (Configure les ressources/formes leur taille, densité et plus)
[*] Différentes cartes et challenges (e.g. carte avec obstacles)
[*] Puzzles (Délivrer la forme requise avec une zone limitée/jeu de batîments)
[*] Un mode histoire où les batîments ont un coût
[*] Générateur de carte configurable (configuration des ressources/formes taille/densitée, graine et plus)
[*] Plus de formes
[*] Meilleures performances (Le jeu est déja très optimisé!)
[*] Et bien plus!
[*] Amélioration des performances (Le jeu tourne déjà plutot bien!)
[*] Et bien plus !
[/list]
[b]Ce jeu est open source![/b]
Tout le monde peut contribuer, je suis très impliqué dans la communeauté et essaye de regarder toutes les suggestions et prendre les retours si possible.
Vas voir mon trello pour plus d'informations!
[b]Ce jeu est open source ![/b]
Tout le monde peut contribuer, je suis très impliqué dans la communauté et j'essaye de répondre à toutes les suggestions et prendre en compte vos retours si possible.
Jetez un coup d'œil à mon Trello pour le suivi du projet et la planification du développement !
[b]Liens[/b]
[list]
@ -79,17 +78,17 @@ steamPage:
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Trello[/url]
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
[*] [url=https://github.com/tobspr/shapez.io]Code source (GitHub)[/url]
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Aide à traduire[/url]
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Aidez à traduire[/url]
[/list]
discordLink: Discord officiel - Parles avec moi!
discordLink: Discord officiel - Parlez avec moi!
global:
loading: Chargement
error: Erreur
# How big numbers are rendered, e.g. "10,000"
thousandsDivider: ","
thousandsDivider: " "
# What symbol to use to seperate the integer part from the fractional part of a number, e.g. "0.4"
decimalSeparator: ","
@ -141,9 +140,9 @@ mainMenu:
play: Jouer
changelog: Historique
importSavegame: Importer
openSourceHint: Ce jeu est open source !
openSourceHint: Ce jeu est open source!
discordLink: Serveur Discord officiel
helpTranslate: Contribuez à la traduction !
helpTranslate: Contribuez à la traduction!
# This is shown when using firefox and other browsers which are not supported.
browserWarning: >-
@ -167,7 +166,7 @@ dialogs:
reset: Réinitialiser
getStandalone: Se procurer la version complète
deleteGame: Je sais ce que je fais
viewUpdate: Voir les mises-à-jour
viewUpdate: Voir les mises à jour
showUpgrades: Montrer les améliorations
showKeybindings: Montrer les raccourcis
@ -182,7 +181,7 @@ dialogs:
Votre sauvegarde a été importée avec succès.
gameLoadFailure:
title: Le jeu est cassé
title: La sauvegarde est corrompue
text: >-
Impossible de charger votre sauvegarde:
@ -203,7 +202,7 @@ dialogs:
editKeybinding:
title: Changer les contrôles
desc: Appuyez sur la touche que vous voulez assigner, ou Escape pour annuler.
desc: Appuyez sur la touche que vous voulez assigner, ou Échap pour annuler.
resetKeybindingsConfirmation:
title: Réinitialiser les contrôles
@ -222,7 +221,7 @@ dialogs:
desc: Vous ne pouvez avoir qu'une seule sauvegarde en même temps dans la version démo. Merci d'effacer celle en cours ou alternativement de vous procurer la version complète !
updateSummary:
title: Nouvel mise-à-jour !
title: Nouvelle mise à jour !
desc: >-
Voici les modifications depuis votre dernière session:
@ -240,8 +239,7 @@ dialogs:
massCutConfirm:
title: Confirmer la coupure
desc: >-
Vous vous apprêtez à couper beaucoup de bâtiments (<count> pour être précis) ! Êtes-vous
certains de vouloir faire cela ?
Vous vous apprêtez à couper beaucoup de bâtiments (<count> pour être précis) ! Êtes-vous certains de vouloir faire cela ?
blueprintsNotUnlocked:
title: Pas encore débloqué
@ -251,7 +249,7 @@ dialogs:
keybindingsIntroduction:
title: Raccourcis utiles
desc: >-
Le jeu a plein de raccourcis facilitant la construction de grandes usines.
Le jeu a de nombreux raccourcis facilitant la construction de grandes usines.
En voici quelques uns, n'hésitez pas à aller <strong>découvrir les raccourcis</strong> !<br><br>
<code class='keybinding'>CTRL</code> + Glisser: Sélectionne une zone à copier / effacer.<br>
<code class='keybinding'>SHIFT</code>: Laissez appuyé pour placer plusieurs fois le même bâtiment.<br>
@ -260,7 +258,7 @@ dialogs:
createMarker:
title: Nouvelle balise
desc: Donnez-lui un nom, vous pouvez aussi inclure <strong>le raccourci </strong> d'une forme (Que vous pouvez générer <a href="https://viewer.shapez.io" target="_blank">ici</a>)
titleEdit: Edit Marker
titleEdit: Éditer cette balise
markerDemoLimit:
desc: Vous ne pouvez créer que deux balises dans la démo. Achetez la version complète pour en faire autant que vous voulez !
@ -268,11 +266,11 @@ dialogs:
exportScreenshotWarning:
title: Exporter une capture d'écran
desc: >-
Vous avez demandé à exporter votre base sous la forme d'une capture d'écran. Soyez conscient que cela peut s'avérer passablement lent pour une grande base, voire même planter votre jeu !
Vous avez demandé à exporter votre base sous la forme d'une capture d'écran. Soyez conscient que cela peut s'avérer passablement lent pour une grande base, voire même faire planter votre jeu !
massCutInsufficientConfirm:
title: Confirm cut
desc: You can not afford to paste this area! Are you sure you want to cut it?
title: Confirmer la coupe
desc: Vous n'avez pas les moyens de copier cette zone ! Etes vous certain de vouloir la couper ?
ingame:
# This is shown in the top left corner and displays useful keybindings in
@ -296,7 +294,7 @@ ingame:
copySelection: Copier
clearSelection: Effacer la sélection
pipette: Pipette
switchLayers: Switch layers
switchLayers: Échanger les calques
# Everything related to placing buildings (I.e. as soon as you selected a building
# from the toolbar)
@ -411,11 +409,11 @@ ingame:
cyan: Cyan
white: Blanc
uncolored: Non coloré
black: Black
black: Noir
shapeViewer:
title: Calques
empty: Vide
copyKey: Copy Key
copyKey: Copier la clé de forme
# All shop upgrades
shopUpgrades:
@ -488,6 +486,9 @@ buildings:
ccw:
name: Pivoteur inversé
description: Fait pivoter une forme de 90 degrés vers la gauche.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -527,25 +528,25 @@ buildings:
levelShortcut: NV
wire:
default:
name: Energy Wire
description: Allows you to transport energy.
name: Ligne énergétique
description: Permet de transporter de l'énergie.
advanced_processor:
default:
name: Color Inverter
description: Accepts a color or shape and inverts it.
name: Inverseur de couleur
description: Accepte une couleur ou une forme et l'inverse.
energy_generator:
deliver: Deliver
toGenerateEnergy: For
deliver: Délivrer
toGenerateEnergy: Pour
default:
name: Energy Generator
description: Generates energy by consuming shapes.
name: Générateur d'énergie
description: Genère de l'énergie en consommant des formes.
wire_crossings:
default:
name: Wire Splitter
description: Splits a energy wire into two.
name: Duplicateur de ligne
description: Sépare une ligne énergétique en deux.
merger:
name: Wire Merger
description: Merges two energy wires into one.
name: Fusionneur de ligne
description: Fusionne deux lignes énergétiques en une seule.
storyRewards:
# Those are the rewards gained from completing the store
@ -568,7 +569,7 @@ storyRewards:
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 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.
desc: Vous pouvez maintenant combiner deux formes avec le <strong>combineur</strong> ! Les deux entrées sont combinées 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.
reward_splitter:
title: Distributeur/Rassembleur
@ -619,8 +620,6 @@ storyRewards:
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 (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
@ -635,8 +634,9 @@ storyRewards:
settings:
title: Options
categories:
game: Jeu
app: Application
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Développement
@ -826,11 +826,11 @@ keybindings:
lockBeltDirection: Utiliser le plannificateur de convoyeurs
switchDirectionLockSide: "Plannificateur: changer de côté"
pipette: Pipette
menuClose: Close Menu
switchLayers: Switch layers
advanced_processor: Color Inverter
energy_generator: Energy Generator
wire: Energy Wire
menuClose: Fermer le menu
switchLayers: Échanger les calques
advanced_processor: Inverseur de couleur
energy_generator: Générateur d'énergie
wire: Ligne énergétique
about:
title: À propos de ce jeu
@ -841,9 +841,9 @@ about:
Si vous souhaitez contribuer, allez voir <a href="<githublink>"
target="_blank">shapez.io sur github</a>.<br><br>
Ce jeu n'aurait pu être réalisé sans la précieuse communauté discord autour de
Ce jeu n'aurait pu être réalisé sans la précieuse communauté Discord autour de
mes jeux - Vous devriez vraiment envisager de joindre le <a href="<discordlink>"
target="_blank">serveur discord</a> !<br><br>
target="_blank">serveur Discord</a> !<br><br>
La bande son a été créée par <a href="https://soundcloud.com/pettersumelius"
target="_blank">Peppsen</a> - Il est impressionnant !<br><br>
@ -868,3 +868,5 @@ demo:
#
# French translation completed (and corrected) by Pascal Grossé and Withers001
# French translation entirely completed and corrected by martypiton

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -189,7 +189,6 @@ mainMenu:
# TODO
dialogs:
buttons:
ok: OK
@ -534,6 +533,9 @@ buildings:
ccw:
name: Obrtač (↺)
description: Okreće oblike za 90 stupnjeva u smjeru suprotnom od kazaljke na satu.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -673,8 +675,9 @@ storyRewards:
settings:
title: Postavke
categories:
game: Igra
app: Aplikacija
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Development
@ -884,7 +887,7 @@ about:
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>
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>

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -151,7 +151,6 @@ mainMenu:
savegameLevel: <x>. szint
savegameLevelUnknown: Ismeretlen szint
continue: Continue
newGame: New Game
madeBy: Made by <author-link>
@ -486,6 +485,9 @@ buildings:
ccw:
name: Rotate (CCW)
description: Rotates shapes counter clockwise by 90 degrees.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -631,8 +633,9 @@ storyRewards:
settings:
title: Beállítások
categories:
game: Game
app: Application
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Development
@ -842,9 +845,9 @@ about:
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
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>
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>

878
translations/base-ind.yaml Normal file
View File

@ -0,0 +1,878 @@
#
# 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 processing of increasingly complex shapes across an infinitely expanding map.
# This is the text shown above the Discord link
discordLink: Official Discord - Chat with me!
# 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 processing of increasingly complex shapes across an infinitely expanding map.
Upon delivering the requested shapes you'll progress within the game and unlock upgrades to speed up your factory.
As the demand for shapes increases, you'll have to scale up your factory to meet the demand - Don't forget about resources though, you'll have to expand across the [b]infinite map[/b]!
Soon you'll have to mix colors and paint your shapes with them - Combine red, green and blue color resources to produce different colors and paint shapes with them to satisfy the demand.
This game features 18 progressive levels (Which should already keep you busy for hours!) but I'm constantly adding new content - There's a lot planned!
Purchasing the game gives you access to the standalone version which has additional features, and you'll also receive access to newly developed features.
[b]Standalone Advantages[/b]
[list]
[*] Dark Mode
[*] Unlimited Waypoints
[*] Unlimited Savegames
[*] Additional settings
[*] Coming soon: Wires & Energy! Aiming for (roughly) end of July 2020.
[*] Coming soon: More Levels
[*] Allows me to further develop shapez.io ❤️
[/list]
[b]Future Updates[/b]
I am updating the game often and trying to push an update at least once every week!
[list]
[*] Different maps and challenges (e.g. maps with obstacles)
[*] Puzzles (Deliver the requested shape with a restricted area / set of buildings)
[*] A story mode where buildings have a cost
[*] Configurable map generator (Configure resource/shape size/density, seed and more)
[*] Additional types of shapes
[*] Performance improvements (The game already runs pretty well!)
[*] And much more!
[/list]
[b]This game is open source![/b]
Anybody can contribute, I'm actively involved in the community and attempt to review all suggestions and take feedback into consideration where possible.
Be sure to check out my trello board for the full roadmap!
[b]Links[/b]
[list]
[*] [url=https://discord.com/invite/HN7EVzV]Official Discord[/url]
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roadmap[/url]
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
[*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url]
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url]
[/list]
global:
loading: Loading
error: Error
# How big numbers are rendered, e.g. "10,000"
thousandsDivider: ","
# What symbol to use to seperate the integer part from the fractional part of a number, e.g. "0.4"
decimalSeparator: "."
# 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
continue: Continue
newGame: New Game
changelog: Changelog
subreddit: Reddit
importSavegame: Import
openSourceHint: This game is open source!
discordLink: Official Discord Server
helpTranslate: Help translate!
madeBy: Made by <author-link>
# 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
dialogs:
buttons:
ok: OK
delete: Delete
cancel: Cancel
later: Later
restart: Restart
reset: Reset
getStandalone: Get Standalone
deleteGame: I know what I am doing
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 getting the standalone version 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 version!
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?
massCutConfirm:
title: Confirm cut
desc: >-
You are cutting a lot of buildings (<count> to be exact)! Are you sure you want to do this?
massCutInsufficientConfirm:
title: Confirm cut
desc: >-
You can not afford to paste this area! Are you sure you want to cut it?
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
titleEdit: Edit Marker
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
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
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: Delete
pasteLastBlueprint: Paste last blueprint
lockBeltDirection: Enable belt planner
plannerSwitchSide: Flip planner side
cutSelection: Cut
copySelection: Copy
clearSelection: Clear selection
pipette: Pipette
switchLayers: Switch layers
# Names of the colors, used for the color blind mode
colors:
red: Red
green: Green
blue: Blue
yellow: Yellow
purple: Purple
cyan: Cyan
white: White
black: Black
uncolored: Gray
# 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.
# 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.
# Shape viewer
shapeViewer:
title: Layers
empty: Empty
copyKey: Copy Key
# 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.
wire:
default:
name: &wire Energy Wire
description: Allows you to transport energy.
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 you to tunnel resources under buildings and belts.
tier2:
name: Tunnel Tier II
description: Allows you 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 halves. <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>
advanced_processor:
default:
name: &advanced_processor Color Inverter
description: Accepts a color or shape and inverts it.
rotater:
default:
name: &rotater Rotate
description: Rotates shapes clockwise by 90 degrees.
ccw:
name: Rotate (CCW)
description: Rotates shapes counter-clockwise by 90 degrees.
fl:
name: Rotate (180)
description: Rotates shapes by 180 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: &painter_desc Colors the whole shape on the left input with the color from the top input.
mirrored:
name: *painter
description: *painter_desc
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 you 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.
energy_generator:
deliver: Deliver
# This will be shown before the amount, so for example 'For 123 Energy'
toGenerateEnergy: For
default:
name: &energy_generator Energy Generator
description: Generates energy by consuming shapes.
wire_crossings:
default:
name: &wire_crossings Wire Splitter
description: Splits a energy wire into two.
merger:
name: Wire Merger
description: Merges two energy wires into one.
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, there is a <strong>colorblind mode</strong> in the settings!
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 you to rotate shapes counter-clockwise! To build it, select the rotater and <strong>press 'T' to cycle through 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 belt!
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 you 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 you 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:
general: General
userInterface: User Interface
advanced: Advanced
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's resolution, but this setting controls the amount of scaling.
scales:
super_small: Super small
small: Small
regular: Regular
large: Large
huge: Huge
autosaveInterval:
title: Autosave Interval
description: >-
Controls how often the game saves automatically. You can also disable it entirely here.
intervals:
one_minute: 1 Minute
two_minutes: 2 Minutes
five_minutes: 5 Minutes
ten_minutes: 10 Minutes
twenty_minutes: 20 Minutes
disabled: Disabled
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
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: >-
Change the language. All translations are user-contributed and might be incomplete!
enableColorBlindHelper:
title: Color Blind Mode
description: >-
Enables various tools which allow you to play the game if you are color blind.
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 up to a given level to make it easier to get into the game.
enableTunnelSmartplace:
title: Smart Tunnels
description: >-
When enabled, placing tunnels will automatically remove unnecessary belts. This also enables you to drag tunnels and excess tunnels will get removed.
vignette:
title: Vignette
description: >-
Enables the vignette, which darkens the screen corners and makes text easier to read.
rotationByBuilding:
title: Rotation by building type
description: >-
Each building type remembers the rotation you last set it to individually. This may be more comfortable if you frequently switch between placing different building types.
compactBuildingInfo:
title: Compact Building Infos
description: >-
Shortens info boxes for buildings by only showing their ratios. Otherwise a description and image is shown.
disableCutDeleteWarnings:
title: Disable Cut/Delete Warnings
description: >-
Disables the warning dialogs brought up when cutting/deleting more than 100 entities.
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
mapMoveFaster: Move Faster
centerMap: Center Map
mapZoomIn: Zoom in
mapZoomOut: Zoom out
createMarker: Create Marker
menuOpenShop: Upgrades
menuOpenStats: Statistics
menuClose: Close Menu
toggleHud: Toggle HUD
toggleFPSInfo: Toggle FPS and Debug Info
switchLayers: Switch layers
exportScreenshot: Export whole Base as Image
belt: *belt
splitter: *splitter
underground_belt: *underground_belt
miner: *miner
cutter: *cutter
advanced_processor: *advanced_processor
rotater: *rotater
stacker: *stacker
mixer: *mixer
energy_generator: *energy_generator
painter: *painter
trash: *trash
wire: *wire
pipette: Pipette
rotateWhilePlacing: Rotate
rotateInverseModifier: >-
Modifier: Rotate CCW instead
cycleBuildingVariants: Cycle Variants
confirmMassDelete: Delete area
pasteLastBlueprint: Paste last blueprint
cycleBuildings: Cycle Buildings
lockBeltDirection: Enable belt planner
switchDirectionLockSide: >-
Planner: Switch side
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
placeInverse: Invert automatic belt orientation
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

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -151,7 +151,6 @@ mainMenu:
savegameLevel: Livello <x>
savegameLevelUnknown: Livello sconosciuto
continue: Continua
newGame: Nuova partita
madeBy: Creato da <author-link>
@ -486,6 +485,9 @@ buildings:
ccw:
name: Rotate (CCW)
description: Rotates shapes counter clockwise by 90 degrees.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -632,8 +634,9 @@ storyRewards:
settings:
title: Impostazioni
categories:
game: Gioco
app: Applicazione
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Sviluppo
@ -843,9 +846,9 @@ about:
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
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>
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>

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -30,32 +30,32 @@ 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 processing of increasingly complex shapes across an infinitely expanding map.
Upon delivering the requested shapes you will progress within the game and unlock upgrades to speed up your factory.
shapez.ioは無限のマップ内で様々な"形"を資源とし、段々と複雑になっていく形の作成や合成の自動化を目指して工場を構築するゲームです。
求められた"形"を届けることで様々なアップグレードを手に入れることができ、さらに工場の効率を上げることができます。
As the demand for shapes increases, you will have to scale up your factory to meet the demand - Don't forget about resources though, you will have to expand across the [b]infinite map[/b]!
"形"の需要が増えるにつれ、工場を拡大する必要があります - より多くの資源を手に入れるために[b]無限のマップ[!b]を開拓していく必要があります。
Soon you will have to mix colors and paint your shapes with them - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
"形"に色を塗る必要もあります - 赤、緑、青を混ぜ、さまざまな色を作り需要に応じて色が塗られた"形"を製造できます。
This game features 18 progressive levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
現在このゲームには18個のレベルがあり、今後これを拡大していく予定です - 他にも様々なアップデートを準備しています!
Purchasing the game gives you access to the standalone version which has additional features and you'll also receive access to newly developed features.
このゲームを買うことによってスタンドアローン版の様々な機能が使えるようになり、新しいアップデートもすぐに手に入ります。
[b]Standalone Advantages[/b]
[b]スタンドアローン版で使える機能[/b]
[list]
[*] Dark Mode
[*] Unlimited Waypoints
[*] Unlimited Savegames
[*] Additional settings
[*] Coming soon: Wires & Energy! Aiming for (roughly) end of July 2020.
[*] Coming soon: More Levels
[*] Allows me to further develop shapez.io ❤️
[*] ダークモード
[*] ウェイポイントの制限がありません
[*] セーブの数の制限がありません
[*] 様々な設定
[*] 追加予定: ワイヤーとエネルギー! (7月末を目指しています)
[*] 追加予定: より多くのレベル
[*] shapez.io開発が助けられます❤️
[/list]
[b]Future Updates[/b]
[b]今後の予定[/b]
I am updating the game very often and trying to push an update at least every week!
週に一回はアップデートを出せることを目指しています。
[list]
[*] Different maps and challenges (e.g. maps with obstacles)
@ -67,22 +67,22 @@ steamPage:
[*] And much more!
[/list]
[b]This game is open source![/b]
[b]このゲームはオープンソースです![/b]
Anybody can contribute, I'm actively involved in the community and attempt to review all suggestions and take feedback into consideration where possible.
Be sure to check out my trello board for the full roadmap!
誰でもこのげむの開発を手伝うことができ、私もプレーヤーの意見をできるだけゲームに取り入れようとしています。
Trelloで今後の予定が全て確認できます。
[b]Links[/b]
[b]外部リンク[/b]
[list]
[*] [url=https://discord.com/invite/HN7EVzV]Official Discord[/url]
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roadmap[/url]
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
[*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url]
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url]
[*] [url=https://discord.com/invite/HN7EVzV]公式Discord[/url]
[*] [url=https://trello.com/b/ISQncpJP/shapezio]今後の予定[/url]
[*] [url=https://www.reddit.com/r/shapezio]Reddit[/url]
[*] [url=https://github.com/tobspr/shapez.io]ソースコード(GitHub)[/url]
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]翻訳に参加[/url]
[/list]
discordLink: Official Discord - Chat with me!
discordLink: 公式Discord - 私と話せます!
global:
loading: ロード中
@ -134,14 +134,14 @@ demoBanners:
# This is the "advertisement" shown in the main menu and other various places
title: デモ版
intro: >-
スタンドアローン版を手に入れ、すべての要素をアンロックしましょう!
スタンドアローン版を手に入れ、すべての機能をアンロックしましょう!
mainMenu:
play: プレイ
changelog: 更新履歴
importSavegame: インポート
openSourceHint: このゲームはオープンソースです
discordLink: 公式Discordサーバ
discordLink: 公式Discord
helpTranslate: 翻訳に参加
# This is shown when using firefox and other browsers which are not supported.
@ -151,10 +151,9 @@ mainMenu:
savegameLevel: レベル <x>
savegameLevelUnknown: 不明なレベル
continue: 続きから
newGame: 新規ゲーム
madeBy: Made by <author-link>
madeBy: 制作者 <author-link>
subreddit: Reddit
dialogs:
@ -491,6 +490,9 @@ buildings:
ccw:
name: 回転機 (逆)
description: 形を反時計回り方向に90度回転します。
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -632,8 +634,9 @@ storyRewards:
settings:
title: 設定
categories:
game: ゲーム
app: アプリケーション
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Development
@ -837,7 +840,7 @@ about:
開発に参加したい場合は以下をチェックしてみてください。<a href="<githublink>" target="_blank">shapez.io on github</a>.<br><br>
このゲームはdiscordでの素晴らしいコミュニティなしには実現しませんでした。 - このサーバにも是非参加してください! <a href="<discordlink>" target="_blank">discord server</a>!<br><br>
このゲームはdiscordでの素晴らしいコミュニティなしには実現しませんでした。 - このサーバにも是非参加してください! <a href="<discordlink>" target="_blank">Discord server</a>!<br><br>
サウンドトラックは<a href="https://soundcloud.com/pettersumelius" target="_blank">Peppsen</a>により製作されました。 - 彼は素晴らしいです<br><br>

View File

@ -15,13 +15,13 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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는 무한한 공간에서 점점 더 복잡한 도형의 생산과 조합을 자동화하는 공장을 짓는 게임입니다.
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,59 +30,59 @@ 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 processing of increasingly complex shapes across an infinitely expanding map.
Upon delivering the requested shapes you will progress within the game and unlock upgrades to speed up your factory.
shapez.io는 무한한 공간에서 점점 더 복잡한 도형의 생산과 조합을 자동화하는 공장을 짓는 게임입니다.
요청된 도형을 전달해 게임을 진행하고 업그레이드를 통해 공장을 가속시킬 수 있습니다.
As the demand for shapes increases, you will have to scale up your factory to meet the demand - Don't forget about resources though, you will have to expand across the [b]infinite map[/b]!
도형에 대한 수요가 증가함에 따라, 여러분은 수요에 맞게 공장을 확장해야 합니다. - [b]무한한 공간[/b]으로 확장하여 도형 재료를 구하는 것도 잊지 마세요.
Soon you will have to mix colors and paint your shapes with them - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
곧이어 여러분은 색을 섞고 도형을 색칠 할 것입니다. - 빨강, 초록, 파랑 색을 섞어서 만든 다양한 색으로 수요를 만족시키세요.
This game features 18 progressive levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
이 게임에는 18개의 레벨이 있습니다 (이것 만으로도 여러분은 이미 몇시간이 걸렸을 거예요!) 하지만 저는 항상 새로운 콘텐츠를 추가하고 있습니다 - 계획해 놓은 것들이 많습니다!
Purchasing the game gives you access to the standalone version which has additional features and you'll also receive access to newly developed features.
게임을 구입하면 추가 기능이 있는 독립 실행형 버전을 이용할 수 있으며 새로 개발된 기능도 이용할 수 있습니다.
[b]Standalone Advantages[/b]
[b]유료 버전의 장점[/b]
[list]
[*] Dark Mode
[*] Unlimited Waypoints
[*] Unlimited Savegames
[*] Additional settings
[*] Coming soon: Wires & Energy! Aiming for (roughly) end of July 2020.
[*] Coming soon: More Levels
[*] Allows me to further develop shapez.io ❤️
[*] 다크 모드
[*] 제한 없는 마커
[*] 제한 없는 저장
[*] 더 다양한 설정
[*] 출시 예고: 전선 & 에너지! 2020년 7월 말을 목표로 하는 중.
[*] 출시 예고: 더 많은 레벨
[*] shapez.io를 개발하는 데 도움이 됨 ❤️
[/list]
[b]Future Updates[/b]
[b]향후 업데이트[/b]
I am updating the game very often and trying to push an update at least every week!
저는 게임을 자주 업데이트하고 있고 적어도 매주마다 업데이트를 추진하려고 노력 중입니다!
[list]
[*] Different maps and challenges (e.g. maps with obstacles)
[*] Puzzles (Deliver the requested shape with a restricted area / set of buildings)
[*] A story mode where buildings have a cost
[*] Configurable map generator (Configure resource/shape size/density, seed and more)
[*] Additional types of shapes
[*] Performance improvements (The game already runs pretty well!)
[*] And much more!
[*] 다양한 맵과 챌린지 (e.g. 장애물이 있는 맵)
[*] 퍼즐 (제한된 영역/건물만으로 도형 전달하기)
[*] 건물에 비용이 드는 스토리 모드
[*] 설정 가능한 맵 생성기 (자원/도형, 크기/밀도, 시드 등)
[*] 더 많은 종류의 도형
[*] 성능 향상 (지금도 게임이 잘 되긴 합니다!)
[*] 그 외 다수!
[/list]
[b]This game is open source![/b]
[b]이 게임은 오픈소스 입니다![/b]
Anybody can contribute, I'm actively involved in the community and attempt to review all suggestions and take feedback into consideration where possible.
Be sure to check out my trello board for the full roadmap!
누구나 참여할 수 있으며, 저는 커뮤니티에 적극적으로 참여하고 있고 가능한 경우 모든 제안을 검토하고 피드백을 고려하려고 합니다.
전체 로드맵을 위해 반드시 내 Trello 보드를 확인하세요!
[b]Links[/b]
[b]링크[/b]
[list]
[*] [url=https://discord.com/invite/HN7EVzV]Official Discord[/url]
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roadmap[/url]
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
[*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url]
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url]
[*] [url=https://discord.com/invite/HN7EVzV]공식 디스코드[/url]
[*] [url=https://trello.com/b/ISQncpJP/shapezio]로드맵[/url]
[*] [url=https://www.reddit.com/r/shapezio]서브레딧[/url]
[*] [url=https://github.com/tobspr/shapez.io]소스 코드 (GitHub)[/url]
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]번역을 도와주세요![/url]
[/list]
discordLink: Official Discord - Chat with me!
discordLink: 공식 디스코드 - 채팅해요!
global:
loading: 로딩중
@ -134,7 +134,7 @@ demoBanners:
# This is the "advertisement" shown in the main menu and other various places
title: 무료 버전
intro: >-
유료 버전을 구매해서 모든 컨탠츠를 사용해 보세요!
유료 버전을 구매해서 모든 콘텐츠를 사용해 보세요!
mainMenu:
play: 시작
@ -150,11 +150,10 @@ mainMenu:
savegameLevel: 레벨 <x>
savegameLevelUnknown: 레벨 모름
continue: 계속하기
newGame: 새 게임
madeBy: 제작 <author-link>
subreddit: Reddit
subreddit: 레딧
dialogs:
buttons:
@ -178,7 +177,7 @@ dialogs:
importSavegameSuccess:
title: 저장 파일 불러오기 성공
text: >-
저장 파일이 성공적으로 불러와졌습니다.
저장 파일을 성공적으로 불러왔습니다.
gameLoadFailure:
title: 저장 파일 에러
@ -205,16 +204,16 @@ dialogs:
desc: 당신이 원하는 키나 마우스 버튼을 눌러서 바꾸거나 ESC를 눌러 취소하세요.
resetKeybindingsConfirmation:
title: 키바인딩 설정
title: 키바인딩 설정
desc: 이것은 모든 키바인딩을 기본값으로 초기화합니다.
keybindingsResetOk:
title: 키바인딩 설정 완료
title: 키바인딩 설정 완료
desc: 모든 키바인딩이 기본값으로 재설정 되었습니다!
featureRestriction:
title: 데모 버전
desc: 데모 버전에는 없는 컨탠츠(<feature>)로 시도했습니다. 유료 버전을 구입해서 모든 컨텐츠를 사용해보세요!
desc: 데모 버전에는 없는 콘텐츠(<feature>)로 시도했습니다. 유료 버전을 구입해서 모든 콘텐츠를 사용해보세요!
oneSavegameLimit:
title: 저장파일 개수 제한
@ -258,7 +257,7 @@ dialogs:
createMarker:
title: 새로운 마커
desc: 이 장소에 이름을 지어주세요, 당신은 원하는 모양으로 <strong>단축키</strong>를 생성할 수 있습니다. (<a href="https://viewer.shapez.io" target="_blank">여기</a>에서 만들 수 있습니다.)
titleEdit: Edit Marker
titleEdit: 마커 변경
markerDemoLimit:
desc: 데모 버전에서는 마커를 2개 까지만 놓을 수 있습니다. 유료 버전을 구입하면 마커를 무제한으로 놓을 수 있습니다!
@ -266,12 +265,12 @@ dialogs:
exportScreenshotWarning:
title: 스크린샷 내보내기
desc: >-
당신은 당신의 공장을 스크린샷으로 내보내려 하고있습니다. 공장이 너무 큰 경우에는
당신은 공장을 스크린샷으로 내보내려 하고있습니다. 공장이 너무 큰 경우에는
시간이 오래 걸리거나 게임이 꺼질 수도 있음을 알려드립니다!
massCutInsufficientConfirm:
title: Confirm cut
desc: You can not afford to paste this area! Are you sure you want to cut it?
title: 자르기 확인
desc: 이 곳에는 붙여넣기를 할 수 없습니다! 정말 자르시겠습니까?
ingame:
# This is shown in the top left corner and displays useful keybindings in
@ -295,7 +294,7 @@ ingame:
copySelection: 선택된 부분 복사하기
clearSelection: 선택된 부분 지우기
pipette: 스포이드
switchLayers: Switch layers
switchLayers: 레이어 전환
# Everything related to placing buildings (I.e. as soon as you selected a building
# from the toolbar)
@ -342,7 +341,7 @@ ingame:
# The roman number for each tier
tierLabels: [I, II, III, IV, V, VI, VII, VIII, IX, X]
maximumLevel: 최대 (Speed x<currentMult>)
maximumLevel: 최대 레벨 (속도 x<currentMult>)
# The "Statistics" window
statistics:
@ -389,7 +388,7 @@ ingame:
waypoints: 마커
hub: 중앙 건물
description: 마커를 좌클릭해서 그곳으로 가고, 우클릭해서 삭제합니다.<br><br><keybinding>을 눌러 지금 있는 곳에 마커를 놓거나 <strong>우클릭해서</strong> 원하는 곳에 놓으세요.
creationSuccessNotification: 마커가 성공적으로 제작되었습니다.
creationSuccessNotification: 마커가 성공적으로 생성되었습니다.
# Interactive tutorial
interactiveTutorial:
@ -397,10 +396,10 @@ ingame:
hints:
1_1_extractor: <strong>추출기</strong>를 <strong>원 모양의 도형</strong>에 놓아서 추출하세요!
1_2_conveyor: >-
추출기를 <strong>컨베이어 벨트</strong>로 당신의 중앙 건물에 연결하세요!<br><br>팁: 마우스로 벨트를 <strong>클릭해서 드래그</strong>하세요!
추출기를 <strong>컨베이어 벨트</strong>로 당신의 중앙 건물에 연결하세요!<br><br>팁: 마우스로 벨트를 <strong>클릭하고 드래그</strong>하세요!
1_3_expand: >-
이것은 방치형 게임이 <strong>아닙니다!</strong> 추출기를 더 놓아 목표를 빨리 달성하세요.<br><br>팁: <strong>SHIFT</strong>를 눌러 여러 개의 추출기를 놓고 <strong>R</strong>로 회전 시키세요.
이것은 방치형 게임이 <strong>아닙니다!</strong> 추출기를 더 놓아 목표를 빨리 달성하세요.<br><br>팁: <strong>SHIFT</strong>를 눌러 여러 개의 추출기를 놓고 <strong>R</strong>로 방향을 바꾸세요.
colors:
red: 빨강
@ -410,12 +409,12 @@ ingame:
purple: 보라
cyan: 청록
white: 하양
uncolored:
black: Black
uncolored:
black: 검정
shapeViewer:
title:
empty: 비었음
copyKey: Copy Key
copyKey: 키 복사하기
# All shop upgrades
shopUpgrades:
@ -490,10 +489,13 @@ buildings:
ccw:
name: 회전기 (반시계방향)
description: 도형을 반시계방향으로 90도 회전시킨다.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
name: &stacker 스택커
name: &stacker 결합기
description: 도형 2개를 쌓는다. 합칠 수가 없다면 오른쪽 도형이 왼쪽 도형 위에 놓아진다.
mixer:
@ -525,24 +527,24 @@ buildings:
description: 할당된 용량만큼 초과되는 도형을 저장한다.
wire:
default:
name: Energy Wire
description: Allows you to transport energy.
name: 전선
description: 에너지를 전송한다.
advanced_processor:
default:
name: Color Inverter
description: Accepts a color or shape and inverts it.
name: 색 반전기
description: 색소나 도형을 받아 색을 반전시킨다.
energy_generator:
deliver: Deliver
toGenerateEnergy: For
deliver: 연료
toGenerateEnergy: 마다
default:
name: Energy Generator
description: Generates energy by consuming shapes.
name: 발전기
description: 도형을 소비해 에너지를 만듭니다.
wire_crossings:
default:
name: Wire Splitter
name: 전선 분배기
description: Splits a energy wire into two.
merger:
name: Wire Merger
name: 전선 병합기
description: Merges two energy wires into one.
storyRewards:
@ -577,8 +579,8 @@ storyRewards:
desc: <strong>터널</strong>이 잠금 해제되었습니다! 자원을 건물과 벨트 밑으로 운송 할 수 있습니다.
reward_rotater_ccw:
title: 회전기 (반시방향)
desc: <strong>반시방향 회전기</strong>가 잠금 해제되었습니다! 이것을 배치하려면 회전기를 선택하고 <strong>T</strong>를 눌러서 변형된 버전을 사용하세요!
title: 회전기 (반시방향)
desc: <strong>반시방향 회전기</strong>가 잠금 해제되었습니다! 이것을 배치하려면 회전기를 선택하고 <strong>T</strong>를 눌러서 변형된 버전을 사용하세요!
reward_miner_chainable:
title: 체인 추출기
@ -610,11 +612,11 @@ storyRewards:
desc: <strong>저장소</strong>가 잠금 해제되었습니다! 주어진 용량만큼 자원을 저장할 수 있습니다!
reward_freeplay:
title: 프리플레이 모드
desc: 해내셨군요! <strong>프리플레이 모드</strong>가 잠금 해제되었습니다! 이제 도형이 랜덤으로 생성됩니다! (걱정 마세요, 유료버전에는 더 많은 컨텐츠가 계획되어 있습니다!)
title: 자유 모드
desc: 해내셨군요! <strong>자유 모드</strong>가 잠금 해제되었습니다! 이제 도형이 랜덤으로 생성됩니다! (걱정 마세요, 유료버전에는 더 많은 컨텐츠가 계획되어 있습니다!)
reward_blueprints:
title: 블루프린트
title: 청사진
desc: 이제부터는 공장의 일부 영역을 <strong>복사하여 붙여넣기</strong> 할 수 있습니다! CTRL을 누르면서 드래그해서 먼저 영역을 선택하세요. <br><br> 그 다음에는 C, DEL, ESC 로 복사하거나, 지우거나, 취소 하세요.<br><br> 복사는 무료가 이닙니다. 특별한 "화폐" 도형으로 돈을 지불하고 복사가 됩니다.
# Special reward, which is shown when there is no reward actually
@ -631,13 +633,14 @@ storyRewards:
settings:
title: 설정
categories:
game: 게임
app:
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: 전 중
staging: 단계적으로 발전 중
prod: 제작 중
dev:
staging: 검증
prod: 배포
buildDate: 날짜<at-date>
labels:
@ -655,7 +658,7 @@ settings:
scrollWheelSensitivity:
title: 확대 민감도
description: >-
마우스 휠이나 트패드로 확대하는 데의 민감도
마우스 휠이나 트패드로 확대하는 데의 민감도
sensitivity:
super_slow: 매우 느리게
slow: 느리게
@ -678,15 +681,15 @@ settings:
language:
title: 언어
description: >-
언어 바꾸기 - 모든 언어팩은 사용자들이 만든 것이므로 완성되지 않았을 수 있습니다..
언어 바꾸기 - 모든 언어팩은 사용자들이 만든 것이므로 완성되지 않았을 수 있습니다!
fullscreen:
title: Fullscreen
title: 전체화면
description: >-
이 게임은 풀 스크린으로 하는 것이 가장 좋습니다. 풀 스크린 모드는 유료 버전에서만 가능합니다.
이 게임은 전체화면으로 하는 것이 가장 좋습니다. 전체화면은 유료 버전에서만 가능합니다.
soundsMuted:
title: 소리 끄기
title: 효과음 끄기
description: >-
모든 효과음을 끕니다.
@ -704,19 +707,19 @@ settings:
light: 밝은 테마
refreshRate:
title: 모니터 리프레쉬 속
title: 시뮬레이션 빈
description: >-
당신의 모니터의 리프세쉬 속도가 144hz 보다 높으면 이 설정을 바꾸어서 게임이 더 빨리 리프레시 되게 하세요. 만약에 컴퓨터가 느리다면 FPS에 영양을 미칠 수 있습니다.
144hz 모니터가 있다면 이 설정을 바꿔 게임이 높은 빈도로 적절히 시뮬레이션되게 하세요. 만약에 컴퓨터가 느리다면 FPS에 영양을 미칠 수 있습니다.
alwaysMultiplace:
title: 항상 여러 개 배치
description: >-
배치 이후에도 모든 빌딩이 선택되어 있습니다. SHIFT를 계속 누르고 있는 것과 같은 효과입니다.
활성화된 경우 모든 건물은 따로 취소하기 전까지 배치 후 선택된 상태로 유지됩니다. SHIFT를 계속 누르고 있는 것과 같은 효과입니다.
offerHints:
title: 힌트와 튜토리얼
description: >-
이것을 끄면 힌트와 튜토리얼이 나오지 않습니다. 또한 게임에 쉽게 들어가기 위해서 주어진 레벨에서 특정 UI 요소를 숨길 수도 있습니다.
이것을 끄면 힌트와 튜토리얼이 나오지 않습니다. 또한 특정 UI 요소를 지정된 레벨까지 숨겨 게임에 쉽게 들어갈 수 있습니다.
enableTunnelSmartplace:
title: 스마트 터널
@ -725,14 +728,14 @@ settings:
또한, 터널을 당겨서 남는 터널을 없앱니다.
vignette:
title: 삽화
title: 비네트 효과
description: >-
화면의 코너를 어둡게 만들어 텍스트를 읽기 쉽게 해주는 삽화를 활성화 시킵니다.
화면의 모서리를 어둡게 만들어 텍스트를 읽기 쉽게 해주는 비네트 효과를 활성화 시킵니다.
autosaveInterval:
title: 자동저장 주기
description: >-
자동저장을 얼마나 자주 할 것인지 정합니다. 자동저장기능을 끌 수도 있습니다.
자동저장을 얼마나 자주 할 것인지 정합니다. 자동저장 기능을 끌 수도 있습니다.
intervals:
one_minute: 1분
two_minutes: 2분
@ -772,8 +775,8 @@ keybindings:
navigation: 둘러보기
placement: 놓기
massSelect: 다중 선택
buildings: 건물 쇼트컷
placementModifiers: 배치 수정기
buildings: 건물 단축키
placementModifiers: 배치 옵션
mappings:
confirm: 확인
@ -818,18 +821,18 @@ keybindings:
massSelectCut: 영역 자르기
placementDisableAutoOrientation: 자동 회전 끄기
placeMultiple: 배치 모드에 있기
placeInverse: 자동 벨트 회전 뒤집기
placeMultiple: 배치 모드 유지
placeInverse: 반대 방향으로 벨트 배치
exportScreenshot: 공장 전체를 이미지로 내보내기
mapMoveFaster: 더 빠르게 움직이기
lockBeltDirection: 벨트 플래너 활성화
switchDirectionLockSide: "플래너: 방향 바꾸기"
pipette: 피펫
menuClose: Close Menu
switchLayers: Switch layers
advanced_processor: Color Inverter
energy_generator: Energy Generator
wire: Energy Wire
pipette: 스포이드
menuClose: 메뉴 닫기
switchLayers: 레이어 전환
advanced_processor: 색 반전기
energy_generator: 발전기
wire: 전선
about:
title: 이 게임의 정보

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -151,7 +151,6 @@ mainMenu:
savegameLevel: Level <x>
savegameLevelUnknown: Unknown Level
continue: Continue
newGame: New Game
madeBy: Made by <author-link>
@ -491,6 +490,9 @@ buildings:
ccw:
name: Rotate (CCW)
description: Rotates shapes counter clockwise by 90 degrees.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -632,8 +634,9 @@ storyRewards:
settings:
title: Settings
categories:
game: Game
app: Application
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Development
@ -842,9 +845,9 @@ about:
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
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>
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>

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -30,59 +30,59 @@ 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 processing of increasingly complex shapes across an infinitely expanding map.
Upon delivering the requested shapes you will progress within the game and unlock upgrades to speed up your factory.
shapez.io is een spel dat draait om het bouwen van fabrieken om steeds complexere vormen te produceren en deze productie te automatiseren in een oneindig groot speelveld.
Door het leveren van de gevraagde vormen, kom je verder in het spel en ontgrendel je upgrades waar je fabriek sneller van wordt.
As the demand for shapes increases, you will have to scale up your factory to meet the demand - Don't forget about resources though, you will have to expand across the [b]infinite map[/b]!
De vraag naar vormen wordt steeds groter, wat betekent dat je de fabriek moet uitbreiden om de vraag tegemoet te komen. Om de juiste grondstoffen te delven zul je steeds verder in het [b]oneindig grote speelveld[/b] moeten gaan werken!
Soon you will have to mix colors and paint your shapes with them - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
Omdat simpele vormen snel saai worden, moet je kleuren mengen om de vormen te verven - Combineer rode, groene en blauwe grondstoffen om verschillende kleuren te produceren en gebruik deze om de vormen te verven, zodat je de vraag hiernaar tegemoet kan komen.
This game features 18 progressive levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
Dit spel bevat 18 levels (Waar je al uren mee bezig zal zijn!), maar ik ben continu bezig om het spel uit te breiden - er staat veel in de planning!
Purchasing the game gives you access to the standalone version which has additional features and you'll also receive access to newly developed features.
Wanneer je het spel koopt dan krijg je toegang tot de standalone versie. Deze heeft extra functies en je krijgt ook toegang tot nieuwe ontwikkelingen.
[b]Standalone Advantages[/b]
[b]Standalone Voordelen[/b]
[list]
[*] Dark Mode
[*] Unlimited Waypoints
[*] Unlimited Savegames
[*] Additional settings
[*] Coming soon: Wires & Energy! Aiming for (roughly) end of July 2020.
[*] Coming soon: More Levels
[*] Allows me to further develop shapez.io ❤️
[*] Donkere modus
[*] Oneindig veel markeringen
[*] Oneindig veel savegames
[*] Extra opties
[*] Binnenkort: Kabels & Energie! Hopelijk vanaf eind juli 2020.
[*] Binnenkort: Meer Levels
[*] Help mij om shapez.io verder te ontwikkelen ❤️
[/list]
[b]Future Updates[/b]
[b]Geplande Updates[/b]
I am updating the game very often and trying to push an update at least every week!
Ik update het spel regelmatig en probeer dit zeker eenmaal per week te doen!
[list]
[*] Different maps and challenges (e.g. maps with obstacles)
[*] Puzzles (Deliver the requested shape with a restricted area / set of buildings)
[*] A story mode where buildings have a cost
[*] Configurable map generator (Configure resource/shape size/density, seed and more)
[*] Additional types of shapes
[*] Performance improvements (The game already runs pretty well!)
[*] And much more!
[*] Verschillende speelvelden en uitdagingen (bijv. obstakels)
[*] Puzzels (Bezorg de gevraagde vorm binnen een afgesloten gebied of met bepaalde gebouwen)
[*] Een verhaalmodus waar gebouwen iets kosten
[*] Aanpasbare speelveldgenerator (Kies de hoeveelheid en grootte van grondstoffen, seed en meer)
[*] Meer soorten vormen
[*] Prestatieverbeteringen (Het spel loopt al vrij goed!)
[*] En nog veel meer!
[/list]
[b]This game is open source![/b]
[b]Dit spel is open source![/b]
Anybody can contribute, I'm actively involved in the community and attempt to review all suggestions and take feedback into consideration where possible.
Be sure to check out my trello board for the full roadmap!
Iedereen kan bijdragen. Ik ben actief in de community en probeer naar alle suggesties en feedback te kijken en deze op te nemen in de ontwikkeling.
Bekijk mijn trello-bord voor het volledige stappenplan!
[b]Links[/b]
[list]
[*] [url=https://discord.com/invite/HN7EVzV]Official Discord[/url]
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roadmap[/url]
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Stappenplan[/url]
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
[*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url]
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url]
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help met vertalen[/url]
[/list]
discordLink: Official Discord - Chat with me!
discordLink: Officiële Discord - Chat met mij!
global:
loading: Laden
@ -90,15 +90,15 @@ global:
# How big numbers are rendered, e.g. "10,000"
thousandsDivider: "."
# What symbol to use to seperate the integer part from the fractional part of a number, e.g. "0.4"
decimalSeparator: ","
# The suffix for large numbers, e.g. 1.3k, 400.2M, etc.
suffix:
thousands: K
thousands: k
millions: M
billions: G
billions: B
trillions: T
# Shown for infinitely big numbers
@ -141,7 +141,7 @@ mainMenu:
changelog: Changelog
importSavegame: Importeren
openSourceHint: Dit spel is open source!
discordLink: Officiële discord-server (Engelstalig)
discordLink: Officiële Discord-server (Engelstalig)
helpTranslate: Help met vertalen!
# This is shown when using firefox and other browsers which are not supported.
@ -151,7 +151,6 @@ mainMenu:
savegameLevel: Level <x>
savegameLevelUnknown: Onbekend Level
continue: Verder
newGame: Nieuw Spel
madeBy: Gemaakt door <author-link>
@ -169,15 +168,15 @@ dialogs:
deleteGame: Ik weet wat ik doe
viewUpdate: Zie Update
showUpgrades: Zie Upgrades
showKeybindings: Zie sneltoetsen
showKeybindings: Zie Sneltoetsen
importSavegameError:
title: Import Error
title: Importeer error
text: >-
Het importeren van je savegame is mislukt:
importSavegameSuccess:
title: Savegame Geïmporteerd
title: Savegame geïmporteerd
text: >-
Je savegame is succesvol geïmporteerd.
@ -227,7 +226,7 @@ dialogs:
Dit zijn de veranderingen sinds je voor het laatst gespeeld hebt:
upgradesIntroduction:
title: Ontgrendel Upgrades
title: Ontgrendel upgrades
desc: >-
Alle vormen die je produceert kunnen gebruikt worden om upgrades te ontgrendelen - <strong>vernietig je oude fabrieken niet!</strong>
Het upgrades-tabblad staat in de rechterbovenhoek van het scherm.
@ -269,8 +268,8 @@ dialogs:
Je hebt aangegeven dat je jouw basis wil exporteren als screenshot. Als je een grote basis hebt kan dit proces langzaam zijn en er zelfs voor zorgen dat je spel crasht!
massCutInsufficientConfirm:
title: Confirm cut
desc: You can not afford to paste this area! Are you sure you want to cut it?
title: Bevestig knippen
desc: Je kunt het je niet veroorloven om de selectie te plakken! Weet je zeker dat je het wil knippen?
ingame:
# This is shown in the top left corner and displays useful keybindings in
@ -287,14 +286,14 @@ ingame:
placeBuilding: Plaats gebouw
createMarker: Plaats markering
delete: Vernietig
pasteLastBlueprint: Plak de laatst gekopiëerde blauwdruk
lockBeltDirection: Maak gebruik van de lopende band planner
pasteLastBlueprint: Plak laatst gekopiëerde blauwdruk
lockBeltDirection: Gebruik lopende band planner
plannerSwitchSide: Draai de richting van de planner
cutSelection: Knip
copySelection: Kopiëer
copySelection: Kopieer
clearSelection: Annuleer selectie
pipette: Pipet
switchLayers: Switch layers
switchLayers: Wissel lagen
# Everything related to placing buildings (I.e. as soon as you selected a building
# from the toolbar)
@ -349,7 +348,7 @@ ingame:
dataSources:
stored:
title: In opslag
description: Geeft weer hoe veel vormen er zijn opgeslagen in de HUB.
description: Geeft alle vormen weer die opgeslagen zijn in de HUB.
produced:
title: Geproduceerd
description: Geeft alle vormen weer die op dit moment geproduceerd worden, inclusief tussenproducten.
@ -371,7 +370,7 @@ ingame:
buttons:
continue: Verder spelen
settings: Opties
menu: Terug naar het menu
menu: Terug naar het Menu
# Bottom left tutorial hints
tutorialHints:
@ -410,7 +409,7 @@ ingame:
cyan: Cyaan
white: Wit
uncolored: Geen kleur
black: Black
black: Zwart
shapeViewer:
title: Lagen
empty: Leeg
@ -484,6 +483,9 @@ buildings:
ccw:
name: Roteerder (andersom)
description: Draait vormen 90 graden tegen de klok in.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -501,7 +503,7 @@ buildings:
description: &painter_desc Verft de volledige vorm in de linker input met de kleur van de rechter input.
double:
name: Verver (Dubbel)
description: Verft de vormen in de linker inputs met de kleur van de rechter input.
description: Verft de vormen in de linker input met de kleur van de rechter input.
quad:
name: Verver (Quad)
description: Verft elke kwart van de vorm een andere kleur.
@ -524,25 +526,25 @@ buildings:
levelShortcut: LVL
wire:
default:
name: Energy Wire
description: Allows you to transport energy.
name: Energiekabel
description: Voor transport van energie.
advanced_processor:
default:
name: Color Inverter
description: Accepts a color or shape and inverts it.
name: Kleur-omkeerder
description: Keert de kleur om van een voorwerp.
energy_generator:
deliver: Deliver
toGenerateEnergy: For
deliver: Lever
toGenerateEnergy: Voor
default:
name: Energy Generator
description: Generates energy by consuming shapes.
name: Energiegenerator
description: Wekt energie op door vormen te consumeren.
wire_crossings:
default:
name: Wire Splitter
description: Splits a energy wire into two.
name: Kabelsplijter
description: Splijt één kabel in twee.
merger:
name: Wire Merger
description: Merges two energy wires into one.
name: Kabelvoeger
description: Voegt twee kabels samen tot één.
storyRewards:
# Those are the rewards gained from completing the store
@ -593,7 +595,7 @@ storyRewards:
Je hebt een compacte variant van de <strong>verdeler</strong> ontgrendeld - Dit voegt twee lopende banden samen tot één.
reward_cutter_quad:
title: Quad Cutting
title: Quad Knippen
desc: Je hebt een variant van de <strong>knipper</strong> ontgrendeld - Dit knipt vormen in <strong>vier stukken</strong> in plaats van twee!
reward_painter_double:
@ -605,7 +607,7 @@ storyRewards:
desc: Je hebt een variant van de <strong>verver</strong> ontgrendeld - Het verft elk kwadrant van de vorm een andere kleur!
reward_storage:
title: Opslag buffer
title: Opslagbuffer
desc: Je hebt een variant van de <strong>vuilnisbak</strong> ontgrendeld - Het slaat voorwerpen op tot een zekere hoeveelheid!
reward_freeplay:
@ -630,8 +632,9 @@ storyRewards:
settings:
title: Opties
categories:
game: Spel
app: Applicatie
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Ontwikkeling
@ -649,7 +652,7 @@ settings:
small: Klein
regular: Middel
large: Groot
huge: Wumbo
huge: Jumbo
scrollWheelSensitivity:
title: Zoom-gevoeligheid
@ -825,11 +828,11 @@ keybindings:
lockBeltDirection: Schakel lopende band-planner in
switchDirectionLockSide: "Planner: Wissel van richting"
pipette: Pipet
menuClose: Sluit menu
menuClose: Sluit Menu
switchLayers: Lagen omwisselen
advanced_processor: Kleur Omvormer
energy_generator: Energie generator
wire: Energie Draad
advanced_processor: Kleur-omvormer
energy_generator: Energiegenerator
wire: Energiekabel
about:
title: Over dit spel
@ -840,9 +843,9 @@ about:
Als je ook bij wil dragen, ga dan naar <a href="<githublink>"
target="_blank">shapez.io op github</a>.<br><br>
Dit spel was niet mogelijk geweest zonder de geweldige discord community
Dit spel was niet mogelijk geweest zonder de geweldige Discord community
rondom mijn spellen - Je zou eens lid moeten worden van de <a href="<discordlink>"
target="_blank">discord server</a> (engelstalig)!<br><br>
target="_blank">Discord server</a> (engelstalig)!<br><br>
De muziek is gemaakt door <a href="https://soundcloud.com/pettersumelius"
target="_blank">Peppsen</a> - Hij is geweldig.<br><br>

View File

@ -15,13 +15,13 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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 er et spill som handler om å bygge fabrikker for å automatisere produksjon og kombinering av former med økende kompleksitet på et ubegrenset brett.
shortText: shapez.io er et spill som handler om å bygge fabrikker for å automatisere produksjon og kombinasjon av former med økende kompleksitet på et uendelig ekspanderende brett.
# 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,59 +30,59 @@ 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 processing of increasingly complex shapes across an infinitely expanding map.
Upon delivering the requested shapes you will progress within the game and unlock upgrades to speed up your factory.
Shapez.io er et spill som handler om å bygge fabrikker for å automatisere produksjon og kombinasjon av former med økende kompleksitet på et uendelig ekspanderende brett.
Ved leveranse av de forespurte formene vil du komme videre i spillet og låse opp oppgraderinger for å øke farten på fabrikken din
As the demand for shapes increases, you will have to scale up your factory to meet the demand - Don't forget about resources though, you will have to expand across the [b]infinite map[/b]!
Etter hvert som forespørselen av former øker, vil du være nødt til å utvide fabrikken din for å møte etterspørselen - Ikke glem ressursene, du vil bli nødt til å utvide over det [b]uendelige brettet[/b]!
Soon you will have to mix colors and paint your shapes with them - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
Snart blir du nødt til å plande farger og male formene dine med dem - Kombiner røde, grønne og blåe farge ressurser for å produsere forskjellige farger og male former med dem for å tilfredstille etterspørselen.
This game features 18 progressive levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
Dette spillet har 18 progressive nivåer (Noe som burde holde deg opptatt i flere timer allerede!) men jeg legger stadig til nytt innhold - Det er mye som er planlagt!
Purchasing the game gives you access to the standalone version which has additional features and you'll also receive access to newly developed features.
Kjøp av spillet gir deg tilgang til den frittstående versjonen som har mange tilleggsfunksjoner og du vil også få tilgang til nyutviklede funksjoner.
[b]Standalone Advantages[/b]
[b]Frittstående fordeler[/b]
[list]
[*] Dark Mode
[*] Unlimited Waypoints
[*] Unlimited Savegames
[*] Additional settings
[*] Coming soon: Wires & Energy! Aiming for (roughly) end of July 2020.
[*] Coming soon: More Levels
[*] Allows me to further develop shapez.io ❤️
[*] Mørk Modus
[*] Ubegrensede Veipunkter
[*] Uendelige Lagringsfiler
[*] Tilleggsinnstillinger
[*] Kommer snart: Ledninger og strøm! Sikter mot (omtrent) slutten av Juli 2020.
[*] Kommer snart: Flere Nivåer
[*] Tillater meg å fortsette å utvikle shapez.io ❤️
[/list]
[b]Future Updates[/b]
[b]Fremtidige Oppdateringer[/b]
I am updating the game very often and trying to push an update at least every week!
Jeg oppdaterer spillet veldig ofte og prøver å presse inn en oppdatering i det minste hver uke!
[list]
[*] Different maps and challenges (e.g. maps with obstacles)
[*] Puzzles (Deliver the requested shape with a restricted area / set of buildings)
[*] A story mode where buildings have a cost
[*] Configurable map generator (Configure resource/shape size/density, seed and more)
[*] Additional types of shapes
[*] Performance improvements (The game already runs pretty well!)
[*] And much more!
[*] Forskjellige baner og utfordringer (f.eks. baner med hindringer)
[*] Gåter (lever den forspurte formen med et begrenset område / sett med bygninger)
[*] En historiemodus der bygninger har en pris
[*] Konfigurerbar kartgenerator (Konfigurer ressurser/former, størrelse/tetthet, seed og mer)
[*] Flere typer former
[*] Ytelsesforbedringer (Spillet kjører allerede ganske bra!)
[*] Og mye mer!
[/list]
[b]This game is open source![/b]
[b]Dette spillet er åpen kildekode![/b]
Anybody can contribute, I'm actively involved in the community and attempt to review all suggestions and take feedback into consideration where possible.
Be sure to check out my trello board for the full roadmap!
Hvem som helst kan bidra, Jeg er aktivt involvert i samfunnet og forsøker å gå gjennom alle forslag og ta tilbakemelding i betraktning der det er mulig.
Sørg for å sjekke trello panelet mitt for hele veikartet!
[b]Links[/b]
[b]Lenker[/b]
[list]
[*] [url=https://discord.com/invite/HN7EVzV]Official Discord[/url]
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roadmap[/url]
[*] [url=https://discord.com/invite/HN7EVzV]Offisiell Discord[/url]
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Veikart[/url]
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
[*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url]
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url]
[*] [url=https://github.com/tobspr/shapez.io]Kildekode (GitHub)[/url]
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Hjelp til å oversette[/url]
[/list]
discordLink: Official Discord - Chat with me!
discordLink: Offisiell Discord - Chat med meg!
global:
loading: Laster
@ -151,7 +151,6 @@ mainMenu:
savegameLevel: Nivå <x>
savegameLevelUnknown: Ukjent Nivå
continue: Fortsett
newGame: Nytt Spill
madeBy: Laget av <author-link>
@ -488,6 +487,9 @@ buildings:
ccw:
name: Roter (Mot klokken)
description: Roter objekter mot klokken, 90 grader.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -629,8 +631,9 @@ storyRewards:
settings:
title: Instillinger
categories:
game: Spill
app: Applikasjon
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Utvikling
@ -839,7 +842,7 @@ about:
Hvis du ønsker å bidra, sjekk ut <a href="<githublink>" target="_blank">shapez.io på github</a>.<br><br>
Spillet ville ikke vært mulig uten det fantastidke discord samfunnet rundt spillet mitt - Du burde virkelig bli med på <a href="<discordlink>" target="_blank">discord serveren</a>!<br><br>
Spillet ville ikke vært mulig uten det fantastidke Discord samfunnet rundt spillet mitt - Du burde virkelig bli med på <a href="<discordlink>" target="_blank">Discord serveren</a>!<br><br>
Lydsporet er laget av <a href="https://soundcloud.com/pettersumelius" target="_blank">Peppsen</a> - Han er rå.<br><br>

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -156,7 +156,6 @@ mainMenu:
savegameLevel: Poziom <x>
savegameLevelUnknown: Nieznany poziom
madeBy: Gra wykonana przez <author-link>
subreddit: Reddit
@ -500,6 +499,9 @@ buildings:
ccw:
name: Obracacz (Przeciwny kierunek)
description: Obraca kształt przeciwnie do ruchu wskazówek zegara o 90 stopni.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -653,8 +655,9 @@ storyRewards:
settings:
title: Ustawienia
categories:
game: Gra
app: Aplikacja
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Wersja Rozwojowa

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -30,59 +30,59 @@ 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 processing of increasingly complex shapes across an infinitely expanding map.
Upon delivering the requested shapes you will progress within the game and unlock upgrades to speed up your factory.
shapez.io é um jogo sobre construir fábricas, automatizando a criação e combinação de formas cada vez mais complexas num mapa infinito.
Após a entrega das formas requisitadas você progredirá no jogo e desbloqueará melhorias para acelerar sua fábrica.
As the demand for shapes increases, you will have to scale up your factory to meet the demand - Don't forget about resources though, you will have to expand across the [b]infinite map[/b]!
Conforme sua demanda por formas aumenta, você irá que aumentar sua fábrica para alcançar-la - Mas não se esqueça dos recursos, você precisará expandir pelo [b]mapa infinito[/b]!
Soon you will have to mix colors and paint your shapes with them - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
Rapidamente você vai ter que misturar cores e pintar suas formas com elas - Combine recursos vermelhos, verdes e azuis para produzir cores diferentes e pintar formas com elas para satisfazer a demanda.
This game features 18 progressive levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
O jogo contém 18 níveis progressivos (Que já devem manter você ocupado por horas!) mas eu adiciono novo contéudo constantemente - Tem bastante coisa já planejada!
Purchasing the game gives you access to the standalone version which has additional features and you'll also receive access to newly developed features.
Comprando o jogo você terá acesso à versão completa, que contém recursos adicionais, e além disso você também terá acesso aos recursos que seram desenvolvidos.
[b]Standalone Advantages[/b]
[b]Vantagens da versão completa[/b]
[list]
[*] Dark Mode
[*] Unlimited Waypoints
[*] Unlimited Savegames
[*] Additional settings
[*] Coming soon: Wires & Energy! Aiming for (roughly) end of July 2020.
[*] Coming soon: More Levels
[*] Allows me to further develop shapez.io ❤️
[*] Modo Escuro
[*] Pontos de Referência Ilimitados
[*] Quantidade de Saves Ilimitada
[*] Configurações adicionais
[*] Em Breve: Fios e Energia! Previsto para (mais ou menos) o fim de Julho de 2020.
[*] Em Breve: Mais Níveis
[*] Me permite desenvolver shapez.io ❤️
[/list]
[b]Future Updates[/b]
[b]Atualizações Futuras[/b]
I am updating the game very often and trying to push an update at least every week!
Eu lanço atualizações frequentemente e estou tentando lançar pelo menos um por semana!
[list]
[*] Different maps and challenges (e.g. maps with obstacles)
[*] Puzzles (Deliver the requested shape with a restricted area / set of buildings)
[*] A story mode where buildings have a cost
[*] Configurable map generator (Configure resource/shape size/density, seed and more)
[*] Additional types of shapes
[*] Performance improvements (The game already runs pretty well!)
[*] And much more!
[*] Mapas diferentes e desafios (por exemplo mapas com obstáculos)
[*] Puzzles (Entregue a forma pedida com uma área restringida ou um certo conjunto de construções)
[*] Um modo história onde as construções têm um custo
[*] Um geredor de mapa customizável (Configure recursos, forma, tamanho, densidade, semente e mais)
[*] Mais tipos de formas
[*] Melhorias de desempenho (O jogo já roda bem!)
[*] E muito mais!
[/list]
[b]This game is open source![/b]
[b]Esse jogo tem código aberto![/b]
Anybody can contribute, I'm actively involved in the community and attempt to review all suggestions and take feedback into consideration where possible.
Be sure to check out my trello board for the full roadmap!
Qualquer um pode contribuir, eu estou ativamente envolvido com a comunidade e tento ler todas as sugestões e levar o feedback em consideração quando possível.
Para uma lista completa dos planos para o futuro, não se esqueça de dar uma olhada no meu quadro do Trello!
[b]Links[/b]
[list]
[*] [url=https://discord.com/invite/HN7EVzV]Official Discord[/url]
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roadmap[/url]
[*] [url=https://discord.com/invite/HN7EVzV]Discord oficial[/url]
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Planos para o futuro[/url]
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
[*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url]
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url]
[*] [url=https://github.com/tobspr/shapez.io]Código fonte(GitHub)[/url]
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Ajude a traduzir[/url]
[/list]
discordLink: Official Discord - Chat with me!
discordLink: Discord Oficial - Converse comigo!
global:
loading: Carregando
@ -150,7 +150,6 @@ mainMenu:
savegameLevel: Nível <x>
savegameLevelUnknown: Nível desconhecido
helpTranslate: Ajude a traduzir!
continue: Continuar
newGame: Novo jogo
@ -166,7 +165,7 @@ dialogs:
restart: Reiniciar
reset: Reset
getStandalone: Obter versão completa
deleteGame: Sei o que faço
deleteGame: Sei o que estou fazendo
viewUpdate: Atualizações
showUpgrades: Ver melhorias
showKeybindings: Controles
@ -247,20 +246,21 @@ dialogs:
desc: >-
Este jogo possui muitas combinações de teclas que facilitam a construção de grandes fábricas
Aqui estão algumas, certifique-se de <strong> verificar as combinações de teclas </strong>!<br><br>
<code class='keybinding'>CTRL</code> + Arrastar: Seleciona área para copiar / delete.<br>
<code class='keybinding'>SHIFT</code>: Mantenha pressionado para colocar vária construções.<br>
<code class='keybinding'>CTRL</code> + Arrastar: Seleciona área para copiar/deletar.<br>
<code class='keybinding'>SHIFT</code>: Mantenha pressionado para colocar várias construções.<br>
<code class='keybinding'>ALT</code>: Inverte as posições.<br>
createMarker:
title: Nova Marcação
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
titleEdit: Edit Marker
desc: Dê um nome com significado, também pode adicionar <strong>um pequeno código</strong> de uma forma. (Pode ser gerado <a href="https://viewer.shapez.io" target="_blank">aqui</a>)
titleEdit: Editar Marcador
markerDemoLimit:
desc: >-
Você só pode criar dois marcadores na versão demo. Adquira a versão completa para marcadores ilimitados!
massCutConfirm:
title: Confirm cut
title: Confirmar corte
desc: >-
Você está cortando vários objetos (<count> para ser exato)! Você quer continuar?
@ -270,7 +270,7 @@ dialogs:
Você está prestes a exportar uma captura de tela da sua base. Note que isso pode ser bastante lento para uma base grande, e até mesmo pode travar o jogo!
massCutInsufficientConfirm:
title: Confirm cut
title: Confirmar Corte
desc: You can not afford to paste this area! Are you sure you want to cut it?
ingame:
@ -290,13 +290,14 @@ ingame:
delete: Destruir
selectBuildings: Selecionar área
pasteLastBlueprint: Colar último projeto
lockBeltDirection: Enable belt planner
lockBeltDirection: Ativar Planejador de Esteiras
plannerSwitchSide: Flip planner side
cutSelection: Cut
copySelection: Copy
clearSelection: Clear Selection
pipette: Pipette
switchLayers: Switch layers
cutSelection: Cortar
copySelection: Copiar
clearSelection: Limpar Seleção
pipette: Conta-Gotas
switchLayers: Trocar Camadas
# Everything related to placing buildings (I.e. as soon as you selected a building
# from the toolbar)
@ -350,13 +351,13 @@ ingame:
dataSources:
stored:
title: Estoque
description: Exibindo a quantidade de formas armazenadas em seu edifício central.
description: Exibindo a quantidade de formas armazenadas em sua construção central.
produced:
title: Produção
description: Exibindo todas as formas que toda a sua fábrica produz, incluindo produtos intermediários..
delivered:
title: Entregue
description: Exibindo formas entregues ao seu edifício central..
description: Exibindo formas entregues na sua construção central.
noShapesProduced: Nenhuma forma foi produzida até o momento.
# Displays the shapes per minute, e.g. '523 / m'
@ -403,19 +404,19 @@ ingame:
Este <strong> NÃO </strong> é um jogo inativo! Construa mais extratores e esteiras para concluir o objetivo mais rapidamente.<br><br>Dica, segure <strong> SHIFT </strong> para colocar vários extratores e use <strong> R </strong> para girá-los.
colors:
red: Red
green: Green
blue: Blue
yellow: Yellow
purple: Purple
cyan: Cyan
white: White
uncolored: No color
black: Black
red: Vermelho
green: Verde
blue: Azul
yellow: Amarelo
purple: Roxo
cyan: Ciano
white: Branco
black: Preto
uncolored: Sem cor
shapeViewer:
title: Layers
empty: Empty
copyKey: Copy Key
title: Camadas
empty: Vazio
copyKey: Copiar Chave
# All shop upgrades
shopUpgrades:
@ -428,11 +429,11 @@ shopUpgrades:
description: Velocidade x<currentMult> → x<newMult>
processors:
name: Corte, Rotação e Empilhamento
name: Corte, Rotação & Montagem
description: Velocidade x<currentMult> → x<newMult>
painting:
name: Mistura de cores e pintura
name: Mistura & Pintura
description: Velocidade x<currentMult> → x<newMult>
# Buildings and their name / description
@ -448,30 +449,30 @@ buildings:
description: Coloque sobre uma forma ou cor para extraí-la.
chainable:
name: Extrator em Cadeia
name: Extrator (em Cadeia)
description: Coloque sobre uma forma ou cor para extraí-la. Pode ser ligado a outros extratores.
underground_belt: # Internal name for the Tunnel
default:
name: &underground_belt Túnel
description: Permite transportar recursos sob construções.
description: Permite transportar recursos por baixo de construções e esteiras.
tier2:
name: Túnel Classe II
description: Permite transportar recursos sob construções.
description: Permite transportar recursos por baixo de construções e esteiras.
splitter: # Internal name for the Balancer
default:
name: &splitter Balanceador
name: &splitter Distribuidor
description: Multifuncional - Distribui uniformemente todas as entradas em todas as saídas.
compact:
name: Balanceador (compacto)
description: Mescla duas esteiras transportadoras em uma.
name: Misturador (compacto)
description: Une duas esteiras transportadoras em uma.
compact-inverse:
name: Balanceador (compacto)
description: Mescla duas esteiras transportadoras em uma.
name: Misturador (compacto)
description: Une duas esteiras transportadoras em uma.
cutter:
default:
@ -488,11 +489,14 @@ buildings:
ccw:
name: Rotacionador (Anti-horário)
description: Gira as formas no sentido anti-horário em 90 graus.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
name: &stacker Empilhador
description: Empilha os dois itens. Se eles não puderem ser mesclados, o item direito será colocado acima do item esquerdo.
description: Empilha os dois itens. Se eles não puderem ser unidos, o item direito será colocado acima do item esquerdo.
mixer:
default:
@ -527,31 +531,32 @@ buildings:
levelShortcut: LVL
wire:
default:
name: Energy Wire
description: Allows you to transport energy.
name: &wire Fio de Energia
description: Permite transportar energia.
advanced_processor:
default:
name: Color Inverter
description: Accepts a color or shape and inverts it.
name: &advanced_processor Inversor de Cor
description: Aceita uma cor ou forma e a inverte.
energy_generator:
deliver: Deliver
toGenerateEnergy: For
deliver: Entregar
toGenerateEnergy: Para
default:
name: Energy Generator
description: Generates energy by consuming shapes.
name: &energy_generator Gerador de Energia
description: Consome formas para gerar energia.
wire_crossings:
default:
name: Wire Splitter
description: Splits a energy wire into two.
name: &wire_crossings Divisor de Fios
description: Divide um fio de energia em dois.
merger:
name: Wire Merger
description: Merges two energy wires into one.
name: Misturador de Fios
description: Une dois fios de energia em um.
storyRewards:
# Those are the rewards gained from completing the store
reward_cutter_and_trash:
title: Cortando formas
desc: Voce desbloqueou <strong>cortador</strong> - corte de formas pela metade <strong>verticalmente</strong> independentemente de sua orientação!<br><br> Certifique-se de se livrar do lixo, ou então <strong> ele irá parar a produção </strong> - Para esse propósito, eu lhe dei um lixo, que destrói tudo o que você coloca nele.
desc: Voce desbloqueou <strong>cortador</strong> - corte de formas pela metade <strong>verticalmente</strong> independentemente de sua orientação!<br><br> Certifique-se de se livrar do lixo, ou então <strong> ele irá parar a produção </strong> - Para esse propósito, eu lhe dei uma lixeira, que destrói tudo o que você coloca nela!
reward_rotater:
title: Rotação
@ -560,7 +565,7 @@ storyRewards:
reward_painter:
title: Pintura
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, there is a <strong>color blind mode</strong> in the settings!
O <strong>Pintor</strong> foi desbloqueado - Extrai alguns pigmentos coloridos (assim como você fez com as formas) e combina-os com uma forma no pintor para os colorir!<br><br>PS: Se for daltônico, existe um <strong>modo daltônico</strong> nas definições!
reward_mixer:
title: Misturando cores
@ -571,8 +576,8 @@ storyRewards:
desc: Agora você pode combinar formas com o <strong>empilhador</strong>! Ambas as entradas são combinadas e, se puderem ser colocadas próximas uma da outra, serão <strong> fundidas </strong>. Caso contrário, a entrada direita é <strong>empilhada em cima</strong> da entrada esquerda!
reward_splitter:
title: Balanceador
desc: O <strong>balanceador</strong> multifuncional foi desbloqueado - pode ser usado para construir fábricas maiores <strong>dividindo e unindo itens</strong> em múltiplas esteiras!<br><br>
title: Distribuidor
desc: O <strong>Distribuidor</strong> multifuncional foi desbloqueado - pode ser usado para construir fábricas maiores <strong>dividindo e unindo itens</strong> em múltiplas esteiras!<br><br>
reward_tunnel:
title: Túnel
@ -591,8 +596,8 @@ storyRewards:
desc: Você desbloqueou uma nova variante do <strong>túnel</strong> - ele tem um <strong>maior alcance</strong>, e também pode atravessar outros túneis na mesma linha!
reward_splitter_compact:
title: Balanceador compacto
desc: Você desbloqueou uma variante compacta do <strong>balanceador</strong> - ele aceita duas entradas e as mescla em uma!
title: Distribuidor compacto
desc: Você desbloqueou uma variante compacta do <strong>Distribuidor</strong> - ele aceita duas entradas e as une em uma!
reward_cutter_quad:
title: Cortador quádruplo
@ -616,7 +621,7 @@ storyRewards:
reward_blueprints:
title: Projetos
desc: Agora você pode <strong>copiar e colar</strong> partes de sua fábrica! Selecione uma área (mantenha pressionada a tecla CTRL e arraste com o mouse) e pressione 'C' para copiá-la. <br><br>Colar <strong>não é de graça</strong>, é necessário produzir <strong>formas de projeto</strong> para pagar! (Aquelas que você acabou de entregar).
desc: Agora você pode <strong>copiar e colar</strong> partes de sua fábrica! Selecione uma área (mantenha pressionada a tecla CTRL e arraste com o mouse) e pressione 'C' para copiá-la. <br><br>Colar <strong>não é de graça</strong>, é necessário produzir <strong>formas do projeto</strong> para pagar! (Aquelas que você acabou de entregar).
# Special reward, which is shown when there is no reward actually
no_reward:
@ -627,13 +632,14 @@ storyRewards:
no_reward_freeplay:
title: Próximo nível
desc: >-
Parabéns! Não se esqueça, existe muita coisa planejada para a versão completa.
Parabéns! Aliás, mais conteúdo vindo na versão completa!
settings:
title: opções
categories:
game: Jogo
app: Aplicação
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Desenvolvedor
@ -675,9 +681,9 @@ settings:
Se ligado o jogo fica mudo
musicMuted:
title: Musica
title: Música
description: >-
Se ligado, a musica fica muda.
Se ligado, a música fica muda.
theme:
title: Tema
@ -696,12 +702,12 @@ settings:
alwaysMultiplace:
title: Multiplicidade
description: >-
Se ativado, todos os edifícios permanecerão selecionados após o posicionamento até que você o cancele. Isso é equivalente a manter SHIFT permanentemente.
Se ativado, todas as construções permanecerão selecionadas após o posicionamento até que você a cancele. Isso é equivalente a pressionar SHIFT permanentemente.
offerHints:
title: Dicas e tutoriais
description: >-
Se serão oferecidas dicas e tutoriais enquanto estiver jogando.
Se ativado, oferece dicas e tutoriais enquanto se joga. Além disso, esconde certos elementos da interface até certo ponto, para facilitar o começo do jogo.
language:
title: Idioma
@ -742,9 +748,9 @@ settings:
twenty_minutes: 20 Minutos
disabled: Desativado
compactBuildingInfo:
title: Informações compactas sobre edifícios
title: Informações compactas sobre construções
description: >-
Reduz as caixas de informações dos edifícios, mostrando apenas suas proporções.
Reduz as caixas de informações dos construções, mostrando apenas suas proporções.
Caso contrário, uma descrição e imagem são mostradas.
disableCutDeleteWarnings:
title: Desativar avisos de recorte / exclusão
@ -794,18 +800,25 @@ keybindings:
menuOpenStats: Estatísticas
toggleHud: Ocultar Interface
toggleFPSInfo: Mostar FPS
toggleFPSInfo: Mostrar FPS e Debug Info
switchLayers: Alternar Camadas
exportScreenshot: Exportar Base inteira como Imagem
belt: *belt
splitter: *splitter
underground_belt: *underground_belt
miner: *miner
cutter: *cutter
advanced_processor: *advanced_processor
rotater: *rotater
stacker: *stacker
mixer: *mixer
energy_generator: *energy_generator
painter: *painter
trash: *trash
wire: *wire
pipette: Conta-Gotas
rotateWhilePlacing: Rotacionar
rotateInverseModifier: >-
Modifier: Rotação anti-horária
@ -822,16 +835,10 @@ keybindings:
placeInverse: Inverter orientação de esteira
pasteLastBlueprint: Colar último projeto
massSelectCut: Cortar área
exportScreenshot: Exportar base inteira como imagem
mapMoveFaster: Mover mais rápido
lockBeltDirection: Ativar planejador de correia
switchDirectionLockSide: "Planejador: Mudar de lado"
pipette: Pipeta
menuClose: Close Menu
switchLayers: Switch layers
advanced_processor: Color Inverter
energy_generator: Energy Generator
wire: Energy Wire
menuClose: Fechar Menu
about:
title: Sobre o jogo
@ -842,9 +849,9 @@ about:
Se quiser contribuir, confira <a href="<githublink>"
target="_blank">shapez.io no github</a>.<br><br>
O jogo não seria possível sem a comunidade incrível do discord sobre
O jogo não seria possível sem a comunidade incrível do Discord sobre
os meus jogos - Junte-se à comunidade no <a href="<discordlink>"
target="_blank">servidor do discord</a>!<br><br>
target="_blank">servidor do Discord</a>!<br><br>
A trilha sonora foi feita por <a href="https://soundcloud.com/pettersumelius"
target="_blank">Peppsen</a> - Ele é demais.<br><br>
@ -860,8 +867,8 @@ demo:
features:
restoringGames: Restaurar jogos salvos
importingGames: Carregar jogos salvos
oneGameLimit: Limitado para um jogo salvo
oneGameLimit: Limitado a um jogo salvo
customizeKeybindings: Modificar Teclas
exportingBase: Exportar base inteira como imagem
exportingBase: Exportar Base inteira como Imagem
settingNotAvailable: Não disponível na versão demo.

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -30,59 +30,59 @@ 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 processing of increasingly complex shapes across an infinitely expanding map.
Upon delivering the requested shapes you will progress within the game and unlock upgrades to speed up your factory.
shapez.io é um jogo cujo objetivo é construir fábricas para automatizar a criação e fusão de formas geométricas num mapa infinito.
Ao entregar as formas pedidas, progredirás no jogo e desbloquearás melhorias para acelerar a produção da tua fábrica.
As the demand for shapes increases, you will have to scale up your factory to meet the demand - Don't forget about resources though, you will have to expand across the [b]infinite map[/b]!
Uma vez que a procura aumenta a cada nível, terás de aumentar a tua fábrica para fazer face às necessidades - Para isso, terás de explorar o [b]mapa infinito[/b] para encontrar todos os recursos!
Soon you will have to mix colors and paint your shapes with them - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
Rapidamente precisarás de misturar cores e pintar as formas com elas - Combina os recursos de cores vermelha, verde e azul para produzir ainda mais cores e usá-las para pintar as formas geométricas com o intuito de satisfazer a procura.
This game features 18 progressive levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
Este jogo conta com 18 níveis (Que deverão manter-te ocupado durante horas!) mas estou constantemente a adicionar novos conteúdos - Há muitas coisas planeadas!
Purchasing the game gives you access to the standalone version which has additional features and you'll also receive access to newly developed features.
Ao comprar o jogo, terás acesso à versão completa, que contém funcionalidades adicionais, e também a conteúdos desenvolvidos recentemente.
[b]Standalone Advantages[/b]
[b]Vantagens do jogo completo[/b]
[list]
[*] Dark Mode
[*] Unlimited Waypoints
[*] Unlimited Savegames
[*] Additional settings
[*] Coming soon: Wires & Energy! Aiming for (roughly) end of July 2020.
[*] Coming soon: More Levels
[*] Allows me to further develop shapez.io ❤️
[*] Modo escuro
[*] Marcos ilimitados
[*] Savegames infinitos
[*] Mais definições
[*] Brevemente: Fios & Energia! Previsto para o final de Julho 2020 (aproximadamente).
[*] Brevemente: Mais níveis
[*] Possibilita-me desenvolver ainda mais o shapez.io ❤️
[/list]
[b]Future Updates[/b]
[b]Atualizações futuras[/b]
I am updating the game very often and trying to push an update at least every week!
Atualizo o jogo frequentemente e tento lançar uma atualização pelo menos todas as semanas!
[list]
[*] Different maps and challenges (e.g. maps with obstacles)
[*] Puzzles (Deliver the requested shape with a restricted area / set of buildings)
[*] A story mode where buildings have a cost
[*] Configurable map generator (Configure resource/shape size/density, seed and more)
[*] Additional types of shapes
[*] Performance improvements (The game already runs pretty well!)
[*] And much more!
[*] Mapas diferentes e desafios (por exemplo mapas com obstáculos)
[*] Puzzles (Entrega a forma pedida numa área restrita e/ou com um número limitado de construções)
[*] Modo história onde as construções têm um custo
[*] Criação de mapas configuráveis (Editar o número e tamanho das minas, semente, e mais)
[*] Mais tipos de formas geométricas
[*] Mais melhorias de performance (Apesar do jogo já correr bastante bem!)
[*] E muito mais!
[/list]
[b]This game is open source![/b]
[b]Este jogo é open source (código aberto)![/b]
Anybody can contribute, I'm actively involved in the community and attempt to review all suggestions and take feedback into consideration where possible.
Be sure to check out my trello board for the full roadmap!
Qualquer pessoa pode contribuir! Adicionalmente, Eu ouço [b]muito[/b] a comunidade! Eu tento ler todas as sugestões e retirar delas tanto feedback quanto possível.
Segue o meu trello board para veres todo o roteiro de desenvolvimento!
[b]Links[/b]
[b]Ligações[/b]
[list]
[*] [url=https://discord.com/invite/HN7EVzV]Official Discord[/url]
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roadmap[/url]
[*] [url=https://discord.com/invite/HN7EVzV]Discord oficial[/url]
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roteiro de desenvolvimento[/url]
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
[*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url]
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url]
[*] [url=https://github.com/tobspr/shapez.io]Código fonte (GitHub)[/url]
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Ajuda a traduzir[/url]
[/list]
discordLink: Official Discord - Chat with me!
discordLink: Discord oficial - Conversa comigo!
global:
loading: A carregar
@ -151,7 +151,6 @@ mainMenu:
savegameLevel: Nível <x>
savegameLevelUnknown: Nível desconhecido
continue: Continuar
newGame: Novo Jogo
madeBy: Criado por <author-link>
@ -252,9 +251,9 @@ dialogs:
<code class='keybinding'>ALT</code>: Inverte as posições.<br>
createMarker:
title: Novo marco
title: Novo Marco
desc: Dá-lhe um nome com significado, também poderás adicionar <strong>um pequeno código</strong> de uma forma. (Pode ser gerado <a href="https://viewer.shapez.io" target="_blank">aqui</a>)
titleEdit: Edit Marker
titleEdit: Editar Marco
markerDemoLimit:
desc: Apenas podes criar dois marcos na versão Demo. Adquire o jogo completo para colocar marcos infinitos!
@ -270,8 +269,8 @@ dialogs:
ser um pouco lento para uma base muito grande até mesmo bloquear o teu jogo!
massCutInsufficientConfirm:
title: Confirm cut
desc: You can not afford to paste this area! Are you sure you want to cut it?
title: Confirma o corte
desc: Não consegues pagar para colar esta área! Tens a certeza que pretendes cortá-la?
ingame:
# This is shown in the top left corner and displays useful keybindings in
@ -295,7 +294,7 @@ ingame:
copySelection: Copiar
clearSelection: Cancelar
pipette: Pipeta
switchLayers: Switch layers
switchLayers: Troca de camadas
# Everything related to placing buildings (I.e. as soon as you selected a building
# from the toolbar)
@ -411,11 +410,11 @@ ingame:
cyan: Ciano
white: Branco
uncolored: Sem cor
black: Black
black: Preto
shapeViewer:
title: Camadas
empty: Vazio
copyKey: Copy Key
copyKey: Chave de cópia
# All shop upgrades
shopUpgrades:
@ -485,6 +484,9 @@ buildings:
ccw:
name: Rodar (CCW)
description: Roda as formas 90º no sentido contrário ao dos ponteiros do relógio.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -524,25 +526,25 @@ buildings:
levelShortcut: NVL
wire:
default:
name: Energy Wire
description: Allows you to transport energy.
name: Fio Elétrico
description: Permite o transporte de energia.
advanced_processor:
default:
name: Color Inverter
description: Accepts a color or shape and inverts it.
name: Inversor de Cor
description: Aceita uma cor ou forma e inverte-a.
energy_generator:
deliver: Deliver
toGenerateEnergy: For
deliver: Entrega
toGenerateEnergy: Para
default:
name: Energy Generator
description: Generates energy by consuming shapes.
name: Gerador
description: Gera energia consumindo formas.
wire_crossings:
default:
name: Wire Splitter
description: Splits a energy wire into two.
name: Repartidor
description: Divide um fio elétrico em dois.
merger:
name: Wire Merger
description: Merges two energy wires into one.
name: Conector de junção
description: Junta dois fios elétricos num só.
storyRewards:
# Those are the rewards gained from completing the store
@ -630,8 +632,9 @@ storyRewards:
settings:
title: Definições
categories:
game: Jogo
app: Aplicação
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Desenvolvimento
@ -826,11 +829,11 @@ keybindings:
lockBeltDirection: Ativa o planeamento de tapetes
switchDirectionLockSide: "Planeador: Troca o lado"
pipette: Pipeta
menuClose: Close Menu
switchLayers: Switch layers
advanced_processor: Color Inverter
energy_generator: Energy Generator
wire: Energy Wire
menuClose: Fechar Menu
switchLayers: Troca de camadas
advanced_processor: Inversor de Cor
energy_generator: Gerador
wire: Fio Elétrico
about:
title: Sobre o jogo
body: >-
@ -840,9 +843,9 @@ about:
Se quiseres contribuir, dá uma olhadela em <a href="<githublink>"
target="_blank">shapez.io no github</a>.<br><br>
Este Jogo não seria possível sem a excelente comunidade do discord
Este Jogo não seria possível sem a excelente comunidade do Discord
em torno dos meus jogos - Devias mesmo juntar-te ao <a href="<discordlink>"
target="_blank">servidor no discord</a>!<br><br>
target="_blank">servidor no Discord</a>!<br><br>
A banda sonora foi feita por <a href="https://soundcloud.com/pettersumelius"
target="_blank">Peppsen</a> - Ele é Fantástico.<br><br>

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -151,7 +151,6 @@ mainMenu:
savegameLevel: Nivelul <x>
savegameLevelUnknown: Nivel necunoscut
continue: Continuă
newGame: Joc nou
madeBy: Făcut de <author-link>
@ -484,6 +483,9 @@ buildings:
ccw:
name: Rotate (CCW)
description: Rotește formele în inversul sensului acelor de ceasornic la 90 de grade.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -629,8 +631,9 @@ storyRewards:
settings:
title: Setări
categories:
game: Joc
app: Aplicație
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Dezvoltare
@ -834,9 +837,9 @@ about:
Dacă vrei să contribui, verifică <a href="<githublink>"
target="_blank">shapez.io pe github</a>.<br><br>
Acest joc nu ar fi fost posibil fără minunata comunitate de pe discord
Acest joc nu ar fi fost posibil fără minunata comunitate de pe Discord
pe lângă jocurile mele - Chiar ar trebui să te alături <a href="<discordlink>"
target="_blank">server-ului de discord</a>!<br><br>
target="_blank">server-ului de Discord</a>!<br><br>
Coloana sonoră a fost făcută de <a href="https://soundcloud.com/pettersumelius"
target="_blank">Peppsen</a> - Este uimitor.<br><br>

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -30,66 +30,66 @@ 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 processing of increasingly complex shapes across an infinitely expanding map.
Upon delivering the requested shapes you will progress within the game and unlock upgrades to speed up your factory.
shapez.io — это игра о строительстве фабрик для автоматизации создания и объединения все более сложных фигур на бесконечной карте.
Развивайтесь в игре и открывайте улучшения для ускорения фабрики, после доставки запрошенных ресурсов.
As the demand for shapes increases, you will have to scale up your factory to meet the demand - Don't forget about resources though, you will have to expand across the [b]infinite map[/b]!
По мере увеличения спроса на фигуры вам придется увеличивать свою фабрику, чтобы удовлетворить спрос. Однако, не забывайте о ресурсах, несмотря на то что вы будете расширятся на [b]бесконечной карте[/b]!
Soon you will have to mix colors and paint your shapes with them - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
Вскоре вам придется смешивать цвета и красить ими фигуры. Комбинируйте красный, зеленый и синий красители для получения разных цветов и красьте ими фигуры, чтобы удовлетворить спрос.
This game features 18 progressive levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
Эта игра имеет 18 уровней развития (но и они займут вас на часы!), но я постоянно добавляю новый контент - там многое запланировано!
Purchasing the game gives you access to the standalone version which has additional features and you'll also receive access to newly developed features.
Покупка игры даст доступ к полной версии, которая имеет дополнительные функции, а также вы получите доступ к недавно разработанным функциям.
[b]Standalone Advantages[/b]
[b]Преимущества полной версии[/b]
[list]
[*] Dark Mode
[*] Unlimited Waypoints
[*] Unlimited Savegames
[*] Additional settings
[*] Coming soon: Wires & Energy! Aiming for (roughly) end of July 2020.
[*] Coming soon: More Levels
[*] Allows me to further develop shapez.io ❤️
[*] Темный Режим
[*] Неограниченные Метки
[*] Неограниченные Сохранения
[*] Дополнительные настройки
[*] Скоро: Провода & Энергия! Запланировано (примерно) на конец июля 2020 года.
[*] Скоро: Больше уровней
[*] Позволит мне дальше разрабатывать shapez.io ❤️
[/list]
[b]Future Updates[/b]
[b]Будущие обновления[/b]
I am updating the game very often and trying to push an update at least every week!
Я очень часто обновляю игру и пытаюсь обновлять ее как минимум каждую неделю!
[list]
[*] Different maps and challenges (e.g. maps with obstacles)
[*] Puzzles (Deliver the requested shape with a restricted area / set of buildings)
[*] A story mode where buildings have a cost
[*] Configurable map generator (Configure resource/shape size/density, seed and more)
[*] Additional types of shapes
[*] Performance improvements (The game already runs pretty well!)
[*] And much more!
[*] Различные карты и испытания (например, карты с препятствиями)
[*] Пазлы (Доставить запрошенную фигуру с ограничением пространства / набора зданий)
[*] Режим истории, где здания стоят фигур
[*] Настраиваемый генератор карт (настройка ресурса / размера фигуры / плотности, семя и т.д.)
[*] Дополнительные типы фигур
[*] Улучшения производительности (игра уже работает довольно хорошо!)
[*] И многое другое!
[/list]
[b]This game is open source![/b]
[b]Это игра с открытым исходным кодом![/b]
Anybody can contribute, I'm actively involved in the community and attempt to review all suggestions and take feedback into consideration where possible.
Be sure to check out my trello board for the full roadmap!
Любой может внести свой вклад, я активно участвую в жизни сообщества и пытаюсь рассмотреть все предложения и по возможности принять во внимание отзывы.
Не забудьте проверить мою доску trello со всеми планами!
[b]Links[/b]
[b]Ссылки[/b]
[list]
[*] [url=https://discord.com/invite/HN7EVzV]Official Discord[/url]
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roadmap[/url]
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
[*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url]
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url]
[*] [url=https://discord.com/invite/HN7EVzV]Официальный Discord[/url]
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Планы[/url]
[*] [url=https://www.reddit.com/r/shapezio]Сабреддит[/url]
[*] [url=https://github.com/tobspr/shapez.io]Исходный код (GitHub)[/url]
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Помочь с переводом[/url]
[/list]
discordLink: Official Discord - Chat with me!
discordLink: Официальный Discord - Общайся со мной!
global:
loading: Загрузка
error: Ошибка
# How big numbers are rendered, e.g. "10,000"
thousandsDivider: ","
thousandsDivider: " "
# What symbol to use to seperate the integer part from the fractional part of a number, e.g. "0.4"
decimalSeparator: "."
@ -142,7 +142,7 @@ mainMenu:
changelog: Список изменений
importSavegame: Импорт
openSourceHint: Это игра с открытым исходным кодом!
discordLink: Оффициальный Дискорд Сервер
discordLink: Офици- альный Дискорд
helpTranslate: Помоги с переводом!
# This is shown when using firefox and other browsers which are not supported.
@ -152,7 +152,6 @@ mainMenu:
savegameLevel: Уровень <x>
savegameLevelUnknown: Неизвестный уровень
continue: Продолжить
newGame: Новая Игра
madeBy: Создал <author-link>
@ -255,7 +254,7 @@ dialogs:
createMarker:
title: Новый маркер
desc: Дайте ему содержательное имя, также можно добавить <strong>сокращение</strong> в виде фигуры (Которое можно сгенерировать <a href="https://viewer.shapez.io" target="_blank">здесь</a>)
titleEdit: Edit Marker
titleEdit: Редактирование маркера
markerDemoLimit:
desc: Вы можете создать только 2 своих маркера в демо-версии. Приобретите полную версию для безлимитных маркеров.
@ -273,8 +272,8 @@ dialogs:
и даже привести к аварийному завершению игры!
massCutInsufficientConfirm:
title: Confirm cut
desc: You can not afford to paste this area! Are you sure you want to cut it?
title: Подтвердите вырезку
desc: Вы не можете позволить себе вставить эту область! Вы уверены, что хотите вырезать ее?
ingame:
# This is shown in the top left corner and displays useful keybindings in
@ -298,7 +297,7 @@ ingame:
copySelection: Копировать
clearSelection: Отменить
pipette: Пипетка
switchLayers: Switch layers
switchLayers: Переключить слои
# Everything related to placing buildings (I.e. as soon as you selected a building
# from the toolbar)
@ -391,7 +390,7 @@ ingame:
waypoints:
waypoints: Маркеры
hub: ХАБ
description: ЛКМ по маркеру, чтобы переместится к нему, ПКМ что-бы удалить. <br><br>Нажмите <keybinding> чтобы создать маркер в текущей позиции или <strong>ПКМ</strong> чтобы выбрать другое место для сождания маркера.
description: ЛКМ по маркеру, чтобы переместиться к нему, ПКМ что-бы удалить. <br><br>Нажмите <keybinding> чтобы создать маркер в текущей позиции или <strong>ПКМ</strong> чтобы выбрать другое место для создания маркера.
creationSuccessNotification: Маркер был создан.
# Interactive tutorial
@ -414,11 +413,11 @@ ingame:
cyan: Бирюзовый
white: Белый
uncolored: Бесцветный
black: Black
black: Черный
shapeViewer:
title: Слои
empty: Пусто
copyKey: Copy Key
copyKey: Копировать
# All shop upgrades
shopUpgrades:
@ -488,6 +487,9 @@ buildings:
ccw:
name: Вращатель (Обр.)
description: Поворачивает фигуры против часовой стрелки на 90 градусов.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -527,25 +529,25 @@ buildings:
levelShortcut: Ур.
wire:
default:
name: Energy Wire
description: Allows you to transport energy.
name: Энергетический провод
description: Позволяет транспортировать энергию.
advanced_processor:
default:
name: Color Inverter
description: Accepts a color or shape and inverts it.
name: Инвертор цвета
description: Инвертирует цвета красителей или фигур.
energy_generator:
deliver: Deliver
toGenerateEnergy: For
deliver: Доставить
toGenerateEnergy: Для
default:
name: Energy Generator
description: Generates energy by consuming shapes.
name: Генератор энергии
description: Производит энергию потребляя фигуры.
wire_crossings:
default:
name: Wire Splitter
description: Splits a energy wire into two.
name: Разделитель провода
description: Разделяет энергетический провод на два.
merger:
name: Wire Merger
description: Merges two energy wires into one.
name: Соединитель проводов
description: Соединяет два энергетических провода в один.
storyRewards:
# Those are the rewards gained from completing the store
@ -605,7 +607,7 @@ storyRewards:
reward_painter_quad:
title: Покрасчик (4 Входа)
desc: Разблокирован вариант <strong>покрасчика</strong> - он позволяет отдельно раскрашивать каждую часть фигуры!
desc: Разблокирован вариант <strong>покрасчика</strong> - он позволяет отдельно раскрашивать каждую четверть фигуры!
reward_storage:
title: Буферное Хранилище
@ -633,8 +635,9 @@ storyRewards:
settings:
title: Настройки
categories:
game: Игровые
app: Основные
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Разработчик
@ -828,11 +831,11 @@ keybindings:
lockBeltDirection: Включает конвейерный планировщик
switchDirectionLockSide: "Планировщик: Переключение сторон"
pipette: Пипетка
menuClose: Close Menu
switchLayers: Switch layers
advanced_processor: Color Inverter
energy_generator: Energy Generator
wire: Energy Wire
menuClose: Закрыть меню
switchLayers: Переключить слои
advanced_processor: Инвертор цвета
energy_generator: Генератор энергии
wire: Энергетический провод
about:
title: Об игре

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -23,7 +23,7 @@ steamPage:
# This is the short text appearing on the steam page
shortText: shapez.io je igra grajenja tovarne katere cilj je avtomatiziranje kreiranja in procesiranja vse bolj zapletenih oblik na neskončni ravnini.
# This is the text shown above the discord link
# This is the text shown above the Discord link
discordLink: Uradni Discord - Pridruži se klepetu!
# 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.
@ -40,7 +40,7 @@ steamPage:
Kmalu boste morali mešati barve in z njimi barvati svoje oblike - Združite rdeče, zelene in modre barvne vire, da ustvarite različne barve in z njimi barvate oblike, da zadostite povpraševanju.
V tej igri je 18 progresivnih stopenj (ki vas bodo zaposlile za več ur!), Vendar nenehno dodajam novo vsebino - načrtovanih novosti je veliko!
V tej igri je 18 progresivnih stopenj (ki vas bodo zaposlile za več ur!), Vendar nenehno dodajam novo vsebino - načrtovanih novosti je veliko!
Nakup igre vam omogoča dostop do samostojne različice, ki ima dodatne funkcije, prav tako pa boste imeli dostop do novo razvitih funkcij.
[img]{STEAM_APP_IMAGE}/extras/header_standalone_advantages.png[/img]
@ -501,6 +501,9 @@ buildings:
ccw:
name: Rotate (CCW)
description: Rotates shapes counter-clockwise by 90 degrees.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -640,8 +643,9 @@ storyRewards:
settings:
title: Settings
categories:
game: Game
app: Application
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Development
@ -850,7 +854,7 @@ about:
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>
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>

896
translations/base-sr.yaml Normal file
View File

@ -0,0 +1,896 @@
#
# 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.
#
#
#
# Hvala https://github.com/ivanbratovic na idejama za prevod. Alal ti vera na prevodu :)
#
# + HUB = Središte
# + Area = Oblast
# + Shape = Oblik
# + Upgrade = Nadogradnja
# + Waypoint/Marker = Putokaz
# + Blueprint = Nacrt
# + Extractor = Rudar
# + Extractor (chain) = Rudar (lančani)
# + Conveyor Belt = Pokretna Traka
# + Belt = Traka
# + Tunnel = Tunel
# + Merger = Spajač
# + Rotator = Obrtač
steamPage:
# This is the short text appearing on the steam page
shortText: shapez.io je igra o pravljenju fabrika za automatizaciju stvaranja i spajanja sve složenijih oblika na beskonačno velikoj mapi.
# This is the text shown above the Discord link
discordLink: Oficijalni Discord server
# TODO
# 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 igra o pravljenju fabrika za automatizaciju stvaranja i spajanja sve složenijih oblika na beskonačno velikoj mapi.
Nakon dostavljanja zahtevanog oblika napredovaćete u igri i oključaćete nadogradnje za bržu fabriku.
Kako potražnja za oblicima raste, da bi zadovoljili potražnju, moraćete da uvećate fabriku - Ne zaboravite na resurse, proširićete se na [b]beskonačnoj mapi[/b]!
Vrlo brzo moraćete da mešate boje i farbate oblike - Pomešajte crvenu, zelenu i plavu rudu boje da biste dobili različite boje i ofarbajte oblik kako bi ispunili zahteve potražnje.
Igra sadrži 18 progresivnih nivoa (Koji će vas zaokupirati satima!) i stalno dodajem nove stvari - Mnogo toga je planirano!
Kupovinom igre dobijate pristup samostalnoj verziji koja poseduje dodatne funkcije, a dobićete i pristup novorazvijenim funkcijama.
[b]Prednosti samostalne igre[/b]
[list]
[*] Tamna tema
[*] Neobraničen broj putokaza
[*] Neograničen broj sačuvanih igara
[*] Dodatna podešavanja
[*] Uskoro: Žice i Energija! Predviđeno (otprilike) za kraj Jula 2020.
[*] Uskoro: Više nivoa
[*] Omogućavate mi da dalje radim na shapez.io ❤️
[/list]
[b]Buduća ažuriranja[/b]
Trudim se da stalno ažuriram igru i da dostavim ažuriranje makar jednom nedeljno!
[list]
[*] Različite mape i izazovi (npr. mapa sa preprekama)
[*] Slagalice (Dostavite odgovaraćuji oblik, ali uz ograničen broj građevina / oblasti)
[*] Način igre u kojem građevine imaju cenu
[*] Podesiv generator mapa (Prilagođena veličina/gustina oblika/resursa, i još.)
[*] Dodatne vrste oblika
[*] Poboljšanje performansi (Igra je već prilično fluidna!)
[*] I još mnogo toga!
[/list]
[b]Ovo je igra otvorenog koda![/b]
Svako može da doprinese igri, Aktivno interagujem sa zajednicom i, kad god je to moguće, pokušavam i uzmem u obzir sve predloge i povratne informacije.
Obavezno posetite potpuni plan koji se nalazi na trello tabli!
[b]Links[/b]
[list]
[*] [url=https://discord.com/invite/HN7EVzV]Oficijalni Discord server[/url]
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Plan[/url]
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
[*] [url=https://github.com/tobspr/shapez.io]Izvorni kod (GitHub)[/url]
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Pomozite sa prevođenjem[/url]
[/list]
global:
loading: Učitavanje
error: Greška
# How big numbers are rendered, e.g. "10,000"
thousandsDivider: " "
# What symbol to use to seperate the integer part from the fractional part of a number, e.g. "0.4"
decimalSeparator: "."
# The suffix for large numbers, e.g. 1.3k, 400.2M, etc.
suffix:
thousands: hilj.
millions: mil.
billions: mlrd.
trillions: tril.
# Shown for infinitely big numbers
infinite: beskonačno
time:
# Used for formatting past time dates
oneSecondAgo: pre jedne sekunde
xSecondsAgo: pre <x> sekundi
oneMinuteAgo: pre jednog minuta
xMinutesAgo: pre <x> minuta
oneHourAgo: pre jednog sata
xHoursAgo: pre <x> sati
oneDayAgo: pre jednog dana
xDaysAgo: pre <x> dana
# Short formats for times, e.g. '5h 23m'
secondsShort: <seconds>s
minutesAndSecondsShort: <minutes>m <seconds>s
hoursAndMinutesShort: <hours>h <minutes>m
xMinutes: <x> min
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 Verzija
intro: >-
Nabavite punu igru kako biste otključali sve funkcije!
mainMenu:
play: Igraj
continue: Nastavi
newGame: Nova Igra
changelog: Promene
subreddit: Reddit
importSavegame: Uvezi
openSourceHint: Ova igra je otvorenog koda!
discordLink: Oficijalni Diskord server
helpTranslate: Pomozite sa prevođenjem!
madeBy: Napravio <author-link>
# This is shown when using firefox and other browsers which are not supported.
browserWarning: >-
Izvinjavamo se, pošto je poznato da se ova igra koči u pretraživaču! Za puno iskustvo nabavite samostalnu verziju ili koristite chrome.
savegameLevel: Nivo <x>
savegameLevelUnknown: Nepoznat Nivo
dialogs:
buttons:
ok: OK
delete: Izbriši
cancel: Poništi
later: Kasnije
restart: Ponovo pokreni
reset: Resetuj
getStandalone: Nabavite samostalnu igru
deleteGame: Znam šta radim
viewUpdate: Pogledajte ažuriranje
showUpgrades: Prikaži Nadogradnje
showKeybindings: Prikaži podešavanje tastera
importSavegameError:
title: Greška prilikom uvoza
text: >-
Neuspešan uvoz sačuvane igre:
importSavegameSuccess:
title: Uvoz sačuvane igre
text: >-
Uspešno uvezena sačuvana igra.
gameLoadFailure:
title: Igra je pukla
text: >-
Neuspešno učitavanje sačuvane igre:
confirmSavegameDelete:
title: Potrvrdi brisanje
text: >-
Da li ste sigurni da želite da obrišete sačuvanu igru?
savegameDeletionError:
title: Greška prilikom brisanja
text: >-
Neuspešno brisanje sačuvane igre:
restartRequired:
title: Potrebno je ponovno pokretanje
text: >-
Da bi primenili podešavanja, potrebno je da ponovo pokrenute igru.
editKeybinding:
title: Promeni podešavanja tastera
desc: Pritisnite taster ili dugme na mišu koje žeite da dodelite, ili Escape za otkazivanje.
resetKeybindingsConfirmation:
title: Resetuj podešavanja tastera
desc: Ovo će resetovati sve tastere na njihove početne vrednosti. Potrebno je potvrditi.
keybindingsResetOk:
title: Podešavanja tastera su resetovana
desc: Podešavanja tastera su resetovana na njihove početne vrednosti!
featureRestriction:
title: Demo Verzija
desc: Pokušali ste da pristupite funkciji (<feature>) koja nije dostupna u demo verziji. Za puno iskustvo, nabavite samostalnu igru!
oneSavegameLimit:
title: Ograničen broj sačuvanih igara
desc: Možete imati samo jednu sačuvanu igru u demo verziji. Izbrišite postojeću ili nabavite samostalnu igru!
updateSummary:
title: Novo ažuriranje!
desc: >-
OVo su promene od zadnjeg igranja:
upgradesIntroduction:
title: Oktključaj Nadogradnje
desc: >-
Svi oblici koje napravite mogu se iskoristiti za oktljučavanje nadogradnji - <strong>Ne uništavajte stare fabrike!</strong>
Karticu za nadogradnje možete pronaći u gornjem desnom uglu ekrana.
massDeleteConfirm:
title: Potvrdi brisanje
desc: >-
<count> građevina će biti obrisano! Da li ste sigurni da to želite?
massCutConfirm:
title: Potvrdi rezanje
desc: >-
<count> građevina će biti izrezano! Da li ste sigurni da to želite?
massCutInsufficientConfirm:
title: Potvrdi rezanje
desc: >-
Ne možete da priuštite nalepljivanje ove oblasti! Da li ste sigurni da želite da je izrežete?
blueprintsNotUnlocked:
title: Zaključano
desc: >-
Završite nivo 12 kako bi otključali Nacrte!
keybindingsIntroduction:
title: Korisne kombinacije tastera
desc: >-
Ova igra ima dosta kombinacija tastera koji olakšavaju izgradnju velikih fabrika.
Ovo su neki, ali se preporučuje da <strong>pogledate sve kombinacije</strong>!<br><br>
<code class='keybinding'>CTRL</code> + Miš: Biranje oblasti.<br>
<code class='keybinding'>SHIFT</code>: Držato za postavljanje više istih zgrada odjednom.<br>
<code class='keybinding'>ALT</code>: Okrenite smer postavljenh pokretnih traka.<br>
createMarker:
title: Novi Putokaz
titleEdit: Uredi Putokaz
desc: Dajte mu smisleno ime. Možete koristiti i <strong>kod</strong> oblika (Koji možete napraviti <a href="https://viewer.shapez.io" target="_blank">ovde</a>)
markerDemoLimit:
desc: U demo verziji možete imati samo dva putokaza istovremeno. Nabavite samostalnu igru za beskonačno mnogo putokaza!
exportScreenshotWarning:
title: Izvezi sliku ekrana
desc: Hoćete da izvezete sliku cele fabrike kao snimak ekrana. Ovaj proces može biti prilično spor za velike fabrike, može se desiti i pucanje igre!
ingame:
# This is shown in the top left corner and displays useful keybindings in
# every situation
keybindingsOverlay:
moveMap: Kretanje
selectBuildings: Odaberi oblast
stopPlacement: Prekini postavljanje
rotateBuilding: Okreni građevinu
placeMultiple: Postavi više građevina odjednom
reverseOrientation: Obrni orijentaciju
disableAutoOrientation: Onemogući automatsku orijentaciju
toggleHud: Uključi/Isključi Interfejs
placeBuilding: Postavi građevinu
createMarker: Napravi Putokaz
delete: Brisanje
pasteLastBlueprint: Nalepi zadnji nacrt
lockBeltDirection: Omogući planiranje traka
plannerSwitchSide: Okreni stranu planera
cutSelection: Izreži
copySelection: Kopiraj
clearSelection: Očisti odabir
pipette: Pipeta
switchLayers: Promeni sloj
# Names of the colors, used for the color blind mode
colors:
red: Crvena
green: Zelena
blue: Plava
yellow: Žuta
purple: Ljubičasta
cyan: Cijan
white: Bela
black: Crna
uncolored: Bez boje
# 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: Pritisni <key> za različite varijacije građevine.
# Shows the hotkey in the ui, e.g. "Hotkey: Q"
hotkeyLabel: >-
Taster: <key>
infoTexts:
speed: Brzina
range: Domet
storage: Skladište
oneItemPerSecond: 1 premet / sekundi
itemsPerSecond: <x> predmeta / s
itemsPerSecondDouble: (x2)
tiles: <x> polja
# The notification when completing a level
levelCompleteNotification:
# <level> is replaced by the actual level, so this gets 'Level 03' for example.
levelTitle: Nivo <level>
completed: Završen
unlockText: Otključali ste <reward>!
buttonNextLevel: Sledeći nivo
# Notifications on the lower right
notifications:
newUpgrade: Nova nadogradnja je dostupna!
gameSaved: Igra je sačuvana.
# The "Upgrades" window
shop:
title: Nadogradnje
buttonUnlock: Nadogradi
# Gets replaced to e.g. "Tier IX"
tier: <x> red
# The roman number for each tier
tierLabels: [I, II, III, IV, V, VI, VII, VIII, IX, X]
maximumLevel: MAKSIMALNI LEVEL (Brzina x<currentMult>)
# The "Statistics" window
statistics:
title: Statistika
dataSources:
stored:
title: Skladišteno
description: Količina skladištenih oblika u središtu.
produced:
title: Proizvedeno
description: Svi oblici koje proizvodi cela fabrika, uključujući i međuproizvode.
delivered:
title: Dostavljeno
description: Oblici koji su dostavljeni središtu.
noShapesProduced: Za sada nema proizvedenih oblika.
# Displays the shapes per minute, e.g. '523 / m'
shapesPerMinute: <shapes> / min
# Settings menu, when you press "ESC"
settingsMenu:
playtime: Vreme igranja
buildingsPlaced: Građevine
beltsPlaced: Trake
buttons:
continue: Nastavi
settings: Podešavanja
menu: Povratak na glavni meni
# Bottom left tutorial hints
tutorialHints:
title: Potrebna pomoć?
showHint: Prikaži savet
hideHint: Zatvori
# When placing a blueprint
blueprintPlacer:
cost: Cena
# Map markers
waypoints:
waypoints: Putokazi
hub: Središte
description: Klikni levim klikom na putokaz kako bi skočio na njegovu lokaciju, a izbriši ga desnim klikom. <br><br>Za stvaranje putokaza pritisni <keybinding>, ili <strong>desnim klikom</strong> napravi putokaz na odabranoj lokaciji.
creationSuccessNotification: Putokaz kreiran.
# Shape viewer
shapeViewer:
title: Slojevi
empty: Prazno
copyKey: Kopiraj kod oblika
# Interactive tutorial
interactiveTutorial:
title: Tutorijal
hints:
1_1_extractor: Postavi <strong>Rudara</strong> na <strong>oblik kruga</strong> kako bi ga iskopao!
1_2_conveyor: >-
Spoji rudara na središte koristeći <strong>pokretnu traku</strong>.<br><br>Savet: <strong>Pritisni i prevuci</strong> traku mišem!
1_3_expand: >-
Ovo <strong>NIJE</strong> pasivna igra čekanja! Više rudara i pokretnih traka će ubrzati napredak do cilja.<br><br>Savet: Drži <strong>SHIFT</strong> za postavljanje više rudara istovremeno, a pritisni <strong>R</strong> za okretanje.
# All shop upgrades
shopUpgrades:
belt:
name: Trake, Delioci i Tuneli
description: Brzina x<currentMult> → x<newMult>
miner:
name: Rudarenje
description: Brzina x<currentMult> → x<newMult>
processors:
name: Rezanje, Okretanje i Slaganje
description: Brzina x<currentMult> → x<newMult>
painting:
name: Mešanje i Farbanje
description: Brzina x<currentMult> → x<newMult>
# Buildings and their name / description
buildings:
hub:
deliver: Dostavite
toUnlock: kako bi otključali
levelShortcut: LVL
belt:
default:
name: &belt Pokretna traka
description: Prenosi predmete, drži i prevuci za postavku više njih.
wire:
default:
name: &wire Žica
description: Omogućava prenos energije.
miner: # Internal name for the Extractor
default:
name: &miner Rudar
description: Postavite ga na oblik koji želite da iskopate.
chainable:
name: Rudar (Lančani)
description: Postavite ga na oblik koji želite da iskopate. Mogu se ređati jedan u drugi.
underground_belt: # Internal name for the Tunnel
default:
name: &underground_belt Tunel
description: Omogućava prenos predmeta ispod građevina i traka.
tier2:
name: Tunel II Reda
description: Omogućava prenos predmeta ispod građevina i traka.
splitter: # Internal name for the Balancer
default:
name: &splitter Balanser
description: Multifunkcionalan - Jednako raspoređuje sve ulaze na sve izlaze.
compact:
name: Spajač (kompaktni)
description: Spaja dve pokretne trake u jednu.
compact-inverse:
name: Spajač (kompaktni)
description: Spaja dve pokretne trake u jednu.
cutter:
default:
name: &cutter Rezač
description: Reže oblike od vrha prema dnu i na izlaze daje obe polovine. <strong>Ako se koristi samo jedan deo, drugi se mora uništiti da bi se sprečio zastoj!</strong>
quad:
name: Rezač (četvorostruki)
description: Reže oblike na četiri dela. <strong>Ako se koristi samo jedan deo, ostali se moraju uništiti da bi se sprečio zastoj!</strong>
#TODO
advanced_processor:
default:
name: &advanced_processor Okretač boje
description: Prihvata boju ili oblik i izokreće je.
rotater:
default:
name: &rotater Obrtač (↻)
description: Okreće oblike za 90 stepeni u smeru kazaljke na satu.
ccw:
name: Obrtač (↺)
description: Okreće oblike za 90 stepeni u smeru suprotnom od kazaljke na satu.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
name: &stacker Slagač
description: Slaže jedan oblik na drugi. Ako se oblici ne mogu spojiti, desni oblik se postavlja na vrh levog.
mixer:
default:
name: &mixer Mešalica boja
description: Spaja dve boje koristeći aditivno mešanje boja.
painter:
default:
name: &painter Farbač
description: &painter_desc Farba ceo oblik na levom ulazu bojom sa gornjeg ulaza.
mirrored:
name: *painter
description: *painter_desc
double:
name: Farbač (dupli)
description: Farba ceo oblik na levom ulazu bojom sa gornjeg ulaza.
quad:
name: Farbač (četvorostruki)
description: Omogućava farbanje svake četvrtine oblika različitom bojom.
trash:
default:
name: &trash Smeće
description: Prima stvar sa svih strana i zauvek ih uništava.
storage:
name: Skladište
description: Skladišti višak predmeta do određenog kapaciteta. Može se koristiti kao zaštita od prelivanja.
energy_generator:
deliver: Dostavi
# This will be shown before the amount, so for example 'For 123 Energy'
toGenerateEnergy: Za
default:
name: &energy_generator Generator
description: Pretvara oblike u energiju.
#TODO
wire_crossings:
default:
name: &wire_crossings Razdelnik žica
description: Deli žicu na dva dela.
merger:
name: Spajač žica
description: Spaja dve žice u jednu.
storyRewards:
# Those are the rewards gained from completing the store
reward_cutter_and_trash:
title: Rezanje Oblika
desc: <strong>Rezač</strong> je otključan! On reže oblike <strong>od vrha prema dnu</strong> bez obzira na orijentaciju građevine!<br><br>Višak se mora odbaciti kako bi se izbegao <strong>zastoj</strong>. - Za tu svrhu postoji smeće, koje uništava sve što uđe u njega.
reward_rotater:
title: Obrtanje
desc: <strong>Obrtač</strong> je otključan! On okreće oblike za 90 stepeni u smeru kazaljke na satu.
reward_painter:
title: Farbanje
desc: >-
<strong>Farbač</strong> je otključan - Boja se (kao i oblici) može rudariti i spojiti s oblikom u farbaču!<br><br>PS: Postoji <strong>opcija za daltonizam</strong> u podešavanjima!
reward_mixer:
title: Mešalica boja
desc: <strong>Mešalica boja</strong> je otključana - Ona spaja dve boje koristeći <strong>aditivno mešanje</strong>!
reward_stacker:
title: Slagač
desc: Dva oblika mogu spojiti <strong>slagačem</strong>! Oblici sa oba ulaza se spajaju - ako se mogu staviti jedan kraj drugoga, biće <strong>spojeni</strong>. Ako ne, desni ulaz se slaže <strong>na vrh</strong> levog!
reward_splitter:
title: Deljenje/Spajanje
desc: Multifunkcionalni <strong>balanser</strong> je otključan! Može ga se iskoristiti za <strong>deljenje i spajanje oblika</strong> na više pokretnih traka!<br><br>
reward_tunnel:
title: Tunel
desc: <strong>Tunel</strong> je otključan - Omogućava prenos stvari ispod traka i ostalih građevina!
reward_rotater_ccw:
title: Rotacija u smeru suprotnom od kazaljke na satu
desc: Varijacija <strong>obrtača</strong> je otključana - Omogućuje okretanje u smeru suprotnom od kazaljke na satu! Odaberi obrtač i <strong>pritisni 'T' za menjanje njegove varijacije</strong>!
reward_miner_chainable:
title: Lančani rudar
desc: Otključan je <strong>lančani rudar</strong>! On može da <strong>prosledi svoje resurse</strong> drugim rudarima radi efikasnijeg rudarenja!
reward_underground_belt_tier_2:
title: Tunel II Reda
desc: Otključana je nova varijacija <strong>tunela</strong> - On ima <strong>veći domet</strong>, a uz to se sada mogu kombinovati vrste tunela.
reward_splitter_compact:
title: Kompaktni Balanser
desc: >-
Varijacija <strong>balansera</strong> je otključana - On prihvata dva ulaza i spaja ih u jednu traku!
reward_cutter_quad:
title: Četvorostruki Rezač
desc: Varijacija <strong>rezača</strong> je otključana - Omogućava rezanje oblika na <strong>četiri dela</strong> umesto na samo dva!
reward_painter_double:
title: Dupli Farbač
desc: Varijacija <strong>farbača</strong> je otključana - Radi isti posao kao običan farbač, ali može ofarbati <strong>dva oblika odjednom</strong> po ceni jedne boje umesto dve!
reward_painter_quad:
title: Četvorostruki Farbač
desc: Varijacija <strong>farbača</strong> je otključana - Omogućava farbanje pojedinačnih delova oblika!
reward_storage:
title: Skladište
desc: Varijacija <strong>smeća</strong> je otključana - Omogućava skladištenje predmeta do određenog kapaciteta!
reward_freeplay:
title: Slobodna Igra
desc: Uspeli ste! Otključali ste <strong>mod slobodne igre</strong>! Oblici su od sada nasumično generisani! (Bez brige, više sadržaja je planirano za samostalnu igru!)
reward_blueprints:
title: Nacrti
desc: Sada možete da <strong>kopirate i nalepljujete</strong> delove fabrike! Odaberite oblast (držite CTRL, prevucite mišem), i pritisnite 'C' da biste kopirali.<br><br>Nalepljivanje <strong>nije besplatno</strong>, potrebno je da napravite <strong>oblike za nacrte</strong> da biste ga priuštili! (To su oblici koje ste do malopre dostavljali).
# Special reward, which is shown when there is no reward actually
no_reward:
title: Sledeći Nivo
desc: >-
Ovaj nivo je bio bez nagrade, ali sledeći neće! <br><br> PS: Nemojte uništavati stare fabrike - <strong>Svi</strong> ti oblici će vam biti potrebni kasnije da biste <strong>otključali nadogradnje</strong>!
no_reward_freeplay:
title: Sledeći Nivo
desc: >-
Svaka čast! Više sadržaja je u planu za samostalnu igru!
settings:
title: Podešavanja
categories:
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Razvoj
staging: Skela #TODO
prod: produkcija
buildDate: Izgrađeno <at-date>
labels:
uiScale:
title: Veličina interfejsa
description: >-
Menja veličinu korisničkog interfejsa. Veličina interfejsa će i dalje zavisiti od vaše rezolucije uređaja.Ova opcija kontroliše tu veličinu interfejsa.
scales:
super_small: Maleno
small: Malo
regular: Normalno
large: Veliko
huge: Ogromno
autosaveInterval:
title: Interval Automatskog Čuvanja Igre
description: >-
Kontroliše koliko često će se igra automatski čuvati. Ovu opciju možete i da onemogućite.
intervals:
one_minute: 1 minut
two_minutes: 2 minuta
five_minutes: 5 minuta
ten_minutes: 10 minuta
twenty_minutes: 20 minuta
disabled: Onemogućeno
scrollWheelSensitivity:
title: Osetljivost zumiranja
description: >-
Kontroliše koliko je zumiranje osetljivo (Točkić na mišu ili trackpad).
sensitivity:
super_slow: Najsporije
slow: Sporo
regular: Normalno
fast: Brzo
super_fast: Najbrže
movementSpeed:
title: Brzina kretanja
description: >-
Menja brzinu kretanja kamere pri korišćenju tastature.
speeds:
super_slow: Najsporije
slow: Sporo
regular: Normalno
fast: Brzo
super_fast: Najbrže
extremely_fast: Brže od najbržeg
language:
title: Jezik
description: >-
Promenite jezik igre. Svi prevodi su delo volontera i mogu biti nezavršeni!
enableColorBlindHelper:
title: Opcija za daltonizam
description: >-
Omogućuje razne alate koji pomažu pri igranju igre sa nekim oblikom daltonizma.
fullscreen:
title: Ceo ekran
description: >-
Preporučljivo je, radi najboljeg iskustva, da igrate ovu igru na celom ekranu. Opcija dostupna samo u samostalnoj igri.
soundsMuted:
title: Utišajte Zvukove
description: >-
Ako je odabrana, ova opcija isključuje sve zvučne efekte.
musicMuted:
title: Utišajte Muziku
description: >-
Ako je odabrana, ova opcija isključuje svu muziku.
theme:
title: Tema Igre
description: >-
Odaberite temu igre (svetla / tamna).
themes:
dark: Tamna
light: Svetla
refreshRate:
title: Simulacija na 144 Hz
description: >-
Opcija za monitore visoke frekvencije osvežavanja. Ovo može smanjiti FPS ako je vaš računar prespor.
alwaysMultiplace:
title: Višestruko Postavljanje
description: >-
Ako je omogućeno, sve građevine će ostati odabrane nakon što su postavljene. Ova opcija je ekvivalenta stalnom držanju dugmeta SHIFT.
offerHints:
title: Saveti i Tutorijali
description: >-
Opcija za prikazivanje saveta i tutorijala za vreme igre. Dodatno krije određene elemente interfejsa, dok ih ne budete otključali, radi lakše igre.
enableTunnelSmartplace:
title: Pametni Tuneli
description: >-
Ako je omogućeno, postavljanje tunela automatski briše nepotrebne pokretne trake. Takođe omogućuje prevlačenje tunela i brisanje višak tunela.
vignette:
title: Vinjeta
description: >-
Omogućeva vinjetu - zatamnjuje ivice ekrana da bi tekst bio čitljiviji.
rotationByBuilding: #TODO
title: Okretanje prema vrsti građevine
description: >-
Svaka građevina pamti smer na koji je bila okrenuta. Ova opcija je preporučuje ako često menjate vrste građevina koje postavljate.
compactBuildingInfo:
title: Skraćene Informacije o Građevinama
description: >-
Skraćuje deo sa informacijama građevine tako da prikazuje samo njihove odnose. U suptornom prikazuje opis i sliku građevine.
disableCutDeleteWarnings:
title: Onemogući upozorenje za Rezanje/Brisanje
description: >-
Onemogućuje upozorenje koje se javlja kada režete/brišete više od 100 stvari.
keybindings:
title: Tasteri
hint: >-
Savet: Koristite CTRL, SHIFT i ALT! Oni omogućuju razne opcije postavljanja građevina.
resetKeybindings: Resetuj podešavanja tastera
categoryLabels:
general: Aplikacija
ingame: Igra
navigation: Navigacija
placement: Postavljanje
massSelect: Masovno Odabiranje
buildings: Prečice za građevine
placementModifiers: Modifikatori Postavljanja
mappings:
confirm: Potvrdi
back: Nazad
mapMoveUp: Idi Gore
mapMoveRight: Idi Desno
mapMoveDown: Idi Dole
mapMoveLeft: Idi Levo
mapMoveFaster: Brže kretanje
centerMap: Centar mape
mapZoomIn: Zumiraj
mapZoomOut: Odzumiraj
createMarker: Napravi Putokaz
menuOpenShop: Nadogradnje
menuOpenStats: Statistika
menuClose: Zatvori Meni
toggleHud: Uključi/Isključi Interfejs
toggleFPSInfo: Uključi/Isključi FPS i infomacije o traženju grešaka u kodu
switchLayers: Promeni Sloj
exportScreenshot: Izvoz slike cele fabrike kao snimak ekrana
belt: *belt
splitter: *splitter
underground_belt: *underground_belt
miner: *miner
cutter: *cutter
advanced_processor: *advanced_processor
rotater: *rotater
stacker: *stacker
mixer: *mixer
energy_generator: *energy_generator
painter: *painter
trash: *trash
wire: *wire
pipette: Pipeta
rotateWhilePlacing: Okreni građevinu
rotateInverseModifier: >-
Modifikator: Rotiraj u smeru suprotnom od kazaljke na satu
cycleBuildingVariants: Promena Varijacije
confirmMassDelete: Uništite Oblast
pasteLastBlueprint: Nalepite posledji nacrt
cycleBuildings: Promena Građevine
lockBeltDirection: Omogući planer pokretnih traka
switchDirectionLockSide: >-
Planer: Okreni stranu
massSelectStart: Pritisni i zadrži za za početak
massSelectSelectMultiple: Odabir više oblasti
massSelectCopy: Kopiranje oblasti
massSelectCut: Izrezivanje oblasti
placementDisableAutoOrientation: Onemogućite automatsku orijentaciju
placeMultiple: Ostanite u modu za postavljanje
placeInverse: Automatski okreni orijentaciju pokretnih traka
about:
title: O Igri
body: >-
Ova igra je otvorenog koda i napravljena je od strane <a href="https://github.com/tobspr" target="_blank">Tobias Springer</a> (to sam ja).<br><br>
Ako želite da doprinesete razvoju, bacite pogled na <a href="<githublink>" target="_blank">shapez.io github</a>.<br><br>
Bez odlične Discord zajednice ova igra, kao ni druge, ne bi postojala - Pridružite se <a href="<discordlink>" target="_blank">Discord serveru</a>!<br><br>
<a href="https://soundcloud.com/pettersumelius" target="_blank">Peppsen</a> je komponovao muziku za igru - On je super.<br><br>
Na kraju svega, veliko hvala mom najboljem prijatelju <a href="https://github.com/niklas-dahl" target="_blank">Niklas-u</a> - Bez naših factorio sesija, ova igra nikad ne bi postojala.
changelog:
title: Promene
demo:
features:
restoringGames: Obnavljanje sačuvanih igara
importingGames: Uvoz sačuvanih igara
oneGameLimit: Ograničenje od jedne sačuvane igre
customizeKeybindings: Prilagođena Podešavanja Tastera
exportingBase: Izvoz slike cele fabrike kao snimak ekrana
settingNotAvailable: Nije dostupno u demo verziji.

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -118,7 +118,7 @@ global:
# Short formats for times, e.g. '5h 23m'
secondsShort: <seconds>s
minutesAndSecondsShort: <minutes>m <seconds>s
hoursAndMinutesShort: <hours>t <minutes>s
hoursAndMinutesShort: <hours>t <minutes>m
xMinutes: <x> minuter
@ -138,20 +138,19 @@ demoBanners:
mainMenu:
play: Spela
changelog: Changelog
changelog: Ändringslogg
importSavegame: Importera
openSourceHint: Detta spel är open source!
openSourceHint: Detta spelet har öppen kod!
discordLink: Officiell Discord Server
helpTranslate: Hjälp till att översätta!
# This is shown when using firefox and other browsers which are not supported.
browserWarning: >-
Förlåt, men det är känt att spelet spelar långsamt på din browser! Skaffa den fristående versionen eller ladda ner chrome för den fulla upplevelsen.
Förlåt, men det är känt att spelet spelar långsamt på din browser! Skaffa den fristående versionen eller ladda ner Chrome för en bättre upplevelse.
savegameLevel: Nivå <x>
savegameLevelUnknown: Okänd Nivå
continue: Fortsätt
newGame: Nytt spel
madeBy: Skapad av <author-link>
@ -203,7 +202,7 @@ dialogs:
editKeybinding:
title: Ändra snabbtangenter
desc: Tryck ned tangenten eller musknappen du vill tillsätta, eller escape för att avbryta.
desc: Tryck ned tangenten eller musknappen du vill använda, eller escape för att avbryta.
resetKeybindingsConfirmation:
title: Återställ snabbtangenter
@ -219,34 +218,34 @@ dialogs:
oneSavegameLimit:
title: Begränsad mängd sparfiler
desc: Du kan bara ha en sparfil åt gången i demoversionen. Var snäll och ta bort det existerande eller skaffa den fristående versionen!
desc: Du kan bara ha en sparfil åt gången i demoversionen. Var snäll och ta bort den nuvarande eller skaffa den fristående versionen!
updateSummary:
title: Ny uppdatering!
desc: >-
Här är ändringarna sen du sist spelade:
Här är ändringarna sen du senast spelade:
upgradesIntroduction:
title: Lås upp Uppgraderingar
desc: >-
Alla former du producerar kan användas för att låsa upp uppgraderingar - <strong>Förstör inte dina gamla fabriker!</strong>
Alla former du producerar kan användas för att låsa upp uppgraderingar - <strong>Förstör inte dina gamla fabriker!</strong>
Uppgraderingsmenyn finns i det övre högra hörnet på skärmen.
massDeleteConfirm:
title: Bekräfta borttagning
desc: >-
Du tar nu bort ganska många byggnader (<count> för att vara exakt)! Är du säker på att du vill göra detta?
Du tar bort ganska många byggnader (<count> för att vara exakt)! Är du säker på att du vill göra detta?
blueprintsNotUnlocked:
title: Inte upplåst än
desc: >-
Ritningar är inte än upplåsta! Klara fler nivåer för att låsa upp dem.
Nå level 12 för att låsa upp Ritningar.
keybindingsIntroduction:
title: Användbara tangentbindningar
desc: >-
Detta spel använder en stor mängd tangentbindningar som gör det lättare att bygga stora fabriker.
Här är några men se till att <strong>kolla in tangentbindningarna</strong>!<br><br>
Här är några, men se till att <strong>kolla in tangentbindningarna</strong>!<br><br>
<code class='keybinding'>CTRL</code> + Dra: Välj en yta att kopiera / radera.<br>
<code class='keybinding'>SHIFT</code>: Håll ned för att placera flera av samma byggnad.<br>
<code class='keybinding'>ALT</code>: Invertera orientationen av placerade rullband.<br>
@ -254,10 +253,10 @@ dialogs:
createMarker:
title: Ny Markör
desc: Ge den ett meningsfullt namn, du kan också inkludera en <strong>kort kod</strong> av en form (Vilket du kan generera här <a href="https://viewer.shapez.io" target="_blank"></a>)
titleEdit: Edit Marker
titleEdit: Ändra Markör
markerDemoLimit:
desc: Du kan endast skapa två markörer i demoversionen. Skaffa den fristående versionen för ett oändligt antal!
desc: Du kan endast ha två markörer i demoversionen. Skaffa den fristående versionen för ett obegränsat antal!
massCutConfirm:
title: Bekräfta Klipp
desc: >-
@ -268,11 +267,11 @@ dialogs:
title: Exportera skärmdump
desc: >-
Du efterfrågade att exportera din fabrik som en skärmdump.
Vänligen notera att detta kan ta ett tag för en stor bas och i vissa fall till och med krascha ditt spel
Vänligen notera att detta kan ta ett tag för en stor bas och i vissa fall till och med krascha ditt spel!
massCutInsufficientConfirm:
title: Confirm cut
desc: You can not afford to paste this area! Are you sure you want to cut it?
title: Bekräfta Klipp
desc: Du har inte råd att placera detta område! Är du säker att du vill klippa det?
ingame:
# This is shown in the top left corner and displays useful keybindings in
@ -285,10 +284,10 @@ ingame:
placeMultiple: Placera flera
reverseOrientation: Vänd orientation
disableAutoOrientation: Stäng av automatisk orientation
toggleHud: Toggle HUD
toggleHud: Växla HUD
placeBuilding: Placera Byggnad
createMarker: Skapa Markör
delete: Förstör
delete: Ta bort
pasteLastBlueprint: Klistra in ritning
lockBeltDirection: Aktivera rullbandsplanerare
plannerSwitchSide: Vänd planerarsidan
@ -296,7 +295,7 @@ ingame:
copySelection: Kopiera
clearSelection: Rensa vald
pipette: Pipett
switchLayers: Switch layers
switchLayers: Byt lager
# Everything related to placing buildings (I.e. as soon as you selected a building
# from the toolbar)
@ -486,6 +485,9 @@ buildings:
ccw:
name: Roterare (CCW)
description: Roterar former 90 motsols.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -631,8 +633,9 @@ storyRewards:
settings:
title: Inställningar
categories:
game: Spelinställningar
app: Applikation
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Utveckling
@ -843,7 +846,7 @@ about:
Spelet hade inte varit möjligt utan den fantastiska discordgemenskapen
runt mina spel - Du borde gå med i den <a href="<discordlink>"
target="_blank">discord server</a>!<br><br>
target="_blank">Discord server</a>!<br><br>
Musiken skapades av <a href="https://soundcloud.com/pettersumelius"
target="_blank">Peppsen</a> - Han är grym!<br><br>

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -151,7 +151,6 @@ mainMenu:
savegameLevel: Seviye <x>
savegameLevelUnknown: Bilinmeyen seviye
continue: Devam et
newGame: Yeni Oyun
madeBy: Made by <author-link>
@ -491,6 +490,9 @@ buildings:
ccw:
name: Rotate (CCW)
description: Rotates shapes counter clockwise by 90 degrees.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -632,8 +634,9 @@ storyRewards:
settings:
title: Settings
categories:
game: Game
app: Application
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: Development
@ -843,9 +846,9 @@ about:
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
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>
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>

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
# Ґлосарій:
# map мапа
@ -29,7 +29,7 @@ steamPage:
# This is the short text appearing on the steam page
shortText: shapez.io — це гра про будування фабрик для автоматизації створення та обробки все більш складних форм на нескінченно розширюваній мапі.
# This is the text shown above the discord link
# This is the text shown above the Discord link
discordLink: Офіційний Discord сервер — поговори зі мною!
# 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.
@ -162,8 +162,6 @@ mainMenu:
savegameLevel: Рівень <x>
savegameLevelUnknown: Невідомий рівень
dialogs:
buttons:
ok: Гаразд
@ -510,6 +508,9 @@ buildings:
ccw:
name: Rotate (CCW)
description: Rotates shapes counter-clockwise by 90 degrees.
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -643,8 +644,6 @@ storyRewards:
desc: >-
Цей рівень не дав нагороди, але в наступному... щось буде. <br><br> До речі, краще не руйнуйте свій поточний завод. Вам знадобляться всі ті форми пізніше, щоб <strong>розблокувати поліпшення</strong>!
no_reward_freeplay:
title: Наступний рівень
desc: >-
@ -653,8 +652,9 @@ storyRewards:
settings:
title: Налаштування
categories:
game: Гра
app: Застосунок
general: Загальне
userInterface: Користувацький інтерфейс
advanced: Передове
versionBadges:
dev: Development
@ -863,7 +863,7 @@ about:
Якщо ви хочете зробити внесок, то йдіть на <a href="<githublink>" target="_blank">github shapez.io</a>.<br><br>
Ця гра не була б можливою без великої discord спільноти навколо моїх ігор. Гадаю, вам дійсно слід долучитися до <a href="<discordlink>" target="_blank">серверу в discord</a>!<br><br>
Ця гра не була б можливою без великої Discord спільноти навколо моїх ігор. Гадаю, вам дійсно слід долучитися до <a href="<discordlink>" target="_blank">серверу в discord</a>!<br><br>
Звуковий трек був зроблений гравцем <a href="https://soundcloud.com/pettersumelius" target="_blank">Peppsen</a> — він просто приголомшливий.<br><br>

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -45,6 +45,7 @@
# Painter上色机
# Trash垃圾桶
---
steamPage:
# This is the short text appearing on the steam page
shortText: shapez.io 是一款在无边际的地图上建造工厂、自动化生产与组合愈加复杂的图形的游戏。
@ -178,10 +179,8 @@ mainMenu:
很抱歉, 本游戏在当前浏览器上可能运行缓慢! 使用chrome或者获取独立版以得到更好的体验。
savegameLevel: 第<x>关
savegameLevelUnknown: 未知关卡
# contestOver: This contest has ended - Join the discord to get noticed about new contests!
savegameLevelUnknown:
未知关卡
continue: 继续游戏
newGame: 新游戏
madeBy: 作者:<author-link>
@ -518,6 +517,9 @@ buildings:
ccw:
name: 旋转机(逆时针)
description: 将图形逆时针旋转90度。
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -662,8 +664,9 @@ storyRewards:
settings:
title: 设置
categories:
game: 游戏内容
app: 应用
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: 开发版本 # Development

View File

@ -15,7 +15,7 @@
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# 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.
#
@ -56,50 +56,50 @@ steamPage:
# - 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 是一款在一個無邊無際的地圖上建造工廠、將生產與組合愈加複雜圖形自動化的遊戲。
shapez.io is a game about building factories to automate the creation and processing of increasingly complex shapes across an infinitely expanding map.
Upon delivering the requested shapes you will progress within the game and unlock upgrades to speed up your factory.
在指定圖形送達基地後,你會晉級且解鎖能加速生產的新功能。
As the demand for shapes increases, you will have to scale up your factory to meet the demand - Don't forget about resources though, you will have to expand across the [b]infinite map[/b]!
當指定圖形的數量增加時,你必須擴充你的工廠才能應付訂單 -- 但別忘記資源,你需要在[b]無邊無際的地圖[/b]上擴充。
Soon you will have to mix colors and paint your shapes with them - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
不久後你將需要混色並為圖形上色 -- 混和紅、綠、藍以創造新顏色再將圖形上色來達成目標。
This game features 18 progressive levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
遊戲目前有十八關(應該也夠你忙一陣子了),而我還有很多計畫,持續更新中!
Purchasing the game gives you access to the standalone version which has additional features and you'll also receive access to newly developed features.
購買獨立版的你即擁有額外內容,也會優先接觸新開發內容。
[b]Standalone Advantages[/b]
[b]獨立版的額外內容[/b]
[list]
[*] Dark Mode
[*] Unlimited Waypoints
[*] Unlimited Savegames
[*] Additional settings
[*] Coming soon: Wires & Energy! Aiming for (roughly) end of July 2020.
[*] Coming soon: More Levels
[*] Allows me to further develop shapez.io ❤️
[*] 深色主題
[*] 地圖標記數量無限制
[*] 存檔數量無限制
[*] 更多設定
[*] 即將到來: 電線與能源! 目標在2020年七月底(左右)問世。
[*] 即將到來: 更多新關卡
[*] 幫助我繼續開發 shapez.io ❤️
[/list]
[b]Future Updates[/b]
[b]未來更新[/b]
I am updating the game very often and trying to push an update at least every week!
我時常更新遊戲,希望能周更!
[list]
[*] Different maps and challenges (e.g. maps with obstacles)
[*] Puzzles (Deliver the requested shape with a restricted area / set of buildings)
[*] A story mode where buildings have a cost
[*] Configurable map generator (Configure resource/shape size/density, seed and more)
[*] Additional types of shapes
[*] Performance improvements (The game already runs pretty well!)
[*] And much more!
[*] 不同的地圖與挑戰(像是有障礙物的地圖)
[*] 迷宮(在地圖受限制或只能使用特定建築的情況下送達圖形)
[*] 一個蓋建築物需要成本的故事模式
[*] 可調控的地圖生成器(資源/圖形/密度可調整、隨機生成種子等等)
[*] 更多圖形種類
[*] 遊戲效能提升(即使目前已經不錯了)
[*] 還有更多更多!
[/list]
[b]This game is open source![/b]
[b]這個遊戲是開源的![/b]
Anybody can contribute, I'm actively involved in the community and attempt to review all suggestions and take feedback into consideration where possible.
Be sure to check out my trello board for the full roadmap!
任何人都可以貢獻,我在社群裡很活耀、嘗試回復所有的建議並盡量參考大家的意見。
欲知詳情,別忘了造訪我的 Trello 喔!
[b]Links[/b]
[b]連結[/b]
[list]
[*] [url=https://discord.com/invite/HN7EVzV]Official Discord[/url]
@ -178,7 +178,6 @@ mainMenu:
savegameLevel: Level <x>
savegameLevelUnknown: 未知關卡
continue: 繼續
newGame: 新遊戲
madeBy: 作者:<author-link>
@ -513,6 +512,9 @@ buildings:
ccw:
name: 旋轉機(逆時針)
description: 將圖形逆時針旋轉90度。
fl:
name: Rotate (180)
description: Rotates shapes by 180 degrees.
stacker:
default:
@ -658,8 +660,9 @@ storyRewards:
settings:
title: 設置
categories:
game: 遊戲內容
app: 應用
general: General
userInterface: User Interface
advanced: Advanced
versionBadges:
dev: 開發版本 # Development

1275
yarn.lock

File diff suppressed because it is too large Load Diff