Fix multiple typos, closes #627

This commit is contained in:
tobspr 2020-09-19 07:49:17 +02:00
parent 1ebfafd8de
commit b5a2e77db4
16 changed files with 1197 additions and 1200 deletions

View File

@ -64,7 +64,7 @@ This project is based on ES5. Some ES2015 features are used but most of them are
5. Add a constructor. **The constructor must be called with optional parameters only!** `new MyFancyComponent({})` should always work.
6. Add any props you need in the constructor.
7. Add the component in `src/js/game/component_registry.js`
8. Add the componetn in `src/js/game/entity_components.js`
8. Add the component in `src/js/game/entity_components.js`
9. Done! You can use your component now
#### Adding a new building
@ -96,6 +96,6 @@ This project is based on ES5. Some ES2015 features are used but most of them are
For most assets I use Adobe Photoshop, you can find them in `assets/`.
You will need a <a href="https://www.codeandweb.com/texturepacker" target="_blank">Texture Packer</a> license in order to regenerate the atlas. If you don't have one but want to contribute assets, let me know and I might compile it for you. I'm currently switching to an open source solution but I can't give an estimate when thats done.
You will need a <a href="https://www.codeandweb.com/texturepacker" target="_blank">Texture Packer</a> license in order to regenerate the atlas. If you don't have one but want to contribute assets, let me know and I might compile it for you. I'm currently switching to an open source solution but I can't give an estimate when that's done.
<img src="https://i.imgur.com/W25Fkl0.png" alt="shapez.io Screenshot">

View File

@ -283,6 +283,7 @@
<key type="filename">sprites/blueprints/virtual_processor-analyzer.png</key>
<key type="filename">sprites/blueprints/virtual_processor-rotater.png</key>
<key type="filename">sprites/blueprints/virtual_processor-shapecompare.png</key>
<key type="filename">sprites/blueprints/virtual_processor-stacker.png</key>
<key type="filename">sprites/blueprints/virtual_processor-unstacker.png</key>
<key type="filename">sprites/blueprints/virtual_processor.png</key>
<key type="filename">sprites/blueprints/wire_tunnel-coating.png</key>
@ -310,6 +311,7 @@
<key type="filename">sprites/buildings/virtual_processor-analyzer.png</key>
<key type="filename">sprites/buildings/virtual_processor-rotater.png</key>
<key type="filename">sprites/buildings/virtual_processor-shapecompare.png</key>
<key type="filename">sprites/buildings/virtual_processor-stacker.png</key>
<key type="filename">sprites/buildings/virtual_processor-unstacker.png</key>
<key type="filename">sprites/buildings/virtual_processor.png</key>
<key type="filename">sprites/buildings/wire_tunnel-coating.png</key>

View File

@ -1,161 +1,154 @@
#ingame_HUD_ShapeViewer {
$dims: 170px;
.content {
display: flex;
@include S(width, $dims);
width: 100%;
flex-direction: column;
overflow-x: hidden;
&[data-layers="3"],
&[data-layers="4"] {
@include S(width, 2 * $dims);
.renderArea {
display: grid;
grid-template-columns: 1fr 1fr;
@include S(grid-row-gap, 15px);
}
}
.renderArea {
display: grid;
width: 100%;
@include S(grid-row-gap, 10px);
align-items: center;
justify-items: center;
}
.infoArea {
align-self: flex-end;
@include S(margin-top, 10px);
display: flex;
flex-direction: column;
overflow: hidden;
button {
@include S(margin, 0);
@include PlainText;
}
}
.seperator {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
}
.layer {
position: relative;
background: #eee;
@include DarkThemeOverride {
background: rgba(0, 10, 20, 0.2);
}
@include S(width, 150px);
@include S(height, 100px);
display: flex;
align-items: center;
justify-content: center;
> canvas {
@include S(width, 50px);
@include S(height, 50px);
}
.quad {
position: absolute;
width: 50%;
height: 50%;
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
$arrowDims: 23px;
$spacing: 9px;
@include S(padding, 6px);
.colorLabel {
text-transform: uppercase;
@include SuperSmallText;
@include S(font-size, 9px);
}
.emptyLabel {
text-transform: uppercase;
@include SuperSmallText;
@include S(font-size, 9px);
}
&::after {
content: " ";
background: rgba(0, 10, 20, 0.5);
@include S(width, $arrowDims);
@include S(height, 1px);
position: absolute;
transform: rotate(45deg);
transform-origin: 50% 50%;
}
@include DarkThemeOverride {
&::after {
background: rgba(255, 255, 255, 0.5);
}
}
&.quad-0 {
right: 0;
top: 0;
align-items: flex-start;
justify-content: flex-end;
&::after {
@include S(left, $spacing);
@include S(bottom, $arrowDims / 2 + $spacing);
transform: rotate(-45deg);
}
}
&.quad-1 {
bottom: 0;
right: 0;
align-items: flex-end;
justify-content: flex-end;
&::after {
@include S(left, $spacing);
@include S(top, $arrowDims / 2 + $spacing);
transform: rotate(45deg);
}
}
&.quad-2 {
bottom: 0;
left: 0;
align-items: flex-end;
justify-content: flex-start;
&::after {
@include S(right, $spacing);
@include S(top, $arrowDims / 2 + $spacing);
transform: rotate(135deg);
}
}
&.quad-3 {
top: 0;
left: 0;
align-items: flex-start;
justify-content: flex-start;
&::after {
@include S(right, $spacing);
@include S(bottom, $arrowDims / 2 + $spacing);
transform: rotate(225deg);
}
}
}
}
}
}
#ingame_HUD_ShapeViewer {
$dims: 170px;
.content {
display: flex;
@include S(width, $dims);
width: 100%;
flex-direction: column;
overflow-x: hidden;
&[data-layers="3"],
&[data-layers="4"] {
@include S(width, 2 * $dims);
.renderArea {
display: grid;
grid-template-columns: 1fr 1fr;
@include S(grid-row-gap, 15px);
}
}
.renderArea {
display: grid;
width: 100%;
@include S(grid-row-gap, 10px);
align-items: center;
justify-items: center;
}
.infoArea {
align-self: flex-end;
@include S(margin-top, 10px);
display: flex;
flex-direction: column;
overflow: hidden;
button {
@include S(margin, 0);
@include PlainText;
}
}
.layer {
position: relative;
background: #eee;
@include DarkThemeOverride {
background: rgba(0, 10, 20, 0.2);
}
@include S(width, 150px);
@include S(height, 100px);
display: flex;
align-items: center;
justify-content: center;
> canvas {
@include S(width, 50px);
@include S(height, 50px);
}
.quad {
position: absolute;
width: 50%;
height: 50%;
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
$arrowDims: 23px;
$spacing: 9px;
@include S(padding, 6px);
.colorLabel {
text-transform: uppercase;
@include SuperSmallText;
@include S(font-size, 9px);
}
.emptyLabel {
text-transform: uppercase;
@include SuperSmallText;
@include S(font-size, 9px);
}
&::after {
content: " ";
background: rgba(0, 10, 20, 0.5);
@include S(width, $arrowDims);
@include S(height, 1px);
position: absolute;
transform: rotate(45deg);
transform-origin: 50% 50%;
}
@include DarkThemeOverride {
&::after {
background: rgba(255, 255, 255, 0.5);
}
}
&.quad-0 {
right: 0;
top: 0;
align-items: flex-start;
justify-content: flex-end;
&::after {
@include S(left, $spacing);
@include S(bottom, $arrowDims / 2 + $spacing);
transform: rotate(-45deg);
}
}
&.quad-1 {
bottom: 0;
right: 0;
align-items: flex-end;
justify-content: flex-end;
&::after {
@include S(left, $spacing);
@include S(top, $arrowDims / 2 + $spacing);
transform: rotate(45deg);
}
}
&.quad-2 {
bottom: 0;
left: 0;
align-items: flex-end;
justify-content: flex-start;
&::after {
@include S(right, $spacing);
@include S(top, $arrowDims / 2 + $spacing);
transform: rotate(135deg);
}
}
&.quad-3 {
top: 0;
left: 0;
align-items: flex-start;
justify-content: flex-start;
&::after {
@include S(right, $spacing);
@include S(bottom, $arrowDims / 2 + $spacing);
transform: rotate(225deg);
}
}
}
}
}
}

View File

@ -109,7 +109,7 @@ export const CHANGELOG = [
date: "17.06.2020",
entries: [
"You can now place straight belts (and tunnels) by holding SHIFT! (For you, @giantwaffle ❤️)",
"Added continue button to main menu and add seperate 'New game' button (by jaysc)",
"Added continue button to main menu and add separate 'New game' button (by jaysc)",
"Added setting to disable smart tunnel placement introduced with the last update",
"Added setting to disable vignette",
"Update translations",

View File

@ -30,10 +30,10 @@ export class Dialog {
* @param {string} param0.title Title of the dialog
* @param {string} param0.contentHTML Inner dialog html
* @param {Array<string>} param0.buttons
* Button list, each button contains of up to 3 parts seperated by ':'.
* Button list, each button contains of up to 3 parts separated by ':'.
* Part 0: The id, one of the one defined in dialog_buttons.yaml
* Part 1: The style, either good, bad or misc
* Part 2 (optional): Additional parameters seperated by '/', available are:
* Part 2 (optional): Additional parameters separated by '/', available are:
* timeout: This button is only available after some waiting time
* kb_enter: This button is triggered by the enter key
* kb_escape This button is triggered by the escape key

View File

@ -224,7 +224,7 @@ export class ReadWriteProxy {
return rawData;
})
// Parse JSON, this could throw but thats fine
// Parse JSON, this could throw but that's fine
.then(res => {
try {
return JSON.parse(res);

View File

@ -206,7 +206,7 @@ export class AtlasSprite extends BaseSprite {
srcX,
srcY,
// atlas src siize
// atlas src size
srcW,
srcH,

View File

@ -1091,7 +1091,7 @@ export class BeltPath extends BasicSerializableObject {
computePositionFromProgress(progress) {
let currentLength = 0;
// floating point issuses ..
// floating point issues ..
assert(progress <= this.totalLength + 0.02, "Progress too big: " + progress);
for (let i = 0; i < this.entityPath.length; ++i) {
@ -1206,7 +1206,7 @@ export class BeltPath extends BasicSerializableObject {
// Check if the current items are on the belt
while (trackPos + beltLength >= currentItemPos - 1e-5) {
// Its on the belt, render it now
// It's on the belt, render it now
const staticComp = entity.components.StaticMapEntity;
assert(
currentItemPos - trackPos >= 0,

File diff suppressed because it is too large Load Diff

View File

@ -23,7 +23,7 @@ export class EntityManager extends BasicSerializableObject {
/** @type {Array<Entity>} */
this.entities = [];
// We store a seperate list with entities to destroy, since we don't destroy
// We store a separate list with entities to destroy, since we don't destroy
// them instantly
/** @type {Array<Entity>} */
this.destroyList = [];

View File

@ -330,7 +330,7 @@ export class HUDBuildingPlacerLogic extends BaseHUDPart {
if (tileBelow && this.root.app.settings.getAllSettings().pickMinerOnPatch) {
this.currentMetaBuilding.set(gMetaBuildingRegistry.findByClass(MetaMinerBuilding));
// Select chained miner if available, since thats always desired once unlocked
// Select chained miner if available, since that's always desired once unlocked
if (this.root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_miner_chainable)) {
this.currentVariant.set(enumMinerVariants.chainable);
}

View File

@ -360,7 +360,7 @@ export class BeltSystem extends GameSystemWithFilter {
const followUpTile = staticComp.origin.add(followUpVector);
const followUpEntity = this.root.map.getLayerContentXY(followUpTile.x, followUpTile.y, entity.layer);
// Check if theres a belt at the tile we point to
// Check if there's a belt at the tile we point to
if (followUpEntity) {
const followUpBeltComp = followUpEntity.components.Belt;
if (followUpBeltComp) {
@ -390,7 +390,7 @@ export class BeltSystem extends GameSystemWithFilter {
const supplyTile = staticComp.origin.add(supplyVector);
const supplyEntity = this.root.map.getLayerContentXY(supplyTile.x, supplyTile.y, entity.layer);
// Check if theres a belt at the tile we point to
// Check if there's a belt at the tile we point to
if (supplyEntity) {
const supplyBeltComp = supplyEntity.components.Belt;
if (supplyBeltComp) {

View File

@ -170,7 +170,7 @@ export class MinerSystem extends GameSystemWithFilter {
}
// Draw the item background - this is to hide the ejected item animation from
// the item ejecto
// the item ejector
const padding = 3;
const destX = staticComp.origin.x * globalConfig.tileSize + padding;

View File

@ -71,7 +71,7 @@ export class UndergroundBeltSystem extends GameSystemWithFilter {
const range = globalConfig.undergroundBeltMaxTilesByTier[tier];
// FIND ENTRANCE
// Search for the entrance which is furthes apart (this is why we can't reuse logic here)
// Search for the entrance which is farthest apart (this is why we can't reuse logic here)
let matchingEntrance = null;
for (let i = 0; i < range; ++i) {
currentPos.addInplace(offset);

View File

@ -162,7 +162,7 @@ export class WireSystem extends GameSystemWithFilter {
const tunnelEntities = this.root.entityMgr.getAllWithComponent(WireTunnelComponent);
const pinEntities = this.root.entityMgr.getAllWithComponent(WiredPinsComponent);
// Clear all network references, but not on the first update since thats the deserializing one
// Clear all network references, but not on the first update since that's the deserializing one
if (!this.isFirstRecompute) {
for (let i = 0; i < wireEntities.length; ++i) {
wireEntities[i].components.Wire.linkedNetwork = null;
@ -432,7 +432,7 @@ export class WireSystem extends GameSystemWithFilter {
continue;
}
// Check if its a tunnel, if so, go to the forwarded item
// Check if it's a tunnel, if so, go to the forwarded item
const tunnelComp = entity.components.WireTunnel;
if (tunnelComp) {
if (visitedTunnels.has(entity.uid)) {

View File

@ -1,80 +1,82 @@
# Translations
The base language is English and can be found [here](base-en.yaml).
## Languages
- [German](base-de.yaml)
- [French](base-fr.yaml)
- [Korean](base-kor.yaml)
- [Dutch](base-nl.yaml)
- [Polish](base-pl.yaml)
- [Portuguese (Brazil)](base-pt-BR.yaml)
- [Portuguese (Portugal)](base-pt-PT.yaml)
- [Russian](base-ru.yaml)
- [Greek](base-el.yaml)
- [Italian](base-it.yaml)
- [Romanian](base-ro.yaml)
- [Swedish](base-sv.yaml)
- [Chinese (Simplified)](base-zh-CN.yaml)
- [Chinese (Traditional)](base-zh-TW.yaml)
- [Spanish](base-es.yaml)
- [Hungarian](base-hu.yaml)
- [Turkish](base-tr.yaml)
- [Japanese](base-ja.yaml)
- [Lithuanian](base-lt.yaml)
- [Arabic](base-ar.yaml)
- [Norwegian](base-no.yaml)
- [Kroatian](base-hr.yaml)
- [Danish](base-da.yaml)
- [Finnish](base-fi.yaml)
- [Catalan](base-cat.yaml)
- [Slovenian](base-sl.yaml)
- [Ukrainian](base-uk.yaml)
- [Indonesian](base-ind.yaml)
- [Serbian](base-sr.yaml)
(If you want to translate into a new language, see below!)
## Editing existing translations
If you want to edit an existing translation (Fixing typos, Updating it to a newer version, etc), you can just use the github file editor to edit the file.
- Click the language you want to edit from the list above
- Click the small "edit" symbol on the top right
<img src="https://i.imgur.com/gZnUQoe.png" alt="edit symbol" width="200">
- Do the changes you wish to do (Be sure **not** to translate placeholders! For example, `<amount> minutes` should get `<amount> Minuten` and **not** `<anzahl> Minuten`!)
- Click "Propose Changes"
<img src="https://i.imgur.com/KT9ZFp6.png" alt="propose changes" width="200">
- Click "Create pull request"
<img src="https://i.imgur.com/oVljvRE.png" alt="create pull request" width="200">
- I will review your changes and make comments, and eventually merge them so they will be in the next release! Be sure to regulary check the created pull request for comments.
## Adding a new language
Please DM me on Discord (tobspr#5407), so I can add the language template for you.
Please use the following template:
```
Hey, could you add a new translation?
Language: <Language, e.g. 'German'>
Short code: <Short code, e.g. 'de', see below>
Local Name: <Name of your Language, e.g. 'Deutsch'>
```
You can find the short code [here](https://www.science.co.il/language/Codes.php) (In column `Code 2`).
PS: I'm super busy, but I'll give my best to do it quickly!
## Updating a language to the latest version
Run `yarn syncTranslations` in the root directory to synchronize all translations to the latest version! This will remove obsolete keys and add newly added keys. (Run `yarn` before to install packes).
# Translations
The base language is English and can be found [here](base-en.yaml).
## Languages
- [German](base-de.yaml)
- [French](base-fr.yaml)
- [Korean](base-kor.yaml)
- [Dutch](base-nl.yaml)
- [Polish](base-pl.yaml)
- [Portuguese (Brazil)](base-pt-BR.yaml)
- [Portuguese (Portugal)](base-pt-PT.yaml)
- [Russian](base-ru.yaml)
- [Greek](base-el.yaml)
- [Italian](base-it.yaml)
- [Romanian](base-ro.yaml)
- [Swedish](base-sv.yaml)
- [Chinese (Simplified)](base-zh-CN.yaml)
- [Chinese (Traditional)](base-zh-TW.yaml)
- [Spanish](base-es.yaml)
- [Hungarian](base-hu.yaml)
- [Turkish](base-tr.yaml)
- [Japanese](base-ja.yaml)
- [Lithuanian](base-lt.yaml)
- [Arabic](base-ar.yaml)
- [Norwegian](base-no.yaml)
- [Kroatian](base-hr.yaml)
- [Danish](base-da.yaml)
- [Finnish](base-fi.yaml)
- [Catalan](base-cat.yaml)
- [Slovenian](base-sl.yaml)
- [Ukrainian](base-uk.yaml)
- [Indonesian](base-ind.yaml)
- [Serbian](base-sr.yaml)
(If you want to translate into a new language, see below!)
## Editing existing translations
If you want to edit an existing translation (Fixing typos, updating it to a newer version, etc), you can just use the github file editor to edit the file.
- Click the language you want to edit from the list above
- Click the small "edit" symbol on the top right
<img src="https://i.imgur.com/gZnUQoe.png" alt="edit symbol" width="200">
- Do the changes you wish to do (Be sure **not** to translate placeholders! For example, `<amount> minutes` should get `<amount> Minuten` and **not** `<anzahl> Minuten`!)
- Click "Propose Changes"
<img src="https://i.imgur.com/KT9ZFp6.png" alt="propose changes" width="200">
- Click "Create pull request"
<img src="https://i.imgur.com/oVljvRE.png" alt="create pull request" width="200">
- I will review your changes and make comments, and eventually merge them so they will be in the next release! Be sure to regulary check the created pull request for comments.
## Adding a new language
Please DM me on Discord (tobspr#5407), so I can add the language template for you.
**Important: I am currently not accepting new languages until the wires update is out!**
Please use the following template:
```
Hey, could you add a new translation?
Language: <Language, e.g. 'German'>
Short code: <Short code, e.g. 'de', see below>
Local Name: <Name of your Language, e.g. 'Deutsch'>
```
You can find the short code [here](https://www.science.co.il/language/Codes.php) (In column `Code 2`).
PS: I'm super busy, but I'll give my best to do it quickly!
## Updating a language to the latest version
Run `yarn syncTranslations` in the root directory to synchronize all translations to the latest version! This will remove obsolete keys and add newly added keys. (Run `yarn` before to install packages).