Page MenuHomePhabricator (Chris)

No OneTemporary

Authored By
Unknown
Size
109 KB
Referenced Files
None
Subscribers
None
diff --git a/README.md b/README.md
index 6ac2725..1866b6d 100644
--- a/README.md
+++ b/README.md
@@ -1,105 +1,108 @@
This is the fork of the puzzle game Me and My Shadow originally at [SourceForge](http://meandmyshadow.sourceforge.net/).
The new website is <https://acmepjz.github.io/meandmyshadow/>.
-[![Build Status](https://travis-ci.org/acmepjz/meandmyshadow.svg?branch=master)](https://travis-ci.org/acmepjz/meandmyshadow)
+### Build status
-[![Build status](https://ci.appveyor.com/api/projects/status/t0cfcb54fppa501c/branch/master?svg=true)](https://ci.appveyor.com/project/acmepjz/meandmyshadow/branch/master) <--
-Click here for Windows nightly build (you also need `data` forder from latest git repository, just download from GitHub)
+| Platform | Build status | Latest nightly build | Previous nightly build |
+|----------|--------------|----------------------|------------------------|
+| Windows | [![Build status](https://ci.appveyor.com/api/projects/status/t0cfcb54fppa501c/branch/master?svg=true)](https://ci.appveyor.com/project/acmepjz/meandmyshadow/branch/master) | [Bintray](https://bintray.com/acmepjz/meandmyshadow/meandmyshadow/nightly-build#files) | [Appveyor](https://ci.appveyor.com/project/acmepjz/meandmyshadow/branch/master) |
+| Linux | [![Build Status](https://travis-ci.org/acmepjz/meandmyshadow.svg?branch=master)](https://travis-ci.org/acmepjz/meandmyshadow) | [Bintray](https://bintray.com/acmepjz/meandmyshadow/meandmyshadow/nightly-build#files) | Not available |
+| OSX | [![Build Status](https://travis-ci.org/acmepjz/meandmyshadow.svg?branch=master)](https://travis-ci.org/acmepjz/meandmyshadow) | Not available | Not available |
Me and My Shadow
====================
Me and My Shadow is a free libre puzzle/platform game in which you try to reach
the exit by solving puzzles. Spikes, moving blocks, fragile blocks and much
more stand between you and the exit. Record your moves and let your shadow
mimic them to reach blocks you couldn't reach alone.
- Tutorial for beginners
- 2 level packs containing over 40 levels
- 18 different block types
- Built-in level editor
- Easily installable addons
- Original music by Juho-Petteri Yliuntinen
- Cross platform
Compiling
=========
Compiling on Linux
------------------
You will need the following packages (and their -dev(el) files) to be installed:
* libSDL2
* libSDL2_image
* libSDL2_ttf
* libSDL2_mixer
* libcurl
* libarchive
* liblua ( >=5.2 )
* cmake
* C++ compiler (found in packages like g++, gcc-c++, gcc)
The process is simple. Enter a terminal and move to directory containing
MeAndMyShadow. Then just type
~~~
mkdir build && cd build
cmake ..
~~~
to generate the Makefile. If everything configured properly you don't see any
errors and then you can start compiling by typing
~~~
make
~~~
Finally you can run MeAndMyShadow with
~~~
./meandmyshadow
~~~
To install MeAndMyShadow on your system, run following as root
~~~
make install
~~~
See `.travis.yml` for example.
Compiling on Windows
--------------------
If you are using VS2013 or VS2015 you can download the pre-built SDL2 dependencies
[here](https://github.com/acmepjz/meandmyshadow/releases/tag/v0.5-devel002 ),
and unzip the dependencies.
Otherwise you need to compile some dependencies from source. See `appveyor.yml-build-dependencies` for example.
Open a command prompt, move to directory containing
MeAndMyShadow. Then type
~~~
set PATH=path\to\dependencies;%PATH%
mkdir build && cd build
path\to\cmake-gui.exe ..
~~~
Follow the instruction to generate Visual Studio solution files.
Open the solution file to compile.
Compiling on Mac
----------------
(Under construction)
It is almost the same as in Linux. Use brew to install dependencies.
See `.travis.yml` for example.
Translating
===========
We use the web-based translation system [Transifex](https://www.transifex.com/acmepjz/meandmyshadow/ )
to host MeAndMyShadow translation.
Meanwhile, you can also translate the game directly. See <http://meandmyshadow.sourceforge.net/wiki/index.php/Translating>
for more information.
diff --git a/data/locale/messages.pot b/data/locale/messages.pot
index 9bc4951..2e7f847 100644
--- a/data/locale/messages.pot
+++ b/data/locale/messages.pot
@@ -1,1783 +1,1919 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the meandmyshadow package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: meandmyshadow 0.5svn\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-07-14 16:42+0800\n"
+"POT-Creation-Date: 2018-08-01 17:48+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../src/AchievementList.cpp:43
msgid "Newbie"
msgstr ""
#: ../src/AchievementList.cpp:43
msgid "Complete a level."
msgstr ""
#: ../src/AchievementList.cpp:44
msgid "Experienced player"
msgstr ""
#: ../src/AchievementList.cpp:44
msgid "Complete 50 levels."
msgstr ""
#: ../src/AchievementList.cpp:45
msgid "Good job!"
msgstr ""
#: ../src/AchievementList.cpp:45
msgid "Receive a gold medal."
msgstr ""
#: ../src/AchievementList.cpp:46
msgid "Expert"
msgstr ""
#: ../src/AchievementList.cpp:46
msgid "Earn 50 gold medal."
msgstr ""
#: ../src/AchievementList.cpp:48
msgid "Graduate"
msgstr ""
#: ../src/AchievementList.cpp:48
msgid "Complete the tutorial level pack."
msgstr ""
#: ../src/AchievementList.cpp:49
msgid "Outstanding graduate"
msgstr ""
#: ../src/AchievementList.cpp:49
msgid "Complete the tutorial level pack with gold for all levels."
msgstr ""
#: ../src/AchievementList.cpp:51
msgid "Hooked"
msgstr ""
#: ../src/AchievementList.cpp:51
msgid "Play Me and My Shadow for more than 2 hours."
msgstr ""
#: ../src/AchievementList.cpp:52
msgid "Loyal fan of Me and My Shadow"
msgstr ""
#: ../src/AchievementList.cpp:52
msgid "Play Me and My Shadow for more than 24 hours."
msgstr ""
#: ../src/AchievementList.cpp:54
msgid "Constructor"
msgstr ""
#: ../src/AchievementList.cpp:54
msgid "Use the level editor for more than 2 hours."
msgstr ""
#: ../src/AchievementList.cpp:55
msgid "The creator"
msgstr ""
#: ../src/AchievementList.cpp:55
msgid "Use the level editor for more than 24 hours."
msgstr ""
#: ../src/AchievementList.cpp:57
msgid "Look, cute level!"
msgstr ""
#: ../src/AchievementList.cpp:57
msgid "Create a level for the first time."
msgstr ""
#: ../src/AchievementList.cpp:58
msgid "The level museum"
msgstr ""
#: ../src/AchievementList.cpp:58
msgid "Create 50 levels."
msgstr ""
#: ../src/AchievementList.cpp:60
msgid "Hello, World!"
msgstr ""
#: ../src/AchievementList.cpp:60
msgid "Write a script for the first time."
msgstr ""
#: ../src/AchievementList.cpp:62
msgid "Frog"
msgstr ""
#: ../src/AchievementList.cpp:62
msgid "Jump 1000 times."
msgstr ""
#: ../src/AchievementList.cpp:64
msgid "Wanderer"
msgstr ""
#: ../src/AchievementList.cpp:64
msgid "Travel 100 meters."
msgstr ""
#: ../src/AchievementList.cpp:65
msgid "Runner"
msgstr ""
#: ../src/AchievementList.cpp:65
msgid "Travel 1 kilometer."
msgstr ""
#: ../src/AchievementList.cpp:66
msgid "Long distance runner"
msgstr ""
#: ../src/AchievementList.cpp:66
msgid "Travel 10 kilometers."
msgstr ""
#: ../src/AchievementList.cpp:67
msgid "Marathon runner"
msgstr ""
#: ../src/AchievementList.cpp:67
msgid "Travel 42,195 meters."
msgstr ""
#: ../src/AchievementList.cpp:69
msgid "Be careful!"
msgstr ""
#: ../src/AchievementList.cpp:69
msgid "Die for the first time."
msgstr ""
#: ../src/AchievementList.cpp:70
msgid "It doesn't matter..."
msgstr ""
#: ../src/AchievementList.cpp:70
msgid "Die 50 times."
msgstr ""
#: ../src/AchievementList.cpp:71
msgid "Expert of trial and error"
msgstr ""
#: ../src/AchievementList.cpp:71
msgid "Die 1000 times."
msgstr ""
#: ../src/AchievementList.cpp:73
msgid "Keep an eye for moving blocks!"
msgstr ""
#: ../src/AchievementList.cpp:73
msgid "Get squashed for the first time."
msgstr ""
#: ../src/AchievementList.cpp:74
msgid "Potato masher"
msgstr ""
#: ../src/AchievementList.cpp:74
msgid "Get squashed 50 times."
msgstr ""
#: ../src/AchievementList.cpp:76
msgid "Double kill"
msgstr ""
#: ../src/AchievementList.cpp:76
msgid "Get both the player and the shadow dead."
msgstr ""
#: ../src/AchievementList.cpp:78
msgid "Bad luck"
msgstr ""
#: ../src/AchievementList.cpp:78
msgid "Die 5 times in under 5 seconds."
msgstr ""
#: ../src/AchievementList.cpp:79
msgid "This level is too dangerous"
msgstr ""
#: ../src/AchievementList.cpp:79
msgid "Die 10 times in under 5 seconds."
msgstr ""
#: ../src/AchievementList.cpp:81
msgid "You forgot your friend"
msgstr ""
#: ../src/AchievementList.cpp:81
msgid "Finish the level with the player or the shadow dead."
msgstr ""
#: ../src/AchievementList.cpp:82
msgid "Just in time"
msgstr ""
#: ../src/AchievementList.cpp:82
msgid "Reach the exit with the player and the shadow simultaneously."
msgstr ""
#: ../src/AchievementList.cpp:84
msgid "Recorder"
msgstr ""
#: ../src/AchievementList.cpp:84
msgid "Record 100 times."
msgstr ""
#: ../src/AchievementList.cpp:85
msgid "Shadowmaster"
msgstr ""
#: ../src/AchievementList.cpp:85
msgid "Record 1000 times."
msgstr ""
#: ../src/AchievementList.cpp:87
msgid "Switch puller"
msgstr ""
#: ../src/AchievementList.cpp:87
msgid "Pull the switch 100 times."
msgstr ""
#: ../src/AchievementList.cpp:88
msgid "The switch is broken!"
msgstr ""
#: ../src/AchievementList.cpp:88
msgid "Pull the switch 1000 times."
msgstr ""
#: ../src/AchievementList.cpp:90
msgid "Swapper"
msgstr ""
#: ../src/AchievementList.cpp:90
msgid "Swap 100 times."
msgstr ""
#: ../src/AchievementList.cpp:91
msgid "Player to shadow to player to shadow..."
msgstr ""
#: ../src/AchievementList.cpp:91
msgid "Swap 1000 times."
msgstr ""
#: ../src/AchievementList.cpp:93
msgid "Play it save"
msgstr ""
#: ../src/AchievementList.cpp:93
msgid "Save 1000 times."
msgstr ""
#: ../src/AchievementList.cpp:94
msgid "This game is too hard"
msgstr ""
#: ../src/AchievementList.cpp:94
msgid "Load the game 1000 times."
msgstr ""
#: ../src/AchievementList.cpp:96
msgid "No, thanks"
msgstr ""
#: ../src/AchievementList.cpp:96
msgid "Complete a level with checkpoint, but without saving."
msgstr ""
#: ../src/AchievementList.cpp:98
msgid "Panic save"
msgstr ""
#: ../src/AchievementList.cpp:98
msgid "Save twice in 1 second."
msgstr ""
#: ../src/AchievementList.cpp:99
msgid "Panic load"
msgstr ""
#: ../src/AchievementList.cpp:99
msgid "Load twice in 1 second."
msgstr ""
#: ../src/AchievementList.cpp:101
msgid "Bad saving position"
msgstr ""
#: ../src/AchievementList.cpp:101
msgid "Load the game and die within 1 second."
msgstr ""
#: ../src/AchievementList.cpp:102
msgid "This level is too hard"
msgstr ""
#: ../src/AchievementList.cpp:102
msgid "Load the same save and die 100 times."
msgstr ""
#: ../src/AchievementList.cpp:104
msgid "Quick swap"
msgstr ""
#: ../src/AchievementList.cpp:104
msgid "Swap twice in under a second."
msgstr ""
#: ../src/AchievementList.cpp:107
msgid "Horizontal confusion"
msgstr ""
#: ../src/AchievementList.cpp:107
msgid "Press left and right simultaneously."
msgstr ""
#: ../src/AchievementList.cpp:109
-msgid "Programmer"
+msgid "Cheater"
msgstr ""
#: ../src/AchievementList.cpp:109
+msgid "Cheat in game."
+msgstr ""
+
+#: ../src/AchievementList.cpp:111
+msgid "Programmer"
+msgstr ""
+
+#: ../src/AchievementList.cpp:111
msgid "Play the development version of Me and My Shadow."
msgstr ""
-#: ../src/Addons.cpp:44 ../src/TitleMenu.cpp:67
+#: ../src/Addons.cpp:44
+msgid "Levels"
+msgstr ""
+
+#: ../src/Addons.cpp:44
+msgid "Single level which usually contain demanding puzzles"
+msgstr ""
+
+#: ../src/Addons.cpp:45
+msgid "Levelpacks"
+msgstr ""
+
+#: ../src/Addons.cpp:45
+msgid "Collection of levels with the same author or style"
+msgstr ""
+
+#: ../src/Addons.cpp:46
+msgid "Themes"
+msgstr ""
+
+#: ../src/Addons.cpp:46
+msgid "Give every block and background a new look and feel"
+msgstr ""
+
+#: ../src/Addons.cpp:55 ../src/TitleMenu.cpp:46
msgid "Addons"
msgstr ""
-#: ../src/Addons.cpp:69
+#: ../src/Addons.cpp:87
msgid "Unable to initialize addon menu:"
msgstr ""
-#: ../src/Addons.cpp:77 ../src/Addons.cpp:131 ../src/Addons.cpp:560
-#: ../src/Addons.cpp:586 ../src/LevelEditSelect.cpp:69
-#: ../src/LevelSelect.cpp:186 ../src/StatisticsScreen.cpp:160
-#: ../src/TitleMenu.cpp:809
+#: ../src/Addons.cpp:95 ../src/Addons.cpp:158 ../src/Addons.cpp:659
+#: ../src/Addons.cpp:687 ../src/CreditsMenu.cpp:89 ../src/LevelSelect.cpp:183
+#: ../src/StatisticsScreen.cpp:160
msgid "Back"
msgstr ""
-#: ../src/Addons.cpp:142
+#: ../src/Addons.cpp:169
msgid "ERROR: unable to download addons file!"
msgstr ""
# TRANSLATORS: addon_list is the name of a file and should not be translated.
-#: ../src/Addons.cpp:155
+#: ../src/Addons.cpp:182
msgid "ERROR: unable to load addon_list file!"
msgstr ""
-#: ../src/Addons.cpp:166
+#: ../src/Addons.cpp:193
msgid "ERROR: Invalid file format of addons file!"
msgstr ""
-#: ../src/Addons.cpp:178
+#: ../src/Addons.cpp:205
msgid "ERROR: Addon list version is unsupported!"
msgstr ""
# TRANSLATORS: installed_addons is the name of a file and should not be translated.
-#: ../src/Addons.cpp:199
+#: ../src/Addons.cpp:226
msgid "ERROR: Unable to create the installed_addons file."
msgstr ""
-#: ../src/Addons.cpp:211
+#: ../src/Addons.cpp:238
msgid "ERROR: Invalid file format of the installed_addons!"
msgstr ""
# TRANSLATORS: indicates the author of an addon.
-#: ../src/Addons.cpp:358 ../src/Addons.cpp:539
+#: ../src/Addons.cpp:389 ../src/Addons.cpp:618
#, c-format
msgid "by %s"
msgstr ""
-#: ../src/Addons.cpp:366
+#: ../src/Addons.cpp:397
msgid "Installed"
msgstr ""
-#: ../src/Addons.cpp:371
+#: ../src/Addons.cpp:402
msgid "Updatable"
msgstr ""
-#: ../src/Addons.cpp:378
+#: ../src/Addons.cpp:412
msgid "Not installed"
msgstr ""
-#: ../src/Addons.cpp:555 ../src/Addons.cpp:580
+#: ../src/Addons.cpp:622
+#, c-format
+msgid "Version: %d\n"
+msgstr ""
+
+#: ../src/Addons.cpp:624
+#, c-format
+msgid "Installed version: %d\n"
+msgstr ""
+
+#: ../src/Addons.cpp:627
+#, c-format
+msgid "License: %s\n"
+msgstr ""
+
+#: ../src/Addons.cpp:630
+#, c-format
+msgid "Website: %s\n"
+msgstr ""
+
+#: ../src/Addons.cpp:634
+msgid "(No descriptions provided)"
+msgstr ""
+
+#: ../src/Addons.cpp:654 ../src/Addons.cpp:681
msgid "Remove"
msgstr ""
-#: ../src/Addons.cpp:569
+#: ../src/Addons.cpp:670
msgid "Update"
msgstr ""
-#: ../src/Addons.cpp:575
+#: ../src/Addons.cpp:676
msgid "Install"
msgstr ""
-#: ../src/Block.cpp:739 ../src/LevelEditor.cpp:202
+#: ../src/Block.cpp:746 ../src/LevelEditor.cpp:201
msgid "On"
msgstr ""
-#: ../src/Block.cpp:740 ../src/LevelEditor.cpp:203
+#: ../src/Block.cpp:747 ../src/LevelEditor.cpp:202
msgid "Off"
msgstr ""
#: ../src/CommandManager.cpp:41
#, c-format
msgid "Undo %s"
msgstr ""
#: ../src/CommandManager.cpp:43
msgid "Can't undo"
msgstr ""
#: ../src/CommandManager.cpp:49
#, c-format
msgid "Redo %s"
msgstr ""
#: ../src/CommandManager.cpp:51
msgid "Can't redo"
msgstr ""
#: ../src/Commands.cpp:189
msgid "Resize level"
msgstr ""
-#: ../src/Commands.cpp:787
+#: ../src/Commands.cpp:781
msgid "Modify level property"
msgstr ""
-#: ../src/Commands.cpp:895
+#: ../src/Commands.cpp:889
#, c-format
msgid "Add scenery layer %s"
msgstr ""
-#: ../src/Commands.cpp:895
+#: ../src/Commands.cpp:889
#, c-format
msgid "Delete scenery layer %s"
msgstr ""
-#: ../src/Commands.cpp:915
+#: ../src/Commands.cpp:909
#, c-format
msgid "Rename scenery layer %s to %s"
msgstr ""
-#: ../src/Commands.cpp:987
+#: ../src/Commands.cpp:981
#, c-format
msgid "Move %d object(s) from layer %s to layer %s"
msgstr ""
+#: ../src/CreditsMenu.cpp:35 ../src/TitleMenu.cpp:53
+msgid "Credits"
+msgstr ""
+
# TRANSLATORS: Font used in GUI:
# - Use "knewave" for languages using Latin and Latin-derived alphabets
# - "DroidSansFallback" can be used for non-Latin writing systems
-#: ../src/Functions.cpp:556 ../src/Functions.cpp:557 ../src/Functions.cpp:558
-#: ../src/Functions.cpp:575
+#: ../src/Functions.cpp:562 ../src/Functions.cpp:563 ../src/Functions.cpp:564
+#: ../src/Functions.cpp:581
msgid "knewave"
msgstr ""
# TRANSLATORS: Font used for normal text:
# - Use "Blokletters-Viltstift" for languages using Latin and Latin-derived alphabets
# - "DroidSansFallback" can be used for non-Latin writing systems
-#: ../src/Functions.cpp:562
+#: ../src/Functions.cpp:568
msgid "Blokletters-Viltstift"
msgstr ""
-#: ../src/Functions.cpp:661
+#: ../src/Functions.cpp:667
msgid "Loading..."
msgstr ""
-#: ../src/Functions.cpp:1194 ../src/Functions.cpp:1221
-#: ../src/LevelEditor.cpp:473 ../src/LevelEditor.cpp:601
-#: ../src/LevelEditor.cpp:658 ../src/LevelEditor.cpp:714
-#: ../src/LevelEditor.cpp:795 ../src/LevelEditor.cpp:870
-#: ../src/LevelEditor.cpp:914 ../src/LevelEditor.cpp:1005
-#: ../src/LevelEditor.cpp:2717 ../src/LevelEditSelect.cpp:230
-#: ../src/LevelEditSelect.cpp:262 ../src/LevelEditSelect.cpp:298
+#: ../src/Functions.cpp:1201 ../src/Functions.cpp:1228
+#: ../src/Functions.cpp:1571 ../src/LevelEditor.cpp:472
+#: ../src/LevelEditor.cpp:600 ../src/LevelEditor.cpp:657
+#: ../src/LevelEditor.cpp:713 ../src/LevelEditor.cpp:794
+#: ../src/LevelEditor.cpp:869 ../src/LevelEditor.cpp:913
+#: ../src/LevelEditor.cpp:1004 ../src/LevelEditor.cpp:2707
+#: ../src/LevelEditSelect.cpp:242 ../src/LevelEditSelect.cpp:274
+#: ../src/LevelEditSelect.cpp:310
msgid "OK"
msgstr ""
-#: ../src/Functions.cpp:1195 ../src/Functions.cpp:1207
-#: ../src/Functions.cpp:1217 ../src/LevelEditor.cpp:477
-#: ../src/LevelEditor.cpp:605 ../src/LevelEditor.cpp:662
-#: ../src/LevelEditor.cpp:718 ../src/LevelEditor.cpp:799
-#: ../src/LevelEditor.cpp:874 ../src/LevelEditor.cpp:918
-#: ../src/LevelEditor.cpp:1009 ../src/LevelEditor.cpp:2721
-#: ../src/LevelEditSelect.cpp:234 ../src/LevelEditSelect.cpp:266
-#: ../src/LevelEditSelect.cpp:302 ../src/TitleMenu.cpp:513
+#: ../src/Functions.cpp:1202 ../src/Functions.cpp:1214
+#: ../src/Functions.cpp:1224 ../src/Functions.cpp:1575
+#: ../src/LevelEditor.cpp:476 ../src/LevelEditor.cpp:604
+#: ../src/LevelEditor.cpp:661 ../src/LevelEditor.cpp:717
+#: ../src/LevelEditor.cpp:798 ../src/LevelEditor.cpp:873
+#: ../src/LevelEditor.cpp:917 ../src/LevelEditor.cpp:1008
+#: ../src/LevelEditor.cpp:2711 ../src/LevelEditSelect.cpp:246
+#: ../src/LevelEditSelect.cpp:278 ../src/LevelEditSelect.cpp:314
+#: ../src/OptionsMenu.cpp:289
msgid "Cancel"
msgstr ""
-#: ../src/Functions.cpp:1199
+#: ../src/Functions.cpp:1206
msgid "Abort"
msgstr ""
-#: ../src/Functions.cpp:1200 ../src/Functions.cpp:1216
+#: ../src/Functions.cpp:1207 ../src/Functions.cpp:1223
msgid "Retry"
msgstr ""
-#: ../src/Functions.cpp:1201
+#: ../src/Functions.cpp:1208
msgid "Ignore"
msgstr ""
-#: ../src/Functions.cpp:1205 ../src/Functions.cpp:1211
+#: ../src/Functions.cpp:1212 ../src/Functions.cpp:1218
msgid "Yes"
msgstr ""
-#: ../src/Functions.cpp:1206 ../src/Functions.cpp:1212
+#: ../src/Functions.cpp:1213 ../src/Functions.cpp:1219
msgid "No"
msgstr ""
# TRANSLATORS: Filename is coming before this text
-#: ../src/Functions.cpp:1330
+#: ../src/Functions.cpp:1342
#, c-format
msgid ""
"%s already exists.\n"
"Do you want to overwrite it?"
msgstr ""
-#: ../src/Functions.cpp:1330
+#: ../src/Functions.cpp:1342
msgid "Overwrite Prompt"
msgstr ""
-#: ../src/Functions.cpp:1351 ../src/Functions.cpp:1369
+#: ../src/Functions.cpp:1363 ../src/Functions.cpp:1381
#, c-format
msgid "Can't open file %s."
msgstr ""
-#: ../src/Functions.cpp:1351 ../src/Functions.cpp:1369
-#: ../src/LevelEditor.cpp:3454 ../src/LevelEditor.cpp:3458
-#: ../src/LevelEditor.cpp:3475 ../src/LevelEditor.cpp:3480
-#: ../src/LevelEditor.cpp:3497 ../src/LevelEditor.cpp:3501
+#: ../src/Functions.cpp:1363 ../src/Functions.cpp:1381
+#: ../src/LevelEditor.cpp:3447 ../src/LevelEditor.cpp:3451
+#: ../src/LevelEditor.cpp:3468 ../src/LevelEditor.cpp:3473
+#: ../src/LevelEditor.cpp:3490 ../src/LevelEditor.cpp:3494
msgid "Error"
msgstr ""
+#: ../src/Functions.cpp:1512
+msgid "Save File"
+msgstr ""
+
+#: ../src/Functions.cpp:1512
+msgid "Load File"
+msgstr ""
+
+#: ../src/Functions.cpp:1516
+msgid "Search In"
+msgstr ""
+
+#: ../src/Functions.cpp:1526
+msgid "File Name"
+msgstr ""
+
# TRANSLATORS: Please do not remove %s or %d from your translation:
# - %d means the level number in a levelpack
# - %s means the name of current level
-#: ../src/Game.cpp:280 ../src/Game.cpp:1206
+#: ../src/Game.cpp:281 ../src/Game.cpp:1202
#, c-format
msgid "Level %d %s"
msgstr ""
# TRANSLATORS: Please do not remove %s from your translation:
# - %s will be replaced with current action key
#: ../src/Game.cpp:882
#, c-format
msgid "Press %s key to save the game."
msgstr ""
# TRANSLATORS: Please do not remove %s from your translation:
# - %s will be replaced with current action key
#: ../src/Game.cpp:887
#, c-format
msgid "Press %s key to swap the position of player and shadow."
msgstr ""
# TRANSLATORS: Please do not remove %s from your translation:
# - %s will be replaced with current action key
#: ../src/Game.cpp:892
#, c-format
msgid "Press %s key to activate the switch."
msgstr ""
# TRANSLATORS: Please do not remove %s from your translation:
# - %s will be replaced with current action key
#: ../src/Game.cpp:897
#, c-format
msgid "Press %s key to teleport."
msgstr ""
# TRANSLATORS: Please do not remove %s from your translation:
# - first %s means currently configured key to restart game
# - Second %s means configured key to load from last save
-#: ../src/Game.cpp:941
+#: ../src/Game.cpp:939
#, c-format
msgid "Press %s to restart current level or press %s to load the game."
msgstr ""
# TRANSLATORS: Please do not remove %s from your translation:
# - %s will be replaced with currently configured key to restart game
-#: ../src/Game.cpp:953
+#: ../src/Game.cpp:950
#, c-format
msgid "Press %s to restart current level."
msgstr ""
-#: ../src/Game.cpp:967
+#: ../src/Game.cpp:963
msgid "Your shadow has died."
msgstr ""
-#: ../src/Game.cpp:1023
+#: ../src/Game.cpp:1019
#, c-format
msgid "%d recordings"
msgstr ""
-#: ../src/Game.cpp:1194
+#: ../src/Game.cpp:1190
msgid "You've finished:"
msgstr ""
# TRANSLATORS: Please do not remove %-.2f from your translation:
# - %-.2f means time in seconds
# - s is shortened form of a second. Try to keep it so.
-#: ../src/Game.cpp:1261
+#: ../src/Game.cpp:1257
#, c-format
msgid "Time: %-.2fs"
msgstr ""
# TRANSLATORS: Please do not remove %-.2f from your translation:
# - %-.2f means time in seconds
# - s is shortened form of a second. Try to keep it so.
-#: ../src/Game.cpp:1270
+#: ../src/Game.cpp:1266
#, c-format
msgid "Best time: %-.2fs"
msgstr ""
-#: ../src/Game.cpp:1281
+#: ../src/Game.cpp:1277
#, c-format
msgid "Target time: %-.2fs"
msgstr ""
# TRANSLATORS: Please do not remove %d from your translation:
# - %d means the number of recordings user has made
-#: ../src/Game.cpp:1302
+#: ../src/Game.cpp:1298
#, c-format
msgid "Recordings: %d"
msgstr ""
# TRANSLATORS: Please do not remove %d from your translation:
# - %d means the number of recordings user has made
-#: ../src/Game.cpp:1310
+#: ../src/Game.cpp:1306
#, c-format
msgid "Best recordings: %d"
msgstr ""
-#: ../src/Game.cpp:1320
+#: ../src/Game.cpp:1316
#, c-format
msgid "Target recordings: %d"
msgstr ""
# TRANSLATORS: Please do not remove %s from your translation:
# - %s will be replaced with name of a prize medal (gold, silver or bronze)
-#: ../src/Game.cpp:1333
+#: ../src/Game.cpp:1329
#, c-format
msgid "You earned the %s medal"
msgstr ""
-#: ../src/Game.cpp:1333
+#: ../src/Game.cpp:1329
msgid "GOLD"
msgstr ""
-#: ../src/Game.cpp:1333
+#: ../src/Game.cpp:1329
msgid "SILVER"
msgstr ""
-#: ../src/Game.cpp:1333
+#: ../src/Game.cpp:1329
msgid "BRONZE"
msgstr ""
# TRANSLATORS: used as return to the level selector menu
-#: ../src/Game.cpp:1360
+#: ../src/Game.cpp:1356
msgid "Menu"
msgstr ""
# TRANSLATORS: used as restart level
-#: ../src/Game.cpp:1367 ../src/InputManager.cpp:44
+#: ../src/Game.cpp:1363 ../src/InputManager.cpp:47
msgid "Restart"
msgstr ""
# TRANSLATORS: used as next level
-#: ../src/Game.cpp:1374
+#: ../src/Game.cpp:1370
msgid "Next"
msgstr ""
-#: ../src/Game.cpp:1400
+#: ../src/Game.cpp:1396
msgid "Game replay is done."
msgstr ""
-#: ../src/Game.cpp:1400
+#: ../src/Game.cpp:1396
msgid "Game Replay"
msgstr ""
-#: ../src/Game.cpp:1675 ../src/Game.cpp:1677
+#: ../src/Game.cpp:1671 ../src/Game.cpp:1673
msgid "Congratulations"
msgstr ""
-#: ../src/Game.cpp:1677
+#: ../src/Game.cpp:1673
msgid "You have finished the levelpack!"
msgstr ""
-#: ../src/InputManager.cpp:43
+#: ../src/InputManager.cpp:46
msgid "Up (in menu)"
msgstr ""
-#: ../src/InputManager.cpp:43
+#: ../src/InputManager.cpp:46
msgid "Down (in menu)"
msgstr ""
-#: ../src/InputManager.cpp:43
+#: ../src/InputManager.cpp:46
msgid "Left"
msgstr ""
-#: ../src/InputManager.cpp:43
+#: ../src/InputManager.cpp:46
msgid "Right"
msgstr ""
-#: ../src/InputManager.cpp:43
+#: ../src/InputManager.cpp:46
msgid "Jump"
msgstr ""
-#: ../src/InputManager.cpp:43
+#: ../src/InputManager.cpp:46
msgid "Action"
msgstr ""
-#: ../src/InputManager.cpp:43
+#: ../src/InputManager.cpp:46
msgid "Space (Record)"
msgstr ""
-#: ../src/InputManager.cpp:43
+#: ../src/InputManager.cpp:46
msgid "Cancel recording"
msgstr ""
-#: ../src/InputManager.cpp:44
+#: ../src/InputManager.cpp:47
msgid "Escape"
msgstr ""
-#: ../src/InputManager.cpp:44
+#: ../src/InputManager.cpp:47
msgid "Tab (View shadow/Level prop.)"
msgstr ""
-#: ../src/InputManager.cpp:44
+#: ../src/InputManager.cpp:47
msgid "Save game (in editor)"
msgstr ""
-#: ../src/InputManager.cpp:44
+#: ../src/InputManager.cpp:47
msgid "Load game"
msgstr ""
-#: ../src/InputManager.cpp:44
+#: ../src/InputManager.cpp:47
msgid "Swap (in editor)"
msgstr ""
-#: ../src/InputManager.cpp:45
+#: ../src/InputManager.cpp:48
msgid "Teleport (in editor)"
msgstr ""
-#: ../src/InputManager.cpp:45
+#: ../src/InputManager.cpp:48
msgid "Suicide (in editor)"
msgstr ""
-#: ../src/InputManager.cpp:45
+#: ../src/InputManager.cpp:48
msgid "Shift (in editor)"
msgstr ""
-#: ../src/InputManager.cpp:45
+#: ../src/InputManager.cpp:48
msgid "Next block type (in Editor)"
msgstr ""
-#: ../src/InputManager.cpp:46
+#: ../src/InputManager.cpp:49
msgid "Previous block type (in editor)"
msgstr ""
-#: ../src/InputManager.cpp:46
+#: ../src/InputManager.cpp:49
msgid "Select (in menu)"
msgstr ""
-#: ../src/InputManager.cpp:71 ../src/InputManager.cpp:96
+# TRANSLAOTRS: This is used when the name of the key code is not found.
+#: ../src/InputManager.cpp:156
+#, c-format
+msgid "(Key %d)"
+msgstr ""
+
+#: ../src/InputManager.cpp:163
+#, c-format
+msgid "Joystick axis %d %s"
+msgstr ""
+
+#: ../src/InputManager.cpp:166
+#, c-format
+msgid "Joystick button %d"
+msgstr ""
+
+#: ../src/InputManager.cpp:171
+#, c-format
+msgid "Joystick hat %d left"
+msgstr ""
+
+#: ../src/InputManager.cpp:174
+#, c-format
+msgid "Joystick hat %d right"
+msgstr ""
+
+#: ../src/InputManager.cpp:177
+#, c-format
+msgid "Joystick hat %d up"
+msgstr ""
+
+#: ../src/InputManager.cpp:180
+#, c-format
+msgid "Joystick hat %d down"
+msgstr ""
+
+# TRANSLAOTRS: This is used when the JOYSTICK_HAT value is invalid.
+#: ../src/InputManager.cpp:185
+#, c-format
+msgid "Joystick hat %d %d"
+msgstr ""
+
+#: ../src/InputManager.cpp:202
msgid "OR"
msgstr ""
-#: ../src/InputManager.cpp:241
+#: ../src/InputManager.cpp:416
msgid "Select an item and press a key to change it."
msgstr ""
-#: ../src/InputManager.cpp:244
+#: ../src/InputManager.cpp:419
msgid "Press backspace to clear the selected item."
msgstr ""
#: ../src/LevelEditor.cpp:56
msgid "Block"
msgstr ""
#: ../src/LevelEditor.cpp:56
msgid "Player Start"
msgstr ""
#: ../src/LevelEditor.cpp:56
msgid "Shadow Start"
msgstr ""
#: ../src/LevelEditor.cpp:57
msgid "Exit"
msgstr ""
#: ../src/LevelEditor.cpp:57
msgid "Shadow Block"
msgstr ""
#: ../src/LevelEditor.cpp:57
msgid "Spikes"
msgstr ""
#: ../src/LevelEditor.cpp:58
msgid "Checkpoint"
msgstr ""
-#: ../src/LevelEditor.cpp:58 ../src/LevelEditSelect.cpp:293
+#: ../src/LevelEditor.cpp:58 ../src/LevelEditSelect.cpp:305
msgid "Swap"
msgstr ""
#: ../src/LevelEditor.cpp:58
msgid "Fragile"
msgstr ""
#: ../src/LevelEditor.cpp:59
msgid "Moving Block"
msgstr ""
#: ../src/LevelEditor.cpp:59
msgid "Moving Shadow Block"
msgstr ""
#: ../src/LevelEditor.cpp:59
msgid "Moving Spikes"
msgstr ""
#: ../src/LevelEditor.cpp:60
msgid "Teleporter"
msgstr ""
#: ../src/LevelEditor.cpp:60
msgid "Button"
msgstr ""
#: ../src/LevelEditor.cpp:60
msgid "Switch"
msgstr ""
#: ../src/LevelEditor.cpp:61
msgid "Conveyor Belt"
msgstr ""
#: ../src/LevelEditor.cpp:61
msgid "Shadow Conveyor Belt"
msgstr ""
#: ../src/LevelEditor.cpp:61
msgid "Notification Block"
msgstr ""
#: ../src/LevelEditor.cpp:61
msgid "Collectable"
msgstr ""
#: ../src/LevelEditor.cpp:61
msgid "Pushable"
msgstr ""
-#: ../src/LevelEditor.cpp:65 ../src/LevelEditor.cpp:247
+#: ../src/LevelEditor.cpp:65 ../src/LevelEditor.cpp:246
msgid "Select"
msgstr ""
#: ../src/LevelEditor.cpp:65
msgid "Add"
msgstr ""
-#: ../src/LevelEditor.cpp:65 ../src/LevelEditor.cpp:248
+#: ../src/LevelEditor.cpp:65 ../src/LevelEditor.cpp:247
msgid "Delete"
msgstr ""
-#: ../src/LevelEditor.cpp:65 ../src/LevelPlaySelect.cpp:63
-#: ../src/TitleMenu.cpp:64
+#: ../src/LevelEditor.cpp:65 ../src/LevelPlaySelect.cpp:66
+#: ../src/TitleMenu.cpp:43
msgid "Play"
msgstr ""
-#: ../src/LevelEditor.cpp:65 ../src/LevelEditor.cpp:2665
+#: ../src/LevelEditor.cpp:65 ../src/LevelEditor.cpp:2642
msgid "Level settings"
msgstr ""
#: ../src/LevelEditor.cpp:65
msgid "Save level"
msgstr ""
#: ../src/LevelEditor.cpp:65
msgid "Back to menu"
msgstr ""
#: ../src/LevelEditor.cpp:65
msgid "Configure"
msgstr ""
-#: ../src/LevelEditor.cpp:204
+#: ../src/LevelEditor.cpp:203
msgid "Toggle"
msgstr ""
-#: ../src/LevelEditor.cpp:207
+#: ../src/LevelEditor.cpp:206
msgid "Complete"
msgstr ""
-#: ../src/LevelEditor.cpp:208
+#: ../src/LevelEditor.cpp:207
msgid "One step"
msgstr ""
-#: ../src/LevelEditor.cpp:209
+#: ../src/LevelEditor.cpp:208
msgid "Two steps"
msgstr ""
-#: ../src/LevelEditor.cpp:210
+#: ../src/LevelEditor.cpp:209
msgid "Gone"
msgstr ""
-#: ../src/LevelEditor.cpp:228
+#: ../src/LevelEditor.cpp:227
msgid "Negative infinity"
msgstr ""
-#: ../src/LevelEditor.cpp:230
+#: ../src/LevelEditor.cpp:229
msgid "Zero"
msgstr ""
-#: ../src/LevelEditor.cpp:232
+#: ../src/LevelEditor.cpp:231
msgid "Level size"
msgstr ""
-#: ../src/LevelEditor.cpp:234
+#: ../src/LevelEditor.cpp:233
msgid "Positive infinity"
msgstr ""
-#: ../src/LevelEditor.cpp:236
+#: ../src/LevelEditor.cpp:235
msgid "Default"
msgstr ""
-#: ../src/LevelEditor.cpp:245
+#: ../src/LevelEditor.cpp:244
msgid "Deselect"
msgstr ""
-#: ../src/LevelEditor.cpp:253 ../src/LevelEditor.cpp:963
+#: ../src/LevelEditor.cpp:252 ../src/LevelEditor.cpp:962
#, c-format
msgid "Horizontal repeat start: %s"
msgstr ""
-#: ../src/LevelEditor.cpp:255 ../src/LevelEditor.cpp:964
+#: ../src/LevelEditor.cpp:254 ../src/LevelEditor.cpp:963
#, c-format
msgid "Horizontal repeat end: %s"
msgstr ""
-#: ../src/LevelEditor.cpp:257 ../src/LevelEditor.cpp:965
+#: ../src/LevelEditor.cpp:256 ../src/LevelEditor.cpp:964
#, c-format
msgid "Vertical repeat start: %s"
msgstr ""
-#: ../src/LevelEditor.cpp:259 ../src/LevelEditor.cpp:966
+#: ../src/LevelEditor.cpp:258 ../src/LevelEditor.cpp:965
#, c-format
msgid "Vertical repeat end: %s"
msgstr ""
-#: ../src/LevelEditor.cpp:263 ../src/LevelEditor.cpp:977
+#: ../src/LevelEditor.cpp:262 ../src/LevelEditor.cpp:976
msgid "Custom scenery"
msgstr ""
-#: ../src/LevelEditor.cpp:269 ../src/LevelEditor.cpp:510
-#: ../src/LevelEditor.cpp:512
+#: ../src/LevelEditor.cpp:268 ../src/LevelEditor.cpp:509
+#: ../src/LevelEditor.cpp:511
msgid "Visible"
msgstr ""
-#: ../src/LevelEditor.cpp:278
+#: ../src/LevelEditor.cpp:277
msgid "Link"
msgstr ""
-#: ../src/LevelEditor.cpp:279
+#: ../src/LevelEditor.cpp:278
msgid "Remove Links"
msgstr ""
-#: ../src/LevelEditor.cpp:283 ../src/LevelEditor.cpp:534
-#: ../src/LevelEditor.cpp:536
+#: ../src/LevelEditor.cpp:282 ../src/LevelEditor.cpp:533
+#: ../src/LevelEditor.cpp:535
msgid "Automatic"
msgstr ""
-#: ../src/LevelEditor.cpp:296
+#: ../src/LevelEditor.cpp:295
msgid "Path"
msgstr ""
-#: ../src/LevelEditor.cpp:297
+#: ../src/LevelEditor.cpp:296
msgid "Remove Path"
msgstr ""
-#: ../src/LevelEditor.cpp:299 ../src/LevelEditor.cpp:305
-#: ../src/LevelEditor.cpp:497 ../src/LevelEditor.cpp:499
+#: ../src/LevelEditor.cpp:298 ../src/LevelEditor.cpp:304
+#: ../src/LevelEditor.cpp:496 ../src/LevelEditor.cpp:498
msgid "Activated"
msgstr ""
-#: ../src/LevelEditor.cpp:300 ../src/LevelEditor.cpp:522
-#: ../src/LevelEditor.cpp:524
+#: ../src/LevelEditor.cpp:299 ../src/LevelEditor.cpp:521
+#: ../src/LevelEditor.cpp:523
msgid "Looping"
msgstr ""
-#: ../src/LevelEditor.cpp:306 ../src/LevelEditor.cpp:3301
+#: ../src/LevelEditor.cpp:305 ../src/LevelEditor.cpp:3291
msgid "Speed"
msgstr ""
-#: ../src/LevelEditor.cpp:316 ../src/LevelEditor.cpp:3286
+#: ../src/LevelEditor.cpp:315 ../src/LevelEditor.cpp:3276
msgid "Message"
msgstr ""
-#: ../src/LevelEditor.cpp:318 ../src/LevelEditor.cpp:356
-#: ../src/LevelEditor.cpp:619
+#: ../src/LevelEditor.cpp:317 ../src/LevelEditor.cpp:355
+#: ../src/LevelEditor.cpp:618
msgid "Scripting"
msgstr ""
-#: ../src/LevelEditor.cpp:331 ../src/LevelEditor.cpp:756
-#: ../src/LevelEditor.cpp:774
+#: ../src/LevelEditor.cpp:330 ../src/LevelEditor.cpp:755
+#: ../src/LevelEditor.cpp:773
#, c-format
msgid "Background layer: %s"
msgstr ""
-#: ../src/LevelEditor.cpp:338 ../src/LevelEditor.cpp:755
-#: ../src/LevelEditor.cpp:773
+#: ../src/LevelEditor.cpp:337 ../src/LevelEditor.cpp:754
+#: ../src/LevelEditor.cpp:772
msgid "Blocks layer"
msgstr ""
-#: ../src/LevelEditor.cpp:346 ../src/LevelEditor.cpp:756
-#: ../src/LevelEditor.cpp:774
+#: ../src/LevelEditor.cpp:345 ../src/LevelEditor.cpp:755
+#: ../src/LevelEditor.cpp:773
#, c-format
msgid "Foreground layer: %s"
msgstr ""
-#: ../src/LevelEditor.cpp:350
+#: ../src/LevelEditor.cpp:349
msgid "Add new layer"
msgstr ""
-#: ../src/LevelEditor.cpp:351
+#: ../src/LevelEditor.cpp:350
msgid "Delete selected layer"
msgstr ""
-#: ../src/LevelEditor.cpp:352
+#: ../src/LevelEditor.cpp:351
msgid "Rename selected layer"
msgstr ""
-#: ../src/LevelEditor.cpp:353
+#: ../src/LevelEditor.cpp:352
msgid "Move selected object to layer"
msgstr ""
-#: ../src/LevelEditor.cpp:355 ../src/TitleMenu.cpp:275
+#: ../src/LevelEditor.cpp:354 ../src/OptionsMenu.cpp:55
msgid "Settings"
msgstr ""
-#: ../src/LevelEditor.cpp:382
+#: ../src/LevelEditor.cpp:381
msgid ""
"NOTE: the layers are sorted by name alphabetically.\n"
"The layer is background layer if its name is < 'f'\n"
"by dictionary order, otherwise it's foreground layer."
msgstr ""
-#: ../src/LevelEditor.cpp:455
+#: ../src/LevelEditor.cpp:454
msgid "Notification block"
msgstr ""
-#: ../src/LevelEditor.cpp:460
+#: ../src/LevelEditor.cpp:459
msgid "Enter message here:"
msgstr ""
-#: ../src/LevelEditor.cpp:556
+#: ../src/LevelEditor.cpp:555
msgid "Behaviour"
msgstr ""
-#: ../src/LevelEditor.cpp:575
+#: ../src/LevelEditor.cpp:574
msgid "State"
msgstr ""
-#: ../src/LevelEditor.cpp:583
+#: ../src/LevelEditor.cpp:582
msgid "Conveyor belt speed"
msgstr ""
-#: ../src/LevelEditor.cpp:588
+#: ../src/LevelEditor.cpp:587
msgid "Enter speed here:"
msgstr ""
-#: ../src/LevelEditor.cpp:598
+#: ../src/LevelEditor.cpp:597
msgid "NOTE: 1 Speed = 0.08 block/s"
msgstr ""
-#: ../src/LevelEditor.cpp:624
+#: ../src/LevelEditor.cpp:623
msgid "Id:"
msgstr ""
-#: ../src/LevelEditor.cpp:683
+#: ../src/LevelEditor.cpp:682
msgid "Level Scripting"
msgstr ""
-#: ../src/LevelEditor.cpp:781
+#: ../src/LevelEditor.cpp:780
msgid "Add layer"
msgstr ""
-#: ../src/LevelEditor.cpp:786
+#: ../src/LevelEditor.cpp:785
msgid "Enter the layer name:"
msgstr ""
-#: ../src/LevelEditor.cpp:826
+#: ../src/LevelEditor.cpp:825
#, c-format
msgid "Are you sure you want to delete layer '%s'?"
msgstr ""
-#: ../src/LevelEditor.cpp:827
+#: ../src/LevelEditor.cpp:826
msgid "Delete layer"
msgstr ""
-#: ../src/LevelEditor.cpp:851
+#: ../src/LevelEditor.cpp:850
msgid "Rename layer"
msgstr ""
-#: ../src/LevelEditor.cpp:856
+#: ../src/LevelEditor.cpp:855
#, c-format
msgid "Enter the new name for layer '%s':"
msgstr ""
-#: ../src/LevelEditor.cpp:895
+#: ../src/LevelEditor.cpp:894
msgid "Move to layer"
msgstr ""
-#: ../src/LevelEditor.cpp:900
+#: ../src/LevelEditor.cpp:899
msgid "Enter the layer name (create new layer if necessary):"
msgstr ""
-#: ../src/LevelEditor.cpp:959
+#: ../src/LevelEditor.cpp:958
msgid "Repeat mode"
msgstr ""
-#: ../src/LevelEditor.cpp:982
+#: ../src/LevelEditor.cpp:981
msgid "Custom scenery:"
msgstr ""
-#: ../src/LevelEditor.cpp:1221 ../src/LevelEditor.cpp:1465
-#: ../src/LevelEditor.cpp:1476 ../src/LevelEditor.cpp:1509
-#: ../src/LevelEditor.cpp:4075
+#: ../src/LevelEditor.cpp:1220 ../src/LevelEditor.cpp:1460
+#: ../src/LevelEditor.cpp:1471 ../src/LevelEditor.cpp:1504
+#: ../src/LevelEditor.cpp:4083
msgid "Custom scenery block"
msgstr ""
-#: ../src/LevelEditor.cpp:1433
+#: ../src/LevelEditor.cpp:1428
msgid "Toolbox"
msgstr ""
-#: ../src/LevelEditor.cpp:1465
+#: ../src/LevelEditor.cpp:1460
#, c-format
msgid "Resize %s"
msgstr ""
-#: ../src/LevelEditor.cpp:1465
+#: ../src/LevelEditor.cpp:1460
#, c-format
msgid "Move %s"
msgstr ""
-#: ../src/LevelEditor.cpp:1468
+#: ../src/LevelEditor.cpp:1463
#, c-format
msgid "Move %d objects"
msgstr ""
-#: ../src/LevelEditor.cpp:1476
+#: ../src/LevelEditor.cpp:1471
#, c-format
msgid "Add %s"
msgstr ""
-#: ../src/LevelEditor.cpp:1476
+#: ../src/LevelEditor.cpp:1471
#, c-format
msgid "Remove %s"
msgstr ""
-#: ../src/LevelEditor.cpp:1479
+#: ../src/LevelEditor.cpp:1474
#, c-format
msgid "Add %d objects"
msgstr ""
-#: ../src/LevelEditor.cpp:1479
+#: ../src/LevelEditor.cpp:1474
#, c-format
msgid "Remove %d objects"
msgstr ""
-#: ../src/LevelEditor.cpp:1485
+#: ../src/LevelEditor.cpp:1480
#, c-format
msgid "Add path to %s"
msgstr ""
-#: ../src/LevelEditor.cpp:1490
+#: ../src/LevelEditor.cpp:1480
+#, c-format
+msgid "Remove a path point from %s"
+msgstr ""
+
+#: ../src/LevelEditor.cpp:1485
#, c-format
msgid "Remove all paths from %s"
msgstr ""
-#: ../src/LevelEditor.cpp:1495
+#: ../src/LevelEditor.cpp:1490
#, c-format
msgid "Add link from %s to %s"
msgstr ""
-#: ../src/LevelEditor.cpp:1500
+#: ../src/LevelEditor.cpp:1495
#, c-format
msgid "Remove all links from %s"
msgstr ""
-#: ../src/LevelEditor.cpp:1506
+#: ../src/LevelEditor.cpp:1501
msgid "Modify the %2 property of %1"
msgstr ""
-#: ../src/LevelEditor.cpp:1541
+#: ../src/LevelEditor.cpp:1548
#, c-format
msgid "Edit the script of %s"
msgstr ""
-#: ../src/LevelEditor.cpp:1543
+#: ../src/LevelEditor.cpp:1550
msgid "Edit the script of level"
msgstr ""
-#: ../src/LevelEditor.cpp:1895 ../src/LevelEditor.cpp:1963
+#: ../src/LevelEditor.cpp:1909 ../src/LevelEditor.cpp:1989
msgid "The level has unsaved changes."
msgstr ""
-#: ../src/LevelEditor.cpp:1899 ../src/LevelEditor.cpp:1965
+#: ../src/LevelEditor.cpp:1913 ../src/LevelEditor.cpp:1991
msgid "Are you sure you want to quit?"
msgstr ""
-#: ../src/LevelEditor.cpp:1899 ../src/LevelEditor.cpp:1965
+#: ../src/LevelEditor.cpp:1913 ../src/LevelEditor.cpp:1991
msgid "Quit prompt"
msgstr ""
-#: ../src/LevelEditor.cpp:2587 ../src/LevelEditor.cpp:2589
+#: ../src/LevelEditor.cpp:2585 ../src/LevelEditor.cpp:2587
#, c-format
msgid "Level \"%s\" saved"
msgstr ""
-#: ../src/LevelEditor.cpp:2587 ../src/LevelEditor.cpp:2589
+#: ../src/LevelEditor.cpp:2585 ../src/LevelEditor.cpp:2587
msgid "Saved"
msgstr ""
-#: ../src/LevelEditor.cpp:2671 ../src/LevelEditSelect.cpp:203
+#: ../src/LevelEditor.cpp:2648 ../src/LevelEditSelect.cpp:206
msgid "Name:"
msgstr ""
-#: ../src/LevelEditor.cpp:2677
+#: ../src/LevelEditor.cpp:2654
msgid "Theme:"
msgstr ""
-#: ../src/LevelEditor.cpp:2685
+#: ../src/LevelEditor.cpp:2660
+msgid "Examples: %DATA%/themes/classic"
+msgstr ""
+
+#: ../src/LevelEditor.cpp:2662
+msgid "or %USER%/themes/Orange"
+msgstr ""
+
+#: ../src/LevelEditor.cpp:2665
+msgid "Music:"
+msgstr ""
+
+#: ../src/LevelEditor.cpp:2673
msgid "Target time (s):"
msgstr ""
-#: ../src/LevelEditor.cpp:2700
+#: ../src/LevelEditor.cpp:2688
msgid "Target recordings:"
msgstr ""
-#: ../src/LevelEditor.cpp:3454 ../src/LevelEditor.cpp:3475
-#: ../src/LevelEditor.cpp:3497
+#: ../src/LevelEditor.cpp:2703
+msgid "Restart level editor is required"
+msgstr ""
+
+#: ../src/LevelEditor.cpp:3447 ../src/LevelEditor.cpp:3468
+#: ../src/LevelEditor.cpp:3490
msgid "Please enter a layer name."
msgstr ""
-#: ../src/LevelEditor.cpp:3458 ../src/LevelEditor.cpp:3480
+#: ../src/LevelEditor.cpp:3451 ../src/LevelEditor.cpp:3473
#, c-format
msgid "The layer '%s' already exists."
msgstr ""
-#: ../src/LevelEditor.cpp:3501
+#: ../src/LevelEditor.cpp:3494
msgid "Source and destination layers are the same."
msgstr ""
-#: ../src/LevelEditor.cpp:3518
+#: ../src/LevelEditor.cpp:3511
msgid "Scenery"
msgstr ""
-#: ../src/LevelEditor.cpp:3865 ../src/LevelEditor.cpp:3893
+#: ../src/LevelEditor.cpp:3873 ../src/LevelEditor.cpp:3901
#, c-format
msgid "Speed: %d = %0.2f block/s"
msgstr ""
-#: ../src/LevelEditor.cpp:3878
+#: ../src/LevelEditor.cpp:3886
msgid "Stop at this point"
msgstr ""
-#: ../src/LevelEditor.cpp:3883
+#: ../src/LevelEditor.cpp:3891
#, c-format
msgid "Pause: %d = %0.3fs"
msgstr ""
-#: ../src/LevelEditor.cpp:4362
+#: ../src/LevelEditor.cpp:4369
msgid "Stop"
msgstr ""
-#: ../src/LevelEditSelect.cpp:40 ../src/TitleMenu.cpp:66
+#: ../src/LevelEditSelect.cpp:40 ../src/TitleMenu.cpp:45
msgid "Map Editor"
msgstr ""
-#: ../src/LevelEditSelect.cpp:78
+#: ../src/LevelEditSelect.cpp:65
msgid "New Levelpack"
msgstr ""
-#: ../src/LevelEditSelect.cpp:83
+#: ../src/LevelEditSelect.cpp:70
msgid "Pack Properties"
msgstr ""
-#: ../src/LevelEditSelect.cpp:88
+#: ../src/LevelEditSelect.cpp:75
msgid "Remove Pack"
msgstr ""
-#: ../src/LevelEditSelect.cpp:93
+#: ../src/LevelEditSelect.cpp:80
msgid "Move Map"
msgstr ""
-#: ../src/LevelEditSelect.cpp:101
+#: ../src/LevelEditSelect.cpp:88
msgid "Remove Map"
msgstr ""
-#: ../src/LevelEditSelect.cpp:106
+#: ../src/LevelEditSelect.cpp:93
msgid "Edit Map"
msgstr ""
-#: ../src/LevelEditSelect.cpp:200
+#: ../src/LevelEditSelect.cpp:203
msgid "Properties"
msgstr ""
-#: ../src/LevelEditSelect.cpp:212
+#: ../src/LevelEditSelect.cpp:215
msgid "Description:"
msgstr ""
-#: ../src/LevelEditSelect.cpp:221
+#: ../src/LevelEditSelect.cpp:224
msgid "Congratulation text:"
msgstr ""
-#: ../src/LevelEditSelect.cpp:250 ../src/LevelEditSelect.cpp:404
+#: ../src/LevelEditSelect.cpp:233
+msgid "Music list:"
+msgstr ""
+
+#: ../src/LevelEditSelect.cpp:262 ../src/LevelEditSelect.cpp:473
msgid "Add level"
msgstr ""
-#: ../src/LevelEditSelect.cpp:253
+#: ../src/LevelEditSelect.cpp:265
msgid "File name:"
msgstr ""
-#: ../src/LevelEditSelect.cpp:278
+#: ../src/LevelEditSelect.cpp:290
msgid "Move level"
msgstr ""
-#: ../src/LevelEditSelect.cpp:281
+#: ../src/LevelEditSelect.cpp:293
msgid "Level: "
msgstr ""
-#: ../src/LevelEditSelect.cpp:291
+#: ../src/LevelEditSelect.cpp:303
msgid "Before"
msgstr ""
-#: ../src/LevelEditSelect.cpp:292
+#: ../src/LevelEditSelect.cpp:304
msgid "After"
msgstr ""
-#: ../src/LevelEditSelect.cpp:466
+#: ../src/LevelEditSelect.cpp:532
#, c-format
msgid "Are you sure remove the level pack '%s'?"
msgstr ""
-#: ../src/LevelEditSelect.cpp:466 ../src/LevelEditSelect.cpp:494
+#: ../src/LevelEditSelect.cpp:532 ../src/LevelEditSelect.cpp:560
msgid "Remove prompt"
msgstr ""
-#: ../src/LevelEditSelect.cpp:494
+#: ../src/LevelEditSelect.cpp:560
#, c-format
msgid "Are you sure remove the map '%s'?"
msgstr ""
-#: ../src/LevelEditSelect.cpp:612
+#: ../src/LevelEditSelect.cpp:681
msgid "No file name given for the new level."
msgstr ""
-#: ../src/LevelEditSelect.cpp:612
+#: ../src/LevelEditSelect.cpp:681
msgid "Missing file name"
msgstr ""
-#: ../src/LevelEditSelect.cpp:703
+#: ../src/LevelEditSelect.cpp:772
msgid "The entered level number isn't valid!"
msgstr ""
-#: ../src/LevelEditSelect.cpp:703
+#: ../src/LevelEditSelect.cpp:772
msgid "Illegal number"
msgstr ""
#: ../src/LevelInfoRender.cpp:19
msgid "Choose a level"
msgstr ""
#: ../src/LevelInfoRender.cpp:20
msgid "Time:"
msgstr ""
-#: ../src/LevelInfoRender.cpp:21 ../src/StatisticsScreen.cpp:259
+#: ../src/LevelInfoRender.cpp:21 ../src/StatisticsScreen.cpp:260
msgid "Recordings:"
msgstr ""
-#: ../src/LevelPlaySelect.cpp:38
+#: ../src/LevelPlaySelect.cpp:41
msgid "Select Level"
msgstr ""
-#: ../src/StatisticsManager.cpp:384
-msgid "New achievement:"
-msgstr ""
-
-#: ../src/StatisticsManager.cpp:392
-#, c-format
-msgid "Achieved on %s"
-msgstr ""
-
-#: ../src/StatisticsManager.cpp:398
-msgid "Unknown achievement"
+# TRANSLATORS: Used for button which clear any level progress like unlocked levels and highscores.
+#: ../src/OptionsMenu.cpp:66
+msgid "Clear Progress"
msgstr ""
-#: ../src/StatisticsManager.cpp:404
-#, c-format
-msgid "Achieved %1.0f%%"
+#: ../src/OptionsMenu.cpp:109
+msgid "General"
msgstr ""
-#: ../src/StatisticsManager.cpp:408
-msgid "Not achieved"
+#: ../src/OptionsMenu.cpp:110
+msgid "Controls"
msgstr ""
-#: ../src/StatisticsScreen.cpp:58 ../src/TitleMenu.cpp:77
-msgid "Achievements and Statistics"
+#: ../src/OptionsMenu.cpp:121
+msgid "Music"
msgstr ""
-#: ../src/StatisticsScreen.cpp:167
-msgid "Achievements"
+#: ../src/OptionsMenu.cpp:129
+msgid "Sound"
msgstr ""
-#: ../src/StatisticsScreen.cpp:168
-msgid "Statistics"
+#: ../src/OptionsMenu.cpp:137
+msgid "Resolution"
msgstr ""
-#: ../src/StatisticsScreen.cpp:234
-msgid "Total"
+#: ../src/OptionsMenu.cpp:177
+msgid "Language"
msgstr ""
-#: ../src/StatisticsScreen.cpp:246
-msgid "Traveling distance (m)"
+# TRANSLATORS: as detect user's language automatically
+#: ../src/OptionsMenu.cpp:185
+msgid "Auto-Detect"
msgstr ""
-#: ../src/StatisticsScreen.cpp:247
-msgid "Jump times"
+#: ../src/OptionsMenu.cpp:209
+msgid "Theme"
msgstr ""
-#: ../src/StatisticsScreen.cpp:248
-msgid "Die times"
+#: ../src/OptionsMenu.cpp:247
+msgid "Internet proxy"
msgstr ""
-#: ../src/StatisticsScreen.cpp:249
-msgid "Squashed times"
+#: ../src/OptionsMenu.cpp:256
+msgid "Fullscreen"
msgstr ""
-#: ../src/StatisticsScreen.cpp:260
-msgid "Switch pulled times:"
+#: ../src/OptionsMenu.cpp:261
+msgid "Quick record"
msgstr ""
-#: ../src/StatisticsScreen.cpp:261
-msgid "Swap times:"
+#: ../src/OptionsMenu.cpp:266
+msgid "Internet"
msgstr ""
-#: ../src/StatisticsScreen.cpp:262
-msgid "Save times:"
+#: ../src/OptionsMenu.cpp:271
+msgid "Fade transition"
msgstr ""
-#: ../src/StatisticsScreen.cpp:263
-msgid "Load times:"
+#: ../src/OptionsMenu.cpp:294
+msgid "Save Changes"
msgstr ""
-#: ../src/StatisticsScreen.cpp:268
-msgid "Completed levels:"
+#: ../src/OptionsMenu.cpp:513
+msgid "Do you really want to reset level progress?"
msgstr ""
-#: ../src/StatisticsScreen.cpp:306
-msgid "In-game time:"
+#: ../src/OptionsMenu.cpp:513
+msgid "Warning"
msgstr ""
-#: ../src/StatisticsScreen.cpp:308
-msgid "Level editing time:"
+#: ../src/StatisticsManager.cpp:392
+msgid "New achievement:"
msgstr ""
-#: ../src/StatisticsScreen.cpp:310
-msgid "Created levels:"
+#: ../src/StatisticsManager.cpp:400
+#, c-format
+msgid "Achieved on %s"
msgstr ""
-#: ../src/TitleMenu.cpp:65
-msgid "Options"
+#: ../src/StatisticsManager.cpp:406
+msgid "Unknown achievement"
msgstr ""
-#: ../src/TitleMenu.cpp:68
-msgid "Quit"
+#: ../src/StatisticsManager.cpp:412
+#, c-format
+msgid "Achieved %1.0f%%"
msgstr ""
-#: ../src/TitleMenu.cpp:75 ../src/TitleMenu.cpp:755
-msgid "Credits"
+#: ../src/StatisticsManager.cpp:416
+msgid "Not achieved"
msgstr ""
-#: ../src/TitleMenu.cpp:151
-msgid "Enable internet in order to install addons."
+#: ../src/StatisticsScreen.cpp:58 ../src/TitleMenu.cpp:55
+msgid "Achievements and Statistics"
msgstr ""
-#: ../src/TitleMenu.cpp:151
-msgid "Internet disabled"
+#: ../src/StatisticsScreen.cpp:167
+msgid "Achievements"
msgstr ""
-# TRANSLATORS: Used for button which clear any level progress like unlocked levels and highscores.
-#: ../src/TitleMenu.cpp:284
-msgid "Clear Progress"
+#: ../src/StatisticsScreen.cpp:168
+msgid "Statistics"
msgstr ""
-#: ../src/TitleMenu.cpp:328
-msgid "General"
+#: ../src/StatisticsScreen.cpp:235
+msgid "Total"
msgstr ""
-#: ../src/TitleMenu.cpp:329
-msgid "Controls"
+#: ../src/StatisticsScreen.cpp:247
+msgid "Traveling distance (m)"
msgstr ""
-#: ../src/TitleMenu.cpp:340
-msgid "Music"
+#: ../src/StatisticsScreen.cpp:248
+msgid "Jump times"
msgstr ""
-#: ../src/TitleMenu.cpp:348
-msgid "Sound"
+#: ../src/StatisticsScreen.cpp:249
+msgid "Die times"
msgstr ""
-#: ../src/TitleMenu.cpp:356
-msgid "Resolution"
+#: ../src/StatisticsScreen.cpp:250
+msgid "Squashed times"
msgstr ""
-#: ../src/TitleMenu.cpp:396
-msgid "Language"
+#: ../src/StatisticsScreen.cpp:261
+msgid "Switch pulled times:"
msgstr ""
-# TRANSLATORS: as detect user's language automatically
-#: ../src/TitleMenu.cpp:404
-msgid "Auto-Detect"
+#: ../src/StatisticsScreen.cpp:262
+msgid "Swap times:"
msgstr ""
-#: ../src/TitleMenu.cpp:428
-msgid "Theme"
+#: ../src/StatisticsScreen.cpp:263
+msgid "Save times:"
msgstr ""
-#: ../src/TitleMenu.cpp:466
-msgid "Internet proxy"
+#: ../src/StatisticsScreen.cpp:264
+msgid "Load times:"
msgstr ""
-#: ../src/TitleMenu.cpp:475
-msgid "Fullscreen"
+#: ../src/StatisticsScreen.cpp:269
+msgid "Completed levels:"
msgstr ""
-#: ../src/TitleMenu.cpp:480
-msgid "Level themes"
+#: ../src/StatisticsScreen.cpp:307
+msgid "In-game time:"
msgstr ""
-#: ../src/TitleMenu.cpp:485
-msgid "Internet"
+#: ../src/StatisticsScreen.cpp:309
+msgid "Level editing time:"
msgstr ""
-#: ../src/TitleMenu.cpp:490
-msgid "Fade transition"
+#: ../src/StatisticsScreen.cpp:311
+msgid "Created levels:"
msgstr ""
-#: ../src/TitleMenu.cpp:495
-msgid "Quick record"
+#: ../src/TitleMenu.cpp:44
+msgid "Options"
msgstr ""
-#: ../src/TitleMenu.cpp:518
-msgid "Save Changes"
+#: ../src/TitleMenu.cpp:47
+msgid "Quit"
msgstr ""
-#: ../src/TitleMenu.cpp:693
-msgid "Do you really want to reset level progress?"
+#: ../src/TitleMenu.cpp:131
+msgid "Enable internet in order to install addons."
msgstr ""
-#: ../src/TitleMenu.cpp:693
-msgid "Warning"
+#: ../src/TitleMenu.cpp:131
+msgid "Internet disabled"
msgstr ""
# TRANSLATORS: name of a key
msgid "backspace"
msgstr ""
# TRANSLATORS: name of a key
msgid "tab"
msgstr ""
# TRANSLATORS: name of a key
msgid "clear"
msgstr ""
# TRANSLATORS: name of a key
msgid "return"
msgstr ""
# TRANSLATORS: name of a key
msgid "pause"
msgstr ""
# TRANSLATORS: name of a key
msgid "escape"
msgstr ""
# TRANSLATORS: name of a key
msgid "space"
msgstr ""
# TRANSLATORS: name of a key
msgid "delete"
msgstr ""
# TRANSLATORS: name of a key
msgid "enter"
msgstr ""
# TRANSLATORS: name of a key
msgid "equals"
msgstr ""
# TRANSLATORS: name of a key
msgid "up"
msgstr ""
# TRANSLATORS: name of a key
msgid "down"
msgstr ""
# TRANSLATORS: name of a key
msgid "right"
msgstr ""
# TRANSLATORS: name of a key
msgid "left"
msgstr ""
# TRANSLATORS: name of a key
msgid "insert"
msgstr ""
# TRANSLATORS: name of a key
msgid "home"
msgstr ""
# TRANSLATORS: name of a key
msgid "end"
msgstr ""
# TRANSLATORS: name of a key
msgid "page up"
msgstr ""
# TRANSLATORS: name of a key
msgid "page down"
msgstr ""
# TRANSLATORS: name of a key
msgid "numlock"
msgstr ""
# TRANSLATORS: name of a key
msgid "caps lock"
msgstr ""
# TRANSLATORS: name of a key
msgid "scroll lock"
msgstr ""
# TRANSLATORS: name of a key
msgid "right shift"
msgstr ""
# TRANSLATORS: name of a key
msgid "left shift"
msgstr ""
# TRANSLATORS: name of a key
msgid "right ctrl"
msgstr ""
# TRANSLATORS: name of a key
msgid "left ctrl"
msgstr ""
# TRANSLATORS: name of a key
msgid "right alt"
msgstr ""
# TRANSLATORS: name of a key
msgid "left alt"
msgstr ""
# TRANSLATORS: name of a key
msgid "right meta"
msgstr ""
# TRANSLATORS: name of a key
msgid "left meta"
msgstr ""
# TRANSLATORS: name of a key
msgid "left super"
msgstr ""
# TRANSLATORS: name of a key
msgid "right super"
msgstr ""
# TRANSLATORS: name of a key
msgid "alt gr"
msgstr ""
# TRANSLATORS: name of a key
msgid "compose"
msgstr ""
# TRANSLATORS: name of a key
msgid "help"
msgstr ""
# TRANSLATORS: name of a key
msgid "print screen"
msgstr ""
# TRANSLATORS: name of a key
msgid "sys req"
msgstr ""
# TRANSLATORS: name of a key
msgid "break"
msgstr ""
# TRANSLATORS: name of a key
msgid "menu"
msgstr ""
# TRANSLATORS: name of a key
msgid "power"
msgstr ""
# TRANSLATORS: name of a key
msgid "euro"
msgstr ""
# TRANSLATORS: name of a key
msgid "undo"
msgstr ""
diff --git a/data/locale/zh_CN.po b/data/locale/zh_CN.po
index 39a4b79..d5b2ae7 100644
--- a/data/locale/zh_CN.po
+++ b/data/locale/zh_CN.po
@@ -1,1791 +1,1933 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the meandmyshadow package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
+# user <acme_pjz@hotmail.com>, 2018.
msgid ""
msgstr ""
"Project-Id-Version: meandmyshadow 0.5svn\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-07-14 16:42+0800\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Jz Pan <acme.pjz@gmail.com>, 2018\n"
-"Language-Team: Chinese (China) (https://www.transifex.com/acmepjz/teams/88148/zh_CN/)\n"
+"POT-Creation-Date: 2018-08-01 17:48+0800\n"
+"PO-Revision-Date: 2018-08-01 18:33+0800\n"
+"Last-Translator: user <acme_pjz@hotmail.com>\n"
+"Language-Team: Chinese (China) "
+"(https://www.transifex.com/acmepjz/teams/88148/zh_CN/)\n"
+"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Virtaal 0.7.1\n"
#: ../src/AchievementList.cpp:43
msgid "Newbie"
msgstr "新手"
#: ../src/AchievementList.cpp:43
msgid "Complete a level."
msgstr "完成一个关卡。"
#: ../src/AchievementList.cpp:44
msgid "Experienced player"
msgstr "有经验的玩家"
#: ../src/AchievementList.cpp:44
msgid "Complete 50 levels."
msgstr "完成 50 个关卡。"
#: ../src/AchievementList.cpp:45
msgid "Good job!"
msgstr "干得好!"
#: ../src/AchievementList.cpp:45
msgid "Receive a gold medal."
msgstr "获得一个金牌。"
#: ../src/AchievementList.cpp:46
msgid "Expert"
msgstr "专家"
#: ../src/AchievementList.cpp:46
msgid "Earn 50 gold medal."
msgstr "获得 50 个金牌。"
#: ../src/AchievementList.cpp:48
msgid "Graduate"
msgstr "毕业生"
#: ../src/AchievementList.cpp:48
msgid "Complete the tutorial level pack."
msgstr "完成教程关卡包。"
#: ../src/AchievementList.cpp:49
msgid "Outstanding graduate"
msgstr "优秀毕业生"
#: ../src/AchievementList.cpp:49
msgid "Complete the tutorial level pack with gold for all levels."
msgstr "以全部金牌的成绩完成教学关卡包。"
#: ../src/AchievementList.cpp:51
msgid "Hooked"
msgstr "入迷"
#: ../src/AchievementList.cpp:51
msgid "Play Me and My Shadow for more than 2 hours."
msgstr "玩 Me and My Shadow 超过 2 小时。"
#: ../src/AchievementList.cpp:52
msgid "Loyal fan of Me and My Shadow"
msgstr "Me and My Shadow 忠实粉丝"
#: ../src/AchievementList.cpp:52
msgid "Play Me and My Shadow for more than 24 hours."
msgstr "玩 Me and My Shadow 超过 24 小时。"
#: ../src/AchievementList.cpp:54
msgid "Constructor"
msgstr "建造师"
#: ../src/AchievementList.cpp:54
msgid "Use the level editor for more than 2 hours."
msgstr "使用地图编辑器超过 2 小时。"
#: ../src/AchievementList.cpp:55
msgid "The creator"
msgstr "造物主"
#: ../src/AchievementList.cpp:55
msgid "Use the level editor for more than 24 hours."
msgstr "使用地图编辑器超过 24 小时。"
#: ../src/AchievementList.cpp:57
msgid "Look, cute level!"
msgstr "看,可爱的关卡!"
#: ../src/AchievementList.cpp:57
msgid "Create a level for the first time."
msgstr "第一次创建关卡。"
#: ../src/AchievementList.cpp:58
msgid "The level museum"
msgstr "关卡博物馆"
#: ../src/AchievementList.cpp:58
msgid "Create 50 levels."
msgstr "创建 50 个关卡。"
#: ../src/AchievementList.cpp:60
msgid "Hello, World!"
msgstr "你好,世界!"
#: ../src/AchievementList.cpp:60
msgid "Write a script for the first time."
msgstr "第一次写脚本。"
#: ../src/AchievementList.cpp:62
msgid "Frog"
msgstr "青蛙"
#: ../src/AchievementList.cpp:62
msgid "Jump 1000 times."
msgstr "跳跃 1000 次。"
#: ../src/AchievementList.cpp:64
msgid "Wanderer"
msgstr "漫步者"
#: ../src/AchievementList.cpp:64
msgid "Travel 100 meters."
msgstr "旅行 100 米。"
#: ../src/AchievementList.cpp:65
msgid "Runner"
msgstr "跑步者"
#: ../src/AchievementList.cpp:65
msgid "Travel 1 kilometer."
msgstr "旅行 1 千米。"
#: ../src/AchievementList.cpp:66
msgid "Long distance runner"
msgstr "长跑者"
#: ../src/AchievementList.cpp:66
msgid "Travel 10 kilometers."
msgstr "旅行 10 千米。"
#: ../src/AchievementList.cpp:67
msgid "Marathon runner"
msgstr "马拉松运动员"
#: ../src/AchievementList.cpp:67
msgid "Travel 42,195 meters."
msgstr "旅行 42,195 米。"
#: ../src/AchievementList.cpp:69
msgid "Be careful!"
msgstr "小心!"
#: ../src/AchievementList.cpp:69
msgid "Die for the first time."
msgstr "第一次死掉。"
#: ../src/AchievementList.cpp:70
msgid "It doesn't matter..."
msgstr "没关系……"
#: ../src/AchievementList.cpp:70
msgid "Die 50 times."
msgstr "死掉 50 次。"
#: ../src/AchievementList.cpp:71
msgid "Expert of trial and error"
msgstr "试错专家"
#: ../src/AchievementList.cpp:71
msgid "Die 1000 times."
msgstr "死掉 1000 次。"
#: ../src/AchievementList.cpp:73
msgid "Keep an eye for moving blocks!"
msgstr "小心移动方块!"
#: ../src/AchievementList.cpp:73
msgid "Get squashed for the first time."
msgstr "第一次被夹死。"
#: ../src/AchievementList.cpp:74
msgid "Potato masher"
msgstr "马铃薯捣碎器"
#: ../src/AchievementList.cpp:74
msgid "Get squashed 50 times."
msgstr "被夹死 50 次。"
#: ../src/AchievementList.cpp:76
msgid "Double kill"
msgstr "双重击杀"
#: ../src/AchievementList.cpp:76
msgid "Get both the player and the shadow dead."
msgstr "让玩家和阴影都死掉。"
#: ../src/AchievementList.cpp:78
msgid "Bad luck"
msgstr "运气不好"
#: ../src/AchievementList.cpp:78
msgid "Die 5 times in under 5 seconds."
msgstr "在 5 秒之内死掉 5 次。"
#: ../src/AchievementList.cpp:79
msgid "This level is too dangerous"
msgstr "这关太危险了"
#: ../src/AchievementList.cpp:79
msgid "Die 10 times in under 5 seconds."
msgstr "在 5 秒之内死掉 10 次。"
#: ../src/AchievementList.cpp:81
msgid "You forgot your friend"
msgstr "你忘了你的伙伴"
#: ../src/AchievementList.cpp:81
msgid "Finish the level with the player or the shadow dead."
msgstr "在玩家或者阴影死掉的情况下完成关卡。"
#: ../src/AchievementList.cpp:82
msgid "Just in time"
msgstr "准时到达"
#: ../src/AchievementList.cpp:82
msgid "Reach the exit with the player and the shadow simultaneously."
msgstr "玩家和阴影同时到达终点。"
#: ../src/AchievementList.cpp:84
msgid "Recorder"
msgstr "记录员"
#: ../src/AchievementList.cpp:84
msgid "Record 100 times."
msgstr "记录 100 次。"
#: ../src/AchievementList.cpp:85
msgid "Shadowmaster"
msgstr "影子大师"
#: ../src/AchievementList.cpp:85
msgid "Record 1000 times."
msgstr "记录 1000 次。"
#: ../src/AchievementList.cpp:87
msgid "Switch puller"
msgstr "拨弄开关"
#: ../src/AchievementList.cpp:87
msgid "Pull the switch 100 times."
msgstr "使用开关 100 次。"
#: ../src/AchievementList.cpp:88
msgid "The switch is broken!"
msgstr "开关坏掉了!"
#: ../src/AchievementList.cpp:88
msgid "Pull the switch 1000 times."
msgstr "使用开关 1000 次。"
#: ../src/AchievementList.cpp:90
msgid "Swapper"
msgstr "交换者"
#: ../src/AchievementList.cpp:90
msgid "Swap 100 times."
msgstr "交换 100 次。"
#: ../src/AchievementList.cpp:91
msgid "Player to shadow to player to shadow..."
msgstr "玩家到阴影再到玩家再到阴影…"
#: ../src/AchievementList.cpp:91
msgid "Swap 1000 times."
msgstr "交换 1000 次。"
#: ../src/AchievementList.cpp:93
msgid "Play it save"
msgstr "安全游戏"
#: ../src/AchievementList.cpp:93
msgid "Save 1000 times."
msgstr "保存进度 1000 次。"
#: ../src/AchievementList.cpp:94
msgid "This game is too hard"
msgstr "这游戏太难了"
#: ../src/AchievementList.cpp:94
msgid "Load the game 1000 times."
msgstr "读取进度 1000 次。"
#: ../src/AchievementList.cpp:96
msgid "No, thanks"
msgstr "不用,谢谢"
#: ../src/AchievementList.cpp:96
msgid "Complete a level with checkpoint, but without saving."
msgstr "完成一个有记录点的关卡,但是没有使用保存进度功能。"
#: ../src/AchievementList.cpp:98
msgid "Panic save"
msgstr "慌张地保存"
#: ../src/AchievementList.cpp:98
msgid "Save twice in 1 second."
msgstr "在 1 秒之内保存两次。"
#: ../src/AchievementList.cpp:99
msgid "Panic load"
msgstr "慌张地读取"
#: ../src/AchievementList.cpp:99
msgid "Load twice in 1 second."
msgstr "在 1 秒之内读取两次。"
#: ../src/AchievementList.cpp:101
msgid "Bad saving position"
msgstr "糟糕的存盘位置"
#: ../src/AchievementList.cpp:101
msgid "Load the game and die within 1 second."
msgstr "读取进度并在 1 秒之内死掉。"
#: ../src/AchievementList.cpp:102
msgid "This level is too hard"
msgstr "这一关太难了"
#: ../src/AchievementList.cpp:102
msgid "Load the same save and die 100 times."
msgstr "读取一个相同进度并死掉 100 次。"
#: ../src/AchievementList.cpp:104
msgid "Quick swap"
msgstr "快速交换"
#: ../src/AchievementList.cpp:104
msgid "Swap twice in under a second."
msgstr "在一秒之内交换两次。"
#: ../src/AchievementList.cpp:107
msgid "Horizontal confusion"
msgstr "横向混乱"
#: ../src/AchievementList.cpp:107
msgid "Press left and right simultaneously."
msgstr "同时按下左和右方向键。"
#: ../src/AchievementList.cpp:109
+msgid "Cheater"
+msgstr "作弊者"
+
+#: ../src/AchievementList.cpp:109
+msgid "Cheat in game."
+msgstr "在游戏中作弊。"
+
+#: ../src/AchievementList.cpp:111
msgid "Programmer"
msgstr "程序员"
-#: ../src/AchievementList.cpp:109
+#: ../src/AchievementList.cpp:111
msgid "Play the development version of Me and My Shadow."
msgstr "玩 Me and My Shadow 的开发版本。"
-#: ../src/Addons.cpp:44 ../src/TitleMenu.cpp:67
+#: ../src/Addons.cpp:44
+msgid "Levels"
+msgstr "关卡"
+
+#: ../src/Addons.cpp:44
+msgid "Single level which usually contain demanding puzzles"
+msgstr "单个关卡,里面通常包含高难谜题"
+
+#: ../src/Addons.cpp:45
+msgid "Levelpacks"
+msgstr "关卡包"
+
+#: ../src/Addons.cpp:45
+msgid "Collection of levels with the same author or style"
+msgstr "相同作者或风格的关卡构成的集合"
+
+#: ../src/Addons.cpp:46
+msgid "Themes"
+msgstr "主题"
+
+#: ../src/Addons.cpp:46
+msgid "Give every block and background a new look and feel"
+msgstr "为每个方块和背景赋予新的外观"
+
+#: ../src/Addons.cpp:55 ../src/TitleMenu.cpp:46
msgid "Addons"
msgstr "附加组件"
-#: ../src/Addons.cpp:69
+#: ../src/Addons.cpp:87
msgid "Unable to initialize addon menu:"
msgstr "不能初始化附加组件菜单:"
-#: ../src/Addons.cpp:77 ../src/Addons.cpp:131 ../src/Addons.cpp:560
-#: ../src/Addons.cpp:586 ../src/LevelEditSelect.cpp:69
-#: ../src/LevelSelect.cpp:186 ../src/StatisticsScreen.cpp:160
-#: ../src/TitleMenu.cpp:809
+#: ../src/Addons.cpp:95 ../src/Addons.cpp:158 ../src/Addons.cpp:659
+#: ../src/Addons.cpp:687 ../src/CreditsMenu.cpp:89 ../src/LevelSelect.cpp:183
+#: ../src/StatisticsScreen.cpp:160
msgid "Back"
msgstr "后退"
-#: ../src/Addons.cpp:142
+#: ../src/Addons.cpp:169
msgid "ERROR: unable to download addons file!"
msgstr "错误: 无法下载附加组件!"
# TRANSLATORS: addon_list is the name of a file and should not be translated.
-#: ../src/Addons.cpp:155
+#: ../src/Addons.cpp:182
msgid "ERROR: unable to load addon_list file!"
msgstr "错误: 无法加载文件 addon_list!"
-#: ../src/Addons.cpp:166
+#: ../src/Addons.cpp:193
msgid "ERROR: Invalid file format of addons file!"
msgstr "错误: 文件 addons 的格式无效!"
-#: ../src/Addons.cpp:178
+#: ../src/Addons.cpp:205
msgid "ERROR: Addon list version is unsupported!"
msgstr "错误: 附加组件列表的版本是不支持的!"
+# TRANSLATORS: installed_addons is the name of a file and should not be translated.
# TRANSLATORS: installed_addons is the name of a file and should not be
# translated.
-#: ../src/Addons.cpp:199
+#: ../src/Addons.cpp:226
msgid "ERROR: Unable to create the installed_addons file."
msgstr "错误: 无法创建文件 installed_addons。"
-#: ../src/Addons.cpp:211
+#: ../src/Addons.cpp:238
msgid "ERROR: Invalid file format of the installed_addons!"
msgstr "错误: 文件 installed_addons 的格式无效!"
# TRANSLATORS: indicates the author of an addon.
-#: ../src/Addons.cpp:358 ../src/Addons.cpp:539
+#: ../src/Addons.cpp:389 ../src/Addons.cpp:618
#, c-format
msgid "by %s"
msgstr "作者 %s"
-#: ../src/Addons.cpp:366
+#: ../src/Addons.cpp:397
msgid "Installed"
msgstr "已安装"
-#: ../src/Addons.cpp:371
+#: ../src/Addons.cpp:402
msgid "Updatable"
msgstr "可更新"
-#: ../src/Addons.cpp:378
+#: ../src/Addons.cpp:412
msgid "Not installed"
msgstr "未安装"
-#: ../src/Addons.cpp:555 ../src/Addons.cpp:580
+#: ../src/Addons.cpp:622
+#, c-format
+msgid "Version: %d\n"
+msgstr "版本: %d\n"
+
+#: ../src/Addons.cpp:624
+#, c-format
+msgid "Installed version: %d\n"
+msgstr "已安装的版本: %d\n"
+
+#: ../src/Addons.cpp:627
+#, c-format
+msgid "License: %s\n"
+msgstr "授权: %s\n"
+
+#: ../src/Addons.cpp:630
+#, c-format
+msgid "Website: %s\n"
+msgstr "网址: %s\n"
+
+#: ../src/Addons.cpp:634
+msgid "(No descriptions provided)"
+msgstr "(没有提供说明)"
+
+#: ../src/Addons.cpp:654 ../src/Addons.cpp:681
msgid "Remove"
msgstr "移除"
-#: ../src/Addons.cpp:569
+#: ../src/Addons.cpp:670
msgid "Update"
msgstr "更新"
-#: ../src/Addons.cpp:575
+#: ../src/Addons.cpp:676
msgid "Install"
msgstr "安装"
-#: ../src/Block.cpp:739 ../src/LevelEditor.cpp:202
+#: ../src/Block.cpp:746 ../src/LevelEditor.cpp:201
msgid "On"
msgstr "开启"
-#: ../src/Block.cpp:740 ../src/LevelEditor.cpp:203
+#: ../src/Block.cpp:747 ../src/LevelEditor.cpp:202
msgid "Off"
msgstr "关闭"
#: ../src/CommandManager.cpp:41
#, c-format
msgid "Undo %s"
msgstr "撤消%s"
#: ../src/CommandManager.cpp:43
msgid "Can't undo"
msgstr "不能撤消"
#: ../src/CommandManager.cpp:49
#, c-format
msgid "Redo %s"
msgstr "重做%s"
#: ../src/CommandManager.cpp:51
msgid "Can't redo"
msgstr "不能重做"
#: ../src/Commands.cpp:189
msgid "Resize level"
msgstr "改变关卡大小"
-#: ../src/Commands.cpp:787
+#: ../src/Commands.cpp:781
msgid "Modify level property"
msgstr "修改关卡属性"
-#: ../src/Commands.cpp:895
+#: ../src/Commands.cpp:889
#, c-format
msgid "Add scenery layer %s"
msgstr "添加风景图层%s"
-#: ../src/Commands.cpp:895
+#: ../src/Commands.cpp:889
#, c-format
msgid "Delete scenery layer %s"
msgstr "删除风景图层%s"
-#: ../src/Commands.cpp:915
+#: ../src/Commands.cpp:909
#, c-format
msgid "Rename scenery layer %s to %s"
msgstr "将风景图层%s重命名为%s"
-#: ../src/Commands.cpp:987
+#: ../src/Commands.cpp:981
#, c-format
msgid "Move %d object(s) from layer %s to layer %s"
msgstr "将%d个对象从图层%s移动到图层%s"
+#: ../src/CreditsMenu.cpp:35 ../src/TitleMenu.cpp:53
+msgid "Credits"
+msgstr "作者"
+
# TRANSLATORS: Font used in GUI:
# - Use "knewave" for languages using Latin and Latin-derived alphabets
# - "DroidSansFallback" can be used for non-Latin writing systems
-#: ../src/Functions.cpp:556 ../src/Functions.cpp:557 ../src/Functions.cpp:558
-#: ../src/Functions.cpp:575
+#: ../src/Functions.cpp:562 ../src/Functions.cpp:563 ../src/Functions.cpp:564
+#: ../src/Functions.cpp:581
msgid "knewave"
msgstr "DroidSansFallback"
# TRANSLATORS: Font used for normal text:
+# - Use "Blokletters-Viltstift" for languages using Latin and Latin-derived alphabets
+# - "DroidSansFallback" can be used for non-Latin writing systems
# - Use "Blokletters-Viltstift" for languages using Latin and Latin-derived
# alphabets
-# - "DroidSansFallback" can be used for non-Latin writing systems
-#: ../src/Functions.cpp:562
+#: ../src/Functions.cpp:568
msgid "Blokletters-Viltstift"
msgstr "DroidSansFallback"
-#: ../src/Functions.cpp:661
+#: ../src/Functions.cpp:667
msgid "Loading..."
msgstr "正在读取..."
-#: ../src/Functions.cpp:1194 ../src/Functions.cpp:1221
-#: ../src/LevelEditor.cpp:473 ../src/LevelEditor.cpp:601
-#: ../src/LevelEditor.cpp:658 ../src/LevelEditor.cpp:714
-#: ../src/LevelEditor.cpp:795 ../src/LevelEditor.cpp:870
-#: ../src/LevelEditor.cpp:914 ../src/LevelEditor.cpp:1005
-#: ../src/LevelEditor.cpp:2717 ../src/LevelEditSelect.cpp:230
-#: ../src/LevelEditSelect.cpp:262 ../src/LevelEditSelect.cpp:298
+#: ../src/Functions.cpp:1201 ../src/Functions.cpp:1228
+#: ../src/Functions.cpp:1571 ../src/LevelEditor.cpp:472
+#: ../src/LevelEditor.cpp:600 ../src/LevelEditor.cpp:657
+#: ../src/LevelEditor.cpp:713 ../src/LevelEditor.cpp:794
+#: ../src/LevelEditor.cpp:869 ../src/LevelEditor.cpp:913
+#: ../src/LevelEditor.cpp:1004 ../src/LevelEditor.cpp:2707
+#: ../src/LevelEditSelect.cpp:242 ../src/LevelEditSelect.cpp:274
+#: ../src/LevelEditSelect.cpp:310
msgid "OK"
msgstr "确定"
-#: ../src/Functions.cpp:1195 ../src/Functions.cpp:1207
-#: ../src/Functions.cpp:1217 ../src/LevelEditor.cpp:477
-#: ../src/LevelEditor.cpp:605 ../src/LevelEditor.cpp:662
-#: ../src/LevelEditor.cpp:718 ../src/LevelEditor.cpp:799
-#: ../src/LevelEditor.cpp:874 ../src/LevelEditor.cpp:918
-#: ../src/LevelEditor.cpp:1009 ../src/LevelEditor.cpp:2721
-#: ../src/LevelEditSelect.cpp:234 ../src/LevelEditSelect.cpp:266
-#: ../src/LevelEditSelect.cpp:302 ../src/TitleMenu.cpp:513
+#: ../src/Functions.cpp:1202 ../src/Functions.cpp:1214
+#: ../src/Functions.cpp:1224 ../src/Functions.cpp:1575
+#: ../src/LevelEditor.cpp:476 ../src/LevelEditor.cpp:604
+#: ../src/LevelEditor.cpp:661 ../src/LevelEditor.cpp:717
+#: ../src/LevelEditor.cpp:798 ../src/LevelEditor.cpp:873
+#: ../src/LevelEditor.cpp:917 ../src/LevelEditor.cpp:1008
+#: ../src/LevelEditor.cpp:2711 ../src/LevelEditSelect.cpp:246
+#: ../src/LevelEditSelect.cpp:278 ../src/LevelEditSelect.cpp:314
+#: ../src/OptionsMenu.cpp:289
msgid "Cancel"
msgstr "取消"
-#: ../src/Functions.cpp:1199
+#: ../src/Functions.cpp:1206
msgid "Abort"
msgstr "终止"
-#: ../src/Functions.cpp:1200 ../src/Functions.cpp:1216
+#: ../src/Functions.cpp:1207 ../src/Functions.cpp:1223
msgid "Retry"
msgstr "重试"
-#: ../src/Functions.cpp:1201
+#: ../src/Functions.cpp:1208
msgid "Ignore"
msgstr "忽略"
-#: ../src/Functions.cpp:1205 ../src/Functions.cpp:1211
+#: ../src/Functions.cpp:1212 ../src/Functions.cpp:1218
msgid "Yes"
msgstr "是"
-#: ../src/Functions.cpp:1206 ../src/Functions.cpp:1212
+#: ../src/Functions.cpp:1213 ../src/Functions.cpp:1219
msgid "No"
msgstr "否"
# TRANSLATORS: Filename is coming before this text
-#: ../src/Functions.cpp:1330
+#: ../src/Functions.cpp:1342
#, c-format
msgid ""
"%s already exists.\n"
"Do you want to overwrite it?"
msgstr ""
"%s 已经存在。\n"
"你是否想要覆盖它?"
-#: ../src/Functions.cpp:1330
+#: ../src/Functions.cpp:1342
msgid "Overwrite Prompt"
msgstr "文件覆盖提示"
-#: ../src/Functions.cpp:1351 ../src/Functions.cpp:1369
+#: ../src/Functions.cpp:1363 ../src/Functions.cpp:1381
#, c-format
msgid "Can't open file %s."
msgstr "不能打开文件 %s。"
-#: ../src/Functions.cpp:1351 ../src/Functions.cpp:1369
-#: ../src/LevelEditor.cpp:3454 ../src/LevelEditor.cpp:3458
-#: ../src/LevelEditor.cpp:3475 ../src/LevelEditor.cpp:3480
-#: ../src/LevelEditor.cpp:3497 ../src/LevelEditor.cpp:3501
+#: ../src/Functions.cpp:1363 ../src/Functions.cpp:1381
+#: ../src/LevelEditor.cpp:3447 ../src/LevelEditor.cpp:3451
+#: ../src/LevelEditor.cpp:3468 ../src/LevelEditor.cpp:3473
+#: ../src/LevelEditor.cpp:3490 ../src/LevelEditor.cpp:3494
msgid "Error"
msgstr "错误"
+#: ../src/Functions.cpp:1512
+msgid "Save File"
+msgstr "保存文件"
+
+#: ../src/Functions.cpp:1512
+msgid "Load File"
+msgstr "打开文件"
+
+#: ../src/Functions.cpp:1516
+msgid "Search In"
+msgstr "在此搜索"
+
+#: ../src/Functions.cpp:1526
+msgid "File Name"
+msgstr "文件名"
+
# TRANSLATORS: Please do not remove %s or %d from your translation:
# - %d means the level number in a levelpack
# - %s means the name of current level
-#: ../src/Game.cpp:280 ../src/Game.cpp:1206
+#: ../src/Game.cpp:281 ../src/Game.cpp:1202
#, c-format
msgid "Level %d %s"
msgstr "第 %d 关 %s"
# TRANSLATORS: Please do not remove %s from your translation:
# - %s will be replaced with current action key
#: ../src/Game.cpp:882
#, c-format
msgid "Press %s key to save the game."
msgstr "按 %s 键来保存游戏。"
# TRANSLATORS: Please do not remove %s from your translation:
# - %s will be replaced with current action key
#: ../src/Game.cpp:887
#, c-format
msgid "Press %s key to swap the position of player and shadow."
msgstr "按 %s 键交换你和阴影的位置。"
# TRANSLATORS: Please do not remove %s from your translation:
# - %s will be replaced with current action key
#: ../src/Game.cpp:892
#, c-format
msgid "Press %s key to activate the switch."
msgstr "按 %s 键来激活开关。"
# TRANSLATORS: Please do not remove %s from your translation:
# - %s will be replaced with current action key
#: ../src/Game.cpp:897
#, c-format
msgid "Press %s key to teleport."
msgstr "按 %s 键传送。"
# TRANSLATORS: Please do not remove %s from your translation:
# - first %s means currently configured key to restart game
# - Second %s means configured key to load from last save
-#: ../src/Game.cpp:941
+#: ../src/Game.cpp:939
#, c-format
msgid "Press %s to restart current level or press %s to load the game."
msgstr "按 %s 键重新开始游戏,或者按 %s 键读取进度。"
# TRANSLATORS: Please do not remove %s from your translation:
# - %s will be replaced with currently configured key to restart game
-#: ../src/Game.cpp:953
+#: ../src/Game.cpp:950
#, c-format
msgid "Press %s to restart current level."
msgstr "按 %s 键重新开始游戏。"
-#: ../src/Game.cpp:967
+#: ../src/Game.cpp:963
msgid "Your shadow has died."
msgstr "你的阴影死掉了。"
-#: ../src/Game.cpp:1023
+#: ../src/Game.cpp:1019
#, c-format
msgid "%d recordings"
msgstr "记录数 %d"
-#: ../src/Game.cpp:1194
+#: ../src/Game.cpp:1190
msgid "You've finished:"
msgstr "恭喜你完成了:"
# TRANSLATORS: Please do not remove %-.2f from your translation:
# - %-.2f means time in seconds
# - s is shortened form of a second. Try to keep it so.
-#: ../src/Game.cpp:1261
+#: ../src/Game.cpp:1257
#, c-format
msgid "Time: %-.2fs"
msgstr "时间: %-.2f秒"
# TRANSLATORS: Please do not remove %-.2f from your translation:
# - %-.2f means time in seconds
# - s is shortened form of a second. Try to keep it so.
-#: ../src/Game.cpp:1270
+#: ../src/Game.cpp:1266
#, c-format
msgid "Best time: %-.2fs"
msgstr "最佳时间: %-.2f秒"
-#: ../src/Game.cpp:1281
+#: ../src/Game.cpp:1277
#, c-format
msgid "Target time: %-.2fs"
msgstr "目标时间: %-.2f秒"
# TRANSLATORS: Please do not remove %d from your translation:
# - %d means the number of recordings user has made
-#: ../src/Game.cpp:1302
+#: ../src/Game.cpp:1298
#, c-format
msgid "Recordings: %d"
msgstr "记录次数: %d"
# TRANSLATORS: Please do not remove %d from your translation:
# - %d means the number of recordings user has made
-#: ../src/Game.cpp:1310
+#: ../src/Game.cpp:1306
#, c-format
msgid "Best recordings: %d"
msgstr "最佳记录次数: %d"
-#: ../src/Game.cpp:1320
+#: ../src/Game.cpp:1316
#, c-format
msgid "Target recordings: %d"
msgstr "目标记录次数: %d"
# TRANSLATORS: Please do not remove %s from your translation:
# - %s will be replaced with name of a prize medal (gold, silver or bronze)
-#: ../src/Game.cpp:1333
+#: ../src/Game.cpp:1329
#, c-format
msgid "You earned the %s medal"
msgstr "你拿到了%s"
-#: ../src/Game.cpp:1333
+#: ../src/Game.cpp:1329
msgid "GOLD"
msgstr "金牌"
-#: ../src/Game.cpp:1333
+#: ../src/Game.cpp:1329
msgid "SILVER"
msgstr "银牌"
-#: ../src/Game.cpp:1333
+#: ../src/Game.cpp:1329
msgid "BRONZE"
msgstr "铜牌"
# TRANSLATORS: used as return to the level selector menu
-#: ../src/Game.cpp:1360
+#: ../src/Game.cpp:1356
msgid "Menu"
msgstr "菜单"
# TRANSLATORS: used as restart level
-#: ../src/Game.cpp:1367 ../src/InputManager.cpp:44
+#: ../src/Game.cpp:1363 ../src/InputManager.cpp:47
msgid "Restart"
msgstr "重新开始"
# TRANSLATORS: used as next level
-#: ../src/Game.cpp:1374
+#: ../src/Game.cpp:1370
msgid "Next"
msgstr "下一关"
-#: ../src/Game.cpp:1400
+#: ../src/Game.cpp:1396
msgid "Game replay is done."
msgstr "游戏重放已经完成。"
-#: ../src/Game.cpp:1400
+#: ../src/Game.cpp:1396
msgid "Game Replay"
msgstr "游戏重放"
-#: ../src/Game.cpp:1675 ../src/Game.cpp:1677
+#: ../src/Game.cpp:1671 ../src/Game.cpp:1673
msgid "Congratulations"
msgstr "恭喜你"
-#: ../src/Game.cpp:1677
+#: ../src/Game.cpp:1673
msgid "You have finished the levelpack!"
msgstr "你已经完成了整个关卡包!"
-#: ../src/InputManager.cpp:43
+#: ../src/InputManager.cpp:46
msgid "Up (in menu)"
msgstr "上(在菜单中)"
-#: ../src/InputManager.cpp:43
+#: ../src/InputManager.cpp:46
msgid "Down (in menu)"
msgstr "下(在菜单中)"
-#: ../src/InputManager.cpp:43
+#: ../src/InputManager.cpp:46
msgid "Left"
msgstr "左"
-#: ../src/InputManager.cpp:43
+#: ../src/InputManager.cpp:46
msgid "Right"
msgstr "右"
-#: ../src/InputManager.cpp:43
+#: ../src/InputManager.cpp:46
msgid "Jump"
msgstr "跳跃"
-#: ../src/InputManager.cpp:43
+#: ../src/InputManager.cpp:46
msgid "Action"
msgstr "动作键"
-#: ../src/InputManager.cpp:43
+#: ../src/InputManager.cpp:46
msgid "Space (Record)"
msgstr "空格(记录键)"
-#: ../src/InputManager.cpp:43
+#: ../src/InputManager.cpp:46
msgid "Cancel recording"
msgstr "取消记录"
-#: ../src/InputManager.cpp:44
+#: ../src/InputManager.cpp:47
msgid "Escape"
msgstr "退出"
-#: ../src/InputManager.cpp:44
+#: ../src/InputManager.cpp:47
msgid "Tab (View shadow/Level prop.)"
msgstr "Tab (切换视角/关卡属性)"
-#: ../src/InputManager.cpp:44
+#: ../src/InputManager.cpp:47
msgid "Save game (in editor)"
msgstr "保存游戏(在地图编辑器中)"
-#: ../src/InputManager.cpp:44
+#: ../src/InputManager.cpp:47
msgid "Load game"
msgstr "读取游戏"
-#: ../src/InputManager.cpp:44
+#: ../src/InputManager.cpp:47
msgid "Swap (in editor)"
msgstr "交换玩家和阴影的位置(在地图编辑器中)"
-#: ../src/InputManager.cpp:45
+#: ../src/InputManager.cpp:48
msgid "Teleport (in editor)"
msgstr "传送(在地图编辑器中)"
-#: ../src/InputManager.cpp:45
+#: ../src/InputManager.cpp:48
msgid "Suicide (in editor)"
msgstr "自杀(在地图编辑器中)"
-#: ../src/InputManager.cpp:45
+#: ../src/InputManager.cpp:48
msgid "Shift (in editor)"
msgstr "Shift (地图编辑器辅助按键)"
-#: ../src/InputManager.cpp:45
+#: ../src/InputManager.cpp:48
msgid "Next block type (in Editor)"
msgstr "下一个砖块类型(在地图编辑器中)"
-#: ../src/InputManager.cpp:46
+#: ../src/InputManager.cpp:49
msgid "Previous block type (in editor)"
msgstr "上一个砖块类型(在地图编辑器中)"
-#: ../src/InputManager.cpp:46
+#: ../src/InputManager.cpp:49
msgid "Select (in menu)"
msgstr "选择键(在菜单中)"
-#: ../src/InputManager.cpp:71 ../src/InputManager.cpp:96
+# TRANSLAOTRS: This is used when the name of the key code is not found.
+#: ../src/InputManager.cpp:156
+#, c-format
+msgid "(Key %d)"
+msgstr "(按键 %d)"
+
+#: ../src/InputManager.cpp:163
+#, c-format
+msgid "Joystick axis %d %s"
+msgstr "手柄摇杆 %d %s"
+
+#: ../src/InputManager.cpp:166
+#, c-format
+msgid "Joystick button %d"
+msgstr "手柄按钮 %d"
+
+#: ../src/InputManager.cpp:171
+#, c-format
+msgid "Joystick hat %d left"
+msgstr "手柄帽 %d 向左"
+
+#: ../src/InputManager.cpp:174
+#, c-format
+msgid "Joystick hat %d right"
+msgstr "手柄帽 %d 向右"
+
+#: ../src/InputManager.cpp:177
+#, c-format
+msgid "Joystick hat %d up"
+msgstr "手柄帽 %d 向上"
+
+#: ../src/InputManager.cpp:180
+#, c-format
+msgid "Joystick hat %d down"
+msgstr "手柄帽 %d 向下"
+
+# TRANSLAOTRS: This is used when the JOYSTICK_HAT value is invalid.
+#: ../src/InputManager.cpp:185
+#, c-format
+msgid "Joystick hat %d %d"
+msgstr "手柄帽 %d %d"
+
+#: ../src/InputManager.cpp:202
msgid "OR"
msgstr "或"
-#: ../src/InputManager.cpp:241
+#: ../src/InputManager.cpp:416
msgid "Select an item and press a key to change it."
msgstr "选择一个条目并按下按键来修改它。"
-#: ../src/InputManager.cpp:244
+#: ../src/InputManager.cpp:419
msgid "Press backspace to clear the selected item."
msgstr "按 backspace 键清除选中的条目。"
#: ../src/LevelEditor.cpp:56
msgid "Block"
msgstr "砖块"
#: ../src/LevelEditor.cpp:56
msgid "Player Start"
msgstr "玩家起点"
#: ../src/LevelEditor.cpp:56
msgid "Shadow Start"
msgstr "阴影起点"
#: ../src/LevelEditor.cpp:57
msgid "Exit"
msgstr "终点"
#: ../src/LevelEditor.cpp:57
msgid "Shadow Block"
msgstr "阴影砖块"
#: ../src/LevelEditor.cpp:57
msgid "Spikes"
msgstr "带刺砖块"
#: ../src/LevelEditor.cpp:58
msgid "Checkpoint"
msgstr "记录点"
-#: ../src/LevelEditor.cpp:58 ../src/LevelEditSelect.cpp:293
+#: ../src/LevelEditor.cpp:58 ../src/LevelEditSelect.cpp:305
msgid "Swap"
msgstr "交换点"
#: ../src/LevelEditor.cpp:58
msgid "Fragile"
msgstr "易碎砖块"
#: ../src/LevelEditor.cpp:59
msgid "Moving Block"
msgstr "移动砖块"
#: ../src/LevelEditor.cpp:59
msgid "Moving Shadow Block"
msgstr "移动阴影砖块"
#: ../src/LevelEditor.cpp:59
msgid "Moving Spikes"
msgstr "移动的刺"
#: ../src/LevelEditor.cpp:60
msgid "Teleporter"
msgstr "传送点"
#: ../src/LevelEditor.cpp:60
msgid "Button"
msgstr "按钮"
#: ../src/LevelEditor.cpp:60
msgid "Switch"
msgstr "开关"
#: ../src/LevelEditor.cpp:61
msgid "Conveyor Belt"
msgstr "传送带"
#: ../src/LevelEditor.cpp:61
msgid "Shadow Conveyor Belt"
msgstr "阴影传送带"
#: ../src/LevelEditor.cpp:61
msgid "Notification Block"
msgstr "消息方块"
#: ../src/LevelEditor.cpp:61
msgid "Collectable"
msgstr "可收集的物品"
#: ../src/LevelEditor.cpp:61
msgid "Pushable"
msgstr "可推动方块"
-#: ../src/LevelEditor.cpp:65 ../src/LevelEditor.cpp:247
+#: ../src/LevelEditor.cpp:65 ../src/LevelEditor.cpp:246
msgid "Select"
msgstr "选择"
#: ../src/LevelEditor.cpp:65
msgid "Add"
msgstr "添加"
-#: ../src/LevelEditor.cpp:65 ../src/LevelEditor.cpp:248
+#: ../src/LevelEditor.cpp:65 ../src/LevelEditor.cpp:247
msgid "Delete"
msgstr "删除"
-#: ../src/LevelEditor.cpp:65 ../src/LevelPlaySelect.cpp:63
-#: ../src/TitleMenu.cpp:64
+#: ../src/LevelEditor.cpp:65 ../src/LevelPlaySelect.cpp:66
+#: ../src/TitleMenu.cpp:43
msgid "Play"
msgstr "开始游戏"
-#: ../src/LevelEditor.cpp:65 ../src/LevelEditor.cpp:2665
+#: ../src/LevelEditor.cpp:65 ../src/LevelEditor.cpp:2642
msgid "Level settings"
msgstr "关卡设置"
#: ../src/LevelEditor.cpp:65
msgid "Save level"
msgstr "保存关卡"
#: ../src/LevelEditor.cpp:65
msgid "Back to menu"
msgstr "回主菜单"
#: ../src/LevelEditor.cpp:65
msgid "Configure"
msgstr "设置"
-#: ../src/LevelEditor.cpp:204
+#: ../src/LevelEditor.cpp:203
msgid "Toggle"
msgstr "切换"
-#: ../src/LevelEditor.cpp:207
+#: ../src/LevelEditor.cpp:206
msgid "Complete"
msgstr "完整的"
-#: ../src/LevelEditor.cpp:208
+#: ../src/LevelEditor.cpp:207
msgid "One step"
msgstr "踩了一次"
-#: ../src/LevelEditor.cpp:209
+#: ../src/LevelEditor.cpp:208
msgid "Two steps"
msgstr "踩了两次"
-#: ../src/LevelEditor.cpp:210
+#: ../src/LevelEditor.cpp:209
msgid "Gone"
msgstr "已经破碎"
-#: ../src/LevelEditor.cpp:228
+#: ../src/LevelEditor.cpp:227
msgid "Negative infinity"
msgstr "负无穷"
-#: ../src/LevelEditor.cpp:230
+#: ../src/LevelEditor.cpp:229
msgid "Zero"
msgstr "零"
-#: ../src/LevelEditor.cpp:232
+#: ../src/LevelEditor.cpp:231
msgid "Level size"
msgstr "关卡大小"
-#: ../src/LevelEditor.cpp:234
+#: ../src/LevelEditor.cpp:233
msgid "Positive infinity"
msgstr "正无穷"
-#: ../src/LevelEditor.cpp:236
+#: ../src/LevelEditor.cpp:235
msgid "Default"
msgstr "默认"
-#: ../src/LevelEditor.cpp:245
+#: ../src/LevelEditor.cpp:244
msgid "Deselect"
msgstr "取消选择"
-#: ../src/LevelEditor.cpp:253 ../src/LevelEditor.cpp:963
+#: ../src/LevelEditor.cpp:252 ../src/LevelEditor.cpp:962
#, c-format
msgid "Horizontal repeat start: %s"
msgstr "水平重复起点: %s"
-#: ../src/LevelEditor.cpp:255 ../src/LevelEditor.cpp:964
+#: ../src/LevelEditor.cpp:254 ../src/LevelEditor.cpp:963
#, c-format
msgid "Horizontal repeat end: %s"
msgstr "水平重复终点: %s"
-#: ../src/LevelEditor.cpp:257 ../src/LevelEditor.cpp:965
+#: ../src/LevelEditor.cpp:256 ../src/LevelEditor.cpp:964
#, c-format
msgid "Vertical repeat start: %s"
msgstr "垂直重复起点: %s"
-#: ../src/LevelEditor.cpp:259 ../src/LevelEditor.cpp:966
+#: ../src/LevelEditor.cpp:258 ../src/LevelEditor.cpp:965
#, c-format
msgid "Vertical repeat end: %s"
msgstr "垂直重复终点: %s"
-#: ../src/LevelEditor.cpp:263 ../src/LevelEditor.cpp:977
+#: ../src/LevelEditor.cpp:262 ../src/LevelEditor.cpp:976
msgid "Custom scenery"
msgstr "自定义风景"
-#: ../src/LevelEditor.cpp:269 ../src/LevelEditor.cpp:510
-#: ../src/LevelEditor.cpp:512
+#: ../src/LevelEditor.cpp:268 ../src/LevelEditor.cpp:509
+#: ../src/LevelEditor.cpp:511
msgid "Visible"
msgstr "可见"
-#: ../src/LevelEditor.cpp:278
+#: ../src/LevelEditor.cpp:277
msgid "Link"
msgstr "链接"
-#: ../src/LevelEditor.cpp:279
+#: ../src/LevelEditor.cpp:278
msgid "Remove Links"
msgstr "移除链接"
-#: ../src/LevelEditor.cpp:283 ../src/LevelEditor.cpp:534
-#: ../src/LevelEditor.cpp:536
+#: ../src/LevelEditor.cpp:282 ../src/LevelEditor.cpp:533
+#: ../src/LevelEditor.cpp:535
msgid "Automatic"
msgstr "自动"
-#: ../src/LevelEditor.cpp:296
+#: ../src/LevelEditor.cpp:295
msgid "Path"
msgstr "路径"
-#: ../src/LevelEditor.cpp:297
+#: ../src/LevelEditor.cpp:296
msgid "Remove Path"
msgstr "移除路径"
-#: ../src/LevelEditor.cpp:299 ../src/LevelEditor.cpp:305
-#: ../src/LevelEditor.cpp:497 ../src/LevelEditor.cpp:499
+#: ../src/LevelEditor.cpp:298 ../src/LevelEditor.cpp:304
+#: ../src/LevelEditor.cpp:496 ../src/LevelEditor.cpp:498
msgid "Activated"
msgstr "激活"
-#: ../src/LevelEditor.cpp:300 ../src/LevelEditor.cpp:522
-#: ../src/LevelEditor.cpp:524
+#: ../src/LevelEditor.cpp:299 ../src/LevelEditor.cpp:521
+#: ../src/LevelEditor.cpp:523
msgid "Looping"
msgstr "循环"
-#: ../src/LevelEditor.cpp:306 ../src/LevelEditor.cpp:3301
+#: ../src/LevelEditor.cpp:305 ../src/LevelEditor.cpp:3291
msgid "Speed"
msgstr "速度"
-#: ../src/LevelEditor.cpp:316 ../src/LevelEditor.cpp:3286
+#: ../src/LevelEditor.cpp:315 ../src/LevelEditor.cpp:3276
msgid "Message"
msgstr "消息"
-#: ../src/LevelEditor.cpp:318 ../src/LevelEditor.cpp:356
-#: ../src/LevelEditor.cpp:619
+#: ../src/LevelEditor.cpp:317 ../src/LevelEditor.cpp:355
+#: ../src/LevelEditor.cpp:618
msgid "Scripting"
msgstr "脚本"
-#: ../src/LevelEditor.cpp:331 ../src/LevelEditor.cpp:756
-#: ../src/LevelEditor.cpp:774
+#: ../src/LevelEditor.cpp:330 ../src/LevelEditor.cpp:755
+#: ../src/LevelEditor.cpp:773
#, c-format
msgid "Background layer: %s"
msgstr "背景图层: %s"
-#: ../src/LevelEditor.cpp:338 ../src/LevelEditor.cpp:755
-#: ../src/LevelEditor.cpp:773
+#: ../src/LevelEditor.cpp:337 ../src/LevelEditor.cpp:754
+#: ../src/LevelEditor.cpp:772
msgid "Blocks layer"
msgstr "方块图层"
-#: ../src/LevelEditor.cpp:346 ../src/LevelEditor.cpp:756
-#: ../src/LevelEditor.cpp:774
+#: ../src/LevelEditor.cpp:345 ../src/LevelEditor.cpp:755
+#: ../src/LevelEditor.cpp:773
#, c-format
msgid "Foreground layer: %s"
msgstr "前景图层: %s"
-#: ../src/LevelEditor.cpp:350
+#: ../src/LevelEditor.cpp:349
msgid "Add new layer"
msgstr "添加图层"
-#: ../src/LevelEditor.cpp:351
+#: ../src/LevelEditor.cpp:350
msgid "Delete selected layer"
msgstr "删除选中图层"
-#: ../src/LevelEditor.cpp:352
+#: ../src/LevelEditor.cpp:351
msgid "Rename selected layer"
msgstr "重命名选中图层"
-#: ../src/LevelEditor.cpp:353
+#: ../src/LevelEditor.cpp:352
msgid "Move selected object to layer"
msgstr "移动选中对象到图层"
-#: ../src/LevelEditor.cpp:355 ../src/TitleMenu.cpp:275
+#: ../src/LevelEditor.cpp:354 ../src/OptionsMenu.cpp:55
msgid "Settings"
msgstr "选项"
-#: ../src/LevelEditor.cpp:382
+#: ../src/LevelEditor.cpp:381
msgid ""
"NOTE: the layers are sorted by name alphabetically.\n"
"The layer is background layer if its name is < 'f'\n"
"by dictionary order, otherwise it's foreground layer."
msgstr ""
"说明: 图层按照名字以字母顺序排列。\n"
"如果图层的名字按字典顺序 < 'f'\n"
"则它是背景图层,否则它是前景图层。"
-#: ../src/LevelEditor.cpp:455
+#: ../src/LevelEditor.cpp:454
msgid "Notification block"
msgstr "消息方块"
-#: ../src/LevelEditor.cpp:460
+#: ../src/LevelEditor.cpp:459
msgid "Enter message here:"
msgstr "输入消息:"
-#: ../src/LevelEditor.cpp:556
+#: ../src/LevelEditor.cpp:555
msgid "Behaviour"
msgstr "行为"
-#: ../src/LevelEditor.cpp:575
+#: ../src/LevelEditor.cpp:574
msgid "State"
msgstr "状态"
-#: ../src/LevelEditor.cpp:583
+#: ../src/LevelEditor.cpp:582
msgid "Conveyor belt speed"
msgstr "传送带速度"
-#: ../src/LevelEditor.cpp:588
+#: ../src/LevelEditor.cpp:587
msgid "Enter speed here:"
msgstr "输入速度:"
-#: ../src/LevelEditor.cpp:598
+#: ../src/LevelEditor.cpp:597
msgid "NOTE: 1 Speed = 0.08 block/s"
msgstr "说明: 速度 1 = 0.08 格/秒"
-#: ../src/LevelEditor.cpp:624
+#: ../src/LevelEditor.cpp:623
msgid "Id:"
msgstr "Id:"
-#: ../src/LevelEditor.cpp:683
+#: ../src/LevelEditor.cpp:682
msgid "Level Scripting"
msgstr "关卡脚本"
-#: ../src/LevelEditor.cpp:781
+#: ../src/LevelEditor.cpp:780
msgid "Add layer"
msgstr "添加图层"
-#: ../src/LevelEditor.cpp:786
+#: ../src/LevelEditor.cpp:785
msgid "Enter the layer name:"
msgstr "输入图层名称:"
-#: ../src/LevelEditor.cpp:826
+#: ../src/LevelEditor.cpp:825
#, c-format
msgid "Are you sure you want to delete layer '%s'?"
msgstr "你确定要删除图层 '%s' 吗?"
-#: ../src/LevelEditor.cpp:827
+#: ../src/LevelEditor.cpp:826
msgid "Delete layer"
msgstr "删除图层"
-#: ../src/LevelEditor.cpp:851
+#: ../src/LevelEditor.cpp:850
msgid "Rename layer"
msgstr "重命名图层"
-#: ../src/LevelEditor.cpp:856
+#: ../src/LevelEditor.cpp:855
#, c-format
msgid "Enter the new name for layer '%s':"
msgstr "输入图层 '%s' 的新名称:"
-#: ../src/LevelEditor.cpp:895
+#: ../src/LevelEditor.cpp:894
msgid "Move to layer"
msgstr "移动到图层"
-#: ../src/LevelEditor.cpp:900
+#: ../src/LevelEditor.cpp:899
msgid "Enter the layer name (create new layer if necessary):"
msgstr "输入图层名称 (必要时创建新图层):"
-#: ../src/LevelEditor.cpp:959
+#: ../src/LevelEditor.cpp:958
msgid "Repeat mode"
msgstr "重复模式"
-#: ../src/LevelEditor.cpp:982
+#: ../src/LevelEditor.cpp:981
msgid "Custom scenery:"
msgstr "自定义风景:"
-#: ../src/LevelEditor.cpp:1221 ../src/LevelEditor.cpp:1465
-#: ../src/LevelEditor.cpp:1476 ../src/LevelEditor.cpp:1509
-#: ../src/LevelEditor.cpp:4075
+#: ../src/LevelEditor.cpp:1220 ../src/LevelEditor.cpp:1460
+#: ../src/LevelEditor.cpp:1471 ../src/LevelEditor.cpp:1504
+#: ../src/LevelEditor.cpp:4083
msgid "Custom scenery block"
msgstr "自定义风景方块"
-#: ../src/LevelEditor.cpp:1433
+#: ../src/LevelEditor.cpp:1428
msgid "Toolbox"
msgstr "工具箱"
-#: ../src/LevelEditor.cpp:1465
+#: ../src/LevelEditor.cpp:1460
#, c-format
msgid "Resize %s"
msgstr "改变%s的大小"
-#: ../src/LevelEditor.cpp:1465
+#: ../src/LevelEditor.cpp:1460
#, c-format
msgid "Move %s"
msgstr "移动%s"
-#: ../src/LevelEditor.cpp:1468
+#: ../src/LevelEditor.cpp:1463
#, c-format
msgid "Move %d objects"
msgstr "移动%d个对象"
-#: ../src/LevelEditor.cpp:1476
+#: ../src/LevelEditor.cpp:1471
#, c-format
msgid "Add %s"
msgstr "添加%s"
-#: ../src/LevelEditor.cpp:1476
+#: ../src/LevelEditor.cpp:1471
#, c-format
msgid "Remove %s"
msgstr "移除%s"
-#: ../src/LevelEditor.cpp:1479
+#: ../src/LevelEditor.cpp:1474
#, c-format
msgid "Add %d objects"
msgstr "添加%d个对象"
-#: ../src/LevelEditor.cpp:1479
+#: ../src/LevelEditor.cpp:1474
#, c-format
msgid "Remove %d objects"
msgstr "移除%d个对象"
-#: ../src/LevelEditor.cpp:1485
+#: ../src/LevelEditor.cpp:1480
#, c-format
msgid "Add path to %s"
msgstr "添加路径到%s"
-#: ../src/LevelEditor.cpp:1490
+#: ../src/LevelEditor.cpp:1480
+#, c-format
+msgid "Remove a path point from %s"
+msgstr "移除%s的一个路径点"
+
+#: ../src/LevelEditor.cpp:1485
#, c-format
msgid "Remove all paths from %s"
msgstr "移除%s的所有路径"
-#: ../src/LevelEditor.cpp:1495
+#: ../src/LevelEditor.cpp:1490
#, c-format
msgid "Add link from %s to %s"
msgstr "添加从%s到%s的链接"
-#: ../src/LevelEditor.cpp:1500
+#: ../src/LevelEditor.cpp:1495
#, c-format
msgid "Remove all links from %s"
msgstr "移除%s的所有链接"
-#: ../src/LevelEditor.cpp:1506
+#: ../src/LevelEditor.cpp:1501
msgid "Modify the %2 property of %1"
msgstr "修改%1的%2属性"
-#: ../src/LevelEditor.cpp:1541
+#: ../src/LevelEditor.cpp:1548
#, c-format
msgid "Edit the script of %s"
msgstr "编辑%s的脚本"
-#: ../src/LevelEditor.cpp:1543
+#: ../src/LevelEditor.cpp:1550
msgid "Edit the script of level"
msgstr "编辑关卡脚本"
-#: ../src/LevelEditor.cpp:1895 ../src/LevelEditor.cpp:1963
+#: ../src/LevelEditor.cpp:1909 ../src/LevelEditor.cpp:1989
msgid "The level has unsaved changes."
msgstr "关卡有未保存的变更。"
-#: ../src/LevelEditor.cpp:1899 ../src/LevelEditor.cpp:1965
+#: ../src/LevelEditor.cpp:1913 ../src/LevelEditor.cpp:1991
msgid "Are you sure you want to quit?"
msgstr "你确定要退出吗?"
-#: ../src/LevelEditor.cpp:1899 ../src/LevelEditor.cpp:1965
+#: ../src/LevelEditor.cpp:1913 ../src/LevelEditor.cpp:1991
msgid "Quit prompt"
msgstr "退出提示"
-#: ../src/LevelEditor.cpp:2587 ../src/LevelEditor.cpp:2589
+#: ../src/LevelEditor.cpp:2585 ../src/LevelEditor.cpp:2587
#, c-format
msgid "Level \"%s\" saved"
msgstr "关卡“%s”已保存"
-#: ../src/LevelEditor.cpp:2587 ../src/LevelEditor.cpp:2589
+#: ../src/LevelEditor.cpp:2585 ../src/LevelEditor.cpp:2587
msgid "Saved"
msgstr "已保存"
-#: ../src/LevelEditor.cpp:2671 ../src/LevelEditSelect.cpp:203
+#: ../src/LevelEditor.cpp:2648 ../src/LevelEditSelect.cpp:206
msgid "Name:"
msgstr "名称:"
-#: ../src/LevelEditor.cpp:2677
+#: ../src/LevelEditor.cpp:2654
msgid "Theme:"
msgstr "主题:"
-#: ../src/LevelEditor.cpp:2685
+#: ../src/LevelEditor.cpp:2660
+msgid "Examples: %DATA%/themes/classic"
+msgstr "例子:%DATA%/themes/classic"
+
+#: ../src/LevelEditor.cpp:2662
+msgid "or %USER%/themes/Orange"
+msgstr "或者 %USER%/themes/Orange"
+
+#: ../src/LevelEditor.cpp:2665
+msgid "Music:"
+msgstr "音乐:"
+
+#: ../src/LevelEditor.cpp:2673
msgid "Target time (s):"
msgstr "目标时间(秒):"
-#: ../src/LevelEditor.cpp:2700
+#: ../src/LevelEditor.cpp:2688
msgid "Target recordings:"
msgstr "目标记录数:"
-#: ../src/LevelEditor.cpp:3454 ../src/LevelEditor.cpp:3475
-#: ../src/LevelEditor.cpp:3497
+#: ../src/LevelEditor.cpp:2703
+msgid "Restart level editor is required"
+msgstr "需要重新启动地图编辑器"
+
+#: ../src/LevelEditor.cpp:3447 ../src/LevelEditor.cpp:3468
+#: ../src/LevelEditor.cpp:3490
msgid "Please enter a layer name."
msgstr "请输入图层名称。"
-#: ../src/LevelEditor.cpp:3458 ../src/LevelEditor.cpp:3480
+#: ../src/LevelEditor.cpp:3451 ../src/LevelEditor.cpp:3473
#, c-format
msgid "The layer '%s' already exists."
msgstr "图层 '%s' 已经存在。"
-#: ../src/LevelEditor.cpp:3501
+#: ../src/LevelEditor.cpp:3494
msgid "Source and destination layers are the same."
msgstr "源和目标图层相同。"
-#: ../src/LevelEditor.cpp:3518
+#: ../src/LevelEditor.cpp:3511
msgid "Scenery"
msgstr "风景"
-#: ../src/LevelEditor.cpp:3865 ../src/LevelEditor.cpp:3893
+#: ../src/LevelEditor.cpp:3873 ../src/LevelEditor.cpp:3901
#, c-format
msgid "Speed: %d = %0.2f block/s"
msgstr "速度: %d = %0.2f 格/秒"
-#: ../src/LevelEditor.cpp:3878
+#: ../src/LevelEditor.cpp:3886
msgid "Stop at this point"
msgstr "在此点停止"
-#: ../src/LevelEditor.cpp:3883
+#: ../src/LevelEditor.cpp:3891
#, c-format
msgid "Pause: %d = %0.3fs"
msgstr "暂停: %d = %0.3f 秒"
-#: ../src/LevelEditor.cpp:4362
+#: ../src/LevelEditor.cpp:4369
msgid "Stop"
msgstr "停止"
-#: ../src/LevelEditSelect.cpp:40 ../src/TitleMenu.cpp:66
+#: ../src/LevelEditSelect.cpp:40 ../src/TitleMenu.cpp:45
msgid "Map Editor"
msgstr "地图编辑器"
-#: ../src/LevelEditSelect.cpp:78
+#: ../src/LevelEditSelect.cpp:65
msgid "New Levelpack"
msgstr "新建关卡包"
-#: ../src/LevelEditSelect.cpp:83
+#: ../src/LevelEditSelect.cpp:70
msgid "Pack Properties"
msgstr "关卡包属性"
-#: ../src/LevelEditSelect.cpp:88
+#: ../src/LevelEditSelect.cpp:75
msgid "Remove Pack"
msgstr "删除关卡包"
-#: ../src/LevelEditSelect.cpp:93
+#: ../src/LevelEditSelect.cpp:80
msgid "Move Map"
msgstr "移动地图"
-#: ../src/LevelEditSelect.cpp:101
+#: ../src/LevelEditSelect.cpp:88
msgid "Remove Map"
msgstr "删除地图"
-#: ../src/LevelEditSelect.cpp:106
+#: ../src/LevelEditSelect.cpp:93
msgid "Edit Map"
msgstr "编辑地图"
-#: ../src/LevelEditSelect.cpp:200
+#: ../src/LevelEditSelect.cpp:203
msgid "Properties"
msgstr "属性"
-#: ../src/LevelEditSelect.cpp:212
+#: ../src/LevelEditSelect.cpp:215
msgid "Description:"
msgstr "描述:"
-#: ../src/LevelEditSelect.cpp:221
+#: ../src/LevelEditSelect.cpp:224
msgid "Congratulation text:"
msgstr "完成提示:"
-#: ../src/LevelEditSelect.cpp:250 ../src/LevelEditSelect.cpp:404
+#: ../src/LevelEditSelect.cpp:233
+msgid "Music list:"
+msgstr "音乐列表:"
+
+#: ../src/LevelEditSelect.cpp:262 ../src/LevelEditSelect.cpp:473
msgid "Add level"
msgstr "增加关卡"
-#: ../src/LevelEditSelect.cpp:253
+#: ../src/LevelEditSelect.cpp:265
msgid "File name:"
msgstr "文件名:"
-#: ../src/LevelEditSelect.cpp:278
+#: ../src/LevelEditSelect.cpp:290
msgid "Move level"
msgstr "移动关卡"
-#: ../src/LevelEditSelect.cpp:281
+#: ../src/LevelEditSelect.cpp:293
msgid "Level: "
msgstr "关卡: "
-#: ../src/LevelEditSelect.cpp:291
+#: ../src/LevelEditSelect.cpp:303
msgid "Before"
msgstr "之前"
-#: ../src/LevelEditSelect.cpp:292
+#: ../src/LevelEditSelect.cpp:304
msgid "After"
msgstr "之后"
-#: ../src/LevelEditSelect.cpp:466
+#: ../src/LevelEditSelect.cpp:532
#, c-format
msgid "Are you sure remove the level pack '%s'?"
msgstr "你确定要删除关卡包 '%s' 吗?"
-#: ../src/LevelEditSelect.cpp:466 ../src/LevelEditSelect.cpp:494
+#: ../src/LevelEditSelect.cpp:532 ../src/LevelEditSelect.cpp:560
msgid "Remove prompt"
msgstr "删除提示"
-#: ../src/LevelEditSelect.cpp:494
+#: ../src/LevelEditSelect.cpp:560
#, c-format
msgid "Are you sure remove the map '%s'?"
msgstr "你确定要删除关卡 '%s' 吗?"
-#: ../src/LevelEditSelect.cpp:612
+#: ../src/LevelEditSelect.cpp:681
msgid "No file name given for the new level."
msgstr "没有给新关卡指定文件名。"
-#: ../src/LevelEditSelect.cpp:612
+#: ../src/LevelEditSelect.cpp:681
msgid "Missing file name"
msgstr "文件名未指定"
-#: ../src/LevelEditSelect.cpp:703
+#: ../src/LevelEditSelect.cpp:772
msgid "The entered level number isn't valid!"
msgstr "输入的关卡编号无效!"
-#: ../src/LevelEditSelect.cpp:703
+#: ../src/LevelEditSelect.cpp:772
msgid "Illegal number"
msgstr "无效编号"
#: ../src/LevelInfoRender.cpp:19
msgid "Choose a level"
msgstr "选择一个关卡"
#: ../src/LevelInfoRender.cpp:20
msgid "Time:"
msgstr "时间:"
-#: ../src/LevelInfoRender.cpp:21 ../src/StatisticsScreen.cpp:259
+#: ../src/LevelInfoRender.cpp:21 ../src/StatisticsScreen.cpp:260
msgid "Recordings:"
msgstr "记录次数:"
-#: ../src/LevelPlaySelect.cpp:38
+#: ../src/LevelPlaySelect.cpp:41
msgid "Select Level"
msgstr "选择关卡"
-#: ../src/StatisticsManager.cpp:384
+# TRANSLATORS: Used for button which clear any level progress like unlocked levels and highscores.
+# TRANSLATORS: Used for button which clear any level progress like unlocked
+# levels and highscores.
+#: ../src/OptionsMenu.cpp:66
+msgid "Clear Progress"
+msgstr "清除进度"
+
+#: ../src/OptionsMenu.cpp:109
+msgid "General"
+msgstr "一般"
+
+#: ../src/OptionsMenu.cpp:110
+msgid "Controls"
+msgstr "控制"
+
+#: ../src/OptionsMenu.cpp:121
+msgid "Music"
+msgstr "音乐"
+
+#: ../src/OptionsMenu.cpp:129
+msgid "Sound"
+msgstr "音效"
+
+#: ../src/OptionsMenu.cpp:137
+msgid "Resolution"
+msgstr "分辨率"
+
+#: ../src/OptionsMenu.cpp:177
+msgid "Language"
+msgstr "语言"
+
+# TRANSLATORS: as detect user's language automatically
+#: ../src/OptionsMenu.cpp:185
+msgid "Auto-Detect"
+msgstr "自动检测"
+
+#: ../src/OptionsMenu.cpp:209
+msgid "Theme"
+msgstr "主题"
+
+#: ../src/OptionsMenu.cpp:247
+msgid "Internet proxy"
+msgstr "网络代理"
+
+#: ../src/OptionsMenu.cpp:256
+msgid "Fullscreen"
+msgstr "全屏幕"
+
+#: ../src/OptionsMenu.cpp:261
+msgid "Quick record"
+msgstr "快速记录"
+
+#: ../src/OptionsMenu.cpp:266
+msgid "Internet"
+msgstr "网络"
+
+#: ../src/OptionsMenu.cpp:271
+msgid "Fade transition"
+msgstr "淡出过渡"
+
+#: ../src/OptionsMenu.cpp:294
+msgid "Save Changes"
+msgstr "保存变更"
+
+#: ../src/OptionsMenu.cpp:513
+msgid "Do you really want to reset level progress?"
+msgstr "你确定要清除游戏进度吗?"
+
+#: ../src/OptionsMenu.cpp:513
+msgid "Warning"
+msgstr "警告"
+
+#: ../src/StatisticsManager.cpp:392
msgid "New achievement:"
msgstr "新成就:"
-#: ../src/StatisticsManager.cpp:392
+#: ../src/StatisticsManager.cpp:400
#, c-format
msgid "Achieved on %s"
msgstr "在 %s 达成成就"
-#: ../src/StatisticsManager.cpp:398
+#: ../src/StatisticsManager.cpp:406
msgid "Unknown achievement"
msgstr "未知成就"
-#: ../src/StatisticsManager.cpp:404
+#: ../src/StatisticsManager.cpp:412
#, c-format
msgid "Achieved %1.0f%%"
msgstr "已完成 %1.0f%%"
-#: ../src/StatisticsManager.cpp:408
+#: ../src/StatisticsManager.cpp:416
msgid "Not achieved"
msgstr "未完成"
-#: ../src/StatisticsScreen.cpp:58 ../src/TitleMenu.cpp:77
+#: ../src/StatisticsScreen.cpp:58 ../src/TitleMenu.cpp:55
msgid "Achievements and Statistics"
msgstr "成就与统计信息"
#: ../src/StatisticsScreen.cpp:167
msgid "Achievements"
msgstr "成就"
#: ../src/StatisticsScreen.cpp:168
msgid "Statistics"
msgstr "统计信息"
-#: ../src/StatisticsScreen.cpp:234
+#: ../src/StatisticsScreen.cpp:235
msgid "Total"
msgstr "总计"
-#: ../src/StatisticsScreen.cpp:246
+#: ../src/StatisticsScreen.cpp:247
msgid "Traveling distance (m)"
msgstr "旅行距离(米)"
-#: ../src/StatisticsScreen.cpp:247
+#: ../src/StatisticsScreen.cpp:248
msgid "Jump times"
msgstr "跳跃次数"
-#: ../src/StatisticsScreen.cpp:248
+#: ../src/StatisticsScreen.cpp:249
msgid "Die times"
msgstr "死亡次数"
-#: ../src/StatisticsScreen.cpp:249
+#: ../src/StatisticsScreen.cpp:250
msgid "Squashed times"
msgstr "被夹次数"
-#: ../src/StatisticsScreen.cpp:260
+#: ../src/StatisticsScreen.cpp:261
msgid "Switch pulled times:"
msgstr "使用开关次数:"
-#: ../src/StatisticsScreen.cpp:261
+#: ../src/StatisticsScreen.cpp:262
msgid "Swap times:"
msgstr "交换次数:"
-#: ../src/StatisticsScreen.cpp:262
+#: ../src/StatisticsScreen.cpp:263
msgid "Save times:"
msgstr "保存游戏次数:"
-#: ../src/StatisticsScreen.cpp:263
+#: ../src/StatisticsScreen.cpp:264
msgid "Load times:"
msgstr "读取游戏次数:"
-#: ../src/StatisticsScreen.cpp:268
+#: ../src/StatisticsScreen.cpp:269
msgid "Completed levels:"
msgstr "完成关卡数:"
-#: ../src/StatisticsScreen.cpp:306
+#: ../src/StatisticsScreen.cpp:307
msgid "In-game time:"
msgstr "游戏用时:"
-#: ../src/StatisticsScreen.cpp:308
+#: ../src/StatisticsScreen.cpp:309
msgid "Level editing time:"
msgstr "地图编辑用时:"
-#: ../src/StatisticsScreen.cpp:310
+#: ../src/StatisticsScreen.cpp:311
msgid "Created levels:"
msgstr "创建的关卡:"
-#: ../src/TitleMenu.cpp:65
+#: ../src/TitleMenu.cpp:44
msgid "Options"
msgstr "选项"
-#: ../src/TitleMenu.cpp:68
+#: ../src/TitleMenu.cpp:47
msgid "Quit"
msgstr "退出"
-#: ../src/TitleMenu.cpp:75 ../src/TitleMenu.cpp:755
-msgid "Credits"
-msgstr "作者"
-
-#: ../src/TitleMenu.cpp:151
+#: ../src/TitleMenu.cpp:131
msgid "Enable internet in order to install addons."
msgstr "启用网络访问才能下载附加组件。"
-#: ../src/TitleMenu.cpp:151
+#: ../src/TitleMenu.cpp:131
msgid "Internet disabled"
msgstr "网络已禁用"
-# TRANSLATORS: Used for button which clear any level progress like unlocked
-# levels and highscores.
-#: ../src/TitleMenu.cpp:284
-msgid "Clear Progress"
-msgstr "清除进度"
-
-#: ../src/TitleMenu.cpp:328
-msgid "General"
-msgstr "一般"
-
-#: ../src/TitleMenu.cpp:329
-msgid "Controls"
-msgstr "控制"
-
-#: ../src/TitleMenu.cpp:340
-msgid "Music"
-msgstr "音乐"
-
-#: ../src/TitleMenu.cpp:348
-msgid "Sound"
-msgstr "音效"
-
-#: ../src/TitleMenu.cpp:356
-msgid "Resolution"
-msgstr "分辨率"
-
-#: ../src/TitleMenu.cpp:396
-msgid "Language"
-msgstr "语言"
-
-# TRANSLATORS: as detect user's language automatically
-#: ../src/TitleMenu.cpp:404
-msgid "Auto-Detect"
-msgstr "自动检测"
-
-#: ../src/TitleMenu.cpp:428
-msgid "Theme"
-msgstr "主题"
-
-#: ../src/TitleMenu.cpp:466
-msgid "Internet proxy"
-msgstr "网络代理"
-
-#: ../src/TitleMenu.cpp:475
-msgid "Fullscreen"
-msgstr "全屏幕"
-
-#: ../src/TitleMenu.cpp:480
-msgid "Level themes"
-msgstr "关卡主题"
-
-#: ../src/TitleMenu.cpp:485
-msgid "Internet"
-msgstr "网络"
-
-#: ../src/TitleMenu.cpp:490
-msgid "Fade transition"
-msgstr "淡出过渡"
-
-#: ../src/TitleMenu.cpp:495
-msgid "Quick record"
-msgstr "快速记录"
-
-#: ../src/TitleMenu.cpp:518
-msgid "Save Changes"
-msgstr "保存变更"
-
-#: ../src/TitleMenu.cpp:693
-msgid "Do you really want to reset level progress?"
-msgstr "你确定要清除游戏进度吗?"
-
-#: ../src/TitleMenu.cpp:693
-msgid "Warning"
-msgstr "警告"
-
# TRANSLATORS: name of a key
msgid "backspace"
msgstr "backspace"
# TRANSLATORS: name of a key
msgid "tab"
msgstr "tab"
# TRANSLATORS: name of a key
msgid "clear"
msgstr "clear"
# TRANSLATORS: name of a key
msgid "return"
msgstr "回车"
# TRANSLATORS: name of a key
msgid "pause"
msgstr "pause"
# TRANSLATORS: name of a key
msgid "escape"
msgstr "escape"
# TRANSLATORS: name of a key
msgid "space"
msgstr "空格"
# TRANSLATORS: name of a key
msgid "delete"
msgstr "delete"
# TRANSLATORS: name of a key
msgid "enter"
msgstr "enter"
# TRANSLATORS: name of a key
msgid "equals"
msgstr "equals"
# TRANSLATORS: name of a key
msgid "up"
msgstr "上"
# TRANSLATORS: name of a key
msgid "down"
msgstr "下"
# TRANSLATORS: name of a key
msgid "right"
msgstr "右"
# TRANSLATORS: name of a key
msgid "left"
msgstr "左"
# TRANSLATORS: name of a key
msgid "insert"
msgstr "insert"
# TRANSLATORS: name of a key
msgid "home"
msgstr "home"
# TRANSLATORS: name of a key
msgid "end"
msgstr "end"
# TRANSLATORS: name of a key
msgid "page up"
msgstr "page up"
# TRANSLATORS: name of a key
msgid "page down"
msgstr "page down"
# TRANSLATORS: name of a key
msgid "numlock"
msgstr "numlock"
# TRANSLATORS: name of a key
msgid "caps lock"
msgstr "caps lock"
# TRANSLATORS: name of a key
msgid "scroll lock"
msgstr "scroll lock"
# TRANSLATORS: name of a key
msgid "right shift"
msgstr "右 shift"
# TRANSLATORS: name of a key
msgid "left shift"
msgstr "左 shift"
# TRANSLATORS: name of a key
msgid "right ctrl"
msgstr "右 ctrl"
# TRANSLATORS: name of a key
msgid "left ctrl"
msgstr "左 ctrl"
# TRANSLATORS: name of a key
msgid "right alt"
msgstr "右 alt"
# TRANSLATORS: name of a key
msgid "left alt"
msgstr "左 alt"
# TRANSLATORS: name of a key
msgid "right meta"
msgstr "右 meta"
# TRANSLATORS: name of a key
msgid "left meta"
msgstr "左 meta"
# TRANSLATORS: name of a key
msgid "left super"
msgstr "左 super"
# TRANSLATORS: name of a key
msgid "right super"
msgstr "右 super"
# TRANSLATORS: name of a key
msgid "alt gr"
msgstr "alt gr"
# TRANSLATORS: name of a key
msgid "compose"
msgstr "compose"
# TRANSLATORS: name of a key
msgid "help"
msgstr "help"
# TRANSLATORS: name of a key
msgid "print screen"
msgstr "print screen"
# TRANSLATORS: name of a key
msgid "sys req"
msgstr "sys req"
# TRANSLATORS: name of a key
msgid "break"
msgstr "break"
# TRANSLATORS: name of a key
msgid "menu"
msgstr "menu"
# TRANSLATORS: name of a key
msgid "power"
msgstr "power"
# TRANSLATORS: name of a key
msgid "euro"
msgstr "euro"
# TRANSLATORS: name of a key
msgid "undo"
msgstr "undo"
+
+#~ msgid "Level themes"
+#~ msgstr "关卡主题"

File Metadata

Mime Type
text/x-diff
Expires
Fri, May 15, 7:19 PM (3 h, 16 m ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
63961
Default Alt Text
(109 KB)

Event Timeline