Merge branch 'master' into patch-13
12
.github/workflows/ci.yml
vendored
@ -39,3 +39,15 @@ jobs:
|
|||||||
- name: Lint
|
- name: Lint
|
||||||
run: |
|
run: |
|
||||||
yarn lint
|
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
@ -109,10 +109,6 @@ build
|
|||||||
|
|
||||||
tmp_standalone_files
|
tmp_standalone_files
|
||||||
|
|
||||||
|
|
||||||
# Github Actions files
|
|
||||||
.github/workflows
|
|
||||||
|
|
||||||
# Local config
|
# Local config
|
||||||
config.local.js
|
config.local.js
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
285
.travis.yml
@ -3,165 +3,164 @@ os: linux
|
|||||||
dist: xenial
|
dist: xenial
|
||||||
language: node_js
|
language: node_js
|
||||||
node_js:
|
node_js:
|
||||||
- "10"
|
- "12"
|
||||||
cache: yarn
|
cache: yarn
|
||||||
|
|
||||||
# platform specific configuration
|
# platform specific configuration
|
||||||
jobs:
|
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
|
## -> build win
|
||||||
include:
|
# - name: "Standalone Windows on MacOS"
|
||||||
# OS: MAC
|
# os: osx
|
||||||
## -> build darwin
|
# osx_image: xcode11.3
|
||||||
- name: "Standalone MacOS on MacOS"
|
# before_install:
|
||||||
os: osx
|
# - HOMEBREW_NO_AUTO_UPDATE=1 brew install git-lfs
|
||||||
osx_image: xcode11.3
|
# - HOMEBREW_NO_AUTO_UPDATE=1 brew install ffmpeg
|
||||||
before_install:
|
# - HOMEBREW_NO_AUTO_UPDATE=1 brew cask install wine-stable
|
||||||
- HOMEBREW_NO_AUTO_UPDATE=1 brew install git-lfs
|
# # prevent Wine popup dialogs about installing additional packages
|
||||||
- HOMEBREW_NO_AUTO_UPDATE=1 brew install ffmpeg
|
# - export WINEDLLOVERRIDES="mscoree,mshtml="
|
||||||
script:
|
# - export WINEDEBUG="-all"
|
||||||
- cd gulp
|
# script:
|
||||||
- yarn gulp build.standalone-prod || travis_terminate 1
|
# - cd gulp
|
||||||
- yarn gulp standalone.prepare
|
# - yarn gulp build.standalone-prod || travis_terminate 1
|
||||||
- yarn gulp standalone.package.prod.darwin64
|
# - yarn gulp standalone.prepare
|
||||||
- cd ..
|
# - yarn gulp standalone.package.prod.win64
|
||||||
|
# - yarn gulp standalone.package.prod.win32
|
||||||
|
# - cd ..
|
||||||
|
|
||||||
## -> build win
|
## -> build linux
|
||||||
- name: "Standalone Windows on MacOS"
|
# - name: "Standalone Linux on MacOS"
|
||||||
os: osx
|
# os: osx
|
||||||
osx_image: xcode11.3
|
# osx_image: xcode11.3
|
||||||
before_install:
|
# before_install:
|
||||||
- HOMEBREW_NO_AUTO_UPDATE=1 brew install git-lfs
|
# - HOMEBREW_NO_AUTO_UPDATE=1 brew install git-lfs
|
||||||
- HOMEBREW_NO_AUTO_UPDATE=1 brew install ffmpeg
|
# - HOMEBREW_NO_AUTO_UPDATE=1 brew install ffmpeg
|
||||||
- HOMEBREW_NO_AUTO_UPDATE=1 brew cask install wine-stable
|
# script:
|
||||||
# prevent Wine popup dialogs about installing additional packages
|
# - cd gulp
|
||||||
- export WINEDLLOVERRIDES="mscoree,mshtml="
|
# - yarn gulp build.standalone-prod || travis_terminate 1
|
||||||
- export WINEDEBUG="-all"
|
# - yarn gulp standalone.prepare
|
||||||
script:
|
# - yarn gulp standalone.package.prod.linux64
|
||||||
- cd gulp
|
# - yarn gulp standalone.package.prod.linux32
|
||||||
- yarn gulp build.standalone-prod || travis_terminate 1
|
# - cd ..
|
||||||
- yarn gulp standalone.prepare
|
|
||||||
- yarn gulp standalone.package.prod.win64
|
|
||||||
- yarn gulp standalone.package.prod.win32
|
|
||||||
- cd ..
|
|
||||||
|
|
||||||
## -> build linux
|
# OS: LINUX
|
||||||
- name: "Standalone Linux on MacOS"
|
## -> build darwin
|
||||||
os: osx
|
## not possible
|
||||||
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 win
|
||||||
## -> build darwin
|
# - name: "Standalone Windows on Linux"
|
||||||
## not possible
|
# 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
|
## -> build linux
|
||||||
- name: "Standalone Windows on Linux"
|
# - name: "Standalone Linux on Linux"
|
||||||
os: linux
|
# os: linux
|
||||||
addons:
|
# addons:
|
||||||
apt:
|
# apt:
|
||||||
packages:
|
# packages:
|
||||||
- libavformat-dev
|
# - libavformat-dev
|
||||||
- libavfilter-dev
|
# - libavfilter-dev
|
||||||
- libavdevice-dev
|
# - libavdevice-dev
|
||||||
- ffmpeg
|
# - ffmpeg
|
||||||
- wine
|
# script:
|
||||||
script:
|
# - cd gulp
|
||||||
- cd gulp
|
# - yarn gulp build.standalone-prod || travis_terminate 1
|
||||||
- yarn gulp build.standalone-prod || travis_terminate 1
|
# - yarn gulp standalone.prepare
|
||||||
- yarn gulp standalone.prepare
|
# - yarn gulp standalone.package.prod.linux64
|
||||||
- yarn gulp standalone.package.prod.win64
|
# - yarn gulp standalone.package.prod.linux32
|
||||||
- yarn gulp standalone.package.prod.win32
|
# - cd ..
|
||||||
- cd ..
|
|
||||||
|
|
||||||
## -> build linux
|
# OS: WINDOWS
|
||||||
- name: "Standalone Linux on Linux"
|
## -> build darwin
|
||||||
os: linux
|
## not possible
|
||||||
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 linux
|
||||||
## -> build darwin
|
# - name: "Standalone Linux on Windows"
|
||||||
## not possible
|
# 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
|
## -> build win
|
||||||
- name: "Standalone Linux on Windows"
|
- name: "Standalone Windows on Windows"
|
||||||
os: windows
|
os: windows
|
||||||
env: YARN_GPG=no
|
env: YARN_GPG=no
|
||||||
before_install:
|
before_install:
|
||||||
- choco install git-lfs -y -f || echo "0" # choco fails but git-lfs is still installed
|
- 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 ffmpeg --version=4.2.3
|
||||||
- export PATH=/C/ProgramData/chocolatey/lib/ffmpeg/tools/ffmpeg/bin:$PATH
|
- choco install wget
|
||||||
- wget https://github.com/moiamond/docker-ffmpeg-base-windowsservercore/raw/master/System32/avicap32.dll -P /C/Windows/System32/
|
- export PATH=/C/ProgramData/chocolatey/lib/ffmpeg/tools/ffmpeg/bin:$PATH
|
||||||
- wget https://github.com/moiamond/docker-ffmpeg-base-windowsservercore/raw/master/System32/msvfw32.dll -P /C/Windows/System32/
|
- wget https://github.com/moiamond/docker-ffmpeg-base-windowsservercore/raw/master/System32/avicap32.dll -P /C/Windows/System32/
|
||||||
script:
|
- wget https://github.com/moiamond/docker-ffmpeg-base-windowsservercore/raw/master/System32/msvfw32.dll -P /C/Windows/System32/
|
||||||
- cd gulp
|
script:
|
||||||
- yarn gulp build.standalone-prod || travis_terminate 1
|
- cd gulp
|
||||||
- yarn gulp standalone.prepare
|
- yarn gulp build.standalone-prod || travis_terminate 1
|
||||||
- yarn gulp standalone.package.prod.linux64
|
- yarn gulp standalone.prepare
|
||||||
- yarn gulp standalone.package.prod.linux32
|
- yarn gulp standalone.package.prod.win64
|
||||||
- cd ..
|
- yarn gulp standalone.package.prod.win32
|
||||||
|
- cd ..
|
||||||
|
|
||||||
## -> build win
|
# mark build as finished even if "allow_failures" are still running
|
||||||
- name: "Standalone Windows on Windows"
|
fast_finish: true
|
||||||
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
|
# optional jobs which may fail
|
||||||
fast_finish: true
|
#allow_failures:
|
||||||
|
# - name: ""
|
||||||
|
|
||||||
# optional jobs which may fail
|
|
||||||
#allow_failures:
|
|
||||||
# - name: ""
|
|
||||||
|
|
||||||
# shared
|
# shared
|
||||||
install:
|
install:
|
||||||
- git lfs install
|
- git lfs install
|
||||||
- git lfs pull
|
- git lfs pull
|
||||||
|
|
||||||
- yarn
|
- yarn
|
||||||
|
|
||||||
# electron dependencies
|
|
||||||
- cd electron
|
|
||||||
- yarn
|
|
||||||
- cd ..
|
|
||||||
|
|
||||||
# gulp dependendencies
|
# electron dependencies
|
||||||
- cd gulp
|
- cd electron
|
||||||
- yarn
|
- yarn
|
||||||
- cd ..
|
- cd ..
|
||||||
|
|
||||||
|
# gulp dependendencies
|
||||||
|
- cd gulp
|
||||||
|
- yarn
|
||||||
|
- cd ..
|
||||||
|
6
.yamllint
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
extends: default
|
||||||
|
|
||||||
|
rules:
|
||||||
|
line-length:
|
||||||
|
level: warning
|
||||||
|
max: 200
|
11
README.md
@ -11,6 +11,15 @@ Your goal is to produce shapes by cutting, rotating, merging and painting parts
|
|||||||
- [Steam Page](https://steam.shapez.io)
|
- [Steam Page](https://steam.shapez.io)
|
||||||
- [Official Discord](https://discord.com/invite/HN7EVzV) <- _Highly recommended to join!_
|
- [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
|
## Building
|
||||||
|
|
||||||
- Make sure git `git lfs` extension is on your path
|
- Make sure git `git lfs` extension is on your path
|
||||||
@ -41,7 +50,7 @@ If you want to add a new feature or in generally contribute I recommend to get i
|
|||||||
|
|
||||||
### Code
|
### Code
|
||||||
|
|
||||||
The game is based on a custom engine which itself is based on the YORG.io 3 game egine (Actually it shares almost the same core).
|
The game is based on a custom engine which itself is based on the YORG.io 3 game engine (Actually it shares almost the same core).
|
||||||
The code within the engine is relatively clean with some code for the actual game on top being hacky.
|
The code within the engine is relatively clean with some code for the actual game on top being hacky.
|
||||||
|
|
||||||
This project is based on ES5. Some ES2015 features are used but most of them are too slow, especially when polyfilled. For example, `Array.prototype.forEach` is only used within non-critical loops since its slower than a plain for loop.
|
This project is based on ES5. Some ES2015 features are used but most of them are too slow, especially when polyfilled. For example, `Array.prototype.forEach` is only used within non-critical loops since its slower than a plain for loop.
|
||||||
|
@ -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;
|
|
||||||
},
|
|
||||||
};
|
|
@ -20,7 +20,7 @@
|
|||||||
"ajv": "^6.10.2",
|
"ajv": "^6.10.2",
|
||||||
"audiosprite": "^0.7.2",
|
"audiosprite": "^0.7.2",
|
||||||
"babel-loader": "^8.1.0",
|
"babel-loader": "^8.1.0",
|
||||||
"browser-sync": "^2.24.6",
|
"browser-sync": "^2.26.10",
|
||||||
"circular-dependency-plugin": "^5.0.2",
|
"circular-dependency-plugin": "^5.0.2",
|
||||||
"circular-json": "^0.5.9",
|
"circular-json": "^0.5.9",
|
||||||
"clipboard-copy": "^3.1.0",
|
"clipboard-copy": "^3.1.0",
|
||||||
@ -47,14 +47,13 @@
|
|||||||
"query-string": "^6.8.1",
|
"query-string": "^6.8.1",
|
||||||
"rusha": "^0.8.13",
|
"rusha": "^0.8.13",
|
||||||
"serialize-error": "^3.0.0",
|
"serialize-error": "^3.0.0",
|
||||||
"sloc": "^0.2.1",
|
|
||||||
"strictdom": "^1.0.1",
|
"strictdom": "^1.0.1",
|
||||||
"string-replace-webpack-plugin": "^0.1.3",
|
"string-replace-webpack-plugin": "^0.1.3",
|
||||||
"terser-webpack-plugin": "^1.1.0",
|
"terser-webpack-plugin": "^1.1.0",
|
||||||
"through2": "^3.0.1",
|
"through2": "^3.0.1",
|
||||||
"uglify-template-string-loader": "^1.1.0",
|
"uglify-template-string-loader": "^1.1.0",
|
||||||
"unused-files-webpack-plugin": "^3.4.0",
|
"unused-files-webpack-plugin": "^3.4.0",
|
||||||
"webpack": "^4.31.0",
|
"webpack": "^4.43.0",
|
||||||
"webpack-bundle-analyzer": "^3.0.3",
|
"webpack-bundle-analyzer": "^3.0.3",
|
||||||
"webpack-cli": "^3.1.0",
|
"webpack-cli": "^3.1.0",
|
||||||
"webpack-deep-scope-plugin": "^1.6.0",
|
"webpack-deep-scope-plugin": "^1.6.0",
|
||||||
@ -114,7 +113,7 @@
|
|||||||
"speed-measure-webpack-plugin": "^1.3.1",
|
"speed-measure-webpack-plugin": "^1.3.1",
|
||||||
"strip-json-comments": "^3.0.1",
|
"strip-json-comments": "^3.0.1",
|
||||||
"trim": "^0.0.1",
|
"trim": "^0.0.1",
|
||||||
"webpack-stream": "^5.1.0",
|
"webpack-stream": "^5.2.1",
|
||||||
"yaml-loader": "^0.6.0"
|
"yaml-loader": "^0.6.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
657
gulp/yarn.lock
@ -29,7 +29,6 @@
|
|||||||
"@types/filesystem": "^0.0.29",
|
"@types/filesystem": "^0.0.29",
|
||||||
"ajv": "^6.10.2",
|
"ajv": "^6.10.2",
|
||||||
"babel-loader": "^8.0.4",
|
"babel-loader": "^8.0.4",
|
||||||
"browser-sync": "^2.24.6",
|
|
||||||
"circular-dependency-plugin": "^5.0.2",
|
"circular-dependency-plugin": "^5.0.2",
|
||||||
"circular-json": "^0.5.9",
|
"circular-json": "^0.5.9",
|
||||||
"clipboard-copy": "^3.1.0",
|
"clipboard-copy": "^3.1.0",
|
||||||
@ -53,14 +52,13 @@
|
|||||||
"query-string": "^6.8.1",
|
"query-string": "^6.8.1",
|
||||||
"rusha": "^0.8.13",
|
"rusha": "^0.8.13",
|
||||||
"serialize-error": "^3.0.0",
|
"serialize-error": "^3.0.0",
|
||||||
"sloc": "^0.2.1",
|
|
||||||
"strictdom": "^1.0.1",
|
"strictdom": "^1.0.1",
|
||||||
"string-replace-webpack-plugin": "^0.1.3",
|
"string-replace-webpack-plugin": "^0.1.3",
|
||||||
"terser-webpack-plugin": "^1.1.0",
|
"terser-webpack-plugin": "^1.1.0",
|
||||||
"typescript": "3.9.3",
|
"typescript": "3.9.3",
|
||||||
"uglify-template-string-loader": "^1.1.0",
|
"uglify-template-string-loader": "^1.1.0",
|
||||||
"unused-files-webpack-plugin": "^3.4.0",
|
"unused-files-webpack-plugin": "^3.4.0",
|
||||||
"webpack": "^4.31.0",
|
"webpack": "^4.43.0",
|
||||||
"webpack-bundle-analyzer": "^3.0.3",
|
"webpack-bundle-analyzer": "^3.0.3",
|
||||||
"webpack-cli": "^3.1.0",
|
"webpack-cli": "^3.1.0",
|
||||||
"webpack-deep-scope-plugin": "^1.6.0",
|
"webpack-deep-scope-plugin": "^1.6.0",
|
||||||
@ -98,6 +96,6 @@
|
|||||||
"speed-measure-webpack-plugin": "^1.3.1",
|
"speed-measure-webpack-plugin": "^1.3.1",
|
||||||
"strip-json-comments": "^3.0.1",
|
"strip-json-comments": "^3.0.1",
|
||||||
"trim": "^0.0.1",
|
"trim": "^0.0.1",
|
||||||
"webpack-stream": "^5.1.0"
|
"yarn": "^1.22.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
BIN
res/ui/building_tutorials/rotater-fl.png
Normal file
After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 712 B After Width: | Height: | Size: 756 B |
BIN
res/ui/icons/link.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 216 KiB After Width: | Height: | Size: 226 KiB |
Before Width: | Height: | Size: 515 KiB After Width: | Height: | Size: 527 KiB |
Before Width: | Height: | Size: 976 KiB After Width: | Height: | Size: 1.0 MiB |
@ -449,6 +449,7 @@
|
|||||||
<key type="filename">sprites/blueprints/miner-chainable.png</key>
|
<key type="filename">sprites/blueprints/miner-chainable.png</key>
|
||||||
<key type="filename">sprites/blueprints/miner.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-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/rotater.png</key>
|
||||||
<key type="filename">sprites/blueprints/splitter-compact-inverse.png</key>
|
<key type="filename">sprites/blueprints/splitter-compact-inverse.png</key>
|
||||||
<key type="filename">sprites/blueprints/splitter-compact.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/blueprints/underground_belt_exit.png</key>
|
||||||
<key type="filename">sprites/buildings/miner-chainable.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-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-inverse.png</key>
|
||||||
<key type="filename">sprites/buildings/splitter-compact.png</key>
|
<key type="filename">sprites/buildings/splitter-compact.png</key>
|
||||||
<key type="filename">sprites/buildings/underground_belt_entry-tier2.png</key>
|
<key type="filename">sprites/buildings/underground_belt_entry-tier2.png</key>
|
||||||
|
BIN
res_raw/sprites/blueprints/rotater-fl.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
res_raw/sprites/buildings/rotater-fl.png
Normal file
After Width: | Height: | Size: 13 KiB |
@ -73,6 +73,9 @@ body {
|
|||||||
scrollbar-face-color: #888;
|
scrollbar-face-color: #888;
|
||||||
scrollbar-track-color: rgba(255, 255, 255, 0.1);
|
scrollbar-track-color: rgba(255, 255, 255, 0.1);
|
||||||
|
|
||||||
|
// Firefox
|
||||||
|
scrollbar-color: #cdd0d4 rgba(#000, 0.05);
|
||||||
|
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
@include Text;
|
@include Text;
|
||||||
|
|
||||||
@ -205,7 +208,7 @@ button {
|
|||||||
border: 0;
|
border: 0;
|
||||||
background: $colorBlueBright;
|
background: $colorBlueBright;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
@include S(border-radius, $globalBorderRadius);
|
||||||
// border: #{D(1px)} solid rgba(0, 10, 20, 0.2);
|
// border: #{D(1px)} solid rgba(0, 10, 20, 0.2);
|
||||||
@include S(border-bottom-width, 2px);
|
@include S(border-bottom-width, 2px);
|
||||||
// color: $accentColorDark;
|
// color: $accentColorDark;
|
||||||
@ -345,6 +348,7 @@ canvas {
|
|||||||
|
|
||||||
::-webkit-scrollbar-thumb {
|
::-webkit-scrollbar-thumb {
|
||||||
// border-radius: 4px;
|
// border-radius: 4px;
|
||||||
|
@include S(border-radius, $globalBorderRadius);
|
||||||
background: #cdd0d4;
|
background: #cdd0d4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,8 +8,8 @@ $buildings: belt, cutter, miner, mixer, painter, rotater, splitter, stacker, tra
|
|||||||
}
|
}
|
||||||
|
|
||||||
$buildingsAndVariants: belt, splitter, splitter-compact, splitter-compact-inverse, underground_belt,
|
$buildingsAndVariants: belt, splitter, splitter-compact, splitter-compact-inverse, underground_belt,
|
||||||
underground_belt-tier2, miner, miner-chainable, cutter, cutter-quad, rotater, rotater-ccw, stacker, mixer,
|
underground_belt-tier2, miner, miner-chainable, cutter, cutter-quad, rotater, rotater-ccw, rotater-fl,
|
||||||
painter, painter-double, painter-quad, trash, trash-storage;
|
stacker, mixer, painter, painter-double, painter-quad, trash, trash-storage;
|
||||||
@each $building in $buildingsAndVariants {
|
@each $building in $buildingsAndVariants {
|
||||||
[data-icon="building_tutorials/#{$building}.png"] {
|
[data-icon="building_tutorials/#{$building}.png"] {
|
||||||
background-image: uiResource("res/ui/building_tutorials/#{$building}.png") !important;
|
background-image: uiResource("res/ui/building_tutorials/#{$building}.png") !important;
|
||||||
|
@ -4,23 +4,28 @@
|
|||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translateX(-50%);
|
transform: translateX(-50%);
|
||||||
|
|
||||||
|
// NOTE: This flex rule may not be necessary. Need to find out intent.
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
background-color: rgb(255, 255, 255);
|
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border-bottom-width: 0;
|
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 {
|
@include DarkThemeOverride {
|
||||||
background: #222428;
|
background-color: #222428;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:not(.visible) {
|
&:not(.visible) {
|
||||||
transform: translateX(-50%) translateY(#{D(100px)});
|
transform: translateX(-50%) translateY(#{D(100px)});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@include S(border-top-left-radius, $globalBorderRadius);
|
||||||
|
@include S(border-top-right-radius, $globalBorderRadius);
|
||||||
|
|
||||||
.buildings {
|
.buildings {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-auto-flow: column;
|
grid-auto-flow: column;
|
||||||
@ -60,21 +65,43 @@
|
|||||||
|
|
||||||
@include S(border-radius, $globalBorderRadius);
|
@include S(border-radius, $globalBorderRadius);
|
||||||
|
|
||||||
&.selected {
|
&.unlocked {
|
||||||
background-color: rgba($colorBlueBright, 0.6) !important;
|
pointer-events: all;
|
||||||
transform: scale(1.05);
|
transition: all 50ms ease-in-out;
|
||||||
.keybinding {
|
transition-property: background-color, transform;
|
||||||
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);
|
|
||||||
cursor: pointer;
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: all 0.12s ease-in-out;
|
transition: all 0.12s ease-in-out;
|
||||||
transition-property: opacity, transform;
|
transition-property: opacity, transform;
|
||||||
|
will-change: opacity;
|
||||||
opacity: 0.9;
|
opacity: 0.9;
|
||||||
@include S(margin-left, 5px);
|
@include S(margin-left, 5px);
|
||||||
position: relative;
|
position: relative;
|
||||||
|
@ -15,6 +15,8 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
|
@include S(border-radius, $globalBorderRadius);
|
||||||
|
|
||||||
@include MakeAnimationWrappedEvenOdd(0.5s ease-in-out) {
|
@include MakeAnimationWrappedEvenOdd(0.5s ease-in-out) {
|
||||||
0% {
|
0% {
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,8 @@
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
color: #333438;
|
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 {
|
@include DarkThemeOverride {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
@include S(margin-bottom, 4px);
|
@include S(margin-bottom, 4px);
|
||||||
color: #333438;
|
color: #333438;
|
||||||
// text-shadow: #{D(1px)} #{D(1px)} 0 rgba(0, 10, 20, 0.2);
|
// 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 {
|
&.unpinable {
|
||||||
> canvas {
|
> canvas {
|
||||||
@ -33,10 +34,12 @@
|
|||||||
grid-row: 1 / 3;
|
grid-row: 1 / 3;
|
||||||
pointer-events: all;
|
pointer-events: all;
|
||||||
transition: transform 0.1s ease-in-out;
|
transition: transform 0.1s ease-in-out;
|
||||||
|
transform-origin: D(2px) center;
|
||||||
|
will-change: transform;
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 20;
|
z-index: 20;
|
||||||
&:hover {
|
&:hover {
|
||||||
transform: scale(2) translateX(#{D(5px)});
|
transform: scale(2);
|
||||||
z-index: 21;
|
z-index: 21;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
/* Forces an element to get rendered on its own layer, increasing
|
/* Forces an element to get rendered on its own layer, increasing
|
||||||
the performance when animated. Use only transform and opacity in animations! */
|
the performance when animated. Use only transform and opacity in animations! */
|
||||||
@mixin FastAnimation {
|
@mixin FastAnimation {
|
||||||
// will-change: transform, opacity;
|
will-change: transform, opacity, filter;
|
||||||
transform: translateZ(0);
|
// transform: translateZ(0);
|
||||||
backface-visibility: hidden;
|
backface-visibility: hidden;
|
||||||
-webkit-backface-visibility: hidden;
|
-webkit-backface-visibility: hidden;
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,23 @@
|
|||||||
#state_AboutState {
|
#state_AboutState {
|
||||||
> .container .content {
|
> .container .content {
|
||||||
|
@include S(max-width, 600px);
|
||||||
@include PlainText;
|
@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 {
|
a {
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#state_ChangelogState {
|
#state_ChangelogState {
|
||||||
.content {
|
.content {
|
||||||
|
@include S(max-width, 800px);
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
|
@ -55,7 +55,7 @@
|
|||||||
opacity: 0;
|
opacity: 0;
|
||||||
display: none;
|
display: none;
|
||||||
transform: translate(50%, 50%);
|
transform: translate(50%, 50%);
|
||||||
filter: blur(10px);
|
// filter: blur(10px);
|
||||||
|
|
||||||
$opacity: 0.2;
|
$opacity: 0.2;
|
||||||
&.loaded {
|
&.loaded {
|
||||||
@ -178,6 +178,10 @@
|
|||||||
transform: translateX(50%) rotate(-7deg) scale(1.1);
|
transform: translateX(50%) rotate(-7deg) scale(1.1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@include DarkThemeOverride {
|
||||||
|
color: $colorBlueBright;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -201,33 +205,6 @@
|
|||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
@include S(margin-bottom, 10px);
|
@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 {
|
.mainContainer {
|
||||||
@ -265,13 +242,15 @@
|
|||||||
@include S(min-width, 130px);
|
@include S(min-width, 130px);
|
||||||
@include S(padding, 15px, 20px);
|
@include S(padding, 15px, 20px);
|
||||||
letter-spacing: 0.3em !important;
|
letter-spacing: 0.3em !important;
|
||||||
|
@include IncreasedClickArea(0px);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
background-color: $colorGreenBright;
|
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 {
|
&:hover {
|
||||||
transform: scale(1.02);
|
background-color: darken($colorGreenBright, 4);
|
||||||
|
opacity: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.continueButton {
|
&.continueButton {
|
||||||
@ -281,9 +260,11 @@
|
|||||||
|
|
||||||
.importButton {
|
.importButton {
|
||||||
@include S(margin-top, 15px);
|
@include S(margin-top, 15px);
|
||||||
|
@include IncreasedClickArea(0px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.newGameButton {
|
.newGameButton {
|
||||||
|
@include IncreasedClickArea(0px);
|
||||||
@include S(margin-top, 15px);
|
@include S(margin-top, 15px);
|
||||||
@include S(margin-left, 15px);
|
@include S(margin-left, 15px);
|
||||||
}
|
}
|
||||||
@ -306,8 +287,8 @@
|
|||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1fr auto auto;
|
grid-template-columns: 1fr auto auto;
|
||||||
grid-template-rows: auto auto;
|
grid-template-rows: auto auto;
|
||||||
@include S(grid-column-gap, 5px);
|
@include S(grid-column-gap, 4px);
|
||||||
@include S(grid-row-gap, 3px);
|
@include S(grid-row-gap, 1px);
|
||||||
|
|
||||||
.playtime {
|
.playtime {
|
||||||
grid-column: 1 / 2;
|
grid-column: 1 / 2;
|
||||||
@ -325,12 +306,9 @@
|
|||||||
button.resumeGame,
|
button.resumeGame,
|
||||||
button.downloadGame,
|
button.downloadGame,
|
||||||
button.deleteGame {
|
button.deleteGame {
|
||||||
grid-column: 3 / 4;
|
|
||||||
grid-row: 1 / 3;
|
|
||||||
@include S(width, 30px);
|
|
||||||
@include S(height, 30px);
|
|
||||||
padding: 0;
|
padding: 0;
|
||||||
align-self: center;
|
align-self: center;
|
||||||
|
justify-self: center;
|
||||||
@include IncreasedClickArea(0px);
|
@include IncreasedClickArea(0px);
|
||||||
background: #44484a uiResource("icons/play.png") center center / 40% no-repeat;
|
background: #44484a uiResource("icons/play.png") center center / 40% no-repeat;
|
||||||
}
|
}
|
||||||
@ -338,12 +316,13 @@
|
|||||||
button.downloadGame {
|
button.downloadGame {
|
||||||
grid-column: 2 / 3;
|
grid-column: 2 / 3;
|
||||||
grid-row: 1 / 2;
|
grid-row: 1 / 2;
|
||||||
|
background-color: $colorBlueBright;
|
||||||
background-image: uiResource("icons/download.png");
|
background-image: uiResource("icons/download.png");
|
||||||
@include S(width, 15px);
|
@include S(width, 15px);
|
||||||
@include IncreasedClickArea(0px);
|
@include IncreasedClickArea(0px);
|
||||||
@include S(height, 15px);
|
@include S(height, 15px);
|
||||||
align-self: end;
|
|
||||||
background-size: 60%;
|
background-size: 60%;
|
||||||
|
align-self: start;
|
||||||
}
|
}
|
||||||
|
|
||||||
button.deleteGame {
|
button.deleteGame {
|
||||||
@ -357,6 +336,14 @@
|
|||||||
align-self: end;
|
align-self: end;
|
||||||
background-size: 60%;
|
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;
|
grid-template-columns: auto auto auto 1fr;
|
||||||
@include S(padding, 10px);
|
@include S(padding, 10px);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
@include S(grid-gap, 5px);
|
@include S(grid-gap, 4px);
|
||||||
|
|
||||||
.author {
|
.author {
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
@ -390,7 +377,7 @@
|
|||||||
grid-template-columns: 1fr auto;
|
grid-template-columns: 1fr auto;
|
||||||
|
|
||||||
justify-content: center;
|
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, 5px);
|
||||||
@include S(padding-left, 10px);
|
@include S(padding-left, 10px);
|
||||||
@include S(border-radius, $globalBorderRadius);
|
@include S(border-radius, $globalBorderRadius);
|
||||||
@ -401,15 +388,14 @@
|
|||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: #616266;
|
color: #616266;
|
||||||
|
|
||||||
transition: all 0.12s ease-in-out;
|
transition: background-color 0.12s ease-in-out;
|
||||||
transition-property: background-color, transform;
|
|
||||||
pointer-events: all;
|
pointer-events: all;
|
||||||
@include S(width, 120px);
|
@include S(width, 120px);
|
||||||
@include S(height, 60px);
|
@include S(height, 60px);
|
||||||
|
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
&:hover {
|
&:hover {
|
||||||
background-color: #fff;
|
background-color: #f0f6ff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.thirdpartyLogo {
|
.thirdpartyLogo {
|
||||||
@ -432,7 +418,7 @@
|
|||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
grid-template-rows: 1fr 1fr 1fr;
|
grid-template-rows: 1fr 1fr 1fr;
|
||||||
@include S(grid-gap, 2px);
|
@include S(grid-gap, 3px);
|
||||||
@include S(height, 60px);
|
@include S(height, 60px);
|
||||||
|
|
||||||
> a {
|
> a {
|
||||||
@ -441,7 +427,7 @@
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background-color: #fff;
|
background-color: #f0f6ff;
|
||||||
}
|
}
|
||||||
@include SuperSmallText;
|
@include SuperSmallText;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
@ -457,6 +443,9 @@
|
|||||||
background-position: #{D(5px)} center;
|
background-position: #{D(5px)} center;
|
||||||
background-size: #{D(12px)};
|
background-size: #{D(12px)};
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
|
@include S(border-radius, $globalBorderRadius);
|
||||||
|
|
||||||
|
transition: background-color 0.12s ease-in-out;
|
||||||
|
|
||||||
&.redditLink {
|
&.redditLink {
|
||||||
background-image: uiResource("main_menu/reddit.svg");
|
background-image: uiResource("main_menu/reddit.svg");
|
||||||
|
@ -1,113 +1,188 @@
|
|||||||
#state_SettingsState {
|
#state_SettingsState {
|
||||||
.content {
|
$colorCategoryButton: #eee;
|
||||||
.versionbar {
|
$colorCategoryButtonSelected: #5f748b;
|
||||||
@include S(margin-top, 20px);
|
|
||||||
@include SuperSmallText;
|
.container .content {
|
||||||
display: grid;
|
display: flex;
|
||||||
align-items: center;
|
overflow-y: scroll;
|
||||||
grid-template-columns: 1fr auto;
|
|
||||||
.buildVersion {
|
.categoryContainer {
|
||||||
display: flex;
|
width: 100%;
|
||||||
flex-direction: column;
|
|
||||||
color: #aaadaf;
|
.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 {
|
.sidebar {
|
||||||
background-color: $colorGreenBright;
|
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 {
|
.other {
|
||||||
@include S(padding, 10px);
|
margin-top: auto;
|
||||||
background: #eeeff5;
|
|
||||||
@include S(border-radius, $globalBorderRadius);
|
|
||||||
@include S(margin-bottom, 5px);
|
|
||||||
|
|
||||||
label {
|
|
||||||
text-transform: uppercase;
|
|
||||||
@include Text;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.desc {
|
button {
|
||||||
@include S(margin-top, 5px);
|
@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;
|
@include SuperSmallText;
|
||||||
color: #aaadb2;
|
|
||||||
}
|
|
||||||
|
|
||||||
> .row {
|
|
||||||
display: grid;
|
display: grid;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
grid-template-columns: 1fr auto;
|
grid-template-columns: 1fr auto;
|
||||||
}
|
.buildVersion {
|
||||||
|
|
||||||
&.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;
|
display: flex;
|
||||||
align-items: center;
|
flex-direction: column;
|
||||||
justify-content: center;
|
color: #aaadaf;
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@include DarkThemeOverride {
|
@include DarkThemeOverride {
|
||||||
.content {
|
.container .content {
|
||||||
.setting {
|
.sidebar {
|
||||||
background: darken($darkModeGameBackground, 10);
|
button.categoryButton,
|
||||||
|
button.about {
|
||||||
|
background-color: #3f3f47;
|
||||||
|
|
||||||
.value.enum {
|
&.active {
|
||||||
// dirty but works
|
|
||||||
filter: invert(0.85);
|
|
||||||
color: #222;
|
|
||||||
}
|
|
||||||
|
|
||||||
.value.checkbox {
|
|
||||||
background-color: #74767b;
|
|
||||||
|
|
||||||
&.checked {
|
|
||||||
background-color: $colorBlueBright;
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,24 +1,18 @@
|
|||||||
.gameState.textualState {
|
.gameState.textualState {
|
||||||
display: flex;
|
display: grid;
|
||||||
flex-direction: column;
|
grid-template-rows: auto 1fr;
|
||||||
justify-content: center;
|
box-sizing: border-box;
|
||||||
align-items: center;
|
@include S(padding, 32px);
|
||||||
$padding: 15px;
|
height: 100vh;
|
||||||
|
|
||||||
.headerBar,
|
|
||||||
> .container .content {
|
|
||||||
@include S(width, 500px);
|
|
||||||
}
|
|
||||||
|
|
||||||
.headerBar {
|
.headerBar {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
|
||||||
justify-content: flex-start;
|
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
display: flex;
|
display: grid;
|
||||||
pointer-events: all;
|
grid-template-columns: auto 1fr;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
pointer-events: all;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
@include SuperHeading;
|
@include SuperHeading;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
@ -39,11 +33,17 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
> .container {
|
> .container {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
width: 100%;
|
||||||
|
overflow-y: auto;
|
||||||
|
|
||||||
> .content {
|
> .content {
|
||||||
|
width: 100%;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
@include S(border-radius, $globalBorderRadius);
|
@include S(border-radius, $globalBorderRadius);
|
||||||
@include S(padding, 10px);
|
@include S(padding, 10px);
|
||||||
height: calc(80vh - #{D(60px)});
|
height: 100%;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
pointer-events: all;
|
pointer-events: all;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
$globalBorderRadius: 0px;
|
$globalBorderRadius: 2px;
|
||||||
|
|
||||||
// When to reduce control elements size for small devices
|
// When to reduce control elements size for small devices
|
||||||
$layoutExpandMinWidth: 340px;
|
$layoutExpandMinWidth: 340px;
|
||||||
|
@ -385,7 +385,7 @@ export class Application {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const scale = this.getEffectiveUiScale();
|
const scale = this.getEffectiveUiScale();
|
||||||
waitNextFrame().then(() => document.documentElement.style.setProperty("--ui-scale", scale));
|
waitNextFrame().then(() => document.documentElement.style.setProperty("--ui-scale", `${scale}`));
|
||||||
window.focus();
|
window.focus();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,9 +4,9 @@ export const CHANGELOG = [
|
|||||||
date: "unreleased",
|
date: "unreleased",
|
||||||
entries: [
|
entries: [
|
||||||
"WIRES",
|
"WIRES",
|
||||||
|
"Reworked menu UI design (by dengr1605)",
|
||||||
"Allow holding ALT in belt planner to reverse direction (by jakobhellermann)",
|
"Allow holding ALT in belt planner to reverse direction (by jakobhellermann)",
|
||||||
"Clear cursor when trying to pipette the same building twice (by hexy)",
|
"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)",
|
"Added keybinding to close menus (by isaisstillalive / Sandwichs-del)",
|
||||||
"Fix rare crash regarding the buildings toolbar (by isaisstillalive)",
|
"Fix rare crash regarding the buildings toolbar (by isaisstillalive)",
|
||||||
"Fixed some phrases (by EnderDoom77)",
|
"Fixed some phrases (by EnderDoom77)",
|
||||||
@ -25,7 +25,7 @@ export const CHANGELOG = [
|
|||||||
version: "1.1.19",
|
version: "1.1.19",
|
||||||
date: "02.07.2020",
|
date: "02.07.2020",
|
||||||
entries: [
|
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!",
|
"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",
|
version: "1.1.10",
|
||||||
date: "12.06.2020",
|
date: "12.06.2020",
|
||||||
entries: [
|
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!",
|
"Steam cloud saves are now available!",
|
||||||
"Added and update more translations (Big thank you to all translators!)",
|
"Added and update more translations (Big thank you to all translators!)",
|
||||||
"Prevent invalid connection if existing underground tunnel entrance exists (by jaysc)",
|
"Prevent invalid connection if existing underground tunnel entrance exists (by jaysc)",
|
||||||
@ -222,7 +222,7 @@ export const CHANGELOG = [
|
|||||||
entries: [
|
entries: [
|
||||||
"The official trailer is now ready! Check it out <a href='https://www.youtube.com/watch?v=KyorY1uIqiQ' target='_blank'>here</a>!",
|
"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!",
|
"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 hovering pinned shapes to enlarge them",
|
||||||
"Allow deselecting blueprints with right click and 'Q'",
|
"Allow deselecting blueprints with right click and 'Q'",
|
||||||
"Move default key for deleting from 'X' to 'DEL'",
|
"Move default key for deleting from 'X' to 'DEL'",
|
||||||
|
@ -67,6 +67,7 @@ export const globalConfig = {
|
|||||||
cutterQuad: 1 / 4,
|
cutterQuad: 1 / 4,
|
||||||
rotater: 1 / 1,
|
rotater: 1 / 1,
|
||||||
rotaterCCW: 1 / 1,
|
rotaterCCW: 1 / 1,
|
||||||
|
rotaterFL: 1 / 1,
|
||||||
painter: 1 / 6,
|
painter: 1 / 6,
|
||||||
painterDouble: 1 / 8,
|
painterDouble: 1 / 8,
|
||||||
painterQuad: 1 / 8,
|
painterQuad: 1 / 8,
|
||||||
|
@ -158,7 +158,9 @@ export class AtlasSprite extends BaseSprite {
|
|||||||
const scale = parameters.desiredAtlasScale;
|
const scale = parameters.desiredAtlasScale;
|
||||||
const link = this.linksByResolution[scale];
|
const link = this.linksByResolution[scale];
|
||||||
|
|
||||||
assert(link, "Link not known: " + scale + " (having " + Object.keys(this.linksByResolution) + ")");
|
if (!link) {
|
||||||
|
assert(false, `Link not known: ${scale} (having ${Object.keys(this.linksByResolution)})`);
|
||||||
|
}
|
||||||
|
|
||||||
const scaleW = w / link.w;
|
const scaleW = w / link.w;
|
||||||
const scaleH = h / link.h;
|
const scaleH = h / link.h;
|
||||||
|
@ -11,7 +11,7 @@ import { enumHubGoalRewards } from "../tutorial_goals";
|
|||||||
import { enumItemType } from "../base_item";
|
import { enumItemType } from "../base_item";
|
||||||
|
|
||||||
/** @enum {string} */
|
/** @enum {string} */
|
||||||
export const enumRotaterVariants = { ccw: "ccw" };
|
export const enumRotaterVariants = { ccw: "ccw", fl: "fl" };
|
||||||
|
|
||||||
export class MetaRotaterBuilding extends MetaBuilding {
|
export class MetaRotaterBuilding extends MetaBuilding {
|
||||||
constructor() {
|
constructor() {
|
||||||
@ -28,12 +28,20 @@ export class MetaRotaterBuilding extends MetaBuilding {
|
|||||||
* @returns {Array<[string, string]>}
|
* @returns {Array<[string, string]>}
|
||||||
*/
|
*/
|
||||||
getAdditionalStatistics(root, variant) {
|
getAdditionalStatistics(root, variant) {
|
||||||
const speed = root.hubGoals.getProcessorBaseSpeed(
|
switch (variant) {
|
||||||
variant === enumRotaterVariants.ccw
|
case defaultBuildingVariant: {
|
||||||
? enumItemProcessorTypes.rotaterCCW
|
const speed = root.hubGoals.getProcessorBaseSpeed(enumItemProcessorTypes.rotater);
|
||||||
: enumItemProcessorTypes.rotater
|
return [[T.ingame.buildingPlacement.infoTexts.speed, formatItemsPerSecond(speed)]];
|
||||||
);
|
}
|
||||||
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
|
* @param {GameRoot} root
|
||||||
*/
|
*/
|
||||||
getAvailableVariants(root) {
|
getAvailableVariants(root) {
|
||||||
|
let variants = [defaultBuildingVariant];
|
||||||
if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_rotater_ccw)) {
|
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;
|
entity.components.ItemProcessor.type = enumItemProcessorTypes.rotaterCCW;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case enumRotaterVariants.fl: {
|
||||||
|
entity.components.ItemProcessor.type = enumItemProcessorTypes.rotaterFL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
assertAlways(false, "Unknown rotater variant: " + variant);
|
assertAlways(false, "Unknown rotater variant: " + variant);
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,7 @@ export const enumItemProcessorTypes = {
|
|||||||
cutterQuad: "cutterQuad",
|
cutterQuad: "cutterQuad",
|
||||||
rotater: "rotater",
|
rotater: "rotater",
|
||||||
rotaterCCW: "rotaterCCW",
|
rotaterCCW: "rotaterCCW",
|
||||||
|
rotaterFL: "rotaterFL",
|
||||||
stacker: "stacker",
|
stacker: "stacker",
|
||||||
trash: "trash",
|
trash: "trash",
|
||||||
mixer: "mixer",
|
mixer: "mixer",
|
||||||
|
@ -431,6 +431,7 @@ export class HubGoals extends BasicSerializableObject {
|
|||||||
case enumItemProcessorTypes.cutterQuad:
|
case enumItemProcessorTypes.cutterQuad:
|
||||||
case enumItemProcessorTypes.rotater:
|
case enumItemProcessorTypes.rotater:
|
||||||
case enumItemProcessorTypes.rotaterCCW:
|
case enumItemProcessorTypes.rotaterCCW:
|
||||||
|
case enumItemProcessorTypes.rotaterFL:
|
||||||
case enumItemProcessorTypes.stacker: {
|
case enumItemProcessorTypes.stacker: {
|
||||||
assert(
|
assert(
|
||||||
globalConfig.buildingSpeeds[processorType],
|
globalConfig.buildingSpeeds[processorType],
|
||||||
|
@ -416,6 +416,14 @@ export class HUDBuildingPlacerLogic extends BaseHUDPart {
|
|||||||
) {
|
) {
|
||||||
continue checkVariant;
|
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 });
|
matches.push({ metaBuilding, variant });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,9 @@ export class HUDEntityDebugger extends BaseHUDPart {
|
|||||||
`
|
`
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/** @type {HTMLElement} */
|
||||||
this.mousePosElem = this.element.querySelector(".mousePos");
|
this.mousePosElem = this.element.querySelector(".mousePos");
|
||||||
|
/** @type {HTMLElement} */
|
||||||
this.chunkPosElem = this.element.querySelector(".chunkPos");
|
this.chunkPosElem = this.element.querySelector(".chunkPos");
|
||||||
this.entityInfoElem = this.element.querySelector(".entityInfo");
|
this.entityInfoElem = this.element.querySelector(".entityInfo");
|
||||||
}
|
}
|
||||||
|
@ -105,7 +105,7 @@ export class HUDSandboxController extends BaseHUDPart {
|
|||||||
this.root.hubGoals.upgradeImprovements[id] = improvement;
|
this.root.hubGoals.upgradeImprovements[id] = improvement;
|
||||||
this.root.signals.upgradePurchased.dispatch(id);
|
this.root.signals.upgradePurchased.dispatch(id);
|
||||||
this.root.hud.signals.notification.dispatch(
|
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
|
enumNotificationType.upgrade
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@ export class HUDSettingsMenu extends BaseHUDPart {
|
|||||||
<strong>${T.ingame.settingsMenu.beltsPlaced}</strong><span class="beltsPlaced"></span>
|
<strong>${T.ingame.settingsMenu.beltsPlaced}</strong><span class="beltsPlaced"></span>
|
||||||
<strong>${T.ingame.settingsMenu.buildingsPlaced}</strong><span class="buildingsPlaced"></span>
|
<strong>${T.ingame.settingsMenu.buildingsPlaced}</strong><span class="buildingsPlaced"></span>
|
||||||
<strong>${T.ingame.settingsMenu.playtime}</strong><span class="playtime"></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);
|
this.root.app.inputMgr.makeSureAttachedAndOnTop(this.inputReciever);
|
||||||
|
|
||||||
const totalMinutesPlayed = Math.ceil(this.root.time.now() / 60);
|
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(StaticMapEntityComponent).length -
|
||||||
this.root.entityMgr.getAllWithComponent(BeltComponent).length
|
this.root.entityMgr.getAllWithComponent(BeltComponent).length
|
||||||
);
|
);
|
||||||
this.statsElement.querySelector(".beltsPlaced").innerText = formatBigNumberFull(
|
|
||||||
|
beltsPlacedElement.innerText = formatBigNumberFull(
|
||||||
this.root.entityMgr.getAllWithComponent(BeltComponent).length
|
this.root.entityMgr.getAllWithComponent(BeltComponent).length
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -183,6 +183,11 @@ export class ShapeDefinition extends BasicSerializableObject {
|
|||||||
*/
|
*/
|
||||||
static isValidShortKeyInternal(key) {
|
static isValidShortKeyInternal(key) {
|
||||||
const sourceLayers = key.split(":");
|
const sourceLayers = key.split(":");
|
||||||
|
|
||||||
|
if (sourceLayers.length === 0 || sourceLayers.length > 4) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
let layers = [];
|
let layers = [];
|
||||||
for (let i = 0; i < sourceLayers.length; ++i) {
|
for (let i = 0; i < sourceLayers.length; ++i) {
|
||||||
const text = sourceLayers[i];
|
const text = sourceLayers[i];
|
||||||
@ -221,15 +226,12 @@ export class ShapeDefinition extends BasicSerializableObject {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!anyFilled) {
|
if (!anyFilled && i === sourceLayers.length - 1) {
|
||||||
// Empty layer
|
// Topmost layer isn't allowed being empty
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
layers.push(quads);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (layers.length === 0 || layers.length > 4) {
|
layers.push(quads);
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@ -447,23 +449,23 @@ export class ShapeDefinition extends BasicSerializableObject {
|
|||||||
*/
|
*/
|
||||||
cloneFilteredByQuadrants(includeQuadrants) {
|
cloneFilteredByQuadrants(includeQuadrants) {
|
||||||
const newLayers = this.internalCloneLayers();
|
const newLayers = this.internalCloneLayers();
|
||||||
|
let lastNonEmptyLayer = -1;
|
||||||
for (let layerIndex = 0; layerIndex < newLayers.length; ++layerIndex) {
|
for (let layerIndex = 0; layerIndex < newLayers.length; ++layerIndex) {
|
||||||
const quadrants = newLayers[layerIndex];
|
const quadrants = newLayers[layerIndex];
|
||||||
let anyContents = false;
|
|
||||||
for (let quadrantIndex = 0; quadrantIndex < 4; ++quadrantIndex) {
|
for (let quadrantIndex = 0; quadrantIndex < 4; ++quadrantIndex) {
|
||||||
if (includeQuadrants.indexOf(quadrantIndex) < 0) {
|
if (includeQuadrants.indexOf(quadrantIndex) < 0) {
|
||||||
quadrants[quadrantIndex] = null;
|
quadrants[quadrantIndex] = null;
|
||||||
} else if (quadrants[quadrantIndex]) {
|
} else if (quadrants[quadrantIndex]) {
|
||||||
anyContents = true;
|
lastNonEmptyLayer = layerIndex;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if the layer is entirely empty
|
|
||||||
if (!anyContents) {
|
|
||||||
newLayers.splice(layerIndex, 1);
|
|
||||||
layerIndex -= 1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Remove top most empty layers which aren't needed anymore
|
||||||
|
if (lastNonEmptyLayer !== newLayers.length - 1) {
|
||||||
|
newLayers.splice(lastNonEmptyLayer + 1);
|
||||||
|
}
|
||||||
|
|
||||||
return new ShapeDefinition({ layers: newLayers });
|
return new ShapeDefinition({ layers: newLayers });
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -495,62 +497,86 @@ export class ShapeDefinition extends BasicSerializableObject {
|
|||||||
return new ShapeDefinition({ layers: newLayers });
|
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.
|
* Stacks the given shape definition on top.
|
||||||
* @param {ShapeDefinition} definition
|
* @param {ShapeDefinition} definition
|
||||||
*/
|
*/
|
||||||
cloneAndStackWith(definition) {
|
cloneAndStackWith(definition) {
|
||||||
const newLayers = this.internalCloneLayers();
|
|
||||||
|
|
||||||
if (this.isEntirelyEmpty() || definition.isEntirelyEmpty()) {
|
if (this.isEntirelyEmpty() || definition.isEntirelyEmpty()) {
|
||||||
assert(false, "Can not stack entirely empty definition");
|
assert(false, "Can not stack entirely empty definition");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Put layer for layer on top
|
const bottomShapeLayers = this.layers;
|
||||||
for (let i = 0; i < definition.layers.length; ++i) {
|
const bottomShapeHighestLayerByQuad = [-1, -1, -1, -1];
|
||||||
const layerToAdd = definition.layers[i];
|
|
||||||
|
|
||||||
// On which layer we can merge this upper layer
|
for (let layer = bottomShapeLayers.length - 1; layer >= 0; --layer) {
|
||||||
let mergeOnLayerIndex = null;
|
const shapeLayer = bottomShapeLayers[layer];
|
||||||
|
for (let quad = 0; quad < 4; ++quad) {
|
||||||
// Go from top to bottom and check if there is anything intercepting it
|
const shapeQuad = shapeLayer[quad];
|
||||||
for (let k = newLayers.length - 1; k >= 0; --k) {
|
if (shapeQuad !== null && bottomShapeHighestLayerByQuad[quad] < layer) {
|
||||||
const lowerLayer = newLayers[k];
|
bottomShapeHighestLayerByQuad[quad] = layer;
|
||||||
|
|
||||||
let canMerge = true;
|
|
||||||
for (let quadrantIndex = 0; quadrantIndex < 4; ++quadrantIndex) {
|
|
||||||
const upperItem = layerToAdd[quadrantIndex];
|
|
||||||
const lowerItem = lowerLayer[quadrantIndex];
|
|
||||||
|
|
||||||
if (upperItem && lowerItem) {
|
|
||||||
// so, we can't merge it because two items conflict
|
|
||||||
canMerge = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we can merge it, store it - since we go from top to bottom
|
|
||||||
// we can simply override it
|
|
||||||
if (canMerge) {
|
|
||||||
mergeOnLayerIndex = k;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (mergeOnLayerIndex !== null) {
|
|
||||||
// Simply merge using an OR mask
|
|
||||||
for (let quadrantIndex = 0; quadrantIndex < 4; ++quadrantIndex) {
|
|
||||||
newLayers[mergeOnLayerIndex][quadrantIndex] =
|
|
||||||
newLayers[mergeOnLayerIndex][quadrantIndex] || layerToAdd[quadrantIndex];
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// Add new layer
|
|
||||||
newLayers.push(layerToAdd);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
newLayers.splice(4);
|
const topShapeLayers = definition.layers;
|
||||||
|
const topShapeLowestLayerByQuad = [4, 4, 4, 4];
|
||||||
|
|
||||||
return new ShapeDefinition({ layers: newLayers });
|
for (let layer = 0; layer < topShapeLayers.length; ++layer) {
|
||||||
|
const shapeLayer = topShapeLayers[layer];
|
||||||
|
for (let quad = 0; quad < 4; ++quad) {
|
||||||
|
const shapeQuad = shapeLayer[quad];
|
||||||
|
if (shapeQuad !== null && topShapeLowestLayerByQuad[quad] > layer) {
|
||||||
|
topShapeLowestLayerByQuad[quad] = layer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* We want to find the number `layerToMergeAt` such that when the top shape is placed at that
|
||||||
|
* layer, the smallest gap between shapes is only 1. Instead of doing a guess-and-check method to
|
||||||
|
* find the appropriate layer, we just calculate all the gaps assuming a merge at layer 0, even
|
||||||
|
* though they go negative, and calculating the number to add to it so the minimum gap is 1 (ends
|
||||||
|
* up being 1 - minimum).
|
||||||
|
*/
|
||||||
|
const gapsBetweenShapes = [];
|
||||||
|
for (let quad = 0; quad < 4; ++quad) {
|
||||||
|
gapsBetweenShapes.push(topShapeLowestLayerByQuad[quad] - bottomShapeHighestLayerByQuad[quad]);
|
||||||
|
}
|
||||||
|
const smallestGapBetweenShapes = Math.min(...gapsBetweenShapes);
|
||||||
|
// Can't merge at a layer lower than 0
|
||||||
|
const layerToMergeAt = Math.max(1 - smallestGapBetweenShapes, 0);
|
||||||
|
|
||||||
|
const mergedLayers = this.internalCloneLayers();
|
||||||
|
for (let layer = mergedLayers.length; layer < layerToMergeAt + topShapeLayers.length; ++layer) {
|
||||||
|
mergedLayers.push([null, null, null, null]);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (let layer = 0; layer < topShapeLayers.length; ++layer) {
|
||||||
|
const layerMergingAt = layerToMergeAt + layer;
|
||||||
|
const bottomShapeLayer = mergedLayers[layerMergingAt];
|
||||||
|
const topShapeLayer = topShapeLayers[layer];
|
||||||
|
for (let quad = 0; quad < 4; quad++) {
|
||||||
|
bottomShapeLayer[quad] = bottomShapeLayer[quad] || topShapeLayer[quad];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
mergedLayers.splice(4);
|
||||||
|
|
||||||
|
return new ShapeDefinition({ layers: mergedLayers });
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -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
|
* Generates a definition for stacking the upper definition onto the lower one
|
||||||
* @param {ShapeDefinition} lowerDefinition
|
* @param {ShapeDefinition} lowerDefinition
|
||||||
|
@ -185,7 +185,7 @@ export class ItemProcessorSystem extends GameSystemWithFilter {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ROTATER ( CCW)
|
// ROTATER (CCW)
|
||||||
case enumItemProcessorTypes.rotaterCCW: {
|
case enumItemProcessorTypes.rotaterCCW: {
|
||||||
const inputItem = /** @type {ShapeItem} */ (items[0].item);
|
const inputItem = /** @type {ShapeItem} */ (items[0].item);
|
||||||
assert(inputItem instanceof ShapeItem, "Input for rotation is not a shape");
|
assert(inputItem instanceof ShapeItem, "Input for rotation is not a shape");
|
||||||
@ -198,6 +198,19 @@ export class ItemProcessorSystem extends GameSystemWithFilter {
|
|||||||
break;
|
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
|
// STACKER
|
||||||
|
|
||||||
case enumItemProcessorTypes.stacker: {
|
case enumItemProcessorTypes.stacker: {
|
||||||
|
@ -15,6 +15,7 @@ export const enumHubGoalRewards = {
|
|||||||
reward_tunnel: "reward_tunnel",
|
reward_tunnel: "reward_tunnel",
|
||||||
|
|
||||||
reward_rotater_ccw: "reward_rotater_ccw",
|
reward_rotater_ccw: "reward_rotater_ccw",
|
||||||
|
reward_rotater_fl: "reward_rotater_fl",
|
||||||
reward_miner_chainable: "reward_miner_chainable",
|
reward_miner_chainable: "reward_miner_chainable",
|
||||||
reward_underground_belt_tier_2: "reward_underground_belt_tier_2",
|
reward_underground_belt_tier_2: "reward_underground_belt_tier_2",
|
||||||
reward_splitter_compact: "reward_splitter_compact",
|
reward_splitter_compact: "reward_splitter_compact",
|
||||||
|
@ -33,6 +33,7 @@ export const enumHubGoalRewardsToContentUnlocked = {
|
|||||||
[enumHubGoalRewards.reward_tunnel]: typed([[MetaUndergroundBeltBuilding, defaultBuildingVariant]]),
|
[enumHubGoalRewards.reward_tunnel]: typed([[MetaUndergroundBeltBuilding, defaultBuildingVariant]]),
|
||||||
|
|
||||||
[enumHubGoalRewards.reward_rotater_ccw]: typed([[MetaRotaterBuilding, enumRotaterVariants.ccw]]),
|
[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_miner_chainable]: typed([[MetaMinerBuilding, enumMinerVariants.chainable]]),
|
||||||
[enumHubGoalRewards.reward_underground_belt_tier_2]: typed([
|
[enumHubGoalRewards.reward_underground_belt_tier_2]: typed([
|
||||||
[MetaUndergroundBeltBuilding, enumUndergroundBeltVariants.tier2],
|
[MetaUndergroundBeltBuilding, enumUndergroundBeltVariants.tier2],
|
||||||
|
12
src/js/globals.d.ts
vendored
@ -36,11 +36,6 @@ declare interface CanvasRenderingContext2D {
|
|||||||
webkitImageSmoothingEnabled: boolean;
|
webkitImageSmoothingEnabled: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
declare interface HTMLCanvasElement {
|
|
||||||
opaque: boolean;
|
|
||||||
webkitOpaque: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Just for compatibility with the shared code
|
// Just for compatibility with the shared code
|
||||||
declare interface Logger {
|
declare interface Logger {
|
||||||
log(...args);
|
log(...args);
|
||||||
@ -127,13 +122,6 @@ declare interface NodeRequire {
|
|||||||
context(src: string, flag: boolean, regexp: RegExp): WebpackContext;
|
context(src: string, flag: boolean, regexp: RegExp): WebpackContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
// HTML Element
|
|
||||||
declare interface Element {
|
|
||||||
style: any;
|
|
||||||
innerText: string;
|
|
||||||
innerHTML: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
declare interface Object {
|
declare interface Object {
|
||||||
entries(obj: object): Array<[string, any]>;
|
entries(obj: object): Array<[string, any]>;
|
||||||
}
|
}
|
||||||
|
@ -81,6 +81,13 @@ export const LANGUAGES = {
|
|||||||
region: "",
|
region: "",
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"tr": {
|
||||||
|
name: "Türkçe",
|
||||||
|
data: require("./built-temp/base-tr.json"),
|
||||||
|
code: "tr",
|
||||||
|
region: "",
|
||||||
|
},
|
||||||
|
|
||||||
"zh-CN": {
|
"zh-CN": {
|
||||||
// simplified
|
// simplified
|
||||||
name: "中文简体",
|
name: "中文简体",
|
||||||
|
@ -102,7 +102,10 @@ export class AdinplayAdProvider extends AdProviderInterface {
|
|||||||
|
|
||||||
// Add the player
|
// Add the player
|
||||||
const videoElement = this.adContainerMainElement.querySelector(".videoInner");
|
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;
|
const self = this;
|
||||||
window.aiptag.cmd.player.push(function () {
|
window.aiptag.cmd.player.push(function () {
|
||||||
|
@ -95,6 +95,7 @@ export class PlatformWrapperImplBrowser extends PlatformWrapperInterface {
|
|||||||
request = window.indexedDB.open("indexeddb_feature_detection", 1);
|
request = window.indexedDB.open("indexeddb_feature_detection", 1);
|
||||||
} catch (ex) {
|
} catch (ex) {
|
||||||
logger.warn("Error while opening indexed db:", ex);
|
logger.warn("Error while opening indexed db:", ex);
|
||||||
|
this.app.storage = new StorageImplBrowser(this.app);
|
||||||
resolve();
|
resolve();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -13,8 +13,14 @@ import { LANGUAGES } from "../languages";
|
|||||||
|
|
||||||
const logger = createLogger("application_settings");
|
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 = [
|
export const uiScales = [
|
||||||
{
|
{
|
||||||
@ -122,7 +128,7 @@ export const allApplicationSettings = [
|
|||||||
options: Object.keys(LANGUAGES),
|
options: Object.keys(LANGUAGES),
|
||||||
valueGetter: key => key,
|
valueGetter: key => key,
|
||||||
textGetter: key => LANGUAGES[key].name,
|
textGetter: key => LANGUAGES[key].name,
|
||||||
category: categoryApp,
|
category: enumCategories.general,
|
||||||
restartRequired: true,
|
restartRequired: true,
|
||||||
changeCb: (app, id) => null,
|
changeCb: (app, id) => null,
|
||||||
magicValue: "auto-detect",
|
magicValue: "auto-detect",
|
||||||
@ -132,7 +138,7 @@ export const allApplicationSettings = [
|
|||||||
options: uiScales.sort((a, b) => a.size - b.size),
|
options: uiScales.sort((a, b) => a.size - b.size),
|
||||||
valueGetter: scale => scale.id,
|
valueGetter: scale => scale.id,
|
||||||
textGetter: scale => T.settings.labels.uiScale.scales[scale.id],
|
textGetter: scale => T.settings.labels.uiScale.scales[scale.id],
|
||||||
category: categoryApp,
|
category: enumCategories.userInterface,
|
||||||
restartRequired: false,
|
restartRequired: false,
|
||||||
changeCb:
|
changeCb:
|
||||||
/**
|
/**
|
||||||
@ -143,7 +149,7 @@ export const allApplicationSettings = [
|
|||||||
|
|
||||||
new BoolSetting(
|
new BoolSetting(
|
||||||
"fullscreen",
|
"fullscreen",
|
||||||
categoryApp,
|
enumCategories.general,
|
||||||
/**
|
/**
|
||||||
* @param {Application} app
|
* @param {Application} app
|
||||||
*/
|
*/
|
||||||
@ -157,7 +163,7 @@ export const allApplicationSettings = [
|
|||||||
|
|
||||||
new BoolSetting(
|
new BoolSetting(
|
||||||
"soundsMuted",
|
"soundsMuted",
|
||||||
categoryApp,
|
enumCategories.general,
|
||||||
/**
|
/**
|
||||||
* @param {Application} app
|
* @param {Application} app
|
||||||
*/
|
*/
|
||||||
@ -165,7 +171,7 @@ export const allApplicationSettings = [
|
|||||||
),
|
),
|
||||||
new BoolSetting(
|
new BoolSetting(
|
||||||
"musicMuted",
|
"musicMuted",
|
||||||
categoryApp,
|
enumCategories.general,
|
||||||
/**
|
/**
|
||||||
* @param {Application} app
|
* @param {Application} app
|
||||||
*/
|
*/
|
||||||
@ -174,7 +180,7 @@ export const allApplicationSettings = [
|
|||||||
|
|
||||||
new BoolSetting(
|
new BoolSetting(
|
||||||
"enableColorBlindHelper",
|
"enableColorBlindHelper",
|
||||||
categoryApp,
|
enumCategories.general,
|
||||||
/**
|
/**
|
||||||
* @param {Application} app
|
* @param {Application} app
|
||||||
*/
|
*/
|
||||||
@ -182,13 +188,13 @@ export const allApplicationSettings = [
|
|||||||
),
|
),
|
||||||
|
|
||||||
// GAME
|
// GAME
|
||||||
new BoolSetting("offerHints", categoryGame, (app, value) => {}),
|
new BoolSetting("offerHints", enumCategories.userInterface, (app, value) => {}),
|
||||||
|
|
||||||
new EnumSetting("theme", {
|
new EnumSetting("theme", {
|
||||||
options: Object.keys(THEMES),
|
options: Object.keys(THEMES),
|
||||||
valueGetter: theme => theme,
|
valueGetter: theme => theme,
|
||||||
textGetter: theme => T.settings.labels.theme.themes[theme],
|
textGetter: theme => T.settings.labels.theme.themes[theme],
|
||||||
category: categoryGame,
|
category: enumCategories.userInterface,
|
||||||
restartRequired: false,
|
restartRequired: false,
|
||||||
changeCb:
|
changeCb:
|
||||||
/**
|
/**
|
||||||
@ -205,7 +211,7 @@ export const allApplicationSettings = [
|
|||||||
options: autosaveIntervals,
|
options: autosaveIntervals,
|
||||||
valueGetter: interval => interval.id,
|
valueGetter: interval => interval.id,
|
||||||
textGetter: interval => T.settings.labels.autosaveInterval.intervals[interval.id],
|
textGetter: interval => T.settings.labels.autosaveInterval.intervals[interval.id],
|
||||||
category: categoryGame,
|
category: enumCategories.advanced,
|
||||||
restartRequired: false,
|
restartRequired: false,
|
||||||
changeCb:
|
changeCb:
|
||||||
/**
|
/**
|
||||||
@ -218,7 +224,7 @@ export const allApplicationSettings = [
|
|||||||
options: ["60", "100", "120", "144", "165", "250", G_IS_DEV ? "10" : "500"],
|
options: ["60", "100", "120", "144", "165", "250", G_IS_DEV ? "10" : "500"],
|
||||||
valueGetter: rate => rate,
|
valueGetter: rate => rate,
|
||||||
textGetter: rate => rate + " Hz",
|
textGetter: rate => rate + " Hz",
|
||||||
category: categoryGame,
|
category: enumCategories.advanced,
|
||||||
restartRequired: false,
|
restartRequired: false,
|
||||||
changeCb: (app, id) => {},
|
changeCb: (app, id) => {},
|
||||||
enabled: !IS_DEMO,
|
enabled: !IS_DEMO,
|
||||||
@ -228,7 +234,7 @@ export const allApplicationSettings = [
|
|||||||
options: scrollWheelSensitivities.sort((a, b) => a.scale - b.scale),
|
options: scrollWheelSensitivities.sort((a, b) => a.scale - b.scale),
|
||||||
valueGetter: scale => scale.id,
|
valueGetter: scale => scale.id,
|
||||||
textGetter: scale => T.settings.labels.scrollWheelSensitivity.sensitivity[scale.id],
|
textGetter: scale => T.settings.labels.scrollWheelSensitivity.sensitivity[scale.id],
|
||||||
category: categoryGame,
|
category: enumCategories.advanced,
|
||||||
restartRequired: false,
|
restartRequired: false,
|
||||||
changeCb:
|
changeCb:
|
||||||
/**
|
/**
|
||||||
@ -241,17 +247,17 @@ export const allApplicationSettings = [
|
|||||||
options: movementSpeeds.sort((a, b) => a.multiplier - b.multiplier),
|
options: movementSpeeds.sort((a, b) => a.multiplier - b.multiplier),
|
||||||
valueGetter: multiplier => multiplier.id,
|
valueGetter: multiplier => multiplier.id,
|
||||||
textGetter: multiplier => T.settings.labels.movementSpeed.speeds[multiplier.id],
|
textGetter: multiplier => T.settings.labels.movementSpeed.speeds[multiplier.id],
|
||||||
category: categoryGame,
|
category: enumCategories.advanced,
|
||||||
restartRequired: false,
|
restartRequired: false,
|
||||||
changeCb: (app, id) => {},
|
changeCb: (app, id) => {},
|
||||||
}),
|
}),
|
||||||
|
|
||||||
new BoolSetting("alwaysMultiplace", categoryGame, (app, value) => {}),
|
new BoolSetting("alwaysMultiplace", enumCategories.advanced, (app, value) => {}),
|
||||||
new BoolSetting("enableTunnelSmartplace", categoryGame, (app, value) => {}),
|
new BoolSetting("enableTunnelSmartplace", enumCategories.advanced, (app, value) => {}),
|
||||||
new BoolSetting("vignette", categoryGame, (app, value) => {}),
|
new BoolSetting("vignette", enumCategories.userInterface, (app, value) => {}),
|
||||||
new BoolSetting("compactBuildingInfo", categoryGame, (app, value) => {}),
|
new BoolSetting("compactBuildingInfo", enumCategories.userInterface, (app, value) => {}),
|
||||||
new BoolSetting("disableCutDeleteWarnings", categoryGame, (app, value) => {}),
|
new BoolSetting("disableCutDeleteWarnings", enumCategories.advanced, (app, value) => {}),
|
||||||
new BoolSetting("rotationByBuilding", categoryGame, (app, value) => {}),
|
new BoolSetting("rotationByBuilding", enumCategories.advanced, (app, value) => {}),
|
||||||
];
|
];
|
||||||
|
|
||||||
export function getApplicationSettingById(id) {
|
export function getApplicationSettingById(id) {
|
||||||
|
@ -40,7 +40,7 @@ export class BaseSetting {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {Application} app
|
* @param {Application} app
|
||||||
* @param {Element} element
|
* @param {HTMLElement} element
|
||||||
* @param {any} dialogs
|
* @param {any} dialogs
|
||||||
*/
|
*/
|
||||||
bind(app, element, dialogs) {
|
bind(app, element, dialogs) {
|
||||||
@ -188,7 +188,7 @@ export class BoolSetting extends BaseSetting {
|
|||||||
return `
|
return `
|
||||||
<div class="setting cardbox ${this.enabled ? "enabled" : "disabled"}">
|
<div class="setting cardbox ${this.enabled ? "enabled" : "disabled"}">
|
||||||
${this.enabled ? "" : `<span class="standaloneOnlyHint">${T.demo.settingNotAvailable}</span>`}
|
${this.enabled ? "" : `<span class="standaloneOnlyHint">${T.demo.settingNotAvailable}</span>`}
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<label>${T.settings.labels[this.id].title}</label>
|
<label>${T.settings.labels[this.id].title}</label>
|
||||||
<div class="value checkbox checked" data-setting="${this.id}">
|
<div class="value checkbox checked" data-setting="${this.id}">
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
import { TextualGameState } from "../core/textual_game_state";
|
import { TextualGameState } from "../core/textual_game_state";
|
||||||
import { SOUNDS } from "../platform/sound";
|
|
||||||
import { T } from "../translations";
|
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 { THIRDPARTY_URLS } from "../core/config";
|
||||||
|
import { cachebust } from "../core/cachebust";
|
||||||
|
|
||||||
export class AboutState extends TextualGameState {
|
export class AboutState extends TextualGameState {
|
||||||
constructor() {
|
constructor() {
|
||||||
@ -15,9 +13,16 @@ export class AboutState extends TextualGameState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getMainContentHTML() {
|
getMainContentHTML() {
|
||||||
return T.about.body
|
return `
|
||||||
.replace("<githublink>", THIRDPARTY_URLS.github)
|
<div class="head">
|
||||||
.replace("<discordlink>", THIRDPARTY_URLS.discord);
|
<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() {
|
onEnter() {
|
||||||
|
@ -46,7 +46,7 @@ export class MainMenuState extends GameState {
|
|||||||
: ""
|
: ""
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<video autoplay muted loop class="fullscreenBackgroundVideo">
|
<video autoplay muted loop class="fullscreenBackgroundVideo">
|
||||||
<source src="${cachebust("res/bg_render.webm")}" type="video/webm">
|
<source src="${cachebust("res/bg_render.webm")}" type="video/webm">
|
||||||
</video>
|
</video>
|
||||||
@ -92,10 +92,10 @@ export class MainMenuState extends GameState {
|
|||||||
<a class="redditLink">${T.mainMenu.subreddit}</a>
|
<a class="redditLink">${T.mainMenu.subreddit}</a>
|
||||||
|
|
||||||
<a class="changelog">${T.changelog.title}</a>
|
<a class="changelog">${T.changelog.title}</a>
|
||||||
|
|
||||||
<a class="helpTranslate">${T.mainMenu.helpTranslate}</a>
|
<a class="helpTranslate">${T.mainMenu.helpTranslate}</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="author">${T.mainMenu.madeBy.replace(
|
<div class="author">${T.mainMenu.madeBy.replace(
|
||||||
"<author-link>",
|
"<author-link>",
|
||||||
'<a class="producerLink" target="_blank">Tobias Springer</a>'
|
'<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(".languageChoose"), this.onLanguageChooseClicked);
|
||||||
this.trackClicks(qs(".helpTranslate"), this.onTranslationHelpLinkClicked);
|
this.trackClicks(qs(".helpTranslate"), this.onTranslationHelpLinkClicked);
|
||||||
|
|
||||||
const contestButton = qs(".participateContest");
|
|
||||||
if (contestButton) {
|
|
||||||
this.trackClicks(contestButton, this.onContestClicked);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (G_IS_STANDALONE) {
|
if (G_IS_STANDALONE) {
|
||||||
this.trackClicks(qs(".exitAppButton"), this.onExitAppButtonClicked);
|
this.trackClicks(qs(".exitAppButton"), this.onExitAppButtonClicked);
|
||||||
}
|
}
|
||||||
@ -312,15 +307,6 @@ export class MainMenuState extends GameState {
|
|||||||
this.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.reddit);
|
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() {
|
onLanguageChooseClicked() {
|
||||||
this.app.analytics.trackUiClick("choose_language");
|
this.app.analytics.trackUiClick("choose_language");
|
||||||
const setting = /** @type {EnumSetting} */ (getApplicationSettingById("language"));
|
const setting = /** @type {EnumSetting} */ (getApplicationSettingById("language"));
|
||||||
|
@ -37,7 +37,7 @@ export class PreloadState extends GameState {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
onEnter(payload) {
|
onEnter() {
|
||||||
this.htmlElement.classList.add("prefab_LoadingState");
|
this.htmlElement.classList.add("prefab_LoadingState");
|
||||||
|
|
||||||
const elementsToRemove = ["#loadingPreload", "#fontPreload"];
|
const elementsToRemove = ["#loadingPreload", "#fontPreload"];
|
||||||
@ -52,9 +52,13 @@ export class PreloadState extends GameState {
|
|||||||
const dialogsElement = document.body.querySelector(".modalDialogParent");
|
const dialogsElement = document.body.querySelector(".modalDialogParent");
|
||||||
this.dialogs.initializeToElement(dialogsElement);
|
this.dialogs.initializeToElement(dialogsElement);
|
||||||
|
|
||||||
|
/** @type {HTMLElement} */
|
||||||
this.statusText = this.htmlElement.querySelector(".loadingStatus > .desc");
|
this.statusText = this.htmlElement.querySelector(".loadingStatus > .desc");
|
||||||
|
/** @type {HTMLElement} */
|
||||||
this.statusBar = this.htmlElement.querySelector(".loadingStatus > .bar > .inner");
|
this.statusBar = this.htmlElement.querySelector(".loadingStatus > .bar > .inner");
|
||||||
|
/** @type {HTMLElement} */
|
||||||
this.statusBarText = this.htmlElement.querySelector(".loadingStatus > .bar > .status");
|
this.statusBarText = this.htmlElement.querySelector(".loadingStatus > .bar > .status");
|
||||||
|
|
||||||
this.currentStatus = "booting";
|
this.currentStatus = "booting";
|
||||||
this.currentIndex = 0;
|
this.currentIndex = 0;
|
||||||
|
|
||||||
@ -251,12 +255,12 @@ export class PreloadState extends GameState {
|
|||||||
${this.currentStatus} failed:<br/>
|
${this.currentStatus} failed:<br/>
|
||||||
${text}
|
${text}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="supportHelp">
|
<div class="supportHelp">
|
||||||
Please send me an email with steps to reproduce and what you did before this happened:
|
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>
|
<br /><a class="email" href="mailto:${email}?subject=App%20does%20not%20launch">${email}</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="lower">
|
<div class="lower">
|
||||||
<button class="resetApp styledButton">Reset App</button>
|
<button class="resetApp styledButton">Reset App</button>
|
||||||
<i>Build ${G_BUILD_VERSION} @ ${G_BUILD_COMMIT_HASH}</i>
|
<i>Build ${G_BUILD_VERSION} @ ${G_BUILD_COMMIT_HASH}</i>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { TextualGameState } from "../core/textual_game_state";
|
import { TextualGameState } from "../core/textual_game_state";
|
||||||
import { formatSecondsToTimeAgo } from "../core/utils";
|
import { formatSecondsToTimeAgo } from "../core/utils";
|
||||||
import { allApplicationSettings } from "../profile/application_settings";
|
import { allApplicationSettings, enumCategories } from "../profile/application_settings";
|
||||||
import { T } from "../translations";
|
import { T } from "../translations";
|
||||||
|
|
||||||
export class SettingsState extends TextualGameState {
|
export class SettingsState extends TextualGameState {
|
||||||
@ -15,50 +15,65 @@ export class SettingsState extends TextualGameState {
|
|||||||
getMainContentHTML() {
|
getMainContentHTML() {
|
||||||
return `
|
return `
|
||||||
|
|
||||||
<div class="upperLinks">
|
<div class="sidebar">
|
||||||
|
${this.getCategoryButtonsHtml()}
|
||||||
|
|
||||||
${
|
${
|
||||||
this.app.platformWrapper.getSupportsKeyboard()
|
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>
|
||||||
|
|
||||||
|
<div class="versionbar">
|
||||||
${this.getSettingsHtml()}
|
<div class="buildVersion">${T.global.loading} ...</div>
|
||||||
<div class="versionbar">
|
</div>
|
||||||
<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() {
|
getSettingsHtml() {
|
||||||
let lastCategory = null;
|
const categoriesHTML = {};
|
||||||
let html = "";
|
|
||||||
|
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) {
|
for (let i = 0; i < allApplicationSettings.length; ++i) {
|
||||||
const setting = allApplicationSettings[i];
|
const setting = allApplicationSettings[i];
|
||||||
|
|
||||||
if (setting.categoryId !== lastCategory) {
|
categoriesHTML[setting.categoryId] += setting.getHtml();
|
||||||
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>";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return html;
|
return Object.keys(categoriesHTML)
|
||||||
|
.map(k => categoriesHTML[k] + "</div>")
|
||||||
|
.join("");
|
||||||
}
|
}
|
||||||
|
|
||||||
renderBuildText() {
|
renderBuildText() {
|
||||||
@ -90,10 +105,33 @@ export class SettingsState extends TextualGameState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.initSettings();
|
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() {
|
initSettings() {
|
||||||
allApplicationSettings.forEach(setting => {
|
allApplicationSettings.forEach(setting => {
|
||||||
|
/** @type {HTMLElement} */
|
||||||
const element = this.htmlElement.querySelector("[data-setting='" + setting.id + "']");
|
const element = this.htmlElement.querySelector("[data-setting='" + setting.id + "']");
|
||||||
setting.bind(this.app, element, this.dialogs);
|
setting.bind(this.app, element, this.dialogs);
|
||||||
setting.syncValueToElement();
|
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() {
|
onAboutClicked() {
|
||||||
this.moveToStateAddGoBack("AboutState");
|
this.moveToStateAddGoBack("AboutState");
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
/* Basic Options */
|
/* Basic Options */
|
||||||
"target": "es6" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */,
|
"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'. */,
|
"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. */,
|
"allowJs": true /* Allow javascript files to be compiled. */,
|
||||||
"checkJs": true /* Report errors in .js files. */,
|
"checkJs": true /* Report errors in .js files. */,
|
||||||
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
|
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
|
||||||
|
@ -31,6 +31,8 @@ The base language is English and can be found [here](base-en.yaml).
|
|||||||
- [Catalan](base-cat.yaml)
|
- [Catalan](base-cat.yaml)
|
||||||
- [Slovenian](base-sl.yaml)
|
- [Slovenian](base-sl.yaml)
|
||||||
- [Ukrainian](base-uk.yaml)
|
- [Ukrainian](base-uk.yaml)
|
||||||
|
- [Indonesian](base-ind.yaml)
|
||||||
|
- [Serbian](base-sr.yaml)
|
||||||
|
|
||||||
(If you want to translate into a new language, see below!)
|
(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
|
## 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:
|
Please use the following template:
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -151,7 +151,6 @@ mainMenu:
|
|||||||
savegameLevel: Level <x>
|
savegameLevel: Level <x>
|
||||||
savegameLevelUnknown: Unknown Level
|
savegameLevelUnknown: Unknown Level
|
||||||
|
|
||||||
|
|
||||||
continue: Continue
|
continue: Continue
|
||||||
newGame: New Game
|
newGame: New Game
|
||||||
madeBy: Made by <author-link>
|
madeBy: Made by <author-link>
|
||||||
@ -491,6 +490,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: Rotate (CCW)
|
name: Rotate (CCW)
|
||||||
description: Rotates shapes counter clockwise by 90 degrees.
|
description: Rotates shapes counter clockwise by 90 degrees.
|
||||||
|
fl:
|
||||||
|
name: Rotate (180)
|
||||||
|
description: Rotates shapes by 180 degrees.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -632,8 +634,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: Settings
|
title: Settings
|
||||||
categories:
|
categories:
|
||||||
game: Game
|
general: General
|
||||||
app: Application
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Development
|
dev: Development
|
||||||
@ -844,9 +847,9 @@ about:
|
|||||||
If you want to contribute, check out <a href="<githublink>"
|
If you want to contribute, check out <a href="<githublink>"
|
||||||
target="_blank">shapez.io on github</a>.<br><br>
|
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>"
|
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"
|
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius"
|
||||||
target="_blank">Peppsen</a> - He's awesome.<br><br>
|
target="_blank">Peppsen</a> - He's awesome.<br><br>
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -154,8 +154,6 @@ mainMenu:
|
|||||||
savegameLevel: Nivell <x>
|
savegameLevel: Nivell <x>
|
||||||
savegameLevelUnknown: Nivell desconegut
|
savegameLevelUnknown: Nivell desconegut
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
dialogs:
|
dialogs:
|
||||||
buttons:
|
buttons:
|
||||||
ok: OK
|
ok: OK
|
||||||
@ -498,6 +496,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: Rotador (Antihorari)
|
name: Rotador (Antihorari)
|
||||||
description: Rota formes en sentit antihorari 90 graus.
|
description: Rota formes en sentit antihorari 90 graus.
|
||||||
|
fl:
|
||||||
|
name: Rotate (180)
|
||||||
|
description: Rotates shapes by 180 degrees.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -636,8 +637,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: Opcions
|
title: Opcions
|
||||||
categories:
|
categories:
|
||||||
game: Joc
|
general: General
|
||||||
app: Aplicació
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Desenvolupament
|
dev: Desenvolupament
|
||||||
@ -828,7 +830,7 @@ about:
|
|||||||
body: >-
|
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>
|
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>
|
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:
|
changelog:
|
||||||
|
@ -132,7 +132,6 @@ mainMenu:
|
|||||||
savegameLevel: Úroveň <x>
|
savegameLevel: Úroveň <x>
|
||||||
savegameLevelUnknown: Neznámá úroveň
|
savegameLevelUnknown: Neznámá úroveň
|
||||||
|
|
||||||
|
|
||||||
continue: Pokračovat
|
continue: Pokračovat
|
||||||
newGame: Nová hra
|
newGame: Nová hra
|
||||||
madeBy: Vytvořil <author-link>
|
madeBy: Vytvořil <author-link>
|
||||||
@ -472,6 +471,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: Rotor (opačný)
|
name: Rotor (opačný)
|
||||||
description: Otáčí tvary o 90 stupňů proti směru hodinových ručiček
|
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:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -613,8 +615,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: Nastavení
|
title: Nastavení
|
||||||
categories:
|
categories:
|
||||||
game: Hra
|
general: General
|
||||||
app: Aplikace
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Vývojová verze
|
dev: Vývojová verze
|
||||||
@ -824,9 +827,9 @@ about:
|
|||||||
Pokud se chceš na hře podílet, podívej se na <a href="<githublink>"
|
Pokud se chceš na hře podílet, podívej se na <a href="<githublink>"
|
||||||
target="_blank">shapez.io na githubu</a>.<br><br>
|
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>"
|
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"
|
Soundtrack udělal <a href="https://soundcloud.com/pettersumelius"
|
||||||
target="_blank">Peppsen</a> - Je úžasnej.<br><br>
|
target="_blank">Peppsen</a> - Je úžasnej.<br><br>
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -155,8 +155,6 @@ mainMenu:
|
|||||||
savegameLevel: Level <x>
|
savegameLevel: Level <x>
|
||||||
savegameLevelUnknown: Unknown Level
|
savegameLevelUnknown: Unknown Level
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
dialogs:
|
dialogs:
|
||||||
buttons:
|
buttons:
|
||||||
ok: OK
|
ok: OK
|
||||||
@ -491,6 +489,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: Rotate (CCW)
|
name: Rotate (CCW)
|
||||||
description: Rotates shapes counter clockwise by 90 degrees.
|
description: Rotates shapes counter clockwise by 90 degrees.
|
||||||
|
fl:
|
||||||
|
name: Rotate (180)
|
||||||
|
description: Rotates shapes by 180 degrees.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -636,8 +637,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: Settings
|
title: Settings
|
||||||
categories:
|
categories:
|
||||||
game: Game
|
general: General
|
||||||
app: Application
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Development
|
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>
|
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>
|
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius" target="_blank">Peppsen</a> - He's awesome.<br><br>
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -23,7 +23,7 @@ steamPage:
|
|||||||
# This is the short text appearing on the steam page
|
# 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.
|
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!
|
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.
|
# 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.
|
||||||
@ -616,7 +616,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!
|
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:
|
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!)
|
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:
|
reward_blueprints:
|
||||||
@ -645,7 +645,7 @@ settings:
|
|||||||
dev: Entwicklung
|
dev: Entwicklung
|
||||||
staging: Beta
|
staging: Beta
|
||||||
prod: Produktion
|
prod: Produktion
|
||||||
buildDate: Gebaut <at-date>
|
buildDate: Gebaut am <at-date>
|
||||||
|
|
||||||
labels:
|
labels:
|
||||||
uiScale:
|
uiScale:
|
||||||
@ -815,7 +815,7 @@ keybindings:
|
|||||||
|
|
||||||
rotateWhilePlacing: Rotieren
|
rotateWhilePlacing: Rotieren
|
||||||
rotateInverseModifier: >-
|
rotateInverseModifier: >-
|
||||||
Modifikator: stattdessen gegen UZS rotieren
|
Modifikator: stattdessen gegen den UZS rotieren
|
||||||
cycleBuildingVariants: Variante wählen
|
cycleBuildingVariants: Variante wählen
|
||||||
confirmMassDelete: Massenlöschung bestätigen
|
confirmMassDelete: Massenlöschung bestätigen
|
||||||
cycleBuildings: Gebäude rotieren
|
cycleBuildings: Gebäude rotieren
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -151,7 +151,6 @@ mainMenu:
|
|||||||
savegameLevel: Level <x>
|
savegameLevel: Level <x>
|
||||||
savegameLevelUnknown: Unknown Level
|
savegameLevelUnknown: Unknown Level
|
||||||
|
|
||||||
|
|
||||||
continue: Continue
|
continue: Continue
|
||||||
newGame: New Game
|
newGame: New Game
|
||||||
madeBy: Made by <author-link>
|
madeBy: Made by <author-link>
|
||||||
@ -486,6 +485,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: Rotate (CCW)
|
name: Rotate (CCW)
|
||||||
description: Rotates shapes counter clockwise by 90 degrees.
|
description: Rotates shapes counter clockwise by 90 degrees.
|
||||||
|
fl:
|
||||||
|
name: Rotate (180)
|
||||||
|
description: Rotates shapes by 180 degrees.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -632,8 +634,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: Settings
|
title: Settings
|
||||||
categories:
|
categories:
|
||||||
game: Game
|
general: General
|
||||||
app: Application
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Development
|
dev: Development
|
||||||
@ -845,7 +848,7 @@ about:
|
|||||||
If you want to contribute, check out <a href="<githublink>"
|
If you want to contribute, check out <a href="<githublink>"
|
||||||
target="_blank">shapez.io on github</a>.<br><br>
|
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>"
|
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>
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -23,7 +23,7 @@ steamPage:
|
|||||||
# This is the short text appearing on the steam page
|
# 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.
|
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!
|
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.
|
# 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.
|
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.
|
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]
|
[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.
|
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]
|
[b]Links[/b]
|
||||||
|
|
||||||
@ -503,6 +503,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: Rotate (CCW)
|
name: Rotate (CCW)
|
||||||
description: Rotates shapes counter-clockwise by 90 degrees.
|
description: Rotates shapes counter-clockwise by 90 degrees.
|
||||||
|
fl:
|
||||||
|
name: Rotate (180)
|
||||||
|
description: Rotates shapes by 180 degrees.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -644,8 +647,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: Settings
|
title: Settings
|
||||||
categories:
|
categories:
|
||||||
game: Game
|
general: General
|
||||||
app: Application
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Development
|
dev: Development
|
||||||
@ -852,13 +856,13 @@ about:
|
|||||||
body: >-
|
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>
|
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>
|
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:
|
changelog:
|
||||||
title: Changelog
|
title: Changelog
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -23,9 +23,9 @@ steamPage:
|
|||||||
# This is the short text appearing on the steam page
|
# 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.
|
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!
|
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.
|
# 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:
|
# NOTICE:
|
||||||
# - Do not translate the first line (This is the gif image at the start of the store)
|
# - Do not translate the first line (This is the gif image at the start of the store)
|
||||||
@ -33,7 +33,7 @@ steamPage:
|
|||||||
longText: >-
|
longText: >-
|
||||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
[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.
|
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]!
|
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]
|
[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.
|
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]
|
[b]Enlaces[/b]
|
||||||
|
|
||||||
@ -219,7 +219,7 @@ dialogs:
|
|||||||
oneSavegameLimit:
|
oneSavegameLimit:
|
||||||
title: Partidas guardadas limitadas
|
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!
|
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:
|
updateSummary:
|
||||||
title: ¡Nueva actualización!
|
title: ¡Nueva actualización!
|
||||||
desc: >-
|
desc: >-
|
||||||
@ -502,6 +502,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: Rotador (Inverso)
|
name: Rotador (Inverso)
|
||||||
description: Rota las figuras en sentido antihorario 90 grados.
|
description: Rota las figuras en sentido antihorario 90 grados.
|
||||||
|
fl:
|
||||||
|
name: Rotate (180)
|
||||||
|
description: Rotates shapes by 180 degrees.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -556,7 +559,7 @@ buildings:
|
|||||||
merger:
|
merger:
|
||||||
name: Fusionador de cables
|
name: Fusionador de cables
|
||||||
description: Fusiona dos cables en uno
|
description: Fusiona dos cables en uno
|
||||||
|
|
||||||
storyRewards:
|
storyRewards:
|
||||||
# Those are the rewards gained from completing the store
|
# Those are the rewards gained from completing the store
|
||||||
reward_cutter_and_trash:
|
reward_cutter_and_trash:
|
||||||
@ -642,8 +645,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: Opciones
|
title: Opciones
|
||||||
categories:
|
categories:
|
||||||
game: Juego
|
general: General
|
||||||
app: Aplicación
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Desarrollo
|
dev: Desarrollo
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -155,8 +155,6 @@ mainMenu:
|
|||||||
savegameLevel: Taso <x>
|
savegameLevel: Taso <x>
|
||||||
savegameLevelUnknown: Tuntematon Taso
|
savegameLevelUnknown: Tuntematon Taso
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
dialogs:
|
dialogs:
|
||||||
buttons:
|
buttons:
|
||||||
ok: OK
|
ok: OK
|
||||||
@ -501,6 +499,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: Rotate (Vastapäivään)
|
name: Rotate (Vastapäivään)
|
||||||
description: Kääntää muotoja 90 astetta vastapäivään.
|
description: Kääntää muotoja 90 astetta vastapäivään.
|
||||||
|
fl:
|
||||||
|
name: Rotate (180)
|
||||||
|
description: Rotates shapes by 180 degrees.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -640,8 +641,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: Asetukset
|
title: Asetukset
|
||||||
categories:
|
categories:
|
||||||
game: Peli
|
general: General
|
||||||
app: Sovellus
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Kehitys
|
dev: Kehitys
|
||||||
@ -850,7 +852,7 @@ about:
|
|||||||
|
|
||||||
Jos haluat osallistua, tarkista <a href="<githublink>" target="_blank">shapez.io githubissa</a>.<br><br>
|
Jos haluat osallistua, tarkista <a href="<githublink>" target="_blank">shapez.io githubissa</a>.<br><br>
|
||||||
|
|
||||||
Tämä peli ei olisi ollut mahdollinen ilman suurta discord yhteisöä pelini ympärillä - Sinun kannattaisi liittyä <a href="<discordlink>" target="_blank">discord palvelimelleni</a>!<br><br>
|
Tämä peli ei olisi ollut 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>
|
Ääniraidan on tehnyt <a href="https://soundcloud.com/pettersumelius" target="_blank">Peppsen</a> - Hän on mahtava.<br><br>
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -30,48 +30,47 @@ steamPage:
|
|||||||
longText: >-
|
longText: >-
|
||||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
[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.
|
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.
|
||||||
En livrant les bonnes formes tu vas progresser dans le jeu et débloquer des améliorations pour accélerer ton usine.
|
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]
|
[list]
|
||||||
[*] Mode sombre
|
[*] Mode sombre
|
||||||
[*] Balises infinies
|
[*] Balises infinies
|
||||||
[*] Sauvegardes infinies
|
[*] Parties infinies
|
||||||
[*] Plus de setting
|
[*] Plus d'options
|
||||||
[*] Arrive bientôt: Cables et éléctricité! Sort en Juillet 2020.
|
[*] Prochainement: Câbles et énergie ! Prévu pour (environ) fin Juillet 2020.
|
||||||
[*] Arrive bientôt: Plus de niveaux
|
[*] Prochainement: Plus de niveaux
|
||||||
[*] Me permet de plus déveloper le jeu ❤️
|
[*] Aidez moi à continuer de développer shapez.io ❤️
|
||||||
[/list]
|
[/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]
|
[list]
|
||||||
[*] Plusieurs cartes et challenges (e.g. carte avec des obstacles)
|
[*] Différentes cartes et challenges (e.g. carte avec obstacles)
|
||||||
[*] Puzzles (Livrer les formes avec des batiments limités/une carte limitée)
|
[*] Puzzles (Délivrer la forme requise avec une zone limitée/jeu de batîments)
|
||||||
[*] Un mode histoire ou les bâtiments on un coût
|
[*] Un mode histoire où les batîments ont un coût
|
||||||
[*] Générateur de carte configurable (Configure les ressources/formes leur taille, densité et plus)
|
[*] Générateur de carte configurable (configuration des ressources/formes taille/densitée, graine et plus)
|
||||||
[*] Plus de formes
|
[*] Plus de formes
|
||||||
[*] Meilleures performances (Le jeu est déja très optimisé!)
|
[*] Amélioration des performances (Le jeu tourne déjà plutot bien!)
|
||||||
[*] Et bien plus!
|
[*] Et bien plus !
|
||||||
[/list]
|
[/list]
|
||||||
|
|
||||||
[b]Ce jeu est open source![/b]
|
[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!
|
|
||||||
|
|
||||||
|
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]
|
[b]Liens[/b]
|
||||||
|
|
||||||
[list]
|
[list]
|
||||||
@ -79,17 +78,17 @@ steamPage:
|
|||||||
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Trello[/url]
|
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Trello[/url]
|
||||||
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/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]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]
|
[/list]
|
||||||
|
|
||||||
discordLink: Discord officiel - Parles avec moi!
|
discordLink: Discord officiel - Parlez avec moi!
|
||||||
|
|
||||||
global:
|
global:
|
||||||
loading: Chargement
|
loading: Chargement
|
||||||
error: Erreur
|
error: Erreur
|
||||||
|
|
||||||
# How big numbers are rendered, e.g. "10,000"
|
# 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"
|
# What symbol to use to seperate the integer part from the fractional part of a number, e.g. "0.4"
|
||||||
decimalSeparator: ","
|
decimalSeparator: ","
|
||||||
@ -141,9 +140,9 @@ mainMenu:
|
|||||||
play: Jouer
|
play: Jouer
|
||||||
changelog: Historique
|
changelog: Historique
|
||||||
importSavegame: Importer
|
importSavegame: Importer
|
||||||
openSourceHint: Ce jeu est open source !
|
openSourceHint: Ce jeu est open source!
|
||||||
discordLink: Serveur Discord officiel
|
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.
|
# This is shown when using firefox and other browsers which are not supported.
|
||||||
browserWarning: >-
|
browserWarning: >-
|
||||||
@ -167,7 +166,7 @@ dialogs:
|
|||||||
reset: Réinitialiser
|
reset: Réinitialiser
|
||||||
getStandalone: Se procurer la version complète
|
getStandalone: Se procurer la version complète
|
||||||
deleteGame: Je sais ce que je fais
|
deleteGame: Je sais ce que je fais
|
||||||
viewUpdate: Voir les mises-à-jour
|
viewUpdate: Voir les mises à jour
|
||||||
showUpgrades: Montrer les améliorations
|
showUpgrades: Montrer les améliorations
|
||||||
showKeybindings: Montrer les raccourcis
|
showKeybindings: Montrer les raccourcis
|
||||||
|
|
||||||
@ -182,7 +181,7 @@ dialogs:
|
|||||||
Votre sauvegarde a été importée avec succès.
|
Votre sauvegarde a été importée avec succès.
|
||||||
|
|
||||||
gameLoadFailure:
|
gameLoadFailure:
|
||||||
title: Le jeu est cassé
|
title: La sauvegarde est corrompue
|
||||||
text: >-
|
text: >-
|
||||||
Impossible de charger votre sauvegarde:
|
Impossible de charger votre sauvegarde:
|
||||||
|
|
||||||
@ -203,7 +202,7 @@ dialogs:
|
|||||||
|
|
||||||
editKeybinding:
|
editKeybinding:
|
||||||
title: Changer les contrôles
|
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:
|
resetKeybindingsConfirmation:
|
||||||
title: Réinitialiser les contrôles
|
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 !
|
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:
|
updateSummary:
|
||||||
title: Nouvel mise-à-jour !
|
title: Nouvelle mise à jour !
|
||||||
desc: >-
|
desc: >-
|
||||||
Voici les modifications depuis votre dernière session:
|
Voici les modifications depuis votre dernière session:
|
||||||
|
|
||||||
@ -240,8 +239,7 @@ dialogs:
|
|||||||
massCutConfirm:
|
massCutConfirm:
|
||||||
title: Confirmer la coupure
|
title: Confirmer la coupure
|
||||||
desc: >-
|
desc: >-
|
||||||
Vous vous apprêtez à couper beaucoup de bâtiments (<count> pour être précis) ! Êtes-vous
|
Vous vous apprêtez à couper beaucoup de bâtiments (<count> pour être précis) ! Êtes-vous certains de vouloir faire cela ?
|
||||||
certains de vouloir faire cela ?
|
|
||||||
|
|
||||||
blueprintsNotUnlocked:
|
blueprintsNotUnlocked:
|
||||||
title: Pas encore débloqué
|
title: Pas encore débloqué
|
||||||
@ -251,7 +249,7 @@ dialogs:
|
|||||||
keybindingsIntroduction:
|
keybindingsIntroduction:
|
||||||
title: Raccourcis utiles
|
title: Raccourcis utiles
|
||||||
desc: >-
|
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>
|
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'>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>
|
<code class='keybinding'>SHIFT</code>: Laissez appuyé pour placer plusieurs fois le même bâtiment.<br>
|
||||||
@ -260,7 +258,7 @@ dialogs:
|
|||||||
createMarker:
|
createMarker:
|
||||||
title: Nouvelle balise
|
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>)
|
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:
|
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 !
|
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:
|
exportScreenshotWarning:
|
||||||
title: Exporter une capture d'écran
|
title: Exporter une capture d'écran
|
||||||
desc: >-
|
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:
|
massCutInsufficientConfirm:
|
||||||
title: Confirm cut
|
title: Confirmer la coupe
|
||||||
desc: You can not afford to paste this area! Are you sure you want to cut it?
|
desc: Vous n'avez pas les moyens de copier cette zone ! Etes vous certain de vouloir la couper ?
|
||||||
|
|
||||||
ingame:
|
ingame:
|
||||||
# This is shown in the top left corner and displays useful keybindings in
|
# This is shown in the top left corner and displays useful keybindings in
|
||||||
@ -296,7 +294,7 @@ ingame:
|
|||||||
copySelection: Copier
|
copySelection: Copier
|
||||||
clearSelection: Effacer la sélection
|
clearSelection: Effacer la sélection
|
||||||
pipette: Pipette
|
pipette: Pipette
|
||||||
switchLayers: Switch layers
|
switchLayers: Échanger les calques
|
||||||
|
|
||||||
# Everything related to placing buildings (I.e. as soon as you selected a building
|
# Everything related to placing buildings (I.e. as soon as you selected a building
|
||||||
# from the toolbar)
|
# from the toolbar)
|
||||||
@ -411,11 +409,11 @@ ingame:
|
|||||||
cyan: Cyan
|
cyan: Cyan
|
||||||
white: Blanc
|
white: Blanc
|
||||||
uncolored: Non coloré
|
uncolored: Non coloré
|
||||||
black: Black
|
black: Noir
|
||||||
shapeViewer:
|
shapeViewer:
|
||||||
title: Calques
|
title: Calques
|
||||||
empty: Vide
|
empty: Vide
|
||||||
copyKey: Copy Key
|
copyKey: Copier la clé de forme
|
||||||
|
|
||||||
# All shop upgrades
|
# All shop upgrades
|
||||||
shopUpgrades:
|
shopUpgrades:
|
||||||
@ -488,6 +486,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: Pivoteur inversé
|
name: Pivoteur inversé
|
||||||
description: Fait pivoter une forme de 90 degrés vers la gauche.
|
description: Fait pivoter une forme de 90 degrés vers la gauche.
|
||||||
|
fl:
|
||||||
|
name: Rotate (180)
|
||||||
|
description: Rotates shapes by 180 degrees.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -527,25 +528,25 @@ buildings:
|
|||||||
levelShortcut: NV
|
levelShortcut: NV
|
||||||
wire:
|
wire:
|
||||||
default:
|
default:
|
||||||
name: Energy Wire
|
name: Ligne énergétique
|
||||||
description: Allows you to transport energy.
|
description: Permet de transporter de l'énergie.
|
||||||
advanced_processor:
|
advanced_processor:
|
||||||
default:
|
default:
|
||||||
name: Color Inverter
|
name: Inverseur de couleur
|
||||||
description: Accepts a color or shape and inverts it.
|
description: Accepte une couleur ou une forme et l'inverse.
|
||||||
energy_generator:
|
energy_generator:
|
||||||
deliver: Deliver
|
deliver: Délivrer
|
||||||
toGenerateEnergy: For
|
toGenerateEnergy: Pour
|
||||||
default:
|
default:
|
||||||
name: Energy Generator
|
name: Générateur d'énergie
|
||||||
description: Generates energy by consuming shapes.
|
description: Genère de l'énergie en consommant des formes.
|
||||||
wire_crossings:
|
wire_crossings:
|
||||||
default:
|
default:
|
||||||
name: Wire Splitter
|
name: Duplicateur de ligne
|
||||||
description: Splits a energy wire into two.
|
description: Sépare une ligne énergétique en deux.
|
||||||
merger:
|
merger:
|
||||||
name: Wire Merger
|
name: Fusionneur de ligne
|
||||||
description: Merges two energy wires into one.
|
description: Fusionne deux lignes énergétiques en une seule.
|
||||||
|
|
||||||
storyRewards:
|
storyRewards:
|
||||||
# Those are the rewards gained from completing the store
|
# Those are the rewards gained from completing the store
|
||||||
@ -568,7 +569,7 @@ storyRewards:
|
|||||||
|
|
||||||
reward_stacker:
|
reward_stacker:
|
||||||
title: Combineur
|
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:
|
reward_splitter:
|
||||||
title: Distributeur/Rassembleur
|
title: Distributeur/Rassembleur
|
||||||
@ -619,8 +620,6 @@ storyRewards:
|
|||||||
title: Patrons
|
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).
|
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
|
# Special reward, which is shown when there is no reward actually
|
||||||
no_reward:
|
no_reward:
|
||||||
title: Niveau suivant
|
title: Niveau suivant
|
||||||
@ -635,8 +634,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: Options
|
title: Options
|
||||||
categories:
|
categories:
|
||||||
game: Jeu
|
general: General
|
||||||
app: Application
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Développement
|
dev: Développement
|
||||||
@ -826,11 +826,11 @@ keybindings:
|
|||||||
lockBeltDirection: Utiliser le plannificateur de convoyeurs
|
lockBeltDirection: Utiliser le plannificateur de convoyeurs
|
||||||
switchDirectionLockSide: "Plannificateur: changer de côté"
|
switchDirectionLockSide: "Plannificateur: changer de côté"
|
||||||
pipette: Pipette
|
pipette: Pipette
|
||||||
menuClose: Close Menu
|
menuClose: Fermer le menu
|
||||||
switchLayers: Switch layers
|
switchLayers: Échanger les calques
|
||||||
advanced_processor: Color Inverter
|
advanced_processor: Inverseur de couleur
|
||||||
energy_generator: Energy Generator
|
energy_generator: Générateur d'énergie
|
||||||
wire: Energy Wire
|
wire: Ligne énergétique
|
||||||
|
|
||||||
about:
|
about:
|
||||||
title: À propos de ce jeu
|
title: À propos de ce jeu
|
||||||
@ -841,9 +841,9 @@ about:
|
|||||||
Si vous souhaitez contribuer, allez voir <a href="<githublink>"
|
Si vous souhaitez contribuer, allez voir <a href="<githublink>"
|
||||||
target="_blank">shapez.io sur github</a>.<br><br>
|
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>"
|
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"
|
La bande son a été créée par <a href="https://soundcloud.com/pettersumelius"
|
||||||
target="_blank">Peppsen</a> - Il est impressionnant !<br><br>
|
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 completed (and corrected) by Pascal Grossé and Withers001
|
||||||
|
|
||||||
|
# French translation entirely completed and corrected by martypiton
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -189,7 +189,6 @@ mainMenu:
|
|||||||
|
|
||||||
# TODO
|
# TODO
|
||||||
|
|
||||||
|
|
||||||
dialogs:
|
dialogs:
|
||||||
buttons:
|
buttons:
|
||||||
ok: OK
|
ok: OK
|
||||||
@ -534,6 +533,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: Obrtač (↺)
|
name: Obrtač (↺)
|
||||||
description: Okreće oblike za 90 stupnjeva u smjeru suprotnom od kazaljke na satu.
|
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:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -673,8 +675,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: Postavke
|
title: Postavke
|
||||||
categories:
|
categories:
|
||||||
game: Igra
|
general: General
|
||||||
app: Aplikacija
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Development
|
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>
|
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>
|
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius" target="_blank">Peppsen</a> - He's awesome.<br><br>
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -151,7 +151,6 @@ mainMenu:
|
|||||||
savegameLevel: <x>. szint
|
savegameLevel: <x>. szint
|
||||||
savegameLevelUnknown: Ismeretlen szint
|
savegameLevelUnknown: Ismeretlen szint
|
||||||
|
|
||||||
|
|
||||||
continue: Continue
|
continue: Continue
|
||||||
newGame: New Game
|
newGame: New Game
|
||||||
madeBy: Made by <author-link>
|
madeBy: Made by <author-link>
|
||||||
@ -486,6 +485,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: Rotate (CCW)
|
name: Rotate (CCW)
|
||||||
description: Rotates shapes counter clockwise by 90 degrees.
|
description: Rotates shapes counter clockwise by 90 degrees.
|
||||||
|
fl:
|
||||||
|
name: Rotate (180)
|
||||||
|
description: Rotates shapes by 180 degrees.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -631,8 +633,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: Beállítások
|
title: Beállítások
|
||||||
categories:
|
categories:
|
||||||
game: Game
|
general: General
|
||||||
app: Application
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Development
|
dev: Development
|
||||||
@ -842,9 +845,9 @@ about:
|
|||||||
If you want to contribute, check out <a href="<githublink>"
|
If you want to contribute, check out <a href="<githublink>"
|
||||||
target="_blank">shapez.io on github</a>.<br><br>
|
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>"
|
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"
|
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius"
|
||||||
target="_blank">Peppsen</a> - He's awesome.<br><br>
|
target="_blank">Peppsen</a> - He's awesome.<br><br>
|
||||||
|
878
translations/base-ind.yaml
Normal 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.
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -151,7 +151,6 @@ mainMenu:
|
|||||||
savegameLevel: Livello <x>
|
savegameLevel: Livello <x>
|
||||||
savegameLevelUnknown: Livello sconosciuto
|
savegameLevelUnknown: Livello sconosciuto
|
||||||
|
|
||||||
|
|
||||||
continue: Continua
|
continue: Continua
|
||||||
newGame: Nuova partita
|
newGame: Nuova partita
|
||||||
madeBy: Creato da <author-link>
|
madeBy: Creato da <author-link>
|
||||||
@ -486,6 +485,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: Rotate (CCW)
|
name: Rotate (CCW)
|
||||||
description: Rotates shapes counter clockwise by 90 degrees.
|
description: Rotates shapes counter clockwise by 90 degrees.
|
||||||
|
fl:
|
||||||
|
name: Rotate (180)
|
||||||
|
description: Rotates shapes by 180 degrees.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -632,8 +634,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: Impostazioni
|
title: Impostazioni
|
||||||
categories:
|
categories:
|
||||||
game: Gioco
|
general: General
|
||||||
app: Applicazione
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Sviluppo
|
dev: Sviluppo
|
||||||
@ -843,9 +846,9 @@ about:
|
|||||||
If you want to contribute, check out <a href="<githublink>"
|
If you want to contribute, check out <a href="<githublink>"
|
||||||
target="_blank">shapez.io on github</a>.<br><br>
|
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>"
|
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"
|
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius"
|
||||||
target="_blank">Peppsen</a> - He's awesome.<br><br>
|
target="_blank">Peppsen</a> - He's awesome.<br><br>
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -30,32 +30,32 @@ steamPage:
|
|||||||
longText: >-
|
longText: >-
|
||||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
[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.
|
shapez.ioは無限のマップ内で様々な"形"を資源とし、段々と複雑になっていく形の作成や合成の自動化を目指して工場を構築するゲームです。
|
||||||
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!
|
現在このゲームには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]
|
[list]
|
||||||
[*] Dark Mode
|
[*] ダークモード
|
||||||
[*] Unlimited Waypoints
|
[*] ウェイポイントの制限がありません
|
||||||
[*] Unlimited Savegames
|
[*] セーブの数の制限がありません
|
||||||
[*] Additional settings
|
[*] 様々な設定
|
||||||
[*] Coming soon: Wires & Energy! Aiming for (roughly) end of July 2020.
|
[*] 追加予定: ワイヤーとエネルギー! (7月末を目指しています)
|
||||||
[*] Coming soon: More Levels
|
[*] 追加予定: より多くのレベル
|
||||||
[*] Allows me to further develop shapez.io ❤️
|
[*] shapez.io開発が助けられます❤️
|
||||||
[/list]
|
[/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]
|
[list]
|
||||||
[*] Different maps and challenges (e.g. maps with obstacles)
|
[*] Different maps and challenges (e.g. maps with obstacles)
|
||||||
@ -67,22 +67,22 @@ steamPage:
|
|||||||
[*] And much more!
|
[*] And much more!
|
||||||
[/list]
|
[/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]
|
[list]
|
||||||
[*] [url=https://discord.com/invite/HN7EVzV]Official Discord[/url]
|
[*] [url=https://discord.com/invite/HN7EVzV]公式Discord[/url]
|
||||||
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roadmap[/url]
|
[*] [url=https://trello.com/b/ISQncpJP/shapezio]今後の予定[/url]
|
||||||
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
|
[*] [url=https://www.reddit.com/r/shapezio]Reddit[/url]
|
||||||
[*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url]
|
[*] [url=https://github.com/tobspr/shapez.io]ソースコード(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]翻訳に参加[/url]
|
||||||
[/list]
|
[/list]
|
||||||
|
|
||||||
discordLink: Official Discord - Chat with me!
|
discordLink: 公式Discord - 私と話せます!
|
||||||
|
|
||||||
global:
|
global:
|
||||||
loading: ロード中
|
loading: ロード中
|
||||||
@ -134,14 +134,14 @@ demoBanners:
|
|||||||
# This is the "advertisement" shown in the main menu and other various places
|
# This is the "advertisement" shown in the main menu and other various places
|
||||||
title: デモ版
|
title: デモ版
|
||||||
intro: >-
|
intro: >-
|
||||||
スタンドアローン版を手に入れ、すべての要素をアンロックしましょう!
|
スタンドアローン版を手に入れ、すべての機能をアンロックしましょう!
|
||||||
|
|
||||||
mainMenu:
|
mainMenu:
|
||||||
play: プレイ
|
play: プレイ
|
||||||
changelog: 更新履歴
|
changelog: 更新履歴
|
||||||
importSavegame: インポート
|
importSavegame: インポート
|
||||||
openSourceHint: このゲームはオープンソースです
|
openSourceHint: このゲームはオープンソースです
|
||||||
discordLink: 公式Discordサーバ
|
discordLink: 公式Discord
|
||||||
helpTranslate: 翻訳に参加
|
helpTranslate: 翻訳に参加
|
||||||
|
|
||||||
# This is shown when using firefox and other browsers which are not supported.
|
# This is shown when using firefox and other browsers which are not supported.
|
||||||
@ -151,10 +151,9 @@ mainMenu:
|
|||||||
savegameLevel: レベル <x>
|
savegameLevel: レベル <x>
|
||||||
savegameLevelUnknown: 不明なレベル
|
savegameLevelUnknown: 不明なレベル
|
||||||
|
|
||||||
|
|
||||||
continue: 続きから
|
continue: 続きから
|
||||||
newGame: 新規ゲーム
|
newGame: 新規ゲーム
|
||||||
madeBy: Made by <author-link>
|
madeBy: 制作者 <author-link>
|
||||||
subreddit: Reddit
|
subreddit: Reddit
|
||||||
|
|
||||||
dialogs:
|
dialogs:
|
||||||
@ -491,6 +490,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: 回転機 (逆)
|
name: 回転機 (逆)
|
||||||
description: 形を反時計回り方向に90度回転します。
|
description: 形を反時計回り方向に90度回転します。
|
||||||
|
fl:
|
||||||
|
name: Rotate (180)
|
||||||
|
description: Rotates shapes by 180 degrees.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -632,8 +634,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: 設定
|
title: 設定
|
||||||
categories:
|
categories:
|
||||||
game: ゲーム
|
general: General
|
||||||
app: アプリケーション
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Development
|
dev: Development
|
||||||
@ -837,7 +840,7 @@ about:
|
|||||||
|
|
||||||
開発に参加したい場合は以下をチェックしてみてください。<a href="<githublink>" target="_blank">shapez.io on github</a>.<br><br>
|
開発に参加したい場合は以下をチェックしてみてください。<a href="<githublink>" target="_blank">shapez.io on github</a>.<br><br>
|
||||||
|
|
||||||
このゲームはdiscordでの素晴らしいコミュニティなしには実現しませんでした。 - このサーバにも是非参加してください! <a href="<discordlink>" target="_blank">discord 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>
|
サウンドトラックは<a href="https://soundcloud.com/pettersumelius" target="_blank">Peppsen</a>により製作されました。 - 彼は素晴らしいです<br><br>
|
||||||
|
|
||||||
|
@ -15,13 +15,13 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
steamPage:
|
steamPage:
|
||||||
# This is the short text appearing on the steam page
|
# 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.
|
# 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:
|
# NOTICE:
|
||||||
@ -30,59 +30,59 @@ steamPage:
|
|||||||
longText: >-
|
longText: >-
|
||||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
[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.
|
shapez.io는 무한한 공간에서 점점 더 복잡한 도형의 생산과 조합을 자동화하는 공장을 짓는 게임입니다.
|
||||||
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!
|
이 게임에는 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]
|
[list]
|
||||||
[*] Dark Mode
|
[*] 다크 모드
|
||||||
[*] Unlimited Waypoints
|
[*] 제한 없는 마커
|
||||||
[*] Unlimited Savegames
|
[*] 제한 없는 저장
|
||||||
[*] Additional settings
|
[*] 더 다양한 설정
|
||||||
[*] Coming soon: Wires & Energy! Aiming for (roughly) end of July 2020.
|
[*] 출시 예고: 전선 & 에너지! 2020년 7월 말을 목표로 하는 중.
|
||||||
[*] Coming soon: More Levels
|
[*] 출시 예고: 더 많은 레벨
|
||||||
[*] Allows me to further develop shapez.io ❤️
|
[*] shapez.io를 개발하는 데 도움이 됨 ❤️
|
||||||
[/list]
|
[/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]
|
[list]
|
||||||
[*] Different maps and challenges (e.g. maps with obstacles)
|
[*] 다양한 맵과 챌린지 (e.g. 장애물이 있는 맵)
|
||||||
[*] 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]
|
[/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]
|
[list]
|
||||||
[*] [url=https://discord.com/invite/HN7EVzV]Official Discord[/url]
|
[*] [url=https://discord.com/invite/HN7EVzV]공식 디스코드[/url]
|
||||||
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roadmap[/url]
|
[*] [url=https://trello.com/b/ISQncpJP/shapezio]로드맵[/url]
|
||||||
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
|
[*] [url=https://www.reddit.com/r/shapezio]서브레딧[/url]
|
||||||
[*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url]
|
[*] [url=https://github.com/tobspr/shapez.io]소스 코드 (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]번역을 도와주세요![/url]
|
||||||
[/list]
|
[/list]
|
||||||
|
|
||||||
discordLink: Official Discord - Chat with me!
|
discordLink: 공식 디스코드 - 채팅해요!
|
||||||
|
|
||||||
global:
|
global:
|
||||||
loading: 로딩중
|
loading: 로딩중
|
||||||
@ -134,7 +134,7 @@ demoBanners:
|
|||||||
# This is the "advertisement" shown in the main menu and other various places
|
# This is the "advertisement" shown in the main menu and other various places
|
||||||
title: 무료 버전
|
title: 무료 버전
|
||||||
intro: >-
|
intro: >-
|
||||||
유료 버전을 구매해서 모든 컨탠츠를 사용해 보세요!
|
유료 버전을 구매해서 모든 콘텐츠를 사용해 보세요!
|
||||||
|
|
||||||
mainMenu:
|
mainMenu:
|
||||||
play: 시작
|
play: 시작
|
||||||
@ -150,11 +150,10 @@ mainMenu:
|
|||||||
savegameLevel: 레벨 <x>
|
savegameLevel: 레벨 <x>
|
||||||
savegameLevelUnknown: 레벨 모름
|
savegameLevelUnknown: 레벨 모름
|
||||||
|
|
||||||
|
|
||||||
continue: 계속하기
|
continue: 계속하기
|
||||||
newGame: 새 게임
|
newGame: 새 게임
|
||||||
madeBy: 제작 <author-link>
|
madeBy: 제작 <author-link>
|
||||||
subreddit: Reddit
|
subreddit: 레딧
|
||||||
|
|
||||||
dialogs:
|
dialogs:
|
||||||
buttons:
|
buttons:
|
||||||
@ -178,7 +177,7 @@ dialogs:
|
|||||||
importSavegameSuccess:
|
importSavegameSuccess:
|
||||||
title: 저장 파일 불러오기 성공
|
title: 저장 파일 불러오기 성공
|
||||||
text: >-
|
text: >-
|
||||||
저장 파일이 성공적으로 불러와졌습니다.
|
저장 파일을 성공적으로 불러왔습니다.
|
||||||
|
|
||||||
gameLoadFailure:
|
gameLoadFailure:
|
||||||
title: 저장 파일 에러
|
title: 저장 파일 에러
|
||||||
@ -205,16 +204,16 @@ dialogs:
|
|||||||
desc: 당신이 원하는 키나 마우스 버튼을 눌러서 바꾸거나 ESC를 눌러 취소하세요.
|
desc: 당신이 원하는 키나 마우스 버튼을 눌러서 바꾸거나 ESC를 눌러 취소하세요.
|
||||||
|
|
||||||
resetKeybindingsConfirmation:
|
resetKeybindingsConfirmation:
|
||||||
title: 키바인딩 제설정
|
title: 키바인딩 재설정
|
||||||
desc: 이것은 모든 키바인딩을 기본값으로 초기화합니다.
|
desc: 이것은 모든 키바인딩을 기본값으로 초기화합니다.
|
||||||
|
|
||||||
keybindingsResetOk:
|
keybindingsResetOk:
|
||||||
title: 키바인딩 제설정 완료
|
title: 키바인딩 재설정 완료
|
||||||
desc: 모든 키바인딩이 기본값으로 재설정 되었습니다!
|
desc: 모든 키바인딩이 기본값으로 재설정 되었습니다!
|
||||||
|
|
||||||
featureRestriction:
|
featureRestriction:
|
||||||
title: 데모 버전
|
title: 데모 버전
|
||||||
desc: 데모 버전에는 없는 컨탠츠(<feature>)로 시도했습니다. 유료 버전을 구입해서 모든 컨텐츠를 사용해보세요!
|
desc: 데모 버전에는 없는 콘텐츠(<feature>)로 시도했습니다. 유료 버전을 구입해서 모든 콘텐츠를 사용해보세요!
|
||||||
|
|
||||||
oneSavegameLimit:
|
oneSavegameLimit:
|
||||||
title: 저장파일 개수 제한
|
title: 저장파일 개수 제한
|
||||||
@ -258,7 +257,7 @@ dialogs:
|
|||||||
createMarker:
|
createMarker:
|
||||||
title: 새로운 마커
|
title: 새로운 마커
|
||||||
desc: 이 장소에 이름을 지어주세요, 당신은 원하는 모양으로 <strong>단축키</strong>를 생성할 수 있습니다. (<a href="https://viewer.shapez.io" target="_blank">여기</a>에서 만들 수 있습니다.)
|
desc: 이 장소에 이름을 지어주세요, 당신은 원하는 모양으로 <strong>단축키</strong>를 생성할 수 있습니다. (<a href="https://viewer.shapez.io" target="_blank">여기</a>에서 만들 수 있습니다.)
|
||||||
titleEdit: Edit Marker
|
titleEdit: 마커 변경
|
||||||
|
|
||||||
markerDemoLimit:
|
markerDemoLimit:
|
||||||
desc: 데모 버전에서는 마커를 2개 까지만 놓을 수 있습니다. 유료 버전을 구입하면 마커를 무제한으로 놓을 수 있습니다!
|
desc: 데모 버전에서는 마커를 2개 까지만 놓을 수 있습니다. 유료 버전을 구입하면 마커를 무제한으로 놓을 수 있습니다!
|
||||||
@ -266,12 +265,12 @@ dialogs:
|
|||||||
exportScreenshotWarning:
|
exportScreenshotWarning:
|
||||||
title: 스크린샷 내보내기
|
title: 스크린샷 내보내기
|
||||||
desc: >-
|
desc: >-
|
||||||
당신은 당신의 공장을 스크린샷으로 내보내려 하고있습니다. 공장이 너무 큰 경우에는
|
당신은 공장을 스크린샷으로 내보내려 하고있습니다. 공장이 너무 큰 경우에는
|
||||||
시간이 오래 걸리거나 게임이 꺼질 수도 있음을 알려드립니다!
|
시간이 오래 걸리거나 게임이 꺼질 수도 있음을 알려드립니다!
|
||||||
|
|
||||||
massCutInsufficientConfirm:
|
massCutInsufficientConfirm:
|
||||||
title: Confirm cut
|
title: 자르기 확인
|
||||||
desc: You can not afford to paste this area! Are you sure you want to cut it?
|
desc: 이 곳에는 붙여넣기를 할 수 없습니다! 정말 자르시겠습니까?
|
||||||
|
|
||||||
ingame:
|
ingame:
|
||||||
# This is shown in the top left corner and displays useful keybindings in
|
# This is shown in the top left corner and displays useful keybindings in
|
||||||
@ -295,7 +294,7 @@ ingame:
|
|||||||
copySelection: 선택된 부분 복사하기
|
copySelection: 선택된 부분 복사하기
|
||||||
clearSelection: 선택된 부분 지우기
|
clearSelection: 선택된 부분 지우기
|
||||||
pipette: 스포이드
|
pipette: 스포이드
|
||||||
switchLayers: Switch layers
|
switchLayers: 레이어 전환
|
||||||
|
|
||||||
# Everything related to placing buildings (I.e. as soon as you selected a building
|
# Everything related to placing buildings (I.e. as soon as you selected a building
|
||||||
# from the toolbar)
|
# from the toolbar)
|
||||||
@ -342,7 +341,7 @@ ingame:
|
|||||||
# The roman number for each tier
|
# The roman number for each tier
|
||||||
tierLabels: [I, II, III, IV, V, VI, VII, VIII, IX, X]
|
tierLabels: [I, II, III, IV, V, VI, VII, VIII, IX, X]
|
||||||
|
|
||||||
maximumLevel: 최대 (Speed x<currentMult>)
|
maximumLevel: 최대 레벨 (속도 x<currentMult>)
|
||||||
|
|
||||||
# The "Statistics" window
|
# The "Statistics" window
|
||||||
statistics:
|
statistics:
|
||||||
@ -389,7 +388,7 @@ ingame:
|
|||||||
waypoints: 마커
|
waypoints: 마커
|
||||||
hub: 중앙 건물
|
hub: 중앙 건물
|
||||||
description: 마커를 좌클릭해서 그곳으로 가고, 우클릭해서 삭제합니다.<br><br><keybinding>을 눌러 지금 있는 곳에 마커를 놓거나 <strong>우클릭해서</strong> 원하는 곳에 놓으세요.
|
description: 마커를 좌클릭해서 그곳으로 가고, 우클릭해서 삭제합니다.<br><br><keybinding>을 눌러 지금 있는 곳에 마커를 놓거나 <strong>우클릭해서</strong> 원하는 곳에 놓으세요.
|
||||||
creationSuccessNotification: 마커가 성공적으로 제작되었습니다.
|
creationSuccessNotification: 마커가 성공적으로 생성되었습니다.
|
||||||
|
|
||||||
# Interactive tutorial
|
# Interactive tutorial
|
||||||
interactiveTutorial:
|
interactiveTutorial:
|
||||||
@ -397,10 +396,10 @@ ingame:
|
|||||||
hints:
|
hints:
|
||||||
1_1_extractor: <strong>추출기</strong>를 <strong>원 모양의 도형</strong>에 놓아서 추출하세요!
|
1_1_extractor: <strong>추출기</strong>를 <strong>원 모양의 도형</strong>에 놓아서 추출하세요!
|
||||||
1_2_conveyor: >-
|
1_2_conveyor: >-
|
||||||
추출기를 <strong>컨베이어 벨트</strong>로 당신의 중앙 건물에 연결하세요!<br><br>팁: 마우스로 벨트를 <strong>클릭해서 드래그</strong>하세요!
|
추출기를 <strong>컨베이어 벨트</strong>로 당신의 중앙 건물에 연결하세요!<br><br>팁: 마우스로 벨트를 <strong>클릭하고 드래그</strong>하세요!
|
||||||
|
|
||||||
1_3_expand: >-
|
1_3_expand: >-
|
||||||
이것은 방치형 게임이 <strong>아닙니다!</strong> 추출기를 더 놓아 목표를 빨리 달성하세요.<br><br>팁: <strong>SHIFT</strong>를 눌러 여러 개의 추출기를 놓고 <strong>R</strong>로 회전 시키세요.
|
이것은 방치형 게임이 <strong>아닙니다!</strong> 추출기를 더 놓아 목표를 빨리 달성하세요.<br><br>팁: <strong>SHIFT</strong>를 눌러 여러 개의 추출기를 놓고 <strong>R</strong>로 방향을 바꾸세요.
|
||||||
|
|
||||||
colors:
|
colors:
|
||||||
red: 빨강
|
red: 빨강
|
||||||
@ -410,12 +409,12 @@ ingame:
|
|||||||
purple: 보라
|
purple: 보라
|
||||||
cyan: 청록
|
cyan: 청록
|
||||||
white: 하양
|
white: 하양
|
||||||
uncolored: 색
|
uncolored: 회색
|
||||||
black: Black
|
black: 검정
|
||||||
shapeViewer:
|
shapeViewer:
|
||||||
title: 층
|
title: 층
|
||||||
empty: 비었음
|
empty: 비었음
|
||||||
copyKey: Copy Key
|
copyKey: 키 복사하기
|
||||||
|
|
||||||
# All shop upgrades
|
# All shop upgrades
|
||||||
shopUpgrades:
|
shopUpgrades:
|
||||||
@ -490,10 +489,13 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: 회전기 (반시계방향)
|
name: 회전기 (반시계방향)
|
||||||
description: 도형을 반시계방향으로 90도 회전시킨다.
|
description: 도형을 반시계방향으로 90도 회전시킨다.
|
||||||
|
fl:
|
||||||
|
name: Rotate (180)
|
||||||
|
description: Rotates shapes by 180 degrees.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
name: &stacker 스택커
|
name: &stacker 결합기
|
||||||
description: 도형 2개를 쌓는다. 합칠 수가 없다면 오른쪽 도형이 왼쪽 도형 위에 놓아진다.
|
description: 도형 2개를 쌓는다. 합칠 수가 없다면 오른쪽 도형이 왼쪽 도형 위에 놓아진다.
|
||||||
|
|
||||||
mixer:
|
mixer:
|
||||||
@ -525,24 +527,24 @@ buildings:
|
|||||||
description: 할당된 용량만큼 초과되는 도형을 저장한다.
|
description: 할당된 용량만큼 초과되는 도형을 저장한다.
|
||||||
wire:
|
wire:
|
||||||
default:
|
default:
|
||||||
name: Energy Wire
|
name: 전선
|
||||||
description: Allows you to transport energy.
|
description: 에너지를 전송한다.
|
||||||
advanced_processor:
|
advanced_processor:
|
||||||
default:
|
default:
|
||||||
name: Color Inverter
|
name: 색 반전기
|
||||||
description: Accepts a color or shape and inverts it.
|
description: 색소나 도형을 받아 색을 반전시킨다.
|
||||||
energy_generator:
|
energy_generator:
|
||||||
deliver: Deliver
|
deliver: 연료
|
||||||
toGenerateEnergy: For
|
toGenerateEnergy: 마다
|
||||||
default:
|
default:
|
||||||
name: Energy Generator
|
name: 발전기
|
||||||
description: Generates energy by consuming shapes.
|
description: 도형을 소비해 에너지를 만듭니다.
|
||||||
wire_crossings:
|
wire_crossings:
|
||||||
default:
|
default:
|
||||||
name: Wire Splitter
|
name: 전선 분배기
|
||||||
description: Splits a energy wire into two.
|
description: Splits a energy wire into two.
|
||||||
merger:
|
merger:
|
||||||
name: Wire Merger
|
name: 전선 병합기
|
||||||
description: Merges two energy wires into one.
|
description: Merges two energy wires into one.
|
||||||
|
|
||||||
storyRewards:
|
storyRewards:
|
||||||
@ -577,8 +579,8 @@ storyRewards:
|
|||||||
desc: <strong>터널</strong>이 잠금 해제되었습니다! 자원을 건물과 벨트 밑으로 운송 할 수 있습니다.
|
desc: <strong>터널</strong>이 잠금 해제되었습니다! 자원을 건물과 벨트 밑으로 운송 할 수 있습니다.
|
||||||
|
|
||||||
reward_rotater_ccw:
|
reward_rotater_ccw:
|
||||||
title: 회전기 (반시게방향)
|
title: 회전기 (반시계방향)
|
||||||
desc: <strong>반시게방향 회전기</strong>가 잠금 해제되었습니다! 이것을 배치하려면 회전기를 선택하고 <strong>T</strong>를 눌러서 변형된 버전을 사용하세요!
|
desc: <strong>반시계방향 회전기</strong>가 잠금 해제되었습니다! 이것을 배치하려면 회전기를 선택하고 <strong>T</strong>를 눌러서 변형된 버전을 사용하세요!
|
||||||
|
|
||||||
reward_miner_chainable:
|
reward_miner_chainable:
|
||||||
title: 체인 추출기
|
title: 체인 추출기
|
||||||
@ -610,11 +612,11 @@ storyRewards:
|
|||||||
desc: <strong>저장소</strong>가 잠금 해제되었습니다! 주어진 용량만큼 자원을 저장할 수 있습니다!
|
desc: <strong>저장소</strong>가 잠금 해제되었습니다! 주어진 용량만큼 자원을 저장할 수 있습니다!
|
||||||
|
|
||||||
reward_freeplay:
|
reward_freeplay:
|
||||||
title: 프리플레이 모드
|
title: 자유 모드
|
||||||
desc: 해내셨군요! <strong>프리플레이 모드</strong>가 잠금 해제되었습니다! 이제 도형이 랜덤으로 생성됩니다! (걱정 마세요, 유료버전에는 더 많은 컨텐츠가 계획되어 있습니다!)
|
desc: 해내셨군요! <strong>자유 모드</strong>가 잠금 해제되었습니다! 이제 도형이 랜덤으로 생성됩니다! (걱정 마세요, 유료버전에는 더 많은 컨텐츠가 계획되어 있습니다!)
|
||||||
|
|
||||||
reward_blueprints:
|
reward_blueprints:
|
||||||
title: 블루프린트
|
title: 청사진
|
||||||
desc: 이제부터는 공장의 일부 영역을 <strong>복사하여 붙여넣기</strong> 할 수 있습니다! CTRL을 누르면서 드래그해서 먼저 영역을 선택하세요. <br><br> 그 다음에는 C, DEL, ESC 로 복사하거나, 지우거나, 취소 하세요.<br><br> 복사는 무료가 이닙니다. 특별한 "화폐" 도형으로 돈을 지불하고 복사가 됩니다.
|
desc: 이제부터는 공장의 일부 영역을 <strong>복사하여 붙여넣기</strong> 할 수 있습니다! CTRL을 누르면서 드래그해서 먼저 영역을 선택하세요. <br><br> 그 다음에는 C, DEL, ESC 로 복사하거나, 지우거나, 취소 하세요.<br><br> 복사는 무료가 이닙니다. 특별한 "화폐" 도형으로 돈을 지불하고 복사가 됩니다.
|
||||||
|
|
||||||
# Special reward, which is shown when there is no reward actually
|
# Special reward, which is shown when there is no reward actually
|
||||||
@ -631,13 +633,14 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: 설정
|
title: 설정
|
||||||
categories:
|
categories:
|
||||||
game: 게임
|
general: General
|
||||||
app: 앱
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: 발전 중
|
dev: 개발
|
||||||
staging: 단계적으로 발전 중
|
staging: 검증
|
||||||
prod: 제작 중
|
prod: 배포
|
||||||
buildDate: 날짜<at-date>
|
buildDate: 날짜<at-date>
|
||||||
|
|
||||||
labels:
|
labels:
|
||||||
@ -655,7 +658,7 @@ settings:
|
|||||||
scrollWheelSensitivity:
|
scrollWheelSensitivity:
|
||||||
title: 확대 민감도
|
title: 확대 민감도
|
||||||
description: >-
|
description: >-
|
||||||
마우스 휠이나 트렉패드로 확대하는 데의 민감도
|
마우스 휠이나 트랙패드로 확대하는 데의 민감도
|
||||||
sensitivity:
|
sensitivity:
|
||||||
super_slow: 매우 느리게
|
super_slow: 매우 느리게
|
||||||
slow: 느리게
|
slow: 느리게
|
||||||
@ -678,15 +681,15 @@ settings:
|
|||||||
language:
|
language:
|
||||||
title: 언어
|
title: 언어
|
||||||
description: >-
|
description: >-
|
||||||
언어 바꾸기 - 모든 언어팩은 사용자들이 만든 것이므로 완성되지 않았을 수 있습니다..
|
언어 바꾸기 - 모든 언어팩은 사용자들이 만든 것이므로 완성되지 않았을 수 있습니다!
|
||||||
|
|
||||||
fullscreen:
|
fullscreen:
|
||||||
title: Fullscreen
|
title: 전체화면
|
||||||
description: >-
|
description: >-
|
||||||
이 게임은 풀 스크린으로 하는 것이 가장 좋습니다. 풀 스크린 모드는 유료 버전에서만 가능합니다.
|
이 게임은 전체화면으로 하는 것이 가장 좋습니다. 전체화면은 유료 버전에서만 가능합니다.
|
||||||
|
|
||||||
soundsMuted:
|
soundsMuted:
|
||||||
title: 소리 끄기
|
title: 효과음 끄기
|
||||||
description: >-
|
description: >-
|
||||||
모든 효과음을 끕니다.
|
모든 효과음을 끕니다.
|
||||||
|
|
||||||
@ -704,19 +707,19 @@ settings:
|
|||||||
light: 밝은 테마
|
light: 밝은 테마
|
||||||
|
|
||||||
refreshRate:
|
refreshRate:
|
||||||
title: 모니터 리프레쉬 속도
|
title: 시뮬레이션 빈도
|
||||||
description: >-
|
description: >-
|
||||||
당신의 모니터의 리프세쉬 속도가 144hz 보다 높으면 이 설정을 바꾸어서 게임이 더 빨리 리프레시 되게 하세요. 만약에 컴퓨터가 느리다면 FPS에 영양을 미칠 수 있습니다.
|
144hz 모니터가 있다면 이 설정을 바꿔 게임이 높은 빈도로 적절히 시뮬레이션되게 하세요. 만약에 컴퓨터가 느리다면 FPS에 영양을 미칠 수 있습니다.
|
||||||
|
|
||||||
alwaysMultiplace:
|
alwaysMultiplace:
|
||||||
title: 항상 여러 개 배치
|
title: 항상 여러 개 배치
|
||||||
description: >-
|
description: >-
|
||||||
배치 이후에도 모든 빌딩이 선택되어 있습니다. SHIFT를 계속 누르고 있는 것과 같은 효과입니다.
|
활성화된 경우 모든 건물은 따로 취소하기 전까지 배치 후 선택된 상태로 유지됩니다. SHIFT를 계속 누르고 있는 것과 같은 효과입니다.
|
||||||
|
|
||||||
offerHints:
|
offerHints:
|
||||||
title: 힌트와 튜토리얼
|
title: 힌트와 튜토리얼
|
||||||
description: >-
|
description: >-
|
||||||
이것을 끄면 힌트와 튜토리얼이 나오지 않습니다. 또한 게임에 쉽게 들어가기 위해서 주어진 레벨에서 특정 UI 요소를 숨길 수도 있습니다.
|
이것을 끄면 힌트와 튜토리얼이 나오지 않습니다. 또한 특정 UI 요소를 지정된 레벨까지 숨겨 게임에 쉽게 들어갈 수 있습니다.
|
||||||
|
|
||||||
enableTunnelSmartplace:
|
enableTunnelSmartplace:
|
||||||
title: 스마트 터널
|
title: 스마트 터널
|
||||||
@ -725,14 +728,14 @@ settings:
|
|||||||
또한, 터널을 당겨서 남는 터널을 없앱니다.
|
또한, 터널을 당겨서 남는 터널을 없앱니다.
|
||||||
|
|
||||||
vignette:
|
vignette:
|
||||||
title: 삽화
|
title: 비네트 효과
|
||||||
description: >-
|
description: >-
|
||||||
화면의 코너를 어둡게 만들어 텍스트를 읽기 쉽게 해주는 삽화를 활성화 시킵니다.
|
화면의 모서리를 어둡게 만들어 텍스트를 읽기 쉽게 해주는 비네트 효과를 활성화 시킵니다.
|
||||||
|
|
||||||
autosaveInterval:
|
autosaveInterval:
|
||||||
title: 자동저장 주기
|
title: 자동저장 주기
|
||||||
description: >-
|
description: >-
|
||||||
자동저장을 얼마나 자주 할 것인지 정합니다. 자동저장기능을 끌 수도 있습니다.
|
자동저장을 얼마나 자주 할 것인지 정합니다. 자동저장 기능을 끌 수도 있습니다.
|
||||||
intervals:
|
intervals:
|
||||||
one_minute: 1분
|
one_minute: 1분
|
||||||
two_minutes: 2분
|
two_minutes: 2분
|
||||||
@ -772,8 +775,8 @@ keybindings:
|
|||||||
navigation: 둘러보기
|
navigation: 둘러보기
|
||||||
placement: 놓기
|
placement: 놓기
|
||||||
massSelect: 다중 선택
|
massSelect: 다중 선택
|
||||||
buildings: 건물 쇼트컷
|
buildings: 건물 단축키
|
||||||
placementModifiers: 배치 수정기
|
placementModifiers: 배치 옵션
|
||||||
|
|
||||||
mappings:
|
mappings:
|
||||||
confirm: 확인
|
confirm: 확인
|
||||||
@ -818,18 +821,18 @@ keybindings:
|
|||||||
massSelectCut: 영역 자르기
|
massSelectCut: 영역 자르기
|
||||||
|
|
||||||
placementDisableAutoOrientation: 자동 회전 끄기
|
placementDisableAutoOrientation: 자동 회전 끄기
|
||||||
placeMultiple: 배치 모드에 있기
|
placeMultiple: 배치 모드 유지
|
||||||
placeInverse: 자동 벨트 회전 뒤집기
|
placeInverse: 반대 방향으로 벨트 배치
|
||||||
exportScreenshot: 공장 전체를 이미지로 내보내기
|
exportScreenshot: 공장 전체를 이미지로 내보내기
|
||||||
mapMoveFaster: 더 빠르게 움직이기
|
mapMoveFaster: 더 빠르게 움직이기
|
||||||
lockBeltDirection: 벨트 플래너 활성화
|
lockBeltDirection: 벨트 플래너 활성화
|
||||||
switchDirectionLockSide: "플래너: 방향 바꾸기"
|
switchDirectionLockSide: "플래너: 방향 바꾸기"
|
||||||
pipette: 피펫
|
pipette: 스포이드
|
||||||
menuClose: Close Menu
|
menuClose: 메뉴 닫기
|
||||||
switchLayers: Switch layers
|
switchLayers: 레이어 전환
|
||||||
advanced_processor: Color Inverter
|
advanced_processor: 색 반전기
|
||||||
energy_generator: Energy Generator
|
energy_generator: 발전기
|
||||||
wire: Energy Wire
|
wire: 전선
|
||||||
|
|
||||||
about:
|
about:
|
||||||
title: 이 게임의 정보
|
title: 이 게임의 정보
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -151,7 +151,6 @@ mainMenu:
|
|||||||
savegameLevel: Level <x>
|
savegameLevel: Level <x>
|
||||||
savegameLevelUnknown: Unknown Level
|
savegameLevelUnknown: Unknown Level
|
||||||
|
|
||||||
|
|
||||||
continue: Continue
|
continue: Continue
|
||||||
newGame: New Game
|
newGame: New Game
|
||||||
madeBy: Made by <author-link>
|
madeBy: Made by <author-link>
|
||||||
@ -491,6 +490,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: Rotate (CCW)
|
name: Rotate (CCW)
|
||||||
description: Rotates shapes counter clockwise by 90 degrees.
|
description: Rotates shapes counter clockwise by 90 degrees.
|
||||||
|
fl:
|
||||||
|
name: Rotate (180)
|
||||||
|
description: Rotates shapes by 180 degrees.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -632,8 +634,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: Settings
|
title: Settings
|
||||||
categories:
|
categories:
|
||||||
game: Game
|
general: General
|
||||||
app: Application
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Development
|
dev: Development
|
||||||
@ -842,9 +845,9 @@ about:
|
|||||||
If you want to contribute, check out <a href="<githublink>"
|
If you want to contribute, check out <a href="<githublink>"
|
||||||
target="_blank">shapez.io on github</a>.<br><br>
|
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>"
|
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"
|
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius"
|
||||||
target="_blank">Peppsen</a> - He's awesome.<br><br>
|
target="_blank">Peppsen</a> - He's awesome.<br><br>
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -30,11 +30,11 @@ steamPage:
|
|||||||
longText: >-
|
longText: >-
|
||||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
||||||
|
|
||||||
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.
|
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.
|
Door het leveren van de gevraagde vormen, kom je verder in het spel en ontgrendel je upgrades waar je fabriek sneller van wordt.
|
||||||
|
|
||||||
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!
|
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!
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
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!
|
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!
|
||||||
@ -45,12 +45,12 @@ steamPage:
|
|||||||
|
|
||||||
[list]
|
[list]
|
||||||
[*] Donkere modus
|
[*] Donkere modus
|
||||||
[*] Oneindig veel markeringen
|
[*] Oneindig veel markeringen
|
||||||
[*] Oneindig veel savegames
|
[*] Oneindig veel savegames
|
||||||
[*] Extra opties
|
[*] Extra opties
|
||||||
[*] Binnenkort: Kabels & Energie! Hopelijk vanaf eind juli 2020.
|
[*] Binnenkort: Kabels & Energie! Hopelijk vanaf eind juli 2020.
|
||||||
[*] Binnenkort: Meer Levels
|
[*] Binnenkort: Meer Levels
|
||||||
[*] Helpt mij om shapez.io verder te ontwikkelen ❤️
|
[*] Help mij om shapez.io verder te ontwikkelen ❤️
|
||||||
[/list]
|
[/list]
|
||||||
|
|
||||||
[b]Geplande Updates[/b]
|
[b]Geplande Updates[/b]
|
||||||
@ -69,7 +69,7 @@ steamPage:
|
|||||||
|
|
||||||
[b]Dit spel is open source![/b]
|
[b]Dit spel is open source![/b]
|
||||||
|
|
||||||
Iedreen kan bijdragen. Ik ben actief in de community en probeer naar alle suggesties en feedback te kijken en deze mee te nemen in de ontwikkeling.
|
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!
|
Bekijk mijn trello-bord voor het volledige stappenplan!
|
||||||
|
|
||||||
[b]Links[/b]
|
[b]Links[/b]
|
||||||
@ -90,7 +90,7 @@ global:
|
|||||||
|
|
||||||
# How big numbers are rendered, e.g. "10,000"
|
# 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"
|
# What symbol to use to seperate the integer part from the fractional part of a number, e.g. "0.4"
|
||||||
decimalSeparator: ","
|
decimalSeparator: ","
|
||||||
|
|
||||||
@ -141,7 +141,7 @@ mainMenu:
|
|||||||
changelog: Changelog
|
changelog: Changelog
|
||||||
importSavegame: Importeren
|
importSavegame: Importeren
|
||||||
openSourceHint: Dit spel is open source!
|
openSourceHint: Dit spel is open source!
|
||||||
discordLink: Officiële discord-server (Engelstalig)
|
discordLink: Officiële Discord-server (Engelstalig)
|
||||||
helpTranslate: Help met vertalen!
|
helpTranslate: Help met vertalen!
|
||||||
|
|
||||||
# This is shown when using firefox and other browsers which are not supported.
|
# This is shown when using firefox and other browsers which are not supported.
|
||||||
@ -151,7 +151,6 @@ mainMenu:
|
|||||||
savegameLevel: Level <x>
|
savegameLevel: Level <x>
|
||||||
savegameLevelUnknown: Onbekend Level
|
savegameLevelUnknown: Onbekend Level
|
||||||
|
|
||||||
|
|
||||||
continue: Verder
|
continue: Verder
|
||||||
newGame: Nieuw Spel
|
newGame: Nieuw Spel
|
||||||
madeBy: Gemaakt door <author-link>
|
madeBy: Gemaakt door <author-link>
|
||||||
@ -172,12 +171,12 @@ dialogs:
|
|||||||
showKeybindings: Zie Sneltoetsen
|
showKeybindings: Zie Sneltoetsen
|
||||||
|
|
||||||
importSavegameError:
|
importSavegameError:
|
||||||
title: Import Error
|
title: Importeer error
|
||||||
text: >-
|
text: >-
|
||||||
Het importeren van je savegame is mislukt:
|
Het importeren van je savegame is mislukt:
|
||||||
|
|
||||||
importSavegameSuccess:
|
importSavegameSuccess:
|
||||||
title: Savegame Geïmporteerd
|
title: Savegame geïmporteerd
|
||||||
text: >-
|
text: >-
|
||||||
Je savegame is succesvol geïmporteerd.
|
Je savegame is succesvol geïmporteerd.
|
||||||
|
|
||||||
@ -227,7 +226,7 @@ dialogs:
|
|||||||
Dit zijn de veranderingen sinds je voor het laatst gespeeld hebt:
|
Dit zijn de veranderingen sinds je voor het laatst gespeeld hebt:
|
||||||
|
|
||||||
upgradesIntroduction:
|
upgradesIntroduction:
|
||||||
title: Ontgrendel Upgrades
|
title: Ontgrendel upgrades
|
||||||
desc: >-
|
desc: >-
|
||||||
Alle vormen die je produceert kunnen gebruikt worden om upgrades te ontgrendelen - <strong>vernietig je oude fabrieken niet!</strong>
|
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.
|
Het upgrades-tabblad staat in de rechterbovenhoek van het scherm.
|
||||||
@ -349,7 +348,7 @@ ingame:
|
|||||||
dataSources:
|
dataSources:
|
||||||
stored:
|
stored:
|
||||||
title: In opslag
|
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:
|
produced:
|
||||||
title: Geproduceerd
|
title: Geproduceerd
|
||||||
description: Geeft alle vormen weer die op dit moment geproduceerd worden, inclusief tussenproducten.
|
description: Geeft alle vormen weer die op dit moment geproduceerd worden, inclusief tussenproducten.
|
||||||
@ -484,6 +483,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: Roteerder (andersom)
|
name: Roteerder (andersom)
|
||||||
description: Draait vormen 90 graden tegen de klok in.
|
description: Draait vormen 90 graden tegen de klok in.
|
||||||
|
fl:
|
||||||
|
name: Rotate (180)
|
||||||
|
description: Rotates shapes by 180 degrees.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -501,7 +503,7 @@ buildings:
|
|||||||
description: &painter_desc Verft de volledige vorm in de linker input met de kleur van de rechter input.
|
description: &painter_desc Verft de volledige vorm in de linker input met de kleur van de rechter input.
|
||||||
double:
|
double:
|
||||||
name: Verver (Dubbel)
|
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:
|
quad:
|
||||||
name: Verver (Quad)
|
name: Verver (Quad)
|
||||||
description: Verft elke kwart van de vorm een andere kleur.
|
description: Verft elke kwart van de vorm een andere kleur.
|
||||||
@ -630,8 +632,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: Opties
|
title: Opties
|
||||||
categories:
|
categories:
|
||||||
game: Spel
|
general: General
|
||||||
app: Applicatie
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Ontwikkeling
|
dev: Ontwikkeling
|
||||||
@ -649,7 +652,7 @@ settings:
|
|||||||
small: Klein
|
small: Klein
|
||||||
regular: Middel
|
regular: Middel
|
||||||
large: Groot
|
large: Groot
|
||||||
huge: Wumbo
|
huge: Jumbo
|
||||||
|
|
||||||
scrollWheelSensitivity:
|
scrollWheelSensitivity:
|
||||||
title: Zoom-gevoeligheid
|
title: Zoom-gevoeligheid
|
||||||
@ -840,9 +843,9 @@ about:
|
|||||||
Als je ook bij wil dragen, ga dan naar <a href="<githublink>"
|
Als je ook bij wil dragen, ga dan naar <a href="<githublink>"
|
||||||
target="_blank">shapez.io op github</a>.<br><br>
|
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>"
|
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"
|
De muziek is gemaakt door <a href="https://soundcloud.com/pettersumelius"
|
||||||
target="_blank">Peppsen</a> - Hij is geweldig.<br><br>
|
target="_blank">Peppsen</a> - Hij is geweldig.<br><br>
|
||||||
|
@ -15,13 +15,13 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
steamPage:
|
steamPage:
|
||||||
# This is the short text appearing on the steam page
|
# 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.
|
# 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:
|
# NOTICE:
|
||||||
@ -30,59 +30,59 @@ steamPage:
|
|||||||
longText: >-
|
longText: >-
|
||||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
[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.
|
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.
|
||||||
Upon delivering the requested shapes you will progress within the game and unlock upgrades to speed up your factory.
|
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]
|
[list]
|
||||||
[*] Dark Mode
|
[*] Mørk Modus
|
||||||
[*] Unlimited Waypoints
|
[*] Ubegrensede Veipunkter
|
||||||
[*] Unlimited Savegames
|
[*] Uendelige Lagringsfiler
|
||||||
[*] Additional settings
|
[*] Tilleggsinnstillinger
|
||||||
[*] Coming soon: Wires & Energy! Aiming for (roughly) end of July 2020.
|
[*] Kommer snart: Ledninger og strøm! Sikter mot (omtrent) slutten av Juli 2020.
|
||||||
[*] Coming soon: More Levels
|
[*] Kommer snart: Flere Nivåer
|
||||||
[*] Allows me to further develop shapez.io ❤️
|
[*] Tillater meg å fortsette å utvikle shapez.io ❤️
|
||||||
[/list]
|
[/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]
|
[list]
|
||||||
[*] Different maps and challenges (e.g. maps with obstacles)
|
[*] Forskjellige baner og utfordringer (f.eks. baner med hindringer)
|
||||||
[*] Puzzles (Deliver the requested shape with a restricted area / set of buildings)
|
[*] Gåter (lever den forspurte formen med et begrenset område / sett med bygninger)
|
||||||
[*] A story mode where buildings have a cost
|
[*] En historiemodus der bygninger har en pris
|
||||||
[*] Configurable map generator (Configure resource/shape size/density, seed and more)
|
[*] Konfigurerbar kartgenerator (Konfigurer ressurser/former, størrelse/tetthet, seed og mer)
|
||||||
[*] Additional types of shapes
|
[*] Flere typer former
|
||||||
[*] Performance improvements (The game already runs pretty well!)
|
[*] Ytelsesforbedringer (Spillet kjører allerede ganske bra!)
|
||||||
[*] And much more!
|
[*] Og mye mer!
|
||||||
[/list]
|
[/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.
|
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.
|
||||||
Be sure to check out my trello board for the full roadmap!
|
Sørg for å sjekke trello panelet mitt for hele veikartet!
|
||||||
|
|
||||||
[b]Links[/b]
|
[b]Lenker[/b]
|
||||||
|
|
||||||
[list]
|
[list]
|
||||||
[*] [url=https://discord.com/invite/HN7EVzV]Official Discord[/url]
|
[*] [url=https://discord.com/invite/HN7EVzV]Offisiell Discord[/url]
|
||||||
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roadmap[/url]
|
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Veikart[/url]
|
||||||
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/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]Kildekode (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]Hjelp til å oversette[/url]
|
||||||
[/list]
|
[/list]
|
||||||
|
|
||||||
discordLink: Official Discord - Chat with me!
|
discordLink: Offisiell Discord - Chat med meg!
|
||||||
|
|
||||||
global:
|
global:
|
||||||
loading: Laster
|
loading: Laster
|
||||||
@ -151,7 +151,6 @@ mainMenu:
|
|||||||
savegameLevel: Nivå <x>
|
savegameLevel: Nivå <x>
|
||||||
savegameLevelUnknown: Ukjent Nivå
|
savegameLevelUnknown: Ukjent Nivå
|
||||||
|
|
||||||
|
|
||||||
continue: Fortsett
|
continue: Fortsett
|
||||||
newGame: Nytt Spill
|
newGame: Nytt Spill
|
||||||
madeBy: Laget av <author-link>
|
madeBy: Laget av <author-link>
|
||||||
@ -488,6 +487,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: Roter (Mot klokken)
|
name: Roter (Mot klokken)
|
||||||
description: Roter objekter mot klokken, 90 grader.
|
description: Roter objekter mot klokken, 90 grader.
|
||||||
|
fl:
|
||||||
|
name: Rotate (180)
|
||||||
|
description: Rotates shapes by 180 degrees.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -629,8 +631,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: Instillinger
|
title: Instillinger
|
||||||
categories:
|
categories:
|
||||||
game: Spill
|
general: General
|
||||||
app: Applikasjon
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Utvikling
|
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>
|
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>
|
Lydsporet er laget av <a href="https://soundcloud.com/pettersumelius" target="_blank">Peppsen</a> - Han er rå.<br><br>
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -156,7 +156,6 @@ mainMenu:
|
|||||||
savegameLevel: Poziom <x>
|
savegameLevel: Poziom <x>
|
||||||
savegameLevelUnknown: Nieznany poziom
|
savegameLevelUnknown: Nieznany poziom
|
||||||
|
|
||||||
|
|
||||||
madeBy: Gra wykonana przez <author-link>
|
madeBy: Gra wykonana przez <author-link>
|
||||||
subreddit: Reddit
|
subreddit: Reddit
|
||||||
|
|
||||||
@ -500,6 +499,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: Obracacz (Przeciwny kierunek)
|
name: Obracacz (Przeciwny kierunek)
|
||||||
description: Obraca kształt przeciwnie do ruchu wskazówek zegara o 90 stopni.
|
description: Obraca kształt przeciwnie do ruchu wskazówek zegara o 90 stopni.
|
||||||
|
fl:
|
||||||
|
name: Rotate (180)
|
||||||
|
description: Rotates shapes by 180 degrees.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -653,8 +655,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: Ustawienia
|
title: Ustawienia
|
||||||
categories:
|
categories:
|
||||||
game: Gra
|
general: General
|
||||||
app: Aplikacja
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Wersja Rozwojowa
|
dev: Wersja Rozwojowa
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -30,59 +30,59 @@ steamPage:
|
|||||||
longText: >-
|
longText: >-
|
||||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
[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.
|
shapez.io é um jogo sobre construir fábricas, automatizando a criação e combinação de formas cada vez mais complexas num mapa infinito.
|
||||||
Upon delivering the requested shapes you will progress within the game and unlock upgrades to speed up your factory.
|
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]
|
[list]
|
||||||
[*] Dark Mode
|
[*] Modo Escuro
|
||||||
[*] Unlimited Waypoints
|
[*] Pontos de Referência Ilimitados
|
||||||
[*] Unlimited Savegames
|
[*] Quantidade de Saves Ilimitada
|
||||||
[*] Additional settings
|
[*] Configurações adicionais
|
||||||
[*] Coming soon: Wires & Energy! Aiming for (roughly) end of July 2020.
|
[*] Em Breve: Fios e Energia! Previsto para (mais ou menos) o fim de Julho de 2020.
|
||||||
[*] Coming soon: More Levels
|
[*] Em Breve: Mais Níveis
|
||||||
[*] Allows me to further develop shapez.io ❤️
|
[*] Me permite desenvolver shapez.io ❤️
|
||||||
[/list]
|
[/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]
|
[list]
|
||||||
[*] Different maps and challenges (e.g. maps with obstacles)
|
[*] Mapas diferentes e desafios (por exemplo mapas com obstáculos)
|
||||||
[*] Puzzles (Deliver the requested shape with a restricted area / set of buildings)
|
[*] Puzzles (Entregue a forma pedida com uma área restringida ou um certo conjunto de construções)
|
||||||
[*] A story mode where buildings have a cost
|
[*] Um modo história onde as construções têm um custo
|
||||||
[*] Configurable map generator (Configure resource/shape size/density, seed and more)
|
[*] Um geredor de mapa customizável (Configure recursos, forma, tamanho, densidade, semente e mais)
|
||||||
[*] Additional types of shapes
|
[*] Mais tipos de formas
|
||||||
[*] Performance improvements (The game already runs pretty well!)
|
[*] Melhorias de desempenho (O jogo já roda bem!)
|
||||||
[*] And much more!
|
[*] E muito mais!
|
||||||
[/list]
|
[/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.
|
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.
|
||||||
Be sure to check out my trello board for the full roadmap!
|
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]
|
[b]Links[/b]
|
||||||
|
|
||||||
[list]
|
[list]
|
||||||
[*] [url=https://discord.com/invite/HN7EVzV]Official Discord[/url]
|
[*] [url=https://discord.com/invite/HN7EVzV]Discord oficial[/url]
|
||||||
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roadmap[/url]
|
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Planos para o futuro[/url]
|
||||||
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/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]Código fonte(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]Ajude a traduzir[/url]
|
||||||
[/list]
|
[/list]
|
||||||
|
|
||||||
discordLink: Official Discord - Chat with me!
|
discordLink: Discord Oficial - Converse comigo!
|
||||||
|
|
||||||
global:
|
global:
|
||||||
loading: Carregando
|
loading: Carregando
|
||||||
@ -150,7 +150,6 @@ mainMenu:
|
|||||||
savegameLevel: Nível <x>
|
savegameLevel: Nível <x>
|
||||||
savegameLevelUnknown: Nível desconhecido
|
savegameLevelUnknown: Nível desconhecido
|
||||||
|
|
||||||
|
|
||||||
helpTranslate: Ajude a traduzir!
|
helpTranslate: Ajude a traduzir!
|
||||||
continue: Continuar
|
continue: Continuar
|
||||||
newGame: Novo jogo
|
newGame: Novo jogo
|
||||||
@ -166,7 +165,7 @@ dialogs:
|
|||||||
restart: Reiniciar
|
restart: Reiniciar
|
||||||
reset: Reset
|
reset: Reset
|
||||||
getStandalone: Obter versão completa
|
getStandalone: Obter versão completa
|
||||||
deleteGame: Sei o que faço
|
deleteGame: Sei o que estou fazendo
|
||||||
viewUpdate: Atualizações
|
viewUpdate: Atualizações
|
||||||
showUpgrades: Ver melhorias
|
showUpgrades: Ver melhorias
|
||||||
showKeybindings: Controles
|
showKeybindings: Controles
|
||||||
@ -247,20 +246,21 @@ dialogs:
|
|||||||
desc: >-
|
desc: >-
|
||||||
Este jogo possui muitas combinações de teclas que facilitam a construção de grandes fábricas
|
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>
|
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'>CTRL</code> + Arrastar: Seleciona área para copiar/deletar.<br>
|
||||||
<code class='keybinding'>SHIFT</code>: Mantenha pressionado para colocar vária construções.<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>
|
<code class='keybinding'>ALT</code>: Inverte as posições.<br>
|
||||||
|
|
||||||
createMarker:
|
createMarker:
|
||||||
title: Nova Marcação
|
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>)
|
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: Edit Marker
|
titleEdit: Editar Marcador
|
||||||
|
|
||||||
markerDemoLimit:
|
markerDemoLimit:
|
||||||
desc: >-
|
desc: >-
|
||||||
Você só pode criar dois marcadores na versão demo. Adquira a versão completa para marcadores ilimitados!
|
Você só pode criar dois marcadores na versão demo. Adquira a versão completa para marcadores ilimitados!
|
||||||
|
|
||||||
massCutConfirm:
|
massCutConfirm:
|
||||||
title: Confirm cut
|
title: Confirmar corte
|
||||||
desc: >-
|
desc: >-
|
||||||
Você está cortando vários objetos (<count> para ser exato)! Você quer continuar?
|
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!
|
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:
|
massCutInsufficientConfirm:
|
||||||
title: Confirm cut
|
title: Confirmar Corte
|
||||||
desc: You can not afford to paste this area! Are you sure you want to cut it?
|
desc: You can not afford to paste this area! Are you sure you want to cut it?
|
||||||
|
|
||||||
ingame:
|
ingame:
|
||||||
@ -290,13 +290,14 @@ ingame:
|
|||||||
delete: Destruir
|
delete: Destruir
|
||||||
selectBuildings: Selecionar área
|
selectBuildings: Selecionar área
|
||||||
pasteLastBlueprint: Colar último projeto
|
pasteLastBlueprint: Colar último projeto
|
||||||
lockBeltDirection: Enable belt planner
|
|
||||||
|
lockBeltDirection: Ativar Planejador de Esteiras
|
||||||
plannerSwitchSide: Flip planner side
|
plannerSwitchSide: Flip planner side
|
||||||
cutSelection: Cut
|
cutSelection: Cortar
|
||||||
copySelection: Copy
|
copySelection: Copiar
|
||||||
clearSelection: Clear Selection
|
clearSelection: Limpar Seleção
|
||||||
pipette: Pipette
|
pipette: Conta-Gotas
|
||||||
switchLayers: Switch layers
|
switchLayers: Trocar Camadas
|
||||||
|
|
||||||
# Everything related to placing buildings (I.e. as soon as you selected a building
|
# Everything related to placing buildings (I.e. as soon as you selected a building
|
||||||
# from the toolbar)
|
# from the toolbar)
|
||||||
@ -350,13 +351,13 @@ ingame:
|
|||||||
dataSources:
|
dataSources:
|
||||||
stored:
|
stored:
|
||||||
title: Estoque
|
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:
|
produced:
|
||||||
title: Produção
|
title: Produção
|
||||||
description: Exibindo todas as formas que toda a sua fábrica produz, incluindo produtos intermediários..
|
description: Exibindo todas as formas que toda a sua fábrica produz, incluindo produtos intermediários..
|
||||||
delivered:
|
delivered:
|
||||||
title: Entregue
|
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.
|
noShapesProduced: Nenhuma forma foi produzida até o momento.
|
||||||
|
|
||||||
# Displays the shapes per minute, e.g. '523 / m'
|
# 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.
|
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:
|
colors:
|
||||||
red: Red
|
red: Vermelho
|
||||||
green: Green
|
green: Verde
|
||||||
blue: Blue
|
blue: Azul
|
||||||
yellow: Yellow
|
yellow: Amarelo
|
||||||
purple: Purple
|
purple: Roxo
|
||||||
cyan: Cyan
|
cyan: Ciano
|
||||||
white: White
|
white: Branco
|
||||||
uncolored: No color
|
black: Preto
|
||||||
black: Black
|
uncolored: Sem cor
|
||||||
shapeViewer:
|
shapeViewer:
|
||||||
title: Layers
|
title: Camadas
|
||||||
empty: Empty
|
empty: Vazio
|
||||||
copyKey: Copy Key
|
copyKey: Copiar Chave
|
||||||
|
|
||||||
# All shop upgrades
|
# All shop upgrades
|
||||||
shopUpgrades:
|
shopUpgrades:
|
||||||
@ -428,11 +429,11 @@ shopUpgrades:
|
|||||||
description: Velocidade x<currentMult> → x<newMult>
|
description: Velocidade x<currentMult> → x<newMult>
|
||||||
|
|
||||||
processors:
|
processors:
|
||||||
name: Corte, Rotação e Empilhamento
|
name: Corte, Rotação & Montagem
|
||||||
description: Velocidade x<currentMult> → x<newMult>
|
description: Velocidade x<currentMult> → x<newMult>
|
||||||
|
|
||||||
painting:
|
painting:
|
||||||
name: Mistura de cores e pintura
|
name: Mistura & Pintura
|
||||||
description: Velocidade x<currentMult> → x<newMult>
|
description: Velocidade x<currentMult> → x<newMult>
|
||||||
|
|
||||||
# Buildings and their name / description
|
# Buildings and their name / description
|
||||||
@ -448,30 +449,30 @@ buildings:
|
|||||||
description: Coloque sobre uma forma ou cor para extraí-la.
|
description: Coloque sobre uma forma ou cor para extraí-la.
|
||||||
|
|
||||||
chainable:
|
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.
|
description: Coloque sobre uma forma ou cor para extraí-la. Pode ser ligado a outros extratores.
|
||||||
|
|
||||||
underground_belt: # Internal name for the Tunnel
|
underground_belt: # Internal name for the Tunnel
|
||||||
default:
|
default:
|
||||||
name: &underground_belt Túnel
|
name: &underground_belt Túnel
|
||||||
description: Permite transportar recursos sob construções.
|
description: Permite transportar recursos por baixo de construções e esteiras.
|
||||||
|
|
||||||
tier2:
|
tier2:
|
||||||
name: Túnel Classe II
|
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
|
splitter: # Internal name for the Balancer
|
||||||
default:
|
default:
|
||||||
name: &splitter Balanceador
|
name: &splitter Distribuidor
|
||||||
description: Multifuncional - Distribui uniformemente todas as entradas em todas as saídas.
|
description: Multifuncional - Distribui uniformemente todas as entradas em todas as saídas.
|
||||||
|
|
||||||
compact:
|
compact:
|
||||||
name: Balanceador (compacto)
|
name: Misturador (compacto)
|
||||||
description: Mescla duas esteiras transportadoras em uma.
|
description: Une duas esteiras transportadoras em uma.
|
||||||
|
|
||||||
compact-inverse:
|
compact-inverse:
|
||||||
name: Balanceador (compacto)
|
name: Misturador (compacto)
|
||||||
description: Mescla duas esteiras transportadoras em uma.
|
description: Une duas esteiras transportadoras em uma.
|
||||||
|
|
||||||
cutter:
|
cutter:
|
||||||
default:
|
default:
|
||||||
@ -488,11 +489,14 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: Rotacionador (Anti-horário)
|
name: Rotacionador (Anti-horário)
|
||||||
description: Gira as formas no sentido anti-horário em 90 graus.
|
description: Gira as formas no sentido anti-horário em 90 graus.
|
||||||
|
fl:
|
||||||
|
name: Rotate (180)
|
||||||
|
description: Rotates shapes by 180 degrees.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
name: &stacker Empilhador
|
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:
|
mixer:
|
||||||
default:
|
default:
|
||||||
@ -527,31 +531,32 @@ buildings:
|
|||||||
levelShortcut: LVL
|
levelShortcut: LVL
|
||||||
wire:
|
wire:
|
||||||
default:
|
default:
|
||||||
name: Energy Wire
|
name: &wire Fio de Energia
|
||||||
description: Allows you to transport energy.
|
|
||||||
|
description: Permite transportar energia.
|
||||||
advanced_processor:
|
advanced_processor:
|
||||||
default:
|
default:
|
||||||
name: Color Inverter
|
name: &advanced_processor Inversor de Cor
|
||||||
description: Accepts a color or shape and inverts it.
|
description: Aceita uma cor ou forma e a inverte.
|
||||||
energy_generator:
|
energy_generator:
|
||||||
deliver: Deliver
|
deliver: Entregar
|
||||||
toGenerateEnergy: For
|
toGenerateEnergy: Para
|
||||||
default:
|
default:
|
||||||
name: Energy Generator
|
name: &energy_generator Gerador de Energia
|
||||||
description: Generates energy by consuming shapes.
|
description: Consome formas para gerar energia.
|
||||||
wire_crossings:
|
wire_crossings:
|
||||||
default:
|
default:
|
||||||
name: Wire Splitter
|
name: &wire_crossings Divisor de Fios
|
||||||
description: Splits a energy wire into two.
|
description: Divide um fio de energia em dois.
|
||||||
merger:
|
merger:
|
||||||
name: Wire Merger
|
name: Misturador de Fios
|
||||||
description: Merges two energy wires into one.
|
description: Une dois fios de energia em um.
|
||||||
|
|
||||||
storyRewards:
|
storyRewards:
|
||||||
# Those are the rewards gained from completing the store
|
# Those are the rewards gained from completing the store
|
||||||
reward_cutter_and_trash:
|
reward_cutter_and_trash:
|
||||||
title: Cortando formas
|
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:
|
reward_rotater:
|
||||||
title: Rotação
|
title: Rotação
|
||||||
@ -560,7 +565,7 @@ storyRewards:
|
|||||||
reward_painter:
|
reward_painter:
|
||||||
title: Pintura
|
title: Pintura
|
||||||
desc: >-
|
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:
|
reward_mixer:
|
||||||
title: Misturando cores
|
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!
|
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:
|
reward_splitter:
|
||||||
title: Balanceador
|
title: Distribuidor
|
||||||
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>
|
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:
|
reward_tunnel:
|
||||||
title: Túnel
|
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!
|
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:
|
reward_splitter_compact:
|
||||||
title: Balanceador compacto
|
title: Distribuidor compacto
|
||||||
desc: Você desbloqueou uma variante compacta do <strong>balanceador</strong> - ele aceita duas entradas e as mescla em uma!
|
desc: Você desbloqueou uma variante compacta do <strong>Distribuidor</strong> - ele aceita duas entradas e as une em uma!
|
||||||
|
|
||||||
reward_cutter_quad:
|
reward_cutter_quad:
|
||||||
title: Cortador quádruplo
|
title: Cortador quádruplo
|
||||||
@ -616,7 +621,7 @@ storyRewards:
|
|||||||
|
|
||||||
reward_blueprints:
|
reward_blueprints:
|
||||||
title: Projetos
|
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
|
# Special reward, which is shown when there is no reward actually
|
||||||
no_reward:
|
no_reward:
|
||||||
@ -627,13 +632,14 @@ storyRewards:
|
|||||||
no_reward_freeplay:
|
no_reward_freeplay:
|
||||||
title: Próximo nível
|
title: Próximo nível
|
||||||
desc: >-
|
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:
|
settings:
|
||||||
title: opções
|
title: opções
|
||||||
categories:
|
categories:
|
||||||
game: Jogo
|
general: General
|
||||||
app: Aplicação
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Desenvolvedor
|
dev: Desenvolvedor
|
||||||
@ -675,9 +681,9 @@ settings:
|
|||||||
Se ligado o jogo fica mudo
|
Se ligado o jogo fica mudo
|
||||||
|
|
||||||
musicMuted:
|
musicMuted:
|
||||||
title: Musica
|
title: Música
|
||||||
description: >-
|
description: >-
|
||||||
Se ligado, a musica fica muda.
|
Se ligado, a música fica muda.
|
||||||
|
|
||||||
theme:
|
theme:
|
||||||
title: Tema
|
title: Tema
|
||||||
@ -696,12 +702,12 @@ settings:
|
|||||||
alwaysMultiplace:
|
alwaysMultiplace:
|
||||||
title: Multiplicidade
|
title: Multiplicidade
|
||||||
description: >-
|
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:
|
offerHints:
|
||||||
title: Dicas e tutoriais
|
title: Dicas e tutoriais
|
||||||
description: >-
|
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:
|
language:
|
||||||
title: Idioma
|
title: Idioma
|
||||||
@ -742,9 +748,9 @@ settings:
|
|||||||
twenty_minutes: 20 Minutos
|
twenty_minutes: 20 Minutos
|
||||||
disabled: Desativado
|
disabled: Desativado
|
||||||
compactBuildingInfo:
|
compactBuildingInfo:
|
||||||
title: Informações compactas sobre edifícios
|
title: Informações compactas sobre construções
|
||||||
description: >-
|
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.
|
Caso contrário, uma descrição e imagem são mostradas.
|
||||||
disableCutDeleteWarnings:
|
disableCutDeleteWarnings:
|
||||||
title: Desativar avisos de recorte / exclusão
|
title: Desativar avisos de recorte / exclusão
|
||||||
@ -794,18 +800,25 @@ keybindings:
|
|||||||
menuOpenStats: Estatísticas
|
menuOpenStats: Estatísticas
|
||||||
|
|
||||||
toggleHud: Ocultar Interface
|
toggleHud: Ocultar Interface
|
||||||
toggleFPSInfo: Mostar FPS
|
toggleFPSInfo: Mostrar FPS e Debug Info
|
||||||
|
switchLayers: Alternar Camadas
|
||||||
|
exportScreenshot: Exportar Base inteira como Imagem
|
||||||
|
|
||||||
belt: *belt
|
belt: *belt
|
||||||
splitter: *splitter
|
splitter: *splitter
|
||||||
underground_belt: *underground_belt
|
underground_belt: *underground_belt
|
||||||
miner: *miner
|
miner: *miner
|
||||||
cutter: *cutter
|
cutter: *cutter
|
||||||
|
advanced_processor: *advanced_processor
|
||||||
rotater: *rotater
|
rotater: *rotater
|
||||||
stacker: *stacker
|
stacker: *stacker
|
||||||
mixer: *mixer
|
mixer: *mixer
|
||||||
|
energy_generator: *energy_generator
|
||||||
painter: *painter
|
painter: *painter
|
||||||
trash: *trash
|
trash: *trash
|
||||||
|
wire: *wire
|
||||||
|
|
||||||
|
pipette: Conta-Gotas
|
||||||
rotateWhilePlacing: Rotacionar
|
rotateWhilePlacing: Rotacionar
|
||||||
rotateInverseModifier: >-
|
rotateInverseModifier: >-
|
||||||
Modifier: Rotação anti-horária
|
Modifier: Rotação anti-horária
|
||||||
@ -822,16 +835,10 @@ keybindings:
|
|||||||
placeInverse: Inverter orientação de esteira
|
placeInverse: Inverter orientação de esteira
|
||||||
pasteLastBlueprint: Colar último projeto
|
pasteLastBlueprint: Colar último projeto
|
||||||
massSelectCut: Cortar área
|
massSelectCut: Cortar área
|
||||||
exportScreenshot: Exportar base inteira como imagem
|
|
||||||
mapMoveFaster: Mover mais rápido
|
mapMoveFaster: Mover mais rápido
|
||||||
lockBeltDirection: Ativar planejador de correia
|
lockBeltDirection: Ativar planejador de correia
|
||||||
switchDirectionLockSide: "Planejador: Mudar de lado"
|
switchDirectionLockSide: "Planejador: Mudar de lado"
|
||||||
pipette: Pipeta
|
menuClose: Fechar Menu
|
||||||
menuClose: Close Menu
|
|
||||||
switchLayers: Switch layers
|
|
||||||
advanced_processor: Color Inverter
|
|
||||||
energy_generator: Energy Generator
|
|
||||||
wire: Energy Wire
|
|
||||||
|
|
||||||
about:
|
about:
|
||||||
title: Sobre o jogo
|
title: Sobre o jogo
|
||||||
@ -842,9 +849,9 @@ about:
|
|||||||
Se quiser contribuir, confira <a href="<githublink>"
|
Se quiser contribuir, confira <a href="<githublink>"
|
||||||
target="_blank">shapez.io no github</a>.<br><br>
|
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>"
|
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"
|
A trilha sonora foi feita por <a href="https://soundcloud.com/pettersumelius"
|
||||||
target="_blank">Peppsen</a> - Ele é demais.<br><br>
|
target="_blank">Peppsen</a> - Ele é demais.<br><br>
|
||||||
@ -860,8 +867,8 @@ demo:
|
|||||||
features:
|
features:
|
||||||
restoringGames: Restaurar jogos salvos
|
restoringGames: Restaurar jogos salvos
|
||||||
importingGames: Carregar jogos salvos
|
importingGames: Carregar jogos salvos
|
||||||
oneGameLimit: Limitado para um jogo salvo
|
oneGameLimit: Limitado a um jogo salvo
|
||||||
customizeKeybindings: Modificar Teclas
|
customizeKeybindings: Modificar Teclas
|
||||||
exportingBase: Exportar base inteira como imagem
|
exportingBase: Exportar Base inteira como Imagem
|
||||||
|
|
||||||
settingNotAvailable: Não disponível na versão demo.
|
settingNotAvailable: Não disponível na versão demo.
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -30,59 +30,59 @@ steamPage:
|
|||||||
longText: >-
|
longText: >-
|
||||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
[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.
|
shapez.io é um jogo cujo objetivo é construir fábricas para automatizar a criação e fusão de formas geométricas num mapa infinito.
|
||||||
Upon delivering the requested shapes you will progress within the game and unlock upgrades to speed up your factory.
|
Ao entregar as formas pedidas, irás progredir no jogo e irás desbloquear 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 irás precisar de misturar cores e pintar as formas com elas - Combina os recursos de cores vermelha, verde e azul para produzires 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 comprares 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]
|
[list]
|
||||||
[*] Dark Mode
|
[*] Modo escuro
|
||||||
[*] Unlimited Waypoints
|
[*] Marcos ilimitados
|
||||||
[*] Unlimited Savegames
|
[*] Savegames infinitos
|
||||||
[*] Additional settings
|
[*] Mais definições
|
||||||
[*] Coming soon: Wires & Energy! Aiming for (roughly) end of July 2020.
|
[*] Brevemente: Fios & Energia! Previsto para o final de Julho 2020 (aproximadamente).
|
||||||
[*] Coming soon: More Levels
|
[*] Brevemente: Mais níveis
|
||||||
[*] Allows me to further develop shapez.io ❤️
|
[*] Possibilita-me desenvolver ainda mais o shapez.io ❤️
|
||||||
[/list]
|
[/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]
|
[list]
|
||||||
[*] Different maps and challenges (e.g. maps with obstacles)
|
[*] Mapas diferentes e desafios (por exemplo mapas com obstáculos)
|
||||||
[*] Puzzles (Deliver the requested shape with a restricted area / set of buildings)
|
[*] Puzzles (Entrega a forma pedida numa área restrita e/ou com um número limitado de construções)
|
||||||
[*] A story mode where buildings have a cost
|
[*] Modo história onde as construções têm um custo
|
||||||
[*] Configurable map generator (Configure resource/shape size/density, seed and more)
|
[*] Criação de mapas configuráveis (Editar o número e tamanho das minas, semente, e mais)
|
||||||
[*] Additional types of shapes
|
[*] Mais tipos de formas geométricas
|
||||||
[*] Performance improvements (The game already runs pretty well!)
|
[*] Mais melhorias de performance (Apesar do jogo já correr bastante bem!)
|
||||||
[*] And much more!
|
[*] E muito mais!
|
||||||
[/list]
|
[/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.
|
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.
|
||||||
Be sure to check out my trello board for the full roadmap!
|
Segue o meu trello board para veres todo o roteiro de desenvolvimento!
|
||||||
|
|
||||||
[b]Links[/b]
|
[b]Ligações[/b]
|
||||||
|
|
||||||
[list]
|
[list]
|
||||||
[*] [url=https://discord.com/invite/HN7EVzV]Official Discord[/url]
|
[*] [url=https://discord.com/invite/HN7EVzV]Discord oficial[/url]
|
||||||
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roadmap[/url]
|
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roteiro de desenvolvimento[/url]
|
||||||
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/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]Código fonte (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]Ajuda a traduzir[/url]
|
||||||
[/list]
|
[/list]
|
||||||
|
|
||||||
discordLink: Official Discord - Chat with me!
|
discordLink: Discord oficial - Conversa comigo!
|
||||||
|
|
||||||
global:
|
global:
|
||||||
loading: A carregar
|
loading: A carregar
|
||||||
@ -151,7 +151,6 @@ mainMenu:
|
|||||||
savegameLevel: Nível <x>
|
savegameLevel: Nível <x>
|
||||||
savegameLevelUnknown: Nível desconhecido
|
savegameLevelUnknown: Nível desconhecido
|
||||||
|
|
||||||
|
|
||||||
continue: Continuar
|
continue: Continuar
|
||||||
newGame: Novo Jogo
|
newGame: Novo Jogo
|
||||||
madeBy: Criado por <author-link>
|
madeBy: Criado por <author-link>
|
||||||
@ -252,9 +251,9 @@ dialogs:
|
|||||||
<code class='keybinding'>ALT</code>: Inverte as posições.<br>
|
<code class='keybinding'>ALT</code>: Inverte as posições.<br>
|
||||||
|
|
||||||
createMarker:
|
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>)
|
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:
|
markerDemoLimit:
|
||||||
desc: Apenas podes criar dois marcos na versão Demo. Adquire o jogo completo para colocar marcos infinitos!
|
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!
|
ser um pouco lento para uma base muito grande até mesmo bloquear o teu jogo!
|
||||||
|
|
||||||
massCutInsufficientConfirm:
|
massCutInsufficientConfirm:
|
||||||
title: Confirm cut
|
title: Confirma o corte
|
||||||
desc: You can not afford to paste this area! Are you sure you want to cut it?
|
desc: Não consegues pagar para colar esta área! Tens a certeza que pretendes cortá-la?
|
||||||
|
|
||||||
ingame:
|
ingame:
|
||||||
# This is shown in the top left corner and displays useful keybindings in
|
# This is shown in the top left corner and displays useful keybindings in
|
||||||
@ -295,7 +294,7 @@ ingame:
|
|||||||
copySelection: Copiar
|
copySelection: Copiar
|
||||||
clearSelection: Cancelar
|
clearSelection: Cancelar
|
||||||
pipette: Pipeta
|
pipette: Pipeta
|
||||||
switchLayers: Switch layers
|
switchLayers: Troca de camadas
|
||||||
|
|
||||||
# Everything related to placing buildings (I.e. as soon as you selected a building
|
# Everything related to placing buildings (I.e. as soon as you selected a building
|
||||||
# from the toolbar)
|
# from the toolbar)
|
||||||
@ -411,11 +410,11 @@ ingame:
|
|||||||
cyan: Ciano
|
cyan: Ciano
|
||||||
white: Branco
|
white: Branco
|
||||||
uncolored: Sem cor
|
uncolored: Sem cor
|
||||||
black: Black
|
black: Preto
|
||||||
shapeViewer:
|
shapeViewer:
|
||||||
title: Camadas
|
title: Camadas
|
||||||
empty: Vazio
|
empty: Vazio
|
||||||
copyKey: Copy Key
|
copyKey: Chave de cópia
|
||||||
|
|
||||||
# All shop upgrades
|
# All shop upgrades
|
||||||
shopUpgrades:
|
shopUpgrades:
|
||||||
@ -485,6 +484,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: Rodar (CCW)
|
name: Rodar (CCW)
|
||||||
description: Roda as formas 90º no sentido contrário ao dos ponteiros do relógio.
|
description: Roda as formas 90º no sentido contrário ao dos ponteiros do relógio.
|
||||||
|
fl:
|
||||||
|
name: Rodar (180)
|
||||||
|
description: Roda as formas 180º.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -524,25 +526,25 @@ buildings:
|
|||||||
levelShortcut: NVL
|
levelShortcut: NVL
|
||||||
wire:
|
wire:
|
||||||
default:
|
default:
|
||||||
name: Energy Wire
|
name: Fio Elétrico
|
||||||
description: Allows you to transport energy.
|
description: Permite o transporte de energia.
|
||||||
advanced_processor:
|
advanced_processor:
|
||||||
default:
|
default:
|
||||||
name: Color Inverter
|
name: Inversor de Cor
|
||||||
description: Accepts a color or shape and inverts it.
|
description: Aceita uma cor ou forma e inverte-a.
|
||||||
energy_generator:
|
energy_generator:
|
||||||
deliver: Deliver
|
deliver: Entrega
|
||||||
toGenerateEnergy: For
|
toGenerateEnergy: Para
|
||||||
default:
|
default:
|
||||||
name: Energy Generator
|
name: Gerador de energia
|
||||||
description: Generates energy by consuming shapes.
|
description: Gera energia consumindo formas.
|
||||||
wire_crossings:
|
wire_crossings:
|
||||||
default:
|
default:
|
||||||
name: Wire Splitter
|
name: Repartidor de fios
|
||||||
description: Splits a energy wire into two.
|
description: Divide um fio elétrico em dois.
|
||||||
merger:
|
merger:
|
||||||
name: Wire Merger
|
name: Conector de fios
|
||||||
description: Merges two energy wires into one.
|
description: Junta dois fios elétricos num só.
|
||||||
|
|
||||||
storyRewards:
|
storyRewards:
|
||||||
# Those are the rewards gained from completing the store
|
# Those are the rewards gained from completing the store
|
||||||
@ -630,8 +632,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: Definições
|
title: Definições
|
||||||
categories:
|
categories:
|
||||||
game: Jogo
|
general: Geral
|
||||||
app: Aplicação
|
userInterface: Interface de Utilizador
|
||||||
|
advanced: Avançado
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Desenvolvimento
|
dev: Desenvolvimento
|
||||||
@ -826,11 +829,11 @@ keybindings:
|
|||||||
lockBeltDirection: Ativa o planeamento de tapetes
|
lockBeltDirection: Ativa o planeamento de tapetes
|
||||||
switchDirectionLockSide: "Planeador: Troca o lado"
|
switchDirectionLockSide: "Planeador: Troca o lado"
|
||||||
pipette: Pipeta
|
pipette: Pipeta
|
||||||
menuClose: Close Menu
|
menuClose: Fechar Menu
|
||||||
switchLayers: Switch layers
|
switchLayers: Troca de camadas
|
||||||
advanced_processor: Color Inverter
|
advanced_processor: Inversor de Cor
|
||||||
energy_generator: Energy Generator
|
energy_generator: Gerador de energia
|
||||||
wire: Energy Wire
|
wire: Fio Elétrico
|
||||||
about:
|
about:
|
||||||
title: Sobre o jogo
|
title: Sobre o jogo
|
||||||
body: >-
|
body: >-
|
||||||
@ -840,9 +843,9 @@ about:
|
|||||||
Se quiseres contribuir, dá uma olhadela em <a href="<githublink>"
|
Se quiseres contribuir, dá uma olhadela em <a href="<githublink>"
|
||||||
target="_blank">shapez.io no github</a>.<br><br>
|
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>"
|
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"
|
A banda sonora foi feita por <a href="https://soundcloud.com/pettersumelius"
|
||||||
target="_blank">Peppsen</a> - Ele é Fantástico.<br><br>
|
target="_blank">Peppsen</a> - Ele é Fantástico.<br><br>
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -151,7 +151,6 @@ mainMenu:
|
|||||||
savegameLevel: Nivelul <x>
|
savegameLevel: Nivelul <x>
|
||||||
savegameLevelUnknown: Nivel necunoscut
|
savegameLevelUnknown: Nivel necunoscut
|
||||||
|
|
||||||
|
|
||||||
continue: Continuă
|
continue: Continuă
|
||||||
newGame: Joc nou
|
newGame: Joc nou
|
||||||
madeBy: Făcut de <author-link>
|
madeBy: Făcut de <author-link>
|
||||||
@ -484,6 +483,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: Rotate (CCW)
|
name: Rotate (CCW)
|
||||||
description: Rotește formele în inversul sensului acelor de ceasornic la 90 de grade.
|
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:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -629,8 +631,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: Setări
|
title: Setări
|
||||||
categories:
|
categories:
|
||||||
game: Joc
|
general: General
|
||||||
app: Aplicație
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Dezvoltare
|
dev: Dezvoltare
|
||||||
@ -834,9 +837,9 @@ about:
|
|||||||
Dacă vrei să contribui, verifică <a href="<githublink>"
|
Dacă vrei să contribui, verifică <a href="<githublink>"
|
||||||
target="_blank">shapez.io pe github</a>.<br><br>
|
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>"
|
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"
|
Coloana sonoră a fost făcută de <a href="https://soundcloud.com/pettersumelius"
|
||||||
target="_blank">Peppsen</a> - Este uimitor.<br><br>
|
target="_blank">Peppsen</a> - Este uimitor.<br><br>
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -30,66 +30,66 @@ steamPage:
|
|||||||
longText: >-
|
longText: >-
|
||||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
[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.
|
shapez.io — это игра о строительстве фабрик для автоматизации создания и объединения все более сложных фигур на бесконечной карте.
|
||||||
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!
|
Эта игра имеет 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]
|
[list]
|
||||||
[*] Dark Mode
|
[*] Темный Режим
|
||||||
[*] Unlimited Waypoints
|
[*] Неограниченные Метки
|
||||||
[*] Unlimited Savegames
|
[*] Неограниченные Сохранения
|
||||||
[*] Additional settings
|
[*] Дополнительные настройки
|
||||||
[*] Coming soon: Wires & Energy! Aiming for (roughly) end of July 2020.
|
[*] Скоро: Провода & Энергия! Запланировано (примерно) на конец июля 2020 года.
|
||||||
[*] Coming soon: More Levels
|
[*] Скоро: Больше уровней
|
||||||
[*] Allows me to further develop shapez.io ❤️
|
[*] Позволит мне дальше разрабатывать shapez.io ❤️
|
||||||
[/list]
|
[/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]
|
[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]
|
[/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]
|
[list]
|
||||||
[*] [url=https://discord.com/invite/HN7EVzV]Official Discord[/url]
|
[*] [url=https://discord.com/invite/HN7EVzV]Официальный Discord[/url]
|
||||||
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roadmap[/url]
|
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Планы[/url]
|
||||||
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
|
[*] [url=https://www.reddit.com/r/shapezio]Сабреддит[/url]
|
||||||
[*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url]
|
[*] [url=https://github.com/tobspr/shapez.io]Исходный код (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]Помочь с переводом[/url]
|
||||||
[/list]
|
[/list]
|
||||||
|
|
||||||
discordLink: Official Discord - Chat with me!
|
discordLink: Официальный Discord - Общайся со мной!
|
||||||
|
|
||||||
global:
|
global:
|
||||||
loading: Загрузка
|
loading: Загрузка
|
||||||
error: Ошибка
|
error: Ошибка
|
||||||
|
|
||||||
# How big numbers are rendered, e.g. "10,000"
|
# 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"
|
# What symbol to use to seperate the integer part from the fractional part of a number, e.g. "0.4"
|
||||||
decimalSeparator: "."
|
decimalSeparator: "."
|
||||||
@ -142,7 +142,7 @@ mainMenu:
|
|||||||
changelog: Список изменений
|
changelog: Список изменений
|
||||||
importSavegame: Импорт
|
importSavegame: Импорт
|
||||||
openSourceHint: Это игра с открытым исходным кодом!
|
openSourceHint: Это игра с открытым исходным кодом!
|
||||||
discordLink: Оффициальный Дискорд Сервер
|
discordLink: Офици- альный Дискорд
|
||||||
helpTranslate: Помоги с переводом!
|
helpTranslate: Помоги с переводом!
|
||||||
|
|
||||||
# This is shown when using firefox and other browsers which are not supported.
|
# This is shown when using firefox and other browsers which are not supported.
|
||||||
@ -152,7 +152,6 @@ mainMenu:
|
|||||||
savegameLevel: Уровень <x>
|
savegameLevel: Уровень <x>
|
||||||
savegameLevelUnknown: Неизвестный уровень
|
savegameLevelUnknown: Неизвестный уровень
|
||||||
|
|
||||||
|
|
||||||
continue: Продолжить
|
continue: Продолжить
|
||||||
newGame: Новая Игра
|
newGame: Новая Игра
|
||||||
madeBy: Создал <author-link>
|
madeBy: Создал <author-link>
|
||||||
@ -255,7 +254,7 @@ dialogs:
|
|||||||
createMarker:
|
createMarker:
|
||||||
title: Новый маркер
|
title: Новый маркер
|
||||||
desc: Дайте ему содержательное имя, также можно добавить <strong>сокращение</strong> в виде фигуры (Которое можно сгенерировать <a href="https://viewer.shapez.io" target="_blank">здесь</a>)
|
desc: Дайте ему содержательное имя, также можно добавить <strong>сокращение</strong> в виде фигуры (Которое можно сгенерировать <a href="https://viewer.shapez.io" target="_blank">здесь</a>)
|
||||||
titleEdit: Edit Marker
|
titleEdit: Редактирование маркера
|
||||||
|
|
||||||
markerDemoLimit:
|
markerDemoLimit:
|
||||||
desc: Вы можете создать только 2 своих маркера в демо-версии. Приобретите полную версию для безлимитных маркеров.
|
desc: Вы можете создать только 2 своих маркера в демо-версии. Приобретите полную версию для безлимитных маркеров.
|
||||||
@ -273,8 +272,8 @@ dialogs:
|
|||||||
и даже привести к аварийному завершению игры!
|
и даже привести к аварийному завершению игры!
|
||||||
|
|
||||||
massCutInsufficientConfirm:
|
massCutInsufficientConfirm:
|
||||||
title: Confirm cut
|
title: Подтвердите вырезку
|
||||||
desc: You can not afford to paste this area! Are you sure you want to cut it?
|
desc: Вы не можете позволить себе вставить эту область! Вы уверены, что хотите вырезать ее?
|
||||||
|
|
||||||
ingame:
|
ingame:
|
||||||
# This is shown in the top left corner and displays useful keybindings in
|
# This is shown in the top left corner and displays useful keybindings in
|
||||||
@ -298,7 +297,7 @@ ingame:
|
|||||||
copySelection: Копировать
|
copySelection: Копировать
|
||||||
clearSelection: Отменить
|
clearSelection: Отменить
|
||||||
pipette: Пипетка
|
pipette: Пипетка
|
||||||
switchLayers: Switch layers
|
switchLayers: Переключить слои
|
||||||
|
|
||||||
# Everything related to placing buildings (I.e. as soon as you selected a building
|
# Everything related to placing buildings (I.e. as soon as you selected a building
|
||||||
# from the toolbar)
|
# from the toolbar)
|
||||||
@ -391,7 +390,7 @@ ingame:
|
|||||||
waypoints:
|
waypoints:
|
||||||
waypoints: Маркеры
|
waypoints: Маркеры
|
||||||
hub: ХАБ
|
hub: ХАБ
|
||||||
description: ЛКМ по маркеру, чтобы переместится к нему, ПКМ что-бы удалить. <br><br>Нажмите <keybinding> чтобы создать маркер в текущей позиции или <strong>ПКМ</strong> чтобы выбрать другое место для сождания маркера.
|
description: ЛКМ по маркеру, чтобы переместиться к нему, ПКМ что-бы удалить. <br><br>Нажмите <keybinding> чтобы создать маркер в текущей позиции или <strong>ПКМ</strong> чтобы выбрать другое место для создания маркера.
|
||||||
creationSuccessNotification: Маркер был создан.
|
creationSuccessNotification: Маркер был создан.
|
||||||
|
|
||||||
# Interactive tutorial
|
# Interactive tutorial
|
||||||
@ -414,11 +413,11 @@ ingame:
|
|||||||
cyan: Бирюзовый
|
cyan: Бирюзовый
|
||||||
white: Белый
|
white: Белый
|
||||||
uncolored: Бесцветный
|
uncolored: Бесцветный
|
||||||
black: Black
|
black: Черный
|
||||||
shapeViewer:
|
shapeViewer:
|
||||||
title: Слои
|
title: Слои
|
||||||
empty: Пусто
|
empty: Пусто
|
||||||
copyKey: Copy Key
|
copyKey: Копировать
|
||||||
|
|
||||||
# All shop upgrades
|
# All shop upgrades
|
||||||
shopUpgrades:
|
shopUpgrades:
|
||||||
@ -488,6 +487,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: Вращатель (Обр.)
|
name: Вращатель (Обр.)
|
||||||
description: Поворачивает фигуры против часовой стрелки на 90 градусов.
|
description: Поворачивает фигуры против часовой стрелки на 90 градусов.
|
||||||
|
fl:
|
||||||
|
name: Rotate (180)
|
||||||
|
description: Rotates shapes by 180 degrees.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -527,25 +529,25 @@ buildings:
|
|||||||
levelShortcut: Ур.
|
levelShortcut: Ур.
|
||||||
wire:
|
wire:
|
||||||
default:
|
default:
|
||||||
name: Energy Wire
|
name: Энергетический провод
|
||||||
description: Allows you to transport energy.
|
description: Позволяет транспортировать энергию.
|
||||||
advanced_processor:
|
advanced_processor:
|
||||||
default:
|
default:
|
||||||
name: Color Inverter
|
name: Инвертор цвета
|
||||||
description: Accepts a color or shape and inverts it.
|
description: Инвертирует цвета красителей или фигур.
|
||||||
energy_generator:
|
energy_generator:
|
||||||
deliver: Deliver
|
deliver: Доставить
|
||||||
toGenerateEnergy: For
|
toGenerateEnergy: Для
|
||||||
default:
|
default:
|
||||||
name: Energy Generator
|
name: Генератор энергии
|
||||||
description: Generates energy by consuming shapes.
|
description: Производит энергию потребляя фигуры.
|
||||||
wire_crossings:
|
wire_crossings:
|
||||||
default:
|
default:
|
||||||
name: Wire Splitter
|
name: Разделитель провода
|
||||||
description: Splits a energy wire into two.
|
description: Разделяет энергетический провод на два.
|
||||||
merger:
|
merger:
|
||||||
name: Wire Merger
|
name: Соединитель проводов
|
||||||
description: Merges two energy wires into one.
|
description: Соединяет два энергетических провода в один.
|
||||||
|
|
||||||
storyRewards:
|
storyRewards:
|
||||||
# Those are the rewards gained from completing the store
|
# Those are the rewards gained from completing the store
|
||||||
@ -605,7 +607,7 @@ storyRewards:
|
|||||||
|
|
||||||
reward_painter_quad:
|
reward_painter_quad:
|
||||||
title: Покрасчик (4 Входа)
|
title: Покрасчик (4 Входа)
|
||||||
desc: Разблокирован вариант <strong>покрасчика</strong> - он позволяет отдельно раскрашивать каждую часть фигуры!
|
desc: Разблокирован вариант <strong>покрасчика</strong> - он позволяет отдельно раскрашивать каждую четверть фигуры!
|
||||||
|
|
||||||
reward_storage:
|
reward_storage:
|
||||||
title: Буферное Хранилище
|
title: Буферное Хранилище
|
||||||
@ -633,8 +635,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: Настройки
|
title: Настройки
|
||||||
categories:
|
categories:
|
||||||
game: Игровые
|
general: General
|
||||||
app: Основные
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Разработчик
|
dev: Разработчик
|
||||||
@ -828,11 +831,11 @@ keybindings:
|
|||||||
lockBeltDirection: Включает конвейерный планировщик
|
lockBeltDirection: Включает конвейерный планировщик
|
||||||
switchDirectionLockSide: "Планировщик: Переключение сторон"
|
switchDirectionLockSide: "Планировщик: Переключение сторон"
|
||||||
pipette: Пипетка
|
pipette: Пипетка
|
||||||
menuClose: Close Menu
|
menuClose: Закрыть меню
|
||||||
switchLayers: Switch layers
|
switchLayers: Переключить слои
|
||||||
advanced_processor: Color Inverter
|
advanced_processor: Инвертор цвета
|
||||||
energy_generator: Energy Generator
|
energy_generator: Генератор энергии
|
||||||
wire: Energy Wire
|
wire: Энергетический провод
|
||||||
|
|
||||||
about:
|
about:
|
||||||
title: Об игре
|
title: Об игре
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -23,7 +23,7 @@ steamPage:
|
|||||||
# This is the short text appearing on the steam page
|
# 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.
|
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!
|
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.
|
# 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.
|
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.
|
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]
|
[img]{STEAM_APP_IMAGE}/extras/header_standalone_advantages.png[/img]
|
||||||
@ -501,6 +501,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: Rotate (CCW)
|
name: Rotate (CCW)
|
||||||
description: Rotates shapes counter-clockwise by 90 degrees.
|
description: Rotates shapes counter-clockwise by 90 degrees.
|
||||||
|
fl:
|
||||||
|
name: Rotate (180)
|
||||||
|
description: Rotates shapes by 180 degrees.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -640,8 +643,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: Settings
|
title: Settings
|
||||||
categories:
|
categories:
|
||||||
game: Game
|
general: General
|
||||||
app: Application
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Development
|
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>
|
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>
|
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
@ -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.
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -118,7 +118,7 @@ global:
|
|||||||
# Short formats for times, e.g. '5h 23m'
|
# Short formats for times, e.g. '5h 23m'
|
||||||
secondsShort: <seconds>s
|
secondsShort: <seconds>s
|
||||||
minutesAndSecondsShort: <minutes>m <seconds>s
|
minutesAndSecondsShort: <minutes>m <seconds>s
|
||||||
hoursAndMinutesShort: <hours>t <minutes>s
|
hoursAndMinutesShort: <hours>t <minutes>m
|
||||||
|
|
||||||
xMinutes: <x> minuter
|
xMinutes: <x> minuter
|
||||||
|
|
||||||
@ -138,20 +138,19 @@ demoBanners:
|
|||||||
|
|
||||||
mainMenu:
|
mainMenu:
|
||||||
play: Spela
|
play: Spela
|
||||||
changelog: Changelog
|
changelog: Ändringslogg
|
||||||
importSavegame: Importera
|
importSavegame: Importera
|
||||||
openSourceHint: Detta spel är open source!
|
openSourceHint: Detta spelet har öppen kod!
|
||||||
discordLink: Officiell Discord Server
|
discordLink: Officiell Discord Server
|
||||||
helpTranslate: Hjälp till att översätta!
|
helpTranslate: Hjälp till att översätta!
|
||||||
|
|
||||||
# This is shown when using firefox and other browsers which are not supported.
|
# This is shown when using firefox and other browsers which are not supported.
|
||||||
browserWarning: >-
|
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>
|
savegameLevel: Nivå <x>
|
||||||
savegameLevelUnknown: Okänd Nivå
|
savegameLevelUnknown: Okänd Nivå
|
||||||
|
|
||||||
|
|
||||||
continue: Fortsätt
|
continue: Fortsätt
|
||||||
newGame: Nytt spel
|
newGame: Nytt spel
|
||||||
madeBy: Skapad av <author-link>
|
madeBy: Skapad av <author-link>
|
||||||
@ -203,7 +202,7 @@ dialogs:
|
|||||||
|
|
||||||
editKeybinding:
|
editKeybinding:
|
||||||
title: Ändra snabbtangenter
|
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:
|
resetKeybindingsConfirmation:
|
||||||
title: Återställ snabbtangenter
|
title: Återställ snabbtangenter
|
||||||
@ -219,34 +218,34 @@ dialogs:
|
|||||||
|
|
||||||
oneSavegameLimit:
|
oneSavegameLimit:
|
||||||
title: Begränsad mängd sparfiler
|
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:
|
updateSummary:
|
||||||
title: Ny uppdatering!
|
title: Ny uppdatering!
|
||||||
desc: >-
|
desc: >-
|
||||||
Här är ändringarna sen du sist spelade:
|
Här är ändringarna sen du senast spelade:
|
||||||
|
|
||||||
upgradesIntroduction:
|
upgradesIntroduction:
|
||||||
title: Lås upp Uppgraderingar
|
title: Lås upp Uppgraderingar
|
||||||
desc: >-
|
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.
|
Uppgraderingsmenyn finns i det övre högra hörnet på skärmen.
|
||||||
|
|
||||||
massDeleteConfirm:
|
massDeleteConfirm:
|
||||||
title: Bekräfta borttagning
|
title: Bekräfta borttagning
|
||||||
desc: >-
|
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:
|
blueprintsNotUnlocked:
|
||||||
title: Inte upplåst än
|
title: Inte upplåst än
|
||||||
desc: >-
|
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:
|
keybindingsIntroduction:
|
||||||
title: Användbara tangentbindningar
|
title: Användbara tangentbindningar
|
||||||
desc: >-
|
desc: >-
|
||||||
Detta spel använder en stor mängd tangentbindningar som gör det lättare att bygga stora fabriker.
|
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'>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'>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>
|
<code class='keybinding'>ALT</code>: Invertera orientationen av placerade rullband.<br>
|
||||||
@ -254,10 +253,10 @@ dialogs:
|
|||||||
createMarker:
|
createMarker:
|
||||||
title: Ny Markör
|
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>)
|
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:
|
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:
|
massCutConfirm:
|
||||||
title: Bekräfta Klipp
|
title: Bekräfta Klipp
|
||||||
desc: >-
|
desc: >-
|
||||||
@ -268,11 +267,11 @@ dialogs:
|
|||||||
title: Exportera skärmdump
|
title: Exportera skärmdump
|
||||||
desc: >-
|
desc: >-
|
||||||
Du efterfrågade att exportera din fabrik som en skärmdump.
|
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:
|
massCutInsufficientConfirm:
|
||||||
title: Confirm cut
|
title: Bekräfta Klipp
|
||||||
desc: You can not afford to paste this area! Are you sure you want to cut it?
|
desc: Du har inte råd att placera detta område! Är du säker att du vill klippa det?
|
||||||
|
|
||||||
ingame:
|
ingame:
|
||||||
# This is shown in the top left corner and displays useful keybindings in
|
# This is shown in the top left corner and displays useful keybindings in
|
||||||
@ -285,10 +284,10 @@ ingame:
|
|||||||
placeMultiple: Placera flera
|
placeMultiple: Placera flera
|
||||||
reverseOrientation: Vänd orientation
|
reverseOrientation: Vänd orientation
|
||||||
disableAutoOrientation: Stäng av automatisk orientation
|
disableAutoOrientation: Stäng av automatisk orientation
|
||||||
toggleHud: Toggle HUD
|
toggleHud: Växla HUD
|
||||||
placeBuilding: Placera Byggnad
|
placeBuilding: Placera Byggnad
|
||||||
createMarker: Skapa Markör
|
createMarker: Skapa Markör
|
||||||
delete: Förstör
|
delete: Ta bort
|
||||||
pasteLastBlueprint: Klistra in ritning
|
pasteLastBlueprint: Klistra in ritning
|
||||||
lockBeltDirection: Aktivera rullbandsplanerare
|
lockBeltDirection: Aktivera rullbandsplanerare
|
||||||
plannerSwitchSide: Vänd planerarsidan
|
plannerSwitchSide: Vänd planerarsidan
|
||||||
@ -296,7 +295,7 @@ ingame:
|
|||||||
copySelection: Kopiera
|
copySelection: Kopiera
|
||||||
clearSelection: Rensa vald
|
clearSelection: Rensa vald
|
||||||
pipette: Pipett
|
pipette: Pipett
|
||||||
switchLayers: Switch layers
|
switchLayers: Byt lager
|
||||||
|
|
||||||
# Everything related to placing buildings (I.e. as soon as you selected a building
|
# Everything related to placing buildings (I.e. as soon as you selected a building
|
||||||
# from the toolbar)
|
# from the toolbar)
|
||||||
@ -486,6 +485,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: Roterare (CCW)
|
name: Roterare (CCW)
|
||||||
description: Roterar former 90 motsols.
|
description: Roterar former 90 motsols.
|
||||||
|
fl:
|
||||||
|
name: Rotate (180)
|
||||||
|
description: Rotates shapes by 180 degrees.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -631,8 +633,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: Inställningar
|
title: Inställningar
|
||||||
categories:
|
categories:
|
||||||
game: Spelinställningar
|
general: General
|
||||||
app: Applikation
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Utveckling
|
dev: Utveckling
|
||||||
@ -843,7 +846,7 @@ about:
|
|||||||
|
|
||||||
Spelet hade inte varit möjligt utan den fantastiska discordgemenskapen
|
Spelet hade inte varit möjligt utan den fantastiska discordgemenskapen
|
||||||
runt mina spel - Du borde gå med i den <a href="<discordlink>"
|
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"
|
Musiken skapades av <a href="https://soundcloud.com/pettersumelius"
|
||||||
target="_blank">Peppsen</a> - Han är grym!<br><br>
|
target="_blank">Peppsen</a> - Han är grym!<br><br>
|
||||||
|
@ -15,16 +15,22 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
# Ґлосарій:
|
||||||
|
# map мапа
|
||||||
|
# keybinds гарячі клавіши
|
||||||
|
# upgrade поліпшення
|
||||||
|
# marker позначка
|
||||||
|
# area ділянка
|
||||||
|
# hub
|
||||||
|
|
||||||
steamPage:
|
steamPage:
|
||||||
# This is the short text appearing on the steam page
|
# 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.
|
shortText: shapez.io — це гра про будування фабрик для автоматизації створення та обробки все більш складних форм на нескінченно розширюваній мапі.
|
||||||
|
|
||||||
# This is the text shown above the discord link
|
# This is the text shown above the Discord link
|
||||||
discordLink: Official Discord - Chat with me!
|
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.
|
# 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:
|
# NOTICE:
|
||||||
@ -42,86 +48,86 @@ steamPage:
|
|||||||
|
|
||||||
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!
|
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.
|
Купуючи гру, ви отримуєте доступ до окремої версії, яка має додаткові функції, а також ви отримаєте доступ до нещодавно розроблених функцій.
|
||||||
|
|
||||||
[img]{STEAM_APP_IMAGE}/extras/header_standalone_advantages.png[/img]
|
[img]{STEAM_APP_IMAGE}/extras/header_standalone_advantages.png[/img]
|
||||||
|
|
||||||
[list]
|
[list]
|
||||||
[*] Dark Mode
|
[*] Темний режим
|
||||||
[*] Unlimited Waypoints
|
[*] Необмежені позначки
|
||||||
[*] Unlimited Savegames
|
[*] Необмежені збереження
|
||||||
[*] Additional settings
|
[*] Додаткові налаштування
|
||||||
[*] Coming soon: Wires & Energy! Aiming for (roughly) end of July 2020.
|
[*] Незабаром: дроти й енергія! Гадаю, оновлення вийде у кінці липня 2020 року.
|
||||||
[*] Coming soon: More Levels
|
[*] Незабаром: більше рівнів.
|
||||||
[*] Allows me to further develop shapez.io ❤️
|
[*] Allows me to further develop shapez.io ❤️
|
||||||
[/list]
|
[/list]
|
||||||
|
|
||||||
[img]{STEAM_APP_IMAGE}/extras/header_future_updates.png[/img]
|
[img]{STEAM_APP_IMAGE}/extras/header_future_updates.png[/img]
|
||||||
|
|
||||||
I am updating the game very often and trying to push an update at least every week!
|
Я оновлюю гру надпрочуд часто і намагаюся випускати оновлення щотижня!
|
||||||
|
|
||||||
[list]
|
[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]
|
[/list]
|
||||||
|
|
||||||
[img]{STEAM_APP_IMAGE}/extras/header_open_source.png[/img]
|
[img]{STEAM_APP_IMAGE}/extras/header_open_source.png[/img]
|
||||||
|
|
||||||
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 заради повної дорожньої карти!
|
||||||
|
|
||||||
[img]{STEAM_APP_IMAGE}/extras/header_links.png[/img]
|
[img]{STEAM_APP_IMAGE}/extras/header_links.png[/img]
|
||||||
|
|
||||||
[list]
|
[list]
|
||||||
[*] [url=https://discord.com/invite/HN7EVzV]Official Discord[/url]
|
[*] [url=https://discord.com/invite/HN7EVzV]Офіційний Discord[/url]
|
||||||
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roadmap[/url]
|
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Дорожня карта[/url]
|
||||||
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
|
[*] [url=https://www.reddit.com/r/shapezio]Спільнота на Reddit[/url]
|
||||||
[*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url]
|
[*] [url=https://github.com/tobspr/shapez.io]Вихідний код на 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]Допоможіть з перекладом[/url]
|
||||||
[/list]
|
[/list]
|
||||||
|
|
||||||
global:
|
global:
|
||||||
loading: Loading
|
loading: Завантаження
|
||||||
error: Error
|
error: Помилка
|
||||||
|
|
||||||
# How big numbers are rendered, e.g. "10,000"
|
# 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"
|
# What symbol to use to seperate the integer part from the fractional part of a number, e.g. "0.4"
|
||||||
decimalSeparator: "."
|
decimalSeparator: ","
|
||||||
|
|
||||||
# The suffix for large numbers, e.g. 1.3k, 400.2M, etc.
|
# The suffix for large numbers, e.g. 1.3k, 400.2M, etc.
|
||||||
suffix:
|
suffix:
|
||||||
thousands: k
|
thousands: тис.
|
||||||
millions: M
|
millions: млн
|
||||||
billions: B
|
billions: млрд
|
||||||
trillions: T
|
trillions: трлн
|
||||||
|
|
||||||
# Shown for infinitely big numbers
|
# Shown for infinitely big numbers
|
||||||
infinite: inf
|
infinite: неск.
|
||||||
|
|
||||||
time:
|
time:
|
||||||
# Used for formatting past time dates
|
# Used for formatting past time dates
|
||||||
oneSecondAgo: one second ago
|
oneSecondAgo: одну секунду тому
|
||||||
xSecondsAgo: <x> seconds ago
|
xSecondsAgo: <x> секунд тому
|
||||||
oneMinuteAgo: one minute ago
|
oneMinuteAgo: 1 хвилину тому
|
||||||
xMinutesAgo: <x> minutes ago
|
xMinutesAgo: <x> хвилин тому
|
||||||
oneHourAgo: one hour ago
|
oneHourAgo: одну годину тому
|
||||||
xHoursAgo: <x> hours ago
|
xHoursAgo: <x> годин тому
|
||||||
oneDayAgo: one day ago
|
oneDayAgo: один день тому
|
||||||
xDaysAgo: <x> days ago
|
xDaysAgo: <x> днів тому
|
||||||
|
|
||||||
# Short formats for times, e.g. '5h 23m'
|
# Short formats for times, e.g. '5h 23m'
|
||||||
secondsShort: <seconds>s
|
secondsShort: <seconds>сек.
|
||||||
minutesAndSecondsShort: <minutes>m <seconds>s
|
minutesAndSecondsShort: <minutes>хв. <seconds>сек.
|
||||||
hoursAndMinutesShort: <hours>h <minutes>m
|
hoursAndMinutesShort: <hours>год. <minutes>хв.
|
||||||
|
|
||||||
xMinutes: <x> minutes
|
xMinutes: <x> хв.
|
||||||
|
|
||||||
keys:
|
keys:
|
||||||
tab: TAB
|
tab: TAB
|
||||||
@ -133,182 +139,180 @@ global:
|
|||||||
|
|
||||||
demoBanners:
|
demoBanners:
|
||||||
# This is the "advertisement" shown in the main menu and other various places
|
# This is the "advertisement" shown in the main menu and other various places
|
||||||
title: Demo Version
|
title: Демоверсія
|
||||||
intro: >-
|
intro: >-
|
||||||
Get the standalone to unlock all features!
|
Завантажте окрему версію, щоб розблокувати всі функції!
|
||||||
|
|
||||||
mainMenu:
|
mainMenu:
|
||||||
play: Play
|
play: Грати
|
||||||
continue: Continue
|
continue: Продовжити
|
||||||
newGame: New Game
|
newGame: Нова гра
|
||||||
changelog: Changelog
|
changelog: Змінопис
|
||||||
subreddit: Reddit
|
subreddit: Reddit
|
||||||
importSavegame: Import
|
importSavegame: Імпортувати
|
||||||
openSourceHint: This game is open source!
|
openSourceHint: Ця гра з відкритим вихідним кодом!
|
||||||
discordLink: Official Discord Server
|
discordLink: Офіційний Discord сервер
|
||||||
helpTranslate: Help translate!
|
helpTranslate: Допоможіть перекласти!
|
||||||
madeBy: Made by <author-link>
|
madeBy: Зробив <author-link>
|
||||||
|
|
||||||
# This is shown when using firefox and other browsers which are not supported.
|
# This is shown when using firefox and other browsers which are not supported.
|
||||||
browserWarning: >-
|
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
|
|
||||||
|
|
||||||
|
|
||||||
|
savegameLevel: Рівень <x>
|
||||||
|
savegameLevelUnknown: Невідомий рівень
|
||||||
|
|
||||||
dialogs:
|
dialogs:
|
||||||
buttons:
|
buttons:
|
||||||
ok: OK
|
ok: Гаразд
|
||||||
delete: Delete
|
delete: Видалити
|
||||||
cancel: Cancel
|
cancel: Скасувати
|
||||||
later: Later
|
later: Пізніше
|
||||||
restart: Restart
|
restart: Перезавантажити
|
||||||
reset: Reset
|
reset: Скинути
|
||||||
getStandalone: Get Standalone
|
getStandalone: Завантажити гру
|
||||||
deleteGame: I know what I am doing
|
deleteGame: Я знаю, що роблю
|
||||||
viewUpdate: View Update
|
viewUpdate: Переглянути оновлення
|
||||||
showUpgrades: Show Upgrades
|
showUpgrades: Показати поліпшення
|
||||||
showKeybindings: Show Keybindings
|
showKeybindings: Показати прив’язки клавіш
|
||||||
|
|
||||||
importSavegameError:
|
importSavegameError:
|
||||||
title: Import Error
|
title: Помилка при імпортуванні
|
||||||
text: >-
|
text: >-
|
||||||
Failed to import your savegame:
|
Не вдалося імпортувати вашу збережену гру:
|
||||||
|
|
||||||
importSavegameSuccess:
|
importSavegameSuccess:
|
||||||
title: Savegame Imported
|
title: Збереження імпортовано
|
||||||
text: >-
|
text: >-
|
||||||
Your savegame has been successfully imported.
|
Вашу збережену гру успішно імпортовано.
|
||||||
|
|
||||||
gameLoadFailure:
|
gameLoadFailure:
|
||||||
title: Game is broken
|
title: Гра поламана
|
||||||
text: >-
|
text: >-
|
||||||
Failed to load your savegame:
|
Не вдалося завантажити вашу збережену гру.
|
||||||
|
|
||||||
confirmSavegameDelete:
|
confirmSavegameDelete:
|
||||||
title: Confirm deletion
|
title: Підтвердження
|
||||||
text: >-
|
text: >-
|
||||||
Are you sure you want to delete the game?
|
Ви справді хочете видалити гру?
|
||||||
|
|
||||||
savegameDeletionError:
|
savegameDeletionError:
|
||||||
title: Failed to delete
|
title: Виникла помилка при видаленні
|
||||||
text: >-
|
text: >-
|
||||||
Failed to delete the savegame:
|
Не вдалося видалити збережену гру.
|
||||||
|
|
||||||
restartRequired:
|
restartRequired:
|
||||||
title: Restart required
|
title: Потрібне перезавантаження
|
||||||
text: >-
|
text: >-
|
||||||
You need to restart the game to apply the settings.
|
Перезавантажте гру, щоб налаштування вступили в дію.
|
||||||
|
|
||||||
editKeybinding:
|
editKeybinding:
|
||||||
title: Change Keybinding
|
title: Зміна гарячої клавіши
|
||||||
desc: Press the key or mouse button you want to assign, or escape to cancel.
|
desc: Натисніть клавішу, яку ви хочете призначити, або escape для скасування.
|
||||||
|
|
||||||
resetKeybindingsConfirmation:
|
resetKeybindingsConfirmation:
|
||||||
title: Reset keybindings
|
title: Скинути гарячу клавіші
|
||||||
desc: This will reset all keybindings to their default values. Please confirm.
|
desc: Це скине всі прив'язки клавіш до їхніх значень за замовчуванням. Будь ласка, підтвердіть.
|
||||||
|
|
||||||
keybindingsResetOk:
|
keybindingsResetOk:
|
||||||
title: Keybindings reset
|
title: Скинути гарячі клавіші
|
||||||
desc: The keybindings have been reset to their respective defaults!
|
desc: Гарячі клавіши скинемуться до їхніх початкових значень!
|
||||||
|
|
||||||
featureRestriction:
|
featureRestriction:
|
||||||
title: Demo Version
|
title: Демоверсія
|
||||||
desc: You tried to access a feature (<feature>) which is not available in the demo. Consider getting the standalone version for the full experience!
|
desc: Ви спробували отримати доступ до функції (<feature>), яка недоступна в демонстраційній версії. Подумайте про отримання окремої версії, щоб насолодитися грою сповна!
|
||||||
|
|
||||||
oneSavegameLimit:
|
oneSavegameLimit:
|
||||||
title: Limited savegames
|
title: Обмежені збереження
|
||||||
desc: You can only have one savegame at a time in the demo version. Please remove the existing one or get the standalone version!
|
desc: Ви можете мати лише одне збереження одночасно в демоверсії. Будь ласка, видаліть збереження чи завантажте окрему версію гри!
|
||||||
|
|
||||||
updateSummary:
|
updateSummary:
|
||||||
title: New update!
|
title: Нове оновлення!
|
||||||
desc: >-
|
desc: >-
|
||||||
Here are the changes since you last played:
|
Ось зміни з вашої останньої гри
|
||||||
|
|
||||||
upgradesIntroduction:
|
upgradesIntroduction:
|
||||||
title: Unlock Upgrades
|
title: Розблокування поліпшень
|
||||||
desc: >-
|
desc: >-
|
||||||
All shapes you produce can be used to unlock upgrades - <strong>Don't destroy your old factories!</strong>
|
Усі форми, що ви виробляєте, можуть використовуватися для розблокування поліпшення - <strong>Не зруйновуйте ваші старі заводи!<strong>
|
||||||
The upgrades tab can be found on the top right corner of the screen.
|
Вкладку з поліпшеннями можна знайти в правому верхньому куті екрана.
|
||||||
|
|
||||||
massDeleteConfirm:
|
massDeleteConfirm:
|
||||||
title: Confirm delete
|
title: Підтвердження видалення
|
||||||
desc: >-
|
desc: >-
|
||||||
You are deleting a lot of buildings (<count> to be exact)! Are you sure you want to do this?
|
Ви видаляєте багато будівль (<count>, якщо бути точним)! Ви справді хочете зробити це?
|
||||||
|
|
||||||
massCutConfirm:
|
massCutConfirm:
|
||||||
title: Confirm cut
|
title: Підтвердження вирізання
|
||||||
desc: >-
|
desc: >-
|
||||||
You are cutting a lot of buildings (<count> to be exact)! Are you sure you want to do this?
|
Ви вирізаєте багато будівль(<count>, якщо бути точним)! Ви справді хочете зробити це?
|
||||||
|
|
||||||
massCutInsufficientConfirm:
|
massCutInsufficientConfirm:
|
||||||
title: Confirm cut
|
title: Підтвердити вирізання
|
||||||
desc: >-
|
desc: >-
|
||||||
You can not afford to paste this area! Are you sure you want to cut it?
|
Ви не можете дозволити собі вставити цю область! Ви справді хочете вирізати це?
|
||||||
|
|
||||||
blueprintsNotUnlocked:
|
blueprintsNotUnlocked:
|
||||||
title: Not unlocked yet
|
title: Ще не розблоковано
|
||||||
desc: >-
|
desc: >-
|
||||||
Complete level 12 to unlock Blueprints!
|
Досягніть 13-го рівня, щоб розблокувати Blueprints!
|
||||||
|
|
||||||
keybindingsIntroduction:
|
keybindingsIntroduction:
|
||||||
title: Useful keybindings
|
title: Корисні гарячі клавіши
|
||||||
desc: >-
|
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>
|
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'>CTRL</code> + Drag: Select an area.<br>
|
||||||
<code class='keybinding'>SHIFT</code>: Hold to place multiple of one building.<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>
|
<code class='keybinding'>ALT</code>: Invert orientation of placed belts.<br>
|
||||||
|
|
||||||
createMarker:
|
createMarker:
|
||||||
title: New Marker
|
title: Нова позначка
|
||||||
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>)
|
desc: Дайте йому змістовну назву, 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
|
titleEdit: Редагувати позначку
|
||||||
|
|
||||||
markerDemoLimit:
|
markerDemoLimit:
|
||||||
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
|
desc: Ви можете створити тільки 2 позначки в демоверсії. Отримайте окрему версії для створення необмеженної кількості позначок.
|
||||||
|
|
||||||
exportScreenshotWarning:
|
exportScreenshotWarning:
|
||||||
title: Export screenshot
|
title: Експортувати зняток
|
||||||
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!
|
desc: Ви просили експортувати свою базу як знімок екрана. Зверніть увагу, що для великої бази це може бути досить повільним процесом і може навіть зруйнувати вашу гру!
|
||||||
|
|
||||||
ingame:
|
ingame:
|
||||||
# This is shown in the top left corner and displays useful keybindings in
|
# This is shown in the top left corner and displays useful keybindings in
|
||||||
# every situation
|
# every situation
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Move
|
moveMap: Рухатися
|
||||||
selectBuildings: Select area
|
selectBuildings: Виділити будівлі
|
||||||
stopPlacement: Stop placement
|
stopPlacement: Stop placement
|
||||||
rotateBuilding: Rotate building
|
rotateBuilding: Повернути будівлю
|
||||||
placeMultiple: Place multiple
|
placeMultiple: Place multiple
|
||||||
reverseOrientation: Reverse orientation
|
reverseOrientation: Reverse orientation
|
||||||
disableAutoOrientation: Disable auto-orientation
|
disableAutoOrientation: Disable auto-orientation
|
||||||
toggleHud: Toggle HUD
|
toggleHud: Toggle HUD
|
||||||
placeBuilding: Place building
|
placeBuilding: Place building
|
||||||
createMarker: Create marker
|
createMarker: Створити позначку
|
||||||
delete: Delete
|
delete: Видалити
|
||||||
pasteLastBlueprint: Paste last blueprint
|
pasteLastBlueprint: Paste last blueprint
|
||||||
lockBeltDirection: Enable belt planner
|
lockBeltDirection: Enable belt planner
|
||||||
plannerSwitchSide: Flip planner side
|
plannerSwitchSide: Flip planner side
|
||||||
cutSelection: Cut
|
cutSelection: Вирізати
|
||||||
copySelection: Copy
|
copySelection: Скопіювати
|
||||||
clearSelection: Clear selection
|
clearSelection: Clear selection
|
||||||
pipette: Pipette
|
pipette: Піпетка
|
||||||
switchLayers: Switch layers
|
switchLayers: Змінити шари
|
||||||
|
|
||||||
# Names of the colors, used for the color blind mode
|
# Names of the colors, used for the color blind mode
|
||||||
colors:
|
colors:
|
||||||
red: Red
|
red: Червоний
|
||||||
green: Green
|
green: Зелений
|
||||||
blue: Blue
|
blue: Синій
|
||||||
yellow: Yellow
|
yellow: Жовтий
|
||||||
purple: Purple
|
purple: Фіолетовий
|
||||||
cyan: Cyan
|
cyan: Блакитний
|
||||||
white: White
|
white: Білий
|
||||||
black: Black
|
black: Чорний
|
||||||
uncolored: No color
|
uncolored: Без кольору
|
||||||
|
|
||||||
# Everything related to placing buildings (I.e. as soon as you selected a building
|
# Everything related to placing buildings (I.e. as soon as you selected a building
|
||||||
# from the toolbar)
|
# from the toolbar)
|
||||||
@ -322,126 +326,126 @@ ingame:
|
|||||||
Hotkey: <key>
|
Hotkey: <key>
|
||||||
|
|
||||||
infoTexts:
|
infoTexts:
|
||||||
speed: Speed
|
speed: Швидкість
|
||||||
range: Range
|
range: Range
|
||||||
storage: Storage
|
storage: Сховище
|
||||||
oneItemPerSecond: 1 item / second
|
oneItemPerSecond: 1 предмет за сек.
|
||||||
itemsPerSecond: <x> items / s
|
itemsPerSecond: <x> предмет. за сек
|
||||||
itemsPerSecondDouble: (x2)
|
itemsPerSecondDouble: (x2)
|
||||||
|
|
||||||
tiles: <x> tiles
|
tiles: <x> плиток
|
||||||
|
|
||||||
# The notification when completing a level
|
# The notification when completing a level
|
||||||
levelCompleteNotification:
|
levelCompleteNotification:
|
||||||
# <level> is replaced by the actual level, so this gets 'Level 03' for example.
|
# <level> is replaced by the actual level, so this gets 'Level 03' for example.
|
||||||
levelTitle: Level <level>
|
levelTitle: Рівень <level>
|
||||||
completed: Completed
|
completed: Завершено
|
||||||
unlockText: Unlocked <reward>!
|
unlockText: Розблоковано «<reward>»!
|
||||||
buttonNextLevel: Next Level
|
buttonNextLevel: Наступний рівень
|
||||||
|
|
||||||
# Notifications on the lower right
|
# Notifications on the lower right
|
||||||
notifications:
|
notifications:
|
||||||
newUpgrade: A new upgrade is available!
|
newUpgrade: Нове оновлення розблоковано!
|
||||||
gameSaved: Your game has been saved.
|
gameSaved: Вашу гру збережено.
|
||||||
|
|
||||||
# The "Upgrades" window
|
# The "Upgrades" window
|
||||||
shop:
|
shop:
|
||||||
title: Upgrades
|
title: Поліпшення
|
||||||
buttonUnlock: Upgrade
|
buttonUnlock: Поліпшення
|
||||||
|
|
||||||
# Gets replaced to e.g. "Tier IX"
|
# Gets replaced to e.g. "Tier IX"
|
||||||
tier: Tier <x>
|
tier: Клас <x>
|
||||||
|
|
||||||
# The roman number for each tier
|
# The roman number for each tier
|
||||||
tierLabels: [I, II, III, IV, V, VI, VII, VIII, IX, X]
|
tierLabels: [I, II, III, IV, V, VI, VII, VIII, IX, X]
|
||||||
|
|
||||||
maximumLevel: MAXIMUM LEVEL (Speed x<currentMult>)
|
maximumLevel: МАКСИМАЛЬНИЙ РІВЕНЬ (Швидкість <currentMult>х)
|
||||||
|
|
||||||
# The "Statistics" window
|
# The "Statistics" window
|
||||||
statistics:
|
statistics:
|
||||||
title: Statistics
|
title: Статистика
|
||||||
dataSources:
|
dataSources:
|
||||||
stored:
|
stored:
|
||||||
title: Stored
|
title: Зберігається
|
||||||
description: Displaying amount of stored shapes in your central building.
|
description: Displaying amount of stored shapes in your central building.
|
||||||
produced:
|
produced:
|
||||||
title: Produced
|
title: Виробляється
|
||||||
description: Displaying all shapes your whole factory produces, including intermediate products.
|
description: Displaying all shapes your whole factory produces, including intermediate products.
|
||||||
delivered:
|
delivered:
|
||||||
title: Delivered
|
title: Доставлено
|
||||||
description: Displaying shapes which are delivered to your central building.
|
description: Displaying shapes which are delivered to your central building.
|
||||||
noShapesProduced: No shapes have been produced so far.
|
noShapesProduced: No shapes have been produced so far.
|
||||||
|
|
||||||
# Displays the shapes per minute, e.g. '523 / m'
|
# Displays the shapes per minute, e.g. '523 / m'
|
||||||
shapesPerMinute: <shapes> / m
|
shapesPerMinute: <shapes> за хв.
|
||||||
|
|
||||||
# Settings menu, when you press "ESC"
|
# Settings menu, when you press "ESC"
|
||||||
settingsMenu:
|
settingsMenu:
|
||||||
playtime: Playtime
|
playtime: У грі
|
||||||
|
|
||||||
buildingsPlaced: Buildings
|
buildingsPlaced: Будівлі
|
||||||
beltsPlaced: Belts
|
beltsPlaced: Стрічки
|
||||||
|
|
||||||
buttons:
|
buttons:
|
||||||
continue: Continue
|
continue: Продовжити
|
||||||
settings: Settings
|
settings: Налаштування
|
||||||
menu: Return to menu
|
menu: Повернутися до меню
|
||||||
|
|
||||||
# Bottom left tutorial hints
|
# Bottom left tutorial hints
|
||||||
tutorialHints:
|
tutorialHints:
|
||||||
title: Need help?
|
title: Потрібна допомога?
|
||||||
showHint: Show hint
|
showHint: Показати підказку
|
||||||
hideHint: Close
|
hideHint: Закрити
|
||||||
|
|
||||||
# When placing a blueprint
|
# When placing a blueprint
|
||||||
blueprintPlacer:
|
blueprintPlacer:
|
||||||
cost: Cost
|
cost: Вартість
|
||||||
|
|
||||||
# Map markers
|
# Map markers
|
||||||
waypoints:
|
waypoints:
|
||||||
waypoints: Markers
|
waypoints: Позначки
|
||||||
hub: 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.
|
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.
|
creationSuccessNotification: Marker has been created.
|
||||||
|
|
||||||
# Shape viewer
|
# Shape viewer
|
||||||
shapeViewer:
|
shapeViewer:
|
||||||
title: Layers
|
title: Шари
|
||||||
empty: Empty
|
empty: Пустий
|
||||||
copyKey: Copy Key
|
copyKey: Copy Key
|
||||||
|
|
||||||
# Interactive tutorial
|
# Interactive tutorial
|
||||||
interactiveTutorial:
|
interactiveTutorial:
|
||||||
title: Tutorial
|
title: Навчання
|
||||||
hints:
|
hints:
|
||||||
1_1_extractor: Place an <strong>extractor</strong> on top of a <strong>circle shape</strong> to extract it!
|
1_1_extractor: Розмістіть <strong>екстрактор</strong> поверх <strong>фігури кола</strong>, щоб отримати її!
|
||||||
1_2_conveyor: >-
|
1_2_conveyor: >-
|
||||||
Connect the extractor with a <strong>conveyor belt</strong> to your hub!<br><br>Tip: <strong>Click and drag</strong> the belt with your mouse!
|
З’єднайте екстрактор з вашим центром за допомогою <strong>конвеєрної стрічки</strong>!<br><br>Підказка: <strong>Натисніть і протягніть</strong> стрічку вашою мишею.
|
||||||
|
|
||||||
1_3_expand: >-
|
1_3_expand: >-
|
||||||
This is <strong>NOT</strong> an idle game! Build more extractors and belts to finish the goal quicker.<br><br>Tip: Hold <strong>SHIFT</strong> to place multiple extractors, and use <strong>R</strong> to rotate them.
|
У цій грі <strong>ВАМ НЕ ПОТРІБНО БЕЗДІЯТИ</strong>! Будуйте більше екстракторів і стрічок, щоб виконати свою мету швидше.<br><br>Підказка: Утримуйте <strong>SHIFT</strong>, щоб розмістити багато екстракторів, і використовуйте <strong>R</strong>, щоб обертати їх.
|
||||||
|
|
||||||
# All shop upgrades
|
# All shop upgrades
|
||||||
shopUpgrades:
|
shopUpgrades:
|
||||||
belt:
|
belt:
|
||||||
name: Belts, Distributor & Tunnels
|
name: Стрічки, розподілювачі і тунелі
|
||||||
description: Speed x<currentMult> → x<newMult>
|
description: Швидкість x<currentMult> → x<newMult>
|
||||||
miner:
|
miner:
|
||||||
name: Extraction
|
name: Видобуток
|
||||||
description: Speed x<currentMult> → x<newMult>
|
description: Швидкість x<currentMult> → x<newMult>
|
||||||
processors:
|
processors:
|
||||||
name: Cutting, Rotating & Stacking
|
name: Різання, обертання й укладання
|
||||||
description: Speed x<currentMult> → x<newMult>
|
description: Швидкість x<currentMult> → x<newMult>
|
||||||
painting:
|
painting:
|
||||||
name: Mixing & Painting
|
name: Змішування і малювання
|
||||||
description: Speed x<currentMult> → x<newMult>
|
description: Швидкість x<currentMult> → x<newMult>
|
||||||
|
|
||||||
# Buildings and their name / description
|
# Buildings and their name / description
|
||||||
buildings:
|
buildings:
|
||||||
hub:
|
hub:
|
||||||
deliver: Deliver
|
deliver: Доставте,
|
||||||
toUnlock: to unlock
|
toUnlock: щоб розблокувати
|
||||||
levelShortcut: LVL
|
levelShortcut: РІВ
|
||||||
|
|
||||||
belt:
|
belt:
|
||||||
default:
|
default:
|
||||||
@ -504,6 +508,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: Rotate (CCW)
|
name: Rotate (CCW)
|
||||||
description: Rotates shapes counter-clockwise by 90 degrees.
|
description: Rotates shapes counter-clockwise by 90 degrees.
|
||||||
|
fl:
|
||||||
|
name: Rotate (180)
|
||||||
|
description: Rotates shapes by 180 degrees.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -562,8 +569,8 @@ buildings:
|
|||||||
storyRewards:
|
storyRewards:
|
||||||
# Those are the rewards gained from completing the store
|
# Those are the rewards gained from completing the store
|
||||||
reward_cutter_and_trash:
|
reward_cutter_and_trash:
|
||||||
title: Cutting Shapes
|
title: Різання фігур
|
||||||
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!
|
desc: Ви тільки-но розблокували <strong>різця</strong>. Він розрізає фігури наполовину з <strong>вершини до низу</strong> незалежно від його орієнтації!<br><br>Обов’язково позбудьтесь відходів або <strong>він зупиниться</strong>. Для цього є сміттєбак, який знищує все, що входить в нього.
|
||||||
|
|
||||||
reward_rotater:
|
reward_rotater:
|
||||||
title: Rotating
|
title: Rotating
|
||||||
@ -584,7 +591,7 @@ storyRewards:
|
|||||||
|
|
||||||
reward_splitter:
|
reward_splitter:
|
||||||
title: Splitter/Merger
|
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>
|
desc: Багатофункціональний <strong> балансир </strong> було розблоковано. Його можна використовувати для створення великих заводів, <strong>розділяючи та об’єднуючи предмети </strong> на кілька стрічок!<br><br>
|
||||||
|
|
||||||
reward_tunnel:
|
reward_tunnel:
|
||||||
title: Tunnel
|
title: Tunnel
|
||||||
@ -633,22 +640,21 @@ storyRewards:
|
|||||||
|
|
||||||
# Special reward, which is shown when there is no reward actually
|
# Special reward, which is shown when there is no reward actually
|
||||||
no_reward:
|
no_reward:
|
||||||
title: Next level
|
title: Наступний рівень
|
||||||
desc: >-
|
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>!
|
Цей рівень не дав нагороди, але в наступному... щось буде. <br><br> До речі, краще не руйнуйте свій поточний завод. Вам знадобляться всі ті форми пізніше, щоб <strong>розблокувати поліпшення</strong>!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
no_reward_freeplay:
|
no_reward_freeplay:
|
||||||
title: Next level
|
title: Наступний рівень
|
||||||
desc: >-
|
desc: >-
|
||||||
Congratulations! By the way, more content is planned for the standalone!
|
Вітаємо! До речі, більше контенту планується в окремій версії!
|
||||||
|
|
||||||
settings:
|
settings:
|
||||||
title: Settings
|
title: Налаштування
|
||||||
categories:
|
categories:
|
||||||
game: Game
|
general: Загальне
|
||||||
app: Application
|
userInterface: Користувацький інтерфейс
|
||||||
|
advanced: Передове
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Development
|
dev: Development
|
||||||
@ -658,102 +664,102 @@ settings:
|
|||||||
|
|
||||||
labels:
|
labels:
|
||||||
uiScale:
|
uiScale:
|
||||||
title: Interface scale
|
title: Масштаб інтерфейсу
|
||||||
description: >-
|
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:
|
scales:
|
||||||
super_small: Super small
|
super_small: Надзвичайно малий
|
||||||
small: Small
|
small: Малий
|
||||||
regular: Regular
|
regular: Звичайний
|
||||||
large: Large
|
large: Великий
|
||||||
huge: Huge
|
huge: Величезний
|
||||||
|
|
||||||
autosaveInterval:
|
autosaveInterval:
|
||||||
title: Autosave Interval
|
title: Проміжок між автозбереженнями
|
||||||
description: >-
|
description: >-
|
||||||
Controls how often the game saves automatically. You can also disable it entirely here.
|
Контролює, як часто гра автоматично зберігатиметься. Ви також можете повністю вимкнути його тут.
|
||||||
|
|
||||||
intervals:
|
intervals:
|
||||||
one_minute: 1 Minute
|
one_minute: 1 хвилина
|
||||||
two_minutes: 2 Minutes
|
two_minutes: 2 хвилини
|
||||||
five_minutes: 5 Minutes
|
five_minutes: 5 хвилин
|
||||||
ten_minutes: 10 Minutes
|
ten_minutes: 10 хвилин
|
||||||
twenty_minutes: 20 Minutes
|
twenty_minutes: 20 хвилин
|
||||||
disabled: Disabled
|
disabled: Вимкнено
|
||||||
|
|
||||||
scrollWheelSensitivity:
|
scrollWheelSensitivity:
|
||||||
title: Zoom sensitivity
|
title: Чутливість масштабування
|
||||||
description: >-
|
description: >-
|
||||||
Changes how sensitive the zoom is (Either mouse wheel or trackpad).
|
Змінює наскільки чутливе масштабування (колесо миші або трекпад).
|
||||||
sensitivity:
|
sensitivity:
|
||||||
super_slow: Super slow
|
super_slow: Надзвичайно повільна
|
||||||
slow: Slow
|
slow: Повільна
|
||||||
regular: Regular
|
regular: Звичайна
|
||||||
fast: Fast
|
fast: Швидка
|
||||||
super_fast: Super fast
|
super_fast: Надзвичайно швидка
|
||||||
|
|
||||||
movementSpeed:
|
movementSpeed:
|
||||||
title: Movement speed
|
title: Швидкість руху
|
||||||
description: >-
|
description: >-
|
||||||
Changes how fast the view moves when using the keyboard.
|
Змінює Змінює швидкість руху бачення при використанні клавіатури.
|
||||||
speeds:
|
speeds:
|
||||||
super_slow: Super slow
|
super_slow: Надзвичайно повільна
|
||||||
slow: Slow
|
slow: Повільна
|
||||||
regular: Regular
|
regular: Звичайна
|
||||||
fast: Fast
|
fast: Швидка
|
||||||
super_fast: Super Fast
|
super_fast: Надзвичайно швидка
|
||||||
extremely_fast: Extremely Fast
|
extremely_fast: Екстремально швидка
|
||||||
|
|
||||||
language:
|
language:
|
||||||
title: Language
|
title: Мова
|
||||||
description: >-
|
description: >-
|
||||||
Change the language. All translations are user-contributed and might be incomplete!
|
Змініть мову. Усі переклади зроблені користувачами і можуть бути незавершеними!
|
||||||
|
|
||||||
enableColorBlindHelper:
|
enableColorBlindHelper:
|
||||||
title: Color Blind Mode
|
title: Режим високої контрастності
|
||||||
description: >-
|
description: >-
|
||||||
Enables various tools which allow you to play the game if you are color blind.
|
Дозволяє використовувати різні інструменти, які дозволяють грати в гру, якщо ви є дальтоніком.
|
||||||
|
|
||||||
fullscreen:
|
fullscreen:
|
||||||
title: Fullscreen
|
title: Повноекранний режим
|
||||||
description: >-
|
description: >-
|
||||||
It is recommended to play the game in fullscreen to get the best experience. Only available in the standalone.
|
Щоб повністю насолодитися грою, рекомендується грати у повноекранному режимі. Не доступно тільки в демоверсії.
|
||||||
|
|
||||||
soundsMuted:
|
soundsMuted:
|
||||||
title: Mute Sounds
|
title: Заглушити звуки
|
||||||
description: >-
|
description: >-
|
||||||
If enabled, mutes all sound effects.
|
Якщо увімкнено, то вимикає всі звукові ефекти.
|
||||||
|
|
||||||
musicMuted:
|
musicMuted:
|
||||||
title: Mute Music
|
title: Заглушити музику
|
||||||
description: >-
|
description: >-
|
||||||
If enabled, mutes all music.
|
Якщо увімкнено, то вимикає всю музику.
|
||||||
|
|
||||||
theme:
|
theme:
|
||||||
title: Game theme
|
title: Тема гри
|
||||||
description: >-
|
description: >-
|
||||||
Choose the game theme (light / dark).
|
Оберіть тему гри (світлу чи темну).
|
||||||
themes:
|
themes:
|
||||||
dark: Dark
|
dark: Темна
|
||||||
light: Light
|
light: Світла
|
||||||
|
|
||||||
refreshRate:
|
refreshRate:
|
||||||
title: Simulation Target
|
title: Частота оновлення
|
||||||
description: >-
|
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.
|
Якщо ви маєте 144-герцовий монітор, то змініть частоту оновлення тут, щоб гра правильно працювала при більшій швидкості оновлення. Це може фактично знизити FPS, якщо ваш комп’ютер занадто повільний.
|
||||||
|
|
||||||
alwaysMultiplace:
|
alwaysMultiplace:
|
||||||
title: Multiplace
|
title: Мультирозміщення
|
||||||
description: >-
|
description: >-
|
||||||
If enabled, all buildings will stay selected after placement until you cancel it. This is equivalent to holding SHIFT permanently.
|
Якщо ввімкнено, всі будівлі залишатимуться вибраними після розміщення, доки ви не скасуєте це. Це еквівалентно постійному утримуванню SHIFT.
|
||||||
|
|
||||||
offerHints:
|
offerHints:
|
||||||
title: Hints & Tutorials
|
title: Підказки & посібники
|
||||||
description: >-
|
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:
|
enableTunnelSmartplace:
|
||||||
title: Smart Tunnels
|
title: Розумні Tunnels
|
||||||
description: >-
|
description: >-
|
||||||
When enabled, placing tunnels will automatically remove unnecessary belts. This also enables you to drag tunnels and excess tunnels will get removed.
|
When enabled, placing tunnels will automatically remove unnecessary belts. This also enables you to drag tunnels and excess tunnels will get removed.
|
||||||
|
|
||||||
@ -778,15 +784,15 @@ settings:
|
|||||||
Disables the warning dialogs brought up when cutting/deleting more than 100 entities.
|
Disables the warning dialogs brought up when cutting/deleting more than 100 entities.
|
||||||
|
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Keybindings
|
title: Гарячі клавіши
|
||||||
hint: >-
|
hint: >-
|
||||||
Tip: Be sure to make use of CTRL, SHIFT and ALT! They enable different placement options.
|
Tip: Be sure to make use of CTRL, SHIFT and ALT! They enable different placement options.
|
||||||
|
|
||||||
resetKeybindings: Reset Keybindings
|
resetKeybindings: Скинути гарячі клавіші
|
||||||
|
|
||||||
categoryLabels:
|
categoryLabels:
|
||||||
general: Application
|
general: Застосунок
|
||||||
ingame: Game
|
ingame: Гра
|
||||||
navigation: Navigating
|
navigation: Navigating
|
||||||
placement: Placement
|
placement: Placement
|
||||||
massSelect: Mass Select
|
massSelect: Mass Select
|
||||||
@ -794,8 +800,8 @@ keybindings:
|
|||||||
placementModifiers: Placement Modifiers
|
placementModifiers: Placement Modifiers
|
||||||
|
|
||||||
mappings:
|
mappings:
|
||||||
confirm: Confirm
|
confirm: Підтвердити
|
||||||
back: Back
|
back: Назад
|
||||||
mapMoveUp: Move Up
|
mapMoveUp: Move Up
|
||||||
mapMoveRight: Move Right
|
mapMoveRight: Move Right
|
||||||
mapMoveDown: Move Down
|
mapMoveDown: Move Down
|
||||||
@ -803,13 +809,13 @@ keybindings:
|
|||||||
mapMoveFaster: Move Faster
|
mapMoveFaster: Move Faster
|
||||||
centerMap: Center Map
|
centerMap: Center Map
|
||||||
|
|
||||||
mapZoomIn: Zoom in
|
mapZoomIn: Приблизити
|
||||||
mapZoomOut: Zoom out
|
mapZoomOut: Віддалити
|
||||||
createMarker: Create Marker
|
createMarker: Створити позначку
|
||||||
|
|
||||||
menuOpenShop: Upgrades
|
menuOpenShop: Поліпшення
|
||||||
menuOpenStats: Statistics
|
menuOpenStats: Статистика
|
||||||
menuClose: Close Menu
|
menuClose: Закрити меню
|
||||||
|
|
||||||
toggleHud: Toggle HUD
|
toggleHud: Toggle HUD
|
||||||
toggleFPSInfo: Toggle FPS and Debug Info
|
toggleFPSInfo: Toggle FPS and Debug Info
|
||||||
@ -829,12 +835,12 @@ keybindings:
|
|||||||
trash: *trash
|
trash: *trash
|
||||||
wire: *wire
|
wire: *wire
|
||||||
|
|
||||||
pipette: Pipette
|
pipette: Pipetteї
|
||||||
rotateWhilePlacing: Rotate
|
rotateWhilePlacing: Повернути
|
||||||
rotateInverseModifier: >-
|
rotateInverseModifier: >-
|
||||||
Modifier: Rotate CCW instead
|
Modifier: Rotate CCW instead
|
||||||
cycleBuildingVariants: Cycle Variants
|
cycleBuildingVariants: Cycle Variants
|
||||||
confirmMassDelete: Delete area
|
confirmMassDelete: Видалити ділянку
|
||||||
pasteLastBlueprint: Paste last blueprint
|
pasteLastBlueprint: Paste last blueprint
|
||||||
cycleBuildings: Cycle Buildings
|
cycleBuildings: Cycle Buildings
|
||||||
lockBeltDirection: Enable belt planner
|
lockBeltDirection: Enable belt planner
|
||||||
@ -842,36 +848,36 @@ keybindings:
|
|||||||
Planner: Switch side
|
Planner: Switch side
|
||||||
|
|
||||||
massSelectStart: Hold and drag to start
|
massSelectStart: Hold and drag to start
|
||||||
massSelectSelectMultiple: Select multiple areas
|
massSelectSelectMultiple:
|
||||||
massSelectCopy: Copy area
|
massSelectCopy: Копіювати ділянку
|
||||||
massSelectCut: Cut area
|
massSelectCut: Вирізати ділянку
|
||||||
|
|
||||||
placementDisableAutoOrientation: Disable automatic orientation
|
placementDisableAutoOrientation: Вимкнути автоматичну орієнтацію
|
||||||
placeMultiple: Stay in placement mode
|
placeMultiple: Stay in placement mode
|
||||||
placeInverse: Invert automatic belt orientation
|
placeInverse: Invert automatic belt orientation
|
||||||
|
|
||||||
about:
|
about:
|
||||||
title: About this Game
|
title: Про гру
|
||||||
body: >-
|
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>
|
Ця гра з відкритим вихідним кодом і розроблена <a href="https://github.com/tobspr" target="_blank">Tobias Springer</a> (це я).<br><br>
|
||||||
|
|
||||||
If you want to contribute, check out <a href="<githublink>" target="_blank">shapez.io on github</a>.<br><br>
|
Якщо ви хочете зробити внесок, то йдіть на <a href="<githublink>" target="_blank">github shapez.io</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>
|
Ця гра не була б можливою без великої Discord спільноти навколо моїх ігор. Гадаю, вам дійсно слід долучитися до <a href="<discordlink>" target="_blank">серверу в discord</a>!<br><br>
|
||||||
|
|
||||||
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius" target="_blank">Peppsen</a> - He's awesome.<br><br>
|
Звуковий трек був зроблений гравцем <a href="https://soundcloud.com/pettersumelius" target="_blank">Peppsen</a> — він просто приголомшливий.<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.
|
І нарешті, величезна подяка моєму найкращому другу <a href="https://github.com/niklas-dahl" target="_blank">Niklas</a>, бо без наших сеансів у факторіо ця гра ніколи б не існувала.
|
||||||
|
|
||||||
changelog:
|
changelog:
|
||||||
title: Changelog
|
title: Змінопис
|
||||||
|
|
||||||
demo:
|
demo:
|
||||||
features:
|
features:
|
||||||
restoringGames: Restoring savegames
|
restoringGames: Відновлення збережень
|
||||||
importingGames: Importing savegames
|
importingGames: Імпортування збережень
|
||||||
oneGameLimit: Limited to one savegame
|
oneGameLimit: Обмежено одним збереженням
|
||||||
customizeKeybindings: Customizing Keybindings
|
customizeKeybindings: Налаштування гарячих клавіш
|
||||||
exportingBase: Exporting whole Base as Image
|
exportingBase: Експортування цілої бази у вигляді зображення
|
||||||
|
|
||||||
settingNotAvailable: Not available in the demo.
|
settingNotAvailable: Недоступно в демоверсії.
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# the basic structure so the game also detects it.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -45,6 +45,7 @@
|
|||||||
# Painter:上色机
|
# Painter:上色机
|
||||||
# Trash:垃圾桶
|
# Trash:垃圾桶
|
||||||
|
|
||||||
|
---
|
||||||
steamPage:
|
steamPage:
|
||||||
# This is the short text appearing on the steam page
|
# This is the short text appearing on the steam page
|
||||||
shortText: shapez.io 是一款在无边际的地图上建造工厂、自动化生产与组合愈加复杂的图形的游戏。
|
shortText: shapez.io 是一款在无边际的地图上建造工厂、自动化生产与组合愈加复杂的图形的游戏。
|
||||||
@ -178,10 +179,8 @@ mainMenu:
|
|||||||
很抱歉, 本游戏在当前浏览器上可能运行缓慢! 使用chrome或者获取独立版以得到更好的体验。
|
很抱歉, 本游戏在当前浏览器上可能运行缓慢! 使用chrome或者获取独立版以得到更好的体验。
|
||||||
|
|
||||||
savegameLevel: 第<x>关
|
savegameLevel: 第<x>关
|
||||||
savegameLevelUnknown: 未知关卡
|
savegameLevelUnknown:
|
||||||
|
未知关卡
|
||||||
|
|
||||||
# contestOver: This contest has ended - Join the discord to get noticed about new contests!
|
|
||||||
continue: 继续游戏
|
continue: 继续游戏
|
||||||
newGame: 新游戏
|
newGame: 新游戏
|
||||||
madeBy: 作者:<author-link>
|
madeBy: 作者:<author-link>
|
||||||
@ -301,8 +300,8 @@ dialogs:
|
|||||||
你将要导出你的工厂的截图。如果你的基地很大,截图过程将会很慢,且有可能导致游戏崩溃!
|
你将要导出你的工厂的截图。如果你的基地很大,截图过程将会很慢,且有可能导致游戏崩溃!
|
||||||
|
|
||||||
massCutInsufficientConfirm:
|
massCutInsufficientConfirm:
|
||||||
title: Confirm cut
|
title: 确认剪切
|
||||||
desc: You can not afford to paste this area! Are you sure you want to cut it?
|
desc: 你没有足够的图形来粘贴这个区域!你确定要剪切吗?
|
||||||
|
|
||||||
ingame:
|
ingame:
|
||||||
# This is shown in the top left corner and displays useful keybindings in
|
# This is shown in the top left corner and displays useful keybindings in
|
||||||
@ -444,11 +443,11 @@ ingame:
|
|||||||
cyan: 青色
|
cyan: 青色
|
||||||
white: 白色
|
white: 白色
|
||||||
uncolored: 无色
|
uncolored: 无色
|
||||||
black: Black
|
black: 黑色
|
||||||
shapeViewer:
|
shapeViewer:
|
||||||
title: 层 # TODO: find better translation
|
title: 层 # TODO: find better translation
|
||||||
empty: 空
|
empty: 空
|
||||||
copyKey: Copy Key
|
copyKey: 复制短代码
|
||||||
|
|
||||||
# All shop upgrades
|
# All shop upgrades
|
||||||
shopUpgrades:
|
shopUpgrades:
|
||||||
@ -518,6 +517,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: 旋转机(逆时针)
|
name: 旋转机(逆时针)
|
||||||
description: 将图形逆时针旋转90度。
|
description: 将图形逆时针旋转90度。
|
||||||
|
fl:
|
||||||
|
name: Rotate (180)
|
||||||
|
description: Rotates shapes by 180 degrees.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -527,7 +529,7 @@ buildings:
|
|||||||
mixer:
|
mixer:
|
||||||
default:
|
default:
|
||||||
name: &mixer 混色机
|
name: &mixer 混色机
|
||||||
description: 将两个颜色混合在一起。(加法混合)
|
description: 用加法混色将两个颜色混合起来
|
||||||
|
|
||||||
painter:
|
painter:
|
||||||
default:
|
default:
|
||||||
@ -590,11 +592,11 @@ storyRewards:
|
|||||||
reward_painter:
|
reward_painter:
|
||||||
title: 上色
|
title: 上色
|
||||||
desc: >-
|
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!
|
恭喜!你解锁了<strong>上色机</strong>。 开采一些颜色 (就像你开采图形一样) 将其在上色机中与图形结合来将图形上色!<br><br>PS: 如果你患有色盲,可以在设置中启用<strong>色盲模式</strong>!
|
||||||
|
|
||||||
reward_mixer:
|
reward_mixer:
|
||||||
title: 混合颜色
|
title: 混合颜色
|
||||||
desc: The <strong>mixer</strong> has been unlocked - Combine two colors using <strong>additive blending</strong> with this building!
|
desc: 恭喜!你解锁了<strong>混色机</strong>。这个建筑使用<strong>加法混色</strong>将两种颜色混合起来。
|
||||||
|
|
||||||
reward_stacker:
|
reward_stacker:
|
||||||
title: 堆叠
|
title: 堆叠
|
||||||
@ -614,7 +616,7 @@ storyRewards:
|
|||||||
|
|
||||||
reward_miner_chainable:
|
reward_miner_chainable:
|
||||||
title: 链式开采机
|
title: 链式开采机
|
||||||
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!
|
desc: 你解锁了<strong>链式开采机</strong>! 它能够<strong>把资源传递给</strong>其他开采机,让你可以更高效率的开采资源!
|
||||||
|
|
||||||
reward_underground_belt_tier_2:
|
reward_underground_belt_tier_2:
|
||||||
title: 二级隧道
|
title: 二级隧道
|
||||||
@ -622,7 +624,7 @@ storyRewards:
|
|||||||
|
|
||||||
reward_splitter_compact:
|
reward_splitter_compact:
|
||||||
title: 小型合流机
|
title: 小型合流机
|
||||||
desc: You have unlocked a compact variant of the <strong>balancer</strong> - It accepts two inputs and merges them into one!
|
desc: 恭喜!你解锁了<strong>平衡机</strong>的变体。它能够接受两个输入,合并成一个输出!
|
||||||
|
|
||||||
reward_cutter_quad:
|
reward_cutter_quad:
|
||||||
title: 四向切割机
|
title: 四向切割机
|
||||||
@ -638,7 +640,7 @@ storyRewards:
|
|||||||
|
|
||||||
reward_storage:
|
reward_storage:
|
||||||
title: 仓库
|
title: 仓库
|
||||||
desc: You have unlocked a variant of the <strong>trash</strong> - It allows to store items up to a given capacity!
|
desc: 恭喜!你解锁了<strong>垃圾桶</strong>的变体。他可以存储一定数量的物品!
|
||||||
|
|
||||||
reward_freeplay:
|
reward_freeplay:
|
||||||
title: 自由模式
|
title: 自由模式
|
||||||
@ -662,8 +664,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: 设置
|
title: 设置
|
||||||
categories:
|
categories:
|
||||||
game: 游戏内容
|
general: 通用
|
||||||
app: 应用
|
userInterface: 用户界面
|
||||||
|
advanced: 高级
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: 开发版本 # Development
|
dev: 开发版本 # Development
|
||||||
@ -789,11 +792,9 @@ settings:
|
|||||||
title: 色盲模式
|
title: 色盲模式
|
||||||
description: 提供一些分辨颜色的工具。目前当鼠标移至颜色资源上方时,屏幕上方会显示颜色名称。
|
description: 提供一些分辨颜色的工具。目前当鼠标移至颜色资源上方时,屏幕上方会显示颜色名称。
|
||||||
rotationByBuilding:
|
rotationByBuilding:
|
||||||
title: Rotation by building type
|
title: 记忆建筑方向
|
||||||
description: >-
|
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.
|
|
||||||
|
|
||||||
keybindings:
|
keybindings:
|
||||||
title: 按键设置
|
title: 按键设置
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#
|
#
|
||||||
# Adding a new language:
|
# 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.
|
# 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
|
# - Please keep the markup (Stuff like [b], [list] etc) in the same format
|
||||||
longText: >-
|
longText: >-
|
||||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
[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]
|
[list]
|
||||||
[*] Dark Mode
|
[*] 深色主題
|
||||||
[*] Unlimited Waypoints
|
[*] 地圖標記數量無限制
|
||||||
[*] Unlimited Savegames
|
[*] 存檔數量無限制
|
||||||
[*] Additional settings
|
[*] 更多設定
|
||||||
[*] Coming soon: Wires & Energy! Aiming for (roughly) end of July 2020.
|
[*] 即將到來: 電線與能源! 目標在2020年七月底(左右)問世。
|
||||||
[*] Coming soon: More Levels
|
[*] 即將到來: 更多新關卡
|
||||||
[*] Allows me to further develop shapez.io ❤️
|
[*] 幫助我繼續開發 shapez.io ❤️
|
||||||
[/list]
|
[/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]
|
[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]
|
[/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]
|
[list]
|
||||||
[*] [url=https://discord.com/invite/HN7EVzV]Official Discord[/url]
|
[*] [url=https://discord.com/invite/HN7EVzV]Official Discord[/url]
|
||||||
@ -178,7 +178,6 @@ mainMenu:
|
|||||||
savegameLevel: Level <x>
|
savegameLevel: Level <x>
|
||||||
savegameLevelUnknown: 未知關卡
|
savegameLevelUnknown: 未知關卡
|
||||||
|
|
||||||
|
|
||||||
continue: 繼續
|
continue: 繼續
|
||||||
newGame: 新遊戲
|
newGame: 新遊戲
|
||||||
madeBy: 作者:<author-link>
|
madeBy: 作者:<author-link>
|
||||||
@ -513,6 +512,9 @@ buildings:
|
|||||||
ccw:
|
ccw:
|
||||||
name: 旋轉機(逆時針)
|
name: 旋轉機(逆時針)
|
||||||
description: 將圖形逆時針旋轉90度。
|
description: 將圖形逆時針旋轉90度。
|
||||||
|
fl:
|
||||||
|
name: Rotate (180)
|
||||||
|
description: Rotates shapes by 180 degrees.
|
||||||
|
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -658,8 +660,9 @@ storyRewards:
|
|||||||
settings:
|
settings:
|
||||||
title: 設置
|
title: 設置
|
||||||
categories:
|
categories:
|
||||||
game: 遊戲內容
|
general: General
|
||||||
app: 應用
|
userInterface: User Interface
|
||||||
|
advanced: Advanced
|
||||||
|
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: 開發版本 # Development
|
dev: 開發版本 # Development
|
||||||
|