diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 83759588ab9..00000000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,23 +0,0 @@ -**SuperTux version:** -**System information:** *(details about your kernel, operating system, or distribution)* - -##### Expected behavior - -##### Actual behavior - -##### Steps to reproduce actual behavior - -##### Additional debugging information - -*If available, please attach a backtrace of a crash (you can get one using GDB or another debugger), or a core dump. If you're on GNU/Linux and your distro is using systemd, it's highly likely that a core dump is available using `coredumpctl(1)`. -If the issue only occurs in a custom level, please attach that too.* - -##### Guidelines for reporting issues - -- [ ] I have read . -- [ ] I verified this isn't an issue that's already been reported. -- [ ] I verified this isn't a [discussion](https://github.com/SuperTux/supertux/discussions), but an actual issue ─ that is, the game did something not intended such as crashing or giving error messages. -- [ ] This report only includes details about **one** (1) issue, feature request or topic. -- [ ] If I make a mistake while submitting this report I will use the edit feature instead of closing this issue and opening a new one. -- [ ] This issue is **not** about wrong translations (use Transifex for those), or anything unsupported (e.g. third-party add-ons). -- [ ] Once you're done, please remove the section 'Guidelines for reporting issues', the 'Additional debugging information' if it is empty, and any text in *italic font*. diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml new file mode 100644 index 00000000000..8d59546888d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -0,0 +1,80 @@ +name: Bug Report +description: File a report for unexpected behavior in SuperTux. +title: "[Bug]: " +labels: ["type:bug"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! + - type: input + id: supertux-version + attributes: + label: SuperTux Version + description: The version of SuperTux, shown at the bottom-left corner on the title screen. + placeholder: ex. v0.6.3-1236-g7451121dd + validations: + required: true + - type: input + id: system-info + attributes: + label: System Information + description: Details about your operating system (such as Linux distribution or Windows version) and CPU architecture (ex. 64-bit or 32-bit). + placeholder: ex. Windows 11 64-bit + validations: + required: true + - type: textarea + id: expected-behavior + attributes: + label: Expected Behavior + description: What did you expect to happen? + placeholder: Describe the behavior you expected in detail. + validations: + required: true + - type: textarea + id: actual-behavior + attributes: + label: Actual Behavior + description: Instead, what actually happened? + placeholder: Describe the actual behavior in detail. + validations: + required: true + - type: textarea + id: steps-to-reproduce + attributes: + label: Steps To Reproduce Actual Behavior + description: A clear and concise description of how the actual behavior was achieved, since starting up the game. + placeholder: | + Describe the steps leading to the actual behavior, preferably with a numerated list. + + 1. ... + 2. ... + 3. ... + validations: + required: true + - type: textarea + id: additional-info + attributes: + label: Additional Information + description: Include any additional information regarding the bug. + placeholder: You can also leave this empty. + validations: + required: false + - type: checkboxes + id: guidelines + attributes: + label: Guidelines For Reporting Issues + description: "Before submitting this issue, make sure you have done the following:" + options: + - label: I have read . + required: true + - label: I have verified this isn't an issue that's already been reported. + required: true + - label: I have verified this isn't a [discussion](https://github.com/SuperTux/supertux/discussions), or an issue about a crash or a feature request, but rather an actual bug ─ that is, the game did something not intended. + required: true + - label: I have verified this issue is **not** about wrong translations (use Transifex for those), or anything unsupported (e.g. third-party add-ons). + required: true + - label: In this report, I have only included details about **one** (1) bug. + required: true + - label: If I make a mistake while submitting this report, I agree to use the "Edit" feature to correct it, instead of closing this issue and opening a new one. + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000000..a575efe7731 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: true +contact_links: + - name: Create a Discussion + url: https://github.com/SuperTux/supertux/discussions/new/choose + about: If you're looking for something else, create a Discussion, assuming this hasn't been reported there before. diff --git a/.github/ISSUE_TEMPLATE/crash.yml b/.github/ISSUE_TEMPLATE/crash.yml new file mode 100644 index 00000000000..bbee48d90dd --- /dev/null +++ b/.github/ISSUE_TEMPLATE/crash.yml @@ -0,0 +1,76 @@ +name: Crash Report +description: File a report for a crash in SuperTux. +title: "[Crash]: " +labels: ["type:crash"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this crash report! + - type: input + id: supertux-version + attributes: + label: SuperTux Version + description: The version of SuperTux, shown at the bottom-left corner on the title screen. + placeholder: ex. v0.6.3-1236-g7451121dd + validations: + required: true + - type: input + id: system-info + attributes: + label: System Information + description: Details about your operating system (such as Linux distribution or Windows version) and CPU architecture (ex. 64-bit or 32-bit). + placeholder: ex. Windows 11 64-bit + validations: + required: true + - type: textarea + id: steps-to-reproduce + attributes: + label: Steps To Reproduce Crash + description: A clear and concise description of how the crash was achieved, since starting up the game. + placeholder: | + Describe the steps, leading to the crash, preferably with a numerated list. + + 1. ... + 2. ... + 3. ... + validations: + required: true + - type: textarea + id: debug-stacktrace + attributes: + label: Debugging Information (Stacktrace) + description: Include a stacktrace, leading to the crash. This can be obtained via a debugging utility. + placeholder: | + Paste the full stacktrace here. + + You can leave this empty, in case a stacktrace can't be obtained (for example, if the game freezes). + render: shell + validations: + required: false + - type: textarea + id: additional-info + attributes: + label: Additional Information + description: Include any additional information, regarding the crash. + placeholder: You can also leave this empty. + validations: + required: false + - type: checkboxes + id: guidelines + attributes: + label: Guidelines For Reporting Issues + description: "Before submitting this issue, make sure you have done the following:" + options: + - label: I have read . + required: true + - label: I have verified this isn't an issue that's already been reported. + required: true + - label: I have verified this isn't a [discussion](https://github.com/SuperTux/supertux/discussions), or an issue about unintended behavior or a feature request, but rather an actual crash ─ that is, the game closed unexpectedly. + required: true + - label: I have verified this issue is **not** about wrong translations (use Transifex for those), or anything unsupported (e.g. third-party add-ons). + required: true + - label: In this report, I have only included details about **one** (1) crash. + required: true + - label: If I make a mistake while submitting this report, I agree to use the "Edit" feature to correct it, instead of closing this issue and opening a new one. + required: true diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml new file mode 100644 index 00000000000..e6f96745e3b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature-request.yml @@ -0,0 +1,52 @@ +name: Feature Requests +description: File a request for a feature you want to see in SuperTux! +title: "[Feature Request]: " +labels: ["type:idea"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this feature request! + - type: textarea + id: feature-details + attributes: + label: Feature Details + description: How would your feature work? + placeholder: A clear and concise description of the way the feature would function. + validations: + required: true + - type: textarea + id: feature-purpose + attributes: + label: Feature Purpose + description: What purpose would your feature serve, towards improving the SuperTux experience? + placeholder: A list of one or multiple example use-cases or positive outcomes from your feature being in SuperTux. + validations: + required: true + - type: textarea + id: feature-screenshots + attributes: + label: Concept Screenshots + description: Include any concept screenshots of the way your feature would look in-game, to help others grasp your idea better. + placeholder: | + To attach image files, click this area to highlight it, and then drag the files in. + + You can also leave this empty. + validations: + required: false + - type: checkboxes + id: guidelines + attributes: + label: Guidelines For Reporting Issues + description: "Before submitting this issue, make sure you have done the following:" + options: + - label: I have read . + required: true + - label: I have verified this isn't a request that's already been submitted as an issue. + required: true + - label: I have verified this isn't a [discussion](https://github.com/SuperTux/supertux/discussions), or an issue with the game, but rather an actual feature request - a currently non-existent, but desired feature. + required: true + - label: In this request, I have only included details about **one** (1) desired feature. + required: true + - label: If I make a mistake while submitting this request, I agree to use the "Edit" feature to correct it, instead of closing this issue and opening a new one. + required: true diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 65a319ec36f..98e9af0527d 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -37,7 +37,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: fetch-depth: 0 submodules: true @@ -137,13 +137,13 @@ jobs: mv SuperTux*.apk upload/apk/ cd .. - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v4 with: name: "SuperTux-android-aab" path: build.android/upload/aab if-no-files-found: error - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v4 with: name: "SuperTux-android-apk" path: build.android/upload/apk diff --git a/.github/workflows/bsd.yml b/.github/workflows/bsd.yml index 68973894ad2..52feff5cde7 100644 --- a/.github/workflows/bsd.yml +++ b/.github/workflows/bsd.yml @@ -32,9 +32,9 @@ jobs: matrix: # TODO: Add the OpenBSD, NetBSD and Solaris VMs whenever possible vm_os: [freebsd] - build_type: [Debug, Release] + build_type: [Debug, RelWithDebInfo] # FreeBSD does not have glbinding - # glbinding: [ON, OFF] + # glbiactions/checkout@v4 runs-on: macos-10.15 steps: @@ -80,3 +80,4 @@ jobs: make -j3 VERBOSE=1 make install DESTDIR="/tmp/supertux" VERBOSE=1 ./test_supertux2 +actions/checkout@v4 \ No newline at end of file diff --git a/.github/workflows/gnulinux.yml b/.github/workflows/gnulinux.yml index e73cff4c666..ad9d1619177 100644 --- a/.github/workflows/gnulinux.yml +++ b/.github/workflows/gnulinux.yml @@ -34,14 +34,14 @@ jobs: arch: [32, 64] os: [ubuntu-20.04] compiler: [gcc, clang] - build_type: [Debug, Release] + build_type: [Debug, RelWithDebInfo] glbinding: [ON, OFF] exclude: - arch: 32 glbinding: ON include: - os: ubuntu-20.04 - build_type: Release + build_type: RelWithDebInfo compiler: gcc arch: 64 glbinding: OFF @@ -58,7 +58,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: # Fetch the whole tree so git describe works fetch-depth: 0 @@ -224,35 +224,35 @@ jobs: run: ../.ci_scripts/package.sh - name: Upload AppImage - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: "${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.compiler }}-${{ matrix.build_type }}${{ matrix.glbinding == 'ON' && '-glbinding' || '' }}-appimage" path: build/upload/*.AppImage if-no-files-found: ignore - name: Upload source - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: "source" path: build/upload/*Source.tar.gz if-no-files-found: ignore - name: Upload coverage - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: "coverage" path: build/coverage/* if-no-files-found: ignore - name: Upload documentation - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: "documentation" path: build/docs/doxygen/html/* if-no-files-found: ignore - name: Upload tar archives - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: "${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.compiler }}-${{ matrix.build_type }}${{ matrix.glbinding == 'ON' && '-glbinding' || '' }}-tgz" path: build/upload/*Linux.tar.gz diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 96edd1524ef..0dd010549df 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -33,7 +33,7 @@ jobs: lint_cppcheck: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 # The apt version of Cppcheck is outdated and apparently there are no # alternative up-to-date precompiled versions for Ubuntu, diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 7831d50a3d8..8f9513b0ce7 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -32,17 +32,17 @@ jobs: fail-fast: false matrix: os: [macos-12] - build_type: [Debug, Release] + build_type: [Debug, RelWithDebInfo] glbinding: [ON, OFF] include: - os: macos-12 - build_type: Release + build_type: RelWithDebInfo glbinding: OFF release: ON runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: # Fetch the whole tree so git describe works fetch-depth: 0 @@ -115,7 +115,7 @@ jobs: working-directory: build run: ../.ci_scripts/package.sh - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v4 with: name: "${{ matrix.os }}-${{ matrix.build_type }}${{ matrix.glbinding == 'ON' && '-glbinding' || '' }}-dmg" path: build/upload/*.dmg diff --git a/.github/workflows/scripting.yml b/.github/workflows/scripting.yml index d164b0ca8e2..c4ce2f82b2a 100644 --- a/.github/workflows/scripting.yml +++ b/.github/workflows/scripting.yml @@ -28,12 +28,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout the repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 1 - name: Checkout the wiki repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: SuperTux/wiki path: wiki diff --git a/.github/workflows/translations.yml b/.github/workflows/translations.yml index 4b82e81f1f0..f1a6fad6422 100644 --- a/.github/workflows/translations.yml +++ b/.github/workflows/translations.yml @@ -26,7 +26,7 @@ jobs: runs-on: ubuntu-20.04 steps: - name: Checkout SuperTux repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: repository: 'SuperTux/supertux' fetch-depth: 1 diff --git a/.github/workflows/ubuntu-touch.yml b/.github/workflows/ubuntu-touch.yml index 2936b2b61c9..001d5629f8f 100644 --- a/.github/workflows/ubuntu-touch.yml +++ b/.github/workflows/ubuntu-touch.yml @@ -30,7 +30,7 @@ jobs: strategy: fail-fast: false matrix: - build_type: [Debug, Release] + build_type: [Debug, RelWithDebInfo] arch: [amd64, arm64, armhf] # glbinding is missing as it isn't available on Ubuntu 16.04 opengl: [glew, sdl] @@ -41,7 +41,7 @@ jobs: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: # Fetch the whole tree so git describe works fetch-depth: 0 @@ -87,7 +87,7 @@ jobs: run: | ~/.local/bin/clickable build --verbose ${BUILD_TYPE} --arch ${ARCH} - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v4 with: name: "clickable-${{ matrix.arch }}-${{ matrix.build_type }}-${{ matrix.opengl }}-click" path: build.clickable/*.click diff --git a/.github/workflows/wasm.yml b/.github/workflows/wasm.yml index 721e0aef512..f34e245ce70 100644 --- a/.github/workflows/wasm.yml +++ b/.github/workflows/wasm.yml @@ -30,11 +30,11 @@ jobs: strategy: fail-fast: false matrix: - build_type: ["Release", "Debug"] + build_type: ["RelWithDebInfo", "Debug"] runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: # Fetch the whole tree so git describe works fetch-depth: 0 @@ -84,7 +84,7 @@ jobs: mkdir upload/ mv supertux2* upload/ - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v4 with: name: "wasm32-emscripten-${{ matrix.build_type }}-html" path: build/upload/* diff --git a/.github/workflows/wiki.yml b/.github/workflows/wiki.yml index 00abae87e1d..420163fed7f 100644 --- a/.github/workflows/wiki.yml +++ b/.github/workflows/wiki.yml @@ -24,7 +24,7 @@ jobs: runs-on: ubuntu-20.04 steps: - name: Checkout the .wiki repo - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: repository: 'SuperTux/supertux.wiki' fetch-depth: 100 diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 0ce17904a95..5b4077a1c87 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -32,21 +32,21 @@ jobs: fail-fast: false matrix: arch: [x64, x86] - build_type: [Debug, Release] + build_type: [Debug, RelWithDebInfo] glbinding: [OFF] # [ON, OFF] # FIXME: Fix Windows glbinding builds include: - - build_type: Release + - build_type: RelWithDebInfo arch: x64 glbinding: OFF release: ON - - build_type: Release + - build_type: RelWithDebInfo arch: x86 glbinding: OFF release: ON runs-on: windows-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: # Fetch the whole tree so git describe works fetch-depth: 0 @@ -113,7 +113,7 @@ jobs: mkdir upload mv *.msi upload/ - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v4 with: name: "windows-${{ matrix.arch }}-${{ matrix.build_type }}${{ matrix.glbinding == 'ON' && '-glbinding' || '' }}-installer" path: build/upload/*.msi diff --git a/.gitmodules b/.gitmodules index 028abeae08b..a758a02e929 100644 --- a/.gitmodules +++ b/.gitmodules @@ -15,7 +15,7 @@ url = https://github.com/SuperTux/SDL_ttf [submodule "discord-sdk"] path = external/discord-sdk - url = https://github.com/discord/discord-rpc + url = https://github.com/SuperTux/discord-rpc [submodule "external/fmt"] path = external/fmt url = https://github.com/fmtlib/fmt.git diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index feed4548a4e..9fa0171f334 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -6,7 +6,7 @@ however English is generally preferred so everyone can understand what's happening. - Please check for duplicate issues on GitHub, as they're wasting the developers' time. -- Also try to check if your issue has been resolved in the development version. +- Check if your issue has been resolved in the latest development version. - Separate issues and feature requests. Don't put all in the same issue. - If you made a mistake in your bug report, please use GitHub's edit feature to correct the wrong detail, instead of closing the old issue and opening a @@ -23,18 +23,21 @@ Please include the following details in your issue report so that we can investi and version details. - If possible, provide steps to reproduce your issue. - If available, it's a great help for the developers to include a backtrace from - gdb or a core dump. If you're on GNU/Linux and your distro is using systemd, it's + `gdb` or a core dump. If you're on GNU/Linux and your distro is using systemd, it's highly likely that a core dump is available using `coredumpctl(1)`. ### Add-on related issues +Issues regarding add-ons found in the official SuperTux Add-on repository +should be filed at [SuperTux/addons](https://github.com/SuperTux/addons/issues). + No support is provided for third-party add-ons (that doesn't include official -add-ons or language packs). However, a pull request against the SuperTux/addons -repository containing a fix is always welcome. +add-ons or language packs). However, a pull request against the [SuperTux/addons](https://github.com/SuperTux/addons) +repository, containing a fix, is always welcome! ### Translation issues -Please use Transifex to fix or report translation related issues. +Please use [Transifex](https://explore.transifex.com/arctic-games/supertux/) to fix or report translation related issues. ## Pull requests diff --git a/data/AUTHORS b/data/AUTHORS index 28330da18ef..5a102951416 100644 --- a/data/AUTHORS +++ b/data/AUTHORS @@ -127,7 +127,7 @@ These are just more code. * invincible_start.ogg - self-made sound by Wansti * jump.wav - self-made by wansti * kick.wav - replaced with a self-made sound by Some_Person -* kill.wav - copy of hurt.wav +* kill.wav - submitted by RodirodDude CC BY-NC 4.0 * lava.wav - submitted as GPL by Bastian Zapf * lifeup.wav - added Fri May 14 05:24:24 2004 UTC by sik0fewl. Message was "added sounds from Nathan McCoy" -sommer 22:43, 4 Jan 2007 (CET) * lightning.wav - sampled by Some_Person from http://www.pdsounds.org/sounds/storm_thunderbolts diff --git a/data/credits.stxt b/data/credits.stxt index 5d64d1b9a33..209f650f45d 100644 --- a/data/credits.stxt +++ b/data/credits.stxt @@ -27,7 +27,7 @@ (blank) (person (name "Tobias \"Tobbi\" Markus") - (info (_ "Programming, project lead ad interim")) + (info (_ "Maintainer, Programming")) ) (blank) (person @@ -80,11 +80,6 @@ (info (_ "Level Design")) ) (blank) - (person - (name "Alasdair \"Servalot\"") - (info (_ "Level Design")) - ) - (blank) (person (name "Vankata453") (info (_ "Programming")) @@ -416,6 +411,10 @@ (type "normal") (string "Q.K.") ) + (text + (type "normal") + (string "RodirodDude") + ) (text (type "normal") (string "Some_Person") diff --git a/data/fonts/SOURCECODEPRO_LICENSE.md b/data/fonts/SOURCECODEPRO_LICENSE.md new file mode 100644 index 00000000000..4cb7aaecdc0 --- /dev/null +++ b/data/fonts/SOURCECODEPRO_LICENSE.md @@ -0,0 +1,93 @@ +© 2023 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. + +This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/data/fonts/SourceCodePro-Medium.ttf b/data/fonts/SourceCodePro-Medium.ttf new file mode 100644 index 00000000000..af3f57c515b Binary files /dev/null and b/data/fonts/SourceCodePro-Medium.ttf differ diff --git a/data/images/creatures/fish/forest/corrupted/chase_brown-0.png b/data/images/creatures/fish/forest/corrupted/chase_brown-0.png new file mode 100644 index 00000000000..a3c1f960f09 Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/chase_brown-0.png differ diff --git a/data/images/creatures/fish/forest/corrupted/chase_brown-1.png b/data/images/creatures/fish/forest/corrupted/chase_brown-1.png new file mode 100644 index 00000000000..12bc1141092 Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/chase_brown-1.png differ diff --git a/data/images/creatures/fish/forest/corrupted/chase_brown-2.png b/data/images/creatures/fish/forest/corrupted/chase_brown-2.png new file mode 100644 index 00000000000..8bc771a03fa Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/chase_brown-2.png differ diff --git a/data/images/creatures/fish/forest/corrupted/chase_brown-3.png b/data/images/creatures/fish/forest/corrupted/chase_brown-3.png new file mode 100644 index 00000000000..a470bc2de2c Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/chase_brown-3.png differ diff --git a/data/images/creatures/fish/forest/corrupted/chase_brown-4.png b/data/images/creatures/fish/forest/corrupted/chase_brown-4.png new file mode 100644 index 00000000000..e8257ff309c Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/chase_brown-4.png differ diff --git a/data/images/creatures/fish/forest/corrupted/chase_brown-5.png b/data/images/creatures/fish/forest/corrupted/chase_brown-5.png new file mode 100644 index 00000000000..57bebf079d9 Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/chase_brown-5.png differ diff --git a/data/images/creatures/fish/forest/corrupted/corrupted_bluefish.sprite b/data/images/creatures/fish/forest/corrupted/corrupted_bluefish.sprite new file mode 100644 index 00000000000..233b3de0bc2 --- /dev/null +++ b/data/images/creatures/fish/forest/corrupted/corrupted_bluefish.sprite @@ -0,0 +1,31 @@ +(supertux-sprite + (action + (name "swim-left") + (hitbox 8 15 48 35) + (fps 12) + (images "swim_blue-0.png" + "swim_blue-1.png" + "swim_blue-2.png" + "swim_blue-3.png" + "swim_blue-4.png" + "swim_blue-5.png" + "swim_blue-6.png" + "swim_blue-7.png")) + + (action + (name "swim-right") + (hitbox 8 15 48 35) + (fps 12) + (mirror-action "swim-left")) + + (action + (name "iced-left") + (hitbox 8 15 48 35) + (images "swim_blue-0.png")) + + (action + (name "iced-right") + (hitbox 8 15 48 35) + (mirror-action "iced-left")) + +) diff --git a/data/images/creatures/fish/forest/corrupted/corrupted_brownfish.sprite b/data/images/creatures/fish/forest/corrupted/corrupted_brownfish.sprite new file mode 100644 index 00000000000..51fd3407587 --- /dev/null +++ b/data/images/creatures/fish/forest/corrupted/corrupted_brownfish.sprite @@ -0,0 +1,66 @@ +(supertux-sprite + (action + (name "swim-left") + (hitbox 8 10 46 46) + (fps 12) + (images "swim_brown-0.png" + "swim_brown-1.png" + "swim_brown-2.png" + "swim_brown-3.png" + "swim_brown-4.png" + "swim_brown-5.png" + "swim_brown-6.png" + "swim_brown-7.png")) + + (action + (name "swim-right") + (hitbox 12 10 46 46) + (fps 12) + (mirror-action "swim-left")) + + (action + (name "notice-left") + (hitbox 8 10 46 46) + (loops 1) + (fps 18) + (images "swim_brown-0.png" + "notice_brown-0.png" + "notice_brown-1.png" + "notice_brown-2.png" + "notice_brown-3.png")) + + (action + (name "notice-right") + (hitbox 12 10 46 46) + (loops 1) + (fps 18) + (mirror-action "notice-left")) + + (action + (name "chase-left") + (hitbox 24 10 46 46) + (fps 20) + (images "chase_brown-0.png" + "chase_brown-1.png" + "chase_brown-2.png" + "chase_brown-3.png" + "chase_brown-4.png" + "chase_brown-5.png")) + + (action + (name "chase-right") + (hitbox 16 10 46 46) + (fps 20) + (mirror-action "chase-left")) + + (action + (name "iced-left") + (hitbox 8 10 46 46) + (images "swim_brown-0.png")) + + (action + (name "iced-right") + (hitbox 12 10 46 46) + (mirror-action "iced-left")) + +) diff --git a/data/images/creatures/fish/forest/corrupted/notice_brown-0.png b/data/images/creatures/fish/forest/corrupted/notice_brown-0.png new file mode 100644 index 00000000000..5896506e76d Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/notice_brown-0.png differ diff --git a/data/images/creatures/fish/forest/corrupted/notice_brown-1.png b/data/images/creatures/fish/forest/corrupted/notice_brown-1.png new file mode 100644 index 00000000000..e16b999c341 Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/notice_brown-1.png differ diff --git a/data/images/creatures/fish/forest/corrupted/notice_brown-2.png b/data/images/creatures/fish/forest/corrupted/notice_brown-2.png new file mode 100644 index 00000000000..30d3b5fd46a Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/notice_brown-2.png differ diff --git a/data/images/creatures/fish/forest/corrupted/notice_brown-3.png b/data/images/creatures/fish/forest/corrupted/notice_brown-3.png new file mode 100644 index 00000000000..97f39abf347 Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/notice_brown-3.png differ diff --git a/data/images/creatures/fish/forest/corrupted/swim_blue-0.png b/data/images/creatures/fish/forest/corrupted/swim_blue-0.png new file mode 100644 index 00000000000..c46b846057a Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/swim_blue-0.png differ diff --git a/data/images/creatures/fish/forest/corrupted/swim_blue-1.png b/data/images/creatures/fish/forest/corrupted/swim_blue-1.png new file mode 100644 index 00000000000..eed53ef636f Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/swim_blue-1.png differ diff --git a/data/images/creatures/fish/forest/corrupted/swim_blue-2.png b/data/images/creatures/fish/forest/corrupted/swim_blue-2.png new file mode 100644 index 00000000000..05c920f7b8e Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/swim_blue-2.png differ diff --git a/data/images/creatures/fish/forest/corrupted/swim_blue-3.png b/data/images/creatures/fish/forest/corrupted/swim_blue-3.png new file mode 100644 index 00000000000..acf2692dea0 Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/swim_blue-3.png differ diff --git a/data/images/creatures/fish/forest/corrupted/swim_blue-4.png b/data/images/creatures/fish/forest/corrupted/swim_blue-4.png new file mode 100644 index 00000000000..31f43dcb335 Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/swim_blue-4.png differ diff --git a/data/images/creatures/fish/forest/corrupted/swim_blue-5.png b/data/images/creatures/fish/forest/corrupted/swim_blue-5.png new file mode 100644 index 00000000000..518ee4ea6c5 Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/swim_blue-5.png differ diff --git a/data/images/creatures/fish/forest/corrupted/swim_blue-6.png b/data/images/creatures/fish/forest/corrupted/swim_blue-6.png new file mode 100644 index 00000000000..3403288d350 Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/swim_blue-6.png differ diff --git a/data/images/creatures/fish/forest/corrupted/swim_blue-7.png b/data/images/creatures/fish/forest/corrupted/swim_blue-7.png new file mode 100644 index 00000000000..b65b39be5ad Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/swim_blue-7.png differ diff --git a/data/images/creatures/fish/forest/corrupted/swim_brown-0.png b/data/images/creatures/fish/forest/corrupted/swim_brown-0.png new file mode 100644 index 00000000000..947c54c5d6e Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/swim_brown-0.png differ diff --git a/data/images/creatures/fish/forest/corrupted/swim_brown-1.png b/data/images/creatures/fish/forest/corrupted/swim_brown-1.png new file mode 100644 index 00000000000..0e8aa7481cb Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/swim_brown-1.png differ diff --git a/data/images/creatures/fish/forest/corrupted/swim_brown-2.png b/data/images/creatures/fish/forest/corrupted/swim_brown-2.png new file mode 100644 index 00000000000..1f2816dda35 Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/swim_brown-2.png differ diff --git a/data/images/creatures/fish/forest/corrupted/swim_brown-3.png b/data/images/creatures/fish/forest/corrupted/swim_brown-3.png new file mode 100644 index 00000000000..4ee349dffe6 Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/swim_brown-3.png differ diff --git a/data/images/creatures/fish/forest/corrupted/swim_brown-4.png b/data/images/creatures/fish/forest/corrupted/swim_brown-4.png new file mode 100644 index 00000000000..719ce6e4809 Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/swim_brown-4.png differ diff --git a/data/images/creatures/fish/forest/corrupted/swim_brown-5.png b/data/images/creatures/fish/forest/corrupted/swim_brown-5.png new file mode 100644 index 00000000000..aaa50f1c9c3 Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/swim_brown-5.png differ diff --git a/data/images/creatures/fish/forest/corrupted/swim_brown-6.png b/data/images/creatures/fish/forest/corrupted/swim_brown-6.png new file mode 100644 index 00000000000..d4f8894e0b1 Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/swim_brown-6.png differ diff --git a/data/images/creatures/fish/forest/corrupted/swim_brown-7.png b/data/images/creatures/fish/forest/corrupted/swim_brown-7.png new file mode 100644 index 00000000000..fb33dcd8264 Binary files /dev/null and b/data/images/creatures/fish/forest/corrupted/swim_brown-7.png differ diff --git a/data/images/creatures/spidermite/burning-0.png b/data/images/creatures/spidermite/burning-0.png deleted file mode 100644 index 6cf03d8caea..00000000000 Binary files a/data/images/creatures/spidermite/burning-0.png and /dev/null differ diff --git a/data/images/creatures/spidermite/burning-1.png b/data/images/creatures/spidermite/burning-1.png deleted file mode 100644 index 50cafe13bb6..00000000000 Binary files a/data/images/creatures/spidermite/burning-1.png and /dev/null differ diff --git a/data/images/creatures/spidermite/burning-2.png b/data/images/creatures/spidermite/burning-2.png deleted file mode 100644 index 8311658be9b..00000000000 Binary files a/data/images/creatures/spidermite/burning-2.png and /dev/null differ diff --git a/data/images/creatures/spidermite/burning-3.png b/data/images/creatures/spidermite/burning-3.png deleted file mode 100644 index fa679a8d38f..00000000000 Binary files a/data/images/creatures/spidermite/burning-3.png and /dev/null differ diff --git a/data/images/creatures/spidermite/burning-4.png b/data/images/creatures/spidermite/burning-4.png deleted file mode 100644 index 608cb941102..00000000000 Binary files a/data/images/creatures/spidermite/burning-4.png and /dev/null differ diff --git a/data/images/creatures/spidermite/burning-5.png b/data/images/creatures/spidermite/burning-5.png deleted file mode 100644 index b299def8df2..00000000000 Binary files a/data/images/creatures/spidermite/burning-5.png and /dev/null differ diff --git a/data/images/creatures/spidermite/burning-6.png b/data/images/creatures/spidermite/burning-6.png deleted file mode 100644 index 0ae4431f4fb..00000000000 Binary files a/data/images/creatures/spidermite/burning-6.png and /dev/null differ diff --git a/data/images/creatures/spidermite/burning-7.png b/data/images/creatures/spidermite/burning-7.png deleted file mode 100644 index caa68a1383d..00000000000 Binary files a/data/images/creatures/spidermite/burning-7.png and /dev/null differ diff --git a/data/images/creatures/spidermite/spidermite-0.png b/data/images/creatures/spidermite/spidermite-0.png new file mode 100644 index 00000000000..0102ec9d6b2 Binary files /dev/null and b/data/images/creatures/spidermite/spidermite-0.png differ diff --git a/data/images/creatures/spidermite/spidermite-1.png b/data/images/creatures/spidermite/spidermite-1.png new file mode 100644 index 00000000000..c9362c7af29 Binary files /dev/null and b/data/images/creatures/spidermite/spidermite-1.png differ diff --git a/data/images/creatures/spidermite/spidermite-2.png b/data/images/creatures/spidermite/spidermite-2.png new file mode 100644 index 00000000000..1648f41c72f Binary files /dev/null and b/data/images/creatures/spidermite/spidermite-2.png differ diff --git a/data/images/creatures/spidermite/spidermite-3.png b/data/images/creatures/spidermite/spidermite-3.png new file mode 100644 index 00000000000..874d700005d Binary files /dev/null and b/data/images/creatures/spidermite/spidermite-3.png differ diff --git a/data/images/creatures/spidermite/spidermite-4.png b/data/images/creatures/spidermite/spidermite-4.png new file mode 100644 index 00000000000..180039c76fd Binary files /dev/null and b/data/images/creatures/spidermite/spidermite-4.png differ diff --git a/data/images/creatures/spidermite/spidermite-5.png b/data/images/creatures/spidermite/spidermite-5.png new file mode 100644 index 00000000000..c52868114e3 Binary files /dev/null and b/data/images/creatures/spidermite/spidermite-5.png differ diff --git a/data/images/creatures/spidermite/spidermite-6.png b/data/images/creatures/spidermite/spidermite-6.png new file mode 100644 index 00000000000..d001208251b Binary files /dev/null and b/data/images/creatures/spidermite/spidermite-6.png differ diff --git a/data/images/creatures/spidermite/spidermite-7.png b/data/images/creatures/spidermite/spidermite-7.png new file mode 100644 index 00000000000..c25d964c9cf Binary files /dev/null and b/data/images/creatures/spidermite/spidermite-7.png differ diff --git a/data/images/creatures/spidermite/spidermite-8.png b/data/images/creatures/spidermite/spidermite-8.png new file mode 100644 index 00000000000..355a4135708 Binary files /dev/null and b/data/images/creatures/spidermite/spidermite-8.png differ diff --git a/data/images/creatures/spidermite/spidermite-9.png b/data/images/creatures/spidermite/spidermite-9.png new file mode 100644 index 00000000000..081fba8aa30 Binary files /dev/null and b/data/images/creatures/spidermite/spidermite-9.png differ diff --git a/data/images/creatures/spidermite/spidermite-squish.png b/data/images/creatures/spidermite/spidermite-squish.png deleted file mode 100644 index 2a66cb30d3b..00000000000 Binary files a/data/images/creatures/spidermite/spidermite-squish.png and /dev/null differ diff --git a/data/images/creatures/spidermite/spidermite.sprite b/data/images/creatures/spidermite/spidermite.sprite index b38d4a8b4a5..cd0b2849d8b 100644 --- a/data/images/creatures/spidermite/spidermite.sprite +++ b/data/images/creatures/spidermite/spidermite.sprite @@ -1,50 +1,53 @@ (supertux-sprite - (action - (name "left") - (fps 15) - (hitbox 14 14 37 43) - (images "spidermite1.png" - "spidermite2.png" - "spidermite3.png" - "spidermite4.png" - "spidermite5.png" - "spidermite6.png")) - (action - (name "right") - (fps 15) - (hitbox 14 14 37 43) - (clone-action "left")) - - (action - (name "squished-left") - (hitbox 14 19 37 43) - (images "spidermite-squish.png")) - (action - (name "squished-right") - (hitbox 14 19 37 43) - (clone-action "squished-left")) - (action - (name "iced-left") - (hitbox 0 -1 37 43) - (images "spidermite1.png")) - (action - (name "iced-right") - (hitbox 5 -1 37 43) - (mirror-action "iced-left")) - (action - (name "burning-left") - (hitbox 14 14 37 43) - (fps 15) - (images "burning-0.png" - "burning-1.png" - "burning-2.png" - "burning-3.png" - "burning-4.png" - "burning-5.png" - "burning-6.png" - "burning-7.png")) - (action - (name "burning-right") - (hitbox 14 14 37 43) - (fps 15) - (clone-action "burning-left"))) + (action + (name "idle") + (hitbox 36 16 48 54) + (fps 10) + (images "spidermite-9.png" + "spidermite-9.png" + "spidermite-9.png" + "spidermite-9.png" + "spidermite-9.png" + "spidermite-9.png" + "spidermite-9.png" + "spidermite-9.png" + "spidermite-9.png" + "spidermite-9.png" + "spidermite-9.png" + "spidermite-9.png" + "spidermite-9.png" + "spidermite-9.png" + "spidermite-9.png" + "spidermite-7.png" + "spidermite-8.png" + "spidermite-9.png") + ) + (action + (name "dive") + (hitbox 36 16 48 54) + (fps 15) + (loops 1) + (images "spidermite-0.png" + "spidermite-1.png" + "spidermite-2.png" + "spidermite-3.png") + ) + (action + (name "rebound") + (hitbox 36 16 48 54) + (fps 15) + (loops 1) + (images "spidermite-3.png" + "spidermite-4.png" + "spidermite-5.png" + "spidermite-6.png" + "spidermite-7.png" + "spidermite-8.png" + "spidermite-9.png") + ) + (action + (name "squished") + (hitbox 36 16 48 47) + (images "squished.png") + ) + ) diff --git a/data/images/creatures/spidermite/spidermite1.png b/data/images/creatures/spidermite/spidermite1.png deleted file mode 100644 index 315dc9a2891..00000000000 Binary files a/data/images/creatures/spidermite/spidermite1.png and /dev/null differ diff --git a/data/images/creatures/spidermite/spidermite2.png b/data/images/creatures/spidermite/spidermite2.png deleted file mode 100644 index 058ed97943d..00000000000 Binary files a/data/images/creatures/spidermite/spidermite2.png and /dev/null differ diff --git a/data/images/creatures/spidermite/spidermite3.png b/data/images/creatures/spidermite/spidermite3.png deleted file mode 100644 index 9df74e0bcba..00000000000 Binary files a/data/images/creatures/spidermite/spidermite3.png and /dev/null differ diff --git a/data/images/creatures/spidermite/spidermite4.png b/data/images/creatures/spidermite/spidermite4.png deleted file mode 100644 index 349a0767161..00000000000 Binary files a/data/images/creatures/spidermite/spidermite4.png and /dev/null differ diff --git a/data/images/creatures/spidermite/spidermite5.png b/data/images/creatures/spidermite/spidermite5.png deleted file mode 100644 index a174f0b7eff..00000000000 Binary files a/data/images/creatures/spidermite/spidermite5.png and /dev/null differ diff --git a/data/images/creatures/spidermite/spidermite6.png b/data/images/creatures/spidermite/spidermite6.png deleted file mode 100644 index 067726336f3..00000000000 Binary files a/data/images/creatures/spidermite/spidermite6.png and /dev/null differ diff --git a/data/images/creatures/spidermite/squished.png b/data/images/creatures/spidermite/squished.png new file mode 100644 index 00000000000..497246761df Binary files /dev/null and b/data/images/creatures/spidermite/squished.png differ diff --git a/data/images/creatures/tarantula/silk.png b/data/images/creatures/tarantula/silk.png new file mode 100644 index 00000000000..547979879f9 Binary files /dev/null and b/data/images/creatures/tarantula/silk.png differ diff --git a/data/images/creatures/tarantula/squished.png b/data/images/creatures/tarantula/squished.png new file mode 100644 index 00000000000..c891323e92b Binary files /dev/null and b/data/images/creatures/tarantula/squished.png differ diff --git a/data/images/creatures/tarantula/tarantula-0.png b/data/images/creatures/tarantula/tarantula-0.png new file mode 100644 index 00000000000..c6c4c32da84 Binary files /dev/null and b/data/images/creatures/tarantula/tarantula-0.png differ diff --git a/data/images/creatures/tarantula/tarantula-1.png b/data/images/creatures/tarantula/tarantula-1.png new file mode 100644 index 00000000000..f07fc27c085 Binary files /dev/null and b/data/images/creatures/tarantula/tarantula-1.png differ diff --git a/data/images/creatures/tarantula/tarantula-2.png b/data/images/creatures/tarantula/tarantula-2.png new file mode 100644 index 00000000000..c3fe0b8fdfc Binary files /dev/null and b/data/images/creatures/tarantula/tarantula-2.png differ diff --git a/data/images/creatures/tarantula/tarantula-3.png b/data/images/creatures/tarantula/tarantula-3.png new file mode 100644 index 00000000000..f144d777a3e Binary files /dev/null and b/data/images/creatures/tarantula/tarantula-3.png differ diff --git a/data/images/creatures/tarantula/tarantula-4.png b/data/images/creatures/tarantula/tarantula-4.png new file mode 100644 index 00000000000..abdcc41e975 Binary files /dev/null and b/data/images/creatures/tarantula/tarantula-4.png differ diff --git a/data/images/creatures/tarantula/tarantula-5.png b/data/images/creatures/tarantula/tarantula-5.png new file mode 100644 index 00000000000..227333ce0ed Binary files /dev/null and b/data/images/creatures/tarantula/tarantula-5.png differ diff --git a/data/images/creatures/tarantula/tarantula-6.png b/data/images/creatures/tarantula/tarantula-6.png new file mode 100644 index 00000000000..5cd9c5628fc Binary files /dev/null and b/data/images/creatures/tarantula/tarantula-6.png differ diff --git a/data/images/creatures/tarantula/tarantula-7.png b/data/images/creatures/tarantula/tarantula-7.png new file mode 100644 index 00000000000..ac5d76b3bab Binary files /dev/null and b/data/images/creatures/tarantula/tarantula-7.png differ diff --git a/data/images/creatures/tarantula/tarantula-8.png b/data/images/creatures/tarantula/tarantula-8.png new file mode 100644 index 00000000000..ffa39c1ae61 Binary files /dev/null and b/data/images/creatures/tarantula/tarantula-8.png differ diff --git a/data/images/creatures/tarantula/tarantula-9.png b/data/images/creatures/tarantula/tarantula-9.png new file mode 100644 index 00000000000..d2e5922cc94 Binary files /dev/null and b/data/images/creatures/tarantula/tarantula-9.png differ diff --git a/data/images/creatures/tarantula/tarantula.sprite b/data/images/creatures/tarantula/tarantula.sprite new file mode 100644 index 00000000000..fdcf5211dc1 --- /dev/null +++ b/data/images/creatures/tarantula/tarantula.sprite @@ -0,0 +1,53 @@ +(supertux-sprite + (action + (name "idle") + (hitbox 36 16 48 54) + (fps 10) + (images "tarantula-9.png" + "tarantula-9.png" + "tarantula-9.png" + "tarantula-9.png" + "tarantula-9.png" + "tarantula-9.png" + "tarantula-9.png" + "tarantula-9.png" + "tarantula-9.png" + "tarantula-9.png" + "tarantula-9.png" + "tarantula-9.png" + "tarantula-9.png" + "tarantula-9.png" + "tarantula-9.png" + "tarantula-7.png" + "tarantula-8.png" + "tarantula-9.png") + ) + (action + (name "dive") + (hitbox 36 16 48 54) + (fps 15) + (loops 1) + (images "tarantula-0.png" + "tarantula-1.png" + "tarantula-2.png" + "tarantula-3.png") + ) + (action + (name "rebound") + (hitbox 36 16 48 54) + (fps 15) + (loops 1) + (images "tarantula-3.png" + "tarantula-4.png" + "tarantula-5.png" + "tarantula-6.png" + "tarantula-7.png" + "tarantula-8.png" + "tarantula-9.png") + ) + (action + (name "squished") + (hitbox 36 16 48 45) + (images "squished.png") + ) + ) diff --git a/data/images/engine/editor/add.png b/data/images/engine/editor/add.png new file mode 100644 index 00000000000..3db48622c64 Binary files /dev/null and b/data/images/engine/editor/add.png differ diff --git a/data/images/engine/editor/objects.stoi b/data/images/engine/editor/objects.stoi index 121ed978a76..090bfbc3ef9 100644 --- a/data/images/engine/editor/objects.stoi +++ b/data/images/engine/editor/objects.stoi @@ -151,8 +151,8 @@ (class "toad") (icon "images/creatures/toad/toad-idle-0.png")) (object - (class "spidermite") - (icon "images/creatures/spidermite/spidermite1.png")) + (class "tarantula") + (icon "images/creatures/tarantula/tarantula-0.png")) (object (class "totem") (icon "images/creatures/totem/walking1.png")) @@ -338,9 +338,7 @@ (icon "images/engine/editor/textarray.png")) ) - (objectgroup - (name (_"Sector")) - (worldmap #f) + (layers (object (class "tilemap") (icon "images/engine/editor/tilemap.png")) @@ -406,6 +404,9 @@ (object (class "decal") (icon "images/engine/editor/decal.png")) + ) + + (layers-worldmap (object (class "tilemap") (icon "images/engine/editor/tilemap.png")) diff --git a/data/images/particles/rain0.png b/data/images/particles/rain0.png index f9cbf3a60da..2d19ed9f5f7 100644 Binary files a/data/images/particles/rain0.png and b/data/images/particles/rain0.png differ diff --git a/data/images/particles/rain1.png b/data/images/particles/rain1.png index 04dc1e16fd7..eb915aea9d9 100644 Binary files a/data/images/particles/rain1.png and b/data/images/particles/rain1.png differ diff --git a/data/images/particles/rainsplash-1.png b/data/images/particles/rainsplash-1.png index 2748e11482f..5a9c6ddd959 100644 Binary files a/data/images/particles/rainsplash-1.png and b/data/images/particles/rainsplash-1.png differ diff --git a/data/images/particles/rainsplash-2.png b/data/images/particles/rainsplash-2.png index 26d4c9cf4c1..ca35d5298ca 100644 Binary files a/data/images/particles/rainsplash-2.png and b/data/images/particles/rainsplash-2.png differ diff --git a/data/images/particles/rainsplash-3.png b/data/images/particles/rainsplash-3.png index 9ef77933937..b7f6176a1ff 100644 Binary files a/data/images/particles/rainsplash-3.png and b/data/images/particles/rainsplash-3.png differ diff --git a/data/images/particles/rainsplash-4.png b/data/images/particles/rainsplash-4.png index 3e6a83c65d2..39df79b8020 100644 Binary files a/data/images/particles/rainsplash-4.png and b/data/images/particles/rainsplash-4.png differ diff --git a/data/levels/bonus1/ja.po b/data/levels/bonus1/ja.po index c107ce347ae..d7cbdbba2f8 100644 --- a/data/levels/bonus1/ja.po +++ b/data/levels/bonus1/ja.po @@ -5,7 +5,7 @@ # Translators: # 111More1, 2023 # 515ce455fbf38ec9585626e8d26b6324_7a9a6ef, 2017 -# Ryo Nakano, 2019,2021 +# Ryo Nakano, 2019,2021,2024 # Sanshiro sumita, 2015-2016 # Sanshiro sumita, 2015 msgid "" @@ -14,7 +14,7 @@ msgstr "" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" "POT-Creation-Date: 2024-03-03 03:26+0100\n" "PO-Revision-Date: 2013-08-10 23:04+0000\n" -"Last-Translator: 111More1, 2023\n" +"Last-Translator: Ryo Nakano, 2019,2021,2024\n" "Language-Team: Japanese (http://app.transifex.com/arctic-games/supertux/language/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -99,7 +99,7 @@ msgstr "天空の火" #: data/levels/bonus1/thompson-level1.stl:3 msgid "Have I been here before?" -msgstr "見たことのある光景" +msgstr "見覚えのある光景" #: data/levels/bonus1/thompson-level2.stl:3 msgid "Bad Guys Stink!" @@ -109,7 +109,7 @@ msgstr "悪者は臭う!" msgid "" "#These levels were made Swimming-Ready by Serano and revamped by " "AllyTheOcelot" -msgstr "#これらのレベルは Serano によって Swimming-Ready にされ、AllyTheOcelot によって改良されました" +msgstr "#これらのレベルは Serano によって潜水対応になり、AllyTheOcelot によって改良されました" #: data/levels/bonus1/torfi-level1.stl:3 msgid "A good start" @@ -121,7 +121,7 @@ msgstr "簡単すぎるレベル" #: data/levels/bonus1/torfi-level2.stl:56 msgid "#All these levels were upgraded for milestone 2 by Hume." -msgstr "#これらすべてのレベルは、ヒュームによってマイルストーン 2 にアップグレードされました。" +msgstr "#これらすべてのレベルは、Hume によってマイルストーン 2 にアップグレードされました。" #: data/levels/bonus1/torfi-level3.stl:3 msgid "Still too easy" diff --git a/data/levels/bonus1/ko.po b/data/levels/bonus1/ko.po index f1834f2ee76..4ee23ed41a0 100644 --- a/data/levels/bonus1/ko.po +++ b/data/levels/bonus1/ko.po @@ -5,7 +5,7 @@ # Translators: # Go Nam Hyeon , 2021 # 최이준, 2023 -# JungHee Lee , 2022 +# Junghee Lee , 2022 # Myeongjin , 2016-2017,2019 msgid "" msgstr "" diff --git a/data/levels/bonus1/pl.po b/data/levels/bonus1/pl.po index bad92e376b5..79a98576f98 100644 --- a/data/levels/bonus1/pl.po +++ b/data/levels/bonus1/pl.po @@ -7,14 +7,14 @@ # Krzysztof Szeląg, 2015 # Krzysztof Szeląg, 2015-2016 # Paweł Talar , 2013 -# Rob PlayZ, 2021 +# Alina Gobarov, 2021 msgid "" msgstr "" "Project-Id-Version: SuperTux\n" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" "POT-Creation-Date: 2024-03-03 03:26+0100\n" "PO-Revision-Date: 2013-08-10 23:04+0000\n" -"Last-Translator: Rob PlayZ, 2021\n" +"Last-Translator: Alina Gobarov, 2021\n" "Language-Team: Polish (http://app.transifex.com/arctic-games/supertux/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/data/levels/bonus1/sl.po b/data/levels/bonus1/sl.po index 7d81d767092..8e194271d66 100644 --- a/data/levels/bonus1/sl.po +++ b/data/levels/bonus1/sl.po @@ -4,8 +4,8 @@ # # Translators: # , 2006 -# Gorazd Gorup , 2016 -# Gorazd Gorup , 2019,2022 +# Gorzy Gorup , 2016 +# Gorzy Gorup , 2019,2022 # Marko Burjek , 2006-2007 msgid "" msgstr "" @@ -13,7 +13,7 @@ msgstr "" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" "POT-Creation-Date: 2024-03-03 03:26+0100\n" "PO-Revision-Date: 2013-08-10 23:04+0000\n" -"Last-Translator: Gorazd Gorup , 2019,2022\n" +"Last-Translator: Gorzy Gorup , 2019,2022\n" "Language-Team: Slovenian (http://app.transifex.com/arctic-games/supertux/language/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/data/levels/bonus2/ko.po b/data/levels/bonus2/ko.po index e6a1aea6336..d5f73c413cc 100644 --- a/data/levels/bonus2/ko.po +++ b/data/levels/bonus2/ko.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the SuperTux package. # # Translators: -# JungHee Lee , 2022 +# Junghee Lee , 2022 # Myeongjin , 2016-2017 msgid "" msgstr "" @@ -11,7 +11,7 @@ msgstr "" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" "POT-Creation-Date: 2024-03-03 03:26+0100\n" "PO-Revision-Date: 2013-08-10 23:07+0000\n" -"Last-Translator: JungHee Lee , 2022\n" +"Last-Translator: Junghee Lee , 2022\n" "Language-Team: Korean (http://app.transifex.com/arctic-games/supertux/language/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/data/levels/bonus2/sl.po b/data/levels/bonus2/sl.po index 5bb529bb703..6a57674fe39 100644 --- a/data/levels/bonus2/sl.po +++ b/data/levels/bonus2/sl.po @@ -4,8 +4,8 @@ # # Translators: # , 2006 -# Gorazd Gorup , 2016 -# Gorazd Gorup , 2019,2022 +# Gorzy Gorup , 2016 +# Gorzy Gorup , 2019,2022 # Marko Burjek , 2006-2007 msgid "" msgstr "" @@ -13,7 +13,7 @@ msgstr "" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" "POT-Creation-Date: 2024-03-03 03:26+0100\n" "PO-Revision-Date: 2013-08-10 23:07+0000\n" -"Last-Translator: Gorazd Gorup , 2019,2022\n" +"Last-Translator: Gorzy Gorup , 2019,2022\n" "Language-Team: Slovenian (http://app.transifex.com/arctic-games/supertux/language/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/data/levels/bonus3/ja.po b/data/levels/bonus3/ja.po index 59ac5a25173..c91b8ad6799 100644 --- a/data/levels/bonus3/ja.po +++ b/data/levels/bonus3/ja.po @@ -4,7 +4,7 @@ # # Translators: # 111More1, 2023 -# Ryo Nakano, 2019,2021 +# Ryo Nakano, 2019,2021,2024 # b1e11c107ebf1f339ff7adfc86b9dbe0_2e3e89d, 2016 # Sanshiro sumita, 2015 # Sanshiro sumita, 2015 @@ -14,7 +14,7 @@ msgstr "" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" "POT-Creation-Date: 2024-03-03 03:26+0100\n" "PO-Revision-Date: 2013-08-10 23:08+0000\n" -"Last-Translator: 111More1, 2023\n" +"Last-Translator: Ryo Nakano, 2019,2021,2024\n" "Language-Team: Japanese (http://app.transifex.com/arctic-games/supertux/language/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -76,7 +76,7 @@ msgstr "冷たいどうくつ" msgid "" "#Good job! You kept the red lantern! You didn't need to though, but just " "because you did, have 100 coins!" -msgstr "#よくできました!あなたは赤いランタンを持ち続けました。あなたは100枚以上のコインを持っています。しかし、あなたがする理由はなく、する必要はありませんでした!" +msgstr "#よくできました!あなたは赤いランタンを持ち続けました。クリアには必要なかったですが、これを達成したので、100枚のコインを差し上げます!" #: data/levels/bonus3/coconut_fortress.stl:3 msgid "Coconut Fortress" @@ -189,7 +189,7 @@ msgstr "-出口ですか?\n#飛んでみましょう!" #: data/levels/bonus3/over_the_ocean.stl:3 msgid "My Penny is over the ocean" -msgstr "私のペニーは海の向こう側" +msgstr "愛しのペニーは海の向こう" #: data/levels/bonus3/pinksnow.stl:3 msgid "Pink Snow" diff --git a/data/levels/bonus3/ko.po b/data/levels/bonus3/ko.po index b814687e933..2f53080b784 100644 --- a/data/levels/bonus3/ko.po +++ b/data/levels/bonus3/ko.po @@ -3,8 +3,8 @@ # This file is distributed under the same license as the SuperTux package. # # Translators: -# JungHee Lee , 2022 -# JungHee Lee , 2022 +# Junghee Lee , 2022 +# Junghee Lee , 2022 # Myeongjin , 2016-2017,2019,2021 # Youngjun, Choi, 2022 msgid "" @@ -13,7 +13,7 @@ msgstr "" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" "POT-Creation-Date: 2024-03-03 03:26+0100\n" "PO-Revision-Date: 2013-08-10 23:08+0000\n" -"Last-Translator: JungHee Lee , 2022\n" +"Last-Translator: Junghee Lee , 2022\n" "Language-Team: Korean (http://app.transifex.com/arctic-games/supertux/language/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/data/levels/bonus3/pl.po b/data/levels/bonus3/pl.po index b9f12bd6118..adf429ad318 100644 --- a/data/levels/bonus3/pl.po +++ b/data/levels/bonus3/pl.po @@ -7,14 +7,14 @@ # Krzysztof Szeląg, 2015-2016,2018 # Krzysztof Szeląg, 2019 # Paweł Talar , 2013 -# Rob PlayZ, 2021 +# Alina Gobarov, 2021 msgid "" msgstr "" "Project-Id-Version: SuperTux\n" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" "POT-Creation-Date: 2024-03-03 03:26+0100\n" "PO-Revision-Date: 2013-08-10 23:08+0000\n" -"Last-Translator: Rob PlayZ, 2021\n" +"Last-Translator: Alina Gobarov, 2021\n" "Language-Team: Polish (http://app.transifex.com/arctic-games/supertux/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/data/levels/bonus3/sl.po b/data/levels/bonus3/sl.po index d015b941b1a..d14306901c1 100644 --- a/data/levels/bonus3/sl.po +++ b/data/levels/bonus3/sl.po @@ -3,15 +3,15 @@ # This file is distributed under the same license as the SuperTux package. # # Translators: -# Gorazd Gorup , 2016 -# Gorazd Gorup , 2018-2019,2022 +# Gorzy Gorup , 2016 +# Gorzy Gorup , 2018-2019,2022 msgid "" msgstr "" "Project-Id-Version: SuperTux\n" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" "POT-Creation-Date: 2024-03-03 03:26+0100\n" "PO-Revision-Date: 2013-08-10 23:08+0000\n" -"Last-Translator: Gorazd Gorup , 2018-2019,2022\n" +"Last-Translator: Gorzy Gorup , 2018-2019,2022\n" "Language-Team: Slovenian (http://app.transifex.com/arctic-games/supertux/language/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/data/levels/bonus4/ko.po b/data/levels/bonus4/ko.po index 8fd9c9159c7..1ca30ca283e 100644 --- a/data/levels/bonus4/ko.po +++ b/data/levels/bonus4/ko.po @@ -5,7 +5,7 @@ # # Translators: # Myeongjin , 2019 -# JungHee Lee , 2022 +# Junghee Lee , 2022 # #, fuzzy msgid "" @@ -14,7 +14,7 @@ msgstr "" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" "POT-Creation-Date: 2019-11-24 01:44+0100\n" "PO-Revision-Date: 2019-11-24 00:58+0000\n" -"Last-Translator: JungHee Lee , 2022\n" +"Last-Translator: Junghee Lee , 2022\n" "Language-Team: Korean (https://app.transifex.com/arctic-games/teams/95/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/data/levels/bonus4/sl.po b/data/levels/bonus4/sl.po index 07e689d5ec5..f4ad32d3a01 100644 --- a/data/levels/bonus4/sl.po +++ b/data/levels/bonus4/sl.po @@ -4,7 +4,7 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Gorazd Gorup , 2022 +# Gorzy Gorup , 2022 # #, fuzzy msgid "" @@ -13,7 +13,7 @@ msgstr "" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" "POT-Creation-Date: 2019-11-24 01:44+0100\n" "PO-Revision-Date: 2019-11-24 00:58+0000\n" -"Last-Translator: Gorazd Gorup , 2022\n" +"Last-Translator: Gorzy Gorup , 2022\n" "Language-Team: Slovenian (https://app.transifex.com/arctic-games/teams/95/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/data/levels/community2016/ko.po b/data/levels/community2016/ko.po index a0ad681481c..4f91adc0a0f 100644 --- a/data/levels/community2016/ko.po +++ b/data/levels/community2016/ko.po @@ -4,7 +4,7 @@ # FIRST AUTHOR , YEAR. # # Translators: -# JungHee Lee , 2022 +# Junghee Lee , 2022 # #, fuzzy msgid "" @@ -13,7 +13,7 @@ msgstr "" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" "POT-Creation-Date: 2019-11-24 01:44+0100\n" "PO-Revision-Date: 2019-11-24 00:59+0000\n" -"Last-Translator: JungHee Lee , 2022\n" +"Last-Translator: Junghee Lee , 2022\n" "Language-Team: Korean (https://app.transifex.com/arctic-games/teams/95/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/data/levels/community2016/pl.po b/data/levels/community2016/pl.po index 2a1f20310b0..1e9f247c8b7 100644 --- a/data/levels/community2016/pl.po +++ b/data/levels/community2016/pl.po @@ -6,7 +6,7 @@ # Translators: # mkkot , 2019 # Krzysztof Szeląg, 2019 -# Rob PlayZ, 2021 +# Alina Gobarov, 2021 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" "POT-Creation-Date: 2019-11-24 01:44+0100\n" "PO-Revision-Date: 2019-11-24 00:59+0000\n" -"Last-Translator: Rob PlayZ, 2021\n" +"Last-Translator: Alina Gobarov, 2021\n" "Language-Team: Polish (https://app.transifex.com/arctic-games/teams/95/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/data/levels/community2016/sl.po b/data/levels/community2016/sl.po index 933d49613e9..96e97e3608b 100644 --- a/data/levels/community2016/sl.po +++ b/data/levels/community2016/sl.po @@ -4,7 +4,7 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Gorazd Gorup , 2022 +# Gorzy Gorup , 2022 # #, fuzzy msgid "" @@ -13,7 +13,7 @@ msgstr "" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" "POT-Creation-Date: 2019-11-24 01:44+0100\n" "PO-Revision-Date: 2019-11-24 00:59+0000\n" -"Last-Translator: Gorazd Gorup , 2022\n" +"Last-Translator: Gorzy Gorup , 2022\n" "Language-Team: Slovenian (https://app.transifex.com/arctic-games/teams/95/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/data/levels/halloween2014/sl.po b/data/levels/halloween2014/sl.po index fcd2eb55109..15f7670e106 100644 --- a/data/levels/halloween2014/sl.po +++ b/data/levels/halloween2014/sl.po @@ -3,15 +3,15 @@ # This file is distributed under the same license as the SuperTux package. # # Translators: -# Gorazd Gorup , 2016 -# Gorazd Gorup , 2022 +# Gorzy Gorup , 2016 +# Gorzy Gorup , 2022 msgid "" msgstr "" "Project-Id-Version: SuperTux\n" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" "POT-Creation-Date: 2024-03-03 03:26+0100\n" "PO-Revision-Date: 2015-10-19 18:02+0000\n" -"Last-Translator: Gorazd Gorup , 2022\n" +"Last-Translator: Gorzy Gorup , 2022\n" "Language-Team: Slovenian (http://app.transifex.com/arctic-games/supertux/language/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/data/levels/world1/ko.po b/data/levels/world1/ko.po index 5432718c38c..2ead787cf00 100644 --- a/data/levels/world1/ko.po +++ b/data/levels/world1/ko.po @@ -4,8 +4,8 @@ # # Translators: # Go Nam Hyeon , 2021 -# JungHee Lee , 2022 -# JungHee Lee , 2022 +# Junghee Lee , 2022 +# Junghee Lee , 2022 # Myeongjin , 2016-2017,2019,2021 # Roland Kim , 2014-2015 msgid "" @@ -14,7 +14,7 @@ msgstr "" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" "POT-Creation-Date: 2024-03-03 03:26+0100\n" "PO-Revision-Date: 2013-08-10 22:58+0000\n" -"Last-Translator: JungHee Lee , 2022\n" +"Last-Translator: Junghee Lee , 2022\n" "Language-Team: Korean (http://app.transifex.com/arctic-games/supertux/language/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/data/levels/world1/pl.po b/data/levels/world1/pl.po index 60c29985221..cb552bf9245 100644 --- a/data/levels/world1/pl.po +++ b/data/levels/world1/pl.po @@ -19,7 +19,7 @@ # Paweł Talar , 2013 # Paweł Talar , 2013 # Rob PlayZ, 2021 -# Rob PlayZ, 2021 +# Alina Gobarov, 2021 # Seba D. , 2020 # Simon Kornowski , 2013 # Tomasz Dądela, 2022 diff --git a/data/levels/world1/ru.po b/data/levels/world1/ru.po index 1dfbd9b1348..1389d2cdc75 100644 --- a/data/levels/world1/ru.po +++ b/data/levels/world1/ru.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the SuperTux package. # # Translators: -# Andrei Stepanov, 2018-2019,2021-2022 +# Andrei Stepanov, 2018-2019,2021-2022,2024 # Artem Krosheninnikov , 2013,2015 # Dmitry Anikonov , 2016 # Dmitry , 2013 @@ -17,7 +17,7 @@ msgstr "" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" "POT-Creation-Date: 2024-03-03 03:26+0100\n" "PO-Revision-Date: 2013-08-10 22:58+0000\n" -"Last-Translator: Темак, 2022\n" +"Last-Translator: Andrei Stepanov, 2018-2019,2021-2022,2024\n" "Language-Team: Russian (http://app.transifex.com/arctic-games/supertux/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -199,11 +199,11 @@ msgstr "Где-то у берегов Антарктиды…" #: data/levels/world1/scripts_intro.txt:3 msgid "Tux the penguin was going to meet his friend, Penny, for a picnic." -msgstr "Пингвин Такс собирался на встречу со своей подругой Пенни для пикника." +msgstr "Пингвин Такс собрался устроить пикник вместе со своей подругой Пенни." #: data/levels/world1/scripts_intro.txt:4 msgid "Tux woke up, dizzy, to find that Penny was missing!" -msgstr "Проснувшись в головокружении, Такс обнаружил, что Пенни пропала!" +msgstr "Очнувшись от оглушения, Такс обнаружил пропажу Пенни!" #: data/levels/world1/scripts_intro.txt:5 msgid "Tux was starting to become worried. He then saw a letter, and it read:" @@ -213,15 +213,15 @@ msgstr "Такс забеспокоился. Затем он увидел пис msgid "" "\"Tux, I have kidnapped your beloved Penny and have taken her to my " "fortress.\"" -msgstr "\"Такс, я похитил твою любимую Пенни и увёз её в свою крепость.\"" +msgstr "«Такс, я похитил твою любимую Пенни и увёз её в свою крепость.»" #: data/levels/world1/scripts_intro.txt:7 msgid "\"The path to my fortress is littered with my minions.\"" -msgstr "\"Путь к крепости усеян моими приспешниками.\"" +msgstr "«Путь к крепости усеян моими приспешниками.»" #: data/levels/world1/scripts_intro.txt:8 msgid "\"You don't have a chance of saving her! Signed, Nolok.\"" -msgstr "\"Ты не сможешь её спасти! Подпись: Нолок.\"" +msgstr "«Не пытайся спасти её! Подпись: Нолок.»" #: data/levels/world1/scripts_intro.txt:9 msgid "" @@ -261,7 +261,7 @@ msgstr "Разбитый мост" #: data/levels/world1/somewhat_smaller_bath.stl:3 msgid "The Somewhat Smaller Bath" -msgstr "Немного меньший бассейн" +msgstr "Весьма небольшая купальня" #: data/levels/world1/stone_cold.stl:3 msgid "Stone Cold" @@ -300,14 +300,14 @@ msgid "" "-Checkpoints\n" "!images/objects/resetpoints/bell-m.png\n" "#Activate the checkpoint. If you die, you can retry the level from here. Every time you retry from a checkpoint, you will lose 10 percent of your coins (at least 25 coins)." -msgstr "-Контрольные точки\n!images/objects/resetpoints/bell-m.png\n#Включена контрольная точка. Если вы умрёте, то сможете продолжить уровень отсюда. Каждый раз, когда вы начинаете с контрольной точки, вы теряете 10% своих монет (от 25 монет)." +msgstr "-Контрольные точки\n!images/objects/resetpoints/bell-m.png\n#Задействуйте контрольную точку. После гибели вы сможете продолжить уровень отсюда. Каждый раз, когда вы начинаете с контрольной точки, вы теряете 10% своих монет (от 25 монет)." #: data/levels/world1/welcome_antarctica.stl:97 msgid "" "-Running\n" "!images/tiles/signs/run.png\n" "#The path in front of you is blocked. Gain some speed before jumping to pass over the blocks." -msgstr "-Беги\n!images/tiles/signs/run.png\n#Путь впереди заблокирован. Разбегись прежде чем перепрыгивать через блоки" +msgstr "-Бег\n!images/tiles/signs/run.png\n#Путь впереди заблокирован. Разбегитесь и затем подпрыгните, чтобы преодолеть блоки." #: data/levels/world1/welcome_antarctica.stl:104 msgid "" @@ -321,13 +321,13 @@ msgid "" "-Tux Doll\n" "!images/powerups/1up/1up.png\n" "#The Tux doll gives Tux 100 coins." -msgstr "-Кукольный Такс\n!images/powerups/1up/1up.png\n#Даёт Таксу 100 монет." +msgstr "-Кукла Такс\n!images/powerups/1up/1up.png\n#Кукла даёт Таксу 100 монет." #: data/levels/world1/welcome_antarctica.stl:118 msgid "" "-Secret Areas\n" "#Many levels contain secret areas behind what seems to be plain walls. Look for clues to find them." -msgstr "-Тайники\n#На многих уровнях есть тайники, спрятанные за обычными стенами. Ищите подсказки, чтобы обнаружить их." +msgstr "-Тайники\n#На многих уровнях есть тайники, спрятанные за обычными стенами. Ищите подсказки, чтобы находить их." #: data/levels/world1/worldmap.stwm:3 msgid "Icy Island" diff --git a/data/levels/world1/sl.po b/data/levels/world1/sl.po index 38c1df3963e..5e716bb02ef 100644 --- a/data/levels/world1/sl.po +++ b/data/levels/world1/sl.po @@ -3,8 +3,8 @@ # This file is distributed under the same license as the SuperTux package. # # Translators: -# Gorazd Gorup , 2016 -# Gorazd Gorup , 2016,2018-2019,2022 +# Gorzy Gorup , 2016 +# Gorzy Gorup , 2016,2018-2019,2022 # Marko Burjek , 2005-2007 msgid "" msgstr "" @@ -12,7 +12,7 @@ msgstr "" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" "POT-Creation-Date: 2024-03-03 03:26+0100\n" "PO-Revision-Date: 2013-08-10 22:58+0000\n" -"Last-Translator: Gorazd Gorup , 2016,2018-2019,2022\n" +"Last-Translator: Gorzy Gorup , 2016,2018-2019,2022\n" "Language-Team: Slovenian (http://app.transifex.com/arctic-games/supertux/language/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/data/levels/world2/ko.po b/data/levels/world2/ko.po index 7497e66fecc..5fb5f15f063 100644 --- a/data/levels/world2/ko.po +++ b/data/levels/world2/ko.po @@ -4,8 +4,8 @@ # # Translators: # 111More1, 2022 -# JungHee Lee , 2022 -# JungHee Lee , 2022 +# Junghee Lee , 2022 +# Junghee Lee , 2022 # Myeongjin , 2016-2017,2019,2021 # Youngjun, Choi, 2022 msgid "" diff --git a/data/levels/world2/pl.po b/data/levels/world2/pl.po index c1123872b39..1aeeefb9475 100644 --- a/data/levels/world2/pl.po +++ b/data/levels/world2/pl.po @@ -15,7 +15,7 @@ # Paweł Talar , 2013 # Paweł Talar , 2013 # Rob PlayZ, 2021 -# Rob PlayZ, 2021 +# Alina Gobarov, 2021 # Tomasz Dądela, 2022 # Ziemowit Zabawa, 2022 # Grzegorz Przybylski , 2019-2021 diff --git a/data/levels/world2/sl.po b/data/levels/world2/sl.po index 18e5523df3b..c53c955b27c 100644 --- a/data/levels/world2/sl.po +++ b/data/levels/world2/sl.po @@ -3,8 +3,8 @@ # This file is distributed under the same license as the SuperTux package. # # Translators: -# Gorazd Gorup , 2016 -# Gorazd Gorup , 2016,2018-2020,2022 +# Gorzy Gorup , 2016 +# Gorzy Gorup , 2016,2018-2020,2022 # Marko Burjek , 2005-2007 msgid "" msgstr "" @@ -12,7 +12,7 @@ msgstr "" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" "POT-Creation-Date: 2024-03-03 03:26+0100\n" "PO-Revision-Date: 2013-08-10 23:00+0000\n" -"Last-Translator: Gorazd Gorup , 2016,2018-2020,2022\n" +"Last-Translator: Gorzy Gorup , 2016,2018-2020,2022\n" "Language-Team: Slovenian (http://app.transifex.com/arctic-games/supertux/language/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/data/locale/bg.po b/data/locale/bg.po index 5b7082e3bc5..7e76e5548b6 100644 --- a/data/locale/bg.po +++ b/data/locale/bg.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: SuperTux\n" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" -"POT-Creation-Date: 2024-03-03 03:26+0100\n" +"POT-Creation-Date: 2024-05-30 16:19+0200\n" "PO-Revision-Date: 2013-08-10 22:56+0000\n" "Last-Translator: Любомир Василев, 2021,2024\n" "Language-Team: Bulgarian (http://app.transifex.com/arctic-games/supertux/language/bg/)\n" @@ -27,7 +27,7 @@ msgid "You found a secret area!" msgstr "Ти откри тайно място!" #: src/trigger/secretarea_trigger.cpp:55 src/supertux/game_object.cpp:115 -#: src/supertux/menu/editor_sector_menu.cpp:34 +#: src/supertux/menu/editor_sector_menu.cpp:36 #: src/supertux/menu/editor_levelset_menu.cpp:52 #: src/supertux/menu/editor_new_levelset_menu.cpp:34 #: src/supertux/menu/profile_name_menu.cpp:39 @@ -46,7 +46,7 @@ msgid "Message" msgstr "Съобщение" #: src/trigger/secretarea_trigger.cpp:58 src/trigger/scripttrigger.cpp:51 -#: src/trigger/door.cpp:72 src/object/ispy.cpp:53 +#: src/trigger/door.cpp:79 src/object/ispy.cpp:53 #: src/object/bonus_block.cpp:264 src/object/bonus_block.cpp:268 #: src/object/pushbutton.cpp:62 src/object/powerup.cpp:301 #: src/worldmap/special_tile.cpp:76 @@ -77,7 +77,7 @@ msgstr "Време за промяна на текста" msgid "Fade time" msgstr "Време за избледняване" -#: src/trigger/text_area.cpp:144 src/object/textscroller.cpp:351 +#: src/trigger/text_area.cpp:144 src/object/textscroller.cpp:353 msgid "Anchor" msgstr "Котва" @@ -93,29 +93,27 @@ msgstr "Отместване за котвата по Y" msgid "Texts" msgstr "Текстове" -#: src/trigger/door.cpp:73 src/badguy/willowisp.cpp:310 -#: src/supertux/menu/editor_sector_menu.cpp:32 src/worldmap/teleporter.cpp:47 -#: src/editor/layers_widget.cpp:329 -#: data//images/engine/editor/objects.stoi:339 +#: src/trigger/door.cpp:80 src/badguy/willowisp.cpp:311 +#: src/worldmap/teleporter.cpp:47 data//images/engine/editor/objects.stoi:342 msgid "Sector" msgstr "Сектор" -#: src/trigger/door.cpp:74 src/worldmap/spawn_point.hpp:58 +#: src/trigger/door.cpp:81 src/worldmap/spawn_point.hpp:58 msgid "Spawn point" msgstr "Точка на раждане" -#: src/trigger/door.cpp:75 +#: src/trigger/door.cpp:82 msgid "Locked?" msgstr "Заключена?" -#: src/trigger/door.cpp:76 +#: src/trigger/door.cpp:83 msgid "Lock Color" msgstr "Цвят на ключалката" #: src/trigger/switch.cpp:62 src/object/ispy.cpp:54 src/object/bumper.cpp:53 #: src/object/spotlight.cpp:106 src/object/pushbutton.cpp:61 #: src/object/gradient.cpp:103 src/object/conveyor_belt.cpp:60 -#: src/badguy/badguy.cpp:1061 src/worldmap/spawn_point.cpp:79 +#: src/badguy/badguy.cpp:1063 src/worldmap/spawn_point.cpp:79 #: src/worldmap/special_tile.cpp:78 msgid "Direction" msgstr "Посока" @@ -203,8 +201,8 @@ msgstr "Горе" msgid "Top Right" msgstr "Горе вдясно" -#: src/math/anchor_point.cpp:36 src/object/textscroller.cpp:352 -#: src/object/textscroller.cpp:356 src/supertux/menu/keyboard_menu.cpp:36 +#: src/math/anchor_point.cpp:36 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:38 #: src/supertux/menu/joystick_menu.cpp:73 msgid "Left" msgstr "Наляво" @@ -213,8 +211,8 @@ msgstr "Наляво" msgid "Middle" msgstr "Център" -#: src/math/anchor_point.cpp:38 src/object/textscroller.cpp:352 -#: src/object/textscroller.cpp:356 src/supertux/menu/keyboard_menu.cpp:37 +#: src/math/anchor_point.cpp:38 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:39 #: src/supertux/menu/joystick_menu.cpp:74 msgid "Right" msgstr "Надясно" @@ -231,7 +229,7 @@ msgstr "Долу" msgid "Bottom Right" msgstr "Долу вдясно" -#: src/object/thunderstorm.hpp:43 +#: src/object/thunderstorm.hpp:44 msgid "Thunderstorm" msgstr "Гръмотевична буря" @@ -251,23 +249,16 @@ msgstr "Зона с частици" #: src/object/path_gameobject.hpp:45 src/object/coin.cpp:324 #: src/object/camera.cpp:168 src/object/platform.cpp:76 #: src/object/path_gameobject.cpp:175 src/object/tilemap.cpp:284 -#: src/gui/menu_paths.cpp:54 src/badguy/willowisp.cpp:316 +#: src/badguy/willowisp.cpp:317 msgid "Path" msgstr "Път" -#: src/object/decal.cpp:48 src/object/scripted_object.cpp:68 -#: src/object/particlesystem.cpp:65 src/object/background.cpp:184 -#: src/object/thunderstorm.cpp:72 src/object/tilemap.cpp:277 -#: src/object/gradient.cpp:101 -msgid "Z-pos" -msgstr "Позиция по Z" - -#: src/object/decal.cpp:49 src/object/scripted_object.cpp:71 +#: src/object/decal.cpp:48 src/object/scripted_object.cpp:70 #: src/object/tilemap.cpp:266 msgid "Solid" msgstr "Плътен обект" -#: src/object/decal.cpp:50 src/supertux/menu/keyboard_menu.cpp:39 +#: src/object/decal.cpp:49 src/supertux/menu/keyboard_menu.cpp:41 #: src/supertux/menu/joystick_menu.cpp:76 msgid "Action" msgstr "Действие" @@ -286,7 +277,7 @@ msgstr "Плочна карта" #: src/object/sound_object.cpp:69 src/object/ambient_sound.cpp:85 #: src/object/sound_object.hpp:42 src/supertux/menu/options_menu.cpp:128 -#: data//credits.stxt:372 +#: data//credits.stxt:367 msgid "Sound" msgstr "Звук" @@ -319,7 +310,7 @@ msgstr "Кръгла платформа" #: src/object/invisible_block.cpp:37 src/object/background.cpp:200 #: src/object/tilemap.cpp:279 src/object/gradient.cpp:109 #: src/badguy/viciousivy.cpp:44 src/badguy/snail.cpp:69 -#: src/badguy/smartball.cpp:34 src/badguy/bouncing_snowball.cpp:69 +#: src/badguy/smartball.cpp:34 src/badguy/bouncing_snowball.cpp:81 #: src/badguy/kamikazesnowball.cpp:117 src/badguy/walkingleaf.cpp:35 #: src/badguy/mrbomb.cpp:47 src/badguy/igel.cpp:188 src/badguy/snowball.cpp:40 #: src/badguy/mrtree.cpp:50 src/badguy/mriceblock.cpp:62 @@ -360,12 +351,12 @@ msgstr "Ъгъл" #: src/object/spotlight.cpp:104 src/object/magicblock.cpp:95 #: src/object/candle.cpp:75 src/object/torch.cpp:96 src/object/rublight.cpp:55 #: src/object/lantern.cpp:62 src/object/ambient_light.cpp:122 -#: src/object/key.cpp:192 src/badguy/willowisp.cpp:318 +#: src/object/key.cpp:192 src/badguy/willowisp.cpp:319 #: src/badguy/walking_candle.cpp:91 msgid "Color" msgstr "Цвят" -#: src/object/spotlight.cpp:105 src/object/textscroller.cpp:348 +#: src/object/spotlight.cpp:105 src/object/textscroller.cpp:350 #: src/object/rain_particle_system.cpp:102 src/object/conveyor_belt.cpp:61 #: src/object/circleplatform.cpp:58 src/badguy/flame.cpp:110 #: src/editor/node_marker.cpp:125 @@ -389,20 +380,20 @@ msgstr "Спряно" msgid "Layer" msgstr "Слой" -#: src/object/scripted_object.cpp:72 +#: src/object/scripted_object.cpp:71 msgid "Physics enabled" msgstr "Включена физика" -#: src/object/scripted_object.cpp:73 +#: src/object/scripted_object.cpp:72 msgid "Visible" msgstr "Видим" -#: src/object/scripted_object.cpp:74 src/badguy/willowisp.cpp:312 +#: src/object/scripted_object.cpp:73 src/badguy/willowisp.cpp:313 msgid "Hit script" msgstr "Скрипт за удряне" #: src/object/custom_particle_system_file.cpp:53 -#: src/object/textscroller.cpp:346 src/object/music_object.cpp:109 +#: src/object/textscroller.cpp:348 src/object/music_object.cpp:109 #: src/supertux/menu/particle_editor_open.cpp:38 msgid "File" msgstr "Файл" @@ -526,18 +517,18 @@ msgstr "Режим на движение" #: src/object/coin.cpp:330 src/object/camera.cpp:172 #: src/object/platform.cpp:78 src/object/tilemap.cpp:291 -#: src/badguy/willowisp.cpp:321 +#: src/badguy/willowisp.cpp:322 msgid "Adapt Speed" msgstr "Напасване на скоростта" #: src/object/coin.cpp:331 src/object/platform.cpp:81 -#: src/object/tilemap.cpp:285 src/badguy/willowisp.cpp:317 +#: src/object/tilemap.cpp:285 src/badguy/willowisp.cpp:318 msgid "Starting Node" msgstr "Начален възел" #: src/object/coin.cpp:332 src/object/camera.cpp:173 #: src/object/platform.cpp:82 src/object/tilemap.cpp:293 -#: src/badguy/willowisp.cpp:322 +#: src/badguy/willowisp.cpp:323 msgid "Handle" msgstr "Дръжка" @@ -565,23 +556,23 @@ msgstr "ръчен" msgid "autoscroll" msgstr "авт. превъртане" -#: src/object/textscroller.cpp:347 +#: src/object/textscroller.cpp:349 msgid "Finish Script" msgstr "Скрипт при завършване" -#: src/object/textscroller.cpp:349 +#: src/object/textscroller.cpp:351 msgid "X-offset" msgstr "Отместване по X" -#: src/object/textscroller.cpp:350 +#: src/object/textscroller.cpp:352 msgid "Controllable" msgstr "Управляем" -#: src/object/textscroller.cpp:352 src/object/textscroller.cpp:356 +#: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 msgid "Center" msgstr "Центриране" -#: src/object/textscroller.cpp:355 +#: src/object/textscroller.cpp:357 msgid "Text Alignment" msgstr "Подравняване на текста" @@ -589,7 +580,7 @@ msgstr "Подравняване на текста" msgid "Lit object" msgstr "Осветен обект" -#: src/object/spawnpoint.hpp:48 src/badguy/willowisp.cpp:311 +#: src/object/spawnpoint.hpp:48 src/badguy/willowisp.cpp:312 #: src/worldmap/teleporter.cpp:48 msgid "Spawnpoint" msgstr "Точка на раждане" @@ -602,6 +593,12 @@ msgstr "Брояч" msgid "Candle" msgstr "Свещ" +#: src/object/particlesystem.cpp:65 src/object/background.cpp:184 +#: src/object/thunderstorm.cpp:76 src/object/tilemap.cpp:277 +#: src/object/gradient.cpp:101 src/object/moving_sprite.cpp:193 +msgid "Z-pos" +msgstr "Позиция по Z" + #: src/object/invisible_block.hpp:30 msgid "Invisible Block" msgstr "Невидимо блокче" @@ -711,7 +708,7 @@ msgid "Platform" msgstr "Платформа" #: src/object/music_object.hpp:42 src/supertux/menu/options_menu.cpp:130 -#: data//credits.stxt:314 +#: data//credits.stxt:309 msgid "Music" msgstr "Музика" @@ -964,7 +961,7 @@ msgstr "Частици във въздуха" msgid "Bicycle Platform" msgstr "Въртяща се платформа" -#: src/object/platform.cpp:80 src/object/thunderstorm.cpp:73 +#: src/object/platform.cpp:80 src/object/thunderstorm.cpp:77 #: src/object/tilemap.cpp:292 src/object/conveyor_belt.cpp:62 msgid "Running" msgstr "Работещо" @@ -977,11 +974,11 @@ msgstr "Малък" msgid "Large" msgstr "Голям" -#: src/object/rock.cpp:238 +#: src/object/rock.cpp:234 msgid "On-grab script" msgstr "Скрипт при хващане" -#: src/object/rock.cpp:239 +#: src/object/rock.cpp:235 msgid "On-ungrab script" msgstr "Скрипт при пускане" @@ -989,11 +986,11 @@ msgstr "Скрипт при пускане" msgid "Interactive particle system" msgstr "Интерактивна система от частици" -#: src/object/thunderstorm.cpp:74 +#: src/object/thunderstorm.cpp:78 msgid "Interval" msgstr "Интервал" -#: src/object/thunderstorm.cpp:75 +#: src/object/thunderstorm.cpp:79 msgid "Strike Script" msgstr "Скрипт при удар" @@ -1030,7 +1027,7 @@ msgstr "Режим на създаване" #: src/object/custom_particle_system.cpp:430 #: src/object/custom_particle_system.cpp:465 src/object/gradient.cpp:115 #: src/gui/menu_string_array.cpp:40 src/gui/menu_string_array.cpp:78 -#: src/supertux/menu/keyboard_menu.cpp:77 +#: src/supertux/menu/keyboard_menu.cpp:80 #: src/supertux/menu/joystick_menu.cpp:108 #: src/supertux/menu/joystick_menu.cpp:215 src/editor/object_settings.cpp:129 #: src/editor/particle_editor.cpp:162 src/editor/particle_editor.cpp:168 @@ -1405,12 +1402,12 @@ msgstr "Отместване за преоразмеряването по X" msgid "Resize offset y" msgstr "Отместване за преоразмеряването по Y" -#: src/object/tilemap.cpp:270 src/supertux/menu/editor_sector_menu.cpp:39 +#: src/object/tilemap.cpp:270 src/supertux/menu/editor_sector_menu.cpp:41 #: src/editor/object_option.cpp:178 msgid "Width" msgstr "Ширина" -#: src/object/tilemap.cpp:271 src/supertux/menu/editor_sector_menu.cpp:40 +#: src/object/tilemap.cpp:271 src/supertux/menu/editor_sector_menu.cpp:42 #: src/editor/object_option.cpp:179 msgid "Height" msgstr "Височина" @@ -1432,7 +1429,7 @@ msgid "Tint" msgstr "Нюанс" #: src/object/tilemap.cpp:296 src/supertux/menu/editor_tilegroup_menu.cpp:26 -#: src/editor/toolbox_widget.cpp:99 +#: src/editor/toolbox_widget.cpp:98 msgid "Tiles" msgstr "Плочки" @@ -1484,7 +1481,7 @@ msgstr "Отблъскваща пружина" msgid "Length" msgstr "Дължина" -#: src/object/moving_sprite.cpp:187 src/object/pneumatic_platform.cpp:161 +#: src/object/moving_sprite.cpp:192 src/object/pneumatic_platform.cpp:161 msgid "Sprite" msgstr "Изображение" @@ -1544,7 +1541,7 @@ msgstr "Щракни за повече подробности." msgid "Do not show again" msgstr "Да не се показва повече" -#: src/gui/notification.cpp:157 src/supertux/menu/download_dialog.cpp:123 +#: src/gui/notification.cpp:157 src/supertux/menu/download_dialog.cpp:124 msgid "Close" msgstr "Затваряне" @@ -1578,7 +1575,7 @@ msgstr "Изтриване" #: src/gui/menu_string_array.cpp:84 src/gui/menu_object_select.cpp:61 #: src/gui/menu_color.cpp:37 src/gui/dialog.hpp:87 src/gui/menu_script.cpp:46 -#: src/supertux/menu/editor_sector_menu.cpp:46 +#: src/supertux/menu/editor_sector_menu.cpp:48 #: src/supertux/menu/editor_levelset_menu.cpp:58 #: src/supertux/menu/editor_new_levelset_menu.cpp:37 #: src/supertux/menu/editor_level_menu.cpp:45 src/editor/object_menu.cpp:71 @@ -1603,17 +1600,17 @@ msgid "Mix the colour" msgstr "Смесване на цвета" #: src/gui/dialog.hpp:96 src/supertux/menu/editor_level_select_menu.cpp:181 -#: src/editor/editor.cpp:638 +#: src/editor/editor.cpp:663 msgid "Yes" msgstr "Да" #: src/gui/dialog.hpp:97 src/supertux/menu/editor_level_select_menu.cpp:185 -#: src/editor/particle_editor.cpp:781 src/editor/editor.cpp:645 +#: src/editor/particle_editor.cpp:781 src/editor/editor.cpp:670 msgid "No" msgstr "Не" #: src/gui/menu_list.cpp:38 src/gui/menu_filesystem.cpp:120 -#: src/gui/menu_paths.cpp:46 src/supertux/menu/particle_editor_save_as.cpp:42 +#: src/gui/menu_paths.cpp:48 src/supertux/menu/particle_editor_save_as.cpp:42 #: src/supertux/menu/editor_sectors_menu.cpp:45 #: src/supertux/menu/editor_sectors_menu.cpp:94 #: src/supertux/menu/editor_sectors_menu.cpp:99 @@ -1622,7 +1619,7 @@ msgstr "Не" #: src/supertux/menu/editor_level_select_menu.cpp:190 #: src/supertux/menu/editor_save_as.cpp:42 #: src/supertux/menu/particle_editor_open.cpp:43 -#: src/editor/particle_editor.cpp:785 src/editor/editor.cpp:649 +#: src/editor/particle_editor.cpp:785 src/editor/editor.cpp:674 msgid "Cancel" msgstr "Отказ" @@ -1634,22 +1631,34 @@ msgstr "Отваряне на папката" msgid "Edit script" msgstr "Редактиране на скрипта" -#: src/gui/menu_paths.cpp:30 +#: src/gui/menu_paths.cpp:32 msgid "Clone" msgstr "Клониране" -#: src/gui/menu_paths.cpp:39 +#: src/gui/menu_paths.cpp:41 msgid "" "An error occurred and the game could\n" "not clone the path. Please contact\n" "the developers for support." msgstr "Възникна грешка и играта не успя\nда клонира пътя. Моля, свържете се\nс разработчиците за поддръжка." -#: src/gui/menu_paths.cpp:42 +#: src/gui/menu_paths.cpp:44 msgid "Bind" msgstr "Свързване" -#: src/gui/menu_paths.cpp:65 src/supertux/menu/integrations_menu.cpp:60 +#: src/gui/menu_paths.cpp:49 +msgid "" +"Do you wish to clone the path to edit it separately,\n" +"or do you want to bind both paths together\n" +"so that any edit on one edits the other?" +msgstr "Наистина ли искаш да клонираш пътя, за да го редактираш\nотделно, или искаш да свържеш двата пътя, така че\nвсяка промяна на единия да се отразява и на другия?" + +#: src/gui/menu_paths.cpp:56 +#, c++-format +msgid "Path {}" +msgstr "Път {}" + +#: src/gui/menu_paths.cpp:67 src/supertux/menu/integrations_menu.cpp:60 #: src/supertux/menu/editor_converters_menu.cpp:79 #: src/supertux/menu/video_system_menu.cpp:45 #: src/supertux/menu/contrib_menu.cpp:102 src/supertux/menu/debug_menu.cpp:77 @@ -1658,8 +1667,8 @@ msgstr "Свързване" #: src/supertux/menu/editor_level_select_menu.cpp:98 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:42 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:63 -#: src/supertux/menu/worldmap_cheat_menu.cpp:56 -#: src/supertux/menu/worldmap_cheat_menu.cpp:195 +#: src/supertux/menu/worldmap_cheat_menu.cpp:57 +#: src/supertux/menu/worldmap_cheat_menu.cpp:196 #: src/supertux/menu/editor_levelset_select_menu.cpp:114 #: src/supertux/menu/options_menu.cpp:223 #: src/supertux/menu/editor_delete_levelset_menu.cpp:69 @@ -1673,8 +1682,8 @@ msgstr "Свързване" #: src/supertux/menu/addon_browse_menu.cpp:162 #: src/supertux/menu/web_asset_menu.cpp:48 #: src/supertux/menu/profile_name_menu.cpp:45 -#: src/supertux/menu/keyboard_menu.cpp:68 -#: src/supertux/menu/sorted_contrib_menu.cpp:53 +#: src/supertux/menu/keyboard_menu.cpp:71 +#: src/supertux/menu/sorted_contrib_menu.cpp:51 #: src/supertux/menu/language_menu.cpp:63 #: src/supertux/menu/joystick_menu.cpp:99 #: src/supertux/menu/contrib_levelset_menu.cpp:67 @@ -1687,28 +1696,16 @@ msgstr "Свързване" msgid "Back" msgstr "Назад" -#: src/addon/addon_manager.cpp:484 -msgid "Error deleting addon .zip file: \"PHYSFS_delete\" failed: " -msgstr "Грешка при изтриването на файла .zip на добавката: Грешка при изпълнението на „PHYSFS_delete“: " - -#: src/addon/addon_manager.cpp:490 -msgid "Error uninstalling add-on: Addon with id " -msgstr "Грешка при деинсталирането на добавка: Добавка с идентификатор " - -#: src/addon/addon_manager.cpp:490 -msgid " not found." -msgstr " не може да бъде намерена." - -#: src/addon/addon_manager.cpp:559 +#: src/addon/addon_manager.cpp:562 msgid "Only one resource pack is allowed to be enabled at a time." msgstr "Само един ресурсен пакет може да бъде включен." -#: src/addon/addon_manager.cpp:823 +#: src/addon/addon_manager.cpp:837 #, c++-format msgid "Add-on {} by {} is already installed." msgstr "Добавката {} от {} вече е инсталирана." -#: src/addon/addon_manager.cpp:843 +#: src/addon/addon_manager.cpp:857 #, c++-format msgid "Add-on {} by {} successfully installed." msgstr "Добавката {} от {} беше инсталирана успешно." @@ -1718,7 +1715,7 @@ msgid "Levelset" msgstr "Комплект нива" #: src/addon/addon.cpp:74 src/supertux/menu/editor_levelset_menu.cpp:54 -#: data//images/engine/editor/objects.stoi:386 +#: data//images/engine/editor/objects.stoi:389 msgid "Worldmap" msgstr "Световна карта" @@ -1767,6 +1764,10 @@ msgstr "г-н Дърво" msgid "Plant" msgstr "Растение" +#: src/badguy/tarantula.hpp:39 src/badguy/tarantula.cpp:353 +msgid "Tarantula" +msgstr "Тарантула" + #: src/badguy/granito_giant.cpp:71 msgid "Awake" msgstr "Буден" @@ -1805,23 +1806,27 @@ msgstr "Тотем" msgid "Stalactite" msgstr "Сталактит" -#: src/badguy/fish_chasing.cpp:195 +#: src/badguy/fish_chasing.cpp:198 msgid "Tracking Distance" msgstr "Дистанция на следене" -#: src/badguy/fish_chasing.cpp:196 +#: src/badguy/fish_chasing.cpp:199 msgid "Losing Distance" msgstr "Загуба на дистанция" -#: src/badguy/fish_chasing.cpp:197 +#: src/badguy/fish_chasing.cpp:200 msgid "Chase Speed" msgstr "Скорост на преследване" +#: src/badguy/root_sapling.hpp:41 +msgid "Root Sapling" +msgstr "" + #: src/badguy/haywire.hpp:46 msgid "Haywire" msgstr "Сбъркана бомба" -#: src/badguy/dispenser.hpp:51 +#: src/badguy/dispenser.hpp:52 msgid "Dispenser" msgstr "Изпускател" @@ -1837,7 +1842,7 @@ msgstr "Зиклинг" msgid "Pumpkin" msgstr "Тиква " -#: src/badguy/bouncing_snowball.cpp:70 +#: src/badguy/bouncing_snowball.cpp:82 msgid "Fatbat" msgstr "" @@ -1854,7 +1859,7 @@ msgid "Mr. Iceblock" msgstr "г-н Ледено кубче" #: src/badguy/granito.hpp:39 src/badguy/darttrap.cpp:163 -#: src/badguy/corrupted_granito.cpp:175 src/badguy/dispenser.cpp:410 +#: src/badguy/corrupted_granito.cpp:175 src/badguy/dispenser.cpp:438 msgid "Granito" msgstr "" @@ -1909,15 +1914,15 @@ msgstr "Капитан Снежна топка" msgid "Ghost Tree" msgstr "Призрачно дърво" -#: src/badguy/willowisp.cpp:313 +#: src/badguy/willowisp.cpp:314 msgid "Track range" msgstr "Обхват на движение" -#: src/badguy/willowisp.cpp:314 +#: src/badguy/willowisp.cpp:315 msgid "Vanish range" msgstr "Обхват на изчезване" -#: src/badguy/willowisp.cpp:315 +#: src/badguy/willowisp.cpp:316 msgid "Fly speed" msgstr "Скорост на летене" @@ -1929,7 +1934,7 @@ msgstr "Кугелблиц" msgid "Mole's rock" msgstr "Къртичи камък" -#: src/badguy/badguy.cpp:1062 +#: src/badguy/badguy.cpp:1064 msgid "Death script" msgstr "Скрипт за умиране" @@ -2017,31 +2022,31 @@ msgstr "Класически" msgid "Flying Snowball" msgstr "Летяща снежна топка" -#: src/badguy/crusher.cpp:74 +#: src/badguy/crusher.cpp:75 msgid "Ice (normal)" msgstr "Лед (нормален)" -#: src/badguy/crusher.cpp:75 +#: src/badguy/crusher.cpp:76 msgid "Ice (big)" msgstr "Лед (голям)" -#: src/badguy/crusher.cpp:76 +#: src/badguy/crusher.cpp:77 msgid "Rock (normal)" msgstr "Камък (нормален)" -#: src/badguy/crusher.cpp:77 +#: src/badguy/crusher.cpp:78 msgid "Rock (big)" msgstr "Камък (голям)" -#: src/badguy/crusher.cpp:78 +#: src/badguy/crusher.cpp:79 msgid "Corrupted (normal)" msgstr "Увреден (нормален)" -#: src/badguy/crusher.cpp:79 +#: src/badguy/crusher.cpp:80 msgid "Corrupted (big)" msgstr "Увреден (голям)" -#: src/badguy/crusher.cpp:475 +#: src/badguy/crusher.cpp:492 msgid "Sideways" msgstr "Настрани" @@ -2101,6 +2106,10 @@ msgstr "Бодливец" msgid "Walking Leaf" msgstr "Ходещ лист" +#: src/badguy/root.hpp:39 +msgid "Root" +msgstr "Корен" + #: src/badguy/owl.cpp:241 msgid "Carry" msgstr "Носене" @@ -2145,10 +2154,14 @@ msgstr "Ходеща свещ" msgid "Angry Stone" msgstr "Ядосан камък" -#: src/badguy/spidermite.hpp:38 +#: src/badguy/tarantula.cpp:354 msgid "Spidermite" msgstr "" +#: src/badguy/tarantula.cpp:374 +msgid "Static" +msgstr "" + #: src/badguy/ghoul.hpp:30 msgid "Ghoul" msgstr "Таласъм" @@ -2181,41 +2194,41 @@ msgstr "Преследваща риба" msgid "Stumpy" msgstr "Тъпкач" -#: src/badguy/dispenser.cpp:384 +#: src/badguy/dispenser.cpp:412 msgid "Interval (seconds)" msgstr "Интервал (секунди)" -#: src/badguy/dispenser.cpp:385 +#: src/badguy/dispenser.cpp:413 msgid "Random" msgstr "Случаен" -#: src/badguy/dispenser.cpp:388 +#: src/badguy/dispenser.cpp:416 #: src/supertux/menu/editor_objectgroup_menu.cpp:30 -#: src/editor/toolbox_widget.cpp:102 +#: src/editor/toolbox_widget.cpp:101 msgid "Objects" msgstr "Обекти" -#: src/badguy/dispenser.cpp:391 +#: src/badguy/dispenser.cpp:419 msgid "Limit dispensed badguys" msgstr "Ограничаване на броя пуснати лоши" -#: src/badguy/dispenser.cpp:393 +#: src/badguy/dispenser.cpp:421 msgid "Obey Gravity" msgstr "Зачитане на гравитацията" -#: src/badguy/dispenser.cpp:395 +#: src/badguy/dispenser.cpp:423 msgid "Max concurrent badguys" msgstr "Макс. брой едновременно присъстващи лоши" -#: src/badguy/dispenser.cpp:407 +#: src/badguy/dispenser.cpp:435 msgid "Dropper" msgstr "Изпускател" -#: src/badguy/dispenser.cpp:408 +#: src/badguy/dispenser.cpp:436 msgid "Cannon" msgstr "Оръдие" -#: src/badguy/dispenser.cpp:409 src/worldmap/special_tile.cpp:77 +#: src/badguy/dispenser.cpp:437 src/worldmap/special_tile.cpp:77 msgid "Invisible" msgstr "Невидима" @@ -2227,7 +2240,7 @@ msgstr "Охлюв" msgid "Mrs. Snowball" msgstr "г-жа Снежна топка" -#: src/badguy/bouncing_snowball.hpp:38 +#: src/badguy/bouncing_snowball.hpp:39 msgid "Bouncing Snowball" msgstr "Поскачаща снежна топка" @@ -2303,7 +2316,7 @@ msgstr "Тайни" msgid "Unknown object" msgstr "Неизвестен обект" -#: src/supertux/sector.cpp:481 +#: src/supertux/sector.cpp:507 msgid "Press escape to skip" msgstr "Натисни ESC за пропускане" @@ -2469,11 +2482,11 @@ msgstr " SUPERTUX2_USER_DIR Папка за потребителск msgid " SUPERTUX2_DATA_DIR Directory for the games datafiles" msgstr " SUPERTUX2_DATA_DIR Папка с файловете с данни на играта" -#: src/supertux/title_screen.cpp:257 +#: src/supertux/title_screen.cpp:272 msgid "Copyright" msgstr "Авторско право" -#: src/supertux/title_screen.cpp:258 +#: src/supertux/title_screen.cpp:273 msgid "" "This game comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to\n" "redistribute it under certain conditions; see the license file for details.\n" @@ -2823,6 +2836,7 @@ msgstr "Прилагане на измама към играч" #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:39 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:60 #: src/supertux/menu/multiplayer_players_menu.cpp:39 +#: src/supertux/menu/keyboard_menu.cpp:63 #: src/supertux/menu/cheat_apply_menu.cpp:39 #: src/supertux/menu/cheat_apply_menu.cpp:59 #: src/supertux/menu/multiplayer_player_menu.cpp:37 @@ -2836,76 +2850,76 @@ msgstr "Играч {}" msgid "All Players" msgstr "Всички играчи" -#: src/supertux/menu/worldmap_cheat_menu.cpp:35 +#: src/supertux/menu/worldmap_cheat_menu.cpp:36 #: src/supertux/menu/cheat_menu.cpp:31 msgid "Cheats" msgstr "Измами" -#: src/supertux/menu/worldmap_cheat_menu.cpp:37 +#: src/supertux/menu/worldmap_cheat_menu.cpp:38 #: src/supertux/menu/cheat_menu.cpp:33 msgid "Bonus: Grow" msgstr "Бонус: Растеж" -#: src/supertux/menu/worldmap_cheat_menu.cpp:38 +#: src/supertux/menu/worldmap_cheat_menu.cpp:39 #: src/supertux/menu/cheat_menu.cpp:34 msgid "Bonus: Fire" msgstr "Бонус: Огън" -#: src/supertux/menu/worldmap_cheat_menu.cpp:39 +#: src/supertux/menu/worldmap_cheat_menu.cpp:40 #: src/supertux/menu/cheat_menu.cpp:35 msgid "Bonus: Ice" msgstr "Бонус: Лед" -#: src/supertux/menu/worldmap_cheat_menu.cpp:40 +#: src/supertux/menu/worldmap_cheat_menu.cpp:41 #: src/supertux/menu/cheat_menu.cpp:36 msgid "Bonus: Air" msgstr "Бонус: Въздух" -#: src/supertux/menu/worldmap_cheat_menu.cpp:41 +#: src/supertux/menu/worldmap_cheat_menu.cpp:42 #: src/supertux/menu/cheat_menu.cpp:37 msgid "Bonus: Earth" msgstr "Бонус: Земя" -#: src/supertux/menu/worldmap_cheat_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_menu.cpp:43 msgid "Bonus: None" msgstr "Бонус: Няма" -#: src/supertux/menu/worldmap_cheat_menu.cpp:45 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 #: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:51 msgid "Leave Ghost Mode" msgstr "Изключване на призрачния режим" -#: src/supertux/menu/worldmap_cheat_menu.cpp:45 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 #: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:50 msgid "Activate Ghost Mode" msgstr "Включване на призрачния режим" -#: src/supertux/menu/worldmap_cheat_menu.cpp:47 +#: src/supertux/menu/worldmap_cheat_menu.cpp:48 #: src/supertux/menu/cheat_menu.cpp:41 msgid "Finish Level" msgstr "Завършване на ниво" -#: src/supertux/menu/worldmap_cheat_menu.cpp:48 +#: src/supertux/menu/worldmap_cheat_menu.cpp:49 msgid "Reset Level" msgstr "Нулиране на нивото" -#: src/supertux/menu/worldmap_cheat_menu.cpp:50 +#: src/supertux/menu/worldmap_cheat_menu.cpp:51 msgid "Finish Worldmap" msgstr "Завършване на световната карта" -#: src/supertux/menu/worldmap_cheat_menu.cpp:51 +#: src/supertux/menu/worldmap_cheat_menu.cpp:52 msgid "Reset Worldmap" msgstr "Нулиране на световната карта" -#: src/supertux/menu/worldmap_cheat_menu.cpp:53 +#: src/supertux/menu/worldmap_cheat_menu.cpp:54 msgid "Go to level" msgstr "Към ниво" -#: src/supertux/menu/worldmap_cheat_menu.cpp:54 +#: src/supertux/menu/worldmap_cheat_menu.cpp:55 msgid "Go to main spawnpoint" msgstr "Към основната точка на прераждане" -#: src/supertux/menu/worldmap_cheat_menu.cpp:187 +#: src/supertux/menu/worldmap_cheat_menu.cpp:188 msgid "Select level" msgstr "Избиране на ниво" @@ -3036,7 +3050,7 @@ msgid "This feature is currently only used in the multiplayer options menu." msgstr "В момента тази функционалност се използва само в менюто с настройки за игра с няколко играчи." #: src/supertux/menu/options_menu.cpp:154 -#: src/supertux/menu/keyboard_menu.cpp:32 +#: src/supertux/menu/keyboard_menu.cpp:34 msgid "Setup Keyboard" msgstr "Клавиатурна настройка" @@ -3430,23 +3444,28 @@ msgid "" "continue?" msgstr "Това ще те препрати към страницата за дарения на Супер Тъкс. Наистина ли искаш да продължиш?" -#: src/supertux/menu/editor_sector_menu.cpp:35 +#: src/supertux/menu/editor_sector_menu.cpp:34 +#, c++-format +msgid "Sector {}" +msgstr "Сектор {}" + +#: src/supertux/menu/editor_sector_menu.cpp:37 msgid "Initialization script" msgstr "Скрипт за инициализация" -#: src/supertux/menu/editor_sector_menu.cpp:36 +#: src/supertux/menu/editor_sector_menu.cpp:38 msgid "Gravity" msgstr "Гравитация" -#: src/supertux/menu/editor_sector_menu.cpp:41 +#: src/supertux/menu/editor_sector_menu.cpp:43 msgid "Resize offset X" msgstr "Отместване за преоразмеряването по X" -#: src/supertux/menu/editor_sector_menu.cpp:42 +#: src/supertux/menu/editor_sector_menu.cpp:44 msgid "Resize offset Y" msgstr "Отместване за преоразмеряването по Y" -#: src/supertux/menu/editor_sector_menu.cpp:43 +#: src/supertux/menu/editor_sector_menu.cpp:45 msgid "Resize" msgstr "Преоразмеряване" @@ -3734,122 +3753,118 @@ msgstr "Имената на профилите трябва да бъдат с msgid "An error occurred while creating the profile." msgstr "Възникна грешка при създаването на профила." -#: src/supertux/menu/keyboard_menu.cpp:34 +#: src/supertux/menu/keyboard_menu.cpp:36 #: src/supertux/menu/joystick_menu.cpp:71 msgid "Up" msgstr "Нагоре" -#: src/supertux/menu/keyboard_menu.cpp:35 +#: src/supertux/menu/keyboard_menu.cpp:37 #: src/supertux/menu/joystick_menu.cpp:72 msgid "Down" msgstr "Надолу" -#: src/supertux/menu/keyboard_menu.cpp:38 +#: src/supertux/menu/keyboard_menu.cpp:40 #: src/supertux/menu/joystick_menu.cpp:75 msgid "Jump" msgstr "Скок" -#: src/supertux/menu/keyboard_menu.cpp:41 +#: src/supertux/menu/keyboard_menu.cpp:43 #: src/supertux/menu/joystick_menu.cpp:78 msgid "Peek Left" msgstr "Поглеждане наляво" -#: src/supertux/menu/keyboard_menu.cpp:42 +#: src/supertux/menu/keyboard_menu.cpp:44 #: src/supertux/menu/joystick_menu.cpp:79 msgid "Peek Right" msgstr "Поглеждане надясно" -#: src/supertux/menu/keyboard_menu.cpp:43 +#: src/supertux/menu/keyboard_menu.cpp:45 #: src/supertux/menu/joystick_menu.cpp:80 msgid "Peek Up" msgstr "Поглеждане нагоре" -#: src/supertux/menu/keyboard_menu.cpp:44 +#: src/supertux/menu/keyboard_menu.cpp:46 #: src/supertux/menu/joystick_menu.cpp:81 msgid "Peek Down" msgstr "Поглеждане надолу" -#: src/supertux/menu/keyboard_menu.cpp:49 +#: src/supertux/menu/keyboard_menu.cpp:51 #: src/supertux/menu/joystick_menu.cpp:83 msgid "Console" msgstr "Конзола" -#: src/supertux/menu/keyboard_menu.cpp:50 +#: src/supertux/menu/keyboard_menu.cpp:52 #: src/supertux/menu/joystick_menu.cpp:84 msgid "Cheat Menu" msgstr "Меню с измами" -#: src/supertux/menu/keyboard_menu.cpp:51 +#: src/supertux/menu/keyboard_menu.cpp:53 #: src/supertux/menu/joystick_menu.cpp:85 msgid "Debug Menu" msgstr "Меню за дебъгване" -#: src/supertux/menu/keyboard_menu.cpp:54 +#: src/supertux/menu/keyboard_menu.cpp:56 #: src/supertux/menu/joystick_menu.cpp:87 msgid "Jump with Up" msgstr "Скачане с бутона за нагоре" -#: src/supertux/menu/keyboard_menu.cpp:61 -msgid "Player" -msgstr "Играч" - -#: src/supertux/menu/keyboard_menu.cpp:79 +#: src/supertux/menu/keyboard_menu.cpp:82 msgid "Up cursor" msgstr "Стрелка нагоре" -#: src/supertux/menu/keyboard_menu.cpp:81 +#: src/supertux/menu/keyboard_menu.cpp:84 msgid "Down cursor" msgstr "Стрелка надолу" -#: src/supertux/menu/keyboard_menu.cpp:83 +#: src/supertux/menu/keyboard_menu.cpp:86 msgid "Left cursor" msgstr "Стрелка наляво" -#: src/supertux/menu/keyboard_menu.cpp:85 +#: src/supertux/menu/keyboard_menu.cpp:88 msgid "Right cursor" msgstr "Стрелка надясно" -#: src/supertux/menu/keyboard_menu.cpp:87 +#: src/supertux/menu/keyboard_menu.cpp:90 msgid "Return" msgstr "Ентер" -#: src/supertux/menu/keyboard_menu.cpp:89 +#: src/supertux/menu/keyboard_menu.cpp:92 msgid "Space" msgstr "Интервал" -#: src/supertux/menu/keyboard_menu.cpp:91 +#: src/supertux/menu/keyboard_menu.cpp:94 msgid "Right Shift" msgstr "Десен шифт" -#: src/supertux/menu/keyboard_menu.cpp:93 +#: src/supertux/menu/keyboard_menu.cpp:96 msgid "Left Shift" msgstr "Ляв шифт" -#: src/supertux/menu/keyboard_menu.cpp:95 +#: src/supertux/menu/keyboard_menu.cpp:98 msgid "Right Control" msgstr "Десен контрол" -#: src/supertux/menu/keyboard_menu.cpp:97 +#: src/supertux/menu/keyboard_menu.cpp:100 msgid "Left Control" msgstr "Ляв контрол" -#: src/supertux/menu/keyboard_menu.cpp:99 +#: src/supertux/menu/keyboard_menu.cpp:102 msgid "Right Alt" msgstr "Десен алт" -#: src/supertux/menu/keyboard_menu.cpp:101 +#: src/supertux/menu/keyboard_menu.cpp:104 msgid "Left Alt" msgstr "Ляв алт" -#: src/supertux/menu/keyboard_menu.cpp:103 +#: src/supertux/menu/keyboard_menu.cpp:106 msgid "Right Command" msgstr "Десен команд" -#: src/supertux/menu/keyboard_menu.cpp:105 +#: src/supertux/menu/keyboard_menu.cpp:108 msgid "Left Command" msgstr "Ляв команд" -#: src/supertux/menu/keyboard_menu.cpp:119 +#: src/supertux/menu/keyboard_menu.cpp:122 msgid "Press Key" msgstr "Натисни клавиш" @@ -3930,13 +3945,16 @@ msgstr "Пауза" msgid "Leave World" msgstr "Напускане на света" -#: src/supertux/menu/download_dialog.cpp:41 +#: src/supertux/menu/download_dialog.cpp:42 msgid "Abort Download" msgstr "Спиране на свалянето" -#: src/supertux/menu/download_dialog.cpp:58 -msgid "Error:\n" -msgstr "Грешка:\n" +#: src/supertux/menu/download_dialog.cpp:59 +#, c++-format +msgid "" +"Error:\n" +"{}" +msgstr "Грешка:\n{}" #: src/supertux/menu/cheat_menu.cpp:38 msgid "Bonus: Star" @@ -4031,7 +4049,7 @@ msgstr "Настройки на нивото" msgid "Author" msgstr "Автор" -#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1254 +#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1253 msgid "Contact" msgstr "За връзка" @@ -4205,6 +4223,9 @@ msgid "" "F6 = Render Light\n" "F7 = Grid Snapping\n" "F8 = Show Grid\n" +"Ctrl++ or Ctrl+Scroll Up = Zoom In\n" +"Ctrl+- or Ctrl+Scroll Down = Zoom Out\n" +"Ctrl+D = Reset Zoom\n" "\n" "Scripting Shortcuts:\n" " ------------- \n" @@ -4220,7 +4241,7 @@ msgid "" "Ctrl+D = Duplicate line\n" "Ctrl+Z = Undo\n" "Ctrl+Y = Redo" -msgstr "Клавиши и комбинации:\n---------------------\nEsc = Отваряне на менюто\nCtrl+S = Запазване\nCtrl+T = Тестване\nCtrl+Z = Отмяна\nCtrl+Y = Повторение\nF6 = Изчертаване на светлината\nF7 = Прилепване към мрежата\nF8 = Показване на мрежата\n\nКлавиши и комбинации за скриптиране:\n ------------- \nHome = Преместване в началото на реда\nEnd = Преместване в края на реда\nLeft arrow = Назад в текста\nRight arrow = Напред в текста\nBackspace = Изтриване на текста пред курсора\nDelete = Изтриване на текста зад курсора\nCtrl+X = Изрязване на целия ред\nCtrl+C = Копиране на целия ред\nCtrl+V = Поставяне\nCtrl+D = Дублиране на реда\nCtrl+Z = Отмяна\nCtrl+Y = Повторение" +msgstr "Клавиши и комбинации:\n---------------------\nEsc = Отваряне на менюто\nCtrl+S = Запазване\nCtrl+T = Тестване\nCtrl+Z = Отмяна\nCtrl+Y = Повторение\nF6 = Изчертаване на светлината\nF7 = Прилепване към мрежата\nF8 = Показване на мрежата\nCtrl++ или Ctrl+Scroll Up = Увеличаване\nCtrl+- или Ctrl+Scroll Down = Намаляване\nCtrl+D = Нулиране на мащаба\n\nКлавиши и комбинации за скриптиране:\n ------------- \nHome = Преместване в началото на реда\nEnd = Преместване в края на реда\nLeft arrow = Назад в текста\nRight arrow = Напред в текста\nBackspace = Изтриване на текста пред курсора\nDelete = Изтриване на текста зад курсора\nCtrl+X = Изрязване на целия ред\nCtrl+C = Копиране на целия ред\nCtrl+V = Поставяне\nCtrl+D = Дублиране на реда\nCtrl+Z = Отмяна\nCtrl+Y = Повторение" #: src/supertux/menu/editor_menu.cpp:232 msgid "Deprecated tiles are still present in the level." @@ -4324,12 +4345,12 @@ msgstr "надолу" msgid "Region" msgstr "Регион" -#: src/supertux/main.cpp:796 +#: src/supertux/main.cpp:801 #, c++-format msgid "New release: SuperTux v{}!" msgstr "Нова версия: Супер Тъкс v{}!" -#: src/supertux/main.cpp:799 +#: src/supertux/main.cpp:804 #, c++-format msgid "" "A new release of SuperTux (v{}) is available!\n" @@ -4338,7 +4359,7 @@ msgid "" "Do you want to visit the website now?" msgstr "Има налична нова версия на Супер Тъкс (v{})!\nЗа повече информация може да прегледаш уеб сайта на Супер Тъкс.\n\nИскаш ли да отвориш уеб сайта сега?" -#: src/supertux/main.cpp:810 +#: src/supertux/main.cpp:815 msgid "Checking for new releases..." msgstr "Проверка за нови версии…" @@ -4452,6 +4473,11 @@ msgstr "Пинг-понг" msgid "Circular" msgstr "Кръгообразно" +#: src/editor/layers_widget.cpp:331 +#, c++-format +msgid "Sector: {}" +msgstr "Сектор: {}" + #: src/editor/object_option.cpp:92 msgid "true" msgstr "да" @@ -4618,18 +4644,18 @@ msgstr "Има незапазени промени по тази конфигу msgid "Save as" msgstr "Запазване като" -#: src/editor/editor.cpp:552 +#: src/editor/editor.cpp:577 msgid "" "This level contains deprecated tiles.\n" "It is strongly recommended to replace all deprecated tiles\n" "to avoid loss of compatibility in future versions." msgstr "В това ниво има стари плочки.\nСилно препоръчително е всички стари плочки да бъдат заменени,\nс цел да се избегнат проблеми със съвместимостта в бъдеще." -#: src/editor/editor.cpp:554 +#: src/editor/editor.cpp:579 msgid "Tip: Turn on \"Show Deprecated Tiles\" from the level editor menu." msgstr "Съвет: може да включиш „Показване на старите плочки“ от менюто с настройки за редактора на нива." -#: src/editor/editor.cpp:601 +#: src/editor/editor.cpp:626 msgid "" "Don't forget that your levels and assets\n" "aren't saved between sessions!\n" @@ -4637,15 +4663,15 @@ msgid "" "from the \"Manage Assets\" menu." msgstr "Не забравяй, че нивата и ресурсите\nне се запазват при излизане!\nАко искаш да запазиш нивата си, свали ги\nот менюто „Управление на ресурсите“." -#: src/editor/editor.cpp:636 +#: src/editor/editor.cpp:661 msgid "This level contains unsaved changes, do you want to save?" msgstr "Има незапазени промени по нивото. Искаш ли да го запазиш?" -#: src/editor/editor.cpp:637 +#: src/editor/editor.cpp:662 msgid "This level may contain unsaved changes, do you want to save?" msgstr "Това ниво може да има незапазени промени. Искаш ли да го запазиш?" -#: src/editor/editor.cpp:772 +#: src/editor/editor.cpp:797 msgid "" "Some obsolete add-ons are still active\n" "and might cause collisions with default Super Tux structure.\n" @@ -4653,26 +4679,26 @@ msgid "" "Disabling these add-ons will not delete your game progress." msgstr "Някои остарели добавки все още са в сила и може да не\nсработят добре със системата по подразбиране на Супер Тъкс.\nВъпреки това, може да ги включиш от менюто.\nИзключването им няма да изтрие напредъка ти." -#: src/editor/editor.cpp:775 +#: src/editor/editor.cpp:800 msgid "Disable add-ons" msgstr "Изключване на добавките" -#: src/editor/editor.cpp:780 +#: src/editor/editor.cpp:805 msgid "Ignore (not advised)" msgstr "Пренебрегване (не се препоръчва)" -#: src/editor/editor.cpp:784 +#: src/editor/editor.cpp:809 msgid "Leave editor" msgstr "Напускане на редактора" -#: src/editor/editor.cpp:985 +#: src/editor/editor.cpp:1023 msgid "" "Couldn't find a \"main\" sector.\n" "Please change the name of the sector where\n" "you'd like the player to start to \"main\"" msgstr "Липсва основен сектор (с име „main“).\nМоля, промени името на сектора, където\nискаш да започва играчът, на „main“." -#: src/editor/editor.cpp:989 +#: src/editor/editor.cpp:1027 msgid "" "Couldn't find a \"main\" spawnpoint.\n" " Please change the name of the spawnpoint where\n" @@ -4684,49 +4710,40 @@ msgid "Patch Notes" msgstr "Бележки по версията" #: src/editor/object_menu.cpp:84 -msgid "This will update the object to its latest functionality." -msgstr "Това ще обнови обекта до последната ми функционалност." - -#: src/editor/object_menu.cpp:85 -msgid "Check the \"Patch Notes\" for more information." -msgstr "Виж „Бележките по версията“ за повече информация." - -#: src/editor/object_menu.cpp:86 msgid "" -"Keep in mind this is very likely to break the proper behaviour of the " -"object." -msgstr "Имай предвид, че е много вероятно това да счупи правилното поведение на обекта." - -#: src/editor/object_menu.cpp:87 -msgid "Make sure to re-check any behaviour, related to the object." -msgstr "Не забравяй да провериш повторно всяко поведение свързано с обекта." +"This will update the object to its latest functionality.\n" +"Check the \"Patch Notes\" for more information.\n" +"\n" +"Keep in mind this is very likely to break the proper behaviour of the object.\n" +"Make sure to re-check any behaviour, related to the object." +msgstr "Това ще обнови обекта до най-новата функционалност.\nВиж „Бележките по версията“ за повече информация.\n\nИмай предвид, че това може да повреди правилното поведение на обекта.\nУвери се, че си проверил всяко поведение свързано с обекта." -#: src/editor/object_menu.cpp:101 +#: src/editor/object_menu.cpp:98 #, c++-format msgid "Patch notes for v{}:" msgstr "Бележки по версията за v{}:" -#: src/editor/overlay_widget.cpp:1063 +#: src/editor/overlay_widget.cpp:1062 msgid "Cannot select deprecated tiles" msgstr "Старите плочки не могат да бъдат избрани" -#: src/editor/overlay_widget.cpp:1555 +#: src/editor/overlay_widget.cpp:1567 msgid "Autotile mode is on" msgstr "Режимът на авт. поставяне на плочки е включен" -#: src/editor/overlay_widget.cpp:1559 +#: src/editor/overlay_widget.cpp:1571 msgid "Hold Ctrl to enable autotile" msgstr "Задръж CTRL за включване на авт. поставяне на плочки" -#: src/editor/overlay_widget.cpp:1566 +#: src/editor/overlay_widget.cpp:1578 msgid "Autotile erasing mode is on" msgstr "Режимът на авт. изтриване на плочки е включен" -#: src/editor/overlay_widget.cpp:1570 +#: src/editor/overlay_widget.cpp:1582 msgid "Selected tile isn't autotileable" msgstr "Избраната плочка не може да бъде поставяна автоматично" -#: src/editor/overlay_widget.cpp:1575 +#: src/editor/overlay_widget.cpp:1587 msgid "Hold Ctrl to enable autotile erasing" msgstr "Задръж CTRL за включване на авт. изтриване на плочки" @@ -4735,8 +4752,8 @@ msgid "Current SuperTux Team" msgstr "Текущ екип на Супер Тъкс" #: data//credits.stxt:30 -msgid "Programming, project lead ad interim" -msgstr "Програмиране, временен управител на проекта" +msgid "Maintainer, Programming" +msgstr "Поддръжка, програмиране" #: data//credits.stxt:35 msgid "Graphics, Level Design, Story" @@ -4746,12 +4763,12 @@ msgstr "Графика, проектиране на нива, история" msgid "Level Design, Story, Optimisation, Coordination" msgstr "Дизайн на нивата, история, оптимизации, координиране" -#: data//credits.stxt:45 data//credits.stxt:125 data//credits.stxt:211 -#: data//credits.stxt:539 +#: data//credits.stxt:45 data//credits.stxt:120 data//credits.stxt:206 +#: data//credits.stxt:538 msgid "Graphics" msgstr "Графика" -#: data//credits.stxt:50 data//credits.stxt:107 data//credits.stxt:113 +#: data//credits.stxt:50 data//credits.stxt:102 data//credits.stxt:108 msgid "Graphics, Programming, Level Design" msgstr "Графика, програмиране, проектиране на нива" @@ -4771,248 +4788,248 @@ msgstr "Програмиране, обновления по нивата" msgid "Graphics, Programming" msgstr "Графика, програмиране" -#: data//credits.stxt:75 data//credits.stxt:90 data//credits.stxt:155 -#: data//credits.stxt:160 data//credits.stxt:165 data//credits.stxt:170 -#: data//credits.stxt:185 data//credits.stxt:190 data//credits.stxt:535 -#: data//credits.stxt:547 +#: data//credits.stxt:75 data//credits.stxt:85 data//credits.stxt:150 +#: data//credits.stxt:155 data//credits.stxt:160 data//credits.stxt:165 +#: data//credits.stxt:180 data//credits.stxt:185 data//credits.stxt:534 +#: data//credits.stxt:546 msgid "Programming" msgstr "Програмиране" -#: data//credits.stxt:80 data//credits.stxt:85 data//credits.stxt:271 +#: data//credits.stxt:80 data//credits.stxt:266 msgid "Level Design" msgstr "Проектиране на нива" -#: data//credits.stxt:96 +#: data//credits.stxt:91 msgid "Original Developers" msgstr "Първоначални разработчици" -#: data//credits.stxt:101 +#: data//credits.stxt:96 msgid "Original Developer" msgstr "Първоначален разработчик" -#: data//credits.stxt:119 +#: data//credits.stxt:114 msgid "Music, Level Design" msgstr "Музика, проектиране на нива" -#: data//credits.stxt:131 +#: data//credits.stxt:126 msgid "Programming, Graphics, Level Design" msgstr "Програмиране, графика, проектиране на нива" -#: data//credits.stxt:137 +#: data//credits.stxt:132 msgid "Programming, Level Design" msgstr "Програмиране, проектиране на нива" -#: data//credits.stxt:143 +#: data//credits.stxt:138 msgid "Graphics, Story" msgstr "Графика, история" -#: data//credits.stxt:149 +#: data//credits.stxt:144 msgid "Programming, Documentation" msgstr "Програмиране, документация" -#: data//credits.stxt:175 +#: data//credits.stxt:170 msgid "Coordination" msgstr "Координация" -#: data//credits.stxt:180 +#: data//credits.stxt:175 msgid "Programming, \"Flexlay\" Level editor" msgstr "Програмиране, редактор на нива „Flexlay“" -#: data//credits.stxt:195 +#: data//credits.stxt:190 msgid "Windows build fixes" msgstr "Поправки за компилирането под Уиндоус" -#: data//credits.stxt:200 +#: data//credits.stxt:195 msgid "Packaging, Nightly builds" msgstr "Пакетиране, нощна компилация" -#: data//credits.stxt:205 +#: data//credits.stxt:200 msgid "Translation Guru (and many details anyone else could have done)" msgstr "Майстор на превода (и много други неща, които всеки би могъл да направи)" -#: data//credits.stxt:451 +#: data//credits.stxt:450 msgid "Additional contributors" msgstr "Допълнителен принос" -#: data//credits.stxt:456 +#: data//credits.stxt:455 msgid "Bug fixes" msgstr "Поправки на грешки" -#: data//credits.stxt:460 +#: data//credits.stxt:459 msgid "Scripting functions, Level fixes" msgstr "Функции в скриптовете, поправки по нивата" -#: data//credits.stxt:464 +#: data//credits.stxt:463 msgid "Code quality fixes" msgstr "Поправки за качеството на кода" -#: data//credits.stxt:468 data//credits.stxt:472 data//credits.stxt:476 -#: data//credits.stxt:503 +#: data//credits.stxt:467 data//credits.stxt:471 data//credits.stxt:475 +#: data//credits.stxt:502 msgid "Various contributions" msgstr "Разнообразни приноси" -#: data//credits.stxt:480 +#: data//credits.stxt:479 msgid "Build issue fix" msgstr "Поправка на проблем с компилирането" -#: data//credits.stxt:484 data//credits.stxt:488 +#: data//credits.stxt:483 data//credits.stxt:487 msgid "Code contributions" msgstr "Приноси към кода" -#: data//credits.stxt:491 +#: data//credits.stxt:490 msgid "Code contribution, AppData file" msgstr "Принос към кода, файл „AppData“" -#: data//credits.stxt:495 +#: data//credits.stxt:494 msgid "Bug fix" msgstr "Поправка на грешка" -#: data//credits.stxt:499 +#: data//credits.stxt:498 msgid "Menu reorganization" msgstr "Преустройство на менюто" -#: data//credits.stxt:507 +#: data//credits.stxt:506 msgid "Fixing tile bugs" msgstr "Поправки на грешки в плочките" -#: data//credits.stxt:511 +#: data//credits.stxt:510 msgid "Build error fix" msgstr "Поправка на грешка в компилирането" -#: data//credits.stxt:515 +#: data//credits.stxt:514 msgid "Scripting function fix" msgstr "Поправка на функция в скрипта" -#: data//credits.stxt:519 +#: data//credits.stxt:518 msgid "New features and notable updates" msgstr "Нови функционалности и значими промени" -#: data//credits.stxt:523 +#: data//credits.stxt:522 msgid "Support for \"glbinding\" as optional OpenGL binding" msgstr "Поддръжка на „glbinding“ като друг начин за използване на OpenGL" -#: data//credits.stxt:527 +#: data//credits.stxt:526 msgid "New menu code" msgstr "Нов код за менюто" -#: data//credits.stxt:531 +#: data//credits.stxt:530 msgid "Big Tux Walking Sprites improvements" msgstr "Подобрения на изображенията с анимацията за ходене на големия Тъкс" -#: data//credits.stxt:543 data//credits.stxt:551 +#: data//credits.stxt:542 data//credits.stxt:550 msgid "Contrib Programming" msgstr "Принос към програмирането" -#: data//credits.stxt:555 +#: data//credits.stxt:554 msgid "Programming, Previous Maintainer" msgstr "Програмиране, предишен отговорник" -#: data//credits.stxt:559 +#: data//credits.stxt:558 msgid "Various Contributions" msgstr "Разнообразни приноси" -#: data//credits.stxt:563 data//credits.stxt:567 data//credits.stxt:571 -#: data//credits.stxt:575 data//credits.stxt:579 data//credits.stxt:583 -#: data//credits.stxt:587 data//credits.stxt:591 data//credits.stxt:595 -#: data//credits.stxt:599 data//credits.stxt:603 data//credits.stxt:607 -#: data//credits.stxt:611 data//credits.stxt:615 data//credits.stxt:619 -#: data//credits.stxt:623 data//credits.stxt:627 data//credits.stxt:631 -#: data//credits.stxt:635 data//credits.stxt:639 data//credits.stxt:643 -#: data//credits.stxt:647 data//credits.stxt:651 data//credits.stxt:655 -#: data//credits.stxt:659 data//credits.stxt:663 +#: data//credits.stxt:562 data//credits.stxt:566 data//credits.stxt:570 +#: data//credits.stxt:574 data//credits.stxt:578 data//credits.stxt:582 +#: data//credits.stxt:586 data//credits.stxt:590 data//credits.stxt:594 +#: data//credits.stxt:598 data//credits.stxt:602 data//credits.stxt:606 +#: data//credits.stxt:610 data//credits.stxt:614 data//credits.stxt:618 +#: data//credits.stxt:622 data//credits.stxt:626 data//credits.stxt:630 +#: data//credits.stxt:634 data//credits.stxt:638 data//credits.stxt:642 +#: data//credits.stxt:646 data//credits.stxt:650 data//credits.stxt:654 +#: data//credits.stxt:658 data//credits.stxt:662 msgid "Contributions" msgstr "Приноси" -#: data//credits.stxt:669 +#: data//credits.stxt:668 msgid "Localization" msgstr "Превод" -#: data//credits.stxt:1232 +#: data//credits.stxt:1231 msgid " Special Thanks to" msgstr "Специални благодарности на" -#: data//credits.stxt:1237 +#: data//credits.stxt:1236 msgid "Creator of Tux, the Linux penguin" msgstr "Създател на Тъкс, пингвина на Линукс" -#: data//credits.stxt:1241 +#: data//credits.stxt:1240 msgid "SDL, OpenAL and OpenGL" msgstr "SDL, OpenAL и OpenGL" -#: data//credits.stxt:1242 +#: data//credits.stxt:1241 msgid "" "For making such a great gaming experience\n" " possible on Linux" msgstr "За това, че направиха възможно играенето\nна игри под Линукс" -#: data//credits.stxt:1247 +#: data//credits.stxt:1246 msgid "and you, the player" msgstr "и на теб, играчът" -#: data//credits.stxt:1248 +#: data//credits.stxt:1247 msgid "for giving this game a chance and playing it" msgstr "затова, че даде шанс на тази игра" -#: data//credits.stxt:1259 +#: data//credits.stxt:1258 msgid "Visit our webpage at" msgstr "Посети уеб сайта ни на" -#: data//credits.stxt:1268 +#: data//credits.stxt:1267 msgid "Or visit us directly at IRC:" msgstr "Или ни посети направо в IRC:" -#: data//credits.stxt:1272 +#: data//credits.stxt:1271 msgid "#supertux at web.libera.chat" msgstr "#supertux в web.libera.chat" -#: data//credits.stxt:1277 +#: data//credits.stxt:1276 msgid "Or at our Forum:" msgstr "Или в нашия форум:" -#: data//credits.stxt:1286 +#: data//credits.stxt:1285 msgid "Comments, ideas and suggestions" msgstr "За коментари, идеи и предложения" -#: data//credits.stxt:1290 +#: data//credits.stxt:1289 msgid "go to our mailing list" msgstr "посети нашия пощенски списък" #. l10n: typo contact -#: data//credits.stxt:1300 +#: data//credits.stxt:1299 msgid "Typographical errors can be" msgstr "Можеш да докладваш за" #. l10n: typo contact -#: data//credits.stxt:1305 +#: data//credits.stxt:1304 msgid "reported to" msgstr "типографски грешки на" #. l10n: typo contact, see -#: data//credits.stxt:1310 +#: data//credits.stxt:1309 msgid "supertux-devel@lists.lethargik.org" msgstr "supertux-devel@lists.lethargik.org" -#: data//credits.stxt:1317 +#: data//credits.stxt:1316 msgid "Want to help…" msgstr "Искаш да помогнеш…" -#: data//credits.stxt:1322 +#: data//credits.stxt:1321 msgid "…with localization?" msgstr "…с превода?" -#: data//credits.stxt:1332 +#: data//credits.stxt:1331 msgid "…with something else?" msgstr "…с нещо друго?" -#: data//credits.stxt:1343 +#: data//credits.stxt:1342 msgid "Thank you for" msgstr "Благодарим ти, че" -#: data//credits.stxt:1347 +#: data//credits.stxt:1346 msgid "playing" msgstr "изигра" -#: data//credits.stxt:1357 +#: data//credits.stxt:1356 msgid "Penny awaits you in warmer temperatures!" msgstr "Пени те очаква на по-топло място!" @@ -5020,15 +5037,15 @@ msgstr "Пени те очаква на по-топло място!" msgid "Enemies" msgstr "Врагове" -#: data//images/engine/editor/objects.stoi:159 +#: data//images/engine/editor/objects.stoi:162 msgid "Bosses" msgstr "Главатари" -#: data//images/engine/editor/objects.stoi:170 +#: data//images/engine/editor/objects.stoi:173 msgid "Projectiles" msgstr "Снаряди" -#: data//images/engine/editor/objects.stoi:181 +#: data//images/engine/editor/objects.stoi:184 msgid "Environment" msgstr "Околна сред" @@ -5078,11 +5095,11 @@ msgstr "Горски фон" #: data//images/tiles.strf:690 msgid "Corrupted Forest" -msgstr "" +msgstr "Увредена гора" #: data//images/tiles.strf:868 msgid "Corrupted Background" -msgstr "" +msgstr "Увреден фон" #: data//images/tiles.strf:991 msgid "Block + Bonus" @@ -5118,7 +5135,7 @@ msgstr "Разни" #: data//images/tiles.strf:1342 msgid "Retro Tiles" -msgstr "" +msgstr "Ретро плочки" #: data//images/worldmap.strf:24 msgid "Water paths" @@ -5131,3 +5148,19 @@ msgstr "Пътища за замък" #: data//images/worldmap.strf:135 msgid "Darker Forest" msgstr "По-тъмна гора" + +#: data//images/converters/data.stcd:3 +msgid "Nightly Tiles" +msgstr "Нощни плочки" + +#: data//images/converters/data.stcd:5 +msgid "For levels, created in previous Nightly builds." +msgstr "За нива създадени в предишни нощни компилации на играта." + +#: data//images/converters/data.stcd:8 +msgid "Pre-0.6.3 Crystal Tiles" +msgstr "Кристални плочки от преди 0.6.3" + +#: data//images/converters/data.stcd:10 +msgid "For levels, created in pre-0.6.3 versions, which use crystal tiles." +msgstr "За нива създадени във версии преди 0.6.3, които ползват кристални плочки." diff --git a/data/locale/cs.po b/data/locale/cs.po index b1ae482d77b..21c652fc628 100644 --- a/data/locale/cs.po +++ b/data/locale/cs.po @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: SuperTux\n" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" -"POT-Creation-Date: 2024-03-03 03:26+0100\n" +"POT-Creation-Date: 2024-05-30 16:19+0200\n" "PO-Revision-Date: 2013-08-10 22:56+0000\n" "Last-Translator: Jiří Paleček , 2021-2024\n" "Language-Team: Czech (http://app.transifex.com/arctic-games/supertux/language/cs/)\n" @@ -34,7 +34,7 @@ msgid "You found a secret area!" msgstr "Našel jsi tajnou skrýš!" #: src/trigger/secretarea_trigger.cpp:55 src/supertux/game_object.cpp:115 -#: src/supertux/menu/editor_sector_menu.cpp:34 +#: src/supertux/menu/editor_sector_menu.cpp:36 #: src/supertux/menu/editor_levelset_menu.cpp:52 #: src/supertux/menu/editor_new_levelset_menu.cpp:34 #: src/supertux/menu/profile_name_menu.cpp:39 @@ -53,7 +53,7 @@ msgid "Message" msgstr "Zpráva" #: src/trigger/secretarea_trigger.cpp:58 src/trigger/scripttrigger.cpp:51 -#: src/trigger/door.cpp:72 src/object/ispy.cpp:53 +#: src/trigger/door.cpp:79 src/object/ispy.cpp:53 #: src/object/bonus_block.cpp:264 src/object/bonus_block.cpp:268 #: src/object/pushbutton.cpp:62 src/object/powerup.cpp:301 #: src/worldmap/special_tile.cpp:76 @@ -84,7 +84,7 @@ msgstr "Doba změny textu" msgid "Fade time" msgstr "Doba skrytí/odkrytí" -#: src/trigger/text_area.cpp:144 src/object/textscroller.cpp:351 +#: src/trigger/text_area.cpp:144 src/object/textscroller.cpp:353 msgid "Anchor" msgstr "Ukotvení" @@ -100,29 +100,27 @@ msgstr "Svislý offset ukotvení" msgid "Texts" msgstr "Texty" -#: src/trigger/door.cpp:73 src/badguy/willowisp.cpp:310 -#: src/supertux/menu/editor_sector_menu.cpp:32 src/worldmap/teleporter.cpp:47 -#: src/editor/layers_widget.cpp:329 -#: data//images/engine/editor/objects.stoi:339 +#: src/trigger/door.cpp:80 src/badguy/willowisp.cpp:311 +#: src/worldmap/teleporter.cpp:47 data//images/engine/editor/objects.stoi:342 msgid "Sector" msgstr "Sektor" -#: src/trigger/door.cpp:74 src/worldmap/spawn_point.hpp:58 +#: src/trigger/door.cpp:81 src/worldmap/spawn_point.hpp:58 msgid "Spawn point" msgstr "Zrodiště" -#: src/trigger/door.cpp:75 +#: src/trigger/door.cpp:82 msgid "Locked?" msgstr "Zamčené" -#: src/trigger/door.cpp:76 +#: src/trigger/door.cpp:83 msgid "Lock Color" msgstr "Barva zámku" #: src/trigger/switch.cpp:62 src/object/ispy.cpp:54 src/object/bumper.cpp:53 #: src/object/spotlight.cpp:106 src/object/pushbutton.cpp:61 #: src/object/gradient.cpp:103 src/object/conveyor_belt.cpp:60 -#: src/badguy/badguy.cpp:1061 src/worldmap/spawn_point.cpp:79 +#: src/badguy/badguy.cpp:1063 src/worldmap/spawn_point.cpp:79 #: src/worldmap/special_tile.cpp:78 msgid "Direction" msgstr "Směr" @@ -210,8 +208,8 @@ msgstr "Nahoře" msgid "Top Right" msgstr "Nahoře vpravo" -#: src/math/anchor_point.cpp:36 src/object/textscroller.cpp:352 -#: src/object/textscroller.cpp:356 src/supertux/menu/keyboard_menu.cpp:36 +#: src/math/anchor_point.cpp:36 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:38 #: src/supertux/menu/joystick_menu.cpp:73 msgid "Left" msgstr "Vlevo" @@ -220,8 +218,8 @@ msgstr "Vlevo" msgid "Middle" msgstr "Uprostřed" -#: src/math/anchor_point.cpp:38 src/object/textscroller.cpp:352 -#: src/object/textscroller.cpp:356 src/supertux/menu/keyboard_menu.cpp:37 +#: src/math/anchor_point.cpp:38 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:39 #: src/supertux/menu/joystick_menu.cpp:74 msgid "Right" msgstr "Vpravo" @@ -238,7 +236,7 @@ msgstr "Dole" msgid "Bottom Right" msgstr "Dole vpravo" -#: src/object/thunderstorm.hpp:43 +#: src/object/thunderstorm.hpp:44 msgid "Thunderstorm" msgstr "Bouřka" @@ -258,23 +256,16 @@ msgstr "Částicová zóna" #: src/object/path_gameobject.hpp:45 src/object/coin.cpp:324 #: src/object/camera.cpp:168 src/object/platform.cpp:76 #: src/object/path_gameobject.cpp:175 src/object/tilemap.cpp:284 -#: src/gui/menu_paths.cpp:54 src/badguy/willowisp.cpp:316 +#: src/badguy/willowisp.cpp:317 msgid "Path" msgstr "Cesta" -#: src/object/decal.cpp:48 src/object/scripted_object.cpp:68 -#: src/object/particlesystem.cpp:65 src/object/background.cpp:184 -#: src/object/thunderstorm.cpp:72 src/object/tilemap.cpp:277 -#: src/object/gradient.cpp:101 -msgid "Z-pos" -msgstr "Vrstva" - -#: src/object/decal.cpp:49 src/object/scripted_object.cpp:71 +#: src/object/decal.cpp:48 src/object/scripted_object.cpp:70 #: src/object/tilemap.cpp:266 msgid "Solid" msgstr "Pevný" -#: src/object/decal.cpp:50 src/supertux/menu/keyboard_menu.cpp:39 +#: src/object/decal.cpp:49 src/supertux/menu/keyboard_menu.cpp:41 #: src/supertux/menu/joystick_menu.cpp:76 msgid "Action" msgstr "Akce" @@ -293,7 +284,7 @@ msgstr "Mapa dlaždic" #: src/object/sound_object.cpp:69 src/object/ambient_sound.cpp:85 #: src/object/sound_object.hpp:42 src/supertux/menu/options_menu.cpp:128 -#: data//credits.stxt:372 +#: data//credits.stxt:367 msgid "Sound" msgstr "Zvuk" @@ -326,7 +317,7 @@ msgstr "Kroužící plošina" #: src/object/invisible_block.cpp:37 src/object/background.cpp:200 #: src/object/tilemap.cpp:279 src/object/gradient.cpp:109 #: src/badguy/viciousivy.cpp:44 src/badguy/snail.cpp:69 -#: src/badguy/smartball.cpp:34 src/badguy/bouncing_snowball.cpp:69 +#: src/badguy/smartball.cpp:34 src/badguy/bouncing_snowball.cpp:81 #: src/badguy/kamikazesnowball.cpp:117 src/badguy/walkingleaf.cpp:35 #: src/badguy/mrbomb.cpp:47 src/badguy/igel.cpp:188 src/badguy/snowball.cpp:40 #: src/badguy/mrtree.cpp:50 src/badguy/mriceblock.cpp:62 @@ -367,12 +358,12 @@ msgstr "Úhel" #: src/object/spotlight.cpp:104 src/object/magicblock.cpp:95 #: src/object/candle.cpp:75 src/object/torch.cpp:96 src/object/rublight.cpp:55 #: src/object/lantern.cpp:62 src/object/ambient_light.cpp:122 -#: src/object/key.cpp:192 src/badguy/willowisp.cpp:318 +#: src/object/key.cpp:192 src/badguy/willowisp.cpp:319 #: src/badguy/walking_candle.cpp:91 msgid "Color" msgstr "Barva" -#: src/object/spotlight.cpp:105 src/object/textscroller.cpp:348 +#: src/object/spotlight.cpp:105 src/object/textscroller.cpp:350 #: src/object/rain_particle_system.cpp:102 src/object/conveyor_belt.cpp:61 #: src/object/circleplatform.cpp:58 src/badguy/flame.cpp:110 #: src/editor/node_marker.cpp:125 @@ -396,20 +387,20 @@ msgstr "Zastavený" msgid "Layer" msgstr "Vrstva" -#: src/object/scripted_object.cpp:72 +#: src/object/scripted_object.cpp:71 msgid "Physics enabled" msgstr "Povolit fyziku" -#: src/object/scripted_object.cpp:73 +#: src/object/scripted_object.cpp:72 msgid "Visible" msgstr "Viditelný" -#: src/object/scripted_object.cpp:74 src/badguy/willowisp.cpp:312 +#: src/object/scripted_object.cpp:73 src/badguy/willowisp.cpp:313 msgid "Hit script" msgstr "Skript při zásahu" #: src/object/custom_particle_system_file.cpp:53 -#: src/object/textscroller.cpp:346 src/object/music_object.cpp:109 +#: src/object/textscroller.cpp:348 src/object/music_object.cpp:109 #: src/supertux/menu/particle_editor_open.cpp:38 msgid "File" msgstr "Soubor" @@ -533,18 +524,18 @@ msgstr "Režim cesty" #: src/object/coin.cpp:330 src/object/camera.cpp:172 #: src/object/platform.cpp:78 src/object/tilemap.cpp:291 -#: src/badguy/willowisp.cpp:321 +#: src/badguy/willowisp.cpp:322 msgid "Adapt Speed" msgstr "Přizpůsobit rychlost" #: src/object/coin.cpp:331 src/object/platform.cpp:81 -#: src/object/tilemap.cpp:285 src/badguy/willowisp.cpp:317 +#: src/object/tilemap.cpp:285 src/badguy/willowisp.cpp:318 msgid "Starting Node" msgstr "Počáteční uzel" #: src/object/coin.cpp:332 src/object/camera.cpp:173 #: src/object/platform.cpp:82 src/object/tilemap.cpp:293 -#: src/badguy/willowisp.cpp:322 +#: src/badguy/willowisp.cpp:323 msgid "Handle" msgstr "Úchopný bod" @@ -572,23 +563,23 @@ msgstr "manuální" msgid "autoscroll" msgstr "automatický posun" -#: src/object/textscroller.cpp:347 +#: src/object/textscroller.cpp:349 msgid "Finish Script" msgstr "Zakončovací skript" -#: src/object/textscroller.cpp:349 +#: src/object/textscroller.cpp:351 msgid "X-offset" msgstr "Vodorovný offset" -#: src/object/textscroller.cpp:350 +#: src/object/textscroller.cpp:352 msgid "Controllable" msgstr "Ovladatelný" -#: src/object/textscroller.cpp:352 src/object/textscroller.cpp:356 +#: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 msgid "Center" msgstr "Na střed" -#: src/object/textscroller.cpp:355 +#: src/object/textscroller.cpp:357 msgid "Text Alignment" msgstr "Zarovnání textu" @@ -596,7 +587,7 @@ msgstr "Zarovnání textu" msgid "Lit object" msgstr "Nasvícený objekt" -#: src/object/spawnpoint.hpp:48 src/badguy/willowisp.cpp:311 +#: src/object/spawnpoint.hpp:48 src/badguy/willowisp.cpp:312 #: src/worldmap/teleporter.cpp:48 msgid "Spawnpoint" msgstr "Zrodiště" @@ -609,6 +600,12 @@ msgstr "Výdrž" msgid "Candle" msgstr "Svíčka" +#: src/object/particlesystem.cpp:65 src/object/background.cpp:184 +#: src/object/thunderstorm.cpp:76 src/object/tilemap.cpp:277 +#: src/object/gradient.cpp:101 src/object/moving_sprite.cpp:193 +msgid "Z-pos" +msgstr "Vrstva" + #: src/object/invisible_block.hpp:30 msgid "Invisible Block" msgstr "Neviditelný blok" @@ -718,7 +715,7 @@ msgid "Platform" msgstr "Plošina" #: src/object/music_object.hpp:42 src/supertux/menu/options_menu.cpp:130 -#: data//credits.stxt:314 +#: data//credits.stxt:309 msgid "Music" msgstr "Hudba" @@ -971,7 +968,7 @@ msgstr "Lepší částicové efekty" msgid "Bicycle Platform" msgstr "Šlapací plošina" -#: src/object/platform.cpp:80 src/object/thunderstorm.cpp:73 +#: src/object/platform.cpp:80 src/object/thunderstorm.cpp:77 #: src/object/tilemap.cpp:292 src/object/conveyor_belt.cpp:62 msgid "Running" msgstr "Aktivní" @@ -984,11 +981,11 @@ msgstr "Malý" msgid "Large" msgstr "Velký" -#: src/object/rock.cpp:238 +#: src/object/rock.cpp:234 msgid "On-grab script" msgstr "Skript při zvednutí" -#: src/object/rock.cpp:239 +#: src/object/rock.cpp:235 msgid "On-ungrab script" msgstr "Skript při upuštění" @@ -996,11 +993,11 @@ msgstr "Skript při upuštění" msgid "Interactive particle system" msgstr "Interaktivní systém částic" -#: src/object/thunderstorm.cpp:74 +#: src/object/thunderstorm.cpp:78 msgid "Interval" msgstr "Interval" -#: src/object/thunderstorm.cpp:75 +#: src/object/thunderstorm.cpp:79 msgid "Strike Script" msgstr "Skript při zásahu" @@ -1037,7 +1034,7 @@ msgstr "Režim vzniku" #: src/object/custom_particle_system.cpp:430 #: src/object/custom_particle_system.cpp:465 src/object/gradient.cpp:115 #: src/gui/menu_string_array.cpp:40 src/gui/menu_string_array.cpp:78 -#: src/supertux/menu/keyboard_menu.cpp:77 +#: src/supertux/menu/keyboard_menu.cpp:80 #: src/supertux/menu/joystick_menu.cpp:108 #: src/supertux/menu/joystick_menu.cpp:215 src/editor/object_settings.cpp:129 #: src/editor/particle_editor.cpp:162 src/editor/particle_editor.cpp:168 @@ -1412,12 +1409,12 @@ msgstr "Offset změny šířky" msgid "Resize offset y" msgstr "Offset změny výšky" -#: src/object/tilemap.cpp:270 src/supertux/menu/editor_sector_menu.cpp:39 +#: src/object/tilemap.cpp:270 src/supertux/menu/editor_sector_menu.cpp:41 #: src/editor/object_option.cpp:178 msgid "Width" msgstr "Šířka" -#: src/object/tilemap.cpp:271 src/supertux/menu/editor_sector_menu.cpp:40 +#: src/object/tilemap.cpp:271 src/supertux/menu/editor_sector_menu.cpp:42 #: src/editor/object_option.cpp:179 msgid "Height" msgstr "Výška" @@ -1439,7 +1436,7 @@ msgid "Tint" msgstr "Zbarvení" #: src/object/tilemap.cpp:296 src/supertux/menu/editor_tilegroup_menu.cpp:26 -#: src/editor/toolbox_widget.cpp:99 +#: src/editor/toolbox_widget.cpp:98 msgid "Tiles" msgstr "Dlaždice" @@ -1491,7 +1488,7 @@ msgstr "Odrážedlo" msgid "Length" msgstr "Délka" -#: src/object/moving_sprite.cpp:187 src/object/pneumatic_platform.cpp:161 +#: src/object/moving_sprite.cpp:192 src/object/pneumatic_platform.cpp:161 msgid "Sprite" msgstr "Vzhled" @@ -1551,7 +1548,7 @@ msgstr "Klikni pro více informací." msgid "Do not show again" msgstr "Neukazovat znovu" -#: src/gui/notification.cpp:157 src/supertux/menu/download_dialog.cpp:123 +#: src/gui/notification.cpp:157 src/supertux/menu/download_dialog.cpp:124 msgid "Close" msgstr "Zavřít" @@ -1585,7 +1582,7 @@ msgstr "Odstranit" #: src/gui/menu_string_array.cpp:84 src/gui/menu_object_select.cpp:61 #: src/gui/menu_color.cpp:37 src/gui/dialog.hpp:87 src/gui/menu_script.cpp:46 -#: src/supertux/menu/editor_sector_menu.cpp:46 +#: src/supertux/menu/editor_sector_menu.cpp:48 #: src/supertux/menu/editor_levelset_menu.cpp:58 #: src/supertux/menu/editor_new_levelset_menu.cpp:37 #: src/supertux/menu/editor_level_menu.cpp:45 src/editor/object_menu.cpp:71 @@ -1610,17 +1607,17 @@ msgid "Mix the colour" msgstr "Namíchej barvu" #: src/gui/dialog.hpp:96 src/supertux/menu/editor_level_select_menu.cpp:181 -#: src/editor/editor.cpp:638 +#: src/editor/editor.cpp:663 msgid "Yes" msgstr "Ano" #: src/gui/dialog.hpp:97 src/supertux/menu/editor_level_select_menu.cpp:185 -#: src/editor/particle_editor.cpp:781 src/editor/editor.cpp:645 +#: src/editor/particle_editor.cpp:781 src/editor/editor.cpp:670 msgid "No" msgstr "Ne" #: src/gui/menu_list.cpp:38 src/gui/menu_filesystem.cpp:120 -#: src/gui/menu_paths.cpp:46 src/supertux/menu/particle_editor_save_as.cpp:42 +#: src/gui/menu_paths.cpp:48 src/supertux/menu/particle_editor_save_as.cpp:42 #: src/supertux/menu/editor_sectors_menu.cpp:45 #: src/supertux/menu/editor_sectors_menu.cpp:94 #: src/supertux/menu/editor_sectors_menu.cpp:99 @@ -1629,7 +1626,7 @@ msgstr "Ne" #: src/supertux/menu/editor_level_select_menu.cpp:190 #: src/supertux/menu/editor_save_as.cpp:42 #: src/supertux/menu/particle_editor_open.cpp:43 -#: src/editor/particle_editor.cpp:785 src/editor/editor.cpp:649 +#: src/editor/particle_editor.cpp:785 src/editor/editor.cpp:674 msgid "Cancel" msgstr "Zrušit" @@ -1641,22 +1638,34 @@ msgstr "Otevřít adresář" msgid "Edit script" msgstr "Upravit skript" -#: src/gui/menu_paths.cpp:30 +#: src/gui/menu_paths.cpp:32 msgid "Clone" msgstr "Vytvořit kopii" -#: src/gui/menu_paths.cpp:39 +#: src/gui/menu_paths.cpp:41 msgid "" "An error occurred and the game could\n" "not clone the path. Please contact\n" "the developers for support." msgstr "Došlo k chybě a nebylo možné\nnaklonovat cestu. Pro podporu\nkontaktuj, prosím, vývojáře." -#: src/gui/menu_paths.cpp:42 +#: src/gui/menu_paths.cpp:44 msgid "Bind" msgstr "Přičlenit" -#: src/gui/menu_paths.cpp:65 src/supertux/menu/integrations_menu.cpp:60 +#: src/gui/menu_paths.cpp:49 +msgid "" +"Do you wish to clone the path to edit it separately,\n" +"or do you want to bind both paths together\n" +"so that any edit on one edits the other?" +msgstr "Přeješ si cestu naklonovat a upravovat ji separátně,\nnebo chceš obě cesty propojit, aby úpravy jedné\nautomaticky upravily i tu druhou?" + +#: src/gui/menu_paths.cpp:56 +#, c++-format +msgid "Path {}" +msgstr "Cesta {}" + +#: src/gui/menu_paths.cpp:67 src/supertux/menu/integrations_menu.cpp:60 #: src/supertux/menu/editor_converters_menu.cpp:79 #: src/supertux/menu/video_system_menu.cpp:45 #: src/supertux/menu/contrib_menu.cpp:102 src/supertux/menu/debug_menu.cpp:77 @@ -1665,8 +1674,8 @@ msgstr "Přičlenit" #: src/supertux/menu/editor_level_select_menu.cpp:98 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:42 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:63 -#: src/supertux/menu/worldmap_cheat_menu.cpp:56 -#: src/supertux/menu/worldmap_cheat_menu.cpp:195 +#: src/supertux/menu/worldmap_cheat_menu.cpp:57 +#: src/supertux/menu/worldmap_cheat_menu.cpp:196 #: src/supertux/menu/editor_levelset_select_menu.cpp:114 #: src/supertux/menu/options_menu.cpp:223 #: src/supertux/menu/editor_delete_levelset_menu.cpp:69 @@ -1680,8 +1689,8 @@ msgstr "Přičlenit" #: src/supertux/menu/addon_browse_menu.cpp:162 #: src/supertux/menu/web_asset_menu.cpp:48 #: src/supertux/menu/profile_name_menu.cpp:45 -#: src/supertux/menu/keyboard_menu.cpp:68 -#: src/supertux/menu/sorted_contrib_menu.cpp:53 +#: src/supertux/menu/keyboard_menu.cpp:71 +#: src/supertux/menu/sorted_contrib_menu.cpp:51 #: src/supertux/menu/language_menu.cpp:63 #: src/supertux/menu/joystick_menu.cpp:99 #: src/supertux/menu/contrib_levelset_menu.cpp:67 @@ -1694,28 +1703,16 @@ msgstr "Přičlenit" msgid "Back" msgstr "Zpět" -#: src/addon/addon_manager.cpp:484 -msgid "Error deleting addon .zip file: \"PHYSFS_delete\" failed: " -msgstr "Chyba při odstraňování souboru .zip doplňku: \"PHYSFS_delete\" selhal:" - -#: src/addon/addon_manager.cpp:490 -msgid "Error uninstalling add-on: Addon with id " -msgstr "Chyba při odstraňování doplňku: doplněk s id " - -#: src/addon/addon_manager.cpp:490 -msgid " not found." -msgstr " nebyl nalezen." - -#: src/addon/addon_manager.cpp:559 +#: src/addon/addon_manager.cpp:562 msgid "Only one resource pack is allowed to be enabled at a time." msgstr "Najednou nemůže být aktivních více balíčků zdrojů." -#: src/addon/addon_manager.cpp:823 +#: src/addon/addon_manager.cpp:837 #, c++-format msgid "Add-on {} by {} is already installed." msgstr "Doplněk {} od tvůrce {} je již nainstalován." -#: src/addon/addon_manager.cpp:843 +#: src/addon/addon_manager.cpp:857 #, c++-format msgid "Add-on {} by {} successfully installed." msgstr "Doplněk {} od tvůrce {} úspěšně nainstalován." @@ -1725,7 +1722,7 @@ msgid "Levelset" msgstr "Sada úrovní" #: src/addon/addon.cpp:74 src/supertux/menu/editor_levelset_menu.cpp:54 -#: data//images/engine/editor/objects.stoi:386 +#: data//images/engine/editor/objects.stoi:389 msgid "Worldmap" msgstr "Svět" @@ -1774,6 +1771,10 @@ msgstr "Strom" msgid "Plant" msgstr "Rostlina" +#: src/badguy/tarantula.hpp:39 src/badguy/tarantula.cpp:353 +msgid "Tarantula" +msgstr "Sklípkan" + #: src/badguy/granito_giant.cpp:71 msgid "Awake" msgstr "Vzhůru" @@ -1812,23 +1813,27 @@ msgstr "Totem" msgid "Stalactite" msgstr "Rampouch" -#: src/badguy/fish_chasing.cpp:195 +#: src/badguy/fish_chasing.cpp:198 msgid "Tracking Distance" msgstr "Vzdálenost vnímání" -#: src/badguy/fish_chasing.cpp:196 +#: src/badguy/fish_chasing.cpp:199 msgid "Losing Distance" msgstr "Vzdálenost ztracení" -#: src/badguy/fish_chasing.cpp:197 +#: src/badguy/fish_chasing.cpp:200 msgid "Chase Speed" msgstr "Rychlost pronásledování" +#: src/badguy/root_sapling.hpp:41 +msgid "Root Sapling" +msgstr "Sazenice kořene" + #: src/badguy/haywire.hpp:46 msgid "Haywire" msgstr "Šílená bomba" -#: src/badguy/dispenser.hpp:51 +#: src/badguy/dispenser.hpp:52 msgid "Dispenser" msgstr "Dávkovač" @@ -1844,7 +1849,7 @@ msgstr "Zeklík" msgid "Pumpkin" msgstr "Dýně" -#: src/badguy/bouncing_snowball.cpp:70 +#: src/badguy/bouncing_snowball.cpp:82 msgid "Fatbat" msgstr "Netopýr" @@ -1861,7 +1866,7 @@ msgid "Mr. Iceblock" msgstr "Ledová krychle" #: src/badguy/granito.hpp:39 src/badguy/darttrap.cpp:163 -#: src/badguy/corrupted_granito.cpp:175 src/badguy/dispenser.cpp:410 +#: src/badguy/corrupted_granito.cpp:175 src/badguy/dispenser.cpp:438 msgid "Granito" msgstr "Granito" @@ -1916,15 +1921,15 @@ msgstr "Kapitán Sněhová koule" msgid "Ghost Tree" msgstr "Strom duchů" -#: src/badguy/willowisp.cpp:313 +#: src/badguy/willowisp.cpp:314 msgid "Track range" msgstr "Oblast sledování" -#: src/badguy/willowisp.cpp:314 +#: src/badguy/willowisp.cpp:315 msgid "Vanish range" msgstr "Oblast zmizení" -#: src/badguy/willowisp.cpp:315 +#: src/badguy/willowisp.cpp:316 msgid "Fly speed" msgstr "Rychlost letu" @@ -1936,7 +1941,7 @@ msgstr "Kulový blesk" msgid "Mole's rock" msgstr "Kus hlíny" -#: src/badguy/badguy.cpp:1062 +#: src/badguy/badguy.cpp:1064 msgid "Death script" msgstr "Skript po úmrtí" @@ -2024,31 +2029,31 @@ msgstr "Klasická" msgid "Flying Snowball" msgstr "Létající sněhová koule" -#: src/badguy/crusher.cpp:74 +#: src/badguy/crusher.cpp:75 msgid "Ice (normal)" msgstr "Ledový (normální)" -#: src/badguy/crusher.cpp:75 +#: src/badguy/crusher.cpp:76 msgid "Ice (big)" msgstr "Ledový (velký)" -#: src/badguy/crusher.cpp:76 +#: src/badguy/crusher.cpp:77 msgid "Rock (normal)" msgstr "Kamenný (normální)" -#: src/badguy/crusher.cpp:77 +#: src/badguy/crusher.cpp:78 msgid "Rock (big)" msgstr "Kamenný (velký)" -#: src/badguy/crusher.cpp:78 +#: src/badguy/crusher.cpp:79 msgid "Corrupted (normal)" msgstr "Poškozený (normální)" -#: src/badguy/crusher.cpp:79 +#: src/badguy/crusher.cpp:80 msgid "Corrupted (big)" msgstr "Poškozený (velký)" -#: src/badguy/crusher.cpp:475 +#: src/badguy/crusher.cpp:492 msgid "Sideways" msgstr "Do strany" @@ -2108,6 +2113,10 @@ msgstr "Ježoun" msgid "Walking Leaf" msgstr "Podzimní listí" +#: src/badguy/root.hpp:39 +msgid "Root" +msgstr "Kořen" + #: src/badguy/owl.cpp:241 msgid "Carry" msgstr "Nést" @@ -2152,10 +2161,14 @@ msgstr "Chodící svíčka" msgid "Angry Stone" msgstr "Zuřící kámen" -#: src/badguy/spidermite.hpp:38 +#: src/badguy/tarantula.cpp:354 msgid "Spidermite" msgstr "Pavouk" +#: src/badguy/tarantula.cpp:374 +msgid "Static" +msgstr "Statický" + #: src/badguy/ghoul.hpp:30 msgid "Ghoul" msgstr "Démon" @@ -2188,41 +2201,41 @@ msgstr "Agresivní ryba" msgid "Stumpy" msgstr "Kmenouš" -#: src/badguy/dispenser.cpp:384 +#: src/badguy/dispenser.cpp:412 msgid "Interval (seconds)" msgstr "Interval (sekundy)" -#: src/badguy/dispenser.cpp:385 +#: src/badguy/dispenser.cpp:413 msgid "Random" msgstr "Náhodný" -#: src/badguy/dispenser.cpp:388 +#: src/badguy/dispenser.cpp:416 #: src/supertux/menu/editor_objectgroup_menu.cpp:30 -#: src/editor/toolbox_widget.cpp:102 +#: src/editor/toolbox_widget.cpp:101 msgid "Objects" msgstr "Objekty" -#: src/badguy/dispenser.cpp:391 +#: src/badguy/dispenser.cpp:419 msgid "Limit dispensed badguys" msgstr "Omezit počet zlejšků" -#: src/badguy/dispenser.cpp:393 +#: src/badguy/dispenser.cpp:421 msgid "Obey Gravity" msgstr "Poslouchat gravitaci" -#: src/badguy/dispenser.cpp:395 +#: src/badguy/dispenser.cpp:423 msgid "Max concurrent badguys" msgstr "Limit současně zrozených zlejšků" -#: src/badguy/dispenser.cpp:407 +#: src/badguy/dispenser.cpp:435 msgid "Dropper" msgstr "Trousič" -#: src/badguy/dispenser.cpp:408 +#: src/badguy/dispenser.cpp:436 msgid "Cannon" msgstr "Kanón" -#: src/badguy/dispenser.cpp:409 src/worldmap/special_tile.cpp:77 +#: src/badguy/dispenser.cpp:437 src/worldmap/special_tile.cpp:77 msgid "Invisible" msgstr "Neviditelnost" @@ -2234,7 +2247,7 @@ msgstr "Šnek" msgid "Mrs. Snowball" msgstr "Chytrá sněhová koule" -#: src/badguy/bouncing_snowball.hpp:38 +#: src/badguy/bouncing_snowball.hpp:39 msgid "Bouncing Snowball" msgstr "Skákající sněhová koule" @@ -2310,7 +2323,7 @@ msgstr "Skrýše" msgid "Unknown object" msgstr "Neznámý objekt" -#: src/supertux/sector.cpp:481 +#: src/supertux/sector.cpp:507 msgid "Press escape to skip" msgstr "Přeskoč stiskem ESC" @@ -2476,11 +2489,11 @@ msgstr " SUPERTUX2_USER_DIR Adresář uživatelských dat (uložené hry, etc.) msgid " SUPERTUX2_DATA_DIR Directory for the games datafiles" msgstr " SUPERTUX2_DATA_DIR Adresář dat hry" -#: src/supertux/title_screen.cpp:257 +#: src/supertux/title_screen.cpp:272 msgid "Copyright" msgstr "Copyright" -#: src/supertux/title_screen.cpp:258 +#: src/supertux/title_screen.cpp:273 msgid "" "This game comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to\n" "redistribute it under certain conditions; see the license file for details.\n" @@ -2830,6 +2843,7 @@ msgstr "Aplikovat podvod na hráče" #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:39 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:60 #: src/supertux/menu/multiplayer_players_menu.cpp:39 +#: src/supertux/menu/keyboard_menu.cpp:63 #: src/supertux/menu/cheat_apply_menu.cpp:39 #: src/supertux/menu/cheat_apply_menu.cpp:59 #: src/supertux/menu/multiplayer_player_menu.cpp:37 @@ -2843,76 +2857,76 @@ msgstr "Hráč {}" msgid "All Players" msgstr "Všichni hráči" -#: src/supertux/menu/worldmap_cheat_menu.cpp:35 +#: src/supertux/menu/worldmap_cheat_menu.cpp:36 #: src/supertux/menu/cheat_menu.cpp:31 msgid "Cheats" msgstr "Podvádění" -#: src/supertux/menu/worldmap_cheat_menu.cpp:37 +#: src/supertux/menu/worldmap_cheat_menu.cpp:38 #: src/supertux/menu/cheat_menu.cpp:33 msgid "Bonus: Grow" msgstr "Bonus: růst" -#: src/supertux/menu/worldmap_cheat_menu.cpp:38 +#: src/supertux/menu/worldmap_cheat_menu.cpp:39 #: src/supertux/menu/cheat_menu.cpp:34 msgid "Bonus: Fire" msgstr "Bonus: oheň" -#: src/supertux/menu/worldmap_cheat_menu.cpp:39 +#: src/supertux/menu/worldmap_cheat_menu.cpp:40 #: src/supertux/menu/cheat_menu.cpp:35 msgid "Bonus: Ice" msgstr "Bonus: led" -#: src/supertux/menu/worldmap_cheat_menu.cpp:40 +#: src/supertux/menu/worldmap_cheat_menu.cpp:41 #: src/supertux/menu/cheat_menu.cpp:36 msgid "Bonus: Air" msgstr "Bonus: Vzduch" -#: src/supertux/menu/worldmap_cheat_menu.cpp:41 +#: src/supertux/menu/worldmap_cheat_menu.cpp:42 #: src/supertux/menu/cheat_menu.cpp:37 msgid "Bonus: Earth" msgstr "Bonus: Země" -#: src/supertux/menu/worldmap_cheat_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_menu.cpp:43 msgid "Bonus: None" msgstr "Bonus: žádný" -#: src/supertux/menu/worldmap_cheat_menu.cpp:45 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 #: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:51 msgid "Leave Ghost Mode" msgstr "Opustit režim Duch" -#: src/supertux/menu/worldmap_cheat_menu.cpp:45 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 #: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:50 msgid "Activate Ghost Mode" msgstr "Aktivovat režim Duch" -#: src/supertux/menu/worldmap_cheat_menu.cpp:47 +#: src/supertux/menu/worldmap_cheat_menu.cpp:48 #: src/supertux/menu/cheat_menu.cpp:41 msgid "Finish Level" msgstr "Dokončit úroveň" -#: src/supertux/menu/worldmap_cheat_menu.cpp:48 +#: src/supertux/menu/worldmap_cheat_menu.cpp:49 msgid "Reset Level" msgstr "Resetovat úroveň" -#: src/supertux/menu/worldmap_cheat_menu.cpp:50 +#: src/supertux/menu/worldmap_cheat_menu.cpp:51 msgid "Finish Worldmap" msgstr "Dokončit mapu" -#: src/supertux/menu/worldmap_cheat_menu.cpp:51 +#: src/supertux/menu/worldmap_cheat_menu.cpp:52 msgid "Reset Worldmap" msgstr "Resetovat mapu" -#: src/supertux/menu/worldmap_cheat_menu.cpp:53 +#: src/supertux/menu/worldmap_cheat_menu.cpp:54 msgid "Go to level" msgstr "Jít do úrovně" -#: src/supertux/menu/worldmap_cheat_menu.cpp:54 +#: src/supertux/menu/worldmap_cheat_menu.cpp:55 msgid "Go to main spawnpoint" msgstr "Jít na hlavní zrodiště" -#: src/supertux/menu/worldmap_cheat_menu.cpp:187 +#: src/supertux/menu/worldmap_cheat_menu.cpp:188 msgid "Select level" msgstr "Vybrat úroveň" @@ -3045,7 +3059,7 @@ msgid "This feature is currently only used in the multiplayer options menu." msgstr "Tato funkce je momentálně dostupná pouze v nastavení hry více hráčů" #: src/supertux/menu/options_menu.cpp:154 -#: src/supertux/menu/keyboard_menu.cpp:32 +#: src/supertux/menu/keyboard_menu.cpp:34 msgid "Setup Keyboard" msgstr "Nastavit klávesnici" @@ -3439,23 +3453,28 @@ msgid "" "continue?" msgstr "Tato akce otevře stránku pro darování peněz vývojářům SuperTuxe. Opravdu chceš pokračovat?" -#: src/supertux/menu/editor_sector_menu.cpp:35 +#: src/supertux/menu/editor_sector_menu.cpp:34 +#, c++-format +msgid "Sector {}" +msgstr "Sektor {}" + +#: src/supertux/menu/editor_sector_menu.cpp:37 msgid "Initialization script" msgstr "Skript na začátku" -#: src/supertux/menu/editor_sector_menu.cpp:36 +#: src/supertux/menu/editor_sector_menu.cpp:38 msgid "Gravity" msgstr "Gravitace" -#: src/supertux/menu/editor_sector_menu.cpp:41 +#: src/supertux/menu/editor_sector_menu.cpp:43 msgid "Resize offset X" msgstr "Offset změny šířky" -#: src/supertux/menu/editor_sector_menu.cpp:42 +#: src/supertux/menu/editor_sector_menu.cpp:44 msgid "Resize offset Y" msgstr "Offset změny výšky" -#: src/supertux/menu/editor_sector_menu.cpp:43 +#: src/supertux/menu/editor_sector_menu.cpp:45 msgid "Resize" msgstr "Změnit velikost" @@ -3743,122 +3762,118 @@ msgstr "Názvy profilů mohou mít nejvýše 20 znaků.\nZvol, prosím, jiný n msgid "An error occurred while creating the profile." msgstr "Při vytváření profilu došlo k chybě." -#: src/supertux/menu/keyboard_menu.cpp:34 +#: src/supertux/menu/keyboard_menu.cpp:36 #: src/supertux/menu/joystick_menu.cpp:71 msgid "Up" msgstr "Nahoru" -#: src/supertux/menu/keyboard_menu.cpp:35 +#: src/supertux/menu/keyboard_menu.cpp:37 #: src/supertux/menu/joystick_menu.cpp:72 msgid "Down" msgstr "Dolů" -#: src/supertux/menu/keyboard_menu.cpp:38 +#: src/supertux/menu/keyboard_menu.cpp:40 #: src/supertux/menu/joystick_menu.cpp:75 msgid "Jump" msgstr "Skok" -#: src/supertux/menu/keyboard_menu.cpp:41 +#: src/supertux/menu/keyboard_menu.cpp:43 #: src/supertux/menu/joystick_menu.cpp:78 msgid "Peek Left" msgstr "Nahlédnout doleva" -#: src/supertux/menu/keyboard_menu.cpp:42 +#: src/supertux/menu/keyboard_menu.cpp:44 #: src/supertux/menu/joystick_menu.cpp:79 msgid "Peek Right" msgstr "Nahlédnout doprava" -#: src/supertux/menu/keyboard_menu.cpp:43 +#: src/supertux/menu/keyboard_menu.cpp:45 #: src/supertux/menu/joystick_menu.cpp:80 msgid "Peek Up" msgstr "Nahlédnout nahoru" -#: src/supertux/menu/keyboard_menu.cpp:44 +#: src/supertux/menu/keyboard_menu.cpp:46 #: src/supertux/menu/joystick_menu.cpp:81 msgid "Peek Down" msgstr "Nahlédnout dolů" -#: src/supertux/menu/keyboard_menu.cpp:49 +#: src/supertux/menu/keyboard_menu.cpp:51 #: src/supertux/menu/joystick_menu.cpp:83 msgid "Console" msgstr "Konzole" -#: src/supertux/menu/keyboard_menu.cpp:50 +#: src/supertux/menu/keyboard_menu.cpp:52 #: src/supertux/menu/joystick_menu.cpp:84 msgid "Cheat Menu" msgstr "Nabídka podvodů" -#: src/supertux/menu/keyboard_menu.cpp:51 +#: src/supertux/menu/keyboard_menu.cpp:53 #: src/supertux/menu/joystick_menu.cpp:85 msgid "Debug Menu" msgstr "Ladicí nabídka" -#: src/supertux/menu/keyboard_menu.cpp:54 +#: src/supertux/menu/keyboard_menu.cpp:56 #: src/supertux/menu/joystick_menu.cpp:87 msgid "Jump with Up" msgstr "Skočit stiskem klávesy nahoru" -#: src/supertux/menu/keyboard_menu.cpp:61 -msgid "Player" -msgstr "Hráč" - -#: src/supertux/menu/keyboard_menu.cpp:79 +#: src/supertux/menu/keyboard_menu.cpp:82 msgid "Up cursor" msgstr "Šipka nahoru" -#: src/supertux/menu/keyboard_menu.cpp:81 +#: src/supertux/menu/keyboard_menu.cpp:84 msgid "Down cursor" msgstr "Šipka dolů" -#: src/supertux/menu/keyboard_menu.cpp:83 +#: src/supertux/menu/keyboard_menu.cpp:86 msgid "Left cursor" msgstr "Šipka vlevo" -#: src/supertux/menu/keyboard_menu.cpp:85 +#: src/supertux/menu/keyboard_menu.cpp:88 msgid "Right cursor" msgstr "Šipka vpravo" -#: src/supertux/menu/keyboard_menu.cpp:87 +#: src/supertux/menu/keyboard_menu.cpp:90 msgid "Return" msgstr "Enter" -#: src/supertux/menu/keyboard_menu.cpp:89 +#: src/supertux/menu/keyboard_menu.cpp:92 msgid "Space" msgstr "Mezerník" -#: src/supertux/menu/keyboard_menu.cpp:91 +#: src/supertux/menu/keyboard_menu.cpp:94 msgid "Right Shift" msgstr "Pravý shift" -#: src/supertux/menu/keyboard_menu.cpp:93 +#: src/supertux/menu/keyboard_menu.cpp:96 msgid "Left Shift" msgstr "Levý shift" -#: src/supertux/menu/keyboard_menu.cpp:95 +#: src/supertux/menu/keyboard_menu.cpp:98 msgid "Right Control" msgstr "Pravý Ctrl" -#: src/supertux/menu/keyboard_menu.cpp:97 +#: src/supertux/menu/keyboard_menu.cpp:100 msgid "Left Control" msgstr "Levý Ctrl" -#: src/supertux/menu/keyboard_menu.cpp:99 +#: src/supertux/menu/keyboard_menu.cpp:102 msgid "Right Alt" msgstr "Alt Gr" -#: src/supertux/menu/keyboard_menu.cpp:101 +#: src/supertux/menu/keyboard_menu.cpp:104 msgid "Left Alt" msgstr "Alt" -#: src/supertux/menu/keyboard_menu.cpp:103 +#: src/supertux/menu/keyboard_menu.cpp:106 msgid "Right Command" msgstr "Pravý Cmd" -#: src/supertux/menu/keyboard_menu.cpp:105 +#: src/supertux/menu/keyboard_menu.cpp:108 msgid "Left Command" msgstr "Levý Cmd" -#: src/supertux/menu/keyboard_menu.cpp:119 +#: src/supertux/menu/keyboard_menu.cpp:122 msgid "Press Key" msgstr "Stiskni klávesu" @@ -3939,13 +3954,16 @@ msgstr "Pauza" msgid "Leave World" msgstr "Opustit svět" -#: src/supertux/menu/download_dialog.cpp:41 +#: src/supertux/menu/download_dialog.cpp:42 msgid "Abort Download" msgstr "Přerušit stahování" -#: src/supertux/menu/download_dialog.cpp:58 -msgid "Error:\n" -msgstr "Chyba:\n" +#: src/supertux/menu/download_dialog.cpp:59 +#, c++-format +msgid "" +"Error:\n" +"{}" +msgstr "Chyba:\n{}" #: src/supertux/menu/cheat_menu.cpp:38 msgid "Bonus: Star" @@ -4040,7 +4058,7 @@ msgstr "Nastavení úrovně" msgid "Author" msgstr "Autor" -#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1254 +#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1253 msgid "Contact" msgstr "Kontakt" @@ -4214,6 +4232,9 @@ msgid "" "F6 = Render Light\n" "F7 = Grid Snapping\n" "F8 = Show Grid\n" +"Ctrl++ or Ctrl+Scroll Up = Zoom In\n" +"Ctrl+- or Ctrl+Scroll Down = Zoom Out\n" +"Ctrl+D = Reset Zoom\n" "\n" "Scripting Shortcuts:\n" " ------------- \n" @@ -4229,7 +4250,7 @@ msgid "" "Ctrl+D = Duplicate line\n" "Ctrl+Z = Undo\n" "Ctrl+Y = Redo" -msgstr "Klávesové zkratky:\n---------------------\nEscape = otevřít nabídku\nCtrl+S = uložit\nCtrl+T = vyzkoušet úroveň\nCtrl+Z = krok zpět\nCtrl+Y = krok vpřed\nF6 = vykreslovat světlo\nF7 = zarovnávat k mřížce\nF8 = zobrazit/skrýt mřížku\n\nKlávesové zkratky pro skriptování:\n---------------------\nHome = přejít na začátek řádku\nEnd = přejít na konec řádku\nŠipka vlevo = vrátit se v textu na předchozí pozici\nŠipka vpravo = přejít v textu na další pozici\nBackspace = smazat znak před kurzorem\nDelete = smazat znak za kurzorem\nCtrl+X = vyjmout celý řádek\nCtrl+C = kopírovat celý řádek\nCtrl + V = vložit\nCtrl+D = duplikovat řádek\nCtrl+Z = krok zpět\nCtrl+Y = krok vpřed" +msgstr "Klávesové zkratky:\n---------------------\nEsc = otevřít nabídku\nCtrl+S = uložit\nCtrl+T = otestovat úroveň\nCtrl+Z = krok zpět\nCtrl+Y = krok vpřed\nF6 = vykreslovat světlo\nF7 = zarovnávat k mřížce\nF8 = ukázat/skrýt mřížku\nCtrl++ nebo Ctrl+kolečko myši nahoru = přiblížit\nCtrl+- nebo Ctrl+kolečko myši dolů = oddálit\nCtrl+D = resetovat přiblížení\n\nSkriptovací klávesové zkratky:\n---------------------\nHome = jít na začátek řádky\nEnd = jít na konec řádky\nŠipka doleva = jít zpět v textu\nŠipka doprava = jít vpřed v textu\nBackspace = mazat před kurzorem\nDelete = mazat za kurzorem\nCtrl+X = vyjmout celou řádku\nCtrl+C = kopírovat celou řádku\nCtrl+V = vložit\nCtrl+D = duplikovat řádku\nCtrl+Z = krok zpět\nCtrl+Y = krok vpřed" #: src/supertux/menu/editor_menu.cpp:232 msgid "Deprecated tiles are still present in the level." @@ -4333,12 +4354,12 @@ msgstr "dolů" msgid "Region" msgstr "Oblast" -#: src/supertux/main.cpp:796 +#: src/supertux/main.cpp:801 #, c++-format msgid "New release: SuperTux v{}!" msgstr "Nová verze: SuperTux v{}!" -#: src/supertux/main.cpp:799 +#: src/supertux/main.cpp:804 #, c++-format msgid "" "A new release of SuperTux (v{}) is available!\n" @@ -4347,7 +4368,7 @@ msgid "" "Do you want to visit the website now?" msgstr "Nová verze SuperTuxe (v{}) je dostupná!\nPro více informací můžeš navštívit web SuperTuxe.\n\nChceš web navštívit nyní?" -#: src/supertux/main.cpp:810 +#: src/supertux/main.cpp:815 msgid "Checking for new releases..." msgstr "Hledám nové verze..." @@ -4461,6 +4482,11 @@ msgstr "Tam a zpět" msgid "Circular" msgstr "Dokola" +#: src/editor/layers_widget.cpp:331 +#, c++-format +msgid "Sector: {}" +msgstr "Sektor: {}" + #: src/editor/object_option.cpp:92 msgid "true" msgstr "ano" @@ -4627,18 +4653,18 @@ msgstr "Tato konfigurace částic obsahuje neuložené změny,\nchceš je uloži msgid "Save as" msgstr "Uložit jako" -#: src/editor/editor.cpp:552 +#: src/editor/editor.cpp:577 msgid "" "This level contains deprecated tiles.\n" "It is strongly recommended to replace all deprecated tiles\n" "to avoid loss of compatibility in future versions." msgstr "Tato úroveň obsahuje deprekované dlaždice.\nDoporučujeme je všechny nahradit, abys\nv budoucnosti předešel ztrátě kompatibility." -#: src/editor/editor.cpp:554 +#: src/editor/editor.cpp:579 msgid "Tip: Turn on \"Show Deprecated Tiles\" from the level editor menu." msgstr "Tip: Zapni možnost \"Zobrazit deprekované dlaždice\" z nabídky editoru." -#: src/editor/editor.cpp:601 +#: src/editor/editor.cpp:626 msgid "" "Don't forget that your levels and assets\n" "aren't saved between sessions!\n" @@ -4646,15 +4672,15 @@ msgid "" "from the \"Manage Assets\" menu." msgstr "Nezapomeň, že Tvoje úrovně a zdrojové soubory\nse automaticky mezi sezeními neuloží!\nPokud chceš uložit své úrovně, stáhni si je\nz nabídky \"Správa datových souborů\"." -#: src/editor/editor.cpp:636 +#: src/editor/editor.cpp:661 msgid "This level contains unsaved changes, do you want to save?" msgstr "Tato úroveň obsahuje neuložené změny, chceš je uložit?" -#: src/editor/editor.cpp:637 +#: src/editor/editor.cpp:662 msgid "This level may contain unsaved changes, do you want to save?" msgstr "V této úrovni jsou neuložené změny, chceš je uložit?" -#: src/editor/editor.cpp:772 +#: src/editor/editor.cpp:797 msgid "" "Some obsolete add-ons are still active\n" "and might cause collisions with default Super Tux structure.\n" @@ -4662,26 +4688,26 @@ msgid "" "Disabling these add-ons will not delete your game progress." msgstr "Některé doplňky jsou stále aktivní\na mohou se křížit se strukturou SuperTuxe.\nI po té si je můžeš znovu aktivovat v nabídce.\nJejich deaktivace ti nesmaže uloženou hru." -#: src/editor/editor.cpp:775 +#: src/editor/editor.cpp:800 msgid "Disable add-ons" msgstr "Deaktivovat doplňky" -#: src/editor/editor.cpp:780 +#: src/editor/editor.cpp:805 msgid "Ignore (not advised)" msgstr "Ignorovat (nedoporučujeme)" -#: src/editor/editor.cpp:784 +#: src/editor/editor.cpp:809 msgid "Leave editor" msgstr "Opustit editor" -#: src/editor/editor.cpp:985 +#: src/editor/editor.cpp:1023 msgid "" "Couldn't find a \"main\" sector.\n" "Please change the name of the sector where\n" "you'd like the player to start to \"main\"" msgstr "Nelze nalézt sektor \"main\".\nProsím, změň jméno sektoru,\nkde se má začít, na \"main\"" -#: src/editor/editor.cpp:989 +#: src/editor/editor.cpp:1027 msgid "" "Couldn't find a \"main\" spawnpoint.\n" " Please change the name of the spawnpoint where\n" @@ -4693,49 +4719,40 @@ msgid "Patch Notes" msgstr "Poznámky k verzi" #: src/editor/object_menu.cpp:84 -msgid "This will update the object to its latest functionality." -msgstr "Tímto aktualizuješ objekt na nejnovější funkcionalitu." - -#: src/editor/object_menu.cpp:85 -msgid "Check the \"Patch Notes\" for more information." -msgstr "Přečti si \"Poznámky k verzi\" pro více informací." - -#: src/editor/object_menu.cpp:86 msgid "" -"Keep in mind this is very likely to break the proper behaviour of the " -"object." -msgstr "Pamatuj - je velmi nepravděpodobné, že tímto rozbiješ předchozí funkcionalitu objektu." - -#: src/editor/object_menu.cpp:87 -msgid "Make sure to re-check any behaviour, related to the object." -msgstr "Raději ale všechnu funkcionalitu tohoto objektu zkontroluj." +"This will update the object to its latest functionality.\n" +"Check the \"Patch Notes\" for more information.\n" +"\n" +"Keep in mind this is very likely to break the proper behaviour of the object.\n" +"Make sure to re-check any behaviour, related to the object." +msgstr "Tato akce aktualizuje objekt pro nenovější funkcionalitu.\nPodívej se na \"Poznámky k verzi\" pro více informací.\n\nPamatuj, že tato akce pravděpodobně rozbije správné chování objektu.\nPo aktualizaci se ujisti, že vše funguje tak, jak má." -#: src/editor/object_menu.cpp:101 +#: src/editor/object_menu.cpp:98 #, c++-format msgid "Patch notes for v{}:" msgstr "Poznámky k verzi v{}:" -#: src/editor/overlay_widget.cpp:1063 +#: src/editor/overlay_widget.cpp:1062 msgid "Cannot select deprecated tiles" msgstr "Nelze vybrat deprekované dlaždice" -#: src/editor/overlay_widget.cpp:1555 +#: src/editor/overlay_widget.cpp:1567 msgid "Autotile mode is on" msgstr "Automaticé vyhlazování je zapnuté" -#: src/editor/overlay_widget.cpp:1559 +#: src/editor/overlay_widget.cpp:1571 msgid "Hold Ctrl to enable autotile" msgstr "Podrž Ctrl pro použití automatického vyhlazování" -#: src/editor/overlay_widget.cpp:1566 +#: src/editor/overlay_widget.cpp:1578 msgid "Autotile erasing mode is on" msgstr "Automatické vyhlazování při mazání je zapnuté" -#: src/editor/overlay_widget.cpp:1570 +#: src/editor/overlay_widget.cpp:1582 msgid "Selected tile isn't autotileable" msgstr "Vybranou dlaždici nelze automaticky vyhlazovat" -#: src/editor/overlay_widget.cpp:1575 +#: src/editor/overlay_widget.cpp:1587 msgid "Hold Ctrl to enable autotile erasing" msgstr "Podrž Ctrl pro použití automatického vyhlazování při mazání" @@ -4744,8 +4761,8 @@ msgid "Current SuperTux Team" msgstr "Aktuální vývojový tým SuperTuxe" #: data//credits.stxt:30 -msgid "Programming, project lead ad interim" -msgstr "Programování, vůdce týmu" +msgid "Maintainer, Programming" +msgstr "Údržba, programování" #: data//credits.stxt:35 msgid "Graphics, Level Design, Story" @@ -4755,12 +4772,12 @@ msgstr "Grafika, design úrovní, příběh" msgid "Level Design, Story, Optimisation, Coordination" msgstr "Tvorba úrovní, příběh, optimalizace, koordinace" -#: data//credits.stxt:45 data//credits.stxt:125 data//credits.stxt:211 -#: data//credits.stxt:539 +#: data//credits.stxt:45 data//credits.stxt:120 data//credits.stxt:206 +#: data//credits.stxt:538 msgid "Graphics" msgstr "Grafika" -#: data//credits.stxt:50 data//credits.stxt:107 data//credits.stxt:113 +#: data//credits.stxt:50 data//credits.stxt:102 data//credits.stxt:108 msgid "Graphics, Programming, Level Design" msgstr "Grafika, programování, tvorba úrovní" @@ -4780,248 +4797,248 @@ msgstr "Programování, obnova úrovní" msgid "Graphics, Programming" msgstr "Grafika, programování" -#: data//credits.stxt:75 data//credits.stxt:90 data//credits.stxt:155 -#: data//credits.stxt:160 data//credits.stxt:165 data//credits.stxt:170 -#: data//credits.stxt:185 data//credits.stxt:190 data//credits.stxt:535 -#: data//credits.stxt:547 +#: data//credits.stxt:75 data//credits.stxt:85 data//credits.stxt:150 +#: data//credits.stxt:155 data//credits.stxt:160 data//credits.stxt:165 +#: data//credits.stxt:180 data//credits.stxt:185 data//credits.stxt:534 +#: data//credits.stxt:546 msgid "Programming" msgstr "Programování" -#: data//credits.stxt:80 data//credits.stxt:85 data//credits.stxt:271 +#: data//credits.stxt:80 data//credits.stxt:266 msgid "Level Design" msgstr "Tvorba úrovní" -#: data//credits.stxt:96 +#: data//credits.stxt:91 msgid "Original Developers" msgstr "Původní vývojáři" -#: data//credits.stxt:101 +#: data//credits.stxt:96 msgid "Original Developer" msgstr "Původní vývojář" -#: data//credits.stxt:119 +#: data//credits.stxt:114 msgid "Music, Level Design" msgstr "Hudba, tvorba úrovní" -#: data//credits.stxt:131 +#: data//credits.stxt:126 msgid "Programming, Graphics, Level Design" msgstr "Programování, grafika, tvorba úrovní" -#: data//credits.stxt:137 +#: data//credits.stxt:132 msgid "Programming, Level Design" msgstr "Programování, tvorba úrovní" -#: data//credits.stxt:143 +#: data//credits.stxt:138 msgid "Graphics, Story" msgstr "Grafika, příběh" -#: data//credits.stxt:149 +#: data//credits.stxt:144 msgid "Programming, Documentation" msgstr "Programování, dokumentace" -#: data//credits.stxt:175 +#: data//credits.stxt:170 msgid "Coordination" msgstr "Koordinace" -#: data//credits.stxt:180 +#: data//credits.stxt:175 msgid "Programming, \"Flexlay\" Level editor" msgstr "Programování, editor úrovní \"Flexlay\"" -#: data//credits.stxt:195 +#: data//credits.stxt:190 msgid "Windows build fixes" msgstr "Oprava portu pro Windows" -#: data//credits.stxt:200 +#: data//credits.stxt:195 msgid "Packaging, Nightly builds" msgstr "Balíčkování, kompilace vývojových verzí" -#: data//credits.stxt:205 +#: data//credits.stxt:200 msgid "Translation Guru (and many details anyone else could have done)" msgstr "Překladový vzor (a detaily, které mohl udělat kdokoliv jiný)" -#: data//credits.stxt:451 +#: data//credits.stxt:450 msgid "Additional contributors" msgstr "Další přispěvatelé" -#: data//credits.stxt:456 +#: data//credits.stxt:455 msgid "Bug fixes" msgstr "Oprava chyb" -#: data//credits.stxt:460 +#: data//credits.stxt:459 msgid "Scripting functions, Level fixes" msgstr "Funkce skriptů, oprava chyb v úrovních" -#: data//credits.stxt:464 +#: data//credits.stxt:463 msgid "Code quality fixes" msgstr "Oprava kvality kódu" -#: data//credits.stxt:468 data//credits.stxt:472 data//credits.stxt:476 -#: data//credits.stxt:503 +#: data//credits.stxt:467 data//credits.stxt:471 data//credits.stxt:475 +#: data//credits.stxt:502 msgid "Various contributions" msgstr "Mnohé příspěvky" -#: data//credits.stxt:480 +#: data//credits.stxt:479 msgid "Build issue fix" msgstr "Oprava kompilačních chyb" -#: data//credits.stxt:484 data//credits.stxt:488 +#: data//credits.stxt:483 data//credits.stxt:487 msgid "Code contributions" msgstr "Příspěvky do kódu" -#: data//credits.stxt:491 +#: data//credits.stxt:490 msgid "Code contribution, AppData file" msgstr "Příspěvky do kódu, soubor AppData" -#: data//credits.stxt:495 +#: data//credits.stxt:494 msgid "Bug fix" msgstr "Oprava chyb" -#: data//credits.stxt:499 +#: data//credits.stxt:498 msgid "Menu reorganization" msgstr "Přeuspořádání nabídky" -#: data//credits.stxt:507 +#: data//credits.stxt:506 msgid "Fixing tile bugs" msgstr "Oprava chyb s dlaždicemi" -#: data//credits.stxt:511 +#: data//credits.stxt:510 msgid "Build error fix" msgstr "Oprava kompilačních chyb" -#: data//credits.stxt:515 +#: data//credits.stxt:514 msgid "Scripting function fix" msgstr "Oprava skriptovacích chyb" -#: data//credits.stxt:519 +#: data//credits.stxt:518 msgid "New features and notable updates" msgstr "Nové fíčury a důležité novinky" -#: data//credits.stxt:523 +#: data//credits.stxt:522 msgid "Support for \"glbinding\" as optional OpenGL binding" msgstr "Podpora pro \"glbinding\" jako volitelné rozšíření OpenGLu" -#: data//credits.stxt:527 +#: data//credits.stxt:526 msgid "New menu code" msgstr "Nový kód nabídky" -#: data//credits.stxt:531 +#: data//credits.stxt:530 msgid "Big Tux Walking Sprites improvements" msgstr "Velká zlepšení textur chodícího Tuxe" -#: data//credits.stxt:543 data//credits.stxt:551 +#: data//credits.stxt:542 data//credits.stxt:550 msgid "Contrib Programming" msgstr "Příspěvky do kódu" -#: data//credits.stxt:555 +#: data//credits.stxt:554 msgid "Programming, Previous Maintainer" msgstr "Programování, předchozí údržbář" -#: data//credits.stxt:559 +#: data//credits.stxt:558 msgid "Various Contributions" msgstr "Mnohé příspěvky" -#: data//credits.stxt:563 data//credits.stxt:567 data//credits.stxt:571 -#: data//credits.stxt:575 data//credits.stxt:579 data//credits.stxt:583 -#: data//credits.stxt:587 data//credits.stxt:591 data//credits.stxt:595 -#: data//credits.stxt:599 data//credits.stxt:603 data//credits.stxt:607 -#: data//credits.stxt:611 data//credits.stxt:615 data//credits.stxt:619 -#: data//credits.stxt:623 data//credits.stxt:627 data//credits.stxt:631 -#: data//credits.stxt:635 data//credits.stxt:639 data//credits.stxt:643 -#: data//credits.stxt:647 data//credits.stxt:651 data//credits.stxt:655 -#: data//credits.stxt:659 data//credits.stxt:663 +#: data//credits.stxt:562 data//credits.stxt:566 data//credits.stxt:570 +#: data//credits.stxt:574 data//credits.stxt:578 data//credits.stxt:582 +#: data//credits.stxt:586 data//credits.stxt:590 data//credits.stxt:594 +#: data//credits.stxt:598 data//credits.stxt:602 data//credits.stxt:606 +#: data//credits.stxt:610 data//credits.stxt:614 data//credits.stxt:618 +#: data//credits.stxt:622 data//credits.stxt:626 data//credits.stxt:630 +#: data//credits.stxt:634 data//credits.stxt:638 data//credits.stxt:642 +#: data//credits.stxt:646 data//credits.stxt:650 data//credits.stxt:654 +#: data//credits.stxt:658 data//credits.stxt:662 msgid "Contributions" msgstr "Příspěvky" -#: data//credits.stxt:669 +#: data//credits.stxt:668 msgid "Localization" msgstr "Překlady" -#: data//credits.stxt:1232 +#: data//credits.stxt:1231 msgid " Special Thanks to" msgstr "Speciální poděkování si zaslouží" -#: data//credits.stxt:1237 +#: data//credits.stxt:1236 msgid "Creator of Tux, the Linux penguin" msgstr "Tvůrce Tuxe, tučňáka systému Linux" -#: data//credits.stxt:1241 +#: data//credits.stxt:1240 msgid "SDL, OpenAL and OpenGL" msgstr "SDL, OpenAL a OpenGL" -#: data//credits.stxt:1242 +#: data//credits.stxt:1241 msgid "" "For making such a great gaming experience\n" " possible on Linux" msgstr "Za tvorbu skvělého herního prostředí\nna Linuxu" -#: data//credits.stxt:1247 +#: data//credits.stxt:1246 msgid "and you, the player" msgstr "a samozřejmě tobě, hráči" -#: data//credits.stxt:1248 +#: data//credits.stxt:1247 msgid "for giving this game a chance and playing it" msgstr "že jsi této hře dal šanci a hrál ji" -#: data//credits.stxt:1259 +#: data//credits.stxt:1258 msgid "Visit our webpage at" msgstr "Navštiv náš web:" -#: data//credits.stxt:1268 +#: data//credits.stxt:1267 msgid "Or visit us directly at IRC:" msgstr "...nebo si s námi promluv na IRC:" -#: data//credits.stxt:1272 +#: data//credits.stxt:1271 msgid "#supertux at web.libera.chat" msgstr "#supertux na web.libera.chat" -#: data//credits.stxt:1277 +#: data//credits.stxt:1276 msgid "Or at our Forum:" msgstr "...nebo na našem fóru:" -#: data//credits.stxt:1286 +#: data//credits.stxt:1285 msgid "Comments, ideas and suggestions" msgstr "Komentáře, nápady a připomínky" -#: data//credits.stxt:1290 +#: data//credits.stxt:1289 msgid "go to our mailing list" msgstr "směřuj na náš e-mail:" #. l10n: typo contact -#: data//credits.stxt:1300 +#: data//credits.stxt:1299 msgid "Typographical errors can be" msgstr "Překlepy můžeš" #. l10n: typo contact -#: data//credits.stxt:1305 +#: data//credits.stxt:1304 msgid "reported to" msgstr "oznamovat na" #. l10n: typo contact, see -#: data//credits.stxt:1310 +#: data//credits.stxt:1309 msgid "supertux-devel@lists.lethargik.org" msgstr "supertux-devel@lists.lethargik.org" -#: data//credits.stxt:1317 +#: data//credits.stxt:1316 msgid "Want to help…" msgstr "Chceš pomoci..." -#: data//credits.stxt:1322 +#: data//credits.stxt:1321 msgid "…with localization?" msgstr "...s překlady?" -#: data//credits.stxt:1332 +#: data//credits.stxt:1331 msgid "…with something else?" msgstr "...s něčím jiným?" -#: data//credits.stxt:1343 +#: data//credits.stxt:1342 msgid "Thank you for" msgstr "Děkujeme Ti za" -#: data//credits.stxt:1347 +#: data//credits.stxt:1346 msgid "playing" msgstr "hraní hry" -#: data//credits.stxt:1357 +#: data//credits.stxt:1356 msgid "Penny awaits you in warmer temperatures!" msgstr "Penny tě čeká ve větším teple!" @@ -5029,15 +5046,15 @@ msgstr "Penny tě čeká ve větším teple!" msgid "Enemies" msgstr "Zlejšci" -#: data//images/engine/editor/objects.stoi:159 +#: data//images/engine/editor/objects.stoi:162 msgid "Bosses" msgstr "Šéfové" -#: data//images/engine/editor/objects.stoi:170 +#: data//images/engine/editor/objects.stoi:173 msgid "Projectiles" msgstr "Střely" -#: data//images/engine/editor/objects.stoi:181 +#: data//images/engine/editor/objects.stoi:184 msgid "Environment" msgstr "Prostředí" @@ -5140,3 +5157,19 @@ msgstr "Hradní cesty" #: data//images/worldmap.strf:135 msgid "Darker Forest" msgstr "Temný les" + +#: data//images/converters/data.stcd:3 +msgid "Nightly Tiles" +msgstr "Dlaždice z vývojových verzí" + +#: data//images/converters/data.stcd:5 +msgid "For levels, created in previous Nightly builds." +msgstr "Pro úrovně vytvořené v předchozích vývojových verzích." + +#: data//images/converters/data.stcd:8 +msgid "Pre-0.6.3 Crystal Tiles" +msgstr "Křišťálové dlaždice z verzí před 0.6.3" + +#: data//images/converters/data.stcd:10 +msgid "For levels, created in pre-0.6.3 versions, which use crystal tiles." +msgstr "Pro úrovně vytvořené před verzí 0.6.3, které používají křišťálové dlaždice." diff --git a/data/locale/da.po b/data/locale/da.po index a27546a6ee1..ea082a20e05 100644 --- a/data/locale/da.po +++ b/data/locale/da.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: SuperTux\n" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" -"POT-Creation-Date: 2024-03-03 03:26+0100\n" +"POT-Creation-Date: 2024-05-30 16:19+0200\n" "PO-Revision-Date: 2013-08-10 22:56+0000\n" "Last-Translator: Lars Lyngby , 2022,2024\n" "Language-Team: Danish (http://app.transifex.com/arctic-games/supertux/language/da/)\n" @@ -25,7 +25,7 @@ msgid "You found a secret area!" msgstr "Du har fundet et hemmeligt område" #: src/trigger/secretarea_trigger.cpp:55 src/supertux/game_object.cpp:115 -#: src/supertux/menu/editor_sector_menu.cpp:34 +#: src/supertux/menu/editor_sector_menu.cpp:36 #: src/supertux/menu/editor_levelset_menu.cpp:52 #: src/supertux/menu/editor_new_levelset_menu.cpp:34 #: src/supertux/menu/profile_name_menu.cpp:39 @@ -44,7 +44,7 @@ msgid "Message" msgstr "Besked" #: src/trigger/secretarea_trigger.cpp:58 src/trigger/scripttrigger.cpp:51 -#: src/trigger/door.cpp:72 src/object/ispy.cpp:53 +#: src/trigger/door.cpp:79 src/object/ispy.cpp:53 #: src/object/bonus_block.cpp:264 src/object/bonus_block.cpp:268 #: src/object/pushbutton.cpp:62 src/object/powerup.cpp:301 #: src/worldmap/special_tile.cpp:76 @@ -75,7 +75,7 @@ msgstr "Tid for ændring af tekst" msgid "Fade time" msgstr "Fadetid" -#: src/trigger/text_area.cpp:144 src/object/textscroller.cpp:351 +#: src/trigger/text_area.cpp:144 src/object/textscroller.cpp:353 msgid "Anchor" msgstr "Anker" @@ -91,29 +91,27 @@ msgstr "Ankerforskydning Y" msgid "Texts" msgstr "Tekster" -#: src/trigger/door.cpp:73 src/badguy/willowisp.cpp:310 -#: src/supertux/menu/editor_sector_menu.cpp:32 src/worldmap/teleporter.cpp:47 -#: src/editor/layers_widget.cpp:329 -#: data//images/engine/editor/objects.stoi:339 +#: src/trigger/door.cpp:80 src/badguy/willowisp.cpp:311 +#: src/worldmap/teleporter.cpp:47 data//images/engine/editor/objects.stoi:342 msgid "Sector" msgstr "Sektor" -#: src/trigger/door.cpp:74 src/worldmap/spawn_point.hpp:58 +#: src/trigger/door.cpp:81 src/worldmap/spawn_point.hpp:58 msgid "Spawn point" msgstr "Opstartspunkt" -#: src/trigger/door.cpp:75 +#: src/trigger/door.cpp:82 msgid "Locked?" msgstr "Låst?" -#: src/trigger/door.cpp:76 +#: src/trigger/door.cpp:83 msgid "Lock Color" msgstr "Låsningsfarve" #: src/trigger/switch.cpp:62 src/object/ispy.cpp:54 src/object/bumper.cpp:53 #: src/object/spotlight.cpp:106 src/object/pushbutton.cpp:61 #: src/object/gradient.cpp:103 src/object/conveyor_belt.cpp:60 -#: src/badguy/badguy.cpp:1061 src/worldmap/spawn_point.cpp:79 +#: src/badguy/badguy.cpp:1063 src/worldmap/spawn_point.cpp:79 #: src/worldmap/special_tile.cpp:78 msgid "Direction" msgstr "Retning" @@ -201,8 +199,8 @@ msgstr "Øverst" msgid "Top Right" msgstr "Øverst højre" -#: src/math/anchor_point.cpp:36 src/object/textscroller.cpp:352 -#: src/object/textscroller.cpp:356 src/supertux/menu/keyboard_menu.cpp:36 +#: src/math/anchor_point.cpp:36 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:38 #: src/supertux/menu/joystick_menu.cpp:73 msgid "Left" msgstr "Venstre" @@ -211,8 +209,8 @@ msgstr "Venstre" msgid "Middle" msgstr "Midten" -#: src/math/anchor_point.cpp:38 src/object/textscroller.cpp:352 -#: src/object/textscroller.cpp:356 src/supertux/menu/keyboard_menu.cpp:37 +#: src/math/anchor_point.cpp:38 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:39 #: src/supertux/menu/joystick_menu.cpp:74 msgid "Right" msgstr "Højre" @@ -229,7 +227,7 @@ msgstr "Nederst" msgid "Bottom Right" msgstr "Nederst højre" -#: src/object/thunderstorm.hpp:43 +#: src/object/thunderstorm.hpp:44 msgid "Thunderstorm" msgstr "Tordenvejr" @@ -249,23 +247,16 @@ msgstr "Partikelzone" #: src/object/path_gameobject.hpp:45 src/object/coin.cpp:324 #: src/object/camera.cpp:168 src/object/platform.cpp:76 #: src/object/path_gameobject.cpp:175 src/object/tilemap.cpp:284 -#: src/gui/menu_paths.cpp:54 src/badguy/willowisp.cpp:316 +#: src/badguy/willowisp.cpp:317 msgid "Path" msgstr "Sti" -#: src/object/decal.cpp:48 src/object/scripted_object.cpp:68 -#: src/object/particlesystem.cpp:65 src/object/background.cpp:184 -#: src/object/thunderstorm.cpp:72 src/object/tilemap.cpp:277 -#: src/object/gradient.cpp:101 -msgid "Z-pos" -msgstr "Z-pos." - -#: src/object/decal.cpp:49 src/object/scripted_object.cpp:71 +#: src/object/decal.cpp:48 src/object/scripted_object.cpp:70 #: src/object/tilemap.cpp:266 msgid "Solid" msgstr "Fast" -#: src/object/decal.cpp:50 src/supertux/menu/keyboard_menu.cpp:39 +#: src/object/decal.cpp:49 src/supertux/menu/keyboard_menu.cpp:41 #: src/supertux/menu/joystick_menu.cpp:76 msgid "Action" msgstr "Handling" @@ -284,7 +275,7 @@ msgstr "Feltkort" #: src/object/sound_object.cpp:69 src/object/ambient_sound.cpp:85 #: src/object/sound_object.hpp:42 src/supertux/menu/options_menu.cpp:128 -#: data//credits.stxt:372 +#: data//credits.stxt:367 msgid "Sound" msgstr "Lyd" @@ -317,7 +308,7 @@ msgstr "Cirkulær platform" #: src/object/invisible_block.cpp:37 src/object/background.cpp:200 #: src/object/tilemap.cpp:279 src/object/gradient.cpp:109 #: src/badguy/viciousivy.cpp:44 src/badguy/snail.cpp:69 -#: src/badguy/smartball.cpp:34 src/badguy/bouncing_snowball.cpp:69 +#: src/badguy/smartball.cpp:34 src/badguy/bouncing_snowball.cpp:81 #: src/badguy/kamikazesnowball.cpp:117 src/badguy/walkingleaf.cpp:35 #: src/badguy/mrbomb.cpp:47 src/badguy/igel.cpp:188 src/badguy/snowball.cpp:40 #: src/badguy/mrtree.cpp:50 src/badguy/mriceblock.cpp:62 @@ -358,12 +349,12 @@ msgstr "Vinkel" #: src/object/spotlight.cpp:104 src/object/magicblock.cpp:95 #: src/object/candle.cpp:75 src/object/torch.cpp:96 src/object/rublight.cpp:55 #: src/object/lantern.cpp:62 src/object/ambient_light.cpp:122 -#: src/object/key.cpp:192 src/badguy/willowisp.cpp:318 +#: src/object/key.cpp:192 src/badguy/willowisp.cpp:319 #: src/badguy/walking_candle.cpp:91 msgid "Color" msgstr "Farve" -#: src/object/spotlight.cpp:105 src/object/textscroller.cpp:348 +#: src/object/spotlight.cpp:105 src/object/textscroller.cpp:350 #: src/object/rain_particle_system.cpp:102 src/object/conveyor_belt.cpp:61 #: src/object/circleplatform.cpp:58 src/badguy/flame.cpp:110 #: src/editor/node_marker.cpp:125 @@ -387,20 +378,20 @@ msgstr "Stoppet" msgid "Layer" msgstr "Lag" -#: src/object/scripted_object.cpp:72 +#: src/object/scripted_object.cpp:71 msgid "Physics enabled" msgstr "Fysik aktiveret" -#: src/object/scripted_object.cpp:73 +#: src/object/scripted_object.cpp:72 msgid "Visible" msgstr "Synlig" -#: src/object/scripted_object.cpp:74 src/badguy/willowisp.cpp:312 +#: src/object/scripted_object.cpp:73 src/badguy/willowisp.cpp:313 msgid "Hit script" msgstr "Ram-skript" #: src/object/custom_particle_system_file.cpp:53 -#: src/object/textscroller.cpp:346 src/object/music_object.cpp:109 +#: src/object/textscroller.cpp:348 src/object/music_object.cpp:109 #: src/supertux/menu/particle_editor_open.cpp:38 msgid "File" msgstr "Fil" @@ -524,18 +515,18 @@ msgstr "Stitilstand" #: src/object/coin.cpp:330 src/object/camera.cpp:172 #: src/object/platform.cpp:78 src/object/tilemap.cpp:291 -#: src/badguy/willowisp.cpp:321 +#: src/badguy/willowisp.cpp:322 msgid "Adapt Speed" msgstr "Tilpas hastighed" #: src/object/coin.cpp:331 src/object/platform.cpp:81 -#: src/object/tilemap.cpp:285 src/badguy/willowisp.cpp:317 +#: src/object/tilemap.cpp:285 src/badguy/willowisp.cpp:318 msgid "Starting Node" msgstr "Startknude" #: src/object/coin.cpp:332 src/object/camera.cpp:173 #: src/object/platform.cpp:82 src/object/tilemap.cpp:293 -#: src/badguy/willowisp.cpp:322 +#: src/badguy/willowisp.cpp:323 msgid "Handle" msgstr "Håndtag" @@ -563,23 +554,23 @@ msgstr "manual" msgid "autoscroll" msgstr "automatisk rulning" -#: src/object/textscroller.cpp:347 +#: src/object/textscroller.cpp:349 msgid "Finish Script" msgstr "Afslut script" -#: src/object/textscroller.cpp:349 +#: src/object/textscroller.cpp:351 msgid "X-offset" msgstr "X-offset" -#: src/object/textscroller.cpp:350 +#: src/object/textscroller.cpp:352 msgid "Controllable" msgstr "Kontrollerbar" -#: src/object/textscroller.cpp:352 src/object/textscroller.cpp:356 +#: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 msgid "Center" msgstr "Center" -#: src/object/textscroller.cpp:355 +#: src/object/textscroller.cpp:357 msgid "Text Alignment" msgstr "Tekstjustering" @@ -587,7 +578,7 @@ msgstr "Tekstjustering" msgid "Lit object" msgstr "Tændt objekt" -#: src/object/spawnpoint.hpp:48 src/badguy/willowisp.cpp:311 +#: src/object/spawnpoint.hpp:48 src/badguy/willowisp.cpp:312 #: src/worldmap/teleporter.cpp:48 msgid "Spawnpoint" msgstr "Startpunkt" @@ -600,6 +591,12 @@ msgstr "Tæller" msgid "Candle" msgstr "Lys" +#: src/object/particlesystem.cpp:65 src/object/background.cpp:184 +#: src/object/thunderstorm.cpp:76 src/object/tilemap.cpp:277 +#: src/object/gradient.cpp:101 src/object/moving_sprite.cpp:193 +msgid "Z-pos" +msgstr "Z-pos." + #: src/object/invisible_block.hpp:30 msgid "Invisible Block" msgstr "Usynlig blok" @@ -709,7 +706,7 @@ msgid "Platform" msgstr "Platform" #: src/object/music_object.hpp:42 src/supertux/menu/options_menu.cpp:130 -#: data//credits.stxt:314 +#: data//credits.stxt:309 msgid "Music" msgstr "Musik" @@ -962,7 +959,7 @@ msgstr "Fancy partikler" msgid "Bicycle Platform" msgstr "Cykelplatform" -#: src/object/platform.cpp:80 src/object/thunderstorm.cpp:73 +#: src/object/platform.cpp:80 src/object/thunderstorm.cpp:77 #: src/object/tilemap.cpp:292 src/object/conveyor_belt.cpp:62 msgid "Running" msgstr "Løbende" @@ -975,11 +972,11 @@ msgstr "Lille" msgid "Large" msgstr "Stor" -#: src/object/rock.cpp:238 +#: src/object/rock.cpp:234 msgid "On-grab script" msgstr "On grab-skript" -#: src/object/rock.cpp:239 +#: src/object/rock.cpp:235 msgid "On-ungrab script" msgstr "On-ungrab-skript" @@ -987,11 +984,11 @@ msgstr "On-ungrab-skript" msgid "Interactive particle system" msgstr "Interaktivt partikelsystem" -#: src/object/thunderstorm.cpp:74 +#: src/object/thunderstorm.cpp:78 msgid "Interval" msgstr "Interval" -#: src/object/thunderstorm.cpp:75 +#: src/object/thunderstorm.cpp:79 msgid "Strike Script" msgstr "Angrebsskript" @@ -1028,7 +1025,7 @@ msgstr "Fødselstilstand" #: src/object/custom_particle_system.cpp:430 #: src/object/custom_particle_system.cpp:465 src/object/gradient.cpp:115 #: src/gui/menu_string_array.cpp:40 src/gui/menu_string_array.cpp:78 -#: src/supertux/menu/keyboard_menu.cpp:77 +#: src/supertux/menu/keyboard_menu.cpp:80 #: src/supertux/menu/joystick_menu.cpp:108 #: src/supertux/menu/joystick_menu.cpp:215 src/editor/object_settings.cpp:129 #: src/editor/particle_editor.cpp:162 src/editor/particle_editor.cpp:168 @@ -1403,12 +1400,12 @@ msgstr "Ændr forskydning x" msgid "Resize offset y" msgstr "Ændr forskydning y" -#: src/object/tilemap.cpp:270 src/supertux/menu/editor_sector_menu.cpp:39 +#: src/object/tilemap.cpp:270 src/supertux/menu/editor_sector_menu.cpp:41 #: src/editor/object_option.cpp:178 msgid "Width" msgstr "Bredde" -#: src/object/tilemap.cpp:271 src/supertux/menu/editor_sector_menu.cpp:40 +#: src/object/tilemap.cpp:271 src/supertux/menu/editor_sector_menu.cpp:42 #: src/editor/object_option.cpp:179 msgid "Height" msgstr "Højde" @@ -1430,7 +1427,7 @@ msgid "Tint" msgstr "Toning" #: src/object/tilemap.cpp:296 src/supertux/menu/editor_tilegroup_menu.cpp:26 -#: src/editor/toolbox_widget.cpp:99 +#: src/editor/toolbox_widget.cpp:98 msgid "Tiles" msgstr "Felter" @@ -1482,7 +1479,7 @@ msgstr "Kofanger" msgid "Length" msgstr "Længde" -#: src/object/moving_sprite.cpp:187 src/object/pneumatic_platform.cpp:161 +#: src/object/moving_sprite.cpp:192 src/object/pneumatic_platform.cpp:161 msgid "Sprite" msgstr "Computergrafik" @@ -1542,7 +1539,7 @@ msgstr "Klik for flere detaljer." msgid "Do not show again" msgstr "Vis ikke igen" -#: src/gui/notification.cpp:157 src/supertux/menu/download_dialog.cpp:123 +#: src/gui/notification.cpp:157 src/supertux/menu/download_dialog.cpp:124 msgid "Close" msgstr "Luk" @@ -1576,7 +1573,7 @@ msgstr "Slet" #: src/gui/menu_string_array.cpp:84 src/gui/menu_object_select.cpp:61 #: src/gui/menu_color.cpp:37 src/gui/dialog.hpp:87 src/gui/menu_script.cpp:46 -#: src/supertux/menu/editor_sector_menu.cpp:46 +#: src/supertux/menu/editor_sector_menu.cpp:48 #: src/supertux/menu/editor_levelset_menu.cpp:58 #: src/supertux/menu/editor_new_levelset_menu.cpp:37 #: src/supertux/menu/editor_level_menu.cpp:45 src/editor/object_menu.cpp:71 @@ -1601,17 +1598,17 @@ msgid "Mix the colour" msgstr "Bland farven" #: src/gui/dialog.hpp:96 src/supertux/menu/editor_level_select_menu.cpp:181 -#: src/editor/editor.cpp:638 +#: src/editor/editor.cpp:663 msgid "Yes" msgstr "Ja" #: src/gui/dialog.hpp:97 src/supertux/menu/editor_level_select_menu.cpp:185 -#: src/editor/particle_editor.cpp:781 src/editor/editor.cpp:645 +#: src/editor/particle_editor.cpp:781 src/editor/editor.cpp:670 msgid "No" msgstr "Nej" #: src/gui/menu_list.cpp:38 src/gui/menu_filesystem.cpp:120 -#: src/gui/menu_paths.cpp:46 src/supertux/menu/particle_editor_save_as.cpp:42 +#: src/gui/menu_paths.cpp:48 src/supertux/menu/particle_editor_save_as.cpp:42 #: src/supertux/menu/editor_sectors_menu.cpp:45 #: src/supertux/menu/editor_sectors_menu.cpp:94 #: src/supertux/menu/editor_sectors_menu.cpp:99 @@ -1620,7 +1617,7 @@ msgstr "Nej" #: src/supertux/menu/editor_level_select_menu.cpp:190 #: src/supertux/menu/editor_save_as.cpp:42 #: src/supertux/menu/particle_editor_open.cpp:43 -#: src/editor/particle_editor.cpp:785 src/editor/editor.cpp:649 +#: src/editor/particle_editor.cpp:785 src/editor/editor.cpp:674 msgid "Cancel" msgstr "Annuller" @@ -1632,22 +1629,34 @@ msgstr "Åbn folder" msgid "Edit script" msgstr "Rediger skript" -#: src/gui/menu_paths.cpp:30 +#: src/gui/menu_paths.cpp:32 msgid "Clone" msgstr "Klon" -#: src/gui/menu_paths.cpp:39 +#: src/gui/menu_paths.cpp:41 msgid "" "An error occurred and the game could\n" "not clone the path. Please contact\n" "the developers for support." msgstr "Der opstod en fejl, og spillet kunne\nikke klone stien. Kontakt venligst\nudviklerne for at få hjælp." -#: src/gui/menu_paths.cpp:42 +#: src/gui/menu_paths.cpp:44 msgid "Bind" msgstr "Binde" -#: src/gui/menu_paths.cpp:65 src/supertux/menu/integrations_menu.cpp:60 +#: src/gui/menu_paths.cpp:49 +msgid "" +"Do you wish to clone the path to edit it separately,\n" +"or do you want to bind both paths together\n" +"so that any edit on one edits the other?" +msgstr "Vil du klone stien, så du kan rette den,\neller vil du binde andre stier sammen\nså tilretninger på en sti også rettes i den anden?" + +#: src/gui/menu_paths.cpp:56 +#, c++-format +msgid "Path {}" +msgstr "Sti {}" + +#: src/gui/menu_paths.cpp:67 src/supertux/menu/integrations_menu.cpp:60 #: src/supertux/menu/editor_converters_menu.cpp:79 #: src/supertux/menu/video_system_menu.cpp:45 #: src/supertux/menu/contrib_menu.cpp:102 src/supertux/menu/debug_menu.cpp:77 @@ -1656,8 +1665,8 @@ msgstr "Binde" #: src/supertux/menu/editor_level_select_menu.cpp:98 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:42 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:63 -#: src/supertux/menu/worldmap_cheat_menu.cpp:56 -#: src/supertux/menu/worldmap_cheat_menu.cpp:195 +#: src/supertux/menu/worldmap_cheat_menu.cpp:57 +#: src/supertux/menu/worldmap_cheat_menu.cpp:196 #: src/supertux/menu/editor_levelset_select_menu.cpp:114 #: src/supertux/menu/options_menu.cpp:223 #: src/supertux/menu/editor_delete_levelset_menu.cpp:69 @@ -1671,8 +1680,8 @@ msgstr "Binde" #: src/supertux/menu/addon_browse_menu.cpp:162 #: src/supertux/menu/web_asset_menu.cpp:48 #: src/supertux/menu/profile_name_menu.cpp:45 -#: src/supertux/menu/keyboard_menu.cpp:68 -#: src/supertux/menu/sorted_contrib_menu.cpp:53 +#: src/supertux/menu/keyboard_menu.cpp:71 +#: src/supertux/menu/sorted_contrib_menu.cpp:51 #: src/supertux/menu/language_menu.cpp:63 #: src/supertux/menu/joystick_menu.cpp:99 #: src/supertux/menu/contrib_levelset_menu.cpp:67 @@ -1685,28 +1694,16 @@ msgstr "Binde" msgid "Back" msgstr "Tilbage" -#: src/addon/addon_manager.cpp:484 -msgid "Error deleting addon .zip file: \"PHYSFS_delete\" failed: " -msgstr "Fejl ved sletning af tilføjet .zip fil: \"PHYSFS_delete\" failed: " - -#: src/addon/addon_manager.cpp:490 -msgid "Error uninstalling add-on: Addon with id " -msgstr "Fejl ved afinstallation af tilføjelse: Tilføjelse med id" - -#: src/addon/addon_manager.cpp:490 -msgid " not found." -msgstr "ikke fundet." - -#: src/addon/addon_manager.cpp:559 +#: src/addon/addon_manager.cpp:562 msgid "Only one resource pack is allowed to be enabled at a time." msgstr "Kun én ressourcepakke kan være slået til af gangen." -#: src/addon/addon_manager.cpp:823 +#: src/addon/addon_manager.cpp:837 #, c++-format msgid "Add-on {} by {} is already installed." msgstr "Tilføjelse {} af {} er allerede installeret." -#: src/addon/addon_manager.cpp:843 +#: src/addon/addon_manager.cpp:857 #, c++-format msgid "Add-on {} by {} successfully installed." msgstr "Tilføjelse {} af {} installeret OK." @@ -1716,7 +1713,7 @@ msgid "Levelset" msgstr "Banesæt" #: src/addon/addon.cpp:74 src/supertux/menu/editor_levelset_menu.cpp:54 -#: data//images/engine/editor/objects.stoi:386 +#: data//images/engine/editor/objects.stoi:389 msgid "Worldmap" msgstr "Verdenskort" @@ -1765,6 +1762,10 @@ msgstr "Hr. træ" msgid "Plant" msgstr "Plante" +#: src/badguy/tarantula.hpp:39 src/badguy/tarantula.cpp:353 +msgid "Tarantula" +msgstr "Tarantel" + #: src/badguy/granito_giant.cpp:71 msgid "Awake" msgstr "Vågen" @@ -1803,23 +1804,27 @@ msgstr "Totem" msgid "Stalactite" msgstr "Stalaktit" -#: src/badguy/fish_chasing.cpp:195 +#: src/badguy/fish_chasing.cpp:198 msgid "Tracking Distance" msgstr "Sporingsafstand" -#: src/badguy/fish_chasing.cpp:196 +#: src/badguy/fish_chasing.cpp:199 msgid "Losing Distance" msgstr "Tabsafstand" -#: src/badguy/fish_chasing.cpp:197 +#: src/badguy/fish_chasing.cpp:200 msgid "Chase Speed" msgstr "Forfølgelseshastighed" +#: src/badguy/root_sapling.hpp:41 +msgid "Root Sapling" +msgstr "Rodplantning" + #: src/badguy/haywire.hpp:46 msgid "Haywire" msgstr "Skuddermudder" -#: src/badguy/dispenser.hpp:51 +#: src/badguy/dispenser.hpp:52 msgid "Dispenser" msgstr "Affaldskværn" @@ -1835,7 +1840,7 @@ msgstr "Zeekling" msgid "Pumpkin" msgstr "Græskar" -#: src/badguy/bouncing_snowball.cpp:70 +#: src/badguy/bouncing_snowball.cpp:82 msgid "Fatbat" msgstr "Fatbat" @@ -1852,7 +1857,7 @@ msgid "Mr. Iceblock" msgstr "Hr. Isblok" #: src/badguy/granito.hpp:39 src/badguy/darttrap.cpp:163 -#: src/badguy/corrupted_granito.cpp:175 src/badguy/dispenser.cpp:410 +#: src/badguy/corrupted_granito.cpp:175 src/badguy/dispenser.cpp:438 msgid "Granito" msgstr "Granit" @@ -1907,15 +1912,15 @@ msgstr "Kaptajn Snebold" msgid "Ghost Tree" msgstr "Spøgelsestræ" -#: src/badguy/willowisp.cpp:313 +#: src/badguy/willowisp.cpp:314 msgid "Track range" msgstr "Baneinterval" -#: src/badguy/willowisp.cpp:314 +#: src/badguy/willowisp.cpp:315 msgid "Vanish range" msgstr "Ude af syne-interval" -#: src/badguy/willowisp.cpp:315 +#: src/badguy/willowisp.cpp:316 msgid "Fly speed" msgstr "Flyvehastighed" @@ -1927,7 +1932,7 @@ msgstr "Lyskoncentration" msgid "Mole's rock" msgstr "Muldvarps sten" -#: src/badguy/badguy.cpp:1062 +#: src/badguy/badguy.cpp:1064 msgid "Death script" msgstr "Dødt skript" @@ -2015,31 +2020,31 @@ msgstr "Klassisk" msgid "Flying Snowball" msgstr "Flyvende snebold" -#: src/badguy/crusher.cpp:74 +#: src/badguy/crusher.cpp:75 msgid "Ice (normal)" msgstr "Is (normal)" -#: src/badguy/crusher.cpp:75 +#: src/badguy/crusher.cpp:76 msgid "Ice (big)" msgstr "Is (stor)" -#: src/badguy/crusher.cpp:76 +#: src/badguy/crusher.cpp:77 msgid "Rock (normal)" msgstr "Sten (normal)" -#: src/badguy/crusher.cpp:77 +#: src/badguy/crusher.cpp:78 msgid "Rock (big)" msgstr "Sten (stor)" -#: src/badguy/crusher.cpp:78 +#: src/badguy/crusher.cpp:79 msgid "Corrupted (normal)" msgstr "Beskadiget (normal)" -#: src/badguy/crusher.cpp:79 +#: src/badguy/crusher.cpp:80 msgid "Corrupted (big)" msgstr "Beskadiget (stor)" -#: src/badguy/crusher.cpp:475 +#: src/badguy/crusher.cpp:492 msgid "Sideways" msgstr "Sidelæns" @@ -2099,6 +2104,10 @@ msgstr "Spiky" msgid "Walking Leaf" msgstr "Vandrende blad" +#: src/badguy/root.hpp:39 +msgid "Root" +msgstr "Rod" + #: src/badguy/owl.cpp:241 msgid "Carry" msgstr "Bær mig" @@ -2143,10 +2152,14 @@ msgstr "Vandrende lys" msgid "Angry Stone" msgstr "Vred sten" -#: src/badguy/spidermite.hpp:38 +#: src/badguy/tarantula.cpp:354 msgid "Spidermite" msgstr "Edderkoppemide" +#: src/badguy/tarantula.cpp:374 +msgid "Static" +msgstr "Hvidstøj" + #: src/badguy/ghoul.hpp:30 msgid "Ghoul" msgstr "Ond ånd" @@ -2179,41 +2192,41 @@ msgstr "Fiskejagt" msgid "Stumpy" msgstr "Stumpy" -#: src/badguy/dispenser.cpp:384 +#: src/badguy/dispenser.cpp:412 msgid "Interval (seconds)" msgstr "Interval (sekunder)" -#: src/badguy/dispenser.cpp:385 +#: src/badguy/dispenser.cpp:413 msgid "Random" msgstr "Vilkårlig" -#: src/badguy/dispenser.cpp:388 +#: src/badguy/dispenser.cpp:416 #: src/supertux/menu/editor_objectgroup_menu.cpp:30 -#: src/editor/toolbox_widget.cpp:102 +#: src/editor/toolbox_widget.cpp:101 msgid "Objects" msgstr "Objekter" -#: src/badguy/dispenser.cpp:391 +#: src/badguy/dispenser.cpp:419 msgid "Limit dispensed badguys" msgstr "Begræns antallet af onde folk" -#: src/badguy/dispenser.cpp:393 +#: src/badguy/dispenser.cpp:421 msgid "Obey Gravity" msgstr "Adlyd tyngdekraften" -#: src/badguy/dispenser.cpp:395 +#: src/badguy/dispenser.cpp:423 msgid "Max concurrent badguys" msgstr "Maks samtidige onde folk" -#: src/badguy/dispenser.cpp:407 +#: src/badguy/dispenser.cpp:435 msgid "Dropper" msgstr "Dropper" -#: src/badguy/dispenser.cpp:408 +#: src/badguy/dispenser.cpp:436 msgid "Cannon" msgstr "Kanon" -#: src/badguy/dispenser.cpp:409 src/worldmap/special_tile.cpp:77 +#: src/badguy/dispenser.cpp:437 src/worldmap/special_tile.cpp:77 msgid "Invisible" msgstr "Usynlig" @@ -2225,7 +2238,7 @@ msgstr "Snegl" msgid "Mrs. Snowball" msgstr "Fru Snebold" -#: src/badguy/bouncing_snowball.hpp:38 +#: src/badguy/bouncing_snowball.hpp:39 msgid "Bouncing Snowball" msgstr "Hoppende snebold" @@ -2301,7 +2314,7 @@ msgstr "Hemmeligheder" msgid "Unknown object" msgstr "Ukendt objekt" -#: src/supertux/sector.cpp:481 +#: src/supertux/sector.cpp:507 msgid "Press escape to skip" msgstr "Tryk escape for at springe" @@ -2467,11 +2480,11 @@ msgstr " SUPERTUX2_USER_DIR Mappe for brugerdata (gemte spil etc.)" msgid " SUPERTUX2_DATA_DIR Directory for the games datafiles" msgstr " SUPERTUX2_DATA_DIR Mappe for spillenes datafiler" -#: src/supertux/title_screen.cpp:257 +#: src/supertux/title_screen.cpp:272 msgid "Copyright" msgstr "Ophavsret" -#: src/supertux/title_screen.cpp:258 +#: src/supertux/title_screen.cpp:273 msgid "" "This game comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to\n" "redistribute it under certain conditions; see the license file for details.\n" @@ -2821,6 +2834,7 @@ msgstr "Tilføj snydekode til spiller" #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:39 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:60 #: src/supertux/menu/multiplayer_players_menu.cpp:39 +#: src/supertux/menu/keyboard_menu.cpp:63 #: src/supertux/menu/cheat_apply_menu.cpp:39 #: src/supertux/menu/cheat_apply_menu.cpp:59 #: src/supertux/menu/multiplayer_player_menu.cpp:37 @@ -2834,76 +2848,76 @@ msgstr "Spiller {}" msgid "All Players" msgstr "Alle spillere" -#: src/supertux/menu/worldmap_cheat_menu.cpp:35 +#: src/supertux/menu/worldmap_cheat_menu.cpp:36 #: src/supertux/menu/cheat_menu.cpp:31 msgid "Cheats" msgstr "Snyd" -#: src/supertux/menu/worldmap_cheat_menu.cpp:37 +#: src/supertux/menu/worldmap_cheat_menu.cpp:38 #: src/supertux/menu/cheat_menu.cpp:33 msgid "Bonus: Grow" msgstr "Bonus: Voks" -#: src/supertux/menu/worldmap_cheat_menu.cpp:38 +#: src/supertux/menu/worldmap_cheat_menu.cpp:39 #: src/supertux/menu/cheat_menu.cpp:34 msgid "Bonus: Fire" msgstr "Bonus: Ild" -#: src/supertux/menu/worldmap_cheat_menu.cpp:39 +#: src/supertux/menu/worldmap_cheat_menu.cpp:40 #: src/supertux/menu/cheat_menu.cpp:35 msgid "Bonus: Ice" msgstr "Bonus: Is" -#: src/supertux/menu/worldmap_cheat_menu.cpp:40 +#: src/supertux/menu/worldmap_cheat_menu.cpp:41 #: src/supertux/menu/cheat_menu.cpp:36 msgid "Bonus: Air" msgstr "Bonus: Luft" -#: src/supertux/menu/worldmap_cheat_menu.cpp:41 +#: src/supertux/menu/worldmap_cheat_menu.cpp:42 #: src/supertux/menu/cheat_menu.cpp:37 msgid "Bonus: Earth" msgstr "Bonus: Jord" -#: src/supertux/menu/worldmap_cheat_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_menu.cpp:43 msgid "Bonus: None" msgstr "Bonus: Ingen" -#: src/supertux/menu/worldmap_cheat_menu.cpp:45 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 #: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:51 msgid "Leave Ghost Mode" msgstr "Forlag spøgelsestilstand" -#: src/supertux/menu/worldmap_cheat_menu.cpp:45 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 #: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:50 msgid "Activate Ghost Mode" msgstr "Aktiver spøgelsestilstand" -#: src/supertux/menu/worldmap_cheat_menu.cpp:47 +#: src/supertux/menu/worldmap_cheat_menu.cpp:48 #: src/supertux/menu/cheat_menu.cpp:41 msgid "Finish Level" msgstr "Afslut bane" -#: src/supertux/menu/worldmap_cheat_menu.cpp:48 +#: src/supertux/menu/worldmap_cheat_menu.cpp:49 msgid "Reset Level" msgstr "Nulstil bane" -#: src/supertux/menu/worldmap_cheat_menu.cpp:50 +#: src/supertux/menu/worldmap_cheat_menu.cpp:51 msgid "Finish Worldmap" msgstr "Afslut verdenskort" -#: src/supertux/menu/worldmap_cheat_menu.cpp:51 +#: src/supertux/menu/worldmap_cheat_menu.cpp:52 msgid "Reset Worldmap" msgstr "Nulstil verdenskort" -#: src/supertux/menu/worldmap_cheat_menu.cpp:53 +#: src/supertux/menu/worldmap_cheat_menu.cpp:54 msgid "Go to level" msgstr "Gå til bane" -#: src/supertux/menu/worldmap_cheat_menu.cpp:54 +#: src/supertux/menu/worldmap_cheat_menu.cpp:55 msgid "Go to main spawnpoint" msgstr "Gå til hovedstartpunkt" -#: src/supertux/menu/worldmap_cheat_menu.cpp:187 +#: src/supertux/menu/worldmap_cheat_menu.cpp:188 msgid "Select level" msgstr "Vælg bane" @@ -3034,7 +3048,7 @@ msgid "This feature is currently only used in the multiplayer options menu." msgstr "Denne funktion kan for nu kun anvendes i Flere spillere menumuligheden." #: src/supertux/menu/options_menu.cpp:154 -#: src/supertux/menu/keyboard_menu.cpp:32 +#: src/supertux/menu/keyboard_menu.cpp:34 msgid "Setup Keyboard" msgstr "Indstil tastatur" @@ -3428,23 +3442,28 @@ msgid "" "continue?" msgstr "Vil føre dig til SuperTux doneringssiden. Er du sikker på du vil fortsætte?" -#: src/supertux/menu/editor_sector_menu.cpp:35 +#: src/supertux/menu/editor_sector_menu.cpp:34 +#, c++-format +msgid "Sector {}" +msgstr "Sektor {}" + +#: src/supertux/menu/editor_sector_menu.cpp:37 msgid "Initialization script" msgstr "Opstartsskript" -#: src/supertux/menu/editor_sector_menu.cpp:36 +#: src/supertux/menu/editor_sector_menu.cpp:38 msgid "Gravity" msgstr "Tyngdekraft" -#: src/supertux/menu/editor_sector_menu.cpp:41 +#: src/supertux/menu/editor_sector_menu.cpp:43 msgid "Resize offset X" msgstr "Ændr forskydning X" -#: src/supertux/menu/editor_sector_menu.cpp:42 +#: src/supertux/menu/editor_sector_menu.cpp:44 msgid "Resize offset Y" msgstr "Ændr forskydning Y" -#: src/supertux/menu/editor_sector_menu.cpp:43 +#: src/supertux/menu/editor_sector_menu.cpp:45 msgid "Resize" msgstr "Ændr str." @@ -3732,122 +3751,118 @@ msgstr "Profilnavne skal mindst have 20 tegn.\nVælg venligst et andet navn." msgid "An error occurred while creating the profile." msgstr "Der opstod en fejl ved oprettelsen af profilen." -#: src/supertux/menu/keyboard_menu.cpp:34 +#: src/supertux/menu/keyboard_menu.cpp:36 #: src/supertux/menu/joystick_menu.cpp:71 msgid "Up" msgstr "Op" -#: src/supertux/menu/keyboard_menu.cpp:35 +#: src/supertux/menu/keyboard_menu.cpp:37 #: src/supertux/menu/joystick_menu.cpp:72 msgid "Down" msgstr "Ned" -#: src/supertux/menu/keyboard_menu.cpp:38 +#: src/supertux/menu/keyboard_menu.cpp:40 #: src/supertux/menu/joystick_menu.cpp:75 msgid "Jump" msgstr "Hop" -#: src/supertux/menu/keyboard_menu.cpp:41 +#: src/supertux/menu/keyboard_menu.cpp:43 #: src/supertux/menu/joystick_menu.cpp:78 msgid "Peek Left" msgstr "Kig højre" -#: src/supertux/menu/keyboard_menu.cpp:42 +#: src/supertux/menu/keyboard_menu.cpp:44 #: src/supertux/menu/joystick_menu.cpp:79 msgid "Peek Right" msgstr "Kig venstre" -#: src/supertux/menu/keyboard_menu.cpp:43 +#: src/supertux/menu/keyboard_menu.cpp:45 #: src/supertux/menu/joystick_menu.cpp:80 msgid "Peek Up" msgstr "Kig op" -#: src/supertux/menu/keyboard_menu.cpp:44 +#: src/supertux/menu/keyboard_menu.cpp:46 #: src/supertux/menu/joystick_menu.cpp:81 msgid "Peek Down" msgstr "Kig ned" -#: src/supertux/menu/keyboard_menu.cpp:49 +#: src/supertux/menu/keyboard_menu.cpp:51 #: src/supertux/menu/joystick_menu.cpp:83 msgid "Console" msgstr "Konsol" -#: src/supertux/menu/keyboard_menu.cpp:50 +#: src/supertux/menu/keyboard_menu.cpp:52 #: src/supertux/menu/joystick_menu.cpp:84 msgid "Cheat Menu" msgstr "Snydemenu" -#: src/supertux/menu/keyboard_menu.cpp:51 +#: src/supertux/menu/keyboard_menu.cpp:53 #: src/supertux/menu/joystick_menu.cpp:85 msgid "Debug Menu" msgstr "Fejlsøgningsmenu" -#: src/supertux/menu/keyboard_menu.cpp:54 +#: src/supertux/menu/keyboard_menu.cpp:56 #: src/supertux/menu/joystick_menu.cpp:87 msgid "Jump with Up" msgstr "Hop med op-tasten" -#: src/supertux/menu/keyboard_menu.cpp:61 -msgid "Player" -msgstr "Spiller" - -#: src/supertux/menu/keyboard_menu.cpp:79 +#: src/supertux/menu/keyboard_menu.cpp:82 msgid "Up cursor" msgstr "Pil op" -#: src/supertux/menu/keyboard_menu.cpp:81 +#: src/supertux/menu/keyboard_menu.cpp:84 msgid "Down cursor" msgstr "Pil ned" -#: src/supertux/menu/keyboard_menu.cpp:83 +#: src/supertux/menu/keyboard_menu.cpp:86 msgid "Left cursor" msgstr "Pil til venstre" -#: src/supertux/menu/keyboard_menu.cpp:85 +#: src/supertux/menu/keyboard_menu.cpp:88 msgid "Right cursor" msgstr "Pil til højre" -#: src/supertux/menu/keyboard_menu.cpp:87 +#: src/supertux/menu/keyboard_menu.cpp:90 msgid "Return" msgstr "Retur" -#: src/supertux/menu/keyboard_menu.cpp:89 +#: src/supertux/menu/keyboard_menu.cpp:92 msgid "Space" msgstr "Mellemrum" -#: src/supertux/menu/keyboard_menu.cpp:91 +#: src/supertux/menu/keyboard_menu.cpp:94 msgid "Right Shift" msgstr "Højre skift" -#: src/supertux/menu/keyboard_menu.cpp:93 +#: src/supertux/menu/keyboard_menu.cpp:96 msgid "Left Shift" msgstr "Venstre skift" -#: src/supertux/menu/keyboard_menu.cpp:95 +#: src/supertux/menu/keyboard_menu.cpp:98 msgid "Right Control" msgstr "Højre ctrl" -#: src/supertux/menu/keyboard_menu.cpp:97 +#: src/supertux/menu/keyboard_menu.cpp:100 msgid "Left Control" msgstr "Venstre ctrl" -#: src/supertux/menu/keyboard_menu.cpp:99 +#: src/supertux/menu/keyboard_menu.cpp:102 msgid "Right Alt" msgstr "Højre alt" -#: src/supertux/menu/keyboard_menu.cpp:101 +#: src/supertux/menu/keyboard_menu.cpp:104 msgid "Left Alt" msgstr "Venstre alt" -#: src/supertux/menu/keyboard_menu.cpp:103 +#: src/supertux/menu/keyboard_menu.cpp:106 msgid "Right Command" msgstr "Højre kommando" -#: src/supertux/menu/keyboard_menu.cpp:105 +#: src/supertux/menu/keyboard_menu.cpp:108 msgid "Left Command" msgstr "Venstre kommando" -#: src/supertux/menu/keyboard_menu.cpp:119 +#: src/supertux/menu/keyboard_menu.cpp:122 msgid "Press Key" msgstr "Tryk på en tast" @@ -3928,13 +3943,16 @@ msgstr "Pause" msgid "Leave World" msgstr "Forlad verden" -#: src/supertux/menu/download_dialog.cpp:41 +#: src/supertux/menu/download_dialog.cpp:42 msgid "Abort Download" msgstr "Afbryd overførsel" -#: src/supertux/menu/download_dialog.cpp:58 -msgid "Error:\n" -msgstr "Fejl:\n" +#: src/supertux/menu/download_dialog.cpp:59 +#, c++-format +msgid "" +"Error:\n" +"{}" +msgstr "Fejl:\n{}" #: src/supertux/menu/cheat_menu.cpp:38 msgid "Bonus: Star" @@ -4029,7 +4047,7 @@ msgstr "Baneindstillinger" msgid "Author" msgstr "Forfatter" -#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1254 +#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1253 msgid "Contact" msgstr "Kontakt" @@ -4203,6 +4221,9 @@ msgid "" "F6 = Render Light\n" "F7 = Grid Snapping\n" "F8 = Show Grid\n" +"Ctrl++ or Ctrl+Scroll Up = Zoom In\n" +"Ctrl+- or Ctrl+Scroll Down = Zoom Out\n" +"Ctrl+D = Reset Zoom\n" "\n" "Scripting Shortcuts:\n" " ------------- \n" @@ -4218,7 +4239,7 @@ msgid "" "Ctrl+D = Duplicate line\n" "Ctrl+Z = Undo\n" "Ctrl+Y = Redo" -msgstr "Genvejstaster:\n---------------------\nEsc = Åbn menu\nCtrl+S = Gem\nCtrl+T = Test\nCtrl+Z = Fortryd\nCtrl+Y = Gør det igen\nF6 = Gengiv lys\nF7 = Gitter-snap\nF8 = Vis gitter\n\nScriptgenveje:\n ------------- \nHome = Gå til linjestart\nEnd = Gå til linjeslut\nLeft arrow = Gå tilbage i tekst\nRight arrow = Gå frem i tekst\nBackspace = Slet foran tekstcursor\nDelete = Slet bag tekstcursor\nCtrl+X = Klip en hel linje\nCtrl+C = Kopiér en hel linje\nCtrl+V = Indsæt\nCtrl+D = Duplikér linje\nCtrl+Z = Fortryd\nCtrl+Y = Gør det igen" +msgstr "Genvejstaster:\n---------------------\nEsc = Åbn menu\nCtrl+S = Gem\nCtrl+T = Test\nCtrl+Z = Fortryd\nCtrl+Y = Gør det om\nF6 = Renderingslys\nF7 = Gitterplacering\nF8 = Vis gitter\nCtrl++ eller Ctrl+Scroll Up = Zoom ind\nCtrl+- eller Ctrl+Scroll Down = Zoom ud\nCtrl+D = Nulstil zoom\n\nScriptgenvejstaster:\n ------------- \nHome = Hop til linjestart\nEnd = Hop til linjeslut\nLeft arrow = Gå tilbage i tekst\nRight arrow = Gå frem i tekst\nBackspace = Slet foran markør\nDelete = Slet bag markør\nCtrl+X = Klip hel linje\nCtrl+C = Kopiér hel linje\nCtrl+V = Indsæt\nCtrl+D = Duplikér linje\nCtrl+Z = Fortryd\nCtrl+Y = Gør det om" #: src/supertux/menu/editor_menu.cpp:232 msgid "Deprecated tiles are still present in the level." @@ -4322,12 +4343,12 @@ msgstr "ned" msgid "Region" msgstr "Region" -#: src/supertux/main.cpp:796 +#: src/supertux/main.cpp:801 #, c++-format msgid "New release: SuperTux v{}!" msgstr "Ny udgave: SuperTux v{}!" -#: src/supertux/main.cpp:799 +#: src/supertux/main.cpp:804 #, c++-format msgid "" "A new release of SuperTux (v{}) is available!\n" @@ -4336,7 +4357,7 @@ msgid "" "Do you want to visit the website now?" msgstr "En ny udgave af SuperTux (v{}) er tilgængelig!\nGå til SuperTux websiden for mere information.\n\nVil du besøge websiden nu?" -#: src/supertux/main.cpp:810 +#: src/supertux/main.cpp:815 msgid "Checking for new releases..." msgstr "Checker om der er nye udgaver..." @@ -4450,6 +4471,11 @@ msgstr "Ping pong" msgid "Circular" msgstr "Cirkulær" +#: src/editor/layers_widget.cpp:331 +#, c++-format +msgid "Sector: {}" +msgstr "Sektor: {}" + #: src/editor/object_option.cpp:92 msgid "true" msgstr "sand" @@ -4616,18 +4642,18 @@ msgstr "Partikelkonfigurationen har ændringer, der ikke er gemt.\nØnsker du at msgid "Save as" msgstr "Gem som" -#: src/editor/editor.cpp:552 +#: src/editor/editor.cpp:577 msgid "" "This level contains deprecated tiles.\n" "It is strongly recommended to replace all deprecated tiles\n" "to avoid loss of compatibility in future versions." msgstr "Banen har forældede felter.\nDet anbefales stærkt at erstatte alle forældede felter\nfor at undgå tab af kompatibilitet i fremtidige versioner." -#: src/editor/editor.cpp:554 +#: src/editor/editor.cpp:579 msgid "Tip: Turn on \"Show Deprecated Tiles\" from the level editor menu." msgstr "Tip: Slå \"Vis forældede felter\" til i baneredigeringsmenuen." -#: src/editor/editor.cpp:601 +#: src/editor/editor.cpp:626 msgid "" "Don't forget that your levels and assets\n" "aren't saved between sessions!\n" @@ -4635,15 +4661,15 @@ msgid "" "from the \"Manage Assets\" menu." msgstr "Glem ikke at dine baner og aktiver\nikke gemmes mellem sessioner!\nHvis du ønsker at bevare dine baner så gem dem\ni \"Administrer aktiver\"-menuen." -#: src/editor/editor.cpp:636 +#: src/editor/editor.cpp:661 msgid "This level contains unsaved changes, do you want to save?" msgstr "Denne bane indeholder ændringer, der ikke er gemt. Ønsker du at gemme?" -#: src/editor/editor.cpp:637 +#: src/editor/editor.cpp:662 msgid "This level may contain unsaved changes, do you want to save?" msgstr "Banen er måske ændret. Ønsker du at gemme den?" -#: src/editor/editor.cpp:772 +#: src/editor/editor.cpp:797 msgid "" "Some obsolete add-ons are still active\n" "and might cause collisions with default Super Tux structure.\n" @@ -4651,26 +4677,26 @@ msgid "" "Disabling these add-ons will not delete your game progress." msgstr "Nogle forældede tilføjelser er stadig aktive, og \ndet kolliderer måske med standardstrukturen for Super Tux.\nDu kan stadig aktivere disse tilføjelser i menuen.\nDeaktivering af tilføjelserne vil ikke slette spilhistorik eller spilstatus." -#: src/editor/editor.cpp:775 +#: src/editor/editor.cpp:800 msgid "Disable add-ons" msgstr "Deaktivér tilføjelser" -#: src/editor/editor.cpp:780 +#: src/editor/editor.cpp:805 msgid "Ignore (not advised)" msgstr "Ignorer (anbefales ikke)" -#: src/editor/editor.cpp:784 +#: src/editor/editor.cpp:809 msgid "Leave editor" msgstr "Forlad Redigering" -#: src/editor/editor.cpp:985 +#: src/editor/editor.cpp:1023 msgid "" "Couldn't find a \"main\" sector.\n" "Please change the name of the sector where\n" "you'd like the player to start to \"main\"" msgstr "Kunne ikke finde en »hovedsektor«.\nÆndr venligst navnet på sektoren, hvor\ndu ønsker at spillere skal starte, til »main«" -#: src/editor/editor.cpp:989 +#: src/editor/editor.cpp:1027 msgid "" "Couldn't find a \"main\" spawnpoint.\n" " Please change the name of the spawnpoint where\n" @@ -4682,49 +4708,40 @@ msgid "Patch Notes" msgstr "Opdateringsnoter" #: src/editor/object_menu.cpp:84 -msgid "This will update the object to its latest functionality." -msgstr "Vil opdatere objektet til nyeste funktionalitet." - -#: src/editor/object_menu.cpp:85 -msgid "Check the \"Patch Notes\" for more information." -msgstr "Check \"Opdateringsnoter\" for mere information." - -#: src/editor/object_menu.cpp:86 msgid "" -"Keep in mind this is very likely to break the proper behaviour of the " -"object." -msgstr "Husk der er stor sandsynlighed for at det vil ødelægge korrekt objektopførsel." - -#: src/editor/object_menu.cpp:87 -msgid "Make sure to re-check any behaviour, related to the object." -msgstr "Husk at genchecke al opførsel relateret til objektet." +"This will update the object to its latest functionality.\n" +"Check the \"Patch Notes\" for more information.\n" +"\n" +"Keep in mind this is very likely to break the proper behaviour of the object.\n" +"Make sure to re-check any behaviour, related to the object." +msgstr "Vil opdatere objektet til nyeste funktionalitet.\nTjek \"Patch-noter\" for mere information.\n\nHusk at det meget sandsynligt ødelægger sædvanlig objektopførsel.\nSørg for at tjekke alle objektrelaterede opførsler igen." -#: src/editor/object_menu.cpp:101 +#: src/editor/object_menu.cpp:98 #, c++-format msgid "Patch notes for v{}:" msgstr "Opdateringsnoter for v{}:" -#: src/editor/overlay_widget.cpp:1063 +#: src/editor/overlay_widget.cpp:1062 msgid "Cannot select deprecated tiles" msgstr "Kan ikke vælge forældede felter" -#: src/editor/overlay_widget.cpp:1555 +#: src/editor/overlay_widget.cpp:1567 msgid "Autotile mode is on" msgstr "Automatisk felttilstand er slået til" -#: src/editor/overlay_widget.cpp:1559 +#: src/editor/overlay_widget.cpp:1571 msgid "Hold Ctrl to enable autotile" msgstr "Hold Ctrl nede for at slå automatisk felt til" -#: src/editor/overlay_widget.cpp:1566 +#: src/editor/overlay_widget.cpp:1578 msgid "Autotile erasing mode is on" msgstr "Automatisk feltsletningstilstand er slået til" -#: src/editor/overlay_widget.cpp:1570 +#: src/editor/overlay_widget.cpp:1582 msgid "Selected tile isn't autotileable" msgstr "Valgt felt kan ikke være automatisk" -#: src/editor/overlay_widget.cpp:1575 +#: src/editor/overlay_widget.cpp:1587 msgid "Hold Ctrl to enable autotile erasing" msgstr "Hold Ctrl nede for at slå automatisk feltsletning til" @@ -4733,8 +4750,8 @@ msgid "Current SuperTux Team" msgstr "Nuværende SuperTux-hold" #: data//credits.stxt:30 -msgid "Programming, project lead ad interim" -msgstr "Programmering, midlertidig projektledelse" +msgid "Maintainer, Programming" +msgstr "Vedligeholder, Programmering" #: data//credits.stxt:35 msgid "Graphics, Level Design, Story" @@ -4744,12 +4761,12 @@ msgstr "Grafik, banedesign, historie" msgid "Level Design, Story, Optimisation, Coordination" msgstr "Banedesign, historie, optimering, koordinering" -#: data//credits.stxt:45 data//credits.stxt:125 data//credits.stxt:211 -#: data//credits.stxt:539 +#: data//credits.stxt:45 data//credits.stxt:120 data//credits.stxt:206 +#: data//credits.stxt:538 msgid "Graphics" msgstr "Grafik" -#: data//credits.stxt:50 data//credits.stxt:107 data//credits.stxt:113 +#: data//credits.stxt:50 data//credits.stxt:102 data//credits.stxt:108 msgid "Graphics, Programming, Level Design" msgstr "Grafik, programmering, banedesign" @@ -4769,248 +4786,248 @@ msgstr "Programmering, baneopdateringer" msgid "Graphics, Programming" msgstr "Grafik, programmering" -#: data//credits.stxt:75 data//credits.stxt:90 data//credits.stxt:155 -#: data//credits.stxt:160 data//credits.stxt:165 data//credits.stxt:170 -#: data//credits.stxt:185 data//credits.stxt:190 data//credits.stxt:535 -#: data//credits.stxt:547 +#: data//credits.stxt:75 data//credits.stxt:85 data//credits.stxt:150 +#: data//credits.stxt:155 data//credits.stxt:160 data//credits.stxt:165 +#: data//credits.stxt:180 data//credits.stxt:185 data//credits.stxt:534 +#: data//credits.stxt:546 msgid "Programming" msgstr "Programmering" -#: data//credits.stxt:80 data//credits.stxt:85 data//credits.stxt:271 +#: data//credits.stxt:80 data//credits.stxt:266 msgid "Level Design" msgstr "Banedesign" -#: data//credits.stxt:96 +#: data//credits.stxt:91 msgid "Original Developers" msgstr "Oprindelige udviklere" -#: data//credits.stxt:101 +#: data//credits.stxt:96 msgid "Original Developer" msgstr "Oprindelig udvikler" -#: data//credits.stxt:119 +#: data//credits.stxt:114 msgid "Music, Level Design" msgstr "Musik, banedesign" -#: data//credits.stxt:131 +#: data//credits.stxt:126 msgid "Programming, Graphics, Level Design" msgstr "Programmering, grafik, banedesign" -#: data//credits.stxt:137 +#: data//credits.stxt:132 msgid "Programming, Level Design" msgstr "Programmering, banedesign" -#: data//credits.stxt:143 +#: data//credits.stxt:138 msgid "Graphics, Story" msgstr "Grafik, historie" -#: data//credits.stxt:149 +#: data//credits.stxt:144 msgid "Programming, Documentation" msgstr "Programmering, dokumentation" -#: data//credits.stxt:175 +#: data//credits.stxt:170 msgid "Coordination" msgstr "Koordinering" -#: data//credits.stxt:180 +#: data//credits.stxt:175 msgid "Programming, \"Flexlay\" Level editor" msgstr "Programmering, \"Flexlay\" Baneredigering" -#: data//credits.stxt:195 +#: data//credits.stxt:190 msgid "Windows build fixes" msgstr "Byggerettelser for Windows" -#: data//credits.stxt:200 +#: data//credits.stxt:195 msgid "Packaging, Nightly builds" msgstr "Pakning, natlige bygninger" -#: data//credits.stxt:205 +#: data//credits.stxt:200 msgid "Translation Guru (and many details anyone else could have done)" msgstr "Oversættelsesguru (og mange detaljer andre kunne have udført)" -#: data//credits.stxt:451 +#: data//credits.stxt:450 msgid "Additional contributors" msgstr "Yderligere bidragydere" -#: data//credits.stxt:456 +#: data//credits.stxt:455 msgid "Bug fixes" msgstr "Fejlrettelser" -#: data//credits.stxt:460 +#: data//credits.stxt:459 msgid "Scripting functions, Level fixes" msgstr "Skriptfunktioner, banerettelser" -#: data//credits.stxt:464 +#: data//credits.stxt:463 msgid "Code quality fixes" msgstr "Rettelser til kodekvaliteten" -#: data//credits.stxt:468 data//credits.stxt:472 data//credits.stxt:476 -#: data//credits.stxt:503 +#: data//credits.stxt:467 data//credits.stxt:471 data//credits.stxt:475 +#: data//credits.stxt:502 msgid "Various contributions" msgstr "Diverse bidrag" -#: data//credits.stxt:480 +#: data//credits.stxt:479 msgid "Build issue fix" msgstr "Rettelse til byggeproblemer" -#: data//credits.stxt:484 data//credits.stxt:488 +#: data//credits.stxt:483 data//credits.stxt:487 msgid "Code contributions" msgstr "Kodebidrag" -#: data//credits.stxt:491 +#: data//credits.stxt:490 msgid "Code contribution, AppData file" msgstr "Kodebidrag, AppData-fil" -#: data//credits.stxt:495 +#: data//credits.stxt:494 msgid "Bug fix" msgstr "Fejlrettelse" -#: data//credits.stxt:499 +#: data//credits.stxt:498 msgid "Menu reorganization" msgstr "Ny organisering af menu" -#: data//credits.stxt:507 +#: data//credits.stxt:506 msgid "Fixing tile bugs" msgstr "Rettelse af feltfejl" -#: data//credits.stxt:511 +#: data//credits.stxt:510 msgid "Build error fix" msgstr "Rettelse af byggefejl" -#: data//credits.stxt:515 +#: data//credits.stxt:514 msgid "Scripting function fix" msgstr "Rettelse af skriptfunktion" -#: data//credits.stxt:519 +#: data//credits.stxt:518 msgid "New features and notable updates" msgstr "Nye funktioner og bemærkelsesværdige opdateringer" -#: data//credits.stxt:523 +#: data//credits.stxt:522 msgid "Support for \"glbinding\" as optional OpenGL binding" msgstr "Understøttelse for »glbinding« som valgfri OpenGL-binding" -#: data//credits.stxt:527 +#: data//credits.stxt:526 msgid "New menu code" msgstr "Ny menukode" -#: data//credits.stxt:531 +#: data//credits.stxt:530 msgid "Big Tux Walking Sprites improvements" msgstr "Forbedringer af computergrafik for den store gående Tux" -#: data//credits.stxt:543 data//credits.stxt:551 +#: data//credits.stxt:542 data//credits.stxt:550 msgid "Contrib Programming" msgstr "Contrib-programmering" -#: data//credits.stxt:555 +#: data//credits.stxt:554 msgid "Programming, Previous Maintainer" msgstr "Programmering, tidligere vedligeholder" -#: data//credits.stxt:559 +#: data//credits.stxt:558 msgid "Various Contributions" msgstr "Diverse bidrag" -#: data//credits.stxt:563 data//credits.stxt:567 data//credits.stxt:571 -#: data//credits.stxt:575 data//credits.stxt:579 data//credits.stxt:583 -#: data//credits.stxt:587 data//credits.stxt:591 data//credits.stxt:595 -#: data//credits.stxt:599 data//credits.stxt:603 data//credits.stxt:607 -#: data//credits.stxt:611 data//credits.stxt:615 data//credits.stxt:619 -#: data//credits.stxt:623 data//credits.stxt:627 data//credits.stxt:631 -#: data//credits.stxt:635 data//credits.stxt:639 data//credits.stxt:643 -#: data//credits.stxt:647 data//credits.stxt:651 data//credits.stxt:655 -#: data//credits.stxt:659 data//credits.stxt:663 +#: data//credits.stxt:562 data//credits.stxt:566 data//credits.stxt:570 +#: data//credits.stxt:574 data//credits.stxt:578 data//credits.stxt:582 +#: data//credits.stxt:586 data//credits.stxt:590 data//credits.stxt:594 +#: data//credits.stxt:598 data//credits.stxt:602 data//credits.stxt:606 +#: data//credits.stxt:610 data//credits.stxt:614 data//credits.stxt:618 +#: data//credits.stxt:622 data//credits.stxt:626 data//credits.stxt:630 +#: data//credits.stxt:634 data//credits.stxt:638 data//credits.stxt:642 +#: data//credits.stxt:646 data//credits.stxt:650 data//credits.stxt:654 +#: data//credits.stxt:658 data//credits.stxt:662 msgid "Contributions" msgstr "Bidrag" -#: data//credits.stxt:669 +#: data//credits.stxt:668 msgid "Localization" msgstr "Oversættelse" -#: data//credits.stxt:1232 +#: data//credits.stxt:1231 msgid " Special Thanks to" msgstr "Specielt tak til" -#: data//credits.stxt:1237 +#: data//credits.stxt:1236 msgid "Creator of Tux, the Linux penguin" msgstr "Opretter af Tux, Linuxpingvinen" -#: data//credits.stxt:1241 +#: data//credits.stxt:1240 msgid "SDL, OpenAL and OpenGL" msgstr "SDL, OpenAL og OpenGL" -#: data//credits.stxt:1242 +#: data//credits.stxt:1241 msgid "" "For making such a great gaming experience\n" " possible on Linux" msgstr "For at gøre en så vidunderlig spiloplevelse\nmulig på Linux" -#: data//credits.stxt:1247 +#: data//credits.stxt:1246 msgid "and you, the player" msgstr "og dig, spilleren" -#: data//credits.stxt:1248 +#: data//credits.stxt:1247 msgid "for giving this game a chance and playing it" msgstr "for at give dette spil en chance" -#: data//credits.stxt:1259 +#: data//credits.stxt:1258 msgid "Visit our webpage at" msgstr "Besøg vores hjemmeside på" -#: data//credits.stxt:1268 +#: data//credits.stxt:1267 msgid "Or visit us directly at IRC:" msgstr "Eller besøg os direkte på IRC:" -#: data//credits.stxt:1272 +#: data//credits.stxt:1271 msgid "#supertux at web.libera.chat" msgstr "#supertux på web.libera.chat" -#: data//credits.stxt:1277 +#: data//credits.stxt:1276 msgid "Or at our Forum:" msgstr "Eller i vores fora:" -#: data//credits.stxt:1286 +#: data//credits.stxt:1285 msgid "Comments, ideas and suggestions" msgstr "Kommentarer, ideer og forslag" -#: data//credits.stxt:1290 +#: data//credits.stxt:1289 msgid "go to our mailing list" msgstr "gå til postlisten" #. l10n: typo contact -#: data//credits.stxt:1300 +#: data//credits.stxt:1299 msgid "Typographical errors can be" msgstr "Typografiske fejl kan være" #. l10n: typo contact -#: data//credits.stxt:1305 +#: data//credits.stxt:1304 msgid "reported to" msgstr "rapporteret til" #. l10n: typo contact, see -#: data//credits.stxt:1310 +#: data//credits.stxt:1309 msgid "supertux-devel@lists.lethargik.org" msgstr "supertux-devel@lists.lethargik.org" -#: data//credits.stxt:1317 +#: data//credits.stxt:1316 msgid "Want to help…" msgstr "Ønsker du at hjælpe ..." -#: data//credits.stxt:1322 +#: data//credits.stxt:1321 msgid "…with localization?" msgstr "... med oversættelse?" -#: data//credits.stxt:1332 +#: data//credits.stxt:1331 msgid "…with something else?" msgstr "... med noget andet?" -#: data//credits.stxt:1343 +#: data//credits.stxt:1342 msgid "Thank you for" msgstr "Tak fordi du" -#: data//credits.stxt:1347 +#: data//credits.stxt:1346 msgid "playing" msgstr "spillede" -#: data//credits.stxt:1357 +#: data//credits.stxt:1356 msgid "Penny awaits you in warmer temperatures!" msgstr "Penny venter på dig under varmere temperaturer!" @@ -5018,15 +5035,15 @@ msgstr "Penny venter på dig under varmere temperaturer!" msgid "Enemies" msgstr "Fjender" -#: data//images/engine/editor/objects.stoi:159 +#: data//images/engine/editor/objects.stoi:162 msgid "Bosses" msgstr "Bosser" -#: data//images/engine/editor/objects.stoi:170 +#: data//images/engine/editor/objects.stoi:173 msgid "Projectiles" msgstr "Projektiler" -#: data//images/engine/editor/objects.stoi:181 +#: data//images/engine/editor/objects.stoi:184 msgid "Environment" msgstr "Miljø" @@ -5129,3 +5146,19 @@ msgstr "Borgstier" #: data//images/worldmap.strf:135 msgid "Darker Forest" msgstr "Mørkere skov" + +#: data//images/converters/data.stcd:3 +msgid "Nightly Tiles" +msgstr "Natfelter" + +#: data//images/converters/data.stcd:5 +msgid "For levels, created in previous Nightly builds." +msgstr "Til baner skabt i tidligere Nightly builds." + +#: data//images/converters/data.stcd:8 +msgid "Pre-0.6.3 Crystal Tiles" +msgstr "Før-0.6.3 krystalfelter" + +#: data//images/converters/data.stcd:10 +msgid "For levels, created in pre-0.6.3 versions, which use crystal tiles." +msgstr "Til baner skabt i pre-0.6.3-versioner, der bruger krystalfelter." diff --git a/data/locale/de.po b/data/locale/de.po index 5e2e017de8d..692c26d8c0d 100644 --- a/data/locale/de.po +++ b/data/locale/de.po @@ -11,6 +11,7 @@ # cvcxc , 2013 # divVerent , 2011,2013 # Ettore Atalan , 2014-2016 +# Iwan Gabovitch, 2024 # Larson März , 2016 # Marcel Haring , 2013-2014 # Matthias Braun , 2004 @@ -26,9 +27,9 @@ msgid "" msgstr "" "Project-Id-Version: SuperTux\n" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" -"POT-Creation-Date: 2024-03-03 03:26+0100\n" +"POT-Creation-Date: 2024-05-30 16:19+0200\n" "PO-Revision-Date: 2013-08-10 22:56+0000\n" -"Last-Translator: Tobias Markus , 2018-2021,2024\n" +"Last-Translator: Iwan Gabovitch, 2024\n" "Language-Team: German (http://app.transifex.com/arctic-games/supertux/language/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,7 +42,7 @@ msgid "You found a secret area!" msgstr "Du hast ein Versteck gefunden!" #: src/trigger/secretarea_trigger.cpp:55 src/supertux/game_object.cpp:115 -#: src/supertux/menu/editor_sector_menu.cpp:34 +#: src/supertux/menu/editor_sector_menu.cpp:36 #: src/supertux/menu/editor_levelset_menu.cpp:52 #: src/supertux/menu/editor_new_levelset_menu.cpp:34 #: src/supertux/menu/profile_name_menu.cpp:39 @@ -60,7 +61,7 @@ msgid "Message" msgstr "Nachricht" #: src/trigger/secretarea_trigger.cpp:58 src/trigger/scripttrigger.cpp:51 -#: src/trigger/door.cpp:72 src/object/ispy.cpp:53 +#: src/trigger/door.cpp:79 src/object/ispy.cpp:53 #: src/object/bonus_block.cpp:264 src/object/bonus_block.cpp:268 #: src/object/pushbutton.cpp:62 src/object/powerup.cpp:301 #: src/worldmap/special_tile.cpp:76 @@ -85,51 +86,49 @@ msgstr "Einmalig" #: src/trigger/text_area.cpp:142 msgid "Text change time" -msgstr "" +msgstr "Text-Änderungszeit" #: src/trigger/text_area.cpp:143 msgid "Fade time" -msgstr "" +msgstr "Überblendezeit" -#: src/trigger/text_area.cpp:144 src/object/textscroller.cpp:351 +#: src/trigger/text_area.cpp:144 src/object/textscroller.cpp:353 msgid "Anchor" msgstr "Anker" #: src/trigger/text_area.cpp:148 msgid "Anchor offset X" -msgstr "" +msgstr "Ankerversatz X" #: src/trigger/text_area.cpp:149 msgid "Anchor offset Y" -msgstr "" +msgstr "Ankerversatz Y" #: src/trigger/text_area.cpp:150 msgid "Texts" msgstr "Texts" -#: src/trigger/door.cpp:73 src/badguy/willowisp.cpp:310 -#: src/supertux/menu/editor_sector_menu.cpp:32 src/worldmap/teleporter.cpp:47 -#: src/editor/layers_widget.cpp:329 -#: data//images/engine/editor/objects.stoi:339 +#: src/trigger/door.cpp:80 src/badguy/willowisp.cpp:311 +#: src/worldmap/teleporter.cpp:47 data//images/engine/editor/objects.stoi:342 msgid "Sector" msgstr "Sektor" -#: src/trigger/door.cpp:74 src/worldmap/spawn_point.hpp:58 +#: src/trigger/door.cpp:81 src/worldmap/spawn_point.hpp:58 msgid "Spawn point" msgstr "Startpunkt" -#: src/trigger/door.cpp:75 +#: src/trigger/door.cpp:82 msgid "Locked?" msgstr "Verschlossen?" -#: src/trigger/door.cpp:76 +#: src/trigger/door.cpp:83 msgid "Lock Color" -msgstr "" +msgstr "Farbe des Schlosses" #: src/trigger/switch.cpp:62 src/object/ispy.cpp:54 src/object/bumper.cpp:53 #: src/object/spotlight.cpp:106 src/object/pushbutton.cpp:61 #: src/object/gradient.cpp:103 src/object/conveyor_belt.cpp:60 -#: src/badguy/badguy.cpp:1061 src/worldmap/spawn_point.cpp:79 +#: src/badguy/badguy.cpp:1063 src/worldmap/spawn_point.cpp:79 #: src/worldmap/special_tile.cpp:78 msgid "Direction" msgstr "Richtung" @@ -217,8 +216,8 @@ msgstr "Oben" msgid "Top Right" msgstr "Oben rechts" -#: src/math/anchor_point.cpp:36 src/object/textscroller.cpp:352 -#: src/object/textscroller.cpp:356 src/supertux/menu/keyboard_menu.cpp:36 +#: src/math/anchor_point.cpp:36 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:38 #: src/supertux/menu/joystick_menu.cpp:73 msgid "Left" msgstr "Links" @@ -227,8 +226,8 @@ msgstr "Links" msgid "Middle" msgstr "Mittel" -#: src/math/anchor_point.cpp:38 src/object/textscroller.cpp:352 -#: src/object/textscroller.cpp:356 src/supertux/menu/keyboard_menu.cpp:37 +#: src/math/anchor_point.cpp:38 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:39 #: src/supertux/menu/joystick_menu.cpp:74 msgid "Right" msgstr "Rechts" @@ -245,7 +244,7 @@ msgstr "Unten" msgid "Bottom Right" msgstr "Unten rechts" -#: src/object/thunderstorm.hpp:43 +#: src/object/thunderstorm.hpp:44 msgid "Thunderstorm" msgstr "Gewitter" @@ -265,23 +264,16 @@ msgstr "Partikelzone" #: src/object/path_gameobject.hpp:45 src/object/coin.cpp:324 #: src/object/camera.cpp:168 src/object/platform.cpp:76 #: src/object/path_gameobject.cpp:175 src/object/tilemap.cpp:284 -#: src/gui/menu_paths.cpp:54 src/badguy/willowisp.cpp:316 +#: src/badguy/willowisp.cpp:317 msgid "Path" msgstr "Pfad" -#: src/object/decal.cpp:48 src/object/scripted_object.cpp:68 -#: src/object/particlesystem.cpp:65 src/object/background.cpp:184 -#: src/object/thunderstorm.cpp:72 src/object/tilemap.cpp:277 -#: src/object/gradient.cpp:101 -msgid "Z-pos" -msgstr "Z-Position" - -#: src/object/decal.cpp:49 src/object/scripted_object.cpp:71 +#: src/object/decal.cpp:48 src/object/scripted_object.cpp:70 #: src/object/tilemap.cpp:266 msgid "Solid" msgstr "Fest" -#: src/object/decal.cpp:50 src/supertux/menu/keyboard_menu.cpp:39 +#: src/object/decal.cpp:49 src/supertux/menu/keyboard_menu.cpp:41 #: src/supertux/menu/joystick_menu.cpp:76 msgid "Action" msgstr "Aktion" @@ -300,7 +292,7 @@ msgstr "Tilemap" #: src/object/sound_object.cpp:69 src/object/ambient_sound.cpp:85 #: src/object/sound_object.hpp:42 src/supertux/menu/options_menu.cpp:128 -#: data//credits.stxt:372 +#: data//credits.stxt:367 msgid "Sound" msgstr "Ton" @@ -333,7 +325,7 @@ msgstr "Kreisende Plattform" #: src/object/invisible_block.cpp:37 src/object/background.cpp:200 #: src/object/tilemap.cpp:279 src/object/gradient.cpp:109 #: src/badguy/viciousivy.cpp:44 src/badguy/snail.cpp:69 -#: src/badguy/smartball.cpp:34 src/badguy/bouncing_snowball.cpp:69 +#: src/badguy/smartball.cpp:34 src/badguy/bouncing_snowball.cpp:81 #: src/badguy/kamikazesnowball.cpp:117 src/badguy/walkingleaf.cpp:35 #: src/badguy/mrbomb.cpp:47 src/badguy/igel.cpp:188 src/badguy/snowball.cpp:40 #: src/badguy/mrtree.cpp:50 src/badguy/mriceblock.cpp:62 @@ -374,12 +366,12 @@ msgstr "Winkel" #: src/object/spotlight.cpp:104 src/object/magicblock.cpp:95 #: src/object/candle.cpp:75 src/object/torch.cpp:96 src/object/rublight.cpp:55 #: src/object/lantern.cpp:62 src/object/ambient_light.cpp:122 -#: src/object/key.cpp:192 src/badguy/willowisp.cpp:318 +#: src/object/key.cpp:192 src/badguy/willowisp.cpp:319 #: src/badguy/walking_candle.cpp:91 msgid "Color" msgstr "Farbe" -#: src/object/spotlight.cpp:105 src/object/textscroller.cpp:348 +#: src/object/spotlight.cpp:105 src/object/textscroller.cpp:350 #: src/object/rain_particle_system.cpp:102 src/object/conveyor_belt.cpp:61 #: src/object/circleplatform.cpp:58 src/badguy/flame.cpp:110 #: src/editor/node_marker.cpp:125 @@ -403,20 +395,20 @@ msgstr "Gestoppt" msgid "Layer" msgstr "Ebene" -#: src/object/scripted_object.cpp:72 +#: src/object/scripted_object.cpp:71 msgid "Physics enabled" msgstr "Physik aktiviert" -#: src/object/scripted_object.cpp:73 +#: src/object/scripted_object.cpp:72 msgid "Visible" msgstr "Sichtbar" -#: src/object/scripted_object.cpp:74 src/badguy/willowisp.cpp:312 +#: src/object/scripted_object.cpp:73 src/badguy/willowisp.cpp:313 msgid "Hit script" msgstr "Treffer-Skript" #: src/object/custom_particle_system_file.cpp:53 -#: src/object/textscroller.cpp:346 src/object/music_object.cpp:109 +#: src/object/textscroller.cpp:348 src/object/music_object.cpp:109 #: src/supertux/menu/particle_editor_open.cpp:38 msgid "File" msgstr "Datei" @@ -467,7 +459,7 @@ msgstr "Wachstum (Erdblume)" #: src/object/bonus_block.cpp:268 msgid "Growth (retro)" -msgstr "" +msgstr "Wachstum (Retro)" #: src/object/bonus_block.cpp:268 src/object/powerup.cpp:66 msgid "Star" @@ -475,7 +467,7 @@ msgstr "Stern" #: src/object/bonus_block.cpp:268 msgid "Star (retro)" -msgstr "" +msgstr "Stern (Retro)" #: src/object/bonus_block.cpp:268 msgid "Tux doll" @@ -523,7 +515,7 @@ msgstr "Eigene Inhalte" #: src/object/bonus_block.cpp:278 msgid "Coin sprite" -msgstr "" +msgstr "Münz-Sprite" #: src/object/pneumatic_platform.hpp:65 msgid "Pneumatic Platform" @@ -540,18 +532,18 @@ msgstr "Pfadmodus" #: src/object/coin.cpp:330 src/object/camera.cpp:172 #: src/object/platform.cpp:78 src/object/tilemap.cpp:291 -#: src/badguy/willowisp.cpp:321 +#: src/badguy/willowisp.cpp:322 msgid "Adapt Speed" msgstr "Geschwindigkeit: anpassen" #: src/object/coin.cpp:331 src/object/platform.cpp:81 -#: src/object/tilemap.cpp:285 src/badguy/willowisp.cpp:317 +#: src/object/tilemap.cpp:285 src/badguy/willowisp.cpp:318 msgid "Starting Node" msgstr "Start-Node" #: src/object/coin.cpp:332 src/object/camera.cpp:173 #: src/object/platform.cpp:82 src/object/tilemap.cpp:293 -#: src/badguy/willowisp.cpp:322 +#: src/badguy/willowisp.cpp:323 msgid "Handle" msgstr "Anfasser" @@ -579,31 +571,31 @@ msgstr "manuell" msgid "autoscroll" msgstr "Autoscrollen" -#: src/object/textscroller.cpp:347 +#: src/object/textscroller.cpp:349 msgid "Finish Script" msgstr "Ende-Skript" -#: src/object/textscroller.cpp:349 +#: src/object/textscroller.cpp:351 msgid "X-offset" msgstr "X-Versatz" -#: src/object/textscroller.cpp:350 +#: src/object/textscroller.cpp:352 msgid "Controllable" msgstr "Steuerbar" -#: src/object/textscroller.cpp:352 src/object/textscroller.cpp:356 +#: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 msgid "Center" msgstr "Mittig" -#: src/object/textscroller.cpp:355 +#: src/object/textscroller.cpp:357 msgid "Text Alignment" msgstr "Textausrichtung" #: src/object/lit_object.hpp:40 msgid "Lit object" -msgstr "" +msgstr "Beleuchtetes Objekt" -#: src/object/spawnpoint.hpp:48 src/badguy/willowisp.cpp:311 +#: src/object/spawnpoint.hpp:48 src/badguy/willowisp.cpp:312 #: src/worldmap/teleporter.cpp:48 msgid "Spawnpoint" msgstr "Startpunkt" @@ -616,6 +608,12 @@ msgstr "Zähler" msgid "Candle" msgstr "Kerze" +#: src/object/particlesystem.cpp:65 src/object/background.cpp:184 +#: src/object/thunderstorm.cpp:76 src/object/tilemap.cpp:277 +#: src/object/gradient.cpp:101 src/object/moving_sprite.cpp:193 +msgid "Z-pos" +msgstr "Z-Position" + #: src/object/invisible_block.hpp:30 msgid "Invisible Block" msgstr "Unsichtbarer Block" @@ -630,19 +628,19 @@ msgstr "Powerup" #: src/object/infoblock.cpp:78 msgid "Front Color" -msgstr "" +msgstr "Vordergrundfarbe" #: src/object/infoblock.cpp:80 msgid "Back Color" -msgstr "" +msgstr "Hintergrundfarbe" #: src/object/infoblock.cpp:82 msgid "Roundness" -msgstr "" +msgstr "Rundheit" #: src/object/infoblock.cpp:84 msgid "Fade Transition" -msgstr "" +msgstr "Überblende-Übergang" #: src/object/fallblock.hpp:41 msgid "Falling Platform" @@ -725,29 +723,29 @@ msgid "Platform" msgstr "Plattform" #: src/object/music_object.hpp:42 src/supertux/menu/options_menu.cpp:130 -#: data//credits.stxt:314 +#: data//credits.stxt:309 msgid "Music" msgstr "Musik" #: src/object/lit_object.cpp:68 msgid "Light sprite" -msgstr "" +msgstr "Licht-Sprite" #: src/object/lit_object.cpp:71 msgid "Sprite starting action" -msgstr "" +msgstr "Sprite-Startaktion" #: src/object/lit_object.cpp:72 msgid "Light sprite starting action" -msgstr "" +msgstr "Licht-Sprite-Startaktion" #: src/object/lit_object.cpp:74 msgid "Light sprite offset X" -msgstr "" +msgstr "Licht-Sprite-Versatz X" #: src/object/lit_object.cpp:75 msgid "Light sprite offset Y" -msgstr "" +msgstr "Licht-Sprite-Versatz Y" #: src/object/rusty_trampoline.hpp:40 msgid "Rusty Trampoline" @@ -771,11 +769,11 @@ msgstr "Epsilon" #: src/object/snow_particle_system.cpp:105 msgid "Spin Speed" -msgstr "" +msgstr "Drehgeschwindigkeit" #: src/object/snow_particle_system.cpp:106 msgid "State Length" -msgstr "" +msgstr "Statuslänge" #: src/object/snow_particle_system.cpp:107 msgid "Wind Speed" @@ -815,11 +813,11 @@ msgstr "Tux-Puppe" #: src/object/powerup.cpp:68 msgid "Flip Potion" -msgstr "" +msgstr "Umdreh-Trank" #: src/object/powerup.cpp:69 msgid "Mints" -msgstr "" +msgstr "Pfefferminzbonbons" #: src/object/powerup.cpp:70 msgid "Coffee" @@ -978,7 +976,7 @@ msgstr "Schöne Partikel" msgid "Bicycle Platform" msgstr "Fahrrad-Plattform" -#: src/object/platform.cpp:80 src/object/thunderstorm.cpp:73 +#: src/object/platform.cpp:80 src/object/thunderstorm.cpp:77 #: src/object/tilemap.cpp:292 src/object/conveyor_belt.cpp:62 msgid "Running" msgstr "Laufend" @@ -991,11 +989,11 @@ msgstr "Klein" msgid "Large" msgstr "Groß" -#: src/object/rock.cpp:238 +#: src/object/rock.cpp:234 msgid "On-grab script" msgstr "Aufnehmskript" -#: src/object/rock.cpp:239 +#: src/object/rock.cpp:235 msgid "On-ungrab script" msgstr "Ablegskript" @@ -1003,11 +1001,11 @@ msgstr "Ablegskript" msgid "Interactive particle system" msgstr "Interaktives Partikelsystem" -#: src/object/thunderstorm.cpp:74 +#: src/object/thunderstorm.cpp:78 msgid "Interval" msgstr "Intervall" -#: src/object/thunderstorm.cpp:75 +#: src/object/thunderstorm.cpp:79 msgid "Strike Script" msgstr "Treffer-Skript" @@ -1044,7 +1042,7 @@ msgstr "Geburtsmodus" #: src/object/custom_particle_system.cpp:430 #: src/object/custom_particle_system.cpp:465 src/object/gradient.cpp:115 #: src/gui/menu_string_array.cpp:40 src/gui/menu_string_array.cpp:78 -#: src/supertux/menu/keyboard_menu.cpp:77 +#: src/supertux/menu/keyboard_menu.cpp:80 #: src/supertux/menu/joystick_menu.cpp:108 #: src/supertux/menu/joystick_menu.cpp:215 src/editor/object_settings.cpp:129 #: src/editor/particle_editor.cpp:162 src/editor/particle_editor.cpp:168 @@ -1419,12 +1417,12 @@ msgstr "Versatz beim Ändern der Größe in X-Richtung" msgid "Resize offset y" msgstr "Versatz beim Ändern der Größe in X-Richtung" -#: src/object/tilemap.cpp:270 src/supertux/menu/editor_sector_menu.cpp:39 +#: src/object/tilemap.cpp:270 src/supertux/menu/editor_sector_menu.cpp:41 #: src/editor/object_option.cpp:178 msgid "Width" msgstr "Breite" -#: src/object/tilemap.cpp:271 src/supertux/menu/editor_sector_menu.cpp:40 +#: src/object/tilemap.cpp:271 src/supertux/menu/editor_sector_menu.cpp:42 #: src/editor/object_option.cpp:179 msgid "Height" msgstr "Höhe" @@ -1446,7 +1444,7 @@ msgid "Tint" msgstr "Farbton" #: src/object/tilemap.cpp:296 src/supertux/menu/editor_tilegroup_menu.cpp:26 -#: src/editor/toolbox_widget.cpp:99 +#: src/editor/toolbox_widget.cpp:98 msgid "Tiles" msgstr "Kacheln" @@ -1498,7 +1496,7 @@ msgstr "Bumper" msgid "Length" msgstr "Länge" -#: src/object/moving_sprite.cpp:187 src/object/pneumatic_platform.cpp:161 +#: src/object/moving_sprite.cpp:192 src/object/pneumatic_platform.cpp:161 msgid "Sprite" msgstr "Sprite" @@ -1508,7 +1506,7 @@ msgstr "Instabile Kachel" #: src/object/brick.hpp:70 msgid "Heavy Brick" -msgstr "" +msgstr "Schwerer Stein" #: src/object/invisible_wall.hpp:37 msgid "Invisible Wall" @@ -1524,7 +1522,7 @@ msgstr "Geskriptetes Objekt" #: src/object/custom_particle_system_file.hpp:40 msgid "Custom Particles from file" -msgstr "Benutzerdefnierte Partikel aus Datei" +msgstr "Benutzerdefinierte Partikel aus Datei" #: src/object/coin.hpp:97 msgid "Heavy Coin" @@ -1558,18 +1556,18 @@ msgstr "Für weitere Details klicken." msgid "Do not show again" msgstr "Nicht erneut anzeigen" -#: src/gui/notification.cpp:157 src/supertux/menu/download_dialog.cpp:123 +#: src/gui/notification.cpp:157 src/supertux/menu/download_dialog.cpp:124 msgid "Close" msgstr "Schließen" #: src/gui/menu_string_array.cpp:40 src/gui/menu_string_array.cpp:78 #, c++-format msgid "Selected item: {}" -msgstr "" +msgstr "Ausgewählter Eintrag: {}" #: src/gui/menu_string_array.cpp:70 msgid "Edit string array" -msgstr "" +msgstr "String-Array bearbeiten" #: src/gui/menu_string_array.cpp:79 src/gui/menu_object_select.cpp:50 #: src/supertux/menu/profile_menu.cpp:88 @@ -1592,7 +1590,7 @@ msgstr "Löschen" #: src/gui/menu_string_array.cpp:84 src/gui/menu_object_select.cpp:61 #: src/gui/menu_color.cpp:37 src/gui/dialog.hpp:87 src/gui/menu_script.cpp:46 -#: src/supertux/menu/editor_sector_menu.cpp:46 +#: src/supertux/menu/editor_sector_menu.cpp:48 #: src/supertux/menu/editor_levelset_menu.cpp:58 #: src/supertux/menu/editor_new_levelset_menu.cpp:37 #: src/supertux/menu/editor_level_menu.cpp:45 src/editor/object_menu.cpp:71 @@ -1601,33 +1599,33 @@ msgstr "OK" #: src/gui/menu_object_select.cpp:46 msgid "List of objects" -msgstr "" +msgstr "Liste von Objekten" #: src/gui/menu_object_select.cpp:48 #, c++-format msgid "Select object ({})" -msgstr "" +msgstr "Objekt auswählen ({})" #: src/gui/menu_object_select.cpp:114 msgid "Are you sure you want to remove this object from the list?" -msgstr "" +msgstr "Sind Sie sicher, dass Sie das Objekt von der Liste entfernen möchten?" #: src/gui/menu_color.cpp:24 msgid "Mix the colour" msgstr "Farbe zusammenmischen" #: src/gui/dialog.hpp:96 src/supertux/menu/editor_level_select_menu.cpp:181 -#: src/editor/editor.cpp:638 +#: src/editor/editor.cpp:663 msgid "Yes" msgstr "Ja" #: src/gui/dialog.hpp:97 src/supertux/menu/editor_level_select_menu.cpp:185 -#: src/editor/particle_editor.cpp:781 src/editor/editor.cpp:645 +#: src/editor/particle_editor.cpp:781 src/editor/editor.cpp:670 msgid "No" msgstr "Nein" #: src/gui/menu_list.cpp:38 src/gui/menu_filesystem.cpp:120 -#: src/gui/menu_paths.cpp:46 src/supertux/menu/particle_editor_save_as.cpp:42 +#: src/gui/menu_paths.cpp:48 src/supertux/menu/particle_editor_save_as.cpp:42 #: src/supertux/menu/editor_sectors_menu.cpp:45 #: src/supertux/menu/editor_sectors_menu.cpp:94 #: src/supertux/menu/editor_sectors_menu.cpp:99 @@ -1636,34 +1634,46 @@ msgstr "Nein" #: src/supertux/menu/editor_level_select_menu.cpp:190 #: src/supertux/menu/editor_save_as.cpp:42 #: src/supertux/menu/particle_editor_open.cpp:43 -#: src/editor/particle_editor.cpp:785 src/editor/editor.cpp:649 +#: src/editor/particle_editor.cpp:785 src/editor/editor.cpp:674 msgid "Cancel" msgstr "Abbrechen" #: src/gui/menu_filesystem.cpp:118 msgid "Open Directory" -msgstr "" +msgstr "Verzeichnis öffnen" #: src/gui/menu_script.cpp:28 msgid "Edit script" msgstr "Skript bearbeiten" -#: src/gui/menu_paths.cpp:30 +#: src/gui/menu_paths.cpp:32 msgid "Clone" msgstr "Klonen" -#: src/gui/menu_paths.cpp:39 +#: src/gui/menu_paths.cpp:41 msgid "" "An error occurred and the game could\n" "not clone the path. Please contact\n" "the developers for support." -msgstr "" +msgstr "Ein Fehler ist aufgetreten und das Spiel\nkonnte den Pfad nicht klonen. Bitte kon-\ntaktieren Sie die Entwickler, um Unter-\nstützung zu erhalten." -#: src/gui/menu_paths.cpp:42 +#: src/gui/menu_paths.cpp:44 msgid "Bind" msgstr "Verbinden" -#: src/gui/menu_paths.cpp:65 src/supertux/menu/integrations_menu.cpp:60 +#: src/gui/menu_paths.cpp:49 +msgid "" +"Do you wish to clone the path to edit it separately,\n" +"or do you want to bind both paths together\n" +"so that any edit on one edits the other?" +msgstr "" + +#: src/gui/menu_paths.cpp:56 +#, c++-format +msgid "Path {}" +msgstr "Pfad {}" + +#: src/gui/menu_paths.cpp:67 src/supertux/menu/integrations_menu.cpp:60 #: src/supertux/menu/editor_converters_menu.cpp:79 #: src/supertux/menu/video_system_menu.cpp:45 #: src/supertux/menu/contrib_menu.cpp:102 src/supertux/menu/debug_menu.cpp:77 @@ -1672,8 +1682,8 @@ msgstr "Verbinden" #: src/supertux/menu/editor_level_select_menu.cpp:98 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:42 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:63 -#: src/supertux/menu/worldmap_cheat_menu.cpp:56 -#: src/supertux/menu/worldmap_cheat_menu.cpp:195 +#: src/supertux/menu/worldmap_cheat_menu.cpp:57 +#: src/supertux/menu/worldmap_cheat_menu.cpp:196 #: src/supertux/menu/editor_levelset_select_menu.cpp:114 #: src/supertux/menu/options_menu.cpp:223 #: src/supertux/menu/editor_delete_levelset_menu.cpp:69 @@ -1687,8 +1697,8 @@ msgstr "Verbinden" #: src/supertux/menu/addon_browse_menu.cpp:162 #: src/supertux/menu/web_asset_menu.cpp:48 #: src/supertux/menu/profile_name_menu.cpp:45 -#: src/supertux/menu/keyboard_menu.cpp:68 -#: src/supertux/menu/sorted_contrib_menu.cpp:53 +#: src/supertux/menu/keyboard_menu.cpp:71 +#: src/supertux/menu/sorted_contrib_menu.cpp:51 #: src/supertux/menu/language_menu.cpp:63 #: src/supertux/menu/joystick_menu.cpp:99 #: src/supertux/menu/contrib_levelset_menu.cpp:67 @@ -1701,28 +1711,16 @@ msgstr "Verbinden" msgid "Back" msgstr "Zurück" -#: src/addon/addon_manager.cpp:484 -msgid "Error deleting addon .zip file: \"PHYSFS_delete\" failed: " -msgstr "" - -#: src/addon/addon_manager.cpp:490 -msgid "Error uninstalling add-on: Addon with id " -msgstr "" - -#: src/addon/addon_manager.cpp:490 -msgid " not found." -msgstr "" - -#: src/addon/addon_manager.cpp:559 +#: src/addon/addon_manager.cpp:562 msgid "Only one resource pack is allowed to be enabled at a time." -msgstr "" +msgstr "Es darf nur ein Ressourcenpack zur Zeit aktiviert sein." -#: src/addon/addon_manager.cpp:823 +#: src/addon/addon_manager.cpp:837 #, c++-format msgid "Add-on {} by {} is already installed." msgstr "Add-on {} von {} ist bereits installiert." -#: src/addon/addon_manager.cpp:843 +#: src/addon/addon_manager.cpp:857 #, c++-format msgid "Add-on {} by {} successfully installed." msgstr "Add-on {} von {} erfolgreich installiert." @@ -1732,7 +1730,7 @@ msgid "Levelset" msgstr "Levelsammlung" #: src/addon/addon.cpp:74 src/supertux/menu/editor_levelset_menu.cpp:54 -#: data//images/engine/editor/objects.stoi:386 +#: data//images/engine/editor/objects.stoi:389 msgid "Worldmap" msgstr "Weltkarte" @@ -1763,11 +1761,11 @@ msgstr "{} \"{}\" von \"{}\"" #: src/addon/addon.cpp:114 msgid "add-on" -msgstr "" +msgstr "Add-on" #: src/addon/addon.cpp:114 msgid "add-ons" -msgstr "" +msgstr "Add-ons" #: src/badguy/toad.hpp:38 msgid "Toad" @@ -1781,6 +1779,10 @@ msgstr "Baumwesen" msgid "Plant" msgstr "Pflanze" +#: src/badguy/tarantula.hpp:39 src/badguy/tarantula.cpp:353 +msgid "Tarantula" +msgstr "" + #: src/badguy/granito_giant.cpp:71 msgid "Awake" msgstr "Wach" @@ -1791,15 +1793,15 @@ msgstr "Schlafend" #: src/badguy/granito_giant.cpp:73 msgid "Corrupted A" -msgstr "" +msgstr "Korrupt A" #: src/badguy/granito_giant.cpp:74 msgid "Corrupted B" -msgstr "" +msgstr "Korrupt B" #: src/badguy/granito_giant.cpp:75 msgid "Corrupted C" -msgstr "" +msgstr "Korrupt C" #: src/badguy/crystallo.hpp:33 msgid "Crystallo" @@ -1809,7 +1811,7 @@ msgstr "Kristallo" #: src/badguy/kamikazesnowball.cpp:118 src/badguy/walkingleaf.cpp:36 #: src/badguy/jumpy.cpp:46 src/badguy/igel.cpp:189 src/badguy/mrtree.cpp:51 msgid "Corrupted" -msgstr "" +msgstr "Korrupt" #: src/badguy/totem.hpp:37 msgid "Totem" @@ -1819,23 +1821,27 @@ msgstr "Totem" msgid "Stalactite" msgstr "Stalaktit" -#: src/badguy/fish_chasing.cpp:195 +#: src/badguy/fish_chasing.cpp:198 msgid "Tracking Distance" msgstr "" -#: src/badguy/fish_chasing.cpp:196 +#: src/badguy/fish_chasing.cpp:199 msgid "Losing Distance" msgstr "" -#: src/badguy/fish_chasing.cpp:197 +#: src/badguy/fish_chasing.cpp:200 msgid "Chase Speed" msgstr "Verfolgungsgeschwindigkeit" +#: src/badguy/root_sapling.hpp:41 +msgid "Root Sapling" +msgstr "" + #: src/badguy/haywire.hpp:46 msgid "Haywire" msgstr "Verrückte Bombe" -#: src/badguy/dispenser.hpp:51 +#: src/badguy/dispenser.hpp:52 msgid "Dispenser" msgstr "Verteiler" @@ -1851,7 +1857,7 @@ msgstr "Zeekling" msgid "Pumpkin" msgstr "Kürbis" -#: src/badguy/bouncing_snowball.cpp:70 +#: src/badguy/bouncing_snowball.cpp:82 msgid "Fatbat" msgstr "" @@ -1868,9 +1874,9 @@ msgid "Mr. Iceblock" msgstr "" #: src/badguy/granito.hpp:39 src/badguy/darttrap.cpp:163 -#: src/badguy/corrupted_granito.cpp:175 src/badguy/dispenser.cpp:410 +#: src/badguy/corrupted_granito.cpp:175 src/badguy/dispenser.cpp:438 msgid "Granito" -msgstr "" +msgstr "Granito" #: src/badguy/fish_swimming.cpp:54 src/badguy/jumpy.cpp:44 #: data//images/ice_world.strf:10 data//images/tiles.strf:28 @@ -1885,15 +1891,15 @@ msgstr "Wald" #: src/badguy/crusher.hpp:71 msgid "Crusher" -msgstr "" +msgstr "Crusher" #: src/badguy/flame.cpp:84 msgid "Fire" -msgstr "" +msgstr "Feuer" #: src/badguy/flame.cpp:85 msgid "Ghost" -msgstr "" +msgstr "Geist" #: src/badguy/corrupted_granito_big.hpp:35 msgid "Corrupted Big Granito" @@ -1923,15 +1929,15 @@ msgstr "Käpt'n Schneeball" msgid "Ghost Tree" msgstr "Geisterbaum" -#: src/badguy/willowisp.cpp:313 +#: src/badguy/willowisp.cpp:314 msgid "Track range" msgstr "Verfolgungsreichweite" -#: src/badguy/willowisp.cpp:314 +#: src/badguy/willowisp.cpp:315 msgid "Vanish range" msgstr "Verschwinde-Entfernung" -#: src/badguy/willowisp.cpp:315 +#: src/badguy/willowisp.cpp:316 msgid "Fly speed" msgstr "Fluggeschwindigkeit" @@ -1943,7 +1949,7 @@ msgstr "Kugelblitz" msgid "Mole's rock" msgstr "Maulwurfsfelsen" -#: src/badguy/badguy.cpp:1062 +#: src/badguy/badguy.cpp:1064 msgid "Death script" msgstr "Todesskript" @@ -2001,11 +2007,11 @@ msgstr "Schädel" #: src/badguy/snowball.hpp:30 msgid "Mr. Snowball" -msgstr "" +msgstr "Herr Schneeball" #: src/badguy/smartblock.hpp:30 msgid "Mrs. Iceblock" -msgstr "" +msgstr "Frau Eisblock" #: src/badguy/yeti.cpp:370 msgid "Fixed position" @@ -2021,7 +2027,7 @@ msgstr "Goldbombe" #: src/badguy/corrupted_granito.hpp:44 msgid "Corrupted Granito" -msgstr "" +msgstr "Korrupter Granito" #: src/badguy/mrbomb.cpp:48 msgid "Classic" @@ -2031,31 +2037,31 @@ msgstr "" msgid "Flying Snowball" msgstr "Fliegender Schneeball" -#: src/badguy/crusher.cpp:74 +#: src/badguy/crusher.cpp:75 msgid "Ice (normal)" -msgstr "" +msgstr "Eis (normal)" -#: src/badguy/crusher.cpp:75 +#: src/badguy/crusher.cpp:76 msgid "Ice (big)" -msgstr "" +msgstr "Eis (groß)" -#: src/badguy/crusher.cpp:76 +#: src/badguy/crusher.cpp:77 msgid "Rock (normal)" -msgstr "" +msgstr "Felsen (normal)" -#: src/badguy/crusher.cpp:77 +#: src/badguy/crusher.cpp:78 msgid "Rock (big)" -msgstr "" +msgstr "Felsen (groß)" -#: src/badguy/crusher.cpp:78 +#: src/badguy/crusher.cpp:79 msgid "Corrupted (normal)" msgstr "" -#: src/badguy/crusher.cpp:79 +#: src/badguy/crusher.cpp:80 msgid "Corrupted (big)" msgstr "" -#: src/badguy/crusher.cpp:475 +#: src/badguy/crusher.cpp:492 msgid "Sideways" msgstr "Seitwärts" @@ -2081,15 +2087,15 @@ msgstr "Schlafender Kristallo" #: src/badguy/jumpy.cpp:45 msgid "Wooden" -msgstr "" +msgstr "Holz" #: src/badguy/jumpy.cpp:47 msgid "Metal" -msgstr "" +msgstr "Metall" #: src/badguy/jumpy.cpp:48 msgid "Bag" -msgstr "" +msgstr "Sack" #: src/badguy/willowisp.hpp:57 msgid "Will o' Wisp" @@ -2097,7 +2103,7 @@ msgstr "Weidenwisp" #: src/badguy/fish_jumping.hpp:41 msgid "Jumping Fish" -msgstr "" +msgstr "Springender Fisch" #: src/badguy/badguy.hpp:61 msgid "Badguy" @@ -2113,6 +2119,10 @@ msgstr "Spiky" #: src/badguy/walkingleaf.hpp:33 msgid "Walking Leaf" +msgstr "Laufendes Blatt" + +#: src/badguy/root.hpp:39 +msgid "Root" msgstr "" #: src/badguy/owl.cpp:241 @@ -2159,10 +2169,14 @@ msgstr "Wandelnde Kerze" msgid "Angry Stone" msgstr "Wütender Stein" -#: src/badguy/spidermite.hpp:38 +#: src/badguy/tarantula.cpp:354 msgid "Spidermite" msgstr "" +#: src/badguy/tarantula.cpp:374 +msgid "Static" +msgstr "" + #: src/badguy/ghoul.hpp:30 msgid "Ghoul" msgstr "Ghul" @@ -2181,11 +2195,11 @@ msgstr "" #: src/badguy/stalactite.cpp:156 msgid "ice" -msgstr "" +msgstr "Eis" #: src/badguy/stalactite.cpp:157 msgid "rock" -msgstr "" +msgstr "Felsen" #: src/badguy/fish_chasing.hpp:33 msgid "Chasing Fish" @@ -2195,41 +2209,41 @@ msgstr "Verfolgender Fisch" msgid "Stumpy" msgstr "Stumpfi" -#: src/badguy/dispenser.cpp:384 +#: src/badguy/dispenser.cpp:412 msgid "Interval (seconds)" msgstr "Intervall (Sekunden)" -#: src/badguy/dispenser.cpp:385 +#: src/badguy/dispenser.cpp:413 msgid "Random" msgstr "Zufällig" -#: src/badguy/dispenser.cpp:388 +#: src/badguy/dispenser.cpp:416 #: src/supertux/menu/editor_objectgroup_menu.cpp:30 -#: src/editor/toolbox_widget.cpp:102 +#: src/editor/toolbox_widget.cpp:101 msgid "Objects" msgstr "Objekte" -#: src/badguy/dispenser.cpp:391 +#: src/badguy/dispenser.cpp:419 msgid "Limit dispensed badguys" msgstr "Gleichzeitige Anzahl an Gegnern begrenzen" -#: src/badguy/dispenser.cpp:393 +#: src/badguy/dispenser.cpp:421 msgid "Obey Gravity" msgstr "Der Gravitation gehorchen" -#: src/badguy/dispenser.cpp:395 +#: src/badguy/dispenser.cpp:423 msgid "Max concurrent badguys" msgstr "Maximale Anzahl gleichzeitiger Gegner" -#: src/badguy/dispenser.cpp:407 +#: src/badguy/dispenser.cpp:435 msgid "Dropper" msgstr "" -#: src/badguy/dispenser.cpp:408 +#: src/badguy/dispenser.cpp:436 msgid "Cannon" msgstr "Kanone" -#: src/badguy/dispenser.cpp:409 src/worldmap/special_tile.cpp:77 +#: src/badguy/dispenser.cpp:437 src/worldmap/special_tile.cpp:77 msgid "Invisible" msgstr "Unsichtbar" @@ -2239,9 +2253,9 @@ msgstr "Schnecke" #: src/badguy/smartball.hpp:32 msgid "Mrs. Snowball" -msgstr "" +msgstr "Frau Schneeball" -#: src/badguy/bouncing_snowball.hpp:38 +#: src/badguy/bouncing_snowball.hpp:39 msgid "Bouncing Snowball" msgstr "Springender Schneeball" @@ -2317,7 +2331,7 @@ msgstr "Verstecke" msgid "Unknown object" msgstr "Unbekanntes Objekt" -#: src/supertux/sector.cpp:481 +#: src/supertux/sector.cpp:507 msgid "Press escape to skip" msgstr "Escape drücken zum Überspringen" @@ -2483,11 +2497,11 @@ msgstr "´SUPERTUX2_USER_DIR Verzeichnis für Benutzerdaten (gespeicherte Spiele msgid " SUPERTUX2_DATA_DIR Directory for the games datafiles" msgstr " SUPERTUX2_DATA_DIR Verzeichnis für Spieldatendateien" -#: src/supertux/title_screen.cpp:257 +#: src/supertux/title_screen.cpp:272 msgid "Copyright" msgstr "Copyright" -#: src/supertux/title_screen.cpp:258 +#: src/supertux/title_screen.cpp:273 msgid "" "This game comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to\n" "redistribute it under certain conditions; see the license file for details.\n" @@ -2514,7 +2528,7 @@ msgstr "Levelnamen bei Bearbeitung nicht teilen" msgid "" "Enable this if you want to work on secret levels and don't want the names to" " be spoiled" -msgstr "" +msgstr "Aktiviere dies, wenn du an geheimen Levels arbeitest und nicht möchtest, dass die Namen für alle sichtbar sind" #: src/supertux/menu/integrations_menu.cpp:54 msgid "Enable Discord integration" @@ -2524,7 +2538,7 @@ msgstr "Discord-Integration aktivieren" msgid "" "Sends information to your Discord application about what you're doing in the" " game." -msgstr "" +msgstr "Sendet Informationen an Discord darüber, was du im Spiel machst." #: src/supertux/menu/integrations_menu.cpp:57 msgid "Discord (disabled; not compiled)" @@ -2533,11 +2547,11 @@ msgstr "Discord (deaktiviert; nicht integriert)" #: src/supertux/menu/editor_converters_menu.cpp:61 #: src/supertux/menu/editor_menu.cpp:85 msgid "Convert Tiles" -msgstr "" +msgstr "Kacheln konvertieren" #: src/supertux/menu/editor_converters_menu.cpp:64 msgid "Select Tile Conversion File" -msgstr "" +msgstr "Kachel-Konvertierungsdatei auswählen" #: src/supertux/menu/editor_converters_menu.cpp:72 #, c++-format @@ -2546,15 +2560,15 @@ msgstr "Von: {}" #: src/supertux/menu/editor_converters_menu.cpp:75 msgid "Convert Tiles By File" -msgstr "" +msgstr "Kacheln mithilfe einer Datei konvertieren" #: src/supertux/menu/editor_converters_menu.cpp:76 msgid "Convert all tiles in the current level by a file, specified above." -msgstr "" +msgstr "Alle Kacheln des aktuellen Levels mithilfe der oben angegebenen Datei konvertieren" #: src/supertux/menu/editor_converters_menu.cpp:89 msgid "No tile conversion file selected." -msgstr "" +msgstr "Keine Kachel-Konvertierungsdatei ausgewählt." #: src/supertux/menu/editor_converters_menu.cpp:93 msgid "" @@ -2562,7 +2576,7 @@ msgid "" "\n" "Note: This should not be ran more than once on a level.\n" "Creating a separate copy of the level is highly recommended." -msgstr "" +msgstr "Alle Kacheln des aktuellen Levels werden konvertiert. Fortfahren?\n\nHinweis: Diese Aktion sollte nicht öfter als einmal pro Level durchgeführt werden.\nEs wird dringend geraten, eine Sicherungskopie des Levels zu erstellen." #: src/supertux/menu/video_system_menu.cpp:36 msgid "Select Video System" @@ -2575,7 +2589,7 @@ msgstr "Verwendetes Videosystem: {}" #: src/supertux/menu/video_system_menu.cpp:54 msgid "Restart game for the changes to take effect" -msgstr "" +msgstr "Starte das Spiel neu, um die Änderungen anzuwenden" #: src/supertux/menu/contrib_menu.cpp:68 #: src/supertux/menu/world_set_menu.cpp:31 @@ -2585,29 +2599,29 @@ msgstr "Zusatzlevel" #: src/supertux/menu/contrib_menu.cpp:98 #: src/supertux/menu/contrib_menu.cpp:112 msgid "Official Contrib Levels" -msgstr "" +msgstr "Offiziell beigesteuerte Levels" #: src/supertux/menu/contrib_menu.cpp:99 #: src/supertux/menu/contrib_menu.cpp:118 msgid "Community Contrib Levels" -msgstr "" +msgstr "Community-beigesteuerte Levels" #: src/supertux/menu/contrib_menu.cpp:100 #: src/supertux/menu/contrib_menu.cpp:124 msgid "User Contrib Levels" -msgstr "" +msgstr "Benutzer-beigesteuerte Levels" #: src/supertux/menu/contrib_menu.cpp:113 msgid "How is this possible? There are no Official Contrib Levels!" -msgstr "" +msgstr "Wie ist das möglich? Es gibt keine offiziell beigesteuerten Levels!" #: src/supertux/menu/contrib_menu.cpp:119 msgid "No Community Contrib Levels yet. Download them from the Add-ons Menu." -msgstr "" +msgstr "Es gibt hier noch keine von der Community erstellten Levels. Lade sie aus dem Add-ons-Menü herunter." #: src/supertux/menu/contrib_menu.cpp:125 msgid "No User Contrib Levels yet. Create some with the Level Editor." -msgstr "" +msgstr "Es gibt hier noch keine vom Benutzer erstellten Levels. Erstelle ein paar mit dem Level-Editor." #: src/supertux/menu/debug_menu.cpp:34 msgid "Debug" @@ -2670,29 +2684,29 @@ msgstr "Speichern" #: src/supertux/menu/multiplayer_menu.cpp:27 #: src/supertux/menu/multiplayer_players_menu.cpp:34 msgid "Multiplayer" -msgstr "" +msgstr "Mehrspieler" #: src/supertux/menu/multiplayer_menu.cpp:30 msgid "Auto-manage Players" -msgstr "" +msgstr "Spieler automatisch verwalten" #: src/supertux/menu/multiplayer_menu.cpp:31 msgid "" "Automatically add and remove players when controllers are plugged or " "unplugged" -msgstr "" +msgstr "Spieler werden automatisch hinzugefügt und entfernt, wenn Controller verbunden oder getrennt werden." #: src/supertux/menu/multiplayer_menu.cpp:33 msgid "Allow Multibind" -msgstr "" +msgstr "Multibind erlauben" #: src/supertux/menu/multiplayer_menu.cpp:34 msgid "Allow binding multiple joysticks to a single player" -msgstr "" +msgstr "Erlaubt es, dass ein Spieler von mehreren Joysticks gesteuert wird" #: src/supertux/menu/multiplayer_menu.cpp:36 msgid "Manage Players" -msgstr "" +msgstr "Spieler verwalten" #: src/supertux/menu/editor_sectors_menu.cpp:31 msgid "Choose Sector" @@ -2725,43 +2739,43 @@ msgstr "Sektor löschen" #: src/supertux/menu/custom_menu_menu.cpp:49 #: src/supertux/menu/options_menu.cpp:191 msgid "Menu Customization" -msgstr "" +msgstr "Menü anpassen" #: src/supertux/menu/custom_menu_menu.cpp:51 msgid "Menu Back Color" -msgstr "" +msgstr "Menü-Hintergrundfarbe" #: src/supertux/menu/custom_menu_menu.cpp:52 msgid "Menu Front Color" -msgstr "" +msgstr "Menü-Vordergrundfarbe" #: src/supertux/menu/custom_menu_menu.cpp:53 msgid "Menu Help Back Color" -msgstr "" +msgstr "Menühilfe-Hintergrundfarbe" #: src/supertux/menu/custom_menu_menu.cpp:54 msgid "Menu Help Front Color" -msgstr "" +msgstr "Menühilfe-Vordergrundfarbe" #: src/supertux/menu/custom_menu_menu.cpp:55 msgid "Label Text Color" -msgstr "" +msgstr "Beschriftungstext-Farbe" #: src/supertux/menu/custom_menu_menu.cpp:56 msgid "Active Text Color" -msgstr "" +msgstr "Aktive Textfarbe" #: src/supertux/menu/custom_menu_menu.cpp:57 msgid "Divider Line Color" -msgstr "" +msgstr "Trennstrichfarbe" #: src/supertux/menu/custom_menu_menu.cpp:58 msgid "Menu Roundness" -msgstr "" +msgstr "Menürundung" #: src/supertux/menu/custom_menu_menu.cpp:60 msgid "Editor Interface Color" -msgstr "" +msgstr "Farbe der Editor-Benutzeroberfläche" #: src/supertux/menu/custom_menu_menu.cpp:61 msgid "Editor Hover Color" @@ -2773,7 +2787,7 @@ msgstr "" #: src/supertux/menu/custom_menu_menu.cpp:64 msgid "Reset to defaults" -msgstr "" +msgstr "Auf Standard zurücksetzen" #: src/supertux/menu/editor_level_select_menu.cpp:72 msgid "Empty World" @@ -2832,94 +2846,95 @@ msgstr "Dies wird die Autosicherungsdatei löschen. Bist du dir sicher?" #: src/supertux/menu/cheat_apply_menu.cpp:33 #: src/supertux/menu/cheat_apply_menu.cpp:51 msgid "Apply cheat to player" -msgstr "" +msgstr "Cheat auf Player anwenden" #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:39 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:60 #: src/supertux/menu/multiplayer_players_menu.cpp:39 +#: src/supertux/menu/keyboard_menu.cpp:63 #: src/supertux/menu/cheat_apply_menu.cpp:39 #: src/supertux/menu/cheat_apply_menu.cpp:59 #: src/supertux/menu/multiplayer_player_menu.cpp:37 #, c++-format msgid "Player {}" -msgstr "" +msgstr "Spieler {}" #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:57 #: src/supertux/menu/cheat_apply_menu.cpp:36 #: src/supertux/menu/cheat_apply_menu.cpp:56 msgid "All Players" -msgstr "" +msgstr "Alle Spieler" -#: src/supertux/menu/worldmap_cheat_menu.cpp:35 +#: src/supertux/menu/worldmap_cheat_menu.cpp:36 #: src/supertux/menu/cheat_menu.cpp:31 msgid "Cheats" msgstr "Cheats" -#: src/supertux/menu/worldmap_cheat_menu.cpp:37 +#: src/supertux/menu/worldmap_cheat_menu.cpp:38 #: src/supertux/menu/cheat_menu.cpp:33 msgid "Bonus: Grow" msgstr "Bonus: Groß" -#: src/supertux/menu/worldmap_cheat_menu.cpp:38 +#: src/supertux/menu/worldmap_cheat_menu.cpp:39 #: src/supertux/menu/cheat_menu.cpp:34 msgid "Bonus: Fire" msgstr "Bonus: Feuer" -#: src/supertux/menu/worldmap_cheat_menu.cpp:39 +#: src/supertux/menu/worldmap_cheat_menu.cpp:40 #: src/supertux/menu/cheat_menu.cpp:35 msgid "Bonus: Ice" msgstr "Bonus: Eis" -#: src/supertux/menu/worldmap_cheat_menu.cpp:40 +#: src/supertux/menu/worldmap_cheat_menu.cpp:41 #: src/supertux/menu/cheat_menu.cpp:36 msgid "Bonus: Air" msgstr "Bonus: Luft" -#: src/supertux/menu/worldmap_cheat_menu.cpp:41 +#: src/supertux/menu/worldmap_cheat_menu.cpp:42 #: src/supertux/menu/cheat_menu.cpp:37 msgid "Bonus: Earth" msgstr "Bonus: Erde" -#: src/supertux/menu/worldmap_cheat_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_menu.cpp:43 msgid "Bonus: None" msgstr "Bonus: Kein" -#: src/supertux/menu/worldmap_cheat_menu.cpp:45 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 #: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:51 msgid "Leave Ghost Mode" msgstr "Geistmodus deaktivieren" -#: src/supertux/menu/worldmap_cheat_menu.cpp:45 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 #: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:50 msgid "Activate Ghost Mode" msgstr "Geistmodus aktivieren" -#: src/supertux/menu/worldmap_cheat_menu.cpp:47 +#: src/supertux/menu/worldmap_cheat_menu.cpp:48 #: src/supertux/menu/cheat_menu.cpp:41 msgid "Finish Level" msgstr "Level abschließen" -#: src/supertux/menu/worldmap_cheat_menu.cpp:48 +#: src/supertux/menu/worldmap_cheat_menu.cpp:49 msgid "Reset Level" msgstr "Level neu starten" -#: src/supertux/menu/worldmap_cheat_menu.cpp:50 +#: src/supertux/menu/worldmap_cheat_menu.cpp:51 msgid "Finish Worldmap" msgstr "Weltkarte fertigstellen" -#: src/supertux/menu/worldmap_cheat_menu.cpp:51 +#: src/supertux/menu/worldmap_cheat_menu.cpp:52 msgid "Reset Worldmap" msgstr "Weltkarte zurücksetzen" -#: src/supertux/menu/worldmap_cheat_menu.cpp:53 +#: src/supertux/menu/worldmap_cheat_menu.cpp:54 msgid "Go to level" msgstr "Zu Level gehen" -#: src/supertux/menu/worldmap_cheat_menu.cpp:54 +#: src/supertux/menu/worldmap_cheat_menu.cpp:55 msgid "Go to main spawnpoint" msgstr "Zum Hauptstartpunkt gehen" -#: src/supertux/menu/worldmap_cheat_menu.cpp:187 +#: src/supertux/menu/worldmap_cheat_menu.cpp:188 msgid "Select level" msgstr "Level wählen" @@ -2941,8 +2956,8 @@ msgstr "Welt wählen" #, c++-format msgid "{} level" msgid_plural "{} levels" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "{} Level" +msgstr[1] "{} Levels" #: src/supertux/menu/editor_levelset_select_menu.cpp:112 msgid "Create World" @@ -3009,7 +3024,7 @@ msgstr "Videosystem ändern" #: src/supertux/menu/options_menu.cpp:117 msgid "Change video system used to render graphics" -msgstr "" +msgstr "Das Videosystem zur Darstellung von Grafiken ändern" #: src/supertux/menu/options_menu.cpp:124 #: src/supertux/menu/options_select_menu.cpp:38 @@ -3035,22 +3050,22 @@ msgstr "Musik (deaktiviert)" #: src/supertux/menu/options_menu.cpp:147 #: src/supertux/menu/options_select_menu.cpp:39 msgid "Controls" -msgstr "" +msgstr "Steuerung" #: src/supertux/menu/options_menu.cpp:151 msgid "Enable Rumbling Controllers" -msgstr "" +msgstr "Vibrierende Controller aktivieren" #: src/supertux/menu/options_menu.cpp:152 msgid "Enable vibrating the game controllers." -msgstr "" +msgstr "Aktiviert, dass die Game-Controller vibrieren" #: src/supertux/menu/options_menu.cpp:152 msgid "This feature is currently only used in the multiplayer options menu." -msgstr "" +msgstr "Diese Funktion wird derzeit nur in den Multiplayer-Optionen verwendet." #: src/supertux/menu/options_menu.cpp:154 -#: src/supertux/menu/keyboard_menu.cpp:32 +#: src/supertux/menu/keyboard_menu.cpp:34 msgid "Setup Keyboard" msgstr "Tastatureinrichtung" @@ -3087,7 +3102,7 @@ msgstr "Multiplayer-Einstellungen" #: src/supertux/menu/options_menu.cpp:175 msgid "Configure settings specific to multiplayer" -msgstr "" +msgstr "Einstellungen, die speziell für Multiplayer sind, bearbeiten" #: src/supertux/menu/options_menu.cpp:178 msgid "Enable transitions" @@ -3099,11 +3114,11 @@ msgstr "Bildschirmübergänge und sanfte Menüanimation aktivieren" #: src/supertux/menu/options_menu.cpp:181 msgid "Custom title screen levels" -msgstr "" +msgstr "Benutzerdefinierte Titel-Bildschirm-Level" #: src/supertux/menu/options_menu.cpp:182 msgid "Allow overriding the title screen level, when loading certain worlds" -msgstr "" +msgstr "Erlaubt es, das Level, das auf dem Titel-Bildschirm angezeigt wird, wenn Welten geladen werden, zu überschreiben." #: src/supertux/menu/options_menu.cpp:185 msgid "Christmas Mode" @@ -3121,7 +3136,7 @@ msgstr "Gibt an, ob SuperTux den Namen des aktuellen Levels in Sozialen Medien ( #: src/supertux/menu/options_menu.cpp:192 msgid "Customize the appearance of the menus" -msgstr "" +msgstr "Darstellung der Menüs anpassen" #: src/supertux/menu/options_menu.cpp:199 #: src/supertux/menu/options_select_menu.cpp:41 @@ -3164,7 +3179,7 @@ msgstr "Auf neue Version überprüfen" msgid "" "Allows the game to perform checks for new SuperTux releases on startup and " "notify if any found." -msgstr "" +msgstr "Erlaubt es dem Spiel, beim Start eine Überprüfung auf neue Versionen durchzuführen und zu benachrichtigen, wenn neue gefunden wurden." #: src/supertux/menu/options_menu.cpp:245 #: src/supertux/menu/options_menu.cpp:288 src/supertux/direction.cpp:76 @@ -3247,7 +3262,7 @@ msgstr "Musiklautstärke anpassen" #: src/supertux/menu/options_menu.cpp:517 msgid "On-screen controls scale" -msgstr "" +msgstr "Skalierung der On-Screen-Bedienelemente" #: src/supertux/menu/options_menu.cpp:638 msgid "" @@ -3263,7 +3278,7 @@ msgstr "Du kannst die Welt nicht löschen, die du gerade bearbeitest" #: src/supertux/menu/editor_delete_levelset_menu.cpp:83 #, c++-format msgid "You are about to delete world \"{}\". Are you sure?" -msgstr "" +msgstr "Sind sind dabei, die Welt \"{}\" zu löschen. Sind Sie sicher?" #: src/supertux/menu/addon_preview_menu.cpp:82 #, c++-format @@ -3272,7 +3287,7 @@ msgstr "{} \"{}\"" #: src/supertux/menu/addon_preview_menu.cpp:87 msgid "Some information about this add-on is not available." -msgstr "" +msgstr "Einige Informationen über dieses Add-on sind nicht verfügbar." #: src/supertux/menu/addon_preview_menu.cpp:88 msgid "Perform a \"Check Online\" to try retrieving it." @@ -3280,122 +3295,122 @@ msgstr "" #: src/supertux/menu/addon_preview_menu.cpp:92 msgid "No author specified." -msgstr "" +msgstr "Kein Autor angegeben." #: src/supertux/menu/addon_preview_menu.cpp:92 #, c++-format msgid "Author: {}" -msgstr "" +msgstr "Autor: {}" #: src/supertux/menu/addon_preview_menu.cpp:93 #, c++-format msgid "Type: {}" -msgstr "" +msgstr "Typ: {}" #: src/supertux/menu/addon_preview_menu.cpp:94 msgid "No license specified." -msgstr "" +msgstr "Keine Lizenz angegeben." #: src/supertux/menu/addon_preview_menu.cpp:94 #, c++-format msgid "License: {}" -msgstr "" +msgstr "Lizenz: {}" #: src/supertux/menu/addon_preview_menu.cpp:99 msgid "Dependencies:" -msgstr "" +msgstr "Abhängigkeiten:" #: src/supertux/menu/addon_preview_menu.cpp:108 msgid "Installed" -msgstr "" +msgstr "Installiert" #: src/supertux/menu/addon_preview_menu.cpp:108 msgid "Not installed" -msgstr "" +msgstr "Nicht installiert" #: src/supertux/menu/addon_preview_menu.cpp:113 msgid "Not available!" -msgstr "" +msgstr "Nicht verfügbar!" #: src/supertux/menu/addon_preview_menu.cpp:120 msgid "Description:" -msgstr "" +msgstr "Beschreibung:" #: src/supertux/menu/addon_preview_menu.cpp:123 msgid "No description available." -msgstr "" +msgstr "Keine Beschreibung verfügbar." #: src/supertux/menu/addon_preview_menu.cpp:147 msgid "Failed to load all available screenshot previews." -msgstr "" +msgstr "Es konnten nicht alle verfügbaren Screenshots für die Vorschau geladen werden." #: src/supertux/menu/addon_preview_menu.cpp:152 msgid "Show screenshots" -msgstr "" +msgstr "Screenshots anzeigen" #: src/supertux/menu/addon_preview_menu.cpp:165 msgid "Screenshot previews are disabled for automatic installs." -msgstr "" +msgstr "Screenshot-Vorschau ist für automatische Installationen deaktiviert." #: src/supertux/menu/addon_preview_menu.cpp:169 msgid "No screenshot previews available." -msgstr "" +msgstr "Es ist keine Screenshot-Vorschau verfügbar." #: src/supertux/menu/addon_preview_menu.cpp:177 msgid "Install" -msgstr "" +msgstr "Installieren" #: src/supertux/menu/addon_preview_menu.cpp:190 msgid "Uninstall" -msgstr "" +msgstr "Deinstallieren" #: src/supertux/menu/addon_preview_menu.cpp:214 #, c++-format msgid "Are you sure you want to uninstall \"{}\"?" -msgstr "" +msgstr "Bist du sicher, dass du \"{}\" deinstallieren möchtest?" #: src/supertux/menu/addon_preview_menu.cpp:215 msgid "" "\n" "Your progress won't be lost." -msgstr "" +msgstr "\nDein Fortschritt wird nicht gelöscht." #: src/supertux/menu/addon_preview_menu.cpp:227 #, c++-format msgid "" "NOTE: The add-on \"{}\" is a dependency of {} other installed {}.\n" "Are you sure you wish to uninstall?" -msgstr "" +msgstr "HINWEIS: Das Add-on \"{}\" ist eine Abhängigkeit von {} anderen installierten {}.\nBist du sicher, dass du deinstallieren möchtest?" #: src/supertux/menu/addon_preview_menu.cpp:246 #, c++-format msgid "" "Cannot toggle add-on \"{}\":\n" "{}" -msgstr "" +msgstr "Add-on \"{}\" konnte nicht aktiviert/deaktiviert werden:\n{}" #: src/supertux/menu/addon_preview_menu.cpp:279 msgid "Fetching screenshot previews..." -msgstr "" +msgstr "Screenshot-Vorschau wird abgerufen..." #: src/supertux/menu/addon_preview_menu.cpp:300 msgid "Updating" -msgstr "" +msgstr "Aktualisieren" #: src/supertux/menu/addon_preview_menu.cpp:300 msgid "Downloading" -msgstr "" +msgstr "Herunterladen" #: src/supertux/menu/addon_preview_menu.cpp:328 msgid "Add-on uninstalled successfully." -msgstr "" +msgstr "Add-on wurde erfolgreich deinstalliert." #: src/supertux/menu/addon_preview_menu.cpp:333 #, c++-format msgid "" "Error uninstalling add-on:\n" "{}" -msgstr "" +msgstr "Fehler beim Deinstallieren des Add-ons:\n{}" #: src/supertux/menu/addon_preview_menu.cpp:361 msgid "" @@ -3442,74 +3457,79 @@ msgstr "Beenden" msgid "" "This will take you to the SuperTux donation page. Are you sure you want to " "continue?" -msgstr "" +msgstr "Die SuperTux-Spendenseite wird aufgerufen. Möchtest du fortfahren?" + +#: src/supertux/menu/editor_sector_menu.cpp:34 +#, c++-format +msgid "Sector {}" +msgstr "Sektor {}" -#: src/supertux/menu/editor_sector_menu.cpp:35 +#: src/supertux/menu/editor_sector_menu.cpp:37 msgid "Initialization script" msgstr "Initialisierungsscript" -#: src/supertux/menu/editor_sector_menu.cpp:36 +#: src/supertux/menu/editor_sector_menu.cpp:38 msgid "Gravity" msgstr "Schwerkraft" -#: src/supertux/menu/editor_sector_menu.cpp:41 +#: src/supertux/menu/editor_sector_menu.cpp:43 msgid "Resize offset X" msgstr "Versatz beim Ändern der Größe in X-Richtung" -#: src/supertux/menu/editor_sector_menu.cpp:42 +#: src/supertux/menu/editor_sector_menu.cpp:44 msgid "Resize offset Y" msgstr "Versatz beim Ändern der Größe in Y-Richtung" -#: src/supertux/menu/editor_sector_menu.cpp:43 +#: src/supertux/menu/editor_sector_menu.cpp:45 msgid "Resize" msgstr "Größe ändern" #: src/supertux/menu/profile_menu.cpp:60 msgid "No profiles found." -msgstr "" +msgstr "Keine Profile gefunden." #: src/supertux/menu/profile_menu.cpp:68 #: src/supertux/menu/profile_menu.cpp:149 #: src/supertux/menu/profile_menu.cpp:168 #, c++-format msgid "Profile {}" -msgstr "" +msgstr "Profil {}" #: src/supertux/menu/profile_menu.cpp:69 #, c++-format msgid "{} (Profile {})" -msgstr "" +msgstr "{} (Profil {})" #: src/supertux/menu/profile_menu.cpp:84 msgid "No profile selected." -msgstr "" +msgstr "Kein Profil ausgewählt." #: src/supertux/menu/profile_menu.cpp:91 src/supertux/menu/profile_menu.cpp:93 #: src/supertux/menu/profile_name_menu.cpp:42 msgid "Rename" -msgstr "" +msgstr "Umbenennen" #: src/supertux/menu/profile_menu.cpp:98 #: src/supertux/menu/profile_menu.cpp:100 msgid "Reset" -msgstr "" +msgstr "Zurücksetzen" #: src/supertux/menu/profile_menu.cpp:103 #: src/supertux/menu/profile_menu.cpp:105 msgid "Reset all" -msgstr "" +msgstr "Alle zurücksetzen" #: src/supertux/menu/profile_menu.cpp:113 #: src/supertux/menu/profile_menu.cpp:115 msgid "Delete all" -msgstr "" +msgstr "Alle löschen" #: src/supertux/menu/profile_menu.cpp:148 #, c++-format msgid "" "This will reset all game progress on the profile \"{}\".\n" "Are you sure?" -msgstr "" +msgstr "Der Spielfortschritt im Profil \"{}\" wird zurückgesetzt.\nMöchtest du fortfahren?" #: src/supertux/menu/profile_menu.cpp:157 msgid "This will reset your game progress on all profiles. Are you sure?" @@ -3520,13 +3540,13 @@ msgstr "Der Spielfortschritt auf allen Profilen wird zurückgesetzt. Bist du sic msgid "" "This will delete the profile \"{}\",\n" "including all game progress on it. Are you sure?" -msgstr "" +msgstr "Das Profil \"{}\" inklusive dem gesamten\ndort enthaltenen Spielfortschritt wird gelöscht. Bist du sicher?" #: src/supertux/menu/profile_menu.cpp:178 msgid "" "This will delete all profiles, including all game progress on them.\n" "Are you sure?" -msgstr "" +msgstr "Alle Profile inklusive der dort enthaltenen Spielfortschritte werden gelöscht.\nBist du sicher?" #: src/supertux/menu/editor_levelset_menu.cpp:53 #: src/supertux/menu/editor_new_levelset_menu.cpp:35 @@ -3535,19 +3555,19 @@ msgstr "Beschreibung" #: src/supertux/menu/editor_levelset_menu.cpp:55 msgid "Title Screen Level" -msgstr "" +msgstr "Titelbildschirm-Level" #: src/supertux/menu/editor_levelset_menu.cpp:56 msgid "A level to be used for the title screen, after exiting the world." -msgstr "" +msgstr "Das Level, das für den Titelbildschirm verwendet wird, nachdem eine Welt beendet wurde." #: src/supertux/menu/multiplayer_players_menu.cpp:46 msgid "Add Player" -msgstr "" +msgstr "Spieler hinzufügen" #: src/supertux/menu/multiplayer_players_menu.cpp:59 msgid "Remove Last Player" -msgstr "" +msgstr "Letzten Spieler entfernen" #: src/supertux/menu/multiplayer_players_menu.cpp:62 msgid "" @@ -3555,7 +3575,7 @@ msgid "" "remove is currently in-game.\n" "\n" "Do you wish to remove them anyways?" -msgstr "" +msgstr "Warnung: Der Spieler, den du versuchst,\nzu entfernen, ist derzeit in einem Spiel.\n\nMöchtest du ihn trotzdem entfernen?" #: src/supertux/menu/addon_menu.cpp:68 msgid "Installed Language Packs" @@ -3594,11 +3614,11 @@ msgstr "{} {} verfügbar" #: src/supertux/menu/addon_menu.cpp:144 msgid "update" -msgstr "" +msgstr "Aktualisierung" #: src/supertux/menu/addon_menu.cpp:144 msgid "updates" -msgstr "" +msgstr "Aktualisierungen" #: src/supertux/menu/addon_menu.cpp:146 msgid "Check for updates" @@ -3748,122 +3768,118 @@ msgstr "Profilbezeichnungen dürfen maximal 20 Zeichen lang sein.\nBitte wähle msgid "An error occurred while creating the profile." msgstr "Bei der Erstellung des Profils ist ein Fehler aufgetreten." -#: src/supertux/menu/keyboard_menu.cpp:34 +#: src/supertux/menu/keyboard_menu.cpp:36 #: src/supertux/menu/joystick_menu.cpp:71 msgid "Up" msgstr "Oben" -#: src/supertux/menu/keyboard_menu.cpp:35 +#: src/supertux/menu/keyboard_menu.cpp:37 #: src/supertux/menu/joystick_menu.cpp:72 msgid "Down" msgstr "Unten" -#: src/supertux/menu/keyboard_menu.cpp:38 +#: src/supertux/menu/keyboard_menu.cpp:40 #: src/supertux/menu/joystick_menu.cpp:75 msgid "Jump" msgstr "Springen" -#: src/supertux/menu/keyboard_menu.cpp:41 +#: src/supertux/menu/keyboard_menu.cpp:43 #: src/supertux/menu/joystick_menu.cpp:78 msgid "Peek Left" msgstr "Links umsehen" -#: src/supertux/menu/keyboard_menu.cpp:42 +#: src/supertux/menu/keyboard_menu.cpp:44 #: src/supertux/menu/joystick_menu.cpp:79 msgid "Peek Right" msgstr "Rechts umsehen" -#: src/supertux/menu/keyboard_menu.cpp:43 +#: src/supertux/menu/keyboard_menu.cpp:45 #: src/supertux/menu/joystick_menu.cpp:80 msgid "Peek Up" msgstr "Oben umsehen" -#: src/supertux/menu/keyboard_menu.cpp:44 +#: src/supertux/menu/keyboard_menu.cpp:46 #: src/supertux/menu/joystick_menu.cpp:81 msgid "Peek Down" msgstr "Unten umsehen" -#: src/supertux/menu/keyboard_menu.cpp:49 +#: src/supertux/menu/keyboard_menu.cpp:51 #: src/supertux/menu/joystick_menu.cpp:83 msgid "Console" msgstr "Konsole" -#: src/supertux/menu/keyboard_menu.cpp:50 +#: src/supertux/menu/keyboard_menu.cpp:52 #: src/supertux/menu/joystick_menu.cpp:84 msgid "Cheat Menu" msgstr "Cheatmenü" -#: src/supertux/menu/keyboard_menu.cpp:51 +#: src/supertux/menu/keyboard_menu.cpp:53 #: src/supertux/menu/joystick_menu.cpp:85 msgid "Debug Menu" msgstr "Debug-Menü" -#: src/supertux/menu/keyboard_menu.cpp:54 +#: src/supertux/menu/keyboard_menu.cpp:56 #: src/supertux/menu/joystick_menu.cpp:87 msgid "Jump with Up" msgstr "Mit Hoch springen" -#: src/supertux/menu/keyboard_menu.cpp:61 -msgid "Player" -msgstr "Spieler" - -#: src/supertux/menu/keyboard_menu.cpp:79 +#: src/supertux/menu/keyboard_menu.cpp:82 msgid "Up cursor" msgstr "Pfeil nach oben" -#: src/supertux/menu/keyboard_menu.cpp:81 +#: src/supertux/menu/keyboard_menu.cpp:84 msgid "Down cursor" msgstr "Pfeil nach unten" -#: src/supertux/menu/keyboard_menu.cpp:83 +#: src/supertux/menu/keyboard_menu.cpp:86 msgid "Left cursor" msgstr "Pfeil nach links" -#: src/supertux/menu/keyboard_menu.cpp:85 +#: src/supertux/menu/keyboard_menu.cpp:88 msgid "Right cursor" msgstr "Pfeil nach rechts" -#: src/supertux/menu/keyboard_menu.cpp:87 +#: src/supertux/menu/keyboard_menu.cpp:90 msgid "Return" msgstr "Eingabetaste" -#: src/supertux/menu/keyboard_menu.cpp:89 +#: src/supertux/menu/keyboard_menu.cpp:92 msgid "Space" msgstr "Leertaste" -#: src/supertux/menu/keyboard_menu.cpp:91 +#: src/supertux/menu/keyboard_menu.cpp:94 msgid "Right Shift" msgstr "Umschalt (rechts)" -#: src/supertux/menu/keyboard_menu.cpp:93 +#: src/supertux/menu/keyboard_menu.cpp:96 msgid "Left Shift" msgstr "Umschalt (links)" -#: src/supertux/menu/keyboard_menu.cpp:95 +#: src/supertux/menu/keyboard_menu.cpp:98 msgid "Right Control" msgstr "Strg (rechts)" -#: src/supertux/menu/keyboard_menu.cpp:97 +#: src/supertux/menu/keyboard_menu.cpp:100 msgid "Left Control" msgstr "Strg (links)" -#: src/supertux/menu/keyboard_menu.cpp:99 +#: src/supertux/menu/keyboard_menu.cpp:102 msgid "Right Alt" msgstr "Alt (rechts)" -#: src/supertux/menu/keyboard_menu.cpp:101 +#: src/supertux/menu/keyboard_menu.cpp:104 msgid "Left Alt" msgstr "Alt (links)" -#: src/supertux/menu/keyboard_menu.cpp:103 +#: src/supertux/menu/keyboard_menu.cpp:106 msgid "Right Command" msgstr "Rechts" -#: src/supertux/menu/keyboard_menu.cpp:105 +#: src/supertux/menu/keyboard_menu.cpp:108 msgid "Left Command" msgstr "Links" -#: src/supertux/menu/keyboard_menu.cpp:119 +#: src/supertux/menu/keyboard_menu.cpp:122 msgid "Press Key" msgstr "Taste drücken" @@ -3944,13 +3960,16 @@ msgstr "Pause" msgid "Leave World" msgstr "Welt verlassen" -#: src/supertux/menu/download_dialog.cpp:41 +#: src/supertux/menu/download_dialog.cpp:42 msgid "Abort Download" msgstr "Herunterladen abbrechen" -#: src/supertux/menu/download_dialog.cpp:58 -msgid "Error:\n" -msgstr "Fehler:\n" +#: src/supertux/menu/download_dialog.cpp:59 +#, c++-format +msgid "" +"Error:\n" +"{}" +msgstr "Fehler:\n{}" #: src/supertux/menu/cheat_menu.cpp:38 msgid "Bonus: Star" @@ -4045,7 +4064,7 @@ msgstr "Leveleinstellungen" msgid "Author" msgstr "Autor" -#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1254 +#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1253 msgid "Contact" msgstr "Kontakt" @@ -4189,7 +4208,7 @@ msgstr "Veraltete Kacheln anzeigen" msgid "" "Indicate all deprecated tiles on the active tilemap, without the need of " "hovering over." -msgstr "" +msgstr "Zeigt alle verlateten Tiles der aktuellen Tilemap an, ohne dass mit der Maus über diese gefahren werden muss." #: src/supertux/menu/editor_menu.cpp:121 msgid "Exit Level Editor" @@ -4219,6 +4238,9 @@ msgid "" "F6 = Render Light\n" "F7 = Grid Snapping\n" "F8 = Show Grid\n" +"Ctrl++ or Ctrl+Scroll Up = Zoom In\n" +"Ctrl+- or Ctrl+Scroll Down = Zoom Out\n" +"Ctrl+D = Reset Zoom\n" "\n" "Scripting Shortcuts:\n" " ------------- \n" @@ -4238,15 +4260,15 @@ msgstr "" #: src/supertux/menu/editor_menu.cpp:232 msgid "Deprecated tiles are still present in the level." -msgstr "" +msgstr "In diesem Level sind immer noch veraltete Kacheln vorhanden." #: src/supertux/menu/editor_menu.cpp:239 msgid "Do you want to show all deprecated tiles on active tilemaps?" -msgstr "" +msgstr "Möchtest du alle veralteten Kacheln in aktiven Tilemaps anzeigen?" #: src/supertux/menu/editor_menu.cpp:246 msgid "There are no more deprecated tiles in the level!" -msgstr "" +msgstr "In diesem Level sind keine veralteten Kacheln mehr vorhanden!" #: src/supertux/menu/multiplayer_player_menu.cpp:40 msgid "Play with the keyboard" @@ -4266,31 +4288,31 @@ msgstr "" #: src/supertux/menu/multiplayer_player_menu.cpp:136 msgid "Controllers" -msgstr "" +msgstr "Controller" #: src/supertux/menu/multiplayer_player_menu.cpp:152 msgid "" "This controller does not support rumbling;\n" "please check the controllers manually." -msgstr "" +msgstr "Dieser Controller unterstützt keine Vibration;\nbitte überprüfen Sie die Controller manuell." #: src/supertux/menu/multiplayer_player_menu.cpp:157 msgid "" "This SuperTux build does not support rumbling\n" "controllers; please check the controllers manually." -msgstr "" +msgstr "Diese Version von SuperTux unterstützt keine Controller-\nVibration; bitte überprüfen Sie die Controller manuell." #: src/supertux/menu/multiplayer_player_menu.cpp:184 msgid "" "This joystick does not support rumbling;\n" "please check the joysticks manually." -msgstr "" +msgstr "Dieser Joystick unterstützt keine Vibration;\nbitte überprüfen Sie die Joysticks manuell." #: src/supertux/menu/multiplayer_player_menu.cpp:189 msgid "" "This SuperTux build does not support rumbling\n" "joysticks; please check the joysticks manually." -msgstr "" +msgstr "Diese Version von SuperTux unterstützt keine Joystick-\nVibration; bitte überprüfen Sie die Joysticks manuell." #: src/supertux/menu/editor_delete_level_menu.cpp:59 msgid "No levels available" @@ -4338,21 +4360,21 @@ msgstr "unten" msgid "Region" msgstr "Bereich" -#: src/supertux/main.cpp:796 +#: src/supertux/main.cpp:801 #, c++-format msgid "New release: SuperTux v{}!" msgstr "Neue Version: SuperTux v{}!" -#: src/supertux/main.cpp:799 +#: src/supertux/main.cpp:804 #, c++-format msgid "" "A new release of SuperTux (v{}) is available!\n" "For more information, you can visit the SuperTux website.\n" "\n" "Do you want to visit the website now?" -msgstr "" +msgstr "Eine neue Version von SuperTux (v{}) ist verfügbar!\nFür weitere Informationen können Sie die SuperTux-\nWebseite besuchen.\n\nMöchten Sie die Webseite jetzt besuchen?" -#: src/supertux/main.cpp:810 +#: src/supertux/main.cpp:815 msgid "Checking for new releases..." msgstr "Auf neue Versionen überprüfen..." @@ -4466,6 +4488,11 @@ msgstr "Hin und Her" msgid "Circular" msgstr "Kreisförmig" +#: src/editor/layers_widget.cpp:331 +#, c++-format +msgid "Sector: {}" +msgstr "Sektor: {}" + #: src/editor/object_option.cpp:92 msgid "true" msgstr "wahr" @@ -4632,18 +4659,18 @@ msgstr "Die Partikelkonfiguration enthält ungespeicherte Änderungen,\nmöchtes msgid "Save as" msgstr "Speichern unter" -#: src/editor/editor.cpp:552 +#: src/editor/editor.cpp:577 msgid "" "This level contains deprecated tiles.\n" "It is strongly recommended to replace all deprecated tiles\n" "to avoid loss of compatibility in future versions." msgstr "" -#: src/editor/editor.cpp:554 +#: src/editor/editor.cpp:579 msgid "Tip: Turn on \"Show Deprecated Tiles\" from the level editor menu." msgstr "" -#: src/editor/editor.cpp:601 +#: src/editor/editor.cpp:626 msgid "" "Don't forget that your levels and assets\n" "aren't saved between sessions!\n" @@ -4651,15 +4678,15 @@ msgid "" "from the \"Manage Assets\" menu." msgstr "Vergiss nicht, dass deine Levels und Spieldaten\nnicht zwischen den Sitzungen gespeichert werden!\nWenn du deine Levels behalten möchtest,\nlade sich aus dem \"Spieldaten verwalten\"-Menü\nherunter." -#: src/editor/editor.cpp:636 +#: src/editor/editor.cpp:661 msgid "This level contains unsaved changes, do you want to save?" msgstr "Dieser Level enthält nicht gespeicherte Änderungen, möchtest du speichern?" -#: src/editor/editor.cpp:637 +#: src/editor/editor.cpp:662 msgid "This level may contain unsaved changes, do you want to save?" msgstr "" -#: src/editor/editor.cpp:772 +#: src/editor/editor.cpp:797 msgid "" "Some obsolete add-ons are still active\n" "and might cause collisions with default Super Tux structure.\n" @@ -4667,26 +4694,26 @@ msgid "" "Disabling these add-ons will not delete your game progress." msgstr "Einige veraltete Add-ons sind noch aktiv\nund könnten Kollisionen mit der Standardstruktur von SuperTux verursachen.\nDiese Add-ons können weiterhin im Menü aktiviert werden.\nDie Deaktivierung dieser Add-ons wird den Spielfortschritt nicht löschen." -#: src/editor/editor.cpp:775 +#: src/editor/editor.cpp:800 msgid "Disable add-ons" msgstr "Add-ons deaktivieren" -#: src/editor/editor.cpp:780 +#: src/editor/editor.cpp:805 msgid "Ignore (not advised)" msgstr "Ignorieren (nicht empfohlen)" -#: src/editor/editor.cpp:784 +#: src/editor/editor.cpp:809 msgid "Leave editor" msgstr "Editor verlassen" -#: src/editor/editor.cpp:985 +#: src/editor/editor.cpp:1023 msgid "" "Couldn't find a \"main\" sector.\n" "Please change the name of the sector where\n" "you'd like the player to start to \"main\"" msgstr "Konnte den »main«-Sektor nicht finden.\nBitte ändere den Namen des Sektors,\nin dem der Spieler starten soll, auf »main«" -#: src/editor/editor.cpp:989 +#: src/editor/editor.cpp:1027 msgid "" "Couldn't find a \"main\" spawnpoint.\n" " Please change the name of the spawnpoint where\n" @@ -4698,49 +4725,40 @@ msgid "Patch Notes" msgstr "" #: src/editor/object_menu.cpp:84 -msgid "This will update the object to its latest functionality." -msgstr "" - -#: src/editor/object_menu.cpp:85 -msgid "Check the \"Patch Notes\" for more information." -msgstr "" - -#: src/editor/object_menu.cpp:86 msgid "" -"Keep in mind this is very likely to break the proper behaviour of the " -"object." -msgstr "" - -#: src/editor/object_menu.cpp:87 -msgid "Make sure to re-check any behaviour, related to the object." +"This will update the object to its latest functionality.\n" +"Check the \"Patch Notes\" for more information.\n" +"\n" +"Keep in mind this is very likely to break the proper behaviour of the object.\n" +"Make sure to re-check any behaviour, related to the object." msgstr "" -#: src/editor/object_menu.cpp:101 +#: src/editor/object_menu.cpp:98 #, c++-format msgid "Patch notes for v{}:" msgstr "Patchnotizen für v{}:" -#: src/editor/overlay_widget.cpp:1063 +#: src/editor/overlay_widget.cpp:1062 msgid "Cannot select deprecated tiles" -msgstr "" +msgstr "Veraltete Kacheln können nicht ausgewählt werden" -#: src/editor/overlay_widget.cpp:1555 +#: src/editor/overlay_widget.cpp:1567 msgid "Autotile mode is on" msgstr "Kachel-Hilfsmodus ist aktiviert" -#: src/editor/overlay_widget.cpp:1559 +#: src/editor/overlay_widget.cpp:1571 msgid "Hold Ctrl to enable autotile" msgstr "Strg drücken, um Kachel-Hilfsmodus zu aktivieren" -#: src/editor/overlay_widget.cpp:1566 +#: src/editor/overlay_widget.cpp:1578 msgid "Autotile erasing mode is on" msgstr "Kachel-Hilfsmodus-Radierer aktivieren" -#: src/editor/overlay_widget.cpp:1570 +#: src/editor/overlay_widget.cpp:1582 msgid "Selected tile isn't autotileable" msgstr "Ausgewählte Kachel ist nicht automatisch kachelbar" -#: src/editor/overlay_widget.cpp:1575 +#: src/editor/overlay_widget.cpp:1587 msgid "Hold Ctrl to enable autotile erasing" msgstr "Strg drücken, um Kachel-Hilfsmodus-Radierer zu aktivieren" @@ -4749,8 +4767,8 @@ msgid "Current SuperTux Team" msgstr "Aktuelles SuperTux-Team" #: data//credits.stxt:30 -msgid "Programming, project lead ad interim" -msgstr "Programmierung, Zwischenzeitlicher Projektleiter" +msgid "Maintainer, Programming" +msgstr "Maintainer, Programmierung" #: data//credits.stxt:35 msgid "Graphics, Level Design, Story" @@ -4760,12 +4778,12 @@ msgstr "Grafik, Leveldesign, Geschichte" msgid "Level Design, Story, Optimisation, Coordination" msgstr "Level-Design, Story, Optimierung, Koordinierung" -#: data//credits.stxt:45 data//credits.stxt:125 data//credits.stxt:211 -#: data//credits.stxt:539 +#: data//credits.stxt:45 data//credits.stxt:120 data//credits.stxt:206 +#: data//credits.stxt:538 msgid "Graphics" msgstr "Grafik" -#: data//credits.stxt:50 data//credits.stxt:107 data//credits.stxt:113 +#: data//credits.stxt:50 data//credits.stxt:102 data//credits.stxt:108 msgid "Graphics, Programming, Level Design" msgstr "Grafik, Programmierung, Level-Design" @@ -4785,248 +4803,248 @@ msgstr "Programmierung, Level-Updates" msgid "Graphics, Programming" msgstr "Grafik, Programmierung" -#: data//credits.stxt:75 data//credits.stxt:90 data//credits.stxt:155 -#: data//credits.stxt:160 data//credits.stxt:165 data//credits.stxt:170 -#: data//credits.stxt:185 data//credits.stxt:190 data//credits.stxt:535 -#: data//credits.stxt:547 +#: data//credits.stxt:75 data//credits.stxt:85 data//credits.stxt:150 +#: data//credits.stxt:155 data//credits.stxt:160 data//credits.stxt:165 +#: data//credits.stxt:180 data//credits.stxt:185 data//credits.stxt:534 +#: data//credits.stxt:546 msgid "Programming" msgstr "Programmierung" -#: data//credits.stxt:80 data//credits.stxt:85 data//credits.stxt:271 +#: data//credits.stxt:80 data//credits.stxt:266 msgid "Level Design" msgstr "Level-Design" -#: data//credits.stxt:96 +#: data//credits.stxt:91 msgid "Original Developers" msgstr "Ursprüngliche Entwickler" -#: data//credits.stxt:101 +#: data//credits.stxt:96 msgid "Original Developer" msgstr "Ursprünglicher Entwickler" -#: data//credits.stxt:119 +#: data//credits.stxt:114 msgid "Music, Level Design" msgstr "Musik, Level-Design" -#: data//credits.stxt:131 +#: data//credits.stxt:126 msgid "Programming, Graphics, Level Design" msgstr "Programmierung, Grafik, Level-Design" -#: data//credits.stxt:137 +#: data//credits.stxt:132 msgid "Programming, Level Design" msgstr "Programmierung, Level-Design" -#: data//credits.stxt:143 +#: data//credits.stxt:138 msgid "Graphics, Story" msgstr "Grafik, Geschichte" -#: data//credits.stxt:149 +#: data//credits.stxt:144 msgid "Programming, Documentation" msgstr "Programmierung, Dokumentation" -#: data//credits.stxt:175 +#: data//credits.stxt:170 msgid "Coordination" msgstr "Koordination" -#: data//credits.stxt:180 +#: data//credits.stxt:175 msgid "Programming, \"Flexlay\" Level editor" msgstr "Programmierung, \"Flexlay\"-Level-Editor" -#: data//credits.stxt:195 +#: data//credits.stxt:190 msgid "Windows build fixes" msgstr "Windows-Build-Fehlerbehebungen" -#: data//credits.stxt:200 +#: data//credits.stxt:195 msgid "Packaging, Nightly builds" msgstr "Packaging, Nightly-Builds" -#: data//credits.stxt:205 +#: data//credits.stxt:200 msgid "Translation Guru (and many details anyone else could have done)" msgstr "Übersetzungs-Guru (und viele andere Kleinigkeiten, die andere auch hätten machen können)" -#: data//credits.stxt:451 +#: data//credits.stxt:450 msgid "Additional contributors" msgstr "Weitere Mitwirkende" -#: data//credits.stxt:456 +#: data//credits.stxt:455 msgid "Bug fixes" msgstr "Fehlerbehebungen" -#: data//credits.stxt:460 +#: data//credits.stxt:459 msgid "Scripting functions, Level fixes" msgstr "Skript-Funktionen, Fehlerbehebungen in Levels" -#: data//credits.stxt:464 +#: data//credits.stxt:463 msgid "Code quality fixes" msgstr "Beiträge zur Code-Qualität" -#: data//credits.stxt:468 data//credits.stxt:472 data//credits.stxt:476 -#: data//credits.stxt:503 +#: data//credits.stxt:467 data//credits.stxt:471 data//credits.stxt:475 +#: data//credits.stxt:502 msgid "Various contributions" msgstr "Verschiedene Beiträge" -#: data//credits.stxt:480 +#: data//credits.stxt:479 msgid "Build issue fix" msgstr "Behebung eines Kompilationsproblems" -#: data//credits.stxt:484 data//credits.stxt:488 +#: data//credits.stxt:483 data//credits.stxt:487 msgid "Code contributions" msgstr "Code-Beiträge" -#: data//credits.stxt:491 +#: data//credits.stxt:490 msgid "Code contribution, AppData file" msgstr "Codebeitrag, AppData-Datei" -#: data//credits.stxt:495 +#: data//credits.stxt:494 msgid "Bug fix" msgstr "Fehlerbehebung" -#: data//credits.stxt:499 +#: data//credits.stxt:498 msgid "Menu reorganization" msgstr "Reorganisation des Menüs" -#: data//credits.stxt:507 +#: data//credits.stxt:506 msgid "Fixing tile bugs" msgstr "Behebung von Kachelfehlern" -#: data//credits.stxt:511 +#: data//credits.stxt:510 msgid "Build error fix" msgstr "Behebung eines Kompilationsfehlers" -#: data//credits.stxt:515 +#: data//credits.stxt:514 msgid "Scripting function fix" msgstr "Skript-Funktion-Fehlerbehebung" -#: data//credits.stxt:519 +#: data//credits.stxt:518 msgid "New features and notable updates" msgstr "Neue Features und Updates" -#: data//credits.stxt:523 +#: data//credits.stxt:522 msgid "Support for \"glbinding\" as optional OpenGL binding" msgstr "Unterstützung von \"glbinding\" als optionalem OpenGL-Binding" -#: data//credits.stxt:527 +#: data//credits.stxt:526 msgid "New menu code" msgstr "Code für neues Menü" -#: data//credits.stxt:531 +#: data//credits.stxt:530 msgid "Big Tux Walking Sprites improvements" msgstr "Verbesserungen der Gang-Animation des großen Tux" -#: data//credits.stxt:543 data//credits.stxt:551 +#: data//credits.stxt:542 data//credits.stxt:550 msgid "Contrib Programming" msgstr "Beiträge zur Programmierung" -#: data//credits.stxt:555 +#: data//credits.stxt:554 msgid "Programming, Previous Maintainer" msgstr "Programmierung, vorheriger Maintainer" -#: data//credits.stxt:559 +#: data//credits.stxt:558 msgid "Various Contributions" msgstr "Diverse Mitwirkende" -#: data//credits.stxt:563 data//credits.stxt:567 data//credits.stxt:571 -#: data//credits.stxt:575 data//credits.stxt:579 data//credits.stxt:583 -#: data//credits.stxt:587 data//credits.stxt:591 data//credits.stxt:595 -#: data//credits.stxt:599 data//credits.stxt:603 data//credits.stxt:607 -#: data//credits.stxt:611 data//credits.stxt:615 data//credits.stxt:619 -#: data//credits.stxt:623 data//credits.stxt:627 data//credits.stxt:631 -#: data//credits.stxt:635 data//credits.stxt:639 data//credits.stxt:643 -#: data//credits.stxt:647 data//credits.stxt:651 data//credits.stxt:655 -#: data//credits.stxt:659 data//credits.stxt:663 +#: data//credits.stxt:562 data//credits.stxt:566 data//credits.stxt:570 +#: data//credits.stxt:574 data//credits.stxt:578 data//credits.stxt:582 +#: data//credits.stxt:586 data//credits.stxt:590 data//credits.stxt:594 +#: data//credits.stxt:598 data//credits.stxt:602 data//credits.stxt:606 +#: data//credits.stxt:610 data//credits.stxt:614 data//credits.stxt:618 +#: data//credits.stxt:622 data//credits.stxt:626 data//credits.stxt:630 +#: data//credits.stxt:634 data//credits.stxt:638 data//credits.stxt:642 +#: data//credits.stxt:646 data//credits.stxt:650 data//credits.stxt:654 +#: data//credits.stxt:658 data//credits.stxt:662 msgid "Contributions" msgstr "Beiträge" -#: data//credits.stxt:669 +#: data//credits.stxt:668 msgid "Localization" msgstr "Übersetzung" -#: data//credits.stxt:1232 +#: data//credits.stxt:1231 msgid " Special Thanks to" msgstr " Besonderen Dank an" -#: data//credits.stxt:1237 +#: data//credits.stxt:1236 msgid "Creator of Tux, the Linux penguin" msgstr "Erfinder von Tux, dem Linux-Pinguin" -#: data//credits.stxt:1241 +#: data//credits.stxt:1240 msgid "SDL, OpenAL and OpenGL" msgstr "SDL, OpenAL und OpenGL" -#: data//credits.stxt:1242 +#: data//credits.stxt:1241 msgid "" "For making such a great gaming experience\n" " possible on Linux" msgstr "Für das Ermöglichen einer großartigen\n Spielerfahrung unter Linux" -#: data//credits.stxt:1247 +#: data//credits.stxt:1246 msgid "and you, the player" msgstr "und an dich, den Spieler" -#: data//credits.stxt:1248 +#: data//credits.stxt:1247 msgid "for giving this game a chance and playing it" msgstr "dafür, dass du diesem Spiel eine Chance gibst und es spielst" -#: data//credits.stxt:1259 +#: data//credits.stxt:1258 msgid "Visit our webpage at" msgstr "Besuche unsere Webseite unter" -#: data//credits.stxt:1268 +#: data//credits.stxt:1267 msgid "Or visit us directly at IRC:" msgstr "Oder besuche uns direkt im IRC:" -#: data//credits.stxt:1272 +#: data//credits.stxt:1271 msgid "#supertux at web.libera.chat" msgstr "#supertux auf web.libera.chat" -#: data//credits.stxt:1277 +#: data//credits.stxt:1276 msgid "Or at our Forum:" msgstr "Oder in unserem Forum:" -#: data//credits.stxt:1286 +#: data//credits.stxt:1285 msgid "Comments, ideas and suggestions" msgstr "Kommentare, Ideen und Vorschläge" -#: data//credits.stxt:1290 +#: data//credits.stxt:1289 msgid "go to our mailing list" msgstr "gehen an unsere Mailing-Liste" #. l10n: typo contact -#: data//credits.stxt:1300 +#: data//credits.stxt:1299 msgid "Typographical errors can be" msgstr "Übersetzungsfehler können bei" #. l10n: typo contact -#: data//credits.stxt:1305 +#: data//credits.stxt:1304 msgid "reported to" msgstr "gemeldet werden" #. l10n: typo contact, see -#: data//credits.stxt:1310 +#: data//credits.stxt:1309 msgid "supertux-devel@lists.lethargik.org" msgstr "supertux-devel@lists.lethargik.org" -#: data//credits.stxt:1317 +#: data//credits.stxt:1316 msgid "Want to help…" msgstr "Möchtest du ..." -#: data//credits.stxt:1322 +#: data//credits.stxt:1321 msgid "…with localization?" msgstr "...bei der Übersetzung helfen?" -#: data//credits.stxt:1332 +#: data//credits.stxt:1331 msgid "…with something else?" msgstr "...bei etwas anderem helfen?" -#: data//credits.stxt:1343 +#: data//credits.stxt:1342 msgid "Thank you for" msgstr "Danke, dass" -#: data//credits.stxt:1347 +#: data//credits.stxt:1346 msgid "playing" msgstr "du" -#: data//credits.stxt:1357 +#: data//credits.stxt:1356 msgid "Penny awaits you in warmer temperatures!" msgstr "Penny erwartet dich bei wärmeren Temperaturen!" @@ -5034,15 +5052,15 @@ msgstr "Penny erwartet dich bei wärmeren Temperaturen!" msgid "Enemies" msgstr "Gegner" -#: data//images/engine/editor/objects.stoi:159 +#: data//images/engine/editor/objects.stoi:162 msgid "Bosses" msgstr "Bosse" -#: data//images/engine/editor/objects.stoi:170 +#: data//images/engine/editor/objects.stoi:173 msgid "Projectiles" msgstr "Geschosse" -#: data//images/engine/editor/objects.stoi:181 +#: data//images/engine/editor/objects.stoi:184 msgid "Environment" msgstr "Umgebung" @@ -5145,3 +5163,19 @@ msgstr "Burgpfade" #: data//images/worldmap.strf:135 msgid "Darker Forest" msgstr "Dunklerer Wald" + +#: data//images/converters/data.stcd:3 +msgid "Nightly Tiles" +msgstr "" + +#: data//images/converters/data.stcd:5 +msgid "For levels, created in previous Nightly builds." +msgstr "" + +#: data//images/converters/data.stcd:8 +msgid "Pre-0.6.3 Crystal Tiles" +msgstr "" + +#: data//images/converters/data.stcd:10 +msgid "For levels, created in pre-0.6.3 versions, which use crystal tiles." +msgstr "" diff --git a/data/locale/es.po b/data/locale/es.po index b3ec60bd9eb..8875f8dea17 100644 --- a/data/locale/es.po +++ b/data/locale/es.po @@ -10,12 +10,14 @@ # Gastón , 2016 # Germana , 2013 # Javier Beaumont , 2004 +# José Fryxell, 2022 # Juan Jaramillo , 2016 # Juan Jaramillo , 2019 # Juan José Trujillo , 2018 # Kory Giles , 2020 +# Martin, 2022 # Rami Slicer , 2020 -# Swyter , 2018,2021 +# Swyter , 2018,2021-2022,2024 # Tam Ezquerra , 2019 # Tam Ezquerra , 2019 # William Beltrán , 2016 @@ -24,134 +26,176 @@ msgid "" msgstr "" "Project-Id-Version: SuperTux\n" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" -"POT-Creation-Date: 2021-12-12 20:05+0100\n" -"PO-Revision-Date: 2021-12-14 05:23+0000\n" -"Last-Translator: Swyter \n" -"Language-Team: Spanish (http://www.transifex.com/arctic-games/supertux/language/es/)\n" +"POT-Creation-Date: 2024-05-30 16:19+0200\n" +"PO-Revision-Date: 2013-08-10 22:56+0000\n" +"Last-Translator: Swyter , 2018,2021-2022,2024\n" +"Language-Team: Spanish (http://app.transifex.com/arctic-games/supertux/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: src/trigger/secretarea_trigger.cpp:53 src/trigger/secretarea_trigger.cpp:61 +#: src/trigger/secretarea_trigger.cpp:47 msgid "You found a secret area!" msgstr "¡Has encontrado un área secreta!" -#: src/trigger/secretarea_trigger.cpp:77 src/supertux/game_object.cpp:90 -#: src/supertux/menu/editor_sector_menu.cpp:34 -#: src/supertux/menu/editor_levelset_menu.cpp:58 +#: src/trigger/secretarea_trigger.cpp:55 src/supertux/game_object.cpp:115 +#: src/supertux/menu/editor_sector_menu.cpp:36 +#: src/supertux/menu/editor_levelset_menu.cpp:52 #: src/supertux/menu/editor_new_levelset_menu.cpp:34 +#: src/supertux/menu/profile_name_menu.cpp:39 #: src/supertux/menu/editor_level_menu.cpp:33 msgid "Name" msgstr "Nombre" -#: src/trigger/secretarea_trigger.cpp:78 +#: src/trigger/secretarea_trigger.cpp:56 msgid "Fade tilemap" msgstr "Desvanecer mosaico" -#: src/trigger/secretarea_trigger.cpp:79 src/trigger/climbable.cpp:81 -#: src/object/infoblock.cpp:57 src/editor/worldmap_objects.cpp:172 -#: src/editor/worldmap_objects.cpp:270 +#: src/trigger/secretarea_trigger.cpp:57 src/trigger/climbable.cpp:59 +#: src/object/infoblock.cpp:76 src/worldmap/teleporter.cpp:49 +#: src/worldmap/special_tile.cpp:74 msgid "Message" msgstr "Mensaje" -#: src/trigger/secretarea_trigger.cpp:80 src/trigger/scripttrigger.cpp:75 -#: src/trigger/door.cpp:73 src/object/ispy.cpp:67 -#: src/object/bonus_block.cpp:207 src/object/bonus_block.cpp:211 -#: src/object/pushbutton.cpp:51 src/object/powerup.cpp:190 -#: src/editor/worldmap_objects.cpp:272 +#: src/trigger/secretarea_trigger.cpp:58 src/trigger/scripttrigger.cpp:51 +#: src/trigger/door.cpp:79 src/object/ispy.cpp:53 +#: src/object/bonus_block.cpp:264 src/object/bonus_block.cpp:268 +#: src/object/pushbutton.cpp:62 src/object/powerup.cpp:301 +#: src/worldmap/special_tile.cpp:76 msgid "Script" msgstr "Script" -#: src/trigger/scripttrigger.cpp:76 src/object/pushbutton.hpp:31 +#: src/trigger/scripttrigger.cpp:52 src/object/pushbutton.hpp:32 msgid "Button" msgstr "Botón" -#: src/trigger/scripttrigger.cpp:77 +#: src/trigger/scripttrigger.cpp:53 msgid "Oneshot" msgstr "Ejecutar una sola vez" -#: src/trigger/sequence_trigger.hpp:33 +#: src/trigger/sequence_trigger.hpp:31 msgid "Sequence Trigger" msgstr "Disparador de secuencia" -#: src/trigger/door.cpp:74 src/badguy/willowisp.cpp:320 -#: src/supertux/menu/editor_sector_menu.cpp:32 -#: src/editor/layers_widget.cpp:342 -#: data//images/engine/editor/objects.stoi:321 +#: src/trigger/text_area.cpp:141 +msgid "Once" +msgstr "Una vez" + +#: src/trigger/text_area.cpp:142 +msgid "Text change time" +msgstr "Tiempo de cambio del texto" + +#: src/trigger/text_area.cpp:143 +msgid "Fade time" +msgstr "Tiempo de desaparición" + +#: src/trigger/text_area.cpp:144 src/object/textscroller.cpp:353 +msgid "Anchor" +msgstr "Anclado" + +#: src/trigger/text_area.cpp:148 +msgid "Anchor offset X" +msgstr "" + +#: src/trigger/text_area.cpp:149 +msgid "Anchor offset Y" +msgstr "" + +#: src/trigger/text_area.cpp:150 +msgid "Texts" +msgstr "Textos" + +#: src/trigger/door.cpp:80 src/badguy/willowisp.cpp:311 +#: src/worldmap/teleporter.cpp:47 data//images/engine/editor/objects.stoi:342 msgid "Sector" msgstr "Sector" -#: src/trigger/door.cpp:75 src/editor/worldmap_objects.hpp:101 +#: src/trigger/door.cpp:81 src/worldmap/spawn_point.hpp:58 msgid "Spawn point" msgstr "Punto de aparición" -#: src/trigger/switch.cpp:61 src/object/block.cpp:224 src/object/torch.cpp:102 -#: src/object/moving_sprite.cpp:156 src/object/pneumatic_platform.cpp:146 -msgid "Sprite" -msgstr "Sprite" +#: src/trigger/door.cpp:82 +msgid "Locked?" +msgstr "¿Bloqueado?" -#: src/trigger/switch.cpp:62 +#: src/trigger/door.cpp:83 +msgid "Lock Color" +msgstr "" + +#: src/trigger/switch.cpp:62 src/object/ispy.cpp:54 src/object/bumper.cpp:53 +#: src/object/spotlight.cpp:106 src/object/pushbutton.cpp:61 +#: src/object/gradient.cpp:103 src/object/conveyor_belt.cpp:60 +#: src/badguy/badguy.cpp:1063 src/worldmap/spawn_point.cpp:79 +#: src/worldmap/special_tile.cpp:78 +msgid "Direction" +msgstr "Dirección" + +#: src/trigger/switch.cpp:65 msgid "Turn on script" msgstr "Activar script" -#: src/trigger/switch.cpp:63 +#: src/trigger/switch.cpp:66 msgid "Turn off script" msgstr "Desactivar script" -#: src/trigger/scripttrigger.hpp:32 +#: src/trigger/scripttrigger.hpp:29 msgid "Script Trigger" msgstr "Activador de script" -#: src/trigger/sequence_trigger.cpp:75 +#: src/trigger/sequence_trigger.cpp:48 msgid "Sequence" msgstr "Secuencia" -#: src/trigger/sequence_trigger.cpp:76 +#: src/trigger/sequence_trigger.cpp:49 msgid "end sequence" msgstr "terminar secuencia" -#: src/trigger/sequence_trigger.cpp:76 +#: src/trigger/sequence_trigger.cpp:49 msgid "stop Tux" msgstr "detener a Tux" -#: src/trigger/sequence_trigger.cpp:76 +#: src/trigger/sequence_trigger.cpp:49 msgid "fireworks" msgstr "fuegos artificiales" -#: src/trigger/sequence_trigger.cpp:80 +#: src/trigger/sequence_trigger.cpp:53 msgid "New worldmap spawnpoint" msgstr "Nuevo punto de entrada en el mapa global" -#: src/trigger/sequence_trigger.cpp:81 +#: src/trigger/sequence_trigger.cpp:54 msgid "Worldmap fade tilemap" msgstr "Desvanecer mosaico del mapa global" -#: src/trigger/sequence_trigger.cpp:82 +#: src/trigger/sequence_trigger.cpp:55 #: src/object/custom_particle_system.cpp:430 #: src/object/custom_particle_system.cpp:465 msgid "Fade" msgstr "Desvanecer" -#: src/trigger/sequence_trigger.cpp:83 src/editor/particle_editor.cpp:161 +#: src/trigger/sequence_trigger.cpp:56 src/editor/particle_editor.cpp:161 msgid "Fade in" msgstr "Aparecer gradualmente" -#: src/trigger/sequence_trigger.cpp:83 src/editor/particle_editor.cpp:167 +#: src/trigger/sequence_trigger.cpp:56 src/editor/particle_editor.cpp:167 #: src/editor/particle_editor.cpp:212 msgid "Fade out" msgstr "Desaparecer gradualmente" -#: src/trigger/climbable.hpp:37 +#: src/trigger/climbable.hpp:46 msgid "Climbable" msgstr "Se puede escalar" -#: src/trigger/door.hpp:34 +#: src/trigger/text_area.hpp:47 +msgid "Text Area" +msgstr "" + +#: src/trigger/door.hpp:31 msgid "Door" msgstr "Puerta" -#: src/trigger/switch.hpp:33 +#: src/trigger/switch.hpp:30 msgid "Switch" msgstr "Interruptor" @@ -159,118 +203,194 @@ msgstr "Interruptor" msgid "Secret Area" msgstr "Zona secreta" -#: src/object/thunderstorm.hpp:40 +#: src/math/anchor_point.cpp:33 +msgid "Top Left" +msgstr "" + +#: src/math/anchor_point.cpp:34 +msgid "Top" +msgstr "" + +#: src/math/anchor_point.cpp:35 +msgid "Top Right" +msgstr "" + +#: src/math/anchor_point.cpp:36 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:38 +#: src/supertux/menu/joystick_menu.cpp:73 +msgid "Left" +msgstr "Izquierda" + +#: src/math/anchor_point.cpp:37 +msgid "Middle" +msgstr "" + +#: src/math/anchor_point.cpp:38 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:39 +#: src/supertux/menu/joystick_menu.cpp:74 +msgid "Right" +msgstr "Derecha" + +#: src/math/anchor_point.cpp:39 +msgid "Bottom Left" +msgstr "" + +#: src/math/anchor_point.cpp:40 +msgid "Bottom" +msgstr "" + +#: src/math/anchor_point.cpp:41 +msgid "Bottom Right" +msgstr "" + +#: src/object/thunderstorm.hpp:44 msgid "Thunderstorm" msgstr "Tormenta eléctrica" -#: src/object/cloud_particle_system.cpp:79 +#: src/object/cloud_particle_system.cpp:77 #: src/object/rain_particle_system.cpp:100 msgid "Intensity" msgstr "Intensidad" -#: src/object/custom_particle_system.hpp:45 +#: src/object/custom_particle_system.hpp:46 msgid "Custom Particles" msgstr "Partículas propias" -#: src/object/ispy.cpp:66 -msgid "Facing Down" -msgstr "Mirar abajo" - -#: src/object/ispy.cpp:68 src/object/spotlight.cpp:103 -#: src/object/gradient.cpp:137 src/badguy/willowisp.cpp:319 -#: src/badguy/badguy.cpp:848 src/editor/worldmap_objects.cpp:207 -#: src/editor/worldmap_objects.cpp:274 -msgid "Direction" -msgstr "Dirección" - -#: src/object/particle_zone.hpp:39 +#: src/object/particle_zone.hpp:41 msgid "Particle zone" msgstr "Zona de partícula" -#: src/object/path_gameobject.hpp:44 src/object/coin.cpp:301 -#: src/object/camera.cpp:224 src/object/platform.cpp:73 -#: src/object/path_gameobject.cpp:173 src/object/tilemap.cpp:246 -#: src/gui/menu_paths.cpp:52 src/badguy/willowisp.cpp:326 +#: src/object/path_gameobject.hpp:45 src/object/coin.cpp:324 +#: src/object/camera.cpp:168 src/object/platform.cpp:76 +#: src/object/path_gameobject.cpp:175 src/object/tilemap.cpp:284 +#: src/badguy/willowisp.cpp:317 msgid "Path" msgstr "Ruta" -#: src/object/decal.cpp:49 src/object/scripted_object.cpp:67 -#: src/object/particlesystem.cpp:65 src/object/background.cpp:183 -#: src/object/thunderstorm.cpp:68 src/object/tilemap.cpp:239 -#: src/object/gradient.cpp:135 -msgid "Z-pos" -msgstr "Posición eje Z" - -#: src/object/decal.cpp:50 src/object/scripted_object.cpp:70 -#: src/object/tilemap.cpp:228 +#: src/object/decal.cpp:48 src/object/scripted_object.cpp:70 +#: src/object/tilemap.cpp:266 msgid "Solid" msgstr "Sólido" -#: src/object/decal.cpp:51 src/supertux/menu/keyboard_menu.cpp:37 -#: src/supertux/menu/joystick_menu.cpp:74 +#: src/object/decal.cpp:49 src/supertux/menu/keyboard_menu.cpp:41 +#: src/supertux/menu/joystick_menu.cpp:76 msgid "Action" msgstr "Acción" -#: src/object/weak_block.hpp:35 +#: src/object/weak_block.hpp:36 msgid "Weak Tile" msgstr "Tesela frágil" -#: src/object/bumper.cpp:46 -msgid "Facing Left" -msgstr "Mirar a la izquierda" - -#: src/object/gradient.hpp:42 +#: src/object/gradient.hpp:43 msgid "Gradient" msgstr "Degradado" -#: src/object/tilemap.hpp:57 +#: src/object/tilemap.hpp:58 msgid "Tilemap" msgstr "Mosaico" -#: src/object/circleplatform.hpp:32 +#: src/object/sound_object.cpp:69 src/object/ambient_sound.cpp:85 +#: src/object/sound_object.hpp:42 src/supertux/menu/options_menu.cpp:128 +#: data//credits.stxt:367 +msgid "Sound" +msgstr "Sonido" + +#: src/object/sound_object.cpp:70 src/object/ambient_sound.cpp:87 +msgid "Volume" +msgstr "Volumen" + +#: src/object/conveyor_belt.hpp:39 +msgid "Conveyor Belt" +msgstr "" + +#: src/object/unstable_tile.cpp:70 src/object/weak_block.cpp:97 +#: src/badguy/flame.cpp:86 +msgid "Ice" +msgstr "Hielo" + +#: src/object/unstable_tile.cpp:71 src/object/brick.hpp:34 +msgid "Brick" +msgstr "Ladrillo" + +#: src/object/unstable_tile.cpp:72 +msgid "Delayed" +msgstr "" + +#: src/object/circleplatform.hpp:35 msgid "Circular Platform" msgstr "Plataforma circular" -#: src/object/brick.cpp:133 +#: src/object/brick.cpp:59 src/object/coin.cpp:69 +#: src/object/invisible_block.cpp:37 src/object/background.cpp:200 +#: src/object/tilemap.cpp:279 src/object/gradient.cpp:109 +#: src/badguy/viciousivy.cpp:44 src/badguy/snail.cpp:69 +#: src/badguy/smartball.cpp:34 src/badguy/bouncing_snowball.cpp:81 +#: src/badguy/kamikazesnowball.cpp:117 src/badguy/walkingleaf.cpp:35 +#: src/badguy/mrbomb.cpp:47 src/badguy/igel.cpp:188 src/badguy/snowball.cpp:40 +#: src/badguy/mrtree.cpp:50 src/badguy/mriceblock.cpp:62 +msgid "Normal" +msgstr "Normal" + +#: src/object/brick.cpp:60 src/object/bonus_block.cpp:175 +#: src/object/coin.cpp:70 src/object/invisible_block.cpp:38 +msgid "Retro" +msgstr "" + +#: src/object/brick.cpp:166 msgid "Breakable" msgstr "Frágil" -#: src/object/trampoline.cpp:136 src/object/rusty_trampoline.cpp:66 +#: src/object/trampoline.cpp:66 src/object/rusty_trampoline.cpp:66 msgid "Portable" msgstr "Portable" -#: src/object/spotlight.cpp:100 src/object/rain_particle_system.cpp:101 +#: src/object/trampoline.cpp:67 +msgid "Stationary" +msgstr "" + +#: src/object/key.hpp:38 +msgid "Key" +msgstr "Llave" + +#: src/object/spotlight.cpp:102 src/object/particlesystem.cpp:64 +#: src/object/particle_zone.cpp:50 src/badguy/darttrap.cpp:149 +#: src/supertux/menu/addon_preview_menu.cpp:189 +msgid "Enabled" +msgstr "Activado" + +#: src/object/spotlight.cpp:103 src/object/rain_particle_system.cpp:101 msgid "Angle" msgstr "Ángulo" -#: src/object/spotlight.cpp:101 src/object/magicblock.cpp:94 -#: src/object/candle.cpp:77 src/object/torch.cpp:104 -#: src/object/rublight.cpp:54 src/object/lantern.cpp:62 -#: src/object/ambient_light.cpp:131 src/badguy/willowisp.cpp:328 -#: src/badguy/walking_candle.cpp:82 +#: src/object/spotlight.cpp:104 src/object/magicblock.cpp:95 +#: src/object/candle.cpp:75 src/object/torch.cpp:96 src/object/rublight.cpp:55 +#: src/object/lantern.cpp:62 src/object/ambient_light.cpp:122 +#: src/object/key.cpp:192 src/badguy/willowisp.cpp:319 +#: src/badguy/walking_candle.cpp:91 msgid "Color" msgstr "Color" -#: src/object/spotlight.cpp:102 src/object/textscroller.cpp:350 -#: src/object/rain_particle_system.cpp:102 src/object/circleplatform.cpp:55 -#: src/badguy/flame.cpp:59 src/editor/node_marker.cpp:125 +#: src/object/spotlight.cpp:105 src/object/textscroller.cpp:350 +#: src/object/rain_particle_system.cpp:102 src/object/conveyor_belt.cpp:61 +#: src/object/circleplatform.cpp:58 src/badguy/flame.cpp:110 +#: src/editor/node_marker.cpp:125 msgid "Speed" msgstr "Velocidad" -#: src/object/spotlight.cpp:104 +#: src/object/spotlight.cpp:107 msgid "Clockwise" msgstr "Sentido agujas del reloj" -#: src/object/spotlight.cpp:104 +#: src/object/spotlight.cpp:107 msgid "Counter-clockwise" msgstr "Contrario a las agujas del reloj" -#: src/object/spotlight.cpp:104 +#: src/object/spotlight.cpp:107 msgid "Stopped" msgstr "Parado" -#: src/object/spotlight.cpp:107 src/object/candle.cpp:78 -#: src/object/torch.cpp:103 +#: src/object/spotlight.cpp:110 src/object/lit_object.cpp:69 +#: src/object/candle.cpp:76 src/object/torch.cpp:95 msgid "Layer" msgstr "Capa" @@ -282,125 +402,171 @@ msgstr "Física activada" msgid "Visible" msgstr "Visible" -#: src/object/scripted_object.cpp:73 src/badguy/willowisp.cpp:322 +#: src/object/scripted_object.cpp:73 src/badguy/willowisp.cpp:313 msgid "Hit script" msgstr "Script de golpe" -#: src/object/custom_particle_system_file.cpp:50 +#: src/object/custom_particle_system_file.cpp:53 #: src/object/textscroller.cpp:348 src/object/music_object.cpp:109 #: src/supertux/menu/particle_editor_open.cpp:38 msgid "File" msgstr "Archivo" -#: src/object/bonus_block.cpp:208 +#: src/object/bonus_block.cpp:154 +msgid "Only one custom object is allowed inside bonus blocks." +msgstr "" + +#: src/object/bonus_block.cpp:172 +msgid "Blue" +msgstr "" + +#: src/object/bonus_block.cpp:173 +msgid "Orange" +msgstr "Naranja" + +#: src/object/bonus_block.cpp:174 +msgid "Purple" +msgstr "Púrpura" + +#: src/object/bonus_block.cpp:265 src/supertux/menu/cheat_apply_menu.cpp:54 msgid "Count" msgstr "Recuento" -#: src/object/bonus_block.cpp:209 +#: src/object/bonus_block.cpp:266 msgid "Content" msgstr "Contenido" -#: src/object/bonus_block.cpp:210 src/object/coin.hpp:43 +#: src/object/bonus_block.cpp:267 src/object/coin.hpp:44 msgid "Coin" msgstr "Moneda" -#: src/object/bonus_block.cpp:210 +#: src/object/bonus_block.cpp:267 msgid "Growth (fire flower)" msgstr "Crecimiento (flor de fuego)" -#: src/object/bonus_block.cpp:210 +#: src/object/bonus_block.cpp:267 msgid "Growth (ice flower)" msgstr "Crecimiento (flor helada)" -#: src/object/bonus_block.cpp:210 +#: src/object/bonus_block.cpp:267 msgid "Growth (air flower)" msgstr "Crecimiento (flor de aire)" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 msgid "Growth (earth flower)" msgstr "Crecimiento (flor de tierra)" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 +msgid "Growth (retro)" +msgstr "Crecer (retro)" + +#: src/object/bonus_block.cpp:268 src/object/powerup.cpp:66 msgid "Star" msgstr "Estrella" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 +msgid "Star (retro)" +msgstr "Estrella (retro)" + +#: src/object/bonus_block.cpp:268 msgid "Tux doll" msgstr "Muñeco de Tux" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 msgid "Custom" msgstr "Personalizar" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 msgid "Light" msgstr "Luz" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 msgid "Light (On)" msgstr "Luz (encendida)" -#: src/object/bonus_block.cpp:212 src/object/trampoline.hpp:35 +#: src/object/bonus_block.cpp:269 src/object/trampoline.hpp:37 msgid "Trampoline" msgstr "Trampolín" -#: src/object/bonus_block.cpp:212 +#: src/object/bonus_block.cpp:269 +msgid "Portable trampoline" +msgstr "" + +#: src/object/bonus_block.cpp:269 msgid "Coin rain" msgstr "Lluvia de monedas" -#: src/object/bonus_block.cpp:212 +#: src/object/bonus_block.cpp:269 msgid "Coin explosion" msgstr "Explosión de monedas" -#: src/object/bonus_block.cpp:216 +#: src/object/bonus_block.cpp:269 src/object/rock.hpp:43 +msgid "Rock" +msgstr "Roca" + +#: src/object/bonus_block.cpp:269 +msgid "Potion" +msgstr "Poción" + +#: src/object/bonus_block.cpp:275 msgid "Custom Content" msgstr "Contenido propio" -#: src/object/pneumatic_platform.hpp:62 +#: src/object/bonus_block.cpp:278 +msgid "Coin sprite" +msgstr "Imagen de moneda" + +#: src/object/pneumatic_platform.hpp:65 msgid "Pneumatic Platform" msgstr "Plataforma neumática" -#: src/object/coin.cpp:303 src/object/tilemap.cpp:249 +#: src/object/coin.cpp:326 src/object/tilemap.cpp:287 msgid "Following path" msgstr "Siguiendo ruta" -#: src/object/coin.cpp:306 src/object/camera.cpp:227 -#: src/object/platform.cpp:74 src/object/tilemap.cpp:252 +#: src/object/coin.cpp:329 src/object/camera.cpp:171 +#: src/object/platform.cpp:77 src/object/tilemap.cpp:290 msgid "Path Mode" msgstr "Modo de ruta" -#: src/object/coin.cpp:307 src/object/camera.cpp:228 -#: src/object/platform.cpp:75 src/object/tilemap.cpp:253 -#: src/badguy/willowisp.cpp:331 +#: src/object/coin.cpp:330 src/object/camera.cpp:172 +#: src/object/platform.cpp:78 src/object/tilemap.cpp:291 +#: src/badguy/willowisp.cpp:322 msgid "Adapt Speed" msgstr "Adaptar velocidad" -#: src/object/coin.cpp:308 src/object/platform.cpp:77 -#: src/object/tilemap.cpp:247 src/badguy/willowisp.cpp:327 +#: src/object/coin.cpp:331 src/object/platform.cpp:81 +#: src/object/tilemap.cpp:285 src/badguy/willowisp.cpp:318 msgid "Starting Node" msgstr "Nodo inicial" -#: src/object/coin.cpp:311 src/object/coin.cpp:339 +#: src/object/coin.cpp:332 src/object/camera.cpp:173 +#: src/object/platform.cpp:82 src/object/tilemap.cpp:293 +#: src/badguy/willowisp.cpp:323 +msgid "Handle" +msgstr "Agarrar" + +#: src/object/coin.cpp:335 src/object/coin.cpp:371 msgid "Collect script" msgstr "Script al tocar" -#: src/object/ghost_particle_system.hpp:36 +#: src/object/ghost_particle_system.hpp:37 msgid "Ghost Particles" msgstr "Partículas fantasma" -#: src/object/camera.cpp:219 +#: src/object/camera.cpp:163 msgid "Mode" msgstr "Modo" -#: src/object/camera.cpp:220 +#: src/object/camera.cpp:164 msgid "normal" msgstr "normal" -#: src/object/camera.cpp:220 +#: src/object/camera.cpp:164 msgid "manual" msgstr "manual" -#: src/object/camera.cpp:220 +#: src/object/camera.cpp:164 msgid "autoscroll" msgstr "Desplazamiento automático" @@ -416,32 +582,20 @@ msgstr "Desplazar en X" msgid "Controllable" msgstr "Se puede controlar" -#: src/object/textscroller.cpp:353 -msgid "Anchor" -msgstr "Anclado" - -#: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 -#: src/supertux/menu/keyboard_menu.cpp:34 -#: src/supertux/menu/joystick_menu.cpp:71 -msgid "Left" -msgstr "Izquierda" - #: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 msgid "Center" msgstr "Centrado" -#: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 -#: src/supertux/menu/keyboard_menu.cpp:35 -#: src/supertux/menu/joystick_menu.cpp:72 -msgid "Right" -msgstr "Derecha" - #: src/object/textscroller.cpp:357 msgid "Text Alignment" msgstr "Alineación del texto" -#: src/object/spawnpoint.hpp:46 src/badguy/willowisp.cpp:321 -#: src/editor/worldmap_objects.cpp:171 +#: src/object/lit_object.hpp:40 +msgid "Lit object" +msgstr "Objeto iluminado" + +#: src/object/spawnpoint.hpp:48 src/badguy/willowisp.cpp:312 +#: src/worldmap/teleporter.cpp:48 msgid "Spawnpoint" msgstr "Punto de aparición" @@ -449,266 +603,339 @@ msgstr "Punto de aparición" msgid "Counter" msgstr "Contador" -#: src/object/candle.hpp:36 +#: src/object/candle.hpp:37 msgid "Candle" msgstr "Vela" -#: src/object/particlesystem.cpp:64 src/object/particle_zone.cpp:79 -#: src/badguy/darttrap.cpp:127 -msgid "Enabled" -msgstr "Activado" +#: src/object/particlesystem.cpp:65 src/object/background.cpp:184 +#: src/object/thunderstorm.cpp:76 src/object/tilemap.cpp:277 +#: src/object/gradient.cpp:101 src/object/moving_sprite.cpp:193 +msgid "Z-pos" +msgstr "Posición eje Z" -#: src/object/invisible_block.hpp:31 +#: src/object/invisible_block.hpp:30 msgid "Invisible Block" msgstr "Bloque invisible " -#: src/object/snow_particle_system.hpp:35 +#: src/object/snow_particle_system.hpp:37 msgid "Snow Particles" msgstr "Partículas de nieve " -#: src/object/powerup.hpp:35 +#: src/object/powerup.hpp:40 msgid "Powerup" msgstr "Potenciador " -#: src/object/fallblock.hpp:39 +#: src/object/infoblock.cpp:78 +msgid "Front Color" +msgstr "Color principal" + +#: src/object/infoblock.cpp:80 +msgid "Back Color" +msgstr "Color de fondo" + +#: src/object/infoblock.cpp:82 +msgid "Roundness" +msgstr "Redondez" + +#: src/object/infoblock.cpp:84 +msgid "Fade Transition" +msgstr "Transición al desaparecer" + +#: src/object/fallblock.hpp:41 msgid "Falling Platform" msgstr "Plataforma que se cae" -#: src/object/level_time.hpp:55 +#: src/object/level_time.hpp:56 msgid "Time Limit" msgstr "Límite de tiempo" -#: src/object/ambient_sound.cpp:119 src/supertux/menu/options_menu.cpp:391 -#: data//credits.stxt:352 -msgid "Sound" -msgstr "Sonido" - -#: src/object/ambient_sound.cpp:120 -msgid "Distance factor" -msgstr "Factor de distancia" - -#: src/object/ambient_sound.cpp:121 -msgid "Distance bias" -msgstr "Margen de distancia" - -#: src/object/ambient_sound.cpp:122 -msgid "Volume" -msgstr "Volumen" +#: src/object/ambient_sound.cpp:86 +msgid "Radius (in tiles)" +msgstr "Radio (en teselas)" #: src/object/torch.hpp:41 msgid "Torch" msgstr "Antorcha" -#: src/object/icecrusher.hpp:53 -msgid "Icecrusher" -msgstr "Triturahielos" - -#: src/object/rublight.hpp:33 +#: src/object/rublight.hpp:34 msgid "Rublight" msgstr "Luces de cercanía" -#: src/object/background.hpp:43 +#: src/object/background.hpp:45 msgid "Background" msgstr "Fondo" -#: src/object/firefly.hpp:36 +#: src/object/text_object.hpp:44 src/gui/menu_string_array.cpp:77 +msgid "Text" +msgstr "Texto" + +#: src/object/firefly.hpp:38 msgid "Checkpoint" msgstr "Punto de control" -#: src/object/ambient_light.hpp:36 +#: src/object/ambient_light.hpp:37 msgid "Ambient Light" msgstr "Luz ambiental" -#: src/object/lantern.hpp:37 +#: src/object/lantern.hpp:38 msgid "Lantern" msgstr "Linterna" -#: src/object/wind.hpp:40 +#: src/object/wind.hpp:43 msgid "Wind" msgstr "Viento" -#: src/object/bicycle_platform.cpp:189 src/object/background.cpp:179 -#: src/object/pneumatic_platform.cpp:147 -#: src/supertux/menu/joystick_menu.cpp:170 src/supertux/moving_object.cpp:58 -#: src/editor/worldmap_objects.cpp:73 +#: src/object/bicycle_platform.cpp:203 src/object/background.cpp:180 +#: src/object/pneumatic_platform.cpp:162 +#: src/supertux/menu/joystick_menu.cpp:172 src/supertux/moving_object.cpp:65 +#: src/worldmap/worldmap_object.cpp:77 msgid "X" msgstr "X" -#: src/object/bicycle_platform.cpp:190 src/object/background.cpp:180 -#: src/object/pneumatic_platform.cpp:148 -#: src/supertux/menu/joystick_menu.cpp:172 src/supertux/moving_object.cpp:59 -#: src/editor/worldmap_objects.cpp:74 +#: src/object/bicycle_platform.cpp:204 src/object/background.cpp:181 +#: src/object/pneumatic_platform.cpp:163 +#: src/supertux/menu/joystick_menu.cpp:174 src/supertux/moving_object.cpp:66 +#: src/worldmap/worldmap_object.cpp:78 msgid "Y" msgstr "S" -#: src/object/bicycle_platform.cpp:192 +#: src/object/bicycle_platform.cpp:206 msgid "Platforms" msgstr "Plataformas" -#: src/object/bicycle_platform.cpp:193 src/object/circleplatform.cpp:54 -#: src/badguy/flame.cpp:58 src/badguy/rcrystallo.cpp:50 -#: src/badguy/crystallo.cpp:35 +#: src/object/bicycle_platform.cpp:207 src/object/circleplatform.cpp:57 +#: src/badguy/fish_swimming.cpp:76 src/badguy/flame.cpp:109 +#: src/badguy/rcrystallo.cpp:83 src/badguy/crystallo.cpp:50 msgid "Radius" msgstr "Radio" -#: src/object/bicycle_platform.cpp:194 +#: src/object/bicycle_platform.cpp:208 msgid "Momentum change rate" msgstr "Variación de fuerza del impulso" -#: src/object/rain_particle_system.hpp:40 +#: src/object/rain_particle_system.hpp:41 msgid "Rain Particles" msgstr "Partículas de lluvia" -#: src/object/platform.hpp:45 +#: src/object/platform.hpp:46 msgid "Platform" msgstr "Plataforma" -#: src/object/rock.hpp:42 -msgid "Rock" -msgstr "Roca" - -#: src/object/music_object.hpp:41 src/supertux/menu/options_menu.cpp:393 -#: data//credits.stxt:294 +#: src/object/music_object.hpp:42 src/supertux/menu/options_menu.cpp:130 +#: data//credits.stxt:309 msgid "Music" msgstr "Música" -#: src/object/rusty_trampoline.hpp:39 +#: src/object/lit_object.cpp:68 +msgid "Light sprite" +msgstr "Dibujo de luz" + +#: src/object/lit_object.cpp:71 +msgid "Sprite starting action" +msgstr "" + +#: src/object/lit_object.cpp:72 +msgid "Light sprite starting action" +msgstr "" + +#: src/object/lit_object.cpp:74 +msgid "Light sprite offset X" +msgstr "" + +#: src/object/lit_object.cpp:75 +msgid "Light sprite offset Y" +msgstr "" + +#: src/object/rusty_trampoline.hpp:40 msgid "Rusty Trampoline" msgstr "Trampolín oxidado " -#: src/object/particlesystem.hpp:57 +#: src/object/particlesystem.hpp:58 msgid "Particle system" msgstr "Sistema de partículas" -#: src/object/candle.cpp:75 src/object/torch.cpp:101 +#: src/object/candle.cpp:73 src/object/torch.cpp:94 msgid "Burning" msgstr "Encendido" -#: src/object/candle.cpp:76 +#: src/object/candle.cpp:74 msgid "Flicker" msgstr "Parpadeo" -#: src/object/text_array_object.hpp:50 +#: src/object/snow_particle_system.cpp:104 +msgid "Epsilon" +msgstr "Margen extra" + +#: src/object/snow_particle_system.cpp:105 +msgid "Spin Speed" +msgstr "" + +#: src/object/snow_particle_system.cpp:106 +msgid "State Length" +msgstr "" + +#: src/object/snow_particle_system.cpp:107 +msgid "Wind Speed" +msgstr "" + +#: src/object/text_array_object.hpp:47 msgid "Text array" msgstr "Conjunto de texto" -#: src/object/infoblock.hpp:36 +#: src/object/infoblock.hpp:37 msgid "Info Block" msgstr "Bloque de Información " -#: src/object/powerup.cpp:191 +#: src/object/powerup.cpp:61 +msgid "Egg" +msgstr "Huevo" + +#: src/object/powerup.cpp:62 +msgid "Fire Flower" +msgstr "" + +#: src/object/powerup.cpp:63 +msgid "Ice Flower" +msgstr "" + +#: src/object/powerup.cpp:64 +msgid "Air Flower" +msgstr "" + +#: src/object/powerup.cpp:65 +msgid "Earth Flower" +msgstr "" + +#: src/object/powerup.cpp:67 +msgid "Tux Doll" +msgstr "" + +#: src/object/powerup.cpp:68 +msgid "Flip Potion" +msgstr "" + +#: src/object/powerup.cpp:69 +msgid "Mints" +msgstr "" + +#: src/object/powerup.cpp:70 +msgid "Coffee" +msgstr "" + +#: src/object/powerup.cpp:71 +msgid "Herring" +msgstr "Arenque" + +#: src/object/powerup.cpp:302 msgid "Disable gravity" msgstr "Desactivar gravedad" -#: src/object/ambient_sound.hpp:62 +#: src/object/powerup.cpp:312 src/object/weak_block.cpp:266 +msgid "" +"Sprites no longer define the behaviour of the object.\n" +"Object types are used instead." +msgstr "" + +#: src/object/ambient_sound.hpp:43 msgid "Ambient Sound" msgstr "Sonido Ambiente" -#: src/object/level_time.cpp:51 src/supertux/statistics.cpp:297 +#: src/object/level_time.cpp:52 src/supertux/statistics.cpp:297 #: src/editor/node_marker.cpp:124 msgid "Time" msgstr "Tiempo" -#: src/object/hurting_platform.hpp:30 +#: src/object/hurting_platform.hpp:31 msgid "Hurting Platform" msgstr "Plataforma que hace daño" -#: src/object/icecrusher.cpp:83 -msgid "Sideways" -msgstr "De lado" - -#: src/object/background.cpp:182 +#: src/object/background.cpp:183 msgid "Fill" msgstr "Rellenar" -#: src/object/background.cpp:184 +#: src/object/background.cpp:185 msgid "Alignment" msgstr "Alineamiento" -#: src/object/background.cpp:185 +#: src/object/background.cpp:186 src/supertux/direction.cpp:61 msgid "none" msgstr "ningún(o)" -#: src/object/background.cpp:185 src/editor/object_settings.cpp:119 +#: src/object/background.cpp:186 src/supertux/direction.cpp:63 msgid "left" msgstr "izquierda" -#: src/object/background.cpp:185 src/editor/object_settings.cpp:119 +#: src/object/background.cpp:186 src/supertux/direction.cpp:65 msgid "right" msgstr "derecha" -#: src/object/background.cpp:185 +#: src/object/background.cpp:186 msgid "top" msgstr "parte superior" -#: src/object/background.cpp:185 +#: src/object/background.cpp:186 msgid "bottom" msgstr "parte inferior" -#: src/object/background.cpp:188 +#: src/object/background.cpp:189 msgid "Scroll offset x" msgstr "Desplazarse en X" -#: src/object/background.cpp:189 +#: src/object/background.cpp:190 msgid "Scroll offset y" msgstr "Desplazarse en Y" -#: src/object/background.cpp:190 +#: src/object/background.cpp:191 msgid "Scroll speed x" msgstr "Velocidad de desplazamiento en X" -#: src/object/background.cpp:191 +#: src/object/background.cpp:192 msgid "Scroll speed y" msgstr " Velocidad de desplazamiento en Y" -#: src/object/background.cpp:192 +#: src/object/background.cpp:193 msgid "Parallax Speed x" msgstr "Velocidad de paralaje en X" -#: src/object/background.cpp:193 +#: src/object/background.cpp:194 msgid "Parallax Speed y" msgstr "Velocidad de paralaje en Y" -#: src/object/background.cpp:194 +#: src/object/background.cpp:195 msgid "Top image" msgstr "Imagen superior" -#: src/object/background.cpp:195 +#: src/object/background.cpp:196 msgid "Image" msgstr "Imagen" -#: src/object/background.cpp:196 +#: src/object/background.cpp:197 msgid "Bottom image" msgstr "Imagen inferior" -#: src/object/background.cpp:197 +#: src/object/background.cpp:198 msgid "Colour" msgstr "Color" -#: src/object/background.cpp:198 src/object/tilemap.cpp:240 -#: src/object/gradient.cpp:142 +#: src/object/background.cpp:199 src/object/tilemap.cpp:278 +#: src/object/gradient.cpp:108 msgid "Draw target" msgstr "Alternar tipo de dibujado" -#: src/object/background.cpp:199 src/object/tilemap.cpp:241 -#: src/object/gradient.cpp:143 -msgid "Normal" -msgstr "Normal" - -#: src/object/background.cpp:199 src/object/tilemap.cpp:241 -#: src/object/gradient.cpp:143 +#: src/object/background.cpp:200 src/object/tilemap.cpp:279 +#: src/object/gradient.cpp:109 msgid "Lightmap" msgstr "Mapa de luz" -#: src/object/shard.hpp:34 +#: src/object/shard.hpp:35 msgid "Shard" msgstr "Fragmento" -#: src/object/rublight.cpp:55 +#: src/object/rublight.cpp:56 msgid "Fading Speed" msgstr "Velocidad de transición" -#: src/object/rublight.cpp:56 +#: src/object/rublight.cpp:57 msgid "Glowing Strength" msgstr "Cantidad de brillo" @@ -744,20 +971,28 @@ msgstr "Afecta al jugador" msgid "Fancy Particles" msgstr "Partículas chulas" -#: src/object/bicycle_platform.hpp:64 +#: src/object/bicycle_platform.hpp:67 msgid "Bicycle Platform" msgstr "Plataforma de Bicicleta" -#: src/object/platform.cpp:76 src/object/thunderstorm.cpp:69 -#: src/object/tilemap.cpp:254 +#: src/object/platform.cpp:80 src/object/thunderstorm.cpp:77 +#: src/object/tilemap.cpp:292 src/object/conveyor_belt.cpp:62 msgid "Running" msgstr "En marcha" -#: src/object/rock.cpp:192 +#: src/object/rock.cpp:71 +msgid "Small" +msgstr "Pequeño" + +#: src/object/rock.cpp:72 +msgid "Large" +msgstr "Grande" + +#: src/object/rock.cpp:234 msgid "On-grab script" msgstr "Secuencia de comandos de Tomar" -#: src/object/rock.cpp:193 +#: src/object/rock.cpp:235 msgid "On-ungrab script" msgstr "Secuencia de comandos de Soltar" @@ -765,15 +1000,15 @@ msgstr "Secuencia de comandos de Soltar" msgid "Interactive particle system" msgstr "Sistema de partículas interactivo" -#: src/object/thunderstorm.cpp:70 +#: src/object/thunderstorm.cpp:78 msgid "Interval" msgstr "intervalo" -#: src/object/thunderstorm.cpp:71 +#: src/object/thunderstorm.cpp:79 msgid "Strike Script" msgstr "Script de electrocutar" -#: src/object/cloud_particle_system.hpp:41 +#: src/object/cloud_particle_system.hpp:42 msgid "Cloud Particles" msgstr "Partículas de Nubes‮" @@ -785,7 +1020,7 @@ msgstr "Textura" msgid "Amount" msgstr "Cantidad" -#: src/object/custom_particle_system.cpp:426 src/object/circleplatform.cpp:56 +#: src/object/custom_particle_system.cpp:426 src/object/circleplatform.cpp:59 #: src/editor/particle_editor.cpp:141 msgid "Delay" msgstr "Retardo" @@ -804,10 +1039,11 @@ msgid "Birth mode" msgstr "Modo de creación" #: src/object/custom_particle_system.cpp:430 -#: src/object/custom_particle_system.cpp:465 src/object/gradient.cpp:149 -#: src/supertux/menu/keyboard_menu.cpp:58 -#: src/supertux/menu/joystick_menu.cpp:106 -#: src/supertux/menu/joystick_menu.cpp:213 src/editor/object_settings.cpp:131 +#: src/object/custom_particle_system.cpp:465 src/object/gradient.cpp:115 +#: src/gui/menu_string_array.cpp:40 src/gui/menu_string_array.cpp:78 +#: src/supertux/menu/keyboard_menu.cpp:80 +#: src/supertux/menu/joystick_menu.cpp:108 +#: src/supertux/menu/joystick_menu.cpp:215 src/editor/object_settings.cpp:129 #: src/editor/particle_editor.cpp:162 src/editor/particle_editor.cpp:168 msgid "None" msgstr "Ninguno" @@ -1136,597 +1372,916 @@ msgstr "Siempre" msgid "Cover screen" msgstr "Recubrir pantalla" -#: src/object/ispy.hpp:33 +#: src/object/ispy.hpp:35 msgid "Ispy" msgstr "Ojospía" -#: src/object/skull_tile.hpp:32 -msgid "Skull Tile" -msgstr "Tesela calavera" - -#: src/object/particle_zone.cpp:80 +#: src/object/particle_zone.cpp:51 msgid "Particle Name" msgstr "Nombre de partícula" -#: src/object/particle_zone.cpp:81 -msgid "Zone Type" -msgstr "Tipo de zona" - -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:62 msgid "Spawn" msgstr "Crear" -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:63 msgid "Life zone" msgstr "Zona vital" -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:64 msgid "Life zone (clear)" msgstr "Zona vital (desvanecer)" -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:65 msgid "Kill particles" msgstr "Quitar partículas" -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:66 msgid "Clear particles" msgstr "Desvanecer partículas" -#: src/object/weak_block.cpp:211 -msgid "Linked" -msgstr "Vinculado" +#: src/object/weak_block.cpp:98 +msgid "Hay" +msgstr "" -#: src/object/decal.hpp:40 +#: src/object/decal.hpp:41 msgid "Decal" msgstr "Calcomanía" -#: src/object/tilemap.cpp:229 +#: src/object/tilemap.cpp:267 msgid "Resize offset x" msgstr "Cambiar tamaño en eje X" -#: src/object/tilemap.cpp:230 +#: src/object/tilemap.cpp:268 msgid "Resize offset y" msgstr "Cambiar tamaño en eje Y" -#: src/object/tilemap.cpp:232 src/supertux/menu/editor_sector_menu.cpp:39 -#: src/editor/object_option.cpp:173 +#: src/object/tilemap.cpp:270 src/supertux/menu/editor_sector_menu.cpp:41 +#: src/editor/object_option.cpp:178 msgid "Width" msgstr "Ancho" -#: src/object/tilemap.cpp:233 src/supertux/menu/editor_sector_menu.cpp:40 -#: src/editor/object_option.cpp:174 +#: src/object/tilemap.cpp:271 src/supertux/menu/editor_sector_menu.cpp:42 +#: src/editor/object_option.cpp:179 msgid "Height" msgstr "Altura" -#: src/object/tilemap.cpp:235 +#: src/object/tilemap.cpp:273 msgid "Alpha" msgstr "Transparencia alfa" -#: src/object/tilemap.cpp:236 +#: src/object/tilemap.cpp:274 msgid "Speed x" msgstr "Velocidad eje X" -#: src/object/tilemap.cpp:237 +#: src/object/tilemap.cpp:275 msgid "Speed y" msgstr "Velocidad eje Y" -#: src/object/tilemap.cpp:238 +#: src/object/tilemap.cpp:276 msgid "Tint" msgstr "Tinte" -#: src/object/tilemap.cpp:257 src/supertux/menu/editor_tilegroup_menu.cpp:26 -#: src/editor/toolbox_widget.cpp:90 +#: src/object/tilemap.cpp:296 src/supertux/menu/editor_tilegroup_menu.cpp:26 +#: src/editor/toolbox_widget.cpp:98 msgid "Tiles" msgstr "Teselas" -#: src/object/gradient.cpp:128 -msgid "Left Colour" -msgstr "Color izquierdo" - -#: src/object/gradient.cpp:129 -msgid "Right Colour" -msgstr "Color derecho" +#: src/object/gradient.cpp:98 +msgid "Primary Colour" +msgstr "Color principal" -#: src/object/gradient.cpp:131 -msgid "Top Colour" -msgstr "Color de arriba" +#: src/object/gradient.cpp:99 +msgid "Secondary Colour" +msgstr "Color secundario" -#: src/object/gradient.cpp:132 -msgid "Bottom Colour" -msgstr "Color de abajo" - -#: src/object/gradient.cpp:138 +#: src/object/gradient.cpp:104 msgid "Vertical" msgstr "Vertical" -#: src/object/gradient.cpp:138 +#: src/object/gradient.cpp:104 msgid "Horizontal" msgstr "Horizontal" -#: src/object/gradient.cpp:138 +#: src/object/gradient.cpp:104 msgid "Vertical (whole sector)" msgstr "Vertical (sector completo)" -#: src/object/gradient.cpp:138 +#: src/object/gradient.cpp:104 msgid "Horizontal (whole sector)" msgstr "Horizontal (sector completo)" -#: src/object/gradient.cpp:148 +#: src/object/gradient.cpp:114 msgid "Blend mode" msgstr "Mezcla de colores" -#: src/object/gradient.cpp:149 +#: src/object/gradient.cpp:115 msgid "Blend" msgstr "Mezcla" -#: src/object/gradient.cpp:149 +#: src/object/gradient.cpp:115 msgid "Additive" msgstr "Aditiva" -#: src/object/gradient.cpp:149 +#: src/object/gradient.cpp:115 msgid "Modulate" msgstr "Modular" -#: src/object/bumper.hpp:35 +#: src/object/bumper.hpp:38 msgid "Bumper" msgstr "Parachoques" -#: src/object/unstable_tile.hpp:37 +#: src/object/conveyor_belt.cpp:63 +msgid "Length" +msgstr "Anchura" + +#: src/object/moving_sprite.cpp:192 src/object/pneumatic_platform.cpp:161 +msgid "Sprite" +msgstr "Sprite" + +#: src/object/unstable_tile.hpp:42 msgid "Unstable Tile" msgstr "Tesela inestable" -#: src/object/brick.hpp:31 -msgid "Brick" -msgstr "Ladrillo" +#: src/object/brick.hpp:70 +msgid "Heavy Brick" +msgstr "Ladrillo pesado" -#: src/object/invisible_wall.hpp:34 +#: src/object/invisible_wall.hpp:37 msgid "Invisible Wall" msgstr "Pared invisible" -#: src/object/spotlight.hpp:51 +#: src/object/spotlight.hpp:52 msgid "Spotlight" msgstr "Foco de luz" -#: src/object/scripted_object.hpp:39 +#: src/object/scripted_object.hpp:40 msgid "Scripted Object" msgstr "Objeto con script" -#: src/object/custom_particle_system_file.hpp:39 +#: src/object/custom_particle_system_file.hpp:40 msgid "Custom Particles from file" msgstr "Partículas propias desde archivo" -#: src/object/coin.hpp:78 +#: src/object/coin.hpp:97 msgid "Heavy Coin" msgstr "Moneda Pesada " -#: src/object/bonus_block.hpp:56 +#: src/object/explosion.hpp:35 +msgid "Explosion" +msgstr "Explosión" + +#: src/object/bonus_block.hpp:62 msgid "Bonus Block" msgstr "Bloque de bonificación" -#: src/object/magicblock.hpp:41 +#: src/object/magicblock.hpp:42 msgid "Magic Tile" msgstr "Tesela mágica" -#: src/object/camera.hpp:67 +#: src/object/camera.hpp:61 msgid "Camera" msgstr "Cámara" -#: src/object/textscroller.hpp:44 +#: src/object/textscroller.hpp:45 msgid "Text Scroller" msgstr "Texto animado" -#: src/gui/menu_badguy_select.cpp:94 -msgid "List of enemies" -msgstr "Lista de enemigos" +#: src/gui/notification.cpp:57 +msgid "Click for more details." +msgstr "Haz clic aquí para más información." -#: src/gui/menu_badguy_select.cpp:96 -msgid "Select enemy" -msgstr "Elige un enemigo" +#: src/gui/notification.cpp:150 +msgid "Do not show again" +msgstr "No volver a mostrar" -#: src/gui/menu_badguy_select.cpp:97 +#: src/gui/notification.cpp:157 src/supertux/menu/download_dialog.cpp:124 +msgid "Close" +msgstr "Cerrar" + +#: src/gui/menu_string_array.cpp:40 src/gui/menu_string_array.cpp:78 +#, c++-format +msgid "Selected item: {}" +msgstr "Elemento seleccionado: {}" + +#: src/gui/menu_string_array.cpp:70 +msgid "Edit string array" +msgstr "" + +#: src/gui/menu_string_array.cpp:79 src/gui/menu_object_select.cpp:50 +#: src/supertux/menu/profile_menu.cpp:88 msgid "Add" msgstr "Añadir" -#: src/gui/menu_badguy_select.cpp:107 src/gui/menu_color.cpp:37 -#: src/gui/dialog.hpp:81 src/gui/menu_script.cpp:47 -#: src/supertux/menu/editor_sector_menu.cpp:46 -#: src/supertux/menu/editor_levelset_menu.cpp:62 -#: src/supertux/menu/addon_menu.cpp:349 +#: src/gui/menu_string_array.cpp:80 +msgid "Insert" +msgstr "Insertar" + +#: src/gui/menu_string_array.cpp:81 +#: src/supertux/menu/addon_preview_menu.cpp:177 src/editor/object_menu.cpp:61 +msgid "Update" +msgstr "Actualizar" + +#: src/gui/menu_string_array.cpp:82 src/supertux/menu/profile_menu.cpp:108 +#: src/supertux/menu/profile_menu.cpp:110 +msgid "Delete" +msgstr "Borrar" + +#: src/gui/menu_string_array.cpp:84 src/gui/menu_object_select.cpp:61 +#: src/gui/menu_color.cpp:37 src/gui/dialog.hpp:87 src/gui/menu_script.cpp:46 +#: src/supertux/menu/editor_sector_menu.cpp:48 +#: src/supertux/menu/editor_levelset_menu.cpp:58 #: src/supertux/menu/editor_new_levelset_menu.cpp:37 -#: src/supertux/menu/editor_level_menu.cpp:45 src/editor/object_menu.cpp:43 +#: src/supertux/menu/editor_level_menu.cpp:45 src/editor/object_menu.cpp:71 msgid "OK" msgstr "Aceptar" -#: src/gui/menu_badguy_select.cpp:136 -msgid "Do you want to delete this badguy from the list?" -msgstr "¿Quieres borrar a este enemigo de la lista?" +#: src/gui/menu_object_select.cpp:46 +msgid "List of objects" +msgstr "Listado de objetos" -#: src/gui/menu_badguy_select.cpp:137 src/gui/dialog.hpp:90 -#: src/supertux/menu/editor_level_select_menu.cpp:164 -#: src/supertux/menu/editor_menu.cpp:164 src/editor/editor.cpp:583 -msgid "Yes" -msgstr "Sí" +#: src/gui/menu_object_select.cpp:48 +#, c++-format +msgid "Select object ({})" +msgstr "Seleccionar objecto ({})" -#: src/gui/menu_badguy_select.cpp:140 src/gui/dialog.hpp:91 -#: src/supertux/menu/editor_level_select_menu.cpp:168 -#: src/supertux/menu/editor_menu.cpp:167 src/editor/particle_editor.cpp:780 -#: src/editor/editor.cpp:590 -msgid "No" -msgstr "No" +#: src/gui/menu_object_select.cpp:114 +msgid "Are you sure you want to remove this object from the list?" +msgstr "¿Seguro que quieres borrarlo de la lista?" #: src/gui/menu_color.cpp:24 msgid "Mix the colour" msgstr "Mezclar el color" -#: src/gui/menu_filesystem.cpp:112 src/gui/menu_paths.cpp:44 -#: src/supertux/menu/particle_editor_save_as.cpp:42 +#: src/gui/dialog.hpp:96 src/supertux/menu/editor_level_select_menu.cpp:181 +#: src/editor/editor.cpp:663 +msgid "Yes" +msgstr "Sí" + +#: src/gui/dialog.hpp:97 src/supertux/menu/editor_level_select_menu.cpp:185 +#: src/editor/particle_editor.cpp:781 src/editor/editor.cpp:670 +msgid "No" +msgstr "No" + +#: src/gui/menu_list.cpp:38 src/gui/menu_filesystem.cpp:120 +#: src/gui/menu_paths.cpp:48 src/supertux/menu/particle_editor_save_as.cpp:42 #: src/supertux/menu/editor_sectors_menu.cpp:45 -#: src/supertux/menu/editor_sectors_menu.cpp:95 -#: src/supertux/menu/editor_sectors_menu.cpp:100 +#: src/supertux/menu/editor_sectors_menu.cpp:94 +#: src/supertux/menu/editor_sectors_menu.cpp:99 #: src/supertux/menu/editor_objectgroup_menu.cpp:42 #: src/supertux/menu/editor_tilegroup_menu.cpp:36 -#: src/supertux/menu/editor_level_select_menu.cpp:173 +#: src/supertux/menu/editor_level_select_menu.cpp:190 #: src/supertux/menu/editor_save_as.cpp:42 #: src/supertux/menu/particle_editor_open.cpp:43 -#: src/editor/particle_editor.cpp:784 src/editor/editor.cpp:594 +#: src/editor/particle_editor.cpp:785 src/editor/editor.cpp:674 msgid "Cancel" msgstr "Cancelar" +#: src/gui/menu_filesystem.cpp:118 +msgid "Open Directory" +msgstr "Abrir carpeta" + #: src/gui/menu_script.cpp:28 msgid "Edit script" msgstr "Editar el script" -#: src/gui/menu_paths.cpp:30 +#: src/gui/menu_paths.cpp:32 msgid "Clone" msgstr "Clonar" -#: src/gui/menu_paths.cpp:38 +#: src/gui/menu_paths.cpp:41 msgid "" -"An error occured and the game could\n" +"An error occurred and the game could\n" "not clone the path. Please contact\n" "the developers for support." -msgstr "Parece que hemos tenido un problema y el juego no puede clonar la ruta. Habla con los desarrolladores para buscar una solución." +msgstr "" -#: src/gui/menu_paths.cpp:41 +#: src/gui/menu_paths.cpp:44 msgid "Bind" msgstr "Enlazar" -#: src/gui/menu_paths.cpp:63 src/supertux/menu/integrations_menu.cpp:60 -#: src/supertux/menu/contrib_menu.cpp:161 src/supertux/menu/debug_menu.cpp:75 -#: src/supertux/menu/editor_level_select_menu.cpp:88 -#: src/supertux/menu/worldmap_cheat_menu.cpp:55 -#: src/supertux/menu/worldmap_cheat_menu.cpp:153 +#: src/gui/menu_paths.cpp:49 +msgid "" +"Do you wish to clone the path to edit it separately,\n" +"or do you want to bind both paths together\n" +"so that any edit on one edits the other?" +msgstr "" + +#: src/gui/menu_paths.cpp:56 +#, c++-format +msgid "Path {}" +msgstr "Ruta {}" + +#: src/gui/menu_paths.cpp:67 src/supertux/menu/integrations_menu.cpp:60 +#: src/supertux/menu/editor_converters_menu.cpp:79 +#: src/supertux/menu/video_system_menu.cpp:45 +#: src/supertux/menu/contrib_menu.cpp:102 src/supertux/menu/debug_menu.cpp:77 +#: src/supertux/menu/multiplayer_menu.cpp:39 +#: src/supertux/menu/custom_menu_menu.cpp:65 +#: src/supertux/menu/editor_level_select_menu.cpp:98 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:63 +#: src/supertux/menu/worldmap_cheat_menu.cpp:57 +#: src/supertux/menu/worldmap_cheat_menu.cpp:196 #: src/supertux/menu/editor_levelset_select_menu.cpp:114 -#: src/supertux/menu/options_menu.cpp:442 -#: src/supertux/menu/profile_menu.cpp:54 src/supertux/menu/addon_menu.cpp:213 +#: src/supertux/menu/options_menu.cpp:223 +#: src/supertux/menu/editor_delete_levelset_menu.cpp:69 +#: src/supertux/menu/addon_preview_menu.cpp:193 +#: src/supertux/menu/profile_menu.cpp:118 +#: src/supertux/menu/multiplayer_players_menu.cpp:91 +#: src/supertux/menu/addon_menu.cpp:153 #: src/supertux/menu/editor_new_levelset_menu.cpp:40 +#: src/supertux/menu/options_select_menu.cpp:44 #: src/supertux/menu/world_set_menu.cpp:33 +#: src/supertux/menu/addon_browse_menu.cpp:162 #: src/supertux/menu/web_asset_menu.cpp:48 -#: src/supertux/menu/keyboard_menu.cpp:49 -#: src/supertux/menu/language_menu.cpp:56 -#: src/supertux/menu/joystick_menu.cpp:97 +#: src/supertux/menu/profile_name_menu.cpp:45 +#: src/supertux/menu/keyboard_menu.cpp:71 +#: src/supertux/menu/sorted_contrib_menu.cpp:51 +#: src/supertux/menu/language_menu.cpp:63 +#: src/supertux/menu/joystick_menu.cpp:99 #: src/supertux/menu/contrib_levelset_menu.cpp:67 -#: src/supertux/menu/cheat_menu.cpp:44 -#: src/supertux/menu/editor_delete_level_menu.cpp:43 +#: src/supertux/menu/cheat_menu.cpp:58 +#: src/supertux/menu/addon_file_install_menu.cpp:36 +#: src/supertux/menu/cheat_apply_menu.cpp:43 +#: src/supertux/menu/cheat_apply_menu.cpp:63 +#: src/supertux/menu/multiplayer_player_menu.cpp:205 +#: src/supertux/menu/editor_delete_level_menu.cpp:68 msgid "Back" msgstr "Volver" -#: src/badguy/toad.hpp:37 -msgid "Toad" -msgstr "Sapo" +#: src/addon/addon_manager.cpp:562 +msgid "Only one resource pack is allowed to be enabled at a time." +msgstr "" -#: src/badguy/mrtree.hpp:29 -msgid "Walking Tree" -msgstr "Árbol con patas" +#: src/addon/addon_manager.cpp:837 +#, c++-format +msgid "Add-on {} by {} is already installed." +msgstr "El mod «{}» de «{}» ya estaba instalado." -#: src/badguy/plant.hpp:33 -msgid "Plant" -msgstr "Planta" +#: src/addon/addon_manager.cpp:857 +#, c++-format +msgid "Add-on {} by {} successfully installed." +msgstr "El mod «{}» de «{}» se ha instalado." -#: src/badguy/crystallo.hpp:30 -msgid "Crystallo" -msgstr "Cristalio" +#: src/addon/addon.cpp:71 src/supertux/menu/editor_levelset_menu.cpp:54 +msgid "Levelset" +msgstr "Conjunto de niveles" -#: src/badguy/totem.hpp:36 -msgid "Totem" -msgstr "Tótem" +#: src/addon/addon.cpp:74 src/supertux/menu/editor_levelset_menu.cpp:54 +#: data//images/engine/editor/objects.stoi:389 +msgid "Worldmap" +msgstr "Mapa global" + +#: src/addon/addon.cpp:77 +msgid "World" +msgstr "Mundo" + +#: src/addon/addon.cpp:80 +msgid "Add-on" +msgstr "Mods" + +#: src/addon/addon.cpp:83 +msgid "Language Pack" +msgstr "Paquete de idiomas" + +#: src/addon/addon.cpp:86 +msgid "Resource Pack" +msgstr "Paquete de recursos" + +#: src/addon/addon.cpp:89 +msgid "Unknown" +msgstr "Desconocido" + +#: src/addon/addon.cpp:100 +#, c++-format +msgid "{} \"{}\" by \"{}\"" +msgstr "{} \"{}\" por \"{}\"" + +#: src/addon/addon.cpp:114 +msgid "add-on" +msgstr "mod" + +#: src/addon/addon.cpp:114 +msgid "add-ons" +msgstr "mods" + +#: src/badguy/toad.hpp:38 +msgid "Toad" +msgstr "Sapo" + +#: src/badguy/mrtree.hpp:32 +msgid "Mr. Tree" +msgstr "Sr. Árbol" + +#: src/badguy/plant.hpp:34 +msgid "Plant" +msgstr "Planta" + +#: src/badguy/tarantula.hpp:39 src/badguy/tarantula.cpp:353 +msgid "Tarantula" +msgstr "" + +#: src/badguy/granito_giant.cpp:71 +msgid "Awake" +msgstr "Despierto" + +#: src/badguy/granito_giant.cpp:72 +msgid "Sleeping" +msgstr "Durmiendo" + +#: src/badguy/granito_giant.cpp:73 +msgid "Corrupted A" +msgstr "" + +#: src/badguy/granito_giant.cpp:74 +msgid "Corrupted B" +msgstr "" -#: src/badguy/stalactite.hpp:38 +#: src/badguy/granito_giant.cpp:75 +msgid "Corrupted C" +msgstr "" + +#: src/badguy/crystallo.hpp:33 +msgid "Crystallo" +msgstr "Cristalio" + +#: src/badguy/viciousivy.cpp:45 src/badguy/snail.cpp:70 +#: src/badguy/kamikazesnowball.cpp:118 src/badguy/walkingleaf.cpp:36 +#: src/badguy/jumpy.cpp:46 src/badguy/igel.cpp:189 src/badguy/mrtree.cpp:51 +msgid "Corrupted" +msgstr "" + +#: src/badguy/totem.hpp:37 +msgid "Totem" +msgstr "Tótem" + +#: src/badguy/stalactite.hpp:42 msgid "Stalactite" msgstr "Estalactita" -#: src/badguy/haywire.hpp:45 +#: src/badguy/fish_chasing.cpp:198 +msgid "Tracking Distance" +msgstr "" + +#: src/badguy/fish_chasing.cpp:199 +msgid "Losing Distance" +msgstr "" + +#: src/badguy/fish_chasing.cpp:200 +msgid "Chase Speed" +msgstr "" + +#: src/badguy/root_sapling.hpp:41 +msgid "Root Sapling" +msgstr "" + +#: src/badguy/haywire.hpp:46 msgid "Haywire" msgstr "Bombonero" -#: src/badguy/dispenser.hpp:48 +#: src/badguy/dispenser.hpp:52 msgid "Dispenser" msgstr "Dispensador" -#: src/badguy/short_fuse.hpp:29 +#: src/badguy/short_fuse.hpp:30 msgid "Short Fuse" msgstr "Mechacorto" -#: src/badguy/zeekling.hpp:36 +#: src/badguy/zeekling.hpp:39 msgid "Zeekling" msgstr "Aletín" -#: src/badguy/mriceblock.hpp:46 -msgid "Iceblock" -msgstr "Bloque de hielo " +#: src/badguy/smartball.cpp:35 +msgid "Pumpkin" +msgstr "" + +#: src/badguy/bouncing_snowball.cpp:82 +msgid "Fatbat" +msgstr "" + +#: src/badguy/dive_mine.hpp:50 +msgid "Dive Mine" +msgstr "" + +#: src/badguy/granito_big.hpp:33 +msgid "Big Granito" +msgstr "" + +#: src/badguy/mriceblock.hpp:49 +msgid "Mr. Iceblock" +msgstr "" + +#: src/badguy/granito.hpp:39 src/badguy/darttrap.cpp:163 +#: src/badguy/corrupted_granito.cpp:175 src/badguy/dispenser.cpp:438 +msgid "Granito" +msgstr "" + +#: src/badguy/fish_swimming.cpp:54 src/badguy/jumpy.cpp:44 +#: data//images/ice_world.strf:10 data//images/tiles.strf:28 +#: data//images/worldmap.strf:41 +msgid "Snow" +msgstr "Nieve" + +#: src/badguy/fish_swimming.cpp:55 data//images/ice_world.strf:211 +#: data//images/tiles.strf:366 data//images/worldmap.strf:67 +msgid "Forest" +msgstr "Bosque" + +#: src/badguy/crusher.hpp:71 +msgid "Crusher" +msgstr "" + +#: src/badguy/flame.cpp:84 +msgid "Fire" +msgstr "" + +#: src/badguy/flame.cpp:85 +msgid "Ghost" +msgstr "" + +#: src/badguy/corrupted_granito_big.hpp:35 +msgid "Corrupted Big Granito" +msgstr "" -#: src/badguy/scrystallo.cpp:52 +#: src/badguy/scrystallo.cpp:57 msgid "Walk Radius" msgstr "Radio de movimiento" -#: src/badguy/scrystallo.cpp:53 +#: src/badguy/scrystallo.cpp:58 msgid "Awakening Radius" msgstr "Radio de alerta" -#: src/badguy/jumpy.hpp:36 +#: src/badguy/scrystallo.cpp:59 +msgid "Roof-attached" +msgstr "" + +#: src/badguy/jumpy.hpp:40 msgid "Jumpy" msgstr "Saltimbanqui" -#: src/badguy/captainsnowball.hpp:31 +#: src/badguy/captainsnowball.hpp:32 msgid "Captain Snowball" msgstr "Bola de nieve capitana" -#: src/badguy/ghosttree.hpp:42 +#: src/badguy/ghosttree.hpp:43 msgid "Ghost Tree" msgstr "Árbol fantasmal" -#: src/badguy/willowisp.cpp:323 +#: src/badguy/willowisp.cpp:314 msgid "Track range" msgstr "Distancia de seguimiento" -#: src/badguy/willowisp.cpp:324 +#: src/badguy/willowisp.cpp:315 msgid "Vanish range" msgstr "Distancia de desaparición" -#: src/badguy/willowisp.cpp:325 +#: src/badguy/willowisp.cpp:316 msgid "Fly speed" msgstr "Velocidad de vuelo" -#: src/badguy/kugelblitz.hpp:39 +#: src/badguy/kugelblitz.hpp:40 msgid "Kugelblitz" msgstr "Kugelblitz" -#: src/badguy/mole_rock.hpp:43 +#: src/badguy/mole_rock.hpp:44 msgid "Mole's rock" msgstr "La Roca de Mole" -#: src/badguy/badguy.cpp:849 +#: src/badguy/badguy.cpp:1064 msgid "Death script" msgstr "Script muerto" -#: src/badguy/sspiky.hpp:36 +#: src/badguy/sspiky.hpp:37 msgid "Sleeping Spiky" msgstr "Pinchito dormidito" -#: src/badguy/yeti_stalactite.hpp:33 +#: src/badguy/yeti_stalactite.hpp:34 msgid "Yeti's Stalactite" msgstr "Estalactita de Yeti" -#: src/badguy/livefire.hpp:37 +#: src/badguy/fish_harmless.hpp:30 +msgid "Harmless Fish" +msgstr "" + +#: src/badguy/livefire.hpp:38 msgid "Walking Flame" msgstr "Llama ambulante" -#: src/badguy/livefire.hpp:68 +#: src/badguy/livefire.hpp:71 msgid "Sleeping Flame" msgstr "Llama durmiente " -#: src/badguy/livefire.hpp:84 +#: src/badguy/livefire.hpp:89 msgid "Dormant Flame" msgstr "Llama durmiente" -#: src/badguy/owl.hpp:39 +#: src/badguy/owl.hpp:45 msgid "Owl" msgstr "Lechuza" -#: src/badguy/igel.hpp:34 +#: src/badguy/igel.hpp:38 msgid "Igel" msgstr "Puercoespín" -#: src/badguy/darttrap.cpp:126 +#: src/badguy/darttrap.cpp:148 msgid "Initial delay" msgstr "Retraso inicial" -#: src/badguy/darttrap.cpp:128 +#: src/badguy/darttrap.cpp:150 msgid "Fire delay" msgstr "Retraso de disparo" -#: src/badguy/darttrap.cpp:129 +#: src/badguy/darttrap.cpp:151 msgid "Ammo" msgstr "Munición" -#: src/badguy/snowball.hpp:29 -msgid "Snowball" -msgstr "Bola de nieve" +#: src/badguy/darttrap.cpp:152 +msgid "Dart sprite" +msgstr "" + +#: src/badguy/darttrap.cpp:164 +msgid "Skull" +msgstr "" + +#: src/badguy/snowball.hpp:30 +msgid "Mr. Snowball" +msgstr "" -#: src/badguy/smartblock.hpp:29 -msgid "Smartblock" -msgstr "Bloque inteligente" +#: src/badguy/smartblock.hpp:30 +msgid "Mrs. Iceblock" +msgstr "" -#: src/badguy/yeti.cpp:369 +#: src/badguy/yeti.cpp:370 msgid "Fixed position" msgstr "Posición fija" -#: src/badguy/yeti.cpp:370 +#: src/badguy/yeti.cpp:371 msgid "Lives" msgstr "Vidas" -#: src/badguy/goldbomb.hpp:49 +#: src/badguy/goldbomb.hpp:50 msgid "Gold Bomb" msgstr "Bomba de oro" -#: src/badguy/flyingsnowball.hpp:32 +#: src/badguy/corrupted_granito.hpp:44 +msgid "Corrupted Granito" +msgstr "" + +#: src/badguy/mrbomb.cpp:48 +msgid "Classic" +msgstr "" + +#: src/badguy/flyingsnowball.hpp:33 msgid "Flying Snowball" msgstr "Bola de nieve voladora" -#: src/badguy/skullyhop.hpp:37 -msgid "Skullyhop" -msgstr "Skullyhop" +#: src/badguy/crusher.cpp:75 +msgid "Ice (normal)" +msgstr "" + +#: src/badguy/crusher.cpp:76 +msgid "Ice (big)" +msgstr "" + +#: src/badguy/crusher.cpp:77 +msgid "Rock (normal)" +msgstr "" + +#: src/badguy/crusher.cpp:78 +msgid "Rock (big)" +msgstr "" + +#: src/badguy/crusher.cpp:79 +msgid "Corrupted (normal)" +msgstr "" + +#: src/badguy/crusher.cpp:80 +msgid "Corrupted (big)" +msgstr "" + +#: src/badguy/crusher.cpp:492 +msgid "Sideways" +msgstr "De lado" -#: src/badguy/kamikazesnowball.hpp:32 -msgid "Snowshot" -msgstr "Snowshot" +#: src/badguy/kamikazesnowball.hpp:34 +msgid "Kamikaze Snowball" +msgstr "" -#: src/badguy/kamikazesnowball.hpp:52 +#: src/badguy/kamikazesnowball.hpp:64 msgid "Leafshot" msgstr "Leafshot" -#: src/badguy/flame.hpp:41 +#: src/badguy/fish_swimming.hpp:40 +msgid "Swimming Fish" +msgstr "" + +#: src/badguy/flame.hpp:47 msgid "Flame" msgstr "Llama" -#: src/badguy/scrystallo.hpp:30 +#: src/badguy/scrystallo.hpp:31 msgid "Sleeping Crystallo" msgstr "Cristalio durmiente" -#: src/badguy/poisonivy.hpp:30 -msgid "Spring Leaf" -msgstr "Hoja primaveral" +#: src/badguy/jumpy.cpp:45 +msgid "Wooden" +msgstr "" + +#: src/badguy/jumpy.cpp:47 +msgid "Metal" +msgstr "" + +#: src/badguy/jumpy.cpp:48 +msgid "Bag" +msgstr "" #: src/badguy/willowisp.hpp:57 msgid "Will o' Wisp" msgstr "Fuego fatuo" -#: src/badguy/badguy.hpp:53 +#: src/badguy/fish_jumping.hpp:41 +msgid "Jumping Fish" +msgstr "" + +#: src/badguy/badguy.hpp:61 msgid "Badguy" msgstr "Enemgo" -#: src/badguy/ghostflame.hpp:30 -msgid "Ghost Flame" -msgstr "Llama fantasmal" - -#: src/badguy/rcrystallo.hpp:30 +#: src/badguy/rcrystallo.hpp:33 msgid "Roof Crystallo" msgstr "Cristalio al revés" -#: src/badguy/spiky.hpp:30 +#: src/badguy/spiky.hpp:31 msgid "Spiky" msgstr "Pinchito" -#: src/badguy/walkingleaf.hpp:30 -msgid "Autumn Leaf" -msgstr "Hoja otoñal" +#: src/badguy/walkingleaf.hpp:33 +msgid "Walking Leaf" +msgstr "" + +#: src/badguy/root.hpp:39 +msgid "Root" +msgstr "" -#: src/badguy/owl.cpp:227 +#: src/badguy/owl.cpp:241 msgid "Carry" msgstr "Cargar" -#: src/badguy/darttrap.hpp:33 +#: src/badguy/darttrap.hpp:35 msgid "Dart Trap" msgstr "Trampa de dardos" -#: src/badguy/skydive.hpp:38 +#: src/badguy/skydive.hpp:43 msgid "Skydive" msgstr "Hacer Paracaidismo" -#: src/badguy/yeti.hpp:37 +#: src/badguy/yeti.hpp:38 msgid "Yeti" msgstr "Yeti" -#: src/badguy/mole.hpp:39 +#: src/badguy/snowball.cpp:41 +msgid "Bumpkin" +msgstr "" + +#: src/badguy/snowball.cpp:42 +msgid "BSOD" +msgstr "" + +#: src/badguy/mole.hpp:38 msgid "Mole" msgstr "Mole" -#: src/badguy/mrbomb.hpp:42 -msgid "Bomb" -msgstr "Bomba" +#: src/badguy/corrupted_granito.cpp:176 +msgid "Skullyhop" +msgstr "Skullyhop" -#: src/badguy/walking_candle.hpp:40 +#: src/badguy/mrbomb.hpp:40 +msgid "Mr. Bomb" +msgstr "Sr. Bomba" + +#: src/badguy/walking_candle.hpp:41 msgid "Walking Candle" msgstr "Vela con patas" -#: src/badguy/angrystone.hpp:34 +#: src/badguy/angrystone.hpp:39 msgid "Angry Stone" msgstr "Piedra furiosa" -#: src/badguy/spidermite.hpp:35 -msgid "Spider" -msgstr "Araña" +#: src/badguy/tarantula.cpp:354 +msgid "Spidermite" +msgstr "" + +#: src/badguy/tarantula.cpp:374 +msgid "Static" +msgstr "" #: src/badguy/ghoul.hpp:30 msgid "Ghoul" msgstr "Espíritu Maligno" -#: src/badguy/snowman.hpp:28 +#: src/badguy/granito_giant.hpp:32 +msgid "Giant Granito" +msgstr "" + +#: src/badguy/snowman.hpp:29 msgid "Snowman" msgstr "Hombre de nieve" -#: src/badguy/stumpy.hpp:35 -msgid "Walking Stump" -msgstr "Tocón con patas" +#: src/badguy/viciousivy.hpp:33 +msgid "Vicious Ivy" +msgstr "" + +#: src/badguy/stalactite.cpp:156 +msgid "ice" +msgstr "" + +#: src/badguy/stalactite.cpp:157 +msgid "rock" +msgstr "" + +#: src/badguy/fish_chasing.hpp:33 +msgid "Chasing Fish" +msgstr "" -#: src/badguy/fish.hpp:40 -msgid "Fish" -msgstr "Pez" +#: src/badguy/stumpy.hpp:38 +msgid "Stumpy" +msgstr "Stumpy" -#: src/badguy/dispenser.cpp:445 +#: src/badguy/dispenser.cpp:412 msgid "Interval (seconds)" msgstr "Intervalo (segundos)" -#: src/badguy/dispenser.cpp:446 +#: src/badguy/dispenser.cpp:413 msgid "Random" msgstr "Al azar" -#: src/badguy/dispenser.cpp:447 data//images/engine/editor/objects.stoi:4 -msgid "Enemies" -msgstr "Enemigos" +#: src/badguy/dispenser.cpp:416 +#: src/supertux/menu/editor_objectgroup_menu.cpp:30 +#: src/editor/toolbox_widget.cpp:101 +msgid "Objects" +msgstr "Objetos" -#: src/badguy/dispenser.cpp:448 +#: src/badguy/dispenser.cpp:419 msgid "Limit dispensed badguys" msgstr "Limitar la cantidad de malotes" -#: src/badguy/dispenser.cpp:450 +#: src/badguy/dispenser.cpp:421 msgid "Obey Gravity" msgstr "Con gravedad" -#: src/badguy/dispenser.cpp:452 +#: src/badguy/dispenser.cpp:423 msgid "Max concurrent badguys" msgstr "Límite máximo de malos" -#: src/badguy/dispenser.cpp:454 src/supertux/menu/editor_levelset_menu.cpp:60 -msgid "Type" -msgstr "Tipo" - -#: src/badguy/dispenser.cpp:455 -msgid "dropper" -msgstr "gotero" - -#: src/badguy/dispenser.cpp:455 -msgid "rocket launcher" -msgstr "lanzacohetes" +#: src/badguy/dispenser.cpp:435 +msgid "Dropper" +msgstr "" -#: src/badguy/dispenser.cpp:455 -msgid "cannon" -msgstr "cañón" +#: src/badguy/dispenser.cpp:436 +msgid "Cannon" +msgstr "" -#: src/badguy/dispenser.cpp:455 -msgid "invisible" -msgstr "invisible" +#: src/badguy/dispenser.cpp:437 src/worldmap/special_tile.cpp:77 +msgid "Invisible" +msgstr "Invisible" -#: src/badguy/snail.hpp:42 +#: src/badguy/snail.hpp:43 msgid "Snail" msgstr "Caracol" -#: src/badguy/smartball.hpp:31 -msgid "Smartball" -msgstr "Intelibola" +#: src/badguy/smartball.hpp:32 +msgid "Mrs. Snowball" +msgstr "" -#: src/badguy/bouncing_snowball.hpp:32 +#: src/badguy/bouncing_snowball.hpp:39 msgid "Bouncing Snowball" msgstr "Bola de nieve rebotadora" -#: src/badguy/iceflame.hpp:33 -msgid "Ice Flame" -msgstr "Hielo ardiente" +#: src/badguy/granito_big.cpp:52 src/badguy/granito.cpp:263 +msgid "Default" +msgstr "" + +#: src/badguy/granito_big.cpp:53 src/badguy/granito.cpp:264 +msgid "Standing" +msgstr "" + +#: src/badguy/granito_big.cpp:54 src/badguy/granito.cpp:265 +msgid "Walking" +msgstr "" + +#: src/badguy/mriceblock.cpp:63 +msgid "Laptop" +msgstr "" -#: src/badguy/dart.hpp:43 +#: src/badguy/dart.hpp:44 msgid "Dart" msgstr "Dardo" +#: src/badguy/granito.cpp:268 +msgid "Sitting" +msgstr "" + #: src/supertux/statistics.cpp:54 msgid "Max coins collected:" msgstr "Máximo de monedas:" @@ -1747,7 +2302,7 @@ msgstr "Mejor tiempo completado:" msgid "Level target time:" msgstr "Tiempo a batir:" -#: src/supertux/statistics.cpp:149 src/supertux/levelintro.cpp:160 +#: src/supertux/statistics.cpp:149 src/supertux/levelintro.cpp:175 msgid "Best Level Statistics" msgstr "Mejores estadísticas del nivel" @@ -1759,7 +2314,7 @@ msgstr "Tú" msgid "Best" msgstr "Mejor" -#: src/supertux/statistics.cpp:242 src/supertux/levelintro.cpp:166 +#: src/supertux/statistics.cpp:242 src/supertux/levelintro.cpp:181 msgid "Coins" msgstr "Monedas" @@ -1767,202 +2322,199 @@ msgstr "Monedas" msgid "Badguys" msgstr "Malotes" -#: src/supertux/statistics.cpp:281 src/supertux/levelintro.cpp:172 +#: src/supertux/statistics.cpp:281 src/supertux/levelintro.cpp:187 msgid "Secrets" msgstr "Secretos" -#: src/supertux/game_object.hpp:78 +#: src/supertux/game_object.hpp:88 msgid "Unknown object" msgstr "Objeto desconocido" -#: src/supertux/sector.cpp:414 +#: src/supertux/sector.cpp:507 msgid "Press escape to skip" msgstr "Pulsa escape para saltar" -#: src/supertux/command_line_arguments.cpp:94 -#, c-format +#: src/supertux/command_line_arguments.cpp:92 +#, c++-format msgid "Usage: {} [OPTIONS] [LEVELFILE]" -msgstr "Uso: {} [OPTIONS] [LEVELFILE]" +msgstr "Uso: {} [OPCIONES] [ARCHIVONIVEL]" -#: src/supertux/command_line_arguments.cpp:95 +#: src/supertux/command_line_arguments.cpp:93 msgid "General Options:" msgstr "Opciones generales:" -#: src/supertux/command_line_arguments.cpp:96 +#: src/supertux/command_line_arguments.cpp:94 msgid " -h, --help Show this help message and quit" msgstr " -h, --help Muestra este mensaje de ayuda y cierra" -#: src/supertux/command_line_arguments.cpp:97 +#: src/supertux/command_line_arguments.cpp:95 msgid " -v, --version Show SuperTux version and quit" msgstr "-v, versión Muestra la versión de SuperTux y cierra" -#: src/supertux/command_line_arguments.cpp:98 +#: src/supertux/command_line_arguments.cpp:96 msgid " --verbose Print verbose messages" msgstr "--minuscioso Imprime mensajes minusciosos" -#: src/supertux/command_line_arguments.cpp:99 +#: src/supertux/command_line_arguments.cpp:97 msgid " --debug Print extra verbose messages" msgstr "--depurar Imprime mensajes minusciosos extra" -#: src/supertux/command_line_arguments.cpp:100 +#: src/supertux/command_line_arguments.cpp:98 msgid "" " --print-datadir Print SuperTux's primary data directory." msgstr "--print-datadir Imprimir directorio primario de datos de Supertux." -#: src/supertux/command_line_arguments.cpp:101 +#: src/supertux/command_line_arguments.cpp:99 msgid "" " --acknowledgements Print the licenses of libraries used by " "SuperTux." msgstr " --acknowledgements Muestra las licencias de las bibliotecas que utiliza SuperTux." -#: src/supertux/command_line_arguments.cpp:103 +#: src/supertux/command_line_arguments.cpp:101 msgid "Video Options:" msgstr "Opciones de vídeo:" -#: src/supertux/command_line_arguments.cpp:104 +#: src/supertux/command_line_arguments.cpp:102 msgid " -f, --fullscreen Run in fullscreen mode" msgstr "-f, --pantalla completa Se ejecuta en pantalla completa" -#: src/supertux/command_line_arguments.cpp:105 +#: src/supertux/command_line_arguments.cpp:103 msgid " -w, --window Run in window mode" msgstr "-w, --ventana Se ejecuta en modo ventana" -#: src/supertux/command_line_arguments.cpp:106 +#: src/supertux/command_line_arguments.cpp:104 msgid " -g, --geometry WIDTHxHEIGHT Run SuperTux in given resolution" msgstr "-g, --geometría ANCHOxALTO Ejecuta SuperTux en una resolución determinada" -#: src/supertux/command_line_arguments.cpp:107 +#: src/supertux/command_line_arguments.cpp:105 msgid " -a, --aspect WIDTH:HEIGHT Run SuperTux with given aspect ratio" msgstr "-a, --aspecto ANCHO:ALTO Ejecuta SuperTux en una relación de aspecto determinada" -#: src/supertux/command_line_arguments.cpp:108 +#: src/supertux/command_line_arguments.cpp:106 msgid " -d, --default Reset video settings to default values" msgstr "-d, --por defecto Reajusta la configuración de video a los valores por defecto" -#: src/supertux/command_line_arguments.cpp:109 +#: src/supertux/command_line_arguments.cpp:107 msgid " --renderer RENDERER Use sdl, opengl, or auto to render" msgstr " --renderer MÉTODO Utiliza sdl, opengl o auto como sistema de dibujado" -#: src/supertux/command_line_arguments.cpp:111 +#: src/supertux/command_line_arguments.cpp:109 msgid "Audio Options:" msgstr "Opciones de audio" -#: src/supertux/command_line_arguments.cpp:112 +#: src/supertux/command_line_arguments.cpp:110 msgid " --disable-sound Disable sound effects" msgstr "--deshabilitar-sonido Deshabilita efectos de sonido" -#: src/supertux/command_line_arguments.cpp:113 +#: src/supertux/command_line_arguments.cpp:111 msgid " --disable-music Disable music" msgstr "--deshabilitar-música Deshabilita la música" -#: src/supertux/command_line_arguments.cpp:115 +#: src/supertux/command_line_arguments.cpp:113 msgid "Game Options:" msgstr "Opciones de jugabilidad:" -#: src/supertux/command_line_arguments.cpp:116 +#: src/supertux/command_line_arguments.cpp:114 msgid " --edit-level Open given level in editor" msgstr "--edit-level Abrir el nivel determinado en el editor" -#: src/supertux/command_line_arguments.cpp:117 +#: src/supertux/command_line_arguments.cpp:115 msgid " --resave Loads given level and saves it" msgstr " --resave Carga el nivel especificado y lo vuelve a guardar" -#: src/supertux/command_line_arguments.cpp:118 +#: src/supertux/command_line_arguments.cpp:116 msgid " --show-fps Display framerate in levels" msgstr "--mostrar-cuadros-por-segundo Muestra cuadros por segundo en los niveles" -#: src/supertux/command_line_arguments.cpp:119 +#: src/supertux/command_line_arguments.cpp:117 msgid " --no-show-fps Do not display framerate in levels" msgstr "--no-mostrar-cuadros-por-segundo No muestra cuadros pos segundo en los niveles" -#: src/supertux/command_line_arguments.cpp:120 +#: src/supertux/command_line_arguments.cpp:118 msgid " --show-pos Display player's current position" msgstr "--mostrar-pos Muestra la posición actual del jugador" -#: src/supertux/command_line_arguments.cpp:121 +#: src/supertux/command_line_arguments.cpp:119 msgid " --no-show-pos Do not display player's position" msgstr "--no-mostrar-pos No muestra la posición del jugador" -#: src/supertux/command_line_arguments.cpp:122 +#: src/supertux/command_line_arguments.cpp:120 msgid " --developer Switch on developer feature" msgstr "--desarrollador Enciende la función de desarrollador" -#: src/supertux/command_line_arguments.cpp:123 +#: src/supertux/command_line_arguments.cpp:121 msgid " -s, --debug-scripts Enable script debugger." msgstr "-s, --debug-scripts Habilita el depurador de scripts." -#: src/supertux/command_line_arguments.cpp:124 +#: src/supertux/command_line_arguments.cpp:122 msgid "" " --spawn-pos X,Y Where in the level to spawn Tux. Only used if" " level is specified." msgstr "--spawn-pos X,Y Donde en el nivel desova a Tux. Solamente se usa si el nivel lo especifica." -#: src/supertux/command_line_arguments.cpp:125 +#: src/supertux/command_line_arguments.cpp:123 msgid " --sector SECTOR Spawn Tux in SECTOR\n" msgstr " --sector SECTOR Spawn Tux in SECTOR\n" -#: src/supertux/command_line_arguments.cpp:126 +#: src/supertux/command_line_arguments.cpp:124 msgid " --spawnpoint SPAWNPOINT Spawn Tux at SPAWNPOINT\n" msgstr " --spawnpoint SPAWNPOINT Spawn Tux at SPAWNPOINT\n" -#: src/supertux/command_line_arguments.cpp:128 -msgid "Demo Recording Options:" -msgstr "Opciones de Grabación Demo" - -#: src/supertux/command_line_arguments.cpp:129 -msgid " --record-demo FILE LEVEL Record a demo to FILE" -msgstr "--grabar-demo NIVEL DE ARCHIVO Graba un demo a ARCHIVO" - -#: src/supertux/command_line_arguments.cpp:130 -msgid " --play-demo FILE LEVEL Play a recorded demo" -msgstr "--jugar-demo NIVEL DE ARCHIVO Juega un demo grabado" - -#: src/supertux/command_line_arguments.cpp:132 +#: src/supertux/command_line_arguments.cpp:126 msgid "Directory Options:" msgstr "Opciones de carpeta:" -#: src/supertux/command_line_arguments.cpp:133 +#: src/supertux/command_line_arguments.cpp:127 msgid "" " --datadir DIR Set the directory for the games datafiles" msgstr "--datadir DIR Elige el directorio para el archivo de datos del juego" -#: src/supertux/command_line_arguments.cpp:134 +#: src/supertux/command_line_arguments.cpp:128 msgid "" " --userdir DIR Set the directory for user data (savegames, " "etc.)" msgstr "--userdir DIR Elige el directorio para datos del usuario (partidas guardadas, etc.)" -#: src/supertux/command_line_arguments.cpp:136 +#: src/supertux/command_line_arguments.cpp:130 msgid "Add-On Options:" -msgstr "Opciones de complementos:" +msgstr "Opciones de mods:" -#: src/supertux/command_line_arguments.cpp:137 +#: src/supertux/command_line_arguments.cpp:131 msgid " --repository-url URL Set the URL to the Add-On repository" -msgstr " --repository-url URL Elige la URL al repositorio de complementos" +msgstr " --repository-url URL Pon la direción URL que apunte al repositorio de mods" -#: src/supertux/command_line_arguments.cpp:139 +#: src/supertux/command_line_arguments.cpp:133 msgid "Environment variables:" msgstr "Variables de entorno:" -#: src/supertux/command_line_arguments.cpp:140 +#: src/supertux/command_line_arguments.cpp:134 msgid "" " SUPERTUX2_USER_DIR Directory for user data (savegames, etc.)" msgstr "SUPERTUX2_USER_DIR Directorio para datos del usuario (partidas guardadas, etc.)" -#: src/supertux/command_line_arguments.cpp:141 +#: src/supertux/command_line_arguments.cpp:135 msgid " SUPERTUX2_DATA_DIR Directory for the games datafiles" msgstr "SUPERTUX2_DATA_DIR Directorio para archivo de datos del juego" -#: src/supertux/title_screen.cpp:44 +#: src/supertux/title_screen.cpp:272 msgid "Copyright" msgstr "Derechos de autor" -#: src/supertux/title_screen.cpp:45 +#: src/supertux/title_screen.cpp:273 msgid "" "This game comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to\n" "redistribute it under certain conditions; see the license file for details.\n" msgstr "Este juego viene sin ABSOLUTAMENTE NINGUNA GARANTÍA. Es software libre, y te invitamos a redistribuirlo bajo ciertas condiciones; lee el archivo de licencia para más detalles.\n" +#: src/supertux/game_object.cpp:114 +msgid "Version" +msgstr "Versión" + +#: src/supertux/game_object.cpp:129 +#: src/supertux/menu/editor_levelset_menu.cpp:54 +msgid "Type" +msgstr "Tipo" + #: src/supertux/menu/integrations_menu.cpp:49 msgid "Integrations" msgstr "Integraciones" @@ -1971,60 +2523,146 @@ msgstr "Integraciones" msgid "Do not share level names when editing" msgstr "No compartir el nombre del nivel al editar" +#: src/supertux/menu/integrations_menu.cpp:52 +msgid "" +"Enable this if you want to work on secret levels and don't want the names to" +" be spoiled" +msgstr "" + #: src/supertux/menu/integrations_menu.cpp:54 msgid "Enable Discord integration" msgstr "Activar integración con Discord" +#: src/supertux/menu/integrations_menu.cpp:55 +msgid "" +"Sends information to your Discord application about what you're doing in the" +" game." +msgstr "" + #: src/supertux/menu/integrations_menu.cpp:57 msgid "Discord (disabled; not compiled)" msgstr "Discord (desactivado en esta versión)" -#: src/supertux/menu/contrib_menu.cpp:80 -#: src/supertux/menu/world_set_menu.cpp:31 -msgid "Contrib Levels" -msgstr "Niveles aportados" +#: src/supertux/menu/editor_converters_menu.cpp:61 +#: src/supertux/menu/editor_menu.cpp:85 +msgid "Convert Tiles" +msgstr "Convertir teselas" -#: src/supertux/menu/debug_menu.cpp:32 -msgid "Debug" -msgstr "Depurar" +#: src/supertux/menu/editor_converters_menu.cpp:64 +msgid "Select Tile Conversion File" +msgstr "Elige una archivo de conversión de teselas" -#: src/supertux/menu/debug_menu.cpp:56 -msgid "Game Speed" -msgstr "Velocidad del juego" +#: src/supertux/menu/editor_converters_menu.cpp:72 +#, c++-format +msgid "By: {}" +msgstr "Por: {}" -#: src/supertux/menu/debug_menu.cpp:57 -msgid "Adjust Game Speed" -msgstr "Ajustar la velocidad del juego durante la partida" +#: src/supertux/menu/editor_converters_menu.cpp:75 +msgid "Convert Tiles By File" +msgstr "" -#: src/supertux/menu/debug_menu.cpp:63 -msgid "Show Collision Rects" -msgstr "Mostrar colisión entre objetos" +#: src/supertux/menu/editor_converters_menu.cpp:76 +msgid "Convert all tiles in the current level by a file, specified above." +msgstr "" -#: src/supertux/menu/debug_menu.cpp:64 -msgid "Show Worldmap Path" -msgstr "Mostrar las rutas en el mapamundi" +#: src/supertux/menu/editor_converters_menu.cpp:89 +msgid "No tile conversion file selected." +msgstr "" -#: src/supertux/menu/debug_menu.cpp:65 +#: src/supertux/menu/editor_converters_menu.cpp:93 +msgid "" +"This will convert all tiles in the level. Proceed?\n" +"\n" +"Note: This should not be ran more than once on a level.\n" +"Creating a separate copy of the level is highly recommended." +msgstr "" + +#: src/supertux/menu/video_system_menu.cpp:36 +msgid "Select Video System" +msgstr "" + +#: src/supertux/menu/video_system_menu.cpp:37 +#, c++-format +msgid "Used video system: {}" +msgstr "" + +#: src/supertux/menu/video_system_menu.cpp:54 +msgid "Restart game for the changes to take effect" +msgstr "" + +#: src/supertux/menu/contrib_menu.cpp:68 +#: src/supertux/menu/world_set_menu.cpp:31 +msgid "Contrib Levels" +msgstr "Niveles aportados" + +#: src/supertux/menu/contrib_menu.cpp:98 +#: src/supertux/menu/contrib_menu.cpp:112 +msgid "Official Contrib Levels" +msgstr "" + +#: src/supertux/menu/contrib_menu.cpp:99 +#: src/supertux/menu/contrib_menu.cpp:118 +msgid "Community Contrib Levels" +msgstr "" + +#: src/supertux/menu/contrib_menu.cpp:100 +#: src/supertux/menu/contrib_menu.cpp:124 +msgid "User Contrib Levels" +msgstr "" + +#: src/supertux/menu/contrib_menu.cpp:113 +msgid "How is this possible? There are no Official Contrib Levels!" +msgstr "" + +#: src/supertux/menu/contrib_menu.cpp:119 +msgid "No Community Contrib Levels yet. Download them from the Add-ons Menu." +msgstr "Todavía no tienes niveles creados por la comunidad; descárgalos desde el menú de mods." + +#: src/supertux/menu/contrib_menu.cpp:125 +msgid "No User Contrib Levels yet. Create some with the Level Editor." +msgstr "" + +#: src/supertux/menu/debug_menu.cpp:34 +msgid "Debug" +msgstr "Depurar" + +#: src/supertux/menu/debug_menu.cpp:58 +msgid "Game Speed" +msgstr "Velocidad del juego" + +#: src/supertux/menu/debug_menu.cpp:59 +msgid "Adjust Game Speed" +msgstr "Ajustar la velocidad del juego durante la partida" + +#: src/supertux/menu/debug_menu.cpp:65 +msgid "Show Collision Rects" +msgstr "Mostrar colisión entre objetos" + +#: src/supertux/menu/debug_menu.cpp:66 +msgid "Show Worldmap Path" +msgstr "Mostrar las rutas en el mapamundi" + +#: src/supertux/menu/debug_menu.cpp:67 msgid "Show Controller" msgstr "Ver el controlador" -#: src/supertux/menu/debug_menu.cpp:66 +#: src/supertux/menu/debug_menu.cpp:68 msgid "Show Framerate" msgstr "Mostrar FPS" -#: src/supertux/menu/debug_menu.cpp:67 +#: src/supertux/menu/debug_menu.cpp:69 msgid "Draw Redundant Frames" msgstr "Dibujar fotogramas redundantes" -#: src/supertux/menu/debug_menu.cpp:68 +#: src/supertux/menu/debug_menu.cpp:70 msgid "Show Player Position" msgstr "Mostrar posición de jugador" -#: src/supertux/menu/debug_menu.cpp:69 +#: src/supertux/menu/debug_menu.cpp:71 msgid "Use Bitmap Fonts" msgstr "Utilizar fuentes del mapa de bits" -#: src/supertux/menu/debug_menu.cpp:72 +#: src/supertux/menu/debug_menu.cpp:74 msgid "Dump Texture Cache" msgstr "Vuelca caché de textura " @@ -2038,10 +2676,37 @@ msgid "File name" msgstr "Nombre de archivo" #: src/supertux/menu/particle_editor_save_as.cpp:38 -#: src/supertux/menu/editor_save_as.cpp:38 src/editor/particle_editor.cpp:766 +#: src/supertux/menu/editor_save_as.cpp:38 src/editor/particle_editor.cpp:767 msgid "Save" msgstr "Guardar" +#: src/supertux/menu/multiplayer_menu.cpp:27 +#: src/supertux/menu/multiplayer_players_menu.cpp:34 +msgid "Multiplayer" +msgstr "Multijugador" + +#: src/supertux/menu/multiplayer_menu.cpp:30 +msgid "Auto-manage Players" +msgstr "Añadir jugadores sobre la marcha" + +#: src/supertux/menu/multiplayer_menu.cpp:31 +msgid "" +"Automatically add and remove players when controllers are plugged or " +"unplugged" +msgstr "Pone y quita jugadores según se van conectando o desconectando mandos y joysticks" + +#: src/supertux/menu/multiplayer_menu.cpp:33 +msgid "Allow Multibind" +msgstr "Control múltiple" + +#: src/supertux/menu/multiplayer_menu.cpp:34 +msgid "Allow binding multiple joysticks to a single player" +msgstr "Permite que varios mandos controlen al mismo personaje" + +#: src/supertux/menu/multiplayer_menu.cpp:36 +msgid "Manage Players" +msgstr "Configurar jugadores" + #: src/supertux/menu/editor_sectors_menu.cpp:31 msgid "Choose Sector" msgstr "Elige un sector" @@ -2058,50 +2723,98 @@ msgstr "Crear sector" msgid "Delete Sector" msgstr "Borrar sector" -#: src/supertux/menu/editor_sectors_menu.cpp:93 +#: src/supertux/menu/editor_sectors_menu.cpp:92 msgid "Each level must have at least one sector." msgstr "Cada nivel debe tener por lo menos un sector" -#: src/supertux/menu/editor_sectors_menu.cpp:98 +#: src/supertux/menu/editor_sectors_menu.cpp:97 msgid "Do you really want to delete this sector?" msgstr "¿Realmente quieres borrar este sector?" -#: src/supertux/menu/editor_sectors_menu.cpp:101 +#: src/supertux/menu/editor_sectors_menu.cpp:100 msgid "Delete sector" msgstr "Borrar sector" -#: src/supertux/menu/editor_objectgroup_menu.cpp:30 -#: src/editor/toolbox_widget.cpp:93 -msgid "Objects" -msgstr "Objetos" +#: src/supertux/menu/custom_menu_menu.cpp:49 +#: src/supertux/menu/options_menu.cpp:191 +msgid "Menu Customization" +msgstr "Personalización de menús" + +#: src/supertux/menu/custom_menu_menu.cpp:51 +msgid "Menu Back Color" +msgstr "Color de fondo de menú" + +#: src/supertux/menu/custom_menu_menu.cpp:52 +msgid "Menu Front Color" +msgstr "Color principal del menú" + +#: src/supertux/menu/custom_menu_menu.cpp:53 +msgid "Menu Help Back Color" +msgstr "Color de fondo del menú de ayuda" + +#: src/supertux/menu/custom_menu_menu.cpp:54 +msgid "Menu Help Front Color" +msgstr "Color principal del menú de ayuda" + +#: src/supertux/menu/custom_menu_menu.cpp:55 +msgid "Label Text Color" +msgstr "Color de etiquetas de texto" + +#: src/supertux/menu/custom_menu_menu.cpp:56 +msgid "Active Text Color" +msgstr "Color de texto activo" + +#: src/supertux/menu/custom_menu_menu.cpp:57 +msgid "Divider Line Color" +msgstr "Color de línea divisoria" -#: src/supertux/menu/editor_level_select_menu.cpp:62 +#: src/supertux/menu/custom_menu_menu.cpp:58 +msgid "Menu Roundness" +msgstr "Redondez de los menús" + +#: src/supertux/menu/custom_menu_menu.cpp:60 +msgid "Editor Interface Color" +msgstr "Color de la interfaz del editor" + +#: src/supertux/menu/custom_menu_menu.cpp:61 +msgid "Editor Hover Color" +msgstr "Color al pasar por encima en el editor" + +#: src/supertux/menu/custom_menu_menu.cpp:62 +msgid "Editor Grab Color" +msgstr "Color al agarrar en el editor" + +#: src/supertux/menu/custom_menu_menu.cpp:64 +msgid "Reset to defaults" +msgstr "Volver a los ajustes de serie" + +#: src/supertux/menu/editor_level_select_menu.cpp:72 msgid "Empty World" msgstr "Mundo vacío" -#: src/supertux/menu/editor_level_select_menu.cpp:77 +#: src/supertux/menu/editor_level_select_menu.cpp:87 msgid "Create Level" msgstr "Crear nivel" -#: src/supertux/menu/editor_level_select_menu.cpp:81 +#: src/supertux/menu/editor_level_select_menu.cpp:91 msgid "Edit Worldmap" msgstr "Editar el mapa global" -#: src/supertux/menu/editor_level_select_menu.cpp:83 +#: src/supertux/menu/editor_level_select_menu.cpp:93 msgid "Create Worldmap" msgstr "Crear Mapa de Mundo" -#: src/supertux/menu/editor_level_select_menu.cpp:85 -#: src/supertux/menu/editor_delete_level_menu.cpp:33 +#: src/supertux/menu/editor_level_select_menu.cpp:95 +#: src/supertux/menu/editor_delete_level_menu.cpp:55 msgid "Delete level" msgstr "Borrar nivel" -#: src/supertux/menu/editor_level_select_menu.cpp:87 -#: src/supertux/menu/editor_levelset_menu.cpp:56 +#: src/supertux/menu/editor_level_select_menu.cpp:97 +#: src/supertux/menu/editor_levelset_menu.cpp:50 msgid "World Settings" msgstr "Ajustes del mapa global" -#: src/supertux/menu/editor_level_select_menu.cpp:127 +#: src/supertux/menu/editor_level_select_menu.cpp:141 msgid "" "Share this worldmap under license CC-BY-SA 4.0 International (advised).\n" "It allows modifications and redistribution by third-parties.\n" @@ -2109,7 +2822,7 @@ msgid "" "DISCLAIMER: The SuperTux authors take no responsibility for your choice of license." msgstr "Comparte este mapa del mundo bajo la licencia CC-BY-SA 4.0 International (recomendado).\nPermite modificaciones y la redistribución por terceros.\nSi no aceptas esta licencia, cámbialo en propiedades del mapa del mundo.\nADVERTENCIA: Los creadores de SuperTux no se hacen responsables de tu elección." -#: src/supertux/menu/editor_level_select_menu.cpp:134 +#: src/supertux/menu/editor_level_select_menu.cpp:148 msgid "" "Share this level under license CC-BY-SA 4.0 International (advised).\n" "It allows modifications and redistribution by third-parties.\n" @@ -2117,495 +2830,816 @@ msgid "" "DISCLAIMER: The SuperTux authors take no responsibility for your choice of license." msgstr "Comparte este nivel bajo licencia CC-BY-SA 4.0 International (recomendado).\nPermite modificaciones y la redistribución por terceros.\nSi no aceptas esta licencia, cámbialo en propiedades del nivel.\nADVERTENCIA: Los creadores de SuperTux no se hacen responsables de tu elección." -#: src/supertux/menu/editor_level_select_menu.cpp:162 +#: src/supertux/menu/editor_level_select_menu.cpp:179 msgid "" "An auto-save recovery file was found. Would you like to restore the recovery\n" "file and resume where you were before the editor crashed?" msgstr "Se ha encontrado una copia de seguridad automática, ¿quieres restaurarla y seguir donde lo dejaste antes de que el editor cascara?" -#: src/supertux/menu/editor_level_select_menu.cpp:169 +#: src/supertux/menu/editor_level_select_menu.cpp:186 msgid "This will delete the auto-save file. Are you sure?" msgstr "Al hacer esto borrarás la copia de seguridad. ¿estás seguro?" -#: src/supertux/menu/worldmap_cheat_menu.cpp:34 -#: src/supertux/menu/cheat_menu.cpp:30 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:35 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:52 +#: src/supertux/menu/cheat_apply_menu.cpp:33 +#: src/supertux/menu/cheat_apply_menu.cpp:51 +msgid "Apply cheat to player" +msgstr "Trucos para el jugador" + +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:39 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:60 +#: src/supertux/menu/multiplayer_players_menu.cpp:39 +#: src/supertux/menu/keyboard_menu.cpp:63 +#: src/supertux/menu/cheat_apply_menu.cpp:39 +#: src/supertux/menu/cheat_apply_menu.cpp:59 +#: src/supertux/menu/multiplayer_player_menu.cpp:37 +#, c++-format +msgid "Player {}" +msgstr "Jugador {}" + +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:57 +#: src/supertux/menu/cheat_apply_menu.cpp:36 +#: src/supertux/menu/cheat_apply_menu.cpp:56 +msgid "All Players" +msgstr "Todos los jugadores" + +#: src/supertux/menu/worldmap_cheat_menu.cpp:36 +#: src/supertux/menu/cheat_menu.cpp:31 msgid "Cheats" msgstr "Trucos" -#: src/supertux/menu/worldmap_cheat_menu.cpp:36 -#: src/supertux/menu/cheat_menu.cpp:32 +#: src/supertux/menu/worldmap_cheat_menu.cpp:38 +#: src/supertux/menu/cheat_menu.cpp:33 msgid "Bonus: Grow" msgstr "Bonificador: Crecer" -#: src/supertux/menu/worldmap_cheat_menu.cpp:37 +#: src/supertux/menu/worldmap_cheat_menu.cpp:39 +#: src/supertux/menu/cheat_menu.cpp:34 msgid "Bonus: Fire" msgstr "Bonificador: Fuego" -#: src/supertux/menu/worldmap_cheat_menu.cpp:38 +#: src/supertux/menu/worldmap_cheat_menu.cpp:40 +#: src/supertux/menu/cheat_menu.cpp:35 msgid "Bonus: Ice" msgstr "Bonificador: Hielo" -#: src/supertux/menu/worldmap_cheat_menu.cpp:39 +#: src/supertux/menu/worldmap_cheat_menu.cpp:41 +#: src/supertux/menu/cheat_menu.cpp:36 msgid "Bonus: Air" msgstr "Bonificador: Aire" -#: src/supertux/menu/worldmap_cheat_menu.cpp:40 +#: src/supertux/menu/worldmap_cheat_menu.cpp:42 +#: src/supertux/menu/cheat_menu.cpp:37 msgid "Bonus: Earth" msgstr "Bonificador: Tierra" -#: src/supertux/menu/worldmap_cheat_menu.cpp:41 +#: src/supertux/menu/worldmap_cheat_menu.cpp:43 msgid "Bonus: None" msgstr "Bonus: Ninguno" -#: src/supertux/menu/worldmap_cheat_menu.cpp:44 -#: src/supertux/menu/cheat_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 +#: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:51 msgid "Leave Ghost Mode" msgstr "Salir del modo fantasma" -#: src/supertux/menu/worldmap_cheat_menu.cpp:44 -#: src/supertux/menu/cheat_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 +#: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:50 msgid "Activate Ghost Mode" msgstr "Activar el modo fantasma" -#: src/supertux/menu/worldmap_cheat_menu.cpp:46 -#: src/supertux/menu/cheat_menu.cpp:40 +#: src/supertux/menu/worldmap_cheat_menu.cpp:48 +#: src/supertux/menu/cheat_menu.cpp:41 msgid "Finish Level" msgstr "Terminar nivel" -#: src/supertux/menu/worldmap_cheat_menu.cpp:47 +#: src/supertux/menu/worldmap_cheat_menu.cpp:49 msgid "Reset Level" msgstr "Reiniciar el nivel" -#: src/supertux/menu/worldmap_cheat_menu.cpp:49 +#: src/supertux/menu/worldmap_cheat_menu.cpp:51 msgid "Finish Worldmap" msgstr "Terminar el mapa del mundo" -#: src/supertux/menu/worldmap_cheat_menu.cpp:50 +#: src/supertux/menu/worldmap_cheat_menu.cpp:52 msgid "Reset Worldmap" msgstr "Reiniciar el mapa del mundo" -#: src/supertux/menu/worldmap_cheat_menu.cpp:52 +#: src/supertux/menu/worldmap_cheat_menu.cpp:54 msgid "Go to level" msgstr "Ir a nivel" -#: src/supertux/menu/worldmap_cheat_menu.cpp:53 +#: src/supertux/menu/worldmap_cheat_menu.cpp:55 msgid "Go to main spawnpoint" msgstr "Ir al punto de aparición principal" -#: src/supertux/menu/worldmap_cheat_menu.cpp:145 +#: src/supertux/menu/worldmap_cheat_menu.cpp:188 msgid "Select level" msgstr "Elegir nivel" #: src/supertux/menu/editor_save_as.cpp:33 -#: src/supertux/menu/editor_menu.cpp:49 +#: src/supertux/menu/editor_menu.cpp:63 msgid "Save Level as" msgstr "Guardar nivel como" #: src/supertux/menu/editor_save_as.cpp:33 -#: src/supertux/menu/editor_menu.cpp:50 +#: src/supertux/menu/editor_menu.cpp:64 msgid "Save Copy" msgstr "Copiar" -#: src/supertux/menu/editor_levelset_select_menu.cpp:72 +#: src/supertux/menu/editor_levelset_select_menu.cpp:71 msgid "Choose World" msgstr "Elegir un mundo" -#: src/supertux/menu/editor_levelset_select_menu.cpp:100 -#, c-format -msgid "%d level" -msgid_plural "%d levels" -msgstr[0] "%d niveles" -msgstr[1] "%d niveles" +#: src/supertux/menu/editor_levelset_select_menu.cpp:99 +#, c++-format +msgid "{} level" +msgid_plural "{} levels" +msgstr[0] "{} nivel" +msgstr[1] "{} niveles" +msgstr[2] "{} niveles" -#: src/supertux/menu/editor_levelset_select_menu.cpp:113 +#: src/supertux/menu/editor_levelset_select_menu.cpp:112 msgid "Create World" msgstr "Crear un mundo" -#: src/supertux/menu/options_menu.cpp:98 src/supertux/menu/main_menu.cpp:64 -#: src/supertux/menu/game_menu.cpp:61 src/supertux/menu/worldmap_menu.cpp:31 -msgid "Options" -msgstr "Opciones" - -#: src/supertux/menu/options_menu.cpp:104 -#: src/supertux/menu/options_menu.cpp:142 -#: src/supertux/menu/options_menu.cpp:455 -#: src/supertux/menu/options_menu.cpp:476 src/editor/object_settings.cpp:119 -msgid "auto" -msgstr "autom." - -#: src/supertux/menu/options_menu.cpp:221 -msgid "Desktop" -msgstr "Escritorio" - -#: src/supertux/menu/options_menu.cpp:251 -msgid "on" -msgstr "sí" - -#: src/supertux/menu/options_menu.cpp:252 -msgid "off" -msgstr "no" +#: src/supertux/menu/editor_levelset_select_menu.cpp:113 +#: src/supertux/menu/editor_delete_levelset_menu.cpp:41 +msgid "Delete World" +msgstr "Borrar mundo" -#: src/supertux/menu/options_menu.cpp:253 -msgid "adaptive" -msgstr "adaptarse" +#: src/supertux/menu/options_menu.cpp:72 +#: src/supertux/menu/options_select_menu.cpp:35 +msgid "Locale" +msgstr "Idioma" -#: src/supertux/menu/options_menu.cpp:347 +#: src/supertux/menu/options_menu.cpp:76 msgid "Select Language" msgstr "Elegir idioma" -#: src/supertux/menu/options_menu.cpp:348 +#: src/supertux/menu/options_menu.cpp:77 msgid "Select a different language to display text in" msgstr "Selecciona otro idioma distinto para los textos del juego" -#: src/supertux/menu/options_menu.cpp:350 +#: src/supertux/menu/options_menu.cpp:79 msgid "Language Packs" msgstr "Paquetes de idioma" -#: src/supertux/menu/options_menu.cpp:351 +#: src/supertux/menu/options_menu.cpp:80 msgid "Language packs contain up-to-date translations" msgstr "Los paquetes de idioma contienen traducciones actualizadas" -#: src/supertux/menu/options_menu.cpp:353 -#: src/supertux/menu/profile_menu.cpp:34 -msgid "Select Profile" -msgstr "Seleccionar perfil" - -#: src/supertux/menu/options_menu.cpp:354 -msgid "Select a profile to play with" -msgstr "Selecciona un perfil para jugar" +#: src/supertux/menu/options_menu.cpp:88 +#: src/supertux/menu/options_select_menu.cpp:37 +msgid "Video" +msgstr "Vídeo" -#: src/supertux/menu/options_menu.cpp:358 +#: src/supertux/menu/options_menu.cpp:91 msgid "Window Resizable" msgstr "Ventana de tamaño variable" -#: src/supertux/menu/options_menu.cpp:359 +#: src/supertux/menu/options_menu.cpp:92 msgid "Allow window resizing, might require a restart to take effect" msgstr "Permite cambiar el tamaño de la ventana arrastrando los bordes, puede ser necesario reiniciar para que se apliquen los cambios" -#: src/supertux/menu/options_menu.cpp:361 -msgid "Window Resolution" -msgstr "Resolución de ventana" - -#: src/supertux/menu/options_menu.cpp:362 -msgid "Resize the window to the given size" -msgstr "Ajustar la ventana al tamaño configurado" - -#: src/supertux/menu/options_menu.cpp:364 +#: src/supertux/menu/options_menu.cpp:96 msgid "Fullscreen" msgstr "Pantalla completa" -#: src/supertux/menu/options_menu.cpp:365 +#: src/supertux/menu/options_menu.cpp:97 msgid "Fill the entire screen" msgstr "Llenar toda la pantalla" -#: src/supertux/menu/options_menu.cpp:367 -msgid "Fullscreen Resolution" -msgstr "Pantalla completa" - -#: src/supertux/menu/options_menu.cpp:368 -msgid "" -"Determine the resolution used in fullscreen mode (you must toggle fullscreen" -" to complete the change)" -msgstr "Elige automáticamente la resolución que mejor se adapte a tu pantalla (reactiva la pantalla completa para que se apliquen los cambios)" - -#: src/supertux/menu/options_menu.cpp:373 +#: src/supertux/menu/options_menu.cpp:104 msgid "Fit to browser" msgstr "Ajustarse al navegador" -#: src/supertux/menu/options_menu.cpp:374 +#: src/supertux/menu/options_menu.cpp:105 msgid "Fit the resolution to the size of your browser" msgstr "Ajusta automáticamente la resolución para que coincida con el tamaño del marco de tu navegador" -#: src/supertux/menu/options_menu.cpp:378 -msgid "Magnification" -msgstr "Ampliación" - -#: src/supertux/menu/options_menu.cpp:379 -msgid "Change the magnification of the game area" -msgstr "Hace más o menos grande el área del juego" - -#: src/supertux/menu/options_menu.cpp:381 -msgid "VSync" -msgstr "Sincronización vertical" +#: src/supertux/menu/options_menu.cpp:116 +msgid "Change Video System" +msgstr "Cambiar el sistema de vídeo" -#: src/supertux/menu/options_menu.cpp:382 -msgid "Set the VSync mode" -msgstr "Establecer el modo «v-sync», para reducir efecto de pantalla partida" +#: src/supertux/menu/options_menu.cpp:117 +msgid "Change video system used to render graphics" +msgstr "Cambia el método que se usa para dibujar los gráficos" -#: src/supertux/menu/options_menu.cpp:385 -msgid "Aspect Ratio" -msgstr "Relación de aspecto" - -#: src/supertux/menu/options_menu.cpp:386 -msgid "Adjust the aspect ratio" -msgstr "Ajusta la proporción de la imagen en pantalla" +#: src/supertux/menu/options_menu.cpp:124 +#: src/supertux/menu/options_select_menu.cpp:38 +msgid "Audio" +msgstr "Sonido" -#: src/supertux/menu/options_menu.cpp:392 +#: src/supertux/menu/options_menu.cpp:129 msgid "Disable all sound effects" msgstr "Desactivar los efectos de sonido" -#: src/supertux/menu/options_menu.cpp:394 +#: src/supertux/menu/options_menu.cpp:131 msgid "Disable all music" msgstr "Desactivar toda la música" -#: src/supertux/menu/options_menu.cpp:396 -msgid "Sound Volume" -msgstr "Volumen de sonido" - -#: src/supertux/menu/options_menu.cpp:397 -msgid "Adjust sound volume" -msgstr "Ajusta el volumen de los sonidos ambientales" - -#: src/supertux/menu/options_menu.cpp:399 -msgid "Music Volume" -msgstr "Volumen de música" - -#: src/supertux/menu/options_menu.cpp:400 -msgid "Adjust music volume" -msgstr "Configura el volumen de la música" - -#: src/supertux/menu/options_menu.cpp:404 +#: src/supertux/menu/options_menu.cpp:138 msgid "Sound (disabled)" msgstr "Sonido (desactivado)" -#: src/supertux/menu/options_menu.cpp:405 +#: src/supertux/menu/options_menu.cpp:139 msgid "Music (disabled)" msgstr "Música (desactivada)" -#: src/supertux/menu/options_menu.cpp:408 -#: src/supertux/menu/keyboard_menu.cpp:30 +#: src/supertux/menu/options_menu.cpp:147 +#: src/supertux/menu/options_select_menu.cpp:39 +msgid "Controls" +msgstr "Controles" + +#: src/supertux/menu/options_menu.cpp:151 +msgid "Enable Rumbling Controllers" +msgstr "Activar vibración" + +#: src/supertux/menu/options_menu.cpp:152 +msgid "Enable vibrating the game controllers." +msgstr "Hace que los mandos vibren durante el juego" + +#: src/supertux/menu/options_menu.cpp:152 +msgid "This feature is currently only used in the multiplayer options menu." +msgstr "Esto solo funciona en el menú multijugador, al menos de momento." + +#: src/supertux/menu/options_menu.cpp:154 +#: src/supertux/menu/keyboard_menu.cpp:34 msgid "Setup Keyboard" msgstr "Configurar teclado" -#: src/supertux/menu/options_menu.cpp:409 +#: src/supertux/menu/options_menu.cpp:155 msgid "Configure key-action mappings" msgstr "Configurar mapeo de teclas de acción" -#: src/supertux/menu/options_menu.cpp:412 -#: src/supertux/menu/joystick_menu.cpp:52 +#: src/supertux/menu/options_menu.cpp:158 +#: src/supertux/menu/joystick_menu.cpp:54 msgid "Setup Joystick" msgstr "Configurar joystick" -#: src/supertux/menu/options_menu.cpp:413 +#: src/supertux/menu/options_menu.cpp:159 msgid "Configure joystick control-action mappings" msgstr "Configura el mapeo de control de efecto del joystick" -#: src/supertux/menu/options_menu.cpp:417 -msgid "On-screen controls" -msgstr "Botones en pantalla" +#: src/supertux/menu/options_menu.cpp:167 +#: src/supertux/menu/options_select_menu.cpp:40 +msgid "Extras" +msgstr "Más cosas" + +#: src/supertux/menu/options_menu.cpp:170 +#: src/supertux/menu/profile_menu.cpp:56 +msgid "Select Profile" +msgstr "Seleccionar perfil" + +#: src/supertux/menu/options_menu.cpp:171 +msgid "Select a profile to play with" +msgstr "Selecciona un perfil para jugar" + +#: src/supertux/menu/options_menu.cpp:174 +msgid "Multiplayer settings" +msgstr "Ajustes multijugador" -#: src/supertux/menu/options_menu.cpp:418 -msgid "Toggle on-screen controls for mobile devices" -msgstr "Activa o no los controles táctiles para dispositivos móviles" +#: src/supertux/menu/options_menu.cpp:175 +msgid "Configure settings specific to multiplayer" +msgstr "Configura opciones específicas para el modo multijugador" -#: src/supertux/menu/options_menu.cpp:420 +#: src/supertux/menu/options_menu.cpp:178 msgid "Enable transitions" msgstr "Activar transiciones" -#: src/supertux/menu/options_menu.cpp:421 +#: src/supertux/menu/options_menu.cpp:179 msgid "Enable screen transitions and smooth menu animation" msgstr "Permite las transiciones graduales al cambiar de pantalla y el movimiento en los menús" -#: src/supertux/menu/options_menu.cpp:425 -msgid "Developer Mode" -msgstr "Modo desarrollador" +#: src/supertux/menu/options_menu.cpp:181 +msgid "Custom title screen levels" +msgstr "" -#: src/supertux/menu/options_menu.cpp:430 +#: src/supertux/menu/options_menu.cpp:182 +msgid "Allow overriding the title screen level, when loading certain worlds" +msgstr "" + +#: src/supertux/menu/options_menu.cpp:185 msgid "Christmas Mode" msgstr "Modo navideño" -#: src/supertux/menu/options_menu.cpp:433 +#: src/supertux/menu/options_menu.cpp:187 +msgid "Integrations and presence" +msgstr "Integraciones y compartir estado de juego" + +#: src/supertux/menu/options_menu.cpp:188 +msgid "" +"Manage whether SuperTux should display the levels you play on your social " +"media profiles (Discord)" +msgstr "Elige si SuperTux muestra en qué nivel estás jugando para que todos lo vean (Discord)" + +#: src/supertux/menu/options_menu.cpp:192 +msgid "Customize the appearance of the menus" +msgstr "" + +#: src/supertux/menu/options_menu.cpp:199 +#: src/supertux/menu/options_select_menu.cpp:41 +msgid "Advanced" +msgstr "Avanzado" + +#: src/supertux/menu/options_menu.cpp:204 +msgid "Developer Mode" +msgstr "Modo desarrollador" + +#: src/supertux/menu/options_menu.cpp:206 msgid "Confirmation Dialog" msgstr "Cuadro de confirmación" -#: src/supertux/menu/options_menu.cpp:433 +#: src/supertux/menu/options_menu.cpp:206 msgid "Confirm aborting level" msgstr "Preguntar antes de salir del nivel" -#: src/supertux/menu/options_menu.cpp:434 +#: src/supertux/menu/options_menu.cpp:208 msgid "Pause on focus loss" msgstr "Pausar en segundo plano" -#: src/supertux/menu/options_menu.cpp:435 +#: src/supertux/menu/options_menu.cpp:209 msgid "Automatically pause the game when the window loses focus" msgstr "Pausar el juego al cambiar a otra aplicación" -#: src/supertux/menu/options_menu.cpp:436 +#: src/supertux/menu/options_menu.cpp:211 msgid "Use custom mouse cursor" msgstr "Utilizar el cursor personalizado" -#: src/supertux/menu/options_menu.cpp:436 +#: src/supertux/menu/options_menu.cpp:211 msgid "Whether the game renders its own cursor or uses the system's cursor" msgstr "Elige si el juego dibuja su propio cursor o utiliza el del sistema" -#: src/supertux/menu/options_menu.cpp:438 -msgid "Integrations and presence" -msgstr "Integraciones y compartir estado de juego" +#: src/supertux/menu/options_menu.cpp:214 +msgid "Check for new releases" +msgstr "Buscar nuevas actualizaciones" -#: src/supertux/menu/options_menu.cpp:439 +#: src/supertux/menu/options_menu.cpp:215 msgid "" -"Manage whether SuperTux should display the levels you play on your social " -"media profiles (Discord)" -msgstr "Elige si SuperTux muestra en qué nivel estás jugando para que todos lo vean (Discord)" +"Allows the game to perform checks for new SuperTux releases on startup and " +"notify if any found." +msgstr "Permite que el juego compruebe si hay versiones nuevas al arrancar, así como mostrarte un mensaje de notificación" + +#: src/supertux/menu/options_menu.cpp:245 +#: src/supertux/menu/options_menu.cpp:288 src/supertux/direction.cpp:76 +msgid "auto" +msgstr "autom." + +#: src/supertux/menu/options_menu.cpp:281 +msgid "Magnification" +msgstr "Ampliación" + +#: src/supertux/menu/options_menu.cpp:282 +msgid "Change the magnification of the game area" +msgstr "Hace más o menos grande el área del juego" + +#: src/supertux/menu/options_menu.cpp:318 +msgid "Aspect Ratio" +msgstr "Relación de aspecto" + +#: src/supertux/menu/options_menu.cpp:319 +msgid "Adjust the aspect ratio" +msgstr "Ajusta la proporción de la imagen en pantalla" -#: src/supertux/menu/options_menu.cpp:559 +#: src/supertux/menu/options_menu.cpp:346 +msgid "Window Resolution" +msgstr "Resolución de ventana" + +#: src/supertux/menu/options_menu.cpp:347 +msgid "Resize the window to the given size" +msgstr "Ajustar la ventana al tamaño configurado" + +#: src/supertux/menu/options_menu.cpp:377 +msgid "Desktop" +msgstr "Escritorio" + +#: src/supertux/menu/options_menu.cpp:404 +msgid "Fullscreen Resolution" +msgstr "Pantalla completa" + +#: src/supertux/menu/options_menu.cpp:405 +msgid "" +"Determine the resolution used in fullscreen mode (you must toggle fullscreen" +" to complete the change)" +msgstr "Elige automáticamente la resolución que mejor se adapte a tu pantalla (reactiva la pantalla completa para que se apliquen los cambios)" + +#: src/supertux/menu/options_menu.cpp:411 +msgid "on" +msgstr "sí" + +#: src/supertux/menu/options_menu.cpp:412 +msgid "off" +msgstr "no" + +#: src/supertux/menu/options_menu.cpp:413 +msgid "adaptive" +msgstr "adaptarse" + +#: src/supertux/menu/options_menu.cpp:431 +msgid "VSync" +msgstr "Sincronización vertical" + +#: src/supertux/menu/options_menu.cpp:432 +msgid "Set the VSync mode" +msgstr "Establecer el modo «v-sync», para reducir efecto de pantalla partida" + +#: src/supertux/menu/options_menu.cpp:467 +msgid "Sound Volume" +msgstr "Volumen de sonido" + +#: src/supertux/menu/options_menu.cpp:468 +msgid "Adjust sound volume" +msgstr "Ajusta el volumen de los sonidos ambientales" + +#: src/supertux/menu/options_menu.cpp:503 +msgid "Music Volume" +msgstr "Volumen de música" + +#: src/supertux/menu/options_menu.cpp:504 +msgid "Adjust music volume" +msgstr "Configura el volumen de la música" + +#: src/supertux/menu/options_menu.cpp:517 +msgid "On-screen controls scale" +msgstr "Escala de la interfaz durante la partida" + +#: src/supertux/menu/options_menu.cpp:638 msgid "" "The game couldn't detect your browser resolution.\n" "This most likely happens because it is not embedded\n" "in the SuperTux custom HTML template.\n" msgstr "El juego no ha podido detectar la resolución de tu navegador. Esto suele pasar cuando el juego no está dentro de la plantilla HTML propia.\n" -#: src/supertux/menu/main_menu.cpp:56 src/supertux/menu/world_set_menu.cpp:28 +#: src/supertux/menu/editor_delete_levelset_menu.cpp:80 +msgid "You cannot delete the world that you are editing" +msgstr "" + +#: src/supertux/menu/editor_delete_levelset_menu.cpp:83 +#, c++-format +msgid "You are about to delete world \"{}\". Are you sure?" +msgstr "" + +#: src/supertux/menu/addon_preview_menu.cpp:82 +#, c++-format +msgid "{} \"{}\"" +msgstr "" + +#: src/supertux/menu/addon_preview_menu.cpp:87 +msgid "Some information about this add-on is not available." +msgstr "A este mod le falta información." + +#: src/supertux/menu/addon_preview_menu.cpp:88 +msgid "Perform a \"Check Online\" to try retrieving it." +msgstr "" + +#: src/supertux/menu/addon_preview_menu.cpp:92 +msgid "No author specified." +msgstr "Autor no disponible" + +#: src/supertux/menu/addon_preview_menu.cpp:92 +#, c++-format +msgid "Author: {}" +msgstr "Autor: {}" + +#: src/supertux/menu/addon_preview_menu.cpp:93 +#, c++-format +msgid "Type: {}" +msgstr "Tipo: {}" + +#: src/supertux/menu/addon_preview_menu.cpp:94 +msgid "No license specified." +msgstr "Licencia de uso desconocida." + +#: src/supertux/menu/addon_preview_menu.cpp:94 +#, c++-format +msgid "License: {}" +msgstr "Licencia: {}" + +#: src/supertux/menu/addon_preview_menu.cpp:99 +msgid "Dependencies:" +msgstr "Dependencias:" + +#: src/supertux/menu/addon_preview_menu.cpp:108 +msgid "Installed" +msgstr "Instalado" + +#: src/supertux/menu/addon_preview_menu.cpp:108 +msgid "Not installed" +msgstr "Sin instalar" + +#: src/supertux/menu/addon_preview_menu.cpp:113 +msgid "Not available!" +msgstr "No disponible" + +#: src/supertux/menu/addon_preview_menu.cpp:120 +msgid "Description:" +msgstr "Descripción:" + +#: src/supertux/menu/addon_preview_menu.cpp:123 +msgid "No description available." +msgstr "Parece que no tiene descripción." + +#: src/supertux/menu/addon_preview_menu.cpp:147 +msgid "Failed to load all available screenshot previews." +msgstr "No se pudieron cargar las capturas de pantalla." + +#: src/supertux/menu/addon_preview_menu.cpp:152 +msgid "Show screenshots" +msgstr "Ver capturas de pantalla" + +#: src/supertux/menu/addon_preview_menu.cpp:165 +msgid "Screenshot previews are disabled for automatic installs." +msgstr "Las imágenes de vista previa están desactivadas en las descargas automáticas." + +#: src/supertux/menu/addon_preview_menu.cpp:169 +msgid "No screenshot previews available." +msgstr "No parece que haya ninguna captura disponible." + +#: src/supertux/menu/addon_preview_menu.cpp:177 +msgid "Install" +msgstr "Instalar" + +#: src/supertux/menu/addon_preview_menu.cpp:190 +msgid "Uninstall" +msgstr "Desinstalar" + +#: src/supertux/menu/addon_preview_menu.cpp:214 +#, c++-format +msgid "Are you sure you want to uninstall \"{}\"?" +msgstr "¿Seguro que quieres desinstalar «{}»?" + +#: src/supertux/menu/addon_preview_menu.cpp:215 +msgid "" +"\n" +"Your progress won't be lost." +msgstr "\nNo perderás ningún progreso." + +#: src/supertux/menu/addon_preview_menu.cpp:227 +#, c++-format +msgid "" +"NOTE: The add-on \"{}\" is a dependency of {} other installed {}.\n" +"Are you sure you wish to uninstall?" +msgstr "NOTA: De este mod «{}» dependen {} otros {} instalados.\n¿Seguro que quieres borrarlo?" + +#: src/supertux/menu/addon_preview_menu.cpp:246 +#, c++-format +msgid "" +"Cannot toggle add-on \"{}\":\n" +"{}" +msgstr "No se puede cambiar el estado del mod «{}»:\n{}" + +#: src/supertux/menu/addon_preview_menu.cpp:279 +msgid "Fetching screenshot previews..." +msgstr "" + +#: src/supertux/menu/addon_preview_menu.cpp:300 +msgid "Updating" +msgstr "Actualizando" + +#: src/supertux/menu/addon_preview_menu.cpp:300 +msgid "Downloading" +msgstr "Descargando" + +#: src/supertux/menu/addon_preview_menu.cpp:328 +msgid "Add-on uninstalled successfully." +msgstr "El mod se ha quitado." + +#: src/supertux/menu/addon_preview_menu.cpp:333 +#, c++-format +msgid "" +"Error uninstalling add-on:\n" +"{}" +msgstr "Hubo un error al quitar el mod:\n{}" + +#: src/supertux/menu/addon_preview_menu.cpp:361 +msgid "" +"Please restart SuperTux\n" +"for these changes to take effect." +msgstr "Reinicia SuperTux para que estos cambios surtan efecto." + +#: src/supertux/menu/main_menu.cpp:51 src/supertux/menu/world_set_menu.cpp:28 msgid "Start Game" msgstr "Comenzar el juego" -#: src/supertux/menu/main_menu.cpp:60 src/supertux/menu/addon_menu.cpp:122 +#: src/supertux/menu/main_menu.cpp:55 msgid "Add-ons" -msgstr "Complementos" +msgstr "Mods" -#: src/supertux/menu/main_menu.cpp:62 src/supertux/menu/web_asset_menu.cpp:38 +#: src/supertux/menu/main_menu.cpp:57 src/supertux/menu/web_asset_menu.cpp:38 msgid "Manage Assets" msgstr "Gestionar datos" -#: src/supertux/menu/main_menu.cpp:65 src/supertux/menu/editor_menu.cpp:43 +#: src/supertux/menu/main_menu.cpp:59 +#: src/supertux/menu/options_select_menu.cpp:29 +#: src/supertux/menu/game_menu.cpp:58 src/supertux/menu/worldmap_menu.cpp:31 +#: src/supertux/menu/editor_menu.cpp:70 +msgid "Options" +msgstr "Opciones" + +#: src/supertux/menu/main_menu.cpp:60 src/supertux/menu/editor_menu.cpp:58 msgid "Level Editor" msgstr "Editor de Niveles" -#: src/supertux/menu/main_menu.cpp:66 +#: src/supertux/menu/main_menu.cpp:61 msgid "Credits" msgstr "Créditos" -#: src/supertux/menu/main_menu.cpp:67 +#: src/supertux/menu/main_menu.cpp:64 msgid "Donate" msgstr "Donar" -#: src/supertux/menu/main_menu.cpp:69 +#: src/supertux/menu/main_menu.cpp:67 msgid "Quit" msgstr "Salir" -#: src/supertux/menu/editor_sector_menu.cpp:35 +#: src/supertux/menu/main_menu.cpp:106 +msgid "" +"This will take you to the SuperTux donation page. Are you sure you want to " +"continue?" +msgstr "Esto te llevará a la página de donación de SuperTux. ¿Seguro que quieres seguir?" + +#: src/supertux/menu/editor_sector_menu.cpp:34 +#, c++-format +msgid "Sector {}" +msgstr "Sector {}" + +#: src/supertux/menu/editor_sector_menu.cpp:37 msgid "Initialization script" msgstr "Script de iniciación" -#: src/supertux/menu/editor_sector_menu.cpp:36 +#: src/supertux/menu/editor_sector_menu.cpp:38 msgid "Gravity" msgstr "Gravedad" -#: src/supertux/menu/editor_sector_menu.cpp:41 +#: src/supertux/menu/editor_sector_menu.cpp:43 msgid "Resize offset X" msgstr "Cambiar compensación en X" -#: src/supertux/menu/editor_sector_menu.cpp:42 +#: src/supertux/menu/editor_sector_menu.cpp:44 msgid "Resize offset Y" msgstr "Cambiar compensación en Y" -#: src/supertux/menu/editor_sector_menu.cpp:43 +#: src/supertux/menu/editor_sector_menu.cpp:45 msgid "Resize" msgstr "Redimensionar" -#: src/supertux/menu/profile_menu.cpp:41 -#, c-format -msgid "[Profile {}]" -msgstr "[Perfil {}]" +#: src/supertux/menu/profile_menu.cpp:60 +msgid "No profiles found." +msgstr "No se ha encontrado ningún perfil." -#: src/supertux/menu/profile_menu.cpp:45 -#, c-format +#: src/supertux/menu/profile_menu.cpp:68 +#: src/supertux/menu/profile_menu.cpp:149 +#: src/supertux/menu/profile_menu.cpp:168 +#, c++-format msgid "Profile {}" msgstr "Perfil {}" -#: src/supertux/menu/profile_menu.cpp:50 -msgid "Reset profile" -msgstr "Restablecer el perfil" - -#: src/supertux/menu/profile_menu.cpp:51 -msgid "Reset all profiles" -msgstr "Restablecer todos los perfiles" - -#: src/supertux/menu/profile_menu.cpp:67 -msgid "Deleting your profile will reset your game progress. Are you sure?" -msgstr "Al borrar tu perfil borrarás todo tu progreso en la partida. ¿Seguro que quieres seguir?" +#: src/supertux/menu/profile_menu.cpp:69 +#, c++-format +msgid "{} (Profile {})" +msgstr "{} (Perfil {})" + +#: src/supertux/menu/profile_menu.cpp:84 +msgid "No profile selected." +msgstr "No has elegido ningún perfil." + +#: src/supertux/menu/profile_menu.cpp:91 src/supertux/menu/profile_menu.cpp:93 +#: src/supertux/menu/profile_name_menu.cpp:42 +msgid "Rename" +msgstr "Renombrar" + +#: src/supertux/menu/profile_menu.cpp:98 +#: src/supertux/menu/profile_menu.cpp:100 +msgid "Reset" +msgstr "Restablecer" + +#: src/supertux/menu/profile_menu.cpp:103 +#: src/supertux/menu/profile_menu.cpp:105 +msgid "Reset all" +msgstr "Restablecer todo" + +#: src/supertux/menu/profile_menu.cpp:113 +#: src/supertux/menu/profile_menu.cpp:115 +msgid "Delete all" +msgstr "Borrar todo" + +#: src/supertux/menu/profile_menu.cpp:148 +#, c++-format +msgid "" +"This will reset all game progress on the profile \"{}\".\n" +"Are you sure?" +msgstr "" -#: src/supertux/menu/profile_menu.cpp:73 +#: src/supertux/menu/profile_menu.cpp:157 msgid "This will reset your game progress on all profiles. Are you sure?" msgstr "Borrarás todo el progreso en todas las partidas y sus perfiles. ¿Seguro que quieres seguir?" -#: src/supertux/menu/editor_levelset_menu.cpp:59 +#: src/supertux/menu/profile_menu.cpp:167 +#, c++-format +msgid "" +"This will delete the profile \"{}\",\n" +"including all game progress on it. Are you sure?" +msgstr "" + +#: src/supertux/menu/profile_menu.cpp:178 +msgid "" +"This will delete all profiles, including all game progress on them.\n" +"Are you sure?" +msgstr "" + +#: src/supertux/menu/editor_levelset_menu.cpp:53 #: src/supertux/menu/editor_new_levelset_menu.cpp:35 msgid "Description" msgstr "Descripción" -#: src/supertux/menu/editor_levelset_menu.cpp:60 -#: src/supertux/menu/addon_menu.cpp:48 -#: data//images/engine/editor/objects.stoi:371 -msgid "Worldmap" -msgstr "Mapa global" +#: src/supertux/menu/editor_levelset_menu.cpp:55 +msgid "Title Screen Level" +msgstr "" -#: src/supertux/menu/editor_levelset_menu.cpp:60 -#: src/supertux/menu/addon_menu.cpp:45 -msgid "Levelset" -msgstr "Conjunto de niveles" +#: src/supertux/menu/editor_levelset_menu.cpp:56 +msgid "A level to be used for the title screen, after exiting the world." +msgstr "" -#: src/supertux/menu/addon_menu.cpp:51 -msgid "World" -msgstr "Mundo" +#: src/supertux/menu/multiplayer_players_menu.cpp:46 +msgid "Add Player" +msgstr "Añadir jugador" -#: src/supertux/menu/addon_menu.cpp:54 -msgid "Add-on" -msgstr "Complementos" +#: src/supertux/menu/multiplayer_players_menu.cpp:59 +msgid "Remove Last Player" +msgstr "Quitar último jugador" -#: src/supertux/menu/addon_menu.cpp:60 -msgid "Unknown" -msgstr "Desconocido" +#: src/supertux/menu/multiplayer_players_menu.cpp:62 +msgid "" +"Warning: The player you are trying to\n" +"remove is currently in-game.\n" +"\n" +"Do you wish to remove them anyways?" +msgstr "Cuidado: El jugador que estás a punto\nde borrar está en mitad de la partida.\n¿Seguro que quieres hacerlo?" -#: src/supertux/menu/addon_menu.cpp:71 -#, c-format -msgid "{} \"{}\" by \"{}\"" -msgstr "{} \"{}\" por \"{}\"" +#: src/supertux/menu/addon_menu.cpp:68 +msgid "Installed Language Packs" +msgstr "Paquetes de idioma instalados" + +#: src/supertux/menu/addon_menu.cpp:68 +msgid "Installed Add-ons" +msgstr "Mods instalados" + +#: src/supertux/menu/addon_menu.cpp:76 src/supertux/menu/addon_menu.cpp:117 +msgid "No language packs installed" +msgstr "No has instalado ningún paquete de idioma" -#: src/supertux/menu/addon_menu.cpp:129 +#: src/supertux/menu/addon_menu.cpp:76 msgid "No Add-ons installed" -msgstr "No se ha instalado ningún complemento" +msgstr "No se ha instalado ningún mod" -#: src/supertux/menu/addon_menu.cpp:133 -msgid "No Add-ons found" -msgstr "No hay ningún complemento" +#: src/supertux/menu/addon_menu.cpp:124 +#, c++-format +msgid "{} {}*UPDATE*" +msgstr "{} {}*ACTUALIZACIÓN*" -#: src/supertux/menu/addon_menu.cpp:179 -#, c-format -msgid "Install {} *NEW*" -msgstr "Instalar {} *NUEVO*" +#: src/supertux/menu/addon_menu.cpp:130 +#, c++-format +msgid "{}{}" +msgstr "{}{}" -#: src/supertux/menu/addon_menu.cpp:190 -#, c-format -msgid "Install {}" -msgstr "Instalar {}" +#: src/supertux/menu/addon_menu.cpp:140 +msgid "No updates available." +msgstr "Ya tienes la versión más reciente." -#: src/supertux/menu/addon_menu.cpp:199 -msgid "No new Add-ons found" -msgstr "No hay ningún complemento nuevo" +#: src/supertux/menu/addon_menu.cpp:144 +#, c++-format +msgid "{} {} available" +msgstr "{} {} ya está disponible" -#: src/supertux/menu/addon_menu.cpp:205 -msgid "Check Online (disabled)" -msgstr "Buscar actualizaciones en Internet (no disponible)" +#: src/supertux/menu/addon_menu.cpp:144 +msgid "update" +msgstr "actualización" -#: src/supertux/menu/addon_menu.cpp:209 -msgid "Check Online" -msgstr "Buscar actualizaciones en Internet" +#: src/supertux/menu/addon_menu.cpp:144 +msgid "updates" +msgstr "actualizaciones" -#: src/supertux/menu/addon_menu.cpp:286 -msgid "Downloading Add-On Repository Index" -msgstr "Descargando el índice con todos los complementos" +#: src/supertux/menu/addon_menu.cpp:146 +msgid "Check for updates" +msgstr "Buscar actualizaciones" -#: src/supertux/menu/addon_menu.cpp:301 -#, c-format -msgid "Downloading {}" -msgstr "Descargando {}" +#: src/supertux/menu/addon_menu.cpp:150 +msgid "Browse language packs" +msgstr "Ver paquetes de idioma" -#: src/supertux/menu/addon_menu.cpp:348 -msgid "" -"Please restart SuperTux\n" -"for these changes to take effect." -msgstr "Reinicia SuperTux para que estos cambios surtan efecto." +#: src/supertux/menu/addon_menu.cpp:150 +#: src/supertux/menu/addon_browse_menu.cpp:70 +msgid "Browse Add-ons" +msgstr "Ver mods" + +#: src/supertux/menu/addon_menu.cpp:151 +msgid "Install from file" +msgstr "Instalar desde archivo" + +#: src/supertux/menu/addon_menu.cpp:208 +msgid "Checking for updates..." +msgstr "Buscando actualizaciones..." #: src/supertux/menu/editor_new_levelset_menu.cpp:31 msgid "New World" @@ -2619,6 +3653,53 @@ msgstr "Por favor ingrese un nombre para este subconjunto de nivel." msgid "Story Mode" msgstr "Modo historia" +#: src/supertux/menu/addon_browse_menu.cpp:70 +msgid "Browse Language Packs" +msgstr "Ver paquetes de idioma" + +#: src/supertux/menu/addon_browse_menu.cpp:112 +#, c++-format +msgid "Page {}/{}" +msgstr "Página {}/{}" + +#: src/supertux/menu/addon_browse_menu.cpp:124 +msgid "No new language packs available" +msgstr "No hay más paquetes de idioma" + +#: src/supertux/menu/addon_browse_menu.cpp:124 +msgid "No new Add-ons available" +msgstr "No hay más mods" + +#: src/supertux/menu/addon_browse_menu.cpp:127 +msgid "No language packs available" +msgstr "No hay ningún paquete de idioma disponible" + +#: src/supertux/menu/addon_browse_menu.cpp:127 +msgid "No Add-ons available" +msgstr "No hay ningún mod disponible" + +#: src/supertux/menu/addon_browse_menu.cpp:135 +#: src/supertux/menu/addon_browse_menu.cpp:139 +msgid "Previous page" +msgstr "Página anterior" + +#: src/supertux/menu/addon_browse_menu.cpp:143 +#: src/supertux/menu/addon_browse_menu.cpp:147 +msgid "Next page" +msgstr "Siguiente página" + +#: src/supertux/menu/addon_browse_menu.cpp:154 +msgid "Check Online (disabled)" +msgstr "Buscar actualizaciones en Internet (no disponible)" + +#: src/supertux/menu/addon_browse_menu.cpp:158 +msgid "Check Online" +msgstr "Buscar actualizaciones en Internet" + +#: src/supertux/menu/addon_browse_menu.cpp:195 +msgid "Downloading Add-On Repository Index" +msgstr "Descargando el índice con todos los mods" + #: src/supertux/menu/web_asset_menu.cpp:42 msgid "New files location" msgstr "Ubicación de los archivos nuevos" @@ -2639,207 +3720,235 @@ msgstr "Abrir archivo de partícula" msgid "Open" msgstr "Abrir" -#: src/supertux/menu/game_menu.cpp:31 -msgid "Are you sure?" -msgstr "¿Estás seguro?" - -#: src/supertux/menu/game_menu.cpp:54 src/supertux/menu/worldmap_menu.cpp:30 +#: src/supertux/menu/game_menu.cpp:51 src/supertux/menu/worldmap_menu.cpp:30 msgid "Continue" msgstr "Continuar" -#: src/supertux/menu/game_menu.cpp:55 +#: src/supertux/menu/game_menu.cpp:52 msgid "Restart Level" msgstr "Reiniciar el nivel" -#: src/supertux/menu/game_menu.cpp:58 +#: src/supertux/menu/game_menu.cpp:55 msgid "Restart from Checkpoint" msgstr "Reininciar de control" -#: src/supertux/menu/game_menu.cpp:63 +#: src/supertux/menu/game_menu.cpp:60 msgid "Abort Level" msgstr "Salir del nivel" -#: src/supertux/menu/keyboard_menu.cpp:32 -#: src/supertux/menu/joystick_menu.cpp:69 +#: src/supertux/menu/game_menu.cpp:76 src/supertux/menu/game_menu.cpp:87 +#: src/supertux/menu/game_menu.cpp:99 +msgid "Are you sure?" +msgstr "¿Estás seguro?" + +#: src/supertux/menu/profile_name_menu.cpp:36 +#, c++-format +msgid "Rename \"{}\"" +msgstr "Renombrar «{}»" + +#: src/supertux/menu/profile_name_menu.cpp:36 +msgid "Add profile" +msgstr "Añadir perfil" + +#: src/supertux/menu/profile_name_menu.cpp:40 +msgid "Profile names must have a maximum of 20 characters." +msgstr "Hay un tope de 20 letras." + +#: src/supertux/menu/profile_name_menu.cpp:42 +msgid "Create" +msgstr "Crear" + +#: src/supertux/menu/profile_name_menu.cpp:56 +msgid "" +"Profile names must have a maximum of 20 characters.\n" +"Please choose a different name." +msgstr "Hay un tope de 20 letras, elige algo más corto." + +#: src/supertux/menu/profile_name_menu.cpp:77 +msgid "An error occurred while creating the profile." +msgstr "Hubo un error al crear el perfil." + +#: src/supertux/menu/keyboard_menu.cpp:36 +#: src/supertux/menu/joystick_menu.cpp:71 msgid "Up" msgstr "Arriba" -#: src/supertux/menu/keyboard_menu.cpp:33 -#: src/supertux/menu/joystick_menu.cpp:70 +#: src/supertux/menu/keyboard_menu.cpp:37 +#: src/supertux/menu/joystick_menu.cpp:72 msgid "Down" msgstr "Abajo" -#: src/supertux/menu/keyboard_menu.cpp:36 -#: src/supertux/menu/joystick_menu.cpp:73 +#: src/supertux/menu/keyboard_menu.cpp:40 +#: src/supertux/menu/joystick_menu.cpp:75 msgid "Jump" msgstr "Saltar" -#: src/supertux/menu/keyboard_menu.cpp:38 -#: src/supertux/menu/joystick_menu.cpp:76 +#: src/supertux/menu/keyboard_menu.cpp:43 +#: src/supertux/menu/joystick_menu.cpp:78 msgid "Peek Left" msgstr "Mirar a la izquierda" -#: src/supertux/menu/keyboard_menu.cpp:39 -#: src/supertux/menu/joystick_menu.cpp:77 +#: src/supertux/menu/keyboard_menu.cpp:44 +#: src/supertux/menu/joystick_menu.cpp:79 msgid "Peek Right" msgstr "Mirar a la derecha" -#: src/supertux/menu/keyboard_menu.cpp:40 -#: src/supertux/menu/joystick_menu.cpp:78 +#: src/supertux/menu/keyboard_menu.cpp:45 +#: src/supertux/menu/joystick_menu.cpp:80 msgid "Peek Up" msgstr "Mirar arriba" -#: src/supertux/menu/keyboard_menu.cpp:41 -#: src/supertux/menu/joystick_menu.cpp:79 +#: src/supertux/menu/keyboard_menu.cpp:46 +#: src/supertux/menu/joystick_menu.cpp:81 msgid "Peek Down" msgstr "Mirar abajo" -#: src/supertux/menu/keyboard_menu.cpp:43 -#: src/supertux/menu/joystick_menu.cpp:81 +#: src/supertux/menu/keyboard_menu.cpp:51 +#: src/supertux/menu/joystick_menu.cpp:83 msgid "Console" msgstr "Consola" -#: src/supertux/menu/keyboard_menu.cpp:44 -#: src/supertux/menu/joystick_menu.cpp:82 +#: src/supertux/menu/keyboard_menu.cpp:52 +#: src/supertux/menu/joystick_menu.cpp:84 msgid "Cheat Menu" msgstr "Menú de trucos" -#: src/supertux/menu/keyboard_menu.cpp:45 -#: src/supertux/menu/joystick_menu.cpp:83 +#: src/supertux/menu/keyboard_menu.cpp:53 +#: src/supertux/menu/joystick_menu.cpp:85 msgid "Debug Menu" msgstr "Depurar Menu" -#: src/supertux/menu/keyboard_menu.cpp:47 -#: src/supertux/menu/joystick_menu.cpp:85 +#: src/supertux/menu/keyboard_menu.cpp:56 +#: src/supertux/menu/joystick_menu.cpp:87 msgid "Jump with Up" msgstr "Saltar con flecha arriba" -#: src/supertux/menu/keyboard_menu.cpp:60 +#: src/supertux/menu/keyboard_menu.cpp:82 msgid "Up cursor" msgstr "Arriba" -#: src/supertux/menu/keyboard_menu.cpp:62 +#: src/supertux/menu/keyboard_menu.cpp:84 msgid "Down cursor" msgstr "Abajo" -#: src/supertux/menu/keyboard_menu.cpp:64 +#: src/supertux/menu/keyboard_menu.cpp:86 msgid "Left cursor" msgstr "Izquierda" -#: src/supertux/menu/keyboard_menu.cpp:66 +#: src/supertux/menu/keyboard_menu.cpp:88 msgid "Right cursor" msgstr "Derecha" -#: src/supertux/menu/keyboard_menu.cpp:68 +#: src/supertux/menu/keyboard_menu.cpp:90 msgid "Return" msgstr "Enter" -#: src/supertux/menu/keyboard_menu.cpp:70 +#: src/supertux/menu/keyboard_menu.cpp:92 msgid "Space" msgstr "Espacio" -#: src/supertux/menu/keyboard_menu.cpp:72 +#: src/supertux/menu/keyboard_menu.cpp:94 msgid "Right Shift" msgstr "Mayús derecho" -#: src/supertux/menu/keyboard_menu.cpp:74 +#: src/supertux/menu/keyboard_menu.cpp:96 msgid "Left Shift" msgstr "Mayús izquierdo" -#: src/supertux/menu/keyboard_menu.cpp:76 +#: src/supertux/menu/keyboard_menu.cpp:98 msgid "Right Control" msgstr "Ctrl derecho" -#: src/supertux/menu/keyboard_menu.cpp:78 +#: src/supertux/menu/keyboard_menu.cpp:100 msgid "Left Control" msgstr "Ctrl izquierdo" -#: src/supertux/menu/keyboard_menu.cpp:80 +#: src/supertux/menu/keyboard_menu.cpp:102 msgid "Right Alt" msgstr "Alt derecho" -#: src/supertux/menu/keyboard_menu.cpp:82 +#: src/supertux/menu/keyboard_menu.cpp:104 msgid "Left Alt" msgstr "Alt izquierdo" -#: src/supertux/menu/keyboard_menu.cpp:84 +#: src/supertux/menu/keyboard_menu.cpp:106 msgid "Right Command" msgstr "Control derecho" -#: src/supertux/menu/keyboard_menu.cpp:86 +#: src/supertux/menu/keyboard_menu.cpp:108 msgid "Left Command" msgstr "Control izquierdo" -#: src/supertux/menu/keyboard_menu.cpp:100 +#: src/supertux/menu/keyboard_menu.cpp:122 msgid "Press Key" msgstr "Pulsa la tecla" -#: src/supertux/menu/language_menu.cpp:40 +#: src/supertux/menu/language_menu.cpp:43 msgid "Language" msgstr "Idioma" -#: src/supertux/menu/language_menu.cpp:42 +#: src/supertux/menu/language_menu.cpp:45 msgid "" msgstr "" -#: src/supertux/menu/joystick_menu.cpp:55 +#: src/supertux/menu/joystick_menu.cpp:57 msgid "Manual Configuration" msgstr "Configuración manual" -#: src/supertux/menu/joystick_menu.cpp:57 +#: src/supertux/menu/joystick_menu.cpp:59 msgid "" "Use manual configuration instead of SDL2's automatic GameController support" msgstr "Usar la configuración manual para mandos en vez de las plantillas de botones de SDL2" -#: src/supertux/menu/joystick_menu.cpp:75 +#: src/supertux/menu/joystick_menu.cpp:77 msgid "Pause/Menu" msgstr "Pausa/Menú" -#: src/supertux/menu/joystick_menu.cpp:91 +#: src/supertux/menu/joystick_menu.cpp:93 msgid "No Joysticks found" msgstr "No se ha encontrado ningún joystick" -#: src/supertux/menu/joystick_menu.cpp:92 +#: src/supertux/menu/joystick_menu.cpp:94 msgid "Scan for Joysticks" msgstr "Buscar joysticks" -#: src/supertux/menu/joystick_menu.cpp:125 +#: src/supertux/menu/joystick_menu.cpp:127 msgid "Press Button" msgstr "Presiona un botón" -#: src/supertux/menu/joystick_menu.cpp:162 +#: src/supertux/menu/joystick_menu.cpp:164 msgid "Axis " msgstr "Eje" -#: src/supertux/menu/joystick_menu.cpp:165 +#: src/supertux/menu/joystick_menu.cpp:167 msgid "-" msgstr "-" -#: src/supertux/menu/joystick_menu.cpp:167 +#: src/supertux/menu/joystick_menu.cpp:169 msgid "+" msgstr "+" -#: src/supertux/menu/joystick_menu.cpp:174 +#: src/supertux/menu/joystick_menu.cpp:176 msgid "X2" msgstr "X2" -#: src/supertux/menu/joystick_menu.cpp:176 +#: src/supertux/menu/joystick_menu.cpp:178 msgid "Y2" msgstr "Y2" -#: src/supertux/menu/joystick_menu.cpp:189 +#: src/supertux/menu/joystick_menu.cpp:191 msgid "Hat Up" msgstr "Inclinar hacia arriba" -#: src/supertux/menu/joystick_menu.cpp:193 +#: src/supertux/menu/joystick_menu.cpp:195 msgid "Hat Down" msgstr "Inclinar hacia abajo" -#: src/supertux/menu/joystick_menu.cpp:197 +#: src/supertux/menu/joystick_menu.cpp:199 msgid "Hat Left" msgstr "Inclinar a la izquierda" -#: src/supertux/menu/joystick_menu.cpp:201 +#: src/supertux/menu/joystick_menu.cpp:203 msgid "Hat Right" msgstr "Inclinar a la derecha" @@ -2851,52 +3960,47 @@ msgstr "Pausa" msgid "Leave World" msgstr "Salir del mundo" -#: src/supertux/menu/download_dialog.cpp:27 +#: src/supertux/menu/download_dialog.cpp:42 msgid "Abort Download" msgstr "Cancelar descarga" -#: src/supertux/menu/download_dialog.cpp:42 -msgid "Error:\n" -msgstr "Error:\n" - -#: src/supertux/menu/download_dialog.cpp:96 -msgid "Close" -msgstr "Cerrar" - -#: src/supertux/menu/cheat_menu.cpp:33 -msgid "Bonus: Fire x 64" -msgstr "Extra: Fuego x 64" - -#: src/supertux/menu/cheat_menu.cpp:34 -msgid "Bonus: Ice x 64" -msgstr "Extra: Hielo x 64" - -#: src/supertux/menu/cheat_menu.cpp:35 -msgid "Bonus: Air x 64" -msgstr "Extra: Aire x 64" - -#: src/supertux/menu/cheat_menu.cpp:36 -msgid "Bonus: Earth x 64" -msgstr "Extra: Tierra x 64" +#: src/supertux/menu/download_dialog.cpp:59 +#, c++-format +msgid "" +"Error:\n" +"{}" +msgstr "Error:\n{}" -#: src/supertux/menu/cheat_menu.cpp:37 +#: src/supertux/menu/cheat_menu.cpp:38 msgid "Bonus: Star" msgstr "Bonificador: Estrella" -#: src/supertux/menu/cheat_menu.cpp:38 +#: src/supertux/menu/cheat_menu.cpp:39 msgid "Shrink Tux" msgstr "Encoger a Tux" -#: src/supertux/menu/cheat_menu.cpp:39 +#: src/supertux/menu/cheat_menu.cpp:40 msgid "Kill Tux" msgstr "Matar a Tux" +#: src/supertux/menu/cheat_menu.cpp:55 +msgid "Prevent Death" +msgstr "Evitar morir" + +#: src/supertux/menu/addon_file_install_menu.cpp:32 +msgid "Install Add-on from file" +msgstr "Instalar mod desde archivo" + +#: src/supertux/menu/addon_file_install_menu.cpp:34 +msgid "Drag and drop add-on ZIP archive" +msgstr "Suelta aquí un archivo .zip con un mod dentro" + #: src/supertux/menu/particle_editor_menu.cpp:32 msgid "Particle Editor" msgstr "Editor de partículas" #: src/supertux/menu/particle_editor_menu.cpp:36 -#: src/supertux/menu/editor_menu.cpp:45 +#: src/supertux/menu/editor_menu.cpp:60 msgid "Return to Editor" msgstr "Volver al editor" @@ -2921,7 +4025,7 @@ msgid "Open Particle Directory" msgstr "Abrir carpeta de partículas" #: src/supertux/menu/particle_editor_menu.cpp:45 -#: src/supertux/menu/editor_menu.cpp:88 +#: src/supertux/menu/editor_menu.cpp:118 msgid "Keyboard Shortcuts" msgstr "Atajos del teclado " @@ -2929,7 +4033,7 @@ msgstr "Atajos del teclado " msgid "Exit Particle Editor" msgstr "Salir del editor de partículas" -#: src/supertux/menu/particle_editor_menu.cpp:120 +#: src/supertux/menu/particle_editor_menu.cpp:121 msgid "" "Keyboard Shortcuts:\n" "---------------------\n" @@ -2941,18 +4045,18 @@ msgid "" "Ctrl+Y = Redo" msgstr "Atajos del teclado:\n---------------------\nEsc = Abrir menú\nCtrl+S = Guardar\nCtrl+Shift+S = Guardar como\nCtrl+O = Abrir\nCtrl+Z = Deshacer\nCtrl+Y = Rehacer" -#: src/supertux/menu/particle_editor_menu.cpp:121 -#: src/supertux/menu/editor_menu.cpp:176 +#: src/supertux/menu/particle_editor_menu.cpp:122 +#: src/supertux/menu/editor_menu.cpp:206 msgid "Got it!" msgstr "¡Entendido!" #: src/supertux/menu/editor_level_menu.cpp:31 -#: src/supertux/menu/editor_menu.cpp:86 +#: src/supertux/menu/editor_menu.cpp:116 msgid "Worldmap Settings" msgstr "Propiedades del mapa del mundo" #: src/supertux/menu/editor_level_menu.cpp:31 -#: src/supertux/menu/editor_menu.cpp:86 +#: src/supertux/menu/editor_menu.cpp:116 msgid "Level Settings" msgstr "Configuraciónes de Nivel" @@ -2960,7 +4064,7 @@ msgstr "Configuraciónes de Nivel" msgid "Author" msgstr "Autor" -#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1166 +#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1253 msgid "Contact" msgstr "Contacto" @@ -2992,99 +4096,129 @@ msgstr "Por favor ingrese un nombre de autor para este nivel." msgid "Please enter a license for this level." msgstr "Por favor ingrese una licencia para este nivel." -#: src/supertux/menu/editor_menu.cpp:38 +#: src/supertux/menu/editor_menu.cpp:53 msgid "tiny tile (4px)" msgstr "mini tesela (4px)" -#: src/supertux/menu/editor_menu.cpp:39 +#: src/supertux/menu/editor_menu.cpp:54 msgid "small tile (8px)" msgstr "tesela pequeña (8px)" -#: src/supertux/menu/editor_menu.cpp:40 +#: src/supertux/menu/editor_menu.cpp:55 msgid "medium tile (16px)" msgstr "tesela intermedia (16px)" -#: src/supertux/menu/editor_menu.cpp:41 +#: src/supertux/menu/editor_menu.cpp:56 msgid "big tile (32px)" msgstr "tesela grande (32px) " -#: src/supertux/menu/editor_menu.cpp:46 +#: src/supertux/menu/editor_menu.cpp:61 msgid "Save Worldmap" msgstr "Guardar Mapa del Mundo" -#: src/supertux/menu/editor_menu.cpp:46 +#: src/supertux/menu/editor_menu.cpp:61 msgid "Save Level" msgstr "Guardar nivel" -#: src/supertux/menu/editor_menu.cpp:55 +#: src/supertux/menu/editor_menu.cpp:65 msgid "Test Level" msgstr "Probar nivel" -#: src/supertux/menu/editor_menu.cpp:59 +#: src/supertux/menu/editor_menu.cpp:67 msgid "Test Worldmap" msgstr "Probar mapa global" -#: src/supertux/menu/editor_menu.cpp:62 +#: src/supertux/menu/editor_menu.cpp:72 msgid "Share Level" msgstr "Compartir el nivel" -#: src/supertux/menu/editor_menu.cpp:64 +#: src/supertux/menu/editor_menu.cpp:74 msgid "Package Add-On" -msgstr "Empaquetar como expansión" +msgstr "Empaquetar como mod" -#: src/supertux/menu/editor_menu.cpp:66 +#: src/supertux/menu/editor_menu.cpp:76 msgid "Open Level Directory" msgstr "Abrir la carpeta del nivel" -#: src/supertux/menu/editor_menu.cpp:70 +#: src/supertux/menu/editor_menu.cpp:79 msgid "Edit Another Level" msgstr "Editar otro nivel" -#: src/supertux/menu/editor_menu.cpp:73 +#: src/supertux/menu/editor_menu.cpp:81 msgid "Edit Another World" msgstr "Editar otro mapa global" -#: src/supertux/menu/editor_menu.cpp:77 +#: src/supertux/menu/editor_menu.cpp:86 +msgid "Convert all tiles in the level using converters." +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:90 msgid "Grid Size" msgstr "Tamaño de la cuadrícula" -#: src/supertux/menu/editor_menu.cpp:78 +#: src/supertux/menu/editor_menu.cpp:91 msgid "Show Grid" msgstr "Mostrar cuadrícula" -#: src/supertux/menu/editor_menu.cpp:79 +#: src/supertux/menu/editor_menu.cpp:92 msgid "Grid Snapping" msgstr "Ajustar a cuadrícula " -#: src/supertux/menu/editor_menu.cpp:80 +#: src/supertux/menu/editor_menu.cpp:93 msgid "Render Background" msgstr "Dibujar el fondo" -#: src/supertux/menu/editor_menu.cpp:81 +#: src/supertux/menu/editor_menu.cpp:94 msgid "Render Light" msgstr "Activar iluminación" -#: src/supertux/menu/editor_menu.cpp:82 +#: src/supertux/menu/editor_menu.cpp:95 msgid "Autotile Mode" msgstr "Modo de autoteselado" -#: src/supertux/menu/editor_menu.cpp:83 +#: src/supertux/menu/editor_menu.cpp:96 msgid "Enable Autotile Help" msgstr "Activar ayuda de autoteselado" -#: src/supertux/menu/editor_menu.cpp:84 +#: src/supertux/menu/editor_menu.cpp:97 +msgid "Enable Object Undo Tracking" +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:100 +msgid "Undo Stack Size" +msgstr "Cantidad de veces que se puede deshacer/rehacer" + +#: src/supertux/menu/editor_menu.cpp:102 msgid "Autosave Frequency" msgstr "Frecuencia de autoguardado" -#: src/supertux/menu/editor_menu.cpp:91 +#: src/supertux/menu/editor_menu.cpp:108 +msgid "Check for Deprecated Tiles" +msgstr "Buscar teselas descatalogadas" + +#: src/supertux/menu/editor_menu.cpp:109 +msgid "Check if any deprecated tiles are currently present in the level." +msgstr "Mirar si se utiliza alguna tesela antigua en este nivel." + +#: src/supertux/menu/editor_menu.cpp:110 +msgid "Show Deprecated Tiles" +msgstr "Mostrar teselas antiguas" + +#: src/supertux/menu/editor_menu.cpp:111 +msgid "" +"Indicate all deprecated tiles on the active tilemap, without the need of " +"hovering over." +msgstr "Enseña todas las teselas descatalogadas en este mapa de teselas, sin que tengas que pasar el cursor por encima." + +#: src/supertux/menu/editor_menu.cpp:121 msgid "Exit Level Editor" msgstr "Salir del Editor de Niveles" -#: src/supertux/menu/editor_menu.cpp:140 +#: src/supertux/menu/editor_menu.cpp:170 msgid "Do you want to package this world as an add-on?" -msgstr "¿Quieres distribuir este mundo como una expansión extra?" +msgstr "¿Quieres distribuir este mundo como un mod?" -#: src/supertux/menu/editor_menu.cpp:163 +#: src/supertux/menu/editor_menu.cpp:196 msgid "" "We encourage you to share your levels in the SuperTux forum.\n" "To find your level, click the\n" @@ -3092,7 +4226,7 @@ msgid "" "Do you want to go to the forum now?" msgstr "Nosotras te animamos a compartir sus niveles en el foro de SuperTux. A encontrar tu nivel, hacer clic el \"Abrir directorio de niveles\" opción del menú. Quieres ir al foro ahora?" -#: src/supertux/menu/editor_menu.cpp:175 +#: src/supertux/menu/editor_menu.cpp:205 msgid "" "Keyboard Shortcuts:\n" "---------------------\n" @@ -3103,54 +4237,217 @@ msgid "" "Ctrl+Y = Redo\n" "F6 = Render Light\n" "F7 = Grid Snapping\n" -"F8 = Show Grid" -msgstr "Atajos del teclado:\n-----------------\nEsc = Abrir menú\nCtrl+S = Guardar\nCtrl+T = Probar\nCtrl+Z = Deshacer\nCtrl+Y = Rehacer\nF6 = Activar iluminación\nF7 = Ajustar a la cuadrícula\nF8 = Ver cuadrícula " +"F8 = Show Grid\n" +"Ctrl++ or Ctrl+Scroll Up = Zoom In\n" +"Ctrl+- or Ctrl+Scroll Down = Zoom Out\n" +"Ctrl+D = Reset Zoom\n" +"\n" +"Scripting Shortcuts:\n" +" ------------- \n" +"Home = Go to beginning of line\n" +"End = Go to end of line\n" +"Left arrow = Go back in text\n" +"Right arrow = Go forward in text\n" +"Backspace = Delete in front of text cursor\n" +"Delete = Delete behind text cursor\n" +"Ctrl+X = Cut whole line\n" +"Ctrl+C = Copy whole line\n" +"Ctrl+V = Paste\n" +"Ctrl+D = Duplicate line\n" +"Ctrl+Z = Undo\n" +"Ctrl+Y = Redo" +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:232 +msgid "Deprecated tiles are still present in the level." +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:239 +msgid "Do you want to show all deprecated tiles on active tilemaps?" +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:246 +msgid "There are no more deprecated tiles in the level!" +msgstr "" + +#: src/supertux/menu/multiplayer_player_menu.cpp:40 +msgid "Play with the keyboard" +msgstr "" + +#: src/supertux/menu/multiplayer_player_menu.cpp:58 +msgid "Remove Player" +msgstr "Borrar al jugador" + +#: src/supertux/menu/multiplayer_player_menu.cpp:82 +msgid "Respawn Player" +msgstr "Reiniciar el jugador" + +#: src/supertux/menu/multiplayer_player_menu.cpp:108 +msgid "Spawn Player" +msgstr "Crear jugador" + +#: src/supertux/menu/multiplayer_player_menu.cpp:136 +msgid "Controllers" +msgstr "Mandos" + +#: src/supertux/menu/multiplayer_player_menu.cpp:152 +msgid "" +"This controller does not support rumbling;\n" +"please check the controllers manually." +msgstr "" + +#: src/supertux/menu/multiplayer_player_menu.cpp:157 +msgid "" +"This SuperTux build does not support rumbling\n" +"controllers; please check the controllers manually." +msgstr "" + +#: src/supertux/menu/multiplayer_player_menu.cpp:184 +msgid "" +"This joystick does not support rumbling;\n" +"please check the joysticks manually." +msgstr "" + +#: src/supertux/menu/multiplayer_player_menu.cpp:189 +msgid "" +"This SuperTux build does not support rumbling\n" +"joysticks; please check the joysticks manually." +msgstr "Esta versión de SuperTux no puede hacer vibrar\nlos mandos; tendrás que comprobarlos tú." + +#: src/supertux/menu/editor_delete_level_menu.cpp:59 +msgid "No levels available" +msgstr "No hay ningún nivel disponible" -#: src/supertux/menu/editor_delete_level_menu.cpp:53 -msgid "You cannot delete level that you are editing!" -msgstr "No se puede borrar el nivel en el que estás trabajando." +#: src/supertux/menu/editor_delete_level_menu.cpp:79 +msgid "You cannot delete the level that you are editing!" +msgstr "No puedes borrar un nivel que se esté editando" -#: src/supertux/levelintro.cpp:136 -#, c-format +#: src/supertux/menu/editor_delete_level_menu.cpp:82 +#, c++-format +msgid "You are about to delete level \"{}\". Are you sure?" +msgstr "Estas a punto de borrar el nivel «{}». ¿Seguro que quieres hacerlo?" + +#: src/supertux/levelintro.cpp:137 +#, c++-format msgid "contributed by {}" -msgstr "aportado por {}" +msgstr "creado por {}" -#: src/supertux/levelintro.cpp:169 +#: src/supertux/levelintro.cpp:184 msgid "Badguys killed" msgstr "Malotes destruidos" -#: src/supertux/levelintro.cpp:177 +#: src/supertux/levelintro.cpp:192 msgid "Best time" msgstr "Mejor tiempo" -#: src/supertux/levelintro.cpp:181 +#: src/supertux/levelintro.cpp:196 msgid "Level target time" msgstr "Tiempo a batir" -#: src/supertux/tile_set.cpp:118 +#: src/supertux/tile_set.cpp:113 msgid "Others" msgstr "Otros" -#: src/supertux/moving_object.cpp:55 +#: src/supertux/direction.cpp:67 +msgid "up" +msgstr "arriba" + +#: src/supertux/direction.cpp:69 +msgid "down" +msgstr "abajo" + +#: src/supertux/moving_object.cpp:63 msgid "Region" msgstr "Región" -#: src/supertux/main.cpp:563 +#: src/supertux/main.cpp:801 +#, c++-format +msgid "New release: SuperTux v{}!" +msgstr "Nueva versión: SuperTux v{}!" + +#: src/supertux/main.cpp:804 +#, c++-format msgid "" -"The UBports version is under heavy development!\n" -"If you encounter issues, PLEASE contact the maintainter\n" -"at https://github.com/supertux/supertux/issues or on the\n" -"Open Store's Telegram at https://open-store.io/telegram" -msgstr "La versión de UBports todavía se está haciendo. Si encuentras algún problema comunícaselo al autor visitando https://github.com/supertux/supertux/issues o en el Telegram de Open Store: https://open-store.io/telegram" +"A new release of SuperTux (v{}) is available!\n" +"For more information, you can visit the SuperTux website.\n" +"\n" +"Do you want to visit the website now?" +msgstr "Hay una versión nueva de SuperTux (v{}) disponible.\nPuedes visitar nuestra web para descargarla y ver más cosas.\n\n¿Quieres ir a la web ahora?" + +#: src/supertux/main.cpp:815 +msgid "Checking for new releases..." +msgstr "Buscando una versión más reciente..." #: src/control/joystick_config.cpp:85 msgid "Joystick Mappings" msgstr "Mapear joystick" -#: src/worldmap/worldmap_parser.cpp:167 +#: src/worldmap/sprite_change.cpp:91 +msgid "Stay action" +msgstr "Posición estática" + +#: src/worldmap/sprite_change.cpp:92 +msgid "Initial stay action" +msgstr "Posición estática inicial" + +#: src/worldmap/sprite_change.cpp:93 +msgid "Stay group" +msgstr "Estancia en grupo" + +#: src/worldmap/sprite_change.cpp:94 +msgid "Change on touch" +msgstr "Cambiar al tocar con" + +#: src/worldmap/special_tile.hpp:36 +msgid "Special Tile" +msgstr "Tesela especial" + +#: src/worldmap/level_tile.hpp:36 src/worldmap/level_tile.cpp:161 +msgid "Level" +msgstr "Nivel" + +#: src/worldmap/teleporter.cpp:50 +msgid "Automatic" +msgstr "Automático" + +#: src/worldmap/teleporter.cpp:51 +msgid "Target worldmap" +msgstr "Mapa de mundo objetivo" + +#: src/worldmap/sprite_change.hpp:35 +msgid "Sprite Change" +msgstr "Cambio de Sprite" + +#: src/worldmap/special_tile.cpp:75 +msgid "Show message" +msgstr "Mostrar mensaje" + +#: src/worldmap/level_tile.cpp:84 msgid "" msgstr "" +#: src/worldmap/level_tile.cpp:162 +msgid "Outro script" +msgstr "Script de cierre" + +#: src/worldmap/level_tile.cpp:163 +msgid "Auto play" +msgstr "Reproducción automática" + +#: src/worldmap/level_tile.cpp:164 +msgid "Title colour" +msgstr "Color del título" + +#: src/worldmap/teleporter.hpp:34 +msgid "Teleporter" +msgstr "Teletransportador" + +#: src/editor/tip.cpp:80 +msgid "" +"This object's current functionality is deprecated.\n" +"Updating to get its latest functionality is recommended." +msgstr "" + #: src/editor/node_marker.cpp:122 msgid "Path Node" msgstr "Nodo de ruta" @@ -3163,85 +4460,82 @@ msgstr "Pulsa Ctrl para mover los puntos de control Bézier" msgid "Easing" msgstr "Transición animada" -#: src/editor/object_settings.cpp:119 -msgid "up" -msgstr "arriba" - -#: src/editor/object_settings.cpp:119 -msgid "down" -msgstr "abajo" - -#: src/editor/object_settings.cpp:131 +#: src/editor/object_settings.cpp:129 msgid "West" msgstr "Oeste" -#: src/editor/object_settings.cpp:131 +#: src/editor/object_settings.cpp:129 msgid "East" msgstr "Este" -#: src/editor/object_settings.cpp:131 +#: src/editor/object_settings.cpp:129 msgid "North" msgstr "Norte" -#: src/editor/object_settings.cpp:131 +#: src/editor/object_settings.cpp:129 msgid "South" msgstr "Sur" -#: src/editor/object_settings.cpp:144 +#: src/editor/object_settings.cpp:142 msgid "One shot" msgstr "Un disparo" -#: src/editor/object_settings.cpp:144 +#: src/editor/object_settings.cpp:142 msgid "Ping-pong" msgstr "Ping pong" -#: src/editor/object_settings.cpp:144 +#: src/editor/object_settings.cpp:142 msgid "Circular" msgstr "Circular" -#: src/editor/object_settings.cpp:144 -msgid "Unordered" -msgstr "Desordenados" +#: src/editor/layers_widget.cpp:331 +#, c++-format +msgid "Sector: {}" +msgstr "Sector: {}" -#: src/editor/object_option.cpp:85 +#: src/editor/object_option.cpp:92 msgid "true" msgstr "verdadero" -#: src/editor/object_option.cpp:85 +#: src/editor/object_option.cpp:92 msgid "false" msgstr "falso" -#: src/editor/object_option.cpp:271 src/editor/object_option.cpp:320 +#: src/editor/object_option.cpp:308 src/editor/object_option.cpp:356 msgid "invalid" -msgstr "incorrecto" +msgstr "inválido" + +#: src/editor/object_option.cpp:665 +msgid "Scale X" +msgstr "Escala en X" + +#: src/editor/object_option.cpp:666 +msgid "Scale Y" +msgstr "Escala en Y" -#: src/editor/object_option.cpp:580 +#: src/editor/object_option.cpp:667 +msgid "Offset X" +msgstr "Desplazar X" + +#: src/editor/object_option.cpp:668 +msgid "Offset Y" +msgstr "Desplazar Y" + +#: src/editor/object_option.cpp:672 src/editor/object_menu.cpp:67 msgid "Remove" msgstr "Quitar" -#: src/editor/object_option.cpp:597 +#: src/editor/object_option.cpp:689 msgid "Test from here" msgstr "Probar desde aquí" -#: src/editor/object_option.cpp:614 +#: src/editor/object_option.cpp:706 msgid "Open Particle Editor" msgstr "Abrir el editor de partículas" -#: src/editor/worldmap_objects.hpp:56 src/editor/worldmap_objects.cpp:127 -msgid "Level" -msgstr "Nivel" - -#: src/editor/worldmap_objects.hpp:79 -msgid "Teleporter" -msgstr "Teletransportador" - -#: src/editor/worldmap_objects.hpp:119 -msgid "Sprite Change" -msgstr "Cambio de Sprite" - -#: src/editor/worldmap_objects.hpp:140 -msgid "Special tile" -msgstr "Tile especial" +#: src/editor/particle_editor.cpp:114 +msgid "Change texture... ->" +msgstr "Cambiar textura... ->" #: src/editor/particle_editor.cpp:126 msgid "Max amount" @@ -3323,123 +4617,148 @@ msgstr "Destruir siempre" msgid "Offscreen mode" msgstr "Modo fuera de pantalla" -#: src/editor/particle_editor.cpp:765 +#: src/editor/particle_editor.cpp:229 +msgid "Clear" +msgstr "Borrar" + +#: src/editor/particle_editor.cpp:245 +msgid "<- General settings" +msgstr "<- Ajustes generales" + +#: src/editor/particle_editor.cpp:255 +msgid "Likeliness" +msgstr "Parecido" + +#: src/editor/particle_editor.cpp:266 +msgid "Color (RGBA)" +msgstr "Color (RGBA)" + +#: src/editor/particle_editor.cpp:311 +msgid "Scale (x, y)" +msgstr "Escala (x, y)" + +#: src/editor/particle_editor.cpp:332 +msgid "Hitbox scale (x, y)" +msgstr "Escala de la colisión (x, y)" + +#: src/editor/particle_editor.cpp:353 +msgid "Hitbox offset relative to scale" +msgstr "Desplazamiento de la colisión respecto a la escala" + +#: src/editor/particle_editor.cpp:372 +msgid "Change texture..." +msgstr "Cambiar textura..." + +#: src/editor/particle_editor.cpp:766 msgid "" "This particle configuration contains unsaved changes,\n" "do you want to save?" -msgstr "Estos ajustes de partícula están sin guardar. ¿Quieres hacerlo ahora?" +msgstr "Estos ajustes de partícula están sin guardar,\n ¿Quieres hacerlo ahora?" -#: src/editor/particle_editor.cpp:773 +#: src/editor/particle_editor.cpp:774 msgid "Save as" msgstr "Guardar como" -#: src/editor/editor.cpp:566 +#: src/editor/editor.cpp:577 +msgid "" +"This level contains deprecated tiles.\n" +"It is strongly recommended to replace all deprecated tiles\n" +"to avoid loss of compatibility in future versions." +msgstr "Este nivel contiene teselas descatalogadas.\nTe recomendamos cambiarlas por otras más nuevas si no quieres que dejen de funcionar en versiones futuras." + +#: src/editor/editor.cpp:579 +msgid "Tip: Turn on \"Show Deprecated Tiles\" from the level editor menu." +msgstr "Consejo: Activa «Mostrar teselas antiguas» en el menú del editor de niveles." + +#: src/editor/editor.cpp:626 msgid "" "Don't forget that your levels and assets\n" "aren't saved between sessions!\n" "If you want to keep your levels, download them\n" "from the \"Manage Assets\" menu." -msgstr "No te olvides de que ni tus niveles ni datos persisten entre sesiones de juego. Si quieres guardar los niveles utiliza la función de descargar desde el menú de «gestionar datos»." +msgstr "No te olvides de que ni tus niveles ni datos\npersisten entre sesiones de juego.\nSi quieres guardar los niveles utiliza la función de descargar\n desde el menú de «gestionar datos»." -#: src/editor/editor.cpp:582 +#: src/editor/editor.cpp:661 msgid "This level contains unsaved changes, do you want to save?" msgstr "No se han guardado los cambios del nivel, ¿quieres hacerlo ahora?" -#: src/editor/editor.cpp:622 +#: src/editor/editor.cpp:662 +msgid "This level may contain unsaved changes, do you want to save?" +msgstr "Este nivel puede contener datos sin guardar, ¿quieres guardar ahora?" + +#: src/editor/editor.cpp:797 msgid "" "Some obsolete add-ons are still active\n" "and might cause collisions with default Super Tux structure.\n" "You can still enable these add-ons in the menu.\n" "Disabling these add-ons will not delete your game progress." -msgstr "Algunos complementos obsoletos aún están activos y pueden dar problemas con las estructura de archivos normal de SuperTux.\nSi quieres reactivarlos en un futuro, todavía podrás hacerlo desde el menú.\nAl desactivar estos complementos no perderás tu progreso en la partida." +msgstr "Algunos mods obsoletos aún están activos y pueden dar problemas con las estructura de archivos normal de SuperTux.\nSi quieres reactivarlos en un futuro puedes hacerlo desde el menú de mods. Al desactivarlos no perderás tu progreso en la partida." -#: src/editor/editor.cpp:625 +#: src/editor/editor.cpp:800 msgid "Disable add-ons" -msgstr "Desactivar complementos" +msgstr "Desactivar mods" -#: src/editor/editor.cpp:630 +#: src/editor/editor.cpp:805 msgid "Ignore (not advised)" msgstr "Ignorar (no recomendable)" -#: src/editor/editor.cpp:634 +#: src/editor/editor.cpp:809 msgid "Leave editor" msgstr "Salir del editor" -#: src/editor/editor.cpp:853 +#: src/editor/editor.cpp:1023 msgid "" "Couldn't find a \"main\" sector.\n" "Please change the name of the sector where\n" "you'd like the player to start to \"main\"" msgstr "No se halló un área \"principal\"\nPor favor, cambie el nombre del área donde\ndesea que el jugador comience como \"principal\"" -#: src/editor/editor.cpp:857 +#: src/editor/editor.cpp:1027 msgid "" "Couldn't find a \"main\" spawnpoint.\n" " Please change the name of the spawnpoint where\n" "you'd like the player to start to \"main\"" msgstr "No se halló un punto de generación \"principal\"..\nPor favor, cambie el nombre del punto de generación \ndonde desea que el jugador comience como \"principal\"" -#: src/editor/worldmap_objects.cpp:128 -msgid "Outro script" -msgstr "Script de cierre" - -#: src/editor/worldmap_objects.cpp:129 -msgid "Auto play" -msgstr "Reproducción automática" - -#: src/editor/worldmap_objects.cpp:131 -msgid "Title colour" -msgstr "Color del título" - -#: src/editor/worldmap_objects.cpp:173 -msgid "Automatic" -msgstr "Automático" - -#: src/editor/worldmap_objects.cpp:175 -msgid "Target worldmap" -msgstr "Mapa de mundo objetivo" - -#: src/editor/worldmap_objects.cpp:238 -msgid "Stay action" -msgstr "Posición estática" - -#: src/editor/worldmap_objects.cpp:239 -msgid "Initial stay action" -msgstr "Posición estática inicial" - -#: src/editor/worldmap_objects.cpp:240 -msgid "Stay group" -msgstr "Estancia en grupo" - -#: src/editor/worldmap_objects.cpp:241 -msgid "Change on touch" -msgstr "Cambiar al tocar con" - -#: src/editor/worldmap_objects.cpp:271 -msgid "Show message" -msgstr "Mostrar mensaje" +#: src/editor/object_menu.cpp:60 +msgid "Patch Notes" +msgstr "Listado de cambios" -#: src/editor/worldmap_objects.cpp:273 -msgid "Invisible" -msgstr "Invisible" - -#: src/editor/overlay_widget.cpp:1297 +#: src/editor/object_menu.cpp:84 +msgid "" +"This will update the object to its latest functionality.\n" +"Check the \"Patch Notes\" for more information.\n" +"\n" +"Keep in mind this is very likely to break the proper behaviour of the object.\n" +"Make sure to re-check any behaviour, related to the object." +msgstr "Con esto actualizarás el objeto con las últimas funcionalidades.\nMira el listado de cambios para más información.\n\nTen en cuenta que puede fastidiar el comportamiento del objeto.\nAsegúrate de hacer pruebas y de que funcione bien." + +#: src/editor/object_menu.cpp:98 +#, c++-format +msgid "Patch notes for v{}:" +msgstr "Listado de cambios para v{}:" + +#: src/editor/overlay_widget.cpp:1062 +msgid "Cannot select deprecated tiles" +msgstr "No se pueden seleccionar las teselas antiguas" + +#: src/editor/overlay_widget.cpp:1567 msgid "Autotile mode is on" msgstr "La función de autoteselado está activa" -#: src/editor/overlay_widget.cpp:1299 +#: src/editor/overlay_widget.cpp:1571 msgid "Hold Ctrl to enable autotile" msgstr "Mantén pulsado Ctrl para activar el autoteselado" -#: src/editor/overlay_widget.cpp:1303 +#: src/editor/overlay_widget.cpp:1578 msgid "Autotile erasing mode is on" msgstr "La función del autoborrado de teselas está activa" -#: src/editor/overlay_widget.cpp:1305 +#: src/editor/overlay_widget.cpp:1582 msgid "Selected tile isn't autotileable" msgstr "La tesela actual no se puede autoteselar" -#: src/editor/overlay_widget.cpp:1308 +#: src/editor/overlay_widget.cpp:1587 msgid "Hold Ctrl to enable autotile erasing" msgstr "Mantén pulsado Ctrl para autoborrar teselas" @@ -3448,8 +4767,8 @@ msgid "Current SuperTux Team" msgstr "Equipo actual de SuperTux" #: data//credits.stxt:30 -msgid "Programming, project lead ad interim" -msgstr "Programación y líder provisional del proyecto" +msgid "Maintainer, Programming" +msgstr "Coordinador y programación" #: data//credits.stxt:35 msgid "Graphics, Level Design, Story" @@ -3459,12 +4778,12 @@ msgstr "Gráficos, diseño de niveles e historia" msgid "Level Design, Story, Optimisation, Coordination" msgstr "Diseño de niveles, historia, optimización y coordinación" -#: data//credits.stxt:45 data//credits.stxt:105 data//credits.stxt:191 -#: data//credits.stxt:519 +#: data//credits.stxt:45 data//credits.stxt:120 data//credits.stxt:206 +#: data//credits.stxt:538 msgid "Graphics" msgstr "Gráficos" -#: data//credits.stxt:50 data//credits.stxt:87 data//credits.stxt:93 +#: data//credits.stxt:50 data//credits.stxt:102 data//credits.stxt:108 msgid "Graphics, Programming, Level Design" msgstr "Gráficos, programación, diseño de niveles" @@ -3473,255 +4792,265 @@ msgid "Features and Programming" msgstr "Retoques y programación" #: data//credits.stxt:60 +msgid "Minor features and programming" +msgstr "Pequeños retoques y programación" + +#: data//credits.stxt:65 msgid "Programming, Level Updates" msgstr "Programación y mejora de niveles" -#: data//credits.stxt:65 +#: data//credits.stxt:70 msgid "Graphics, Programming" msgstr "Gráficos y programación" -#: data//credits.stxt:70 data//credits.stxt:135 data//credits.stxt:140 -#: data//credits.stxt:145 data//credits.stxt:150 data//credits.stxt:165 -#: data//credits.stxt:170 data//credits.stxt:515 data//credits.stxt:527 +#: data//credits.stxt:75 data//credits.stxt:85 data//credits.stxt:150 +#: data//credits.stxt:155 data//credits.stxt:160 data//credits.stxt:165 +#: data//credits.stxt:180 data//credits.stxt:185 data//credits.stxt:534 +#: data//credits.stxt:546 msgid "Programming" msgstr "Programación" -#: data//credits.stxt:76 +#: data//credits.stxt:80 data//credits.stxt:266 +msgid "Level Design" +msgstr "Diseño de niveles" + +#: data//credits.stxt:91 msgid "Original Developers" msgstr "Desarrolladores Original" -#: data//credits.stxt:81 +#: data//credits.stxt:96 msgid "Original Developer" msgstr "Desarrollador original" -#: data//credits.stxt:99 +#: data//credits.stxt:114 msgid "Music, Level Design" msgstr "Música, diseño de niveles" -#: data//credits.stxt:111 +#: data//credits.stxt:126 msgid "Programming, Graphics, Level Design" msgstr "Programación, gráficos, diseño de niveles" -#: data//credits.stxt:117 +#: data//credits.stxt:132 msgid "Programming, Level Design" msgstr "Programación y diseño de niveles" -#: data//credits.stxt:123 +#: data//credits.stxt:138 msgid "Graphics, Story" msgstr "Gráficos e historia" -#: data//credits.stxt:129 +#: data//credits.stxt:144 msgid "Programming, Documentation" msgstr "Programación y documentación" -#: data//credits.stxt:155 +#: data//credits.stxt:170 msgid "Coordination" msgstr "Coordinación" -#: data//credits.stxt:160 +#: data//credits.stxt:175 msgid "Programming, \"Flexlay\" Level editor" msgstr "Programación y editor de niveles «Flexlay»" -#: data//credits.stxt:175 +#: data//credits.stxt:190 msgid "Windows build fixes" msgstr "Ajustes en la versión de Windows" -#: data//credits.stxt:180 +#: data//credits.stxt:195 msgid "Packaging, Nightly builds" msgstr "Publicación y versiones diarias" -#: data//credits.stxt:185 +#: data//credits.stxt:200 msgid "Translation Guru (and many details anyone else could have done)" msgstr "Gurú de traducción (y detallista nato del día a día)" -#: data//credits.stxt:251 -msgid "Level Design" -msgstr "Diseño de niveles" - -#: data//credits.stxt:431 +#: data//credits.stxt:450 msgid "Additional contributors" msgstr "Colaboradores adicionales" -#: data//credits.stxt:436 +#: data//credits.stxt:455 msgid "Bug fixes" msgstr "Arreglos varios" -#: data//credits.stxt:440 +#: data//credits.stxt:459 msgid "Scripting functions, Level fixes" msgstr "Funciones de scripts y arreglos en niveles" -#: data//credits.stxt:444 +#: data//credits.stxt:463 msgid "Code quality fixes" msgstr "Limpieza del código fuente" -#: data//credits.stxt:448 data//credits.stxt:452 data//credits.stxt:456 -#: data//credits.stxt:483 +#: data//credits.stxt:467 data//credits.stxt:471 data//credits.stxt:475 +#: data//credits.stxt:502 msgid "Various contributions" msgstr "Contribuciones varias" -#: data//credits.stxt:460 +#: data//credits.stxt:479 msgid "Build issue fix" msgstr "Arreglos de problemas de compilación" -#: data//credits.stxt:464 data//credits.stxt:468 +#: data//credits.stxt:483 data//credits.stxt:487 msgid "Code contributions" msgstr "Contribuciones de código" -#: data//credits.stxt:471 +#: data//credits.stxt:490 msgid "Code contribution, AppData file" msgstr "Contribuciones de código y archivo «AppData»" -#: data//credits.stxt:475 +#: data//credits.stxt:494 msgid "Bug fix" msgstr "Arreglos varios" -#: data//credits.stxt:479 +#: data//credits.stxt:498 msgid "Menu reorganization" msgstr "Reorganización del menú" -#: data//credits.stxt:487 +#: data//credits.stxt:506 msgid "Fixing tile bugs" msgstr "Arreglos de problemas con teselas" -#: data//credits.stxt:491 +#: data//credits.stxt:510 msgid "Build error fix" msgstr "Arreglos de compilación" -#: data//credits.stxt:495 +#: data//credits.stxt:514 msgid "Scripting function fix" msgstr "Arreglos de funciones de scripts" -#: data//credits.stxt:499 +#: data//credits.stxt:518 msgid "New features and notable updates" msgstr "Cosas nuevas y actualizaciones importantes" -#: data//credits.stxt:503 +#: data//credits.stxt:522 msgid "Support for \"glbinding\" as optional OpenGL binding" msgstr "Soporte para «glbinding» como vínculo opcional a OpenGL" -#: data//credits.stxt:507 +#: data//credits.stxt:526 msgid "New menu code" msgstr "Código nuevo del menú" -#: data//credits.stxt:511 +#: data//credits.stxt:530 msgid "Big Tux Walking Sprites improvements" msgstr "Grandes mejoras en las sprites del andar de Tux " -#: data//credits.stxt:523 data//credits.stxt:531 +#: data//credits.stxt:542 data//credits.stxt:550 msgid "Contrib Programming" msgstr "Programación adicional" -#: data//credits.stxt:535 +#: data//credits.stxt:554 msgid "Programming, Previous Maintainer" msgstr "Programación y antiguo jefe de proyecto" -#: data//credits.stxt:539 +#: data//credits.stxt:558 msgid "Various Contributions" msgstr "Aportaciones varias" -#: data//credits.stxt:543 -msgid "Minor features and programming" -msgstr "Pequeños retoques y programación" - -#: data//credits.stxt:547 data//credits.stxt:551 data//credits.stxt:555 -#: data//credits.stxt:559 data//credits.stxt:563 data//credits.stxt:567 -#: data//credits.stxt:571 data//credits.stxt:575 data//credits.stxt:579 -#: data//credits.stxt:583 data//credits.stxt:587 data//credits.stxt:591 +#: data//credits.stxt:562 data//credits.stxt:566 data//credits.stxt:570 +#: data//credits.stxt:574 data//credits.stxt:578 data//credits.stxt:582 +#: data//credits.stxt:586 data//credits.stxt:590 data//credits.stxt:594 +#: data//credits.stxt:598 data//credits.stxt:602 data//credits.stxt:606 +#: data//credits.stxt:610 data//credits.stxt:614 data//credits.stxt:618 +#: data//credits.stxt:622 data//credits.stxt:626 data//credits.stxt:630 +#: data//credits.stxt:634 data//credits.stxt:638 data//credits.stxt:642 +#: data//credits.stxt:646 data//credits.stxt:650 data//credits.stxt:654 +#: data//credits.stxt:658 data//credits.stxt:662 msgid "Contributions" msgstr "Aportaciones" -#: data//credits.stxt:597 +#: data//credits.stxt:668 msgid "Localization" msgstr "Traductores" -#: data//credits.stxt:1144 +#: data//credits.stxt:1231 msgid " Special Thanks to" msgstr "Gracias especials a" -#: data//credits.stxt:1149 +#: data//credits.stxt:1236 msgid "Creator of Tux, the Linux penguin" msgstr "Creador de Tux, el pingüino de Linux" -#: data//credits.stxt:1153 +#: data//credits.stxt:1240 msgid "SDL, OpenAL and OpenGL" msgstr "SDL, OpenAL y OpenGL" -#: data//credits.stxt:1154 +#: data//credits.stxt:1241 msgid "" "For making such a great gaming experience\n" " possible on Linux" msgstr "Por hacer posible una gran experiencia\n de juego en Linux" -#: data//credits.stxt:1159 +#: data//credits.stxt:1246 msgid "and you, the player" msgstr "y a ti, el jugador o jugadora" -#: data//credits.stxt:1160 +#: data//credits.stxt:1247 msgid "for giving this game a chance and playing it" msgstr "por disfrutar de nuestro trabajo y darle una oportunidad" -#: data//credits.stxt:1171 +#: data//credits.stxt:1258 msgid "Visit our webpage at" msgstr "Visita nuestra página web en" -#: data//credits.stxt:1180 +#: data//credits.stxt:1267 msgid "Or visit us directly at IRC:" msgstr "O únete a nuestro canal IRC:" -#: data//credits.stxt:1184 +#: data//credits.stxt:1271 msgid "#supertux at web.libera.chat" msgstr "#supertux en web.libera.chat" -#: data//credits.stxt:1189 +#: data//credits.stxt:1276 msgid "Or at our Forum:" msgstr "O en nuestro foro:" -#: data//credits.stxt:1198 +#: data//credits.stxt:1285 msgid "Comments, ideas and suggestions" msgstr "Para enviar comentarios, ideas y sugerencias" -#: data//credits.stxt:1202 +#: data//credits.stxt:1289 msgid "go to our mailing list" msgstr "puedes unirte a nuestra lista de correo" #. l10n: typo contact -#: data//credits.stxt:1212 +#: data//credits.stxt:1299 msgid "Typographical errors can be" msgstr "Puedes informar de errores" #. l10n: typo contact -#: data//credits.stxt:1217 +#: data//credits.stxt:1304 msgid "reported to" msgstr "tipográficos escribiendo a" #. l10n: typo contact, see -#: data//credits.stxt:1222 +#: data//credits.stxt:1309 msgid "supertux-devel@lists.lethargik.org" msgstr "supertux-devel@lists.lethargik.org" -#: data//credits.stxt:1229 +#: data//credits.stxt:1316 msgid "Want to help…" msgstr "¿Quieres ayudarnos..." -#: data//credits.stxt:1234 +#: data//credits.stxt:1321 msgid "…with localization?" msgstr "...traduciendo?" -#: data//credits.stxt:1244 +#: data//credits.stxt:1331 msgid "…with something else?" msgstr "...o algo más?" -#: data//credits.stxt:1255 +#: data//credits.stxt:1342 msgid "Thank you for" msgstr "Muchas gracias" -#: data//credits.stxt:1259 +#: data//credits.stxt:1346 msgid "playing" msgstr "por jugar" -#: data//credits.stxt:1269 +#: data//credits.stxt:1356 msgid "Penny awaits you in warmer temperatures!" -msgstr "Penny te espera en temperaturas más cálidas!" +msgstr "¡Penny te espera en temperaturas más cálidas!" + +#: data//images/engine/editor/objects.stoi:4 +msgid "Enemies" +msgstr "Enemigos" #: data//images/engine/editor/objects.stoi:162 msgid "Bosses" @@ -3731,15 +5060,10 @@ msgstr "Jefes" msgid "Projectiles" msgstr "Proyectiles" -#: data//images/engine/editor/objects.stoi:187 +#: data//images/engine/editor/objects.stoi:184 msgid "Environment" msgstr "Entorno" -#: data//images/ice_world.strf:10 data//images/tiles.strf:28 -#: data//images/worldmap.strf:41 -msgid "Snow" -msgstr "Nieve" - #: data//images/ice_world.strf:80 msgid "Ice Cave & Crystal" msgstr "Cueva de hielo y cristal" @@ -3748,11 +5072,6 @@ msgstr "Cueva de hielo y cristal" msgid "Embellishments" msgstr "Embellecedores" -#: data//images/ice_world.strf:211 data//images/tiles.strf:386 -#: data//images/worldmap.strf:67 -msgid "Forest" -msgstr "Bosque" - #: data//images/ice_world.strf:320 msgid "Underground Forest" msgstr "Bosque subterráneo" @@ -3777,57 +5096,61 @@ msgstr "Caminos y vías" msgid "Water" msgstr "Agua" -#: data//images/tiles.strf:176 +#: data//images/tiles.strf:252 msgid "Snow Background" msgstr "Fondo nevado" -#: data//images/tiles.strf:231 -msgid "Snow Mountain" -msgstr "Montaña nevada" - -#: data//images/tiles.strf:305 +#: data//images/tiles.strf:300 msgid "Crystal" msgstr "Cristal" -#: data//images/tiles.strf:532 +#: data//images/tiles.strf:539 msgid "Forest Background" msgstr "Fondo del bosque" -#: data//images/tiles.strf:663 +#: data//images/tiles.strf:690 +msgid "Corrupted Forest" +msgstr "Bosque podrido" + +#: data//images/tiles.strf:868 +msgid "Corrupted Background" +msgstr "Fondo podrido" + +#: data//images/tiles.strf:991 msgid "Block + Bonus" msgstr "Bloques y bonificaciones" -#: data//images/tiles.strf:715 +#: data//images/tiles.strf:1069 msgid "Pole + Signs" msgstr "Postes y carteles" -#: data//images/tiles.strf:760 +#: data//images/tiles.strf:1113 msgid "Liquid" msgstr "Líquidos" -#: data//images/tiles.strf:793 +#: data//images/tiles.strf:1131 msgid "Castle" msgstr "Castillo" -#: data//images/tiles.strf:930 data//images/worldmap.strf:199 +#: data//images/tiles.strf:1231 data//images/worldmap.strf:199 msgid "Halloween" msgstr "Halloween" -#: data//images/tiles.strf:958 +#: data//images/tiles.strf:1272 msgid "Industrial" msgstr "Industrial" -#: data//images/tiles.strf:973 +#: data//images/tiles.strf:1287 msgid "Unisolid + Lightmap" msgstr "Unisólidos y mapas de luz" -#: data//images/tiles.strf:1000 +#: data//images/tiles.strf:1314 msgid "Miscellaneous" msgstr "Otras cosas" -#: data//images/tiles.strf:1043 -msgid "Retro Snow" -msgstr "Nieve retro" +#: data//images/tiles.strf:1342 +msgid "Retro Tiles" +msgstr "Teselas retro" #: data//images/worldmap.strf:24 msgid "Water paths" @@ -3840,3 +5163,19 @@ msgstr "Rutas de castillo" #: data//images/worldmap.strf:135 msgid "Darker Forest" msgstr "Bosque más oscuro" + +#: data//images/converters/data.stcd:3 +msgid "Nightly Tiles" +msgstr "" + +#: data//images/converters/data.stcd:5 +msgid "For levels, created in previous Nightly builds." +msgstr "" + +#: data//images/converters/data.stcd:8 +msgid "Pre-0.6.3 Crystal Tiles" +msgstr "" + +#: data//images/converters/data.stcd:10 +msgid "For levels, created in pre-0.6.3 versions, which use crystal tiles." +msgstr "" diff --git a/data/locale/ja.po b/data/locale/ja.po index f2500eab5c4..08a13639956 100644 --- a/data/locale/ja.po +++ b/data/locale/ja.po @@ -3,10 +3,13 @@ # This file is distributed under the same license as the SuperTux package. # # Translators: -# IAN RODRÍGUEZ Lorenzo, 2023 +# 0ea743a388003249c3a27027490eb004_eb62725 <93be5fa112647d5d896be9f7b3c2eda8_426397>, 2019 +# 111More1, 2023 +# b1e11c107ebf1f339ff7adfc86b9dbe0_2e3e89d, 2016 +# 111More1, 2023 # 515ce455fbf38ec9585626e8d26b6324_7a9a6ef, 2016-2017 # Ryo Nakano, 2016 -# Ryo Nakano, 2018-2022 +# Ryo Nakano, 2018-2022,2024 # b1e11c107ebf1f339ff7adfc86b9dbe0_2e3e89d, 2016 # Sanshiro sumita, 2015 # Sanshiro sumita, 2015-2016 @@ -19,9 +22,9 @@ msgid "" msgstr "" "Project-Id-Version: SuperTux\n" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" -"POT-Creation-Date: 2021-12-12 20:05+0100\n" +"POT-Creation-Date: 2024-05-30 16:19+0200\n" "PO-Revision-Date: 2013-08-10 22:56+0000\n" -"Last-Translator: IAN RODRÍGUEZ Lorenzo, 2023\n" +"Last-Translator: 0ea743a388003249c3a27027490eb004_eb62725 <93be5fa112647d5d896be9f7b3c2eda8_426397>, 2019\n" "Language-Team: Japanese (http://app.transifex.com/arctic-games/supertux/language/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,124 +32,166 @@ msgstr "" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: src/trigger/secretarea_trigger.cpp:53 src/trigger/secretarea_trigger.cpp:61 +#: src/trigger/secretarea_trigger.cpp:47 msgid "You found a secret area!" msgstr "秘密の場所を見つけました!" -#: src/trigger/secretarea_trigger.cpp:77 src/supertux/game_object.cpp:90 -#: src/supertux/menu/editor_sector_menu.cpp:34 -#: src/supertux/menu/editor_levelset_menu.cpp:58 +#: src/trigger/secretarea_trigger.cpp:55 src/supertux/game_object.cpp:115 +#: src/supertux/menu/editor_sector_menu.cpp:36 +#: src/supertux/menu/editor_levelset_menu.cpp:52 #: src/supertux/menu/editor_new_levelset_menu.cpp:34 +#: src/supertux/menu/profile_name_menu.cpp:39 #: src/supertux/menu/editor_level_menu.cpp:33 msgid "Name" msgstr "名前" -#: src/trigger/secretarea_trigger.cpp:78 +#: src/trigger/secretarea_trigger.cpp:56 msgid "Fade tilemap" msgstr "タイルマップをフェード" -#: src/trigger/secretarea_trigger.cpp:79 src/trigger/climbable.cpp:81 -#: src/object/infoblock.cpp:57 src/editor/worldmap_objects.cpp:172 -#: src/editor/worldmap_objects.cpp:270 +#: src/trigger/secretarea_trigger.cpp:57 src/trigger/climbable.cpp:59 +#: src/object/infoblock.cpp:76 src/worldmap/teleporter.cpp:49 +#: src/worldmap/special_tile.cpp:74 msgid "Message" msgstr "メッセージ" -#: src/trigger/secretarea_trigger.cpp:80 src/trigger/scripttrigger.cpp:75 -#: src/trigger/door.cpp:73 src/object/ispy.cpp:67 -#: src/object/bonus_block.cpp:207 src/object/bonus_block.cpp:211 -#: src/object/pushbutton.cpp:51 src/object/powerup.cpp:190 -#: src/editor/worldmap_objects.cpp:272 +#: src/trigger/secretarea_trigger.cpp:58 src/trigger/scripttrigger.cpp:51 +#: src/trigger/door.cpp:79 src/object/ispy.cpp:53 +#: src/object/bonus_block.cpp:264 src/object/bonus_block.cpp:268 +#: src/object/pushbutton.cpp:62 src/object/powerup.cpp:301 +#: src/worldmap/special_tile.cpp:76 msgid "Script" msgstr "スクリプト" -#: src/trigger/scripttrigger.cpp:76 src/object/pushbutton.hpp:31 +#: src/trigger/scripttrigger.cpp:52 src/object/pushbutton.hpp:32 msgid "Button" msgstr "ボタン" -#: src/trigger/scripttrigger.cpp:77 +#: src/trigger/scripttrigger.cpp:53 msgid "Oneshot" msgstr "一度のみ" -#: src/trigger/sequence_trigger.hpp:33 +#: src/trigger/sequence_trigger.hpp:31 msgid "Sequence Trigger" msgstr "シーケンストリガー" -#: src/trigger/door.cpp:74 src/badguy/willowisp.cpp:320 -#: src/supertux/menu/editor_sector_menu.cpp:32 -#: src/editor/layers_widget.cpp:342 -#: data//images/engine/editor/objects.stoi:321 +#: src/trigger/text_area.cpp:141 +msgid "Once" +msgstr "" + +#: src/trigger/text_area.cpp:142 +msgid "Text change time" +msgstr "" + +#: src/trigger/text_area.cpp:143 +msgid "Fade time" +msgstr "" + +#: src/trigger/text_area.cpp:144 src/object/textscroller.cpp:353 +msgid "Anchor" +msgstr "アンカー" + +#: src/trigger/text_area.cpp:148 +msgid "Anchor offset X" +msgstr "" + +#: src/trigger/text_area.cpp:149 +msgid "Anchor offset Y" +msgstr "" + +#: src/trigger/text_area.cpp:150 +msgid "Texts" +msgstr "" + +#: src/trigger/door.cpp:80 src/badguy/willowisp.cpp:311 +#: src/worldmap/teleporter.cpp:47 data//images/engine/editor/objects.stoi:342 msgid "Sector" msgstr "セクター" -#: src/trigger/door.cpp:75 src/editor/worldmap_objects.hpp:101 +#: src/trigger/door.cpp:81 src/worldmap/spawn_point.hpp:58 msgid "Spawn point" msgstr "スタート地点" -#: src/trigger/switch.cpp:61 src/object/block.cpp:224 src/object/torch.cpp:102 -#: src/object/moving_sprite.cpp:156 src/object/pneumatic_platform.cpp:146 -msgid "Sprite" -msgstr "スプライト" +#: src/trigger/door.cpp:82 +msgid "Locked?" +msgstr "" + +#: src/trigger/door.cpp:83 +msgid "Lock Color" +msgstr "" + +#: src/trigger/switch.cpp:62 src/object/ispy.cpp:54 src/object/bumper.cpp:53 +#: src/object/spotlight.cpp:106 src/object/pushbutton.cpp:61 +#: src/object/gradient.cpp:103 src/object/conveyor_belt.cpp:60 +#: src/badguy/badguy.cpp:1063 src/worldmap/spawn_point.cpp:79 +#: src/worldmap/special_tile.cpp:78 +msgid "Direction" +msgstr "向き" -#: src/trigger/switch.cpp:62 +#: src/trigger/switch.cpp:65 msgid "Turn on script" msgstr "スプリクト効果を出す" -#: src/trigger/switch.cpp:63 +#: src/trigger/switch.cpp:66 msgid "Turn off script" msgstr "スプリクト効果を止める" -#: src/trigger/scripttrigger.hpp:32 +#: src/trigger/scripttrigger.hpp:29 msgid "Script Trigger" msgstr "スクリプトトリガー" -#: src/trigger/sequence_trigger.cpp:75 +#: src/trigger/sequence_trigger.cpp:48 msgid "Sequence" msgstr "シーケンス" -#: src/trigger/sequence_trigger.cpp:76 +#: src/trigger/sequence_trigger.cpp:49 msgid "end sequence" msgstr "シーケンスを終了" -#: src/trigger/sequence_trigger.cpp:76 +#: src/trigger/sequence_trigger.cpp:49 msgid "stop Tux" msgstr "Tuxを止める" -#: src/trigger/sequence_trigger.cpp:76 +#: src/trigger/sequence_trigger.cpp:49 msgid "fireworks" msgstr "花火" -#: src/trigger/sequence_trigger.cpp:80 +#: src/trigger/sequence_trigger.cpp:53 msgid "New worldmap spawnpoint" msgstr "新しいワールドマップのスタート地点" -#: src/trigger/sequence_trigger.cpp:81 +#: src/trigger/sequence_trigger.cpp:54 msgid "Worldmap fade tilemap" msgstr "ワールドマップフェードタイルマップ" -#: src/trigger/sequence_trigger.cpp:82 +#: src/trigger/sequence_trigger.cpp:55 #: src/object/custom_particle_system.cpp:430 #: src/object/custom_particle_system.cpp:465 msgid "Fade" msgstr "フェード" -#: src/trigger/sequence_trigger.cpp:83 src/editor/particle_editor.cpp:161 +#: src/trigger/sequence_trigger.cpp:56 src/editor/particle_editor.cpp:161 msgid "Fade in" msgstr "フェードイン" -#: src/trigger/sequence_trigger.cpp:83 src/editor/particle_editor.cpp:167 +#: src/trigger/sequence_trigger.cpp:56 src/editor/particle_editor.cpp:167 #: src/editor/particle_editor.cpp:212 msgid "Fade out" msgstr "フェードアウト" -#: src/trigger/climbable.hpp:37 +#: src/trigger/climbable.hpp:46 msgid "Climbable" msgstr "ハシゴ" -#: src/trigger/door.hpp:34 +#: src/trigger/text_area.hpp:47 +msgid "Text Area" +msgstr "" + +#: src/trigger/door.hpp:31 msgid "Door" msgstr "ドアー" -#: src/trigger/switch.hpp:33 +#: src/trigger/switch.hpp:30 msgid "Switch" msgstr "スイッチ" @@ -154,118 +199,194 @@ msgstr "スイッチ" msgid "Secret Area" msgstr "秘密の場所" -#: src/object/thunderstorm.hpp:40 +#: src/math/anchor_point.cpp:33 +msgid "Top Left" +msgstr "" + +#: src/math/anchor_point.cpp:34 +msgid "Top" +msgstr "" + +#: src/math/anchor_point.cpp:35 +msgid "Top Right" +msgstr "" + +#: src/math/anchor_point.cpp:36 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:38 +#: src/supertux/menu/joystick_menu.cpp:73 +msgid "Left" +msgstr "左" + +#: src/math/anchor_point.cpp:37 +msgid "Middle" +msgstr "" + +#: src/math/anchor_point.cpp:38 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:39 +#: src/supertux/menu/joystick_menu.cpp:74 +msgid "Right" +msgstr "右" + +#: src/math/anchor_point.cpp:39 +msgid "Bottom Left" +msgstr "" + +#: src/math/anchor_point.cpp:40 +msgid "Bottom" +msgstr "" + +#: src/math/anchor_point.cpp:41 +msgid "Bottom Right" +msgstr "" + +#: src/object/thunderstorm.hpp:44 msgid "Thunderstorm" msgstr "雷雨" -#: src/object/cloud_particle_system.cpp:79 +#: src/object/cloud_particle_system.cpp:77 #: src/object/rain_particle_system.cpp:100 msgid "Intensity" msgstr "強度" -#: src/object/custom_particle_system.hpp:45 +#: src/object/custom_particle_system.hpp:46 msgid "Custom Particles" msgstr "カスタムパーティクル" -#: src/object/ispy.cpp:66 -msgid "Facing Down" -msgstr "下向き" - -#: src/object/ispy.cpp:68 src/object/spotlight.cpp:103 -#: src/object/gradient.cpp:137 src/badguy/willowisp.cpp:319 -#: src/badguy/badguy.cpp:848 src/editor/worldmap_objects.cpp:207 -#: src/editor/worldmap_objects.cpp:274 -msgid "Direction" -msgstr "向き" - -#: src/object/particle_zone.hpp:39 +#: src/object/particle_zone.hpp:41 msgid "Particle zone" msgstr "パーティクルゾーン" -#: src/object/path_gameobject.hpp:44 src/object/coin.cpp:301 -#: src/object/camera.cpp:224 src/object/platform.cpp:73 -#: src/object/path_gameobject.cpp:173 src/object/tilemap.cpp:246 -#: src/gui/menu_paths.cpp:52 src/badguy/willowisp.cpp:326 +#: src/object/path_gameobject.hpp:45 src/object/coin.cpp:324 +#: src/object/camera.cpp:168 src/object/platform.cpp:76 +#: src/object/path_gameobject.cpp:175 src/object/tilemap.cpp:284 +#: src/badguy/willowisp.cpp:317 msgid "Path" -msgstr "道" - -#: src/object/decal.cpp:49 src/object/scripted_object.cpp:67 -#: src/object/particlesystem.cpp:65 src/object/background.cpp:183 -#: src/object/thunderstorm.cpp:68 src/object/tilemap.cpp:239 -#: src/object/gradient.cpp:135 -msgid "Z-pos" -msgstr "z軸のポジション" +msgstr "パス" -#: src/object/decal.cpp:50 src/object/scripted_object.cpp:70 -#: src/object/tilemap.cpp:228 +#: src/object/decal.cpp:48 src/object/scripted_object.cpp:70 +#: src/object/tilemap.cpp:266 msgid "Solid" msgstr "固定" -#: src/object/decal.cpp:51 src/supertux/menu/keyboard_menu.cpp:37 -#: src/supertux/menu/joystick_menu.cpp:74 +#: src/object/decal.cpp:49 src/supertux/menu/keyboard_menu.cpp:41 +#: src/supertux/menu/joystick_menu.cpp:76 msgid "Action" msgstr "アクション" -#: src/object/weak_block.hpp:35 +#: src/object/weak_block.hpp:36 msgid "Weak Tile" msgstr "壊れやすい足場" -#: src/object/bumper.cpp:46 -msgid "Facing Left" -msgstr "左向き" - -#: src/object/gradient.hpp:42 +#: src/object/gradient.hpp:43 msgid "Gradient" msgstr "グラデーション" -#: src/object/tilemap.hpp:57 +#: src/object/tilemap.hpp:58 msgid "Tilemap" msgstr "タイルマップ" -#: src/object/circleplatform.hpp:32 +#: src/object/sound_object.cpp:69 src/object/ambient_sound.cpp:85 +#: src/object/sound_object.hpp:42 src/supertux/menu/options_menu.cpp:128 +#: data//credits.stxt:367 +msgid "Sound" +msgstr "効果音" + +#: src/object/sound_object.cpp:70 src/object/ambient_sound.cpp:87 +msgid "Volume" +msgstr "音量" + +#: src/object/conveyor_belt.hpp:39 +msgid "Conveyor Belt" +msgstr "" + +#: src/object/unstable_tile.cpp:70 src/object/weak_block.cpp:97 +#: src/badguy/flame.cpp:86 +msgid "Ice" +msgstr "氷" + +#: src/object/unstable_tile.cpp:71 src/object/brick.hpp:34 +msgid "Brick" +msgstr "レンガ" + +#: src/object/unstable_tile.cpp:72 +msgid "Delayed" +msgstr "" + +#: src/object/circleplatform.hpp:35 msgid "Circular Platform" msgstr "円形プラットフォーム" -#: src/object/brick.cpp:133 +#: src/object/brick.cpp:59 src/object/coin.cpp:69 +#: src/object/invisible_block.cpp:37 src/object/background.cpp:200 +#: src/object/tilemap.cpp:279 src/object/gradient.cpp:109 +#: src/badguy/viciousivy.cpp:44 src/badguy/snail.cpp:69 +#: src/badguy/smartball.cpp:34 src/badguy/bouncing_snowball.cpp:81 +#: src/badguy/kamikazesnowball.cpp:117 src/badguy/walkingleaf.cpp:35 +#: src/badguy/mrbomb.cpp:47 src/badguy/igel.cpp:188 src/badguy/snowball.cpp:40 +#: src/badguy/mrtree.cpp:50 src/badguy/mriceblock.cpp:62 +msgid "Normal" +msgstr "標準" + +#: src/object/brick.cpp:60 src/object/bonus_block.cpp:175 +#: src/object/coin.cpp:70 src/object/invisible_block.cpp:38 +msgid "Retro" +msgstr "" + +#: src/object/brick.cpp:166 msgid "Breakable" msgstr "破壊可能" -#: src/object/trampoline.cpp:136 src/object/rusty_trampoline.cpp:66 +#: src/object/trampoline.cpp:66 src/object/rusty_trampoline.cpp:66 msgid "Portable" msgstr "持ち運び可能" -#: src/object/spotlight.cpp:100 src/object/rain_particle_system.cpp:101 +#: src/object/trampoline.cpp:67 +msgid "Stationary" +msgstr "" + +#: src/object/key.hpp:38 +msgid "Key" +msgstr "" + +#: src/object/spotlight.cpp:102 src/object/particlesystem.cpp:64 +#: src/object/particle_zone.cpp:50 src/badguy/darttrap.cpp:149 +#: src/supertux/menu/addon_preview_menu.cpp:189 +msgid "Enabled" +msgstr "有効" + +#: src/object/spotlight.cpp:103 src/object/rain_particle_system.cpp:101 msgid "Angle" msgstr "角度" -#: src/object/spotlight.cpp:101 src/object/magicblock.cpp:94 -#: src/object/candle.cpp:77 src/object/torch.cpp:104 -#: src/object/rublight.cpp:54 src/object/lantern.cpp:62 -#: src/object/ambient_light.cpp:131 src/badguy/willowisp.cpp:328 -#: src/badguy/walking_candle.cpp:82 +#: src/object/spotlight.cpp:104 src/object/magicblock.cpp:95 +#: src/object/candle.cpp:75 src/object/torch.cpp:96 src/object/rublight.cpp:55 +#: src/object/lantern.cpp:62 src/object/ambient_light.cpp:122 +#: src/object/key.cpp:192 src/badguy/willowisp.cpp:319 +#: src/badguy/walking_candle.cpp:91 msgid "Color" msgstr "色" -#: src/object/spotlight.cpp:102 src/object/textscroller.cpp:350 -#: src/object/rain_particle_system.cpp:102 src/object/circleplatform.cpp:55 -#: src/badguy/flame.cpp:59 src/editor/node_marker.cpp:125 +#: src/object/spotlight.cpp:105 src/object/textscroller.cpp:350 +#: src/object/rain_particle_system.cpp:102 src/object/conveyor_belt.cpp:61 +#: src/object/circleplatform.cpp:58 src/badguy/flame.cpp:110 +#: src/editor/node_marker.cpp:125 msgid "Speed" msgstr "速度" -#: src/object/spotlight.cpp:104 +#: src/object/spotlight.cpp:107 msgid "Clockwise" msgstr "時計回り" -#: src/object/spotlight.cpp:104 +#: src/object/spotlight.cpp:107 msgid "Counter-clockwise" msgstr "左回り" -#: src/object/spotlight.cpp:104 +#: src/object/spotlight.cpp:107 msgid "Stopped" msgstr "停止" -#: src/object/spotlight.cpp:107 src/object/candle.cpp:78 -#: src/object/torch.cpp:103 +#: src/object/spotlight.cpp:110 src/object/lit_object.cpp:69 +#: src/object/candle.cpp:76 src/object/torch.cpp:95 msgid "Layer" msgstr "レイヤー" @@ -277,125 +398,171 @@ msgstr "物理エンジンが有効" msgid "Visible" msgstr "可視" -#: src/object/scripted_object.cpp:73 src/badguy/willowisp.cpp:322 +#: src/object/scripted_object.cpp:73 src/badguy/willowisp.cpp:313 msgid "Hit script" msgstr "スクリプトを打つ" -#: src/object/custom_particle_system_file.cpp:50 +#: src/object/custom_particle_system_file.cpp:53 #: src/object/textscroller.cpp:348 src/object/music_object.cpp:109 #: src/supertux/menu/particle_editor_open.cpp:38 msgid "File" msgstr "ファイル" -#: src/object/bonus_block.cpp:208 +#: src/object/bonus_block.cpp:154 +msgid "Only one custom object is allowed inside bonus blocks." +msgstr "" + +#: src/object/bonus_block.cpp:172 +msgid "Blue" +msgstr "" + +#: src/object/bonus_block.cpp:173 +msgid "Orange" +msgstr "" + +#: src/object/bonus_block.cpp:174 +msgid "Purple" +msgstr "" + +#: src/object/bonus_block.cpp:265 src/supertux/menu/cheat_apply_menu.cpp:54 msgid "Count" msgstr "カウント" -#: src/object/bonus_block.cpp:209 +#: src/object/bonus_block.cpp:266 msgid "Content" msgstr "内容" -#: src/object/bonus_block.cpp:210 src/object/coin.hpp:43 +#: src/object/bonus_block.cpp:267 src/object/coin.hpp:44 msgid "Coin" msgstr "コイン" -#: src/object/bonus_block.cpp:210 +#: src/object/bonus_block.cpp:267 msgid "Growth (fire flower)" msgstr "進化 (ファイアーフラワー)" -#: src/object/bonus_block.cpp:210 +#: src/object/bonus_block.cpp:267 msgid "Growth (ice flower)" msgstr "進化 (アイス フラワー)" -#: src/object/bonus_block.cpp:210 +#: src/object/bonus_block.cpp:267 msgid "Growth (air flower)" msgstr "進化 (エアー フラワー)" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 msgid "Growth (earth flower)" msgstr "進化 (アース フラワー)" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 +msgid "Growth (retro)" +msgstr "" + +#: src/object/bonus_block.cpp:268 src/object/powerup.cpp:66 msgid "Star" msgstr "スター" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 +msgid "Star (retro)" +msgstr "" + +#: src/object/bonus_block.cpp:268 msgid "Tux doll" msgstr "Tuxの人形" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 msgid "Custom" msgstr "カスタム" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 msgid "Light" msgstr "光" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 msgid "Light (On)" -msgstr "ライト(オン)" +msgstr "ライト (オン)" -#: src/object/bonus_block.cpp:212 src/object/trampoline.hpp:35 +#: src/object/bonus_block.cpp:269 src/object/trampoline.hpp:37 msgid "Trampoline" msgstr "トランポリン" -#: src/object/bonus_block.cpp:212 +#: src/object/bonus_block.cpp:269 +msgid "Portable trampoline" +msgstr "運べるトランポリン" + +#: src/object/bonus_block.cpp:269 msgid "Coin rain" msgstr "コインの雨" -#: src/object/bonus_block.cpp:212 +#: src/object/bonus_block.cpp:269 msgid "Coin explosion" msgstr "コインの爆発" -#: src/object/bonus_block.cpp:216 +#: src/object/bonus_block.cpp:269 src/object/rock.hpp:43 +msgid "Rock" +msgstr "岩" + +#: src/object/bonus_block.cpp:269 +msgid "Potion" +msgstr "" + +#: src/object/bonus_block.cpp:275 msgid "Custom Content" msgstr "カスタムコンテンツ" -#: src/object/pneumatic_platform.hpp:62 +#: src/object/bonus_block.cpp:278 +msgid "Coin sprite" +msgstr "" + +#: src/object/pneumatic_platform.hpp:65 msgid "Pneumatic Platform" msgstr "空気圧で動く足場" -#: src/object/coin.cpp:303 src/object/tilemap.cpp:249 +#: src/object/coin.cpp:326 src/object/tilemap.cpp:287 msgid "Following path" -msgstr "道に従う" +msgstr "パスに従う" -#: src/object/coin.cpp:306 src/object/camera.cpp:227 -#: src/object/platform.cpp:74 src/object/tilemap.cpp:252 +#: src/object/coin.cpp:329 src/object/camera.cpp:171 +#: src/object/platform.cpp:77 src/object/tilemap.cpp:290 msgid "Path Mode" msgstr "パスモード" -#: src/object/coin.cpp:307 src/object/camera.cpp:228 -#: src/object/platform.cpp:75 src/object/tilemap.cpp:253 -#: src/badguy/willowisp.cpp:331 +#: src/object/coin.cpp:330 src/object/camera.cpp:172 +#: src/object/platform.cpp:78 src/object/tilemap.cpp:291 +#: src/badguy/willowisp.cpp:322 msgid "Adapt Speed" msgstr "速度に適応する" -#: src/object/coin.cpp:308 src/object/platform.cpp:77 -#: src/object/tilemap.cpp:247 src/badguy/willowisp.cpp:327 +#: src/object/coin.cpp:331 src/object/platform.cpp:81 +#: src/object/tilemap.cpp:285 src/badguy/willowisp.cpp:318 msgid "Starting Node" msgstr "開始ノード" -#: src/object/coin.cpp:311 src/object/coin.cpp:339 +#: src/object/coin.cpp:332 src/object/camera.cpp:173 +#: src/object/platform.cpp:82 src/object/tilemap.cpp:293 +#: src/badguy/willowisp.cpp:323 +msgid "Handle" +msgstr "" + +#: src/object/coin.cpp:335 src/object/coin.cpp:371 msgid "Collect script" msgstr "スクリプトを記録する" -#: src/object/ghost_particle_system.hpp:36 +#: src/object/ghost_particle_system.hpp:37 msgid "Ghost Particles" msgstr "幽霊の粒子" -#: src/object/camera.cpp:219 +#: src/object/camera.cpp:163 msgid "Mode" msgstr "モード" -#: src/object/camera.cpp:220 +#: src/object/camera.cpp:164 msgid "normal" msgstr "通常" -#: src/object/camera.cpp:220 +#: src/object/camera.cpp:164 msgid "manual" msgstr "手動" -#: src/object/camera.cpp:220 +#: src/object/camera.cpp:164 msgid "autoscroll" msgstr "自動スクロール" @@ -411,32 +578,20 @@ msgstr "X オフセット" msgid "Controllable" msgstr "制御可能" -#: src/object/textscroller.cpp:353 -msgid "Anchor" -msgstr "アンカー" - -#: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 -#: src/supertux/menu/keyboard_menu.cpp:34 -#: src/supertux/menu/joystick_menu.cpp:71 -msgid "Left" -msgstr "左" - #: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 msgid "Center" msgstr "中心" -#: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 -#: src/supertux/menu/keyboard_menu.cpp:35 -#: src/supertux/menu/joystick_menu.cpp:72 -msgid "Right" -msgstr "右" - #: src/object/textscroller.cpp:357 msgid "Text Alignment" msgstr "テキストの配置" -#: src/object/spawnpoint.hpp:46 src/badguy/willowisp.cpp:321 -#: src/editor/worldmap_objects.cpp:171 +#: src/object/lit_object.hpp:40 +msgid "Lit object" +msgstr "" + +#: src/object/spawnpoint.hpp:48 src/badguy/willowisp.cpp:312 +#: src/worldmap/teleporter.cpp:48 msgid "Spawnpoint" msgstr "ゲームのスタート地点" @@ -444,266 +599,339 @@ msgstr "ゲームのスタート地点" msgid "Counter" msgstr "カウンター" -#: src/object/candle.hpp:36 +#: src/object/candle.hpp:37 msgid "Candle" msgstr "ロウソク" -#: src/object/particlesystem.cpp:64 src/object/particle_zone.cpp:79 -#: src/badguy/darttrap.cpp:127 -msgid "Enabled" -msgstr "有効" +#: src/object/particlesystem.cpp:65 src/object/background.cpp:184 +#: src/object/thunderstorm.cpp:76 src/object/tilemap.cpp:277 +#: src/object/gradient.cpp:101 src/object/moving_sprite.cpp:193 +msgid "Z-pos" +msgstr "z軸のポジション" -#: src/object/invisible_block.hpp:31 +#: src/object/invisible_block.hpp:30 msgid "Invisible Block" msgstr "見えないブロック" -#: src/object/snow_particle_system.hpp:35 +#: src/object/snow_particle_system.hpp:37 msgid "Snow Particles" msgstr "雪" -#: src/object/powerup.hpp:35 +#: src/object/powerup.hpp:40 msgid "Powerup" msgstr "パワーアップ" -#: src/object/fallblock.hpp:39 +#: src/object/infoblock.cpp:78 +msgid "Front Color" +msgstr "" + +#: src/object/infoblock.cpp:80 +msgid "Back Color" +msgstr "" + +#: src/object/infoblock.cpp:82 +msgid "Roundness" +msgstr "" + +#: src/object/infoblock.cpp:84 +msgid "Fade Transition" +msgstr "" + +#: src/object/fallblock.hpp:41 msgid "Falling Platform" msgstr "落下するプラットフォーム" -#: src/object/level_time.hpp:55 +#: src/object/level_time.hpp:56 msgid "Time Limit" msgstr "時間制限" -#: src/object/ambient_sound.cpp:119 src/supertux/menu/options_menu.cpp:391 -#: data//credits.stxt:352 -msgid "Sound" -msgstr "効果音" - -#: src/object/ambient_sound.cpp:120 -msgid "Distance factor" -msgstr "距離係数" - -#: src/object/ambient_sound.cpp:121 -msgid "Distance bias" -msgstr "距離の偏り" - -#: src/object/ambient_sound.cpp:122 -msgid "Volume" -msgstr "音量" +#: src/object/ambient_sound.cpp:86 +msgid "Radius (in tiles)" +msgstr "" #: src/object/torch.hpp:41 msgid "Torch" msgstr "たいまつ" -#: src/object/icecrusher.hpp:53 -msgid "Icecrusher" -msgstr "砕氷機" - -#: src/object/rublight.hpp:33 +#: src/object/rublight.hpp:34 msgid "Rublight" msgstr "ルブライト" -#: src/object/background.hpp:43 +#: src/object/background.hpp:45 msgid "Background" msgstr "背景" -#: src/object/firefly.hpp:36 +#: src/object/text_object.hpp:44 src/gui/menu_string_array.cpp:77 +msgid "Text" +msgstr "" + +#: src/object/firefly.hpp:38 msgid "Checkpoint" msgstr "中間地点" -#: src/object/ambient_light.hpp:36 +#: src/object/ambient_light.hpp:37 msgid "Ambient Light" msgstr "環境光" -#: src/object/lantern.hpp:37 +#: src/object/lantern.hpp:38 msgid "Lantern" msgstr "ランタン" -#: src/object/wind.hpp:40 +#: src/object/wind.hpp:43 msgid "Wind" msgstr "風" -#: src/object/bicycle_platform.cpp:189 src/object/background.cpp:179 -#: src/object/pneumatic_platform.cpp:147 -#: src/supertux/menu/joystick_menu.cpp:170 src/supertux/moving_object.cpp:58 -#: src/editor/worldmap_objects.cpp:73 +#: src/object/bicycle_platform.cpp:203 src/object/background.cpp:180 +#: src/object/pneumatic_platform.cpp:162 +#: src/supertux/menu/joystick_menu.cpp:172 src/supertux/moving_object.cpp:65 +#: src/worldmap/worldmap_object.cpp:77 msgid "X" msgstr "X" -#: src/object/bicycle_platform.cpp:190 src/object/background.cpp:180 -#: src/object/pneumatic_platform.cpp:148 -#: src/supertux/menu/joystick_menu.cpp:172 src/supertux/moving_object.cpp:59 -#: src/editor/worldmap_objects.cpp:74 +#: src/object/bicycle_platform.cpp:204 src/object/background.cpp:181 +#: src/object/pneumatic_platform.cpp:163 +#: src/supertux/menu/joystick_menu.cpp:174 src/supertux/moving_object.cpp:66 +#: src/worldmap/worldmap_object.cpp:78 msgid "Y" msgstr "Y" -#: src/object/bicycle_platform.cpp:192 +#: src/object/bicycle_platform.cpp:206 msgid "Platforms" msgstr "動く足場" -#: src/object/bicycle_platform.cpp:193 src/object/circleplatform.cpp:54 -#: src/badguy/flame.cpp:58 src/badguy/rcrystallo.cpp:50 -#: src/badguy/crystallo.cpp:35 +#: src/object/bicycle_platform.cpp:207 src/object/circleplatform.cpp:57 +#: src/badguy/fish_swimming.cpp:76 src/badguy/flame.cpp:109 +#: src/badguy/rcrystallo.cpp:83 src/badguy/crystallo.cpp:50 msgid "Radius" msgstr "半径" -#: src/object/bicycle_platform.cpp:194 +#: src/object/bicycle_platform.cpp:208 msgid "Momentum change rate" msgstr "推進力変化率" -#: src/object/rain_particle_system.hpp:40 +#: src/object/rain_particle_system.hpp:41 msgid "Rain Particles" msgstr "雨粒" -#: src/object/platform.hpp:45 +#: src/object/platform.hpp:46 msgid "Platform" msgstr "動く足場" -#: src/object/rock.hpp:42 -msgid "Rock" -msgstr "岩" - -#: src/object/music_object.hpp:41 src/supertux/menu/options_menu.cpp:393 -#: data//credits.stxt:294 +#: src/object/music_object.hpp:42 src/supertux/menu/options_menu.cpp:130 +#: data//credits.stxt:309 msgid "Music" msgstr "音楽" -#: src/object/rusty_trampoline.hpp:39 +#: src/object/lit_object.cpp:68 +msgid "Light sprite" +msgstr "" + +#: src/object/lit_object.cpp:71 +msgid "Sprite starting action" +msgstr "" + +#: src/object/lit_object.cpp:72 +msgid "Light sprite starting action" +msgstr "" + +#: src/object/lit_object.cpp:74 +msgid "Light sprite offset X" +msgstr "" + +#: src/object/lit_object.cpp:75 +msgid "Light sprite offset Y" +msgstr "" + +#: src/object/rusty_trampoline.hpp:40 msgid "Rusty Trampoline" msgstr "錆びたトランポリン" -#: src/object/particlesystem.hpp:57 +#: src/object/particlesystem.hpp:58 msgid "Particle system" msgstr "粒子の組織" -#: src/object/candle.cpp:75 src/object/torch.cpp:101 +#: src/object/candle.cpp:73 src/object/torch.cpp:94 msgid "Burning" msgstr "燃えている" -#: src/object/candle.cpp:76 +#: src/object/candle.cpp:74 msgid "Flicker" msgstr "光" -#: src/object/text_array_object.hpp:50 +#: src/object/snow_particle_system.cpp:104 +msgid "Epsilon" +msgstr "" + +#: src/object/snow_particle_system.cpp:105 +msgid "Spin Speed" +msgstr "" + +#: src/object/snow_particle_system.cpp:106 +msgid "State Length" +msgstr "" + +#: src/object/snow_particle_system.cpp:107 +msgid "Wind Speed" +msgstr "" + +#: src/object/text_array_object.hpp:47 msgid "Text array" msgstr "テキスト配列" -#: src/object/infoblock.hpp:36 +#: src/object/infoblock.hpp:37 msgid "Info Block" msgstr "情報ブロック" -#: src/object/powerup.cpp:191 +#: src/object/powerup.cpp:61 +msgid "Egg" +msgstr "" + +#: src/object/powerup.cpp:62 +msgid "Fire Flower" +msgstr "" + +#: src/object/powerup.cpp:63 +msgid "Ice Flower" +msgstr "" + +#: src/object/powerup.cpp:64 +msgid "Air Flower" +msgstr "" + +#: src/object/powerup.cpp:65 +msgid "Earth Flower" +msgstr "" + +#: src/object/powerup.cpp:67 +msgid "Tux Doll" +msgstr "" + +#: src/object/powerup.cpp:68 +msgid "Flip Potion" +msgstr "" + +#: src/object/powerup.cpp:69 +msgid "Mints" +msgstr "" + +#: src/object/powerup.cpp:70 +msgid "Coffee" +msgstr "" + +#: src/object/powerup.cpp:71 +msgid "Herring" +msgstr "" + +#: src/object/powerup.cpp:302 msgid "Disable gravity" msgstr "重力を無効にする" -#: src/object/ambient_sound.hpp:62 +#: src/object/powerup.cpp:312 src/object/weak_block.cpp:266 +msgid "" +"Sprites no longer define the behaviour of the object.\n" +"Object types are used instead." +msgstr "" + +#: src/object/ambient_sound.hpp:43 msgid "Ambient Sound" msgstr "環境音" -#: src/object/level_time.cpp:51 src/supertux/statistics.cpp:297 +#: src/object/level_time.cpp:52 src/supertux/statistics.cpp:297 #: src/editor/node_marker.cpp:124 msgid "Time" msgstr "時間" -#: src/object/hurting_platform.hpp:30 +#: src/object/hurting_platform.hpp:31 msgid "Hurting Platform" msgstr "壊れた動く足場" -#: src/object/icecrusher.cpp:83 -msgid "Sideways" -msgstr "横向き" - -#: src/object/background.cpp:182 +#: src/object/background.cpp:183 msgid "Fill" msgstr "敷き詰め" -#: src/object/background.cpp:184 +#: src/object/background.cpp:185 msgid "Alignment" msgstr "照準" -#: src/object/background.cpp:185 +#: src/object/background.cpp:186 src/supertux/direction.cpp:61 msgid "none" msgstr "なし" -#: src/object/background.cpp:185 src/editor/object_settings.cpp:119 +#: src/object/background.cpp:186 src/supertux/direction.cpp:63 msgid "left" msgstr "左" -#: src/object/background.cpp:185 src/editor/object_settings.cpp:119 +#: src/object/background.cpp:186 src/supertux/direction.cpp:65 msgid "right" msgstr "右" -#: src/object/background.cpp:185 +#: src/object/background.cpp:186 msgid "top" msgstr "上" -#: src/object/background.cpp:185 +#: src/object/background.cpp:186 msgid "bottom" msgstr "下" -#: src/object/background.cpp:188 +#: src/object/background.cpp:189 msgid "Scroll offset x" msgstr "x軸のスクロール オフセット" -#: src/object/background.cpp:189 +#: src/object/background.cpp:190 msgid "Scroll offset y" msgstr "y軸のスクロール オフセット" -#: src/object/background.cpp:190 +#: src/object/background.cpp:191 msgid "Scroll speed x" msgstr "x軸のスクロール スピード" -#: src/object/background.cpp:191 +#: src/object/background.cpp:192 msgid "Scroll speed y" msgstr "y軸のスクロール スピード" -#: src/object/background.cpp:192 +#: src/object/background.cpp:193 msgid "Parallax Speed x" msgstr "x軸の視差速度" -#: src/object/background.cpp:193 +#: src/object/background.cpp:194 msgid "Parallax Speed y" msgstr "y軸の視差速度" -#: src/object/background.cpp:194 +#: src/object/background.cpp:195 msgid "Top image" msgstr "上部の画像" -#: src/object/background.cpp:195 +#: src/object/background.cpp:196 msgid "Image" msgstr "画像" -#: src/object/background.cpp:196 +#: src/object/background.cpp:197 msgid "Bottom image" msgstr "下部の画像" -#: src/object/background.cpp:197 +#: src/object/background.cpp:198 msgid "Colour" msgstr "色" -#: src/object/background.cpp:198 src/object/tilemap.cpp:240 -#: src/object/gradient.cpp:142 +#: src/object/background.cpp:199 src/object/tilemap.cpp:278 +#: src/object/gradient.cpp:108 msgid "Draw target" msgstr "ターゲットを表示" -#: src/object/background.cpp:199 src/object/tilemap.cpp:241 -#: src/object/gradient.cpp:143 -msgid "Normal" -msgstr "標準" - -#: src/object/background.cpp:199 src/object/tilemap.cpp:241 -#: src/object/gradient.cpp:143 +#: src/object/background.cpp:200 src/object/tilemap.cpp:279 +#: src/object/gradient.cpp:109 msgid "Lightmap" msgstr "ライトマップ" -#: src/object/shard.hpp:34 +#: src/object/shard.hpp:35 msgid "Shard" msgstr "シャード" -#: src/object/rublight.cpp:55 +#: src/object/rublight.cpp:56 msgid "Fading Speed" msgstr "フェード速度" -#: src/object/rublight.cpp:56 +#: src/object/rublight.cpp:57 msgid "Glowing Strength" msgstr "輝く強さ" @@ -739,20 +967,28 @@ msgstr "プレイヤーに影響を与える" msgid "Fancy Particles" msgstr "ファンシーパーティクル" -#: src/object/bicycle_platform.hpp:64 +#: src/object/bicycle_platform.hpp:67 msgid "Bicycle Platform" msgstr "自動で動く足場" -#: src/object/platform.cpp:76 src/object/thunderstorm.cpp:69 -#: src/object/tilemap.cpp:254 +#: src/object/platform.cpp:80 src/object/thunderstorm.cpp:77 +#: src/object/tilemap.cpp:292 src/object/conveyor_belt.cpp:62 msgid "Running" msgstr "動作中" -#: src/object/rock.cpp:192 +#: src/object/rock.cpp:71 +msgid "Small" +msgstr "" + +#: src/object/rock.cpp:72 +msgid "Large" +msgstr "" + +#: src/object/rock.cpp:234 msgid "On-grab script" msgstr "つかんだ際のスクリプト" -#: src/object/rock.cpp:193 +#: src/object/rock.cpp:235 msgid "On-ungrab script" msgstr "離した際のスクリプトクリプト" @@ -760,15 +996,15 @@ msgstr "離した際のスクリプトクリプト" msgid "Interactive particle system" msgstr "インタラクティブ パーティクル システム" -#: src/object/thunderstorm.cpp:70 +#: src/object/thunderstorm.cpp:78 msgid "Interval" msgstr "間隔" -#: src/object/thunderstorm.cpp:71 +#: src/object/thunderstorm.cpp:79 msgid "Strike Script" msgstr "当たった際のスクリプト" -#: src/object/cloud_particle_system.hpp:41 +#: src/object/cloud_particle_system.hpp:42 msgid "Cloud Particles" msgstr "雲粒" @@ -780,7 +1016,7 @@ msgstr "テクスチャ" msgid "Amount" msgstr "額" -#: src/object/custom_particle_system.cpp:426 src/object/circleplatform.cpp:56 +#: src/object/custom_particle_system.cpp:426 src/object/circleplatform.cpp:59 #: src/editor/particle_editor.cpp:141 msgid "Delay" msgstr "遅れ" @@ -799,10 +1035,11 @@ msgid "Birth mode" msgstr "誕生モード" #: src/object/custom_particle_system.cpp:430 -#: src/object/custom_particle_system.cpp:465 src/object/gradient.cpp:149 -#: src/supertux/menu/keyboard_menu.cpp:58 -#: src/supertux/menu/joystick_menu.cpp:106 -#: src/supertux/menu/joystick_menu.cpp:213 src/editor/object_settings.cpp:131 +#: src/object/custom_particle_system.cpp:465 src/object/gradient.cpp:115 +#: src/gui/menu_string_array.cpp:40 src/gui/menu_string_array.cpp:78 +#: src/supertux/menu/keyboard_menu.cpp:80 +#: src/supertux/menu/joystick_menu.cpp:108 +#: src/supertux/menu/joystick_menu.cpp:215 src/editor/object_settings.cpp:129 #: src/editor/particle_editor.cpp:162 src/editor/particle_editor.cpp:168 msgid "None" msgstr "なし" @@ -1131,597 +1368,916 @@ msgstr "いつも" msgid "Cover screen" msgstr "カバースクリーン" -#: src/object/ispy.hpp:33 +#: src/object/ispy.hpp:35 msgid "Ispy" msgstr "これは何?" -#: src/object/skull_tile.hpp:32 -msgid "Skull Tile" -msgstr "頭蓋骨の足場" - -#: src/object/particle_zone.cpp:80 +#: src/object/particle_zone.cpp:51 msgid "Particle Name" msgstr "粒子名" -#: src/object/particle_zone.cpp:81 -msgid "Zone Type" -msgstr "ゾーンタイプ" - -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:62 msgid "Spawn" msgstr "スポーン" -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:63 msgid "Life zone" msgstr "ライフゾーン" -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:64 msgid "Life zone (clear)" msgstr "ライフゾーン(クリア)" -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:65 msgid "Kill particles" msgstr "粒子を消去する" -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:66 msgid "Clear particles" msgstr "透明な粒子" -#: src/object/weak_block.cpp:211 -msgid "Linked" -msgstr "関連付け" +#: src/object/weak_block.cpp:98 +msgid "Hay" +msgstr "" -#: src/object/decal.hpp:40 +#: src/object/decal.hpp:41 msgid "Decal" msgstr "デカール" -#: src/object/tilemap.cpp:229 +#: src/object/tilemap.cpp:267 msgid "Resize offset x" msgstr "オフセットのx座標をサイズ変更" -#: src/object/tilemap.cpp:230 +#: src/object/tilemap.cpp:268 msgid "Resize offset y" msgstr "オフセットのy座標をサイズ変更" -#: src/object/tilemap.cpp:232 src/supertux/menu/editor_sector_menu.cpp:39 -#: src/editor/object_option.cpp:173 +#: src/object/tilemap.cpp:270 src/supertux/menu/editor_sector_menu.cpp:41 +#: src/editor/object_option.cpp:178 msgid "Width" msgstr "幅" -#: src/object/tilemap.cpp:233 src/supertux/menu/editor_sector_menu.cpp:40 -#: src/editor/object_option.cpp:174 +#: src/object/tilemap.cpp:271 src/supertux/menu/editor_sector_menu.cpp:42 +#: src/editor/object_option.cpp:179 msgid "Height" msgstr "高さ" -#: src/object/tilemap.cpp:235 +#: src/object/tilemap.cpp:273 msgid "Alpha" msgstr "アルファ値" -#: src/object/tilemap.cpp:236 +#: src/object/tilemap.cpp:274 msgid "Speed x" msgstr "x軸のスピード" -#: src/object/tilemap.cpp:237 +#: src/object/tilemap.cpp:275 msgid "Speed y" msgstr "y軸のスピード" -#: src/object/tilemap.cpp:238 +#: src/object/tilemap.cpp:276 msgid "Tint" msgstr "色合い" -#: src/object/tilemap.cpp:257 src/supertux/menu/editor_tilegroup_menu.cpp:26 -#: src/editor/toolbox_widget.cpp:90 +#: src/object/tilemap.cpp:296 src/supertux/menu/editor_tilegroup_menu.cpp:26 +#: src/editor/toolbox_widget.cpp:98 msgid "Tiles" msgstr "タイル" -#: src/object/gradient.cpp:128 -msgid "Left Colour" -msgstr "左の色" - -#: src/object/gradient.cpp:129 -msgid "Right Colour" -msgstr "右の色" - -#: src/object/gradient.cpp:131 -msgid "Top Colour" -msgstr "上部の色" +#: src/object/gradient.cpp:98 +msgid "Primary Colour" +msgstr "" -#: src/object/gradient.cpp:132 -msgid "Bottom Colour" -msgstr "下部の色" +#: src/object/gradient.cpp:99 +msgid "Secondary Colour" +msgstr "" -#: src/object/gradient.cpp:138 +#: src/object/gradient.cpp:104 msgid "Vertical" msgstr "縦" -#: src/object/gradient.cpp:138 +#: src/object/gradient.cpp:104 msgid "Horizontal" msgstr "横" -#: src/object/gradient.cpp:138 +#: src/object/gradient.cpp:104 msgid "Vertical (whole sector)" msgstr "縦 (セクター全体)" -#: src/object/gradient.cpp:138 +#: src/object/gradient.cpp:104 msgid "Horizontal (whole sector)" msgstr "横 (セクター全体)" -#: src/object/gradient.cpp:148 +#: src/object/gradient.cpp:114 msgid "Blend mode" msgstr "混色モード" -#: src/object/gradient.cpp:149 +#: src/object/gradient.cpp:115 msgid "Blend" msgstr "混色" -#: src/object/gradient.cpp:149 +#: src/object/gradient.cpp:115 msgid "Additive" msgstr "加算" -#: src/object/gradient.cpp:149 +#: src/object/gradient.cpp:115 msgid "Modulate" msgstr "乗算" -#: src/object/bumper.hpp:35 +#: src/object/bumper.hpp:38 msgid "Bumper" msgstr "バンパー" -#: src/object/unstable_tile.hpp:37 +#: src/object/conveyor_belt.cpp:63 +msgid "Length" +msgstr "長さ" + +#: src/object/moving_sprite.cpp:192 src/object/pneumatic_platform.cpp:161 +msgid "Sprite" +msgstr "スプライト" + +#: src/object/unstable_tile.hpp:42 msgid "Unstable Tile" msgstr "不安定なタイル" -#: src/object/brick.hpp:31 -msgid "Brick" -msgstr "レンガ" +#: src/object/brick.hpp:70 +msgid "Heavy Brick" +msgstr "" -#: src/object/invisible_wall.hpp:34 +#: src/object/invisible_wall.hpp:37 msgid "Invisible Wall" msgstr "見えない壁" -#: src/object/spotlight.hpp:51 +#: src/object/spotlight.hpp:52 msgid "Spotlight" msgstr "スポットライト" -#: src/object/scripted_object.hpp:39 +#: src/object/scripted_object.hpp:40 msgid "Scripted Object" msgstr "スクリプトがあるオブジェクト" -#: src/object/custom_particle_system_file.hpp:39 +#: src/object/custom_particle_system_file.hpp:40 msgid "Custom Particles from file" msgstr "ファイルからのカスタム パーティクル" -#: src/object/coin.hpp:78 +#: src/object/coin.hpp:97 msgid "Heavy Coin" msgstr "重いコイン" -#: src/object/bonus_block.hpp:56 +#: src/object/explosion.hpp:35 +msgid "Explosion" +msgstr "" + +#: src/object/bonus_block.hpp:62 msgid "Bonus Block" msgstr "ボーナスブロック" -#: src/object/magicblock.hpp:41 +#: src/object/magicblock.hpp:42 msgid "Magic Tile" msgstr "マジックタイル" -#: src/object/camera.hpp:67 +#: src/object/camera.hpp:61 msgid "Camera" msgstr "カメラ" -#: src/object/textscroller.hpp:44 +#: src/object/textscroller.hpp:45 msgid "Text Scroller" msgstr "テキストスクローラー" -#: src/gui/menu_badguy_select.cpp:94 -msgid "List of enemies" -msgstr "敵のリスト" +#: src/gui/notification.cpp:57 +msgid "Click for more details." +msgstr "詳細はこちらをクリックしてください。" + +#: src/gui/notification.cpp:150 +msgid "Do not show again" +msgstr "今後表示しない" + +#: src/gui/notification.cpp:157 src/supertux/menu/download_dialog.cpp:124 +msgid "Close" +msgstr "閉じる" + +#: src/gui/menu_string_array.cpp:40 src/gui/menu_string_array.cpp:78 +#, c++-format +msgid "Selected item: {}" +msgstr "" -#: src/gui/menu_badguy_select.cpp:96 -msgid "Select enemy" -msgstr "敵を選択" +#: src/gui/menu_string_array.cpp:70 +msgid "Edit string array" +msgstr "" -#: src/gui/menu_badguy_select.cpp:97 +#: src/gui/menu_string_array.cpp:79 src/gui/menu_object_select.cpp:50 +#: src/supertux/menu/profile_menu.cpp:88 msgid "Add" msgstr "追加" -#: src/gui/menu_badguy_select.cpp:107 src/gui/menu_color.cpp:37 -#: src/gui/dialog.hpp:81 src/gui/menu_script.cpp:47 -#: src/supertux/menu/editor_sector_menu.cpp:46 -#: src/supertux/menu/editor_levelset_menu.cpp:62 -#: src/supertux/menu/addon_menu.cpp:349 -#: src/supertux/menu/editor_new_levelset_menu.cpp:37 -#: src/supertux/menu/editor_level_menu.cpp:45 src/editor/object_menu.cpp:43 -msgid "OK" -msgstr "OK" +#: src/gui/menu_string_array.cpp:80 +msgid "Insert" +msgstr "挿入" -#: src/gui/menu_badguy_select.cpp:136 -msgid "Do you want to delete this badguy from the list?" -msgstr "リストから敵を削除しますか?" +#: src/gui/menu_string_array.cpp:81 +#: src/supertux/menu/addon_preview_menu.cpp:177 src/editor/object_menu.cpp:61 +msgid "Update" +msgstr "更新" -#: src/gui/menu_badguy_select.cpp:137 src/gui/dialog.hpp:90 -#: src/supertux/menu/editor_level_select_menu.cpp:164 -#: src/supertux/menu/editor_menu.cpp:164 src/editor/editor.cpp:583 -msgid "Yes" -msgstr "はい" +#: src/gui/menu_string_array.cpp:82 src/supertux/menu/profile_menu.cpp:108 +#: src/supertux/menu/profile_menu.cpp:110 +msgid "Delete" +msgstr "削除" -#: src/gui/menu_badguy_select.cpp:140 src/gui/dialog.hpp:91 -#: src/supertux/menu/editor_level_select_menu.cpp:168 -#: src/supertux/menu/editor_menu.cpp:167 src/editor/particle_editor.cpp:780 -#: src/editor/editor.cpp:590 -msgid "No" -msgstr "いいえ" +#: src/gui/menu_string_array.cpp:84 src/gui/menu_object_select.cpp:61 +#: src/gui/menu_color.cpp:37 src/gui/dialog.hpp:87 src/gui/menu_script.cpp:46 +#: src/supertux/menu/editor_sector_menu.cpp:48 +#: src/supertux/menu/editor_levelset_menu.cpp:58 +#: src/supertux/menu/editor_new_levelset_menu.cpp:37 +#: src/supertux/menu/editor_level_menu.cpp:45 src/editor/object_menu.cpp:71 +msgid "OK" +msgstr "OK" + +#: src/gui/menu_object_select.cpp:46 +msgid "List of objects" +msgstr "" + +#: src/gui/menu_object_select.cpp:48 +#, c++-format +msgid "Select object ({})" +msgstr "オブジェクトを選択 ({})" + +#: src/gui/menu_object_select.cpp:114 +msgid "Are you sure you want to remove this object from the list?" +msgstr "リストからこのオブジェクトを削除してもよろしいですか?" #: src/gui/menu_color.cpp:24 msgid "Mix the colour" msgstr "混色" -#: src/gui/menu_filesystem.cpp:112 src/gui/menu_paths.cpp:44 -#: src/supertux/menu/particle_editor_save_as.cpp:42 +#: src/gui/dialog.hpp:96 src/supertux/menu/editor_level_select_menu.cpp:181 +#: src/editor/editor.cpp:663 +msgid "Yes" +msgstr "はい" + +#: src/gui/dialog.hpp:97 src/supertux/menu/editor_level_select_menu.cpp:185 +#: src/editor/particle_editor.cpp:781 src/editor/editor.cpp:670 +msgid "No" +msgstr "いいえ" + +#: src/gui/menu_list.cpp:38 src/gui/menu_filesystem.cpp:120 +#: src/gui/menu_paths.cpp:48 src/supertux/menu/particle_editor_save_as.cpp:42 #: src/supertux/menu/editor_sectors_menu.cpp:45 -#: src/supertux/menu/editor_sectors_menu.cpp:95 -#: src/supertux/menu/editor_sectors_menu.cpp:100 +#: src/supertux/menu/editor_sectors_menu.cpp:94 +#: src/supertux/menu/editor_sectors_menu.cpp:99 #: src/supertux/menu/editor_objectgroup_menu.cpp:42 #: src/supertux/menu/editor_tilegroup_menu.cpp:36 -#: src/supertux/menu/editor_level_select_menu.cpp:173 +#: src/supertux/menu/editor_level_select_menu.cpp:190 #: src/supertux/menu/editor_save_as.cpp:42 #: src/supertux/menu/particle_editor_open.cpp:43 -#: src/editor/particle_editor.cpp:784 src/editor/editor.cpp:594 +#: src/editor/particle_editor.cpp:785 src/editor/editor.cpp:674 msgid "Cancel" msgstr "キャンセル" +#: src/gui/menu_filesystem.cpp:118 +msgid "Open Directory" +msgstr "ディレクトリを開く" + #: src/gui/menu_script.cpp:28 msgid "Edit script" msgstr "スクリプトを編集" -#: src/gui/menu_paths.cpp:30 +#: src/gui/menu_paths.cpp:32 msgid "Clone" msgstr "クローン" -#: src/gui/menu_paths.cpp:38 +#: src/gui/menu_paths.cpp:41 msgid "" -"An error occured and the game could\n" +"An error occurred and the game could\n" "not clone the path. Please contact\n" "the developers for support." -msgstr "エラーが発生し、ゲームが中断される可能性があります\nパスをクローンしないでください。お問い合わせください\n開発者にサポートを求めます。" +msgstr "" -#: src/gui/menu_paths.cpp:41 +#: src/gui/menu_paths.cpp:44 msgid "Bind" msgstr "練る" -#: src/gui/menu_paths.cpp:63 src/supertux/menu/integrations_menu.cpp:60 -#: src/supertux/menu/contrib_menu.cpp:161 src/supertux/menu/debug_menu.cpp:75 -#: src/supertux/menu/editor_level_select_menu.cpp:88 -#: src/supertux/menu/worldmap_cheat_menu.cpp:55 -#: src/supertux/menu/worldmap_cheat_menu.cpp:153 +#: src/gui/menu_paths.cpp:49 +msgid "" +"Do you wish to clone the path to edit it separately,\n" +"or do you want to bind both paths together\n" +"so that any edit on one edits the other?" +msgstr "" + +#: src/gui/menu_paths.cpp:56 +#, c++-format +msgid "Path {}" +msgstr "" + +#: src/gui/menu_paths.cpp:67 src/supertux/menu/integrations_menu.cpp:60 +#: src/supertux/menu/editor_converters_menu.cpp:79 +#: src/supertux/menu/video_system_menu.cpp:45 +#: src/supertux/menu/contrib_menu.cpp:102 src/supertux/menu/debug_menu.cpp:77 +#: src/supertux/menu/multiplayer_menu.cpp:39 +#: src/supertux/menu/custom_menu_menu.cpp:65 +#: src/supertux/menu/editor_level_select_menu.cpp:98 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:63 +#: src/supertux/menu/worldmap_cheat_menu.cpp:57 +#: src/supertux/menu/worldmap_cheat_menu.cpp:196 #: src/supertux/menu/editor_levelset_select_menu.cpp:114 -#: src/supertux/menu/options_menu.cpp:442 -#: src/supertux/menu/profile_menu.cpp:54 src/supertux/menu/addon_menu.cpp:213 +#: src/supertux/menu/options_menu.cpp:223 +#: src/supertux/menu/editor_delete_levelset_menu.cpp:69 +#: src/supertux/menu/addon_preview_menu.cpp:193 +#: src/supertux/menu/profile_menu.cpp:118 +#: src/supertux/menu/multiplayer_players_menu.cpp:91 +#: src/supertux/menu/addon_menu.cpp:153 #: src/supertux/menu/editor_new_levelset_menu.cpp:40 +#: src/supertux/menu/options_select_menu.cpp:44 #: src/supertux/menu/world_set_menu.cpp:33 +#: src/supertux/menu/addon_browse_menu.cpp:162 #: src/supertux/menu/web_asset_menu.cpp:48 -#: src/supertux/menu/keyboard_menu.cpp:49 -#: src/supertux/menu/language_menu.cpp:56 -#: src/supertux/menu/joystick_menu.cpp:97 +#: src/supertux/menu/profile_name_menu.cpp:45 +#: src/supertux/menu/keyboard_menu.cpp:71 +#: src/supertux/menu/sorted_contrib_menu.cpp:51 +#: src/supertux/menu/language_menu.cpp:63 +#: src/supertux/menu/joystick_menu.cpp:99 #: src/supertux/menu/contrib_levelset_menu.cpp:67 -#: src/supertux/menu/cheat_menu.cpp:44 -#: src/supertux/menu/editor_delete_level_menu.cpp:43 +#: src/supertux/menu/cheat_menu.cpp:58 +#: src/supertux/menu/addon_file_install_menu.cpp:36 +#: src/supertux/menu/cheat_apply_menu.cpp:43 +#: src/supertux/menu/cheat_apply_menu.cpp:63 +#: src/supertux/menu/multiplayer_player_menu.cpp:205 +#: src/supertux/menu/editor_delete_level_menu.cpp:68 msgid "Back" msgstr "戻る" -#: src/badguy/toad.hpp:37 +#: src/addon/addon_manager.cpp:562 +msgid "Only one resource pack is allowed to be enabled at a time." +msgstr "同時に有効にできるリソースパックは1つのみです。" + +#: src/addon/addon_manager.cpp:837 +#, c++-format +msgid "Add-on {} by {} is already installed." +msgstr "アドオン {} (作者: {}) はすでにインストール済みです。" + +#: src/addon/addon_manager.cpp:857 +#, c++-format +msgid "Add-on {} by {} successfully installed." +msgstr "アドオン {} (作者: {}) のインストールに成功しました。" + +#: src/addon/addon.cpp:71 src/supertux/menu/editor_levelset_menu.cpp:54 +msgid "Levelset" +msgstr "レベル集" + +#: src/addon/addon.cpp:74 src/supertux/menu/editor_levelset_menu.cpp:54 +#: data//images/engine/editor/objects.stoi:389 +msgid "Worldmap" +msgstr "ワールドマップ" + +#: src/addon/addon.cpp:77 +msgid "World" +msgstr "ワールド" + +#: src/addon/addon.cpp:80 +msgid "Add-on" +msgstr "アドオン" + +#: src/addon/addon.cpp:83 +msgid "Language Pack" +msgstr "言語パック" + +#: src/addon/addon.cpp:86 +msgid "Resource Pack" +msgstr "リソースパック" + +#: src/addon/addon.cpp:89 +msgid "Unknown" +msgstr "不明" + +#: src/addon/addon.cpp:100 +#, c++-format +msgid "{} \"{}\" by \"{}\"" +msgstr "{} \"{}\" (作者: \"{}\")" + +#: src/addon/addon.cpp:114 +msgid "add-on" +msgstr "アドオン" + +#: src/addon/addon.cpp:114 +msgid "add-ons" +msgstr "アドオン" + +#: src/badguy/toad.hpp:38 msgid "Toad" msgstr "カエル" -#: src/badguy/mrtree.hpp:29 -msgid "Walking Tree" -msgstr "歩く木" +#: src/badguy/mrtree.hpp:32 +msgid "Mr. Tree" +msgstr "Mr.ツリー" -#: src/badguy/plant.hpp:33 +#: src/badguy/plant.hpp:34 msgid "Plant" msgstr "植物" -#: src/badguy/crystallo.hpp:30 +#: src/badguy/tarantula.hpp:39 src/badguy/tarantula.cpp:353 +msgid "Tarantula" +msgstr "" + +#: src/badguy/granito_giant.cpp:71 +msgid "Awake" +msgstr "" + +#: src/badguy/granito_giant.cpp:72 +msgid "Sleeping" +msgstr "" + +#: src/badguy/granito_giant.cpp:73 +msgid "Corrupted A" +msgstr "" + +#: src/badguy/granito_giant.cpp:74 +msgid "Corrupted B" +msgstr "" + +#: src/badguy/granito_giant.cpp:75 +msgid "Corrupted C" +msgstr "" + +#: src/badguy/crystallo.hpp:33 msgid "Crystallo" msgstr "結晶" -#: src/badguy/totem.hpp:36 +#: src/badguy/viciousivy.cpp:45 src/badguy/snail.cpp:70 +#: src/badguy/kamikazesnowball.cpp:118 src/badguy/walkingleaf.cpp:36 +#: src/badguy/jumpy.cpp:46 src/badguy/igel.cpp:189 src/badguy/mrtree.cpp:51 +msgid "Corrupted" +msgstr "" + +#: src/badguy/totem.hpp:37 msgid "Totem" msgstr "トーテム" -#: src/badguy/stalactite.hpp:38 +#: src/badguy/stalactite.hpp:42 msgid "Stalactite" msgstr "鍾乳石" -#: src/badguy/haywire.hpp:45 +#: src/badguy/fish_chasing.cpp:198 +msgid "Tracking Distance" +msgstr "" + +#: src/badguy/fish_chasing.cpp:199 +msgid "Losing Distance" +msgstr "" + +#: src/badguy/fish_chasing.cpp:200 +msgid "Chase Speed" +msgstr "" + +#: src/badguy/root_sapling.hpp:41 +msgid "Root Sapling" +msgstr "" + +#: src/badguy/haywire.hpp:46 msgid "Haywire" msgstr "ヘイワイヤー" -#: src/badguy/dispenser.hpp:48 +#: src/badguy/dispenser.hpp:52 msgid "Dispenser" msgstr "ディスペンサー" -#: src/badguy/short_fuse.hpp:29 +#: src/badguy/short_fuse.hpp:30 msgid "Short Fuse" msgstr "ショートヒューズ" -#: src/badguy/zeekling.hpp:36 +#: src/badguy/zeekling.hpp:39 msgid "Zeekling" msgstr "ドラゴン" -#: src/badguy/mriceblock.hpp:46 -msgid "Iceblock" -msgstr "氷のブロック" +#: src/badguy/smartball.cpp:35 +msgid "Pumpkin" +msgstr "" + +#: src/badguy/bouncing_snowball.cpp:82 +msgid "Fatbat" +msgstr "" + +#: src/badguy/dive_mine.hpp:50 +msgid "Dive Mine" +msgstr "" + +#: src/badguy/granito_big.hpp:33 +msgid "Big Granito" +msgstr "" + +#: src/badguy/mriceblock.hpp:49 +msgid "Mr. Iceblock" +msgstr "" + +#: src/badguy/granito.hpp:39 src/badguy/darttrap.cpp:163 +#: src/badguy/corrupted_granito.cpp:175 src/badguy/dispenser.cpp:438 +msgid "Granito" +msgstr "" + +#: src/badguy/fish_swimming.cpp:54 src/badguy/jumpy.cpp:44 +#: data//images/ice_world.strf:10 data//images/tiles.strf:28 +#: data//images/worldmap.strf:41 +msgid "Snow" +msgstr "雪" + +#: src/badguy/fish_swimming.cpp:55 data//images/ice_world.strf:211 +#: data//images/tiles.strf:366 data//images/worldmap.strf:67 +msgid "Forest" +msgstr "森" + +#: src/badguy/crusher.hpp:71 +msgid "Crusher" +msgstr "" + +#: src/badguy/flame.cpp:84 +msgid "Fire" +msgstr "火" + +#: src/badguy/flame.cpp:85 +msgid "Ghost" +msgstr "幽霊" + +#: src/badguy/corrupted_granito_big.hpp:35 +msgid "Corrupted Big Granito" +msgstr "" -#: src/badguy/scrystallo.cpp:52 +#: src/badguy/scrystallo.cpp:57 msgid "Walk Radius" msgstr "粒子を消去する" -#: src/badguy/scrystallo.cpp:53 +#: src/badguy/scrystallo.cpp:58 msgid "Awakening Radius" msgstr "覚醒半径" -#: src/badguy/jumpy.hpp:36 +#: src/badguy/scrystallo.cpp:59 +msgid "Roof-attached" +msgstr "" + +#: src/badguy/jumpy.hpp:40 msgid "Jumpy" msgstr "ジャンピー" -#: src/badguy/captainsnowball.hpp:31 +#: src/badguy/captainsnowball.hpp:32 msgid "Captain Snowball" msgstr "キャプテンスノーボール" -#: src/badguy/ghosttree.hpp:42 +#: src/badguy/ghosttree.hpp:43 msgid "Ghost Tree" msgstr "幽霊の木" -#: src/badguy/willowisp.cpp:323 +#: src/badguy/willowisp.cpp:314 msgid "Track range" msgstr "トラックの範囲" -#: src/badguy/willowisp.cpp:324 +#: src/badguy/willowisp.cpp:315 msgid "Vanish range" msgstr "消える範囲" -#: src/badguy/willowisp.cpp:325 +#: src/badguy/willowisp.cpp:316 msgid "Fly speed" msgstr "飛行スピード" -#: src/badguy/kugelblitz.hpp:39 +#: src/badguy/kugelblitz.hpp:40 msgid "Kugelblitz" msgstr "クーゲルブリッツ" -#: src/badguy/mole_rock.hpp:43 +#: src/badguy/mole_rock.hpp:44 msgid "Mole's rock" msgstr "モグラの岩" -#: src/badguy/badguy.cpp:849 +#: src/badguy/badguy.cpp:1064 msgid "Death script" msgstr "デス スクリプト" -#: src/badguy/sspiky.hpp:36 +#: src/badguy/sspiky.hpp:37 msgid "Sleeping Spiky" msgstr "眠っているスパイキー" -#: src/badguy/yeti_stalactite.hpp:33 +#: src/badguy/yeti_stalactite.hpp:34 msgid "Yeti's Stalactite" msgstr "Yetiの鍾乳石" -#: src/badguy/livefire.hpp:37 +#: src/badguy/fish_harmless.hpp:30 +msgid "Harmless Fish" +msgstr "" + +#: src/badguy/livefire.hpp:38 msgid "Walking Flame" msgstr "歩く炎" -#: src/badguy/livefire.hpp:68 +#: src/badguy/livefire.hpp:71 msgid "Sleeping Flame" msgstr "眠っている炎" -#: src/badguy/livefire.hpp:84 +#: src/badguy/livefire.hpp:89 msgid "Dormant Flame" msgstr "休眠中の火" -#: src/badguy/owl.hpp:39 +#: src/badguy/owl.hpp:45 msgid "Owl" msgstr "フクロウ" -#: src/badguy/igel.hpp:34 +#: src/badguy/igel.hpp:38 msgid "Igel" msgstr "ハリネズミ" -#: src/badguy/darttrap.cpp:126 +#: src/badguy/darttrap.cpp:148 msgid "Initial delay" msgstr "初期遅延" -#: src/badguy/darttrap.cpp:128 +#: src/badguy/darttrap.cpp:150 msgid "Fire delay" msgstr "火の遅れ" -#: src/badguy/darttrap.cpp:129 +#: src/badguy/darttrap.cpp:151 msgid "Ammo" msgstr "弾薬" -#: src/badguy/snowball.hpp:29 -msgid "Snowball" -msgstr "雪玉" +#: src/badguy/darttrap.cpp:152 +msgid "Dart sprite" +msgstr "" + +#: src/badguy/darttrap.cpp:164 +msgid "Skull" +msgstr "" + +#: src/badguy/snowball.hpp:30 +msgid "Mr. Snowball" +msgstr "" -#: src/badguy/smartblock.hpp:29 -msgid "Smartblock" -msgstr "スマートブロック" +#: src/badguy/smartblock.hpp:30 +msgid "Mrs. Iceblock" +msgstr "" -#: src/badguy/yeti.cpp:369 +#: src/badguy/yeti.cpp:370 msgid "Fixed position" msgstr "固定位置" -#: src/badguy/yeti.cpp:370 +#: src/badguy/yeti.cpp:371 msgid "Lives" msgstr "ライフ" -#: src/badguy/goldbomb.hpp:49 +#: src/badguy/goldbomb.hpp:50 msgid "Gold Bomb" msgstr "金の爆弾" -#: src/badguy/flyingsnowball.hpp:32 +#: src/badguy/corrupted_granito.hpp:44 +msgid "Corrupted Granito" +msgstr "" + +#: src/badguy/mrbomb.cpp:48 +msgid "Classic" +msgstr "" + +#: src/badguy/flyingsnowball.hpp:33 msgid "Flying Snowball" msgstr "飛ぶ雪玉" -#: src/badguy/skullyhop.hpp:37 -msgid "Skullyhop" -msgstr "プ飛ぶドクロ" +#: src/badguy/crusher.cpp:75 +msgid "Ice (normal)" +msgstr "" + +#: src/badguy/crusher.cpp:76 +msgid "Ice (big)" +msgstr "" + +#: src/badguy/crusher.cpp:77 +msgid "Rock (normal)" +msgstr "" -#: src/badguy/kamikazesnowball.hpp:32 -msgid "Snowshot" -msgstr "スノーショット" +#: src/badguy/crusher.cpp:78 +msgid "Rock (big)" +msgstr "" + +#: src/badguy/crusher.cpp:79 +msgid "Corrupted (normal)" +msgstr "" + +#: src/badguy/crusher.cpp:80 +msgid "Corrupted (big)" +msgstr "" + +#: src/badguy/crusher.cpp:492 +msgid "Sideways" +msgstr "横向き" -#: src/badguy/kamikazesnowball.hpp:52 +#: src/badguy/kamikazesnowball.hpp:34 +msgid "Kamikaze Snowball" +msgstr "" + +#: src/badguy/kamikazesnowball.hpp:64 msgid "Leafshot" msgstr "リーフショット" -#: src/badguy/flame.hpp:41 +#: src/badguy/fish_swimming.hpp:40 +msgid "Swimming Fish" +msgstr "" + +#: src/badguy/flame.hpp:47 msgid "Flame" msgstr "玉" -#: src/badguy/scrystallo.hpp:30 +#: src/badguy/scrystallo.hpp:31 msgid "Sleeping Crystallo" msgstr "スリーピングクリスタロ" -#: src/badguy/poisonivy.hpp:30 -msgid "Spring Leaf" -msgstr "春の葉" +#: src/badguy/jumpy.cpp:45 +msgid "Wooden" +msgstr "" + +#: src/badguy/jumpy.cpp:47 +msgid "Metal" +msgstr "" + +#: src/badguy/jumpy.cpp:48 +msgid "Bag" +msgstr "" #: src/badguy/willowisp.hpp:57 msgid "Will o' Wisp" msgstr "ウィルオーウィスプ" -#: src/badguy/badguy.hpp:53 +#: src/badguy/fish_jumping.hpp:41 +msgid "Jumping Fish" +msgstr "" + +#: src/badguy/badguy.hpp:61 msgid "Badguy" msgstr "敵" -#: src/badguy/ghostflame.hpp:30 -msgid "Ghost Flame" -msgstr "幽霊玉" - -#: src/badguy/rcrystallo.hpp:30 +#: src/badguy/rcrystallo.hpp:33 msgid "Roof Crystallo" msgstr "ルーフクリスタロ" -#: src/badguy/spiky.hpp:30 +#: src/badguy/spiky.hpp:31 msgid "Spiky" msgstr "スパイキー" -#: src/badguy/walkingleaf.hpp:30 -msgid "Autumn Leaf" -msgstr "秋の葉" +#: src/badguy/walkingleaf.hpp:33 +msgid "Walking Leaf" +msgstr "" + +#: src/badguy/root.hpp:39 +msgid "Root" +msgstr "" -#: src/badguy/owl.cpp:227 +#: src/badguy/owl.cpp:241 msgid "Carry" msgstr "運ぶ" -#: src/badguy/darttrap.hpp:33 +#: src/badguy/darttrap.hpp:35 msgid "Dart Trap" msgstr "未舗装のトラップ" -#: src/badguy/skydive.hpp:38 +#: src/badguy/skydive.hpp:43 msgid "Skydive" msgstr "スカイダイビング" -#: src/badguy/yeti.hpp:37 +#: src/badguy/yeti.hpp:38 msgid "Yeti" msgstr "Yeti" -#: src/badguy/mole.hpp:39 +#: src/badguy/snowball.cpp:41 +msgid "Bumpkin" +msgstr "" + +#: src/badguy/snowball.cpp:42 +msgid "BSOD" +msgstr "" + +#: src/badguy/mole.hpp:38 msgid "Mole" msgstr "モグラ" -#: src/badguy/mrbomb.hpp:42 -msgid "Bomb" -msgstr "爆弾" +#: src/badguy/corrupted_granito.cpp:176 +msgid "Skullyhop" +msgstr "プ飛ぶドクロ" + +#: src/badguy/mrbomb.hpp:40 +msgid "Mr. Bomb" +msgstr "Mr.ボム" -#: src/badguy/walking_candle.hpp:40 +#: src/badguy/walking_candle.hpp:41 msgid "Walking Candle" msgstr "歩くろうそく" -#: src/badguy/angrystone.hpp:34 +#: src/badguy/angrystone.hpp:39 msgid "Angry Stone" msgstr "怒ってる石" -#: src/badguy/spidermite.hpp:35 -msgid "Spider" -msgstr "蜘蛛" +#: src/badguy/tarantula.cpp:354 +msgid "Spidermite" +msgstr "" + +#: src/badguy/tarantula.cpp:374 +msgid "Static" +msgstr "" #: src/badguy/ghoul.hpp:30 msgid "Ghoul" msgstr "グール" -#: src/badguy/snowman.hpp:28 +#: src/badguy/granito_giant.hpp:32 +msgid "Giant Granito" +msgstr "" + +#: src/badguy/snowman.hpp:29 msgid "Snowman" msgstr "雪だるま" -#: src/badguy/stumpy.hpp:35 -msgid "Walking Stump" -msgstr "歩く切り株" +#: src/badguy/viciousivy.hpp:33 +msgid "Vicious Ivy" +msgstr "" + +#: src/badguy/stalactite.cpp:156 +msgid "ice" +msgstr "" + +#: src/badguy/stalactite.cpp:157 +msgid "rock" +msgstr "" + +#: src/badguy/fish_chasing.hpp:33 +msgid "Chasing Fish" +msgstr "" -#: src/badguy/fish.hpp:40 -msgid "Fish" -msgstr "魚" +#: src/badguy/stumpy.hpp:38 +msgid "Stumpy" +msgstr "切り株" -#: src/badguy/dispenser.cpp:445 +#: src/badguy/dispenser.cpp:412 msgid "Interval (seconds)" msgstr "間隔 (秒)" -#: src/badguy/dispenser.cpp:446 +#: src/badguy/dispenser.cpp:413 msgid "Random" msgstr "ランダム" -#: src/badguy/dispenser.cpp:447 data//images/engine/editor/objects.stoi:4 -msgid "Enemies" -msgstr "敵" +#: src/badguy/dispenser.cpp:416 +#: src/supertux/menu/editor_objectgroup_menu.cpp:30 +#: src/editor/toolbox_widget.cpp:101 +msgid "Objects" +msgstr "オブジェクト" -#: src/badguy/dispenser.cpp:448 +#: src/badguy/dispenser.cpp:419 msgid "Limit dispensed badguys" msgstr "分配される敵を制限" -#: src/badguy/dispenser.cpp:450 +#: src/badguy/dispenser.cpp:421 msgid "Obey Gravity" msgstr "重力に従う" -#: src/badguy/dispenser.cpp:452 +#: src/badguy/dispenser.cpp:423 msgid "Max concurrent badguys" msgstr "同時に出てくる敵の最大数" -#: src/badguy/dispenser.cpp:454 src/supertux/menu/editor_levelset_menu.cpp:60 -msgid "Type" -msgstr "種類" - -#: src/badguy/dispenser.cpp:455 -msgid "dropper" -msgstr "スポイト" - -#: src/badguy/dispenser.cpp:455 -msgid "rocket launcher" -msgstr "ロケットランチャー" +#: src/badguy/dispenser.cpp:435 +msgid "Dropper" +msgstr "" -#: src/badguy/dispenser.cpp:455 -msgid "cannon" -msgstr "大砲" +#: src/badguy/dispenser.cpp:436 +msgid "Cannon" +msgstr "" -#: src/badguy/dispenser.cpp:455 -msgid "invisible" +#: src/badguy/dispenser.cpp:437 src/worldmap/special_tile.cpp:77 +msgid "Invisible" msgstr "非表示" -#: src/badguy/snail.hpp:42 +#: src/badguy/snail.hpp:43 msgid "Snail" msgstr "カタツムリ" -#: src/badguy/smartball.hpp:31 -msgid "Smartball" -msgstr "賢い玉" +#: src/badguy/smartball.hpp:32 +msgid "Mrs. Snowball" +msgstr "" -#: src/badguy/bouncing_snowball.hpp:32 +#: src/badguy/bouncing_snowball.hpp:39 msgid "Bouncing Snowball" msgstr "ボーナス スノーボール" -#: src/badguy/iceflame.hpp:33 -msgid "Ice Flame" -msgstr "氷の炎" +#: src/badguy/granito_big.cpp:52 src/badguy/granito.cpp:263 +msgid "Default" +msgstr "" + +#: src/badguy/granito_big.cpp:53 src/badguy/granito.cpp:264 +msgid "Standing" +msgstr "" + +#: src/badguy/granito_big.cpp:54 src/badguy/granito.cpp:265 +msgid "Walking" +msgstr "" + +#: src/badguy/mriceblock.cpp:63 +msgid "Laptop" +msgstr "" -#: src/badguy/dart.hpp:43 +#: src/badguy/dart.hpp:44 msgid "Dart" msgstr "ダーツ" +#: src/badguy/granito.cpp:268 +msgid "Sitting" +msgstr "" + #: src/supertux/statistics.cpp:54 msgid "Max coins collected:" msgstr "最も多く集めたコインの数:" @@ -1742,7 +2298,7 @@ msgstr "ゴールまでの最短時間:" msgid "Level target time:" msgstr "レベルの目標時間:" -#: src/supertux/statistics.cpp:149 src/supertux/levelintro.cpp:160 +#: src/supertux/statistics.cpp:149 src/supertux/levelintro.cpp:175 msgid "Best Level Statistics" msgstr "レベルの記録" @@ -1754,7 +2310,7 @@ msgstr "今回" msgid "Best" msgstr "ベスト" -#: src/supertux/statistics.cpp:242 src/supertux/levelintro.cpp:166 +#: src/supertux/statistics.cpp:242 src/supertux/levelintro.cpp:181 msgid "Coins" msgstr "集めたコインの数" @@ -1762,201 +2318,198 @@ msgstr "集めたコインの数" msgid "Badguys" msgstr "たおした敵の数" -#: src/supertux/statistics.cpp:281 src/supertux/levelintro.cpp:172 +#: src/supertux/statistics.cpp:281 src/supertux/levelintro.cpp:187 msgid "Secrets" msgstr "見つけた秘密の場所の数" -#: src/supertux/game_object.hpp:78 +#: src/supertux/game_object.hpp:88 msgid "Unknown object" msgstr "不明なオブジェクト" -#: src/supertux/sector.cpp:414 +#: src/supertux/sector.cpp:507 msgid "Press escape to skip" msgstr "スキップするにはエスケープキーを押してください" -#: src/supertux/command_line_arguments.cpp:94 -#, c-format +#: src/supertux/command_line_arguments.cpp:92 +#, c++-format msgid "Usage: {} [OPTIONS] [LEVELFILE]" msgstr "使用法: {} [OPTIONS] [LEVELFILE]" -#: src/supertux/command_line_arguments.cpp:95 +#: src/supertux/command_line_arguments.cpp:93 msgid "General Options:" msgstr "全般的なオプション:" -#: src/supertux/command_line_arguments.cpp:96 +#: src/supertux/command_line_arguments.cpp:94 msgid " -h, --help Show this help message and quit" -msgstr " -h, --help このヘルプメッセージを表示して終了します" +msgstr " -h, --help このヘルプメッセージを表示して終了する" -#: src/supertux/command_line_arguments.cpp:97 +#: src/supertux/command_line_arguments.cpp:95 msgid " -v, --version Show SuperTux version and quit" -msgstr " -v, --version SuperTuxのバージョンを表示して終了します" +msgstr " -v, --version SuperTux のバージョンを表示して終了する" -#: src/supertux/command_line_arguments.cpp:98 +#: src/supertux/command_line_arguments.cpp:96 msgid " --verbose Print verbose messages" -msgstr " --verbose 詳細なメッセージを出力します" +msgstr " --verbose 詳細なメッセージを出力する" -#: src/supertux/command_line_arguments.cpp:99 +#: src/supertux/command_line_arguments.cpp:97 msgid " --debug Print extra verbose messages" -msgstr " --debug 追加の詳細メッセージを出力します" +msgstr " --debug 追加の詳細メッセージを出力する" -#: src/supertux/command_line_arguments.cpp:100 +#: src/supertux/command_line_arguments.cpp:98 msgid "" " --print-datadir Print SuperTux's primary data directory." -msgstr " --print-datadir SuperTux の現在のデータディレクトリを出力します。" +msgstr " --print-datadir SuperTux の現在のデータディレクトリを出力する。" -#: src/supertux/command_line_arguments.cpp:101 +#: src/supertux/command_line_arguments.cpp:99 msgid "" " --acknowledgements Print the licenses of libraries used by " "SuperTux." -msgstr "--acknowledgements SuperTux で使用されるライブラリのライセンスを出力します。" +msgstr " --acknowledgements SuperTux で使用されているライブラリのライセンスを出力する。" -#: src/supertux/command_line_arguments.cpp:103 +#: src/supertux/command_line_arguments.cpp:101 msgid "Video Options:" msgstr "ビデオのオプション:" -#: src/supertux/command_line_arguments.cpp:104 +#: src/supertux/command_line_arguments.cpp:102 msgid " -f, --fullscreen Run in fullscreen mode" -msgstr " -f, --fullscreen 全画面モードで実行します" +msgstr " -f, --fullscreen 全画面モードで実行する" -#: src/supertux/command_line_arguments.cpp:105 +#: src/supertux/command_line_arguments.cpp:103 msgid " -w, --window Run in window mode" -msgstr " -w, --window ウィンドウモードで実行します" +msgstr " -w, --window ウィンドウモードで実行する" -#: src/supertux/command_line_arguments.cpp:106 +#: src/supertux/command_line_arguments.cpp:104 msgid " -g, --geometry WIDTHxHEIGHT Run SuperTux in given resolution" -msgstr " -g, --geometry 幅x高さ 指定された解像度でSuperTuxを実行します" +msgstr " -g, --geometry 幅x高さ 指定された解像度で SuperTux を実行する" -#: src/supertux/command_line_arguments.cpp:107 +#: src/supertux/command_line_arguments.cpp:105 msgid " -a, --aspect WIDTH:HEIGHT Run SuperTux with given aspect ratio" -msgstr " -a, --aspect 幅:高さ 指定されたアスペクト比でSuperTuxを実行します" +msgstr " -a, --aspect 幅:高さ 指定されたアスペクト比で SuperTux を実行する" -#: src/supertux/command_line_arguments.cpp:108 +#: src/supertux/command_line_arguments.cpp:106 msgid " -d, --default Reset video settings to default values" -msgstr " -d, --default ビデオ設定をデフォルト値に戻します" +msgstr " -d, --default ビデオ設定をデフォルトにリセットする" -#: src/supertux/command_line_arguments.cpp:109 +#: src/supertux/command_line_arguments.cpp:107 msgid " --renderer RENDERER Use sdl, opengl, or auto to render" -msgstr " --renderer レンダラー SDLまたは、OpenGLを使用するか、自動的にレンダリングします" +msgstr " --renderer レンダラー \"sdl\"、\"opengl\"、または \"auto\" を指定する" -#: src/supertux/command_line_arguments.cpp:111 +#: src/supertux/command_line_arguments.cpp:109 msgid "Audio Options:" msgstr "オーディオのオプション:" -#: src/supertux/command_line_arguments.cpp:112 +#: src/supertux/command_line_arguments.cpp:110 msgid " --disable-sound Disable sound effects" -msgstr " --disable-sound 効果音を無効にします" +msgstr " --disable-sound 効果音を無効にする" -#: src/supertux/command_line_arguments.cpp:113 +#: src/supertux/command_line_arguments.cpp:111 msgid " --disable-music Disable music" -msgstr " --disable-music BGMを無効にします" +msgstr " --disable-music BGM を無効にする" -#: src/supertux/command_line_arguments.cpp:115 +#: src/supertux/command_line_arguments.cpp:113 msgid "Game Options:" msgstr "ゲームのオプション:" -#: src/supertux/command_line_arguments.cpp:116 +#: src/supertux/command_line_arguments.cpp:114 msgid " --edit-level Open given level in editor" -msgstr " --edit-level 指定されたレベルをエディターで開きます" +msgstr " --edit-level 指定されたレベルをエディターで開く" -#: src/supertux/command_line_arguments.cpp:117 +#: src/supertux/command_line_arguments.cpp:115 msgid " --resave Loads given level and saves it" -msgstr " --再保存 指定されたレベルを読み込んで保存します" +msgstr " --resave 指定されたレベルを読み込んで保存する" -#: src/supertux/command_line_arguments.cpp:118 +#: src/supertux/command_line_arguments.cpp:116 msgid " --show-fps Display framerate in levels" -msgstr " --show-fps レベルにフレームレートを表示します" +msgstr " --show-fps レベルにフレームレートを表示する" -#: src/supertux/command_line_arguments.cpp:119 +#: src/supertux/command_line_arguments.cpp:117 msgid " --no-show-fps Do not display framerate in levels" -msgstr " --no-show-fps レベルにフレームレートを表示しません" +msgstr " --no-show-fps レベルにフレームレートを表示しない" -#: src/supertux/command_line_arguments.cpp:120 +#: src/supertux/command_line_arguments.cpp:118 msgid " --show-pos Display player's current position" -msgstr " --show-pos プレイヤーの現在の位置を表示します" +msgstr " --show-pos プレイヤーの現在の位置を表示する" -#: src/supertux/command_line_arguments.cpp:121 +#: src/supertux/command_line_arguments.cpp:119 msgid " --no-show-pos Do not display player's position" -msgstr " --no-show-pos プレイヤーの位置を表示しません" +msgstr " --no-show-pos プレイヤーの位置を表示しない" -#: src/supertux/command_line_arguments.cpp:122 +#: src/supertux/command_line_arguments.cpp:120 msgid " --developer Switch on developer feature" -msgstr " --developer 開発者向け機能を有効にします" +msgstr " --developer 開発者向け機能を有効にする" -#: src/supertux/command_line_arguments.cpp:123 +#: src/supertux/command_line_arguments.cpp:121 msgid " -s, --debug-scripts Enable script debugger." -msgstr " -s, --debug-scripts スクリプトデバッガーを有効にします" +msgstr " -s, --debug-scripts スクリプトデバッガーを有効にする。" -#: src/supertux/command_line_arguments.cpp:124 +#: src/supertux/command_line_arguments.cpp:122 msgid "" " --spawn-pos X,Y Where in the level to spawn Tux. Only used if" " level is specified." -msgstr " --spawn-pos X,Y Tux をレベルのどこからスタートさせるか指定します。レベルが指定されている場合のみに使われます。" +msgstr " --spawn-pos X,Y Tux をレベルのどこにスポーンさせるか指定する。レベルが指定されている場合のみに使用される。" -#: src/supertux/command_line_arguments.cpp:125 +#: src/supertux/command_line_arguments.cpp:123 msgid " --sector SECTOR Spawn Tux in SECTOR\n" -msgstr " --sector セクター Tuxを指定されたセクターからスタートさせます\n" +msgstr " --sector セクター 指定されたセクターに Tux をスポーンする\n" -#: src/supertux/command_line_arguments.cpp:126 +#: src/supertux/command_line_arguments.cpp:124 msgid " --spawnpoint SPAWNPOINT Spawn Tux at SPAWNPOINT\n" -msgstr " --spawnpoint 開始地点 Tuxを指定された開始地点からスタートさせます\n" - -#: src/supertux/command_line_arguments.cpp:128 -msgid "Demo Recording Options:" -msgstr "デモの録音オプション:" - -#: src/supertux/command_line_arguments.cpp:129 -msgid " --record-demo FILE LEVEL Record a demo to FILE" -msgstr " --record-demo ファイル レベル ファイルにデモを記録します" - -#: src/supertux/command_line_arguments.cpp:130 -msgid " --play-demo FILE LEVEL Play a recorded demo" -msgstr " --play-demo ファイル レベル 記録したデモを再生します" +msgstr " --spawnpoint 開始地点 指定された開始地点に Tux をスポーンする\n" -#: src/supertux/command_line_arguments.cpp:132 +#: src/supertux/command_line_arguments.cpp:126 msgid "Directory Options:" msgstr "ディレクトリのオプション:" -#: src/supertux/command_line_arguments.cpp:133 +#: src/supertux/command_line_arguments.cpp:127 msgid "" " --datadir DIR Set the directory for the games datafiles" -msgstr " --datadir ディレクトリ ゲームのデータファイルを保存するディレクトリを設定します" +msgstr " --datadir ディレクトリ ゲームのデータファイルを保存するディレクトリを設定する" -#: src/supertux/command_line_arguments.cpp:134 +#: src/supertux/command_line_arguments.cpp:128 msgid "" " --userdir DIR Set the directory for user data (savegames, " "etc.)" -msgstr " --userdir ディレクトリ ユーザーデータ (セーブデータなど) を保存するディレクトリを設定します" +msgstr " --userdir ディレクトリ ユーザーデータ (セーブデータなど) を保存するディレクトリを設定する" -#: src/supertux/command_line_arguments.cpp:136 +#: src/supertux/command_line_arguments.cpp:130 msgid "Add-On Options:" msgstr "アドオンのオプション:" -#: src/supertux/command_line_arguments.cpp:137 +#: src/supertux/command_line_arguments.cpp:131 msgid " --repository-url URL Set the URL to the Add-On repository" -msgstr " --repository-url URL URLをアドオンのレポジトリに設定します" +msgstr " --repository-url URL URL をアドオンのレポジトリに設定する" -#: src/supertux/command_line_arguments.cpp:139 +#: src/supertux/command_line_arguments.cpp:133 msgid "Environment variables:" msgstr "環境変数:" -#: src/supertux/command_line_arguments.cpp:140 +#: src/supertux/command_line_arguments.cpp:134 msgid "" " SUPERTUX2_USER_DIR Directory for user data (savegames, etc.)" msgstr " SUPERTUX2_USER_DIR ユーザーデータ (セーブデータなど) を保存するディレクトリ" -#: src/supertux/command_line_arguments.cpp:141 +#: src/supertux/command_line_arguments.cpp:135 msgid " SUPERTUX2_DATA_DIR Directory for the games datafiles" msgstr " SUPERTUX2_DATA_DIR ゲームのデータファイルを保存するディレクトリ" -#: src/supertux/title_screen.cpp:44 +#: src/supertux/title_screen.cpp:272 msgid "Copyright" -msgstr "作成者" +msgstr "Copyright" -#: src/supertux/title_screen.cpp:45 +#: src/supertux/title_screen.cpp:273 msgid "" "This game comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to\n" "redistribute it under certain conditions; see the license file for details.\n" -msgstr "このゲームは絶対無保証です。このゲームはフリーソフトであり、一定の条件の元で再配布することができます。\n詳細はライセンスファイルをご覧ください。\n" +msgstr "このゲームはいかなる保証も行いません。このゲームはフリーソフトウェアで、\n一定の条件下で再頒布可能です。詳細はライセンスファイルをご覧ください。\n" + +#: src/supertux/game_object.cpp:114 +msgid "Version" +msgstr "バージョン" + +#: src/supertux/game_object.cpp:129 +#: src/supertux/menu/editor_levelset_menu.cpp:54 +msgid "Type" +msgstr "種類" #: src/supertux/menu/integrations_menu.cpp:49 msgid "Integrations" @@ -1966,60 +2519,146 @@ msgstr "統合" msgid "Do not share level names when editing" msgstr "編集中はレベル名を共有しない" +#: src/supertux/menu/integrations_menu.cpp:52 +msgid "" +"Enable this if you want to work on secret levels and don't want the names to" +" be spoiled" +msgstr "非公開のレベルを編集するときにレベル名を公開したくない場合、有効にしてください" + #: src/supertux/menu/integrations_menu.cpp:54 msgid "Enable Discord integration" -msgstr "Discord 統合を有効にする" +msgstr "Discord統合を有効にする" + +#: src/supertux/menu/integrations_menu.cpp:55 +msgid "" +"Sends information to your Discord application about what you're doing in the" +" game." +msgstr "ゲーム内のアクティビティ情報をDiscordアプリケーションに送信します。" #: src/supertux/menu/integrations_menu.cpp:57 msgid "Discord (disabled; not compiled)" msgstr "Discord (無効; コンパイルされていません)" -#: src/supertux/menu/contrib_menu.cpp:80 +#: src/supertux/menu/editor_converters_menu.cpp:61 +#: src/supertux/menu/editor_menu.cpp:85 +msgid "Convert Tiles" +msgstr "タイルを変換" + +#: src/supertux/menu/editor_converters_menu.cpp:64 +msgid "Select Tile Conversion File" +msgstr "タイル変換ファイルを選択" + +#: src/supertux/menu/editor_converters_menu.cpp:72 +#, c++-format +msgid "By: {}" +msgstr "作者: {}" + +#: src/supertux/menu/editor_converters_menu.cpp:75 +msgid "Convert Tiles By File" +msgstr "ファイルを使用してタイルを変換" + +#: src/supertux/menu/editor_converters_menu.cpp:76 +msgid "Convert all tiles in the current level by a file, specified above." +msgstr "上で指定されたファイルを使用して、現在のレベルに含まれるすべてのタイルを変換します。" + +#: src/supertux/menu/editor_converters_menu.cpp:89 +msgid "No tile conversion file selected." +msgstr "タイル変換ファイルが未選択です。" + +#: src/supertux/menu/editor_converters_menu.cpp:93 +msgid "" +"This will convert all tiles in the level. Proceed?\n" +"\n" +"Note: This should not be ran more than once on a level.\n" +"Creating a separate copy of the level is highly recommended." +msgstr "レベルに含まれるすべてのタイルを変換します。続行しますか?\n\n注意: ひとつのレベルに対して複数回実行しないでください。\nレベルを複製したうえで実行することを推奨します。" + +#: src/supertux/menu/video_system_menu.cpp:36 +msgid "Select Video System" +msgstr "ビデオシステムを選択" + +#: src/supertux/menu/video_system_menu.cpp:37 +#, c++-format +msgid "Used video system: {}" +msgstr "使用中のビデオシステム: {}" + +#: src/supertux/menu/video_system_menu.cpp:54 +msgid "Restart game for the changes to take effect" +msgstr "変更を反映するには、ゲームを再起動してください" + +#: src/supertux/menu/contrib_menu.cpp:68 #: src/supertux/menu/world_set_menu.cpp:31 msgid "Contrib Levels" -msgstr "コミュニティー作品" +msgstr "追加レベル" + +#: src/supertux/menu/contrib_menu.cpp:98 +#: src/supertux/menu/contrib_menu.cpp:112 +msgid "Official Contrib Levels" +msgstr "公式作の追加レベル" + +#: src/supertux/menu/contrib_menu.cpp:99 +#: src/supertux/menu/contrib_menu.cpp:118 +msgid "Community Contrib Levels" +msgstr "コミュニティー作の追加レベル" + +#: src/supertux/menu/contrib_menu.cpp:100 +#: src/supertux/menu/contrib_menu.cpp:124 +msgid "User Contrib Levels" +msgstr "ユーザー作の追加レベル" -#: src/supertux/menu/debug_menu.cpp:32 +#: src/supertux/menu/contrib_menu.cpp:113 +msgid "How is this possible? There are no Official Contrib Levels!" +msgstr "どうやったんでしょうか?公式作の追加レベルはありません!" + +#: src/supertux/menu/contrib_menu.cpp:119 +msgid "No Community Contrib Levels yet. Download them from the Add-ons Menu." +msgstr "コミュニティー作の追加レベルはまだありません。\"アドオン\" メニューからダウンロードしてください。" + +#: src/supertux/menu/contrib_menu.cpp:125 +msgid "No User Contrib Levels yet. Create some with the Level Editor." +msgstr "ユーザー作の追加レベルはまだありません。レベルエディターから作成してください。" + +#: src/supertux/menu/debug_menu.cpp:34 msgid "Debug" msgstr "デバッグ" -#: src/supertux/menu/debug_menu.cpp:56 +#: src/supertux/menu/debug_menu.cpp:58 msgid "Game Speed" msgstr "ゲームの速度" -#: src/supertux/menu/debug_menu.cpp:57 +#: src/supertux/menu/debug_menu.cpp:59 msgid "Adjust Game Speed" msgstr "ゲームの速度を調整します" -#: src/supertux/menu/debug_menu.cpp:63 +#: src/supertux/menu/debug_menu.cpp:65 msgid "Show Collision Rects" msgstr "衝突判定を表示" -#: src/supertux/menu/debug_menu.cpp:64 +#: src/supertux/menu/debug_menu.cpp:66 msgid "Show Worldmap Path" msgstr "ワールドマップの道を表示" -#: src/supertux/menu/debug_menu.cpp:65 +#: src/supertux/menu/debug_menu.cpp:67 msgid "Show Controller" msgstr "コントローラーを表示" -#: src/supertux/menu/debug_menu.cpp:66 +#: src/supertux/menu/debug_menu.cpp:68 msgid "Show Framerate" msgstr "フレームレートを表示" -#: src/supertux/menu/debug_menu.cpp:67 +#: src/supertux/menu/debug_menu.cpp:69 msgid "Draw Redundant Frames" msgstr "余分なフレームを描画" -#: src/supertux/menu/debug_menu.cpp:68 +#: src/supertux/menu/debug_menu.cpp:70 msgid "Show Player Position" msgstr "プレイヤーの位置を表示" -#: src/supertux/menu/debug_menu.cpp:69 +#: src/supertux/menu/debug_menu.cpp:71 msgid "Use Bitmap Fonts" msgstr "ビットマップフォントを使う" -#: src/supertux/menu/debug_menu.cpp:72 +#: src/supertux/menu/debug_menu.cpp:74 msgid "Dump Texture Cache" msgstr "テクスチャーのキャッシュを消去" @@ -2033,10 +2672,37 @@ msgid "File name" msgstr "ファイル名" #: src/supertux/menu/particle_editor_save_as.cpp:38 -#: src/supertux/menu/editor_save_as.cpp:38 src/editor/particle_editor.cpp:766 +#: src/supertux/menu/editor_save_as.cpp:38 src/editor/particle_editor.cpp:767 msgid "Save" msgstr "保存" +#: src/supertux/menu/multiplayer_menu.cpp:27 +#: src/supertux/menu/multiplayer_players_menu.cpp:34 +msgid "Multiplayer" +msgstr "マルチプレイヤー" + +#: src/supertux/menu/multiplayer_menu.cpp:30 +msgid "Auto-manage Players" +msgstr "プレイヤーを自動管理" + +#: src/supertux/menu/multiplayer_menu.cpp:31 +msgid "" +"Automatically add and remove players when controllers are plugged or " +"unplugged" +msgstr "コントローラーが接続/切断された際に、自動的にプレイヤーを追加/削除します" + +#: src/supertux/menu/multiplayer_menu.cpp:33 +msgid "Allow Multibind" +msgstr "複数台接続を許可" + +#: src/supertux/menu/multiplayer_menu.cpp:34 +msgid "Allow binding multiple joysticks to a single player" +msgstr "複数のジョイスティックでひとりのプレイヤーを操作できるようにします" + +#: src/supertux/menu/multiplayer_menu.cpp:36 +msgid "Manage Players" +msgstr "プレイヤーを管理" + #: src/supertux/menu/editor_sectors_menu.cpp:31 msgid "Choose Sector" msgstr "セクターを選ぶ" @@ -2053,50 +2719,98 @@ msgstr "セクターを作る" msgid "Delete Sector" msgstr "セクターを削除" -#: src/supertux/menu/editor_sectors_menu.cpp:93 +#: src/supertux/menu/editor_sectors_menu.cpp:92 msgid "Each level must have at least one sector." msgstr "レベルには少なくとも1つのセクターが必要です。" -#: src/supertux/menu/editor_sectors_menu.cpp:98 +#: src/supertux/menu/editor_sectors_menu.cpp:97 msgid "Do you really want to delete this sector?" msgstr "本当にこのセクターを削除しますか?" -#: src/supertux/menu/editor_sectors_menu.cpp:101 +#: src/supertux/menu/editor_sectors_menu.cpp:100 msgid "Delete sector" msgstr "セクターを削除" -#: src/supertux/menu/editor_objectgroup_menu.cpp:30 -#: src/editor/toolbox_widget.cpp:93 -msgid "Objects" -msgstr "オブジェクト" +#: src/supertux/menu/custom_menu_menu.cpp:49 +#: src/supertux/menu/options_menu.cpp:191 +msgid "Menu Customization" +msgstr "メニューのカスタマイズ" + +#: src/supertux/menu/custom_menu_menu.cpp:51 +msgid "Menu Back Color" +msgstr "メニューの背景色" + +#: src/supertux/menu/custom_menu_menu.cpp:52 +msgid "Menu Front Color" +msgstr "メニューの前景色" + +#: src/supertux/menu/custom_menu_menu.cpp:53 +msgid "Menu Help Back Color" +msgstr "メニューのヘルプ内容の背景色" + +#: src/supertux/menu/custom_menu_menu.cpp:54 +msgid "Menu Help Front Color" +msgstr "メニューのヘルプ内容の前景色" + +#: src/supertux/menu/custom_menu_menu.cpp:55 +msgid "Label Text Color" +msgstr "ラベルの文字色" -#: src/supertux/menu/editor_level_select_menu.cpp:62 +#: src/supertux/menu/custom_menu_menu.cpp:56 +msgid "Active Text Color" +msgstr "ホバー中の文字色" + +#: src/supertux/menu/custom_menu_menu.cpp:57 +msgid "Divider Line Color" +msgstr "区切り線の色" + +#: src/supertux/menu/custom_menu_menu.cpp:58 +msgid "Menu Roundness" +msgstr "メニューの角丸度合い" + +#: src/supertux/menu/custom_menu_menu.cpp:60 +msgid "Editor Interface Color" +msgstr "エディターの画面色" + +#: src/supertux/menu/custom_menu_menu.cpp:61 +msgid "Editor Hover Color" +msgstr "エディターでホバーしたときの色" + +#: src/supertux/menu/custom_menu_menu.cpp:62 +msgid "Editor Grab Color" +msgstr "エディターで掴んだときの色" + +#: src/supertux/menu/custom_menu_menu.cpp:64 +msgid "Reset to defaults" +msgstr "デフォルトにリセット" + +#: src/supertux/menu/editor_level_select_menu.cpp:72 msgid "Empty World" -msgstr "レベルがありません" +msgstr "レベルなし" -#: src/supertux/menu/editor_level_select_menu.cpp:77 +#: src/supertux/menu/editor_level_select_menu.cpp:87 msgid "Create Level" msgstr "レベルを作る" -#: src/supertux/menu/editor_level_select_menu.cpp:81 +#: src/supertux/menu/editor_level_select_menu.cpp:91 msgid "Edit Worldmap" msgstr "ワールドマップを編集" -#: src/supertux/menu/editor_level_select_menu.cpp:83 +#: src/supertux/menu/editor_level_select_menu.cpp:93 msgid "Create Worldmap" msgstr "ワールドマップを作る" -#: src/supertux/menu/editor_level_select_menu.cpp:85 -#: src/supertux/menu/editor_delete_level_menu.cpp:33 +#: src/supertux/menu/editor_level_select_menu.cpp:95 +#: src/supertux/menu/editor_delete_level_menu.cpp:55 msgid "Delete level" msgstr "レベルを削除" -#: src/supertux/menu/editor_level_select_menu.cpp:87 -#: src/supertux/menu/editor_levelset_menu.cpp:56 +#: src/supertux/menu/editor_level_select_menu.cpp:97 +#: src/supertux/menu/editor_levelset_menu.cpp:50 msgid "World Settings" msgstr "ワールドの設定" -#: src/supertux/menu/editor_level_select_menu.cpp:127 +#: src/supertux/menu/editor_level_select_menu.cpp:141 msgid "" "Share this worldmap under license CC-BY-SA 4.0 International (advised).\n" "It allows modifications and redistribution by third-parties.\n" @@ -2104,7 +2818,7 @@ msgid "" "DISCLAIMER: The SuperTux authors take no responsibility for your choice of license." msgstr "このワールドマップを、クリエイティブ・コモンズ - 表示 - 継承 4.0 国際ライセンスに基づいて共有することをおすすめします。\nこれにより、ほかの誰かが修正したり再頒布したりできるようになります。\n同意できない場合は、ワールドマップのプロパティでライセンスを変更してください。\n免責事項: SuperTuxの開発者は、ライセンスの選択について責任を負いません。" -#: src/supertux/menu/editor_level_select_menu.cpp:134 +#: src/supertux/menu/editor_level_select_menu.cpp:148 msgid "" "Share this level under license CC-BY-SA 4.0 International (advised).\n" "It allows modifications and redistribution by third-parties.\n" @@ -2112,494 +2826,814 @@ msgid "" "DISCLAIMER: The SuperTux authors take no responsibility for your choice of license." msgstr "このレベルを、クリエイティブ・コモンズ - 表示 - 継承 4.0 国際ライセンスに基づいて共有することをおすすめします。\nこれにより、ほかの誰かが修正したり再頒布したりできるようになります。\n同意できない場合は、レベルのプロパティでライセンスを変更してください。\n免責事項: SuperTuxの開発者は、ライセンスの選択について責任を負いません。" -#: src/supertux/menu/editor_level_select_menu.cpp:162 +#: src/supertux/menu/editor_level_select_menu.cpp:179 msgid "" "An auto-save recovery file was found. Would you like to restore the recovery\n" "file and resume where you were before the editor crashed?" msgstr "自動保存された回復ファイルが見つかりました。回復ファイルを復元して、\nエディターがクラッシュ前の状態を復元しますか?" -#: src/supertux/menu/editor_level_select_menu.cpp:169 +#: src/supertux/menu/editor_level_select_menu.cpp:186 msgid "This will delete the auto-save file. Are you sure?" msgstr "これは自動保存されたファイルを削除します。よろしいですか?" -#: src/supertux/menu/worldmap_cheat_menu.cpp:34 -#: src/supertux/menu/cheat_menu.cpp:30 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:35 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:52 +#: src/supertux/menu/cheat_apply_menu.cpp:33 +#: src/supertux/menu/cheat_apply_menu.cpp:51 +msgid "Apply cheat to player" +msgstr "プレイヤーに攻略を適用" + +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:39 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:60 +#: src/supertux/menu/multiplayer_players_menu.cpp:39 +#: src/supertux/menu/keyboard_menu.cpp:63 +#: src/supertux/menu/cheat_apply_menu.cpp:39 +#: src/supertux/menu/cheat_apply_menu.cpp:59 +#: src/supertux/menu/multiplayer_player_menu.cpp:37 +#, c++-format +msgid "Player {}" +msgstr "プレイヤー {}" + +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:57 +#: src/supertux/menu/cheat_apply_menu.cpp:36 +#: src/supertux/menu/cheat_apply_menu.cpp:56 +msgid "All Players" +msgstr "すべてのプレイヤー" + +#: src/supertux/menu/worldmap_cheat_menu.cpp:36 +#: src/supertux/menu/cheat_menu.cpp:31 msgid "Cheats" msgstr "攻略" -#: src/supertux/menu/worldmap_cheat_menu.cpp:36 -#: src/supertux/menu/cheat_menu.cpp:32 +#: src/supertux/menu/worldmap_cheat_menu.cpp:38 +#: src/supertux/menu/cheat_menu.cpp:33 msgid "Bonus: Grow" msgstr "ボーナス: 大きめ" -#: src/supertux/menu/worldmap_cheat_menu.cpp:37 +#: src/supertux/menu/worldmap_cheat_menu.cpp:39 +#: src/supertux/menu/cheat_menu.cpp:34 msgid "Bonus: Fire" msgstr "ボーナス: ファイア" -#: src/supertux/menu/worldmap_cheat_menu.cpp:38 +#: src/supertux/menu/worldmap_cheat_menu.cpp:40 +#: src/supertux/menu/cheat_menu.cpp:35 msgid "Bonus: Ice" msgstr "ボーナス: アイス" -#: src/supertux/menu/worldmap_cheat_menu.cpp:39 +#: src/supertux/menu/worldmap_cheat_menu.cpp:41 +#: src/supertux/menu/cheat_menu.cpp:36 msgid "Bonus: Air" msgstr "ボーナス: エアー" -#: src/supertux/menu/worldmap_cheat_menu.cpp:40 +#: src/supertux/menu/worldmap_cheat_menu.cpp:42 +#: src/supertux/menu/cheat_menu.cpp:37 msgid "Bonus: Earth" msgstr "ボーナス: アース" -#: src/supertux/menu/worldmap_cheat_menu.cpp:41 +#: src/supertux/menu/worldmap_cheat_menu.cpp:43 msgid "Bonus: None" msgstr "ボーナス: 普通" -#: src/supertux/menu/worldmap_cheat_menu.cpp:44 -#: src/supertux/menu/cheat_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 +#: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:51 msgid "Leave Ghost Mode" msgstr "ゴーストモードを終了" -#: src/supertux/menu/worldmap_cheat_menu.cpp:44 -#: src/supertux/menu/cheat_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 +#: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:50 msgid "Activate Ghost Mode" msgstr "ゴーストモードを有効にする" -#: src/supertux/menu/worldmap_cheat_menu.cpp:46 -#: src/supertux/menu/cheat_menu.cpp:40 +#: src/supertux/menu/worldmap_cheat_menu.cpp:48 +#: src/supertux/menu/cheat_menu.cpp:41 msgid "Finish Level" msgstr "レベルを終える" -#: src/supertux/menu/worldmap_cheat_menu.cpp:47 +#: src/supertux/menu/worldmap_cheat_menu.cpp:49 msgid "Reset Level" msgstr "レベルをリセット" -#: src/supertux/menu/worldmap_cheat_menu.cpp:49 +#: src/supertux/menu/worldmap_cheat_menu.cpp:51 msgid "Finish Worldmap" msgstr "ワールドマップを終わる" -#: src/supertux/menu/worldmap_cheat_menu.cpp:50 +#: src/supertux/menu/worldmap_cheat_menu.cpp:52 msgid "Reset Worldmap" msgstr "ワールドマップをリセット" -#: src/supertux/menu/worldmap_cheat_menu.cpp:52 +#: src/supertux/menu/worldmap_cheat_menu.cpp:54 msgid "Go to level" msgstr "レベルに移動" -#: src/supertux/menu/worldmap_cheat_menu.cpp:53 +#: src/supertux/menu/worldmap_cheat_menu.cpp:55 msgid "Go to main spawnpoint" msgstr "スタート地点に移動" -#: src/supertux/menu/worldmap_cheat_menu.cpp:145 +#: src/supertux/menu/worldmap_cheat_menu.cpp:188 msgid "Select level" msgstr "レベルを選ぶ" #: src/supertux/menu/editor_save_as.cpp:33 -#: src/supertux/menu/editor_menu.cpp:49 +#: src/supertux/menu/editor_menu.cpp:63 msgid "Save Level as" msgstr "レベルに名前をつけて保存" #: src/supertux/menu/editor_save_as.cpp:33 -#: src/supertux/menu/editor_menu.cpp:50 +#: src/supertux/menu/editor_menu.cpp:64 msgid "Save Copy" msgstr "コピーを保存" -#: src/supertux/menu/editor_levelset_select_menu.cpp:72 +#: src/supertux/menu/editor_levelset_select_menu.cpp:71 msgid "Choose World" msgstr "ワールドを選ぶ" -#: src/supertux/menu/editor_levelset_select_menu.cpp:100 -#, c-format -msgid "%d level" -msgid_plural "%d levels" -msgstr[0] "%d レベル" +#: src/supertux/menu/editor_levelset_select_menu.cpp:99 +#, c++-format +msgid "{} level" +msgid_plural "{} levels" +msgstr[0] "{} 個のレベル" -#: src/supertux/menu/editor_levelset_select_menu.cpp:113 +#: src/supertux/menu/editor_levelset_select_menu.cpp:112 msgid "Create World" msgstr "ワールドを作る" -#: src/supertux/menu/options_menu.cpp:98 src/supertux/menu/main_menu.cpp:64 -#: src/supertux/menu/game_menu.cpp:61 src/supertux/menu/worldmap_menu.cpp:31 -msgid "Options" -msgstr "オプション" - -#: src/supertux/menu/options_menu.cpp:104 -#: src/supertux/menu/options_menu.cpp:142 -#: src/supertux/menu/options_menu.cpp:455 -#: src/supertux/menu/options_menu.cpp:476 src/editor/object_settings.cpp:119 -msgid "auto" -msgstr "自動" - -#: src/supertux/menu/options_menu.cpp:221 -msgid "Desktop" -msgstr "デスクトップ" - -#: src/supertux/menu/options_menu.cpp:251 -msgid "on" -msgstr "の上" - -#: src/supertux/menu/options_menu.cpp:252 -msgid "off" -msgstr "オフ" +#: src/supertux/menu/editor_levelset_select_menu.cpp:113 +#: src/supertux/menu/editor_delete_levelset_menu.cpp:41 +msgid "Delete World" +msgstr "ワールドを削除" -#: src/supertux/menu/options_menu.cpp:253 -msgid "adaptive" -msgstr "適応的な" +#: src/supertux/menu/options_menu.cpp:72 +#: src/supertux/menu/options_select_menu.cpp:35 +msgid "Locale" +msgstr "ロケール" -#: src/supertux/menu/options_menu.cpp:347 +#: src/supertux/menu/options_menu.cpp:76 msgid "Select Language" msgstr "言語を選択" -#: src/supertux/menu/options_menu.cpp:348 +#: src/supertux/menu/options_menu.cpp:77 msgid "Select a different language to display text in" msgstr "テキストを表示するための言語を選択します" -#: src/supertux/menu/options_menu.cpp:350 +#: src/supertux/menu/options_menu.cpp:79 msgid "Language Packs" msgstr "言語パック" -#: src/supertux/menu/options_menu.cpp:351 +#: src/supertux/menu/options_menu.cpp:80 msgid "Language packs contain up-to-date translations" msgstr "言語パックには、最新の翻訳データが含まれています" -#: src/supertux/menu/options_menu.cpp:353 -#: src/supertux/menu/profile_menu.cpp:34 -msgid "Select Profile" -msgstr "プロファイルを選択" - -#: src/supertux/menu/options_menu.cpp:354 -msgid "Select a profile to play with" -msgstr "プレイに使用するプロファイルを選択します" +#: src/supertux/menu/options_menu.cpp:88 +#: src/supertux/menu/options_select_menu.cpp:37 +msgid "Video" +msgstr "ビデオ" -#: src/supertux/menu/options_menu.cpp:358 +#: src/supertux/menu/options_menu.cpp:91 msgid "Window Resizable" msgstr "ウィンドウをサイズ変更可能にする" -#: src/supertux/menu/options_menu.cpp:359 +#: src/supertux/menu/options_menu.cpp:92 msgid "Allow window resizing, might require a restart to take effect" -msgstr "ウィンドウのサイズ変更を許可します。設定の反映には再起動が必要になることがあります" +msgstr "ウィンドウのサイズ変更を許可します。設定の反映には再起動が必要なことがあります" -#: src/supertux/menu/options_menu.cpp:361 -msgid "Window Resolution" -msgstr "ウィンドウ解像度" - -#: src/supertux/menu/options_menu.cpp:362 -msgid "Resize the window to the given size" -msgstr "指定されたサイズにウィンドウをサイズ変更します" - -#: src/supertux/menu/options_menu.cpp:364 +#: src/supertux/menu/options_menu.cpp:96 msgid "Fullscreen" msgstr "全画面" -#: src/supertux/menu/options_menu.cpp:365 +#: src/supertux/menu/options_menu.cpp:97 msgid "Fill the entire screen" msgstr "画面全体にゲームを映します" -#: src/supertux/menu/options_menu.cpp:367 -msgid "Fullscreen Resolution" -msgstr "全画面解像度" - -#: src/supertux/menu/options_menu.cpp:368 -msgid "" -"Determine the resolution used in fullscreen mode (you must toggle fullscreen" -" to complete the change)" -msgstr "全画面モードで使用する解像度を決めます (全画面モードに切り替える必要があります)" - -#: src/supertux/menu/options_menu.cpp:373 +#: src/supertux/menu/options_menu.cpp:104 msgid "Fit to browser" msgstr "ブラウザに合わせる" -#: src/supertux/menu/options_menu.cpp:374 +#: src/supertux/menu/options_menu.cpp:105 msgid "Fit the resolution to the size of your browser" -msgstr "解像度をブラウザのサイズに合わせる" - -#: src/supertux/menu/options_menu.cpp:378 -msgid "Magnification" -msgstr "拡大率" +msgstr "解像度をブラウザのサイズに合わせます" -#: src/supertux/menu/options_menu.cpp:379 -msgid "Change the magnification of the game area" -msgstr "ゲームエリアの拡大率を設定します" +#: src/supertux/menu/options_menu.cpp:116 +msgid "Change Video System" +msgstr "ビデオシステムを変更" -#: src/supertux/menu/options_menu.cpp:381 -msgid "VSync" -msgstr "垂直同期" +#: src/supertux/menu/options_menu.cpp:117 +msgid "Change video system used to render graphics" +msgstr "グラフィックスの描画に使われるビデオシステムを変更します" -#: src/supertux/menu/options_menu.cpp:382 -msgid "Set the VSync mode" -msgstr "垂直同期モードを設定します" +#: src/supertux/menu/options_menu.cpp:124 +#: src/supertux/menu/options_select_menu.cpp:38 +msgid "Audio" +msgstr "オーディオ" -#: src/supertux/menu/options_menu.cpp:385 -msgid "Aspect Ratio" -msgstr "アスペクト比" - -#: src/supertux/menu/options_menu.cpp:386 -msgid "Adjust the aspect ratio" -msgstr "アスペクト比を調整します" - -#: src/supertux/menu/options_menu.cpp:392 +#: src/supertux/menu/options_menu.cpp:129 msgid "Disable all sound effects" msgstr "すべての効果音を無効にします" -#: src/supertux/menu/options_menu.cpp:394 +#: src/supertux/menu/options_menu.cpp:131 msgid "Disable all music" msgstr "すべての音楽を無効にします" -#: src/supertux/menu/options_menu.cpp:396 -msgid "Sound Volume" -msgstr "効果音の音量" - -#: src/supertux/menu/options_menu.cpp:397 -msgid "Adjust sound volume" -msgstr "効果音の音量を調整します" - -#: src/supertux/menu/options_menu.cpp:399 -msgid "Music Volume" -msgstr "音楽の音量" - -#: src/supertux/menu/options_menu.cpp:400 -msgid "Adjust music volume" -msgstr "音楽の音量を調整します" - -#: src/supertux/menu/options_menu.cpp:404 +#: src/supertux/menu/options_menu.cpp:138 msgid "Sound (disabled)" msgstr "効果音 (無効)" -#: src/supertux/menu/options_menu.cpp:405 +#: src/supertux/menu/options_menu.cpp:139 msgid "Music (disabled)" msgstr "音楽 (無効)" -#: src/supertux/menu/options_menu.cpp:408 -#: src/supertux/menu/keyboard_menu.cpp:30 +#: src/supertux/menu/options_menu.cpp:147 +#: src/supertux/menu/options_select_menu.cpp:39 +msgid "Controls" +msgstr "コントロール" + +#: src/supertux/menu/options_menu.cpp:151 +msgid "Enable Rumbling Controllers" +msgstr "コントローラーの振動を有効にする" + +#: src/supertux/menu/options_menu.cpp:152 +msgid "Enable vibrating the game controllers." +msgstr "ゲームコントローラーの振動を有効にします。" + +#: src/supertux/menu/options_menu.cpp:152 +msgid "This feature is currently only used in the multiplayer options menu." +msgstr "この機能は現状、マルチプレイヤーオプションメニューでのみ使用されます。" + +#: src/supertux/menu/options_menu.cpp:154 +#: src/supertux/menu/keyboard_menu.cpp:34 msgid "Setup Keyboard" msgstr "キーボードを設定" -#: src/supertux/menu/options_menu.cpp:409 +#: src/supertux/menu/options_menu.cpp:155 msgid "Configure key-action mappings" msgstr "キーアクションの割り当てを設定します" -#: src/supertux/menu/options_menu.cpp:412 -#: src/supertux/menu/joystick_menu.cpp:52 +#: src/supertux/menu/options_menu.cpp:158 +#: src/supertux/menu/joystick_menu.cpp:54 msgid "Setup Joystick" msgstr "ジョイスティックをセットアップ" -#: src/supertux/menu/options_menu.cpp:413 +#: src/supertux/menu/options_menu.cpp:159 msgid "Configure joystick control-action mappings" msgstr "ジョイスティックのコントロールボタン・アクションボタンの割り当てを設定します" -#: src/supertux/menu/options_menu.cpp:417 -msgid "On-screen controls" -msgstr "画面上のコントロール" +#: src/supertux/menu/options_menu.cpp:167 +#: src/supertux/menu/options_select_menu.cpp:40 +msgid "Extras" +msgstr "その他" + +#: src/supertux/menu/options_menu.cpp:170 +#: src/supertux/menu/profile_menu.cpp:56 +msgid "Select Profile" +msgstr "プロファイルを選択" + +#: src/supertux/menu/options_menu.cpp:171 +msgid "Select a profile to play with" +msgstr "プレイに使用するプロファイルを選択します" + +#: src/supertux/menu/options_menu.cpp:174 +msgid "Multiplayer settings" +msgstr "マルチプレイヤーの設定" -#: src/supertux/menu/options_menu.cpp:418 -msgid "Toggle on-screen controls for mobile devices" -msgstr "モバイルデバイスのオンスクリーンコントロールを切り替えます" +#: src/supertux/menu/options_menu.cpp:175 +msgid "Configure settings specific to multiplayer" +msgstr "マルチプレイヤー関連の設定を行います" -#: src/supertux/menu/options_menu.cpp:420 +#: src/supertux/menu/options_menu.cpp:178 msgid "Enable transitions" -msgstr "トランジションを有効にする" +msgstr "画面遷移を有効にする" -#: src/supertux/menu/options_menu.cpp:421 +#: src/supertux/menu/options_menu.cpp:179 msgid "Enable screen transitions and smooth menu animation" msgstr "画面遷移と滑らかなメニューアニメーションを有効にします" -#: src/supertux/menu/options_menu.cpp:425 -msgid "Developer Mode" -msgstr "開発者モード" +#: src/supertux/menu/options_menu.cpp:181 +msgid "Custom title screen levels" +msgstr "" -#: src/supertux/menu/options_menu.cpp:430 +#: src/supertux/menu/options_menu.cpp:182 +msgid "Allow overriding the title screen level, when loading certain worlds" +msgstr "" + +#: src/supertux/menu/options_menu.cpp:185 msgid "Christmas Mode" msgstr "クリスマスモード" -#: src/supertux/menu/options_menu.cpp:433 +#: src/supertux/menu/options_menu.cpp:187 +msgid "Integrations and presence" +msgstr "統合と表示" + +#: src/supertux/menu/options_menu.cpp:188 +msgid "" +"Manage whether SuperTux should display the levels you play on your social " +"media profiles (Discord)" +msgstr "SuperTuxでプレイしたレベルを、ソーシャルメディア (Discord) のプロフィールに表示するかどうかを設定します" + +#: src/supertux/menu/options_menu.cpp:192 +msgid "Customize the appearance of the menus" +msgstr "メニューの見た目をカスタマイズします" + +#: src/supertux/menu/options_menu.cpp:199 +#: src/supertux/menu/options_select_menu.cpp:41 +msgid "Advanced" +msgstr "高度" + +#: src/supertux/menu/options_menu.cpp:204 +msgid "Developer Mode" +msgstr "開発者モード" + +#: src/supertux/menu/options_menu.cpp:206 msgid "Confirmation Dialog" msgstr "確認ダイアログ" -#: src/supertux/menu/options_menu.cpp:433 +#: src/supertux/menu/options_menu.cpp:206 msgid "Confirm aborting level" -msgstr "レベルをやめるかどうかを確認します" +msgstr "レベルをやめる際に確認します" -#: src/supertux/menu/options_menu.cpp:434 +#: src/supertux/menu/options_menu.cpp:208 msgid "Pause on focus loss" -msgstr "ウィンドウがフォーカスされていないときに一時停止" +msgstr "非フォーカス時に一時停止" -#: src/supertux/menu/options_menu.cpp:435 +#: src/supertux/menu/options_menu.cpp:209 msgid "Automatically pause the game when the window loses focus" -msgstr "ウィンドウがフォーカスを失ったときにゲームを自動的に一時停止します" +msgstr "ウィンドウがフォーカスを外れたときにゲームを自動的に一時停止します" -#: src/supertux/menu/options_menu.cpp:436 +#: src/supertux/menu/options_menu.cpp:211 msgid "Use custom mouse cursor" msgstr "ペンギン型のマウスカーソルを使う" -#: src/supertux/menu/options_menu.cpp:436 +#: src/supertux/menu/options_menu.cpp:211 msgid "Whether the game renders its own cursor or uses the system's cursor" msgstr "ゲーム独自のカーソルを描画するか、システムのカーソルを使うかを設定します" -#: src/supertux/menu/options_menu.cpp:438 -msgid "Integrations and presence" -msgstr "統合と表示" +#: src/supertux/menu/options_menu.cpp:214 +msgid "Check for new releases" +msgstr "アップデートを自動的に確認" -#: src/supertux/menu/options_menu.cpp:439 +#: src/supertux/menu/options_menu.cpp:215 msgid "" -"Manage whether SuperTux should display the levels you play on your social " -"media profiles (Discord)" -msgstr "ソーシャルメディア (Discord) のプロフィールに、SuperTuxでプレイしたレベルを表示するかどうかを設定します" +"Allows the game to perform checks for new SuperTux releases on startup and " +"notify if any found." +msgstr "ゲーム起動時にSuperTuxの新バージョンがリリースされているか確認し、見つかった場合は通知することを許可します。" -#: src/supertux/menu/options_menu.cpp:559 +#: src/supertux/menu/options_menu.cpp:245 +#: src/supertux/menu/options_menu.cpp:288 src/supertux/direction.cpp:76 +msgid "auto" +msgstr "自動" + +#: src/supertux/menu/options_menu.cpp:281 +msgid "Magnification" +msgstr "拡大率" + +#: src/supertux/menu/options_menu.cpp:282 +msgid "Change the magnification of the game area" +msgstr "ゲームエリアの拡大率を設定します" + +#: src/supertux/menu/options_menu.cpp:318 +msgid "Aspect Ratio" +msgstr "アスペクト比" + +#: src/supertux/menu/options_menu.cpp:319 +msgid "Adjust the aspect ratio" +msgstr "アスペクト比を調整します" + +#: src/supertux/menu/options_menu.cpp:346 +msgid "Window Resolution" +msgstr "ウィンドウ解像度" + +#: src/supertux/menu/options_menu.cpp:347 +msgid "Resize the window to the given size" +msgstr "指定されたサイズにウィンドウをサイズ変更します" + +#: src/supertux/menu/options_menu.cpp:377 +msgid "Desktop" +msgstr "デスクトップ" + +#: src/supertux/menu/options_menu.cpp:404 +msgid "Fullscreen Resolution" +msgstr "全画面解像度" + +#: src/supertux/menu/options_menu.cpp:405 +msgid "" +"Determine the resolution used in fullscreen mode (you must toggle fullscreen" +" to complete the change)" +msgstr "全画面モードで使用する解像度を決めます (全画面モードに切り替える必要があります)" + +#: src/supertux/menu/options_menu.cpp:411 +msgid "on" +msgstr "オン" + +#: src/supertux/menu/options_menu.cpp:412 +msgid "off" +msgstr "オフ" + +#: src/supertux/menu/options_menu.cpp:413 +msgid "adaptive" +msgstr "適応的" + +#: src/supertux/menu/options_menu.cpp:431 +msgid "VSync" +msgstr "垂直同期" + +#: src/supertux/menu/options_menu.cpp:432 +msgid "Set the VSync mode" +msgstr "垂直同期モードを設定します" + +#: src/supertux/menu/options_menu.cpp:467 +msgid "Sound Volume" +msgstr "効果音の音量" + +#: src/supertux/menu/options_menu.cpp:468 +msgid "Adjust sound volume" +msgstr "効果音の音量を調整します" + +#: src/supertux/menu/options_menu.cpp:503 +msgid "Music Volume" +msgstr "音楽の音量" + +#: src/supertux/menu/options_menu.cpp:504 +msgid "Adjust music volume" +msgstr "音楽の音量を調整します" + +#: src/supertux/menu/options_menu.cpp:517 +msgid "On-screen controls scale" +msgstr "" + +#: src/supertux/menu/options_menu.cpp:638 msgid "" "The game couldn't detect your browser resolution.\n" "This most likely happens because it is not embedded\n" "in the SuperTux custom HTML template.\n" msgstr "ゲームはブラウザの解像度を検出できませんでした。\nこれは埋め込まれていないために発生する可能性が高いです\nSuperTux カスタム HTML テンプレート内。\n" -#: src/supertux/menu/main_menu.cpp:56 src/supertux/menu/world_set_menu.cpp:28 +#: src/supertux/menu/editor_delete_levelset_menu.cpp:80 +msgid "You cannot delete the world that you are editing" +msgstr "編集中のワールドは削除できません" + +#: src/supertux/menu/editor_delete_levelset_menu.cpp:83 +#, c++-format +msgid "You are about to delete world \"{}\". Are you sure?" +msgstr "ワールド \"{}\" を削除しようとしています。よろしいですか?" + +#: src/supertux/menu/addon_preview_menu.cpp:82 +#, c++-format +msgid "{} \"{}\"" +msgstr "{} \"{}\"" + +#: src/supertux/menu/addon_preview_menu.cpp:87 +msgid "Some information about this add-on is not available." +msgstr "このアドオンは一部の情報が不明です。" + +#: src/supertux/menu/addon_preview_menu.cpp:88 +msgid "Perform a \"Check Online\" to try retrieving it." +msgstr "\"オンラインで確認\"を実行して、アドオンの再取得をお試しください。" + +#: src/supertux/menu/addon_preview_menu.cpp:92 +msgid "No author specified." +msgstr "作者は未指定です。" + +#: src/supertux/menu/addon_preview_menu.cpp:92 +#, c++-format +msgid "Author: {}" +msgstr "作者: {}" + +#: src/supertux/menu/addon_preview_menu.cpp:93 +#, c++-format +msgid "Type: {}" +msgstr "種類: {}" + +#: src/supertux/menu/addon_preview_menu.cpp:94 +msgid "No license specified." +msgstr "ライセンスは未指定です。" + +#: src/supertux/menu/addon_preview_menu.cpp:94 +#, c++-format +msgid "License: {}" +msgstr "ライセンス: {}" + +#: src/supertux/menu/addon_preview_menu.cpp:99 +msgid "Dependencies:" +msgstr "依存関係:" + +#: src/supertux/menu/addon_preview_menu.cpp:108 +msgid "Installed" +msgstr "インストール済み" + +#: src/supertux/menu/addon_preview_menu.cpp:108 +msgid "Not installed" +msgstr "未インストール" + +#: src/supertux/menu/addon_preview_menu.cpp:113 +msgid "Not available!" +msgstr "利用できません!" + +#: src/supertux/menu/addon_preview_menu.cpp:120 +msgid "Description:" +msgstr "説明:" + +#: src/supertux/menu/addon_preview_menu.cpp:123 +msgid "No description available." +msgstr "説明は利用できません。" + +#: src/supertux/menu/addon_preview_menu.cpp:147 +msgid "Failed to load all available screenshot previews." +msgstr "すべての利用可能なスクリーンショットプレビューの読み込みに失敗しました。" + +#: src/supertux/menu/addon_preview_menu.cpp:152 +msgid "Show screenshots" +msgstr "スクリーンショットを表示" + +#: src/supertux/menu/addon_preview_menu.cpp:165 +msgid "Screenshot previews are disabled for automatic installs." +msgstr "自動インストールの場合、スクリーンショットプレビューは無効化されています。" + +#: src/supertux/menu/addon_preview_menu.cpp:169 +msgid "No screenshot previews available." +msgstr "スクリーンショットプレビューは利用できません。" + +#: src/supertux/menu/addon_preview_menu.cpp:177 +msgid "Install" +msgstr "インストール" + +#: src/supertux/menu/addon_preview_menu.cpp:190 +msgid "Uninstall" +msgstr "アンインストール" + +#: src/supertux/menu/addon_preview_menu.cpp:214 +#, c++-format +msgid "Are you sure you want to uninstall \"{}\"?" +msgstr "\"{}\"をアンインストールしてもよろしいですか?" + +#: src/supertux/menu/addon_preview_menu.cpp:215 +msgid "" +"\n" +"Your progress won't be lost." +msgstr "\nセーブデータは維持されます。" + +#: src/supertux/menu/addon_preview_menu.cpp:227 +#, c++-format +msgid "" +"NOTE: The add-on \"{}\" is a dependency of {} other installed {}.\n" +"Are you sure you wish to uninstall?" +msgstr "" + +#: src/supertux/menu/addon_preview_menu.cpp:246 +#, c++-format +msgid "" +"Cannot toggle add-on \"{}\":\n" +"{}" +msgstr "アドオン\"{}\"を切り替えできません:\n{}" + +#: src/supertux/menu/addon_preview_menu.cpp:279 +msgid "Fetching screenshot previews..." +msgstr "スクリーンショットのプレビューを取得しています…" + +#: src/supertux/menu/addon_preview_menu.cpp:300 +msgid "Updating" +msgstr "更新しています" + +#: src/supertux/menu/addon_preview_menu.cpp:300 +msgid "Downloading" +msgstr "ダウンロードしています" + +#: src/supertux/menu/addon_preview_menu.cpp:328 +msgid "Add-on uninstalled successfully." +msgstr "アドオンのアンインストールに成功しました。" + +#: src/supertux/menu/addon_preview_menu.cpp:333 +#, c++-format +msgid "" +"Error uninstalling add-on:\n" +"{}" +msgstr "アドオンのアンインストールエラー:\n{}" + +#: src/supertux/menu/addon_preview_menu.cpp:361 +msgid "" +"Please restart SuperTux\n" +"for these changes to take effect." +msgstr "これらの変更を反映するには、\nSuperTuxを再起動してください。" + +#: src/supertux/menu/main_menu.cpp:51 src/supertux/menu/world_set_menu.cpp:28 msgid "Start Game" msgstr "ゲームを始める" -#: src/supertux/menu/main_menu.cpp:60 src/supertux/menu/addon_menu.cpp:122 +#: src/supertux/menu/main_menu.cpp:55 msgid "Add-ons" msgstr "アドオン" -#: src/supertux/menu/main_menu.cpp:62 src/supertux/menu/web_asset_menu.cpp:38 +#: src/supertux/menu/main_menu.cpp:57 src/supertux/menu/web_asset_menu.cpp:38 msgid "Manage Assets" msgstr "資産の管理" -#: src/supertux/menu/main_menu.cpp:65 src/supertux/menu/editor_menu.cpp:43 +#: src/supertux/menu/main_menu.cpp:59 +#: src/supertux/menu/options_select_menu.cpp:29 +#: src/supertux/menu/game_menu.cpp:58 src/supertux/menu/worldmap_menu.cpp:31 +#: src/supertux/menu/editor_menu.cpp:70 +msgid "Options" +msgstr "オプション" + +#: src/supertux/menu/main_menu.cpp:60 src/supertux/menu/editor_menu.cpp:58 msgid "Level Editor" msgstr "レベルエディター" -#: src/supertux/menu/main_menu.cpp:66 +#: src/supertux/menu/main_menu.cpp:61 msgid "Credits" msgstr "クレジット" -#: src/supertux/menu/main_menu.cpp:67 +#: src/supertux/menu/main_menu.cpp:64 msgid "Donate" msgstr "寄付" -#: src/supertux/menu/main_menu.cpp:69 +#: src/supertux/menu/main_menu.cpp:67 msgid "Quit" msgstr "終了" -#: src/supertux/menu/editor_sector_menu.cpp:35 +#: src/supertux/menu/main_menu.cpp:106 +msgid "" +"This will take you to the SuperTux donation page. Are you sure you want to " +"continue?" +msgstr "SuperTuxの寄付ページを表示します。続行してもよろしいですか?" + +#: src/supertux/menu/editor_sector_menu.cpp:34 +#, c++-format +msgid "Sector {}" +msgstr "" + +#: src/supertux/menu/editor_sector_menu.cpp:37 msgid "Initialization script" msgstr "初期化スクリプト" -#: src/supertux/menu/editor_sector_menu.cpp:36 +#: src/supertux/menu/editor_sector_menu.cpp:38 msgid "Gravity" msgstr "重力" -#: src/supertux/menu/editor_sector_menu.cpp:41 +#: src/supertux/menu/editor_sector_menu.cpp:43 msgid "Resize offset X" msgstr "オフセットのX座標をサイズ変更" -#: src/supertux/menu/editor_sector_menu.cpp:42 +#: src/supertux/menu/editor_sector_menu.cpp:44 msgid "Resize offset Y" msgstr "オフセットのY座標をサイズ変更" -#: src/supertux/menu/editor_sector_menu.cpp:43 +#: src/supertux/menu/editor_sector_menu.cpp:45 msgid "Resize" msgstr "サイズ変更" -#: src/supertux/menu/profile_menu.cpp:41 -#, c-format -msgid "[Profile {}]" -msgstr "[プロファイル {}]" +#: src/supertux/menu/profile_menu.cpp:60 +msgid "No profiles found." +msgstr "プロファイルが見つかりません。" -#: src/supertux/menu/profile_menu.cpp:45 -#, c-format +#: src/supertux/menu/profile_menu.cpp:68 +#: src/supertux/menu/profile_menu.cpp:149 +#: src/supertux/menu/profile_menu.cpp:168 +#, c++-format msgid "Profile {}" msgstr "プロファイル {}" -#: src/supertux/menu/profile_menu.cpp:50 -msgid "Reset profile" -msgstr "プロファイルをリセット" +#: src/supertux/menu/profile_menu.cpp:69 +#, c++-format +msgid "{} (Profile {})" +msgstr "{} (プロファイル {})" + +#: src/supertux/menu/profile_menu.cpp:84 +msgid "No profile selected." +msgstr "プロファイルが選択されていません。" + +#: src/supertux/menu/profile_menu.cpp:91 src/supertux/menu/profile_menu.cpp:93 +#: src/supertux/menu/profile_name_menu.cpp:42 +msgid "Rename" +msgstr "名前を変更" + +#: src/supertux/menu/profile_menu.cpp:98 +#: src/supertux/menu/profile_menu.cpp:100 +msgid "Reset" +msgstr "リセット" + +#: src/supertux/menu/profile_menu.cpp:103 +#: src/supertux/menu/profile_menu.cpp:105 +msgid "Reset all" +msgstr "すべてリセット" + +#: src/supertux/menu/profile_menu.cpp:113 +#: src/supertux/menu/profile_menu.cpp:115 +msgid "Delete all" +msgstr "すべて削除" + +#: src/supertux/menu/profile_menu.cpp:148 +#, c++-format +msgid "" +"This will reset all game progress on the profile \"{}\".\n" +"Are you sure?" +msgstr "プロファイル \"{}\" のすべてのセーブデータをリセットします。\nよろしいですか?" -#: src/supertux/menu/profile_menu.cpp:51 -msgid "Reset all profiles" -msgstr "すべてのプロファイルをリセット" +#: src/supertux/menu/profile_menu.cpp:157 +msgid "This will reset your game progress on all profiles. Are you sure?" +msgstr "すべてのプロファイルのセーブデータをリセットします。よろしいですか?" -#: src/supertux/menu/profile_menu.cpp:67 -msgid "Deleting your profile will reset your game progress. Are you sure?" -msgstr "プロファイルを削除すると、セーブデータがリセットされます。よろしいですか?" +#: src/supertux/menu/profile_menu.cpp:167 +#, c++-format +msgid "" +"This will delete the profile \"{}\",\n" +"including all game progress on it. Are you sure?" +msgstr "プロファイル \"{}\" を削除します。これにはこのプロファイルの\nすべてのセーブデータも含まれます。よろしいですか?" -#: src/supertux/menu/profile_menu.cpp:73 -msgid "This will reset your game progress on all profiles. Are you sure?" -msgstr "すべてのプロファイルのセーブデータがリセットされます。よろしいですか?" +#: src/supertux/menu/profile_menu.cpp:178 +msgid "" +"This will delete all profiles, including all game progress on them.\n" +"Are you sure?" +msgstr "すべてのプロファイルを削除します。これにはすべてのプロファイルの\nセーブデータも含まれます。よろしいですか?" -#: src/supertux/menu/editor_levelset_menu.cpp:59 +#: src/supertux/menu/editor_levelset_menu.cpp:53 #: src/supertux/menu/editor_new_levelset_menu.cpp:35 msgid "Description" msgstr "説明" -#: src/supertux/menu/editor_levelset_menu.cpp:60 -#: src/supertux/menu/addon_menu.cpp:48 -#: data//images/engine/editor/objects.stoi:371 -msgid "Worldmap" -msgstr "ワールドマップ" +#: src/supertux/menu/editor_levelset_menu.cpp:55 +msgid "Title Screen Level" +msgstr "" -#: src/supertux/menu/editor_levelset_menu.cpp:60 -#: src/supertux/menu/addon_menu.cpp:45 -msgid "Levelset" -msgstr "レベル集" +#: src/supertux/menu/editor_levelset_menu.cpp:56 +msgid "A level to be used for the title screen, after exiting the world." +msgstr "" -#: src/supertux/menu/addon_menu.cpp:51 -msgid "World" -msgstr "ワールド" +#: src/supertux/menu/multiplayer_players_menu.cpp:46 +msgid "Add Player" +msgstr "プレイヤーを追加" -#: src/supertux/menu/addon_menu.cpp:54 -msgid "Add-on" -msgstr "アドオン" +#: src/supertux/menu/multiplayer_players_menu.cpp:59 +msgid "Remove Last Player" +msgstr "最後のプレイヤーを削除" -#: src/supertux/menu/addon_menu.cpp:60 -msgid "Unknown" -msgstr "不明" +#: src/supertux/menu/multiplayer_players_menu.cpp:62 +msgid "" +"Warning: The player you are trying to\n" +"remove is currently in-game.\n" +"\n" +"Do you wish to remove them anyways?" +msgstr "警告: 削除しようとしているプレイヤーは\n現在プレイ中です。\n\n強制的に削除してもよろしいですか?" -#: src/supertux/menu/addon_menu.cpp:71 -#, c-format -msgid "{} \"{}\" by \"{}\"" -msgstr "{} \"{}\" 作成者: \"{}\"" +#: src/supertux/menu/addon_menu.cpp:68 +msgid "Installed Language Packs" +msgstr "インストール済み言語パック" + +#: src/supertux/menu/addon_menu.cpp:68 +msgid "Installed Add-ons" +msgstr "インストール済みアドオン" -#: src/supertux/menu/addon_menu.cpp:129 +#: src/supertux/menu/addon_menu.cpp:76 src/supertux/menu/addon_menu.cpp:117 +msgid "No language packs installed" +msgstr "言語パック未インストール" + +#: src/supertux/menu/addon_menu.cpp:76 msgid "No Add-ons installed" -msgstr "アドオンがインストールされていません" +msgstr "アドオン未インストール" -#: src/supertux/menu/addon_menu.cpp:133 -msgid "No Add-ons found" -msgstr "アドオンが見つかりませんでした" +#: src/supertux/menu/addon_menu.cpp:124 +#, c++-format +msgid "{} {}*UPDATE*" +msgstr "" -#: src/supertux/menu/addon_menu.cpp:179 -#, c-format -msgid "Install {} *NEW*" -msgstr "{} をインストール *新規*" +#: src/supertux/menu/addon_menu.cpp:130 +#, c++-format +msgid "{}{}" +msgstr "" -#: src/supertux/menu/addon_menu.cpp:190 -#, c-format -msgid "Install {}" -msgstr "{} をインストール" +#: src/supertux/menu/addon_menu.cpp:140 +msgid "No updates available." +msgstr "利用可能なアップデートはありません。" -#: src/supertux/menu/addon_menu.cpp:199 -msgid "No new Add-ons found" -msgstr "新しいアドオンは見つかりませんでした" +#: src/supertux/menu/addon_menu.cpp:144 +#, c++-format +msgid "{} {} available" +msgstr "{}件の{}が利用可能" -#: src/supertux/menu/addon_menu.cpp:205 -msgid "Check Online (disabled)" -msgstr "オンラインで調べる (無効)" +#: src/supertux/menu/addon_menu.cpp:144 +msgid "update" +msgstr "アップデート" -#: src/supertux/menu/addon_menu.cpp:209 -msgid "Check Online" -msgstr "オンラインで調べる" +#: src/supertux/menu/addon_menu.cpp:144 +msgid "updates" +msgstr "アップデート" -#: src/supertux/menu/addon_menu.cpp:286 -msgid "Downloading Add-On Repository Index" -msgstr "アドオンのレポジトリのインデックスをダウンロードしています" +#: src/supertux/menu/addon_menu.cpp:146 +msgid "Check for updates" +msgstr "アップデートを確認" -#: src/supertux/menu/addon_menu.cpp:301 -#, c-format -msgid "Downloading {}" -msgstr "{} をダウンロードしています" +#: src/supertux/menu/addon_menu.cpp:150 +msgid "Browse language packs" +msgstr "言語パックを探す" -#: src/supertux/menu/addon_menu.cpp:348 -msgid "" -"Please restart SuperTux\n" -"for these changes to take effect." -msgstr "これらの変更を反映するには、\nSuperTuxを再起動してください。" +#: src/supertux/menu/addon_menu.cpp:150 +#: src/supertux/menu/addon_browse_menu.cpp:70 +msgid "Browse Add-ons" +msgstr "アドオンを探す" + +#: src/supertux/menu/addon_menu.cpp:151 +msgid "Install from file" +msgstr "ファイルからインストール" + +#: src/supertux/menu/addon_menu.cpp:208 +msgid "Checking for updates..." +msgstr "アップデートを確認しています…" #: src/supertux/menu/editor_new_levelset_menu.cpp:31 msgid "New World" @@ -2613,13 +3647,60 @@ msgstr "このレベルのサブセットの名前を入力してください。 msgid "Story Mode" msgstr "ストーリーモード" +#: src/supertux/menu/addon_browse_menu.cpp:70 +msgid "Browse Language Packs" +msgstr "言語パックを探す" + +#: src/supertux/menu/addon_browse_menu.cpp:112 +#, c++-format +msgid "Page {}/{}" +msgstr "ページ {}/{}" + +#: src/supertux/menu/addon_browse_menu.cpp:124 +msgid "No new language packs available" +msgstr "利用可能な新しい言語パックなし" + +#: src/supertux/menu/addon_browse_menu.cpp:124 +msgid "No new Add-ons available" +msgstr "利用可能な新しいアドオンなし" + +#: src/supertux/menu/addon_browse_menu.cpp:127 +msgid "No language packs available" +msgstr "利用可能な言語パックなし" + +#: src/supertux/menu/addon_browse_menu.cpp:127 +msgid "No Add-ons available" +msgstr "利用可能なアドオンなし" + +#: src/supertux/menu/addon_browse_menu.cpp:135 +#: src/supertux/menu/addon_browse_menu.cpp:139 +msgid "Previous page" +msgstr "前のページ" + +#: src/supertux/menu/addon_browse_menu.cpp:143 +#: src/supertux/menu/addon_browse_menu.cpp:147 +msgid "Next page" +msgstr "次のページ" + +#: src/supertux/menu/addon_browse_menu.cpp:154 +msgid "Check Online (disabled)" +msgstr "オンラインで確認 (無効)" + +#: src/supertux/menu/addon_browse_menu.cpp:158 +msgid "Check Online" +msgstr "オンラインで確認" + +#: src/supertux/menu/addon_browse_menu.cpp:195 +msgid "Downloading Add-On Repository Index" +msgstr "アドオンのリポジトリのインデックスをダウンロードしています" + #: src/supertux/menu/web_asset_menu.cpp:42 msgid "New files location" msgstr "新しいファイルの場所" #: src/supertux/menu/web_asset_menu.cpp:43 msgid "Add Files" -msgstr "追加ファイル" +msgstr "ファイルを追加" #: src/supertux/menu/web_asset_menu.cpp:44 msgid "Download Files" @@ -2631,209 +3712,237 @@ msgstr "パーティクルファイルをロードする" #: src/supertux/menu/particle_editor_open.cpp:39 msgid "Open" -msgstr "開ける" +msgstr "開く" -#: src/supertux/menu/game_menu.cpp:31 -msgid "Are you sure?" -msgstr "よろしいですか?" - -#: src/supertux/menu/game_menu.cpp:54 src/supertux/menu/worldmap_menu.cpp:30 +#: src/supertux/menu/game_menu.cpp:51 src/supertux/menu/worldmap_menu.cpp:30 msgid "Continue" msgstr "続行" -#: src/supertux/menu/game_menu.cpp:55 +#: src/supertux/menu/game_menu.cpp:52 msgid "Restart Level" -msgstr "スタートからやり直す" +msgstr "レベルをやり直す" -#: src/supertux/menu/game_menu.cpp:58 +#: src/supertux/menu/game_menu.cpp:55 msgid "Restart from Checkpoint" msgstr "チェックポイントからやり直す" -#: src/supertux/menu/game_menu.cpp:63 +#: src/supertux/menu/game_menu.cpp:60 msgid "Abort Level" msgstr "レベルをやめる" -#: src/supertux/menu/keyboard_menu.cpp:32 -#: src/supertux/menu/joystick_menu.cpp:69 +#: src/supertux/menu/game_menu.cpp:76 src/supertux/menu/game_menu.cpp:87 +#: src/supertux/menu/game_menu.cpp:99 +msgid "Are you sure?" +msgstr "よろしいですか?" + +#: src/supertux/menu/profile_name_menu.cpp:36 +#, c++-format +msgid "Rename \"{}\"" +msgstr "\"{}\"の名前を変更" + +#: src/supertux/menu/profile_name_menu.cpp:36 +msgid "Add profile" +msgstr "プロファイルを追加" + +#: src/supertux/menu/profile_name_menu.cpp:40 +msgid "Profile names must have a maximum of 20 characters." +msgstr "プロファイル名は最大20文字です。" + +#: src/supertux/menu/profile_name_menu.cpp:42 +msgid "Create" +msgstr "作成" + +#: src/supertux/menu/profile_name_menu.cpp:56 +msgid "" +"Profile names must have a maximum of 20 characters.\n" +"Please choose a different name." +msgstr "プロファイル名は最大20文字です。\n他の名前を選択してください。" + +#: src/supertux/menu/profile_name_menu.cpp:77 +msgid "An error occurred while creating the profile." +msgstr "プロファイル作成中にエラーが発生しました。" + +#: src/supertux/menu/keyboard_menu.cpp:36 +#: src/supertux/menu/joystick_menu.cpp:71 msgid "Up" msgstr "上" -#: src/supertux/menu/keyboard_menu.cpp:33 -#: src/supertux/menu/joystick_menu.cpp:70 +#: src/supertux/menu/keyboard_menu.cpp:37 +#: src/supertux/menu/joystick_menu.cpp:72 msgid "Down" msgstr "下" -#: src/supertux/menu/keyboard_menu.cpp:36 -#: src/supertux/menu/joystick_menu.cpp:73 +#: src/supertux/menu/keyboard_menu.cpp:40 +#: src/supertux/menu/joystick_menu.cpp:75 msgid "Jump" msgstr "ジャンプ" -#: src/supertux/menu/keyboard_menu.cpp:38 -#: src/supertux/menu/joystick_menu.cpp:76 +#: src/supertux/menu/keyboard_menu.cpp:43 +#: src/supertux/menu/joystick_menu.cpp:78 msgid "Peek Left" msgstr "左を見る" -#: src/supertux/menu/keyboard_menu.cpp:39 -#: src/supertux/menu/joystick_menu.cpp:77 +#: src/supertux/menu/keyboard_menu.cpp:44 +#: src/supertux/menu/joystick_menu.cpp:79 msgid "Peek Right" msgstr "右を見る" -#: src/supertux/menu/keyboard_menu.cpp:40 -#: src/supertux/menu/joystick_menu.cpp:78 +#: src/supertux/menu/keyboard_menu.cpp:45 +#: src/supertux/menu/joystick_menu.cpp:80 msgid "Peek Up" msgstr "上を見る" -#: src/supertux/menu/keyboard_menu.cpp:41 -#: src/supertux/menu/joystick_menu.cpp:79 +#: src/supertux/menu/keyboard_menu.cpp:46 +#: src/supertux/menu/joystick_menu.cpp:81 msgid "Peek Down" msgstr "下を見る" -#: src/supertux/menu/keyboard_menu.cpp:43 -#: src/supertux/menu/joystick_menu.cpp:81 +#: src/supertux/menu/keyboard_menu.cpp:51 +#: src/supertux/menu/joystick_menu.cpp:83 msgid "Console" msgstr "コンソール" -#: src/supertux/menu/keyboard_menu.cpp:44 -#: src/supertux/menu/joystick_menu.cpp:82 +#: src/supertux/menu/keyboard_menu.cpp:52 +#: src/supertux/menu/joystick_menu.cpp:84 msgid "Cheat Menu" msgstr "攻略メニュー" -#: src/supertux/menu/keyboard_menu.cpp:45 -#: src/supertux/menu/joystick_menu.cpp:83 +#: src/supertux/menu/keyboard_menu.cpp:53 +#: src/supertux/menu/joystick_menu.cpp:85 msgid "Debug Menu" msgstr "デバッグメニュー" -#: src/supertux/menu/keyboard_menu.cpp:47 -#: src/supertux/menu/joystick_menu.cpp:85 +#: src/supertux/menu/keyboard_menu.cpp:56 +#: src/supertux/menu/joystick_menu.cpp:87 msgid "Jump with Up" msgstr "上キーでジャンプ" -#: src/supertux/menu/keyboard_menu.cpp:60 +#: src/supertux/menu/keyboard_menu.cpp:82 msgid "Up cursor" msgstr "上キー" -#: src/supertux/menu/keyboard_menu.cpp:62 +#: src/supertux/menu/keyboard_menu.cpp:84 msgid "Down cursor" msgstr "下キー" -#: src/supertux/menu/keyboard_menu.cpp:64 +#: src/supertux/menu/keyboard_menu.cpp:86 msgid "Left cursor" msgstr "左キー" -#: src/supertux/menu/keyboard_menu.cpp:66 +#: src/supertux/menu/keyboard_menu.cpp:88 msgid "Right cursor" msgstr "右キー" -#: src/supertux/menu/keyboard_menu.cpp:68 +#: src/supertux/menu/keyboard_menu.cpp:90 msgid "Return" msgstr "Returnキー" -#: src/supertux/menu/keyboard_menu.cpp:70 +#: src/supertux/menu/keyboard_menu.cpp:92 msgid "Space" msgstr "スペースキー" -#: src/supertux/menu/keyboard_menu.cpp:72 +#: src/supertux/menu/keyboard_menu.cpp:94 msgid "Right Shift" msgstr "右Shiftキー" -#: src/supertux/menu/keyboard_menu.cpp:74 +#: src/supertux/menu/keyboard_menu.cpp:96 msgid "Left Shift" msgstr "左Shiftキー" -#: src/supertux/menu/keyboard_menu.cpp:76 +#: src/supertux/menu/keyboard_menu.cpp:98 msgid "Right Control" msgstr "右Controlキー" -#: src/supertux/menu/keyboard_menu.cpp:78 +#: src/supertux/menu/keyboard_menu.cpp:100 msgid "Left Control" msgstr "左Controlキー" -#: src/supertux/menu/keyboard_menu.cpp:80 +#: src/supertux/menu/keyboard_menu.cpp:102 msgid "Right Alt" msgstr "右Altキー" -#: src/supertux/menu/keyboard_menu.cpp:82 +#: src/supertux/menu/keyboard_menu.cpp:104 msgid "Left Alt" msgstr "左Altキー" -#: src/supertux/menu/keyboard_menu.cpp:84 +#: src/supertux/menu/keyboard_menu.cpp:106 msgid "Right Command" msgstr "右のコマンドキー" -#: src/supertux/menu/keyboard_menu.cpp:86 +#: src/supertux/menu/keyboard_menu.cpp:108 msgid "Left Command" msgstr "左のコマンドキー" -#: src/supertux/menu/keyboard_menu.cpp:100 +#: src/supertux/menu/keyboard_menu.cpp:122 msgid "Press Key" msgstr "キーを押してください" -#: src/supertux/menu/language_menu.cpp:40 +#: src/supertux/menu/language_menu.cpp:43 msgid "Language" msgstr "言語" -#: src/supertux/menu/language_menu.cpp:42 +#: src/supertux/menu/language_menu.cpp:45 msgid "" msgstr "" -#: src/supertux/menu/joystick_menu.cpp:55 +#: src/supertux/menu/joystick_menu.cpp:57 msgid "Manual Configuration" msgstr "手動構成" -#: src/supertux/menu/joystick_menu.cpp:57 +#: src/supertux/menu/joystick_menu.cpp:59 msgid "" "Use manual configuration instead of SDL2's automatic GameController support" -msgstr "SDL2 の自動 GameController サポートの代わりに、手動構成を使用します" +msgstr "SDL2の自動GameControllerサポートの代わりに、手動構成を使用します" -#: src/supertux/menu/joystick_menu.cpp:75 +#: src/supertux/menu/joystick_menu.cpp:77 msgid "Pause/Menu" msgstr "ポーズ/メニュー" -#: src/supertux/menu/joystick_menu.cpp:91 +#: src/supertux/menu/joystick_menu.cpp:93 msgid "No Joysticks found" msgstr "ジョイスティックが見つかりません" -#: src/supertux/menu/joystick_menu.cpp:92 +#: src/supertux/menu/joystick_menu.cpp:94 msgid "Scan for Joysticks" msgstr "ジョイスティックを検索" -#: src/supertux/menu/joystick_menu.cpp:125 +#: src/supertux/menu/joystick_menu.cpp:127 msgid "Press Button" msgstr "ボタンを押してください" -#: src/supertux/menu/joystick_menu.cpp:162 +#: src/supertux/menu/joystick_menu.cpp:164 msgid "Axis " msgstr "軸" -#: src/supertux/menu/joystick_menu.cpp:165 +#: src/supertux/menu/joystick_menu.cpp:167 msgid "-" msgstr "-" -#: src/supertux/menu/joystick_menu.cpp:167 +#: src/supertux/menu/joystick_menu.cpp:169 msgid "+" msgstr "+" -#: src/supertux/menu/joystick_menu.cpp:174 +#: src/supertux/menu/joystick_menu.cpp:176 msgid "X2" msgstr "X2" -#: src/supertux/menu/joystick_menu.cpp:176 +#: src/supertux/menu/joystick_menu.cpp:178 msgid "Y2" msgstr "Y2" -#: src/supertux/menu/joystick_menu.cpp:189 +#: src/supertux/menu/joystick_menu.cpp:191 msgid "Hat Up" msgstr "ハットスイッチを上に" -#: src/supertux/menu/joystick_menu.cpp:193 +#: src/supertux/menu/joystick_menu.cpp:195 msgid "Hat Down" msgstr "ハットスイッチを下に" -#: src/supertux/menu/joystick_menu.cpp:197 +#: src/supertux/menu/joystick_menu.cpp:199 msgid "Hat Left" msgstr "ハットスイッチを左に" -#: src/supertux/menu/joystick_menu.cpp:201 +#: src/supertux/menu/joystick_menu.cpp:203 msgid "Hat Right" msgstr "ハットスイッチを右に" @@ -2845,58 +3954,53 @@ msgstr "ポーズ" msgid "Leave World" msgstr "ワールドを離れる" -#: src/supertux/menu/download_dialog.cpp:27 +#: src/supertux/menu/download_dialog.cpp:42 msgid "Abort Download" msgstr "ダウンロードを中止" -#: src/supertux/menu/download_dialog.cpp:42 -msgid "Error:\n" -msgstr "エラー:\n" - -#: src/supertux/menu/download_dialog.cpp:96 -msgid "Close" -msgstr "閉じる" - -#: src/supertux/menu/cheat_menu.cpp:33 -msgid "Bonus: Fire x 64" -msgstr "ボーナス:火×64" - -#: src/supertux/menu/cheat_menu.cpp:34 -msgid "Bonus: Ice x 64" -msgstr "おまけ:氷×64" - -#: src/supertux/menu/cheat_menu.cpp:35 -msgid "Bonus: Air x 64" -msgstr "おまけ:エアー×64" - -#: src/supertux/menu/cheat_menu.cpp:36 -msgid "Bonus: Earth x 64" -msgstr "おまけ:土×64" +#: src/supertux/menu/download_dialog.cpp:59 +#, c++-format +msgid "" +"Error:\n" +"{}" +msgstr "" -#: src/supertux/menu/cheat_menu.cpp:37 +#: src/supertux/menu/cheat_menu.cpp:38 msgid "Bonus: Star" msgstr "ボーナス: スター" -#: src/supertux/menu/cheat_menu.cpp:38 +#: src/supertux/menu/cheat_menu.cpp:39 msgid "Shrink Tux" msgstr "Tuxを小さくする" -#: src/supertux/menu/cheat_menu.cpp:39 +#: src/supertux/menu/cheat_menu.cpp:40 msgid "Kill Tux" msgstr "Tuxを殺す" +#: src/supertux/menu/cheat_menu.cpp:55 +msgid "Prevent Death" +msgstr "死なないようにする" + +#: src/supertux/menu/addon_file_install_menu.cpp:32 +msgid "Install Add-on from file" +msgstr "ファイルからアドオンをインストール" + +#: src/supertux/menu/addon_file_install_menu.cpp:34 +msgid "Drag and drop add-on ZIP archive" +msgstr "アドオンのZIPアーカイブをドラッグ&ドロップ" + #: src/supertux/menu/particle_editor_menu.cpp:32 msgid "Particle Editor" msgstr "パーティクルエディタ" #: src/supertux/menu/particle_editor_menu.cpp:36 -#: src/supertux/menu/editor_menu.cpp:45 +#: src/supertux/menu/editor_menu.cpp:60 msgid "Return to Editor" msgstr "エディターに戻る" #: src/supertux/menu/particle_editor_menu.cpp:37 msgid "New Particle Config" -msgstr "新しいパーティクル構成" +msgstr "新しいパーティクル設定" #: src/supertux/menu/particle_editor_menu.cpp:38 msgid "Save Particle Config" @@ -2908,14 +4012,14 @@ msgstr "パーティクル設定を名前を付けて保存..." #: src/supertux/menu/particle_editor_menu.cpp:40 msgid "Load Another Particle Config" -msgstr "別のパーティクル設定をロードする" +msgstr "別のパーティクル設定を読み込む" #: src/supertux/menu/particle_editor_menu.cpp:44 msgid "Open Particle Directory" -msgstr "オープン粒子ディレクトリ" +msgstr "パーティクルディレクトリを開く" #: src/supertux/menu/particle_editor_menu.cpp:45 -#: src/supertux/menu/editor_menu.cpp:88 +#: src/supertux/menu/editor_menu.cpp:118 msgid "Keyboard Shortcuts" msgstr "キーボードショートカット" @@ -2923,7 +4027,7 @@ msgstr "キーボードショートカット" msgid "Exit Particle Editor" msgstr "パーティクルエディタを終了する" -#: src/supertux/menu/particle_editor_menu.cpp:120 +#: src/supertux/menu/particle_editor_menu.cpp:121 msgid "" "Keyboard Shortcuts:\n" "---------------------\n" @@ -2933,20 +4037,20 @@ msgid "" "Ctrl+O = Open\n" "Ctrl+Z = Undo\n" "Ctrl+Y = Redo" -msgstr "キーボードショートカット:\n---------------------\nEsc = メニューを開く\nCtrl+S = 保存\nCtrl+Shift+S = 名前をつけて保存\nCtrl+O = 開く\nCtrl+Z = 元に戻す\nCtrl+Y = やり直し" +msgstr "キーボードショートカット:\n---------------------\nEsc = メニューを開く\nCtrl+S = 保存\nCtrl+Shift+S = 名前を付けて保存\nCtrl+O = 開く\nCtrl+Z = 元に戻す\nCtrl+Y = やり直し" -#: src/supertux/menu/particle_editor_menu.cpp:121 -#: src/supertux/menu/editor_menu.cpp:176 +#: src/supertux/menu/particle_editor_menu.cpp:122 +#: src/supertux/menu/editor_menu.cpp:206 msgid "Got it!" msgstr "了解" #: src/supertux/menu/editor_level_menu.cpp:31 -#: src/supertux/menu/editor_menu.cpp:86 +#: src/supertux/menu/editor_menu.cpp:116 msgid "Worldmap Settings" msgstr "ワールドマップの設定" #: src/supertux/menu/editor_level_menu.cpp:31 -#: src/supertux/menu/editor_menu.cpp:86 +#: src/supertux/menu/editor_menu.cpp:116 msgid "Level Settings" msgstr "レベルの設定" @@ -2954,7 +4058,7 @@ msgstr "レベルの設定" msgid "Author" msgstr "作成者" -#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1166 +#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1253 msgid "Contact" msgstr "連絡先" @@ -2986,99 +4090,129 @@ msgstr "このレベルの作成者を入力してください。" msgid "Please enter a license for this level." msgstr "このレベルのライセンスを入力してください。" -#: src/supertux/menu/editor_menu.cpp:38 +#: src/supertux/menu/editor_menu.cpp:53 msgid "tiny tile (4px)" msgstr "最小 (4px)" -#: src/supertux/menu/editor_menu.cpp:39 +#: src/supertux/menu/editor_menu.cpp:54 msgid "small tile (8px)" msgstr "小 (8px)" -#: src/supertux/menu/editor_menu.cpp:40 +#: src/supertux/menu/editor_menu.cpp:55 msgid "medium tile (16px)" msgstr "中 (16px)" -#: src/supertux/menu/editor_menu.cpp:41 +#: src/supertux/menu/editor_menu.cpp:56 msgid "big tile (32px)" msgstr "大 (32px)" -#: src/supertux/menu/editor_menu.cpp:46 +#: src/supertux/menu/editor_menu.cpp:61 msgid "Save Worldmap" msgstr "ワールドマップを保存" -#: src/supertux/menu/editor_menu.cpp:46 +#: src/supertux/menu/editor_menu.cpp:61 msgid "Save Level" msgstr "レベルを保存" -#: src/supertux/menu/editor_menu.cpp:55 +#: src/supertux/menu/editor_menu.cpp:65 msgid "Test Level" msgstr "レベルをテスト" -#: src/supertux/menu/editor_menu.cpp:59 +#: src/supertux/menu/editor_menu.cpp:67 msgid "Test Worldmap" msgstr "ワールドマップをテスト" -#: src/supertux/menu/editor_menu.cpp:62 +#: src/supertux/menu/editor_menu.cpp:72 msgid "Share Level" msgstr "レベルを共有" -#: src/supertux/menu/editor_menu.cpp:64 +#: src/supertux/menu/editor_menu.cpp:74 msgid "Package Add-On" -msgstr "アドオンにパッケージ" +msgstr "アドオンとしてパッケージ化" -#: src/supertux/menu/editor_menu.cpp:66 +#: src/supertux/menu/editor_menu.cpp:76 msgid "Open Level Directory" msgstr "レベルのディレクトリを開く" -#: src/supertux/menu/editor_menu.cpp:70 +#: src/supertux/menu/editor_menu.cpp:79 msgid "Edit Another Level" msgstr "別のレベルを編集" -#: src/supertux/menu/editor_menu.cpp:73 +#: src/supertux/menu/editor_menu.cpp:81 msgid "Edit Another World" msgstr "別のワールドを編集" -#: src/supertux/menu/editor_menu.cpp:77 +#: src/supertux/menu/editor_menu.cpp:86 +msgid "Convert all tiles in the level using converters." +msgstr "コンバーターを使用して、レベル内のすべてのタイルを変換します。" + +#: src/supertux/menu/editor_menu.cpp:90 msgid "Grid Size" msgstr "グリッドサイズ" -#: src/supertux/menu/editor_menu.cpp:78 +#: src/supertux/menu/editor_menu.cpp:91 msgid "Show Grid" msgstr "グリッドを表示" -#: src/supertux/menu/editor_menu.cpp:79 +#: src/supertux/menu/editor_menu.cpp:92 msgid "Grid Snapping" msgstr "グリッドにスナップ" -#: src/supertux/menu/editor_menu.cpp:80 +#: src/supertux/menu/editor_menu.cpp:93 msgid "Render Background" msgstr "背景を表示" -#: src/supertux/menu/editor_menu.cpp:81 +#: src/supertux/menu/editor_menu.cpp:94 msgid "Render Light" msgstr "光を表示" -#: src/supertux/menu/editor_menu.cpp:82 +#: src/supertux/menu/editor_menu.cpp:95 msgid "Autotile Mode" msgstr "自動タイル作成モード" -#: src/supertux/menu/editor_menu.cpp:83 +#: src/supertux/menu/editor_menu.cpp:96 msgid "Enable Autotile Help" msgstr "自動タイル作成モードを有効にする" -#: src/supertux/menu/editor_menu.cpp:84 +#: src/supertux/menu/editor_menu.cpp:97 +msgid "Enable Object Undo Tracking" +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:100 +msgid "Undo Stack Size" +msgstr "アンドゥのスタックサイズ" + +#: src/supertux/menu/editor_menu.cpp:102 msgid "Autosave Frequency" msgstr "自動保存する間隔" -#: src/supertux/menu/editor_menu.cpp:91 +#: src/supertux/menu/editor_menu.cpp:108 +msgid "Check for Deprecated Tiles" +msgstr "非推奨のタイルを確認" + +#: src/supertux/menu/editor_menu.cpp:109 +msgid "Check if any deprecated tiles are currently present in the level." +msgstr "レベルに非推奨のタイルが存在していないか確認します。" + +#: src/supertux/menu/editor_menu.cpp:110 +msgid "Show Deprecated Tiles" +msgstr "非推奨のタイルを表示" + +#: src/supertux/menu/editor_menu.cpp:111 +msgid "" +"Indicate all deprecated tiles on the active tilemap, without the need of " +"hovering over." +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:121 msgid "Exit Level Editor" msgstr "レベルエディターを終了" -#: src/supertux/menu/editor_menu.cpp:140 +#: src/supertux/menu/editor_menu.cpp:170 msgid "Do you want to package this world as an add-on?" -msgstr "このワールドをアドオンとしてパッケージしますか?" +msgstr "このワールドをアドオンとしてパッケージ化しますか?" -#: src/supertux/menu/editor_menu.cpp:163 +#: src/supertux/menu/editor_menu.cpp:196 msgid "" "We encourage you to share your levels in the SuperTux forum.\n" "To find your level, click the\n" @@ -3086,7 +4220,7 @@ msgid "" "Do you want to go to the forum now?" msgstr "SuperTuxフォーラムで自作のレベルを共有することをおすすめします。\n自作のレベルを見つけるには、メニュー項目の\n\"レベルディレクトリを開く\"をクリックしてください。\n今すぐフォーラムに移動しますか?" -#: src/supertux/menu/editor_menu.cpp:175 +#: src/supertux/menu/editor_menu.cpp:205 msgid "" "Keyboard Shortcuts:\n" "---------------------\n" @@ -3097,54 +4231,217 @@ msgid "" "Ctrl+Y = Redo\n" "F6 = Render Light\n" "F7 = Grid Snapping\n" -"F8 = Show Grid" -msgstr "キーボードショートカット:\n---------------------\nEsc = メニューを開く\nCtrl+S = 保存\nCtrl+T = テスト\nCtrl+Z = 元に戻す\nCtrl+Y = やり直し\nF6 = 光を表示\nF7 = グリッドにスナップ\nF8 = グリッドを表示" +"F8 = Show Grid\n" +"Ctrl++ or Ctrl+Scroll Up = Zoom In\n" +"Ctrl+- or Ctrl+Scroll Down = Zoom Out\n" +"Ctrl+D = Reset Zoom\n" +"\n" +"Scripting Shortcuts:\n" +" ------------- \n" +"Home = Go to beginning of line\n" +"End = Go to end of line\n" +"Left arrow = Go back in text\n" +"Right arrow = Go forward in text\n" +"Backspace = Delete in front of text cursor\n" +"Delete = Delete behind text cursor\n" +"Ctrl+X = Cut whole line\n" +"Ctrl+C = Copy whole line\n" +"Ctrl+V = Paste\n" +"Ctrl+D = Duplicate line\n" +"Ctrl+Z = Undo\n" +"Ctrl+Y = Redo" +msgstr "" -#: src/supertux/menu/editor_delete_level_menu.cpp:53 -msgid "You cannot delete level that you are editing!" -msgstr "編集中のレベルは削除できません。" +#: src/supertux/menu/editor_menu.cpp:232 +msgid "Deprecated tiles are still present in the level." +msgstr "レベルに非推奨のタイルが存在します。" -#: src/supertux/levelintro.cpp:136 -#, c-format +#: src/supertux/menu/editor_menu.cpp:239 +msgid "Do you want to show all deprecated tiles on active tilemaps?" +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:246 +msgid "There are no more deprecated tiles in the level!" +msgstr "レベルに非推奨のタイルは存在しません!" + +#: src/supertux/menu/multiplayer_player_menu.cpp:40 +msgid "Play with the keyboard" +msgstr "キーボードでプレイ" + +#: src/supertux/menu/multiplayer_player_menu.cpp:58 +msgid "Remove Player" +msgstr "プレイヤーを削除" + +#: src/supertux/menu/multiplayer_player_menu.cpp:82 +msgid "Respawn Player" +msgstr "プレイヤーを再スタート" + +#: src/supertux/menu/multiplayer_player_menu.cpp:108 +msgid "Spawn Player" +msgstr "プレイヤーをスタート" + +#: src/supertux/menu/multiplayer_player_menu.cpp:136 +msgid "Controllers" +msgstr "コントローラー" + +#: src/supertux/menu/multiplayer_player_menu.cpp:152 +msgid "" +"This controller does not support rumbling;\n" +"please check the controllers manually." +msgstr "" + +#: src/supertux/menu/multiplayer_player_menu.cpp:157 +msgid "" +"This SuperTux build does not support rumbling\n" +"controllers; please check the controllers manually." +msgstr "" + +#: src/supertux/menu/multiplayer_player_menu.cpp:184 +msgid "" +"This joystick does not support rumbling;\n" +"please check the joysticks manually." +msgstr "" + +#: src/supertux/menu/multiplayer_player_menu.cpp:189 +msgid "" +"This SuperTux build does not support rumbling\n" +"joysticks; please check the joysticks manually." +msgstr "" + +#: src/supertux/menu/editor_delete_level_menu.cpp:59 +msgid "No levels available" +msgstr "利用可能なレベルなし" + +#: src/supertux/menu/editor_delete_level_menu.cpp:79 +msgid "You cannot delete the level that you are editing!" +msgstr "編集中のレベルは削除できません!" + +#: src/supertux/menu/editor_delete_level_menu.cpp:82 +#, c++-format +msgid "You are about to delete level \"{}\". Are you sure?" +msgstr "レベル \"{}\" を削除しようとしています。よろしいですか?" + +#: src/supertux/levelintro.cpp:137 +#, c++-format msgid "contributed by {}" -msgstr "{} さんの作品" +msgstr "" -#: src/supertux/levelintro.cpp:169 +#: src/supertux/levelintro.cpp:184 msgid "Badguys killed" msgstr "倒した敵の数" -#: src/supertux/levelintro.cpp:177 +#: src/supertux/levelintro.cpp:192 msgid "Best time" msgstr "最短時間" -#: src/supertux/levelintro.cpp:181 +#: src/supertux/levelintro.cpp:196 msgid "Level target time" msgstr "レベルの目標時間" -#: src/supertux/tile_set.cpp:118 +#: src/supertux/tile_set.cpp:113 msgid "Others" msgstr "その他" -#: src/supertux/moving_object.cpp:55 +#: src/supertux/direction.cpp:67 +msgid "up" +msgstr "上へ" + +#: src/supertux/direction.cpp:69 +msgid "down" +msgstr "下へ" + +#: src/supertux/moving_object.cpp:63 msgid "Region" msgstr "地域" -#: src/supertux/main.cpp:563 +#: src/supertux/main.cpp:801 +#, c++-format +msgid "New release: SuperTux v{}!" +msgstr "新しいバージョン: SuperTux v{}!" + +#: src/supertux/main.cpp:804 +#, c++-format msgid "" -"The UBports version is under heavy development!\n" -"If you encounter issues, PLEASE contact the maintainter\n" -"at https://github.com/supertux/supertux/issues or on the\n" -"Open Store's Telegram at https://open-store.io/telegram" -msgstr "UBports バージョンは鋭意開発中です。\n問題が発生した場合は、メンテナンス担当者に連絡してください\nhttps://github.com/supertux/supertux/issues または\nhttps://open-store.io/telegram で Store の Telegram を開く" +"A new release of SuperTux (v{}) is available!\n" +"For more information, you can visit the SuperTux website.\n" +"\n" +"Do you want to visit the website now?" +msgstr "SuperTux (v{}) が利用可能です!\n詳細はSuperTuxのWebサイトで確認できます。\n\n今すぐWebサイトで確認しますか?" + +#: src/supertux/main.cpp:815 +msgid "Checking for new releases..." +msgstr "新しいバージョンを確認しています…" #: src/control/joystick_config.cpp:85 msgid "Joystick Mappings" msgstr "ジョイスティックのマッピング" -#: src/worldmap/worldmap_parser.cpp:167 +#: src/worldmap/sprite_change.cpp:91 +msgid "Stay action" +msgstr "滞在行動" + +#: src/worldmap/sprite_change.cpp:92 +msgid "Initial stay action" +msgstr "初期滞在行動" + +#: src/worldmap/sprite_change.cpp:93 +msgid "Stay group" +msgstr "グループにとどまる" + +#: src/worldmap/sprite_change.cpp:94 +msgid "Change on touch" +msgstr "タッチに変更" + +#: src/worldmap/special_tile.hpp:36 +msgid "Special Tile" +msgstr "特別なタイル" + +#: src/worldmap/level_tile.hpp:36 src/worldmap/level_tile.cpp:161 +msgid "Level" +msgstr "レベル" + +#: src/worldmap/teleporter.cpp:50 +msgid "Automatic" +msgstr "自動" + +#: src/worldmap/teleporter.cpp:51 +msgid "Target worldmap" +msgstr "ターゲットのワールドマップ" + +#: src/worldmap/sprite_change.hpp:35 +msgid "Sprite Change" +msgstr "スプライトの変更" + +#: src/worldmap/special_tile.cpp:75 +msgid "Show message" +msgstr "メッセージを表示" + +#: src/worldmap/level_tile.cpp:84 msgid "" msgstr "" +#: src/worldmap/level_tile.cpp:162 +msgid "Outro script" +msgstr "終了時のスクリプト" + +#: src/worldmap/level_tile.cpp:163 +msgid "Auto play" +msgstr "自動的に開始" + +#: src/worldmap/level_tile.cpp:164 +msgid "Title colour" +msgstr "タイトルの色" + +#: src/worldmap/teleporter.hpp:34 +msgid "Teleporter" +msgstr "テレポート" + +#: src/editor/tip.cpp:80 +msgid "" +"This object's current functionality is deprecated.\n" +"Updating to get its latest functionality is recommended." +msgstr "" + #: src/editor/node_marker.cpp:122 msgid "Path Node" msgstr "パスの接点" @@ -3157,85 +4454,82 @@ msgstr "CTRL を押してベジェ ハンドルを移動します" msgid "Easing" msgstr "イージング" -#: src/editor/object_settings.cpp:119 -msgid "up" -msgstr "上へ" - -#: src/editor/object_settings.cpp:119 -msgid "down" -msgstr "下へ" - -#: src/editor/object_settings.cpp:131 +#: src/editor/object_settings.cpp:129 msgid "West" msgstr "西" -#: src/editor/object_settings.cpp:131 +#: src/editor/object_settings.cpp:129 msgid "East" msgstr "東" -#: src/editor/object_settings.cpp:131 +#: src/editor/object_settings.cpp:129 msgid "North" msgstr "北" -#: src/editor/object_settings.cpp:131 +#: src/editor/object_settings.cpp:129 msgid "South" msgstr "南" -#: src/editor/object_settings.cpp:144 +#: src/editor/object_settings.cpp:142 msgid "One shot" msgstr "一度" -#: src/editor/object_settings.cpp:144 +#: src/editor/object_settings.cpp:142 msgid "Ping-pong" msgstr "往復" -#: src/editor/object_settings.cpp:144 +#: src/editor/object_settings.cpp:142 msgid "Circular" msgstr "円形" -#: src/editor/object_settings.cpp:144 -msgid "Unordered" -msgstr "順不同" +#: src/editor/layers_widget.cpp:331 +#, c++-format +msgid "Sector: {}" +msgstr "" -#: src/editor/object_option.cpp:85 +#: src/editor/object_option.cpp:92 msgid "true" msgstr "はい" -#: src/editor/object_option.cpp:85 +#: src/editor/object_option.cpp:92 msgid "false" msgstr "いいえ" -#: src/editor/object_option.cpp:271 src/editor/object_option.cpp:320 +#: src/editor/object_option.cpp:308 src/editor/object_option.cpp:356 msgid "invalid" msgstr "無効" -#: src/editor/object_option.cpp:580 +#: src/editor/object_option.cpp:665 +msgid "Scale X" +msgstr "" + +#: src/editor/object_option.cpp:666 +msgid "Scale Y" +msgstr "" + +#: src/editor/object_option.cpp:667 +msgid "Offset X" +msgstr "オフセットX" + +#: src/editor/object_option.cpp:668 +msgid "Offset Y" +msgstr "オフセットY" + +#: src/editor/object_option.cpp:672 src/editor/object_menu.cpp:67 msgid "Remove" msgstr "削除" -#: src/editor/object_option.cpp:597 +#: src/editor/object_option.cpp:689 msgid "Test from here" msgstr "ここからテスト" -#: src/editor/object_option.cpp:614 +#: src/editor/object_option.cpp:706 msgid "Open Particle Editor" msgstr "パーティクルエディタを開く" -#: src/editor/worldmap_objects.hpp:56 src/editor/worldmap_objects.cpp:127 -msgid "Level" -msgstr "レベル" - -#: src/editor/worldmap_objects.hpp:79 -msgid "Teleporter" -msgstr "テレポート" - -#: src/editor/worldmap_objects.hpp:119 -msgid "Sprite Change" -msgstr "スプライトの変更" - -#: src/editor/worldmap_objects.hpp:140 -msgid "Special tile" -msgstr "スペシャルタイル" +#: src/editor/particle_editor.cpp:114 +msgid "Change texture... ->" +msgstr "" #: src/editor/particle_editor.cpp:126 msgid "Max amount" @@ -3317,29 +4611,76 @@ msgstr "常に破壊する" msgid "Offscreen mode" msgstr "オフスクリーンモード" -#: src/editor/particle_editor.cpp:765 +#: src/editor/particle_editor.cpp:229 +msgid "Clear" +msgstr "" + +#: src/editor/particle_editor.cpp:245 +msgid "<- General settings" +msgstr "" + +#: src/editor/particle_editor.cpp:255 +msgid "Likeliness" +msgstr "" + +#: src/editor/particle_editor.cpp:266 +msgid "Color (RGBA)" +msgstr "" + +#: src/editor/particle_editor.cpp:311 +msgid "Scale (x, y)" +msgstr "" + +#: src/editor/particle_editor.cpp:332 +msgid "Hitbox scale (x, y)" +msgstr "" + +#: src/editor/particle_editor.cpp:353 +msgid "Hitbox offset relative to scale" +msgstr "" + +#: src/editor/particle_editor.cpp:372 +msgid "Change texture..." +msgstr "" + +#: src/editor/particle_editor.cpp:766 msgid "" "This particle configuration contains unsaved changes,\n" "do you want to save?" -msgstr "このパーティクル設定には保存されていない変更が含まれています。\n保存したいですか?" +msgstr "このパーティクル設定には保存されていない変更が含まれています。\n保存しますか?" -#: src/editor/particle_editor.cpp:773 +#: src/editor/particle_editor.cpp:774 msgid "Save as" msgstr "名前を付けて保存" -#: src/editor/editor.cpp:566 +#: src/editor/editor.cpp:577 +msgid "" +"This level contains deprecated tiles.\n" +"It is strongly recommended to replace all deprecated tiles\n" +"to avoid loss of compatibility in future versions." +msgstr "" + +#: src/editor/editor.cpp:579 +msgid "Tip: Turn on \"Show Deprecated Tiles\" from the level editor menu." +msgstr "ヒント: レベルエディターのメニューから、\"非推奨のタイルを表示\"をオンにしてください。" + +#: src/editor/editor.cpp:626 msgid "" "Don't forget that your levels and assets\n" "aren't saved between sessions!\n" "If you want to keep your levels, download them\n" "from the \"Manage Assets\" menu." -msgstr "レベルと資産を忘れないでください\nセッション間では保存されません。\nレベルを保持したい場合は、ダウンロードしてください\n「資産の管理」メニューから。" +msgstr "レベルと資産はセッションをまたぐと\n破棄されます!\nレベルを保持したい場合は、\"資産の管理\"\nメニューからダウンロードしてください。" -#: src/editor/editor.cpp:582 +#: src/editor/editor.cpp:661 msgid "This level contains unsaved changes, do you want to save?" msgstr "このレベルには未保存の変更があります。保存しますか?" -#: src/editor/editor.cpp:622 +#: src/editor/editor.cpp:662 +msgid "This level may contain unsaved changes, do you want to save?" +msgstr "このレベルには未保存の変更がある可能性があります。保存しますか?" + +#: src/editor/editor.cpp:797 msgid "" "Some obsolete add-ons are still active\n" "and might cause collisions with default Super Tux structure.\n" @@ -3347,103 +4688,81 @@ msgid "" "Disabling these add-ons will not delete your game progress." msgstr "一部の古いアドオンが有効になっているため、\nSuperTuxデフォルトのストラクチャーとの競合を起こしている可能性があります。\nこれらのアドオンをメニューで有効にすることができます。\nこれらのアドオンを無効にしても、ゲームはリセットされません。" -#: src/editor/editor.cpp:625 +#: src/editor/editor.cpp:800 msgid "Disable add-ons" msgstr "アドオンを無効にする" -#: src/editor/editor.cpp:630 +#: src/editor/editor.cpp:805 msgid "Ignore (not advised)" msgstr "無視 (非推奨)" -#: src/editor/editor.cpp:634 +#: src/editor/editor.cpp:809 msgid "Leave editor" msgstr "エディターを終了" -#: src/editor/editor.cpp:853 +#: src/editor/editor.cpp:1023 msgid "" "Couldn't find a \"main\" sector.\n" "Please change the name of the sector where\n" "you'd like the player to start to \"main\"" msgstr "\"main\" セクターを見つけられませんでした。\nプレイヤーが開始するセクターの名前を\n\"main\" に変更してください。" -#: src/editor/editor.cpp:857 +#: src/editor/editor.cpp:1027 msgid "" "Couldn't find a \"main\" spawnpoint.\n" " Please change the name of the spawnpoint where\n" "you'd like the player to start to \"main\"" msgstr "スタート地点 \"main\" を見つけられませんでした。\nプレイヤーのスタート地点の名前を\n\"main\" に変更してください。" -#: src/editor/worldmap_objects.cpp:128 -msgid "Outro script" -msgstr "終了時のスクリプト" - -#: src/editor/worldmap_objects.cpp:129 -msgid "Auto play" -msgstr "自動的に開始" - -#: src/editor/worldmap_objects.cpp:131 -msgid "Title colour" -msgstr "タイトルの色" - -#: src/editor/worldmap_objects.cpp:173 -msgid "Automatic" -msgstr "自動" - -#: src/editor/worldmap_objects.cpp:175 -msgid "Target worldmap" -msgstr "ターゲットのワールドマップ" - -#: src/editor/worldmap_objects.cpp:238 -msgid "Stay action" -msgstr "滞在行動" +#: src/editor/object_menu.cpp:60 +msgid "Patch Notes" +msgstr "パッチノート" -#: src/editor/worldmap_objects.cpp:239 -msgid "Initial stay action" -msgstr "初期滞在行動" - -#: src/editor/worldmap_objects.cpp:240 -msgid "Stay group" -msgstr "グループにとどまる" - -#: src/editor/worldmap_objects.cpp:241 -msgid "Change on touch" -msgstr "タッチに変更" +#: src/editor/object_menu.cpp:84 +msgid "" +"This will update the object to its latest functionality.\n" +"Check the \"Patch Notes\" for more information.\n" +"\n" +"Keep in mind this is very likely to break the proper behaviour of the object.\n" +"Make sure to re-check any behaviour, related to the object." +msgstr "" -#: src/editor/worldmap_objects.cpp:271 -msgid "Show message" -msgstr "メッセージを表示" +#: src/editor/object_menu.cpp:98 +#, c++-format +msgid "Patch notes for v{}:" +msgstr "v{}のパッチノート:" -#: src/editor/worldmap_objects.cpp:273 -msgid "Invisible" -msgstr "非表示" +#: src/editor/overlay_widget.cpp:1062 +msgid "Cannot select deprecated tiles" +msgstr "非推奨のタイルを選択できません" -#: src/editor/overlay_widget.cpp:1297 +#: src/editor/overlay_widget.cpp:1567 msgid "Autotile mode is on" msgstr "自動タイル作成モードがオン" -#: src/editor/overlay_widget.cpp:1299 +#: src/editor/overlay_widget.cpp:1571 msgid "Hold Ctrl to enable autotile" msgstr "Ctrlを押して自動的にタイルを作成" -#: src/editor/overlay_widget.cpp:1303 +#: src/editor/overlay_widget.cpp:1578 msgid "Autotile erasing mode is on" msgstr "自動タイル削除モードがオン" -#: src/editor/overlay_widget.cpp:1305 +#: src/editor/overlay_widget.cpp:1582 msgid "Selected tile isn't autotileable" msgstr "自動タイル作成モードが使えないタイルです" -#: src/editor/overlay_widget.cpp:1308 +#: src/editor/overlay_widget.cpp:1587 msgid "Hold Ctrl to enable autotile erasing" -msgstr "Ctrlを押して自動的にタイルを削除" +msgstr "Ctrlを押し続けて自動的にタイルを削除" #: data//credits.stxt:25 msgid "Current SuperTux Team" msgstr "現在のSuperTuxチーム" #: data//credits.stxt:30 -msgid "Programming, project lead ad interim" -msgstr "プログラミング、プロジェクトリーダー" +msgid "Maintainer, Programming" +msgstr "" #: data//credits.stxt:35 msgid "Graphics, Level Design, Story" @@ -3453,12 +4772,12 @@ msgstr "グラフィックス、レベルデザイン、ストーリー" msgid "Level Design, Story, Optimisation, Coordination" msgstr "レベルデザイン、ストーリー、最適化、調整" -#: data//credits.stxt:45 data//credits.stxt:105 data//credits.stxt:191 -#: data//credits.stxt:519 +#: data//credits.stxt:45 data//credits.stxt:120 data//credits.stxt:206 +#: data//credits.stxt:538 msgid "Graphics" msgstr "グラフィックス" -#: data//credits.stxt:50 data//credits.stxt:87 data//credits.stxt:93 +#: data//credits.stxt:50 data//credits.stxt:102 data//credits.stxt:108 msgid "Graphics, Programming, Level Design" msgstr "グラフィックス、プログラミング、レベルデザイン" @@ -3467,256 +4786,266 @@ msgid "Features and Programming" msgstr "機能とプログラミング" #: data//credits.stxt:60 +msgid "Minor features and programming" +msgstr "マイナーな機能とプログラミング" + +#: data//credits.stxt:65 msgid "Programming, Level Updates" msgstr "プログラミング、レベルアップデート" -#: data//credits.stxt:65 +#: data//credits.stxt:70 msgid "Graphics, Programming" msgstr "グラフィックス、プログラミング" -#: data//credits.stxt:70 data//credits.stxt:135 data//credits.stxt:140 -#: data//credits.stxt:145 data//credits.stxt:150 data//credits.stxt:165 -#: data//credits.stxt:170 data//credits.stxt:515 data//credits.stxt:527 +#: data//credits.stxt:75 data//credits.stxt:85 data//credits.stxt:150 +#: data//credits.stxt:155 data//credits.stxt:160 data//credits.stxt:165 +#: data//credits.stxt:180 data//credits.stxt:185 data//credits.stxt:534 +#: data//credits.stxt:546 msgid "Programming" msgstr "プログラミング" -#: data//credits.stxt:76 +#: data//credits.stxt:80 data//credits.stxt:266 +msgid "Level Design" +msgstr "レベルデザイン" + +#: data//credits.stxt:91 msgid "Original Developers" msgstr "オリジナルの開発者" -#: data//credits.stxt:81 +#: data//credits.stxt:96 msgid "Original Developer" msgstr "オリジナルの開発者" -#: data//credits.stxt:99 +#: data//credits.stxt:114 msgid "Music, Level Design" msgstr "音楽、レベルデザイン" -#: data//credits.stxt:111 +#: data//credits.stxt:126 msgid "Programming, Graphics, Level Design" msgstr "プログラミング、グラフィックス、レベルデザイン" -#: data//credits.stxt:117 +#: data//credits.stxt:132 msgid "Programming, Level Design" msgstr "プログラミング、レベルザイン" -#: data//credits.stxt:123 +#: data//credits.stxt:138 msgid "Graphics, Story" msgstr "グラフィックス、ストーリー" -#: data//credits.stxt:129 +#: data//credits.stxt:144 msgid "Programming, Documentation" msgstr "プログラミング、ドキュメント作成" -#: data//credits.stxt:155 +#: data//credits.stxt:170 msgid "Coordination" msgstr "調整" -#: data//credits.stxt:160 +#: data//credits.stxt:175 msgid "Programming, \"Flexlay\" Level editor" msgstr "プログラミング、 Flexlay レベルエディター" -#: data//credits.stxt:175 +#: data//credits.stxt:190 msgid "Windows build fixes" msgstr "Windows ビルドの修正" -#: data//credits.stxt:180 +#: data//credits.stxt:195 msgid "Packaging, Nightly builds" msgstr "パッケージ化、アルファ版ビルド" -#: data//credits.stxt:185 +#: data//credits.stxt:200 msgid "Translation Guru (and many details anyone else could have done)" msgstr "尊敬すべき翻訳者 (その他、たくさんの協力者の方々)" -#: data//credits.stxt:251 -msgid "Level Design" -msgstr "レベルデザイン" - -#: data//credits.stxt:431 +#: data//credits.stxt:450 msgid "Additional contributors" msgstr "貢献者" -#: data//credits.stxt:436 +#: data//credits.stxt:455 msgid "Bug fixes" msgstr "バグ修正" -#: data//credits.stxt:440 +#: data//credits.stxt:459 msgid "Scripting functions, Level fixes" msgstr "スクリプト機能、レベル修正" -#: data//credits.stxt:444 +#: data//credits.stxt:463 msgid "Code quality fixes" msgstr "コードリファクタリング" -#: data//credits.stxt:448 data//credits.stxt:452 data//credits.stxt:456 -#: data//credits.stxt:483 +#: data//credits.stxt:467 data//credits.stxt:471 data//credits.stxt:475 +#: data//credits.stxt:502 msgid "Various contributions" msgstr "様々な協力" -#: data//credits.stxt:460 +#: data//credits.stxt:479 msgid "Build issue fix" msgstr "ビルドの問題修正" -#: data//credits.stxt:464 data//credits.stxt:468 +#: data//credits.stxt:483 data//credits.stxt:487 msgid "Code contributions" msgstr "プログラミングの協力" -#: data//credits.stxt:471 +#: data//credits.stxt:490 msgid "Code contribution, AppData file" msgstr "プログラミングの協力、アプリデータファイル" -#: data//credits.stxt:475 +#: data//credits.stxt:494 msgid "Bug fix" msgstr "バグ修正" -#: data//credits.stxt:479 +#: data//credits.stxt:498 msgid "Menu reorganization" msgstr "メニューの整理" -#: data//credits.stxt:487 +#: data//credits.stxt:506 msgid "Fixing tile bugs" msgstr "タイルのバグ修正" -#: data//credits.stxt:491 +#: data//credits.stxt:510 msgid "Build error fix" msgstr "ビルドエラー修正" -#: data//credits.stxt:495 +#: data//credits.stxt:514 msgid "Scripting function fix" msgstr "スクリプト機能の修正" -#: data//credits.stxt:499 +#: data//credits.stxt:518 msgid "New features and notable updates" msgstr "新機能と注目すべきアップデート" -#: data//credits.stxt:503 +#: data//credits.stxt:522 msgid "Support for \"glbinding\" as optional OpenGL binding" msgstr "オプションでの glbinding による OpenGL バインディング対応" -#: data//credits.stxt:507 +#: data//credits.stxt:526 msgid "New menu code" msgstr "新メニューコード" -#: data//credits.stxt:511 +#: data//credits.stxt:530 msgid "Big Tux Walking Sprites improvements" msgstr "大きい Tux ウォーキング スプライトの改善" -#: data//credits.stxt:523 data//credits.stxt:531 +#: data//credits.stxt:542 data//credits.stxt:550 msgid "Contrib Programming" msgstr "プログラムの協力" -#: data//credits.stxt:535 +#: data//credits.stxt:554 msgid "Programming, Previous Maintainer" msgstr "プログラミング、以前のメンテナー" -#: data//credits.stxt:539 +#: data//credits.stxt:558 msgid "Various Contributions" msgstr "さまざまな貢献" -#: data//credits.stxt:543 -msgid "Minor features and programming" -msgstr "マイナーな機能とプログラミング" - -#: data//credits.stxt:547 data//credits.stxt:551 data//credits.stxt:555 -#: data//credits.stxt:559 data//credits.stxt:563 data//credits.stxt:567 -#: data//credits.stxt:571 data//credits.stxt:575 data//credits.stxt:579 -#: data//credits.stxt:583 data//credits.stxt:587 data//credits.stxt:591 +#: data//credits.stxt:562 data//credits.stxt:566 data//credits.stxt:570 +#: data//credits.stxt:574 data//credits.stxt:578 data//credits.stxt:582 +#: data//credits.stxt:586 data//credits.stxt:590 data//credits.stxt:594 +#: data//credits.stxt:598 data//credits.stxt:602 data//credits.stxt:606 +#: data//credits.stxt:610 data//credits.stxt:614 data//credits.stxt:618 +#: data//credits.stxt:622 data//credits.stxt:626 data//credits.stxt:630 +#: data//credits.stxt:634 data//credits.stxt:638 data//credits.stxt:642 +#: data//credits.stxt:646 data//credits.stxt:650 data//credits.stxt:654 +#: data//credits.stxt:658 data//credits.stxt:662 msgid "Contributions" msgstr "貢献" -#: data//credits.stxt:597 +#: data//credits.stxt:668 msgid "Localization" msgstr "多言語対応" -#: data//credits.stxt:1144 +#: data//credits.stxt:1231 msgid " Special Thanks to" msgstr " Special Thanks" -#: data//credits.stxt:1149 +#: data//credits.stxt:1236 msgid "Creator of Tux, the Linux penguin" msgstr "Linux のペンギンである Tux の作者" -#: data//credits.stxt:1153 +#: data//credits.stxt:1240 msgid "SDL, OpenAL and OpenGL" msgstr "SDL、OpenAL、OpenGL" -#: data//credits.stxt:1154 +#: data//credits.stxt:1241 msgid "" "For making such a great gaming experience\n" " possible on Linux" msgstr "Linux 上でこのような素晴らしいゲーム体験を\n作り出せることに" -#: data//credits.stxt:1159 +#: data//credits.stxt:1246 msgid "and you, the player" -msgstr "そして、プレーヤーであるあなた" +msgstr "そして、プレイヤーであるあなた" -#: data//credits.stxt:1160 +#: data//credits.stxt:1247 msgid "for giving this game a chance and playing it" msgstr "プレイしてくださりありがとうございます" -#: data//credits.stxt:1171 +#: data//credits.stxt:1258 msgid "Visit our webpage at" msgstr "以下で私たちの Web ページを参照してください" -#: data//credits.stxt:1180 +#: data//credits.stxt:1267 msgid "Or visit us directly at IRC:" msgstr "または、IRC で直接連絡してください:" -#: data//credits.stxt:1184 +#: data//credits.stxt:1271 msgid "#supertux at web.libera.chat" msgstr "#supertux (web.libera.chat)" -#: data//credits.stxt:1189 +#: data//credits.stxt:1276 msgid "Or at our Forum:" msgstr "フォーラムもご利用いただけます:" -#: data//credits.stxt:1198 +#: data//credits.stxt:1285 msgid "Comments, ideas and suggestions" msgstr "コメント、アイデア、提案" -#: data//credits.stxt:1202 +#: data//credits.stxt:1289 msgid "go to our mailing list" msgstr "メーリングリストに移動" #. l10n: typo contact -#: data//credits.stxt:1212 +#: data//credits.stxt:1299 msgid "Typographical errors can be" msgstr "誤字の訂正は" #. l10n: typo contact -#: data//credits.stxt:1217 +#: data//credits.stxt:1304 msgid "reported to" msgstr "以下で報告できます" #. l10n: typo contact, see -#: data//credits.stxt:1222 +#: data//credits.stxt:1309 msgid "supertux-devel@lists.lethargik.org" msgstr "supertux-devel@lists.lethargik.org" -#: data//credits.stxt:1229 +#: data//credits.stxt:1316 msgid "Want to help…" -msgstr "ヘルプが必要ですか?" +msgstr "貢献をお待ちしています" -#: data//credits.stxt:1234 +#: data//credits.stxt:1321 msgid "…with localization?" -msgstr "翻訳について" +msgstr "翻訳" -#: data//credits.stxt:1244 +#: data//credits.stxt:1331 msgid "…with something else?" -msgstr "その他について" +msgstr "その他" -#: data//credits.stxt:1255 +#: data//credits.stxt:1342 msgid "Thank you for" msgstr "プレイしてくださって" -#: data//credits.stxt:1259 +#: data//credits.stxt:1346 msgid "playing" -msgstr "ありがとうございます。" +msgstr "ありがとうございます" -#: data//credits.stxt:1269 +#: data//credits.stxt:1356 msgid "Penny awaits you in warmer temperatures!" msgstr "Penny は温かい土地であなたを待っていますよ!" +#: data//images/engine/editor/objects.stoi:4 +msgid "Enemies" +msgstr "敵" + #: data//images/engine/editor/objects.stoi:162 msgid "Bosses" msgstr "ボス" @@ -3725,15 +5054,10 @@ msgstr "ボス" msgid "Projectiles" msgstr "発射物" -#: data//images/engine/editor/objects.stoi:187 +#: data//images/engine/editor/objects.stoi:184 msgid "Environment" msgstr "環境" -#: data//images/ice_world.strf:10 data//images/tiles.strf:28 -#: data//images/worldmap.strf:41 -msgid "Snow" -msgstr "雪" - #: data//images/ice_world.strf:80 msgid "Ice Cave & Crystal" msgstr "氷洞窟と結晶" @@ -3742,11 +5066,6 @@ msgstr "氷洞窟と結晶" msgid "Embellishments" msgstr "装飾" -#: data//images/ice_world.strf:211 data//images/tiles.strf:386 -#: data//images/worldmap.strf:67 -msgid "Forest" -msgstr "森" - #: data//images/ice_world.strf:320 msgid "Underground Forest" msgstr "地下の森" @@ -3771,57 +5090,61 @@ msgstr "道" msgid "Water" msgstr "水" -#: data//images/tiles.strf:176 +#: data//images/tiles.strf:252 msgid "Snow Background" msgstr "雪の背景" -#: data//images/tiles.strf:231 -msgid "Snow Mountain" -msgstr "雪山" - -#: data//images/tiles.strf:305 +#: data//images/tiles.strf:300 msgid "Crystal" msgstr "クリスタル" -#: data//images/tiles.strf:532 +#: data//images/tiles.strf:539 msgid "Forest Background" msgstr "森の背景" -#: data//images/tiles.strf:663 +#: data//images/tiles.strf:690 +msgid "Corrupted Forest" +msgstr "腐敗した森" + +#: data//images/tiles.strf:868 +msgid "Corrupted Background" +msgstr "腐敗した背景" + +#: data//images/tiles.strf:991 msgid "Block + Bonus" msgstr "ブロックとボーナス" -#: data//images/tiles.strf:715 +#: data//images/tiles.strf:1069 msgid "Pole + Signs" msgstr "柱と看板" -#: data//images/tiles.strf:760 +#: data//images/tiles.strf:1113 msgid "Liquid" msgstr "液体" -#: data//images/tiles.strf:793 +#: data//images/tiles.strf:1131 msgid "Castle" msgstr "城" -#: data//images/tiles.strf:930 data//images/worldmap.strf:199 +#: data//images/tiles.strf:1231 data//images/worldmap.strf:199 msgid "Halloween" msgstr "ハロウィン" -#: data//images/tiles.strf:958 +#: data//images/tiles.strf:1272 msgid "Industrial" msgstr "工場" -#: data//images/tiles.strf:973 +#: data//images/tiles.strf:1287 msgid "Unisolid + Lightmap" -msgstr "ユニソリッド + ライトマップ" +msgstr "ユニソリッドとライトマップ" -#: data//images/tiles.strf:1000 +#: data//images/tiles.strf:1314 msgid "Miscellaneous" msgstr "その他" -#: data//images/tiles.strf:1043 -msgid "Retro Snow" -msgstr "旧バージョンの雪" +#: data//images/tiles.strf:1342 +msgid "Retro Tiles" +msgstr "レトロタイル" #: data//images/worldmap.strf:24 msgid "Water paths" @@ -3834,3 +5157,19 @@ msgstr "城の道" #: data//images/worldmap.strf:135 msgid "Darker Forest" msgstr "暗い森" + +#: data//images/converters/data.stcd:3 +msgid "Nightly Tiles" +msgstr "" + +#: data//images/converters/data.stcd:5 +msgid "For levels, created in previous Nightly builds." +msgstr "" + +#: data//images/converters/data.stcd:8 +msgid "Pre-0.6.3 Crystal Tiles" +msgstr "" + +#: data//images/converters/data.stcd:10 +msgid "For levels, created in pre-0.6.3 versions, which use crystal tiles." +msgstr "" diff --git a/data/locale/messages.pot b/data/locale/messages.pot index dbd994c4112..cbd9a642374 100644 --- a/data/locale/messages.pot +++ b/data/locale/messages.pot @@ -6,10 +6,10 @@ #, fuzzy msgid "" msgstr "" -"#-#-#-#-# main.pot (SuperTux v0.6.3-1080-g2e08c1b7f) #-#-#-#-#\n" -"Project-Id-Version: SuperTux v0.6.3-1080-g2e08c1b7f\n" +"#-#-#-#-# main.pot (SuperTux v0.6.3-1256-gc02d4f7fd) #-#-#-#-#\n" +"Project-Id-Version: SuperTux v0.6.3-1256-gc02d4f7fd\n" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" -"POT-Creation-Date: 2024-03-03 03:26+0100\n" +"POT-Creation-Date: 2024-05-30 16:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,10 +18,10 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -"#-#-#-#-# credits.pot (SuperTux v0.6.3-1080-g2e08c1b7f) #-#-#-#-#\n" -"Project-Id-Version: SuperTux v0.6.3-1080-g2e08c1b7f\n" +"#-#-#-#-# credits.pot (SuperTux v0.6.3-1256-gc02d4f7fd) #-#-#-#-#\n" +"Project-Id-Version: SuperTux v0.6.3-1256-gc02d4f7fd\n" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" -"POT-Creation-Date: 2024-03-03 03:26+0100\n" +"POT-Creation-Date: 2024-05-30 16:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,10 +29,10 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"#-#-#-#-# objects.pot (SuperTux v0.6.3-1080-g2e08c1b7f) #-#-#-#-#\n" -"Project-Id-Version: SuperTux v0.6.3-1080-g2e08c1b7f\n" +"#-#-#-#-# objects.pot (SuperTux v0.6.3-1256-gc02d4f7fd) #-#-#-#-#\n" +"Project-Id-Version: SuperTux v0.6.3-1256-gc02d4f7fd\n" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" -"POT-Creation-Date: 2024-03-03 03:26+0100\n" +"POT-Creation-Date: 2024-05-30 16:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -40,10 +40,21 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"#-#-#-#-# tilesets.pot (SuperTux v0.6.3-1080-g2e08c1b7f) #-#-#-#-#\n" -"Project-Id-Version: SuperTux v0.6.3-1080-g2e08c1b7f\n" +"#-#-#-#-# tilesets.pot (SuperTux v0.6.3-1256-gc02d4f7fd) #-#-#-#-#\n" +"Project-Id-Version: SuperTux v0.6.3-1256-gc02d4f7fd\n" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" -"POT-Creation-Date: 2024-03-03 03:26+0100\n" +"POT-Creation-Date: 2024-05-30 16:19+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"#-#-#-#-# converters.pot (SuperTux v0.6.3-1256-gc02d4f7fd) #-#-#-#-#\n" +"Project-Id-Version: SuperTux v0.6.3-1256-gc02d4f7fd\n" +"Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" +"POT-Creation-Date: 2024-05-30 16:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -57,7 +68,7 @@ msgid "You found a secret area!" msgstr "" #: src/trigger/secretarea_trigger.cpp:55 src/supertux/game_object.cpp:115 -#: src/supertux/menu/editor_sector_menu.cpp:34 +#: src/supertux/menu/editor_sector_menu.cpp:36 #: src/supertux/menu/editor_levelset_menu.cpp:52 #: src/supertux/menu/editor_new_levelset_menu.cpp:34 #: src/supertux/menu/profile_name_menu.cpp:39 @@ -76,7 +87,7 @@ msgid "Message" msgstr "" #: src/trigger/secretarea_trigger.cpp:58 src/trigger/scripttrigger.cpp:51 -#: src/trigger/door.cpp:72 src/object/ispy.cpp:53 +#: src/trigger/door.cpp:79 src/object/ispy.cpp:53 #: src/object/bonus_block.cpp:264 src/object/bonus_block.cpp:268 #: src/object/pushbutton.cpp:62 src/object/powerup.cpp:301 #: src/worldmap/special_tile.cpp:76 @@ -107,7 +118,7 @@ msgstr "" msgid "Fade time" msgstr "" -#: src/trigger/text_area.cpp:144 src/object/textscroller.cpp:351 +#: src/trigger/text_area.cpp:144 src/object/textscroller.cpp:353 msgid "Anchor" msgstr "" @@ -123,28 +134,27 @@ msgstr "" msgid "Texts" msgstr "" -#: src/trigger/door.cpp:73 src/badguy/willowisp.cpp:310 -#: src/supertux/menu/editor_sector_menu.cpp:32 src/worldmap/teleporter.cpp:47 -#: src/editor/layers_widget.cpp:329 data//images/engine/editor/objects.stoi:339 +#: src/trigger/door.cpp:80 src/badguy/willowisp.cpp:311 +#: src/worldmap/teleporter.cpp:47 data//images/engine/editor/objects.stoi:342 msgid "Sector" msgstr "" -#: src/trigger/door.cpp:74 src/worldmap/spawn_point.hpp:58 +#: src/trigger/door.cpp:81 src/worldmap/spawn_point.hpp:58 msgid "Spawn point" msgstr "" -#: src/trigger/door.cpp:75 +#: src/trigger/door.cpp:82 msgid "Locked?" msgstr "" -#: src/trigger/door.cpp:76 +#: src/trigger/door.cpp:83 msgid "Lock Color" msgstr "" #: src/trigger/switch.cpp:62 src/object/ispy.cpp:54 src/object/bumper.cpp:53 #: src/object/spotlight.cpp:106 src/object/pushbutton.cpp:61 #: src/object/gradient.cpp:103 src/object/conveyor_belt.cpp:60 -#: src/badguy/badguy.cpp:1061 src/worldmap/spawn_point.cpp:79 +#: src/badguy/badguy.cpp:1063 src/worldmap/spawn_point.cpp:79 #: src/worldmap/special_tile.cpp:78 msgid "Direction" msgstr "" @@ -232,8 +242,8 @@ msgstr "" msgid "Top Right" msgstr "" -#: src/math/anchor_point.cpp:36 src/object/textscroller.cpp:352 -#: src/object/textscroller.cpp:356 src/supertux/menu/keyboard_menu.cpp:36 +#: src/math/anchor_point.cpp:36 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:38 #: src/supertux/menu/joystick_menu.cpp:73 msgid "Left" msgstr "" @@ -242,8 +252,8 @@ msgstr "" msgid "Middle" msgstr "" -#: src/math/anchor_point.cpp:38 src/object/textscroller.cpp:352 -#: src/object/textscroller.cpp:356 src/supertux/menu/keyboard_menu.cpp:37 +#: src/math/anchor_point.cpp:38 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:39 #: src/supertux/menu/joystick_menu.cpp:74 msgid "Right" msgstr "" @@ -260,7 +270,7 @@ msgstr "" msgid "Bottom Right" msgstr "" -#: src/object/thunderstorm.hpp:43 +#: src/object/thunderstorm.hpp:44 msgid "Thunderstorm" msgstr "" @@ -280,23 +290,16 @@ msgstr "" #: src/object/path_gameobject.hpp:45 src/object/coin.cpp:324 #: src/object/camera.cpp:168 src/object/platform.cpp:76 #: src/object/path_gameobject.cpp:175 src/object/tilemap.cpp:284 -#: src/gui/menu_paths.cpp:54 src/badguy/willowisp.cpp:316 +#: src/badguy/willowisp.cpp:317 msgid "Path" msgstr "" -#: src/object/decal.cpp:48 src/object/scripted_object.cpp:68 -#: src/object/particlesystem.cpp:65 src/object/background.cpp:184 -#: src/object/thunderstorm.cpp:72 src/object/tilemap.cpp:277 -#: src/object/gradient.cpp:101 -msgid "Z-pos" -msgstr "" - -#: src/object/decal.cpp:49 src/object/scripted_object.cpp:71 +#: src/object/decal.cpp:48 src/object/scripted_object.cpp:70 #: src/object/tilemap.cpp:266 msgid "Solid" msgstr "" -#: src/object/decal.cpp:50 src/supertux/menu/keyboard_menu.cpp:39 +#: src/object/decal.cpp:49 src/supertux/menu/keyboard_menu.cpp:41 #: src/supertux/menu/joystick_menu.cpp:76 msgid "Action" msgstr "" @@ -315,7 +318,7 @@ msgstr "" #: src/object/sound_object.cpp:69 src/object/ambient_sound.cpp:85 #: src/object/sound_object.hpp:42 src/supertux/menu/options_menu.cpp:128 -#: data//credits.stxt:372 +#: data//credits.stxt:367 msgid "Sound" msgstr "" @@ -348,7 +351,7 @@ msgstr "" #: src/object/invisible_block.cpp:37 src/object/background.cpp:200 #: src/object/tilemap.cpp:279 src/object/gradient.cpp:109 #: src/badguy/viciousivy.cpp:44 src/badguy/snail.cpp:69 -#: src/badguy/smartball.cpp:34 src/badguy/bouncing_snowball.cpp:69 +#: src/badguy/smartball.cpp:34 src/badguy/bouncing_snowball.cpp:81 #: src/badguy/kamikazesnowball.cpp:117 src/badguy/walkingleaf.cpp:35 #: src/badguy/mrbomb.cpp:47 src/badguy/igel.cpp:188 src/badguy/snowball.cpp:40 #: src/badguy/mrtree.cpp:50 src/badguy/mriceblock.cpp:62 @@ -389,12 +392,12 @@ msgstr "" #: src/object/spotlight.cpp:104 src/object/magicblock.cpp:95 #: src/object/candle.cpp:75 src/object/torch.cpp:96 src/object/rublight.cpp:55 #: src/object/lantern.cpp:62 src/object/ambient_light.cpp:122 -#: src/object/key.cpp:192 src/badguy/willowisp.cpp:318 +#: src/object/key.cpp:192 src/badguy/willowisp.cpp:319 #: src/badguy/walking_candle.cpp:91 msgid "Color" msgstr "" -#: src/object/spotlight.cpp:105 src/object/textscroller.cpp:348 +#: src/object/spotlight.cpp:105 src/object/textscroller.cpp:350 #: src/object/rain_particle_system.cpp:102 src/object/conveyor_belt.cpp:61 #: src/object/circleplatform.cpp:58 src/badguy/flame.cpp:110 #: src/editor/node_marker.cpp:125 @@ -418,20 +421,20 @@ msgstr "" msgid "Layer" msgstr "" -#: src/object/scripted_object.cpp:72 +#: src/object/scripted_object.cpp:71 msgid "Physics enabled" msgstr "" -#: src/object/scripted_object.cpp:73 +#: src/object/scripted_object.cpp:72 msgid "Visible" msgstr "" -#: src/object/scripted_object.cpp:74 src/badguy/willowisp.cpp:312 +#: src/object/scripted_object.cpp:73 src/badguy/willowisp.cpp:313 msgid "Hit script" msgstr "" #: src/object/custom_particle_system_file.cpp:53 -#: src/object/textscroller.cpp:346 src/object/music_object.cpp:109 +#: src/object/textscroller.cpp:348 src/object/music_object.cpp:109 #: src/supertux/menu/particle_editor_open.cpp:38 msgid "File" msgstr "" @@ -554,17 +557,17 @@ msgid "Path Mode" msgstr "" #: src/object/coin.cpp:330 src/object/camera.cpp:172 src/object/platform.cpp:78 -#: src/object/tilemap.cpp:291 src/badguy/willowisp.cpp:321 +#: src/object/tilemap.cpp:291 src/badguy/willowisp.cpp:322 msgid "Adapt Speed" msgstr "" #: src/object/coin.cpp:331 src/object/platform.cpp:81 -#: src/object/tilemap.cpp:285 src/badguy/willowisp.cpp:317 +#: src/object/tilemap.cpp:285 src/badguy/willowisp.cpp:318 msgid "Starting Node" msgstr "" #: src/object/coin.cpp:332 src/object/camera.cpp:173 src/object/platform.cpp:82 -#: src/object/tilemap.cpp:293 src/badguy/willowisp.cpp:322 +#: src/object/tilemap.cpp:293 src/badguy/willowisp.cpp:323 msgid "Handle" msgstr "" @@ -592,23 +595,23 @@ msgstr "" msgid "autoscroll" msgstr "" -#: src/object/textscroller.cpp:347 +#: src/object/textscroller.cpp:349 msgid "Finish Script" msgstr "" -#: src/object/textscroller.cpp:349 +#: src/object/textscroller.cpp:351 msgid "X-offset" msgstr "" -#: src/object/textscroller.cpp:350 +#: src/object/textscroller.cpp:352 msgid "Controllable" msgstr "" -#: src/object/textscroller.cpp:352 src/object/textscroller.cpp:356 +#: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 msgid "Center" msgstr "" -#: src/object/textscroller.cpp:355 +#: src/object/textscroller.cpp:357 msgid "Text Alignment" msgstr "" @@ -616,7 +619,7 @@ msgstr "" msgid "Lit object" msgstr "" -#: src/object/spawnpoint.hpp:48 src/badguy/willowisp.cpp:311 +#: src/object/spawnpoint.hpp:48 src/badguy/willowisp.cpp:312 #: src/worldmap/teleporter.cpp:48 msgid "Spawnpoint" msgstr "" @@ -629,6 +632,12 @@ msgstr "" msgid "Candle" msgstr "" +#: src/object/particlesystem.cpp:65 src/object/background.cpp:184 +#: src/object/thunderstorm.cpp:76 src/object/tilemap.cpp:277 +#: src/object/gradient.cpp:101 src/object/moving_sprite.cpp:193 +msgid "Z-pos" +msgstr "" + #: src/object/invisible_block.hpp:30 msgid "Invisible Block" msgstr "" @@ -738,7 +747,7 @@ msgid "Platform" msgstr "" #: src/object/music_object.hpp:42 src/supertux/menu/options_menu.cpp:130 -#: data//credits.stxt:314 +#: data//credits.stxt:309 msgid "Music" msgstr "" @@ -991,7 +1000,7 @@ msgstr "" msgid "Bicycle Platform" msgstr "" -#: src/object/platform.cpp:80 src/object/thunderstorm.cpp:73 +#: src/object/platform.cpp:80 src/object/thunderstorm.cpp:77 #: src/object/tilemap.cpp:292 src/object/conveyor_belt.cpp:62 msgid "Running" msgstr "" @@ -1004,11 +1013,11 @@ msgstr "" msgid "Large" msgstr "" -#: src/object/rock.cpp:238 +#: src/object/rock.cpp:234 msgid "On-grab script" msgstr "" -#: src/object/rock.cpp:239 +#: src/object/rock.cpp:235 msgid "On-ungrab script" msgstr "" @@ -1016,11 +1025,11 @@ msgstr "" msgid "Interactive particle system" msgstr "" -#: src/object/thunderstorm.cpp:74 +#: src/object/thunderstorm.cpp:78 msgid "Interval" msgstr "" -#: src/object/thunderstorm.cpp:75 +#: src/object/thunderstorm.cpp:79 msgid "Strike Script" msgstr "" @@ -1056,7 +1065,7 @@ msgstr "" #: src/object/custom_particle_system.cpp:430 #: src/object/custom_particle_system.cpp:465 src/object/gradient.cpp:115 #: src/gui/menu_string_array.cpp:40 src/gui/menu_string_array.cpp:78 -#: src/supertux/menu/keyboard_menu.cpp:77 +#: src/supertux/menu/keyboard_menu.cpp:80 #: src/supertux/menu/joystick_menu.cpp:108 #: src/supertux/menu/joystick_menu.cpp:215 src/editor/object_settings.cpp:129 #: src/editor/particle_editor.cpp:162 src/editor/particle_editor.cpp:168 @@ -1415,12 +1424,12 @@ msgstr "" msgid "Resize offset y" msgstr "" -#: src/object/tilemap.cpp:270 src/supertux/menu/editor_sector_menu.cpp:39 +#: src/object/tilemap.cpp:270 src/supertux/menu/editor_sector_menu.cpp:41 #: src/editor/object_option.cpp:178 msgid "Width" msgstr "" -#: src/object/tilemap.cpp:271 src/supertux/menu/editor_sector_menu.cpp:40 +#: src/object/tilemap.cpp:271 src/supertux/menu/editor_sector_menu.cpp:42 #: src/editor/object_option.cpp:179 msgid "Height" msgstr "" @@ -1442,7 +1451,7 @@ msgid "Tint" msgstr "" #: src/object/tilemap.cpp:296 src/supertux/menu/editor_tilegroup_menu.cpp:26 -#: src/editor/toolbox_widget.cpp:99 +#: src/editor/toolbox_widget.cpp:98 msgid "Tiles" msgstr "" @@ -1494,7 +1503,7 @@ msgstr "" msgid "Length" msgstr "" -#: src/object/moving_sprite.cpp:187 src/object/pneumatic_platform.cpp:161 +#: src/object/moving_sprite.cpp:192 src/object/pneumatic_platform.cpp:161 msgid "Sprite" msgstr "" @@ -1554,7 +1563,7 @@ msgstr "" msgid "Do not show again" msgstr "" -#: src/gui/notification.cpp:157 src/supertux/menu/download_dialog.cpp:123 +#: src/gui/notification.cpp:157 src/supertux/menu/download_dialog.cpp:124 msgid "Close" msgstr "" @@ -1588,7 +1597,7 @@ msgstr "" #: src/gui/menu_string_array.cpp:84 src/gui/menu_object_select.cpp:61 #: src/gui/menu_color.cpp:37 src/gui/dialog.hpp:87 src/gui/menu_script.cpp:46 -#: src/supertux/menu/editor_sector_menu.cpp:46 +#: src/supertux/menu/editor_sector_menu.cpp:48 #: src/supertux/menu/editor_levelset_menu.cpp:58 #: src/supertux/menu/editor_new_levelset_menu.cpp:37 #: src/supertux/menu/editor_level_menu.cpp:45 src/editor/object_menu.cpp:71 @@ -1613,17 +1622,17 @@ msgid "Mix the colour" msgstr "" #: src/gui/dialog.hpp:96 src/supertux/menu/editor_level_select_menu.cpp:181 -#: src/editor/editor.cpp:638 +#: src/editor/editor.cpp:663 msgid "Yes" msgstr "" #: src/gui/dialog.hpp:97 src/supertux/menu/editor_level_select_menu.cpp:185 -#: src/editor/particle_editor.cpp:781 src/editor/editor.cpp:645 +#: src/editor/particle_editor.cpp:781 src/editor/editor.cpp:670 msgid "No" msgstr "" #: src/gui/menu_list.cpp:38 src/gui/menu_filesystem.cpp:120 -#: src/gui/menu_paths.cpp:46 src/supertux/menu/particle_editor_save_as.cpp:42 +#: src/gui/menu_paths.cpp:48 src/supertux/menu/particle_editor_save_as.cpp:42 #: src/supertux/menu/editor_sectors_menu.cpp:45 #: src/supertux/menu/editor_sectors_menu.cpp:94 #: src/supertux/menu/editor_sectors_menu.cpp:99 @@ -1632,7 +1641,7 @@ msgstr "" #: src/supertux/menu/editor_level_select_menu.cpp:190 #: src/supertux/menu/editor_save_as.cpp:42 #: src/supertux/menu/particle_editor_open.cpp:43 -#: src/editor/particle_editor.cpp:785 src/editor/editor.cpp:649 +#: src/editor/particle_editor.cpp:785 src/editor/editor.cpp:674 msgid "Cancel" msgstr "" @@ -1644,22 +1653,34 @@ msgstr "" msgid "Edit script" msgstr "" -#: src/gui/menu_paths.cpp:30 +#: src/gui/menu_paths.cpp:32 msgid "Clone" msgstr "" -#: src/gui/menu_paths.cpp:39 +#: src/gui/menu_paths.cpp:41 msgid "" "An error occurred and the game could\n" "not clone the path. Please contact\n" "the developers for support." msgstr "" -#: src/gui/menu_paths.cpp:42 +#: src/gui/menu_paths.cpp:44 msgid "Bind" msgstr "" -#: src/gui/menu_paths.cpp:65 src/supertux/menu/integrations_menu.cpp:60 +#: src/gui/menu_paths.cpp:49 +msgid "" +"Do you wish to clone the path to edit it separately,\n" +"or do you want to bind both paths together\n" +"so that any edit on one edits the other?" +msgstr "" + +#: src/gui/menu_paths.cpp:56 +#, c++-format +msgid "Path {}" +msgstr "" + +#: src/gui/menu_paths.cpp:67 src/supertux/menu/integrations_menu.cpp:60 #: src/supertux/menu/editor_converters_menu.cpp:79 #: src/supertux/menu/video_system_menu.cpp:45 #: src/supertux/menu/contrib_menu.cpp:102 src/supertux/menu/debug_menu.cpp:77 @@ -1668,8 +1689,8 @@ msgstr "" #: src/supertux/menu/editor_level_select_menu.cpp:98 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:42 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:63 -#: src/supertux/menu/worldmap_cheat_menu.cpp:56 -#: src/supertux/menu/worldmap_cheat_menu.cpp:195 +#: src/supertux/menu/worldmap_cheat_menu.cpp:57 +#: src/supertux/menu/worldmap_cheat_menu.cpp:196 #: src/supertux/menu/editor_levelset_select_menu.cpp:114 #: src/supertux/menu/options_menu.cpp:223 #: src/supertux/menu/editor_delete_levelset_menu.cpp:69 @@ -1683,8 +1704,8 @@ msgstr "" #: src/supertux/menu/addon_browse_menu.cpp:162 #: src/supertux/menu/web_asset_menu.cpp:48 #: src/supertux/menu/profile_name_menu.cpp:45 -#: src/supertux/menu/keyboard_menu.cpp:68 -#: src/supertux/menu/sorted_contrib_menu.cpp:53 +#: src/supertux/menu/keyboard_menu.cpp:71 +#: src/supertux/menu/sorted_contrib_menu.cpp:51 #: src/supertux/menu/language_menu.cpp:63 #: src/supertux/menu/joystick_menu.cpp:99 #: src/supertux/menu/contrib_levelset_menu.cpp:67 @@ -1697,28 +1718,16 @@ msgstr "" msgid "Back" msgstr "" -#: src/addon/addon_manager.cpp:484 -msgid "Error deleting addon .zip file: \"PHYSFS_delete\" failed: " -msgstr "" - -#: src/addon/addon_manager.cpp:490 -msgid "Error uninstalling add-on: Addon with id " -msgstr "" - -#: src/addon/addon_manager.cpp:490 -msgid " not found." -msgstr "" - -#: src/addon/addon_manager.cpp:559 +#: src/addon/addon_manager.cpp:562 msgid "Only one resource pack is allowed to be enabled at a time." msgstr "" -#: src/addon/addon_manager.cpp:823 +#: src/addon/addon_manager.cpp:837 #, c++-format msgid "Add-on {} by {} is already installed." msgstr "" -#: src/addon/addon_manager.cpp:843 +#: src/addon/addon_manager.cpp:857 #, c++-format msgid "Add-on {} by {} successfully installed." msgstr "" @@ -1728,7 +1737,7 @@ msgid "Levelset" msgstr "" #: src/addon/addon.cpp:74 src/supertux/menu/editor_levelset_menu.cpp:54 -#: data//images/engine/editor/objects.stoi:386 +#: data//images/engine/editor/objects.stoi:389 msgid "Worldmap" msgstr "" @@ -1777,6 +1786,10 @@ msgstr "" msgid "Plant" msgstr "" +#: src/badguy/tarantula.hpp:39 src/badguy/tarantula.cpp:353 +msgid "Tarantula" +msgstr "" + #: src/badguy/granito_giant.cpp:71 msgid "Awake" msgstr "" @@ -1815,23 +1828,27 @@ msgstr "" msgid "Stalactite" msgstr "" -#: src/badguy/fish_chasing.cpp:195 +#: src/badguy/fish_chasing.cpp:198 msgid "Tracking Distance" msgstr "" -#: src/badguy/fish_chasing.cpp:196 +#: src/badguy/fish_chasing.cpp:199 msgid "Losing Distance" msgstr "" -#: src/badguy/fish_chasing.cpp:197 +#: src/badguy/fish_chasing.cpp:200 msgid "Chase Speed" msgstr "" +#: src/badguy/root_sapling.hpp:41 +msgid "Root Sapling" +msgstr "" + #: src/badguy/haywire.hpp:46 msgid "Haywire" msgstr "" -#: src/badguy/dispenser.hpp:51 +#: src/badguy/dispenser.hpp:52 msgid "Dispenser" msgstr "" @@ -1847,7 +1864,7 @@ msgstr "" msgid "Pumpkin" msgstr "" -#: src/badguy/bouncing_snowball.cpp:70 +#: src/badguy/bouncing_snowball.cpp:82 msgid "Fatbat" msgstr "" @@ -1864,7 +1881,7 @@ msgid "Mr. Iceblock" msgstr "" #: src/badguy/granito.hpp:39 src/badguy/darttrap.cpp:163 -#: src/badguy/corrupted_granito.cpp:175 src/badguy/dispenser.cpp:410 +#: src/badguy/corrupted_granito.cpp:175 src/badguy/dispenser.cpp:438 msgid "Granito" msgstr "" @@ -1919,15 +1936,15 @@ msgstr "" msgid "Ghost Tree" msgstr "" -#: src/badguy/willowisp.cpp:313 +#: src/badguy/willowisp.cpp:314 msgid "Track range" msgstr "" -#: src/badguy/willowisp.cpp:314 +#: src/badguy/willowisp.cpp:315 msgid "Vanish range" msgstr "" -#: src/badguy/willowisp.cpp:315 +#: src/badguy/willowisp.cpp:316 msgid "Fly speed" msgstr "" @@ -1939,7 +1956,7 @@ msgstr "" msgid "Mole's rock" msgstr "" -#: src/badguy/badguy.cpp:1062 +#: src/badguy/badguy.cpp:1064 msgid "Death script" msgstr "" @@ -2027,31 +2044,31 @@ msgstr "" msgid "Flying Snowball" msgstr "" -#: src/badguy/crusher.cpp:74 +#: src/badguy/crusher.cpp:75 msgid "Ice (normal)" msgstr "" -#: src/badguy/crusher.cpp:75 +#: src/badguy/crusher.cpp:76 msgid "Ice (big)" msgstr "" -#: src/badguy/crusher.cpp:76 +#: src/badguy/crusher.cpp:77 msgid "Rock (normal)" msgstr "" -#: src/badguy/crusher.cpp:77 +#: src/badguy/crusher.cpp:78 msgid "Rock (big)" msgstr "" -#: src/badguy/crusher.cpp:78 +#: src/badguy/crusher.cpp:79 msgid "Corrupted (normal)" msgstr "" -#: src/badguy/crusher.cpp:79 +#: src/badguy/crusher.cpp:80 msgid "Corrupted (big)" msgstr "" -#: src/badguy/crusher.cpp:475 +#: src/badguy/crusher.cpp:492 msgid "Sideways" msgstr "" @@ -2111,6 +2128,10 @@ msgstr "" msgid "Walking Leaf" msgstr "" +#: src/badguy/root.hpp:39 +msgid "Root" +msgstr "" + #: src/badguy/owl.cpp:241 msgid "Carry" msgstr "" @@ -2155,10 +2176,14 @@ msgstr "" msgid "Angry Stone" msgstr "" -#: src/badguy/spidermite.hpp:38 +#: src/badguy/tarantula.cpp:354 msgid "Spidermite" msgstr "" +#: src/badguy/tarantula.cpp:374 +msgid "Static" +msgstr "" + #: src/badguy/ghoul.hpp:30 msgid "Ghoul" msgstr "" @@ -2191,41 +2216,41 @@ msgstr "" msgid "Stumpy" msgstr "" -#: src/badguy/dispenser.cpp:384 +#: src/badguy/dispenser.cpp:412 msgid "Interval (seconds)" msgstr "" -#: src/badguy/dispenser.cpp:385 +#: src/badguy/dispenser.cpp:413 msgid "Random" msgstr "" -#: src/badguy/dispenser.cpp:388 +#: src/badguy/dispenser.cpp:416 #: src/supertux/menu/editor_objectgroup_menu.cpp:30 -#: src/editor/toolbox_widget.cpp:102 +#: src/editor/toolbox_widget.cpp:101 msgid "Objects" msgstr "" -#: src/badguy/dispenser.cpp:391 +#: src/badguy/dispenser.cpp:419 msgid "Limit dispensed badguys" msgstr "" -#: src/badguy/dispenser.cpp:393 +#: src/badguy/dispenser.cpp:421 msgid "Obey Gravity" msgstr "" -#: src/badguy/dispenser.cpp:395 +#: src/badguy/dispenser.cpp:423 msgid "Max concurrent badguys" msgstr "" -#: src/badguy/dispenser.cpp:407 +#: src/badguy/dispenser.cpp:435 msgid "Dropper" msgstr "" -#: src/badguy/dispenser.cpp:408 +#: src/badguy/dispenser.cpp:436 msgid "Cannon" msgstr "" -#: src/badguy/dispenser.cpp:409 src/worldmap/special_tile.cpp:77 +#: src/badguy/dispenser.cpp:437 src/worldmap/special_tile.cpp:77 msgid "Invisible" msgstr "" @@ -2237,7 +2262,7 @@ msgstr "" msgid "Mrs. Snowball" msgstr "" -#: src/badguy/bouncing_snowball.hpp:38 +#: src/badguy/bouncing_snowball.hpp:39 msgid "Bouncing Snowball" msgstr "" @@ -2313,7 +2338,7 @@ msgstr "" msgid "Unknown object" msgstr "" -#: src/supertux/sector.cpp:481 +#: src/supertux/sector.cpp:507 msgid "Press escape to skip" msgstr "" @@ -2478,11 +2503,11 @@ msgstr "" msgid " SUPERTUX2_DATA_DIR Directory for the games datafiles" msgstr "" -#: src/supertux/title_screen.cpp:257 +#: src/supertux/title_screen.cpp:272 msgid "Copyright" msgstr "" -#: src/supertux/title_screen.cpp:258 +#: src/supertux/title_screen.cpp:273 msgid "" "This game comes with ABSOLUTELY NO WARRANTY. This is free software, and you " "are welcome to\n" @@ -2834,6 +2859,7 @@ msgstr "" #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:39 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:60 #: src/supertux/menu/multiplayer_players_menu.cpp:39 +#: src/supertux/menu/keyboard_menu.cpp:63 #: src/supertux/menu/cheat_apply_menu.cpp:39 #: src/supertux/menu/cheat_apply_menu.cpp:59 #: src/supertux/menu/multiplayer_player_menu.cpp:37 @@ -2847,76 +2873,76 @@ msgstr "" msgid "All Players" msgstr "" -#: src/supertux/menu/worldmap_cheat_menu.cpp:35 +#: src/supertux/menu/worldmap_cheat_menu.cpp:36 #: src/supertux/menu/cheat_menu.cpp:31 msgid "Cheats" msgstr "" -#: src/supertux/menu/worldmap_cheat_menu.cpp:37 +#: src/supertux/menu/worldmap_cheat_menu.cpp:38 #: src/supertux/menu/cheat_menu.cpp:33 msgid "Bonus: Grow" msgstr "" -#: src/supertux/menu/worldmap_cheat_menu.cpp:38 +#: src/supertux/menu/worldmap_cheat_menu.cpp:39 #: src/supertux/menu/cheat_menu.cpp:34 msgid "Bonus: Fire" msgstr "" -#: src/supertux/menu/worldmap_cheat_menu.cpp:39 +#: src/supertux/menu/worldmap_cheat_menu.cpp:40 #: src/supertux/menu/cheat_menu.cpp:35 msgid "Bonus: Ice" msgstr "" -#: src/supertux/menu/worldmap_cheat_menu.cpp:40 +#: src/supertux/menu/worldmap_cheat_menu.cpp:41 #: src/supertux/menu/cheat_menu.cpp:36 msgid "Bonus: Air" msgstr "" -#: src/supertux/menu/worldmap_cheat_menu.cpp:41 +#: src/supertux/menu/worldmap_cheat_menu.cpp:42 #: src/supertux/menu/cheat_menu.cpp:37 msgid "Bonus: Earth" msgstr "" -#: src/supertux/menu/worldmap_cheat_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_menu.cpp:43 msgid "Bonus: None" msgstr "" -#: src/supertux/menu/worldmap_cheat_menu.cpp:45 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 #: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:51 msgid "Leave Ghost Mode" msgstr "" -#: src/supertux/menu/worldmap_cheat_menu.cpp:45 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 #: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:50 msgid "Activate Ghost Mode" msgstr "" -#: src/supertux/menu/worldmap_cheat_menu.cpp:47 +#: src/supertux/menu/worldmap_cheat_menu.cpp:48 #: src/supertux/menu/cheat_menu.cpp:41 msgid "Finish Level" msgstr "" -#: src/supertux/menu/worldmap_cheat_menu.cpp:48 +#: src/supertux/menu/worldmap_cheat_menu.cpp:49 msgid "Reset Level" msgstr "" -#: src/supertux/menu/worldmap_cheat_menu.cpp:50 +#: src/supertux/menu/worldmap_cheat_menu.cpp:51 msgid "Finish Worldmap" msgstr "" -#: src/supertux/menu/worldmap_cheat_menu.cpp:51 +#: src/supertux/menu/worldmap_cheat_menu.cpp:52 msgid "Reset Worldmap" msgstr "" -#: src/supertux/menu/worldmap_cheat_menu.cpp:53 +#: src/supertux/menu/worldmap_cheat_menu.cpp:54 msgid "Go to level" msgstr "" -#: src/supertux/menu/worldmap_cheat_menu.cpp:54 +#: src/supertux/menu/worldmap_cheat_menu.cpp:55 msgid "Go to main spawnpoint" msgstr "" -#: src/supertux/menu/worldmap_cheat_menu.cpp:187 +#: src/supertux/menu/worldmap_cheat_menu.cpp:188 msgid "Select level" msgstr "" @@ -3045,7 +3071,7 @@ msgid "This feature is currently only used in the multiplayer options menu." msgstr "" #: src/supertux/menu/options_menu.cpp:154 -#: src/supertux/menu/keyboard_menu.cpp:32 +#: src/supertux/menu/keyboard_menu.cpp:34 msgid "Setup Keyboard" msgstr "" @@ -3438,23 +3464,28 @@ msgid "" "continue?" msgstr "" -#: src/supertux/menu/editor_sector_menu.cpp:35 +#: src/supertux/menu/editor_sector_menu.cpp:34 +#, c++-format +msgid "Sector {}" +msgstr "" + +#: src/supertux/menu/editor_sector_menu.cpp:37 msgid "Initialization script" msgstr "" -#: src/supertux/menu/editor_sector_menu.cpp:36 +#: src/supertux/menu/editor_sector_menu.cpp:38 msgid "Gravity" msgstr "" -#: src/supertux/menu/editor_sector_menu.cpp:41 +#: src/supertux/menu/editor_sector_menu.cpp:43 msgid "Resize offset X" msgstr "" -#: src/supertux/menu/editor_sector_menu.cpp:42 +#: src/supertux/menu/editor_sector_menu.cpp:44 msgid "Resize offset Y" msgstr "" -#: src/supertux/menu/editor_sector_menu.cpp:43 +#: src/supertux/menu/editor_sector_menu.cpp:45 msgid "Resize" msgstr "" @@ -3740,122 +3771,118 @@ msgstr "" msgid "An error occurred while creating the profile." msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:34 +#: src/supertux/menu/keyboard_menu.cpp:36 #: src/supertux/menu/joystick_menu.cpp:71 msgid "Up" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:35 +#: src/supertux/menu/keyboard_menu.cpp:37 #: src/supertux/menu/joystick_menu.cpp:72 msgid "Down" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:38 +#: src/supertux/menu/keyboard_menu.cpp:40 #: src/supertux/menu/joystick_menu.cpp:75 msgid "Jump" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:41 +#: src/supertux/menu/keyboard_menu.cpp:43 #: src/supertux/menu/joystick_menu.cpp:78 msgid "Peek Left" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:42 +#: src/supertux/menu/keyboard_menu.cpp:44 #: src/supertux/menu/joystick_menu.cpp:79 msgid "Peek Right" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:43 +#: src/supertux/menu/keyboard_menu.cpp:45 #: src/supertux/menu/joystick_menu.cpp:80 msgid "Peek Up" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:44 +#: src/supertux/menu/keyboard_menu.cpp:46 #: src/supertux/menu/joystick_menu.cpp:81 msgid "Peek Down" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:49 +#: src/supertux/menu/keyboard_menu.cpp:51 #: src/supertux/menu/joystick_menu.cpp:83 msgid "Console" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:50 +#: src/supertux/menu/keyboard_menu.cpp:52 #: src/supertux/menu/joystick_menu.cpp:84 msgid "Cheat Menu" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:51 +#: src/supertux/menu/keyboard_menu.cpp:53 #: src/supertux/menu/joystick_menu.cpp:85 msgid "Debug Menu" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:54 +#: src/supertux/menu/keyboard_menu.cpp:56 #: src/supertux/menu/joystick_menu.cpp:87 msgid "Jump with Up" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:61 -msgid "Player" -msgstr "" - -#: src/supertux/menu/keyboard_menu.cpp:79 +#: src/supertux/menu/keyboard_menu.cpp:82 msgid "Up cursor" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:81 +#: src/supertux/menu/keyboard_menu.cpp:84 msgid "Down cursor" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:83 +#: src/supertux/menu/keyboard_menu.cpp:86 msgid "Left cursor" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:85 +#: src/supertux/menu/keyboard_menu.cpp:88 msgid "Right cursor" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:87 +#: src/supertux/menu/keyboard_menu.cpp:90 msgid "Return" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:89 +#: src/supertux/menu/keyboard_menu.cpp:92 msgid "Space" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:91 +#: src/supertux/menu/keyboard_menu.cpp:94 msgid "Right Shift" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:93 +#: src/supertux/menu/keyboard_menu.cpp:96 msgid "Left Shift" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:95 +#: src/supertux/menu/keyboard_menu.cpp:98 msgid "Right Control" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:97 +#: src/supertux/menu/keyboard_menu.cpp:100 msgid "Left Control" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:99 +#: src/supertux/menu/keyboard_menu.cpp:102 msgid "Right Alt" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:101 +#: src/supertux/menu/keyboard_menu.cpp:104 msgid "Left Alt" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:103 +#: src/supertux/menu/keyboard_menu.cpp:106 msgid "Right Command" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:105 +#: src/supertux/menu/keyboard_menu.cpp:108 msgid "Left Command" msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:119 +#: src/supertux/menu/keyboard_menu.cpp:122 msgid "Press Key" msgstr "" @@ -3936,12 +3963,15 @@ msgstr "" msgid "Leave World" msgstr "" -#: src/supertux/menu/download_dialog.cpp:41 +#: src/supertux/menu/download_dialog.cpp:42 msgid "Abort Download" msgstr "" -#: src/supertux/menu/download_dialog.cpp:58 -msgid "Error:\n" +#: src/supertux/menu/download_dialog.cpp:59 +#, c++-format +msgid "" +"Error:\n" +"{}" msgstr "" #: src/supertux/menu/cheat_menu.cpp:38 @@ -4037,7 +4067,7 @@ msgstr "" msgid "Author" msgstr "" -#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1254 +#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1253 msgid "Contact" msgstr "" @@ -4211,6 +4241,9 @@ msgid "" "F6 = Render Light\n" "F7 = Grid Snapping\n" "F8 = Show Grid\n" +"Ctrl++ or Ctrl+Scroll Up = Zoom In\n" +"Ctrl+- or Ctrl+Scroll Down = Zoom Out\n" +"Ctrl+D = Reset Zoom\n" "\n" "Scripting Shortcuts:\n" " ------------- \n" @@ -4330,12 +4363,12 @@ msgstr "" msgid "Region" msgstr "" -#: src/supertux/main.cpp:796 +#: src/supertux/main.cpp:801 #, c++-format msgid "New release: SuperTux v{}!" msgstr "" -#: src/supertux/main.cpp:799 +#: src/supertux/main.cpp:804 #, c++-format msgid "" "A new release of SuperTux (v{}) is available!\n" @@ -4344,7 +4377,7 @@ msgid "" "Do you want to visit the website now?" msgstr "" -#: src/supertux/main.cpp:810 +#: src/supertux/main.cpp:815 msgid "Checking for new releases..." msgstr "" @@ -4458,6 +4491,11 @@ msgstr "" msgid "Circular" msgstr "" +#: src/editor/layers_widget.cpp:331 +#, c++-format +msgid "Sector: {}" +msgstr "" + #: src/editor/object_option.cpp:92 msgid "true" msgstr "" @@ -4624,18 +4662,18 @@ msgstr "" msgid "Save as" msgstr "" -#: src/editor/editor.cpp:552 +#: src/editor/editor.cpp:577 msgid "" "This level contains deprecated tiles.\n" "It is strongly recommended to replace all deprecated tiles\n" "to avoid loss of compatibility in future versions." msgstr "" -#: src/editor/editor.cpp:554 +#: src/editor/editor.cpp:579 msgid "Tip: Turn on \"Show Deprecated Tiles\" from the level editor menu." msgstr "" -#: src/editor/editor.cpp:601 +#: src/editor/editor.cpp:626 msgid "" "Don't forget that your levels and assets\n" "aren't saved between sessions!\n" @@ -4643,15 +4681,15 @@ msgid "" "from the \"Manage Assets\" menu." msgstr "" -#: src/editor/editor.cpp:636 +#: src/editor/editor.cpp:661 msgid "This level contains unsaved changes, do you want to save?" msgstr "" -#: src/editor/editor.cpp:637 +#: src/editor/editor.cpp:662 msgid "This level may contain unsaved changes, do you want to save?" msgstr "" -#: src/editor/editor.cpp:772 +#: src/editor/editor.cpp:797 msgid "" "Some obsolete add-ons are still active\n" "and might cause collisions with default Super Tux structure.\n" @@ -4659,26 +4697,26 @@ msgid "" "Disabling these add-ons will not delete your game progress." msgstr "" -#: src/editor/editor.cpp:775 +#: src/editor/editor.cpp:800 msgid "Disable add-ons" msgstr "" -#: src/editor/editor.cpp:780 +#: src/editor/editor.cpp:805 msgid "Ignore (not advised)" msgstr "" -#: src/editor/editor.cpp:784 +#: src/editor/editor.cpp:809 msgid "Leave editor" msgstr "" -#: src/editor/editor.cpp:985 +#: src/editor/editor.cpp:1023 msgid "" "Couldn't find a \"main\" sector.\n" "Please change the name of the sector where\n" "you'd like the player to start to \"main\"" msgstr "" -#: src/editor/editor.cpp:989 +#: src/editor/editor.cpp:1027 msgid "" "Couldn't find a \"main\" spawnpoint.\n" " Please change the name of the spawnpoint where\n" @@ -4690,48 +4728,41 @@ msgid "Patch Notes" msgstr "" #: src/editor/object_menu.cpp:84 -msgid "This will update the object to its latest functionality." -msgstr "" - -#: src/editor/object_menu.cpp:85 -msgid "Check the \"Patch Notes\" for more information." -msgstr "" - -#: src/editor/object_menu.cpp:86 msgid "" -"Keep in mind this is very likely to break the proper behaviour of the object." -msgstr "" - -#: src/editor/object_menu.cpp:87 -msgid "Make sure to re-check any behaviour, related to the object." +"This will update the object to its latest functionality.\n" +"Check the \"Patch Notes\" for more information.\n" +"\n" +"Keep in mind this is very likely to break the proper behaviour of the " +"object.\n" +"Make sure to re-check any behaviour, related to the object." msgstr "" -#: src/editor/object_menu.cpp:101 +#: src/editor/object_menu.cpp:98 #, c++-format msgid "Patch notes for v{}:" msgstr "" -#: src/editor/overlay_widget.cpp:1063 +#: src/editor/overlay_widget.cpp:1062 msgid "Cannot select deprecated tiles" msgstr "" -#: src/editor/overlay_widget.cpp:1555 +#: src/editor/overlay_widget.cpp:1567 msgid "Autotile mode is on" msgstr "" -#: src/editor/overlay_widget.cpp:1559 +#: src/editor/overlay_widget.cpp:1571 msgid "Hold Ctrl to enable autotile" msgstr "" -#: src/editor/overlay_widget.cpp:1566 +#: src/editor/overlay_widget.cpp:1578 msgid "Autotile erasing mode is on" msgstr "" -#: src/editor/overlay_widget.cpp:1570 +#: src/editor/overlay_widget.cpp:1582 msgid "Selected tile isn't autotileable" msgstr "" -#: src/editor/overlay_widget.cpp:1575 +#: src/editor/overlay_widget.cpp:1587 msgid "Hold Ctrl to enable autotile erasing" msgstr "" @@ -4740,7 +4771,7 @@ msgid "Current SuperTux Team" msgstr "" #: data//credits.stxt:30 -msgid "Programming, project lead ad interim" +msgid "Maintainer, Programming" msgstr "" #: data//credits.stxt:35 @@ -4751,12 +4782,12 @@ msgstr "" msgid "Level Design, Story, Optimisation, Coordination" msgstr "" -#: data//credits.stxt:45 data//credits.stxt:125 data//credits.stxt:211 -#: data//credits.stxt:539 +#: data//credits.stxt:45 data//credits.stxt:120 data//credits.stxt:206 +#: data//credits.stxt:538 msgid "Graphics" msgstr "" -#: data//credits.stxt:50 data//credits.stxt:107 data//credits.stxt:113 +#: data//credits.stxt:50 data//credits.stxt:102 data//credits.stxt:108 msgid "Graphics, Programming, Level Design" msgstr "" @@ -4776,248 +4807,248 @@ msgstr "" msgid "Graphics, Programming" msgstr "" -#: data//credits.stxt:75 data//credits.stxt:90 data//credits.stxt:155 -#: data//credits.stxt:160 data//credits.stxt:165 data//credits.stxt:170 -#: data//credits.stxt:185 data//credits.stxt:190 data//credits.stxt:535 -#: data//credits.stxt:547 +#: data//credits.stxt:75 data//credits.stxt:85 data//credits.stxt:150 +#: data//credits.stxt:155 data//credits.stxt:160 data//credits.stxt:165 +#: data//credits.stxt:180 data//credits.stxt:185 data//credits.stxt:534 +#: data//credits.stxt:546 msgid "Programming" msgstr "" -#: data//credits.stxt:80 data//credits.stxt:85 data//credits.stxt:271 +#: data//credits.stxt:80 data//credits.stxt:266 msgid "Level Design" msgstr "" -#: data//credits.stxt:96 +#: data//credits.stxt:91 msgid "Original Developers" msgstr "" -#: data//credits.stxt:101 +#: data//credits.stxt:96 msgid "Original Developer" msgstr "" -#: data//credits.stxt:119 +#: data//credits.stxt:114 msgid "Music, Level Design" msgstr "" -#: data//credits.stxt:131 +#: data//credits.stxt:126 msgid "Programming, Graphics, Level Design" msgstr "" -#: data//credits.stxt:137 +#: data//credits.stxt:132 msgid "Programming, Level Design" msgstr "" -#: data//credits.stxt:143 +#: data//credits.stxt:138 msgid "Graphics, Story" msgstr "" -#: data//credits.stxt:149 +#: data//credits.stxt:144 msgid "Programming, Documentation" msgstr "" -#: data//credits.stxt:175 +#: data//credits.stxt:170 msgid "Coordination" msgstr "" -#: data//credits.stxt:180 +#: data//credits.stxt:175 msgid "Programming, \"Flexlay\" Level editor" msgstr "" -#: data//credits.stxt:195 +#: data//credits.stxt:190 msgid "Windows build fixes" msgstr "" -#: data//credits.stxt:200 +#: data//credits.stxt:195 msgid "Packaging, Nightly builds" msgstr "" -#: data//credits.stxt:205 +#: data//credits.stxt:200 msgid "Translation Guru (and many details anyone else could have done)" msgstr "" -#: data//credits.stxt:451 +#: data//credits.stxt:450 msgid "Additional contributors" msgstr "" -#: data//credits.stxt:456 +#: data//credits.stxt:455 msgid "Bug fixes" msgstr "" -#: data//credits.stxt:460 +#: data//credits.stxt:459 msgid "Scripting functions, Level fixes" msgstr "" -#: data//credits.stxt:464 +#: data//credits.stxt:463 msgid "Code quality fixes" msgstr "" -#: data//credits.stxt:468 data//credits.stxt:472 data//credits.stxt:476 -#: data//credits.stxt:503 +#: data//credits.stxt:467 data//credits.stxt:471 data//credits.stxt:475 +#: data//credits.stxt:502 msgid "Various contributions" msgstr "" -#: data//credits.stxt:480 +#: data//credits.stxt:479 msgid "Build issue fix" msgstr "" -#: data//credits.stxt:484 data//credits.stxt:488 +#: data//credits.stxt:483 data//credits.stxt:487 msgid "Code contributions" msgstr "" -#: data//credits.stxt:491 +#: data//credits.stxt:490 msgid "Code contribution, AppData file" msgstr "" -#: data//credits.stxt:495 +#: data//credits.stxt:494 msgid "Bug fix" msgstr "" -#: data//credits.stxt:499 +#: data//credits.stxt:498 msgid "Menu reorganization" msgstr "" -#: data//credits.stxt:507 +#: data//credits.stxt:506 msgid "Fixing tile bugs" msgstr "" -#: data//credits.stxt:511 +#: data//credits.stxt:510 msgid "Build error fix" msgstr "" -#: data//credits.stxt:515 +#: data//credits.stxt:514 msgid "Scripting function fix" msgstr "" -#: data//credits.stxt:519 +#: data//credits.stxt:518 msgid "New features and notable updates" msgstr "" -#: data//credits.stxt:523 +#: data//credits.stxt:522 msgid "Support for \"glbinding\" as optional OpenGL binding" msgstr "" -#: data//credits.stxt:527 +#: data//credits.stxt:526 msgid "New menu code" msgstr "" -#: data//credits.stxt:531 +#: data//credits.stxt:530 msgid "Big Tux Walking Sprites improvements" msgstr "" -#: data//credits.stxt:543 data//credits.stxt:551 +#: data//credits.stxt:542 data//credits.stxt:550 msgid "Contrib Programming" msgstr "" -#: data//credits.stxt:555 +#: data//credits.stxt:554 msgid "Programming, Previous Maintainer" msgstr "" -#: data//credits.stxt:559 +#: data//credits.stxt:558 msgid "Various Contributions" msgstr "" -#: data//credits.stxt:563 data//credits.stxt:567 data//credits.stxt:571 -#: data//credits.stxt:575 data//credits.stxt:579 data//credits.stxt:583 -#: data//credits.stxt:587 data//credits.stxt:591 data//credits.stxt:595 -#: data//credits.stxt:599 data//credits.stxt:603 data//credits.stxt:607 -#: data//credits.stxt:611 data//credits.stxt:615 data//credits.stxt:619 -#: data//credits.stxt:623 data//credits.stxt:627 data//credits.stxt:631 -#: data//credits.stxt:635 data//credits.stxt:639 data//credits.stxt:643 -#: data//credits.stxt:647 data//credits.stxt:651 data//credits.stxt:655 -#: data//credits.stxt:659 data//credits.stxt:663 +#: data//credits.stxt:562 data//credits.stxt:566 data//credits.stxt:570 +#: data//credits.stxt:574 data//credits.stxt:578 data//credits.stxt:582 +#: data//credits.stxt:586 data//credits.stxt:590 data//credits.stxt:594 +#: data//credits.stxt:598 data//credits.stxt:602 data//credits.stxt:606 +#: data//credits.stxt:610 data//credits.stxt:614 data//credits.stxt:618 +#: data//credits.stxt:622 data//credits.stxt:626 data//credits.stxt:630 +#: data//credits.stxt:634 data//credits.stxt:638 data//credits.stxt:642 +#: data//credits.stxt:646 data//credits.stxt:650 data//credits.stxt:654 +#: data//credits.stxt:658 data//credits.stxt:662 msgid "Contributions" msgstr "" -#: data//credits.stxt:669 +#: data//credits.stxt:668 msgid "Localization" msgstr "" -#: data//credits.stxt:1232 +#: data//credits.stxt:1231 msgid " Special Thanks to" msgstr "" -#: data//credits.stxt:1237 +#: data//credits.stxt:1236 msgid "Creator of Tux, the Linux penguin" msgstr "" -#: data//credits.stxt:1241 +#: data//credits.stxt:1240 msgid "SDL, OpenAL and OpenGL" msgstr "" -#: data//credits.stxt:1242 +#: data//credits.stxt:1241 msgid "" "For making such a great gaming experience\n" " possible on Linux" msgstr "" -#: data//credits.stxt:1247 +#: data//credits.stxt:1246 msgid "and you, the player" msgstr "" -#: data//credits.stxt:1248 +#: data//credits.stxt:1247 msgid "for giving this game a chance and playing it" msgstr "" -#: data//credits.stxt:1259 +#: data//credits.stxt:1258 msgid "Visit our webpage at" msgstr "" -#: data//credits.stxt:1268 +#: data//credits.stxt:1267 msgid "Or visit us directly at IRC:" msgstr "" -#: data//credits.stxt:1272 +#: data//credits.stxt:1271 msgid "#supertux at web.libera.chat" msgstr "" -#: data//credits.stxt:1277 +#: data//credits.stxt:1276 msgid "Or at our Forum:" msgstr "" -#: data//credits.stxt:1286 +#: data//credits.stxt:1285 msgid "Comments, ideas and suggestions" msgstr "" -#: data//credits.stxt:1290 +#: data//credits.stxt:1289 msgid "go to our mailing list" msgstr "" #. l10n: typo contact -#: data//credits.stxt:1300 +#: data//credits.stxt:1299 msgid "Typographical errors can be" msgstr "" #. l10n: typo contact -#: data//credits.stxt:1305 +#: data//credits.stxt:1304 msgid "reported to" msgstr "" #. l10n: typo contact, see -#: data//credits.stxt:1310 +#: data//credits.stxt:1309 msgid "supertux-devel@lists.lethargik.org" msgstr "" -#: data//credits.stxt:1317 +#: data//credits.stxt:1316 msgid "Want to help…" msgstr "" -#: data//credits.stxt:1322 +#: data//credits.stxt:1321 msgid "…with localization?" msgstr "" -#: data//credits.stxt:1332 +#: data//credits.stxt:1331 msgid "…with something else?" msgstr "" -#: data//credits.stxt:1343 +#: data//credits.stxt:1342 msgid "Thank you for" msgstr "" -#: data//credits.stxt:1347 +#: data//credits.stxt:1346 msgid "playing" msgstr "" -#: data//credits.stxt:1357 +#: data//credits.stxt:1356 msgid "Penny awaits you in warmer temperatures!" msgstr "" @@ -5025,15 +5056,15 @@ msgstr "" msgid "Enemies" msgstr "" -#: data//images/engine/editor/objects.stoi:159 +#: data//images/engine/editor/objects.stoi:162 msgid "Bosses" msgstr "" -#: data//images/engine/editor/objects.stoi:170 +#: data//images/engine/editor/objects.stoi:173 msgid "Projectiles" msgstr "" -#: data//images/engine/editor/objects.stoi:181 +#: data//images/engine/editor/objects.stoi:184 msgid "Environment" msgstr "" @@ -5136,3 +5167,19 @@ msgstr "" #: data//images/worldmap.strf:135 msgid "Darker Forest" msgstr "" + +#: data//images/converters/data.stcd:3 +msgid "Nightly Tiles" +msgstr "" + +#: data//images/converters/data.stcd:5 +msgid "For levels, created in previous Nightly builds." +msgstr "" + +#: data//images/converters/data.stcd:8 +msgid "Pre-0.6.3 Crystal Tiles" +msgstr "" + +#: data//images/converters/data.stcd:10 +msgid "For levels, created in pre-0.6.3 versions, which use crystal tiles." +msgstr "" diff --git a/data/locale/nl.po b/data/locale/nl.po index d6a48f5dd4d..3437fabee78 100644 --- a/data/locale/nl.po +++ b/data/locale/nl.po @@ -17,7 +17,7 @@ msgid "" msgstr "" "Project-Id-Version: SuperTux\n" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" -"POT-Creation-Date: 2024-03-03 03:26+0100\n" +"POT-Creation-Date: 2024-05-30 16:19+0200\n" "PO-Revision-Date: 2013-08-10 22:56+0000\n" "Last-Translator: thetuxgirl, 2024\n" "Language-Team: Dutch (http://app.transifex.com/arctic-games/supertux/language/nl/)\n" @@ -32,7 +32,7 @@ msgid "You found a secret area!" msgstr "Je hebt een geheim gebied gevonden!" #: src/trigger/secretarea_trigger.cpp:55 src/supertux/game_object.cpp:115 -#: src/supertux/menu/editor_sector_menu.cpp:34 +#: src/supertux/menu/editor_sector_menu.cpp:36 #: src/supertux/menu/editor_levelset_menu.cpp:52 #: src/supertux/menu/editor_new_levelset_menu.cpp:34 #: src/supertux/menu/profile_name_menu.cpp:39 @@ -51,7 +51,7 @@ msgid "Message" msgstr "Bericht" #: src/trigger/secretarea_trigger.cpp:58 src/trigger/scripttrigger.cpp:51 -#: src/trigger/door.cpp:72 src/object/ispy.cpp:53 +#: src/trigger/door.cpp:79 src/object/ispy.cpp:53 #: src/object/bonus_block.cpp:264 src/object/bonus_block.cpp:268 #: src/object/pushbutton.cpp:62 src/object/powerup.cpp:301 #: src/worldmap/special_tile.cpp:76 @@ -82,7 +82,7 @@ msgstr "Tekst veranderen gedurende" msgid "Fade time" msgstr "Vervaagduur" -#: src/trigger/text_area.cpp:144 src/object/textscroller.cpp:351 +#: src/trigger/text_area.cpp:144 src/object/textscroller.cpp:353 msgid "Anchor" msgstr "Anker" @@ -98,29 +98,27 @@ msgstr "Ankerafstand Y" msgid "Texts" msgstr "Teksten" -#: src/trigger/door.cpp:73 src/badguy/willowisp.cpp:310 -#: src/supertux/menu/editor_sector_menu.cpp:32 src/worldmap/teleporter.cpp:47 -#: src/editor/layers_widget.cpp:329 -#: data//images/engine/editor/objects.stoi:339 +#: src/trigger/door.cpp:80 src/badguy/willowisp.cpp:311 +#: src/worldmap/teleporter.cpp:47 data//images/engine/editor/objects.stoi:342 msgid "Sector" msgstr "Onderdeel" -#: src/trigger/door.cpp:74 src/worldmap/spawn_point.hpp:58 +#: src/trigger/door.cpp:81 src/worldmap/spawn_point.hpp:58 msgid "Spawn point" msgstr "Herstelpunt" -#: src/trigger/door.cpp:75 +#: src/trigger/door.cpp:82 msgid "Locked?" msgstr "Vergrendeld?" -#: src/trigger/door.cpp:76 +#: src/trigger/door.cpp:83 msgid "Lock Color" msgstr "Vergrendelkleur" #: src/trigger/switch.cpp:62 src/object/ispy.cpp:54 src/object/bumper.cpp:53 #: src/object/spotlight.cpp:106 src/object/pushbutton.cpp:61 #: src/object/gradient.cpp:103 src/object/conveyor_belt.cpp:60 -#: src/badguy/badguy.cpp:1061 src/worldmap/spawn_point.cpp:79 +#: src/badguy/badguy.cpp:1063 src/worldmap/spawn_point.cpp:79 #: src/worldmap/special_tile.cpp:78 msgid "Direction" msgstr "Richting" @@ -208,8 +206,8 @@ msgstr "Bovenaan" msgid "Top Right" msgstr "Rechtsboven" -#: src/math/anchor_point.cpp:36 src/object/textscroller.cpp:352 -#: src/object/textscroller.cpp:356 src/supertux/menu/keyboard_menu.cpp:36 +#: src/math/anchor_point.cpp:36 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:38 #: src/supertux/menu/joystick_menu.cpp:73 msgid "Left" msgstr "Links" @@ -218,8 +216,8 @@ msgstr "Links" msgid "Middle" msgstr "Midden" -#: src/math/anchor_point.cpp:38 src/object/textscroller.cpp:352 -#: src/object/textscroller.cpp:356 src/supertux/menu/keyboard_menu.cpp:37 +#: src/math/anchor_point.cpp:38 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:39 #: src/supertux/menu/joystick_menu.cpp:74 msgid "Right" msgstr "Rechts" @@ -236,7 +234,7 @@ msgstr "Onderaan" msgid "Bottom Right" msgstr "Rechtsonder" -#: src/object/thunderstorm.hpp:43 +#: src/object/thunderstorm.hpp:44 msgid "Thunderstorm" msgstr "Onweersstorm" @@ -256,23 +254,16 @@ msgstr "Deeltjeszone" #: src/object/path_gameobject.hpp:45 src/object/coin.cpp:324 #: src/object/camera.cpp:168 src/object/platform.cpp:76 #: src/object/path_gameobject.cpp:175 src/object/tilemap.cpp:284 -#: src/gui/menu_paths.cpp:54 src/badguy/willowisp.cpp:316 +#: src/badguy/willowisp.cpp:317 msgid "Path" msgstr "Pad" -#: src/object/decal.cpp:48 src/object/scripted_object.cpp:68 -#: src/object/particlesystem.cpp:65 src/object/background.cpp:184 -#: src/object/thunderstorm.cpp:72 src/object/tilemap.cpp:277 -#: src/object/gradient.cpp:101 -msgid "Z-pos" -msgstr "Z-positie" - -#: src/object/decal.cpp:49 src/object/scripted_object.cpp:71 +#: src/object/decal.cpp:48 src/object/scripted_object.cpp:70 #: src/object/tilemap.cpp:266 msgid "Solid" msgstr "Glad" -#: src/object/decal.cpp:50 src/supertux/menu/keyboard_menu.cpp:39 +#: src/object/decal.cpp:49 src/supertux/menu/keyboard_menu.cpp:41 #: src/supertux/menu/joystick_menu.cpp:76 msgid "Action" msgstr "Actie" @@ -291,7 +282,7 @@ msgstr "Tegelkaart" #: src/object/sound_object.cpp:69 src/object/ambient_sound.cpp:85 #: src/object/sound_object.hpp:42 src/supertux/menu/options_menu.cpp:128 -#: data//credits.stxt:372 +#: data//credits.stxt:367 msgid "Sound" msgstr "Geluid" @@ -324,7 +315,7 @@ msgstr "Cirkelvormig platform" #: src/object/invisible_block.cpp:37 src/object/background.cpp:200 #: src/object/tilemap.cpp:279 src/object/gradient.cpp:109 #: src/badguy/viciousivy.cpp:44 src/badguy/snail.cpp:69 -#: src/badguy/smartball.cpp:34 src/badguy/bouncing_snowball.cpp:69 +#: src/badguy/smartball.cpp:34 src/badguy/bouncing_snowball.cpp:81 #: src/badguy/kamikazesnowball.cpp:117 src/badguy/walkingleaf.cpp:35 #: src/badguy/mrbomb.cpp:47 src/badguy/igel.cpp:188 src/badguy/snowball.cpp:40 #: src/badguy/mrtree.cpp:50 src/badguy/mriceblock.cpp:62 @@ -365,12 +356,12 @@ msgstr "Hoek" #: src/object/spotlight.cpp:104 src/object/magicblock.cpp:95 #: src/object/candle.cpp:75 src/object/torch.cpp:96 src/object/rublight.cpp:55 #: src/object/lantern.cpp:62 src/object/ambient_light.cpp:122 -#: src/object/key.cpp:192 src/badguy/willowisp.cpp:318 +#: src/object/key.cpp:192 src/badguy/willowisp.cpp:319 #: src/badguy/walking_candle.cpp:91 msgid "Color" msgstr "Kleur" -#: src/object/spotlight.cpp:105 src/object/textscroller.cpp:348 +#: src/object/spotlight.cpp:105 src/object/textscroller.cpp:350 #: src/object/rain_particle_system.cpp:102 src/object/conveyor_belt.cpp:61 #: src/object/circleplatform.cpp:58 src/badguy/flame.cpp:110 #: src/editor/node_marker.cpp:125 @@ -394,20 +385,20 @@ msgstr "Gestopt" msgid "Layer" msgstr "Laag" -#: src/object/scripted_object.cpp:72 +#: src/object/scripted_object.cpp:71 msgid "Physics enabled" msgstr "Bewegingen ingeschakeld" -#: src/object/scripted_object.cpp:73 +#: src/object/scripted_object.cpp:72 msgid "Visible" msgstr "Zichtbaar" -#: src/object/scripted_object.cpp:74 src/badguy/willowisp.cpp:312 +#: src/object/scripted_object.cpp:73 src/badguy/willowisp.cpp:313 msgid "Hit script" msgstr "Raakscript" #: src/object/custom_particle_system_file.cpp:53 -#: src/object/textscroller.cpp:346 src/object/music_object.cpp:109 +#: src/object/textscroller.cpp:348 src/object/music_object.cpp:109 #: src/supertux/menu/particle_editor_open.cpp:38 msgid "File" msgstr "Bestand" @@ -531,18 +522,18 @@ msgstr "Padmodus" #: src/object/coin.cpp:330 src/object/camera.cpp:172 #: src/object/platform.cpp:78 src/object/tilemap.cpp:291 -#: src/badguy/willowisp.cpp:321 +#: src/badguy/willowisp.cpp:322 msgid "Adapt Speed" msgstr "Aanpassen aan snelheid" #: src/object/coin.cpp:331 src/object/platform.cpp:81 -#: src/object/tilemap.cpp:285 src/badguy/willowisp.cpp:317 +#: src/object/tilemap.cpp:285 src/badguy/willowisp.cpp:318 msgid "Starting Node" msgstr "Startpositie" #: src/object/coin.cpp:332 src/object/camera.cpp:173 #: src/object/platform.cpp:82 src/object/tilemap.cpp:293 -#: src/badguy/willowisp.cpp:322 +#: src/badguy/willowisp.cpp:323 msgid "Handle" msgstr "Handvat" @@ -570,23 +561,23 @@ msgstr "handmatig" msgid "autoscroll" msgstr "autoscroll" -#: src/object/textscroller.cpp:347 +#: src/object/textscroller.cpp:349 msgid "Finish Script" msgstr "Script afronden" -#: src/object/textscroller.cpp:349 +#: src/object/textscroller.cpp:351 msgid "X-offset" msgstr "X-verschuiving" -#: src/object/textscroller.cpp:350 +#: src/object/textscroller.cpp:352 msgid "Controllable" msgstr "Beheersbaar" -#: src/object/textscroller.cpp:352 src/object/textscroller.cpp:356 +#: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 msgid "Center" msgstr "Centreren" -#: src/object/textscroller.cpp:355 +#: src/object/textscroller.cpp:357 msgid "Text Alignment" msgstr "Tekstuitlijning" @@ -594,7 +585,7 @@ msgstr "Tekstuitlijning" msgid "Lit object" msgstr "Verlicht object" -#: src/object/spawnpoint.hpp:48 src/badguy/willowisp.cpp:311 +#: src/object/spawnpoint.hpp:48 src/badguy/willowisp.cpp:312 #: src/worldmap/teleporter.cpp:48 msgid "Spawnpoint" msgstr "Herstelpunt" @@ -607,6 +598,12 @@ msgstr "Teller" msgid "Candle" msgstr "Kaars" +#: src/object/particlesystem.cpp:65 src/object/background.cpp:184 +#: src/object/thunderstorm.cpp:76 src/object/tilemap.cpp:277 +#: src/object/gradient.cpp:101 src/object/moving_sprite.cpp:193 +msgid "Z-pos" +msgstr "Z-positie" + #: src/object/invisible_block.hpp:30 msgid "Invisible Block" msgstr "Onzichtbaar blok" @@ -716,7 +713,7 @@ msgid "Platform" msgstr "Platform" #: src/object/music_object.hpp:42 src/supertux/menu/options_menu.cpp:130 -#: data//credits.stxt:314 +#: data//credits.stxt:309 msgid "Music" msgstr "Muziek" @@ -969,7 +966,7 @@ msgstr "Extra mooie deeltjes" msgid "Bicycle Platform" msgstr "Fietsplatform" -#: src/object/platform.cpp:80 src/object/thunderstorm.cpp:73 +#: src/object/platform.cpp:80 src/object/thunderstorm.cpp:77 #: src/object/tilemap.cpp:292 src/object/conveyor_belt.cpp:62 msgid "Running" msgstr "Rennen" @@ -982,11 +979,11 @@ msgstr "Klein" msgid "Large" msgstr "Groot" -#: src/object/rock.cpp:238 +#: src/object/rock.cpp:234 msgid "On-grab script" msgstr "Bij pakken van script" -#: src/object/rock.cpp:239 +#: src/object/rock.cpp:235 msgid "On-ungrab script" msgstr "Bij neerleggen van script" @@ -994,11 +991,11 @@ msgstr "Bij neerleggen van script" msgid "Interactive particle system" msgstr "Interactief deeltjessysteem" -#: src/object/thunderstorm.cpp:74 +#: src/object/thunderstorm.cpp:78 msgid "Interval" msgstr "Tussenpose" -#: src/object/thunderstorm.cpp:75 +#: src/object/thunderstorm.cpp:79 msgid "Strike Script" msgstr "Strike-script" @@ -1035,7 +1032,7 @@ msgstr "Oproepmodus" #: src/object/custom_particle_system.cpp:430 #: src/object/custom_particle_system.cpp:465 src/object/gradient.cpp:115 #: src/gui/menu_string_array.cpp:40 src/gui/menu_string_array.cpp:78 -#: src/supertux/menu/keyboard_menu.cpp:77 +#: src/supertux/menu/keyboard_menu.cpp:80 #: src/supertux/menu/joystick_menu.cpp:108 #: src/supertux/menu/joystick_menu.cpp:215 src/editor/object_settings.cpp:129 #: src/editor/particle_editor.cpp:162 src/editor/particle_editor.cpp:168 @@ -1410,12 +1407,12 @@ msgstr "Schaalafstand x" msgid "Resize offset y" msgstr "Schaalafstand y" -#: src/object/tilemap.cpp:270 src/supertux/menu/editor_sector_menu.cpp:39 +#: src/object/tilemap.cpp:270 src/supertux/menu/editor_sector_menu.cpp:41 #: src/editor/object_option.cpp:178 msgid "Width" msgstr "Breedte" -#: src/object/tilemap.cpp:271 src/supertux/menu/editor_sector_menu.cpp:40 +#: src/object/tilemap.cpp:271 src/supertux/menu/editor_sector_menu.cpp:42 #: src/editor/object_option.cpp:179 msgid "Height" msgstr "Hoogte" @@ -1437,7 +1434,7 @@ msgid "Tint" msgstr "Tint" #: src/object/tilemap.cpp:296 src/supertux/menu/editor_tilegroup_menu.cpp:26 -#: src/editor/toolbox_widget.cpp:99 +#: src/editor/toolbox_widget.cpp:98 msgid "Tiles" msgstr "Tegels" @@ -1489,7 +1486,7 @@ msgstr "Bumper" msgid "Length" msgstr "Lengte" -#: src/object/moving_sprite.cpp:187 src/object/pneumatic_platform.cpp:161 +#: src/object/moving_sprite.cpp:192 src/object/pneumatic_platform.cpp:161 msgid "Sprite" msgstr "Sprite" @@ -1549,7 +1546,7 @@ msgstr "Klik voor meer details." msgid "Do not show again" msgstr "Niet opnieuw tonen" -#: src/gui/notification.cpp:157 src/supertux/menu/download_dialog.cpp:123 +#: src/gui/notification.cpp:157 src/supertux/menu/download_dialog.cpp:124 msgid "Close" msgstr "Sluiten" @@ -1583,7 +1580,7 @@ msgstr "Wis" #: src/gui/menu_string_array.cpp:84 src/gui/menu_object_select.cpp:61 #: src/gui/menu_color.cpp:37 src/gui/dialog.hpp:87 src/gui/menu_script.cpp:46 -#: src/supertux/menu/editor_sector_menu.cpp:46 +#: src/supertux/menu/editor_sector_menu.cpp:48 #: src/supertux/menu/editor_levelset_menu.cpp:58 #: src/supertux/menu/editor_new_levelset_menu.cpp:37 #: src/supertux/menu/editor_level_menu.cpp:45 src/editor/object_menu.cpp:71 @@ -1608,17 +1605,17 @@ msgid "Mix the colour" msgstr "Kleur mengen" #: src/gui/dialog.hpp:96 src/supertux/menu/editor_level_select_menu.cpp:181 -#: src/editor/editor.cpp:638 +#: src/editor/editor.cpp:663 msgid "Yes" msgstr "Ja" #: src/gui/dialog.hpp:97 src/supertux/menu/editor_level_select_menu.cpp:185 -#: src/editor/particle_editor.cpp:781 src/editor/editor.cpp:645 +#: src/editor/particle_editor.cpp:781 src/editor/editor.cpp:670 msgid "No" msgstr "Nee" #: src/gui/menu_list.cpp:38 src/gui/menu_filesystem.cpp:120 -#: src/gui/menu_paths.cpp:46 src/supertux/menu/particle_editor_save_as.cpp:42 +#: src/gui/menu_paths.cpp:48 src/supertux/menu/particle_editor_save_as.cpp:42 #: src/supertux/menu/editor_sectors_menu.cpp:45 #: src/supertux/menu/editor_sectors_menu.cpp:94 #: src/supertux/menu/editor_sectors_menu.cpp:99 @@ -1627,7 +1624,7 @@ msgstr "Nee" #: src/supertux/menu/editor_level_select_menu.cpp:190 #: src/supertux/menu/editor_save_as.cpp:42 #: src/supertux/menu/particle_editor_open.cpp:43 -#: src/editor/particle_editor.cpp:785 src/editor/editor.cpp:649 +#: src/editor/particle_editor.cpp:785 src/editor/editor.cpp:674 msgid "Cancel" msgstr "Annuleren" @@ -1639,22 +1636,34 @@ msgstr "Map Openen" msgid "Edit script" msgstr "Script bewerken" -#: src/gui/menu_paths.cpp:30 +#: src/gui/menu_paths.cpp:32 msgid "Clone" msgstr "Kloon" -#: src/gui/menu_paths.cpp:39 +#: src/gui/menu_paths.cpp:41 msgid "" "An error occurred and the game could\n" "not clone the path. Please contact\n" "the developers for support." msgstr "" -#: src/gui/menu_paths.cpp:42 +#: src/gui/menu_paths.cpp:44 msgid "Bind" msgstr "Binden" -#: src/gui/menu_paths.cpp:65 src/supertux/menu/integrations_menu.cpp:60 +#: src/gui/menu_paths.cpp:49 +msgid "" +"Do you wish to clone the path to edit it separately,\n" +"or do you want to bind both paths together\n" +"so that any edit on one edits the other?" +msgstr "" + +#: src/gui/menu_paths.cpp:56 +#, c++-format +msgid "Path {}" +msgstr "" + +#: src/gui/menu_paths.cpp:67 src/supertux/menu/integrations_menu.cpp:60 #: src/supertux/menu/editor_converters_menu.cpp:79 #: src/supertux/menu/video_system_menu.cpp:45 #: src/supertux/menu/contrib_menu.cpp:102 src/supertux/menu/debug_menu.cpp:77 @@ -1663,8 +1672,8 @@ msgstr "Binden" #: src/supertux/menu/editor_level_select_menu.cpp:98 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:42 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:63 -#: src/supertux/menu/worldmap_cheat_menu.cpp:56 -#: src/supertux/menu/worldmap_cheat_menu.cpp:195 +#: src/supertux/menu/worldmap_cheat_menu.cpp:57 +#: src/supertux/menu/worldmap_cheat_menu.cpp:196 #: src/supertux/menu/editor_levelset_select_menu.cpp:114 #: src/supertux/menu/options_menu.cpp:223 #: src/supertux/menu/editor_delete_levelset_menu.cpp:69 @@ -1678,8 +1687,8 @@ msgstr "Binden" #: src/supertux/menu/addon_browse_menu.cpp:162 #: src/supertux/menu/web_asset_menu.cpp:48 #: src/supertux/menu/profile_name_menu.cpp:45 -#: src/supertux/menu/keyboard_menu.cpp:68 -#: src/supertux/menu/sorted_contrib_menu.cpp:53 +#: src/supertux/menu/keyboard_menu.cpp:71 +#: src/supertux/menu/sorted_contrib_menu.cpp:51 #: src/supertux/menu/language_menu.cpp:63 #: src/supertux/menu/joystick_menu.cpp:99 #: src/supertux/menu/contrib_levelset_menu.cpp:67 @@ -1692,28 +1701,16 @@ msgstr "Binden" msgid "Back" msgstr "Terug" -#: src/addon/addon_manager.cpp:484 -msgid "Error deleting addon .zip file: \"PHYSFS_delete\" failed: " -msgstr "Fout bij verwijderen add-on .zip-bestand: 'PHYSFS_delete' mislukt:" - -#: src/addon/addon_manager.cpp:490 -msgid "Error uninstalling add-on: Addon with id " -msgstr "" - -#: src/addon/addon_manager.cpp:490 -msgid " not found." -msgstr "niet gevonden." - -#: src/addon/addon_manager.cpp:559 +#: src/addon/addon_manager.cpp:562 msgid "Only one resource pack is allowed to be enabled at a time." msgstr "" -#: src/addon/addon_manager.cpp:823 +#: src/addon/addon_manager.cpp:837 #, c++-format msgid "Add-on {} by {} is already installed." msgstr "Add-on {} van {} is al geïnstalleerd." -#: src/addon/addon_manager.cpp:843 +#: src/addon/addon_manager.cpp:857 #, c++-format msgid "Add-on {} by {} successfully installed." msgstr "Add-on {} van {} succesvol geïnstalleerd." @@ -1723,7 +1720,7 @@ msgid "Levelset" msgstr "Levelset" #: src/addon/addon.cpp:74 src/supertux/menu/editor_levelset_menu.cpp:54 -#: data//images/engine/editor/objects.stoi:386 +#: data//images/engine/editor/objects.stoi:389 msgid "Worldmap" msgstr "Wereldkaart" @@ -1772,6 +1769,10 @@ msgstr "Meneer Boom" msgid "Plant" msgstr "Plant" +#: src/badguy/tarantula.hpp:39 src/badguy/tarantula.cpp:353 +msgid "Tarantula" +msgstr "" + #: src/badguy/granito_giant.cpp:71 msgid "Awake" msgstr "" @@ -1810,23 +1811,27 @@ msgstr "Totem" msgid "Stalactite" msgstr "Stalagmiet" -#: src/badguy/fish_chasing.cpp:195 +#: src/badguy/fish_chasing.cpp:198 msgid "Tracking Distance" msgstr "" -#: src/badguy/fish_chasing.cpp:196 +#: src/badguy/fish_chasing.cpp:199 msgid "Losing Distance" msgstr "" -#: src/badguy/fish_chasing.cpp:197 +#: src/badguy/fish_chasing.cpp:200 msgid "Chase Speed" msgstr "" +#: src/badguy/root_sapling.hpp:41 +msgid "Root Sapling" +msgstr "" + #: src/badguy/haywire.hpp:46 msgid "Haywire" msgstr "Storing" -#: src/badguy/dispenser.hpp:51 +#: src/badguy/dispenser.hpp:52 msgid "Dispenser" msgstr "Dispenser" @@ -1842,7 +1847,7 @@ msgstr "Zeekling" msgid "Pumpkin" msgstr "" -#: src/badguy/bouncing_snowball.cpp:70 +#: src/badguy/bouncing_snowball.cpp:82 msgid "Fatbat" msgstr "" @@ -1859,7 +1864,7 @@ msgid "Mr. Iceblock" msgstr "" #: src/badguy/granito.hpp:39 src/badguy/darttrap.cpp:163 -#: src/badguy/corrupted_granito.cpp:175 src/badguy/dispenser.cpp:410 +#: src/badguy/corrupted_granito.cpp:175 src/badguy/dispenser.cpp:438 msgid "Granito" msgstr "" @@ -1914,15 +1919,15 @@ msgstr "Kapitein Sneeuwbal" msgid "Ghost Tree" msgstr "Geestboom" -#: src/badguy/willowisp.cpp:313 +#: src/badguy/willowisp.cpp:314 msgid "Track range" msgstr "Baanomtrek" -#: src/badguy/willowisp.cpp:314 +#: src/badguy/willowisp.cpp:315 msgid "Vanish range" msgstr "Verdwijnomtrek" -#: src/badguy/willowisp.cpp:315 +#: src/badguy/willowisp.cpp:316 msgid "Fly speed" msgstr "Vliegende snelheid" @@ -1934,7 +1939,7 @@ msgstr "Kugelblitz" msgid "Mole's rock" msgstr "Steen van de mol" -#: src/badguy/badguy.cpp:1062 +#: src/badguy/badguy.cpp:1064 msgid "Death script" msgstr "Doodsvonnis" @@ -2022,31 +2027,31 @@ msgstr "" msgid "Flying Snowball" msgstr "Vliegende sneeuwbal" -#: src/badguy/crusher.cpp:74 +#: src/badguy/crusher.cpp:75 msgid "Ice (normal)" msgstr "" -#: src/badguy/crusher.cpp:75 +#: src/badguy/crusher.cpp:76 msgid "Ice (big)" msgstr "" -#: src/badguy/crusher.cpp:76 +#: src/badguy/crusher.cpp:77 msgid "Rock (normal)" msgstr "" -#: src/badguy/crusher.cpp:77 +#: src/badguy/crusher.cpp:78 msgid "Rock (big)" msgstr "" -#: src/badguy/crusher.cpp:78 +#: src/badguy/crusher.cpp:79 msgid "Corrupted (normal)" msgstr "" -#: src/badguy/crusher.cpp:79 +#: src/badguy/crusher.cpp:80 msgid "Corrupted (big)" msgstr "" -#: src/badguy/crusher.cpp:475 +#: src/badguy/crusher.cpp:492 msgid "Sideways" msgstr "Zijwaarts" @@ -2106,6 +2111,10 @@ msgstr "Puntig" msgid "Walking Leaf" msgstr "" +#: src/badguy/root.hpp:39 +msgid "Root" +msgstr "" + #: src/badguy/owl.cpp:241 msgid "Carry" msgstr "Dragen" @@ -2150,10 +2159,14 @@ msgstr "Wandelende kaars" msgid "Angry Stone" msgstr "Boze steen" -#: src/badguy/spidermite.hpp:38 +#: src/badguy/tarantula.cpp:354 msgid "Spidermite" msgstr "" +#: src/badguy/tarantula.cpp:374 +msgid "Static" +msgstr "" + #: src/badguy/ghoul.hpp:30 msgid "Ghoul" msgstr "Grafschender" @@ -2186,41 +2199,41 @@ msgstr "" msgid "Stumpy" msgstr "Stomp" -#: src/badguy/dispenser.cpp:384 +#: src/badguy/dispenser.cpp:412 msgid "Interval (seconds)" msgstr "Tussenpose (seconden)" -#: src/badguy/dispenser.cpp:385 +#: src/badguy/dispenser.cpp:413 msgid "Random" msgstr "Willekeurig" -#: src/badguy/dispenser.cpp:388 +#: src/badguy/dispenser.cpp:416 #: src/supertux/menu/editor_objectgroup_menu.cpp:30 -#: src/editor/toolbox_widget.cpp:102 +#: src/editor/toolbox_widget.cpp:101 msgid "Objects" msgstr "Objecten" -#: src/badguy/dispenser.cpp:391 +#: src/badguy/dispenser.cpp:419 msgid "Limit dispensed badguys" msgstr "Aantal slechteriken beperken" -#: src/badguy/dispenser.cpp:393 +#: src/badguy/dispenser.cpp:421 msgid "Obey Gravity" msgstr "Gehoorzaam de zwaartekracht" -#: src/badguy/dispenser.cpp:395 +#: src/badguy/dispenser.cpp:423 msgid "Max concurrent badguys" msgstr "Max. aantal gelijktijdige slechteriken" -#: src/badguy/dispenser.cpp:407 +#: src/badguy/dispenser.cpp:435 msgid "Dropper" msgstr "" -#: src/badguy/dispenser.cpp:408 +#: src/badguy/dispenser.cpp:436 msgid "Cannon" msgstr "" -#: src/badguy/dispenser.cpp:409 src/worldmap/special_tile.cpp:77 +#: src/badguy/dispenser.cpp:437 src/worldmap/special_tile.cpp:77 msgid "Invisible" msgstr "Onzichtbaar" @@ -2232,7 +2245,7 @@ msgstr "Slak" msgid "Mrs. Snowball" msgstr "" -#: src/badguy/bouncing_snowball.hpp:38 +#: src/badguy/bouncing_snowball.hpp:39 msgid "Bouncing Snowball" msgstr "Stuiterende sneeuwbal" @@ -2308,7 +2321,7 @@ msgstr "Geheimen" msgid "Unknown object" msgstr "Onbekend object" -#: src/supertux/sector.cpp:481 +#: src/supertux/sector.cpp:507 msgid "Press escape to skip" msgstr "Druk op escape om over te slaan" @@ -2474,11 +2487,11 @@ msgstr "SUPERTUX2_USER_DIR Map voor gebruikersgegevens (opgeslagen spellen, etc. msgid " SUPERTUX2_DATA_DIR Directory for the games datafiles" msgstr "SUPERTUX2_DATA_DIR Map voor de gegevensbestanden van het spel" -#: src/supertux/title_screen.cpp:257 +#: src/supertux/title_screen.cpp:272 msgid "Copyright" msgstr "Copyright" -#: src/supertux/title_screen.cpp:258 +#: src/supertux/title_screen.cpp:273 msgid "" "This game comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to\n" "redistribute it under certain conditions; see the license file for details.\n" @@ -2828,6 +2841,7 @@ msgstr "" #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:39 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:60 #: src/supertux/menu/multiplayer_players_menu.cpp:39 +#: src/supertux/menu/keyboard_menu.cpp:63 #: src/supertux/menu/cheat_apply_menu.cpp:39 #: src/supertux/menu/cheat_apply_menu.cpp:59 #: src/supertux/menu/multiplayer_player_menu.cpp:37 @@ -2841,76 +2855,76 @@ msgstr "Speler {}" msgid "All Players" msgstr "Alle Spelers" -#: src/supertux/menu/worldmap_cheat_menu.cpp:35 +#: src/supertux/menu/worldmap_cheat_menu.cpp:36 #: src/supertux/menu/cheat_menu.cpp:31 msgid "Cheats" msgstr "Cheats" -#: src/supertux/menu/worldmap_cheat_menu.cpp:37 +#: src/supertux/menu/worldmap_cheat_menu.cpp:38 #: src/supertux/menu/cheat_menu.cpp:33 msgid "Bonus: Grow" msgstr "Bonus: Groeien" -#: src/supertux/menu/worldmap_cheat_menu.cpp:38 +#: src/supertux/menu/worldmap_cheat_menu.cpp:39 #: src/supertux/menu/cheat_menu.cpp:34 msgid "Bonus: Fire" msgstr "Bonus: Vuur" -#: src/supertux/menu/worldmap_cheat_menu.cpp:39 +#: src/supertux/menu/worldmap_cheat_menu.cpp:40 #: src/supertux/menu/cheat_menu.cpp:35 msgid "Bonus: Ice" msgstr "Bonus: IJs" -#: src/supertux/menu/worldmap_cheat_menu.cpp:40 +#: src/supertux/menu/worldmap_cheat_menu.cpp:41 #: src/supertux/menu/cheat_menu.cpp:36 msgid "Bonus: Air" msgstr "Bonus: Lucht" -#: src/supertux/menu/worldmap_cheat_menu.cpp:41 +#: src/supertux/menu/worldmap_cheat_menu.cpp:42 #: src/supertux/menu/cheat_menu.cpp:37 msgid "Bonus: Earth" msgstr "Bonus: Aarde" -#: src/supertux/menu/worldmap_cheat_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_menu.cpp:43 msgid "Bonus: None" msgstr "Bonus: Geen" -#: src/supertux/menu/worldmap_cheat_menu.cpp:45 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 #: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:51 msgid "Leave Ghost Mode" msgstr "Geestmodus verlaten" -#: src/supertux/menu/worldmap_cheat_menu.cpp:45 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 #: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:50 msgid "Activate Ghost Mode" msgstr "Geestmodus activeren" -#: src/supertux/menu/worldmap_cheat_menu.cpp:47 +#: src/supertux/menu/worldmap_cheat_menu.cpp:48 #: src/supertux/menu/cheat_menu.cpp:41 msgid "Finish Level" msgstr "Level afronden" -#: src/supertux/menu/worldmap_cheat_menu.cpp:48 +#: src/supertux/menu/worldmap_cheat_menu.cpp:49 msgid "Reset Level" msgstr "Level herstarten" -#: src/supertux/menu/worldmap_cheat_menu.cpp:50 +#: src/supertux/menu/worldmap_cheat_menu.cpp:51 msgid "Finish Worldmap" msgstr "Wereldkaart afronden" -#: src/supertux/menu/worldmap_cheat_menu.cpp:51 +#: src/supertux/menu/worldmap_cheat_menu.cpp:52 msgid "Reset Worldmap" msgstr "Wereldkaart herstarten" -#: src/supertux/menu/worldmap_cheat_menu.cpp:53 +#: src/supertux/menu/worldmap_cheat_menu.cpp:54 msgid "Go to level" msgstr "Ga naar level" -#: src/supertux/menu/worldmap_cheat_menu.cpp:54 +#: src/supertux/menu/worldmap_cheat_menu.cpp:55 msgid "Go to main spawnpoint" msgstr "Ga naar algemeen herstelpunt" -#: src/supertux/menu/worldmap_cheat_menu.cpp:187 +#: src/supertux/menu/worldmap_cheat_menu.cpp:188 msgid "Select level" msgstr "Level kiezen" @@ -3041,7 +3055,7 @@ msgid "This feature is currently only used in the multiplayer options menu." msgstr "" #: src/supertux/menu/options_menu.cpp:154 -#: src/supertux/menu/keyboard_menu.cpp:32 +#: src/supertux/menu/keyboard_menu.cpp:34 msgid "Setup Keyboard" msgstr "Toetsenbord configureren" @@ -3435,23 +3449,28 @@ msgid "" "continue?" msgstr "Hiermee gaat u naar de donatiepagina van SuperTux. Weet je zeker dat je door wilt gaan?" -#: src/supertux/menu/editor_sector_menu.cpp:35 +#: src/supertux/menu/editor_sector_menu.cpp:34 +#, c++-format +msgid "Sector {}" +msgstr "" + +#: src/supertux/menu/editor_sector_menu.cpp:37 msgid "Initialization script" msgstr "Initialisatie-script" -#: src/supertux/menu/editor_sector_menu.cpp:36 +#: src/supertux/menu/editor_sector_menu.cpp:38 msgid "Gravity" msgstr "Zwaartekracht" -#: src/supertux/menu/editor_sector_menu.cpp:41 +#: src/supertux/menu/editor_sector_menu.cpp:43 msgid "Resize offset X" msgstr "Schaalafstand X" -#: src/supertux/menu/editor_sector_menu.cpp:42 +#: src/supertux/menu/editor_sector_menu.cpp:44 msgid "Resize offset Y" msgstr "Schaalafstand Y" -#: src/supertux/menu/editor_sector_menu.cpp:43 +#: src/supertux/menu/editor_sector_menu.cpp:45 msgid "Resize" msgstr "Herschalen" @@ -3739,122 +3758,118 @@ msgstr "" msgid "An error occurred while creating the profile." msgstr "" -#: src/supertux/menu/keyboard_menu.cpp:34 +#: src/supertux/menu/keyboard_menu.cpp:36 #: src/supertux/menu/joystick_menu.cpp:71 msgid "Up" msgstr "Omhoog" -#: src/supertux/menu/keyboard_menu.cpp:35 +#: src/supertux/menu/keyboard_menu.cpp:37 #: src/supertux/menu/joystick_menu.cpp:72 msgid "Down" msgstr "Omlaag" -#: src/supertux/menu/keyboard_menu.cpp:38 +#: src/supertux/menu/keyboard_menu.cpp:40 #: src/supertux/menu/joystick_menu.cpp:75 msgid "Jump" msgstr "Springen" -#: src/supertux/menu/keyboard_menu.cpp:41 +#: src/supertux/menu/keyboard_menu.cpp:43 #: src/supertux/menu/joystick_menu.cpp:78 msgid "Peek Left" msgstr "Naar links kijken" -#: src/supertux/menu/keyboard_menu.cpp:42 +#: src/supertux/menu/keyboard_menu.cpp:44 #: src/supertux/menu/joystick_menu.cpp:79 msgid "Peek Right" msgstr "Naar rechts kijken" -#: src/supertux/menu/keyboard_menu.cpp:43 +#: src/supertux/menu/keyboard_menu.cpp:45 #: src/supertux/menu/joystick_menu.cpp:80 msgid "Peek Up" msgstr "Omhoog kijken" -#: src/supertux/menu/keyboard_menu.cpp:44 +#: src/supertux/menu/keyboard_menu.cpp:46 #: src/supertux/menu/joystick_menu.cpp:81 msgid "Peek Down" msgstr "Omlaag kijken" -#: src/supertux/menu/keyboard_menu.cpp:49 +#: src/supertux/menu/keyboard_menu.cpp:51 #: src/supertux/menu/joystick_menu.cpp:83 msgid "Console" msgstr "Console" -#: src/supertux/menu/keyboard_menu.cpp:50 +#: src/supertux/menu/keyboard_menu.cpp:52 #: src/supertux/menu/joystick_menu.cpp:84 msgid "Cheat Menu" msgstr "Cheats-menu" -#: src/supertux/menu/keyboard_menu.cpp:51 +#: src/supertux/menu/keyboard_menu.cpp:53 #: src/supertux/menu/joystick_menu.cpp:85 msgid "Debug Menu" msgstr "Foutopsporingsmenu" -#: src/supertux/menu/keyboard_menu.cpp:54 +#: src/supertux/menu/keyboard_menu.cpp:56 #: src/supertux/menu/joystick_menu.cpp:87 msgid "Jump with Up" msgstr "Springen met Omhoog" -#: src/supertux/menu/keyboard_menu.cpp:61 -msgid "Player" -msgstr "Speler" - -#: src/supertux/menu/keyboard_menu.cpp:79 +#: src/supertux/menu/keyboard_menu.cpp:82 msgid "Up cursor" msgstr "Pijltje omhoog" -#: src/supertux/menu/keyboard_menu.cpp:81 +#: src/supertux/menu/keyboard_menu.cpp:84 msgid "Down cursor" msgstr "Pijltje omlaag" -#: src/supertux/menu/keyboard_menu.cpp:83 +#: src/supertux/menu/keyboard_menu.cpp:86 msgid "Left cursor" msgstr "Pijltje links" -#: src/supertux/menu/keyboard_menu.cpp:85 +#: src/supertux/menu/keyboard_menu.cpp:88 msgid "Right cursor" msgstr "Pijltje rechts" -#: src/supertux/menu/keyboard_menu.cpp:87 +#: src/supertux/menu/keyboard_menu.cpp:90 msgid "Return" msgstr "Enter-toets" -#: src/supertux/menu/keyboard_menu.cpp:89 +#: src/supertux/menu/keyboard_menu.cpp:92 msgid "Space" msgstr "Spatiebalk" -#: src/supertux/menu/keyboard_menu.cpp:91 +#: src/supertux/menu/keyboard_menu.cpp:94 msgid "Right Shift" msgstr "Shift rechts" -#: src/supertux/menu/keyboard_menu.cpp:93 +#: src/supertux/menu/keyboard_menu.cpp:96 msgid "Left Shift" msgstr "Shift links" -#: src/supertux/menu/keyboard_menu.cpp:95 +#: src/supertux/menu/keyboard_menu.cpp:98 msgid "Right Control" msgstr "Ctrl rechts" -#: src/supertux/menu/keyboard_menu.cpp:97 +#: src/supertux/menu/keyboard_menu.cpp:100 msgid "Left Control" msgstr "Ctrl links" -#: src/supertux/menu/keyboard_menu.cpp:99 +#: src/supertux/menu/keyboard_menu.cpp:102 msgid "Right Alt" msgstr "Alt rechts" -#: src/supertux/menu/keyboard_menu.cpp:101 +#: src/supertux/menu/keyboard_menu.cpp:104 msgid "Left Alt" msgstr "Alt links" -#: src/supertux/menu/keyboard_menu.cpp:103 +#: src/supertux/menu/keyboard_menu.cpp:106 msgid "Right Command" msgstr "Rechter commando-toets" -#: src/supertux/menu/keyboard_menu.cpp:105 +#: src/supertux/menu/keyboard_menu.cpp:108 msgid "Left Command" msgstr "Linker commando-toets" -#: src/supertux/menu/keyboard_menu.cpp:119 +#: src/supertux/menu/keyboard_menu.cpp:122 msgid "Press Key" msgstr "Druk op een toets" @@ -3935,13 +3950,16 @@ msgstr "Pauzeren" msgid "Leave World" msgstr "Wereld verlaten" -#: src/supertux/menu/download_dialog.cpp:41 +#: src/supertux/menu/download_dialog.cpp:42 msgid "Abort Download" msgstr "Downloaden afbreken" -#: src/supertux/menu/download_dialog.cpp:58 -msgid "Error:\n" -msgstr "Fout:\n" +#: src/supertux/menu/download_dialog.cpp:59 +#, c++-format +msgid "" +"Error:\n" +"{}" +msgstr "" #: src/supertux/menu/cheat_menu.cpp:38 msgid "Bonus: Star" @@ -4036,7 +4054,7 @@ msgstr "Levelinstellingen" msgid "Author" msgstr "Auteur" -#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1254 +#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1253 msgid "Contact" msgstr "Contact" @@ -4210,6 +4228,9 @@ msgid "" "F6 = Render Light\n" "F7 = Grid Snapping\n" "F8 = Show Grid\n" +"Ctrl++ or Ctrl+Scroll Up = Zoom In\n" +"Ctrl+- or Ctrl+Scroll Down = Zoom Out\n" +"Ctrl+D = Reset Zoom\n" "\n" "Scripting Shortcuts:\n" " ------------- \n" @@ -4329,12 +4350,12 @@ msgstr "omlaag" msgid "Region" msgstr "Regio" -#: src/supertux/main.cpp:796 +#: src/supertux/main.cpp:801 #, c++-format msgid "New release: SuperTux v{}!" msgstr "" -#: src/supertux/main.cpp:799 +#: src/supertux/main.cpp:804 #, c++-format msgid "" "A new release of SuperTux (v{}) is available!\n" @@ -4343,7 +4364,7 @@ msgid "" "Do you want to visit the website now?" msgstr "" -#: src/supertux/main.cpp:810 +#: src/supertux/main.cpp:815 msgid "Checking for new releases..." msgstr "" @@ -4457,6 +4478,11 @@ msgstr "Ping-pong" msgid "Circular" msgstr "Rond" +#: src/editor/layers_widget.cpp:331 +#, c++-format +msgid "Sector: {}" +msgstr "" + #: src/editor/object_option.cpp:92 msgid "true" msgstr "waar" @@ -4623,18 +4649,18 @@ msgstr "Deze partikelconfiguratie bevat niet-opgeslagen wijzigingen,\nwil je bew msgid "Save as" msgstr "Opslaan als" -#: src/editor/editor.cpp:552 +#: src/editor/editor.cpp:577 msgid "" "This level contains deprecated tiles.\n" "It is strongly recommended to replace all deprecated tiles\n" "to avoid loss of compatibility in future versions." msgstr "" -#: src/editor/editor.cpp:554 +#: src/editor/editor.cpp:579 msgid "Tip: Turn on \"Show Deprecated Tiles\" from the level editor menu." msgstr "" -#: src/editor/editor.cpp:601 +#: src/editor/editor.cpp:626 msgid "" "Don't forget that your levels and assets\n" "aren't saved between sessions!\n" @@ -4642,15 +4668,15 @@ msgid "" "from the \"Manage Assets\" menu." msgstr "Vergeet niet dat uw niveaus en activa\nworden niet opgeslagen tussen sessies!\nAls je je levels wilt behouden, download ze dan\nin het menu \"Activa beheren\"." -#: src/editor/editor.cpp:636 +#: src/editor/editor.cpp:661 msgid "This level contains unsaved changes, do you want to save?" msgstr "Dit level bevat niet-opgeslagen aanpassingen. Wil je het opslaan?" -#: src/editor/editor.cpp:637 +#: src/editor/editor.cpp:662 msgid "This level may contain unsaved changes, do you want to save?" msgstr "" -#: src/editor/editor.cpp:772 +#: src/editor/editor.cpp:797 msgid "" "Some obsolete add-ons are still active\n" "and might cause collisions with default Super Tux structure.\n" @@ -4658,26 +4684,26 @@ msgid "" "Disabling these add-ons will not delete your game progress." msgstr "Enkele verouderde uitbreidingen zijn nog in gebruik\nen kunnen storingen veroorzaken.\nJe kunt deze uitbreidingen inschakelen via het 'Uitbreidingen' in het hoofdmenu.\nHet uitschakelen van deze uitbreidingen beïnvloedt de spelvoortgang niet." -#: src/editor/editor.cpp:775 +#: src/editor/editor.cpp:800 msgid "Disable add-ons" msgstr "Uitbreidingen uitschakelen" -#: src/editor/editor.cpp:780 +#: src/editor/editor.cpp:805 msgid "Ignore (not advised)" msgstr "Negeren (niet aan te raden)" -#: src/editor/editor.cpp:784 +#: src/editor/editor.cpp:809 msgid "Leave editor" msgstr "Bewerker afsluiten" -#: src/editor/editor.cpp:985 +#: src/editor/editor.cpp:1023 msgid "" "Couldn't find a \"main\" sector.\n" "Please change the name of the sector where\n" "you'd like the player to start to \"main\"" msgstr "De \"main\"-sector kan niet worden gevonden.\nWijzig de naam van de sector waar\nTux moet starten in \"main\"" -#: src/editor/editor.cpp:989 +#: src/editor/editor.cpp:1027 msgid "" "Couldn't find a \"main\" spawnpoint.\n" " Please change the name of the spawnpoint where\n" @@ -4689,49 +4715,40 @@ msgid "Patch Notes" msgstr "" #: src/editor/object_menu.cpp:84 -msgid "This will update the object to its latest functionality." -msgstr "" - -#: src/editor/object_menu.cpp:85 -msgid "Check the \"Patch Notes\" for more information." -msgstr "" - -#: src/editor/object_menu.cpp:86 msgid "" -"Keep in mind this is very likely to break the proper behaviour of the " -"object." -msgstr "" - -#: src/editor/object_menu.cpp:87 -msgid "Make sure to re-check any behaviour, related to the object." +"This will update the object to its latest functionality.\n" +"Check the \"Patch Notes\" for more information.\n" +"\n" +"Keep in mind this is very likely to break the proper behaviour of the object.\n" +"Make sure to re-check any behaviour, related to the object." msgstr "" -#: src/editor/object_menu.cpp:101 +#: src/editor/object_menu.cpp:98 #, c++-format msgid "Patch notes for v{}:" msgstr "" -#: src/editor/overlay_widget.cpp:1063 +#: src/editor/overlay_widget.cpp:1062 msgid "Cannot select deprecated tiles" msgstr "" -#: src/editor/overlay_widget.cpp:1555 +#: src/editor/overlay_widget.cpp:1567 msgid "Autotile mode is on" msgstr "Autotile-modus is ingeschakeld" -#: src/editor/overlay_widget.cpp:1559 +#: src/editor/overlay_widget.cpp:1571 msgid "Hold Ctrl to enable autotile" msgstr "Houd Ctrl ingedrukt om autotile in te schakelen" -#: src/editor/overlay_widget.cpp:1566 +#: src/editor/overlay_widget.cpp:1578 msgid "Autotile erasing mode is on" msgstr "Autotile-wismodus is ingeschakeld" -#: src/editor/overlay_widget.cpp:1570 +#: src/editor/overlay_widget.cpp:1582 msgid "Selected tile isn't autotileable" msgstr "De geselecteerde tegel kan niet automatisch worden ingevuld" -#: src/editor/overlay_widget.cpp:1575 +#: src/editor/overlay_widget.cpp:1587 msgid "Hold Ctrl to enable autotile erasing" msgstr "Houd Ctrl ingedrukt om automatisch wissen in te schakelen" @@ -4740,8 +4757,8 @@ msgid "Current SuperTux Team" msgstr "Huidige SuperTux-team" #: data//credits.stxt:30 -msgid "Programming, project lead ad interim" -msgstr "Programmering, projectleider ad interim" +msgid "Maintainer, Programming" +msgstr "" #: data//credits.stxt:35 msgid "Graphics, Level Design, Story" @@ -4751,12 +4768,12 @@ msgstr "Grafische elementen, verhaal, level-ontwerp" msgid "Level Design, Story, Optimisation, Coordination" msgstr "Level Design, Verhaal, Optimalisatie, Coördinatie" -#: data//credits.stxt:45 data//credits.stxt:125 data//credits.stxt:211 -#: data//credits.stxt:539 +#: data//credits.stxt:45 data//credits.stxt:120 data//credits.stxt:206 +#: data//credits.stxt:538 msgid "Graphics" msgstr "Grafische elementen" -#: data//credits.stxt:50 data//credits.stxt:107 data//credits.stxt:113 +#: data//credits.stxt:50 data//credits.stxt:102 data//credits.stxt:108 msgid "Graphics, Programming, Level Design" msgstr "Grafische elementen, programmering, level-ontwerp" @@ -4776,248 +4793,248 @@ msgstr "Programmering, niveau-updates" msgid "Graphics, Programming" msgstr "Grafische elementen, programmering" -#: data//credits.stxt:75 data//credits.stxt:90 data//credits.stxt:155 -#: data//credits.stxt:160 data//credits.stxt:165 data//credits.stxt:170 -#: data//credits.stxt:185 data//credits.stxt:190 data//credits.stxt:535 -#: data//credits.stxt:547 +#: data//credits.stxt:75 data//credits.stxt:85 data//credits.stxt:150 +#: data//credits.stxt:155 data//credits.stxt:160 data//credits.stxt:165 +#: data//credits.stxt:180 data//credits.stxt:185 data//credits.stxt:534 +#: data//credits.stxt:546 msgid "Programming" msgstr "Programmering" -#: data//credits.stxt:80 data//credits.stxt:85 data//credits.stxt:271 +#: data//credits.stxt:80 data//credits.stxt:266 msgid "Level Design" msgstr "Level-ontwerp" -#: data//credits.stxt:96 +#: data//credits.stxt:91 msgid "Original Developers" msgstr "Oorspronkelijke ontwikkelaars" -#: data//credits.stxt:101 +#: data//credits.stxt:96 msgid "Original Developer" msgstr "Originele ontwikkelaar" -#: data//credits.stxt:119 +#: data//credits.stxt:114 msgid "Music, Level Design" msgstr "Muziek, level-ontwerp" -#: data//credits.stxt:131 +#: data//credits.stxt:126 msgid "Programming, Graphics, Level Design" msgstr "Programmering, grafische elementen, level-ontwerp" -#: data//credits.stxt:137 +#: data//credits.stxt:132 msgid "Programming, Level Design" msgstr "Programmering, level-ontwerp" -#: data//credits.stxt:143 +#: data//credits.stxt:138 msgid "Graphics, Story" msgstr "Grafische elementen, verhaal" -#: data//credits.stxt:149 +#: data//credits.stxt:144 msgid "Programming, Documentation" msgstr "Programmering, documentatie" -#: data//credits.stxt:175 +#: data//credits.stxt:170 msgid "Coordination" msgstr "Coördinatie" -#: data//credits.stxt:180 +#: data//credits.stxt:175 msgid "Programming, \"Flexlay\" Level editor" msgstr "Programmering, \"Flexlay\"-level-bewerker" -#: data//credits.stxt:195 +#: data//credits.stxt:190 msgid "Windows build fixes" msgstr "Verbeteringen aan de bouw van de Windows-versie" -#: data//credits.stxt:200 +#: data//credits.stxt:195 msgid "Packaging, Nightly builds" msgstr "Pakkettenbouw, testbouwsels" -#: data//credits.stxt:205 +#: data//credits.stxt:200 msgid "Translation Guru (and many details anyone else could have done)" msgstr "Vertalingenguru (en vele details die iedereen gedaan had kunnen hebben)" -#: data//credits.stxt:451 +#: data//credits.stxt:450 msgid "Additional contributors" msgstr "Extra bijdragers" -#: data//credits.stxt:456 +#: data//credits.stxt:455 msgid "Bug fixes" msgstr "Bugs opgelost" -#: data//credits.stxt:460 +#: data//credits.stxt:459 msgid "Scripting functions, Level fixes" msgstr "Scriptfuncties, level-verbeteringen" -#: data//credits.stxt:464 +#: data//credits.stxt:463 msgid "Code quality fixes" msgstr "Verbeteringen aan de kwaliteit van de code" -#: data//credits.stxt:468 data//credits.stxt:472 data//credits.stxt:476 -#: data//credits.stxt:503 +#: data//credits.stxt:467 data//credits.stxt:471 data//credits.stxt:475 +#: data//credits.stxt:502 msgid "Various contributions" msgstr "Diverse bijdragers" -#: data//credits.stxt:480 +#: data//credits.stxt:479 msgid "Build issue fix" msgstr "Bouwselverbeteringen" -#: data//credits.stxt:484 data//credits.stxt:488 +#: data//credits.stxt:483 data//credits.stxt:487 msgid "Code contributions" msgstr "Code-bijdragers" -#: data//credits.stxt:491 +#: data//credits.stxt:490 msgid "Code contribution, AppData file" msgstr "Code-bijdraging, AppData-bestand" -#: data//credits.stxt:495 +#: data//credits.stxt:494 msgid "Bug fix" msgstr "Bug opgelost" -#: data//credits.stxt:499 +#: data//credits.stxt:498 msgid "Menu reorganization" msgstr "Menu-reorganisatie" -#: data//credits.stxt:507 +#: data//credits.stxt:506 msgid "Fixing tile bugs" msgstr "Tegelbugs opgelost" -#: data//credits.stxt:511 +#: data//credits.stxt:510 msgid "Build error fix" msgstr "Verbetering voor bouwselfout" -#: data//credits.stxt:515 +#: data//credits.stxt:514 msgid "Scripting function fix" msgstr "Scriptfunctiefout opgelost" -#: data//credits.stxt:519 +#: data//credits.stxt:518 msgid "New features and notable updates" msgstr "Nieuwe functies en opmerkelijke updates" -#: data//credits.stxt:523 +#: data//credits.stxt:522 msgid "Support for \"glbinding\" as optional OpenGL binding" msgstr "Ondersteuning voor \"glbinding\" als optionele OpenGL binding" -#: data//credits.stxt:527 +#: data//credits.stxt:526 msgid "New menu code" msgstr "Nieuwe menu code" -#: data//credits.stxt:531 +#: data//credits.stxt:530 msgid "Big Tux Walking Sprites improvements" msgstr "Grote verbeteringen tijdens lopen met Tux" -#: data//credits.stxt:543 data//credits.stxt:551 +#: data//credits.stxt:542 data//credits.stxt:550 msgid "Contrib Programming" msgstr "Contrib Programmering" -#: data//credits.stxt:555 +#: data//credits.stxt:554 msgid "Programming, Previous Maintainer" msgstr "Programeer werk van de oude beheerder" -#: data//credits.stxt:559 +#: data//credits.stxt:558 msgid "Various Contributions" msgstr "Diverse bijdragen" -#: data//credits.stxt:563 data//credits.stxt:567 data//credits.stxt:571 -#: data//credits.stxt:575 data//credits.stxt:579 data//credits.stxt:583 -#: data//credits.stxt:587 data//credits.stxt:591 data//credits.stxt:595 -#: data//credits.stxt:599 data//credits.stxt:603 data//credits.stxt:607 -#: data//credits.stxt:611 data//credits.stxt:615 data//credits.stxt:619 -#: data//credits.stxt:623 data//credits.stxt:627 data//credits.stxt:631 -#: data//credits.stxt:635 data//credits.stxt:639 data//credits.stxt:643 -#: data//credits.stxt:647 data//credits.stxt:651 data//credits.stxt:655 -#: data//credits.stxt:659 data//credits.stxt:663 +#: data//credits.stxt:562 data//credits.stxt:566 data//credits.stxt:570 +#: data//credits.stxt:574 data//credits.stxt:578 data//credits.stxt:582 +#: data//credits.stxt:586 data//credits.stxt:590 data//credits.stxt:594 +#: data//credits.stxt:598 data//credits.stxt:602 data//credits.stxt:606 +#: data//credits.stxt:610 data//credits.stxt:614 data//credits.stxt:618 +#: data//credits.stxt:622 data//credits.stxt:626 data//credits.stxt:630 +#: data//credits.stxt:634 data//credits.stxt:638 data//credits.stxt:642 +#: data//credits.stxt:646 data//credits.stxt:650 data//credits.stxt:654 +#: data//credits.stxt:658 data//credits.stxt:662 msgid "Contributions" msgstr "Bijdragers" -#: data//credits.stxt:669 +#: data//credits.stxt:668 msgid "Localization" msgstr "Localisatie" -#: data//credits.stxt:1232 +#: data//credits.stxt:1231 msgid " Special Thanks to" msgstr " Dank in het bijzonder aan" -#: data//credits.stxt:1237 +#: data//credits.stxt:1236 msgid "Creator of Tux, the Linux penguin" msgstr "Bedenker van Tux, de Linux pinguïn" -#: data//credits.stxt:1241 +#: data//credits.stxt:1240 msgid "SDL, OpenAL and OpenGL" msgstr "SDL, OpenAL en OpenGL" -#: data//credits.stxt:1242 +#: data//credits.stxt:1241 msgid "" "For making such a great gaming experience\n" " possible on Linux" msgstr "Voor het mogelijk maken van zo'n geweldige game-ervaring op Linux" -#: data//credits.stxt:1247 +#: data//credits.stxt:1246 msgid "and you, the player" msgstr "en jij, de speler" -#: data//credits.stxt:1248 +#: data//credits.stxt:1247 msgid "for giving this game a chance and playing it" msgstr "voor het proberen en spelen van dit spel" -#: data//credits.stxt:1259 +#: data//credits.stxt:1258 msgid "Visit our webpage at" msgstr "Bezoek onze webpagina op" -#: data//credits.stxt:1268 +#: data//credits.stxt:1267 msgid "Or visit us directly at IRC:" msgstr "Of bezoek ons direct op IRC:" -#: data//credits.stxt:1272 +#: data//credits.stxt:1271 msgid "#supertux at web.libera.chat" msgstr "#supertux op web.libera.chat" -#: data//credits.stxt:1277 +#: data//credits.stxt:1276 msgid "Or at our Forum:" msgstr "Of bij ons forum:" -#: data//credits.stxt:1286 +#: data//credits.stxt:1285 msgid "Comments, ideas and suggestions" msgstr "Commentaar, ideeen en suggesties" -#: data//credits.stxt:1290 +#: data//credits.stxt:1289 msgid "go to our mailing list" msgstr "ga naar onze mailinglijst" #. l10n: typo contact -#: data//credits.stxt:1300 +#: data//credits.stxt:1299 msgid "Typographical errors can be" msgstr "Spelling- en grammaticafouten kunnen worden" #. l10n: typo contact -#: data//credits.stxt:1305 +#: data//credits.stxt:1304 msgid "reported to" msgstr "gerapporteerd aan" #. l10n: typo contact, see -#: data//credits.stxt:1310 +#: data//credits.stxt:1309 msgid "supertux-devel@lists.lethargik.org" msgstr "supertux-devel@lists.lethargik.org" -#: data//credits.stxt:1317 +#: data//credits.stxt:1316 msgid "Want to help…" msgstr "Wil je ook helpen..." -#: data//credits.stxt:1322 +#: data//credits.stxt:1321 msgid "…with localization?" msgstr "...met vertalen?" -#: data//credits.stxt:1332 +#: data//credits.stxt:1331 msgid "…with something else?" msgstr "...met iets anders?" -#: data//credits.stxt:1343 +#: data//credits.stxt:1342 msgid "Thank you for" msgstr "Dank je wel voor het" -#: data//credits.stxt:1347 +#: data//credits.stxt:1346 msgid "playing" msgstr "spelen" -#: data//credits.stxt:1357 +#: data//credits.stxt:1356 msgid "Penny awaits you in warmer temperatures!" msgstr "Penny wacht op je in een warmer klimaat!" @@ -5025,15 +5042,15 @@ msgstr "Penny wacht op je in een warmer klimaat!" msgid "Enemies" msgstr "Vijanden" -#: data//images/engine/editor/objects.stoi:159 +#: data//images/engine/editor/objects.stoi:162 msgid "Bosses" msgstr "Eindbazen" -#: data//images/engine/editor/objects.stoi:170 +#: data//images/engine/editor/objects.stoi:173 msgid "Projectiles" msgstr "Projectielen" -#: data//images/engine/editor/objects.stoi:181 +#: data//images/engine/editor/objects.stoi:184 msgid "Environment" msgstr "Omgeving" @@ -5136,3 +5153,19 @@ msgstr "Kasteelpaden" #: data//images/worldmap.strf:135 msgid "Darker Forest" msgstr "Donker bos" + +#: data//images/converters/data.stcd:3 +msgid "Nightly Tiles" +msgstr "" + +#: data//images/converters/data.stcd:5 +msgid "For levels, created in previous Nightly builds." +msgstr "" + +#: data//images/converters/data.stcd:8 +msgid "Pre-0.6.3 Crystal Tiles" +msgstr "" + +#: data//images/converters/data.stcd:10 +msgid "For levels, created in pre-0.6.3 versions, which use crystal tiles." +msgstr "" diff --git a/data/locale/pl.po b/data/locale/pl.po index 4630ec44c14..71f18fb10ac 100644 --- a/data/locale/pl.po +++ b/data/locale/pl.po @@ -3,154 +3,200 @@ # This file is distributed under the same license as the SuperTux package. # # Translators: +# Alina Gobarov, 2024 # Arkadiusz Chojnicki , 2018-2019 # Benjamin Leduc , 2015 # Krzysztof Szeląg, 2016,2018 +# Krzysztof Szeląg, 2016,2018-2019 # Krzysztof Szeląg, 2019 # mkkot , 2013 # Marcin Kralka , 2014 # Marcin S , 2016,2019 -# mkkot , 2013-2014 +# mkkot , 2013-2015 # mkkot , 2015 # Paweł Talar , 2013 # Paweł Talar , 2013 # Rob PlayZ, 2021 +# Alina Gobarov, 2021-2022 # Seba D. , 2020 # Simon Kornowski , 2013 # Simon Kornowski , 2013 -# Zwatotem , 2019-2021 +# Tomasz Dądela, 2022 +# Grzegorz Przybylski , 2019-2021 msgid "" msgstr "" "Project-Id-Version: SuperTux\n" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" -"POT-Creation-Date: 2021-12-12 20:05+0100\n" -"PO-Revision-Date: 2021-12-21 07:51+0000\n" -"Last-Translator: Rob PlayZ\n" -"Language-Team: Polish (http://www.transifex.com/arctic-games/supertux/language/pl/)\n" +"POT-Creation-Date: 2024-05-30 16:19+0200\n" +"PO-Revision-Date: 2013-08-10 22:56+0000\n" +"Last-Translator: Alina Gobarov, 2024\n" +"Language-Team: Polish (http://app.transifex.com/arctic-games/supertux/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pl\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -#: src/trigger/secretarea_trigger.cpp:53 src/trigger/secretarea_trigger.cpp:61 +#: src/trigger/secretarea_trigger.cpp:47 msgid "You found a secret area!" msgstr "Znalazłeś sekretne miejsce!" -#: src/trigger/secretarea_trigger.cpp:77 src/supertux/game_object.cpp:90 -#: src/supertux/menu/editor_sector_menu.cpp:34 -#: src/supertux/menu/editor_levelset_menu.cpp:58 +#: src/trigger/secretarea_trigger.cpp:55 src/supertux/game_object.cpp:115 +#: src/supertux/menu/editor_sector_menu.cpp:36 +#: src/supertux/menu/editor_levelset_menu.cpp:52 #: src/supertux/menu/editor_new_levelset_menu.cpp:34 +#: src/supertux/menu/profile_name_menu.cpp:39 #: src/supertux/menu/editor_level_menu.cpp:33 msgid "Name" msgstr "Nazwa" -#: src/trigger/secretarea_trigger.cpp:78 +#: src/trigger/secretarea_trigger.cpp:56 msgid "Fade tilemap" msgstr "Zanikaj warstwę bloków" -#: src/trigger/secretarea_trigger.cpp:79 src/trigger/climbable.cpp:81 -#: src/object/infoblock.cpp:57 src/editor/worldmap_objects.cpp:172 -#: src/editor/worldmap_objects.cpp:270 +#: src/trigger/secretarea_trigger.cpp:57 src/trigger/climbable.cpp:59 +#: src/object/infoblock.cpp:76 src/worldmap/teleporter.cpp:49 +#: src/worldmap/special_tile.cpp:74 msgid "Message" msgstr "Wiadomość" -#: src/trigger/secretarea_trigger.cpp:80 src/trigger/scripttrigger.cpp:75 -#: src/trigger/door.cpp:73 src/object/ispy.cpp:67 -#: src/object/bonus_block.cpp:207 src/object/bonus_block.cpp:211 -#: src/object/pushbutton.cpp:51 src/object/powerup.cpp:190 -#: src/editor/worldmap_objects.cpp:272 +#: src/trigger/secretarea_trigger.cpp:58 src/trigger/scripttrigger.cpp:51 +#: src/trigger/door.cpp:79 src/object/ispy.cpp:53 +#: src/object/bonus_block.cpp:264 src/object/bonus_block.cpp:268 +#: src/object/pushbutton.cpp:62 src/object/powerup.cpp:301 +#: src/worldmap/special_tile.cpp:76 msgid "Script" msgstr "Skrypt" -#: src/trigger/scripttrigger.cpp:76 src/object/pushbutton.hpp:31 +#: src/trigger/scripttrigger.cpp:52 src/object/pushbutton.hpp:32 msgid "Button" msgstr "Przycisk" -#: src/trigger/scripttrigger.cpp:77 +#: src/trigger/scripttrigger.cpp:53 msgid "Oneshot" msgstr "Jednokrotnie" -#: src/trigger/sequence_trigger.hpp:33 +#: src/trigger/sequence_trigger.hpp:31 msgid "Sequence Trigger" msgstr "Wyzwalacz sekwencji" -#: src/trigger/door.cpp:74 src/badguy/willowisp.cpp:320 -#: src/supertux/menu/editor_sector_menu.cpp:32 -#: src/editor/layers_widget.cpp:342 -#: data//images/engine/editor/objects.stoi:321 +#: src/trigger/text_area.cpp:141 +msgid "Once" +msgstr "" + +#: src/trigger/text_area.cpp:142 +msgid "Text change time" +msgstr "" + +#: src/trigger/text_area.cpp:143 +msgid "Fade time" +msgstr "Czas zanikania" + +#: src/trigger/text_area.cpp:144 src/object/textscroller.cpp:353 +msgid "Anchor" +msgstr "Zakotwiczenie" + +#: src/trigger/text_area.cpp:148 +msgid "Anchor offset X" +msgstr "" + +#: src/trigger/text_area.cpp:149 +msgid "Anchor offset Y" +msgstr "" + +#: src/trigger/text_area.cpp:150 +msgid "Texts" +msgstr "Teksty" + +#: src/trigger/door.cpp:80 src/badguy/willowisp.cpp:311 +#: src/worldmap/teleporter.cpp:47 data//images/engine/editor/objects.stoi:342 msgid "Sector" msgstr "Sektor" -#: src/trigger/door.cpp:75 src/editor/worldmap_objects.hpp:101 +#: src/trigger/door.cpp:81 src/worldmap/spawn_point.hpp:58 msgid "Spawn point" msgstr "Punkt odrodzenia" -#: src/trigger/switch.cpp:61 src/object/block.cpp:224 src/object/torch.cpp:102 -#: src/object/moving_sprite.cpp:156 src/object/pneumatic_platform.cpp:146 -msgid "Sprite" -msgstr "Sprite" +#: src/trigger/door.cpp:82 +msgid "Locked?" +msgstr "Zablokowane?" + +#: src/trigger/door.cpp:83 +msgid "Lock Color" +msgstr "Kolor zamka" + +#: src/trigger/switch.cpp:62 src/object/ispy.cpp:54 src/object/bumper.cpp:53 +#: src/object/spotlight.cpp:106 src/object/pushbutton.cpp:61 +#: src/object/gradient.cpp:103 src/object/conveyor_belt.cpp:60 +#: src/badguy/badguy.cpp:1063 src/worldmap/spawn_point.cpp:79 +#: src/worldmap/special_tile.cpp:78 +msgid "Direction" +msgstr "Kierunek" -#: src/trigger/switch.cpp:62 +#: src/trigger/switch.cpp:65 msgid "Turn on script" msgstr "Skrypt przy włączeniu" -#: src/trigger/switch.cpp:63 +#: src/trigger/switch.cpp:66 msgid "Turn off script" msgstr "Skrypt przy wyłączeniu" -#: src/trigger/scripttrigger.hpp:32 +#: src/trigger/scripttrigger.hpp:29 msgid "Script Trigger" msgstr "Wyzwalacz skryptu" -#: src/trigger/sequence_trigger.cpp:75 +#: src/trigger/sequence_trigger.cpp:48 msgid "Sequence" msgstr "Sekwencja" -#: src/trigger/sequence_trigger.cpp:76 +#: src/trigger/sequence_trigger.cpp:49 msgid "end sequence" msgstr "Końcowa sekwencja" -#: src/trigger/sequence_trigger.cpp:76 +#: src/trigger/sequence_trigger.cpp:49 msgid "stop Tux" -msgstr "zatrzymaj Tuksa" +msgstr "zatrzymaj Tuxa" -#: src/trigger/sequence_trigger.cpp:76 +#: src/trigger/sequence_trigger.cpp:49 msgid "fireworks" msgstr "Fajerwerki" -#: src/trigger/sequence_trigger.cpp:80 +#: src/trigger/sequence_trigger.cpp:53 msgid "New worldmap spawnpoint" msgstr "Nowy punkt odrodzenia na mapie" -#: src/trigger/sequence_trigger.cpp:81 +#: src/trigger/sequence_trigger.cpp:54 msgid "Worldmap fade tilemap" msgstr "Zanikaj warstwę bloków mapy świata" -#: src/trigger/sequence_trigger.cpp:82 +#: src/trigger/sequence_trigger.cpp:55 #: src/object/custom_particle_system.cpp:430 #: src/object/custom_particle_system.cpp:465 msgid "Fade" msgstr "Przejście" -#: src/trigger/sequence_trigger.cpp:83 src/editor/particle_editor.cpp:161 +#: src/trigger/sequence_trigger.cpp:56 src/editor/particle_editor.cpp:161 msgid "Fade in" -msgstr "Pojawniane się" +msgstr "Pojawianie się" -#: src/trigger/sequence_trigger.cpp:83 src/editor/particle_editor.cpp:167 +#: src/trigger/sequence_trigger.cpp:56 src/editor/particle_editor.cpp:167 #: src/editor/particle_editor.cpp:212 msgid "Fade out" msgstr "Zanikanie" -#: src/trigger/climbable.hpp:37 +#: src/trigger/climbable.hpp:46 msgid "Climbable" msgstr "Możliwe do wspinania się" -#: src/trigger/door.hpp:34 +#: src/trigger/text_area.hpp:47 +msgid "Text Area" +msgstr "Obszar tekstowy" + +#: src/trigger/door.hpp:31 msgid "Door" msgstr "Drzwi" -#: src/trigger/switch.hpp:33 +#: src/trigger/switch.hpp:30 msgid "Switch" msgstr "Przełącznik" @@ -158,118 +204,194 @@ msgstr "Przełącznik" msgid "Secret Area" msgstr "Sekretny obszar" -#: src/object/thunderstorm.hpp:40 +#: src/math/anchor_point.cpp:33 +msgid "Top Left" +msgstr "Górny lewy" + +#: src/math/anchor_point.cpp:34 +msgid "Top" +msgstr "Góra" + +#: src/math/anchor_point.cpp:35 +msgid "Top Right" +msgstr "Górny prawy" + +#: src/math/anchor_point.cpp:36 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:38 +#: src/supertux/menu/joystick_menu.cpp:73 +msgid "Left" +msgstr "W lewo" + +#: src/math/anchor_point.cpp:37 +msgid "Middle" +msgstr "Środek" + +#: src/math/anchor_point.cpp:38 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:39 +#: src/supertux/menu/joystick_menu.cpp:74 +msgid "Right" +msgstr "W prawo" + +#: src/math/anchor_point.cpp:39 +msgid "Bottom Left" +msgstr "Dolny lewy" + +#: src/math/anchor_point.cpp:40 +msgid "Bottom" +msgstr "Dół" + +#: src/math/anchor_point.cpp:41 +msgid "Bottom Right" +msgstr "Dolny prawy" + +#: src/object/thunderstorm.hpp:44 msgid "Thunderstorm" msgstr "Burza" -#: src/object/cloud_particle_system.cpp:79 +#: src/object/cloud_particle_system.cpp:77 #: src/object/rain_particle_system.cpp:100 msgid "Intensity" msgstr "Intensywność" -#: src/object/custom_particle_system.hpp:45 +#: src/object/custom_particle_system.hpp:46 msgid "Custom Particles" -msgstr "Własne cząsteczki" - -#: src/object/ispy.cpp:66 -msgid "Facing Down" -msgstr "Skierowany w dół" - -#: src/object/ispy.cpp:68 src/object/spotlight.cpp:103 -#: src/object/gradient.cpp:137 src/badguy/willowisp.cpp:319 -#: src/badguy/badguy.cpp:848 src/editor/worldmap_objects.cpp:207 -#: src/editor/worldmap_objects.cpp:274 -msgid "Direction" -msgstr "Kierunek" +msgstr "Niestandardowe cząsteczki" -#: src/object/particle_zone.hpp:39 +#: src/object/particle_zone.hpp:41 msgid "Particle zone" -msgstr "Obszar cząstki" +msgstr "Obszar cząsteczek" -#: src/object/path_gameobject.hpp:44 src/object/coin.cpp:301 -#: src/object/camera.cpp:224 src/object/platform.cpp:73 -#: src/object/path_gameobject.cpp:173 src/object/tilemap.cpp:246 -#: src/gui/menu_paths.cpp:52 src/badguy/willowisp.cpp:326 +#: src/object/path_gameobject.hpp:45 src/object/coin.cpp:324 +#: src/object/camera.cpp:168 src/object/platform.cpp:76 +#: src/object/path_gameobject.cpp:175 src/object/tilemap.cpp:284 +#: src/badguy/willowisp.cpp:317 msgid "Path" msgstr "Ścieżka" -#: src/object/decal.cpp:49 src/object/scripted_object.cpp:67 -#: src/object/particlesystem.cpp:65 src/object/background.cpp:183 -#: src/object/thunderstorm.cpp:68 src/object/tilemap.cpp:239 -#: src/object/gradient.cpp:135 -msgid "Z-pos" -msgstr "Pozycja w osi Z" - -#: src/object/decal.cpp:50 src/object/scripted_object.cpp:70 -#: src/object/tilemap.cpp:228 +#: src/object/decal.cpp:48 src/object/scripted_object.cpp:70 +#: src/object/tilemap.cpp:266 msgid "Solid" msgstr "Stały" -#: src/object/decal.cpp:51 src/supertux/menu/keyboard_menu.cpp:37 -#: src/supertux/menu/joystick_menu.cpp:74 +#: src/object/decal.cpp:49 src/supertux/menu/keyboard_menu.cpp:41 +#: src/supertux/menu/joystick_menu.cpp:76 msgid "Action" msgstr "Akcja" -#: src/object/weak_block.hpp:35 +#: src/object/weak_block.hpp:36 msgid "Weak Tile" msgstr "Krucha płytka" -#: src/object/bumper.cpp:46 -msgid "Facing Left" -msgstr "Skierowany w lewo" - -#: src/object/gradient.hpp:42 +#: src/object/gradient.hpp:43 msgid "Gradient" msgstr "Gradient" -#: src/object/tilemap.hpp:57 +#: src/object/tilemap.hpp:58 msgid "Tilemap" msgstr "Warstwa bloków" -#: src/object/circleplatform.hpp:32 +#: src/object/sound_object.cpp:69 src/object/ambient_sound.cpp:85 +#: src/object/sound_object.hpp:42 src/supertux/menu/options_menu.cpp:128 +#: data//credits.stxt:367 +msgid "Sound" +msgstr "Dźwięk" + +#: src/object/sound_object.cpp:70 src/object/ambient_sound.cpp:87 +msgid "Volume" +msgstr "Głośność" + +#: src/object/conveyor_belt.hpp:39 +msgid "Conveyor Belt" +msgstr "Przenośnik Taśmowy" + +#: src/object/unstable_tile.cpp:70 src/object/weak_block.cpp:97 +#: src/badguy/flame.cpp:86 +msgid "Ice" +msgstr "Lód" + +#: src/object/unstable_tile.cpp:71 src/object/brick.hpp:34 +msgid "Brick" +msgstr "Cegła" + +#: src/object/unstable_tile.cpp:72 +msgid "Delayed" +msgstr "Opóźniona" + +#: src/object/circleplatform.hpp:35 msgid "Circular Platform" msgstr "Platforma krążąca" -#: src/object/brick.cpp:133 +#: src/object/brick.cpp:59 src/object/coin.cpp:69 +#: src/object/invisible_block.cpp:37 src/object/background.cpp:200 +#: src/object/tilemap.cpp:279 src/object/gradient.cpp:109 +#: src/badguy/viciousivy.cpp:44 src/badguy/snail.cpp:69 +#: src/badguy/smartball.cpp:34 src/badguy/bouncing_snowball.cpp:81 +#: src/badguy/kamikazesnowball.cpp:117 src/badguy/walkingleaf.cpp:35 +#: src/badguy/mrbomb.cpp:47 src/badguy/igel.cpp:188 src/badguy/snowball.cpp:40 +#: src/badguy/mrtree.cpp:50 src/badguy/mriceblock.cpp:62 +msgid "Normal" +msgstr "Normalny" + +#: src/object/brick.cpp:60 src/object/bonus_block.cpp:175 +#: src/object/coin.cpp:70 src/object/invisible_block.cpp:38 +msgid "Retro" +msgstr "Retro" + +#: src/object/brick.cpp:166 msgid "Breakable" msgstr "Możliwe do zniszczenia" -#: src/object/trampoline.cpp:136 src/object/rusty_trampoline.cpp:66 +#: src/object/trampoline.cpp:66 src/object/rusty_trampoline.cpp:66 msgid "Portable" msgstr "Przenośny" -#: src/object/spotlight.cpp:100 src/object/rain_particle_system.cpp:101 +#: src/object/trampoline.cpp:67 +msgid "Stationary" +msgstr "Stacjonarny" + +#: src/object/key.hpp:38 +msgid "Key" +msgstr "Klucz" + +#: src/object/spotlight.cpp:102 src/object/particlesystem.cpp:64 +#: src/object/particle_zone.cpp:50 src/badguy/darttrap.cpp:149 +#: src/supertux/menu/addon_preview_menu.cpp:189 +msgid "Enabled" +msgstr "Włączony" + +#: src/object/spotlight.cpp:103 src/object/rain_particle_system.cpp:101 msgid "Angle" msgstr "Kąt" -#: src/object/spotlight.cpp:101 src/object/magicblock.cpp:94 -#: src/object/candle.cpp:77 src/object/torch.cpp:104 -#: src/object/rublight.cpp:54 src/object/lantern.cpp:62 -#: src/object/ambient_light.cpp:131 src/badguy/willowisp.cpp:328 -#: src/badguy/walking_candle.cpp:82 +#: src/object/spotlight.cpp:104 src/object/magicblock.cpp:95 +#: src/object/candle.cpp:75 src/object/torch.cpp:96 src/object/rublight.cpp:55 +#: src/object/lantern.cpp:62 src/object/ambient_light.cpp:122 +#: src/object/key.cpp:192 src/badguy/willowisp.cpp:319 +#: src/badguy/walking_candle.cpp:91 msgid "Color" msgstr "Kolor" -#: src/object/spotlight.cpp:102 src/object/textscroller.cpp:350 -#: src/object/rain_particle_system.cpp:102 src/object/circleplatform.cpp:55 -#: src/badguy/flame.cpp:59 src/editor/node_marker.cpp:125 +#: src/object/spotlight.cpp:105 src/object/textscroller.cpp:350 +#: src/object/rain_particle_system.cpp:102 src/object/conveyor_belt.cpp:61 +#: src/object/circleplatform.cpp:58 src/badguy/flame.cpp:110 +#: src/editor/node_marker.cpp:125 msgid "Speed" msgstr "Szybkość" -#: src/object/spotlight.cpp:104 +#: src/object/spotlight.cpp:107 msgid "Clockwise" msgstr "Zgodnie z ruchem wskazówek zegara" -#: src/object/spotlight.cpp:104 +#: src/object/spotlight.cpp:107 msgid "Counter-clockwise" msgstr "Przeciwnie do ruchu wskazówek zegara" -#: src/object/spotlight.cpp:104 +#: src/object/spotlight.cpp:107 msgid "Stopped" msgstr "Zatrzymany" -#: src/object/spotlight.cpp:107 src/object/candle.cpp:78 -#: src/object/torch.cpp:103 +#: src/object/spotlight.cpp:110 src/object/lit_object.cpp:69 +#: src/object/candle.cpp:76 src/object/torch.cpp:95 msgid "Layer" msgstr "Warstwa" @@ -281,125 +403,171 @@ msgstr "Fizyka aktywna" msgid "Visible" msgstr "Widzialne" -#: src/object/scripted_object.cpp:73 src/badguy/willowisp.cpp:322 +#: src/object/scripted_object.cpp:73 src/badguy/willowisp.cpp:313 msgid "Hit script" msgstr "Skrypt zderzenia" -#: src/object/custom_particle_system_file.cpp:50 +#: src/object/custom_particle_system_file.cpp:53 #: src/object/textscroller.cpp:348 src/object/music_object.cpp:109 #: src/supertux/menu/particle_editor_open.cpp:38 msgid "File" msgstr "Plik" -#: src/object/bonus_block.cpp:208 +#: src/object/bonus_block.cpp:154 +msgid "Only one custom object is allowed inside bonus blocks." +msgstr "W blokach bonusowych dozwolony jest tylko jeden obiekt niestandardowy." + +#: src/object/bonus_block.cpp:172 +msgid "Blue" +msgstr "Niebieski" + +#: src/object/bonus_block.cpp:173 +msgid "Orange" +msgstr "Pomarańczowy" + +#: src/object/bonus_block.cpp:174 +msgid "Purple" +msgstr "Fioletowy" + +#: src/object/bonus_block.cpp:265 src/supertux/menu/cheat_apply_menu.cpp:54 msgid "Count" msgstr "Ilość" -#: src/object/bonus_block.cpp:209 +#: src/object/bonus_block.cpp:266 msgid "Content" msgstr "Zawartość" -#: src/object/bonus_block.cpp:210 src/object/coin.hpp:43 +#: src/object/bonus_block.cpp:267 src/object/coin.hpp:44 msgid "Coin" msgstr "Moneta" -#: src/object/bonus_block.cpp:210 +#: src/object/bonus_block.cpp:267 msgid "Growth (fire flower)" msgstr "Wzrost (ognisty kwiat)" -#: src/object/bonus_block.cpp:210 +#: src/object/bonus_block.cpp:267 msgid "Growth (ice flower)" msgstr "Wzrost (lodowy kwiat)" -#: src/object/bonus_block.cpp:210 +#: src/object/bonus_block.cpp:267 msgid "Growth (air flower)" msgstr "Wzrost (powietrzny kwiat)" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 msgid "Growth (earth flower)" msgstr "Wzrost (ziemny kwiat)" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 +msgid "Growth (retro)" +msgstr "" + +#: src/object/bonus_block.cpp:268 src/object/powerup.cpp:66 msgid "Star" msgstr "Gwiazda" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 +msgid "Star (retro)" +msgstr "Gwiazda (retro)" + +#: src/object/bonus_block.cpp:268 msgid "Tux doll" -msgstr "Avatar Tuksa" +msgstr "Awatar Tuxa" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 msgid "Custom" msgstr "Własny" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 msgid "Light" msgstr "Światło" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 msgid "Light (On)" msgstr "Światło (Włączone)" -#: src/object/bonus_block.cpp:212 src/object/trampoline.hpp:35 +#: src/object/bonus_block.cpp:269 src/object/trampoline.hpp:37 msgid "Trampoline" msgstr "Trampolina" -#: src/object/bonus_block.cpp:212 +#: src/object/bonus_block.cpp:269 +msgid "Portable trampoline" +msgstr "Przenośna trampolina" + +#: src/object/bonus_block.cpp:269 msgid "Coin rain" msgstr "Deszcz monet" -#: src/object/bonus_block.cpp:212 +#: src/object/bonus_block.cpp:269 msgid "Coin explosion" msgstr "Eksplozja monet" -#: src/object/bonus_block.cpp:216 +#: src/object/bonus_block.cpp:269 src/object/rock.hpp:43 +msgid "Rock" +msgstr "Skała" + +#: src/object/bonus_block.cpp:269 +msgid "Potion" +msgstr "Mikstura" + +#: src/object/bonus_block.cpp:275 msgid "Custom Content" msgstr "Niestandardowa zawartość" -#: src/object/pneumatic_platform.hpp:62 +#: src/object/bonus_block.cpp:278 +msgid "Coin sprite" +msgstr "Sprite monety" + +#: src/object/pneumatic_platform.hpp:65 msgid "Pneumatic Platform" msgstr "Platforma pneumatyczna" -#: src/object/coin.cpp:303 src/object/tilemap.cpp:249 +#: src/object/coin.cpp:326 src/object/tilemap.cpp:287 msgid "Following path" msgstr "Wzdłuż ścieżki" -#: src/object/coin.cpp:306 src/object/camera.cpp:227 -#: src/object/platform.cpp:74 src/object/tilemap.cpp:252 +#: src/object/coin.cpp:329 src/object/camera.cpp:171 +#: src/object/platform.cpp:77 src/object/tilemap.cpp:290 msgid "Path Mode" msgstr "Rodzaj ścieżki" -#: src/object/coin.cpp:307 src/object/camera.cpp:228 -#: src/object/platform.cpp:75 src/object/tilemap.cpp:253 -#: src/badguy/willowisp.cpp:331 +#: src/object/coin.cpp:330 src/object/camera.cpp:172 +#: src/object/platform.cpp:78 src/object/tilemap.cpp:291 +#: src/badguy/willowisp.cpp:322 msgid "Adapt Speed" msgstr "Dostosuj prędkość" -#: src/object/coin.cpp:308 src/object/platform.cpp:77 -#: src/object/tilemap.cpp:247 src/badguy/willowisp.cpp:327 +#: src/object/coin.cpp:331 src/object/platform.cpp:81 +#: src/object/tilemap.cpp:285 src/badguy/willowisp.cpp:318 msgid "Starting Node" msgstr "Punkt początkowy" -#: src/object/coin.cpp:311 src/object/coin.cpp:339 +#: src/object/coin.cpp:332 src/object/camera.cpp:173 +#: src/object/platform.cpp:82 src/object/tilemap.cpp:293 +#: src/badguy/willowisp.cpp:323 +msgid "Handle" +msgstr "" + +#: src/object/coin.cpp:335 src/object/coin.cpp:371 msgid "Collect script" msgstr "Skrypt zebrania" -#: src/object/ghost_particle_system.hpp:36 +#: src/object/ghost_particle_system.hpp:37 msgid "Ghost Particles" msgstr "Cząsteczki ducha" -#: src/object/camera.cpp:219 +#: src/object/camera.cpp:163 msgid "Mode" msgstr "Tryb" -#: src/object/camera.cpp:220 +#: src/object/camera.cpp:164 msgid "normal" msgstr "Normalny" -#: src/object/camera.cpp:220 +#: src/object/camera.cpp:164 msgid "manual" -msgstr "Ręczny" +msgstr "ręczny" -#: src/object/camera.cpp:220 +#: src/object/camera.cpp:164 msgid "autoscroll" msgstr "Automatyczne przewijanie" @@ -415,32 +583,20 @@ msgstr "Przesunięcie w poziomie X" msgid "Controllable" msgstr "Kontrolowalny" -#: src/object/textscroller.cpp:353 -msgid "Anchor" -msgstr "Zakotwiczenie" - -#: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 -#: src/supertux/menu/keyboard_menu.cpp:34 -#: src/supertux/menu/joystick_menu.cpp:71 -msgid "Left" -msgstr "W lewo" - #: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 msgid "Center" msgstr "Na środku" -#: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 -#: src/supertux/menu/keyboard_menu.cpp:35 -#: src/supertux/menu/joystick_menu.cpp:72 -msgid "Right" -msgstr "W prawo" - #: src/object/textscroller.cpp:357 msgid "Text Alignment" msgstr "Wyrównanie tekstu" -#: src/object/spawnpoint.hpp:46 src/badguy/willowisp.cpp:321 -#: src/editor/worldmap_objects.cpp:171 +#: src/object/lit_object.hpp:40 +msgid "Lit object" +msgstr "" + +#: src/object/spawnpoint.hpp:48 src/badguy/willowisp.cpp:312 +#: src/worldmap/teleporter.cpp:48 msgid "Spawnpoint" msgstr "Punkt odrodzenia" @@ -448,266 +604,339 @@ msgstr "Punkt odrodzenia" msgid "Counter" msgstr "Licznik" -#: src/object/candle.hpp:36 +#: src/object/candle.hpp:37 msgid "Candle" msgstr "Świeca" -#: src/object/particlesystem.cpp:64 src/object/particle_zone.cpp:79 -#: src/badguy/darttrap.cpp:127 -msgid "Enabled" -msgstr "Włączony" +#: src/object/particlesystem.cpp:65 src/object/background.cpp:184 +#: src/object/thunderstorm.cpp:76 src/object/tilemap.cpp:277 +#: src/object/gradient.cpp:101 src/object/moving_sprite.cpp:193 +msgid "Z-pos" +msgstr "Pozycja w osi Z" -#: src/object/invisible_block.hpp:31 +#: src/object/invisible_block.hpp:30 msgid "Invisible Block" msgstr "Niewidzialny blok" -#: src/object/snow_particle_system.hpp:35 +#: src/object/snow_particle_system.hpp:37 msgid "Snow Particles" msgstr "Cząsteczki śniegu" -#: src/object/powerup.hpp:35 +#: src/object/powerup.hpp:40 msgid "Powerup" msgstr "Wzmocnienie" -#: src/object/fallblock.hpp:39 +#: src/object/infoblock.cpp:78 +msgid "Front Color" +msgstr "Kolor przedni" + +#: src/object/infoblock.cpp:80 +msgid "Back Color" +msgstr "Kolor tylny" + +#: src/object/infoblock.cpp:82 +msgid "Roundness" +msgstr "Zaokrąglenie" + +#: src/object/infoblock.cpp:84 +msgid "Fade Transition" +msgstr "Przejście zanikania" + +#: src/object/fallblock.hpp:41 msgid "Falling Platform" msgstr "Spadająca platforma" -#: src/object/level_time.hpp:55 +#: src/object/level_time.hpp:56 msgid "Time Limit" msgstr "Limit czasu" -#: src/object/ambient_sound.cpp:119 src/supertux/menu/options_menu.cpp:391 -#: data//credits.stxt:352 -msgid "Sound" -msgstr "Dźwięk" - -#: src/object/ambient_sound.cpp:120 -msgid "Distance factor" -msgstr "Wpływ odległości" - -#: src/object/ambient_sound.cpp:121 -msgid "Distance bias" -msgstr "Odchylenie odległości" - -#: src/object/ambient_sound.cpp:122 -msgid "Volume" -msgstr "Głośność" +#: src/object/ambient_sound.cpp:86 +msgid "Radius (in tiles)" +msgstr "Promień (w płytkach)" #: src/object/torch.hpp:41 msgid "Torch" msgstr "Pochodnia" -#: src/object/icecrusher.hpp:53 -msgid "Icecrusher" -msgstr "Kruszek lodu" - -#: src/object/rublight.hpp:33 +#: src/object/rublight.hpp:34 msgid "Rublight" msgstr "Lampa uruchamiana dotykiem" -#: src/object/background.hpp:43 +#: src/object/background.hpp:45 msgid "Background" msgstr "Tło" -#: src/object/firefly.hpp:36 +#: src/object/text_object.hpp:44 src/gui/menu_string_array.cpp:77 +msgid "Text" +msgstr "Tekst" + +#: src/object/firefly.hpp:38 msgid "Checkpoint" msgstr "Punkt kontrolny" -#: src/object/ambient_light.hpp:36 +#: src/object/ambient_light.hpp:37 msgid "Ambient Light" msgstr "Światło otoczenia" -#: src/object/lantern.hpp:37 +#: src/object/lantern.hpp:38 msgid "Lantern" msgstr "Lampa" -#: src/object/wind.hpp:40 +#: src/object/wind.hpp:43 msgid "Wind" msgstr "Wiatr" -#: src/object/bicycle_platform.cpp:189 src/object/background.cpp:179 -#: src/object/pneumatic_platform.cpp:147 -#: src/supertux/menu/joystick_menu.cpp:170 src/supertux/moving_object.cpp:58 -#: src/editor/worldmap_objects.cpp:73 +#: src/object/bicycle_platform.cpp:203 src/object/background.cpp:180 +#: src/object/pneumatic_platform.cpp:162 +#: src/supertux/menu/joystick_menu.cpp:172 src/supertux/moving_object.cpp:65 +#: src/worldmap/worldmap_object.cpp:77 msgid "X" msgstr "X" -#: src/object/bicycle_platform.cpp:190 src/object/background.cpp:180 -#: src/object/pneumatic_platform.cpp:148 -#: src/supertux/menu/joystick_menu.cpp:172 src/supertux/moving_object.cpp:59 -#: src/editor/worldmap_objects.cpp:74 +#: src/object/bicycle_platform.cpp:204 src/object/background.cpp:181 +#: src/object/pneumatic_platform.cpp:163 +#: src/supertux/menu/joystick_menu.cpp:174 src/supertux/moving_object.cpp:66 +#: src/worldmap/worldmap_object.cpp:78 msgid "Y" msgstr "Y" -#: src/object/bicycle_platform.cpp:192 +#: src/object/bicycle_platform.cpp:206 msgid "Platforms" msgstr "Platformy" -#: src/object/bicycle_platform.cpp:193 src/object/circleplatform.cpp:54 -#: src/badguy/flame.cpp:58 src/badguy/rcrystallo.cpp:50 -#: src/badguy/crystallo.cpp:35 +#: src/object/bicycle_platform.cpp:207 src/object/circleplatform.cpp:57 +#: src/badguy/fish_swimming.cpp:76 src/badguy/flame.cpp:109 +#: src/badguy/rcrystallo.cpp:83 src/badguy/crystallo.cpp:50 msgid "Radius" msgstr "Promień" -#: src/object/bicycle_platform.cpp:194 +#: src/object/bicycle_platform.cpp:208 msgid "Momentum change rate" msgstr "Uległość" -#: src/object/rain_particle_system.hpp:40 +#: src/object/rain_particle_system.hpp:41 msgid "Rain Particles" msgstr "Cząsteczki deszczu" -#: src/object/platform.hpp:45 +#: src/object/platform.hpp:46 msgid "Platform" msgstr "Platforma" -#: src/object/rock.hpp:42 -msgid "Rock" -msgstr "Skała" - -#: src/object/music_object.hpp:41 src/supertux/menu/options_menu.cpp:393 -#: data//credits.stxt:294 +#: src/object/music_object.hpp:42 src/supertux/menu/options_menu.cpp:130 +#: data//credits.stxt:309 msgid "Music" msgstr "Muzyka" -#: src/object/rusty_trampoline.hpp:39 +#: src/object/lit_object.cpp:68 +msgid "Light sprite" +msgstr "" + +#: src/object/lit_object.cpp:71 +msgid "Sprite starting action" +msgstr "" + +#: src/object/lit_object.cpp:72 +msgid "Light sprite starting action" +msgstr "" + +#: src/object/lit_object.cpp:74 +msgid "Light sprite offset X" +msgstr "" + +#: src/object/lit_object.cpp:75 +msgid "Light sprite offset Y" +msgstr "" + +#: src/object/rusty_trampoline.hpp:40 msgid "Rusty Trampoline" msgstr "Zardzewiała trampolina" -#: src/object/particlesystem.hpp:57 +#: src/object/particlesystem.hpp:58 msgid "Particle system" msgstr "System cząstek" -#: src/object/candle.cpp:75 src/object/torch.cpp:101 +#: src/object/candle.cpp:73 src/object/torch.cpp:94 msgid "Burning" msgstr "Płonąca" -#: src/object/candle.cpp:76 +#: src/object/candle.cpp:74 msgid "Flicker" msgstr "Migocząca" -#: src/object/text_array_object.hpp:50 +#: src/object/snow_particle_system.cpp:104 +msgid "Epsilon" +msgstr "" + +#: src/object/snow_particle_system.cpp:105 +msgid "Spin Speed" +msgstr "" + +#: src/object/snow_particle_system.cpp:106 +msgid "State Length" +msgstr "" + +#: src/object/snow_particle_system.cpp:107 +msgid "Wind Speed" +msgstr "" + +#: src/object/text_array_object.hpp:47 msgid "Text array" msgstr "Szyk tekstu" -#: src/object/infoblock.hpp:36 +#: src/object/infoblock.hpp:37 msgid "Info Block" msgstr "Blok informacyjny" -#: src/object/powerup.cpp:191 +#: src/object/powerup.cpp:61 +msgid "Egg" +msgstr "" + +#: src/object/powerup.cpp:62 +msgid "Fire Flower" +msgstr "" + +#: src/object/powerup.cpp:63 +msgid "Ice Flower" +msgstr "" + +#: src/object/powerup.cpp:64 +msgid "Air Flower" +msgstr "" + +#: src/object/powerup.cpp:65 +msgid "Earth Flower" +msgstr "" + +#: src/object/powerup.cpp:67 +msgid "Tux Doll" +msgstr "Awatar Tuxa" + +#: src/object/powerup.cpp:68 +msgid "Flip Potion" +msgstr "" + +#: src/object/powerup.cpp:69 +msgid "Mints" +msgstr "" + +#: src/object/powerup.cpp:70 +msgid "Coffee" +msgstr "Kawa" + +#: src/object/powerup.cpp:71 +msgid "Herring" +msgstr "Śledź" + +#: src/object/powerup.cpp:302 msgid "Disable gravity" msgstr "Wyłącz grawitację" -#: src/object/ambient_sound.hpp:62 +#: src/object/powerup.cpp:312 src/object/weak_block.cpp:266 +msgid "" +"Sprites no longer define the behaviour of the object.\n" +"Object types are used instead." +msgstr "" + +#: src/object/ambient_sound.hpp:43 msgid "Ambient Sound" msgstr "Dźwięk otoczenia" -#: src/object/level_time.cpp:51 src/supertux/statistics.cpp:297 +#: src/object/level_time.cpp:52 src/supertux/statistics.cpp:297 #: src/editor/node_marker.cpp:124 msgid "Time" msgstr "Czas" -#: src/object/hurting_platform.hpp:30 +#: src/object/hurting_platform.hpp:31 msgid "Hurting Platform" msgstr "Raniąca platforma" -#: src/object/icecrusher.cpp:83 -msgid "Sideways" -msgstr "Poziomo" - -#: src/object/background.cpp:182 +#: src/object/background.cpp:183 msgid "Fill" msgstr "Wypełnij" -#: src/object/background.cpp:184 +#: src/object/background.cpp:185 msgid "Alignment" msgstr "Wyrównanie" -#: src/object/background.cpp:185 +#: src/object/background.cpp:186 src/supertux/direction.cpp:61 msgid "none" msgstr "Żadne" -#: src/object/background.cpp:185 src/editor/object_settings.cpp:119 +#: src/object/background.cpp:186 src/supertux/direction.cpp:63 msgid "left" msgstr "lewo" -#: src/object/background.cpp:185 src/editor/object_settings.cpp:119 +#: src/object/background.cpp:186 src/supertux/direction.cpp:65 msgid "right" msgstr "prawo" -#: src/object/background.cpp:185 +#: src/object/background.cpp:186 msgid "top" msgstr "góra" -#: src/object/background.cpp:185 +#: src/object/background.cpp:186 msgid "bottom" msgstr "dół" -#: src/object/background.cpp:188 +#: src/object/background.cpp:189 msgid "Scroll offset x" msgstr "Przesunięcie x" -#: src/object/background.cpp:189 +#: src/object/background.cpp:190 msgid "Scroll offset y" msgstr "Przesunięcie y" -#: src/object/background.cpp:190 +#: src/object/background.cpp:191 msgid "Scroll speed x" msgstr "Prędkość przesuwania x" -#: src/object/background.cpp:191 +#: src/object/background.cpp:192 msgid "Scroll speed y" msgstr "Prędkość przesuwania y" -#: src/object/background.cpp:192 +#: src/object/background.cpp:193 msgid "Parallax Speed x" msgstr "Prędkość paralaksy x" -#: src/object/background.cpp:193 +#: src/object/background.cpp:194 msgid "Parallax Speed y" msgstr "Prędkość paralaksy y" -#: src/object/background.cpp:194 +#: src/object/background.cpp:195 msgid "Top image" msgstr "Obraz górny" -#: src/object/background.cpp:195 +#: src/object/background.cpp:196 msgid "Image" msgstr "Obraz" -#: src/object/background.cpp:196 +#: src/object/background.cpp:197 msgid "Bottom image" msgstr "Obraz dolny" -#: src/object/background.cpp:197 +#: src/object/background.cpp:198 msgid "Colour" msgstr "Kolor" -#: src/object/background.cpp:198 src/object/tilemap.cpp:240 -#: src/object/gradient.cpp:142 +#: src/object/background.cpp:199 src/object/tilemap.cpp:278 +#: src/object/gradient.cpp:108 msgid "Draw target" msgstr "Cel rysowania" -#: src/object/background.cpp:199 src/object/tilemap.cpp:241 -#: src/object/gradient.cpp:143 -msgid "Normal" -msgstr "Normalny" - -#: src/object/background.cpp:199 src/object/tilemap.cpp:241 -#: src/object/gradient.cpp:143 +#: src/object/background.cpp:200 src/object/tilemap.cpp:279 +#: src/object/gradient.cpp:109 msgid "Lightmap" msgstr "Mapa świetlna" -#: src/object/shard.hpp:34 +#: src/object/shard.hpp:35 msgid "Shard" msgstr "Kryształ" -#: src/object/rublight.cpp:55 +#: src/object/rublight.cpp:56 msgid "Fading Speed" msgstr "Szybkość zanikania" -#: src/object/rublight.cpp:56 +#: src/object/rublight.cpp:57 msgid "Glowing Strength" msgstr "Jasność" @@ -743,20 +972,28 @@ msgstr "Wpływa na graczy" msgid "Fancy Particles" msgstr "Dynamiczne cząsteczki" -#: src/object/bicycle_platform.hpp:64 +#: src/object/bicycle_platform.hpp:67 msgid "Bicycle Platform" msgstr "Platforma rowerowa" -#: src/object/platform.cpp:76 src/object/thunderstorm.cpp:69 -#: src/object/tilemap.cpp:254 +#: src/object/platform.cpp:80 src/object/thunderstorm.cpp:77 +#: src/object/tilemap.cpp:292 src/object/conveyor_belt.cpp:62 msgid "Running" msgstr "W ruchu" -#: src/object/rock.cpp:192 +#: src/object/rock.cpp:71 +msgid "Small" +msgstr "Mały" + +#: src/object/rock.cpp:72 +msgid "Large" +msgstr "Duży" + +#: src/object/rock.cpp:234 msgid "On-grab script" msgstr "Skrypt podnoszenia" -#: src/object/rock.cpp:193 +#: src/object/rock.cpp:235 msgid "On-ungrab script" msgstr "Skrypt upuszczania" @@ -764,15 +1001,15 @@ msgstr "Skrypt upuszczania" msgid "Interactive particle system" msgstr "Interaktywny system cząstek" -#: src/object/thunderstorm.cpp:70 +#: src/object/thunderstorm.cpp:78 msgid "Interval" msgstr "Odstęp" -#: src/object/thunderstorm.cpp:71 +#: src/object/thunderstorm.cpp:79 msgid "Strike Script" msgstr "Skrypt uderzenia" -#: src/object/cloud_particle_system.hpp:41 +#: src/object/cloud_particle_system.hpp:42 msgid "Cloud Particles" msgstr "Cząsteczki chmury" @@ -784,7 +1021,7 @@ msgstr "Tekstura" msgid "Amount" msgstr "Ilość" -#: src/object/custom_particle_system.cpp:426 src/object/circleplatform.cpp:56 +#: src/object/custom_particle_system.cpp:426 src/object/circleplatform.cpp:59 #: src/editor/particle_editor.cpp:141 msgid "Delay" msgstr "Opóźnienie" @@ -803,10 +1040,11 @@ msgid "Birth mode" msgstr "Tryb pojawienia się" #: src/object/custom_particle_system.cpp:430 -#: src/object/custom_particle_system.cpp:465 src/object/gradient.cpp:149 -#: src/supertux/menu/keyboard_menu.cpp:58 -#: src/supertux/menu/joystick_menu.cpp:106 -#: src/supertux/menu/joystick_menu.cpp:213 src/editor/object_settings.cpp:131 +#: src/object/custom_particle_system.cpp:465 src/object/gradient.cpp:115 +#: src/gui/menu_string_array.cpp:40 src/gui/menu_string_array.cpp:78 +#: src/supertux/menu/keyboard_menu.cpp:80 +#: src/supertux/menu/joystick_menu.cpp:108 +#: src/supertux/menu/joystick_menu.cpp:215 src/editor/object_settings.cpp:129 #: src/editor/particle_editor.cpp:162 src/editor/particle_editor.cpp:168 msgid "None" msgstr "Brak" @@ -1005,11 +1243,11 @@ msgstr "Zmienność czasu wyjścia" #: src/object/custom_particle_system.cpp:501 msgid "Speed X (variation)" -msgstr "Prędkość X (odmiania)" +msgstr "Prędkość X (zmienność)" #: src/object/custom_particle_system.cpp:502 msgid "Speed Y (variation)" -msgstr "Prędkość Y (odmiania)" +msgstr "Prędkość Y (zmienność)" #: src/object/custom_particle_system.cpp:503 msgid "Acceleration X" @@ -1038,7 +1276,7 @@ msgstr "Obrót" #: src/object/custom_particle_system.cpp:509 msgid "Rotation (variation)" -msgstr "Obrót (odmiania)" +msgstr "Obrót (zmienność)" #: src/object/custom_particle_system.cpp:510 #: src/editor/particle_editor.cpp:195 @@ -1047,7 +1285,7 @@ msgstr "Prędkość obrotu" #: src/object/custom_particle_system.cpp:511 msgid "Rotation speed (variation)" -msgstr "Prędkość obrotu (odmiania)" +msgstr "Prędkość obrotu (zmienność)" #: src/object/custom_particle_system.cpp:512 #: src/editor/particle_editor.cpp:200 @@ -1098,7 +1336,7 @@ msgstr "Trzymaj zawsze" #: src/object/custom_particle_system.cpp:520 #: src/editor/particle_editor.cpp:214 msgid "Bounce (heavy)" -msgstr "Odbij (ciężko)" +msgstr "Odbij (mocno)" #: src/object/custom_particle_system.cpp:520 #: src/editor/particle_editor.cpp:213 @@ -1107,11 +1345,11 @@ msgstr "Odbij (lekko)" #: src/object/custom_particle_system.cpp:520 msgid "Kill particle" -msgstr "Zabij cząstke" +msgstr "Zniszcz cząstkę" #: src/object/custom_particle_system.cpp:520 msgid "Fade out particle" -msgstr "Zanikaj cząstke" +msgstr "Zanikaj cząstkę" #: src/object/custom_particle_system.cpp:524 msgid "Delete if off-screen" @@ -1135,597 +1373,916 @@ msgstr "Zawsze" msgid "Cover screen" msgstr "Zasłoń ekran" -#: src/object/ispy.hpp:33 +#: src/object/ispy.hpp:35 msgid "Ispy" msgstr "Podglądacz" -#: src/object/skull_tile.hpp:32 -msgid "Skull Tile" -msgstr "Płytka z czaszki" - -#: src/object/particle_zone.cpp:80 +#: src/object/particle_zone.cpp:51 msgid "Particle Name" msgstr "Nazwa cząstki" -#: src/object/particle_zone.cpp:81 -msgid "Zone Type" -msgstr "Typ strefy" - -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:62 msgid "Spawn" msgstr "Wyświetl" -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:63 msgid "Life zone" msgstr "Strefa życia" -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:64 msgid "Life zone (clear)" msgstr "Strefa życia (czysta)" -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:65 msgid "Kill particles" msgstr "Zabijaj cząstki" -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:66 msgid "Clear particles" msgstr "Wyczyszczaj cząstki" -#: src/object/weak_block.cpp:211 -msgid "Linked" -msgstr "Połączony" +#: src/object/weak_block.cpp:98 +msgid "Hay" +msgstr "Siano" -#: src/object/decal.hpp:40 +#: src/object/decal.hpp:41 msgid "Decal" msgstr "Tablica informacyjna" -#: src/object/tilemap.cpp:229 +#: src/object/tilemap.cpp:267 msgid "Resize offset x" msgstr "Zmień rozmiar wyrównania x" -#: src/object/tilemap.cpp:230 +#: src/object/tilemap.cpp:268 msgid "Resize offset y" msgstr "Zmień rozmiar wyrównania y" -#: src/object/tilemap.cpp:232 src/supertux/menu/editor_sector_menu.cpp:39 -#: src/editor/object_option.cpp:173 +#: src/object/tilemap.cpp:270 src/supertux/menu/editor_sector_menu.cpp:41 +#: src/editor/object_option.cpp:178 msgid "Width" msgstr "Szerokość" -#: src/object/tilemap.cpp:233 src/supertux/menu/editor_sector_menu.cpp:40 -#: src/editor/object_option.cpp:174 +#: src/object/tilemap.cpp:271 src/supertux/menu/editor_sector_menu.cpp:42 +#: src/editor/object_option.cpp:179 msgid "Height" msgstr "Wysokość" -#: src/object/tilemap.cpp:235 +#: src/object/tilemap.cpp:273 msgid "Alpha" msgstr "Alfa" -#: src/object/tilemap.cpp:236 +#: src/object/tilemap.cpp:274 msgid "Speed x" msgstr "Prędkość x" -#: src/object/tilemap.cpp:237 +#: src/object/tilemap.cpp:275 msgid "Speed y" msgstr "Prędkość y" -#: src/object/tilemap.cpp:238 +#: src/object/tilemap.cpp:276 msgid "Tint" msgstr "Odcień" -#: src/object/tilemap.cpp:257 src/supertux/menu/editor_tilegroup_menu.cpp:26 -#: src/editor/toolbox_widget.cpp:90 +#: src/object/tilemap.cpp:296 src/supertux/menu/editor_tilegroup_menu.cpp:26 +#: src/editor/toolbox_widget.cpp:98 msgid "Tiles" msgstr "Płytki" -#: src/object/gradient.cpp:128 -msgid "Left Colour" -msgstr "Kolor lewy" - -#: src/object/gradient.cpp:129 -msgid "Right Colour" -msgstr "Kolor prawy" - -#: src/object/gradient.cpp:131 -msgid "Top Colour" -msgstr "Kolor górny" +#: src/object/gradient.cpp:98 +msgid "Primary Colour" +msgstr "Kolor podstawowy" -#: src/object/gradient.cpp:132 -msgid "Bottom Colour" -msgstr "Kolor dolny" +#: src/object/gradient.cpp:99 +msgid "Secondary Colour" +msgstr "Kolor dodatkowy" -#: src/object/gradient.cpp:138 +#: src/object/gradient.cpp:104 msgid "Vertical" msgstr "Pionowy" -#: src/object/gradient.cpp:138 +#: src/object/gradient.cpp:104 msgid "Horizontal" msgstr "Poziomy" -#: src/object/gradient.cpp:138 +#: src/object/gradient.cpp:104 msgid "Vertical (whole sector)" msgstr "Pionowy (cały sektor)" -#: src/object/gradient.cpp:138 +#: src/object/gradient.cpp:104 msgid "Horizontal (whole sector)" msgstr "Poziomy (cały sektor)" -#: src/object/gradient.cpp:148 +#: src/object/gradient.cpp:114 msgid "Blend mode" msgstr "Tryb mieszania" -#: src/object/gradient.cpp:149 +#: src/object/gradient.cpp:115 msgid "Blend" msgstr "Mieszaj" -#: src/object/gradient.cpp:149 +#: src/object/gradient.cpp:115 msgid "Additive" msgstr "Przyłącz" -#: src/object/gradient.cpp:149 +#: src/object/gradient.cpp:115 msgid "Modulate" msgstr "Moduluj" -#: src/object/bumper.hpp:35 +#: src/object/bumper.hpp:38 msgid "Bumper" msgstr "Odbijacz" -#: src/object/unstable_tile.hpp:37 +#: src/object/conveyor_belt.cpp:63 +msgid "Length" +msgstr "Długość" + +#: src/object/moving_sprite.cpp:192 src/object/pneumatic_platform.cpp:161 +msgid "Sprite" +msgstr "Sprite" + +#: src/object/unstable_tile.hpp:42 msgid "Unstable Tile" msgstr "Niestabilna płytka" -#: src/object/brick.hpp:31 -msgid "Brick" -msgstr "Cegła" +#: src/object/brick.hpp:70 +msgid "Heavy Brick" +msgstr "" -#: src/object/invisible_wall.hpp:34 +#: src/object/invisible_wall.hpp:37 msgid "Invisible Wall" msgstr "Niewidzialna ściana" -#: src/object/spotlight.hpp:51 +#: src/object/spotlight.hpp:52 msgid "Spotlight" msgstr "Reflektor" -#: src/object/scripted_object.hpp:39 +#: src/object/scripted_object.hpp:40 msgid "Scripted Object" msgstr "Obiekt skryptowy" -#: src/object/custom_particle_system_file.hpp:39 +#: src/object/custom_particle_system_file.hpp:40 msgid "Custom Particles from file" msgstr "Niestandardowe cząstki z pliku" -#: src/object/coin.hpp:78 +#: src/object/coin.hpp:97 msgid "Heavy Coin" msgstr "Ciężka moneta" -#: src/object/bonus_block.hpp:56 +#: src/object/explosion.hpp:35 +msgid "Explosion" +msgstr "Eksplozja" + +#: src/object/bonus_block.hpp:62 msgid "Bonus Block" msgstr "Bonusowy blok" -#: src/object/magicblock.hpp:41 +#: src/object/magicblock.hpp:42 msgid "Magic Tile" msgstr "Magiczna płytka" -#: src/object/camera.hpp:67 +#: src/object/camera.hpp:61 msgid "Camera" msgstr "Kamera" -#: src/object/textscroller.hpp:44 +#: src/object/textscroller.hpp:45 msgid "Text Scroller" msgstr "Przewijacz tekstu" -#: src/gui/menu_badguy_select.cpp:94 -msgid "List of enemies" -msgstr "Lista wrogów" +#: src/gui/notification.cpp:57 +msgid "Click for more details." +msgstr "Kliknij, aby uzyskać więcej informacji." + +#: src/gui/notification.cpp:150 +msgid "Do not show again" +msgstr "Nie pokazuj ponownie" + +#: src/gui/notification.cpp:157 src/supertux/menu/download_dialog.cpp:124 +msgid "Close" +msgstr "Zamknij" + +#: src/gui/menu_string_array.cpp:40 src/gui/menu_string_array.cpp:78 +#, c++-format +msgid "Selected item: {}" +msgstr "Wybrany element: {}" -#: src/gui/menu_badguy_select.cpp:96 -msgid "Select enemy" -msgstr "Wybierz wroga" +#: src/gui/menu_string_array.cpp:70 +msgid "Edit string array" +msgstr "Edytuj tablicę ciągów znaków" -#: src/gui/menu_badguy_select.cpp:97 +#: src/gui/menu_string_array.cpp:79 src/gui/menu_object_select.cpp:50 +#: src/supertux/menu/profile_menu.cpp:88 msgid "Add" msgstr "Dodaj" -#: src/gui/menu_badguy_select.cpp:107 src/gui/menu_color.cpp:37 -#: src/gui/dialog.hpp:81 src/gui/menu_script.cpp:47 -#: src/supertux/menu/editor_sector_menu.cpp:46 -#: src/supertux/menu/editor_levelset_menu.cpp:62 -#: src/supertux/menu/addon_menu.cpp:349 +#: src/gui/menu_string_array.cpp:80 +msgid "Insert" +msgstr "Wstaw" + +#: src/gui/menu_string_array.cpp:81 +#: src/supertux/menu/addon_preview_menu.cpp:177 src/editor/object_menu.cpp:61 +msgid "Update" +msgstr "" + +#: src/gui/menu_string_array.cpp:82 src/supertux/menu/profile_menu.cpp:108 +#: src/supertux/menu/profile_menu.cpp:110 +msgid "Delete" +msgstr "Usuń" + +#: src/gui/menu_string_array.cpp:84 src/gui/menu_object_select.cpp:61 +#: src/gui/menu_color.cpp:37 src/gui/dialog.hpp:87 src/gui/menu_script.cpp:46 +#: src/supertux/menu/editor_sector_menu.cpp:48 +#: src/supertux/menu/editor_levelset_menu.cpp:58 #: src/supertux/menu/editor_new_levelset_menu.cpp:37 -#: src/supertux/menu/editor_level_menu.cpp:45 src/editor/object_menu.cpp:43 +#: src/supertux/menu/editor_level_menu.cpp:45 src/editor/object_menu.cpp:71 msgid "OK" msgstr "OK" -#: src/gui/menu_badguy_select.cpp:136 -msgid "Do you want to delete this badguy from the list?" -msgstr "Czy chcesz usunąć tego wroga z listy?" +#: src/gui/menu_object_select.cpp:46 +msgid "List of objects" +msgstr "Lista obiektów" -#: src/gui/menu_badguy_select.cpp:137 src/gui/dialog.hpp:90 -#: src/supertux/menu/editor_level_select_menu.cpp:164 -#: src/supertux/menu/editor_menu.cpp:164 src/editor/editor.cpp:583 -msgid "Yes" -msgstr "Tak" +#: src/gui/menu_object_select.cpp:48 +#, c++-format +msgid "Select object ({})" +msgstr "Wybierz obiekt ({})" -#: src/gui/menu_badguy_select.cpp:140 src/gui/dialog.hpp:91 -#: src/supertux/menu/editor_level_select_menu.cpp:168 -#: src/supertux/menu/editor_menu.cpp:167 src/editor/particle_editor.cpp:780 -#: src/editor/editor.cpp:590 -msgid "No" -msgstr "Nie" +#: src/gui/menu_object_select.cpp:114 +msgid "Are you sure you want to remove this object from the list?" +msgstr "Czy na pewno chcesz usunąć ten obiekt z listy?" #: src/gui/menu_color.cpp:24 msgid "Mix the colour" msgstr "Zmieszaj kolor" -#: src/gui/menu_filesystem.cpp:112 src/gui/menu_paths.cpp:44 -#: src/supertux/menu/particle_editor_save_as.cpp:42 +#: src/gui/dialog.hpp:96 src/supertux/menu/editor_level_select_menu.cpp:181 +#: src/editor/editor.cpp:663 +msgid "Yes" +msgstr "Tak" + +#: src/gui/dialog.hpp:97 src/supertux/menu/editor_level_select_menu.cpp:185 +#: src/editor/particle_editor.cpp:781 src/editor/editor.cpp:670 +msgid "No" +msgstr "Nie" + +#: src/gui/menu_list.cpp:38 src/gui/menu_filesystem.cpp:120 +#: src/gui/menu_paths.cpp:48 src/supertux/menu/particle_editor_save_as.cpp:42 #: src/supertux/menu/editor_sectors_menu.cpp:45 -#: src/supertux/menu/editor_sectors_menu.cpp:95 -#: src/supertux/menu/editor_sectors_menu.cpp:100 +#: src/supertux/menu/editor_sectors_menu.cpp:94 +#: src/supertux/menu/editor_sectors_menu.cpp:99 #: src/supertux/menu/editor_objectgroup_menu.cpp:42 #: src/supertux/menu/editor_tilegroup_menu.cpp:36 -#: src/supertux/menu/editor_level_select_menu.cpp:173 +#: src/supertux/menu/editor_level_select_menu.cpp:190 #: src/supertux/menu/editor_save_as.cpp:42 #: src/supertux/menu/particle_editor_open.cpp:43 -#: src/editor/particle_editor.cpp:784 src/editor/editor.cpp:594 +#: src/editor/particle_editor.cpp:785 src/editor/editor.cpp:674 msgid "Cancel" msgstr "Anuluj" +#: src/gui/menu_filesystem.cpp:118 +msgid "Open Directory" +msgstr "" + #: src/gui/menu_script.cpp:28 msgid "Edit script" msgstr "Edytuj skrypt" -#: src/gui/menu_paths.cpp:30 +#: src/gui/menu_paths.cpp:32 msgid "Clone" msgstr "Sklonuj" -#: src/gui/menu_paths.cpp:38 +#: src/gui/menu_paths.cpp:41 msgid "" -"An error occured and the game could\n" +"An error occurred and the game could\n" "not clone the path. Please contact\n" "the developers for support." -msgstr "Wystąpił błąd i gra\nnie mogła sklonować ścieżki. Skontaktuj się z\nz developerami po pomoc." +msgstr "" -#: src/gui/menu_paths.cpp:41 +#: src/gui/menu_paths.cpp:44 msgid "Bind" msgstr "Przypisz" -#: src/gui/menu_paths.cpp:63 src/supertux/menu/integrations_menu.cpp:60 -#: src/supertux/menu/contrib_menu.cpp:161 src/supertux/menu/debug_menu.cpp:75 -#: src/supertux/menu/editor_level_select_menu.cpp:88 -#: src/supertux/menu/worldmap_cheat_menu.cpp:55 -#: src/supertux/menu/worldmap_cheat_menu.cpp:153 +#: src/gui/menu_paths.cpp:49 +msgid "" +"Do you wish to clone the path to edit it separately,\n" +"or do you want to bind both paths together\n" +"so that any edit on one edits the other?" +msgstr "" + +#: src/gui/menu_paths.cpp:56 +#, c++-format +msgid "Path {}" +msgstr "Ścieżka {}" + +#: src/gui/menu_paths.cpp:67 src/supertux/menu/integrations_menu.cpp:60 +#: src/supertux/menu/editor_converters_menu.cpp:79 +#: src/supertux/menu/video_system_menu.cpp:45 +#: src/supertux/menu/contrib_menu.cpp:102 src/supertux/menu/debug_menu.cpp:77 +#: src/supertux/menu/multiplayer_menu.cpp:39 +#: src/supertux/menu/custom_menu_menu.cpp:65 +#: src/supertux/menu/editor_level_select_menu.cpp:98 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:63 +#: src/supertux/menu/worldmap_cheat_menu.cpp:57 +#: src/supertux/menu/worldmap_cheat_menu.cpp:196 #: src/supertux/menu/editor_levelset_select_menu.cpp:114 -#: src/supertux/menu/options_menu.cpp:442 -#: src/supertux/menu/profile_menu.cpp:54 src/supertux/menu/addon_menu.cpp:213 +#: src/supertux/menu/options_menu.cpp:223 +#: src/supertux/menu/editor_delete_levelset_menu.cpp:69 +#: src/supertux/menu/addon_preview_menu.cpp:193 +#: src/supertux/menu/profile_menu.cpp:118 +#: src/supertux/menu/multiplayer_players_menu.cpp:91 +#: src/supertux/menu/addon_menu.cpp:153 #: src/supertux/menu/editor_new_levelset_menu.cpp:40 +#: src/supertux/menu/options_select_menu.cpp:44 #: src/supertux/menu/world_set_menu.cpp:33 +#: src/supertux/menu/addon_browse_menu.cpp:162 #: src/supertux/menu/web_asset_menu.cpp:48 -#: src/supertux/menu/keyboard_menu.cpp:49 -#: src/supertux/menu/language_menu.cpp:56 -#: src/supertux/menu/joystick_menu.cpp:97 +#: src/supertux/menu/profile_name_menu.cpp:45 +#: src/supertux/menu/keyboard_menu.cpp:71 +#: src/supertux/menu/sorted_contrib_menu.cpp:51 +#: src/supertux/menu/language_menu.cpp:63 +#: src/supertux/menu/joystick_menu.cpp:99 #: src/supertux/menu/contrib_levelset_menu.cpp:67 -#: src/supertux/menu/cheat_menu.cpp:44 -#: src/supertux/menu/editor_delete_level_menu.cpp:43 +#: src/supertux/menu/cheat_menu.cpp:58 +#: src/supertux/menu/addon_file_install_menu.cpp:36 +#: src/supertux/menu/cheat_apply_menu.cpp:43 +#: src/supertux/menu/cheat_apply_menu.cpp:63 +#: src/supertux/menu/multiplayer_player_menu.cpp:205 +#: src/supertux/menu/editor_delete_level_menu.cpp:68 msgid "Back" msgstr "Wróć" -#: src/badguy/toad.hpp:37 -msgid "Toad" -msgstr "Ropucha" +#: src/addon/addon_manager.cpp:562 +msgid "Only one resource pack is allowed to be enabled at a time." +msgstr "" -#: src/badguy/mrtree.hpp:29 -msgid "Walking Tree" -msgstr "Chodzące drzewo" +#: src/addon/addon_manager.cpp:837 +#, c++-format +msgid "Add-on {} by {} is already installed." +msgstr "" -#: src/badguy/plant.hpp:33 -msgid "Plant" -msgstr "Roślina" +#: src/addon/addon_manager.cpp:857 +#, c++-format +msgid "Add-on {} by {} successfully installed." +msgstr "" -#: src/badguy/crystallo.hpp:30 -msgid "Crystallo" -msgstr "Kryształ" +#: src/addon/addon.cpp:71 src/supertux/menu/editor_levelset_menu.cpp:54 +msgid "Levelset" +msgstr "Zestaw poziomów" -#: src/badguy/totem.hpp:36 -msgid "Totem" -msgstr "Totem" +#: src/addon/addon.cpp:74 src/supertux/menu/editor_levelset_menu.cpp:54 +#: data//images/engine/editor/objects.stoi:389 +msgid "Worldmap" +msgstr "Mapa świata" -#: src/badguy/stalactite.hpp:38 -msgid "Stalactite" -msgstr "Sopel" +#: src/addon/addon.cpp:77 +msgid "World" +msgstr "Świat" -#: src/badguy/haywire.hpp:45 -msgid "Haywire" -msgstr "Kolorowa bomba" +#: src/addon/addon.cpp:80 +msgid "Add-on" +msgstr "Dodatek" + +#: src/addon/addon.cpp:83 +msgid "Language Pack" +msgstr "" + +#: src/addon/addon.cpp:86 +msgid "Resource Pack" +msgstr "" + +#: src/addon/addon.cpp:89 +msgid "Unknown" +msgstr "Nieznany" + +#: src/addon/addon.cpp:100 +#, c++-format +msgid "{} \"{}\" by \"{}\"" +msgstr "{} \"{}\" przez \"{}\"" + +#: src/addon/addon.cpp:114 +msgid "add-on" +msgstr "dodatek" + +#: src/addon/addon.cpp:114 +msgid "add-ons" +msgstr "dodatki" + +#: src/badguy/toad.hpp:38 +msgid "Toad" +msgstr "Ropucha" + +#: src/badguy/mrtree.hpp:32 +msgid "Mr. Tree" +msgstr "Pan Drzewo" + +#: src/badguy/plant.hpp:34 +msgid "Plant" +msgstr "Roślina" + +#: src/badguy/tarantula.hpp:39 src/badguy/tarantula.cpp:353 +msgid "Tarantula" +msgstr "" + +#: src/badguy/granito_giant.cpp:71 +msgid "Awake" +msgstr "" + +#: src/badguy/granito_giant.cpp:72 +msgid "Sleeping" +msgstr "" + +#: src/badguy/granito_giant.cpp:73 +msgid "Corrupted A" +msgstr "" + +#: src/badguy/granito_giant.cpp:74 +msgid "Corrupted B" +msgstr "" + +#: src/badguy/granito_giant.cpp:75 +msgid "Corrupted C" +msgstr "" + +#: src/badguy/crystallo.hpp:33 +msgid "Crystallo" +msgstr "Kryształ" + +#: src/badguy/viciousivy.cpp:45 src/badguy/snail.cpp:70 +#: src/badguy/kamikazesnowball.cpp:118 src/badguy/walkingleaf.cpp:36 +#: src/badguy/jumpy.cpp:46 src/badguy/igel.cpp:189 src/badguy/mrtree.cpp:51 +msgid "Corrupted" +msgstr "" + +#: src/badguy/totem.hpp:37 +msgid "Totem" +msgstr "Totem" + +#: src/badguy/stalactite.hpp:42 +msgid "Stalactite" +msgstr "Sopel" + +#: src/badguy/fish_chasing.cpp:198 +msgid "Tracking Distance" +msgstr "" + +#: src/badguy/fish_chasing.cpp:199 +msgid "Losing Distance" +msgstr "" -#: src/badguy/dispenser.hpp:48 +#: src/badguy/fish_chasing.cpp:200 +msgid "Chase Speed" +msgstr "" + +#: src/badguy/root_sapling.hpp:41 +msgid "Root Sapling" +msgstr "" + +#: src/badguy/haywire.hpp:46 +msgid "Haywire" +msgstr "Kolorowa bomba" + +#: src/badguy/dispenser.hpp:52 msgid "Dispenser" msgstr "Dozownik" -#: src/badguy/short_fuse.hpp:29 +#: src/badguy/short_fuse.hpp:30 msgid "Short Fuse" msgstr "Krótki lont" -#: src/badguy/zeekling.hpp:36 +#: src/badguy/zeekling.hpp:39 msgid "Zeekling" msgstr "Zeekling" -#: src/badguy/mriceblock.hpp:46 -msgid "Iceblock" -msgstr "Lodowy klocek" +#: src/badguy/smartball.cpp:35 +msgid "Pumpkin" +msgstr "" + +#: src/badguy/bouncing_snowball.cpp:82 +msgid "Fatbat" +msgstr "" + +#: src/badguy/dive_mine.hpp:50 +msgid "Dive Mine" +msgstr "" + +#: src/badguy/granito_big.hpp:33 +msgid "Big Granito" +msgstr "" + +#: src/badguy/mriceblock.hpp:49 +msgid "Mr. Iceblock" +msgstr "" + +#: src/badguy/granito.hpp:39 src/badguy/darttrap.cpp:163 +#: src/badguy/corrupted_granito.cpp:175 src/badguy/dispenser.cpp:438 +msgid "Granito" +msgstr "Granito" + +#: src/badguy/fish_swimming.cpp:54 src/badguy/jumpy.cpp:44 +#: data//images/ice_world.strf:10 data//images/tiles.strf:28 +#: data//images/worldmap.strf:41 +msgid "Snow" +msgstr "Śnieg" + +#: src/badguy/fish_swimming.cpp:55 data//images/ice_world.strf:211 +#: data//images/tiles.strf:366 data//images/worldmap.strf:67 +msgid "Forest" +msgstr "Las" + +#: src/badguy/crusher.hpp:71 +msgid "Crusher" +msgstr "" + +#: src/badguy/flame.cpp:84 +msgid "Fire" +msgstr "" + +#: src/badguy/flame.cpp:85 +msgid "Ghost" +msgstr "" + +#: src/badguy/corrupted_granito_big.hpp:35 +msgid "Corrupted Big Granito" +msgstr "" -#: src/badguy/scrystallo.cpp:52 +#: src/badguy/scrystallo.cpp:57 msgid "Walk Radius" msgstr "Promień spaceru" -#: src/badguy/scrystallo.cpp:53 +#: src/badguy/scrystallo.cpp:58 msgid "Awakening Radius" msgstr "Promień przebudzenia" -#: src/badguy/jumpy.hpp:36 +#: src/badguy/scrystallo.cpp:59 +msgid "Roof-attached" +msgstr "" + +#: src/badguy/jumpy.hpp:40 msgid "Jumpy" msgstr "Skoczek" -#: src/badguy/captainsnowball.hpp:31 +#: src/badguy/captainsnowball.hpp:32 msgid "Captain Snowball" msgstr "Kapitan kula śnieżna" -#: src/badguy/ghosttree.hpp:42 +#: src/badguy/ghosttree.hpp:43 msgid "Ghost Tree" msgstr "Drzewo-duch" -#: src/badguy/willowisp.cpp:323 +#: src/badguy/willowisp.cpp:314 msgid "Track range" msgstr "Zakres toru" -#: src/badguy/willowisp.cpp:324 +#: src/badguy/willowisp.cpp:315 msgid "Vanish range" msgstr "Zakres zanikania" -#: src/badguy/willowisp.cpp:325 +#: src/badguy/willowisp.cpp:316 msgid "Fly speed" msgstr "Szybkość lotu" -#: src/badguy/kugelblitz.hpp:39 +#: src/badguy/kugelblitz.hpp:40 msgid "Kugelblitz" msgstr "Piorun kulisty" -#: src/badguy/mole_rock.hpp:43 +#: src/badguy/mole_rock.hpp:44 msgid "Mole's rock" msgstr "Kamień kreta" -#: src/badguy/badguy.cpp:849 +#: src/badguy/badguy.cpp:1064 msgid "Death script" msgstr "Skrypt śmierci" -#: src/badguy/sspiky.hpp:36 +#: src/badguy/sspiky.hpp:37 msgid "Sleeping Spiky" msgstr "Śpiący Kolczasty" -#: src/badguy/yeti_stalactite.hpp:33 +#: src/badguy/yeti_stalactite.hpp:34 msgid "Yeti's Stalactite" msgstr "Stalaktyt Yeti" -#: src/badguy/livefire.hpp:37 +#: src/badguy/fish_harmless.hpp:30 +msgid "Harmless Fish" +msgstr "" + +#: src/badguy/livefire.hpp:38 msgid "Walking Flame" msgstr "Chodzący płomień" -#: src/badguy/livefire.hpp:68 +#: src/badguy/livefire.hpp:71 msgid "Sleeping Flame" msgstr "Śpiący płomień" -#: src/badguy/livefire.hpp:84 +#: src/badguy/livefire.hpp:89 msgid "Dormant Flame" msgstr "Drzemiący płomień" -#: src/badguy/owl.hpp:39 +#: src/badguy/owl.hpp:45 msgid "Owl" msgstr "Sowa" -#: src/badguy/igel.hpp:34 +#: src/badguy/igel.hpp:38 msgid "Igel" msgstr "Jeż" -#: src/badguy/darttrap.cpp:126 +#: src/badguy/darttrap.cpp:148 msgid "Initial delay" msgstr "Początkowe opóźnienie" -#: src/badguy/darttrap.cpp:128 +#: src/badguy/darttrap.cpp:150 msgid "Fire delay" msgstr "Opóźnienie ognia" -#: src/badguy/darttrap.cpp:129 +#: src/badguy/darttrap.cpp:151 msgid "Ammo" msgstr "Amunicja" -#: src/badguy/snowball.hpp:29 -msgid "Snowball" -msgstr "Kula śnieżna" +#: src/badguy/darttrap.cpp:152 +msgid "Dart sprite" +msgstr "" + +#: src/badguy/darttrap.cpp:164 +msgid "Skull" +msgstr "" + +#: src/badguy/snowball.hpp:30 +msgid "Mr. Snowball" +msgstr "" -#: src/badguy/smartblock.hpp:29 -msgid "Smartblock" -msgstr "Mądry blok" +#: src/badguy/smartblock.hpp:30 +msgid "Mrs. Iceblock" +msgstr "" -#: src/badguy/yeti.cpp:369 +#: src/badguy/yeti.cpp:370 msgid "Fixed position" msgstr "Stała pozycja" -#: src/badguy/yeti.cpp:370 +#: src/badguy/yeti.cpp:371 msgid "Lives" msgstr "Życia" -#: src/badguy/goldbomb.hpp:49 +#: src/badguy/goldbomb.hpp:50 msgid "Gold Bomb" msgstr "Złota bomba" -#: src/badguy/flyingsnowball.hpp:32 +#: src/badguy/corrupted_granito.hpp:44 +msgid "Corrupted Granito" +msgstr "" + +#: src/badguy/mrbomb.cpp:48 +msgid "Classic" +msgstr "" + +#: src/badguy/flyingsnowball.hpp:33 msgid "Flying Snowball" msgstr "Latająca kula śnieżna" -#: src/badguy/skullyhop.hpp:37 -msgid "Skullyhop" -msgstr "Skacząca czaszka" +#: src/badguy/crusher.cpp:75 +msgid "Ice (normal)" +msgstr "" + +#: src/badguy/crusher.cpp:76 +msgid "Ice (big)" +msgstr "" + +#: src/badguy/crusher.cpp:77 +msgid "Rock (normal)" +msgstr "" + +#: src/badguy/crusher.cpp:78 +msgid "Rock (big)" +msgstr "" + +#: src/badguy/crusher.cpp:79 +msgid "Corrupted (normal)" +msgstr "" + +#: src/badguy/crusher.cpp:80 +msgid "Corrupted (big)" +msgstr "" + +#: src/badguy/crusher.cpp:492 +msgid "Sideways" +msgstr "Poziomo" -#: src/badguy/kamikazesnowball.hpp:32 -msgid "Snowshot" -msgstr "Wystrzelona kula śnieżna" +#: src/badguy/kamikazesnowball.hpp:34 +msgid "Kamikaze Snowball" +msgstr "" -#: src/badguy/kamikazesnowball.hpp:52 +#: src/badguy/kamikazesnowball.hpp:64 msgid "Leafshot" msgstr "Wystrzelony liść" -#: src/badguy/flame.hpp:41 +#: src/badguy/fish_swimming.hpp:40 +msgid "Swimming Fish" +msgstr "" + +#: src/badguy/flame.hpp:47 msgid "Flame" msgstr "Płomień" -#: src/badguy/scrystallo.hpp:30 +#: src/badguy/scrystallo.hpp:31 msgid "Sleeping Crystallo" msgstr "Śpiący kryształ" -#: src/badguy/poisonivy.hpp:30 -msgid "Spring Leaf" -msgstr "Wiosenny liść" +#: src/badguy/jumpy.cpp:45 +msgid "Wooden" +msgstr "" + +#: src/badguy/jumpy.cpp:47 +msgid "Metal" +msgstr "" + +#: src/badguy/jumpy.cpp:48 +msgid "Bag" +msgstr "" #: src/badguy/willowisp.hpp:57 msgid "Will o' Wisp" msgstr "Błędny ognik" -#: src/badguy/badguy.hpp:53 +#: src/badguy/fish_jumping.hpp:41 +msgid "Jumping Fish" +msgstr "" + +#: src/badguy/badguy.hpp:61 msgid "Badguy" msgstr "Wróg" -#: src/badguy/ghostflame.hpp:30 -msgid "Ghost Flame" -msgstr "Płomień-duch" - -#: src/badguy/rcrystallo.hpp:30 +#: src/badguy/rcrystallo.hpp:33 msgid "Roof Crystallo" -msgstr "Dachowy krzyształ" +msgstr "Dachowy kryształ" -#: src/badguy/spiky.hpp:30 +#: src/badguy/spiky.hpp:31 msgid "Spiky" msgstr "Kolczasty" -#: src/badguy/walkingleaf.hpp:30 -msgid "Autumn Leaf" -msgstr "Jesienny liść" +#: src/badguy/walkingleaf.hpp:33 +msgid "Walking Leaf" +msgstr "" + +#: src/badguy/root.hpp:39 +msgid "Root" +msgstr "" -#: src/badguy/owl.cpp:227 +#: src/badguy/owl.cpp:241 msgid "Carry" msgstr "Nieś" -#: src/badguy/darttrap.hpp:33 +#: src/badguy/darttrap.hpp:35 msgid "Dart Trap" msgstr "Pułapka ze strzałami" -#: src/badguy/skydive.hpp:38 +#: src/badguy/skydive.hpp:43 msgid "Skydive" msgstr "Nurek nieba" -#: src/badguy/yeti.hpp:37 +#: src/badguy/yeti.hpp:38 msgid "Yeti" msgstr "Yeti" -#: src/badguy/mole.hpp:39 +#: src/badguy/snowball.cpp:41 +msgid "Bumpkin" +msgstr "" + +#: src/badguy/snowball.cpp:42 +msgid "BSOD" +msgstr "" + +#: src/badguy/mole.hpp:38 msgid "Mole" msgstr "Kret" -#: src/badguy/mrbomb.hpp:42 -msgid "Bomb" -msgstr "Bomba" +#: src/badguy/corrupted_granito.cpp:176 +msgid "Skullyhop" +msgstr "Skacząca czaszka" -#: src/badguy/walking_candle.hpp:40 +#: src/badguy/mrbomb.hpp:40 +msgid "Mr. Bomb" +msgstr "Pan Bomba" + +#: src/badguy/walking_candle.hpp:41 msgid "Walking Candle" msgstr "Chodząca świeczka" -#: src/badguy/angrystone.hpp:34 +#: src/badguy/angrystone.hpp:39 msgid "Angry Stone" msgstr "Wściekły kamień" -#: src/badguy/spidermite.hpp:35 -msgid "Spider" -msgstr "Pająk" +#: src/badguy/tarantula.cpp:354 +msgid "Spidermite" +msgstr "" + +#: src/badguy/tarantula.cpp:374 +msgid "Static" +msgstr "" #: src/badguy/ghoul.hpp:30 msgid "Ghoul" msgstr "Upiór" -#: src/badguy/snowman.hpp:28 +#: src/badguy/granito_giant.hpp:32 +msgid "Giant Granito" +msgstr "" + +#: src/badguy/snowman.hpp:29 msgid "Snowman" msgstr "Bałwan" -#: src/badguy/stumpy.hpp:35 -msgid "Walking Stump" -msgstr "Chodzący pień" +#: src/badguy/viciousivy.hpp:33 +msgid "Vicious Ivy" +msgstr "" + +#: src/badguy/stalactite.cpp:156 +msgid "ice" +msgstr "" + +#: src/badguy/stalactite.cpp:157 +msgid "rock" +msgstr "" + +#: src/badguy/fish_chasing.hpp:33 +msgid "Chasing Fish" +msgstr "" -#: src/badguy/fish.hpp:40 -msgid "Fish" -msgstr "Ryba" +#: src/badguy/stumpy.hpp:38 +msgid "Stumpy" +msgstr "Pieniek" -#: src/badguy/dispenser.cpp:445 +#: src/badguy/dispenser.cpp:412 msgid "Interval (seconds)" msgstr "Odstęp (sekundy)" -#: src/badguy/dispenser.cpp:446 +#: src/badguy/dispenser.cpp:413 msgid "Random" msgstr "Losowy" -#: src/badguy/dispenser.cpp:447 data//images/engine/editor/objects.stoi:4 -msgid "Enemies" -msgstr "Wrogowie" +#: src/badguy/dispenser.cpp:416 +#: src/supertux/menu/editor_objectgroup_menu.cpp:30 +#: src/editor/toolbox_widget.cpp:101 +msgid "Objects" +msgstr "Obiekty" -#: src/badguy/dispenser.cpp:448 +#: src/badguy/dispenser.cpp:419 msgid "Limit dispensed badguys" msgstr "Ogranicz wypuszczanych wrogów" -#: src/badguy/dispenser.cpp:450 +#: src/badguy/dispenser.cpp:421 msgid "Obey Gravity" msgstr "Przestrzegaj grawitacji" -#: src/badguy/dispenser.cpp:452 +#: src/badguy/dispenser.cpp:423 msgid "Max concurrent badguys" msgstr "Maksimum jednoczesnych wrogów" -#: src/badguy/dispenser.cpp:454 src/supertux/menu/editor_levelset_menu.cpp:60 -msgid "Type" -msgstr "Typ" - -#: src/badguy/dispenser.cpp:455 -msgid "dropper" -msgstr "Wyrzutnia przeciwników" - -#: src/badguy/dispenser.cpp:455 -msgid "rocket launcher" -msgstr "Wyrzutnia rakiet" +#: src/badguy/dispenser.cpp:435 +msgid "Dropper" +msgstr "" -#: src/badguy/dispenser.cpp:455 -msgid "cannon" -msgstr "Armata" +#: src/badguy/dispenser.cpp:436 +msgid "Cannon" +msgstr "" -#: src/badguy/dispenser.cpp:455 -msgid "invisible" +#: src/badguy/dispenser.cpp:437 src/worldmap/special_tile.cpp:77 +msgid "Invisible" msgstr "Niewidzialny" -#: src/badguy/snail.hpp:42 +#: src/badguy/snail.hpp:43 msgid "Snail" msgstr "Ślimak" -#: src/badguy/smartball.hpp:31 -msgid "Smartball" -msgstr "Mądrokula" +#: src/badguy/smartball.hpp:32 +msgid "Mrs. Snowball" +msgstr "" -#: src/badguy/bouncing_snowball.hpp:32 +#: src/badguy/bouncing_snowball.hpp:39 msgid "Bouncing Snowball" msgstr "Skacząca kula śnieżna" -#: src/badguy/iceflame.hpp:33 -msgid "Ice Flame" -msgstr "Lodowy płomień" +#: src/badguy/granito_big.cpp:52 src/badguy/granito.cpp:263 +msgid "Default" +msgstr "Domyślny" + +#: src/badguy/granito_big.cpp:53 src/badguy/granito.cpp:264 +msgid "Standing" +msgstr "" + +#: src/badguy/granito_big.cpp:54 src/badguy/granito.cpp:265 +msgid "Walking" +msgstr "" + +#: src/badguy/mriceblock.cpp:63 +msgid "Laptop" +msgstr "Laptop" -#: src/badguy/dart.hpp:43 +#: src/badguy/dart.hpp:44 msgid "Dart" msgstr "Strzała" +#: src/badguy/granito.cpp:268 +msgid "Sitting" +msgstr "" + #: src/supertux/statistics.cpp:54 msgid "Max coins collected:" msgstr "Najwięcej monet:" @@ -1746,7 +2303,7 @@ msgstr "Najlepszy czas ukończenia:" msgid "Level target time:" msgstr "Czas na przejście poziomu" -#: src/supertux/statistics.cpp:149 src/supertux/levelintro.cpp:160 +#: src/supertux/statistics.cpp:149 src/supertux/levelintro.cpp:175 msgid "Best Level Statistics" msgstr "Najlepsze wyniki" @@ -1758,7 +2315,7 @@ msgstr "Ty" msgid "Best" msgstr "Najlepszy" -#: src/supertux/statistics.cpp:242 src/supertux/levelintro.cpp:166 +#: src/supertux/statistics.cpp:242 src/supertux/levelintro.cpp:181 msgid "Coins" msgstr "Monety" @@ -1766,270 +2323,353 @@ msgstr "Monety" msgid "Badguys" msgstr "Wrogowie" -#: src/supertux/statistics.cpp:281 src/supertux/levelintro.cpp:172 +#: src/supertux/statistics.cpp:281 src/supertux/levelintro.cpp:187 msgid "Secrets" msgstr "Sekrety" -#: src/supertux/game_object.hpp:78 +#: src/supertux/game_object.hpp:88 msgid "Unknown object" -msgstr "Nieznany objekt" +msgstr "Nieznany obiekt" -#: src/supertux/sector.cpp:414 +#: src/supertux/sector.cpp:507 msgid "Press escape to skip" msgstr "Naciśnij escape, aby pominąć" -#: src/supertux/command_line_arguments.cpp:94 -#, c-format +#: src/supertux/command_line_arguments.cpp:92 +#, c++-format msgid "Usage: {} [OPTIONS] [LEVELFILE]" -msgstr "Obsługa: {} [OPCJE] [PLIK POZIOMU]" +msgstr "" -#: src/supertux/command_line_arguments.cpp:95 +#: src/supertux/command_line_arguments.cpp:93 msgid "General Options:" msgstr "Opcje ogólne:" -#: src/supertux/command_line_arguments.cpp:96 +#: src/supertux/command_line_arguments.cpp:94 msgid " -h, --help Show this help message and quit" msgstr "-h, --help Wyświetl niniejszą pomoc i wyjdź" -#: src/supertux/command_line_arguments.cpp:97 +#: src/supertux/command_line_arguments.cpp:95 msgid " -v, --version Show SuperTux version and quit" msgstr "-v, --version Wyświetl wersję SuperTux i wyjdź" -#: src/supertux/command_line_arguments.cpp:98 +#: src/supertux/command_line_arguments.cpp:96 msgid " --verbose Print verbose messages" msgstr "--verbose Tryb gadatliwy" -#: src/supertux/command_line_arguments.cpp:99 +#: src/supertux/command_line_arguments.cpp:97 msgid " --debug Print extra verbose messages" msgstr "--debug Wyświetl komunikaty debugowania" -#: src/supertux/command_line_arguments.cpp:100 +#: src/supertux/command_line_arguments.cpp:98 msgid "" " --print-datadir Print SuperTux's primary data directory." msgstr "--print-datadir Podaje główny katalog danych SuperTux." -#: src/supertux/command_line_arguments.cpp:101 +#: src/supertux/command_line_arguments.cpp:99 msgid "" " --acknowledgements Print the licenses of libraries used by " "SuperTux." msgstr " --acknowledgements Drukuj licencje bibliotek używanych przez SuperTux." -#: src/supertux/command_line_arguments.cpp:103 +#: src/supertux/command_line_arguments.cpp:101 msgid "Video Options:" msgstr "Opcje grafiki:" -#: src/supertux/command_line_arguments.cpp:104 +#: src/supertux/command_line_arguments.cpp:102 msgid " -f, --fullscreen Run in fullscreen mode" msgstr "-f, --fullscreen Uruchom w trybie pełnoekranowym" -#: src/supertux/command_line_arguments.cpp:105 +#: src/supertux/command_line_arguments.cpp:103 msgid " -w, --window Run in window mode" msgstr "-w, --window Uruchom w trybie okienkowym" -#: src/supertux/command_line_arguments.cpp:106 +#: src/supertux/command_line_arguments.cpp:104 msgid " -g, --geometry WIDTHxHEIGHT Run SuperTux in given resolution" msgstr "-g, --geometry SZEROKOŚĆxWYSOKOŚĆ Uruchom SuperTux w podanej rozdzielczości" -#: src/supertux/command_line_arguments.cpp:107 +#: src/supertux/command_line_arguments.cpp:105 msgid " -a, --aspect WIDTH:HEIGHT Run SuperTux with given aspect ratio" msgstr "-a, --aspect SZEROKOŚĆ:WYSOKOŚĆ Uruchom SuperTux w podanych proporcjach obrazu" -#: src/supertux/command_line_arguments.cpp:108 +#: src/supertux/command_line_arguments.cpp:106 msgid " -d, --default Reset video settings to default values" msgstr "-d, --default Zresetuj ustawienia grafiki do domyślnych wartości" -#: src/supertux/command_line_arguments.cpp:109 +#: src/supertux/command_line_arguments.cpp:107 msgid " --renderer RENDERER Use sdl, opengl, or auto to render" msgstr "--renderer RENDERER Użyj sdl, opengl lub auto do renderowania" -#: src/supertux/command_line_arguments.cpp:111 +#: src/supertux/command_line_arguments.cpp:109 msgid "Audio Options:" msgstr "Opcje dźwięku:" -#: src/supertux/command_line_arguments.cpp:112 +#: src/supertux/command_line_arguments.cpp:110 msgid " --disable-sound Disable sound effects" msgstr "--disable-sound Wyłącz efekty dźwiękowe" -#: src/supertux/command_line_arguments.cpp:113 +#: src/supertux/command_line_arguments.cpp:111 msgid " --disable-music Disable music" msgstr "--disable-music Wyłącz muzykę" -#: src/supertux/command_line_arguments.cpp:115 +#: src/supertux/command_line_arguments.cpp:113 msgid "Game Options:" msgstr "Opcje gry:" -#: src/supertux/command_line_arguments.cpp:116 +#: src/supertux/command_line_arguments.cpp:114 msgid " --edit-level Open given level in editor" msgstr "--edit-level Otwórz ten poziom w edytorze" -#: src/supertux/command_line_arguments.cpp:117 +#: src/supertux/command_line_arguments.cpp:115 msgid " --resave Loads given level and saves it" msgstr "--resave Ładuje dany poziom i zapisuje go" -#: src/supertux/command_line_arguments.cpp:118 +#: src/supertux/command_line_arguments.cpp:116 msgid " --show-fps Display framerate in levels" msgstr "--show-fps Wyświetlaj ilość klatek na sekundę w poziomach" -#: src/supertux/command_line_arguments.cpp:119 +#: src/supertux/command_line_arguments.cpp:117 msgid " --no-show-fps Do not display framerate in levels" msgstr "--no-show-fps Nie wyświetlaj ilości klatek na sekundę w poziomach" -#: src/supertux/command_line_arguments.cpp:120 +#: src/supertux/command_line_arguments.cpp:118 msgid " --show-pos Display player's current position" msgstr " --show-pos Wyświetl aktualną pozycję gracza" -#: src/supertux/command_line_arguments.cpp:121 +#: src/supertux/command_line_arguments.cpp:119 msgid " --no-show-pos Do not display player's position" msgstr " --no-show-pos Nie wyświetlaj aktualnej pozycji gracza" -#: src/supertux/command_line_arguments.cpp:122 +#: src/supertux/command_line_arguments.cpp:120 msgid " --developer Switch on developer feature" msgstr "--developer Włącz funkcje deweloperskie" -#: src/supertux/command_line_arguments.cpp:123 +#: src/supertux/command_line_arguments.cpp:121 msgid " -s, --debug-scripts Enable script debugger." msgstr "-s, --debug-scripts Włącz debuger skryptów" -#: src/supertux/command_line_arguments.cpp:124 +#: src/supertux/command_line_arguments.cpp:122 msgid "" " --spawn-pos X,Y Where in the level to spawn Tux. Only used if" " level is specified." msgstr " --spawn-pos X,Y Gdzieś w poziomie by ożywić Tuxa. Tylko do użycia, gdy poziom jest określony." -#: src/supertux/command_line_arguments.cpp:125 +#: src/supertux/command_line_arguments.cpp:123 msgid " --sector SECTOR Spawn Tux in SECTOR\n" msgstr "--sector SEKTOR Ustaw Tuxa w SEKTORZE\n" -#: src/supertux/command_line_arguments.cpp:126 +#: src/supertux/command_line_arguments.cpp:124 msgid " --spawnpoint SPAWNPOINT Spawn Tux at SPAWNPOINT\n" msgstr "--spawnpoint PUNKT STARTU Ustaw Tuxa w PUNKCIE_STARTU\n" -#: src/supertux/command_line_arguments.cpp:128 -msgid "Demo Recording Options:" -msgstr "Opcje nagrywania solucji:" - -#: src/supertux/command_line_arguments.cpp:129 -msgid " --record-demo FILE LEVEL Record a demo to FILE" -msgstr "--record-demo PLIK POZIOMU Nagraj solucję do pliku" - -#: src/supertux/command_line_arguments.cpp:130 -msgid " --play-demo FILE LEVEL Play a recorded demo" -msgstr "--play-demo PLIK POZIOMU Odtwórz nagraną solucję" - -#: src/supertux/command_line_arguments.cpp:132 +#: src/supertux/command_line_arguments.cpp:126 msgid "Directory Options:" msgstr "Opcje ścieżek dostępowych:" -#: src/supertux/command_line_arguments.cpp:133 +#: src/supertux/command_line_arguments.cpp:127 msgid "" " --datadir DIR Set the directory for the games datafiles" msgstr "--datadir ŚCIEŻKA Ustaw ścieżkę dla danych gry" -#: src/supertux/command_line_arguments.cpp:134 +#: src/supertux/command_line_arguments.cpp:128 msgid "" " --userdir DIR Set the directory for user data (savegames, " "etc.)" msgstr "--userdir ŚCIEŻKA Ustaw ścieżkę dla danych użytkownika (zapisy, itp.)" -#: src/supertux/command_line_arguments.cpp:136 +#: src/supertux/command_line_arguments.cpp:130 msgid "Add-On Options:" msgstr "Ustawienia dodatków:" -#: src/supertux/command_line_arguments.cpp:137 +#: src/supertux/command_line_arguments.cpp:131 msgid " --repository-url URL Set the URL to the Add-On repository" msgstr "--repository-url URL Ustaw URL na repozytorium z dodatkiem" -#: src/supertux/command_line_arguments.cpp:139 +#: src/supertux/command_line_arguments.cpp:133 msgid "Environment variables:" msgstr "Zmienne środowiskowe:" -#: src/supertux/command_line_arguments.cpp:140 +#: src/supertux/command_line_arguments.cpp:134 msgid "" " SUPERTUX2_USER_DIR Directory for user data (savegames, etc.)" msgstr "SUPERTUX2_USER_DIR Ścieżka dla danych użytkownika (zapisy, itp.)" -#: src/supertux/command_line_arguments.cpp:141 +#: src/supertux/command_line_arguments.cpp:135 msgid " SUPERTUX2_DATA_DIR Directory for the games datafiles" msgstr "SUPERTUX2_DATA_DIR Ścieżka dla danych gry" -#: src/supertux/title_screen.cpp:44 +#: src/supertux/title_screen.cpp:272 msgid "Copyright" msgstr "Prawa autorskie" -#: src/supertux/title_screen.cpp:45 +#: src/supertux/title_screen.cpp:273 msgid "" "This game comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to\n" "redistribute it under certain conditions; see the license file for details.\n" msgstr "Ta gra NIE POSIADA GWARANCJI. To jest wolne oprogramowanie, i mile widziane jest\nrozprowadzanie jej pod pewnymi warunkami; dla szczegółów zobacz plik z licencją.\n" +#: src/supertux/game_object.cpp:114 +msgid "Version" +msgstr "Wersja" + +#: src/supertux/game_object.cpp:129 +#: src/supertux/menu/editor_levelset_menu.cpp:54 +msgid "Type" +msgstr "Typ" + #: src/supertux/menu/integrations_menu.cpp:49 msgid "Integrations" msgstr "Integracje" #: src/supertux/menu/integrations_menu.cpp:51 msgid "Do not share level names when editing" -msgstr "Nie udostepniaj nazw poziomów podczas edytowania" +msgstr "Nie udostępniaj nazw poziomów podczas edytowania" + +#: src/supertux/menu/integrations_menu.cpp:52 +msgid "" +"Enable this if you want to work on secret levels and don't want the names to" +" be spoiled" +msgstr "" #: src/supertux/menu/integrations_menu.cpp:54 msgid "Enable Discord integration" msgstr "Włącz integralność z Discordem" +#: src/supertux/menu/integrations_menu.cpp:55 +msgid "" +"Sends information to your Discord application about what you're doing in the" +" game." +msgstr "" + #: src/supertux/menu/integrations_menu.cpp:57 msgid "Discord (disabled; not compiled)" msgstr "Discord (wyłączony; nie skompilowany)" -#: src/supertux/menu/contrib_menu.cpp:80 +#: src/supertux/menu/editor_converters_menu.cpp:61 +#: src/supertux/menu/editor_menu.cpp:85 +msgid "Convert Tiles" +msgstr "Przekonwertuj płytki" + +#: src/supertux/menu/editor_converters_menu.cpp:64 +msgid "Select Tile Conversion File" +msgstr "" + +#: src/supertux/menu/editor_converters_menu.cpp:72 +#, c++-format +msgid "By: {}" +msgstr "Przez: {}" + +#: src/supertux/menu/editor_converters_menu.cpp:75 +msgid "Convert Tiles By File" +msgstr "Konwertuj płytki według pliku" + +#: src/supertux/menu/editor_converters_menu.cpp:76 +msgid "Convert all tiles in the current level by a file, specified above." +msgstr "Konwertuje wszystkie płytki na bieżącym poziomie według pliku określonego powyżej." + +#: src/supertux/menu/editor_converters_menu.cpp:89 +msgid "No tile conversion file selected." +msgstr "Nie wybrano pliku konwersji płytek." + +#: src/supertux/menu/editor_converters_menu.cpp:93 +msgid "" +"This will convert all tiles in the level. Proceed?\n" +"\n" +"Note: This should not be ran more than once on a level.\n" +"Creating a separate copy of the level is highly recommended." +msgstr "To powoduje konwersję wszystkich płytek na poziomie. Kontynuować?\n\nNotatka: Nie należy uruchamiać tego więcej niż raz na poziomie.\nStworzenie osobnej kopii poziomu jest bardzo zalecane." + +#: src/supertux/menu/video_system_menu.cpp:36 +msgid "Select Video System" +msgstr "Wybierz System Wideo" + +#: src/supertux/menu/video_system_menu.cpp:37 +#, c++-format +msgid "Used video system: {}" +msgstr "Użyty system wideo: {}" + +#: src/supertux/menu/video_system_menu.cpp:54 +msgid "Restart game for the changes to take effect" +msgstr "Zrestartuj grę, aby zmiany zostały wprowadzone" + +#: src/supertux/menu/contrib_menu.cpp:68 #: src/supertux/menu/world_set_menu.cpp:31 msgid "Contrib Levels" msgstr "Dodatkowe plansze" -#: src/supertux/menu/debug_menu.cpp:32 +#: src/supertux/menu/contrib_menu.cpp:98 +#: src/supertux/menu/contrib_menu.cpp:112 +msgid "Official Contrib Levels" +msgstr "Oficjalne poziomy" + +#: src/supertux/menu/contrib_menu.cpp:99 +#: src/supertux/menu/contrib_menu.cpp:118 +msgid "Community Contrib Levels" +msgstr "Poziomy stworzone przez społeczność" + +#: src/supertux/menu/contrib_menu.cpp:100 +#: src/supertux/menu/contrib_menu.cpp:124 +msgid "User Contrib Levels" +msgstr "Poziomy stworzone przez użytkowników" + +#: src/supertux/menu/contrib_menu.cpp:113 +msgid "How is this possible? There are no Official Contrib Levels!" +msgstr "Jak to możliwe? Nie ma oficjalnych poziomów!" + +#: src/supertux/menu/contrib_menu.cpp:119 +msgid "No Community Contrib Levels yet. Download them from the Add-ons Menu." +msgstr "" + +#: src/supertux/menu/contrib_menu.cpp:125 +msgid "No User Contrib Levels yet. Create some with the Level Editor." +msgstr "" + +#: src/supertux/menu/debug_menu.cpp:34 msgid "Debug" msgstr "Debug" -#: src/supertux/menu/debug_menu.cpp:56 +#: src/supertux/menu/debug_menu.cpp:58 msgid "Game Speed" msgstr "Szybkość Gry" -#: src/supertux/menu/debug_menu.cpp:57 +#: src/supertux/menu/debug_menu.cpp:59 msgid "Adjust Game Speed" msgstr "Dostosuj Szybkość Gry" -#: src/supertux/menu/debug_menu.cpp:63 +#: src/supertux/menu/debug_menu.cpp:65 msgid "Show Collision Rects" msgstr "Pokaż prostokąty kolizji" -#: src/supertux/menu/debug_menu.cpp:64 +#: src/supertux/menu/debug_menu.cpp:66 msgid "Show Worldmap Path" msgstr "Pokaż ścieżkę na mapie" -#: src/supertux/menu/debug_menu.cpp:65 +#: src/supertux/menu/debug_menu.cpp:67 msgid "Show Controller" msgstr "Pokaż kontroler" -#: src/supertux/menu/debug_menu.cpp:66 +#: src/supertux/menu/debug_menu.cpp:68 msgid "Show Framerate" msgstr "Pokaż klatki na sekundę" -#: src/supertux/menu/debug_menu.cpp:67 +#: src/supertux/menu/debug_menu.cpp:69 msgid "Draw Redundant Frames" msgstr "Rysuj zbędne klatki" -#: src/supertux/menu/debug_menu.cpp:68 +#: src/supertux/menu/debug_menu.cpp:70 msgid "Show Player Position" msgstr "Pokaż pozycję gracza" -#: src/supertux/menu/debug_menu.cpp:69 +#: src/supertux/menu/debug_menu.cpp:71 msgid "Use Bitmap Fonts" msgstr "Użyj czcionek rastrowych" -#: src/supertux/menu/debug_menu.cpp:72 +#: src/supertux/menu/debug_menu.cpp:74 msgid "Dump Texture Cache" msgstr "Zrzut pamięci podręcznej tekstu" #: src/supertux/menu/particle_editor_save_as.cpp:33 msgid "Save particle as" -msgstr "Zapisz cząstke jako" +msgstr "Zapisz cząstkę jako" #: src/supertux/menu/particle_editor_save_as.cpp:37 #: src/supertux/menu/editor_save_as.cpp:37 @@ -2037,10 +2677,37 @@ msgid "File name" msgstr "Nazwa pliku" #: src/supertux/menu/particle_editor_save_as.cpp:38 -#: src/supertux/menu/editor_save_as.cpp:38 src/editor/particle_editor.cpp:766 +#: src/supertux/menu/editor_save_as.cpp:38 src/editor/particle_editor.cpp:767 msgid "Save" msgstr "Zapisz" +#: src/supertux/menu/multiplayer_menu.cpp:27 +#: src/supertux/menu/multiplayer_players_menu.cpp:34 +msgid "Multiplayer" +msgstr "" + +#: src/supertux/menu/multiplayer_menu.cpp:30 +msgid "Auto-manage Players" +msgstr "" + +#: src/supertux/menu/multiplayer_menu.cpp:31 +msgid "" +"Automatically add and remove players when controllers are plugged or " +"unplugged" +msgstr "" + +#: src/supertux/menu/multiplayer_menu.cpp:33 +msgid "Allow Multibind" +msgstr "" + +#: src/supertux/menu/multiplayer_menu.cpp:34 +msgid "Allow binding multiple joysticks to a single player" +msgstr "" + +#: src/supertux/menu/multiplayer_menu.cpp:36 +msgid "Manage Players" +msgstr "Zarządzaj Graczami" + #: src/supertux/menu/editor_sectors_menu.cpp:31 msgid "Choose Sector" msgstr "Wybierz sektor" @@ -2057,50 +2724,98 @@ msgstr "Stwórz sektor" msgid "Delete Sector" msgstr "Usuń sektor" -#: src/supertux/menu/editor_sectors_menu.cpp:93 +#: src/supertux/menu/editor_sectors_menu.cpp:92 msgid "Each level must have at least one sector." msgstr "Każdy poziom musi mieć przynajmniej jeden sektor." -#: src/supertux/menu/editor_sectors_menu.cpp:98 +#: src/supertux/menu/editor_sectors_menu.cpp:97 msgid "Do you really want to delete this sector?" msgstr "Czy na pewno chcesz usunąć ten sektor?" -#: src/supertux/menu/editor_sectors_menu.cpp:101 +#: src/supertux/menu/editor_sectors_menu.cpp:100 msgid "Delete sector" msgstr "Usuń sektor" -#: src/supertux/menu/editor_objectgroup_menu.cpp:30 -#: src/editor/toolbox_widget.cpp:93 -msgid "Objects" -msgstr "Objekty" +#: src/supertux/menu/custom_menu_menu.cpp:49 +#: src/supertux/menu/options_menu.cpp:191 +msgid "Menu Customization" +msgstr "Personalizacja menu" + +#: src/supertux/menu/custom_menu_menu.cpp:51 +msgid "Menu Back Color" +msgstr "Kolor Tła Menu" -#: src/supertux/menu/editor_level_select_menu.cpp:62 +#: src/supertux/menu/custom_menu_menu.cpp:52 +msgid "Menu Front Color" +msgstr "" + +#: src/supertux/menu/custom_menu_menu.cpp:53 +msgid "Menu Help Back Color" +msgstr "" + +#: src/supertux/menu/custom_menu_menu.cpp:54 +msgid "Menu Help Front Color" +msgstr "" + +#: src/supertux/menu/custom_menu_menu.cpp:55 +msgid "Label Text Color" +msgstr "Kolor tekstu etykiety" + +#: src/supertux/menu/custom_menu_menu.cpp:56 +msgid "Active Text Color" +msgstr "Kolor aktywnego tekstu" + +#: src/supertux/menu/custom_menu_menu.cpp:57 +msgid "Divider Line Color" +msgstr "Kolor linii podziałowej" + +#: src/supertux/menu/custom_menu_menu.cpp:58 +msgid "Menu Roundness" +msgstr "Zaokrąglenie menu" + +#: src/supertux/menu/custom_menu_menu.cpp:60 +msgid "Editor Interface Color" +msgstr "Kolor interfejsu edytora" + +#: src/supertux/menu/custom_menu_menu.cpp:61 +msgid "Editor Hover Color" +msgstr "Kolor podświetlenia w edytorze" + +#: src/supertux/menu/custom_menu_menu.cpp:62 +msgid "Editor Grab Color" +msgstr "" + +#: src/supertux/menu/custom_menu_menu.cpp:64 +msgid "Reset to defaults" +msgstr "Przywróć ustawienia domyślne" + +#: src/supertux/menu/editor_level_select_menu.cpp:72 msgid "Empty World" msgstr "Pusty świat" -#: src/supertux/menu/editor_level_select_menu.cpp:77 +#: src/supertux/menu/editor_level_select_menu.cpp:87 msgid "Create Level" msgstr "Stwórz poziom" -#: src/supertux/menu/editor_level_select_menu.cpp:81 +#: src/supertux/menu/editor_level_select_menu.cpp:91 msgid "Edit Worldmap" msgstr "Edytuj mapę świata" -#: src/supertux/menu/editor_level_select_menu.cpp:83 +#: src/supertux/menu/editor_level_select_menu.cpp:93 msgid "Create Worldmap" msgstr "Stwórz mapę świata" -#: src/supertux/menu/editor_level_select_menu.cpp:85 -#: src/supertux/menu/editor_delete_level_menu.cpp:33 +#: src/supertux/menu/editor_level_select_menu.cpp:95 +#: src/supertux/menu/editor_delete_level_menu.cpp:55 msgid "Delete level" msgstr "Usuń poziom" -#: src/supertux/menu/editor_level_select_menu.cpp:87 -#: src/supertux/menu/editor_levelset_menu.cpp:56 +#: src/supertux/menu/editor_level_select_menu.cpp:97 +#: src/supertux/menu/editor_levelset_menu.cpp:50 msgid "World Settings" msgstr "Ustawienia świata" -#: src/supertux/menu/editor_level_select_menu.cpp:127 +#: src/supertux/menu/editor_level_select_menu.cpp:141 msgid "" "Share this worldmap under license CC-BY-SA 4.0 International (advised).\n" "It allows modifications and redistribution by third-parties.\n" @@ -2108,7 +2823,7 @@ msgid "" "DISCLAIMER: The SuperTux authors take no responsibility for your choice of license." msgstr "Opublikuj ten świat pod licencją CC-BY-SA 4.0 International (zalecane)\nPozwala to na modyfikację i dystrybucję przez osoby trzecie.\nJeśli nie zgadzasz się z tą licencją, zmień ją we właściwościach świata.\nUWAGA: Autorzy programu SuperTux nie ponoszą odpowiedzialności za twój wybór licencji." -#: src/supertux/menu/editor_level_select_menu.cpp:134 +#: src/supertux/menu/editor_level_select_menu.cpp:148 msgid "" "Share this level under license CC-BY-SA 4.0 International (advised).\n" "It allows modifications and redistribution by third-parties.\n" @@ -2116,497 +2831,817 @@ msgid "" "DISCLAIMER: The SuperTux authors take no responsibility for your choice of license." msgstr "Opublikuj ten świat pod licencją CC-BY-SA 4.0 International (zalecane)\nPozwala to na modyfikację i dystrybucję przez osoby trzecie.\nJeśli nie zgadzasz się z tą licencją, zmień ją we właściwościach świata.\nUWAGA: Autorzy programu SuperTux nie ponoszą odpowiedzialności za twój wybór licencji." -#: src/supertux/menu/editor_level_select_menu.cpp:162 +#: src/supertux/menu/editor_level_select_menu.cpp:179 msgid "" "An auto-save recovery file was found. Would you like to restore the recovery\n" "file and resume where you were before the editor crashed?" msgstr "Plik odzyskiwania automatycznego zapisu został odnaleziony. Czy chciałabyś/chciałbyś przywrócić plik\nodzyskiwania i wznowić gdzie byłeś/aś przed tym, jak edytor się zawiesił?" -#: src/supertux/menu/editor_level_select_menu.cpp:169 +#: src/supertux/menu/editor_level_select_menu.cpp:186 msgid "This will delete the auto-save file. Are you sure?" msgstr "To usunie plik autosave. Jesteś pewny?" -#: src/supertux/menu/worldmap_cheat_menu.cpp:34 -#: src/supertux/menu/cheat_menu.cpp:30 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:35 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:52 +#: src/supertux/menu/cheat_apply_menu.cpp:33 +#: src/supertux/menu/cheat_apply_menu.cpp:51 +msgid "Apply cheat to player" +msgstr "Zastosuj cheat do gracza" + +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:39 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:60 +#: src/supertux/menu/multiplayer_players_menu.cpp:39 +#: src/supertux/menu/keyboard_menu.cpp:63 +#: src/supertux/menu/cheat_apply_menu.cpp:39 +#: src/supertux/menu/cheat_apply_menu.cpp:59 +#: src/supertux/menu/multiplayer_player_menu.cpp:37 +#, c++-format +msgid "Player {}" +msgstr "Gracz {}" + +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:57 +#: src/supertux/menu/cheat_apply_menu.cpp:36 +#: src/supertux/menu/cheat_apply_menu.cpp:56 +msgid "All Players" +msgstr "Wszyscy gracze" + +#: src/supertux/menu/worldmap_cheat_menu.cpp:36 +#: src/supertux/menu/cheat_menu.cpp:31 msgid "Cheats" msgstr "Kody" -#: src/supertux/menu/worldmap_cheat_menu.cpp:36 -#: src/supertux/menu/cheat_menu.cpp:32 +#: src/supertux/menu/worldmap_cheat_menu.cpp:38 +#: src/supertux/menu/cheat_menu.cpp:33 msgid "Bonus: Grow" msgstr "Bonus: Wzrost" -#: src/supertux/menu/worldmap_cheat_menu.cpp:37 +#: src/supertux/menu/worldmap_cheat_menu.cpp:39 +#: src/supertux/menu/cheat_menu.cpp:34 msgid "Bonus: Fire" msgstr "Bonus: Ogień" -#: src/supertux/menu/worldmap_cheat_menu.cpp:38 +#: src/supertux/menu/worldmap_cheat_menu.cpp:40 +#: src/supertux/menu/cheat_menu.cpp:35 msgid "Bonus: Ice" msgstr "Bonus: Lód" -#: src/supertux/menu/worldmap_cheat_menu.cpp:39 +#: src/supertux/menu/worldmap_cheat_menu.cpp:41 +#: src/supertux/menu/cheat_menu.cpp:36 msgid "Bonus: Air" msgstr "Bonus: Powietrze" -#: src/supertux/menu/worldmap_cheat_menu.cpp:40 +#: src/supertux/menu/worldmap_cheat_menu.cpp:42 +#: src/supertux/menu/cheat_menu.cpp:37 msgid "Bonus: Earth" msgstr "Bonus: Ziemia" -#: src/supertux/menu/worldmap_cheat_menu.cpp:41 +#: src/supertux/menu/worldmap_cheat_menu.cpp:43 msgid "Bonus: None" msgstr "Bonus: Nic" -#: src/supertux/menu/worldmap_cheat_menu.cpp:44 -#: src/supertux/menu/cheat_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 +#: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:51 msgid "Leave Ghost Mode" msgstr "Opuść Tryb Ducha" -#: src/supertux/menu/worldmap_cheat_menu.cpp:44 -#: src/supertux/menu/cheat_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 +#: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:50 msgid "Activate Ghost Mode" msgstr "Aktywuj Tryb Ducha" -#: src/supertux/menu/worldmap_cheat_menu.cpp:46 -#: src/supertux/menu/cheat_menu.cpp:40 +#: src/supertux/menu/worldmap_cheat_menu.cpp:48 +#: src/supertux/menu/cheat_menu.cpp:41 msgid "Finish Level" msgstr "Ukończ poziom" -#: src/supertux/menu/worldmap_cheat_menu.cpp:47 +#: src/supertux/menu/worldmap_cheat_menu.cpp:49 msgid "Reset Level" msgstr "Zrestartuj poziom" -#: src/supertux/menu/worldmap_cheat_menu.cpp:49 +#: src/supertux/menu/worldmap_cheat_menu.cpp:51 msgid "Finish Worldmap" msgstr "Ukończ mapę" -#: src/supertux/menu/worldmap_cheat_menu.cpp:50 +#: src/supertux/menu/worldmap_cheat_menu.cpp:52 msgid "Reset Worldmap" msgstr "Przywróć mapę" -#: src/supertux/menu/worldmap_cheat_menu.cpp:52 +#: src/supertux/menu/worldmap_cheat_menu.cpp:54 msgid "Go to level" msgstr "Idź do poziomu" -#: src/supertux/menu/worldmap_cheat_menu.cpp:53 +#: src/supertux/menu/worldmap_cheat_menu.cpp:55 msgid "Go to main spawnpoint" msgstr "Idź do głównego punktu odradzania" -#: src/supertux/menu/worldmap_cheat_menu.cpp:145 +#: src/supertux/menu/worldmap_cheat_menu.cpp:188 msgid "Select level" msgstr "Wybierz poziom" #: src/supertux/menu/editor_save_as.cpp:33 -#: src/supertux/menu/editor_menu.cpp:49 +#: src/supertux/menu/editor_menu.cpp:63 msgid "Save Level as" msgstr "Zapisz poziom jako" #: src/supertux/menu/editor_save_as.cpp:33 -#: src/supertux/menu/editor_menu.cpp:50 +#: src/supertux/menu/editor_menu.cpp:64 msgid "Save Copy" msgstr "Zapisz kopię" -#: src/supertux/menu/editor_levelset_select_menu.cpp:72 +#: src/supertux/menu/editor_levelset_select_menu.cpp:71 msgid "Choose World" msgstr "Wybierz świat" -#: src/supertux/menu/editor_levelset_select_menu.cpp:100 -#, c-format -msgid "%d level" -msgid_plural "%d levels" -msgstr[0] "%dpoziom" -msgstr[1] "%dpoziomy" -msgstr[2] "%dpoziomów" -msgstr[3] "%dpoziomów" +#: src/supertux/menu/editor_levelset_select_menu.cpp:99 +#, c++-format +msgid "{} level" +msgid_plural "{} levels" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#: src/supertux/menu/editor_levelset_select_menu.cpp:113 +#: src/supertux/menu/editor_levelset_select_menu.cpp:112 msgid "Create World" msgstr "Stwórz świat" -#: src/supertux/menu/options_menu.cpp:98 src/supertux/menu/main_menu.cpp:64 -#: src/supertux/menu/game_menu.cpp:61 src/supertux/menu/worldmap_menu.cpp:31 -msgid "Options" -msgstr "Opcje" - -#: src/supertux/menu/options_menu.cpp:104 -#: src/supertux/menu/options_menu.cpp:142 -#: src/supertux/menu/options_menu.cpp:455 -#: src/supertux/menu/options_menu.cpp:476 src/editor/object_settings.cpp:119 -msgid "auto" -msgstr "automatycznie" - -#: src/supertux/menu/options_menu.cpp:221 -msgid "Desktop" -msgstr "Pulpit" - -#: src/supertux/menu/options_menu.cpp:251 -msgid "on" -msgstr "włączony" - -#: src/supertux/menu/options_menu.cpp:252 -msgid "off" -msgstr "wyłączony" +#: src/supertux/menu/editor_levelset_select_menu.cpp:113 +#: src/supertux/menu/editor_delete_levelset_menu.cpp:41 +msgid "Delete World" +msgstr "Usuń świat" -#: src/supertux/menu/options_menu.cpp:253 -msgid "adaptive" -msgstr "adaptacyjny" +#: src/supertux/menu/options_menu.cpp:72 +#: src/supertux/menu/options_select_menu.cpp:35 +msgid "Locale" +msgstr "Lokalizacja" -#: src/supertux/menu/options_menu.cpp:347 +#: src/supertux/menu/options_menu.cpp:76 msgid "Select Language" msgstr "Wybierz język" -#: src/supertux/menu/options_menu.cpp:348 +#: src/supertux/menu/options_menu.cpp:77 msgid "Select a different language to display text in" msgstr "Wybierz inny język wyświetlania komunikatów" -#: src/supertux/menu/options_menu.cpp:350 +#: src/supertux/menu/options_menu.cpp:79 msgid "Language Packs" msgstr "Pliki językowe" -#: src/supertux/menu/options_menu.cpp:351 +#: src/supertux/menu/options_menu.cpp:80 msgid "Language packs contain up-to-date translations" msgstr "Twoje tłumaczenie jest aktualne" -#: src/supertux/menu/options_menu.cpp:353 -#: src/supertux/menu/profile_menu.cpp:34 -msgid "Select Profile" -msgstr "Wybierz profil" +#: src/supertux/menu/options_menu.cpp:88 +#: src/supertux/menu/options_select_menu.cpp:37 +msgid "Video" +msgstr "Wideo" -#: src/supertux/menu/options_menu.cpp:354 -msgid "Select a profile to play with" -msgstr "Wybierz profil gracza" - -#: src/supertux/menu/options_menu.cpp:358 +#: src/supertux/menu/options_menu.cpp:91 msgid "Window Resizable" msgstr "Okno Skalowalne" -#: src/supertux/menu/options_menu.cpp:359 +#: src/supertux/menu/options_menu.cpp:92 msgid "Allow window resizing, might require a restart to take effect" -msgstr "Umożliwij zmianę rozmiaru okna, może wymagać restartu by zadziałać" - -#: src/supertux/menu/options_menu.cpp:361 -msgid "Window Resolution" -msgstr "Rozdzielczość w oknie" +msgstr "Umożliwiaj zmianę rozmiaru okna, może wymagać restartu by zadziałać" -#: src/supertux/menu/options_menu.cpp:362 -msgid "Resize the window to the given size" -msgstr "Wyskaluj okno do danego rozmiaru" - -#: src/supertux/menu/options_menu.cpp:364 +#: src/supertux/menu/options_menu.cpp:96 msgid "Fullscreen" msgstr "Pełny ekran" -#: src/supertux/menu/options_menu.cpp:365 +#: src/supertux/menu/options_menu.cpp:97 msgid "Fill the entire screen" msgstr "Wypełnij cały ekran" -#: src/supertux/menu/options_menu.cpp:367 -msgid "Fullscreen Resolution" -msgstr "Rozdzielczość pełnoekranowa" - -#: src/supertux/menu/options_menu.cpp:368 -msgid "" -"Determine the resolution used in fullscreen mode (you must toggle fullscreen" -" to complete the change)" -msgstr "Określa rozdzielczość używaną w trybie pełnoekranowym (musisz włączyć tryb pełnoekranowy, aby wprowadzić zmianę)" - -#: src/supertux/menu/options_menu.cpp:373 +#: src/supertux/menu/options_menu.cpp:104 msgid "Fit to browser" msgstr "Dopasuj do przeglądarki" -#: src/supertux/menu/options_menu.cpp:374 +#: src/supertux/menu/options_menu.cpp:105 msgid "Fit the resolution to the size of your browser" msgstr "Dopasuj rozdzielczość do rozmiaru twojej przeglądarki" -#: src/supertux/menu/options_menu.cpp:378 -msgid "Magnification" -msgstr "Powiększenie" - -#: src/supertux/menu/options_menu.cpp:379 -msgid "Change the magnification of the game area" -msgstr "Zmień zbliżenie ekranu gry" - -#: src/supertux/menu/options_menu.cpp:381 -msgid "VSync" -msgstr "Synchronizacja pionowa" - -#: src/supertux/menu/options_menu.cpp:382 -msgid "Set the VSync mode" -msgstr "Ustaw tryb synchronizacji pionowej" +#: src/supertux/menu/options_menu.cpp:116 +msgid "Change Video System" +msgstr "Zmień system wideo" -#: src/supertux/menu/options_menu.cpp:385 -msgid "Aspect Ratio" -msgstr "Proporcje obrazu" +#: src/supertux/menu/options_menu.cpp:117 +msgid "Change video system used to render graphics" +msgstr "Zmiana systemu wideo używanego do renderowania grafiki" -#: src/supertux/menu/options_menu.cpp:386 -msgid "Adjust the aspect ratio" -msgstr "Ustaw proporcje ekranu" +#: src/supertux/menu/options_menu.cpp:124 +#: src/supertux/menu/options_select_menu.cpp:38 +msgid "Audio" +msgstr "Dźwięk" -#: src/supertux/menu/options_menu.cpp:392 +#: src/supertux/menu/options_menu.cpp:129 msgid "Disable all sound effects" msgstr "Wyłącz wszystkie efekty dźwiękowe" -#: src/supertux/menu/options_menu.cpp:394 +#: src/supertux/menu/options_menu.cpp:131 msgid "Disable all music" msgstr "Wyłącz muzykę" -#: src/supertux/menu/options_menu.cpp:396 -msgid "Sound Volume" -msgstr "Głośność dźwięku" - -#: src/supertux/menu/options_menu.cpp:397 -msgid "Adjust sound volume" -msgstr "Dopasuj głośność dźwięku" - -#: src/supertux/menu/options_menu.cpp:399 -msgid "Music Volume" -msgstr "Głośność muzyki" - -#: src/supertux/menu/options_menu.cpp:400 -msgid "Adjust music volume" -msgstr "Dopasuj głośność muzyki" - -#: src/supertux/menu/options_menu.cpp:404 +#: src/supertux/menu/options_menu.cpp:138 msgid "Sound (disabled)" msgstr "Dźwięk (wyłączony)" -#: src/supertux/menu/options_menu.cpp:405 +#: src/supertux/menu/options_menu.cpp:139 msgid "Music (disabled)" msgstr "Muzyka (wyłączona)" -#: src/supertux/menu/options_menu.cpp:408 -#: src/supertux/menu/keyboard_menu.cpp:30 +#: src/supertux/menu/options_menu.cpp:147 +#: src/supertux/menu/options_select_menu.cpp:39 +msgid "Controls" +msgstr "Sterowanie" + +#: src/supertux/menu/options_menu.cpp:151 +msgid "Enable Rumbling Controllers" +msgstr "" + +#: src/supertux/menu/options_menu.cpp:152 +msgid "Enable vibrating the game controllers." +msgstr "Włącz wibracje kontrolerów gier." + +#: src/supertux/menu/options_menu.cpp:152 +msgid "This feature is currently only used in the multiplayer options menu." +msgstr "" + +#: src/supertux/menu/options_menu.cpp:154 +#: src/supertux/menu/keyboard_menu.cpp:34 msgid "Setup Keyboard" msgstr "Ustawienia klawiatury" -#: src/supertux/menu/options_menu.cpp:409 +#: src/supertux/menu/options_menu.cpp:155 msgid "Configure key-action mappings" msgstr "Zmień przypisanie klawiszy" -#: src/supertux/menu/options_menu.cpp:412 -#: src/supertux/menu/joystick_menu.cpp:52 +#: src/supertux/menu/options_menu.cpp:158 +#: src/supertux/menu/joystick_menu.cpp:54 msgid "Setup Joystick" msgstr "Ustaw dżojstik" -#: src/supertux/menu/options_menu.cpp:413 +#: src/supertux/menu/options_menu.cpp:159 msgid "Configure joystick control-action mappings" msgstr "Skonfiguruj mapowania sterowania-działania joysticka" -#: src/supertux/menu/options_menu.cpp:417 -msgid "On-screen controls" -msgstr "Sterowanie na ekranie" +#: src/supertux/menu/options_menu.cpp:167 +#: src/supertux/menu/options_select_menu.cpp:40 +msgid "Extras" +msgstr "Dodatkowe" + +#: src/supertux/menu/options_menu.cpp:170 +#: src/supertux/menu/profile_menu.cpp:56 +msgid "Select Profile" +msgstr "Wybierz profil" + +#: src/supertux/menu/options_menu.cpp:171 +msgid "Select a profile to play with" +msgstr "Wybierz profil gracza" + +#: src/supertux/menu/options_menu.cpp:174 +msgid "Multiplayer settings" +msgstr "Ustawienia gry wieloosobowej" -#: src/supertux/menu/options_menu.cpp:418 -msgid "Toggle on-screen controls for mobile devices" -msgstr "Włącz sterowanie na ekranie dla urządzeń mobilnych" +#: src/supertux/menu/options_menu.cpp:175 +msgid "Configure settings specific to multiplayer" +msgstr "Konfiguracja ustawień specyficznych dla trybu wieloosobowego" -#: src/supertux/menu/options_menu.cpp:420 +#: src/supertux/menu/options_menu.cpp:178 msgid "Enable transitions" msgstr "Włącz płynne przejścia" -#: src/supertux/menu/options_menu.cpp:421 +#: src/supertux/menu/options_menu.cpp:179 msgid "Enable screen transitions and smooth menu animation" msgstr "Włącz płynne przejścia obrazu i menu" -#: src/supertux/menu/options_menu.cpp:425 -msgid "Developer Mode" -msgstr "Tryb programisty" +#: src/supertux/menu/options_menu.cpp:181 +msgid "Custom title screen levels" +msgstr "Niestandardowe poziomy ekranu tytułowego" -#: src/supertux/menu/options_menu.cpp:430 +#: src/supertux/menu/options_menu.cpp:182 +msgid "Allow overriding the title screen level, when loading certain worlds" +msgstr "Zezwalaj na zastępowanie poziomu ekranu tytułowego podczas wczytywania niektórych światów" + +#: src/supertux/menu/options_menu.cpp:185 msgid "Christmas Mode" msgstr "Tryb świąteczny" -#: src/supertux/menu/options_menu.cpp:433 +#: src/supertux/menu/options_menu.cpp:187 +msgid "Integrations and presence" +msgstr "Integralności i obecność" + +#: src/supertux/menu/options_menu.cpp:188 +msgid "" +"Manage whether SuperTux should display the levels you play on your social " +"media profiles (Discord)" +msgstr "Zarządzaj czy SuperTux powinien wyświetlić poziomy, w które grasz na twoich profilach mediów społecznościowych (Discord)" + +#: src/supertux/menu/options_menu.cpp:192 +msgid "Customize the appearance of the menus" +msgstr "Dostosowywanie wyglądu menu" + +#: src/supertux/menu/options_menu.cpp:199 +#: src/supertux/menu/options_select_menu.cpp:41 +msgid "Advanced" +msgstr "Zaawansowane" + +#: src/supertux/menu/options_menu.cpp:204 +msgid "Developer Mode" +msgstr "Tryb programisty" + +#: src/supertux/menu/options_menu.cpp:206 msgid "Confirmation Dialog" msgstr "Okno potwierdzenia" -#: src/supertux/menu/options_menu.cpp:433 +#: src/supertux/menu/options_menu.cpp:206 msgid "Confirm aborting level" msgstr "Potwierdź opuszczenie poziomu" -#: src/supertux/menu/options_menu.cpp:434 +#: src/supertux/menu/options_menu.cpp:208 msgid "Pause on focus loss" msgstr "Zapauzuj, gdy okno jest nieaktywne" -#: src/supertux/menu/options_menu.cpp:435 +#: src/supertux/menu/options_menu.cpp:209 msgid "Automatically pause the game when the window loses focus" msgstr "Automatycznie wstrzymaj grę, gdy okno straci skupienie" -#: src/supertux/menu/options_menu.cpp:436 +#: src/supertux/menu/options_menu.cpp:211 msgid "Use custom mouse cursor" msgstr "Użyj niestandardowego kursora myszy" -#: src/supertux/menu/options_menu.cpp:436 +#: src/supertux/menu/options_menu.cpp:211 msgid "Whether the game renders its own cursor or uses the system's cursor" msgstr "Czy gra renderuje jej własny kursor, czy używa systemowego kursora" -#: src/supertux/menu/options_menu.cpp:438 -msgid "Integrations and presence" -msgstr "Integralności i obecność" +#: src/supertux/menu/options_menu.cpp:214 +msgid "Check for new releases" +msgstr "" -#: src/supertux/menu/options_menu.cpp:439 +#: src/supertux/menu/options_menu.cpp:215 msgid "" -"Manage whether SuperTux should display the levels you play on your social " -"media profiles (Discord)" -msgstr "Zarządzaj czy SuperTux powinien wyświetlić poziomy, w które grasz na twoich profilach mediów społecznościowych (Discord)" +"Allows the game to perform checks for new SuperTux releases on startup and " +"notify if any found." +msgstr "" + +#: src/supertux/menu/options_menu.cpp:245 +#: src/supertux/menu/options_menu.cpp:288 src/supertux/direction.cpp:76 +msgid "auto" +msgstr "automatycznie" + +#: src/supertux/menu/options_menu.cpp:281 +msgid "Magnification" +msgstr "Powiększenie" + +#: src/supertux/menu/options_menu.cpp:282 +msgid "Change the magnification of the game area" +msgstr "Zmień zbliżenie ekranu gry" + +#: src/supertux/menu/options_menu.cpp:318 +msgid "Aspect Ratio" +msgstr "Proporcje obrazu" + +#: src/supertux/menu/options_menu.cpp:319 +msgid "Adjust the aspect ratio" +msgstr "Ustaw proporcje ekranu" + +#: src/supertux/menu/options_menu.cpp:346 +msgid "Window Resolution" +msgstr "Rozdzielczość okna" + +#: src/supertux/menu/options_menu.cpp:347 +msgid "Resize the window to the given size" +msgstr "Wyskaluj okno do danego rozmiaru" + +#: src/supertux/menu/options_menu.cpp:377 +msgid "Desktop" +msgstr "Pulpit" + +#: src/supertux/menu/options_menu.cpp:404 +msgid "Fullscreen Resolution" +msgstr "Rozdzielczość pełnoekranowa" -#: src/supertux/menu/options_menu.cpp:559 +#: src/supertux/menu/options_menu.cpp:405 +msgid "" +"Determine the resolution used in fullscreen mode (you must toggle fullscreen" +" to complete the change)" +msgstr "Określa rozdzielczość używaną w trybie pełnoekranowym (musisz włączyć tryb pełnoekranowy, aby wprowadzić zmianę)" + +#: src/supertux/menu/options_menu.cpp:411 +msgid "on" +msgstr "włączony" + +#: src/supertux/menu/options_menu.cpp:412 +msgid "off" +msgstr "wyłączony" + +#: src/supertux/menu/options_menu.cpp:413 +msgid "adaptive" +msgstr "adaptacyjny" + +#: src/supertux/menu/options_menu.cpp:431 +msgid "VSync" +msgstr "Synchronizacja pionowa" + +#: src/supertux/menu/options_menu.cpp:432 +msgid "Set the VSync mode" +msgstr "Ustaw tryb synchronizacji pionowej" + +#: src/supertux/menu/options_menu.cpp:467 +msgid "Sound Volume" +msgstr "Głośność dźwięku" + +#: src/supertux/menu/options_menu.cpp:468 +msgid "Adjust sound volume" +msgstr "Dopasuj głośność dźwięku" + +#: src/supertux/menu/options_menu.cpp:503 +msgid "Music Volume" +msgstr "Głośność muzyki" + +#: src/supertux/menu/options_menu.cpp:504 +msgid "Adjust music volume" +msgstr "Dopasuj głośność muzyki" + +#: src/supertux/menu/options_menu.cpp:517 +msgid "On-screen controls scale" +msgstr "Skala ekranowych elementów sterujących" + +#: src/supertux/menu/options_menu.cpp:638 msgid "" "The game couldn't detect your browser resolution.\n" "This most likely happens because it is not embedded\n" "in the SuperTux custom HTML template.\n" -msgstr "Gra nie mogła wykryć rozdzielczości twojej przeglądarki.\nNajprawodopniej sie to stało, przez to, że nie jest wbudowana\nw niestandarowowy szablon HTML SuperTux.\n" +msgstr "Gra nie mogła wykryć rozdzielczości twojej przeglądarki.\nNajprawodopniej stało się to, ponieważ nie jest wbudowana\nw niestandardowy szablon HTML SuperTux.\n" + +#: src/supertux/menu/editor_delete_levelset_menu.cpp:80 +msgid "You cannot delete the world that you are editing" +msgstr "Nie możesz usunąć świata, którego edytujesz" + +#: src/supertux/menu/editor_delete_levelset_menu.cpp:83 +#, c++-format +msgid "You are about to delete world \"{}\". Are you sure?" +msgstr "Zamierzasz usunąć świat \"{}\". Jesteś pewny?" + +#: src/supertux/menu/addon_preview_menu.cpp:82 +#, c++-format +msgid "{} \"{}\"" +msgstr "{} \"{}\"" + +#: src/supertux/menu/addon_preview_menu.cpp:87 +msgid "Some information about this add-on is not available." +msgstr "Niektóre informacje na temat tego dodatku nie są dostępne." + +#: src/supertux/menu/addon_preview_menu.cpp:88 +msgid "Perform a \"Check Online\" to try retrieving it." +msgstr "" + +#: src/supertux/menu/addon_preview_menu.cpp:92 +msgid "No author specified." +msgstr "Bez określonego autora." + +#: src/supertux/menu/addon_preview_menu.cpp:92 +#, c++-format +msgid "Author: {}" +msgstr "Autor: {}" + +#: src/supertux/menu/addon_preview_menu.cpp:93 +#, c++-format +msgid "Type: {}" +msgstr "Typ: {}" + +#: src/supertux/menu/addon_preview_menu.cpp:94 +msgid "No license specified." +msgstr "Bez określonej licencji." + +#: src/supertux/menu/addon_preview_menu.cpp:94 +#, c++-format +msgid "License: {}" +msgstr "Licencja: {}" + +#: src/supertux/menu/addon_preview_menu.cpp:99 +msgid "Dependencies:" +msgstr "Zależności:" + +#: src/supertux/menu/addon_preview_menu.cpp:108 +msgid "Installed" +msgstr "Zainstalowane" + +#: src/supertux/menu/addon_preview_menu.cpp:108 +msgid "Not installed" +msgstr "Nie zainstalowane" + +#: src/supertux/menu/addon_preview_menu.cpp:113 +msgid "Not available!" +msgstr "Niedostępne!" + +#: src/supertux/menu/addon_preview_menu.cpp:120 +msgid "Description:" +msgstr "Opis:" -#: src/supertux/menu/main_menu.cpp:56 src/supertux/menu/world_set_menu.cpp:28 +#: src/supertux/menu/addon_preview_menu.cpp:123 +msgid "No description available." +msgstr "Brak dostępnego opisu." + +#: src/supertux/menu/addon_preview_menu.cpp:147 +msgid "Failed to load all available screenshot previews." +msgstr "Nie udało się załadować wszystkich dostępnych podglądów zrzutów ekranu." + +#: src/supertux/menu/addon_preview_menu.cpp:152 +msgid "Show screenshots" +msgstr "Pokaż zrzuty ekranu" + +#: src/supertux/menu/addon_preview_menu.cpp:165 +msgid "Screenshot previews are disabled for automatic installs." +msgstr "" + +#: src/supertux/menu/addon_preview_menu.cpp:169 +msgid "No screenshot previews available." +msgstr "Podgląd zrzutów ekranu nie jest dostępny." + +#: src/supertux/menu/addon_preview_menu.cpp:177 +msgid "Install" +msgstr "Zainstaluj" + +#: src/supertux/menu/addon_preview_menu.cpp:190 +msgid "Uninstall" +msgstr "Odinstaluj" + +#: src/supertux/menu/addon_preview_menu.cpp:214 +#, c++-format +msgid "Are you sure you want to uninstall \"{}\"?" +msgstr "Jesteś pewien, że chcesz odinstalować \"{}\"?" + +#: src/supertux/menu/addon_preview_menu.cpp:215 +msgid "" +"\n" +"Your progress won't be lost." +msgstr "\nTwoje postępy nie zostaną utracone." + +#: src/supertux/menu/addon_preview_menu.cpp:227 +#, c++-format +msgid "" +"NOTE: The add-on \"{}\" is a dependency of {} other installed {}.\n" +"Are you sure you wish to uninstall?" +msgstr "" + +#: src/supertux/menu/addon_preview_menu.cpp:246 +#, c++-format +msgid "" +"Cannot toggle add-on \"{}\":\n" +"{}" +msgstr "" + +#: src/supertux/menu/addon_preview_menu.cpp:279 +msgid "Fetching screenshot previews..." +msgstr "Pobieranie podglądu zrzutów ekranu..." + +#: src/supertux/menu/addon_preview_menu.cpp:300 +msgid "Updating" +msgstr "Aktualizowanie" + +#: src/supertux/menu/addon_preview_menu.cpp:300 +msgid "Downloading" +msgstr "Ściąganie" + +#: src/supertux/menu/addon_preview_menu.cpp:328 +msgid "Add-on uninstalled successfully." +msgstr "Dodatek został pomyślnie odinstalowany." + +#: src/supertux/menu/addon_preview_menu.cpp:333 +#, c++-format +msgid "" +"Error uninstalling add-on:\n" +"{}" +msgstr "Błąd odinstalowywania dodatku:\n{}" + +#: src/supertux/menu/addon_preview_menu.cpp:361 +msgid "" +"Please restart SuperTux\n" +"for these changes to take effect." +msgstr "Zrestartuj grę,\naby wprowadzić zmiany." + +#: src/supertux/menu/main_menu.cpp:51 src/supertux/menu/world_set_menu.cpp:28 msgid "Start Game" msgstr "Rozpocznij grę" -#: src/supertux/menu/main_menu.cpp:60 src/supertux/menu/addon_menu.cpp:122 +#: src/supertux/menu/main_menu.cpp:55 msgid "Add-ons" msgstr "Ściągnij dodatkowe plansze" -#: src/supertux/menu/main_menu.cpp:62 src/supertux/menu/web_asset_menu.cpp:38 +#: src/supertux/menu/main_menu.cpp:57 src/supertux/menu/web_asset_menu.cpp:38 msgid "Manage Assets" msgstr "Zarządzaj zasobami" -#: src/supertux/menu/main_menu.cpp:65 src/supertux/menu/editor_menu.cpp:43 +#: src/supertux/menu/main_menu.cpp:59 +#: src/supertux/menu/options_select_menu.cpp:29 +#: src/supertux/menu/game_menu.cpp:58 src/supertux/menu/worldmap_menu.cpp:31 +#: src/supertux/menu/editor_menu.cpp:70 +msgid "Options" +msgstr "Opcje" + +#: src/supertux/menu/main_menu.cpp:60 src/supertux/menu/editor_menu.cpp:58 msgid "Level Editor" msgstr "Edytor poziomów" -#: src/supertux/menu/main_menu.cpp:66 +#: src/supertux/menu/main_menu.cpp:61 msgid "Credits" msgstr "Twórcy" -#: src/supertux/menu/main_menu.cpp:67 +#: src/supertux/menu/main_menu.cpp:64 msgid "Donate" msgstr "Wspomóż" -#: src/supertux/menu/main_menu.cpp:69 +#: src/supertux/menu/main_menu.cpp:67 msgid "Quit" msgstr "Wyjdź" -#: src/supertux/menu/editor_sector_menu.cpp:35 +#: src/supertux/menu/main_menu.cpp:106 +msgid "" +"This will take you to the SuperTux donation page. Are you sure you want to " +"continue?" +msgstr "" + +#: src/supertux/menu/editor_sector_menu.cpp:34 +#, c++-format +msgid "Sector {}" +msgstr "Sektor {}" + +#: src/supertux/menu/editor_sector_menu.cpp:37 msgid "Initialization script" msgstr "Skrypt inicjalizacyjny" -#: src/supertux/menu/editor_sector_menu.cpp:36 +#: src/supertux/menu/editor_sector_menu.cpp:38 msgid "Gravity" msgstr "Grawitacja" -#: src/supertux/menu/editor_sector_menu.cpp:41 +#: src/supertux/menu/editor_sector_menu.cpp:43 msgid "Resize offset X" msgstr "Zmień rozmiar wyrównania X" -#: src/supertux/menu/editor_sector_menu.cpp:42 +#: src/supertux/menu/editor_sector_menu.cpp:44 msgid "Resize offset Y" msgstr "Zmień rozmiar wyrównania Y" -#: src/supertux/menu/editor_sector_menu.cpp:43 +#: src/supertux/menu/editor_sector_menu.cpp:45 msgid "Resize" msgstr "Zmień rozmiar" -#: src/supertux/menu/profile_menu.cpp:41 -#, c-format -msgid "[Profile {}]" -msgstr "[Profil {}]" +#: src/supertux/menu/profile_menu.cpp:60 +msgid "No profiles found." +msgstr "Nie znaleziono żadnych profili." -#: src/supertux/menu/profile_menu.cpp:45 -#, c-format +#: src/supertux/menu/profile_menu.cpp:68 +#: src/supertux/menu/profile_menu.cpp:149 +#: src/supertux/menu/profile_menu.cpp:168 +#, c++-format msgid "Profile {}" msgstr "Profil {}" -#: src/supertux/menu/profile_menu.cpp:50 -msgid "Reset profile" -msgstr "Zresetuj profil" - -#: src/supertux/menu/profile_menu.cpp:51 -msgid "Reset all profiles" -msgstr "Zresetuj wszystkie profile" - -#: src/supertux/menu/profile_menu.cpp:67 -msgid "Deleting your profile will reset your game progress. Are you sure?" -msgstr "Usunięcie twojego profilu zresetuje twój postęp w grze. Jesteś pewny?" +#: src/supertux/menu/profile_menu.cpp:69 +#, c++-format +msgid "{} (Profile {})" +msgstr "{} (Profil {})" + +#: src/supertux/menu/profile_menu.cpp:84 +msgid "No profile selected." +msgstr "Nie wybrano profilu." + +#: src/supertux/menu/profile_menu.cpp:91 src/supertux/menu/profile_menu.cpp:93 +#: src/supertux/menu/profile_name_menu.cpp:42 +msgid "Rename" +msgstr "Zmień nazwę" + +#: src/supertux/menu/profile_menu.cpp:98 +#: src/supertux/menu/profile_menu.cpp:100 +msgid "Reset" +msgstr "Resetuj" + +#: src/supertux/menu/profile_menu.cpp:103 +#: src/supertux/menu/profile_menu.cpp:105 +msgid "Reset all" +msgstr "Zresetuj wszystko" + +#: src/supertux/menu/profile_menu.cpp:113 +#: src/supertux/menu/profile_menu.cpp:115 +msgid "Delete all" +msgstr "Usuń wszystkie" + +#: src/supertux/menu/profile_menu.cpp:148 +#, c++-format +msgid "" +"This will reset all game progress on the profile \"{}\".\n" +"Are you sure?" +msgstr "" -#: src/supertux/menu/profile_menu.cpp:73 +#: src/supertux/menu/profile_menu.cpp:157 msgid "This will reset your game progress on all profiles. Are you sure?" msgstr "To zresetuje twój postęp w grze na wszystkich profilach. Jesteś pewny?" -#: src/supertux/menu/editor_levelset_menu.cpp:59 +#: src/supertux/menu/profile_menu.cpp:167 +#, c++-format +msgid "" +"This will delete the profile \"{}\",\n" +"including all game progress on it. Are you sure?" +msgstr "" + +#: src/supertux/menu/profile_menu.cpp:178 +msgid "" +"This will delete all profiles, including all game progress on them.\n" +"Are you sure?" +msgstr "" + +#: src/supertux/menu/editor_levelset_menu.cpp:53 #: src/supertux/menu/editor_new_levelset_menu.cpp:35 msgid "Description" msgstr "Opis" -#: src/supertux/menu/editor_levelset_menu.cpp:60 -#: src/supertux/menu/addon_menu.cpp:48 -#: data//images/engine/editor/objects.stoi:371 -msgid "Worldmap" -msgstr "Mapa świata" +#: src/supertux/menu/editor_levelset_menu.cpp:55 +msgid "Title Screen Level" +msgstr "Poziom ekranu tytułowego" -#: src/supertux/menu/editor_levelset_menu.cpp:60 -#: src/supertux/menu/addon_menu.cpp:45 -msgid "Levelset" -msgstr "Zestaw poziomów" +#: src/supertux/menu/editor_levelset_menu.cpp:56 +msgid "A level to be used for the title screen, after exiting the world." +msgstr "Poziom używany na ekranie tytułowym po wyjściu ze świata." -#: src/supertux/menu/addon_menu.cpp:51 -msgid "World" -msgstr "Świat" +#: src/supertux/menu/multiplayer_players_menu.cpp:46 +msgid "Add Player" +msgstr "Dodaj gracza" -#: src/supertux/menu/addon_menu.cpp:54 -msgid "Add-on" -msgstr "Dodatek" +#: src/supertux/menu/multiplayer_players_menu.cpp:59 +msgid "Remove Last Player" +msgstr "Usuń ostatniego gracza" -#: src/supertux/menu/addon_menu.cpp:60 -msgid "Unknown" -msgstr "Nieznany" +#: src/supertux/menu/multiplayer_players_menu.cpp:62 +msgid "" +"Warning: The player you are trying to\n" +"remove is currently in-game.\n" +"\n" +"Do you wish to remove them anyways?" +msgstr "" -#: src/supertux/menu/addon_menu.cpp:71 -#, c-format -msgid "{} \"{}\" by \"{}\"" -msgstr "{} \"{}\" przez \"{}\"" +#: src/supertux/menu/addon_menu.cpp:68 +msgid "Installed Language Packs" +msgstr "Zainstalowane pakiety językowe" + +#: src/supertux/menu/addon_menu.cpp:68 +msgid "Installed Add-ons" +msgstr "Zainstalowane dodatki" + +#: src/supertux/menu/addon_menu.cpp:76 src/supertux/menu/addon_menu.cpp:117 +msgid "No language packs installed" +msgstr "Pliki językowe niezainstalowane" -#: src/supertux/menu/addon_menu.cpp:129 +#: src/supertux/menu/addon_menu.cpp:76 msgid "No Add-ons installed" msgstr "Dodatkowe plansze niezainstalowane" -#: src/supertux/menu/addon_menu.cpp:133 -msgid "No Add-ons found" -msgstr "Dodatkowe plansze nieznalezione" +#: src/supertux/menu/addon_menu.cpp:124 +#, c++-format +msgid "{} {}*UPDATE*" +msgstr "" -#: src/supertux/menu/addon_menu.cpp:179 -#, c-format -msgid "Install {} *NEW*" -msgstr "Zainstaluj {} *NOWY*" +#: src/supertux/menu/addon_menu.cpp:130 +#, c++-format +msgid "{}{}" +msgstr "{}{}" -#: src/supertux/menu/addon_menu.cpp:190 -#, c-format -msgid "Install {}" -msgstr "Zainstaluj {}" +#: src/supertux/menu/addon_menu.cpp:140 +msgid "No updates available." +msgstr "Brak dostępnych aktualizacji." -#: src/supertux/menu/addon_menu.cpp:199 -msgid "No new Add-ons found" -msgstr "Nie znaleziono nowych plansz" +#: src/supertux/menu/addon_menu.cpp:144 +#, c++-format +msgid "{} {} available" +msgstr "" -#: src/supertux/menu/addon_menu.cpp:205 -msgid "Check Online (disabled)" -msgstr "Sprawdź w Internecie (wyłączone)" +#: src/supertux/menu/addon_menu.cpp:144 +msgid "update" +msgstr "" -#: src/supertux/menu/addon_menu.cpp:209 -msgid "Check Online" -msgstr "Sprawdź w Internecie" +#: src/supertux/menu/addon_menu.cpp:144 +msgid "updates" +msgstr "" -#: src/supertux/menu/addon_menu.cpp:286 -msgid "Downloading Add-On Repository Index" -msgstr "Ściąganie listy dodatków" +#: src/supertux/menu/addon_menu.cpp:146 +msgid "Check for updates" +msgstr "" -#: src/supertux/menu/addon_menu.cpp:301 -#, c-format -msgid "Downloading {}" -msgstr "Ściąganie {}" +#: src/supertux/menu/addon_menu.cpp:150 +msgid "Browse language packs" +msgstr "Przeglądaj pakiety językowe" -#: src/supertux/menu/addon_menu.cpp:348 -msgid "" -"Please restart SuperTux\n" -"for these changes to take effect." -msgstr "Zrestartuj grę,\naby wprowadzić zmiany." +#: src/supertux/menu/addon_menu.cpp:150 +#: src/supertux/menu/addon_browse_menu.cpp:70 +msgid "Browse Add-ons" +msgstr "Przeglądaj dodatki" + +#: src/supertux/menu/addon_menu.cpp:151 +msgid "Install from file" +msgstr "Zainstaluj z pliku" + +#: src/supertux/menu/addon_menu.cpp:208 +msgid "Checking for updates..." +msgstr "Sprawdzanie aktualizacji..." #: src/supertux/menu/editor_new_levelset_menu.cpp:31 msgid "New World" @@ -2620,6 +3655,53 @@ msgstr "Wpisz nazwę tego podzbioru poziomów." msgid "Story Mode" msgstr "Opowieść" +#: src/supertux/menu/addon_browse_menu.cpp:70 +msgid "Browse Language Packs" +msgstr "Przeglądaj pakiety językowe" + +#: src/supertux/menu/addon_browse_menu.cpp:112 +#, c++-format +msgid "Page {}/{}" +msgstr "Strona {}/{}" + +#: src/supertux/menu/addon_browse_menu.cpp:124 +msgid "No new language packs available" +msgstr "Brak dostępnych nowych pakietów językowych" + +#: src/supertux/menu/addon_browse_menu.cpp:124 +msgid "No new Add-ons available" +msgstr "Brak dostępnych nowych dodatków" + +#: src/supertux/menu/addon_browse_menu.cpp:127 +msgid "No language packs available" +msgstr "" + +#: src/supertux/menu/addon_browse_menu.cpp:127 +msgid "No Add-ons available" +msgstr "" + +#: src/supertux/menu/addon_browse_menu.cpp:135 +#: src/supertux/menu/addon_browse_menu.cpp:139 +msgid "Previous page" +msgstr "Poprzednia strona" + +#: src/supertux/menu/addon_browse_menu.cpp:143 +#: src/supertux/menu/addon_browse_menu.cpp:147 +msgid "Next page" +msgstr "Następna strona" + +#: src/supertux/menu/addon_browse_menu.cpp:154 +msgid "Check Online (disabled)" +msgstr "Sprawdź w Internecie (wyłączone)" + +#: src/supertux/menu/addon_browse_menu.cpp:158 +msgid "Check Online" +msgstr "Sprawdź w Internecie" + +#: src/supertux/menu/addon_browse_menu.cpp:195 +msgid "Downloading Add-On Repository Index" +msgstr "Ściąganie listy dodatków" + #: src/supertux/menu/web_asset_menu.cpp:42 msgid "New files location" msgstr "Nowa lokalizacja plików" @@ -2640,207 +3722,235 @@ msgstr "Załaduj plik cząsteczek" msgid "Open" msgstr "Otwórz" -#: src/supertux/menu/game_menu.cpp:31 -msgid "Are you sure?" -msgstr "Jesteś pewien?" - -#: src/supertux/menu/game_menu.cpp:54 src/supertux/menu/worldmap_menu.cpp:30 +#: src/supertux/menu/game_menu.cpp:51 src/supertux/menu/worldmap_menu.cpp:30 msgid "Continue" msgstr "Kontynuuj" -#: src/supertux/menu/game_menu.cpp:55 +#: src/supertux/menu/game_menu.cpp:52 msgid "Restart Level" msgstr "Zacznij od nowa" -#: src/supertux/menu/game_menu.cpp:58 +#: src/supertux/menu/game_menu.cpp:55 msgid "Restart from Checkpoint" msgstr "Zacznij od ostatniego dzwonka" -#: src/supertux/menu/game_menu.cpp:63 +#: src/supertux/menu/game_menu.cpp:60 msgid "Abort Level" msgstr "Anuluj grę" -#: src/supertux/menu/keyboard_menu.cpp:32 -#: src/supertux/menu/joystick_menu.cpp:69 +#: src/supertux/menu/game_menu.cpp:76 src/supertux/menu/game_menu.cpp:87 +#: src/supertux/menu/game_menu.cpp:99 +msgid "Are you sure?" +msgstr "Jesteś pewien?" + +#: src/supertux/menu/profile_name_menu.cpp:36 +#, c++-format +msgid "Rename \"{}\"" +msgstr "" + +#: src/supertux/menu/profile_name_menu.cpp:36 +msgid "Add profile" +msgstr "Dodaj profil" + +#: src/supertux/menu/profile_name_menu.cpp:40 +msgid "Profile names must have a maximum of 20 characters." +msgstr "" + +#: src/supertux/menu/profile_name_menu.cpp:42 +msgid "Create" +msgstr "Utwórz" + +#: src/supertux/menu/profile_name_menu.cpp:56 +msgid "" +"Profile names must have a maximum of 20 characters.\n" +"Please choose a different name." +msgstr "" + +#: src/supertux/menu/profile_name_menu.cpp:77 +msgid "An error occurred while creating the profile." +msgstr "Wystąpił błąd podczas tworzenia profilu." + +#: src/supertux/menu/keyboard_menu.cpp:36 +#: src/supertux/menu/joystick_menu.cpp:71 msgid "Up" msgstr "W górę" -#: src/supertux/menu/keyboard_menu.cpp:33 -#: src/supertux/menu/joystick_menu.cpp:70 +#: src/supertux/menu/keyboard_menu.cpp:37 +#: src/supertux/menu/joystick_menu.cpp:72 msgid "Down" msgstr "W dół" -#: src/supertux/menu/keyboard_menu.cpp:36 -#: src/supertux/menu/joystick_menu.cpp:73 +#: src/supertux/menu/keyboard_menu.cpp:40 +#: src/supertux/menu/joystick_menu.cpp:75 msgid "Jump" msgstr "Skok" -#: src/supertux/menu/keyboard_menu.cpp:38 -#: src/supertux/menu/joystick_menu.cpp:76 +#: src/supertux/menu/keyboard_menu.cpp:43 +#: src/supertux/menu/joystick_menu.cpp:78 msgid "Peek Left" msgstr "Przesuń w lewo" -#: src/supertux/menu/keyboard_menu.cpp:39 -#: src/supertux/menu/joystick_menu.cpp:77 +#: src/supertux/menu/keyboard_menu.cpp:44 +#: src/supertux/menu/joystick_menu.cpp:79 msgid "Peek Right" msgstr "Przesuń w prawo" -#: src/supertux/menu/keyboard_menu.cpp:40 -#: src/supertux/menu/joystick_menu.cpp:78 +#: src/supertux/menu/keyboard_menu.cpp:45 +#: src/supertux/menu/joystick_menu.cpp:80 msgid "Peek Up" msgstr "Przesuń w górę" -#: src/supertux/menu/keyboard_menu.cpp:41 -#: src/supertux/menu/joystick_menu.cpp:79 +#: src/supertux/menu/keyboard_menu.cpp:46 +#: src/supertux/menu/joystick_menu.cpp:81 msgid "Peek Down" msgstr "Przesuń w dół" -#: src/supertux/menu/keyboard_menu.cpp:43 -#: src/supertux/menu/joystick_menu.cpp:81 +#: src/supertux/menu/keyboard_menu.cpp:51 +#: src/supertux/menu/joystick_menu.cpp:83 msgid "Console" msgstr "Konsola" -#: src/supertux/menu/keyboard_menu.cpp:44 -#: src/supertux/menu/joystick_menu.cpp:82 +#: src/supertux/menu/keyboard_menu.cpp:52 +#: src/supertux/menu/joystick_menu.cpp:84 msgid "Cheat Menu" msgstr "Menu kodów" -#: src/supertux/menu/keyboard_menu.cpp:45 -#: src/supertux/menu/joystick_menu.cpp:83 +#: src/supertux/menu/keyboard_menu.cpp:53 +#: src/supertux/menu/joystick_menu.cpp:85 msgid "Debug Menu" msgstr "Menu debugowania" -#: src/supertux/menu/keyboard_menu.cpp:47 -#: src/supertux/menu/joystick_menu.cpp:85 +#: src/supertux/menu/keyboard_menu.cpp:56 +#: src/supertux/menu/joystick_menu.cpp:87 msgid "Jump with Up" msgstr "Skok = W górę" -#: src/supertux/menu/keyboard_menu.cpp:60 +#: src/supertux/menu/keyboard_menu.cpp:82 msgid "Up cursor" msgstr "Strzałka w górę" -#: src/supertux/menu/keyboard_menu.cpp:62 +#: src/supertux/menu/keyboard_menu.cpp:84 msgid "Down cursor" msgstr "Strzałka w dół" -#: src/supertux/menu/keyboard_menu.cpp:64 +#: src/supertux/menu/keyboard_menu.cpp:86 msgid "Left cursor" msgstr "Lewa strzałka" -#: src/supertux/menu/keyboard_menu.cpp:66 +#: src/supertux/menu/keyboard_menu.cpp:88 msgid "Right cursor" msgstr "Prawa strzałka" -#: src/supertux/menu/keyboard_menu.cpp:68 +#: src/supertux/menu/keyboard_menu.cpp:90 msgid "Return" msgstr "Return" -#: src/supertux/menu/keyboard_menu.cpp:70 +#: src/supertux/menu/keyboard_menu.cpp:92 msgid "Space" msgstr "Spacja" -#: src/supertux/menu/keyboard_menu.cpp:72 +#: src/supertux/menu/keyboard_menu.cpp:94 msgid "Right Shift" msgstr "Prawy shift" -#: src/supertux/menu/keyboard_menu.cpp:74 +#: src/supertux/menu/keyboard_menu.cpp:96 msgid "Left Shift" msgstr "Lewy shift" -#: src/supertux/menu/keyboard_menu.cpp:76 +#: src/supertux/menu/keyboard_menu.cpp:98 msgid "Right Control" msgstr "Prawy control" -#: src/supertux/menu/keyboard_menu.cpp:78 +#: src/supertux/menu/keyboard_menu.cpp:100 msgid "Left Control" msgstr "Lewy control" -#: src/supertux/menu/keyboard_menu.cpp:80 +#: src/supertux/menu/keyboard_menu.cpp:102 msgid "Right Alt" msgstr "Prawy alt" -#: src/supertux/menu/keyboard_menu.cpp:82 +#: src/supertux/menu/keyboard_menu.cpp:104 msgid "Left Alt" msgstr "Lewy alt" -#: src/supertux/menu/keyboard_menu.cpp:84 +#: src/supertux/menu/keyboard_menu.cpp:106 msgid "Right Command" msgstr "Prawa komenda" -#: src/supertux/menu/keyboard_menu.cpp:86 +#: src/supertux/menu/keyboard_menu.cpp:108 msgid "Left Command" msgstr "Lewa komenda" -#: src/supertux/menu/keyboard_menu.cpp:100 +#: src/supertux/menu/keyboard_menu.cpp:122 msgid "Press Key" msgstr "Naciśnij klawisz" -#: src/supertux/menu/language_menu.cpp:40 +#: src/supertux/menu/language_menu.cpp:43 msgid "Language" msgstr "Język" -#: src/supertux/menu/language_menu.cpp:42 +#: src/supertux/menu/language_menu.cpp:45 msgid "" msgstr "" -#: src/supertux/menu/joystick_menu.cpp:55 +#: src/supertux/menu/joystick_menu.cpp:57 msgid "Manual Configuration" msgstr "Konfiguracja ręczna" -#: src/supertux/menu/joystick_menu.cpp:57 +#: src/supertux/menu/joystick_menu.cpp:59 msgid "" "Use manual configuration instead of SDL2's automatic GameController support" msgstr "Użyj ręcznej konfiguracji zamiast automatycznej obsługi dżojstika przez SDL2" -#: src/supertux/menu/joystick_menu.cpp:75 +#: src/supertux/menu/joystick_menu.cpp:77 msgid "Pause/Menu" msgstr "Pauza/Menu" -#: src/supertux/menu/joystick_menu.cpp:91 +#: src/supertux/menu/joystick_menu.cpp:93 msgid "No Joysticks found" msgstr "Nie znaleziono dżojstika" -#: src/supertux/menu/joystick_menu.cpp:92 +#: src/supertux/menu/joystick_menu.cpp:94 msgid "Scan for Joysticks" msgstr "Szukaj dżojstików" -#: src/supertux/menu/joystick_menu.cpp:125 +#: src/supertux/menu/joystick_menu.cpp:127 msgid "Press Button" msgstr "Naciśnij przycisk" -#: src/supertux/menu/joystick_menu.cpp:162 +#: src/supertux/menu/joystick_menu.cpp:164 msgid "Axis " msgstr "Oś" -#: src/supertux/menu/joystick_menu.cpp:165 +#: src/supertux/menu/joystick_menu.cpp:167 msgid "-" msgstr "-" -#: src/supertux/menu/joystick_menu.cpp:167 +#: src/supertux/menu/joystick_menu.cpp:169 msgid "+" msgstr "+" -#: src/supertux/menu/joystick_menu.cpp:174 +#: src/supertux/menu/joystick_menu.cpp:176 msgid "X2" msgstr "X2" -#: src/supertux/menu/joystick_menu.cpp:176 +#: src/supertux/menu/joystick_menu.cpp:178 msgid "Y2" msgstr "Y2" -#: src/supertux/menu/joystick_menu.cpp:189 +#: src/supertux/menu/joystick_menu.cpp:191 msgid "Hat Up" msgstr "W górę" -#: src/supertux/menu/joystick_menu.cpp:193 +#: src/supertux/menu/joystick_menu.cpp:195 msgid "Hat Down" msgstr "W dół" -#: src/supertux/menu/joystick_menu.cpp:197 +#: src/supertux/menu/joystick_menu.cpp:199 msgid "Hat Left" msgstr "W lewo" -#: src/supertux/menu/joystick_menu.cpp:201 +#: src/supertux/menu/joystick_menu.cpp:203 msgid "Hat Right" msgstr "W prawo" @@ -2852,52 +3962,47 @@ msgstr "Pauza" msgid "Leave World" msgstr "Opuść świat" -#: src/supertux/menu/download_dialog.cpp:27 +#: src/supertux/menu/download_dialog.cpp:42 msgid "Abort Download" msgstr "Przerwij ściąganie" -#: src/supertux/menu/download_dialog.cpp:42 -msgid "Error:\n" -msgstr "Błąd:\n" - -#: src/supertux/menu/download_dialog.cpp:96 -msgid "Close" -msgstr "Zamknij" - -#: src/supertux/menu/cheat_menu.cpp:33 -msgid "Bonus: Fire x 64" -msgstr "Bonus: Ogień x 64" - -#: src/supertux/menu/cheat_menu.cpp:34 -msgid "Bonus: Ice x 64" -msgstr "Bonus: Lód x 64" - -#: src/supertux/menu/cheat_menu.cpp:35 -msgid "Bonus: Air x 64" -msgstr "Bonus: Powietrze x 64" - -#: src/supertux/menu/cheat_menu.cpp:36 -msgid "Bonus: Earth x 64" -msgstr "Bonus: Ziemia x 64" +#: src/supertux/menu/download_dialog.cpp:59 +#, c++-format +msgid "" +"Error:\n" +"{}" +msgstr "" -#: src/supertux/menu/cheat_menu.cpp:37 +#: src/supertux/menu/cheat_menu.cpp:38 msgid "Bonus: Star" msgstr "Bonus: Gwiazda" -#: src/supertux/menu/cheat_menu.cpp:38 +#: src/supertux/menu/cheat_menu.cpp:39 msgid "Shrink Tux" -msgstr "Zmniejsz Tuksa" +msgstr "Zmniejsz Tuxa" -#: src/supertux/menu/cheat_menu.cpp:39 +#: src/supertux/menu/cheat_menu.cpp:40 msgid "Kill Tux" -msgstr "Zabij Tuksa" +msgstr "Zabij Tuxa" + +#: src/supertux/menu/cheat_menu.cpp:55 +msgid "Prevent Death" +msgstr "Zapobiegaj Śmierci" + +#: src/supertux/menu/addon_file_install_menu.cpp:32 +msgid "Install Add-on from file" +msgstr "" + +#: src/supertux/menu/addon_file_install_menu.cpp:34 +msgid "Drag and drop add-on ZIP archive" +msgstr "Przeciągnij i upuść archiwum ZIP dodatku" #: src/supertux/menu/particle_editor_menu.cpp:32 msgid "Particle Editor" msgstr "Edytor cząstek" #: src/supertux/menu/particle_editor_menu.cpp:36 -#: src/supertux/menu/editor_menu.cpp:45 +#: src/supertux/menu/editor_menu.cpp:60 msgid "Return to Editor" msgstr "Wróć do edytora" @@ -2922,7 +4027,7 @@ msgid "Open Particle Directory" msgstr "Otwórz ścieżkę cząstki" #: src/supertux/menu/particle_editor_menu.cpp:45 -#: src/supertux/menu/editor_menu.cpp:88 +#: src/supertux/menu/editor_menu.cpp:118 msgid "Keyboard Shortcuts" msgstr "Skróty klawiszowe" @@ -2930,7 +4035,7 @@ msgstr "Skróty klawiszowe" msgid "Exit Particle Editor" msgstr "Wyjdź z edytora cząstek" -#: src/supertux/menu/particle_editor_menu.cpp:120 +#: src/supertux/menu/particle_editor_menu.cpp:121 msgid "" "Keyboard Shortcuts:\n" "---------------------\n" @@ -2942,18 +4047,18 @@ msgid "" "Ctrl+Y = Redo" msgstr "Skróty klawiszowe:\n---------------------\nEsc = Otwórz Menu\nCtrl+S = Zapisz\nCtrl+Shift+S = Zapisz jako\nCtrl+O = Otwórz\nCtrl+Z = Cofnij\nCtrl+Y = Przywróć" -#: src/supertux/menu/particle_editor_menu.cpp:121 -#: src/supertux/menu/editor_menu.cpp:176 +#: src/supertux/menu/particle_editor_menu.cpp:122 +#: src/supertux/menu/editor_menu.cpp:206 msgid "Got it!" msgstr "Zdobyte!" #: src/supertux/menu/editor_level_menu.cpp:31 -#: src/supertux/menu/editor_menu.cpp:86 +#: src/supertux/menu/editor_menu.cpp:116 msgid "Worldmap Settings" msgstr "Ustawienia mapy świata" #: src/supertux/menu/editor_level_menu.cpp:31 -#: src/supertux/menu/editor_menu.cpp:86 +#: src/supertux/menu/editor_menu.cpp:116 msgid "Level Settings" msgstr "Ustawienia poziomu" @@ -2961,7 +4066,7 @@ msgstr "Ustawienia poziomu" msgid "Author" msgstr "Autor" -#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1166 +#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1253 msgid "Contact" msgstr "Kontakt" @@ -2993,99 +4098,129 @@ msgstr "Wpisz imię autora tego poziomu." msgid "Please enter a license for this level." msgstr "Dodaj licencję dla tego poziomu." -#: src/supertux/menu/editor_menu.cpp:38 +#: src/supertux/menu/editor_menu.cpp:53 msgid "tiny tile (4px)" msgstr "malutka siatka (4px)" -#: src/supertux/menu/editor_menu.cpp:39 +#: src/supertux/menu/editor_menu.cpp:54 msgid "small tile (8px)" msgstr "mała siatka (8px)" -#: src/supertux/menu/editor_menu.cpp:40 +#: src/supertux/menu/editor_menu.cpp:55 msgid "medium tile (16px)" msgstr "średnia siatka (16px)" -#: src/supertux/menu/editor_menu.cpp:41 +#: src/supertux/menu/editor_menu.cpp:56 msgid "big tile (32px)" msgstr "duża siatka (32px)" -#: src/supertux/menu/editor_menu.cpp:46 +#: src/supertux/menu/editor_menu.cpp:61 msgid "Save Worldmap" msgstr "Zapisz mapę świata" -#: src/supertux/menu/editor_menu.cpp:46 +#: src/supertux/menu/editor_menu.cpp:61 msgid "Save Level" msgstr "Zapisz poziom" -#: src/supertux/menu/editor_menu.cpp:55 +#: src/supertux/menu/editor_menu.cpp:65 msgid "Test Level" msgstr "Testuj poziom" -#: src/supertux/menu/editor_menu.cpp:59 +#: src/supertux/menu/editor_menu.cpp:67 msgid "Test Worldmap" msgstr "Testuj mapę świata" -#: src/supertux/menu/editor_menu.cpp:62 +#: src/supertux/menu/editor_menu.cpp:72 msgid "Share Level" msgstr "Udostępnij poziom" -#: src/supertux/menu/editor_menu.cpp:64 +#: src/supertux/menu/editor_menu.cpp:74 msgid "Package Add-On" msgstr "Zapakuj jako dodatek" -#: src/supertux/menu/editor_menu.cpp:66 +#: src/supertux/menu/editor_menu.cpp:76 msgid "Open Level Directory" msgstr "Otwórz katalog poziomu" -#: src/supertux/menu/editor_menu.cpp:70 +#: src/supertux/menu/editor_menu.cpp:79 msgid "Edit Another Level" msgstr "Edytuj inny poziom" -#: src/supertux/menu/editor_menu.cpp:73 +#: src/supertux/menu/editor_menu.cpp:81 msgid "Edit Another World" msgstr "Edytuj inny świat" -#: src/supertux/menu/editor_menu.cpp:77 +#: src/supertux/menu/editor_menu.cpp:86 +msgid "Convert all tiles in the level using converters." +msgstr "Przekonwertuj wszystkie kafelki na poziomie za pomocą konwerterów." + +#: src/supertux/menu/editor_menu.cpp:90 msgid "Grid Size" msgstr "Rozmiar siatki" -#: src/supertux/menu/editor_menu.cpp:78 +#: src/supertux/menu/editor_menu.cpp:91 msgid "Show Grid" msgstr "Pokaż siatkę" -#: src/supertux/menu/editor_menu.cpp:79 +#: src/supertux/menu/editor_menu.cpp:92 msgid "Grid Snapping" msgstr "Przyciąganie do siatki" -#: src/supertux/menu/editor_menu.cpp:80 +#: src/supertux/menu/editor_menu.cpp:93 msgid "Render Background" msgstr "Renderuj tło" -#: src/supertux/menu/editor_menu.cpp:81 +#: src/supertux/menu/editor_menu.cpp:94 msgid "Render Light" msgstr "Renderuj światło" -#: src/supertux/menu/editor_menu.cpp:82 +#: src/supertux/menu/editor_menu.cpp:95 msgid "Autotile Mode" msgstr "Tryb Autotile" -#: src/supertux/menu/editor_menu.cpp:83 +#: src/supertux/menu/editor_menu.cpp:96 msgid "Enable Autotile Help" -msgstr "Włacz pomoc Autotile" +msgstr "Włącz pomoc Autotile" + +#: src/supertux/menu/editor_menu.cpp:97 +msgid "Enable Object Undo Tracking" +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:100 +msgid "Undo Stack Size" +msgstr "" -#: src/supertux/menu/editor_menu.cpp:84 +#: src/supertux/menu/editor_menu.cpp:102 msgid "Autosave Frequency" msgstr "Częstotliwość automatycznego zapisu" -#: src/supertux/menu/editor_menu.cpp:91 +#: src/supertux/menu/editor_menu.cpp:108 +msgid "Check for Deprecated Tiles" +msgstr "Sprawdź przestarzałe kafelki" + +#: src/supertux/menu/editor_menu.cpp:109 +msgid "Check if any deprecated tiles are currently present in the level." +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:110 +msgid "Show Deprecated Tiles" +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:111 +msgid "" +"Indicate all deprecated tiles on the active tilemap, without the need of " +"hovering over." +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:121 msgid "Exit Level Editor" msgstr "Wyjdź z edytora poziomów" -#: src/supertux/menu/editor_menu.cpp:140 +#: src/supertux/menu/editor_menu.cpp:170 msgid "Do you want to package this world as an add-on?" msgstr "Czy chcesz zapakować ten świat jako dodatek?" -#: src/supertux/menu/editor_menu.cpp:163 +#: src/supertux/menu/editor_menu.cpp:196 msgid "" "We encourage you to share your levels in the SuperTux forum.\n" "To find your level, click the\n" @@ -3093,7 +4228,7 @@ msgid "" "Do you want to go to the forum now?" msgstr "Zachęcamy Cię do udostępniania swoich poziomów na forum SuperTux.\nAby znaleźć swój poziom, kliknij\n\"Otwórz katalog wynikowy\" w menu.\nCzy chcesz teraz przejść na forum?" -#: src/supertux/menu/editor_menu.cpp:175 +#: src/supertux/menu/editor_menu.cpp:205 msgid "" "Keyboard Shortcuts:\n" "---------------------\n" @@ -3104,54 +4239,217 @@ msgid "" "Ctrl+Y = Redo\n" "F6 = Render Light\n" "F7 = Grid Snapping\n" -"F8 = Show Grid" -msgstr "Skróty klawiszowe:\n---------------------\nEsc = Otwórz menu\nCtrl+S = Zapisz\nCtrl+T = Testuj\nCtrl+Z = Cofnij\nCtrl+Y = Powtórz\nF6 = Renderuj światło\nF7 = Przyciąganie siatki\nF8 = Pokaż siatkę" +"F8 = Show Grid\n" +"Ctrl++ or Ctrl+Scroll Up = Zoom In\n" +"Ctrl+- or Ctrl+Scroll Down = Zoom Out\n" +"Ctrl+D = Reset Zoom\n" +"\n" +"Scripting Shortcuts:\n" +" ------------- \n" +"Home = Go to beginning of line\n" +"End = Go to end of line\n" +"Left arrow = Go back in text\n" +"Right arrow = Go forward in text\n" +"Backspace = Delete in front of text cursor\n" +"Delete = Delete behind text cursor\n" +"Ctrl+X = Cut whole line\n" +"Ctrl+C = Copy whole line\n" +"Ctrl+V = Paste\n" +"Ctrl+D = Duplicate line\n" +"Ctrl+Z = Undo\n" +"Ctrl+Y = Redo" +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:232 +msgid "Deprecated tiles are still present in the level." +msgstr "Przestarzałe płytki nadal są obecne w poziomie." + +#: src/supertux/menu/editor_menu.cpp:239 +msgid "Do you want to show all deprecated tiles on active tilemaps?" +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:246 +msgid "There are no more deprecated tiles in the level!" +msgstr "" + +#: src/supertux/menu/multiplayer_player_menu.cpp:40 +msgid "Play with the keyboard" +msgstr "" + +#: src/supertux/menu/multiplayer_player_menu.cpp:58 +msgid "Remove Player" +msgstr "" + +#: src/supertux/menu/multiplayer_player_menu.cpp:82 +msgid "Respawn Player" +msgstr "" + +#: src/supertux/menu/multiplayer_player_menu.cpp:108 +msgid "Spawn Player" +msgstr "" -#: src/supertux/menu/editor_delete_level_menu.cpp:53 -msgid "You cannot delete level that you are editing!" +#: src/supertux/menu/multiplayer_player_menu.cpp:136 +msgid "Controllers" +msgstr "Kontrolery" + +#: src/supertux/menu/multiplayer_player_menu.cpp:152 +msgid "" +"This controller does not support rumbling;\n" +"please check the controllers manually." +msgstr "" + +#: src/supertux/menu/multiplayer_player_menu.cpp:157 +msgid "" +"This SuperTux build does not support rumbling\n" +"controllers; please check the controllers manually." +msgstr "" + +#: src/supertux/menu/multiplayer_player_menu.cpp:184 +msgid "" +"This joystick does not support rumbling;\n" +"please check the joysticks manually." +msgstr "" + +#: src/supertux/menu/multiplayer_player_menu.cpp:189 +msgid "" +"This SuperTux build does not support rumbling\n" +"joysticks; please check the joysticks manually." +msgstr "" + +#: src/supertux/menu/editor_delete_level_menu.cpp:59 +msgid "No levels available" +msgstr "Brak dostępnych poziomów" + +#: src/supertux/menu/editor_delete_level_menu.cpp:79 +msgid "You cannot delete the level that you are editing!" msgstr "Nie możesz usunąć poziomu, którego edytujesz!" -#: src/supertux/levelintro.cpp:136 -#, c-format +#: src/supertux/menu/editor_delete_level_menu.cpp:82 +#, c++-format +msgid "You are about to delete level \"{}\". Are you sure?" +msgstr "" + +#: src/supertux/levelintro.cpp:137 +#, c++-format msgid "contributed by {}" -msgstr "Autorstwo: {}" +msgstr "" -#: src/supertux/levelintro.cpp:169 +#: src/supertux/levelintro.cpp:184 msgid "Badguys killed" msgstr "Pokonanych wrogów" -#: src/supertux/levelintro.cpp:177 +#: src/supertux/levelintro.cpp:192 msgid "Best time" msgstr "Najlepszy czas" -#: src/supertux/levelintro.cpp:181 +#: src/supertux/levelintro.cpp:196 msgid "Level target time" msgstr "Wymagany czas przejścia poziomu" -#: src/supertux/tile_set.cpp:118 +#: src/supertux/tile_set.cpp:113 msgid "Others" msgstr "Inne" -#: src/supertux/moving_object.cpp:55 +#: src/supertux/direction.cpp:67 +msgid "up" +msgstr "góra" + +#: src/supertux/direction.cpp:69 +msgid "down" +msgstr "dół" + +#: src/supertux/moving_object.cpp:63 msgid "Region" msgstr "Obszar" -#: src/supertux/main.cpp:563 +#: src/supertux/main.cpp:801 +#, c++-format +msgid "New release: SuperTux v{}!" +msgstr "" + +#: src/supertux/main.cpp:804 +#, c++-format msgid "" -"The UBports version is under heavy development!\n" -"If you encounter issues, PLEASE contact the maintainter\n" -"at https://github.com/supertux/supertux/issues or on the\n" -"Open Store's Telegram at https://open-store.io/telegram" -msgstr "Wersja UBports jest pod cięzkim rozwojem!\nJeżeli napotkasz problemy, PROSZĘ skontaktuj się z jej opiekunem\nna https://github.com/supertux/supertux/issues, albo na\nOtwórz Store's Telegram na https://open-store.io/telegram" +"A new release of SuperTux (v{}) is available!\n" +"For more information, you can visit the SuperTux website.\n" +"\n" +"Do you want to visit the website now?" +msgstr "" + +#: src/supertux/main.cpp:815 +msgid "Checking for new releases..." +msgstr "" #: src/control/joystick_config.cpp:85 msgid "Joystick Mappings" msgstr "Ustawienia dżojstika" -#: src/worldmap/worldmap_parser.cpp:167 +#: src/worldmap/sprite_change.cpp:91 +msgid "Stay action" +msgstr "Akcja pobytu" + +#: src/worldmap/sprite_change.cpp:92 +msgid "Initial stay action" +msgstr "Początkowa akcja pobytu" + +#: src/worldmap/sprite_change.cpp:93 +msgid "Stay group" +msgstr "Zostań grupą" + +#: src/worldmap/sprite_change.cpp:94 +msgid "Change on touch" +msgstr "Zmiana po dotknięciu" + +#: src/worldmap/special_tile.hpp:36 +msgid "Special Tile" +msgstr "Specjalna płytka" + +#: src/worldmap/level_tile.hpp:36 src/worldmap/level_tile.cpp:161 +msgid "Level" +msgstr "Poziom" + +#: src/worldmap/teleporter.cpp:50 +msgid "Automatic" +msgstr "Automatyczny" + +#: src/worldmap/teleporter.cpp:51 +msgid "Target worldmap" +msgstr "Docelowy świat" + +#: src/worldmap/sprite_change.hpp:35 +msgid "Sprite Change" +msgstr "Zmień sprite" + +#: src/worldmap/special_tile.cpp:75 +msgid "Show message" +msgstr "Pokaż wiadomość" + +#: src/worldmap/level_tile.cpp:84 msgid "" msgstr "" +#: src/worldmap/level_tile.cpp:162 +msgid "Outro script" +msgstr "Skrypt końcowy" + +#: src/worldmap/level_tile.cpp:163 +msgid "Auto play" +msgstr "Automatyczne odtwarzanie" + +#: src/worldmap/level_tile.cpp:164 +msgid "Title colour" +msgstr "Kolor tytułu" + +#: src/worldmap/teleporter.hpp:34 +msgid "Teleporter" +msgstr "Teleport" + +#: src/editor/tip.cpp:80 +msgid "" +"This object's current functionality is deprecated.\n" +"Updating to get its latest functionality is recommended." +msgstr "" + #: src/editor/node_marker.cpp:122 msgid "Path Node" msgstr "Punkt ścieżki" @@ -3164,85 +4462,82 @@ msgstr "Naciśnij klawisz CTRL, aby przesunąć uchwyty Beziera" msgid "Easing" msgstr "Łagodzenie" -#: src/editor/object_settings.cpp:119 -msgid "up" -msgstr "góra" - -#: src/editor/object_settings.cpp:119 -msgid "down" -msgstr "dół" - -#: src/editor/object_settings.cpp:131 +#: src/editor/object_settings.cpp:129 msgid "West" msgstr "Zachód" -#: src/editor/object_settings.cpp:131 +#: src/editor/object_settings.cpp:129 msgid "East" msgstr "Wschód" -#: src/editor/object_settings.cpp:131 +#: src/editor/object_settings.cpp:129 msgid "North" msgstr "Północ" -#: src/editor/object_settings.cpp:131 +#: src/editor/object_settings.cpp:129 msgid "South" msgstr "Południe" -#: src/editor/object_settings.cpp:144 +#: src/editor/object_settings.cpp:142 msgid "One shot" msgstr "Jednorazowo" -#: src/editor/object_settings.cpp:144 +#: src/editor/object_settings.cpp:142 msgid "Ping-pong" msgstr "Ping-pong" -#: src/editor/object_settings.cpp:144 +#: src/editor/object_settings.cpp:142 msgid "Circular" msgstr "Okrągła" -#: src/editor/object_settings.cpp:144 -msgid "Unordered" -msgstr "Nieuporządkowany" +#: src/editor/layers_widget.cpp:331 +#, c++-format +msgid "Sector: {}" +msgstr "Sektor: {}" -#: src/editor/object_option.cpp:85 +#: src/editor/object_option.cpp:92 msgid "true" msgstr "Prawda" -#: src/editor/object_option.cpp:85 +#: src/editor/object_option.cpp:92 msgid "false" msgstr "Fałsz" -#: src/editor/object_option.cpp:271 src/editor/object_option.cpp:320 +#: src/editor/object_option.cpp:308 src/editor/object_option.cpp:356 msgid "invalid" msgstr "nieprawidłowy" -#: src/editor/object_option.cpp:580 +#: src/editor/object_option.cpp:665 +msgid "Scale X" +msgstr "Skala X" + +#: src/editor/object_option.cpp:666 +msgid "Scale Y" +msgstr "Skala Y" + +#: src/editor/object_option.cpp:667 +msgid "Offset X" +msgstr "Przesunięcie X" + +#: src/editor/object_option.cpp:668 +msgid "Offset Y" +msgstr "Przesunięcie Y" + +#: src/editor/object_option.cpp:672 src/editor/object_menu.cpp:67 msgid "Remove" msgstr "Usuń" -#: src/editor/object_option.cpp:597 +#: src/editor/object_option.cpp:689 msgid "Test from here" msgstr "Przetestuj stąd" -#: src/editor/object_option.cpp:614 +#: src/editor/object_option.cpp:706 msgid "Open Particle Editor" msgstr "Otwórz edytor cząstek" -#: src/editor/worldmap_objects.hpp:56 src/editor/worldmap_objects.cpp:127 -msgid "Level" -msgstr "Poziom" - -#: src/editor/worldmap_objects.hpp:79 -msgid "Teleporter" -msgstr "Teleporter" - -#: src/editor/worldmap_objects.hpp:119 -msgid "Sprite Change" -msgstr "Zmień sprite" - -#: src/editor/worldmap_objects.hpp:140 -msgid "Special tile" -msgstr "Bloki specjalne" +#: src/editor/particle_editor.cpp:114 +msgid "Change texture... ->" +msgstr "Zmień teksturę... ->" #: src/editor/particle_editor.cpp:126 msgid "Max amount" @@ -3324,17 +4619,60 @@ msgstr "Zawsze zniszcz" msgid "Offscreen mode" msgstr "Tryb poza ekranem" -#: src/editor/particle_editor.cpp:765 +#: src/editor/particle_editor.cpp:229 +msgid "Clear" +msgstr "Wyczyść" + +#: src/editor/particle_editor.cpp:245 +msgid "<- General settings" +msgstr "<- Ogólne ustawienia" + +#: src/editor/particle_editor.cpp:255 +msgid "Likeliness" +msgstr "Podobieństwo" + +#: src/editor/particle_editor.cpp:266 +msgid "Color (RGBA)" +msgstr "Kolor (RGBA)" + +#: src/editor/particle_editor.cpp:311 +msgid "Scale (x, y)" +msgstr "Skala (x, y)" + +#: src/editor/particle_editor.cpp:332 +msgid "Hitbox scale (x, y)" +msgstr "Skala hitboxa (x, y)" + +#: src/editor/particle_editor.cpp:353 +msgid "Hitbox offset relative to scale" +msgstr "Przesunięcie hitboxa względem skali" + +#: src/editor/particle_editor.cpp:372 +msgid "Change texture..." +msgstr "Zmień teksturę..." + +#: src/editor/particle_editor.cpp:766 msgid "" "This particle configuration contains unsaved changes,\n" "do you want to save?" msgstr "Ta konfiguracja cząstek zawiera niezapisane zmiany, czy chcesz je zapisać?" -#: src/editor/particle_editor.cpp:773 +#: src/editor/particle_editor.cpp:774 msgid "Save as" msgstr "Zapisz jako" -#: src/editor/editor.cpp:566 +#: src/editor/editor.cpp:577 +msgid "" +"This level contains deprecated tiles.\n" +"It is strongly recommended to replace all deprecated tiles\n" +"to avoid loss of compatibility in future versions." +msgstr "Ten poziom zawiera przestarzałe płytki.\nZdecydowanie zaleca się zastąpienie wszystkich przestarzałych płytek\naby uniknąć utraty kompatybilności w przyszłych wersjach." + +#: src/editor/editor.cpp:579 +msgid "Tip: Turn on \"Show Deprecated Tiles\" from the level editor menu." +msgstr "Wskazówka: Włącz opcję \"Pokaż przestarzałe płytki\" w menu edytora poziomów." + +#: src/editor/editor.cpp:626 msgid "" "Don't forget that your levels and assets\n" "aren't saved between sessions!\n" @@ -3342,105 +4680,87 @@ msgid "" "from the \"Manage Assets\" menu." msgstr "Nie zapomnij, że twoje poziomy i zasoby\nnie są zapisywane pomiędzy sesjami!\nJeżeli chcesz zachować swoje poziomy, pobierz je\nz menu \"Manage Assets\"." -#: src/editor/editor.cpp:582 +#: src/editor/editor.cpp:661 msgid "This level contains unsaved changes, do you want to save?" msgstr "Ten poziom zawiera niezapisane zmiany, czy chcesz je teraz zapisać?" -#: src/editor/editor.cpp:622 +#: src/editor/editor.cpp:662 +msgid "This level may contain unsaved changes, do you want to save?" +msgstr "Ten poziom może zawierać niezapisane zmiany, czy chcesz je zapisać?" + +#: src/editor/editor.cpp:797 msgid "" "Some obsolete add-ons are still active\n" "and might cause collisions with default Super Tux structure.\n" "You can still enable these add-ons in the menu.\n" "Disabling these add-ons will not delete your game progress." -msgstr "Niektóre przestarzałe dodatki są wciąż aktywne\ni mogą one kolidować z ogólną strukturą Super Tuksa.\nNadal możesz uruchomić te dodatki w menu.\nWyłączenie tych dodatków nie usunie twoich postępów w grze." +msgstr "Niektóre przestarzałe dodatki są wciąż aktywne\ni mogą one kolidować z ogólną strukturą Super Tuxa.\nNadal możesz uruchomić te dodatki w menu.\nWyłączenie tych dodatków nie usunie twoich postępów w grze." -#: src/editor/editor.cpp:625 +#: src/editor/editor.cpp:800 msgid "Disable add-ons" msgstr "Wyłącz dodatkowe plansze" -#: src/editor/editor.cpp:630 +#: src/editor/editor.cpp:805 msgid "Ignore (not advised)" msgstr "Zignoruj (Niezalecane)" -#: src/editor/editor.cpp:634 +#: src/editor/editor.cpp:809 msgid "Leave editor" msgstr "Opuść edytor" -#: src/editor/editor.cpp:853 +#: src/editor/editor.cpp:1023 msgid "" "Couldn't find a \"main\" sector.\n" "Please change the name of the sector where\n" "you'd like the player to start to \"main\"" msgstr "Nie znaleziono \"głównego\" sektora.\nZmień nazwę sektora, w którym\nchciałbyś by gracz startował, na \"główny\"" -#: src/editor/editor.cpp:857 +#: src/editor/editor.cpp:1027 msgid "" "Couldn't find a \"main\" spawnpoint.\n" " Please change the name of the spawnpoint where\n" "you'd like the player to start to \"main\"" msgstr "Nie znaleziono \"głównego\" punktu startu.\nZmień nazwę tego punktu startu, gdzie\nchciałbyś by gracz zaczynał, na \"główny\"" -#: src/editor/worldmap_objects.cpp:128 -msgid "Outro script" -msgstr "Skrypt końcowy" - -#: src/editor/worldmap_objects.cpp:129 -msgid "Auto play" -msgstr "Automatyczne odtwarzanie" - -#: src/editor/worldmap_objects.cpp:131 -msgid "Title colour" -msgstr "Kolor tytułu" - -#: src/editor/worldmap_objects.cpp:173 -msgid "Automatic" -msgstr "Automatyczny" - -#: src/editor/worldmap_objects.cpp:175 -msgid "Target worldmap" -msgstr "Docelowy świat" - -#: src/editor/worldmap_objects.cpp:238 -msgid "Stay action" -msgstr "Akcja pobytu" - -#: src/editor/worldmap_objects.cpp:239 -msgid "Initial stay action" -msgstr "Początkowa akcja pobytu" +#: src/editor/object_menu.cpp:60 +msgid "Patch Notes" +msgstr "Informacje o aktualizacji" -#: src/editor/worldmap_objects.cpp:240 -msgid "Stay group" -msgstr "Zostań grupą" - -#: src/editor/worldmap_objects.cpp:241 -msgid "Change on touch" -msgstr "Zmiana po dotknięciu" +#: src/editor/object_menu.cpp:84 +msgid "" +"This will update the object to its latest functionality.\n" +"Check the \"Patch Notes\" for more information.\n" +"\n" +"Keep in mind this is very likely to break the proper behaviour of the object.\n" +"Make sure to re-check any behaviour, related to the object." +msgstr "" -#: src/editor/worldmap_objects.cpp:271 -msgid "Show message" -msgstr "Pokaż wiadomość" +#: src/editor/object_menu.cpp:98 +#, c++-format +msgid "Patch notes for v{}:" +msgstr "" -#: src/editor/worldmap_objects.cpp:273 -msgid "Invisible" -msgstr "Niewidzialny" +#: src/editor/overlay_widget.cpp:1062 +msgid "Cannot select deprecated tiles" +msgstr "Nie można wybrać przestarzałych płytek" -#: src/editor/overlay_widget.cpp:1297 +#: src/editor/overlay_widget.cpp:1567 msgid "Autotile mode is on" msgstr "Tryb autotile jest włączony" -#: src/editor/overlay_widget.cpp:1299 +#: src/editor/overlay_widget.cpp:1571 msgid "Hold Ctrl to enable autotile" msgstr "Przytrzymaj Ctrl, aby włączyć autotile" -#: src/editor/overlay_widget.cpp:1303 +#: src/editor/overlay_widget.cpp:1578 msgid "Autotile erasing mode is on" -msgstr "Kasowanie Autotile jest włączone" +msgstr "Kasowanie autotile jest włączone" -#: src/editor/overlay_widget.cpp:1305 +#: src/editor/overlay_widget.cpp:1582 msgid "Selected tile isn't autotileable" msgstr "Wybrana płytka nie wspiera autotiling-u" -#: src/editor/overlay_widget.cpp:1308 +#: src/editor/overlay_widget.cpp:1587 msgid "Hold Ctrl to enable autotile erasing" msgstr "Przytrzymaj Ctrl, aby włączyć kasowanie autotile" @@ -3449,8 +4769,8 @@ msgid "Current SuperTux Team" msgstr "Obecny zespół SuperTuxa" #: data//credits.stxt:30 -msgid "Programming, project lead ad interim" -msgstr "Programowanie, Tymczasowe prowadzenie reklamy projektu" +msgid "Maintainer, Programming" +msgstr "" #: data//credits.stxt:35 msgid "Graphics, Level Design, Story" @@ -3460,12 +4780,12 @@ msgstr "Grafika, projektowanie poziomów, fabuła" msgid "Level Design, Story, Optimisation, Coordination" msgstr "Projektowanie poziomów, fabuła, optymalizacja, koordynacja" -#: data//credits.stxt:45 data//credits.stxt:105 data//credits.stxt:191 -#: data//credits.stxt:519 +#: data//credits.stxt:45 data//credits.stxt:120 data//credits.stxt:206 +#: data//credits.stxt:538 msgid "Graphics" msgstr "Grafika" -#: data//credits.stxt:50 data//credits.stxt:87 data//credits.stxt:93 +#: data//credits.stxt:50 data//credits.stxt:102 data//credits.stxt:108 msgid "Graphics, Programming, Level Design" msgstr "Grafika, Programowanie, Projektowanie poziomów" @@ -3474,256 +4794,266 @@ msgid "Features and Programming" msgstr "Funkcje i programowanie" #: data//credits.stxt:60 +msgid "Minor features and programming" +msgstr "Drobne funkcje i programowanie" + +#: data//credits.stxt:65 msgid "Programming, Level Updates" msgstr "Programowanie, Aktualizacje Poziomów" -#: data//credits.stxt:65 +#: data//credits.stxt:70 msgid "Graphics, Programming" msgstr "Grafika, programowanie" -#: data//credits.stxt:70 data//credits.stxt:135 data//credits.stxt:140 -#: data//credits.stxt:145 data//credits.stxt:150 data//credits.stxt:165 -#: data//credits.stxt:170 data//credits.stxt:515 data//credits.stxt:527 +#: data//credits.stxt:75 data//credits.stxt:85 data//credits.stxt:150 +#: data//credits.stxt:155 data//credits.stxt:160 data//credits.stxt:165 +#: data//credits.stxt:180 data//credits.stxt:185 data//credits.stxt:534 +#: data//credits.stxt:546 msgid "Programming" msgstr "Programowanie" -#: data//credits.stxt:76 +#: data//credits.stxt:80 data//credits.stxt:266 +msgid "Level Design" +msgstr "Projektowanie poziomów" + +#: data//credits.stxt:91 msgid "Original Developers" msgstr "Oryginalni deweloperzy" -#: data//credits.stxt:81 +#: data//credits.stxt:96 msgid "Original Developer" msgstr "Oryginalny programista" -#: data//credits.stxt:99 +#: data//credits.stxt:114 msgid "Music, Level Design" msgstr "Muzyka, Projektowanie poziomów" -#: data//credits.stxt:111 +#: data//credits.stxt:126 msgid "Programming, Graphics, Level Design" msgstr "Programowanie, Grafika, Projektowanie poziomów" -#: data//credits.stxt:117 +#: data//credits.stxt:132 msgid "Programming, Level Design" msgstr "Programowanie, Projektowanie poziomów" -#: data//credits.stxt:123 +#: data//credits.stxt:138 msgid "Graphics, Story" msgstr "Grafika, Fabuła" -#: data//credits.stxt:129 +#: data//credits.stxt:144 msgid "Programming, Documentation" msgstr "Programowanie, Dokumentacja" -#: data//credits.stxt:155 +#: data//credits.stxt:170 msgid "Coordination" msgstr "Koordynacja" -#: data//credits.stxt:160 +#: data//credits.stxt:175 msgid "Programming, \"Flexlay\" Level editor" msgstr "Programowanie, Edytor poziomów \"Flexlay\"" -#: data//credits.stxt:175 +#: data//credits.stxt:190 msgid "Windows build fixes" msgstr "Poprawki wersji na Windows" -#: data//credits.stxt:180 +#: data//credits.stxt:195 msgid "Packaging, Nightly builds" msgstr "Pakowanie, Nocne wersje" -#: data//credits.stxt:185 +#: data//credits.stxt:200 msgid "Translation Guru (and many details anyone else could have done)" msgstr "Guru Tłumaczeń (i wiele detali, które każdy inny mógł zrobić)" -#: data//credits.stxt:251 -msgid "Level Design" -msgstr "Projektowanie poziomów" - -#: data//credits.stxt:431 +#: data//credits.stxt:450 msgid "Additional contributors" msgstr "Dodatkowi współpracownicy" -#: data//credits.stxt:436 +#: data//credits.stxt:455 msgid "Bug fixes" msgstr "Poprawki błędów" -#: data//credits.stxt:440 +#: data//credits.stxt:459 msgid "Scripting functions, Level fixes" msgstr "Funkcje skryptowe, poprawki w poziomach" -#: data//credits.stxt:444 +#: data//credits.stxt:463 msgid "Code quality fixes" msgstr "Poprawki jakości kodu" -#: data//credits.stxt:448 data//credits.stxt:452 data//credits.stxt:456 -#: data//credits.stxt:483 +#: data//credits.stxt:467 data//credits.stxt:471 data//credits.stxt:475 +#: data//credits.stxt:502 msgid "Various contributions" msgstr "Różne zasługi" -#: data//credits.stxt:460 +#: data//credits.stxt:479 msgid "Build issue fix" msgstr "Naprawa problemów z kompilacją" -#: data//credits.stxt:464 data//credits.stxt:468 +#: data//credits.stxt:483 data//credits.stxt:487 msgid "Code contributions" msgstr "Wkład w kod źródłowy" -#: data//credits.stxt:471 +#: data//credits.stxt:490 msgid "Code contribution, AppData file" msgstr "Wkład w kod źródłowy, plik AppData" -#: data//credits.stxt:475 +#: data//credits.stxt:494 msgid "Bug fix" msgstr "Poprawki błędów" -#: data//credits.stxt:479 +#: data//credits.stxt:498 msgid "Menu reorganization" msgstr "Reorganizacja menu" -#: data//credits.stxt:487 +#: data//credits.stxt:506 msgid "Fixing tile bugs" msgstr "Naprawa błędów tytułowych" -#: data//credits.stxt:491 +#: data//credits.stxt:510 msgid "Build error fix" msgstr "Naprawa problemów z kompilacją" -#: data//credits.stxt:495 +#: data//credits.stxt:514 msgid "Scripting function fix" msgstr "Naprawa funkcji skryptowej" -#: data//credits.stxt:499 +#: data//credits.stxt:518 msgid "New features and notable updates" msgstr "Nowe funkcje i istotne aktualizacje" -#: data//credits.stxt:503 +#: data//credits.stxt:522 msgid "Support for \"glbinding\" as optional OpenGL binding" msgstr "Wsparcie dla \"glbinding\" jako opcjonalnego bindingu OpenGL" -#: data//credits.stxt:507 +#: data//credits.stxt:526 msgid "New menu code" msgstr "Nowy kod menu" -#: data//credits.stxt:511 +#: data//credits.stxt:530 msgid "Big Tux Walking Sprites improvements" msgstr "Ulepszenia w wyglądzie chodzącego Tuxa" -#: data//credits.stxt:523 data//credits.stxt:531 +#: data//credits.stxt:542 data//credits.stxt:550 msgid "Contrib Programming" msgstr "Wkład w programowanie" -#: data//credits.stxt:535 +#: data//credits.stxt:554 msgid "Programming, Previous Maintainer" msgstr "Programowanie, Poprzedni Opiekun" -#: data//credits.stxt:539 +#: data//credits.stxt:558 msgid "Various Contributions" msgstr "Różne wkłady" -#: data//credits.stxt:543 -msgid "Minor features and programming" -msgstr "Drobne funkcje i programowanie" - -#: data//credits.stxt:547 data//credits.stxt:551 data//credits.stxt:555 -#: data//credits.stxt:559 data//credits.stxt:563 data//credits.stxt:567 -#: data//credits.stxt:571 data//credits.stxt:575 data//credits.stxt:579 -#: data//credits.stxt:583 data//credits.stxt:587 data//credits.stxt:591 +#: data//credits.stxt:562 data//credits.stxt:566 data//credits.stxt:570 +#: data//credits.stxt:574 data//credits.stxt:578 data//credits.stxt:582 +#: data//credits.stxt:586 data//credits.stxt:590 data//credits.stxt:594 +#: data//credits.stxt:598 data//credits.stxt:602 data//credits.stxt:606 +#: data//credits.stxt:610 data//credits.stxt:614 data//credits.stxt:618 +#: data//credits.stxt:622 data//credits.stxt:626 data//credits.stxt:630 +#: data//credits.stxt:634 data//credits.stxt:638 data//credits.stxt:642 +#: data//credits.stxt:646 data//credits.stxt:650 data//credits.stxt:654 +#: data//credits.stxt:658 data//credits.stxt:662 msgid "Contributions" msgstr "Wkład" -#: data//credits.stxt:597 +#: data//credits.stxt:668 msgid "Localization" -msgstr "Lokalizacja" +msgstr "Tłumaczenie" -#: data//credits.stxt:1144 +#: data//credits.stxt:1231 msgid " Special Thanks to" msgstr "Specjalne podziękowania dla" -#: data//credits.stxt:1149 +#: data//credits.stxt:1236 msgid "Creator of Tux, the Linux penguin" msgstr "Twórcy Tux'a, Pingwina Linux" -#: data//credits.stxt:1153 +#: data//credits.stxt:1240 msgid "SDL, OpenAL and OpenGL" msgstr "SDL, OpenAL i OpenGL" -#: data//credits.stxt:1154 +#: data//credits.stxt:1241 msgid "" "For making such a great gaming experience\n" " possible on Linux" msgstr "Za stworzenie tak świetnego doświadczenia z gry\n możliwego na Linuksie" -#: data//credits.stxt:1159 +#: data//credits.stxt:1246 msgid "and you, the player" msgstr "i Tobie graczu" -#: data//credits.stxt:1160 +#: data//credits.stxt:1247 msgid "for giving this game a chance and playing it" msgstr "za danie tej grze szansy i granie w nią" -#: data//credits.stxt:1171 +#: data//credits.stxt:1258 msgid "Visit our webpage at" msgstr "Odwiedź naszą stronę internetową" -#: data//credits.stxt:1180 +#: data//credits.stxt:1267 msgid "Or visit us directly at IRC:" msgstr "Albo odwiedź nas bezpośrednio na IRC:" -#: data//credits.stxt:1184 +#: data//credits.stxt:1271 msgid "#supertux at web.libera.chat" msgstr "#supertux na web.libera.chat" -#: data//credits.stxt:1189 +#: data//credits.stxt:1276 msgid "Or at our Forum:" msgstr "Lub na naszym forum:" -#: data//credits.stxt:1198 +#: data//credits.stxt:1285 msgid "Comments, ideas and suggestions" msgstr "Komentarze, pomysły i sugestie" -#: data//credits.stxt:1202 +#: data//credits.stxt:1289 msgid "go to our mailing list" msgstr "Nasz adres mailowy" #. l10n: typo contact -#: data//credits.stxt:1212 +#: data//credits.stxt:1299 msgid "Typographical errors can be" msgstr "Błędy typograficzne mogą być" #. l10n: typo contact -#: data//credits.stxt:1217 +#: data//credits.stxt:1304 msgid "reported to" msgstr "zgłaszane do" #. l10n: typo contact, see -#: data//credits.stxt:1222 +#: data//credits.stxt:1309 msgid "supertux-devel@lists.lethargik.org" msgstr "supertux-devel@lists.lethargik.org" -#: data//credits.stxt:1229 +#: data//credits.stxt:1316 msgid "Want to help…" -msgstr "Chcesz pomóc..." +msgstr "Chcesz pomóc…" -#: data//credits.stxt:1234 +#: data//credits.stxt:1321 msgid "…with localization?" -msgstr "...z lokalizacją?" +msgstr "…z tłumaczeniem?" -#: data//credits.stxt:1244 +#: data//credits.stxt:1331 msgid "…with something else?" -msgstr "...z czymś jeszcze innym?" +msgstr "…z czymś jeszcze innym?" -#: data//credits.stxt:1255 +#: data//credits.stxt:1342 msgid "Thank you for" msgstr "Dziękuję Ci za" -#: data//credits.stxt:1259 +#: data//credits.stxt:1346 msgid "playing" msgstr "grę" -#: data//credits.stxt:1269 +#: data//credits.stxt:1356 msgid "Penny awaits you in warmer temperatures!" msgstr "Penny czeka na Ciebie w cieplejszych temperaturach!" +#: data//images/engine/editor/objects.stoi:4 +msgid "Enemies" +msgstr "Wrogowie" + #: data//images/engine/editor/objects.stoi:162 msgid "Bosses" msgstr "Bossowie" @@ -3732,15 +5062,10 @@ msgstr "Bossowie" msgid "Projectiles" msgstr "Pociski" -#: data//images/engine/editor/objects.stoi:187 +#: data//images/engine/editor/objects.stoi:184 msgid "Environment" msgstr "Środowisko" -#: data//images/ice_world.strf:10 data//images/tiles.strf:28 -#: data//images/worldmap.strf:41 -msgid "Snow" -msgstr "Śnieg" - #: data//images/ice_world.strf:80 msgid "Ice Cave & Crystal" msgstr "Lodowa i kryształowa grota" @@ -3749,11 +5074,6 @@ msgstr "Lodowa i kryształowa grota" msgid "Embellishments" msgstr "Upiększenia" -#: data//images/ice_world.strf:211 data//images/tiles.strf:386 -#: data//images/worldmap.strf:67 -msgid "Forest" -msgstr "Las" - #: data//images/ice_world.strf:320 msgid "Underground Forest" msgstr "Podziemny las" @@ -3778,57 +5098,61 @@ msgstr "Ścieżki" msgid "Water" msgstr "Woda" -#: data//images/tiles.strf:176 +#: data//images/tiles.strf:252 msgid "Snow Background" msgstr "Śnieżne tło" -#: data//images/tiles.strf:231 -msgid "Snow Mountain" -msgstr "Góra Śnieżna" - -#: data//images/tiles.strf:305 +#: data//images/tiles.strf:300 msgid "Crystal" msgstr "Kryształ" -#: data//images/tiles.strf:532 +#: data//images/tiles.strf:539 msgid "Forest Background" msgstr "Leśne tło" -#: data//images/tiles.strf:663 +#: data//images/tiles.strf:690 +msgid "Corrupted Forest" +msgstr "" + +#: data//images/tiles.strf:868 +msgid "Corrupted Background" +msgstr "" + +#: data//images/tiles.strf:991 msgid "Block + Bonus" msgstr "Blok + Bonus" -#: data//images/tiles.strf:715 +#: data//images/tiles.strf:1069 msgid "Pole + Signs" msgstr "Słupy + Znaki" -#: data//images/tiles.strf:760 +#: data//images/tiles.strf:1113 msgid "Liquid" msgstr "Płyny" -#: data//images/tiles.strf:793 +#: data//images/tiles.strf:1131 msgid "Castle" msgstr "Zamek" -#: data//images/tiles.strf:930 data//images/worldmap.strf:199 +#: data//images/tiles.strf:1231 data//images/worldmap.strf:199 msgid "Halloween" msgstr "Halloween" -#: data//images/tiles.strf:958 +#: data//images/tiles.strf:1272 msgid "Industrial" msgstr "Przemysłowe" -#: data//images/tiles.strf:973 +#: data//images/tiles.strf:1287 msgid "Unisolid + Lightmap" msgstr "Niejednolitość + Mapa świetlna" -#: data//images/tiles.strf:1000 +#: data//images/tiles.strf:1314 msgid "Miscellaneous" msgstr "Różne" -#: data//images/tiles.strf:1043 -msgid "Retro Snow" -msgstr "Śnieg Retro" +#: data//images/tiles.strf:1342 +msgid "Retro Tiles" +msgstr "Płytki retro" #: data//images/worldmap.strf:24 msgid "Water paths" @@ -3841,3 +5165,19 @@ msgstr "Ścieżki zamkowe" #: data//images/worldmap.strf:135 msgid "Darker Forest" msgstr "Ciemniejszy Las" + +#: data//images/converters/data.stcd:3 +msgid "Nightly Tiles" +msgstr "" + +#: data//images/converters/data.stcd:5 +msgid "For levels, created in previous Nightly builds." +msgstr "" + +#: data//images/converters/data.stcd:8 +msgid "Pre-0.6.3 Crystal Tiles" +msgstr "" + +#: data//images/converters/data.stcd:10 +msgid "For levels, created in pre-0.6.3 versions, which use crystal tiles." +msgstr "" diff --git a/data/locale/pt.po b/data/locale/pt.po index 1c50695c20f..787d4db65eb 100644 --- a/data/locale/pt.po +++ b/data/locale/pt.po @@ -26,7 +26,7 @@ msgid "" msgstr "" "Project-Id-Version: SuperTux\n" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" -"POT-Creation-Date: 2024-03-03 03:26+0100\n" +"POT-Creation-Date: 2024-05-30 16:19+0200\n" "PO-Revision-Date: 2013-08-10 22:56+0000\n" "Last-Translator: lecalam, 2024\n" "Language-Team: Portuguese (http://app.transifex.com/arctic-games/supertux/language/pt/)\n" @@ -41,7 +41,7 @@ msgid "You found a secret area!" msgstr "Descobriste uma área secreta!" #: src/trigger/secretarea_trigger.cpp:55 src/supertux/game_object.cpp:115 -#: src/supertux/menu/editor_sector_menu.cpp:34 +#: src/supertux/menu/editor_sector_menu.cpp:36 #: src/supertux/menu/editor_levelset_menu.cpp:52 #: src/supertux/menu/editor_new_levelset_menu.cpp:34 #: src/supertux/menu/profile_name_menu.cpp:39 @@ -60,7 +60,7 @@ msgid "Message" msgstr "Mensagem" #: src/trigger/secretarea_trigger.cpp:58 src/trigger/scripttrigger.cpp:51 -#: src/trigger/door.cpp:72 src/object/ispy.cpp:53 +#: src/trigger/door.cpp:79 src/object/ispy.cpp:53 #: src/object/bonus_block.cpp:264 src/object/bonus_block.cpp:268 #: src/object/pushbutton.cpp:62 src/object/powerup.cpp:301 #: src/worldmap/special_tile.cpp:76 @@ -91,7 +91,7 @@ msgstr "Tempo de mudança do texto" msgid "Fade time" msgstr "Tempo de desvanecimento" -#: src/trigger/text_area.cpp:144 src/object/textscroller.cpp:351 +#: src/trigger/text_area.cpp:144 src/object/textscroller.cpp:353 msgid "Anchor" msgstr "Ancorar" @@ -107,29 +107,27 @@ msgstr "Deslocação Y da âncora" msgid "Texts" msgstr "Textos" -#: src/trigger/door.cpp:73 src/badguy/willowisp.cpp:310 -#: src/supertux/menu/editor_sector_menu.cpp:32 src/worldmap/teleporter.cpp:47 -#: src/editor/layers_widget.cpp:329 -#: data//images/engine/editor/objects.stoi:339 +#: src/trigger/door.cpp:80 src/badguy/willowisp.cpp:311 +#: src/worldmap/teleporter.cpp:47 data//images/engine/editor/objects.stoi:342 msgid "Sector" msgstr "Setor" -#: src/trigger/door.cpp:74 src/worldmap/spawn_point.hpp:58 +#: src/trigger/door.cpp:81 src/worldmap/spawn_point.hpp:58 msgid "Spawn point" msgstr "Ponto de partida" -#: src/trigger/door.cpp:75 +#: src/trigger/door.cpp:82 msgid "Locked?" msgstr "Bloqueado?" -#: src/trigger/door.cpp:76 +#: src/trigger/door.cpp:83 msgid "Lock Color" msgstr "Bloquear cor" #: src/trigger/switch.cpp:62 src/object/ispy.cpp:54 src/object/bumper.cpp:53 #: src/object/spotlight.cpp:106 src/object/pushbutton.cpp:61 #: src/object/gradient.cpp:103 src/object/conveyor_belt.cpp:60 -#: src/badguy/badguy.cpp:1061 src/worldmap/spawn_point.cpp:79 +#: src/badguy/badguy.cpp:1063 src/worldmap/spawn_point.cpp:79 #: src/worldmap/special_tile.cpp:78 msgid "Direction" msgstr "Direção" @@ -217,8 +215,8 @@ msgstr "Topo" msgid "Top Right" msgstr "Topo direito" -#: src/math/anchor_point.cpp:36 src/object/textscroller.cpp:352 -#: src/object/textscroller.cpp:356 src/supertux/menu/keyboard_menu.cpp:36 +#: src/math/anchor_point.cpp:36 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:38 #: src/supertux/menu/joystick_menu.cpp:73 msgid "Left" msgstr "Esquerda" @@ -227,8 +225,8 @@ msgstr "Esquerda" msgid "Middle" msgstr "Meio" -#: src/math/anchor_point.cpp:38 src/object/textscroller.cpp:352 -#: src/object/textscroller.cpp:356 src/supertux/menu/keyboard_menu.cpp:37 +#: src/math/anchor_point.cpp:38 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:39 #: src/supertux/menu/joystick_menu.cpp:74 msgid "Right" msgstr "Direita" @@ -245,7 +243,7 @@ msgstr "Fundo" msgid "Bottom Right" msgstr "Fundo direito" -#: src/object/thunderstorm.hpp:43 +#: src/object/thunderstorm.hpp:44 msgid "Thunderstorm" msgstr "Tempestade" @@ -265,23 +263,16 @@ msgstr "Zona de partículas" #: src/object/path_gameobject.hpp:45 src/object/coin.cpp:324 #: src/object/camera.cpp:168 src/object/platform.cpp:76 #: src/object/path_gameobject.cpp:175 src/object/tilemap.cpp:284 -#: src/gui/menu_paths.cpp:54 src/badguy/willowisp.cpp:316 +#: src/badguy/willowisp.cpp:317 msgid "Path" msgstr "Caminho" -#: src/object/decal.cpp:48 src/object/scripted_object.cpp:68 -#: src/object/particlesystem.cpp:65 src/object/background.cpp:184 -#: src/object/thunderstorm.cpp:72 src/object/tilemap.cpp:277 -#: src/object/gradient.cpp:101 -msgid "Z-pos" -msgstr "Profundidade" - -#: src/object/decal.cpp:49 src/object/scripted_object.cpp:71 +#: src/object/decal.cpp:48 src/object/scripted_object.cpp:70 #: src/object/tilemap.cpp:266 msgid "Solid" msgstr "Sólido" -#: src/object/decal.cpp:50 src/supertux/menu/keyboard_menu.cpp:39 +#: src/object/decal.cpp:49 src/supertux/menu/keyboard_menu.cpp:41 #: src/supertux/menu/joystick_menu.cpp:76 msgid "Action" msgstr "Ação" @@ -300,7 +291,7 @@ msgstr "Mapa-peças" #: src/object/sound_object.cpp:69 src/object/ambient_sound.cpp:85 #: src/object/sound_object.hpp:42 src/supertux/menu/options_menu.cpp:128 -#: data//credits.stxt:372 +#: data//credits.stxt:367 msgid "Sound" msgstr "Som" @@ -333,7 +324,7 @@ msgstr "Plataforma circular" #: src/object/invisible_block.cpp:37 src/object/background.cpp:200 #: src/object/tilemap.cpp:279 src/object/gradient.cpp:109 #: src/badguy/viciousivy.cpp:44 src/badguy/snail.cpp:69 -#: src/badguy/smartball.cpp:34 src/badguy/bouncing_snowball.cpp:69 +#: src/badguy/smartball.cpp:34 src/badguy/bouncing_snowball.cpp:81 #: src/badguy/kamikazesnowball.cpp:117 src/badguy/walkingleaf.cpp:35 #: src/badguy/mrbomb.cpp:47 src/badguy/igel.cpp:188 src/badguy/snowball.cpp:40 #: src/badguy/mrtree.cpp:50 src/badguy/mriceblock.cpp:62 @@ -374,12 +365,12 @@ msgstr "Ângulo" #: src/object/spotlight.cpp:104 src/object/magicblock.cpp:95 #: src/object/candle.cpp:75 src/object/torch.cpp:96 src/object/rublight.cpp:55 #: src/object/lantern.cpp:62 src/object/ambient_light.cpp:122 -#: src/object/key.cpp:192 src/badguy/willowisp.cpp:318 +#: src/object/key.cpp:192 src/badguy/willowisp.cpp:319 #: src/badguy/walking_candle.cpp:91 msgid "Color" msgstr "Cor" -#: src/object/spotlight.cpp:105 src/object/textscroller.cpp:348 +#: src/object/spotlight.cpp:105 src/object/textscroller.cpp:350 #: src/object/rain_particle_system.cpp:102 src/object/conveyor_belt.cpp:61 #: src/object/circleplatform.cpp:58 src/badguy/flame.cpp:110 #: src/editor/node_marker.cpp:125 @@ -403,20 +394,20 @@ msgstr "Parado" msgid "Layer" msgstr "Camada" -#: src/object/scripted_object.cpp:72 +#: src/object/scripted_object.cpp:71 msgid "Physics enabled" msgstr "Física ativada" -#: src/object/scripted_object.cpp:73 +#: src/object/scripted_object.cpp:72 msgid "Visible" msgstr "Visível" -#: src/object/scripted_object.cpp:74 src/badguy/willowisp.cpp:312 +#: src/object/scripted_object.cpp:73 src/badguy/willowisp.cpp:313 msgid "Hit script" msgstr "Script ao tocar" #: src/object/custom_particle_system_file.cpp:53 -#: src/object/textscroller.cpp:346 src/object/music_object.cpp:109 +#: src/object/textscroller.cpp:348 src/object/music_object.cpp:109 #: src/supertux/menu/particle_editor_open.cpp:38 msgid "File" msgstr "Ficheiro" @@ -540,18 +531,18 @@ msgstr "Modo de caminho" #: src/object/coin.cpp:330 src/object/camera.cpp:172 #: src/object/platform.cpp:78 src/object/tilemap.cpp:291 -#: src/badguy/willowisp.cpp:321 +#: src/badguy/willowisp.cpp:322 msgid "Adapt Speed" msgstr "Adaptar velocidade" #: src/object/coin.cpp:331 src/object/platform.cpp:81 -#: src/object/tilemap.cpp:285 src/badguy/willowisp.cpp:317 +#: src/object/tilemap.cpp:285 src/badguy/willowisp.cpp:318 msgid "Starting Node" msgstr "Nó Inicial" #: src/object/coin.cpp:332 src/object/camera.cpp:173 #: src/object/platform.cpp:82 src/object/tilemap.cpp:293 -#: src/badguy/willowisp.cpp:322 +#: src/badguy/willowisp.cpp:323 msgid "Handle" msgstr "Manípulo" @@ -579,23 +570,23 @@ msgstr "manual" msgid "autoscroll" msgstr "rolagem automática" -#: src/object/textscroller.cpp:347 +#: src/object/textscroller.cpp:349 msgid "Finish Script" msgstr "Terminar script" -#: src/object/textscroller.cpp:349 +#: src/object/textscroller.cpp:351 msgid "X-offset" msgstr "Desvio em X" -#: src/object/textscroller.cpp:350 +#: src/object/textscroller.cpp:352 msgid "Controllable" msgstr "Controlável" -#: src/object/textscroller.cpp:352 src/object/textscroller.cpp:356 +#: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 msgid "Center" msgstr "Centro" -#: src/object/textscroller.cpp:355 +#: src/object/textscroller.cpp:357 msgid "Text Alignment" msgstr "Alinhamento de texto" @@ -603,7 +594,7 @@ msgstr "Alinhamento de texto" msgid "Lit object" msgstr "Objeto iluminado" -#: src/object/spawnpoint.hpp:48 src/badguy/willowisp.cpp:311 +#: src/object/spawnpoint.hpp:48 src/badguy/willowisp.cpp:312 #: src/worldmap/teleporter.cpp:48 msgid "Spawnpoint" msgstr "Ponto de partida" @@ -616,6 +607,12 @@ msgstr "Contador" msgid "Candle" msgstr "Vela" +#: src/object/particlesystem.cpp:65 src/object/background.cpp:184 +#: src/object/thunderstorm.cpp:76 src/object/tilemap.cpp:277 +#: src/object/gradient.cpp:101 src/object/moving_sprite.cpp:193 +msgid "Z-pos" +msgstr "Profundidade" + #: src/object/invisible_block.hpp:30 msgid "Invisible Block" msgstr "Bloco Invisível" @@ -725,7 +722,7 @@ msgid "Platform" msgstr "Plataforma" #: src/object/music_object.hpp:42 src/supertux/menu/options_menu.cpp:130 -#: data//credits.stxt:314 +#: data//credits.stxt:309 msgid "Music" msgstr "Música" @@ -978,7 +975,7 @@ msgstr "Partículas extravagantes" msgid "Bicycle Platform" msgstr "Plataforma giratória" -#: src/object/platform.cpp:80 src/object/thunderstorm.cpp:73 +#: src/object/platform.cpp:80 src/object/thunderstorm.cpp:77 #: src/object/tilemap.cpp:292 src/object/conveyor_belt.cpp:62 msgid "Running" msgstr "Ativado" @@ -991,11 +988,11 @@ msgstr "Pequeno" msgid "Large" msgstr "Grande" -#: src/object/rock.cpp:238 +#: src/object/rock.cpp:234 msgid "On-grab script" msgstr "Script ao agarrar" -#: src/object/rock.cpp:239 +#: src/object/rock.cpp:235 msgid "On-ungrab script" msgstr "Script ao largar" @@ -1003,11 +1000,11 @@ msgstr "Script ao largar" msgid "Interactive particle system" msgstr "Sistema de partículas interativo" -#: src/object/thunderstorm.cpp:74 +#: src/object/thunderstorm.cpp:78 msgid "Interval" msgstr "Intervalo" -#: src/object/thunderstorm.cpp:75 +#: src/object/thunderstorm.cpp:79 msgid "Strike Script" msgstr "Script ao golpear" @@ -1044,7 +1041,7 @@ msgstr "Modo de nascimento" #: src/object/custom_particle_system.cpp:430 #: src/object/custom_particle_system.cpp:465 src/object/gradient.cpp:115 #: src/gui/menu_string_array.cpp:40 src/gui/menu_string_array.cpp:78 -#: src/supertux/menu/keyboard_menu.cpp:77 +#: src/supertux/menu/keyboard_menu.cpp:80 #: src/supertux/menu/joystick_menu.cpp:108 #: src/supertux/menu/joystick_menu.cpp:215 src/editor/object_settings.cpp:129 #: src/editor/particle_editor.cpp:162 src/editor/particle_editor.cpp:168 @@ -1060,17 +1057,17 @@ msgstr "Encolher" #: src/object/custom_particle_system.cpp:434 #: src/editor/particle_editor.cpp:172 msgid "Birth easing" -msgstr "Flexibilização do nascimento" +msgstr "Suavização do nascimento" #: src/object/custom_particle_system.cpp:436 #: src/object/custom_particle_system.cpp:471 src/editor/node_marker.cpp:129 msgid "No easing" -msgstr "Sem atenuação" +msgstr "Sem suavização" #: src/object/custom_particle_system.cpp:437 #: src/object/custom_particle_system.cpp:472 src/editor/node_marker.cpp:130 msgid "Quad in" -msgstr "Quad em" +msgstr "Quad in" #: src/object/custom_particle_system.cpp:437 #: src/object/custom_particle_system.cpp:472 src/editor/node_marker.cpp:130 @@ -1080,12 +1077,12 @@ msgstr "Quad out" #: src/object/custom_particle_system.cpp:437 #: src/object/custom_particle_system.cpp:472 src/editor/node_marker.cpp:130 msgid "Quad in/out" -msgstr "Quad em/fora" +msgstr "Quad in/out" #: src/object/custom_particle_system.cpp:438 #: src/object/custom_particle_system.cpp:473 src/editor/node_marker.cpp:131 msgid "Cubic in" -msgstr "Cúbico em" +msgstr "Cúbico in" #: src/object/custom_particle_system.cpp:438 #: src/object/custom_particle_system.cpp:473 src/editor/node_marker.cpp:131 @@ -1095,12 +1092,12 @@ msgstr "Cúbico out" #: src/object/custom_particle_system.cpp:438 #: src/object/custom_particle_system.cpp:473 src/editor/node_marker.cpp:131 msgid "Cubic in/out" -msgstr "Cúbico em/fora" +msgstr "Cúbico in/out" #: src/object/custom_particle_system.cpp:439 #: src/object/custom_particle_system.cpp:474 src/editor/node_marker.cpp:132 msgid "Quart in" -msgstr "Quarto em" +msgstr "Quarto in" #: src/object/custom_particle_system.cpp:439 #: src/object/custom_particle_system.cpp:474 src/editor/node_marker.cpp:132 @@ -1110,37 +1107,37 @@ msgstr "Quart out" #: src/object/custom_particle_system.cpp:439 #: src/object/custom_particle_system.cpp:474 src/editor/node_marker.cpp:132 msgid "Quart in/out" -msgstr "Quarto em/fora" +msgstr "Quarto in/out" #: src/object/custom_particle_system.cpp:440 #: src/object/custom_particle_system.cpp:475 src/editor/node_marker.cpp:133 msgid "Quint in" -msgstr "Quinto em" +msgstr "Quinto in" #: src/object/custom_particle_system.cpp:440 #: src/object/custom_particle_system.cpp:475 src/editor/node_marker.cpp:133 msgid "Quint out" -msgstr "Quinto fora" +msgstr "Quinto out" #: src/object/custom_particle_system.cpp:440 #: src/object/custom_particle_system.cpp:475 src/editor/node_marker.cpp:133 msgid "Quint in/out" -msgstr "Quinto em/fora" +msgstr "Quinto in/out" #: src/object/custom_particle_system.cpp:441 #: src/object/custom_particle_system.cpp:476 src/editor/node_marker.cpp:134 msgid "Sine in" -msgstr "Seno em" +msgstr "Seno in" #: src/object/custom_particle_system.cpp:441 #: src/object/custom_particle_system.cpp:476 src/editor/node_marker.cpp:134 msgid "Sine out" -msgstr "Seno fora" +msgstr "Seno out" #: src/object/custom_particle_system.cpp:441 #: src/object/custom_particle_system.cpp:476 src/editor/node_marker.cpp:134 msgid "Sine in/out" -msgstr "Seno em/fora" +msgstr "Seno in/out" #: src/object/custom_particle_system.cpp:442 #: src/object/custom_particle_system.cpp:477 src/editor/node_marker.cpp:135 @@ -1329,11 +1326,11 @@ msgstr "Nenhum (passar por)" #: src/object/custom_particle_system.cpp:520 msgid "Stick" -msgstr "Grudar" +msgstr "Colar" #: src/object/custom_particle_system.cpp:520 msgid "Stick Forever" -msgstr "Grudar para sempre" +msgstr "Colar para sempre" #: src/object/custom_particle_system.cpp:520 #: src/editor/particle_editor.cpp:214 @@ -1419,12 +1416,12 @@ msgstr "Desvio ao redimensionar (X)" msgid "Resize offset y" msgstr "Desvio ao redimensionar (Y)" -#: src/object/tilemap.cpp:270 src/supertux/menu/editor_sector_menu.cpp:39 +#: src/object/tilemap.cpp:270 src/supertux/menu/editor_sector_menu.cpp:41 #: src/editor/object_option.cpp:178 msgid "Width" msgstr "Largura" -#: src/object/tilemap.cpp:271 src/supertux/menu/editor_sector_menu.cpp:40 +#: src/object/tilemap.cpp:271 src/supertux/menu/editor_sector_menu.cpp:42 #: src/editor/object_option.cpp:179 msgid "Height" msgstr "Altura" @@ -1446,7 +1443,7 @@ msgid "Tint" msgstr "Tonalidade" #: src/object/tilemap.cpp:296 src/supertux/menu/editor_tilegroup_menu.cpp:26 -#: src/editor/toolbox_widget.cpp:99 +#: src/editor/toolbox_widget.cpp:98 msgid "Tiles" msgstr "Peças" @@ -1498,7 +1495,7 @@ msgstr "Socador" msgid "Length" msgstr "Comprimento" -#: src/object/moving_sprite.cpp:187 src/object/pneumatic_platform.cpp:161 +#: src/object/moving_sprite.cpp:192 src/object/pneumatic_platform.cpp:161 msgid "Sprite" msgstr "Imagem" @@ -1558,7 +1555,7 @@ msgstr "Clica para mais pormenores." msgid "Do not show again" msgstr "Não voltar a mostrar" -#: src/gui/notification.cpp:157 src/supertux/menu/download_dialog.cpp:123 +#: src/gui/notification.cpp:157 src/supertux/menu/download_dialog.cpp:124 msgid "Close" msgstr "Fechar" @@ -1592,7 +1589,7 @@ msgstr "Eliminar" #: src/gui/menu_string_array.cpp:84 src/gui/menu_object_select.cpp:61 #: src/gui/menu_color.cpp:37 src/gui/dialog.hpp:87 src/gui/menu_script.cpp:46 -#: src/supertux/menu/editor_sector_menu.cpp:46 +#: src/supertux/menu/editor_sector_menu.cpp:48 #: src/supertux/menu/editor_levelset_menu.cpp:58 #: src/supertux/menu/editor_new_levelset_menu.cpp:37 #: src/supertux/menu/editor_level_menu.cpp:45 src/editor/object_menu.cpp:71 @@ -1617,17 +1614,17 @@ msgid "Mix the colour" msgstr "Misturar a cor" #: src/gui/dialog.hpp:96 src/supertux/menu/editor_level_select_menu.cpp:181 -#: src/editor/editor.cpp:638 +#: src/editor/editor.cpp:663 msgid "Yes" msgstr "Sim" #: src/gui/dialog.hpp:97 src/supertux/menu/editor_level_select_menu.cpp:185 -#: src/editor/particle_editor.cpp:781 src/editor/editor.cpp:645 +#: src/editor/particle_editor.cpp:781 src/editor/editor.cpp:670 msgid "No" msgstr "Não" #: src/gui/menu_list.cpp:38 src/gui/menu_filesystem.cpp:120 -#: src/gui/menu_paths.cpp:46 src/supertux/menu/particle_editor_save_as.cpp:42 +#: src/gui/menu_paths.cpp:48 src/supertux/menu/particle_editor_save_as.cpp:42 #: src/supertux/menu/editor_sectors_menu.cpp:45 #: src/supertux/menu/editor_sectors_menu.cpp:94 #: src/supertux/menu/editor_sectors_menu.cpp:99 @@ -1636,7 +1633,7 @@ msgstr "Não" #: src/supertux/menu/editor_level_select_menu.cpp:190 #: src/supertux/menu/editor_save_as.cpp:42 #: src/supertux/menu/particle_editor_open.cpp:43 -#: src/editor/particle_editor.cpp:785 src/editor/editor.cpp:649 +#: src/editor/particle_editor.cpp:785 src/editor/editor.cpp:674 msgid "Cancel" msgstr "Cancelar" @@ -1648,22 +1645,34 @@ msgstr "Abrir diretório" msgid "Edit script" msgstr "Editar script" -#: src/gui/menu_paths.cpp:30 +#: src/gui/menu_paths.cpp:32 msgid "Clone" msgstr "Clonar" -#: src/gui/menu_paths.cpp:39 +#: src/gui/menu_paths.cpp:41 msgid "" "An error occurred and the game could\n" "not clone the path. Please contact\n" "the developers for support." msgstr "Ocorreu um erro e o jogo não conseguiu\nclonar o caminho. Por favor, contacta\nos criadores para obter apoio." -#: src/gui/menu_paths.cpp:42 +#: src/gui/menu_paths.cpp:44 msgid "Bind" msgstr "Vincular" -#: src/gui/menu_paths.cpp:65 src/supertux/menu/integrations_menu.cpp:60 +#: src/gui/menu_paths.cpp:49 +msgid "" +"Do you wish to clone the path to edit it separately,\n" +"or do you want to bind both paths together\n" +"so that any edit on one edits the other?" +msgstr "Pretendes clonar o caminho para o editar separadamente,\nou quer ligar os dois caminhos em conjunto\npara que qualquer edição num deles edite o outro?" + +#: src/gui/menu_paths.cpp:56 +#, c++-format +msgid "Path {}" +msgstr "Caminho {}" + +#: src/gui/menu_paths.cpp:67 src/supertux/menu/integrations_menu.cpp:60 #: src/supertux/menu/editor_converters_menu.cpp:79 #: src/supertux/menu/video_system_menu.cpp:45 #: src/supertux/menu/contrib_menu.cpp:102 src/supertux/menu/debug_menu.cpp:77 @@ -1672,8 +1681,8 @@ msgstr "Vincular" #: src/supertux/menu/editor_level_select_menu.cpp:98 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:42 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:63 -#: src/supertux/menu/worldmap_cheat_menu.cpp:56 -#: src/supertux/menu/worldmap_cheat_menu.cpp:195 +#: src/supertux/menu/worldmap_cheat_menu.cpp:57 +#: src/supertux/menu/worldmap_cheat_menu.cpp:196 #: src/supertux/menu/editor_levelset_select_menu.cpp:114 #: src/supertux/menu/options_menu.cpp:223 #: src/supertux/menu/editor_delete_levelset_menu.cpp:69 @@ -1687,8 +1696,8 @@ msgstr "Vincular" #: src/supertux/menu/addon_browse_menu.cpp:162 #: src/supertux/menu/web_asset_menu.cpp:48 #: src/supertux/menu/profile_name_menu.cpp:45 -#: src/supertux/menu/keyboard_menu.cpp:68 -#: src/supertux/menu/sorted_contrib_menu.cpp:53 +#: src/supertux/menu/keyboard_menu.cpp:71 +#: src/supertux/menu/sorted_contrib_menu.cpp:51 #: src/supertux/menu/language_menu.cpp:63 #: src/supertux/menu/joystick_menu.cpp:99 #: src/supertux/menu/contrib_levelset_menu.cpp:67 @@ -1701,28 +1710,16 @@ msgstr "Vincular" msgid "Back" msgstr "Voltar" -#: src/addon/addon_manager.cpp:484 -msgid "Error deleting addon .zip file: \"PHYSFS_delete\" failed: " -msgstr "Erro ao eliminar o ficheiro .zip da extensão: \"PHYSFS_delete\" falhou:" - -#: src/addon/addon_manager.cpp:490 -msgid "Error uninstalling add-on: Addon with id " -msgstr "Erro ao desinstalar a extensão: extensão com o id" - -#: src/addon/addon_manager.cpp:490 -msgid " not found." -msgstr "não encontrado." - -#: src/addon/addon_manager.cpp:559 +#: src/addon/addon_manager.cpp:562 msgid "Only one resource pack is allowed to be enabled at a time." msgstr "Só é permitido ativar um pacote de recursos de cada vez." -#: src/addon/addon_manager.cpp:823 +#: src/addon/addon_manager.cpp:837 #, c++-format msgid "Add-on {} by {} is already installed." msgstr "A extensão {} de {} já está instalada." -#: src/addon/addon_manager.cpp:843 +#: src/addon/addon_manager.cpp:857 #, c++-format msgid "Add-on {} by {} successfully installed." msgstr "Extensão {} de {} instalada com sucesso." @@ -1732,7 +1729,7 @@ msgid "Levelset" msgstr "Grupos de níveis" #: src/addon/addon.cpp:74 src/supertux/menu/editor_levelset_menu.cpp:54 -#: data//images/engine/editor/objects.stoi:386 +#: data//images/engine/editor/objects.stoi:389 msgid "Worldmap" msgstr "Mapa-mundo" @@ -1781,6 +1778,10 @@ msgstr "Sr. Árvore" msgid "Plant" msgstr "Planta" +#: src/badguy/tarantula.hpp:39 src/badguy/tarantula.cpp:353 +msgid "Tarantula" +msgstr "Tarântula" + #: src/badguy/granito_giant.cpp:71 msgid "Awake" msgstr "Acordado" @@ -1819,23 +1820,27 @@ msgstr "Totem" msgid "Stalactite" msgstr "Estalactite" -#: src/badguy/fish_chasing.cpp:195 +#: src/badguy/fish_chasing.cpp:198 msgid "Tracking Distance" msgstr "Distância de rastreio" -#: src/badguy/fish_chasing.cpp:196 +#: src/badguy/fish_chasing.cpp:199 msgid "Losing Distance" msgstr "Distância de perda" -#: src/badguy/fish_chasing.cpp:197 +#: src/badguy/fish_chasing.cpp:200 msgid "Chase Speed" msgstr "Velocidade de perseguição" +#: src/badguy/root_sapling.hpp:41 +msgid "Root Sapling" +msgstr "Rebento de Raiz" + #: src/badguy/haywire.hpp:46 msgid "Haywire" msgstr "Bomba" -#: src/badguy/dispenser.hpp:51 +#: src/badguy/dispenser.hpp:52 msgid "Dispenser" msgstr "Dispensador" @@ -1851,7 +1856,7 @@ msgstr "Dragão-Falcão" msgid "Pumpkin" msgstr "Abóbora" -#: src/badguy/bouncing_snowball.cpp:70 +#: src/badguy/bouncing_snowball.cpp:82 msgid "Fatbat" msgstr "Morcego Gordo" @@ -1868,7 +1873,7 @@ msgid "Mr. Iceblock" msgstr "Sr. Bloco de Gelo" #: src/badguy/granito.hpp:39 src/badguy/darttrap.cpp:163 -#: src/badguy/corrupted_granito.cpp:175 src/badguy/dispenser.cpp:410 +#: src/badguy/corrupted_granito.cpp:175 src/badguy/dispenser.cpp:438 msgid "Granito" msgstr "Granito" @@ -1923,15 +1928,15 @@ msgstr "Capitão Bola de Neve" msgid "Ghost Tree" msgstr "Árvore Fantasma" -#: src/badguy/willowisp.cpp:313 +#: src/badguy/willowisp.cpp:314 msgid "Track range" msgstr "Distância de perseguição" -#: src/badguy/willowisp.cpp:314 +#: src/badguy/willowisp.cpp:315 msgid "Vanish range" msgstr "Distância de desaparecer" -#: src/badguy/willowisp.cpp:315 +#: src/badguy/willowisp.cpp:316 msgid "Fly speed" msgstr "Velocidade de voo" @@ -1943,7 +1948,7 @@ msgstr "Meteorito" msgid "Mole's rock" msgstr "Pedra da Toupeira" -#: src/badguy/badguy.cpp:1062 +#: src/badguy/badguy.cpp:1064 msgid "Death script" msgstr "Script de morrer" @@ -2031,31 +2036,31 @@ msgstr "Clássico" msgid "Flying Snowball" msgstr "Bola de Neve Voadora" -#: src/badguy/crusher.cpp:74 +#: src/badguy/crusher.cpp:75 msgid "Ice (normal)" msgstr "Gelo (normal)" -#: src/badguy/crusher.cpp:75 +#: src/badguy/crusher.cpp:76 msgid "Ice (big)" msgstr "Gelo (grande)" -#: src/badguy/crusher.cpp:76 +#: src/badguy/crusher.cpp:77 msgid "Rock (normal)" msgstr "Rocha (normal)" -#: src/badguy/crusher.cpp:77 +#: src/badguy/crusher.cpp:78 msgid "Rock (big)" msgstr "Rocha (grande)" -#: src/badguy/crusher.cpp:78 +#: src/badguy/crusher.cpp:79 msgid "Corrupted (normal)" msgstr "Corrompido (normal)" -#: src/badguy/crusher.cpp:79 +#: src/badguy/crusher.cpp:80 msgid "Corrupted (big)" msgstr "Corrompido (grande)" -#: src/badguy/crusher.cpp:475 +#: src/badguy/crusher.cpp:492 msgid "Sideways" msgstr "Lateralmente" @@ -2115,6 +2120,10 @@ msgstr "Espinhoso" msgid "Walking Leaf" msgstr "Folha Andante" +#: src/badguy/root.hpp:39 +msgid "Root" +msgstr "Raiz" + #: src/badguy/owl.cpp:241 msgid "Carry" msgstr "Transporte" @@ -2159,10 +2168,14 @@ msgstr "Vela andante" msgid "Angry Stone" msgstr "Rocha Zangada" -#: src/badguy/spidermite.hpp:38 +#: src/badguy/tarantula.cpp:354 msgid "Spidermite" msgstr "Ácaro-Aranha" +#: src/badguy/tarantula.cpp:374 +msgid "Static" +msgstr "Estático" + #: src/badguy/ghoul.hpp:30 msgid "Ghoul" msgstr "Fantasma perseguidor" @@ -2195,41 +2208,41 @@ msgstr "Peixe Perseguidor" msgid "Stumpy" msgstr "Tronco" -#: src/badguy/dispenser.cpp:384 +#: src/badguy/dispenser.cpp:412 msgid "Interval (seconds)" msgstr "Intervalo (segundos)" -#: src/badguy/dispenser.cpp:385 +#: src/badguy/dispenser.cpp:413 msgid "Random" msgstr "Aleatório" -#: src/badguy/dispenser.cpp:388 +#: src/badguy/dispenser.cpp:416 #: src/supertux/menu/editor_objectgroup_menu.cpp:30 -#: src/editor/toolbox_widget.cpp:102 +#: src/editor/toolbox_widget.cpp:101 msgid "Objects" msgstr "Objetos" -#: src/badguy/dispenser.cpp:391 +#: src/badguy/dispenser.cpp:419 msgid "Limit dispensed badguys" msgstr "Limitar mauzões dispensados" -#: src/badguy/dispenser.cpp:393 +#: src/badguy/dispenser.cpp:421 msgid "Obey Gravity" msgstr "Obedecer gravidade" -#: src/badguy/dispenser.cpp:395 +#: src/badguy/dispenser.cpp:423 msgid "Max concurrent badguys" msgstr "Máx. mauzões simultâneos" -#: src/badguy/dispenser.cpp:407 +#: src/badguy/dispenser.cpp:435 msgid "Dropper" msgstr "Conta-Gotas" -#: src/badguy/dispenser.cpp:408 +#: src/badguy/dispenser.cpp:436 msgid "Cannon" msgstr "Canhão" -#: src/badguy/dispenser.cpp:409 src/worldmap/special_tile.cpp:77 +#: src/badguy/dispenser.cpp:437 src/worldmap/special_tile.cpp:77 msgid "Invisible" msgstr "Invisível" @@ -2241,7 +2254,7 @@ msgstr "Caracol" msgid "Mrs. Snowball" msgstr "Sra. Bola de Neve" -#: src/badguy/bouncing_snowball.hpp:38 +#: src/badguy/bouncing_snowball.hpp:39 msgid "Bouncing Snowball" msgstr "Bola de Neve Saltitante" @@ -2317,9 +2330,9 @@ msgstr "Áreas secretas" msgid "Unknown object" msgstr "Objeto desconhecido" -#: src/supertux/sector.cpp:481 +#: src/supertux/sector.cpp:507 msgid "Press escape to skip" -msgstr "Prime Escape para ignorar" +msgstr "Premir Escape para ignorar" #: src/supertux/command_line_arguments.cpp:92 #, c++-format @@ -2483,11 +2496,11 @@ msgstr " PASTA_DO_UTILIZADOR_SUPERTUX2 Pasta para os ficheiros de dad msgid " SUPERTUX2_DATA_DIR Directory for the games datafiles" msgstr " PASTA__DE_DADOS_SUPERTUX2 Pasta para os ficheiros de dados do jogo" -#: src/supertux/title_screen.cpp:257 +#: src/supertux/title_screen.cpp:272 msgid "Copyright" msgstr "Direitos de autor" -#: src/supertux/title_screen.cpp:258 +#: src/supertux/title_screen.cpp:273 msgid "" "This game comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to\n" "redistribute it under certain conditions; see the license file for details.\n" @@ -2837,6 +2850,7 @@ msgstr "Aplicar uma trapaça ao jogador" #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:39 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:60 #: src/supertux/menu/multiplayer_players_menu.cpp:39 +#: src/supertux/menu/keyboard_menu.cpp:63 #: src/supertux/menu/cheat_apply_menu.cpp:39 #: src/supertux/menu/cheat_apply_menu.cpp:59 #: src/supertux/menu/multiplayer_player_menu.cpp:37 @@ -2850,76 +2864,76 @@ msgstr "Jogador {}" msgid "All Players" msgstr "Todos os jogadores" -#: src/supertux/menu/worldmap_cheat_menu.cpp:35 +#: src/supertux/menu/worldmap_cheat_menu.cpp:36 #: src/supertux/menu/cheat_menu.cpp:31 msgid "Cheats" msgstr "Batotas" -#: src/supertux/menu/worldmap_cheat_menu.cpp:37 +#: src/supertux/menu/worldmap_cheat_menu.cpp:38 #: src/supertux/menu/cheat_menu.cpp:33 msgid "Bonus: Grow" msgstr "Bónus: crescer" -#: src/supertux/menu/worldmap_cheat_menu.cpp:38 +#: src/supertux/menu/worldmap_cheat_menu.cpp:39 #: src/supertux/menu/cheat_menu.cpp:34 msgid "Bonus: Fire" msgstr "Bónus: fogo" -#: src/supertux/menu/worldmap_cheat_menu.cpp:39 +#: src/supertux/menu/worldmap_cheat_menu.cpp:40 #: src/supertux/menu/cheat_menu.cpp:35 msgid "Bonus: Ice" msgstr "Bónus: gelo" -#: src/supertux/menu/worldmap_cheat_menu.cpp:40 +#: src/supertux/menu/worldmap_cheat_menu.cpp:41 #: src/supertux/menu/cheat_menu.cpp:36 msgid "Bonus: Air" msgstr "Bónus: ar" -#: src/supertux/menu/worldmap_cheat_menu.cpp:41 +#: src/supertux/menu/worldmap_cheat_menu.cpp:42 #: src/supertux/menu/cheat_menu.cpp:37 msgid "Bonus: Earth" msgstr "Bónus: terra" -#: src/supertux/menu/worldmap_cheat_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_menu.cpp:43 msgid "Bonus: None" msgstr "Bónus: nenhum" -#: src/supertux/menu/worldmap_cheat_menu.cpp:45 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 #: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:51 msgid "Leave Ghost Mode" msgstr "Sair do modo fantasma" -#: src/supertux/menu/worldmap_cheat_menu.cpp:45 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 #: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:50 msgid "Activate Ghost Mode" msgstr "Ativar modo fantasma" -#: src/supertux/menu/worldmap_cheat_menu.cpp:47 +#: src/supertux/menu/worldmap_cheat_menu.cpp:48 #: src/supertux/menu/cheat_menu.cpp:41 msgid "Finish Level" msgstr "Completar o nível" -#: src/supertux/menu/worldmap_cheat_menu.cpp:48 +#: src/supertux/menu/worldmap_cheat_menu.cpp:49 msgid "Reset Level" msgstr "Reiniciar o nível" -#: src/supertux/menu/worldmap_cheat_menu.cpp:50 +#: src/supertux/menu/worldmap_cheat_menu.cpp:51 msgid "Finish Worldmap" msgstr "Terminar mapa-mundo" -#: src/supertux/menu/worldmap_cheat_menu.cpp:51 +#: src/supertux/menu/worldmap_cheat_menu.cpp:52 msgid "Reset Worldmap" msgstr "Repor mapa-mundo" -#: src/supertux/menu/worldmap_cheat_menu.cpp:53 +#: src/supertux/menu/worldmap_cheat_menu.cpp:54 msgid "Go to level" msgstr "Ir para o nível" -#: src/supertux/menu/worldmap_cheat_menu.cpp:54 +#: src/supertux/menu/worldmap_cheat_menu.cpp:55 msgid "Go to main spawnpoint" msgstr "Ir para o ponto de partida" -#: src/supertux/menu/worldmap_cheat_menu.cpp:187 +#: src/supertux/menu/worldmap_cheat_menu.cpp:188 msgid "Select level" msgstr "Selecionar nível" @@ -3051,7 +3065,7 @@ msgid "This feature is currently only used in the multiplayer options menu." msgstr "Atualmente, esta funcionalidade só é utilizada no menu de opções multijogador." #: src/supertux/menu/options_menu.cpp:154 -#: src/supertux/menu/keyboard_menu.cpp:32 +#: src/supertux/menu/keyboard_menu.cpp:34 msgid "Setup Keyboard" msgstr "Configurar teclas" @@ -3445,23 +3459,28 @@ msgid "" "continue?" msgstr "Isto vai levar-te à página de donativos do SuperTux. Tens a certeza de que queres continuar?" -#: src/supertux/menu/editor_sector_menu.cpp:35 +#: src/supertux/menu/editor_sector_menu.cpp:34 +#, c++-format +msgid "Sector {}" +msgstr "Sector {}" + +#: src/supertux/menu/editor_sector_menu.cpp:37 msgid "Initialization script" msgstr "Script de inicialização" -#: src/supertux/menu/editor_sector_menu.cpp:36 +#: src/supertux/menu/editor_sector_menu.cpp:38 msgid "Gravity" msgstr "Gravidade" -#: src/supertux/menu/editor_sector_menu.cpp:41 +#: src/supertux/menu/editor_sector_menu.cpp:43 msgid "Resize offset X" msgstr "Desvio ao redimensionar (X)" -#: src/supertux/menu/editor_sector_menu.cpp:42 +#: src/supertux/menu/editor_sector_menu.cpp:44 msgid "Resize offset Y" msgstr "Desvio ao redimensionar (Y)" -#: src/supertux/menu/editor_sector_menu.cpp:43 +#: src/supertux/menu/editor_sector_menu.cpp:45 msgid "Resize" msgstr "Redimensionar" @@ -3749,122 +3768,118 @@ msgstr "Os nomes dos perfis devem ter um máximo de 20 caracteres.\nPor favor, e msgid "An error occurred while creating the profile." msgstr "Ocorreu um erro ao criar o perfil." -#: src/supertux/menu/keyboard_menu.cpp:34 +#: src/supertux/menu/keyboard_menu.cpp:36 #: src/supertux/menu/joystick_menu.cpp:71 msgid "Up" msgstr "Cima" -#: src/supertux/menu/keyboard_menu.cpp:35 +#: src/supertux/menu/keyboard_menu.cpp:37 #: src/supertux/menu/joystick_menu.cpp:72 msgid "Down" msgstr "Baixo" -#: src/supertux/menu/keyboard_menu.cpp:38 +#: src/supertux/menu/keyboard_menu.cpp:40 #: src/supertux/menu/joystick_menu.cpp:75 msgid "Jump" msgstr "Saltar" -#: src/supertux/menu/keyboard_menu.cpp:41 +#: src/supertux/menu/keyboard_menu.cpp:43 #: src/supertux/menu/joystick_menu.cpp:78 msgid "Peek Left" msgstr "Espreitar à esquerda" -#: src/supertux/menu/keyboard_menu.cpp:42 +#: src/supertux/menu/keyboard_menu.cpp:44 #: src/supertux/menu/joystick_menu.cpp:79 msgid "Peek Right" msgstr "Espreitar à direita" -#: src/supertux/menu/keyboard_menu.cpp:43 +#: src/supertux/menu/keyboard_menu.cpp:45 #: src/supertux/menu/joystick_menu.cpp:80 msgid "Peek Up" msgstr "Espreitar para cima" -#: src/supertux/menu/keyboard_menu.cpp:44 +#: src/supertux/menu/keyboard_menu.cpp:46 #: src/supertux/menu/joystick_menu.cpp:81 msgid "Peek Down" msgstr "Espreitar para baixo" -#: src/supertux/menu/keyboard_menu.cpp:49 +#: src/supertux/menu/keyboard_menu.cpp:51 #: src/supertux/menu/joystick_menu.cpp:83 msgid "Console" msgstr "Consola" -#: src/supertux/menu/keyboard_menu.cpp:50 +#: src/supertux/menu/keyboard_menu.cpp:52 #: src/supertux/menu/joystick_menu.cpp:84 msgid "Cheat Menu" msgstr "Menu de batotas" -#: src/supertux/menu/keyboard_menu.cpp:51 +#: src/supertux/menu/keyboard_menu.cpp:53 #: src/supertux/menu/joystick_menu.cpp:85 msgid "Debug Menu" msgstr "Menu de depuração de erros" -#: src/supertux/menu/keyboard_menu.cpp:54 +#: src/supertux/menu/keyboard_menu.cpp:56 #: src/supertux/menu/joystick_menu.cpp:87 msgid "Jump with Up" msgstr "Saltar com a seta cima" -#: src/supertux/menu/keyboard_menu.cpp:61 -msgid "Player" -msgstr "Jogador" - -#: src/supertux/menu/keyboard_menu.cpp:79 +#: src/supertux/menu/keyboard_menu.cpp:82 msgid "Up cursor" msgstr "Seta cima" -#: src/supertux/menu/keyboard_menu.cpp:81 +#: src/supertux/menu/keyboard_menu.cpp:84 msgid "Down cursor" msgstr "Seta baixo" -#: src/supertux/menu/keyboard_menu.cpp:83 +#: src/supertux/menu/keyboard_menu.cpp:86 msgid "Left cursor" msgstr "Seta direita" -#: src/supertux/menu/keyboard_menu.cpp:85 +#: src/supertux/menu/keyboard_menu.cpp:88 msgid "Right cursor" msgstr "Seta esquerda" -#: src/supertux/menu/keyboard_menu.cpp:87 +#: src/supertux/menu/keyboard_menu.cpp:90 msgid "Return" msgstr "Enter" -#: src/supertux/menu/keyboard_menu.cpp:89 +#: src/supertux/menu/keyboard_menu.cpp:92 msgid "Space" msgstr "Espaço" -#: src/supertux/menu/keyboard_menu.cpp:91 +#: src/supertux/menu/keyboard_menu.cpp:94 msgid "Right Shift" msgstr "SHIFT direito" -#: src/supertux/menu/keyboard_menu.cpp:93 +#: src/supertux/menu/keyboard_menu.cpp:96 msgid "Left Shift" msgstr "SHIFT esquerdo" -#: src/supertux/menu/keyboard_menu.cpp:95 +#: src/supertux/menu/keyboard_menu.cpp:98 msgid "Right Control" msgstr "CTRL direito" -#: src/supertux/menu/keyboard_menu.cpp:97 +#: src/supertux/menu/keyboard_menu.cpp:100 msgid "Left Control" msgstr "CTRL esquerdo" -#: src/supertux/menu/keyboard_menu.cpp:99 +#: src/supertux/menu/keyboard_menu.cpp:102 msgid "Right Alt" msgstr "ALT direito" -#: src/supertux/menu/keyboard_menu.cpp:101 +#: src/supertux/menu/keyboard_menu.cpp:104 msgid "Left Alt" msgstr "ALT esquerdo" -#: src/supertux/menu/keyboard_menu.cpp:103 +#: src/supertux/menu/keyboard_menu.cpp:106 msgid "Right Command" msgstr "Comando direito" -#: src/supertux/menu/keyboard_menu.cpp:105 +#: src/supertux/menu/keyboard_menu.cpp:108 msgid "Left Command" msgstr "Comando esquerdo" -#: src/supertux/menu/keyboard_menu.cpp:119 +#: src/supertux/menu/keyboard_menu.cpp:122 msgid "Press Key" msgstr "Carrega na tecla" @@ -3945,13 +3960,16 @@ msgstr "Pausa" msgid "Leave World" msgstr "Sair do mundo" -#: src/supertux/menu/download_dialog.cpp:41 +#: src/supertux/menu/download_dialog.cpp:42 msgid "Abort Download" msgstr "Abortar descarga" -#: src/supertux/menu/download_dialog.cpp:58 -msgid "Error:\n" -msgstr "Erro:\n" +#: src/supertux/menu/download_dialog.cpp:59 +#, c++-format +msgid "" +"Error:\n" +"{}" +msgstr "Erro:\n{}" #: src/supertux/menu/cheat_menu.cpp:38 msgid "Bonus: Star" @@ -4046,7 +4064,7 @@ msgstr "Opções do nível" msgid "Author" msgstr "Autor" -#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1254 +#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1253 msgid "Contact" msgstr "Contacto" @@ -4220,6 +4238,9 @@ msgid "" "F6 = Render Light\n" "F7 = Grid Snapping\n" "F8 = Show Grid\n" +"Ctrl++ or Ctrl+Scroll Up = Zoom In\n" +"Ctrl+- or Ctrl+Scroll Down = Zoom Out\n" +"Ctrl+D = Reset Zoom\n" "\n" "Scripting Shortcuts:\n" " ------------- \n" @@ -4235,7 +4256,7 @@ msgid "" "Ctrl+D = Duplicate line\n" "Ctrl+Z = Undo\n" "Ctrl+Y = Redo" -msgstr "Atalhos de teclado:\n---------------------\nEsc = Abrir menu\nCtrl+S = Guardar\nCtrl+T = Testar\nCtrl+Z = Desfazer\nCtrl+Y = Refazer\nF6 = Renderizar luz\nF7 = Encaixar da grelha\nF8 = Mostrar grelha\n\nAtalhos de scripting:\n ------------- \nHome = Ir para o início da linha\nEnd = Ir para o fim da linha\nSeta esquerda = Retroceder no texto\nSeta direita = Avançar no texto\nBackspace = Apagar à frente do cursor de texto\nDelete = Apagar atrás do cursor de texto\nCtrl+X = Recortar linha inteira\nCtrl+C = Copiar linha inteiraInício = Ir para o início da linha\nFim = Ir para o fim da linha\nSeta para a esquerda = Retroceder no texto\nSeta para a direita = Avançar no texto\nBackspace = Apagar à frente do cursor de texto\nApagar = Apagar atrás do cursor de texto\nCtrl+X = Cortar linha inteira\nCtrl+C = Copiar linha inteira\nCtrl+V = Colar\nCtrl+D = Duplicar linha\nCtrl+Z = Desfazer\nCtrl+Y = Refazer\nCtrl+V = Colar\nCtrl+D = Duplicar linha\nCtrl+Z = Desfazer\nCtrl+Y = Refazer" +msgstr "Atalhos de teclado:\n---------------------\nEsc = Abrir menu\nCtrl+S = Guardar\nCtrl+T = Testae\nCtrl+Z = Desfazer\nCtrl+Y = Refazer\nF6 = Renderizar luz\nF7 = Atração à grelha\nF8 = Mostrar grelha\nCtrl++ ou Ctrl+Scroll Up = Ampliar\nCtrl+- ou Ctrl+Scroll Down = Diminuir\nCtrl+D = Repor o zoom\n\nAtalhos de scripting:\n ------------- \nHome = Ir para o início da linha\nEnd = Ir para o fim da linha\nSeta para a esquerda = Retroceder no texto\nSeta para a direita = Avançar no texto\nBackspace = Apagar à frente do cursor de texto\nDelete = Apagar atrás do cursor de texto\nCtrl+X = Cortar linha inteira\nCtrl+C = Copiar linha inteira\nCtrl+V = Colar\nCtrl+D = Duplicar linha\nCtrl+Z = Desfazer\nCtrl+Y = Refazer" #: src/supertux/menu/editor_menu.cpp:232 msgid "Deprecated tiles are still present in the level." @@ -4339,12 +4360,12 @@ msgstr "baixo" msgid "Region" msgstr "Região" -#: src/supertux/main.cpp:796 +#: src/supertux/main.cpp:801 #, c++-format msgid "New release: SuperTux v{}!" msgstr "Nova versão: SuperTux v{}!" -#: src/supertux/main.cpp:799 +#: src/supertux/main.cpp:804 #, c++-format msgid "" "A new release of SuperTux (v{}) is available!\n" @@ -4353,7 +4374,7 @@ msgid "" "Do you want to visit the website now?" msgstr "Está disponível uma nova versão do SuperTux (v{})!\nPara mais informações, podes visitar o site do SuperTux.\n\nQueres visitar o site agora?" -#: src/supertux/main.cpp:810 +#: src/supertux/main.cpp:815 msgid "Checking for new releases..." msgstr "A verificar se há novas versões..." @@ -4467,6 +4488,11 @@ msgstr "Pingue-pongue" msgid "Circular" msgstr "Circular" +#: src/editor/layers_widget.cpp:331 +#, c++-format +msgid "Sector: {}" +msgstr "Sector: {}" + #: src/editor/object_option.cpp:92 msgid "true" msgstr "sim" @@ -4573,11 +4599,11 @@ msgstr "Destruir" #: src/editor/particle_editor.cpp:215 msgid "Stick to surface" -msgstr "Grudar à superfície" +msgstr "Colar à superfície" #: src/editor/particle_editor.cpp:216 msgid "Stick and stay" -msgstr "Grudar e ficar" +msgstr "Colar e ficar" #: src/editor/particle_editor.cpp:217 msgid "No collision" @@ -4633,18 +4659,18 @@ msgstr "As configurações desta partícula contêm alterações não guardadas; msgid "Save as" msgstr "Guardar como" -#: src/editor/editor.cpp:552 +#: src/editor/editor.cpp:577 msgid "" "This level contains deprecated tiles.\n" "It is strongly recommended to replace all deprecated tiles\n" "to avoid loss of compatibility in future versions." msgstr "Este nível contém peças obsoletas.\nRecomenda-se vivamente a substituição de todas as peças obsoletas\npara evitar a perda de compatibilidade em versões futuras." -#: src/editor/editor.cpp:554 +#: src/editor/editor.cpp:579 msgid "Tip: Turn on \"Show Deprecated Tiles\" from the level editor menu." msgstr "Dica: ativa a opção \"Mostrar peças obsoletas\" no menu do editor de níveis." -#: src/editor/editor.cpp:601 +#: src/editor/editor.cpp:626 msgid "" "Don't forget that your levels and assets\n" "aren't saved between sessions!\n" @@ -4652,15 +4678,15 @@ msgid "" "from the \"Manage Assets\" menu." msgstr "Não te esqueças de que os teus níveis e recursos\nnão são guardados entre sessões!\nSe quiseres manter os teus níveis, descarrega-os\nno menu \"Gerir recursos\"." -#: src/editor/editor.cpp:636 +#: src/editor/editor.cpp:661 msgid "This level contains unsaved changes, do you want to save?" msgstr "Este nível contém alterações não guardadas; queres guardar?" -#: src/editor/editor.cpp:637 +#: src/editor/editor.cpp:662 msgid "This level may contain unsaved changes, do you want to save?" msgstr "Este nível pode conter alterações não guardadas, pretendes guardar?" -#: src/editor/editor.cpp:772 +#: src/editor/editor.cpp:797 msgid "" "Some obsolete add-ons are still active\n" "and might cause collisions with default Super Tux structure.\n" @@ -4668,26 +4694,26 @@ msgid "" "Disabling these add-ons will not delete your game progress." msgstr "Ainda estão disponíveis algumas extensões antigas\nque podem colidir com a estrutura padrão do SuperTux.\nAinda podes ativar estas extensões no menu.\nDesativar estas extensões não eliminará o teu progresso no jogo." -#: src/editor/editor.cpp:775 +#: src/editor/editor.cpp:800 msgid "Disable add-ons" msgstr "Desativar extensões" -#: src/editor/editor.cpp:780 +#: src/editor/editor.cpp:805 msgid "Ignore (not advised)" msgstr "Ignorar (não recomendado)" -#: src/editor/editor.cpp:784 +#: src/editor/editor.cpp:809 msgid "Leave editor" msgstr "Sair do editor" -#: src/editor/editor.cpp:985 +#: src/editor/editor.cpp:1023 msgid "" "Couldn't find a \"main\" sector.\n" "Please change the name of the sector where\n" "you'd like the player to start to \"main\"" msgstr "Não foi possível encontrar um setor \"principal\".\nPor favor, altera o nome do setor onde queres\nque o jogador comece para \"main\"" -#: src/editor/editor.cpp:989 +#: src/editor/editor.cpp:1027 msgid "" "Couldn't find a \"main\" spawnpoint.\n" " Please change the name of the spawnpoint where\n" @@ -4699,49 +4725,40 @@ msgid "Patch Notes" msgstr "Notas de atualização" #: src/editor/object_menu.cpp:84 -msgid "This will update the object to its latest functionality." -msgstr "Isto irá atualizar o objeto para a sua funcionalidade mais recente." - -#: src/editor/object_menu.cpp:85 -msgid "Check the \"Patch Notes\" for more information." -msgstr "Para mais informações, consulta as \"Notas de atualização\"." - -#: src/editor/object_menu.cpp:86 msgid "" -"Keep in mind this is very likely to break the proper behaviour of the " -"object." -msgstr "Não te esqueças que é muito provável que isto quebre o comportamento correto do objeto." - -#: src/editor/object_menu.cpp:87 -msgid "Make sure to re-check any behaviour, related to the object." -msgstr "Certifica-te que voltas a verificar qualquer comportamento relacionado com o objeto." +"This will update the object to its latest functionality.\n" +"Check the \"Patch Notes\" for more information.\n" +"\n" +"Keep in mind this is very likely to break the proper behaviour of the object.\n" +"Make sure to re-check any behaviour, related to the object." +msgstr "Isto irá atualizar o objeto para a sua funcionalidade mais recente.\nConsulta as \"Notas de atualização\" para obteres mais informações.\n\nNão te esqueças que é muito provável que este procedimento interrompa o comportamento correto do objeto.\nCertifica-te que voltas a verificar qualquer comportamento relacionado com o objeto." -#: src/editor/object_menu.cpp:101 +#: src/editor/object_menu.cpp:98 #, c++-format msgid "Patch notes for v{}:" msgstr "Notas de atualização de v{}:" -#: src/editor/overlay_widget.cpp:1063 +#: src/editor/overlay_widget.cpp:1062 msgid "Cannot select deprecated tiles" msgstr "Não é possível selecionar peças obsoletas" -#: src/editor/overlay_widget.cpp:1555 +#: src/editor/overlay_widget.cpp:1567 msgid "Autotile mode is on" msgstr "Modo autopeça está ativo" -#: src/editor/overlay_widget.cpp:1559 +#: src/editor/overlay_widget.cpp:1571 msgid "Hold Ctrl to enable autotile" msgstr "Mantém premida a tecla Ctrl para ativar o autopeça" -#: src/editor/overlay_widget.cpp:1566 +#: src/editor/overlay_widget.cpp:1578 msgid "Autotile erasing mode is on" msgstr "Modo borracha de autopeças está ativo" -#: src/editor/overlay_widget.cpp:1570 +#: src/editor/overlay_widget.cpp:1582 msgid "Selected tile isn't autotileable" msgstr "Peça selecionada incompatível com autopeça" -#: src/editor/overlay_widget.cpp:1575 +#: src/editor/overlay_widget.cpp:1587 msgid "Hold Ctrl to enable autotile erasing" msgstr "Mantém premida a tecla Ctrl para ativar a borracha de autopeças" @@ -4750,8 +4767,8 @@ msgid "Current SuperTux Team" msgstr "Atual equipa do SuperTux" #: data//credits.stxt:30 -msgid "Programming, project lead ad interim" -msgstr "Programação, líder interino do projeto" +msgid "Maintainer, Programming" +msgstr "Manutenção, Programação" #: data//credits.stxt:35 msgid "Graphics, Level Design, Story" @@ -4761,12 +4778,12 @@ msgstr "Gráficos, Design de Níveis, Estória" msgid "Level Design, Story, Optimisation, Coordination" msgstr "Design de Níveis, Estória, Otimização, Coordenação" -#: data//credits.stxt:45 data//credits.stxt:125 data//credits.stxt:211 -#: data//credits.stxt:539 +#: data//credits.stxt:45 data//credits.stxt:120 data//credits.stxt:206 +#: data//credits.stxt:538 msgid "Graphics" msgstr "Gráficos" -#: data//credits.stxt:50 data//credits.stxt:107 data//credits.stxt:113 +#: data//credits.stxt:50 data//credits.stxt:102 data//credits.stxt:108 msgid "Graphics, Programming, Level Design" msgstr "Gráficos, Programação, Design de Níveis" @@ -4786,248 +4803,248 @@ msgstr "Programação, Atualização de níveis" msgid "Graphics, Programming" msgstr "Gráficos, Programação" -#: data//credits.stxt:75 data//credits.stxt:90 data//credits.stxt:155 -#: data//credits.stxt:160 data//credits.stxt:165 data//credits.stxt:170 -#: data//credits.stxt:185 data//credits.stxt:190 data//credits.stxt:535 -#: data//credits.stxt:547 +#: data//credits.stxt:75 data//credits.stxt:85 data//credits.stxt:150 +#: data//credits.stxt:155 data//credits.stxt:160 data//credits.stxt:165 +#: data//credits.stxt:180 data//credits.stxt:185 data//credits.stxt:534 +#: data//credits.stxt:546 msgid "Programming" msgstr "Programação" -#: data//credits.stxt:80 data//credits.stxt:85 data//credits.stxt:271 +#: data//credits.stxt:80 data//credits.stxt:266 msgid "Level Design" msgstr "Design de Níveis" -#: data//credits.stxt:96 +#: data//credits.stxt:91 msgid "Original Developers" msgstr "Criadores Originais" -#: data//credits.stxt:101 +#: data//credits.stxt:96 msgid "Original Developer" msgstr "Criador Original" -#: data//credits.stxt:119 +#: data//credits.stxt:114 msgid "Music, Level Design" msgstr "Música, Design de Níveis" -#: data//credits.stxt:131 +#: data//credits.stxt:126 msgid "Programming, Graphics, Level Design" msgstr "Programação, Gráficos, Design de Níveis" -#: data//credits.stxt:137 +#: data//credits.stxt:132 msgid "Programming, Level Design" msgstr "Programação, Design de Níveis" -#: data//credits.stxt:143 +#: data//credits.stxt:138 msgid "Graphics, Story" msgstr "Gráficos, Estória" -#: data//credits.stxt:149 +#: data//credits.stxt:144 msgid "Programming, Documentation" msgstr "Programação, Documentação" -#: data//credits.stxt:175 +#: data//credits.stxt:170 msgid "Coordination" msgstr "Coordenação" -#: data//credits.stxt:180 +#: data//credits.stxt:175 msgid "Programming, \"Flexlay\" Level editor" msgstr "Programação, Editor do nível \"Flexlay\"" -#: data//credits.stxt:195 +#: data//credits.stxt:190 msgid "Windows build fixes" msgstr "Correções nos lançamentos para Windows" -#: data//credits.stxt:200 +#: data//credits.stxt:195 msgid "Packaging, Nightly builds" msgstr "Empacotamento, Lançamentos noturnos" -#: data//credits.stxt:205 +#: data//credits.stxt:200 msgid "Translation Guru (and many details anyone else could have done)" msgstr "Guru da Tradução (e muitos detalhes que qualquer um podia ter feito)" -#: data//credits.stxt:451 +#: data//credits.stxt:450 msgid "Additional contributors" msgstr "Contribuidores adicionais" -#: data//credits.stxt:456 +#: data//credits.stxt:455 msgid "Bug fixes" msgstr "Correção de Erros" -#: data//credits.stxt:460 +#: data//credits.stxt:459 msgid "Scripting functions, Level fixes" msgstr "Funções de scripts, Correção nos níveis" -#: data//credits.stxt:464 +#: data//credits.stxt:463 msgid "Code quality fixes" msgstr "Correções de qualidade do código" -#: data//credits.stxt:468 data//credits.stxt:472 data//credits.stxt:476 -#: data//credits.stxt:503 +#: data//credits.stxt:467 data//credits.stxt:471 data//credits.stxt:475 +#: data//credits.stxt:502 msgid "Various contributions" msgstr "Várias contribuições" -#: data//credits.stxt:480 +#: data//credits.stxt:479 msgid "Build issue fix" msgstr "Correção de erros nos lançamentos" -#: data//credits.stxt:484 data//credits.stxt:488 +#: data//credits.stxt:483 data//credits.stxt:487 msgid "Code contributions" msgstr "Contribuições de código" -#: data//credits.stxt:491 +#: data//credits.stxt:490 msgid "Code contribution, AppData file" msgstr "Contribuição para o código, ficheiro AppData" -#: data//credits.stxt:495 +#: data//credits.stxt:494 msgid "Bug fix" msgstr "Correção de erros" -#: data//credits.stxt:499 +#: data//credits.stxt:498 msgid "Menu reorganization" msgstr "Reorganização do menu" -#: data//credits.stxt:507 +#: data//credits.stxt:506 msgid "Fixing tile bugs" msgstr "Correção de falhas em peças" -#: data//credits.stxt:511 +#: data//credits.stxt:510 msgid "Build error fix" msgstr "Correção de erros nos lançamentos" -#: data//credits.stxt:515 +#: data//credits.stxt:514 msgid "Scripting function fix" msgstr "Correção nas funções de scripts" -#: data//credits.stxt:519 +#: data//credits.stxt:518 msgid "New features and notable updates" msgstr "Novos recursos e atualizações notórias" -#: data//credits.stxt:523 +#: data//credits.stxt:522 msgid "Support for \"glbinding\" as optional OpenGL binding" msgstr "Suporte para \"glbinding\" como ligação opcional ao OpenGL" -#: data//credits.stxt:527 +#: data//credits.stxt:526 msgid "New menu code" msgstr "Novo código do menu" -#: data//credits.stxt:531 +#: data//credits.stxt:530 msgid "Big Tux Walking Sprites improvements" msgstr "Grandes melhorias nas imagens (sprites) do Tux a andar" -#: data//credits.stxt:543 data//credits.stxt:551 +#: data//credits.stxt:542 data//credits.stxt:550 msgid "Contrib Programming" msgstr "Contribuição de Programação" -#: data//credits.stxt:555 +#: data//credits.stxt:554 msgid "Programming, Previous Maintainer" msgstr "Programação, Responsável Anterior pela Manutenção" -#: data//credits.stxt:559 +#: data//credits.stxt:558 msgid "Various Contributions" msgstr "Várias Contribuições" -#: data//credits.stxt:563 data//credits.stxt:567 data//credits.stxt:571 -#: data//credits.stxt:575 data//credits.stxt:579 data//credits.stxt:583 -#: data//credits.stxt:587 data//credits.stxt:591 data//credits.stxt:595 -#: data//credits.stxt:599 data//credits.stxt:603 data//credits.stxt:607 -#: data//credits.stxt:611 data//credits.stxt:615 data//credits.stxt:619 -#: data//credits.stxt:623 data//credits.stxt:627 data//credits.stxt:631 -#: data//credits.stxt:635 data//credits.stxt:639 data//credits.stxt:643 -#: data//credits.stxt:647 data//credits.stxt:651 data//credits.stxt:655 -#: data//credits.stxt:659 data//credits.stxt:663 +#: data//credits.stxt:562 data//credits.stxt:566 data//credits.stxt:570 +#: data//credits.stxt:574 data//credits.stxt:578 data//credits.stxt:582 +#: data//credits.stxt:586 data//credits.stxt:590 data//credits.stxt:594 +#: data//credits.stxt:598 data//credits.stxt:602 data//credits.stxt:606 +#: data//credits.stxt:610 data//credits.stxt:614 data//credits.stxt:618 +#: data//credits.stxt:622 data//credits.stxt:626 data//credits.stxt:630 +#: data//credits.stxt:634 data//credits.stxt:638 data//credits.stxt:642 +#: data//credits.stxt:646 data//credits.stxt:650 data//credits.stxt:654 +#: data//credits.stxt:658 data//credits.stxt:662 msgid "Contributions" msgstr "Contribuições" -#: data//credits.stxt:669 +#: data//credits.stxt:668 msgid "Localization" msgstr "Localização" -#: data//credits.stxt:1232 +#: data//credits.stxt:1231 msgid " Special Thanks to" msgstr "Agradecimento especial a" -#: data//credits.stxt:1237 +#: data//credits.stxt:1236 msgid "Creator of Tux, the Linux penguin" msgstr "Criador do tux, o Pinguim do Linux" -#: data//credits.stxt:1241 +#: data//credits.stxt:1240 msgid "SDL, OpenAL and OpenGL" msgstr "SDL, OpenAL e OpenGL" -#: data//credits.stxt:1242 +#: data//credits.stxt:1241 msgid "" "For making such a great gaming experience\n" " possible on Linux" msgstr "Por fazer uma fantástica experiência de jogo\n possível no Linux" -#: data//credits.stxt:1247 +#: data//credits.stxt:1246 msgid "and you, the player" msgstr "e a ti, o jogador" -#: data//credits.stxt:1248 +#: data//credits.stxt:1247 msgid "for giving this game a chance and playing it" msgstr "por dares uma oportunidade a este jogo e o jogares" -#: data//credits.stxt:1259 +#: data//credits.stxt:1258 msgid "Visit our webpage at" msgstr "Visita a nossa página web em" -#: data//credits.stxt:1268 +#: data//credits.stxt:1267 msgid "Or visit us directly at IRC:" msgstr "Ou visita-nos diretamente no IRC:" -#: data//credits.stxt:1272 +#: data//credits.stxt:1271 msgid "#supertux at web.libera.chat" msgstr "#supertux em web.libera.chat" -#: data//credits.stxt:1277 +#: data//credits.stxt:1276 msgid "Or at our Forum:" msgstr "Ou no nosso Fórum:" -#: data//credits.stxt:1286 +#: data//credits.stxt:1285 msgid "Comments, ideas and suggestions" msgstr "Comentários, ideias e sugestões" -#: data//credits.stxt:1290 +#: data//credits.stxt:1289 msgid "go to our mailing list" msgstr "consulta a nossa lista de discussão" #. l10n: typo contact -#: data//credits.stxt:1300 +#: data//credits.stxt:1299 msgid "Typographical errors can be" msgstr "Os erros tipográficos podem ser" #. l10n: typo contact -#: data//credits.stxt:1305 +#: data//credits.stxt:1304 msgid "reported to" msgstr "reportados para" #. l10n: typo contact, see -#: data//credits.stxt:1310 +#: data//credits.stxt:1309 msgid "supertux-devel@lists.lethargik.org" msgstr "supertux-devel@lists.lethargik.org" -#: data//credits.stxt:1317 +#: data//credits.stxt:1316 msgid "Want to help…" msgstr "Queres ajudar…" -#: data//credits.stxt:1322 +#: data//credits.stxt:1321 msgid "…with localization?" msgstr "...com a tradução?" -#: data//credits.stxt:1332 +#: data//credits.stxt:1331 msgid "…with something else?" msgstr "...ou com outra coisa qualquer?" -#: data//credits.stxt:1343 +#: data//credits.stxt:1342 msgid "Thank you for" msgstr "Obrigado por" -#: data//credits.stxt:1347 +#: data//credits.stxt:1346 msgid "playing" msgstr "jogares" -#: data//credits.stxt:1357 +#: data//credits.stxt:1356 msgid "Penny awaits you in warmer temperatures!" msgstr "A Penny espera-te em temperaturas mais quentes!" @@ -5035,15 +5052,15 @@ msgstr "A Penny espera-te em temperaturas mais quentes!" msgid "Enemies" msgstr "Inimigos" -#: data//images/engine/editor/objects.stoi:159 +#: data//images/engine/editor/objects.stoi:162 msgid "Bosses" msgstr "Chefes" -#: data//images/engine/editor/objects.stoi:170 +#: data//images/engine/editor/objects.stoi:173 msgid "Projectiles" msgstr "Projéteis" -#: data//images/engine/editor/objects.stoi:181 +#: data//images/engine/editor/objects.stoi:184 msgid "Environment" msgstr "Ambiente" @@ -5061,7 +5078,7 @@ msgstr "Floresta Subterrânea" #: data//images/ice_world.strf:375 msgid "Trees & Bushes" -msgstr "Árvores & Arbustos" +msgstr "Árvores e arbustos" #: data//images/ice_world.strf:406 msgid "Seasonal" @@ -5146,3 +5163,19 @@ msgstr "Caminhos de castelo" #: data//images/worldmap.strf:135 msgid "Darker Forest" msgstr "Floresta Escura" + +#: data//images/converters/data.stcd:3 +msgid "Nightly Tiles" +msgstr "Mosaicos Noturnos" + +#: data//images/converters/data.stcd:5 +msgid "For levels, created in previous Nightly builds." +msgstr "Para níveis, criados em compilações noturnas anteriores." + +#: data//images/converters/data.stcd:8 +msgid "Pre-0.6.3 Crystal Tiles" +msgstr "Pre-0.6.3 Mosaicos de Cristal" + +#: data//images/converters/data.stcd:10 +msgid "For levels, created in pre-0.6.3 versions, which use crystal tiles." +msgstr "Para níveis, criados em versões anteriores à 0.6.3, que utilizam mosaicos de cristal." diff --git a/data/locale/pt_BR.po b/data/locale/pt_BR.po index 96bf9b3e4e8..f3a02e44603 100644 --- a/data/locale/pt_BR.po +++ b/data/locale/pt_BR.po @@ -7,12 +7,12 @@ # Caio César Tavares , 2021 # Daniela Ferraz , 2013 # Filipe Oliveira , 2013 -# Fúlvio Alves , 2020-2021,2023 +# Fúlvio Alves , 2020-2021,2023-2024 # Herval Ribeiro , 2006 # Jesusaves , 2019 # Jesusaves , 2020 # Jesusaves , 2016,2018 -# Jesusaves , 2021 +# Jesusaves , 2021,2024 # Joel Gil Leon , 2013 # Jesusaves , 2014-2015 # Rui , 2016,2018 @@ -22,9 +22,9 @@ msgid "" msgstr "" "Project-Id-Version: SuperTux\n" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" -"POT-Creation-Date: 2021-12-12 20:05+0100\n" +"POT-Creation-Date: 2024-05-30 16:19+0200\n" "PO-Revision-Date: 2013-08-10 22:56+0000\n" -"Last-Translator: Fúlvio Alves , 2020-2021,2023\n" +"Last-Translator: Jesusaves , 2021,2024\n" "Language-Team: Portuguese (Brazil) (http://app.transifex.com/arctic-games/supertux/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,124 +32,166 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: src/trigger/secretarea_trigger.cpp:53 src/trigger/secretarea_trigger.cpp:61 +#: src/trigger/secretarea_trigger.cpp:47 msgid "You found a secret area!" msgstr "Você achou uma área secreta!" -#: src/trigger/secretarea_trigger.cpp:77 src/supertux/game_object.cpp:90 -#: src/supertux/menu/editor_sector_menu.cpp:34 -#: src/supertux/menu/editor_levelset_menu.cpp:58 +#: src/trigger/secretarea_trigger.cpp:55 src/supertux/game_object.cpp:115 +#: src/supertux/menu/editor_sector_menu.cpp:36 +#: src/supertux/menu/editor_levelset_menu.cpp:52 #: src/supertux/menu/editor_new_levelset_menu.cpp:34 +#: src/supertux/menu/profile_name_menu.cpp:39 #: src/supertux/menu/editor_level_menu.cpp:33 msgid "Name" msgstr "Nome" -#: src/trigger/secretarea_trigger.cpp:78 +#: src/trigger/secretarea_trigger.cpp:56 msgid "Fade tilemap" msgstr "Esmaecer mapa de telas" -#: src/trigger/secretarea_trigger.cpp:79 src/trigger/climbable.cpp:81 -#: src/object/infoblock.cpp:57 src/editor/worldmap_objects.cpp:172 -#: src/editor/worldmap_objects.cpp:270 +#: src/trigger/secretarea_trigger.cpp:57 src/trigger/climbable.cpp:59 +#: src/object/infoblock.cpp:76 src/worldmap/teleporter.cpp:49 +#: src/worldmap/special_tile.cpp:74 msgid "Message" msgstr "Mensagem" -#: src/trigger/secretarea_trigger.cpp:80 src/trigger/scripttrigger.cpp:75 -#: src/trigger/door.cpp:73 src/object/ispy.cpp:67 -#: src/object/bonus_block.cpp:207 src/object/bonus_block.cpp:211 -#: src/object/pushbutton.cpp:51 src/object/powerup.cpp:190 -#: src/editor/worldmap_objects.cpp:272 +#: src/trigger/secretarea_trigger.cpp:58 src/trigger/scripttrigger.cpp:51 +#: src/trigger/door.cpp:79 src/object/ispy.cpp:53 +#: src/object/bonus_block.cpp:264 src/object/bonus_block.cpp:268 +#: src/object/pushbutton.cpp:62 src/object/powerup.cpp:301 +#: src/worldmap/special_tile.cpp:76 msgid "Script" msgstr "Script" -#: src/trigger/scripttrigger.cpp:76 src/object/pushbutton.hpp:31 +#: src/trigger/scripttrigger.cpp:52 src/object/pushbutton.hpp:32 msgid "Button" msgstr "Botão" -#: src/trigger/scripttrigger.cpp:77 +#: src/trigger/scripttrigger.cpp:53 msgid "Oneshot" msgstr "Um tiro" -#: src/trigger/sequence_trigger.hpp:33 +#: src/trigger/sequence_trigger.hpp:31 msgid "Sequence Trigger" msgstr "Gatilho de Sequência" -#: src/trigger/door.cpp:74 src/badguy/willowisp.cpp:320 -#: src/supertux/menu/editor_sector_menu.cpp:32 -#: src/editor/layers_widget.cpp:342 -#: data//images/engine/editor/objects.stoi:321 +#: src/trigger/text_area.cpp:141 +msgid "Once" +msgstr "Uma vez" + +#: src/trigger/text_area.cpp:142 +msgid "Text change time" +msgstr "Tempo de mudança do texto" + +#: src/trigger/text_area.cpp:143 +msgid "Fade time" +msgstr "Tempo de desvanecimento" + +#: src/trigger/text_area.cpp:144 src/object/textscroller.cpp:353 +msgid "Anchor" +msgstr "Âncora" + +#: src/trigger/text_area.cpp:148 +msgid "Anchor offset X" +msgstr "Deslocamento de âncora X" + +#: src/trigger/text_area.cpp:149 +msgid "Anchor offset Y" +msgstr "Deslocamento de âncora Y" + +#: src/trigger/text_area.cpp:150 +msgid "Texts" +msgstr "Textos" + +#: src/trigger/door.cpp:80 src/badguy/willowisp.cpp:311 +#: src/worldmap/teleporter.cpp:47 data//images/engine/editor/objects.stoi:342 msgid "Sector" msgstr "Setor" -#: src/trigger/door.cpp:75 src/editor/worldmap_objects.hpp:101 +#: src/trigger/door.cpp:81 src/worldmap/spawn_point.hpp:58 msgid "Spawn point" msgstr "Ponto de partida" -#: src/trigger/switch.cpp:61 src/object/block.cpp:224 src/object/torch.cpp:102 -#: src/object/moving_sprite.cpp:156 src/object/pneumatic_platform.cpp:146 -msgid "Sprite" -msgstr "Imagem" +#: src/trigger/door.cpp:82 +msgid "Locked?" +msgstr "Bloqueado?" + +#: src/trigger/door.cpp:83 +msgid "Lock Color" +msgstr "Bloquear cor" + +#: src/trigger/switch.cpp:62 src/object/ispy.cpp:54 src/object/bumper.cpp:53 +#: src/object/spotlight.cpp:106 src/object/pushbutton.cpp:61 +#: src/object/gradient.cpp:103 src/object/conveyor_belt.cpp:60 +#: src/badguy/badguy.cpp:1063 src/worldmap/spawn_point.cpp:79 +#: src/worldmap/special_tile.cpp:78 +msgid "Direction" +msgstr "Direção" -#: src/trigger/switch.cpp:62 +#: src/trigger/switch.cpp:65 msgid "Turn on script" msgstr "Script quando ligado" -#: src/trigger/switch.cpp:63 +#: src/trigger/switch.cpp:66 msgid "Turn off script" msgstr "Script quando desligado" -#: src/trigger/scripttrigger.hpp:32 +#: src/trigger/scripttrigger.hpp:29 msgid "Script Trigger" msgstr "Gatilho de Script" -#: src/trigger/sequence_trigger.cpp:75 +#: src/trigger/sequence_trigger.cpp:48 msgid "Sequence" msgstr "Sequência" -#: src/trigger/sequence_trigger.cpp:76 +#: src/trigger/sequence_trigger.cpp:49 msgid "end sequence" msgstr "sequência final" -#: src/trigger/sequence_trigger.cpp:76 +#: src/trigger/sequence_trigger.cpp:49 msgid "stop Tux" msgstr "parar o Tux" -#: src/trigger/sequence_trigger.cpp:76 +#: src/trigger/sequence_trigger.cpp:49 msgid "fireworks" msgstr "fogo de artifício" -#: src/trigger/sequence_trigger.cpp:80 +#: src/trigger/sequence_trigger.cpp:53 msgid "New worldmap spawnpoint" msgstr "Novo ponto de partida do mapa mundi" -#: src/trigger/sequence_trigger.cpp:81 +#: src/trigger/sequence_trigger.cpp:54 msgid "Worldmap fade tilemap" msgstr "Esmaecer mapa de telas do mapa-múndi" -#: src/trigger/sequence_trigger.cpp:82 +#: src/trigger/sequence_trigger.cpp:55 #: src/object/custom_particle_system.cpp:430 #: src/object/custom_particle_system.cpp:465 msgid "Fade" msgstr "Esmaecer" -#: src/trigger/sequence_trigger.cpp:83 src/editor/particle_editor.cpp:161 +#: src/trigger/sequence_trigger.cpp:56 src/editor/particle_editor.cpp:161 msgid "Fade in" msgstr "Esmaecer na entrada" -#: src/trigger/sequence_trigger.cpp:83 src/editor/particle_editor.cpp:167 +#: src/trigger/sequence_trigger.cpp:56 src/editor/particle_editor.cpp:167 #: src/editor/particle_editor.cpp:212 msgid "Fade out" msgstr "Esmaecer na saída" -#: src/trigger/climbable.hpp:37 +#: src/trigger/climbable.hpp:46 msgid "Climbable" msgstr "Escalável" -#: src/trigger/door.hpp:34 +#: src/trigger/text_area.hpp:47 +msgid "Text Area" +msgstr "Área de texto" + +#: src/trigger/door.hpp:31 msgid "Door" msgstr "Porta" -#: src/trigger/switch.hpp:33 +#: src/trigger/switch.hpp:30 msgid "Switch" msgstr "Interruptor" @@ -157,118 +199,194 @@ msgstr "Interruptor" msgid "Secret Area" msgstr "Área Secreta" -#: src/object/thunderstorm.hpp:40 +#: src/math/anchor_point.cpp:33 +msgid "Top Left" +msgstr "Superior esquerdo" + +#: src/math/anchor_point.cpp:34 +msgid "Top" +msgstr "Superior" + +#: src/math/anchor_point.cpp:35 +msgid "Top Right" +msgstr "Superior direito" + +#: src/math/anchor_point.cpp:36 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:38 +#: src/supertux/menu/joystick_menu.cpp:73 +msgid "Left" +msgstr "Esquerda" + +#: src/math/anchor_point.cpp:37 +msgid "Middle" +msgstr "Meio" + +#: src/math/anchor_point.cpp:38 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:39 +#: src/supertux/menu/joystick_menu.cpp:74 +msgid "Right" +msgstr "Direita" + +#: src/math/anchor_point.cpp:39 +msgid "Bottom Left" +msgstr "Inferior esquerdo" + +#: src/math/anchor_point.cpp:40 +msgid "Bottom" +msgstr "Inferior" + +#: src/math/anchor_point.cpp:41 +msgid "Bottom Right" +msgstr "Inferior direito" + +#: src/object/thunderstorm.hpp:44 msgid "Thunderstorm" msgstr "Tempestade" -#: src/object/cloud_particle_system.cpp:79 +#: src/object/cloud_particle_system.cpp:77 #: src/object/rain_particle_system.cpp:100 msgid "Intensity" msgstr "Intensidade" -#: src/object/custom_particle_system.hpp:45 +#: src/object/custom_particle_system.hpp:46 msgid "Custom Particles" msgstr "Partículas Customizadas" -#: src/object/ispy.cpp:66 -msgid "Facing Down" -msgstr "Olhando Para Baixo" - -#: src/object/ispy.cpp:68 src/object/spotlight.cpp:103 -#: src/object/gradient.cpp:137 src/badguy/willowisp.cpp:319 -#: src/badguy/badguy.cpp:848 src/editor/worldmap_objects.cpp:207 -#: src/editor/worldmap_objects.cpp:274 -msgid "Direction" -msgstr "Direção" - -#: src/object/particle_zone.hpp:39 +#: src/object/particle_zone.hpp:41 msgid "Particle zone" msgstr "Zona de Partículas" -#: src/object/path_gameobject.hpp:44 src/object/coin.cpp:301 -#: src/object/camera.cpp:224 src/object/platform.cpp:73 -#: src/object/path_gameobject.cpp:173 src/object/tilemap.cpp:246 -#: src/gui/menu_paths.cpp:52 src/badguy/willowisp.cpp:326 +#: src/object/path_gameobject.hpp:45 src/object/coin.cpp:324 +#: src/object/camera.cpp:168 src/object/platform.cpp:76 +#: src/object/path_gameobject.cpp:175 src/object/tilemap.cpp:284 +#: src/badguy/willowisp.cpp:317 msgid "Path" msgstr "Caminho" -#: src/object/decal.cpp:49 src/object/scripted_object.cpp:67 -#: src/object/particlesystem.cpp:65 src/object/background.cpp:183 -#: src/object/thunderstorm.cpp:68 src/object/tilemap.cpp:239 -#: src/object/gradient.cpp:135 -msgid "Z-pos" -msgstr "Profundidade" - -#: src/object/decal.cpp:50 src/object/scripted_object.cpp:70 -#: src/object/tilemap.cpp:228 +#: src/object/decal.cpp:48 src/object/scripted_object.cpp:70 +#: src/object/tilemap.cpp:266 msgid "Solid" msgstr "Sólido" -#: src/object/decal.cpp:51 src/supertux/menu/keyboard_menu.cpp:37 -#: src/supertux/menu/joystick_menu.cpp:74 +#: src/object/decal.cpp:49 src/supertux/menu/keyboard_menu.cpp:41 +#: src/supertux/menu/joystick_menu.cpp:76 msgid "Action" msgstr "Ação" -#: src/object/weak_block.hpp:35 +#: src/object/weak_block.hpp:36 msgid "Weak Tile" msgstr "Piso Frágil" -#: src/object/bumper.cpp:46 -msgid "Facing Left" -msgstr "Olhando Para Esquerda" - -#: src/object/gradient.hpp:42 +#: src/object/gradient.hpp:43 msgid "Gradient" msgstr "Gradiente" -#: src/object/tilemap.hpp:57 +#: src/object/tilemap.hpp:58 msgid "Tilemap" msgstr "Mapa de Pisos" -#: src/object/circleplatform.hpp:32 +#: src/object/sound_object.cpp:69 src/object/ambient_sound.cpp:85 +#: src/object/sound_object.hpp:42 src/supertux/menu/options_menu.cpp:128 +#: data//credits.stxt:367 +msgid "Sound" +msgstr "Som" + +#: src/object/sound_object.cpp:70 src/object/ambient_sound.cpp:87 +msgid "Volume" +msgstr "Volume" + +#: src/object/conveyor_belt.hpp:39 +msgid "Conveyor Belt" +msgstr "Correia transportadora" + +#: src/object/unstable_tile.cpp:70 src/object/weak_block.cpp:97 +#: src/badguy/flame.cpp:86 +msgid "Ice" +msgstr "Gelo" + +#: src/object/unstable_tile.cpp:71 src/object/brick.hpp:34 +msgid "Brick" +msgstr "Caixa de madeira" + +#: src/object/unstable_tile.cpp:72 +msgid "Delayed" +msgstr "Atrasado" + +#: src/object/circleplatform.hpp:35 msgid "Circular Platform" msgstr "Plataforma Circular" -#: src/object/brick.cpp:133 +#: src/object/brick.cpp:59 src/object/coin.cpp:69 +#: src/object/invisible_block.cpp:37 src/object/background.cpp:200 +#: src/object/tilemap.cpp:279 src/object/gradient.cpp:109 +#: src/badguy/viciousivy.cpp:44 src/badguy/snail.cpp:69 +#: src/badguy/smartball.cpp:34 src/badguy/bouncing_snowball.cpp:81 +#: src/badguy/kamikazesnowball.cpp:117 src/badguy/walkingleaf.cpp:35 +#: src/badguy/mrbomb.cpp:47 src/badguy/igel.cpp:188 src/badguy/snowball.cpp:40 +#: src/badguy/mrtree.cpp:50 src/badguy/mriceblock.cpp:62 +msgid "Normal" +msgstr "Normal" + +#: src/object/brick.cpp:60 src/object/bonus_block.cpp:175 +#: src/object/coin.cpp:70 src/object/invisible_block.cpp:38 +msgid "Retro" +msgstr "Retrô" + +#: src/object/brick.cpp:166 msgid "Breakable" msgstr "Quebrável" -#: src/object/trampoline.cpp:136 src/object/rusty_trampoline.cpp:66 +#: src/object/trampoline.cpp:66 src/object/rusty_trampoline.cpp:66 msgid "Portable" msgstr "Portátil" -#: src/object/spotlight.cpp:100 src/object/rain_particle_system.cpp:101 +#: src/object/trampoline.cpp:67 +msgid "Stationary" +msgstr "Estacionário" + +#: src/object/key.hpp:38 +msgid "Key" +msgstr "Chave" + +#: src/object/spotlight.cpp:102 src/object/particlesystem.cpp:64 +#: src/object/particle_zone.cpp:50 src/badguy/darttrap.cpp:149 +#: src/supertux/menu/addon_preview_menu.cpp:189 +msgid "Enabled" +msgstr "Ativado" + +#: src/object/spotlight.cpp:103 src/object/rain_particle_system.cpp:101 msgid "Angle" msgstr "Ângulo" -#: src/object/spotlight.cpp:101 src/object/magicblock.cpp:94 -#: src/object/candle.cpp:77 src/object/torch.cpp:104 -#: src/object/rublight.cpp:54 src/object/lantern.cpp:62 -#: src/object/ambient_light.cpp:131 src/badguy/willowisp.cpp:328 -#: src/badguy/walking_candle.cpp:82 +#: src/object/spotlight.cpp:104 src/object/magicblock.cpp:95 +#: src/object/candle.cpp:75 src/object/torch.cpp:96 src/object/rublight.cpp:55 +#: src/object/lantern.cpp:62 src/object/ambient_light.cpp:122 +#: src/object/key.cpp:192 src/badguy/willowisp.cpp:319 +#: src/badguy/walking_candle.cpp:91 msgid "Color" msgstr "Cor" -#: src/object/spotlight.cpp:102 src/object/textscroller.cpp:350 -#: src/object/rain_particle_system.cpp:102 src/object/circleplatform.cpp:55 -#: src/badguy/flame.cpp:59 src/editor/node_marker.cpp:125 +#: src/object/spotlight.cpp:105 src/object/textscroller.cpp:350 +#: src/object/rain_particle_system.cpp:102 src/object/conveyor_belt.cpp:61 +#: src/object/circleplatform.cpp:58 src/badguy/flame.cpp:110 +#: src/editor/node_marker.cpp:125 msgid "Speed" msgstr "Velocidade" -#: src/object/spotlight.cpp:104 +#: src/object/spotlight.cpp:107 msgid "Clockwise" msgstr "Sentido Horário" -#: src/object/spotlight.cpp:104 +#: src/object/spotlight.cpp:107 msgid "Counter-clockwise" msgstr "Anti-horário" -#: src/object/spotlight.cpp:104 +#: src/object/spotlight.cpp:107 msgid "Stopped" msgstr "Parado" -#: src/object/spotlight.cpp:107 src/object/candle.cpp:78 -#: src/object/torch.cpp:103 +#: src/object/spotlight.cpp:110 src/object/lit_object.cpp:69 +#: src/object/candle.cpp:76 src/object/torch.cpp:95 msgid "Layer" msgstr "Camada" @@ -280,125 +398,171 @@ msgstr "Física habilitada" msgid "Visible" msgstr "Visível" -#: src/object/scripted_object.cpp:73 src/badguy/willowisp.cpp:322 +#: src/object/scripted_object.cpp:73 src/badguy/willowisp.cpp:313 msgid "Hit script" msgstr "Script ao tocar" -#: src/object/custom_particle_system_file.cpp:50 +#: src/object/custom_particle_system_file.cpp:53 #: src/object/textscroller.cpp:348 src/object/music_object.cpp:109 #: src/supertux/menu/particle_editor_open.cpp:38 msgid "File" msgstr "Arquivo" -#: src/object/bonus_block.cpp:208 +#: src/object/bonus_block.cpp:154 +msgid "Only one custom object is allowed inside bonus blocks." +msgstr "Apenas um bloco personalizado é permitido dentro dos blocos de bônus." + +#: src/object/bonus_block.cpp:172 +msgid "Blue" +msgstr "Azul" + +#: src/object/bonus_block.cpp:173 +msgid "Orange" +msgstr "Laranja" + +#: src/object/bonus_block.cpp:174 +msgid "Purple" +msgstr "Roxo" + +#: src/object/bonus_block.cpp:265 src/supertux/menu/cheat_apply_menu.cpp:54 msgid "Count" msgstr "Quantidade de bônus" -#: src/object/bonus_block.cpp:209 +#: src/object/bonus_block.cpp:266 msgid "Content" msgstr "Bônus" -#: src/object/bonus_block.cpp:210 src/object/coin.hpp:43 +#: src/object/bonus_block.cpp:267 src/object/coin.hpp:44 msgid "Coin" msgstr "Moeda" -#: src/object/bonus_block.cpp:210 +#: src/object/bonus_block.cpp:267 msgid "Growth (fire flower)" msgstr "Crescer (flor-de-fogo)" -#: src/object/bonus_block.cpp:210 +#: src/object/bonus_block.cpp:267 msgid "Growth (ice flower)" msgstr "Crescer (flor-de-gelo)" -#: src/object/bonus_block.cpp:210 +#: src/object/bonus_block.cpp:267 msgid "Growth (air flower)" msgstr "Crescer (flor-de-ar)" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 msgid "Growth (earth flower)" msgstr "Crescer (flor-de-terra)" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 +msgid "Growth (retro)" +msgstr "Crescimento (retrô)" + +#: src/object/bonus_block.cpp:268 src/object/powerup.cpp:66 msgid "Star" msgstr "Estrela" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 +msgid "Star (retro)" +msgstr "Estrela (retrô)" + +#: src/object/bonus_block.cpp:268 msgid "Tux doll" msgstr "Boneco Tux" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 msgid "Custom" msgstr "Personalizado" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 msgid "Light" msgstr "Luz" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 msgid "Light (On)" msgstr "Luz (Ligado)" -#: src/object/bonus_block.cpp:212 src/object/trampoline.hpp:35 +#: src/object/bonus_block.cpp:269 src/object/trampoline.hpp:37 msgid "Trampoline" msgstr "Trampolim" -#: src/object/bonus_block.cpp:212 +#: src/object/bonus_block.cpp:269 +msgid "Portable trampoline" +msgstr "Trampolim portátil" + +#: src/object/bonus_block.cpp:269 msgid "Coin rain" msgstr "Chuva de moedas" -#: src/object/bonus_block.cpp:212 +#: src/object/bonus_block.cpp:269 msgid "Coin explosion" msgstr "Explosão de moedas" -#: src/object/bonus_block.cpp:216 +#: src/object/bonus_block.cpp:269 src/object/rock.hpp:43 +msgid "Rock" +msgstr "Pedra transportável" + +#: src/object/bonus_block.cpp:269 +msgid "Potion" +msgstr "Poção" + +#: src/object/bonus_block.cpp:275 msgid "Custom Content" msgstr "Conteúdo Personalizado" -#: src/object/pneumatic_platform.hpp:62 +#: src/object/bonus_block.cpp:278 +msgid "Coin sprite" +msgstr "Sprite de moeda" + +#: src/object/pneumatic_platform.hpp:65 msgid "Pneumatic Platform" msgstr "Plataforma Balança" -#: src/object/coin.cpp:303 src/object/tilemap.cpp:249 +#: src/object/coin.cpp:326 src/object/tilemap.cpp:287 msgid "Following path" msgstr "Caminho a seguir" -#: src/object/coin.cpp:306 src/object/camera.cpp:227 -#: src/object/platform.cpp:74 src/object/tilemap.cpp:252 +#: src/object/coin.cpp:329 src/object/camera.cpp:171 +#: src/object/platform.cpp:77 src/object/tilemap.cpp:290 msgid "Path Mode" msgstr "Modo de Caminho" -#: src/object/coin.cpp:307 src/object/camera.cpp:228 -#: src/object/platform.cpp:75 src/object/tilemap.cpp:253 -#: src/badguy/willowisp.cpp:331 +#: src/object/coin.cpp:330 src/object/camera.cpp:172 +#: src/object/platform.cpp:78 src/object/tilemap.cpp:291 +#: src/badguy/willowisp.cpp:322 msgid "Adapt Speed" msgstr "Adaptar Velocidade" -#: src/object/coin.cpp:308 src/object/platform.cpp:77 -#: src/object/tilemap.cpp:247 src/badguy/willowisp.cpp:327 +#: src/object/coin.cpp:331 src/object/platform.cpp:81 +#: src/object/tilemap.cpp:285 src/badguy/willowisp.cpp:318 msgid "Starting Node" msgstr "Posição Inicial" -#: src/object/coin.cpp:311 src/object/coin.cpp:339 +#: src/object/coin.cpp:332 src/object/camera.cpp:173 +#: src/object/platform.cpp:82 src/object/tilemap.cpp:293 +#: src/badguy/willowisp.cpp:323 +msgid "Handle" +msgstr "Alça" + +#: src/object/coin.cpp:335 src/object/coin.cpp:371 msgid "Collect script" msgstr "Script ao coletar" -#: src/object/ghost_particle_system.hpp:36 +#: src/object/ghost_particle_system.hpp:37 msgid "Ghost Particles" msgstr "Partículas Fantasma" -#: src/object/camera.cpp:219 +#: src/object/camera.cpp:163 msgid "Mode" msgstr "Modo" -#: src/object/camera.cpp:220 +#: src/object/camera.cpp:164 msgid "normal" msgstr "normal" -#: src/object/camera.cpp:220 +#: src/object/camera.cpp:164 msgid "manual" msgstr "manual" -#: src/object/camera.cpp:220 +#: src/object/camera.cpp:164 msgid "autoscroll" msgstr "autorolagem" @@ -414,32 +578,20 @@ msgstr "offset-X" msgid "Controllable" msgstr "Controlável" -#: src/object/textscroller.cpp:353 -msgid "Anchor" -msgstr "Âncora" - -#: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 -#: src/supertux/menu/keyboard_menu.cpp:34 -#: src/supertux/menu/joystick_menu.cpp:71 -msgid "Left" -msgstr "Esquerda" - #: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 msgid "Center" msgstr "Centro" -#: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 -#: src/supertux/menu/keyboard_menu.cpp:35 -#: src/supertux/menu/joystick_menu.cpp:72 -msgid "Right" -msgstr "Direita" - #: src/object/textscroller.cpp:357 msgid "Text Alignment" msgstr "Alinhamento de Texto" -#: src/object/spawnpoint.hpp:46 src/badguy/willowisp.cpp:321 -#: src/editor/worldmap_objects.cpp:171 +#: src/object/lit_object.hpp:40 +msgid "Lit object" +msgstr "Objeto iluminado" + +#: src/object/spawnpoint.hpp:48 src/badguy/willowisp.cpp:312 +#: src/worldmap/teleporter.cpp:48 msgid "Spawnpoint" msgstr "Ponto de partida" @@ -447,266 +599,339 @@ msgstr "Ponto de partida" msgid "Counter" msgstr "Contador" -#: src/object/candle.hpp:36 +#: src/object/candle.hpp:37 msgid "Candle" msgstr "Vela" -#: src/object/particlesystem.cpp:64 src/object/particle_zone.cpp:79 -#: src/badguy/darttrap.cpp:127 -msgid "Enabled" -msgstr "Ativado" +#: src/object/particlesystem.cpp:65 src/object/background.cpp:184 +#: src/object/thunderstorm.cpp:76 src/object/tilemap.cpp:277 +#: src/object/gradient.cpp:101 src/object/moving_sprite.cpp:193 +msgid "Z-pos" +msgstr "Profundidade" -#: src/object/invisible_block.hpp:31 +#: src/object/invisible_block.hpp:30 msgid "Invisible Block" msgstr "Bloco Invisível" -#: src/object/snow_particle_system.hpp:35 +#: src/object/snow_particle_system.hpp:37 msgid "Snow Particles" msgstr "Partículas de Neve" -#: src/object/powerup.hpp:35 +#: src/object/powerup.hpp:40 msgid "Powerup" msgstr "Melhoria" -#: src/object/fallblock.hpp:39 +#: src/object/infoblock.cpp:78 +msgid "Front Color" +msgstr "Cor frontal" + +#: src/object/infoblock.cpp:80 +msgid "Back Color" +msgstr "Cor de fundo" + +#: src/object/infoblock.cpp:82 +msgid "Roundness" +msgstr "Redondeza" + +#: src/object/infoblock.cpp:84 +msgid "Fade Transition" +msgstr "Transição de esmaecimento" + +#: src/object/fallblock.hpp:41 msgid "Falling Platform" msgstr "Plataforma Instável" -#: src/object/level_time.hpp:55 +#: src/object/level_time.hpp:56 msgid "Time Limit" msgstr "Limite de Tempo" -#: src/object/ambient_sound.cpp:119 src/supertux/menu/options_menu.cpp:391 -#: data//credits.stxt:352 -msgid "Sound" -msgstr "Som" - -#: src/object/ambient_sound.cpp:120 -msgid "Distance factor" -msgstr "Fator de distância" - -#: src/object/ambient_sound.cpp:121 -msgid "Distance bias" -msgstr "Margem de distância" - -#: src/object/ambient_sound.cpp:122 -msgid "Volume" -msgstr "Volume" +#: src/object/ambient_sound.cpp:86 +msgid "Radius (in tiles)" +msgstr "Raio (em blocos)" #: src/object/torch.hpp:41 msgid "Torch" msgstr "Tocha" -#: src/object/icecrusher.hpp:53 -msgid "Icecrusher" -msgstr "Quebra-gelo" - -#: src/object/rublight.hpp:33 +#: src/object/rublight.hpp:34 msgid "Rublight" msgstr "Contato de Luz" -#: src/object/background.hpp:43 +#: src/object/background.hpp:45 msgid "Background" msgstr "Fundo" -#: src/object/firefly.hpp:36 +#: src/object/text_object.hpp:44 src/gui/menu_string_array.cpp:77 +msgid "Text" +msgstr "Texto" + +#: src/object/firefly.hpp:38 msgid "Checkpoint" msgstr "Checkpoint" -#: src/object/ambient_light.hpp:36 +#: src/object/ambient_light.hpp:37 msgid "Ambient Light" msgstr "Luz Ambiente" -#: src/object/lantern.hpp:37 +#: src/object/lantern.hpp:38 msgid "Lantern" msgstr "Lanterna" -#: src/object/wind.hpp:40 +#: src/object/wind.hpp:43 msgid "Wind" msgstr "Vento" -#: src/object/bicycle_platform.cpp:189 src/object/background.cpp:179 -#: src/object/pneumatic_platform.cpp:147 -#: src/supertux/menu/joystick_menu.cpp:170 src/supertux/moving_object.cpp:58 -#: src/editor/worldmap_objects.cpp:73 +#: src/object/bicycle_platform.cpp:203 src/object/background.cpp:180 +#: src/object/pneumatic_platform.cpp:162 +#: src/supertux/menu/joystick_menu.cpp:172 src/supertux/moving_object.cpp:65 +#: src/worldmap/worldmap_object.cpp:77 msgid "X" msgstr "X" -#: src/object/bicycle_platform.cpp:190 src/object/background.cpp:180 -#: src/object/pneumatic_platform.cpp:148 -#: src/supertux/menu/joystick_menu.cpp:172 src/supertux/moving_object.cpp:59 -#: src/editor/worldmap_objects.cpp:74 +#: src/object/bicycle_platform.cpp:204 src/object/background.cpp:181 +#: src/object/pneumatic_platform.cpp:163 +#: src/supertux/menu/joystick_menu.cpp:174 src/supertux/moving_object.cpp:66 +#: src/worldmap/worldmap_object.cpp:78 msgid "Y" msgstr "Y" -#: src/object/bicycle_platform.cpp:192 +#: src/object/bicycle_platform.cpp:206 msgid "Platforms" msgstr "Plataformas" -#: src/object/bicycle_platform.cpp:193 src/object/circleplatform.cpp:54 -#: src/badguy/flame.cpp:58 src/badguy/rcrystallo.cpp:50 -#: src/badguy/crystallo.cpp:35 +#: src/object/bicycle_platform.cpp:207 src/object/circleplatform.cpp:57 +#: src/badguy/fish_swimming.cpp:76 src/badguy/flame.cpp:109 +#: src/badguy/rcrystallo.cpp:83 src/badguy/crystallo.cpp:50 msgid "Radius" msgstr "Raio" -#: src/object/bicycle_platform.cpp:194 +#: src/object/bicycle_platform.cpp:208 msgid "Momentum change rate" msgstr "Taxa de mudança de momentum" -#: src/object/rain_particle_system.hpp:40 +#: src/object/rain_particle_system.hpp:41 msgid "Rain Particles" msgstr "Partículas de Chuva" -#: src/object/platform.hpp:45 +#: src/object/platform.hpp:46 msgid "Platform" msgstr "Plataforma" -#: src/object/rock.hpp:42 -msgid "Rock" -msgstr "Pedra transportável" - -#: src/object/music_object.hpp:41 src/supertux/menu/options_menu.cpp:393 -#: data//credits.stxt:294 +#: src/object/music_object.hpp:42 src/supertux/menu/options_menu.cpp:130 +#: data//credits.stxt:309 msgid "Music" msgstr "Música" -#: src/object/rusty_trampoline.hpp:39 +#: src/object/lit_object.cpp:68 +msgid "Light sprite" +msgstr "Sprite leve" + +#: src/object/lit_object.cpp:71 +msgid "Sprite starting action" +msgstr "Ação inicial do sprite" + +#: src/object/lit_object.cpp:72 +msgid "Light sprite starting action" +msgstr "Ação inicial do sprite de luz" + +#: src/object/lit_object.cpp:74 +msgid "Light sprite offset X" +msgstr "Deslocamento X do sprite de luz" + +#: src/object/lit_object.cpp:75 +msgid "Light sprite offset Y" +msgstr "Deslocamento Y do sprite de luz" + +#: src/object/rusty_trampoline.hpp:40 msgid "Rusty Trampoline" msgstr "Trampolim Enferrujado" -#: src/object/particlesystem.hpp:57 +#: src/object/particlesystem.hpp:58 msgid "Particle system" msgstr "Sistema de partículas" -#: src/object/candle.cpp:75 src/object/torch.cpp:101 +#: src/object/candle.cpp:73 src/object/torch.cpp:94 msgid "Burning" msgstr "A arder" -#: src/object/candle.cpp:76 +#: src/object/candle.cpp:74 msgid "Flicker" msgstr "A piscar" -#: src/object/text_array_object.hpp:50 +#: src/object/snow_particle_system.cpp:104 +msgid "Epsilon" +msgstr "Épsilon" + +#: src/object/snow_particle_system.cpp:105 +msgid "Spin Speed" +msgstr "Velocidade de rotação" + +#: src/object/snow_particle_system.cpp:106 +msgid "State Length" +msgstr "Comprimento do estado" + +#: src/object/snow_particle_system.cpp:107 +msgid "Wind Speed" +msgstr "Velocidade do vento" + +#: src/object/text_array_object.hpp:47 msgid "Text array" msgstr "Coleção de texto" -#: src/object/infoblock.hpp:36 +#: src/object/infoblock.hpp:37 msgid "Info Block" msgstr "Bloco de Informação" -#: src/object/powerup.cpp:191 +#: src/object/powerup.cpp:61 +msgid "Egg" +msgstr "Ovo" + +#: src/object/powerup.cpp:62 +msgid "Fire Flower" +msgstr "Flor de fogo" + +#: src/object/powerup.cpp:63 +msgid "Ice Flower" +msgstr "Flor de gelo" + +#: src/object/powerup.cpp:64 +msgid "Air Flower" +msgstr "Flor de ar" + +#: src/object/powerup.cpp:65 +msgid "Earth Flower" +msgstr "Flor de terra" + +#: src/object/powerup.cpp:67 +msgid "Tux Doll" +msgstr "Boneco do Tux" + +#: src/object/powerup.cpp:68 +msgid "Flip Potion" +msgstr "Poção Invertida" + +#: src/object/powerup.cpp:69 +msgid "Mints" +msgstr "Pastilhas" + +#: src/object/powerup.cpp:70 +msgid "Coffee" +msgstr "Café" + +#: src/object/powerup.cpp:71 +msgid "Herring" +msgstr "Arenque" + +#: src/object/powerup.cpp:302 msgid "Disable gravity" msgstr "Desativa a gravidade" -#: src/object/ambient_sound.hpp:62 +#: src/object/powerup.cpp:312 src/object/weak_block.cpp:266 +msgid "" +"Sprites no longer define the behaviour of the object.\n" +"Object types are used instead." +msgstr "Sprites não definem mais o comportamento do objeto.\nTipos de objetos são usados em seu lugar." + +#: src/object/ambient_sound.hpp:43 msgid "Ambient Sound" msgstr "Som Ambiente" -#: src/object/level_time.cpp:51 src/supertux/statistics.cpp:297 +#: src/object/level_time.cpp:52 src/supertux/statistics.cpp:297 #: src/editor/node_marker.cpp:124 msgid "Time" msgstr "Tempo" -#: src/object/hurting_platform.hpp:30 +#: src/object/hurting_platform.hpp:31 msgid "Hurting Platform" msgstr "Plataforma Mortífera" -#: src/object/icecrusher.cpp:83 -msgid "Sideways" -msgstr "Laterais" - -#: src/object/background.cpp:182 +#: src/object/background.cpp:183 msgid "Fill" msgstr "Preencher" -#: src/object/background.cpp:184 +#: src/object/background.cpp:185 msgid "Alignment" msgstr "Alinhamento" -#: src/object/background.cpp:185 +#: src/object/background.cpp:186 src/supertux/direction.cpp:61 msgid "none" msgstr "nenhum" -#: src/object/background.cpp:185 src/editor/object_settings.cpp:119 +#: src/object/background.cpp:186 src/supertux/direction.cpp:63 msgid "left" msgstr "esquerda" -#: src/object/background.cpp:185 src/editor/object_settings.cpp:119 +#: src/object/background.cpp:186 src/supertux/direction.cpp:65 msgid "right" msgstr "direita" -#: src/object/background.cpp:185 +#: src/object/background.cpp:186 msgid "top" msgstr "cima" -#: src/object/background.cpp:185 +#: src/object/background.cpp:186 msgid "bottom" msgstr "baixo" -#: src/object/background.cpp:188 +#: src/object/background.cpp:189 msgid "Scroll offset x" msgstr "Compensação de deslocamento em x" -#: src/object/background.cpp:189 +#: src/object/background.cpp:190 msgid "Scroll offset y" msgstr "Compensação de deslocamento em y" -#: src/object/background.cpp:190 +#: src/object/background.cpp:191 msgid "Scroll speed x" msgstr "Velocidade de deslocamento em x" -#: src/object/background.cpp:191 +#: src/object/background.cpp:192 msgid "Scroll speed y" msgstr "Velocidade de deslocamento em y" -#: src/object/background.cpp:192 +#: src/object/background.cpp:193 msgid "Parallax Speed x" msgstr "Velocidade Paralaxe em x" -#: src/object/background.cpp:193 +#: src/object/background.cpp:194 msgid "Parallax Speed y" msgstr "Velocidade Paralaxe em y" -#: src/object/background.cpp:194 +#: src/object/background.cpp:195 msgid "Top image" msgstr "Imagem de cima" -#: src/object/background.cpp:195 +#: src/object/background.cpp:196 msgid "Image" msgstr "Imagem" -#: src/object/background.cpp:196 +#: src/object/background.cpp:197 msgid "Bottom image" msgstr "Imagem de baixo" -#: src/object/background.cpp:197 +#: src/object/background.cpp:198 msgid "Colour" msgstr "Cor" -#: src/object/background.cpp:198 src/object/tilemap.cpp:240 -#: src/object/gradient.cpp:142 +#: src/object/background.cpp:199 src/object/tilemap.cpp:278 +#: src/object/gradient.cpp:108 msgid "Draw target" msgstr "Desenhar alvo" -#: src/object/background.cpp:199 src/object/tilemap.cpp:241 -#: src/object/gradient.cpp:143 -msgid "Normal" -msgstr "Normal" - -#: src/object/background.cpp:199 src/object/tilemap.cpp:241 -#: src/object/gradient.cpp:143 +#: src/object/background.cpp:200 src/object/tilemap.cpp:279 +#: src/object/gradient.cpp:109 msgid "Lightmap" msgstr "Mapa de luz" -#: src/object/shard.hpp:34 +#: src/object/shard.hpp:35 msgid "Shard" msgstr "Fragmento" -#: src/object/rublight.cpp:55 +#: src/object/rublight.cpp:56 msgid "Fading Speed" msgstr "Velocidade para Apagar" -#: src/object/rublight.cpp:56 +#: src/object/rublight.cpp:57 msgid "Glowing Strength" msgstr "Força do Brilho" @@ -742,20 +967,28 @@ msgstr "Afetar Jogador" msgid "Fancy Particles" msgstr "Partículas Chiques" -#: src/object/bicycle_platform.hpp:64 +#: src/object/bicycle_platform.hpp:67 msgid "Bicycle Platform" msgstr "Plataforma Giratória" -#: src/object/platform.cpp:76 src/object/thunderstorm.cpp:69 -#: src/object/tilemap.cpp:254 +#: src/object/platform.cpp:80 src/object/thunderstorm.cpp:77 +#: src/object/tilemap.cpp:292 src/object/conveyor_belt.cpp:62 msgid "Running" msgstr "Ativado" -#: src/object/rock.cpp:192 +#: src/object/rock.cpp:71 +msgid "Small" +msgstr "Pequeno" + +#: src/object/rock.cpp:72 +msgid "Large" +msgstr "Largo" + +#: src/object/rock.cpp:234 msgid "On-grab script" msgstr "Script ao Agarrar" -#: src/object/rock.cpp:193 +#: src/object/rock.cpp:235 msgid "On-ungrab script" msgstr "Script ao Largar" @@ -763,15 +996,15 @@ msgstr "Script ao Largar" msgid "Interactive particle system" msgstr "Sistema de partículas interativo" -#: src/object/thunderstorm.cpp:70 +#: src/object/thunderstorm.cpp:78 msgid "Interval" msgstr "Intervalo" -#: src/object/thunderstorm.cpp:71 +#: src/object/thunderstorm.cpp:79 msgid "Strike Script" msgstr "Script ao Atingir" -#: src/object/cloud_particle_system.hpp:41 +#: src/object/cloud_particle_system.hpp:42 msgid "Cloud Particles" msgstr "Partículas de Nuvens" @@ -783,7 +1016,7 @@ msgstr "Textura" msgid "Amount" msgstr "Quantia" -#: src/object/custom_particle_system.cpp:426 src/object/circleplatform.cpp:56 +#: src/object/custom_particle_system.cpp:426 src/object/circleplatform.cpp:59 #: src/editor/particle_editor.cpp:141 msgid "Delay" msgstr "Atraso" @@ -802,10 +1035,11 @@ msgid "Birth mode" msgstr "Modo de Nascimento" #: src/object/custom_particle_system.cpp:430 -#: src/object/custom_particle_system.cpp:465 src/object/gradient.cpp:149 -#: src/supertux/menu/keyboard_menu.cpp:58 -#: src/supertux/menu/joystick_menu.cpp:106 -#: src/supertux/menu/joystick_menu.cpp:213 src/editor/object_settings.cpp:131 +#: src/object/custom_particle_system.cpp:465 src/object/gradient.cpp:115 +#: src/gui/menu_string_array.cpp:40 src/gui/menu_string_array.cpp:78 +#: src/supertux/menu/keyboard_menu.cpp:80 +#: src/supertux/menu/joystick_menu.cpp:108 +#: src/supertux/menu/joystick_menu.cpp:215 src/editor/object_settings.cpp:129 #: src/editor/particle_editor.cpp:162 src/editor/particle_editor.cpp:168 msgid "None" msgstr "Nada" @@ -1134,597 +1368,916 @@ msgstr "Sempre" msgid "Cover screen" msgstr "Cobrir a tela" -#: src/object/ispy.hpp:33 +#: src/object/ispy.hpp:35 msgid "Ispy" msgstr "Olho Espião" -#: src/object/skull_tile.hpp:32 -msgid "Skull Tile" -msgstr "Piso de Caveira" - -#: src/object/particle_zone.cpp:80 +#: src/object/particle_zone.cpp:51 msgid "Particle Name" msgstr "Nome da Partícula" -#: src/object/particle_zone.cpp:81 -msgid "Zone Type" -msgstr "Tipo de Zona" - -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:62 msgid "Spawn" msgstr "Criar" -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:63 msgid "Life zone" msgstr "Zona de vida" -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:64 msgid "Life zone (clear)" msgstr "Zona de vida (limpo)" -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:65 msgid "Kill particles" msgstr "Matar partículas" -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:66 msgid "Clear particles" msgstr "Limpar partículas" -#: src/object/weak_block.cpp:211 -msgid "Linked" -msgstr "Ligado a outros" +#: src/object/weak_block.cpp:98 +msgid "Hay" +msgstr "Feno" -#: src/object/decal.hpp:40 +#: src/object/decal.hpp:41 msgid "Decal" msgstr "Placard de informação" -#: src/object/tilemap.cpp:229 +#: src/object/tilemap.cpp:267 msgid "Resize offset x" msgstr "Redimensionar offset x" -#: src/object/tilemap.cpp:230 +#: src/object/tilemap.cpp:268 msgid "Resize offset y" msgstr "Redimensionar offset y" -#: src/object/tilemap.cpp:232 src/supertux/menu/editor_sector_menu.cpp:39 -#: src/editor/object_option.cpp:173 +#: src/object/tilemap.cpp:270 src/supertux/menu/editor_sector_menu.cpp:41 +#: src/editor/object_option.cpp:178 msgid "Width" msgstr "Largura" -#: src/object/tilemap.cpp:233 src/supertux/menu/editor_sector_menu.cpp:40 -#: src/editor/object_option.cpp:174 +#: src/object/tilemap.cpp:271 src/supertux/menu/editor_sector_menu.cpp:42 +#: src/editor/object_option.cpp:179 msgid "Height" msgstr "Altura" -#: src/object/tilemap.cpp:235 +#: src/object/tilemap.cpp:273 msgid "Alpha" msgstr "Alpha" -#: src/object/tilemap.cpp:236 +#: src/object/tilemap.cpp:274 msgid "Speed x" msgstr "Velocidade x" -#: src/object/tilemap.cpp:237 +#: src/object/tilemap.cpp:275 msgid "Speed y" msgstr "Velocidade y" -#: src/object/tilemap.cpp:238 +#: src/object/tilemap.cpp:276 msgid "Tint" msgstr "Matiz" -#: src/object/tilemap.cpp:257 src/supertux/menu/editor_tilegroup_menu.cpp:26 -#: src/editor/toolbox_widget.cpp:90 +#: src/object/tilemap.cpp:296 src/supertux/menu/editor_tilegroup_menu.cpp:26 +#: src/editor/toolbox_widget.cpp:98 msgid "Tiles" msgstr "Pisos" -#: src/object/gradient.cpp:128 -msgid "Left Colour" -msgstr "Cor Esquerda" - -#: src/object/gradient.cpp:129 -msgid "Right Colour" -msgstr "Cor Direita" +#: src/object/gradient.cpp:98 +msgid "Primary Colour" +msgstr "Cor primária" -#: src/object/gradient.cpp:131 -msgid "Top Colour" -msgstr "Cor de Cima" +#: src/object/gradient.cpp:99 +msgid "Secondary Colour" +msgstr "Cor secundária" -#: src/object/gradient.cpp:132 -msgid "Bottom Colour" -msgstr "Cor de Baixo" - -#: src/object/gradient.cpp:138 +#: src/object/gradient.cpp:104 msgid "Vertical" msgstr "Vertical" -#: src/object/gradient.cpp:138 +#: src/object/gradient.cpp:104 msgid "Horizontal" msgstr "Horizontal" -#: src/object/gradient.cpp:138 +#: src/object/gradient.cpp:104 msgid "Vertical (whole sector)" msgstr "Vertical (todo o setor)" -#: src/object/gradient.cpp:138 +#: src/object/gradient.cpp:104 msgid "Horizontal (whole sector)" msgstr "Horizontal (todo o setor)" -#: src/object/gradient.cpp:148 +#: src/object/gradient.cpp:114 msgid "Blend mode" msgstr "Modo de Combinação" -#: src/object/gradient.cpp:149 +#: src/object/gradient.cpp:115 msgid "Blend" msgstr "Combinar" -#: src/object/gradient.cpp:149 +#: src/object/gradient.cpp:115 msgid "Additive" msgstr "Aditivo" -#: src/object/gradient.cpp:149 +#: src/object/gradient.cpp:115 msgid "Modulate" msgstr "Modular" -#: src/object/bumper.hpp:35 +#: src/object/bumper.hpp:38 msgid "Bumper" msgstr "Bate-Bate" -#: src/object/unstable_tile.hpp:37 +#: src/object/conveyor_belt.cpp:63 +msgid "Length" +msgstr "Comprimento" + +#: src/object/moving_sprite.cpp:192 src/object/pneumatic_platform.cpp:161 +msgid "Sprite" +msgstr "Imagem" + +#: src/object/unstable_tile.hpp:42 msgid "Unstable Tile" msgstr "Piso Instável" -#: src/object/brick.hpp:31 -msgid "Brick" -msgstr "Caixa de madeira" +#: src/object/brick.hpp:70 +msgid "Heavy Brick" +msgstr "Tijolo pesado" -#: src/object/invisible_wall.hpp:34 +#: src/object/invisible_wall.hpp:37 msgid "Invisible Wall" msgstr "Parede Invisível" -#: src/object/spotlight.hpp:51 +#: src/object/spotlight.hpp:52 msgid "Spotlight" msgstr "Foco de luz" -#: src/object/scripted_object.hpp:39 +#: src/object/scripted_object.hpp:40 msgid "Scripted Object" msgstr "Objeto com Script" -#: src/object/custom_particle_system_file.hpp:39 +#: src/object/custom_particle_system_file.hpp:40 msgid "Custom Particles from file" msgstr "Partículas Customizadas de arquivo" -#: src/object/coin.hpp:78 +#: src/object/coin.hpp:97 msgid "Heavy Coin" msgstr "Moeda Pesada" -#: src/object/bonus_block.hpp:56 +#: src/object/explosion.hpp:35 +msgid "Explosion" +msgstr "Explosão" + +#: src/object/bonus_block.hpp:62 msgid "Bonus Block" msgstr "Bloco de Bônus" -#: src/object/magicblock.hpp:41 +#: src/object/magicblock.hpp:42 msgid "Magic Tile" msgstr "Piso Mágico" -#: src/object/camera.hpp:67 +#: src/object/camera.hpp:61 msgid "Camera" msgstr "Câmera" -#: src/object/textscroller.hpp:44 +#: src/object/textscroller.hpp:45 msgid "Text Scroller" msgstr "Rolagem de Texto" -#: src/gui/menu_badguy_select.cpp:94 -msgid "List of enemies" -msgstr "Lista de inimigos" +#: src/gui/notification.cpp:57 +msgid "Click for more details." +msgstr "Clique para mais detalhes." + +#: src/gui/notification.cpp:150 +msgid "Do not show again" +msgstr "Não mostrar novamente" + +#: src/gui/notification.cpp:157 src/supertux/menu/download_dialog.cpp:124 +msgid "Close" +msgstr "Fechar" + +#: src/gui/menu_string_array.cpp:40 src/gui/menu_string_array.cpp:78 +#, c++-format +msgid "Selected item: {}" +msgstr "Item selecionado: {}" -#: src/gui/menu_badguy_select.cpp:96 -msgid "Select enemy" -msgstr "Selecionar inimigo" +#: src/gui/menu_string_array.cpp:70 +msgid "Edit string array" +msgstr "Editar matriz de strings" -#: src/gui/menu_badguy_select.cpp:97 +#: src/gui/menu_string_array.cpp:79 src/gui/menu_object_select.cpp:50 +#: src/supertux/menu/profile_menu.cpp:88 msgid "Add" msgstr "Adicionar" -#: src/gui/menu_badguy_select.cpp:107 src/gui/menu_color.cpp:37 -#: src/gui/dialog.hpp:81 src/gui/menu_script.cpp:47 -#: src/supertux/menu/editor_sector_menu.cpp:46 -#: src/supertux/menu/editor_levelset_menu.cpp:62 -#: src/supertux/menu/addon_menu.cpp:349 +#: src/gui/menu_string_array.cpp:80 +msgid "Insert" +msgstr "Inserir" + +#: src/gui/menu_string_array.cpp:81 +#: src/supertux/menu/addon_preview_menu.cpp:177 src/editor/object_menu.cpp:61 +msgid "Update" +msgstr "Atualizar" + +#: src/gui/menu_string_array.cpp:82 src/supertux/menu/profile_menu.cpp:108 +#: src/supertux/menu/profile_menu.cpp:110 +msgid "Delete" +msgstr "Excluir" + +#: src/gui/menu_string_array.cpp:84 src/gui/menu_object_select.cpp:61 +#: src/gui/menu_color.cpp:37 src/gui/dialog.hpp:87 src/gui/menu_script.cpp:46 +#: src/supertux/menu/editor_sector_menu.cpp:48 +#: src/supertux/menu/editor_levelset_menu.cpp:58 #: src/supertux/menu/editor_new_levelset_menu.cpp:37 -#: src/supertux/menu/editor_level_menu.cpp:45 src/editor/object_menu.cpp:43 +#: src/supertux/menu/editor_level_menu.cpp:45 src/editor/object_menu.cpp:71 msgid "OK" msgstr "OK" -#: src/gui/menu_badguy_select.cpp:136 -msgid "Do you want to delete this badguy from the list?" -msgstr "Você quer eliminar este inimigo da lista?" +#: src/gui/menu_object_select.cpp:46 +msgid "List of objects" +msgstr "Lista de objetos" -#: src/gui/menu_badguy_select.cpp:137 src/gui/dialog.hpp:90 -#: src/supertux/menu/editor_level_select_menu.cpp:164 -#: src/supertux/menu/editor_menu.cpp:164 src/editor/editor.cpp:583 -msgid "Yes" -msgstr "Sim" +#: src/gui/menu_object_select.cpp:48 +#, c++-format +msgid "Select object ({})" +msgstr "Selecionar objeto ({})" -#: src/gui/menu_badguy_select.cpp:140 src/gui/dialog.hpp:91 -#: src/supertux/menu/editor_level_select_menu.cpp:168 -#: src/supertux/menu/editor_menu.cpp:167 src/editor/particle_editor.cpp:780 -#: src/editor/editor.cpp:590 -msgid "No" -msgstr "Não" +#: src/gui/menu_object_select.cpp:114 +msgid "Are you sure you want to remove this object from the list?" +msgstr "Tem certeza de que deseja remover este objeto da lista?" #: src/gui/menu_color.cpp:24 msgid "Mix the colour" msgstr "Misturar a cor" -#: src/gui/menu_filesystem.cpp:112 src/gui/menu_paths.cpp:44 -#: src/supertux/menu/particle_editor_save_as.cpp:42 +#: src/gui/dialog.hpp:96 src/supertux/menu/editor_level_select_menu.cpp:181 +#: src/editor/editor.cpp:663 +msgid "Yes" +msgstr "Sim" + +#: src/gui/dialog.hpp:97 src/supertux/menu/editor_level_select_menu.cpp:185 +#: src/editor/particle_editor.cpp:781 src/editor/editor.cpp:670 +msgid "No" +msgstr "Não" + +#: src/gui/menu_list.cpp:38 src/gui/menu_filesystem.cpp:120 +#: src/gui/menu_paths.cpp:48 src/supertux/menu/particle_editor_save_as.cpp:42 #: src/supertux/menu/editor_sectors_menu.cpp:45 -#: src/supertux/menu/editor_sectors_menu.cpp:95 -#: src/supertux/menu/editor_sectors_menu.cpp:100 +#: src/supertux/menu/editor_sectors_menu.cpp:94 +#: src/supertux/menu/editor_sectors_menu.cpp:99 #: src/supertux/menu/editor_objectgroup_menu.cpp:42 #: src/supertux/menu/editor_tilegroup_menu.cpp:36 -#: src/supertux/menu/editor_level_select_menu.cpp:173 +#: src/supertux/menu/editor_level_select_menu.cpp:190 #: src/supertux/menu/editor_save_as.cpp:42 #: src/supertux/menu/particle_editor_open.cpp:43 -#: src/editor/particle_editor.cpp:784 src/editor/editor.cpp:594 +#: src/editor/particle_editor.cpp:785 src/editor/editor.cpp:674 msgid "Cancel" msgstr "Cancelar" +#: src/gui/menu_filesystem.cpp:118 +msgid "Open Directory" +msgstr "Abrir diretório" + #: src/gui/menu_script.cpp:28 msgid "Edit script" msgstr "Editar script" -#: src/gui/menu_paths.cpp:30 +#: src/gui/menu_paths.cpp:32 msgid "Clone" msgstr "Clonar" -#: src/gui/menu_paths.cpp:38 +#: src/gui/menu_paths.cpp:41 msgid "" -"An error occured and the game could\n" +"An error occurred and the game could\n" "not clone the path. Please contact\n" "the developers for support." -msgstr "Um erro aconteceu e o jogo não\nconseguiu clonar o caminho.\nPor favor contate os desenvolvedores\npara suporte." +msgstr "Ocorreu um erro e o jogo não conseguiu\nclonar o caminho. Entre em contato com\nos desenvolvedores para obter suporte." -#: src/gui/menu_paths.cpp:41 +#: src/gui/menu_paths.cpp:44 msgid "Bind" msgstr "Vincular" -#: src/gui/menu_paths.cpp:63 src/supertux/menu/integrations_menu.cpp:60 -#: src/supertux/menu/contrib_menu.cpp:161 src/supertux/menu/debug_menu.cpp:75 -#: src/supertux/menu/editor_level_select_menu.cpp:88 -#: src/supertux/menu/worldmap_cheat_menu.cpp:55 -#: src/supertux/menu/worldmap_cheat_menu.cpp:153 +#: src/gui/menu_paths.cpp:49 +msgid "" +"Do you wish to clone the path to edit it separately,\n" +"or do you want to bind both paths together\n" +"so that any edit on one edits the other?" +msgstr "Deseja clonar o caminho para o editar separadamente,\nou quer ligar os dois caminhos em conjunto\npara que qualquer edição num deles edite o outro?" + +#: src/gui/menu_paths.cpp:56 +#, c++-format +msgid "Path {}" +msgstr "Caminho {}" + +#: src/gui/menu_paths.cpp:67 src/supertux/menu/integrations_menu.cpp:60 +#: src/supertux/menu/editor_converters_menu.cpp:79 +#: src/supertux/menu/video_system_menu.cpp:45 +#: src/supertux/menu/contrib_menu.cpp:102 src/supertux/menu/debug_menu.cpp:77 +#: src/supertux/menu/multiplayer_menu.cpp:39 +#: src/supertux/menu/custom_menu_menu.cpp:65 +#: src/supertux/menu/editor_level_select_menu.cpp:98 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:63 +#: src/supertux/menu/worldmap_cheat_menu.cpp:57 +#: src/supertux/menu/worldmap_cheat_menu.cpp:196 #: src/supertux/menu/editor_levelset_select_menu.cpp:114 -#: src/supertux/menu/options_menu.cpp:442 -#: src/supertux/menu/profile_menu.cpp:54 src/supertux/menu/addon_menu.cpp:213 +#: src/supertux/menu/options_menu.cpp:223 +#: src/supertux/menu/editor_delete_levelset_menu.cpp:69 +#: src/supertux/menu/addon_preview_menu.cpp:193 +#: src/supertux/menu/profile_menu.cpp:118 +#: src/supertux/menu/multiplayer_players_menu.cpp:91 +#: src/supertux/menu/addon_menu.cpp:153 #: src/supertux/menu/editor_new_levelset_menu.cpp:40 +#: src/supertux/menu/options_select_menu.cpp:44 #: src/supertux/menu/world_set_menu.cpp:33 +#: src/supertux/menu/addon_browse_menu.cpp:162 #: src/supertux/menu/web_asset_menu.cpp:48 -#: src/supertux/menu/keyboard_menu.cpp:49 -#: src/supertux/menu/language_menu.cpp:56 -#: src/supertux/menu/joystick_menu.cpp:97 +#: src/supertux/menu/profile_name_menu.cpp:45 +#: src/supertux/menu/keyboard_menu.cpp:71 +#: src/supertux/menu/sorted_contrib_menu.cpp:51 +#: src/supertux/menu/language_menu.cpp:63 +#: src/supertux/menu/joystick_menu.cpp:99 #: src/supertux/menu/contrib_levelset_menu.cpp:67 -#: src/supertux/menu/cheat_menu.cpp:44 -#: src/supertux/menu/editor_delete_level_menu.cpp:43 +#: src/supertux/menu/cheat_menu.cpp:58 +#: src/supertux/menu/addon_file_install_menu.cpp:36 +#: src/supertux/menu/cheat_apply_menu.cpp:43 +#: src/supertux/menu/cheat_apply_menu.cpp:63 +#: src/supertux/menu/multiplayer_player_menu.cpp:205 +#: src/supertux/menu/editor_delete_level_menu.cpp:68 msgid "Back" msgstr "Voltar" -#: src/badguy/toad.hpp:37 +#: src/addon/addon_manager.cpp:562 +msgid "Only one resource pack is allowed to be enabled at a time." +msgstr "Só é permitido ativar um pacote de recursos de cada vez." + +#: src/addon/addon_manager.cpp:837 +#, c++-format +msgid "Add-on {} by {} is already installed." +msgstr "O complemento {} de {} já está instalado." + +#: src/addon/addon_manager.cpp:857 +#, c++-format +msgid "Add-on {} by {} successfully installed." +msgstr "Complemento {} de {} instalado com sucesso." + +#: src/addon/addon.cpp:71 src/supertux/menu/editor_levelset_menu.cpp:54 +msgid "Levelset" +msgstr "Conjunto de níveis" + +#: src/addon/addon.cpp:74 src/supertux/menu/editor_levelset_menu.cpp:54 +#: data//images/engine/editor/objects.stoi:389 +msgid "Worldmap" +msgstr "Mapa-múndi" + +#: src/addon/addon.cpp:77 +msgid "World" +msgstr "Mundo" + +#: src/addon/addon.cpp:80 +msgid "Add-on" +msgstr "Complemento" + +#: src/addon/addon.cpp:83 +msgid "Language Pack" +msgstr "Pacote de Idiomas" + +#: src/addon/addon.cpp:86 +msgid "Resource Pack" +msgstr "Pacote de Recursos" + +#: src/addon/addon.cpp:89 +msgid "Unknown" +msgstr "Desconhecido" + +#: src/addon/addon.cpp:100 +#, c++-format +msgid "{} \"{}\" by \"{}\"" +msgstr "{} \"{}\" por \"{}\"" + +#: src/addon/addon.cpp:114 +msgid "add-on" +msgstr "complemento" + +#: src/addon/addon.cpp:114 +msgid "add-ons" +msgstr "complementos" + +#: src/badguy/toad.hpp:38 msgid "Toad" msgstr "Sapo" -#: src/badguy/mrtree.hpp:29 -msgid "Walking Tree" -msgstr "Árvore Andante" +#: src/badguy/mrtree.hpp:32 +msgid "Mr. Tree" +msgstr "Sr. Árvore" -#: src/badguy/plant.hpp:33 +#: src/badguy/plant.hpp:34 msgid "Plant" msgstr "Planta" -#: src/badguy/crystallo.hpp:30 +#: src/badguy/tarantula.hpp:39 src/badguy/tarantula.cpp:353 +msgid "Tarantula" +msgstr "Tarântula" + +#: src/badguy/granito_giant.cpp:71 +msgid "Awake" +msgstr "Acordado" + +#: src/badguy/granito_giant.cpp:72 +msgid "Sleeping" +msgstr "Dormindo" + +#: src/badguy/granito_giant.cpp:73 +msgid "Corrupted A" +msgstr "Corrompido A" + +#: src/badguy/granito_giant.cpp:74 +msgid "Corrupted B" +msgstr "Corrompido B" + +#: src/badguy/granito_giant.cpp:75 +msgid "Corrupted C" +msgstr "Corrompido C" + +#: src/badguy/crystallo.hpp:33 msgid "Crystallo" msgstr "Cristal" -#: src/badguy/totem.hpp:36 +#: src/badguy/viciousivy.cpp:45 src/badguy/snail.cpp:70 +#: src/badguy/kamikazesnowball.cpp:118 src/badguy/walkingleaf.cpp:36 +#: src/badguy/jumpy.cpp:46 src/badguy/igel.cpp:189 src/badguy/mrtree.cpp:51 +msgid "Corrupted" +msgstr "Corrompido" + +#: src/badguy/totem.hpp:37 msgid "Totem" msgstr "Totem" -#: src/badguy/stalactite.hpp:38 +#: src/badguy/stalactite.hpp:42 msgid "Stalactite" msgstr "Estalactite" -#: src/badguy/haywire.hpp:45 +#: src/badguy/fish_chasing.cpp:198 +msgid "Tracking Distance" +msgstr "Distância de Rastreamento" + +#: src/badguy/fish_chasing.cpp:199 +msgid "Losing Distance" +msgstr "Distância de Perda" + +#: src/badguy/fish_chasing.cpp:200 +msgid "Chase Speed" +msgstr "Velocidade de Perseguição" + +#: src/badguy/root_sapling.hpp:41 +msgid "Root Sapling" +msgstr "" + +#: src/badguy/haywire.hpp:46 msgid "Haywire" msgstr "Bomba" -#: src/badguy/dispenser.hpp:48 +#: src/badguy/dispenser.hpp:52 msgid "Dispenser" msgstr "Dispensador" -#: src/badguy/short_fuse.hpp:29 +#: src/badguy/short_fuse.hpp:30 msgid "Short Fuse" msgstr "Fusível Curto" -#: src/badguy/zeekling.hpp:36 +#: src/badguy/zeekling.hpp:39 msgid "Zeekling" msgstr "Dragão-Falcão" -#: src/badguy/mriceblock.hpp:46 -msgid "Iceblock" -msgstr "Bloco de Gelo" +#: src/badguy/smartball.cpp:35 +msgid "Pumpkin" +msgstr "Abóbora" -#: src/badguy/scrystallo.cpp:52 -msgid "Walk Radius" -msgstr "Raio de Movimento" +#: src/badguy/bouncing_snowball.cpp:82 +msgid "Fatbat" +msgstr "" -#: src/badguy/scrystallo.cpp:53 -msgid "Awakening Radius" -msgstr "Raio de Despertar" +#: src/badguy/dive_mine.hpp:50 +msgid "Dive Mine" +msgstr "" -#: src/badguy/jumpy.hpp:36 -msgid "Jumpy" -msgstr "Saltador" +#: src/badguy/granito_big.hpp:33 +msgid "Big Granito" +msgstr "Grande Granito" -#: src/badguy/captainsnowball.hpp:31 -msgid "Captain Snowball" -msgstr "Capitão Bola de Neve" +#: src/badguy/mriceblock.hpp:49 +msgid "Mr. Iceblock" +msgstr "Sr. Bloco de Gelo" -#: src/badguy/ghosttree.hpp:42 -msgid "Ghost Tree" -msgstr "Árvore Fantasma" +#: src/badguy/granito.hpp:39 src/badguy/darttrap.cpp:163 +#: src/badguy/corrupted_granito.cpp:175 src/badguy/dispenser.cpp:438 +msgid "Granito" +msgstr "Granito" -#: src/badguy/willowisp.cpp:323 -msgid "Track range" +#: src/badguy/fish_swimming.cpp:54 src/badguy/jumpy.cpp:44 +#: data//images/ice_world.strf:10 data//images/tiles.strf:28 +#: data//images/worldmap.strf:41 +msgid "Snow" +msgstr "Neve" + +#: src/badguy/fish_swimming.cpp:55 data//images/ice_world.strf:211 +#: data//images/tiles.strf:366 data//images/worldmap.strf:67 +msgid "Forest" +msgstr "Floresta" + +#: src/badguy/crusher.hpp:71 +msgid "Crusher" +msgstr "Esmagador" + +#: src/badguy/flame.cpp:84 +msgid "Fire" +msgstr "Fogo" + +#: src/badguy/flame.cpp:85 +msgid "Ghost" +msgstr "Fantasma" + +#: src/badguy/corrupted_granito_big.hpp:35 +msgid "Corrupted Big Granito" +msgstr "Grande Granito Corrompido" + +#: src/badguy/scrystallo.cpp:57 +msgid "Walk Radius" +msgstr "Raio de Movimento" + +#: src/badguy/scrystallo.cpp:58 +msgid "Awakening Radius" +msgstr "Raio de Despertar" + +#: src/badguy/scrystallo.cpp:59 +msgid "Roof-attached" +msgstr "" + +#: src/badguy/jumpy.hpp:40 +msgid "Jumpy" +msgstr "Saltador" + +#: src/badguy/captainsnowball.hpp:32 +msgid "Captain Snowball" +msgstr "Capitão Bola de Neve" + +#: src/badguy/ghosttree.hpp:43 +msgid "Ghost Tree" +msgstr "Árvore Fantasma" + +#: src/badguy/willowisp.cpp:314 +msgid "Track range" msgstr "Distância de perseguição" -#: src/badguy/willowisp.cpp:324 +#: src/badguy/willowisp.cpp:315 msgid "Vanish range" msgstr "Distância de desaparecer" -#: src/badguy/willowisp.cpp:325 +#: src/badguy/willowisp.cpp:316 msgid "Fly speed" msgstr "Velocidade a voar" -#: src/badguy/kugelblitz.hpp:39 +#: src/badguy/kugelblitz.hpp:40 msgid "Kugelblitz" msgstr "Meteorito" -#: src/badguy/mole_rock.hpp:43 +#: src/badguy/mole_rock.hpp:44 msgid "Mole's rock" msgstr "Pedra da Toupeira" -#: src/badguy/badguy.cpp:849 +#: src/badguy/badguy.cpp:1064 msgid "Death script" msgstr "Script da Morte" -#: src/badguy/sspiky.hpp:36 +#: src/badguy/sspiky.hpp:37 msgid "Sleeping Spiky" msgstr "Espinhoso a Dormir" -#: src/badguy/yeti_stalactite.hpp:33 +#: src/badguy/yeti_stalactite.hpp:34 msgid "Yeti's Stalactite" msgstr "Estalactite do Yeti" -#: src/badguy/livefire.hpp:37 +#: src/badguy/fish_harmless.hpp:30 +msgid "Harmless Fish" +msgstr "Peixe Inofensivo" + +#: src/badguy/livefire.hpp:38 msgid "Walking Flame" msgstr "Chama Andante" -#: src/badguy/livefire.hpp:68 +#: src/badguy/livefire.hpp:71 msgid "Sleeping Flame" msgstr "Chama a Dormir" -#: src/badguy/livefire.hpp:84 +#: src/badguy/livefire.hpp:89 msgid "Dormant Flame" msgstr "Chama Presa" -#: src/badguy/owl.hpp:39 +#: src/badguy/owl.hpp:45 msgid "Owl" msgstr "Coruja" -#: src/badguy/igel.hpp:34 +#: src/badguy/igel.hpp:38 msgid "Igel" msgstr "Porco-espinho" -#: src/badguy/darttrap.cpp:126 +#: src/badguy/darttrap.cpp:148 msgid "Initial delay" msgstr "Atraso inicial (seg)" -#: src/badguy/darttrap.cpp:128 +#: src/badguy/darttrap.cpp:150 msgid "Fire delay" msgstr "Cadência de tiro (seg)" -#: src/badguy/darttrap.cpp:129 +#: src/badguy/darttrap.cpp:151 msgid "Ammo" msgstr "Quantidade de munições" -#: src/badguy/snowball.hpp:29 -msgid "Snowball" -msgstr "Bola de neve" +#: src/badguy/darttrap.cpp:152 +msgid "Dart sprite" +msgstr "Imagem de dardo" + +#: src/badguy/darttrap.cpp:164 +msgid "Skull" +msgstr "Caveira" -#: src/badguy/smartblock.hpp:29 -msgid "Smartblock" -msgstr "Bloco Inteligente" +#: src/badguy/snowball.hpp:30 +msgid "Mr. Snowball" +msgstr "Sr. Bola de Neve" -#: src/badguy/yeti.cpp:369 +#: src/badguy/smartblock.hpp:30 +msgid "Mrs. Iceblock" +msgstr "Sra. Bloco de Gelo" + +#: src/badguy/yeti.cpp:370 msgid "Fixed position" msgstr "Posição fixa" -#: src/badguy/yeti.cpp:370 +#: src/badguy/yeti.cpp:371 msgid "Lives" msgstr "Vidas" -#: src/badguy/goldbomb.hpp:49 +#: src/badguy/goldbomb.hpp:50 msgid "Gold Bomb" msgstr "Bomba Dourada" -#: src/badguy/flyingsnowball.hpp:32 +#: src/badguy/corrupted_granito.hpp:44 +msgid "Corrupted Granito" +msgstr "Granito Corrompido" + +#: src/badguy/mrbomb.cpp:48 +msgid "Classic" +msgstr "Clássico" + +#: src/badguy/flyingsnowball.hpp:33 msgid "Flying Snowball" msgstr "Bola de Neve Voadora" -#: src/badguy/skullyhop.hpp:37 -msgid "Skullyhop" -msgstr "Caveira Saltitante" +#: src/badguy/crusher.cpp:75 +msgid "Ice (normal)" +msgstr "Gelo (normal)" + +#: src/badguy/crusher.cpp:76 +msgid "Ice (big)" +msgstr "Gelo (grande)" + +#: src/badguy/crusher.cpp:77 +msgid "Rock (normal)" +msgstr "" + +#: src/badguy/crusher.cpp:78 +msgid "Rock (big)" +msgstr "" + +#: src/badguy/crusher.cpp:79 +msgid "Corrupted (normal)" +msgstr "Corrompido (normal)" + +#: src/badguy/crusher.cpp:80 +msgid "Corrupted (big)" +msgstr "Corrompido (grande)" + +#: src/badguy/crusher.cpp:492 +msgid "Sideways" +msgstr "Laterais" -#: src/badguy/kamikazesnowball.hpp:32 -msgid "Snowshot" -msgstr "Neve Bala" +#: src/badguy/kamikazesnowball.hpp:34 +msgid "Kamikaze Snowball" +msgstr "Bola de Neve Kamikaze" -#: src/badguy/kamikazesnowball.hpp:52 +#: src/badguy/kamikazesnowball.hpp:64 msgid "Leafshot" msgstr "Folha-Bala" -#: src/badguy/flame.hpp:41 +#: src/badguy/fish_swimming.hpp:40 +msgid "Swimming Fish" +msgstr "" + +#: src/badguy/flame.hpp:47 msgid "Flame" msgstr "Chama" -#: src/badguy/scrystallo.hpp:30 +#: src/badguy/scrystallo.hpp:31 msgid "Sleeping Crystallo" msgstr "Cristal Adormecido" -#: src/badguy/poisonivy.hpp:30 -msgid "Spring Leaf" -msgstr "Folha Trampolim" +#: src/badguy/jumpy.cpp:45 +msgid "Wooden" +msgstr "" + +#: src/badguy/jumpy.cpp:47 +msgid "Metal" +msgstr "Metal" + +#: src/badguy/jumpy.cpp:48 +msgid "Bag" +msgstr "" #: src/badguy/willowisp.hpp:57 msgid "Will o' Wisp" msgstr "Chama Perseguidora" -#: src/badguy/badguy.hpp:53 +#: src/badguy/fish_jumping.hpp:41 +msgid "Jumping Fish" +msgstr "" + +#: src/badguy/badguy.hpp:61 msgid "Badguy" msgstr "Inimigo" -#: src/badguy/ghostflame.hpp:30 -msgid "Ghost Flame" -msgstr "Chama Fantasma" - -#: src/badguy/rcrystallo.hpp:30 +#: src/badguy/rcrystallo.hpp:33 msgid "Roof Crystallo" msgstr "Cristal de Teto" -#: src/badguy/spiky.hpp:30 +#: src/badguy/spiky.hpp:31 msgid "Spiky" msgstr "Espinhoso" -#: src/badguy/walkingleaf.hpp:30 -msgid "Autumn Leaf" -msgstr "Folha de Outono" +#: src/badguy/walkingleaf.hpp:33 +msgid "Walking Leaf" +msgstr "" + +#: src/badguy/root.hpp:39 +msgid "Root" +msgstr "Raiz" -#: src/badguy/owl.cpp:227 +#: src/badguy/owl.cpp:241 msgid "Carry" msgstr "Carregar" -#: src/badguy/darttrap.hpp:33 +#: src/badguy/darttrap.hpp:35 msgid "Dart Trap" msgstr "Armadilha de Dardos" -#: src/badguy/skydive.hpp:38 +#: src/badguy/skydive.hpp:43 msgid "Skydive" msgstr "Pára-quedas" -#: src/badguy/yeti.hpp:37 +#: src/badguy/yeti.hpp:38 msgid "Yeti" msgstr "Yeti" -#: src/badguy/mole.hpp:39 +#: src/badguy/snowball.cpp:41 +msgid "Bumpkin" +msgstr "" + +#: src/badguy/snowball.cpp:42 +msgid "BSOD" +msgstr "Tela Azul" + +#: src/badguy/mole.hpp:38 msgid "Mole" msgstr "Toupeira" -#: src/badguy/mrbomb.hpp:42 -msgid "Bomb" -msgstr "Bomba" +#: src/badguy/corrupted_granito.cpp:176 +msgid "Skullyhop" +msgstr "Caveira Saltitante" -#: src/badguy/walking_candle.hpp:40 +#: src/badguy/mrbomb.hpp:40 +msgid "Mr. Bomb" +msgstr "Sr. Bomba" + +#: src/badguy/walking_candle.hpp:41 msgid "Walking Candle" msgstr "Vela Andante" -#: src/badguy/angrystone.hpp:34 +#: src/badguy/angrystone.hpp:39 msgid "Angry Stone" msgstr "Pedra Irritada" -#: src/badguy/spidermite.hpp:35 -msgid "Spider" -msgstr "Aranha" +#: src/badguy/tarantula.cpp:354 +msgid "Spidermite" +msgstr "" + +#: src/badguy/tarantula.cpp:374 +msgid "Static" +msgstr "Estático" #: src/badguy/ghoul.hpp:30 msgid "Ghoul" msgstr "Carniçal" -#: src/badguy/snowman.hpp:28 +#: src/badguy/granito_giant.hpp:32 +msgid "Giant Granito" +msgstr "Granito Gigante" + +#: src/badguy/snowman.hpp:29 msgid "Snowman" msgstr "Homem neve" -#: src/badguy/stumpy.hpp:35 -msgid "Walking Stump" -msgstr "Toco Andante" +#: src/badguy/viciousivy.hpp:33 +msgid "Vicious Ivy" +msgstr "" + +#: src/badguy/stalactite.cpp:156 +msgid "ice" +msgstr "gelo" -#: src/badguy/fish.hpp:40 -msgid "Fish" -msgstr "Peixe" +#: src/badguy/stalactite.cpp:157 +msgid "rock" +msgstr "" + +#: src/badguy/fish_chasing.hpp:33 +msgid "Chasing Fish" +msgstr "" + +#: src/badguy/stumpy.hpp:38 +msgid "Stumpy" +msgstr "Tronco" -#: src/badguy/dispenser.cpp:445 +#: src/badguy/dispenser.cpp:412 msgid "Interval (seconds)" msgstr "Intervalo (segundos)" -#: src/badguy/dispenser.cpp:446 +#: src/badguy/dispenser.cpp:413 msgid "Random" msgstr "Aleatório" -#: src/badguy/dispenser.cpp:447 data//images/engine/editor/objects.stoi:4 -msgid "Enemies" -msgstr "Inimigos" +#: src/badguy/dispenser.cpp:416 +#: src/supertux/menu/editor_objectgroup_menu.cpp:30 +#: src/editor/toolbox_widget.cpp:101 +msgid "Objects" +msgstr "Objetos" -#: src/badguy/dispenser.cpp:448 +#: src/badguy/dispenser.cpp:419 msgid "Limit dispensed badguys" msgstr "Limitar badguys dispensados" -#: src/badguy/dispenser.cpp:450 +#: src/badguy/dispenser.cpp:421 msgid "Obey Gravity" msgstr "Obedecer Gravidade" -#: src/badguy/dispenser.cpp:452 +#: src/badguy/dispenser.cpp:423 msgid "Max concurrent badguys" msgstr "Máximo de badguys simultâneos" -#: src/badguy/dispenser.cpp:454 src/supertux/menu/editor_levelset_menu.cpp:60 -msgid "Type" -msgstr "Tipo" - -#: src/badguy/dispenser.cpp:455 -msgid "dropper" -msgstr "conta-gotas" - -#: src/badguy/dispenser.cpp:455 -msgid "rocket launcher" -msgstr "lançador de foguetes" +#: src/badguy/dispenser.cpp:435 +msgid "Dropper" +msgstr "" -#: src/badguy/dispenser.cpp:455 -msgid "cannon" -msgstr "canhão" +#: src/badguy/dispenser.cpp:436 +msgid "Cannon" +msgstr "Canhão" -#: src/badguy/dispenser.cpp:455 -msgid "invisible" -msgstr "invisível" +#: src/badguy/dispenser.cpp:437 src/worldmap/special_tile.cpp:77 +msgid "Invisible" +msgstr "Invisível" -#: src/badguy/snail.hpp:42 +#: src/badguy/snail.hpp:43 msgid "Snail" msgstr "Caracol" -#: src/badguy/smartball.hpp:31 -msgid "Smartball" -msgstr "Bola Esperta" +#: src/badguy/smartball.hpp:32 +msgid "Mrs. Snowball" +msgstr "Sra. Bola de Neve" -#: src/badguy/bouncing_snowball.hpp:32 +#: src/badguy/bouncing_snowball.hpp:39 msgid "Bouncing Snowball" msgstr "Bola de Neve Pulante" -#: src/badguy/iceflame.hpp:33 -msgid "Ice Flame" -msgstr "Chama Gelada" +#: src/badguy/granito_big.cpp:52 src/badguy/granito.cpp:263 +msgid "Default" +msgstr "Padrão" -#: src/badguy/dart.hpp:43 +#: src/badguy/granito_big.cpp:53 src/badguy/granito.cpp:264 +msgid "Standing" +msgstr "" + +#: src/badguy/granito_big.cpp:54 src/badguy/granito.cpp:265 +msgid "Walking" +msgstr "Andando" + +#: src/badguy/mriceblock.cpp:63 +msgid "Laptop" +msgstr "Laptop" + +#: src/badguy/dart.hpp:44 msgid "Dart" msgstr "Dardo" +#: src/badguy/granito.cpp:268 +msgid "Sitting" +msgstr "Sentado" + #: src/supertux/statistics.cpp:54 msgid "Max coins collected:" msgstr "Máx moedas coletadas:" @@ -1745,7 +2298,7 @@ msgstr "Melhor tempo concluído:" msgid "Level target time:" msgstr "Objetivo de tempo do nível:" -#: src/supertux/statistics.cpp:149 src/supertux/levelintro.cpp:160 +#: src/supertux/statistics.cpp:149 src/supertux/levelintro.cpp:175 msgid "Best Level Statistics" msgstr "Melhores Estatísticas do Nível" @@ -1757,7 +2310,7 @@ msgstr "Você" msgid "Best" msgstr "Melhor" -#: src/supertux/statistics.cpp:242 src/supertux/levelintro.cpp:166 +#: src/supertux/statistics.cpp:242 src/supertux/levelintro.cpp:181 msgid "Coins" msgstr "Moedas" @@ -1765,202 +2318,199 @@ msgstr "Moedas" msgid "Badguys" msgstr "Inimigos" -#: src/supertux/statistics.cpp:281 src/supertux/levelintro.cpp:172 +#: src/supertux/statistics.cpp:281 src/supertux/levelintro.cpp:187 msgid "Secrets" msgstr "Segredos" -#: src/supertux/game_object.hpp:78 +#: src/supertux/game_object.hpp:88 msgid "Unknown object" msgstr "Objeto desconhecido" -#: src/supertux/sector.cpp:414 +#: src/supertux/sector.cpp:507 msgid "Press escape to skip" msgstr "Pressione Escape para pular" -#: src/supertux/command_line_arguments.cpp:94 -#, c-format +#: src/supertux/command_line_arguments.cpp:92 +#, c++-format msgid "Usage: {} [OPTIONS] [LEVELFILE]" msgstr "Uso: {} [OPÇÕES] [ARQUIVOdoNÍVEL]" -#: src/supertux/command_line_arguments.cpp:95 +#: src/supertux/command_line_arguments.cpp:93 msgid "General Options:" msgstr "Opções Gerais:" -#: src/supertux/command_line_arguments.cpp:96 +#: src/supertux/command_line_arguments.cpp:94 msgid " -h, --help Show this help message and quit" msgstr " -h, --help Mostra essa mensagem e sai" -#: src/supertux/command_line_arguments.cpp:97 +#: src/supertux/command_line_arguments.cpp:95 msgid " -v, --version Show SuperTux version and quit" msgstr " -v, --version Mostra a versão do SuperTux e sai" -#: src/supertux/command_line_arguments.cpp:98 +#: src/supertux/command_line_arguments.cpp:96 msgid " --verbose Print verbose messages" msgstr " --verbose Mostra mensagens detalhadas de depuração" -#: src/supertux/command_line_arguments.cpp:99 +#: src/supertux/command_line_arguments.cpp:97 msgid " --debug Print extra verbose messages" msgstr " --debug Mostra mais mensagens detalhadas de depuração" -#: src/supertux/command_line_arguments.cpp:100 +#: src/supertux/command_line_arguments.cpp:98 msgid "" " --print-datadir Print SuperTux's primary data directory." msgstr " --print-datadir Mostra o diretório dos dados principais do SuperTux." -#: src/supertux/command_line_arguments.cpp:101 +#: src/supertux/command_line_arguments.cpp:99 msgid "" " --acknowledgements Print the licenses of libraries used by " "SuperTux." msgstr " --acknowledgements Imprime a licença das bibliotecas usadas pelo SuperTux." -#: src/supertux/command_line_arguments.cpp:103 +#: src/supertux/command_line_arguments.cpp:101 msgid "Video Options:" msgstr "Opções de Vídeo:" -#: src/supertux/command_line_arguments.cpp:104 +#: src/supertux/command_line_arguments.cpp:102 msgid " -f, --fullscreen Run in fullscreen mode" msgstr " -f, --fullscreen Roda em modo de tela cheia" -#: src/supertux/command_line_arguments.cpp:105 +#: src/supertux/command_line_arguments.cpp:103 msgid " -w, --window Run in window mode" msgstr " -w, --window Roda em modo de janela" -#: src/supertux/command_line_arguments.cpp:106 +#: src/supertux/command_line_arguments.cpp:104 msgid " -g, --geometry WIDTHxHEIGHT Run SuperTux in given resolution" msgstr " -g, --geometry LARGURAxALTURA Roda o SuperTux em uma dada resolução" -#: src/supertux/command_line_arguments.cpp:107 +#: src/supertux/command_line_arguments.cpp:105 msgid " -a, --aspect WIDTH:HEIGHT Run SuperTux with given aspect ratio" msgstr " -a, --aspect LARGURA:ALTURA Roda o Supertux com uma dada razão de aspecto como 4:3" -#: src/supertux/command_line_arguments.cpp:108 +#: src/supertux/command_line_arguments.cpp:106 msgid " -d, --default Reset video settings to default values" msgstr " -d, --default Reseta opções de vídeo para o padrão" -#: src/supertux/command_line_arguments.cpp:109 +#: src/supertux/command_line_arguments.cpp:107 msgid " --renderer RENDERER Use sdl, opengl, or auto to render" msgstr " --renderer RENDERIZADOR Usa sdl, opengl ou automático como renderizador" -#: src/supertux/command_line_arguments.cpp:111 +#: src/supertux/command_line_arguments.cpp:109 msgid "Audio Options:" msgstr "Opções de Áudio:" -#: src/supertux/command_line_arguments.cpp:112 +#: src/supertux/command_line_arguments.cpp:110 msgid " --disable-sound Disable sound effects" msgstr " --disable-sound Desabilita os efeitos de som" -#: src/supertux/command_line_arguments.cpp:113 +#: src/supertux/command_line_arguments.cpp:111 msgid " --disable-music Disable music" msgstr " --disable-music Desabilita música" -#: src/supertux/command_line_arguments.cpp:115 +#: src/supertux/command_line_arguments.cpp:113 msgid "Game Options:" msgstr "Opções de Jogo:" -#: src/supertux/command_line_arguments.cpp:116 +#: src/supertux/command_line_arguments.cpp:114 msgid " --edit-level Open given level in editor" msgstr " --edit-level Abre no editor o nível indicado" -#: src/supertux/command_line_arguments.cpp:117 +#: src/supertux/command_line_arguments.cpp:115 msgid " --resave Loads given level and saves it" msgstr " --resave Carrega um nível especificado e o salva" -#: src/supertux/command_line_arguments.cpp:118 +#: src/supertux/command_line_arguments.cpp:116 msgid " --show-fps Display framerate in levels" msgstr " --show-fps Mostra a taxa de quadros por segundo nos níveis" -#: src/supertux/command_line_arguments.cpp:119 +#: src/supertux/command_line_arguments.cpp:117 msgid " --no-show-fps Do not display framerate in levels" msgstr " --no-show-fps Não exibe a taxa de quadros por segundo nos níveis" -#: src/supertux/command_line_arguments.cpp:120 +#: src/supertux/command_line_arguments.cpp:118 msgid " --show-pos Display player's current position" msgstr " --show-pos Mostra posição atual do jogador" -#: src/supertux/command_line_arguments.cpp:121 +#: src/supertux/command_line_arguments.cpp:119 msgid " --no-show-pos Do not display player's position" msgstr " --no-show-pos Não mostra a posição do jogador" -#: src/supertux/command_line_arguments.cpp:122 +#: src/supertux/command_line_arguments.cpp:120 msgid " --developer Switch on developer feature" msgstr " --developer Habilita modo de desenvolvedor" -#: src/supertux/command_line_arguments.cpp:123 +#: src/supertux/command_line_arguments.cpp:121 msgid " -s, --debug-scripts Enable script debugger." msgstr " -s, --debug-scripts Habilita o depurador de scripts." -#: src/supertux/command_line_arguments.cpp:124 +#: src/supertux/command_line_arguments.cpp:122 msgid "" " --spawn-pos X,Y Where in the level to spawn Tux. Only used if" " level is specified." msgstr " --spawn-pos X,Y Local do nível onde Tux começa. Usado no nível apenas se este for especificado." -#: src/supertux/command_line_arguments.cpp:125 +#: src/supertux/command_line_arguments.cpp:123 msgid " --sector SECTOR Spawn Tux in SECTOR\n" msgstr " --setor SETOR Tux Começa no SETOR\n" -#: src/supertux/command_line_arguments.cpp:126 +#: src/supertux/command_line_arguments.cpp:124 msgid " --spawnpoint SPAWNPOINT Spawn Tux at SPAWNPOINT\n" msgstr " --spawnpoint PONTOCOMEÇO Tux Inicia no SPAWNPOINT\n" -#: src/supertux/command_line_arguments.cpp:128 -msgid "Demo Recording Options:" -msgstr "Opções de Gravação Demo:" - -#: src/supertux/command_line_arguments.cpp:129 -msgid " --record-demo FILE LEVEL Record a demo to FILE" -msgstr " --record-demo ARQUIVO NÍVEL Grava um demo para ARQUIVO" - -#: src/supertux/command_line_arguments.cpp:130 -msgid " --play-demo FILE LEVEL Play a recorded demo" -msgstr " --play-demo ARQUIVO NÍVEL Reproduz um demo gravado" - -#: src/supertux/command_line_arguments.cpp:132 +#: src/supertux/command_line_arguments.cpp:126 msgid "Directory Options:" msgstr "Opções de Diretórios:" -#: src/supertux/command_line_arguments.cpp:133 +#: src/supertux/command_line_arguments.cpp:127 msgid "" " --datadir DIR Set the directory for the games datafiles" msgstr " --datadir DIRETORIA Define o diretório para os arquivos de dados do jogo" -#: src/supertux/command_line_arguments.cpp:134 +#: src/supertux/command_line_arguments.cpp:128 msgid "" " --userdir DIR Set the directory for user data (savegames, " "etc.)" msgstr " --userdir DIRETORIA Define o diretório de dados do usuário (jogos salvos, etc.)" -#: src/supertux/command_line_arguments.cpp:136 +#: src/supertux/command_line_arguments.cpp:130 msgid "Add-On Options:" msgstr "Opções dos Complementos:" -#: src/supertux/command_line_arguments.cpp:137 +#: src/supertux/command_line_arguments.cpp:131 msgid " --repository-url URL Set the URL to the Add-On repository" msgstr " --repository-url URL Define o URL do repositório dos Complementos" -#: src/supertux/command_line_arguments.cpp:139 +#: src/supertux/command_line_arguments.cpp:133 msgid "Environment variables:" msgstr "Variáveis de Ambiente:" -#: src/supertux/command_line_arguments.cpp:140 +#: src/supertux/command_line_arguments.cpp:134 msgid "" " SUPERTUX2_USER_DIR Directory for user data (savegames, etc.)" msgstr " DIRETORIOdoUSUÁRIO_SUPERTUX2 Diretório para informação do usuário (jogos salvos, etc.)" -#: src/supertux/command_line_arguments.cpp:141 +#: src/supertux/command_line_arguments.cpp:135 msgid " SUPERTUX2_DATA_DIR Directory for the games datafiles" msgstr " DIRETÓRIOdosDADOSdoSUPERTUX2 Diretório para os arquivos do jogo" -#: src/supertux/title_screen.cpp:44 +#: src/supertux/title_screen.cpp:272 msgid "Copyright" msgstr "Direitos autorais" -#: src/supertux/title_screen.cpp:45 +#: src/supertux/title_screen.cpp:273 msgid "" "This game comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to\n" "redistribute it under certain conditions; see the license file for details.\n" msgstr "Este jogo não acompanha ABSOLUTAMENTE NENHUMA GARANTIA. É um software livre e você é livre para\nredistribuí-lo sob certas condições; veja o arquivo LICENSE para detalhes.\n" +#: src/supertux/game_object.cpp:114 +msgid "Version" +msgstr "Versão" + +#: src/supertux/game_object.cpp:129 +#: src/supertux/menu/editor_levelset_menu.cpp:54 +msgid "Type" +msgstr "Tipo" + #: src/supertux/menu/integrations_menu.cpp:49 msgid "Integrations" msgstr "Integrações" @@ -1969,60 +2519,146 @@ msgstr "Integrações" msgid "Do not share level names when editing" msgstr "Não compartilhar o nome dos níveis enquanto edita" +#: src/supertux/menu/integrations_menu.cpp:52 +msgid "" +"Enable this if you want to work on secret levels and don't want the names to" +" be spoiled" +msgstr "" + #: src/supertux/menu/integrations_menu.cpp:54 msgid "Enable Discord integration" msgstr "Ativar integração com o Discord" +#: src/supertux/menu/integrations_menu.cpp:55 +msgid "" +"Sends information to your Discord application about what you're doing in the" +" game." +msgstr "" + #: src/supertux/menu/integrations_menu.cpp:57 msgid "Discord (disabled; not compiled)" msgstr "Discord (desativado; não compilado)" -#: src/supertux/menu/contrib_menu.cpp:80 +#: src/supertux/menu/editor_converters_menu.cpp:61 +#: src/supertux/menu/editor_menu.cpp:85 +msgid "Convert Tiles" +msgstr "" + +#: src/supertux/menu/editor_converters_menu.cpp:64 +msgid "Select Tile Conversion File" +msgstr "" + +#: src/supertux/menu/editor_converters_menu.cpp:72 +#, c++-format +msgid "By: {}" +msgstr "Por: {}" + +#: src/supertux/menu/editor_converters_menu.cpp:75 +msgid "Convert Tiles By File" +msgstr "" + +#: src/supertux/menu/editor_converters_menu.cpp:76 +msgid "Convert all tiles in the current level by a file, specified above." +msgstr "" + +#: src/supertux/menu/editor_converters_menu.cpp:89 +msgid "No tile conversion file selected." +msgstr "" + +#: src/supertux/menu/editor_converters_menu.cpp:93 +msgid "" +"This will convert all tiles in the level. Proceed?\n" +"\n" +"Note: This should not be ran more than once on a level.\n" +"Creating a separate copy of the level is highly recommended." +msgstr "" + +#: src/supertux/menu/video_system_menu.cpp:36 +msgid "Select Video System" +msgstr "Selecionar Sistema de Vídeo" + +#: src/supertux/menu/video_system_menu.cpp:37 +#, c++-format +msgid "Used video system: {}" +msgstr "Sistema de vídeo usado: {}" + +#: src/supertux/menu/video_system_menu.cpp:54 +msgid "Restart game for the changes to take effect" +msgstr "Reinicie o jogo para que as alterações tenham efeito." + +#: src/supertux/menu/contrib_menu.cpp:68 #: src/supertux/menu/world_set_menu.cpp:31 msgid "Contrib Levels" msgstr "Níveis Extras" -#: src/supertux/menu/debug_menu.cpp:32 +#: src/supertux/menu/contrib_menu.cpp:98 +#: src/supertux/menu/contrib_menu.cpp:112 +msgid "Official Contrib Levels" +msgstr "Fases Extras Oficiais" + +#: src/supertux/menu/contrib_menu.cpp:99 +#: src/supertux/menu/contrib_menu.cpp:118 +msgid "Community Contrib Levels" +msgstr "Fases Extras da Comunidade" + +#: src/supertux/menu/contrib_menu.cpp:100 +#: src/supertux/menu/contrib_menu.cpp:124 +msgid "User Contrib Levels" +msgstr "Fases Extras do Usuário" + +#: src/supertux/menu/contrib_menu.cpp:113 +msgid "How is this possible? There are no Official Contrib Levels!" +msgstr "Como que isso é possível? Não existem fases extras oficiais!" + +#: src/supertux/menu/contrib_menu.cpp:119 +msgid "No Community Contrib Levels yet. Download them from the Add-ons Menu." +msgstr "Ainda não há fases extra da comunidade. Baixe-os a partir do Menu de Complementos." + +#: src/supertux/menu/contrib_menu.cpp:125 +msgid "No User Contrib Levels yet. Create some with the Level Editor." +msgstr "Ainda não há fases extra do usuário. Crie alguns com o Editor de Níveis." + +#: src/supertux/menu/debug_menu.cpp:34 msgid "Debug" msgstr "Debugar" -#: src/supertux/menu/debug_menu.cpp:56 +#: src/supertux/menu/debug_menu.cpp:58 msgid "Game Speed" msgstr "Velocidade do Jogo" -#: src/supertux/menu/debug_menu.cpp:57 +#: src/supertux/menu/debug_menu.cpp:59 msgid "Adjust Game Speed" msgstr "Ajustar Velocidade do Jogo" -#: src/supertux/menu/debug_menu.cpp:63 +#: src/supertux/menu/debug_menu.cpp:65 msgid "Show Collision Rects" msgstr "Mostrar Retângulos de Colisão" -#: src/supertux/menu/debug_menu.cpp:64 +#: src/supertux/menu/debug_menu.cpp:66 msgid "Show Worldmap Path" msgstr "Mostrar o Caminho do Worldmap" -#: src/supertux/menu/debug_menu.cpp:65 +#: src/supertux/menu/debug_menu.cpp:67 msgid "Show Controller" msgstr "Mostrar Controlador" -#: src/supertux/menu/debug_menu.cpp:66 +#: src/supertux/menu/debug_menu.cpp:68 msgid "Show Framerate" msgstr "Mostrar Taxa de Quadros" -#: src/supertux/menu/debug_menu.cpp:67 +#: src/supertux/menu/debug_menu.cpp:69 msgid "Draw Redundant Frames" msgstr "Desenhar Quadros Redundantes" -#: src/supertux/menu/debug_menu.cpp:68 +#: src/supertux/menu/debug_menu.cpp:70 msgid "Show Player Position" msgstr "Mostrar Posição do Jogador" -#: src/supertux/menu/debug_menu.cpp:69 +#: src/supertux/menu/debug_menu.cpp:71 msgid "Use Bitmap Fonts" msgstr "Usar Fontes Bitmap" -#: src/supertux/menu/debug_menu.cpp:72 +#: src/supertux/menu/debug_menu.cpp:74 msgid "Dump Texture Cache" msgstr "Despejar Cache de Texturas" @@ -2036,10 +2672,37 @@ msgid "File name" msgstr "Nome do arquivo" #: src/supertux/menu/particle_editor_save_as.cpp:38 -#: src/supertux/menu/editor_save_as.cpp:38 src/editor/particle_editor.cpp:766 +#: src/supertux/menu/editor_save_as.cpp:38 src/editor/particle_editor.cpp:767 msgid "Save" msgstr "Salvar" +#: src/supertux/menu/multiplayer_menu.cpp:27 +#: src/supertux/menu/multiplayer_players_menu.cpp:34 +msgid "Multiplayer" +msgstr "" + +#: src/supertux/menu/multiplayer_menu.cpp:30 +msgid "Auto-manage Players" +msgstr "" + +#: src/supertux/menu/multiplayer_menu.cpp:31 +msgid "" +"Automatically add and remove players when controllers are plugged or " +"unplugged" +msgstr "" + +#: src/supertux/menu/multiplayer_menu.cpp:33 +msgid "Allow Multibind" +msgstr "" + +#: src/supertux/menu/multiplayer_menu.cpp:34 +msgid "Allow binding multiple joysticks to a single player" +msgstr "" + +#: src/supertux/menu/multiplayer_menu.cpp:36 +msgid "Manage Players" +msgstr "Gerenciar Jogadores" + #: src/supertux/menu/editor_sectors_menu.cpp:31 msgid "Choose Sector" msgstr "Escolher Setor" @@ -2056,50 +2719,98 @@ msgstr "Criar Setor" msgid "Delete Sector" msgstr "Excluir Setor" -#: src/supertux/menu/editor_sectors_menu.cpp:93 +#: src/supertux/menu/editor_sectors_menu.cpp:92 msgid "Each level must have at least one sector." -msgstr "Cada nível tem de ter pelo menos um setor." +msgstr "Cada nível deve ter pelo menos um setor." -#: src/supertux/menu/editor_sectors_menu.cpp:98 +#: src/supertux/menu/editor_sectors_menu.cpp:97 msgid "Do you really want to delete this sector?" msgstr "Você realmente quer deletar este setor?" -#: src/supertux/menu/editor_sectors_menu.cpp:101 +#: src/supertux/menu/editor_sectors_menu.cpp:100 msgid "Delete sector" msgstr "Deletar setor" -#: src/supertux/menu/editor_objectgroup_menu.cpp:30 -#: src/editor/toolbox_widget.cpp:93 -msgid "Objects" -msgstr "Objetos" +#: src/supertux/menu/custom_menu_menu.cpp:49 +#: src/supertux/menu/options_menu.cpp:191 +msgid "Menu Customization" +msgstr "" + +#: src/supertux/menu/custom_menu_menu.cpp:51 +msgid "Menu Back Color" +msgstr "" + +#: src/supertux/menu/custom_menu_menu.cpp:52 +msgid "Menu Front Color" +msgstr "" + +#: src/supertux/menu/custom_menu_menu.cpp:53 +msgid "Menu Help Back Color" +msgstr "" + +#: src/supertux/menu/custom_menu_menu.cpp:54 +msgid "Menu Help Front Color" +msgstr "" -#: src/supertux/menu/editor_level_select_menu.cpp:62 +#: src/supertux/menu/custom_menu_menu.cpp:55 +msgid "Label Text Color" +msgstr "" + +#: src/supertux/menu/custom_menu_menu.cpp:56 +msgid "Active Text Color" +msgstr "" + +#: src/supertux/menu/custom_menu_menu.cpp:57 +msgid "Divider Line Color" +msgstr "" + +#: src/supertux/menu/custom_menu_menu.cpp:58 +msgid "Menu Roundness" +msgstr "" + +#: src/supertux/menu/custom_menu_menu.cpp:60 +msgid "Editor Interface Color" +msgstr "" + +#: src/supertux/menu/custom_menu_menu.cpp:61 +msgid "Editor Hover Color" +msgstr "" + +#: src/supertux/menu/custom_menu_menu.cpp:62 +msgid "Editor Grab Color" +msgstr "" + +#: src/supertux/menu/custom_menu_menu.cpp:64 +msgid "Reset to defaults" +msgstr "" + +#: src/supertux/menu/editor_level_select_menu.cpp:72 msgid "Empty World" msgstr "Mundo Vazio" -#: src/supertux/menu/editor_level_select_menu.cpp:77 +#: src/supertux/menu/editor_level_select_menu.cpp:87 msgid "Create Level" msgstr "Criar Nível" -#: src/supertux/menu/editor_level_select_menu.cpp:81 +#: src/supertux/menu/editor_level_select_menu.cpp:91 msgid "Edit Worldmap" msgstr "Editar Mapa do Mundo" -#: src/supertux/menu/editor_level_select_menu.cpp:83 +#: src/supertux/menu/editor_level_select_menu.cpp:93 msgid "Create Worldmap" msgstr "Criar Mapa do Mundo" -#: src/supertux/menu/editor_level_select_menu.cpp:85 -#: src/supertux/menu/editor_delete_level_menu.cpp:33 +#: src/supertux/menu/editor_level_select_menu.cpp:95 +#: src/supertux/menu/editor_delete_level_menu.cpp:55 msgid "Delete level" msgstr "Deletar nível" -#: src/supertux/menu/editor_level_select_menu.cpp:87 -#: src/supertux/menu/editor_levelset_menu.cpp:56 +#: src/supertux/menu/editor_level_select_menu.cpp:97 +#: src/supertux/menu/editor_levelset_menu.cpp:50 msgid "World Settings" msgstr "Configurações do Mundo" -#: src/supertux/menu/editor_level_select_menu.cpp:127 +#: src/supertux/menu/editor_level_select_menu.cpp:141 msgid "" "Share this worldmap under license CC-BY-SA 4.0 International (advised).\n" "It allows modifications and redistribution by third-parties.\n" @@ -2107,7 +2818,7 @@ msgid "" "DISCLAIMER: The SuperTux authors take no responsibility for your choice of license." msgstr "Recomendamos que partilhe este mapa-múndi sob a licença CC-BY-SA 4.0 International.\nEsta permite alterações e a redistribuição por terceiros.\nSe não concordar com esta licença, altere-a nas propriedades do mapa-múndi.\nADVERTÊNCIA: Os autores do SuperTux não assumem\nqualquer responsabilidade pela escolha que fizer da licença." -#: src/supertux/menu/editor_level_select_menu.cpp:134 +#: src/supertux/menu/editor_level_select_menu.cpp:148 msgid "" "Share this level under license CC-BY-SA 4.0 International (advised).\n" "It allows modifications and redistribution by third-parties.\n" @@ -2115,496 +2826,816 @@ msgid "" "DISCLAIMER: The SuperTux authors take no responsibility for your choice of license." msgstr "Recomendamos que partilhe este nível sob a licença CC-BY-SA 4.0 International.\nEsta permite alterações e a redistribuição por terceiros.\nSe não concordar com esta licença, altere-a nas propriedades do nível.\nADVERTÊNCIA: Os autores do SuperTux não assumem\nqualquer responsabilidade pela escolha que fizer da licença." -#: src/supertux/menu/editor_level_select_menu.cpp:162 +#: src/supertux/menu/editor_level_select_menu.cpp:179 msgid "" "An auto-save recovery file was found. Would you like to restore the recovery\n" "file and resume where you were before the editor crashed?" msgstr "Um arquivo de recuperação automático foi encontrado. Você gostaria de restaurar\nesse arquivo e continuar de onde parou antes do editor fechar?" -#: src/supertux/menu/editor_level_select_menu.cpp:169 +#: src/supertux/menu/editor_level_select_menu.cpp:186 msgid "This will delete the auto-save file. Are you sure?" msgstr "Isso irá deletar o arquivo de recuperação. Você tem certeza?" -#: src/supertux/menu/worldmap_cheat_menu.cpp:34 -#: src/supertux/menu/cheat_menu.cpp:30 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:35 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:52 +#: src/supertux/menu/cheat_apply_menu.cpp:33 +#: src/supertux/menu/cheat_apply_menu.cpp:51 +msgid "Apply cheat to player" +msgstr "" + +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:39 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:60 +#: src/supertux/menu/multiplayer_players_menu.cpp:39 +#: src/supertux/menu/keyboard_menu.cpp:63 +#: src/supertux/menu/cheat_apply_menu.cpp:39 +#: src/supertux/menu/cheat_apply_menu.cpp:59 +#: src/supertux/menu/multiplayer_player_menu.cpp:37 +#, c++-format +msgid "Player {}" +msgstr "" + +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:57 +#: src/supertux/menu/cheat_apply_menu.cpp:36 +#: src/supertux/menu/cheat_apply_menu.cpp:56 +msgid "All Players" +msgstr "" + +#: src/supertux/menu/worldmap_cheat_menu.cpp:36 +#: src/supertux/menu/cheat_menu.cpp:31 msgid "Cheats" msgstr "Trapaças" -#: src/supertux/menu/worldmap_cheat_menu.cpp:36 -#: src/supertux/menu/cheat_menu.cpp:32 +#: src/supertux/menu/worldmap_cheat_menu.cpp:38 +#: src/supertux/menu/cheat_menu.cpp:33 msgid "Bonus: Grow" msgstr "Bônus: Crescer" -#: src/supertux/menu/worldmap_cheat_menu.cpp:37 +#: src/supertux/menu/worldmap_cheat_menu.cpp:39 +#: src/supertux/menu/cheat_menu.cpp:34 msgid "Bonus: Fire" msgstr "Bônus: Fogo" -#: src/supertux/menu/worldmap_cheat_menu.cpp:38 +#: src/supertux/menu/worldmap_cheat_menu.cpp:40 +#: src/supertux/menu/cheat_menu.cpp:35 msgid "Bonus: Ice" msgstr "Bônus: Gelo" -#: src/supertux/menu/worldmap_cheat_menu.cpp:39 +#: src/supertux/menu/worldmap_cheat_menu.cpp:41 +#: src/supertux/menu/cheat_menu.cpp:36 msgid "Bonus: Air" msgstr "Bônus: Ar" -#: src/supertux/menu/worldmap_cheat_menu.cpp:40 +#: src/supertux/menu/worldmap_cheat_menu.cpp:42 +#: src/supertux/menu/cheat_menu.cpp:37 msgid "Bonus: Earth" msgstr "Bônus: Terra" -#: src/supertux/menu/worldmap_cheat_menu.cpp:41 +#: src/supertux/menu/worldmap_cheat_menu.cpp:43 msgid "Bonus: None" msgstr "Bônus: Nenhum" -#: src/supertux/menu/worldmap_cheat_menu.cpp:44 -#: src/supertux/menu/cheat_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 +#: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:51 msgid "Leave Ghost Mode" msgstr "Sair do Modo Fantasma" -#: src/supertux/menu/worldmap_cheat_menu.cpp:44 -#: src/supertux/menu/cheat_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 +#: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:50 msgid "Activate Ghost Mode" msgstr "Ativar Modo Fantasma" -#: src/supertux/menu/worldmap_cheat_menu.cpp:46 -#: src/supertux/menu/cheat_menu.cpp:40 +#: src/supertux/menu/worldmap_cheat_menu.cpp:48 +#: src/supertux/menu/cheat_menu.cpp:41 msgid "Finish Level" msgstr "Terminar Nível" -#: src/supertux/menu/worldmap_cheat_menu.cpp:47 +#: src/supertux/menu/worldmap_cheat_menu.cpp:49 msgid "Reset Level" msgstr "Reiniciar Nível" -#: src/supertux/menu/worldmap_cheat_menu.cpp:49 +#: src/supertux/menu/worldmap_cheat_menu.cpp:51 msgid "Finish Worldmap" msgstr "Terminar Mapa-Múndi" -#: src/supertux/menu/worldmap_cheat_menu.cpp:50 +#: src/supertux/menu/worldmap_cheat_menu.cpp:52 msgid "Reset Worldmap" msgstr "Resetar Mapa-Múndi" -#: src/supertux/menu/worldmap_cheat_menu.cpp:52 +#: src/supertux/menu/worldmap_cheat_menu.cpp:54 msgid "Go to level" msgstr "Ir para o nível" -#: src/supertux/menu/worldmap_cheat_menu.cpp:53 +#: src/supertux/menu/worldmap_cheat_menu.cpp:55 msgid "Go to main spawnpoint" msgstr "Ir para o ponto de partida" -#: src/supertux/menu/worldmap_cheat_menu.cpp:145 +#: src/supertux/menu/worldmap_cheat_menu.cpp:188 msgid "Select level" msgstr "Selecionar nível" #: src/supertux/menu/editor_save_as.cpp:33 -#: src/supertux/menu/editor_menu.cpp:49 +#: src/supertux/menu/editor_menu.cpp:63 msgid "Save Level as" msgstr "Salvar nível como" #: src/supertux/menu/editor_save_as.cpp:33 -#: src/supertux/menu/editor_menu.cpp:50 +#: src/supertux/menu/editor_menu.cpp:64 msgid "Save Copy" msgstr "Salvar Cópia" -#: src/supertux/menu/editor_levelset_select_menu.cpp:72 +#: src/supertux/menu/editor_levelset_select_menu.cpp:71 msgid "Choose World" msgstr "Escolher Mundo" -#: src/supertux/menu/editor_levelset_select_menu.cpp:100 -#, c-format -msgid "%d level" -msgid_plural "%d levels" -msgstr[0] "%d nível" -msgstr[1] "%d níveis" -msgstr[2] "%d níveis" +#: src/supertux/menu/editor_levelset_select_menu.cpp:99 +#, c++-format +msgid "{} level" +msgid_plural "{} levels" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" -#: src/supertux/menu/editor_levelset_select_menu.cpp:113 +#: src/supertux/menu/editor_levelset_select_menu.cpp:112 msgid "Create World" msgstr "Criar Mundo" -#: src/supertux/menu/options_menu.cpp:98 src/supertux/menu/main_menu.cpp:64 -#: src/supertux/menu/game_menu.cpp:61 src/supertux/menu/worldmap_menu.cpp:31 -msgid "Options" -msgstr "Opções" - -#: src/supertux/menu/options_menu.cpp:104 -#: src/supertux/menu/options_menu.cpp:142 -#: src/supertux/menu/options_menu.cpp:455 -#: src/supertux/menu/options_menu.cpp:476 src/editor/object_settings.cpp:119 -msgid "auto" -msgstr "automático" - -#: src/supertux/menu/options_menu.cpp:221 -msgid "Desktop" -msgstr "Ambiente de Trabalho" - -#: src/supertux/menu/options_menu.cpp:251 -msgid "on" -msgstr "ativo" - -#: src/supertux/menu/options_menu.cpp:252 -msgid "off" -msgstr "inativo" +#: src/supertux/menu/editor_levelset_select_menu.cpp:113 +#: src/supertux/menu/editor_delete_levelset_menu.cpp:41 +msgid "Delete World" +msgstr "" -#: src/supertux/menu/options_menu.cpp:253 -msgid "adaptive" -msgstr "adaptativo" +#: src/supertux/menu/options_menu.cpp:72 +#: src/supertux/menu/options_select_menu.cpp:35 +msgid "Locale" +msgstr "" -#: src/supertux/menu/options_menu.cpp:347 +#: src/supertux/menu/options_menu.cpp:76 msgid "Select Language" msgstr "Selecionar Idioma" -#: src/supertux/menu/options_menu.cpp:348 +#: src/supertux/menu/options_menu.cpp:77 msgid "Select a different language to display text in" msgstr "Selecione um idioma diferente para exibir o texto" -#: src/supertux/menu/options_menu.cpp:350 +#: src/supertux/menu/options_menu.cpp:79 msgid "Language Packs" msgstr "Pacotes de Idiomas" -#: src/supertux/menu/options_menu.cpp:351 +#: src/supertux/menu/options_menu.cpp:80 msgid "Language packs contain up-to-date translations" msgstr "Os Pacotes de Idiomas contêm traduções atualizadas" -#: src/supertux/menu/options_menu.cpp:353 -#: src/supertux/menu/profile_menu.cpp:34 -msgid "Select Profile" -msgstr "Escolher Perfil" +#: src/supertux/menu/options_menu.cpp:88 +#: src/supertux/menu/options_select_menu.cpp:37 +msgid "Video" +msgstr "Vídeo" -#: src/supertux/menu/options_menu.cpp:354 -msgid "Select a profile to play with" -msgstr "Selecione um perfil para jogar" - -#: src/supertux/menu/options_menu.cpp:358 +#: src/supertux/menu/options_menu.cpp:91 msgid "Window Resizable" msgstr "Janela Redimensionável" -#: src/supertux/menu/options_menu.cpp:359 +#: src/supertux/menu/options_menu.cpp:92 msgid "Allow window resizing, might require a restart to take effect" msgstr "Permitir redimensionamento de janela, pode exigir uma reinicialização para entrar em vigor" -#: src/supertux/menu/options_menu.cpp:361 -msgid "Window Resolution" -msgstr "Resolução da Janela" - -#: src/supertux/menu/options_menu.cpp:362 -msgid "Resize the window to the given size" -msgstr "Redimensione a janela para o tamanho especificado" - -#: src/supertux/menu/options_menu.cpp:364 +#: src/supertux/menu/options_menu.cpp:96 msgid "Fullscreen" msgstr "Tela Cheia" -#: src/supertux/menu/options_menu.cpp:365 +#: src/supertux/menu/options_menu.cpp:97 msgid "Fill the entire screen" msgstr "Preencher a tela toda" -#: src/supertux/menu/options_menu.cpp:367 -msgid "Fullscreen Resolution" -msgstr "Tela Cheia" - -#: src/supertux/menu/options_menu.cpp:368 -msgid "" -"Determine the resolution used in fullscreen mode (you must toggle fullscreen" -" to complete the change)" -msgstr "Determinar a resolução usada no modo de tela cheia (você deve ativar a opção tela cheia para funcionar)" - -#: src/supertux/menu/options_menu.cpp:373 +#: src/supertux/menu/options_menu.cpp:104 msgid "Fit to browser" msgstr "Ajustar ao navegador" -#: src/supertux/menu/options_menu.cpp:374 +#: src/supertux/menu/options_menu.cpp:105 msgid "Fit the resolution to the size of your browser" msgstr "Ajustar a resolução ao tamanho do seu navegador" -#: src/supertux/menu/options_menu.cpp:378 -msgid "Magnification" -msgstr "Ampliação" - -#: src/supertux/menu/options_menu.cpp:379 -msgid "Change the magnification of the game area" -msgstr "Alterar a ampliação da área de jogo" - -#: src/supertux/menu/options_menu.cpp:381 -msgid "VSync" -msgstr "VSync" - -#: src/supertux/menu/options_menu.cpp:382 -msgid "Set the VSync mode" -msgstr "Definir o modo VSync" +#: src/supertux/menu/options_menu.cpp:116 +msgid "Change Video System" +msgstr "" -#: src/supertux/menu/options_menu.cpp:385 -msgid "Aspect Ratio" -msgstr "Proporção de tela" +#: src/supertux/menu/options_menu.cpp:117 +msgid "Change video system used to render graphics" +msgstr "" -#: src/supertux/menu/options_menu.cpp:386 -msgid "Adjust the aspect ratio" -msgstr "Ajustar a proporção de tela" +#: src/supertux/menu/options_menu.cpp:124 +#: src/supertux/menu/options_select_menu.cpp:38 +msgid "Audio" +msgstr "Áudio" -#: src/supertux/menu/options_menu.cpp:392 +#: src/supertux/menu/options_menu.cpp:129 msgid "Disable all sound effects" msgstr "Desativar todos os efeitos sonoros" -#: src/supertux/menu/options_menu.cpp:394 +#: src/supertux/menu/options_menu.cpp:131 msgid "Disable all music" msgstr "Desativar a música" -#: src/supertux/menu/options_menu.cpp:396 -msgid "Sound Volume" -msgstr "Volume do Som" - -#: src/supertux/menu/options_menu.cpp:397 -msgid "Adjust sound volume" -msgstr "Ajustar volume de som" - -#: src/supertux/menu/options_menu.cpp:399 -msgid "Music Volume" -msgstr "Volume da Música" - -#: src/supertux/menu/options_menu.cpp:400 -msgid "Adjust music volume" -msgstr "Ajustar volume de música" - -#: src/supertux/menu/options_menu.cpp:404 +#: src/supertux/menu/options_menu.cpp:138 msgid "Sound (disabled)" msgstr "Som (desligado)" -#: src/supertux/menu/options_menu.cpp:405 +#: src/supertux/menu/options_menu.cpp:139 msgid "Music (disabled)" msgstr "Música (desligada)" -#: src/supertux/menu/options_menu.cpp:408 -#: src/supertux/menu/keyboard_menu.cpp:30 +#: src/supertux/menu/options_menu.cpp:147 +#: src/supertux/menu/options_select_menu.cpp:39 +msgid "Controls" +msgstr "Controles" + +#: src/supertux/menu/options_menu.cpp:151 +msgid "Enable Rumbling Controllers" +msgstr "" + +#: src/supertux/menu/options_menu.cpp:152 +msgid "Enable vibrating the game controllers." +msgstr "" + +#: src/supertux/menu/options_menu.cpp:152 +msgid "This feature is currently only used in the multiplayer options menu." +msgstr "" + +#: src/supertux/menu/options_menu.cpp:154 +#: src/supertux/menu/keyboard_menu.cpp:34 msgid "Setup Keyboard" msgstr "Configurar Teclado" -#: src/supertux/menu/options_menu.cpp:409 +#: src/supertux/menu/options_menu.cpp:155 msgid "Configure key-action mappings" msgstr "Configurar as teclas usadas" -#: src/supertux/menu/options_menu.cpp:412 -#: src/supertux/menu/joystick_menu.cpp:52 +#: src/supertux/menu/options_menu.cpp:158 +#: src/supertux/menu/joystick_menu.cpp:54 msgid "Setup Joystick" msgstr "Configurar Joystick" -#: src/supertux/menu/options_menu.cpp:413 +#: src/supertux/menu/options_menu.cpp:159 msgid "Configure joystick control-action mappings" msgstr "Configurar os controles do joystick " -#: src/supertux/menu/options_menu.cpp:417 -msgid "On-screen controls" -msgstr "Controles na Tela" +#: src/supertux/menu/options_menu.cpp:167 +#: src/supertux/menu/options_select_menu.cpp:40 +msgid "Extras" +msgstr "Extras" -#: src/supertux/menu/options_menu.cpp:418 -msgid "Toggle on-screen controls for mobile devices" -msgstr "Ativar controles na tela para dispositivos móveis" +#: src/supertux/menu/options_menu.cpp:170 +#: src/supertux/menu/profile_menu.cpp:56 +msgid "Select Profile" +msgstr "Escolher Perfil" -#: src/supertux/menu/options_menu.cpp:420 +#: src/supertux/menu/options_menu.cpp:171 +msgid "Select a profile to play with" +msgstr "Selecione um perfil para jogar" + +#: src/supertux/menu/options_menu.cpp:174 +msgid "Multiplayer settings" +msgstr "" + +#: src/supertux/menu/options_menu.cpp:175 +msgid "Configure settings specific to multiplayer" +msgstr "" + +#: src/supertux/menu/options_menu.cpp:178 msgid "Enable transitions" msgstr "Habilitar transições" -#: src/supertux/menu/options_menu.cpp:421 +#: src/supertux/menu/options_menu.cpp:179 msgid "Enable screen transitions and smooth menu animation" msgstr "Habilita transições de tela e animação suavizada de menus" -#: src/supertux/menu/options_menu.cpp:425 -msgid "Developer Mode" -msgstr "Modo Desenvolvedor" +#: src/supertux/menu/options_menu.cpp:181 +msgid "Custom title screen levels" +msgstr "" + +#: src/supertux/menu/options_menu.cpp:182 +msgid "Allow overriding the title screen level, when loading certain worlds" +msgstr "" -#: src/supertux/menu/options_menu.cpp:430 +#: src/supertux/menu/options_menu.cpp:185 msgid "Christmas Mode" msgstr "Modo Natal" -#: src/supertux/menu/options_menu.cpp:433 +#: src/supertux/menu/options_menu.cpp:187 +msgid "Integrations and presence" +msgstr "Integrações e presença" + +#: src/supertux/menu/options_menu.cpp:188 +msgid "" +"Manage whether SuperTux should display the levels you play on your social " +"media profiles (Discord)" +msgstr "Gerencia se o SuperTux deveria exibir os níveis que você joga nos perfis de suas mídias sociais (Discord)" + +#: src/supertux/menu/options_menu.cpp:192 +msgid "Customize the appearance of the menus" +msgstr "" + +#: src/supertux/menu/options_menu.cpp:199 +#: src/supertux/menu/options_select_menu.cpp:41 +msgid "Advanced" +msgstr "Avançado" + +#: src/supertux/menu/options_menu.cpp:204 +msgid "Developer Mode" +msgstr "Modo Desenvolvedor" + +#: src/supertux/menu/options_menu.cpp:206 msgid "Confirmation Dialog" msgstr "Diálogo de Confirmação" -#: src/supertux/menu/options_menu.cpp:433 +#: src/supertux/menu/options_menu.cpp:206 msgid "Confirm aborting level" msgstr "Confirmar o abortamento do nível" -#: src/supertux/menu/options_menu.cpp:434 +#: src/supertux/menu/options_menu.cpp:208 msgid "Pause on focus loss" msgstr "Pausar ao perder foco" -#: src/supertux/menu/options_menu.cpp:435 +#: src/supertux/menu/options_menu.cpp:209 msgid "Automatically pause the game when the window loses focus" msgstr "Automaticamente pausar o jogo quando a janela perder o foco" -#: src/supertux/menu/options_menu.cpp:436 +#: src/supertux/menu/options_menu.cpp:211 msgid "Use custom mouse cursor" msgstr "Usar cursor de mouse customizado" -#: src/supertux/menu/options_menu.cpp:436 +#: src/supertux/menu/options_menu.cpp:211 msgid "Whether the game renders its own cursor or uses the system's cursor" msgstr "Se o jogo desenha seu próprio cursor ou usa o cursor do sistema" -#: src/supertux/menu/options_menu.cpp:438 -msgid "Integrations and presence" -msgstr "Integrações e presença" +#: src/supertux/menu/options_menu.cpp:214 +msgid "Check for new releases" +msgstr "Verificar por atualizações" -#: src/supertux/menu/options_menu.cpp:439 +#: src/supertux/menu/options_menu.cpp:215 msgid "" -"Manage whether SuperTux should display the levels you play on your social " -"media profiles (Discord)" -msgstr "Gerencia se o SuperTux deveria exibir os níveis que você joga nos perfis de suas mídias sociais (Discord)" +"Allows the game to perform checks for new SuperTux releases on startup and " +"notify if any found." +msgstr "" + +#: src/supertux/menu/options_menu.cpp:245 +#: src/supertux/menu/options_menu.cpp:288 src/supertux/direction.cpp:76 +msgid "auto" +msgstr "automático" + +#: src/supertux/menu/options_menu.cpp:281 +msgid "Magnification" +msgstr "Ampliação" + +#: src/supertux/menu/options_menu.cpp:282 +msgid "Change the magnification of the game area" +msgstr "Alterar a ampliação da área de jogo" + +#: src/supertux/menu/options_menu.cpp:318 +msgid "Aspect Ratio" +msgstr "Proporção de tela" + +#: src/supertux/menu/options_menu.cpp:319 +msgid "Adjust the aspect ratio" +msgstr "Ajustar a proporção de tela" -#: src/supertux/menu/options_menu.cpp:559 +#: src/supertux/menu/options_menu.cpp:346 +msgid "Window Resolution" +msgstr "Resolução da Janela" + +#: src/supertux/menu/options_menu.cpp:347 +msgid "Resize the window to the given size" +msgstr "Redimensione a janela para o tamanho especificado" + +#: src/supertux/menu/options_menu.cpp:377 +msgid "Desktop" +msgstr "Ambiente de Trabalho" + +#: src/supertux/menu/options_menu.cpp:404 +msgid "Fullscreen Resolution" +msgstr "Tela Cheia" + +#: src/supertux/menu/options_menu.cpp:405 +msgid "" +"Determine the resolution used in fullscreen mode (you must toggle fullscreen" +" to complete the change)" +msgstr "Determinar a resolução usada no modo de tela cheia (você deve ativar a opção tela cheia para funcionar)" + +#: src/supertux/menu/options_menu.cpp:411 +msgid "on" +msgstr "ativo" + +#: src/supertux/menu/options_menu.cpp:412 +msgid "off" +msgstr "inativo" + +#: src/supertux/menu/options_menu.cpp:413 +msgid "adaptive" +msgstr "adaptativo" + +#: src/supertux/menu/options_menu.cpp:431 +msgid "VSync" +msgstr "VSync" + +#: src/supertux/menu/options_menu.cpp:432 +msgid "Set the VSync mode" +msgstr "Definir o modo VSync" + +#: src/supertux/menu/options_menu.cpp:467 +msgid "Sound Volume" +msgstr "Volume do Som" + +#: src/supertux/menu/options_menu.cpp:468 +msgid "Adjust sound volume" +msgstr "Ajustar volume de som" + +#: src/supertux/menu/options_menu.cpp:503 +msgid "Music Volume" +msgstr "Volume da Música" + +#: src/supertux/menu/options_menu.cpp:504 +msgid "Adjust music volume" +msgstr "Ajustar volume de música" + +#: src/supertux/menu/options_menu.cpp:517 +msgid "On-screen controls scale" +msgstr "" + +#: src/supertux/menu/options_menu.cpp:638 msgid "" "The game couldn't detect your browser resolution.\n" "This most likely happens because it is not embedded\n" "in the SuperTux custom HTML template.\n" msgstr "O jogo não conseguiu detectar a resolução do seu navegador.\nIsso provavelmente aconteceu porque ele não está embutido\nno modelo de HTML customizado do SuperTux.\n" -#: src/supertux/menu/main_menu.cpp:56 src/supertux/menu/world_set_menu.cpp:28 +#: src/supertux/menu/editor_delete_levelset_menu.cpp:80 +msgid "You cannot delete the world that you are editing" +msgstr "" + +#: src/supertux/menu/editor_delete_levelset_menu.cpp:83 +#, c++-format +msgid "You are about to delete world \"{}\". Are you sure?" +msgstr "" + +#: src/supertux/menu/addon_preview_menu.cpp:82 +#, c++-format +msgid "{} \"{}\"" +msgstr "{} \"{}\"" + +#: src/supertux/menu/addon_preview_menu.cpp:87 +msgid "Some information about this add-on is not available." +msgstr "" + +#: src/supertux/menu/addon_preview_menu.cpp:88 +msgid "Perform a \"Check Online\" to try retrieving it." +msgstr "" + +#: src/supertux/menu/addon_preview_menu.cpp:92 +msgid "No author specified." +msgstr "" + +#: src/supertux/menu/addon_preview_menu.cpp:92 +#, c++-format +msgid "Author: {}" +msgstr "Autor: {}" + +#: src/supertux/menu/addon_preview_menu.cpp:93 +#, c++-format +msgid "Type: {}" +msgstr "Tipo: {}" + +#: src/supertux/menu/addon_preview_menu.cpp:94 +msgid "No license specified." +msgstr "Nenhuma licença especificada." + +#: src/supertux/menu/addon_preview_menu.cpp:94 +#, c++-format +msgid "License: {}" +msgstr "Licença: {}" + +#: src/supertux/menu/addon_preview_menu.cpp:99 +msgid "Dependencies:" +msgstr "Dependências:" + +#: src/supertux/menu/addon_preview_menu.cpp:108 +msgid "Installed" +msgstr "Instalado" + +#: src/supertux/menu/addon_preview_menu.cpp:108 +msgid "Not installed" +msgstr "Não instalado" + +#: src/supertux/menu/addon_preview_menu.cpp:113 +msgid "Not available!" +msgstr "Indisponível!" + +#: src/supertux/menu/addon_preview_menu.cpp:120 +msgid "Description:" +msgstr "Descrição:" + +#: src/supertux/menu/addon_preview_menu.cpp:123 +msgid "No description available." +msgstr "Nenhuma descrição disponível." + +#: src/supertux/menu/addon_preview_menu.cpp:147 +msgid "Failed to load all available screenshot previews." +msgstr "Falhou em carregar todas as capturas de tela disponíveis." + +#: src/supertux/menu/addon_preview_menu.cpp:152 +msgid "Show screenshots" +msgstr "Mostrar capturas de tela" + +#: src/supertux/menu/addon_preview_menu.cpp:165 +msgid "Screenshot previews are disabled for automatic installs." +msgstr "Capturas de tela estão desativadas para instalações automáticas." + +#: src/supertux/menu/addon_preview_menu.cpp:169 +msgid "No screenshot previews available." +msgstr "Nenhuma captura de tela disponível." + +#: src/supertux/menu/addon_preview_menu.cpp:177 +msgid "Install" +msgstr "Instalar" + +#: src/supertux/menu/addon_preview_menu.cpp:190 +msgid "Uninstall" +msgstr "Desinstalar" + +#: src/supertux/menu/addon_preview_menu.cpp:214 +#, c++-format +msgid "Are you sure you want to uninstall \"{}\"?" +msgstr "Você tem certeza que quer desinstalar \"{}\"?" + +#: src/supertux/menu/addon_preview_menu.cpp:215 +msgid "" +"\n" +"Your progress won't be lost." +msgstr "\nSeu progresso não será perdido." + +#: src/supertux/menu/addon_preview_menu.cpp:227 +#, c++-format +msgid "" +"NOTE: The add-on \"{}\" is a dependency of {} other installed {}.\n" +"Are you sure you wish to uninstall?" +msgstr "" + +#: src/supertux/menu/addon_preview_menu.cpp:246 +#, c++-format +msgid "" +"Cannot toggle add-on \"{}\":\n" +"{}" +msgstr "" + +#: src/supertux/menu/addon_preview_menu.cpp:279 +msgid "Fetching screenshot previews..." +msgstr "Obtendo capturas de tela..." + +#: src/supertux/menu/addon_preview_menu.cpp:300 +msgid "Updating" +msgstr "Atualizando" + +#: src/supertux/menu/addon_preview_menu.cpp:300 +msgid "Downloading" +msgstr "Baixando" + +#: src/supertux/menu/addon_preview_menu.cpp:328 +msgid "Add-on uninstalled successfully." +msgstr "Complemento desinstalado com sucesso." + +#: src/supertux/menu/addon_preview_menu.cpp:333 +#, c++-format +msgid "" +"Error uninstalling add-on:\n" +"{}" +msgstr "Erro ao desinstalar o complemento:\n{}" + +#: src/supertux/menu/addon_preview_menu.cpp:361 +msgid "" +"Please restart SuperTux\n" +"for these changes to take effect." +msgstr "Por favor, reinicie o SuperTux\npara que as alterações tenham efeito." + +#: src/supertux/menu/main_menu.cpp:51 src/supertux/menu/world_set_menu.cpp:28 msgid "Start Game" msgstr "Começar Jogo" -#: src/supertux/menu/main_menu.cpp:60 src/supertux/menu/addon_menu.cpp:122 +#: src/supertux/menu/main_menu.cpp:55 msgid "Add-ons" msgstr "Complementos" -#: src/supertux/menu/main_menu.cpp:62 src/supertux/menu/web_asset_menu.cpp:38 +#: src/supertux/menu/main_menu.cpp:57 src/supertux/menu/web_asset_menu.cpp:38 msgid "Manage Assets" msgstr "Gerenciar Recursos" -#: src/supertux/menu/main_menu.cpp:65 src/supertux/menu/editor_menu.cpp:43 +#: src/supertux/menu/main_menu.cpp:59 +#: src/supertux/menu/options_select_menu.cpp:29 +#: src/supertux/menu/game_menu.cpp:58 src/supertux/menu/worldmap_menu.cpp:31 +#: src/supertux/menu/editor_menu.cpp:70 +msgid "Options" +msgstr "Opções" + +#: src/supertux/menu/main_menu.cpp:60 src/supertux/menu/editor_menu.cpp:58 msgid "Level Editor" msgstr "Editor de Níveis" -#: src/supertux/menu/main_menu.cpp:66 +#: src/supertux/menu/main_menu.cpp:61 msgid "Credits" msgstr "Créditos" -#: src/supertux/menu/main_menu.cpp:67 +#: src/supertux/menu/main_menu.cpp:64 msgid "Donate" msgstr "Doação" -#: src/supertux/menu/main_menu.cpp:69 +#: src/supertux/menu/main_menu.cpp:67 msgid "Quit" msgstr "Sair" -#: src/supertux/menu/editor_sector_menu.cpp:35 +#: src/supertux/menu/main_menu.cpp:106 +msgid "" +"This will take you to the SuperTux donation page. Are you sure you want to " +"continue?" +msgstr "Isso levará você à página de doações do SuperTux. Você tem certeza que quer continuar?" + +#: src/supertux/menu/editor_sector_menu.cpp:34 +#, c++-format +msgid "Sector {}" +msgstr "Setor {}" + +#: src/supertux/menu/editor_sector_menu.cpp:37 msgid "Initialization script" msgstr "Script de inicialização" -#: src/supertux/menu/editor_sector_menu.cpp:36 +#: src/supertux/menu/editor_sector_menu.cpp:38 msgid "Gravity" msgstr "Gravidade" -#: src/supertux/menu/editor_sector_menu.cpp:41 +#: src/supertux/menu/editor_sector_menu.cpp:43 msgid "Resize offset X" msgstr "Redimensionar offset X" -#: src/supertux/menu/editor_sector_menu.cpp:42 +#: src/supertux/menu/editor_sector_menu.cpp:44 msgid "Resize offset Y" msgstr "Redimensionar offset Y" -#: src/supertux/menu/editor_sector_menu.cpp:43 +#: src/supertux/menu/editor_sector_menu.cpp:45 msgid "Resize" msgstr "Redimensionar" -#: src/supertux/menu/profile_menu.cpp:41 -#, c-format -msgid "[Profile {}]" -msgstr "[Perfil {}]" +#: src/supertux/menu/profile_menu.cpp:60 +msgid "No profiles found." +msgstr "Nenhum perfil encontrado." -#: src/supertux/menu/profile_menu.cpp:45 -#, c-format +#: src/supertux/menu/profile_menu.cpp:68 +#: src/supertux/menu/profile_menu.cpp:149 +#: src/supertux/menu/profile_menu.cpp:168 +#, c++-format msgid "Profile {}" msgstr "Perfil {}" -#: src/supertux/menu/profile_menu.cpp:50 -msgid "Reset profile" -msgstr "Reiniciar o perfil" - -#: src/supertux/menu/profile_menu.cpp:51 -msgid "Reset all profiles" -msgstr "Reiniciar todos os perfis" - -#: src/supertux/menu/profile_menu.cpp:67 -msgid "Deleting your profile will reset your game progress. Are you sure?" -msgstr "Apagar seu perfil irá reiniciar seu progresso de jogo. Você tem certeza?" +#: src/supertux/menu/profile_menu.cpp:69 +#, c++-format +msgid "{} (Profile {})" +msgstr "{} (Perfil {})" + +#: src/supertux/menu/profile_menu.cpp:84 +msgid "No profile selected." +msgstr "Nenhum perfil selecionado." + +#: src/supertux/menu/profile_menu.cpp:91 src/supertux/menu/profile_menu.cpp:93 +#: src/supertux/menu/profile_name_menu.cpp:42 +msgid "Rename" +msgstr "Renomear" + +#: src/supertux/menu/profile_menu.cpp:98 +#: src/supertux/menu/profile_menu.cpp:100 +msgid "Reset" +msgstr "Resetar" + +#: src/supertux/menu/profile_menu.cpp:103 +#: src/supertux/menu/profile_menu.cpp:105 +msgid "Reset all" +msgstr "Resetar tudo" + +#: src/supertux/menu/profile_menu.cpp:113 +#: src/supertux/menu/profile_menu.cpp:115 +msgid "Delete all" +msgstr "Deletar tudo" + +#: src/supertux/menu/profile_menu.cpp:148 +#, c++-format +msgid "" +"This will reset all game progress on the profile \"{}\".\n" +"Are you sure?" +msgstr "" -#: src/supertux/menu/profile_menu.cpp:73 +#: src/supertux/menu/profile_menu.cpp:157 msgid "This will reset your game progress on all profiles. Are you sure?" msgstr "Isso irá reiniciar o seu progresso no jogo em todos os perfis. Você tem certeza?" -#: src/supertux/menu/editor_levelset_menu.cpp:59 +#: src/supertux/menu/profile_menu.cpp:167 +#, c++-format +msgid "" +"This will delete the profile \"{}\",\n" +"including all game progress on it. Are you sure?" +msgstr "" + +#: src/supertux/menu/profile_menu.cpp:178 +msgid "" +"This will delete all profiles, including all game progress on them.\n" +"Are you sure?" +msgstr "" + +#: src/supertux/menu/editor_levelset_menu.cpp:53 #: src/supertux/menu/editor_new_levelset_menu.cpp:35 msgid "Description" msgstr "Descrição" -#: src/supertux/menu/editor_levelset_menu.cpp:60 -#: src/supertux/menu/addon_menu.cpp:48 -#: data//images/engine/editor/objects.stoi:371 -msgid "Worldmap" -msgstr "Mapa-múndi" +#: src/supertux/menu/editor_levelset_menu.cpp:55 +msgid "Title Screen Level" +msgstr "" -#: src/supertux/menu/editor_levelset_menu.cpp:60 -#: src/supertux/menu/addon_menu.cpp:45 -msgid "Levelset" -msgstr "Conjunto de níveis" +#: src/supertux/menu/editor_levelset_menu.cpp:56 +msgid "A level to be used for the title screen, after exiting the world." +msgstr "" -#: src/supertux/menu/addon_menu.cpp:51 -msgid "World" -msgstr "Mundo" +#: src/supertux/menu/multiplayer_players_menu.cpp:46 +msgid "Add Player" +msgstr "Adicionar Jogador" -#: src/supertux/menu/addon_menu.cpp:54 -msgid "Add-on" -msgstr "Complemento" +#: src/supertux/menu/multiplayer_players_menu.cpp:59 +msgid "Remove Last Player" +msgstr "Remover o Último Jogador" -#: src/supertux/menu/addon_menu.cpp:60 -msgid "Unknown" -msgstr "Desconhecido" +#: src/supertux/menu/multiplayer_players_menu.cpp:62 +msgid "" +"Warning: The player you are trying to\n" +"remove is currently in-game.\n" +"\n" +"Do you wish to remove them anyways?" +msgstr "" -#: src/supertux/menu/addon_menu.cpp:71 -#, c-format -msgid "{} \"{}\" by \"{}\"" -msgstr "{} \"{}\" por \"{}\"" +#: src/supertux/menu/addon_menu.cpp:68 +msgid "Installed Language Packs" +msgstr "" -#: src/supertux/menu/addon_menu.cpp:129 +#: src/supertux/menu/addon_menu.cpp:68 +msgid "Installed Add-ons" +msgstr "" + +#: src/supertux/menu/addon_menu.cpp:76 src/supertux/menu/addon_menu.cpp:117 +msgid "No language packs installed" +msgstr "" + +#: src/supertux/menu/addon_menu.cpp:76 msgid "No Add-ons installed" msgstr "Não há Complementos instalados" -#: src/supertux/menu/addon_menu.cpp:133 -msgid "No Add-ons found" -msgstr "Não foram encontrados Complementos" +#: src/supertux/menu/addon_menu.cpp:124 +#, c++-format +msgid "{} {}*UPDATE*" +msgstr "" -#: src/supertux/menu/addon_menu.cpp:179 -#, c-format -msgid "Install {} *NEW*" -msgstr "Instalar {} *NOVO*" +#: src/supertux/menu/addon_menu.cpp:130 +#, c++-format +msgid "{}{}" +msgstr "{}{}" -#: src/supertux/menu/addon_menu.cpp:190 -#, c-format -msgid "Install {}" -msgstr "Instalar {}" +#: src/supertux/menu/addon_menu.cpp:140 +msgid "No updates available." +msgstr "" -#: src/supertux/menu/addon_menu.cpp:199 -msgid "No new Add-ons found" -msgstr "Não foram encontrados novos Complementos" +#: src/supertux/menu/addon_menu.cpp:144 +#, c++-format +msgid "{} {} available" +msgstr "{} {} disponível" -#: src/supertux/menu/addon_menu.cpp:205 -msgid "Check Online (disabled)" -msgstr "Verificar Online (desabilitado)" +#: src/supertux/menu/addon_menu.cpp:144 +msgid "update" +msgstr "" -#: src/supertux/menu/addon_menu.cpp:209 -msgid "Check Online" -msgstr "Verificar Online" +#: src/supertux/menu/addon_menu.cpp:144 +msgid "updates" +msgstr "" -#: src/supertux/menu/addon_menu.cpp:286 -msgid "Downloading Add-On Repository Index" -msgstr "Baixando o Índice de Complementos do Repositório" +#: src/supertux/menu/addon_menu.cpp:146 +msgid "Check for updates" +msgstr "" -#: src/supertux/menu/addon_menu.cpp:301 -#, c-format -msgid "Downloading {}" -msgstr "Baixando {}" +#: src/supertux/menu/addon_menu.cpp:150 +msgid "Browse language packs" +msgstr "" -#: src/supertux/menu/addon_menu.cpp:348 -msgid "" -"Please restart SuperTux\n" -"for these changes to take effect." -msgstr "Por favor, reinicie o SuperTux\npara que as alterações tenham efeito." +#: src/supertux/menu/addon_menu.cpp:150 +#: src/supertux/menu/addon_browse_menu.cpp:70 +msgid "Browse Add-ons" +msgstr "" + +#: src/supertux/menu/addon_menu.cpp:151 +msgid "Install from file" +msgstr "" + +#: src/supertux/menu/addon_menu.cpp:208 +msgid "Checking for updates..." +msgstr "" #: src/supertux/menu/editor_new_levelset_menu.cpp:31 msgid "New World" @@ -2618,6 +3649,53 @@ msgstr "Por favor entre com um nome para o subconjunto deste nível." msgid "Story Mode" msgstr "Modo de História" +#: src/supertux/menu/addon_browse_menu.cpp:70 +msgid "Browse Language Packs" +msgstr "" + +#: src/supertux/menu/addon_browse_menu.cpp:112 +#, c++-format +msgid "Page {}/{}" +msgstr "Página {}/{}" + +#: src/supertux/menu/addon_browse_menu.cpp:124 +msgid "No new language packs available" +msgstr "" + +#: src/supertux/menu/addon_browse_menu.cpp:124 +msgid "No new Add-ons available" +msgstr "" + +#: src/supertux/menu/addon_browse_menu.cpp:127 +msgid "No language packs available" +msgstr "" + +#: src/supertux/menu/addon_browse_menu.cpp:127 +msgid "No Add-ons available" +msgstr "" + +#: src/supertux/menu/addon_browse_menu.cpp:135 +#: src/supertux/menu/addon_browse_menu.cpp:139 +msgid "Previous page" +msgstr "" + +#: src/supertux/menu/addon_browse_menu.cpp:143 +#: src/supertux/menu/addon_browse_menu.cpp:147 +msgid "Next page" +msgstr "" + +#: src/supertux/menu/addon_browse_menu.cpp:154 +msgid "Check Online (disabled)" +msgstr "Verificar Online (desabilitado)" + +#: src/supertux/menu/addon_browse_menu.cpp:158 +msgid "Check Online" +msgstr "Verificar Online" + +#: src/supertux/menu/addon_browse_menu.cpp:195 +msgid "Downloading Add-On Repository Index" +msgstr "Baixando o Índice de Complementos do Repositório" + #: src/supertux/menu/web_asset_menu.cpp:42 msgid "New files location" msgstr "Localização de novos arquivos" @@ -2638,207 +3716,235 @@ msgstr "Carregar arquivo de partículas" msgid "Open" msgstr "Abrir" -#: src/supertux/menu/game_menu.cpp:31 -msgid "Are you sure?" -msgstr "Tem certeza?" - -#: src/supertux/menu/game_menu.cpp:54 src/supertux/menu/worldmap_menu.cpp:30 +#: src/supertux/menu/game_menu.cpp:51 src/supertux/menu/worldmap_menu.cpp:30 msgid "Continue" msgstr "Continuar" -#: src/supertux/menu/game_menu.cpp:55 +#: src/supertux/menu/game_menu.cpp:52 msgid "Restart Level" msgstr "Reiniciar Nível" -#: src/supertux/menu/game_menu.cpp:58 +#: src/supertux/menu/game_menu.cpp:55 msgid "Restart from Checkpoint" msgstr "Reiniciar do Checkpoint" -#: src/supertux/menu/game_menu.cpp:63 +#: src/supertux/menu/game_menu.cpp:60 msgid "Abort Level" msgstr "Desistir desse Nível" -#: src/supertux/menu/keyboard_menu.cpp:32 -#: src/supertux/menu/joystick_menu.cpp:69 +#: src/supertux/menu/game_menu.cpp:76 src/supertux/menu/game_menu.cpp:87 +#: src/supertux/menu/game_menu.cpp:99 +msgid "Are you sure?" +msgstr "Tem certeza?" + +#: src/supertux/menu/profile_name_menu.cpp:36 +#, c++-format +msgid "Rename \"{}\"" +msgstr "" + +#: src/supertux/menu/profile_name_menu.cpp:36 +msgid "Add profile" +msgstr "" + +#: src/supertux/menu/profile_name_menu.cpp:40 +msgid "Profile names must have a maximum of 20 characters." +msgstr "" + +#: src/supertux/menu/profile_name_menu.cpp:42 +msgid "Create" +msgstr "Criar" + +#: src/supertux/menu/profile_name_menu.cpp:56 +msgid "" +"Profile names must have a maximum of 20 characters.\n" +"Please choose a different name." +msgstr "" + +#: src/supertux/menu/profile_name_menu.cpp:77 +msgid "An error occurred while creating the profile." +msgstr "" + +#: src/supertux/menu/keyboard_menu.cpp:36 +#: src/supertux/menu/joystick_menu.cpp:71 msgid "Up" msgstr "Cima" -#: src/supertux/menu/keyboard_menu.cpp:33 -#: src/supertux/menu/joystick_menu.cpp:70 +#: src/supertux/menu/keyboard_menu.cpp:37 +#: src/supertux/menu/joystick_menu.cpp:72 msgid "Down" msgstr "Baixo" -#: src/supertux/menu/keyboard_menu.cpp:36 -#: src/supertux/menu/joystick_menu.cpp:73 +#: src/supertux/menu/keyboard_menu.cpp:40 +#: src/supertux/menu/joystick_menu.cpp:75 msgid "Jump" msgstr "Pular" -#: src/supertux/menu/keyboard_menu.cpp:38 -#: src/supertux/menu/joystick_menu.cpp:76 +#: src/supertux/menu/keyboard_menu.cpp:43 +#: src/supertux/menu/joystick_menu.cpp:78 msgid "Peek Left" msgstr "Espiar à Esquerda" -#: src/supertux/menu/keyboard_menu.cpp:39 -#: src/supertux/menu/joystick_menu.cpp:77 +#: src/supertux/menu/keyboard_menu.cpp:44 +#: src/supertux/menu/joystick_menu.cpp:79 msgid "Peek Right" msgstr "Espiar à Direita" -#: src/supertux/menu/keyboard_menu.cpp:40 -#: src/supertux/menu/joystick_menu.cpp:78 +#: src/supertux/menu/keyboard_menu.cpp:45 +#: src/supertux/menu/joystick_menu.cpp:80 msgid "Peek Up" msgstr "Espiar Acima" -#: src/supertux/menu/keyboard_menu.cpp:41 -#: src/supertux/menu/joystick_menu.cpp:79 +#: src/supertux/menu/keyboard_menu.cpp:46 +#: src/supertux/menu/joystick_menu.cpp:81 msgid "Peek Down" msgstr "Espiar Abaixo" -#: src/supertux/menu/keyboard_menu.cpp:43 -#: src/supertux/menu/joystick_menu.cpp:81 +#: src/supertux/menu/keyboard_menu.cpp:51 +#: src/supertux/menu/joystick_menu.cpp:83 msgid "Console" msgstr "Consola" -#: src/supertux/menu/keyboard_menu.cpp:44 -#: src/supertux/menu/joystick_menu.cpp:82 +#: src/supertux/menu/keyboard_menu.cpp:52 +#: src/supertux/menu/joystick_menu.cpp:84 msgid "Cheat Menu" msgstr "Menu de Trapaças" -#: src/supertux/menu/keyboard_menu.cpp:45 -#: src/supertux/menu/joystick_menu.cpp:83 +#: src/supertux/menu/keyboard_menu.cpp:53 +#: src/supertux/menu/joystick_menu.cpp:85 msgid "Debug Menu" msgstr "Menu de Depuração" -#: src/supertux/menu/keyboard_menu.cpp:47 -#: src/supertux/menu/joystick_menu.cpp:85 +#: src/supertux/menu/keyboard_menu.cpp:56 +#: src/supertux/menu/joystick_menu.cpp:87 msgid "Jump with Up" msgstr "Pula com Tecla para Cima" -#: src/supertux/menu/keyboard_menu.cpp:60 +#: src/supertux/menu/keyboard_menu.cpp:82 msgid "Up cursor" msgstr "Seta para Cima" -#: src/supertux/menu/keyboard_menu.cpp:62 +#: src/supertux/menu/keyboard_menu.cpp:84 msgid "Down cursor" msgstr "Seta para Baixo" -#: src/supertux/menu/keyboard_menu.cpp:64 +#: src/supertux/menu/keyboard_menu.cpp:86 msgid "Left cursor" msgstr "Seta para a Esquerda" -#: src/supertux/menu/keyboard_menu.cpp:66 +#: src/supertux/menu/keyboard_menu.cpp:88 msgid "Right cursor" msgstr "Seta para a Direita" -#: src/supertux/menu/keyboard_menu.cpp:68 +#: src/supertux/menu/keyboard_menu.cpp:90 msgid "Return" msgstr "Enter" -#: src/supertux/menu/keyboard_menu.cpp:70 +#: src/supertux/menu/keyboard_menu.cpp:92 msgid "Space" msgstr "Espaço" -#: src/supertux/menu/keyboard_menu.cpp:72 +#: src/supertux/menu/keyboard_menu.cpp:94 msgid "Right Shift" msgstr "Shift Direito" -#: src/supertux/menu/keyboard_menu.cpp:74 +#: src/supertux/menu/keyboard_menu.cpp:96 msgid "Left Shift" msgstr "Shift Esquerdo" -#: src/supertux/menu/keyboard_menu.cpp:76 +#: src/supertux/menu/keyboard_menu.cpp:98 msgid "Right Control" msgstr "Control Direito" -#: src/supertux/menu/keyboard_menu.cpp:78 +#: src/supertux/menu/keyboard_menu.cpp:100 msgid "Left Control" msgstr "Control Esquerdo" -#: src/supertux/menu/keyboard_menu.cpp:80 +#: src/supertux/menu/keyboard_menu.cpp:102 msgid "Right Alt" msgstr "Alt Direito" -#: src/supertux/menu/keyboard_menu.cpp:82 +#: src/supertux/menu/keyboard_menu.cpp:104 msgid "Left Alt" msgstr "Alt Esquerdo" -#: src/supertux/menu/keyboard_menu.cpp:84 +#: src/supertux/menu/keyboard_menu.cpp:106 msgid "Right Command" msgstr "Comando Direito" -#: src/supertux/menu/keyboard_menu.cpp:86 +#: src/supertux/menu/keyboard_menu.cpp:108 msgid "Left Command" msgstr "Comando Esquerdo" -#: src/supertux/menu/keyboard_menu.cpp:100 +#: src/supertux/menu/keyboard_menu.cpp:122 msgid "Press Key" msgstr "Pressione uma Tecla" -#: src/supertux/menu/language_menu.cpp:40 +#: src/supertux/menu/language_menu.cpp:43 msgid "Language" msgstr "Idioma" -#: src/supertux/menu/language_menu.cpp:42 +#: src/supertux/menu/language_menu.cpp:45 msgid "" msgstr "" -#: src/supertux/menu/joystick_menu.cpp:55 +#: src/supertux/menu/joystick_menu.cpp:57 msgid "Manual Configuration" msgstr "Configuração Manual" -#: src/supertux/menu/joystick_menu.cpp:57 +#: src/supertux/menu/joystick_menu.cpp:59 msgid "" "Use manual configuration instead of SDL2's automatic GameController support" msgstr "Use a configuração manual ao invés do suporte automático GameController do SDL2" -#: src/supertux/menu/joystick_menu.cpp:75 +#: src/supertux/menu/joystick_menu.cpp:77 msgid "Pause/Menu" msgstr "Pausa/Menu" -#: src/supertux/menu/joystick_menu.cpp:91 +#: src/supertux/menu/joystick_menu.cpp:93 msgid "No Joysticks found" msgstr "Nenhum Joystick encontrado" -#: src/supertux/menu/joystick_menu.cpp:92 +#: src/supertux/menu/joystick_menu.cpp:94 msgid "Scan for Joysticks" msgstr "Procurar Joysticks" -#: src/supertux/menu/joystick_menu.cpp:125 +#: src/supertux/menu/joystick_menu.cpp:127 msgid "Press Button" msgstr "Pressione um Botão" -#: src/supertux/menu/joystick_menu.cpp:162 +#: src/supertux/menu/joystick_menu.cpp:164 msgid "Axis " msgstr "Eixo " -#: src/supertux/menu/joystick_menu.cpp:165 +#: src/supertux/menu/joystick_menu.cpp:167 msgid "-" msgstr "-" -#: src/supertux/menu/joystick_menu.cpp:167 +#: src/supertux/menu/joystick_menu.cpp:169 msgid "+" msgstr "+" -#: src/supertux/menu/joystick_menu.cpp:174 +#: src/supertux/menu/joystick_menu.cpp:176 msgid "X2" msgstr "X2" -#: src/supertux/menu/joystick_menu.cpp:176 +#: src/supertux/menu/joystick_menu.cpp:178 msgid "Y2" msgstr "Y2" -#: src/supertux/menu/joystick_menu.cpp:189 +#: src/supertux/menu/joystick_menu.cpp:191 msgid "Hat Up" msgstr "Inclinar para Cima" -#: src/supertux/menu/joystick_menu.cpp:193 +#: src/supertux/menu/joystick_menu.cpp:195 msgid "Hat Down" msgstr "Inclinar para Baixo" -#: src/supertux/menu/joystick_menu.cpp:197 +#: src/supertux/menu/joystick_menu.cpp:199 msgid "Hat Left" msgstr "Inclinar para Esquerda" -#: src/supertux/menu/joystick_menu.cpp:201 +#: src/supertux/menu/joystick_menu.cpp:203 msgid "Hat Right" msgstr "Inclinar para Direita" @@ -2850,52 +3956,47 @@ msgstr "Pausar" msgid "Leave World" msgstr "Sair do Mapa-Múndi" -#: src/supertux/menu/download_dialog.cpp:27 +#: src/supertux/menu/download_dialog.cpp:42 msgid "Abort Download" msgstr "Abortar Download" -#: src/supertux/menu/download_dialog.cpp:42 -msgid "Error:\n" -msgstr "Erro:\n" - -#: src/supertux/menu/download_dialog.cpp:96 -msgid "Close" -msgstr "Fechar" - -#: src/supertux/menu/cheat_menu.cpp:33 -msgid "Bonus: Fire x 64" -msgstr "Bônus: Fogo x 64" - -#: src/supertux/menu/cheat_menu.cpp:34 -msgid "Bonus: Ice x 64" -msgstr "Bônus: Gelo x 64" - -#: src/supertux/menu/cheat_menu.cpp:35 -msgid "Bonus: Air x 64" -msgstr "Bônus: Ar x 64" - -#: src/supertux/menu/cheat_menu.cpp:36 -msgid "Bonus: Earth x 64" -msgstr "Bônus: Terra x 64" +#: src/supertux/menu/download_dialog.cpp:59 +#, c++-format +msgid "" +"Error:\n" +"{}" +msgstr "" -#: src/supertux/menu/cheat_menu.cpp:37 +#: src/supertux/menu/cheat_menu.cpp:38 msgid "Bonus: Star" msgstr "Bônus: Estrela" -#: src/supertux/menu/cheat_menu.cpp:38 +#: src/supertux/menu/cheat_menu.cpp:39 msgid "Shrink Tux" msgstr "Encolher Tux" -#: src/supertux/menu/cheat_menu.cpp:39 +#: src/supertux/menu/cheat_menu.cpp:40 msgid "Kill Tux" msgstr "Matar Tux" +#: src/supertux/menu/cheat_menu.cpp:55 +msgid "Prevent Death" +msgstr "" + +#: src/supertux/menu/addon_file_install_menu.cpp:32 +msgid "Install Add-on from file" +msgstr "" + +#: src/supertux/menu/addon_file_install_menu.cpp:34 +msgid "Drag and drop add-on ZIP archive" +msgstr "" + #: src/supertux/menu/particle_editor_menu.cpp:32 msgid "Particle Editor" msgstr "Editor de Partículas" #: src/supertux/menu/particle_editor_menu.cpp:36 -#: src/supertux/menu/editor_menu.cpp:45 +#: src/supertux/menu/editor_menu.cpp:60 msgid "Return to Editor" msgstr "Retornar ao Editor" @@ -2920,7 +4021,7 @@ msgid "Open Particle Directory" msgstr "Abrir Diretório de Partículas" #: src/supertux/menu/particle_editor_menu.cpp:45 -#: src/supertux/menu/editor_menu.cpp:88 +#: src/supertux/menu/editor_menu.cpp:118 msgid "Keyboard Shortcuts" msgstr "Atalhos do Teclado" @@ -2928,7 +4029,7 @@ msgstr "Atalhos do Teclado" msgid "Exit Particle Editor" msgstr "Sair do Editor de Partículas" -#: src/supertux/menu/particle_editor_menu.cpp:120 +#: src/supertux/menu/particle_editor_menu.cpp:121 msgid "" "Keyboard Shortcuts:\n" "---------------------\n" @@ -2940,18 +4041,18 @@ msgid "" "Ctrl+Y = Redo" msgstr "Atalhos de Teclado:\n---------------------\nEsc = Abrir Menu\nCtrl+S = Salvar\nCtrl+Shift+S = Salvar como\nCtrl+O = Abrir\nCtrl+Z = Desfazer\nCtrl+Y = Refazer" -#: src/supertux/menu/particle_editor_menu.cpp:121 -#: src/supertux/menu/editor_menu.cpp:176 +#: src/supertux/menu/particle_editor_menu.cpp:122 +#: src/supertux/menu/editor_menu.cpp:206 msgid "Got it!" msgstr "Entendi!" #: src/supertux/menu/editor_level_menu.cpp:31 -#: src/supertux/menu/editor_menu.cpp:86 +#: src/supertux/menu/editor_menu.cpp:116 msgid "Worldmap Settings" msgstr "Configurações de Mapa do Mundo" #: src/supertux/menu/editor_level_menu.cpp:31 -#: src/supertux/menu/editor_menu.cpp:86 +#: src/supertux/menu/editor_menu.cpp:116 msgid "Level Settings" msgstr "Configurações do Nível" @@ -2959,7 +4060,7 @@ msgstr "Configurações do Nível" msgid "Author" msgstr "Autor" -#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1166 +#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1253 msgid "Contact" msgstr "Contato" @@ -2991,99 +4092,129 @@ msgstr "Por favor entre com o nome do autor para este nível." msgid "Please enter a license for this level." msgstr "Por favor digite uma licença para este nível." -#: src/supertux/menu/editor_menu.cpp:38 +#: src/supertux/menu/editor_menu.cpp:53 msgid "tiny tile (4px)" msgstr "piso minúsculo (4px)" -#: src/supertux/menu/editor_menu.cpp:39 +#: src/supertux/menu/editor_menu.cpp:54 msgid "small tile (8px)" msgstr "piso pequeno (8px)" -#: src/supertux/menu/editor_menu.cpp:40 +#: src/supertux/menu/editor_menu.cpp:55 msgid "medium tile (16px)" msgstr "piso médio (16px)" -#: src/supertux/menu/editor_menu.cpp:41 +#: src/supertux/menu/editor_menu.cpp:56 msgid "big tile (32px)" msgstr "piso grande (32px)" -#: src/supertux/menu/editor_menu.cpp:46 +#: src/supertux/menu/editor_menu.cpp:61 msgid "Save Worldmap" msgstr "Salvar Mapa do Mundo" -#: src/supertux/menu/editor_menu.cpp:46 +#: src/supertux/menu/editor_menu.cpp:61 msgid "Save Level" msgstr "Salvar Nível" -#: src/supertux/menu/editor_menu.cpp:55 +#: src/supertux/menu/editor_menu.cpp:65 msgid "Test Level" msgstr "Testar Nível" -#: src/supertux/menu/editor_menu.cpp:59 +#: src/supertux/menu/editor_menu.cpp:67 msgid "Test Worldmap" msgstr "Testar Mapa do Mundo" -#: src/supertux/menu/editor_menu.cpp:62 +#: src/supertux/menu/editor_menu.cpp:72 msgid "Share Level" msgstr "Compartilhar Nível" -#: src/supertux/menu/editor_menu.cpp:64 +#: src/supertux/menu/editor_menu.cpp:74 msgid "Package Add-On" msgstr "Empacotar Complemento" -#: src/supertux/menu/editor_menu.cpp:66 +#: src/supertux/menu/editor_menu.cpp:76 msgid "Open Level Directory" msgstr "Abrir Diretório do Nível" -#: src/supertux/menu/editor_menu.cpp:70 +#: src/supertux/menu/editor_menu.cpp:79 msgid "Edit Another Level" msgstr "Editar Outro Nível" -#: src/supertux/menu/editor_menu.cpp:73 +#: src/supertux/menu/editor_menu.cpp:81 msgid "Edit Another World" msgstr "Editar Outro Mundo" -#: src/supertux/menu/editor_menu.cpp:77 +#: src/supertux/menu/editor_menu.cpp:86 +msgid "Convert all tiles in the level using converters." +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:90 msgid "Grid Size" msgstr "Tamanho da Grelha" -#: src/supertux/menu/editor_menu.cpp:78 +#: src/supertux/menu/editor_menu.cpp:91 msgid "Show Grid" msgstr "Mostrar Grelha" -#: src/supertux/menu/editor_menu.cpp:79 +#: src/supertux/menu/editor_menu.cpp:92 msgid "Grid Snapping" msgstr "Encaixar na Grelha" -#: src/supertux/menu/editor_menu.cpp:80 +#: src/supertux/menu/editor_menu.cpp:93 msgid "Render Background" msgstr "Renderizar Fundo" -#: src/supertux/menu/editor_menu.cpp:81 +#: src/supertux/menu/editor_menu.cpp:94 msgid "Render Light" msgstr "Renderizar Luz" -#: src/supertux/menu/editor_menu.cpp:82 +#: src/supertux/menu/editor_menu.cpp:95 msgid "Autotile Mode" msgstr "Modo de Piso Automático" -#: src/supertux/menu/editor_menu.cpp:83 +#: src/supertux/menu/editor_menu.cpp:96 msgid "Enable Autotile Help" msgstr "Ativar Ajuda do Piso Automático" -#: src/supertux/menu/editor_menu.cpp:84 +#: src/supertux/menu/editor_menu.cpp:97 +msgid "Enable Object Undo Tracking" +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:100 +msgid "Undo Stack Size" +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:102 msgid "Autosave Frequency" msgstr "Frequência de Salvamento Automático" -#: src/supertux/menu/editor_menu.cpp:91 +#: src/supertux/menu/editor_menu.cpp:108 +msgid "Check for Deprecated Tiles" +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:109 +msgid "Check if any deprecated tiles are currently present in the level." +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:110 +msgid "Show Deprecated Tiles" +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:111 +msgid "" +"Indicate all deprecated tiles on the active tilemap, without the need of " +"hovering over." +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:121 msgid "Exit Level Editor" msgstr "Sair do Editor de Níveis" -#: src/supertux/menu/editor_menu.cpp:140 +#: src/supertux/menu/editor_menu.cpp:170 msgid "Do you want to package this world as an add-on?" msgstr "Você quer empacotar esse mundo como um complemento?" -#: src/supertux/menu/editor_menu.cpp:163 +#: src/supertux/menu/editor_menu.cpp:196 msgid "" "We encourage you to share your levels in the SuperTux forum.\n" "To find your level, click the\n" @@ -3091,7 +4222,7 @@ msgid "" "Do you want to go to the forum now?" msgstr "Nós encorajamos a você compartilhar seus níveis no fórum do SuperTux.\nPara encontrar seu nível, clique no\nitem do menu \"Abrir diretório do nível\".\nVocê quer ir para o fórum agora?" -#: src/supertux/menu/editor_menu.cpp:175 +#: src/supertux/menu/editor_menu.cpp:205 msgid "" "Keyboard Shortcuts:\n" "---------------------\n" @@ -3102,54 +4233,217 @@ msgid "" "Ctrl+Y = Redo\n" "F6 = Render Light\n" "F7 = Grid Snapping\n" -"F8 = Show Grid" -msgstr "Atalhos de Teclado:\n---------------------\nEsc = Abrir Menu\nCtrl+S = Salvar\nCtrl+T = Testar\nCtrl+Z = Desfazer\nCtrl+Y = Refazer\nF6 = Renderizar Luz\nF7 = Encaixar na Grelha\nF8 = Mostrar Grelha" +"F8 = Show Grid\n" +"Ctrl++ or Ctrl+Scroll Up = Zoom In\n" +"Ctrl+- or Ctrl+Scroll Down = Zoom Out\n" +"Ctrl+D = Reset Zoom\n" +"\n" +"Scripting Shortcuts:\n" +" ------------- \n" +"Home = Go to beginning of line\n" +"End = Go to end of line\n" +"Left arrow = Go back in text\n" +"Right arrow = Go forward in text\n" +"Backspace = Delete in front of text cursor\n" +"Delete = Delete behind text cursor\n" +"Ctrl+X = Cut whole line\n" +"Ctrl+C = Copy whole line\n" +"Ctrl+V = Paste\n" +"Ctrl+D = Duplicate line\n" +"Ctrl+Z = Undo\n" +"Ctrl+Y = Redo" +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:232 +msgid "Deprecated tiles are still present in the level." +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:239 +msgid "Do you want to show all deprecated tiles on active tilemaps?" +msgstr "" + +#: src/supertux/menu/editor_menu.cpp:246 +msgid "There are no more deprecated tiles in the level!" +msgstr "" + +#: src/supertux/menu/multiplayer_player_menu.cpp:40 +msgid "Play with the keyboard" +msgstr "" + +#: src/supertux/menu/multiplayer_player_menu.cpp:58 +msgid "Remove Player" +msgstr "" + +#: src/supertux/menu/multiplayer_player_menu.cpp:82 +msgid "Respawn Player" +msgstr "" + +#: src/supertux/menu/multiplayer_player_menu.cpp:108 +msgid "Spawn Player" +msgstr "" + +#: src/supertux/menu/multiplayer_player_menu.cpp:136 +msgid "Controllers" +msgstr "Controladores" + +#: src/supertux/menu/multiplayer_player_menu.cpp:152 +msgid "" +"This controller does not support rumbling;\n" +"please check the controllers manually." +msgstr "" + +#: src/supertux/menu/multiplayer_player_menu.cpp:157 +msgid "" +"This SuperTux build does not support rumbling\n" +"controllers; please check the controllers manually." +msgstr "" + +#: src/supertux/menu/multiplayer_player_menu.cpp:184 +msgid "" +"This joystick does not support rumbling;\n" +"please check the joysticks manually." +msgstr "" -#: src/supertux/menu/editor_delete_level_menu.cpp:53 -msgid "You cannot delete level that you are editing!" -msgstr "Você não pode deletar o nível que você está editando!" +#: src/supertux/menu/multiplayer_player_menu.cpp:189 +msgid "" +"This SuperTux build does not support rumbling\n" +"joysticks; please check the joysticks manually." +msgstr "" + +#: src/supertux/menu/editor_delete_level_menu.cpp:59 +msgid "No levels available" +msgstr "" + +#: src/supertux/menu/editor_delete_level_menu.cpp:79 +msgid "You cannot delete the level that you are editing!" +msgstr "" + +#: src/supertux/menu/editor_delete_level_menu.cpp:82 +#, c++-format +msgid "You are about to delete level \"{}\". Are you sure?" +msgstr "" -#: src/supertux/levelintro.cpp:136 -#, c-format +#: src/supertux/levelintro.cpp:137 +#, c++-format msgid "contributed by {}" msgstr "contribuído por {}" -#: src/supertux/levelintro.cpp:169 +#: src/supertux/levelintro.cpp:184 msgid "Badguys killed" msgstr "Inimigos vencidos" -#: src/supertux/levelintro.cpp:177 +#: src/supertux/levelintro.cpp:192 msgid "Best time" msgstr "Melhor tempo" -#: src/supertux/levelintro.cpp:181 +#: src/supertux/levelintro.cpp:196 msgid "Level target time" msgstr "Objetivo de tempo do nível" -#: src/supertux/tile_set.cpp:118 +#: src/supertux/tile_set.cpp:113 msgid "Others" msgstr "Outros" -#: src/supertux/moving_object.cpp:55 +#: src/supertux/direction.cpp:67 +msgid "up" +msgstr "cima" + +#: src/supertux/direction.cpp:69 +msgid "down" +msgstr "baixo" + +#: src/supertux/moving_object.cpp:63 msgid "Region" msgstr "Região" -#: src/supertux/main.cpp:563 +#: src/supertux/main.cpp:801 +#, c++-format +msgid "New release: SuperTux v{}!" +msgstr "" + +#: src/supertux/main.cpp:804 +#, c++-format msgid "" -"The UBports version is under heavy development!\n" -"If you encounter issues, PLEASE contact the maintainter\n" -"at https://github.com/supertux/supertux/issues or on the\n" -"Open Store's Telegram at https://open-store.io/telegram" -msgstr "A versão UBports está sob desenvolvimento pesado!\nSe você encontrar problemas, POR FAVOR contate o mantenedor\nem https://github.com/supertux/supertux/issues ou no\nTelegram da Open Store em https://open-store.io/telegram" +"A new release of SuperTux (v{}) is available!\n" +"For more information, you can visit the SuperTux website.\n" +"\n" +"Do you want to visit the website now?" +msgstr "" + +#: src/supertux/main.cpp:815 +msgid "Checking for new releases..." +msgstr "" #: src/control/joystick_config.cpp:85 msgid "Joystick Mappings" msgstr "Mapeamentos de Joystick" -#: src/worldmap/worldmap_parser.cpp:167 +#: src/worldmap/sprite_change.cpp:91 +msgid "Stay action" +msgstr "Ação imóvel" + +#: src/worldmap/sprite_change.cpp:92 +msgid "Initial stay action" +msgstr "Ação imóvel inicial" + +#: src/worldmap/sprite_change.cpp:93 +msgid "Stay group" +msgstr "Grupo imóvel" + +#: src/worldmap/sprite_change.cpp:94 +msgid "Change on touch" +msgstr "Alterar ao tocar" + +#: src/worldmap/special_tile.hpp:36 +msgid "Special Tile" +msgstr "" + +#: src/worldmap/level_tile.hpp:36 src/worldmap/level_tile.cpp:161 +msgid "Level" +msgstr "Nível" + +#: src/worldmap/teleporter.cpp:50 +msgid "Automatic" +msgstr "Automático" + +#: src/worldmap/teleporter.cpp:51 +msgid "Target worldmap" +msgstr "Mapa-múndi alvo" + +#: src/worldmap/sprite_change.hpp:35 +msgid "Sprite Change" +msgstr "Alteração de Imagem" + +#: src/worldmap/special_tile.cpp:75 +msgid "Show message" +msgstr "Mostrar Mensagem" + +#: src/worldmap/level_tile.cpp:84 msgid "" msgstr "" +#: src/worldmap/level_tile.cpp:162 +msgid "Outro script" +msgstr "Outro script" + +#: src/worldmap/level_tile.cpp:163 +msgid "Auto play" +msgstr "Iniciar automaticamente o nível" + +#: src/worldmap/level_tile.cpp:164 +msgid "Title colour" +msgstr "Cor do título do mapa" + +#: src/worldmap/teleporter.hpp:34 +msgid "Teleporter" +msgstr "Tele-transportador" + +#: src/editor/tip.cpp:80 +msgid "" +"This object's current functionality is deprecated.\n" +"Updating to get its latest functionality is recommended." +msgstr "" + #: src/editor/node_marker.cpp:122 msgid "Path Node" msgstr "Nó do Caminho" @@ -3162,85 +4456,82 @@ msgstr "Pressione CTRL para mover as alças de Bézier" msgid "Easing" msgstr "Suavização" -#: src/editor/object_settings.cpp:119 -msgid "up" -msgstr "cima" - -#: src/editor/object_settings.cpp:119 -msgid "down" -msgstr "baixo" - -#: src/editor/object_settings.cpp:131 +#: src/editor/object_settings.cpp:129 msgid "West" msgstr "Oeste" -#: src/editor/object_settings.cpp:131 +#: src/editor/object_settings.cpp:129 msgid "East" msgstr "Leste" -#: src/editor/object_settings.cpp:131 +#: src/editor/object_settings.cpp:129 msgid "North" msgstr "Norte" -#: src/editor/object_settings.cpp:131 +#: src/editor/object_settings.cpp:129 msgid "South" msgstr "Sul" -#: src/editor/object_settings.cpp:144 +#: src/editor/object_settings.cpp:142 msgid "One shot" msgstr "Um tiro" -#: src/editor/object_settings.cpp:144 +#: src/editor/object_settings.cpp:142 msgid "Ping-pong" msgstr "Ping-pong" -#: src/editor/object_settings.cpp:144 +#: src/editor/object_settings.cpp:142 msgid "Circular" msgstr "Circular" -#: src/editor/object_settings.cpp:144 -msgid "Unordered" -msgstr "Não ordenado" +#: src/editor/layers_widget.cpp:331 +#, c++-format +msgid "Sector: {}" +msgstr "" -#: src/editor/object_option.cpp:85 +#: src/editor/object_option.cpp:92 msgid "true" msgstr "sim" -#: src/editor/object_option.cpp:85 +#: src/editor/object_option.cpp:92 msgid "false" msgstr "não" -#: src/editor/object_option.cpp:271 src/editor/object_option.cpp:320 +#: src/editor/object_option.cpp:308 src/editor/object_option.cpp:356 msgid "invalid" msgstr "inválido" -#: src/editor/object_option.cpp:580 +#: src/editor/object_option.cpp:665 +msgid "Scale X" +msgstr "" + +#: src/editor/object_option.cpp:666 +msgid "Scale Y" +msgstr "" + +#: src/editor/object_option.cpp:667 +msgid "Offset X" +msgstr "" + +#: src/editor/object_option.cpp:668 +msgid "Offset Y" +msgstr "" + +#: src/editor/object_option.cpp:672 src/editor/object_menu.cpp:67 msgid "Remove" msgstr "Remover" -#: src/editor/object_option.cpp:597 +#: src/editor/object_option.cpp:689 msgid "Test from here" msgstr "Testar daqui" -#: src/editor/object_option.cpp:614 +#: src/editor/object_option.cpp:706 msgid "Open Particle Editor" msgstr "Abrir Editor de Partículas" -#: src/editor/worldmap_objects.hpp:56 src/editor/worldmap_objects.cpp:127 -msgid "Level" -msgstr "Nível" - -#: src/editor/worldmap_objects.hpp:79 -msgid "Teleporter" -msgstr "Tele-transportador" - -#: src/editor/worldmap_objects.hpp:119 -msgid "Sprite Change" -msgstr "Alteração de Imagem" - -#: src/editor/worldmap_objects.hpp:140 -msgid "Special tile" -msgstr "Piso Especial" +#: src/editor/particle_editor.cpp:114 +msgid "Change texture... ->" +msgstr "" #: src/editor/particle_editor.cpp:126 msgid "Max amount" @@ -3322,17 +4613,60 @@ msgstr "Sempre destruir" msgid "Offscreen mode" msgstr "Modo fora da tela" -#: src/editor/particle_editor.cpp:765 +#: src/editor/particle_editor.cpp:229 +msgid "Clear" +msgstr "Limpar" + +#: src/editor/particle_editor.cpp:245 +msgid "<- General settings" +msgstr "" + +#: src/editor/particle_editor.cpp:255 +msgid "Likeliness" +msgstr "" + +#: src/editor/particle_editor.cpp:266 +msgid "Color (RGBA)" +msgstr "" + +#: src/editor/particle_editor.cpp:311 +msgid "Scale (x, y)" +msgstr "" + +#: src/editor/particle_editor.cpp:332 +msgid "Hitbox scale (x, y)" +msgstr "" + +#: src/editor/particle_editor.cpp:353 +msgid "Hitbox offset relative to scale" +msgstr "" + +#: src/editor/particle_editor.cpp:372 +msgid "Change texture..." +msgstr "Mudar textura..." + +#: src/editor/particle_editor.cpp:766 msgid "" "This particle configuration contains unsaved changes,\n" "do you want to save?" msgstr "As configurações dessa partícula contém mudanças não salvas,\nvocê quer salvar?" -#: src/editor/particle_editor.cpp:773 +#: src/editor/particle_editor.cpp:774 msgid "Save as" msgstr "Salvar como" -#: src/editor/editor.cpp:566 +#: src/editor/editor.cpp:577 +msgid "" +"This level contains deprecated tiles.\n" +"It is strongly recommended to replace all deprecated tiles\n" +"to avoid loss of compatibility in future versions." +msgstr "" + +#: src/editor/editor.cpp:579 +msgid "Tip: Turn on \"Show Deprecated Tiles\" from the level editor menu." +msgstr "" + +#: src/editor/editor.cpp:626 msgid "" "Don't forget that your levels and assets\n" "aren't saved between sessions!\n" @@ -3340,11 +4674,15 @@ msgid "" "from the \"Manage Assets\" menu." msgstr "Não se esqueça que seus níveis e recursos\nnão são salvos entre sessões!\nSe você quiser manter seus níveis, baixe eles\ndo menu de \"Gerenciar Recursos\"." -#: src/editor/editor.cpp:582 +#: src/editor/editor.cpp:661 msgid "This level contains unsaved changes, do you want to save?" msgstr "Este nível contém alterações não salvas. Gostaria de salvá-las?" -#: src/editor/editor.cpp:622 +#: src/editor/editor.cpp:662 +msgid "This level may contain unsaved changes, do you want to save?" +msgstr "" + +#: src/editor/editor.cpp:797 msgid "" "Some obsolete add-ons are still active\n" "and might cause collisions with default Super Tux structure.\n" @@ -3352,93 +4690,71 @@ msgid "" "Disabling these add-ons will not delete your game progress." msgstr "Ainda estão disponíveis alguns complementos antigos\nque podem causar colisões com a estrutura padrão do SuperTux.\nVocê ainda pode ativar estes complementos no menu.\nSe você desativar estes complementos, não perderá o progresso no jogo." -#: src/editor/editor.cpp:625 +#: src/editor/editor.cpp:800 msgid "Disable add-ons" msgstr "Desativar complementos" -#: src/editor/editor.cpp:630 +#: src/editor/editor.cpp:805 msgid "Ignore (not advised)" msgstr "Ignorar (não recomendável)" -#: src/editor/editor.cpp:634 +#: src/editor/editor.cpp:809 msgid "Leave editor" msgstr "Sair do editor" -#: src/editor/editor.cpp:853 +#: src/editor/editor.cpp:1023 msgid "" "Couldn't find a \"main\" sector.\n" "Please change the name of the sector where\n" "you'd like the player to start to \"main\"" msgstr "Não foi possível encontrar um setor \"principal\".\nPor favor altera o nome do setor onde gostaria que o jogador comece" -#: src/editor/editor.cpp:857 +#: src/editor/editor.cpp:1027 msgid "" "Couldn't find a \"main\" spawnpoint.\n" " Please change the name of the spawnpoint where\n" "you'd like the player to start to \"main\"" msgstr "Não foi possível encontrar um ponto de começo \"principal\".\nPor favor altera o ponto de começo onde gostaria que o jogador comece" -#: src/editor/worldmap_objects.cpp:128 -msgid "Outro script" -msgstr "Outro script" - -#: src/editor/worldmap_objects.cpp:129 -msgid "Auto play" -msgstr "Iniciar automaticamente o nível" - -#: src/editor/worldmap_objects.cpp:131 -msgid "Title colour" -msgstr "Cor do título do mapa" - -#: src/editor/worldmap_objects.cpp:173 -msgid "Automatic" -msgstr "Automático" - -#: src/editor/worldmap_objects.cpp:175 -msgid "Target worldmap" -msgstr "Mapa-múndi alvo" - -#: src/editor/worldmap_objects.cpp:238 -msgid "Stay action" -msgstr "Ação imóvel" - -#: src/editor/worldmap_objects.cpp:239 -msgid "Initial stay action" -msgstr "Ação imóvel inicial" - -#: src/editor/worldmap_objects.cpp:240 -msgid "Stay group" -msgstr "Grupo imóvel" +#: src/editor/object_menu.cpp:60 +msgid "Patch Notes" +msgstr "" -#: src/editor/worldmap_objects.cpp:241 -msgid "Change on touch" -msgstr "Alterar ao tocar" +#: src/editor/object_menu.cpp:84 +msgid "" +"This will update the object to its latest functionality.\n" +"Check the \"Patch Notes\" for more information.\n" +"\n" +"Keep in mind this is very likely to break the proper behaviour of the object.\n" +"Make sure to re-check any behaviour, related to the object." +msgstr "" -#: src/editor/worldmap_objects.cpp:271 -msgid "Show message" -msgstr "Mostrar Mensagem" +#: src/editor/object_menu.cpp:98 +#, c++-format +msgid "Patch notes for v{}:" +msgstr "" -#: src/editor/worldmap_objects.cpp:273 -msgid "Invisible" -msgstr "Invisível" +#: src/editor/overlay_widget.cpp:1062 +msgid "Cannot select deprecated tiles" +msgstr "" -#: src/editor/overlay_widget.cpp:1297 +#: src/editor/overlay_widget.cpp:1567 msgid "Autotile mode is on" msgstr "Modo de Piso Automático ativo" -#: src/editor/overlay_widget.cpp:1299 +#: src/editor/overlay_widget.cpp:1571 msgid "Hold Ctrl to enable autotile" msgstr "Segure Ctrl para ativar o Piso Automático" -#: src/editor/overlay_widget.cpp:1303 +#: src/editor/overlay_widget.cpp:1578 msgid "Autotile erasing mode is on" msgstr "Modo de apagar (Piso Automático) ativo" -#: src/editor/overlay_widget.cpp:1305 +#: src/editor/overlay_widget.cpp:1582 msgid "Selected tile isn't autotileable" msgstr "Piso selecionado não é compatível com o Piso Automático" -#: src/editor/overlay_widget.cpp:1308 +#: src/editor/overlay_widget.cpp:1587 msgid "Hold Ctrl to enable autotile erasing" msgstr "Segure Ctrl para ativar a borracha (Piso Automático)" @@ -3447,8 +4763,8 @@ msgid "Current SuperTux Team" msgstr "Equipe Atual do SuperTux" #: data//credits.stxt:30 -msgid "Programming, project lead ad interim" -msgstr "Programação, Líder Interino de Projeto" +msgid "Maintainer, Programming" +msgstr "Mantenedor, Programação" #: data//credits.stxt:35 msgid "Graphics, Level Design, Story" @@ -3458,12 +4774,12 @@ msgstr "Gráficos, Design de Níveis, História" msgid "Level Design, Story, Optimisation, Coordination" msgstr "Design de Níveis, História, Otimização, Coordenação" -#: data//credits.stxt:45 data//credits.stxt:105 data//credits.stxt:191 -#: data//credits.stxt:519 +#: data//credits.stxt:45 data//credits.stxt:120 data//credits.stxt:206 +#: data//credits.stxt:538 msgid "Graphics" msgstr "Gráficos" -#: data//credits.stxt:50 data//credits.stxt:87 data//credits.stxt:93 +#: data//credits.stxt:50 data//credits.stxt:102 data//credits.stxt:108 msgid "Graphics, Programming, Level Design" msgstr "Gráficos, Programação, Design de Níveis" @@ -3472,256 +4788,266 @@ msgid "Features and Programming" msgstr "Recursos e Programação" #: data//credits.stxt:60 +msgid "Minor features and programming" +msgstr "Recursos menores e programação" + +#: data//credits.stxt:65 msgid "Programming, Level Updates" msgstr "Programação, Atualização de Níveis" -#: data//credits.stxt:65 +#: data//credits.stxt:70 msgid "Graphics, Programming" msgstr "Gráficos, Programação" -#: data//credits.stxt:70 data//credits.stxt:135 data//credits.stxt:140 -#: data//credits.stxt:145 data//credits.stxt:150 data//credits.stxt:165 -#: data//credits.stxt:170 data//credits.stxt:515 data//credits.stxt:527 +#: data//credits.stxt:75 data//credits.stxt:85 data//credits.stxt:150 +#: data//credits.stxt:155 data//credits.stxt:160 data//credits.stxt:165 +#: data//credits.stxt:180 data//credits.stxt:185 data//credits.stxt:534 +#: data//credits.stxt:546 msgid "Programming" msgstr "Programação" -#: data//credits.stxt:76 +#: data//credits.stxt:80 data//credits.stxt:266 +msgid "Level Design" +msgstr "Design de Níveis" + +#: data//credits.stxt:91 msgid "Original Developers" msgstr "Desenvolvedores Originais" -#: data//credits.stxt:81 +#: data//credits.stxt:96 msgid "Original Developer" msgstr "Desenvolvedor Original" -#: data//credits.stxt:99 +#: data//credits.stxt:114 msgid "Music, Level Design" msgstr "Música, Design de Níveis" -#: data//credits.stxt:111 +#: data//credits.stxt:126 msgid "Programming, Graphics, Level Design" msgstr "Programação, Gráficos, Design de Níveis" -#: data//credits.stxt:117 +#: data//credits.stxt:132 msgid "Programming, Level Design" msgstr "Programação, Design de Níveis" -#: data//credits.stxt:123 +#: data//credits.stxt:138 msgid "Graphics, Story" msgstr "Gráficos, Estória" -#: data//credits.stxt:129 +#: data//credits.stxt:144 msgid "Programming, Documentation" msgstr "Programação, Documentação" -#: data//credits.stxt:155 +#: data//credits.stxt:170 msgid "Coordination" msgstr "Coordenação" -#: data//credits.stxt:160 +#: data//credits.stxt:175 msgid "Programming, \"Flexlay\" Level editor" msgstr "Programação, Editor do Nível \"Flexlay\"" -#: data//credits.stxt:175 +#: data//credits.stxt:190 msgid "Windows build fixes" msgstr "Correções no Build Windows" -#: data//credits.stxt:180 +#: data//credits.stxt:195 msgid "Packaging, Nightly builds" msgstr "Empacotamento, Builds Noturnas" -#: data//credits.stxt:185 +#: data//credits.stxt:200 msgid "Translation Guru (and many details anyone else could have done)" msgstr "Guro de Tradução (e muitos detalhes que qualquer outro poderia ter feito)" -#: data//credits.stxt:251 -msgid "Level Design" -msgstr "Design de Níveis" - -#: data//credits.stxt:431 +#: data//credits.stxt:450 msgid "Additional contributors" msgstr "Contribuidores Adicionais" -#: data//credits.stxt:436 +#: data//credits.stxt:455 msgid "Bug fixes" msgstr "Correção de Bugs" -#: data//credits.stxt:440 +#: data//credits.stxt:459 msgid "Scripting functions, Level fixes" msgstr "Funções de scripts, Correções em níveis" -#: data//credits.stxt:444 +#: data//credits.stxt:463 msgid "Code quality fixes" msgstr "Correções de qualidade do código" -#: data//credits.stxt:448 data//credits.stxt:452 data//credits.stxt:456 -#: data//credits.stxt:483 +#: data//credits.stxt:467 data//credits.stxt:471 data//credits.stxt:475 +#: data//credits.stxt:502 msgid "Various contributions" msgstr "Várias contribuições" -#: data//credits.stxt:460 +#: data//credits.stxt:479 msgid "Build issue fix" msgstr "Correção em problema de build" -#: data//credits.stxt:464 data//credits.stxt:468 +#: data//credits.stxt:483 data//credits.stxt:487 msgid "Code contributions" msgstr "Contribuições de Código" -#: data//credits.stxt:471 +#: data//credits.stxt:490 msgid "Code contribution, AppData file" msgstr "Contribuições de Código, Ficheiro AppData" -#: data//credits.stxt:475 +#: data//credits.stxt:494 msgid "Bug fix" msgstr "Correção de Bug" -#: data//credits.stxt:479 +#: data//credits.stxt:498 msgid "Menu reorganization" msgstr "Reorganização de menu" -#: data//credits.stxt:487 +#: data//credits.stxt:506 msgid "Fixing tile bugs" msgstr "Correção de bugs de tela" -#: data//credits.stxt:491 +#: data//credits.stxt:510 msgid "Build error fix" msgstr "Correção de erro no build" -#: data//credits.stxt:495 +#: data//credits.stxt:514 msgid "Scripting function fix" msgstr "Correção de funções de scripts" -#: data//credits.stxt:499 +#: data//credits.stxt:518 msgid "New features and notable updates" msgstr "Novos recursos e atualizações notórias" -#: data//credits.stxt:503 +#: data//credits.stxt:522 msgid "Support for \"glbinding\" as optional OpenGL binding" msgstr "Suporte para \"glbinding\" como anexação opcional OpenGL" -#: data//credits.stxt:507 +#: data//credits.stxt:526 msgid "New menu code" msgstr "Código novo de menu" -#: data//credits.stxt:511 +#: data//credits.stxt:530 msgid "Big Tux Walking Sprites improvements" msgstr "Aprimoramentos nos Sprites do Tux ao Andar" -#: data//credits.stxt:523 data//credits.stxt:531 +#: data//credits.stxt:542 data//credits.stxt:550 msgid "Contrib Programming" msgstr "Contribuição de Programação" -#: data//credits.stxt:535 +#: data//credits.stxt:554 msgid "Programming, Previous Maintainer" msgstr "Programação, Mantenedor Anterior" -#: data//credits.stxt:539 +#: data//credits.stxt:558 msgid "Various Contributions" msgstr "Vários Contribuidores" -#: data//credits.stxt:543 -msgid "Minor features and programming" -msgstr "Recursos menores e programação" - -#: data//credits.stxt:547 data//credits.stxt:551 data//credits.stxt:555 -#: data//credits.stxt:559 data//credits.stxt:563 data//credits.stxt:567 -#: data//credits.stxt:571 data//credits.stxt:575 data//credits.stxt:579 -#: data//credits.stxt:583 data//credits.stxt:587 data//credits.stxt:591 +#: data//credits.stxt:562 data//credits.stxt:566 data//credits.stxt:570 +#: data//credits.stxt:574 data//credits.stxt:578 data//credits.stxt:582 +#: data//credits.stxt:586 data//credits.stxt:590 data//credits.stxt:594 +#: data//credits.stxt:598 data//credits.stxt:602 data//credits.stxt:606 +#: data//credits.stxt:610 data//credits.stxt:614 data//credits.stxt:618 +#: data//credits.stxt:622 data//credits.stxt:626 data//credits.stxt:630 +#: data//credits.stxt:634 data//credits.stxt:638 data//credits.stxt:642 +#: data//credits.stxt:646 data//credits.stxt:650 data//credits.stxt:654 +#: data//credits.stxt:658 data//credits.stxt:662 msgid "Contributions" msgstr "Contribuidores" -#: data//credits.stxt:597 +#: data//credits.stxt:668 msgid "Localization" msgstr "Tradução" -#: data//credits.stxt:1144 +#: data//credits.stxt:1231 msgid " Special Thanks to" msgstr " Agradecimento Especial a" -#: data//credits.stxt:1149 +#: data//credits.stxt:1236 msgid "Creator of Tux, the Linux penguin" msgstr "Criador de Tux, o pinguim do Linux" -#: data//credits.stxt:1153 +#: data//credits.stxt:1240 msgid "SDL, OpenAL and OpenGL" msgstr "SDL, OpenAL e OpenGL" -#: data//credits.stxt:1154 +#: data//credits.stxt:1241 msgid "" "For making such a great gaming experience\n" " possible on Linux" msgstr "Por fazer uma experiência de jogo tão boa\npossível no Linux" -#: data//credits.stxt:1159 +#: data//credits.stxt:1246 msgid "and you, the player" msgstr "e a você, o jogador" -#: data//credits.stxt:1160 +#: data//credits.stxt:1247 msgid "for giving this game a chance and playing it" msgstr "por dar uma chance a este jogo e jogá-lo" -#: data//credits.stxt:1171 +#: data//credits.stxt:1258 msgid "Visit our webpage at" msgstr "Visite nossa página da web em" -#: data//credits.stxt:1180 +#: data//credits.stxt:1267 msgid "Or visit us directly at IRC:" msgstr "Ou nos visite diretamente no IRC:" -#: data//credits.stxt:1184 +#: data//credits.stxt:1271 msgid "#supertux at web.libera.chat" msgstr "#supertux em web.libera.chat" -#: data//credits.stxt:1189 +#: data//credits.stxt:1276 msgid "Or at our Forum:" msgstr "Ou em nosso Fórum:" -#: data//credits.stxt:1198 +#: data//credits.stxt:1285 msgid "Comments, ideas and suggestions" msgstr "Comentários, ideias e sugestões" -#: data//credits.stxt:1202 +#: data//credits.stxt:1289 msgid "go to our mailing list" msgstr "consulte nossa lista de discussão" #. l10n: typo contact -#: data//credits.stxt:1212 +#: data//credits.stxt:1299 msgid "Typographical errors can be" msgstr "Erros tipográficos podem ser" #. l10n: typo contact -#: data//credits.stxt:1217 +#: data//credits.stxt:1304 msgid "reported to" msgstr "reportados para" #. l10n: typo contact, see -#: data//credits.stxt:1222 +#: data//credits.stxt:1309 msgid "supertux-devel@lists.lethargik.org" msgstr "supertux-devel@lists.lethargik.org" -#: data//credits.stxt:1229 +#: data//credits.stxt:1316 msgid "Want to help…" msgstr "Deseja ajudar…" -#: data//credits.stxt:1234 +#: data//credits.stxt:1321 msgid "…with localization?" msgstr "...com tradução?" -#: data//credits.stxt:1244 +#: data//credits.stxt:1331 msgid "…with something else?" msgstr "...com alguma outra coisa?" -#: data//credits.stxt:1255 +#: data//credits.stxt:1342 msgid "Thank you for" msgstr "Obrigado por" -#: data//credits.stxt:1259 +#: data//credits.stxt:1346 msgid "playing" msgstr "jogar" -#: data//credits.stxt:1269 +#: data//credits.stxt:1356 msgid "Penny awaits you in warmer temperatures!" msgstr "Penny espera por você em temperaturas mais amenas!" +#: data//images/engine/editor/objects.stoi:4 +msgid "Enemies" +msgstr "Inimigos" + #: data//images/engine/editor/objects.stoi:162 msgid "Bosses" msgstr "Chefões" @@ -3730,15 +5056,10 @@ msgstr "Chefões" msgid "Projectiles" msgstr "Projéteis" -#: data//images/engine/editor/objects.stoi:187 +#: data//images/engine/editor/objects.stoi:184 msgid "Environment" msgstr "Ambiente" -#: data//images/ice_world.strf:10 data//images/tiles.strf:28 -#: data//images/worldmap.strf:41 -msgid "Snow" -msgstr "Neve" - #: data//images/ice_world.strf:80 msgid "Ice Cave & Crystal" msgstr "Caverna de Gelo e Cristal" @@ -3747,11 +5068,6 @@ msgstr "Caverna de Gelo e Cristal" msgid "Embellishments" msgstr "Embelezamentos" -#: data//images/ice_world.strf:211 data//images/tiles.strf:386 -#: data//images/worldmap.strf:67 -msgid "Forest" -msgstr "Floresta" - #: data//images/ice_world.strf:320 msgid "Underground Forest" msgstr "Floresta Subterrânea" @@ -3776,57 +5092,61 @@ msgstr "Caminho" msgid "Water" msgstr "Água" -#: data//images/tiles.strf:176 +#: data//images/tiles.strf:252 msgid "Snow Background" msgstr "Fundo de Neve" -#: data//images/tiles.strf:231 -msgid "Snow Mountain" -msgstr "Montanha Nevada" - -#: data//images/tiles.strf:305 +#: data//images/tiles.strf:300 msgid "Crystal" msgstr "Cristal" -#: data//images/tiles.strf:532 +#: data//images/tiles.strf:539 msgid "Forest Background" msgstr "Fundo de Floresta" -#: data//images/tiles.strf:663 +#: data//images/tiles.strf:690 +msgid "Corrupted Forest" +msgstr "Floresta Corrompida" + +#: data//images/tiles.strf:868 +msgid "Corrupted Background" +msgstr "Fundo Corrompido" + +#: data//images/tiles.strf:991 msgid "Block + Bonus" msgstr "Bloco + Bônus" -#: data//images/tiles.strf:715 +#: data//images/tiles.strf:1069 msgid "Pole + Signs" msgstr "Mastros + Sinais" -#: data//images/tiles.strf:760 +#: data//images/tiles.strf:1113 msgid "Liquid" msgstr "Líquido" -#: data//images/tiles.strf:793 +#: data//images/tiles.strf:1131 msgid "Castle" msgstr "Castelo" -#: data//images/tiles.strf:930 data//images/worldmap.strf:199 +#: data//images/tiles.strf:1231 data//images/worldmap.strf:199 msgid "Halloween" msgstr "Dia das Bruxas" -#: data//images/tiles.strf:958 +#: data//images/tiles.strf:1272 msgid "Industrial" msgstr "Industrial" -#: data//images/tiles.strf:973 +#: data//images/tiles.strf:1287 msgid "Unisolid + Lightmap" msgstr "Semi-sólidos + Mapa de luz" -#: data//images/tiles.strf:1000 +#: data//images/tiles.strf:1314 msgid "Miscellaneous" msgstr "Miscelânea" -#: data//images/tiles.strf:1043 -msgid "Retro Snow" -msgstr "Neve Retrô" +#: data//images/tiles.strf:1342 +msgid "Retro Tiles" +msgstr "" #: data//images/worldmap.strf:24 msgid "Water paths" @@ -3839,3 +5159,19 @@ msgstr "Caminhos de castelo" #: data//images/worldmap.strf:135 msgid "Darker Forest" msgstr "Floresta Escura" + +#: data//images/converters/data.stcd:3 +msgid "Nightly Tiles" +msgstr "" + +#: data//images/converters/data.stcd:5 +msgid "For levels, created in previous Nightly builds." +msgstr "" + +#: data//images/converters/data.stcd:8 +msgid "Pre-0.6.3 Crystal Tiles" +msgstr "" + +#: data//images/converters/data.stcd:10 +msgid "For levels, created in pre-0.6.3 versions, which use crystal tiles." +msgstr "" diff --git a/data/locale/ru.po b/data/locale/ru.po index 29755b9d5c8..0f057119665 100644 --- a/data/locale/ru.po +++ b/data/locale/ru.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the SuperTux package. # # Translators: -# Andrei Stepanov, 2018-2021 +# Andrei Stepanov, 2018-2021,2024 # Artem Krosheninnikov , 2013,2015 # Dmitry Anikonov , 2016 # Dmitry , 2013 @@ -15,9 +15,9 @@ msgid "" msgstr "" "Project-Id-Version: SuperTux\n" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" -"POT-Creation-Date: 2021-12-12 20:05+0100\n" +"POT-Creation-Date: 2024-05-30 16:19+0200\n" "PO-Revision-Date: 2013-08-10 22:56+0000\n" -"Last-Translator: Темак, 2022-2023\n" +"Last-Translator: Andrei Stepanov, 2018-2021,2024\n" "Language-Team: Russian (http://app.transifex.com/arctic-games/supertux/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,124 +25,166 @@ msgstr "" "Language: ru\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" -#: src/trigger/secretarea_trigger.cpp:53 src/trigger/secretarea_trigger.cpp:61 +#: src/trigger/secretarea_trigger.cpp:47 msgid "You found a secret area!" msgstr "Вы нашли тайник!" -#: src/trigger/secretarea_trigger.cpp:77 src/supertux/game_object.cpp:90 -#: src/supertux/menu/editor_sector_menu.cpp:34 -#: src/supertux/menu/editor_levelset_menu.cpp:58 +#: src/trigger/secretarea_trigger.cpp:55 src/supertux/game_object.cpp:115 +#: src/supertux/menu/editor_sector_menu.cpp:36 +#: src/supertux/menu/editor_levelset_menu.cpp:52 #: src/supertux/menu/editor_new_levelset_menu.cpp:34 +#: src/supertux/menu/profile_name_menu.cpp:39 #: src/supertux/menu/editor_level_menu.cpp:33 msgid "Name" -msgstr "Название" +msgstr "Имя" -#: src/trigger/secretarea_trigger.cpp:78 +#: src/trigger/secretarea_trigger.cpp:56 msgid "Fade tilemap" msgstr "Исчезающая карта плиток" -#: src/trigger/secretarea_trigger.cpp:79 src/trigger/climbable.cpp:81 -#: src/object/infoblock.cpp:57 src/editor/worldmap_objects.cpp:172 -#: src/editor/worldmap_objects.cpp:270 +#: src/trigger/secretarea_trigger.cpp:57 src/trigger/climbable.cpp:59 +#: src/object/infoblock.cpp:76 src/worldmap/teleporter.cpp:49 +#: src/worldmap/special_tile.cpp:74 msgid "Message" msgstr "Сообщение" -#: src/trigger/secretarea_trigger.cpp:80 src/trigger/scripttrigger.cpp:75 -#: src/trigger/door.cpp:73 src/object/ispy.cpp:67 -#: src/object/bonus_block.cpp:207 src/object/bonus_block.cpp:211 -#: src/object/pushbutton.cpp:51 src/object/powerup.cpp:190 -#: src/editor/worldmap_objects.cpp:272 +#: src/trigger/secretarea_trigger.cpp:58 src/trigger/scripttrigger.cpp:51 +#: src/trigger/door.cpp:79 src/object/ispy.cpp:53 +#: src/object/bonus_block.cpp:264 src/object/bonus_block.cpp:268 +#: src/object/pushbutton.cpp:62 src/object/powerup.cpp:301 +#: src/worldmap/special_tile.cpp:76 msgid "Script" msgstr "Сценарий" -#: src/trigger/scripttrigger.cpp:76 src/object/pushbutton.hpp:31 +#: src/trigger/scripttrigger.cpp:52 src/object/pushbutton.hpp:32 msgid "Button" msgstr "Кнопка" -#: src/trigger/scripttrigger.cpp:77 +#: src/trigger/scripttrigger.cpp:53 msgid "Oneshot" msgstr "Один выстрел" -#: src/trigger/sequence_trigger.hpp:33 +#: src/trigger/sequence_trigger.hpp:31 msgid "Sequence Trigger" msgstr "Триггер последовательности" -#: src/trigger/door.cpp:74 src/badguy/willowisp.cpp:320 -#: src/supertux/menu/editor_sector_menu.cpp:32 -#: src/editor/layers_widget.cpp:342 -#: data//images/engine/editor/objects.stoi:321 +#: src/trigger/text_area.cpp:141 +msgid "Once" +msgstr "Один раз" + +#: src/trigger/text_area.cpp:142 +msgid "Text change time" +msgstr "Время смены текста" + +#: src/trigger/text_area.cpp:143 +msgid "Fade time" +msgstr "Время затухания" + +#: src/trigger/text_area.cpp:144 src/object/textscroller.cpp:353 +msgid "Anchor" +msgstr "Якорь" + +#: src/trigger/text_area.cpp:148 +msgid "Anchor offset X" +msgstr "Смещение X якоря" + +#: src/trigger/text_area.cpp:149 +msgid "Anchor offset Y" +msgstr "Смещение Y якоря" + +#: src/trigger/text_area.cpp:150 +msgid "Texts" +msgstr "Тексты" + +#: src/trigger/door.cpp:80 src/badguy/willowisp.cpp:311 +#: src/worldmap/teleporter.cpp:47 data//images/engine/editor/objects.stoi:342 msgid "Sector" msgstr "Участок" -#: src/trigger/door.cpp:75 src/editor/worldmap_objects.hpp:101 +#: src/trigger/door.cpp:81 src/worldmap/spawn_point.hpp:58 msgid "Spawn point" msgstr "Точка возрождения" -#: src/trigger/switch.cpp:61 src/object/block.cpp:224 src/object/torch.cpp:102 -#: src/object/moving_sprite.cpp:156 src/object/pneumatic_platform.cpp:146 -msgid "Sprite" -msgstr "Спрайт" +#: src/trigger/door.cpp:82 +msgid "Locked?" +msgstr "Заблокировано?" + +#: src/trigger/door.cpp:83 +msgid "Lock Color" +msgstr "Цвет блокировки" + +#: src/trigger/switch.cpp:62 src/object/ispy.cpp:54 src/object/bumper.cpp:53 +#: src/object/spotlight.cpp:106 src/object/pushbutton.cpp:61 +#: src/object/gradient.cpp:103 src/object/conveyor_belt.cpp:60 +#: src/badguy/badguy.cpp:1063 src/worldmap/spawn_point.cpp:79 +#: src/worldmap/special_tile.cpp:78 +msgid "Direction" +msgstr "Направление" -#: src/trigger/switch.cpp:62 +#: src/trigger/switch.cpp:65 msgid "Turn on script" -msgstr "Cценарий включения" +msgstr "Сценарий включения" -#: src/trigger/switch.cpp:63 +#: src/trigger/switch.cpp:66 msgid "Turn off script" msgstr "Сценарий отключения" -#: src/trigger/scripttrigger.hpp:32 +#: src/trigger/scripttrigger.hpp:29 msgid "Script Trigger" msgstr "Триггер сценария" -#: src/trigger/sequence_trigger.cpp:75 +#: src/trigger/sequence_trigger.cpp:48 msgid "Sequence" msgstr "Последовательность" -#: src/trigger/sequence_trigger.cpp:76 +#: src/trigger/sequence_trigger.cpp:49 msgid "end sequence" msgstr "конец последовательности" -#: src/trigger/sequence_trigger.cpp:76 +#: src/trigger/sequence_trigger.cpp:49 msgid "stop Tux" msgstr "остановить Такса" -#: src/trigger/sequence_trigger.cpp:76 +#: src/trigger/sequence_trigger.cpp:49 msgid "fireworks" msgstr "фейерверк" -#: src/trigger/sequence_trigger.cpp:80 +#: src/trigger/sequence_trigger.cpp:53 msgid "New worldmap spawnpoint" msgstr "Новая точка возрождения на карте мира" -#: src/trigger/sequence_trigger.cpp:81 +#: src/trigger/sequence_trigger.cpp:54 msgid "Worldmap fade tilemap" msgstr "Исчезающая карта плиток мира" -#: src/trigger/sequence_trigger.cpp:82 +#: src/trigger/sequence_trigger.cpp:55 #: src/object/custom_particle_system.cpp:430 #: src/object/custom_particle_system.cpp:465 msgid "Fade" msgstr "Исчезающий" -#: src/trigger/sequence_trigger.cpp:83 src/editor/particle_editor.cpp:161 +#: src/trigger/sequence_trigger.cpp:56 src/editor/particle_editor.cpp:161 msgid "Fade in" msgstr "Постепенное появление" -#: src/trigger/sequence_trigger.cpp:83 src/editor/particle_editor.cpp:167 +#: src/trigger/sequence_trigger.cpp:56 src/editor/particle_editor.cpp:167 #: src/editor/particle_editor.cpp:212 msgid "Fade out" msgstr "Постепенное исчезновение" -#: src/trigger/climbable.hpp:37 +#: src/trigger/climbable.hpp:46 msgid "Climbable" msgstr "Для лазанья" -#: src/trigger/door.hpp:34 +#: src/trigger/text_area.hpp:47 +msgid "Text Area" +msgstr "Область текста" + +#: src/trigger/door.hpp:31 msgid "Door" msgstr "Дверь" -#: src/trigger/switch.hpp:33 +#: src/trigger/switch.hpp:30 msgid "Switch" msgstr "Переключатель" @@ -150,118 +192,194 @@ msgstr "Переключатель" msgid "Secret Area" msgstr "Тайник" -#: src/object/thunderstorm.hpp:40 +#: src/math/anchor_point.cpp:33 +msgid "Top Left" +msgstr "Вверху слева" + +#: src/math/anchor_point.cpp:34 +msgid "Top" +msgstr "Сверху" + +#: src/math/anchor_point.cpp:35 +msgid "Top Right" +msgstr "Вверху справа" + +#: src/math/anchor_point.cpp:36 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:38 +#: src/supertux/menu/joystick_menu.cpp:73 +msgid "Left" +msgstr "Влево" + +#: src/math/anchor_point.cpp:37 +msgid "Middle" +msgstr "По середине" + +#: src/math/anchor_point.cpp:38 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:39 +#: src/supertux/menu/joystick_menu.cpp:74 +msgid "Right" +msgstr "Вправо" + +#: src/math/anchor_point.cpp:39 +msgid "Bottom Left" +msgstr "Внизу слева" + +#: src/math/anchor_point.cpp:40 +msgid "Bottom" +msgstr "Снизу" + +#: src/math/anchor_point.cpp:41 +msgid "Bottom Right" +msgstr "Внизу справа" + +#: src/object/thunderstorm.hpp:44 msgid "Thunderstorm" msgstr "Гроза" -#: src/object/cloud_particle_system.cpp:79 +#: src/object/cloud_particle_system.cpp:77 #: src/object/rain_particle_system.cpp:100 msgid "Intensity" msgstr "Интенсивность" -#: src/object/custom_particle_system.hpp:45 +#: src/object/custom_particle_system.hpp:46 msgid "Custom Particles" msgstr "Настраиваемые частицы" -#: src/object/ispy.cpp:66 -msgid "Facing Down" -msgstr "Лицом вниз" - -#: src/object/ispy.cpp:68 src/object/spotlight.cpp:103 -#: src/object/gradient.cpp:137 src/badguy/willowisp.cpp:319 -#: src/badguy/badguy.cpp:848 src/editor/worldmap_objects.cpp:207 -#: src/editor/worldmap_objects.cpp:274 -msgid "Direction" -msgstr "Направление" - -#: src/object/particle_zone.hpp:39 +#: src/object/particle_zone.hpp:41 msgid "Particle zone" msgstr "Зона частиц" -#: src/object/path_gameobject.hpp:44 src/object/coin.cpp:301 -#: src/object/camera.cpp:224 src/object/platform.cpp:73 -#: src/object/path_gameobject.cpp:173 src/object/tilemap.cpp:246 -#: src/gui/menu_paths.cpp:52 src/badguy/willowisp.cpp:326 +#: src/object/path_gameobject.hpp:45 src/object/coin.cpp:324 +#: src/object/camera.cpp:168 src/object/platform.cpp:76 +#: src/object/path_gameobject.cpp:175 src/object/tilemap.cpp:284 +#: src/badguy/willowisp.cpp:317 msgid "Path" msgstr "Путь" -#: src/object/decal.cpp:49 src/object/scripted_object.cpp:67 -#: src/object/particlesystem.cpp:65 src/object/background.cpp:183 -#: src/object/thunderstorm.cpp:68 src/object/tilemap.cpp:239 -#: src/object/gradient.cpp:135 -msgid "Z-pos" -msgstr "Глубина" - -#: src/object/decal.cpp:50 src/object/scripted_object.cpp:70 -#: src/object/tilemap.cpp:228 +#: src/object/decal.cpp:48 src/object/scripted_object.cpp:70 +#: src/object/tilemap.cpp:266 msgid "Solid" msgstr "Цельный" -#: src/object/decal.cpp:51 src/supertux/menu/keyboard_menu.cpp:37 -#: src/supertux/menu/joystick_menu.cpp:74 +#: src/object/decal.cpp:49 src/supertux/menu/keyboard_menu.cpp:41 +#: src/supertux/menu/joystick_menu.cpp:76 msgid "Action" msgstr "Действие" -#: src/object/weak_block.hpp:35 +#: src/object/weak_block.hpp:36 msgid "Weak Tile" msgstr "Слабая плитка" -#: src/object/bumper.cpp:46 -msgid "Facing Left" -msgstr "Лицом влево" - -#: src/object/gradient.hpp:42 +#: src/object/gradient.hpp:43 msgid "Gradient" msgstr "Градиент" -#: src/object/tilemap.hpp:57 +#: src/object/tilemap.hpp:58 msgid "Tilemap" msgstr "Карта плиток" -#: src/object/circleplatform.hpp:32 +#: src/object/sound_object.cpp:69 src/object/ambient_sound.cpp:85 +#: src/object/sound_object.hpp:42 src/supertux/menu/options_menu.cpp:128 +#: data//credits.stxt:367 +msgid "Sound" +msgstr "Звуки" + +#: src/object/sound_object.cpp:70 src/object/ambient_sound.cpp:87 +msgid "Volume" +msgstr "Громкость" + +#: src/object/conveyor_belt.hpp:39 +msgid "Conveyor Belt" +msgstr "Лента конвейера" + +#: src/object/unstable_tile.cpp:70 src/object/weak_block.cpp:97 +#: src/badguy/flame.cpp:86 +msgid "Ice" +msgstr "Лёд" + +#: src/object/unstable_tile.cpp:71 src/object/brick.hpp:34 +msgid "Brick" +msgstr "Кирпич" + +#: src/object/unstable_tile.cpp:72 +msgid "Delayed" +msgstr "Задержка" + +#: src/object/circleplatform.hpp:35 msgid "Circular Platform" msgstr "Круглая платформа" -#: src/object/brick.cpp:133 +#: src/object/brick.cpp:59 src/object/coin.cpp:69 +#: src/object/invisible_block.cpp:37 src/object/background.cpp:200 +#: src/object/tilemap.cpp:279 src/object/gradient.cpp:109 +#: src/badguy/viciousivy.cpp:44 src/badguy/snail.cpp:69 +#: src/badguy/smartball.cpp:34 src/badguy/bouncing_snowball.cpp:81 +#: src/badguy/kamikazesnowball.cpp:117 src/badguy/walkingleaf.cpp:35 +#: src/badguy/mrbomb.cpp:47 src/badguy/igel.cpp:188 src/badguy/snowball.cpp:40 +#: src/badguy/mrtree.cpp:50 src/badguy/mriceblock.cpp:62 +msgid "Normal" +msgstr "Обычный" + +#: src/object/brick.cpp:60 src/object/bonus_block.cpp:175 +#: src/object/coin.cpp:70 src/object/invisible_block.cpp:38 +msgid "Retro" +msgstr "Ретро" + +#: src/object/brick.cpp:166 msgid "Breakable" msgstr "Хрупкий" -#: src/object/trampoline.cpp:136 src/object/rusty_trampoline.cpp:66 +#: src/object/trampoline.cpp:66 src/object/rusty_trampoline.cpp:66 msgid "Portable" msgstr "Переносной" -#: src/object/spotlight.cpp:100 src/object/rain_particle_system.cpp:101 +#: src/object/trampoline.cpp:67 +msgid "Stationary" +msgstr "Стационарный" + +#: src/object/key.hpp:38 +msgid "Key" +msgstr "Ключ" + +#: src/object/spotlight.cpp:102 src/object/particlesystem.cpp:64 +#: src/object/particle_zone.cpp:50 src/badguy/darttrap.cpp:149 +#: src/supertux/menu/addon_preview_menu.cpp:189 +msgid "Enabled" +msgstr "Включено" + +#: src/object/spotlight.cpp:103 src/object/rain_particle_system.cpp:101 msgid "Angle" msgstr "Угол" -#: src/object/spotlight.cpp:101 src/object/magicblock.cpp:94 -#: src/object/candle.cpp:77 src/object/torch.cpp:104 -#: src/object/rublight.cpp:54 src/object/lantern.cpp:62 -#: src/object/ambient_light.cpp:131 src/badguy/willowisp.cpp:328 -#: src/badguy/walking_candle.cpp:82 +#: src/object/spotlight.cpp:104 src/object/magicblock.cpp:95 +#: src/object/candle.cpp:75 src/object/torch.cpp:96 src/object/rublight.cpp:55 +#: src/object/lantern.cpp:62 src/object/ambient_light.cpp:122 +#: src/object/key.cpp:192 src/badguy/willowisp.cpp:319 +#: src/badguy/walking_candle.cpp:91 msgid "Color" msgstr "Цвет" -#: src/object/spotlight.cpp:102 src/object/textscroller.cpp:350 -#: src/object/rain_particle_system.cpp:102 src/object/circleplatform.cpp:55 -#: src/badguy/flame.cpp:59 src/editor/node_marker.cpp:125 +#: src/object/spotlight.cpp:105 src/object/textscroller.cpp:350 +#: src/object/rain_particle_system.cpp:102 src/object/conveyor_belt.cpp:61 +#: src/object/circleplatform.cpp:58 src/badguy/flame.cpp:110 +#: src/editor/node_marker.cpp:125 msgid "Speed" msgstr "Скорость" -#: src/object/spotlight.cpp:104 +#: src/object/spotlight.cpp:107 msgid "Clockwise" msgstr "По часовой стрелке" -#: src/object/spotlight.cpp:104 +#: src/object/spotlight.cpp:107 msgid "Counter-clockwise" msgstr "Против часовой стрелки" -#: src/object/spotlight.cpp:104 +#: src/object/spotlight.cpp:107 msgid "Stopped" msgstr "Остановившийся" -#: src/object/spotlight.cpp:107 src/object/candle.cpp:78 -#: src/object/torch.cpp:103 +#: src/object/spotlight.cpp:110 src/object/lit_object.cpp:69 +#: src/object/candle.cpp:76 src/object/torch.cpp:95 msgid "Layer" msgstr "Слой" @@ -273,125 +391,171 @@ msgstr "Физика включена" msgid "Visible" msgstr "Видимый" -#: src/object/scripted_object.cpp:73 src/badguy/willowisp.cpp:322 +#: src/object/scripted_object.cpp:73 src/badguy/willowisp.cpp:313 msgid "Hit script" msgstr "Сценарий попадания" -#: src/object/custom_particle_system_file.cpp:50 +#: src/object/custom_particle_system_file.cpp:53 #: src/object/textscroller.cpp:348 src/object/music_object.cpp:109 #: src/supertux/menu/particle_editor_open.cpp:38 msgid "File" msgstr "Файл" -#: src/object/bonus_block.cpp:208 +#: src/object/bonus_block.cpp:154 +msgid "Only one custom object is allowed inside bonus blocks." +msgstr "Внутри блоков бонусов допускается только один пользовательский объект." + +#: src/object/bonus_block.cpp:172 +msgid "Blue" +msgstr "Синий" + +#: src/object/bonus_block.cpp:173 +msgid "Orange" +msgstr "Оранжевый" + +#: src/object/bonus_block.cpp:174 +msgid "Purple" +msgstr "Пурпурный" + +#: src/object/bonus_block.cpp:265 src/supertux/menu/cheat_apply_menu.cpp:54 msgid "Count" msgstr "Счёт" -#: src/object/bonus_block.cpp:209 +#: src/object/bonus_block.cpp:266 msgid "Content" msgstr "Содержимое" -#: src/object/bonus_block.cpp:210 src/object/coin.hpp:43 +#: src/object/bonus_block.cpp:267 src/object/coin.hpp:44 msgid "Coin" msgstr "Монета" -#: src/object/bonus_block.cpp:210 +#: src/object/bonus_block.cpp:267 msgid "Growth (fire flower)" msgstr "Рост (огненный цветок)" -#: src/object/bonus_block.cpp:210 +#: src/object/bonus_block.cpp:267 msgid "Growth (ice flower)" msgstr "Рост (ледяной цветок)" -#: src/object/bonus_block.cpp:210 +#: src/object/bonus_block.cpp:267 msgid "Growth (air flower)" msgstr "Рост (воздушный цветок)" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 msgid "Growth (earth flower)" msgstr "Рост (земляной цветок)" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 +msgid "Growth (retro)" +msgstr "Рост (ретро)" + +#: src/object/bonus_block.cpp:268 src/object/powerup.cpp:66 msgid "Star" msgstr "Звезда" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 +msgid "Star (retro)" +msgstr "Звезда (ретро)" + +#: src/object/bonus_block.cpp:268 msgid "Tux doll" -msgstr "Кукольный Такс" +msgstr "Кукла Такс" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 msgid "Custom" msgstr "Другой" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 msgid "Light" msgstr "Лёгкий" -#: src/object/bonus_block.cpp:211 +#: src/object/bonus_block.cpp:268 msgid "Light (On)" msgstr "Свет (включён)" -#: src/object/bonus_block.cpp:212 src/object/trampoline.hpp:35 +#: src/object/bonus_block.cpp:269 src/object/trampoline.hpp:37 msgid "Trampoline" msgstr "Трамплин" -#: src/object/bonus_block.cpp:212 +#: src/object/bonus_block.cpp:269 +msgid "Portable trampoline" +msgstr "Переносной трамплин" + +#: src/object/bonus_block.cpp:269 msgid "Coin rain" msgstr "Монетный дождь" -#: src/object/bonus_block.cpp:212 +#: src/object/bonus_block.cpp:269 msgid "Coin explosion" msgstr "Взрыв монеты" -#: src/object/bonus_block.cpp:216 +#: src/object/bonus_block.cpp:269 src/object/rock.hpp:43 +msgid "Rock" +msgstr "Камень" + +#: src/object/bonus_block.cpp:269 +msgid "Potion" +msgstr "Зелье" + +#: src/object/bonus_block.cpp:275 msgid "Custom Content" msgstr "Пользовательское содержимое" -#: src/object/pneumatic_platform.hpp:62 +#: src/object/bonus_block.cpp:278 +msgid "Coin sprite" +msgstr "Спрайт монеты" + +#: src/object/pneumatic_platform.hpp:65 msgid "Pneumatic Platform" msgstr "Пневматическая платформа" -#: src/object/coin.cpp:303 src/object/tilemap.cpp:249 +#: src/object/coin.cpp:326 src/object/tilemap.cpp:287 msgid "Following path" msgstr "Путь следования" -#: src/object/coin.cpp:306 src/object/camera.cpp:227 -#: src/object/platform.cpp:74 src/object/tilemap.cpp:252 +#: src/object/coin.cpp:329 src/object/camera.cpp:171 +#: src/object/platform.cpp:77 src/object/tilemap.cpp:290 msgid "Path Mode" msgstr "Режим пути" -#: src/object/coin.cpp:307 src/object/camera.cpp:228 -#: src/object/platform.cpp:75 src/object/tilemap.cpp:253 -#: src/badguy/willowisp.cpp:331 +#: src/object/coin.cpp:330 src/object/camera.cpp:172 +#: src/object/platform.cpp:78 src/object/tilemap.cpp:291 +#: src/badguy/willowisp.cpp:322 msgid "Adapt Speed" msgstr "Скорость адаптации" -#: src/object/coin.cpp:308 src/object/platform.cpp:77 -#: src/object/tilemap.cpp:247 src/badguy/willowisp.cpp:327 +#: src/object/coin.cpp:331 src/object/platform.cpp:81 +#: src/object/tilemap.cpp:285 src/badguy/willowisp.cpp:318 msgid "Starting Node" msgstr "Начальный узел" -#: src/object/coin.cpp:311 src/object/coin.cpp:339 +#: src/object/coin.cpp:332 src/object/camera.cpp:173 +#: src/object/platform.cpp:82 src/object/tilemap.cpp:293 +#: src/badguy/willowisp.cpp:323 +msgid "Handle" +msgstr "Рукоятка" + +#: src/object/coin.cpp:335 src/object/coin.cpp:371 msgid "Collect script" msgstr "Сценарий сбора" -#: src/object/ghost_particle_system.hpp:36 +#: src/object/ghost_particle_system.hpp:37 msgid "Ghost Particles" msgstr "Частицы призраков" -#: src/object/camera.cpp:219 +#: src/object/camera.cpp:163 msgid "Mode" msgstr "Режим" -#: src/object/camera.cpp:220 +#: src/object/camera.cpp:164 msgid "normal" msgstr "обычный" -#: src/object/camera.cpp:220 +#: src/object/camera.cpp:164 msgid "manual" msgstr "вручную" -#: src/object/camera.cpp:220 +#: src/object/camera.cpp:164 msgid "autoscroll" msgstr "автопрокрутка" @@ -407,32 +571,20 @@ msgstr "Смещение по X" msgid "Controllable" msgstr "Управляемый" -#: src/object/textscroller.cpp:353 -msgid "Anchor" -msgstr "Якорь" - -#: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 -#: src/supertux/menu/keyboard_menu.cpp:34 -#: src/supertux/menu/joystick_menu.cpp:71 -msgid "Left" -msgstr "Влево" - #: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 msgid "Center" msgstr "По середине" -#: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 -#: src/supertux/menu/keyboard_menu.cpp:35 -#: src/supertux/menu/joystick_menu.cpp:72 -msgid "Right" -msgstr "Вправо" - #: src/object/textscroller.cpp:357 msgid "Text Alignment" msgstr "Выравнивание текста" -#: src/object/spawnpoint.hpp:46 src/badguy/willowisp.cpp:321 -#: src/editor/worldmap_objects.cpp:171 +#: src/object/lit_object.hpp:40 +msgid "Lit object" +msgstr "Светящийся предмет" + +#: src/object/spawnpoint.hpp:48 src/badguy/willowisp.cpp:312 +#: src/worldmap/teleporter.cpp:48 msgid "Spawnpoint" msgstr "Точка возрождения" @@ -440,266 +592,339 @@ msgstr "Точка возрождения" msgid "Counter" msgstr "Счётчик" -#: src/object/candle.hpp:36 +#: src/object/candle.hpp:37 msgid "Candle" msgstr "Свеча" -#: src/object/particlesystem.cpp:64 src/object/particle_zone.cpp:79 -#: src/badguy/darttrap.cpp:127 -msgid "Enabled" -msgstr "Включено" +#: src/object/particlesystem.cpp:65 src/object/background.cpp:184 +#: src/object/thunderstorm.cpp:76 src/object/tilemap.cpp:277 +#: src/object/gradient.cpp:101 src/object/moving_sprite.cpp:193 +msgid "Z-pos" +msgstr "Глубина" -#: src/object/invisible_block.hpp:31 +#: src/object/invisible_block.hpp:30 msgid "Invisible Block" msgstr "Невидимый блок" -#: src/object/snow_particle_system.hpp:35 +#: src/object/snow_particle_system.hpp:37 msgid "Snow Particles" msgstr "Частицы снега" -#: src/object/powerup.hpp:35 +#: src/object/powerup.hpp:40 msgid "Powerup" msgstr "Усилитель" -#: src/object/fallblock.hpp:39 +#: src/object/infoblock.cpp:78 +msgid "Front Color" +msgstr "Цвет переднего плана" + +#: src/object/infoblock.cpp:80 +msgid "Back Color" +msgstr "Цвет заднего плана" + +#: src/object/infoblock.cpp:82 +msgid "Roundness" +msgstr "Округлость" + +#: src/object/infoblock.cpp:84 +msgid "Fade Transition" +msgstr "Плавный переход" + +#: src/object/fallblock.hpp:41 msgid "Falling Platform" msgstr "Падающая платформа" -#: src/object/level_time.hpp:55 +#: src/object/level_time.hpp:56 msgid "Time Limit" msgstr "Ограничение времени" -#: src/object/ambient_sound.cpp:119 src/supertux/menu/options_menu.cpp:391 -#: data//credits.stxt:352 -msgid "Sound" -msgstr "Звуки" - -#: src/object/ambient_sound.cpp:120 -msgid "Distance factor" -msgstr "Фактор расстояния" - -#: src/object/ambient_sound.cpp:121 -msgid "Distance bias" -msgstr "Смещение расстояния" - -#: src/object/ambient_sound.cpp:122 -msgid "Volume" -msgstr "Громкость" +#: src/object/ambient_sound.cpp:86 +msgid "Radius (in tiles)" +msgstr "Радиус (в плитках)" #: src/object/torch.hpp:41 msgid "Torch" msgstr "Факел" -#: src/object/icecrusher.hpp:53 -msgid "Icecrusher" -msgstr "Измельчитель льда" - -#: src/object/rublight.hpp:33 +#: src/object/rublight.hpp:34 msgid "Rublight" msgstr "Свет трения" -#: src/object/background.hpp:43 +#: src/object/background.hpp:45 msgid "Background" msgstr "Фон" -#: src/object/firefly.hpp:36 +#: src/object/text_object.hpp:44 src/gui/menu_string_array.cpp:77 +msgid "Text" +msgstr "Текст" + +#: src/object/firefly.hpp:38 msgid "Checkpoint" msgstr "Контрольная точка" -#: src/object/ambient_light.hpp:36 +#: src/object/ambient_light.hpp:37 msgid "Ambient Light" msgstr "Окружающее освещение" -#: src/object/lantern.hpp:37 +#: src/object/lantern.hpp:38 msgid "Lantern" msgstr "Светильник" -#: src/object/wind.hpp:40 +#: src/object/wind.hpp:43 msgid "Wind" msgstr "Ветер" -#: src/object/bicycle_platform.cpp:189 src/object/background.cpp:179 -#: src/object/pneumatic_platform.cpp:147 -#: src/supertux/menu/joystick_menu.cpp:170 src/supertux/moving_object.cpp:58 -#: src/editor/worldmap_objects.cpp:73 +#: src/object/bicycle_platform.cpp:203 src/object/background.cpp:180 +#: src/object/pneumatic_platform.cpp:162 +#: src/supertux/menu/joystick_menu.cpp:172 src/supertux/moving_object.cpp:65 +#: src/worldmap/worldmap_object.cpp:77 msgid "X" msgstr "X" -#: src/object/bicycle_platform.cpp:190 src/object/background.cpp:180 -#: src/object/pneumatic_platform.cpp:148 -#: src/supertux/menu/joystick_menu.cpp:172 src/supertux/moving_object.cpp:59 -#: src/editor/worldmap_objects.cpp:74 +#: src/object/bicycle_platform.cpp:204 src/object/background.cpp:181 +#: src/object/pneumatic_platform.cpp:163 +#: src/supertux/menu/joystick_menu.cpp:174 src/supertux/moving_object.cpp:66 +#: src/worldmap/worldmap_object.cpp:78 msgid "Y" msgstr "Y" -#: src/object/bicycle_platform.cpp:192 +#: src/object/bicycle_platform.cpp:206 msgid "Platforms" msgstr "Платформы" -#: src/object/bicycle_platform.cpp:193 src/object/circleplatform.cpp:54 -#: src/badguy/flame.cpp:58 src/badguy/rcrystallo.cpp:50 -#: src/badguy/crystallo.cpp:35 +#: src/object/bicycle_platform.cpp:207 src/object/circleplatform.cpp:57 +#: src/badguy/fish_swimming.cpp:76 src/badguy/flame.cpp:109 +#: src/badguy/rcrystallo.cpp:83 src/badguy/crystallo.cpp:50 msgid "Radius" msgstr "Радиус" -#: src/object/bicycle_platform.cpp:194 +#: src/object/bicycle_platform.cpp:208 msgid "Momentum change rate" msgstr "Скорость изменения импульса" -#: src/object/rain_particle_system.hpp:40 +#: src/object/rain_particle_system.hpp:41 msgid "Rain Particles" msgstr "Частицы дождя" -#: src/object/platform.hpp:45 +#: src/object/platform.hpp:46 msgid "Platform" msgstr "Платформа" -#: src/object/rock.hpp:42 -msgid "Rock" -msgstr "Камень" - -#: src/object/music_object.hpp:41 src/supertux/menu/options_menu.cpp:393 -#: data//credits.stxt:294 +#: src/object/music_object.hpp:42 src/supertux/menu/options_menu.cpp:130 +#: data//credits.stxt:309 msgid "Music" msgstr "Музыка" -#: src/object/rusty_trampoline.hpp:39 +#: src/object/lit_object.cpp:68 +msgid "Light sprite" +msgstr "Спрайт света" + +#: src/object/lit_object.cpp:71 +msgid "Sprite starting action" +msgstr "Начальное действие спрайта" + +#: src/object/lit_object.cpp:72 +msgid "Light sprite starting action" +msgstr "Начальное действие спрайта света" + +#: src/object/lit_object.cpp:74 +msgid "Light sprite offset X" +msgstr "Смещение X спрайта света" + +#: src/object/lit_object.cpp:75 +msgid "Light sprite offset Y" +msgstr "Смещение Y спрайта света" + +#: src/object/rusty_trampoline.hpp:40 msgid "Rusty Trampoline" msgstr "Ржавый трамплин" -#: src/object/particlesystem.hpp:57 +#: src/object/particlesystem.hpp:58 msgid "Particle system" msgstr "Система частиц" -#: src/object/candle.cpp:75 src/object/torch.cpp:101 +#: src/object/candle.cpp:73 src/object/torch.cpp:94 msgid "Burning" msgstr "Горящий" -#: src/object/candle.cpp:76 +#: src/object/candle.cpp:74 msgid "Flicker" msgstr "Мерцание" -#: src/object/text_array_object.hpp:50 +#: src/object/snow_particle_system.cpp:104 +msgid "Epsilon" +msgstr "Эпсилон" + +#: src/object/snow_particle_system.cpp:105 +msgid "Spin Speed" +msgstr "Скорость вращения" + +#: src/object/snow_particle_system.cpp:106 +msgid "State Length" +msgstr "Длина состояния" + +#: src/object/snow_particle_system.cpp:107 +msgid "Wind Speed" +msgstr "Скорость ветра" + +#: src/object/text_array_object.hpp:47 msgid "Text array" msgstr "Текстовый массив" -#: src/object/infoblock.hpp:36 +#: src/object/infoblock.hpp:37 msgid "Info Block" msgstr "Инфоблок" -#: src/object/powerup.cpp:191 +#: src/object/powerup.cpp:61 +msgid "Egg" +msgstr "Яйцо" + +#: src/object/powerup.cpp:62 +msgid "Fire Flower" +msgstr "Огненный цветок" + +#: src/object/powerup.cpp:63 +msgid "Ice Flower" +msgstr "Ледяной цветок" + +#: src/object/powerup.cpp:64 +msgid "Air Flower" +msgstr "Воздушный цветок" + +#: src/object/powerup.cpp:65 +msgid "Earth Flower" +msgstr "Земляной цветок" + +#: src/object/powerup.cpp:67 +msgid "Tux Doll" +msgstr "Кукла Такс" + +#: src/object/powerup.cpp:68 +msgid "Flip Potion" +msgstr "Зелье переворота" + +#: src/object/powerup.cpp:69 +msgid "Mints" +msgstr "Мятные леденцы" + +#: src/object/powerup.cpp:70 +msgid "Coffee" +msgstr "Кофе" + +#: src/object/powerup.cpp:71 +msgid "Herring" +msgstr "Сельдь" + +#: src/object/powerup.cpp:302 msgid "Disable gravity" msgstr "Отключить притяжение" -#: src/object/ambient_sound.hpp:62 +#: src/object/powerup.cpp:312 src/object/weak_block.cpp:266 +msgid "" +"Sprites no longer define the behaviour of the object.\n" +"Object types are used instead." +msgstr "Спрайты больше не определяют поведение объекта.\nВместо них используются типы объектов." + +#: src/object/ambient_sound.hpp:43 msgid "Ambient Sound" msgstr "Звук окружения" -#: src/object/level_time.cpp:51 src/supertux/statistics.cpp:297 +#: src/object/level_time.cpp:52 src/supertux/statistics.cpp:297 #: src/editor/node_marker.cpp:124 msgid "Time" msgstr "Время" -#: src/object/hurting_platform.hpp:30 +#: src/object/hurting_platform.hpp:31 msgid "Hurting Platform" msgstr "Травматическая платформа" -#: src/object/icecrusher.cpp:83 -msgid "Sideways" -msgstr "В сторону" - -#: src/object/background.cpp:182 +#: src/object/background.cpp:183 msgid "Fill" msgstr "Заполнение" -#: src/object/background.cpp:184 +#: src/object/background.cpp:185 msgid "Alignment" msgstr "Выравнивание" -#: src/object/background.cpp:185 +#: src/object/background.cpp:186 src/supertux/direction.cpp:61 msgid "none" msgstr "нет" -#: src/object/background.cpp:185 src/editor/object_settings.cpp:119 +#: src/object/background.cpp:186 src/supertux/direction.cpp:63 msgid "left" msgstr "лево" -#: src/object/background.cpp:185 src/editor/object_settings.cpp:119 +#: src/object/background.cpp:186 src/supertux/direction.cpp:65 msgid "right" msgstr "право" -#: src/object/background.cpp:185 +#: src/object/background.cpp:186 msgid "top" msgstr "верх" -#: src/object/background.cpp:185 +#: src/object/background.cpp:186 msgid "bottom" msgstr "низ" -#: src/object/background.cpp:188 +#: src/object/background.cpp:189 msgid "Scroll offset x" msgstr "Шаг прокрутки по X" -#: src/object/background.cpp:189 +#: src/object/background.cpp:190 msgid "Scroll offset y" msgstr "Шаг прокрутки по Y" -#: src/object/background.cpp:190 +#: src/object/background.cpp:191 msgid "Scroll speed x" msgstr "Скорость прокрутки по X" -#: src/object/background.cpp:191 +#: src/object/background.cpp:192 msgid "Scroll speed y" msgstr "Скорость прокрутки по Y" -#: src/object/background.cpp:192 +#: src/object/background.cpp:193 msgid "Parallax Speed x" msgstr "Скорость параллакса по X" -#: src/object/background.cpp:193 +#: src/object/background.cpp:194 msgid "Parallax Speed y" msgstr "Скорость параллакса по Y" -#: src/object/background.cpp:194 +#: src/object/background.cpp:195 msgid "Top image" msgstr "Верхнее изображение" -#: src/object/background.cpp:195 +#: src/object/background.cpp:196 msgid "Image" msgstr "Изображение" -#: src/object/background.cpp:196 +#: src/object/background.cpp:197 msgid "Bottom image" msgstr "Нижнее изображение" -#: src/object/background.cpp:197 +#: src/object/background.cpp:198 msgid "Colour" msgstr "Цвет" -#: src/object/background.cpp:198 src/object/tilemap.cpp:240 -#: src/object/gradient.cpp:142 +#: src/object/background.cpp:199 src/object/tilemap.cpp:278 +#: src/object/gradient.cpp:108 msgid "Draw target" msgstr "Рисовать цель" -#: src/object/background.cpp:199 src/object/tilemap.cpp:241 -#: src/object/gradient.cpp:143 -msgid "Normal" -msgstr "Обычный" - -#: src/object/background.cpp:199 src/object/tilemap.cpp:241 -#: src/object/gradient.cpp:143 +#: src/object/background.cpp:200 src/object/tilemap.cpp:279 +#: src/object/gradient.cpp:109 msgid "Lightmap" msgstr "Карта освещённости" -#: src/object/shard.hpp:34 +#: src/object/shard.hpp:35 msgid "Shard" msgstr "Осколок" -#: src/object/rublight.cpp:55 +#: src/object/rublight.cpp:56 msgid "Fading Speed" msgstr "Скорость затухания" -#: src/object/rublight.cpp:56 +#: src/object/rublight.cpp:57 msgid "Glowing Strength" msgstr "Сила свечения" @@ -735,20 +960,28 @@ msgstr "Влияет на игрока" msgid "Fancy Particles" msgstr "Причудливые частицы" -#: src/object/bicycle_platform.hpp:64 +#: src/object/bicycle_platform.hpp:67 msgid "Bicycle Platform" msgstr "Велосипедная платформа" -#: src/object/platform.cpp:76 src/object/thunderstorm.cpp:69 -#: src/object/tilemap.cpp:254 +#: src/object/platform.cpp:80 src/object/thunderstorm.cpp:77 +#: src/object/tilemap.cpp:292 src/object/conveyor_belt.cpp:62 msgid "Running" msgstr "Бегущий" -#: src/object/rock.cpp:192 +#: src/object/rock.cpp:71 +msgid "Small" +msgstr "Малый" + +#: src/object/rock.cpp:72 +msgid "Large" +msgstr "Большой" + +#: src/object/rock.cpp:234 msgid "On-grab script" msgstr "Сценарий подбора" -#: src/object/rock.cpp:193 +#: src/object/rock.cpp:235 msgid "On-ungrab script" msgstr "Сценарий сброса" @@ -756,15 +989,15 @@ msgstr "Сценарий сброса" msgid "Interactive particle system" msgstr "Интерактивная система частиц" -#: src/object/thunderstorm.cpp:70 +#: src/object/thunderstorm.cpp:78 msgid "Interval" msgstr "Промежуток" -#: src/object/thunderstorm.cpp:71 +#: src/object/thunderstorm.cpp:79 msgid "Strike Script" msgstr "Сценарий удара" -#: src/object/cloud_particle_system.hpp:41 +#: src/object/cloud_particle_system.hpp:42 msgid "Cloud Particles" msgstr "Частицы облака" @@ -776,7 +1009,7 @@ msgstr "Текстура" msgid "Amount" msgstr "Величина" -#: src/object/custom_particle_system.cpp:426 src/object/circleplatform.cpp:56 +#: src/object/custom_particle_system.cpp:426 src/object/circleplatform.cpp:59 #: src/editor/particle_editor.cpp:141 msgid "Delay" msgstr "Задержка" @@ -795,10 +1028,11 @@ msgid "Birth mode" msgstr "Режим появления" #: src/object/custom_particle_system.cpp:430 -#: src/object/custom_particle_system.cpp:465 src/object/gradient.cpp:149 -#: src/supertux/menu/keyboard_menu.cpp:58 -#: src/supertux/menu/joystick_menu.cpp:106 -#: src/supertux/menu/joystick_menu.cpp:213 src/editor/object_settings.cpp:131 +#: src/object/custom_particle_system.cpp:465 src/object/gradient.cpp:115 +#: src/gui/menu_string_array.cpp:40 src/gui/menu_string_array.cpp:78 +#: src/supertux/menu/keyboard_menu.cpp:80 +#: src/supertux/menu/joystick_menu.cpp:108 +#: src/supertux/menu/joystick_menu.cpp:215 src/editor/object_settings.cpp:129 #: src/editor/particle_editor.cpp:162 src/editor/particle_editor.cpp:168 msgid "None" msgstr "Нет" @@ -852,32 +1086,32 @@ msgstr "Кубическое появ./исчез." #: src/object/custom_particle_system.cpp:439 #: src/object/custom_particle_system.cpp:474 src/editor/node_marker.cpp:132 msgid "Quart in" -msgstr "Квартовое появление" +msgstr "Четвертичное появление" #: src/object/custom_particle_system.cpp:439 #: src/object/custom_particle_system.cpp:474 src/editor/node_marker.cpp:132 msgid "Quart out" -msgstr "Квартовое исчезновение" +msgstr "Четвертичное исчезновение" #: src/object/custom_particle_system.cpp:439 #: src/object/custom_particle_system.cpp:474 src/editor/node_marker.cpp:132 msgid "Quart in/out" -msgstr "Квартовое появ./исчез." +msgstr "Четвертичное появ./исчез." #: src/object/custom_particle_system.cpp:440 #: src/object/custom_particle_system.cpp:475 src/editor/node_marker.cpp:133 msgid "Quint in" -msgstr "Квинтовое появление" +msgstr "Пятеричное появление" #: src/object/custom_particle_system.cpp:440 #: src/object/custom_particle_system.cpp:475 src/editor/node_marker.cpp:133 msgid "Quint out" -msgstr "Квинтовое исчезновение" +msgstr "Пятеричное исчезновение" #: src/object/custom_particle_system.cpp:440 #: src/object/custom_particle_system.cpp:475 src/editor/node_marker.cpp:133 msgid "Quint in/out" -msgstr "Квинтовое появ./исчез." +msgstr "Пятеричное появ./исчез." #: src/object/custom_particle_system.cpp:441 #: src/object/custom_particle_system.cpp:476 src/editor/node_marker.cpp:134 @@ -1127,597 +1361,916 @@ msgstr "Всегда" msgid "Cover screen" msgstr "Покрыть экран" -#: src/object/ispy.hpp:33 +#: src/object/ispy.hpp:35 msgid "Ispy" msgstr "Глазок" -#: src/object/skull_tile.hpp:32 -msgid "Skull Tile" -msgstr "Тайл черепа" - -#: src/object/particle_zone.cpp:80 +#: src/object/particle_zone.cpp:51 msgid "Particle Name" msgstr "Название частицы" -#: src/object/particle_zone.cpp:81 -msgid "Zone Type" -msgstr "Тип зоны" - -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:62 msgid "Spawn" msgstr "Возрождение" -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:63 msgid "Life zone" msgstr "Зона жизни" -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:64 msgid "Life zone (clear)" msgstr "Зона жизни (чистая)" -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:65 msgid "Kill particles" msgstr "Частицы убийства" -#: src/object/particle_zone.cpp:82 +#: src/object/particle_zone.cpp:66 msgid "Clear particles" msgstr "Чистые частицы" -#: src/object/weak_block.cpp:211 -msgid "Linked" -msgstr "Связанный" +#: src/object/weak_block.cpp:98 +msgid "Hay" +msgstr "Сено" -#: src/object/decal.hpp:40 +#: src/object/decal.hpp:41 msgid "Decal" msgstr "Наклейка" -#: src/object/tilemap.cpp:229 +#: src/object/tilemap.cpp:267 msgid "Resize offset x" msgstr "Масштаб смещения по X" -#: src/object/tilemap.cpp:230 +#: src/object/tilemap.cpp:268 msgid "Resize offset y" msgstr "Масштаб смещения по Y" -#: src/object/tilemap.cpp:232 src/supertux/menu/editor_sector_menu.cpp:39 -#: src/editor/object_option.cpp:173 +#: src/object/tilemap.cpp:270 src/supertux/menu/editor_sector_menu.cpp:41 +#: src/editor/object_option.cpp:178 msgid "Width" msgstr "Ширина" -#: src/object/tilemap.cpp:233 src/supertux/menu/editor_sector_menu.cpp:40 -#: src/editor/object_option.cpp:174 +#: src/object/tilemap.cpp:271 src/supertux/menu/editor_sector_menu.cpp:42 +#: src/editor/object_option.cpp:179 msgid "Height" msgstr "Высота" -#: src/object/tilemap.cpp:235 +#: src/object/tilemap.cpp:273 msgid "Alpha" msgstr "Прозрачность" -#: src/object/tilemap.cpp:236 +#: src/object/tilemap.cpp:274 msgid "Speed x" msgstr "Скорость по X" -#: src/object/tilemap.cpp:237 +#: src/object/tilemap.cpp:275 msgid "Speed y" msgstr "Скорость по Y" -#: src/object/tilemap.cpp:238 +#: src/object/tilemap.cpp:276 msgid "Tint" msgstr "Оттенок" -#: src/object/tilemap.cpp:257 src/supertux/menu/editor_tilegroup_menu.cpp:26 -#: src/editor/toolbox_widget.cpp:90 +#: src/object/tilemap.cpp:296 src/supertux/menu/editor_tilegroup_menu.cpp:26 +#: src/editor/toolbox_widget.cpp:98 msgid "Tiles" msgstr "Плитки" -#: src/object/gradient.cpp:128 -msgid "Left Colour" -msgstr "Левый цвет" - -#: src/object/gradient.cpp:129 -msgid "Right Colour" -msgstr "Правый цвет" +#: src/object/gradient.cpp:98 +msgid "Primary Colour" +msgstr "Первичный цвет" -#: src/object/gradient.cpp:131 -msgid "Top Colour" -msgstr "Верхний цвет" +#: src/object/gradient.cpp:99 +msgid "Secondary Colour" +msgstr "Вторичный цвет" -#: src/object/gradient.cpp:132 -msgid "Bottom Colour" -msgstr "Нижний цвет" - -#: src/object/gradient.cpp:138 +#: src/object/gradient.cpp:104 msgid "Vertical" msgstr "Вертикальный" -#: src/object/gradient.cpp:138 +#: src/object/gradient.cpp:104 msgid "Horizontal" msgstr "Горизонтальный" -#: src/object/gradient.cpp:138 +#: src/object/gradient.cpp:104 msgid "Vertical (whole sector)" msgstr "Вертикальный (весь сектор)" -#: src/object/gradient.cpp:138 +#: src/object/gradient.cpp:104 msgid "Horizontal (whole sector)" msgstr "Горизонтальный (весь сектор)" -#: src/object/gradient.cpp:148 +#: src/object/gradient.cpp:114 msgid "Blend mode" msgstr "Режим смешивания" -#: src/object/gradient.cpp:149 +#: src/object/gradient.cpp:115 msgid "Blend" msgstr "Смешивание" -#: src/object/gradient.cpp:149 +#: src/object/gradient.cpp:115 msgid "Additive" msgstr "Добавочный" -#: src/object/gradient.cpp:149 +#: src/object/gradient.cpp:115 msgid "Modulate" msgstr "Модулировать" -#: src/object/bumper.hpp:35 +#: src/object/bumper.hpp:38 msgid "Bumper" msgstr "Бампер" -#: src/object/unstable_tile.hpp:37 +#: src/object/conveyor_belt.cpp:63 +msgid "Length" +msgstr "Длина" + +#: src/object/moving_sprite.cpp:192 src/object/pneumatic_platform.cpp:161 +msgid "Sprite" +msgstr "Спрайт" + +#: src/object/unstable_tile.hpp:42 msgid "Unstable Tile" msgstr "Нестабильная плитка" -#: src/object/brick.hpp:31 -msgid "Brick" -msgstr "Кирпич" +#: src/object/brick.hpp:70 +msgid "Heavy Brick" +msgstr "Тяжёлый кирпич" -#: src/object/invisible_wall.hpp:34 +#: src/object/invisible_wall.hpp:37 msgid "Invisible Wall" msgstr "Невидимая стена" -#: src/object/spotlight.hpp:51 +#: src/object/spotlight.hpp:52 msgid "Spotlight" msgstr "Прожектор" -#: src/object/scripted_object.hpp:39 +#: src/object/scripted_object.hpp:40 msgid "Scripted Object" msgstr "Субъект сценария" -#: src/object/custom_particle_system_file.hpp:39 +#: src/object/custom_particle_system_file.hpp:40 msgid "Custom Particles from file" msgstr "Настраиваемые частицы из файла" -#: src/object/coin.hpp:78 +#: src/object/coin.hpp:97 msgid "Heavy Coin" msgstr "Тяжёлая монета" -#: src/object/bonus_block.hpp:56 +#: src/object/explosion.hpp:35 +msgid "Explosion" +msgstr "Взрыв" + +#: src/object/bonus_block.hpp:62 msgid "Bonus Block" msgstr "Бонусный блок" -#: src/object/magicblock.hpp:41 +#: src/object/magicblock.hpp:42 msgid "Magic Tile" msgstr "Волшебная плитка" -#: src/object/camera.hpp:67 +#: src/object/camera.hpp:61 msgid "Camera" msgstr "Камера" -#: src/object/textscroller.hpp:44 +#: src/object/textscroller.hpp:45 msgid "Text Scroller" msgstr "Прокрутка текста" -#: src/gui/menu_badguy_select.cpp:94 -msgid "List of enemies" -msgstr "Список противников" +#: src/gui/notification.cpp:57 +msgid "Click for more details." +msgstr "Щелчок для подробностей." + +#: src/gui/notification.cpp:150 +msgid "Do not show again" +msgstr "Больше не показывать" + +#: src/gui/notification.cpp:157 src/supertux/menu/download_dialog.cpp:124 +msgid "Close" +msgstr "Закрыть" -#: src/gui/menu_badguy_select.cpp:96 -msgid "Select enemy" -msgstr "Выберите противника" +#: src/gui/menu_string_array.cpp:40 src/gui/menu_string_array.cpp:78 +#, c++-format +msgid "Selected item: {}" +msgstr "Выбрать объект: {}" -#: src/gui/menu_badguy_select.cpp:97 +#: src/gui/menu_string_array.cpp:70 +msgid "Edit string array" +msgstr "Править массив строк" + +#: src/gui/menu_string_array.cpp:79 src/gui/menu_object_select.cpp:50 +#: src/supertux/menu/profile_menu.cpp:88 msgid "Add" msgstr "Добавить" -#: src/gui/menu_badguy_select.cpp:107 src/gui/menu_color.cpp:37 -#: src/gui/dialog.hpp:81 src/gui/menu_script.cpp:47 -#: src/supertux/menu/editor_sector_menu.cpp:46 -#: src/supertux/menu/editor_levelset_menu.cpp:62 -#: src/supertux/menu/addon_menu.cpp:349 +#: src/gui/menu_string_array.cpp:80 +msgid "Insert" +msgstr "Вставить" + +#: src/gui/menu_string_array.cpp:81 +#: src/supertux/menu/addon_preview_menu.cpp:177 src/editor/object_menu.cpp:61 +msgid "Update" +msgstr "Обновить" + +#: src/gui/menu_string_array.cpp:82 src/supertux/menu/profile_menu.cpp:108 +#: src/supertux/menu/profile_menu.cpp:110 +msgid "Delete" +msgstr "Удалить" + +#: src/gui/menu_string_array.cpp:84 src/gui/menu_object_select.cpp:61 +#: src/gui/menu_color.cpp:37 src/gui/dialog.hpp:87 src/gui/menu_script.cpp:46 +#: src/supertux/menu/editor_sector_menu.cpp:48 +#: src/supertux/menu/editor_levelset_menu.cpp:58 #: src/supertux/menu/editor_new_levelset_menu.cpp:37 -#: src/supertux/menu/editor_level_menu.cpp:45 src/editor/object_menu.cpp:43 +#: src/supertux/menu/editor_level_menu.cpp:45 src/editor/object_menu.cpp:71 msgid "OK" -msgstr "ОК" +msgstr "Хорошо" -#: src/gui/menu_badguy_select.cpp:136 -msgid "Do you want to delete this badguy from the list?" -msgstr "Вы хотите удалить этого плохиша из списка?" +#: src/gui/menu_object_select.cpp:46 +msgid "List of objects" +msgstr "Список объектов" -#: src/gui/menu_badguy_select.cpp:137 src/gui/dialog.hpp:90 -#: src/supertux/menu/editor_level_select_menu.cpp:164 -#: src/supertux/menu/editor_menu.cpp:164 src/editor/editor.cpp:583 -msgid "Yes" -msgstr "Да" +#: src/gui/menu_object_select.cpp:48 +#, c++-format +msgid "Select object ({})" +msgstr "Выбрать объект ({})" -#: src/gui/menu_badguy_select.cpp:140 src/gui/dialog.hpp:91 -#: src/supertux/menu/editor_level_select_menu.cpp:168 -#: src/supertux/menu/editor_menu.cpp:167 src/editor/particle_editor.cpp:780 -#: src/editor/editor.cpp:590 -msgid "No" -msgstr "Нет" +#: src/gui/menu_object_select.cpp:114 +msgid "Are you sure you want to remove this object from the list?" +msgstr "Уверены, что хотите удалить этот объект из списка?" #: src/gui/menu_color.cpp:24 msgid "Mix the colour" msgstr "Смешать цвета" -#: src/gui/menu_filesystem.cpp:112 src/gui/menu_paths.cpp:44 -#: src/supertux/menu/particle_editor_save_as.cpp:42 +#: src/gui/dialog.hpp:96 src/supertux/menu/editor_level_select_menu.cpp:181 +#: src/editor/editor.cpp:663 +msgid "Yes" +msgstr "Да" + +#: src/gui/dialog.hpp:97 src/supertux/menu/editor_level_select_menu.cpp:185 +#: src/editor/particle_editor.cpp:781 src/editor/editor.cpp:670 +msgid "No" +msgstr "Нет" + +#: src/gui/menu_list.cpp:38 src/gui/menu_filesystem.cpp:120 +#: src/gui/menu_paths.cpp:48 src/supertux/menu/particle_editor_save_as.cpp:42 #: src/supertux/menu/editor_sectors_menu.cpp:45 -#: src/supertux/menu/editor_sectors_menu.cpp:95 -#: src/supertux/menu/editor_sectors_menu.cpp:100 +#: src/supertux/menu/editor_sectors_menu.cpp:94 +#: src/supertux/menu/editor_sectors_menu.cpp:99 #: src/supertux/menu/editor_objectgroup_menu.cpp:42 #: src/supertux/menu/editor_tilegroup_menu.cpp:36 -#: src/supertux/menu/editor_level_select_menu.cpp:173 +#: src/supertux/menu/editor_level_select_menu.cpp:190 #: src/supertux/menu/editor_save_as.cpp:42 #: src/supertux/menu/particle_editor_open.cpp:43 -#: src/editor/particle_editor.cpp:784 src/editor/editor.cpp:594 +#: src/editor/particle_editor.cpp:785 src/editor/editor.cpp:674 msgid "Cancel" msgstr "Отмена" +#: src/gui/menu_filesystem.cpp:118 +msgid "Open Directory" +msgstr "Открыть каталог" + #: src/gui/menu_script.cpp:28 msgid "Edit script" msgstr "Изменить сценарий" -#: src/gui/menu_paths.cpp:30 +#: src/gui/menu_paths.cpp:32 msgid "Clone" msgstr "Клонировать" -#: src/gui/menu_paths.cpp:38 +#: src/gui/menu_paths.cpp:41 msgid "" -"An error occured and the game could\n" +"An error occurred and the game could\n" "not clone the path. Please contact\n" "the developers for support." msgstr "Произошла ошибка, игра не смогла\nклонировать путь. Пожалуйста, обратитесь\nк разработчикам за поддержкой." -#: src/gui/menu_paths.cpp:41 +#: src/gui/menu_paths.cpp:44 msgid "Bind" msgstr "Назначить" -#: src/gui/menu_paths.cpp:63 src/supertux/menu/integrations_menu.cpp:60 -#: src/supertux/menu/contrib_menu.cpp:161 src/supertux/menu/debug_menu.cpp:75 -#: src/supertux/menu/editor_level_select_menu.cpp:88 -#: src/supertux/menu/worldmap_cheat_menu.cpp:55 -#: src/supertux/menu/worldmap_cheat_menu.cpp:153 +#: src/gui/menu_paths.cpp:49 +msgid "" +"Do you wish to clone the path to edit it separately,\n" +"or do you want to bind both paths together\n" +"so that any edit on one edits the other?" +msgstr "Хотите клонировать путь, чтобы править его отдельно,\nили вы хотите связать оба пути вместе,\nчтобы при правке одного из них изменялся и другой?" + +#: src/gui/menu_paths.cpp:56 +#, c++-format +msgid "Path {}" +msgstr "Путь {}" + +#: src/gui/menu_paths.cpp:67 src/supertux/menu/integrations_menu.cpp:60 +#: src/supertux/menu/editor_converters_menu.cpp:79 +#: src/supertux/menu/video_system_menu.cpp:45 +#: src/supertux/menu/contrib_menu.cpp:102 src/supertux/menu/debug_menu.cpp:77 +#: src/supertux/menu/multiplayer_menu.cpp:39 +#: src/supertux/menu/custom_menu_menu.cpp:65 +#: src/supertux/menu/editor_level_select_menu.cpp:98 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:63 +#: src/supertux/menu/worldmap_cheat_menu.cpp:57 +#: src/supertux/menu/worldmap_cheat_menu.cpp:196 #: src/supertux/menu/editor_levelset_select_menu.cpp:114 -#: src/supertux/menu/options_menu.cpp:442 -#: src/supertux/menu/profile_menu.cpp:54 src/supertux/menu/addon_menu.cpp:213 +#: src/supertux/menu/options_menu.cpp:223 +#: src/supertux/menu/editor_delete_levelset_menu.cpp:69 +#: src/supertux/menu/addon_preview_menu.cpp:193 +#: src/supertux/menu/profile_menu.cpp:118 +#: src/supertux/menu/multiplayer_players_menu.cpp:91 +#: src/supertux/menu/addon_menu.cpp:153 #: src/supertux/menu/editor_new_levelset_menu.cpp:40 +#: src/supertux/menu/options_select_menu.cpp:44 #: src/supertux/menu/world_set_menu.cpp:33 +#: src/supertux/menu/addon_browse_menu.cpp:162 #: src/supertux/menu/web_asset_menu.cpp:48 -#: src/supertux/menu/keyboard_menu.cpp:49 -#: src/supertux/menu/language_menu.cpp:56 -#: src/supertux/menu/joystick_menu.cpp:97 +#: src/supertux/menu/profile_name_menu.cpp:45 +#: src/supertux/menu/keyboard_menu.cpp:71 +#: src/supertux/menu/sorted_contrib_menu.cpp:51 +#: src/supertux/menu/language_menu.cpp:63 +#: src/supertux/menu/joystick_menu.cpp:99 #: src/supertux/menu/contrib_levelset_menu.cpp:67 -#: src/supertux/menu/cheat_menu.cpp:44 -#: src/supertux/menu/editor_delete_level_menu.cpp:43 +#: src/supertux/menu/cheat_menu.cpp:58 +#: src/supertux/menu/addon_file_install_menu.cpp:36 +#: src/supertux/menu/cheat_apply_menu.cpp:43 +#: src/supertux/menu/cheat_apply_menu.cpp:63 +#: src/supertux/menu/multiplayer_player_menu.cpp:205 +#: src/supertux/menu/editor_delete_level_menu.cpp:68 msgid "Back" msgstr "Назад" -#: src/badguy/toad.hpp:37 +#: src/addon/addon_manager.cpp:562 +msgid "Only one resource pack is allowed to be enabled at a time." +msgstr "Одновременно можно включить только один пакет ресурсов." + +#: src/addon/addon_manager.cpp:837 +#, c++-format +msgid "Add-on {} by {} is already installed." +msgstr "Дополнение {} от {} уже установлено." + +#: src/addon/addon_manager.cpp:857 +#, c++-format +msgid "Add-on {} by {} successfully installed." +msgstr "Дополнение {} от {} успешно установлено." + +#: src/addon/addon.cpp:71 src/supertux/menu/editor_levelset_menu.cpp:54 +msgid "Levelset" +msgstr "Набор уровней" + +#: src/addon/addon.cpp:74 src/supertux/menu/editor_levelset_menu.cpp:54 +#: data//images/engine/editor/objects.stoi:389 +msgid "Worldmap" +msgstr "Карта мира" + +#: src/addon/addon.cpp:77 +msgid "World" +msgstr "Мир" + +#: src/addon/addon.cpp:80 +msgid "Add-on" +msgstr "Дополнение" + +#: src/addon/addon.cpp:83 +msgid "Language Pack" +msgstr "Языковой пакет" + +#: src/addon/addon.cpp:86 +msgid "Resource Pack" +msgstr "Пакет ресурсов" + +#: src/addon/addon.cpp:89 +msgid "Unknown" +msgstr "Неизвестно" + +#: src/addon/addon.cpp:100 +#, c++-format +msgid "{} \"{}\" by \"{}\"" +msgstr "{} «{}» от «{}»" + +#: src/addon/addon.cpp:114 +msgid "add-on" +msgstr "дополнение" + +#: src/addon/addon.cpp:114 +msgid "add-ons" +msgstr "дополнения" + +#: src/badguy/toad.hpp:38 msgid "Toad" msgstr "Жаба" -#: src/badguy/mrtree.hpp:29 -msgid "Walking Tree" -msgstr "Гуляющее дерево" +#: src/badguy/mrtree.hpp:32 +msgid "Mr. Tree" +msgstr "Мистер Дерево" -#: src/badguy/plant.hpp:33 +#: src/badguy/plant.hpp:34 msgid "Plant" msgstr "Завод" -#: src/badguy/crystallo.hpp:30 +#: src/badguy/tarantula.hpp:39 src/badguy/tarantula.cpp:353 +msgid "Tarantula" +msgstr "Тарантул" + +#: src/badguy/granito_giant.cpp:71 +msgid "Awake" +msgstr "Бодрый" + +#: src/badguy/granito_giant.cpp:72 +msgid "Sleeping" +msgstr "Спящий" + +#: src/badguy/granito_giant.cpp:73 +msgid "Corrupted A" +msgstr "Повреждённый A" + +#: src/badguy/granito_giant.cpp:74 +msgid "Corrupted B" +msgstr "Повреждённый B" + +#: src/badguy/granito_giant.cpp:75 +msgid "Corrupted C" +msgstr "Повреждённый C" + +#: src/badguy/crystallo.hpp:33 msgid "Crystallo" msgstr "Кристалло" -#: src/badguy/totem.hpp:36 +#: src/badguy/viciousivy.cpp:45 src/badguy/snail.cpp:70 +#: src/badguy/kamikazesnowball.cpp:118 src/badguy/walkingleaf.cpp:36 +#: src/badguy/jumpy.cpp:46 src/badguy/igel.cpp:189 src/badguy/mrtree.cpp:51 +msgid "Corrupted" +msgstr "Повреждённый" + +#: src/badguy/totem.hpp:37 msgid "Totem" msgstr "Тотем" -#: src/badguy/stalactite.hpp:38 +#: src/badguy/stalactite.hpp:42 msgid "Stalactite" msgstr "Сталактит" -#: src/badguy/haywire.hpp:45 +#: src/badguy/fish_chasing.cpp:198 +msgid "Tracking Distance" +msgstr "Расстояние отслеживания" + +#: src/badguy/fish_chasing.cpp:199 +msgid "Losing Distance" +msgstr "Расстояние потери" + +#: src/badguy/fish_chasing.cpp:200 +msgid "Chase Speed" +msgstr "Скорость преследования" + +#: src/badguy/root_sapling.hpp:41 +msgid "Root Sapling" +msgstr "Корневой саженец" + +#: src/badguy/haywire.hpp:46 msgid "Haywire" msgstr "Непредсказуемый" -#: src/badguy/dispenser.hpp:48 +#: src/badguy/dispenser.hpp:52 msgid "Dispenser" msgstr "Раздатчик" -#: src/badguy/short_fuse.hpp:29 +#: src/badguy/short_fuse.hpp:30 msgid "Short Fuse" msgstr "Вспыльчивый" -#: src/badguy/zeekling.hpp:36 +#: src/badguy/zeekling.hpp:39 msgid "Zeekling" msgstr "Зиклинг" -#: src/badguy/mriceblock.hpp:46 -msgid "Iceblock" -msgstr "Ледяной блок" - -#: src/badguy/scrystallo.cpp:52 -msgid "Walk Radius" -msgstr "Радиус ходьбы" +#: src/badguy/smartball.cpp:35 +msgid "Pumpkin" +msgstr "Тыква" -#: src/badguy/scrystallo.cpp:53 -msgid "Awakening Radius" -msgstr "Радиус пробуждения" +#: src/badguy/bouncing_snowball.cpp:82 +msgid "Fatbat" +msgstr "Толстая летучая мышь" -#: src/badguy/jumpy.hpp:36 -msgid "Jumpy" -msgstr "Попрыгунчик" +#: src/badguy/dive_mine.hpp:50 +msgid "Dive Mine" +msgstr "Шахта для погружения" -#: src/badguy/captainsnowball.hpp:31 -msgid "Captain Snowball" -msgstr "Капитан Снежок" +#: src/badguy/granito_big.hpp:33 +msgid "Big Granito" +msgstr "Большой Гранито" -#: src/badguy/ghosttree.hpp:42 -msgid "Ghost Tree" -msgstr "Призрачное дерево" +#: src/badguy/mriceblock.hpp:49 +msgid "Mr. Iceblock" +msgstr "Мистер Ледышка" -#: src/badguy/willowisp.cpp:323 -msgid "Track range" -msgstr "Диапазон трассировки" +#: src/badguy/granito.hpp:39 src/badguy/darttrap.cpp:163 +#: src/badguy/corrupted_granito.cpp:175 src/badguy/dispenser.cpp:438 +msgid "Granito" +msgstr "Гранито" -#: src/badguy/willowisp.cpp:324 +#: src/badguy/fish_swimming.cpp:54 src/badguy/jumpy.cpp:44 +#: data//images/ice_world.strf:10 data//images/tiles.strf:28 +#: data//images/worldmap.strf:41 +msgid "Snow" +msgstr "Снег" + +#: src/badguy/fish_swimming.cpp:55 data//images/ice_world.strf:211 +#: data//images/tiles.strf:366 data//images/worldmap.strf:67 +msgid "Forest" +msgstr "Лес" + +#: src/badguy/crusher.hpp:71 +msgid "Crusher" +msgstr "Дробилка" + +#: src/badguy/flame.cpp:84 +msgid "Fire" +msgstr "Огонь" + +#: src/badguy/flame.cpp:85 +msgid "Ghost" +msgstr "Призрак" + +#: src/badguy/corrupted_granito_big.hpp:35 +msgid "Corrupted Big Granito" +msgstr "Повреждённый Большой Гранито" + +#: src/badguy/scrystallo.cpp:57 +msgid "Walk Radius" +msgstr "Радиус ходьбы" + +#: src/badguy/scrystallo.cpp:58 +msgid "Awakening Radius" +msgstr "Радиус пробуждения" + +#: src/badguy/scrystallo.cpp:59 +msgid "Roof-attached" +msgstr "Крепящийся к крыше" + +#: src/badguy/jumpy.hpp:40 +msgid "Jumpy" +msgstr "Попрыгунчик" + +#: src/badguy/captainsnowball.hpp:32 +msgid "Captain Snowball" +msgstr "Капитан Снежок" + +#: src/badguy/ghosttree.hpp:43 +msgid "Ghost Tree" +msgstr "Призрачное дерево" + +#: src/badguy/willowisp.cpp:314 +msgid "Track range" +msgstr "Диапазон трассировки" + +#: src/badguy/willowisp.cpp:315 msgid "Vanish range" -msgstr "Диапазон развеивания" +msgstr "Диапазон исчезновения" -#: src/badguy/willowisp.cpp:325 +#: src/badguy/willowisp.cpp:316 msgid "Fly speed" msgstr "Скорость полёта" -#: src/badguy/kugelblitz.hpp:39 +#: src/badguy/kugelblitz.hpp:40 msgid "Kugelblitz" msgstr "Шаровая молния" -#: src/badguy/mole_rock.hpp:43 +#: src/badguy/mole_rock.hpp:44 msgid "Mole's rock" msgstr "Кротовья скала" -#: src/badguy/badguy.cpp:849 +#: src/badguy/badguy.cpp:1064 msgid "Death script" msgstr "Сценарий смерти" -#: src/badguy/sspiky.hpp:36 +#: src/badguy/sspiky.hpp:37 msgid "Sleeping Spiky" msgstr "Спящая колючка" -#: src/badguy/yeti_stalactite.hpp:33 +#: src/badguy/yeti_stalactite.hpp:34 msgid "Yeti's Stalactite" msgstr "Сталактит Йети" -#: src/badguy/livefire.hpp:37 +#: src/badguy/fish_harmless.hpp:30 +msgid "Harmless Fish" +msgstr "Безобидная рыба" + +#: src/badguy/livefire.hpp:38 msgid "Walking Flame" msgstr "Гуляющий огонь" -#: src/badguy/livefire.hpp:68 +#: src/badguy/livefire.hpp:71 msgid "Sleeping Flame" msgstr "Спящий огонь" -#: src/badguy/livefire.hpp:84 +#: src/badguy/livefire.hpp:89 msgid "Dormant Flame" msgstr "Дремлющий огонь" -#: src/badguy/owl.hpp:39 +#: src/badguy/owl.hpp:45 msgid "Owl" msgstr "Сова" -#: src/badguy/igel.hpp:34 +#: src/badguy/igel.hpp:38 msgid "Igel" msgstr "Игель" -#: src/badguy/darttrap.cpp:126 +#: src/badguy/darttrap.cpp:148 msgid "Initial delay" msgstr "Начальная задержка" -#: src/badguy/darttrap.cpp:128 +#: src/badguy/darttrap.cpp:150 msgid "Fire delay" msgstr "Задержка огня" -#: src/badguy/darttrap.cpp:129 +#: src/badguy/darttrap.cpp:151 msgid "Ammo" msgstr "Боеприпасы" -#: src/badguy/snowball.hpp:29 -msgid "Snowball" -msgstr "Снежок" +#: src/badguy/darttrap.cpp:152 +msgid "Dart sprite" +msgstr "Спрайт дартс" + +#: src/badguy/darttrap.cpp:164 +msgid "Skull" +msgstr "Череп" -#: src/badguy/smartblock.hpp:29 -msgid "Smartblock" -msgstr "Умный блок" +#: src/badguy/snowball.hpp:30 +msgid "Mr. Snowball" +msgstr "Мистер Снежок" -#: src/badguy/yeti.cpp:369 +#: src/badguy/smartblock.hpp:30 +msgid "Mrs. Iceblock" +msgstr "Миссис Ледышка" + +#: src/badguy/yeti.cpp:370 msgid "Fixed position" msgstr "Закреплённая позиция" -#: src/badguy/yeti.cpp:370 +#: src/badguy/yeti.cpp:371 msgid "Lives" msgstr "Жизни" -#: src/badguy/goldbomb.hpp:49 +#: src/badguy/goldbomb.hpp:50 msgid "Gold Bomb" msgstr "Золотая бомба" -#: src/badguy/flyingsnowball.hpp:32 +#: src/badguy/corrupted_granito.hpp:44 +msgid "Corrupted Granito" +msgstr "Повреждённый Гранито" + +#: src/badguy/mrbomb.cpp:48 +msgid "Classic" +msgstr "Классический" + +#: src/badguy/flyingsnowball.hpp:33 msgid "Flying Snowball" msgstr "Парящий снежок" -#: src/badguy/skullyhop.hpp:37 -msgid "Skullyhop" -msgstr "Прыгающий череп" +#: src/badguy/crusher.cpp:75 +msgid "Ice (normal)" +msgstr "Лёд (обычный)" + +#: src/badguy/crusher.cpp:76 +msgid "Ice (big)" +msgstr "Лёд (большой)" + +#: src/badguy/crusher.cpp:77 +msgid "Rock (normal)" +msgstr "Скала (обычная)" + +#: src/badguy/crusher.cpp:78 +msgid "Rock (big)" +msgstr "Скала (большая)" -#: src/badguy/kamikazesnowball.hpp:32 -msgid "Snowshot" -msgstr "Снежный выстрел" +#: src/badguy/crusher.cpp:79 +msgid "Corrupted (normal)" +msgstr "Повреждённый (обычный)" + +#: src/badguy/crusher.cpp:80 +msgid "Corrupted (big)" +msgstr "Повреждённый (большой)" + +#: src/badguy/crusher.cpp:492 +msgid "Sideways" +msgstr "В сторону" -#: src/badguy/kamikazesnowball.hpp:52 +#: src/badguy/kamikazesnowball.hpp:34 +msgid "Kamikaze Snowball" +msgstr "Снежок камикадзе" + +#: src/badguy/kamikazesnowball.hpp:64 msgid "Leafshot" msgstr "Листовой выстрел" -#: src/badguy/flame.hpp:41 +#: src/badguy/fish_swimming.hpp:40 +msgid "Swimming Fish" +msgstr "Плавающая рыба" + +#: src/badguy/flame.hpp:47 msgid "Flame" msgstr "Пламя" -#: src/badguy/scrystallo.hpp:30 +#: src/badguy/scrystallo.hpp:31 msgid "Sleeping Crystallo" msgstr "Спящий Кристалло" -#: src/badguy/poisonivy.hpp:30 -msgid "Spring Leaf" -msgstr "Весенний лист" +#: src/badguy/jumpy.cpp:45 +msgid "Wooden" +msgstr "Деревянный" + +#: src/badguy/jumpy.cpp:47 +msgid "Metal" +msgstr "Металл" + +#: src/badguy/jumpy.cpp:48 +msgid "Bag" +msgstr "Сумка" #: src/badguy/willowisp.hpp:57 msgid "Will o' Wisp" msgstr "Блуждающий огонёк" -#: src/badguy/badguy.hpp:53 +#: src/badguy/fish_jumping.hpp:41 +msgid "Jumping Fish" +msgstr "Прыгающая рыба" + +#: src/badguy/badguy.hpp:61 msgid "Badguy" msgstr "Плохиш" -#: src/badguy/ghostflame.hpp:30 -msgid "Ghost Flame" -msgstr "Призрачный огонь" - -#: src/badguy/rcrystallo.hpp:30 +#: src/badguy/rcrystallo.hpp:33 msgid "Roof Crystallo" msgstr "Кровельный Кристалло" -#: src/badguy/spiky.hpp:30 +#: src/badguy/spiky.hpp:31 msgid "Spiky" msgstr "Ёжик" -#: src/badguy/walkingleaf.hpp:30 -msgid "Autumn Leaf" -msgstr "Осенний лист" +#: src/badguy/walkingleaf.hpp:33 +msgid "Walking Leaf" +msgstr "Шагающий лист" -#: src/badguy/owl.cpp:227 +#: src/badguy/root.hpp:39 +msgid "Root" +msgstr "Корешок" + +#: src/badguy/owl.cpp:241 msgid "Carry" msgstr "Керри" -#: src/badguy/darttrap.hpp:33 +#: src/badguy/darttrap.hpp:35 msgid "Dart Trap" msgstr "Ловушка со стрелами" -#: src/badguy/skydive.hpp:38 +#: src/badguy/skydive.hpp:43 msgid "Skydive" msgstr "Прыжок с парашютом" -#: src/badguy/yeti.hpp:37 +#: src/badguy/yeti.hpp:38 msgid "Yeti" msgstr "Йети" -#: src/badguy/mole.hpp:39 +#: src/badguy/snowball.cpp:41 +msgid "Bumpkin" +msgstr "Шишка" + +#: src/badguy/snowball.cpp:42 +msgid "BSOD" +msgstr "Синий экран смерти" + +#: src/badguy/mole.hpp:38 msgid "Mole" msgstr "Крот" -#: src/badguy/mrbomb.hpp:42 -msgid "Bomb" -msgstr "Бомба" +#: src/badguy/corrupted_granito.cpp:176 +msgid "Skullyhop" +msgstr "Прыгающий череп" + +#: src/badguy/mrbomb.hpp:40 +msgid "Mr. Bomb" +msgstr "Бомбочка" -#: src/badguy/walking_candle.hpp:40 +#: src/badguy/walking_candle.hpp:41 msgid "Walking Candle" msgstr "Гуляющая свеча" -#: src/badguy/angrystone.hpp:34 +#: src/badguy/angrystone.hpp:39 msgid "Angry Stone" msgstr "Злой камень" -#: src/badguy/spidermite.hpp:35 -msgid "Spider" -msgstr "Паук" +#: src/badguy/tarantula.cpp:354 +msgid "Spidermite" +msgstr "Паутинный клещ" + +#: src/badguy/tarantula.cpp:374 +msgid "Static" +msgstr "Статический" #: src/badguy/ghoul.hpp:30 msgid "Ghoul" msgstr "Упырь" -#: src/badguy/snowman.hpp:28 +#: src/badguy/granito_giant.hpp:32 +msgid "Giant Granito" +msgstr "Гигансткий Гранито" + +#: src/badguy/snowman.hpp:29 msgid "Snowman" msgstr "Снеговик" -#: src/badguy/stumpy.hpp:35 -msgid "Walking Stump" -msgstr "Гуляющий пень" +#: src/badguy/viciousivy.hpp:33 +msgid "Vicious Ivy" +msgstr "Порочный плющ" + +#: src/badguy/stalactite.cpp:156 +msgid "ice" +msgstr "лёд" -#: src/badguy/fish.hpp:40 -msgid "Fish" -msgstr "Рыбка" +#: src/badguy/stalactite.cpp:157 +msgid "rock" +msgstr "скала" -#: src/badguy/dispenser.cpp:445 +#: src/badguy/fish_chasing.hpp:33 +msgid "Chasing Fish" +msgstr "Преследующая рыба" + +#: src/badguy/stumpy.hpp:38 +msgid "Stumpy" +msgstr "Пенёк" + +#: src/badguy/dispenser.cpp:412 msgid "Interval (seconds)" msgstr "Интервал (в секундах)" -#: src/badguy/dispenser.cpp:446 +#: src/badguy/dispenser.cpp:413 msgid "Random" msgstr "Случайно" -#: src/badguy/dispenser.cpp:447 data//images/engine/editor/objects.stoi:4 -msgid "Enemies" -msgstr "Противники" +#: src/badguy/dispenser.cpp:416 +#: src/supertux/menu/editor_objectgroup_menu.cpp:30 +#: src/editor/toolbox_widget.cpp:101 +msgid "Objects" +msgstr "Объекты" -#: src/badguy/dispenser.cpp:448 +#: src/badguy/dispenser.cpp:419 msgid "Limit dispensed badguys" msgstr "Лимит выпускаемых плохишей" -#: src/badguy/dispenser.cpp:450 +#: src/badguy/dispenser.cpp:421 msgid "Obey Gravity" msgstr "Подчиняться гравитации" -#: src/badguy/dispenser.cpp:452 +#: src/badguy/dispenser.cpp:423 msgid "Max concurrent badguys" msgstr "Макс. одновременных плохишей" -#: src/badguy/dispenser.cpp:454 src/supertux/menu/editor_levelset_menu.cpp:60 -msgid "Type" -msgstr "Тип" - -#: src/badguy/dispenser.cpp:455 -msgid "dropper" -msgstr "ловушка" +#: src/badguy/dispenser.cpp:435 +msgid "Dropper" +msgstr "Капельница" -#: src/badguy/dispenser.cpp:455 -msgid "rocket launcher" -msgstr "пусковая установка" +#: src/badguy/dispenser.cpp:436 +msgid "Cannon" +msgstr "Пушка" -#: src/badguy/dispenser.cpp:455 -msgid "cannon" -msgstr "пушка" - -#: src/badguy/dispenser.cpp:455 -msgid "invisible" -msgstr "невидимый" +#: src/badguy/dispenser.cpp:437 src/worldmap/special_tile.cpp:77 +msgid "Invisible" +msgstr "Невидимость" -#: src/badguy/snail.hpp:42 +#: src/badguy/snail.hpp:43 msgid "Snail" msgstr "Улитка" -#: src/badguy/smartball.hpp:31 -msgid "Smartball" -msgstr "Умный мяч" +#: src/badguy/smartball.hpp:32 +msgid "Mrs. Snowball" +msgstr "Миссис Снежок" -#: src/badguy/bouncing_snowball.hpp:32 +#: src/badguy/bouncing_snowball.hpp:39 msgid "Bouncing Snowball" -msgstr "Прыгающий снежок" +msgstr "Прыгающий Снежок" + +#: src/badguy/granito_big.cpp:52 src/badguy/granito.cpp:263 +msgid "Default" +msgstr "По умолчанию" + +#: src/badguy/granito_big.cpp:53 src/badguy/granito.cpp:264 +msgid "Standing" +msgstr "Стоящий" + +#: src/badguy/granito_big.cpp:54 src/badguy/granito.cpp:265 +msgid "Walking" +msgstr "Шагающий" -#: src/badguy/iceflame.hpp:33 -msgid "Ice Flame" -msgstr "Ледяное пламя" +#: src/badguy/mriceblock.cpp:63 +msgid "Laptop" +msgstr "Ноутбук" -#: src/badguy/dart.hpp:43 +#: src/badguy/dart.hpp:44 msgid "Dart" msgstr "Стрела" +#: src/badguy/granito.cpp:268 +msgid "Sitting" +msgstr "Сидящий" + #: src/supertux/statistics.cpp:54 msgid "Max coins collected:" msgstr "Максимум собранных монет:" @@ -1736,11 +2289,11 @@ msgstr "Лучшее время:" #: src/supertux/statistics.cpp:58 msgid "Level target time:" -msgstr "Заданное время уровня:" +msgstr "Целевое время уровня:" -#: src/supertux/statistics.cpp:149 src/supertux/levelintro.cpp:160 +#: src/supertux/statistics.cpp:149 src/supertux/levelintro.cpp:175 msgid "Best Level Statistics" -msgstr "Лучшая статистика миссии" +msgstr "Лучшая статистика уровня" #: src/supertux/statistics.cpp:238 msgid "You" @@ -1750,7 +2303,7 @@ msgstr "Ваше" msgid "Best" msgstr "Лучшее" -#: src/supertux/statistics.cpp:242 src/supertux/levelintro.cpp:166 +#: src/supertux/statistics.cpp:242 src/supertux/levelintro.cpp:181 msgid "Coins" msgstr "Монеты" @@ -1758,264 +2311,347 @@ msgstr "Монеты" msgid "Badguys" msgstr "Плохиши" -#: src/supertux/statistics.cpp:281 src/supertux/levelintro.cpp:172 +#: src/supertux/statistics.cpp:281 src/supertux/levelintro.cpp:187 msgid "Secrets" msgstr "Тайники" -#: src/supertux/game_object.hpp:78 +#: src/supertux/game_object.hpp:88 msgid "Unknown object" msgstr "Неизвестный объект" -#: src/supertux/sector.cpp:414 +#: src/supertux/sector.cpp:507 msgid "Press escape to skip" msgstr "Нажмите Escape для пропуска" -#: src/supertux/command_line_arguments.cpp:94 -#, c-format +#: src/supertux/command_line_arguments.cpp:92 +#, c++-format msgid "Usage: {} [OPTIONS] [LEVELFILE]" msgstr "Использование: {} [ПАРАМЕТРЫ] [ФАЙЛ_УРОВНЯ]" -#: src/supertux/command_line_arguments.cpp:95 +#: src/supertux/command_line_arguments.cpp:93 msgid "General Options:" msgstr "Основные настройки:" -#: src/supertux/command_line_arguments.cpp:96 +#: src/supertux/command_line_arguments.cpp:94 msgid " -h, --help Show this help message and quit" msgstr " -h, --help Показать эту справку и выйти" -#: src/supertux/command_line_arguments.cpp:97 +#: src/supertux/command_line_arguments.cpp:95 msgid " -v, --version Show SuperTux version and quit" msgstr " -v, --version Показать версию SuperTux и выйти" -#: src/supertux/command_line_arguments.cpp:98 +#: src/supertux/command_line_arguments.cpp:96 msgid " --verbose Print verbose messages" msgstr " --verbose Выводить подробные сообщения" -#: src/supertux/command_line_arguments.cpp:99 +#: src/supertux/command_line_arguments.cpp:97 msgid " --debug Print extra verbose messages" msgstr " --debug Выводить дополнительные подробные сообщения" -#: src/supertux/command_line_arguments.cpp:100 +#: src/supertux/command_line_arguments.cpp:98 msgid "" " --print-datadir Print SuperTux's primary data directory." msgstr " --print-datadir Вывести основной каталог данных SuperTux." -#: src/supertux/command_line_arguments.cpp:101 +#: src/supertux/command_line_arguments.cpp:99 msgid "" " --acknowledgements Print the licenses of libraries used by " "SuperTux." msgstr " --acknowledgements Вывести лицензии библиотек, используемых в SuperTux." -#: src/supertux/command_line_arguments.cpp:103 +#: src/supertux/command_line_arguments.cpp:101 msgid "Video Options:" msgstr "Настройки графики:" -#: src/supertux/command_line_arguments.cpp:104 +#: src/supertux/command_line_arguments.cpp:102 msgid " -f, --fullscreen Run in fullscreen mode" msgstr " -f, --fullscreen Запуск в полноэкранном режиме" -#: src/supertux/command_line_arguments.cpp:105 +#: src/supertux/command_line_arguments.cpp:103 msgid " -w, --window Run in window mode" msgstr " -w, --window Запуск в окне" -#: src/supertux/command_line_arguments.cpp:106 +#: src/supertux/command_line_arguments.cpp:104 msgid " -g, --geometry WIDTHxHEIGHT Run SuperTux in given resolution" msgstr " -g, --geometry ШИРИНАxВЫСОТА Запустить SuperTux в данном разрешении" -#: src/supertux/command_line_arguments.cpp:107 +#: src/supertux/command_line_arguments.cpp:105 msgid " -a, --aspect WIDTH:HEIGHT Run SuperTux with given aspect ratio" msgstr "-a, --aspect ШИРИНА:ВЫСОТА Запустить SuperTux с данным соотношением сторон" -#: src/supertux/command_line_arguments.cpp:108 +#: src/supertux/command_line_arguments.cpp:106 msgid " -d, --default Reset video settings to default values" msgstr " -d, --default Сбросить настройки графики" -#: src/supertux/command_line_arguments.cpp:109 +#: src/supertux/command_line_arguments.cpp:107 msgid " --renderer RENDERER Use sdl, opengl, or auto to render" msgstr " --renderer ИНТЕРФЕЙС Использовать интерфейсы sdl, opengl или auto для отрисовки" -#: src/supertux/command_line_arguments.cpp:111 +#: src/supertux/command_line_arguments.cpp:109 msgid "Audio Options:" msgstr "Настройки звука:" -#: src/supertux/command_line_arguments.cpp:112 +#: src/supertux/command_line_arguments.cpp:110 msgid " --disable-sound Disable sound effects" msgstr " --disable-sound Отключить звуковые эффекты" -#: src/supertux/command_line_arguments.cpp:113 +#: src/supertux/command_line_arguments.cpp:111 msgid " --disable-music Disable music" msgstr " --disable-music Отключить музыку" -#: src/supertux/command_line_arguments.cpp:115 +#: src/supertux/command_line_arguments.cpp:113 msgid "Game Options:" msgstr "Настройки игры:" -#: src/supertux/command_line_arguments.cpp:116 +#: src/supertux/command_line_arguments.cpp:114 msgid " --edit-level Open given level in editor" msgstr " --edit-level Открыть данный уровень в редакторе" -#: src/supertux/command_line_arguments.cpp:117 +#: src/supertux/command_line_arguments.cpp:115 msgid " --resave Loads given level and saves it" msgstr " --resave Загружает указанный уровень и сохраняет его" -#: src/supertux/command_line_arguments.cpp:118 +#: src/supertux/command_line_arguments.cpp:116 msgid " --show-fps Display framerate in levels" msgstr " --show-fps Выводить частоту кадров на уровнях" -#: src/supertux/command_line_arguments.cpp:119 +#: src/supertux/command_line_arguments.cpp:117 msgid " --no-show-fps Do not display framerate in levels" msgstr " --no-show-fps Не выводить частоту кадров на уровнях" -#: src/supertux/command_line_arguments.cpp:120 +#: src/supertux/command_line_arguments.cpp:118 msgid " --show-pos Display player's current position" msgstr " --show-pos Выводить текущее положение игрока" -#: src/supertux/command_line_arguments.cpp:121 +#: src/supertux/command_line_arguments.cpp:119 msgid " --no-show-pos Do not display player's position" msgstr " --no-show-pos Не выводить текущее положение игрока" -#: src/supertux/command_line_arguments.cpp:122 +#: src/supertux/command_line_arguments.cpp:120 msgid " --developer Switch on developer feature" msgstr " --developer Включить функции разработчика" -#: src/supertux/command_line_arguments.cpp:123 +#: src/supertux/command_line_arguments.cpp:121 msgid " -s, --debug-scripts Enable script debugger." msgstr " -s, --debug-scripts Включить отладчик сценариев" -#: src/supertux/command_line_arguments.cpp:124 +#: src/supertux/command_line_arguments.cpp:122 msgid "" " --spawn-pos X,Y Where in the level to spawn Tux. Only used if" " level is specified." msgstr " --spawn-pos X,Y Место возрождения Такса на уровне. Используется, только если уровень указан." -#: src/supertux/command_line_arguments.cpp:125 +#: src/supertux/command_line_arguments.cpp:123 msgid " --sector SECTOR Spawn Tux in SECTOR\n" msgstr " --sector SECTOR Возродить Такса в СЕКТОРЕ\n" -#: src/supertux/command_line_arguments.cpp:126 +#: src/supertux/command_line_arguments.cpp:124 msgid " --spawnpoint SPAWNPOINT Spawn Tux at SPAWNPOINT\n" msgstr " --spawnpoint SPAWNPOINT Поставить Такса на точке возрождения\n" -#: src/supertux/command_line_arguments.cpp:128 -msgid "Demo Recording Options:" -msgstr "Настройки записи повторов:" - -#: src/supertux/command_line_arguments.cpp:129 -msgid " --record-demo FILE LEVEL Record a demo to FILE" -msgstr " --record-demo ФАЙЛ УРОВЕНЬ Записывает повтор в ФАЙЛ" - -#: src/supertux/command_line_arguments.cpp:130 -msgid " --play-demo FILE LEVEL Play a recorded demo" -msgstr " --play-demo ФАЙЛ УРОВЕНЬ Проигрывает записанный повтор" - -#: src/supertux/command_line_arguments.cpp:132 +#: src/supertux/command_line_arguments.cpp:126 msgid "Directory Options:" msgstr "Настройка папок:" -#: src/supertux/command_line_arguments.cpp:133 +#: src/supertux/command_line_arguments.cpp:127 msgid "" " --datadir DIR Set the directory for the games datafiles" msgstr " --datadir ПУТЬ Устанавливает папку для данных игры" -#: src/supertux/command_line_arguments.cpp:134 +#: src/supertux/command_line_arguments.cpp:128 msgid "" " --userdir DIR Set the directory for user data (savegames, " "etc.)" msgstr " --userdir ПУТЬ Указывает папку для пользовательских данных (сохранения и т. д.)" -#: src/supertux/command_line_arguments.cpp:136 +#: src/supertux/command_line_arguments.cpp:130 msgid "Add-On Options:" msgstr "Настройки дополнений:" -#: src/supertux/command_line_arguments.cpp:137 +#: src/supertux/command_line_arguments.cpp:131 msgid " --repository-url URL Set the URL to the Add-On repository" msgstr " --repository-url АДРЕС Установить адрес сетевого хранилища дополнений" -#: src/supertux/command_line_arguments.cpp:139 +#: src/supertux/command_line_arguments.cpp:133 msgid "Environment variables:" msgstr "Переменные среды:" -#: src/supertux/command_line_arguments.cpp:140 +#: src/supertux/command_line_arguments.cpp:134 msgid "" " SUPERTUX2_USER_DIR Directory for user data (savegames, etc.)" msgstr " SUPERTUX2_USER_DIR Папка для пользовательских данных (сохранения и т. д.)" -#: src/supertux/command_line_arguments.cpp:141 +#: src/supertux/command_line_arguments.cpp:135 msgid " SUPERTUX2_DATA_DIR Directory for the games datafiles" msgstr " SUPERTUX2_DATA_DIR Папка для данных игры" -#: src/supertux/title_screen.cpp:44 +#: src/supertux/title_screen.cpp:272 msgid "Copyright" msgstr "Авторское право" -#: src/supertux/title_screen.cpp:45 +#: src/supertux/title_screen.cpp:273 msgid "" "This game comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to\n" "redistribute it under certain conditions; see the license file for details.\n" msgstr "Эта игра поставляется без КАКИХ-ЛИБО ГАРАНТИЙ. Это свободное программное обеспечение,\nи вы можете распространять его на определённых условиях, подробности смотрите в файле лицензии.\n" +#: src/supertux/game_object.cpp:114 +msgid "Version" +msgstr "Версия" + +#: src/supertux/game_object.cpp:129 +#: src/supertux/menu/editor_levelset_menu.cpp:54 +msgid "Type" +msgstr "Тип" + #: src/supertux/menu/integrations_menu.cpp:49 msgid "Integrations" msgstr "Интеграция" #: src/supertux/menu/integrations_menu.cpp:51 msgid "Do not share level names when editing" -msgstr "Не делиться названиями уровней из редактора" +msgstr "Не делиться именами уровней из редактора" + +#: src/supertux/menu/integrations_menu.cpp:52 +msgid "" +"Enable this if you want to work on secret levels and don't want the names to" +" be spoiled" +msgstr "Включите эту функцию, если вы хотите работать на секретных уровнях и не видеть спойлеры имён" #: src/supertux/menu/integrations_menu.cpp:54 msgid "Enable Discord integration" msgstr "Включить интеграцию с Discord" +#: src/supertux/menu/integrations_menu.cpp:55 +msgid "" +"Sends information to your Discord application about what you're doing in the" +" game." +msgstr "Отправляет в ваше приложение Discord информацию о том, что вы делаете в игре." + #: src/supertux/menu/integrations_menu.cpp:57 msgid "Discord (disabled; not compiled)" msgstr "Discord (отключён; не скомпилирован)" -#: src/supertux/menu/contrib_menu.cpp:80 +#: src/supertux/menu/editor_converters_menu.cpp:61 +#: src/supertux/menu/editor_menu.cpp:85 +msgid "Convert Tiles" +msgstr "Преобразовать плитки" + +#: src/supertux/menu/editor_converters_menu.cpp:64 +msgid "Select Tile Conversion File" +msgstr "Выбрать файл преобразования плитки" + +#: src/supertux/menu/editor_converters_menu.cpp:72 +#, c++-format +msgid "By: {}" +msgstr "Автор: {}" + +#: src/supertux/menu/editor_converters_menu.cpp:75 +msgid "Convert Tiles By File" +msgstr "Преобразовать плитки по файлу" + +#: src/supertux/menu/editor_converters_menu.cpp:76 +msgid "Convert all tiles in the current level by a file, specified above." +msgstr "Преобразовать все плитки текущего уровня по файлу, указанному выше." + +#: src/supertux/menu/editor_converters_menu.cpp:89 +msgid "No tile conversion file selected." +msgstr "Не выбран файл преобразования плиток." + +#: src/supertux/menu/editor_converters_menu.cpp:93 +msgid "" +"This will convert all tiles in the level. Proceed?\n" +"\n" +"Note: This should not be ran more than once on a level.\n" +"Creating a separate copy of the level is highly recommended." +msgstr "Это преобразует все плитки на уровне. Приступить?\n\nПримечание: Не следует запускать эту процедуру на уровне более одного раза.\nНастоятельно рекомендуется создать отдельную копию уровня." + +#: src/supertux/menu/video_system_menu.cpp:36 +msgid "Select Video System" +msgstr "Выбрать видеосистему" + +#: src/supertux/menu/video_system_menu.cpp:37 +#, c++-format +msgid "Used video system: {}" +msgstr "Текущая видеосистема: {}" + +#: src/supertux/menu/video_system_menu.cpp:54 +msgid "Restart game for the changes to take effect" +msgstr "Перезапустите игру для применения изменений" + +#: src/supertux/menu/contrib_menu.cpp:68 #: src/supertux/menu/world_set_menu.cpp:31 msgid "Contrib Levels" msgstr "Дополнительные уровни" -#: src/supertux/menu/debug_menu.cpp:32 +#: src/supertux/menu/contrib_menu.cpp:98 +#: src/supertux/menu/contrib_menu.cpp:112 +msgid "Official Contrib Levels" +msgstr "Официальные авторские уровни" + +#: src/supertux/menu/contrib_menu.cpp:99 +#: src/supertux/menu/contrib_menu.cpp:118 +msgid "Community Contrib Levels" +msgstr "Авторские уровни от сообщества" + +#: src/supertux/menu/contrib_menu.cpp:100 +#: src/supertux/menu/contrib_menu.cpp:124 +msgid "User Contrib Levels" +msgstr "Пользовательские авторские уровни" + +#: src/supertux/menu/contrib_menu.cpp:113 +msgid "How is this possible? There are no Official Contrib Levels!" +msgstr "Как такое возможно? Официальных авторских уровней нет!" + +#: src/supertux/menu/contrib_menu.cpp:119 +msgid "No Community Contrib Levels yet. Download them from the Add-ons Menu." +msgstr "Пока нет авторских уровней от сообщества. Загрузите их из меню дополнений." + +#: src/supertux/menu/contrib_menu.cpp:125 +msgid "No User Contrib Levels yet. Create some with the Level Editor." +msgstr "Пока нет авторских пользовательских уровней. Создайте их с помощью редактора уровней." + +#: src/supertux/menu/debug_menu.cpp:34 msgid "Debug" msgstr "Отладка" -#: src/supertux/menu/debug_menu.cpp:56 +#: src/supertux/menu/debug_menu.cpp:58 msgid "Game Speed" msgstr "Скорость игры" -#: src/supertux/menu/debug_menu.cpp:57 +#: src/supertux/menu/debug_menu.cpp:59 msgid "Adjust Game Speed" msgstr "Изменить скорость игры" -#: src/supertux/menu/debug_menu.cpp:63 +#: src/supertux/menu/debug_menu.cpp:65 msgid "Show Collision Rects" msgstr "Показать линии столкновения" -#: src/supertux/menu/debug_menu.cpp:64 +#: src/supertux/menu/debug_menu.cpp:66 msgid "Show Worldmap Path" msgstr "Показать путь карты мира" -#: src/supertux/menu/debug_menu.cpp:65 +#: src/supertux/menu/debug_menu.cpp:67 msgid "Show Controller" msgstr "Показывать контроллер" -#: src/supertux/menu/debug_menu.cpp:66 +#: src/supertux/menu/debug_menu.cpp:68 msgid "Show Framerate" msgstr "Показывать частоту кадров" -#: src/supertux/menu/debug_menu.cpp:67 +#: src/supertux/menu/debug_menu.cpp:69 msgid "Draw Redundant Frames" msgstr "Рисовать избыточные кадры" -#: src/supertux/menu/debug_menu.cpp:68 +#: src/supertux/menu/debug_menu.cpp:70 msgid "Show Player Position" msgstr "Показывать позицию игрока" -#: src/supertux/menu/debug_menu.cpp:69 +#: src/supertux/menu/debug_menu.cpp:71 msgid "Use Bitmap Fonts" msgstr "Использовать растровые шрифты" -#: src/supertux/menu/debug_menu.cpp:72 +#: src/supertux/menu/debug_menu.cpp:74 msgid "Dump Texture Cache" msgstr "Дамп кэша текстур" @@ -2029,10 +2665,37 @@ msgid "File name" msgstr "Имя файла" #: src/supertux/menu/particle_editor_save_as.cpp:38 -#: src/supertux/menu/editor_save_as.cpp:38 src/editor/particle_editor.cpp:766 +#: src/supertux/menu/editor_save_as.cpp:38 src/editor/particle_editor.cpp:767 msgid "Save" msgstr "Сохранить" +#: src/supertux/menu/multiplayer_menu.cpp:27 +#: src/supertux/menu/multiplayer_players_menu.cpp:34 +msgid "Multiplayer" +msgstr "Многопользовательская игра" + +#: src/supertux/menu/multiplayer_menu.cpp:30 +msgid "Auto-manage Players" +msgstr "Автоуправление игроками" + +#: src/supertux/menu/multiplayer_menu.cpp:31 +msgid "" +"Automatically add and remove players when controllers are plugged or " +"unplugged" +msgstr "Автоматически добавлять и удалять игроков при подключении и отключении контроллеров" + +#: src/supertux/menu/multiplayer_menu.cpp:33 +msgid "Allow Multibind" +msgstr "Разрешить множественные привязки" + +#: src/supertux/menu/multiplayer_menu.cpp:34 +msgid "Allow binding multiple joysticks to a single player" +msgstr "Разрешить привязки нескольких джойстиков к одному игроку" + +#: src/supertux/menu/multiplayer_menu.cpp:36 +msgid "Manage Players" +msgstr "Управление игроками" + #: src/supertux/menu/editor_sectors_menu.cpp:31 msgid "Choose Sector" msgstr "Выберите сектор" @@ -2049,556 +2712,924 @@ msgstr "Создать сектор" msgid "Delete Sector" msgstr "Удалить сектор" -#: src/supertux/menu/editor_sectors_menu.cpp:93 +#: src/supertux/menu/editor_sectors_menu.cpp:92 msgid "Each level must have at least one sector." msgstr "Каждый уровень должен иметь хотя бы один участок." -#: src/supertux/menu/editor_sectors_menu.cpp:98 +#: src/supertux/menu/editor_sectors_menu.cpp:97 msgid "Do you really want to delete this sector?" -msgstr "Вы действительно хотите удалить этот участок?" +msgstr "Уверены, что хотите удалить этот участок?" -#: src/supertux/menu/editor_sectors_menu.cpp:101 +#: src/supertux/menu/editor_sectors_menu.cpp:100 msgid "Delete sector" msgstr "Удалить участок" -#: src/supertux/menu/editor_objectgroup_menu.cpp:30 -#: src/editor/toolbox_widget.cpp:93 -msgid "Objects" -msgstr "Объекты" +#: src/supertux/menu/custom_menu_menu.cpp:49 +#: src/supertux/menu/options_menu.cpp:191 +msgid "Menu Customization" +msgstr "Персонализация меню" + +#: src/supertux/menu/custom_menu_menu.cpp:51 +msgid "Menu Back Color" +msgstr "Цвет задней части меню" -#: src/supertux/menu/editor_level_select_menu.cpp:62 +#: src/supertux/menu/custom_menu_menu.cpp:52 +msgid "Menu Front Color" +msgstr "Цвет передней части меню" + +#: src/supertux/menu/custom_menu_menu.cpp:53 +msgid "Menu Help Back Color" +msgstr "Вспомогательный цвет задней части меню" + +#: src/supertux/menu/custom_menu_menu.cpp:54 +msgid "Menu Help Front Color" +msgstr "Вспомогательный цвет передней части меню" + +#: src/supertux/menu/custom_menu_menu.cpp:55 +msgid "Label Text Color" +msgstr "Цвет текста метки" + +#: src/supertux/menu/custom_menu_menu.cpp:56 +msgid "Active Text Color" +msgstr "Цвет активного текста" + +#: src/supertux/menu/custom_menu_menu.cpp:57 +msgid "Divider Line Color" +msgstr "Цвет линии разделителя" + +#: src/supertux/menu/custom_menu_menu.cpp:58 +msgid "Menu Roundness" +msgstr "Округлость меню" + +#: src/supertux/menu/custom_menu_menu.cpp:60 +msgid "Editor Interface Color" +msgstr "Цвет интерфейса редактора" + +#: src/supertux/menu/custom_menu_menu.cpp:61 +msgid "Editor Hover Color" +msgstr "Цвет редактора в фокусе" + +#: src/supertux/menu/custom_menu_menu.cpp:62 +msgid "Editor Grab Color" +msgstr "Цвет захвата редактора" + +#: src/supertux/menu/custom_menu_menu.cpp:64 +msgid "Reset to defaults" +msgstr "Сброс к настройкам по умолчанию" + +#: src/supertux/menu/editor_level_select_menu.cpp:72 msgid "Empty World" msgstr "Пустой мир" -#: src/supertux/menu/editor_level_select_menu.cpp:77 +#: src/supertux/menu/editor_level_select_menu.cpp:87 msgid "Create Level" msgstr "Создать уровень" -#: src/supertux/menu/editor_level_select_menu.cpp:81 +#: src/supertux/menu/editor_level_select_menu.cpp:91 msgid "Edit Worldmap" msgstr "Изменить карту мира" -#: src/supertux/menu/editor_level_select_menu.cpp:83 +#: src/supertux/menu/editor_level_select_menu.cpp:93 msgid "Create Worldmap" msgstr "Создать карту мира" -#: src/supertux/menu/editor_level_select_menu.cpp:85 -#: src/supertux/menu/editor_delete_level_menu.cpp:33 +#: src/supertux/menu/editor_level_select_menu.cpp:95 +#: src/supertux/menu/editor_delete_level_menu.cpp:55 msgid "Delete level" msgstr "Удалить уровень" -#: src/supertux/menu/editor_level_select_menu.cpp:87 -#: src/supertux/menu/editor_levelset_menu.cpp:56 +#: src/supertux/menu/editor_level_select_menu.cpp:97 +#: src/supertux/menu/editor_levelset_menu.cpp:50 msgid "World Settings" msgstr "Настройки мира" -#: src/supertux/menu/editor_level_select_menu.cpp:127 +#: src/supertux/menu/editor_level_select_menu.cpp:141 msgid "" "Share this worldmap under license CC-BY-SA 4.0 International (advised).\n" "It allows modifications and redistribution by third-parties.\n" "If you don't agree with this license, change it in worldmap properties.\n" "DISCLAIMER: The SuperTux authors take no responsibility for your choice of license." -msgstr "Поделитесь этой картой мира под лицензией CC-BY-SA 4.0 International (желательно).\nОна позволяет третьими лицами вносить изменения и повторно распространять.\nЕсли вы не согласны с этой лицензией, смените её в свойствах карты мира.\nОГОВОРКА: авторы SuperTux не несут ответственности за ваш выбор лицензии." +msgstr "Поделитесь этой картой мира под лицензией CC-BY-SA 4.0 International (желательно).\nОна позволяет третьими лицами вносить изменения и повторно распространять.\nЕсли вы не согласны с этой лицензией, смените её в свойствах карты мира.\nОГОВОРКА: авторы SuperTux не несут никакой ответственности за ваш выбор лицензии." -#: src/supertux/menu/editor_level_select_menu.cpp:134 +#: src/supertux/menu/editor_level_select_menu.cpp:148 msgid "" "Share this level under license CC-BY-SA 4.0 International (advised).\n" "It allows modifications and redistribution by third-parties.\n" "If you don't agree with this license, change it in level properties.\n" "DISCLAIMER: The SuperTux authors take no responsibility for your choice of license." -msgstr "Поделитесь этим уровнем под лицензией CC-BY-SA 4.0 International (желательно).\nОна позволяет третьими лицами вносить изменения и повторно распространять.\nЕсли вы не согласны с этой лицензией, смените её в свойствах уровня.\nОГОВОРКА: авторы SuperTux не несут ответственности за ваш выбор лицензии." +msgstr "Поделитесь этим уровнем под лицензией CC-BY-SA 4.0 International (желательно).\nОна позволяет третьими лицами вносить изменения и повторно распространять.\nЕсли вы не согласны с этой лицензией, смените её в свойствах уровня.\nОГОВОРКА: авторы SuperTux не несут никакой ответственности за ваш выбор лицензии." -#: src/supertux/menu/editor_level_select_menu.cpp:162 +#: src/supertux/menu/editor_level_select_menu.cpp:179 msgid "" "An auto-save recovery file was found. Would you like to restore the recovery\n" "file and resume where you were before the editor crashed?" msgstr "Найден файл восстановления с автоматическим сохранением. Хотите восстановиться\nи вернуться к тому месту, где вы были до сбоя редактора?" -#: src/supertux/menu/editor_level_select_menu.cpp:169 +#: src/supertux/menu/editor_level_select_menu.cpp:186 msgid "This will delete the auto-save file. Are you sure?" msgstr "Это приведёт к удалению файла автоматического сохранения. Уверены?" -#: src/supertux/menu/worldmap_cheat_menu.cpp:34 -#: src/supertux/menu/cheat_menu.cpp:30 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:35 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:52 +#: src/supertux/menu/cheat_apply_menu.cpp:33 +#: src/supertux/menu/cheat_apply_menu.cpp:51 +msgid "Apply cheat to player" +msgstr "Применить чит к игроку" + +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:39 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:60 +#: src/supertux/menu/multiplayer_players_menu.cpp:39 +#: src/supertux/menu/keyboard_menu.cpp:63 +#: src/supertux/menu/cheat_apply_menu.cpp:39 +#: src/supertux/menu/cheat_apply_menu.cpp:59 +#: src/supertux/menu/multiplayer_player_menu.cpp:37 +#, c++-format +msgid "Player {}" +msgstr "Игрок {}" + +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:57 +#: src/supertux/menu/cheat_apply_menu.cpp:36 +#: src/supertux/menu/cheat_apply_menu.cpp:56 +msgid "All Players" +msgstr "Все игроки" + +#: src/supertux/menu/worldmap_cheat_menu.cpp:36 +#: src/supertux/menu/cheat_menu.cpp:31 msgid "Cheats" msgstr "Читы" -#: src/supertux/menu/worldmap_cheat_menu.cpp:36 -#: src/supertux/menu/cheat_menu.cpp:32 +#: src/supertux/menu/worldmap_cheat_menu.cpp:38 +#: src/supertux/menu/cheat_menu.cpp:33 msgid "Bonus: Grow" msgstr "Бонус: Рост" -#: src/supertux/menu/worldmap_cheat_menu.cpp:37 +#: src/supertux/menu/worldmap_cheat_menu.cpp:39 +#: src/supertux/menu/cheat_menu.cpp:34 msgid "Bonus: Fire" msgstr "Бонус: Огонь" -#: src/supertux/menu/worldmap_cheat_menu.cpp:38 +#: src/supertux/menu/worldmap_cheat_menu.cpp:40 +#: src/supertux/menu/cheat_menu.cpp:35 msgid "Bonus: Ice" msgstr "Бонус: Лёд" -#: src/supertux/menu/worldmap_cheat_menu.cpp:39 +#: src/supertux/menu/worldmap_cheat_menu.cpp:41 +#: src/supertux/menu/cheat_menu.cpp:36 msgid "Bonus: Air" msgstr "Бонус: Воздух" -#: src/supertux/menu/worldmap_cheat_menu.cpp:40 +#: src/supertux/menu/worldmap_cheat_menu.cpp:42 +#: src/supertux/menu/cheat_menu.cpp:37 msgid "Bonus: Earth" msgstr "Бонус: Земля" -#: src/supertux/menu/worldmap_cheat_menu.cpp:41 +#: src/supertux/menu/worldmap_cheat_menu.cpp:43 msgid "Bonus: None" msgstr "Бонус: Нет" -#: src/supertux/menu/worldmap_cheat_menu.cpp:44 -#: src/supertux/menu/cheat_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 +#: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:51 msgid "Leave Ghost Mode" msgstr "Покинуть режим призрака" -#: src/supertux/menu/worldmap_cheat_menu.cpp:44 -#: src/supertux/menu/cheat_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 +#: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:50 msgid "Activate Ghost Mode" msgstr "Активировать режим призрака" -#: src/supertux/menu/worldmap_cheat_menu.cpp:46 -#: src/supertux/menu/cheat_menu.cpp:40 +#: src/supertux/menu/worldmap_cheat_menu.cpp:48 +#: src/supertux/menu/cheat_menu.cpp:41 msgid "Finish Level" msgstr "Завершить уровень" -#: src/supertux/menu/worldmap_cheat_menu.cpp:47 +#: src/supertux/menu/worldmap_cheat_menu.cpp:49 msgid "Reset Level" msgstr "Сбросить уровень" -#: src/supertux/menu/worldmap_cheat_menu.cpp:49 +#: src/supertux/menu/worldmap_cheat_menu.cpp:51 msgid "Finish Worldmap" msgstr "Закончить карту мира" -#: src/supertux/menu/worldmap_cheat_menu.cpp:50 +#: src/supertux/menu/worldmap_cheat_menu.cpp:52 msgid "Reset Worldmap" msgstr "Сбросить карту мира" -#: src/supertux/menu/worldmap_cheat_menu.cpp:52 +#: src/supertux/menu/worldmap_cheat_menu.cpp:54 msgid "Go to level" msgstr "Перейти к уровню" -#: src/supertux/menu/worldmap_cheat_menu.cpp:53 +#: src/supertux/menu/worldmap_cheat_menu.cpp:55 msgid "Go to main spawnpoint" msgstr "Перейти к основной точке возрождения" -#: src/supertux/menu/worldmap_cheat_menu.cpp:145 +#: src/supertux/menu/worldmap_cheat_menu.cpp:188 msgid "Select level" msgstr "Выбрать уровень" #: src/supertux/menu/editor_save_as.cpp:33 -#: src/supertux/menu/editor_menu.cpp:49 +#: src/supertux/menu/editor_menu.cpp:63 msgid "Save Level as" msgstr "Сохранить уровень в" #: src/supertux/menu/editor_save_as.cpp:33 -#: src/supertux/menu/editor_menu.cpp:50 +#: src/supertux/menu/editor_menu.cpp:64 msgid "Save Copy" msgstr "Сохранить копию" -#: src/supertux/menu/editor_levelset_select_menu.cpp:72 +#: src/supertux/menu/editor_levelset_select_menu.cpp:71 msgid "Choose World" msgstr "Выберите мир" -#: src/supertux/menu/editor_levelset_select_menu.cpp:100 -#, c-format -msgid "%d level" -msgid_plural "%d levels" -msgstr[0] "%d уровень" -msgstr[1] "%d уровня" -msgstr[2] "%d уровней" -msgstr[3] "%d уровней" +#: src/supertux/menu/editor_levelset_select_menu.cpp:99 +#, c++-format +msgid "{} level" +msgid_plural "{} levels" +msgstr[0] "{} уровень" +msgstr[1] "{} уровня" +msgstr[2] "{} уровней" +msgstr[3] "{} уровней" -#: src/supertux/menu/editor_levelset_select_menu.cpp:113 +#: src/supertux/menu/editor_levelset_select_menu.cpp:112 msgid "Create World" msgstr "Создать мир" -#: src/supertux/menu/options_menu.cpp:98 src/supertux/menu/main_menu.cpp:64 -#: src/supertux/menu/game_menu.cpp:61 src/supertux/menu/worldmap_menu.cpp:31 -msgid "Options" -msgstr "Настройки" - -#: src/supertux/menu/options_menu.cpp:104 -#: src/supertux/menu/options_menu.cpp:142 -#: src/supertux/menu/options_menu.cpp:455 -#: src/supertux/menu/options_menu.cpp:476 src/editor/object_settings.cpp:119 -msgid "auto" -msgstr "автоматически" - -#: src/supertux/menu/options_menu.cpp:221 -msgid "Desktop" -msgstr "Рабочий стол" - -#: src/supertux/menu/options_menu.cpp:251 -msgid "on" -msgstr "вкл" - -#: src/supertux/menu/options_menu.cpp:252 -msgid "off" -msgstr "откл" +#: src/supertux/menu/editor_levelset_select_menu.cpp:113 +#: src/supertux/menu/editor_delete_levelset_menu.cpp:41 +msgid "Delete World" +msgstr "Удалить мир" -#: src/supertux/menu/options_menu.cpp:253 -msgid "adaptive" -msgstr "адаптивная" +#: src/supertux/menu/options_menu.cpp:72 +#: src/supertux/menu/options_select_menu.cpp:35 +msgid "Locale" +msgstr "Язык" -#: src/supertux/menu/options_menu.cpp:347 +#: src/supertux/menu/options_menu.cpp:76 msgid "Select Language" msgstr "Выбор языка" -#: src/supertux/menu/options_menu.cpp:348 +#: src/supertux/menu/options_menu.cpp:77 msgid "Select a different language to display text in" msgstr "Выбрать язык для отображения текста" -#: src/supertux/menu/options_menu.cpp:350 +#: src/supertux/menu/options_menu.cpp:79 msgid "Language Packs" msgstr "Языковые пакеты" -#: src/supertux/menu/options_menu.cpp:351 +#: src/supertux/menu/options_menu.cpp:80 msgid "Language packs contain up-to-date translations" msgstr "Языковые пакеты содержат актуальные переводы" -#: src/supertux/menu/options_menu.cpp:353 -#: src/supertux/menu/profile_menu.cpp:34 -msgid "Select Profile" -msgstr "Выбор учётной записи" - -#: src/supertux/menu/options_menu.cpp:354 -msgid "Select a profile to play with" -msgstr "Выбрать учётную запись для игры" +#: src/supertux/menu/options_menu.cpp:88 +#: src/supertux/menu/options_select_menu.cpp:37 +msgid "Video" +msgstr "Видео" -#: src/supertux/menu/options_menu.cpp:358 +#: src/supertux/menu/options_menu.cpp:91 msgid "Window Resizable" msgstr "Изменяемый размер окна" -#: src/supertux/menu/options_menu.cpp:359 +#: src/supertux/menu/options_menu.cpp:92 msgid "Allow window resizing, might require a restart to take effect" msgstr "Разрешить изменение размера окна, может потребоваться перезагрузка для применения" -#: src/supertux/menu/options_menu.cpp:361 -msgid "Window Resolution" -msgstr "Разрешение окна" - -#: src/supertux/menu/options_menu.cpp:362 -msgid "Resize the window to the given size" -msgstr "Изменить размер окна до заданного" - -#: src/supertux/menu/options_menu.cpp:364 +#: src/supertux/menu/options_menu.cpp:96 msgid "Fullscreen" msgstr "Полный экран" -#: src/supertux/menu/options_menu.cpp:365 +#: src/supertux/menu/options_menu.cpp:97 msgid "Fill the entire screen" msgstr "Растянуть игру на весь экран" -#: src/supertux/menu/options_menu.cpp:367 -msgid "Fullscreen Resolution" -msgstr "Полноэкранное разрешение" - -#: src/supertux/menu/options_menu.cpp:368 -msgid "" -"Determine the resolution used in fullscreen mode (you must toggle fullscreen" -" to complete the change)" -msgstr "Разрешение полноэкранного режима (необходимо включить «Полный экран» для применения)" - -#: src/supertux/menu/options_menu.cpp:373 +#: src/supertux/menu/options_menu.cpp:104 msgid "Fit to browser" msgstr "По размеру браузера" -#: src/supertux/menu/options_menu.cpp:374 +#: src/supertux/menu/options_menu.cpp:105 msgid "Fit the resolution to the size of your browser" msgstr "Установить разрешение под размер вашего браузера" -#: src/supertux/menu/options_menu.cpp:378 -msgid "Magnification" -msgstr "Масштаб" - -#: src/supertux/menu/options_menu.cpp:379 -msgid "Change the magnification of the game area" -msgstr "Изменить масштаб игрового пространства" - -#: src/supertux/menu/options_menu.cpp:381 -msgid "VSync" -msgstr "Верт. синхронизация" - -#: src/supertux/menu/options_menu.cpp:382 -msgid "Set the VSync mode" -msgstr "Режим вертикальной синхронизации" +#: src/supertux/menu/options_menu.cpp:116 +msgid "Change Video System" +msgstr "Сменить видеосистему" -#: src/supertux/menu/options_menu.cpp:385 -msgid "Aspect Ratio" -msgstr "Соотношение сторон" +#: src/supertux/menu/options_menu.cpp:117 +msgid "Change video system used to render graphics" +msgstr "Сменить видеосистему, используемую для отрисовки графики" -#: src/supertux/menu/options_menu.cpp:386 -msgid "Adjust the aspect ratio" -msgstr "Выбрать соотношение сторон экрана" +#: src/supertux/menu/options_menu.cpp:124 +#: src/supertux/menu/options_select_menu.cpp:38 +msgid "Audio" +msgstr "Звук" -#: src/supertux/menu/options_menu.cpp:392 +#: src/supertux/menu/options_menu.cpp:129 msgid "Disable all sound effects" msgstr "Отключить все звуковые эффекты" -#: src/supertux/menu/options_menu.cpp:394 +#: src/supertux/menu/options_menu.cpp:131 msgid "Disable all music" msgstr "Отключить музыку" -#: src/supertux/menu/options_menu.cpp:396 -msgid "Sound Volume" -msgstr "Громкость звука" - -#: src/supertux/menu/options_menu.cpp:397 -msgid "Adjust sound volume" -msgstr "Настроить громкость звука" - -#: src/supertux/menu/options_menu.cpp:399 -msgid "Music Volume" -msgstr "Громкость музыки" - -#: src/supertux/menu/options_menu.cpp:400 -msgid "Adjust music volume" -msgstr "Настроить громкость музыки" - -#: src/supertux/menu/options_menu.cpp:404 +#: src/supertux/menu/options_menu.cpp:138 msgid "Sound (disabled)" msgstr "Звуки (отключено)" -#: src/supertux/menu/options_menu.cpp:405 +#: src/supertux/menu/options_menu.cpp:139 msgid "Music (disabled)" msgstr "Музыка (отключено)" -#: src/supertux/menu/options_menu.cpp:408 -#: src/supertux/menu/keyboard_menu.cpp:30 +#: src/supertux/menu/options_menu.cpp:147 +#: src/supertux/menu/options_select_menu.cpp:39 +msgid "Controls" +msgstr "Управление" + +#: src/supertux/menu/options_menu.cpp:151 +msgid "Enable Rumbling Controllers" +msgstr "Включить вибрацию контроллеров" + +#: src/supertux/menu/options_menu.cpp:152 +msgid "Enable vibrating the game controllers." +msgstr "Включить вибрацию игровых контроллеров." + +#: src/supertux/menu/options_menu.cpp:152 +msgid "This feature is currently only used in the multiplayer options menu." +msgstr "Пока эта функция используется только в меню параметров многопользовательской игры." + +#: src/supertux/menu/options_menu.cpp:154 +#: src/supertux/menu/keyboard_menu.cpp:34 msgid "Setup Keyboard" msgstr "Настройка клавиатуры" -#: src/supertux/menu/options_menu.cpp:409 +#: src/supertux/menu/options_menu.cpp:155 msgid "Configure key-action mappings" msgstr "Настроить функции клавиш" -#: src/supertux/menu/options_menu.cpp:412 -#: src/supertux/menu/joystick_menu.cpp:52 +#: src/supertux/menu/options_menu.cpp:158 +#: src/supertux/menu/joystick_menu.cpp:54 msgid "Setup Joystick" msgstr "Настройка контроллера" -#: src/supertux/menu/options_menu.cpp:413 +#: src/supertux/menu/options_menu.cpp:159 msgid "Configure joystick control-action mappings" msgstr "Сопоставить функции контроллера с действиями в игре" -#: src/supertux/menu/options_menu.cpp:417 -msgid "On-screen controls" -msgstr "Экранные элементы управления" +#: src/supertux/menu/options_menu.cpp:167 +#: src/supertux/menu/options_select_menu.cpp:40 +msgid "Extras" +msgstr "Особые" + +#: src/supertux/menu/options_menu.cpp:170 +#: src/supertux/menu/profile_menu.cpp:56 +msgid "Select Profile" +msgstr "Выбор учётной записи" + +#: src/supertux/menu/options_menu.cpp:171 +msgid "Select a profile to play with" +msgstr "Выбрать учётную запись для игры" -#: src/supertux/menu/options_menu.cpp:418 -msgid "Toggle on-screen controls for mobile devices" -msgstr "Включить элементы управления на экране для мобильных устройств" +#: src/supertux/menu/options_menu.cpp:174 +msgid "Multiplayer settings" +msgstr "Настройки многопользовательской игры" -#: src/supertux/menu/options_menu.cpp:420 +#: src/supertux/menu/options_menu.cpp:175 +msgid "Configure settings specific to multiplayer" +msgstr "Настройка особых параметров многопользовательской игры" + +#: src/supertux/menu/options_menu.cpp:178 msgid "Enable transitions" msgstr "Включить переходы" -#: src/supertux/menu/options_menu.cpp:421 +#: src/supertux/menu/options_menu.cpp:179 msgid "Enable screen transitions and smooth menu animation" msgstr "Включить переходы и плавную анимацию в меню" -#: src/supertux/menu/options_menu.cpp:425 -msgid "Developer Mode" -msgstr "Режим разработчика" +#: src/supertux/menu/options_menu.cpp:181 +msgid "Custom title screen levels" +msgstr "Пользовательские уровни титульного экрана" + +#: src/supertux/menu/options_menu.cpp:182 +msgid "Allow overriding the title screen level, when loading certain worlds" +msgstr "Разрешить переопределение уровня титульного экрана при загрузке некоторых миров" -#: src/supertux/menu/options_menu.cpp:430 +#: src/supertux/menu/options_menu.cpp:185 msgid "Christmas Mode" msgstr "Рождественский режим" -#: src/supertux/menu/options_menu.cpp:433 +#: src/supertux/menu/options_menu.cpp:187 +msgid "Integrations and presence" +msgstr "Интеграция и представление" + +#: src/supertux/menu/options_menu.cpp:188 +msgid "" +"Manage whether SuperTux should display the levels you play on your social " +"media profiles (Discord)" +msgstr "Отображение уровней SuperTux, на которых вы играете, в ваших соцсетях (Discord)" + +#: src/supertux/menu/options_menu.cpp:192 +msgid "Customize the appearance of the menus" +msgstr "Настроить внешний вид меню" + +#: src/supertux/menu/options_menu.cpp:199 +#: src/supertux/menu/options_select_menu.cpp:41 +msgid "Advanced" +msgstr "Расширенные" + +#: src/supertux/menu/options_menu.cpp:204 +msgid "Developer Mode" +msgstr "Режим разработчика" + +#: src/supertux/menu/options_menu.cpp:206 msgid "Confirmation Dialog" msgstr "Окно подтверждения" -#: src/supertux/menu/options_menu.cpp:433 +#: src/supertux/menu/options_menu.cpp:206 msgid "Confirm aborting level" msgstr "Подтверждать прекращение уровня" -#: src/supertux/menu/options_menu.cpp:434 +#: src/supertux/menu/options_menu.cpp:208 msgid "Pause on focus loss" msgstr "Пауза при потери фокуса" -#: src/supertux/menu/options_menu.cpp:435 +#: src/supertux/menu/options_menu.cpp:209 msgid "Automatically pause the game when the window loses focus" msgstr "Автоматически ставить игру на паузу, когда окно теряет фокус" -#: src/supertux/menu/options_menu.cpp:436 +#: src/supertux/menu/options_menu.cpp:211 msgid "Use custom mouse cursor" -msgstr "Использовать игровой указатель мыши" +msgstr "Заменить указатель мыши игровым" -#: src/supertux/menu/options_menu.cpp:436 +#: src/supertux/menu/options_menu.cpp:211 msgid "Whether the game renders its own cursor or uses the system's cursor" -msgstr "Использовать внутриигровой либо системный указатель мыши" +msgstr "Использовать внутриигровой или системный указатель мыши" -#: src/supertux/menu/options_menu.cpp:438 -msgid "Integrations and presence" -msgstr "Интеграция и представление" +#: src/supertux/menu/options_menu.cpp:214 +msgid "Check for new releases" +msgstr "Проверять наличие новых версий" -#: src/supertux/menu/options_menu.cpp:439 +#: src/supertux/menu/options_menu.cpp:215 msgid "" -"Manage whether SuperTux should display the levels you play on your social " -"media profiles (Discord)" -msgstr "Отображение уровней SuperTux, на которых вы играете, в ваших соцсетях (Discord)" +"Allows the game to perform checks for new SuperTux releases on startup and " +"notify if any found." +msgstr "Позволяет игре при запуске выполнять проверку на наличие новых версий SuperTux и уведомлять о них." + +#: src/supertux/menu/options_menu.cpp:245 +#: src/supertux/menu/options_menu.cpp:288 src/supertux/direction.cpp:76 +msgid "auto" +msgstr "автоматически" + +#: src/supertux/menu/options_menu.cpp:281 +msgid "Magnification" +msgstr "Масштаб" + +#: src/supertux/menu/options_menu.cpp:282 +msgid "Change the magnification of the game area" +msgstr "Изменить масштаб игрового пространства" + +#: src/supertux/menu/options_menu.cpp:318 +msgid "Aspect Ratio" +msgstr "Соотношение сторон" + +#: src/supertux/menu/options_menu.cpp:319 +msgid "Adjust the aspect ratio" +msgstr "Выбрать соотношение сторон экрана" + +#: src/supertux/menu/options_menu.cpp:346 +msgid "Window Resolution" +msgstr "Разрешение окна" + +#: src/supertux/menu/options_menu.cpp:347 +msgid "Resize the window to the given size" +msgstr "Изменить размер окна до заданного" + +#: src/supertux/menu/options_menu.cpp:377 +msgid "Desktop" +msgstr "Рабочий стол" + +#: src/supertux/menu/options_menu.cpp:404 +msgid "Fullscreen Resolution" +msgstr "Полноэкранное разрешение" + +#: src/supertux/menu/options_menu.cpp:405 +msgid "" +"Determine the resolution used in fullscreen mode (you must toggle fullscreen" +" to complete the change)" +msgstr "Разрешение полноэкранного режима (необходимо включить «Полный экран» для применения)" + +#: src/supertux/menu/options_menu.cpp:411 +msgid "on" +msgstr "вкл" + +#: src/supertux/menu/options_menu.cpp:412 +msgid "off" +msgstr "откл" + +#: src/supertux/menu/options_menu.cpp:413 +msgid "adaptive" +msgstr "адаптивная" + +#: src/supertux/menu/options_menu.cpp:431 +msgid "VSync" +msgstr "Верт. синхронизация" + +#: src/supertux/menu/options_menu.cpp:432 +msgid "Set the VSync mode" +msgstr "Режим вертикальной синхронизации" + +#: src/supertux/menu/options_menu.cpp:467 +msgid "Sound Volume" +msgstr "Громкость звука" -#: src/supertux/menu/options_menu.cpp:559 +#: src/supertux/menu/options_menu.cpp:468 +msgid "Adjust sound volume" +msgstr "Настроить громкость звука" + +#: src/supertux/menu/options_menu.cpp:503 +msgid "Music Volume" +msgstr "Громкость музыки" + +#: src/supertux/menu/options_menu.cpp:504 +msgid "Adjust music volume" +msgstr "Настроить громкость музыки" + +#: src/supertux/menu/options_menu.cpp:517 +msgid "On-screen controls scale" +msgstr "Масштаб экранных элементов управления" + +#: src/supertux/menu/options_menu.cpp:638 msgid "" "The game couldn't detect your browser resolution.\n" "This most likely happens because it is not embedded\n" "in the SuperTux custom HTML template.\n" msgstr "Игре не удалось определить разрешение вашего браузера.\nСкорее всего из-за того, что оно не встроено\nв пользовательский HTML-шаблон SuperTux.\n" -#: src/supertux/menu/main_menu.cpp:56 src/supertux/menu/world_set_menu.cpp:28 +#: src/supertux/menu/editor_delete_levelset_menu.cpp:80 +msgid "You cannot delete the world that you are editing" +msgstr "Нельзя удалить мир, который вы редактируете" + +#: src/supertux/menu/editor_delete_levelset_menu.cpp:83 +#, c++-format +msgid "You are about to delete world \"{}\". Are you sure?" +msgstr "Вы собираетесь удалить мир «{}». Уверены?" + +#: src/supertux/menu/addon_preview_menu.cpp:82 +#, c++-format +msgid "{} \"{}\"" +msgstr "{} «{}»" + +#: src/supertux/menu/addon_preview_menu.cpp:87 +msgid "Some information about this add-on is not available." +msgstr "Некоторые сведения об этом дополнении недоступны." + +#: src/supertux/menu/addon_preview_menu.cpp:88 +msgid "Perform a \"Check Online\" to try retrieving it." +msgstr "Выполните «Проверить в сети», чтобы попытаться восстановить его." + +#: src/supertux/menu/addon_preview_menu.cpp:92 +msgid "No author specified." +msgstr "Автор не указан." + +#: src/supertux/menu/addon_preview_menu.cpp:92 +#, c++-format +msgid "Author: {}" +msgstr "Автор: {}" + +#: src/supertux/menu/addon_preview_menu.cpp:93 +#, c++-format +msgid "Type: {}" +msgstr "Тип: {}" + +#: src/supertux/menu/addon_preview_menu.cpp:94 +msgid "No license specified." +msgstr "Лицензия не указана." + +#: src/supertux/menu/addon_preview_menu.cpp:94 +#, c++-format +msgid "License: {}" +msgstr "Лицензия: {}" + +#: src/supertux/menu/addon_preview_menu.cpp:99 +msgid "Dependencies:" +msgstr "Зависимости:" + +#: src/supertux/menu/addon_preview_menu.cpp:108 +msgid "Installed" +msgstr "Установлено" + +#: src/supertux/menu/addon_preview_menu.cpp:108 +msgid "Not installed" +msgstr "Не установлено" + +#: src/supertux/menu/addon_preview_menu.cpp:113 +msgid "Not available!" +msgstr "Недоступно!" + +#: src/supertux/menu/addon_preview_menu.cpp:120 +msgid "Description:" +msgstr "Описание:" + +#: src/supertux/menu/addon_preview_menu.cpp:123 +msgid "No description available." +msgstr "Описание недоступно." + +#: src/supertux/menu/addon_preview_menu.cpp:147 +msgid "Failed to load all available screenshot previews." +msgstr "Не удалось загрузить все доступные снимки предпросмотра." + +#: src/supertux/menu/addon_preview_menu.cpp:152 +msgid "Show screenshots" +msgstr "Показать снимки экрана" + +#: src/supertux/menu/addon_preview_menu.cpp:165 +msgid "Screenshot previews are disabled for automatic installs." +msgstr "Снимки предпросмотра отключены при автоматических установках." + +#: src/supertux/menu/addon_preview_menu.cpp:169 +msgid "No screenshot previews available." +msgstr "Снимки предпросмотра не доступны." + +#: src/supertux/menu/addon_preview_menu.cpp:177 +msgid "Install" +msgstr "Установить" + +#: src/supertux/menu/addon_preview_menu.cpp:190 +msgid "Uninstall" +msgstr "Удалить" + +#: src/supertux/menu/addon_preview_menu.cpp:214 +#, c++-format +msgid "Are you sure you want to uninstall \"{}\"?" +msgstr "Уверены, что хотите удалить «{}»?" + +#: src/supertux/menu/addon_preview_menu.cpp:215 +msgid "" +"\n" +"Your progress won't be lost." +msgstr "\nВаш прогресс не потеряется." + +#: src/supertux/menu/addon_preview_menu.cpp:227 +#, c++-format +msgid "" +"NOTE: The add-on \"{}\" is a dependency of {} other installed {}.\n" +"Are you sure you wish to uninstall?" +msgstr "ПРИМЕЧАНИЕ: Дополнение «{}» является зависимостью от {} других установленных {}.\nУверены, что хотите удалить?" + +#: src/supertux/menu/addon_preview_menu.cpp:246 +#, c++-format +msgid "" +"Cannot toggle add-on \"{}\":\n" +"{}" +msgstr "Не удаётся переключить дополнение «{}»:\n{}" + +#: src/supertux/menu/addon_preview_menu.cpp:279 +msgid "Fetching screenshot previews..." +msgstr "Извлекаются снимки предпросмотра…" + +#: src/supertux/menu/addon_preview_menu.cpp:300 +msgid "Updating" +msgstr "Обновляется" + +#: src/supertux/menu/addon_preview_menu.cpp:300 +msgid "Downloading" +msgstr "Скачивается" + +#: src/supertux/menu/addon_preview_menu.cpp:328 +msgid "Add-on uninstalled successfully." +msgstr "Дополнение успешно удалено." + +#: src/supertux/menu/addon_preview_menu.cpp:333 +#, c++-format +msgid "" +"Error uninstalling add-on:\n" +"{}" +msgstr "Ошибки удаления дополнения:\n{}" + +#: src/supertux/menu/addon_preview_menu.cpp:361 +msgid "" +"Please restart SuperTux\n" +"for these changes to take effect." +msgstr "Пожалуйста, перезапустите SuperTux\nдля применения изменений." + +#: src/supertux/menu/main_menu.cpp:51 src/supertux/menu/world_set_menu.cpp:28 msgid "Start Game" msgstr "Начать игру" -#: src/supertux/menu/main_menu.cpp:60 src/supertux/menu/addon_menu.cpp:122 +#: src/supertux/menu/main_menu.cpp:55 msgid "Add-ons" msgstr "Дополнения" -#: src/supertux/menu/main_menu.cpp:62 src/supertux/menu/web_asset_menu.cpp:38 +#: src/supertux/menu/main_menu.cpp:57 src/supertux/menu/web_asset_menu.cpp:38 msgid "Manage Assets" msgstr "Управление наборами" -#: src/supertux/menu/main_menu.cpp:65 src/supertux/menu/editor_menu.cpp:43 +#: src/supertux/menu/main_menu.cpp:59 +#: src/supertux/menu/options_select_menu.cpp:29 +#: src/supertux/menu/game_menu.cpp:58 src/supertux/menu/worldmap_menu.cpp:31 +#: src/supertux/menu/editor_menu.cpp:70 +msgid "Options" +msgstr "Настройки" + +#: src/supertux/menu/main_menu.cpp:60 src/supertux/menu/editor_menu.cpp:58 msgid "Level Editor" msgstr "Редактор уровней" -#: src/supertux/menu/main_menu.cpp:66 +#: src/supertux/menu/main_menu.cpp:61 msgid "Credits" msgstr "Титры" -#: src/supertux/menu/main_menu.cpp:67 +#: src/supertux/menu/main_menu.cpp:64 msgid "Donate" msgstr "Поддержать" -#: src/supertux/menu/main_menu.cpp:69 +#: src/supertux/menu/main_menu.cpp:67 msgid "Quit" msgstr "Выход" -#: src/supertux/menu/editor_sector_menu.cpp:35 +#: src/supertux/menu/main_menu.cpp:106 +msgid "" +"This will take you to the SuperTux donation page. Are you sure you want to " +"continue?" +msgstr "Вы будете направлены на страницу пожертвований SuperTux.\nХотите продолжить?" + +#: src/supertux/menu/editor_sector_menu.cpp:34 +#, c++-format +msgid "Sector {}" +msgstr "Сектор {}" + +#: src/supertux/menu/editor_sector_menu.cpp:37 msgid "Initialization script" msgstr "Сценарий инициализации" -#: src/supertux/menu/editor_sector_menu.cpp:36 +#: src/supertux/menu/editor_sector_menu.cpp:38 msgid "Gravity" msgstr "Притяжение" -#: src/supertux/menu/editor_sector_menu.cpp:41 +#: src/supertux/menu/editor_sector_menu.cpp:43 msgid "Resize offset X" msgstr "Масштаб смещения по X" -#: src/supertux/menu/editor_sector_menu.cpp:42 +#: src/supertux/menu/editor_sector_menu.cpp:44 msgid "Resize offset Y" msgstr "Масштаб смещения по Y" -#: src/supertux/menu/editor_sector_menu.cpp:43 +#: src/supertux/menu/editor_sector_menu.cpp:45 msgid "Resize" msgstr "Изменить размер" -#: src/supertux/menu/profile_menu.cpp:41 -#, c-format -msgid "[Profile {}]" -msgstr "[Учётная запись {}]" +#: src/supertux/menu/profile_menu.cpp:60 +msgid "No profiles found." +msgstr "Профили не обнаружены." -#: src/supertux/menu/profile_menu.cpp:45 -#, c-format +#: src/supertux/menu/profile_menu.cpp:68 +#: src/supertux/menu/profile_menu.cpp:149 +#: src/supertux/menu/profile_menu.cpp:168 +#, c++-format msgid "Profile {}" -msgstr "Учётная запись {}" - -#: src/supertux/menu/profile_menu.cpp:50 -msgid "Reset profile" -msgstr "Сбросить учётную запись" +msgstr "Профиль {}" + +#: src/supertux/menu/profile_menu.cpp:69 +#, c++-format +msgid "{} (Profile {})" +msgstr "{} (Профиль {})" + +#: src/supertux/menu/profile_menu.cpp:84 +msgid "No profile selected." +msgstr "Профили не выбраны." + +#: src/supertux/menu/profile_menu.cpp:91 src/supertux/menu/profile_menu.cpp:93 +#: src/supertux/menu/profile_name_menu.cpp:42 +msgid "Rename" +msgstr "Переименовать" + +#: src/supertux/menu/profile_menu.cpp:98 +#: src/supertux/menu/profile_menu.cpp:100 +msgid "Reset" +msgstr "Сбросить" + +#: src/supertux/menu/profile_menu.cpp:103 +#: src/supertux/menu/profile_menu.cpp:105 +msgid "Reset all" +msgstr "Сбросить все" + +#: src/supertux/menu/profile_menu.cpp:113 +#: src/supertux/menu/profile_menu.cpp:115 +msgid "Delete all" +msgstr "Удалить все" + +#: src/supertux/menu/profile_menu.cpp:148 +#, c++-format +msgid "" +"This will reset all game progress on the profile \"{}\".\n" +"Are you sure?" +msgstr "Это сбросит весь игровой прогресс на профиле «{}».\nУверены?" -#: src/supertux/menu/profile_menu.cpp:51 -msgid "Reset all profiles" -msgstr "Сбросить все учётные записи" +#: src/supertux/menu/profile_menu.cpp:157 +msgid "This will reset your game progress on all profiles. Are you sure?" +msgstr "Это приведёт к сбросу Вашего игрового развития во всех учётных записях. Уверены?" -#: src/supertux/menu/profile_menu.cpp:67 -msgid "Deleting your profile will reset your game progress. Are you sure?" -msgstr "Удаление Вашей учётной записи приведёт к сбросу развития в игре. Вы уверены?" +#: src/supertux/menu/profile_menu.cpp:167 +#, c++-format +msgid "" +"This will delete the profile \"{}\",\n" +"including all game progress on it. Are you sure?" +msgstr "Это приведёт к удалению профиля «{}»,\nвключая весь игровой прогресс на нём. Уверены?" -#: src/supertux/menu/profile_menu.cpp:73 -msgid "This will reset your game progress on all profiles. Are you sure?" -msgstr "Это приведёт к сбросу Вашего игрового развития во всех учётных записях. Вы уверены?" +#: src/supertux/menu/profile_menu.cpp:178 +msgid "" +"This will delete all profiles, including all game progress on them.\n" +"Are you sure?" +msgstr "Это приведёт к удалению всех профилей, включая весь игровой прогресс в них.\nУверены?" -#: src/supertux/menu/editor_levelset_menu.cpp:59 +#: src/supertux/menu/editor_levelset_menu.cpp:53 #: src/supertux/menu/editor_new_levelset_menu.cpp:35 msgid "Description" msgstr "Описание" -#: src/supertux/menu/editor_levelset_menu.cpp:60 -#: src/supertux/menu/addon_menu.cpp:48 -#: data//images/engine/editor/objects.stoi:371 -msgid "Worldmap" -msgstr "Карта мира" +#: src/supertux/menu/editor_levelset_menu.cpp:55 +msgid "Title Screen Level" +msgstr "Уровень экрана заголовка" -#: src/supertux/menu/editor_levelset_menu.cpp:60 -#: src/supertux/menu/addon_menu.cpp:45 -msgid "Levelset" -msgstr "Набор уровней" +#: src/supertux/menu/editor_levelset_menu.cpp:56 +msgid "A level to be used for the title screen, after exiting the world." +msgstr "Уровень, который будет использоваться для титульного экрана после выхода из мира." -#: src/supertux/menu/addon_menu.cpp:51 -msgid "World" -msgstr "Мир" +#: src/supertux/menu/multiplayer_players_menu.cpp:46 +msgid "Add Player" +msgstr "Добавить игрока" -#: src/supertux/menu/addon_menu.cpp:54 -msgid "Add-on" -msgstr "Дополнение" +#: src/supertux/menu/multiplayer_players_menu.cpp:59 +msgid "Remove Last Player" +msgstr "Удалить последнего игрока" -#: src/supertux/menu/addon_menu.cpp:60 -msgid "Unknown" -msgstr "Неизвестно" +#: src/supertux/menu/multiplayer_players_menu.cpp:62 +msgid "" +"Warning: The player you are trying to\n" +"remove is currently in-game.\n" +"\n" +"Do you wish to remove them anyways?" +msgstr "Предупреждение: Игрок, которого вы пытаетесь\nудалить, находится в игре.\n\nХотите удалить его в любом случае?" -#: src/supertux/menu/addon_menu.cpp:71 -#, c-format -msgid "{} \"{}\" by \"{}\"" -msgstr "{} {} от {}" +#: src/supertux/menu/addon_menu.cpp:68 +msgid "Installed Language Packs" +msgstr "Установленные языковые пакеты" -#: src/supertux/menu/addon_menu.cpp:129 +#: src/supertux/menu/addon_menu.cpp:68 +msgid "Installed Add-ons" +msgstr "Установленные дополнения" + +#: src/supertux/menu/addon_menu.cpp:76 src/supertux/menu/addon_menu.cpp:117 +msgid "No language packs installed" +msgstr "Нет установленных языковых пакетов" + +#: src/supertux/menu/addon_menu.cpp:76 msgid "No Add-ons installed" msgstr "Нет установленных дополнений" -#: src/supertux/menu/addon_menu.cpp:133 -msgid "No Add-ons found" -msgstr "Дополнения не найдены" +#: src/supertux/menu/addon_menu.cpp:124 +#, c++-format +msgid "{} {}*UPDATE*" +msgstr "{} {}*ОБНОВЛЕНИЕ*" -#: src/supertux/menu/addon_menu.cpp:179 -#, c-format -msgid "Install {} *NEW*" -msgstr "Установить {} *НОВИНКА*" +#: src/supertux/menu/addon_menu.cpp:130 +#, c++-format +msgid "{}{}" +msgstr "{}{}" -#: src/supertux/menu/addon_menu.cpp:190 -#, c-format -msgid "Install {}" -msgstr "Установить {}" +#: src/supertux/menu/addon_menu.cpp:140 +msgid "No updates available." +msgstr "Обновлений нет." -#: src/supertux/menu/addon_menu.cpp:199 -msgid "No new Add-ons found" -msgstr "Новые дополнения не найдены" +#: src/supertux/menu/addon_menu.cpp:144 +#, c++-format +msgid "{} {} available" +msgstr "{} {} доступно" -#: src/supertux/menu/addon_menu.cpp:205 -msgid "Check Online (disabled)" -msgstr "Проверить в сети (отключено)" +#: src/supertux/menu/addon_menu.cpp:144 +msgid "update" +msgstr "обновление" -#: src/supertux/menu/addon_menu.cpp:209 -msgid "Check Online" -msgstr "Проверить в сети" +#: src/supertux/menu/addon_menu.cpp:144 +msgid "updates" +msgstr "обновления" -#: src/supertux/menu/addon_menu.cpp:286 -msgid "Downloading Add-On Repository Index" -msgstr "Загрузка индекса сетевого хранилища дополнений" +#: src/supertux/menu/addon_menu.cpp:146 +msgid "Check for updates" +msgstr "Проверить наличие обновлений" -#: src/supertux/menu/addon_menu.cpp:301 -#, c-format -msgid "Downloading {}" -msgstr "Загружается {}" +#: src/supertux/menu/addon_menu.cpp:150 +msgid "Browse language packs" +msgstr "Обзор языковых пакетов" -#: src/supertux/menu/addon_menu.cpp:348 -msgid "" -"Please restart SuperTux\n" -"for these changes to take effect." -msgstr "Для применения изменений\nперезапустите SuperTux." +#: src/supertux/menu/addon_menu.cpp:150 +#: src/supertux/menu/addon_browse_menu.cpp:70 +msgid "Browse Add-ons" +msgstr "Обзор дополнений" + +#: src/supertux/menu/addon_menu.cpp:151 +msgid "Install from file" +msgstr "Установить из файла" + +#: src/supertux/menu/addon_menu.cpp:208 +msgid "Checking for updates..." +msgstr "Проверяются обновления…" #: src/supertux/menu/editor_new_levelset_menu.cpp:31 msgid "New World" @@ -2612,6 +3643,53 @@ msgstr "Пожалуйста, введите название этой подг msgid "Story Mode" msgstr "Режим истории" +#: src/supertux/menu/addon_browse_menu.cpp:70 +msgid "Browse Language Packs" +msgstr "Обзор языковых пакетов" + +#: src/supertux/menu/addon_browse_menu.cpp:112 +#, c++-format +msgid "Page {}/{}" +msgstr "Страница {}/{}" + +#: src/supertux/menu/addon_browse_menu.cpp:124 +msgid "No new language packs available" +msgstr "Новые языковые пакеты не доступны" + +#: src/supertux/menu/addon_browse_menu.cpp:124 +msgid "No new Add-ons available" +msgstr "Новые дополнения не доступны" + +#: src/supertux/menu/addon_browse_menu.cpp:127 +msgid "No language packs available" +msgstr "Новые языковые пакеты не доступны" + +#: src/supertux/menu/addon_browse_menu.cpp:127 +msgid "No Add-ons available" +msgstr "Дополнения не доступны" + +#: src/supertux/menu/addon_browse_menu.cpp:135 +#: src/supertux/menu/addon_browse_menu.cpp:139 +msgid "Previous page" +msgstr "Предыдущая страница" + +#: src/supertux/menu/addon_browse_menu.cpp:143 +#: src/supertux/menu/addon_browse_menu.cpp:147 +msgid "Next page" +msgstr "Следующая страница" + +#: src/supertux/menu/addon_browse_menu.cpp:154 +msgid "Check Online (disabled)" +msgstr "Проверить в сети (отключено)" + +#: src/supertux/menu/addon_browse_menu.cpp:158 +msgid "Check Online" +msgstr "Проверить в сети" + +#: src/supertux/menu/addon_browse_menu.cpp:195 +msgid "Downloading Add-On Repository Index" +msgstr "Загрузка индекса сетевого хранилища дополнений" + #: src/supertux/menu/web_asset_menu.cpp:42 msgid "New files location" msgstr "Расположение новых файлов" @@ -2632,207 +3710,235 @@ msgstr "Подгрузить файл частицы" msgid "Open" msgstr "Открыть" -#: src/supertux/menu/game_menu.cpp:31 -msgid "Are you sure?" -msgstr "Вы уверены?" - -#: src/supertux/menu/game_menu.cpp:54 src/supertux/menu/worldmap_menu.cpp:30 +#: src/supertux/menu/game_menu.cpp:51 src/supertux/menu/worldmap_menu.cpp:30 msgid "Continue" msgstr "Продолжить" -#: src/supertux/menu/game_menu.cpp:55 +#: src/supertux/menu/game_menu.cpp:52 msgid "Restart Level" msgstr "Перезапуск уровня" -#: src/supertux/menu/game_menu.cpp:58 +#: src/supertux/menu/game_menu.cpp:55 msgid "Restart from Checkpoint" msgstr "Перезапуск с контрольной точки" -#: src/supertux/menu/game_menu.cpp:63 +#: src/supertux/menu/game_menu.cpp:60 msgid "Abort Level" msgstr "Покинуть уровень" -#: src/supertux/menu/keyboard_menu.cpp:32 -#: src/supertux/menu/joystick_menu.cpp:69 +#: src/supertux/menu/game_menu.cpp:76 src/supertux/menu/game_menu.cpp:87 +#: src/supertux/menu/game_menu.cpp:99 +msgid "Are you sure?" +msgstr "Уверены?" + +#: src/supertux/menu/profile_name_menu.cpp:36 +#, c++-format +msgid "Rename \"{}\"" +msgstr "Переименовать «{}»" + +#: src/supertux/menu/profile_name_menu.cpp:36 +msgid "Add profile" +msgstr "Добавить учётную запись" + +#: src/supertux/menu/profile_name_menu.cpp:40 +msgid "Profile names must have a maximum of 20 characters." +msgstr "Имена профилей должны быть не более 20 символов." + +#: src/supertux/menu/profile_name_menu.cpp:42 +msgid "Create" +msgstr "Создать" + +#: src/supertux/menu/profile_name_menu.cpp:56 +msgid "" +"Profile names must have a maximum of 20 characters.\n" +"Please choose a different name." +msgstr "Имена профилей должны быть не более 20 символов.\nПожалуйста, выберите другое имя." + +#: src/supertux/menu/profile_name_menu.cpp:77 +msgid "An error occurred while creating the profile." +msgstr "При создании профиля возникла ошибка." + +#: src/supertux/menu/keyboard_menu.cpp:36 +#: src/supertux/menu/joystick_menu.cpp:71 msgid "Up" msgstr "Вверх" -#: src/supertux/menu/keyboard_menu.cpp:33 -#: src/supertux/menu/joystick_menu.cpp:70 +#: src/supertux/menu/keyboard_menu.cpp:37 +#: src/supertux/menu/joystick_menu.cpp:72 msgid "Down" msgstr "Вниз" - -#: src/supertux/menu/keyboard_menu.cpp:36 -#: src/supertux/menu/joystick_menu.cpp:73 + +#: src/supertux/menu/keyboard_menu.cpp:40 +#: src/supertux/menu/joystick_menu.cpp:75 msgid "Jump" msgstr "Прыжок" -#: src/supertux/menu/keyboard_menu.cpp:38 -#: src/supertux/menu/joystick_menu.cpp:76 +#: src/supertux/menu/keyboard_menu.cpp:43 +#: src/supertux/menu/joystick_menu.cpp:78 msgid "Peek Left" msgstr "Взгляд влево" -#: src/supertux/menu/keyboard_menu.cpp:39 -#: src/supertux/menu/joystick_menu.cpp:77 +#: src/supertux/menu/keyboard_menu.cpp:44 +#: src/supertux/menu/joystick_menu.cpp:79 msgid "Peek Right" msgstr "Взгляд вправо" -#: src/supertux/menu/keyboard_menu.cpp:40 -#: src/supertux/menu/joystick_menu.cpp:78 +#: src/supertux/menu/keyboard_menu.cpp:45 +#: src/supertux/menu/joystick_menu.cpp:80 msgid "Peek Up" msgstr "Взгляд вверх" -#: src/supertux/menu/keyboard_menu.cpp:41 -#: src/supertux/menu/joystick_menu.cpp:79 +#: src/supertux/menu/keyboard_menu.cpp:46 +#: src/supertux/menu/joystick_menu.cpp:81 msgid "Peek Down" msgstr "Взгляд вниз" -#: src/supertux/menu/keyboard_menu.cpp:43 -#: src/supertux/menu/joystick_menu.cpp:81 +#: src/supertux/menu/keyboard_menu.cpp:51 +#: src/supertux/menu/joystick_menu.cpp:83 msgid "Console" msgstr "Консоль" -#: src/supertux/menu/keyboard_menu.cpp:44 -#: src/supertux/menu/joystick_menu.cpp:82 +#: src/supertux/menu/keyboard_menu.cpp:52 +#: src/supertux/menu/joystick_menu.cpp:84 msgid "Cheat Menu" msgstr "Меню читов" -#: src/supertux/menu/keyboard_menu.cpp:45 -#: src/supertux/menu/joystick_menu.cpp:83 +#: src/supertux/menu/keyboard_menu.cpp:53 +#: src/supertux/menu/joystick_menu.cpp:85 msgid "Debug Menu" msgstr "Меню отладки" -#: src/supertux/menu/keyboard_menu.cpp:47 -#: src/supertux/menu/joystick_menu.cpp:85 +#: src/supertux/menu/keyboard_menu.cpp:56 +#: src/supertux/menu/joystick_menu.cpp:87 msgid "Jump with Up" msgstr "Прыжок = Вверх" -#: src/supertux/menu/keyboard_menu.cpp:60 +#: src/supertux/menu/keyboard_menu.cpp:82 msgid "Up cursor" msgstr "Стрелка вверх" -#: src/supertux/menu/keyboard_menu.cpp:62 +#: src/supertux/menu/keyboard_menu.cpp:84 msgid "Down cursor" msgstr "Стрелка вниз" -#: src/supertux/menu/keyboard_menu.cpp:64 +#: src/supertux/menu/keyboard_menu.cpp:86 msgid "Left cursor" msgstr "Стрелка влево" -#: src/supertux/menu/keyboard_menu.cpp:66 +#: src/supertux/menu/keyboard_menu.cpp:88 msgid "Right cursor" msgstr "Стрелка вправо" -#: src/supertux/menu/keyboard_menu.cpp:68 +#: src/supertux/menu/keyboard_menu.cpp:90 msgid "Return" msgstr "Ввод" -#: src/supertux/menu/keyboard_menu.cpp:70 +#: src/supertux/menu/keyboard_menu.cpp:92 msgid "Space" msgstr "Пробел" -#: src/supertux/menu/keyboard_menu.cpp:72 +#: src/supertux/menu/keyboard_menu.cpp:94 msgid "Right Shift" msgstr "Правый Shift" -#: src/supertux/menu/keyboard_menu.cpp:74 +#: src/supertux/menu/keyboard_menu.cpp:96 msgid "Left Shift" msgstr "Левый Shift" -#: src/supertux/menu/keyboard_menu.cpp:76 +#: src/supertux/menu/keyboard_menu.cpp:98 msgid "Right Control" msgstr "Правый Control" -#: src/supertux/menu/keyboard_menu.cpp:78 +#: src/supertux/menu/keyboard_menu.cpp:100 msgid "Left Control" msgstr "Левый Control" -#: src/supertux/menu/keyboard_menu.cpp:80 +#: src/supertux/menu/keyboard_menu.cpp:102 msgid "Right Alt" msgstr "Правый Alt" -#: src/supertux/menu/keyboard_menu.cpp:82 +#: src/supertux/menu/keyboard_menu.cpp:104 msgid "Left Alt" msgstr "Левый Alt" -#: src/supertux/menu/keyboard_menu.cpp:84 +#: src/supertux/menu/keyboard_menu.cpp:106 msgid "Right Command" msgstr "Правая клавиша" -#: src/supertux/menu/keyboard_menu.cpp:86 +#: src/supertux/menu/keyboard_menu.cpp:108 msgid "Left Command" msgstr "Левая клавиша" -#: src/supertux/menu/keyboard_menu.cpp:100 +#: src/supertux/menu/keyboard_menu.cpp:122 msgid "Press Key" msgstr "Нажмите клавишу" -#: src/supertux/menu/language_menu.cpp:40 +#: src/supertux/menu/language_menu.cpp:43 msgid "Language" msgstr "Язык" -#: src/supertux/menu/language_menu.cpp:42 +#: src/supertux/menu/language_menu.cpp:45 msgid "" msgstr "<автоопределение>" -#: src/supertux/menu/joystick_menu.cpp:55 +#: src/supertux/menu/joystick_menu.cpp:57 msgid "Manual Configuration" msgstr "Ручная конфигурация" -#: src/supertux/menu/joystick_menu.cpp:57 +#: src/supertux/menu/joystick_menu.cpp:59 msgid "" "Use manual configuration instead of SDL2's automatic GameController support" msgstr "Использовать свою конфигурацию контроллера вместо SDL2" -#: src/supertux/menu/joystick_menu.cpp:75 +#: src/supertux/menu/joystick_menu.cpp:77 msgid "Pause/Menu" msgstr "Пауза/Меню" -#: src/supertux/menu/joystick_menu.cpp:91 +#: src/supertux/menu/joystick_menu.cpp:93 msgid "No Joysticks found" msgstr "Контроллер не найден" -#: src/supertux/menu/joystick_menu.cpp:92 +#: src/supertux/menu/joystick_menu.cpp:94 msgid "Scan for Joysticks" msgstr "Найти контроллер" -#: src/supertux/menu/joystick_menu.cpp:125 +#: src/supertux/menu/joystick_menu.cpp:127 msgid "Press Button" msgstr "Нажмите кнопку" -#: src/supertux/menu/joystick_menu.cpp:162 +#: src/supertux/menu/joystick_menu.cpp:164 msgid "Axis " msgstr "Ось" -#: src/supertux/menu/joystick_menu.cpp:165 +#: src/supertux/menu/joystick_menu.cpp:167 msgid "-" msgstr "-" -#: src/supertux/menu/joystick_menu.cpp:167 +#: src/supertux/menu/joystick_menu.cpp:169 msgid "+" msgstr "+" -#: src/supertux/menu/joystick_menu.cpp:174 +#: src/supertux/menu/joystick_menu.cpp:176 msgid "X2" msgstr "X2" -#: src/supertux/menu/joystick_menu.cpp:176 +#: src/supertux/menu/joystick_menu.cpp:178 msgid "Y2" msgstr "Y2" -#: src/supertux/menu/joystick_menu.cpp:189 +#: src/supertux/menu/joystick_menu.cpp:191 msgid "Hat Up" msgstr "Стик вверх" -#: src/supertux/menu/joystick_menu.cpp:193 +#: src/supertux/menu/joystick_menu.cpp:195 msgid "Hat Down" msgstr "Стик вниз" -#: src/supertux/menu/joystick_menu.cpp:197 +#: src/supertux/menu/joystick_menu.cpp:199 msgid "Hat Left" msgstr "Стик влево" -#: src/supertux/menu/joystick_menu.cpp:201 +#: src/supertux/menu/joystick_menu.cpp:203 msgid "Hat Right" msgstr "Стик вправо" @@ -2844,52 +3950,47 @@ msgstr "Пауза" msgid "Leave World" msgstr "Покинуть мир" -#: src/supertux/menu/download_dialog.cpp:27 +#: src/supertux/menu/download_dialog.cpp:42 msgid "Abort Download" msgstr "Отменить загрузку" -#: src/supertux/menu/download_dialog.cpp:42 -msgid "Error:\n" -msgstr "Ошибка:\n" - -#: src/supertux/menu/download_dialog.cpp:96 -msgid "Close" -msgstr "Закрыть" - -#: src/supertux/menu/cheat_menu.cpp:33 -msgid "Bonus: Fire x 64" -msgstr "Бонус: Огонь x 64" - -#: src/supertux/menu/cheat_menu.cpp:34 -msgid "Bonus: Ice x 64" -msgstr "Бонус: Лёд x 64" - -#: src/supertux/menu/cheat_menu.cpp:35 -msgid "Bonus: Air x 64" -msgstr "Бонус: Воздух x 64" - -#: src/supertux/menu/cheat_menu.cpp:36 -msgid "Bonus: Earth x 64" -msgstr "Бонус: Земля x 64" +#: src/supertux/menu/download_dialog.cpp:59 +#, c++-format +msgid "" +"Error:\n" +"{}" +msgstr "Ошибка:\n{}" -#: src/supertux/menu/cheat_menu.cpp:37 +#: src/supertux/menu/cheat_menu.cpp:38 msgid "Bonus: Star" msgstr "Бонус: Звезда" -#: src/supertux/menu/cheat_menu.cpp:38 +#: src/supertux/menu/cheat_menu.cpp:39 msgid "Shrink Tux" msgstr "Уменьшить Такса" -#: src/supertux/menu/cheat_menu.cpp:39 +#: src/supertux/menu/cheat_menu.cpp:40 msgid "Kill Tux" msgstr "Убить Такса" +#: src/supertux/menu/cheat_menu.cpp:55 +msgid "Prevent Death" +msgstr "Предотвратить смерть" + +#: src/supertux/menu/addon_file_install_menu.cpp:32 +msgid "Install Add-on from file" +msgstr "Установка дополнения из файла" + +#: src/supertux/menu/addon_file_install_menu.cpp:34 +msgid "Drag and drop add-on ZIP archive" +msgstr "Перетащите и добавьте ZIP-архив дополнения" + #: src/supertux/menu/particle_editor_menu.cpp:32 msgid "Particle Editor" msgstr "Редактор частиц" #: src/supertux/menu/particle_editor_menu.cpp:36 -#: src/supertux/menu/editor_menu.cpp:45 +#: src/supertux/menu/editor_menu.cpp:60 msgid "Return to Editor" msgstr "Вернуться в редактор" @@ -2914,7 +4015,7 @@ msgid "Open Particle Directory" msgstr "Открыть папку частиц" #: src/supertux/menu/particle_editor_menu.cpp:45 -#: src/supertux/menu/editor_menu.cpp:88 +#: src/supertux/menu/editor_menu.cpp:118 msgid "Keyboard Shortcuts" msgstr "Горячие клавиши" @@ -2922,7 +4023,7 @@ msgstr "Горячие клавиши" msgid "Exit Particle Editor" msgstr "Выйти из редактора частиц" -#: src/supertux/menu/particle_editor_menu.cpp:120 +#: src/supertux/menu/particle_editor_menu.cpp:121 msgid "" "Keyboard Shortcuts:\n" "---------------------\n" @@ -2934,18 +4035,18 @@ msgid "" "Ctrl+Y = Redo" msgstr "Горячие клавиши:\n---------------------\nEsc = Открыть меню\nCtrl+S = Сохранить\nCtrl+Shift+S = Сохранить в\nCtrl+O = Открыть\nCtrl+Z = Отменить\nCtrl+Y = Повторить" -#: src/supertux/menu/particle_editor_menu.cpp:121 -#: src/supertux/menu/editor_menu.cpp:176 +#: src/supertux/menu/particle_editor_menu.cpp:122 +#: src/supertux/menu/editor_menu.cpp:206 msgid "Got it!" msgstr "Понятно!" #: src/supertux/menu/editor_level_menu.cpp:31 -#: src/supertux/menu/editor_menu.cpp:86 +#: src/supertux/menu/editor_menu.cpp:116 msgid "Worldmap Settings" msgstr "Настройки карты мира" #: src/supertux/menu/editor_level_menu.cpp:31 -#: src/supertux/menu/editor_menu.cpp:86 +#: src/supertux/menu/editor_menu.cpp:116 msgid "Level Settings" msgstr "Настройки уровня" @@ -2953,7 +4054,7 @@ msgstr "Настройки уровня" msgid "Author" msgstr "Автор" -#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1166 +#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1253 msgid "Contact" msgstr "Контакты" @@ -2971,7 +4072,7 @@ msgstr "Набор плиток" #: src/supertux/menu/editor_level_menu.cpp:41 msgid "Target Time" -msgstr "Заданное время" +msgstr "Целевое время" #: src/supertux/menu/editor_level_menu.cpp:83 msgid "Please enter a name for this level." @@ -2985,99 +4086,129 @@ msgstr "Пожалуйста, укажите автора этого уровн msgid "Please enter a license for this level." msgstr "Пожалуйста, укажите лицензию для этого уровня." -#: src/supertux/menu/editor_menu.cpp:38 +#: src/supertux/menu/editor_menu.cpp:53 msgid "tiny tile (4px)" msgstr "крошечная плитка (4px)" -#: src/supertux/menu/editor_menu.cpp:39 +#: src/supertux/menu/editor_menu.cpp:54 msgid "small tile (8px)" msgstr "маленькая плитка (8px)" -#: src/supertux/menu/editor_menu.cpp:40 +#: src/supertux/menu/editor_menu.cpp:55 msgid "medium tile (16px)" msgstr "средняя плитка (16px)" -#: src/supertux/menu/editor_menu.cpp:41 +#: src/supertux/menu/editor_menu.cpp:56 msgid "big tile (32px)" msgstr "большая плитка (32px)" -#: src/supertux/menu/editor_menu.cpp:46 +#: src/supertux/menu/editor_menu.cpp:61 msgid "Save Worldmap" msgstr "Сохранить карту мира" -#: src/supertux/menu/editor_menu.cpp:46 +#: src/supertux/menu/editor_menu.cpp:61 msgid "Save Level" msgstr "Сохранить уровень" -#: src/supertux/menu/editor_menu.cpp:55 +#: src/supertux/menu/editor_menu.cpp:65 msgid "Test Level" msgstr "Тест уровня" -#: src/supertux/menu/editor_menu.cpp:59 +#: src/supertux/menu/editor_menu.cpp:67 msgid "Test Worldmap" msgstr "Тест карты мира" -#: src/supertux/menu/editor_menu.cpp:62 +#: src/supertux/menu/editor_menu.cpp:72 msgid "Share Level" msgstr "Поделиться уровнем" -#: src/supertux/menu/editor_menu.cpp:64 +#: src/supertux/menu/editor_menu.cpp:74 msgid "Package Add-On" msgstr "Упаковать дополнение" -#: src/supertux/menu/editor_menu.cpp:66 +#: src/supertux/menu/editor_menu.cpp:76 msgid "Open Level Directory" msgstr "Открыть папку уровня" -#: src/supertux/menu/editor_menu.cpp:70 +#: src/supertux/menu/editor_menu.cpp:79 msgid "Edit Another Level" msgstr "Изменить другой уровень" -#: src/supertux/menu/editor_menu.cpp:73 +#: src/supertux/menu/editor_menu.cpp:81 msgid "Edit Another World" msgstr "Изменить другой мир" -#: src/supertux/menu/editor_menu.cpp:77 +#: src/supertux/menu/editor_menu.cpp:86 +msgid "Convert all tiles in the level using converters." +msgstr "Преобразовать все плитки в уровне с помощью конвертеров." + +#: src/supertux/menu/editor_menu.cpp:90 msgid "Grid Size" msgstr "Размер сетки" -#: src/supertux/menu/editor_menu.cpp:78 +#: src/supertux/menu/editor_menu.cpp:91 msgid "Show Grid" msgstr "Показать сетку" -#: src/supertux/menu/editor_menu.cpp:79 +#: src/supertux/menu/editor_menu.cpp:92 msgid "Grid Snapping" msgstr "Привязка к сетке" -#: src/supertux/menu/editor_menu.cpp:80 +#: src/supertux/menu/editor_menu.cpp:93 msgid "Render Background" msgstr "Отрисовать задний план" -#: src/supertux/menu/editor_menu.cpp:81 +#: src/supertux/menu/editor_menu.cpp:94 msgid "Render Light" msgstr "Отрисовать свет" -#: src/supertux/menu/editor_menu.cpp:82 +#: src/supertux/menu/editor_menu.cpp:95 msgid "Autotile Mode" msgstr "Режим автозаполнения" -#: src/supertux/menu/editor_menu.cpp:83 +#: src/supertux/menu/editor_menu.cpp:96 msgid "Enable Autotile Help" msgstr "Включить справку автозаполнения" -#: src/supertux/menu/editor_menu.cpp:84 +#: src/supertux/menu/editor_menu.cpp:97 +msgid "Enable Object Undo Tracking" +msgstr "Включить отслеживание отмены объекта" + +#: src/supertux/menu/editor_menu.cpp:100 +msgid "Undo Stack Size" +msgstr "Размер стека отмены" + +#: src/supertux/menu/editor_menu.cpp:102 msgid "Autosave Frequency" msgstr "Частота автосохранений" -#: src/supertux/menu/editor_menu.cpp:91 +#: src/supertux/menu/editor_menu.cpp:108 +msgid "Check for Deprecated Tiles" +msgstr "Проверить наличие устаревших плиток" + +#: src/supertux/menu/editor_menu.cpp:109 +msgid "Check if any deprecated tiles are currently present in the level." +msgstr "Проверить, присутствуют ли на уровне устаревшие плитки." + +#: src/supertux/menu/editor_menu.cpp:110 +msgid "Show Deprecated Tiles" +msgstr "Показать устаревшие плитки" + +#: src/supertux/menu/editor_menu.cpp:111 +msgid "" +"Indicate all deprecated tiles on the active tilemap, without the need of " +"hovering over." +msgstr "Показывает все устаревшие плитки на активной карте плиток без необходимости наведения курсора." + +#: src/supertux/menu/editor_menu.cpp:121 msgid "Exit Level Editor" msgstr "Выйти из редактора уровней" -#: src/supertux/menu/editor_menu.cpp:140 +#: src/supertux/menu/editor_menu.cpp:170 msgid "Do you want to package this world as an add-on?" msgstr "Хотите упаковать этот мир в качестве дополнения?" -#: src/supertux/menu/editor_menu.cpp:163 +#: src/supertux/menu/editor_menu.cpp:196 msgid "" "We encourage you to share your levels in the SuperTux forum.\n" "To find your level, click the\n" @@ -3085,7 +4216,7 @@ msgid "" "Do you want to go to the forum now?" msgstr "Мы рекомендуем вам поделиться своими уровнями на форуме SuperTux.\nЧтобы найти свой уровень, выберите\nпункт меню «Открыть выходной каталог».\nВы хотите перейти на форум прямо сейчас?" -#: src/supertux/menu/editor_menu.cpp:175 +#: src/supertux/menu/editor_menu.cpp:205 msgid "" "Keyboard Shortcuts:\n" "---------------------\n" @@ -3096,54 +4227,217 @@ msgid "" "Ctrl+Y = Redo\n" "F6 = Render Light\n" "F7 = Grid Snapping\n" -"F8 = Show Grid" -msgstr "Горячие клавиши:\n---------------------\nEsc = Открыть меню\nCtrl+S = Сохранить\nCtrl+T = Тестировать\nCtrl+Z = Отмена\nCtrl+Y = Повтор\nF6 = Отрисовать свет\nF7 = Привязка к сетке\nF8 = Показать сетку" +"F8 = Show Grid\n" +"Ctrl++ or Ctrl+Scroll Up = Zoom In\n" +"Ctrl+- or Ctrl+Scroll Down = Zoom Out\n" +"Ctrl+D = Reset Zoom\n" +"\n" +"Scripting Shortcuts:\n" +" ------------- \n" +"Home = Go to beginning of line\n" +"End = Go to end of line\n" +"Left arrow = Go back in text\n" +"Right arrow = Go forward in text\n" +"Backspace = Delete in front of text cursor\n" +"Delete = Delete behind text cursor\n" +"Ctrl+X = Cut whole line\n" +"Ctrl+C = Copy whole line\n" +"Ctrl+V = Paste\n" +"Ctrl+D = Duplicate line\n" +"Ctrl+Z = Undo\n" +"Ctrl+Y = Redo" +msgstr "Сочетания клавиш:\n---------------------\nEsc = Открыть меню\nCtrl+S = Сохранить\nCtrl+T = Проверить\nCtrl+Z = Отменить\nCtrl+Y = Повторить\nF6 = Отрисовать свет\nF7 = Привязка к сетке\nF8 = Показать сетку\nCtrl++ или Ctrl+Scroll Up = Увеличить масштаб\nCtrl+- или Ctrl+прокрутка вниз = Уменьшить масштаб\nCtrl+D = Сбросить масштаб\n\nКлавиши сценариев:\n------------- \nHome = Перейти к началу строки\nКонец = Перейти к концу строки\nСтрелка влево = вернуться назад по тексту\nСтрелка вправо = перейти вперёд по тексту\nBackspace = Удалить перед текстовым курсором\nDelete = Удалить за текстовым курсором\nCtrl+X = Вырезать всю строку\nCtrl+C = Копировать всю строку\nCtrl+V = Вставить\nCtrl+D = Дублировать строку\nCtrl+Z = Отменить\nCtrl+Y = Повторить" + +#: src/supertux/menu/editor_menu.cpp:232 +msgid "Deprecated tiles are still present in the level." +msgstr "Устаревшие плитки всё ещё представлены в этом уровне." + +#: src/supertux/menu/editor_menu.cpp:239 +msgid "Do you want to show all deprecated tiles on active tilemaps?" +msgstr "Хотите показывать все устаревшие плитки на активных картах плиток?" + +#: src/supertux/menu/editor_menu.cpp:246 +msgid "There are no more deprecated tiles in the level!" +msgstr "В уровне больше нет устаревших плиток!" + +#: src/supertux/menu/multiplayer_player_menu.cpp:40 +msgid "Play with the keyboard" +msgstr "Играть с клавиатурой" + +#: src/supertux/menu/multiplayer_player_menu.cpp:58 +msgid "Remove Player" +msgstr "Удалить игрока" + +#: src/supertux/menu/multiplayer_player_menu.cpp:82 +msgid "Respawn Player" +msgstr "Возродить игрока" + +#: src/supertux/menu/multiplayer_player_menu.cpp:108 +msgid "Spawn Player" +msgstr "Породить игрока" + +#: src/supertux/menu/multiplayer_player_menu.cpp:136 +msgid "Controllers" +msgstr "Контроллеры" + +#: src/supertux/menu/multiplayer_player_menu.cpp:152 +msgid "" +"This controller does not support rumbling;\n" +"please check the controllers manually." +msgstr "Этот контроллер не поддерживает вибрацию;\nпожалуйста, проверьте контроллеры вручную." + +#: src/supertux/menu/multiplayer_player_menu.cpp:157 +msgid "" +"This SuperTux build does not support rumbling\n" +"controllers; please check the controllers manually." +msgstr "Эта сборка SuperTux не поддерживает вибрацию\nконтроллеров; пожалуйста, проверьте контроллеры вручную." + +#: src/supertux/menu/multiplayer_player_menu.cpp:184 +msgid "" +"This joystick does not support rumbling;\n" +"please check the joysticks manually." +msgstr "Этот джойстик не поддерживает вибрацию;\nпожалуйста, проверьте джойстики вручную." + +#: src/supertux/menu/multiplayer_player_menu.cpp:189 +msgid "" +"This SuperTux build does not support rumbling\n" +"joysticks; please check the joysticks manually." +msgstr "Эта сборка SuperTux не поддерживает вибрацию\nджойстиков; пожалуйста, проверьте джойстики вручную." + +#: src/supertux/menu/editor_delete_level_menu.cpp:59 +msgid "No levels available" +msgstr "Уровни не доступны" -#: src/supertux/menu/editor_delete_level_menu.cpp:53 -msgid "You cannot delete level that you are editing!" +#: src/supertux/menu/editor_delete_level_menu.cpp:79 +msgid "You cannot delete the level that you are editing!" msgstr "Нельзя удалить уровень, который вы редактируете!" -#: src/supertux/levelintro.cpp:136 -#, c-format +#: src/supertux/menu/editor_delete_level_menu.cpp:82 +#, c++-format +msgid "You are about to delete level \"{}\". Are you sure?" +msgstr "Вы собираетесь удалить уровень «{}». Уверены?" + +#: src/supertux/levelintro.cpp:137 +#, c++-format msgid "contributed by {}" -msgstr "автор: {}" +msgstr "представлено {}" -#: src/supertux/levelintro.cpp:169 +#: src/supertux/levelintro.cpp:184 msgid "Badguys killed" msgstr "Убито плохишей" -#: src/supertux/levelintro.cpp:177 +#: src/supertux/levelintro.cpp:192 msgid "Best time" msgstr "Лучшее время" -#: src/supertux/levelintro.cpp:181 +#: src/supertux/levelintro.cpp:196 msgid "Level target time" -msgstr "Заданное время уровня" +msgstr "Целевое время уровня" -#: src/supertux/tile_set.cpp:118 +#: src/supertux/tile_set.cpp:113 msgid "Others" msgstr "Другие" -#: src/supertux/moving_object.cpp:55 +#: src/supertux/direction.cpp:67 +msgid "up" +msgstr "верх" + +#: src/supertux/direction.cpp:69 +msgid "down" +msgstr "низ" + +#: src/supertux/moving_object.cpp:63 msgid "Region" msgstr "Регион" -#: src/supertux/main.cpp:563 +#: src/supertux/main.cpp:801 +#, c++-format +msgid "New release: SuperTux v{}!" +msgstr "Новый выпуск: SuperTux v{}!" + +#: src/supertux/main.cpp:804 +#, c++-format msgid "" -"The UBports version is under heavy development!\n" -"If you encounter issues, PLEASE contact the maintainter\n" -"at https://github.com/supertux/supertux/issues or on the\n" -"Open Store's Telegram at https://open-store.io/telegram" -msgstr "Версия для Ubuntu Touch находится в разработке!\nЕсли у вас возникнут вопросы, ПОЖАЛУЙСТА, свяжитесь с\nсопровождающим через https://github.com/supertux/supertux/issues\nили в Телеграме Open Store: https://open-store.io/telegram" +"A new release of SuperTux (v{}) is available!\n" +"For more information, you can visit the SuperTux website.\n" +"\n" +"Do you want to visit the website now?" +msgstr "Вышла новая версия SuperTux (v{})!\nДля подробностей вы можете посетить веб-сайт SuperTux.\n\nХотите посетить сайт прямо сейчас?" + +#: src/supertux/main.cpp:815 +msgid "Checking for new releases..." +msgstr "Поиск новых версий…" #: src/control/joystick_config.cpp:85 msgid "Joystick Mappings" msgstr "Функции контроллера" -#: src/worldmap/worldmap_parser.cpp:167 +#: src/worldmap/sprite_change.cpp:91 +msgid "Stay action" +msgstr "Действие при остановке" + +#: src/worldmap/sprite_change.cpp:92 +msgid "Initial stay action" +msgstr "Начальное действие при остановке" + +#: src/worldmap/sprite_change.cpp:93 +msgid "Stay group" +msgstr "Группа остановки" + +#: src/worldmap/sprite_change.cpp:94 +msgid "Change on touch" +msgstr "Сменить при контакте" + +#: src/worldmap/special_tile.hpp:36 +msgid "Special Tile" +msgstr "Особенная плитка" + +#: src/worldmap/level_tile.hpp:36 src/worldmap/level_tile.cpp:161 +msgid "Level" +msgstr "Уровень" + +#: src/worldmap/teleporter.cpp:50 +msgid "Automatic" +msgstr "Автоматический" + +#: src/worldmap/teleporter.cpp:51 +msgid "Target worldmap" +msgstr "Целевая карта мира" + +#: src/worldmap/sprite_change.hpp:35 +msgid "Sprite Change" +msgstr "Смена спрайта" + +#: src/worldmap/special_tile.cpp:75 +msgid "Show message" +msgstr "Показать сообщение" + +#: src/worldmap/level_tile.cpp:84 msgid "" msgstr "<нет заголовка>" +#: src/worldmap/level_tile.cpp:162 +msgid "Outro script" +msgstr "Сценарий концовки" + +#: src/worldmap/level_tile.cpp:163 +msgid "Auto play" +msgstr "Автовоспроизведение" + +#: src/worldmap/level_tile.cpp:164 +msgid "Title colour" +msgstr "Цвет заголовка" + +#: src/worldmap/teleporter.hpp:34 +msgid "Teleporter" +msgstr "Телепорт" + +#: src/editor/tip.cpp:80 +msgid "" +"This object's current functionality is deprecated.\n" +"Updating to get its latest functionality is recommended." +msgstr "Текущая функциональность этого объекта устарела.\nРекомендуется обновить его, чтобы работы последней функциональности." + #: src/editor/node_marker.cpp:122 msgid "Path Node" msgstr "Узел пути" @@ -3156,85 +4450,82 @@ msgstr "Нажмите CTRL, чтобы переместить маркеры Б msgid "Easing" msgstr "Облегчение" -#: src/editor/object_settings.cpp:119 -msgid "up" -msgstr "верх" - -#: src/editor/object_settings.cpp:119 -msgid "down" -msgstr "низ" - -#: src/editor/object_settings.cpp:131 +#: src/editor/object_settings.cpp:129 msgid "West" msgstr "Запад" -#: src/editor/object_settings.cpp:131 +#: src/editor/object_settings.cpp:129 msgid "East" msgstr "Восток" -#: src/editor/object_settings.cpp:131 +#: src/editor/object_settings.cpp:129 msgid "North" msgstr "Север" -#: src/editor/object_settings.cpp:131 +#: src/editor/object_settings.cpp:129 msgid "South" msgstr "Юг" -#: src/editor/object_settings.cpp:144 +#: src/editor/object_settings.cpp:142 msgid "One shot" msgstr "Один выстрел" -#: src/editor/object_settings.cpp:144 +#: src/editor/object_settings.cpp:142 msgid "Ping-pong" msgstr "Пинг-понг" -#: src/editor/object_settings.cpp:144 +#: src/editor/object_settings.cpp:142 msgid "Circular" msgstr "Круговой" -#: src/editor/object_settings.cpp:144 -msgid "Unordered" -msgstr "Неупорядоченный" +#: src/editor/layers_widget.cpp:331 +#, c++-format +msgid "Sector: {}" +msgstr "Сектор: {}" -#: src/editor/object_option.cpp:85 +#: src/editor/object_option.cpp:92 msgid "true" msgstr "истина" -#: src/editor/object_option.cpp:85 +#: src/editor/object_option.cpp:92 msgid "false" msgstr "ложь" -#: src/editor/object_option.cpp:271 src/editor/object_option.cpp:320 +#: src/editor/object_option.cpp:308 src/editor/object_option.cpp:356 msgid "invalid" msgstr "недопустимый" -#: src/editor/object_option.cpp:580 +#: src/editor/object_option.cpp:665 +msgid "Scale X" +msgstr "Масштаб X" + +#: src/editor/object_option.cpp:666 +msgid "Scale Y" +msgstr "Масштаб Y" + +#: src/editor/object_option.cpp:667 +msgid "Offset X" +msgstr "Смещение по X" + +#: src/editor/object_option.cpp:668 +msgid "Offset Y" +msgstr "Смещение по Y" + +#: src/editor/object_option.cpp:672 src/editor/object_menu.cpp:67 msgid "Remove" msgstr "Убрать" -#: src/editor/object_option.cpp:597 +#: src/editor/object_option.cpp:689 msgid "Test from here" msgstr "Протестировать отсюда" -#: src/editor/object_option.cpp:614 +#: src/editor/object_option.cpp:706 msgid "Open Particle Editor" msgstr "Открыть редактор частиц" -#: src/editor/worldmap_objects.hpp:56 src/editor/worldmap_objects.cpp:127 -msgid "Level" -msgstr "Уровень" - -#: src/editor/worldmap_objects.hpp:79 -msgid "Teleporter" -msgstr "Телепорт" - -#: src/editor/worldmap_objects.hpp:119 -msgid "Sprite Change" -msgstr "Смена спрайта" - -#: src/editor/worldmap_objects.hpp:140 -msgid "Special tile" -msgstr "Специальная плитка" +#: src/editor/particle_editor.cpp:114 +msgid "Change texture... ->" +msgstr "Сменить текстуру… ->" #: src/editor/particle_editor.cpp:126 msgid "Max amount" @@ -3316,17 +4607,60 @@ msgstr "Всегда разрушать" msgid "Offscreen mode" msgstr "Внеэкранный режим" -#: src/editor/particle_editor.cpp:765 +#: src/editor/particle_editor.cpp:229 +msgid "Clear" +msgstr "Очистить" + +#: src/editor/particle_editor.cpp:245 +msgid "<- General settings" +msgstr "<- Общие настройки" + +#: src/editor/particle_editor.cpp:255 +msgid "Likeliness" +msgstr "Сходство" + +#: src/editor/particle_editor.cpp:266 +msgid "Color (RGBA)" +msgstr "Цвет (RGBA)" + +#: src/editor/particle_editor.cpp:311 +msgid "Scale (x, y)" +msgstr "Масштаб (x, y)" + +#: src/editor/particle_editor.cpp:332 +msgid "Hitbox scale (x, y)" +msgstr "Масштаб хитбокса (x, y)" + +#: src/editor/particle_editor.cpp:353 +msgid "Hitbox offset relative to scale" +msgstr "Смещение хитбокса относительно масштаба" + +#: src/editor/particle_editor.cpp:372 +msgid "Change texture..." +msgstr "Сменить текстуру…" + +#: src/editor/particle_editor.cpp:766 msgid "" "This particle configuration contains unsaved changes,\n" "do you want to save?" msgstr "Эта конфигурация частицы содержит несохранённые\nизменения, хотите сохранить?" -#: src/editor/particle_editor.cpp:773 +#: src/editor/particle_editor.cpp:774 msgid "Save as" msgstr "Сохранить в" -#: src/editor/editor.cpp:566 +#: src/editor/editor.cpp:577 +msgid "" +"This level contains deprecated tiles.\n" +"It is strongly recommended to replace all deprecated tiles\n" +"to avoid loss of compatibility in future versions." +msgstr "Этот уровень содержит устаревшие плитки.\nНастоятельно рекомендуется заменить все устаревшие плитки,\nчтобы избежать потери совместимости в будущих версиях." + +#: src/editor/editor.cpp:579 +msgid "Tip: Turn on \"Show Deprecated Tiles\" from the level editor menu." +msgstr "Совет: включите «Показывать устаревшие плитки» в меню редактора уровней." + +#: src/editor/editor.cpp:626 msgid "" "Don't forget that your levels and assets\n" "aren't saved between sessions!\n" @@ -3334,11 +4668,15 @@ msgid "" "from the \"Manage Assets\" menu." msgstr "Не забывайте, что ваши уровни и наборы\nне сохраняются между сессиями!\nЕсли вы хотите сохранить свои уровни, загрузите\nих из меню «Управление наборами»." -#: src/editor/editor.cpp:582 +#: src/editor/editor.cpp:661 msgid "This level contains unsaved changes, do you want to save?" msgstr "Уровень содержит несохранённые изменения, хотите сохранить?" -#: src/editor/editor.cpp:622 +#: src/editor/editor.cpp:662 +msgid "This level may contain unsaved changes, do you want to save?" +msgstr "Этот уровень содержит несохранённые изменения, хотите сохранить?" + +#: src/editor/editor.cpp:797 msgid "" "Some obsolete add-ons are still active\n" "and might cause collisions with default Super Tux structure.\n" @@ -3346,93 +4684,71 @@ msgid "" "Disabling these add-ons will not delete your game progress." msgstr "Некоторые устаревшие дополнения\nвсё ещё активны и могут создавать проблемы в текущей структуре игры.\nВы всё ещё можете включить их из меню.\nОтключение этих дополнений не повлияет на игровое развитие." -#: src/editor/editor.cpp:625 +#: src/editor/editor.cpp:800 msgid "Disable add-ons" msgstr "Отключить дополнения" -#: src/editor/editor.cpp:630 +#: src/editor/editor.cpp:805 msgid "Ignore (not advised)" msgstr "Игнорировать (не рекомендуется)" -#: src/editor/editor.cpp:634 +#: src/editor/editor.cpp:809 msgid "Leave editor" msgstr "Выйти из редактора" -#: src/editor/editor.cpp:853 +#: src/editor/editor.cpp:1023 msgid "" "Couldn't find a \"main\" sector.\n" "Please change the name of the sector where\n" "you'd like the player to start to \"main\"" -msgstr "Не удалось найти сектор \"main\".\nПожалуйста, измените название стартового\nсектора игрока на \"main\"" +msgstr "Не удалось найти сектор «main».\nПожалуйста, измените название стартового\nсектора игрока на «main»" -#: src/editor/editor.cpp:857 +#: src/editor/editor.cpp:1027 msgid "" "Couldn't find a \"main\" spawnpoint.\n" " Please change the name of the spawnpoint where\n" "you'd like the player to start to \"main\"" -msgstr "Не удалось найти точку возрождения \"main\".\nПожалуйста, измените название\nстартовой точки игрока на \"main\"" - -#: src/editor/worldmap_objects.cpp:128 -msgid "Outro script" -msgstr "Сценарий концовки" - -#: src/editor/worldmap_objects.cpp:129 -msgid "Auto play" -msgstr "Автовоспроизведение" - -#: src/editor/worldmap_objects.cpp:131 -msgid "Title colour" -msgstr "Цвет заголовка" - -#: src/editor/worldmap_objects.cpp:173 -msgid "Automatic" -msgstr "Автоматический" - -#: src/editor/worldmap_objects.cpp:175 -msgid "Target worldmap" -msgstr "Целевая карта мира" - -#: src/editor/worldmap_objects.cpp:238 -msgid "Stay action" -msgstr "Действие при остановке" - -#: src/editor/worldmap_objects.cpp:239 -msgid "Initial stay action" -msgstr "Начальное действие при остановке" +msgstr "Не удалось найти точку возрождения «main».\n Пожалуйста, смените название\nстартовой точки игрока на «main»" -#: src/editor/worldmap_objects.cpp:240 -msgid "Stay group" -msgstr "Группа остановки" - -#: src/editor/worldmap_objects.cpp:241 -msgid "Change on touch" -msgstr "Сменить при контакте" - -#: src/editor/worldmap_objects.cpp:271 -msgid "Show message" -msgstr "Показать сообщение" +#: src/editor/object_menu.cpp:60 +msgid "Patch Notes" +msgstr "Примечания к выпуску" -#: src/editor/worldmap_objects.cpp:273 -msgid "Invisible" -msgstr "Невидимость" - -#: src/editor/overlay_widget.cpp:1297 +#: src/editor/object_menu.cpp:84 +msgid "" +"This will update the object to its latest functionality.\n" +"Check the \"Patch Notes\" for more information.\n" +"\n" +"Keep in mind this is very likely to break the proper behaviour of the object.\n" +"Make sure to re-check any behaviour, related to the object." +msgstr "Это позволит обновить объект до последней версии.\nПодробности можно найти в «Примечаниях к выпуску».\n\nИмейте в виду, что это, скорее всего, нарушит правильное поведение объекта.\nОбязательно перепроверьте любое поведение, связанное с объектом." + +#: src/editor/object_menu.cpp:98 +#, c++-format +msgid "Patch notes for v{}:" +msgstr "Примечания к выпуску v{}:" + +#: src/editor/overlay_widget.cpp:1062 +msgid "Cannot select deprecated tiles" +msgstr "Невозможно выбрать устаревшие плитки" + +#: src/editor/overlay_widget.cpp:1567 msgid "Autotile mode is on" msgstr "Режим автозаполнения включён" -#: src/editor/overlay_widget.cpp:1299 +#: src/editor/overlay_widget.cpp:1571 msgid "Hold Ctrl to enable autotile" msgstr "Держите Ctrl, чтобы включить автозаполнение" -#: src/editor/overlay_widget.cpp:1303 +#: src/editor/overlay_widget.cpp:1578 msgid "Autotile erasing mode is on" msgstr "Режим стирания с автозаполнением включён" -#: src/editor/overlay_widget.cpp:1305 +#: src/editor/overlay_widget.cpp:1582 msgid "Selected tile isn't autotileable" msgstr "Выбранная плитка недоступна для автозаполнения" -#: src/editor/overlay_widget.cpp:1308 +#: src/editor/overlay_widget.cpp:1587 msgid "Hold Ctrl to enable autotile erasing" msgstr "Держите Ctrl, чтобы включить стирание с автозаполнением" @@ -3441,8 +4757,8 @@ msgid "Current SuperTux Team" msgstr "Текущая команда SuperTux" #: data//credits.stxt:30 -msgid "Programming, project lead ad interim" -msgstr "Программирование, временный лидер проекта " +msgid "Maintainer, Programming" +msgstr "Куратор, программист" #: data//credits.stxt:35 msgid "Graphics, Level Design, Story" @@ -3452,12 +4768,12 @@ msgstr "Графика, дизайн уровней, история" msgid "Level Design, Story, Optimisation, Coordination" msgstr "Дизайн уровней, сюжет, оптимизация, координация" -#: data//credits.stxt:45 data//credits.stxt:105 data//credits.stxt:191 -#: data//credits.stxt:519 +#: data//credits.stxt:45 data//credits.stxt:120 data//credits.stxt:206 +#: data//credits.stxt:538 msgid "Graphics" msgstr "Графика" -#: data//credits.stxt:50 data//credits.stxt:87 data//credits.stxt:93 +#: data//credits.stxt:50 data//credits.stxt:102 data//credits.stxt:108 msgid "Graphics, Programming, Level Design" msgstr "Графика, программирование, дизайн уровней" @@ -3466,256 +4782,266 @@ msgid "Features and Programming" msgstr "Функции и программирование" #: data//credits.stxt:60 +msgid "Minor features and programming" +msgstr "Незначительные функции и программирование" + +#: data//credits.stxt:65 msgid "Programming, Level Updates" msgstr "Программирование, обновления уровней" -#: data//credits.stxt:65 +#: data//credits.stxt:70 msgid "Graphics, Programming" msgstr "Графика, программирование" -#: data//credits.stxt:70 data//credits.stxt:135 data//credits.stxt:140 -#: data//credits.stxt:145 data//credits.stxt:150 data//credits.stxt:165 -#: data//credits.stxt:170 data//credits.stxt:515 data//credits.stxt:527 +#: data//credits.stxt:75 data//credits.stxt:85 data//credits.stxt:150 +#: data//credits.stxt:155 data//credits.stxt:160 data//credits.stxt:165 +#: data//credits.stxt:180 data//credits.stxt:185 data//credits.stxt:534 +#: data//credits.stxt:546 msgid "Programming" msgstr "Программирование" -#: data//credits.stxt:76 +#: data//credits.stxt:80 data//credits.stxt:266 +msgid "Level Design" +msgstr "Дизайн уровней" + +#: data//credits.stxt:91 msgid "Original Developers" msgstr "Изначальные разработчики" -#: data//credits.stxt:81 +#: data//credits.stxt:96 msgid "Original Developer" msgstr "Изначальный разработчик" -#: data//credits.stxt:99 +#: data//credits.stxt:114 msgid "Music, Level Design" msgstr "Музыка, дизайн уровней" -#: data//credits.stxt:111 +#: data//credits.stxt:126 msgid "Programming, Graphics, Level Design" msgstr "Программирование, графика, дизайн уровней" -#: data//credits.stxt:117 +#: data//credits.stxt:132 msgid "Programming, Level Design" msgstr "Программирование, дизайн уровней" -#: data//credits.stxt:123 +#: data//credits.stxt:138 msgid "Graphics, Story" msgstr "Графика, история" -#: data//credits.stxt:129 +#: data//credits.stxt:144 msgid "Programming, Documentation" msgstr "Программирование, Документация" -#: data//credits.stxt:155 +#: data//credits.stxt:170 msgid "Coordination" msgstr "Координация" -#: data//credits.stxt:160 +#: data//credits.stxt:175 msgid "Programming, \"Flexlay\" Level editor" -msgstr "Программирование, редактор уровней \"Flexlay\"" +msgstr "Программирование, редактор уровней «Flexlay»" -#: data//credits.stxt:175 +#: data//credits.stxt:190 msgid "Windows build fixes" msgstr "Исправления сборок для Windows" -#: data//credits.stxt:180 +#: data//credits.stxt:195 msgid "Packaging, Nightly builds" msgstr "Подготовка пакетов, ночные сборки" -#: data//credits.stxt:185 +#: data//credits.stxt:200 msgid "Translation Guru (and many details anyone else could have done)" msgstr "Гуру перевода (и другие мелочи, которыми мог заняться кто угодно)" -#: data//credits.stxt:251 -msgid "Level Design" -msgstr "Дизайн уровней" - -#: data//credits.stxt:431 +#: data//credits.stxt:450 msgid "Additional contributors" msgstr "Дополнительные участники" -#: data//credits.stxt:436 +#: data//credits.stxt:455 msgid "Bug fixes" msgstr "Исправления ошибок" -#: data//credits.stxt:440 +#: data//credits.stxt:459 msgid "Scripting functions, Level fixes" msgstr "Скриптовые функции, исправления уровней" -#: data//credits.stxt:444 +#: data//credits.stxt:463 msgid "Code quality fixes" msgstr "Исправление качества кода" -#: data//credits.stxt:448 data//credits.stxt:452 data//credits.stxt:456 -#: data//credits.stxt:483 +#: data//credits.stxt:467 data//credits.stxt:471 data//credits.stxt:475 +#: data//credits.stxt:502 msgid "Various contributions" msgstr "Различные вклады" -#: data//credits.stxt:460 +#: data//credits.stxt:479 msgid "Build issue fix" msgstr "Исправление ошибки сборки" -#: data//credits.stxt:464 data//credits.stxt:468 +#: data//credits.stxt:483 data//credits.stxt:487 msgid "Code contributions" msgstr "Помощь в разработке" -#: data//credits.stxt:471 +#: data//credits.stxt:490 msgid "Code contribution, AppData file" msgstr "Помощь в разработке, файл AppData" -#: data//credits.stxt:475 +#: data//credits.stxt:494 msgid "Bug fix" msgstr "Исправление ошибок" -#: data//credits.stxt:479 +#: data//credits.stxt:498 msgid "Menu reorganization" msgstr "Реорганизация меню" -#: data//credits.stxt:487 +#: data//credits.stxt:506 msgid "Fixing tile bugs" msgstr "Исправление ошибок плиток" -#: data//credits.stxt:491 +#: data//credits.stxt:510 msgid "Build error fix" msgstr "Исправление ошибки при сборке" -#: data//credits.stxt:495 +#: data//credits.stxt:514 msgid "Scripting function fix" msgstr "Исправление скриптовых функций" -#: data//credits.stxt:499 +#: data//credits.stxt:518 msgid "New features and notable updates" msgstr "Новые функции и заметные обновления" -#: data//credits.stxt:503 +#: data//credits.stxt:522 msgid "Support for \"glbinding\" as optional OpenGL binding" -msgstr "Поддержка \"glbinding\" в качестве дополнительной привязки OpenGL" +msgstr "Поддержка «glbinding» в качестве дополнительной привязки OpenGL" -#: data//credits.stxt:507 +#: data//credits.stxt:526 msgid "New menu code" msgstr "Новый код меню" -#: data//credits.stxt:511 +#: data//credits.stxt:530 msgid "Big Tux Walking Sprites improvements" msgstr "Улучшения спрайтов хождения большого Такса" -#: data//credits.stxt:523 data//credits.stxt:531 +#: data//credits.stxt:542 data//credits.stxt:550 msgid "Contrib Programming" msgstr "Программирование дополнений" -#: data//credits.stxt:535 +#: data//credits.stxt:554 msgid "Programming, Previous Maintainer" msgstr "Программирование, прошлый координатор" -#: data//credits.stxt:539 +#: data//credits.stxt:558 msgid "Various Contributions" msgstr "Различная помощь" -#: data//credits.stxt:543 -msgid "Minor features and programming" -msgstr "Незначительные функции и программирование" - -#: data//credits.stxt:547 data//credits.stxt:551 data//credits.stxt:555 -#: data//credits.stxt:559 data//credits.stxt:563 data//credits.stxt:567 -#: data//credits.stxt:571 data//credits.stxt:575 data//credits.stxt:579 -#: data//credits.stxt:583 data//credits.stxt:587 data//credits.stxt:591 +#: data//credits.stxt:562 data//credits.stxt:566 data//credits.stxt:570 +#: data//credits.stxt:574 data//credits.stxt:578 data//credits.stxt:582 +#: data//credits.stxt:586 data//credits.stxt:590 data//credits.stxt:594 +#: data//credits.stxt:598 data//credits.stxt:602 data//credits.stxt:606 +#: data//credits.stxt:610 data//credits.stxt:614 data//credits.stxt:618 +#: data//credits.stxt:622 data//credits.stxt:626 data//credits.stxt:630 +#: data//credits.stxt:634 data//credits.stxt:638 data//credits.stxt:642 +#: data//credits.stxt:646 data//credits.stxt:650 data//credits.stxt:654 +#: data//credits.stxt:658 data//credits.stxt:662 msgid "Contributions" msgstr "Участие" -#: data//credits.stxt:597 +#: data//credits.stxt:668 msgid "Localization" msgstr "Локализация" -#: data//credits.stxt:1144 +#: data//credits.stxt:1231 msgid " Special Thanks to" msgstr "Отдельная благодарность" -#: data//credits.stxt:1149 +#: data//credits.stxt:1236 msgid "Creator of Tux, the Linux penguin" msgstr "Создатель Такса, пингвина талисмана Linux`а" -#: data//credits.stxt:1153 +#: data//credits.stxt:1240 msgid "SDL, OpenAL and OpenGL" msgstr "SDL, OpenAL и OpenGL" -#: data//credits.stxt:1154 +#: data//credits.stxt:1241 msgid "" "For making such a great gaming experience\n" " possible on Linux" msgstr "За помощь в создании прекрасной игры\n для Линукса" -#: data//credits.stxt:1159 +#: data//credits.stxt:1246 msgid "and you, the player" msgstr "и тебе, игрок," -#: data//credits.stxt:1160 +#: data//credits.stxt:1247 msgid "for giving this game a chance and playing it" msgstr "за то, что попробовал эту игру." -#: data//credits.stxt:1171 +#: data//credits.stxt:1258 msgid "Visit our webpage at" msgstr "Посетите нашу страницу на" -#: data//credits.stxt:1180 +#: data//credits.stxt:1267 msgid "Or visit us directly at IRC:" msgstr "Или непосредственно по IRC:" -#: data//credits.stxt:1184 +#: data//credits.stxt:1271 msgid "#supertux at web.libera.chat" msgstr "#supertux в web.libera.chat" -#: data//credits.stxt:1189 +#: data//credits.stxt:1276 msgid "Or at our Forum:" msgstr "Или на нашем Форуме:" -#: data//credits.stxt:1198 +#: data//credits.stxt:1285 msgid "Comments, ideas and suggestions" msgstr "Комментарии, идеи и предложения" -#: data//credits.stxt:1202 +#: data//credits.stxt:1289 msgid "go to our mailing list" msgstr "направляйте в наш список рассылки" #. l10n: typo contact -#: data//credits.stxt:1212 +#: data//credits.stxt:1299 msgid "Typographical errors can be" msgstr "Типографские ошибки можно" #. l10n: typo contact -#: data//credits.stxt:1217 +#: data//credits.stxt:1304 msgid "reported to" msgstr "сообщить" #. l10n: typo contact, see -#: data//credits.stxt:1222 +#: data//credits.stxt:1309 msgid "supertux-devel@lists.lethargik.org" msgstr "supertux-devel@lists.lethargik.org" -#: data//credits.stxt:1229 +#: data//credits.stxt:1316 msgid "Want to help…" msgstr "Желаете помочь…" -#: data//credits.stxt:1234 +#: data//credits.stxt:1321 msgid "…with localization?" msgstr "…с переводом?" -#: data//credits.stxt:1244 +#: data//credits.stxt:1331 msgid "…with something else?" msgstr "…с чем-то ещё?" -#: data//credits.stxt:1255 +#: data//credits.stxt:1342 msgid "Thank you for" msgstr "Спасибо за" -#: data//credits.stxt:1259 +#: data//credits.stxt:1346 msgid "playing" msgstr "игру" -#: data//credits.stxt:1269 +#: data//credits.stxt:1356 msgid "Penny awaits you in warmer temperatures!" msgstr "Пенни ждёт вас в более тёплых условиях!" +#: data//images/engine/editor/objects.stoi:4 +msgid "Enemies" +msgstr "Противники" + #: data//images/engine/editor/objects.stoi:162 msgid "Bosses" msgstr "Боссы" @@ -3724,15 +5050,10 @@ msgstr "Боссы" msgid "Projectiles" msgstr "Снаряды" -#: data//images/engine/editor/objects.stoi:187 +#: data//images/engine/editor/objects.stoi:184 msgid "Environment" msgstr "Окружение" -#: data//images/ice_world.strf:10 data//images/tiles.strf:28 -#: data//images/worldmap.strf:41 -msgid "Snow" -msgstr "Снег" - #: data//images/ice_world.strf:80 msgid "Ice Cave & Crystal" msgstr "Ледяная пещера и кристалл" @@ -3741,11 +5062,6 @@ msgstr "Ледяная пещера и кристалл" msgid "Embellishments" msgstr "Украшения" -#: data//images/ice_world.strf:211 data//images/tiles.strf:386 -#: data//images/worldmap.strf:67 -msgid "Forest" -msgstr "Лес" - #: data//images/ice_world.strf:320 msgid "Underground Forest" msgstr "Подземный лес" @@ -3770,57 +5086,61 @@ msgstr "Маршрут" msgid "Water" msgstr "Вода" -#: data//images/tiles.strf:176 +#: data//images/tiles.strf:252 msgid "Snow Background" msgstr "Снежный задний план" -#: data//images/tiles.strf:231 -msgid "Snow Mountain" -msgstr "Снежная гора" - -#: data//images/tiles.strf:305 +#: data//images/tiles.strf:300 msgid "Crystal" msgstr "Хрусталь" -#: data//images/tiles.strf:532 +#: data//images/tiles.strf:539 msgid "Forest Background" msgstr "Задний план леса" -#: data//images/tiles.strf:663 +#: data//images/tiles.strf:690 +msgid "Corrupted Forest" +msgstr "Испорченный лес" + +#: data//images/tiles.strf:868 +msgid "Corrupted Background" +msgstr "Испорченный фон" + +#: data//images/tiles.strf:991 msgid "Block + Bonus" msgstr "Блок + бонус" -#: data//images/tiles.strf:715 +#: data//images/tiles.strf:1069 msgid "Pole + Signs" msgstr "Полюс + знаки" -#: data//images/tiles.strf:760 +#: data//images/tiles.strf:1113 msgid "Liquid" msgstr "Жидкость" -#: data//images/tiles.strf:793 +#: data//images/tiles.strf:1131 msgid "Castle" msgstr "Замок" -#: data//images/tiles.strf:930 data//images/worldmap.strf:199 +#: data//images/tiles.strf:1231 data//images/worldmap.strf:199 msgid "Halloween" msgstr "Хэллоуин" -#: data//images/tiles.strf:958 +#: data//images/tiles.strf:1272 msgid "Industrial" msgstr "Промышленный" -#: data//images/tiles.strf:973 +#: data//images/tiles.strf:1287 msgid "Unisolid + Lightmap" msgstr "Нецельный снизу + карта освещённости" -#: data//images/tiles.strf:1000 +#: data//images/tiles.strf:1314 msgid "Miscellaneous" msgstr "Разное" -#: data//images/tiles.strf:1043 -msgid "Retro Snow" -msgstr "Ретро снег" +#: data//images/tiles.strf:1342 +msgid "Retro Tiles" +msgstr "Ретро плитка" #: data//images/worldmap.strf:24 msgid "Water paths" @@ -3833,3 +5153,19 @@ msgstr "Пути около замка" #: data//images/worldmap.strf:135 msgid "Darker Forest" msgstr "Тёмный лес" + +#: data//images/converters/data.stcd:3 +msgid "Nightly Tiles" +msgstr "Ночные плитки" + +#: data//images/converters/data.stcd:5 +msgid "For levels, created in previous Nightly builds." +msgstr "Для уровней, созданных в предыдущих ночных сборках." + +#: data//images/converters/data.stcd:8 +msgid "Pre-0.6.3 Crystal Tiles" +msgstr "Кристаллические плитки до 0.6.3" + +#: data//images/converters/data.stcd:10 +msgid "For levels, created in pre-0.6.3 versions, which use crystal tiles." +msgstr "Для уровней, созданных в версиях до 0.6.3, в которых используются кристаллические плитки." diff --git a/data/locale/sl.po b/data/locale/sl.po index 305ed213c12..9bc0653ecec 100644 --- a/data/locale/sl.po +++ b/data/locale/sl.po @@ -4,250 +4,378 @@ # # Translators: # Andrej Mernik , 2017 -# Gorzy Gorup , 2016,2018-2020 +# Gorzy Gorup , 2016,2018-2020,2022,2024 # Marko Burjek , 2005-2007 -# Nwolfy , 2014 +# 6b5e68206c0968137af5e40628fab09c_45f21e2 <2184c0f6d900f44833440361ba2f7322_103239>, 2014 msgid "" msgstr "" "Project-Id-Version: SuperTux\n" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" -"POT-Creation-Date: 2020-04-13 17:25+0200\n" -"PO-Revision-Date: 2020-04-25 20:20+0000\n" -"Last-Translator: Gorzy Gorup \n" -"Language-Team: Slovenian (http://www.transifex.com/arctic-games/supertux/language/sl/)\n" +"POT-Creation-Date: 2024-05-30 16:19+0200\n" +"PO-Revision-Date: 2013-08-10 22:56+0000\n" +"Last-Translator: Gorzy Gorup , 2016,2018-2020,2022,2024\n" +"Language-Team: Slovenian (http://app.transifex.com/arctic-games/supertux/language/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sl\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" -#: src/trigger/secretarea_trigger.cpp:53 src/trigger/secretarea_trigger.cpp:61 +#: src/trigger/secretarea_trigger.cpp:47 msgid "You found a secret area!" -msgstr "Odkril/a si skrito območje!" +msgstr "Odkril/a si skrito sobo!" -#: src/trigger/secretarea_trigger.cpp:77 src/trigger/scripttrigger.cpp:75 -#: src/supertux/game_object.cpp:88 src/supertux/menu/editor_sector_menu.cpp:34 -#: src/supertux/menu/editor_levelset_menu.cpp:58 +#: src/trigger/secretarea_trigger.cpp:55 src/supertux/game_object.cpp:115 +#: src/supertux/menu/editor_sector_menu.cpp:36 +#: src/supertux/menu/editor_levelset_menu.cpp:52 #: src/supertux/menu/editor_new_levelset_menu.cpp:34 +#: src/supertux/menu/profile_name_menu.cpp:39 #: src/supertux/menu/editor_level_menu.cpp:33 msgid "Name" msgstr "Ime" -#: src/trigger/secretarea_trigger.cpp:78 +#: src/trigger/secretarea_trigger.cpp:56 msgid "Fade tilemap" -msgstr "Prelij načrt podlage" +msgstr "Prekrivni zaris podlage" -#: src/trigger/secretarea_trigger.cpp:79 src/trigger/climbable.cpp:81 -#: src/object/infoblock.cpp:57 src/editor/worldmap_objects.cpp:174 -#: src/editor/worldmap_objects.cpp:272 +#: src/trigger/secretarea_trigger.cpp:57 src/trigger/climbable.cpp:59 +#: src/object/infoblock.cpp:76 src/worldmap/teleporter.cpp:49 +#: src/worldmap/special_tile.cpp:74 msgid "Message" msgstr "Sporočilo" -#: src/trigger/secretarea_trigger.cpp:80 src/trigger/scripttrigger.cpp:80 -#: src/trigger/door.cpp:73 src/object/ispy.cpp:67 -#: src/object/bonus_block.cpp:203 src/object/bonus_block.cpp:207 -#: src/object/pushbutton.cpp:49 src/object/powerup.cpp:190 -#: src/editor/worldmap_objects.cpp:274 +#: src/trigger/secretarea_trigger.cpp:58 src/trigger/scripttrigger.cpp:51 +#: src/trigger/door.cpp:79 src/object/ispy.cpp:53 +#: src/object/bonus_block.cpp:264 src/object/bonus_block.cpp:268 +#: src/object/pushbutton.cpp:62 src/object/powerup.cpp:301 +#: src/worldmap/special_tile.cpp:76 msgid "Script" -msgstr "Zapis" - -#: src/trigger/scripttrigger.cpp:73 -msgid "Script Trigger" -msgstr "Sprožilec skripte" - -#: src/trigger/scripttrigger.cpp:76 src/object/tilemap.cpp:220 -#: src/supertux/menu/editor_sector_menu.cpp:39 -#: src/editor/object_option.cpp:148 -msgid "Width" -msgstr "Širina" - -#: src/trigger/scripttrigger.cpp:77 src/object/tilemap.cpp:221 -#: src/supertux/menu/editor_sector_menu.cpp:40 -#: src/editor/object_option.cpp:149 -msgid "Height" -msgstr "Višina" - -#: src/trigger/scripttrigger.cpp:78 src/object/bicycle_platform.cpp:187 -#: src/object/background.cpp:160 src/object/pneumatic_platform.cpp:145 -#: src/supertux/menu/joystick_menu.cpp:170 src/supertux/moving_object.cpp:47 -#: src/editor/worldmap_objects.cpp:73 -msgid "X" -msgstr "X" - -#: src/trigger/scripttrigger.cpp:79 src/object/bicycle_platform.cpp:188 -#: src/object/background.cpp:161 src/object/pneumatic_platform.cpp:146 -#: src/supertux/menu/joystick_menu.cpp:172 src/supertux/moving_object.cpp:48 -#: src/editor/worldmap_objects.cpp:74 -msgid "Y" -msgstr "Y" +msgstr "Skripta" -#: src/trigger/scripttrigger.cpp:81 src/object/pushbutton.hpp:31 +#: src/trigger/scripttrigger.cpp:52 src/object/pushbutton.hpp:32 msgid "Button" msgstr "Gumb" -#: src/trigger/scripttrigger.cpp:82 +#: src/trigger/scripttrigger.cpp:53 msgid "Oneshot" -msgstr "Enkratno" +msgstr "Ustavi na koncu" -#: src/trigger/sequence_trigger.hpp:33 +#: src/trigger/sequence_trigger.hpp:31 msgid "Sequence Trigger" msgstr "Sprožilec sekvence" -#: src/trigger/door.cpp:74 src/badguy/willowisp.cpp:280 -#: src/supertux/menu/editor_sector_menu.cpp:32 -#: src/editor/layers_widget.cpp:274 -#: data//images/engine/editor/objects.stoi:300 +#: src/trigger/text_area.cpp:141 +msgid "Once" +msgstr "Enkrat" + +#: src/trigger/text_area.cpp:142 +msgid "Text change time" +msgstr "Čas spremembe besedila" + +#: src/trigger/text_area.cpp:143 +msgid "Fade time" +msgstr "Čas bledenja" + +#: src/trigger/text_area.cpp:144 src/object/textscroller.cpp:353 +msgid "Anchor" +msgstr "Sidranje" + +#: src/trigger/text_area.cpp:148 +msgid "Anchor offset X" +msgstr "Odmik sidrišča po X" + +#: src/trigger/text_area.cpp:149 +msgid "Anchor offset Y" +msgstr "Odmik sidrišča po Y" + +#: src/trigger/text_area.cpp:150 +msgid "Texts" +msgstr "Besedila" + +#: src/trigger/door.cpp:80 src/badguy/willowisp.cpp:311 +#: src/worldmap/teleporter.cpp:47 data//images/engine/editor/objects.stoi:342 msgid "Sector" msgstr "Predel" -#: src/trigger/door.cpp:75 src/editor/worldmap_objects.hpp:101 +#: src/trigger/door.cpp:81 src/worldmap/spawn_point.hpp:58 msgid "Spawn point" msgstr "Začetna točka" -#: src/trigger/switch.cpp:61 src/object/block.cpp:212 src/object/torch.cpp:91 -#: src/object/moving_sprite.cpp:156 src/object/pneumatic_platform.cpp:144 -msgid "Sprite" -msgstr "Animirane sličice" +#: src/trigger/door.cpp:82 +msgid "Locked?" +msgstr "Zaklenjena?" + +#: src/trigger/door.cpp:83 +msgid "Lock Color" +msgstr "Barva ključavnice" + +#: src/trigger/switch.cpp:62 src/object/ispy.cpp:54 src/object/bumper.cpp:53 +#: src/object/spotlight.cpp:106 src/object/pushbutton.cpp:61 +#: src/object/gradient.cpp:103 src/object/conveyor_belt.cpp:60 +#: src/badguy/badguy.cpp:1063 src/worldmap/spawn_point.cpp:79 +#: src/worldmap/special_tile.cpp:78 +msgid "Direction" +msgstr "Smer" -#: src/trigger/switch.cpp:62 +#: src/trigger/switch.cpp:65 msgid "Turn on script" -msgstr "Vklopi skripto" +msgstr "Sprožitvena skripta" -#: src/trigger/switch.cpp:63 +#: src/trigger/switch.cpp:66 msgid "Turn off script" -msgstr "Izklopi skripto" +msgstr "Izklopna skripta" + +#: src/trigger/scripttrigger.hpp:29 +msgid "Script Trigger" +msgstr "Sprožilec skripte" -#: src/trigger/sequence_trigger.cpp:75 +#: src/trigger/sequence_trigger.cpp:48 msgid "Sequence" -msgstr "Zaporedje" +msgstr "Sekvenca" -#: src/trigger/sequence_trigger.cpp:76 +#: src/trigger/sequence_trigger.cpp:49 msgid "end sequence" -msgstr "konec zaporedja" +msgstr "končna sekvenca" -#: src/trigger/sequence_trigger.cpp:76 +#: src/trigger/sequence_trigger.cpp:49 msgid "stop Tux" -msgstr "ustavi Tuxa" +msgstr "ustavi Tuksa" -#: src/trigger/sequence_trigger.cpp:76 +#: src/trigger/sequence_trigger.cpp:49 msgid "fireworks" msgstr "ognjemet" -#: src/trigger/sequence_trigger.cpp:80 +#: src/trigger/sequence_trigger.cpp:53 msgid "New worldmap spawnpoint" msgstr "Nova začetna točka" -#: src/trigger/sequence_trigger.cpp:81 +#: src/trigger/sequence_trigger.cpp:54 msgid "Worldmap fade tilemap" -msgstr "Prelij načrt podlage" +msgstr "Prekrivni zaris sveta" -#: src/trigger/sequence_trigger.cpp:82 +#: src/trigger/sequence_trigger.cpp:55 +#: src/object/custom_particle_system.cpp:430 +#: src/object/custom_particle_system.cpp:465 msgid "Fade" -msgstr "Prelij" +msgstr "Zatemni" -#: src/trigger/sequence_trigger.cpp:83 +#: src/trigger/sequence_trigger.cpp:56 src/editor/particle_editor.cpp:161 msgid "Fade in" msgstr "Prikaži" -#: src/trigger/sequence_trigger.cpp:83 +#: src/trigger/sequence_trigger.cpp:56 src/editor/particle_editor.cpp:167 +#: src/editor/particle_editor.cpp:212 msgid "Fade out" -msgstr "Zamegli" +msgstr "Skrij" -#: src/trigger/climbable.hpp:37 +#: src/trigger/climbable.hpp:46 msgid "Climbable" msgstr "Plezljivo" -#: src/trigger/door.hpp:34 +#: src/trigger/text_area.hpp:47 +msgid "Text Area" +msgstr "Besedilno polje" + +#: src/trigger/door.hpp:31 msgid "Door" msgstr "Vrata" -#: src/trigger/switch.hpp:33 +#: src/trigger/switch.hpp:30 msgid "Switch" msgstr "Vzvod" #: src/trigger/secretarea_trigger.hpp:36 msgid "Secret Area" -msgstr "Skrivno območje" +msgstr "Skrita soba" + +#: src/math/anchor_point.cpp:33 +msgid "Top Left" +msgstr "Zgoraj levo" + +#: src/math/anchor_point.cpp:34 +msgid "Top" +msgstr "Zgoraj" + +#: src/math/anchor_point.cpp:35 +msgid "Top Right" +msgstr "Zgoraj desno" + +#: src/math/anchor_point.cpp:36 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:38 +#: src/supertux/menu/joystick_menu.cpp:73 +msgid "Left" +msgstr "Levo" + +#: src/math/anchor_point.cpp:37 +msgid "Middle" +msgstr "Na sredini" + +#: src/math/anchor_point.cpp:38 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:39 +#: src/supertux/menu/joystick_menu.cpp:74 +msgid "Right" +msgstr "Desno" + +#: src/math/anchor_point.cpp:39 +msgid "Bottom Left" +msgstr "Spodaj levo" + +#: src/math/anchor_point.cpp:40 +msgid "Bottom" +msgstr "Spodaj" + +#: src/math/anchor_point.cpp:41 +msgid "Bottom Right" +msgstr "Spodaj desno" -#: src/object/thunderstorm.hpp:40 +#: src/object/thunderstorm.hpp:44 msgid "Thunderstorm" msgstr "Neurje" -#: src/object/ispy.cpp:66 -msgid "Facing Down" -msgstr "Obrnjeno navzdol" +#: src/object/cloud_particle_system.cpp:77 +#: src/object/rain_particle_system.cpp:100 +msgid "Intensity" +msgstr "Jakost" -#: src/object/ispy.cpp:68 src/object/gradient.cpp:124 -#: src/badguy/willowisp.cpp:279 src/badguy/badguy.cpp:840 -#: src/editor/worldmap_objects.cpp:209 src/editor/worldmap_objects.cpp:276 -msgid "Direction" -msgstr "Smer" +#: src/object/custom_particle_system.hpp:46 +msgid "Custom Particles" +msgstr "Delci po meri" -#: src/object/path_gameobject.hpp:44 src/object/coin.cpp:262 -#: src/object/camera.cpp:212 src/object/platform.cpp:65 -#: src/object/path_gameobject.cpp:168 src/object/tilemap.cpp:234 -#: src/badguy/willowisp.cpp:286 +#: src/object/particle_zone.hpp:41 +msgid "Particle zone" +msgstr "Območje delcev" + +#: src/object/path_gameobject.hpp:45 src/object/coin.cpp:324 +#: src/object/camera.cpp:168 src/object/platform.cpp:76 +#: src/object/path_gameobject.cpp:175 src/object/tilemap.cpp:284 +#: src/badguy/willowisp.cpp:317 msgid "Path" msgstr "Pot" -#: src/object/decal.cpp:41 src/object/scripted_object.cpp:67 -#: src/object/particlesystem.cpp:62 src/object/background.cpp:164 -#: src/object/thunderstorm.cpp:68 src/object/tilemap.cpp:227 -#: src/object/gradient.cpp:122 -msgid "Z-pos" -msgstr "Z-položaj" - -#: src/object/decal.cpp:42 src/object/scripted_object.cpp:70 -#: src/object/tilemap.cpp:216 +#: src/object/decal.cpp:48 src/object/scripted_object.cpp:70 +#: src/object/tilemap.cpp:266 msgid "Solid" msgstr "Trdno" -#: src/object/decal.cpp:43 src/supertux/menu/keyboard_menu.cpp:37 -#: src/supertux/menu/joystick_menu.cpp:74 +#: src/object/decal.cpp:49 src/supertux/menu/keyboard_menu.cpp:41 +#: src/supertux/menu/joystick_menu.cpp:76 msgid "Action" msgstr "Dejanje" -#: src/object/weak_block.hpp:35 +#: src/object/weak_block.hpp:36 msgid "Weak Tile" msgstr "Šibka podlaga" -#: src/object/gradient.hpp:42 +#: src/object/gradient.hpp:43 msgid "Gradient" -msgstr "Naklon" +msgstr "Preliv" -#: src/object/tilemap.hpp:53 +#: src/object/tilemap.hpp:58 msgid "Tilemap" -msgstr "Načrt podlage" +msgstr "Zaris podlage" + +#: src/object/sound_object.cpp:69 src/object/ambient_sound.cpp:85 +#: src/object/sound_object.hpp:42 src/supertux/menu/options_menu.cpp:128 +#: data//credits.stxt:367 +msgid "Sound" +msgstr "Zvok" + +#: src/object/sound_object.cpp:70 src/object/ambient_sound.cpp:87 +msgid "Volume" +msgstr "Glasnost" + +#: src/object/conveyor_belt.hpp:39 +msgid "Conveyor Belt" +msgstr "Tekoči trak" + +#: src/object/unstable_tile.cpp:70 src/object/weak_block.cpp:97 +#: src/badguy/flame.cpp:86 +msgid "Ice" +msgstr "Led" + +#: src/object/unstable_tile.cpp:71 src/object/brick.hpp:34 +msgid "Brick" +msgstr "Opeka" + +#: src/object/unstable_tile.cpp:72 +msgid "Delayed" +msgstr "Zakasnjena" + +#: src/object/circleplatform.hpp:35 +msgid "Circular Platform" +msgstr "Krožna ploščad" + +#: src/object/brick.cpp:59 src/object/coin.cpp:69 +#: src/object/invisible_block.cpp:37 src/object/background.cpp:200 +#: src/object/tilemap.cpp:279 src/object/gradient.cpp:109 +#: src/badguy/viciousivy.cpp:44 src/badguy/snail.cpp:69 +#: src/badguy/smartball.cpp:34 src/badguy/bouncing_snowball.cpp:81 +#: src/badguy/kamikazesnowball.cpp:117 src/badguy/walkingleaf.cpp:35 +#: src/badguy/mrbomb.cpp:47 src/badguy/igel.cpp:188 src/badguy/snowball.cpp:40 +#: src/badguy/mrtree.cpp:50 src/badguy/mriceblock.cpp:62 +msgid "Normal" +msgstr "Običajno" + +#: src/object/brick.cpp:60 src/object/bonus_block.cpp:175 +#: src/object/coin.cpp:70 src/object/invisible_block.cpp:38 +msgid "Retro" +msgstr "Retro" -#: src/object/brick.cpp:133 +#: src/object/brick.cpp:166 msgid "Breakable" -msgstr "Uničljivo" +msgstr "Uničljiva" -#: src/object/trampoline.cpp:136 src/object/rusty_trampoline.cpp:66 +#: src/object/trampoline.cpp:66 src/object/rusty_trampoline.cpp:66 msgid "Portable" -msgstr "Prenosljiva" +msgstr "Prenosljiv" -#: src/object/spotlight.cpp:62 +#: src/object/trampoline.cpp:67 +msgid "Stationary" +msgstr "Nepremičen" + +#: src/object/key.hpp:38 +msgid "Key" +msgstr "Ključ" + +#: src/object/spotlight.cpp:102 src/object/particlesystem.cpp:64 +#: src/object/particle_zone.cpp:50 src/badguy/darttrap.cpp:149 +#: src/supertux/menu/addon_preview_menu.cpp:189 +msgid "Enabled" +msgstr "Omogočeno" + +#: src/object/spotlight.cpp:103 src/object/rain_particle_system.cpp:101 msgid "Angle" msgstr "Kot" -#: src/object/spotlight.cpp:63 src/object/magicblock.cpp:94 -#: src/object/candle.cpp:77 src/object/lantern.cpp:62 -#: src/object/ambient_light.cpp:131 src/badguy/walking_candle.cpp:82 +#: src/object/spotlight.cpp:104 src/object/magicblock.cpp:95 +#: src/object/candle.cpp:75 src/object/torch.cpp:96 src/object/rublight.cpp:55 +#: src/object/lantern.cpp:62 src/object/ambient_light.cpp:122 +#: src/object/key.cpp:192 src/badguy/willowisp.cpp:319 +#: src/badguy/walking_candle.cpp:91 msgid "Color" msgstr "Barva" -#: src/object/spotlight.cpp:64 src/object/textscroller.cpp:279 -#: src/badguy/flame.cpp:59 +#: src/object/spotlight.cpp:105 src/object/textscroller.cpp:350 +#: src/object/rain_particle_system.cpp:102 src/object/conveyor_belt.cpp:61 +#: src/object/circleplatform.cpp:58 src/badguy/flame.cpp:110 +#: src/editor/node_marker.cpp:125 msgid "Speed" msgstr "Hitrost" -#: src/object/spotlight.cpp:65 +#: src/object/spotlight.cpp:107 +msgid "Clockwise" +msgstr "V smeri urinega kazalca" + +#: src/object/spotlight.cpp:107 msgid "Counter-clockwise" -msgstr "V levo" +msgstr "Proti smeri urinega kazalca" -#: src/object/spotlight.cpp:66 src/object/candle.cpp:78 -#: src/object/torch.cpp:92 +#: src/object/spotlight.cpp:107 +msgid "Stopped" +msgstr "Stoji" + +#: src/object/spotlight.cpp:110 src/object/lit_object.cpp:69 +#: src/object/candle.cpp:76 src/object/torch.cpp:95 msgid "Layer" msgstr "Plast" @@ -257,371 +385,599 @@ msgstr "Fizika omogočena" #: src/object/scripted_object.cpp:72 msgid "Visible" -msgstr "Viden" +msgstr "Vidno" -#: src/object/scripted_object.cpp:73 src/badguy/willowisp.cpp:282 +#: src/object/scripted_object.cpp:73 src/badguy/willowisp.cpp:313 msgid "Hit script" -msgstr "Skripta udarca" +msgstr "Skripta ob stiku" + +#: src/object/custom_particle_system_file.cpp:53 +#: src/object/textscroller.cpp:348 src/object/music_object.cpp:109 +#: src/supertux/menu/particle_editor_open.cpp:38 +msgid "File" +msgstr "Datoteka" + +#: src/object/bonus_block.cpp:154 +msgid "Only one custom object is allowed inside bonus blocks." +msgstr "V bonus kockah je dovoljen le en predmet po meri." + +#: src/object/bonus_block.cpp:172 +msgid "Blue" +msgstr "Modra" -#: src/object/bonus_block.cpp:204 +#: src/object/bonus_block.cpp:173 +msgid "Orange" +msgstr "Oranžna" + +#: src/object/bonus_block.cpp:174 +msgid "Purple" +msgstr "Vijolična" + +#: src/object/bonus_block.cpp:265 src/supertux/menu/cheat_apply_menu.cpp:54 msgid "Count" -msgstr "Štetje" +msgstr "Količina" -#: src/object/bonus_block.cpp:205 +#: src/object/bonus_block.cpp:266 msgid "Content" msgstr "Vsebina" -#: src/object/bonus_block.cpp:206 src/object/coin.hpp:43 +#: src/object/bonus_block.cpp:267 src/object/coin.hpp:44 msgid "Coin" msgstr "Kovanec" -#: src/object/bonus_block.cpp:206 +#: src/object/bonus_block.cpp:267 msgid "Growth (fire flower)" msgstr "Rast (ognjena roža)" -#: src/object/bonus_block.cpp:206 +#: src/object/bonus_block.cpp:267 msgid "Growth (ice flower)" msgstr "Rast (ledena roža)" -#: src/object/bonus_block.cpp:206 +#: src/object/bonus_block.cpp:267 msgid "Growth (air flower)" msgstr "Rast (vetrna roža)" -#: src/object/bonus_block.cpp:207 +#: src/object/bonus_block.cpp:268 msgid "Growth (earth flower)" msgstr "Rast (zemeljska roža)" -#: src/object/bonus_block.cpp:207 +#: src/object/bonus_block.cpp:268 +msgid "Growth (retro)" +msgstr "Rast (retro)" + +#: src/object/bonus_block.cpp:268 src/object/powerup.cpp:66 msgid "Star" msgstr "Zvezda" -#: src/object/bonus_block.cpp:207 +#: src/object/bonus_block.cpp:268 +msgid "Star (retro)" +msgstr "Zvezda (retro)" + +#: src/object/bonus_block.cpp:268 msgid "Tux doll" -msgstr "Lutka Tuxa" +msgstr "Lutka Tuksa" -#: src/object/bonus_block.cpp:207 +#: src/object/bonus_block.cpp:268 msgid "Custom" msgstr "Po meri" -#: src/object/bonus_block.cpp:207 +#: src/object/bonus_block.cpp:268 msgid "Light" msgstr "Svetloba" -#: src/object/bonus_block.cpp:208 src/object/trampoline.hpp:35 +#: src/object/bonus_block.cpp:268 +msgid "Light (On)" +msgstr "Svetloba (vključena)" + +#: src/object/bonus_block.cpp:269 src/object/trampoline.hpp:37 msgid "Trampoline" msgstr "Trampolin" -#: src/object/bonus_block.cpp:208 +#: src/object/bonus_block.cpp:269 +msgid "Portable trampoline" +msgstr "Prenosljiv trampolin" + +#: src/object/bonus_block.cpp:269 msgid "Coin rain" -msgstr "Dež kovancev" +msgstr "Vsuvanje kovancev" -#: src/object/bonus_block.cpp:208 +#: src/object/bonus_block.cpp:269 msgid "Coin explosion" msgstr "Eksplozija kovancev" -#: src/object/bonus_block.cpp:212 +#: src/object/bonus_block.cpp:269 src/object/rock.hpp:43 +msgid "Rock" +msgstr "Skala" + +#: src/object/bonus_block.cpp:269 +msgid "Potion" +msgstr "Napoj" + +#: src/object/bonus_block.cpp:275 msgid "Custom Content" msgstr "Vsebina po meri" -#: src/object/pneumatic_platform.hpp:62 +#: src/object/bonus_block.cpp:278 +msgid "Coin sprite" +msgstr "Izrezek kovanca" + +#: src/object/pneumatic_platform.hpp:65 msgid "Pneumatic Platform" msgstr "Pnevmatična ploščad" -#: src/object/coin.cpp:264 src/object/tilemap.cpp:236 +#: src/object/coin.cpp:326 src/object/tilemap.cpp:287 msgid "Following path" -msgstr "Sledenje stezi" +msgstr "Pot premika" -#: src/object/coin.cpp:267 src/object/camera.cpp:215 -#: src/object/platform.cpp:66 src/object/tilemap.cpp:240 +#: src/object/coin.cpp:329 src/object/camera.cpp:171 +#: src/object/platform.cpp:77 src/object/tilemap.cpp:290 msgid "Path Mode" msgstr "Način poti" -#: src/object/coin.cpp:270 src/object/coin.cpp:298 +#: src/object/coin.cpp:330 src/object/camera.cpp:172 +#: src/object/platform.cpp:78 src/object/tilemap.cpp:291 +#: src/badguy/willowisp.cpp:322 +msgid "Adapt Speed" +msgstr "Prilagodi hitrost" + +#: src/object/coin.cpp:331 src/object/platform.cpp:81 +#: src/object/tilemap.cpp:285 src/badguy/willowisp.cpp:318 +msgid "Starting Node" +msgstr "Začetno vozlišče" + +#: src/object/coin.cpp:332 src/object/camera.cpp:173 +#: src/object/platform.cpp:82 src/object/tilemap.cpp:293 +#: src/badguy/willowisp.cpp:323 +msgid "Handle" +msgstr "Ročica" + +#: src/object/coin.cpp:335 src/object/coin.cpp:371 msgid "Collect script" msgstr "Zbiralna skripta" -#: src/object/ghost_particle_system.hpp:36 +#: src/object/ghost_particle_system.hpp:37 msgid "Ghost Particles" -msgstr "Duhovni delci" +msgstr "Strahčevski delci" -#: src/object/camera.cpp:207 +#: src/object/camera.cpp:163 msgid "Mode" msgstr "Način" -#: src/object/camera.cpp:208 +#: src/object/camera.cpp:164 msgid "normal" -msgstr "običajen" +msgstr "običajno" -#: src/object/camera.cpp:208 +#: src/object/camera.cpp:164 msgid "manual" msgstr "ročno" -#: src/object/camera.cpp:208 +#: src/object/camera.cpp:164 msgid "autoscroll" -msgstr "samodejno pomikanje" +msgstr "samodejno drsenje" -#: src/object/textscroller.cpp:280 src/object/music_object.cpp:109 -msgid "File" -msgstr "Datoteka" +#: src/object/textscroller.cpp:349 +msgid "Finish Script" +msgstr "Zaključna skripta" + +#: src/object/textscroller.cpp:351 +msgid "X-offset" +msgstr "Odmik X" + +#: src/object/textscroller.cpp:352 +msgid "Controllable" +msgstr "Krmiljeno" + +#: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 +msgid "Center" +msgstr "Sredinsko" + +#: src/object/textscroller.cpp:357 +msgid "Text Alignment" +msgstr "Poravnava besedila" -#: src/object/spawnpoint.hpp:46 src/badguy/willowisp.cpp:281 -#: src/editor/worldmap_objects.cpp:173 +#: src/object/lit_object.hpp:40 +msgid "Lit object" +msgstr "Osvetljen predmet" + +#: src/object/spawnpoint.hpp:48 src/badguy/willowisp.cpp:312 +#: src/worldmap/teleporter.cpp:48 msgid "Spawnpoint" msgstr "Točka začetka" #: src/object/rusty_trampoline.cpp:65 msgid "Counter" -msgstr "Števec" +msgstr "Preostalih skokov" -#: src/object/candle.hpp:36 +#: src/object/candle.hpp:37 msgid "Candle" msgstr "Sveča" -#: src/object/particlesystem.cpp:61 src/badguy/darttrap.cpp:127 -msgid "Enabled" -msgstr "Omogočeno" +#: src/object/particlesystem.cpp:65 src/object/background.cpp:184 +#: src/object/thunderstorm.cpp:76 src/object/tilemap.cpp:277 +#: src/object/gradient.cpp:101 src/object/moving_sprite.cpp:193 +msgid "Z-pos" +msgstr "Globina" -#: src/object/invisible_block.hpp:31 +#: src/object/invisible_block.hpp:30 msgid "Invisible Block" msgstr "Nevidna kocka" -#: src/object/snow_particle_system.hpp:35 +#: src/object/snow_particle_system.hpp:37 msgid "Snow Particles" msgstr "Snežni delci" -#: src/object/powerup.hpp:35 +#: src/object/powerup.hpp:40 msgid "Powerup" msgstr "Izboljšava" -#: src/object/level_time.hpp:55 -msgid "Time Limit" -msgstr "Časovna omejitev" +#: src/object/infoblock.cpp:78 +msgid "Front Color" +msgstr "Čelna barva" -#: src/object/ambient_sound.cpp:119 src/supertux/menu/options_menu.cpp:365 -#: data//credits.stxt:335 -msgid "Sound" -msgstr "Zvok" +#: src/object/infoblock.cpp:80 +msgid "Back Color" +msgstr "Hrbtna barva" -#: src/object/ambient_sound.cpp:120 -msgid "Distance factor" -msgstr "Dejavnik razdalje" +#: src/object/infoblock.cpp:82 +msgid "Roundness" +msgstr "Okroglost" -#: src/object/ambient_sound.cpp:121 -msgid "Distance bias" -msgstr "Težnja razdalje" +#: src/object/infoblock.cpp:84 +msgid "Fade Transition" +msgstr "Bledenje" -#: src/object/ambient_sound.cpp:122 -msgid "Volume" -msgstr "Glasnost" +#: src/object/fallblock.hpp:41 +msgid "Falling Platform" +msgstr "Padajoča ploščad" + +#: src/object/level_time.hpp:56 +msgid "Time Limit" +msgstr "Časovna omejitev" + +#: src/object/ambient_sound.cpp:86 +msgid "Radius (in tiles)" +msgstr "Polmer (v podlagah)" #: src/object/torch.hpp:41 msgid "Torch" msgstr "Bakla" -#: src/object/icecrusher.hpp:48 -msgid "Icecrusher" -msgstr "Ledolomilec" +#: src/object/rublight.hpp:34 +msgid "Rublight" +msgstr "Svetlenka" -#: src/object/background.hpp:42 +#: src/object/background.hpp:45 msgid "Background" msgstr "Ozadje" -#: src/object/firefly.hpp:36 +#: src/object/text_object.hpp:44 src/gui/menu_string_array.cpp:77 +msgid "Text" +msgstr "Besedilo" + +#: src/object/firefly.hpp:38 msgid "Checkpoint" -msgstr "Nadzorna točka" +msgstr "Varna točka" -#: src/object/ambient_light.hpp:36 +#: src/object/ambient_light.hpp:37 msgid "Ambient Light" -msgstr "Ambientalna svetloba" +msgstr "Okoljska svetloba" -#: src/object/lantern.hpp:37 +#: src/object/lantern.hpp:38 msgid "Lantern" msgstr "Svetilka" -#: src/object/wind.hpp:40 +#: src/object/wind.hpp:43 msgid "Wind" msgstr "Veter" -#: src/object/bicycle_platform.cpp:190 +#: src/object/bicycle_platform.cpp:203 src/object/background.cpp:180 +#: src/object/pneumatic_platform.cpp:162 +#: src/supertux/menu/joystick_menu.cpp:172 src/supertux/moving_object.cpp:65 +#: src/worldmap/worldmap_object.cpp:77 +msgid "X" +msgstr "X" + +#: src/object/bicycle_platform.cpp:204 src/object/background.cpp:181 +#: src/object/pneumatic_platform.cpp:163 +#: src/supertux/menu/joystick_menu.cpp:174 src/supertux/moving_object.cpp:66 +#: src/worldmap/worldmap_object.cpp:78 +msgid "Y" +msgstr "Y" + +#: src/object/bicycle_platform.cpp:206 msgid "Platforms" msgstr "Ploščadi" -#: src/object/bicycle_platform.cpp:191 src/badguy/flame.cpp:58 -#: src/badguy/crystallo.cpp:36 +#: src/object/bicycle_platform.cpp:207 src/object/circleplatform.cpp:57 +#: src/badguy/fish_swimming.cpp:76 src/badguy/flame.cpp:109 +#: src/badguy/rcrystallo.cpp:83 src/badguy/crystallo.cpp:50 msgid "Radius" -msgstr "Radij" +msgstr "Doseg" -#: src/object/bicycle_platform.cpp:192 +#: src/object/bicycle_platform.cpp:208 msgid "Momentum change rate" -msgstr "Razmerje spremembe zagona" +msgstr "Hitrost spremembe gibanja" -#: src/object/rain_particle_system.hpp:34 +#: src/object/rain_particle_system.hpp:41 msgid "Rain Particles" msgstr "Dežne kaplje" -#: src/object/platform.hpp:45 +#: src/object/platform.hpp:46 msgid "Platform" msgstr "Ploščad" -#: src/object/rock.hpp:42 -msgid "Rock" -msgstr "Skala" - -#: src/object/music_object.hpp:41 src/supertux/menu/options_menu.cpp:367 -#: data//credits.stxt:277 +#: src/object/music_object.hpp:42 src/supertux/menu/options_menu.cpp:130 +#: data//credits.stxt:309 msgid "Music" msgstr "Glasba" -#: src/object/rusty_trampoline.hpp:39 +#: src/object/lit_object.cpp:68 +msgid "Light sprite" +msgstr "Izrezek luči" + +#: src/object/lit_object.cpp:71 +msgid "Sprite starting action" +msgstr "Začetno dejanje izrezka" + +#: src/object/lit_object.cpp:72 +msgid "Light sprite starting action" +msgstr "Začetno dejanje izrezka luči" + +#: src/object/lit_object.cpp:74 +msgid "Light sprite offset X" +msgstr "Zamik izrezka luči po X" + +#: src/object/lit_object.cpp:75 +msgid "Light sprite offset Y" +msgstr "Zamik izrezka luči po Y" + +#: src/object/rusty_trampoline.hpp:40 msgid "Rusty Trampoline" -msgstr "Rjasti trampulin" +msgstr "Zarjaveli trampolin" -#: src/object/particlesystem.hpp:57 +#: src/object/particlesystem.hpp:58 msgid "Particle system" msgstr "Sistem delcev" -#: src/object/candle.cpp:75 src/object/torch.cpp:90 +#: src/object/candle.cpp:73 src/object/torch.cpp:94 msgid "Burning" -msgstr "Gorenje" +msgstr "Gori" -#: src/object/candle.cpp:76 +#: src/object/candle.cpp:74 msgid "Flicker" -msgstr "Migetanje" +msgstr "Migeta" + +#: src/object/snow_particle_system.cpp:104 +msgid "Epsilon" +msgstr "Epsilon" + +#: src/object/snow_particle_system.cpp:105 +msgid "Spin Speed" +msgstr "Hitrost vrtenja" + +#: src/object/snow_particle_system.cpp:106 +msgid "State Length" +msgstr "Trajanje stanja" -#: src/object/text_array_object.hpp:50 +#: src/object/snow_particle_system.cpp:107 +msgid "Wind Speed" +msgstr "Hitrost vetra" + +#: src/object/text_array_object.hpp:47 msgid "Text array" -msgstr "Razpored besedila" +msgstr "Besedilno polje" -#: src/object/infoblock.hpp:36 +#: src/object/infoblock.hpp:37 msgid "Info Block" -msgstr "Kocka za informacije" +msgstr "Poučna kocka" + +#: src/object/powerup.cpp:61 +msgid "Egg" +msgstr "Jajce" + +#: src/object/powerup.cpp:62 +msgid "Fire Flower" +msgstr "Ognjena roža" + +#: src/object/powerup.cpp:63 +msgid "Ice Flower" +msgstr "Ledena roža" + +#: src/object/powerup.cpp:64 +msgid "Air Flower" +msgstr "Vetrna roža" + +#: src/object/powerup.cpp:65 +msgid "Earth Flower" +msgstr "Zemeljska roža" + +#: src/object/powerup.cpp:67 +msgid "Tux Doll" +msgstr "Lutka Tuksa" + +#: src/object/powerup.cpp:68 +msgid "Flip Potion" +msgstr "Obrnitveni napoj" -#: src/object/powerup.cpp:191 +#: src/object/powerup.cpp:69 +msgid "Mints" +msgstr "Bonbončki" + +#: src/object/powerup.cpp:70 +msgid "Coffee" +msgstr "Kofe" + +#: src/object/powerup.cpp:71 +msgid "Herring" +msgstr "Sled" + +#: src/object/powerup.cpp:302 msgid "Disable gravity" msgstr "Onemogoči težnost" -#: src/object/ambient_sound.hpp:62 +#: src/object/powerup.cpp:312 src/object/weak_block.cpp:266 +msgid "" +"Sprites no longer define the behaviour of the object.\n" +"Object types are used instead." +msgstr "Animirani izrezki ne določajo več obnašanja predmeta.\nNamesto tega uporabljamo tipe predmetov." + +#: src/object/ambient_sound.hpp:43 msgid "Ambient Sound" -msgstr "Ambientalni zvok" +msgstr "Okoljski zvok" -#: src/object/level_time.cpp:51 src/supertux/statistics.cpp:288 -#: src/editor/node_marker.cpp:80 +#: src/object/level_time.cpp:52 src/supertux/statistics.cpp:297 +#: src/editor/node_marker.cpp:124 msgid "Time" msgstr "Čas" -#: src/object/hurting_platform.hpp:30 +#: src/object/hurting_platform.hpp:31 msgid "Hurting Platform" -msgstr "Ploščad za škodovanje" +msgstr "Škodljiva ploščad" -#: src/object/background.cpp:163 +#: src/object/background.cpp:183 msgid "Fill" msgstr "Zapolni" -#: src/object/background.cpp:165 +#: src/object/background.cpp:185 msgid "Alignment" msgstr "Poravnava" -#: src/object/background.cpp:166 +#: src/object/background.cpp:186 src/supertux/direction.cpp:61 msgid "none" -msgstr "nič" +msgstr "brez" -#: src/object/background.cpp:166 src/editor/object_settings.cpp:112 +#: src/object/background.cpp:186 src/supertux/direction.cpp:63 msgid "left" msgstr "levo" -#: src/object/background.cpp:166 src/editor/object_settings.cpp:112 +#: src/object/background.cpp:186 src/supertux/direction.cpp:65 msgid "right" msgstr "desno" -#: src/object/background.cpp:166 +#: src/object/background.cpp:186 msgid "top" msgstr "zgoraj" -#: src/object/background.cpp:166 +#: src/object/background.cpp:186 msgid "bottom" msgstr "spodaj" -#: src/object/background.cpp:169 +#: src/object/background.cpp:189 msgid "Scroll offset x" msgstr "Premakni po x" -#: src/object/background.cpp:170 +#: src/object/background.cpp:190 msgid "Scroll offset y" msgstr "Premakni po y" -#: src/object/background.cpp:171 +#: src/object/background.cpp:191 msgid "Scroll speed x" -msgstr "Hitrost premika v x" +msgstr "Hitrost premika po x" -#: src/object/background.cpp:172 +#: src/object/background.cpp:192 msgid "Scroll speed y" -msgstr "Hitrost premika v y" +msgstr "Hitrost premika po y" -#: src/object/background.cpp:173 +#: src/object/background.cpp:193 msgid "Parallax Speed x" -msgstr "Paralaksa x" +msgstr "Paralaksa po x" -#: src/object/background.cpp:174 +#: src/object/background.cpp:194 msgid "Parallax Speed y" -msgstr "Paralaksa y" +msgstr "Paralaksa po y" -#: src/object/background.cpp:175 +#: src/object/background.cpp:195 msgid "Top image" msgstr "Zgornja slika" -#: src/object/background.cpp:176 +#: src/object/background.cpp:196 msgid "Image" msgstr "Slika" -#: src/object/background.cpp:177 +#: src/object/background.cpp:197 msgid "Bottom image" msgstr "Spodnja slika" -#: src/object/background.cpp:178 src/object/tilemap.cpp:228 -#: src/object/gradient.cpp:129 -msgid "Draw target" -msgstr "Nariši tarčo" +#: src/object/background.cpp:198 +msgid "Colour" +msgstr "Barva" -#: src/object/background.cpp:179 src/object/tilemap.cpp:229 -#: src/object/gradient.cpp:130 -msgid "Normal" -msgstr "Običajno" +#: src/object/background.cpp:199 src/object/tilemap.cpp:278 +#: src/object/gradient.cpp:108 +msgid "Draw target" +msgstr "Tarča izrisa" -#: src/object/background.cpp:179 src/object/tilemap.cpp:229 -#: src/object/gradient.cpp:130 +#: src/object/background.cpp:200 src/object/tilemap.cpp:279 +#: src/object/gradient.cpp:109 msgid "Lightmap" msgstr "Svetilna tekstura" -#: src/object/wind.cpp:63 +#: src/object/shard.hpp:35 +msgid "Shard" +msgstr "Drobec" + +#: src/object/rublight.cpp:56 +msgid "Fading Speed" +msgstr "Hitrost zatemnitve" + +#: src/object/rublight.cpp:57 +msgid "Glowing Strength" +msgstr "Jakost žarenja" + +#: src/object/wind.cpp:78 src/object/custom_particle_system.cpp:499 msgid "Speed X" msgstr "Hitrost X" -#: src/object/wind.cpp:64 +#: src/object/wind.cpp:79 src/object/custom_particle_system.cpp:500 msgid "Speed Y" msgstr "Hitrost Y" -#: src/object/wind.cpp:65 +#: src/object/wind.cpp:80 msgid "Acceleration" msgstr "Pospešek" -#: src/object/wind.cpp:66 +#: src/object/wind.cpp:81 msgid "Blowing" -msgstr "Pihanje" +msgstr "Dejansko piha" + +#: src/object/wind.cpp:82 +msgid "Affects Badguys" +msgstr "Vpliva na pridaniče" + +#: src/object/wind.cpp:83 +msgid "Affects Objects" +msgstr "Vpliva na predmete" + +#: src/object/wind.cpp:84 +msgid "Affects Player" +msgstr "Vpliva na igralca" -#: src/object/bicycle_platform.hpp:64 +#: src/object/wind.cpp:85 +msgid "Fancy Particles" +msgstr "Okrasni delci" + +#: src/object/bicycle_platform.hpp:67 msgid "Bicycle Platform" -msgstr "Ploščad za kolo" +msgstr "Kolesna ploščad" -#: src/object/platform.cpp:67 src/object/thunderstorm.cpp:69 -#: src/object/tilemap.cpp:241 +#: src/object/platform.cpp:80 src/object/thunderstorm.cpp:77 +#: src/object/tilemap.cpp:292 src/object/conveyor_belt.cpp:62 msgid "Running" -msgstr "Tek" +msgstr "V teku" + +#: src/object/rock.cpp:71 +msgid "Small" +msgstr "Majhna" -#: src/object/rock.cpp:182 +#: src/object/rock.cpp:72 +msgid "Large" +msgstr "Velika" + +#: src/object/rock.cpp:234 msgid "On-grab script" msgstr "Skripta ob prijemu" -#: src/object/rock.cpp:183 +#: src/object/rock.cpp:235 msgid "On-ungrab script" msgstr "Skripta ob odlaganju" @@ -629,1271 +985,2647 @@ msgstr "Skripta ob odlaganju" msgid "Interactive particle system" msgstr "Interaktivni sistem delcev" -#: src/object/thunderstorm.cpp:70 +#: src/object/thunderstorm.cpp:78 msgid "Interval" msgstr "Interval" -#: src/object/thunderstorm.cpp:71 +#: src/object/thunderstorm.cpp:79 msgid "Strike Script" -msgstr "Skripta za udarec" +msgstr "Skripta ob udarcu" -#: src/object/cloud_particle_system.hpp:36 +#: src/object/cloud_particle_system.hpp:42 msgid "Cloud Particles" msgstr "Oblačni delci" -#: src/object/ispy.hpp:33 +#: src/object/custom_particle_system.cpp:423 +msgid "Texture" +msgstr "Tekstura" + +#: src/object/custom_particle_system.cpp:425 +msgid "Amount" +msgstr "Količina" + +#: src/object/custom_particle_system.cpp:426 src/object/circleplatform.cpp:59 +#: src/editor/particle_editor.cpp:141 +msgid "Delay" +msgstr "Zamik" + +#: src/object/custom_particle_system.cpp:427 +msgid "Lifetime" +msgstr "Čas obstoja" + +#: src/object/custom_particle_system.cpp:428 +msgid "Lifetime variation" +msgstr "Razlike v času obstoja" + +#: src/object/custom_particle_system.cpp:429 +#: src/editor/particle_editor.cpp:164 +msgid "Birth mode" +msgstr "Način nastajanja" + +#: src/object/custom_particle_system.cpp:430 +#: src/object/custom_particle_system.cpp:465 src/object/gradient.cpp:115 +#: src/gui/menu_string_array.cpp:40 src/gui/menu_string_array.cpp:78 +#: src/supertux/menu/keyboard_menu.cpp:80 +#: src/supertux/menu/joystick_menu.cpp:108 +#: src/supertux/menu/joystick_menu.cpp:215 src/editor/object_settings.cpp:129 +#: src/editor/particle_editor.cpp:162 src/editor/particle_editor.cpp:168 +msgid "None" +msgstr "Brez" + +#: src/object/custom_particle_system.cpp:430 +#: src/object/custom_particle_system.cpp:465 +#: src/editor/particle_editor.cpp:166 +msgid "Shrink" +msgstr "Krčenje" + +#: src/object/custom_particle_system.cpp:434 +#: src/editor/particle_editor.cpp:172 +msgid "Birth easing" +msgstr "Umerjeno nastajanje" + +#: src/object/custom_particle_system.cpp:436 +#: src/object/custom_particle_system.cpp:471 src/editor/node_marker.cpp:129 +msgid "No easing" +msgstr "Brez umerjanja" + +#: src/object/custom_particle_system.cpp:437 +#: src/object/custom_particle_system.cpp:472 src/editor/node_marker.cpp:130 +msgid "Quad in" +msgstr "Kvadratni prihod" + +#: src/object/custom_particle_system.cpp:437 +#: src/object/custom_particle_system.cpp:472 src/editor/node_marker.cpp:130 +msgid "Quad out" +msgstr "Kvadratni iztek" + +#: src/object/custom_particle_system.cpp:437 +#: src/object/custom_particle_system.cpp:472 src/editor/node_marker.cpp:130 +msgid "Quad in/out" +msgstr "Kvadratni prihod/iztek" + +#: src/object/custom_particle_system.cpp:438 +#: src/object/custom_particle_system.cpp:473 src/editor/node_marker.cpp:131 +msgid "Cubic in" +msgstr "Kubični prihod" + +#: src/object/custom_particle_system.cpp:438 +#: src/object/custom_particle_system.cpp:473 src/editor/node_marker.cpp:131 +msgid "Cubic out" +msgstr "Kubični iztek" + +#: src/object/custom_particle_system.cpp:438 +#: src/object/custom_particle_system.cpp:473 src/editor/node_marker.cpp:131 +msgid "Cubic in/out" +msgstr "Kubični prihod/iztek" + +#: src/object/custom_particle_system.cpp:439 +#: src/object/custom_particle_system.cpp:474 src/editor/node_marker.cpp:132 +msgid "Quart in" +msgstr "Kvartični prihod" + +#: src/object/custom_particle_system.cpp:439 +#: src/object/custom_particle_system.cpp:474 src/editor/node_marker.cpp:132 +msgid "Quart out" +msgstr "Kvartični iztek" + +#: src/object/custom_particle_system.cpp:439 +#: src/object/custom_particle_system.cpp:474 src/editor/node_marker.cpp:132 +msgid "Quart in/out" +msgstr "Kvartični prihod/iztek" + +#: src/object/custom_particle_system.cpp:440 +#: src/object/custom_particle_system.cpp:475 src/editor/node_marker.cpp:133 +msgid "Quint in" +msgstr "Kvintični prihod" + +#: src/object/custom_particle_system.cpp:440 +#: src/object/custom_particle_system.cpp:475 src/editor/node_marker.cpp:133 +msgid "Quint out" +msgstr "Kvintični iztek" + +#: src/object/custom_particle_system.cpp:440 +#: src/object/custom_particle_system.cpp:475 src/editor/node_marker.cpp:133 +msgid "Quint in/out" +msgstr "Kvintični prihod/iztek" + +#: src/object/custom_particle_system.cpp:441 +#: src/object/custom_particle_system.cpp:476 src/editor/node_marker.cpp:134 +msgid "Sine in" +msgstr "Sinusni prihod" + +#: src/object/custom_particle_system.cpp:441 +#: src/object/custom_particle_system.cpp:476 src/editor/node_marker.cpp:134 +msgid "Sine out" +msgstr "Sinusni iztek" + +#: src/object/custom_particle_system.cpp:441 +#: src/object/custom_particle_system.cpp:476 src/editor/node_marker.cpp:134 +msgid "Sine in/out" +msgstr "Sinusni prihod/iztek" + +#: src/object/custom_particle_system.cpp:442 +#: src/object/custom_particle_system.cpp:477 src/editor/node_marker.cpp:135 +msgid "Circular in" +msgstr "Krožni prihod" + +#: src/object/custom_particle_system.cpp:442 +#: src/object/custom_particle_system.cpp:477 src/editor/node_marker.cpp:135 +msgid "Circular out" +msgstr "Krožni iztek" + +#: src/object/custom_particle_system.cpp:442 +#: src/object/custom_particle_system.cpp:477 src/editor/node_marker.cpp:135 +msgid "Circular in/out" +msgstr "Krožni prihod/iztek" + +#: src/object/custom_particle_system.cpp:443 +#: src/object/custom_particle_system.cpp:478 src/editor/node_marker.cpp:136 +msgid "Exponential in" +msgstr "Eksponenten prihod" + +#: src/object/custom_particle_system.cpp:443 +#: src/object/custom_particle_system.cpp:478 src/editor/node_marker.cpp:136 +msgid "Exponential out" +msgstr "Eksponenten iztek" + +#: src/object/custom_particle_system.cpp:443 +#: src/object/custom_particle_system.cpp:478 src/editor/node_marker.cpp:136 +msgid "Exponential in/out" +msgstr "Eksponenten prihod/iztek" + +#: src/object/custom_particle_system.cpp:444 +#: src/object/custom_particle_system.cpp:479 src/editor/node_marker.cpp:137 +msgid "Elastic in" +msgstr "Elastičen prihod" + +#: src/object/custom_particle_system.cpp:444 +#: src/object/custom_particle_system.cpp:479 src/editor/node_marker.cpp:137 +msgid "Elastic out" +msgstr "Elastičen iztek" + +#: src/object/custom_particle_system.cpp:444 +#: src/object/custom_particle_system.cpp:479 src/editor/node_marker.cpp:137 +msgid "Elastic in/out" +msgstr "Elastičen prihod/iztek" + +#: src/object/custom_particle_system.cpp:445 +#: src/object/custom_particle_system.cpp:480 src/editor/node_marker.cpp:138 +msgid "Back in" +msgstr "Zadnji prihod" + +#: src/object/custom_particle_system.cpp:445 +#: src/object/custom_particle_system.cpp:480 src/editor/node_marker.cpp:138 +msgid "Back out" +msgstr "Zadnji iztek" + +#: src/object/custom_particle_system.cpp:445 +#: src/object/custom_particle_system.cpp:480 src/editor/node_marker.cpp:138 +msgid "Back in/out" +msgstr "Zadnji prihod/iztek" + +#: src/object/custom_particle_system.cpp:446 +#: src/object/custom_particle_system.cpp:481 src/editor/node_marker.cpp:139 +msgid "Bounce in" +msgstr "Odbojni prihod" + +#: src/object/custom_particle_system.cpp:446 +#: src/object/custom_particle_system.cpp:481 src/editor/node_marker.cpp:139 +msgid "Bounce out" +msgstr "Odbojni iztek" + +#: src/object/custom_particle_system.cpp:446 +#: src/object/custom_particle_system.cpp:481 src/editor/node_marker.cpp:139 +msgid "Bounce in/out" +msgstr "Odbojni prihod/iztek" + +#: src/object/custom_particle_system.cpp:462 +msgid "Birth time" +msgstr "Čas nastajanja" + +#: src/object/custom_particle_system.cpp:463 +msgid "Birth time variation" +msgstr "Razlike v času nastajanja" + +#: src/object/custom_particle_system.cpp:464 +#: src/editor/particle_editor.cpp:170 +msgid "Death mode" +msgstr "Način odmiranja" + +#: src/object/custom_particle_system.cpp:469 +#: src/editor/particle_editor.cpp:173 +msgid "Death easing" +msgstr "Umerjeno odmiranje" + +#: src/object/custom_particle_system.cpp:497 +msgid "Death time" +msgstr "Čas smrti" + +#: src/object/custom_particle_system.cpp:498 +msgid "Death time variation" +msgstr "Razlike v času odmiranja" + +#: src/object/custom_particle_system.cpp:501 +msgid "Speed X (variation)" +msgstr "Hitrost X (razlike)" + +#: src/object/custom_particle_system.cpp:502 +msgid "Speed Y (variation)" +msgstr "Hitrost Y (razlike)" + +#: src/object/custom_particle_system.cpp:503 +msgid "Acceleration X" +msgstr "Pospešek X" + +#: src/object/custom_particle_system.cpp:504 +msgid "Acceleration Y" +msgstr "Pospešek Y" + +#: src/object/custom_particle_system.cpp:505 +msgid "Friction X" +msgstr "Trenje X" + +#: src/object/custom_particle_system.cpp:506 +msgid "Friction Y" +msgstr "Trenje Y" + +#: src/object/custom_particle_system.cpp:507 +#: src/editor/particle_editor.cpp:189 +msgid "Feather factor" +msgstr "Vpliv peresa" + +#: src/object/custom_particle_system.cpp:508 +msgid "Rotation" +msgstr "Zasuk" + +#: src/object/custom_particle_system.cpp:509 +msgid "Rotation (variation)" +msgstr "Zasuk (razlike)" + +#: src/object/custom_particle_system.cpp:510 +#: src/editor/particle_editor.cpp:195 +msgid "Rotation speed" +msgstr "Hitrost zasuka" + +#: src/object/custom_particle_system.cpp:511 +msgid "Rotation speed (variation)" +msgstr "Hitrost zasuka (razlike)" + +#: src/object/custom_particle_system.cpp:512 +#: src/editor/particle_editor.cpp:200 +msgid "Rotation acceleration" +msgstr "Pospešek zasuka" + +#: src/object/custom_particle_system.cpp:513 +msgid "Rotation friction" +msgstr "Trenje zasuka" + +#: src/object/custom_particle_system.cpp:514 +#: src/editor/particle_editor.cpp:208 +msgid "Rotation mode" +msgstr "Način zasuka" + +#: src/object/custom_particle_system.cpp:515 +#: src/editor/particle_editor.cpp:206 +msgid "Fixed" +msgstr "Brez zasuka" + +#: src/object/custom_particle_system.cpp:515 +#: src/editor/particle_editor.cpp:205 +msgid "Facing" +msgstr "V smeri gibanja" + +#: src/object/custom_particle_system.cpp:515 +#: src/editor/particle_editor.cpp:204 +msgid "Wiggling" +msgstr "Naključno" + +#: src/object/custom_particle_system.cpp:519 +#: src/editor/particle_editor.cpp:219 +msgid "Collision mode" +msgstr "Način kolizije" + +#: src/object/custom_particle_system.cpp:520 +msgid "None (pass through)" +msgstr "Je ni (prehajanje skozi)" + +#: src/object/custom_particle_system.cpp:520 +msgid "Stick" +msgstr "Ustavi" + +#: src/object/custom_particle_system.cpp:520 +msgid "Stick Forever" +msgstr "Trajno ustavi" + +#: src/object/custom_particle_system.cpp:520 +#: src/editor/particle_editor.cpp:214 +msgid "Bounce (heavy)" +msgstr "Odbij (težji delec)" + +#: src/object/custom_particle_system.cpp:520 +#: src/editor/particle_editor.cpp:213 +msgid "Bounce (light)" +msgstr "Odbij (lahek delec)" + +#: src/object/custom_particle_system.cpp:520 +msgid "Kill particle" +msgstr "Uniči delec" + +#: src/object/custom_particle_system.cpp:520 +msgid "Fade out particle" +msgstr "Razblini delec" + +#: src/object/custom_particle_system.cpp:524 +msgid "Delete if off-screen" +msgstr "Izbriši, če ni na zaslonu" + +#: src/object/custom_particle_system.cpp:525 +#: src/editor/particle_editor.cpp:224 +msgid "Never" +msgstr "Nikoli" + +#: src/object/custom_particle_system.cpp:525 +#: src/editor/particle_editor.cpp:223 +msgid "Only on exit" +msgstr "Le ob izhodu" + +#: src/object/custom_particle_system.cpp:525 +msgid "Always" +msgstr "Vedno" + +#: src/object/custom_particle_system.cpp:529 +msgid "Cover screen" +msgstr "Prekrij zaslon" + +#: src/object/ispy.hpp:35 msgid "Ispy" msgstr "Nadležno oko" -#: src/object/skull_tile.hpp:31 -msgid "Skull Tile" -msgstr "Podlaga lobanje" +#: src/object/particle_zone.cpp:51 +msgid "Particle Name" +msgstr "Ime delca" + +#: src/object/particle_zone.cpp:62 +msgid "Spawn" +msgstr "Kraj nastajanja" + +#: src/object/particle_zone.cpp:63 +msgid "Life zone" +msgstr "Območje obstoja" -#: src/object/weak_block.cpp:211 -msgid "Linked" -msgstr "Povezano" +#: src/object/particle_zone.cpp:64 +msgid "Life zone (clear)" +msgstr "Območje obstoja (izbris)" -#: src/object/decal.hpp:34 +#: src/object/particle_zone.cpp:65 +msgid "Kill particles" +msgstr "Uniči delce" + +#: src/object/particle_zone.cpp:66 +msgid "Clear particles" +msgstr "Izbriši delce" + +#: src/object/weak_block.cpp:98 +msgid "Hay" +msgstr "Seno" + +#: src/object/decal.hpp:41 msgid "Decal" -msgstr "Dekorativna slika" +msgstr "Okrasna slika" -#: src/object/tilemap.cpp:217 +#: src/object/tilemap.cpp:267 msgid "Resize offset x" msgstr "Spremeni odmik x" -#: src/object/tilemap.cpp:218 +#: src/object/tilemap.cpp:268 msgid "Resize offset y" msgstr "Spremeni odmik y" -#: src/object/tilemap.cpp:223 +#: src/object/tilemap.cpp:270 src/supertux/menu/editor_sector_menu.cpp:41 +#: src/editor/object_option.cpp:178 +msgid "Width" +msgstr "Širina" + +#: src/object/tilemap.cpp:271 src/supertux/menu/editor_sector_menu.cpp:42 +#: src/editor/object_option.cpp:179 +msgid "Height" +msgstr "Višina" + +#: src/object/tilemap.cpp:273 msgid "Alpha" msgstr "Alfa" -#: src/object/tilemap.cpp:224 +#: src/object/tilemap.cpp:274 msgid "Speed x" msgstr "Hitrost x" -#: src/object/tilemap.cpp:225 +#: src/object/tilemap.cpp:275 msgid "Speed y" msgstr "Hitrost y" -#: src/object/tilemap.cpp:226 +#: src/object/tilemap.cpp:276 msgid "Tint" msgstr "Odtenek" -#: src/object/tilemap.cpp:244 src/supertux/menu/editor_tilegroup_menu.cpp:26 -#: src/editor/toolbox_widget.cpp:90 +#: src/object/tilemap.cpp:296 src/supertux/menu/editor_tilegroup_menu.cpp:26 +#: src/editor/toolbox_widget.cpp:98 msgid "Tiles" msgstr "Podlage" -#: src/object/gradient.cpp:115 -msgid "Left Colour" -msgstr "Leva barva" - -#: src/object/gradient.cpp:116 -msgid "Right Colour" -msgstr "Desna barva" - -#: src/object/gradient.cpp:118 -msgid "Top Colour" -msgstr "Zgornja barva" +#: src/object/gradient.cpp:98 +msgid "Primary Colour" +msgstr "Osnovna barva" -#: src/object/gradient.cpp:119 -msgid "Bottom Colour" -msgstr "Spodnja barva" +#: src/object/gradient.cpp:99 +msgid "Secondary Colour" +msgstr "Sekundarna barva" -#: src/object/gradient.cpp:125 +#: src/object/gradient.cpp:104 msgid "Vertical" -msgstr "Navpično" +msgstr "Navpičen" -#: src/object/gradient.cpp:125 +#: src/object/gradient.cpp:104 msgid "Horizontal" -msgstr "Vodoravno" +msgstr "Vodoraven" -#: src/object/gradient.cpp:125 +#: src/object/gradient.cpp:104 msgid "Vertical (whole sector)" -msgstr "Navpično (celotna cona)" +msgstr "Navpičen (ves predel)" -#: src/object/gradient.cpp:125 +#: src/object/gradient.cpp:104 msgid "Horizontal (whole sector)" -msgstr "Vodoravno (celotna cona)" +msgstr "Vodoraven (ves predel)" -#: src/object/gradient.cpp:135 +#: src/object/gradient.cpp:114 msgid "Blend mode" msgstr "Način mešanja" -#: src/object/gradient.cpp:136 +#: src/object/gradient.cpp:115 msgid "Blend" msgstr "Mešanje" -#: src/object/gradient.cpp:136 +#: src/object/gradient.cpp:115 msgid "Additive" msgstr "Aditivno" -#: src/object/gradient.cpp:136 +#: src/object/gradient.cpp:115 msgid "Modulate" msgstr "Blaženo" -#: src/object/gradient.cpp:136 src/supertux/menu/keyboard_menu.cpp:60 -#: src/supertux/menu/joystick_menu.cpp:106 -#: src/supertux/menu/joystick_menu.cpp:213 src/editor/object_settings.cpp:124 -msgid "None" -msgstr "Nič" +#: src/object/bumper.hpp:38 +msgid "Bumper" +msgstr "Odbijač" -#: src/object/unstable_tile.hpp:34 +#: src/object/conveyor_belt.cpp:63 +msgid "Length" +msgstr "Dolžina" + +#: src/object/moving_sprite.cpp:192 src/object/pneumatic_platform.cpp:161 +msgid "Sprite" +msgstr "Animiran izrezek" + +#: src/object/unstable_tile.hpp:42 msgid "Unstable Tile" -msgstr "Neuravnovešena podloga" +msgstr "Majava podlaga" -#: src/object/brick.hpp:31 -msgid "Brick" -msgstr "Opeka" +#: src/object/brick.hpp:70 +msgid "Heavy Brick" +msgstr "Težka opeka" -#: src/object/invisible_wall.hpp:34 +#: src/object/invisible_wall.hpp:37 msgid "Invisible Wall" msgstr "Nevidni zid" -#: src/object/spotlight.hpp:38 +#: src/object/spotlight.hpp:52 msgid "Spotlight" -msgstr "Žarišče" +msgstr "Žaromet" -#: src/object/scripted_object.hpp:39 +#: src/object/scripted_object.hpp:40 msgid "Scripted Object" msgstr "Predmet s skripto" -#: src/object/coin.hpp:75 +#: src/object/custom_particle_system_file.hpp:40 +msgid "Custom Particles from file" +msgstr "Delci iz datoteke" + +#: src/object/coin.hpp:97 msgid "Heavy Coin" msgstr "Težek kovanec" -#: src/object/bonus_block.hpp:55 +#: src/object/explosion.hpp:35 +msgid "Explosion" +msgstr "Eksplozija" + +#: src/object/bonus_block.hpp:62 msgid "Bonus Block" msgstr "Bonus kocka" -#: src/object/magicblock.hpp:41 +#: src/object/magicblock.hpp:42 msgid "Magic Tile" msgstr "Čarobna podlaga" -#: src/object/camera.hpp:67 +#: src/object/camera.hpp:61 msgid "Camera" msgstr "Kamera" -#: src/object/textscroller.hpp:44 -msgid "TextScroller" -msgstr "Premik po besedilu" +#: src/object/textscroller.hpp:45 +msgid "Text Scroller" +msgstr "Besedilni drsnik" + +#: src/gui/notification.cpp:57 +msgid "Click for more details." +msgstr "Klikni za podrobnosti." + +#: src/gui/notification.cpp:150 +msgid "Do not show again" +msgstr "Ne pokaži več" + +#: src/gui/notification.cpp:157 src/supertux/menu/download_dialog.cpp:124 +msgid "Close" +msgstr "Zapri" -#: src/gui/menu_badguy_select.cpp:93 -msgid "List of enemies" -msgstr "Seznam sovragov" +#: src/gui/menu_string_array.cpp:40 src/gui/menu_string_array.cpp:78 +#, c++-format +msgid "Selected item: {}" +msgstr "Izbrano: {}" -#: src/gui/menu_badguy_select.cpp:95 -msgid "Enemy" -msgstr "Sovrag" +#: src/gui/menu_string_array.cpp:70 +msgid "Edit string array" +msgstr "Uredi polje nizov" -#: src/gui/menu_badguy_select.cpp:96 +#: src/gui/menu_string_array.cpp:79 src/gui/menu_object_select.cpp:50 +#: src/supertux/menu/profile_menu.cpp:88 msgid "Add" msgstr "Dodaj" -#: src/gui/menu_badguy_select.cpp:106 src/gui/menu_color.cpp:34 -#: src/gui/dialog.hpp:80 src/gui/menu_script.cpp:47 -#: src/supertux/menu/editor_sector_menu.cpp:46 -#: src/supertux/menu/editor_levelset_menu.cpp:62 -#: src/supertux/menu/addon_menu.cpp:349 +#: src/gui/menu_string_array.cpp:80 +msgid "Insert" +msgstr "Vstavi" + +#: src/gui/menu_string_array.cpp:81 +#: src/supertux/menu/addon_preview_menu.cpp:177 src/editor/object_menu.cpp:61 +msgid "Update" +msgstr "Posodobi" + +#: src/gui/menu_string_array.cpp:82 src/supertux/menu/profile_menu.cpp:108 +#: src/supertux/menu/profile_menu.cpp:110 +msgid "Delete" +msgstr "Izbriši" + +#: src/gui/menu_string_array.cpp:84 src/gui/menu_object_select.cpp:61 +#: src/gui/menu_color.cpp:37 src/gui/dialog.hpp:87 src/gui/menu_script.cpp:46 +#: src/supertux/menu/editor_sector_menu.cpp:48 +#: src/supertux/menu/editor_levelset_menu.cpp:58 #: src/supertux/menu/editor_new_levelset_menu.cpp:37 -#: src/supertux/menu/editor_level_menu.cpp:44 src/editor/object_menu.cpp:43 +#: src/supertux/menu/editor_level_menu.cpp:45 src/editor/object_menu.cpp:71 msgid "OK" msgstr "V redu" -#: src/gui/menu_badguy_select.cpp:135 -msgid "Do you want to delete this badguy from the list?" -msgstr "Ali hočeš odstraniti tega pridaniča s seznama?" +#: src/gui/menu_object_select.cpp:46 +msgid "List of objects" +msgstr "Seznam predmetov" -#: src/gui/menu_badguy_select.cpp:136 src/gui/dialog.hpp:89 -#: src/supertux/menu/editor_menu.cpp:123 src/editor/editor.cpp:478 -msgid "Yes" -msgstr "Da" +#: src/gui/menu_object_select.cpp:48 +#, c++-format +msgid "Select object ({})" +msgstr "Izberi predmet ({})" -#: src/gui/menu_badguy_select.cpp:139 src/gui/dialog.hpp:90 -#: src/supertux/menu/editor_menu.cpp:126 src/editor/editor.cpp:485 -msgid "No" -msgstr "Ne" +#: src/gui/menu_object_select.cpp:114 +msgid "Are you sure you want to remove this object from the list?" +msgstr "Ali res želiš odstraniti ta predmet s seznama?" #: src/gui/menu_color.cpp:24 msgid "Mix the colour" msgstr "Zmešaj barvo" -#: src/gui/menu_filesystem.cpp:111 +#: src/gui/dialog.hpp:96 src/supertux/menu/editor_level_select_menu.cpp:181 +#: src/editor/editor.cpp:663 +msgid "Yes" +msgstr "Da" + +#: src/gui/dialog.hpp:97 src/supertux/menu/editor_level_select_menu.cpp:185 +#: src/editor/particle_editor.cpp:781 src/editor/editor.cpp:670 +msgid "No" +msgstr "Ne" + +#: src/gui/menu_list.cpp:38 src/gui/menu_filesystem.cpp:120 +#: src/gui/menu_paths.cpp:48 src/supertux/menu/particle_editor_save_as.cpp:42 #: src/supertux/menu/editor_sectors_menu.cpp:45 -#: src/supertux/menu/editor_sectors_menu.cpp:95 -#: src/supertux/menu/editor_sectors_menu.cpp:100 +#: src/supertux/menu/editor_sectors_menu.cpp:94 +#: src/supertux/menu/editor_sectors_menu.cpp:99 #: src/supertux/menu/editor_objectgroup_menu.cpp:42 -#: src/supertux/menu/editor_tilegroup_menu.cpp:36 src/editor/editor.cpp:489 +#: src/supertux/menu/editor_tilegroup_menu.cpp:36 +#: src/supertux/menu/editor_level_select_menu.cpp:190 +#: src/supertux/menu/editor_save_as.cpp:42 +#: src/supertux/menu/particle_editor_open.cpp:43 +#: src/editor/particle_editor.cpp:785 src/editor/editor.cpp:674 msgid "Cancel" msgstr "Prekliči" +#: src/gui/menu_filesystem.cpp:118 +msgid "Open Directory" +msgstr "Odpri imenik" + #: src/gui/menu_script.cpp:28 msgid "Edit script" -msgstr "Uredi zapis" +msgstr "Uredi skripto" -#: src/badguy/toad.hpp:37 -msgid "Toad" -msgstr "Krastača" +#: src/gui/menu_paths.cpp:32 +msgid "Clone" +msgstr "Ustvari dvojnik" -#: src/badguy/mrtree.hpp:29 -msgid "Walking Tree" -msgstr "Hodeče drevo" +#: src/gui/menu_paths.cpp:41 +msgid "" +"An error occurred and the game could\n" +"not clone the path. Please contact\n" +"the developers for support." +msgstr "Zaradi napake igri ni uspelo ustvariti\ndvojnika poti. Lepo prosimo, da to\nsporočite razvijalcem." -#: src/badguy/plant.hpp:33 -msgid "Plant" -msgstr "Rastlina" +#: src/gui/menu_paths.cpp:44 +msgid "Bind" +msgstr "Poveži" -#: src/badguy/crystallo.hpp:30 -msgid "Crystallo" -msgstr "Kristalij" +#: src/gui/menu_paths.cpp:49 +msgid "" +"Do you wish to clone the path to edit it separately,\n" +"or do you want to bind both paths together\n" +"so that any edit on one edits the other?" +msgstr "Bi želeli podvojiti pot in urediti dvojnika\nali bi raje povezali obe poti, da urejanje\nene poti spremeni tudi drugo?" + +#: src/gui/menu_paths.cpp:56 +#, c++-format +msgid "Path {}" +msgstr "Pot {}" + +#: src/gui/menu_paths.cpp:67 src/supertux/menu/integrations_menu.cpp:60 +#: src/supertux/menu/editor_converters_menu.cpp:79 +#: src/supertux/menu/video_system_menu.cpp:45 +#: src/supertux/menu/contrib_menu.cpp:102 src/supertux/menu/debug_menu.cpp:77 +#: src/supertux/menu/multiplayer_menu.cpp:39 +#: src/supertux/menu/custom_menu_menu.cpp:65 +#: src/supertux/menu/editor_level_select_menu.cpp:98 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:63 +#: src/supertux/menu/worldmap_cheat_menu.cpp:57 +#: src/supertux/menu/worldmap_cheat_menu.cpp:196 +#: src/supertux/menu/editor_levelset_select_menu.cpp:114 +#: src/supertux/menu/options_menu.cpp:223 +#: src/supertux/menu/editor_delete_levelset_menu.cpp:69 +#: src/supertux/menu/addon_preview_menu.cpp:193 +#: src/supertux/menu/profile_menu.cpp:118 +#: src/supertux/menu/multiplayer_players_menu.cpp:91 +#: src/supertux/menu/addon_menu.cpp:153 +#: src/supertux/menu/editor_new_levelset_menu.cpp:40 +#: src/supertux/menu/options_select_menu.cpp:44 +#: src/supertux/menu/world_set_menu.cpp:33 +#: src/supertux/menu/addon_browse_menu.cpp:162 +#: src/supertux/menu/web_asset_menu.cpp:48 +#: src/supertux/menu/profile_name_menu.cpp:45 +#: src/supertux/menu/keyboard_menu.cpp:71 +#: src/supertux/menu/sorted_contrib_menu.cpp:51 +#: src/supertux/menu/language_menu.cpp:63 +#: src/supertux/menu/joystick_menu.cpp:99 +#: src/supertux/menu/contrib_levelset_menu.cpp:67 +#: src/supertux/menu/cheat_menu.cpp:58 +#: src/supertux/menu/addon_file_install_menu.cpp:36 +#: src/supertux/menu/cheat_apply_menu.cpp:43 +#: src/supertux/menu/cheat_apply_menu.cpp:63 +#: src/supertux/menu/multiplayer_player_menu.cpp:205 +#: src/supertux/menu/editor_delete_level_menu.cpp:68 +msgid "Back" +msgstr "Nazaj" -#: src/badguy/totem.hpp:36 -msgid "Totem" -msgstr "Totem" +#: src/addon/addon_manager.cpp:562 +msgid "Only one resource pack is allowed to be enabled at a time." +msgstr "Naenkrat je lahko omogočen le en paket virov." -#: src/badguy/stalactite.hpp:38 -msgid "Stalactite" -msgstr "Stalaktit" +#: src/addon/addon_manager.cpp:837 +#, c++-format +msgid "Add-on {} by {} is already installed." +msgstr "Dodatek {} avtorja/ice {} je že nameščen." -#: src/badguy/haywire.hpp:42 -msgid "Haywire" -msgstr "Ponorela bomba" +#: src/addon/addon_manager.cpp:857 +#, c++-format +msgid "Add-on {} by {} successfully installed." +msgstr "Dodatek {} avtorja/ice {} je uspešno nameščen." -#: src/badguy/dispenser.hpp:48 -msgid "Dispenser" -msgstr "Avtomat" +#: src/addon/addon.cpp:71 src/supertux/menu/editor_levelset_menu.cpp:54 +msgid "Levelset" +msgstr "Zbirka stopenj" -#: src/badguy/short_fuse.hpp:29 -msgid "Short Fuse" -msgstr "Besna bomba" +#: src/addon/addon.cpp:74 src/supertux/menu/editor_levelset_menu.cpp:54 +#: data//images/engine/editor/objects.stoi:389 +msgid "Worldmap" +msgstr "Zaris sveta" -#: src/badguy/zeekling.hpp:36 +#: src/addon/addon.cpp:77 +msgid "World" +msgstr "Svet" + +#: src/addon/addon.cpp:80 +msgid "Add-on" +msgstr "Dodatek" + +#: src/addon/addon.cpp:83 +msgid "Language Pack" +msgstr "Jezikovni paket" + +#: src/addon/addon.cpp:86 +msgid "Resource Pack" +msgstr "Paket virov" + +#: src/addon/addon.cpp:89 +msgid "Unknown" +msgstr "Neznano" + +#: src/addon/addon.cpp:100 +#, c++-format +msgid "{} \"{}\" by \"{}\"" +msgstr "{} \"{}\" avtorja/ice \"{}\"" + +#: src/addon/addon.cpp:114 +msgid "add-on" +msgstr "dodatek" + +#: src/addon/addon.cpp:114 +msgid "add-ons" +msgstr "dodatki" + +#: src/badguy/toad.hpp:38 +msgid "Toad" +msgstr "Krastača" + +#: src/badguy/mrtree.hpp:32 +msgid "Mr. Tree" +msgstr "Gospod Drevo" + +#: src/badguy/plant.hpp:34 +msgid "Plant" +msgstr "Rastlina" + +#: src/badguy/tarantula.hpp:39 src/badguy/tarantula.cpp:353 +msgid "Tarantula" +msgstr "Tarantela" + +#: src/badguy/granito_giant.cpp:71 +msgid "Awake" +msgstr "Buden" + +#: src/badguy/granito_giant.cpp:72 +msgid "Sleeping" +msgstr "Speč" + +#: src/badguy/granito_giant.cpp:73 +msgid "Corrupted A" +msgstr "Skvarjen A" + +#: src/badguy/granito_giant.cpp:74 +msgid "Corrupted B" +msgstr "Skvarjen B" + +#: src/badguy/granito_giant.cpp:75 +msgid "Corrupted C" +msgstr "Skvarjen C" + +#: src/badguy/crystallo.hpp:33 +msgid "Crystallo" +msgstr "Kristalko" + +#: src/badguy/viciousivy.cpp:45 src/badguy/snail.cpp:70 +#: src/badguy/kamikazesnowball.cpp:118 src/badguy/walkingleaf.cpp:36 +#: src/badguy/jumpy.cpp:46 src/badguy/igel.cpp:189 src/badguy/mrtree.cpp:51 +msgid "Corrupted" +msgstr "Skvarjen" + +#: src/badguy/totem.hpp:37 +msgid "Totem" +msgstr "Totem" + +#: src/badguy/stalactite.hpp:42 +msgid "Stalactite" +msgstr "Stalaktit" + +#: src/badguy/fish_chasing.cpp:198 +msgid "Tracking Distance" +msgstr "Razdalja sledenja" + +#: src/badguy/fish_chasing.cpp:199 +msgid "Losing Distance" +msgstr "Razdalja zaostanka" + +#: src/badguy/fish_chasing.cpp:200 +msgid "Chase Speed" +msgstr "Hitrost zasledovanja" + +#: src/badguy/root_sapling.hpp:41 +msgid "Root Sapling" +msgstr "Sadika" + +#: src/badguy/haywire.hpp:46 +msgid "Haywire" +msgstr "Ponorela bomba" + +#: src/badguy/dispenser.hpp:52 +msgid "Dispenser" +msgstr "Avtomat" + +#: src/badguy/short_fuse.hpp:30 +msgid "Short Fuse" +msgstr "Pulferček" + +#: src/badguy/zeekling.hpp:39 msgid "Zeekling" -msgstr "Žverca" +msgstr "Zverinica" + +#: src/badguy/smartball.cpp:35 +msgid "Pumpkin" +msgstr "Buča" + +#: src/badguy/bouncing_snowball.cpp:82 +msgid "Fatbat" +msgstr "Netopirko" + +#: src/badguy/dive_mine.hpp:50 +msgid "Dive Mine" +msgstr "Potapljaška mina" + +#: src/badguy/granito_big.hpp:33 +msgid "Big Granito" +msgstr "Veliki Granitek" + +#: src/badguy/mriceblock.hpp:49 +msgid "Mr. Iceblock" +msgstr "Gospod Ledeni" + +#: src/badguy/granito.hpp:39 src/badguy/darttrap.cpp:163 +#: src/badguy/corrupted_granito.cpp:175 src/badguy/dispenser.cpp:438 +msgid "Granito" +msgstr "Granitek" + +#: src/badguy/fish_swimming.cpp:54 src/badguy/jumpy.cpp:44 +#: data//images/ice_world.strf:10 data//images/tiles.strf:28 +#: data//images/worldmap.strf:41 +msgid "Snow" +msgstr "Sneg" + +#: src/badguy/fish_swimming.cpp:55 data//images/ice_world.strf:211 +#: data//images/tiles.strf:366 data//images/worldmap.strf:67 +msgid "Forest" +msgstr "Gozd" + +#: src/badguy/crusher.hpp:71 +msgid "Crusher" +msgstr "Drobilec" + +#: src/badguy/flame.cpp:84 +msgid "Fire" +msgstr "Ogenj" + +#: src/badguy/flame.cpp:85 +msgid "Ghost" +msgstr "Strahec" -#: src/badguy/mriceblock.hpp:46 -msgid "Iceblock" -msgstr "Ledena kocka" +#: src/badguy/corrupted_granito_big.hpp:35 +msgid "Corrupted Big Granito" +msgstr "Skvarjeni veliki Granitek" -#: src/badguy/jumpy.hpp:36 +#: src/badguy/scrystallo.cpp:57 +msgid "Walk Radius" +msgstr "Doseg hoje" + +#: src/badguy/scrystallo.cpp:58 +msgid "Awakening Radius" +msgstr "Doseg zbujanja" + +#: src/badguy/scrystallo.cpp:59 +msgid "Roof-attached" +msgstr "Na stropu" + +#: src/badguy/jumpy.hpp:40 msgid "Jumpy" msgstr "Skokec" -#: src/badguy/captainsnowball.hpp:31 +#: src/badguy/captainsnowball.hpp:32 msgid "Captain Snowball" msgstr "Kapitan Snežko" -#: src/badguy/ghosttree.hpp:42 +#: src/badguy/ghosttree.hpp:43 msgid "Ghost Tree" -msgstr "Drevo strahov" +msgstr "Drevoduh" -#: src/badguy/willowisp.cpp:283 +#: src/badguy/willowisp.cpp:314 msgid "Track range" -msgstr "Obseg sledenja" +msgstr "Oddaljenost za sledenje" -#: src/badguy/willowisp.cpp:284 +#: src/badguy/willowisp.cpp:315 msgid "Vanish range" -msgstr "Obseg izginjanja" +msgstr "Oddaljenost za izginjanje" -#: src/badguy/willowisp.cpp:285 +#: src/badguy/willowisp.cpp:316 msgid "Fly speed" msgstr "Hitrost letenja" -#: src/badguy/kugelblitz.hpp:39 +#: src/badguy/kugelblitz.hpp:40 msgid "Kugelblitz" -msgstr "Svetikugla" +msgstr "Kugelblitz" -#: src/badguy/mole_rock.hpp:42 +#: src/badguy/mole_rock.hpp:44 msgid "Mole's rock" msgstr "Krtkova skala" -#: src/badguy/badguy.cpp:841 +#: src/badguy/badguy.cpp:1064 msgid "Death script" -msgstr "Smrtni zapis" +msgstr "Skripta ob smrti" -#: src/badguy/sspiky.hpp:36 +#: src/badguy/sspiky.hpp:37 msgid "Sleeping Spiky" msgstr "Speči Špikamož" -#: src/badguy/yeti_stalactite.hpp:33 +#: src/badguy/yeti_stalactite.hpp:34 msgid "Yeti's Stalactite" msgstr "Jetijev stalaktit" -#: src/badguy/livefire.hpp:37 +#: src/badguy/fish_harmless.hpp:30 +msgid "Harmless Fish" +msgstr "Neškodljiva riba" + +#: src/badguy/livefire.hpp:38 msgid "Walking Flame" msgstr "Hodeči plamen" -#: src/badguy/livefire.hpp:67 +#: src/badguy/livefire.hpp:71 msgid "Sleeping Flame" msgstr "Speči plamen" -#: src/badguy/livefire.hpp:83 +#: src/badguy/livefire.hpp:89 msgid "Dormant Flame" msgstr "Mirujoči plamen" -#: src/badguy/owl.hpp:39 +#: src/badguy/owl.hpp:45 msgid "Owl" msgstr "Sova" -#: src/badguy/igel.hpp:34 +#: src/badguy/igel.hpp:38 msgid "Igel" msgstr "Igel" -#: src/badguy/darttrap.cpp:126 +#: src/badguy/darttrap.cpp:148 msgid "Initial delay" msgstr "Začetna zakasnitev" -#: src/badguy/darttrap.cpp:128 +#: src/badguy/darttrap.cpp:150 msgid "Fire delay" msgstr "Zakasnitev ognja" -#: src/badguy/darttrap.cpp:129 +#: src/badguy/darttrap.cpp:151 msgid "Ammo" msgstr "Strelivo" -#: src/badguy/snowball.hpp:29 -msgid "Snowball" -msgstr "Snežna kepica" +#: src/badguy/darttrap.cpp:152 +msgid "Dart sprite" +msgstr "Animiran izrezek puščice" -#: src/badguy/smartblock.hpp:29 -msgid "Smartblock" -msgstr "Pametna kocka" +#: src/badguy/darttrap.cpp:164 +msgid "Skull" +msgstr "Lobanja" -#: src/badguy/yeti.cpp:369 -msgid "Fixed position" -msgstr "Stalni položaj" +#: src/badguy/snowball.hpp:30 +msgid "Mr. Snowball" +msgstr "Gospod Snežko" + +#: src/badguy/smartblock.hpp:30 +msgid "Mrs. Iceblock" +msgstr "Gospa Ledena" #: src/badguy/yeti.cpp:370 +msgid "Fixed position" +msgstr "Nepremičen" + +#: src/badguy/yeti.cpp:371 msgid "Lives" msgstr "Življenja" -#: src/badguy/goldbomb.hpp:49 +#: src/badguy/goldbomb.hpp:50 msgid "Gold Bomb" msgstr "Zlata bomba" -#: src/badguy/flyingsnowball.hpp:32 +#: src/badguy/corrupted_granito.hpp:44 +msgid "Corrupted Granito" +msgstr "Skvarjeni Granitek" + +#: src/badguy/mrbomb.cpp:48 +msgid "Classic" +msgstr "Klasičen" + +#: src/badguy/flyingsnowball.hpp:33 msgid "Flying Snowball" msgstr "Leteča kepica" -#: src/badguy/skullyhop.hpp:37 -msgid "Skullyhop" -msgstr "Glavakost" +#: src/badguy/crusher.cpp:75 +msgid "Ice (normal)" +msgstr "Ledeni (navaden)" + +#: src/badguy/crusher.cpp:76 +msgid "Ice (big)" +msgstr "Ledeni (velik)" + +#: src/badguy/crusher.cpp:77 +msgid "Rock (normal)" +msgstr "Kameni (navaden)" + +#: src/badguy/crusher.cpp:78 +msgid "Rock (big)" +msgstr "Kameni (velik)" + +#: src/badguy/crusher.cpp:79 +msgid "Corrupted (normal)" +msgstr "Skvarjen (navaden)" -#: src/badguy/kamikazesnowball.hpp:32 -msgid "Snowshot" -msgstr "Hitra kepa" +#: src/badguy/crusher.cpp:80 +msgid "Corrupted (big)" +msgstr "Skvarjen (velik)" -#: src/badguy/kamikazesnowball.hpp:52 +#: src/badguy/crusher.cpp:492 +msgid "Sideways" +msgstr "Vstran" + +#: src/badguy/kamikazesnowball.hpp:34 +msgid "Kamikaze Snowball" +msgstr "Samomorilska kepica" + +#: src/badguy/kamikazesnowball.hpp:64 msgid "Leafshot" msgstr "Hitri list" -#: src/badguy/flame.hpp:41 +#: src/badguy/fish_swimming.hpp:40 +msgid "Swimming Fish" +msgstr "Plavajoča riba" + +#: src/badguy/flame.hpp:47 msgid "Flame" msgstr "Plamen" -#: src/badguy/poisonivy.hpp:30 -msgid "Spring Leaf" -msgstr "Pomladni list" +#: src/badguy/scrystallo.hpp:31 +msgid "Sleeping Crystallo" +msgstr "Speči Kristalko" + +#: src/badguy/jumpy.cpp:45 +msgid "Wooden" +msgstr "Leseni" -#: src/badguy/willowisp.hpp:55 +#: src/badguy/jumpy.cpp:47 +msgid "Metal" +msgstr "Kovinski" + +#: src/badguy/jumpy.cpp:48 +msgid "Bag" +msgstr "Mošnjiček" + +#: src/badguy/willowisp.hpp:57 msgid "Will o' Wisp" msgstr "Blodeča lučka" -#: src/badguy/badguy.hpp:53 +#: src/badguy/fish_jumping.hpp:41 +msgid "Jumping Fish" +msgstr "Skakajoča riba" + +#: src/badguy/badguy.hpp:61 msgid "Badguy" msgstr "Pridanič" -#: src/badguy/ghostflame.hpp:30 -msgid "Ghost Flame" -msgstr "Duševni plamen" +#: src/badguy/rcrystallo.hpp:33 +msgid "Roof Crystallo" +msgstr "Stropni Kristalko" -#: src/badguy/spiky.hpp:30 +#: src/badguy/spiky.hpp:31 msgid "Spiky" msgstr "Špikamož" -#: src/badguy/walkingleaf.hpp:30 -msgid "Autumn Leaf" -msgstr "Jesenski list" +#: src/badguy/walkingleaf.hpp:33 +msgid "Walking Leaf" +msgstr "Hodeči list" + +#: src/badguy/root.hpp:39 +msgid "Root" +msgstr "Korenina" -#: src/badguy/owl.cpp:227 +#: src/badguy/owl.cpp:241 msgid "Carry" -msgstr "Nosi" +msgstr "Prenaša" -#: src/badguy/darttrap.hpp:33 +#: src/badguy/darttrap.hpp:35 msgid "Dart Trap" -msgstr "Metalec puščic" +msgstr "Pljuvač puščic" -#: src/badguy/skydive.hpp:38 +#: src/badguy/skydive.hpp:43 msgid "Skydive" msgstr "Prosti pad" -#: src/badguy/yeti.hpp:37 +#: src/badguy/yeti.hpp:38 msgid "Yeti" msgstr "Jeti" -#: src/badguy/mole.hpp:39 +#: src/badguy/snowball.cpp:41 +msgid "Bumpkin" +msgstr "Buča" + +#: src/badguy/snowball.cpp:42 +msgid "BSOD" +msgstr "Modri zaslonček smrti" + +#: src/badguy/mole.hpp:38 msgid "Mole" msgstr "Krtek" -#: src/badguy/mrbomb.hpp:42 -msgid "Bomb" -msgstr "Bomba" +#: src/badguy/corrupted_granito.cpp:176 +msgid "Skullyhop" +msgstr "Glavakost" + +#: src/badguy/mrbomb.hpp:40 +msgid "Mr. Bomb" +msgstr "Gospod Bum" -#: src/badguy/walking_candle.hpp:40 +#: src/badguy/walking_candle.hpp:41 msgid "Walking Candle" -msgstr "Hodeča sveča" +msgstr "Sveča na nogah" -#: src/badguy/angrystone.hpp:34 +#: src/badguy/angrystone.hpp:39 msgid "Angry Stone" msgstr "Jezni kamen" -#: src/badguy/spidermite.hpp:35 -msgid "Spider" -msgstr "Pajek" +#: src/badguy/tarantula.cpp:354 +msgid "Spidermite" +msgstr "Pršica prelka" + +#: src/badguy/tarantula.cpp:374 +msgid "Static" +msgstr "Nepremična" -#: src/badguy/ghoul.hpp:28 +#: src/badguy/ghoul.hpp:30 msgid "Ghoul" msgstr "Prikazen" -#: src/badguy/snowman.hpp:28 +#: src/badguy/granito_giant.hpp:32 +msgid "Giant Granito" +msgstr "Velikanski Granitek" + +#: src/badguy/snowman.hpp:29 msgid "Snowman" msgstr "Snežak" -#: src/badguy/stumpy.hpp:35 -msgid "Walking Stump" -msgstr "Hodeči štor" +#: src/badguy/viciousivy.hpp:33 +msgid "Vicious Ivy" +msgstr "Vražja vitica" + +#: src/badguy/stalactite.cpp:156 +msgid "ice" +msgstr "ledeni" -#: src/badguy/fish.hpp:40 -msgid "Fish" -msgstr "Riba" +#: src/badguy/stalactite.cpp:157 +msgid "rock" +msgstr "kameni" -#: src/badguy/dispenser.cpp:439 +#: src/badguy/fish_chasing.hpp:33 +msgid "Chasing Fish" +msgstr "Loveča riba" + +#: src/badguy/stumpy.hpp:38 +msgid "Stumpy" +msgstr "Štor" + +#: src/badguy/dispenser.cpp:412 msgid "Interval (seconds)" msgstr "Interval (v sekundah)" -#: src/badguy/dispenser.cpp:440 +#: src/badguy/dispenser.cpp:413 msgid "Random" msgstr "Naključno" -#: src/badguy/dispenser.cpp:441 data//images/engine/editor/objects.stoi:4 -msgid "Enemies" -msgstr "Sovragi" +#: src/badguy/dispenser.cpp:416 +#: src/supertux/menu/editor_objectgroup_menu.cpp:30 +#: src/editor/toolbox_widget.cpp:101 +msgid "Objects" +msgstr "Predmeti" -#: src/badguy/dispenser.cpp:442 +#: src/badguy/dispenser.cpp:419 msgid "Limit dispensed badguys" msgstr "Omeji ustvarjene pridaniče" -#: src/badguy/dispenser.cpp:444 +#: src/badguy/dispenser.cpp:421 +msgid "Obey Gravity" +msgstr "Upoštevaj težnost" + +#: src/badguy/dispenser.cpp:423 msgid "Max concurrent badguys" msgstr "Največ pridaničev hkrati" -#: src/badguy/dispenser.cpp:446 src/supertux/menu/editor_levelset_menu.cpp:60 -msgid "Type" -msgstr "Vrsta" - -#: src/badguy/dispenser.cpp:447 -msgid "dropper" -msgstr "kapalkar" - -#: src/badguy/dispenser.cpp:447 -msgid "rocket launcher" -msgstr "raketometalec" +#: src/badguy/dispenser.cpp:435 +msgid "Dropper" +msgstr "Kapalkar" -#: src/badguy/dispenser.cpp:447 -msgid "cannon" -msgstr "topničar" +#: src/badguy/dispenser.cpp:436 +msgid "Cannon" +msgstr "Top" -#: src/badguy/dispenser.cpp:447 -msgid "invisible" -msgstr "nevidnež" +#: src/badguy/dispenser.cpp:437 src/worldmap/special_tile.cpp:77 +msgid "Invisible" +msgstr "Neviden" -#: src/badguy/snail.hpp:42 +#: src/badguy/snail.hpp:43 msgid "Snail" msgstr "Polž" -#: src/badguy/smartball.hpp:31 -msgid "Smartball" -msgstr "Pametna kepa" +#: src/badguy/smartball.hpp:32 +msgid "Mrs. Snowball" +msgstr "Gospa kepica" -#: src/badguy/bouncing_snowball.hpp:31 +#: src/badguy/bouncing_snowball.hpp:39 msgid "Bouncing Snowball" -msgstr "Poskakujoča snežna kepica" +msgstr "Poskakujoča kepica" + +#: src/badguy/granito_big.cpp:52 src/badguy/granito.cpp:263 +msgid "Default" +msgstr "V privzetem položaju" + +#: src/badguy/granito_big.cpp:53 src/badguy/granito.cpp:264 +msgid "Standing" +msgstr "Stoječ" -#: src/badguy/iceflame.hpp:33 -msgid "Ice Flame" -msgstr "Ledeni plamen" +#: src/badguy/granito_big.cpp:54 src/badguy/granito.cpp:265 +msgid "Walking" +msgstr "Hodeč" -#: src/badguy/dart.hpp:43 +#: src/badguy/mriceblock.cpp:63 +msgid "Laptop" +msgstr "Prenosnik" + +#: src/badguy/dart.hpp:44 msgid "Dart" msgstr "Puščica" -#: src/supertux/statistics.cpp:47 +#: src/badguy/granito.cpp:268 +msgid "Sitting" +msgstr "Sedeč" + +#: src/supertux/statistics.cpp:54 msgid "Max coins collected:" msgstr "Največ zbranih kovancev:" -#: src/supertux/statistics.cpp:48 +#: src/supertux/statistics.cpp:55 msgid "Max fragging:" -msgstr "Največ pobitih:" +msgstr "Največ premaganih:" -#: src/supertux/statistics.cpp:49 +#: src/supertux/statistics.cpp:56 msgid "Max secrets found:" msgstr "Največ najdenih skrivnosti:" -#: src/supertux/statistics.cpp:50 +#: src/supertux/statistics.cpp:57 msgid "Best time completed:" msgstr "Najboljši čas:" -#: src/supertux/statistics.cpp:51 +#: src/supertux/statistics.cpp:58 msgid "Level target time:" msgstr "Ciljni čas stopnje:" -#: src/supertux/statistics.cpp:139 src/supertux/levelintro.cpp:160 +#: src/supertux/statistics.cpp:149 src/supertux/levelintro.cpp:175 msgid "Best Level Statistics" -msgstr "Statistika Najboljše Stopnje" +msgstr "Najboljša statistika" -#: src/supertux/statistics.cpp:228 +#: src/supertux/statistics.cpp:238 msgid "You" msgstr "Ti" -#: src/supertux/statistics.cpp:230 +#: src/supertux/statistics.cpp:240 msgid "Best" msgstr "Najboljši" -#: src/supertux/statistics.cpp:232 src/supertux/levelintro.cpp:166 +#: src/supertux/statistics.cpp:242 src/supertux/levelintro.cpp:181 msgid "Coins" msgstr "Kovanci" -#: src/supertux/statistics.cpp:255 +#: src/supertux/statistics.cpp:265 msgid "Badguys" msgstr "Pridaniči" -#: src/supertux/statistics.cpp:271 src/supertux/levelintro.cpp:172 +#: src/supertux/statistics.cpp:281 src/supertux/levelintro.cpp:187 msgid "Secrets" -msgstr "Skrivnosti" +msgstr "Skrivne dragotine" -#: src/supertux/game_object.hpp:77 +#: src/supertux/game_object.hpp:88 msgid "Unknown object" msgstr "Neznan predmet" -#: src/supertux/command_line_arguments.cpp:74 -#, c-format +#: src/supertux/sector.cpp:507 +msgid "Press escape to skip" +msgstr "Preskoči s pritiskom na ubežnico (Esc)" + +#: src/supertux/command_line_arguments.cpp:92 +#, c++-format msgid "Usage: {} [OPTIONS] [LEVELFILE]" -msgstr "Uporaba: {} [MOŽNOSTI] [DATOTEKA STOPNJE]" +msgstr "Uporaba: {} [MOŽNOSTI] [DATOTEKA_STOPNJE]" -#: src/supertux/command_line_arguments.cpp:75 +#: src/supertux/command_line_arguments.cpp:93 msgid "General Options:" -msgstr "Osnovne možnosti:" +msgstr "Splošne možnosti:" -#: src/supertux/command_line_arguments.cpp:76 +#: src/supertux/command_line_arguments.cpp:94 msgid " -h, --help Show this help message and quit" -msgstr "-h, --pomoč Prikaži sporočilo s pomočjo in ugasni igro" +msgstr "-h, --help : Prikaži sporočilo s pomočjo in ustavi program" -#: src/supertux/command_line_arguments.cpp:77 +#: src/supertux/command_line_arguments.cpp:95 msgid " -v, --version Show SuperTux version and quit" -msgstr "-v, --različica Prikaži različico SuperTux in ugasni igro" +msgstr "-v, --version : Izpiši različico igre in ustavi program" -#: src/supertux/command_line_arguments.cpp:78 +#: src/supertux/command_line_arguments.cpp:96 msgid " --verbose Print verbose messages" -msgstr "-verobse Prikaži verbose sporočilo" +msgstr "--verobse : Izpiši informativna sporočila" -#: src/supertux/command_line_arguments.cpp:79 +#: src/supertux/command_line_arguments.cpp:97 msgid " --debug Print extra verbose messages" -msgstr "-odpravi napake Prikaži dodatna verbose sporočila" +msgstr "--debug : Izpiši dodatna informativna sporočila" -#: src/supertux/command_line_arguments.cpp:80 +#: src/supertux/command_line_arguments.cpp:98 msgid "" " --print-datadir Print SuperTux's primary data directory." -msgstr "-print-datadir Prikaži primaren direktorij Supetux podatkov" +msgstr "--print-datadir : Izpiši glavni podatkovni imenik igre" + +#: src/supertux/command_line_arguments.cpp:99 +msgid "" +" --acknowledgements Print the licenses of libraries used by " +"SuperTux." +msgstr "--acknowledgements : Izpiši licence vseh knjižnic, ki jih uporablja SuperTux." -#: src/supertux/command_line_arguments.cpp:82 +#: src/supertux/command_line_arguments.cpp:101 msgid "Video Options:" msgstr "Nastavitve slike:" -#: src/supertux/command_line_arguments.cpp:83 +#: src/supertux/command_line_arguments.cpp:102 msgid " -f, --fullscreen Run in fullscreen mode" -msgstr "-f, --celoten zaslon Igraj čez cel zaslon" +msgstr "-f, --fullscreen : Igra zapolni ves zaslon" -#: src/supertux/command_line_arguments.cpp:84 +#: src/supertux/command_line_arguments.cpp:103 msgid " -w, --window Run in window mode" -msgstr "-w, --okno Igro prikaži v oknu" +msgstr "-w, --window : Igra teče v oknu" -#: src/supertux/command_line_arguments.cpp:85 +#: src/supertux/command_line_arguments.cpp:104 msgid " -g, --geometry WIDTHxHEIGHT Run SuperTux in given resolution" -msgstr "-g, --geometrija ŠIRINAxVIŠINA Igraj SuperTux v dani ločljivosti" +msgstr "-g, --geometry ŠIRINAxVIŠINA : SuperTux teče v dani ločljivosti" -#: src/supertux/command_line_arguments.cpp:86 +#: src/supertux/command_line_arguments.cpp:105 msgid " -a, --aspect WIDTH:HEIGHT Run SuperTux with given aspect ratio" -msgstr "-a, --razmerje ŠIRINA:VIŠINA Igraj SuperTux v danem razmerju" +msgstr "-a, --aspect ŠIRINA:VIŠINA : SuperTux teče v danem razmerju" -#: src/supertux/command_line_arguments.cpp:87 +#: src/supertux/command_line_arguments.cpp:106 msgid " -d, --default Reset video settings to default values" -msgstr "-d, --privzeto Ponastavi nastavitve slike na privzete vrednosti" +msgstr "-d, --default : Ponastavi nastavitve slike na privzete vrednosti" -#: src/supertux/command_line_arguments.cpp:88 +#: src/supertux/command_line_arguments.cpp:107 msgid " --renderer RENDERER Use sdl, opengl, or auto to render" -msgstr "--poganjanje GONILNIK Za poganjanje igre lahko uporabiš SDL, OpenGL ali samodejno." +msgstr "--renderer IZRISOVALNIK : Za poganjanje igre uporabi sdl, opengl ali auto" -#: src/supertux/command_line_arguments.cpp:90 +#: src/supertux/command_line_arguments.cpp:109 msgid "Audio Options:" msgstr "Možnosti zvoka:" -#: src/supertux/command_line_arguments.cpp:91 +#: src/supertux/command_line_arguments.cpp:110 msgid " --disable-sound Disable sound effects" -msgstr "--onemogoči-zvok Onemogoči zvočne učinke" +msgstr "--disable-sound : Onemogoči zvočne učinke" -#: src/supertux/command_line_arguments.cpp:92 +#: src/supertux/command_line_arguments.cpp:111 msgid " --disable-music Disable music" -msgstr "--onemogoči-glasbo Onemogoči glasbo" +msgstr "--disable-music : Onemogoči glasbo" -#: src/supertux/command_line_arguments.cpp:94 +#: src/supertux/command_line_arguments.cpp:113 msgid "Game Options:" msgstr "Možnosti igre:" -#: src/supertux/command_line_arguments.cpp:95 +#: src/supertux/command_line_arguments.cpp:114 msgid " --edit-level Open given level in editor" -msgstr "--edit-level Odpri dano stopnjo v urejevalniku" +msgstr "--edit-level : Odpri dano stopnjo v urejevalniku" -#: src/supertux/command_line_arguments.cpp:96 +#: src/supertux/command_line_arguments.cpp:115 msgid " --resave Loads given level and saves it" -msgstr " --ponovno shrani Naloži dano stopnjo in jo shrani" +msgstr " --resave : Naloži dano stopnjo in jo shrani" -#: src/supertux/command_line_arguments.cpp:97 +#: src/supertux/command_line_arguments.cpp:116 msgid " --show-fps Display framerate in levels" -msgstr " --show-fps Med igranjem pokaži hitrost sličic" +msgstr " --show-fps : Med igranjem pokaži hitrost sličic" -#: src/supertux/command_line_arguments.cpp:98 +#: src/supertux/command_line_arguments.cpp:117 msgid " --no-show-fps Do not display framerate in levels" -msgstr " --no-show-fps Med igranjem ne pokaži hitrosti sličic" +msgstr " --no-show-fps : Med igranjem ne pokaži hitrosti sličic" -#: src/supertux/command_line_arguments.cpp:99 +#: src/supertux/command_line_arguments.cpp:118 msgid " --show-pos Display player's current position" -msgstr "--show-pos Prikaže igralčev trenutni položaj" +msgstr "--show-pos : Prikaže igralčev trenutni položaj" -#: src/supertux/command_line_arguments.cpp:100 +#: src/supertux/command_line_arguments.cpp:119 msgid " --no-show-pos Do not display player's position" -msgstr "--no-show-pos Skrije igralčev položaj" +msgstr "--no-show-pos : Skrije igralčev položaj" -#: src/supertux/command_line_arguments.cpp:101 +#: src/supertux/command_line_arguments.cpp:120 msgid " --developer Switch on developer feature" -msgstr "-razvijalec Preklopi na razvijalski dodatek" +msgstr "--developer : Vklopi razvijalske pripomočke" -#: src/supertux/command_line_arguments.cpp:102 +#: src/supertux/command_line_arguments.cpp:121 msgid " -s, --debug-scripts Enable script debugger." -msgstr "-s, --popravi-napake Omogoči popravljanje ukaznih datotek" +msgstr "-s, --debug-scripts : Omogoči razhroščevanje ukaznih datotek" -#: src/supertux/command_line_arguments.cpp:103 +#: src/supertux/command_line_arguments.cpp:122 msgid "" " --spawn-pos X,Y Where in the level to spawn Tux. Only used if" " level is specified." -msgstr "--spawn-pos X,Y Kje v stopnji se bo prikazal Tux. Uporabi le, če je stopnja določena." +msgstr "--spawn-pos X,Y : Kje v stopnji se bo prikazal Tuks. Uporabi se le, če je stopnja določena." -#: src/supertux/command_line_arguments.cpp:104 +#: src/supertux/command_line_arguments.cpp:123 msgid " --sector SECTOR Spawn Tux in SECTOR\n" -msgstr " --sector SECTOR Ustvari Tuxa v CONI\n" +msgstr " --sector PREDEL : Udejanji Tuksa v PREDELU\n" -#: src/supertux/command_line_arguments.cpp:105 +#: src/supertux/command_line_arguments.cpp:124 msgid " --spawnpoint SPAWNPOINT Spawn Tux at SPAWNPOINT\n" -msgstr " --spawnpoint SPAWNPOINT Ustvari Tuxa na ZAČETNI TOČKI \n" - -#: src/supertux/command_line_arguments.cpp:107 -msgid "Demo Recording Options:" -msgstr "Možnosti zapisovanja demo glasbe:" +msgstr " --spawnpoint ZAČETNA TOČKA : Udejanji Tuksa na ZAČETNI TOČKI \n" -#: src/supertux/command_line_arguments.cpp:108 -msgid " --record-demo FILE LEVEL Record a demo to FILE" -msgstr "--zapiši-demo DATOTEKA STOPNJA Zapiši demo glasbo v DATOTEKO" - -#: src/supertux/command_line_arguments.cpp:109 -msgid " --play-demo FILE LEVEL Play a recorded demo" -msgstr "--predvajaj-demo DATOTEKA STOPNJA Predvajaj zapisano demo glasbo" - -#: src/supertux/command_line_arguments.cpp:111 +#: src/supertux/command_line_arguments.cpp:126 msgid "Directory Options:" -msgstr "Možnosti direktorija:" +msgstr "Možnosti imenika:" -#: src/supertux/command_line_arguments.cpp:112 +#: src/supertux/command_line_arguments.cpp:127 msgid "" " --datadir DIR Set the directory for the games datafiles" -msgstr "--datadir DIREKTORIJ Nastavi direktorij za podatke igre" +msgstr "--datadir IMENIK : Nastavi imenik za podatke igre" -#: src/supertux/command_line_arguments.cpp:113 +#: src/supertux/command_line_arguments.cpp:128 msgid "" " --userdir DIR Set the directory for user data (savegames, " "etc.)" -msgstr "--userdir DIREKTORIJ Nastavi direktorij za uporabniške podatke (savegames, itd.)" +msgstr "--userdir IMENIK : Nastavi imenik za uporabniške podatke (hrambene datoteke itd.)" -#: src/supertux/command_line_arguments.cpp:115 +#: src/supertux/command_line_arguments.cpp:130 msgid "Add-On Options:" msgstr "Možnosti dodatkov:" -#: src/supertux/command_line_arguments.cpp:116 +#: src/supertux/command_line_arguments.cpp:131 msgid " --repository-url URL Set the URL to the Add-On repository" -msgstr "--repozitorij-url URL Nastavi povezavo do repozitorija za dodatek" +msgstr "--repository-url URL : Nastavi povezavo do repozitorija za dodatek" -#: src/supertux/command_line_arguments.cpp:118 +#: src/supertux/command_line_arguments.cpp:133 msgid "Environment variables:" msgstr "Okoljske spremenljivke:" -#: src/supertux/command_line_arguments.cpp:119 +#: src/supertux/command_line_arguments.cpp:134 msgid "" " SUPERTUX2_USER_DIR Directory for user data (savegames, etc.)" -msgstr "SUPERTUX2_USER_DIR Direktorij za uporabniške podatke (savegames, itd.)" +msgstr "SUPERTUX2_USER_DIR : Imenik za uporabniške podatke (hrambene datoteke itd.)" -#: src/supertux/command_line_arguments.cpp:120 +#: src/supertux/command_line_arguments.cpp:135 msgid " SUPERTUX2_DATA_DIR Directory for the games datafiles" -msgstr "SUPERTUX2_DATA_DIR Direktorij za podatke igre" +msgstr "SUPERTUX2_DATA_DIR : Imenik za podatke igre" -#: src/supertux/title_screen.cpp:43 +#: src/supertux/title_screen.cpp:272 msgid "Copyright" msgstr "Avtorske pravice" -#: src/supertux/title_screen.cpp:44 +#: src/supertux/title_screen.cpp:273 msgid "" "This game comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to\n" "redistribute it under certain conditions; see the license file for details.\n" -msgstr "Za to igro NIKAKOR NE JAMČIMO. Ta program je zastonj in dovoljeno ti ga je deliti in razmnoževati pod\ndoločenimi pogoji; več o tem si preberi v datoteki za licenco.\n" +msgstr "Za to igro NIKAKOR NE JAMČIMO. To je brezplačna in prosta programska oprema in dovoljeno ti jo je deliti in razmnoževati pod\ndoločenimi pogoji; več o tem si preberi v datoteki za licenco.\n" + +#: src/supertux/game_object.cpp:114 +msgid "Version" +msgstr "Različica" + +#: src/supertux/game_object.cpp:129 +#: src/supertux/menu/editor_levelset_menu.cpp:54 +msgid "Type" +msgstr "Vrsta" + +#: src/supertux/menu/integrations_menu.cpp:49 +msgid "Integrations" +msgstr "Integracije" + +#: src/supertux/menu/integrations_menu.cpp:51 +msgid "Do not share level names when editing" +msgstr "Med urejanjem ne deli imen stopenj" + +#: src/supertux/menu/integrations_menu.cpp:52 +msgid "" +"Enable this if you want to work on secret levels and don't want the names to" +" be spoiled" +msgstr "Omogoči to možnost, če se želiš ukvarjati s skrivnimi stopnjami, pa nočeš razkriti imen" + +#: src/supertux/menu/integrations_menu.cpp:54 +msgid "Enable Discord integration" +msgstr "Omogoči integracijo Discorda" + +#: src/supertux/menu/integrations_menu.cpp:55 +msgid "" +"Sends information to your Discord application about what you're doing in the" +" game." +msgstr "Svoj Discord obveščaj, kaj počneš v igri." + +#: src/supertux/menu/integrations_menu.cpp:57 +msgid "Discord (disabled; not compiled)" +msgstr "Discord (onemogočen; nepreveden)" + +#: src/supertux/menu/editor_converters_menu.cpp:61 +#: src/supertux/menu/editor_menu.cpp:85 +msgid "Convert Tiles" +msgstr "Pretvori podlage" + +#: src/supertux/menu/editor_converters_menu.cpp:64 +msgid "Select Tile Conversion File" +msgstr "Izberi datoteko za pretvarjanje podlag" -#: src/supertux/menu/contrib_menu.cpp:79 +#: src/supertux/menu/editor_converters_menu.cpp:72 +#, c++-format +msgid "By: {}" +msgstr "Avtor/ica: {}" + +#: src/supertux/menu/editor_converters_menu.cpp:75 +msgid "Convert Tiles By File" +msgstr "Pretvori podlage z datoteko" + +#: src/supertux/menu/editor_converters_menu.cpp:76 +msgid "Convert all tiles in the current level by a file, specified above." +msgstr "Pretvrori vse podlage v trenutni stopnji z zgoraj navedeno datoteko." + +#: src/supertux/menu/editor_converters_menu.cpp:89 +msgid "No tile conversion file selected." +msgstr "Pretvorbena datoteka ni izbrana." + +#: src/supertux/menu/editor_converters_menu.cpp:93 +msgid "" +"This will convert all tiles in the level. Proceed?\n" +"\n" +"Note: This should not be ran more than once on a level.\n" +"Creating a separate copy of the level is highly recommended." +msgstr "To bo pretvorilo vse podlage v stopnji. Vseeno nadaljujem?\n\nPozor: Idealno naj tega za posamezno stopnjo ne bi izvedli več\nkot enkrat. Priporočljivo je, da ustvariš ločeno kopijo stopnje." + +#: src/supertux/menu/video_system_menu.cpp:36 +msgid "Select Video System" +msgstr "Izberi video sistem" + +#: src/supertux/menu/video_system_menu.cpp:37 +#, c++-format +msgid "Used video system: {}" +msgstr "Uporabljen video sistem: {}" + +#: src/supertux/menu/video_system_menu.cpp:54 +msgid "Restart game for the changes to take effect" +msgstr "Spremembe se bodo poznale šele po ponovnem zagonu igre." + +#: src/supertux/menu/contrib_menu.cpp:68 #: src/supertux/menu/world_set_menu.cpp:31 msgid "Contrib Levels" msgstr "Prispevane stopnje" +#: src/supertux/menu/contrib_menu.cpp:98 +#: src/supertux/menu/contrib_menu.cpp:112 +msgid "Official Contrib Levels" +msgstr "Uradne prispevane stopnje" + +#: src/supertux/menu/contrib_menu.cpp:99 +#: src/supertux/menu/contrib_menu.cpp:118 +msgid "Community Contrib Levels" +msgstr "Prispevane stopnje skupnosti" + +#: src/supertux/menu/contrib_menu.cpp:100 +#: src/supertux/menu/contrib_menu.cpp:124 +msgid "User Contrib Levels" +msgstr "Prispevane stopnje uporabnika" + +#: src/supertux/menu/contrib_menu.cpp:113 +msgid "How is this possible? There are no Official Contrib Levels!" +msgstr "Kako je to mogoče? Ni uradnih prispevanih stopenj!" + #: src/supertux/menu/contrib_menu.cpp:119 -#: src/supertux/menu/contrib_menu.cpp:150 -msgid "*NEW*" -msgstr "*NOVO*" +msgid "No Community Contrib Levels yet. Download them from the Add-ons Menu." +msgstr "Ni še stopenj, ki bi jih prispevala skupnost. Prenesi si jih prek menija dodatkov." -#: src/supertux/menu/contrib_menu.cpp:172 src/supertux/menu/debug_menu.cpp:75 -#: src/supertux/menu/editor_level_select_menu.cpp:84 -#: src/supertux/menu/worldmap_cheat_menu.cpp:55 -#: src/supertux/menu/worldmap_cheat_menu.cpp:153 -#: src/supertux/menu/editor_levelset_select_menu.cpp:96 -#: src/supertux/menu/options_menu.cpp:405 -#: src/supertux/menu/profile_menu.cpp:47 src/supertux/menu/addon_menu.cpp:213 -#: src/supertux/menu/editor_new_levelset_menu.cpp:40 -#: src/supertux/menu/world_set_menu.cpp:33 -#: src/supertux/menu/keyboard_menu.cpp:51 -#: src/supertux/menu/language_menu.cpp:56 -#: src/supertux/menu/joystick_menu.cpp:97 -#: src/supertux/menu/contrib_levelset_menu.cpp:67 -#: src/supertux/menu/cheat_menu.cpp:44 -msgid "Back" -msgstr "Nazaj" +#: src/supertux/menu/contrib_menu.cpp:125 +msgid "No User Contrib Levels yet. Create some with the Level Editor." +msgstr "Nimaš še svojih prispevanih stopenj. Ustvari jih z urejevalnikom stopenj." -#: src/supertux/menu/debug_menu.cpp:32 +#: src/supertux/menu/debug_menu.cpp:34 msgid "Debug" -msgstr "Razhrošči" +msgstr "Razhroščevanje" -#: src/supertux/menu/debug_menu.cpp:56 +#: src/supertux/menu/debug_menu.cpp:58 msgid "Game Speed" msgstr "Hitrost igre" -#: src/supertux/menu/debug_menu.cpp:57 +#: src/supertux/menu/debug_menu.cpp:59 msgid "Adjust Game Speed" msgstr "Nastavi hitrost igre" -#: src/supertux/menu/debug_menu.cpp:63 +#: src/supertux/menu/debug_menu.cpp:65 msgid "Show Collision Rects" msgstr "Pokaži trkovne meje" -#: src/supertux/menu/debug_menu.cpp:64 +#: src/supertux/menu/debug_menu.cpp:66 msgid "Show Worldmap Path" -msgstr "Pokaži pot zemljevida sveta" +msgstr "Pokaži pot zarisa sveta" -#: src/supertux/menu/debug_menu.cpp:65 +#: src/supertux/menu/debug_menu.cpp:67 msgid "Show Controller" msgstr "Pokaži krmilnik" -#: src/supertux/menu/debug_menu.cpp:66 +#: src/supertux/menu/debug_menu.cpp:68 msgid "Show Framerate" msgstr "Pokaži hitrost sličic" -#: src/supertux/menu/debug_menu.cpp:67 +#: src/supertux/menu/debug_menu.cpp:69 msgid "Draw Redundant Frames" -msgstr "Nariši nepotrebne sličice" +msgstr "Izriši odvečne sličice" -#: src/supertux/menu/debug_menu.cpp:68 +#: src/supertux/menu/debug_menu.cpp:70 msgid "Show Player Position" msgstr "Pokaži igralčev položaj" -#: src/supertux/menu/debug_menu.cpp:69 +#: src/supertux/menu/debug_menu.cpp:71 msgid "Use Bitmap Fonts" -msgstr "Uporabi pisave Bitmap" +msgstr "Uporabi bitmap pisave" -#: src/supertux/menu/debug_menu.cpp:72 +#: src/supertux/menu/debug_menu.cpp:74 msgid "Dump Texture Cache" -msgstr "Shrani teksture v predpomnilnik" +msgstr "Shrani stanje predpomnilnika tekstur" + +#: src/supertux/menu/particle_editor_save_as.cpp:33 +msgid "Save particle as" +msgstr "Shrani delec kot" + +#: src/supertux/menu/particle_editor_save_as.cpp:37 +#: src/supertux/menu/editor_save_as.cpp:37 +msgid "File name" +msgstr "Datotečno ime" + +#: src/supertux/menu/particle_editor_save_as.cpp:38 +#: src/supertux/menu/editor_save_as.cpp:38 src/editor/particle_editor.cpp:767 +msgid "Save" +msgstr "Shrani" + +#: src/supertux/menu/multiplayer_menu.cpp:27 +#: src/supertux/menu/multiplayer_players_menu.cpp:34 +msgid "Multiplayer" +msgstr "Večigralski način" + +#: src/supertux/menu/multiplayer_menu.cpp:30 +msgid "Auto-manage Players" +msgstr "Samodejno upravljanje igralcev" + +#: src/supertux/menu/multiplayer_menu.cpp:31 +msgid "" +"Automatically add and remove players when controllers are plugged or " +"unplugged" +msgstr "Samodejno doda in odstrani igralce, ko zazna priklop ali odklop krmilnikov" + +#: src/supertux/menu/multiplayer_menu.cpp:33 +msgid "Allow Multibind" +msgstr "Dovoli večvezavo" + +#: src/supertux/menu/multiplayer_menu.cpp:34 +msgid "Allow binding multiple joysticks to a single player" +msgstr "Omogoči vezavo več igralnih palic na enega igralca" + +#: src/supertux/menu/multiplayer_menu.cpp:36 +msgid "Manage Players" +msgstr "Upravljanje igralcev" #: src/supertux/menu/editor_sectors_menu.cpp:31 msgid "Choose Sector" -msgstr "Izberi cono" +msgstr "Izberi predel" #: src/supertux/menu/editor_sectors_menu.cpp:41 msgid "Sector Settings" -msgstr "Nastavitve cone" +msgstr "Nastavitve predela" #: src/supertux/menu/editor_sectors_menu.cpp:42 msgid "Create Sector" -msgstr "Ustvari cono" +msgstr "Ustvari predel" #: src/supertux/menu/editor_sectors_menu.cpp:43 msgid "Delete Sector" -msgstr "Izbriši cono" +msgstr "Izbriši predel" -#: src/supertux/menu/editor_sectors_menu.cpp:93 +#: src/supertux/menu/editor_sectors_menu.cpp:92 msgid "Each level must have at least one sector." -msgstr "Vsaka stopnja mora imeti vsaj eno cono." +msgstr "Vsaka stopnja mora imeti vsaj en predel." -#: src/supertux/menu/editor_sectors_menu.cpp:98 +#: src/supertux/menu/editor_sectors_menu.cpp:97 msgid "Do you really want to delete this sector?" -msgstr "Ali res hočeš izbrisati to cono?" +msgstr "Ali res hočeš izbrisati ta predel?" -#: src/supertux/menu/editor_sectors_menu.cpp:101 +#: src/supertux/menu/editor_sectors_menu.cpp:100 msgid "Delete sector" -msgstr "Izbriši cono" +msgstr "Izbriši predel" -#: src/supertux/menu/editor_objectgroup_menu.cpp:30 -#: src/editor/toolbox_widget.cpp:93 -msgid "Objects" -msgstr "Predmeti" +#: src/supertux/menu/custom_menu_menu.cpp:49 +#: src/supertux/menu/options_menu.cpp:191 +msgid "Menu Customization" +msgstr "Prilagajanje menija" + +#: src/supertux/menu/custom_menu_menu.cpp:51 +msgid "Menu Back Color" +msgstr "Barva ozadja menija" + +#: src/supertux/menu/custom_menu_menu.cpp:52 +msgid "Menu Front Color" +msgstr "Barva ospredja menija" + +#: src/supertux/menu/custom_menu_menu.cpp:53 +msgid "Menu Help Back Color" +msgstr "Barva ozadja pomagalskega menija" + +#: src/supertux/menu/custom_menu_menu.cpp:54 +msgid "Menu Help Front Color" +msgstr "Barva ospredja pomagalskega menija" + +#: src/supertux/menu/custom_menu_menu.cpp:55 +msgid "Label Text Color" +msgstr "Barva oznake" + +#: src/supertux/menu/custom_menu_menu.cpp:56 +msgid "Active Text Color" +msgstr "Barva dejavnega besedila" + +#: src/supertux/menu/custom_menu_menu.cpp:57 +msgid "Divider Line Color" +msgstr "Barva ločilne črte" -#: src/supertux/menu/editor_level_select_menu.cpp:58 +#: src/supertux/menu/custom_menu_menu.cpp:58 +msgid "Menu Roundness" +msgstr "Zglajenost menija" + +#: src/supertux/menu/custom_menu_menu.cpp:60 +msgid "Editor Interface Color" +msgstr "Barva vmesnika v urejevalniku" + +#: src/supertux/menu/custom_menu_menu.cpp:61 +msgid "Editor Hover Color" +msgstr "Kazalna barva v urejevalniku" + +#: src/supertux/menu/custom_menu_menu.cpp:62 +msgid "Editor Grab Color" +msgstr "Izbiralna barva v urejevalniku" + +#: src/supertux/menu/custom_menu_menu.cpp:64 +msgid "Reset to defaults" +msgstr "Ponastavi na privzeto" + +#: src/supertux/menu/editor_level_select_menu.cpp:72 msgid "Empty World" msgstr "Prazen svet" -#: src/supertux/menu/editor_level_select_menu.cpp:73 +#: src/supertux/menu/editor_level_select_menu.cpp:87 msgid "Create Level" msgstr "Ustvari stopnjo" -#: src/supertux/menu/editor_level_select_menu.cpp:77 +#: src/supertux/menu/editor_level_select_menu.cpp:91 msgid "Edit Worldmap" -msgstr "Uredi zemljevid sveti" +msgstr "Uredi zaris sveti" -#: src/supertux/menu/editor_level_select_menu.cpp:79 +#: src/supertux/menu/editor_level_select_menu.cpp:93 msgid "Create Worldmap" -msgstr "Ustvari zemljevid sveta" +msgstr "Ustvari zaris sveta" -#: src/supertux/menu/editor_level_select_menu.cpp:83 -#: src/supertux/menu/editor_levelset_menu.cpp:56 +#: src/supertux/menu/editor_level_select_menu.cpp:95 +#: src/supertux/menu/editor_delete_level_menu.cpp:55 +msgid "Delete level" +msgstr "Izbriši stopnjo" + +#: src/supertux/menu/editor_level_select_menu.cpp:97 +#: src/supertux/menu/editor_levelset_menu.cpp:50 msgid "World Settings" msgstr "Nastavitve sveta" -#: src/supertux/menu/editor_level_select_menu.cpp:123 +#: src/supertux/menu/editor_level_select_menu.cpp:141 msgid "" "Share this worldmap under license CC-BY-SA 4.0 International (advised).\n" "It allows modifications and redistribution by third-parties.\n" "If you don't agree with this license, change it in worldmap properties.\n" "DISCLAIMER: The SuperTux authors take no responsibility for your choice of license." -msgstr "Ta zemljevid sveta deli pod licenco CC-BY-SA 4.0 International (priporočljivo).\nS tem je drugim omogočeno preurejanje in redistribucija.\nČe se s to licenco ne strinjaš, jo spremeni v lastnostih stopnje.\nOPOZORILO: Avtorji SuperTuxa ne prevzemajo odgovornosti za tvojo izbiro licence." +msgstr "Ta zaris sveta lahko deliš pod licenco CC-BY-SA 4.0 International (priporočljivo).\nS tem sta drugim omogočena preurejanje in ponovno deljenje.\nČe se s to licenco ne strinjaš, jo spremeni v nastavitvah sveta.\nOPOZORILO: Avtorji SuperTuxa ne prevzemajo odgovornosti za tvojo izbiro licence." -#: src/supertux/menu/editor_level_select_menu.cpp:130 +#: src/supertux/menu/editor_level_select_menu.cpp:148 msgid "" "Share this level under license CC-BY-SA 4.0 International (advised).\n" "It allows modifications and redistribution by third-parties.\n" "If you don't agree with this license, change it in level properties.\n" "DISCLAIMER: The SuperTux authors take no responsibility for your choice of license." -msgstr "To stopnjo deli pod licenco CC-BY-SA 4.0 International (priporočljivo).\nS tem je drugim omogočeno preurejanje in redistribucija.\nČe se s to licenco ne strinjaš, jo spremeni v lastnostih stopnje.\nOPOZORILO: Avtorji SuperTuxa ne prevzemajo odgovornosti za tvojo izbiro licence." +msgstr "To stopnjo deli pod licenco CC-BY-SA 4.0 International (priporočljivo).\nS tem sta drugim omogočena preurejanje in ponovno deljenje.\nČe se s to licenco ne strinjaš, jo spremeni v nastavitvah stopnje.\nOPOZORILO: Avtorji SuperTuxa ne prevzemajo odgovornosti za tvojo izbiro licence." -#: src/supertux/menu/worldmap_cheat_menu.cpp:34 -#: src/supertux/menu/cheat_menu.cpp:30 -msgid "Cheats" -msgstr "Goljufije" +#: src/supertux/menu/editor_level_select_menu.cpp:179 +msgid "" +"An auto-save recovery file was found. Would you like to restore the recovery\n" +"file and resume where you were before the editor crashed?" +msgstr "Igra je odkrila obnovitveno shrambeno datoteko. Ali želiš obnoviti shranjeno stanje\nin nadaljevati tam, kjer si ostal/a, preden se je program sesul?" + +#: src/supertux/menu/editor_level_select_menu.cpp:186 +msgid "This will delete the auto-save file. Are you sure?" +msgstr "To bo izbrisalo shrambeno datoteko. Želiš nadaljevati?" + +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:35 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:52 +#: src/supertux/menu/cheat_apply_menu.cpp:33 +#: src/supertux/menu/cheat_apply_menu.cpp:51 +msgid "Apply cheat to player" +msgstr "Omogoči švindlanje za igralca" + +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:39 +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:60 +#: src/supertux/menu/multiplayer_players_menu.cpp:39 +#: src/supertux/menu/keyboard_menu.cpp:63 +#: src/supertux/menu/cheat_apply_menu.cpp:39 +#: src/supertux/menu/cheat_apply_menu.cpp:59 +#: src/supertux/menu/multiplayer_player_menu.cpp:37 +#, c++-format +msgid "Player {}" +msgstr "Igralec/ka {}" + +#: src/supertux/menu/worldmap_cheat_apply_menu.cpp:57 +#: src/supertux/menu/cheat_apply_menu.cpp:36 +#: src/supertux/menu/cheat_apply_menu.cpp:56 +msgid "All Players" +msgstr "Vsi igralci" #: src/supertux/menu/worldmap_cheat_menu.cpp:36 -#: src/supertux/menu/cheat_menu.cpp:32 -msgid "Bonus: Grow" -msgstr "Bonus: Rasti" +#: src/supertux/menu/cheat_menu.cpp:31 +msgid "Cheats" +msgstr "Švindlanje" -#: src/supertux/menu/worldmap_cheat_menu.cpp:37 +#: src/supertux/menu/worldmap_cheat_menu.cpp:38 #: src/supertux/menu/cheat_menu.cpp:33 -msgid "Bonus: Fire" -msgstr "Bonus: Plameni" +msgid "Bonus: Grow" +msgstr "Bonus: Rast" -#: src/supertux/menu/worldmap_cheat_menu.cpp:38 +#: src/supertux/menu/worldmap_cheat_menu.cpp:39 #: src/supertux/menu/cheat_menu.cpp:34 +msgid "Bonus: Fire" +msgstr "Bonus: Ogenj" + +#: src/supertux/menu/worldmap_cheat_menu.cpp:40 +#: src/supertux/menu/cheat_menu.cpp:35 msgid "Bonus: Ice" msgstr "Bonus: Led" -#: src/supertux/menu/worldmap_cheat_menu.cpp:39 -#: src/supertux/menu/cheat_menu.cpp:35 +#: src/supertux/menu/worldmap_cheat_menu.cpp:41 +#: src/supertux/menu/cheat_menu.cpp:36 msgid "Bonus: Air" msgstr "Bonus: Zrak" -#: src/supertux/menu/worldmap_cheat_menu.cpp:40 -#: src/supertux/menu/cheat_menu.cpp:36 +#: src/supertux/menu/worldmap_cheat_menu.cpp:42 +#: src/supertux/menu/cheat_menu.cpp:37 msgid "Bonus: Earth" -msgstr "Bonus: Prst" +msgstr "Bonus: Zemlja" -#: src/supertux/menu/worldmap_cheat_menu.cpp:41 +#: src/supertux/menu/worldmap_cheat_menu.cpp:43 msgid "Bonus: None" msgstr "Bonus: Nič" -#: src/supertux/menu/worldmap_cheat_menu.cpp:44 -#: src/supertux/menu/cheat_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 +#: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:51 msgid "Leave Ghost Mode" -msgstr "Zapusti način za duhove" +msgstr "Prenehaj biti duhec" -#: src/supertux/menu/worldmap_cheat_menu.cpp:44 -#: src/supertux/menu/cheat_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 +#: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:50 msgid "Activate Ghost Mode" -msgstr "Vključi način za duhove" +msgstr "Postani duhec" -#: src/supertux/menu/worldmap_cheat_menu.cpp:46 -#: src/supertux/menu/cheat_menu.cpp:40 +#: src/supertux/menu/worldmap_cheat_menu.cpp:48 +#: src/supertux/menu/cheat_menu.cpp:41 msgid "Finish Level" msgstr "Končaj stopnjo" -#: src/supertux/menu/worldmap_cheat_menu.cpp:47 +#: src/supertux/menu/worldmap_cheat_menu.cpp:49 msgid "Reset Level" msgstr "Ponastavi stopnjo" -#: src/supertux/menu/worldmap_cheat_menu.cpp:49 +#: src/supertux/menu/worldmap_cheat_menu.cpp:51 msgid "Finish Worldmap" -msgstr "Končaj zemljevid sveta" +msgstr "Končaj zaris sveta" -#: src/supertux/menu/worldmap_cheat_menu.cpp:50 +#: src/supertux/menu/worldmap_cheat_menu.cpp:52 msgid "Reset Worldmap" -msgstr "Ponastavi zemljevid sveta" +msgstr "Ponastavi zaris sveta" -#: src/supertux/menu/worldmap_cheat_menu.cpp:52 +#: src/supertux/menu/worldmap_cheat_menu.cpp:54 msgid "Go to level" msgstr "Pojdi na stopnjo" -#: src/supertux/menu/worldmap_cheat_menu.cpp:53 +#: src/supertux/menu/worldmap_cheat_menu.cpp:55 msgid "Go to main spawnpoint" msgstr "Pojdi na glavno začetno točko" -#: src/supertux/menu/worldmap_cheat_menu.cpp:145 +#: src/supertux/menu/worldmap_cheat_menu.cpp:188 msgid "Select level" msgstr "Izberi stopnjo" -#: src/supertux/menu/editor_levelset_select_menu.cpp:54 +#: src/supertux/menu/editor_save_as.cpp:33 +#: src/supertux/menu/editor_menu.cpp:63 +msgid "Save Level as" +msgstr "Shrani stopnjo kot" + +#: src/supertux/menu/editor_save_as.cpp:33 +#: src/supertux/menu/editor_menu.cpp:64 +msgid "Save Copy" +msgstr "Shrani kopijo" + +#: src/supertux/menu/editor_levelset_select_menu.cpp:71 msgid "Choose World" msgstr "Izberi svet" -#: src/supertux/menu/editor_levelset_select_menu.cpp:82 -#, c-format -msgid "%d level" -msgid_plural "%d levels" -msgstr[0] "%d stopnja" -msgstr[1] "%d stopnji" -msgstr[2] "%d stopnje" -msgstr[3] "%d stopenj" +#: src/supertux/menu/editor_levelset_select_menu.cpp:99 +#, c++-format +msgid "{} level" +msgid_plural "{} levels" +msgstr[0] "{} stopnja" +msgstr[1] "{} stopnji" +msgstr[2] "{} stopnje" +msgstr[3] "{} stopenj" -#: src/supertux/menu/editor_levelset_select_menu.cpp:95 +#: src/supertux/menu/editor_levelset_select_menu.cpp:112 msgid "Create World" msgstr "Ustvari svet" -#: src/supertux/menu/options_menu.cpp:85 src/supertux/menu/main_menu.cpp:53 -#: src/supertux/menu/game_menu.cpp:61 src/supertux/menu/worldmap_menu.cpp:31 -msgid "Options" -msgstr "Nastavitve" +#: src/supertux/menu/editor_levelset_select_menu.cpp:113 +#: src/supertux/menu/editor_delete_levelset_menu.cpp:41 +msgid "Delete World" +msgstr "Izbriši svet" -#: src/supertux/menu/options_menu.cpp:91 -#: src/supertux/menu/options_menu.cpp:127 -#: src/supertux/menu/options_menu.cpp:418 -#: src/supertux/menu/options_menu.cpp:439 src/editor/object_settings.cpp:112 -msgid "auto" -msgstr "auto" - -#: src/supertux/menu/options_menu.cpp:206 -msgid "Desktop" -msgstr "Namizje" +#: src/supertux/menu/options_menu.cpp:72 +#: src/supertux/menu/options_select_menu.cpp:35 +msgid "Locale" +msgstr "Jezikovne nastavitve" -#: src/supertux/menu/options_menu.cpp:332 +#: src/supertux/menu/options_menu.cpp:76 msgid "Select Language" msgstr "Izberi jezik" -#: src/supertux/menu/options_menu.cpp:333 +#: src/supertux/menu/options_menu.cpp:77 msgid "Select a different language to display text in" msgstr "Izberi drug jezik" -#: src/supertux/menu/options_menu.cpp:335 +#: src/supertux/menu/options_menu.cpp:79 msgid "Language Packs" msgstr "Jezikovni paketi" -#: src/supertux/menu/options_menu.cpp:336 +#: src/supertux/menu/options_menu.cpp:80 msgid "Language packs contain up-to-date translations" -msgstr "Jezikovni paketi vsebujejo posodobljene prevode" +msgstr "Jezikovni paketi vsebujejo najnovejše prevode" -#: src/supertux/menu/options_menu.cpp:338 -#: src/supertux/menu/profile_menu.cpp:30 -msgid "Select Profile" -msgstr "Izberi profil" - -#: src/supertux/menu/options_menu.cpp:339 -msgid "Select a profile to play with" -msgstr "Izberi profil za igranje" +#: src/supertux/menu/options_menu.cpp:88 +#: src/supertux/menu/options_select_menu.cpp:37 +msgid "Video" +msgstr "Slika" -#: src/supertux/menu/options_menu.cpp:342 +#: src/supertux/menu/options_menu.cpp:91 msgid "Window Resizable" -msgstr "Okno prilagodljivo" +msgstr "Razširljivost okno" -#: src/supertux/menu/options_menu.cpp:343 +#: src/supertux/menu/options_menu.cpp:92 msgid "Allow window resizing, might require a restart to take effect" msgstr "Omogoči spreminjanje velikosti okna; morda bo potreben ponoven zagon igre" -#: src/supertux/menu/options_menu.cpp:345 -msgid "Window Resolution" -msgstr "Ločljivost okna" - -#: src/supertux/menu/options_menu.cpp:346 -msgid "Resize the window to the given size" -msgstr "Povečaj/zmanjšaj okno na dano velikost" - -#: src/supertux/menu/options_menu.cpp:348 +#: src/supertux/menu/options_menu.cpp:96 msgid "Fullscreen" -msgstr "Celoten zaslon" +msgstr "Čez cel zaslon" -#: src/supertux/menu/options_menu.cpp:349 +#: src/supertux/menu/options_menu.cpp:97 msgid "Fill the entire screen" -msgstr "Zapolni celoten zaslon" - -#: src/supertux/menu/options_menu.cpp:351 -msgid "Fullscreen Resolution" -msgstr "Celozaslonska ločljivost" - -#: src/supertux/menu/options_menu.cpp:352 -msgid "" -"Determine the resolution used in fullscreen mode (you must toggle fullscreen" -" to complete the change)" -msgstr "Ugotovi ločljivost za celoten zaslon (igra mora biti čez cel zaslon, da se bo sprememba pokazala)" +msgstr "Zapolni cel zaslon" -#: src/supertux/menu/options_menu.cpp:354 -msgid "Magnification" -msgstr "Povečava" - -#: src/supertux/menu/options_menu.cpp:355 -msgid "Change the magnification of the game area" -msgstr "Spremeni povečavo igralne površine" +#: src/supertux/menu/options_menu.cpp:104 +msgid "Fit to browser" +msgstr "Prilagodi brskalniku" -#: src/supertux/menu/options_menu.cpp:357 -msgid "VSync" -msgstr "VSync" +#: src/supertux/menu/options_menu.cpp:105 +msgid "Fit the resolution to the size of your browser" +msgstr "Prilagodi ločljivost velikosti tvojega brskalnika" -#: src/supertux/menu/options_menu.cpp:358 -msgid "Set the VSync mode" -msgstr "Nastavi VSync način" +#: src/supertux/menu/options_menu.cpp:116 +msgid "Change Video System" +msgstr "Spremeni video sistem" -#: src/supertux/menu/options_menu.cpp:360 -msgid "Aspect Ratio" -msgstr "Razmerje" +#: src/supertux/menu/options_menu.cpp:117 +msgid "Change video system used to render graphics" +msgstr "Spremeni sistem za grafično upodabljanje" -#: src/supertux/menu/options_menu.cpp:361 -msgid "Adjust the aspect ratio" -msgstr "Spremeni razmerje" +#: src/supertux/menu/options_menu.cpp:124 +#: src/supertux/menu/options_select_menu.cpp:38 +msgid "Audio" +msgstr "Zvok" -#: src/supertux/menu/options_menu.cpp:366 +#: src/supertux/menu/options_menu.cpp:129 msgid "Disable all sound effects" msgstr "Onemogoči vse zvočne učinke" -#: src/supertux/menu/options_menu.cpp:368 +#: src/supertux/menu/options_menu.cpp:131 msgid "Disable all music" msgstr "Onemogoči vso glasbo" -#: src/supertux/menu/options_menu.cpp:370 -msgid "Sound Volume" -msgstr "Glasnost zvoka" - -#: src/supertux/menu/options_menu.cpp:371 -msgid "Adjust sound volume" -msgstr "Nastavi glasnost zvoka" - -#: src/supertux/menu/options_menu.cpp:373 -msgid "Music Volume" -msgstr "Glasnost glasbe" - -#: src/supertux/menu/options_menu.cpp:374 -msgid "Adjust music volume" -msgstr "Nastavi glasnost glasbe" - -#: src/supertux/menu/options_menu.cpp:378 +#: src/supertux/menu/options_menu.cpp:138 msgid "Sound (disabled)" msgstr "Zvok (onemogočen)" -#: src/supertux/menu/options_menu.cpp:379 +#: src/supertux/menu/options_menu.cpp:139 msgid "Music (disabled)" msgstr "Glasba (onemogočena)" -#: src/supertux/menu/options_menu.cpp:382 -#: src/supertux/menu/keyboard_menu.cpp:30 +#: src/supertux/menu/options_menu.cpp:147 +#: src/supertux/menu/options_select_menu.cpp:39 +msgid "Controls" +msgstr "Krmilniki" + +#: src/supertux/menu/options_menu.cpp:151 +msgid "Enable Rumbling Controllers" +msgstr "Omogoči vibriranje krmilnikov" + +#: src/supertux/menu/options_menu.cpp:152 +msgid "Enable vibrating the game controllers." +msgstr "Omogoči vibriranje krmilnikov." + +#: src/supertux/menu/options_menu.cpp:152 +msgid "This feature is currently only used in the multiplayer options menu." +msgstr "Ta funkcionalnost je uporabljena edinole v večigralskih nastavitvah." + +#: src/supertux/menu/options_menu.cpp:154 +#: src/supertux/menu/keyboard_menu.cpp:34 msgid "Setup Keyboard" msgstr "Nastavitve tipkovnice" -#: src/supertux/menu/options_menu.cpp:383 +#: src/supertux/menu/options_menu.cpp:155 msgid "Configure key-action mappings" -msgstr "Spremeni razporeditev tipk" +msgstr "Spremeni pomen tipk" -#: src/supertux/menu/options_menu.cpp:385 -#: src/supertux/menu/joystick_menu.cpp:52 +#: src/supertux/menu/options_menu.cpp:158 +#: src/supertux/menu/joystick_menu.cpp:54 msgid "Setup Joystick" -msgstr "Nastavitve užitkarske palice" +msgstr "Nastavitve igralne palice" -#: src/supertux/menu/options_menu.cpp:386 +#: src/supertux/menu/options_menu.cpp:159 msgid "Configure joystick control-action mappings" msgstr "Spremeni nastavitve igralne palice" -#: src/supertux/menu/options_menu.cpp:388 +#: src/supertux/menu/options_menu.cpp:167 +#: src/supertux/menu/options_select_menu.cpp:40 +msgid "Extras" +msgstr "Dodatno" + +#: src/supertux/menu/options_menu.cpp:170 +#: src/supertux/menu/profile_menu.cpp:56 +msgid "Select Profile" +msgstr "Izberi profil" + +#: src/supertux/menu/options_menu.cpp:171 +msgid "Select a profile to play with" +msgstr "Izberi profil za igranje" + +#: src/supertux/menu/options_menu.cpp:174 +msgid "Multiplayer settings" +msgstr "Večigralske nastavitve" + +#: src/supertux/menu/options_menu.cpp:175 +msgid "Configure settings specific to multiplayer" +msgstr "Posebej prilagodi večigralske nastavitve" + +#: src/supertux/menu/options_menu.cpp:178 msgid "Enable transitions" msgstr "Omogoči prehode" -#: src/supertux/menu/options_menu.cpp:389 +#: src/supertux/menu/options_menu.cpp:179 msgid "Enable screen transitions and smooth menu animation" msgstr "Omogoči zaslonske prehode in gladko animacijo menija" -#: src/supertux/menu/options_menu.cpp:393 -msgid "Developer Mode" -msgstr "Razvijalski način" +#: src/supertux/menu/options_menu.cpp:181 +msgid "Custom title screen levels" +msgstr "Naslovne stopnje po meri" + +#: src/supertux/menu/options_menu.cpp:182 +msgid "Allow overriding the title screen level, when loading certain worlds" +msgstr "Med nalaganjem določenih svetov omogoča spremembo stopnje, prikazane na naslovnici." -#: src/supertux/menu/options_menu.cpp:398 +#: src/supertux/menu/options_menu.cpp:185 msgid "Christmas Mode" msgstr "Božični način" -#: src/supertux/menu/options_menu.cpp:401 +#: src/supertux/menu/options_menu.cpp:187 +msgid "Integrations and presence" +msgstr "Integracije in prisotnost" + +#: src/supertux/menu/options_menu.cpp:188 +msgid "" +"Manage whether SuperTux should display the levels you play on your social " +"media profiles (Discord)" +msgstr "Omogoča, da SuperTux prikaže stopnje, ki jih igraš, na tvojih družbenih omrežjih (Discord)" + +#: src/supertux/menu/options_menu.cpp:192 +msgid "Customize the appearance of the menus" +msgstr "Prilagodi videz menijev" + +#: src/supertux/menu/options_menu.cpp:199 +#: src/supertux/menu/options_select_menu.cpp:41 +msgid "Advanced" +msgstr "Napredno" + +#: src/supertux/menu/options_menu.cpp:204 +msgid "Developer Mode" +msgstr "Razvijalski način" + +#: src/supertux/menu/options_menu.cpp:206 msgid "Confirmation Dialog" msgstr "Potrditveni dialog" -#: src/supertux/menu/options_menu.cpp:401 +#: src/supertux/menu/options_menu.cpp:206 msgid "Confirm aborting level" msgstr "Potrdi izhod iz stopnje" -#: src/supertux/menu/options_menu.cpp:402 +#: src/supertux/menu/options_menu.cpp:208 msgid "Pause on focus loss" msgstr "Premor ob izgubi fokusa" +#: src/supertux/menu/options_menu.cpp:209 +msgid "Automatically pause the game when the window loses focus" +msgstr "Ko igra ni več v ospredju namizja, se samodejno sproži premor" + +#: src/supertux/menu/options_menu.cpp:211 +msgid "Use custom mouse cursor" +msgstr "Uporabi miškin kazalnik po meri" + +#: src/supertux/menu/options_menu.cpp:211 +msgid "Whether the game renders its own cursor or uses the system's cursor" +msgstr "Določi, ali naj igra izriše svoj kazalnik ali uporabi uporabnikov sistemski kazalnik" + +#: src/supertux/menu/options_menu.cpp:214 +msgid "Check for new releases" +msgstr "Preveri za nove izdaje" + +#: src/supertux/menu/options_menu.cpp:215 +msgid "" +"Allows the game to perform checks for new SuperTux releases on startup and " +"notify if any found." +msgstr "Omogoča igri, da ob zagonu preveri, ali obstaja kakšna novejša izdaja, in te obvesti." + +#: src/supertux/menu/options_menu.cpp:245 +#: src/supertux/menu/options_menu.cpp:288 src/supertux/direction.cpp:76 +msgid "auto" +msgstr "samodejno" + +#: src/supertux/menu/options_menu.cpp:281 +msgid "Magnification" +msgstr "Povečava" + +#: src/supertux/menu/options_menu.cpp:282 +msgid "Change the magnification of the game area" +msgstr "Spremeni povečavo igralne površine" + +#: src/supertux/menu/options_menu.cpp:318 +msgid "Aspect Ratio" +msgstr "Razmerje" + +#: src/supertux/menu/options_menu.cpp:319 +msgid "Adjust the aspect ratio" +msgstr "Spremeni razmerje" + +#: src/supertux/menu/options_menu.cpp:346 +msgid "Window Resolution" +msgstr "Ločljivost okna" + +#: src/supertux/menu/options_menu.cpp:347 +msgid "Resize the window to the given size" +msgstr "Poveča/zmanjša okno na dano velikost" + +#: src/supertux/menu/options_menu.cpp:377 +msgid "Desktop" +msgstr "Namizje" + +#: src/supertux/menu/options_menu.cpp:404 +msgid "Fullscreen Resolution" +msgstr "Celozaslonska ločljivost" + +#: src/supertux/menu/options_menu.cpp:405 +msgid "" +"Determine the resolution used in fullscreen mode (you must toggle fullscreen" +" to complete the change)" +msgstr "Določi ločljivost za celoten zaslon (igra mora biti čez ves zaslon, da se bo sprememba pokazala)" + +#: src/supertux/menu/options_menu.cpp:411 +msgid "on" +msgstr "vključena" + +#: src/supertux/menu/options_menu.cpp:412 +msgid "off" +msgstr "izključena" + +#: src/supertux/menu/options_menu.cpp:413 +msgid "adaptive" +msgstr "prilagodljiva" + +#: src/supertux/menu/options_menu.cpp:431 +msgid "VSync" +msgstr "Vertikalna sinhronizacija" + +#: src/supertux/menu/options_menu.cpp:432 +msgid "Set the VSync mode" +msgstr "Nastavi vertikalno sinhronizacijo" + +#: src/supertux/menu/options_menu.cpp:467 +msgid "Sound Volume" +msgstr "Glasnost zvoka" + +#: src/supertux/menu/options_menu.cpp:468 +msgid "Adjust sound volume" +msgstr "Nastavi glasnost zvoka" + +#: src/supertux/menu/options_menu.cpp:503 +msgid "Music Volume" +msgstr "Glasnost glasbe" + +#: src/supertux/menu/options_menu.cpp:504 +msgid "Adjust music volume" +msgstr "Nastavi glasnost glasbe" + +#: src/supertux/menu/options_menu.cpp:517 +msgid "On-screen controls scale" +msgstr "Velikost krmilnih elementov" + +#: src/supertux/menu/options_menu.cpp:638 +msgid "" +"The game couldn't detect your browser resolution.\n" +"This most likely happens because it is not embedded\n" +"in the SuperTux custom HTML template.\n" +msgstr "Igra ni uspela zaznati ločljivosti tvojega brskalnika.\nTo se je najverjetneje zgodilo, ker ni vpeta\nv SuperTuxovo šablono HTML.\n" + +#: src/supertux/menu/editor_delete_levelset_menu.cpp:80 +msgid "You cannot delete the world that you are editing" +msgstr "Ne moreš izbrisati sveta, ki ga urejaš" + +#: src/supertux/menu/editor_delete_levelset_menu.cpp:83 +#, c++-format +msgid "You are about to delete world \"{}\". Are you sure?" +msgstr "Nameravaš izbrisati svet \"{}\". Ali si gotov/a?" + +#: src/supertux/menu/addon_preview_menu.cpp:82 +#, c++-format +msgid "{} \"{}\"" +msgstr "{} \"{}\"" + +#: src/supertux/menu/addon_preview_menu.cpp:87 +msgid "Some information about this add-on is not available." +msgstr "Nekaterih informacij o tem dodatku ni na voljo." + +#: src/supertux/menu/addon_preview_menu.cpp:88 +msgid "Perform a \"Check Online\" to try retrieving it." +msgstr "S klikom na \"Preveri na spletu\" jih lahko poskusiš pridobiti." + +#: src/supertux/menu/addon_preview_menu.cpp:92 +msgid "No author specified." +msgstr "Avtor ni naveden." + +#: src/supertux/menu/addon_preview_menu.cpp:92 +#, c++-format +msgid "Author: {}" +msgstr "Avtor/ica: {}" + +#: src/supertux/menu/addon_preview_menu.cpp:93 +#, c++-format +msgid "Type: {}" +msgstr "Vrsta: {}" + +#: src/supertux/menu/addon_preview_menu.cpp:94 +msgid "No license specified." +msgstr "Licenca ni določena." + +#: src/supertux/menu/addon_preview_menu.cpp:94 +#, c++-format +msgid "License: {}" +msgstr "Licenca: {}" + +#: src/supertux/menu/addon_preview_menu.cpp:99 +msgid "Dependencies:" +msgstr "Odvisnosti:" + +#: src/supertux/menu/addon_preview_menu.cpp:108 +msgid "Installed" +msgstr "Nameščen" + +#: src/supertux/menu/addon_preview_menu.cpp:108 +msgid "Not installed" +msgstr "Ni nameščen" + +#: src/supertux/menu/addon_preview_menu.cpp:113 +msgid "Not available!" +msgstr "Ni na voljo!" + +#: src/supertux/menu/addon_preview_menu.cpp:120 +msgid "Description:" +msgstr "Opis:" + +#: src/supertux/menu/addon_preview_menu.cpp:123 +msgid "No description available." +msgstr "Opis ni na voljo." + +#: src/supertux/menu/addon_preview_menu.cpp:147 +msgid "Failed to load all available screenshot previews." +msgstr "Nalaganje vseh zaslonskih predogledov ni uspelo." + +#: src/supertux/menu/addon_preview_menu.cpp:152 +msgid "Show screenshots" +msgstr "Prikaži zaslonske predoglede" + +#: src/supertux/menu/addon_preview_menu.cpp:165 +msgid "Screenshot previews are disabled for automatic installs." +msgstr "Zaslonski predogledi so onemogočeni pri samodejnih namestitvah." + +#: src/supertux/menu/addon_preview_menu.cpp:169 +msgid "No screenshot previews available." +msgstr "Zaslonski predogledi niso na voljo." + +#: src/supertux/menu/addon_preview_menu.cpp:177 +msgid "Install" +msgstr "Namesti" + +#: src/supertux/menu/addon_preview_menu.cpp:190 +msgid "Uninstall" +msgstr "Odstrani" + +#: src/supertux/menu/addon_preview_menu.cpp:214 +#, c++-format +msgid "Are you sure you want to uninstall \"{}\"?" +msgstr "Ali si prepričan/a, da želiš odstraniti \"{}\"?" + +#: src/supertux/menu/addon_preview_menu.cpp:215 +msgid "" +"\n" +"Your progress won't be lost." +msgstr "\nTvoj napredek se bo ohranil." + +#: src/supertux/menu/addon_preview_menu.cpp:227 +#, c++-format +msgid "" +"NOTE: The add-on \"{}\" is a dependency of {} other installed {}.\n" +"Are you sure you wish to uninstall?" +msgstr "POZOR: Dodatek \"{}\" je pomemben gradnik {} {}.\nAli ga zares želiš odstraniti?" + +#: src/supertux/menu/addon_preview_menu.cpp:246 +#, c++-format +msgid "" +"Cannot toggle add-on \"{}\":\n" +"{}" +msgstr "Ne morem preklopiti dodatka \"{}\":\n{}" + +#: src/supertux/menu/addon_preview_menu.cpp:279 +msgid "Fetching screenshot previews..." +msgstr "Pridobivam zaslonske predoglede ..." + +#: src/supertux/menu/addon_preview_menu.cpp:300 +msgid "Updating" +msgstr "Posodabljam" + +#: src/supertux/menu/addon_preview_menu.cpp:300 +msgid "Downloading" +msgstr "Prenašam" + +#: src/supertux/menu/addon_preview_menu.cpp:328 +msgid "Add-on uninstalled successfully." +msgstr "Dodatek je uspešno odstranjen." + +#: src/supertux/menu/addon_preview_menu.cpp:333 +#, c++-format +msgid "" +"Error uninstalling add-on:\n" +"{}" +msgstr "Napaka pri odstranjevanju dodatka:\n{}" + +#: src/supertux/menu/addon_preview_menu.cpp:361 +msgid "" +"Please restart SuperTux\n" +"for these changes to take effect." +msgstr "Prosimo, ponovno zaženi SuperTux,\nda bodo spremembe delovale." + #: src/supertux/menu/main_menu.cpp:51 src/supertux/menu/world_set_menu.cpp:28 msgid "Start Game" -msgstr "Zaženi igro" +msgstr "Igraj" -#: src/supertux/menu/main_menu.cpp:52 src/supertux/menu/addon_menu.cpp:122 +#: src/supertux/menu/main_menu.cpp:55 msgid "Add-ons" msgstr "Dodatki" -#: src/supertux/menu/main_menu.cpp:54 src/supertux/menu/editor_menu.cpp:39 +#: src/supertux/menu/main_menu.cpp:57 src/supertux/menu/web_asset_menu.cpp:38 +msgid "Manage Assets" +msgstr "Upravljaj s sredstvi" + +#: src/supertux/menu/main_menu.cpp:59 +#: src/supertux/menu/options_select_menu.cpp:29 +#: src/supertux/menu/game_menu.cpp:58 src/supertux/menu/worldmap_menu.cpp:31 +#: src/supertux/menu/editor_menu.cpp:70 +msgid "Options" +msgstr "Nastavitve" + +#: src/supertux/menu/main_menu.cpp:60 src/supertux/menu/editor_menu.cpp:58 msgid "Level Editor" msgstr "Urejevalnik stopenj" -#: src/supertux/menu/main_menu.cpp:55 +#: src/supertux/menu/main_menu.cpp:61 msgid "Credits" msgstr "Zasluge" -#: src/supertux/menu/main_menu.cpp:56 +#: src/supertux/menu/main_menu.cpp:64 msgid "Donate" msgstr "Doniraj" -#: src/supertux/menu/main_menu.cpp:57 +#: src/supertux/menu/main_menu.cpp:67 msgid "Quit" msgstr "Končaj" -#: src/supertux/menu/editor_sector_menu.cpp:35 +#: src/supertux/menu/main_menu.cpp:106 +msgid "" +"This will take you to the SuperTux donation page. Are you sure you want to " +"continue?" +msgstr "To te bo preusmerilo na spletno stran za donacije SuperTuksu. Ali želiš nadaljevati?" + +#: src/supertux/menu/editor_sector_menu.cpp:34 +#, c++-format +msgid "Sector {}" +msgstr "Predel {}" + +#: src/supertux/menu/editor_sector_menu.cpp:37 msgid "Initialization script" -msgstr "Zapis začetka" +msgstr "Skripta ob zagonu" -#: src/supertux/menu/editor_sector_menu.cpp:36 +#: src/supertux/menu/editor_sector_menu.cpp:38 msgid "Gravity" msgstr "Težnost" -#: src/supertux/menu/editor_sector_menu.cpp:41 +#: src/supertux/menu/editor_sector_menu.cpp:43 msgid "Resize offset X" msgstr "Spremeni odmik X" -#: src/supertux/menu/editor_sector_menu.cpp:42 +#: src/supertux/menu/editor_sector_menu.cpp:44 msgid "Resize offset Y" msgstr "Spremeni odmik Y" -#: src/supertux/menu/editor_sector_menu.cpp:43 +#: src/supertux/menu/editor_sector_menu.cpp:45 msgid "Resize" msgstr "Spremeni velikost" -#: src/supertux/menu/profile_menu.cpp:37 -#, c-format -msgid "[Profile {}]" -msgstr "[Profil {}]" +#: src/supertux/menu/profile_menu.cpp:60 +msgid "No profiles found." +msgstr "Ne najdem profilov." -#: src/supertux/menu/profile_menu.cpp:41 -#, c-format +#: src/supertux/menu/profile_menu.cpp:68 +#: src/supertux/menu/profile_menu.cpp:149 +#: src/supertux/menu/profile_menu.cpp:168 +#, c++-format msgid "Profile {}" msgstr "Profil {}" -#: src/supertux/menu/editor_levelset_menu.cpp:59 +#: src/supertux/menu/profile_menu.cpp:69 +#, c++-format +msgid "{} (Profile {})" +msgstr "{} (Profil {})" + +#: src/supertux/menu/profile_menu.cpp:84 +msgid "No profile selected." +msgstr "Profil ni izbran." + +#: src/supertux/menu/profile_menu.cpp:91 src/supertux/menu/profile_menu.cpp:93 +#: src/supertux/menu/profile_name_menu.cpp:42 +msgid "Rename" +msgstr "Preimenuj" + +#: src/supertux/menu/profile_menu.cpp:98 +#: src/supertux/menu/profile_menu.cpp:100 +msgid "Reset" +msgstr "Ponastavi" + +#: src/supertux/menu/profile_menu.cpp:103 +#: src/supertux/menu/profile_menu.cpp:105 +msgid "Reset all" +msgstr "Ponastavi vse" + +#: src/supertux/menu/profile_menu.cpp:113 +#: src/supertux/menu/profile_menu.cpp:115 +msgid "Delete all" +msgstr "Izbriši vse" + +#: src/supertux/menu/profile_menu.cpp:148 +#, c++-format +msgid "" +"This will reset all game progress on the profile \"{}\".\n" +"Are you sure?" +msgstr "To bo ponastavilo ves igralni napredek za profil \"{}\".\nAli si prepričan/a?" + +#: src/supertux/menu/profile_menu.cpp:157 +msgid "This will reset your game progress on all profiles. Are you sure?" +msgstr "To bo izničilo tvoj napredek v vseh profilih. Ali res želiš nadaljevati?" + +#: src/supertux/menu/profile_menu.cpp:167 +#, c++-format +msgid "" +"This will delete the profile \"{}\",\n" +"including all game progress on it. Are you sure?" +msgstr "To bo izbrisalo profil \"{}\",\nvključno z vsem igralnim napredkom. Ali si prepričan/a?" + +#: src/supertux/menu/profile_menu.cpp:178 +msgid "" +"This will delete all profiles, including all game progress on them.\n" +"Are you sure?" +msgstr "To bo izbrisalo vse profile, vključno z njihovim igralnim napredkom.\nAli si prepričan/a?" + +#: src/supertux/menu/editor_levelset_menu.cpp:53 #: src/supertux/menu/editor_new_levelset_menu.cpp:35 msgid "Description" msgstr "Opis" -#: src/supertux/menu/editor_levelset_menu.cpp:60 -#: src/supertux/menu/addon_menu.cpp:48 -#: data//images/engine/editor/objects.stoi:332 -msgid "Worldmap" -msgstr "Zemljevid sveta" +#: src/supertux/menu/editor_levelset_menu.cpp:55 +msgid "Title Screen Level" +msgstr "Naslovna stopnja" -#: src/supertux/menu/editor_levelset_menu.cpp:60 -#: src/supertux/menu/addon_menu.cpp:45 -msgid "Levelset" -msgstr "Zbirka stopenj" +#: src/supertux/menu/editor_levelset_menu.cpp:56 +msgid "A level to be used for the title screen, after exiting the world." +msgstr "Stopnja na naslovnici po izhodu iz sveta." -#: src/supertux/menu/addon_menu.cpp:51 -msgid "World" -msgstr "Svet" +#: src/supertux/menu/multiplayer_players_menu.cpp:46 +msgid "Add Player" +msgstr "Dodaj igralca" -#: src/supertux/menu/addon_menu.cpp:54 -msgid "Add-on" -msgstr "Dodatek" +#: src/supertux/menu/multiplayer_players_menu.cpp:59 +msgid "Remove Last Player" +msgstr "Odstrani zadnjega igralca" -#: src/supertux/menu/addon_menu.cpp:60 -msgid "Unknown" -msgstr "Neznano" +#: src/supertux/menu/multiplayer_players_menu.cpp:62 +msgid "" +"Warning: The player you are trying to\n" +"remove is currently in-game.\n" +"\n" +"Do you wish to remove them anyways?" +msgstr "Pozor: Igralec, ki ga želiš odstraniti,\nje trenutno sredi igre.\n\nNaj ga vseeno odstranim?" -#: src/supertux/menu/addon_menu.cpp:71 -#, c-format -msgid "{} \"{}\" by \"{}\"" -msgstr "{} \"{}\" od \"{}\"" +#: src/supertux/menu/addon_menu.cpp:68 +msgid "Installed Language Packs" +msgstr "Nameščeni jezikovni paketi" + +#: src/supertux/menu/addon_menu.cpp:68 +msgid "Installed Add-ons" +msgstr "Nameščeni dodatki" + +#: src/supertux/menu/addon_menu.cpp:76 src/supertux/menu/addon_menu.cpp:117 +msgid "No language packs installed" +msgstr "Ni nameščenih jezikovnih paketov" -#: src/supertux/menu/addon_menu.cpp:129 +#: src/supertux/menu/addon_menu.cpp:76 msgid "No Add-ons installed" -msgstr "Dodatki niso nameščeni" +msgstr "Ni nameščenih dodatkov" -#: src/supertux/menu/addon_menu.cpp:133 -msgid "No Add-ons found" -msgstr "Ne najdem dodatkov" +#: src/supertux/menu/addon_menu.cpp:124 +#, c++-format +msgid "{} {}*UPDATE*" +msgstr "{} {}*POSODOBITEV*" -#: src/supertux/menu/addon_menu.cpp:179 -#, c-format -msgid "Install {} *NEW*" -msgstr "Namesti {} *NOVO*" +#: src/supertux/menu/addon_menu.cpp:130 +#, c++-format +msgid "{}{}" +msgstr "{}{}" -#: src/supertux/menu/addon_menu.cpp:190 -#, c-format -msgid "Install {}" -msgstr "Namesti {}" +#: src/supertux/menu/addon_menu.cpp:140 +msgid "No updates available." +msgstr "Na voljo ni posodobitev." -#: src/supertux/menu/addon_menu.cpp:199 -msgid "No new Add-ons found" -msgstr "Ne najdem novih dodatkov" +#: src/supertux/menu/addon_menu.cpp:144 +#, c++-format +msgid "{} {} available" +msgstr "{} {} na voljo" -#: src/supertux/menu/addon_menu.cpp:205 -msgid "Check Online (disabled)" -msgstr "Preveri na spletu (onemogočeno)" +#: src/supertux/menu/addon_menu.cpp:144 +msgid "update" +msgstr "posodobitev" -#: src/supertux/menu/addon_menu.cpp:209 -msgid "Check Online" -msgstr "Preveri na spletu" +#: src/supertux/menu/addon_menu.cpp:144 +msgid "updates" +msgstr "posodobitev" -#: src/supertux/menu/addon_menu.cpp:286 -msgid "Downloading Add-On Repository Index" -msgstr "Prenašam seznam dodatkov v zbirališču" +#: src/supertux/menu/addon_menu.cpp:146 +msgid "Check for updates" +msgstr "Preveri za posodobitve" -#: src/supertux/menu/addon_menu.cpp:301 -#, c-format -msgid "Downloading {}" -msgstr "Prenašam {}" +#: src/supertux/menu/addon_menu.cpp:150 +msgid "Browse language packs" +msgstr "Brskaj po jezikovnih paketih" -#: src/supertux/menu/addon_menu.cpp:348 -msgid "" -"Please restart SuperTux\n" -"for these changes to take effect." -msgstr "Prosimo, ponovno zaženite SuperTux,\nda bodo spremembe delovale." +#: src/supertux/menu/addon_menu.cpp:150 +#: src/supertux/menu/addon_browse_menu.cpp:70 +msgid "Browse Add-ons" +msgstr "Brskaj po dodatkih" + +#: src/supertux/menu/addon_menu.cpp:151 +msgid "Install from file" +msgstr "Namesti iz datoteke" + +#: src/supertux/menu/addon_menu.cpp:208 +msgid "Checking for updates..." +msgstr "Preverjam za posodobitve ..." #: src/supertux/menu/editor_new_levelset_menu.cpp:31 msgid "New World" @@ -1901,265 +3633,416 @@ msgstr "Nov svet" #: src/supertux/menu/editor_new_levelset_menu.cpp:51 msgid "Please enter a name for this level subset." -msgstr "Prosim, vnesi ime te podskupine" +msgstr "Prosim, vnesi ime te podskupine stopenj." #: src/supertux/menu/world_set_menu.cpp:30 msgid "Story Mode" msgstr "Pripovedni način" -#: src/supertux/menu/game_menu.cpp:31 -msgid "Are you sure?" -msgstr "Si prepričan?" +#: src/supertux/menu/addon_browse_menu.cpp:70 +msgid "Browse Language Packs" +msgstr "Brskaj po jezikovnih paketih" + +#: src/supertux/menu/addon_browse_menu.cpp:112 +#, c++-format +msgid "Page {}/{}" +msgstr "Stran {}/{}" + +#: src/supertux/menu/addon_browse_menu.cpp:124 +msgid "No new language packs available" +msgstr "Na voljo ni novih jezikovnih paketov" + +#: src/supertux/menu/addon_browse_menu.cpp:124 +msgid "No new Add-ons available" +msgstr "Na voljo ni novih dodatkov" + +#: src/supertux/menu/addon_browse_menu.cpp:127 +msgid "No language packs available" +msgstr "Na voljo ni jezikovnih paketov" + +#: src/supertux/menu/addon_browse_menu.cpp:127 +msgid "No Add-ons available" +msgstr "Na voljo ni dodatkov" + +#: src/supertux/menu/addon_browse_menu.cpp:135 +#: src/supertux/menu/addon_browse_menu.cpp:139 +msgid "Previous page" +msgstr "Prejšnja stran" + +#: src/supertux/menu/addon_browse_menu.cpp:143 +#: src/supertux/menu/addon_browse_menu.cpp:147 +msgid "Next page" +msgstr "Naslednja stran" + +#: src/supertux/menu/addon_browse_menu.cpp:154 +msgid "Check Online (disabled)" +msgstr "Preveri na spletu (onemogočeno)" + +#: src/supertux/menu/addon_browse_menu.cpp:158 +msgid "Check Online" +msgstr "Preveri na spletu" + +#: src/supertux/menu/addon_browse_menu.cpp:195 +msgid "Downloading Add-On Repository Index" +msgstr "Prenašam seznam dodatkov v zbirališču" -#: src/supertux/menu/game_menu.cpp:54 src/supertux/menu/worldmap_menu.cpp:30 +#: src/supertux/menu/web_asset_menu.cpp:42 +msgid "New files location" +msgstr "Lokacija za nove datoteke" + +#: src/supertux/menu/web_asset_menu.cpp:43 +msgid "Add Files" +msgstr "Dodaj datoteke" + +#: src/supertux/menu/web_asset_menu.cpp:44 +msgid "Download Files" +msgstr "Prenesi datoteke" + +#: src/supertux/menu/particle_editor_open.cpp:32 +msgid "Load particle file" +msgstr "Naloži datoteko z delci" + +#: src/supertux/menu/particle_editor_open.cpp:39 +msgid "Open" +msgstr "Odpri" + +#: src/supertux/menu/game_menu.cpp:51 src/supertux/menu/worldmap_menu.cpp:30 msgid "Continue" msgstr "Nadaljuj" -#: src/supertux/menu/game_menu.cpp:55 +#: src/supertux/menu/game_menu.cpp:52 msgid "Restart Level" msgstr "Znova zaženi stopnjo" -#: src/supertux/menu/game_menu.cpp:58 +#: src/supertux/menu/game_menu.cpp:55 msgid "Restart from Checkpoint" -msgstr "Začni ponovno na nadzorni točki" +msgstr "Začni ponovno na varni točki" -#: src/supertux/menu/game_menu.cpp:63 +#: src/supertux/menu/game_menu.cpp:60 msgid "Abort Level" -msgstr "Prekliči stopnjo" +msgstr "Zapusti stopnjo" -#: src/supertux/menu/keyboard_menu.cpp:32 -#: src/supertux/menu/joystick_menu.cpp:69 -msgid "Up" -msgstr "Gor" +#: src/supertux/menu/game_menu.cpp:76 src/supertux/menu/game_menu.cpp:87 +#: src/supertux/menu/game_menu.cpp:99 +msgid "Are you sure?" +msgstr "Si prepričan/a?" -#: src/supertux/menu/keyboard_menu.cpp:33 -#: src/supertux/menu/joystick_menu.cpp:70 -msgid "Down" -msgstr "Dol" +#: src/supertux/menu/profile_name_menu.cpp:36 +#, c++-format +msgid "Rename \"{}\"" +msgstr "Preimenuj \"{}\"" -#: src/supertux/menu/keyboard_menu.cpp:34 +#: src/supertux/menu/profile_name_menu.cpp:36 +msgid "Add profile" +msgstr "Dodaj profil" + +#: src/supertux/menu/profile_name_menu.cpp:40 +msgid "Profile names must have a maximum of 20 characters." +msgstr "Imena profilov imajo lahko največ 20 znakov." + +#: src/supertux/menu/profile_name_menu.cpp:42 +msgid "Create" +msgstr "Ustvari" + +#: src/supertux/menu/profile_name_menu.cpp:56 +msgid "" +"Profile names must have a maximum of 20 characters.\n" +"Please choose a different name." +msgstr "Imena profilov imajo lahko največ 20 znakov.\nProsim, izberi drugačno ime." + +#: src/supertux/menu/profile_name_menu.cpp:77 +msgid "An error occurred while creating the profile." +msgstr "Med ustvarjanjem profila je prišlo do napake." + +#: src/supertux/menu/keyboard_menu.cpp:36 #: src/supertux/menu/joystick_menu.cpp:71 -msgid "Left" -msgstr "Levo" +msgid "Up" +msgstr "Gor" -#: src/supertux/menu/keyboard_menu.cpp:35 +#: src/supertux/menu/keyboard_menu.cpp:37 #: src/supertux/menu/joystick_menu.cpp:72 -msgid "Right" -msgstr "Desno" +msgid "Down" +msgstr "Dol" -#: src/supertux/menu/keyboard_menu.cpp:36 -#: src/supertux/menu/joystick_menu.cpp:73 +#: src/supertux/menu/keyboard_menu.cpp:40 +#: src/supertux/menu/joystick_menu.cpp:75 msgid "Jump" msgstr "Skok" -#: src/supertux/menu/keyboard_menu.cpp:38 -#: src/supertux/menu/joystick_menu.cpp:76 +#: src/supertux/menu/keyboard_menu.cpp:43 +#: src/supertux/menu/joystick_menu.cpp:78 msgid "Peek Left" -msgstr "Pokukaj Levo" +msgstr "Pokukaj levo" -#: src/supertux/menu/keyboard_menu.cpp:39 -#: src/supertux/menu/joystick_menu.cpp:77 +#: src/supertux/menu/keyboard_menu.cpp:44 +#: src/supertux/menu/joystick_menu.cpp:79 msgid "Peek Right" -msgstr "Pokukaj Desno" +msgstr "Pokukaj desno" -#: src/supertux/menu/keyboard_menu.cpp:40 -#: src/supertux/menu/joystick_menu.cpp:78 +#: src/supertux/menu/keyboard_menu.cpp:45 +#: src/supertux/menu/joystick_menu.cpp:80 msgid "Peek Up" -msgstr "Pokukaj Gor" +msgstr "Pokukaj gor" -#: src/supertux/menu/keyboard_menu.cpp:41 -#: src/supertux/menu/joystick_menu.cpp:79 +#: src/supertux/menu/keyboard_menu.cpp:46 +#: src/supertux/menu/joystick_menu.cpp:81 msgid "Peek Down" -msgstr "Pokukaj Dol" +msgstr "Pokukaj dol" -#: src/supertux/menu/keyboard_menu.cpp:43 -#: src/supertux/menu/joystick_menu.cpp:81 +#: src/supertux/menu/keyboard_menu.cpp:51 +#: src/supertux/menu/joystick_menu.cpp:83 msgid "Console" msgstr "Konzola" -#: src/supertux/menu/keyboard_menu.cpp:46 -#: src/supertux/menu/joystick_menu.cpp:82 +#: src/supertux/menu/keyboard_menu.cpp:52 +#: src/supertux/menu/joystick_menu.cpp:84 msgid "Cheat Menu" -msgstr "Meni goljufij" +msgstr "Meni švindlanja" -#: src/supertux/menu/keyboard_menu.cpp:47 -#: src/supertux/menu/joystick_menu.cpp:83 +#: src/supertux/menu/keyboard_menu.cpp:53 +#: src/supertux/menu/joystick_menu.cpp:85 msgid "Debug Menu" msgstr "Razhroščevalni meni" -#: src/supertux/menu/keyboard_menu.cpp:49 -#: src/supertux/menu/joystick_menu.cpp:85 +#: src/supertux/menu/keyboard_menu.cpp:56 +#: src/supertux/menu/joystick_menu.cpp:87 msgid "Jump with Up" -msgstr "Skoči z Gor" +msgstr "Skoči z \"gor\"" -#: src/supertux/menu/keyboard_menu.cpp:62 +#: src/supertux/menu/keyboard_menu.cpp:82 msgid "Up cursor" msgstr "Tipka navzgor" -#: src/supertux/menu/keyboard_menu.cpp:64 +#: src/supertux/menu/keyboard_menu.cpp:84 msgid "Down cursor" msgstr "Tipka navzdol" -#: src/supertux/menu/keyboard_menu.cpp:66 +#: src/supertux/menu/keyboard_menu.cpp:86 msgid "Left cursor" msgstr "Tipka levo" -#: src/supertux/menu/keyboard_menu.cpp:68 +#: src/supertux/menu/keyboard_menu.cpp:88 msgid "Right cursor" msgstr "Tipka desno" -#: src/supertux/menu/keyboard_menu.cpp:70 +#: src/supertux/menu/keyboard_menu.cpp:90 msgid "Return" -msgstr "Enter" +msgstr "Vnašalka" -#: src/supertux/menu/keyboard_menu.cpp:72 +#: src/supertux/menu/keyboard_menu.cpp:92 msgid "Space" msgstr "Preslednica" -#: src/supertux/menu/keyboard_menu.cpp:74 +#: src/supertux/menu/keyboard_menu.cpp:94 msgid "Right Shift" -msgstr "Desni Shift" +msgstr "Desna dvigalka" -#: src/supertux/menu/keyboard_menu.cpp:76 +#: src/supertux/menu/keyboard_menu.cpp:96 msgid "Left Shift" -msgstr "Levi Shift" +msgstr "Leva dvigalka" -#: src/supertux/menu/keyboard_menu.cpp:78 +#: src/supertux/menu/keyboard_menu.cpp:98 msgid "Right Control" -msgstr "Desni Control" +msgstr "Desna krmilka" -#: src/supertux/menu/keyboard_menu.cpp:80 +#: src/supertux/menu/keyboard_menu.cpp:100 msgid "Left Control" -msgstr "Levi Control" +msgstr "Leva krmilka" -#: src/supertux/menu/keyboard_menu.cpp:82 +#: src/supertux/menu/keyboard_menu.cpp:102 msgid "Right Alt" -msgstr "Desni Alt" +msgstr "Desna izmenjevalka" -#: src/supertux/menu/keyboard_menu.cpp:84 +#: src/supertux/menu/keyboard_menu.cpp:104 msgid "Left Alt" -msgstr "Levi Alt" +msgstr "Leva izmenjevalka" -#: src/supertux/menu/keyboard_menu.cpp:86 +#: src/supertux/menu/keyboard_menu.cpp:106 msgid "Right Command" -msgstr "Desni Command" +msgstr "Desni Cmd" -#: src/supertux/menu/keyboard_menu.cpp:88 +#: src/supertux/menu/keyboard_menu.cpp:108 msgid "Left Command" -msgstr "Levi Command" +msgstr "Levi Cmd" -#: src/supertux/menu/keyboard_menu.cpp:102 +#: src/supertux/menu/keyboard_menu.cpp:122 msgid "Press Key" -msgstr "Pritisnite tipko" +msgstr "Pritisni tipko" -#: src/supertux/menu/language_menu.cpp:40 +#: src/supertux/menu/language_menu.cpp:43 msgid "Language" msgstr "Jezik" -#: src/supertux/menu/language_menu.cpp:42 +#: src/supertux/menu/language_menu.cpp:45 msgid "" msgstr "" -#: src/supertux/menu/joystick_menu.cpp:55 +#: src/supertux/menu/joystick_menu.cpp:57 msgid "Manual Configuration" msgstr "Ročna konfiguracija" -#: src/supertux/menu/joystick_menu.cpp:57 +#: src/supertux/menu/joystick_menu.cpp:59 msgid "" "Use manual configuration instead of SDL2's automatic GameController support" -msgstr "Uporabi ročno konfiguracijo namesto SDL2 samodejne GameController podpore" +msgstr "Uporabi ročno konfiguracijo namesto SDL2-jeve samodejne podpore GameController" -#: src/supertux/menu/joystick_menu.cpp:75 +#: src/supertux/menu/joystick_menu.cpp:77 msgid "Pause/Menu" msgstr "Premor/Meni" -#: src/supertux/menu/joystick_menu.cpp:91 +#: src/supertux/menu/joystick_menu.cpp:93 msgid "No Joysticks found" -msgstr "Ne najdem užitkarske palice" +msgstr "Ne najdem igralne palice" -#: src/supertux/menu/joystick_menu.cpp:92 +#: src/supertux/menu/joystick_menu.cpp:94 msgid "Scan for Joysticks" -msgstr "Poišči užitkarske palice" +msgstr "Poišči igralne palice" -#: src/supertux/menu/joystick_menu.cpp:125 +#: src/supertux/menu/joystick_menu.cpp:127 msgid "Press Button" msgstr "Pritisnite gumb" -#: src/supertux/menu/joystick_menu.cpp:162 +#: src/supertux/menu/joystick_menu.cpp:164 msgid "Axis " msgstr "Os" -#: src/supertux/menu/joystick_menu.cpp:165 +#: src/supertux/menu/joystick_menu.cpp:167 msgid "-" msgstr "-" -#: src/supertux/menu/joystick_menu.cpp:167 +#: src/supertux/menu/joystick_menu.cpp:169 msgid "+" msgstr "+" -#: src/supertux/menu/joystick_menu.cpp:174 +#: src/supertux/menu/joystick_menu.cpp:176 msgid "X2" msgstr "X2" -#: src/supertux/menu/joystick_menu.cpp:176 +#: src/supertux/menu/joystick_menu.cpp:178 msgid "Y2" msgstr "Y2" -#: src/supertux/menu/joystick_menu.cpp:189 +#: src/supertux/menu/joystick_menu.cpp:191 msgid "Hat Up" msgstr "Poglej gor" -#: src/supertux/menu/joystick_menu.cpp:193 +#: src/supertux/menu/joystick_menu.cpp:195 msgid "Hat Down" msgstr "Poglej dol" -#: src/supertux/menu/joystick_menu.cpp:197 +#: src/supertux/menu/joystick_menu.cpp:199 msgid "Hat Left" msgstr "Poglej levo" -#: src/supertux/menu/joystick_menu.cpp:201 -msgid "Hat Right" -msgstr "Poglej desno" +#: src/supertux/menu/joystick_menu.cpp:203 +msgid "Hat Right" +msgstr "Poglej desno" + +#: src/supertux/menu/worldmap_menu.cpp:28 +msgid "Pause" +msgstr "Premor" + +#: src/supertux/menu/worldmap_menu.cpp:33 +msgid "Leave World" +msgstr "Zapusti svet" + +#: src/supertux/menu/download_dialog.cpp:42 +msgid "Abort Download" +msgstr "Prekliči prenos" + +#: src/supertux/menu/download_dialog.cpp:59 +#, c++-format +msgid "" +"Error:\n" +"{}" +msgstr "Napaka:\n{}" + +#: src/supertux/menu/cheat_menu.cpp:38 +msgid "Bonus: Star" +msgstr "Bonus: Zvezda" + +#: src/supertux/menu/cheat_menu.cpp:39 +msgid "Shrink Tux" +msgstr "Pomanjšaj Tuksa" + +#: src/supertux/menu/cheat_menu.cpp:40 +msgid "Kill Tux" +msgstr "Ubij Tuksa" + +#: src/supertux/menu/cheat_menu.cpp:55 +msgid "Prevent Death" +msgstr "Prepreči smrt" + +#: src/supertux/menu/addon_file_install_menu.cpp:32 +msgid "Install Add-on from file" +msgstr "Namesti dodatek iz datoteke" + +#: src/supertux/menu/addon_file_install_menu.cpp:34 +msgid "Drag and drop add-on ZIP archive" +msgstr "Povleci in spusti dodatek v obliki arhiva ZIP" + +#: src/supertux/menu/particle_editor_menu.cpp:32 +msgid "Particle Editor" +msgstr "Urejevalnik delcev" + +#: src/supertux/menu/particle_editor_menu.cpp:36 +#: src/supertux/menu/editor_menu.cpp:60 +msgid "Return to Editor" +msgstr "Nazaj v urejevalnik" + +#: src/supertux/menu/particle_editor_menu.cpp:37 +msgid "New Particle Config" +msgstr "Nova konfiguracija delcev" -#: src/supertux/menu/worldmap_menu.cpp:28 -msgid "Pause" -msgstr "Premor" +#: src/supertux/menu/particle_editor_menu.cpp:38 +msgid "Save Particle Config" +msgstr "Shrani konfiguracijo delcev" -#: src/supertux/menu/worldmap_menu.cpp:33 -msgid "Leave World" -msgstr "Zapusti svet" +#: src/supertux/menu/particle_editor_menu.cpp:39 +msgid "Save Particle Config as..." +msgstr "Shrani konfiguracijo delcev kot ..." -#: src/supertux/menu/download_dialog.cpp:27 -msgid "Abort Download" -msgstr "Prekliči prenos" +#: src/supertux/menu/particle_editor_menu.cpp:40 +msgid "Load Another Particle Config" +msgstr "Naloži novo konfiguracijo delcev" -#: src/supertux/menu/download_dialog.cpp:42 -msgid "Error:\n" -msgstr "Napaka:\n" +#: src/supertux/menu/particle_editor_menu.cpp:44 +msgid "Open Particle Directory" +msgstr "Odpri imenik delcev" -#: src/supertux/menu/download_dialog.cpp:96 -msgid "Close" -msgstr "Zapri" +#: src/supertux/menu/particle_editor_menu.cpp:45 +#: src/supertux/menu/editor_menu.cpp:118 +msgid "Keyboard Shortcuts" +msgstr "Bližnjice na tipkovnici" -#: src/supertux/menu/cheat_menu.cpp:37 -msgid "Bonus: Star" -msgstr "Bonus: Zvezda" +#: src/supertux/menu/particle_editor_menu.cpp:49 +msgid "Exit Particle Editor" +msgstr "Zapusti urejevalnik delcev" -#: src/supertux/menu/cheat_menu.cpp:38 -msgid "Shrink Tux" -msgstr "Pomanjšaj Tuxa" +#: src/supertux/menu/particle_editor_menu.cpp:121 +msgid "" +"Keyboard Shortcuts:\n" +"---------------------\n" +"Esc = Open Menu\n" +"Ctrl+S = Save\n" +"Ctrl+Shift+S = Save as\n" +"Ctrl+O = Open\n" +"Ctrl+Z = Undo\n" +"Ctrl+Y = Redo" +msgstr "Bližnjice:\n---------------------\nEsc = Odpri meni\nCtrl+S = Shrani\nCtrl+Shift+S = Shrani kot\nCtrl+O = Odpri\nCtrl+Z = Razveljavi\nCtrl+Y = Ponovi" -#: src/supertux/menu/cheat_menu.cpp:39 -msgid "Kill Tux" -msgstr "Ubij Tixa" +#: src/supertux/menu/particle_editor_menu.cpp:122 +#: src/supertux/menu/editor_menu.cpp:206 +msgid "Got it!" +msgstr "Razumem!" #: src/supertux/menu/editor_level_menu.cpp:31 -#: src/supertux/menu/editor_menu.cpp:70 +#: src/supertux/menu/editor_menu.cpp:116 msgid "Worldmap Settings" -msgstr "Nastavitve zemljevida sveta" +msgstr "Nastavitve zarisa sveta" #: src/supertux/menu/editor_level_menu.cpp:31 -#: src/supertux/menu/editor_menu.cpp:70 +#: src/supertux/menu/editor_menu.cpp:116 msgid "Level Settings" msgstr "Nastavitve stopnje" @@ -2167,7 +4050,7 @@ msgstr "Nastavitve stopnje" msgid "Author" msgstr "Avtor" -#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1129 +#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1253 msgid "Contact" msgstr "Kontakt" @@ -2176,114 +4059,160 @@ msgid "License" msgstr "Licenca" #: src/supertux/menu/editor_level_menu.cpp:37 +msgid "Level Note" +msgstr "Pripis" + +#: src/supertux/menu/editor_level_menu.cpp:38 msgid "Tileset" -msgstr "Set podlag" +msgstr "Nabor podlag" -#: src/supertux/menu/editor_level_menu.cpp:40 +#: src/supertux/menu/editor_level_menu.cpp:41 msgid "Target Time" msgstr "Ciljni čas" -#: src/supertux/menu/editor_level_menu.cpp:82 +#: src/supertux/menu/editor_level_menu.cpp:83 msgid "Please enter a name for this level." -msgstr "Prosim, vnesi ime za to stopnjo." +msgstr "Vnesi ime za to stopnjo." -#: src/supertux/menu/editor_level_menu.cpp:86 +#: src/supertux/menu/editor_level_menu.cpp:87 msgid "Please enter a level author for this level." -msgstr "Prosim, vnesi avtorja te stopnje." +msgstr "Vnesi avtorja te stopnje." -#: src/supertux/menu/editor_level_menu.cpp:90 +#: src/supertux/menu/editor_level_menu.cpp:91 msgid "Please enter a license for this level." -msgstr "Prosim, vnesi licenco za to stopnjo." - -#: src/supertux/menu/editor_menu.cpp:34 -msgid "1/8 tile (4px)" -msgstr "1/8 podlage (4px)" +msgstr "Vnesi licenco za to stopnjo." -#: src/supertux/menu/editor_menu.cpp:35 -msgid "1/4 tile (8px)" -msgstr "1/4 podlage (8px)" +#: src/supertux/menu/editor_menu.cpp:53 +msgid "tiny tile (4px)" +msgstr "drobna podlaga (4 px)" -#: src/supertux/menu/editor_menu.cpp:36 -msgid "1/2 tile (16px)" -msgstr "1/2 podlage (16px)" +#: src/supertux/menu/editor_menu.cpp:54 +msgid "small tile (8px)" +msgstr "majhna podlaga (8 px)" -#: src/supertux/menu/editor_menu.cpp:37 -msgid "1 tile (32px)" -msgstr "1 podlaga (32px)" +#: src/supertux/menu/editor_menu.cpp:55 +msgid "medium tile (16px)" +msgstr "povprečna podlaga (16 px)" -#: src/supertux/menu/editor_menu.cpp:41 -msgid "Return to Editor" -msgstr "Nazaj v urejevalnik" +#: src/supertux/menu/editor_menu.cpp:56 +msgid "big tile (32px)" +msgstr "velika podlaga (32 px)" -#: src/supertux/menu/editor_menu.cpp:42 +#: src/supertux/menu/editor_menu.cpp:61 msgid "Save Worldmap" -msgstr "Shrani zemljevid sveta" +msgstr "Shrani zaris sveta" -#: src/supertux/menu/editor_menu.cpp:42 +#: src/supertux/menu/editor_menu.cpp:61 msgid "Save Level" msgstr "Shrani stopnjo" -#: src/supertux/menu/editor_menu.cpp:45 +#: src/supertux/menu/editor_menu.cpp:65 msgid "Test Level" msgstr "Preizkusi stopnjo" -#: src/supertux/menu/editor_menu.cpp:49 +#: src/supertux/menu/editor_menu.cpp:67 msgid "Test Worldmap" -msgstr "Preizkusi zemljevid sveta" +msgstr "Preizkusi zaris sveta" -#: src/supertux/menu/editor_menu.cpp:52 +#: src/supertux/menu/editor_menu.cpp:72 msgid "Share Level" msgstr "Deli stopnjo" -#: src/supertux/menu/editor_menu.cpp:54 +#: src/supertux/menu/editor_menu.cpp:74 +msgid "Package Add-On" +msgstr "Zapakiraj dodatek" + +#: src/supertux/menu/editor_menu.cpp:76 msgid "Open Level Directory" -msgstr "Odpri mapo stopnje" +msgstr "Odpri imenik stopnje" -#: src/supertux/menu/editor_menu.cpp:57 +#: src/supertux/menu/editor_menu.cpp:79 msgid "Edit Another Level" msgstr "Uredi drugo stopnjo" -#: src/supertux/menu/editor_menu.cpp:60 +#: src/supertux/menu/editor_menu.cpp:81 msgid "Edit Another World" msgstr "Uredi drug svet" -#: src/supertux/menu/editor_menu.cpp:64 +#: src/supertux/menu/editor_menu.cpp:86 +msgid "Convert all tiles in the level using converters." +msgstr "S pretvorniki pretvori vse podlage v stopnji." + +#: src/supertux/menu/editor_menu.cpp:90 msgid "Grid Size" msgstr "Velikost mreže" -#: src/supertux/menu/editor_menu.cpp:65 +#: src/supertux/menu/editor_menu.cpp:91 msgid "Show Grid" msgstr "Pokaži mrežo" -#: src/supertux/menu/editor_menu.cpp:66 +#: src/supertux/menu/editor_menu.cpp:92 msgid "Grid Snapping" msgstr "Pripenjanje na mrežo" -#: src/supertux/menu/editor_menu.cpp:67 +#: src/supertux/menu/editor_menu.cpp:93 msgid "Render Background" msgstr "Izriši ozadje" -#: src/supertux/menu/editor_menu.cpp:68 +#: src/supertux/menu/editor_menu.cpp:94 msgid "Render Light" msgstr "Izriši osvetlitev" -#: src/supertux/menu/editor_menu.cpp:72 -msgid "Keyboard Shortcuts" -msgstr "Bližnjice na tipkovnici" +#: src/supertux/menu/editor_menu.cpp:95 +msgid "Autotile Mode" +msgstr "Način samo-gradnje" + +#: src/supertux/menu/editor_menu.cpp:96 +msgid "Enable Autotile Help" +msgstr "Vključi pomoč samo-gradnje" + +#: src/supertux/menu/editor_menu.cpp:97 +msgid "Enable Object Undo Tracking" +msgstr "Omogoči pomnjenje razveljavitev" + +#: src/supertux/menu/editor_menu.cpp:100 +msgid "Undo Stack Size" +msgstr "Velikost sklada razveljavitev" + +#: src/supertux/menu/editor_menu.cpp:102 +msgid "Autosave Frequency" +msgstr "Pogostost samodejnega shranjevanja" -#: src/supertux/menu/editor_menu.cpp:75 +#: src/supertux/menu/editor_menu.cpp:108 +msgid "Check for Deprecated Tiles" +msgstr "Preveri za zastarele podlage" + +#: src/supertux/menu/editor_menu.cpp:109 +msgid "Check if any deprecated tiles are currently present in the level." +msgstr "Preveri, ali so v stopnji prisotne kakšne zastarele podlage" + +#: src/supertux/menu/editor_menu.cpp:110 +msgid "Show Deprecated Tiles" +msgstr "Prikaži zastarele podlage" + +#: src/supertux/menu/editor_menu.cpp:111 +msgid "" +"Indicate all deprecated tiles on the active tilemap, without the need of " +"hovering over." +msgstr "Označi vse zastarele podlage na trenutnem zarisu, ne da bi ti bilo treba z miško lebdeti nad njimi." + +#: src/supertux/menu/editor_menu.cpp:121 msgid "Exit Level Editor" msgstr "Zapusti urejevalnik" -#: src/supertux/menu/editor_menu.cpp:122 +#: src/supertux/menu/editor_menu.cpp:170 +msgid "Do you want to package this world as an add-on?" +msgstr "Želiš zapakirati ta svet kot dodatek?" + +#: src/supertux/menu/editor_menu.cpp:196 msgid "" "We encourage you to share your levels in the SuperTux forum.\n" "To find your level, click the\n" "\"Open Level directory\" menu item.\n" "Do you want to go to the forum now?" -msgstr "Vabimo te, da svoje stopnje deliš na SuperTux forumu.\nSvojo stopnjo najdeš tako,\nda klikneš gumb \"Odpri direktorij stopenj\".\nTe preusmerimo na forum (v angleškem jeziku)?" +msgstr "Vabimo te, da svoje stopnje deliš na SuperTux forumu.\nSvojo stopnjo najdeš tako,\nda klikneš gumb \"Odpri imenik stopenj\".\nTe preusmerimo na forum (v angleškem jeziku)?" -#: src/supertux/menu/editor_menu.cpp:134 +#: src/supertux/menu/editor_menu.cpp:205 msgid "" "Keyboard Shortcuts:\n" "---------------------\n" @@ -2294,564 +4223,924 @@ msgid "" "Ctrl+Y = Redo\n" "F6 = Render Light\n" "F7 = Grid Snapping\n" -"F8 = Show Grid" -msgstr "Bližnjice:\n---------------------\nEsc = Odpri meni\nCtrl+S = Shrani\nCtrl+T = Testiraj\nCtrl+Z = Razveljavi\nCtrl+Y = Ponovi\nF6 = Izriši osvetlitev\nF7 = Pripni na mrežo\nF8 = Pokaži mrežo" +"F8 = Show Grid\n" +"Ctrl++ or Ctrl+Scroll Up = Zoom In\n" +"Ctrl+- or Ctrl+Scroll Down = Zoom Out\n" +"Ctrl+D = Reset Zoom\n" +"\n" +"Scripting Shortcuts:\n" +" ------------- \n" +"Home = Go to beginning of line\n" +"End = Go to end of line\n" +"Left arrow = Go back in text\n" +"Right arrow = Go forward in text\n" +"Backspace = Delete in front of text cursor\n" +"Delete = Delete behind text cursor\n" +"Ctrl+X = Cut whole line\n" +"Ctrl+C = Copy whole line\n" +"Ctrl+V = Paste\n" +"Ctrl+D = Duplicate line\n" +"Ctrl+Z = Undo\n" +"Ctrl+Y = Redo" +msgstr "Bližnjice na tipkovnici:\n---------------------\nEsc = Odpri meni\nCtrl+S = Shrani\nCtrl+T = Testiraj\nCtrl+Z = Razveljavi\nCtrl+Y = Obnovi\nF6 = Upodobi svetlobo\nF7 = Pripni na mrežo\nF8 = Pokaži mrežo\nCtrl++ ali Ctrl+Scroll Up = Približaj\nCtrl+- ali Ctrl+Scroll Down = Oddalji\nCtrl+D = Ponastavi oddaljenost\n\nBližnjice za pisanje skript:\n ------------- \nHome = Pojdi na začetek vrstice\nEnd = Pojdi na konec vrstice\nLeft arrow = Pojdi nazaj po besedilu\nRight arrow = Pojdi naprej po besedilu\nBackspace = Briši besedilo pred kazalcem\nDelete = Briši besedilo za kazalcem\nCtrl+X = Izreži celo vrstico\nCtrl+C = Kopiraj celo vrstico\nCtrl+V = Prilepi\nCtrl+D = Podvoji vrstico\nCtrl+Z = Razveljavi\nCtrl+Y = Obnovi" -#: src/supertux/menu/editor_menu.cpp:135 -msgid "Got it!" -msgstr "Razumem!" +#: src/supertux/menu/editor_menu.cpp:232 +msgid "Deprecated tiles are still present in the level." +msgstr "V stopnji so še zastarele podlage." + +#: src/supertux/menu/editor_menu.cpp:239 +msgid "Do you want to show all deprecated tiles on active tilemaps?" +msgstr "Ali želiš prikazati vse zastarele podlage na trenutnem zarisu?" + +#: src/supertux/menu/editor_menu.cpp:246 +msgid "There are no more deprecated tiles in the level!" +msgstr "V stopnji ni več zastarelih podlag!" + +#: src/supertux/menu/multiplayer_player_menu.cpp:40 +msgid "Play with the keyboard" +msgstr "Igraj s tipkovnico" + +#: src/supertux/menu/multiplayer_player_menu.cpp:58 +msgid "Remove Player" +msgstr "Odstrani igralca" + +#: src/supertux/menu/multiplayer_player_menu.cpp:82 +msgid "Respawn Player" +msgstr "Ponovno udejanji igralca" + +#: src/supertux/menu/multiplayer_player_menu.cpp:108 +msgid "Spawn Player" +msgstr "Udejanji igralca" + +#: src/supertux/menu/multiplayer_player_menu.cpp:136 +msgid "Controllers" +msgstr "Krmilniki" + +#: src/supertux/menu/multiplayer_player_menu.cpp:152 +msgid "" +"This controller does not support rumbling;\n" +"please check the controllers manually." +msgstr "Ta krmilnik ne podpira vibriranja.\nKrmilnike boš moral/a preveriti ročno." + +#: src/supertux/menu/multiplayer_player_menu.cpp:157 +msgid "" +"This SuperTux build does not support rumbling\n" +"controllers; please check the controllers manually." +msgstr "Ta različica SuperTuksa ne podpira vibriranja\nkrmilnikov. Krmilnike preveri ročno, prosim." + +#: src/supertux/menu/multiplayer_player_menu.cpp:184 +msgid "" +"This joystick does not support rumbling;\n" +"please check the joysticks manually." +msgstr "Ta igralna palica ne podpira vibriranja.\nIgralne palice boš moral/a preveriti ročno." + +#: src/supertux/menu/multiplayer_player_menu.cpp:189 +msgid "" +"This SuperTux build does not support rumbling\n" +"joysticks; please check the joysticks manually." +msgstr "Ta različica SuperTuksa ne podpira vibriranja\nigralnih palic. Igralne palice preveri ročno, prosim." -#: src/supertux/levelintro.cpp:136 -#, c-format +#: src/supertux/menu/editor_delete_level_menu.cpp:59 +msgid "No levels available" +msgstr "Na voljo ni nobenih stopenj" + +#: src/supertux/menu/editor_delete_level_menu.cpp:79 +msgid "You cannot delete the level that you are editing!" +msgstr "Ne moreš izbrisati stopnje, ki jo urejaš!" + +#: src/supertux/menu/editor_delete_level_menu.cpp:82 +#, c++-format +msgid "You are about to delete level \"{}\". Are you sure?" +msgstr "To bo izbrisalo stopnjo \"{}\". Ali si prepričan/a?" + +#: src/supertux/levelintro.cpp:137 +#, c++-format msgid "contributed by {}" -msgstr "prispeval {}" +msgstr "Avtor/ica: {}" -#: src/supertux/levelintro.cpp:169 +#: src/supertux/levelintro.cpp:184 msgid "Badguys killed" -msgstr "Pridaniči ubiti" +msgstr "Ubitih pridaničev" -#: src/supertux/levelintro.cpp:177 +#: src/supertux/levelintro.cpp:192 msgid "Best time" msgstr "Najboljši čas" -#: src/supertux/levelintro.cpp:181 +#: src/supertux/levelintro.cpp:196 msgid "Level target time" msgstr "Ciljni čas stopnje" -#: src/supertux/tile_set.cpp:92 +#: src/supertux/tile_set.cpp:113 msgid "Others" -msgstr "Ostali" +msgstr "Drugo" + +#: src/supertux/direction.cpp:67 +msgid "up" +msgstr "gor" + +#: src/supertux/direction.cpp:69 +msgid "down" +msgstr "dol" -#: src/supertux/moving_object.cpp:44 +#: src/supertux/moving_object.cpp:63 msgid "Region" msgstr "Regija" +#: src/supertux/main.cpp:801 +#, c++-format +msgid "New release: SuperTux v{}!" +msgstr "Nova izdaja: SuperTuks različica {}!" + +#: src/supertux/main.cpp:804 +#, c++-format +msgid "" +"A new release of SuperTux (v{}) is available!\n" +"For more information, you can visit the SuperTux website.\n" +"\n" +"Do you want to visit the website now?" +msgstr "Izšla je nova izdaja SuperTuksa (različica {})!\nVeč o tem piše na spletnem mestu SuperTux.\n\nAli ga želiš obiskati kar zdaj?" + +#: src/supertux/main.cpp:815 +msgid "Checking for new releases..." +msgstr "Preverjam za nove izdaje ..." + #: src/control/joystick_config.cpp:85 msgid "Joystick Mappings" msgstr "Prilagoditev igralne palice" -#: src/worldmap/worldmap_parser.cpp:167 +#: src/worldmap/sprite_change.cpp:91 +msgid "Stay action" +msgstr "Stoječa drža" + +#: src/worldmap/sprite_change.cpp:92 +msgid "Initial stay action" +msgstr "Začetna drža" + +#: src/worldmap/sprite_change.cpp:93 +msgid "Stay group" +msgstr "Skupina stanja" + +#: src/worldmap/sprite_change.cpp:94 +msgid "Change on touch" +msgstr "Sprememba ob dotiku" + +#: src/worldmap/special_tile.hpp:36 +msgid "Special Tile" +msgstr "Posebna podlaga" + +#: src/worldmap/level_tile.hpp:36 src/worldmap/level_tile.cpp:161 +msgid "Level" +msgstr "Stopnja" + +#: src/worldmap/teleporter.cpp:50 +msgid "Automatic" +msgstr "Samodejno" + +#: src/worldmap/teleporter.cpp:51 +msgid "Target worldmap" +msgstr "Ciljni zaris sveta" + +#: src/worldmap/sprite_change.hpp:35 +msgid "Sprite Change" +msgstr "Sprememba animiranega izrezka" + +#: src/worldmap/special_tile.cpp:75 +msgid "Show message" +msgstr "Pokaži sporočilo" + +#: src/worldmap/level_tile.cpp:84 msgid "" msgstr "" -#: src/editor/node_marker.cpp:79 +#: src/worldmap/level_tile.cpp:162 +msgid "Outro script" +msgstr "Skripta ob odjavni špici" + +#: src/worldmap/level_tile.cpp:163 +msgid "Auto play" +msgstr "Samodejno predvajaj" + +#: src/worldmap/level_tile.cpp:164 +msgid "Title colour" +msgstr "Barva naslova" + +#: src/worldmap/teleporter.hpp:34 +msgid "Teleporter" +msgstr "Teleportirnik" + +#: src/editor/tip.cpp:80 +msgid "" +"This object's current functionality is deprecated.\n" +"Updating to get its latest functionality is recommended." +msgstr "Funkcionalnost tega predmeta je zastarela.\nPosodabljam za novejšo različico funkcionalnosti." + +#: src/editor/node_marker.cpp:122 msgid "Path Node" msgstr "Presek poti" -#: src/editor/object_settings.cpp:112 -msgid "up" -msgstr "gor" +#: src/editor/node_marker.cpp:123 +msgid "Press CTRL to move Bezier handles" +msgstr "Pritisni krmilko, da premakneš ročaje krivulje" -#: src/editor/object_settings.cpp:112 -msgid "down" -msgstr "dol" +#: src/editor/node_marker.cpp:127 +msgid "Easing" +msgstr "Iztekanje" -#: src/editor/object_settings.cpp:124 +#: src/editor/object_settings.cpp:129 msgid "West" msgstr "Zahod" -#: src/editor/object_settings.cpp:124 +#: src/editor/object_settings.cpp:129 msgid "East" msgstr "Vzhod" -#: src/editor/object_settings.cpp:124 +#: src/editor/object_settings.cpp:129 msgid "North" msgstr "Sever" -#: src/editor/object_settings.cpp:124 +#: src/editor/object_settings.cpp:129 msgid "South" msgstr "Jug" -#: src/editor/object_settings.cpp:137 +#: src/editor/object_settings.cpp:142 msgid "One shot" -msgstr "Enkratno" +msgstr "Premočrtno" -#: src/editor/object_settings.cpp:137 +#: src/editor/object_settings.cpp:142 msgid "Ping-pong" msgstr "Tja in spet nazaj" -#: src/editor/object_settings.cpp:137 +#: src/editor/object_settings.cpp:142 msgid "Circular" msgstr "Krožno" -#: src/editor/object_settings.cpp:137 -msgid "Unordered" -msgstr "Neurejeno" +#: src/editor/layers_widget.cpp:331 +#, c++-format +msgid "Sector: {}" +msgstr "Predel: {}" -#: src/editor/object_option.cpp:83 +#: src/editor/object_option.cpp:92 msgid "true" msgstr "drži" -#: src/editor/object_option.cpp:83 +#: src/editor/object_option.cpp:92 msgid "false" msgstr "ne drži" -#: src/editor/object_option.cpp:246 src/editor/object_option.cpp:295 +#: src/editor/object_option.cpp:308 src/editor/object_option.cpp:356 msgid "invalid" msgstr "neveljavno" -#: src/editor/object_option.cpp:553 +#: src/editor/object_option.cpp:665 +msgid "Scale X" +msgstr "Velikost po X" + +#: src/editor/object_option.cpp:666 +msgid "Scale Y" +msgstr "Velikost po Y" + +#: src/editor/object_option.cpp:667 +msgid "Offset X" +msgstr "Odmik po X" + +#: src/editor/object_option.cpp:668 +msgid "Offset Y" +msgstr "Odmik po Y" + +#: src/editor/object_option.cpp:672 src/editor/object_menu.cpp:67 msgid "Remove" msgstr "Odstrani" -#: src/editor/worldmap_objects.hpp:56 src/editor/worldmap_objects.cpp:129 -msgid "Level" -msgstr "Stopnja" +#: src/editor/object_option.cpp:689 +msgid "Test from here" +msgstr "Testiraj od tu naprej" -#: src/editor/worldmap_objects.hpp:79 -msgid "Teleporter" -msgstr "Teleporter" +#: src/editor/object_option.cpp:706 +msgid "Open Particle Editor" +msgstr "Odpri urejevalnik delcev" -#: src/editor/worldmap_objects.hpp:119 -msgid "Sprite Change" -msgstr "Sprememba animirane sličice" +#: src/editor/particle_editor.cpp:114 +msgid "Change texture... ->" +msgstr "Spremeni teksturo ... ->" + +#: src/editor/particle_editor.cpp:126 +msgid "Max amount" +msgstr "Največja količina" + +#: src/editor/particle_editor.cpp:142 +msgid "Spawn anywhere" +msgstr "Udejanji kjerkoli" + +#: src/editor/particle_editor.cpp:143 +msgid "Life duration" +msgstr "Trajanje obstoja" + +#: src/editor/particle_editor.cpp:148 +msgid "Birth duration" +msgstr "Trajanje nastajanja" + +#: src/editor/particle_editor.cpp:153 +msgid "Death duration" +msgstr "Trajanje odmiranja" + +#: src/editor/particle_editor.cpp:160 +msgid "Grow" +msgstr "Rast" + +#: src/editor/particle_editor.cpp:175 +msgid "Horizontal speed" +msgstr "Vodoravna hitrost" + +#: src/editor/particle_editor.cpp:180 +msgid "Vertical speed" +msgstr "Navpična hitrost" + +#: src/editor/particle_editor.cpp:185 +msgid "Horizontal acceleration" +msgstr "Vodoravni pospešek" + +#: src/editor/particle_editor.cpp:186 +msgid "Vertical acceleration" +msgstr "Navpični pospešek" + +#: src/editor/particle_editor.cpp:187 +msgid "Horizontal friction" +msgstr "Vodoravno trenje" + +#: src/editor/particle_editor.cpp:188 +msgid "Vertical friction" +msgstr "Navpično trenje" + +#: src/editor/particle_editor.cpp:190 +msgid "Initial rotation" +msgstr "Začetni zasuk" + +#: src/editor/particle_editor.cpp:201 +msgid "Rotation friction/decceleration" +msgstr "Trenje/pojemek zasuka" + +#: src/editor/particle_editor.cpp:211 +msgid "Destroy" +msgstr "Uničenje" + +#: src/editor/particle_editor.cpp:215 +msgid "Stick to surface" +msgstr "Ustavitev na površini" + +#: src/editor/particle_editor.cpp:216 +msgid "Stick and stay" +msgstr "Trajna ustavitev" -#: src/editor/worldmap_objects.hpp:140 -msgid "Special tile" -msgstr "Posebna podloga" +#: src/editor/particle_editor.cpp:217 +msgid "No collision" +msgstr "Brez kolizije" -#: src/editor/editor.cpp:477 +#: src/editor/particle_editor.cpp:222 +msgid "Always destroy" +msgstr "Vedno uniči" + +#: src/editor/particle_editor.cpp:226 +msgid "Offscreen mode" +msgstr "Zunajzaslonski način" + +#: src/editor/particle_editor.cpp:229 +msgid "Clear" +msgstr "Počisti" + +#: src/editor/particle_editor.cpp:245 +msgid "<- General settings" +msgstr "<- Splošne nastavitve" + +#: src/editor/particle_editor.cpp:255 +msgid "Likeliness" +msgstr "Verjetnost" + +#: src/editor/particle_editor.cpp:266 +msgid "Color (RGBA)" +msgstr "Barva (RGBA)" + +#: src/editor/particle_editor.cpp:311 +msgid "Scale (x, y)" +msgstr "Velikost (x, y)" + +#: src/editor/particle_editor.cpp:332 +msgid "Hitbox scale (x, y)" +msgstr "Velikost občutljivega področja (x, y)" + +#: src/editor/particle_editor.cpp:353 +msgid "Hitbox offset relative to scale" +msgstr "Odmik občutljivega področja glede na velikost" + +#: src/editor/particle_editor.cpp:372 +msgid "Change texture..." +msgstr "Spremeni teksturo ..." + +#: src/editor/particle_editor.cpp:766 +msgid "" +"This particle configuration contains unsaved changes,\n" +"do you want to save?" +msgstr "Ta konfiguracija vsebuje neshranjene spremembe.\nJih shranim?" + +#: src/editor/particle_editor.cpp:774 +msgid "Save as" +msgstr "Shrani kot" + +#: src/editor/editor.cpp:577 +msgid "" +"This level contains deprecated tiles.\n" +"It is strongly recommended to replace all deprecated tiles\n" +"to avoid loss of compatibility in future versions." +msgstr "Ta stopnja vsebuje zastarele podlage.\nPriporočam, da zamenjaš vse zastarele podlage in se tako\nizogneš nezdružljivosti z bodočimi različicami igre." + +#: src/editor/editor.cpp:579 +msgid "Tip: Turn on \"Show Deprecated Tiles\" from the level editor menu." +msgstr "Namig: V meniju urejevalnika vklopi možnost \"Prikaži zastarele podlage\"" + +#: src/editor/editor.cpp:626 +msgid "" +"Don't forget that your levels and assets\n" +"aren't saved between sessions!\n" +"If you want to keep your levels, download them\n" +"from the \"Manage Assets\" menu." +msgstr "Ne pozabi, da se tvoje stopnje in sredstva\nne shranijo med sejami!\nČe želiš obdržati svoje stopnje, jih prenesi\niz menija za upravljanje sredstev." + +#: src/editor/editor.cpp:661 msgid "This level contains unsaved changes, do you want to save?" -msgstr "Ta stopnja ima nekaj neshranjenih sprememb. Jo shranim?" +msgstr "Ta stopnja vsebuje nekaj neshranjenih sprememb. Jih shranim?" -#: src/editor/editor.cpp:517 +#: src/editor/editor.cpp:662 +msgid "This level may contain unsaved changes, do you want to save?" +msgstr "Ta stopnja morda vsebuje neshranjene spremembe. Jih želiš shraniti?" + +#: src/editor/editor.cpp:797 msgid "" "Some obsolete add-ons are still active\n" "and might cause collisions with default Super Tux structure.\n" "You can still enable these add-ons in the menu.\n" "Disabling these add-ons will not delete your game progress." -msgstr "Nekaj zastarelih dodatkov je še prisotnih\nin lahko povzročijo nasprotja v osnovni strukturi igre.\nČe želiš, jih lahko omogočiš v meniju.\nTudi, če jih onemogočiš, se bo tvoj napredek še zmeraj\nohranil." +msgstr "Nekaj zastarelih dodatkov je še dejavnih,\nkar lahko povzroči neskladja v osnovni strukturi igre.\nČe želiš, jih lahko omogočiš v meniju.\nTudi če jih onemogočiš, se bo tvoj napredek v igri\nše zmeraj ohranil." -#: src/editor/editor.cpp:520 +#: src/editor/editor.cpp:800 msgid "Disable add-ons" msgstr "Onemogoči dodatke" -#: src/editor/editor.cpp:525 +#: src/editor/editor.cpp:805 msgid "Ignore (not advised)" -msgstr "Zanemari (ne priporočamo)" +msgstr "Zanemari (ni priporočljivo)" -#: src/editor/editor.cpp:529 +#: src/editor/editor.cpp:809 msgid "Leave editor" msgstr "Zapusti urejevalnik" -#: src/editor/editor.cpp:740 +#: src/editor/editor.cpp:1023 msgid "" "Couldn't find a \"main\" sector.\n" "Please change the name of the sector where\n" "you'd like the player to start to \"main\"" -msgstr "Ni bilo mogoče najti \"glavne\" cone.\nProsim, spremeni ime cone, kjer naj igralec\nzačne, v \"main\"" +msgstr "Ni bilo mogoče najti \"glavnega\" predela.\nProsim, spremeni ime predela, kjer naj igralec\nzačne igro, v \"main\"" -#: src/editor/editor.cpp:744 +#: src/editor/editor.cpp:1027 msgid "" "Couldn't find a \"main\" spawnpoint.\n" " Please change the name of the spawnpoint where\n" "you'd like the player to start to \"main\"" msgstr "Ni bilo mogoče najti \"glavne\" začetne točke.\nProsim, spremeni ime točke, kjer naj igralec\nzačne, v \"main\"" -#: src/editor/worldmap_objects.cpp:130 -msgid "Outro script" -msgstr "Izvodni zapis" - -#: src/editor/worldmap_objects.cpp:131 -msgid "Auto play" -msgstr "Samodejno predvajaj" - -#: src/editor/worldmap_objects.cpp:133 -msgid "Title colour" -msgstr "Barva naslova" - -#: src/editor/worldmap_objects.cpp:175 -msgid "Automatic" -msgstr "Samodejno" - -#: src/editor/worldmap_objects.cpp:177 -msgid "Target worldmap" -msgstr "Nameri v zemljevid sveta" - -#: src/editor/worldmap_objects.cpp:240 -msgid "Stay action" -msgstr "Stoječa drža" - -#: src/editor/worldmap_objects.cpp:241 -msgid "Initial stay action" -msgstr "Začetna drža" - -#: src/editor/worldmap_objects.cpp:242 -msgid "Stay group" -msgstr "Skupina stanja" +#: src/editor/object_menu.cpp:60 +msgid "Patch Notes" +msgstr "Novosti posodobitve" -#: src/editor/worldmap_objects.cpp:243 -msgid "Change on touch" -msgstr "Sprememba ob dotiku" - -#: src/editor/worldmap_objects.cpp:273 -msgid "Show message" -msgstr "Pokaži sporočilo" - -#: src/editor/worldmap_objects.cpp:275 -msgid "Invisible" -msgstr "Neviden" +#: src/editor/object_menu.cpp:84 +msgid "" +"This will update the object to its latest functionality.\n" +"Check the \"Patch Notes\" for more information.\n" +"\n" +"Keep in mind this is very likely to break the proper behaviour of the object.\n" +"Make sure to re-check any behaviour, related to the object." +msgstr "To bo posodobilo funkcionalnost predmeta.\nVeč piše v novostih posodobitve.\n\nZlahka se zgodi, da predmet zaradi tega ne bo več deloval kot pričakovano.\nPriporočam, da preveriš obnašanje predmeta in njegove okolice." + +#: src/editor/object_menu.cpp:98 +#, c++-format +msgid "Patch notes for v{}:" +msgstr "Novosti za različico {}:" + +#: src/editor/overlay_widget.cpp:1062 +msgid "Cannot select deprecated tiles" +msgstr "Ne morem izbrati zastarelih podlag" + +#: src/editor/overlay_widget.cpp:1567 +msgid "Autotile mode is on" +msgstr "Način samodejne gradnje je vključen" + +#: src/editor/overlay_widget.cpp:1571 +msgid "Hold Ctrl to enable autotile" +msgstr "Omogoči samo-gradnjo z držanjem krmilke" + +#: src/editor/overlay_widget.cpp:1578 +msgid "Autotile erasing mode is on" +msgstr "Način brisanja samo-gradnje je vključen" + +#: src/editor/overlay_widget.cpp:1582 +msgid "Selected tile isn't autotileable" +msgstr "Izbrana podlaga ni samo-gradljiva" + +#: src/editor/overlay_widget.cpp:1587 +msgid "Hold Ctrl to enable autotile erasing" +msgstr "Omogoči brisanje samo-gradnje z držanjem krmilke" #: data//credits.stxt:25 msgid "Current SuperTux Team" -msgstr "Trenutna ekipa SuperTux" +msgstr "Trenutna ekipa SuperTuxa" #: data//credits.stxt:30 -msgid "Programming, project lead ad interim" -msgstr "Programiranje, začasni vodja projekta" +msgid "Maintainer, Programming" +msgstr "Vzdrževanje, programiranje" #: data//credits.stxt:35 msgid "Graphics, Level Design, Story" msgstr "Grafika, oblikovanje stopenj, zgodba" #: data//credits.stxt:40 -msgid "Graphics, Story, Optimisation" -msgstr "Grafika, zgodba, optimizacija" +msgid "Level Design, Story, Optimisation, Coordination" +msgstr "Oblikovanje stopenj, zgodba, optimizacija, koordiniranje" -#: data//credits.stxt:45 data//credits.stxt:100 data//credits.stxt:186 -#: data//credits.stxt:498 +#: data//credits.stxt:45 data//credits.stxt:120 data//credits.stxt:206 +#: data//credits.stxt:538 msgid "Graphics" msgstr "Grafika" -#: data//credits.stxt:50 data//credits.stxt:60 data//credits.stxt:82 -#: data//credits.stxt:88 +#: data//credits.stxt:50 data//credits.stxt:102 data//credits.stxt:108 msgid "Graphics, Programming, Level Design" msgstr "Grafika, programiranje, oblikovanje stopenj" #: data//credits.stxt:55 +msgid "Features and Programming" +msgstr "Nekatere funkcionalnosti in programiranje" + +#: data//credits.stxt:60 +msgid "Minor features and programming" +msgstr "Manjše funkcionalnosti in programiranje" + +#: data//credits.stxt:65 +msgid "Programming, Level Updates" +msgstr "Programiranje, posodobitev stopenj" + +#: data//credits.stxt:70 msgid "Graphics, Programming" msgstr "Grafika, programiranje" -#: data//credits.stxt:65 data//credits.stxt:130 data//credits.stxt:135 -#: data//credits.stxt:140 data//credits.stxt:145 data//credits.stxt:160 -#: data//credits.stxt:165 data//credits.stxt:494 data//credits.stxt:506 +#: data//credits.stxt:75 data//credits.stxt:85 data//credits.stxt:150 +#: data//credits.stxt:155 data//credits.stxt:160 data//credits.stxt:165 +#: data//credits.stxt:180 data//credits.stxt:185 data//credits.stxt:534 +#: data//credits.stxt:546 msgid "Programming" msgstr "Programiranje" -#: data//credits.stxt:71 +#: data//credits.stxt:80 data//credits.stxt:266 +msgid "Level Design" +msgstr "Oblikovanje stopenj" + +#: data//credits.stxt:91 msgid "Original Developers" msgstr "Prvotni razvijalci" -#: data//credits.stxt:76 +#: data//credits.stxt:96 msgid "Original Developer" msgstr "Prvotni razvijalec" -#: data//credits.stxt:94 +#: data//credits.stxt:114 msgid "Music, Level Design" msgstr "Glasba, oblikovanje stopenj" -#: data//credits.stxt:106 +#: data//credits.stxt:126 msgid "Programming, Graphics, Level Design" msgstr "Programiranje, grafika, oblikovanje stopenj" -#: data//credits.stxt:112 +#: data//credits.stxt:132 msgid "Programming, Level Design" msgstr "Programiranje, oblikovanje stopenj" -#: data//credits.stxt:118 +#: data//credits.stxt:138 msgid "Graphics, Story" msgstr "Grafika, zgodba" -#: data//credits.stxt:124 +#: data//credits.stxt:144 msgid "Programming, Documentation" msgstr "Programiranje, dokumentacija" -#: data//credits.stxt:150 +#: data//credits.stxt:170 msgid "Coordination" msgstr "Koordinacija" -#: data//credits.stxt:155 +#: data//credits.stxt:175 msgid "Programming, \"Flexlay\" Level editor" msgstr "Programiranje, urejevalnik stopenj \"Flexlay\"" -#: data//credits.stxt:170 +#: data//credits.stxt:190 msgid "Windows build fixes" -msgstr "Popravki izgradnje za Windows" +msgstr "Popravki verzije za Windows" -#: data//credits.stxt:175 +#: data//credits.stxt:195 msgid "Packaging, Nightly builds" -msgstr "Pakiranje, redne nočne izgradnje" +msgstr "Pakiranje, redne nočne verzije" -#: data//credits.stxt:180 +#: data//credits.stxt:200 msgid "Translation Guru (and many details anyone else could have done)" -msgstr "Prevajalski Guru (in ogromno podrobnosti, ki bi jih lahko storil kdorkoli)" +msgstr "Prevajalski Guru (in ogromno raznoraznih malenkosti)" -#: data//credits.stxt:240 -msgid "Level Design" -msgstr "Oblikovanje stopenj" - -#: data//credits.stxt:414 +#: data//credits.stxt:450 msgid "Additional contributors" msgstr "Dodatni prispevki" -#: data//credits.stxt:419 +#: data//credits.stxt:455 msgid "Bug fixes" msgstr "Popravki nepravilnosti" -#: data//credits.stxt:423 +#: data//credits.stxt:459 msgid "Scripting functions, Level fixes" -msgstr "Funkcije skriptov, popravki stopenj" +msgstr "Skriptne funkcije, popravki stopenj" -#: data//credits.stxt:427 +#: data//credits.stxt:463 msgid "Code quality fixes" -msgstr "Izboljšanje kode" +msgstr "Popravki kakovosti kode" -#: data//credits.stxt:431 data//credits.stxt:435 data//credits.stxt:439 -#: data//credits.stxt:466 +#: data//credits.stxt:467 data//credits.stxt:471 data//credits.stxt:475 +#: data//credits.stxt:502 msgid "Various contributions" msgstr "Različni prispevki" -#: data//credits.stxt:443 +#: data//credits.stxt:479 msgid "Build issue fix" -msgstr "Popravki končne izgradnje" +msgstr "Popravki gradnje verzij" -#: data//credits.stxt:447 data//credits.stxt:451 +#: data//credits.stxt:483 data//credits.stxt:487 msgid "Code contributions" msgstr "Prispevki za kodo" -#: data//credits.stxt:454 +#: data//credits.stxt:490 msgid "Code contribution, AppData file" msgstr "Prispevki za kodo, datoteka AppData" -#: data//credits.stxt:458 +#: data//credits.stxt:494 msgid "Bug fix" msgstr "Popravki nepravilnosti" -#: data//credits.stxt:462 +#: data//credits.stxt:498 msgid "Menu reorganization" msgstr "Preureditev menija" -#: data//credits.stxt:470 +#: data//credits.stxt:506 msgid "Fixing tile bugs" -msgstr "Popravki nepravilnosti v objektih" +msgstr "Popravki nepravilnosti v podlagah" -#: data//credits.stxt:474 +#: data//credits.stxt:510 msgid "Build error fix" -msgstr "Popravki napake v izgradnji" +msgstr "Popravki napak v gradnji verzij" -#: data//credits.stxt:478 +#: data//credits.stxt:514 msgid "Scripting function fix" -msgstr "Popravki funkcije skriptov" +msgstr "Popravki skriptnih funkcij" + +#: data//credits.stxt:518 +msgid "New features and notable updates" +msgstr "Nove funkcionalnosti in posodobitve" -#: data//credits.stxt:482 +#: data//credits.stxt:522 msgid "Support for \"glbinding\" as optional OpenGL binding" -msgstr "Podpora za \"glbinding\" kot izbirne vezave OpenGL" +msgstr "Podpora za \"glbinding\" kot izbirne vezave v OpenGL" -#: data//credits.stxt:486 +#: data//credits.stxt:526 msgid "New menu code" -msgstr "Nova koda za meni" +msgstr "Nova koda menija" -#: data//credits.stxt:490 +#: data//credits.stxt:530 msgid "Big Tux Walking Sprites improvements" -msgstr "Velike izboljšave animacije hodečega Tuxa" +msgstr "Izboljšave animacije hoje za velikega Tuksa" -#: data//credits.stxt:502 data//credits.stxt:510 +#: data//credits.stxt:542 data//credits.stxt:550 msgid "Contrib Programming" msgstr "Prispevki pri programiranju" -#: data//credits.stxt:514 +#: data//credits.stxt:554 msgid "Programming, Previous Maintainer" -msgstr "Programiranje, predhodni vzdrževalec" +msgstr "Programiranje, predhodno vzdrževanje" -#: data//credits.stxt:518 +#: data//credits.stxt:558 msgid "Various Contributions" msgstr "Različni prispevki" -#: data//credits.stxt:522 data//credits.stxt:526 data//credits.stxt:530 -#: data//credits.stxt:534 data//credits.stxt:538 data//credits.stxt:542 -#: data//credits.stxt:546 data//credits.stxt:550 data//credits.stxt:554 +#: data//credits.stxt:562 data//credits.stxt:566 data//credits.stxt:570 +#: data//credits.stxt:574 data//credits.stxt:578 data//credits.stxt:582 +#: data//credits.stxt:586 data//credits.stxt:590 data//credits.stxt:594 +#: data//credits.stxt:598 data//credits.stxt:602 data//credits.stxt:606 +#: data//credits.stxt:610 data//credits.stxt:614 data//credits.stxt:618 +#: data//credits.stxt:622 data//credits.stxt:626 data//credits.stxt:630 +#: data//credits.stxt:634 data//credits.stxt:638 data//credits.stxt:642 +#: data//credits.stxt:646 data//credits.stxt:650 data//credits.stxt:654 +#: data//credits.stxt:658 data//credits.stxt:662 msgid "Contributions" msgstr "Prispevki" -#: data//credits.stxt:560 +#: data//credits.stxt:668 msgid "Localization" msgstr "Lokalizacija" -#: data//credits.stxt:1107 +#: data//credits.stxt:1231 msgid " Special Thanks to" msgstr "Posebna zahvala:" -#: data//credits.stxt:1112 +#: data//credits.stxt:1236 msgid "Creator of Tux, the Linux penguin" -msgstr "Ustvarjalec pingvinčka Tuxa, Linuxove maskote" +msgstr "Ustvarjalec pingvinčka Tuksa, Linuxove maskote" -#: data//credits.stxt:1116 +#: data//credits.stxt:1240 msgid "SDL, OpenAL and OpenGL" msgstr "SDL, OpenAL in OpenGL" -#: data//credits.stxt:1117 +#: data//credits.stxt:1241 msgid "" "For making such a great gaming experience\n" " possible on Linux" msgstr "Ker so omogočili najboljšo možno igralno\nizkušnjo na Linuxu" -#: data//credits.stxt:1122 +#: data//credits.stxt:1246 msgid "and you, the player" msgstr "in tebi, igralec/ka," -#: data//credits.stxt:1123 +#: data//credits.stxt:1247 msgid "for giving this game a chance and playing it" msgstr "ker si igral/a to igro" -#: data//credits.stxt:1134 +#: data//credits.stxt:1258 msgid "Visit our webpage at" msgstr "Obišči našo spletno stran:" -#: data//credits.stxt:1143 +#: data//credits.stxt:1267 msgid "Or visit us directly at IRC:" msgstr "Ali pa pridi k nam neposredno na IRC:" -#: data//credits.stxt:1147 -msgid "#supertux at webchat.freenode.net" -msgstr "#supertux na webchat.freenode.net" +#: data//credits.stxt:1271 +msgid "#supertux at web.libera.chat" +msgstr "#supertux na web.libera.chat" -#: data//credits.stxt:1152 +#: data//credits.stxt:1276 msgid "Or at our Forum:" msgstr "Ali na naš forum:" -#: data//credits.stxt:1161 +#: data//credits.stxt:1285 msgid "Comments, ideas and suggestions" -msgstr "Za komentarje, ideje in predloge" +msgstr "Za pripombe, ideje in predloge" -#: data//credits.stxt:1165 +#: data//credits.stxt:1289 msgid "go to our mailing list" msgstr "pojdi na naš e-poštni seznam" #. l10n: typo contact -#: data//credits.stxt:1175 +#: data//credits.stxt:1299 msgid "Typographical errors can be" msgstr "Tiskarske napake lahko" #. l10n: typo contact -#: data//credits.stxt:1180 +#: data//credits.stxt:1304 msgid "reported to" msgstr "prijaviš na" #. l10n: typo contact, see -#: data//credits.stxt:1185 +#: data//credits.stxt:1309 msgid "supertux-devel@lists.lethargik.org" msgstr "supertux-devel@lists.lethargik.org" -#: data//credits.stxt:1192 +#: data//credits.stxt:1316 msgid "Want to help…" -msgstr "Bi rad/a pomagal/a..." +msgstr "Bi rad/a pomagal/a ..." -#: data//credits.stxt:1197 +#: data//credits.stxt:1321 msgid "…with localization?" -msgstr "...pri prevajanju?" +msgstr "... pri prevajanju?" -#: data//credits.stxt:1207 +#: data//credits.stxt:1331 msgid "…with something else?" -msgstr "...pri čem drugem?" +msgstr "... pri čem drugem?" -#: data//credits.stxt:1218 +#: data//credits.stxt:1342 msgid "Thank you for" msgstr "Hvala, ker si" -#: data//credits.stxt:1222 +#: data//credits.stxt:1346 msgid "playing" msgstr "igral/a" -#: data//credits.stxt:1232 +#: data//credits.stxt:1356 msgid "Penny awaits you in warmer temperatures!" -msgstr "Penny te čaka v toplejših krajih!" +msgstr "Pika te čaka v toplejših krajih!" + +#: data//images/engine/editor/objects.stoi:4 +msgid "Enemies" +msgstr "Sovragi" -#: data//images/engine/editor/objects.stoi:156 +#: data//images/engine/editor/objects.stoi:162 msgid "Bosses" msgstr "Šefi" -#: data//images/engine/editor/objects.stoi:167 +#: data//images/engine/editor/objects.stoi:173 msgid "Projectiles" msgstr "Izstrelki" -#: data//images/engine/editor/objects.stoi:181 +#: data//images/engine/editor/objects.stoi:184 msgid "Environment" msgstr "Okolje" -#: data//images/ice_world.strf:6 data//images/tiles.strf:327 -#: data//images/worldmap.strf:67 -msgid "Forest" -msgstr "Gozd" - -#: data//images/ice_world.strf:106 +#: data//images/ice_world.strf:80 msgid "Ice Cave & Crystal" -msgstr "Ledena jama & Kristal" +msgstr "Ledena jama in kristal" -#: data//images/ice_world.strf:153 +#: data//images/ice_world.strf:127 msgid "Embellishments" msgstr "Okraski" -#: data//images/ice_world.strf:237 -msgid "Ice" -msgstr "Led" +#: data//images/ice_world.strf:320 +msgid "Underground Forest" +msgstr "Podzemni gozd" -#: data//images/ice_world.strf:282 data//images/tiles.strf:693 -msgid "Castle" -msgstr "Grad" +#: data//images/ice_world.strf:375 +msgid "Trees & Bushes" +msgstr "Drevesa in grmičevje" + +#: data//images/ice_world.strf:406 +msgid "Seasonal" +msgstr "Sezonsko" -#: data//images/ice_world.strf:328 +#: data//images/ice_world.strf:496 +msgid "Structure" +msgstr "Struktura" + +#: data//images/ice_world.strf:557 msgid "Pathing" msgstr "Stezice" -#: data//images/ice_world.strf:424 +#: data//images/ice_world.strf:718 msgid "Water" msgstr "Voda" -#: data//images/tiles.strf:19 data//images/worldmap.strf:41 -msgid "Snow" -msgstr "Sneg" - -#: data//images/tiles.strf:124 +#: data//images/tiles.strf:252 msgid "Snow Background" msgstr "Snežno ozadje" -#: data//images/tiles.strf:162 -msgid "Snow Mountain" -msgstr "Snežna gora" - -#: data//images/tiles.strf:236 +#: data//images/tiles.strf:300 msgid "Crystal" msgstr "Kristal" -#: data//images/tiles.strf:457 +#: data//images/tiles.strf:539 msgid "Forest Background" msgstr "Gozdno ozadje" -#: data//images/tiles.strf:572 +#: data//images/tiles.strf:690 +msgid "Corrupted Forest" +msgstr "Skvarjeni gozd" + +#: data//images/tiles.strf:868 +msgid "Corrupted Background" +msgstr "Skvarjeno ozadje" + +#: data//images/tiles.strf:991 msgid "Block + Bonus" -msgstr "Kocka + Bonus" +msgstr "Kocka + bonus" -#: data//images/tiles.strf:618 +#: data//images/tiles.strf:1069 msgid "Pole + Signs" -msgstr "Drog + Znaki" +msgstr "Drog + znaki" -#: data//images/tiles.strf:661 +#: data//images/tiles.strf:1113 msgid "Liquid" msgstr "Tekočina" -#: data//images/tiles.strf:833 data//images/worldmap.strf:199 +#: data//images/tiles.strf:1131 +msgid "Castle" +msgstr "Grad" + +#: data//images/tiles.strf:1231 data//images/worldmap.strf:199 msgid "Halloween" msgstr "Noč čarovnic" -#: data//images/tiles.strf:861 +#: data//images/tiles.strf:1272 msgid "Industrial" msgstr "Industrijsko" -#: data//images/tiles.strf:876 +#: data//images/tiles.strf:1287 msgid "Unisolid + Lightmap" msgstr "Nestabilno + Svetilna tekstura" -#: data//images/tiles.strf:893 +#: data//images/tiles.strf:1314 msgid "Miscellaneous" msgstr "Razno" -#: data//images/tiles.strf:927 -msgid "Old/Unused" -msgstr "Staro/nerabljeno" +#: data//images/tiles.strf:1342 +msgid "Retro Tiles" +msgstr "Retro podlage" #: data//images/worldmap.strf:24 msgid "Water paths" -msgstr "Vodne steze" +msgstr "Vodnate steze" #: data//images/worldmap.strf:32 msgid "Castle paths" @@ -2860,3 +5149,19 @@ msgstr "Grajske steze" #: data//images/worldmap.strf:135 msgid "Darker Forest" msgstr "Temačni gozd" + +#: data//images/converters/data.stcd:3 +msgid "Nightly Tiles" +msgstr "Nočne podlage" + +#: data//images/converters/data.stcd:5 +msgid "For levels, created in previous Nightly builds." +msgstr "Za stopnje, ki so bile ustvarjene v prejšnjih nočnih različicah" + +#: data//images/converters/data.stcd:8 +msgid "Pre-0.6.3 Crystal Tiles" +msgstr "Kristalne podlage pred 0.6.3" + +#: data//images/converters/data.stcd:10 +msgid "For levels, created in pre-0.6.3 versions, which use crystal tiles." +msgstr "Za stopnje, ustvarjene pred različico 0.6.3, ki uporabljajo kristalne podlage" diff --git a/data/locale/zh_CN.po b/data/locale/zh_CN.po index a78b192d766..b74c93f9f84 100644 --- a/data/locale/zh_CN.po +++ b/data/locale/zh_CN.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: SuperTux\n" "Report-Msgid-Bugs-To: https://github.com/SuperTux/supertux/issues\n" -"POT-Creation-Date: 2024-03-03 03:26+0100\n" +"POT-Creation-Date: 2024-05-30 16:19+0200\n" "PO-Revision-Date: 2013-08-10 22:56+0000\n" "Last-Translator: Matatabi Wang, 2024\n" "Language-Team: Chinese (China) (http://app.transifex.com/arctic-games/supertux/language/zh_CN/)\n" @@ -30,7 +30,7 @@ msgid "You found a secret area!" msgstr "你找到了一个秘密区域!" #: src/trigger/secretarea_trigger.cpp:55 src/supertux/game_object.cpp:115 -#: src/supertux/menu/editor_sector_menu.cpp:34 +#: src/supertux/menu/editor_sector_menu.cpp:36 #: src/supertux/menu/editor_levelset_menu.cpp:52 #: src/supertux/menu/editor_new_levelset_menu.cpp:34 #: src/supertux/menu/profile_name_menu.cpp:39 @@ -49,7 +49,7 @@ msgid "Message" msgstr "消息" #: src/trigger/secretarea_trigger.cpp:58 src/trigger/scripttrigger.cpp:51 -#: src/trigger/door.cpp:72 src/object/ispy.cpp:53 +#: src/trigger/door.cpp:79 src/object/ispy.cpp:53 #: src/object/bonus_block.cpp:264 src/object/bonus_block.cpp:268 #: src/object/pushbutton.cpp:62 src/object/powerup.cpp:301 #: src/worldmap/special_tile.cpp:76 @@ -80,7 +80,7 @@ msgstr "" msgid "Fade time" msgstr "" -#: src/trigger/text_area.cpp:144 src/object/textscroller.cpp:351 +#: src/trigger/text_area.cpp:144 src/object/textscroller.cpp:353 msgid "Anchor" msgstr "锚点" @@ -96,29 +96,27 @@ msgstr "" msgid "Texts" msgstr "" -#: src/trigger/door.cpp:73 src/badguy/willowisp.cpp:310 -#: src/supertux/menu/editor_sector_menu.cpp:32 src/worldmap/teleporter.cpp:47 -#: src/editor/layers_widget.cpp:329 -#: data//images/engine/editor/objects.stoi:339 +#: src/trigger/door.cpp:80 src/badguy/willowisp.cpp:311 +#: src/worldmap/teleporter.cpp:47 data//images/engine/editor/objects.stoi:342 msgid "Sector" msgstr "区块" -#: src/trigger/door.cpp:74 src/worldmap/spawn_point.hpp:58 +#: src/trigger/door.cpp:81 src/worldmap/spawn_point.hpp:58 msgid "Spawn point" msgstr "出生点" -#: src/trigger/door.cpp:75 +#: src/trigger/door.cpp:82 msgid "Locked?" msgstr "" -#: src/trigger/door.cpp:76 +#: src/trigger/door.cpp:83 msgid "Lock Color" msgstr "" #: src/trigger/switch.cpp:62 src/object/ispy.cpp:54 src/object/bumper.cpp:53 #: src/object/spotlight.cpp:106 src/object/pushbutton.cpp:61 #: src/object/gradient.cpp:103 src/object/conveyor_belt.cpp:60 -#: src/badguy/badguy.cpp:1061 src/worldmap/spawn_point.cpp:79 +#: src/badguy/badguy.cpp:1063 src/worldmap/spawn_point.cpp:79 #: src/worldmap/special_tile.cpp:78 msgid "Direction" msgstr "方向" @@ -206,8 +204,8 @@ msgstr "" msgid "Top Right" msgstr "" -#: src/math/anchor_point.cpp:36 src/object/textscroller.cpp:352 -#: src/object/textscroller.cpp:356 src/supertux/menu/keyboard_menu.cpp:36 +#: src/math/anchor_point.cpp:36 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:38 #: src/supertux/menu/joystick_menu.cpp:73 msgid "Left" msgstr "左" @@ -216,8 +214,8 @@ msgstr "左" msgid "Middle" msgstr "" -#: src/math/anchor_point.cpp:38 src/object/textscroller.cpp:352 -#: src/object/textscroller.cpp:356 src/supertux/menu/keyboard_menu.cpp:37 +#: src/math/anchor_point.cpp:38 src/object/textscroller.cpp:354 +#: src/object/textscroller.cpp:358 src/supertux/menu/keyboard_menu.cpp:39 #: src/supertux/menu/joystick_menu.cpp:74 msgid "Right" msgstr "右" @@ -234,7 +232,7 @@ msgstr "" msgid "Bottom Right" msgstr "" -#: src/object/thunderstorm.hpp:43 +#: src/object/thunderstorm.hpp:44 msgid "Thunderstorm" msgstr "雷雨" @@ -254,23 +252,16 @@ msgstr "粒子区域" #: src/object/path_gameobject.hpp:45 src/object/coin.cpp:324 #: src/object/camera.cpp:168 src/object/platform.cpp:76 #: src/object/path_gameobject.cpp:175 src/object/tilemap.cpp:284 -#: src/gui/menu_paths.cpp:54 src/badguy/willowisp.cpp:316 +#: src/badguy/willowisp.cpp:317 msgid "Path" msgstr "路径" -#: src/object/decal.cpp:48 src/object/scripted_object.cpp:68 -#: src/object/particlesystem.cpp:65 src/object/background.cpp:184 -#: src/object/thunderstorm.cpp:72 src/object/tilemap.cpp:277 -#: src/object/gradient.cpp:101 -msgid "Z-pos" -msgstr "Z-位置" - -#: src/object/decal.cpp:49 src/object/scripted_object.cpp:71 +#: src/object/decal.cpp:48 src/object/scripted_object.cpp:70 #: src/object/tilemap.cpp:266 msgid "Solid" msgstr "固体" -#: src/object/decal.cpp:50 src/supertux/menu/keyboard_menu.cpp:39 +#: src/object/decal.cpp:49 src/supertux/menu/keyboard_menu.cpp:41 #: src/supertux/menu/joystick_menu.cpp:76 msgid "Action" msgstr "动作" @@ -289,7 +280,7 @@ msgstr "图块地图" #: src/object/sound_object.cpp:69 src/object/ambient_sound.cpp:85 #: src/object/sound_object.hpp:42 src/supertux/menu/options_menu.cpp:128 -#: data//credits.stxt:372 +#: data//credits.stxt:367 msgid "Sound" msgstr "音效" @@ -322,7 +313,7 @@ msgstr "循环平台" #: src/object/invisible_block.cpp:37 src/object/background.cpp:200 #: src/object/tilemap.cpp:279 src/object/gradient.cpp:109 #: src/badguy/viciousivy.cpp:44 src/badguy/snail.cpp:69 -#: src/badguy/smartball.cpp:34 src/badguy/bouncing_snowball.cpp:69 +#: src/badguy/smartball.cpp:34 src/badguy/bouncing_snowball.cpp:81 #: src/badguy/kamikazesnowball.cpp:117 src/badguy/walkingleaf.cpp:35 #: src/badguy/mrbomb.cpp:47 src/badguy/igel.cpp:188 src/badguy/snowball.cpp:40 #: src/badguy/mrtree.cpp:50 src/badguy/mriceblock.cpp:62 @@ -363,12 +354,12 @@ msgstr "角度" #: src/object/spotlight.cpp:104 src/object/magicblock.cpp:95 #: src/object/candle.cpp:75 src/object/torch.cpp:96 src/object/rublight.cpp:55 #: src/object/lantern.cpp:62 src/object/ambient_light.cpp:122 -#: src/object/key.cpp:192 src/badguy/willowisp.cpp:318 +#: src/object/key.cpp:192 src/badguy/willowisp.cpp:319 #: src/badguy/walking_candle.cpp:91 msgid "Color" msgstr "颜色" -#: src/object/spotlight.cpp:105 src/object/textscroller.cpp:348 +#: src/object/spotlight.cpp:105 src/object/textscroller.cpp:350 #: src/object/rain_particle_system.cpp:102 src/object/conveyor_belt.cpp:61 #: src/object/circleplatform.cpp:58 src/badguy/flame.cpp:110 #: src/editor/node_marker.cpp:125 @@ -392,20 +383,20 @@ msgstr "已停止" msgid "Layer" msgstr "层" -#: src/object/scripted_object.cpp:72 +#: src/object/scripted_object.cpp:71 msgid "Physics enabled" msgstr "启用物理" -#: src/object/scripted_object.cpp:73 +#: src/object/scripted_object.cpp:72 msgid "Visible" msgstr "可见" -#: src/object/scripted_object.cpp:74 src/badguy/willowisp.cpp:312 +#: src/object/scripted_object.cpp:73 src/badguy/willowisp.cpp:313 msgid "Hit script" msgstr "命中脚本" #: src/object/custom_particle_system_file.cpp:53 -#: src/object/textscroller.cpp:346 src/object/music_object.cpp:109 +#: src/object/textscroller.cpp:348 src/object/music_object.cpp:109 #: src/supertux/menu/particle_editor_open.cpp:38 msgid "File" msgstr "文件" @@ -529,18 +520,18 @@ msgstr "路径模式" #: src/object/coin.cpp:330 src/object/camera.cpp:172 #: src/object/platform.cpp:78 src/object/tilemap.cpp:291 -#: src/badguy/willowisp.cpp:321 +#: src/badguy/willowisp.cpp:322 msgid "Adapt Speed" msgstr "适应速度" #: src/object/coin.cpp:331 src/object/platform.cpp:81 -#: src/object/tilemap.cpp:285 src/badguy/willowisp.cpp:317 +#: src/object/tilemap.cpp:285 src/badguy/willowisp.cpp:318 msgid "Starting Node" msgstr "起始节点" #: src/object/coin.cpp:332 src/object/camera.cpp:173 #: src/object/platform.cpp:82 src/object/tilemap.cpp:293 -#: src/badguy/willowisp.cpp:322 +#: src/badguy/willowisp.cpp:323 msgid "Handle" msgstr "" @@ -568,23 +559,23 @@ msgstr "手动" msgid "autoscroll" msgstr "自动滚屏" -#: src/object/textscroller.cpp:347 +#: src/object/textscroller.cpp:349 msgid "Finish Script" msgstr "完成脚本" -#: src/object/textscroller.cpp:349 +#: src/object/textscroller.cpp:351 msgid "X-offset" msgstr "X-偏移量" -#: src/object/textscroller.cpp:350 +#: src/object/textscroller.cpp:352 msgid "Controllable" msgstr "可控制" -#: src/object/textscroller.cpp:352 src/object/textscroller.cpp:356 +#: src/object/textscroller.cpp:354 src/object/textscroller.cpp:358 msgid "Center" msgstr "居中" -#: src/object/textscroller.cpp:355 +#: src/object/textscroller.cpp:357 msgid "Text Alignment" msgstr "文本对齐" @@ -592,7 +583,7 @@ msgstr "文本对齐" msgid "Lit object" msgstr "" -#: src/object/spawnpoint.hpp:48 src/badguy/willowisp.cpp:311 +#: src/object/spawnpoint.hpp:48 src/badguy/willowisp.cpp:312 #: src/worldmap/teleporter.cpp:48 msgid "Spawnpoint" msgstr "出生点" @@ -605,6 +596,12 @@ msgstr "计数器" msgid "Candle" msgstr "蜡烛" +#: src/object/particlesystem.cpp:65 src/object/background.cpp:184 +#: src/object/thunderstorm.cpp:76 src/object/tilemap.cpp:277 +#: src/object/gradient.cpp:101 src/object/moving_sprite.cpp:193 +msgid "Z-pos" +msgstr "Z-位置" + #: src/object/invisible_block.hpp:30 msgid "Invisible Block" msgstr "不可见方块" @@ -714,7 +711,7 @@ msgid "Platform" msgstr "平台" #: src/object/music_object.hpp:42 src/supertux/menu/options_menu.cpp:130 -#: data//credits.stxt:314 +#: data//credits.stxt:309 msgid "Music" msgstr "音乐" @@ -967,7 +964,7 @@ msgstr "华丽粒子" msgid "Bicycle Platform" msgstr "自行车平台" -#: src/object/platform.cpp:80 src/object/thunderstorm.cpp:73 +#: src/object/platform.cpp:80 src/object/thunderstorm.cpp:77 #: src/object/tilemap.cpp:292 src/object/conveyor_belt.cpp:62 msgid "Running" msgstr "运行" @@ -980,11 +977,11 @@ msgstr "" msgid "Large" msgstr "" -#: src/object/rock.cpp:238 +#: src/object/rock.cpp:234 msgid "On-grab script" msgstr "抓取脚本" -#: src/object/rock.cpp:239 +#: src/object/rock.cpp:235 msgid "On-ungrab script" msgstr "解除抓取脚本" @@ -992,11 +989,11 @@ msgstr "解除抓取脚本" msgid "Interactive particle system" msgstr "互动粒子系统" -#: src/object/thunderstorm.cpp:74 +#: src/object/thunderstorm.cpp:78 msgid "Interval" msgstr "间隔" -#: src/object/thunderstorm.cpp:75 +#: src/object/thunderstorm.cpp:79 msgid "Strike Script" msgstr "攻击脚本" @@ -1033,7 +1030,7 @@ msgstr "出生模式" #: src/object/custom_particle_system.cpp:430 #: src/object/custom_particle_system.cpp:465 src/object/gradient.cpp:115 #: src/gui/menu_string_array.cpp:40 src/gui/menu_string_array.cpp:78 -#: src/supertux/menu/keyboard_menu.cpp:77 +#: src/supertux/menu/keyboard_menu.cpp:80 #: src/supertux/menu/joystick_menu.cpp:108 #: src/supertux/menu/joystick_menu.cpp:215 src/editor/object_settings.cpp:129 #: src/editor/particle_editor.cpp:162 src/editor/particle_editor.cpp:168 @@ -1408,12 +1405,12 @@ msgstr "调整偏移量 X" msgid "Resize offset y" msgstr "调整偏移量 Y" -#: src/object/tilemap.cpp:270 src/supertux/menu/editor_sector_menu.cpp:39 +#: src/object/tilemap.cpp:270 src/supertux/menu/editor_sector_menu.cpp:41 #: src/editor/object_option.cpp:178 msgid "Width" msgstr "宽" -#: src/object/tilemap.cpp:271 src/supertux/menu/editor_sector_menu.cpp:40 +#: src/object/tilemap.cpp:271 src/supertux/menu/editor_sector_menu.cpp:42 #: src/editor/object_option.cpp:179 msgid "Height" msgstr "高" @@ -1435,7 +1432,7 @@ msgid "Tint" msgstr "着色" #: src/object/tilemap.cpp:296 src/supertux/menu/editor_tilegroup_menu.cpp:26 -#: src/editor/toolbox_widget.cpp:99 +#: src/editor/toolbox_widget.cpp:98 msgid "Tiles" msgstr "图块" @@ -1487,7 +1484,7 @@ msgstr "碰撞器" msgid "Length" msgstr "" -#: src/object/moving_sprite.cpp:187 src/object/pneumatic_platform.cpp:161 +#: src/object/moving_sprite.cpp:192 src/object/pneumatic_platform.cpp:161 msgid "Sprite" msgstr "图像" @@ -1547,7 +1544,7 @@ msgstr "点击查看更多内容。" msgid "Do not show again" msgstr "不再显示" -#: src/gui/notification.cpp:157 src/supertux/menu/download_dialog.cpp:123 +#: src/gui/notification.cpp:157 src/supertux/menu/download_dialog.cpp:124 msgid "Close" msgstr "关闭" @@ -1581,7 +1578,7 @@ msgstr "" #: src/gui/menu_string_array.cpp:84 src/gui/menu_object_select.cpp:61 #: src/gui/menu_color.cpp:37 src/gui/dialog.hpp:87 src/gui/menu_script.cpp:46 -#: src/supertux/menu/editor_sector_menu.cpp:46 +#: src/supertux/menu/editor_sector_menu.cpp:48 #: src/supertux/menu/editor_levelset_menu.cpp:58 #: src/supertux/menu/editor_new_levelset_menu.cpp:37 #: src/supertux/menu/editor_level_menu.cpp:45 src/editor/object_menu.cpp:71 @@ -1606,17 +1603,17 @@ msgid "Mix the colour" msgstr "混合颜色" #: src/gui/dialog.hpp:96 src/supertux/menu/editor_level_select_menu.cpp:181 -#: src/editor/editor.cpp:638 +#: src/editor/editor.cpp:663 msgid "Yes" msgstr "是" #: src/gui/dialog.hpp:97 src/supertux/menu/editor_level_select_menu.cpp:185 -#: src/editor/particle_editor.cpp:781 src/editor/editor.cpp:645 +#: src/editor/particle_editor.cpp:781 src/editor/editor.cpp:670 msgid "No" msgstr "否" #: src/gui/menu_list.cpp:38 src/gui/menu_filesystem.cpp:120 -#: src/gui/menu_paths.cpp:46 src/supertux/menu/particle_editor_save_as.cpp:42 +#: src/gui/menu_paths.cpp:48 src/supertux/menu/particle_editor_save_as.cpp:42 #: src/supertux/menu/editor_sectors_menu.cpp:45 #: src/supertux/menu/editor_sectors_menu.cpp:94 #: src/supertux/menu/editor_sectors_menu.cpp:99 @@ -1625,7 +1622,7 @@ msgstr "否" #: src/supertux/menu/editor_level_select_menu.cpp:190 #: src/supertux/menu/editor_save_as.cpp:42 #: src/supertux/menu/particle_editor_open.cpp:43 -#: src/editor/particle_editor.cpp:785 src/editor/editor.cpp:649 +#: src/editor/particle_editor.cpp:785 src/editor/editor.cpp:674 msgid "Cancel" msgstr "取消" @@ -1637,22 +1634,34 @@ msgstr "打开目录" msgid "Edit script" msgstr "编辑脚本" -#: src/gui/menu_paths.cpp:30 +#: src/gui/menu_paths.cpp:32 msgid "Clone" msgstr "克隆" -#: src/gui/menu_paths.cpp:39 +#: src/gui/menu_paths.cpp:41 msgid "" "An error occurred and the game could\n" "not clone the path. Please contact\n" "the developers for support." msgstr "" -#: src/gui/menu_paths.cpp:42 +#: src/gui/menu_paths.cpp:44 msgid "Bind" msgstr "绑定" -#: src/gui/menu_paths.cpp:65 src/supertux/menu/integrations_menu.cpp:60 +#: src/gui/menu_paths.cpp:49 +msgid "" +"Do you wish to clone the path to edit it separately,\n" +"or do you want to bind both paths together\n" +"so that any edit on one edits the other?" +msgstr "" + +#: src/gui/menu_paths.cpp:56 +#, c++-format +msgid "Path {}" +msgstr "" + +#: src/gui/menu_paths.cpp:67 src/supertux/menu/integrations_menu.cpp:60 #: src/supertux/menu/editor_converters_menu.cpp:79 #: src/supertux/menu/video_system_menu.cpp:45 #: src/supertux/menu/contrib_menu.cpp:102 src/supertux/menu/debug_menu.cpp:77 @@ -1661,8 +1670,8 @@ msgstr "绑定" #: src/supertux/menu/editor_level_select_menu.cpp:98 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:42 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:63 -#: src/supertux/menu/worldmap_cheat_menu.cpp:56 -#: src/supertux/menu/worldmap_cheat_menu.cpp:195 +#: src/supertux/menu/worldmap_cheat_menu.cpp:57 +#: src/supertux/menu/worldmap_cheat_menu.cpp:196 #: src/supertux/menu/editor_levelset_select_menu.cpp:114 #: src/supertux/menu/options_menu.cpp:223 #: src/supertux/menu/editor_delete_levelset_menu.cpp:69 @@ -1676,8 +1685,8 @@ msgstr "绑定" #: src/supertux/menu/addon_browse_menu.cpp:162 #: src/supertux/menu/web_asset_menu.cpp:48 #: src/supertux/menu/profile_name_menu.cpp:45 -#: src/supertux/menu/keyboard_menu.cpp:68 -#: src/supertux/menu/sorted_contrib_menu.cpp:53 +#: src/supertux/menu/keyboard_menu.cpp:71 +#: src/supertux/menu/sorted_contrib_menu.cpp:51 #: src/supertux/menu/language_menu.cpp:63 #: src/supertux/menu/joystick_menu.cpp:99 #: src/supertux/menu/contrib_levelset_menu.cpp:67 @@ -1690,28 +1699,16 @@ msgstr "绑定" msgid "Back" msgstr "返回" -#: src/addon/addon_manager.cpp:484 -msgid "Error deleting addon .zip file: \"PHYSFS_delete\" failed: " -msgstr "" - -#: src/addon/addon_manager.cpp:490 -msgid "Error uninstalling add-on: Addon with id " -msgstr "" - -#: src/addon/addon_manager.cpp:490 -msgid " not found." -msgstr "未找到。" - -#: src/addon/addon_manager.cpp:559 +#: src/addon/addon_manager.cpp:562 msgid "Only one resource pack is allowed to be enabled at a time." msgstr "" -#: src/addon/addon_manager.cpp:823 +#: src/addon/addon_manager.cpp:837 #, c++-format msgid "Add-on {} by {} is already installed." msgstr "" -#: src/addon/addon_manager.cpp:843 +#: src/addon/addon_manager.cpp:857 #, c++-format msgid "Add-on {} by {} successfully installed." msgstr "" @@ -1721,7 +1718,7 @@ msgid "Levelset" msgstr "关卡集" #: src/addon/addon.cpp:74 src/supertux/menu/editor_levelset_menu.cpp:54 -#: data//images/engine/editor/objects.stoi:386 +#: data//images/engine/editor/objects.stoi:389 msgid "Worldmap" msgstr "世界地图" @@ -1770,6 +1767,10 @@ msgstr "树先生" msgid "Plant" msgstr "植物" +#: src/badguy/tarantula.hpp:39 src/badguy/tarantula.cpp:353 +msgid "Tarantula" +msgstr "" + #: src/badguy/granito_giant.cpp:71 msgid "Awake" msgstr "" @@ -1808,23 +1809,27 @@ msgstr "图腾" msgid "Stalactite" msgstr "冰刺" -#: src/badguy/fish_chasing.cpp:195 +#: src/badguy/fish_chasing.cpp:198 msgid "Tracking Distance" msgstr "" -#: src/badguy/fish_chasing.cpp:196 +#: src/badguy/fish_chasing.cpp:199 msgid "Losing Distance" msgstr "" -#: src/badguy/fish_chasing.cpp:197 +#: src/badguy/fish_chasing.cpp:200 msgid "Chase Speed" msgstr "" +#: src/badguy/root_sapling.hpp:41 +msgid "Root Sapling" +msgstr "" + #: src/badguy/haywire.hpp:46 msgid "Haywire" msgstr "疯狂炸弹怪" -#: src/badguy/dispenser.hpp:51 +#: src/badguy/dispenser.hpp:52 msgid "Dispenser" msgstr "刷怪器" @@ -1840,7 +1845,7 @@ msgstr "恶龙" msgid "Pumpkin" msgstr "南瓜怪" -#: src/badguy/bouncing_snowball.cpp:70 +#: src/badguy/bouncing_snowball.cpp:82 msgid "Fatbat" msgstr "胖蝙蝠怪" @@ -1857,7 +1862,7 @@ msgid "Mr. Iceblock" msgstr "雪球先生" #: src/badguy/granito.hpp:39 src/badguy/darttrap.cpp:163 -#: src/badguy/corrupted_granito.cpp:175 src/badguy/dispenser.cpp:410 +#: src/badguy/corrupted_granito.cpp:175 src/badguy/dispenser.cpp:438 msgid "Granito" msgstr "" @@ -1912,15 +1917,15 @@ msgstr "雪球船长" msgid "Ghost Tree" msgstr "鬼魂之树" -#: src/badguy/willowisp.cpp:313 +#: src/badguy/willowisp.cpp:314 msgid "Track range" msgstr "追踪范围" -#: src/badguy/willowisp.cpp:314 +#: src/badguy/willowisp.cpp:315 msgid "Vanish range" msgstr "消失范围" -#: src/badguy/willowisp.cpp:315 +#: src/badguy/willowisp.cpp:316 msgid "Fly speed" msgstr "飞行速度" @@ -1932,7 +1937,7 @@ msgstr "球状闪电" msgid "Mole's rock" msgstr "鼹鼠怪的岩石" -#: src/badguy/badguy.cpp:1062 +#: src/badguy/badguy.cpp:1064 msgid "Death script" msgstr "死亡脚本" @@ -2020,31 +2025,31 @@ msgstr "" msgid "Flying Snowball" msgstr "飞行雪球怪" -#: src/badguy/crusher.cpp:74 +#: src/badguy/crusher.cpp:75 msgid "Ice (normal)" msgstr "" -#: src/badguy/crusher.cpp:75 +#: src/badguy/crusher.cpp:76 msgid "Ice (big)" msgstr "" -#: src/badguy/crusher.cpp:76 +#: src/badguy/crusher.cpp:77 msgid "Rock (normal)" msgstr "" -#: src/badguy/crusher.cpp:77 +#: src/badguy/crusher.cpp:78 msgid "Rock (big)" msgstr "" -#: src/badguy/crusher.cpp:78 +#: src/badguy/crusher.cpp:79 msgid "Corrupted (normal)" msgstr "" -#: src/badguy/crusher.cpp:79 +#: src/badguy/crusher.cpp:80 msgid "Corrupted (big)" msgstr "" -#: src/badguy/crusher.cpp:475 +#: src/badguy/crusher.cpp:492 msgid "Sideways" msgstr "朝向两侧" @@ -2104,6 +2109,10 @@ msgstr "尖刺怪" msgid "Walking Leaf" msgstr "" +#: src/badguy/root.hpp:39 +msgid "Root" +msgstr "" + #: src/badguy/owl.cpp:241 msgid "Carry" msgstr "携带" @@ -2148,10 +2157,14 @@ msgstr "蜡烛怪" msgid "Angry Stone" msgstr "愤怒之石" -#: src/badguy/spidermite.hpp:38 +#: src/badguy/tarantula.cpp:354 msgid "Spidermite" msgstr "" +#: src/badguy/tarantula.cpp:374 +msgid "Static" +msgstr "" + #: src/badguy/ghoul.hpp:30 msgid "Ghoul" msgstr "食尸鬼" @@ -2184,41 +2197,41 @@ msgstr "" msgid "Stumpy" msgstr "" -#: src/badguy/dispenser.cpp:384 +#: src/badguy/dispenser.cpp:412 msgid "Interval (seconds)" msgstr "间隔(秒)" -#: src/badguy/dispenser.cpp:385 +#: src/badguy/dispenser.cpp:413 msgid "Random" msgstr "随机" -#: src/badguy/dispenser.cpp:388 +#: src/badguy/dispenser.cpp:416 #: src/supertux/menu/editor_objectgroup_menu.cpp:30 -#: src/editor/toolbox_widget.cpp:102 +#: src/editor/toolbox_widget.cpp:101 msgid "Objects" msgstr "物体" -#: src/badguy/dispenser.cpp:391 +#: src/badguy/dispenser.cpp:419 msgid "Limit dispensed badguys" msgstr "限制刷新的坏人" -#: src/badguy/dispenser.cpp:393 +#: src/badguy/dispenser.cpp:421 msgid "Obey Gravity" msgstr "遵守重力" -#: src/badguy/dispenser.cpp:395 +#: src/badguy/dispenser.cpp:423 msgid "Max concurrent badguys" msgstr "同时出现的最大坏人数" -#: src/badguy/dispenser.cpp:407 +#: src/badguy/dispenser.cpp:435 msgid "Dropper" msgstr "" -#: src/badguy/dispenser.cpp:408 +#: src/badguy/dispenser.cpp:436 msgid "Cannon" msgstr "" -#: src/badguy/dispenser.cpp:409 src/worldmap/special_tile.cpp:77 +#: src/badguy/dispenser.cpp:437 src/worldmap/special_tile.cpp:77 msgid "Invisible" msgstr "不可见" @@ -2230,7 +2243,7 @@ msgstr "蜗牛怪" msgid "Mrs. Snowball" msgstr "" -#: src/badguy/bouncing_snowball.hpp:38 +#: src/badguy/bouncing_snowball.hpp:39 msgid "Bouncing Snowball" msgstr "跳跳雪球怪" @@ -2306,7 +2319,7 @@ msgstr "秘密区域" msgid "Unknown object" msgstr "未知对象" -#: src/supertux/sector.cpp:481 +#: src/supertux/sector.cpp:507 msgid "Press escape to skip" msgstr "按 Esc 跳过" @@ -2472,11 +2485,11 @@ msgstr " SUPERTUX2_USER_DIR 用户数据目录(存档等)" msgid " SUPERTUX2_DATA_DIR Directory for the games datafiles" msgstr " SUPERTUX2_DATA_DIR 游戏数据文件目录" -#: src/supertux/title_screen.cpp:257 +#: src/supertux/title_screen.cpp:272 msgid "Copyright" msgstr "Copyright" -#: src/supertux/title_screen.cpp:258 +#: src/supertux/title_screen.cpp:273 msgid "" "This game comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to\n" "redistribute it under certain conditions; see the license file for details.\n" @@ -2826,6 +2839,7 @@ msgstr "" #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:39 #: src/supertux/menu/worldmap_cheat_apply_menu.cpp:60 #: src/supertux/menu/multiplayer_players_menu.cpp:39 +#: src/supertux/menu/keyboard_menu.cpp:63 #: src/supertux/menu/cheat_apply_menu.cpp:39 #: src/supertux/menu/cheat_apply_menu.cpp:59 #: src/supertux/menu/multiplayer_player_menu.cpp:37 @@ -2839,76 +2853,76 @@ msgstr "" msgid "All Players" msgstr "" -#: src/supertux/menu/worldmap_cheat_menu.cpp:35 +#: src/supertux/menu/worldmap_cheat_menu.cpp:36 #: src/supertux/menu/cheat_menu.cpp:31 msgid "Cheats" msgstr "作弊" -#: src/supertux/menu/worldmap_cheat_menu.cpp:37 +#: src/supertux/menu/worldmap_cheat_menu.cpp:38 #: src/supertux/menu/cheat_menu.cpp:33 msgid "Bonus: Grow" msgstr "奖励:生长" -#: src/supertux/menu/worldmap_cheat_menu.cpp:38 +#: src/supertux/menu/worldmap_cheat_menu.cpp:39 #: src/supertux/menu/cheat_menu.cpp:34 msgid "Bonus: Fire" msgstr "奖励:火" -#: src/supertux/menu/worldmap_cheat_menu.cpp:39 +#: src/supertux/menu/worldmap_cheat_menu.cpp:40 #: src/supertux/menu/cheat_menu.cpp:35 msgid "Bonus: Ice" msgstr "奖励:冰" -#: src/supertux/menu/worldmap_cheat_menu.cpp:40 +#: src/supertux/menu/worldmap_cheat_menu.cpp:41 #: src/supertux/menu/cheat_menu.cpp:36 msgid "Bonus: Air" msgstr "奖励:空气" -#: src/supertux/menu/worldmap_cheat_menu.cpp:41 +#: src/supertux/menu/worldmap_cheat_menu.cpp:42 #: src/supertux/menu/cheat_menu.cpp:37 msgid "Bonus: Earth" msgstr "奖励:土地" -#: src/supertux/menu/worldmap_cheat_menu.cpp:42 +#: src/supertux/menu/worldmap_cheat_menu.cpp:43 msgid "Bonus: None" msgstr "奖励:空" -#: src/supertux/menu/worldmap_cheat_menu.cpp:45 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 #: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:51 msgid "Leave Ghost Mode" msgstr "退出幽灵模式" -#: src/supertux/menu/worldmap_cheat_menu.cpp:45 +#: src/supertux/menu/worldmap_cheat_menu.cpp:46 #: src/supertux/menu/cheat_menu.cpp:45 src/supertux/menu/cheat_menu.cpp:50 msgid "Activate Ghost Mode" msgstr "激活幽灵模式" -#: src/supertux/menu/worldmap_cheat_menu.cpp:47 +#: src/supertux/menu/worldmap_cheat_menu.cpp:48 #: src/supertux/menu/cheat_menu.cpp:41 msgid "Finish Level" msgstr "完成关卡" -#: src/supertux/menu/worldmap_cheat_menu.cpp:48 +#: src/supertux/menu/worldmap_cheat_menu.cpp:49 msgid "Reset Level" msgstr "重设关卡" -#: src/supertux/menu/worldmap_cheat_menu.cpp:50 +#: src/supertux/menu/worldmap_cheat_menu.cpp:51 msgid "Finish Worldmap" msgstr "完成世界地图" -#: src/supertux/menu/worldmap_cheat_menu.cpp:51 +#: src/supertux/menu/worldmap_cheat_menu.cpp:52 msgid "Reset Worldmap" msgstr "重设世界地图" -#: src/supertux/menu/worldmap_cheat_menu.cpp:53 +#: src/supertux/menu/worldmap_cheat_menu.cpp:54 msgid "Go to level" msgstr "进入关卡" -#: src/supertux/menu/worldmap_cheat_menu.cpp:54 +#: src/supertux/menu/worldmap_cheat_menu.cpp:55 msgid "Go to main spawnpoint" msgstr "进入主出生点" -#: src/supertux/menu/worldmap_cheat_menu.cpp:187 +#: src/supertux/menu/worldmap_cheat_menu.cpp:188 msgid "Select level" msgstr "选择关卡" @@ -3038,7 +3052,7 @@ msgid "This feature is currently only used in the multiplayer options menu." msgstr "" #: src/supertux/menu/options_menu.cpp:154 -#: src/supertux/menu/keyboard_menu.cpp:32 +#: src/supertux/menu/keyboard_menu.cpp:34 msgid "Setup Keyboard" msgstr "键盘设置" @@ -3432,23 +3446,28 @@ msgid "" "continue?" msgstr "这将会带您到 SuperTux 捐赠页面。您确定继续吗?" -#: src/supertux/menu/editor_sector_menu.cpp:35 +#: src/supertux/menu/editor_sector_menu.cpp:34 +#, c++-format +msgid "Sector {}" +msgstr "" + +#: src/supertux/menu/editor_sector_menu.cpp:37 msgid "Initialization script" msgstr "初始化脚本" -#: src/supertux/menu/editor_sector_menu.cpp:36 +#: src/supertux/menu/editor_sector_menu.cpp:38 msgid "Gravity" msgstr "重力" -#: src/supertux/menu/editor_sector_menu.cpp:41 +#: src/supertux/menu/editor_sector_menu.cpp:43 msgid "Resize offset X" msgstr "调整偏移量 X" -#: src/supertux/menu/editor_sector_menu.cpp:42 +#: src/supertux/menu/editor_sector_menu.cpp:44 msgid "Resize offset Y" msgstr "调整偏移量 Y" -#: src/supertux/menu/editor_sector_menu.cpp:43 +#: src/supertux/menu/editor_sector_menu.cpp:45 msgid "Resize" msgstr "调整大小" @@ -3736,122 +3755,118 @@ msgstr "配置名最多只能 20 个字符。\n请使用其他名称。" msgid "An error occurred while creating the profile." msgstr "创建配置时发生错误。" -#: src/supertux/menu/keyboard_menu.cpp:34 +#: src/supertux/menu/keyboard_menu.cpp:36 #: src/supertux/menu/joystick_menu.cpp:71 msgid "Up" msgstr "上" -#: src/supertux/menu/keyboard_menu.cpp:35 +#: src/supertux/menu/keyboard_menu.cpp:37 #: src/supertux/menu/joystick_menu.cpp:72 msgid "Down" msgstr "下" -#: src/supertux/menu/keyboard_menu.cpp:38 +#: src/supertux/menu/keyboard_menu.cpp:40 #: src/supertux/menu/joystick_menu.cpp:75 msgid "Jump" msgstr "跳跃" -#: src/supertux/menu/keyboard_menu.cpp:41 +#: src/supertux/menu/keyboard_menu.cpp:43 #: src/supertux/menu/joystick_menu.cpp:78 msgid "Peek Left" msgstr "向左看" -#: src/supertux/menu/keyboard_menu.cpp:42 +#: src/supertux/menu/keyboard_menu.cpp:44 #: src/supertux/menu/joystick_menu.cpp:79 msgid "Peek Right" msgstr "向右看" -#: src/supertux/menu/keyboard_menu.cpp:43 +#: src/supertux/menu/keyboard_menu.cpp:45 #: src/supertux/menu/joystick_menu.cpp:80 msgid "Peek Up" msgstr "向上看" -#: src/supertux/menu/keyboard_menu.cpp:44 +#: src/supertux/menu/keyboard_menu.cpp:46 #: src/supertux/menu/joystick_menu.cpp:81 msgid "Peek Down" msgstr "向下看" -#: src/supertux/menu/keyboard_menu.cpp:49 +#: src/supertux/menu/keyboard_menu.cpp:51 #: src/supertux/menu/joystick_menu.cpp:83 msgid "Console" msgstr "终端" -#: src/supertux/menu/keyboard_menu.cpp:50 +#: src/supertux/menu/keyboard_menu.cpp:52 #: src/supertux/menu/joystick_menu.cpp:84 msgid "Cheat Menu" msgstr "作弊菜单" -#: src/supertux/menu/keyboard_menu.cpp:51 +#: src/supertux/menu/keyboard_menu.cpp:53 #: src/supertux/menu/joystick_menu.cpp:85 msgid "Debug Menu" msgstr "调试菜单" -#: src/supertux/menu/keyboard_menu.cpp:54 +#: src/supertux/menu/keyboard_menu.cpp:56 #: src/supertux/menu/joystick_menu.cpp:87 msgid "Jump with Up" msgstr "用上箭头跳跃" -#: src/supertux/menu/keyboard_menu.cpp:61 -msgid "Player" -msgstr "玩家" - -#: src/supertux/menu/keyboard_menu.cpp:79 +#: src/supertux/menu/keyboard_menu.cpp:82 msgid "Up cursor" msgstr "上箭头" -#: src/supertux/menu/keyboard_menu.cpp:81 +#: src/supertux/menu/keyboard_menu.cpp:84 msgid "Down cursor" msgstr "下箭头" -#: src/supertux/menu/keyboard_menu.cpp:83 +#: src/supertux/menu/keyboard_menu.cpp:86 msgid "Left cursor" msgstr "左箭头" -#: src/supertux/menu/keyboard_menu.cpp:85 +#: src/supertux/menu/keyboard_menu.cpp:88 msgid "Right cursor" msgstr "右箭头" -#: src/supertux/menu/keyboard_menu.cpp:87 +#: src/supertux/menu/keyboard_menu.cpp:90 msgid "Return" msgstr "回车" -#: src/supertux/menu/keyboard_menu.cpp:89 +#: src/supertux/menu/keyboard_menu.cpp:92 msgid "Space" msgstr "空格" -#: src/supertux/menu/keyboard_menu.cpp:91 +#: src/supertux/menu/keyboard_menu.cpp:94 msgid "Right Shift" msgstr "右Shift" -#: src/supertux/menu/keyboard_menu.cpp:93 +#: src/supertux/menu/keyboard_menu.cpp:96 msgid "Left Shift" msgstr "左Shift" -#: src/supertux/menu/keyboard_menu.cpp:95 +#: src/supertux/menu/keyboard_menu.cpp:98 msgid "Right Control" msgstr "右Ctrl" -#: src/supertux/menu/keyboard_menu.cpp:97 +#: src/supertux/menu/keyboard_menu.cpp:100 msgid "Left Control" msgstr "左Ctrl" -#: src/supertux/menu/keyboard_menu.cpp:99 +#: src/supertux/menu/keyboard_menu.cpp:102 msgid "Right Alt" msgstr "右Alt" -#: src/supertux/menu/keyboard_menu.cpp:101 +#: src/supertux/menu/keyboard_menu.cpp:104 msgid "Left Alt" msgstr "左Alt" -#: src/supertux/menu/keyboard_menu.cpp:103 +#: src/supertux/menu/keyboard_menu.cpp:106 msgid "Right Command" msgstr "右Command" -#: src/supertux/menu/keyboard_menu.cpp:105 +#: src/supertux/menu/keyboard_menu.cpp:108 msgid "Left Command" msgstr "左Command" -#: src/supertux/menu/keyboard_menu.cpp:119 +#: src/supertux/menu/keyboard_menu.cpp:122 msgid "Press Key" msgstr "请按键" @@ -3932,13 +3947,16 @@ msgstr "暂停" msgid "Leave World" msgstr "退出世界" -#: src/supertux/menu/download_dialog.cpp:41 +#: src/supertux/menu/download_dialog.cpp:42 msgid "Abort Download" msgstr "中止下载" -#: src/supertux/menu/download_dialog.cpp:58 -msgid "Error:\n" -msgstr "错误:\n" +#: src/supertux/menu/download_dialog.cpp:59 +#, c++-format +msgid "" +"Error:\n" +"{}" +msgstr "" #: src/supertux/menu/cheat_menu.cpp:38 msgid "Bonus: Star" @@ -4033,7 +4051,7 @@ msgstr "关卡设置" msgid "Author" msgstr "作者" -#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1254 +#: src/supertux/menu/editor_level_menu.cpp:35 data//credits.stxt:1253 msgid "Contact" msgstr "联系方式" @@ -4207,6 +4225,9 @@ msgid "" "F6 = Render Light\n" "F7 = Grid Snapping\n" "F8 = Show Grid\n" +"Ctrl++ or Ctrl+Scroll Up = Zoom In\n" +"Ctrl+- or Ctrl+Scroll Down = Zoom Out\n" +"Ctrl+D = Reset Zoom\n" "\n" "Scripting Shortcuts:\n" " ------------- \n" @@ -4326,12 +4347,12 @@ msgstr "下" msgid "Region" msgstr "区域" -#: src/supertux/main.cpp:796 +#: src/supertux/main.cpp:801 #, c++-format msgid "New release: SuperTux v{}!" msgstr "" -#: src/supertux/main.cpp:799 +#: src/supertux/main.cpp:804 #, c++-format msgid "" "A new release of SuperTux (v{}) is available!\n" @@ -4340,7 +4361,7 @@ msgid "" "Do you want to visit the website now?" msgstr "" -#: src/supertux/main.cpp:810 +#: src/supertux/main.cpp:815 msgid "Checking for new releases..." msgstr "" @@ -4454,6 +4475,11 @@ msgstr "乒乓" msgid "Circular" msgstr "圆" +#: src/editor/layers_widget.cpp:331 +#, c++-format +msgid "Sector: {}" +msgstr "" + #: src/editor/object_option.cpp:92 msgid "true" msgstr "真" @@ -4620,18 +4646,18 @@ msgstr "该粒子配置包含未保存的更改,\n您想保存吗?" msgid "Save as" msgstr "另存为" -#: src/editor/editor.cpp:552 +#: src/editor/editor.cpp:577 msgid "" "This level contains deprecated tiles.\n" "It is strongly recommended to replace all deprecated tiles\n" "to avoid loss of compatibility in future versions." msgstr "该关卡包含已废弃的图片。\n强烈建议替换掉所有已废弃的图块,以避免在未来版本中失去兼容性。" -#: src/editor/editor.cpp:554 +#: src/editor/editor.cpp:579 msgid "Tip: Turn on \"Show Deprecated Tiles\" from the level editor menu." msgstr "提示:从关卡编辑菜单中打开“显示已废弃的图块”。" -#: src/editor/editor.cpp:601 +#: src/editor/editor.cpp:626 msgid "" "Don't forget that your levels and assets\n" "aren't saved between sessions!\n" @@ -4639,15 +4665,15 @@ msgid "" "from the \"Manage Assets\" menu." msgstr "不要忘了,您的关卡和资产\n在会话关闭后不会保存!\n如果您想保留您的关卡,\n请从“管理资产”菜单下载它们。" -#: src/editor/editor.cpp:636 +#: src/editor/editor.cpp:661 msgid "This level contains unsaved changes, do you want to save?" msgstr "此关卡包含未保存的更改,您要保存吗?" -#: src/editor/editor.cpp:637 +#: src/editor/editor.cpp:662 msgid "This level may contain unsaved changes, do you want to save?" msgstr "该关卡可能包含未保存的改动,您想保存吗?" -#: src/editor/editor.cpp:772 +#: src/editor/editor.cpp:797 msgid "" "Some obsolete add-ons are still active\n" "and might cause collisions with default Super Tux structure.\n" @@ -4655,26 +4681,26 @@ msgid "" "Disabling these add-ons will not delete your game progress." msgstr "某些过时的扩展仍处于活动状态\n并可能导致与默认 Super Tux 结构发生冲突。\n您仍然可以在菜单中启用这些扩展。\n禁用这些扩展不会删除您的游戏进度。" -#: src/editor/editor.cpp:775 +#: src/editor/editor.cpp:800 msgid "Disable add-ons" msgstr "禁用扩展" -#: src/editor/editor.cpp:780 +#: src/editor/editor.cpp:805 msgid "Ignore (not advised)" msgstr "忽略(不推荐)" -#: src/editor/editor.cpp:784 +#: src/editor/editor.cpp:809 msgid "Leave editor" msgstr "离开编辑器" -#: src/editor/editor.cpp:985 +#: src/editor/editor.cpp:1023 msgid "" "Couldn't find a \"main\" sector.\n" "Please change the name of the sector where\n" "you'd like the player to start to \"main\"" msgstr "找不到“main”区块。\n请将您希望玩家从此处开始\n的区块的名称更改为“main”" -#: src/editor/editor.cpp:989 +#: src/editor/editor.cpp:1027 msgid "" "Couldn't find a \"main\" spawnpoint.\n" " Please change the name of the spawnpoint where\n" @@ -4686,49 +4712,40 @@ msgid "Patch Notes" msgstr "" #: src/editor/object_menu.cpp:84 -msgid "This will update the object to its latest functionality." -msgstr "" - -#: src/editor/object_menu.cpp:85 -msgid "Check the \"Patch Notes\" for more information." -msgstr "" - -#: src/editor/object_menu.cpp:86 msgid "" -"Keep in mind this is very likely to break the proper behaviour of the " -"object." -msgstr "" - -#: src/editor/object_menu.cpp:87 -msgid "Make sure to re-check any behaviour, related to the object." +"This will update the object to its latest functionality.\n" +"Check the \"Patch Notes\" for more information.\n" +"\n" +"Keep in mind this is very likely to break the proper behaviour of the object.\n" +"Make sure to re-check any behaviour, related to the object." msgstr "" -#: src/editor/object_menu.cpp:101 +#: src/editor/object_menu.cpp:98 #, c++-format msgid "Patch notes for v{}:" msgstr "" -#: src/editor/overlay_widget.cpp:1063 +#: src/editor/overlay_widget.cpp:1062 msgid "Cannot select deprecated tiles" msgstr "无法选择已废弃的图块" -#: src/editor/overlay_widget.cpp:1555 +#: src/editor/overlay_widget.cpp:1567 msgid "Autotile mode is on" msgstr "自动放置图块模式已启用" -#: src/editor/overlay_widget.cpp:1559 +#: src/editor/overlay_widget.cpp:1571 msgid "Hold Ctrl to enable autotile" msgstr "按住 Ctrl 来启用自动放置图块" -#: src/editor/overlay_widget.cpp:1566 +#: src/editor/overlay_widget.cpp:1578 msgid "Autotile erasing mode is on" msgstr "自动擦除图块模式已启用" -#: src/editor/overlay_widget.cpp:1570 +#: src/editor/overlay_widget.cpp:1582 msgid "Selected tile isn't autotileable" msgstr "选择的图块无法被自动放置" -#: src/editor/overlay_widget.cpp:1575 +#: src/editor/overlay_widget.cpp:1587 msgid "Hold Ctrl to enable autotile erasing" msgstr "按住 Ctrl 来启用自动擦除图块" @@ -4737,8 +4754,8 @@ msgid "Current SuperTux Team" msgstr "现任 SuperTux 团队" #: data//credits.stxt:30 -msgid "Programming, project lead ad interim" -msgstr "编程,临时项目负责人" +msgid "Maintainer, Programming" +msgstr "" #: data//credits.stxt:35 msgid "Graphics, Level Design, Story" @@ -4748,12 +4765,12 @@ msgstr "图形,关卡设计,故事" msgid "Level Design, Story, Optimisation, Coordination" msgstr "关卡设计,故事,优化,协调" -#: data//credits.stxt:45 data//credits.stxt:125 data//credits.stxt:211 -#: data//credits.stxt:539 +#: data//credits.stxt:45 data//credits.stxt:120 data//credits.stxt:206 +#: data//credits.stxt:538 msgid "Graphics" msgstr "图形" -#: data//credits.stxt:50 data//credits.stxt:107 data//credits.stxt:113 +#: data//credits.stxt:50 data//credits.stxt:102 data//credits.stxt:108 msgid "Graphics, Programming, Level Design" msgstr "图形,编程,关卡设计" @@ -4773,248 +4790,248 @@ msgstr "编程,关卡更新" msgid "Graphics, Programming" msgstr "图形,编程" -#: data//credits.stxt:75 data//credits.stxt:90 data//credits.stxt:155 -#: data//credits.stxt:160 data//credits.stxt:165 data//credits.stxt:170 -#: data//credits.stxt:185 data//credits.stxt:190 data//credits.stxt:535 -#: data//credits.stxt:547 +#: data//credits.stxt:75 data//credits.stxt:85 data//credits.stxt:150 +#: data//credits.stxt:155 data//credits.stxt:160 data//credits.stxt:165 +#: data//credits.stxt:180 data//credits.stxt:185 data//credits.stxt:534 +#: data//credits.stxt:546 msgid "Programming" msgstr "程序设计" -#: data//credits.stxt:80 data//credits.stxt:85 data//credits.stxt:271 +#: data//credits.stxt:80 data//credits.stxt:266 msgid "Level Design" msgstr "关卡设计" -#: data//credits.stxt:96 +#: data//credits.stxt:91 msgid "Original Developers" msgstr "原始开发人员" -#: data//credits.stxt:101 +#: data//credits.stxt:96 msgid "Original Developer" msgstr "原始开发人员" -#: data//credits.stxt:119 +#: data//credits.stxt:114 msgid "Music, Level Design" msgstr "音乐,关卡设计" -#: data//credits.stxt:131 +#: data//credits.stxt:126 msgid "Programming, Graphics, Level Design" msgstr "编程,图形,关卡设计" -#: data//credits.stxt:137 +#: data//credits.stxt:132 msgid "Programming, Level Design" msgstr "编程,关卡设计" -#: data//credits.stxt:143 +#: data//credits.stxt:138 msgid "Graphics, Story" msgstr "图形,故事" -#: data//credits.stxt:149 +#: data//credits.stxt:144 msgid "Programming, Documentation" msgstr "图形,文档" -#: data//credits.stxt:175 +#: data//credits.stxt:170 msgid "Coordination" msgstr "协作" -#: data//credits.stxt:180 +#: data//credits.stxt:175 msgid "Programming, \"Flexlay\" Level editor" msgstr "编程,“Flexlay”关卡编辑器" -#: data//credits.stxt:195 +#: data//credits.stxt:190 msgid "Windows build fixes" msgstr "Windows 版本修复" -#: data//credits.stxt:200 +#: data//credits.stxt:195 msgid "Packaging, Nightly builds" msgstr "打包,每夜构建" -#: data//credits.stxt:205 +#: data//credits.stxt:200 msgid "Translation Guru (and many details anyone else could have done)" msgstr "翻译大师(还有其他人可能做过的许多细节)" -#: data//credits.stxt:451 +#: data//credits.stxt:450 msgid "Additional contributors" msgstr "其他贡献者" -#: data//credits.stxt:456 +#: data//credits.stxt:455 msgid "Bug fixes" msgstr "Bug 修复" -#: data//credits.stxt:460 +#: data//credits.stxt:459 msgid "Scripting functions, Level fixes" msgstr "脚本功能,关卡修复" -#: data//credits.stxt:464 +#: data//credits.stxt:463 msgid "Code quality fixes" msgstr "代码质量修复" -#: data//credits.stxt:468 data//credits.stxt:472 data//credits.stxt:476 -#: data//credits.stxt:503 +#: data//credits.stxt:467 data//credits.stxt:471 data//credits.stxt:475 +#: data//credits.stxt:502 msgid "Various contributions" msgstr "各种贡献" -#: data//credits.stxt:480 +#: data//credits.stxt:479 msgid "Build issue fix" msgstr "编译问题修复" -#: data//credits.stxt:484 data//credits.stxt:488 +#: data//credits.stxt:483 data//credits.stxt:487 msgid "Code contributions" msgstr "代码贡献" -#: data//credits.stxt:491 +#: data//credits.stxt:490 msgid "Code contribution, AppData file" msgstr "代码贡献,AppData 文件" -#: data//credits.stxt:495 +#: data//credits.stxt:494 msgid "Bug fix" msgstr "Bug 修复" -#: data//credits.stxt:499 +#: data//credits.stxt:498 msgid "Menu reorganization" msgstr "菜单重组" -#: data//credits.stxt:507 +#: data//credits.stxt:506 msgid "Fixing tile bugs" msgstr "修复图块 Bug" -#: data//credits.stxt:511 +#: data//credits.stxt:510 msgid "Build error fix" msgstr "编译错误修复" -#: data//credits.stxt:515 +#: data//credits.stxt:514 msgid "Scripting function fix" msgstr "脚本功能修复" -#: data//credits.stxt:519 +#: data//credits.stxt:518 msgid "New features and notable updates" msgstr "新功能和重要的更新" -#: data//credits.stxt:523 +#: data//credits.stxt:522 msgid "Support for \"glbinding\" as optional OpenGL binding" msgstr "支持“glbinding”作为可选的 OpenGL 绑定" -#: data//credits.stxt:527 +#: data//credits.stxt:526 msgid "New menu code" msgstr "新菜单代码" -#: data//credits.stxt:531 +#: data//credits.stxt:530 msgid "Big Tux Walking Sprites improvements" msgstr "大 Tux 行走贴图改进" -#: data//credits.stxt:543 data//credits.stxt:551 +#: data//credits.stxt:542 data//credits.stxt:550 msgid "Contrib Programming" msgstr "贡献编程" -#: data//credits.stxt:555 +#: data//credits.stxt:554 msgid "Programming, Previous Maintainer" msgstr "编程,以前的维护者" -#: data//credits.stxt:559 +#: data//credits.stxt:558 msgid "Various Contributions" msgstr "各种贡献" -#: data//credits.stxt:563 data//credits.stxt:567 data//credits.stxt:571 -#: data//credits.stxt:575 data//credits.stxt:579 data//credits.stxt:583 -#: data//credits.stxt:587 data//credits.stxt:591 data//credits.stxt:595 -#: data//credits.stxt:599 data//credits.stxt:603 data//credits.stxt:607 -#: data//credits.stxt:611 data//credits.stxt:615 data//credits.stxt:619 -#: data//credits.stxt:623 data//credits.stxt:627 data//credits.stxt:631 -#: data//credits.stxt:635 data//credits.stxt:639 data//credits.stxt:643 -#: data//credits.stxt:647 data//credits.stxt:651 data//credits.stxt:655 -#: data//credits.stxt:659 data//credits.stxt:663 +#: data//credits.stxt:562 data//credits.stxt:566 data//credits.stxt:570 +#: data//credits.stxt:574 data//credits.stxt:578 data//credits.stxt:582 +#: data//credits.stxt:586 data//credits.stxt:590 data//credits.stxt:594 +#: data//credits.stxt:598 data//credits.stxt:602 data//credits.stxt:606 +#: data//credits.stxt:610 data//credits.stxt:614 data//credits.stxt:618 +#: data//credits.stxt:622 data//credits.stxt:626 data//credits.stxt:630 +#: data//credits.stxt:634 data//credits.stxt:638 data//credits.stxt:642 +#: data//credits.stxt:646 data//credits.stxt:650 data//credits.stxt:654 +#: data//credits.stxt:658 data//credits.stxt:662 msgid "Contributions" msgstr "贡献" -#: data//credits.stxt:669 +#: data//credits.stxt:668 msgid "Localization" msgstr "本地化" -#: data//credits.stxt:1232 +#: data//credits.stxt:1231 msgid " Special Thanks to" msgstr " 特别感谢" -#: data//credits.stxt:1237 +#: data//credits.stxt:1236 msgid "Creator of Tux, the Linux penguin" msgstr "Tux(Linux 企鹅)的创造者" -#: data//credits.stxt:1241 +#: data//credits.stxt:1240 msgid "SDL, OpenAL and OpenGL" msgstr "SDL,OpenAL 和 OpenGL" -#: data//credits.stxt:1242 +#: data//credits.stxt:1241 msgid "" "For making such a great gaming experience\n" " possible on Linux" msgstr "使得如此出色的游戏体验\n 在 Linux 上成为可能" -#: data//credits.stxt:1247 +#: data//credits.stxt:1246 msgid "and you, the player" msgstr "还有你,玩家" -#: data//credits.stxt:1248 +#: data//credits.stxt:1247 msgid "for giving this game a chance and playing it" msgstr "感谢你给这个游戏一个机会并游玩它" -#: data//credits.stxt:1259 +#: data//credits.stxt:1258 msgid "Visit our webpage at" msgstr "访问我们的网页" -#: data//credits.stxt:1268 +#: data//credits.stxt:1267 msgid "Or visit us directly at IRC:" msgstr "或直接在 IRC 拜访我们:" -#: data//credits.stxt:1272 +#: data//credits.stxt:1271 msgid "#supertux at web.libera.chat" msgstr "#supertux at web.libera.chat" -#: data//credits.stxt:1277 +#: data//credits.stxt:1276 msgid "Or at our Forum:" msgstr "或者我们的论坛:" -#: data//credits.stxt:1286 +#: data//credits.stxt:1285 msgid "Comments, ideas and suggestions" msgstr "评论,想法和建议" -#: data//credits.stxt:1290 +#: data//credits.stxt:1289 msgid "go to our mailing list" msgstr "请发到我们的邮件列表" #. l10n: typo contact -#: data//credits.stxt:1300 +#: data//credits.stxt:1299 msgid "Typographical errors can be" msgstr "打字错误可以" #. l10n: typo contact -#: data//credits.stxt:1305 +#: data//credits.stxt:1304 msgid "reported to" msgstr "报告给" #. l10n: typo contact, see -#: data//credits.stxt:1310 +#: data//credits.stxt:1309 msgid "supertux-devel@lists.lethargik.org" msgstr "supertux-devel@lists.lethargik.org" -#: data//credits.stxt:1317 +#: data//credits.stxt:1316 msgid "Want to help…" msgstr "想要帮忙…" -#: data//credits.stxt:1322 +#: data//credits.stxt:1321 msgid "…with localization?" msgstr "…进行本地化?" -#: data//credits.stxt:1332 +#: data//credits.stxt:1331 msgid "…with something else?" msgstr "…做点别的事?" -#: data//credits.stxt:1343 +#: data//credits.stxt:1342 msgid "Thank you for" msgstr "感谢您的" -#: data//credits.stxt:1347 +#: data//credits.stxt:1346 msgid "playing" msgstr "游玩" -#: data//credits.stxt:1357 +#: data//credits.stxt:1356 msgid "Penny awaits you in warmer temperatures!" msgstr "Penny 在更温暖的天气里等着你!" @@ -5022,15 +5039,15 @@ msgstr "Penny 在更温暖的天气里等着你!" msgid "Enemies" msgstr "敌人" -#: data//images/engine/editor/objects.stoi:159 +#: data//images/engine/editor/objects.stoi:162 msgid "Bosses" msgstr "BOSS" -#: data//images/engine/editor/objects.stoi:170 +#: data//images/engine/editor/objects.stoi:173 msgid "Projectiles" msgstr "发射物" -#: data//images/engine/editor/objects.stoi:181 +#: data//images/engine/editor/objects.stoi:184 msgid "Environment" msgstr "环境" @@ -5133,3 +5150,19 @@ msgstr "城堡小径" #: data//images/worldmap.strf:135 msgid "Darker Forest" msgstr "黑暗森林" + +#: data//images/converters/data.stcd:3 +msgid "Nightly Tiles" +msgstr "" + +#: data//images/converters/data.stcd:5 +msgid "For levels, created in previous Nightly builds." +msgstr "" + +#: data//images/converters/data.stcd:8 +msgid "Pre-0.6.3 Crystal Tiles" +msgstr "" + +#: data//images/converters/data.stcd:10 +msgid "For levels, created in pre-0.6.3 versions, which use crystal tiles." +msgstr "" diff --git a/data/music/misc/credits.ogg b/data/music/misc/credits.ogg index f3e8e0be0e4..65ffadaf6fc 100644 Binary files a/data/music/misc/credits.ogg and b/data/music/misc/credits.ogg differ diff --git a/external/discord-sdk b/external/discord-sdk index e4c0c569eca..f08a154eccf 160000 --- a/external/discord-sdk +++ b/external/discord-sdk @@ -1 +1 @@ -Subproject commit e4c0c569eca9b888010ad904d3633e782f5cd680 +Subproject commit f08a154eccfc4176035e7bd856dcaf3838d30813 diff --git a/makepot.sh b/makepot.sh index 046c4aa4c25..af78c06e217 100755 --- a/makepot.sh +++ b/makepot.sh @@ -21,14 +21,20 @@ find data/ -name "objects.stoi" -print0 | xargs -0 xgettext --keyword='_:1' \ --package-name="${package_name}" --package-version="${package_version}" \ --msgid-bugs-address=https://github.com/SuperTux/supertux/issues +find data/ -name "data.stcd" -print0 | xargs -0 xgettext --keyword='_:1' \ + --language=Lisp --from-code=UTF-8 --sort-by-file \ + --output data/locale/converters.pot --add-comments=l10n \ + --package-name="${package_name}" --package-version="${package_version}" \ + --msgid-bugs-address=https://github.com/SuperTux/supertux/issues + find data/ -name "*.strf" -print0 | xargs -0 xgettext --keyword='_:1' \ --language=Lisp --from-code=UTF-8 --sort-by-file \ --output data/locale/tilesets.pot --add-comments=l10n \ --package-name="${package_name}" --package-version="${package_version}" \ --msgid-bugs-address=https://github.com/SuperTux/supertux/issues -msgcat data/locale/main.pot data/locale/credits.pot data/locale/objects.pot data/locale/tilesets.pot > data/locale/messages.pot -rm -f data/locale/main.pot data/locale/credits.pot data/locale/objects.pot data/locale/tilesets.pot +msgcat data/locale/main.pot data/locale/credits.pot data/locale/objects.pot data/locale/tilesets.pot data/locale/converters.pot > data/locale/messages.pot +rm -f data/locale/main.pot data/locale/credits.pot data/locale/objects.pot data/locale/tilesets.pot data/locale/converters.pot # Prepare script files for inclusion in tinygettext for LEVELSET in $(ls data/levels); do diff --git a/mk/cmake/SuperTux/ProvidePhysfs.cmake b/mk/cmake/SuperTux/ProvidePhysfs.cmake index f95ee974094..f28ec3e9a31 100644 --- a/mk/cmake/SuperTux/ProvidePhysfs.cmake +++ b/mk/cmake/SuperTux/ProvidePhysfs.cmake @@ -39,8 +39,6 @@ else() CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} - -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} - -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} -DCMAKE_INSTALL_PREFIX=${PHYSFS_PREFIX} -DLIB_SUFFIX=${LIB_SUFFIX} -DPHYSFS_BUILD_SHARED=${PHYSFS_BUILD_SHARED} diff --git a/src/addon/addon.cpp b/src/addon/addon.cpp index 76e70cba572..1cdb4e31c43 100644 --- a/src/addon/addon.cpp +++ b/src/addon/addon.cpp @@ -232,7 +232,7 @@ Addon::get_filename() const return get_id() + ".zip"; } -std::string +const std::string& Addon::get_install_filename() const { return m_install_filename; diff --git a/src/addon/addon.hpp b/src/addon/addon.hpp index fde805ed821..d14c567f615 100644 --- a/src/addon/addon.hpp +++ b/src/addon/addon.hpp @@ -62,23 +62,23 @@ class Addon final Addon(); public: - std::string get_id() const { return m_id; } + const std::string& get_id() const { return m_id; } int get_version() const { return m_version; } int get_format() const { return m_format; } Type get_type() const { return m_type; } - std::string get_title() const { return m_title; } - std::string get_author() const { return m_author; } - std::string get_license() const { return m_license; } + const std::string& get_title() const { return m_title; } + const std::string& get_author() const { return m_author; } + const std::string& get_license() const { return m_license; } - std::string get_description() const { return m_description; } - std::string get_url() const { return m_url; } - std::string get_md5() const { return m_md5; } + const std::string& get_description() const { return m_description; } + const std::string& get_url() const { return m_url; } + const std::string& get_md5() const { return m_md5; } const std::vector& get_screenshots() const { return m_screenshots; } const std::vector& get_dependencies() const { return m_dependencies; } std::string get_filename() const; - std::string get_install_filename() const; + const std::string& get_install_filename() const; bool is_installed() const; bool is_enabled() const; diff --git a/src/addon/addon_manager.cpp b/src/addon/addon_manager.cpp index d3e983498d2..67f4f1c6365 100644 --- a/src/addon/addon_manager.cpp +++ b/src/addon/addon_manager.cpp @@ -54,7 +54,7 @@ MD5 md5_from_file(const std::string& filename) if (!file) { std::ostringstream out; - out << "PHYSFS_openRead() failed: " << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()); + out << "PHYSFS_openRead() failed: " << physfsutil::get_last_error(); throw std::runtime_error(out.str()); } else @@ -158,7 +158,7 @@ AddonManager::AddonManager(const std::string& addon_directory, { std::ostringstream msg; msg << "Couldn't create directory for addons '" - << m_addon_directory << "': " << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()); + << m_addon_directory << "': " << physfsutil::get_last_error(); throw std::runtime_error(msg.str()); } @@ -340,7 +340,7 @@ AddonManager::request_install_addon(const AddonId& addon_id) { if (PHYSFS_delete(install_filename.c_str()) == 0) { - log_warning << "PHYSFS_delete failed: " << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()) << std::endl; + log_warning << "PHYSFS_delete failed: " << physfsutil::get_last_error() << std::endl; } throw std::runtime_error("Downloading Add-on failed: MD5 checksums differ"); @@ -432,7 +432,7 @@ AddonManager::install_addon(const AddonId& addon_id) { if (PHYSFS_delete(install_filename.c_str()) == 0) { - log_warning << "PHYSFS_delete failed: " << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()) << std::endl; + log_warning << "PHYSFS_delete failed: " << physfsutil::get_last_error() << std::endl; } throw std::runtime_error("Downloading Add-on failed: MD5 checksums differ"); @@ -482,7 +482,7 @@ AddonManager::uninstall_addon(const AddonId& addon_id) { if (PHYSFS_delete(FileSystem::join(m_addon_directory, addon.get_filename()).c_str()) == 0) { - throw std::runtime_error("Error deleting addon .zip file: \"PHYSFS_delete\" failed: " + std::string(PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()))); + throw std::runtime_error("Error deleting addon .zip file: \"PHYSFS_delete\" failed: " + std::string(physfsutil::get_last_error())); } m_installed_addons.erase(it); } @@ -584,7 +584,7 @@ AddonManager::enable_addon(const AddonId& addon_id) { std::stringstream err; err << "Could not add " << addon.get_install_filename() << " to search path: " - << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()) << std::endl; + << physfsutil::get_last_error() << std::endl; throw std::runtime_error(err.str()); } else @@ -621,7 +621,7 @@ AddonManager::disable_addon(const AddonId& addon_id) { std::stringstream err; err << "Could not remove " << addon.get_install_filename() << " from search path: " - << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()) << std::endl; + << physfsutil::get_last_error() << std::endl; throw std::runtime_error(err.str()); } else @@ -673,7 +673,7 @@ AddonManager::mount_old_addons() if (PHYSFS_mount(addon->get_install_filename().c_str(), mountpoint.c_str(), !addon->overrides_data()) == 0) { log_warning << "Could not add " << addon->get_install_filename() << " to search path: " - << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()) << std::endl; + << physfsutil::get_last_error() << std::endl; } } } @@ -687,7 +687,7 @@ AddonManager::unmount_old_addons() if (PHYSFS_unmount(addon->get_install_filename().c_str()) == 0) { log_warning << "Could not remove " << addon->get_install_filename() << " from search path: " - << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()) << std::endl; + << physfsutil::get_last_error() << std::endl; } } } @@ -770,7 +770,7 @@ AddonManager::scan_for_info(const std::string& archive_os_path) const const char* realdir = PHYSFS_getRealDir(nfo_filename.c_str()); if (!realdir) { - log_warning << "PHYSFS_getRealDir() failed for " << nfo_filename << ": " << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()) << std::endl; + log_warning << "PHYSFS_getRealDir() failed for " << nfo_filename << ": " << physfsutil::get_last_error() << std::endl; } else { @@ -792,7 +792,7 @@ AddonManager::add_installed_archive(const std::string& archive, const std::strin if (!realdir) { log_warning << "PHYSFS_getRealDir() failed for " << archive << ": " - << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()) << std::endl; + << physfsutil::get_last_error() << std::endl; } else { diff --git a/src/addon/downloader.cpp b/src/addon/downloader.cpp index 641fd7c800f..56d82b08214 100644 --- a/src/addon/downloader.cpp +++ b/src/addon/downloader.cpp @@ -32,6 +32,7 @@ #include #endif +#include "physfs/util.hpp" #include "supertux/globals.hpp" #include "util/file_system.hpp" #include "util/log.hpp" @@ -269,7 +270,7 @@ class Transfer final if (!m_fout) { std::ostringstream out; - out << "PHYSFS_openRead() failed: " << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()); + out << "PHYSFS_openRead() failed: " << physfsutil::get_last_error(); throw std::runtime_error(out.str()); } diff --git a/src/audio/sound_file.cpp b/src/audio/sound_file.cpp index cf98711cca3..acb44a63304 100644 --- a/src/audio/sound_file.cpp +++ b/src/audio/sound_file.cpp @@ -28,6 +28,7 @@ #include "audio/ogg_sound_file.hpp" #include "audio/sound_error.hpp" #include "audio/wav_sound_file.hpp" +#include "physfs/util.hpp" #include "util/file_system.hpp" #include "util/reader_document.hpp" #include "util/reader_mapping.hpp" @@ -79,7 +80,7 @@ std::unique_ptr load_music_file(const std::string& filename_original) auto file = PHYSFS_openRead(raw_music_file.c_str()); if (!file) { std::stringstream msg; - msg << "Couldn't open '" << raw_music_file << "': " << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()); + msg << "Couldn't open '" << raw_music_file << "': " << physfsutil::get_last_error(); throw SoundError(msg.str()); } auto format = SoundFile::get_file_format(file, raw_music_file); @@ -108,7 +109,7 @@ std::unique_ptr load_sound_file(const std::string& filename) if (!file) { std::stringstream msg; msg << "Couldn't open '" << filename << "': " << - PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()) << ", using dummy sound file."; + physfsutil::get_last_error() << ", using dummy sound file."; throw SoundError(msg.str()); } } @@ -133,7 +134,7 @@ SoundFile::get_file_format(PHYSFS_File* file, const std::string& filename) throw SoundError("Couldn't read magic, file too short"); if (PHYSFS_seek(file, 0) == 0) { std::stringstream msg; - msg << "Couldn't seek through sound file: " << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()); + msg << "Couldn't seek through sound file: " << physfsutil::get_last_error(); throw SoundError(msg.str()); } diff --git a/src/audio/sound_manager.hpp b/src/audio/sound_manager.hpp index 1069ccf6bb5..d692980b871 100644 --- a/src/audio/sound_manager.hpp +++ b/src/audio/sound_manager.hpp @@ -94,7 +94,7 @@ class SoundManager final : public Currenton bool is_sound_enabled() const { return m_sound_enabled; } bool is_audio_enabled() const { return m_device != nullptr && m_context != nullptr; } - std::string get_current_music() const { return m_current_music; } + const std::string& get_current_music() const { return m_current_music; } void update(); /** Tell soundmanager to call update() for stream_sound_source. */ diff --git a/src/badguy/badguy.cpp b/src/badguy/badguy.cpp index 01ab9387301..131050fff93 100644 --- a/src/badguy/badguy.cpp +++ b/src/badguy/badguy.cpp @@ -65,6 +65,7 @@ BadGuy::BadGuy(const Vector& pos, Direction direction, const std::string& sprite m_lightsprite(SpriteManager::current()->create(light_sprite_name)), m_freezesprite(SpriteManager::current()->create(ice_sprite_name)), m_glowing(false), + m_water_affected(true), m_unfreeze_timer(), m_state(STATE_INIT), m_is_active_flag(), @@ -108,6 +109,7 @@ BadGuy::BadGuy(const ReaderMapping& reader, const std::string& sprite_name, m_lightsprite(SpriteManager::current()->create(light_sprite_name)), m_freezesprite(SpriteManager::current()->create(ice_sprite_name)), m_glowing(false), + m_water_affected(true), m_unfreeze_timer(), m_state(STATE_INIT), m_is_active_flag(), @@ -181,6 +183,15 @@ BadGuy::update(float dt_sec) { if (m_frozen && !is_grabbed()) { + Rectf playerbox = get_bbox().grown(-2.f); + playerbox.set_bottom(get_bbox().get_bottom() + 7.f); + for (auto& player : Sector::get().get_objects_by_type()) + { + if (playerbox.overlaps(player.get_bbox()) && m_physic.get_velocity_y() > 0.f && is_portable()) { + m_physic.set_velocity_y(-250.f); + } + } + set_colgroup_active(std::abs(m_physic.get_velocity_y()) < 0.2f && std::abs(m_physic.get_velocity_x()) < 0.2f ? COLGROUP_MOVING_STATIC : COLGROUP_MOVING); if (m_unfreeze_timer.check()) @@ -215,6 +226,52 @@ BadGuy::update(float dt_sec) set_state(STATE_INACTIVE); } + if (Sector::get().is_free_of_tiles(get_bbox().grown(1.f), true, Tile::WATER) && m_in_water) { + m_in_water = false; + } + + Rectf watertopbox = get_bbox(); + watertopbox.set_bottom(get_bbox().get_bottom() - get_bbox().get_height() / 3.f); + watertopbox.set_top(get_bbox().get_top() + get_bbox().get_height() / 3.f); + Rectf wateroutbox = get_bbox(); + wateroutbox.set_bottom(get_bbox().get_top() + get_bbox().get_height() / 3.f); + + bool middle_has_water = !Sector::get().is_free_of_tiles(watertopbox, true, Tile::WATER); + bool on_top_of_water = (middle_has_water && + Sector::get().is_free_of_tiles(wateroutbox, true, Tile::WATER)); + + bool in_water_bigger = !Sector::get().is_free_of_tiles(get_bbox().grown(-4.f), true, Tile::WATER); // *supposedly* prevents a weird sound glitch + + if (m_physic.gravity_enabled()) { + m_physic.set_gravity_modifier(middle_has_water ? m_frozen ? -1.f : 0.3f : 1.f); + } + + if (in_water_bigger && m_frozen && !is_grabbed()) + { + // x movement + if ((m_physic.get_velocity_x() > -2.0f) && (m_physic.get_velocity_x() < 2.0f)) + { + m_physic.set_velocity_x(0); + m_physic.set_acceleration_x(0.0); + } + else { + m_physic.set_velocity_x(m_physic.get_velocity_x() - (m_physic.get_velocity_x() > 0.f ? 2.f : -2.f)); + } + + // y movement + if (!on_top_of_water && m_physic.get_velocity_y() < -100.f) { + m_physic.set_velocity_y(-100.f); + } + + if (on_top_of_water && (m_physic.get_velocity_y() <= 0.f)) + { + m_col.set_movement(Vector(m_col.get_movement().x, 0.f)); + m_physic.set_velocity_y(0.f); + m_physic.set_acceleration_y(0.f); + m_physic.set_gravity_modifier(0.f); + } + } + switch (m_state) { case STATE_ACTIVE: m_is_active_flag = true; @@ -233,7 +290,7 @@ BadGuy::update(float dt_sec) case STATE_INIT: case STATE_INACTIVE: m_is_active_flag = false; - m_in_water = !Sector::get().is_free_of_tiles(m_col.get_bbox(), false, Tile::WATER); + m_in_water = !Sector::get().is_free_of_tiles(m_col.get_bbox().grown(-4.f), false, Tile::WATER); inactive_update(dt_sec); try_activate(); break; @@ -325,9 +382,24 @@ void BadGuy::active_update(float dt_sec) { if (!is_grabbed()) - m_col.set_movement(m_physic.get_movement(dt_sec)); - if (m_frozen) + { + if (is_in_water() && m_water_affected) + { + if (m_frozen) { + m_col.set_movement(m_physic.get_movement(dt_sec) * Vector(0.1f, 0.6f)); + } + else { + m_col.set_movement(m_physic.get_movement(dt_sec) * Vector(0.7f, 0.3f)); + } + } + else { + m_col.set_movement(m_physic.get_movement(dt_sec)); + } + } + + if (m_frozen) { m_sprite->stop_animation(); + } } void @@ -346,10 +418,6 @@ BadGuy::collision_tile(uint32_t tile_attributes) m_in_water = true; SoundManager::current()->play("sounds/splash.ogg", get_pos()); } - if (!(tile_attributes & Tile::WATER) && is_in_water()) - { - m_in_water = false; - } if (tile_attributes & Tile::HURTS && is_hurtable()) { @@ -506,6 +574,9 @@ BadGuy::collision_player(Player& player, const CollisionHit& hit) //TODO: Unfreeze timer. if (m_frozen) { + if (hit.bottom) { + m_physic.set_velocity_y(-250.f); + } player.collision_solid(hit); } else @@ -857,7 +928,8 @@ BadGuy::ungrab(MovingObject& object, Direction dir_) if (player->is_swimming() || player->is_water_jumping()) { float swimangle = player->get_swimming_angle(); - m_physic.set_velocity(player->get_velocity() + Vector(std::cos(swimangle), std::sin(swimangle))); + m_physic.set_velocity((player->get_velocity() + Vector(std::cos(swimangle), std::sin(swimangle))) * + (m_in_water ? 0.5f : 1.f)); } else { diff --git a/src/badguy/badguy.hpp b/src/badguy/badguy.hpp index 8631803e283..a3a3d9fc078 100644 --- a/src/badguy/badguy.hpp +++ b/src/badguy/badguy.hpp @@ -136,6 +136,8 @@ class BadGuy : public MovingSprite, /** Adds velocity from wind */ virtual void add_wind_velocity(const Vector& velocity, const Vector& end_speed); + Physic& get_physic() { return m_physic; } + protected: enum State { STATE_INIT, @@ -267,6 +269,7 @@ class BadGuy : public MovingSprite, SpritePtr m_lightsprite; SpritePtr m_freezesprite; bool m_glowing; + bool m_water_affected; Timer m_unfreeze_timer; diff --git a/src/badguy/crusher.cpp b/src/badguy/crusher.cpp index d4ba6d57aa5..0dfb20407ad 100644 --- a/src/badguy/crusher.cpp +++ b/src/badguy/crusher.cpp @@ -244,7 +244,8 @@ Crusher::collision_solid(const CollisionHit& hit) void Crusher::update(float dt_sec) { - Vector movement = m_physic.get_movement(dt_sec); + bool in_water = !Sector::get().is_free_of_tiles(get_bbox(), true, Tile::WATER); + Vector movement = m_physic.get_movement(dt_sec) * (in_water ? 0.6f : 1.f); m_col.set_movement(movement); m_col.propagate_movement(movement); if (m_cooldown_timer >= dt_sec) diff --git a/src/badguy/darttrap.cpp b/src/badguy/darttrap.cpp index 70d6a5c0d67..09a23b63417 100644 --- a/src/badguy/darttrap.cpp +++ b/src/badguy/darttrap.cpp @@ -27,7 +27,7 @@ #include "util/reader_mapping.hpp" DartTrap::DartTrap(const ReaderMapping& reader) : - BadGuy(reader, "images/creatures/darttrap/granito/darttrap_granito.sprite", get_allowed_directions()[0], LAYER_TILES-1), + StickyBadguy(reader, "images/creatures/darttrap/granito/darttrap_granito.sprite", get_allowed_directions()[0], LAYER_TILES-1, COLGROUP_MOVING), m_enabled(true), m_initial_delay(), m_fire_delay(), @@ -39,6 +39,7 @@ DartTrap::DartTrap(const ReaderMapping& reader) : parse_type(reader); reader.get("enabled", m_enabled, true); + reader.get("sticky", m_sticky, false); reader.get("initial-delay", m_initial_delay, 0.0f); reader.get("fire-delay", m_fire_delay, 2.0f); reader.get("ammo", m_ammo, -1); @@ -74,8 +75,14 @@ DartTrap::collision_player(Player&, const CollisionHit& ) } void -DartTrap::active_update(float) +DartTrap::active_update(float dt_sec) { + if (m_sticky) { + sticky_update(dt_sec); + } + + // end dynamic + if (!m_enabled) return; switch (m_state) { @@ -143,7 +150,7 @@ DartTrap::fire() ObjectSettings DartTrap::get_settings() { - ObjectSettings result = BadGuy::get_settings(); + ObjectSettings result = StickyBadguy::get_settings(); result.add_float(_("Initial delay"), &m_initial_delay, "initial-delay"); result.add_bool(_("Enabled"), &m_enabled, "enabled", true); @@ -151,7 +158,7 @@ DartTrap::get_settings() result.add_int(_("Ammo"), &m_ammo, "ammo"); result.add_sprite(_("Dart sprite"), &m_dart_sprite, "dart-sprite", "images/creatures/darttrap/granito/root_dart.sprite"); - result.reorder({"initial-delay", "fire-delay", "ammo", "direction", "x", "y", "dart-sprite"}); + result.reorder({"initial-delay", "fire-delay", "ammo", "sticky", "direction", "x", "y", "dart-sprite"}); return result; } diff --git a/src/badguy/darttrap.hpp b/src/badguy/darttrap.hpp index 8988ebbe3ee..42bab088aa4 100644 --- a/src/badguy/darttrap.hpp +++ b/src/badguy/darttrap.hpp @@ -17,10 +17,10 @@ #ifndef HEADER_SUPERTUX_BADGUY_DARTTRAP_HPP #define HEADER_SUPERTUX_BADGUY_DARTTRAP_HPP -#include "badguy/badguy.hpp" +#include "object/sticky_object.hpp" /** Badguy "DartTrap" - Shoots a Dart at regular intervals */ -class DartTrap final : public BadGuy +class DartTrap final : public StickyBadguy { public: DartTrap(const ReaderMapping& reader); diff --git a/src/badguy/dive_mine.cpp b/src/badguy/dive_mine.cpp index 2b63adeb87f..878ed60f518 100644 --- a/src/badguy/dive_mine.cpp +++ b/src/badguy/dive_mine.cpp @@ -33,6 +33,7 @@ DiveMine::DiveMine(const ReaderMapping& reader) : m_chasing(true) { reset_sprites(); + m_water_affected = false; } void diff --git a/src/badguy/fish_chasing.cpp b/src/badguy/fish_chasing.cpp index e18951d974e..51acc733c6d 100644 --- a/src/badguy/fish_chasing.cpp +++ b/src/badguy/fish_chasing.cpp @@ -52,6 +52,8 @@ FishChasing::get_default_sprite_name() const { case FOREST: return "images/creatures/fish/forest/brownfish.sprite"; + case CORRUPTED: + return "images/creatures/fish/forest/corrupted/corrupted_brownfish.sprite"; default: return m_default_sprite_name; } diff --git a/src/badguy/fish_jumping.cpp b/src/badguy/fish_jumping.cpp index 00b88c1beec..40a00e21208 100644 --- a/src/badguy/fish_jumping.cpp +++ b/src/badguy/fish_jumping.cpp @@ -33,6 +33,7 @@ FishJumping::FishJumping(const ReaderMapping& reader) : m_stop_y(0) { m_physic.enable_gravity(true); + m_water_affected = false; } void diff --git a/src/badguy/fish_swimming.cpp b/src/badguy/fish_swimming.cpp index 2e1c88e7178..d8d6324232d 100644 --- a/src/badguy/fish_swimming.cpp +++ b/src/badguy/fish_swimming.cpp @@ -35,6 +35,7 @@ FishSwimming::FishSwimming(const ReaderMapping& reader) : { parse_type(reader); reader.get("radius", m_radius, 100.0f); + m_water_affected = false; } FishSwimming::FishSwimming(const ReaderMapping& reader, const std::string& spritename) : @@ -45,6 +46,7 @@ FishSwimming::FishSwimming(const ReaderMapping& reader, const std::string& sprit m_radius() { reader.get("radius", m_radius, 100.0f); + m_water_affected = false; } GameObjectTypes @@ -52,7 +54,8 @@ FishSwimming::get_types() const { return { { "snow", _("Snow") }, - { "forest", _("Forest") } + { "forest", _("Forest") }, + { "corrupted", _("Corrupted") } }; } @@ -63,6 +66,8 @@ FishSwimming::get_default_sprite_name() const { case FOREST: return "images/creatures/fish/forest/bluefish.sprite"; + case CORRUPTED: + return "images/creatures/fish/forest/corrupted/corrupted_bluefish.sprite"; default: return m_default_sprite_name; } @@ -138,6 +143,7 @@ FishSwimming::update(float dt_sec) Sector::get().get_height() - m_col.m_bbox.get_height())); } BadGuy::update(dt_sec); + //m_col.set_movement(m_physic.get_movement(dt_sec)); } void diff --git a/src/badguy/fish_swimming.hpp b/src/badguy/fish_swimming.hpp index af6ed70e27c..5b9efe76c41 100644 --- a/src/badguy/fish_swimming.hpp +++ b/src/badguy/fish_swimming.hpp @@ -51,7 +51,8 @@ class FishSwimming : public BadGuy protected: enum Type { SNOW, - FOREST + FOREST, + CORRUPTED, }; enum FishYState { diff --git a/src/badguy/ghoul.cpp b/src/badguy/ghoul.cpp index 86a221ad674..f5327505d58 100644 --- a/src/badguy/ghoul.cpp +++ b/src/badguy/ghoul.cpp @@ -157,9 +157,9 @@ Ghoul::active_update(float dt_sec) } void -Ghoul::goto_node(int node_no) +Ghoul::goto_node(int node_idx) { - get_walker()->goto_node(node_no); + get_walker()->goto_node(node_idx); if (m_mystate != STATE_PATHMOVING && m_mystate != STATE_PATHMOVING_TRACK) { m_mystate = STATE_PATHMOVING; } diff --git a/src/badguy/ghoul.hpp b/src/badguy/ghoul.hpp index c8cf1a22192..4227a902d57 100644 --- a/src/badguy/ghoul.hpp +++ b/src/badguy/ghoul.hpp @@ -40,7 +40,7 @@ class Ghoul final : public BadGuy, void deactivate() override; void active_update(float dt_sec) override; - void goto_node(int node_no); + void goto_node(int node_idx); void set_state(const std::string& state); void start_moving(); void stop_moving(); diff --git a/src/badguy/igel.cpp b/src/badguy/igel.cpp index e36c483f184..ac3611d1ac4 100644 --- a/src/badguy/igel.cpp +++ b/src/badguy/igel.cpp @@ -66,17 +66,18 @@ Igel::active_update(float dt_sec) switch (m_state) { - case STATE_ROLLING: - if (get_action() == "roll-start-" + dir_to_string(m_dir) && - m_sprite->animation_done()) + case STATE_CHARGING: + if (m_sprite->animation_done()) { - set_action("roll", m_dir); + roll(); } + break; + + case STATE_ROLLING: if (m_ease_timer.started()) { - float progress = m_ease_timer.get_progress(); - float vel = (static_cast(SineEaseOut(static_cast(progress))) * (ROLL_SPEED - get_normal_walk_speed())) + get_normal_walk_speed(); + float vel = (m_ease_timer.get_progress() * (ROLL_SPEED - get_normal_walk_speed())) + get_normal_walk_speed(); set_walk_speed(vel); m_physic.set_velocity_x(vel * (m_dir == Direction::LEFT ? -1 : 1)); } @@ -106,8 +107,7 @@ Igel::active_update(float dt_sec) if (m_ease_timer.started()) { - float progress = m_ease_timer.get_progress(); - float vel = (static_cast(SineEaseIn(static_cast(progress))) * (get_normal_walk_speed() - ROLL_SPEED)) + ROLL_SPEED; + float vel = (m_ease_timer.get_progress() * (get_normal_walk_speed() - ROLL_SPEED)) + ROLL_SPEED; set_walk_speed(vel); m_physic.set_velocity_x(vel * (m_dir == Direction::LEFT ? -1 : 1)); } @@ -115,7 +115,7 @@ Igel::active_update(float dt_sec) if (m_bonked && m_ease_timer.check()) set_action("roll-end", m_dir); - if (!m_roll_cooldown.started() && should_roll()) roll(); + if (!m_roll_cooldown.started() && should_roll()) charge(); break; } @@ -147,6 +147,12 @@ Igel::collision_badguy(BadGuy &badguy, const CollisionHit &hit) return WalkingBadguy::collision_badguy(badguy, hit); } +bool +Igel::can_break() const +{ + return m_state == STATE_ROLLING; +} + void Igel::run_dead_script() { @@ -222,12 +228,22 @@ Igel::should_roll() const return in_reach_left && in_reach_right && in_reach_top && in_reach_bottom && can_see_player; } +void +Igel::charge() +{ + m_state = STATE_CHARGING; + //TODO: Add an audio cue!! + set_action("roll-start", m_dir); + set_walk_speed(0.f); + m_physic.set_velocity_x(0.f); +} + void Igel::roll() { m_state = STATE_ROLLING; - set_action("roll-start", m_dir); + set_action("roll", m_dir); set_ledge_behavior(LedgeBehavior::FALL); diff --git a/src/badguy/igel.hpp b/src/badguy/igel.hpp index 6740ec9a1f3..0aef788a590 100644 --- a/src/badguy/igel.hpp +++ b/src/badguy/igel.hpp @@ -30,6 +30,7 @@ class Igel final : public WalkingBadguy virtual void active_update(float dt_sec) override; virtual void collision_solid(const CollisionHit &hit) override; virtual HitResponse collision_badguy(BadGuy &badguy, const CollisionHit &hit) override; + virtual bool can_break() const override; virtual void run_dead_script() override; virtual std::string get_overlay_size() const override { return "2x1"; } @@ -46,9 +47,10 @@ class Igel final : public WalkingBadguy private: enum Type { NORMAL, CORRUPTED }; - enum State { STATE_NORMAL, STATE_ROLLING }; + enum State { STATE_NORMAL, STATE_CHARGING, STATE_ROLLING }; bool should_roll() const; + void charge(); void roll(); void stop_rolling(bool bonk = false); float get_normal_walk_speed() const; diff --git a/src/badguy/rcrystallo.cpp b/src/badguy/rcrystallo.cpp index 940881a51c1..ad56180a9e2 100644 --- a/src/badguy/rcrystallo.cpp +++ b/src/badguy/rcrystallo.cpp @@ -126,8 +126,9 @@ RCrystallo::active_update(float dt_sec) WalkingBadguy::active_update(dt_sec, targetwalk, 2.f); break; case RCRYSTALLO_DETECT: - m_physic.set_velocity_x(0.f); - m_physic.set_acceleration_x(0.f); + m_physic.set_velocity(0.f, 0.f); + m_physic.set_gravity_modifier(0.f); + m_physic.set_acceleration(0.f, 0.f); if (m_sprite->animation_done()) { diff --git a/src/badguy/root.cpp b/src/badguy/root.cpp index 7d1f4543864..2bbac27dd02 100644 --- a/src/badguy/root.cpp +++ b/src/badguy/root.cpp @@ -58,7 +58,7 @@ Root::construct(float delay, bool play_sound) { m_countMe = false; m_physic.enable_gravity(false); - set_colgroup_active(COLGROUP_TOUCHABLE); + set_colgroup_active(COLGROUP_DISABLED); set_action("root", m_dir); Vector pos = get_pos(); @@ -185,6 +185,7 @@ Root::active_update(float dt_sec) if (m_timer.check()) { m_state = STATE_APPEARING; + set_colgroup_active(COLGROUP_TOUCHABLE); m_timer.start(APPEAR_TIME); } break; diff --git a/src/badguy/spidermite.cpp b/src/badguy/spidermite.cpp deleted file mode 100644 index ea78d6ce3af..00000000000 --- a/src/badguy/spidermite.cpp +++ /dev/null @@ -1,117 +0,0 @@ -// SuperTux -// Copyright (C) 2006 Matthias Braun -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -#include "badguy/spidermite.hpp" - -#include "object/player.hpp" -#include "sprite/sprite.hpp" - -static const float FLYTIME = 1.2f; -static const float MOVE_SPEED = -100.0f; - -SpiderMite::SpiderMite(const ReaderMapping& reader) : - BadGuy(reader, "images/creatures/spidermite/spidermite.sprite"), - mode(), - timer() -{ - m_physic.enable_gravity(false); -} - -void -SpiderMite::initialize() -{ - set_action(m_dir); - mode = FLY_UP; - m_physic.set_velocity_y(MOVE_SPEED); - timer.start(FLYTIME/2); -} - -bool -SpiderMite::collision_squished(GameObject& object) -{ - if (m_frozen) - return BadGuy::collision_squished(object); - - set_action("squished", m_dir); - kill_squished(object); - return true; -} - -void -SpiderMite::collision_solid(const CollisionHit& hit) -{ - if (hit.top || hit.bottom) { // Hit floor or roof? - m_physic.set_velocity_y(0); - } - if (m_frozen) - BadGuy::collision_solid(hit); -} - -void -SpiderMite::active_update(float dt_sec) -{ - if (m_frozen) - { - BadGuy::active_update(dt_sec); - return; - } - if (timer.check()) { - if (mode == FLY_UP) { - mode = FLY_DOWN; - m_physic.set_velocity_y(-MOVE_SPEED); - } else if (mode == FLY_DOWN) { - mode = FLY_UP; - m_physic.set_velocity_y(MOVE_SPEED); - } - timer.start(FLYTIME); - } - m_col.set_movement(m_physic.get_movement(dt_sec)); - - auto player = get_nearest_player(); - if (player) { - m_dir = (player->get_pos().x > get_pos().x) ? Direction::RIGHT : Direction::LEFT; - set_action(m_dir); - } -} - -void -SpiderMite::freeze() -{ - m_physic.enable_gravity(true); - BadGuy::freeze(); -} - -void -SpiderMite::unfreeze(bool melt) -{ - BadGuy::unfreeze(melt); - m_physic.enable_gravity(false); - initialize(); -} - -bool -SpiderMite::is_freezable() const -{ - return true; -} - -std::vector -SpiderMite::get_allowed_directions() const -{ - return {}; -} - -/* EOF */ diff --git a/src/badguy/spidermite.hpp b/src/badguy/spidermite.hpp deleted file mode 100644 index 6061e5e0f01..00000000000 --- a/src/badguy/spidermite.hpp +++ /dev/null @@ -1,65 +0,0 @@ -// SuperTux -// Copyright (C) 2006 Matthias Braun -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -#ifndef HEADER_SUPERTUX_BADGUY_SPIDERMITE_HPP -#define HEADER_SUPERTUX_BADGUY_SPIDERMITE_HPP - -#include "badguy/badguy.hpp" - -class SpiderMite final : public BadGuy -{ -public: - SpiderMite(const ReaderMapping& reader); - - virtual void initialize() override; - virtual void active_update(float dt_sec) override; - virtual void collision_solid(const CollisionHit& hit) override; - - virtual void freeze() override; - virtual void unfreeze(bool melt = true) override; - virtual bool is_freezable() const override; - - virtual std::string get_overlay_size() const override { return "2x2"; } - static std::string class_name() { return "spidermite"; } - virtual std::string get_class_name() const override { return class_name(); } - static std::string display_name() { return _("Spidermite"); } - virtual std::string get_display_name() const override { return display_name(); } - virtual bool is_snipable() const override { return true; } - -protected: - virtual std::vector get_allowed_directions() const override; - -protected: - enum SpiderMiteMode { - FLY_UP, - FLY_DOWN - }; - -protected: - virtual bool collision_squished(GameObject& object) override; - -private: - SpiderMiteMode mode; - Timer timer; - -private: - SpiderMite(const SpiderMite&) = delete; - SpiderMite& operator=(const SpiderMite&) = delete; -}; - -#endif - -/* EOF */ diff --git a/src/badguy/stalactite.cpp b/src/badguy/stalactite.cpp index 4e81d6fd4b5..80c94ab98cd 100644 --- a/src/badguy/stalactite.cpp +++ b/src/badguy/stalactite.cpp @@ -31,7 +31,7 @@ static const float SHAKE_TIME = .8f; static const float SHAKE_RANGE_Y = 400; Stalactite::Stalactite(const ReaderMapping& mapping) : - BadGuy(mapping, "images/creatures/stalactite/stalactite_ice.sprite", LAYER_TILES - 1), + StickyBadguy(mapping, "images/creatures/stalactite/stalactite_ice.sprite", LAYER_TILES - 1, COLGROUP_MOVING), timer(), state(STALACTITE_HANGING), shake_delta(0.0f, 0.0f) @@ -46,6 +46,8 @@ Stalactite::Stalactite(const ReaderMapping& mapping) : SoundManager::current()->preload("sounds/cracking.wav"); SoundManager::current()->preload("sounds/sizzle.ogg"); SoundManager::current()->preload("sounds/icecrash.ogg"); + + mapping.get("sticky", m_sticky, false); } void @@ -74,6 +76,10 @@ Stalactite::active_update(float dt_sec) } else if (state == STALACTITE_FALLING) { m_col.set_movement(m_physic.get_movement(dt_sec)); } + + if (state != STALACTITE_FALLING && m_sticky) { + sticky_update(dt_sec); + } } void @@ -215,4 +221,14 @@ Stalactite::on_flip(float height) FlipLevelTransformer::transform_flip(m_flip); } +ObjectSettings +Stalactite::get_settings() +{ + ObjectSettings result = StickyBadguy::get_settings(); + + result.reorder({"sticky", "speed", "sprite", "x", "y" }); + + return result; +} + /* EOF */ diff --git a/src/badguy/stalactite.hpp b/src/badguy/stalactite.hpp index 29e9f1042ba..10f928325ed 100644 --- a/src/badguy/stalactite.hpp +++ b/src/badguy/stalactite.hpp @@ -17,12 +17,12 @@ #ifndef HEADER_SUPERTUX_BADGUY_STALACTITE_HPP #define HEADER_SUPERTUX_BADGUY_STALACTITE_HPP -#include "badguy/badguy.hpp" +#include "object/sticky_object.hpp" -class Stalactite : public BadGuy +class Stalactite : public StickyBadguy { public: - Stalactite(const ReaderMapping& reader); + Stalactite(const ReaderMapping& mapping); virtual void active_update(float dt_sec) override; virtual void collision_solid(const CollisionHit& hit) override; @@ -42,6 +42,8 @@ class Stalactite : public BadGuy static std::string display_name() { return _("Stalactite"); } virtual std::string get_display_name() const override { return display_name(); } + virtual ObjectSettings get_settings() override; + virtual void on_flip(float height) override; void squish(); diff --git a/src/badguy/tarantula.cpp b/src/badguy/tarantula.cpp new file mode 100644 index 00000000000..a62f6c1e3ae --- /dev/null +++ b/src/badguy/tarantula.cpp @@ -0,0 +1,385 @@ +// SuperTux +// Copyright (C) 2024 MatusGuy +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#include "badguy/tarantula.hpp" + +#include "editor/editor.hpp" +#include "object/player.hpp" +#include "sprite/sprite.hpp" +#include "supertux/sector.hpp" +#include "util/reader_mapping.hpp" +#include "video/surface.hpp" + +// These are divided by the distance between the +// floor and the ceiling +static const float DROP_TIME = 420.f; +static const float RETREAT_TIME = 175.f; + +// These aren't touched +static const float HANG_TIME = 0.7f; + +static const float HANG_HEIGHT = 70.f; + +static const float MOVE_SPEED = 75.f; + +static const float APPROACH_RANGE = 8.f*32; +static const float DROP_RANGE = 4.f*32; +static const float DROP_DETECT_RANGE = 1200.f; +static const float RETREAT_RANGE = 4.f*32; + +Tarantula::Tarantula(const ReaderMapping& reader) : + BadGuy(reader, "images/creatures/tarantula/tarantula.sprite"), + m_state(STATE_IDLE), + m_timer(), + m_silk(Surface::from_file("images/creatures/tarantula/silk.png")), + m_target_height(0), + m_last_height(0), + m_was_grabbed(false), + m_retreat(true), + m_attach_ceiling(false), + m_static(false), + m_ground_height(0.f) +{ + parse_type(reader); + set_action("idle"); + + reader.get("static", m_static, false); + + m_physic.enable_gravity(false); +} + +void +Tarantula::initialize() +{ + m_last_height = m_start_position.y; + Rectf ceiling(Vector(get_bbox().get_left(), get_bbox().get_top() - 2.5f), + Sizef(get_bbox().get_width(), 2.5f)); + m_attach_ceiling = !Sector::get().is_free_of_tiles(ceiling); +} + +bool +Tarantula::collision_squished(GameObject& object) +{ + if (m_frozen) + return BadGuy::collision_squished(object); + + set_action("squished"); + kill_squished(object); + return true; +} + +void +Tarantula::active_update(float dt_sec) +{ + BadGuy::active_update(dt_sec); + + if (is_grabbed()) + { + m_was_grabbed = true; + return; + } + + Player* player = get_nearest_player(); + if (player) + { + if (!Sector::get().is_free_of_statics(Rectf(Vector(player->get_bbox().get_left(), + player->get_bbox().get_bottom()+1.f), + Sizef(player->get_bbox().get_width(), 1.f)))) + { + m_ground_height = player->get_bbox().get_top(); + } + + if (m_state == STATE_HANG_UP || m_state == STATE_HANG_DOWN) + { + float dist = get_bbox().get_left() - player->get_bbox().get_left(); + if (std::abs(dist) > RETREAT_RANGE) + { + m_retreat = true; + } + } + } + + switch (m_state) + { + case STATE_IDLE: + m_retreat = false; + [[fallthrough]]; + case STATE_APPROACHING: + switch (try_approach()) + { + case NONE: + m_physic.set_velocity_x(0.f); + break; + + case DROP: + m_physic.set_velocity_x(0.f); + try_drop(); + break; + + default: + break; + } + + break; + + case STATE_DROPPING: + // Doesn't matter what time we put here, because the timer has already started. + hang_to(m_target_height, 0.f, false, STATE_HANG_UP, EaseQuadIn, "dive"); + break; + + case STATE_HANG_UP: + hang_to(m_last_height - HANG_HEIGHT, HANG_TIME, false, STATE_HANG_DOWN, EaseSineInOut, "rebound"); + break; + + case STATE_HANG_DOWN: + { + bool finished = hang_to(m_last_height + HANG_HEIGHT, HANG_TIME, false, STATE_HANG_UP, EaseSineInOut, "dive"); + if (m_retreat && finished) + { + m_state = STATE_RETREATING; + [[fallthrough]]; + } + else + { + break; + } + } + + case STATE_RETREATING: + hang_to(m_start_position.y, RETREAT_TIME, true, STATE_IDLE, EaseQuadIn, "rebound"); + break; + + default: + break; + } +} + +Tarantula::ApproachResponse +Tarantula::try_approach() +{ + Player* player = get_nearest_player(); + if (!player) + return NONE; + + if (get_bbox().get_bottom() >= player->get_bbox().get_top()) + return NONE; + + Vector eye(get_bbox().get_middle().x, get_bbox().get_bottom() + 1); + float dist = get_bbox().get_left() - player->get_bbox().get_left(); + + if (std::abs(dist) > APPROACH_RANGE) + return NONE; + + if (!Sector::get().can_see_player(eye)) + return NONE; + + if (std::abs(dist) <= DROP_RANGE) + return DROP; + + if (m_static) + return NONE; + + if (m_attach_ceiling) + { + Vector pos(get_bbox().get_left(), get_bbox().get_top() - 32.f); + if (dist < 0) + pos.x += 32.f; + + if (Sector::get().is_free_of_tiles(Rectf(pos, Sizef(2.5f, 32.f)))) + return NONE; + } + + if (dist > 0) + m_physic.set_velocity_x(-MOVE_SPEED); + else if (dist < 0) + m_physic.set_velocity_x(MOVE_SPEED); + + m_state = STATE_APPROACHING; + return APPROACH; +} + +bool +Tarantula::try_drop() +{ + using RaycastResult = CollisionSystem::RaycastResult; + + // Assuming the player has already been checked... + + Vector eye(get_bbox().get_middle().x, get_bbox().get_bottom() + 1); + RaycastResult result = Sector::get().get_first_line_intersection(eye, + Vector(eye.x, eye.y + DROP_DETECT_RANGE), + true, + nullptr); + + if (!result.is_valid) + { + float sectorheight = static_cast(Sector::get().get_editor_size().height * 32); + if (sectorheight <= eye.y + DROP_DETECT_RANGE + 1.f) + { + // Out of bounds. Drop to the lowest point possible by faking + // a raycast result. + if (m_ground_height < 0.f) + m_ground_height = sectorheight; + result.box = Rectf(Vector(0.f, m_ground_height), Sizef(1.f, 1.f)); + } + else + { + return false; + } + } + + m_state = STATE_DROPPING; + m_target_height = std::max(result.box.get_top() - 16.f - get_bbox().get_height(), 0.f); + m_timer.start(calculate_time(DROP_TIME)); + + return true; +} + +bool +Tarantula::hang_to(float height, float time, bool calctime, State nextstate, EasingMode easing, const std::string& action) +{ + set_action(action, 0); + + bool is_newstate = (m_target_height != height); + m_target_height = height; + + if (!m_timer.started()) + { + if (!is_newstate) + { + // Timer finished + m_state = nextstate; + m_last_height = height; + return true; + } + else + { + m_timer.start(calctime ? calculate_time(time) : time); + } + } + + double progress = static_cast(m_timer.get_timegone() / m_timer.get_period()); + float offset = static_cast(getEasingByName(easing)(progress)) * (m_target_height - m_last_height); + + Vector pos(get_bbox().get_left(), m_last_height + offset); + set_pos(pos); + + return false; +} + +float +Tarantula::calculate_time(float div) +{ + if (div <= 0.f) + return 0.f; + + return std::abs(m_target_height - get_bbox().get_top()) / div; +} + +void +Tarantula::collision_solid(const CollisionHit& hit) +{ + BadGuy::collision_solid(hit); + + if (hit.top) + m_attach_ceiling = true; + + if (m_was_grabbed && m_frozen && hit.bottom) + kill_fall(); +} + +void +Tarantula::draw(DrawingContext& context) +{ + BadGuy::draw(context); + + if (BadGuy::get_state() == STATE_FALLING || + BadGuy::get_state() == STATE_SQUISHED || + Editor::is_active()) + return; + + Vector pos(get_bbox().get_left() + ((get_bbox().get_width() - static_cast(m_silk->get_width()))/2), + m_start_position.y - 32.f); + + float length = std::floor((get_bbox().get_top() - m_start_position.y) / static_cast(m_silk->get_height())); + for (int i = 0; i <= static_cast(length) + 1; i++) { + context.color().draw_surface(m_silk, pos, LAYER_TILES-5); + pos.y += 32.f; + } +} + +void +Tarantula::freeze() +{ + m_physic.enable_gravity(true); + BadGuy::freeze(); +} + +void +Tarantula::unfreeze(bool) +{ + kill_fall(); +} + +bool +Tarantula::is_freezable() const +{ + return true; +} + +bool +Tarantula::is_snipable() const +{ + return m_state != STATE_DROPPING; +} + +GameObjectTypes +Tarantula::get_types() const +{ + return { + { "tarantula", _("Tarantula") }, + { "spidermite", _("Spidermite") } + }; +} + +std::string +Tarantula::get_default_sprite_name() const +{ + switch (m_type) + { + case TARANTULA: return "images/creatures/tarantula/tarantula.sprite"; + case SPIDERMITE: return "images/creatures/spidermite/spidermite.sprite"; + } + return "images/creatures/tarantula/tarantula.sprite"; +} + +ObjectSettings +Tarantula::get_settings() +{ + ObjectSettings result = BadGuy::get_settings(); + + result.add_bool(_("Static"), &m_static, "static", false); + + return result; +} + +std::vector +Tarantula::get_allowed_directions() const +{ + return {}; +} + +/* EOF */ diff --git a/src/badguy/tarantula.hpp b/src/badguy/tarantula.hpp new file mode 100644 index 00000000000..5c454ab5862 --- /dev/null +++ b/src/badguy/tarantula.hpp @@ -0,0 +1,96 @@ +// SuperTux +// Copyright (C) 2024 MatusGuy +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#ifndef HEADER_SUPERTUX_BADGUY_TARANTULA_HPP +#define HEADER_SUPERTUX_BADGUY_TARANTULA_HPP + +#include "badguy/badguy.hpp" + +class Tarantula final : public BadGuy +{ +public: + Tarantula(const ReaderMapping& reader); + + virtual void initialize() override; + virtual void active_update(float dt_sec) override; + virtual void collision_solid(const CollisionHit& hit) override; + virtual void draw(DrawingContext& context) override; + + virtual void freeze() override; + virtual void unfreeze(bool) override; + virtual bool is_freezable() const override; + + virtual std::string get_overlay_size() const override { return "3x3"; } + static std::string class_name() { return "tarantula"; } + virtual std::string get_class_name() const override { return class_name(); } + static std::string display_name() { return _("Tarantula"); } + virtual std::string get_display_name() const override { return display_name(); } + virtual bool is_snipable() const override; + + virtual GameObjectTypes get_types() const override; + virtual std::string get_default_sprite_name() const override; + + virtual ObjectSettings get_settings() override; + +protected: + virtual std::vector get_allowed_directions() const override; + virtual bool collision_squished(GameObject& object) override; + +protected: + enum Type { TARANTULA, SPIDERMITE }; + enum State + { + STATE_IDLE, + STATE_APPROACHING, + STATE_DROPPING, + STATE_HANG_UP, + STATE_HANG_DOWN, + STATE_RETREATING + }; + enum ApproachResponse + { + NONE, + APPROACH, + DROP + }; + +private: + ApproachResponse try_approach(); + bool try_drop(); + + bool hang_to(float height, float time, bool calctime, State nextstate, + EasingMode easing, const std::string& action); + float calculate_time(float div); + + State m_state; + Timer m_timer; + SurfacePtr m_silk; + float m_target_height; + float m_last_height; + bool m_was_grabbed; + bool m_retreat; + bool m_attach_ceiling; + bool m_static; + float m_ground_height; + +private: + Tarantula(const Tarantula&) = delete; + Tarantula& operator=(const Tarantula&) = delete; +}; + +#endif + +/* EOF */ diff --git a/src/badguy/viciousivy.cpp b/src/badguy/viciousivy.cpp index 018d025ba2c..984a1aefb7b 100644 --- a/src/badguy/viciousivy.cpp +++ b/src/badguy/viciousivy.cpp @@ -87,23 +87,48 @@ ViciousIvy::is_freezable() const void ViciousIvy::active_update(float dt_sec) { + WalkingBadguy::active_update(dt_sec); if (!m_frozen && !m_ignited) { Rectf floatbox = get_bbox(); floatbox.set_bottom(get_bbox().get_bottom() + 8.f); bool float_here = (Sector::get().is_free_of_statics(floatbox)); + bool in_water = !Sector::get().is_free_of_tiles(get_bbox(), true, Tile::WATER); + + Rectf watertopbox = get_bbox(); + watertopbox.set_top(get_bbox().get_bottom() - get_bbox().get_height()/3.f); + Rectf wateroutbox = get_bbox(); + wateroutbox.set_bottom(get_bbox().get_top() + (2*get_bbox().get_height()/3.f)); + + bool on_top_of_water = (!Sector::get().is_free_of_tiles(watertopbox, true, Tile::WATER) && + Sector::get().is_free_of_tiles(wateroutbox, true, Tile::WATER)); + + if (in_water) + { + if (!on_top_of_water) + { + m_physic.set_acceleration_y(-350.f); + m_physic.set_gravity_modifier(-10.f); + } + else + { + m_col.set_movement(Vector(m_col.get_movement().x, 0.f)); + m_physic.set_velocity_y(0.f); + m_physic.set_acceleration_y(0.f); + m_physic.set_gravity_modifier(0.f); + } + } + if (!float_here) { set_action(m_dir); } else { set_action("float", m_dir); - if (m_physic.get_velocity_y() >= m_fall_speed) { + if (m_physic.get_velocity_y() >= m_fall_speed && !in_water) { m_physic.set_velocity_y(m_fall_speed); } } } - - WalkingBadguy::active_update(dt_sec); } bool diff --git a/src/badguy/walking_badguy.cpp b/src/badguy/walking_badguy.cpp index 43f4ae0e8f6..51b07ccf3fc 100644 --- a/src/badguy/walking_badguy.cpp +++ b/src/badguy/walking_badguy.cpp @@ -195,8 +195,10 @@ WalkingBadguy::collision_solid(const CollisionHit& hit) if (m_physic.get_velocity_y() > 0) m_physic.set_velocity_y(0); } - if ((hit.left && (m_dir == Direction::LEFT)) || (hit.right && (m_dir == Direction::RIGHT))) { - turn_around(); + if ( hit.slope_normal.x == 0.0f && + ((hit.left && m_dir == Direction::LEFT) || + (hit.right && m_dir == Direction::RIGHT)) ) { + turn_around(); } } diff --git a/src/badguy/walkingleaf.cpp b/src/badguy/walkingleaf.cpp index 37c451e0b85..4727fce9a1d 100644 --- a/src/badguy/walkingleaf.cpp +++ b/src/badguy/walkingleaf.cpp @@ -72,24 +72,49 @@ WalkingLeaf::on_type_change(int old_type) void WalkingLeaf::active_update(float dt_sec) { + WalkingBadguy::active_update(dt_sec); if (!m_frozen && !m_ignited) { Rectf floatbox = get_bbox(); floatbox.set_bottom(get_bbox().get_bottom() + 8.f); bool float_here = (Sector::get().is_free_of_statics(floatbox)); + bool in_water = !Sector::get().is_free_of_tiles(get_bbox(), true, Tile::WATER); + + Rectf watertopbox = get_bbox(); + watertopbox.set_top(get_bbox().get_bottom() - get_bbox().get_height() / 3.f); + Rectf wateroutbox = get_bbox(); + wateroutbox.set_bottom(get_bbox().get_top() + (2 * get_bbox().get_height() / 3.f)); + + bool on_top_of_water = (!Sector::get().is_free_of_tiles(watertopbox, true, Tile::WATER) && + Sector::get().is_free_of_tiles(wateroutbox, true, Tile::WATER)); + + if (in_water) + { + if (!on_top_of_water) + { + m_physic.set_acceleration_y(-350.f); + m_physic.set_gravity_modifier(-10.f); + } + else + { + m_col.set_movement(Vector(m_col.get_movement().x, 0.f)); + m_physic.set_velocity_y(0.f); + m_physic.set_acceleration_y(0.f); + m_physic.set_gravity_modifier(0.f); + } + } + if (!float_here) { set_action(m_dir); } else { set_action("float", m_dir); - if (m_physic.get_velocity_y() >= m_fall_speed) { + if (m_physic.get_velocity_y() >= m_fall_speed && !in_water) { m_physic.set_velocity_y(m_fall_speed); } } } - - WalkingBadguy::active_update(dt_sec); } bool diff --git a/src/badguy/willowisp.cpp b/src/badguy/willowisp.cpp index 7fc2878e3f4..2f64bcde0b3 100644 --- a/src/badguy/willowisp.cpp +++ b/src/badguy/willowisp.cpp @@ -23,6 +23,7 @@ #include "object/lantern.hpp" #include "object/player.hpp" #include "sprite/sprite.hpp" +#include "supertux/constants.hpp" #include "supertux/game_session.hpp" #include "supertux/sector.hpp" #include "util/reader_mapping.hpp" @@ -53,8 +54,8 @@ WillOWisp::WillOWisp(const ReaderMapping& reader) : reader.get("sector", m_target_sector); reader.get("spawnpoint", m_target_spawnpoint); } else { - reader.get("sector", m_target_sector, "main"); - reader.get("spawnpoint", m_target_spawnpoint, "main"); + reader.get("sector", m_target_sector, DEFAULT_SECTOR_NAME.c_str()); + reader.get("spawnpoint", m_target_spawnpoint, DEFAULT_SPAWNPOINT_NAME.c_str()); } reader.get("flyspeed", m_flyspeed, FLYSPEED); @@ -260,9 +261,9 @@ WillOWisp::collision_player(Player& player, const CollisionHit& ) { } void -WillOWisp::goto_node(int node_no) +WillOWisp::goto_node(int node_idx) { - get_walker()->goto_node(node_no); + get_walker()->goto_node(node_idx); if (m_mystate != STATE_PATHMOVING && m_mystate != STATE_PATHMOVING_TRACK) { m_mystate = STATE_PATHMOVING; } diff --git a/src/badguy/willowisp.hpp b/src/badguy/willowisp.hpp index 1b2a90fef7d..25d625b8ebd 100644 --- a/src/badguy/willowisp.hpp +++ b/src/badguy/willowisp.hpp @@ -44,7 +44,7 @@ class WillOWisp final : virtual bool is_hurtable() const override { return false; } virtual void kill_fall() override { vanish(); } - virtual void goto_node(int node_no); + virtual void goto_node(int node_idx); virtual void set_state(const std::string& state); virtual void start_moving(); virtual void stop_moving(); diff --git a/src/badguy/yeti_stalactite.cpp b/src/badguy/yeti_stalactite.cpp index d9c4477c0f2..00c231f65a8 100644 --- a/src/badguy/yeti_stalactite.cpp +++ b/src/badguy/yeti_stalactite.cpp @@ -45,7 +45,7 @@ YetiStalactite::is_hanging() const void YetiStalactite::active_update(float dt_sec) { - if (state == STALACTITE_HANGING) + if (state == STALACTITE_HANGING && !m_sticky) return; Stalactite::active_update(dt_sec); diff --git a/src/collision/collision_movement_manager.hpp b/src/collision/collision_movement_manager.hpp index c0ad5ff5871..e39175a2561 100644 --- a/src/collision/collision_movement_manager.hpp +++ b/src/collision/collision_movement_manager.hpp @@ -45,12 +45,12 @@ class CollisionGroundMovementManager final void register_movement(CollisionObject& moving_object, const Vector& movement); void register_movement(TileMap& moving_tilemap, const Vector& movement); - const std::unordered_map get_objects_map() const + const std::unordered_map& get_objects_map() const { return m_moving_objects; } - const std::unordered_map get_tilemaps_map() const + const std::unordered_map& get_tilemaps_map() const { return m_moving_tilemaps; } diff --git a/src/collision/collision_system.cpp b/src/collision/collision_system.cpp index 3d733ab0d61..1d2a4afa5ff 100644 --- a/src/collision/collision_system.cpp +++ b/src/collision/collision_system.cpp @@ -425,7 +425,7 @@ CollisionSystem::collision_static(collision::Constraints* constraints, // let's skip this if two colgroup_moving_static's connect and our object is somewhat larger than the static object. if ((object.get_group() == COLGROUP_MOVING_STATIC && static_object->get_group() == COLGROUP_MOVING_STATIC) && (object_size > static_size + FORGIVENESS)) { - return; + continue; } if (( static_object->get_group() == COLGROUP_STATIC || diff --git a/src/editor/editor.cpp b/src/editor/editor.cpp index 4a2b386690e..47219e2df2d 100644 --- a/src/editor/editor.cpp +++ b/src/editor/editor.cpp @@ -52,6 +52,7 @@ #include "physfs/util.hpp" #include "sdk/integration.hpp" #include "sprite/sprite_manager.hpp" +#include "supertux/constants.hpp" #include "supertux/game_manager.hpp" #include "supertux/gameconfig.hpp" #include "supertux/globals.hpp" @@ -179,6 +180,8 @@ Editor::draw(Compositor& compositor) m_new_scale = 0.f; } + m_sector->pause_camera_interpolation(); + // Avoid drawing the sector if we're about to test it, as there is a dangling pointer // issue with the PlayerStatus. if (!m_leveltested) @@ -493,7 +496,7 @@ Editor::set_sector(Sector* sector) if (!sector) return; m_sector = sector; - m_sector->activate("main"); + m_sector->activate(DEFAULT_SPAWNPOINT_NAME); { // Initialize badguy sprites and perform other GameObject related tasks. BIND_SECTOR(*m_sector); @@ -526,7 +529,7 @@ Editor::delete_current_sector() void Editor::set_level(std::unique_ptr level, bool reset) { - std::string sector_name = "main"; + std::string sector_name = DEFAULT_SECTOR_NAME; Vector translation(0.0f, 0.0f); if (!reset && m_sector) { @@ -538,7 +541,7 @@ Editor::set_level(std::unique_ptr level, bool reset) m_enabled = true; if (reset) { - m_toolbox_widget->set_input_type(EditorToolboxWidget::InputType::NONE); + m_toolbox_widget->get_tilebox().set_input_type(EditorTilebox::InputType::NONE); } // Reload level. @@ -848,7 +851,7 @@ Editor::resize() void Editor::event(const SDL_Event& ev) { - if (!m_enabled) return; + if (!m_enabled || !m_levelloaded) return; try { @@ -965,7 +968,7 @@ void Editor::change_tileset() { m_tileset = TileManager::current()->get_tileset(m_level->get_tileset()); - m_toolbox_widget->set_input_type(EditorToolboxWidget::InputType::NONE); + m_toolbox_widget->get_tilebox().set_input_type(EditorTilebox::InputType::NONE); for (const auto& sector : m_level->m_sectors) { for (auto& tilemap : sector->get_objects_by_type()) { tilemap.set_tileset(m_tileset); @@ -982,7 +985,7 @@ Editor::select_objectgroup(int id) const std::vector& Editor::get_objectgroups() const { - return m_toolbox_widget->get_object_info().m_groups; + return m_toolbox_widget->get_tilebox().get_object_info().m_groups; } void @@ -997,12 +1000,12 @@ Editor::check_save_prerequisites(const std::function& callback) const bool sector_valid = false, spawnpoint_valid = false; for (const auto& sector : m_level->m_sectors) { - if (sector->get_name() == "main") + if (sector->get_name() == DEFAULT_SECTOR_NAME) { sector_valid = true; for (const auto& spawnpoint : sector->get_objects_by_type()) { - if (spawnpoint.get_name() == "main") + if (spawnpoint.get_name() == DEFAULT_SPAWNPOINT_NAME) { spawnpoint_valid = true; } diff --git a/src/editor/editor.hpp b/src/editor/editor.hpp index 7084232e982..1b47d688aec 100644 --- a/src/editor/editor.hpp +++ b/src/editor/editor.hpp @@ -24,6 +24,7 @@ #include #include "editor/overlay_widget.hpp" +#include "editor/tilebox.hpp" #include "editor/toolbox_widget.hpp" #include "editor/layers_widget.hpp" #include "editor/scroller_widget.hpp" @@ -92,17 +93,17 @@ class Editor final : public Screen, World* get_world() const { return m_world.get(); } TileSet* get_tileset() const { return m_tileset; } - TileSelection* get_tiles() const { return m_toolbox_widget->get_tiles(); } - std::string get_tileselect_object() const { return m_toolbox_widget->get_object(); } + TileSelection* get_tiles() const { return m_toolbox_widget->get_tilebox().get_tiles(); } + std::string get_tileselect_object() const { return m_toolbox_widget->get_tilebox().get_object(); } - EditorToolboxWidget::InputType get_tileselect_input_type() const { return m_toolbox_widget->get_input_type(); } + EditorTilebox::InputType get_tileselect_input_type() const { return m_toolbox_widget->get_tilebox().get_input_type(); } - bool has_active_toolbox_tip() const { return m_toolbox_widget->has_active_object_tip(); } + bool has_active_toolbox_tip() const { return m_toolbox_widget->get_tilebox().has_active_object_tip(); } int get_tileselect_select_mode() const; int get_tileselect_move_mode() const; - std::string get_levelfile() const { return m_levelfile; } + const std::string& get_levelfile() const { return m_levelfile; } void set_level(const std::string& levelfile_) { m_levelfile = levelfile_; diff --git a/src/editor/layers_widget.cpp b/src/editor/layers_widget.cpp index 69acde8ad9c..5b7067a58df 100644 --- a/src/editor/layers_widget.cpp +++ b/src/editor/layers_widget.cpp @@ -19,6 +19,7 @@ #include "editor/editor.hpp" #include "editor/layer_icon.hpp" #include "editor/object_menu.hpp" +#include "editor/tilebox.hpp" #include "editor/tip.hpp" #include "gui/menu_manager.hpp" #include "math/vector.hpp" @@ -27,6 +28,7 @@ #include "object/tilemap.hpp" #include "supertux/colorscheme.hpp" #include "supertux/gameconfig.hpp" +#include "supertux/game_object_factory.hpp" #include "supertux/globals.hpp" #include "supertux/menu/menu_storage.hpp" #include "supertux/moving_object.hpp" @@ -37,10 +39,15 @@ #include "video/video_system.hpp" #include "video/viewport.hpp" +#include + EditorLayersWidget::EditorLayersWidget(Editor& editor) : m_editor(editor), m_layer_icons(), m_selected_tilemap(), + m_add_icon("", "images/engine/editor/add.png"), + m_add_layer_box(new EditorTilebox(editor, Rectf())), + m_add_layer_box_visible(false), m_Ypos(448), m_Width(512), m_scroll(0), @@ -52,13 +59,24 @@ EditorLayersWidget::EditorLayersWidget(Editor& editor) : m_object_tip(new Tip()), m_has_mouse_focus(false) { + m_add_layer_box->on_select([this](EditorTilebox& tilebox) + { + assert(tilebox.get_input_type() == EditorTilebox::InputType::OBJECT); + + m_editor.get_sector()->add_object(GameObjectFactory::instance().create(tilebox.get_object())); + m_add_layer_box_visible = false; + }); } void EditorLayersWidget::draw(DrawingContext& context) { - - if (m_object_tip->get_visible()) { + if (m_add_layer_box_visible) + { + m_add_layer_box->draw(context); + } + else if (m_object_tip->get_visible()) + { auto position = get_layer_coords(m_hovered_layer); m_object_tip->draw_up(context, position); } @@ -111,16 +129,20 @@ EditorLayersWidget::draw(DrawingContext& context) ALIGN_LEFT, LAYER_GUI, ColorScheme::Menu::default_color); int pos = 0; - for (const auto& layer_icon : m_layer_icons) { - if (layer_icon->is_valid()) { - if (pos * 35 >= m_scroll) { - layer_icon->draw(context, get_layer_coords(pos)); - } else if ((pos + 1) * 35 >= m_scroll) { - layer_icon->draw(context, get_layer_coords(pos), 35 - (m_scroll - pos * 35)); - } - } + for (const auto& layer_icon : m_layer_icons) + { + if (!layer_icon->is_valid()) continue; + + if (pos * 35 >= m_scroll) + layer_icon->draw(context, get_layer_coords(pos)); + else if ((pos + 1) * 35 >= m_scroll) + layer_icon->draw(context, get_layer_coords(pos), 35 - (m_scroll - pos * 35)); pos++; } + if (pos * 35 >= m_scroll) + m_add_icon.draw(context, get_layer_coords(pos)); + else if ((pos + 1) * 35 >= m_scroll) + m_add_icon.draw(context, get_layer_coords(pos), 35 - (m_scroll - pos * 35)); } void @@ -154,6 +176,17 @@ EditorLayersWidget::update(float dt_sec) } } +bool +EditorLayersWidget::event(const SDL_Event& ev) +{ + bool result = Widget::event(ev); + + if (m_add_layer_box_visible) + result |= m_add_layer_box->event(ev); + + return result; +} + bool EditorLayersWidget::on_mouse_button_up(const SDL_MouseButtonEvent& button) { @@ -173,7 +206,19 @@ EditorLayersWidget::on_mouse_button_down(const SDL_MouseButtonEvent& button) return true; case HoveredItem::LAYERS: - if (m_hovered_layer >= m_layer_icons.size()) + if (m_hovered_layer == m_layer_icons.size()) // Add layer button + { + m_add_layer_box_visible = !m_add_layer_box_visible; + if (m_add_layer_box_visible) + { + m_add_layer_box->select_layers_objectgroup(); + + const Vector coords = get_layer_coords(static_cast(m_layer_icons.size())); + m_add_layer_box->set_rect(Rectf(coords - Vector(48.f, std::max(m_add_layer_box->get_tiles_height(), 32.f)), + coords + Vector(80.f, 0.f))); + } + } + else if (m_hovered_layer > m_layer_icons.size()) { return false; } @@ -189,8 +234,8 @@ EditorLayersWidget::on_mouse_button_down(const SDL_MouseButtonEvent& button) m_editor.edit_path(cam->get_path_gameobject(), cam); } } - return true; } + return true; default: return false; @@ -233,26 +278,33 @@ EditorLayersWidget::on_mouse_motion(const SDL_MouseMotionEvent& motion) m_hovered_item = HoveredItem::SPAWNPOINTS; m_object_tip->set_visible(false); return true; + } + + if (x <= static_cast(m_sector_text_width)) { + m_hovered_item = HoveredItem::SECTOR; + m_object_tip->set_visible(false); } else { - if (x <= static_cast(m_sector_text_width)) { - m_hovered_item = HoveredItem::SECTOR; - m_object_tip->set_visible(false); - } else { - // Scrolling - if (x < static_cast(m_sector_text_width + 32)) { - m_scroll_speed = -1; - } else if (x > static_cast(SCREEN_WIDTH - 160)) { // 160 = 128 + 32 - m_scroll_speed = 1; - } else { - m_scroll_speed = 0; - } - unsigned int new_hovered_layer = get_layer_pos(mouse_pos); - if (m_hovered_layer != new_hovered_layer || m_hovered_item != HoveredItem::LAYERS) { - m_hovered_layer = new_hovered_layer; - update_tip(); - } - m_hovered_item = HoveredItem::LAYERS; + // Scrolling + if (x < static_cast(m_sector_text_width + 32)) + { + m_scroll_speed = -1; + m_add_layer_box_visible = false; } + else if (x > static_cast(SCREEN_WIDTH - 160)) // 160 = 128 + 32 + { + m_scroll_speed = 1; + m_add_layer_box_visible = false; + } + else + { + m_scroll_speed = 0; + } + unsigned int new_hovered_layer = get_layer_pos(mouse_pos); + if (m_hovered_layer != new_hovered_layer || m_hovered_item != HoveredItem::LAYERS) { + m_hovered_layer = new_hovered_layer; + update_tip(); + } + m_hovered_item = HoveredItem::LAYERS; } return true; @@ -326,7 +378,7 @@ EditorLayersWidget::refresh() void EditorLayersWidget::refresh_sector_text() { - m_sector_text = _("Sector") + ": " + m_editor.get_sector()->get_name(); + m_sector_text = fmt::format(fmt::runtime(_("Sector: {}")), m_editor.get_sector()->get_name()); m_sector_text_width = int(Resources::normal_font->get_text_width(m_sector_text)) + 6; } @@ -408,11 +460,12 @@ EditorLayersWidget::add_layer(GameObject* layer, bool initial) void EditorLayersWidget::update_tip() { - if ( m_hovered_layer >= m_layer_icons.size() ) { + if (m_hovered_layer == m_layer_icons.size()) + m_object_tip->set_info(_("Add Layer")); + else if (m_hovered_layer > m_layer_icons.size()) m_object_tip->set_visible(false); - return; - } - m_object_tip->set_info_for_object(*m_layer_icons[m_hovered_layer]->get_layer()); + else + m_object_tip->set_info_for_object(*m_layer_icons[m_hovered_layer]->get_layer()); } void diff --git a/src/editor/layers_widget.hpp b/src/editor/layers_widget.hpp index 855ebe7996d..79551c014bc 100644 --- a/src/editor/layers_widget.hpp +++ b/src/editor/layers_widget.hpp @@ -24,11 +24,14 @@ #include "editor/widget.hpp" +#include "editor/object_icon.hpp" +#include "editor/object_info.hpp" #include "math/fwd.hpp" #include "util/uid.hpp" class DrawingContext; class Editor; +class EditorTilebox; class GameObject; class LayerIcon; class TileMap; @@ -49,6 +52,7 @@ class EditorLayersWidget final : public Widget virtual void draw(DrawingContext& context) override; virtual void update(float dt_sec) override; + virtual bool event(const SDL_Event& ev) override; virtual bool on_mouse_button_up(const SDL_MouseButtonEvent& button) override; virtual bool on_mouse_button_down(const SDL_MouseButtonEvent& button) override; virtual bool on_mouse_motion(const SDL_MouseMotionEvent& motion) override; @@ -81,6 +85,10 @@ class EditorLayersWidget final : public Widget std::vector> m_layer_icons; UID m_selected_tilemap; + ObjectIcon m_add_icon; + std::unique_ptr m_add_layer_box; + bool m_add_layer_box_visible; + int m_Ypos; const int m_Xpos = 32; int m_Width; diff --git a/src/editor/object_group.hpp b/src/editor/object_group.hpp index 3d29ed57de4..e40cd6c2535 100644 --- a/src/editor/object_group.hpp +++ b/src/editor/object_group.hpp @@ -32,7 +32,7 @@ class ObjectGroup final void add_icon(const std::string& object, const std::string& icon_path); - std::string get_name() const { return m_name; } + const std::string& get_name() const { return m_name; } bool is_worldmap() const { return m_for_worldmap; } diff --git a/src/editor/object_icon.hpp b/src/editor/object_icon.hpp index a58d4a1207e..c37f0bff026 100644 --- a/src/editor/object_icon.hpp +++ b/src/editor/object_icon.hpp @@ -35,7 +35,7 @@ class ObjectIcon virtual void draw(DrawingContext& context, const Vector& pos); virtual void draw(DrawingContext& context, const Vector& pos, int pixels_shown); - std::string get_object_class() const { return m_object_class; } + const std::string& get_object_class() const { return m_object_class; } ObjectIcon(const ObjectIcon&) = default; ObjectIcon& operator=(const ObjectIcon&) = default; diff --git a/src/editor/object_info.cpp b/src/editor/object_info.cpp index 54372a9cbd3..ed499b69f19 100644 --- a/src/editor/object_info.cpp +++ b/src/editor/object_info.cpp @@ -19,30 +19,58 @@ #include "util/reader_document.hpp" ObjectInfo::ObjectInfo() : - m_groups() + m_groups(), + m_layers_group(), + m_worldmap_layers_group() { auto doc = ReaderDocument::from_file("images/engine/editor/objects.stoi"); auto root = doc.get_root(); - if (root.get_name() != "supertux-objectinfo") { - throw std::runtime_error("file images/engine/editor/objects.stoi is not a supertux-objectinfo file."); - } // Bombenfest und Idioten sicher :DDDDD + if (root.get_name() != "supertux-objectinfo") + throw std::runtime_error("'images/engine/editor/objects.stoi' is not a 'supertux-objectinfo' file."); auto reader = root.get_mapping(); - /*const lisp::Lisp* info = root->get_lisp("supertux-objectinfo"); - if (!info) { - throw std::runtime_error("file images/engine/editor/objects.stoi is not a supertux-objectinfo file."); - }*/ // Bombenfest und Idioten sicher :DDDDD - auto iter = reader.get_iter(); - while (iter.next()) { + while (iter.next()) + { const std::string& token = iter.get_key(); - if (token == "objectgroup") { - m_groups.push_back( ObjectGroup( iter.as_mapping() ) ); + if (token == "objectgroup") + m_groups.push_back(ObjectGroup(iter.as_mapping())); + else if (token == "layers") + m_layers_group = std::make_unique(iter.as_mapping()); + else if (token == "layers-worldmap") + m_worldmap_layers_group = std::make_unique(iter.as_mapping()); + } +} + +int +ObjectInfo::get_first_worldmap_group_index() const +{ + int worldmap_group_index = 0; + for (const auto& group : m_groups) + { + if (group.is_worldmap()) + { + return worldmap_group_index; } + worldmap_group_index++; } + return -1; +} +int +ObjectInfo::get_num_groups(bool for_worldmap) const +{ + int num_groups = 0; + for (const auto& group : m_groups) + { + if (group.is_worldmap() == for_worldmap) + { + num_groups++; + } + } + return num_groups; } /* EOF */ diff --git a/src/editor/object_info.hpp b/src/editor/object_info.hpp index 114530ff43e..29afe3fedf2 100644 --- a/src/editor/object_info.hpp +++ b/src/editor/object_info.hpp @@ -19,6 +19,8 @@ #include "editor/object_group.hpp" +#include + class ObjectInfo final { public: @@ -27,36 +29,15 @@ class ObjectInfo final int get_num_worldmap_groups() const { return get_num_groups(true); } int get_num_level_groups() const { return get_num_groups(false); } - int get_first_worldmap_group_index() const - { - int worldmap_group_index = 0; - for (const auto& group : m_groups) - { - if (group.is_worldmap()) - { - return worldmap_group_index; - } - worldmap_group_index++; - } - return -1; - } + int get_first_worldmap_group_index() const; private: - int get_num_groups(bool for_worldmap) const - { - int num_groups = 0; - for (const auto& group : m_groups) - { - if (group.is_worldmap() == for_worldmap) - { - num_groups++; - } - } - return num_groups; - } + int get_num_groups(bool for_worldmap) const; public: std::vector m_groups; + std::unique_ptr m_layers_group; + std::unique_ptr m_worldmap_layers_group; private: ObjectInfo(const ObjectInfo&) = delete; diff --git a/src/editor/object_menu.cpp b/src/editor/object_menu.cpp index d91f5bb6d26..61dc8ed606b 100644 --- a/src/editor/object_menu.cpp +++ b/src/editor/object_menu.cpp @@ -81,10 +81,7 @@ ObjectMenu::menu_action(MenuItem& item) switch (item.get_id()) { case MNID_UPDATE: - Dialog::show_confirmation(_("This will update the object to its latest functionality.") + "\n" + - _("Check the \"Patch Notes\" for more information.") + "\n\n" + - _("Keep in mind this is very likely to break the proper behaviour of the object.") + "\n" + - _("Make sure to re-check any behaviour, related to the object."), [this]() { + Dialog::show_confirmation(_("This will update the object to its latest functionality.\nCheck the \"Patch Notes\" for more information.\n\nKeep in mind this is very likely to break the proper behaviour of the object.\nMake sure to re-check any behaviour, related to the object."), [this]() { m_object->update_version(); refresh(); }); diff --git a/src/editor/object_settings.hpp b/src/editor/object_settings.hpp index b749cf5cfd9..b9ba078d970 100644 --- a/src/editor/object_settings.hpp +++ b/src/editor/object_settings.hpp @@ -19,6 +19,7 @@ #include #include +#include #include "editor/object_option.hpp" #include "object/path_walker.hpp" diff --git a/src/editor/overlay_widget.cpp b/src/editor/overlay_widget.cpp index 0461a4d59f1..7cccb9628ec 100644 --- a/src/editor/overlay_widget.cpp +++ b/src/editor/overlay_widget.cpp @@ -915,7 +915,7 @@ EditorOverlayWidget::process_left_click() switch (m_editor.get_tileselect_input_type()) { - case EditorToolboxWidget::InputType::TILE: + case EditorTilebox::InputType::TILE: switch (m_editor.get_tileselect_select_mode()) { case 0: @@ -941,7 +941,8 @@ EditorOverlayWidget::process_left_click() } break; - case EditorToolboxWidget::InputType::OBJECT: + case EditorTilebox::InputType::NONE: + case EditorTilebox::InputType::OBJECT: switch (m_editor.get_tileselect_move_mode()) { case 0: @@ -976,15 +977,15 @@ EditorOverlayWidget::process_right_click() { switch (m_editor.get_tileselect_input_type()) { - case EditorToolboxWidget::InputType::TILE: + case EditorTilebox::InputType::TILE: m_dragging = true; m_dragging_right = true; m_drag_start = m_sector_pos; update_tile_selection(); break; - case EditorToolboxWidget::InputType::NONE: - case EditorToolboxWidget::InputType::OBJECT: + case EditorTilebox::InputType::NONE: + case EditorTilebox::InputType::OBJECT: { if (m_hovered_object && m_hovered_object->is_valid() && @@ -1077,7 +1078,7 @@ EditorOverlayWidget::on_mouse_button_up(const SDL_MouseButtonEvent& button) { if (button.button == SDL_BUTTON_LEFT) { - if (m_editor.get_tileselect_input_type() == EditorToolboxWidget::InputType::TILE) + if (m_editor.get_tileselect_input_type() == EditorTilebox::InputType::TILE) { if (m_dragging && m_editor.get_tileselect_select_mode() == 1) { @@ -1087,7 +1088,7 @@ EditorOverlayWidget::on_mouse_button_up(const SDL_MouseButtonEvent& button) m_editor.get_selected_tilemap()->check_state(); } - else if (m_editor.get_tileselect_input_type() == EditorToolboxWidget::InputType::OBJECT) + else if (m_editor.get_tileselect_input_type() == EditorTilebox::InputType::OBJECT) { if (m_dragging && m_dragged_object) { m_dragged_object->check_state(); @@ -1138,7 +1139,7 @@ EditorOverlayWidget::on_mouse_motion(const SDL_MouseMotionEvent& motion) { switch (m_editor.get_tileselect_input_type()) { - case EditorToolboxWidget::InputType::TILE: + case EditorTilebox::InputType::TILE: if (m_dragging_right) { update_tile_selection(); @@ -1159,7 +1160,8 @@ EditorOverlayWidget::on_mouse_motion(const SDL_MouseMotionEvent& motion) } break; - case EditorToolboxWidget::InputType::OBJECT: + case EditorTilebox::InputType::NONE: + case EditorTilebox::InputType::OBJECT: if (m_editor.get_tileselect_object().empty()) { if (m_editor.get_tileselect_select_mode() == 1) @@ -1258,7 +1260,7 @@ EditorOverlayWidget::update_pos() void EditorOverlayWidget::draw_tile_tip(DrawingContext& context) { - if (m_editor.get_tileselect_input_type() == EditorToolboxWidget::InputType::TILE) + if (m_editor.get_tileselect_input_type() == EditorTilebox::InputType::TILE) { auto tilemap = m_editor.get_selected_tilemap(); if (!tilemap) return; @@ -1499,7 +1501,7 @@ EditorOverlayWidget::draw(DrawingContext& context) draw_rectangle_preview(context); draw_path(context); - if (m_editor.get_tileselect_input_type() == EditorToolboxWidget::InputType::TILE && + if (m_editor.get_tileselect_input_type() == EditorTilebox::InputType::TILE && !g_config->editor_show_deprecated_tiles) // If showing deprecated tiles is enabled, this is redundant, since tiles are indicated without the need of hovering over. { // Deprecated tiles in active tilemaps should have indication, when hovered diff --git a/src/editor/particle_editor.cpp b/src/editor/particle_editor.cpp index 68913b8b3e0..44241539c4d 100644 --- a/src/editor/particle_editor.cpp +++ b/src/editor/particle_editor.cpp @@ -579,7 +579,7 @@ ParticleEditor::save(const std::string& filepath_, bool retry) { std::ostringstream msg; msg << "Couldn't create directory for particle config '" - << dirname << "': " < +// 2024 Vankata453 +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#include "editor/tilebox.hpp" + +#include "editor/editor.hpp" +#include "editor/object_info.hpp" +#include "editor/tile_selection.hpp" +#include "editor/tip.hpp" +#include "supertux/colorscheme.hpp" +#include "supertux/gameconfig.hpp" +#include "supertux/game_object_factory.hpp" +#include "supertux/globals.hpp" +#include "supertux/level.hpp" +#include "supertux/resources.hpp" +#include "util/log.hpp" +#include "video/drawing_context.hpp" + +EditorTilebox::EditorTilebox(Editor& editor, const Rectf& rect) : + m_editor(editor), + m_rect(rect), + m_tiles(new TileSelection()), + m_object(), + m_object_tip(new Tip()), + m_input_type(InputType::NONE), + m_active_tilegroup(), + m_active_objectgroup(), + m_object_info(new ObjectInfo()), + m_on_select_callback([](EditorTilebox&) {}), + m_scrollbar(), + m_scroll_progress(1.f), + m_hovered_item(HoveredItem::NONE), + m_hovered_tile(-1), + m_dragging(false), + m_drag_start(0, 0), + m_mouse_pos(0, 0) +{ + m_scrollbar.reset(new ControlScrollbar(1.f, 1.f, m_scroll_progress, 35.f)); +} + +void +EditorTilebox::draw(DrawingContext& context) +{ + context.color().draw_filled_rect(m_rect, + g_config->editorcolor, + 0.0f, LAYER_GUI-10); + + if (m_dragging) + { + context.color().draw_filled_rect(selection_draw_rect(), Color(0.2f, 0.4f, 1.0f, 0.6f), + 0.0f, LAYER_GUI+1); + } + + if (m_hovered_item == HoveredItem::TILE) + { + m_object_tip->draw(context, Vector(m_mouse_pos.x + 25, m_mouse_pos.y), true); + + context.color().draw_filled_rect(get_tile_rect(), + g_config->editorhovercolor, + 0.0f, LAYER_GUI - 5); + } + + context.push_transform(); + context.set_viewport(Rect(m_rect)); + switch (m_input_type) + { + case InputType::TILE: + draw_tilegroup(context); + break; + + case InputType::OBJECT: + draw_objectgroup(context); + break; + + default: + break; + } + context.pop_transform(); + + if (m_hovered_item != HoveredItem::NONE) + m_scrollbar->draw(context); +} + +void +EditorTilebox::draw_tilegroup(DrawingContext& context) +{ + int pos = -1; + for (auto& tile_ID : m_active_tilegroup->tiles) + { + pos++; + if (pos / 4 < static_cast(m_scroll_progress / 32.f)) + continue; + + auto position = get_tile_coords(pos, false); + m_editor.get_tileset()->get(tile_ID).draw(context.color(), position, LAYER_GUI - 9); + + if (g_config->developer_mode && m_active_tilegroup->developers_group) + { + // Display tile ID on top of tile: + context.color().draw_text(Resources::console_font, std::to_string(tile_ID), + position + Vector(16, 16), ALIGN_CENTER, LAYER_GUI - 9, Color::WHITE); + } + } +} + +void +EditorTilebox::draw_objectgroup(DrawingContext& context) +{ + int pos = -1; + for (auto& icon : m_active_objectgroup->get_icons()) + { + pos++; + if (pos / 4 < static_cast(m_scroll_progress / 32.f)) + continue; + + icon.draw(context, get_tile_coords(pos, false)); + } +} + +Rectf +EditorTilebox::normalize_selection(bool rounded) const +{ + const float tile_scroll_progress = (rounded ? floorf(m_scroll_progress / 32.f) : m_scroll_progress / 32.f); + + Vector drag_start = m_drag_start - Vector(0.f, tile_scroll_progress); + Vector drag_end = Vector(static_cast(m_hovered_tile % 4), + static_cast(m_hovered_tile / 4) - tile_scroll_progress); // NOLINT + if (drag_start.x > drag_end.x) { + std::swap(drag_start.x, drag_end.x); + } + if (drag_start.y > drag_end.y) { + std::swap(drag_start.y, drag_end.y); + } + return Rectf(drag_start, drag_end); +} + +Rectf +EditorTilebox::selection_draw_rect() const +{ + Rectf select = normalize_selection(false); + select.set_p2(select.p2() + Vector(1, 1)); + select.set_p1((select.p1() * 32.0f) + m_rect.p1()); + select.set_p2((select.p2() * 32.0f) + m_rect.p1()); + + if (select.get_top() < m_rect.get_top()) // Do not go outside toolbox + select.set_top(m_rect.get_top()); + + return select; +} + +void +EditorTilebox::update_selection() +{ + Rectf select = normalize_selection(true); + m_tiles->m_tiles.clear(); + m_tiles->m_width = static_cast(select.get_width() + 1); + m_tiles->m_height = static_cast(select.get_height() + 1); + + int size = static_cast(m_active_tilegroup->tiles.size()); + for (int y = static_cast(select.get_top()); y <= static_cast(select.get_bottom()); y++) + { + for (int x = static_cast(select.get_left()); x <= static_cast(select.get_right()); x++) + { + int tile_pos = (y + static_cast(m_scroll_progress / 32.f)) * 4 + x; + if (tile_pos < size && tile_pos >= 0) + m_tiles->m_tiles.push_back(m_active_tilegroup->tiles[tile_pos]); + else + m_tiles->m_tiles.push_back(0); + } + } +} + +bool +EditorTilebox::on_mouse_button_up(const SDL_MouseButtonEvent& button) +{ + m_scrollbar->on_mouse_button_up(button); + + if (m_dragging) + { + m_dragging = false; + m_on_select_callback(*this); + } + return false; +} + +bool +EditorTilebox::on_mouse_button_down(const SDL_MouseButtonEvent& button) +{ + if (m_scrollbar->on_mouse_button_down(button)) + return true; + + if (button.button == SDL_BUTTON_LEFT) + { + if (m_hovered_item == HoveredItem::TILE) + { + switch (m_input_type) + { + case InputType::TILE: + { + m_dragging = true; + m_drag_start = Vector(static_cast(m_hovered_tile % 4), + static_cast(m_hovered_tile / 4)); // NOLINT + + int size = static_cast(m_active_tilegroup->tiles.size()); + if (m_hovered_tile < size && m_hovered_tile >= 0) + m_tiles->set_tile(m_active_tilegroup->tiles[m_hovered_tile]); + else + m_tiles->set_tile(0); + } + break; + + case InputType::OBJECT: + { + int size = static_cast(m_active_objectgroup->get_icons().size()); + if (m_hovered_tile < size && m_hovered_tile >= 0) + { + m_object = m_active_objectgroup->get_icons()[m_hovered_tile].get_object_class(); + m_on_select_callback(*this); + } + } + break; + + default: + break; + } + return true; + } + } + return false; +} + +bool +EditorTilebox::on_mouse_motion(const SDL_MouseMotionEvent& motion) +{ + if (m_scrollbar->on_mouse_motion(motion)) + { + m_hovered_item = HoveredItem::SCROLLBAR; + m_object_tip->set_visible(false); + return true; + } + + m_mouse_pos = VideoSystem::current()->get_viewport().to_logical(motion.x, motion.y); + + if (!m_rect.contains(m_mouse_pos)) + { + m_hovered_item = HoveredItem::NONE; + m_object_tip->set_visible(false); + return false; + } + + update_hovered_tile(); + return true; +} + +bool +EditorTilebox::on_mouse_wheel(const SDL_MouseWheelEvent& wheel) +{ + if (m_hovered_item == HoveredItem::TILE) + { + m_scrollbar->on_mouse_wheel(wheel); + update_hovered_tile(); + } + + return false; +} + +void +EditorTilebox::update_hovered_tile() +{ + const int prev_hovered_tile = std::move(m_hovered_tile); + m_hovered_item = HoveredItem::TILE; + m_hovered_tile = get_tile_pos(m_mouse_pos); + if (m_dragging && m_input_type == InputType::TILE) + { + update_selection(); + } + else if (m_input_type == InputType::OBJECT && m_hovered_tile != prev_hovered_tile) + { + const auto& icons = m_active_objectgroup->get_icons(); + if (m_hovered_tile < static_cast(icons.size())) { + const std::string obj_class = icons[m_hovered_tile].get_object_class(); + std::string obj_name = obj_class; + try { + obj_name = GameObjectFactory::instance().get_display_name(obj_class); + } + catch (const std::exception& err) { + log_warning << "Unable to get display name of object '" << obj_class << "': " << err.what() << std::endl; + } + m_object_tip->set_info(obj_name); + } + else { + m_object_tip->set_visible(false); + } + } +} + +void +EditorTilebox::resize() +{ + m_scrollbar->set_covered_region(m_rect.get_height()); + m_scrollbar->set_total_region(get_tiles_height()); + m_scrollbar->set_rect(Rectf(Vector(m_rect.get_right() - 10.f, m_rect.get_top()), m_rect.p2())); +} + +void +EditorTilebox::setup() +{ + resize(); + m_tiles->set_tile(0); +} + +void +EditorTilebox::set_rect(const Rectf& rect) +{ + m_rect = rect; + resize(); + + m_hovered_item = HoveredItem::NONE; + m_hovered_tile = -1; + m_dragging = false; + m_drag_start = Vector(0.f, 0.f); +} + +Vector +EditorTilebox::get_tile_coords(int pos, bool relative) const +{ + return Vector(static_cast((pos % 4) * 32) + (relative ? m_rect.get_left() : 0), + static_cast((pos / 4) * 32) + (relative ? m_rect.get_top() : 0) - m_scroll_progress); +} + +int +EditorTilebox::get_tile_pos(const Vector& coords) const +{ + int x = static_cast((coords.x - m_rect.get_left()) / 32.0f); + int y = static_cast((coords.y - m_rect.get_top() + m_scroll_progress) / 32.0f); + return y * 4 + x; +} + +Rectf +EditorTilebox::get_tile_rect() const +{ + auto coords = get_tile_coords(m_hovered_tile); + Rectf rect(coords, coords + Vector(32.f, 32.f)); + + if (rect.get_top() < m_rect.get_top()) // Do not go outside toolbox + rect.set_top(m_rect.get_top()); + + return rect; +} + +void +EditorTilebox::on_select(const std::function& callback) +{ + m_on_select_callback = callback; +} + +void +EditorTilebox::select_tilegroup(int id) +{ + m_active_tilegroup.reset(new Tilegroup(m_editor.get_tileset()->get_tilegroups()[id])); + m_input_type = InputType::TILE; + reset_scrollbar(); +} + +void +EditorTilebox::set_tilegroup(std::unique_ptr tilegroup) +{ + m_active_tilegroup = std::move(tilegroup); +} + +void +EditorTilebox::select_objectgroup(int id) +{ + m_active_objectgroup = &m_object_info->m_groups[id]; + m_input_type = InputType::OBJECT; + reset_scrollbar(); +} + +bool +EditorTilebox::select_layers_objectgroup() +{ + ObjectGroup* layers = m_editor.get_level()->is_worldmap() ? + m_object_info->m_worldmap_layers_group.get() : + m_object_info->m_layers_group.get(); + + if (layers) + { + m_active_objectgroup = layers; + m_input_type = InputType::OBJECT; + } + else + { + m_active_objectgroup = nullptr; + m_input_type = InputType::NONE; + } + reset_scrollbar(); + return layers; +} + +float +EditorTilebox::get_tiles_height() const +{ + switch (m_input_type) + { + case InputType::TILE: + return ceilf(static_cast(m_active_tilegroup->tiles.size()) / 4.f) * 32.f; + + case InputType::OBJECT: + return ceilf(static_cast(m_active_objectgroup->get_icons().size()) / 4.f) * 32.f; + + default: + return 0.f; + } +} + +void +EditorTilebox::reset_scrollbar() +{ + m_scroll_progress = 0.f; + m_scrollbar->set_total_region(get_tiles_height()); +} + +/* EOF */ diff --git a/src/editor/tilebox.hpp b/src/editor/tilebox.hpp new file mode 100644 index 00000000000..331c5cc91a7 --- /dev/null +++ b/src/editor/tilebox.hpp @@ -0,0 +1,145 @@ +// SuperTux +// Copyright (C) 2015 Hume2 +// 2024 Vankata453 +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#ifndef HEADER_SUPERTUX_EDITOR_TILEBOX_HPP +#define HEADER_SUPERTUX_EDITOR_TILEBOX_HPP + +#include "editor/widget.hpp" + +#include + +#include "editor/tip.hpp" +#include "interface/control_scrollbar.hpp" +#include "math/rectf.hpp" +#include "math/vector.hpp" +#include "supertux/tile_set.hpp" + +class Editor; +class ObjectGroup; +class ObjectInfo; +class Rectf; +class TileSelection; + +/** + The tilebox allows selection of tiles or objects + from a specified tilegroup/objectgroup. + + NOTE: Not to be confused with EditorToolboxWidget, which also includes + tilegroup/objectgroup selection and tools. +*/ +class EditorTilebox final : public Widget +{ +public: + enum class HoveredItem { + NONE, TILE, SCROLLBAR + }; + + enum class TileScrolling { + NONE, UP, DOWN + }; + + enum class InputType { + NONE, TILE, OBJECT + }; + +public: + EditorTilebox(Editor& editor, const Rectf& rect); + + virtual void draw(DrawingContext& context) override; + + virtual bool on_mouse_button_up(const SDL_MouseButtonEvent& button) override; + virtual bool on_mouse_button_down(const SDL_MouseButtonEvent& button) override; + virtual bool on_mouse_motion(const SDL_MouseMotionEvent& motion) override; + virtual bool on_mouse_wheel(const SDL_MouseWheelEvent& wheel) override; + + virtual void setup() override; + virtual void resize() override; + + void set_rect(const Rectf& rect); + Rectf get_rect() const { return m_rect; } + + void on_select(const std::function& callback); + + void select_tilegroup(int id); + void set_tilegroup(std::unique_ptr tilegroup); + void select_objectgroup(int id); + bool select_layers_objectgroup(); + + const ObjectInfo& get_object_info() const { return *m_object_info; } + InputType get_input_type() const { return m_input_type; } + void set_input_type(InputType input_type) { m_input_type = input_type; } + + TileSelection* get_tiles() const { return m_tiles.get(); } + const std::string& get_object() const { return m_object; } + void set_object(const std::string& object) { m_object = object; } + + float get_tiles_height() const; + + bool has_active_object_tip() const { return m_object_tip->get_visible(); } + +private: + Vector get_tile_coords(int pos, bool relative = true) const; + int get_tile_pos(const Vector& coords) const; + Rectf get_tile_rect() const; + + void update_selection(); + Rectf normalize_selection(bool rounded) const; + Rectf selection_draw_rect() const; + + void update_hovered_tile(); + + void reset_scrollbar(); + + void draw_tilegroup(DrawingContext& context); + void draw_objectgroup(DrawingContext& context); + +private: + Editor& m_editor; + + Rectf m_rect; + + std::unique_ptr m_tiles; + + std::string m_object; + std::unique_ptr m_object_tip; + InputType m_input_type; + + std::unique_ptr m_active_tilegroup; + ObjectGroup* m_active_objectgroup; + std::unique_ptr m_object_info; + + std::function m_on_select_callback; + + std::unique_ptr m_scrollbar; + float m_scroll_progress; + + HoveredItem m_hovered_item; + int m_hovered_tile; + + bool m_dragging; + Vector m_drag_start; + + Vector m_mouse_pos; + +private: + EditorTilebox(const EditorTilebox&) = delete; + EditorTilebox& operator=(const EditorTilebox&) = delete; +}; + +#endif + +/* EOF */ diff --git a/src/editor/toolbox_widget.cpp b/src/editor/toolbox_widget.cpp index 890ee4360e7..3a794e739a6 100644 --- a/src/editor/toolbox_widget.cpp +++ b/src/editor/toolbox_widget.cpp @@ -1,5 +1,6 @@ // SuperTux // Copyright (C) 2015 Hume2 +// 2024 Vankata453 // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -17,52 +18,34 @@ #include "editor/toolbox_widget.hpp" #include "editor/editor.hpp" -#include "editor/object_info.hpp" -#include "editor/tile_selection.hpp" -#include "editor/tip.hpp" +#include "editor/tilebox.hpp" #include "editor/tool_icon.hpp" #include "gui/menu_manager.hpp" #include "gui/mousecursor.hpp" #include "supertux/colorscheme.hpp" -#include "supertux/console.hpp" #include "supertux/gameconfig.hpp" -#include "supertux/game_object_factory.hpp" #include "supertux/globals.hpp" #include "supertux/level.hpp" #include "supertux/menu/menu_storage.hpp" #include "supertux/resources.hpp" #include "util/gettext.hpp" #include "video/drawing_context.hpp" -#include "video/renderer.hpp" #include "video/video_system.hpp" #include "video/viewport.hpp" EditorToolboxWidget::EditorToolboxWidget(Editor& editor) : m_editor(editor), - m_tiles(new TileSelection()), - m_object(), - m_object_tip(new Tip()), - m_input_type(InputType::NONE), - m_active_tilegroup(), - m_active_objectgroup(-1), - m_object_info(new ObjectInfo()), - m_scrollbar(), - m_scroll_progress(1.f), + m_tilebox(new EditorTilebox(editor, Rectf())), + m_pos_x(0.f), + m_hovered_item(HoveredItem::NONE), + m_hovered_tool(-1), m_rubber(new ToolIcon("images/engine/editor/rubber.png")), m_select_mode(new ToolIcon("images/engine/editor/select-mode0.png")), m_node_marker_mode(new ToolIcon("images/engine/editor/path_node.png")), m_move_mode(new ToolIcon("images/engine/editor/move-mode0.png")), m_undo_mode(new ToolIcon("images/engine/editor/arrow.png")), - m_hovered_item(HoveredItem::NONE), - m_hovered_tile(-1), - m_dragging(false), - m_drag_start(0, 0), - m_Xpos(512), - m_mouse_pos(0, 0), m_has_mouse_focus(false) { - m_scrollbar.reset(new ControlScrollbar(1.f, 1.f, m_scroll_progress, 35.f)); - m_select_mode->push_mode("images/engine/editor/select-mode1.png"); m_select_mode->push_mode("images/engine/editor/select-mode2.png"); m_select_mode->push_mode("images/engine/editor/select-mode3.png"); @@ -74,25 +57,18 @@ EditorToolboxWidget::EditorToolboxWidget(Editor& editor) : void EditorToolboxWidget::draw(DrawingContext& context) { - context.color().draw_filled_rect(Rectf(Vector(static_cast(m_Xpos), 0), - Vector(context.get_width(), - context.get_height())), - g_config->editorcolor, - 0.0f, LAYER_GUI-10); + m_tilebox->draw(context); - if (m_dragging) - { - context.color().draw_filled_rect(selection_draw_rect(), Color(0.2f, 0.4f, 1.0f, 0.6f), - 0.0f, LAYER_GUI+1); - } + context.color().draw_filled_rect(Rectf(Vector(m_pos_x, 0.f), + Vector(context.get_width(), 96.f)), + g_config->editorcolor, + 0.0f, LAYER_GUI-10); - if (m_hovered_item != HoveredItem::NONE && m_hovered_item != HoveredItem::SCROLLBAR) + if (m_hovered_item != HoveredItem::NONE && m_hovered_item != HoveredItem::TILEBOX) { - m_object_tip->draw(context, Vector(m_mouse_pos.x + 25, m_mouse_pos.y), true); - - context.color().draw_filled_rect(get_item_rect(m_hovered_item), - g_config->editorhovercolor, - 0.0f, LAYER_GUI - 5); + context.color().draw_filled_rect(get_hovered_item_rect(), + g_config->editorhovercolor, + 0.0f, LAYER_GUI - 5); } context.color().draw_text(Resources::normal_font, _("Tiles"), @@ -104,13 +80,14 @@ EditorToolboxWidget::draw(DrawingContext& context) m_rubber->draw(context); m_undo_mode->draw(context); - switch (m_input_type) + switch (m_tilebox->get_input_type()) { - case InputType::TILE: + case EditorTilebox::InputType::TILE: m_select_mode->draw(context); break; - case InputType::OBJECT: + case EditorTilebox::InputType::NONE: + case EditorTilebox::InputType::OBJECT: m_node_marker_mode->draw(context); m_move_mode->draw(context); break; @@ -118,130 +95,22 @@ EditorToolboxWidget::draw(DrawingContext& context) default: break; } - - context.push_transform(); - context.set_viewport(Rect(m_Xpos, m_Ypos, SCREEN_WIDTH, SCREEN_HEIGHT)); - switch (m_input_type) - { - case InputType::TILE: - draw_tilegroup(context); - break; - - case InputType::OBJECT: - draw_objectgroup(context); - break; - - default: - break; - } - context.pop_transform(); - - if (m_hovered_item == HoveredItem::TILE || m_hovered_item == HoveredItem::SCROLLBAR) - m_scrollbar->draw(context); -} - -void -EditorToolboxWidget::draw_tilegroup(DrawingContext& context) -{ - int pos = -1; - for (auto& tile_ID : m_active_tilegroup->tiles) - { - pos++; - if (pos / 4 < static_cast(m_scroll_progress / 32.f)) - continue; - - auto position = get_tile_coords(pos, false); - m_editor.get_tileset()->get(tile_ID).draw(context.color(), position, LAYER_GUI - 9); - - if (g_config->developer_mode && m_active_tilegroup->developers_group) - { - // Display tile ID on top of tile: - context.color().draw_text(Resources::console_font, std::to_string(tile_ID), - position + Vector(16, 16), ALIGN_CENTER, LAYER_GUI - 9, Color::WHITE); - } - } -} - -void -EditorToolboxWidget::draw_objectgroup(DrawingContext& context) -{ - int pos = -1; - for (auto& icon : m_object_info->m_groups[m_active_objectgroup].get_icons()) - { - pos++; - if (pos / 4 < static_cast(m_scroll_progress / 32.f)) - continue; - - icon.draw(context, get_tile_coords(pos, false)); - } -} - -Rectf -EditorToolboxWidget::normalize_selection(bool rounded) const -{ - const float tile_scroll_progress = (rounded ? floorf(m_scroll_progress / 32.f) : m_scroll_progress / 32.f); - - Vector drag_start = m_drag_start - Vector(0.f, tile_scroll_progress); - Vector drag_end = Vector(static_cast(m_hovered_tile % 4), - static_cast(m_hovered_tile / 4) - tile_scroll_progress); // NOLINT - if (drag_start.x > drag_end.x) { - std::swap(drag_start.x, drag_end.x); - } - if (drag_start.y > drag_end.y) { - std::swap(drag_start.y, drag_end.y); - } - return Rectf(drag_start, drag_end); -} - -Rectf -EditorToolboxWidget::selection_draw_rect() const -{ - Rectf select = normalize_selection(false); - select.set_p2(select.p2() + Vector(1, 1)); - select.set_p1((select.p1() * 32.0f) + Vector(static_cast(m_Xpos), static_cast(m_Ypos))); - select.set_p2((select.p2() * 32.0f) + Vector(static_cast(m_Xpos), static_cast(m_Ypos))); - - if (select.get_top() < static_cast(m_Ypos)) // Do not go over tool bar - select.set_top(static_cast(m_Ypos)); - - return select; -} - -void -EditorToolboxWidget::update_selection() -{ - Rectf select = normalize_selection(true); - m_tiles->m_tiles.clear(); - m_tiles->m_width = static_cast(select.get_width() + 1); - m_tiles->m_height = static_cast(select.get_height() + 1); - - int size = static_cast(m_active_tilegroup->tiles.size()); - for (int y = static_cast(select.get_top()); y <= static_cast(select.get_bottom()); y++) { - for (int x = static_cast(select.get_left()); x <= static_cast(select.get_right()); x++) { - int tile_pos = (y + static_cast(m_scroll_progress / 32.f)) * 4 + x; - if (tile_pos < size && tile_pos >= 0) { - m_tiles->m_tiles.push_back(m_active_tilegroup->tiles[tile_pos]); - } else { - m_tiles->m_tiles.push_back(0); - } - } - } } bool EditorToolboxWidget::on_mouse_button_up(const SDL_MouseButtonEvent& button) { - m_scrollbar->on_mouse_button_up(button); - - m_dragging = false; - return false; + return m_tilebox->on_mouse_button_up(button); } bool EditorToolboxWidget::on_mouse_button_down(const SDL_MouseButtonEvent& button) { - if (m_scrollbar->on_mouse_button_down(button)) + if (m_tilebox->on_mouse_button_down(button)) + { + update_mouse_icon(); return true; + } if (button.button == SDL_BUTTON_LEFT) { @@ -260,8 +129,8 @@ EditorToolboxWidget::on_mouse_button_down(const SDL_MouseButtonEvent& button) return true; case HoveredItem::OBJECTS: - if ((m_editor.get_level()->is_worldmap() && m_object_info->get_num_worldmap_groups() > 1) || - (!m_editor.get_level()->is_worldmap() && m_object_info->get_num_level_groups() > 1)) + if ((m_editor.get_level()->is_worldmap() && m_tilebox->get_object_info().get_num_worldmap_groups() > 1) || + (!m_editor.get_level()->is_worldmap() && m_tilebox->get_object_info().get_num_level_groups() > 1)) { m_editor.disable_keyboard(); MenuManager::instance().push_menu(MenuStorage::EDITOR_OBJECTGROUP_MENU); @@ -269,86 +138,48 @@ EditorToolboxWidget::on_mouse_button_down(const SDL_MouseButtonEvent& button) else { if (m_editor.get_level()->is_worldmap()) - { - m_active_objectgroup = m_object_info->get_first_worldmap_group_index(); - } + select_objectgroup(m_tilebox->get_object_info().get_first_worldmap_group_index()); else - { - m_active_objectgroup = 0; - } - m_input_type = EditorToolboxWidget::InputType::OBJECT; - update_mouse_icon(); - } - return true; - - case HoveredItem::TILE: - switch (m_input_type) - { - case InputType::TILE: - { - m_dragging = true; - m_drag_start = Vector(static_cast(m_hovered_tile % 4), - static_cast(m_hovered_tile / 4)); // NOLINT - - int size = static_cast(m_active_tilegroup->tiles.size()); - if (m_hovered_tile < size && m_hovered_tile >= 0) { - m_tiles->set_tile(m_active_tilegroup->tiles[m_hovered_tile]); - } else { - m_tiles->set_tile(0); - } - } - break; - - case InputType::OBJECT: - { - int size = static_cast(m_object_info->m_groups[m_active_objectgroup].get_icons().size()); - if (m_hovered_tile < size && m_hovered_tile >= 0) { - m_object = m_object_info->m_groups[m_active_objectgroup].get_icons()[m_hovered_tile].get_object_class(); - } - update_mouse_icon(); - } - break; - - default: - break; + select_objectgroup(0); } return true; case HoveredItem::TOOL: - switch (m_hovered_tile) + switch (m_hovered_tool) { case 0: - m_tiles->set_tile(0); - m_object = ""; + m_tilebox->get_tiles()->set_tile(0); + m_tilebox->set_object(""); update_mouse_icon(); break; case 1: - switch (m_input_type) + switch (m_tilebox->get_input_type()) { - case InputType::TILE: + case EditorTilebox::InputType::TILE: m_select_mode->next_mode(); break; - case InputType::OBJECT: - m_object = "#node"; + case EditorTilebox::InputType::NONE: + case EditorTilebox::InputType::OBJECT: + m_tilebox->set_object("#node"); break; default: break; } update_mouse_icon(); break; - - case 2: - if (m_input_type == InputType::OBJECT) { - m_move_mode->next_mode(); - } - update_mouse_icon(); - break; - - case 3: - m_object = "#move"; - update_mouse_icon(); - break; + + case 2: + if (m_tilebox->get_input_type() == EditorTilebox::InputType::OBJECT || + m_tilebox->get_input_type() == EditorTilebox::InputType::NONE) + m_move_mode->next_mode(); + update_mouse_icon(); + break; + + case 3: + m_tilebox->set_object("#move"); + update_mouse_icon(); + break; default: break; @@ -368,44 +199,47 @@ EditorToolboxWidget::on_mouse_button_down(const SDL_MouseButtonEvent& button) bool EditorToolboxWidget::on_mouse_motion(const SDL_MouseMotionEvent& motion) { - if (m_scrollbar->on_mouse_motion(motion)) + if (m_tilebox->on_mouse_motion(motion)) { - m_hovered_item = HoveredItem::SCROLLBAR; - m_object_tip->set_visible(false); - return true; + m_hovered_item = HoveredItem::TILEBOX; + m_has_mouse_focus = true; + return false; // The layers widget wouldn't be able to scroll otherwise. } - m_mouse_pos = VideoSystem::current()->get_viewport().to_logical(motion.x, motion.y); - float x = m_mouse_pos.x - static_cast(m_Xpos); - float y = m_mouse_pos.y - static_cast(m_Ypos); + const Vector mouse_pos = VideoSystem::current()->get_viewport().to_logical(motion.x, motion.y); + const float x = mouse_pos.x - m_pos_x; + const float y = mouse_pos.y - m_tilebox->get_rect().get_top(); if (x < 0) { m_hovered_item = HoveredItem::NONE; m_has_mouse_focus = false; - m_object_tip->set_visible(false); return false; } - // mouse is currently over the toolbox + // Mouse is currently over the toolbox widget. m_has_mouse_focus = true; if (y < 0) /** Tool bar */ { - if (y < -64) { + if (y < -64) + { m_hovered_item = HoveredItem::TILEGROUP; - } else if (y < -32) { + } + else if (y < -32) + { m_hovered_item = HoveredItem::OBJECTS; - } else { + } + else + { m_hovered_item = HoveredItem::TOOL; - m_hovered_tile = get_tool_pos(m_mouse_pos); + m_hovered_tool = get_tool_pos(mouse_pos); } - m_object_tip->set_visible(false); - return false; + return true; } - else /** Tile/object bar */ + else /** Tilebox */ { - update_hovered_tile(); + m_hovered_item = HoveredItem::TILEBOX; } return false; @@ -414,206 +248,127 @@ EditorToolboxWidget::on_mouse_motion(const SDL_MouseMotionEvent& motion) bool EditorToolboxWidget::on_mouse_wheel(const SDL_MouseWheelEvent& wheel) { - if (m_hovered_item == HoveredItem::TILE) - { - m_scrollbar->on_mouse_wheel(wheel); - update_hovered_tile(); - } - - return false; -} - -void -EditorToolboxWidget::update_hovered_tile() -{ - const int prev_hovered_tile = std::move(m_hovered_tile); - m_hovered_item = HoveredItem::TILE; - m_hovered_tile = get_tile_pos(m_mouse_pos); - if (m_dragging && m_input_type == InputType::TILE) { - update_selection(); - } - else if (m_input_type == InputType::OBJECT && m_hovered_tile != prev_hovered_tile) { - const auto& icons = m_object_info->m_groups[m_active_objectgroup].get_icons(); - if (m_hovered_tile < static_cast(icons.size())) { - const std::string obj_class = icons[m_hovered_tile].get_object_class(); - std::string obj_name = obj_class; - try { - obj_name = GameObjectFactory::instance().get_display_name(obj_class); - } - catch (const std::exception& err) { - log_warning << "Unable to get display name of object '" << obj_class << "': " << err.what() << std::endl; - } - m_object_tip->set_info(obj_name); - } - else { - m_object_tip->set_visible(false); - } - } + return m_tilebox->on_mouse_wheel(wheel); } void EditorToolboxWidget::resize() { - m_Xpos = SCREEN_WIDTH - 128; - m_rubber->m_pos = Vector(static_cast(m_Xpos) , 64.0f); - m_select_mode->m_pos = Vector(static_cast(m_Xpos) + 32.0f, 64.0f); - m_node_marker_mode->m_pos = Vector(static_cast(m_Xpos) + 32.0f, 64.0f); - m_move_mode->m_pos = Vector(static_cast(m_Xpos) + 64.0f, 64.0f); - m_undo_mode->m_pos = Vector(static_cast(m_Xpos) + 96.0f, 64.0f); - - const Vector screen_size(static_cast(SCREEN_WIDTH), static_cast(SCREEN_HEIGHT)); - m_scrollbar->set_covered_region(screen_size.y - static_cast(m_Ypos)); - m_scrollbar->set_total_region(get_total_scrollbar_region()); - m_scrollbar->set_rect(Rectf(Vector(screen_size.x - 10.f, m_Ypos), screen_size)); + m_pos_x = static_cast(SCREEN_WIDTH - 128); + m_tilebox->set_rect(Rectf(Vector(m_pos_x, 96.f), + Vector(static_cast(SCREEN_WIDTH), static_cast(SCREEN_HEIGHT)))); + + m_rubber->m_pos = Vector(m_pos_x , 64.0f); + m_select_mode->m_pos = Vector(m_pos_x + 32.0f, 64.0f); + m_node_marker_mode->m_pos = Vector(m_pos_x + 32.0f, 64.0f); + m_move_mode->m_pos = Vector(m_pos_x + 64.0f, 64.0f); + m_undo_mode->m_pos = Vector(m_pos_x + 96.0f, 64.0f); + + m_tilebox->resize(); } void EditorToolboxWidget::setup() { + m_tilebox->setup(); + resize(); - m_tiles->set_tile(0); + m_tilebox->get_tiles()->set_tile(0); } -SurfacePtr -EditorToolboxWidget::get_mouse_icon() const +void +EditorToolboxWidget::select_tilegroup(int id) { - switch (m_input_type) { - case InputType::OBJECT: - if (m_object.empty()) - return m_rubber->get_current_surface(); - if (m_object == "#node") - return m_node_marker_mode->get_current_surface(); - else - return m_move_mode->get_current_surface(); - case InputType::TILE: - return m_select_mode->get_current_surface(); - case InputType::NONE: - default: - return nullptr; - } + m_tilebox->select_tilegroup(id); + update_mouse_icon(); } void -EditorToolboxWidget::update_mouse_icon() +EditorToolboxWidget::select_objectgroup(int id) { - MouseCursor::current()->set_icon(get_mouse_icon()); + m_tilebox->select_objectgroup(id); + update_mouse_icon(); } -Vector -EditorToolboxWidget::get_tile_coords(const int pos, bool relative) const +int +EditorToolboxWidget::get_tileselect_select_mode() const { - return Vector(static_cast((pos % 4) * 32 + (relative ? m_Xpos : 0)), - static_cast((pos / 4) * 32 + (relative ? m_Ypos : 0)) - m_scroll_progress); + return m_select_mode->get_mode(); } int -EditorToolboxWidget::get_tile_pos(const Vector& coords) const +EditorToolboxWidget::get_tileselect_move_mode() const { - int x = static_cast((coords.x - static_cast(m_Xpos)) / 32.0f); - int y = static_cast((coords.y - static_cast(m_Ypos) + m_scroll_progress) / 32.0f); - return y * 4 + x; + return m_move_mode->get_mode(); } Vector -EditorToolboxWidget::get_tool_coords(const int pos) const +EditorToolboxWidget::get_tool_coords(int pos) const { - return Vector(static_cast((pos % 4) * 32 + m_Xpos), - static_cast((pos / 4) * 32 + 64)); + return Vector(static_cast((pos % 4) * 32) + m_pos_x, + static_cast((pos / 4) * 32) + 64.f); } int EditorToolboxWidget::get_tool_pos(const Vector& coords) const { - int x = static_cast((coords.x - static_cast(m_Xpos)) / 32.0f); - int y = static_cast((coords.y - 64.0f) / 32.0f); + int x = static_cast((coords.x - m_pos_x) / 32.f); + int y = static_cast((coords.y - 64.f) / 32.f); return y * 4 + x; } Rectf -EditorToolboxWidget::get_item_rect(const HoveredItem& item) const +EditorToolboxWidget::get_hovered_item_rect() const { - switch (item) + switch (m_hovered_item) { - case HoveredItem::TILEGROUP: return Rectf(Vector(static_cast(m_Xpos), 0.0f), Vector(static_cast(SCREEN_WIDTH), 32.0f)); - case HoveredItem::OBJECTS: return Rectf(Vector(static_cast(m_Xpos), 32.0f), Vector(static_cast(SCREEN_WIDTH), 64.0f)); - case HoveredItem::TILE: - { - auto coords = get_tile_coords(m_hovered_tile); - Rectf rect(coords, coords + Vector(32, 32)); + case HoveredItem::TILEGROUP: + return Rectf(Vector(m_pos_x, 0.f), Vector(static_cast(SCREEN_WIDTH), 32.f)); - if (rect.get_top() < static_cast(m_Ypos)) // Do not go over tool bar - rect.set_top(static_cast(m_Ypos)); + case HoveredItem::OBJECTS: + return Rectf(Vector(m_pos_x, 32.f), Vector(static_cast(SCREEN_WIDTH), 64.f)); - return rect; - } case HoveredItem::TOOL: { - auto coords = get_tool_coords(m_hovered_tile); - return Rectf(coords, coords + Vector(32, 32)); + auto coords = get_tool_coords(m_hovered_tool); + return Rectf(coords, coords + Vector(32.f, 32.f)); } - case HoveredItem::NONE: + default: return Rectf(); } } -int -EditorToolboxWidget::get_tileselect_select_mode() const -{ - return m_select_mode->get_mode(); -} - -int -EditorToolboxWidget::get_tileselect_move_mode() const -{ - return m_move_mode->get_mode(); -} - -void -EditorToolboxWidget::select_tilegroup(int id) -{ - m_active_tilegroup.reset(new Tilegroup(m_editor.get_tileset()->get_tilegroups()[id])); - m_input_type = InputType::TILE; - reset_scrollbar(); - update_mouse_icon(); -} - void -EditorToolboxWidget::select_objectgroup(int id) +EditorToolboxWidget::update_mouse_icon() { - m_active_objectgroup = id; - m_input_type = InputType::OBJECT; - reset_scrollbar(); - update_mouse_icon(); + MouseCursor::current()->set_icon(get_mouse_icon()); } -float -EditorToolboxWidget::get_total_scrollbar_region() const +SurfacePtr +EditorToolboxWidget::get_mouse_icon() const { - switch (m_input_type) + switch (m_tilebox->get_input_type()) { - case InputType::TILE: - return ceilf(static_cast(m_active_tilegroup->tiles.size()) / 4.f) * 32.f; + case EditorTilebox::InputType::NONE: + case EditorTilebox::InputType::OBJECT: + { + const std::string object = m_tilebox->get_object(); - case InputType::OBJECT: - return ceilf(static_cast(m_object_info->m_groups[m_active_objectgroup].get_icons().size()) / 4.f) * 32.f; + if (object.empty()) + return m_rubber->get_current_surface(); + if (object == "#node") + return m_node_marker_mode->get_current_surface(); - default: - return 1.f; - } -} + return m_move_mode->get_current_surface(); + } -void -EditorToolboxWidget::reset_scrollbar() -{ - m_scroll_progress = 0.f; - m_scrollbar->set_total_region(get_total_scrollbar_region()); -} + case EditorTilebox::InputType::TILE: + return m_select_mode->get_current_surface(); -bool -EditorToolboxWidget::has_mouse_focus() const -{ - return m_has_mouse_focus; + default: + return nullptr; + } } /* EOF */ diff --git a/src/editor/toolbox_widget.hpp b/src/editor/toolbox_widget.hpp index 8392de898cd..a9f2eb3ed70 100644 --- a/src/editor/toolbox_widget.hpp +++ b/src/editor/toolbox_widget.hpp @@ -1,5 +1,6 @@ // SuperTux // Copyright (C) 2015 Hume2 +// 2024 Vankata453 // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -17,39 +18,26 @@ #ifndef HEADER_SUPERTUX_EDITOR_TOOLBOX_WIDGET_HPP #define HEADER_SUPERTUX_EDITOR_TOOLBOX_WIDGET_HPP -#include - -#include "control/input_manager.hpp" -#include "editor/tip.hpp" #include "editor/widget.hpp" -#include "interface/control_scrollbar.hpp" + +#include + +#include "math/rectf.hpp" #include "math/vector.hpp" -#include "supertux/screen.hpp" -#include "supertux/tile_set.hpp" -#include "util/log.hpp" +#include "video/surface_ptr.hpp" class Editor; -class ObjectInfo; -class Rectf; -class TileSelection; +class EditorTilebox; class ToolIcon; /** The toolbox is on the right side of the screen and allows selection of the current tool and contains the object or tile - palette */ + palette. */ class EditorToolboxWidget final : public Widget { public: enum class HoveredItem { - NONE, TILEGROUP, OBJECTS, TILE, TOOL, SCROLLBAR - }; - - enum class TileScrolling { - NONE, UP, DOWN - }; - - enum class InputType { - NONE, TILE, OBJECT + NONE, TILEGROUP, OBJECTS, TOOL, TILEBOX }; public: @@ -65,60 +53,34 @@ class EditorToolboxWidget final : public Widget virtual void setup() override; virtual void resize() override; - void update_mouse_icon(); + void select_tilegroup(int id); + void select_objectgroup(int id); int get_tileselect_select_mode() const; int get_tileselect_move_mode() const; - void select_tilegroup(int id); - void select_objectgroup(int id); - - const ObjectInfo& get_object_info() const { return *m_object_info; } - InputType get_input_type() const { return m_input_type; } - void set_input_type(InputType input_type) { m_input_type = input_type; } + void update_mouse_icon(); - std::string get_object() const { return m_object; } - TileSelection* get_tiles() const { return m_tiles.get(); } + EditorTilebox& get_tilebox() const { return *m_tilebox; } - bool has_mouse_focus() const; - bool has_active_object_tip() const { return m_object_tip->get_visible(); } + bool has_mouse_focus() const { return m_has_mouse_focus; } private: - Vector get_tile_coords(const int pos, bool relative = true) const; - int get_tile_pos(const Vector& coords) const; - Vector get_tool_coords(const int pos) const; + Vector get_tool_coords(int pos) const; int get_tool_pos(const Vector& coords) const; - Rectf get_item_rect(const HoveredItem& item) const; + Rectf get_hovered_item_rect() const; - void update_selection(); SurfacePtr get_mouse_icon() const; - Rectf normalize_selection(bool rounded) const; - Rectf selection_draw_rect() const; - - void update_hovered_tile(); - - float get_total_scrollbar_region() const; - void reset_scrollbar(); - - void draw_tilegroup(DrawingContext&); - void draw_objectgroup(DrawingContext&); private: Editor& m_editor; - std::unique_ptr m_tiles; - - std::string m_object; - std::unique_ptr m_object_tip; - InputType m_input_type; + std::unique_ptr m_tilebox; - std::unique_ptr m_active_tilegroup; - int m_active_objectgroup; - std::unique_ptr m_object_info; - - std::unique_ptr m_scrollbar; - float m_scroll_progress; + float m_pos_x; + HoveredItem m_hovered_item; + int m_hovered_tool; std::unique_ptr m_rubber; std::unique_ptr m_select_mode; @@ -126,16 +88,6 @@ class EditorToolboxWidget final : public Widget std::unique_ptr m_move_mode; std::unique_ptr m_undo_mode; - HoveredItem m_hovered_item; - int m_hovered_tile; - - bool m_dragging; - Vector m_drag_start; - - int m_Xpos; - const int m_Ypos = 96; - - Vector m_mouse_pos; bool m_has_mouse_focus; private: diff --git a/src/gui/menu_paths.cpp b/src/gui/menu_paths.cpp index 8acf486bd74..5c61af7140c 100644 --- a/src/gui/menu_paths.cpp +++ b/src/gui/menu_paths.cpp @@ -24,6 +24,8 @@ #include "object/path_object.hpp" #include "supertux/sector.hpp" +#include + auto on_select = [](const std::string& path, PathObject& target, const std::string& path_ref) { return [path, &target, path_ref] { auto dialog = std::make_unique(); @@ -44,14 +46,14 @@ auto on_select = [](const std::string& path, PathObject& target, const std::stri MenuManager::instance().pop_menu(); }); dialog->add_cancel_button(_("Cancel")); - dialog->set_text("Do you wish to clone the path to edit it separately,\nor do you want to bind both paths together\nso that any edit on one edits the other?"); + dialog->set_text(_("Do you wish to clone the path to edit it separately,\nor do you want to bind both paths together\nso that any edit on one edits the other?")); MenuManager::instance().set_dialog(std::move(dialog)); }; }; PathsMenu::PathsMenu(PathObject& target, const std::string& path_ref) { - add_label(_("Path") + " " + path_ref); + add_label(fmt::format(fmt::runtime(_("Path {}")), path_ref)); add_hl(); const auto paths = Editor::current()->get_sector()->get_objects_by_type(); diff --git a/src/interface/control_textbox.cpp b/src/interface/control_textbox.cpp index df8969c21d2..299469931c8 100644 --- a/src/interface/control_textbox.cpp +++ b/src/interface/control_textbox.cpp @@ -354,7 +354,7 @@ ControlTextbox::revert_value() recenter_offset(); } -std::string +const std::string& ControlTextbox::get_string() const { return m_internal_string_backup; diff --git a/src/interface/control_textbox.hpp b/src/interface/control_textbox.hpp index d00a7b16688..ec81d53ef40 100644 --- a/src/interface/control_textbox.hpp +++ b/src/interface/control_textbox.hpp @@ -42,7 +42,7 @@ class ControlTextbox : public InterfaceControl void bind_string(std::string* value) { m_string = value; } /** Returns the full string held in m_charlist */ - std::string get_string() const; + const std::string& get_string() const; /** Gets at which (absolute) index, in the text, corresponds an on-screen point */ int get_text_position(const Vector& pos) const; diff --git a/src/interface/label.hpp b/src/interface/label.hpp index e5879db6220..288cdd84860 100644 --- a/src/interface/label.hpp +++ b/src/interface/label.hpp @@ -36,7 +36,7 @@ class InterfaceLabel : public Widget Rectf get_rect() const { return m_rect; } void set_label(const std::string& label) { m_label = label; } - std::string get_label() const { return m_label; } + const std::string& get_label() const { return m_label; } bool fits(const std::string& text) const; std::string get_truncated_text() const; diff --git a/src/object/background.hpp b/src/object/background.hpp index 1c18c5924da..9c438bf3a43 100644 --- a/src/object/background.hpp +++ b/src/object/background.hpp @@ -60,7 +60,7 @@ class Background final : public GameObject, void draw_image(DrawingContext& context, const Vector& pos); - std::string get_image() const { return m_imagefile; } + const std::string& get_image() const { return m_imagefile; } float get_speed() const { return m_parallax_speed.x; } int get_layer() const { return m_layer; } diff --git a/src/object/bullet.cpp b/src/object/bullet.cpp index c9af24a1c99..18c7b65e9db 100644 --- a/src/object/bullet.cpp +++ b/src/object/bullet.cpp @@ -85,7 +85,9 @@ Bullet::update(float dt_sec) return; } - m_col.set_movement(physic.get_movement(dt_sec)); + bool in_water = !Sector::get().is_free_of_tiles(get_bbox(), true, Tile::WATER); + physic.set_gravity_modifier(in_water ? 0.3f : 1.f); + m_col.set_movement(physic.get_movement(dt_sec) * (in_water ? 0.5f : 1.f)); } void diff --git a/src/object/bumper.cpp b/src/object/bumper.cpp index 2d32e5976c7..3e28edb4d91 100644 --- a/src/object/bumper.cpp +++ b/src/object/bumper.cpp @@ -16,7 +16,9 @@ #include "object/bumper.hpp" #include "audio/sound_manager.hpp" +#include "badguy/badguy.hpp" #include "object/player.hpp" +#include "object/rock.hpp" #include "sprite/sprite.hpp" #include "sprite/sprite_manager.hpp" #include "supertux/flip_level_transformer.hpp" @@ -30,13 +32,15 @@ const float BOUNCE_X = 700.0f; } Bumper::Bumper(const ReaderMapping& reader) : - MovingSprite(reader, "images/objects/trampoline/bumper.sprite", LAYER_OBJECTS, COLGROUP_MOVING), + StickyObject(reader, "images/objects/trampoline/bumper.sprite", LAYER_OBJECTS, COLGROUP_MOVING), m_physic(), - m_dir(Direction::RIGHT) + m_dir(Direction::RIGHT), + m_original_pos(get_pos()) { std::string dir_str; bool old_facing_left = false; + reader.get("sticky", m_sticky, false); if (reader.get("direction", dir_str)) m_dir = string_to_dir(dir_str); else if (reader.get("left", old_facing_left) && old_facing_left) @@ -48,10 +52,10 @@ Bumper::Bumper(const ReaderMapping& reader) : ObjectSettings Bumper::get_settings() { - ObjectSettings result = MovingSprite::get_settings(); + ObjectSettings result = StickyObject::get_settings(); result.add_direction(_("Direction"), &m_dir, { Direction::RIGHT, Direction::LEFT }, "direction"); - result.reorder({"direction", "sprite", "x", "y"}); + result.reorder({"sticky", "direction", "sprite", "x", "y"}); return result; } @@ -60,7 +64,33 @@ Bumper::update(float dt_sec) { if (m_sprite->animation_done()) set_action("normal", m_dir); - m_col.set_movement(m_physic.get_movement (dt_sec)); + + // Pushing rocks, as well as dynamic with tilemap, platform, and fallblock. + + Rectf small_overlap_box = get_bbox().grown(1.f); + + for (auto& rock : Sector::get().get_objects_by_type()) + { + if (small_overlap_box.overlaps(rock.get_bbox())) + { + rock.get_physic().set_velocity((m_dir == Direction::LEFT ? -BOUNCE_X : BOUNCE_X) * 0.7f, + BOUNCE_Y * 0.6f); + SoundManager::current()->play(TRAMPOLINE_SOUND, get_pos()); + set_action("swinging", m_dir, 1); + set_pos(m_original_pos); + } + } + + if (m_sticky) + { + if (m_sticking) { + m_original_pos = get_pos(); + } + StickyObject::update(dt_sec); + } + else { + m_col.set_movement(m_physic.get_movement(dt_sec)); + } } HitResponse @@ -69,12 +99,20 @@ Bumper::collision(GameObject& other, const CollisionHit& hit) auto player = dynamic_cast (&other); if (player) { - float BOUNCE_DIR = m_dir == Direction::LEFT ? -BOUNCE_X : BOUNCE_X; player->get_physic().set_velocity(0.f, player->is_swimming() ? 0.f : BOUNCE_Y); - player->sideways_push(BOUNCE_DIR); + player->sideways_push(m_dir == Direction::LEFT ? -BOUNCE_X : BOUNCE_X); SoundManager::current()->play(TRAMPOLINE_SOUND, get_pos()); set_action("swinging", m_dir, 1); } + + auto badguy = dynamic_cast (&other); + if (badguy) + { + badguy->get_physic().set_velocity(((m_dir == Direction::LEFT) ? -400.f : 400.f), 0.f); + SoundManager::current()->play(TRAMPOLINE_SOUND, get_pos()); + set_action("swinging", m_dir, 1); + } + auto bumper = dynamic_cast (&other); if (bumper) { diff --git a/src/object/bumper.hpp b/src/object/bumper.hpp index 0e1b9e397e5..bc9b40c8700 100644 --- a/src/object/bumper.hpp +++ b/src/object/bumper.hpp @@ -16,14 +16,14 @@ #ifndef HEADER_SUPERTUX_OBJECT_BUMPER_HPP #define HEADER_SUPERTUX_OBJECT_BUMPER_HPP -#include "object/moving_sprite.hpp" +#include "object/sticky_object.hpp" #include "supertux/physic.hpp" enum class Direction; class Player; -class Bumper final : public MovingSprite +class Bumper final : public StickyObject { public: Bumper(const ReaderMapping& reader); @@ -47,6 +47,7 @@ class Bumper final : public MovingSprite Physic m_physic; Direction m_dir; + Vector m_original_pos; private: Bumper(const Bumper&) = delete; diff --git a/src/object/coin_explode.cpp b/src/object/coin_explode.cpp index 72b29249425..515505d5397 100644 --- a/src/object/coin_explode.cpp +++ b/src/object/coin_explode.cpp @@ -20,6 +20,8 @@ #include "object/coin.hpp" #include "supertux/sector.hpp" +#include + CoinExplode::CoinExplode(const Vector& pos, bool count_stats, const std::string& sprite) : m_sprite(sprite), position(pos), @@ -33,16 +35,19 @@ CoinExplode::update(float ) float mag = 100.0f; // Magnitude at which coins are thrown. float rand = 30.0f; // Max variation to be subtracted from the magnitude. - Sector::get().add(position, Vector(2.5, -4.5) * (mag - gameRandom.randf(rand)), m_count_stats, m_sprite); - Sector::get().add(position, Vector(2, -5) * (mag - gameRandom.randf(rand)), m_count_stats, m_sprite); - Sector::get().add(position, Vector(1.5, -5.5) * (mag - gameRandom.randf(rand)), m_count_stats, m_sprite); - Sector::get().add(position, Vector(1, -6) * (mag+gameRandom.randf(rand)), m_count_stats, m_sprite); - Sector::get().add(position, Vector(0.5, -6.5) * (mag - gameRandom.randf(rand)), m_count_stats, m_sprite); - Sector::get().add(position, Vector(-2.5, -4.5) * (mag - gameRandom.randf(rand)), m_count_stats, m_sprite); - Sector::get().add(position, Vector(-2, -5) * (mag - gameRandom.randf(rand)), m_count_stats, m_sprite); - Sector::get().add(position, Vector(-1.5, -5.5) * (mag - gameRandom.randf(rand)), m_count_stats, m_sprite); - Sector::get().add(position, Vector(-1, -6) * (mag+gameRandom.randf(rand)), m_count_stats, m_sprite); - Sector::get().add(position, Vector(-0.5, -6.5) * (mag - gameRandom.randf(rand)), m_count_stats, m_sprite); + // Each coin in the explosion has a different velocity. + static std::list coin_velocities = { + { 2.5, -4.5 }, { 2, -5 }, + { 1.5, -5.5 }, { 1, -6 }, { 0.5, -6.5 }, + { -2.5, -4.5 }, { -2, -5 }, + { -1.5, -5.5 }, { -1, -6 }, { -0.5, -6.5 } + }; + + for(const auto& vector: coin_velocities) + { + auto velocity = vector * (mag - gameRandom.randf(rand)); + Sector::get().add(position, velocity, m_count_stats, m_sprite); + } remove_me(); } diff --git a/src/object/fallblock.cpp b/src/object/fallblock.cpp index a31fb5b8273..47248377046 100644 --- a/src/object/fallblock.cpp +++ b/src/object/fallblock.cpp @@ -65,32 +65,6 @@ FallBlock::update(float dt_sec) set_group(COLGROUP_MOVING_STATIC); break; } - for (auto& bumper : Sector::get().get_objects_by_type()) - { - Rectf bumper_bbox = bumper.get_bbox(); - if ((bumper_bbox.get_left() < (m_col.m_bbox.get_right() + 8)) - && (bumper_bbox.get_right() > (m_col.m_bbox.get_left() - 8)) - && (bumper_bbox.get_bottom() > (m_col.m_bbox.get_top() - 8)) - && (bumper_bbox.get_top() < (m_col.m_bbox.get_bottom() + 8))) - { - switch (m_state) - { - case IDLE: - break; - case SHAKE: - break; - case FALL: - bumper.get_physic().enable_gravity(true); - break; - case LAND: - bumper.get_physic().enable_gravity(false); - bumper.get_physic().set_gravity_modifier(0.f); - bumper.get_physic().set_velocity_y(0.f); - bumper.get_physic().reset(); - break; - } - } - } } HitResponse @@ -139,7 +113,7 @@ FallBlock::draw(DrawingContext& context) pos.x += static_cast(graphicsRandom.rand(-8, 8)); pos.y += static_cast(graphicsRandom.rand(-5, 5)); } - MovingSprite::draw(context); + m_sprite->draw(context.color(), pos, m_layer, m_flip); } bool diff --git a/src/object/fallblock.hpp b/src/object/fallblock.hpp index ab3b6c4a03e..e6f627f2c34 100644 --- a/src/object/fallblock.hpp +++ b/src/object/fallblock.hpp @@ -43,7 +43,9 @@ class FallBlock : public MovingSprite virtual void on_flip(float height) override; -protected: +public: + Physic& get_physic() { return m_physic; } + enum State { IDLE, @@ -52,6 +54,8 @@ class FallBlock : public MovingSprite LAND }; + State get_state() const { return m_state; } + private: State m_state; diff --git a/src/object/ispy.cpp b/src/object/ispy.cpp index bdded6dd041..56b28eb037e 100644 --- a/src/object/ispy.cpp +++ b/src/object/ispy.cpp @@ -26,7 +26,7 @@ #include "util/writer.hpp" Ispy::Ispy(const ReaderMapping& reader) : - MovingSprite(reader, "images/objects/ispy/ispy.sprite", LAYER_TILES + 5, COLGROUP_DISABLED), + StickyObject(reader, "images/objects/ispy/ispy.sprite", LAYER_TILES + 5, COLGROUP_DISABLED), m_state(ISPYSTATE_IDLE), m_script(), m_dir(Direction::LEFT) @@ -39,6 +39,8 @@ Ispy::Ispy(const ReaderMapping& reader) : else if (!Editor::is_active()) m_dir = Direction::LEFT; + reader.get("sticky", m_sticky, false); + if (m_dir == Direction::AUTO) log_warning << "Setting an Ispy's direction to AUTO is no good idea." << std::endl; @@ -48,13 +50,13 @@ Ispy::Ispy(const ReaderMapping& reader) : ObjectSettings Ispy::get_settings() { - ObjectSettings result = MovingSprite::get_settings(); + ObjectSettings result = StickyObject::get_settings(); result.add_script(_("Script"), &m_script, "script"); result.add_direction(_("Direction"), &m_dir, { Direction::LEFT, Direction::RIGHT, Direction::UP, Direction::DOWN }, "direction"); - result.reorder({"script", "facing-down", "direction", "x", "y"}); + result.reorder({"script", "facing-down", "sticky", "direction", "x", "y"}); return result; } @@ -75,7 +77,6 @@ Ispy::collision(GameObject& , const CollisionHit& ) void Ispy::update(float dt_sec) { - if (m_state == ISPYSTATE_IDLE) { //Check if a player has been spotted @@ -122,6 +123,11 @@ Ispy::update(float dt_sec) m_state = ISPYSTATE_IDLE; } } + + if (m_sticky) { + StickyObject::update(dt_sec); + } + } void diff --git a/src/object/ispy.hpp b/src/object/ispy.hpp index efe771d9936..681b005a14e 100644 --- a/src/object/ispy.hpp +++ b/src/object/ispy.hpp @@ -18,11 +18,11 @@ #ifndef HEADER_SUPERTUX_OBJECT_ISPY_HPP #define HEADER_SUPERTUX_OBJECT_ISPY_HPP -#include "object/moving_sprite.hpp" +#include "object/sticky_object.hpp" #include "supertux/direction.hpp" /** An Ispy: When it spots Tux, a script will run. */ -class Ispy final : public MovingSprite +class Ispy final : public StickyObject { public: Ispy(const ReaderMapping& mapping); diff --git a/src/object/music_object.cpp b/src/object/music_object.cpp index 8640bebc60f..91185316b20 100644 --- a/src/object/music_object.cpp +++ b/src/object/music_object.cpp @@ -95,7 +95,7 @@ MusicObject::set_music(const std::string& music) m_music = music; } -std::string +const std::string& MusicObject::get_music() const { return m_music; diff --git a/src/object/music_object.hpp b/src/object/music_object.hpp index e08d5d2ce45..aecd6ee4305 100644 --- a/src/object/music_object.hpp +++ b/src/object/music_object.hpp @@ -50,7 +50,7 @@ class MusicObject : public GameObject MusicType get_music_type() const; void set_music(const std::string& music); - std::string get_music() const; + const std::string& get_music() const; private: MusicType m_currentmusic; diff --git a/src/object/particle_zone.hpp b/src/object/particle_zone.hpp index 6eb9299683e..ecf2761e1b0 100644 --- a/src/object/particle_zone.hpp +++ b/src/object/particle_zone.hpp @@ -75,7 +75,7 @@ class ParticleZone final : void set_particle_name(std::string& particle_name) {m_particle_name = particle_name;} /** Returns the name of the particle object for this area */ - std::string get_particle_name() const {return m_particle_name;} + const std::string& get_particle_name() const { return m_particle_name; } /** Move the area around. Multiple calls stack (e. g. calling one before * the other finished will play both movements simultaneously) @@ -116,7 +116,7 @@ class ParticleZone final : Rectf get_rect() const {return m_rect;} ParticleZoneType get_type() const {return m_type;} - std::string get_particle_name() const {return m_particle_name;} + const std::string& get_particle_name() const {return m_particle_name;} }; ZoneDetails get_details() { diff --git a/src/object/path.cpp b/src/object/path.cpp index 8898a05f158..9a170a87eba 100644 --- a/src/object/path.cpp +++ b/src/object/path.cpp @@ -180,7 +180,7 @@ Path::get_base() const } int -Path::get_nearest_node_no(const Vector& reference_point) const +Path::get_nearest_node_idx(const Vector& reference_point) const { int nearest_node_id = -1; float nearest_node_dist = 0; @@ -196,7 +196,7 @@ Path::get_nearest_node_no(const Vector& reference_point) const } int -Path::get_farthest_node_no(const Vector& reference_point) const +Path::get_farthest_node_idx(const Vector& reference_point) const { int farthest_node_id = -1; float farthest_node_dist = 0; diff --git a/src/object/path.hpp b/src/object/path.hpp index ab0e4dd7b05..6fbe9652065 100644 --- a/src/object/path.hpp +++ b/src/object/path.hpp @@ -87,10 +87,10 @@ class Path final Vector get_base() const; /** returns Node index nearest to reference_point or -1 if not applicable */ - int get_nearest_node_no(const Vector& reference_point) const; + int get_nearest_node_idx(const Vector& reference_point) const; /** returns Node index farthest from reference_point or -1 if not applicable */ - int get_farthest_node_no(const Vector& reference_point) const; + int get_farthest_node_idx(const Vector& reference_point) const; /** Moves all nodes by given shift. */ void move_by(const Vector& shift); diff --git a/src/object/path_walker.cpp b/src/object/path_walker.cpp index 565a7277a75..76b98f66f61 100644 --- a/src/object/path_walker.cpp +++ b/src/object/path_walker.cpp @@ -136,24 +136,24 @@ PathWalker::get_pos(const Sizef& object_size, const Handle& handle) const } void -PathWalker::goto_node(int node_no) +PathWalker::goto_node(int node_idx) { const Path* path = get_path(); if (!path) return; - if (node_no == m_stop_at_node_nr) return; + if (node_idx == m_stop_at_node_nr) return; m_running = true; - m_stop_at_node_nr = node_no; + m_stop_at_node_nr = node_idx; } void -PathWalker::jump_to_node(int node_no, bool instantaneous) +PathWalker::jump_to_node(int node_idx, bool instantaneous) { Path* path = get_path(); if (!path) return; - if (node_no >= static_cast(path->get_nodes().size())) return; - m_next_node_nr = static_cast(node_no); + if (node_idx >= static_cast(path->get_nodes().size())) return; + m_next_node_nr = static_cast(node_idx); if (instantaneous || m_walking_speed == 0) { m_current_node_nr = m_next_node_nr; } diff --git a/src/object/path_walker.hpp b/src/object/path_walker.hpp index 3e0f321a2e1..6c9d744dc4f 100644 --- a/src/object/path_walker.hpp +++ b/src/object/path_walker.hpp @@ -54,10 +54,10 @@ class PathWalker final Vector get_pos(const Sizef& object_size, const Handle& handle) const; /** advance until at given node, then stop */ - void goto_node(int node_no); + void goto_node(int node_idx); /** teleport instantly to given node */ - void jump_to_node(int node_no, bool instantaneous = false); + void jump_to_node(int node_idx, bool instantaneous = false); /** start advancing automatically */ void start_moving(); diff --git a/src/object/platform.cpp b/src/object/platform.cpp index 1b882a5def5..2f3db61adb6 100644 --- a/src/object/platform.cpp +++ b/src/object/platform.cpp @@ -33,6 +33,7 @@ Platform::Platform(const ReaderMapping& reader, const std::string& default_sprit ExposedObject(this), PathObject(), m_speed(Vector(0,0)), + m_movement(Vector(0, 0)), m_automatic(false), m_player_contact(false), m_last_player_contact(false), @@ -109,7 +110,7 @@ Platform::update(float dt_sec) // Travel to node nearest to nearest player if (auto* player = Sector::get().get_nearest_player(m_col.m_bbox)) { - int nearest_node_id = get_path()->get_nearest_node_no(player->get_bbox().p2()); + int nearest_node_id = get_path()->get_nearest_node_idx(player->get_bbox().p2()); if (nearest_node_id != -1) { goto_node(nearest_node_id); } @@ -120,7 +121,7 @@ Platform::update(float dt_sec) // Player touched platform, didn't touch last frame and Platform is not moving // Travel to node farthest from current position - int farthest_node_id = get_path()->get_farthest_node_no(get_pos()); + int farthest_node_id = get_path()->get_farthest_node_idx(get_pos()); if (farthest_node_id != -1) { goto_node(farthest_node_id); } @@ -132,10 +133,10 @@ Platform::update(float dt_sec) } get_walker()->update(dt_sec); - Vector movement = get_walker()->get_pos(m_col.m_bbox.get_size(), m_path_handle) - get_pos(); - m_col.set_movement(movement); - m_col.propagate_movement(movement); - m_speed = movement / dt_sec; + m_movement = get_walker()->get_pos(m_col.m_bbox.get_size(), m_path_handle) - get_pos(); + m_col.set_movement(m_movement); + m_col.propagate_movement(m_movement); + m_speed = m_movement / dt_sec; } void @@ -151,16 +152,16 @@ Platform::editor_update() } void -Platform::goto_node(int node_no) +Platform::goto_node(int node_idx) { - get_walker()->goto_node(node_no); + get_walker()->goto_node(node_idx); } void -Platform::jump_to_node(int node_no, bool instantaneous) +Platform::jump_to_node(int node_idx, bool instantaneous) { - get_walker()->jump_to_node(node_no, instantaneous); - set_pos(m_path_handle.get_pos(m_col.m_bbox.get_size(), get_path()->get_nodes()[node_no].position)); + get_walker()->jump_to_node(node_idx, instantaneous); + set_pos(m_path_handle.get_pos(m_col.m_bbox.get_size(), get_path()->get_nodes()[node_idx].position)); } void diff --git a/src/object/platform.hpp b/src/object/platform.hpp index 4b172b4413b..7b208dd955d 100644 --- a/src/object/platform.hpp +++ b/src/object/platform.hpp @@ -55,14 +55,16 @@ class Platform : public MovingSprite, const Vector& get_speed() const { return m_speed; } + const Vector& get_movement() const { return m_movement; } + /** @name Scriptable Methods @{ */ /** Move platform until at given node, then stop */ - void goto_node(int node_no); + void goto_node(int node_idx); /** Move platform instantly to given node */ - void jump_to_node(int node_no, bool instantaneous = false); + void jump_to_node(int node_idx, bool instantaneous = false); /** Start moving platform */ void start_moving(); @@ -73,6 +75,7 @@ class Platform : public MovingSprite, private: Vector m_speed; + Vector m_movement; /** true if Platform will automatically pick a destination based on collisions and current Player position */ diff --git a/src/object/player.cpp b/src/object/player.cpp index 0af83697bf3..8d43352d2b3 100644 --- a/src/object/player.cpp +++ b/src/object/player.cpp @@ -36,6 +36,7 @@ #include "object/sprite_particle.hpp" #include "sprite/sprite.hpp" #include "sprite/sprite_manager.hpp" +#include "supertux/constants.hpp" #include "supertux/game_session.hpp" #include "supertux/gameconfig.hpp" #include "supertux/resources.hpp" @@ -1604,7 +1605,14 @@ Player::handle_input() } else { - dest_.set_bottom(m_col.m_bbox.get_top() + m_col.m_bbox.get_height() * 0.66666f); + Rectf player_head_clear_box = get_bbox().grown(-2.f); + player_head_clear_box.set_top(get_bbox().get_top() - 2.f); + if ((is_big() && !m_duck) || Sector::get().is_free_of_statics(player_head_clear_box, moving_object, true)) { + dest_.set_bottom(m_col.m_bbox.get_top() + m_col.m_bbox.get_height() * 0.66666f); + } + else { + dest_.set_bottom(m_col.m_bbox.get_bottom() + 2.f); + } dest_.set_top(dest_.get_bottom() - grabbed_bbox.get_height()); if (m_dir == Direction::LEFT) @@ -2195,15 +2203,22 @@ Player::draw(DrawingContext& context) } */ + // Because the camera also tracks Tux, to avoid perceived jitter the position should be + // projected forward according to the time since the last frame. This forward projection + // may overshoot slightly, but Tux should never move fast enough that this is perceivable. + // (While this could be done for all objects, it is most important here as the camera often + // tracks Tux.) Note `context.get_time_offset()` is only nonzero if frame prediction is on. + Vector draw_pos = get_pos() + context.get_time_offset() * m_physic.get_velocity(); + /* Draw Tux */ if (!m_visible || (m_safe_timer.started() && !m_is_intentionally_safe && size_t(g_game_time * 40) % 2)) { } // don't draw Tux else if (m_dying) - m_sprite->draw(context.color(), get_pos(), Sector::get().get_foremost_opaque_layer() + 1); + m_sprite->draw(context.color(), draw_pos, Sector::get().get_foremost_opaque_layer() + 1); else - m_sprite->draw(context.color(), get_pos(), LAYER_OBJECTS + 1); + m_sprite->draw(context.color(), draw_pos, LAYER_OBJECTS + 1); //TODO: Replace recoloring with proper costumes Color power_color = (get_bonus() == FIRE_BONUS ? Color(1.f, 0.7f, 0.5f) : diff --git a/src/object/pushbutton.cpp b/src/object/pushbutton.cpp index d575a43bf45..9d50f9e5e13 100644 --- a/src/object/pushbutton.cpp +++ b/src/object/pushbutton.cpp @@ -30,7 +30,7 @@ const std::string BUTTON_SOUND = "sounds/switch.ogg"; } PushButton::PushButton(const ReaderMapping& mapping) : - MovingSprite(mapping, "images/objects/pushbutton/pushbutton.sprite", LAYER_BACKGROUNDTILES+1, COLGROUP_MOVING), + StickyObject(mapping, "images/objects/pushbutton/pushbutton.sprite", LAYER_BACKGROUNDTILES+1, COLGROUP_MOVING), m_script(), m_state(OFF), m_dir(Direction::UP) @@ -50,18 +50,20 @@ PushButton::PushButton(const ReaderMapping& mapping) : else if (mapping.get("upside-down", old_upside_down) && old_upside_down) m_dir = Direction::DOWN; + mapping.get("sticky", m_sticky, false); + set_action("off", m_dir, -1); } ObjectSettings PushButton::get_settings() { - ObjectSettings result = MovingSprite::get_settings(); + ObjectSettings result = StickyObject::get_settings(); result.add_direction(_("Direction"), &m_dir, { Direction::UP, Direction::DOWN }, "direction"); result.add_script(_("Script"), &m_script, "script"); - result.reorder({"direction", "script", "x", "y"}); + result.reorder({"direction", "script", "sticky", "x", "y"}); return result; } @@ -74,8 +76,11 @@ PushButton::after_editor_set() } void -PushButton::update(float /*dt_sec*/) +PushButton::update(float dt_sec) { + if (m_sticky) { + StickyObject::update(dt_sec); + } } HitResponse diff --git a/src/object/pushbutton.hpp b/src/object/pushbutton.hpp index 2db785e5925..dfc49e3d640 100644 --- a/src/object/pushbutton.hpp +++ b/src/object/pushbutton.hpp @@ -17,10 +17,10 @@ #ifndef HEADER_SUPERTUX_OBJECT_PUSHBUTTON_HPP #define HEADER_SUPERTUX_OBJECT_PUSHBUTTON_HPP -#include "object/moving_sprite.hpp" +#include "object/sticky_object.hpp" /** PushButton - jump on it to run a script */ -class PushButton final : public MovingSprite +class PushButton final : public StickyObject { public: PushButton(const ReaderMapping& reader); diff --git a/src/object/rock.cpp b/src/object/rock.cpp index 178e1024196..78e5282d9b0 100644 --- a/src/object/rock.cpp +++ b/src/object/rock.cpp @@ -23,6 +23,7 @@ #include "object/explosion.hpp" #include "object/lit_object.hpp" #include "object/pushbutton.hpp" +#include "object/trampoline.hpp" #include "supertux/sector.hpp" #include "supertux/tile.hpp" #include "object/player.hpp" @@ -39,9 +40,12 @@ Rock::Rock(const ReaderMapping& reader, const std::string& spritename) : ExposedObject(this), physic(), on_ground(false), + on_ice(false), last_movement(0.0f, 0.0f), on_grab_script(), - on_ungrab_script() + on_ungrab_script(), + running_grab_script(), + running_ungrab_script() { parse_type(reader); reader.get("on-grab-script", on_grab_script, ""); @@ -56,9 +60,12 @@ Rock::Rock(const Vector& pos, const std::string& spritename) : ExposedObject(this), physic(), on_ground(false), + on_ice(false), last_movement(0.0f, 0.0f), on_grab_script(), - on_ungrab_script() + on_ungrab_script(), + running_grab_script(), + running_ungrab_script() { SoundManager::current()->preload(ROCK_SOUND); set_group(COLGROUP_MOVING_STATIC); @@ -88,8 +95,42 @@ Rock::get_default_sprite_name() const void Rock::update(float dt_sec) { - if (!is_grabbed()) - m_col.set_movement(physic.get_movement(dt_sec)); + if (!is_grabbed()) { + + if (get_bbox().get_top() > Sector::get().get_height()) { + remove_me(); + } + + Rectf icebox = get_bbox().grown(-1.f); + icebox.set_bottom(get_bbox().get_bottom() + 8.f); + on_ice = !Sector::get().is_free_of_tiles(icebox, true, Tile::ICE); + + bool in_water = !Sector::get().is_free_of_tiles(get_bbox(), true, Tile::WATER); + physic.set_gravity_modifier(in_water ? 0.2f : 1.f); + + Rectf trampolinebox = get_bbox().grown(-1.f); + trampolinebox.set_bottom(get_bbox().get_bottom() + 8.f); + + for (auto& trampoline : Sector::get().get_objects_by_type()) { + if (trampolinebox.overlaps(trampoline.get_bbox()) && !trampoline.is_grabbed() && + (glm::length((get_bbox().get_middle() - trampoline.get_bbox().get_middle())) >= 10.f) && + is_portable()) { + trampoline.bounce(); + physic.set_velocity_y(-500.f); + } + } + + Rectf playerbox = get_bbox().grown(-2.f); + playerbox.set_bottom(get_bbox().get_bottom() + 7.f); + for (auto& player : Sector::get().get_objects_by_type()) { + if (playerbox.overlaps(player.get_bbox()) && physic.get_velocity_y() > 0.f && is_portable()) { + physic.set_velocity_y(-250.f); + } + } + + m_col.set_movement(physic.get_movement(dt_sec) * + Vector(in_water ? 0.4f : 1.f, in_water ? 0.6f : 1.f)); + } } void @@ -108,15 +149,15 @@ Rock::collision_solid(const CollisionHit& hit) if (hit.crush) physic.set_velocity(0, 0); - if (hit.bottom && !on_ground && !is_grabbed()) { + if (hit.bottom && !on_ground && !is_grabbed() && !on_ice) { SoundManager::current()->play(ROCK_SOUND, get_pos()); physic.set_velocity_x(0); on_ground = true; } - if (on_ground) { + if (on_ground || (hit.bottom && on_ice)) { // Full friction! - physic.set_velocity_x(physic.get_velocity_x() * (1.f - GROUND_FRICTION)); + physic.set_velocity_x(physic.get_velocity_x() * (1.f - (GROUND_FRICTION * (on_ice ? 0.5f : 1.f)))); } } @@ -154,28 +195,29 @@ Rock::collision(GameObject& other, const CollisionHit& hit) return FORCE_MOVE; } + if (hit.bottom) { + auto player = dynamic_cast (&other); + if (player) { + physic.set_velocity_y(-250.f); + } + } + // Don't fall further if we are on a rock which is on the ground. // This is to avoid jittering. auto rock = dynamic_cast (&other); if (rock && rock->on_ground && hit.bottom) { - physic.set_velocity_y(0); + physic.set_velocity_y(rock->get_physic().get_velocity_y()); return CONTINUE; } if (!on_ground) { if (hit.bottom && physic.get_velocity_y() > 200) { auto badguy = dynamic_cast (&other); - auto player = dynamic_cast (&other); if (badguy && badguy->get_group() != COLGROUP_TOUCHABLE) { //Getting a rock on the head hurts. A lot. badguy->kill_fall(); physic.set_velocity_y(0); } - else if(player) - { - player->kill(false); - physic.set_velocity_y(0); - } } return FORCE_MOVE; } @@ -193,7 +235,10 @@ Rock::grab(MovingObject& object, const Vector& pos, Direction dir_) set_group(COLGROUP_TOUCHABLE); //needed for lanterns catching willowisps on_ground = false; - if (!on_grab_script.empty()) { + running_ungrab_script = false; + if (!on_grab_script.empty() && !running_grab_script) + { + running_grab_script = true; Sector::get().run_script(on_grab_script, "Rock::on_grab"); } } @@ -220,8 +265,10 @@ Rock::ungrab(MovingObject& object, Direction dir) } } - if (!on_ungrab_script.empty()) + running_grab_script = false; + if (!on_ungrab_script.empty() && !running_ungrab_script) { + running_ungrab_script = true; Sector::get().run_script(on_ungrab_script, "Rock::on_ungrab"); } Portable::ungrab(object, dir); diff --git a/src/object/rock.hpp b/src/object/rock.hpp index 5196af5794f..5b1535a09ba 100644 --- a/src/object/rock.hpp +++ b/src/object/rock.hpp @@ -49,6 +49,7 @@ class Rock : public MovingSprite, /** Adds velocity from wind */ virtual void add_wind_velocity(const Vector& velocity, const Vector& end_speed); + Physic& get_physic() { return physic; } private: enum Type { @@ -59,9 +60,12 @@ class Rock : public MovingSprite, protected: Physic physic; bool on_ground; + bool on_ice; Vector last_movement; std::string on_grab_script; std::string on_ungrab_script; + bool running_grab_script; + bool running_ungrab_script; private: Rock(const Rock&) = delete; diff --git a/src/object/scripted_object.cpp b/src/object/scripted_object.cpp index b7d430eb21b..034fc572592 100644 --- a/src/object/scripted_object.cpp +++ b/src/object/scripted_object.cpp @@ -70,7 +70,7 @@ ScriptedObject::get_settings() result.add_bool(_("Solid"), &solid, "solid", true); result.add_bool(_("Physics enabled"), &physic_enabled, "physic-enabled", true); result.add_bool(_("Visible"), &visible, "visible", true); - result.add_text(_("Hit script"), &hit_script, "hit-script"); + result.add_script(_("Hit script"), &hit_script, "hit-script"); result.reorder({"z-pos", "visible", "physic-enabled", "solid", "name", "sprite", "script", "button", "x", "y"}); diff --git a/src/object/shard.cpp b/src/object/shard.cpp index b9932269732..61194ff9b5f 100644 --- a/src/object/shard.cpp +++ b/src/object/shard.cpp @@ -21,10 +21,11 @@ #include "math/util.hpp" #include "object/player.hpp" #include "sprite/sprite.hpp" +#include "supertux/sector.hpp" #include "util/reader_mapping.hpp" Shard::Shard(const ReaderMapping& reader) : - MovingSprite(reader, "images/creatures/crystallo/shard.sprite", LAYER_TILES - 2, COLGROUP_MOVING), + StickyObject(reader, "images/creatures/crystallo/shard.sprite", LAYER_TILES - 2, COLGROUP_MOVING), m_physic(), m_stick_timer() { @@ -33,7 +34,7 @@ Shard::Shard(const ReaderMapping& reader) : } Shard::Shard(const Vector& pos, const Vector& velocity, const std::string& sprite) : - MovingSprite(pos, sprite, LAYER_TILES - 2, COLGROUP_MOVING), + StickyObject(pos, sprite, LAYER_TILES - 2, COLGROUP_MOVING), m_physic(), m_stick_timer() { @@ -46,11 +47,16 @@ Shard::Shard(const Vector& pos, const Vector& velocity, const std::string& sprit void Shard::update(float dt_sec) { - if (m_physic.get_velocity() != Vector(0.f, 0.f)) + m_sticky = true; + + if (m_physic.get_velocity() != Vector(0.f, 0.f) && !m_sticking) m_sprite->set_angle(math::degrees(math::angle(Vector(m_physic.get_velocity_x(), m_physic.get_velocity_y())))); - m_col.set_movement(m_physic.get_movement(dt_sec)); if (m_stick_timer.check()) remove_me(); + + m_col.set_movement(m_physic.get_movement(dt_sec)); + + StickyObject::update(dt_sec); } void diff --git a/src/object/shard.hpp b/src/object/shard.hpp index d642cc7d364..7d3c89579ff 100644 --- a/src/object/shard.hpp +++ b/src/object/shard.hpp @@ -17,11 +17,11 @@ #ifndef HEADER_SUPERTUX_OBJECT_SHARD_HPP #define HEADER_SUPERTUX_OBJECT_SHARD_HPP -#include "object/moving_sprite.hpp" +#include "object/sticky_object.hpp" #include "supertux/physic.hpp" #include "supertux/timer.hpp" -class Shard final : public MovingSprite +class Shard final : public StickyObject { public: Shard(const ReaderMapping& reader); diff --git a/src/object/sticky_object.cpp b/src/object/sticky_object.cpp new file mode 100644 index 00000000000..f3b9a553469 --- /dev/null +++ b/src/object/sticky_object.cpp @@ -0,0 +1,145 @@ +// SuperTux +// Copyright (C) 2024 Daniel Ward +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#include "object/sticky_object.hpp" + +#include "badguy/badguy.hpp" +#include "badguy/crusher.hpp" +#include "object/fallblock.hpp" +#include "object/moving_sprite.hpp" +#include "object/platform.hpp" +#include "object/tilemap.hpp" + +StickyObject::StickyObject(const Vector& pos, const std::string& sprite_name, + int layer, CollisionGroup collision_group) : + MovingSprite(pos, sprite_name, layer, collision_group), + m_sticky(), + m_sticking(), + m_displacement_from_owner() +{ +} + +StickyObject::StickyObject(const ReaderMapping& reader, const std::string& sprite_name, int layer, CollisionGroup collision_group) : + MovingSprite(reader, sprite_name, layer, collision_group), + m_sticky(), + m_sticking(), + m_displacement_from_owner() +{ +} + +void +StickyObject::update(float dt_sec) +{ + const Rectf large_overlap_box = get_bbox().grown(8.f); + for (auto& tm : Sector::get().get_objects_by_type()) + { + if (large_overlap_box.overlaps(tm.get_bbox()) && tm.is_solid() && glm::length(tm.get_movement(true)) > (1.f * dt_sec) && + !Sector::get().is_free_of_statics(large_overlap_box)) + { + m_col.set_movement(tm.get_movement(true)); + if (!m_sticking) + { + m_displacement_from_owner = get_pos() - tm.get_bbox().p1(); + m_sticking = true; + } + m_col.set_pos(tm.get_bbox().p1() + m_displacement_from_owner); + return; + } + } + + sticky_update(); + sticky_update(); + sticky_update(); +} + +ObjectSettings +StickyObject::get_settings() +{ + ObjectSettings result = MovingSprite::get_settings(); + result.add_bool(_("Sticky"), &m_sticky, "sticky", false); + + result.reorder({"sticky", "sprite", "z-pos", "x", "y" }); + + return result; +} + +void +StickyObject::move_for_owner(MovingObject& object) +{ + m_col.set_pos(object.get_pos() + m_displacement_from_owner); +} + +StickyBadguy::StickyBadguy(const ReaderMapping& mapping, const std::string& sprite_name, Direction default_direction, int layer, CollisionGroup collision_group) : + BadGuy(mapping, sprite_name, default_direction, layer), + m_sticky(), + m_sticking(), + m_displacement_from_owner() +{ + set_group(collision_group); +} + +StickyBadguy::StickyBadguy(const ReaderMapping& mapping, const std::string& sprite_name, int layer, CollisionGroup collision_group) : + BadGuy(mapping, sprite_name, layer), + m_sticky(), + m_sticking(), + m_displacement_from_owner() +{ + set_group(collision_group); +} + +void +StickyBadguy::sticky_update(float dt_sec) +{ + const Rectf large_overlap_box = get_bbox().grown(8.f); + for (auto& tm : Sector::get().get_objects_by_type()) + { + if (large_overlap_box.overlaps(tm.get_bbox()) && tm.is_solid() && glm::length(tm.get_movement(true)) > (1.f * dt_sec) && + !Sector::get().is_free_of_statics(large_overlap_box)) + { + m_col.set_movement(tm.get_movement(true)); + if (!m_sticking) + { + m_displacement_from_owner = get_pos() - tm.get_bbox().p1(); + m_sticking = true; + } + m_col.set_pos(tm.get_bbox().p1() + m_displacement_from_owner); + return; + } + } + + sticky_update(); + sticky_update(); + sticky_update(); +} + +ObjectSettings +StickyBadguy::get_settings() +{ + ObjectSettings result = BadGuy::get_settings(); + result.add_bool(_("Sticky"), &m_sticky, "sticky", false); + + result.reorder({ "sticky", "direction", "sprite", "z-pos", "x", "y" }); + + return result; +} + +void +StickyBadguy::move_for_owner(MovingObject& object) +{ + m_col.set_pos(object.get_pos() + m_displacement_from_owner); +} + +/* EOF */ diff --git a/src/object/sticky_object.hpp b/src/object/sticky_object.hpp new file mode 100644 index 00000000000..b276dfa5a36 --- /dev/null +++ b/src/object/sticky_object.hpp @@ -0,0 +1,124 @@ +// SuperTux +// Copyright (C) 2024 Daniel Ward +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#ifndef HEADER_SUPERTUX_OBJECT_STICKY_OBJECT_HPP +#define HEADER_SUPERTUX_OBJECT_STICKY_OBJECT_HPP + +#include "badguy/badguy.hpp" +#include "object/moving_sprite.hpp" + +#include "supertux/sector.hpp" + +/** This is a class for MovingSprites that can stick to the sides, top and bottom of MovingObjects, + such as platforms, fallblock, tilemap, etc. */ +class StickyObject : public MovingSprite +{ +public: + StickyObject(const Vector& pos, const std::string& sprite_name, + int layer = LAYER_OBJECTS, CollisionGroup collision_group = COLGROUP_MOVING); + StickyObject(const ReaderMapping& reader, const std::string& sprite_name, + int layer = LAYER_OBJECTS, CollisionGroup collision_group = COLGROUP_MOVING); + + virtual void update(float dt_sec) override; + + virtual ObjectSettings get_settings() override; + + virtual void move_for_owner(MovingObject& object); + + bool is_sticky() const { return m_sticky; } + +private: + template + void sticky_update() + { + for (auto& obj : Sector::get().get_objects_by_type()) + { + if (m_col.m_bbox.grown(8.f).overlaps(obj.get_bbox())) + { + m_col.set_movement(obj.get_movement()); + if (!m_sticking) + { + m_displacement_from_owner = get_pos() - obj.get_pos(); + m_sticking = true; + } + move_for_owner(obj); + return; + } + } + } + +protected: + bool m_sticky; // determines if the object CAN stick, period. + bool m_sticking; // determines if the object has found something to stick to. + Vector m_displacement_from_owner; + +private: + StickyObject(const StickyObject&) = delete; + StickyObject& operator=(const StickyObject&) = delete; +}; + + +/** This is a class for BadGuys that can stick to the sides, top and bottom of MovingObjects, + such as platforms, fallblock, tilemap, etc. */ +class StickyBadguy : public BadGuy +{ +public: + StickyBadguy(const ReaderMapping& reader, const std::string& sprite_name, Direction default_direction, + int layer = LAYER_OBJECTS, CollisionGroup collision_group = COLGROUP_MOVING); + StickyBadguy(const ReaderMapping& reader, const std::string& sprite_name, + int layer = LAYER_OBJECTS, CollisionGroup collision_group = COLGROUP_MOVING); + + virtual void sticky_update(float dt_sec); + + virtual ObjectSettings get_settings() override; + + virtual void move_for_owner(MovingObject& object); + + bool is_sticky() const { return m_sticky; } + +private: + template + void sticky_update() + { + for (auto& obj : Sector::get().get_objects_by_type()) + { + if (m_col.m_bbox.grown(8.f).overlaps(obj.get_bbox())) + { + m_col.set_movement(obj.get_movement()); + if (!m_sticking) + { + m_displacement_from_owner = get_pos() - obj.get_pos(); + m_sticking = true; + } + move_for_owner(obj); + return; + } + } + } + +protected: + bool m_sticky; // determines if the object CAN stick, period. + bool m_sticking; // determines if the object has found something to stick to. + Vector m_displacement_from_owner; + +private: + StickyBadguy(const StickyBadguy&) = delete; + StickyBadguy& operator=(const StickyBadguy&) = delete; +}; + +#endif + +/* EOF */ diff --git a/src/object/tilemap.cpp b/src/object/tilemap.cpp index 08ed7dca7d6..ab0d23f87bb 100644 --- a/src/object/tilemap.cpp +++ b/src/object/tilemap.cpp @@ -516,17 +516,17 @@ TileMap::draw(DrawingContext& context) } void -TileMap::goto_node(int node_no) +TileMap::goto_node(int node_idx) { if (!get_walker()) return; - get_walker()->goto_node(node_no); + get_walker()->goto_node(node_idx); } void -TileMap::jump_to_node(int node_no, bool instantaneous) +TileMap::jump_to_node(int node_idx, bool instantaneous) { if (!get_walker()) return; - get_walker()->jump_to_node(node_no, instantaneous); + get_walker()->jump_to_node(node_idx, instantaneous); } void diff --git a/src/object/tilemap.hpp b/src/object/tilemap.hpp index 4d33631808a..faf0db746d0 100644 --- a/src/object/tilemap.hpp +++ b/src/object/tilemap.hpp @@ -72,10 +72,10 @@ class TileMap final : virtual void on_flip(float height) override; /** Move tilemap until at given node, then stop */ - void goto_node(int node_no); + void goto_node(int node_idx); /** Instantly jump to the given node */ - void jump_to_node(int node_no, bool instantaneous = false); + void jump_to_node(int node_idx, bool instantaneous = false); /** Start moving tilemap */ void start_moving(); @@ -210,6 +210,8 @@ class TileMap final : target alpha. */ float get_alpha() const; + float get_target_alpha() const { return m_alpha; } + void set_tileset(const TileSet* new_tileset); const std::vector& get_tiles() const { return m_tiles; } diff --git a/src/object/trampoline.cpp b/src/object/trampoline.cpp index 6e5247bf9ae..8485918414f 100644 --- a/src/object/trampoline.cpp +++ b/src/object/trampoline.cpp @@ -17,7 +17,7 @@ #include "object/trampoline.hpp" #include "audio/sound_manager.hpp" -#include "badguy/walking_badguy.hpp" +#include "badguy/badguy.hpp" #include "control/controller.hpp" #include "object/player.hpp" #include "object/coin.hpp" @@ -97,53 +97,51 @@ Trampoline::collision(GameObject& other, const CollisionHit& hit) if (heavy_coin) { return ABORT_MOVE; } - //Tramponine has to be on ground to work. - if (on_ground) { - auto player = dynamic_cast (&other); - //Trampoline works for player - if (player) { - player->override_velocity(); - if (player->m_does_buttjump) - player->m_does_buttjump = false; - float vy = player->get_physic().get_velocity_y(); - //player is falling down on trampoline - if (hit.top && vy >= 0) { - if (!(player->get_status().bonus[player->get_id()] == AIR_BONUS)) - { - if (player->get_controller().hold(Control::JUMP)) - vy = VY_MIN; - else if (player->get_controller().hold(Control::DOWN)) - vy = VY_MIN + 100; - else - vy = VY_INITIAL; - } + auto player = dynamic_cast (&other); + //Trampoline works for player + if (player && !is_grabbed()) + { + player->override_velocity(); + if (player->m_does_buttjump) + player->m_does_buttjump = false; + float vy = player->get_physic().get_velocity_y(); + //player is falling down on trampoline + if (hit.top && vy >= 0) + { + if (!(player->get_status().bonus[player->get_id()] == AIR_BONUS)) + { + if (player->get_controller().hold(Control::JUMP)) + vy = VY_MIN; + else if (player->get_controller().hold(Control::DOWN)) + vy = VY_MIN + 100; else - { - if (player->get_controller().hold(Control::JUMP)) - vy = VY_MIN - 80; - else if (player->get_controller().hold(Control::DOWN)) - vy = VY_MIN - 70; - else - vy = VY_INITIAL - 40; - } - player->get_physic().set_velocity_y(vy); - SoundManager::current()->play(TRAMPOLINE_SOUND, get_pos()); - set_action("swinging", 1); - return FORCE_MOVE; + vy = VY_INITIAL; } - } - auto walking_badguy = dynamic_cast (&other); - //Trampoline also works for WalkingBadguy - if (walking_badguy) { - float vy = walking_badguy->get_velocity_y(); - //walking_badguy is falling down on trampoline - if (hit.top && vy >= 0) { - vy = VY_INITIAL; - walking_badguy->set_velocity_y(vy); - SoundManager::current()->play(TRAMPOLINE_SOUND, get_pos()); - set_action("swinging", 1); - return FORCE_MOVE; + else + { + if (player->get_controller().hold(Control::JUMP)) + vy = VY_MIN - 80; + else if (player->get_controller().hold(Control::DOWN)) + vy = VY_MIN - 70; + else + vy = VY_INITIAL - 40; } + player->get_physic().set_velocity_y(vy); + bounce(); + return FORCE_MOVE; + } + } + auto badguy = dynamic_cast (&other); + //Trampoline also works for Badguy + if (badguy) { + float vy = badguy->get_physic().get_velocity_y(); + //badguy is falling down on trampoline + if (hit.top && vy >= 0) { + vy = VY_INITIAL; + badguy->get_physic().set_velocity_y(vy); + SoundManager::current()->play(TRAMPOLINE_SOUND, get_pos()); + set_action("swinging", 1); + return FORCE_MOVE; } } @@ -163,4 +161,11 @@ Trampoline::is_portable() const return Rock::is_portable() && m_type == PORTABLE; } +void +Trampoline::bounce() +{ + SoundManager::current()->play(TRAMPOLINE_SOUND, get_pos()); + m_sprite->set_action("swinging", 1); +} + /* EOF */ diff --git a/src/object/trampoline.hpp b/src/object/trampoline.hpp index 57760b5a9ce..910fa118258 100644 --- a/src/object/trampoline.hpp +++ b/src/object/trampoline.hpp @@ -40,6 +40,8 @@ class Trampoline final : public Rock GameObjectTypes get_types() const override; std::string get_default_sprite_name() const override; + void bounce(); + public: enum Type { PORTABLE, diff --git a/src/physfs/ifile_streambuf.cpp b/src/physfs/ifile_streambuf.cpp index e3aa9067c31..95fa5ae1f90 100644 --- a/src/physfs/ifile_streambuf.cpp +++ b/src/physfs/ifile_streambuf.cpp @@ -21,6 +21,8 @@ #include #include +#include "physfs/util.hpp" + IFileStreambuf::IFileStreambuf(const std::string& filename) : file(), buf() @@ -34,7 +36,7 @@ IFileStreambuf::IFileStreambuf(const std::string& filename) : if (file == nullptr) { std::stringstream msg; msg << "Couldn't open file '" << filename << "': " - << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()); + << physfsutil::get_last_error(); throw std::runtime_error(msg.str()); } } diff --git a/src/physfs/ofile_streambuf.cpp b/src/physfs/ofile_streambuf.cpp index 967f3673796..21a1a89fe33 100644 --- a/src/physfs/ofile_streambuf.cpp +++ b/src/physfs/ofile_streambuf.cpp @@ -20,6 +20,8 @@ #include #include +#include "physfs/util.hpp" + OFileStreambuf::OFileStreambuf(const std::string& filename) : file() { @@ -27,7 +29,7 @@ OFileStreambuf::OFileStreambuf(const std::string& filename) : if (file == nullptr) { std::stringstream msg; msg << "Couldn't open file '" << filename << "': " - << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()); + << physfsutil::get_last_error(); throw std::runtime_error(msg.str()); } diff --git a/src/physfs/physfs_sdl.cpp b/src/physfs/physfs_sdl.cpp index 049d454c36a..c4f685cec89 100644 --- a/src/physfs/physfs_sdl.cpp +++ b/src/physfs/physfs_sdl.cpp @@ -22,6 +22,7 @@ #include #include +#include "physfs/util.hpp" #include "util/log.hpp" #include @@ -54,7 +55,7 @@ Sint64 funcSeek(struct SDL_RWops* context, Sint64 offset, int whence) break; } if (res == 0) { - log_warning << "Error seeking in file: " << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()) << std::endl; + log_warning << "Error seeking in file: " << physfsutil::get_last_error() << std::endl; return -1; } int i = static_cast(PHYSFS_tell(file)); @@ -117,7 +118,7 @@ SDL_RWops* get_physfs_SDLRWops(const std::string& filename) if (!file) { std::stringstream msg; msg << "Couldn't open '" << filename << "': " - << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()); + << physfsutil::get_last_error(); throw std::runtime_error(msg.str()); } @@ -145,7 +146,7 @@ SDL_RWops* get_writable_physfs_SDLRWops(const std::string& filename) if (!file) { std::stringstream msg; msg << "Couldn't open '" << filename << "' for writing: " - << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()); + << physfsutil::get_last_error(); throw std::runtime_error(msg.str()); } diff --git a/src/physfs/util.cpp b/src/physfs/util.cpp index 6c00ff23085..34cd7776aea 100644 --- a/src/physfs/util.cpp +++ b/src/physfs/util.cpp @@ -23,6 +23,11 @@ namespace physfsutil { +const char* get_last_error() +{ + return PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()); +} + std::string realpath(const std::string& path) { std::string result = FileSystem::normalize(path); diff --git a/src/physfs/util.hpp b/src/physfs/util.hpp index 2e525b87402..7dd01624cba 100644 --- a/src/physfs/util.hpp +++ b/src/physfs/util.hpp @@ -22,6 +22,9 @@ namespace physfsutil { +/** Gets the last readable error that occurred in PhysFS */ +const char* get_last_error(); + /** Convert 'path' to it's canonical name, i.e. normalize it and add a '/' to the front) */ std::string realpath(const std::string& path); diff --git a/src/scripting/platform.cpp b/src/scripting/platform.cpp index d7be2f5b215..ddae013f0dd 100644 --- a/src/scripting/platform.cpp +++ b/src/scripting/platform.cpp @@ -20,17 +20,17 @@ namespace scripting { void -Platform::goto_node(int node_no) +Platform::goto_node(int node_idx) { SCRIPT_GUARD_VOID; - object.goto_node(node_no); + object.goto_node(node_idx); } void -Platform::set_node(int node_no) +Platform::set_node(int node_idx) { SCRIPT_GUARD_VOID; - object.jump_to_node(node_no, /* instantaneous = */ true); + object.jump_to_node(node_idx, /* instantaneous = */ true); } void diff --git a/src/scripting/platform.hpp b/src/scripting/platform.hpp index 9a677efe548..cb822c45ee0 100644 --- a/src/scripting/platform.hpp +++ b/src/scripting/platform.hpp @@ -47,15 +47,15 @@ class Platform final public: /** * Moves the platform until at given node, then stops. - * @param int $node_no + * @param int $node_idx */ - void goto_node(int node_no); + void goto_node(int node_idx); /** * Jumps instantly to the given node. - * @param int $node_no + * @param int $node_idx */ - void set_node(int node_no); + void set_node(int node_idx); /** * Starts moving the platform automatically. diff --git a/src/scripting/tilemap.cpp b/src/scripting/tilemap.cpp index f09fbd4a71a..b78dc5fa7c9 100644 --- a/src/scripting/tilemap.cpp +++ b/src/scripting/tilemap.cpp @@ -20,17 +20,17 @@ namespace scripting { void -TileMap::goto_node(int node_no) +TileMap::goto_node(int node_idx) { SCRIPT_GUARD_VOID; - object.goto_node(node_no); + object.goto_node(node_idx); } void -TileMap::set_node(int node_no) +TileMap::set_node(int node_idx) { SCRIPT_GUARD_VOID; - object.jump_to_node(node_no, /* instantaneous = */ true); + object.jump_to_node(node_idx, /* instantaneous = */ true); } void diff --git a/src/scripting/tilemap.hpp b/src/scripting/tilemap.hpp index 83c768a7d87..bb3943ff96a 100644 --- a/src/scripting/tilemap.hpp +++ b/src/scripting/tilemap.hpp @@ -48,15 +48,15 @@ class TileMap final public: /** * Moves the tilemap along a path until at given node, then stops. - * @param int $node_no + * @param int $node_idx */ - void goto_node(int node_no); + void goto_node(int node_idx); /** * Jumps instantly to the given node. - * @param int $node_no + * @param int $node_idx */ - void set_node(int node_no); + void set_node(int node_idx); /** * Starts moving the tilemap. diff --git a/src/scripting/willowisp.cpp b/src/scripting/willowisp.cpp index 85fcf5d5e61..fe749b5b603 100644 --- a/src/scripting/willowisp.cpp +++ b/src/scripting/willowisp.cpp @@ -21,10 +21,10 @@ namespace scripting { void -WillOWisp::goto_node(int node_no) +WillOWisp::goto_node(int node_idx) { SCRIPT_GUARD_VOID_T(WillOWisp); - object.goto_node(node_no); + object.goto_node(node_idx); } void diff --git a/src/scripting/willowisp.hpp b/src/scripting/willowisp.hpp index f1b7d4d25cb..fac13883c4a 100644 --- a/src/scripting/willowisp.hpp +++ b/src/scripting/willowisp.hpp @@ -54,9 +54,9 @@ class WillOWisp final : public scripting::BadGuy public: /** * Moves the WillOWisp along a path until at given node, then stops. - * @param int $node_no + * @param int $node_idx */ - void goto_node(int node_no); + void goto_node(int node_idx); /** * Sets the state of the WillOWisp. diff --git a/src/squirrel/squirrel_environment.cpp b/src/squirrel/squirrel_environment.cpp index 7f2a1f23f02..86018eef32e 100644 --- a/src/squirrel/squirrel_environment.cpp +++ b/src/squirrel/squirrel_environment.cpp @@ -112,7 +112,7 @@ SquirrelEnvironment::unexpose(const std::string& name) SQInteger oldtop = sq_gettop(m_vm.get_vm()); sq_pushobject(m_vm.get_vm(), m_table); try { - unexpose_object(m_vm.get_vm(), -1, name.c_str()); + unexpose_object(m_vm.get_vm(), -1, name); } catch(std::exception& e) { log_warning << "Couldn't unregister object: " << e.what() << std::endl; } diff --git a/src/supertux/command_line_arguments.cpp b/src/supertux/command_line_arguments.cpp index 45d163e5ca2..ac68bc69cb0 100644 --- a/src/supertux/command_line_arguments.cpp +++ b/src/supertux/command_line_arguments.cpp @@ -373,7 +373,7 @@ CommandLineArguments::parse_args(int argc, char** argv) } else { - throw std::runtime_error(fmt::format("Unknown option '{}''. Use --help to see a list of options", arg)); + throw std::runtime_error(fmt::format("Unknown option '{}'. Use --help to see a list of options", arg)); } } diff --git a/src/supertux/constants.hpp b/src/supertux/constants.hpp index 112b01753ff..cf22817f11f 100644 --- a/src/supertux/constants.hpp +++ b/src/supertux/constants.hpp @@ -17,6 +17,8 @@ #ifndef HEADER_SUPERTUX_SUPERTUX_CONSTANTS_HPP #define HEADER_SUPERTUX_SUPERTUX_CONSTANTS_HPP +#include + // the engine will be run with a logical framerate of 64fps. // We chose 64fps here because it is a power of 2, so 1/64 gives an "even" // binary fraction... @@ -28,6 +30,12 @@ static const float SHIFT_DELTA = 7.0f; // a small value... be careful as collision detection is very sensitive to it static const float EPSILON = .002f; +// The spawnpoint that gets activated at the start of a game session +static const std::string DEFAULT_SPAWNPOINT_NAME = "main"; + +// The sector that gets activated by default when a level is started +static const std::string DEFAULT_SECTOR_NAME = "main"; + #endif /* EOF */ diff --git a/src/supertux/error_handler.cpp b/src/supertux/error_handler.cpp index 92a1c11d0d3..9cc7d041292 100644 --- a/src/supertux/error_handler.cpp +++ b/src/supertux/error_handler.cpp @@ -21,9 +21,31 @@ // it has to be explicitly linked into the final executable. // This is a *libc* feature, not a compiler one; furthermore, it's possible // to verify its availability in CMakeLists.txt, if one is so inclined. -#ifdef __GLIBC__ + +#include +#include +#include + +#include + +#include + +#include "util/file_system.hpp" + +#if (defined(__unix__) || defined(__APPLE__)) && !(defined(__EMSCRIPTEN__)) +#define UNIX +#endif + +#ifdef WIN32 +#define WIN32_LEAN_AND_MEAN +#include +#include +//#include + +#pragma comment(lib, "DbgHelp.lib") +#elif defined(UNIX) +#include #include -#include #include #endif @@ -32,9 +54,133 @@ bool ErrorHandler::m_handing_error = false; void ErrorHandler::set_handlers() { -#ifdef __GLIBC__ signal(SIGSEGV, handle_error); signal(SIGABRT, handle_error); +} + +std::string +ErrorHandler::get_stacktrace() +{ +#ifdef WIN32 + std::stringstream stacktrace; + + // Initialize symbols + SymSetOptions(SYMOPT_UNDNAME | SYMOPT_DEFERRED_LOADS); + if (!SymInitialize(GetCurrentProcess(), NULL, TRUE)) + { + return ""; + } + + // Get current stack frame + void* stack[100]; + WORD frames = CaptureStackBackTrace(0, 100, stack, NULL); + + // Get symbols for each frame + SYMBOL_INFO* symbol = static_cast(std::calloc(sizeof(SYMBOL_INFO) + 256 * sizeof(char), 1)); + symbol->MaxNameLen = 255; + symbol->SizeOfStruct = sizeof(SYMBOL_INFO); + + for (int i = 0; i < frames; i++) + { + SymFromAddr(GetCurrentProcess(), (DWORD64) stack[i], 0, symbol); + stacktrace << symbol->Name << " - 0x" << std::hex << symbol->Address << "\n"; + } + + std::free(symbol); + SymCleanup(GetCurrentProcess()); + + return stacktrace.str(); +#elif defined(UNIX) + void* array[128]; + size_t size; + + // Get void*'s for all entries on the stack. + size = backtrace(array, 127); + + char** functions = backtrace_symbols(array, static_cast(size)); + if (functions == nullptr) + return ""; + + std::stringstream stacktrace; + + for (size_t i = 0; i < size; i++) + stacktrace << functions[i] << "\n"; + + std::free(functions); + + return stacktrace.str(); +#else + return ""; +#endif +} + +std::string +ErrorHandler::get_system_info() +{ +#ifdef WIN32 + + std::stringstream info; + +/* + // This method reports Windows 8 on my + // Windows 10 PC. Disabled. + if (IsWindows10OrGreater()) + info << "Windows 10/11"; + else if (IsWindows8Point1OrGreater()) + info << "Windows 8.1"; + else if (IsWindows8OrGreater()) + info << "Windows 8"; + else if (IsWindows7OrGreater()) + info << "Windows 7"; + else if (IsWindowsVistaOrGreater()) + info << "Windows Vista"; + else if (IsWindowsXPOrGreater()) + info << "Windows XP"; + else + info << "Windows"; + + info << " "; +*/ + + info << "Windows "; + + + SYSTEM_INFO sysinfo; + GetSystemInfo(&sysinfo); + + switch (sysinfo.wProcessorArchitecture) { + case PROCESSOR_ARCHITECTURE_AMD64: + info << "x64"; + break; + case PROCESSOR_ARCHITECTURE_ARM: + info << "ARM"; + break; + case PROCESSOR_ARCHITECTURE_ARM64: + info << "ARM64"; + break; + case PROCESSOR_ARCHITECTURE_IA64: + info << "Intel Itanium-based"; + break; + case PROCESSOR_ARCHITECTURE_INTEL: + info << "x86"; + break; + default: + break; + } + + return info.str(); + +#elif defined(UNIX) + struct utsname uts; + uname(&uts); + std::stringstream info; + info << uts.sysname << " " + << uts.release << " " + << uts.version << " " + << uts.machine; + return info.str(); +#else + return ""; #endif } @@ -49,33 +195,173 @@ ErrorHandler::handle_error(int sig) else { m_handing_error = true; + // Do not use external stuff (like log_fatal) to limit the risk of causing // another error, which would restart the handler again. - fprintf(stderr, "\nError: signal %d:\n", sig); - print_stack_trace(); + std::cerr << "\nError: signal " << sig << ":\n"; + + error_dialog_crash(get_stacktrace()); close_program(); } } void -ErrorHandler::print_stack_trace() +ErrorHandler::error_dialog_crash(const std::string& stacktrace) { -#ifdef __GLIBC__ - void *array[127]; - size_t size; + char msg[] = "SuperTux has encountered an unrecoverable error!"; - // Get void*'s for all entries on the stack. - size = backtrace(array, 127); + std::cerr << msg << "\n" << stacktrace << std::endl; + + SDL_MessageBoxButtonData btns[] = { + { + 0, // flags + 0, // buttonid + "Report" // text + }, + { + 0, // flags + 1, // buttonid + "Details" // text + }, + { + SDL_MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT, // flags + 2, // buttonid + "OK" // text + } + }; + + SDL_MessageBoxData data = { + SDL_MESSAGEBOX_ERROR, // flags + nullptr, // window + "Error", // title + msg, // message + SDL_arraysize(btns), // numbuttons + btns, // buttons + nullptr // colorscheme + }; + + int resultbtn; + SDL_ShowMessageBox(&data, &resultbtn); + + switch (resultbtn) + { + case 0: + report_error(stacktrace); + break; + + case 1: + { + SDL_MessageBoxButtonData detailsbtns[] = { + { + 0, // flags + 0, // buttonid + "Report" // text + }, + { + SDL_MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT, // flags + 1, // buttonid + "OK" // text + } + }; + + data = { + SDL_MESSAGEBOX_ERROR, // flags + nullptr, // window + "Error details", // title + stacktrace.c_str(), // message + SDL_arraysize(detailsbtns), // numbuttons + detailsbtns, // buttons + nullptr // colorscheme + }; + + SDL_ShowMessageBox(&data, &resultbtn); + + if (resultbtn == 0) + report_error(stacktrace); + + break; + } + + default: + break; + } +} - // Print out all the frames to stderr. - backtrace_symbols_fd(array, static_cast(size), STDERR_FILENO); +void +ErrorHandler::error_dialog_exception(const std::string& exception) +{ + std::stringstream stream; + + stream << "SuperTux has encountered a fatal exception!"; + + if (!exception.empty()) + { + stream << "\n\n" << exception; + } + + std::string msg = stream.str(); + + SDL_MessageBoxButtonData btns[] = { +#ifdef WIN32 + { + 0, // flags + 0, // buttonid + "Open log" // text + }, #endif + { + SDL_MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT, // flags + 1, // buttonid + "OK" // text + } + }; + + SDL_MessageBoxData data = { + SDL_MESSAGEBOX_ERROR, // flags + nullptr, // window + "Error", // title + msg.c_str(), // message + SDL_arraysize(btns), // numbuttons + btns, // buttons + nullptr // colorscheme + }; + + int resultbtn; + SDL_ShowMessageBox(&data, &resultbtn); + +#ifdef WIN32 + if (resultbtn == 0) + { + // Repurpose the stream. + stream.str(""); + + stream << SDL_GetPrefPath("SuperTux", "supertux2") + << "/console.err"; + FileSystem::open_path(stream.str()); + } +#endif +} + +void +ErrorHandler::report_error(const std::string& details) +{ + std::stringstream url; + + // cppcheck-suppress unknownMacro + url << "https://github.com/supertux/supertux/issues/new" + "?template=crash.yml" + "&labels=type:crash,status:needs-confirmation" + "&supertux-version=" << FileSystem::escape_url(PACKAGE_VERSION) << + "&system-info=" << FileSystem::escape_url(get_system_info()) << + "&debug-stacktrace=" << FileSystem::escape_url(details); + + FileSystem::open_url(url.str()); } [[ noreturn ]] void ErrorHandler::close_program() { - exit(10); + _Exit(10); } /* EOF */ diff --git a/src/supertux/error_handler.hpp b/src/supertux/error_handler.hpp index d7da8718821..83f3ff217b3 100644 --- a/src/supertux/error_handler.hpp +++ b/src/supertux/error_handler.hpp @@ -24,8 +24,14 @@ class ErrorHandler final public: static void set_handlers(); - static void print_stack_trace(); -private: + static std::string get_stacktrace(); + static std::string get_system_info(); + + static void error_dialog_crash(const std::string& stacktrace); + static void error_dialog_exception(const std::string& exception = ""); + + static void report_error(const std::string& details); + [[ noreturn ]] static void handle_error(int sig); [[ noreturn ]] static void close_program(); diff --git a/src/supertux/game_object_factory.cpp b/src/supertux/game_object_factory.cpp index 0a69db8f58a..9e49789709b 100644 --- a/src/supertux/game_object_factory.cpp +++ b/src/supertux/game_object_factory.cpp @@ -62,12 +62,12 @@ #include "badguy/snail.hpp" #include "badguy/snowball.hpp" #include "badguy/snowman.hpp" -#include "badguy/spidermite.hpp" #include "badguy/scrystallo.hpp" #include "badguy/spiky.hpp" #include "badguy/sspiky.hpp" #include "badguy/stalactite.hpp" #include "badguy/stumpy.hpp" +#include "badguy/tarantula.hpp" #include "badguy/toad.hpp" #include "badguy/totem.hpp" #include "badguy/viciousivy.hpp" @@ -170,10 +170,10 @@ GameObjectFactory::init_factories() add_factory("angrystone"); add_factory("bouncingsnowball", OBJ_PARAM_DISPENSABLE); add_factory("captainsnowball", OBJ_PARAM_DISPENSABLE); - add_type_factory("skullyhop", CorruptedGranito::SKULLYHOP); // backward compatibility + add_type_factory("skullyhop", CorruptedGranito::SKULLYHOP); // Backward compatibility add_factory("corrupted_granito", OBJ_PARAM_DISPENSABLE); add_factory("corrupted_granito_big", OBJ_PARAM_DISPENSABLE); - add_factory("icecrusher"); // backward compatibility + add_factory("icecrusher"); // Backward compatibility add_factory("crusher"); add_factory("crystallo", OBJ_PARAM_DISPENSABLE); add_factory("dart", OBJ_PARAM_DISPENSABLE); @@ -182,7 +182,7 @@ GameObjectFactory::init_factories() add_factory("dive-mine", OBJ_PARAM_DISPENSABLE); add_factory("fish-chasing", OBJ_PARAM_DISPENSABLE); add_factory("fish-harmless", OBJ_PARAM_DISPENSABLE); - add_factory("fish"); // backward compatibility + add_factory("fish"); // Backward compatibility add_factory("fish-jumping", OBJ_PARAM_DISPENSABLE); add_factory("fish-swimming", OBJ_PARAM_DISPENSABLE); add_factory("flame", OBJ_PARAM_DISPENSABLE); @@ -224,10 +224,11 @@ GameObjectFactory::init_factories() add_factory("snail", OBJ_PARAM_PORTABLE | OBJ_PARAM_DISPENSABLE); add_factory("snowball", OBJ_PARAM_DISPENSABLE); add_factory("snowman", OBJ_PARAM_DISPENSABLE); - add_factory("spidermite", OBJ_PARAM_DISPENSABLE); add_factory("spiky", OBJ_PARAM_DISPENSABLE); add_factory("stalactite", OBJ_PARAM_DISPENSABLE); add_factory("stumpy", OBJ_PARAM_DISPENSABLE); + add_factory("spidermite"); // Backward compatibilty. + add_factory("tarantula", OBJ_PARAM_DISPENSABLE); add_factory("toad", OBJ_PARAM_DISPENSABLE); add_factory("totem", OBJ_PARAM_DISPENSABLE); add_factory("poisonivy"); // Backward compatibilty. diff --git a/src/supertux/game_session.cpp b/src/supertux/game_session.cpp index 416ba281669..ca88bc9f3f9 100644 --- a/src/supertux/game_session.cpp +++ b/src/supertux/game_session.cpp @@ -31,6 +31,7 @@ #include "object/player.hpp" #include "object/spawnpoint.hpp" #include "sdk/integration.hpp" +#include "supertux/constants.hpp" #include "supertux/fadetoblack.hpp" #include "supertux/gameconfig.hpp" #include "supertux/level.hpp" @@ -87,7 +88,7 @@ GameSession::GameSession(const std::string& levelfile_, Savegame& savegame, Stat m_current_cutscene_text(), m_endsequence_timer() { - set_start_point("main", "main"); + set_start_point(DEFAULT_SECTOR_NAME, DEFAULT_SPAWNPOINT_NAME); m_boni_at_start.resize(InputManager::current()->get_num_users(), NO_BONUS); m_max_fire_bullets_at_start.resize(InputManager::current()->get_num_users(), 0); @@ -431,6 +432,10 @@ GameSession::draw(Compositor& compositor) { auto& context = compositor.make_context(); + if (m_game_pause) { + context.set_time_offset(0.0f); + } + m_currentsector->draw(context); drawstatus(context); @@ -704,6 +709,7 @@ GameSession::respawn(const std::string& sector, const std::string& spawnpoint) m_newsector = sector; m_newspawnpoint = spawnpoint; m_spawn_with_invincibility = false; + m_spawn_fade_type = ScreenFade::FadeType::NONE; } void diff --git a/src/supertux/game_session.hpp b/src/supertux/game_session.hpp index a7da7997d78..bc0e4ddfe93 100644 --- a/src/supertux/game_session.hpp +++ b/src/supertux/game_session.hpp @@ -121,7 +121,7 @@ class GameSession final : public Screen, * resources for the current level/world */ std::string get_working_directory() const; - std::string get_level_file() const { return m_levelfile; } + const std::string& get_level_file() const { return m_levelfile; } bool has_active_sequence() const; int restart_level(bool after_death = false, bool preserve_music = false); diff --git a/src/supertux/gameconfig.cpp b/src/supertux/gameconfig.cpp index d09c8279b5f..8f1080d0621 100644 --- a/src/supertux/gameconfig.cpp +++ b/src/supertux/gameconfig.cpp @@ -51,7 +51,8 @@ Config::Config() : use_fullscreen(false), #endif video(VideoSystem::VIDEO_AUTO), - try_vsync(true), + vsync(1), + frame_prediction(false), show_fps(false), show_player_pos(false), show_controller(false), @@ -140,6 +141,7 @@ Config::load() auto config_mapping = root.get_mapping(); config_mapping.get("profile", profile); + config_mapping.get("frame_prediction", frame_prediction); config_mapping.get("show_fps", show_fps); config_mapping.get("show_player_pos", show_player_pos); config_mapping.get("show_controller", show_controller); @@ -260,7 +262,7 @@ Config::load() std::string video_string; config_video_mapping->get("video", video_string); video = VideoSystem::get_video_system(video_string); - config_video_mapping->get("vsync", try_vsync); + config_video_mapping->get("vsync", vsync); config_video_mapping->get("fullscreen_width", fullscreen_size.width); config_video_mapping->get("fullscreen_height", fullscreen_size.height); @@ -353,6 +355,7 @@ Config::save() writer.write("profile", profile); + writer.write("frame_prediction", frame_prediction); writer.write("show_fps", show_fps); writer.write("show_player_pos", show_player_pos); writer.write("show_controller", show_controller); @@ -416,7 +419,7 @@ Config::save() } else { writer.write("video", VideoSystem::get_video_string(video)); } - writer.write("vsync", try_vsync); + writer.write("vsync", vsync); writer.write("fullscreen_width", fullscreen_size.width); writer.write("fullscreen_height", fullscreen_size.height); diff --git a/src/supertux/gameconfig.hpp b/src/supertux/gameconfig.hpp index 83e96385997..f4ca84a408f 100644 --- a/src/supertux/gameconfig.hpp +++ b/src/supertux/gameconfig.hpp @@ -60,7 +60,8 @@ class Config final bool use_fullscreen; VideoSystem::Enum video; - bool try_vsync; + int vsync; + bool frame_prediction; bool show_fps; bool show_player_pos; bool show_controller; diff --git a/src/supertux/level.cpp b/src/supertux/level.cpp index 514b43e07b2..3847cde031a 100644 --- a/src/supertux/level.cpp +++ b/src/supertux/level.cpp @@ -26,6 +26,7 @@ #include "object/coin.hpp" #include "object/player.hpp" #include "physfs/util.hpp" +#include "supertux/constants.hpp" #include "supertux/game_session.hpp" #include "supertux/player_status_hud.hpp" #include "supertux/savegame.hpp" @@ -71,7 +72,7 @@ void Level::initialize() { // Get the "main" sector. - Sector* main_sector = get_sector("main"); + Sector* main_sector = get_sector(DEFAULT_SECTOR_NAME); if (!main_sector) throw std::runtime_error("No \"main\" sector found."); @@ -125,7 +126,7 @@ Level::save(const std::string& filepath, bool retry) { std::ostringstream msg; msg << "Couldn't create directory for level '" - << dirname << "': " < get_players() const; - std::string get_tileset() const { return m_tileset; } + const std::string& get_tileset() const { return m_tileset; } int get_total_coins() const; int get_total_badguys() const; @@ -67,7 +67,7 @@ class Level final bool is_worldmap() const { return m_is_worldmap; } - std::string get_license() const { return m_license; } + const std::string& get_license() const { return m_license; } private: void initialize(); diff --git a/src/supertux/level_parser.cpp b/src/supertux/level_parser.cpp index ca2a5f47b68..3b3b87874e5 100644 --- a/src/supertux/level_parser.cpp +++ b/src/supertux/level_parser.cpp @@ -19,6 +19,7 @@ #include #include +#include "supertux/constants.hpp" #include "supertux/level.hpp" #include "supertux/sector.hpp" #include "supertux/sector_parser.hpp" @@ -216,7 +217,7 @@ LevelParser::create(const std::string& filepath, const std::string& levelname) m_level.m_tileset = m_worldmap ? "images/ice_world.strf" : "images/tiles.strf"; auto sector = SectorParser::from_nothing(m_level); - sector->set_name("main"); + sector->set_name(DEFAULT_SECTOR_NAME); m_level.add_sector(std::move(sector)); } diff --git a/src/supertux/main.cpp b/src/supertux/main.cpp index 400d7faaede..d89cf671757 100644 --- a/src/supertux/main.cpp +++ b/src/supertux/main.cpp @@ -51,11 +51,13 @@ extern "C" { #include "object/spawnpoint.hpp" #include "physfs/physfs_file_system.hpp" #include "physfs/physfs_sdl.hpp" +#include "physfs/util.hpp" #include "port/emscripten.hpp" #include "sdk/integration.hpp" #include "sprite/sprite_data.hpp" #include "sprite/sprite_manager.hpp" #include "supertux/command_line_arguments.hpp" +#include "supertux/constants.hpp" #include "supertux/console.hpp" #include "supertux/error_handler.hpp" #include "supertux/game_manager.hpp" @@ -181,7 +183,7 @@ PhysfsSubsystem::PhysfsSubsystem(const char* argv0, if (!PHYSFS_init(argv0)) { std::stringstream msg; - msg << "Couldn't initialize physfs: " << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()); + msg << "Couldn't initialize physfs: " << physfsutil::get_last_error(); throw std::runtime_error(msg.str()); } else @@ -202,20 +204,20 @@ void PhysfsSubsystem::find_mount_datadir() // Android asset pack has a hardcoded prefix for data files, and PhysFS cannot strip it, so we mount an archive inside an archive if (!PHYSFS_mount(std::filesystem::canonical(assetpack).string().c_str(), nullptr, 1)) { - log_warning << "Couldn't add '" << assetpack << "' to physfs searchpath: " << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()) << std::endl; + log_warning << "Couldn't add '" << assetpack << "' to physfs searchpath: " << physfsutil::get_last_error() << std::endl; return; } PHYSFS_File* data = PHYSFS_openRead("assets/data.zip"); if (!data) { - log_warning << "Couldn't open assets/data.zip inside '" << assetpack << "' : " << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()) << std::endl; + log_warning << "Couldn't open assets/data.zip inside '" << assetpack << "' : " << physfsutil::get_last_error() << std::endl; return; } if (!PHYSFS_mountHandle(data, "assets/data.zip", nullptr, 1)) { - log_warning << "Couldn't add assets/data.zip inside '" << assetpack << "' to physfs searchpath: " << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()) << std::endl; + log_warning << "Couldn't add assets/data.zip inside '" << assetpack << "' to physfs searchpath: " << physfsutil::get_last_error() << std::endl; } return; @@ -261,12 +263,12 @@ void PhysfsSubsystem::find_mount_datadir() if (!PHYSFS_mount(std::filesystem::canonical(m_datadir).string().c_str(), nullptr, 1)) { - log_warning << "Couldn't add '" << m_datadir << "' to PhysFS searchpath: " << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()) << std::endl; + log_warning << "Couldn't add '" << m_datadir << "' to PhysFS searchpath: " << physfsutil::get_last_error() << std::endl; } #else if (!PHYSFS_mount(BUILD_CONFIG_DATA_DIR, nullptr, 1)) { - log_warning << "Couldn't add '" << BUILD_CONFIG_DATA_DIR << "' to PhysFS searchpath: " << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()) << std::endl; + log_warning << "Couldn't add '" << BUILD_CONFIG_DATA_DIR << "' to PhysFS searchpath: " << physfsutil::get_last_error() << std::endl; } #endif } @@ -286,7 +288,7 @@ void PhysfsSubsystem::remount_datadir_static() const if (FileSystem::exists(userdir_levels) && !PHYSFS_mount(userdir_levels.c_str(), "levels", 0)) { - log_warning << "Couldn't mount levels from the user directory '" << m_userdir << "' to PhysFS searchpath: " << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()) << std::endl; + log_warning << "Couldn't mount levels from the user directory '" << m_userdir << "' to PhysFS searchpath: " << physfsutil::get_last_error() << std::endl; } } @@ -295,12 +297,12 @@ void PhysfsSubsystem::add_data_to_search_path(const std::string& dir) const #ifndef __EMSCRIPTEN__ if (!PHYSFS_mount(FileSystem::join(std::filesystem::canonical(m_datadir).string(), dir).c_str(), dir.c_str(), 0)) { - log_warning << "Couldn't add '" << m_datadir << "/" << dir << "' to PhysFS searchpath: " << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()) << std::endl; + log_warning << "Couldn't add '" << m_datadir << "/" << dir << "' to PhysFS searchpath: " << physfsutil::get_last_error() << std::endl; } #else if (!PHYSFS_mount(FileSystem::join(BUILD_CONFIG_DATA_DIR, dir).c_str(), dir.c_str(), 0)) { - log_warning << "Couldn't add '" << BUILD_CONFIG_DATA_DIR << "/" << dir << "' to PhysFS searchpath: " << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()) << std::endl; + log_warning << "Couldn't add '" << BUILD_CONFIG_DATA_DIR << "/" << dir << "' to PhysFS searchpath: " << physfsutil::get_last_error() << std::endl; } #endif } @@ -395,13 +397,13 @@ if (FileSystem::is_directory(olduserdir)) { { std::ostringstream msg; msg << "Failed to use userdir directory '" - << m_userdir << "': errorcode: " << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()); + << m_userdir << "': errorcode: " << physfsutil::get_last_error(); throw std::runtime_error(msg.str()); } if (!PHYSFS_mount(m_userdir.c_str(), nullptr, 0)) { - log_warning << "Couldn't add user directory '" << m_userdir << "' to PhysFS searchpath: " << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()) << std::endl; + log_warning << "Couldn't add user directory '" << m_userdir << "' to PhysFS searchpath: " << physfsutil::get_last_error() << std::endl; } } @@ -614,7 +616,7 @@ Main::launch_game(const CommandLineArguments& args) if (args.sector || args.spawnpoint) { - std::string sectorname = args.sector.value_or("main"); + std::string sectorname = args.sector.value_or(DEFAULT_SECTOR_NAME); const auto& spawnpoints = session->get_current_sector().get_objects_by_type(); std::string default_spawnpoint = (spawnpoints.begin() != spawnpoints.end()) ? @@ -742,12 +744,15 @@ Main::run(int argc, char** argv) } catch(const std::exception& e) { - log_fatal << "Unexpected exception: " << e.what() << std::endl; + ErrorHandler::error_dialog_exception(e.what()); result = 1; } catch(...) { + /* log_fatal << "Unexpected exception" << std::endl; + */ + ErrorHandler::error_dialog_exception(); result = 1; } diff --git a/src/supertux/menu/download_dialog.cpp b/src/supertux/menu/download_dialog.cpp index 7a18b4ef7de..82ecc43e4dd 100644 --- a/src/supertux/menu/download_dialog.cpp +++ b/src/supertux/menu/download_dialog.cpp @@ -18,6 +18,7 @@ #include "supertux/menu/download_dialog.hpp" #include +#include #include "addon/downloader.hpp" @@ -55,7 +56,7 @@ DownloadDialog::DownloadDialog(TransferStatusListPtr statuses, bool auto_close, { if (m_error_msg) { - Dialog::show_message(_("Error:\n") + m_status->get_error()); + Dialog::show_message(fmt::format(fmt::runtime(_("Error:\n{}")), m_status->get_error())); } else { diff --git a/src/supertux/menu/editor_sector_menu.cpp b/src/supertux/menu/editor_sector_menu.cpp index 0a621998bb8..2813334a02f 100644 --- a/src/supertux/menu/editor_sector_menu.cpp +++ b/src/supertux/menu/editor_sector_menu.cpp @@ -22,14 +22,16 @@ #include "supertux/sector.hpp" #include "util/gettext.hpp" +#include + EditorSectorMenu::EditorSectorMenu() : sector(Editor::current()->get_sector()), original_name(sector->get_name()), size(sector->get_editor_size()), new_size(size), offset(0, 0) -{ - add_label(_("Sector") + " " + sector->get_name()); +{ + add_label(fmt::format(fmt::runtime(_("Sector {}")), sector->get_name())); add_hl(); add_textfield(_("Name"), §or->m_name); add_script(_("Initialization script"), §or->m_init_script); diff --git a/src/supertux/menu/keyboard_menu.cpp b/src/supertux/menu/keyboard_menu.cpp index fe18c1781b0..892e16e7a41 100644 --- a/src/supertux/menu/keyboard_menu.cpp +++ b/src/supertux/menu/keyboard_menu.cpp @@ -25,6 +25,8 @@ #include "supertux/globals.hpp" #include "util/gettext.hpp" +#include + KeyboardMenu::KeyboardMenu(InputManager& input_manager, int player_id) : m_input_manager(input_manager), m_player_id(player_id) @@ -58,7 +60,8 @@ KeyboardMenu::KeyboardMenu(InputManager& input_manager, int player_id) : { for (int id = 1; id < m_input_manager.get_num_users(); id++) { - add_entry(_("Player") + " " + std::to_string(id + 1), [&input_manager, id] { + add_entry(fmt::format(fmt::runtime(_("Player {}")), std::to_string(id + 1)), + [&input_manager, id] { MenuManager::instance().push_menu(std::make_unique(input_manager, id)); }); } diff --git a/src/supertux/menu/options_menu.cpp b/src/supertux/menu/options_menu.cpp index de42d99664f..a0a0eb34545 100644 --- a/src/supertux/menu/options_menu.cpp +++ b/src/supertux/menu/options_menu.cpp @@ -109,6 +109,9 @@ OptionsMenu::OptionsMenu(Type type, bool complete) : add_magnification(); add_vsync(); + add_toggle(MNID_FRAME_PREDICTION, _("Frame prediction"), &g_config->frame_prediction) + .set_help(_("Smooth camera motion, generating intermediate frames. This has a noticeable effect on monitors at >> 60Hz. Moving objects may be blurry.")); + #if !defined(HIDE_NONMOBILE_OPTIONS) && !defined(__EMSCRIPTEN__) add_aspect_ratio(); #endif @@ -644,22 +647,27 @@ OptionsMenu::menu_action(MenuItem& item) #endif case MNID_VSYNC: + { + int vsync = 0; switch (m_vsyncs.next) { case 2: - VideoSystem::current()->set_vsync(-1); + vsync = -1; break; case 1: - VideoSystem::current()->set_vsync(0); + vsync = 0; break; case 0: - VideoSystem::current()->set_vsync(1); + vsync = 1; break; default: assert(false); break; } - break; + g_config->vsync = vsync; + VideoSystem::current()->set_vsync(vsync); + } + break; case MNID_FULLSCREEN: VideoSystem::current()->apply_config(); diff --git a/src/supertux/menu/options_menu.hpp b/src/supertux/menu/options_menu.hpp index dee8b6a9bff..ae66d352866 100644 --- a/src/supertux/menu/options_menu.hpp +++ b/src/supertux/menu/options_menu.hpp @@ -65,6 +65,7 @@ class OptionsMenu final : public Menu MNID_MAGNIFICATION, MNID_ASPECTRATIO, MNID_VSYNC, + MNID_FRAME_PREDICTION, MNID_SOUND, MNID_MUSIC, MNID_SOUND_VOLUME, diff --git a/src/supertux/menu/worldmap_cheat_menu.cpp b/src/supertux/menu/worldmap_cheat_menu.cpp index 3bdc62d0646..7a061373873 100644 --- a/src/supertux/menu/worldmap_cheat_menu.cpp +++ b/src/supertux/menu/worldmap_cheat_menu.cpp @@ -18,6 +18,7 @@ #include "gui/menu_item.hpp" #include "gui/menu_manager.hpp" +#include "supertux/constants.hpp" #include "supertux/menu/menu_storage.hpp" #include "supertux/menu/worldmap_cheat_apply_menu.hpp" #include "supertux/player_status.hpp" @@ -152,7 +153,7 @@ WorldmapCheatMenu::menu_action(MenuItem& item) return; case MNID_MOVE_TO_MAIN: - worldmap_sector->move_to_spawnpoint("main"); + worldmap_sector->move_to_spawnpoint(DEFAULT_SPAWNPOINT_NAME); MenuManager::instance().clear_menu_stack(); break; } diff --git a/src/supertux/profile.cpp b/src/supertux/profile.cpp index d1b06feb493..3151aa8fd86 100644 --- a/src/supertux/profile.cpp +++ b/src/supertux/profile.cpp @@ -20,6 +20,7 @@ #include +#include "physfs/util.hpp" #include "util/log.hpp" #include "util/reader.hpp" #include "util/reader_document.hpp" @@ -84,7 +85,7 @@ Profile::create_basedir() { std::ostringstream msg; msg << "Couldn't create directory '" << basedir << "' for profile " << m_id << ":" - << PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode()); + << physfsutil::get_last_error(); throw std::runtime_error(msg.str()); } } diff --git a/src/supertux/profile.hpp b/src/supertux/profile.hpp index a25d6c7729a..0224fe27082 100644 --- a/src/supertux/profile.hpp +++ b/src/supertux/profile.hpp @@ -36,8 +36,8 @@ class Profile final std::string get_basedir() const; int get_id() const { return m_id; } - std::string get_name() const { return m_name; } - std::string get_last_world() const { return m_last_world; } + const std::string& get_name() const { return m_name; } + const std::string& get_last_world() const { return m_last_world; } void set_name(const std::string& name) { m_name = name; } void set_last_world(const std::string& world) { m_last_world = world; } diff --git a/src/supertux/resources.cpp b/src/supertux/resources.cpp index f0dfbc83094..18f779888ed 100644 --- a/src/supertux/resources.cpp +++ b/src/supertux/resources.cpp @@ -66,7 +66,7 @@ Resources::load() } else { - console_font.reset(new TTFFont("fonts/SuperTux-Medium.ttf", 12, 1.25f, 0, 1)); + console_font.reset(new TTFFont("fonts/SourceCodePro-Medium.ttf", 12, 1.25f, 0, 1)); auto font = get_font_for_locale(g_dictionary_manager->get_language()); if(font != current_font) diff --git a/src/supertux/screen_manager.cpp b/src/supertux/screen_manager.cpp index 857ddcd48dc..3f3bdd269cc 100644 --- a/src/supertux/screen_manager.cpp +++ b/src/supertux/screen_manager.cpp @@ -575,7 +575,9 @@ void ScreenManager::loop_iter() elapsed_ticks = 0; } - if (elapsed_ticks < ms_per_step && !g_debug.draw_redundant_frames) { + bool always_draw = g_debug.draw_redundant_frames || g_config->frame_prediction; + + if (elapsed_ticks < ms_per_step && !always_draw) { // Sleep a bit because not enough time has passed since the previous // logical game step SDL_Delay(ms_per_step - elapsed_ticks); @@ -626,10 +628,16 @@ void ScreenManager::loop_iter() elapsed_ticks -= ms_per_step; } + // When the game is laggy, real time may be >1 step after the game time + // To avoid predicting positions too far ahead, when using frame prediction, + // limit the draw time offset to at most one step. + Uint32 tick_offset = std::min(elapsed_ticks, ms_per_step); + float time_offset = m_speed * speed_multiplier * static_cast(tick_offset) / 1000.0f; + if ((steps > 0 && !m_screen_stack.empty()) - || g_debug.draw_redundant_frames) { + || always_draw) { // Draw a frame - Compositor compositor(m_video_system); + Compositor compositor(m_video_system, g_config->frame_prediction ? time_offset : 0.0f); draw(compositor, *m_fps_statistics); m_fps_statistics->report_frame(); } diff --git a/src/supertux/sector.cpp b/src/supertux/sector.cpp index 85ff162f7b5..a9d841ba91f 100644 --- a/src/supertux/sector.cpp +++ b/src/supertux/sector.cpp @@ -200,8 +200,8 @@ Sector::activate(const std::string& spawnpoint) if (!sp) { if (!m_level.is_worldmap()) log_warning << "Spawnpoint '" << spawnpoint << "' not found." << std::endl; - if (spawnpoint != "main") { - activate("main"); + if (spawnpoint != DEFAULT_SPAWNPOINT_NAME) { + activate(DEFAULT_SPAWNPOINT_NAME); } else { activate(Vector(0, 0)); } @@ -288,6 +288,9 @@ Sector::activate(const Vector& player_pos) if (!m_init_script.empty() && !Editor::is_active()) { run_script(m_init_script, "init-script"); } + + // Do not interpolate camera after it has been warped + pause_camera_interpolation(); } void @@ -372,6 +375,12 @@ Sector::update(float dt_sec) BIND_SECTOR(*this); + // Record last camera parameters, to allow for camera interpolation + Camera& camera = get_camera(); + m_last_scale = camera.get_current_scale(); + m_last_translation = camera.get_translation(); + m_last_dt = dt_sec; + m_squirrel_environment->update(dt_sec); GameObjectManager::update(dt_sec); @@ -489,8 +498,21 @@ Sector::draw(DrawingContext& context) context.push_transform(); Camera& camera = get_camera(); - context.set_translation(camera.get_translation()); - context.scale(camera.get_current_scale()); + + if (g_config->frame_prediction && m_last_dt > 0.f) { + // Interpolate between two camera settings; there are many possible ways to do this, but on + // short time scales all look about the same. This delays the camera position by one frame. + // (The proper thing to do, of course, would be not to interpolate, but instead to adjust + // the Camera class to extrapolate, and provide scale/translation at a given time; done + // right, this would make it possible to, for example, exactly sinusoidally shake the + // camera instead of piecewise linearly.) + float x = std::min(1.f, context.get_time_offset() / m_last_dt); + context.set_translation(camera.get_translation() * x + (1 - x) * m_last_translation); + context.scale(camera.get_current_scale() * x + (1 - x) * m_last_scale); + } else { + context.set_translation(camera.get_translation()); + context.scale(camera.get_current_scale()); + } GameObjectManager::draw(context); @@ -707,6 +729,12 @@ Sector::stop_looping_sounds() } } +void +Sector::pause_camera_interpolation() +{ + m_last_dt = 0.; +} + void Sector::play_looping_sounds() { for (const auto& object : get_objects()) { diff --git a/src/supertux/sector.hpp b/src/supertux/sector.hpp index 4269a5de8fe..a4d342d6c31 100644 --- a/src/supertux/sector.hpp +++ b/src/supertux/sector.hpp @@ -88,6 +88,9 @@ class Sector final : public Base::Sector /** stops all looping sounds in whole sector. */ void stop_looping_sounds(); + /** Freeze camera position for this frame, preventing camera interpolation jumps and loops */ + void pause_camera_interpolation(); + /** continues the looping sounds in whole sector. */ void play_looping_sounds(); @@ -181,6 +184,10 @@ class Sector final : public Base::Sector TextObject& m_text_object; + Vector m_last_translation; // For camera interpolation at high frame rates + float m_last_scale; + float m_last_dt; + private: Sector(const Sector&) = delete; Sector& operator=(const Sector&) = delete; diff --git a/src/supertux/sector_parser.cpp b/src/supertux/sector_parser.cpp index 45229011c39..43fb63190fe 100644 --- a/src/supertux/sector_parser.cpp +++ b/src/supertux/sector_parser.cpp @@ -35,6 +35,7 @@ #include "object/snow_particle_system.hpp" #include "object/spawnpoint.hpp" #include "object/tilemap.hpp" +#include "supertux/constants.hpp" #include "supertux/game_object_factory.hpp" #include "supertux/level.hpp" #include "supertux/sector.hpp" @@ -174,7 +175,7 @@ SectorParser::parse(const ReaderMapping& reader) void SectorParser::parse_old_format(const ReaderMapping& reader) { - m_sector.set_name("main"); + m_sector.set_name(DEFAULT_SECTOR_NAME); auto sector = dynamic_cast(&m_sector); if (sector) @@ -241,7 +242,7 @@ SectorParser::parse_old_format(const ReaderMapping& reader) reader.get("start_pos_x", startpos.x); reader.get("start_pos_y", startpos.y); - m_sector.add("main", startpos); + m_sector.add(DEFAULT_SPAWNPOINT_NAME, startpos); m_sector.add().set_music("music/chipdisko.ogg"); // skip reading music filename. It's all .ogg now, anyway @@ -295,7 +296,7 @@ SectorParser::parse_old_format(const ReaderMapping& reader) Vector sp_pos(0.0f, 0.0f); if (reader.get("x", sp_pos.x) && reader.get("y", sp_pos.y)) { - m_sector.add("main", sp_pos); + m_sector.add(DEFAULT_SPAWNPOINT_NAME, sp_pos); } } else { log_warning << "Unknown token '" << iter.get_key() << "' in reset-points." << std::endl; @@ -372,9 +373,9 @@ SectorParser::create_sector() intact.set_solid(true); if (m_sector.in_worldmap()) { - m_sector.add("main", Vector(4, 4)); + m_sector.add(DEFAULT_SPAWNPOINT_NAME, Vector(4, 4)); } else { - m_sector.add("main", Vector(64, 480)); + m_sector.add(DEFAULT_SPAWNPOINT_NAME, Vector(64, 480)); } m_sector.add("Camera"); diff --git a/src/supertux/title_screen.cpp b/src/supertux/title_screen.cpp index 32c40ffe93d..abaed5402e2 100644 --- a/src/supertux/title_screen.cpp +++ b/src/supertux/title_screen.cpp @@ -25,6 +25,7 @@ #include "object/music_object.hpp" #include "object/player.hpp" #include "sdk/integration.hpp" +#include "supertux/constants.hpp" #include "supertux/gameconfig.hpp" #include "supertux/game_session.hpp" #include "supertux/globals.hpp" @@ -258,7 +259,7 @@ TitleScreen::update_level(float dt_sec) // Wrap around at the end of the level back to the beginning if (sector.get_width() - 320.f < player.get_pos().x) { - sector.activate("main"); + sector.activate(DEFAULT_SECTOR_NAME); sector.get_camera().reset(player.get_pos()); } } diff --git a/src/supertux/world.cpp b/src/supertux/world.cpp index 76e9b8dd4b6..37d59ebface 100644 --- a/src/supertux/world.cpp +++ b/src/supertux/world.cpp @@ -129,7 +129,7 @@ World::save(bool retry) { std::ostringstream msg; msg << "Couldn't create directory for levelset '" - << dirname << "': " <developer_mode; } bool is_levelset() const { return m_is_levelset; } bool is_worldmap() const { return !m_is_levelset; } - std::string get_contrib_type() const { return m_contrib_type; } - std::string get_title_level() const { return m_title_level; } + const std::string& get_contrib_type() const { return m_contrib_type; } + const std::string& get_title_level() const { return m_title_level; } std::string get_worldmap_filename() const; diff --git a/src/trigger/switch.cpp b/src/trigger/switch.cpp index 53250d1ee19..7550fa1ce0e 100644 --- a/src/trigger/switch.cpp +++ b/src/trigger/switch.cpp @@ -29,7 +29,7 @@ namespace { } // namespace Switch::Switch(const ReaderMapping& reader) : - SpritedTrigger(reader, "images/objects/switch/switch.sprite"), + StickyTrigger(reader, "images/objects/switch/switch.sprite"), m_script(), m_off_script(), m_state(OFF), @@ -45,6 +45,7 @@ Switch::Switch(const ReaderMapping& reader) : set_action("off", m_dir); reader.get("script", m_script); + reader.get("sticky", m_sticky, false); m_bistable = reader.get("off-script", m_off_script); SoundManager::current()->preload(SWITCH_SOUND); @@ -57,7 +58,7 @@ Switch::~Switch() ObjectSettings Switch::get_settings() { - ObjectSettings result = SpritedTrigger::get_settings(); + ObjectSettings result = StickyTrigger::get_settings(); result.add_direction(_("Direction"), &m_dir, { Direction::NONE, Direction::LEFT, Direction::RIGHT, Direction::UP, Direction::DOWN }, "direction"); @@ -65,14 +66,17 @@ Switch::get_settings() result.add_script(_("Turn on script"), &m_script, "script"); result.add_script(_("Turn off script"), &m_off_script, "off-script"); - result.reorder({"direction", "script", "off-script", "sprite", "x", "y"}); + result.reorder({"direction", "script", "off-script", "sticky", "sprite", "x", "y"}); return result; } void -Switch::update(float ) +Switch::update(float dt_sec) { + if (m_sticky && m_dir != Direction::NONE) + StickyObject::update(dt_sec); + switch (m_state) { case OFF: break; @@ -135,7 +139,7 @@ Switch::event(Player& , EventType type) void Switch::after_editor_set() { - SpritedTrigger::after_editor_set(); + StickyTrigger::after_editor_set(); set_action("off", m_dir); } @@ -143,7 +147,7 @@ Switch::after_editor_set() void Switch::on_flip(float height) { - SpritedTrigger::on_flip(height); + StickyTrigger::on_flip(height); FlipLevelTransformer::transform_flip(m_flip); } diff --git a/src/trigger/switch.hpp b/src/trigger/switch.hpp index 7ad70c5bf1b..0a09d06eb73 100644 --- a/src/trigger/switch.hpp +++ b/src/trigger/switch.hpp @@ -19,7 +19,7 @@ #include "trigger/trigger_base.hpp" -class Switch final : public SpritedTrigger +class Switch final : public StickyTrigger { public: Switch(const ReaderMapping& reader); diff --git a/src/trigger/trigger_base.cpp b/src/trigger/trigger_base.cpp index 9e0a3af2177..2e3c403716a 100644 --- a/src/trigger/trigger_base.cpp +++ b/src/trigger/trigger_base.cpp @@ -95,4 +95,10 @@ SpritedTrigger::SpritedTrigger(const ReaderMapping& reader, const std::string& s { } + +StickyTrigger::StickyTrigger(const ReaderMapping& reader, const std::string& sprite_name) : + StickyObject(reader, sprite_name, LAYER_TILES + 1, COLGROUP_TOUCHABLE) +{ +} + /* EOF */ diff --git a/src/trigger/trigger_base.hpp b/src/trigger/trigger_base.hpp index 8a8941d9776..211df6fdc28 100644 --- a/src/trigger/trigger_base.hpp +++ b/src/trigger/trigger_base.hpp @@ -17,7 +17,7 @@ #ifndef HEADER_SUPERTUX_TRIGGER_TRIGGER_BASE_HPP #define HEADER_SUPERTUX_TRIGGER_TRIGGER_BASE_HPP -#include "object/moving_sprite.hpp" +#include "object/sticky_object.hpp" #include "supertux/moving_object.hpp" #include "supertux/object_remove_listener.hpp" @@ -106,6 +106,28 @@ class SpritedTrigger : public MovingSprite, SpritedTrigger& operator=(const SpritedTrigger&) = delete; }; + +class StickyTrigger : public StickyObject, + public TriggerBase +{ +public: + StickyTrigger(const ReaderMapping& reader, const std::string& sprite_name); + + virtual void update(float dt_sec) override + { + StickyObject::update(dt_sec); + TriggerBase::update(); + } + virtual HitResponse collision(GameObject& other, const CollisionHit& hit) override + { + return TriggerBase::collision(other, hit); + } + +private: + StickyTrigger(const StickyTrigger&) = delete; + StickyTrigger& operator=(const StickyTrigger&) = delete; +}; + #endif /* EOF */ diff --git a/src/util/file_system.cpp b/src/util/file_system.cpp index ca71fc42ec8..ba21d9475f1 100644 --- a/src/util/file_system.cpp +++ b/src/util/file_system.cpp @@ -31,6 +31,8 @@ #ifdef __EMSCRIPTEN__ #include #include +#else +#include #endif #include @@ -230,6 +232,22 @@ void open_path(const std::string& path) #endif } +std::string escape_url(const std::string& url) +{ +#ifndef __EMSCRIPTEN__ + std::string result = url; + char *output = curl_easy_escape(nullptr, url.c_str(), static_cast(url.length())); + if(output) { + result = std::string(output); + curl_free(output); + } + + return result; +#else + return emscripten_run_script_string(("encodeURIComponent(" + url + ")").c_str()); +#endif +} + void open_url(const std::string& url) { #if SDL_VERSION_ATLEAST(2,0,14) diff --git a/src/util/file_system.hpp b/src/util/file_system.hpp index d08a72c34cf..4083288a8b6 100644 --- a/src/util/file_system.hpp +++ b/src/util/file_system.hpp @@ -56,6 +56,9 @@ std::string normalize(const std::string& filename); /** join two filenames join("foo", "bar") -> "foo/bar" */ std::string join(const std::string& lhs, const std::string& rhs); +/** Escapes path components */ +std::string escape_url(const std::string& url); + /** Remove a file @return true when successfully removed, false otherwise */ bool remove(const std::string& path); diff --git a/src/util/reader_document.cpp b/src/util/reader_document.cpp index d5633f021e2..41a00eefb03 100644 --- a/src/util/reader_document.cpp +++ b/src/util/reader_document.cpp @@ -57,7 +57,7 @@ ReaderDocument::get_root() const return ReaderObject(*this, m_sx); } -std::string +const std::string& ReaderDocument::get_filename() const { return m_filename; diff --git a/src/util/reader_document.hpp b/src/util/reader_document.hpp index 264571dcb5b..8438dda5841 100644 --- a/src/util/reader_document.hpp +++ b/src/util/reader_document.hpp @@ -37,7 +37,7 @@ class ReaderDocument final ReaderObject get_root() const; /** Returns the filename of the document */ - std::string get_filename() const; + const std::string& get_filename() const; /** Returns the directory of the document */ std::string get_directory() const; diff --git a/src/video/compositor.cpp b/src/video/compositor.cpp index bda9f08e6cf..c6c07f83db6 100644 --- a/src/video/compositor.cpp +++ b/src/video/compositor.cpp @@ -26,10 +26,11 @@ bool Compositor::s_render_lighting = true; -Compositor::Compositor(VideoSystem& video_system) : +Compositor::Compositor(VideoSystem& video_system, float time_offset) : m_video_system(video_system), m_obst(), - m_drawing_contexts() + m_drawing_contexts(), + m_time_offset(time_offset) { obstack_init(&m_obst); } @@ -43,7 +44,7 @@ Compositor::~Compositor() DrawingContext& Compositor::make_context(bool overlay) { - m_drawing_contexts.emplace_back(new DrawingContext(m_video_system, m_obst, overlay)); + m_drawing_contexts.emplace_back(new DrawingContext(m_video_system, m_obst, overlay, m_time_offset)); return *m_drawing_contexts.back(); } diff --git a/src/video/compositor.hpp b/src/video/compositor.hpp index 86405e09f30..5d2f1c9b006 100644 --- a/src/video/compositor.hpp +++ b/src/video/compositor.hpp @@ -33,7 +33,7 @@ class Compositor final static bool s_render_lighting; public: - Compositor(VideoSystem& video_system); + Compositor(VideoSystem& video_system, float time_offset); ~Compositor(); void render(); @@ -52,6 +52,8 @@ class Compositor final std::vector > m_drawing_contexts; + float m_time_offset; + private: Compositor(const Compositor&) = delete; Compositor& operator=(const Compositor&) = delete; diff --git a/src/video/drawing_context.cpp b/src/video/drawing_context.cpp index 6a753f2761c..c33a6d6570f 100644 --- a/src/video/drawing_context.cpp +++ b/src/video/drawing_context.cpp @@ -26,14 +26,15 @@ #include "video/video_system.hpp" #include "video/viewport.hpp" -DrawingContext::DrawingContext(VideoSystem& video_system_, obstack& obst, bool overlay) : +DrawingContext::DrawingContext(VideoSystem& video_system_, obstack& obst, bool overlay, float time_offset) : m_video_system(video_system_), m_obst(obst), m_overlay(overlay), m_ambient_color(Color::WHITE), m_transform_stack({ DrawingTransform(m_video_system.get_viewport()) }), m_colormap_canvas(*this, m_obst), - m_lightmap_canvas(*this, m_obst) + m_lightmap_canvas(*this, m_obst), + m_time_offset(time_offset) { } diff --git a/src/video/drawing_context.hpp b/src/video/drawing_context.hpp index 53a394afaa2..ad250db5756 100644 --- a/src/video/drawing_context.hpp +++ b/src/video/drawing_context.hpp @@ -42,7 +42,7 @@ struct obstack; class DrawingContext final { public: - DrawingContext(VideoSystem& video_system, obstack& obst, bool overlay); + DrawingContext(VideoSystem& video_system, obstack& obst, bool overlay, float time_offset); ~DrawingContext(); /** Returns the visible area in world coordinates */ @@ -86,6 +86,10 @@ class DrawingContext final void set_alpha(float alpha); float get_alpha() const; + /** For position extrapolation at high frame rates: real time since last game update step */ + void set_time_offset(float time_offset) { m_time_offset = time_offset; } + float get_time_offset() const { return m_time_offset; } + void clear() { m_lightmap_canvas.clear(); @@ -128,6 +132,8 @@ class DrawingContext final Canvas m_colormap_canvas; Canvas m_lightmap_canvas; + float m_time_offset; + private: DrawingContext(const DrawingContext&) = delete; DrawingContext& operator=(const DrawingContext&) = delete; diff --git a/src/video/gl/gl33core_context.cpp b/src/video/gl/gl33core_context.cpp index fd3c78a19cb..a65dfaa0f86 100644 --- a/src/video/gl/gl33core_context.cpp +++ b/src/video/gl/gl33core_context.cpp @@ -68,12 +68,12 @@ GL33CoreContext::bind() if (back_renderer->is_rendering() || !back_renderer->get_texture()) { texture = m_black_texture.get(); - glUniform1f(m_program->get_uniform_location("backbuffer"), 0.0f); + glUniform1f(m_program->get_backbuffer_location(), 0.0f); } else { texture = static_cast(back_renderer->get_texture().get()); - glUniform1f(m_program->get_uniform_location("backbuffer"), 1.0f); + glUniform1f(m_program->get_backbuffer_location(), 1.0f); } glActiveTexture(GL_TEXTURE2); @@ -99,14 +99,14 @@ GL33CoreContext::bind() 0.0, sy, 0, tx, ty, 1.0, }; - glUniformMatrix3fv(m_program->get_uniform_location("fragcoord2uv"), + glUniformMatrix3fv(m_program->get_fragcoord2uv_location(), 1, false, matrix); - glUniform1i(m_program->get_uniform_location("diffuse_texture"), 0); - glUniform1i(m_program->get_uniform_location("displacement_texture"), 1); - glUniform1i(m_program->get_uniform_location("framebuffer_texture"), 2); + glUniform1i(m_program->get_diffuse_texture_location(), 0); + glUniform1i(m_program->get_displacement_texture_location(), 1); + glUniform1i(m_program->get_framebuffer_texture_location(), 2); - glUniform1f(m_program->get_uniform_location("game_time"), g_game_time); + glUniform1f(m_program->get_game_time_location(), g_game_time); assert_gl(); } @@ -128,7 +128,7 @@ GL33CoreContext::ortho(float width, float height, bool vflip) 0, 0, 1 }; - const GLint mvp_loc = m_program->get_uniform_location("modelviewprojection"); + const GLint mvp_loc = m_program->get_modelviewprojection_location(); glUniformMatrix3fv(mvp_loc, 1, false, mvp_matrix); assert_gl(); @@ -196,7 +196,7 @@ GL33CoreContext::bind_texture(const Texture& texture, const Texture* displacemen animate.x /= static_cast(texture.get_image_width()); animate.y /= static_cast(texture.get_image_height()); - glUniform2f(m_program->get_uniform_location("animate"), animate.x, animate.y); + glUniform2f(m_program->get_animate_location(), animate.x, animate.y); } if (displacement_texture) @@ -209,7 +209,7 @@ GL33CoreContext::bind_texture(const Texture& texture, const Texture* displacemen animate.x /= static_cast(displacement_texture->get_image_width()); animate.y /= static_cast(displacement_texture->get_image_height()); - glUniform2f(m_program->get_uniform_location("displacement_animate"), animate.x, animate.y); + glUniform2f(m_program->get_displacement_animate_location(), animate.x, animate.y); } else { diff --git a/src/video/gl/gl_program.cpp b/src/video/gl/gl_program.cpp index 174136dec57..a7ed919680d 100644 --- a/src/video/gl/gl_program.cpp +++ b/src/video/gl/gl_program.cpp @@ -18,13 +18,24 @@ #include -#include "util/log.hpp" #include "video/glutil.hpp" GLProgram::GLProgram() : m_program(glCreateProgram()), m_frag_shader(), - m_vert_shader() + m_vert_shader(), + m_backbuffer_location(-1), + m_fragcoord2uv_location(-1), + m_diffuse_texture_location(-1), + m_displacement_texture_location(-1), + m_framebuffer_texture_location(-1), + m_game_time_location(-1), + m_modelviewprojection_location(-1), + m_animate_location(-1), + m_displacement_animate_location(-1), + m_position_location(-1), + m_texcoord_location(-1), + m_diffuse_location(-1) { assert_gl(); @@ -49,6 +60,21 @@ GLProgram::GLProgram() : throw std::runtime_error(out.str()); } + // Any uniform/attribute not in m_program will be given a value of -1, + // and an error will be reported if code attempts to use it + m_backbuffer_location = glGetUniformLocation(m_program, "backbuffer"); + m_fragcoord2uv_location = glGetUniformLocation(m_program, "fragcoord2uv"); + m_diffuse_texture_location = glGetUniformLocation(m_program, "diffuse_texture"); + m_displacement_texture_location = glGetUniformLocation(m_program, "displacement_texture"); + m_framebuffer_texture_location = glGetUniformLocation(m_program, "framebuffer_texture"); + m_game_time_location = glGetUniformLocation(m_program, "game_time"); + m_modelviewprojection_location = glGetUniformLocation(m_program, "modelviewprojection"); + m_animate_location = glGetUniformLocation(m_program, "animate"); + m_displacement_animate_location = glGetUniformLocation(m_program, "displacement_animate"); + m_position_location = glGetAttribLocation(m_program, "position"); + m_texcoord_location = glGetAttribLocation(m_program, "texcoord"); + m_diffuse_location = glGetAttribLocation(m_program, "diffuse"); + assert_gl(); } @@ -86,34 +112,14 @@ GLProgram::validate() } GLint -GLProgram::get_attrib_location(const char* name) const +GLProgram::check_valid(GLint loc, const char* name) { - assert_gl(); - - GLint loc = glGetAttribLocation(m_program, name); if (loc == -1) { - log_debug << "GLProgram::get_attrib_location(\"" << name << "\") failed" << std::endl; - } - - assert_gl(); - - return loc; -} - -GLint -GLProgram::get_uniform_location(const char* name) const -{ - assert_gl(); - - GLint loc = glGetUniformLocation(m_program, name); - if (loc == -1) - { - log_debug << "GLProgram::get_uniform_location(\"" << name << "\") failed" << std::endl; + std::ostringstream out; + out << "Getting uniform or attribute location for \"" << name << "\" failed" << std::endl; + throw std::runtime_error(out.str()); } - - assert_gl(); - return loc; } diff --git a/src/video/gl/gl_program.hpp b/src/video/gl/gl_program.hpp index ac1b5618ce3..e62a20b1260 100644 --- a/src/video/gl/gl_program.hpp +++ b/src/video/gl/gl_program.hpp @@ -34,13 +34,24 @@ class GLProgram final GLuint get_handle() const { return m_program; } - GLint get_attrib_location(const char* name) const; - GLint get_uniform_location(const char* name) const; + GLint get_backbuffer_location() const { return check_valid(m_backbuffer_location, "backbuffer"); } + GLint get_fragcoord2uv_location() const { return check_valid(m_fragcoord2uv_location, "fragcoord2uv"); } + GLint get_diffuse_texture_location() const { return check_valid(m_diffuse_texture_location, "diffuse_texture"); } + GLint get_displacement_texture_location() const { return check_valid(m_displacement_texture_location, "displacement_texture"); } + GLint get_framebuffer_texture_location() const { return check_valid(m_framebuffer_texture_location, "framebuffer_texture"); } + GLint get_game_time_location() const { return check_valid(m_game_time_location, "game_time"); } + GLint get_modelviewprojection_location() const { return check_valid(m_modelviewprojection_location, "modelviewprojection"); } + GLint get_animate_location() const { return check_valid(m_animate_location, "animate"); } + GLint get_displacement_animate_location() const { return check_valid(m_displacement_animate_location, "displacement_animate"); } + GLint get_position_location() const { return check_valid(m_position_location, "position"); } + GLint get_texcoord_location() const { return check_valid(m_texcoord_location, "texcoord"); } + GLint get_diffuse_location() const { return check_valid(m_diffuse_location, "diffuse"); } private: bool get_link_status() const; bool get_validate_status() const; std::string get_info_log() const; + static GLint check_valid(GLint location, const char* name); private: GLuint m_program; @@ -48,6 +59,19 @@ class GLProgram final std::unique_ptr m_frag_shader; std::unique_ptr m_vert_shader; + GLint m_backbuffer_location; + GLint m_fragcoord2uv_location; + GLint m_diffuse_texture_location; + GLint m_displacement_texture_location; + GLint m_framebuffer_texture_location; + GLint m_game_time_location; + GLint m_modelviewprojection_location; + GLint m_animate_location; + GLint m_displacement_animate_location; + GLint m_position_location; + GLint m_texcoord_location; + GLint m_diffuse_location; + private: GLProgram(const GLProgram&) = delete; GLProgram& operator=(const GLProgram&) = delete; diff --git a/src/video/gl/gl_vertex_arrays.cpp b/src/video/gl/gl_vertex_arrays.cpp index 7d489972605..ead5fd1a004 100644 --- a/src/video/gl/gl_vertex_arrays.cpp +++ b/src/video/gl/gl_vertex_arrays.cpp @@ -65,7 +65,7 @@ GLVertexArrays::set_positions(const float* data, size_t size) glBindBuffer(GL_ARRAY_BUFFER, m_positions_buffer); glBufferData(GL_ARRAY_BUFFER, size, data, GL_DYNAMIC_DRAW); - int loc = m_context.get_program().get_attrib_location("position"); + int loc = m_context.get_program().get_position_location(); glVertexAttribPointer(loc, 2, GL_FLOAT, GL_FALSE, 0, nullptr); glEnableVertexAttribArray(loc); @@ -80,7 +80,7 @@ GLVertexArrays::set_texcoords(const float* data, size_t size) glBindBuffer(GL_ARRAY_BUFFER, m_texcoords_buffer); glBufferData(GL_ARRAY_BUFFER, size, data, GL_DYNAMIC_DRAW); - int loc = m_context.get_program().get_attrib_location("texcoord"); + int loc = m_context.get_program().get_texcoord_location(); glVertexAttribPointer(loc, 2, GL_FLOAT, GL_FALSE, 0, nullptr); glEnableVertexAttribArray(loc); @@ -92,7 +92,7 @@ GLVertexArrays::set_texcoord(float u, float v) { assert_gl(); - int loc = m_context.get_program().get_attrib_location("texcoord"); + int loc = m_context.get_program().get_texcoord_location(); glVertexAttrib2f(loc, u, v); glDisableVertexAttribArray(loc); @@ -107,7 +107,7 @@ GLVertexArrays::set_colors(const float* data, size_t size) glBindBuffer(GL_ARRAY_BUFFER, m_color_buffer); glBufferData(GL_ARRAY_BUFFER, size, data, GL_DYNAMIC_DRAW); - int loc = m_context.get_program().get_attrib_location("diffuse"); + int loc = m_context.get_program().get_diffuse_location(); glVertexAttribPointer(loc, 4, GL_FLOAT, GL_FALSE, 0, nullptr); glEnableVertexAttribArray(loc); @@ -119,7 +119,7 @@ GLVertexArrays::set_color(const Color& color) { assert_gl(); - int loc = m_context.get_program().get_attrib_location("diffuse"); + int loc = m_context.get_program().get_diffuse_location(); glVertexAttrib4f(loc, color.red, color.green, color.blue, color.alpha); glDisableVertexAttribArray(loc); diff --git a/src/video/gl/gl_video_system.cpp b/src/video/gl/gl_video_system.cpp index 1efc69cfee0..83402bfc914 100644 --- a/src/video/gl/gl_video_system.cpp +++ b/src/video/gl/gl_video_system.cpp @@ -179,19 +179,7 @@ GLVideoSystem::create_gl_context() m_glcontext = SDL_GL_CreateContext(m_sdl_window.get()); assert_gl(); - - if (g_config->try_vsync) { - // We want VSync for smooth scrolling. - if (SDL_GL_SetSwapInterval(-1) != 0) - { - log_info << "no support for late swap tearing vsync: " << SDL_GetError() << std::endl; - if (SDL_GL_SetSwapInterval(1)) - { - log_info << "no support for vsync: " << SDL_GetError() << std::endl; - } - } - } - + set_vsync(g_config->vsync); assert_gl(); #if defined(USE_OPENGLES2) @@ -325,7 +313,23 @@ GLVideoSystem::set_vsync(int mode) { if (SDL_GL_SetSwapInterval(mode) < 0) { - log_warning << "Setting vsync mode failed: " << SDL_GetError() << std::endl; + log_warning << "Setting vsync mode to " << mode << " failed: " << SDL_GetError() << std::endl; + if(mode != 1) + { + mode = 1; + log_warning << "Trying to set vsync mode to 1" << std::endl; + if (SDL_GL_SetSwapInterval(1) < 0) + { + log_warning << "Setting vsync mode failed: " << SDL_GetError() << ". Trying to set vsync mode to 0" << std::endl; + if(mode != 0) + { + mode = 0; + log_warning << "Trying to set vsync mode to 0" << std::endl; + SDL_GL_SetSwapInterval(0); + } + } + g_config->vsync = mode; + } } else { diff --git a/src/video/surface.hpp b/src/video/surface.hpp index 0a584fef929..320831508d2 100644 --- a/src/video/surface.hpp +++ b/src/video/surface.hpp @@ -55,7 +55,7 @@ class Surface final int get_width() const; int get_height() const; Flip get_flip() const { return m_flip; } - std::string get_filename() const { return m_source_filename; } + const std::string& get_filename() const { return m_source_filename; } private: const TexturePtr m_diffuse_texture; diff --git a/src/worldmap/level_tile.hpp b/src/worldmap/level_tile.hpp index ced8fc3da2c..66e20c1337f 100644 --- a/src/worldmap/level_tile.hpp +++ b/src/worldmap/level_tile.hpp @@ -49,11 +49,11 @@ class LevelTile final : public WorldMapObject void update_sprite_action(); - std::string get_title() const { return m_title; } - std::string get_level_filename() const { return m_level_filename; } - std::string get_basedir() const { return m_basedir; } + const std::string& get_title() const { return m_title; } + const std::string& get_level_filename() const { return m_level_filename; } + const std::string& get_basedir() const { return m_basedir; } Color get_title_color() const { return m_title_color; } - std::string get_extro_script() const { return m_extro_script; } + const std::string& get_extro_script() const { return m_extro_script; } float get_target_time() const { return m_target_time; } bool is_auto_play() const { return m_auto_play; } diff --git a/src/worldmap/spawn_point.hpp b/src/worldmap/spawn_point.hpp index 846b0798dc3..3a664a1a48a 100644 --- a/src/worldmap/spawn_point.hpp +++ b/src/worldmap/spawn_point.hpp @@ -32,7 +32,7 @@ class SpawnPoint final public: SpawnPoint(const ReaderMapping& mapping); - std::string get_name() const { return m_name; } + const std::string& get_name() const { return m_name; } Vector get_pos() const { return m_pos; } Direction get_auto_dir() const { return m_auto_dir; } diff --git a/src/worldmap/special_tile.hpp b/src/worldmap/special_tile.hpp index 84beca08a13..fab8de59fca 100644 --- a/src/worldmap/special_tile.hpp +++ b/src/worldmap/special_tile.hpp @@ -40,9 +40,9 @@ class SpecialTile final : public WorldMapObject virtual ObjectSettings get_settings() override; - std::string get_map_message() const { return m_map_message; } + const std::string& get_map_message() const { return m_map_message; } bool is_passive_message() const { return m_passive_message; } - std::string get_script() const { return m_script; } + const std::string& get_script() const { return m_script; } bool get_apply_action_north() const { return m_apply_action_north; } bool get_apply_action_east() const { return m_apply_action_east; } diff --git a/src/worldmap/world_select.cpp b/src/worldmap/world_select.cpp index 8a8702d05f1..0e2220ee8c4 100644 --- a/src/worldmap/world_select.cpp +++ b/src/worldmap/world_select.cpp @@ -20,6 +20,7 @@ #include "control/controller.hpp" #include "math/util.hpp" +#include "supertux/constants.hpp" #include "supertux/fadetoblack.hpp" #include "supertux/resources.hpp" #include "supertux/screen_manager.hpp" @@ -247,7 +248,7 @@ WorldSelect::update(float dt_sec, const Controller& controller) if (controller.pressed(Control::JUMP) && m_worlds[m_selected_world].unlocked) { m_enabled = false; ScreenManager::current()->pop_screen(std::make_unique(FadeToBlack::Direction::FADEOUT, 0.25f)); - worldmap::WorldMap::current()->change(m_worlds[m_selected_world].filename, "", "main"); + worldmap::WorldMap::current()->change(m_worlds[m_selected_world].filename, "", DEFAULT_SPAWNPOINT_NAME); return; } } diff --git a/src/worldmap/worldmap.cpp b/src/worldmap/worldmap.cpp index 2293a2402fd..89d1b3bc829 100644 --- a/src/worldmap/worldmap.cpp +++ b/src/worldmap/worldmap.cpp @@ -21,6 +21,7 @@ #include "audio/sound_manager.hpp" #include "gui/menu_manager.hpp" #include "physfs/util.hpp" +#include "supertux/constants.hpp" #include "supertux/fadetoblack.hpp" #include "supertux/game_manager.hpp" #include "supertux/gameconfig.hpp" @@ -320,7 +321,7 @@ WorldMap::set_sector(const std::string& name, const std::string& spawnpoint, m_sector = get_sector(0); // In that case, assign the first sector. } - m_sector->move_to_spawnpoint("main"); + m_sector->move_to_spawnpoint(DEFAULT_SPAWNPOINT_NAME); // Set up the new sector. if (perform_full_setup) @@ -332,7 +333,7 @@ WorldMap::set_sector(const std::string& name, const std::string& spawnpoint, m_sector->move_to_spawnpoint(spawnpoint); } -std::string +const std::string& WorldMap::get_filename() const { return m_map_filename; diff --git a/src/worldmap/worldmap.hpp b/src/worldmap/worldmap.hpp index 04d136340ef..abfcc4e3c24 100644 --- a/src/worldmap/worldmap.hpp +++ b/src/worldmap/worldmap.hpp @@ -86,7 +86,7 @@ class WorldMap final : public Currenton void set_sector(const std::string& name, const std::string& spawnpoint = "", bool perform_full_setup = true); - std::string get_filename() const; + const std::string& get_filename() const; private: void on_escape_press(); diff --git a/src/worldmap/worldmap_sector.cpp b/src/worldmap/worldmap_sector.cpp index 0c700715ea3..4244d155ade 100644 --- a/src/worldmap/worldmap_sector.cpp +++ b/src/worldmap/worldmap_sector.cpp @@ -26,6 +26,7 @@ #include "physfs/ifile_stream.hpp" #include "scripting/worldmap_sector.hpp" #include "squirrel/squirrel_environment.hpp" +#include "supertux/constants.hpp" #include "supertux/d_scope.hpp" #include "supertux/debug.hpp" #include "supertux/fadetoblack.hpp" @@ -105,9 +106,6 @@ WorldMapSector::setup() { BIND_WORLDMAP_SECTOR(*this); - auto& music_object = get_singleton_by_type(); - music_object.play_music(MusicType::LEVEL_MUSIC); - ScreenManager::current()->set_screen_fade(std::make_unique(FadeToBlack::FADEIN, 1.0f)); // If we specified a fade tilemap, let's fade it: @@ -148,6 +146,15 @@ WorldMapSector::setup() if (!m_init_script.empty()) m_squirrel_environment->run_script(m_init_script, "WorldMapSector::init"); + + // Check if Tux is on an auto-playing level. + // No need to play music in that case. + LevelTile* level = at_object(); + if(level && level->is_auto_play() && !level->is_solved()) + return; + + auto& music_object = get_singleton_by_type(); + music_object.play_music(MusicType::LEVEL_MUSIC); } void @@ -333,7 +340,7 @@ WorldMapSector::update(float dt_sec) int tile_data = tile_data_at(m_tux->get_tile_pos()); if (!( tile_data & ( Tile::WORLDMAP_NORTH | Tile::WORLDMAP_SOUTH | Tile::WORLDMAP_WEST | Tile::WORLDMAP_EAST ))){ log_warning << "Player at illegal position " << m_tux->get_tile_pos().x << ", " << m_tux->get_tile_pos().y << " respawning." << std::endl; - move_to_spawnpoint("main"); + move_to_spawnpoint(DEFAULT_SPAWNPOINT_NAME); return; } log_warning << "No level to enter at: " << m_tux->get_tile_pos().x << ", " << m_tux->get_tile_pos().y << std::endl; @@ -576,8 +583,8 @@ WorldMapSector::move_to_spawnpoint(const std::string& spawnpoint, bool pan) } log_warning << "Spawnpoint '" << spawnpoint << "' not found." << std::endl; - if (spawnpoint != "main") { - move_to_spawnpoint("main"); + if (spawnpoint != DEFAULT_SPAWNPOINT_NAME) { + move_to_spawnpoint(DEFAULT_SPAWNPOINT_NAME); } } diff --git a/src/worldmap/worldmap_state.cpp b/src/worldmap/worldmap_state.cpp index b1b4c119ea1..4961d21c78b 100644 --- a/src/worldmap/worldmap_state.cpp +++ b/src/worldmap/worldmap_state.cpp @@ -19,8 +19,10 @@ #include "worldmap/worldmap_state.hpp" #include "math/vector.hpp" +#include "object/music_object.hpp" #include "object/tilemap.hpp" #include "squirrel/squirrel_util.hpp" +#include "supertux/constants.hpp" #include "supertux/savegame.hpp" #include "supertux/tile.hpp" #include "util/log.hpp" @@ -80,7 +82,7 @@ WorldMapState::load_state() else // Sector property does not exist, which may indicate outdated save file. { if (!m_worldmap.m_sector) // If the worldmap doesn't have a current sector, try setting the main one. - m_worldmap.set_sector("main", "", false); + m_worldmap.set_sector(DEFAULT_SECTOR_NAME, "", false); } if (!m_worldmap.m_sector) { @@ -88,6 +90,13 @@ WorldMapState::load_state() throw std::runtime_error("No sector set."); } + if (vm.has_property("music")) + { + const std::string music = vm.read_string("music"); + auto& music_object = m_worldmap.get_sector().get_singleton_by_type(); + music_object.set_music(music); + } + /** Load objects. **/ load_tux(); load_levels(); @@ -100,7 +109,7 @@ WorldMapState::load_state() // Set default properties. if (!m_worldmap.m_sector) - m_worldmap.set_sector("main", "", false); // If no current sector is present, set it to "main", or the default one. + m_worldmap.set_sector(DEFAULT_SECTOR_NAME, "", false); // If no current sector is present, set it to "main", or the default one. // Create a new initial save. save_state(); @@ -123,7 +132,7 @@ WorldMapState::load_tux() if (!vm.get_float("x", p.x) || !vm.get_float("y", p.y)) { log_warning << "Player position not set, respawning." << std::endl; - sector.move_to_spawnpoint("main"); + sector.move_to_spawnpoint(DEFAULT_SPAWNPOINT_NAME); m_position_was_reset = true; } std::string back_str = vm.read_string("back"); @@ -133,7 +142,7 @@ WorldMapState::load_tux() int tile_data = sector.tile_data_at(p); if (!( tile_data & ( Tile::WORLDMAP_NORTH | Tile::WORLDMAP_SOUTH | Tile::WORLDMAP_WEST | Tile::WORLDMAP_EAST ))) { log_warning << "Player at illegal position " << p.x << ", " << p.y << " respawning." << std::endl; - sector.move_to_spawnpoint("main"); + sector.move_to_spawnpoint(DEFAULT_SPAWNPOINT_NAME); m_position_was_reset = true; } sq_pop(vm.get_vm(), 1); @@ -289,6 +298,9 @@ WorldMapState::save_state() const vm.delete_table_entry(sector.get_name().c_str()); vm.begin_table(sector.get_name().c_str()); + auto& music_object = m_worldmap.get_sector().get_singleton_by_type(); + vm.store_string("music", music_object.get_music()); + /** Save objects. **/ save_tux(); save_levels(); @@ -361,7 +373,7 @@ WorldMapState::save_tilemap_visibility() const { sq_pushstring(vm.get_vm(), tilemap.get_name().c_str(), -1); sq_newtable(vm.get_vm()); - vm.store_float("alpha", tilemap.get_alpha()); + vm.store_float("alpha", tilemap.get_target_alpha()); if (SQ_FAILED(sq_createslot(vm.get_vm(), -3))) { throw std::runtime_error("failed to create '" + m_worldmap.m_name + "' table entry");