From 1c35a3038c70cc1245926245bd63d6ef4669a090 Mon Sep 17 00:00:00 2001 From: Henning <37704045+fearlessHonn@users.noreply.github.com> Date: Fri, 4 Jun 2021 13:52:46 +0200 Subject: [PATCH 01/24] Update base-de.yaml (#1184) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ich habe item(s) nicht übersetzt, da es im allgemeinen Sprachgebrauch recht häufig vorkommt. Außerdem bin ich mit der Übersetzung von "goal acceptor" noch nicht ganz zufrieden. --- translations/base-de.yaml | 98 +++++++++++++++++++-------------------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/translations/base-de.yaml b/translations/base-de.yaml index bc65a2e3..2b2d0697 100644 --- a/translations/base-de.yaml +++ b/translations/base-de.yaml @@ -1221,56 +1221,56 @@ tips: bestimmen. - Du kannst die angehefteten Formen am linken Rand wieder entfernen. puzzleMenu: - play: Play - edit: Edit - title: Puzzle Mode - createPuzzle: Create Puzzle - loadPuzzle: Load - reviewPuzzle: Review & Publish - validatingPuzzle: Validating Puzzle - submittingPuzzle: Submitting Puzzle - noPuzzles: There are currently no puzzles in this section. + play: Spielen + edit: bearbeiten + title: Puzzle Modus + createPuzzle: Puzzle erstellen + loadPuzzle: Laden + reviewPuzzle: Überprüfen & Veröffentlichen + validatingPuzzle: Puzzle wird überprüft + submittingPuzzle: Puzzle wird veröffentlicht + noPuzzles: Hier gibt es bisher noch keine Puzzles. categories: levels: Levels - new: New - top-rated: Top Rated - mine: My Puzzles - short: Short - easy: Easy - hard: Hard - completed: Completed + new: Neu + top-rated: Am besten bewertet + mine: Meine Puzzles + short: Kurz + easy: Einfach + hard: Schwierig + completed: Abgeschlossen validation: - title: Invalid Puzzle - noProducers: Please place a Constant Producer! - noGoalAcceptors: Please place a Goal Acceptor! - goalAcceptorNoItem: One or more Goal Acceptors have not yet assigned an item. - Deliver a shape to them to set a goal. - goalAcceptorRateNotMet: One or more Goal Acceptors are not getting enough items. - Make sure that the indicators are green for all acceptors. - buildingOutOfBounds: One or more buildings are outside of the buildable area. - Either increase the area or remove them. - autoComplete: Your puzzle autocompletes itself! Please make sure your constant - producers are not directly delivering to your goal acceptors. + title: Ungültiges Puzzle + noProducers: Bitte plaziere einen Item-Produzent! + noGoalAcceptors: Bitte plaziere einen Ziel-Akzeptor! + goalAcceptorNoItem: Einer oder mehrere Ziel-Akzeptoren haben noch kein zugewiesenes Item. + Liefere eine Form zu diesen, um ein Ziel zu setzen. + goalAcceptorRateNotMet: Einer oder mehrere Ziel-Aktzeptoren bekommen nicht genügend Items. + Stelle sicher, dass alle Akzeptatorindikatoren grün sind. + buildingOutOfBounds: Ein oder mehrere Gebäude befinden sich außerhalb des beabauren Bereichs. + Vergrößere den Bereich oder entferene die Gebäude. + autoComplete: Dein Puzzle schließt sich selbst ab! Bitte stelle sicher, dass deine Item-Produzent + nicht direkt an deine Ziel-Akzeptoren lieferen. backendErrors: - ratelimit: You are performing your actions too frequent. Please wait a bit. - invalid-api-key: Failed to communicate with the backend, please try to - update/restart the game (Invalid Api Key). - unauthorized: Failed to communicate with the backend, please try to - update/restart the game (Unauthorized). - bad-token: Failed to communicate with the backend, please try to update/restart - the game (Bad Token). - bad-id: Invalid puzzle identifier. - not-found: The given puzzle could not be found. - bad-category: The given category could not be found. - bad-short-key: The given short key is invalid. - profane-title: Your puzzle title contains profane words. - bad-title-too-many-spaces: Your puzzle title is too short. - bad-shape-key-in-emitter: A constant producer has an invalid item. - bad-shape-key-in-goal: A goal acceptor has an invalid item. - no-emitters: Your puzzle does not contain any constant producers. - no-goals: Your puzzle does not contain any goal acceptors. - short-key-already-taken: This short key is already taken, please use another one. - can-not-report-your-own-puzzle: You can not report your own puzzle. - bad-payload: The request contains invalid data. - bad-building-placement: Your puzzle contains invalid placed buildings. - timeout: The request timed out. + ratelimit: Du führst Aktionen zu schnell aus. Bitte warte kurz. + invalid-api-key: Kommunikation mit dem Back-End fehlgeschlagen, veruche das Spiel + neustarten oder zu updaten (Ungültiger Api-Schlüssel). + unauthorized: Kommunikation mit dem Back-End fehlgeschlagen, veruche das Spiel + neustarten oder zu updaten (Nicht autorisiert). + bad-token: Kommunikation mit dem Back-End fehlgeschlagen, veruche das Spiel + neustarten oder zu updaten (Ungültiger Token). + bad-id: Ungültige Puzzle Identifikation. + not-found: Das gegebene Puzzle konnte nicht gefunden werden. + bad-category: Die gegebene Kategorie konnte nicht gefunden werden. + bad-short-key: Der gegebene Kurzschlüssel ist ungültig. + profane-title: Dein Puzzletitel enthält ungültige Wörter. + bad-title-too-many-spaces: Dein Puzzletitel ist zu kurz. + bad-shape-key-in-emitter: Einem konstanten Produzenten wurde ein ungültiges Item zugewiesen. + bad-shape-key-in-goal: Einem Ziel-Akzeptor wurde ein ungültiges Item zugewiesen. + no-emitters: Dein Puzzle enthält keine konstanten Produzenten. + no-goals: Dein Puzzle enthält keine Ziel-Akzeptoren. + short-key-already-taken: Dieser Kurzschlüssel ist bereits vergeben, bitte wähle einen anderen. + can-not-report-your-own-puzzle: Du kannst nicht dein eigenes Puzzle melden. + bad-payload: Die Anfrage beinhaltet ungültige Daten. + bad-building-placement: Dein Puzzle beinhaltet Gebäude, die sich an ungültigen Stellen befinden. + timeout: Es kam zu einer Zeitüberschreitung bei der Anfrage. From 784680381b2d5d7481dce0492a568a38e00051b5 Mon Sep 17 00:00:00 2001 From: RevosCZ <72229413+RevosCZ@users.noreply.github.com> Date: Fri, 4 Jun 2021 13:53:35 +0200 Subject: [PATCH 02/24] Update base-cz.yaml (#1185) * Update base-cz.yaml * Update base-cz.yaml * Update base-cz.yaml * Update base-cz.yaml --- translations/base-cz.yaml | 94 +++++++++++++++++++-------------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/translations/base-cz.yaml b/translations/base-cz.yaml index 1deb46c4..6ccdc9d7 100644 --- a/translations/base-cz.yaml +++ b/translations/base-cz.yaml @@ -10,14 +10,14 @@ steamPage: A jako by to nestačilo, musíte také produkovat exponenciálně více, abyste uspokojili požadavky - jediná věc, která pomáhá, je škálování! Zatímco na začátku tvary pouze zpracováváte, později je musíte obarvit - těžbou a mícháním barev! Koupením hry na platformě Steam získáte přístup k plné verzi hry, ale také můžete nejdříve hrát demo verzi na shapez.io a až potom se rozhodnout! - what_others_say: What people say about shapez.io - nothernlion_comment: This game is great - I'm having a wonderful time playing, - and time has flown by. - notch_comment: Oh crap. I really should sleep, but I think I just figured out - how to make a computer in shapez.io - steam_review_comment: This game has stolen my life and I don't want it back. - Very chill factory game that won't let me stop making my lines more - efficient. + what_others_say: Co o shapez.io říkají lidé + nothernlion_comment: Tato hra je úžasná - Užívám si čas strávený hraním této hry, + jen strašně rychle utekl. + notch_comment: Sakra. Opravdu bych měl jít spát, ale myslím si, že jsem zrovna přišel na to, + jak v shapez.io vytvořit počítač. + steam_review_comment: Tato hra mi ukradla život a já ho nechci zpět. + Odpočinková factory hra, která mi nedovolí přestat dělat mé výrobní linky více + efektivní. global: loading: Načítání error: Chyba @@ -49,7 +49,7 @@ global: escape: ESC shift: SHIFT space: SPACE - loggingIn: Logging in + loggingIn: Přihlašuji demoBanners: title: Demo verze intro: Získejte plnou verzi pro odemknutí všech funkcí a obsahu! @@ -70,11 +70,11 @@ mainMenu: savegameLevel: Úroveň savegameLevelUnknown: Neznámá úroveň savegameUnnamed: Nepojmenovaný - puzzleMode: Puzzle Mode - back: Back - puzzleDlcText: Do you enjoy compacting and optimizing factories? Get the Puzzle - DLC now on Steam for even more fun! - puzzleDlcWishlist: Wishlist now! + puzzleMode: Puzzle mód + back: Zpět + puzzleDlcText: Baví vás zmenšování a optimalizace továren? Pořiďte si nyní Puzzle + DLC na Steamu pro ještě více zábavy! + puzzleDlcWishlist: Přidejte si nyní na seznam přání! dialogs: buttons: ok: OK @@ -88,9 +88,9 @@ dialogs: viewUpdate: Zobrazit aktualizaci showUpgrades: Zobrazit vylepšení showKeybindings: Zobrazit klávesové zkratky - retry: Retry - continue: Continue - playOffline: Play Offline + retry: Opakovat + continue: Pokračovat + playOffline: Hrát offline importSavegameError: title: Chyba Importu text: "Nepovedlo se importovat vaši uloženou hru:" @@ -188,40 +188,40 @@ dialogs: desc: Pro tuto úroveň je k dispozici tutoriál, ale je dostupný pouze v angličtině. Chtěli byste se na něj podívat? editConstantProducer: - title: Set Item + title: Nastavte tvar puzzleLoadFailed: - title: Puzzles failed to load - desc: "Unfortunately the puzzles could not be loaded:" + title: Načítání puzzle selhalo + desc: "Bohužel nebylo možné puzzle načíst:" submitPuzzle: - title: Submit Puzzle - descName: "Give your puzzle a name:" - descIcon: "Please enter a unique short key, which will be shown as the icon of - your puzzle (You can generate them here, or choose one - of the randomly suggested shapes below):" - placeholderName: Puzzle Title + title: Odeslat puzzle + descName: "Pojmenujte svůj puzzle:" + descIcon: "Prosím zadejte unikátní krátký klíč, který bude zobrazen jako ikona + vašeho puzzle (Ten můžete vygenerovat zde, nebo vyberte jeden + z níže náhodně vybraných tvarů):" + placeholderName: Název puzzlu puzzleResizeBadBuildings: - title: Resize not possible - desc: You can't make the zone any smaller, because then some buildings would be - outside the zone. + title: Změna velikosti není možná + desc: Zónu není možné více zmenšit, protože by některé budovy byly + mimo zónu. puzzleLoadError: - title: Bad Puzzle - desc: "The puzzle failed to load:" + title: Špatný puzzle + desc: "Načítání puzzlu selhalo:" offlineMode: - title: Offline Mode - desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + title: Offline mód + desc: Nebylo možné kontaktovat herní servery, proto musí hra běžet v offline módu. + Ujistěte se, že máte aktivní připojení k internetu. puzzleDownloadError: - title: Download Error - desc: "Failed to download the puzzle:" + title: Chyba stahování + desc: "Stažení puzzlu selhalo:" puzzleSubmitError: - title: Submission Error - desc: "Failed to submit your puzzle:" + title: Chyba odeslání + desc: "Odeslání puzzlu selhalo:" puzzleSubmitOk: - title: Puzzle Published - desc: Congratulations! Your puzzle has been published and can now be played by - others. You can now find it in the "My puzzles" section. + title: Puzzle zveřejněno + desc: Gratuluji! Vaše puzzle bylo zvěřejněno a je dostupné pro + ostatní hráče. Můžete ho najít v sekci "Má puzzle". puzzleCreateOffline: - title: Offline Mode + title: Offline mód desc: Since you are offline, you will not be able to save and/or publish your puzzle. Would you still like to continue? puzzlePlayRegularRecommendation: @@ -418,11 +418,11 @@ ingame: desc: Vyvíjím to ve svém volném čase! achievements: title: Achievements - desc: Hunt them all! + desc: Získejte je všechny! puzzleEditorSettings: - zoneTitle: Zone - zoneWidth: Width - zoneHeight: Height + zoneTitle: Zóna + zoneWidth: Šířka + zoneHeight: Výška trimZone: Trim clearItems: Clear Items share: Share @@ -512,7 +512,7 @@ buildings: name: Rotor description: Otáčí tvary o 90 stupňů po směru hodinových ručiček. ccw: - name: Rotor (opačný) + name: Rotor (Opačný) description: Otáčí tvary o 90 stupňů proti směru hodinových ručiček. rotate180: name: Rotor (180°) From 1046e7d4bd9fba87fadc660902c431d85a2684fd Mon Sep 17 00:00:00 2001 From: Debucquoy Anthony tonitch Date: Fri, 4 Jun 2021 13:53:50 +0200 Subject: [PATCH 03/24] Update base-fr.yaml (#1186) --- translations/base-fr.yaml | 50 +++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/translations/base-fr.yaml b/translations/base-fr.yaml index 84595aef..ae3b5b30 100644 --- a/translations/base-fr.yaml +++ b/translations/base-fr.yaml @@ -11,11 +11,11 @@ steamPage: Et en plus, vous devrez aussi produire de plus en plus pour satisfaire la demande. La seule solution est de construire en plus grand ! Au début vous ne ferez que découper les formes, mais plus tard vous devrez les peindre — et pour ça vous devrez extraire et mélanger des couleurs ! En achetant le jeu sur Steam, vous aurez accès à la version complète, mais vous pouvez aussi jouer à une démo sur shapez.io et vous décider ensuite ! - what_others_say: What people say about shapez.io + what_others_say: Ce que les gens pensent de Shapez.io nothernlion_comment: This game is great - I'm having a wonderful time playing, and time has flown by. - notch_comment: Oh crap. I really should sleep, but I think I just figured out - how to make a computer in shapez.io + notch_comment: Mince! Je devrais vraiment me coucher, Mais je crois que j'ai trouvé + comment faire un ordinateur dans Shapez.io steam_review_comment: This game has stolen my life and I don't want it back. Very chill factory game that won't let me stop making my lines more efficient. @@ -73,8 +73,8 @@ mainMenu: savegameUnnamed: Sans titre puzzleMode: Puzzle Mode back: Back - puzzleDlcText: Do you enjoy compacting and optimizing factories? Get the Puzzle - DLC now on Steam for even more fun! + puzzleDlcText: Vous aimez compacter et optimiser vos usines? Achetez le DLC + sur Steam dés maintenant pour encore plus d'amusement! puzzleDlcWishlist: Wishlist now! dialogs: buttons: @@ -89,9 +89,9 @@ dialogs: viewUpdate: Voir les mises à jour showUpgrades: Montrer les améliorations showKeybindings: Montrer les raccourcis - retry: Retry - continue: Continue - playOffline: Play Offline + retry: Reesayer + continue: Continuer + playOffline: Jouer Hors-ligne importSavegameError: title: Erreur d’importation text: "Impossible d’importer votre sauvegarde :" @@ -193,13 +193,13 @@ dialogs: desc: Il y a un tutoriel vidéo pour ce niveau, mais il n’est disponible qu’en anglais. Voulez-vous le regarder ? editConstantProducer: - title: Set Item + title: Définir l'objet puzzleLoadFailed: - title: Puzzles failed to load - desc: "Unfortunately the puzzles could not be loaded:" + title: Le chargement du Puzzle à échoué + desc: "Malheuresement, le puzzle n'a pas pu être chargé:" submitPuzzle: - title: Submit Puzzle - descName: "Give your puzzle a name:" + title: Envoyer le Puzzle + descName: "Donnez un nom à votre puzzle:" descIcon: "Please enter a unique short key, which will be shown as the icon of your puzzle (You can generate them here, or choose one of the randomly suggested shapes below):" @@ -212,21 +212,21 @@ dialogs: title: Bad Puzzle desc: "The puzzle failed to load:" offlineMode: - title: Offline Mode + title: Mode hors-ligne desc: We couldn't reach the servers, so the game has to run in offline mode. Please make sure you have an active internect connection. puzzleDownloadError: - title: Download Error - desc: "Failed to download the puzzle:" + title: Erreur de téléchargment + desc: "Le téléchargement à échoué:" puzzleSubmitError: - title: Submission Error - desc: "Failed to submit your puzzle:" + title: Erreur d'envoi + desc: "L'envoi à échoué:" puzzleSubmitOk: - title: Puzzle Published - desc: Congratulations! Your puzzle has been published and can now be played by - others. You can now find it in the "My puzzles" section. + title: Puzzle envoyé + desc: Félicitation! Votre puzzle à été envoyé et peut maintenant être joué. + Vous pouvez maintenant le retrouver dans la section "Mes Puzzle". puzzleCreateOffline: - title: Offline Mode + title: Mode Hors-ligne desc: Since you are offline, you will not be able to save and/or publish your puzzle. Would you still like to continue? puzzlePlayRegularRecommendation: @@ -245,8 +245,8 @@ dialogs: unsolvable: Not solvable trolling: Trolling puzzleReportComplete: - title: Thank you for your feedback! - desc: The puzzle has been flagged. + title: Merci pour votre retour! + desc: Le puzzle à été marqué. puzzleReportError: title: Failed to report desc: "Your report could not get processed:" @@ -274,7 +274,7 @@ ingame: clearSelection: Effacer la sélection pipette: Pipette switchLayers: Changer de calque - clearBelts: Clear belts + clearBelts: Suprimer les rails colors: red: Rouge green: Vert From e4c1355e9c87ca6bbd670b97098c2c9eeb81b95e Mon Sep 17 00:00:00 2001 From: tobspr Date: Sat, 19 Jun 2021 13:18:38 +0200 Subject: [PATCH 04/24] Query login token for puzzle DLC api --- src/js/platform/api.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/js/platform/api.js b/src/js/platform/api.js index 99c61a20..ea6bcd1c 100644 --- a/src/js/platform/api.js +++ b/src/js/platform/api.js @@ -101,9 +101,15 @@ export class ClientAPI { */ apiTryLogin() { if (!G_IS_STANDALONE) { - const token = window.prompt( - "Please enter the auth token for the puzzle DLC (If you have none, you can't login):" - ); + let token = window.localStorage.getItem("dev_api_auth_token"); + if (!token) { + token = window.prompt( + "Please enter the auth token for the puzzle DLC (If you have none, you can't login):" + ); + } + if (token) { + window.localStorage.setItem("dev_api_auth_token", token); + } return Promise.resolve({ token }); } From e765286ad20739799f189c4323d219a8e0d8e049 Mon Sep 17 00:00:00 2001 From: HY0077 <80679452+HY0077@users.noreply.github.com> Date: Sat, 19 Jun 2021 13:19:23 +0200 Subject: [PATCH 05/24] Update base-de.yaml (#1183) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update base-de.yaml * Update base-de.yaml Müsste jetzt passen * Update base-de.yaml --- translations/base-de.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/translations/base-de.yaml b/translations/base-de.yaml index 2b2d0697..5d422ce6 100644 --- a/translations/base-de.yaml +++ b/translations/base-de.yaml @@ -70,11 +70,11 @@ mainMenu: savegameLevel: Level savegameLevelUnknown: Unbekanntes Level savegameUnnamed: Unbenannt - puzzleMode: Puzzle Mode - back: Back - puzzleDlcText: Do you enjoy compacting and optimizing factories? Get the Puzzle - DLC now on Steam for even more fun! - puzzleDlcWishlist: Wishlist now! + puzzleMode: Puzzlemodus + back: Zurück + puzzleDlcText: Du hast Spaß daran, deine Fabriken zu optimieren und effizienter zu machen? + Hol dir den Puzzle DLC auf Steam für noch mehr Spaß! + puzzleDlcWishlist: Jetzt zur Wunschliste hinzufügen! dialogs: buttons: ok: OK @@ -88,9 +88,9 @@ dialogs: viewUpdate: Update anzeigen showUpgrades: Upgrades anzeigen showKeybindings: Kürzel anzeigen - retry: Retry - continue: Continue - playOffline: Play Offline + retry: Erneut versuchen + continue: Fortsetzen + playOffline: Offline spielen importSavegameError: title: Importfehler text: "Fehler beim Importieren deines Speicherstands:" From 0555ebbaa75663d8bd6ebdd8962236f7a0e2f631 Mon Sep 17 00:00:00 2001 From: Jeremy Meissner <34174370+JeremyMeissner@users.noreply.github.com> Date: Sat, 19 Jun 2021 13:19:46 +0200 Subject: [PATCH 06/24] Update base-fr.yaml (#1187) --- translations/base-fr.yaml | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/translations/base-fr.yaml b/translations/base-fr.yaml index ae3b5b30..f754ba3e 100644 --- a/translations/base-fr.yaml +++ b/translations/base-fr.yaml @@ -11,11 +11,11 @@ steamPage: Et en plus, vous devrez aussi produire de plus en plus pour satisfaire la demande. La seule solution est de construire en plus grand ! Au début vous ne ferez que découper les formes, mais plus tard vous devrez les peindre — et pour ça vous devrez extraire et mélanger des couleurs ! En achetant le jeu sur Steam, vous aurez accès à la version complète, mais vous pouvez aussi jouer à une démo sur shapez.io et vous décider ensuite ! - what_others_say: Ce que les gens pensent de Shapez.io + what_others_say: Ce que les gens pensent de shapez.io nothernlion_comment: This game is great - I'm having a wonderful time playing, and time has flown by. - notch_comment: Mince! Je devrais vraiment me coucher, Mais je crois que j'ai trouvé - comment faire un ordinateur dans Shapez.io + notch_comment: Mince ! Je devrais vraiment me coucher, mais je crois que j'ai trouvé + comment faire un ordinateur dans shapez.io steam_review_comment: This game has stolen my life and I don't want it back. Very chill factory game that won't let me stop making my lines more efficient. @@ -73,8 +73,8 @@ mainMenu: savegameUnnamed: Sans titre puzzleMode: Puzzle Mode back: Back - puzzleDlcText: Vous aimez compacter et optimiser vos usines? Achetez le DLC - sur Steam dés maintenant pour encore plus d'amusement! + puzzleDlcText: Vous aimez compacter et optimiser vos usines ? Achetez le DLC + sur Steam dés maintenant pour encore plus d'amusement ! puzzleDlcWishlist: Wishlist now! dialogs: buttons: @@ -89,7 +89,7 @@ dialogs: viewUpdate: Voir les mises à jour showUpgrades: Montrer les améliorations showKeybindings: Montrer les raccourcis - retry: Reesayer + retry: Réesayer continue: Continuer playOffline: Jouer Hors-ligne importSavegameError: @@ -196,10 +196,10 @@ dialogs: title: Définir l'objet puzzleLoadFailed: title: Le chargement du Puzzle à échoué - desc: "Malheuresement, le puzzle n'a pas pu être chargé:" + desc: "Malheuresement, le puzzle n'a pas pu être chargé :" submitPuzzle: title: Envoyer le Puzzle - descName: "Donnez un nom à votre puzzle:" + descName: "Donnez un nom à votre puzzle :" descIcon: "Please enter a unique short key, which will be shown as the icon of your puzzle (You can generate them here, or choose one of the randomly suggested shapes below):" @@ -209,22 +209,22 @@ dialogs: desc: You can't make the zone any smaller, because then some buildings would be outside the zone. puzzleLoadError: - title: Bad Puzzle - desc: "The puzzle failed to load:" + title: Mauvais Puzzle + desc: "Le chargement du puzzle a échoué :" offlineMode: title: Mode hors-ligne desc: We couldn't reach the servers, so the game has to run in offline mode. Please make sure you have an active internect connection. puzzleDownloadError: title: Erreur de téléchargment - desc: "Le téléchargement à échoué:" + desc: "Le téléchargement à échoué :" puzzleSubmitError: title: Erreur d'envoi - desc: "L'envoi à échoué:" + desc: "L'envoi à échoué :" puzzleSubmitOk: title: Puzzle envoyé - desc: Félicitation! Votre puzzle à été envoyé et peut maintenant être joué. - Vous pouvez maintenant le retrouver dans la section "Mes Puzzle". + desc: Félicitation ! Votre puzzle à été envoyé et peut maintenant être joué. + Vous pouvez maintenant le retrouver dans la section "Mes Puzzles". puzzleCreateOffline: title: Mode Hors-ligne desc: Since you are offline, you will not be able to save and/or publish your @@ -245,8 +245,8 @@ dialogs: unsolvable: Not solvable trolling: Trolling puzzleReportComplete: - title: Merci pour votre retour! - desc: Le puzzle à été marqué. + title: Merci pour votre retour ! + desc: Le puzzle a été marqué. puzzleReportError: title: Failed to report desc: "Your report could not get processed:" @@ -274,7 +274,7 @@ ingame: clearSelection: Effacer la sélection pipette: Pipette switchLayers: Changer de calque - clearBelts: Suprimer les rails + clearBelts: Supprimer les rails colors: red: Rouge green: Vert From d1603904213204ab840ac209335e9a364db5a444 Mon Sep 17 00:00:00 2001 From: GalaxyGamingBoy <53054461+GalaxyGamingBoy@users.noreply.github.com> Date: Sat, 19 Jun 2021 14:20:12 +0300 Subject: [PATCH 07/24] Update base-el.yaml (#1188) I added some general and puzzle translations --- translations/base-el.yaml | 88 +++++++++++++++++++-------------------- 1 file changed, 43 insertions(+), 45 deletions(-) diff --git a/translations/base-el.yaml b/translations/base-el.yaml index fe82b429..00588943 100644 --- a/translations/base-el.yaml +++ b/translations/base-el.yaml @@ -71,14 +71,13 @@ mainMenu: savegameLevelUnknown: Άγνωστο Επίπεδο continue: Συνέχεια newGame: Καινούριο παιχνίδι - madeBy: Made by + madeBy: Κατασκευασμένο απο subreddit: Reddit savegameUnnamed: Unnamed - puzzleMode: Puzzle Mode - back: Back - puzzleDlcText: Do you enjoy compacting and optimizing factories? Get the Puzzle - DLC now on Steam for even more fun! - puzzleDlcWishlist: Wishlist now! + puzzleMode: Λειτουργία παζλ + back: Πίσω + puzzleDlcText: Σε αρέσει να συμπάγης και να βελτιστοποίεις εργοστάσια; Πάρε την λειτουργεία παζλ στο Steam για ακόμη περισσότερη πλάκα! + puzzleDlcWishlist: Βαλτε το στην λίστα επιθυμιών τώρα! dialogs: buttons: ok: OK @@ -186,13 +185,13 @@ dialogs: desc: Δεν έχεις τους πόρους να επικολλήσεις αυτήν την περιοχή! Είσαι βέβαιος/η ότι θέλεις να την αποκόψεις; editSignal: - title: Set Signal - descItems: "Choose a pre-defined item:" - descShortKey: ... or enter the short key of a shape (Which you - can generate here) + title: Βάλε σήμα + descItems: "Διάλεξε ενα προκαθορισμένο αντικείμενο:" + descShortKey: ... ή εισάγετε ενα ενα μικρό κλειδι απο ένα σχήμα (Που μπορείς να παράγεις + εδώ) renameSavegame: - title: Rename Savegame - desc: You can rename your savegame here. + title: Μετανόμασε το αποθηκευμένου παιχνιδι. + desc: Μπορείς να μετανομάσεις το αποθηκευμένο σου παιχνίδι εδω. tutorialVideoAvailable: title: Tutorial Available desc: There is a tutorial video available for this level! Would you like to @@ -204,36 +203,36 @@ dialogs: editConstantProducer: title: Set Item puzzleLoadFailed: - title: Puzzles failed to load - desc: "Unfortunately the puzzles could not be loaded:" + title: Απέτυχε να φορτώσει το παζλ. + desc: "Δυστυχώς το παζλ δεν μπορούσε να φορτωθεί:" submitPuzzle: - title: Submit Puzzle - descName: "Give your puzzle a name:" - descIcon: "Please enter a unique short key, which will be shown as the icon of - your puzzle (You can generate them here, or choose one - of the randomly suggested shapes below):" - placeholderName: Puzzle Title + title: Υπόβαλε παζλ + descName: "Δώσε όνομα στο παζλ:" + descIcon: "Παρακαλούμε εισάγετε ενα μικρό κλειδι, που θα προβληθεί εως το εικονίδιο + για το παζλ (Μπορείς να το παράγεις εδώ, ή διάλεξε ενα + ενα από τα παρακάτω τυχαία προτεινόμενα σχήματα):" + placeholderName: Τίτλος παζλ puzzleResizeBadBuildings: title: Resize not possible desc: You can't make the zone any smaller, because then some buildings would be outside the zone. puzzleLoadError: - title: Bad Puzzle - desc: "The puzzle failed to load:" + title: Κακό παζλ + desc: "Το πάζλ απέτυχε να φορτώθει:" offlineMode: title: Offline Mode desc: We couldn't reach the servers, so the game has to run in offline mode. Please make sure you have an active internect connection. puzzleDownloadError: - title: Download Error - desc: "Failed to download the puzzle:" + title: Σφάλμα λήψης + desc: "Απέτυχε να κατεβαθεί το πάζλ:" puzzleSubmitError: title: Submission Error desc: "Failed to submit your puzzle:" puzzleSubmitOk: - title: Puzzle Published - desc: Congratulations! Your puzzle has been published and can now be played by - others. You can now find it in the "My puzzles" section. + title: Δημοσίευτηκε το παζλ + desc: Συγχαρητήρια! Το παζλ σας έχει δημοσιευτεί και μπορείτε τώρα να το παίξουν + οι υπολοιποι. Τώρα μπορείτε να το βρείτε στην ενότητα "Τα παζλ μου". puzzleCreateOffline: title: Offline Mode desc: Since you are offline, you will not be able to save and/or publish your @@ -244,9 +243,9 @@ dialogs: before attempting the puzzle DLC, otherwise you may encounter mechanics not yet introduced. Do you still want to continue? puzzleShare: - title: Short Key Copied - desc: The short key of the puzzle () has been copied to your clipboard! It - can be entered in the puzzle menu to access the puzzle. + title: Μικρό κλειδι αντιγράφηκε + desc: Το μικρο κλειδή απο το παζλ () αντιγράφηκε στο πρόχειρο! Το + μπορεί να εισαχθεί στο μενού παζλ για πρόσβαση στο παζλ. puzzleReport: title: Report Puzzle options: @@ -443,22 +442,21 @@ ingame: share: Share report: Report puzzleEditorControls: - title: Puzzle Creator + title: Κατασκευαστείς παζλ. instructions: - - 1. Place Constant Producers to provide shapes and - colors to the player - - 2. Build one or more shapes you want the player to build later and - deliver it to one or more Goal Acceptors - - 3. Once a Goal Acceptor receives a shape for a certain amount of - time, it saves it as a goal that the player must - produce later (Indicated by the green badge). - - 4. Click the lock button on a building to disable - it. - - 5. Once you click review, your puzzle will be validated and you - can publish it. - - 6. Upon release, all buildings will be removed - except for the Producers and Goal Acceptors - That's the part that - the player is supposed to figure out for themselves, after all :) + - 1. Τοποθετήστε τους σταθερούς παραγωγούς για να δώσετε σχήματα και + χρώματα στον + - 2. Δημιουργήστε ένα ή περισσότερα σχήματα που θέλετε να δημιουργήσει ο παίκτης αργότερα και + παραδώστε το σε έναν ή περισσότερους Αποδέκτες στόχων + - 3. Μόλις ένας Αποδέκτης Στόχου λάβει ένα σχήμα για ένα ορισμένο ποσό + χρόνο, το αποθηκεύει ως στόχο που πρέπει να κάνει ο παίκτης + παράγει αργότερα (Υποδεικνύεται από το πράσινο σήμα ). + - 4. Κάντε κλικ στο κουμπί κλειδώματος σε ένα κτίριο για να το απενεργοποίησετε. + - 5. Μόλις κάνετε κλικ στην κριτική, το παζλ σας θα επικυρωθεί και εσείς + μπορεί να το δημοσιεύσει. + - 6. Μετά την κυκλοφόρηση του παζλ, όλα τα κτίρια θα αφαιρεθούν + εκτός από τους παραγωγούς και τους αποδέκτες στόχων - Αυτό είναι το μέρος που + ο παίκτης υποτίθεται ότι θα καταλάβει μόνοι του :) puzzleCompletion: title: Puzzle Completed! titleLike: "Click the heart if you liked the puzzle:" From f6829f29bc99b37d07247978c28cd5ff7a4f93c2 Mon Sep 17 00:00:00 2001 From: RevosCZ <72229413+RevosCZ@users.noreply.github.com> Date: Sat, 19 Jun 2021 13:22:32 +0200 Subject: [PATCH 08/24] Update base-cz.yaml (#1189) * Update base-cz.yaml * Update base-cz.yaml * Update base-cz.yaml * Update base-cz.yaml * Update base-cz.yaml * Update base-cz.yaml * Update base-cz.yaml * Update base-cz.yaml * Update base-cz.yaml --- translations/base-cz.yaml | 228 +++++++++++++++++++------------------- 1 file changed, 114 insertions(+), 114 deletions(-) diff --git a/translations/base-cz.yaml b/translations/base-cz.yaml index 6ccdc9d7..22ea1c44 100644 --- a/translations/base-cz.yaml +++ b/translations/base-cz.yaml @@ -217,37 +217,37 @@ dialogs: title: Chyba odeslání desc: "Odeslání puzzlu selhalo:" puzzleSubmitOk: - title: Puzzle zveřejněno - desc: Gratuluji! Vaše puzzle bylo zvěřejněno a je dostupné pro - ostatní hráče. Můžete ho najít v sekci "Má puzzle". + title: Puzzle publikováno + desc: Gratuluji! Vaše puzzle bylo publikováno a je dostupné pro + ostatní hráče. Můžete ho najít v sekci "Moje puzzly". puzzleCreateOffline: title: Offline mód - desc: Since you are offline, you will not be able to save and/or publish your - puzzle. Would you still like to continue? + desc: Jelikož jste offline, nebudete moci ukládat a/nebo publikovat vaše + puzzle. Chcete přesto pokračovat? puzzlePlayRegularRecommendation: - title: Recommendation - desc: I strongly recommend playing the normal game to level 12 - before attempting the puzzle DLC, otherwise you may encounter - mechanics not yet introduced. Do you still want to continue? + title: Doporučení + desc: Důrazně doporučujeme průchod základní hrou nejméně do úrovně 12 + před vstupem do puzzle DLC, jinak můžete narazit na + mechaniku hry, se kterou jste se ještě nesetkali. Chcete přesto pokračovat? puzzleShare: - title: Short Key Copied - desc: The short key of the puzzle () has been copied to your clipboard! It - can be entered in the puzzle menu to access the puzzle. + title: Krátký klíč zkopírován + desc: Krátký klíč tohoto puzzlu () byl zkopírován do vaší schránky! Může + být vložen v puzzle menu pro přístup k danému puzzlu. puzzleReport: - title: Report Puzzle + title: Nahlásit puzzle options: - profane: Profane - unsolvable: Not solvable + profane: Rouhavý + unsolvable: Nelze vyřešit trolling: Trolling puzzleReportComplete: - title: Thank you for your feedback! - desc: The puzzle has been flagged. + title: Děkujeme za vaši zpětnou vazbu! + desc: Toto puzzle bylo označeno. puzzleReportError: - title: Failed to report - desc: "Your report could not get processed:" + title: Nahlášení selhalo + desc: "Vaše nahlášení nemohlo být zpracováno:" puzzleLoadShortKey: - title: Enter short key - desc: Enter the short key of the puzzle to load it. + title: Vložte krátký klíč + desc: Vložte krátký klíč pro načtení příslušného puzzlu. ingame: keybindingsOverlay: moveMap: Posun mapy @@ -423,40 +423,40 @@ ingame: zoneTitle: Zóna zoneWidth: Šířka zoneHeight: Výška - trimZone: Trim - clearItems: Clear Items - share: Share - report: Report + trimZone: Upravit zónu + clearItems: Vymazat tvary + share: Sdílet + report: Nahlásit puzzleEditorControls: - title: Puzzle Creator + title: Puzzle editor instructions: - - 1. Place Constant Producers to provide shapes and - colors to the player - - 2. Build one or more shapes you want the player to build later and - deliver it to one or more Goal Acceptors - - 3. Once a Goal Acceptor receives a shape for a certain amount of - time, it saves it as a goal that the player must - produce later (Indicated by the green badge). - - 4. Click the lock button on a building to disable - it. - - 5. Once you click review, your puzzle will be validated and you - can publish it. - - 6. Upon release, all buildings will be removed - except for the Producers and Goal Acceptors - That's the part that - the player is supposed to figure out for themselves, after all :) + - 1. Umístěte výrobníky, které poskytnou hráči + tvary a barvy. + - 2. Sestavte jeden či více tvarů, které chcete, aby hráč vytvořil a + doručte to do jednoho či více příjemců cílů. + - 3. Jakmile příjemce cílů dostane určitý tvar za určitý časový + úsek, uloží se jako cíl, který hráč musí + pozdeji vyprodukovat (Označeno zeleným odznakem). + - 4. Kliknutím na tlačítko zámku na určité budově dojde k její + deaktivaci. + - 5. Jakmile kliknete na ověření, vaše puzzle bude ověřeno a můžete + ho publikovat. + - 6. Během publikace budou kromě výrobníků a příjemců cílů + všechny budovy odstraněny - To je ta část, + na kterou má koneckonců každý hráč přijít sám. :) puzzleCompletion: - title: Puzzle Completed! - titleLike: "Click the heart if you liked the puzzle:" - titleRating: How difficult did you find the puzzle? - titleRatingDesc: Your rating will help me to make you better suggestions in the future - continueBtn: Keep Playing + title: Puzzle dokončeno! + titleLike: "Klikněte na srdíčko, pokud se vám puzzle líbilo:" + titleRating: Jak obtížný ti tento puzzle přišel? + titleRatingDesc: Vaše hodnocení nám pomůže podat vám v budoucnu lepší návrhy + continueBtn: Hrát dál menuBtn: Menu puzzleMetadata: - author: Author - shortKey: Short Key - rating: Difficulty score - averageDuration: Avg. Duration - completionRate: Completion rate + author: Autor + shortKey: Krátký klíč + rating: Úrověn obtížnosti + averageDuration: Prům. doba trvání + completionRate: Míra dokončení shopUpgrades: belt: name: Pásy, distribuce a tunely @@ -657,16 +657,16 @@ buildings: kabelů na běžnou vrstvu. constant_producer: default: - name: Constant Producer - description: Constantly outputs a specified shape or color. + name: Výrobník + description: Neustále vydává zadaný tvar či barvu. goal_acceptor: default: - name: Goal Acceptor - description: Deliver shapes to the goal acceptor to set them as a goal. + name: Příjemce cílů + description: Doručte tvary příjemci cílů, abyste je nastavili jako cíl. block: default: - name: Block - description: Allows you to block a tile. + name: Blok + description: Umožňuje zablokovat políčko. storyRewards: reward_cutter_and_trash: title: Řezání tvarů @@ -1062,14 +1062,14 @@ keybindings: comparator: Porovnávač item_producer: Výrobník předmětů (Sandbox) copyWireValue: "Kabely: Zkopírovat hodnotu pod kurzorem" - rotateToUp: "Rotate: Point Up" - rotateToDown: "Rotate: Point Down" - rotateToRight: "Rotate: Point Right" - rotateToLeft: "Rotate: Point Left" - constant_producer: Constant Producer - goal_acceptor: Goal Acceptor - block: Block - massSelectClear: Clear belts + rotateToUp: "Otočit: Nahoru" + rotateToDown: "Otočit: Dolů" + rotateToRight: "Otočit: Doprava" + rotateToLeft: "Otočit: Doleva" + constant_producer: Výrobník + goal_acceptor: Přijemce cílů + block: Blok + massSelectClear: Vymazat pásy about: title: O hře body: >- @@ -1165,56 +1165,56 @@ tips: - Stisknutím F4 dvakrát zobrazíte souřadnici myši a kamery. - Můžete kliknout na připínáček vlevo vedle připnutého tvaru k jeho odepnutí. puzzleMenu: - play: Play - edit: Edit - title: Puzzle Mode - createPuzzle: Create Puzzle - loadPuzzle: Load - reviewPuzzle: Review & Publish - validatingPuzzle: Validating Puzzle - submittingPuzzle: Submitting Puzzle - noPuzzles: There are currently no puzzles in this section. + play: Hrát + edit: Upravit + title: Puzzle mód + createPuzzle: Vytvořit puzzle + loadPuzzle: Načíst + reviewPuzzle: Ověření a publikace + validatingPuzzle: Ověřování puzzlu + submittingPuzzle: Odesílání puzzlu + noPuzzles: V této sekci momentálně nejsou žádné puzzly. categories: - levels: Levels - new: New - top-rated: Top Rated - mine: My Puzzles - short: Short - easy: Easy - hard: Hard - completed: Completed + levels: Úrovně + new: Nové + top-rated: Nejlépe hodnocené + mine: Moje puzzly + short: Krátké + easy: Lehké + hard: Těžké + completed: Dokončeno validation: - title: Invalid Puzzle - noProducers: Please place a Constant Producer! - noGoalAcceptors: Please place a Goal Acceptor! - goalAcceptorNoItem: One or more Goal Acceptors have not yet assigned an item. - Deliver a shape to them to set a goal. - goalAcceptorRateNotMet: One or more Goal Acceptors are not getting enough items. - Make sure that the indicators are green for all acceptors. - buildingOutOfBounds: One or more buildings are outside of the buildable area. - Either increase the area or remove them. - autoComplete: Your puzzle autocompletes itself! Please make sure your constant - producers are not directly delivering to your goal acceptors. + title: Neplatný puzzle + noProducers: Prosím umístěte výrobník! + noGoalAcceptors: Prosím umístěte příjemce cílů! + goalAcceptorNoItem: Jeden nebo více příjemců cílů ještě nemají nastavený tvar. + Doručte jim tvar, abyste jej nastavili jako cíl. + goalAcceptorRateNotMet: Jeden nebo více příjemců cílů nedostávají dostatečný počet tvarů. + Ujistěte se, že indikátory jsou zelené pro všechny příjemce. + buildingOutOfBounds: Jedna nebo více budov je mimo zastavitelnou oblast. + Buď zvětšete plochu, nebo je odstraňte. + autoComplete: Váš puzzle automaticky dokončuje sám sebe! Ujistěte se, že vyrobníky + nedodávají své tvary přímo do přijemců cílů. backendErrors: - ratelimit: You are performing your actions too frequent. Please wait a bit. - invalid-api-key: Failed to communicate with the backend, please try to - update/restart the game (Invalid Api Key). - unauthorized: Failed to communicate with the backend, please try to - update/restart the game (Unauthorized). - bad-token: Failed to communicate with the backend, please try to update/restart - the game (Bad Token). - bad-id: Invalid puzzle identifier. - not-found: The given puzzle could not be found. - bad-category: The given category could not be found. - bad-short-key: The given short key is invalid. - profane-title: Your puzzle title contains profane words. - bad-title-too-many-spaces: Your puzzle title is too short. - bad-shape-key-in-emitter: A constant producer has an invalid item. - bad-shape-key-in-goal: A goal acceptor has an invalid item. - no-emitters: Your puzzle does not contain any constant producers. - no-goals: Your puzzle does not contain any goal acceptors. - short-key-already-taken: This short key is already taken, please use another one. - can-not-report-your-own-puzzle: You can not report your own puzzle. - bad-payload: The request contains invalid data. - bad-building-placement: Your puzzle contains invalid placed buildings. - timeout: The request timed out. + ratelimit: Provádíte své akce příliš často. Počkejte prosím. + invalid-api-key: Komunikace s back-endem se nezdařila, prosím zkuste + aktualizovat/restartovat hru (Neplatný API klíč). + unauthorized: Komunikace s back-endem se nezdařila, prosím zkuste + aktualizovat/restartovat hru (Bez autorizace). + bad-token: Komunikace s back-endem se nezdařila, prosím zkuste + aktualizovat/restartovat hru (Špatný token). + bad-id: Neplatný identifikátor puzzlu. + not-found: Daný puzzle nebyl nalezen. + bad-category: Daná kategorie nebyla nalezena. + bad-short-key: Krátký klíč je neplatný. + profane-title: Název vašeho puzzlu obsahuje rouhavá slova. + bad-title-too-many-spaces: Název vašeho puzzlu je příliš krátký. + bad-shape-key-in-emitter: Výrobník má nastaven neplatný tvar. + bad-shape-key-in-goal: Příjemce cílů má nastaven neplatný tvar. + no-emitters: Váš puzzle neobsahuje žádné výrobníky. + no-goals: Váš puzzle neobsahuje žádné příjemce cílů. + short-key-already-taken: Tento krátký klíč je již používán, zadejte prosím jiný. + can-not-report-your-own-puzzle: Nemůžete nahlásit vlastní puzzle. + bad-payload: Žádost obsahuje neplatná data. + bad-building-placement: Váš puzzle obsahuje neplatně umístěné budovy. + timeout: Žádost vypršela. From c054ad6bd2722f789f8603d1f4a0f9710a5bb794 Mon Sep 17 00:00:00 2001 From: dobidon <35607008+dobidon@users.noreply.github.com> Date: Sat, 19 Jun 2021 14:26:59 +0300 Subject: [PATCH 09/24] Base-tr.yaml Puzzles Translations (#1195) * Base-tr.yaml Puzzles Translations - Translated Puzzles DLC Additions Discussion: - Unsure about Line 429 Trim Zone. * Update base-tr.yaml --- translations/base-tr.yaml | 294 +++++++++++++++++++------------------- 1 file changed, 147 insertions(+), 147 deletions(-) diff --git a/translations/base-tr.yaml b/translations/base-tr.yaml index 3395b8b4..ad671eae 100644 --- a/translations/base-tr.yaml +++ b/translations/base-tr.yaml @@ -51,7 +51,7 @@ global: escape: ESC shift: SHIFT space: SPACE - loggingIn: Logging in + loggingIn: Giriş yapılıyor demoBanners: title: Deneme Sürümü intro: Bütün özellikleri açmak için tam sürümü satın alın! @@ -71,11 +71,11 @@ mainMenu: madeBy: tarafından yapıldı subreddit: Reddit savegameUnnamed: İsimsiz - puzzleMode: Puzzle Mode - back: Back - puzzleDlcText: Do you enjoy compacting and optimizing factories? Get the Puzzle - DLC now on Steam for even more fun! - puzzleDlcWishlist: Wishlist now! + puzzleMode: Yapboz Modu + back: Geri + puzzleDlcText: Fabrikaları küçültmeyi ve verimli hale getirmekten keyif mi + alıyorsun? Şimdi Yapboz Paketini (DLC) Steam'de alarak keyfine keyif katabilirsin! + puzzleDlcWishlist: İstek listene ekle! dialogs: buttons: ok: OK @@ -89,8 +89,8 @@ dialogs: viewUpdate: Güncellemeleri Görüntüle showUpgrades: Geliştirmeleri Göster showKeybindings: Tuş Kısayollarını Göster - retry: Retry - continue: Continue + retry: Yeniden Dene + continue: Devam Et playOffline: Play Offline importSavegameError: title: Kayıt yükleme hatası @@ -191,66 +191,66 @@ dialogs: desc: Bu seviye için eğitim videosu mevcut, ama İngilizce dilinde. İzlemek ister misin? editConstantProducer: - title: Set Item + title: Eşya Seç puzzleLoadFailed: - title: Puzzles failed to load - desc: "Unfortunately the puzzles could not be loaded:" + title: Yapbozlar yüklenirken hata oluştu + desc: "Malesef yapbozlar yüklenemedi:" submitPuzzle: - title: Submit Puzzle - descName: "Give your puzzle a name:" - descIcon: "Please enter a unique short key, which will be shown as the icon of - your puzzle (You can generate them here, or choose one - of the randomly suggested shapes below):" - placeholderName: Puzzle Title + title: Yapboz Yayınla + descName: "Yapbozuna bir isim ver:" + descIcon: "Lütfen yapbozunun ikonu olacak eşsiz kısa bir anahtar gir. + (Anahtarı buradan oluşturabilirsin, yada aşagıdaki + şekillerden rastgele birini seçebilirsin):" + placeholderName: Yapboz İsmi puzzleResizeBadBuildings: - title: Resize not possible - desc: You can't make the zone any smaller, because then some buildings would be - outside the zone. + title: Yeniden boyutlandırma mümkün değil + desc: Alanı daha fazla küçültemezsin, çünkü bazı yapılar alanın + dışında kalabilir. puzzleLoadError: - title: Bad Puzzle - desc: "The puzzle failed to load:" + title: Kötü Yapboz + desc: "Yapboz yüklenirken hata oluştu:" offlineMode: - title: Offline Mode - desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + title: Çevrimdışı Modu + desc: Sunuculara ulaşamadık, bu yüzden oyun çevrimdışı modda çalışmak zorunda. + Lütfen aktif bir internet bağlantısı olduğundan emin olunuz. puzzleDownloadError: - title: Download Error - desc: "Failed to download the puzzle:" + title: İndirme Hatası + desc: "Yapboz indirilemedi:" puzzleSubmitError: - title: Submission Error - desc: "Failed to submit your puzzle:" + title: Yayınlama Hatası + desc: "Yapboz yayınlanamadı:" puzzleSubmitOk: - title: Puzzle Published - desc: Congratulations! Your puzzle has been published and can now be played by - others. You can now find it in the "My puzzles" section. + title: Yapboz Yayınlandı + desc: Tebrikler! Yapbozun yayınlandı ve artık başkaları tarafından oynanabilecek. + Şimdi yapbozunu "Yapbozlarım" kısmında bulabilirsin. puzzleCreateOffline: - title: Offline Mode - desc: Since you are offline, you will not be able to save and/or publish your - puzzle. Would you still like to continue? + title: Çevrimdışı Modu + desc: Çevrimdışı olduğundan yapbozunu kayıt edemeyecek veya yayınlayamayacaksın. + Devam etmek istediğinize emin misiniz? puzzlePlayRegularRecommendation: - title: Recommendation - desc: I strongly recommend playing the normal game to level 12 - before attempting the puzzle DLC, otherwise you may encounter - mechanics not yet introduced. Do you still want to continue? + title: Öneri + desc: Ben muhakkak yapboz moduna başlamadan önce normal oyunu + seviye 12'ye kadar oynamayı tavsiye ediyorum, aksi takdirde henüz sunulmamış + mekaniklerle (yapılar ve oynanış şekilleri) karşılaşabilirsiniz. puzzleShare: - title: Short Key Copied - desc: The short key of the puzzle () has been copied to your clipboard! It - can be entered in the puzzle menu to access the puzzle. + title: Kısa Anahtar Kopyalandı + desc: Yapbozun kısa anahtarı () kopyala/yapıştır hafızasına kopyalandı! + Bu anahtar yapboz menüsünde, yapboza erişmek için kullanılabilir. puzzleReport: - title: Report Puzzle + title: Yapbozu Şikayet Et options: - profane: Profane - unsolvable: Not solvable - trolling: Trolling + profane: Ayrımcılık (din, dil, ırk) + unsolvable: Çözülemez Yapboz + trolling: Trolleme puzzleReportComplete: - title: Thank you for your feedback! - desc: The puzzle has been flagged. + title: Geri bildiriminiz için teşekkürler! + desc: Yapboz işaretlendi. puzzleReportError: - title: Failed to report - desc: "Your report could not get processed:" + title: Şikayet edilemedi + desc: "Şikayetiniz iletilemedi:" puzzleLoadShortKey: - title: Enter short key - desc: Enter the short key of the puzzle to load it. + title: Kısa anahtar gir + desc: Yapbozu yüklemek için kısa anahtarı giriniz ingame: keybindingsOverlay: moveMap: Hareket Et @@ -272,7 +272,7 @@ ingame: clearSelection: Seçimi temİzle pipette: Pipet switchLayers: Katman değiştir - clearBelts: Clear belts + clearBelts: Bantları temizle buildingPlacement: cycleBuildingVariants: Yapının farklı türlerine geçmek için tuşuna bas. hotkeyLabel: "Kısayol: " @@ -423,43 +423,43 @@ ingame: title: Başarımlar desc: Bütün başarımları açmaya çalış! puzzleEditorSettings: - zoneTitle: Zone - zoneWidth: Width - zoneHeight: Height - trimZone: Trim - clearItems: Clear Items - share: Share - report: Report + zoneTitle: Alan + zoneWidth: Genişlik + zoneHeight: Yükseklik + trimZone: Alanı Sınırlandır + clearItems: Eşyaları temizle + share: Paylaş + report: Şikayet et puzzleEditorControls: - title: Puzzle Creator + title: Yapboz Oluşturucu instructions: - - 1. Place Constant Producers to provide shapes and - colors to the player - - 2. Build one or more shapes you want the player to build later and - deliver it to one or more Goal Acceptors - - 3. Once a Goal Acceptor receives a shape for a certain amount of - time, it saves it as a goal that the player must - produce later (Indicated by the green badge). - - 4. Click the lock button on a building to disable - it. - - 5. Once you click review, your puzzle will be validated and you - can publish it. - - 6. Upon release, all buildings will be removed - except for the Producers and Goal Acceptors - That's the part that - the player is supposed to figure out for themselves, after all :) + - 1. Oyunculara şekil ve renk sağlamak için Sabit Üreticileri + yerleştir. + - 2. Oyuncuların üretmesi ve bir veya birden fazla Hedef Merkezine + teslim edebilmeleri için bir veya birden fazla şekil oluştur. + - 3. Bir Hedef Merkezine belirli bir zaman içinde şekil teslim edilirse, + Hedef Merkezi bunu oyuncuların tekrardan üreteceği bir + hedef olarak kabul eder (Yeşil rozetle gösterilmiş). + - 4. Bir yapıyı devre dışı bırakmak için üzerindeki kilit butonuna + basınız. + - 5. Gözat butonuna bastığınız zaman, yapbozunuz onaylanacaktır ve sonra onu + yayınlayabileceksiniz. + - 6. Yayınlandığı zaman, Sabit Üreticiler ve Hedef Merkezleri dışındaki + bütün yapılar silinecektir - Bu kısmı oyuncuların + kendisi çözmesi gerekecek sonuçta :) puzzleCompletion: - title: Puzzle Completed! - titleLike: "Click the heart if you liked the puzzle:" - titleRating: How difficult did you find the puzzle? - titleRatingDesc: Your rating will help me to make you better suggestions in the future - continueBtn: Keep Playing - menuBtn: Menu + title: Yapboz Tamamlandı! + titleLike: "Yapbozu beğendiyseniz kalbe tıklayınız:" + titleRating: Yapbozu ne kadar zor buldunuz? + titleRatingDesc: Değerlendirmeniz size daha iyi öneriler sunmamda yardımcı olacaktır + continueBtn: Oynamaya Devam Et + menuBtn: Menü puzzleMetadata: - author: Author - shortKey: Short Key - rating: Difficulty score - averageDuration: Avg. Duration - completionRate: Completion rate + author: Yapımcı + shortKey: Kısa Anahtar + rating: Zorluk + averageDuration: Ortamala Süre + completionRate: Tamamlama Süresi shopUpgrades: belt: name: Taşıma Bandı, Dağıtıcılar & Tüneller @@ -670,16 +670,16 @@ buildings: katmanda çıktı olarak verir. constant_producer: default: - name: Constant Producer - description: Constantly outputs a specified shape or color. + name: Sabit Üretici + description: Sabit olarak belirli bir şekli veya rengi üretir. goal_acceptor: default: - name: Goal Acceptor - description: Deliver shapes to the goal acceptor to set them as a goal. + name: Hedef Merkezi + description: Şekilleri hedef olarak tanımlamak için hedef merkezine teslim et. block: default: - name: Block - description: Allows you to block a tile. + name: Engel + description: Bir karoyu kullanıma kapatmayı sağlar. storyRewards: reward_cutter_and_trash: title: Şekilleri Kesmek @@ -847,7 +847,7 @@ settings: categories: general: Genel userInterface: Kullanıcı Arayüzü - advanced: Gelişmİş + advanced: Gelİşmİş performance: Performans versionBadges: dev: Geliştirme @@ -1087,10 +1087,10 @@ keybindings: rotateToDown: Aşağı Döndür rotateToRight: Sağa Döndür rotateToLeft: Sola Döndür - constant_producer: Constant Producer - goal_acceptor: Goal Acceptor - block: Block - massSelectClear: Clear belts + constant_producer: Sabit Üretici + goal_acceptor: Hedef Merkezi + block: Engel + massSelectClear: Bantları temizle about: title: Oyun Hakkında body: >- @@ -1190,56 +1190,56 @@ tips: - Sol tarafta sabitlenmiş bir şekle tıklayarak sabitlemesini kaldırabilirsiniz. puzzleMenu: - play: Play - edit: Edit - title: Puzzle Mode - createPuzzle: Create Puzzle - loadPuzzle: Load - reviewPuzzle: Review & Publish - validatingPuzzle: Validating Puzzle - submittingPuzzle: Submitting Puzzle - noPuzzles: There are currently no puzzles in this section. + play: Oyna + edit: Düzenle + title: Yapboz Modu + createPuzzle: Yapboz Oluştur + loadPuzzle: Yükle + reviewPuzzle: Gözat & Yayınla + validatingPuzzle: Yapboz onaylanıyor + submittingPuzzle: Yapboz yayınlanıyor + noPuzzles: Bu kısımda yapboz yok. categories: - levels: Levels - new: New - top-rated: Top Rated - mine: My Puzzles - short: Short - easy: Easy - hard: Hard - completed: Completed + levels: Seviyeler + new: Yeni + top-rated: En İyi Değerlendirilen + mine: Yapbozlarım + short: Kısa + easy: Kolay + hard: Zor + completed: Tamamlanan validation: - title: Invalid Puzzle - noProducers: Please place a Constant Producer! - noGoalAcceptors: Please place a Goal Acceptor! - goalAcceptorNoItem: One or more Goal Acceptors have not yet assigned an item. - Deliver a shape to them to set a goal. - goalAcceptorRateNotMet: One or more Goal Acceptors are not getting enough items. - Make sure that the indicators are green for all acceptors. - buildingOutOfBounds: One or more buildings are outside of the buildable area. - Either increase the area or remove them. - autoComplete: Your puzzle autocompletes itself! Please make sure your constant - producers are not directly delivering to your goal acceptors. + title: Geçersiz Yapboz + noProducers: Lütfen bir Sabit Üretici yerleştiriniz! + noGoalAcceptors: Lütfen bir Hedef Merkezi yerleştiriniz! + goalAcceptorNoItem: Bir veya birden fazla Hedef Merkezine şekil gönderilmedi. + Hedef belirlemek için onlara şekil gönderiniz. + goalAcceptorRateNotMet: Bir veya birden fazla Hedef Merkezi yeterince eşya almıyor. + Hedef Merkezlerindeki bütün göstergelerin yeşil olduğundan emin olunuz. + buildingOutOfBounds: Bir veya birden fazla yapı inşa edilebilir alanın dışında. + Alanı azaltınız veya yapıları siliniz. + autoComplete: Yapbozunuz kendisini çözüyor! Sabit üreticilerin hedef merkezlerine + direkt olarak şekil göndermediğinden emin olunuz. backendErrors: - ratelimit: You are performing your actions too frequent. Please wait a bit. - invalid-api-key: Failed to communicate with the backend, please try to - update/restart the game (Invalid Api Key). - unauthorized: Failed to communicate with the backend, please try to - update/restart the game (Unauthorized). - bad-token: Failed to communicate with the backend, please try to update/restart - the game (Bad Token). - bad-id: Invalid puzzle identifier. - not-found: The given puzzle could not be found. - bad-category: The given category could not be found. - bad-short-key: The given short key is invalid. - profane-title: Your puzzle title contains profane words. - bad-title-too-many-spaces: Your puzzle title is too short. - bad-shape-key-in-emitter: A constant producer has an invalid item. - bad-shape-key-in-goal: A goal acceptor has an invalid item. - no-emitters: Your puzzle does not contain any constant producers. - no-goals: Your puzzle does not contain any goal acceptors. - short-key-already-taken: This short key is already taken, please use another one. - can-not-report-your-own-puzzle: You can not report your own puzzle. - bad-payload: The request contains invalid data. - bad-building-placement: Your puzzle contains invalid placed buildings. - timeout: The request timed out. + ratelimit: Çok sık işlem yapıyorsunuz. Biraz bekleyiniz. + invalid-api-key: Arka tarafla iletişim kurulamadı, lütfen oyunu + güncellemeyi/yeniden başlatmayı deneyiniz (Geçersiz Api Anahtarı). + unauthorized: Arka tarafla iletişim kurulamadı, lütfen oyunu + güncellemeyi/yeniden başlatmayı deneyiniz (Yetkisiz erişim). + bad-token: Arka tarafla iletişim kurulamadı, lütfen oyunu + güncellemeyi/yeniden başlatmayı deneyiniz (Kötü Anahtar). + bad-id: Geçersiz Yapboz tanımlayıcısı (ID). + not-found: İstenilen Yapboz bulunamadı. + bad-category: İstenilen kategori bulunamadı. + bad-short-key: Girilen kısa anahtar geçersiz. + profane-title: Yapboz ismi ayrımcı kelimeler(din,dil,ırk) içeriyor. + bad-title-too-many-spaces: Yapboz ismi çok kısa. + bad-shape-key-in-emitter: Bir sabit üreticide geçersiz bir eşya mevcut. + bad-shape-key-in-goal: Bir hedef merkezinde geçersiz bir eşya mevcut. + no-emitters: Yapbozda hiç sabit üretici yok. + no-goals: Yapbozda hiç hedef merkezi yok. + short-key-already-taken: Bu kısa anahtar kullanılıyor, lütfen başka bir tane kullanınız. + can-not-report-your-own-puzzle: Kendi yapbozunuzu şikayet edemezsiniz. + bad-payload: İstek geçersiz veri içeriyor. + bad-building-placement: Yapbozunuzda uygun yerleştirilmeyen yapılar mevcut. + timeout: İstek zaman aşımına uğradı. From 030356e05302dcdeb2f96b7cbd356663ca25e60e Mon Sep 17 00:00:00 2001 From: DirkieDurky Date: Sat, 19 Jun 2021 13:27:36 +0200 Subject: [PATCH 10/24] Fixed slight mistakes (#1196) Fixed some slight grammar mistakes, inconsistencies and made things sound better --- translations/base-nl.yaml | 292 +++++++++++++++++++------------------- 1 file changed, 144 insertions(+), 148 deletions(-) diff --git a/translations/base-nl.yaml b/translations/base-nl.yaml index 79092c1b..e60ac1d1 100644 --- a/translations/base-nl.yaml +++ b/translations/base-nl.yaml @@ -1,17 +1,17 @@ steamPage: shortText: shapez.io is een spel dat draait om het bouwen van fabrieken voor het produceren en automatiseren van steeds complexere vormen in een oneindig - groot speelveld. + grote wereld. discordLinkShort: Officiële Discord server intro: >- - Shapez.io is een spel waarin je fabrieken moet bouwen voor de + Shapez.io is een spel waarin je fabrieken bouwt voor de automatische productie van geometrische vormen. - Naarmate het spel vordert, worden de vormen complexer, en moet je uitbreiden in het oneindige speelveld. + Naarmate het spel vordert, worden de vormen complexer, en zul je moeten uitbreiden in de oneindige wereld. - En als dat nog niet genoeg is moet je ook nog eens steeds meer produceren om aan de vraag te kunnen voldoen. Het enige dat helpt is uitbreiden! + En als dat nog niet genoeg is produceer je ook nog steeds meer om aan de vraag te kunnen voldoen. Het enige dat helpt is uitbreiden! - Ondanks het feit dat je in het begin alleen vormen maakt, komt er het punt waarop je ze moet kleuren. Deze kleuren moet je vinden en mengen! + Ondanks het feit dat je in het begin alleen vormen maakt, komt er een punt waarop je ze gaat kleuren. Deze kleuren kun je vinden en mengen! Door het spel op Steam te kopen kun je de volledige versie spelen. Je kunt echter ook een demo versie spelen op shapez.io en later beslissen om over te schakelen zonder voortgang te verliezen. what_others_say: What people say about shapez.io @@ -65,7 +65,7 @@ mainMenu: discordLink: Officiële Discord-server (Engelstalig) helpTranslate: Help ons met vertalen! browserWarning: Sorry, maar dit spel draait langzaam in je huidige browser! Koop - de standalone versie of download chrome voor de volledige ervaring. + de standalone versie of download Google Chrome voor de volledige ervaring. savegameLevel: Level savegameLevelUnknown: Level onbekend continue: Ga verder @@ -104,7 +104,7 @@ dialogs: title: Corrupte savegame text: "Het laden van je savegame is mislukt:" confirmSavegameDelete: - title: Bevestig het verwijderen + title: Bevestig verwijderen van savegame text: Ben je zeker dat je het volgende spel wil verwijderen?

'' op niveau

Dit kan niet ongedaan worden gemaakt! @@ -113,7 +113,7 @@ dialogs: text: "Het verwijderen van de savegame is mislukt:" restartRequired: title: Opnieuw opstarten vereist - text: Je moet het spel opnieuw opstarten om de instellingen toe te passen. + text: Start het spel opnieuw op om de instellingen toe te passen. editKeybinding: title: Verander sneltoetsen desc: Druk op de toets of muisknop die je aan deze functie toe wil wijzen, of @@ -162,8 +162,8 @@ dialogs: van lopende banden om te draaien wanneer je ze plaatst.
" createMarker: title: Nieuwe markering - desc: Geef het een nuttige naam, Je kan ook een snel toets van - een vorm gebruiken (die je here kan genereren). + desc: Geef het een nuttige naam, Je kan ook een sleutel van + een vorm gebruiken (die je hier kunt genereren). titleEdit: Bewerk markering markerDemoLimit: desc: Je kunt maar twee markeringen plaatsen in de demo. Koop de standalone voor @@ -184,7 +184,7 @@ dialogs: editSignal: title: Stel het signaal in. descItems: "Kies een ingesteld item:" - descShortKey: ... of voer de hotkey in van een vorm (Die je + descShortKey: ... of voer de sleutel in van een vorm (Die je hier kunt vinden). renameSavegame: title: Hernoem opgeslagen spel @@ -196,7 +196,7 @@ dialogs: tutorialVideoAvailableForeignLanguage: title: Tutorial Beschikbaar desc: Er is een tutorial beschikbaar voor dit level, maar het is alleen - beschikbaar in het Engels. Zou je het toch graag kijken? + beschikbaar in het Engels. Wil je toch een kijkje nemen? editConstantProducer: title: Item instellen puzzleLoadFailed: @@ -217,7 +217,7 @@ dialogs: desc: "De puzzel kon niet geladen worden:" offlineMode: title: Offline Modus - desc: We konden de server niet bereiken, dus het spel moet offline modus draaien. Zorg ervoor dat je een actieve internetverbinding heeft. + desc: We konden de server niet bereiken, het spel draait nu in de offline modus. Zorg ervoor dat je een actieve internetverbinding heeft. puzzleDownloadError: title: Download fout desc: "Downloaden van de puzzel is mislukt:" @@ -230,7 +230,7 @@ dialogs: anderen. Je kunt het nu vinden in het gedeelte "Mijn puzzels". puzzleCreateOffline: title: Offline Modus - desc: Aangezien je offline bent, kan je je puzzels niet opslaan of publiceren. Wil je nog steeds doorgaan? + desc: Aangezien je offline bent, kun je je puzzels niet opslaan of publiceren. Wil je nog steeds doorgaan? puzzlePlayRegularRecommendation: title: Aanbeveling desc: Ik raad sterk aan om het normale spel tot niveau 12 te spelen voordat je de puzzel-DLC probeert, anders kan je mechanica tegenkomen die je nog niet kent. Wil je toch doorgaan? @@ -254,11 +254,11 @@ dialogs: desc: Voer de vorm sleutel van de puzzel in om deze te laden. ingame: keybindingsOverlay: - moveMap: Beweeg speelveld + moveMap: Beweeg rond de wereld selectBuildings: Selecteer gebied stopPlacement: Stop met plaatsen rotateBuilding: Draai gebouw - placeMultiple: Plaats meerdere + placeMultiple: Plaats meerderen reverseOrientation: Omgekeerde oriëntatie disableAutoOrientation: Schakel auto-oriëntatie uit toggleHud: HUD aan-/uitzetten @@ -331,7 +331,7 @@ ingame: waypoints: Markeringen hub: HUB description: Klik met de linkermuisknop op een markering om hier naartoe te - gaan, klik met de rechtermuisknop om de markering te + gaan, klik met de rechtermuisknop om hem te verwijderen.

Druk op om een markering te maken in het huidige zicht, of rechtermuisknop om een markering te maken bij het geselecteerde gebied. @@ -340,39 +340,39 @@ ingame: title: Tutorial hints: 1_1_extractor: Plaats een ontginner op een - cirkelvorm om deze te onttrekken! + cirkelvorm om deze te ontginnen! 1_2_conveyor: "Verbind de ontginner met een lopende band aan je - hub!

Tip: Klik en sleep de lopende band + HUB!

Tip: Klik en sleep de lopende band met je muis!" 1_3_expand: "Dit is GEEN nietsdoen-spel! Bouw meer ontginners en lopende banden om het doel sneller te behalen.

Tip: Houd SHIFT ingedrukt om meerdere ontginners te plaatsen en gebruik R om ze te draaien." - 2_1_place_cutter: "Plaats nu een Knipper om de cirkels in twee - te knippen halves!

PS: De knipper knipt altijd van + 2_1_place_cutter: "Plaats nu een Knipper om de cirkels in twee helften te + knippen

PS: De knipper knipt altijd van boven naar onder ongeacht zijn oriëntatie." 2_2_place_trash: De knipper kan vormen verstoppen en - bijhouden!

Gebruik een vuilbak - om van het (!) niet nodige afval vanaf te geraken. + bijhouden!

Gebruik een vuilnisbak + om van het momenteel (!) niet nodige afval af te geraken. 2_3_more_cutters: "Goed gedaan! Plaats nu 2 extra knippers om - dit traag process te versnellen!

PS: Gebruik de + dit trage process te versnellen!

PS: Gebruik de 0-9 sneltoetsen om gebouwen sneller te selecteren." 3_1_rectangles: "Laten we nu rechthoeken ontginnen! Bouw 4 - ontginners en verbind ze met de lever.

PS: Houd + ontginners en verbind ze met de schakelaar.

PS: Houd SHIFT Ingedrukt terwijl je lopende banden plaats om ze te plannen!" 21_1_place_quad_painter: Plaats de quad painter en krijg een paar cirkels in witte en rode kleur! - 21_2_switch_to_wires: Schakel naar de draden laag door te duwen op + 21_2_switch_to_wires: Schakel naar de draden-laag door te drukken op E!

verbind daarna alle inputs van de verver met kabels! 21_3_place_button: Mooi! Plaats nu een schakelaar en verbind het met draden! 21_4_press_button: "Druk op de schakelaar om het een Juist signaal door - te geven en de verver te activeren.

PS: Je moet - niet alle inputs verbinden! Probeer er eens 2." + te geven en de verver te activeren.

PS: Verbind niet alle + inputs! Probeer er eens 2." colors: red: Rood green: Groen @@ -388,8 +388,8 @@ ingame: empty: Leeg copyKey: Kopieer sleutel connectedMiners: - one_miner: 1 Miner - n_miners: Miners + one_miner: 1 Ontginner + n_miners: Ontginners limited_items: "Gelimiteerd tot: " watermark: title: Demo versie @@ -407,13 +407,13 @@ ingame: desc: Automatiseer je fabrieken nog beter en maak ze nog sneller! upgrades: title: ∞ Upgrade Levels - desc: Deze demo heeft er enkel 5! + desc: Deze demo heeft er slechts 5! markers: title: ∞ Markeringen desc: Verdwaal nooit meer in je fabriek! wires: title: Kabels - desc: Een volledig nieuwe wereld! + desc: Een volledig nieuwe laag! darkmode: title: Dark Mode desc: Minder vervelend voor je ogen! @@ -422,7 +422,7 @@ ingame: desc: Ik maak dit spel in mijn vrije tijd! achievements: title: Achievements - desc: Hunt them all! + desc: Krijg ze allemaal! puzzleEditorSettings: zoneTitle: Gebied zoneWidth: Breedte @@ -435,13 +435,11 @@ ingame: title: Puzzel Maker instructions: - 1. Plaats Constante Producenten om vormen en - kleuren aan de speler te bieden - - 2. Bouw een of meer vormen die de speler later en - bezorg het aan een of meer Ontvangers - - 3. Wanneer een Ontvanger een vorm ontvangt voor een bepaalde tijd, het slaat het op als een doel dat de speler later moet produceren (Aangegeven door de groene indicatoren). + kleuren aan de speler te bieden. + - 2. Bouw een of meer vormen waarvan je wil dat de speler ze later maakt en lever het aan een of meerdere Ontvangers. + - 3. Wanneer een Ontvanger voor een bepaalde tijd lang een vorm ontvangt, wordt het opgeslagen als een doel dat de speler later moet produceren (Aangegeven door de groene indicator). - 4. Klik de vergrendelknop om een gebouw uit te schakelen. - - 5. Zodra je op review klikt, wordt je puzzel gevalideerd en jij - kan het publiceren. + - 5. Zodra je op review klikt, wordt je puzzel gevalideerd en kun je het publiceren. - 6. Bij publicatie, worden alle gebouwen verwijderd behalve de Muren, Constante Producenten en Ontvangers - Dat is het deel dat de speler tenslotte voor zichzelf moet uitzoeken :) puzzleCompletion: title: Puzzel Voltooid! @@ -455,13 +453,13 @@ ingame: shortKey: Vorm Sleutel rating: Moeilijkheidsgraad averageDuration: Gem. Speel Tijd - completionRate: Voltooiingspercentage + completionRate: Voltooiïngspercentage shopUpgrades: belt: - name: Banden, Verdeler & Tunnels + name: Lopende banden, Verdeler & Tunnels description: Snelheid x → x miner: - name: Mijner + name: Ontginner description: Snelheid x → x processors: name: Knippen, draaien & stapelen @@ -476,11 +474,11 @@ buildings: description: Transporteert voorwerpen, klik en sleep om meerdere te plaatsen. miner: default: - name: Mijner - description: Plaats op een vorm of kleur om deze te onttrekken. + name: Ontginner + description: Plaats op een vorm of kleur om deze te ontginnen. chainable: name: Ontginner (Ketting) - description: Plaats op een vorm of kleur om deze te onttrekken. Kan achter + description: Plaats op een vorm of kleur om deze te ontginnen. Kunnen achter elkaar worden geplaatst. underground_belt: default: @@ -558,19 +556,19 @@ buildings: balancer: default: name: Balanceerder - description: Multifunctioneel - Verdeel alle invoeren over alle uitvoeren. + description: Multifunctioneel - Verdeelt alle invoeren over alle uitvoeren. merger: name: Samenvoeger (compact) - description: Voeg 2 lopende banden samen. + description: Voegt 2 lopende banden samen. merger-inverse: name: Samenvoeger - description: Voeg 2 lopende banden samen. + description: Voegt 2 lopende banden samen. splitter: name: Splitser (compact) - description: Splits een lopende band in tweeën. + description: Splitst een lopende band in tweeën. splitter-inverse: name: Splitser - description: Splits een lopende band in tweeën. + description: Splitst een lopende band in tweeën. storage: default: name: Opslag @@ -583,7 +581,7 @@ buildings: constant_signal: default: name: Constant Signaal - description: Zend een constant signaal, dit kan een vorm, kleur of boolean (1 / + description: Zendt een constant signaal, dit kan een vorm, kleur of boolean (1 / 0) zijn. lever: default: @@ -592,18 +590,18 @@ buildings: logic_gate: default: name: AND poort - description: Zend een 1 uit als beide invoeren hetzelfde zijn. (Kan een vorm, + description: Zendt een 1 uit als beide invoeren hetzelfde zijn. (Kan een vorm, kleur of boolean (1/0) zijn) not: name: NOT poort - description: Zend een 1 uit als de invoer een 0 is. + description: Zendt een 1 uit als de invoer een 0 is. xor: name: XOR poort - description: Zend een 1 uit als de invoeren niet hetzelfde zijn. (Kan een vorm, + description: Zendt een 1 uit als de invoeren niet hetzelfde zijn. (Kan een vorm, kleur of boolean (1/0) zijn) or: name: OR poort - description: Zend een 1 uit als de invoeren wel of niet hetzelfde zijn, maar + description: Zendt een 1 uit als de invoeren wel of niet hetzelfde zijn, maar niet uit zijn. (Kan een vorm, kleur of boolean (1/0) zijn) transistor: default: @@ -625,22 +623,22 @@ buildings: reader: default: name: Lopende band lezer - description: Meet de gemiddelde doorvoer op de band. Geeft het laatste gelezen + description: Meet de gemiddelde doorvoer op de lopende band. Geeft het laatste gelezen item door aan de kabel. analyzer: default: name: Vorm Analyse - description: Analiseert de onderste laag rechts boven en geeft de kleur en vorm + description: Analiseert de onderste laag rechtsboven en geeft de kleur en vorm door aan de kabel. comparator: default: name: Vergelijker - description: Zend 1 uit als beiden invoeren gelijk zijn, kunnen vormen, kleuren + description: Zendt 1 uit als beiden invoeren gelijk zijn, dat kunnen vormen, kleuren of booleans (1/0) zijn virtual_processor: default: - name: Virtuele Snijder - description: Snijdt de vorm virtueel in twee helften. + name: Virtuele Knipper + description: Knipt de vorm virtueel in twee helften. rotater: name: Virtuele Draaier description: Draait de vorm virtueel met de klok mee en tegen de klok in. @@ -654,12 +652,12 @@ buildings: painter: name: Virtuele Schilder description: Schildert de vorm virtueel vanaf de onderste invoer met de vorm aan - de rechter ingang. + de rechter invoer. item_producer: default: name: Item Producent - description: Alleen beschikbaar in sandbox-modus, geeft het gegeven signaal van - de kabel laag op de reguliere laag. + description: Alleen beschikbaar in sandbox-modus. Geeft het gegeven signaal van + de draden-laag op de normale laag. constant_producer: default: name: Constante Producent @@ -678,8 +676,8 @@ storyRewards: desc: Je hebt juist de knipper ontgrendeld, die vormen in de helft kan knippen van boven naar onder ongeacht zijn rotatie !

Wees zeker dat je het afval weggooit, want anders - zal het vastlopen - Voor deze reden heb ik je de - vuilbak gegeven, die alles vernietigd wat je erin + zal het vastlopen - Daarom heb ik je de + vuilnisbak gegeven, die alles vernietigt wat je erin laat stromen! reward_rotater: title: Roteren @@ -687,14 +685,14 @@ storyRewards: met de klok mee. reward_painter: title: Verven - desc: "De verver is ontgrendeld - Onttrek wat kleur (op - dezelfde manier hoe je vormen onttrekt) en combineer het met een + desc: "De verver is ontgrendeld - Ontgin wat kleur (op + dezelfde manier hoe je vormen ontgint) en combineer het met een vorm in de verver om ze te kleuren!

PS: Als je kleurenblind - bent, is er een kleurenblindmodus in de + bent, is er een kleurenblind-modus in de instellingen!" reward_mixer: title: Kleuren mengen - desc: De menger is ontgrendeld - Gebruik dit gebouw om twee + desc: De menger is ontgrendeld - Gebruik deze om twee kleuren te mengen met behulp van additieve kleurmenging! reward_stacker: @@ -707,7 +705,7 @@ storyRewards: reward_splitter: title: Splitser/samenvoeger desc: Je hebt de splitser ontgrendeld, een variant van de - samenvoeger - Het accepteert 1 input en verdeelt + samenvoeger. - Het accepteert 1 input en verdeelt het in 2! reward_tunnel: title: Tunnel @@ -715,24 +713,24 @@ storyRewards: gebouwen en lopende banden door laten lopen. reward_rotater_ccw: title: Roteren (andersom) - desc: Je hebt een variant van de roteerder ontgrendeld - Het - roteert voorwerpen tegen de klok in! Om het te bouwen selecteer je + desc: Je hebt een variant van de roteerder ontgrendeld - Deze + roteert voorwerpen tegen de klok in! Om hem te plaatsen selecteer je de roteerder en druk je op 'T' om tussen varianten te wisselen! reward_miner_chainable: title: Ketting-ontginner - desc: "Je hebt de Ketting-ontginner ontgrendeld! Het kan - zijn materialen ontginnen via andere ontginners - zodat je meer materialen tegelijkertijd kan ontginnen!

PS: + desc: "Je hebt de Ketting-ontginner ontgrendeld! Je kunt hem + koppelen aan andere ontginners + zodat je meer materialen tegelijkertijd kunt ontginnen!

PS: De oude ontginner is vervangen in je toolbar!" reward_underground_belt_tier_2: title: Tunnel Niveau II desc: Je hebt een nieuwe variant van de tunnel ontgrendeld. - - Het heeft een groter bereik, en je kan nu ook die - tunnels mixen over en onder elkaar! + Het heeft een groter bereik, en je kunt nu ook + tunnels over en onder elkaar mixen! reward_cutter_quad: title: Quad Knippen - desc: Je hebt een variant van de knipper ontgrendeld - Dit + desc: Je hebt een variant van de knipper ontgrendeld - Deze knipt vormen in vier stukken in plaats van twee! reward_painter_double: title: Dubbel verven @@ -743,19 +741,18 @@ storyRewards: title: Opslagbuffer desc: Je hebt een variant van de opslag ontgrendeld - Het laat je toe om vormen op te slagen tot een bepaalde capaciteit!

- Het verkiest de linkse output, dus je kan het altijd gebruiken als + Het verkiest de linkse output, dus je kunt het altijd gebruiken als een overloop poort! reward_freeplay: - title: Vrij spel + title: Free-play modus desc: Je hebt het gedaan! Je hebt de free-play modus - ontgrendeld! Dit betekend dat vormen nu willekeurig - gegenereerd worden!

Omdat de hub vanaf nu een + ontgrendeld! Dit betekent dat vormen nu willekeurig + gegenereerd worden!

Omdat de HUB vanaf nu een bepaald aantal vormen per seconden nodig heeft, Raad ik echt aan een machine te maken die automatisch de juiste - vormen genereert!

De HUB geeft de vorm die je nodig hebt op - de tweede laag met draden, dus alles wat je moet doen is dat - analyseren en je fabriek dat automatisch laten maken op basis van - dat. + vormen genereert!

De HUB geeft de vorm die je nodig hebt door op + de draden-laag, dus je hoeft dat alleen te analyseren en + je fabriek dat automatisch te laten maken op basis daarvan. reward_blueprints: title: Blauwdrukken desc: Je kunt nu delen van je fabriek kopiëren en plakken! @@ -786,13 +783,13 @@ storyRewards: lopende banden 1! reward_belt_reader: title: Lopende band sensor - desc: Je hebt de lopende band lezer vrijgespeeld! Dit gebouw + desc: Je hebt de lopende band sensor vrijgespeeld! Dit gebouw geeft de doorvoer op een lopende band weer.

Wacht maar tot je kabels vrijspeeld, dan wordt het pas echt interessant! reward_rotater_180: title: Draaier (180 graden) - desc: Je hebt de 180 graden draaier vrijgespeeld! - Hiermee kun - je een item op de band 180 graden draaien! + desc: Je hebt de 180 graden draaier vrijgespeeld! - Hiermee kun + je een item op de lopende band 180 graden draaien! reward_display: title: Scherm desc: "Je hebt het scherm ontgrendeld - Verbind een signaal met @@ -801,8 +798,8 @@ storyRewards: Probeer het te tonen op een scherm!" reward_constant_signal: title: Constant Signaal - desc: Je hebt het constante signaal vrijgespeeld op de kabel - dimensie! Dit gebouw is handig in samenwerking met item + desc: Je hebt het constante signaal vrijgespeeld op de draden + laag! Dit gebouw is handig in samenwerking met item filters.

Het constante signaal kan een vorm, kleur of boolean (1/0) zijn. @@ -812,26 +809,26 @@ storyRewards: je hier nog niet zo vrolijk van, maar eigenlijk zijn ze heel erg handig!

Met logische poorten kun je AND, OR en XOR operaties uitvoeren.

Als bonus krijg je ook nog een - transistor van mij! + transistor van me! reward_virtual_processing: title: Virtuele verwerking desc: Ik heb juist een hele hoop nieuwe gebouwen toegevoegd die je toetstaan om het process van vormen te stimuleren!

Je - kan nu de knipper, draaier, stapelaar en meer op de dradenlaag - stimuleren! Met dit heb je nu 3 opties om verder te gaan met het + kunt nu de knipper, draaier, stapelaar en meer op de dradenlaag + stimuleren! Daarmee heb je nu 3 opties om verder te gaan met het spel:

- Bouw een automatische fabriek om - eender welke mogelijke vorm te maken gebraagd door de HUB (Ik raad - aan dit te proberen!).

- Bouw iets cool met draden.

+ elke mogelijke vorm te maken gevraagd door de HUB (Ik raad + aan dit te proberen!).

- Bouw iets cool met de draden-laag.

- Ga verder met normaal spelen.

Wat je ook kiest, onthoud - dat je plezier hoort te hebben! + dat je plezier blijft hebben! reward_wires_painter_and_levers: title: Wires & Quad Painter - desc: "Je hebt juist de draden laag ontgrendeld: Het is een + desc: "Je hebt juist de draden-laag ontgrendeld: Het is een aparte laag boven op de huidige laag en introduceert heel veel - nieuwe manieren om te spelen!

Voor het begin heb ik voor jou + nieuwe manieren om te spelen!

Aan het begin heb ik voor jou de Quad Painter ontgrendeld - Verbind de gleuf - waarin je wilt verven op de draden laag!

Om over te - schakelen naar de draden laag, Duw op E.

+ waarin je wilt verven op de draden-laag!

Om over te + schakelen naar de draden-laag, Druk op E.

PS: Zet hints aan in de instellingen om de draden tutorial te activeren!" reward_filter: @@ -858,7 +855,7 @@ settings: labels: uiScale: title: Interface-schaal - description: Veranderd de grootte van de gebruikersinterface. De interface + description: Verandert de grootte van de gebruikersinterface. De interface schaalt nog steeds gebaseerd op de resolutie van je apparaat, maar deze optie heeft invloed op de hoeveelheid schaling. scales: @@ -869,7 +866,7 @@ settings: huge: Ultragroot scrollWheelSensitivity: title: Zoom-gevoeligheid - description: Veranderd hoe gevoelig het zoomen is (muiswiel of trackpad). + description: Verandert hoe gevoelig het zoomen is (muiswiel of trackpad). sensitivity: super_slow: Super langzaam slow: Langzaam @@ -914,7 +911,7 @@ settings: gebruikt worden om de instap in het spel makkelijker te maken. movementSpeed: title: Bewegingssnelheid - description: Veranderd hoe snel het beeld beweegt wanneer je het toetsenbord + description: Verandert hoe snel het beeld beweegt wanneer je het toetsenbord gebruikt. speeds: super_slow: Super langzaam @@ -934,7 +931,7 @@ settings: zodat de tekst makkelijker te lezen is. autosaveInterval: title: Autosave Interval - description: Bepaalt hoe vaak het spel automatisch opslaat. Je kan het hier ook + description: Bepaalt hoe vaak het spel automatisch opslaat. Je kunt het hier ook volledig mee uitschakelen. intervals: one_minute: 1 Minuut @@ -952,7 +949,7 @@ settings: description: Schakelt de waarschuwing uit die wordt weergegeven wanneer je meer dan 100 dingen probeert te knippen/verwijderen. enableColorBlindHelper: - title: Kleurenblindmodus + title: Kleurenblind-modus description: Schakelt verschillende hulpmiddelen in zodat je het spel alsnog kunt spelen wanneer je kleurenblind bent. rotationByBuilding: @@ -967,8 +964,8 @@ settings: title: Muziekvolume description: Stel het volume voor muziek in. lowQualityMapResources: - title: Lage kwaliteit van resources - description: Versimpeldde resources op de wereld wanneer ingezoomd om de + title: Lage kwaliteit van uiterlijk + description: Versimpelt het uiterlijk op de wereld wanneer ingezoomd om de performance te verbeteren. Het lijkt ook opgeruimder, dus probeer het zelf een keertje uit! disableTileGrid: @@ -995,9 +992,9 @@ settings: met de pipet boven het vakje van een resource staat. simplifiedBelts: title: Versimpelde lopende banden - description: Toont geen items op de band tenzij je over de lopende band beweegt - met je muis. De functie wordt niet aangeraden tenzij het qua - performance echt niet anders kan! + description: Toont geen items op de lopende band tenzij je over de lopende band beweegt + met je muis. De functie wordt niet aangeraden tenzij het wat je + computer betreft echt niet anders kan! enableMousePan: title: Schakel bewegen met muis in description: Schakel deze functie in om met je muis het veld te kunnen bewegen. @@ -1032,7 +1029,7 @@ keybindings: mapMoveRight: Beweeg naar rechts mapMoveDown: Beweeg omlaag mapMoveLeft: Beweeg naar links - centerMap: Ga naar het midden van het speelveld + centerMap: Ga naar het midden van de wereld mapZoomIn: Zoom in mapZoomOut: Zoom uit createMarker: Plaats een markering @@ -1079,16 +1076,16 @@ keybindings: wire_tunnel: Kabel kruising display: Scherm reader: Lopende band lezer - virtual_processor: Virtuele Snijder + virtual_processor: Virtuele Knipper transistor: Transistor analyzer: Vorm Analyse comparator: Vergelijk - item_producer: Item Producent (Sandbox) + item_producer: Voorwerp Producent (Sandbox) copyWireValue: "Kabels: Kopieer waarde onder cursor" - rotateToUp: "Rotate: Point Up" - rotateToDown: "Rotate: Point Down" - rotateToRight: "Rotate: Point Right" - rotateToLeft: "Rotate: Point Left" + rotateToUp: "Rotate: Wijs omhoog" + rotateToDown: "Rotate: Wijs omlaag" + rotateToRight: "Rotate: Wijs naar rechts" + rotateToLeft: "Rotate: Wijs naar links" constant_producer: Constante Producent goal_acceptor: Ontvanger block: Blokkade @@ -1118,78 +1115,77 @@ demo: exportingBase: Exporteer volledige basis als afbeelding settingNotAvailable: Niet beschikbaar in de demo. tips: - - De hub accepteert elke vorm van invoer, niet alleen de huidige vorm! + - De HUB accepteert elke vorm van invoer, niet alleen de huidige vorm! - Zorg ervoor dat uw fabrieken modulair zijn - het loont! - - Bouw niet te dicht bij de hub, anders wordt het een enorme chaos! - - Als het stapelen niet werkt, probeer dan de ingangen om te wisselen. - - U kunt de richting van de lopende band planner wijzigen door op R + - Bouw niet te dicht bij de HUB, anders wordt het een enorme chaos! + - Als het stapelen niet werkt, probeer dan de invoeren om te wisselen. + - Je kunt de richting van de lopende band planner wijzigen door op R te drukken. - - Door CTRL ingedrukt te houden, kunnen lopende banden worden + - Door CTRL ingedrukt te houden, kunnen lopende banden worden gesleept zonder automatische oriëntatie. - - Verhoudingen blijven hetzelfde, zolang alle upgrades zich op hetzelfde + - Verhoudingen van gebouw-snelheden blijven hetzelfde, zolang alle upgrades zich op hetzelfde niveau bevinden. - Opeenvolgende uitvoering is efficiënter dan parallele uitvoering. - Je ontgrendelt later in het spel meer varianten van gebouwen! - - U kunt T gebruiken om tussen verschillende varianten te schakelen. + - Je kunt T gebruiken om tussen verschillende varianten te schakelen. - Symmetrie is de sleutel! - Je kunt verschillende tunnels weven. - Probeer compacte fabrieken te bouwen - het loont! - - De schilder heeft een gespiegelde variant die u kunt selecteren met + - De schilder heeft een gespiegelde variant die je kunt selecteren met T - Met de juiste bouwverhoudingen wordt de efficiëntie gemaximaliseerd. - - Op het maximale niveau vullen 5 ontginners een enkele band. + - Op het maximale niveau vullen 5 ontginners één lopende band. - Vergeet tunnels niet! - - U hoeft de items niet gelijkmatig te verdelen voor volledige efficiëntie. - - Als u SHIFT ingedrukt houdt tijdens het bouwen van lopende banden, + - Je hoeft de items niet gelijkmatig te verdelen voor volledige efficiëntie. + - Als je SHIFT ingedrukt houdt tijdens het bouwen van lopende banden, wordt de planner geactiveerd, zodat je gemakkelijk lange rijen kunt plaatsen. - - Snijders snijden altijd verticaal, ongeacht hun oriëntatie. + - Knippers knippen altijd verticaal, ongeacht hun oriëntatie. - Meng alle drie de kleuren om wit te krijgen. - De opslagbuffer geeft prioriteit aan de eerste uitvoer. - Investeer tijd om herhaalbare ontwerpen te maken - het is het waard! - Door SHIFT ingedrukt te houden, kunnen meerdere gebouwen worden geplaatst. - - U kunt ALT ingedrukt houden om de richting van de geplaatste banden + - Je kunt ALT ingedrukt houden om de richting van de geplaatste lopende banden om te keren. - Efficiëntie is de sleutel! - - Vormontginningen die verder van de hub verwijderd zijn, zijn complexer. + - Vormontginningen die verder van de HUB verwijderd zijn, zijn complexer. - Machines hebben een beperkte snelheid, verdeel ze voor maximale efficiëntie. - Gebruik verdelers om uw efficiëntie te maximaliseren. - - Organisatie is belangrijk. Probeer de transportbanden niet te veel over te + - Organisatie is belangrijk. Probeer de lopende banden niet te veel over te steken. - Plan van tevoren, anders wordt het een enorme chaos! - Verwijder uw oude fabrieken niet! Je hebt ze nodig om upgrades te ontgrendelen. - Probeer in je eentje level 20 te verslaan voordat je hulp zoekt! - - Maak de dingen niet ingewikkeld, probeer eenvoudig te blijven en u zult + - Maak de dingen niet ingewikkeld, probeer eenvoudig te blijven en je zult ver komen. - - Mogelijk moet u later in het spel fabrieken hergebruiken. Plan uw + - Mogelijk zul je later in het spel fabrieken moeten hergebruiken. Plan uw fabrieken zodat ze herbruikbaar zijn. - - Soms kunt u een gewenste vorm op de kaart vinden zonder deze met + - Soms kun je een gewenste vorm op de kaart vinden zonder deze met stapelaars te maken. - - Volle windmolens / vuurwielen kunnen nooit op natuurlijke wijze spawnen. - - Kleur uw vormen voordat u ze snijdt voor maximale efficiëntie. + - Volle windmolens kunnen nooit op natuurlijke wijze spawnen. + - Kleur uw vormen voordat je ze knipt voor maximale efficiëntie. - Bij modules is ruimte slechts een beleving; een zorg voor sterfelijke mannen. - Maak een aparte blueprint fabriek. Ze zijn belangrijk voor modules. - Bekijk de kleurenmixer eens wat beter, en uw vragen worden beantwoord. - Gebruik CTRL + klik om een gebied te selecteren. - - Te dicht bij de hub bouwen kan latere projecten in de weg staan. - - Het speldpictogram naast elke vorm in de upgradelijst zet deze vast op het + - Te dicht bij de HUB bouwen kan latere projecten in de weg staan. + - Met het speldpictogram naast elke vorm in de upgradelijst zet deze vast op het scherm. - Meng alle primaire kleuren door elkaar om wit te maken! - - Je hebt een oneindige kaart, verkramp je fabriek niet, breid uit! + - Je hebt een oneindige wereld, verkramp je fabriek niet, breid uit! - Probeer ook Factorio! Het is mijn favoriete spel. - - De quad-snijder snijdt met de klok mee vanaf de rechterbovenhoek! + - De quad-knipper knipt met de klok mee vanaf de rechterbovenhoek! - Je kunt je savegames downloaden in het hoofdmenu! - - Deze game heeft veel handige sneltoetsen! Bekijk zeker de + - Dit spel heeft veel handige sneltoetsen! Bekijk zeker de instellingenpagina. - - Deze game heeft veel instellingen, bekijk ze zeker! - - De markering naar uw hub heeft een klein kompas om de richting aan te + - Dit spel heeft veel instellingen, bekijk ze zeker! + - De markering naar uw HUB heeft een klein kompas om de richting aan te geven! - - Om de banden leeg te maken, knipt u het gebied af en plakt u het op - dezelfde locatie. + - Om de lopende banden leeg te maken, kun je een gebied kopiëren en plakken op dezelfde locatie. - Druk op F4 om uw FPS en Tick Rate weer te geven. - Druk twee keer op F4 om de tegel van je muis en camera weer te geven. - Je kan aan de linkerkant op een vastgezette vorm klikken om deze los te @@ -1222,7 +1218,7 @@ puzzleMenu: goalAcceptorRateNotMet: Een of meerdere Ontvangers krijgen niet genoeg items. Zorg ervoor dat de indicatoren groen zijn voor alle acceptanten. buildingOutOfBounds: Een of meer gebouwen bevinden zich buiten het bebouwbare gebied. Vergroot het gebied of verwijder ze. - autoComplete: Je puzzel voltooid zichzelf automatisch! Zorg ervoor dat je Constante Producenten niet rechtstreeks aan je Ontvangers leveren. + autoComplete: Je puzzel voltooit zichzelf automatisch! Zorg ervoor dat je Constante Producenten niet rechtstreeks aan je Ontvangers leveren. backendErrors: ratelimit: Je voert je handelingen te vaak uit. Wacht alstublieft even. invalid-api-key: Kan niet communiceren met de servers, probeer alstublieft het spel te updaten/herstarten (ongeldige API-sleutel). From 5629a50842c9de0186addbb3d09635c95eb1d33d Mon Sep 17 00:00:00 2001 From: YJSoft Date: Sat, 19 Jun 2021 20:29:54 +0900 Subject: [PATCH 11/24] kor translation for Puzzle DLC (#1198) I also translated missing translation for wire update --- translations/base-kor.yaml | 310 ++++++++++++++++++------------------- 1 file changed, 152 insertions(+), 158 deletions(-) diff --git a/translations/base-kor.yaml b/translations/base-kor.yaml index 94d7ffda..992e5400 100644 --- a/translations/base-kor.yaml +++ b/translations/base-kor.yaml @@ -8,7 +8,7 @@ steamPage: 심지어 그것만으로는 충분하지 않을 겁니다. 수요는 기하급수적으로 늘어나게 될 것이고, 더욱 복잡한 도형을 더욱 많이 생산하여야 하므로, 유일하게 도움이 되는 것은 끊임없이 확장을 하는 것입니다! 처음에는 단순한 도형만을 만들지만, 나중에는 색소를 추출하고 혼합하여 도형에 색칠을 해야 합니다! Steam에서 게임을 구매하여 정식 버전의 콘텐츠를 사용하실 수 있지만, 먼저 Shapez.io의 체험판 버전을 플레이해보시고 구매를 고려하셔도 됩니다! - what_others_say: What people say about shapez.io + what_others_say: shapez.io에 대한 의견들 nothernlion_comment: This game is great - I'm having a wonderful time playing, and time has flown by. notch_comment: Oh crap. I really should sleep, but I think I just figured out @@ -47,7 +47,7 @@ global: escape: ESC shift: SHIFT space: SPACE - loggingIn: Logging in + loggingIn: 로그인 중 demoBanners: title: 체험판 버전 intro: 정식 버전을 구매해서 모든 콘텐츠를 사용해 보세요! @@ -67,11 +67,11 @@ mainMenu: madeBy: 제작 subreddit: Reddit savegameUnnamed: 이름 없음 - puzzleMode: Puzzle Mode + puzzleMode: 퍼즐 모드 back: Back - puzzleDlcText: Do you enjoy compacting and optimizing factories? Get the Puzzle - DLC now on Steam for even more fun! - puzzleDlcWishlist: Wishlist now! + puzzleDlcText: 공장의 크기를 줄이고 최적화하는데 관심이 많으신가요? 지금 퍼즐 DLC를 + 구입하세요! + puzzleDlcWishlist: 지금 찜 목록에 추가하세요! dialogs: buttons: ok: 확인 @@ -85,9 +85,9 @@ dialogs: viewUpdate: 업데이트 보기 showUpgrades: 업그레이드 보기 showKeybindings: 조작법 보기 - retry: Retry - continue: Continue - playOffline: Play Offline + retry: 재시작 + continue: 계속하기 + playOffline: 오프라인 플레이 importSavegameError: title: 가져오기 오류 text: "세이브 파일을 가져오지 못했습니다:" @@ -173,66 +173,65 @@ dialogs: title: 활성화된 튜토리얼 desc: 현재 레벨에서 사용할 수 있는 튜토리얼 비디오가 있습니다! 허나 영어로만 제공될 것입니다. 보시겠습니까? editConstantProducer: - title: Set Item + title: 아이템 설정 puzzleLoadFailed: - title: Puzzles failed to load + title: 퍼즐 불러오기 실패 desc: "Unfortunately the puzzles could not be loaded:" submitPuzzle: - title: Submit Puzzle - descName: "Give your puzzle a name:" - descIcon: "Please enter a unique short key, which will be shown as the icon of - your puzzle (You can generate them here, or choose one - of the randomly suggested shapes below):" - placeholderName: Puzzle Title + title: 퍼즐 보내기 + descName: "퍼즐에 이름을 지어 주세요:" + descIcon: "퍼즐의 아이콘으로 보여지게 될 짧은 단어를 지정해 주세요. + (이곳에서 생성하시거나, 아래 랜덤한 모양 중 + 하나를 선택하세요):" + placeholderName: 퍼즐 제목 puzzleResizeBadBuildings: - title: Resize not possible - desc: You can't make the zone any smaller, because then some buildings would be - outside the zone. + title: 크기 조절 불가능 + desc: 몇몇 건물이 구역 밖으로 벗어나게 되므로 크기를 조절할 수 없습니다. puzzleLoadError: - title: Bad Puzzle - desc: "The puzzle failed to load:" + title: 잘못된 퍼즐 + desc: "퍼즐을 불러올 수 없었습니다:" offlineMode: - title: Offline Mode - desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + title: 오프라인 모드 + desc: 서버에 접속할 수 없었으므로 오프라인 모드로 게임이 시작되었습니다. + 인터넷 연결 상태를 다시 한번 확인해 주세요. puzzleDownloadError: - title: Download Error - desc: "Failed to download the puzzle:" + title: 다운로드 오류 + desc: "퍼즐을 다운로드할 수 없습니다:" puzzleSubmitError: - title: Submission Error - desc: "Failed to submit your puzzle:" + title: 전송 오류 + desc: "퍼즐을 전송할 수 없습니다:" puzzleSubmitOk: - title: Puzzle Published - desc: Congratulations! Your puzzle has been published and can now be played by - others. You can now find it in the "My puzzles" section. + title: 퍼즐 공개됨 + desc: 축하합니다! 퍼즐이 업로드되었고 이제 다른 사람이 플레이할 수 있습니다. + "내 퍼즐" 섹션에서 찾으실 수 있습니다. puzzleCreateOffline: - title: Offline Mode - desc: Since you are offline, you will not be able to save and/or publish your - puzzle. Would you still like to continue? + title: 오프라인 모드 + desc: 오프라인 모드임으로 퍼즐을 저장하거나 업로드할 수 없습니다. + 그래도 계속하시겠습니까? puzzlePlayRegularRecommendation: - title: Recommendation - desc: I strongly recommend playing the normal game to level 12 - before attempting the puzzle DLC, otherwise you may encounter - mechanics not yet introduced. Do you still want to continue? + title: 권장 사항 + desc: 퍼즐 DLC 플레이시 소개되지 않은 요소를 접하시게 될 수 있으므로, 적어도 + 일반 게임을 12레벨까지 플레이하시는것을 강력히 권장드립니다. + 그래도 계속하시겠습니까? puzzleShare: - title: Short Key Copied - desc: The short key of the puzzle () has been copied to your clipboard! It - can be entered in the puzzle menu to access the puzzle. + title: 짧은 키 복사됨 + desc: 퍼즐의 짧은 키 () 가 클립보드에 복사되었습니다! + 메인 메뉴에서 퍼즐 접근 시 사용할 수 있습니다. puzzleReport: - title: Report Puzzle + title: 퍼즐 신고 options: - profane: Profane - unsolvable: Not solvable - trolling: Trolling + profane: 부적절함 + unsolvable: 풀 수 없음 + trolling: 낚시성 puzzleReportComplete: - title: Thank you for your feedback! - desc: The puzzle has been flagged. + title: 피드백을 보내주셔서 감사드립니다! + desc: 퍼즐이 신고되었습니다. puzzleReportError: - title: Failed to report - desc: "Your report could not get processed:" + title: 신고 실패 + desc: "오류로 신고가 처리되지 못했습니다:" puzzleLoadShortKey: - title: Enter short key - desc: Enter the short key of the puzzle to load it. + title: 짧은 키 입력 + desc: 불러올 퍼즐의 짧은 키를 입력해 주세요. ingame: keybindingsOverlay: moveMap: 이동 @@ -324,9 +323,9 @@ ingame: 1_3_expand: "이 게임은 방치형 게임이 아닙니다! 더 많은 추출기와 벨트를 만들어 지정된 목표를 빨리 달성하세요.

팁: SHIFT 키를 누른 상태에서는 빠르게 배치할 수 있고, R 키를 눌러 회전할 수 있습니다." - 2_1_place_cutter: "Now place a Cutter to cut the circles in two - halves!

PS: The cutter always cuts from top to - bottom regardless of its orientation." + 2_1_place_cutter: "절단기를 배치해서 원을 절반으로 나눠 보세요! +

추신: 절단기는 방향에 상관없이 모양을 위에서부터 + 아래로 자릅니다." 2_2_place_trash: 절단기가 막히거나 멈출 수 있습니다!

휴지통을 사용하여 현재 필요없는 쓰레기 도형 (!)을 제거하세요. 2_3_more_cutters: "잘하셨습니다! 느린 처리 속도를 보완하기 위해 절단기를 두 개 이상 @@ -340,9 +339,8 @@ ingame: 21_2_switch_to_wires: E 키를 눌러 전선 레이어 로 전환하세요!

그 후 색칠기의 네 입력 부분을 모두 케이블로 연결하세요! 21_3_place_button: 훌륭해요! 이제 스위치를 배치하고 전선으로 연결하세요! - 21_4_press_button: "Press the switch to make it emit a truthy - signal and thus activate the painter.

PS: You - don't have to connect all inputs! Try wiring only two." + 21_4_press_button: "스위치를 눌러서 색칠기에 참 신호를 보내 활성화해보세요.

추신: + 모든 입력을 연결할 필요는 없습니다! 두개만 연결해 보세요." colors: red: 빨간색 green: 초록색 @@ -391,46 +389,43 @@ ingame: title: 저를 지원해주세요 desc: 저는 여가 시간에 게임을 개발합니다! achievements: - title: Achievements - desc: Hunt them all! + title: 도전 과제 + desc: 모두 잡아 보세요! puzzleEditorSettings: - zoneTitle: Zone - zoneWidth: Width - zoneHeight: Height - trimZone: Trim - clearItems: Clear Items - share: Share - report: Report + zoneTitle: 구역 + zoneWidth: 너비 + zoneHeight: 높이 + trimZone: 자르기 + clearItems: 아이템 초기화 + share: 공유 + report: 신고 puzzleEditorControls: - title: Puzzle Creator + title: 퍼즐 생성기 instructions: - - 1. Place Constant Producers to provide shapes and - colors to the player - - 2. Build one or more shapes you want the player to build later and - deliver it to one or more Goal Acceptors - - 3. Once a Goal Acceptor receives a shape for a certain amount of - time, it saves it as a goal that the player must - produce later (Indicated by the green badge). - - 4. Click the lock button on a building to disable - it. - - 5. Once you click review, your puzzle will be validated and you - can publish it. - - 6. Upon release, all buildings will be removed - except for the Producers and Goal Acceptors - That's the part that - the player is supposed to figure out for themselves, after all :) + - 1. 일정 생성기를 배치해 플레이어가 사용할 색깔과 모양 + 을 생성하세요 + - 2. 플레이어가 나중에 만들 모양을 하나 이상 만들어 목표 수집기 + 로 배달하도록 만드세요 + - 3. 목표 수집기가 모양을 일정 양 이상 수집하면 그것은 플레이어가 반드시 + 생산해야 할 목표 모양으로 저장합니다 (초록색 뱃지 + 로 표시됨) + - 4. 건물의 잠금 버튼을 눌러서 비활성화하세요 + - 5. 리뷰 버튼을 누르면 퍼즐이 검증되고 업로드할수 있게 됩니다. + - 6. 공개시, 생성기와 목표 수집기를 제외한 모든 건물이 + 제거됩니다 - 그 부분이 바로 플레이어가 스스로 알아내야 하는 것들이죠 :) puzzleCompletion: - title: Puzzle Completed! - titleLike: "Click the heart if you liked the puzzle:" - titleRating: How difficult did you find the puzzle? - titleRatingDesc: Your rating will help me to make you better suggestions in the future - continueBtn: Keep Playing - menuBtn: Menu + title: 퍼즐 완료됨! + titleLike: "퍼즐이 좋았다면 하트를 눌러주세요:" + titleRating: 퍼즐의 난이도는 어땠나요? + titleRatingDesc: 당신의 평가는 제가 미래에 더 나은 평가를 만들수 있도록 도울 수 있습니다. + continueBtn: 계속 플레이하기 + menuBtn: 메뉴 puzzleMetadata: - author: Author - shortKey: Short Key - rating: Difficulty score - averageDuration: Avg. Duration - completionRate: Completion rate + author: 제작자 + shortKey: 짧은 키 + rating: 난이도 + averageDuration: 평균 플레이 시간 + completionRate: 완료율 shopUpgrades: belt: name: 벨트, 밸런서, 터널 @@ -548,7 +543,7 @@ buildings: constant_signal: default: name: 일정 신호기 - description: 모양, 색상, 또는 불 값 (1 또는 0) 상수 신호를 방출합니다. + description: 모양, 색상, 또는 불 값 (1 또는 0)이 될 수 있는 일정한 신호를 방출합니다. lever: default: name: 스위치 @@ -617,16 +612,16 @@ buildings: description: 샌드박스 모드에서만 사용할 수 있는 아이템으로, 일반 레이어 위에 있는 전선 레이어에서 주어진 신호를 출력합니다. constant_producer: default: - name: Constant Producer - description: Constantly outputs a specified shape or color. + name: 일정 생성기 + description: 지정한 모양이나 색깔을 일정하게 생성합니다. goal_acceptor: default: - name: Goal Acceptor - description: Deliver shapes to the goal acceptor to set them as a goal. + name: 목표 수집기 + description: 목표 수집기로 모양을 보내 목표로 설정하세요. block: default: - name: Block - description: Allows you to block a tile. + name: 차단기 + description: 타일을 사용하지 못하게 차단합니다. storyRewards: reward_cutter_and_trash: title: 절단기 @@ -743,13 +738,12 @@ storyRewards: - 평소처럼 게임을 진행합니다.

어떤 방식으로든, 재미있게 게임을 플레이해주시길 바랍니다! reward_wires_painter_and_levers: title: 전선과 4단 색칠기 - desc: "You just unlocked the Wires Layer: It is a separate - layer on top of the regular layer and introduces a lot of new - mechanics!

For the beginning I unlocked you the Quad - Painter - Connect the slots you would like to paint with on - the wires layer!

To switch to the wires layer, press - E.

PS: Enable hints in - the settings to activate the wires tutorial!" + desc: " 방금 전선 레이어를 활성화하셨습니다: 이것은 일반 + 레이어 위에 존재하는 별개의 레이어로 수많은 새로운 요소를 사용할 수 + 있습니다!

4단 색칠기를 활성화해 드리겠습니다 - + 전선 레이어에서 색을 칠할 부분에 연결해 보세요!

전선 레이어로 + 전환하시려면 E키를 눌러주세요.

추신: 힌트를 + 활성화해서 전선 튜토리얼을 활성화해 보세요!" reward_filter: title: 아이템 선별기 desc: 아이템 선별기가 잠금 해제되었습니다! 전선 레이어의 신호와 일치하는지에 대한 여부로 아이템을 위쪽 @@ -974,7 +968,7 @@ keybindings: rotateToDown: "Rotate: Point Down" rotateToRight: "Rotate: Point Right" rotateToLeft: "Rotate: Point Left" - constant_producer: Constant Producer + constant_producer: 일정 생성기 goal_acceptor: Goal Acceptor block: Block massSelectClear: Clear belts @@ -1059,56 +1053,56 @@ tips: - F4 키를 두번 누르면 마우스와 카메라의 타일을 표시합니다. - 왼쪽에 고정된 도형을 클릭하여 고정을 해제할 수 있습니다. puzzleMenu: - play: Play - edit: Edit - title: Puzzle Mode - createPuzzle: Create Puzzle - loadPuzzle: Load - reviewPuzzle: Review & Publish - validatingPuzzle: Validating Puzzle - submittingPuzzle: Submitting Puzzle - noPuzzles: There are currently no puzzles in this section. + play: 플레이 + edit: 편집 + title: 퍼즐 모드 + createPuzzle: 퍼즐 만들기 + loadPuzzle: 불러오기 + reviewPuzzle: 리뷰 & 공개 + validatingPuzzle: 퍼즐 검증중 + submittingPuzzle: 퍼즐 전송중 + noPuzzles: 이 섹션에 퍼즐이 없습니다. categories: - levels: Levels - new: New - top-rated: Top Rated - mine: My Puzzles - short: Short - easy: Easy - hard: Hard - completed: Completed + levels: 레벨순 + new: 최신순 + top-rated: 등급순 + mine: 내 퍼즐 + short: 짧음 + easy: 쉬움 + hard: 어러움 + completed: 완료함 validation: - title: Invalid Puzzle - noProducers: Please place a Constant Producer! - noGoalAcceptors: Please place a Goal Acceptor! - goalAcceptorNoItem: One or more Goal Acceptors have not yet assigned an item. - Deliver a shape to them to set a goal. - goalAcceptorRateNotMet: One or more Goal Acceptors are not getting enough items. - Make sure that the indicators are green for all acceptors. - buildingOutOfBounds: One or more buildings are outside of the buildable area. - Either increase the area or remove them. - autoComplete: Your puzzle autocompletes itself! Please make sure your constant - producers are not directly delivering to your goal acceptors. + title: 잘못된 퍼즐 + noProducers: 일정 생성기를 배치해주세요! + noGoalAcceptors: 목표 수집기를 배치해주세요! + goalAcceptorNoItem: 하나 이상의 목표 수집기에 아이템이 지정되지 않았습니다. + 모양을 운반해서 목표를 지정해 주세요. + goalAcceptorRateNotMet: 하나 이상의 목표 수집기에 아이템이 충분하지 않습니다. + 모든 수집기의 표시가 초록색인지 확인해주세요. + buildingOutOfBounds: 하나 이상의 건물이 지을 수 있는 영역 밖에 존재합니다. + 영역을 늘리거나 건물을 제거하세요. + autoComplete: 퍼즐이 스스로 완료됩니다! 일정 생성기가 만든 모양이 목표 수집기로 + 바로 들어가고 있는건 아닌지 확인해주세요. backendErrors: - ratelimit: You are performing your actions too frequent. Please wait a bit. - invalid-api-key: Failed to communicate with the backend, please try to - update/restart the game (Invalid Api Key). - unauthorized: Failed to communicate with the backend, please try to - update/restart the game (Unauthorized). - bad-token: Failed to communicate with the backend, please try to update/restart - the game (Bad Token). - bad-id: Invalid puzzle identifier. - not-found: The given puzzle could not be found. - bad-category: The given category could not be found. - bad-short-key: The given short key is invalid. - profane-title: Your puzzle title contains profane words. - bad-title-too-many-spaces: Your puzzle title is too short. - bad-shape-key-in-emitter: A constant producer has an invalid item. - bad-shape-key-in-goal: A goal acceptor has an invalid item. - no-emitters: Your puzzle does not contain any constant producers. - no-goals: Your puzzle does not contain any goal acceptors. - short-key-already-taken: This short key is already taken, please use another one. - can-not-report-your-own-puzzle: You can not report your own puzzle. - bad-payload: The request contains invalid data. - bad-building-placement: Your puzzle contains invalid placed buildings. - timeout: The request timed out. + ratelimit: 너무 빠른 시간 내 작업을 반복하고 있습니다. 조금만 기다려 주세요. + invalid-api-key: 백엔드 서버와 통신할 수 없습니다. 게임을 업데이트하거나 + 재시작해 주세요 (잘못된 API 키). + unauthorized: 백엔드 서버와 통신할 수 없습니다. 게임을 업데이트하거나 + 재시작해 주세요 (인증되지 않음). + bad-token: 백엔드 서버와 통신할 수 없습니다. 게임을 업데이트하거나 + 재시작해 주세요 (잘못된 토큰). + bad-id: 잘못된 퍼즐 구분자. + not-found: 해당하는 퍼즐을 찾을 수 없습니다. + bad-category: 해당하는 분류를 찾을 수 없습니다. + bad-short-key: 입력한 짧은 키가 올바르지 않습니다. + profane-title: 퍼즐 제목에 부적절한 단어가 포함되어 있습니다. + bad-title-too-many-spaces: 퍼즐 제목이 너무 짧습니다. + bad-shape-key-in-emitter: 일정 생성기에 잘못된 아이템이 지정되어 있습니다. + bad-shape-key-in-goal: 목표 수집기에 잘못된 아이템이 지정되어 있습니다. + no-emitters: 퍼즐에 일정 생성기가 하나도 존재하지 않습니다. + no-goals: 퍼즐에 목표 생성기가 하나도 존재하지 않습니다. + short-key-already-taken: 이 짧은 키는 이미 사용중입니다. 다른 것을 이용해 주세요. + can-not-report-your-own-puzzle: 자신이 만든 퍼즐을 신고할 수 없습니다. + bad-payload: 요청이 잘못된 데이터를 포함하고 있습니다. + bad-building-placement: 퍼즐에 잘못된 곳에 위치한 건물이 있습니다. + timeout: 요청 시간이 초과되었습니다. From 11833906033e662816b53a8e7f94fb7e497adb20 Mon Sep 17 00:00:00 2001 From: Glenn Martin Jensen Date: Sat, 19 Jun 2021 13:30:35 +0200 Subject: [PATCH 12/24] Update Norwegian Translation (#1199) * Update Norwegian Translation Update Norwegian Translation * Update base-no.yaml * Update base-no.yaml --- translations/base-no.yaml | 984 +++++++++++++++++++------------------- 1 file changed, 492 insertions(+), 492 deletions(-) diff --git a/translations/base-no.yaml b/translations/base-no.yaml index 6c54240b..a9185838 100644 --- a/translations/base-no.yaml +++ b/translations/base-no.yaml @@ -14,14 +14,14 @@ steamPage: Mens du kun produserer former i starten må du fargelegge de senere - for å gjøre dette må du hente ut og blande farger! Ved å kjøpe spillet på Steam får du tilgang til fullversjonen, men du kan også spille en demo på shapez.io først og bestemme deg senere! - what_others_say: What people say about shapez.io - nothernlion_comment: This game is great - I'm having a wonderful time playing, - and time has flown by. - notch_comment: Oh crap. I really should sleep, but I think I just figured out - how to make a computer in shapez.io - steam_review_comment: This game has stolen my life and I don't want it back. - Very chill factory game that won't let me stop making my lines more - efficient. + what_others_say: Hva sier andre om shapez.io + nothernlion_comment: Dette er et fantastisk spill - Jeg storkoser meg når jeg spiller det, + og tiden bare flyr avgårde. + notch_comment: Oops. Jeg burde egentlig sove, men jeg tror jeg nettop fant ut + hvordan man lager en PC i shapez.io + steam_review_comment: Dette spillet har sjålet livet mitt, og jeg vil ikke ha det tilbake. + Veldig avslappende fabrikkspill som ikke stopper meg fra å lage båndene mere + effektive. global: loading: Laster error: Feil @@ -53,7 +53,7 @@ global: escape: ESC shift: SHIFT space: MELLOMROM - loggingIn: Logging in + loggingIn: Logger inn demoBanners: title: Demo Versjon intro: Skaff deg frittstående versjon for å åpne alle funksjoner! @@ -73,12 +73,12 @@ mainMenu: newGame: Nytt Spill madeBy: Laget av subreddit: Reddit - savegameUnnamed: Unnamed - puzzleMode: Puzzle Mode - back: Back - puzzleDlcText: Do you enjoy compacting and optimizing factories? Get the Puzzle - DLC now on Steam for even more fun! - puzzleDlcWishlist: Wishlist now! + savegameUnnamed: Ingen Navn + puzzleMode: Puzzle Modus + back: Tilbake + puzzleDlcText: Liker du å bygge kompate og optimaliserte fabrikker? Skaff deg Puzzle + tilleggspakken nå på Steam for mere moro! + puzzleDlcWishlist: Legg i ønskeliste nå! dialogs: buttons: ok: OK @@ -92,9 +92,9 @@ dialogs: viewUpdate: Vis Oppdatering showUpgrades: Vis Oppgraderinger showKeybindings: Se Hurtigtaster - retry: Retry - continue: Continue - playOffline: Play Offline + retry: Prøv på nytt + continue: Fortsett + playOffline: Spill Offline importSavegameError: title: Importeringsfeil text: "Kunne ikke importere lagringsfilen:" @@ -106,9 +106,9 @@ dialogs: text: "Kunne ikke laste inn lagringsfilen:" confirmSavegameDelete: title: Bekreft sletting - text: Are you sure you want to delete the following game?

- '' at level

This can not be - undone! + text: Er du sikker på at du vil slette følgende spill?

+ '' på nivå

Handlinge kan ikke + reversjeres! savegameDeletionError: title: Kunne ikke slette text: "Kunne ikke slette lagringsfilen:" @@ -164,8 +164,8 @@ dialogs: samlebånd.
" createMarker: title: Ny Markør - desc: Give it a meaningful name, you can also include a short - key of a shape (Which you can generate here) + desc: Gi den et meningsfult navn, du kan også inkludere korte + koder av en form (Som du kan generere her) titleEdit: Rediger markør markerDemoLimit: desc: Du kan kun ha to markører i demoverjsonen. Skaff deg den frittstående @@ -180,82 +180,82 @@ dialogs: desc: Du har ikke råd til å lime inn dette området! er du sikker på at du vil klippe det ut? editSignal: - title: Set Signal - descItems: "Choose a pre-defined item:" - descShortKey: ... or enter the short key of a shape (Which you - can generate here) + title: Velg Signal + descItems: "Velg en forhåndsvalgt gjenstand:" + descShortKey: ... eller skriv inn korte koden av en form (Som du + kan generere her) renameSavegame: - title: Rename Savegame - desc: You can rename your savegame here. + title: Bytt Spillnavn + desc: Du kan bytte navn på ditt lagrede spill her. tutorialVideoAvailable: - title: Tutorial Available - desc: There is a tutorial video available for this level! Would you like to - watch it? + title: Introduksjon tilgjengelig + desc: Det er en introduksjonsvideo tilgjengelig for dette nivået! Ønsker du + å ta en titt? tutorialVideoAvailableForeignLanguage: - title: Tutorial Available - desc: There is a tutorial video available for this level, but it is only - available in English. Would you like to watch it? + title: Introduksjon tilgjengelig + desc: Det er en introduksjonsvideo tilgjengelig, men den er kun + tilgjengelig på Engelsk. Ønsker du å ta en titt? editConstantProducer: - title: Set Item + title: Velg Gjenstand puzzleLoadFailed: - title: Puzzles failed to load - desc: "Unfortunately the puzzles could not be loaded:" + title: Puslespill feilet å laste inn + desc: "Beklageligvis, kunne ikke puslespillet lastes inn:" submitPuzzle: - title: Submit Puzzle - descName: "Give your puzzle a name:" - descIcon: "Please enter a unique short key, which will be shown as the icon of - your puzzle (You can generate them here, or choose one - of the randomly suggested shapes below):" - placeholderName: Puzzle Title + title: Send inn Puslespill + descName: "Gi ditt puslespill et navn:" + descIcon: "Vennligst skriv en kort, unik gjenkjenner, som vil bli vist som et ikon av + ditt brett (Du kan lage dem her, eller velge en + av de tilfeldigve genererte nedenfor):" + placeholderName: Puslespilltittel puzzleResizeBadBuildings: - title: Resize not possible - desc: You can't make the zone any smaller, because then some buildings would be - outside the zone. + title: Omgjøring av størrelse ikke mulig + desc: Du kan ikke gjøre sonen noe mindre, for da vil noen bygninger være + utenfor sonen. puzzleLoadError: - title: Bad Puzzle - desc: "The puzzle failed to load:" + title: Feil i puslespillet + desc: "Puslespillet kunne ikke laste inn:" offlineMode: - title: Offline Mode - desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + title: Offline Modus + desc: Fikk ikke kontakt med serveren, så spillet må kjøres i offline modus. + Sørg for at du har en fungerende internett tilkobling. puzzleDownloadError: - title: Download Error - desc: "Failed to download the puzzle:" + title: Nedlastningsfeil + desc: "Kunne ikke laste ned puslespillet:" puzzleSubmitError: - title: Submission Error - desc: "Failed to submit your puzzle:" + title: Innsendingsfeil + desc: "Kunne ikke sende inn puslespillet:" puzzleSubmitOk: - title: Puzzle Published - desc: Congratulations! Your puzzle has been published and can now be played by - others. You can now find it in the "My puzzles" section. + title: Puslespill sendt inn + desc: Gratulerer! Ditt puslespill har blitt publisert og kan nå bli spilt av + andre. Du kan finne den under "Mine puslespill" seksjonen. puzzleCreateOffline: - title: Offline Mode - desc: Since you are offline, you will not be able to save and/or publish your - puzzle. Would you still like to continue? + title: Offline Modus + desc: Siden du er frakoblet, så kan du ikke lagre og/eller publisere dine + puslespill. Ønsker du å fortsette? puzzlePlayRegularRecommendation: - title: Recommendation - desc: I strongly recommend playing the normal game to level 12 - before attempting the puzzle DLC, otherwise you may encounter - mechanics not yet introduced. Do you still want to continue? + title: Anbefalinger + desc: Jeg anbefaler på det sterkeste å spille hovedspillet til nivå 12 + før du prøver Puzzle tillegspakken, ellers kan du oppleve + mekanikk som du ikke har prøvd før. Ønsker du å fortsette? puzzleShare: - title: Short Key Copied - desc: The short key of the puzzle () has been copied to your clipboard! It - can be entered in the puzzle menu to access the puzzle. + title: Kort kode kopiert + desc: Korte koden av puslespillet () har blitt kopiert til din utklippstavle! Den + kan skrives inn i puslespillmenyen for å få tilgang til puslespillet. puzzleReport: - title: Report Puzzle + title: Rapporter Puslespill options: - profane: Profane - unsolvable: Not solvable + profane: Vulgært + unsolvable: Ikke løsbart trolling: Trolling puzzleReportComplete: - title: Thank you for your feedback! - desc: The puzzle has been flagged. + title: Takk for din tilbakemelding! + desc: Puslespillet har blitt markert. puzzleReportError: - title: Failed to report - desc: "Your report could not get processed:" + title: Kunne ikke rapportere + desc: "Din rapport kunne ikke prosesseres:" puzzleLoadShortKey: - title: Enter short key - desc: Enter the short key of the puzzle to load it. + title: Skriv inn kort kode + desc: Skriv inn korte koden til puslespillet for å laste den inn. ingame: keybindingsOverlay: moveMap: Beveg @@ -277,10 +277,10 @@ ingame: clearSelection: Fjern Valgte pipette: Pipette switchLayers: Bytt lag - clearBelts: Clear belts + clearBelts: Tøm belter buildingPlacement: cycleBuildingVariants: Trykk for å veksle mellom variantene. - hotkeyLabel: "Hotkey: " + hotkeyLabel: "Hurtigtast: " infoTexts: speed: Hastighet range: Lengde @@ -297,7 +297,7 @@ ingame: notifications: newUpgrade: En ny oppgradering er tilgjengelig! gameSaved: Spillet ditt er lagret. - freeplayLevelComplete: Level has been completed! + freeplayLevelComplete: Nivå har blitt løst! shop: title: Oppgraderinger buttonUnlock: Oppgrader @@ -320,7 +320,7 @@ ingame: shapesDisplayUnits: second: / s minute: / m - hour: / h + hour: / t settingsMenu: playtime: Spilletid buildingsPlaced: Bygninger @@ -351,30 +351,30 @@ ingame: og belter for å nå målet raskere.

Tips: Hold SHIFT for å plassere flere utdragere, og bruk R for å rotere dem." - 2_1_place_cutter: "Now place a Cutter to cut the circles in two - halves!

PS: The cutter always cuts from top to - bottom regardless of its orientation." - 2_2_place_trash: The cutter can clog and stall!

Use a - trash to get rid of the currently (!) not - needed waste. - 2_3_more_cutters: "Good job! Now place 2 more cutters to speed - up this slow process!

PS: Use the 0-9 - hotkeys to access buildings faster!" - 3_1_rectangles: "Now let's extract some rectangles! Build 4 - extractors and connect them to the hub.

PS: - Hold SHIFT while dragging a belt to activate - the belt planner!" - 21_1_place_quad_painter: Place the quad painter and get some - circles, white and - red color! - 21_2_switch_to_wires: Switch to the wires layer by pressing - E!

Then connect all four - inputs of the painter with cables! - 21_3_place_button: Awesome! Now place a Switch and connect it - with wires! - 21_4_press_button: "Press the switch to make it emit a truthy - signal and thus activate the painter.

PS: You - don't have to connect all inputs! Try wiring only two." + 2_1_place_cutter: "Nå plasser en kutter for å kutte sirklene i to + halve biter!

NB: Kutteren kutter alltid fra toppen til + bunnen uansett orienteringen." + 2_2_place_trash: Kutteren kan tette og lage kø!

Bruk en + søppelbøtte for å bli kvitt nåværende (!) ikke + nødvendige rester. + 2_3_more_cutters: "Godt jobba! Nå plasser 2 flere kuttere for å øke + hastigheten på denne prosessen!

NB: Bruk 0-9 + hurtigtastene for å velge bygning raskere!" + 3_1_rectangles: "Nå la oss fremvinne noen rektangler! Bygg 4 + utvinnere og koble de til hovedbygningen.

NB: + Hold inne SHIFT mens du drar beltet for å aktivere + belteplanleggeren!" + 21_1_place_quad_painter: Plasser 4veis maleren og få noen + sirkler, hvite og + rød farget! + 21_2_switch_to_wires: Bytt til kabelnivået ved å trykke + E!

Deretter koble alle fire + inngangene til 4veis malerene med kabler! + 21_3_place_button: Flott! Nå plasser en bryter og koble den + med kabler! + 21_4_press_button: "Trykk på bryteren for å utgi et gyldig + signal som deretter aktiverer malerene.

NB: Du + må ikke koble til alle inngangene! Prøv bare med to." colors: red: Rød green: Grønn @@ -388,81 +388,81 @@ ingame: shapeViewer: title: Lag empty: Tom - copyKey: Copy Key + copyKey: Kopier Key connectedMiners: - one_miner: 1 Miner - n_miners: Miners - limited_items: Limited to + one_miner: 1 Utgraver + n_miners: Utgravere + limited_items: Begrenset til watermark: - title: Demo version - desc: Click here to see the Steam version advantages! - get_on_steam: Get on steam + title: Demo versjon + desc: Trykk her for å se fordelene med Steam verjsonen! + get_on_steam: Få på Steam standaloneAdvantages: - title: Get the full version! - no_thanks: No, thanks! + title: Få fullversjonen! + no_thanks: Nei takk! points: levels: - title: 12 New Levels - desc: For a total of 26 levels! + title: 12 Nye Nivåer + desc: Tilsvarer totalt 26 nivåer! buildings: - title: 18 New Buildings - desc: Fully automate your factory! + title: 18 Nye Bygninger + desc: Fullautomatiser din fabrikk! upgrades: - title: ∞ Upgrade Tiers - desc: This demo version has only 5! + title: ∞ Oppgraderingsnivåer + desc: Demoversjonen har kun 5! markers: - title: ∞ Markers - desc: Never get lost in your factory! + title: ∞ Markører + desc: Aldri gå deg vill i din fabrikk! wires: - title: Wires - desc: An entirely new dimension! + title: Kabler + desc: En helt ny dimensjon! darkmode: - title: Dark Mode - desc: Stop hurting your eyes! + title: Mørkmodus + desc: Slutt å skade øynene dine! support: - title: Support me - desc: I develop it in my spare time! + title: Støtt meg + desc: Jeg utvikler dette på min fritid! achievements: - title: Achievements - desc: Hunt them all! + title: Prestasjoner + desc: Skaff dem alle! puzzleEditorSettings: - zoneTitle: Zone - zoneWidth: Width - zoneHeight: Height - trimZone: Trim - clearItems: Clear Items - share: Share - report: Report + zoneTitle: Sone + zoneWidth: Bredde + zoneHeight: Høyde + trimZone: Kamtsone + clearItems: Fjern gjenstander + share: Del + report: Rapporter puzzleEditorControls: - title: Puzzle Creator + title: Puslespill lager instructions: - - 1. Place Constant Producers to provide shapes and - colors to the player - - 2. Build one or more shapes you want the player to build later and - deliver it to one or more Goal Acceptors - - 3. Once a Goal Acceptor receives a shape for a certain amount of - time, it saves it as a goal that the player must - produce later (Indicated by the green badge). - - 4. Click the lock button on a building to disable - it. - - 5. Once you click review, your puzzle will be validated and you - can publish it. - - 6. Upon release, all buildings will be removed - except for the Producers and Goal Acceptors - That's the part that - the player is supposed to figure out for themselves, after all :) + - 1. Plasser konstante produseringer for å gi former og + farger til spilleren + - 2. Bygg en eller flere former du vil at spilleren skal bygge senere og + lever det til en eller fler Mål mottak + - 3. Når et målmottak mottar en form over en viss + periode, vil den lagres som et mål som spilleren må + produsere senere (Indikert av grønne skiltet). + - 4. Trykk låse knappen på en bygning for å deaktivere + den. + - 5. Så fort du trykker gjennomgå, vil ditt puslespill bli validert og du + kan publisere det. + - 6. Når det er publisert, vil alle bygningene bli fjernet + utenom produseringene og mål mottakene - Det er delen som + spilleren skal finne ut av dem selv, tross alt :) puzzleCompletion: - title: Puzzle Completed! - titleLike: "Click the heart if you liked the puzzle:" - titleRating: How difficult did you find the puzzle? - titleRatingDesc: Your rating will help me to make you better suggestions in the future - continueBtn: Keep Playing - menuBtn: Menu + title: Puslespill Fullført! + titleLike: "Trykk på hjertet hvis du likte puslespillet:" + titleRating: Hvor vanskelig syntes du det var? + titleRatingDesc: Ditt omdømme vil hjelpe hjelpe meg med å gi deg bedre forslag i fremtiden + continueBtn: Fortsett å spill + menuBtn: Meny puzzleMetadata: - author: Author - shortKey: Short Key - rating: Difficulty score - averageDuration: Avg. Duration - completionRate: Completion rate + author: Laget av + shortKey: Kort Kode + rating: Vanskelighetsscore + averageDuration: Gj. Varighet + completionRate: Fullføringsratio shopUpgrades: belt: name: Belter, Distributører & Tunneler @@ -481,7 +481,7 @@ buildings: deliver: Lever toUnlock: for å låse opp levelShortcut: nivå - endOfDemo: End of Demo + endOfDemo: Slutt på demoen belt: default: name: Samlebånd @@ -522,8 +522,8 @@ buildings: name: Roter (Mot klokken) description: Roter former mot klokken, 90 grader. rotate180: - name: Rotate (180) - description: Rotates shapes by 180 degrees. + name: Roter (180) + description: Roter former med 180 grader. stacker: default: name: Stabler @@ -544,9 +544,9 @@ buildings: inngang. quad: name: Maler (Firedobbel) - description: Allows you to color each quadrant of the shape individually. Only - slots with a truthy signal on the wires layer - will be painted! + description: Lar deg male hver del av en form individuelt. Kun + innganger med et ekte signal på kabel nivået + vil bli malt! mirrored: name: Maler description: Maler hele formen på venstre inngang med fargen fra øverste @@ -561,140 +561,140 @@ buildings: name: Energikabel description: Lar deg transportere energi. second: - name: Wire - description: Transfers signals, which can be items, colors or booleans (1 / 0). - Different colored wires do not connect. + name: Kabel + description: Overfører signaler, som kan være gjenstander, farger eller booleanere (1 / 0). + Forskjellige fargede kabler kobler seg ikke sammen. balancer: default: - name: Balancer - description: Multifunctional - Evenly distributes all inputs onto all outputs. + name: Balanserer + description: Multifunksjon - Distribuerer inngangene på utgangene jevnt. merger: - name: Merger (compact) - description: Merges two conveyor belts into one. + name: Balanserer (kompakt) + description: Slår sammen to belter til ett. merger-inverse: - name: Merger (compact) - description: Merges two conveyor belts into one. + name: Balanserer (kompakt) + description: Slår sammen to belter til ett. splitter: - name: Splitter (compact) - description: Splits one conveyor belt into two. + name: Splitter (kompakt) + description: Deler ett belte i to. splitter-inverse: - name: Splitter (compact) - description: Splits one conveyor belt into two. + name: Splitter (kompakt) + description: Deler ett belte i to. storage: default: - name: Storage - description: Stores excess items, up to a given capacity. Prioritizes the left - output and can be used as an overflow gate. + name: Lager + description: Lagre overflødige gjenstander, opp til en viss antall. Prioriterer venstre + utgang og kan bli brukt som en overløpsventil. wire_tunnel: default: - name: Wire Crossing - description: Allows to cross two wires without connecting them. + name: Kabelkryss + description: Tillater å krysse to kabler uten å koble de sammen. constant_signal: default: - name: Constant Signal - description: Emits a constant signal, which can be either a shape, color or - boolean (1 / 0). + name: Konstant Signal + description: Utgir et konstant signal, som enten kan være en form, farge eller + booleaner (1 / 0). lever: default: - name: Switch - description: Can be toggled to emit a boolean signal (1 / 0) on the wires layer, - which can then be used to control for example an item filter. + name: Bryter + description: Kan skru av/på et booleaner signal (1 / 0) på kabel nivået, + som igjen kan brukes for å kontrolere for eksempel filtrering. logic_gate: default: name: AND Gate - description: Emits a boolean "1" if both inputs are truthy. (Truthy means shape, - color or boolean "1") + description: Utgir en booleaner "1" hvis begge innganger er sanne. (Sanne betyr form, + farge eller booleaner "1") not: name: NOT Gate - description: Emits a boolean "1" if the input is not truthy. (Truthy means - shape, color or boolean "1") + description: Utgir en booleaner "1" hvis begge innganger ikke er sanne. (Sanne betyr + form, farge eller booleaner "1") xor: name: XOR Gate - description: Emits a boolean "1" if one of the inputs is truthy, but not both. - (Truthy means shape, color or boolean "1") + description: Utgir en booleaner "1" hvis en av inngangene er sanne, men ikke begge. + (Sanne betyr form, farge eller booleaner "1") or: name: OR Gate - description: Emits a boolean "1" if one of the inputs is truthy. (Truthy means - shape, color or boolean "1") + description: Utgir en booleaner "1" hvis en av inngangene er sanne. (Sanne betyr + form, farge eller booleaner "1") transistor: default: - name: Transistor - description: Forwards the bottom input if the side input is truthy (a shape, - color or "1"). + name: Transistorer + description: Vidresender nedre inngang om sideinngangen er sann (en form, + farge eller "1"). mirrored: - name: Transistor - description: Forwards the bottom input if the side input is truthy (a shape, - color or "1"). + name: Transistorer + description: Vidresender nedre inngang om sideinngangen er sann (en form, + farge eller "1"). filter: default: name: Filter - description: Connect a signal to route all matching items to the top and the - remaining to the right. Can be controlled with boolean signals - too. + description: Koble til et signal for å rute alle tilsvarende gjenstander til toppen og + gjenværende til høyre. Kan bli kontroller med booleaner signaler + også. display: default: - name: Display - description: Connect a signal to show it on the display - It can be a shape, - color or boolean. + name: Skjerm + description: Koble til et signal for å vise det på skjermen - Det kan være en form, + farge eller booleaner. reader: default: - name: Belt Reader - description: Allows to measure the average belt throughput. Outputs the last - read item on the wires layer (once unlocked). + name: Belteleser + description: Tillater å telle gjennomsnittelig flyt på beltet. Utgir det siste + leste gjenstanden på kabel nivået (når tilgjengelig). analyzer: default: - name: Shape Analyzer - description: Analyzes the top right quadrant of the lowest layer of the shape - and returns its shape and color. + name: Form Analyserer + description: Analyserer øverst i høyre av det laveste nivået på en form + og returnerer dens form og farge. comparator: default: - name: Compare - description: Returns boolean "1" if both signals are exactly equal. Can compare - shapes, items and booleans. + name: Sammenlign + description: Returnerer booleaner "1" hvis begge signalene er like. Kan sammenligne + former, gjenstander og booleaner. virtual_processor: default: - name: Virtual Cutter - description: Virtually cuts the shape into two halves. + name: Virituell Kutter + description: Kutt former virituelt i to deler. rotater: - name: Virtual Rotater - description: Virtually rotates the shape, both clockwise and counter-clockwise. + name: Virituell Roterer + description: Virituelt roterer formen, både med klokken og mot klokken. unstacker: - name: Virtual Unstacker - description: Virtually extracts the topmost layer to the right output and the - remaining ones to the left. + name: Virituell Avstabler + description: Virituelt separerer øverste nivået på høyre utgang og + gjenværende nede på venstre. stacker: - name: Virtual Stacker - description: Virtually stacks the right shape onto the left. + name: Virituell Stabler + description: Virituelt stabler formen på høyre med den på venstre. painter: - name: Virtual Painter - description: Virtually paints the shape from the bottom input with the shape on - the right input. + name: Virituell Fargelegger + description: Virituelt fargelegger formen fra nederste ingang med formen på + høyre inngang. item_producer: default: - name: Item Producer - description: Available in sandbox mode only, outputs the given signal from the - wires layer on the regular layer. + name: Gjenstands lager + description: Tilgjengelig kun i in sandbox modus, returnerer det gitte signalet fra + kabel nivået på det vanlige nivået. constant_producer: default: - name: Constant Producer - description: Constantly outputs a specified shape or color. + name: Konstante Produseringer + description: Produserer konstant en spesifik form eller farge. goal_acceptor: default: - name: Goal Acceptor - description: Deliver shapes to the goal acceptor to set them as a goal. + name: Mål Mottaker + description: Lever former til mål mottakeren for å sette dem som et mål. block: default: - name: Block - description: Allows you to block a tile. + name: Blokker + description: Lar deg blokkere en rute. storyRewards: reward_cutter_and_trash: title: Kutt Objekter - desc: You just unlocked the cutter, which cuts shapes in half - from top to bottom regardless of its - orientation!

Be sure to get rid of the waste, or - otherwise it will clog and stall - For this purpose - I have given you the trash, which destroys - everything you put into it! + desc: Du åpnet nettop kutteren, som kutter former i to + fra toppen til bunnen uavhengig av dens + orientasjon!

Sørg for å bli kvitt søppel, + ellers vil det samle seg og tette - For dette formålet + så har jeg gitt deg en søppelkasse, som ødelegger + alt du kaster i den! reward_rotater: title: Rotering desc: Rotereren har blitt tilgjengelig! Den roterer objekter @@ -717,10 +717,10 @@ storyRewards: bil til en. Hvis ikke, blir høyre inngang plassert over venstre inngang! reward_splitter: - title: Fordeler/Sammenslåer - desc: You have unlocked a splitter variant of the - balancer - It accepts one input and splits them - into two! + title: Fordeler + desc: Du har åpnet opp fordler varianten av + balansereren - Den godtar en inn og deler + dem i to! reward_tunnel: title: Tunnel desc: Tunnelen har blitt tilgjengelig - Du kan nå transportere @@ -732,10 +732,10 @@ storyRewards: trykk 'T' for å veksle mellom variantene! reward_miner_chainable: title: Kjedeutdrager - desc: "You have unlocked the chained extractor! It can - forward its resources to other extractors so you - can more efficiently extract resources!

PS: The old - extractor has been replaced in your toolbar now!" + desc: "Du har åpnet kjedeutdrageren! Den kan + vidresende sine ressursser til andre utdragere så du kan + mer effektivt hente ut ressursser!

NB: Gamle + utdrageren har blitt byttet ut på din hurtigbar nå!" reward_underground_belt_tier_2: title: Tunnel Nivå II desc: Du har åpnet en ny variant av tunnelen - Den har @@ -752,18 +752,18 @@ storyRewards: konsumerer bare en farge istedenfor to! reward_storage: title: Lagringsbuffer - desc: You have unlocked the storage building - It allows you to - store items up to a given capacity!

It priorities the left - output, so you can also use it as an overflow gate! + desc: Du har åpnet lagringsbuffer bygningen - Den lar deg + lagre gjenstander opp til et gitt antall!

Den prioriterer venstre + utgangen, så du kan også bruke det som en overløpsventil! reward_freeplay: title: Frispill - desc: You did it! You unlocked the free-play mode! This means - that shapes are now randomly generated!

- Since the hub will require a throughput from now - on, I highly recommend to build a machine which automatically - delivers the requested shape!

The HUB outputs the requested - shape on the wires layer, so all you have to do is to analyze it and - automatically configure your factory based on that. + desc: Du klarte det! Du låste opp frispill modus! Dette betyr + at former er nå tilfeldige generert!

+ Siden hovedbygningen nå krever en gjennomgang fra nå + av, anbefaler jeg å bygge en maskin som automatisk + leverer ønskede formen!

Hovedbygningen utgir den forespurte + formen på kabel nivået, så alt du må gjøre er å analysere det og + automatisk konfigerer din fabrikk basert på det. reward_blueprints: title: Blåkopier desc: Du kan nå kopiere og lime inn deler av fabrikken din! @@ -782,78 +782,78 @@ storyRewards: desc: Gratulerer!! Forresten, mer innhold er planlagt for den frittstående versjonen! reward_balancer: - title: Balancer - desc: The multifunctional balancer has been unlocked - It can - be used to build bigger factories by splitting and merging - items onto multiple belts! + title: Balanserer + desc: Den multifunksjonible balansereren har blitt tilgjengelig - Den kan + bli brukt for å bygge større fabrikker ved å dele opp og slå sammen + gjenstander på flere belter! reward_merger: - title: Compact Merger - desc: You have unlocked a merger variant of the - balancer - It accepts two inputs and merges them - into one belt! + title: Kompakt Sammenslåer + desc: Du har åpnet opp en sammenslåer variant av + balansereren - Den godtar to innganger og slår de sammen + til ett belte! reward_belt_reader: - title: Belt reader - desc: You have now unlocked the belt reader! It allows you to - measure the throughput of a belt.

And wait until you unlock - wires - then it gets really useful! + title: Belte Leser + desc: Du har låst opp belte leseren! Den lar deg + måle trafikken på et belte.

Og vent til du låser opp + kabler - da blir den veldig nyttig! reward_rotater_180: - title: Rotater (180 degrees) - desc: You just unlocked the 180 degrees rotater! - It allows - you to rotate a shape by 180 degrees (Surprise! :D) + title: Roterer (180 grader) + desc: Du åpnet opp 180 graders rotereren! - Den lar + deg rotere en form 180 grader (Overraskelse! :D) reward_display: - title: Display - desc: "You have unlocked the Display - Connect a signal on the - wires layer to visualize it!

PS: Did you notice the belt - reader and storage output their last read item? Try showing it on a - display!" + title: Skjerm + desc: "Du har åpnet opp Skjermen - Koble til et signal + på kabel nivået for å visualisere det!

NB: La du merke til belte + leseren og lagringsbygningen utgir siste gjenstanden de så? Prøv å vis det på en + skjerm!" reward_constant_signal: - title: Constant Signal - desc: You unlocked the constant signal building on the wires - layer! This is useful to connect it to item filters - for example.

The constant signal can emit a - shape, color or - boolean (1 / 0). + title: Konstant Signal + desc: Du åpnet opp konstant signal bygningen på kabel + nivået! Denne er brukbar for å koble til gjenstandsfilter + for eksempel.

Det konstante signalet kan utgi en + form, farge eller + booleaner (1 / 0). reward_logic_gates: title: Logic Gates - desc: You unlocked logic gates! You don't have to be excited - about this, but it's actually super cool!

With those gates - you can now compute AND, OR, XOR and NOT operations.

As a - bonus on top I also just gave you a transistor! + desc: Du åpnet opp logic gates! Du trenger ikke være så overlykkelig + for dette, men det er faktisk super kult!

Med disse + kan du nå utregne AND, OR, XOR og NOT operasjoner.

Som en + bonus på toppen, ga jeg deg også transistorer! reward_virtual_processing: - title: Virtual Processing - desc: I just gave a whole bunch of new buildings which allow you to - simulate the processing of shapes!

You can - now simulate a cutter, rotater, stacker and more on the wires layer! - With this you now have three options to continue the game:

- - Build an automated machine to create any possible - shape requested by the HUB (I recommend to try it!).

- Build - something cool with wires.

- Continue to play - regulary.

Whatever you choose, remember to have fun! + title: Virtuell Prosessering + desc: Du fikk nettop en hel del av bygninger som lar deg + simulere prosessen av former!

Du kan + nå simulere kutting, rotering, stabling og mer på kabel nivået! + Med dette har du nå tre muligheter for å fortsette spillet:

- + Bygg en automatisert maskin som lager alle mulige + former forespurt av hovedbygningen (Jeg anbefaler deg å prøve dette!).

- Bygg + noe kult med kabler.

- Fortsett å spill + vanlig.

Hva nå enn du velger, husk å ha det gøy! reward_wires_painter_and_levers: - title: Wires & Quad Painter - desc: "You just unlocked the Wires Layer: It is a separate - layer on top of the regular layer and introduces a lot of new - mechanics!

For the beginning I unlocked you the Quad - Painter - Connect the slots you would like to paint with on - the wires layer!

To switch to the wires layer, press - E.

PS: Enable hints in - the settings to activate the wires tutorial!" + title: Kabler & 4veis Fargelegger + desc: "Du åpnet nettop kabel nivået: Det er et + separat nivå på toppen av det vanlige som introduserer mye nye + mekanismer!

I begynnelsen åpnet du 4 veis + fargeleggeren - Koble til inngangene du vil male med på + kabel nivået!

For å bytte til kabel nivået, trykk + E.

NB: Skru på tips på + instillinger for å aktivere kabel nivå introduksjonen!" reward_filter: - title: Item Filter - desc: You unlocked the Item Filter! It will route items either - to the top or the right output depending on whether they match the - signal from the wires layer or not.

You can also pass in a - boolean signal (1 / 0) to entirely activate or disable it. + title: Gjenstandsfilter + desc: Du åpnet opp Gjenstandsfilter! Den vil rute gjenstander enten + til toppen eller høyre utgang avhengig av om de matcher + signalet fra kabel nivået eller ikke.

Du kan også legge inn et + booleaner signal (1 / 0) for å aktivere eller deaktivere den i sin helhet. reward_demo_end: - title: End of Demo - desc: You have reached the end of the demo version! + title: Slutt på Demo + desc: Du har nådd slutten på demoversjonen! settings: title: Instillinger categories: general: Generelt userInterface: Brukergrensesnitt advanced: Avansert - performance: Performance + performance: Ytelse versionBadges: dev: Utvikling staging: Iscenesettelse @@ -964,55 +964,55 @@ settings: kan være mer komfortabelt hvis du ofte veksler mellom plassering av forskjellige bygninger. soundVolume: - title: Sound Volume - description: Set the volume for sound effects + title: Lyd Volum + description: Sett volumet på lydeffekter musicVolume: - title: Music Volume - description: Set the volume for music + title: Musikk Volum + description: Sett volumet på musikk lowQualityMapResources: - title: Low Quality Map Resources - description: Simplifies the rendering of resources on the map when zoomed in to - improve performance. It even looks cleaner, so be sure to try it - out! + title: Lavkvalitets Kart Ressursser + description: Simplifiserer fremvisningen av ressursser på kartet når zoomet inn for å + forbedre ytelsen. Det ser også renere ut, så sørg for å sjekke det + ut! disableTileGrid: - title: Disable Grid - description: Disabling the tile grid can help with the performance. This also - makes the game look cleaner! + title: Deaktiver Rutenett + description: Deaktiver rutenettet kan hjelpe på ytelse. Dette vil også + få spillet til å se renere ut! clearCursorOnDeleteWhilePlacing: - title: Clear Cursor on Right Click - description: Enabled by default, clears the cursor whenever you right click - while you have a building selected for placement. If disabled, - you can delete buildings by right-clicking while placing a - building. + title: Fjern musepil ved høyreklikk + description: Skrudd på standard, fjerner hva enn du har ved musen når du høyreklikker + mens du har en bygning valgt for plassering. Hvis deaktivert, + så kan du slette bytninger ved å høyreklikke mens du plasserer en + bytgning. lowQualityTextures: - title: Low quality textures (Ugly) - description: Uses low quality textures to save performance. This will make the - game look very ugly! + title: Lavkvalitets teksturer (Stygt) + description: Bruker lavkvalitets teksturer for å forbedre ytelsen. Dette vil få + spillet til å se veldig sygt ut! displayChunkBorders: - title: Display Chunk Borders - description: The game is divided into chunks of 16x16 tiles, if this setting is - enabled the borders of each chunk are displayed. + title: Vis Sektor Rammer + description: Spillet er delt inn i sektorer på 16x16 ruter, hvis denne instillingen er + skrudd på, vil kantene i hver sektor vises. pickMinerOnPatch: - title: Pick miner on resource patch - description: Enabled by default, selects the miner if you use the pipette when - hovering a resource patch. + title: Velg utdrager på ressurss felt + description: Aktivert standard, velger utdrageren hvis du bruker pipette når du + holder over et ressurss felt. simplifiedBelts: - title: Simplified Belts (Ugly) - description: Does not render belt items except when hovering the belt to save - performance. I do not recommend to play with this setting if you - do not absolutely need the performance. + title: Simplifiserte Belter (Sygt) + description: Fremviser ikke ting på belter forutenom når du holder musen over beltet for å forbedre + ytelsen. Jeg anbefaler ikke å spille med dette med mindre + du absolutt trenger ytelsen. enableMousePan: - title: Enable Mouse Pan - description: Allows to move the map by moving the cursor to the edges of the - screen. The speed depends on the Movement Speed setting. + title: Aktiver Musebeveget Kart + description: Lar deg flytte rundt på kartet ved å bevege musen til kanten av + skjermen. Hastigheten avgjøres av Bevegelses Hastighet instillingen. zoomToCursor: - title: Zoom towards Cursor - description: If activated the zoom will happen in the direction of your mouse - position, otherwise in the middle of the screen. + title: Forstørr mot musepekeren + description: Hvis aktivert, vil forstørring skje mot der du har musepekeren + posisjonert, ellers vil det være midt i kjermen. mapResourcesScale: - title: Map Resources Size - description: Controls the size of the shapes on the map overview (when zooming - out). + title: Kart Ressursser Størrelse + description: Kontrollerer størrelsen på former på kartoversikten (når zoomet + ut). rangeSliderPercentage: % keybindings: title: Hurtigtaster @@ -1072,29 +1072,29 @@ keybindings: menuClose: Lukk meny switchLayers: Bytt lag wire: Energikabel - balancer: Balancer - storage: Storage - constant_signal: Constant Signal + balancer: Balanserer + storage: Lagringsboks + constant_signal: Konstant Signal logic_gate: Logic Gate - lever: Switch (regular) + lever: Bryter (vanlig) filter: Filter - wire_tunnel: Wire Crossing - display: Display - reader: Belt Reader - virtual_processor: Virtual Cutter - transistor: Transistor - analyzer: Shape Analyzer - comparator: Compare - item_producer: Item Producer (Sandbox) - copyWireValue: "Wires: Copy value below cursor" - rotateToUp: "Rotate: Point Up" - rotateToDown: "Rotate: Point Down" - rotateToRight: "Rotate: Point Right" - rotateToLeft: "Rotate: Point Left" - constant_producer: Constant Producer - goal_acceptor: Goal Acceptor - block: Block - massSelectClear: Clear belts + wire_tunnel: Kabel Krysser + display: Skjerm + reader: Belte Leser + virtual_processor: Virituell Kutter + transistor: Transistorer + analyzer: Form Analyserer + comparator: Sammenlign + item_producer: Gjenstands Produserer (Sandbox) + copyWireValue: "Kabler: Kopier verdi under musen" + rotateToUp: "Roter: Pek Opp" + rotateToDown: "Roter: Pek Ned" + rotateToRight: "Roter: Pek Høyre" + rotateToLeft: "Roter: Pek Venstre" + constant_producer: Konstant Produserer + goal_acceptor: Mål Mottaker + block: Blokker + massSelectClear: Tøm Belter about: title: Om dette spillet body: >- @@ -1120,117 +1120,117 @@ demo: exportingBase: Eksporter hele basen som bilde settingNotAvailable: Ikke tilgjengelig i demoversjonen. tips: - - The hub accepts input of any kind, not just the current shape! - - Make sure your factories are modular - it will pay out! - - Don't build too close to the hub, or it will be a huge chaos! - - If stacking does not work, try switching the inputs. - - You can toggle the belt planner direction by pressing R. - - Holding CTRL allows dragging of belts without auto-orientation. - - Ratios stay the same, as long as all upgrades are on the same Tier. - - Serial execution is more efficient than parallel. - - You will unlock more variants of buildings later in the game! - - You can use T to switch between different variants. - - Symmetry is key! - - You can weave different tiers of tunnels. - - Try to build compact factories - it will pay out! - - The painter has a mirrored variant which you can select with T - - Having the right building ratios will maximize efficiency. - - At maximum level, 5 extractors will fill a single belt. - - Don't forget about tunnels! - - You don't need to divide up items evenly for full efficiency. - - Holding SHIFT will activate the belt planner, letting you place - long lines of belts easily. - - Cutters always cut vertically, regardless of their orientation. - - To get white mix all three colors. - - The storage buffer priorities the first output. - - Invest time to build repeatable designs - it's worth it! - - Holding CTRL allows to place multiple buildings. - - You can hold ALT to invert the direction of placed belts. - - Efficiency is key! - - Shape patches that are further away from the hub are more complex. - - Machines have a limited speed, divide them up for maximum efficiency. - - Use balancers to maximize your efficiency. - - Organization is important. Try not to cross conveyors too much. - - Plan in advance, or it will be a huge chaos! - - Don't remove your old factories! You'll need them to unlock upgrades. - - Try beating level 20 on your own before seeking for help! - - Don't complicate things, try to stay simple and you'll go far. - - You may need to re-use factories later in the game. Plan your factories to - be re-usable. - - Sometimes, you can find a needed shape in the map without creating it with - stackers. - - Full windmills / pinwheels can never spawn naturally. - - Color your shapes before cutting for maximum efficiency. - - With modules, space is merely a perception; a concern for mortal men. - - Make a separate blueprint factory. They're important for modules. - - Have a closer look on the color mixer, and your questions will be answered. - - Use CTRL + Click to select an area. - - Building too close to the hub can get in the way of later projects. - - The pin icon next to each shape in the upgrade list pins it to the screen. - - Mix all primary colors together to make white! - - You have an infinite map, don't cramp your factory, expand! - - Also try Factorio! It's my favorite game. - - The quad cutter cuts clockwise starting from the top right! - - You can download your savegames in the main menu! - - This game has a lot of useful keybindings! Be sure to check out the - settings page. - - This game has a lot of settings, be sure to check them out! - - The marker to your hub has a small compass to indicate its direction! - - To clear belts, cut the area and then paste it at the same location. - - Press F4 to show your FPS and Tick Rate. - - Press F4 twice to show the tile of your mouse and camera. - - You can click a pinned shape on the left side to unpin it. + - Hovedbygningen godtar alle mulige former, ikke kun nåværende form! + - Sørg for at dine fabrikker er modulære - det vil betale for seg selv! + - Ikke bygg for nære hovedbygningen. Ellers vil det bli et stort kaos! + - Hvis stabling ikke funker, prøv å bytt inngangene. + - Du kan veksle mellom belteplanleggerens orienterinv ved å trykke R. + - Hold nede CTRL for å dra belter uten auto orientering. + - Fordelingen forblir det samme, så lenge alle oppgraderingene er på samme nivå. + - Seriell utføring er mer effektivt enn paralell utføring. + - Du vil låse opp flere varianter av bygninger senere i spillet! + - Du kan bruke T for å bytte mellom forskjellige varianter. + - Symmetri er nøkkelen! + - Du kan veve forskjellige typer av tuneller. + - Prøv å bygg kompate fabrikker - Det vil betale for seg selv! + - Fargeleggeren har en speilvent variant som du kan velge med T + - Å ha riktig forhold mellom bygningsantall vil maksimisere effektiviteten. + - På maks nivå, vil 5 utdragere fylle et eget belte. + - Ikke glem tunneller! + - Du trenger ikke å dele opp gjenstander jent for maks effektivitet. + - Holdt nede SHIFT for å aktivere belte planleggeren, den lar deg plassere + lange linjer med belter veldig lett. + - Kutteren vil alltid kutte vertikalt, uavhengig av orientasjonen. + - For hvit farge, kombiner alle tre fargene. + - Lagringbygningen prioriterer første utgangen. + - Sett av tid til å bygge repeterbare løsninger - det er verdt det! + - Hold nede CTRL for å plassere flere av samme bygning. + - Du kan holde nede ALT for å reversjere plasseringen av plasserte belter. + - Effektivitet er nøkkelen! + - Form feltene som er lengt unna fra hovedbygget er mer avanserte. + - Bygninger har en begrenset hastighet. Del de opp for maksimum effektivitet. + - Bruk balanserere for å maksimere effektivitet. + - Organisering er viktig. Prøv å ikke kryss belter for mye. + - Planlegg i forveien, ellers vil det bli kaos! + - Ikke fjern dine gamle fabrikker! Du trenger de for å åpne oppgraderinger. + - Prøv å slå nivå 20 på egenhånd før du oppsøker hjelp! + - Ikke overkompliser ting, prøv å gjør det simpelt så kommer du langt. + - Det kan hende at du må gjenbruke fabrikker senere. Planlegg dine fabrikker + til å være gjenbrukbare. + - Noen ganger, kan du finne formen du trenger på kartet uten å lage det med + stablere. + - Fulle vindmøller / pinnehjul finnes ikke naturlig. + - Fargelegg dine former før du kutter de for maks effektivitet. + - Med moduler er plass bare en oppfatning; en bekymring for dødelige mennesker. + - Lag en separat blueprint fabrikk. De er viktig for moduler. + - Sjekk ut fargeblanderen, og dine spørsmål vil bli besvart. + - Bruk CTRL + Trykk for å velge et område. + - Bygge for nære hovedbygnignen kan sette en stopper for senere prosjekter. + - Tegnestift ikonet ved siden av hver form i oppgraderingslisten låser det fast til skjermen. + - Bland alle primærfargene sammen for å lage hvis farge! + - Du har et evit kart. Ikke tett sammen fabrikken, utvid! + - Sjekk også ut Factorio! Det er mitt favorittspill. + - 4veis Kutteren kutter med klokken, starter fra øverst i høyre! + - Du kan laste ned dine lagrede spill på hovedmenyen! + - Dette spillet har mange fornuftige hurtigtaster! Sjekk de ut + på instillinger. + - Dette spillet har masse instillinger, sørg for å sjekke de ut! + - Markøren på hjovedbygningen har et lite kompass for å indikere retningen til den! + - For å tømme belter, kutt området også lim det inn igjen på samme område. + - Trykk F4 for å vise din FPS og Tick Rate. + - Trykk F4 to ganger for å vise ruten til din mus og kamera. + - Du kan trykke på en festet form på venstre for å fjerne festingen. puzzleMenu: - play: Play - edit: Edit - title: Puzzle Mode - createPuzzle: Create Puzzle - loadPuzzle: Load - reviewPuzzle: Review & Publish - validatingPuzzle: Validating Puzzle - submittingPuzzle: Submitting Puzzle - noPuzzles: There are currently no puzzles in this section. + play: Spill + edit: Endre + title: Puslespillmodus + createPuzzle: Lag Puslespill + loadPuzzle: Last inn + reviewPuzzle: Gjennomgå & Publiser + validatingPuzzle: Validerer Puslespill + submittingPuzzle: Publiserer Puslespill + noPuzzles: Det er for tiden ingen puslespill i denne seksjonen. categories: - levels: Levels - new: New - top-rated: Top Rated - mine: My Puzzles - short: Short - easy: Easy - hard: Hard - completed: Completed + levels: Nivåer + new: Ny + top-rated: Høyest Rangert + mine: Mine Puslespill + short: Kort + easy: Lett + hard: Vanskelig + completed: Fullført validation: - title: Invalid Puzzle - noProducers: Please place a Constant Producer! - noGoalAcceptors: Please place a Goal Acceptor! - goalAcceptorNoItem: One or more Goal Acceptors have not yet assigned an item. - Deliver a shape to them to set a goal. - goalAcceptorRateNotMet: One or more Goal Acceptors are not getting enough items. - Make sure that the indicators are green for all acceptors. - buildingOutOfBounds: One or more buildings are outside of the buildable area. - Either increase the area or remove them. - autoComplete: Your puzzle autocompletes itself! Please make sure your constant - producers are not directly delivering to your goal acceptors. + title: Ugyldig Puslespill + noProducers: Venligst plasser en Konstant Produserer! + noGoalAcceptors: Vennligst plasser en Mål Mottaker! + goalAcceptorNoItem: En eller flere Mål Mottakere har ikke blitt tildelt en gjenstand. + Lever en form til dem for å sette målet. + goalAcceptorRateNotMet: En eller flere Mål Mottakere får ikke nok gjenstander. + Sørg for at indikatorene er grønn for alle mottakerene. + buildingOutOfBounds: En eller flere bygninger er utenfor det byggbare området. + Enten øk området eller fjern dem. + autoComplete: Ditt puslespill fullførte seg selv automatisk! Sørg for at dine Konstant Pr + Produserere ikke leverer direkte til dine Mål Mottakere. backendErrors: - ratelimit: You are performing your actions too frequent. Please wait a bit. - invalid-api-key: Failed to communicate with the backend, please try to - update/restart the game (Invalid Api Key). - unauthorized: Failed to communicate with the backend, please try to - update/restart the game (Unauthorized). - bad-token: Failed to communicate with the backend, please try to update/restart - the game (Bad Token). - bad-id: Invalid puzzle identifier. - not-found: The given puzzle could not be found. - bad-category: The given category could not be found. - bad-short-key: The given short key is invalid. - profane-title: Your puzzle title contains profane words. - bad-title-too-many-spaces: Your puzzle title is too short. - bad-shape-key-in-emitter: A constant producer has an invalid item. - bad-shape-key-in-goal: A goal acceptor has an invalid item. - no-emitters: Your puzzle does not contain any constant producers. - no-goals: Your puzzle does not contain any goal acceptors. - short-key-already-taken: This short key is already taken, please use another one. - can-not-report-your-own-puzzle: You can not report your own puzzle. - bad-payload: The request contains invalid data. - bad-building-placement: Your puzzle contains invalid placed buildings. - timeout: The request timed out. + ratelimit: Du gjør en handling for ofte. Vennligst vent litt. + invalid-api-key: Kunne ikke kommunisere med kjernen, vennligst prøv å + oppdater/start spillet på nytt (Ugyldig Api Nøkkel). + unauthorized: Kunne ikke kommunisere med kjernen, vennligst prøv å + oppdater/start spillet på nytt (Uautorisert). + bad-token: Kunne ikke kommunisere med kjernen, vennligst prøv å oppdater/ + start spillet på nytt (Ugyldig token). + bad-id: Ugyldig Puslespill identifikator. + not-found: Det gitte puslespillet kunne ikke bli funnet. + bad-category: Den gitte kategorien kunne ikke bli funnet. + bad-short-key: Den gitte korte koden er ugyldig. + profane-title: Ditt puslespill sitt navn inneholder stygge ord. + bad-title-too-many-spaces: Ditt puslespill sitt navn er for kort. + bad-shape-key-in-emitter: En Konstant Produserer har en ugyldig gjenstand. + bad-shape-key-in-goal: En Mål Mottaker har en ugyldig gjenstand. + no-emitters: Ditt puslespill inneholder ingen Konstante Produserere. + no-goals: Ditt puslespill inndeholder ingen Mål Mottakere. + short-key-already-taken: Denne korte koden er allerede i bruk, vennligst bruk en annen. + can-not-report-your-own-puzzle: Du kan ikke rapportere ditt eget puslespill. + bad-payload: Forespørselen inneholder ugyldig data. + bad-building-placement: Ditt puslespill inneholder ugyldig plasserte bygninger. + timeout: Forespørselen timet ut. From 3739f3c9993bab3fa0e2fa92a82b370d0119c55e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Lapastora?= Date: Sat, 19 Jun 2021 13:31:24 +0200 Subject: [PATCH 13/24] base-es.yaml updated (#1202) * added puzzle DLC translations; fixed a couple * added puzzle DLC translations; fixed a couple * Fix YAML Syntax L79: Had 6 spaces, replaced with 8 spaces (2 tabs), which was the original indent. * Fixed `short key` translation The translation for `short key` didn't fit very well its meaning, it was too literal. I've updated it with something that makes more sense. --- translations/base-es.yaml | 312 +++++++++++++++++++------------------- 1 file changed, 156 insertions(+), 156 deletions(-) diff --git a/translations/base-es.yaml b/translations/base-es.yaml index 0fc02054..bf0ba389 100644 --- a/translations/base-es.yaml +++ b/translations/base-es.yaml @@ -17,7 +17,7 @@ steamPage: what_others_say: Lo que otras personas dicen sobre shapez.io nothernlion_comment: Este juego es estupendo - Estoy teniendo un tiempo maravolloso jugano, y el tiempo ha pasado volando. - notch_comment: Miercoles. Verdaderamente debería dormir, pero creo que acabo de + notch_comment: Miércoles. Verdaderamente debería dormir, pero creo que acabo de descubrir como hacer un ordenador en shapez.io steam_review_comment: Este juego ha robado mi vida y no la quiero de vuelta. Muy relajante juego de fábrica que no me dejará hacer mis lineas más @@ -73,11 +73,11 @@ mainMenu: savegameLevel: Nivel savegameLevelUnknown: Nivel desconocido savegameUnnamed: Sin nombre - puzzleMode: Puzzle Mode - back: Back - puzzleDlcText: Do you enjoy compacting and optimizing factories? Get the Puzzle - DLC now on Steam for even more fun! - puzzleDlcWishlist: Wishlist now! + puzzleMode: Modo Puzle + back: Atrás + puzzleDlcText: ¿Disfrutas compactando y optimizando fábricas? + ¡Consigue ahora el DLC de Puzles en Steam para aún más diversión! + puzzleDlcWishlist: Añádelo ahora a tu lista de deseos! dialogs: buttons: ok: OK @@ -91,9 +91,9 @@ dialogs: viewUpdate: Ver actualización showUpgrades: Ver mejoras showKeybindings: Ver atajos de teclado - retry: Retry - continue: Continue - playOffline: Play Offline + retry: Reintentar + continue: Continuar + playOffline: Jugar Offline importSavegameError: title: Error de importación text: "Fallo al importar tu partida guardada:" @@ -105,7 +105,7 @@ dialogs: text: "No se ha podido cargar la partida guardada:" confirmSavegameDelete: title: Confirmar borrado - text: ¿Estás seguro de querér borrar el siguiente guardado?

+ text: ¿Estás seguro de que quieres borrar el siguiente guardado?

'' que está en el nivel

¡Esto no se puede deshacer! savegameDeletionError: @@ -183,7 +183,7 @@ dialogs: crashear tu juego! editSignal: title: Establecer señal - descItems: "Elige un item pre-definido:" + descItems: "Elige un item predefinido:" descShortKey: ... o escribe la clave de una forma (La cual puedes generar aquí) renameSavegame: @@ -199,64 +199,63 @@ dialogs: editConstantProducer: title: Set Item puzzleLoadFailed: - title: Puzzles failed to load - desc: "Unfortunately the puzzles could not be loaded:" + title: Fallo al cargar los Puzles + desc: "Desafortunadamente, no se pudieron cargar los puzles." submitPuzzle: - title: Submit Puzzle - descName: "Give your puzzle a name:" - descIcon: "Please enter a unique short key, which will be shown as the icon of - your puzzle (You can generate them here, or choose one - of the randomly suggested shapes below):" - placeholderName: Puzzle Title + title: Enviar Puzzle + descName: "Nombra tu puzle:" + descIcon: "Por favor ingresa una clave única, que será el icono de + tu puzle (Puedes generarlas aquí, o escoger una + de las formas sugeridas de forma aleatoria, aquí abajo):" + placeholderName: Título del Puzle puzzleResizeBadBuildings: - title: Resize not possible - desc: You can't make the zone any smaller, because then some buildings would be - outside the zone. + title: No es posible cambiar el tamaño + desc: No puedes hacer el área más pequeña, puesto que algunos edificios estarían fuera de esta. puzzleLoadError: - title: Bad Puzzle - desc: "The puzzle failed to load:" + title: Fallo al cargar el puzle + desc: "No se pudo cargar el puzle:" offlineMode: - title: Offline Mode - desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + title: Modo sin conexión + desc: No pudimos conectar con los servidores, y por ello el juego debe funcionar en el modo sin conexión. + Por favor asegúrate de que tu conexión a internet funciona correctamente. puzzleDownloadError: - title: Download Error - desc: "Failed to download the puzzle:" + title: Fallo al descargar + desc: "Fallo al descargar el puzle:" puzzleSubmitError: - title: Submission Error - desc: "Failed to submit your puzzle:" + title: Error al enviar + desc: "No pudimos enviar tu puzle:" puzzleSubmitOk: - title: Puzzle Published - desc: Congratulations! Your puzzle has been published and can now be played by - others. You can now find it in the "My puzzles" section. + title: Puzle Publicado + desc: ¡Enhorabuena! Tu puzle ha sido publicado y ahora pueden jugarlo otros. Puedes encontrarlo + en la sección "Mis puzles". puzzleCreateOffline: - title: Offline Mode - desc: Since you are offline, you will not be able to save and/or publish your - puzzle. Would you still like to continue? + title: Modo sin conexión + desc: Puesto que estás sin conexión, no podrás guardar y/o publicar tu + puzle. ¿Quieres continuar igualmente? puzzlePlayRegularRecommendation: - title: Recommendation - desc: I strongly recommend playing the normal game to level 12 - before attempting the puzzle DLC, otherwise you may encounter - mechanics not yet introduced. Do you still want to continue? + title: Recomendación + desc: Te recomiendo fuertemente jugar el juego normal hasta el nivel 12 + antes de intentar el DLC de puzles, de otra manera puede que te encuentres con + mecánicas que aún no hemos introducido. ¿Quieres continuar igualmente? puzzleShare: - title: Short Key Copied - desc: The short key of the puzzle () has been copied to your clipboard! It - can be entered in the puzzle menu to access the puzzle. + title: Clave Copiada + desc: Hemos copiado la clave de tu puzle () a tu portapapeles! Puedes + ponerlo en el menú de puzles para acceder al puzle. puzzleReport: - title: Report Puzzle + title: Reportar Puzle options: - profane: Profane - unsolvable: Not solvable - trolling: Trolling + profane: Lenguaje soez + unsolvable: Imposible de resolver + trolling: Troll puzzleReportComplete: - title: Thank you for your feedback! - desc: The puzzle has been flagged. + title: ¡Gracias por tu aporte! + desc: El puzle ha sido marcado como abuso. puzzleReportError: - title: Failed to report - desc: "Your report could not get processed:" + title: No se pudo reportar + desc: "No pudimos procesar tu informe:" puzzleLoadShortKey: - title: Enter short key - desc: Enter the short key of the puzzle to load it. + title: Introducir clave + desc: Introduce la clave del puzle para cargarlo. ingame: keybindingsOverlay: moveMap: Mover @@ -391,7 +390,7 @@ ingame: 21_3_place_button: ¡Genial! ¡Ahora pon un Interruptor y conéctalo con cables! 21_4_press_button: "Presiona el interruptor para hacer que emita una - señal verdadera lo cual activa el pintador.

PD: + señal
lo cual activa el pintador.

PD: ¡No necesitas conectar todas las entradas! Intenta conectando sólo dos." connectedMiners: @@ -431,43 +430,43 @@ ingame: title: Logros desc: Atrapalos a todos! puzzleEditorSettings: - zoneTitle: Zone - zoneWidth: Width - zoneHeight: Height - trimZone: Trim - clearItems: Clear Items - share: Share - report: Report + zoneTitle: Área + zoneWidth: Anchura + zoneHeight: Altura + trimZone: Área de recorte + clearItems: Eliminar todos los elementos + share: Compartir + report: Reportar puzzleEditorControls: - title: Puzzle Creator + title: Editor de Puzles instructions: - - 1. Place Constant Producers to provide shapes and - colors to the player - - 2. Build one or more shapes you want the player to build later and - deliver it to one or more Goal Acceptors - - 3. Once a Goal Acceptor receives a shape for a certain amount of - time, it saves it as a goal that the player must - produce later (Indicated by the green badge). - - 4. Click the lock button on a building to disable - it. - - 5. Once you click review, your puzzle will be validated and you - can publish it. - - 6. Upon release, all buildings will be removed - except for the Producers and Goal Acceptors - That's the part that - the player is supposed to figure out for themselves, after all :) + - 1. Pon Productores Constantes para proveer al jugador + de formas y colores. + - 2. Construye una o más formas que quieres que el jugador construya más tarde y + llévalo hacia uno o más Aceptadores de Objetivos. + - 3. Cuando un Aceptador de Objetivos recibe una forma por cierto tiempo, + la guarda como un objetivo que el jugador debe producir + más tarde (Lo sabrás por el indicador verde). + - 4. Haz clic en el candado de un edificio para + desactivarlo. + - 5. Una vez hagas clic en "revisar", tu puzle será validado y podrás + publicarlo. + - 6. Una vez publicado, todos los edificios serán eliminados + excepto los Productores and Aceptadores de Objetivo - Esa es la parte que + el jugador debe averiguar por sí mismo, después de todo :) puzzleCompletion: - title: Puzzle Completed! - titleLike: "Click the heart if you liked the puzzle:" - titleRating: How difficult did you find the puzzle? - titleRatingDesc: Your rating will help me to make you better suggestions in the future - continueBtn: Keep Playing - menuBtn: Menu + title: Puzle Completado! + titleLike: "Haz click en el corazón si te gustó el puzle:" + titleRating: ¿Cuánta dificultad tuviste al resolver el puzle? + titleRatingDesc: Tu puntuación me ayudará a hacerte mejores sugerencias en el futuro + continueBtn: Continuar Jugando + menuBtn: Menú puzzleMetadata: - author: Author - shortKey: Short Key - rating: Difficulty score - averageDuration: Avg. Duration - completionRate: Completion rate + author: Autor + shortKey: Clave + rating: Puntuación de dificultad + averageDuration: Duración media + completionRate: Índice de finalización shopUpgrades: belt: name: Cintas transportadoras, Distribuidores y Túneles @@ -486,7 +485,7 @@ buildings: deliver: Entregar toUnlock: para desbloquear levelShortcut: Nivel - endOfDemo: Final de la demo + endOfDemo: Fin de la demo belt: default: name: Cinta Transportadora @@ -535,7 +534,7 @@ buildings: name: Rotador (Inverso) description: Rota las figuras en sentido antihorario 90 grados. rotate180: - name: Rotador (180) + name: Rotador (180º) description: Rota formas en 180 grados. stacker: default: @@ -570,7 +569,7 @@ buildings: description: Acepta formas desde todos los lados y las destruye. Para siempre. balancer: default: - name: Balanceador + name: Equlibrador description: Multifuncional - Distribuye igualmente todas las entradas en las salidas. merger: @@ -593,11 +592,11 @@ buildings: desbordamiento. wire_tunnel: default: - name: Cruze de cables + name: Cruce de cables description: Permite que dos cables se cruzen sin conectarse. constant_signal: default: - name: Señal costante + name: Señal constante description: Emite una señal constante, que puede ser una forma, color o valor booleano (1 / 0). lever: @@ -682,20 +681,20 @@ buildings: item_producer: default: name: Productor de items - description: Solo disponible en modo libre, envía la señal recivida de la capa + description: Solo disponible en modo libre, envía la señal recibida de la capa de cables en la capa regular. constant_producer: default: - name: Constant Producer - description: Constantly outputs a specified shape or color. + name: Productor de una sola pieza + description: Da constantemente la figura o el color especificados. goal_acceptor: default: - name: Goal Acceptor - description: Deliver shapes to the goal acceptor to set them as a goal. + name: Aceptador de objetivos + description: Tranporta figuras al aceptador de objetivos para ponerlas como objetivo. block: default: - name: Block - description: Allows you to block a tile. + name: Bloque + description: Permite bloquear una celda. storyRewards: reward_cutter_and_trash: title: Cortador de figuras @@ -768,15 +767,15 @@ storyRewards: como una puerta de desbordamiento! reward_freeplay: title: Juego libre - desc: ¡Lo hiciste! Haz desbloqueado el modo de juego libre! + desc: ¡Lo hiciste! Has desbloqueado el modo de juego libre! ¡Esto significa que las formas ahora son - aleatoriamente generadas!

Debído a que - desde ahora de adelante el Centro pedrirá una cantidad especifica de - formas por segundo ¡Te recomiendo encarecidamente - que construyas una maquina que automáticamente envíe la forma + aleatoriamente generadas!

Debido a que + desde ahora de adelante el Centro pedirá una cantidad específica de + formas por segundo, ¡Te recomiendo encarecidamente + que construyas una máquina que automáticamente envíe la forma pedida!

El Centro emite la forma pedida en la capa de cables, así que todo lo que tienes que hacer es analizarla y - automaticamente configurar tu fabrica basada en ello. + automáticamente configurar tu fábrica basada en ello. reward_blueprints: title: Planos desc: ¡Ahora puedes copiar y pegar partes de tu fábrica! @@ -1219,56 +1218,57 @@ tips: cámara. - Puedes hacer clic en una forma fijada en el lado izquierdo para desfijarla. puzzleMenu: - play: Play - edit: Edit - title: Puzzle Mode - createPuzzle: Create Puzzle - loadPuzzle: Load - reviewPuzzle: Review & Publish - validatingPuzzle: Validating Puzzle - submittingPuzzle: Submitting Puzzle - noPuzzles: There are currently no puzzles in this section. + play: Jugar + edit: Editar + title: Puzles + createPuzzle: Crear Puzle + loadPuzzle: Cargar + reviewPuzzle: Revisar y Publicar + validatingPuzzle: Validando Puzle + submittingPuzzle: Enviando Puzzle + noPuzzles: Ahora mismo no hay puzles en esta sección. categories: - levels: Levels - new: New - top-rated: Top Rated - mine: My Puzzles - short: Short - easy: Easy - hard: Hard - completed: Completed + levels: Niveles + new: Nuevos + top-rated: Los mejor valorados + mine: Mis Puzles + short: Breves + easy: Fáciles + hard: Difíciles + completed: Completados validation: - title: Invalid Puzzle - noProducers: Please place a Constant Producer! - noGoalAcceptors: Please place a Goal Acceptor! - goalAcceptorNoItem: One or more Goal Acceptors have not yet assigned an item. - Deliver a shape to them to set a goal. - goalAcceptorRateNotMet: One or more Goal Acceptors are not getting enough items. - Make sure that the indicators are green for all acceptors. - buildingOutOfBounds: One or more buildings are outside of the buildable area. - Either increase the area or remove them. - autoComplete: Your puzzle autocompletes itself! Please make sure your constant - producers are not directly delivering to your goal acceptors. + title: Puzle no válido + noProducers: Por favor, ¡pon un Productor de una sola pieza! + noGoalAcceptors: Por favor , ¡pon un Aceptador de objetivos! + goalAcceptorNoItem: Uno o más aceptadores de objetivos no tienen asignado un elemento. + Transporta una forma hacia ellos para poner un objetivo. + goalAcceptorRateNotMet: Uno o más aceptadores de objetivos no están recibiendo suficientes + elementos. Asegúrate de que los indicadores están verdes para todos los aceptadores. + buildingOutOfBounds: Uno o más edificios están fuera del área en la que puedes construir. + Aumenta el área o quítalos. + autoComplete: ¡Tu puzle se completa solo! Asegúrate de que tus productores de un solo elemento + no están conectados directamente a tus aceptadores de objetivos. backendErrors: - ratelimit: You are performing your actions too frequent. Please wait a bit. - invalid-api-key: Failed to communicate with the backend, please try to - update/restart the game (Invalid Api Key). - unauthorized: Failed to communicate with the backend, please try to - update/restart the game (Unauthorized). - bad-token: Failed to communicate with the backend, please try to update/restart - the game (Bad Token). - bad-id: Invalid puzzle identifier. - not-found: The given puzzle could not be found. - bad-category: The given category could not be found. - bad-short-key: The given short key is invalid. - profane-title: Your puzzle title contains profane words. - bad-title-too-many-spaces: Your puzzle title is too short. - bad-shape-key-in-emitter: A constant producer has an invalid item. - bad-shape-key-in-goal: A goal acceptor has an invalid item. - no-emitters: Your puzzle does not contain any constant producers. - no-goals: Your puzzle does not contain any goal acceptors. - short-key-already-taken: This short key is already taken, please use another one. - can-not-report-your-own-puzzle: You can not report your own puzzle. - bad-payload: The request contains invalid data. - bad-building-placement: Your puzzle contains invalid placed buildings. - timeout: The request timed out. + ratelimit: Estás haciendo tus acciones con demasiada frecuencia. Por favor, espera un poco. + invalid-api-key: No pudimos conectar con el servidor, por favor intenta + actualizar/reiniciar el juego (Key de API Inválida). + unauthorized: No pudimos conectar con el servidor, por favor intenta + actualizar/reiniciar el juego (Sin Autorización). + bad-token: No pudimos conectar con el servidor, por favor intenta + actualizar/reiniciar el juego (Mal Token). + + bad-id: El identificador del puzle no es válido. + not-found: No pudimos encontrar ese puzle. + bad-category: No pudimos encontar esa categoría. + bad-short-key: La clave que nos diste no es válida. + profane-title: El título de tu puzle contiene lenguaje soez. + bad-title-too-many-spaces: El título de tu puzle es demasiado breve. + bad-shape-key-in-emitter: Un productor de un solo elemento tiene un elemento no válido. + bad-shape-key-in-goal: Un aceptador de objetivos tiene un elemento no válido. + no-emitters: Tu puzle no contiene ningún productor de un solo item. + no-goals: Tu puzle no contiene ningún aceptador de objetivos. + short-key-already-taken: Esta clave ya está siendo usada, por favor usa otra. + can-not-report-your-own-puzzle: No pudes reportar tu propio puzle. + bad-payload: La petición contiene datos no válidos. + bad-building-placement: Tu puzle contiene edificios en posiciones no válidas. + timeout: El tiempo para la solicitud ha expirado. From 9715fc15633e1f66ae0d66abd983cf30352ec2c0 Mon Sep 17 00:00:00 2001 From: NullTesla Date: Sat, 19 Jun 2021 17:14:18 +0300 Subject: [PATCH 14/24] Update base-ru.yaml (#1205) Translation of Puzzle DLC. --- translations/base-ru.yaml | 100 +++++++++++++++++++------------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/translations/base-ru.yaml b/translations/base-ru.yaml index 77c35317..95f1ee0f 100644 --- a/translations/base-ru.yaml +++ b/translations/base-ru.yaml @@ -1196,56 +1196,56 @@ tips: - Нажмите F4 дважды, чтобы показать координаты курсора и камеры. - Вы можете нажать на закрепленную фигуру слева, чтобы открепить её. puzzleMenu: - play: Play - edit: Edit - title: Puzzle Mode - createPuzzle: Create Puzzle - loadPuzzle: Load - reviewPuzzle: Review & Publish - validatingPuzzle: Validating Puzzle - submittingPuzzle: Submitting Puzzle - noPuzzles: There are currently no puzzles in this section. + play: Играть + edit: Редактировать + title: Режим головоломок + createPuzzle: Создать головоломку + loadPuzzle: Загрузить + reviewPuzzle: Просмотреть и опубликовать + validatingPuzzle: Подтверждение головоломки + submittingPuzzle: Отправка головоломки + noPuzzles: В данный момент в этом разделе нет головоломок. categories: - levels: Levels - new: New - top-rated: Top Rated - mine: My Puzzles - short: Short - easy: Easy - hard: Hard - completed: Completed + levels: Уровни + new: Новые + top-rated: Популярные + mine: Мои головоломки + short: Короткие + easy: Простые + hard: Сложные + completed: Завершенные validation: - title: Invalid Puzzle - noProducers: Please place a Constant Producer! - noGoalAcceptors: Please place a Goal Acceptor! - goalAcceptorNoItem: One or more Goal Acceptors have not yet assigned an item. - Deliver a shape to them to set a goal. - goalAcceptorRateNotMet: One or more Goal Acceptors are not getting enough items. - Make sure that the indicators are green for all acceptors. - buildingOutOfBounds: One or more buildings are outside of the buildable area. - Either increase the area or remove them. - autoComplete: Your puzzle autocompletes itself! Please make sure your constant - producers are not directly delivering to your goal acceptors. + title: Недействительная головоломка + noProducers: Пожалуйста, разместисте постоянный производитель! + noGoalAcceptors: Пожалуйста, разместите приемник цели! + goalAcceptorNoItem: Одному или несколькоим приеминкам цели не назначен предмет. + Доставьте к ним фигуру, чтоб установить цель. + goalAcceptorRateNotMet: Один или несколько приемников цели не получают достаточно предметов. + Убедитесь, что индикаторы всех приемников зеленые. + buildingOutOfBounds: Одно или несколько зданий находятся за пределами зоны строительства. + Либо увеличьте зону, либо удалите их. + autoComplete: Ваша головоломка завершится автоматически! Убедитесь, что ваши постоянные + производители не доставляют фигуры напрямую приемникам цели. backendErrors: - ratelimit: You are performing your actions too frequent. Please wait a bit. - invalid-api-key: Failed to communicate with the backend, please try to - update/restart the game (Invalid Api Key). - unauthorized: Failed to communicate with the backend, please try to - update/restart the game (Unauthorized). - bad-token: Failed to communicate with the backend, please try to update/restart - the game (Bad Token). - bad-id: Invalid puzzle identifier. - not-found: The given puzzle could not be found. - bad-category: The given category could not be found. - bad-short-key: The given short key is invalid. - profane-title: Your puzzle title contains profane words. - bad-title-too-many-spaces: Your puzzle title is too short. - bad-shape-key-in-emitter: A constant producer has an invalid item. - bad-shape-key-in-goal: A goal acceptor has an invalid item. - no-emitters: Your puzzle does not contain any constant producers. - no-goals: Your puzzle does not contain any goal acceptors. - short-key-already-taken: This short key is already taken, please use another one. - can-not-report-your-own-puzzle: You can not report your own puzzle. - bad-payload: The request contains invalid data. - bad-building-placement: Your puzzle contains invalid placed buildings. - timeout: The request timed out. + ratelimit: Вы слишком часто выполняете свои действия. Подождите немного. + invalid-api-key: Не удалось связаться с сервером, попробуйте обновить/перезапустить + игру (Invalid Api Key). + unauthorized: Не удалось связаться с сервером, попробуйте обновить/перезапустить + игру (Unauthorized). + bad-token: Не удалось связаться с сервером, попробуйте обновить/перезапустить + игру (Bad Token). + bad-id: Недействительный идентификатор головоломки. + not-found: Данная головломка не может быть найдена. + bad-category: Данная категория не может быть найдена. + bad-short-key: Данный короткий ключ недействителен. + profane-title: Название вашей головоломки содержит нецензурные слова. + bad-title-too-many-spaces: Название вашей головоломки слишком короткое. + bad-shape-key-in-emitter: Недопустимный предмет у постоянного производителя. + bad-shape-key-in-goal: Недопустимный предмет у применика цели. + no-emitters: Ваша головоломка не содержит постоянных производителей. + no-goals: Ваша головоломка не содержит приемников цели. + short-key-already-taken: Этот короткий ключ уже занят, используйте другой. + can-not-report-your-own-puzzle: Вы не можете пожаловаться на собственную головоломку. + bad-payload: Запрос содержит неверные данные. + bad-building-placement: Ваша головоломка содержит неверно размещенные здания. + timeout: Время ожидания запроса истекло. From d6e07b27c87fbeeeff7629474d678ff0e059c565 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roland=20Szab=C3=B3?= Date: Sat, 19 Jun 2021 16:14:43 +0200 Subject: [PATCH 15/24] Dlc hungarian translation (#1206) * WIP * DLC Hungarian Translation --- translations/base-hu.yaml | 328 +++++++++++++++++++------------------- 1 file changed, 163 insertions(+), 165 deletions(-) diff --git a/translations/base-hu.yaml b/translations/base-hu.yaml index 50830b1e..b91c6020 100644 --- a/translations/base-hu.yaml +++ b/translations/base-hu.yaml @@ -11,14 +11,14 @@ steamPage: És ha ez nem lenne elég, exponenciálisan többet kell termelned az igények kielégítése érdekében - az egyetlen dolog, ami segít, az a termelés mennyisége! Az alakzatokat a játék elején csak feldolgoznod kell, később azonban színezned is kell őket - ehhez bányászni és keverni kell a színeket! A játék Steamen történő megvásárlása hozzáférést biztosít a teljes verzióhoz, de kipróbálhatod a játékot a shapez.io oldalon, és később dönthetsz! - what_others_say: What people say about shapez.io - nothernlion_comment: This game is great - I'm having a wonderful time playing, - and time has flown by. - notch_comment: Oh crap. I really should sleep, but I think I just figured out - how to make a computer in shapez.io - steam_review_comment: This game has stolen my life and I don't want it back. - Very chill factory game that won't let me stop making my lines more - efficient. + what_others_say: Mit mondanak mások a shapez.io-ról + nothernlion_comment: Ez a játék nagyszerű - Csodás élmény vele játszani, + az idő meg csak repül. + notch_comment: Basszus... aludnom kéne, de épp most jöttem rá, + hogyan tudok számítógépet építeni a shapez.io-ban! + steam_review_comment: Ez a játék ellopta az életemet, de nem kérem vissza! + Nagyon nyugis gyárépítős játék, amiben nem győzöm a futószalagjaimat + optimalizálni. global: loading: Betöltés error: Hiba @@ -50,7 +50,7 @@ global: escape: ESC shift: SHIFT space: SZÓKÖZ - loggingIn: Logging in + loggingIn: Bejelentkezés demoBanners: title: Demó verzió intro: Vásárold meg az Önálló Verziót a teljes játékélményért! @@ -70,11 +70,11 @@ mainMenu: savegameLevel: . szint savegameLevelUnknown: Ismeretlen szint savegameUnnamed: Névtelen - puzzleMode: Puzzle Mode - back: Back - puzzleDlcText: Do you enjoy compacting and optimizing factories? Get the Puzzle - DLC now on Steam for even more fun! - puzzleDlcWishlist: Wishlist now! + puzzleMode: Fejtörő Mód + back: Vissza + puzzleDlcText: Szereted optimalizálni a gyáraid méretét és hatákonyságát? Szerezd meg a Puzzle + DLC-t a Steamen most! + puzzleDlcWishlist: Kívánságlistára vele! dialogs: buttons: ok: OK @@ -88,9 +88,9 @@ dialogs: viewUpdate: Frissítés Megtekintése showUpgrades: Fejlesztések showKeybindings: Irányítás - retry: Retry - continue: Continue - playOffline: Play Offline + retry: Újra + continue: Folytatás + playOffline: Offline Játék importSavegameError: title: Importálás Hiba text: "Nem sikerült importálni a mentésedet:" @@ -192,66 +192,66 @@ dialogs: desc: Elérhető egy oktatóvideó ehhez a szinthez, de csak angol nyelven. Szeretnéd megnézni? editConstantProducer: - title: Set Item + title: Elem beállítása puzzleLoadFailed: - title: Puzzles failed to load - desc: "Unfortunately the puzzles could not be loaded:" + title: Fejtörő betöltése sikertelen + desc: "Sajnos a fejtörőt nem sikerült betölteni:" submitPuzzle: - title: Submit Puzzle - descName: "Give your puzzle a name:" - descIcon: "Please enter a unique short key, which will be shown as the icon of - your puzzle (You can generate them here, or choose one - of the randomly suggested shapes below):" - placeholderName: Puzzle Title + title: Fejtörő Beküldése + descName: "Adj nevet a fejtörődnek:" + descIcon: "Írj be egy egyedi gyorskódot, ami a fejtörőd ikonja lesz + (itt tudod legenerálni, vagy válassz egyet az alábbi + random generált alakzatok közül):" + placeholderName: Fejtörő Neve puzzleResizeBadBuildings: - title: Resize not possible - desc: You can't make the zone any smaller, because then some buildings would be - outside the zone. + title: Átméretezés nem lehetséges + desc: Nem tudod tovább csökkenteni a zóna méretét, mert bizonyos épületek + kilógnának a zónából. puzzleLoadError: - title: Bad Puzzle - desc: "The puzzle failed to load:" + title: Hibás Fejtörő + desc: "A fejtörőt nem sikerült betölteni:" offlineMode: - title: Offline Mode - desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + title: Offline Mód + desc: Nem tudjuk elérni a szervereket, így a játék Offline módban fut. + Kérlek győződj meg róla, hogy megfelelő az internetkapcsolatod. puzzleDownloadError: - title: Download Error - desc: "Failed to download the puzzle:" + title: Letöltési Hiba + desc: "Nem sikerült letölteni a fejtörőt:" puzzleSubmitError: - title: Submission Error - desc: "Failed to submit your puzzle:" + title: Beküldési Hiba + desc: "Nem sikerült beküldeni a fejtörőt:" puzzleSubmitOk: - title: Puzzle Published - desc: Congratulations! Your puzzle has been published and can now be played by - others. You can now find it in the "My puzzles" section. + title: Fejtörő Közzétéve + desc: Gratulálunk! A fejtörődet közzétettük, így mások által is játszhatóvá + vált. A fejtörőidet a "Fejtörőim" ablakban találod. puzzleCreateOffline: - title: Offline Mode - desc: Since you are offline, you will not be able to save and/or publish your - puzzle. Would you still like to continue? + title: Offline Mód + desc: Offline módban nem lehet elmenteni és közzétenni a fejtörődet. + Szeretnéd így is folytatni? puzzlePlayRegularRecommendation: - title: Recommendation - desc: I strongly recommend playing the normal game to level 12 - before attempting the puzzle DLC, otherwise you may encounter - mechanics not yet introduced. Do you still want to continue? + title: Javaslat + desc: A Puzzle DLC előtt erősen ajánlott az alapjátékot legalább + a 12-dik Szintig kijátszani. Ellenekző esetben olyan mechanikákkal találkozhatsz, + amelyeket még nem ismersz. Szeretnéd így is folytatni? puzzleShare: - title: Short Key Copied - desc: The short key of the puzzle () has been copied to your clipboard! It - can be entered in the puzzle menu to access the puzzle. + title: Gyorskód Másolva a Vágólapra + desc: A fejtörő gyorskódját () kimásoltad a vágólapra! A Fejtörők menüben + beillesztve betöltheted vele a fejtörőt. puzzleReport: - title: Report Puzzle + title: Fejtörő Jelentése options: - profane: Profane - unsolvable: Not solvable - trolling: Trolling + profane: Durva + unsolvable: Nem megoldható + trolling: Trollkodás puzzleReportComplete: - title: Thank you for your feedback! - desc: The puzzle has been flagged. + title: Köszönjük a visszajelzésedet! + desc: A fejtörőt sikeresen jelentetted. puzzleReportError: - title: Failed to report - desc: "Your report could not get processed:" + title: Nem sikerült jelenteni + desc: "A jelentésedet nem tudtuk feldolgozni:" puzzleLoadShortKey: - title: Enter short key - desc: Enter the short key of the puzzle to load it. + title: Gyorskód Beillesztése + desc: Illeszd be a gyorskódot, hogy betöltsd a Fejtörőt. ingame: keybindingsOverlay: moveMap: Mozgatás @@ -273,7 +273,7 @@ ingame: clearSelection: Kijelölés megszüntetése pipette: Pipetta switchLayers: Réteg váltás - clearBelts: Clear belts + clearBelts: Futószalagok Kiürítése colors: red: Piros green: Zöld @@ -421,46 +421,46 @@ ingame: title: Támogass desc: A játékot továbbfejlesztem szabadidőmben achievements: - title: Achievements - desc: Hunt them all! + title: Steam Achievementek + desc: Szerezd meg mindet! puzzleEditorSettings: - zoneTitle: Zone - zoneWidth: Width - zoneHeight: Height - trimZone: Trim - clearItems: Clear Items - share: Share - report: Report + zoneTitle: Zóna + zoneWidth: Szélesség + zoneHeight: Magasság + trimZone: Üres szegélyek levásága + clearItems: Elemek eltávolítása + share: Megosztás + report: Jelentés puzzleEditorControls: - title: Puzzle Creator + title: Fejtörő Készítő instructions: - - 1. Place Constant Producers to provide shapes and - colors to the player - - 2. Build one or more shapes you want the player to build later and - deliver it to one or more Goal Acceptors - - 3. Once a Goal Acceptor receives a shape for a certain amount of - time, it saves it as a goal that the player must - produce later (Indicated by the green badge). - - 4. Click the lock button on a building to disable - it. - - 5. Once you click review, your puzzle will be validated and you - can publish it. - - 6. Upon release, all buildings will be removed - except for the Producers and Goal Acceptors - That's the part that - the player is supposed to figure out for themselves, after all :) + - 1. Helyezz le Termelőket, amelyek alakzatokat és színeket + generálnak a játékosoknak. + - 2. Készíts el egy vagy több alakzatot, amit szeretnél, hogy a játékos később legyártson, + és szállítsd el egy vagy több Elfogadóba. + - 3. Amint az Elfogadóba folyamatosan érkeznek az alakzatok, + elmenti, mint célt, amit a játékosnak később + teljesítenie kell (Ezt a zöld jelölő mutatja). + - 4. Kattints a Lezárás gombra egy épületen, hogy + felfüggeszd azt. + - 5. A fejtörőd beküldésekor átnézzük azt, majd lehetőséged lesz + közzétenni. + - 6. A fejtörő kiadásakor, minden épület törlődik, + kivéve a Termelők és az Elfogadók - a többit ugyebár a játékosnak + kell majd kitalálnia :) puzzleCompletion: - title: Puzzle Completed! - titleLike: "Click the heart if you liked the puzzle:" - titleRating: How difficult did you find the puzzle? - titleRatingDesc: Your rating will help me to make you better suggestions in the future - continueBtn: Keep Playing - menuBtn: Menu + title: Fejtörő Teljesítve! + titleLike: "Kattins a ♥ gombra, ha tetszett a fejtörő:" + titleRating: Mennyire találtad nehéznek a fejtörőt? + titleRatingDesc: Az értékelésed lehetővé teszi, hogy okosabb javaslatokat kapj a jövőben + continueBtn: Játék Folytatása + menuBtn: Menü puzzleMetadata: - author: Author - shortKey: Short Key - rating: Difficulty score - averageDuration: Avg. Duration - completionRate: Completion rate + author: Szerző + shortKey: Gyorskód + rating: Nehézség + averageDuration: Átlagos Időtartam + completionRate: Teljesítési Arány shopUpgrades: belt: name: Futószalagok, Elosztók & Alagutak @@ -672,16 +672,16 @@ buildings: beállított jelet a normál rétegen. constant_producer: default: - name: Constant Producer - description: Constantly outputs a specified shape or color. + name: Termelő + description: Folyamatosan termeli a beállított alakzatot vagy színt. goal_acceptor: default: - name: Goal Acceptor - description: Deliver shapes to the goal acceptor to set them as a goal. + name: Elfogadó + description: Szállíts alakzatoakt az Elfogadóba, hogy beállítsd egy Fejtörő céljaként. block: default: - name: Block - description: Allows you to block a tile. + name: Blokkolás + description: Lehetővé teszi, hogy leblokkolj egy csempét. storyRewards: reward_cutter_and_trash: title: Alakzatok Vágása @@ -1089,14 +1089,14 @@ keybindings: placementDisableAutoOrientation: Automatikus irány kikapcsolása placeMultiple: Több lehelyezése placeInverse: Futószalag irányának megfordítása - rotateToUp: "Rotate: Point Up" - rotateToDown: "Rotate: Point Down" - rotateToRight: "Rotate: Point Right" - rotateToLeft: "Rotate: Point Left" - constant_producer: Constant Producer - goal_acceptor: Goal Acceptor - block: Block - massSelectClear: Clear belts + rotateToUp: "Forgatás: Felfelé" + rotateToDown: "Forgatás: Lefelé" + rotateToRight: "Forgatás: Jobbra" + rotateToLeft: "Forgatás: Balra" + constant_producer: Termelő + goal_acceptor: Elfogadó + block: Blokkolás + massSelectClear: Futószalagok Kiürítése about: title: A Játékról body: >- @@ -1132,7 +1132,7 @@ tips: - Serial execution is more efficient than parallel. - A szimmetria kulcsfontosságú! - You can use T to switch between different variants. - - Symmetry is key! + - A szimmetria kulcsfontosságú! - Az épületek megfelelő arányban való építésével maximalizálható a hatékonyság. - A legmagasabb szinten 5 Bánya teljesen megtölt egy Futószalagot. @@ -1168,7 +1168,7 @@ tips: - A Fejlesztések lapon a gombostű ikon megnyomásával kitűzheted a képernyőre az aktuális alakzatot. - Keverd össze mind a három alapszínt, hogy Fehéret csinálj! - - A pálya végtelen méretű; ne nyomorgasd sösze a gyáraidat, terjeszkedj! + - A pálya végtelen méretű; ne nyomorgasd össze a gyáraidat, terjeszkedj! - Próbáld ki a Factorio-t is! Az a kedvenc játékom. - A Negyedelő az alakzat jobb felső negyedétől kezd vágni, az óramutató járásával megegyező irányban! @@ -1187,60 +1187,58 @@ tips: - This game has a lot of settings, be sure to check them out! - Your hub marker has a small compass that shows which direction it is in! - To clear belts, cut the area and then paste it at the same location. - - Press F4 to show your FPS and Tick Rate. - - Press F4 twice to show the tile of your mouse and camera. - You can click a pinned shape on the left side to unpin it. puzzleMenu: - play: Play - edit: Edit - title: Puzzle Mode - createPuzzle: Create Puzzle - loadPuzzle: Load - reviewPuzzle: Review & Publish - validatingPuzzle: Validating Puzzle - submittingPuzzle: Submitting Puzzle - noPuzzles: There are currently no puzzles in this section. + play: Játék + edit: Szerkesztés + title: Fejtörő Mód + createPuzzle: Új Fejtörő + loadPuzzle: Betöltés + reviewPuzzle: Beküldés & Publikálás + validatingPuzzle: Fejtörő Validálása + submittingPuzzle: Fejtörő Beküldése + noPuzzles: Jelenleg nincs fejtörő ebben a szekcióban. categories: - levels: Levels - new: New - top-rated: Top Rated - mine: My Puzzles - short: Short - easy: Easy - hard: Hard - completed: Completed + levels: Szintek + new: Új + top-rated: Legjobbra Értékelt + mine: Az Én Fejtörőim + short: Rövid + easy: Könnyű + hard: Nehéz + completed: Teljesítve validation: - title: Invalid Puzzle - noProducers: Please place a Constant Producer! - noGoalAcceptors: Please place a Goal Acceptor! - goalAcceptorNoItem: One or more Goal Acceptors have not yet assigned an item. - Deliver a shape to them to set a goal. - goalAcceptorRateNotMet: One or more Goal Acceptors are not getting enough items. - Make sure that the indicators are green for all acceptors. - buildingOutOfBounds: One or more buildings are outside of the buildable area. - Either increase the area or remove them. - autoComplete: Your puzzle autocompletes itself! Please make sure your constant - producers are not directly delivering to your goal acceptors. + title: Hibás Fejtörő + noProducers: Helyezz le egy Termelőt! + noGoalAcceptors: Helyezz le egy Elfogadót! + goalAcceptorNoItem: Egy vagy több Elfogadónál nincs beállítva célként alakzat. + Szállíts le egy alazkatot a cél beállításához. + goalAcceptorRateNotMet: Egy vagy több Elfogadó nem kap elegendő alakzatot. + Győződj meg róla, hogy a jelölő minden Elfogadónál zölden világít. + buildingOutOfBounds: Egy vagy több épület kívül esik a beépíthető területen. + Növeld meg a terület méretét, vagy távolíts el épületeket. + autoComplete: A fejtörő automatikusan megoldja magát! Győződj meg róla, hogy a + Termelők nem közvetlenül az Elfogadóba termelnek. backendErrors: - ratelimit: You are performing your actions too frequent. Please wait a bit. - invalid-api-key: Failed to communicate with the backend, please try to - update/restart the game (Invalid Api Key). - unauthorized: Failed to communicate with the backend, please try to - update/restart the game (Unauthorized). - bad-token: Failed to communicate with the backend, please try to update/restart - the game (Bad Token). - bad-id: Invalid puzzle identifier. - not-found: The given puzzle could not be found. - bad-category: The given category could not be found. - bad-short-key: The given short key is invalid. - profane-title: Your puzzle title contains profane words. - bad-title-too-many-spaces: Your puzzle title is too short. - bad-shape-key-in-emitter: A constant producer has an invalid item. - bad-shape-key-in-goal: A goal acceptor has an invalid item. - no-emitters: Your puzzle does not contain any constant producers. - no-goals: Your puzzle does not contain any goal acceptors. - short-key-already-taken: This short key is already taken, please use another one. - can-not-report-your-own-puzzle: You can not report your own puzzle. - bad-payload: The request contains invalid data. - bad-building-placement: Your puzzle contains invalid placed buildings. - timeout: The request timed out. + ratelimit: Túl gyorsan csinálsz dolgokat. Kérlek, várj egy kicsit. + invalid-api-key: Valami nem oké a játékkal. Próbáld meg frissíteni vagy újraindítani. + (HIBA - Invalid Api Key). + unauthorized: Valami nem oké a játékkal. Próbáld meg frissíteni vagy újraindítani. + (HIBA - Unauthorized). + bad-token: Valami nem oké a játékkal. Próbáld meg frissíteni vagy újraindítani. + (HIBA - Bad Token). + bad-id: Helytelen Fejtörő azonosító. + not-found: A megadott fejtörőt nem találjuk. + bad-category: A megadott kategóriát nem találjuk. + bad-short-key: A megadott gyorskód helytelen. + profane-title: A fejtörő címe csúnya szavakat tartalmaz. + bad-title-too-many-spaces: A fejtörő címe túl rövid. + bad-shape-key-in-emitter: Egy Termelőnek helytelen alakzat van beállítva. + bad-shape-key-in-goal: Egy Elfogadónak helytelen alakzat van beállítva. + no-emitters: A fejtörődben nem szerepel Termelő. + no-goals: A fejtörődben nem szerepel Elfogadó. + short-key-already-taken: Ez a gyorskód már foglalt, kérlek válassz másikat. + can-not-report-your-own-puzzle: Nem jelentheted a saját fejtörődet. + bad-payload: A kérés helytelen adatot tartalmaz. + bad-building-placement: A fejtörőd helytelenül lehelyezett épületeket tartalmaz. + timeout: A kérés időtúllépésbe került. From 3f273b41dc8e309ae3e53a2547e00984bcde7d66 Mon Sep 17 00:00:00 2001 From: DyDyou <85840734+DyDyou@users.noreply.github.com> Date: Sat, 19 Jun 2021 16:15:17 +0200 Subject: [PATCH 16/24] Update base-fr.yaml (#1207) * Update base-fr.yaml i updated all translations of the puzzleMenu (French) and how could i please if the translations are aprouved. * Update base-fr.yaml I heard the suggestions and modified some errors, thank you. --- translations/base-fr.yaml | 100 +++++++++++++++++++------------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/translations/base-fr.yaml b/translations/base-fr.yaml index f754ba3e..5ee995f3 100644 --- a/translations/base-fr.yaml +++ b/translations/base-fr.yaml @@ -1227,56 +1227,56 @@ tips: - Appuyez deux fois sur F4 pour voir les coordonnées. - Cliquez sur une forme épinglée à gauche pour l’enlever. puzzleMenu: - play: Play - edit: Edit - title: Puzzle Mode - createPuzzle: Create Puzzle - loadPuzzle: Load - reviewPuzzle: Review & Publish - validatingPuzzle: Validating Puzzle - submittingPuzzle: Submitting Puzzle - noPuzzles: There are currently no puzzles in this section. + play: Jouer + edit: Éditer + title: Mode Puzzle + createPuzzle: Créer un Puzzle + loadPuzzle: charger + reviewPuzzle: Revoir & Publier + validatingPuzzle: Validation du Puzzle + submittingPuzzle: Publication du Puzzle + noPuzzles: Il n'y a actuellement aucun puzzle dans cette section. categories: - levels: Levels - new: New - top-rated: Top Rated - mine: My Puzzles - short: Short - easy: Easy - hard: Hard - completed: Completed + levels: Niveaux + new: Nouveau + top-rated: Les-mieux notés + mine: Mes puzzles + short: Court + easy: Facile + hard: Difficile + completed: Complété validation: - title: Invalid Puzzle - noProducers: Please place a Constant Producer! - noGoalAcceptors: Please place a Goal Acceptor! - goalAcceptorNoItem: One or more Goal Acceptors have not yet assigned an item. - Deliver a shape to them to set a goal. - goalAcceptorRateNotMet: One or more Goal Acceptors are not getting enough items. - Make sure that the indicators are green for all acceptors. - buildingOutOfBounds: One or more buildings are outside of the buildable area. - Either increase the area or remove them. - autoComplete: Your puzzle autocompletes itself! Please make sure your constant - producers are not directly delivering to your goal acceptors. + title: Puzzle invalide + noProducers: Veuillez placer un producteur constant ! + noGoalAcceptors: Veuillez placer un accepteur d'objectif ! + goalAcceptorNoItem: Un ou plusieurs accepteurs d'objectif n'ont pas encore attribué d'élément. + Donnez-leur une forme pour fixer un objectif. + goalAcceptorRateNotMet:Un ou plusieurs accepteurs d'objectifs n'obtiennent pas assez d'articles. + Assurez-vous que les indicateurs sont verts pour tous les accepteurs. + buildingOutOfBounds: Un ou plusieurs bâtiments se trouvent en dehors de la zone constructible. + Augmentez la surface ou supprimez-les. + autoComplete: Votre puzzle se complète automatiquement ! Veuillez vous assurer que vos producteurs constants + ne livrent pas directement à vos accepteurs d'objectifs. backendErrors: - ratelimit: You are performing your actions too frequent. Please wait a bit. - invalid-api-key: Failed to communicate with the backend, please try to - update/restart the game (Invalid Api Key). - unauthorized: Failed to communicate with the backend, please try to - update/restart the game (Unauthorized). - bad-token: Failed to communicate with the backend, please try to update/restart - the game (Bad Token). - bad-id: Invalid puzzle identifier. - not-found: The given puzzle could not be found. - bad-category: The given category could not be found. - bad-short-key: The given short key is invalid. - profane-title: Your puzzle title contains profane words. - bad-title-too-many-spaces: Your puzzle title is too short. - bad-shape-key-in-emitter: A constant producer has an invalid item. - bad-shape-key-in-goal: A goal acceptor has an invalid item. - no-emitters: Your puzzle does not contain any constant producers. - no-goals: Your puzzle does not contain any goal acceptors. - short-key-already-taken: This short key is already taken, please use another one. - can-not-report-your-own-puzzle: You can not report your own puzzle. - bad-payload: The request contains invalid data. - bad-building-placement: Your puzzle contains invalid placed buildings. - timeout: The request timed out. + ratelimit: Vous effectuez vos actions trop fréquemment. Veuillez attendre un peu s'il vous plait. + invalid-api-key: Échec de la communication avec le backend, veuillez essayer de + mettre à jour/redémarrer le jeu (clé Api invalide). + unauthorized: Échec de la communication avec le backend, veuillez essayer de + mettre à jour/redémarrer le jeu (non autorisé). + bad-token: Échec de la communication avec le backend, veuillez essayer de mettre à jour/redémarrer + le jeu (Mauvais jeton). + bad-id: Identifiant de puzzle non valide. + not-found: Le puzzle donné n'a pas pu être trouvé. + bad-category: La catégorie donnée n'a pas pu être trouvée. + bad-short-key: La clé courte donnée n'est pas valide. + profane-title: Le titre de votre puzzle contient des mots interdits. + bad-title-too-many-spaces: Le titre de votre puzzle est trop court. + bad-shape-key-in-emitter: Un producteur constant a un élément invalide. + bad-shape-key-in-goal: Un accepteur de but a un élément invalide. + no-emitters: Votre puzzle ne contient aucun producteur constant. + no-goals: Votre puzzle ne contient aucun accepteur de but. + short-key-already-taken: Cette clé courte est déjà prise, veuillez en utiliser une autre. + can-not-report-your-own-puzzle: Vous ne pouvez pas signaler votre propre puzzle. + bad-payload: La demande contient des données invalides. + bad-building-placement: Votre puzzle contient des bâtiments placés non valides. + timeout: La demande a expiré. From 4608f33c03782181a936780d75187ace6557a3e6 Mon Sep 17 00:00:00 2001 From: Yalun Hsu Date: Sat, 19 Jun 2021 22:15:34 +0800 Subject: [PATCH 17/24] Correct zh-TW translation (#1208) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `painter` should be `上色機` `切割機` means `cutter` in zh-TW --- translations/base-zh-TW.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translations/base-zh-TW.yaml b/translations/base-zh-TW.yaml index 486b3f1f..f05249cc 100644 --- a/translations/base-zh-TW.yaml +++ b/translations/base-zh-TW.yaml @@ -324,7 +324,7 @@ ingame: 使用0-9快捷鍵可以更快選取建築 !" 3_1_rectangles: "現在來開採一些方形吧!蓋4座開採機,把形狀收集到基地。

PS: 選擇輸送帶,按住SHIFT並拖曳滑鼠可以計畫輸送帶位置!" - 21_1_place_quad_painter: 放置一個切割機(四分)並取得一些 + 21_1_place_quad_painter: 放置一個上色機(四向)並取得一些 圓形白色紅色! 21_2_switch_to_wires: Switch to the wires layer by pressing E!

Then connect all four From d74d58afb7eaae5f09c166bc3059ab61a7bc80ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Lapastora?= Date: Sat, 19 Jun 2021 16:17:42 +0200 Subject: [PATCH 18/24] Fixed `compressInt` cache bug (#1210) Now `compressInt` uses the cache properly. --- src/js/savegame/savegame_compressor.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/js/savegame/savegame_compressor.js b/src/js/savegame/savegame_compressor.js index b0b92aa8..d8797bad 100644 --- a/src/js/savegame/savegame_compressor.js +++ b/src/js/savegame/savegame_compressor.js @@ -13,15 +13,20 @@ function compressInt(i) { // Zero value breaks i += 1; - if (compressionCache[i]) { - return compressionCache[i]; + // save `i` as the cache key + // to avoid it being modified by the + // rest of the function. + const cache_key = i; + + if (compressionCache[cache_key]) { + return compressionCache[cache_key]; } let result = ""; do { result += charmap[i % charmap.length]; i = Math.floor(i / charmap.length); } while (i > 0); - return (compressionCache[i] = result); + return (compressionCache[cache_key] = result); } /** From 3cfa016e54c9d043d43e82f94034c06bf10fe12c Mon Sep 17 00:00:00 2001 From: Andrea Nardecchia <39597085+Doc-Ninja@users.noreply.github.com> Date: Sat, 19 Jun 2021 16:18:26 +0200 Subject: [PATCH 19/24] Italian puzzle translation (#1211) * Italian puzzle translation Notes for reviewers: -Celebs comments are not translated -Bad puzzle title has been translated with a more generic loading failed -I left "Puzzle DLC" everywhere even if not quite correct in Italian as it is found as such on steam -Backend error types are not translated * Update base-it.yaml --- translations/base-it.yaml | 294 +++++++++++++++++++------------------- 1 file changed, 146 insertions(+), 148 deletions(-) diff --git a/translations/base-it.yaml b/translations/base-it.yaml index c302b5e3..cab8eecf 100644 --- a/translations/base-it.yaml +++ b/translations/base-it.yaml @@ -14,7 +14,7 @@ steamPage: All'inizio lavorerai solo con le forme, ma in seguito dovrai colorarle; a questo scopo dovrai estrarre e mescolare i colori! Comprare il gioco su Steam ti garantirà l'accesso alla versone completa, ma puoi anche giocare una demo su shapez.io e decidere in seguito! - what_others_say: What people say about shapez.io + what_others_say: "Hanno detto di shapez.io:" nothernlion_comment: This game is great - I'm having a wonderful time playing, and time has flown by. notch_comment: Oh crap. I really should sleep, but I think I just figured out @@ -73,11 +73,11 @@ mainMenu: madeBy: Creato da subreddit: Reddit savegameUnnamed: Senza nome - puzzleMode: Puzzle Mode + puzzleMode: Modalità puzzle back: Back - puzzleDlcText: Do you enjoy compacting and optimizing factories? Get the Puzzle - DLC now on Steam for even more fun! - puzzleDlcWishlist: Wishlist now! + puzzleDlcText: Ti piace miniaturizzare e ottimizzare le tue fabbriche? Ottini il Puzzle + DLC ora su steam per un divertimento ancora maggiore! + puzzleDlcWishlist: Aggiungi alla lista dei desideri ora! dialogs: buttons: ok: OK @@ -91,9 +91,9 @@ dialogs: viewUpdate: Mostra aggiornamento showUpgrades: Mostra miglioramenti showKeybindings: Mostra scorciatoie - retry: Retry - continue: Continue - playOffline: Play Offline + retry: Riprova + continue: Continua + playOffline: Gioca offline importSavegameError: title: Errore di importazione text: "Impossibile caricare il salvataggio:" @@ -199,66 +199,66 @@ dialogs: desc: C'è un video tutorial per questo livello, ma è disponibile solo in Inglese. Vorresti dargli un'occhiata? editConstantProducer: - title: Set Item + title: Imposta oggetto puzzleLoadFailed: - title: Puzzles failed to load - desc: "Unfortunately the puzzles could not be loaded:" + title: Impossibile caricare i puzzle + desc: "Sfortunatamente non è stato possibile caricare i puzzle:" submitPuzzle: - title: Submit Puzzle - descName: "Give your puzzle a name:" - descIcon: "Please enter a unique short key, which will be shown as the icon of - your puzzle (You can generate them here, or choose one - of the randomly suggested shapes below):" - placeholderName: Puzzle Title + title: Pubblica il puzzle + descName: "Dai un nome al tuo puzzle:" + descIcon: "Per favore inserisci un codice per la forma identificativa, che sarà mostrata come icona + del tuo puzzle (Pui generarla qui, oppure sceglierne una + tra quelle casuali qui sotto):" + placeholderName: Nome puzzle puzzleResizeBadBuildings: - title: Resize not possible - desc: You can't make the zone any smaller, because then some buildings would be - outside the zone. + title: Impossibile ridimensionare + desc: Non è possibile ridurre la zona ulteriormente, dato che alcuni edifici sarebbero + fuori dalla zona. puzzleLoadError: - title: Bad Puzzle - desc: "The puzzle failed to load:" + title: Caricamento fallito + desc: "Impossibile caricare il puzzle:" offlineMode: - title: Offline Mode - desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + title: Modalità offline + desc: Non siamo risciti a contattare i server, quindi il gioco è in modalità offline. + Per favore assicurati di avere una connessione internet attiva. puzzleDownloadError: - title: Download Error - desc: "Failed to download the puzzle:" + title: Errore di download + desc: "Il download del puzzle è fallito:" puzzleSubmitError: - title: Submission Error - desc: "Failed to submit your puzzle:" + title: Errore di pubblicazione + desc: "La pubblicazione del puzzle è fallita:" puzzleSubmitOk: - title: Puzzle Published - desc: Congratulations! Your puzzle has been published and can now be played by - others. You can now find it in the "My puzzles" section. + title: Puzzle pubblicato + desc: Congratulazioni! Il tuo puzzle è stato pubblicato e ora può essere giocato da + altri. Puoi trovarlo nella sezione "I miei puzzle". puzzleCreateOffline: - title: Offline Mode - desc: Since you are offline, you will not be able to save and/or publish your - puzzle. Would you still like to continue? + title: Modalità offline + desc: Dato che sei offline, non potrai salvare e/o pubblicare il tuo + puzzle. Sei sicuro di voler contnuare? puzzlePlayRegularRecommendation: - title: Recommendation - desc: I strongly recommend playing the normal game to level 12 - before attempting the puzzle DLC, otherwise you may encounter - mechanics not yet introduced. Do you still want to continue? + title: Raccomandazione + desc: Ti raccomando fortemente di giocare nella modalità normale fino al livello 12 + prima di cimentarti nel puzzle DLC, altrimenti potresti incontrare + meccaniche non ancora introdotte. Sei sicuro di voler continuare? puzzleShare: - title: Short Key Copied - desc: The short key of the puzzle () has been copied to your clipboard! It - can be entered in the puzzle menu to access the puzzle. + title: Codice copiato + desc: Il codice del puzzle () è stato copiato negli appunti! Può + essere inserito nel menù dei puzzle per accedere al puzzle. puzzleReport: - title: Report Puzzle + title: Segnala puzzle options: - profane: Profane - unsolvable: Not solvable - trolling: Trolling + profane: Volgare + unsolvable: Senza soluzione + trolling: Troll puzzleReportComplete: - title: Thank you for your feedback! - desc: The puzzle has been flagged. + title: Grazie per il tuo feedback! + desc: Il puzzle è stato segnalato. puzzleReportError: - title: Failed to report - desc: "Your report could not get processed:" + title: Segnalazione fallita + desc: "Non è stato possibile elaborare la tua segnalazione:" puzzleLoadShortKey: - title: Enter short key - desc: Enter the short key of the puzzle to load it. + title: Inserisci codice + desc: Inserisci il codice del puzzle per caricarlo. ingame: keybindingsOverlay: moveMap: Sposta @@ -430,46 +430,44 @@ ingame: title: Sostienimi desc: Lo sviluppo nel tempo libero! achievements: - title: Achievements - desc: Hunt them all! + title: Achievement + desc: Collezionali tutti! puzzleEditorSettings: - zoneTitle: Zone - zoneWidth: Width - zoneHeight: Height - trimZone: Trim - clearItems: Clear Items - share: Share - report: Report + zoneTitle: Zona + zoneWidth: Larghezza + zoneHeight: Altezza + trimZone: Riduci + clearItems: Elimina oggetti + share: Condividi + report: Segnala puzzleEditorControls: - title: Puzzle Creator + title: Creazione puzzle instructions: - - 1. Place Constant Producers to provide shapes and - colors to the player - - 2. Build one or more shapes you want the player to build later and - deliver it to one or more Goal Acceptors - - 3. Once a Goal Acceptor receives a shape for a certain amount of - time, it saves it as a goal that the player must - produce later (Indicated by the green badge). - - 4. Click the lock button on a building to disable - it. - - 5. Once you click review, your puzzle will be validated and you - can publish it. - - 6. Upon release, all buildings will be removed - except for the Producers and Goal Acceptors - That's the part that - the player is supposed to figure out for themselves, after all :) + - 1. Posiziona dei produttori costanti per fornire forme e + colori al giocatore + - 2. Costruisci una o più forme che vuoi che il giocatore costruisca e + consegni a uno o più degli Accettori di obiettivi + - 3. Una volta che un accettore di obiettivi riceve una forma per un certo lasso di + tempo, lo salva come obiettivo che il giocatore dovrà poi + produrre (Indicato dal aimbolo verde). + - 4. Clicca il bottone di blocco su un edificio per disabilitarlo. + - 5. Una volta che cliccherai verifica, il tuo puzzle sarà convalidato e potrai pubblicarlo. + - 6. Una volta rilasciato, tutti gli edifici saranno rimossi + ad eccezione di produttori e accettori di obiettivi. Quella è la parte che + il giocatore deve capire da solo, dopo tutto :) puzzleCompletion: - title: Puzzle Completed! - titleLike: "Click the heart if you liked the puzzle:" - titleRating: How difficult did you find the puzzle? - titleRatingDesc: Your rating will help me to make you better suggestions in the future - continueBtn: Keep Playing - menuBtn: Menu + title: Puzzle completato! + titleLike: "Clicca il cuore se ti è piaciuto:" + titleRating: Quanto è stato difficile il puzzle? + titleRatingDesc: La tua valutazione mi aiuterà a darti raccomandazioni migliori in futuro + continueBtn: Continua a giocare + menuBtn: Menù puzzleMetadata: - author: Author - shortKey: Short Key - rating: Difficulty score - averageDuration: Avg. Duration - completionRate: Completion rate + author: Autore + shortKey: Codice + rating: Punteggio difficoltà + averageDuration: Durata media + completionRate: Tasso di completamento shopUpgrades: belt: name: Nastri, distribuzione e tunnel @@ -698,11 +696,11 @@ buildings: storyRewards: reward_cutter_and_trash: title: Taglio forme - desc: Il taglierino è stato bloccato! Taglia le forme a metà da + desc: Il taglierino è stato sbloccato! Taglia le forme a metà da sopra a sotto indipendentemente dal suo orientamento!

Assicurati di buttare via lo scarto, - sennò si intaserà e andrà in stallo - Per questo - ti ho dato il certino, che distrugge tutto quello + altrimenti si intaserà e andrà in stallo - Per questo + ti ho dato il cestino, che distrugge tutto quello che riceve! reward_rotater: title: Rotazione @@ -1108,14 +1106,14 @@ keybindings: comparator: Comparatore item_producer: Generatore di oggetti (Sandbox) copyWireValue: "Cavi: Copia valore sotto il cursore" - rotateToUp: "Rotate: Point Up" - rotateToDown: "Rotate: Point Down" - rotateToRight: "Rotate: Point Right" - rotateToLeft: "Rotate: Point Left" - constant_producer: Constant Producer - goal_acceptor: Goal Acceptor - block: Block - massSelectClear: Clear belts + rotateToUp: "Ruota: punta in alto" + rotateToDown: "Ruota: punta in basso" + rotateToRight: "Ruota: punta a destra" + rotateToLeft: "Ruota: punta a sinistra" + constant_producer: Produttore costante + goal_acceptor: Accettore di obiettivi + block: Bloca + massSelectClear: Sgombra nastri about: title: Riguardo questo gioco body: >- @@ -1215,56 +1213,56 @@ tips: - Puoi cliccare a sinistra di una forma fermata a schermo per rimuoverla dalla lista. puzzleMenu: - play: Play - edit: Edit - title: Puzzle Mode - createPuzzle: Create Puzzle - loadPuzzle: Load - reviewPuzzle: Review & Publish - validatingPuzzle: Validating Puzzle - submittingPuzzle: Submitting Puzzle - noPuzzles: There are currently no puzzles in this section. + play: Gioca + edit: Modifica + title: Modalità puzzle + createPuzzle: Crea puzzle + loadPuzzle: Carica + reviewPuzzle: Verifica e pubblica + validatingPuzzle: Convalidazione puzzle + submittingPuzzle: Pubblicazione puzzle + noPuzzles: Al momento non ci sono puzzle in questa sezione. categories: - levels: Levels - new: New - top-rated: Top Rated - mine: My Puzzles - short: Short - easy: Easy - hard: Hard - completed: Completed + levels: Livelli + new: Nuovo + top-rated: Più votati + mine: I miei puzzle + short: Brevi + easy: Facili + hard: Difficili + completed: Completati validation: - title: Invalid Puzzle - noProducers: Please place a Constant Producer! - noGoalAcceptors: Please place a Goal Acceptor! - goalAcceptorNoItem: One or more Goal Acceptors have not yet assigned an item. - Deliver a shape to them to set a goal. - goalAcceptorRateNotMet: One or more Goal Acceptors are not getting enough items. - Make sure that the indicators are green for all acceptors. - buildingOutOfBounds: One or more buildings are outside of the buildable area. - Either increase the area or remove them. - autoComplete: Your puzzle autocompletes itself! Please make sure your constant - producers are not directly delivering to your goal acceptors. + title: Puzzle non valido + noProducers: Per favore posiziona un Produttore costante! + noGoalAcceptors: Per favore posiziona un accettore di obiettivi! + goalAcceptorNoItem: Uno o più degli accettori di obiettivi non hanno un oggetto assegnato. + Consgnagli una forma per impostare l'obiettivo. + goalAcceptorRateNotMet: Uno o più degli accettori di obiettivi non ricevono abbastanza oggetti. + Assicurati che gli indicatori siano verdi per tutti gli accettori. + buildingOutOfBounds: Uno o più edifici sono fuori dalla zona di costruzione. + Ingrandisci l'area o rimuovili. + autoComplete: Il tuo puzzle si autocompleta! Per favore assicurati che i tuoi produttori + costanti non consegnino direttamente agli accettori di obiettivi. backendErrors: - ratelimit: You are performing your actions too frequent. Please wait a bit. - invalid-api-key: Failed to communicate with the backend, please try to - update/restart the game (Invalid Api Key). - unauthorized: Failed to communicate with the backend, please try to - update/restart the game (Unauthorized). - bad-token: Failed to communicate with the backend, please try to update/restart - the game (Bad Token). - bad-id: Invalid puzzle identifier. - not-found: The given puzzle could not be found. - bad-category: The given category could not be found. - bad-short-key: The given short key is invalid. - profane-title: Your puzzle title contains profane words. - bad-title-too-many-spaces: Your puzzle title is too short. - bad-shape-key-in-emitter: A constant producer has an invalid item. - bad-shape-key-in-goal: A goal acceptor has an invalid item. - no-emitters: Your puzzle does not contain any constant producers. - no-goals: Your puzzle does not contain any goal acceptors. - short-key-already-taken: This short key is already taken, please use another one. - can-not-report-your-own-puzzle: You can not report your own puzzle. - bad-payload: The request contains invalid data. - bad-building-placement: Your puzzle contains invalid placed buildings. - timeout: The request timed out. + ratelimit: Stai facendo troppe azioni velocemente. Per favore attendi un attimo. + invalid-api-key: Comunicazione con il backend fallita, per favore prova ad + aggiornare o riavviare il gioco (Invalid Api Key). + unauthorized: Comunicazione con il backend fallita, per favore prova ad + aggiornare o riavviare il gioco (Unauthorized). + bad-token: Comunicazione con il backend fallita, per favore prova ad + aggiornare o riavviare il gioco (Bad Token). + bad-id: Identificativo puzzle non valido. + not-found: Non è stato possibile trovare il puzzle. + bad-category: Non è stato possibile trovare la categoria. + bad-short-key: Il codice non è valido. + profane-title: Il titolo del tuo puzzle contiene volgarità. + bad-title-too-many-spaces: Il titolo del tuo puzzle è troppo breve. + bad-shape-key-in-emitter: Un produttore costante ha un oggetto non valido. + bad-shape-key-in-goal: Un accettore di obiettivi ha un oggetto non valido. + no-emitters: Il tuo puzzle non contiente alcun produttore costante. + no-goals: Il tuo puzzle non contiene alcun accettore di obiettivi. + short-key-already-taken: Queesto codice forma è già in uso, per favore scegline un altro. + can-not-report-your-own-puzzle: Non puoi segnlare il tuo puzzle. + bad-payload: La richiesta contiene dati non validi. + bad-building-placement: Il tuo puzzle contiene edifici non validi. + timeout: La richiesta è scaduta. From cc49e3ccc34857eed711d870f75060e265c2a8ff Mon Sep 17 00:00:00 2001 From: tobspr Date: Sat, 19 Jun 2021 16:19:40 +0200 Subject: [PATCH 20/24] Fix translations --- translations/base-fr.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/translations/base-fr.yaml b/translations/base-fr.yaml index 5ee995f3..9615b162 100644 --- a/translations/base-fr.yaml +++ b/translations/base-fr.yaml @@ -73,7 +73,7 @@ mainMenu: savegameUnnamed: Sans titre puzzleMode: Puzzle Mode back: Back - puzzleDlcText: Vous aimez compacter et optimiser vos usines ? Achetez le DLC + puzzleDlcText: Vous aimez compacter et optimiser vos usines ? Achetez le DLC sur Steam dés maintenant pour encore plus d'amusement ! puzzleDlcWishlist: Wishlist now! dialogs: @@ -1251,12 +1251,13 @@ puzzleMenu: noGoalAcceptors: Veuillez placer un accepteur d'objectif ! goalAcceptorNoItem: Un ou plusieurs accepteurs d'objectif n'ont pas encore attribué d'élément. Donnez-leur une forme pour fixer un objectif. - goalAcceptorRateNotMet:Un ou plusieurs accepteurs d'objectifs n'obtiennent pas assez d'articles. + goalAcceptorRateNotMet: Un ou plusieurs accepteurs d'objectifs n'obtiennent pas assez d'articles. Assurez-vous que les indicateurs sont verts pour tous les accepteurs. buildingOutOfBounds: Un ou plusieurs bâtiments se trouvent en dehors de la zone constructible. Augmentez la surface ou supprimez-les. - autoComplete: Votre puzzle se complète automatiquement ! Veuillez vous assurer que vos producteurs constants - ne livrent pas directement à vos accepteurs d'objectifs. + autoComplete: + Votre puzzle se complète automatiquement ! Veuillez vous assurer que vos producteurs constants + ne livrent pas directement à vos accepteurs d'objectifs. backendErrors: ratelimit: Vous effectuez vos actions trop fréquemment. Veuillez attendre un peu s'il vous plait. invalid-api-key: Échec de la communication avec le backend, veuillez essayer de From 978c07ccc45f3d3bdcce2fe3bde30d40c79d79b9 Mon Sep 17 00:00:00 2001 From: tobspr Date: Sat, 19 Jun 2021 16:20:04 +0200 Subject: [PATCH 21/24] Fix typo --- translations/base-ar.yaml | 2 +- translations/base-cat.yaml | 2 +- translations/base-da.yaml | 2 +- translations/base-de.yaml | 2 +- translations/base-el.yaml | 7 ++++--- translations/base-en.yaml | 2 +- translations/base-fi.yaml | 2 +- translations/base-fr.yaml | 2 +- translations/base-he.yaml | 2 +- translations/base-hr.yaml | 2 +- translations/base-ind.yaml | 2 +- translations/base-ja.yaml | 35 +++++++++++++++++++++++------------ translations/base-lt.yaml | 2 +- translations/base-pl.yaml | 2 +- translations/base-ro.yaml | 2 +- translations/base-ru.yaml | 2 +- translations/base-sl.yaml | 2 +- translations/base-sr.yaml | 2 +- translations/base-sv.yaml | 2 +- translations/base-uk.yaml | 10 +++++----- translations/base-zh-TW.yaml | 29 +++++++++++++++++++---------- 21 files changed, 68 insertions(+), 47 deletions(-) diff --git a/translations/base-ar.yaml b/translations/base-ar.yaml index dd04d774..0f0a4f6e 100644 --- a/translations/base-ar.yaml +++ b/translations/base-ar.yaml @@ -210,7 +210,7 @@ dialogs: offlineMode: title: Offline Mode desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + Please make sure you have an active internet connection. puzzleDownloadError: title: Download Error desc: "Failed to download the puzzle:" diff --git a/translations/base-cat.yaml b/translations/base-cat.yaml index 27c24bc4..594a6817 100644 --- a/translations/base-cat.yaml +++ b/translations/base-cat.yaml @@ -218,7 +218,7 @@ dialogs: offlineMode: title: Offline Mode desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + Please make sure you have an active internet connection. puzzleDownloadError: title: Download Error desc: "Failed to download the puzzle:" diff --git a/translations/base-da.yaml b/translations/base-da.yaml index 80575720..250a9b3c 100644 --- a/translations/base-da.yaml +++ b/translations/base-da.yaml @@ -215,7 +215,7 @@ dialogs: offlineMode: title: Offline Mode desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + Please make sure you have an active internet connection. puzzleDownloadError: title: Download Error desc: "Failed to download the puzzle:" diff --git a/translations/base-de.yaml b/translations/base-de.yaml index 5d422ce6..0e217439 100644 --- a/translations/base-de.yaml +++ b/translations/base-de.yaml @@ -212,7 +212,7 @@ dialogs: offlineMode: title: Offline Mode desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + Please make sure you have an active internet connection. puzzleDownloadError: title: Download Error desc: "Failed to download the puzzle:" diff --git a/translations/base-el.yaml b/translations/base-el.yaml index 00588943..6bfef202 100644 --- a/translations/base-el.yaml +++ b/translations/base-el.yaml @@ -187,7 +187,8 @@ dialogs: editSignal: title: Βάλε σήμα descItems: "Διάλεξε ενα προκαθορισμένο αντικείμενο:" - descShortKey: ... ή εισάγετε ενα ενα μικρό κλειδι απο ένα σχήμα (Που μπορείς να παράγεις + descShortKey: + ... ή εισάγετε ενα ενα μικρό κλειδι απο ένα σχήμα (Που μπορείς να παράγεις εδώ) renameSavegame: title: Μετανόμασε το αποθηκευμένου παιχνιδι. @@ -222,7 +223,7 @@ dialogs: offlineMode: title: Offline Mode desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + Please make sure you have an active internet connection. puzzleDownloadError: title: Σφάλμα λήψης desc: "Απέτυχε να κατεβαθεί το πάζλ:" @@ -445,7 +446,7 @@ ingame: title: Κατασκευαστείς παζλ. instructions: - 1. Τοποθετήστε τους σταθερούς παραγωγούς για να δώσετε σχήματα και - χρώματα στον + χρώματα στον - 2. Δημιουργήστε ένα ή περισσότερα σχήματα που θέλετε να δημιουργήσει ο παίκτης αργότερα και παραδώστε το σε έναν ή περισσότερους Αποδέκτες στόχων - 3. Μόλις ένας Αποδέκτης Στόχου λάβει ένα σχήμα για ένα ορισμένο ποσό diff --git a/translations/base-en.yaml b/translations/base-en.yaml index 5291a304..a400ca74 100644 --- a/translations/base-en.yaml +++ b/translations/base-en.yaml @@ -327,7 +327,7 @@ dialogs: offlineMode: title: Offline Mode desc: >- - We couldn't reach the servers, so the game has to run in offline mode. Please make sure you have an active internect connection. + We couldn't reach the servers, so the game has to run in offline mode. Please make sure you have an active internet connection. puzzleDownloadError: title: Download Error diff --git a/translations/base-fi.yaml b/translations/base-fi.yaml index 33f93cd5..815448a2 100644 --- a/translations/base-fi.yaml +++ b/translations/base-fi.yaml @@ -211,7 +211,7 @@ dialogs: offlineMode: title: Offline Mode desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + Please make sure you have an active internet connection. puzzleDownloadError: title: Download Error desc: "Failed to download the puzzle:" diff --git a/translations/base-fr.yaml b/translations/base-fr.yaml index 9615b162..9a988d46 100644 --- a/translations/base-fr.yaml +++ b/translations/base-fr.yaml @@ -214,7 +214,7 @@ dialogs: offlineMode: title: Mode hors-ligne desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + Please make sure you have an active internet connection. puzzleDownloadError: title: Erreur de téléchargment desc: "Le téléchargement à échoué :" diff --git a/translations/base-he.yaml b/translations/base-he.yaml index 4265892c..af787593 100644 --- a/translations/base-he.yaml +++ b/translations/base-he.yaml @@ -204,7 +204,7 @@ dialogs: offlineMode: title: Offline Mode desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + Please make sure you have an active internet connection. puzzleDownloadError: title: Download Error desc: "Failed to download the puzzle:" diff --git a/translations/base-hr.yaml b/translations/base-hr.yaml index 6c7e5c7a..11f1db3a 100644 --- a/translations/base-hr.yaml +++ b/translations/base-hr.yaml @@ -212,7 +212,7 @@ dialogs: offlineMode: title: Offline Mode desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + Please make sure you have an active internet connection. puzzleDownloadError: title: Download Error desc: "Failed to download the puzzle:" diff --git a/translations/base-ind.yaml b/translations/base-ind.yaml index a1b72e0a..a8da3dde 100644 --- a/translations/base-ind.yaml +++ b/translations/base-ind.yaml @@ -216,7 +216,7 @@ dialogs: offlineMode: title: Offline Mode desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + Please make sure you have an active internet connection. puzzleDownloadError: title: Download Error desc: "Failed to download the puzzle:" diff --git a/translations/base-ja.yaml b/translations/base-ja.yaml index d7578a06..e455158f 100644 --- a/translations/base-ja.yaml +++ b/translations/base-ja.yaml @@ -188,7 +188,7 @@ dialogs: offlineMode: title: Offline Mode desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + Please make sure you have an active internet connection. puzzleDownloadError: title: Download Error desc: "Failed to download the puzzle:" @@ -335,9 +335,11 @@ ingame: 切断機はそれの向きに関わらず、縦の線で切断します。" 2_2_place_trash: 切断機は詰まる場合があります!

ゴミ箱を利用して、不必要な部品を廃棄できます。 - 2_3_more_cutters: "いいですね! 更に2つ以上の切断機を設置して処理をスピードアップさせましょう!
\ + 2_3_more_cutters: + "いいですね! 更に2つ以上の切断機を設置して処理をスピードアップさせましょう!
\
追記: 0から9 のホットキーを使用すると素早く部品にアクセスできます。" - 3_1_rectangles: "それでは四角形を抽出しましょう! 4つの抽出機を作成してそれをハブに接続します。
<\ + 3_1_rectangles: + "それでは四角形を抽出しましょう! 4つの抽出機を作成してそれをハブに接続します。
<\ br> 追記: SHIFTを押しながらベルトを引くと ベルトプランナーが有効になります!" 21_1_place_quad_painter: 四色着色機を設置して、 そして @@ -617,14 +619,16 @@ buildings: storyRewards: reward_cutter_and_trash: title: 形の切断 - desc: 切断機が利用可能になりました。これは入力された形を、向きを考慮せず上下の直線で半分に切断します! 

利用しない側の出力に注意しましょう、破棄しなければ詰まって停止してしまいます。 + desc: + 切断機が利用可能になりました。これは入力された形を、向きを考慮せず上下の直線で半分に切断します! 

利用しない側の出力に注意しましょう、破棄しなければ詰まって停止してしまいます。 - このためにゴミ箱も用意しました。入力アイテムをすべて破棄できます! reward_rotater: title: 回転 desc: 回転機が利用可能になりました! 形を時計回り方向に90度回転させます。 reward_painter: title: 着色 - desc: "着色機が利用可能になりました。(今まで形状でやってきた方法で)色を抽出し、形状と合成することで着色します! <\ + desc: + "着色機が利用可能になりました。(今まで形状でやってきた方法で)色を抽出し、形状と合成することで着色します! <\ br>
追伸: もし色覚特性をお持ちでしたら、 設定に色覚特性モードがあります!" reward_mixer: title: 混色 @@ -643,7 +647,8 @@ storyRewards: desc: 回転機のバリエーションが利用可能になりました。反時計回りの回転ができるようになります! 回転機を選択し、'T'キーを押すことで方向の切り替えができます。 reward_miner_chainable: title: 連鎖抽出機 - desc: "連鎖抽出機が利用可能になりました! 他の抽出機に出力を渡すことができるので、 + desc: + "連鎖抽出機が利用可能になりました! 他の抽出機に出力を渡すことができるので、 資源の抽出がより効率的になります!

補足: ツールバーの 旧い抽出機が置き換えられました!" reward_underground_belt_tier_2: title: トンネル レベルII @@ -668,7 +673,8 @@ storyRewards: 通常の着色機と同様に機能しますが、ひとつの色の消費で一度に2つの形を着色処理できます! reward_storage: title: ストレージ - desc: ストレージが利用可能になりました。 - 容量上限までアイテムを格納できます!

+ desc: + ストレージが利用可能になりました。 - 容量上限までアイテムを格納できます!

左側の出力を優先するため、オーバーフローゲートとしても使用できます! reward_blueprints: title: ブループリント @@ -687,7 +693,8 @@ storyRewards: 設定でヒントを有効にすると、 ワイヤのチュートリアルが有効になります。" reward_filter: title: アイテムフィルタ - desc: アイテムフィルタが利用可能になりました! ワイヤレイヤの信号と一致するかどうかに応じて、アイテムを上側または右側の出力に分離します。

+ desc: + アイテムフィルタが利用可能になりました! ワイヤレイヤの信号と一致するかどうかに応じて、アイテムを上側または右側の出力に分離します。

また、真偽値(0/1)信号を入力すれば全てのアイテムの通過・非通過を制御できます。 reward_display: title: ディスプレイ @@ -696,11 +703,13 @@ storyRewards: ベルトリーダーとストレージが最後に通過したアイテムを出力していることに気づきましたか? それをディスプレイに表示してみてください!" reward_constant_signal: title: 定数信号 - desc: 定数信号がワイヤレイヤで利用可能になりました! これは例えばアイテムフィルタに接続すると便利です。

+ desc: + 定数信号がワイヤレイヤで利用可能になりました! これは例えばアイテムフィルタに接続すると便利です。

発信できる信号は形状真偽値(1か0)です。 reward_logic_gates: title: 論理ゲート - desc: 論理ゲートが利用可能になりました! 興奮する必要はありませんが、これは非常に優秀なんですよ!

+ desc: + 論理ゲートが利用可能になりました! 興奮する必要はありませんが、これは非常に優秀なんですよ!

これでAND, OR, XOR, NOTを計算できます。

ボーナスとしてトランジスタも追加しました! reward_virtual_processing: @@ -712,7 +721,8 @@ storyRewards: - ワイヤでイカしたものを作る。

- 今までのように工場を建設する。

いずれにしても、楽しんでください! no_reward: title: 次のレベル - desc: "このレベルには報酬はありません。次はきっとありますよ! 

補足: すでに作った生産ラインは削除しないようにしましょう。 - + desc: + "このレベルには報酬はありません。次はきっとありますよ! 

補足: すでに作った生産ラインは削除しないようにしましょう。 - 生産された形はすべて、後でアップグレードの解除に必要になります!" no_reward_freeplay: title: 次のレベル @@ -838,7 +848,8 @@ settings: description: 配置用のグリッドを無効にして、パフォーマンスを向上させます。 これにより、ゲームの見た目もすっきりします。 clearCursorOnDeleteWhilePlacing: title: 右クリックで配置をキャンセル - description: デフォルトで有効です。建物を設置しているときに右クリックすると、選択中の建物がキャンセルされます。 + description: + デフォルトで有効です。建物を設置しているときに右クリックすると、選択中の建物がキャンセルされます。 無効にすると、建物の設置中に右クリックで建物を削除できます。 lowQualityTextures: title: 低品質のテクスチャ(視認性低下) diff --git a/translations/base-lt.yaml b/translations/base-lt.yaml index 32e32e36..1d984ee1 100644 --- a/translations/base-lt.yaml +++ b/translations/base-lt.yaml @@ -211,7 +211,7 @@ dialogs: offlineMode: title: Offline Mode desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + Please make sure you have an active internet connection. puzzleDownloadError: title: Download Error desc: "Failed to download the puzzle:" diff --git a/translations/base-pl.yaml b/translations/base-pl.yaml index e0ca184a..d54e8457 100644 --- a/translations/base-pl.yaml +++ b/translations/base-pl.yaml @@ -218,7 +218,7 @@ dialogs: offlineMode: title: Offline Mode desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + Please make sure you have an active internet connection. puzzleDownloadError: title: Download Error desc: "Failed to download the puzzle:" diff --git a/translations/base-ro.yaml b/translations/base-ro.yaml index f8204bb8..a9ea2a4e 100644 --- a/translations/base-ro.yaml +++ b/translations/base-ro.yaml @@ -219,7 +219,7 @@ dialogs: offlineMode: title: Offline Mode desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + Please make sure you have an active internet connection. puzzleDownloadError: title: Download Error desc: "Failed to download the puzzle:" diff --git a/translations/base-ru.yaml b/translations/base-ru.yaml index 95f1ee0f..2a00776c 100644 --- a/translations/base-ru.yaml +++ b/translations/base-ru.yaml @@ -216,7 +216,7 @@ dialogs: offlineMode: title: Offline Mode desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + Please make sure you have an active internet connection. puzzleDownloadError: title: Download Error desc: "Failed to download the puzzle:" diff --git a/translations/base-sl.yaml b/translations/base-sl.yaml index ef3c9bfa..9cfe4945 100644 --- a/translations/base-sl.yaml +++ b/translations/base-sl.yaml @@ -213,7 +213,7 @@ dialogs: offlineMode: title: Offline Mode desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + Please make sure you have an active internet connection. puzzleDownloadError: title: Download Error desc: "Failed to download the puzzle:" diff --git a/translations/base-sr.yaml b/translations/base-sr.yaml index a368bb9f..944b715c 100644 --- a/translations/base-sr.yaml +++ b/translations/base-sr.yaml @@ -213,7 +213,7 @@ dialogs: offlineMode: title: Offline Mode desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + Please make sure you have an active internet connection. puzzleDownloadError: title: Download Error desc: "Failed to download the puzzle:" diff --git a/translations/base-sv.yaml b/translations/base-sv.yaml index db734d1e..d731c104 100644 --- a/translations/base-sv.yaml +++ b/translations/base-sv.yaml @@ -217,7 +217,7 @@ dialogs: offlineMode: title: Offline Mode desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + Please make sure you have an active internet connection. puzzleDownloadError: title: Download Error desc: "Failed to download the puzzle:" diff --git a/translations/base-uk.yaml b/translations/base-uk.yaml index f69a9752..eb656793 100644 --- a/translations/base-uk.yaml +++ b/translations/base-uk.yaml @@ -215,7 +215,7 @@ dialogs: offlineMode: title: Offline Mode desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + Please make sure you have an active internet connection. puzzleDownloadError: title: Download Error desc: "Failed to download the puzzle:" @@ -387,10 +387,10 @@ ingame: вводи
фарбувальника за допомогою проводу! 21_3_place_button: Неймовірно! Тепер розмістіть Вимикач Та з'єднайте їх дротом! - 21_4_press_button: "Натисніть вимикач, аби він почав видавати сигнал - \"Істина\" активувавши таким чином - фарбувальник.

PS: Не обов'язково підключати всі входи! - Спробуйте підключити лише два." + 21_4_press_button: 'Натисніть вимикач, аби він почав видавати сигнал + "Істина" активувавши таким чином + фарбувальник.

PS: Не обов''язково підключати всі входи! + Спробуйте підключити лише два.' connectedMiners: one_miner: 1 Екстрактор n_miners: Екстракторів diff --git a/translations/base-zh-TW.yaml b/translations/base-zh-TW.yaml index f05249cc..e77b6178 100644 --- a/translations/base-zh-TW.yaml +++ b/translations/base-zh-TW.yaml @@ -134,13 +134,15 @@ dialogs: desc: 你還沒有解鎖藍圖功能!完成更多的關卡來解鎖藍圖。 keybindingsIntroduction: title: 實用按鍵 - desc: "這個遊戲有很多能幫助搭建工廠的使用按鍵。 以下是其中的一些,記得在按鍵設定中查看其他的!

+ desc: + "這個遊戲有很多能幫助搭建工廠的使用按鍵。 以下是其中的一些,記得在按鍵設定中查看其他的!

CTRL + 拖曳:選擇區域以複製或刪除。
SHIFT: 按住以放置多個。
ALT: 反向放置輸送帶。
" createMarker: title: 建立標記 - desc: 給地圖標記取一個名字。你可以在名字中加入一個簡短代碼以加入圖形。(你可以在這裡 + desc: + 給地圖標記取一個名字。你可以在名字中加入一個簡短代碼以加入圖形。(你可以在這裡 建立簡短代碼。) titleEdit: 修改標記 markerDemoLimit: @@ -189,7 +191,7 @@ dialogs: offlineMode: title: Offline Mode desc: We couldn't reach the servers, so the game has to run in offline mode. - Please make sure you have an active internect connection. + Please make sure you have an active internet connection. puzzleDownloadError: title: Download Error desc: "Failed to download the puzzle:" @@ -314,15 +316,18 @@ ingame: 1_1_extractor: 在圓形礦脈上放一個開採機來採集圓形! 1_2_conveyor: 用輸送帶將你的開採機連接到基地上!

提示:用你的游標按下並拖曳輸送帶! - 1_3_expand: 這不是一個放置型遊戲!建造更多的開採機和輸送帶來更快地完成目標。

+ 1_3_expand: + 這不是一個放置型遊戲!建造更多的開採機和輸送帶來更快地完成目標。

提示:按住SHIFT鍵來放置多個開採機,用R鍵旋轉它們。 2_1_place_cutter: "現在放置一個切割機並利用它把圓圈切成兩半!

PS: 不論切割機的方向,它都會把圖形垂直地切成兩半。" 2_2_place_trash: 切割機可能會堵塞並停止運作

垃圾桶把「目前」不需要的部分處理掉。 - 2_3_more_cutters: "做得好! 現在,再放2個切割機來加速這個緩慢的生產線!

PS: + 2_3_more_cutters: + "做得好! 現在,再放2個切割機來加速這個緩慢的生產線!

PS: 使用0-9快捷鍵可以更快選取建築 !" - 3_1_rectangles: "現在來開採一些方形吧!蓋4座開採機,把形狀收集到基地。

PS: + 3_1_rectangles: + "現在來開採一些方形吧!蓋4座開採機,把形狀收集到基地。

PS: 選擇輸送帶,按住SHIFT並拖曳滑鼠可以計畫輸送帶位置!" 21_1_place_quad_painter: 放置一個上色機(四向)並取得一些 圓形白色紅色! @@ -554,11 +559,13 @@ buildings: transistor: default: name: 電晶體 - description: 如果基極(側面)的輸入訊號為「真」,則把射極(底部)輸入的真假值複製到集極(頂部)的輸出。 + description: + 如果基極(側面)的輸入訊號為「真」,則把射極(底部)輸入的真假值複製到集極(頂部)的輸出。 (「真」值代表:形狀正確、顏色正確或布林值為1) mirrored: name: 電晶體 - description: 如果基極(側面)的輸入訊號為「真」,則把射極(底部)輸入的真假值複製到集極(頂部)的輸出。 + description: + 如果基極(側面)的輸入訊號為「真」,則把射極(底部)輸入的真假值複製到集極(頂部)的輸出。 (「真」值代表:形狀正確、顏色正確或布林值為1) filter: default: @@ -701,11 +708,13 @@ storyRewards: 布林值(1或0)。 reward_logic_gates: title: 邏輯閘 - desc: 邏輯閘已解鎖。 你可以覺得無所謂,但其實邏輯閘其實超酷的!

有了這些邏輯閘,你可以運算 AND, + desc: + 邏輯閘已解鎖。 你可以覺得無所謂,但其實邏輯閘其實超酷的!

有了這些邏輯閘,你可以運算 AND, OR, XOR 與 NOT。

錦上添花,我再送你電晶體! reward_virtual_processing: title: 虛擬操作 - desc: 虛擬操作

已解鎖。很多新建築有虛擬版,你可以模擬切割機、旋轉機、推疊機還有更多電路層上的建築。 + desc: + 虛擬操作

已解鎖。很多新建築有虛擬版,你可以模擬切割機、旋轉機、推疊機還有更多電路層上的建築。 繼續遊玩的你現在有三個選項:

- 蓋一個自動生成任何基地要求圖形的自動機(推薦!)。

- 利用電路層蓋一些很酷建築

- 繼續用原本的方式破關。

不論你的選擇是什麼,祝你玩得開心! From 416f89bbf441cfc8f681711bc4280e1b50739c3d Mon Sep 17 00:00:00 2001 From: tobspr Date: Sat, 19 Jun 2021 17:16:01 +0200 Subject: [PATCH 22/24] - Puzzle DLC browser improvements / new categories - Fix errors not being thrown sometimes - Minor other stuff --- src/css/mixins.scss | 18 ++-- src/css/states/puzzle_menu.scss | 83 ++++++++++-------- src/js/core/state_manager.js | 7 +- src/js/states/main_menu.js | 2 +- src/js/states/puzzle_menu.js | 150 ++++++++++++++++++-------------- translations/base-en.yaml | 13 ++- 6 files changed, 160 insertions(+), 113 deletions(-) diff --git a/src/css/mixins.scss b/src/css/mixins.scss index 43f7a259..888d84d6 100644 --- a/src/css/mixins.scss +++ b/src/css/mixins.scss @@ -15,15 +15,15 @@ $hardwareAcc: null; // ---------------------------------------- /** Increased click area for this element, helpful on mobile */ @mixin IncreasedClickArea($size) { - &::after { - content: ""; - position: absolute; - top: #{D(-$size)}; - bottom: #{D(-$size)}; - left: #{D(-$size)}; - right: #{D(-$size)}; - // background: rgba(255, 0, 0, 0.3); - } + // &::after { + // content: ""; + // position: absolute; + // top: #{D(-$size)}; + // bottom: #{D(-$size)}; + // left: #{D(-$size)}; + // right: #{D(-$size)}; + // // background: rgba(255, 0, 0, 0.3); + // } } button, .increasedClickArea { diff --git a/src/css/states/puzzle_menu.scss b/src/css/states/puzzle_menu.scss index 2c0d3773..5f28d902 100644 --- a/src/css/states/puzzle_menu.scss +++ b/src/css/states/puzzle_menu.scss @@ -19,42 +19,54 @@ overflow: hidden; > .categoryChooser { - display: grid; - grid-auto-columns: 1fr; - grid-auto-flow: column; - @include S(grid-gap, 2px); - @include S(padding-right, 10px); - - > .category { - background: $accentColorBright; - border-radius: 0; - color: $accentColorDark; - transition: all 0.12s ease-in-out; - transition-property: opacity, background-color, color; - - &:first-child { - @include S(border-top-left-radius, $globalBorderRadius); - @include S(border-bottom-left-radius, $globalBorderRadius); - } - &:last-child { - border-top-right-radius: $globalBorderRadius; - border-bottom-right-radius: $globalBorderRadius; - } - - &.active { - background: $colorBlueBright; - opacity: 1 !important; - color: #fff; - cursor: default; - } + > .categories { + display: grid; + grid-auto-columns: 1fr; + grid-auto-flow: column; + @include S(grid-gap, 2px); + @include S(padding-right, 10px); + @include S(margin-bottom, 5px); + + .category { + background: $accentColorBright; + border-radius: 0; + color: $accentColorDark; + transition: all 0.12s ease-in-out; + transition-property: opacity, background-color, color; - @include DarkThemeOverride { - background: $accentColorDark; - color: #bbbbc4; + &:first-child { + @include S(border-top-left-radius, $globalBorderRadius); + @include S(border-bottom-left-radius, $globalBorderRadius); + } + &:last-child { + border-top-right-radius: $globalBorderRadius; + border-bottom-right-radius: $globalBorderRadius; + } &.active { background: $colorBlueBright; + opacity: 1 !important; color: #fff; + cursor: default; + } + + @include DarkThemeOverride { + background: $accentColorDark; + color: #bbbbc4; + + &.active { + background: $colorBlueBright; + color: #fff; + } + } + + &.root { + @include S(padding-top, 10px); + @include S(padding-bottom, 10px); + @include Text; + } + &.child { + @include PlainText; } } } @@ -62,12 +74,12 @@ > .puzzles { display: grid; - grid-template-columns: repeat(auto-fit, minmax(D(180px), 1fr)); + grid-template-columns: repeat(auto-fit, minmax(D(240px), 1fr)); @include S(grid-auto-rows, 65px); @include S(grid-gap, 7px); @include S(margin-top, 10px); @include S(padding-right, 4px); - @include S(height, 360px); + @include S(height, 320px); overflow-y: scroll; pointer-events: all; position: relative; @@ -203,14 +215,11 @@ font-weight: bold; @include S(margin-right, 3px); opacity: 0.7; + text-transform: uppercase; &.stage--easy { color: $colorGreenBright; } - &.stage--normal { - color: #000; - @include DarkThemeInvert; - } &.stage--medium { color: $colorOrangeBright; } diff --git a/src/js/core/state_manager.js b/src/js/core/state_manager.js index e0c04bba..2e55f5d4 100644 --- a/src/js/core/state_manager.js +++ b/src/js/core/state_manager.js @@ -89,8 +89,13 @@ export class StateManager { const dialogParent = document.createElement("div"); dialogParent.classList.add("modalDialogParent"); document.body.appendChild(dialogParent); + try { + this.currentState.internalEnterCallback(payload); + } catch (ex) { + console.error(ex); + throw ex; + } - this.currentState.internalEnterCallback(payload); this.app.sound.playThemeMusic(this.currentState.getThemeMusic()); this.currentState.onResized(this.app.screenWidth, this.app.screenHeight); diff --git a/src/js/states/main_menu.js b/src/js/states/main_menu.js index d1174020..10abb626 100644 --- a/src/js/states/main_menu.js +++ b/src/js/states/main_menu.js @@ -95,7 +95,7 @@ export class MainMenuState extends GameState { ${ - !G_WEGAME_VERSION && G_IS_STANDALONE && puzzleDlc + (!G_WEGAME_VERSION && G_IS_STANDALONE && puzzleDlc) || G_IS_DEV ? `
${T.puzzleMenu.loadPuzzle}
+ `; return ` @@ -91,18 +59,22 @@ export class PuzzleMenuState extends TextualGameState { getMainContentHTML() { let html = ` - -
- ${categories + +
+ ${Object.keys(navigation) .map( - category => ` - - ` + rootCategory => + `` ) .join("")} +
+ +
+
+
`; @@ -154,6 +126,49 @@ export class PuzzleMenuState extends TextualGameState { .then(() => (this.loading = false)); } + /** + * Selects a root category + * @param {string} rootCategory + * @param {string=} category + */ + selectRootCategory(rootCategory, category) { + const subCategory = category || navigation[rootCategory][0]; + console.warn("Select root category", rootCategory, category, "->", subCategory); + + if (this.loading) { + return; + } + if (this.activeCategory === subCategory) { + return; + } + + const activeCategory = this.htmlElement.querySelector(".active[data-root-category]"); + if (activeCategory) { + activeCategory.classList.remove("active"); + } + + this.htmlElement.querySelector(`[data-root-category="${rootCategory}"]`).classList.add("active"); + + // Rerender buttons + + const subContainer = this.htmlElement.querySelector(".subCategories"); + while (subContainer.firstChild) { + subContainer.removeChild(subContainer.firstChild); + } + + const children = navigation[rootCategory]; + for (const category of children) { + const button = document.createElement("button"); + button.setAttribute("data-category", category); + button.classList.add("styledButton", "category", "child"); + button.innerText = T.puzzleMenu.categories[category]; + this.trackClicks(button, () => this.selectCategory(category)); + subContainer.appendChild(button); + } + + this.selectCategory(subCategory); + } + /** * * @param {import("../savegame/savegame_typedefs").PuzzleMetadata[]} puzzles @@ -167,7 +182,10 @@ export class PuzzleMenuState extends TextualGameState { for (const puzzle of puzzles) { const elem = document.createElement("div"); elem.classList.add("puzzle"); - elem.classList.toggle("completed", puzzle.completed); + + if (this.activeCategory !== "mine") { + elem.classList.toggle("completed", puzzle.completed); + } if (puzzle.title) { const title = document.createElement("div"); @@ -176,7 +194,7 @@ export class PuzzleMenuState extends TextualGameState { elem.appendChild(title); } - if (puzzle.author) { + if (puzzle.author && !["official", "mine"].includes(this.activeCategory)) { const author = document.createElement("div"); author.classList.add("author"); author.innerText = "by " + puzzle.author; @@ -187,7 +205,10 @@ export class PuzzleMenuState extends TextualGameState { stats.classList.add("stats"); elem.appendChild(stats); - if (puzzle.downloads > 0) { + if ( + puzzle.downloads > 0 && + !["official", "easy", "medium", "hard"].includes(this.activeCategory) + ) { const difficulty = document.createElement("div"); difficulty.classList.add("difficulty"); @@ -198,14 +219,15 @@ export class PuzzleMenuState extends TextualGameState { difficulty.innerText = completionPercentage + "%"; stats.appendChild(difficulty); - if (completionPercentage < 10) { + if (completionPercentage < 40) { difficulty.classList.add("stage--hard"); - } else if (completionPercentage < 30) { + difficulty.innerText = T.puzzleMenu.difficulties.hard; + } else if (completionPercentage < 80) { difficulty.classList.add("stage--medium"); - } else if (completionPercentage < 60) { - difficulty.classList.add("stage--normal"); + difficulty.innerText = T.puzzleMenu.difficulties.medium; } else { difficulty.classList.add("stage--easy"); + difficulty.innerText = T.puzzleMenu.difficulties.easy; } } @@ -249,10 +271,6 @@ export class PuzzleMenuState extends TextualGameState { * @returns {Promise} */ getPuzzlesForCategory(category) { - if (category === "levels") { - return Promise.resolve(BUILTIN_PUZZLES); - } - const result = this.app.clientApi.apiListPuzzles(category); return result.catch(err => { logger.error("Failed to get", category, ":", err); @@ -300,24 +318,28 @@ export class PuzzleMenuState extends TextualGameState { } onEnter(payload) { - this.selectCategory(lastCategory); + // Find old category + let rootCategory = "categories"; + for (const [id, children] of Object.entries(navigation)) { + if (children.includes(lastCategory)) { + rootCategory = id; + break; + } + } + + this.selectRootCategory(rootCategory, lastCategory); if (payload && payload.error) { this.dialogs.showWarning(payload.error.title, payload.error.desc); } - for (const category of categories) { - const button = this.htmlElement.querySelector(`[data-category="${category}"]`); - this.trackClicks(button, () => this.selectCategory(category)); + for (const rootCategory of Object.keys(navigation)) { + const button = this.htmlElement.querySelector(`[data-root-category="${rootCategory}"]`); + this.trackClicks(button, () => this.selectRootCategory(rootCategory)); } this.trackClicks(this.htmlElement.querySelector("button.createPuzzle"), () => this.createNewPuzzle()); this.trackClicks(this.htmlElement.querySelector("button.loadPuzzle"), () => this.loadPuzzle()); - - if (G_IS_DEV && globalConfig.debug.testPuzzleMode) { - // this.createNewPuzzle(); - this.playPuzzle(SAMPLE_PUZZLE); - } } createEmptySavegame() { diff --git a/translations/base-en.yaml b/translations/base-en.yaml index a400ca74..791be47e 100644 --- a/translations/base-en.yaml +++ b/translations/base-en.yaml @@ -140,11 +140,22 @@ puzzleMenu: levels: Levels new: New top-rated: Top Rated - mine: My Puzzles + mine: Created short: Short easy: Easy + medium: Medium hard: Hard completed: Completed + official: Official + trending: Trending today + categories: Categories + difficulties: By Difficulty + account: My Puzzles + + difficulties: + easy: Easy + medium: Medium + hard: Hard validation: title: Invalid Puzzle From 8149ba875bc6bba336cd29da2e621a7287aa3f1a Mon Sep 17 00:00:00 2001 From: tobspr Date: Sat, 19 Jun 2021 17:46:28 +0200 Subject: [PATCH 23/24] Minor artwork adjustments --- res_raw/sprites/buildings/block.png | Bin 2040 -> 4068 bytes .../sprites/buildings/constant_producer.png | Bin 15085 -> 15259 bytes src/js/game/systems/goal_acceptor.js | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/res_raw/sprites/buildings/block.png b/res_raw/sprites/buildings/block.png index 3596f682b695c6bc18a3096fb964f99f74a59304..90855c82ec58e0a154a0603903f8797036b903d4 100644 GIT binary patch delta 3272 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 delta 1228 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%0DE=d8p;+) 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 delta 14377 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 Date: Sun, 20 Jun 2021 11:50:36 +0200 Subject: [PATCH 24/24] Minor adjustments, add "trending weekly" --- src/js/states/puzzle_menu.js | 13 ++++++++----- translations/base-en.yaml | 3 ++- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/js/states/puzzle_menu.js b/src/js/states/puzzle_menu.js index b3d8d361..22a492d5 100644 --- a/src/js/states/puzzle_menu.js +++ b/src/js/states/puzzle_menu.js @@ -1,4 +1,3 @@ -import { globalConfig } from "../core/config"; import { createLogger } from "../core/logging"; import { DialogWithForm } from "../core/modal_dialog_elements"; import { FormElementInput } from "../core/modal_dialog_forms"; @@ -11,8 +10,8 @@ import { Savegame } from "../savegame/savegame"; import { T } from "../translations"; const navigation = { - categories: ["official", "top-rated", "trending", "new"], - difficulties: ["easy", "medium", "hard", "short"], + categories: ["official", "top-rated", "trending", "trending-weekly", "new"], + difficulties: ["easy", "medium", "hard"], account: ["mine", "completed"], }; @@ -72,6 +71,7 @@ export class PuzzleMenuState extends TextualGameState {
+ @@ -147,7 +147,10 @@ export class PuzzleMenuState extends TextualGameState { activeCategory.classList.remove("active"); } - this.htmlElement.querySelector(`[data-root-category="${rootCategory}"]`).classList.add("active"); + const newActiveCategory = this.htmlElement.querySelector(`[data-root-category="${rootCategory}"]`); + if (newActiveCategory) { + newActiveCategory.classList.add("active"); + } // Rerender buttons @@ -206,7 +209,7 @@ export class PuzzleMenuState extends TextualGameState { elem.appendChild(stats); if ( - puzzle.downloads > 0 && + puzzle.downloads > 3 && !["official", "easy", "medium", "hard"].includes(this.activeCategory) ) { const difficulty = document.createElement("div"); diff --git a/translations/base-en.yaml b/translations/base-en.yaml index 791be47e..0b094b69 100644 --- a/translations/base-en.yaml +++ b/translations/base-en.yaml @@ -141,16 +141,17 @@ puzzleMenu: new: New top-rated: Top Rated mine: Created - short: Short easy: Easy medium: Medium hard: Hard completed: Completed official: Official trending: Trending today + trending-weekly: Trending weekly categories: Categories difficulties: By Difficulty account: My Puzzles + search: Search difficulties: easy: Easy