This commit is contained in:
tobspr 2020-08-15 17:51:30 +02:00
commit 699bb6a21e
3 changed files with 534 additions and 522 deletions

View File

@ -85,10 +85,9 @@ export class ShapezGameAnalytics extends GameAnalyticsInterface {
* @returns {Promise<any>} * @returns {Promise<any>}
*/ */
sendToApi(endpoint, data) { sendToApi(endpoint, data) {
return Promise.race([ return new Promise((resolve, reject) => {
new Promise((resolve, reject) => { const timeout = setTimeout(() => reject("Request to " + endpoint + " timed out"), 20000);
setTimeout(() => reject("Request to " + endpoint + " timed out"), 20000);
}),
fetch(analyticsUrl + endpoint, { fetch(analyticsUrl + endpoint, {
method: "POST", method: "POST",
mode: "cors", mode: "cors",
@ -103,13 +102,19 @@ export class ShapezGameAnalytics extends GameAnalyticsInterface {
body: JSON.stringify(data), body: JSON.stringify(data),
}) })
.then(res => { .then(res => {
clearTimeout(timeout);
if (!res.ok || res.status !== 200) { if (!res.ok || res.status !== 200) {
throw new Error("Fetch error: Bad status " + res.status); reject("Fetch error: Bad status " + res.status);
} else {
return res.json();
} }
return res;
}) })
.then(res => res.json()), .then(resolve)
]); .catch(reason => {
clearTimeout(timeout);
reject(reason);
});
});
} }
/** /**

View File

@ -78,6 +78,7 @@ steamPage:
Die komplette Roadmap gibt es auf dem Trello-Board zum Nachlesen! Die komplette Roadmap gibt es auf dem Trello-Board zum Nachlesen!
[b]Links [/b] [b]Links [/b]
[list] [list]
[*] [url=https://discord.com/invite/HN7EVzV]Offizieller Discord[/url] [*] [url=https://discord.com/invite/HN7EVzV]Offizieller Discord[/url]
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roadmap[/url] [*] [url=https://trello.com/b/ISQncpJP/shapezio]Roadmap[/url]
@ -140,10 +141,15 @@ demoBanners:
mainMenu: mainMenu:
play: Spielen play: Spielen
continue: Fortsetzen
newGame: Neues Spiel
changelog: Änderungshistorie changelog: Änderungshistorie
subreddit: Reddit
importSavegame: Importieren importSavegame: Importieren
openSourceHint: Dieses Spiel ist Open Source! openSourceHint: Dieses Spiel ist Open Source!
discordLink: Offizieller Discord Server discordLink: Offizieller Discord Server
helpTranslate: Hilf beim Übersetzen!
madeBy: Ein Spiel von <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: >-
@ -152,12 +158,6 @@ mainMenu:
savegameLevel: Level <x> savegameLevel: Level <x>
savegameLevelUnknown: Unbekanntes Level savegameLevelUnknown: Unbekanntes Level
helpTranslate: Hilf beim Übersetzen!
continue: Fortsetzen
newGame: Neues Spiel
madeBy: Ein Spiel von <author-link>
subreddit: Reddit
dialogs: dialogs:
buttons: buttons:
ok: OK ok: OK
@ -238,6 +238,16 @@ dialogs:
desc: >- desc: >-
Du löscht sehr viele Gebäude (<count> um genau zu sein)! Bist du dir sicher? Du löscht sehr viele Gebäude (<count> um genau zu sein)! Bist du dir sicher?
massCutConfirm:
title: Ausschneiden bestätigen
desc: >-
Du schneidest sehr viele Gebäude aus (<count> um genau zu sein)! Bist du dir sicher?
massCutInsufficientConfirm:
title: Ausschneiden bestätigen
desc: >-
Du hast aktuell nicht genug Blaupausenformen, um die Auswahl einzufügen! Möchtest du sie trotzdem ausschneiden?
blueprintsNotUnlocked: blueprintsNotUnlocked:
title: Noch nicht freigeschaltet title: Noch nicht freigeschaltet
desc: >- desc: >-
@ -254,24 +264,15 @@ dialogs:
createMarker: createMarker:
title: Neuer Marker title: Neuer Marker
desc: Gib ihm einen griffigen Namen. Du kannst sogar die <strong>Abkürzung</strong> einer Form eingeben (Diese kann <a href="https://viewer.shapez.io" target="_blank">hier</a> generiert werden).
titleEdit: Edit Marker titleEdit: Edit Marker
desc: Gib ihm einen griffigen Namen. Du kannst sogar die <strong>Abkürzung</strong> einer Form eingeben (Diese kann <a href="https://viewer.shapez.io" target="_blank">hier</a> generiert werden).
markerDemoLimit: markerDemoLimit:
desc: Du kannst nur 2 benutzerdefinierte Marker in der Demo benutzen. Hol dir die Standalone, um unendlich viele Marker zu erstellen! desc: Du kannst nur 2 benutzerdefinierte Marker in der Demo benutzen. Hol dir die Standalone, um unendlich viele Marker zu erstellen!
massCutConfirm:
title: Ausschneiden bestätigen
desc: >-
Du schneidest sehr viele Gebäude aus (<count> um genau zu sein)! Bist du dir sicher?
exportScreenshotWarning: exportScreenshotWarning:
title: Bildschirmfoto exportieren title: Bildschirmfoto exportieren
desc: >- desc: Hier kannst du ein Bildschirmfoto von deiner ganzen Fabrik erstellen. Für extrem große Fabriken kann das jedoch sehr lange dauern und ggf. zum Spielabsturz führen!
Hier kannst du ein Bildschirmfoto von deiner ganzen Fabrik erstellen. Für extrem große Fabriken kann das jedoch sehr lange dauern und ggf. zum Spielabsturz führen!
massCutInsufficientConfirm:
title: Ausschneiden bestätigen
desc: Du hast aktuell nicht genug Blaupausenformen, um die Auswahl einzufügen! Möchtest du sie trotzdem ausschneiden?
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
@ -297,6 +298,18 @@ ingame:
pipette: Pipette pipette: Pipette
switchLayers: Ebenen wechseln switchLayers: Ebenen wechseln
# Names of the colors, used for the color blind mode
colors:
red: Rot
green: Grün
blue: Blau
yellow: Gelb
purple: Violett
cyan: Cyan
white: Weiß
black: Schwarz
uncolored: Farblos
# 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)
buildingPlacement: buildingPlacement:
@ -391,6 +404,12 @@ ingame:
description: Linksklick auf einen Marker, um dort hinzugelangen, Rechtsklick, um ihn zu löschen.<br><br>Drücke <keybinding> um einen Marker aus deinem Blickwinkel, oder <strong>rechtsklicke</strong>, um einen Marker auf der ausgewählten Position zu erschaffen. description: Linksklick auf einen Marker, um dort hinzugelangen, Rechtsklick, um ihn zu löschen.<br><br>Drücke <keybinding> um einen Marker aus deinem Blickwinkel, oder <strong>rechtsklicke</strong>, um einen Marker auf der ausgewählten Position zu erschaffen.
creationSuccessNotification: Marker wurde erstellt. creationSuccessNotification: Marker wurde erstellt.
# Shape viewer
shapeViewer:
title: Ebenen
empty: Leer
copyKey: Schlüssel kopieren
# Interactive tutorial # Interactive tutorial
interactiveTutorial: interactiveTutorial:
title: Tutorial title: Tutorial
@ -402,21 +421,6 @@ ingame:
1_3_expand: >- 1_3_expand: >-
Dies ist <strong>KEIN</strong> Idle-Game! Baue mehr Extrahierer und Förderbänder, um das Ziel schneller zu erreichen.<br><br>Tipp: Halte <strong>UMSCH</strong>, um mehrere Gebäude zu platzieren und nutze <strong>R</strong> um sie zu rotieren. Dies ist <strong>KEIN</strong> Idle-Game! Baue mehr Extrahierer und Förderbänder, um das Ziel schneller zu erreichen.<br><br>Tipp: Halte <strong>UMSCH</strong>, um mehrere Gebäude zu platzieren und nutze <strong>R</strong> um sie zu rotieren.
colors:
red: Rot
green: Grün
blue: Blau
yellow: Gelb
purple: Violett
cyan: Cyan
white: Weiß
uncolored: Farblos
black: Schwarz
shapeViewer:
title: Ebenen
empty: Leer
copyKey: Schlüssel kopieren
# All shop upgrades # All shop upgrades
shopUpgrades: shopUpgrades:
belt: belt:
@ -434,12 +438,19 @@ shopUpgrades:
# Buildings and their name / description # Buildings and their name / description
buildings: buildings:
hub:
deliver: Liefere
toUnlock: >-
Für folgende Belohnung:
levelShortcut: LVL
belt: belt:
default: default:
name: &belt Förderband name: &belt Förderband
description: Transportiert Items. Halte und ziehe um mehrere zu platzieren. description: Transportiert Items. Halte und ziehe um mehrere zu platzieren.
miner: # Internal name for the Extractor # Internal name for the Extractor
miner:
default: default:
name: &miner Extrahierer name: &miner Extrahierer
description: Platziere ihn auf einer Form oder Farbe um sie zu extrahieren. description: Platziere ihn auf einer Form oder Farbe um sie zu extrahieren.
@ -448,7 +459,8 @@ buildings:
name: Extrahierer (Kette) name: Extrahierer (Kette)
description: Platziere ihn auf einer Form oder Farbe um sie zu extrahieren. Kann verkettet werden. description: Platziere ihn auf einer Form oder Farbe um sie zu extrahieren. Kann verkettet werden.
underground_belt: # Internal name for the Tunnel # Internal name for the Tunnel
underground_belt:
default: default:
name: &underground_belt Tunnel name: &underground_belt Tunnel
description: Erlaubt dir, Formen und Farbe unter Gebäuden und Förderbändern durchzuleiten. description: Erlaubt dir, Formen und Farbe unter Gebäuden und Förderbändern durchzuleiten.
@ -457,7 +469,8 @@ buildings:
name: Tunnel Stufe II name: Tunnel Stufe II
description: Erlaubt dir, Formen und Farbe unter Gebäuden und Förderbändern durchzuleiten. Höhere Reichweite. description: Erlaubt dir, Formen und Farbe unter Gebäuden und Förderbändern durchzuleiten. Höhere Reichweite.
splitter: # Internal name for the Balancer # Internal name for the Balancer
splitter:
default: default:
name: &splitter Verteiler name: &splitter Verteiler
description: Multifunktional - Verteilt gleichmäßig vom Eingang auf den Ausgang. description: Multifunktional - Verteilt gleichmäßig vom Eingang auf den Ausgang.
@ -482,7 +495,6 @@ buildings:
default: default:
name: &rotater Rotierer name: &rotater Rotierer
description: Rotiert Formen im Uhrzeigersinn um 90 Grad. description: Rotiert Formen im Uhrzeigersinn um 90 Grad.
ccw: ccw:
name: Rotierer (CCW) name: Rotierer (CCW)
description: Rotiert Formen gegen den Uhrzeigersinn um 90 Grad. description: Rotiert Formen gegen den Uhrzeigersinn um 90 Grad.
@ -505,6 +517,10 @@ buildings:
name: &painter Färber name: &painter Färber
description: &painter_desc Färbt die ganze Form aus dem linken Eingang mit der Farbe aus dem oberen Eingang. description: &painter_desc Färbt die ganze Form aus dem linken Eingang mit der Farbe aus dem oberen Eingang.
mirrored:
name: *painter
description: *painter_desc
double: double:
name: Färber (2-Fach) name: Färber (2-Fach)
description: Färbt beide Formen aus dem linken Eingang mit der Farbe aus dem oberen Eingang. description: Färbt beide Formen aus dem linken Eingang mit der Farbe aus dem oberen Eingang.
@ -512,9 +528,6 @@ buildings:
quad: quad:
name: Färber (4-Fach) name: Färber (4-Fach)
description: Erlaubt jedes einzelne Viertel einer Form beliebig einzufärben. description: Erlaubt jedes einzelne Viertel einer Form beliebig einzufärben.
mirrored:
name: *painter
description: *painter_desc
trash: trash:
default: default:
@ -525,11 +538,6 @@ buildings:
name: Lager name: Lager
description: Lagert den Überschuss bis zu einer gegebenen Kapazität. Kann als Überlauftor agieren. description: Lagert den Überschuss bis zu einer gegebenen Kapazität. Kann als Überlauftor agieren.
hub:
deliver: Liefere
toUnlock: >-
Für folgende Belohnung:
levelShortcut: LVL
wire: wire:
default: default:
name: Energiekabel name: Energiekabel
@ -660,6 +668,19 @@ settings:
large: Groß large: Groß
huge: Riesig huge: Riesig
autosaveInterval:
title: Intervall für automatisches Speichern
description: >-
Ändert das Intervall, in dem der Spielstand automatisch gespeichert wird. Die Funktion kann hier auch deaktiviert werden.
intervals:
one_minute: 1 Minute
two_minutes: 2 Minuten
five_minutes: 5 Minuten
ten_minutes: 10 Minuten
twenty_minutes: 20 Minuten
disabled: Deaktiviert
scrollWheelSensitivity: scrollWheelSensitivity:
title: Zoomempfindlichkeit title: Zoomempfindlichkeit
description: >- description: >-
@ -671,6 +692,28 @@ settings:
fast: Schnell fast: Schnell
super_fast: Sehr schnell super_fast: Sehr schnell
movementSpeed:
title: Bewegungsgeschwindigkeit
description: >-
Ändert die Geschwindigkeit, mit der der Bildschirm durch die Pfeiltasten bewegt wird.
speeds:
super_slow: Sehr langsam
slow: Langsam
regular: Normal
fast: Schnell
super_fast: Sehr schnell
extremely_fast: Extrem schnell
language:
title: Sprache
description: >-
Ändere die Sprache. Alle Übersetzungen werden von Nutzern erstellt und sind möglicherweise unvollständig!
enableColorBlindHelper:
title: Modus für Farbenblinde
description: >-
Aktiviert verschiedene Werkzeuge, die dir das Spielen trotz Farbenblindheit ermöglichen.
fullscreen: fullscreen:
title: Vollbild title: Vollbild
description: >- description: >-
@ -690,10 +733,10 @@ settings:
title: Farbmodus title: Farbmodus
description: >- description: >-
Wähle zwischen dunklem und hellem Farbmodus. Wähle zwischen dunklem und hellem Farbmodus.
themes: themes:
dark: Dunkel dark: Dunkel
light: Hell light: Hell
refreshRate: refreshRate:
title: Zielbildwiederholrate title: Zielbildwiederholrate
description: >- description: >-
@ -709,21 +752,6 @@ settings:
description: >- description: >-
Schaltet Hinweise und das Tutorial beim Spielen an und aus. Außerdem werden zu den Levels bestimmte Textfelder versteckt, die den Einstieg erleichtern sollen. Schaltet Hinweise und das Tutorial beim Spielen an und aus. Außerdem werden zu den Levels bestimmte Textfelder versteckt, die den Einstieg erleichtern sollen.
language:
title: Sprache
description: >-
Ändere die Sprache. Alle Übersetzungen werden von Nutzern erstellt und sind möglicherweise unvollständig!
movementSpeed:
title: Bewegungsgeschwindigkeit
description: Ändert die Geschwindigkeit, mit der der Bildschirm durch die Pfeiltasten bewegt wird.
speeds:
super_slow: Sehr langsam
slow: Langsam
regular: Normal
fast: Schnell
super_fast: Sehr schnell
extremely_fast: Extrem schnell
enableTunnelSmartplace: enableTunnelSmartplace:
title: Intelligente Tunnel title: Intelligente Tunnel
description: >- description: >-
@ -732,43 +760,23 @@ settings:
vignette: vignette:
title: Vignette title: Vignette
description: >- description: >-
Aktiviert den Vignetteneffekt, der den Rand des Bildschirms zunehmend verdunkelt Aktiviert den Vignetteneffekt, der den Rand des Bildschirms zunehmend verdunkelt und das Lesen der Textfelder vereinfacht.
und das Lesen der Textfelder vereinfacht.
autosaveInterval: rotationByBuilding:
title: Intervall für automatisches Speichern title: Rotation pro Gebäudetyp
description: >- description: >-
Ändert das Intervall, in dem der Spielstand automatisch gespeichert wird. Jeder Gebäudetyp merkt sich einzeln, welche Rotation ausgewählt ist. Das fühlt sich möglicherweise besser an, wenn du häufig zwischen verschiedenen Gebäudetypen wechselst.
Die Funktion kann hier auch deaktiviert werden.
intervals:
one_minute: 1 Minute
two_minutes: 2 Minuten
five_minutes: 5 Minuten
ten_minutes: 10 Minuten
twenty_minutes: 20 Minuten
disabled: Deaktiviert
compactBuildingInfo: compactBuildingInfo:
title: Kompakte Gebäudeinformationen title: Kompakte Gebäudeinformationen
description: >- description: >-
Reduziert die Infoboxen der Gebäude auf ihre Arbeitsgeschwindigkeit. Anderenfalls wird ein Reduziert die Infoboxen der Gebäude auf ihre Arbeitsgeschwindigkeit. Anderenfalls wird ein Bild mit Beschreibung angezeigt.
Bild mit Beschreibung angezeigt.
disableCutDeleteWarnings: disableCutDeleteWarnings:
title: Deaktiviere Warnungsdialog beim Löschen title: Deaktiviere Warnungsdialog beim Löschen
description: >- description: >-
Deaktiviert die Warnung, die beim Löschen und Ausschneiden von mehr als 100 Feldern angezeigt wird. Deaktiviert die Warnung, die beim Löschen und Ausschneiden von mehr als 100 Feldern angezeigt wird.
enableColorBlindHelper:
title: Modus für Farbenblinde
description: Aktiviert verschiedene Werkzeuge, die dir das Spielen trotz Farbenblindheit ermöglichen.
rotationByBuilding:
title: Rotation pro Gebäudetyp
description: >-
Jeder Gebäudetyp merkt sich einzeln, welche Rotation ausgewählt ist.
Das fühlt sich möglicherweise besser an, wenn du häufig zwischen verschiedenen
Gebäudetypen wechselst.
keybindings: keybindings:
title: Tastenbelegung title: Tastenbelegung
hint: >- hint: >-
@ -792,6 +800,7 @@ keybindings:
mapMoveRight: Nach rechts bewegen mapMoveRight: Nach rechts bewegen
mapMoveDown: Nach unten bewegen mapMoveDown: Nach unten bewegen
mapMoveLeft: Nach links bewegen mapMoveLeft: Nach links bewegen
mapMoveFaster: Schneller bewegen
centerMap: Karte zentrieren centerMap: Karte zentrieren
mapZoomIn: Hineinzoomen mapZoomIn: Hineinzoomen
@ -800,9 +809,12 @@ keybindings:
menuOpenShop: Upgrades menuOpenShop: Upgrades
menuOpenStats: Statistiken menuOpenStats: Statistiken
menuClose: Menü schließen
toggleHud: HUD an/aus toggleHud: HUD an/aus
toggleFPSInfo: FPS und Debug-Info an/aus toggleFPSInfo: FPS und Debug-Info an/aus
switchLayers: Ebenen wechseln
exportScreenshot: Ganze Fabrik als Foto exportieren
belt: *belt belt: *belt
splitter: *splitter splitter: *splitter
underground_belt: *underground_belt underground_belt: *underground_belt
@ -813,33 +825,30 @@ keybindings:
mixer: *mixer mixer: *mixer
painter: *painter painter: *painter
trash: *trash trash: *trash
wire: *wire
pipette: Pipette
rotateWhilePlacing: Rotieren rotateWhilePlacing: Rotieren
rotateInverseModifier: >- rotateInverseModifier: >-
Modifikator: stattdessen gegen den 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
pasteLastBlueprint: Letzte Blaupause einfügen
cycleBuildings: Gebäude rotieren cycleBuildings: Gebäude rotieren
lockBeltDirection: Bandplaner aktivieren
switchDirectionLockSide: >-
Planer: Seite wechseln
massSelectStart: Halten und ziehen zum Beginnen massSelectStart: Halten und ziehen zum Beginnen
massSelectSelectMultiple: Mehrere Areale markieren massSelectSelectMultiple: Mehrere Areale markieren
massSelectCopy: Areal kopieren massSelectCopy: Areal kopieren
massSelectCut: Areal ausschneiden
placementDisableAutoOrientation: Automatische Orientierung deaktivieren placementDisableAutoOrientation: Automatische Orientierung deaktivieren
placeMultiple: Im Platziermodus bleiben placeMultiple: Im Platziermodus bleiben
placeInverse: Automatische Förderbandorientierung invertieren placeInverse: Automatische Förderbandorientierung invertieren
pasteLastBlueprint: Letzte Blaupause einfügen
massSelectCut: Areal ausschneiden
exportScreenshot: Ganze Fabrik als Foto exportieren
mapMoveFaster: Schneller bewegen
lockBeltDirection: Bandplaner aktivieren
switchDirectionLockSide: "Planer: Seite wechseln"
pipette: Pipette
menuClose: Menü schließen
switchLayers: Ebenen wechseln
advanced_processor: Farbnivertierer advanced_processor: Farbnivertierer
energy_generator: Energiegenerator energy_generator: Energiegenerator
wire: Energiekabel
about: about:
title: Über dieses Spiel title: Über dieses Spiel

File diff suppressed because it is too large Load Diff