summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPiotr Dziwinski <piotrdz@gmail.com>2013-01-04 00:05:28 +0100
committerPiotr Dziwinski <piotrdz@gmail.com>2013-01-04 00:05:28 +0100
commit89a3f586a224328b430ba2483ce5c12b33709c6a (patch)
tree691e1da1e297f7ea9045be5454747ca454680cb2 /src
parentc9335534d6bc7a59dbabf6976d41fd1e5edc8ab3 (diff)
parent1d42c71645548ae86b438c84898a07b539f262ac (diff)
downloadcolobot-89a3f586a224328b430ba2483ce5c12b33709c6a.tar.gz
colobot-89a3f586a224328b430ba2483ce5c12b33709c6a.tar.bz2
colobot-89a3f586a224328b430ba2483ce5c12b33709c6a.zip
Merge branch 'dev' into dev-graphics
Diffstat (limited to 'src')
-rw-r--r--src/CBot/CBotString.cpp54
-rw-r--r--src/CBot/CMakeLists.txt3
-rw-r--r--src/CBot/tests/CBot_console/CMakeLists.txt9
-rw-r--r--src/CMakeLists.txt39
-rw-r--r--src/app/app.cpp209
-rw-r--r--src/app/app.h14
-rw-r--r--src/common/config.h.cmake11
-rw-r--r--src/common/global.h2
-rw-r--r--src/common/image.cpp4
-rw-r--r--src/common/restext.cpp4
-rw-r--r--src/common/test/CMakeLists.txt9
-rw-r--r--src/desktop/.gitignore1
-rw-r--r--src/desktop/CMakeLists.txt97
-rw-r--r--src/desktop/colobot.desktop.in6
-rw-r--r--src/desktop/colobot.ini3
-rw-r--r--src/desktop/colobot.pod47
-rw-r--r--src/desktop/colobot.svg238
-rwxr-xr-xsrc/desktop/create_desktop_file.sh18
-rw-r--r--src/desktop/po/colobot-desktop.pot134
-rw-r--r--src/desktop/po/fr.po153
-rw-r--r--src/desktop/po4a.cfg4
-rw-r--r--src/graphics/engine/test/CMakeLists.txt9
-rw-r--r--src/graphics/engine/text.cpp2
-rw-r--r--src/graphics/opengl/test/CMakeLists.txt7
-rw-r--r--src/math/test/CMakeLists.txt9
-rw-r--r--src/object/brain.cpp27
-rw-r--r--src/object/robotmain.cpp12
-rw-r--r--src/object/task/taskgoto.cpp4
-rw-r--r--src/plugins/plugininterface.h65
-rw-r--r--src/plugins/pluginloader.cpp124
-rw-r--r--src/plugins/pluginloader.h87
-rw-r--r--src/plugins/pluginmanager.cpp132
-rw-r--r--src/plugins/pluginmanager.h87
-rw-r--r--src/plugins/test/CMakeLists.txt12
-rw-r--r--src/plugins/test/colobot.ini3
-rw-r--r--src/plugins/test/manager_test.cpp31
-rw-r--r--src/po/CMakeLists.txt18
-rw-r--r--src/po/colobot.pot1818
-rw-r--r--src/po/de.po2684
-rw-r--r--src/po/fr.po2688
-rw-r--r--src/po/pl.po2705
-rw-r--r--src/script/script.cpp47
-rw-r--r--src/sound/oalsound/alsound.cpp (renamed from src/sound/plugins/oalsound/alsound.cpp)70
-rw-r--r--src/sound/oalsound/alsound.h (renamed from src/sound/plugins/oalsound/alsound.h)10
-rw-r--r--src/sound/oalsound/buffer.cpp (renamed from src/sound/plugins/oalsound/buffer.cpp)4
-rw-r--r--src/sound/oalsound/buffer.h (renamed from src/sound/plugins/oalsound/buffer.h)0
-rw-r--r--src/sound/oalsound/channel.cpp (renamed from src/sound/plugins/oalsound/channel.cpp)26
-rw-r--r--src/sound/oalsound/channel.h (renamed from src/sound/plugins/oalsound/channel.h)0
-rw-r--r--src/sound/oalsound/check.h (renamed from src/sound/plugins/oalsound/check.h)0
-rw-r--r--src/sound/plugins/oalsound/CMakeLists.txt23
-rw-r--r--src/sound/plugins/oalsound/test/CMakeLists.txt11
-rw-r--r--src/sound/plugins/oalsound/test/plugin_test.cpp40
-rw-r--r--src/sound/sound.h6
-rw-r--r--src/ui/edit.cpp60
-rw-r--r--src/ui/edit.h2
-rw-r--r--src/ui/maindialog.cpp152
-rw-r--r--src/ui/test/CMakeLists.txt10
57 files changed, 7149 insertions, 4895 deletions
diff --git a/src/CBot/CBotString.cpp b/src/CBot/CBotString.cpp
index 4795b63..b1b5fc4 100644
--- a/src/CBot/CBotString.cpp
+++ b/src/CBot/CBotString.cpp
@@ -127,7 +127,8 @@ CBotString::CBotString()
CBotString::~CBotString()
{
- free(m_ptr); //we can call free on null pointer as it's save
+ delete[] m_ptr;
+ m_ptr = nullptr;
}
@@ -138,7 +139,7 @@ CBotString::CBotString(const char* p)
m_ptr = NULL;
if (m_lg>0)
{
- m_ptr = static_cast<char*>(malloc(m_lg+1));
+ m_ptr = new char[m_lg+1];
strcpy(m_ptr, p);
}
}
@@ -150,7 +151,7 @@ CBotString::CBotString(const CBotString& srcString)
m_ptr = NULL;
if (m_lg>0)
{
- m_ptr = static_cast<char*>(malloc(m_lg+1));
+ m_ptr = new char[m_lg+1];
strcpy(m_ptr, srcString.m_ptr);
}
}
@@ -285,12 +286,12 @@ CBotString CBotString::Mid(int start, int lg)
if ( lg < 0 ) lg = m_lg - start;
- char* p = static_cast<char*>(malloc(m_lg+1));
+ char* p = new char[m_lg+1];
strcpy(p, m_ptr+start);
p[lg] = 0;
res = p;
- free(p);
+ delete[] p;
return res;
}
@@ -314,15 +315,16 @@ void CBotString::MakeLower()
bool CBotString::LoadString(unsigned int id)
{
- const char * str = NULL;
+ const char * str = nullptr;
str = MapIdToString(static_cast<EID>(id));
- if (m_ptr != NULL) free(m_ptr);
+ if (m_ptr != nullptr)
+ delete[] m_ptr;
m_lg = strlen(str);
m_ptr = NULL;
if (m_lg > 0)
{
- m_ptr = static_cast<char*>(malloc(m_lg+1));
+ m_ptr = new char[m_lg+1];
strcpy(m_ptr, str);
return true;
}
@@ -332,14 +334,14 @@ bool CBotString::LoadString(unsigned int id)
const CBotString& CBotString::operator=(const CBotString& stringSrc)
{
- free(m_ptr);
- m_ptr = NULL;
+ delete[] m_ptr;
+ m_ptr = nullptr;
m_lg = stringSrc.m_lg;
if (m_lg > 0)
{
- m_ptr = static_cast<char*>(malloc(m_lg+1));
+ m_ptr = new char[m_lg+1];
strcpy(m_ptr, stringSrc.m_ptr);
}
@@ -355,13 +357,13 @@ CBotString operator+(const CBotString& string, const char * lpsz)
const CBotString& CBotString::operator+(const CBotString& stringSrc)
{
- char* p = static_cast<char*>(malloc(m_lg+stringSrc.m_lg+1));
+ char* p = new char[m_lg+stringSrc.m_lg+1];
if (m_ptr!=NULL) strcpy(p, m_ptr);
char* pp = p + m_lg;
if (stringSrc.m_ptr!=NULL) strcpy(pp, stringSrc.m_ptr);
- free(m_ptr);
+ delete[] m_ptr;
m_ptr = p;
m_lg += stringSrc.m_lg;
@@ -370,11 +372,11 @@ const CBotString& CBotString::operator+(const CBotString& stringSrc)
const CBotString& CBotString::operator=(const char ch)
{
- free(m_ptr);
+ delete[] m_ptr;
m_lg = 1;
- m_ptr = static_cast<char*>(malloc(2));
+ m_ptr = new char[2];
m_ptr[0] = ch;
m_ptr[1] = 0;
@@ -383,16 +385,16 @@ const CBotString& CBotString::operator=(const char ch)
const CBotString& CBotString::operator=(const char* pString)
{
- free(m_ptr);
- m_ptr = NULL;
+ delete[] m_ptr;
+ m_ptr = nullptr;
- if (pString != NULL)
+ if (pString != nullptr)
{
m_lg = strlen(pString);
if (m_lg != 0)
{
- m_ptr = static_cast<char*>(malloc(m_lg+1));
+ m_ptr = new char[m_lg+1];
strcpy(m_ptr, pString);
}
}
@@ -403,13 +405,13 @@ const CBotString& CBotString::operator=(const char* pString)
const CBotString& CBotString::operator+=(const char ch)
{
- char* p = static_cast<char*>(malloc(m_lg+2));
+ char* p = new char[m_lg+2];
- if (m_ptr!=NULL) strcpy(p, m_ptr);
+ if (m_ptr != nullptr) strcpy(p, m_ptr);
p[m_lg++] = ch;
p[m_lg] = 0;
- free(m_ptr);
+ delete[] m_ptr;
m_ptr = p;
@@ -418,7 +420,7 @@ const CBotString& CBotString::operator+=(const char ch)
const CBotString& CBotString::operator+=(const CBotString& str)
{
- char* p = static_cast<char*>(malloc(m_lg+str.m_lg+1));
+ char* p = new char[m_lg+str.m_lg+1];
strcpy(p, m_ptr);
char* pp = p + m_lg;
@@ -426,7 +428,7 @@ const CBotString& CBotString::operator+=(const CBotString& str)
m_lg = m_lg + str.m_lg;
- free(m_ptr);
+ delete[] m_ptr;
m_ptr = p;
@@ -500,8 +502,8 @@ bool CBotString::IsEmpty() const
void CBotString::Empty()
{
- free(m_ptr);
- m_ptr = NULL;
+ delete[] m_ptr;
+ m_ptr = nullptr;
m_lg = 0;
}
diff --git a/src/CBot/CMakeLists.txt b/src/CBot/CMakeLists.txt
index 271f2ce..daf08c6 100644
--- a/src/CBot/CMakeLists.txt
+++ b/src/CBot/CMakeLists.txt
@@ -16,6 +16,5 @@ if(${CBOT_STATIC})
add_library(CBot STATIC ${SOURCES})
else()
add_library(CBot SHARED ${SOURCES})
+ install(TARGETS CBot LIBRARY DESTINATION ${COLOBOT_INSTALL_LIB_DIR})
endif()
-
-INSTALL_TARGETS(/lib CBot)
diff --git a/src/CBot/tests/CBot_console/CMakeLists.txt b/src/CBot/tests/CBot_console/CMakeLists.txt
index 7d9f034..9f0f244 100644
--- a/src/CBot/tests/CBot_console/CMakeLists.txt
+++ b/src/CBot/tests/CBot_console/CMakeLists.txt
@@ -3,11 +3,14 @@ cmake_minimum_required(VERSION 2.8)
project(CBot_console C CXX)
# Build with debugging symbols
-set(CMAKE_BUILD_TYPE debug)
+if(NOT CMAKE_BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE debug)
+endif(NOT CMAKE_BUILD_TYPE)
# Global compile flags
-set(CMAKE_CXX_FLAGS_RELEASE "-O2 -Wall -Wold-style-cast -std=gnu++0x")
-set(CMAKE_CXX_FLAGS_DEBUG "-g -O0 -Wall -Wold-style-cast -std=gnu++0x")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wold-style-cast -std=gnu++0x")
+set(CMAKE_CXX_FLAGS_RELEASE "-O2")
+set(CMAKE_CXX_FLAGS_DEBUG "-g -O0")
# Include cmake directory
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${colobot_SOURCE_DIR}/cmake")
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index eaf404a..abd4a95 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -4,6 +4,10 @@ add_subdirectory(CBot)
# Tools directory is built separately
add_subdirectory(tools)
+add_subdirectory(po)
+
+add_subdirectory(desktop)
+
# Tests
if(${TESTS})
add_subdirectory(common/test)
@@ -25,9 +29,24 @@ endif()
# Additional libraries per platform
set(PLATFORM_LIBS "")
+set(OPENAL_LIBS "")
+
+if (${OPENAL_SOUND})
+ if (${MXE})
+ set(OPENAL_LIBS
+ ${CMAKE_FIND_ROOT_PATH}/lib/libOpenAL32.a
+ ${CMAKE_FIND_ROOT_PATH}/lib/libalut.a
+ )
+ else()
+ set(OPENAL_LIBS
+ openal
+ alut
+ )
+ endif()
+endif()
if (${MXE}) # MXE requires special treatment
- set(PLATFORM_LIBS ${MXE_LIBS})
+ set(PLATFORM_LIBS ${MXE_LIBS})
elseif (${PLATFORM_WINDOWS})
# because it isn't included in standard linking libraries
set(PLATFORM_LIBS "-lintl")
@@ -40,6 +59,15 @@ endif()
# Configure file
configure_file(common/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/common/config.h)
+set(OPENAL_SRC "")
+
+if (${OPENAL_SOUND})
+ set(OPENAL_SRC
+ sound/oalsound/alsound.cpp
+ sound/oalsound/buffer.cpp
+ sound/oalsound/channel.cpp
+ )
+endif()
# Source files
set(SOURCES
@@ -159,10 +187,10 @@ ui/slider.cpp
ui/studio.cpp
ui/target.cpp
ui/window.cpp
-plugins/pluginmanager.cpp
-plugins/pluginloader.cpp
+${OPENAL_SRC}
)
+
set(LIBS
${SDL_LIBRARY}
${SDLIMAGE_LIBRARY}
@@ -172,8 +200,8 @@ ${PNG_LIBRARIES}
${OPTIONAL_LIBS}
${PLATFORM_LIBS}
${Boost_LIBRARIES}
-ltdl
CBot
+${OPENAL_LIBS}
)
include_directories(
@@ -194,4 +222,5 @@ add_executable(colobot ${SOURCES})
target_link_libraries(colobot ${LIBS})
-INSTALL_TARGETS(/games colobot)
+install(TARGETS colobot RUNTIME DESTINATION ${COLOBOT_INSTALL_BIN_DIR})
+set_target_properties(colobot PROPERTIES INSTALL_RPATH ${COLOBOT_INSTALL_LIB_DIR})
diff --git a/src/app/app.cpp b/src/app/app.cpp
index 9f1667b..2155cf4 100644
--- a/src/app/app.cpp
+++ b/src/app/app.cpp
@@ -15,6 +15,7 @@
// * You should have received a copy of the GNU General Public License
// * along with this program. If not, see http://www.gnu.org/licenses/.
+#include "common/config.h"
#include "app/app.h"
@@ -30,17 +31,21 @@
#include "object/robotmain.h"
+#include <boost/filesystem.hpp>
#include <SDL/SDL.h>
#include <SDL/SDL_image.h>
-#include <fstream>
-
#include <stdlib.h>
#include <libintl.h>
#include <unistd.h>
+#ifdef OPENAL_SOUND
+ #include "sound/oalsound/alsound.h"
+#endif
+
+
template<> CApplication* CSingleton<CApplication>::mInstance = nullptr;
//! Static buffer for putenv locale
@@ -90,7 +95,6 @@ CApplication::CApplication()
m_private = new ApplicationPrivate();
m_iMan = new CInstanceManager();
m_eventQueue = new CEventQueue(m_iMan);
- m_pluginManager = new CPluginManager();
m_profile = new CProfile();
m_engine = nullptr;
@@ -138,9 +142,9 @@ CApplication::CApplication()
m_mouseButtonsState = 0;
m_trackedKeys = 0;
- m_dataPath = "./data";
+ m_dataPath = COLOBOT_DEFAULT_DATADIR;
- m_language = LANGUAGE_ENGLISH;
+ m_language = LANGUAGE_ENV;
m_lowCPU = true;
@@ -150,7 +154,6 @@ CApplication::CApplication()
m_dataDirs[DIR_AI] = "ai";
m_dataDirs[DIR_FONT] = "fonts";
m_dataDirs[DIR_HELP] = "help";
- m_dataDirs[DIR_I18N] = "i18n";
m_dataDirs[DIR_ICON] = "icons";
m_dataDirs[DIR_LEVEL] = "levels";
m_dataDirs[DIR_MODEL] = "models";
@@ -167,9 +170,6 @@ CApplication::~CApplication()
delete m_eventQueue;
m_eventQueue = nullptr;
- delete m_pluginManager;
- m_pluginManager = nullptr;
-
delete m_profile;
m_profile = nullptr;
@@ -260,7 +260,7 @@ ParseArgsStatus CApplication::ParseArguments(int argc, char *argv[])
else if (arg == "-help")
{
GetLogger()->Message("\n");
- GetLogger()->Message("COLOBOT GOLD pre-alpha\n");
+ GetLogger()->Message("Colobot %s (%s)\n",COLOBOT_CODENAME,COLOBOT_VERSION);
GetLogger()->Message("\n");
GetLogger()->Message("List of available options:\n");
GetLogger()->Message(" -help this help\n");
@@ -289,13 +289,10 @@ bool CApplication::Create()
{
GetLogger()->Info("Creating CApplication\n");
- // I know, a primitive way to check for dir, but works
- std::string readmePath = m_dataPath + "/README.txt";
- std::ifstream testReadme;
- testReadme.open(readmePath.c_str(), std::ios_base::in);
- if (!testReadme.good())
+ boost::filesystem::path dataPath(m_dataPath);
+ if (! (boost::filesystem::exists(dataPath) && boost::filesystem::is_directory(dataPath)) )
{
- GetLogger()->Error("Could not open test file in data dir: '%s'\n", readmePath.c_str());
+ GetLogger()->Error("Data directory '%s' doesn't exist or is not a directory\n", m_dataPath.c_str());
m_errorMessage = std::string("Could not read from data directory:\n") +
std::string("'") + m_dataPath + std::string("'\n") +
std::string("Please check your installation, or supply a valid data directory by -datadir option.");
@@ -303,66 +300,32 @@ bool CApplication::Create()
return false;
}
- /* Gettext initialization */
-
- std::string locale = "C";
- switch (m_language)
- {
- case LANGUAGE_ENGLISH:
- locale = "en_US.utf8";
- break;
-
- case LANGUAGE_GERMAN:
- locale = "de_DE.utf8";
- break;
-
- case LANGUAGE_FRENCH:
- locale = "fr_FR.utf8";
- break;
-
- case LANGUAGE_POLISH:
- locale = "pl_PL.utf8";
- break;
- }
-
- std::string langStr = "LANGUAGE=";
- langStr += locale;
- strcpy(S_LANGUAGE, langStr.c_str());
- putenv(S_LANGUAGE);
- setlocale(LC_ALL, locale.c_str());
-
- std::string trPath = m_dataPath + "/" + m_dataDirs[DIR_I18N];
- bindtextdomain("colobot", trPath.c_str());
- bind_textdomain_codeset("colobot", "UTF-8");
- textdomain("colobot");
-
- GetLogger()->Debug("Testing gettext translation: '%s'\n", gettext("Colobot rules!"));
-
- // Temporarily -- only in windowed mode
- m_deviceConfig.fullScreen = false;
+ SetLanguage(m_language);
//Create the sound instance.
- if (!GetProfile().InitCurrentDirectory()) {
+ if (!GetProfile().InitCurrentDirectory())
+ {
GetLogger()->Warn("Config not found. Default values will be used!\n");
m_sound = new CSoundInterface();
- } else {
+ }
+ else
+ {
std::string path;
if (GetProfile().GetLocalProfileString("Resources", "Data", path))
m_dataPath = path;
- m_pluginManager->LoadFromProfile();
- m_sound = static_cast<CSoundInterface*>(CInstanceManager::GetInstancePointer()->SearchInstance(CLASS_SOUND));
-
- if (!m_sound) {
- GetLogger()->Error("Sound not loaded, falling back to fake sound!\n");
- m_sound = new CSoundInterface();
- }
+ #ifdef OPENAL_SOUND
+ m_sound = static_cast<CSoundInterface *>(new ALSound());
+ #else
+ GetLogger()->Info("No sound support.\n");
+ m_sound = new CSoundInterface();
+ #endif
m_sound->Create(true);
if (GetProfile().GetLocalProfileString("Resources", "Sound", path))
m_sound->CacheAll(path);
else
- m_sound->CacheAll(m_dataPath);
+ m_sound->CacheAll(GetDataSubdirPath(DIR_SOUND));
}
std::string standardInfoMessage =
@@ -397,7 +360,20 @@ bool CApplication::Create()
m_exitCode = 3;
return false;
}
-
+
+ // load settings from profile
+ int iValue;
+ if ( GetProfile().GetLocalProfileInt("Setup", "Resolution", iValue) ) {
+ std::vector<Math::IntPoint> modes;
+ GetVideoResolutionList(modes, true, true);
+ if (static_cast<unsigned int>(iValue) < modes.size())
+ m_deviceConfig.size = modes.at(iValue);
+ }
+
+ if ( GetProfile().GetLocalProfileInt("Setup", "Fullscreen", iValue) ) {
+ m_deviceConfig.fullScreen = (iValue == 1);
+ }
+
if (! CreateVideoSurface())
return false; // dialog is in function
@@ -417,8 +393,7 @@ bool CApplication::Create()
// Don't generate joystick events
SDL_JoystickEventState(SDL_IGNORE);
-
-
+
// The video is ready, we can create and initalize the graphics device
m_device = new Gfx::CGLDevice(m_deviceConfig);
if (! m_device->Create() )
@@ -1459,24 +1434,26 @@ std::string CApplication::GetDataDirPath()
return m_dataPath;
}
-std::string CApplication::GetDataFilePath(DataDir dataDir, const std::string& subpath)
+std::string CApplication::GetDataSubdirPath(DataDir stdDir)
{
- int index = static_cast<int>(dataDir);
+ int index = static_cast<int>(stdDir);
assert(index >= 0 && index < DIR_MAX);
std::stringstream str;
str << m_dataPath;
str << "/";
str << m_dataDirs[index];
- str << "/";
- str << subpath;
return str.str();
}
-std::string CApplication::GetDataFilePath(const std::string& subpath)
+std::string CApplication::GetDataFilePath(DataDir stdDir, const std::string& subpath)
{
+ int index = static_cast<int>(stdDir);
+ assert(index >= 0 && index < DIR_MAX);
std::stringstream str;
str << m_dataPath;
str << "/";
+ str << m_dataDirs[index];
+ str << "/";
str << subpath;
return str.str();
}
@@ -1486,9 +1463,99 @@ Language CApplication::GetLanguage()
return m_language;
}
+char CApplication::GetLanguageChar()
+{
+ char langChar = 'E';
+ switch (m_language)
+ {
+ default:
+ case LANGUAGE_ENV:
+ case LANGUAGE_ENGLISH:
+ langChar = 'E';
+ break;
+
+ case LANGUAGE_GERMAN:
+ langChar = 'D';
+ break;
+
+ case LANGUAGE_FRENCH:
+ langChar = 'F';
+ break;
+
+ case LANGUAGE_POLISH:
+ langChar = 'P';
+ break;
+ }
+ return langChar;
+}
+
void CApplication::SetLanguage(Language language)
{
m_language = language;
+
+ /* Gettext initialization */
+
+ std::string locale = "";
+ switch (m_language)
+ {
+ default:
+ case LANGUAGE_ENV:
+ locale = "";
+ break;
+
+ case LANGUAGE_ENGLISH:
+ locale = "en_US.utf8";
+ break;
+
+ case LANGUAGE_GERMAN:
+ locale = "de_DE.utf8";
+ break;
+
+ case LANGUAGE_FRENCH:
+ locale = "fr_FR.utf8";
+ break;
+
+ case LANGUAGE_POLISH:
+ locale = "pl_PL.utf8";
+ break;
+ }
+
+ if (locale.empty())
+ {
+ char *envLang = getenv("LANGUAGE");
+ if (strncmp(envLang,"en",2) == 0)
+ {
+ m_language = LANGUAGE_ENGLISH;
+ }
+ else if (strncmp(envLang,"de",2) == 0)
+ {
+ m_language = LANGUAGE_GERMAN;
+ }
+ else if (strncmp(envLang,"fr",2) == 0)
+ {
+ m_language = LANGUAGE_FRENCH;
+ }
+ else if (strncmp(envLang,"po",2) == 0)
+ {
+ m_language = LANGUAGE_POLISH;
+ }
+ GetLogger()->Trace("SetLanguage: Inherit LANGUAGE=%s from environment\n", envLang);
+ }
+ else
+ {
+ std::string langStr = "LANGUAGE=";
+ langStr += locale;
+ strcpy(S_LANGUAGE, langStr.c_str());
+ putenv(S_LANGUAGE);
+ GetLogger()->Trace("SetLanguage: Set LANGUAGE=%s in environment\n", locale.c_str());
+ }
+ setlocale(LC_ALL, "");
+
+ bindtextdomain("colobot", COLOBOT_I18N_DIR);
+ bind_textdomain_codeset("colobot", "UTF-8");
+ textdomain("colobot");
+
+ GetLogger()->Debug("SetLanguage: Test gettext translation: '%s'\n", gettext("Colobot rules!"));
}
void CApplication::SetLowCPU(bool low)
diff --git a/src/app/app.h b/src/app/app.h
index d8f6206..4aa97ce 100644
--- a/src/app/app.h
+++ b/src/app/app.h
@@ -25,13 +25,12 @@
#include "common/global.h"
#include "common/singleton.h"
+#include "common/profile.h"
#include "graphics/core/device.h"
#include "graphics/engine/engine.h"
#include "graphics/opengl/gldevice.h"
-#include "plugins/pluginmanager.h"
-
#include <string>
#include <vector>
@@ -312,15 +311,16 @@ public:
//! Returns the full path to data directory
std::string GetDataDirPath();
- //! Returns the full path to a file in data directory given standard dir and subpath
- std::string GetDataFilePath(DataDir dir, const std::string &subpath);
+ //! Returns the full path to a standard dir in data directory
+ std::string GetDataSubdirPath(DataDir stdDir);
- //! Returns the full path to a file in data directory given custom subpath in data dir
- std::string GetDataFilePath(const std::string &subpath);
+ //! Returns the full path to a file in data directory given standard dir and subpath
+ std::string GetDataFilePath(DataDir stdDir, const std::string &subpath);
//! Management of language
//@{
Language GetLanguage();
+ char GetLanguageChar();
void SetLanguage(Language language);
//@}
@@ -379,8 +379,6 @@ protected:
CSoundInterface* m_sound;
//! Main class of the proper game engine
CRobotMain* m_robotMain;
- //! Plugin manager
- CPluginManager* m_pluginManager;
//! Profile (INI) reader/writer
CProfile* m_profile;
diff --git a/src/common/config.h.cmake b/src/common/config.h.cmake
index 8c85df1..022bb69 100644
--- a/src/common/config.h.cmake
+++ b/src/common/config.h.cmake
@@ -6,4 +6,13 @@
#cmakedefine PLATFORM_OTHER @PLATFORM_OTHER@
#cmakedefine USE_GLEW @USE_GLEW@
-#cmakedefine GLEW_STATIC \ No newline at end of file
+#cmakedefine GLEW_STATIC
+
+#define COLOBOT_VERSION "@COLOBOT_VERSION_FULL@"
+#define COLOBOT_CODENAME "@COLOBOT_VERSION_CODENAME@"
+#define COLOBOT_FULLNAME "Colobot @COLOBOT_VERSION_CODENAME@"
+
+#define COLOBOT_DEFAULT_DATADIR "@COLOBOT_INSTALL_DATA_DIR@"
+#define COLOBOT_I18N_DIR "@COLOBOT_INSTALL_I18N_DIR@"
+
+#cmakedefine OPENAL_SOUND
diff --git a/src/common/global.h b/src/common/global.h
index 864f0a4..0b2d8ec 100644
--- a/src/common/global.h
+++ b/src/common/global.h
@@ -165,6 +165,7 @@ enum Error
*/
enum Language
{
+ LANGUAGE_ENV = -1,
LANGUAGE_ENGLISH = 0,
LANGUAGE_FRENCH = 1,
LANGUAGE_GERMAN = 2,
@@ -180,7 +181,6 @@ enum DataDir
DIR_AI, //! < ai scripts
DIR_FONT, //! < fonts
DIR_HELP, //! < help files
- DIR_I18N, //! < translations
DIR_ICON, //! < icons & images
DIR_LEVEL, //! < levels
DIR_MODEL, //! < models
diff --git a/src/common/image.cpp b/src/common/image.cpp
index 638304e..be5711d 100644
--- a/src/common/image.cpp
+++ b/src/common/image.cpp
@@ -124,14 +124,14 @@ bool PNGSaveSurface(const char *filename, SDL_Surface *surf)
png_write_info(png_ptr, info_ptr);
png_set_packing(png_ptr);
- row_pointers = static_cast<png_bytep*>( malloc(sizeof(png_bytep)*surf->h) );
+ row_pointers = new png_bytep[surf->h];
for (i = 0; i < surf->h; i++)
row_pointers[i] = static_cast<png_bytep>( static_cast<Uint8 *>(surf->pixels) ) + i*surf->pitch;
png_write_image(png_ptr, row_pointers);
png_write_end(png_ptr, info_ptr);
/* Cleaning out... */
- free(row_pointers);
+ delete[] row_pointers;
png_destroy_write_struct(&png_ptr, &info_ptr);
fclose(fp);
diff --git a/src/common/restext.cpp b/src/common/restext.cpp
index da06131..4c56ae5 100644
--- a/src/common/restext.cpp
+++ b/src/common/restext.cpp
@@ -17,6 +17,8 @@
#include "common/restext.h"
+#include "common/config.h"
+
#include "common/global.h"
#include "common/event.h"
#include "common/logger.h"
@@ -39,7 +41,7 @@ const char* stringsCbot[TX_MAX] = { nullptr };
void InitializeRestext()
{
- stringsText[RT_VERSION_ID] = "Colobot Gold";
+ stringsText[RT_VERSION_ID] = COLOBOT_FULLNAME;
stringsText[RT_DISINFO_TITLE] = "SatCom";
stringsText[RT_WINDOW_MAXIMIZED] = "Maximize";
diff --git a/src/common/test/CMakeLists.txt b/src/common/test/CMakeLists.txt
index ccbb739..26a31c9 100644
--- a/src/common/test/CMakeLists.txt
+++ b/src/common/test/CMakeLists.txt
@@ -1,13 +1,16 @@
cmake_minimum_required(VERSION 2.8)
-set(CMAKE_BUILD_TYPE debug)
-set(CMAKE_CXX_FLAGS_DEBUG "-g -O0 -Wall -Wold-style-cast -std=gnu++0x")
+if(NOT CMAKE_BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE debug)
+endif(NOT CMAKE_BUILD_TYPE)
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wold-style-cast -std=gnu++0x")
+set(CMAKE_CXX_FLAGS_DEBUG "-g -O0")
include_directories(
.
../..
../../..
-${GTEST_DIR}/include
+${GTEST_INCLUDE_DIR}
)
diff --git a/src/desktop/.gitignore b/src/desktop/.gitignore
new file mode 100644
index 0000000..bade6f3
--- /dev/null
+++ b/src/desktop/.gitignore
@@ -0,0 +1 @@
+lang/
diff --git a/src/desktop/CMakeLists.txt b/src/desktop/CMakeLists.txt
new file mode 100644
index 0000000..ce4f48d
--- /dev/null
+++ b/src/desktop/CMakeLists.txt
@@ -0,0 +1,97 @@
+cmake_minimum_required(VERSION 2.8)
+
+# Install Desktop Entry file
+set(COLOBOT_DESKTOP_FILE colobot.desktop)
+add_custom_command(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${COLOBOT_DESKTOP_FILE}
+ COMMAND ./create_desktop_file.sh > ${CMAKE_CURRENT_BINARY_DIR}/${COLOBOT_DESKTOP_FILE}
+ WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
+ COMMENT "Build ${COLOBOT_DESKTOP_FILE}"
+ )
+add_custom_target(desktopfile ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${COLOBOT_DESKTOP_FILE})
+install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/${COLOBOT_DESKTOP_FILE}
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications/
+ )
+
+# Install Icon
+set(COLOBOT_ICON_FILE colobot.svg)
+install(
+ FILES ${CMAKE_CURRENT_SOURCE_DIR}/${COLOBOT_ICON_FILE}
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/scalable/apps/
+ )
+
+# Render SVG icon in various sizes
+find_program(RSVG_CONVERT rsvg-convert)
+if(RSVG_CONVERT)
+ foreach(PNGSIZE "48" "32" "16")
+ file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${PNGSIZE})
+ add_custom_target(resize_icon_${PNGSIZE} ALL
+ COMMAND ${RSVG_CONVERT} -w ${PNGSIZE} -h ${PNGSIZE} ${CMAKE_CURRENT_SOURCE_DIR}/${COLOBOT_ICON_FILE}
+ > ${CMAKE_CURRENT_BINARY_DIR}/${PNGSIZE}/colobot.png
+ )
+ install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/${PNGSIZE}/colobot.png
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/${PNGSIZE}x${PNGSIZE}/apps/
+ )
+ endforeach()
+endif()
+
+# Create manpage from pod-formatted file
+find_program(POD2MAN pod2man)
+if(POD2MAN)
+ set(COLOBOT_MANPAGE_SECTION 6)
+
+ macro(podman)
+ cmake_parse_arguments(PM "" "PODFILE;LOCALE;" "" ${ARGN})
+ if(PM_LOCALE)
+ # This copes with the fact that english has no "/LANG" in the paths and filenames.
+ set(SLASHLOCALE /${PM_LOCALE})
+ endif()
+ file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}${SLASHLOCALE})
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}${SLASHLOCALE}/colobot.${COLOBOT_MANPAGE_SECTION}
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${PM_PODFILE}
+ COMMAND ${POD2MAN} ARGS --section=${COLOBOT_MANPAGE_SECTION}
+ --center="Colobot" --stderr --utf8
+ --release="${COLOBOT_VERSION_FULL}"
+ ${CMAKE_CURRENT_SOURCE_DIR}/${PM_PODFILE}
+ ${CMAKE_CURRENT_BINARY_DIR}${SLASHLOCALE}/colobot.${COLOBOT_MANPAGE_SECTION}
+ COMMENT "Create ${SLASHLOCALE}/colobot.${COLOBOT_MANPAGE_SECTION} manpage"
+ )
+ add_custom_target(man${PM_LOCALE} ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}${SLASHLOCALE}/colobot.${COLOBOT_MANPAGE_SECTION})
+
+ install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}${SLASHLOCALE}/colobot.${COLOBOT_MANPAGE_SECTION}
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man${SLASHLOCALE}/man${COLOBOT_MANPAGE_SECTION}/ )
+
+ add_dependencies(man man${PM_LOCALE})
+ endmacro()
+
+ # Create the english manpage
+ podman(PODFILE colobot.pod)
+
+endif()
+
+# Translate translatable material
+find_program(PO4A po4a)
+
+if(PO4A)
+ add_custom_target(desktop_po4a
+ COMMAND ${PO4A} po4a.cfg
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ )
+ add_dependencies(desktopfile desktop_po4a)
+
+ if(POD2MAN)
+ add_custom_target(man_po4a
+ COMMAND ${PO4A} po4a.cfg
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ )
+ add_dependencies(man man_po4a)
+ file(GLOB LINGUAS_PO RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/po/ ${CMAKE_CURRENT_SOURCE_DIR}/po/*.po)
+ string(REGEX REPLACE ".po$" "" LINGUAS ${LINGUAS_PO})
+ foreach(LOCALE ${LINGUAS})
+ podman(PODFILE lang/${LOCALE}/colobot.pod LOCALE ${LOCALE})
+ endforeach()
+ endif()
+endif()
diff --git a/src/desktop/colobot.desktop.in b/src/desktop/colobot.desktop.in
new file mode 100644
index 0000000..9b09803
--- /dev/null
+++ b/src/desktop/colobot.desktop.in
@@ -0,0 +1,6 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Exec=colobot
+Icon=colobot
+Categories=Education;Robotics;Game;AdventureGame;StrategyGame;
diff --git a/src/desktop/colobot.ini b/src/desktop/colobot.ini
new file mode 100644
index 0000000..136e008
--- /dev/null
+++ b/src/desktop/colobot.ini
@@ -0,0 +1,3 @@
+Name="Colobot"
+GenericName="Game to learn programming"
+Comment="Colonize with bots"
diff --git a/src/desktop/colobot.pod b/src/desktop/colobot.pod
new file mode 100644
index 0000000..2fc3a00
--- /dev/null
+++ b/src/desktop/colobot.pod
@@ -0,0 +1,47 @@
+=encoding utf8
+
+=head1 COLOBOT
+
+colobot - educational programming strategy game
+
+=head1 SYNOPSIS
+
+B<colobot> [B<-datadir> I<path>] [B<-debug>] [B<-loglevel> I<level>] [B<-language> I<lang>]
+
+=head1 DESCRIPTION
+
+Colobot (Colonize with Bots) is an educational game aiming to teach
+programming through entertainment. You are playing as an astronaut on a
+journey with robot helpers to find a planet for colonization. It features 3D
+real-time graphics and a C++ and Java-like, object-oriented language, CBOT,
+which can be used to program the robots available in the game.
+
+=head1 OPTIONS
+
+=over 8
+
+=item B<-help>
+
+Display a short help text
+
+=item B<-datadir> F</path/to/data/>
+
+Set custom data directory path
+
+=item B<-debug>
+
+Enable debug mode (more info printed in logs)
+
+=item B<-loglevel> I<level>
+
+Set log level. Possible choices are: trace, debug, info, warn, error, none.
+
+=item B<-language> I<lang>
+
+Set language. Note that you can also fill the B<LANG> environment variable.
+
+=back
+
+=head1 AUTHOR
+
+This manpage was written by Didier Raboud <S<odyx@debian.org>>.
diff --git a/src/desktop/colobot.svg b/src/desktop/colobot.svg
new file mode 100644
index 0000000..85a0545
--- /dev/null
+++ b/src/desktop/colobot.svg
@@ -0,0 +1,238 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.1"
+ width="48"
+ height="48"
+ id="colobot-logo"
+ style="enable-background:new">
+ <title
+ id="title3020">Colobot icon</title>
+ <metadata
+ id="metadata3061">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Colobot icon</dc:title>
+ <dc:date>2012-12-27</dc:date>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title></dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Polish Portal of Colobot</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <cc:license
+ rdf:resource="http://www.gnu.org/licenses/gpl-3.0-standalone.html" />
+ <dc:description>Three spheres symbolizing planets.</dc:description>
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Didier Raboud &lt;odyx@debian.org&gt;</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs3059">
+ <linearGradient
+ id="linearGradient4108">
+ <stop
+ id="stop4110"
+ style="stop-color:#008000;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop4112"
+ style="stop-color:#000000;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4096">
+ <stop
+ id="stop4098"
+ style="stop-color:#00ff00;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop4100"
+ style="stop-color:#00ff00;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4108-5">
+ <stop
+ id="stop4110-2"
+ style="stop-color:#000080;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop4112-8"
+ style="stop-color:#000000;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4096-0">
+ <stop
+ id="stop4098-3"
+ style="stop-color:#0000ff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop4100-0"
+ style="stop-color:#0000ff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4108-5-2">
+ <stop
+ id="stop4110-2-3"
+ style="stop-color:#500000;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop4112-8-6"
+ style="stop-color:#000000;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4096-0-3">
+ <stop
+ id="stop4098-3-7"
+ style="stop-color:#ff0000;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop4100-0-3"
+ style="stop-color:#ff0000;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <radialGradient
+ cx="54.8265"
+ cy="57.607162"
+ r="56.05489"
+ fx="54.8265"
+ fy="57.607162"
+ id="radialGradient4416"
+ xlink:href="#linearGradient4108-5-2"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.02726606,1.3911392,-1.8797791,0.03684323,176.62558,-41.562143)" />
+ <radialGradient
+ cx="63.5"
+ cy="37.5"
+ r="32"
+ fx="63.5"
+ fy="37.5"
+ id="radialGradient4418"
+ xlink:href="#linearGradient4096-0-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.796875,6.7936132,3.6927801)" />
+ <radialGradient
+ cx="54.8265"
+ cy="57.607162"
+ r="56.05489"
+ fx="54.8265"
+ fy="57.607162"
+ id="radialGradient4420"
+ xlink:href="#linearGradient4108"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.02726606,1.3911392,-1.8797791,0.03684323,176.62558,-41.562143)" />
+ <radialGradient
+ cx="63.5"
+ cy="37.5"
+ r="32"
+ fx="63.5"
+ fy="37.5"
+ id="radialGradient4422"
+ xlink:href="#linearGradient4096"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.796875,6.7936132,3.6927801)" />
+ <radialGradient
+ cx="54.8265"
+ cy="57.607162"
+ r="56.05489"
+ fx="54.8265"
+ fy="57.607162"
+ id="radialGradient4424"
+ xlink:href="#linearGradient4108-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.02726606,1.3911392,-1.8797791,0.03684323,176.62558,-41.562143)" />
+ <radialGradient
+ cx="63.5"
+ cy="37.5"
+ r="32"
+ fx="63.5"
+ fy="37.5"
+ id="radialGradient4426"
+ xlink:href="#linearGradient4096-0"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.796875,6.7936132,3.6927801)" />
+ </defs>
+ <path
+ d="m 35.001373,17.978157 a 17.137194,11.839104 0 1 1 -34.27438587,0 17.137194,11.839104 0 1 1 34.27438587,0 z"
+ id="path3068"
+ style="opacity:0;color:#000000;fill:#800000;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:1.45397186;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:11.63177575, 11.63177575;stroke-dashoffset:11.63177575;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <g
+ transform="matrix(1.4527314,0,0,1.4552231,61.790796,7.2674667)"
+ id="layer1"
+ style="display:inline">
+ <g
+ transform="translate(-64.376292,0)"
+ id="g4403">
+ <g
+ transform="matrix(0.1151419,-0.11259991,0.11259991,0.1151419,78.136911,8.9624182)"
+ id="g4122-3-7"
+ style="stroke-width:6.52155399;stroke-miterlimit:4;stroke-dasharray:none;display:inline">
+ <g
+ transform="translate(-232.5787,-246.03551)"
+ id="g4259-8">
+ <path
+ d="m 128.20539,62.567638 c 0,29.922729 -24.25716,54.179892 -54.179886,54.179892 -29.922729,0 -54.179893,-24.257163 -54.179893,-54.179892 0,-29.922729 24.257164,-54.1798929 54.179893,-54.1798929 29.922726,0 54.179886,24.2571639 54.179886,54.1798929 z"
+ id="path1873-0-2"
+ style="fill:url(#radialGradient4416);fill-opacity:1;fill-rule:nonzero;stroke:#808000;stroke-width:4.65700197;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <path
+ d="m 102.29361,33.575593 c 0,14.083261 -14.326885,25.5 -31.999997,25.5 -17.673112,0 -32,-11.416739 -32,-25.5 0,-14.083261 14.326888,-25.4999999 32,-25.4999999 17.673112,0 31.999997,11.4167389 31.999997,25.4999999 z"
+ id="path2814-0-8"
+ style="fill:url(#radialGradient4418);fill-opacity:1;fill-rule:nonzero;stroke:none" />
+ </g>
+ </g>
+ <g
+ transform="matrix(0.1151419,-0.11259991,0.11259991,0.1151419,15.374404,17.677401)"
+ id="g4122"
+ style="stroke-width:6.52155399;stroke-miterlimit:4;stroke-dasharray:none">
+ <path
+ d="m 128.20539,62.567638 c 0,29.922729 -24.25716,54.179892 -54.179886,54.179892 -29.922729,0 -54.179893,-24.257163 -54.179893,-54.179892 0,-29.922729 24.257164,-54.1798929 54.179893,-54.1798929 29.922726,0 54.179886,24.2571639 54.179886,54.1798929 z"
+ id="path1873"
+ style="fill:url(#radialGradient4420);fill-opacity:1;fill-rule:nonzero;stroke:#808000;stroke-width:4.65700197;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <path
+ d="m 102.29361,33.575593 c 0,14.083261 -14.326885,25.5 -31.999997,25.5 -17.673112,0 -32,-11.416739 -32,-25.5 0,-14.083261 14.326888,-25.4999999 32,-25.4999999 17.673112,0 31.999997,11.4167389 31.999997,25.4999999 z"
+ id="path2814"
+ style="fill:url(#radialGradient4422);fill-opacity:1;fill-rule:nonzero;stroke:none" />
+ </g>
+ <g
+ transform="matrix(0.1151419,-0.11259991,0.11259991,0.1151419,57.006572,14.417637)"
+ id="g4122-3"
+ style="stroke-width:6.52155399;stroke-miterlimit:4;stroke-dasharray:none;display:inline">
+ <g
+ transform="translate(-136.63091,-98.230764)"
+ id="g4259">
+ <path
+ d="m 128.20539,62.567638 c 0,29.922729 -24.25716,54.179892 -54.179886,54.179892 -29.922729,0 -54.179893,-24.257163 -54.179893,-54.179892 0,-29.922729 24.257164,-54.1798929 54.179893,-54.1798929 29.922726,0 54.179886,24.2571639 54.179886,54.1798929 z"
+ id="path1873-0"
+ style="fill:url(#radialGradient4424);fill-opacity:1;fill-rule:nonzero;stroke:#808000;stroke-width:4.65700197;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <path
+ d="m 102.29361,33.575593 c 0,14.083261 -14.326885,25.5 -31.999997,25.5 -17.673112,0 -32,-11.416739 -32,-25.5 0,-14.083261 14.326888,-25.4999999 32,-25.4999999 17.673112,0 31.999997,11.4167389 31.999997,25.4999999 z"
+ id="path2814-0"
+ style="fill:url(#radialGradient4426);fill-opacity:1;fill-rule:nonzero;stroke:none" />
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/desktop/create_desktop_file.sh b/src/desktop/create_desktop_file.sh
new file mode 100755
index 0000000..e0f120b
--- /dev/null
+++ b/src/desktop/create_desktop_file.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+set -e
+
+# Create colobot.desktop from various colobot.ini's
+
+fname=colobot.ini
+
+cat colobot.desktop.in
+
+linguas=$([ ! -d lang ] || ( cd lang ; ls));
+
+for type in Name GenericName Comment; do
+ egrep "^$type=" $fname | sed -e "s/^$type=\"\(.*\)\"$/$type=\1/g"
+ for l in $linguas; do
+ egrep "^$type=" lang/$l/$fname | sed -e "s/^$type=\"\(.*\)\"$/$type[$l]=\1/g"
+ done
+done
diff --git a/src/desktop/po/colobot-desktop.pot b/src/desktop/po/colobot-desktop.pot
new file mode 100644
index 0000000..17e60c3
--- /dev/null
+++ b/src/desktop/po/colobot-desktop.pot
@@ -0,0 +1,134 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2012-12-27 10:59+0100\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=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: colobot.ini:1
+#, no-wrap
+msgid "Colobot"
+msgstr ""
+
+#: colobot.ini:2
+#, no-wrap
+msgid "Game to learn programming"
+msgstr ""
+
+#: colobot.ini:3
+#, no-wrap
+msgid "Colonize with bots"
+msgstr ""
+
+#. type: =head1
+#: colobot.pod:3
+msgid "COLOBOT"
+msgstr ""
+
+#. type: textblock
+#: colobot.pod:5
+msgid "colobot - educational programming strategy game"
+msgstr ""
+
+#. type: =head1
+#: colobot.pod:7
+msgid "SYNOPSIS"
+msgstr ""
+
+#. type: textblock
+#: colobot.pod:9
+msgid ""
+"B<colobot> [B<-datadir> I<path>] [B<-debug>] [B<-loglevel> I<level>] "
+"[B<-language> I<lang>]"
+msgstr ""
+
+#. type: =head1
+#: colobot.pod:11
+msgid "DESCRIPTION"
+msgstr ""
+
+#. type: textblock
+#: colobot.pod:13
+msgid ""
+"Colobot (Colonize with Bots) is an educational game aiming to teach "
+"programming through entertainment. You are playing as an astronaut on a "
+"journey with robot helpers to find a planet for colonization. It features 3D "
+"real-time graphics and a C++ and Java-like, object-oriented language, CBOT, "
+"which can be used to program the robots available in the game."
+msgstr ""
+
+#. type: =head1
+#: colobot.pod:19
+msgid "OPTIONS"
+msgstr ""
+
+#. type: =item
+#: colobot.pod:23
+msgid "B<-help>"
+msgstr ""
+
+#. type: textblock
+#: colobot.pod:25
+msgid "Display a short help text"
+msgstr ""
+
+#. type: =item
+#: colobot.pod:27
+msgid "B<-datadir> F</path/to/data/>"
+msgstr ""
+
+#. type: textblock
+#: colobot.pod:29
+msgid "Set custom data directory path"
+msgstr ""
+
+#. type: =item
+#: colobot.pod:31
+msgid "B<-debug>"
+msgstr ""
+
+#. type: textblock
+#: colobot.pod:33
+msgid "Enable debug mode (more info printed in logs)"
+msgstr ""
+
+#. type: =item
+#: colobot.pod:35
+msgid "B<-loglevel> I<level>"
+msgstr ""
+
+#. type: textblock
+#: colobot.pod:37
+msgid "Set log level. Possible choices are: trace, debug, info, warn, error, none."
+msgstr ""
+
+#. type: =item
+#: colobot.pod:39
+msgid "B<-language> I<lang>"
+msgstr ""
+
+#. type: textblock
+#: colobot.pod:41
+msgid "Set language. Note that you can also fill the B<LANG> environment variable."
+msgstr ""
+
+#. type: =head1
+#: colobot.pod:45
+msgid "AUTHOR"
+msgstr ""
+
+#. type: textblock
+#: colobot.pod:47
+msgid "This manpage was written by Didier Raboud <S<odyx@debian.org>>."
+msgstr ""
diff --git a/src/desktop/po/fr.po b/src/desktop/po/fr.po
new file mode 100644
index 0000000..4709d49
--- /dev/null
+++ b/src/desktop/po/fr.po
@@ -0,0 +1,153 @@
+# French translations for PACKAGE package
+# Copyright (C) 2012 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Didier Raboud <odyx@debian.org>, 2012.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2012-12-27 10:55+0100\n"
+"PO-Revision-Date: 2012-12-27 11:00+0100\n"
+"Last-Translator: Didier Raboud <odyx@debian.org>\n"
+"Language-Team: none\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: colobot.ini:1
+#, no-wrap
+msgid "Colobot"
+msgstr "Colobot"
+
+#: colobot.ini:2
+#, no-wrap
+msgid "Game to learn programming"
+msgstr "Apprentissage de la programmation par le jeu"
+
+#: colobot.ini:3
+#, no-wrap
+msgid "Colonize with bots"
+msgstr "Colonise avec des roBots"
+
+#. type: =head1
+#: colobot.pod:3
+msgid "COLOBOT"
+msgstr "COLOBOT"
+
+#. type: textblock
+#: colobot.pod:5
+msgid "colobot - educational programming strategy game"
+msgstr "colobot - Jeu éducatif de stratégie et de programmation"
+
+#. type: =head1
+#: colobot.pod:7
+msgid "SYNOPSIS"
+msgstr "RÉSUMÉ"
+
+#. type: textblock
+#: colobot.pod:9
+msgid ""
+"B<colobot> [B<-datadir> I<path>] [B<-debug>] [B<-loglevel> I<level>] [B<-"
+"language> I<lang>]"
+msgstr ""
+"B<colobot> [B<-datadir> I<chemin>] [B<-debug>] [B<-loglevel> I<niveau>] [B<-"
+"language> I<code-de-langue>]"
+
+#. type: =head1
+#: colobot.pod:11
+msgid "DESCRIPTION"
+msgstr "DESCRIPTION"
+
+#. type: textblock
+#: colobot.pod:13
+msgid ""
+"Colobot (Colonize with Bots) is an educational game aiming to teach "
+"programming through entertainment. You are playing as an astronaut on a "
+"journey with robot helpers to find a planet for colonization. It features 3D "
+"real-time graphics and a C++ and Java-like, object-oriented language, CBOT, "
+"which can be used to program the robots available in the game."
+msgstr ""
+"Colobot (Colonise avec des roBots) est un jeu éducatif visant à "
+"l'enseignement de la programmation par le jeu. Vous jouez un astronaute en "
+"voyage avec des robots à la recherche d'une planète à coloniser. Son "
+"interface est en trois-dimensions et en temps réel; le language utilisé "
+"(CBOT) ressemble au C++ et à Java et peut être utilisé pour programmer les "
+"robots disponibles dans le jeu."
+
+#. type: =head1
+#: colobot.pod:19
+msgid "OPTIONS"
+msgstr "OPTIONS"
+
+#. type: =item
+#: colobot.pod:23
+msgid "B<-help>"
+msgstr "B<-help>"
+
+#. type: textblock
+#: colobot.pod:25
+msgid "Display a short help text"
+msgstr "Affiche un court texte d'aide"
+
+#. type: =item
+#: colobot.pod:27
+msgid "B<-datadir> F</path/to/data/>"
+msgstr "B<-datadir> F</chemin/vers/les/donnes/>"
+
+#. type: textblock
+#: colobot.pod:29
+msgid "Set custom data directory path"
+msgstr "Définit le chemin vers un répertoire de données spécifique"
+
+#. type: =item
+#: colobot.pod:31
+msgid "B<-debug>"
+msgstr "B<-debug>"
+
+#. type: textblock
+#: colobot.pod:33
+msgid "Enable debug mode (more info printed in logs)"
+msgstr ""
+"Active le mode de déboguage (plus d'informations sont affichées dans le "
+"journal)"
+
+#. type: =item
+#: colobot.pod:35
+msgid "B<-loglevel> I<level>"
+msgstr "B<-loglevel> I<niveau>"
+
+#. type: textblock
+#: colobot.pod:37
+msgid ""
+"Set log level. Possible choices are: trace, debug, info, warn, error, none."
+msgstr ""
+"Définit le niveau de journalisation parmi: trace, debug, info, warn, error, "
+"none."
+
+#. type: =item
+#: colobot.pod:39
+msgid "B<-language> I<lang>"
+msgstr "B<-language> I<langue>"
+
+#. type: textblock
+#: colobot.pod:41
+msgid ""
+"Set language. Note that you can also fill the B<LANG> environment variable."
+msgstr ""
+"Définit la langue. Il est aussi possible d'utiliser la variable "
+"d'environnement B<LANG>."
+
+#. type: =head1
+#: colobot.pod:45
+msgid "AUTHOR"
+msgstr "Auteur"
+
+#. type: textblock
+#: colobot.pod:47
+msgid "This manpage was written by Didier Raboud <S<odyx@debian.org>>."
+msgstr ""
+"Cette page de manuel a été écrite et traduite par Didier Raboud "
+"<S<odyx@debian.org>>."
+
diff --git a/src/desktop/po4a.cfg b/src/desktop/po4a.cfg
new file mode 100644
index 0000000..c251959
--- /dev/null
+++ b/src/desktop/po4a.cfg
@@ -0,0 +1,4 @@
+[po_directory] po/
+
+[type:ini] colobot.ini $lang:lang/$lang/colobot.ini
+[type:pod] colobot.pod $lang:lang/$lang/colobot.pod
diff --git a/src/graphics/engine/test/CMakeLists.txt b/src/graphics/engine/test/CMakeLists.txt
index b1db2c7..f2db152 100644
--- a/src/graphics/engine/test/CMakeLists.txt
+++ b/src/graphics/engine/test/CMakeLists.txt
@@ -1,7 +1,10 @@
cmake_minimum_required(VERSION 2.8)
-set(CMAKE_BUILD_TYPE debug)
-set(CMAKE_CXX_FLAGS_DEBUG "-g -O0 -Wall -Wold-style-cast -std=gnu++0x")
+if(NOT CMAKE_BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE debug)
+endif(NOT CMAKE_BUILD_TYPE)
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wold-style-cast -std=gnu++0x")
+set(CMAKE_CXX_FLAGS_DEBUG "-g -O0")
set(MODELFILE_TEST_SOURCES
modelfile_test.cpp
@@ -15,7 +18,7 @@ add_definitions(-DMODELFILE_NO_ENGINE)
include_directories(
.
../../..
-${GTEST_DIR}/include
+${GTEST_INCLUDE_DIR}
)
add_executable(modelfile_test ${MODELFILE_TEST_SOURCES})
diff --git a/src/graphics/engine/text.cpp b/src/graphics/engine/text.cpp
index 66c73a9..101e01a 100644
--- a/src/graphics/engine/text.cpp
+++ b/src/graphics/engine/text.cpp
@@ -677,7 +677,7 @@ void CText::DrawCharAndAdjustPos(UTF8Char ch, FontType font, float size, Math::P
return;
int width = 1;
- if (ch.c1 < 32) { // FIXME add support for chars with code 9 10 23
+ if (ch.c1 > 0 && ch.c1 < 32) { // FIXME add support for chars with code 9 10 23
ch.c1 = ' ';
ch.c2 = 0;
ch.c3 = 0;
diff --git a/src/graphics/opengl/test/CMakeLists.txt b/src/graphics/opengl/test/CMakeLists.txt
index be33ac6..154fec8 100644
--- a/src/graphics/opengl/test/CMakeLists.txt
+++ b/src/graphics/opengl/test/CMakeLists.txt
@@ -5,8 +5,11 @@ find_package(SDL REQUIRED)
find_package(SDL_image REQUIRED)
find_package(PNG REQUIRED)
-set(CMAKE_BUILD_TYPE debug)
-set(CMAKE_CXX_FLAGS_DEBUG "-Wall -g -O0 -Wold-style-cast -std=gnu++0x")
+if(NOT CMAKE_BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE debug)
+endif(NOT CMAKE_BUILD_TYPE)
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wold-style-cast -std=gnu++0x")
+set(CMAKE_CXX_FLAGS_DEBUG "-g -O0")
set(ADD_LIBS "")
diff --git a/src/math/test/CMakeLists.txt b/src/math/test/CMakeLists.txt
index 8588bd1..dae4018 100644
--- a/src/math/test/CMakeLists.txt
+++ b/src/math/test/CMakeLists.txt
@@ -1,13 +1,16 @@
cmake_minimum_required(VERSION 2.8)
-set(CMAKE_BUILD_TYPE debug)
-set(CMAKE_CXX_FLAGS_DEBUG "-g -O0 -Wall -Wold-style-cast -std=gnu++0x")
+if(NOT CMAKE_BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE debug)
+endif(NOT CMAKE_BUILD_TYPE)
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wold-style-cast -std=gnu++0x")
+set(CMAKE_CXX_FLAGS_DEBUG "-g -O0")
include_directories(
.
../..
../../..
-${GTEST_DIR}/include
+${GTEST_INCLUDE_DIR}
)
add_executable(matrix_test matrix_test.cpp)
diff --git a/src/object/brain.cpp b/src/object/brain.cpp
index 4ce1bf8..ef7309d 100644
--- a/src/object/brain.cpp
+++ b/src/object/brain.cpp
@@ -99,7 +99,7 @@ CBrain::CBrain(CInstanceManager* iMan, CObject* object)
m_selScript = 0;
m_bTraceRecord = false;
- m_traceRecordBuffer = 0;
+ m_traceRecordBuffer = nullptr;
}
// Object's destructor.
@@ -111,12 +111,21 @@ CBrain::~CBrain()
for ( i=0 ; i<BRAINMAXSCRIPT ; i++ )
{
delete m_script[i];
+ m_script[i] = nullptr;
}
delete m_primaryTask;
+ m_primaryTask = nullptr;
+
delete m_secondaryTask;
+ m_secondaryTask = nullptr;
+
delete m_studio;
- delete m_traceRecordBuffer;
+ m_studio = nullptr;
+
+ delete[] m_traceRecordBuffer;
+ m_traceRecordBuffer = nullptr;
+
m_iMan->DeleteInstance(CLASS_BRAIN, this);
}
@@ -2791,8 +2800,8 @@ void CBrain::TraceRecordStart()
m_traceColor = -1;
}
- delete m_traceRecordBuffer;
- m_traceRecordBuffer = static_cast<TraceRecord*>(malloc(sizeof(TraceRecord)*MAXTRACERECORD));
+ delete[] m_traceRecordBuffer;
+ m_traceRecordBuffer = new TraceRecord[MAXTRACERECORD];
m_traceRecordIndex = 0;
}
@@ -2858,10 +2867,10 @@ void CBrain::TraceRecordStop()
int max, i;
char* buffer;
- if ( m_traceRecordBuffer == 0 ) return;
+ if ( m_traceRecordBuffer == nullptr ) return;
max = 10000;
- buffer = static_cast<char*>(malloc(max));
+ buffer = new char[max];
*buffer = 0;
strncat(buffer, "extern void object::AutoDraw()\n{\n", max-1);
@@ -2892,8 +2901,8 @@ void CBrain::TraceRecordStop()
}
TraceRecordPut(buffer, max, lastOper, lastParam);
- delete m_traceRecordBuffer;
- m_traceRecordBuffer = 0;
+ delete[] m_traceRecordBuffer;
+ m_traceRecordBuffer = nullptr;
strncat(buffer, "}\n", max-1);
buffer[max-1] = 0;
@@ -2904,7 +2913,7 @@ void CBrain::TraceRecordStop()
m_script[i] = new CScript(m_iMan, m_object, &m_secondaryTask);
}
m_script[i]->SendScript(buffer);
- delete buffer;
+ delete[] buffer;
}
// Saves an instruction CBOT.
diff --git a/src/object/robotmain.cpp b/src/object/robotmain.cpp
index 5705649..ca13efc 100644
--- a/src/object/robotmain.cpp
+++ b/src/object/robotmain.cpp
@@ -3793,6 +3793,8 @@ void CRobotMain::CreateScene(bool soluce, bool fixScene, bool resetObject)
int rankObj = 0;
int rankGadget = 0;
CObject* sel = 0;
+ char *locale = setlocale(LC_NUMERIC, nullptr);
+ setlocale(LC_NUMERIC, "C");
while (fgets(line, 500, file) != NULL)
{
@@ -3806,16 +3808,16 @@ void CRobotMain::CreateScene(bool soluce, bool fixScene, bool resetObject)
}
}
- // TODO: language letters
- sprintf(op, "Title.%c", 'E' /*GetLanguageLetter()*/);
+ // TODO: Fallback to an non-localized entry
+ sprintf(op, "Title.%c", m_app->GetLanguageChar());
if (Cmd(line, op) && !resetObject)
OpString(line, "text", m_title);
- sprintf(op, "Resume.%c", 'E' /*GetLanguageLetter()*/);
+ sprintf(op, "Resume.%c", m_app->GetLanguageChar());
if (Cmd(line, op) && !resetObject)
OpString(line, "text", m_resume);
- sprintf(op, "ScriptName.%c", 'E' /*GetLanguageLetter()*/);
+ sprintf(op, "ScriptName.%c", m_app->GetLanguageChar());
if (Cmd(line, op) && !resetObject)
OpString(line, "text", m_scriptName);
@@ -4526,6 +4528,8 @@ void CRobotMain::CreateScene(bool soluce, bool fixScene, bool resetObject)
}
m_dialog->SetSceneRead("");
m_dialog->SetStackRead("");
+
+ setlocale(LC_NUMERIC, locale);
}
//! Creates an object of decoration mobile or stationary
diff --git a/src/object/task/taskgoto.cpp b/src/object/task/taskgoto.cpp
index ce778ef..cab57f1 100644
--- a/src/object/task/taskgoto.cpp
+++ b/src/object/task/taskgoto.cpp
@@ -2119,7 +2119,7 @@ bool CTaskGoto::BitmapOpen()
BitmapClose();
m_bmSize = static_cast<int>(3200.0f/BM_DIM_STEP);
- m_bmArray = static_cast<unsigned char*>(malloc(m_bmSize*m_bmSize/8*2));
+ m_bmArray = new unsigned char[m_bmSize*m_bmSize/8*2];
memset(m_bmArray, 0, m_bmSize*m_bmSize/8*2);
m_bmOffset = m_bmSize/2;
@@ -2137,7 +2137,7 @@ bool CTaskGoto::BitmapOpen()
bool CTaskGoto::BitmapClose()
{
- free(m_bmArray);
+ delete[] m_bmArray;
m_bmArray = 0;
return true;
}
diff --git a/src/plugins/plugininterface.h b/src/plugins/plugininterface.h
deleted file mode 100644
index 838dbfd..0000000
--- a/src/plugins/plugininterface.h
+++ /dev/null
@@ -1,65 +0,0 @@
-// * This file is part of the COLOBOT source code
-// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
-// *
-// * This program is free software: you can redistribute it and/or modify
-// * it under the terms of the GNU General Public License as published by
-// * the Free Software Foundation, either version 3 of the License, or
-// * (at your option) any later version.
-// *
-// * This program is distributed in the hope that it will be useful,
-// * but WITHOUT ANY WARRANTY; without even the implied warranty of
-// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// * GNU General Public License for more details.
-// *
-// * You should have received a copy of the GNU General Public License
-// * along with this program. If not, see http://www.gnu.org/licenses/.
-
-/**
- * \file plugins/plugininterface.h
- * \brief Generic plugin interface
- */
-
-#pragma once
-
-
-#include <string>
-
-
-#define PLUGIN_INTERFACE(class_type) \
- static class_type* Plugin##class_type; \
- extern "C" void InstallPluginEntry() { Plugin##class_type = new class_type(); Plugin##class_type->InstallPlugin(); } \
- extern "C" bool UninstallPluginEntry(std::string &reason) { bool result = Plugin##class_type->UninstallPlugin(reason); \
- if (!result) \
- return false; \
- delete Plugin##class_type; \
- return true; } \
- extern "C" CPluginInterface* GetPluginInterfaceEntry() { return static_cast<CPluginInterface*>(Plugin##class_type); }
-
-
-/**
- * \class CPluginInterface
- *
- * \brief Generic plugin interface. All plugins that will be managed by plugin manager have to derive from this class.
- *
- */
-class CPluginInterface {
- public:
- /** Function to get plugin name or description
- * \return returns plugin name
- */
- inline virtual std::string PluginName() { return "abc"; }
-
- /** Function to get plugin version. 1 means version 0.01, 2 means 0.02 etc.
- * \return number indicating plugin version
- */
- inline virtual int PluginVersion() { return 0; }
-
- /** Function to initialize plugin
- */
- inline virtual void InstallPlugin() {}
-
- /** Function called before removing plugin
- */
- inline virtual bool UninstallPlugin(std::string &) { return true; }
-};
-
diff --git a/src/plugins/pluginloader.cpp b/src/plugins/pluginloader.cpp
deleted file mode 100644
index bd0c8be..0000000
--- a/src/plugins/pluginloader.cpp
+++ /dev/null
@@ -1,124 +0,0 @@
-// * This file is part of the COLOBOT source code
-// * Copyright (C) 2012 Polish Portal of Colobot (PPC)
-// *
-// * This program is free software: you can redistribute it and/or modify
-// * it under the terms of the GNU General Public License as published by
-// * the Free Software Foundation, either version 3 of the License, or
-// * (at your option) any later version.
-// *
-// * This program is distributed in the hope that it will be useful,
-// * but WITHOUT ANY WARRANTY; without even the implied warranty of
-// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// * GNU General Public License for more details.
-// *
-// * You should have received a copy of the GNU General Public License
-// * along with this program. If not, see http://www.gnu.org/licenses/.
-
-
-#include "plugins/pluginloader.h"
-
-
-CPluginLoader::CPluginLoader(std::string filename)
-{
- mInterface = nullptr;
- mFilename = filename;
- mLoaded = false;
-}
-
-
-std::string CPluginLoader::GetName()
-{
- if (mLoaded)
- return mInterface->PluginName();
- return "(not loaded)";
-}
-
-
-int CPluginLoader::GetVersion()
-{
- if (mLoaded)
- return mInterface->PluginVersion();
- return 0;
-}
-
-
-bool CPluginLoader::IsLoaded()
-{
- return mLoaded;
-}
-
-
-bool CPluginLoader::UnloadPlugin()
-{
- if (!mLoaded) {
- GetLogger()->Warn("Plugin %s is not loaded.\n");
- return true;
- }
-
- bool (*uninstall)(std::string &) = reinterpret_cast<bool (*)(std::string &)>( lt_dlsym(mHandle, "UninstallPluginEntry") );
- if (!uninstall) {
- GetLogger()->Error("Error getting UninstallPluginEntry for plugin %s: %s\n", mFilename.c_str(), lt_dlerror());
- return false;
- }
-
- std::string reason;
- if (!uninstall(reason)) {
- GetLogger()->Error("Could not unload plugin %s: %s\n", mFilename.c_str(), reason.c_str());
- return false;
- }
-
- lt_dlclose(mHandle);
- mLoaded = false;
- return true;
-}
-
-
-bool CPluginLoader::LoadPlugin()
-{
- if (mFilename.length() == 0) {
- GetLogger()->Warn("No plugin filename specified.\n");
- return false;
- }
-
- mHandle = lt_dlopenext(mFilename.c_str());
- if (!mHandle) {
- GetLogger()->Error("Error loading plugin %s: %s\n", mFilename.c_str(), lt_dlerror());
- return false;
- }
-
- void (*install)() = reinterpret_cast<void (*)()>( lt_dlsym(mHandle, "InstallPluginEntry") );
- if (!install) {
- GetLogger()->Error("Error getting InstallPluginEntry for plugin %s: %s\n", mFilename.c_str(), lt_dlerror());
- return false;
- }
-
- CPluginInterface* (*getInterface)() = reinterpret_cast<CPluginInterface* (*)()>( lt_dlsym(mHandle, "GetPluginInterfaceEntry") );
-
- if (!getInterface) {
- GetLogger()->Error("Error getting GetPluginInterfaceEntry for plugin %s: %s\n", mFilename.c_str(), lt_dlerror());
- return false;
- }
-
- install();
- mInterface = getInterface();
- mLoaded = true;
- return true;
-}
-
-
-bool CPluginLoader::SetFilename(std::string filename)
-{
- bool ok = true;
- if (mLoaded)
- ok = UnloadPlugin();
-
- if (ok)
- mFilename = filename;
- return ok;
-}
-
-
-std::string CPluginLoader::GetFilename()
-{
- return mFilename;
-}
diff --git a/src/plugins/pluginloader.h b/src/plugins/pluginloader.h
deleted file mode 100644
index e8c2c73..0000000
--- a/src/plugins/pluginloader.h
+++ /dev/null
@@ -1,87 +0,0 @@
-// * This file is part of the COLOBOT source code
-// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
-// *
-// * This program is free software: you can redistribute it and/or modify
-// * it under the terms of the GNU General Public License as published by
-// * the Free Software Foundation, either version 3 of the License, or
-// * (at your option) any later version.
-// *
-// * This program is distributed in the hope that it will be useful,
-// * but WITHOUT ANY WARRANTY; without even the implied warranty of
-// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// * GNU General Public License for more details.
-// *
-// * You should have received a copy of the GNU General Public License
-// * along with this program. If not, see http://www.gnu.org/licenses/.
-
-/**
- * \file plugins/pluginloader.h
- * \brief Plugin loader interface
- */
-
-#pragma once
-
-
-#include "common/logger.h"
-
-#include "plugins/plugininterface.h"
-
-#include <ltdl.h>
-#include <string>
-
-
-/**
- * \class CPluginLoader
- *
- * \brief Plugin loader interface. Plugin manager uses this class to load plugins.
- *
- */
-class CPluginLoader {
- public:
- /** Class contructor
- * \param filename plugin filename
- */
- CPluginLoader(std::string filename);
-
- /** Function to get plugin name or description
- * \return returns plugin name
- */
- std::string GetName();
-
- /** Function to get plugin version
- * \return returns plugin version
- */
- int GetVersion();
-
- /** Function to unload plugin
- * \return returns true on success
- */
- bool UnloadPlugin();
-
- /** Function to load plugin
- * \return returns true on success
- */
- bool LoadPlugin();
-
- /** Function to check if plugin is loaded
- * \return returns true if plugin is loaded
- */
- bool IsLoaded();
-
- /** Function to set plugin filename
- * \return returns true on success. Action can fail if plugin was loaded and cannot be unloaded
- */
- bool SetFilename(std::string);
-
- /** Function to get plugin filename
- * \return returns plugin filename
- */
- std::string GetFilename();
-
-
- private:
- CPluginInterface* mInterface;
- std::string mFilename;
- lt_dlhandle mHandle;
- bool mLoaded;
-};
diff --git a/src/plugins/pluginmanager.cpp b/src/plugins/pluginmanager.cpp
deleted file mode 100644
index f4dbcdb..0000000
--- a/src/plugins/pluginmanager.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-// * This file is part of the COLOBOT source code
-// * Copyright (C) 2012 Polish Portal of Colobot (PPC)
-// *
-// * This program is free software: you can redistribute it and/or modify
-// * it under the terms of the GNU General Public License as published by
-// * the Free Software Foundation, either version 3 of the License, or
-// * (at your option) any later version.
-// *
-// * This program is distributed in the hope that it will be useful,
-// * but WITHOUT ANY WARRANTY; without even the implied warranty of
-// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// * GNU General Public License for more details.
-// *
-// * You should have received a copy of the GNU General Public License
-// * along with this program. If not, see http://www.gnu.org/licenses/.
-
-
-#include "plugins/pluginmanager.h"
-
-
-template<> CPluginManager* CSingleton<CPluginManager>::mInstance = nullptr;
-
-
-CPluginManager::CPluginManager()
-{
- lt_dlinit();
-}
-
-
-CPluginManager::~CPluginManager()
-{
- UnloadAllPlugins();
- lt_dlexit();
-}
-
-
-
-void CPluginManager::LoadFromProfile()
-{
- GetLogger()->Info("Trying to load from profile...\n");
- std::vector< std::string > dirs = GetProfile().GetLocalProfileSection("Plugins", "Path");
- std::vector< std::string > plugins = GetProfile().GetLocalProfileSection("Plugins", "File");
-
- GetLogger()->Info("Path %d, files %d\n", dirs.size(), plugins.size());
- for (std::string dir : dirs)
- m_folders.insert(dir);
-
- for (std::string plugin : plugins) {
- GetLogger()->Info("Trying to load plugin %s...\n", plugin.c_str());
- LoadPlugin(plugin);
- }
-}
-
-
-bool CPluginManager::LoadPlugin(std::string filename)
-{
- bool result = false;
- CPluginLoader *loader = new CPluginLoader("");
- for (std::string dir : m_folders) {
- loader->SetFilename(dir + "/" + filename);
- result = loader->LoadPlugin();
- if (result) {
- GetLogger()->Info("Plugin %s (%s) version %0.2f loaded!\n", filename.c_str(), loader->GetName().c_str(), loader->GetVersion() / 100.0f);
- m_plugins.push_back(loader);
- break;
- }
- }
- return result;
-}
-
-
-bool CPluginManager::UnloadPlugin(std::string filename)
-{
- std::vector<CPluginLoader *>::iterator it;
- GetLogger()->Info("Trying to unload plugin %s...\n", filename.c_str());
- for (it = m_plugins.begin(); it != m_plugins.end(); it++) {
- CPluginLoader *plugin = *it;
- if (NameEndsWith(plugin->GetFilename(), filename)) {
- m_plugins.erase(it);
- plugin->UnloadPlugin();
- delete plugin;
- return true;
- }
- }
- return false;
-}
-
-
-bool CPluginManager::AddSearchDirectory(std::string dir)
-{
- m_folders.insert(dir);
- return true;
-}
-
-
-bool CPluginManager::RemoveSearchDirectory(std::string dir)
-{
- m_folders.erase(dir);
- return false;
-}
-
-
-bool CPluginManager::UnloadAllPlugins()
-{
- bool allOk = true;
- std::vector<CPluginLoader *>::iterator it;
- for (it = m_plugins.begin(); it != m_plugins.end(); it++) {
- CPluginLoader *plugin = *it;
- bool result;
-
- GetLogger()->Info("Trying to unload plugin %s (%s)...\n", plugin->GetFilename().c_str(), plugin->GetName().c_str());
- result = plugin->UnloadPlugin();
- if (!result) {
- allOk = false;
- continue;
- }
- delete plugin;
- m_plugins.erase(it);
- }
-
- return allOk;
-}
-
-
-bool CPluginManager::NameEndsWith(std::string filename, std::string ending)
-{
- if (filename.length() > ending.length()) {
- std::string fileEnd = filename.substr(filename.length() - ending.length());
- return (fileEnd == ending);
- }
- return false;
-}
diff --git a/src/plugins/pluginmanager.h b/src/plugins/pluginmanager.h
deleted file mode 100644
index 2798483..0000000
--- a/src/plugins/pluginmanager.h
+++ /dev/null
@@ -1,87 +0,0 @@
-// * This file is part of the COLOBOT source code
-// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
-// *
-// * This program is free software: you can redistribute it and/or modify
-// * it under the terms of the GNU General Public License as published by
-// * the Free Software Foundation, either version 3 of the License, or
-// * (at your option) any later version.
-// *
-// * This program is distributed in the hope that it will be useful,
-// * but WITHOUT ANY WARRANTY; without even the implied warranty of
-// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// * GNU General Public License for more details.
-// *
-// * You should have received a copy of the GNU General Public License
-// * along with this program. If not, see http://www.gnu.org/licenses/.
-
-/**
- * \file plugins/pluginmanager.h
- * \brief Plugin manager class.
- */
-
-#pragma once
-
-
-#include "common/logger.h"
-#include "common/profile.h"
-
-#include "common/singleton.h"
-
-#include "plugins/pluginloader.h"
-
-#include <string>
-#include <set>
-#include <vector>
-
-
-/**
- * \class CPluginManager
- *
- * \brief Plugin manager class. Plugin manager can load plugins from colobot.ini or manually specified files.
- *
- */
-class CPluginManager : public CSingleton<CPluginManager> {
- public:
- CPluginManager();
- ~CPluginManager();
-
- /** Function loads plugin list and path list from profile file
- */
- void LoadFromProfile();
-
- /** Function loads specified plugin
- * \param filename plugin filename
- * \return returns true on success
- */
- bool LoadPlugin(std::string filename);
-
- /** Function unloads specified plugin
- * \param filename plugin filename
- * \return returns true on success
- */
- bool UnloadPlugin(std::string filename);
-
- /** Function adds path to be checked when searching for plugin file. If path was already added it will be ignored
- * \param dir plugin search path
- * \return returns true on success
- */
- bool AddSearchDirectory(std::string dir);
-
- /** Function removes path from list
- * \param dir plugin search path
- * \return returns true on success
- */
- bool RemoveSearchDirectory(std::string dir);
-
- /** Function tries to unload all plugins
- * \return returns true on success
- */
- bool UnloadAllPlugins();
-
- private:
- bool NameEndsWith(std::string, std::string);
-
- std::set< std::string > m_folders;
- std::vector<CPluginLoader *> m_plugins;
-};
-
diff --git a/src/plugins/test/CMakeLists.txt b/src/plugins/test/CMakeLists.txt
deleted file mode 100644
index 5f86b6f..0000000
--- a/src/plugins/test/CMakeLists.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-cmake_minimum_required(VERSION 2.8)
-
-set(CMAKE_BUILD_TYPE debug)
-set(CMAKE_CXX_FLAGS_DEBUG "-Wall -g -O0 -std=c++11 -rdynamic")
-
-add_executable(manager_test manager_test.cpp ../../common/logger.cpp ../../common/profile.cpp ../../common/iman.cpp ../pluginmanager.cpp ../pluginloader.cpp)
-
-include_directories(".")
-include_directories("../../")
-include_directories("../../../")
-
-target_link_libraries(manager_test ltdl)
diff --git a/src/plugins/test/colobot.ini b/src/plugins/test/colobot.ini
deleted file mode 100644
index 08956be..0000000
--- a/src/plugins/test/colobot.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[Plugins]
-Path=.
-File=libopenalsound.so
diff --git a/src/plugins/test/manager_test.cpp b/src/plugins/test/manager_test.cpp
deleted file mode 100644
index d921c1d..0000000
--- a/src/plugins/test/manager_test.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <common/logger.h>
-#include <common/profile.h>
-#include <common/iman.h>
-#include <plugins/pluginmanager.h>
-#include <sound/sound.h>
-
-
-int main() {
- new CLogger();
- new CProfile();
- new CInstanceManager();
- CPluginManager *mgr = new CPluginManager();
-
- if (!GetProfile()->InitCurrentDirectory()) {
- GetLogger()->Error("Config not found!\n");
- return 1;
- }
-
- mgr->LoadFromProfile();
- CSoundInterface *sound = static_cast<CSoundInterface*>(CInstanceManager::GetInstancePointer()->SearchInstance(CLASS_SOUND));
-
- if (!sound) {
- GetLogger()->Error("Sound not loaded!\n");
- return 2;
- }
-
- sound->Create(true);
- mgr->UnloadAllPlugins();
-
- return 0;
-}
diff --git a/src/po/CMakeLists.txt b/src/po/CMakeLists.txt
new file mode 100644
index 0000000..df667dd
--- /dev/null
+++ b/src/po/CMakeLists.txt
@@ -0,0 +1,18 @@
+cmake_minimum_required(VERSION 2.8)
+
+set(_potFile colobot.pot)
+
+find_program(XGETTEXT_CMD xgettext)
+
+add_custom_command(OUTPUT ${_potFile}
+ COMMAND ${XGETTEXT_CMD} ../app/app.cpp --output=${_potFile}
+ COMMAND ${XGETTEXT_CMD} ../common/restext.cpp --output=${_potFile} --join-existing --extract-all --no-location
+
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ COMMENT "Extract translatable messages to ${_potFile}"
+)
+
+add_custom_target(update-pot DEPENDS ${_potFile})
+
+file(GLOB _poFiles *.po)
+gettext_create_translations(${_potFile} ALL ${_poFiles})
diff --git a/src/po/colobot.pot b/src/po/colobot.pot
new file mode 100644
index 0000000..e1f9dc7
--- /dev/null
+++ b/src/po/colobot.pot
@@ -0,0 +1,1818 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-12-27 17:09+0100\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"
+
+msgid "Colobot rules!"
+msgstr ""
+
+msgid "SatCom"
+msgstr ""
+
+msgid "Maximize"
+msgstr ""
+
+msgid "Minimize"
+msgstr ""
+
+msgid "Normal size"
+msgstr ""
+
+msgid "Close"
+msgstr ""
+
+msgid "Program editor"
+msgstr ""
+
+msgid "New"
+msgstr ""
+
+msgid "Player"
+msgstr ""
+
+msgid "New ..."
+msgstr ""
+
+msgid " or "
+msgstr ""
+
+msgid "COLOBOT"
+msgstr ""
+
+msgid "Programming exercises"
+msgstr ""
+
+msgid "Challenges"
+msgstr ""
+
+msgid "Missions"
+msgstr ""
+
+msgid "Free game"
+msgstr ""
+
+msgid "User levels"
+msgstr ""
+
+msgid "Prototypes"
+msgstr ""
+
+msgid "Options"
+msgstr ""
+
+msgid "Player's name"
+msgstr ""
+
+msgid "Customize your appearance"
+msgstr ""
+
+msgid "Save the current mission"
+msgstr ""
+
+msgid "Load a saved mission"
+msgstr ""
+
+msgid " Chapters:"
+msgstr ""
+
+msgid " Planets:"
+msgstr ""
+
+msgid " User levels:"
+msgstr ""
+
+msgid " Exercises in the chapter:"
+msgstr ""
+
+msgid " Challenges in the chapter:"
+msgstr ""
+
+msgid " Missions on this planet:"
+msgstr ""
+
+msgid " Free game on this planet:"
+msgstr ""
+
+msgid " Missions on this level:"
+msgstr ""
+
+msgid " Prototypes on this planet:"
+msgstr ""
+
+msgid " Free game on this chapter:"
+msgstr ""
+
+msgid " Summary:"
+msgstr ""
+
+msgid " Drivers:"
+msgstr ""
+
+msgid " Resolution:"
+msgstr ""
+
+msgid "1) First click on the key you want to redefine."
+msgstr ""
+
+msgid "2) Then press the key you want to use instead."
+msgstr ""
+
+msgid "Face type:"
+msgstr ""
+
+msgid "Eyeglasses:"
+msgstr ""
+
+msgid "Hair color:"
+msgstr ""
+
+msgid "Suit color:"
+msgstr ""
+
+msgid "Strip color:"
+msgstr ""
+
+msgid "Do you want to quit COLOBOT ?"
+msgstr ""
+
+msgid "Quit\\Quit COLOBOT"
+msgstr ""
+
+msgid "Quit the mission?"
+msgstr ""
+
+msgid "Abort\\Abort the current mission"
+msgstr ""
+
+msgid "Continue\\Continue the current mission"
+msgstr ""
+
+msgid "Continue\\Continue the game"
+msgstr ""
+
+msgid "Do you really want to destroy the selected building?"
+msgstr ""
+
+#, c-format
+msgid "Do you want to delete %s's saved games? "
+msgstr ""
+
+msgid "Delete"
+msgstr ""
+
+msgid "Cancel"
+msgstr ""
+
+msgid "LOADING"
+msgstr ""
+
+msgid "Keyword help(\\key cbot;)"
+msgstr ""
+
+msgid "Compilation ok (0 errors)"
+msgstr ""
+
+msgid "Program finished"
+msgstr ""
+
+msgid "\\b;List of objects\n"
+msgstr ""
+
+msgid "\\b;Robots\n"
+msgstr ""
+
+msgid "\\b;Buildings\n"
+msgstr ""
+
+msgid "\\b;Moveable objects\n"
+msgstr ""
+
+msgid "\\b;Aliens\n"
+msgstr ""
+
+msgid "\\c; (none)\\n;\n"
+msgstr ""
+
+msgid "\\b;Error\n"
+msgstr ""
+
+msgid ""
+"The list is only available if a \\l;radar station\\u object\\radar; is "
+"working.\n"
+msgstr ""
+
+msgid "Open"
+msgstr ""
+
+msgid "Save"
+msgstr ""
+
+#, c-format
+msgid "Folder: %s"
+msgstr ""
+
+msgid "Name:"
+msgstr ""
+
+msgid "Folder:"
+msgstr ""
+
+msgid "Private\\Private folder"
+msgstr ""
+
+msgid "Public\\Common folder"
+msgstr ""
+
+msgid "Developed by :"
+msgstr ""
+
+msgid "www.epsitec.com"
+msgstr ""
+
+msgid " "
+msgstr ""
+
+msgid "Recorder"
+msgstr ""
+
+msgid "OK"
+msgstr ""
+
+msgid "Next"
+msgstr ""
+
+msgid "Previous"
+msgstr ""
+
+msgid "Menu (\\key quit;)"
+msgstr ""
+
+msgid "Exercises\\Programming exercises"
+msgstr ""
+
+msgid "Challenges\\Programming challenges"
+msgstr ""
+
+msgid "Missions\\Select mission"
+msgstr ""
+
+msgid "Free game\\Free game without a specific goal"
+msgstr ""
+
+msgid "User\\User levels"
+msgstr ""
+
+msgid "Proto\\Prototypes under development"
+msgstr ""
+
+msgid "New player\\Choose player's name"
+msgstr ""
+
+msgid "Options\\Preferences"
+msgstr ""
+
+msgid "Restart\\Restart the mission from the beginning"
+msgstr ""
+
+msgid "Save\\Save the current mission "
+msgstr ""
+
+msgid "Load\\Load a saved mission"
+msgstr ""
+
+msgid "\\Return to COLOBOT"
+msgstr ""
+
+msgid "<< Back \\Back to the previous screen"
+msgstr ""
+
+msgid "Play\\Start mission!"
+msgstr ""
+
+msgid "Device\\Driver and resolution settings"
+msgstr ""
+
+msgid "Graphics\\Graphics settings"
+msgstr ""
+
+msgid "Game\\Game settings"
+msgstr ""
+
+msgid "Controls\\Keyboard, joystick and mouse settings"
+msgstr ""
+
+msgid "Sound\\Music and game sound volume"
+msgstr ""
+
+msgid "Unit"
+msgstr ""
+
+msgid "Resolution"
+msgstr ""
+
+msgid "Full screen\\Full screen or window mode"
+msgstr ""
+
+msgid "Apply changes\\Activates the changed settings"
+msgstr ""
+
+msgid "Robbie\\Your assistant"
+msgstr ""
+
+msgid "Shadows\\Shadows on the ground"
+msgstr ""
+
+msgid "Marks on the ground\\Marks on the ground"
+msgstr ""
+
+msgid "Dust\\Dust and dirt on bots and buildings"
+msgstr ""
+
+msgid "Fog\\Fog"
+msgstr ""
+
+msgid "Sunbeams\\Sunbeams in the sky"
+msgstr ""
+
+msgid "Sky\\Clouds and nebulae"
+msgstr ""
+
+msgid "Planets and stars\\Astronomical objects in the sky"
+msgstr ""
+
+msgid "Dynamic lighting\\Mobile light sources"
+msgstr ""
+
+msgid "Number of particles\\Explosions, dust, reflections, etc."
+msgstr ""
+
+msgid "Depth of field\\Maximum visibility"
+msgstr ""
+
+msgid "Details\\Visual quality of 3D objects"
+msgstr ""
+
+msgid "Textures\\Quality of textures "
+msgstr ""
+
+msgid "Num of decorative objects\\Number of purely ornamental objects"
+msgstr ""
+
+msgid "Particles in the interface\\Steam clouds and sparks in the interface"
+msgstr ""
+
+msgid "Reflections on the buttons \\Shiny buttons"
+msgstr ""
+
+msgid "Help balloons\\Explain the function of the buttons"
+msgstr ""
+
+msgid "Film sequences\\Films before and after the missions"
+msgstr ""
+
+msgid "Exit film\\Film at the exit of exercises"
+msgstr ""
+
+msgid "Friendly fire\\Your shooting can damage your own objects "
+msgstr ""
+
+msgid "Scrolling\\Scrolling when the mouse touches right or left border"
+msgstr ""
+
+msgid "Mouse inversion X\\Inversion of the scrolling direction on the X axis"
+msgstr ""
+
+msgid "Mouse inversion Y\\Inversion of the scrolling direction on the Y axis"
+msgstr ""
+
+msgid "Quake at explosions\\The screen shakes at explosions"
+msgstr ""
+
+msgid "Mouse shadow\\Gives the mouse a shadow"
+msgstr ""
+
+msgid "Automatic indent\\When program editing"
+msgstr ""
+
+msgid "Big indent\\Indent 2 or 4 spaces per level defined by braces"
+msgstr ""
+
+msgid "Access to solutions\\Show program \"4: Solution\" in the exercises"
+msgstr ""
+
+msgid "Standard controls\\Standard key functions"
+msgstr ""
+
+msgid "Turn left\\turns the bot to the left"
+msgstr ""
+
+msgid "Turn right\\turns the bot to the right"
+msgstr ""
+
+msgid "Forward\\Moves forward"
+msgstr ""
+
+msgid "Backward\\Moves backward"
+msgstr ""
+
+msgid "Climb\\Increases the power of the jet"
+msgstr ""
+
+msgid "Descend\\Reduces the power of the jet"
+msgstr ""
+
+msgid "Change camera\\Switches between onboard camera and following camera"
+msgstr ""
+
+msgid "Previous object\\Selects the previous object"
+msgstr ""
+
+msgid ""
+"Standard action\\Standard action of the bot (take/grab, shoot, sniff, etc)"
+msgstr ""
+
+msgid "Camera closer\\Moves the camera forward"
+msgstr ""
+
+msgid "Camera back\\Moves the camera backward"
+msgstr ""
+
+msgid "Next object\\Selects the next object"
+msgstr ""
+
+msgid "Select the astronaut\\Selects the astronaut"
+msgstr ""
+
+msgid "Quit\\Quit the current mission or exercise"
+msgstr ""
+
+msgid "Instructions\\Shows the instructions for the current mission"
+msgstr ""
+
+msgid "Programming help\\Gives more detailed help with programming"
+msgstr ""
+
+msgid "Key word help\\More detailed help about key words"
+msgstr ""
+
+msgid "Origin of last message\\Shows where the last message was sent from"
+msgstr ""
+
+msgid "Speed 1.0x\\Normal speed"
+msgstr ""
+
+msgid "Speed 1.5x\\1.5 times faster"
+msgstr ""
+
+msgid "Speed 2.0x\\Double speed"
+msgstr ""
+
+msgid "Speed 3.0x\\Three times faster"
+msgstr ""
+
+msgid "Sound effects:\\Volume of engines, voice, shooting, etc."
+msgstr ""
+
+msgid "Background sound :\\Volume of audio tracks on the CD"
+msgstr ""
+
+msgid "3D sound\\3D positioning of the sound"
+msgstr ""
+
+msgid "Lowest\\Minimum graphic quality (highest frame rate)"
+msgstr ""
+
+msgid "Normal\\Normal graphic quality"
+msgstr ""
+
+msgid "Highest\\Highest graphic quality (lowest frame rate)"
+msgstr ""
+
+msgid "Mute\\No sound"
+msgstr ""
+
+msgid "Normal\\Normal sound volume"
+msgstr ""
+
+msgid "Use a joystick\\Joystick or keyboard"
+msgstr ""
+
+msgid ""
+"Access to solution\\Shows the solution (detailed instructions for missions)"
+msgstr ""
+
+msgid "\\New player name"
+msgstr ""
+
+msgid "OK\\Choose the selected player"
+msgstr ""
+
+msgid "Cancel\\Keep current player name"
+msgstr ""
+
+msgid "Delete player\\Deletes the player from the list"
+msgstr ""
+
+msgid "Player name"
+msgstr ""
+
+msgid "Save\\Saves the current mission"
+msgstr ""
+
+msgid "Load\\Loads the selected mission"
+msgstr ""
+
+msgid "List of saved missions"
+msgstr ""
+
+msgid "Filename:"
+msgstr ""
+
+msgid "Mission name"
+msgstr ""
+
+msgid "Photography"
+msgstr ""
+
+msgid "Delete\\Deletes the selected file"
+msgstr ""
+
+msgid "Appearance\\Choose your appearance"
+msgstr ""
+
+msgid "Standard\\Standard appearance settings"
+msgstr ""
+
+msgid "Head\\Face and hair"
+msgstr ""
+
+msgid "Suit\\Astronaut suit"
+msgstr ""
+
+msgid "\\Turn left"
+msgstr ""
+
+msgid "\\Turn right"
+msgstr ""
+
+msgid "Red"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
+msgid "Blue"
+msgstr ""
+
+msgid "\\Face 1"
+msgstr ""
+
+msgid "\\Face 4"
+msgstr ""
+
+msgid "\\Face 3"
+msgstr ""
+
+msgid "\\Face 2"
+msgstr ""
+
+msgid "\\No eyeglasses"
+msgstr ""
+
+msgid "\\Eyeglasses 1"
+msgstr ""
+
+msgid "\\Eyeglasses 2"
+msgstr ""
+
+msgid "\\Eyeglasses 3"
+msgstr ""
+
+msgid "\\Eyeglasses 4"
+msgstr ""
+
+msgid "\\Eyeglasses 5"
+msgstr ""
+
+msgid "Previous selection (\\key desel;)"
+msgstr ""
+
+msgid "Turn left (\\key left;)"
+msgstr ""
+
+msgid "Turn right (\\key right;)"
+msgstr ""
+
+msgid "Forward (\\key up;)"
+msgstr ""
+
+msgid "Backward (\\key down;)"
+msgstr ""
+
+msgid "Up (\\key gup;)"
+msgstr ""
+
+msgid "Down (\\key gdown;)"
+msgstr ""
+
+msgid "Grab or drop (\\key action;)"
+msgstr ""
+
+msgid "..in front"
+msgstr ""
+
+msgid "..behind"
+msgstr ""
+
+msgid "..power cell"
+msgstr ""
+
+msgid "Instructions for the mission (\\key help;)"
+msgstr ""
+
+msgid "Take off to finish the mission"
+msgstr ""
+
+msgid "Build a derrick"
+msgstr ""
+
+msgid "Build a power station"
+msgstr ""
+
+msgid "Build a bot factory"
+msgstr ""
+
+msgid "Build a repair center"
+msgstr ""
+
+msgid "Build a converter"
+msgstr ""
+
+msgid "Build a defense tower"
+msgstr ""
+
+msgid "Build a research center"
+msgstr ""
+
+msgid "Build a radar station"
+msgstr ""
+
+msgid "Build a power cell factory"
+msgstr ""
+
+msgid "Build an autolab"
+msgstr ""
+
+msgid "Build a nuclear power plant"
+msgstr ""
+
+msgid "Build a lightning conductor"
+msgstr ""
+
+msgid "Build a exchange post"
+msgstr ""
+
+msgid "Show if the ground is flat"
+msgstr ""
+
+msgid "Plant a flag"
+msgstr ""
+
+msgid "Remove a flag"
+msgstr ""
+
+msgid "\\Blue flags"
+msgstr ""
+
+msgid "\\Red flags"
+msgstr ""
+
+msgid "\\Green flags"
+msgstr ""
+
+msgid "\\Yellow flags"
+msgstr ""
+
+msgid "\\Violet flags"
+msgstr ""
+
+msgid "Build a winged grabber"
+msgstr ""
+
+msgid "Build a tracked grabber"
+msgstr ""
+
+msgid "Build a wheeled grabber"
+msgstr ""
+
+msgid "Build a legged grabber"
+msgstr ""
+
+msgid "Build a winged shooter"
+msgstr ""
+
+msgid "Build a tracked shooter"
+msgstr ""
+
+msgid "Build a wheeled shooter"
+msgstr ""
+
+msgid "Build a legged shooter"
+msgstr ""
+
+msgid "Build a winged orga shooter"
+msgstr ""
+
+msgid "Build a tracked orga shooter"
+msgstr ""
+
+msgid "Build a wheeled orga shooter"
+msgstr ""
+
+msgid "Build a legged orga shooter"
+msgstr ""
+
+msgid "Build a winged sniffer"
+msgstr ""
+
+msgid "Build a tracked sniffer"
+msgstr ""
+
+msgid "Build a wheeled sniffer"
+msgstr ""
+
+msgid "Build a legged sniffer"
+msgstr ""
+
+msgid "Build a thumper"
+msgstr ""
+
+msgid "Build a phazer shooter"
+msgstr ""
+
+msgid "Build a recycler"
+msgstr ""
+
+msgid "Build a shielder"
+msgstr ""
+
+msgid "Build a subber"
+msgstr ""
+
+msgid "Run research program for tracked bots"
+msgstr ""
+
+msgid "Run research program for winged bots"
+msgstr ""
+
+msgid "Run research program for thumper"
+msgstr ""
+
+msgid "Run research program for shooter"
+msgstr ""
+
+msgid "Run research program for defense tower"
+msgstr ""
+
+msgid "Run research program for phazer shooter"
+msgstr ""
+
+msgid "Run research program for shielder"
+msgstr ""
+
+msgid "Run research program for nuclear power"
+msgstr ""
+
+msgid "Run research program for legged bots"
+msgstr ""
+
+msgid "Run research program for orga shooter"
+msgstr ""
+
+msgid "Return to start"
+msgstr ""
+
+msgid "Sniff (\\key action;)"
+msgstr ""
+
+msgid "Thump (\\key action;)"
+msgstr ""
+
+msgid "Shoot (\\key action;)"
+msgstr ""
+
+msgid "Recycle (\\key action;)"
+msgstr ""
+
+msgid "Extend shield (\\key action;)"
+msgstr ""
+
+msgid "Withdraw shield (\\key action;)"
+msgstr ""
+
+msgid "Shield radius"
+msgstr ""
+
+msgid "Execute the selected program"
+msgstr ""
+
+msgid "Edit the selected program"
+msgstr ""
+
+msgid "\\SatCom on standby"
+msgstr ""
+
+msgid "Destroy the building"
+msgstr ""
+
+msgid "Energy level"
+msgstr ""
+
+msgid "Shield level"
+msgstr ""
+
+msgid "Jet temperature"
+msgstr ""
+
+msgid "Still working ..."
+msgstr ""
+
+msgid "Number of insects detected"
+msgstr ""
+
+msgid "Transmitted information"
+msgstr ""
+
+msgid "Compass"
+msgstr ""
+
+msgid "Zoom mini-map"
+msgstr ""
+
+msgid "Camera (\\key camera;)"
+msgstr ""
+
+msgid "Camera to left"
+msgstr ""
+
+msgid "Camera to right"
+msgstr ""
+
+msgid "Camera nearest"
+msgstr ""
+
+msgid "Camera awayest"
+msgstr ""
+
+msgid "Help about selected object"
+msgstr ""
+
+msgid "Show the solution"
+msgstr ""
+
+msgid "Switch bots <-> buildings"
+msgstr ""
+
+msgid "Show the range"
+msgstr ""
+
+msgid "\\Raise the pencil"
+msgstr ""
+
+msgid "\\Use the black pencil"
+msgstr ""
+
+msgid "\\Use the yellow pencil"
+msgstr ""
+
+msgid "\\Use the orange pencil"
+msgstr ""
+
+msgid "\\Use the red pencil"
+msgstr ""
+
+msgid "\\Use the purple pencil"
+msgstr ""
+
+msgid "\\Use the blue pencil"
+msgstr ""
+
+msgid "\\Use the green pencil"
+msgstr ""
+
+msgid "\\Use the brown pencil"
+msgstr ""
+
+msgid "\\Start recording"
+msgstr ""
+
+msgid "\\Stop recording"
+msgstr ""
+
+msgid "Show the place"
+msgstr ""
+
+msgid "Continue"
+msgstr ""
+
+msgid "Command line"
+msgstr ""
+
+msgid "Game speed"
+msgstr ""
+
+msgid "Back"
+msgstr ""
+
+msgid "Forward"
+msgstr ""
+
+msgid "Home"
+msgstr ""
+
+msgid "Copy"
+msgstr ""
+
+msgid "Size 1"
+msgstr ""
+
+msgid "Size 2"
+msgstr ""
+
+msgid "Size 3"
+msgstr ""
+
+msgid "Size 4"
+msgstr ""
+
+msgid "Size 5"
+msgstr ""
+
+msgid "Instructions from Houston"
+msgstr ""
+
+msgid "Satellite report"
+msgstr ""
+
+msgid "Programs dispatched by Houston"
+msgstr ""
+
+msgid "List of objects"
+msgstr ""
+
+msgid "Programming help"
+msgstr ""
+
+msgid "Solution"
+msgstr ""
+
+msgid "OK\\Close program editor and return to game"
+msgstr ""
+
+msgid "Cancel\\Cancel all changes"
+msgstr ""
+
+msgid "Open (Ctrl+o)"
+msgstr ""
+
+msgid "Save (Ctrl+s)"
+msgstr ""
+
+msgid "Undo (Ctrl+z)"
+msgstr ""
+
+msgid "Cut (Ctrl+x)"
+msgstr ""
+
+msgid "Copy (Ctrl+c)"
+msgstr ""
+
+msgid "Paste (Ctrl+v)"
+msgstr ""
+
+msgid "Font size"
+msgstr ""
+
+msgid "Instructions (\\key help;)"
+msgstr ""
+
+msgid "Programming help (\\key prog;)"
+msgstr ""
+
+msgid "Compile"
+msgstr ""
+
+msgid "Execute/stop"
+msgstr ""
+
+msgid "Pause/continue"
+msgstr ""
+
+msgid "One step"
+msgstr ""
+
+msgid "Gantry crane"
+msgstr ""
+
+msgid "Spaceship"
+msgstr ""
+
+msgid "Derrick"
+msgstr ""
+
+msgid "Bot factory"
+msgstr ""
+
+msgid "Repair center"
+msgstr ""
+
+msgid "Destroyer"
+msgstr ""
+
+msgid "Power station"
+msgstr ""
+
+msgid "Converts ore to titanium"
+msgstr ""
+
+msgid "Defense tower"
+msgstr ""
+
+msgid "Nest"
+msgstr ""
+
+msgid "Research center"
+msgstr ""
+
+msgid "Radar station"
+msgstr ""
+
+msgid "Information exchange post"
+msgstr ""
+
+msgid "Power cell factory"
+msgstr ""
+
+msgid "Autolab"
+msgstr ""
+
+msgid "Nuclear power station"
+msgstr ""
+
+msgid "Lightning conductor"
+msgstr ""
+
+msgid "Vault"
+msgstr ""
+
+msgid "Houston Mission Control"
+msgstr ""
+
+msgid "Target"
+msgstr ""
+
+msgid "Start"
+msgstr ""
+
+msgid "Finish"
+msgstr ""
+
+msgid "Titanium ore"
+msgstr ""
+
+msgid "Uranium ore"
+msgstr ""
+
+msgid "Organic matter"
+msgstr ""
+
+msgid "Titanium"
+msgstr ""
+
+msgid "Power cell"
+msgstr ""
+
+msgid "Nuclear power cell"
+msgstr ""
+
+msgid "Black box"
+msgstr ""
+
+msgid "Key A"
+msgstr ""
+
+msgid "Key B"
+msgstr ""
+
+msgid "Key C"
+msgstr ""
+
+msgid "Key D"
+msgstr ""
+
+msgid "Explosive"
+msgstr ""
+
+msgid "Fixed mine"
+msgstr ""
+
+msgid "Survival kit"
+msgstr ""
+
+msgid "Checkpoint"
+msgstr ""
+
+msgid "Blue flag"
+msgstr ""
+
+msgid "Red flag"
+msgstr ""
+
+msgid "Green flag"
+msgstr ""
+
+msgid "Yellow flag"
+msgstr ""
+
+msgid "Violet flag"
+msgstr ""
+
+msgid "Energy deposit (site for power station)"
+msgstr ""
+
+msgid "Uranium deposit (site for derrick)"
+msgstr ""
+
+msgid "Found key A (site for derrick)"
+msgstr ""
+
+msgid "Found key B (site for derrick)"
+msgstr ""
+
+msgid "Found key C (site for derrick)"
+msgstr ""
+
+msgid "Found key D (site for derrick)"
+msgstr ""
+
+msgid "Titanium deposit (site for derrick)"
+msgstr ""
+
+msgid "Practice bot"
+msgstr ""
+
+msgid "Winged grabber"
+msgstr ""
+
+msgid "Tracked grabber"
+msgstr ""
+
+msgid "Wheeled grabber"
+msgstr ""
+
+msgid "Legged grabber"
+msgstr ""
+
+msgid "Winged shooter"
+msgstr ""
+
+msgid "Tracked shooter"
+msgstr ""
+
+msgid "Wheeled shooter"
+msgstr ""
+
+msgid "Legged shooter"
+msgstr ""
+
+msgid "Winged orga shooter"
+msgstr ""
+
+msgid "Tracked orga shooter"
+msgstr ""
+
+msgid "Wheeled orga shooter"
+msgstr ""
+
+msgid "Legged orga shooter"
+msgstr ""
+
+msgid "Winged sniffer"
+msgstr ""
+
+msgid "Tracked sniffer"
+msgstr ""
+
+msgid "Wheeled sniffer"
+msgstr ""
+
+msgid "Legged sniffer"
+msgstr ""
+
+msgid "Thumper"
+msgstr ""
+
+msgid "Phazer shooter"
+msgstr ""
+
+msgid "Recycler"
+msgstr ""
+
+msgid "Shielder"
+msgstr ""
+
+msgid "Subber"
+msgstr ""
+
+msgid "Target bot"
+msgstr ""
+
+msgid "Drawer bot"
+msgstr ""
+
+msgid "Engineer"
+msgstr ""
+
+msgid "Robbie"
+msgstr ""
+
+msgid "Alien Queen"
+msgstr ""
+
+msgid "Ant"
+msgstr ""
+
+msgid "Spider"
+msgstr ""
+
+msgid "Wasp"
+msgstr ""
+
+msgid "Worm"
+msgstr ""
+
+msgid "Egg"
+msgstr ""
+
+msgid "Wreckage"
+msgstr ""
+
+msgid "Ruin"
+msgstr ""
+
+msgid "Waste"
+msgstr ""
+
+msgid "Spaceship ruin"
+msgstr ""
+
+msgid "Remains of Apollo mission"
+msgstr ""
+
+msgid "Lunar Roving Vehicle"
+msgstr ""
+
+msgid "Unknown command"
+msgstr ""
+
+msgid "Inappropriate bot"
+msgstr ""
+
+msgid "Impossible when flying"
+msgstr ""
+
+msgid "Already carrying something"
+msgstr ""
+
+msgid "Nothing to grab"
+msgstr ""
+
+msgid "Impossible when moving"
+msgstr ""
+
+msgid "Place occupied"
+msgstr ""
+
+msgid "No other robot"
+msgstr ""
+
+msgid "You can not carry a radioactive object"
+msgstr ""
+
+msgid "You can not carry an object under water"
+msgstr ""
+
+msgid "Nothing to drop"
+msgstr ""
+
+msgid "Impossible under water"
+msgstr ""
+
+msgid "Not enough energy"
+msgstr ""
+
+msgid "Titanium too far away"
+msgstr ""
+
+msgid "Titanium too close"
+msgstr ""
+
+msgid "No titanium around"
+msgstr ""
+
+msgid "Ground not flat enough"
+msgstr ""
+
+msgid "Flat ground not large enough"
+msgstr ""
+
+msgid "Too close to space ship"
+msgstr ""
+
+msgid "Too close to a building"
+msgstr ""
+
+msgid "Ground inappropriate"
+msgstr ""
+
+msgid "Building too close"
+msgstr ""
+
+msgid "Object too close"
+msgstr ""
+
+msgid "Nothing to recycle"
+msgstr ""
+
+msgid "No more energy"
+msgstr ""
+
+msgid "Error in instruction move"
+msgstr ""
+
+msgid "Object not found"
+msgstr ""
+
+msgid "Goto: inaccessible destination"
+msgstr ""
+
+msgid "Goto: destination occupied"
+msgstr ""
+
+msgid "No titanium ore to convert"
+msgstr ""
+
+msgid "No ore in the subsoil"
+msgstr ""
+
+msgid "No energy in the subsoil"
+msgstr ""
+
+msgid "No power cell"
+msgstr ""
+
+msgid "Inappropriate cell type"
+msgstr ""
+
+msgid "Research program already performed"
+msgstr ""
+
+msgid "Not enough energy yet"
+msgstr ""
+
+msgid "No titanium to transform"
+msgstr ""
+
+msgid "Transforms only titanium"
+msgstr ""
+
+msgid "Doors blocked by a robot or another object "
+msgstr ""
+
+msgid "You must get on the spaceship to take off "
+msgstr ""
+
+msgid "Nothing to analyze"
+msgstr ""
+
+msgid "Analyzes only organic matter"
+msgstr ""
+
+msgid "Analysis already performed"
+msgstr ""
+
+msgid "Not yet enough energy"
+msgstr ""
+
+msgid "No uranium to transform"
+msgstr ""
+
+msgid "Transforms only uranium"
+msgstr ""
+
+msgid "No titanium"
+msgstr ""
+
+msgid "No information exchange post within range"
+msgstr ""
+
+msgid "Program infected by a virus"
+msgstr ""
+
+msgid "Infected by a virus; temporarily out of order"
+msgstr ""
+
+msgid "Impossible when swimming"
+msgstr ""
+
+msgid "Impossible when carrying an object"
+msgstr ""
+
+msgid "Too many flags of this color (maximum 5)"
+msgstr ""
+
+msgid "Too close to an existing flag"
+msgstr ""
+
+msgid "No flag nearby"
+msgstr ""
+
+msgid ""
+"The mission is not accomplished yet (press \\key help; for more details)"
+msgstr ""
+
+msgid "Bot destroyed"
+msgstr ""
+
+msgid "Building destroyed"
+msgstr ""
+
+msgid "Can not create this; there are too many objects"
+msgstr ""
+
+#, c-format
+msgid "\"%s\" missing in this exercise"
+msgstr ""
+
+msgid "Do not use in this exercise"
+msgstr ""
+
+msgid "Building completed"
+msgstr ""
+
+msgid "Titanium available"
+msgstr ""
+
+msgid "Research program completed"
+msgstr ""
+
+msgid "Plans for tracked robots available "
+msgstr ""
+
+msgid "You can fly with the keys (\\key gup;) and (\\key gdown;)"
+msgstr ""
+
+msgid "Plans for thumper available"
+msgstr ""
+
+msgid "Plans for shooter available"
+msgstr ""
+
+msgid "Plans for defense tower available"
+msgstr ""
+
+msgid "Plans for phazer shooter available"
+msgstr ""
+
+msgid "Plans for shielder available"
+msgstr ""
+
+msgid "Plans for nuclear power plant available"
+msgstr ""
+
+msgid "New bot available"
+msgstr ""
+
+msgid "Analysis performed"
+msgstr ""
+
+msgid "Power cell available"
+msgstr ""
+
+msgid "Nuclear power cell available"
+msgstr ""
+
+msgid "You found a usable object"
+msgstr ""
+
+msgid "Found a site for power station"
+msgstr ""
+
+msgid "Found a site for a derrick"
+msgstr ""
+
+msgid "<<< Well done; mission accomplished >>>"
+msgstr ""
+
+msgid "<<< Sorry; mission failed >>>"
+msgstr ""
+
+msgid "Current mission saved"
+msgstr ""
+
+msgid "Checkpoint crossed"
+msgstr ""
+
+msgid "Alien Queen killed"
+msgstr ""
+
+msgid "Ant fatally wounded"
+msgstr ""
+
+msgid "Wasp fatally wounded"
+msgstr ""
+
+msgid "Worm fatally wounded"
+msgstr ""
+
+msgid "Spider fatally wounded"
+msgstr ""
+
+msgid "Press \\key help; to read instructions on your SatCom"
+msgstr ""
+
+msgid "Opening bracket missing"
+msgstr ""
+
+msgid "Closing bracket missing "
+msgstr ""
+
+msgid "The expression must return a boolean value"
+msgstr ""
+
+msgid "Variable not declared"
+msgstr ""
+
+msgid "Assignment impossible"
+msgstr ""
+
+msgid "Semicolon terminator missing"
+msgstr ""
+
+msgid "Instruction \"case\" outside a block \"switch\""
+msgstr ""
+
+msgid "Instructions after the final closing brace"
+msgstr ""
+
+msgid "End of block missing"
+msgstr ""
+
+msgid "Instruction \"else\" without corresponding \"if\" "
+msgstr ""
+
+msgid "Opening brace missing "
+msgstr ""
+
+msgid "Wrong type for the assignment"
+msgstr ""
+
+msgid "A variable can not be declared twice"
+msgstr ""
+
+msgid "The types of the two operands are incompatible "
+msgstr ""
+
+msgid "Unknown function"
+msgstr ""
+
+msgid "Sign \" : \" missing"
+msgstr ""
+
+msgid "Keyword \"while\" missing"
+msgstr ""
+
+msgid "Instruction \"break\" outside a loop"
+msgstr ""
+
+msgid "A label must be followed by \"for\"; \"while\"; \"do\" or \"switch\""
+msgstr ""
+
+msgid "This label does not exist"
+msgstr ""
+
+msgid "Instruction \"case\" missing"
+msgstr ""
+
+msgid "Number missing"
+msgstr ""
+
+msgid "Void parameter"
+msgstr ""
+
+msgid "Type declaration missing"
+msgstr ""
+
+msgid "Variable name missing"
+msgstr ""
+
+msgid "Function name missing"
+msgstr ""
+
+msgid "Too many parameters"
+msgstr ""
+
+msgid "Function already exists"
+msgstr ""
+
+msgid "Parameters missing "
+msgstr ""
+
+msgid "No function with this name accepts this kind of parameter"
+msgstr ""
+
+msgid "No function with this name accepts this number of parameters"
+msgstr ""
+
+msgid "This is not a member of this class"
+msgstr ""
+
+msgid "This object is not a member of a class"
+msgstr ""
+
+msgid "Appropriate constructor missing"
+msgstr ""
+
+msgid "This class already exists"
+msgstr ""
+
+msgid "\" ] \" missing"
+msgstr ""
+
+msgid "Reserved keyword of CBOT language"
+msgstr ""
+
+msgid "Bad argument for \"new\""
+msgstr ""
+
+msgid "\" [ \" expected"
+msgstr ""
+
+msgid "String missing"
+msgstr ""
+
+msgid "Incorrect index type"
+msgstr ""
+
+msgid "Private element"
+msgstr ""
+
+msgid "Public required"
+msgstr ""
+
+msgid "Dividing by zero"
+msgstr ""
+
+msgid "Variable not initialized"
+msgstr ""
+
+msgid "Negative value rejected by \"throw\""
+msgstr ""
+
+msgid "The function returned no value "
+msgstr ""
+
+msgid "No function running"
+msgstr ""
+
+msgid "Calling an unknown function"
+msgstr ""
+
+msgid "This class does not exist"
+msgstr ""
+
+msgid "Unknown Object"
+msgstr ""
+
+msgid "Operation impossible with value \"nan\""
+msgstr ""
+
+msgid "Access beyond array limit"
+msgstr ""
+
+msgid "Stack overflow"
+msgstr ""
+
+msgid "Illegal object"
+msgstr ""
+
+msgid "Can't open file"
+msgstr ""
+
+msgid "File not open"
+msgstr ""
+
+msgid "Read error"
+msgstr ""
+
+msgid "Write error"
+msgstr ""
+
+msgid "left;"
+msgstr ""
+
+msgid "right;"
+msgstr ""
+
+msgid "up;"
+msgstr ""
+
+msgid "down;"
+msgstr ""
+
+msgid "gup;"
+msgstr ""
+
+msgid "gdown;"
+msgstr ""
+
+msgid "camera;"
+msgstr ""
+
+msgid "desel;"
+msgstr ""
+
+msgid "action;"
+msgstr ""
+
+msgid "near;"
+msgstr ""
+
+msgid "away;"
+msgstr ""
+
+msgid "next;"
+msgstr ""
+
+msgid "human;"
+msgstr ""
+
+msgid "quit;"
+msgstr ""
+
+msgid "help;"
+msgstr ""
+
+msgid "prog;"
+msgstr ""
+
+msgid "cbot;"
+msgstr ""
+
+msgid "visit;"
+msgstr ""
+
+msgid "speed10;"
+msgstr ""
+
+msgid "speed15;"
+msgstr ""
+
+msgid "speed20;"
+msgstr ""
+
+#, c-format
+msgid "GetResource event num out of range: %d\n"
+msgstr ""
+
+msgid "Ctrl"
+msgstr ""
+
+msgid "Shift"
+msgstr ""
+
+msgid "Alt"
+msgstr ""
+
+msgid "Win"
+msgstr ""
+
+msgid "Button %1"
+msgstr ""
+
+msgid "%1"
+msgstr ""
diff --git a/src/po/de.po b/src/po/de.po
index 98faf5e..2992cb1 100644
--- a/src/po/de.po
+++ b/src/po/de.po
@@ -1,5 +1,7 @@
msgid ""
msgstr ""
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-12-27 17:09+0100\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -7,1969 +9,2047 @@ msgstr ""
"X-Language: de_DE\n"
"X-Source-Language: en_US\n"
-msgid "Colobot rules!"
-msgstr "Colobot ist wunderbar!"
+msgid " "
+msgstr " "
-msgid "Colobot Gold"
-msgstr "Colobot Gold"
+msgid " Challenges in the chapter:"
+msgstr " Liste der Challenges des Kapitels:"
-msgid "SatCom"
-msgstr "SatCom"
+msgid " Chapters:"
+msgstr " Liste der Kapitel:"
-msgid "Maximize"
-msgstr "Großes Fenster"
+msgid " Drivers:"
+msgstr " Driver:"
-msgid "Minimize"
-msgstr "Reduzieren"
+msgid " Exercises in the chapter:"
+msgstr " Liste der Übungen des Kapitels:"
-msgid "Normal size"
-msgstr "Normale Größe"
+msgid " Free game on this chapter:"
+msgstr " Liste der freien Levels des Kapitel:"
-msgid "Close"
-msgstr "Schließen"
+msgid " Free game on this planet:"
+msgstr " Liste der freien Levels des Planeten:"
-msgid "Program editor"
-msgstr "Programmeditor"
+msgid " Missions on this level:"
+msgstr " Missionen des Userlevels:"
-msgid "New"
-msgstr "Neu"
+msgid " Missions on this planet:"
+msgstr " Liste der Missionen des Planeten:"
-msgid "Player"
-msgstr "Spieler"
+msgid " Planets:"
+msgstr " Liste der Planeten:"
-msgid "New ..."
-msgstr "Neu ..."
+msgid " Prototypes on this planet:"
+msgstr " Liste der Prototypen des Planeten:"
+
+msgid " Resolution:"
+msgstr " Auflösung:"
+
+msgid " Summary:"
+msgstr " Zusammenfassung:"
+
+msgid " User levels:"
+msgstr " Userlevels:"
msgid " or "
msgstr " oder "
-msgid "COLOBOT"
-msgstr "COLOBOT"
+msgid "\" [ \" expected"
+msgstr "Es fehlt eine offene eckige Klammer \" [ \""
-msgid "Programming exercises"
-msgstr "Programmieren"
+msgid "\" ] \" missing"
+msgstr "Es fehlt eine geschlossene eckige Klammer \" ] \""
-msgid "Challenges"
-msgstr "Challenges"
+#, c-format
+msgid "\"%s\" missing in this exercise"
+msgstr "Es fehlt \"%s\" in Ihrem Programm"
-msgid "Missions"
-msgstr "Missionen"
+msgid "%1"
+msgstr ""
-msgid "Free game"
-msgstr "Freestyle"
+msgid "..behind"
+msgstr "..hinten"
-msgid "User levels"
-msgstr "Userlevels"
+msgid "..in front"
+msgstr "..vorne"
-msgid "Prototypes"
-msgstr "Prototypen"
+msgid "..power cell"
+msgstr "..Batterie"
-msgid "Options"
-msgstr "Einstellungen"
+msgid "1) First click on the key you want to redefine."
+msgstr "1) Klicken Sie auf die neu zu definierende Taste."
-msgid "Player's name"
-msgstr "Name "
+msgid "2) Then press the key you want to use instead."
+msgstr "2) Drücken Sie auf die neue Taste."
-msgid "Customize your appearance"
-msgstr "Aussehen einstellen"
+msgid "3D sound\\3D positioning of the sound"
+msgstr "3D-Geräusche\\Orten der Geräusche im Raum"
-msgid "Save the current mission"
-msgstr "Aktuelle Mission speichern"
+msgid "<< Back \\Back to the previous screen"
+msgstr "<< Zurück \\Zurück zum Hauptmenü"
-msgid "Load a saved mission"
-msgstr "Gespeicherte Mission laden"
+#, fuzzy
+msgid "<<< Sorry; mission failed >>>"
+msgstr "<<< Mission gescheitert >>>"
-msgid " Chapters:"
-msgstr " Liste der Kapitel:"
+#, fuzzy
+msgid "<<< Well done; mission accomplished >>>"
+msgstr "<<< Bravo, Mission vollendet >>>"
-msgid " Planets:"
-msgstr " Liste der Planeten:"
+#, fuzzy
+msgid "A label must be followed by \"for\"; \"while\"; \"do\" or \"switch\""
+msgstr ""
+"Ein Label kann nur vor den Anweisungen \"for\", \"while\", \"do\" oder "
+"\"switch\" vorkommen"
-msgid " User levels:"
-msgstr " Userlevels:"
+msgid "A variable can not be declared twice"
+msgstr "Eine Variable wird zum zweiten Mal deklariert"
-msgid " Exercises in the chapter:"
-msgstr " Liste der Übungen des Kapitels:"
+msgid "Abort\\Abort the current mission"
+msgstr "Abbrechen\\Mission abbrechen"
-msgid " Challenges in the chapter:"
-msgstr " Liste der Challenges des Kapitels:"
+msgid "Access beyond array limit"
+msgstr "Zugriff im Array außerhalb der Grenzen"
-msgid " Missions on this planet:"
-msgstr " Liste der Missionen des Planeten:"
+msgid ""
+"Access to solution\\Shows the solution (detailed instructions for missions)"
+msgstr "Zeigt die Lösung\\Zeigt nach 3mal Scheitern die Lösung"
-msgid " Free game on this planet:"
-msgstr " Liste der freien Levels des Planeten:"
+msgid "Access to solutions\\Show program \"4: Solution\" in the exercises"
+msgstr ""
+"Lösung zugänglich\\Die Lösung ist im Programmslot \"4: Lösung\" zugänglich"
-msgid " Missions on this level:"
-msgstr " Missionen des Userlevels:"
+msgid "Alien Queen"
+msgstr "Insektenkönigin"
-msgid " Prototypes on this planet:"
-msgstr " Liste der Prototypen des Planeten:"
+msgid "Alien Queen killed"
+msgstr "Insektenkönigin tödlich verwundet"
-msgid " Free game on this chapter:"
-msgstr " Liste der freien Levels des Kapitel:"
+msgid "Already carrying something"
+msgstr "Trägt schon etwas"
-msgid " Summary:"
-msgstr " Zusammenfassung:"
+msgid "Alt"
+msgstr "Alt"
-msgid " Drivers:"
-msgstr " Driver:"
+msgid "Analysis already performed"
+msgstr "Analyse schon durchgeführt"
-msgid " Resolution:"
-msgstr " Auflösung:"
+msgid "Analysis performed"
+msgstr "Analyse vollendet"
-msgid "1) First click on the key you want to redefine."
-msgstr "1) Klicken Sie auf die neu zu definierende Taste."
+msgid "Analyzes only organic matter"
+msgstr "Analysiert nur Orgastoff"
-msgid "2) Then press the key you want to use instead."
-msgstr "2) Drücken Sie auf die neue Taste."
+msgid "Ant"
+msgstr "Ameise"
-msgid "Face type:"
-msgstr "Kopf:"
+msgid "Ant fatally wounded"
+msgstr "Ameise tödlich verwundet"
-msgid "Eyeglasses:"
-msgstr "Brille:"
+msgid "Appearance\\Choose your appearance"
+msgstr "Aussehen\\Erscheinungsbild des Astronauten einstellen"
-msgid "Hair color:"
-msgstr "Haarfarbe:"
+msgid "Apply changes\\Activates the changed settings"
+msgstr "Änderungen ausführen\\Getätigte Einstellungen ausführen"
-msgid "Suit color:"
-msgstr "Farbe des Anzugs:"
+msgid "Appropriate constructor missing"
+msgstr "Es gibt keinen geeigneten Konstruktor"
-msgid "Strip color:"
-msgstr "Farbe der Streifen:"
+msgid "Assignment impossible"
+msgstr "Zuweisung unmöglich"
-msgid "Do you want to quit COLOBOT ?"
-msgstr "Wollen Sie COLOBOT schließen ?"
+msgid "Autolab"
+msgstr "Automatisches Labor"
-msgid "Quit\\Quit COLOBOT"
-msgstr "Schließen\\COLOBOT schließen"
+msgid "Automatic indent\\When program editing"
+msgstr "Automatisches Einrücken\\Beim Bearbeiten der Programme"
-msgid "Quit the mission?"
-msgstr "Mission abbrechen ?"
+msgid "Back"
+msgstr "Vorherg. Seite"
-msgid "Abort\\Abort the current mission"
-msgstr "Abbrechen\\Mission abbrechen"
+msgid "Background sound :\\Volume of audio tracks on the CD"
+msgstr "Geräuschkulisse:\\Lautstärke der Soundtracks der CD"
-msgid "Continue\\Continue the current mission"
-msgstr "Weitermachen\\Mission weitermachen"
+msgid "Backward (\\key down;)"
+msgstr "Rückwärts (\\key down;)"
-msgid "Continue\\Continue the game"
-msgstr "Weitermachen\\Weitermachen"
+msgid "Backward\\Moves backward"
+msgstr "Rückwärts\\Bewegung nach hinten"
-msgid "Do you really want to destroy the selected building?"
-msgstr "Wollen Sie das angewählte Gebäude wirklich zerstören ?"
+msgid "Bad argument for \"new\""
+msgstr "Falsche Argumente für \"new\""
-msgid "Do you want to delete %s's saved games? "
-msgstr "Wollen Sie die gespeicherten Missionen von %s löschen ?"
+msgid "Big indent\\Indent 2 or 4 spaces per level defined by braces"
+msgstr "Einrücken mit 4 Leerstellen\\Einrücken mit 2 oder 4 Leerstellen"
-msgid "Delete"
-msgstr "Zerstören"
+msgid "Black box"
+msgstr "Flugschreiber"
-msgid "Cancel"
-msgstr "Abbrechen"
+msgid "Blue"
+msgstr "Blau"
-msgid "LOADING"
-msgstr "Laden"
+msgid "Blue flag"
+msgstr "Blaue Fahne"
-msgid "Keyword help(\\key cbot;)"
-msgstr "Hilfe über den Begriff (\\key cbot;)"
+msgid "Bot destroyed"
+msgstr "Roboter zerstört"
-msgid "Compilation ok (0 errors)"
-msgstr "Kompilieren OK (0 Fehler)"
+msgid "Bot factory"
+msgstr "Roboterfabrik"
-msgid "Program finished"
-msgstr "Programm beendet"
+msgid "Build a bot factory"
+msgstr "Baut eine Roboterfabrik"
-msgid "\\b;List of objects\n"
-msgstr "\\b;Liste der Objekte\n"
+msgid "Build a converter"
+msgstr "Baut einen Konverter"
-msgid "\\b;Robots\n"
-msgstr "\\b;Liste der Roboter\n"
+msgid "Build a defense tower"
+msgstr "Baut einen Geschützturm"
-msgid "\\b;Buildings\n"
-msgstr "\\b;Listes der Gebäude\n"
+msgid "Build a derrick"
+msgstr "Baut einen Bohrturm"
-msgid "\\b;Moveable objects\n"
-msgstr "\\b;Listes der tragbaren Gegenstände\n"
+msgid "Build a exchange post"
+msgstr "Baut einen Infoserver"
-msgid "\\b;Aliens\n"
-msgstr "\\b;Listes der Feinde\n"
+msgid "Build a legged grabber"
+msgstr "Baut einen Krabbeltransporter"
-msgid "\\c; (none)\\n;\n"
-msgstr "\\c; (keine)\\n;\n"
+msgid "Build a legged orga shooter"
+msgstr "Baut einen Krabbelorgashooter"
-msgid "\\b;Error\n"
-msgstr "\\b;Fehler\n"
+msgid "Build a legged shooter"
+msgstr "Baut einen Krabbelshooter"
-msgid ""
-"The list is only available if a \\l;radar station\\u object\\radar; is "
-"working.\n"
-msgstr "Die Liste ist ohne \\l;Radar\\u object\\radar; nicht verfügbar.\n"
+msgid "Build a legged sniffer"
+msgstr "Baut einen Krabbelschnüffler"
-msgid "Open"
-msgstr "Öffnen"
+msgid "Build a lightning conductor"
+msgstr "Baut einen Blitzableiter"
-msgid "Save"
-msgstr "Speichern"
+msgid "Build a nuclear power plant"
+msgstr "Baut eine Brennstoffzellenfabrik"
-msgid "Folder: %s"
-msgstr "Ordner: %s"
+msgid "Build a phazer shooter"
+msgstr "Baut einen Phazershooter"
-msgid "Name:"
-msgstr "Name:"
+msgid "Build a power cell factory"
+msgstr "Baut eine Batteriefabrik"
-msgid "Folder:"
-msgstr "In:"
+msgid "Build a power station"
+msgstr "Baut ein Kraftwerk"
-msgid "Private\\Private folder"
-msgstr "Privat\\Privater Ordner"
+msgid "Build a radar station"
+msgstr "Baut ein Radar"
-msgid "Public\\Common folder"
-msgstr "Öffentlich\\Gemeinsamer Ordner für alle Spieler"
+msgid "Build a recycler"
+msgstr "Baut einen Recycler"
-msgid "Developed by :"
-msgstr "Entwickelt von:"
+msgid "Build a repair center"
+msgstr "Baut ein Reparaturzentrum"
-msgid "www.epsitec.com"
-msgstr "www.epsitec.com"
+msgid "Build a research center"
+msgstr "Baut ein Forschungszentrum"
-msgid " "
-msgstr " "
+msgid "Build a shielder"
+msgstr "Baut einen Schutzschild"
-msgid "Recorder"
-msgstr "Recorder"
+msgid "Build a subber"
+msgstr "Baut einen Kettentaucher"
-msgid "OK"
-msgstr "OK"
+msgid "Build a thumper"
+msgstr "Baut einen Stampfer"
-msgid "Next"
-msgstr "Nächster"
+msgid "Build a tracked grabber"
+msgstr "Baut einen Kettentransporter"
-msgid "Previous"
-msgstr "Vorherg"
+msgid "Build a tracked orga shooter"
+msgstr "Baut einen Kettenorgashooter"
-msgid "Menu (\\key quit;)"
-msgstr "Menü (\\key quit;)"
+msgid "Build a tracked shooter"
+msgstr "Baut einen Kettenshooter"
-msgid "Exercises\\Programming exercises"
-msgstr "Programmieren\\Programmierübungen"
+msgid "Build a tracked sniffer"
+msgstr "Baut einen Kettenschnüffler"
-msgid "Challenges\\Programming challenges"
-msgstr "Challenges\\Herausforderungen"
+msgid "Build a wheeled grabber"
+msgstr "Baut einen Radtransporter"
-msgid "Missions\\Select mission"
-msgstr "Missionen\\Aufbruch ins Weltall"
+msgid "Build a wheeled orga shooter"
+msgstr "Baut einen Radorgashooter"
-msgid "Free game\\Free game without a specific goal"
-msgstr "Freestyle\\Freies Spielen ohne vorgegebenes Ziel"
+msgid "Build a wheeled shooter"
+msgstr "Baut einen Radshooter"
-msgid "User\\User levels"
-msgstr "User\\Userlevels"
+msgid "Build a wheeled sniffer"
+msgstr "Baut einen Radschnüffler"
-msgid "Proto\\Prototypes under development"
-msgstr "Proto\\In Entwicklung befindliche Prototypen"
+msgid "Build a winged grabber"
+msgstr "Baut einen Jettransporter"
-msgid "New player\\Choose player's name"
-msgstr "Anderer Spieler\\Spielername ändern"
+msgid "Build a winged orga shooter"
+msgstr "Baut einen Jetorgashooter"
-msgid "Options\\Preferences"
-msgstr "Einstellungen\\Einstellungen"
+msgid "Build a winged shooter"
+msgstr "Baut einen Jetshooter"
-msgid "Restart\\Restart the mission from the beginning"
-msgstr "Neu anfangen\\Die Mission von vorne anfangen"
+msgid "Build a winged sniffer"
+msgstr "Baut einen Jetschnüffler"
-msgid "Save\\Save the current mission "
-msgstr "Speichern\\Aktuelle Mission speichern"
+msgid "Build an autolab"
+msgstr "Baut ein automatisches Labor"
-msgid "Load\\Load a saved mission"
-msgstr "Laden\\Eine gespeicherte Mission öffnen"
+msgid "Building completed"
+msgstr "Gebäude fertiggestellt"
-msgid "\\Return to COLOBOT"
-msgstr "\\Zurück zu COLOBOT"
+msgid "Building destroyed"
+msgstr "Gebäude zerstört"
-msgid "<< Back \\Back to the previous screen"
-msgstr "<< Zurück \\Zurück zum Hauptmenü"
+msgid "Building too close"
+msgstr "Gebäude zu nahe"
-msgid "Play\\Start mission!"
-msgstr "Spielen ...\\Los geht's!"
+msgid "Button %1"
+msgstr "Knopf %1"
-msgid "Device\\Driver and resolution settings"
-msgstr "Bildschirm\\Driver und Bildschirmauflösung"
+msgid "COLOBOT"
+msgstr "COLOBOT"
-msgid "Graphics\\Graphics settings"
-msgstr "Grafik\\Grafische Einstellungen"
+msgid "Calling an unknown function"
+msgstr "Die aufgerufene Funktion existiert nicht"
-msgid "Game\\Game settings"
-msgstr "Spiel\\Gameplay Einstellungen"
+msgid "Camera (\\key camera;)"
+msgstr "Kamera (\\key camera;)"
-msgid "Controls\\Keyboard, joystick and mouse settings"
-msgstr "Steuerung\\Auswahl der Tasten"
+msgid "Camera awayest"
+msgstr "Kamera weiter weg"
-msgid "Sound\\Music and game sound volume"
-msgstr "Geräusche\\Lautstärke Geräusche und Musik"
+msgid "Camera back\\Moves the camera backward"
+msgstr "Kamera weiter\\Bewegung der Kamera rückwärts"
-msgid "Unit"
-msgstr "Einheit"
+msgid "Camera closer\\Moves the camera forward"
+msgstr "Kamera näher\\Bewegung der Kamera vorwärts"
-msgid "Resolution"
-msgstr "Auflösung"
+msgid "Camera nearest"
+msgstr "Kamera näher"
-msgid "Full screen\\Full screen or window mode"
-msgstr "Vollbildschirm\\Vollbildschirm oder Fenster"
+msgid "Camera to left"
+msgstr "Kamera links"
-msgid "Apply changes\\Activates the changed settings"
-msgstr "Änderungen ausführen\\Getätigte Einstellungen ausführen"
+msgid "Camera to right"
+msgstr "Kamera rechts"
-msgid "Robbie\\Your assistant"
-msgstr "Robby\\Ihr Assistent"
+#, fuzzy
+msgid "Can not create this; there are too many objects"
+msgstr "Kein neues Objekt kann erstellt werden (zu viele vorhanden)"
-msgid "Shadows\\Shadows on the ground"
-msgstr "Schatten\\Schlagschatten auf dem Boden"
+msgid "Can't open file"
+msgstr "Die Datei kann nicht geöffnet werden"
-msgid "Marks on the ground\\Marks on the ground"
-msgstr "Markierungen\\Markierungen auf dem Boden"
+msgid "Cancel"
+msgstr "Abbrechen"
-msgid "Dust\\Dust and dirt on bots and buildings"
-msgstr "Schmutz\\Schmutz auf Robotern und Bauten"
+msgid "Cancel\\Cancel all changes"
+msgstr "Abbrechen\\Editor schließen"
-msgid "Fog\\Fog"
-msgstr "Nebel\\Nebelschwaden"
+msgid "Cancel\\Keep current player name"
+msgstr "Abbrechen\\Behält den bisherigen Spieler bei"
-msgid "Sunbeams\\Sunbeams in the sky"
-msgstr "Sonnenstrahlen\\Sonnenstrahlen"
+msgid "Challenges"
+msgstr "Challenges"
-msgid "Sky\\Clouds and nebulae"
-msgstr "Himmel\\Himmel und Wolken"
+msgid "Challenges\\Programming challenges"
+msgstr "Challenges\\Herausforderungen"
-msgid "Planets and stars\\Astronomical objects in the sky"
-msgstr "Planeten und Sterne\\Kreisende Planeten und Sterne"
+msgid "Change camera\\Switches between onboard camera and following camera"
+msgstr "Andere Kamera\\Sichtpunkt einstellen"
-msgid "Dynamic lighting\\Mobile light sources"
-msgstr "Dynamische Beleuchtung\\Dynamische Beleuchtung"
+msgid "Checkpoint"
+msgstr "Checkpoint"
-msgid "Number of particles\\Explosions, dust, reflections, etc."
-msgstr "Anzahl Partikel\\Explosionen, Staub, usw."
+msgid "Checkpoint crossed"
+msgstr "Checkpoint erreicht"
-msgid "Depth of field\\Maximum visibility"
-msgstr "Sichtweite\\Maximale Sichtweite"
+msgid "Climb\\Increases the power of the jet"
+msgstr "Steigen\\Leistung des Triebwerks steigern"
-msgid "Details\\Visual quality of 3D objects"
-msgstr "Details\\Detailliertheit der Objekte in 3D"
+msgid "Close"
+msgstr "Schließen"
-msgid "Textures\\Quality of textures "
-msgstr "Qualität der Texturen\\Qualität der Anzeige"
+msgid "Closing bracket missing "
+msgstr "Es fehlt eine geschlossene Klammer \")\""
-msgid "Num of decorative objects\\Number of purely ornamental objects"
-msgstr "Anzahl Ziergegenstände\\Anzahl Gegenstände ohne Funktion"
+msgid "Colobot rules!"
+msgstr "Colobot ist wunderbar!"
-msgid "Particles in the interface\\Steam clouds and sparks in the interface"
-msgstr "Partikel in den Menüs\\Funken und Sterne in den Menüs"
+msgid "Command line"
+msgstr "Befehleingabe"
-msgid "Reflections on the buttons \\Shiny buttons"
-msgstr "Glänzende Tasten\\Glänzende Tasten in den Menüs"
+msgid "Compass"
+msgstr "Kompass"
-msgid "Help balloons\\Explain the function of the buttons"
-msgstr "Hilfsblasen\\Hilfsblasen"
+msgid "Compilation ok (0 errors)"
+msgstr "Kompilieren OK (0 Fehler)"
-msgid "Film sequences\\Films before and after the missions"
-msgstr "Filme\\Filme vor und nach den Missionen"
+msgid "Compile"
+msgstr "Kompilieren"
-msgid "Exit film\\Film at the exit of exercises"
-msgstr "Zurücksetzen \\Kleine Show beim Zurücksetzen in den Übungen"
+msgid "Continue"
+msgstr "Weitermachen"
-msgid "Friendly fire\\Your shooting can damage your own objects "
-msgstr "Eigenbeschuss\\Ihre Einheiten werden von Ihren Waffen beschädigt"
+msgid "Continue\\Continue the current mission"
+msgstr "Weitermachen\\Mission weitermachen"
-msgid "Scrolling\\Scrolling when the mouse touches right or left border"
-msgstr ""
-"Kameradrehung mit der Maus\\Die Kamera dreht wenn die Maus den Rand erreicht"
+msgid "Continue\\Continue the game"
+msgstr "Weitermachen\\Weitermachen"
-msgid "Mouse inversion X\\Inversion of the scrolling direction on the X axis"
-msgstr "Umkehr X\\Umkehr der Kameradrehung X-Achse"
+msgid "Controls\\Keyboard, joystick and mouse settings"
+msgstr "Steuerung\\Auswahl der Tasten"
-msgid "Mouse inversion Y\\Inversion of the scrolling direction on the Y axis"
-msgstr "Umkehr Y\\Umkehr der Kameradrehung Y-Achse"
+msgid "Converts ore to titanium"
+msgstr "Konverter Erz-Titan"
-msgid "Quake at explosions\\The screen shakes at explosions"
-msgstr "Beben bei Explosionen\\Die Kamera bebt bei Explosionen"
+msgid "Copy"
+msgstr "Kopieren"
-msgid "Mouse shadow\\Gives the mouse a shadow"
-msgstr "Schatten unter der Maus\\Ein Schatten erscheint unter der Maus"
+msgid "Copy (Ctrl+c)"
+msgstr "Kopieren (Ctrl+c)"
-msgid "Automatic indent\\When program editing"
-msgstr "Automatisches Einrücken\\Beim Bearbeiten der Programme"
+msgid "Ctrl"
+msgstr "Ctrl"
-msgid "Big indent\\Indent 2 or 4 spaces per level defined by braces"
-msgstr "Einrücken mit 4 Leerstellen\\Einrücken mit 2 oder 4 Leerstellen"
+msgid "Current mission saved"
+msgstr "Mission gespeichert"
-msgid "Access to solutions\\Show program \"4: Solution\" in the exercises"
-msgstr ""
-"Lösung zugänglich\\Die Lösung ist im Programmslot \"4: Lösung\" zugänglich"
+msgid "Customize your appearance"
+msgstr "Aussehen einstellen"
-msgid "Standard controls\\Standard key functions"
-msgstr "Alles zurücksetzen\\Standarddefinition aller Tasten"
+msgid "Cut (Ctrl+x)"
+msgstr "Ausschneiden (Ctrl+x)"
-msgid "Turn left\\turns the bot to the left"
-msgstr "Drehung nach links\\Steuer links"
+msgid "Defense tower"
+msgstr "Geschützturm"
-msgid "Turn right\\turns the bot to the right"
-msgstr "Drehung nach rechts\\Steuer rechts"
+msgid "Delete"
+msgstr "Zerstören"
-msgid "Forward\\Moves forward"
-msgstr "Vorwärts\\Bewegung nach vorne"
+msgid "Delete player\\Deletes the player from the list"
+msgstr "Spieler löschen\\Löscht den Spieler aus der Liste"
-msgid "Backward\\Moves backward"
-msgstr "Rückwärts\\Bewegung nach hinten"
+msgid "Delete\\Deletes the selected file"
+msgstr "Löschen\\Löscht die gespeicherte Mission"
-msgid "Climb\\Increases the power of the jet"
-msgstr "Steigen\\Leistung des Triebwerks steigern"
+msgid "Depth of field\\Maximum visibility"
+msgstr "Sichtweite\\Maximale Sichtweite"
+
+msgid "Derrick"
+msgstr "Bohrturm"
msgid "Descend\\Reduces the power of the jet"
msgstr "Sinken\\Leistung des Triebwerks drosseln"
-msgid "Change camera\\Switches between onboard camera and following camera"
-msgstr "Andere Kamera\\Sichtpunkt einstellen"
-
-msgid "Previous object\\Selects the previous object"
-msgstr "Vorherg. Auswahl\\Das vorhergehende Objekt auswählen"
-
-msgid ""
-"Standard action\\Standard action of the bot (take/grab, shoot, sniff, etc)"
-msgstr "Standardhandlung\\Führt die Standardhandlung des Roboters aus"
-
-msgid "Camera closer\\Moves the camera forward"
-msgstr "Kamera näher\\Bewegung der Kamera vorwärts"
+msgid "Destroy the building"
+msgstr "Gebäude sprengen"
-msgid "Camera back\\Moves the camera backward"
-msgstr "Kamera weiter\\Bewegung der Kamera rückwärts"
+msgid "Destroyer"
+msgstr "Einstampfer"
-msgid "Next object\\Selects the next object"
-msgstr "Nächstes auswählen\\Nächstes Objekt auswählen"
+msgid "Details\\Visual quality of 3D objects"
+msgstr "Details\\Detailliertheit der Objekte in 3D"
-msgid "Select the astronaut\\Selects the astronaut"
-msgstr "Astronauten auswählen\\Astronauten auswählen"
+msgid "Developed by :"
+msgstr "Entwickelt von:"
-msgid "Quit\\Quit the current mission or exercise"
-msgstr "Mission verlassen\\Eine Mission oder Übung verlassen"
+msgid "Device\\Driver and resolution settings"
+msgstr "Bildschirm\\Driver und Bildschirmauflösung"
-msgid "Instructions\\Shows the instructions for the current mission"
-msgstr "Anweisungen\\Anweisungen für die Mission oder Übung"
+msgid "Dividing by zero"
+msgstr "Teilung durch Null"
-msgid "Programming help\\Gives more detailed help with programming"
-msgstr "Hilfe CBOT-Sprache\\Hilfe über die Programmiersprache CBOT"
+msgid "Do not use in this exercise"
+msgstr "In dieser Übung verboten"
-msgid "Key word help\\More detailed help about key words"
-msgstr "Hilfe über Begriff\\Hilfe über einen Begriff"
+msgid "Do you really want to destroy the selected building?"
+msgstr "Wollen Sie das angewählte Gebäude wirklich zerstören ?"
-msgid "Origin of last message\\Shows where the last message was sent from"
-msgstr "Ort der Meldung\\Zeigt den Ort, von dem die letzte Meldung stammt"
+#, c-format
+msgid "Do you want to delete %s's saved games? "
+msgstr "Wollen Sie die gespeicherten Missionen von %s löschen ?"
-msgid "Speed 1.0x\\Normal speed"
-msgstr "Geschwindigkeit 1.0x\\Normale Spielgeschwindigkeit"
+msgid "Do you want to quit COLOBOT ?"
+msgstr "Wollen Sie COLOBOT schließen ?"
-msgid "Speed 1.5x\\1.5 times faster"
-msgstr "Geschwindigkeit 1.5x\\Spielgeschwindigkeit anderthalb Mal schneller"
+msgid "Doors blocked by a robot or another object "
+msgstr "Die Türen werden von einem Gegenstand blockiert"
-msgid "Speed 2.0x\\Double speed"
-msgstr "Geschwindigkeit 2.0x\\Spielgeschwindigkeit doppelt so schnell"
+msgid "Down (\\key gdown;)"
+msgstr "Sinkt (\\key gdown;)"
-msgid "Speed 3.0x\\Three times faster"
-msgstr "Geschwindigkeit 3.0x\\Spielgeschwindigkeit drei Mal schneller"
+msgid "Drawer bot"
+msgstr "Zeichner"
-msgid "Sound effects:\\Volume of engines, voice, shooting, etc."
-msgstr "Geräusche:\\Lautstärke Motoren, Stimmen, usw."
+msgid "Dust\\Dust and dirt on bots and buildings"
+msgstr "Schmutz\\Schmutz auf Robotern und Bauten"
-msgid "Background sound :\\Volume of audio tracks on the CD"
-msgstr "Geräuschkulisse:\\Lautstärke der Soundtracks der CD"
+msgid "Dynamic lighting\\Mobile light sources"
+msgstr "Dynamische Beleuchtung\\Dynamische Beleuchtung"
-msgid "3D sound\\3D positioning of the sound"
-msgstr "3D-Geräusche\\Orten der Geräusche im Raum"
+msgid "Edit the selected program"
+msgstr "Gewähltes Programm bearbeiten"
-msgid "Lowest\\Minimum graphic quality (highest frame rate)"
-msgstr "Min.\\Minimale Qualität (großes Framerate)"
+msgid "Egg"
+msgstr "Ei"
-msgid "Normal\\Normal graphic quality"
-msgstr "Normal\\Standardqualität"
+msgid "End of block missing"
+msgstr "Es fehlt eine geschlossene geschweifte Klammer \"}\" (Ende des Blocks)"
-msgid "Highest\\Highest graphic quality (lowest frame rate)"
-msgstr "Max.\\Beste Qualität (niedriges Framerate)"
+msgid "Energy deposit (site for power station)"
+msgstr "Markierung für unterirdische Energiequelle"
-msgid "Mute\\No sound"
-msgstr "Kein Ton\\Keine Geräusche und Geräuschkulisse"
+msgid "Energy level"
+msgstr "Energievorrat"
-msgid "Normal\\Normal sound volume"
-msgstr "Normal\\Normale Lautstärke"
+msgid "Engineer"
+msgstr "Techniker"
-msgid "Use a joystick\\Joystick or keyboard"
-msgstr "Joystick\\Joystick oder Tastatur"
+msgid "Error in instruction move"
+msgstr "Ziel kann nicht erreicht werden"
-msgid ""
-"Access to solution\\Shows the solution (detailed instructions for missions)"
-msgstr "Zeigt die Lösung\\Zeigt nach 3mal Scheitern die Lösung"
+msgid "Execute the selected program"
+msgstr "Gewähltes Programm ausführen"
-msgid "\\New player name"
-msgstr "\\Name des Spielers"
+msgid "Execute/stop"
+msgstr "Start/Stop"
-msgid "OK\\Choose the selected player"
-msgstr "OK\\Spieler auswählen"
+msgid "Exercises\\Programming exercises"
+msgstr "Programmieren\\Programmierübungen"
-msgid "Cancel\\Keep current player name"
-msgstr "Abbrechen\\Behält den bisherigen Spieler bei"
+msgid "Exit film\\Film at the exit of exercises"
+msgstr "Zurücksetzen \\Kleine Show beim Zurücksetzen in den Übungen"
-msgid "Delete player\\Deletes the player from the list"
-msgstr "Spieler löschen\\Löscht den Spieler aus der Liste"
+msgid "Explosive"
+msgstr "Sprengstoff"
-msgid "Player name"
-msgstr "Name "
+msgid "Extend shield (\\key action;)"
+msgstr "Schutzschild ausfahren (\\key action;)"
-msgid "Save\\Saves the current mission"
-msgstr "Speichern\\Speichert die Mission"
+msgid "Eyeglasses:"
+msgstr "Brille:"
-msgid "Load\\Loads the selected mission"
-msgstr "Laden\\Öffnet eine gespeicherte Mission"
+msgid "Face type:"
+msgstr "Kopf:"
-msgid "List of saved missions"
-msgstr "Liste der gespeicherten Missionen"
+msgid "File not open"
+msgstr "Die Datei wurde nicht geöffnet"
msgid "Filename:"
msgstr "Dateiname:"
-msgid "Mission name"
-msgstr "Name der Mission"
+msgid "Film sequences\\Films before and after the missions"
+msgstr "Filme\\Filme vor und nach den Missionen"
-msgid "Photography"
-msgstr "Ansicht der Mission"
+msgid "Finish"
+msgstr "Zielfläche"
-msgid "Delete\\Deletes the selected file"
-msgstr "Löschen\\Löscht die gespeicherte Mission"
+msgid "Fixed mine"
+msgstr "Landmine"
-msgid "Appearance\\Choose your appearance"
-msgstr "Aussehen\\Erscheinungsbild des Astronauten einstellen"
+msgid "Flat ground not large enough"
+msgstr "Ebener Boden nicht groß genug"
-msgid "Standard\\Standard appearance settings"
-msgstr "Standard\\Standardfarben einsetzen"
+msgid "Fog\\Fog"
+msgstr "Nebel\\Nebelschwaden"
-msgid "Head\\Face and hair"
-msgstr "Kopf\\Gesicht und Haare"
+msgid "Folder:"
+msgstr "In:"
-msgid "Suit\\Astronaut suit"
-msgstr "Anzug\\Raumfahrtanzug"
+#, c-format
+msgid "Folder: %s"
+msgstr "Ordner: %s"
-msgid "\\Turn left"
-msgstr "\\Drehung links"
+msgid "Font size"
+msgstr "Zeichengröße"
-msgid "\\Turn right"
-msgstr "\\Drehung rechts"
+msgid "Forward"
+msgstr "Nächste Seite"
-msgid "Red"
-msgstr "Rot"
+msgid "Forward (\\key up;)"
+msgstr "Vorwärts (\\key up;)"
-msgid "Green"
-msgstr "Grün"
+msgid "Forward\\Moves forward"
+msgstr "Vorwärts\\Bewegung nach vorne"
-msgid "Blue"
-msgstr "Blau"
+msgid "Found a site for a derrick"
+msgstr "Geeignete Stelle für Bohrturm gefunden"
-msgid "\\Face 1"
-msgstr "\\Kopf 1"
+msgid "Found a site for power station"
+msgstr "Geeignete Stelle für Kraftwerk gefunden"
-msgid "\\Face 4"
-msgstr "\\Kopf 4"
+msgid "Found key A (site for derrick)"
+msgstr "Markierung für vergrabenen Schlüssel A"
-msgid "\\Face 3"
-msgstr "\\Kopf 3"
+msgid "Found key B (site for derrick)"
+msgstr "Markierung für vergrabenen Schlüssel B"
-msgid "\\Face 2"
-msgstr "\\Kopf 2"
+msgid "Found key C (site for derrick)"
+msgstr "Markierung für vergrabenen Schlüssel C"
-msgid "\\No eyeglasses"
-msgstr "\\Keine Brille"
+msgid "Found key D (site for derrick)"
+msgstr "Markierung für vergrabenen Schlüssel D"
-msgid "\\Eyeglasses 1"
-msgstr "\\Brille 1"
+msgid "Free game"
+msgstr "Freestyle"
-msgid "\\Eyeglasses 2"
-msgstr "\\Brille 2"
+msgid "Free game\\Free game without a specific goal"
+msgstr "Freestyle\\Freies Spielen ohne vorgegebenes Ziel"
-msgid "\\Eyeglasses 3"
-msgstr "\\Brille 3"
+msgid "Friendly fire\\Your shooting can damage your own objects "
+msgstr "Eigenbeschuss\\Ihre Einheiten werden von Ihren Waffen beschädigt"
-msgid "\\Eyeglasses 4"
-msgstr "\\Brille 4"
+msgid "Full screen\\Full screen or window mode"
+msgstr "Vollbildschirm\\Vollbildschirm oder Fenster"
-msgid "\\Eyeglasses 5"
-msgstr "\\Brille 5"
+msgid "Function already exists"
+msgstr "Diese Funktion gibt es schon"
-msgid "Previous selection (\\key desel;)"
-msgstr "Vorherg. Auwahl (\\key desel;)"
+msgid "Function name missing"
+msgstr "Hier muss der Name der Funktion stehen"
-msgid "Turn left (\\key left;)"
-msgstr "Drehung links (\\key left;)"
+msgid "Game speed"
+msgstr "Spielgeschwindigkeit"
-msgid "Turn right (\\key right;)"
-msgstr "Drehung rechts (\\key right;)"
+msgid "Game\\Game settings"
+msgstr "Spiel\\Gameplay Einstellungen"
-msgid "Forward (\\key up;)"
-msgstr "Vorwärts (\\key up;)"
+msgid "Gantry crane"
+msgstr "Träger"
-msgid "Backward (\\key down;)"
-msgstr "Rückwärts (\\key down;)"
+#, c-format
+msgid "GetResource event num out of range: %d\n"
+msgstr ""
-msgid "Up (\\key gup;)"
-msgstr "Steigt (\\key gup;)"
+msgid "Goto: destination occupied"
+msgstr "Ziel ist schon besetzt"
-msgid "Down (\\key gdown;)"
-msgstr "Sinkt (\\key gdown;)"
+msgid "Goto: inaccessible destination"
+msgstr "Ziel kann nicht erreicht werden"
msgid "Grab or drop (\\key action;)"
msgstr "Nehmen oder hinlegen (\\key action;)"
-msgid "..in front"
-msgstr "..vorne"
+msgid "Graphics\\Graphics settings"
+msgstr "Grafik\\Grafische Einstellungen"
-msgid "..behind"
-msgstr "..hinten"
+msgid "Green"
+msgstr "Grün"
-msgid "..power cell"
-msgstr "..Batterie"
+msgid "Green flag"
+msgstr "Grüne Fahne"
-msgid "Instructions for the mission (\\key help;)"
-msgstr "Anweisungen über die Mission(\\key help;)"
+msgid "Ground inappropriate"
+msgstr "Boden ungeeignet"
-msgid "Take off to finish the mission"
-msgstr "Abheben nach vollbrachter Mission"
+msgid "Ground not flat enough"
+msgstr "Boden nicht eben genug"
-msgid "Build a derrick"
-msgstr "Baut einen Bohrturm"
+msgid "Hair color:"
+msgstr "Haarfarbe:"
-msgid "Build a power station"
-msgstr "Baut ein Kraftwerk"
+msgid "Head\\Face and hair"
+msgstr "Kopf\\Gesicht und Haare"
-msgid "Build a bot factory"
-msgstr "Baut eine Roboterfabrik"
+msgid "Help about selected object"
+msgstr "Anweisungen über das ausgewählte Objekt"
-msgid "Build a repair center"
-msgstr "Baut ein Reparaturzentrum"
+msgid "Help balloons\\Explain the function of the buttons"
+msgstr "Hilfsblasen\\Hilfsblasen"
-msgid "Build a converter"
-msgstr "Baut einen Konverter"
+msgid "Highest\\Highest graphic quality (lowest frame rate)"
+msgstr "Max.\\Beste Qualität (niedriges Framerate)"
-msgid "Build a defense tower"
-msgstr "Baut einen Geschützturm"
+msgid "Home"
+msgstr "Home"
-msgid "Build a research center"
-msgstr "Baut ein Forschungszentrum"
+msgid "Houston Mission Control"
+msgstr "Kontrollzentrum"
-msgid "Build a radar station"
-msgstr "Baut ein Radar"
+msgid "Illegal object"
+msgstr "Objekt nicht verfügbar"
-msgid "Build a power cell factory"
-msgstr "Baut eine Batteriefabrik"
+msgid "Impossible under water"
+msgstr "Unter Wasser unmöglich"
-msgid "Build an autolab"
-msgstr "Baut ein automatisches Labor"
+msgid "Impossible when carrying an object"
+msgstr "Unmöglich wenn Sie etwas tragen"
-msgid "Build a nuclear power plant"
-msgstr "Baut eine Brennstoffzellenfabrik"
+msgid "Impossible when flying"
+msgstr "Im Flug unmöglich"
-msgid "Build a lightning conductor"
-msgstr "Baut einen Blitzableiter"
+msgid "Impossible when moving"
+msgstr "In Fahrt unmöglich"
-msgid "Build a exchange post"
-msgstr "Baut einen Infoserver"
+msgid "Impossible when swimming"
+msgstr "Im Wasser unmöglich"
-msgid "Show if the ground is flat"
-msgstr "Zeigt ob der Boden eben ist"
+msgid "Inappropriate bot"
+msgstr "Roboter ungeeignet"
-msgid "Plant a flag"
-msgstr "Setzt eine Fahne"
+msgid "Inappropriate cell type"
+msgstr "Falscher Batterietyp"
-msgid "Remove a flag"
-msgstr "Sammelt die Fahne ein"
+msgid "Incorrect index type"
+msgstr "Falscher Typ für einen Index"
-msgid "\\Blue flags"
-msgstr "\\Blaue Fahne"
+#, fuzzy
+msgid "Infected by a virus; temporarily out of order"
+msgstr "Von Virus infiziert, zeitweise außer Betrieb"
-msgid "\\Red flags"
-msgstr "\\Rote Fahne"
+msgid "Information exchange post"
+msgstr "Infoserver"
-msgid "\\Green flags"
-msgstr "\\Grüne Fahne"
+msgid "Instruction \"break\" outside a loop"
+msgstr "Anweisung \"break\" außerhalb einer Schleife"
-msgid "\\Yellow flags"
-msgstr "\\Gelbe Fahne"
+msgid "Instruction \"case\" missing"
+msgstr "Es fehlt eine Anweisung \"case\""
-msgid "\\Violet flags"
-msgstr "\\Violette Fahne"
+msgid "Instruction \"case\" outside a block \"switch\""
+msgstr "Anweisung \"case\" ohne vorhergehende Anweisung \"switch\""
-msgid "Build a winged grabber"
-msgstr "Baut einen Jettransporter"
+msgid "Instruction \"else\" without corresponding \"if\" "
+msgstr "Anweisung \"else\" ohne vorhergehende Anweisung \"if\""
-msgid "Build a tracked grabber"
-msgstr "Baut einen Kettentransporter"
+msgid "Instructions (\\key help;)"
+msgstr "Anweisungen (\\key help;)"
-msgid "Build a wheeled grabber"
-msgstr "Baut einen Radtransporter"
+msgid "Instructions after the final closing brace"
+msgstr "Hier ist eine Anweisung nach dem Ende des Programms"
-msgid "Build a legged grabber"
-msgstr "Baut einen Krabbeltransporter"
+msgid "Instructions for the mission (\\key help;)"
+msgstr "Anweisungen über die Mission(\\key help;)"
-msgid "Build a winged shooter"
-msgstr "Baut einen Jetshooter"
+msgid "Instructions from Houston"
+msgstr "Anweisungen von Houston"
-msgid "Build a tracked shooter"
-msgstr "Baut einen Kettenshooter"
+msgid "Instructions\\Shows the instructions for the current mission"
+msgstr "Anweisungen\\Anweisungen für die Mission oder Übung"
-msgid "Build a wheeled shooter"
-msgstr "Baut einen Radshooter"
+msgid "Jet temperature"
+msgstr "Triebwerktemperatur"
-msgid "Build a legged shooter"
-msgstr "Baut einen Krabbelshooter"
+msgid "Key A"
+msgstr "Schlüssel A"
-msgid "Build a winged orga shooter"
-msgstr "Baut einen Jetorgashooter"
+msgid "Key B"
+msgstr "Schlüssel B"
-msgid "Build a tracked orga shooter"
-msgstr "Baut einen Kettenorgashooter"
+msgid "Key C"
+msgstr "Schlüssel C"
-msgid "Build a wheeled orga shooter"
-msgstr "Baut einen Radorgashooter"
+msgid "Key D"
+msgstr "Schlüssel D"
-msgid "Build a legged orga shooter"
-msgstr "Baut einen Krabbelorgashooter"
+msgid "Key word help\\More detailed help about key words"
+msgstr "Hilfe über Begriff\\Hilfe über einen Begriff"
-msgid "Build a winged sniffer"
-msgstr "Baut einen Jetschnüffler"
+msgid "Keyword \"while\" missing"
+msgstr "Es fehlt das Wort \"while\""
-msgid "Build a tracked sniffer"
-msgstr "Baut einen Kettenschnüffler"
+msgid "Keyword help(\\key cbot;)"
+msgstr "Hilfe über den Begriff (\\key cbot;)"
-msgid "Build a wheeled sniffer"
-msgstr "Baut einen Radschnüffler"
+msgid "LOADING"
+msgstr "Laden"
-msgid "Build a legged sniffer"
-msgstr "Baut einen Krabbelschnüffler"
+msgid "Legged grabber"
+msgstr "Transporter"
-msgid "Build a thumper"
-msgstr "Baut einen Stampfer"
+msgid "Legged orga shooter"
+msgstr "OrgaShooter"
-msgid "Build a phazer shooter"
-msgstr "Baut einen Phazershooter"
+msgid "Legged shooter"
+msgstr "Shooter"
-msgid "Build a recycler"
-msgstr "Baut einen Recycler"
+msgid "Legged sniffer"
+msgstr "Schnüffler"
-msgid "Build a shielder"
-msgstr "Baut einen Schutzschild"
+msgid "Lightning conductor"
+msgstr "Blitzableiter"
-msgid "Build a subber"
-msgstr "Baut einen Kettentaucher"
+msgid "List of objects"
+msgstr "Liste der Objekte"
-msgid "Run research program for tracked bots"
-msgstr "Forschungsprogramm Kettenantrieb"
+msgid "List of saved missions"
+msgstr "Liste der gespeicherten Missionen"
-msgid "Run research program for winged bots"
-msgstr "Forschungsprogramm Jetantrieb"
+msgid "Load a saved mission"
+msgstr "Gespeicherte Mission laden"
-msgid "Run research program for thumper"
-msgstr "Forschungsprogramm Stampfer"
+msgid "Load\\Load a saved mission"
+msgstr "Laden\\Eine gespeicherte Mission öffnen"
-msgid "Run research program for shooter"
-msgstr "Forschungsprogramm Shooterkanone"
+msgid "Load\\Loads the selected mission"
+msgstr "Laden\\Öffnet eine gespeicherte Mission"
-msgid "Run research program for defense tower"
-msgstr "Forschungsprogramm Geschützturm"
+msgid "Lowest\\Minimum graphic quality (highest frame rate)"
+msgstr "Min.\\Minimale Qualität (großes Framerate)"
-msgid "Run research program for phazer shooter"
-msgstr "Forschungsprogramm Phazerkanone"
+msgid "Lunar Roving Vehicle"
+msgstr "Lunar Roving Vehicle"
-msgid "Run research program for shielder"
-msgstr "Forschungsprogramm Schutzschild"
+msgid "Marks on the ground\\Marks on the ground"
+msgstr "Markierungen\\Markierungen auf dem Boden"
-msgid "Run research program for nuclear power"
-msgstr "Forschungsprogramm Brennstoffzelle"
+msgid "Maximize"
+msgstr "Großes Fenster"
-msgid "Run research program for legged bots"
-msgstr "Forschungsprogramm Krabbelantrieb"
+msgid "Menu (\\key quit;)"
+msgstr "Menü (\\key quit;)"
-msgid "Run research program for orga shooter"
-msgstr "Forschungsprogramm Orgashooterkanone"
+msgid "Minimize"
+msgstr "Reduzieren"
-msgid "Return to start"
-msgstr "Alles zurücksetzen"
+msgid "Mission name"
+msgstr "Name der Mission"
-msgid "Sniff (\\key action;)"
-msgstr "Schnüffeln (\\key action;)"
+msgid "Missions"
+msgstr "Missionen"
-msgid "Thump (\\key action;)"
-msgstr "Stampfen (\\key action;)"
+msgid "Missions\\Select mission"
+msgstr "Missionen\\Aufbruch ins Weltall"
-msgid "Shoot (\\key action;)"
-msgstr "Feuer (\\key action;)"
+msgid "Mouse inversion X\\Inversion of the scrolling direction on the X axis"
+msgstr "Umkehr X\\Umkehr der Kameradrehung X-Achse"
-msgid "Recycle (\\key action;)"
-msgstr "Recyceln (\\key action;)"
+msgid "Mouse inversion Y\\Inversion of the scrolling direction on the Y axis"
+msgstr "Umkehr Y\\Umkehr der Kameradrehung Y-Achse"
-msgid "Extend shield (\\key action;)"
-msgstr "Schutzschild ausfahren (\\key action;)"
+msgid "Mouse shadow\\Gives the mouse a shadow"
+msgstr "Schatten unter der Maus\\Ein Schatten erscheint unter der Maus"
-msgid "Withdraw shield (\\key action;)"
-msgstr "Schutzschild einholen (\\key action;)"
+msgid "Mute\\No sound"
+msgstr "Kein Ton\\Keine Geräusche und Geräuschkulisse"
-msgid "Shield radius"
-msgstr "Reichweite Schutzschild"
+msgid "Name:"
+msgstr "Name:"
-msgid "Execute the selected program"
-msgstr "Gewähltes Programm ausführen"
+msgid "Negative value rejected by \"throw\""
+msgstr "Negativer Wert ungeeignet für Anweisung \"throw\""
-msgid "Edit the selected program"
-msgstr "Gewähltes Programm bearbeiten"
+msgid "Nest"
+msgstr "Orgastoffquelle"
-msgid "\\SatCom on standby"
-msgstr "\\SatCom in Standby"
+msgid "New"
+msgstr "Neu"
-msgid "Destroy the building"
-msgstr "Gebäude sprengen"
+msgid "New ..."
+msgstr "Neu ..."
-msgid "Energy level"
-msgstr "Energievorrat"
+msgid "New bot available"
+msgstr "Neuer Roboter verfügbar"
-msgid "Shield level"
-msgstr "Schäden"
+msgid "New player\\Choose player's name"
+msgstr "Anderer Spieler\\Spielername ändern"
-msgid "Jet temperature"
-msgstr "Triebwerktemperatur"
+msgid "Next"
+msgstr "Nächster"
-msgid "Still working ..."
-msgstr "Prozess im Gang ..."
+msgid "Next object\\Selects the next object"
+msgstr "Nächstes auswählen\\Nächstes Objekt auswählen"
-msgid "Number of insects detected"
-msgstr "Anzahl erfasster Insekten"
+msgid "No energy in the subsoil"
+msgstr "Kein unterirdisches Energievorkommen"
-msgid "Transmitted information"
-msgstr "Gesendete Informationen"
+msgid "No flag nearby"
+msgstr "Keine Fahne in Reichweite"
-msgid "Compass"
-msgstr "Kompass"
+msgid "No function running"
+msgstr "Keine Funktion wird ausgeführt"
-msgid "Mini-map"
-msgstr "Minikarte"
+msgid "No function with this name accepts this kind of parameter"
+msgstr "Keine Funktion mit diesem Namen verträgt Parameter diesen Typs"
-msgid "Zoom mini-map"
-msgstr "Zoom Minikarte"
+msgid "No function with this name accepts this number of parameters"
+msgstr "Keine Funktion mit diesem Namen verträgt diese Anzahl Parameter"
-msgid "Camera (\\key camera;)"
-msgstr "Kamera (\\key camera;)"
+msgid "No information exchange post within range"
+msgstr "Kein Infoserver in Reichweite"
-msgid "Camera to left"
-msgstr "Kamera links"
+msgid "No more energy"
+msgstr "Keine Energie mehr"
-msgid "Camera to right"
-msgstr "Kamera rechts"
+msgid "No ore in the subsoil"
+msgstr "Keine unterirdische Erzlagerstätte"
-msgid "Camera nearest"
-msgstr "Kamera näher"
+msgid "No other robot"
+msgstr "Kein anderer Roboter"
-msgid "Camera awayest"
-msgstr "Kamera weiter weg"
+msgid "No power cell"
+msgstr "Keine Batterie"
-msgid "Help about selected object"
-msgstr "Anweisungen über das ausgewählte Objekt"
+msgid "No titanium"
+msgstr "Kein Titan vorhanden"
-msgid "Show the solution"
-msgstr "Zeigt die Lösung"
+msgid "No titanium around"
+msgstr "Kein Titan vorhanden"
-msgid "Switch bots <-> buildings"
-msgstr "Anzeige Roboter <-> Bauten"
+msgid "No titanium ore to convert"
+msgstr "Kein konvertierbares Titanerz vorhanden"
-msgid "Show the range"
-msgstr "Zeigt die Reichweite"
+msgid "No titanium to transform"
+msgstr "Kein konvertierbares Titanerz vorhanden"
-msgid "\\Raise the pencil"
-msgstr "\\Bleistift abheben"
+msgid "No uranium to transform"
+msgstr "Kein konvertierbares Platin"
-msgid "\\Use the black pencil"
-msgstr "\\Schwarzen Bleistift hinunterlassen"
+msgid "Normal size"
+msgstr "Normale Größe"
-msgid "\\Use the yellow pencil"
-msgstr "\\Gelben Bleistift hinunterlassen"
+msgid "Normal\\Normal graphic quality"
+msgstr "Normal\\Standardqualität"
-msgid "\\Use the orange pencil"
-msgstr "\\Orangefarbenen Bleistift hinunterlassen"
+msgid "Normal\\Normal sound volume"
+msgstr "Normal\\Normale Lautstärke"
-msgid "\\Use the red pencil"
-msgstr "\\Roten Bleistift hinunterlassen"
+msgid "Not enough energy"
+msgstr "Nicht genug Energie"
-msgid "\\Use the purple pencil"
-msgstr "\\Violetten Bleistift hinunterlassen"
+msgid "Not enough energy yet"
+msgstr "Noch nicht genug Energie"
-msgid "\\Use the blue pencil"
-msgstr "\\Blauen Bleistift hinunterlassen"
+msgid "Not yet enough energy"
+msgstr "Noch nicht genug Energie"
-msgid "\\Use the green pencil"
-msgstr "\\Grünen Bleistift hinunterlassen"
+msgid "Nothing to analyze"
+msgstr "Nichts zu analysieren"
-msgid "\\Use the brown pencil"
-msgstr "\\Braunen Bleistift hinunterlassen"
+msgid "Nothing to drop"
+msgstr "Nichts abzulegen"
-msgid "\\Start recording"
-msgstr "\\Aufnahme starten"
+msgid "Nothing to grab"
+msgstr "Nichts zu ergreifen"
-msgid "\\Stop recording"
-msgstr "\\Aufnahme stoppen"
+msgid "Nothing to recycle"
+msgstr "Nichts zu recyceln"
-msgid "Show the place"
-msgstr "Zeigt den Ort"
+msgid "Nuclear power cell"
+msgstr "Brennstoffzelle"
-msgid "Continue"
-msgstr "Weitermachen"
+msgid "Nuclear power cell available"
+msgstr "Brennstoffzelle verfügbar"
-msgid "Command line"
-msgstr "Befehleingabe"
+msgid "Nuclear power station"
+msgstr "Brennstoffzellenfabrik"
-msgid "Game speed"
-msgstr "Spielgeschwindigkeit"
+msgid "Num of decorative objects\\Number of purely ornamental objects"
+msgstr "Anzahl Ziergegenstände\\Anzahl Gegenstände ohne Funktion"
-msgid "Back"
-msgstr "Vorherg. Seite"
+msgid "Number missing"
+msgstr "Es fehlt eine Zahl"
-msgid "Forward"
-msgstr "Nächste Seite"
+msgid "Number of insects detected"
+msgstr "Anzahl erfasster Insekten"
-msgid "Home"
-msgstr "Home"
+msgid "Number of particles\\Explosions, dust, reflections, etc."
+msgstr "Anzahl Partikel\\Explosionen, Staub, usw."
-msgid "Copy"
-msgstr "Kopieren"
+msgid "OK"
+msgstr "OK"
-msgid "Size 1"
-msgstr "Größe 1"
+msgid "OK\\Choose the selected player"
+msgstr "OK\\Spieler auswählen"
-msgid "Size 2"
-msgstr "Größe 2"
+msgid "OK\\Close program editor and return to game"
+msgstr "OK\\Programm kompilieren"
-msgid "Size 3"
-msgstr "Größe 3"
+msgid "Object not found"
+msgstr "Das Objekt existiert nicht"
-msgid "Size 4"
-msgstr "Größe 4"
+msgid "Object too close"
+msgstr "Gegenstand zu nahe"
-msgid "Size 5"
-msgstr "Größe 5"
+msgid "One step"
+msgstr "Ein Schritt"
-msgid "Instructions from Houston"
-msgstr "Anweisungen von Houston"
+msgid "Open"
+msgstr "Öffnen"
-msgid "Dictionnary"
-msgstr "Wörterbuch Englisch-Deutsch"
+msgid "Open (Ctrl+o)"
+msgstr "Öffnen (Ctrl+o)"
-msgid "Satellite report"
-msgstr "Satellitenbericht"
+msgid "Opening brace missing "
+msgstr "Es fehlt eine offene geschweifte Klammer\"{\""
-msgid "Programs dispatched by Houston"
-msgstr "Von Houston übermittelte Programme"
+msgid "Opening bracket missing"
+msgstr "Es fehlt eine offene Klammer \"(\""
-msgid "List of objects"
-msgstr "Liste der Objekte"
+msgid "Operation impossible with value \"nan\""
+msgstr "Operation mit dem Wert \"nan\""
-msgid "Programming help"
-msgstr "Hilfe über Programmieren"
+msgid "Options"
+msgstr "Einstellungen"
-msgid "Solution"
-msgstr "Lösung"
+msgid "Options\\Preferences"
+msgstr "Einstellungen\\Einstellungen"
-msgid "OK\\Close program editor and return to game"
-msgstr "OK\\Programm kompilieren"
+msgid "Organic matter"
+msgstr "Orgastoff"
-msgid "Cancel\\Cancel all changes"
-msgstr "Abbrechen\\Editor schließen"
+msgid "Origin of last message\\Shows where the last message was sent from"
+msgstr "Ort der Meldung\\Zeigt den Ort, von dem die letzte Meldung stammt"
-msgid "Open (Ctrl+o)"
-msgstr "Öffnen (Ctrl+o)"
+msgid "Parameters missing "
+msgstr "Nicht genug Parameter"
-msgid "Save (Ctrl+s)"
-msgstr "Speichern (Ctrl+s)"
+msgid "Particles in the interface\\Steam clouds and sparks in the interface"
+msgstr "Partikel in den Menüs\\Funken und Sterne in den Menüs"
-msgid "Undo (Ctrl+z)"
-msgstr "Widerrufen (Ctrl+z)"
+msgid "Paste (Ctrl+v)"
+msgstr "Einfügen (Ctrl+v)"
-msgid "Cut (Ctrl+x)"
-msgstr "Ausschneiden (Ctrl+x)"
+msgid "Pause/continue"
+msgstr "Pause/Weitermachen"
-msgid "Copy (Ctrl+c)"
-msgstr "Kopieren (Ctrl+c)"
+msgid "Phazer shooter"
+msgstr "Phazershooter"
-msgid "Paste (Ctrl+v)"
-msgstr "Einfügen (Ctrl+v)"
+msgid "Photography"
+msgstr "Ansicht der Mission"
-msgid "Font size"
-msgstr "Zeichengröße"
+msgid "Place occupied"
+msgstr "Stelle schon besetzt"
-msgid "Instructions (\\key help;)"
-msgstr "Anweisungen (\\key help;)"
+msgid "Planets and stars\\Astronomical objects in the sky"
+msgstr "Planeten und Sterne\\Kreisende Planeten und Sterne"
-msgid "Programming help (\\key prog;)"
-msgstr "Hilfe über Programmieren (\\key prog;)"
+msgid "Plans for defense tower available"
+msgstr "Errichtung eines Geschützturms möglich"
-msgid "Compile"
-msgstr "Kompilieren"
+msgid "Plans for nuclear power plant available"
+msgstr "Errichtung einer Brennstoffzellenfabrik möglich"
-msgid "Execute/stop"
-msgstr "Start/Stop"
+msgid "Plans for phazer shooter available"
+msgstr "Herstellung eines Phazershooters möglich"
-msgid "Pause/continue"
-msgstr "Pause/Weitermachen"
+msgid "Plans for shielder available"
+msgstr "Herstellung eines Schutzschildes möglich"
-msgid "One step"
-msgstr "Ein Schritt"
+msgid "Plans for shooter available"
+msgstr "Herstellung eines Shooters möglich"
-msgid "Gantry crane"
-msgstr "Träger"
+msgid "Plans for thumper available"
+msgstr "Herstellung eines Stampfers möglich"
-msgid "Spaceship"
-msgstr "Raumschiff"
+msgid "Plans for tracked robots available "
+msgstr "Herstellung eines Roboters mit Kettenantrieb möglich"
-msgid "Derrick"
-msgstr "Bohrturm"
+msgid "Plant a flag"
+msgstr "Setzt eine Fahne"
-msgid "Bot factory"
-msgstr "Roboterfabrik"
+msgid "Play\\Start mission!"
+msgstr "Spielen ...\\Los geht's!"
-msgid "Repair center"
-msgstr "Reparaturzentrum"
+msgid "Player"
+msgstr "Spieler"
-msgid "Destroyer"
-msgstr "Einstampfer"
+msgid "Player name"
+msgstr "Name "
-msgid "Power station"
-msgstr "Kraftwerk"
+msgid "Player's name"
+msgstr "Name "
-msgid "Converts ore to titanium"
-msgstr "Konverter Erz-Titan"
+msgid "Power cell"
+msgstr "Elektrolytische Batterie"
-msgid "Defense tower"
-msgstr "Geschützturm"
+msgid "Power cell available"
+msgstr "Batterie verfügbar"
-msgid "Nest"
-msgstr "Orgastoffquelle"
+msgid "Power cell factory"
+msgstr "Batteriefabrik"
-msgid "Research center"
-msgstr "Forschungszentrum"
+msgid "Power station"
+msgstr "Kraftwerk"
-msgid "Radar station"
-msgstr "Radar"
+msgid "Practice bot"
+msgstr "Übungsroboter"
-msgid "Information exchange post"
-msgstr "Infoserver"
+msgid "Press \\key help; to read instructions on your SatCom"
+msgstr "Beziehen Sie sich auf Ihren SatCom, indem Sie auf \\key help; drücken"
-msgid "Disintegrator"
-msgstr "Auflöser"
+msgid "Previous"
+msgstr "Vorherg"
-msgid "Power cell factory"
-msgstr "Batteriefabrik"
+msgid "Previous object\\Selects the previous object"
+msgstr "Vorherg. Auswahl\\Das vorhergehende Objekt auswählen"
-msgid "Autolab"
-msgstr "Automatisches Labor"
+msgid "Previous selection (\\key desel;)"
+msgstr "Vorherg. Auwahl (\\key desel;)"
-msgid "Nuclear power station"
-msgstr "Brennstoffzellenfabrik"
+msgid "Private element"
+msgstr "Geschütztes Element (private)"
-msgid "Lightning conductor"
-msgstr "Blitzableiter"
+msgid "Private\\Private folder"
+msgstr "Privat\\Privater Ordner"
-msgid "Vault"
-msgstr "Bunker"
+msgid "Program editor"
+msgstr "Programmeditor"
-msgid "Houston Mission Control"
-msgstr "Kontrollzentrum"
+msgid "Program finished"
+msgstr "Programm beendet"
-msgid "Target"
-msgstr "Zielscheibe"
+msgid "Program infected by a virus"
+msgstr "Ein Programm wurde von einem Virus infiziert"
-msgid "Start"
-msgstr "Startfläche"
+msgid "Programming exercises"
+msgstr "Programmieren"
-msgid "Finish"
-msgstr "Zielfläche"
+msgid "Programming help"
+msgstr "Hilfe über Programmieren"
-msgid "Titanium ore"
-msgstr "Titanerz"
+msgid "Programming help (\\key prog;)"
+msgstr "Hilfe über Programmieren (\\key prog;)"
-msgid "Uranium ore"
-msgstr "Platinerz"
+msgid "Programming help\\Gives more detailed help with programming"
+msgstr "Hilfe CBOT-Sprache\\Hilfe über die Programmiersprache CBOT"
-msgid "Organic matter"
-msgstr "Orgastoff"
+msgid "Programs dispatched by Houston"
+msgstr "Von Houston übermittelte Programme"
-msgid "Titanium"
-msgstr "Titan"
+msgid "Proto\\Prototypes under development"
+msgstr "Proto\\In Entwicklung befindliche Prototypen"
-msgid "Power cell"
-msgstr "Elektrolytische Batterie"
+msgid "Prototypes"
+msgstr "Prototypen"
-msgid "Nuclear power cell"
-msgstr "Brennstoffzelle"
+msgid "Public required"
+msgstr "Hier muss das Wort \"public\" stehen"
-msgid "Black box"
-msgstr "Flugschreiber"
+msgid "Public\\Common folder"
+msgstr "Öffentlich\\Gemeinsamer Ordner für alle Spieler"
-msgid "Key A"
-msgstr "Schlüssel A"
+msgid "Quake at explosions\\The screen shakes at explosions"
+msgstr "Beben bei Explosionen\\Die Kamera bebt bei Explosionen"
-msgid "Key B"
-msgstr "Schlüssel B"
+msgid "Quit the mission?"
+msgstr "Mission abbrechen ?"
-msgid "Key C"
-msgstr "Schlüssel C"
+msgid "Quit\\Quit COLOBOT"
+msgstr "Schließen\\COLOBOT schließen"
-msgid "Key D"
-msgstr "Schlüssel D"
+msgid "Quit\\Quit the current mission or exercise"
+msgstr "Mission verlassen\\Eine Mission oder Übung verlassen"
-msgid "Explosive"
-msgstr "Sprengstoff"
+msgid "Radar station"
+msgstr "Radar"
-msgid "Fixed mine"
-msgstr "Landmine"
+msgid "Read error"
+msgstr "Fehler beim Lesezugriff"
-msgid "Survival kit"
-msgstr "Überlebenskit"
+msgid "Recorder"
+msgstr "Recorder"
-msgid "Checkpoint"
-msgstr "Checkpoint"
+msgid "Recycle (\\key action;)"
+msgstr "Recyceln (\\key action;)"
-msgid "Blue flag"
-msgstr "Blaue Fahne"
+msgid "Recycler"
+msgstr "Recycler"
+
+msgid "Red"
+msgstr "Rot"
msgid "Red flag"
msgstr "Rote Fahne"
-msgid "Green flag"
-msgstr "Grüne Fahne"
+msgid "Reflections on the buttons \\Shiny buttons"
+msgstr "Glänzende Tasten\\Glänzende Tasten in den Menüs"
-msgid "Yellow flag"
-msgstr "Gelbe Fahne"
+msgid "Remains of Apollo mission"
+msgstr "Überreste einer Apollo-Mission"
-msgid "Violet flag"
-msgstr "Violette Fahne"
+msgid "Remove a flag"
+msgstr "Sammelt die Fahne ein"
-msgid "Energy deposit (site for power station)"
-msgstr "Markierung für unterirdische Energiequelle"
+msgid "Repair center"
+msgstr "Reparaturzentrum"
-msgid "Uranium deposit (site for derrick)"
-msgstr "Markierung für unterirdisches Platinvorkommen"
+msgid "Research center"
+msgstr "Forschungszentrum"
-msgid "Found key A (site for derrick)"
-msgstr "Markierung für vergrabenen Schlüssel A"
+msgid "Research program already performed"
+msgstr "Forschungsprogramm schon ausgeführt"
-msgid "Found key B (site for derrick)"
-msgstr "Markierung für vergrabenen Schlüssel B"
+msgid "Research program completed"
+msgstr "Forschungsprogramm abgeschlossen"
-msgid "Found key C (site for derrick)"
-msgstr "Markierung für vergrabenen Schlüssel C"
+msgid "Reserved keyword of CBOT language"
+msgstr "Dieses Wort ist reserviert"
-msgid "Found key D (site for derrick)"
-msgstr "Markierung für vergrabenen Schlüssel D"
+msgid "Resolution"
+msgstr "Auflösung"
-msgid "Titanium deposit (site for derrick)"
-msgstr "Markierung für unterirdisches Titanvorkommen"
+msgid "Restart\\Restart the mission from the beginning"
+msgstr "Neu anfangen\\Die Mission von vorne anfangen"
-msgid "Practice bot"
-msgstr "Übungsroboter"
+msgid "Return to start"
+msgstr "Alles zurücksetzen"
-msgid "Winged grabber"
-msgstr "Transporter"
+msgid "Robbie"
+msgstr "Robby"
-msgid "Tracked grabber"
-msgstr "Transporter"
+msgid "Robbie\\Your assistant"
+msgstr "Robby\\Ihr Assistent"
-msgid "Wheeled grabber"
-msgstr "Transporter"
+msgid "Ruin"
+msgstr "Gebäuderuine"
-msgid "Legged grabber"
-msgstr "Transporter"
+msgid "Run research program for defense tower"
+msgstr "Forschungsprogramm Geschützturm"
-msgid "Winged shooter"
-msgstr "Shooter"
+msgid "Run research program for legged bots"
+msgstr "Forschungsprogramm Krabbelantrieb"
-msgid "Tracked shooter"
-msgstr "Shooter"
+msgid "Run research program for nuclear power"
+msgstr "Forschungsprogramm Brennstoffzelle"
-msgid "Wheeled shooter"
-msgstr "Shooter"
+msgid "Run research program for orga shooter"
+msgstr "Forschungsprogramm Orgashooterkanone"
-msgid "Legged shooter"
-msgstr "Shooter"
+msgid "Run research program for phazer shooter"
+msgstr "Forschungsprogramm Phazerkanone"
-msgid "Winged orga shooter"
-msgstr "OrgaShooter"
+msgid "Run research program for shielder"
+msgstr "Forschungsprogramm Schutzschild"
-msgid "Tracked orga shooter"
-msgstr "OrgaShooter"
+msgid "Run research program for shooter"
+msgstr "Forschungsprogramm Shooterkanone"
-msgid "Wheeled orga shooter"
-msgstr "OrgaShooter"
+msgid "Run research program for thumper"
+msgstr "Forschungsprogramm Stampfer"
-msgid "Legged orga shooter"
-msgstr "OrgaShooter"
+msgid "Run research program for tracked bots"
+msgstr "Forschungsprogramm Kettenantrieb"
-msgid "Winged sniffer"
-msgstr "Schnüffler"
+msgid "Run research program for winged bots"
+msgstr "Forschungsprogramm Jetantrieb"
-msgid "Tracked sniffer"
-msgstr "Schnüffler"
+msgid "SatCom"
+msgstr "SatCom"
-msgid "Wheeled sniffer"
-msgstr "Schnüffler"
+msgid "Satellite report"
+msgstr "Satellitenbericht"
-msgid "Legged sniffer"
-msgstr "Schnüffler"
+msgid "Save"
+msgstr "Speichern"
-msgid "Thumper"
-msgstr "Stampfer"
+msgid "Save (Ctrl+s)"
+msgstr "Speichern (Ctrl+s)"
-msgid "Phazer shooter"
-msgstr "Phazershooter"
+msgid "Save the current mission"
+msgstr "Aktuelle Mission speichern"
-msgid "Recycler"
-msgstr "Recycler"
+msgid "Save\\Save the current mission "
+msgstr "Speichern\\Aktuelle Mission speichern"
+
+msgid "Save\\Saves the current mission"
+msgstr "Speichern\\Speichert die Mission"
+
+msgid "Scrolling\\Scrolling when the mouse touches right or left border"
+msgstr ""
+"Kameradrehung mit der Maus\\Die Kamera dreht wenn die Maus den Rand erreicht"
+
+msgid "Select the astronaut\\Selects the astronaut"
+msgstr "Astronauten auswählen\\Astronauten auswählen"
+
+msgid "Semicolon terminator missing"
+msgstr "Es fehlt ein Strichpunkt \";\" am Ende der Anweisung"
+
+msgid "Shadows\\Shadows on the ground"
+msgstr "Schatten\\Schlagschatten auf dem Boden"
+
+msgid "Shield level"
+msgstr "Schäden"
+
+msgid "Shield radius"
+msgstr "Reichweite Schutzschild"
msgid "Shielder"
msgstr "Schutzschild"
-msgid "Subber"
-msgstr "Kettentaucher"
+msgid "Shift"
+msgstr "Shift"
-msgid "Target bot"
-msgstr "Mobile Zielscheibe"
+msgid "Shoot (\\key action;)"
+msgstr "Feuer (\\key action;)"
-msgid "Drawer bot"
-msgstr "Zeichner"
+msgid "Show if the ground is flat"
+msgstr "Zeigt ob der Boden eben ist"
-msgid "Engineer"
-msgstr "Techniker"
+msgid "Show the place"
+msgstr "Zeigt den Ort"
-msgid "Robbie"
-msgstr "Robby"
+msgid "Show the range"
+msgstr "Zeigt die Reichweite"
-msgid "Alien Queen"
-msgstr "Insektenkönigin"
+msgid "Show the solution"
+msgstr "Zeigt die Lösung"
-msgid "Ant"
-msgstr "Ameise"
+msgid "Sign \" : \" missing"
+msgstr "Es fehlt ein Doppelpunkt \" : \""
-msgid "Spider"
-msgstr "Spinne"
+msgid "Size 1"
+msgstr "Größe 1"
-msgid "Wasp"
-msgstr "Wespe"
+msgid "Size 2"
+msgstr "Größe 2"
-msgid "Worm"
-msgstr "Wurm"
+msgid "Size 3"
+msgstr "Größe 3"
-msgid "Egg"
-msgstr "Ei"
+msgid "Size 4"
+msgstr "Größe 4"
-msgid "Wreckage"
-msgstr "Roboterwrack"
+msgid "Size 5"
+msgstr "Größe 5"
-msgid "Ruin"
-msgstr "Gebäuderuine"
+msgid "Sky\\Clouds and nebulae"
+msgstr "Himmel\\Himmel und Wolken"
-msgid "Waste"
-msgstr "Abfall"
+msgid "Sniff (\\key action;)"
+msgstr "Schnüffeln (\\key action;)"
+
+msgid "Solution"
+msgstr "Lösung"
+
+msgid "Sound effects:\\Volume of engines, voice, shooting, etc."
+msgstr "Geräusche:\\Lautstärke Motoren, Stimmen, usw."
+
+msgid "Sound\\Music and game sound volume"
+msgstr "Geräusche\\Lautstärke Geräusche und Musik"
+
+msgid "Spaceship"
+msgstr "Raumschiff"
msgid "Spaceship ruin"
msgstr "Raumschiffruine"
-msgid "Remains of Apollo mission"
-msgstr "Überreste einer Apollo-Mission"
+msgid "Speed 1.0x\\Normal speed"
+msgstr "Geschwindigkeit 1.0x\\Normale Spielgeschwindigkeit"
-msgid "Lunar Roving Vehicle"
-msgstr "Lunar Roving Vehicle"
+msgid "Speed 1.5x\\1.5 times faster"
+msgstr "Geschwindigkeit 1.5x\\Spielgeschwindigkeit anderthalb Mal schneller"
-msgid "Error"
-msgstr "Fehler"
+msgid "Speed 2.0x\\Double speed"
+msgstr "Geschwindigkeit 2.0x\\Spielgeschwindigkeit doppelt so schnell"
-msgid "Unknown command"
-msgstr "Befehl unbekannt"
+msgid "Speed 3.0x\\Three times faster"
+msgstr "Geschwindigkeit 3.0x\\Spielgeschwindigkeit drei Mal schneller"
-msgid "Inappropriate bot"
-msgstr "Roboter ungeeignet"
+msgid "Spider"
+msgstr "Spinne"
-msgid "Impossible when flying"
-msgstr "Im Flug unmöglich"
+msgid "Spider fatally wounded"
+msgstr "Spinne tödlich verwundet"
-msgid "Already carrying something"
-msgstr "Trägt schon etwas"
+msgid "Stack overflow"
+msgstr "Stack overflow"
-msgid "Nothing to grab"
-msgstr "Nichts zu ergreifen"
+msgid ""
+"Standard action\\Standard action of the bot (take/grab, shoot, sniff, etc)"
+msgstr "Standardhandlung\\Führt die Standardhandlung des Roboters aus"
-msgid "Impossible when moving"
-msgstr "In Fahrt unmöglich"
+msgid "Standard controls\\Standard key functions"
+msgstr "Alles zurücksetzen\\Standarddefinition aller Tasten"
-msgid "Place occupied"
-msgstr "Stelle schon besetzt"
+msgid "Standard\\Standard appearance settings"
+msgstr "Standard\\Standardfarben einsetzen"
-msgid "No other robot"
-msgstr "Kein anderer Roboter"
+msgid "Start"
+msgstr "Startfläche"
-msgid "You can not carry a radioactive object"
-msgstr "Sie können keinen radioaktiven Gegenstand tragen"
+msgid "Still working ..."
+msgstr "Prozess im Gang ..."
-msgid "You can not carry an object under water"
-msgstr "Sie können unter Wasser nichts tragen"
+msgid "String missing"
+msgstr "Hier wird eine Zeichenkette erwartet"
-msgid "Nothing to drop"
-msgstr "Nichts abzulegen"
+msgid "Strip color:"
+msgstr "Farbe der Streifen:"
-msgid "Impossible under water"
-msgstr "Unter Wasser unmöglich"
+msgid "Subber"
+msgstr "Kettentaucher"
-msgid "Not enough energy"
-msgstr "Nicht genug Energie"
+msgid "Suit color:"
+msgstr "Farbe des Anzugs:"
-msgid "Titanium too far away"
-msgstr "Titan zu weit weg"
+msgid "Suit\\Astronaut suit"
+msgstr "Anzug\\Raumfahrtanzug"
-msgid "Titanium too close"
-msgstr "Titan zu nahe"
+msgid "Sunbeams\\Sunbeams in the sky"
+msgstr "Sonnenstrahlen\\Sonnenstrahlen"
-msgid "No titanium around"
-msgstr "Kein Titan vorhanden"
+msgid "Survival kit"
+msgstr "Überlebenskit"
-msgid "Ground not flat enough"
-msgstr "Boden nicht eben genug"
+msgid "Switch bots <-> buildings"
+msgstr "Anzeige Roboter <-> Bauten"
-msgid "Flat ground not large enough"
-msgstr "Ebener Boden nicht groß genug"
+msgid "Take off to finish the mission"
+msgstr "Abheben nach vollbrachter Mission"
-msgid "Too close to space ship"
-msgstr "Zu nahe am Raumschiff"
+msgid "Target"
+msgstr "Zielscheibe"
-msgid "Too close to a building"
-msgstr "Zu nahe an einem Gebäude"
+msgid "Target bot"
+msgstr "Mobile Zielscheibe"
-msgid "Ground inappropriate"
-msgstr "Boden ungeeignet"
+msgid "Textures\\Quality of textures "
+msgstr "Qualität der Texturen\\Qualität der Anzeige"
-msgid "Building too close"
-msgstr "Gebäude zu nahe"
+msgid "The expression must return a boolean value"
+msgstr "Der Ausdruck muss einen boolschen Wert ergeben"
-msgid "Object too close"
-msgstr "Gegenstand zu nahe"
+msgid "The function returned no value "
+msgstr "Die Funktion hat kein Ergebnis zurückgegeben"
-msgid "Nothing to recycle"
-msgstr "Nichts zu recyceln"
+msgid ""
+"The list is only available if a \\l;radar station\\u object\\radar; is "
+"working.\n"
+msgstr "Die Liste ist ohne \\l;Radar\\u object\\radar; nicht verfügbar.\n"
-msgid "No more energy"
-msgstr "Keine Energie mehr"
+msgid ""
+"The mission is not accomplished yet (press \\key help; for more details)"
+msgstr ""
+"Mission noch nicht beendet (Drücken Sie auf \\key help; für weitere "
+"Informationen)"
-msgid "Error in instruction move"
-msgstr "Ziel kann nicht erreicht werden"
+msgid "The types of the two operands are incompatible "
+msgstr "Die zwei Operanden sind nicht kompatibel"
-msgid "Object not found"
-msgstr "Das Objekt existiert nicht"
+msgid "This class already exists"
+msgstr "Diese Klasse gibt es schon"
-msgid "Goto: inaccessible destination"
-msgstr "Ziel kann nicht erreicht werden"
+msgid "This class does not exist"
+msgstr "Diese Klasse existiert nicht"
-msgid "Goto: destination occupied"
-msgstr "Ziel ist schon besetzt"
+msgid "This is not a member of this class"
+msgstr "Dieses Element gibt es nicht in dieser Klasse"
-msgid "No titanium ore to convert"
-msgstr "Kein konvertierbares Titanerz vorhanden"
+msgid "This label does not exist"
+msgstr "Dieses Label existiert nicht"
-msgid "No ore in the subsoil"
-msgstr "Keine unterirdische Erzlagerstätte"
+msgid "This object is not a member of a class"
+msgstr "Das Objekt ist nicht eine Instanz einer Klasse"
-msgid "No energy in the subsoil"
-msgstr "Kein unterirdisches Energievorkommen"
+msgid "Thump (\\key action;)"
+msgstr "Stampfen (\\key action;)"
-msgid "No power cell"
-msgstr "Keine Batterie"
+msgid "Thumper"
+msgstr "Stampfer"
-msgid "Inappropriate cell type"
-msgstr "Falscher Batterietyp"
+msgid "Titanium"
+msgstr "Titan"
-msgid "Research program already performed"
-msgstr "Forschungsprogramm schon ausgeführt"
+msgid "Titanium available"
+msgstr "Titan verfügbar"
-msgid "Not enough energy yet"
-msgstr "Noch nicht genug Energie"
+msgid "Titanium deposit (site for derrick)"
+msgstr "Markierung für unterirdisches Titanvorkommen"
-msgid "No titanium to transform"
-msgstr "Kein konvertierbares Titanerz vorhanden"
+msgid "Titanium ore"
+msgstr "Titanerz"
-msgid "Transforms only titanium"
-msgstr "Wandelt nur Titanerz um"
+msgid "Titanium too close"
+msgstr "Titan zu nahe"
-msgid "Doors blocked by a robot or another object "
-msgstr "Die Türen werden von einem Gegenstand blockiert"
+msgid "Titanium too far away"
+msgstr "Titan zu weit weg"
-msgid "You must get on the spaceship to take off "
-msgstr "Gehen Sie an Bord, bevor Sie abheben"
+msgid "Too close to a building"
+msgstr "Zu nahe an einem Gebäude"
-msgid "Nothing to analyze"
-msgstr "Nichts zu analysieren"
+msgid "Too close to an existing flag"
+msgstr "Zu nahe an einer anderen Fahne"
-msgid "Analyzes only organic matter"
-msgstr "Analysiert nur Orgastoff"
+msgid "Too close to space ship"
+msgstr "Zu nahe am Raumschiff"
-msgid "Analysis already performed"
-msgstr "Analyse schon durchgeführt"
+msgid "Too many flags of this color (maximum 5)"
+msgstr "Zu viele Fahnen dieser Farbe (Maximum 5)"
-msgid "Not yet enough energy"
-msgstr "Noch nicht genug Energie"
+msgid "Too many parameters"
+msgstr "Zu viele Parameter"
-msgid "No uranium to transform"
-msgstr "Kein konvertierbares Platin"
+msgid "Tracked grabber"
+msgstr "Transporter"
-msgid "Transforms only uranium"
-msgstr "Wandelt nur Platin um"
+msgid "Tracked orga shooter"
+msgstr "OrgaShooter"
-msgid "No titanium"
-msgstr "Kein Titan vorhanden"
+msgid "Tracked shooter"
+msgstr "Shooter"
-msgid "No information exchange post within range"
-msgstr "Kein Infoserver in Reichweite"
+msgid "Tracked sniffer"
+msgstr "Schnüffler"
-msgid "Program infected by a virus"
-msgstr "Ein Programm wurde von einem Virus infiziert"
+msgid "Transforms only titanium"
+msgstr "Wandelt nur Titanerz um"
-msgid "Infected by a virus, temporarily out of order"
-msgstr "Von Virus infiziert, zeitweise außer Betrieb"
+msgid "Transforms only uranium"
+msgstr "Wandelt nur Platin um"
-msgid "Impossible when swimming"
-msgstr "Im Wasser unmöglich"
+msgid "Transmitted information"
+msgstr "Gesendete Informationen"
-msgid "Impossible when carrying an object"
-msgstr "Unmöglich wenn Sie etwas tragen"
+msgid "Turn left (\\key left;)"
+msgstr "Drehung links (\\key left;)"
-msgid "Too many flags of this color (maximum 5)"
-msgstr "Zu viele Fahnen dieser Farbe (Maximum 5)"
+msgid "Turn left\\turns the bot to the left"
+msgstr "Drehung nach links\\Steuer links"
-msgid "Too close to an existing flag"
-msgstr "Zu nahe an einer anderen Fahne"
+msgid "Turn right (\\key right;)"
+msgstr "Drehung rechts (\\key right;)"
-msgid "No flag nearby"
-msgstr "Keine Fahne in Reichweite"
+msgid "Turn right\\turns the bot to the right"
+msgstr "Drehung nach rechts\\Steuer rechts"
-msgid ""
-"The mission is not accomplished yet (press \\key help; for more details)"
-msgstr ""
-"Mission noch nicht beendet (Drücken Sie auf \\key help; für weitere "
-"Informationen)"
+msgid "Type declaration missing"
+msgstr "Hier muss ein Variablentyp stehen"
-msgid "Bot destroyed"
-msgstr "Roboter zerstört"
+msgid "Undo (Ctrl+z)"
+msgstr "Widerrufen (Ctrl+z)"
-msgid "Building destroyed"
-msgstr "Gebäude zerstört"
+msgid "Unit"
+msgstr "Einheit"
-msgid "Can not create this, there are too many objects"
-msgstr "Kein neues Objekt kann erstellt werden (zu viele vorhanden)"
+msgid "Unknown Object"
+msgstr "Das Objekt existiert nicht"
-msgid "\"%s\" missing in this exercise"
-msgstr "Es fehlt \"%s\" in Ihrem Programm"
+msgid "Unknown command"
+msgstr "Befehl unbekannt"
-msgid "Do not use in this exercise"
-msgstr "In dieser Übung verboten"
+msgid "Unknown function"
+msgstr "Unbekannte Funktion"
-msgid "Building completed"
-msgstr "Gebäude fertiggestellt"
+msgid "Up (\\key gup;)"
+msgstr "Steigt (\\key gup;)"
-msgid "Titanium available"
-msgstr "Titan verfügbar"
+msgid "Uranium deposit (site for derrick)"
+msgstr "Markierung für unterirdisches Platinvorkommen"
-msgid "Research program completed"
-msgstr "Forschungsprogramm abgeschlossen"
+msgid "Uranium ore"
+msgstr "Platinerz"
-msgid "Plans for tracked robots available "
-msgstr "Herstellung eines Roboters mit Kettenantrieb möglich"
+msgid "Use a joystick\\Joystick or keyboard"
+msgstr "Joystick\\Joystick oder Tastatur"
-msgid "You can fly with the keys (\\key gup;) and (\\key gdown;)"
-msgstr "Sie können jetzt mit den Tasten \\key gup; und \\key gdown; fliegen"
+msgid "User levels"
+msgstr "Userlevels"
-msgid "Plans for thumper available"
-msgstr "Herstellung eines Stampfers möglich"
+msgid "User\\User levels"
+msgstr "User\\Userlevels"
-msgid "Plans for shooter available"
-msgstr "Herstellung eines Shooters möglich"
+msgid "Variable name missing"
+msgstr "Es fehlt der Name einer Variable"
-msgid "Plans for defense tower available"
-msgstr "Errichtung eines Geschützturms möglich"
+msgid "Variable not declared"
+msgstr "Variable nicht deklariert"
-msgid "Plans for phazer shooter available"
-msgstr "Herstellung eines Phazershooters möglich"
+msgid "Variable not initialized"
+msgstr "Der Wert dieser Variable wurde nicht definiert"
-msgid "Plans for shielder available"
-msgstr "Herstellung eines Schutzschildes möglich"
+msgid "Vault"
+msgstr "Bunker"
-msgid "Plans for nuclear power plant available"
-msgstr "Errichtung einer Brennstoffzellenfabrik möglich"
+msgid "Violet flag"
+msgstr "Violette Fahne"
-msgid "New bot available"
-msgstr "Neuer Roboter verfügbar"
+msgid "Void parameter"
+msgstr "Parameter void"
-msgid "Analysis performed"
-msgstr "Analyse vollendet"
+msgid "Wasp"
+msgstr "Wespe"
-msgid "Power cell available"
-msgstr "Batterie verfügbar"
+msgid "Wasp fatally wounded"
+msgstr "Wespe tödlich verwundet"
-msgid "Nuclear power cell available"
-msgstr "Brennstoffzelle verfügbar"
+msgid "Waste"
+msgstr "Abfall"
-msgid "You found a usable object"
-msgstr "Sie haben ein brauchbares Objekt gefunden"
+msgid "Wheeled grabber"
+msgstr "Transporter"
-msgid "Found a site for power station"
-msgstr "Geeignete Stelle für Kraftwerk gefunden"
+msgid "Wheeled orga shooter"
+msgstr "OrgaShooter"
-msgid "Found a site for a derrick"
-msgstr "Geeignete Stelle für Bohrturm gefunden"
+msgid "Wheeled shooter"
+msgstr "Shooter"
-msgid "<<< Well done, mission accomplished >>>"
-msgstr "<<< Bravo, Mission vollendet >>>"
+msgid "Wheeled sniffer"
+msgstr "Schnüffler"
-msgid "<<< Sorry, mission failed >>>"
-msgstr "<<< Mission gescheitert >>>"
+msgid "Win"
+msgstr ""
-msgid "Current mission saved"
-msgstr "Mission gespeichert"
+msgid "Winged grabber"
+msgstr "Transporter"
-msgid "Checkpoint crossed"
-msgstr "Checkpoint erreicht"
+msgid "Winged orga shooter"
+msgstr "OrgaShooter"
-msgid "Alien Queen killed"
-msgstr "Insektenkönigin tödlich verwundet"
+msgid "Winged shooter"
+msgstr "Shooter"
-msgid "Ant fatally wounded"
-msgstr "Ameise tödlich verwundet"
+msgid "Winged sniffer"
+msgstr "Schnüffler"
-msgid "Wasp fatally wounded"
-msgstr "Wespe tödlich verwundet"
+msgid "Withdraw shield (\\key action;)"
+msgstr "Schutzschild einholen (\\key action;)"
+
+msgid "Worm"
+msgstr "Wurm"
msgid "Worm fatally wounded"
msgstr "Wurm tödlich verwundet"
-msgid "Spider fatally wounded"
-msgstr "Spinne tödlich verwundet"
+msgid "Wreckage"
+msgstr "Roboterwrack"
-msgid "Press \\key help; to read instructions on your SatCom"
-msgstr "Beziehen Sie sich auf Ihren SatCom, indem Sie auf \\key help; drücken"
+msgid "Write error"
+msgstr "Fehler beim Schreibzugriff"
-msgid "Opening bracket missing"
-msgstr "Es fehlt eine offene Klammer \"(\""
+msgid "Wrong type for the assignment"
+msgstr "Der Ausdruck ergibt einen falschen Typ für die Zuweisung"
-msgid "Closing bracket missing "
-msgstr "Es fehlt eine geschlossene Klammer \")\""
+msgid "Yellow flag"
+msgstr "Gelbe Fahne"
-msgid "The expression must return a boolean value"
-msgstr "Der Ausdruck muss einen boolschen Wert ergeben"
+msgid "You can fly with the keys (\\key gup;) and (\\key gdown;)"
+msgstr "Sie können jetzt mit den Tasten \\key gup; und \\key gdown; fliegen"
-msgid "Variable not declared"
-msgstr "Variable nicht deklariert"
+msgid "You can not carry a radioactive object"
+msgstr "Sie können keinen radioaktiven Gegenstand tragen"
-msgid "Assignment impossible"
-msgstr "Zuweisung unmöglich"
+msgid "You can not carry an object under water"
+msgstr "Sie können unter Wasser nichts tragen"
-msgid "Semicolon terminator missing"
-msgstr "Es fehlt ein Strichpunkt \";\" am Ende der Anweisung"
+msgid "You found a usable object"
+msgstr "Sie haben ein brauchbares Objekt gefunden"
-msgid "Instruction \"case\" outside a block \"switch\""
-msgstr "Anweisung \"case\" ohne vorhergehende Anweisung \"switch\""
+msgid "You must get on the spaceship to take off "
+msgstr "Gehen Sie an Bord, bevor Sie abheben"
-msgid "Instructions after the final closing brace"
-msgstr "Hier ist eine Anweisung nach dem Ende des Programms"
+msgid "Zoom mini-map"
+msgstr "Zoom Minikarte"
-msgid "End of block missing"
-msgstr "Es fehlt eine geschlossene geschweifte Klammer \"}\" (Ende des Blocks)"
+msgid "\\Blue flags"
+msgstr "\\Blaue Fahne"
-msgid "Instruction \"else\" without corresponding \"if\" "
-msgstr "Anweisung \"else\" ohne vorhergehende Anweisung \"if\""
+msgid "\\Eyeglasses 1"
+msgstr "\\Brille 1"
-msgid "Opening brace missing "
-msgstr "Es fehlt eine offene geschweifte Klammer\"{\""
+msgid "\\Eyeglasses 2"
+msgstr "\\Brille 2"
-msgid "Wrong type for the assignment"
-msgstr "Der Ausdruck ergibt einen falschen Typ für die Zuweisung"
+msgid "\\Eyeglasses 3"
+msgstr "\\Brille 3"
-msgid "A variable can not be declared twice"
-msgstr "Eine Variable wird zum zweiten Mal deklariert"
+msgid "\\Eyeglasses 4"
+msgstr "\\Brille 4"
-msgid "The types of the two operands are incompatible "
-msgstr "Die zwei Operanden sind nicht kompatibel"
+msgid "\\Eyeglasses 5"
+msgstr "\\Brille 5"
-msgid "Unknown function"
-msgstr "Unbekannte Funktion"
+msgid "\\Face 1"
+msgstr "\\Kopf 1"
-msgid "Sign \" : \" missing"
-msgstr "Es fehlt ein Doppelpunkt \" : \""
+msgid "\\Face 2"
+msgstr "\\Kopf 2"
-msgid "Keyword \"while\" missing"
-msgstr "Es fehlt das Wort \"while\""
+msgid "\\Face 3"
+msgstr "\\Kopf 3"
-msgid "Instruction \"break\" outside a loop"
-msgstr "Anweisung \"break\" außerhalb einer Schleife"
+msgid "\\Face 4"
+msgstr "\\Kopf 4"
-msgid "A label must be followed by \"for\", \"while\", \"do\" or \"switch\""
-msgstr ""
-"Ein Label kann nur vor den Anweisungen \"for\", \"while\", \"do\" oder "
-"\"switch\" vorkommen"
+msgid "\\Green flags"
+msgstr "\\Grüne Fahne"
-msgid "This label does not exist"
-msgstr "Dieses Label existiert nicht"
+msgid "\\New player name"
+msgstr "\\Name des Spielers"
-msgid "Instruction \"case\" missing"
-msgstr "Es fehlt eine Anweisung \"case\""
+msgid "\\No eyeglasses"
+msgstr "\\Keine Brille"
-msgid "Number missing"
-msgstr "Es fehlt eine Zahl"
+msgid "\\Raise the pencil"
+msgstr "\\Bleistift abheben"
-msgid "Void parameter"
-msgstr "Parameter void"
+msgid "\\Red flags"
+msgstr "\\Rote Fahne"
-msgid "Type declaration missing"
-msgstr "Hier muss ein Variablentyp stehen"
+msgid "\\Return to COLOBOT"
+msgstr "\\Zurück zu COLOBOT"
-msgid "Variable name missing"
-msgstr "Es fehlt der Name einer Variable"
+msgid "\\SatCom on standby"
+msgstr "\\SatCom in Standby"
-msgid "Function name missing"
-msgstr "Hier muss der Name der Funktion stehen"
+msgid "\\Start recording"
+msgstr "\\Aufnahme starten"
-msgid "Too many parameters"
-msgstr "Zu viele Parameter"
+msgid "\\Stop recording"
+msgstr "\\Aufnahme stoppen"
-msgid "Function already exists"
-msgstr "Diese Funktion gibt es schon"
+msgid "\\Turn left"
+msgstr "\\Drehung links"
-msgid "Parameters missing "
-msgstr "Nicht genug Parameter"
+msgid "\\Turn right"
+msgstr "\\Drehung rechts"
-msgid "No function with this name accepts this kind of parameter"
-msgstr "Keine Funktion mit diesem Namen verträgt Parameter diesen Typs"
+msgid "\\Use the black pencil"
+msgstr "\\Schwarzen Bleistift hinunterlassen"
-msgid "No function with this name accepts this number of parameters"
-msgstr "Keine Funktion mit diesem Namen verträgt diese Anzahl Parameter"
+msgid "\\Use the blue pencil"
+msgstr "\\Blauen Bleistift hinunterlassen"
-msgid "This is not a member of this class"
-msgstr "Dieses Element gibt es nicht in dieser Klasse"
+msgid "\\Use the brown pencil"
+msgstr "\\Braunen Bleistift hinunterlassen"
-msgid "This object is not a member of a class"
-msgstr "Das Objekt ist nicht eine Instanz einer Klasse"
+msgid "\\Use the green pencil"
+msgstr "\\Grünen Bleistift hinunterlassen"
-msgid "Appropriate constructor missing"
-msgstr "Es gibt keinen geeigneten Konstruktor"
+msgid "\\Use the orange pencil"
+msgstr "\\Orangefarbenen Bleistift hinunterlassen"
-msgid "This class already exists"
-msgstr "Diese Klasse gibt es schon"
+msgid "\\Use the purple pencil"
+msgstr "\\Violetten Bleistift hinunterlassen"
-msgid "\" ] \" missing"
-msgstr "Es fehlt eine geschlossene eckige Klammer \" ] \""
+msgid "\\Use the red pencil"
+msgstr "\\Roten Bleistift hinunterlassen"
-msgid "Reserved keyword of CBOT language"
-msgstr "Dieses Wort ist reserviert"
+msgid "\\Use the yellow pencil"
+msgstr "\\Gelben Bleistift hinunterlassen"
-msgid "Bad argument for \"new\""
-msgstr "Falsche Argumente für \"new\""
+msgid "\\Violet flags"
+msgstr "\\Violette Fahne"
-msgid "\" [ \" expected"
-msgstr "Es fehlt eine offene eckige Klammer \" [ \""
+msgid "\\Yellow flags"
+msgstr "\\Gelbe Fahne"
-msgid "String missing"
-msgstr "Hier wird eine Zeichenkette erwartet"
+msgid "\\b;Aliens\n"
+msgstr "\\b;Listes der Feinde\n"
-msgid "Incorrect index type"
-msgstr "Falscher Typ für einen Index"
+msgid "\\b;Buildings\n"
+msgstr "\\b;Listes der Gebäude\n"
-msgid "Private element"
-msgstr "Geschütztes Element (private)"
+msgid "\\b;Error\n"
+msgstr "\\b;Fehler\n"
-msgid "Public required"
-msgstr "Hier muss das Wort \"public\" stehen"
+msgid "\\b;List of objects\n"
+msgstr "\\b;Liste der Objekte\n"
-msgid "Dividing by zero"
-msgstr "Teilung durch Null"
+msgid "\\b;Moveable objects\n"
+msgstr "\\b;Listes der tragbaren Gegenstände\n"
-msgid "Variable not initialized"
-msgstr "Der Wert dieser Variable wurde nicht definiert"
+msgid "\\b;Robots\n"
+msgstr "\\b;Liste der Roboter\n"
-msgid "Negative value rejected by \"throw\""
-msgstr "Negativer Wert ungeeignet für Anweisung \"throw\""
+msgid "\\c; (none)\\n;\n"
+msgstr "\\c; (keine)\\n;\n"
-msgid "The function returned no value "
-msgstr "Die Funktion hat kein Ergebnis zurückgegeben"
+msgid "action;"
+msgstr ""
-msgid "No function running"
-msgstr "Keine Funktion wird ausgeführt"
+msgid "away;"
+msgstr ""
-msgid "Calling an unknown function"
-msgstr "Die aufgerufene Funktion existiert nicht"
+msgid "camera;"
+msgstr ""
-msgid "This class does not exist"
-msgstr "Diese Klasse existiert nicht"
+msgid "cbot;"
+msgstr ""
-msgid "Unknown Object"
-msgstr "Das Objekt existiert nicht"
+msgid "desel;"
+msgstr ""
-msgid "Operation impossible with value \"nan\""
-msgstr "Operation mit dem Wert \"nan\""
+msgid "down;"
+msgstr ""
-msgid "Access beyond array limit"
-msgstr "Zugriff im Array außerhalb der Grenzen"
+msgid "gdown;"
+msgstr ""
-msgid "Stack overflow"
-msgstr "Stack overflow"
+msgid "gup;"
+msgstr ""
-msgid "Illegal object"
-msgstr "Objekt nicht verfügbar"
+msgid "help;"
+msgstr ""
-msgid "Can't open file"
-msgstr "Die Datei kann nicht geöffnet werden"
+msgid "human;"
+msgstr ""
-msgid "File not open"
-msgstr "Die Datei wurde nicht geöffnet"
+msgid "left;"
+msgstr ""
-msgid "Read error"
-msgstr "Fehler beim Lesezugriff"
+msgid "near;"
+msgstr ""
-msgid "Write error"
-msgstr "Fehler beim Schreibzugriff"
+msgid "next;"
+msgstr ""
+
+msgid "prog;"
+msgstr ""
+
+msgid "quit;"
+msgstr ""
+
+msgid "right;"
+msgstr ""
+
+msgid "speed10;"
+msgstr ""
+
+msgid "speed15;"
+msgstr ""
-msgid "< none >"
-msgstr "< keine >"
+msgid "speed20;"
+msgstr ""
-msgid "Arrow left"
-msgstr "Pfeiltaste links"
+msgid "up;"
+msgstr ""
-msgid "Arrow right"
-msgstr "Pfeiltaste rechts"
+msgid "visit;"
+msgstr ""
-msgid "Arrow up"
-msgstr "Pfeil nach oben"
+msgid "www.epsitec.com"
+msgstr "www.epsitec.com"
-msgid "Arrow down"
-msgstr "Pfeil nach unten"
+#~ msgid "< none >"
+#~ msgstr "< keine >"
-msgid "Control-break"
-msgstr "Ctrl-Break"
+#~ msgid "<--"
+#~ msgstr "<--"
-msgid "<--"
-msgstr "<--"
+#~ msgid "Application key"
+#~ msgstr "Application key"
-msgid "Tab"
-msgstr "Tab"
+#~ msgid "Arrow down"
+#~ msgstr "Pfeil nach unten"
-msgid "Clear"
-msgstr "Clear"
+#~ msgid "Arrow left"
+#~ msgstr "Pfeiltaste links"
-msgid "Enter"
-msgstr "Eingabe"
+#~ msgid "Arrow right"
+#~ msgstr "Pfeiltaste rechts"
-msgid "Shift"
-msgstr "Shift"
+#~ msgid "Arrow up"
+#~ msgstr "Pfeil nach oben"
-msgid "Ctrl"
-msgstr "Ctrl"
+#~ msgid "Attn"
+#~ msgstr "Attn"
-msgid "Alt"
-msgstr "Alt"
+#~ msgid "Caps Lock"
+#~ msgstr "Caps Lock"
-msgid "Pause"
-msgstr "Pause"
+#~ msgid "Clear"
+#~ msgstr "Clear"
-msgid "Caps Lock"
-msgstr "Caps Lock"
+#~ msgid "Control-break"
+#~ msgstr "Ctrl-Break"
-msgid "Esc"
-msgstr "Esc"
+#~ msgid "CrSel"
+#~ msgstr "CrSel"
-msgid "Space"
-msgstr "Leertaste"
+#~ msgid "Delete Key"
+#~ msgstr "Delete"
-msgid "Page Up"
-msgstr "Page Up"
+#~ msgid "Dictionnary"
+#~ msgstr "Wörterbuch Englisch-Deutsch"
-msgid "Page Down"
-msgstr "Page Down"
+#~ msgid "Disintegrator"
+#~ msgstr "Auflöser"
-msgid "End"
-msgstr "End"
+#~ msgid "End"
+#~ msgstr "End"
-msgid "Home Key"
-msgstr "Home"
+#~ msgid "Enter"
+#~ msgstr "Eingabe"
-msgid "Select"
-msgstr "Select"
+#~ msgid "Erase EOF"
+#~ msgstr "Erase EOF"
-msgid "Execute"
-msgstr "Execute"
+#~ msgid "Error"
+#~ msgstr "Fehler"
-msgid "Print Scrn"
-msgstr "Print Scrn"
+#~ msgid "Esc"
+#~ msgstr "Esc"
-msgid "Insert"
-msgstr "Insert"
+#~ msgid "ExSel"
+#~ msgstr "ExSel"
-msgid "Delete Key"
-msgstr "Delete"
+#~ msgid "Execute"
+#~ msgstr "Execute"
-msgid "Help"
-msgstr "Help"
+#~ msgid "F1"
+#~ msgstr "F1"
-msgid "Left Windows"
-msgstr "Left Windows"
+#~ msgid "F10"
+#~ msgstr "F10"
-msgid "Right Windows"
-msgstr "Right Windows"
+#~ msgid "F11"
+#~ msgstr "F11"
-msgid "Application key"
-msgstr "Application key"
+#~ msgid "F12"
+#~ msgstr "F12"
-msgid "NumPad 0"
-msgstr "NumPad 0"
+#~ msgid "F13"
+#~ msgstr "F13"
-msgid "NumPad 1"
-msgstr "NumPad 1"
+#~ msgid "F14"
+#~ msgstr "F14"
-msgid "NumPad 2"
-msgstr "NumPad 2"
+#~ msgid "F15"
+#~ msgstr "F15"
-msgid "NumPad 3"
-msgstr "NumPad 3"
+#~ msgid "F16"
+#~ msgstr "F16"
-msgid "NumPad 4"
-msgstr "NumPad 4"
+#~ msgid "F17"
+#~ msgstr "F17"
-msgid "NumPad 5"
-msgstr "NumPad 5"
+#~ msgid "F18"
+#~ msgstr "F18"
-msgid "NumPad 6"
-msgstr "NumPad 6"
+#~ msgid "F19"
+#~ msgstr "F19"
-msgid "NumPad 7"
-msgstr "NumPad 7"
+#~ msgid "F2"
+#~ msgstr "F2"
-msgid "NumPad 8"
-msgstr "NumPad 8"
+#~ msgid "F20"
+#~ msgstr "F20"
-msgid "NumPad 9"
-msgstr "NumPad 9"
+#~ msgid "F3"
+#~ msgstr "F3"
-msgid "NumPad *"
-msgstr "NumPad *"
+#~ msgid "F4"
+#~ msgstr "F4"
-msgid "NumPad +"
-msgstr "NumPad +"
+#~ msgid "F5"
+#~ msgstr "F5"
-msgid "NumPad sep"
-msgstr "NumPad sep"
+#~ msgid "F6"
+#~ msgstr "F6"
-msgid "NumPad -"
-msgstr "NumPad -"
+#~ msgid "F7"
+#~ msgstr "F7"
-msgid "NumPad ."
-msgstr "NumPad ."
+#~ msgid "F8"
+#~ msgstr "F8"
-msgid "NumPad /"
-msgstr "NumPad /"
+#~ msgid "F9"
+#~ msgstr "F9"
-msgid "F1"
-msgstr "F1"
+#~ msgid "Help"
+#~ msgstr "Help"
-msgid "F2"
-msgstr "F2"
+#~ msgid "Home Key"
+#~ msgstr "Home"
-msgid "F3"
-msgstr "F3"
+#~ msgid "Insert"
+#~ msgstr "Insert"
-msgid "F4"
-msgstr "F4"
+#~ msgid "Left Windows"
+#~ msgstr "Left Windows"
-msgid "F5"
-msgstr "F5"
+#~ msgid "Mini-map"
+#~ msgstr "Minikarte"
-msgid "F6"
-msgstr "F6"
+#~ msgid "Num Lock"
+#~ msgstr "Num Lock"
-msgid "F7"
-msgstr "F7"
+#~ msgid "NumPad *"
+#~ msgstr "NumPad *"
-msgid "F8"
-msgstr "F8"
+#~ msgid "NumPad +"
+#~ msgstr "NumPad +"
-msgid "F9"
-msgstr "F9"
+#~ msgid "NumPad -"
+#~ msgstr "NumPad -"
-msgid "F10"
-msgstr "F10"
+#~ msgid "NumPad ."
+#~ msgstr "NumPad ."
-msgid "F11"
-msgstr "F11"
+#~ msgid "NumPad /"
+#~ msgstr "NumPad /"
-msgid "F12"
-msgstr "F12"
+#~ msgid "NumPad 0"
+#~ msgstr "NumPad 0"
-msgid "F13"
-msgstr "F13"
+#~ msgid "NumPad 1"
+#~ msgstr "NumPad 1"
-msgid "F14"
-msgstr "F14"
+#~ msgid "NumPad 2"
+#~ msgstr "NumPad 2"
-msgid "F15"
-msgstr "F15"
+#~ msgid "NumPad 3"
+#~ msgstr "NumPad 3"
-msgid "F16"
-msgstr "F16"
+#~ msgid "NumPad 4"
+#~ msgstr "NumPad 4"
-msgid "F17"
-msgstr "F17"
+#~ msgid "NumPad 5"
+#~ msgstr "NumPad 5"
-msgid "F18"
-msgstr "F18"
+#~ msgid "NumPad 6"
+#~ msgstr "NumPad 6"
-msgid "F19"
-msgstr "F19"
+#~ msgid "NumPad 7"
+#~ msgstr "NumPad 7"
-msgid "F20"
-msgstr "F20"
+#~ msgid "NumPad 8"
+#~ msgstr "NumPad 8"
-msgid "Num Lock"
-msgstr "Num Lock"
+#~ msgid "NumPad 9"
+#~ msgstr "NumPad 9"
-msgid "Scroll"
-msgstr "Scroll"
+#~ msgid "NumPad sep"
+#~ msgstr "NumPad sep"
-msgid "Attn"
-msgstr "Attn"
+#~ msgid "PA1"
+#~ msgstr "PA1"
-msgid "CrSel"
-msgstr "CrSel"
+#~ msgid "Page Down"
+#~ msgstr "Page Down"
-msgid "ExSel"
-msgstr "ExSel"
+#~ msgid "Page Up"
+#~ msgstr "Page Up"
-msgid "Erase EOF"
-msgstr "Erase EOF"
+#~ msgid "Pause"
+#~ msgstr "Pause"
-msgid "Play"
-msgstr "Play"
+#~ msgid "Play"
+#~ msgstr "Play"
-msgid "Zoom"
-msgstr "Zoom"
+#~ msgid "Print Scrn"
+#~ msgstr "Print Scrn"
-msgid "PA1"
-msgstr "PA1"
+#~ msgid "Right Windows"
+#~ msgstr "Right Windows"
-msgid "Button %1"
-msgstr "Knopf %1"
+#~ msgid "Scroll"
+#~ msgstr "Scroll"
+
+#~ msgid "Select"
+#~ msgstr "Select"
+
+#~ msgid "Space"
+#~ msgstr "Leertaste"
+
+#~ msgid "Tab"
+#~ msgstr "Tab"
+
+#~ msgid "Wheel down"
+#~ msgstr "Mausrad zurück"
-msgid "Wheel up"
-msgstr "Mausrad nach vorne"
+#~ msgid "Wheel up"
+#~ msgstr "Mausrad nach vorne"
-msgid "Wheel down"
-msgstr "Mausrad zurück"
+#~ msgid "Zoom"
+#~ msgstr "Zoom"
diff --git a/src/po/fr.po b/src/po/fr.po
index 45854f9..662fb93 100644
--- a/src/po/fr.po
+++ b/src/po/fr.po
@@ -1,1977 +1,2057 @@
+# Didier Raboud <odyx@debian.org>, 2012.
msgid ""
msgstr ""
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-12-27 17:09+0100\n"
+"PO-Revision-Date: 2012-12-27 14:07+0100\n"
+"Last-Translator: Didier Raboud <odyx@debian.org>\n"
+"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Language: fr_FR\n"
"X-Source-Language: en_US\n"
+"X-Generator: Lokalize 1.4\n"
-msgid "Colobot rules!"
-msgstr "Colobot est super!"
+msgid " "
+msgstr " "
-msgid "Colobot Gold"
-msgstr "Colobot Gold"
+msgid " Challenges in the chapter:"
+msgstr " Liste des défis du chapitre :"
-msgid "SatCom"
-msgstr "SatCom"
+msgid " Chapters:"
+msgstr " Liste des chapitres :"
-msgid "Maximize"
-msgstr "Taille maximale"
+msgid " Drivers:"
+msgstr " Pilotes :"
-msgid "Minimize"
-msgstr "Taille réduite"
+msgid " Exercises in the chapter:"
+msgstr " Liste des exercices du chapitre :"
-msgid "Normal size"
-msgstr "Taille normale"
+msgid " Free game on this chapter:"
+msgstr " Liste des jeux libres du chapitre :"
-msgid "Close"
-msgstr "Fermer"
+msgid " Free game on this planet:"
+msgstr " Liste des jeux libres du chapitre :"
-msgid "Program editor"
-msgstr "Edition du programme"
+msgid " Missions on this level:"
+msgstr " Missions du niveau :"
-msgid "New"
-msgstr "Nouveau"
+msgid " Missions on this planet:"
+msgstr " Liste des missions du chapitre :"
-msgid "Player"
-msgstr "Joueur"
+msgid " Planets:"
+msgstr " Liste des planètes :"
-msgid "New ..."
-msgstr "Nouveau ..."
+msgid " Prototypes on this planet:"
+msgstr " Liste des prototypes du chapitre :"
+
+msgid " Resolution:"
+msgstr " Résolutions :"
+
+msgid " Summary:"
+msgstr " Résumé :"
+
+msgid " User levels:"
+msgstr " Niveaux supplémentaires :"
msgid " or "
msgstr " ou "
-msgid "COLOBOT"
-msgstr "COLOBOT"
+msgid "\" [ \" expected"
+msgstr "\" [ \" attendu"
-msgid "Programming exercises"
-msgstr "Programmation"
+msgid "\" ] \" missing"
+msgstr "\" ] \" attendu"
-msgid "Challenges"
-msgstr "Défis"
+#, c-format
+msgid "\"%s\" missing in this exercise"
+msgstr "Il manque \"%s\" dans le programme"
-msgid "Missions"
-msgstr "Missions"
+msgid "%1"
+msgstr "%1"
-msgid "Free game"
-msgstr "Jeu libre"
+msgid "..behind"
+msgstr "..derrière"
-msgid "User levels"
-msgstr "Niveaux supplémentaires"
+msgid "..in front"
+msgstr "..devant"
-msgid "Prototypes"
-msgstr "Prototypes"
+msgid "..power cell"
+msgstr "..pile"
-msgid "Options"
-msgstr "Options"
+msgid "1) First click on the key you want to redefine."
+msgstr "1) Cliquez d'abord sur la touche à redéfinir."
-msgid "Player's name"
-msgstr "Nom du joueur"
+msgid "2) Then press the key you want to use instead."
+msgstr "2) Appuyez ensuite sur la nouvelle touche souhaitée."
-msgid "Customize your appearance"
-msgstr "Personnalisation de votre apparence"
+msgid "3D sound\\3D positioning of the sound"
+msgstr "Bruitages 3D\\Positionnement sonore dans l'espace"
-msgid "Save the current mission"
-msgstr "Enregistrement de la mission en cours"
+msgid "<< Back \\Back to the previous screen"
+msgstr "<< Retour \\Retour au niveau précédent"
-msgid "Load a saved mission"
-msgstr "Chargement d'une mission enregistrée"
+msgid "<<< Sorry; mission failed >>>"
+msgstr "<<< Désolé; mission échouée >>>"
-msgid " Chapters:"
-msgstr " Liste des chapitres :"
+msgid "<<< Well done; mission accomplished >>>"
+msgstr "<<< Bravo; mission terminée >>>"
-msgid " Planets:"
-msgstr " Liste des plančtes :"
+msgid "A label must be followed by \"for\"; \"while\"; \"do\" or \"switch\""
+msgstr ""
+"Un label ne peut se placer que devant un \"for\"; un \"while\"; un \"do\" ou "
+"un \"switch\""
-msgid " User levels:"
-msgstr " Niveaux supplémentaires :"
+msgid "A variable can not be declared twice"
+msgstr "Redéfinition d'une variable"
-msgid " Exercises in the chapter:"
-msgstr " Liste des exercices du chapitre :"
+msgid "Abort\\Abort the current mission"
+msgstr "Abandonner\\Abandonner la mission en cours"
-msgid " Challenges in the chapter:"
-msgstr " Liste des défis du chapitre :"
+msgid "Access beyond array limit"
+msgstr "Accès hors du tableau"
-msgid " Missions on this planet:"
-msgstr " Liste des missions du chapitre :"
+msgid ""
+"Access to solution\\Shows the solution (detailed instructions for missions)"
+msgstr "Accès à la solution\\Donne la solution"
-msgid " Free game on this planet:"
-msgstr " Liste des jeux libres du chapitre :"
+msgid "Access to solutions\\Show program \"4: Solution\" in the exercises"
+msgstr "Accès aux solutions\\Programme \"4: Solution\" dans les exercices"
-msgid " Missions on this level:"
-msgstr " Missions du niveau :"
+msgid "Alien Queen"
+msgstr "Pondeuse"
-msgid " Prototypes on this planet:"
-msgstr " Liste des prototypes du chapitre :"
+msgid "Alien Queen killed"
+msgstr "Pondeuse mortellement touchée"
-msgid " Free game on this chapter:"
-msgstr " Liste des jeux libres du chapitre :"
+msgid "Already carrying something"
+msgstr "Porte déjà quelque chose"
-msgid " Summary:"
-msgstr " Résumé :"
+msgid "Alt"
+msgstr "Alt"
-msgid " Drivers:"
-msgstr " Pilotes :"
+msgid "Analysis already performed"
+msgstr "Analyse déjà effectuée"
-msgid " Resolution:"
-msgstr " Résolutions :"
+msgid "Analysis performed"
+msgstr "Analyse terminée"
-msgid "1) First click on the key you want to redefine."
-msgstr "1) Cliquez d'abord sur la touche ŕ redéfinir."
+msgid "Analyzes only organic matter"
+msgstr "N'analyse que la matière organique"
-msgid "2) Then press the key you want to use instead."
-msgstr "2) Appuyez ensuite sur la nouvelle touche souhaitée."
+msgid "Ant"
+msgstr "Fourmi"
-msgid "Face type:"
-msgstr "Type de visage :"
+msgid "Ant fatally wounded"
+msgstr "Fourmi mortellement touchée"
-msgid "Eyeglasses:"
-msgstr "Lunettes :"
+msgid "Appearance\\Choose your appearance"
+msgstr "Aspect\\Choisir votre aspect"
-msgid "Hair color:"
-msgstr "Couleur des cheveux :"
+msgid "Apply changes\\Activates the changed settings"
+msgstr "Appliquer les changements\\Active les changements effectués"
-msgid "Suit color:"
-msgstr "Couleur de la combinaison :"
+msgid "Appropriate constructor missing"
+msgstr "Il n'y a pas de constructeur approprié"
-msgid "Strip color:"
-msgstr "Couleur des bandes :"
+msgid "Assignment impossible"
+msgstr "Assignation impossible"
-msgid "Do you want to quit COLOBOT ?"
-msgstr "Voulez-vous quitter COLOBOT ?"
+msgid "Autolab"
+msgstr "Laboratoire de matières organiques"
-msgid "Quit\\Quit COLOBOT"
-msgstr "Quitter\\Quitter COLOBOT"
+msgid "Automatic indent\\When program editing"
+msgstr "Indentation automatique\\Pendant l'édition d'un programme"
-msgid "Quit the mission?"
-msgstr "Quitter la mission ?"
+msgid "Back"
+msgstr "Page précédente"
-msgid "Abort\\Abort the current mission"
-msgstr "Abandonner\\Abandonner la mission en cours"
+msgid "Background sound :\\Volume of audio tracks on the CD"
+msgstr "Fond sonore :\\Volume des pistes audio du CD"
-msgid "Continue\\Continue the current mission"
-msgstr "Continuer\\Continuer la mission en cours"
+msgid "Backward (\\key down;)"
+msgstr "Recule (\\key down;)"
-msgid "Continue\\Continue the game"
-msgstr "Continuer\\Continuer de jouer"
+msgid "Backward\\Moves backward"
+msgstr "Reculer\\Moteur en arrière"
-msgid "Do you really want to destroy the selected building?"
-msgstr "Voulez-vous vraiment détruire le bâtiment sélectionné ?"
+msgid "Bad argument for \"new\""
+msgstr "Mauvais argument pour \"new\""
-msgid "Do you want to delete %s's saved games? "
-msgstr "Voulez-vous détruire les sauvegardes de %s ?"
+msgid "Big indent\\Indent 2 or 4 spaces per level defined by braces"
+msgstr "Grande indentation\\Indente avec 2 ou 4 espaces"
-msgid "Delete"
-msgstr "Détruire"
+msgid "Black box"
+msgstr "Boîte noire"
-msgid "Cancel"
-msgstr "Annuler"
+msgid "Blue"
+msgstr "Bleu"
-msgid "LOADING"
-msgstr "CHARGEMENT"
+msgid "Blue flag"
+msgstr "Drapeau bleu"
-msgid "Keyword help(\\key cbot;)"
-msgstr "Aide sur le mot-clé (\\key cbot;)"
+msgid "Bot destroyed"
+msgstr "Robot détruit"
-msgid "Compilation ok (0 errors)"
-msgstr "Compilation ok (0 erreur)"
+msgid "Bot factory"
+msgstr "Fabrique de robots"
-msgid "Program finished"
-msgstr "Programme terminé"
+msgid "Build a bot factory"
+msgstr "Construit une fabrique de robots"
-msgid "\\b;List of objects\n"
-msgstr "\\b;Listes des objets\n"
+msgid "Build a converter"
+msgstr "Construit un convertisseur"
-msgid "\\b;Robots\n"
-msgstr "\\b;Listes des robots\n"
+msgid "Build a defense tower"
+msgstr "Construit une tour"
-msgid "\\b;Buildings\n"
-msgstr "\\b;Listes des bâtiments\n"
+msgid "Build a derrick"
+msgstr "Construit un derrick"
-msgid "\\b;Moveable objects\n"
-msgstr "\\b;Listes des objets transportables\n"
+msgid "Build a exchange post"
+msgstr "Construit une borne d'information"
-msgid "\\b;Aliens\n"
-msgstr "\\b;Listes des ennemis\n"
+msgid "Build a legged grabber"
+msgstr "Fabrique un déménageur à pattes"
-msgid "\\c; (none)\\n;\n"
-msgstr "\\c; (aucun)\\n;\n"
+msgid "Build a legged orga shooter"
+msgstr "Fabrique un orgaShooter à pattes"
-msgid "\\b;Error\n"
-msgstr "\\b;Erreur\n"
+msgid "Build a legged shooter"
+msgstr "Fabrique un shooter à pattes"
-msgid ""
-"The list is only available if a \\l;radar station\\u object\\radar; is "
-"working.\n"
-msgstr "Liste non disponible sans \\l;radar\\u object\\radar;.\n"
+msgid "Build a legged sniffer"
+msgstr "Fabrique un renifleur à pattes"
-msgid "Open"
-msgstr "Ouvrir"
+msgid "Build a lightning conductor"
+msgstr "Construit un paratonnerre"
-msgid "Save"
-msgstr "Enregistrer"
+msgid "Build a nuclear power plant"
+msgstr "Construit une centrale nucléaire"
-msgid "Folder: %s"
-msgstr "Dossier: %s"
+msgid "Build a phazer shooter"
+msgstr "Fabrique un robot phazer"
-msgid "Name:"
-msgstr "Nom:"
+msgid "Build a power cell factory"
+msgstr "Construit une fabrique de piles"
-msgid "Folder:"
-msgstr "Dans:"
+msgid "Build a power station"
+msgstr "Construit une station"
-msgid "Private\\Private folder"
-msgstr "Privé\\Dossier privé"
+msgid "Build a radar station"
+msgstr "Construit un radar"
-msgid "Public\\Common folder"
-msgstr "Public\\Dossier commun ŕ tous les joueurs"
+msgid "Build a recycler"
+msgstr "Fabrique un robot recycleur"
-msgid "Developed by :"
-msgstr "Développé par :"
+msgid "Build a repair center"
+msgstr "Construit un centre de réparation"
-msgid "www.epsitec.com"
-msgstr "www.epsitec.com"
+msgid "Build a research center"
+msgstr "Construit un centre de recherches"
-msgid " "
-msgstr " "
+msgid "Build a shielder"
+msgstr "Fabrique un robot bouclier"
-msgid "Recorder"
-msgstr "Enregistreur"
+msgid "Build a subber"
+msgstr "Fabrique un robot sous-marin"
-msgid "OK"
-msgstr "D'accord"
+msgid "Build a thumper"
+msgstr "Fabrique un robot secoueur"
-msgid "Next"
-msgstr "Suivant"
+msgid "Build a tracked grabber"
+msgstr "Fabrique un déménageur à chenilles"
-msgid "Previous"
-msgstr "Précédent"
+msgid "Build a tracked orga shooter"
+msgstr "Fabrique un orgaShooter à chenilles"
-msgid "Menu (\\key quit;)"
-msgstr "Menu (\\key quit;)"
+msgid "Build a tracked shooter"
+msgstr "Fabrique un shooter à chenilles"
-msgid "Exercises\\Programming exercises"
-msgstr "Programmation\\Exercices de programmation"
+msgid "Build a tracked sniffer"
+msgstr "Fabrique un renifleur à chenilles"
-msgid "Challenges\\Programming challenges"
-msgstr "Défis\\Défis de programmation"
+msgid "Build a wheeled grabber"
+msgstr "Fabrique un déménageur à roues"
-msgid "Missions\\Select mission"
-msgstr "Missions\\La grande aventure"
+msgid "Build a wheeled orga shooter"
+msgstr "Fabrique un orgaShooter à roues"
-msgid "Free game\\Free game without a specific goal"
-msgstr "Jeu libre\\Jeu libre sans but précis"
+msgid "Build a wheeled shooter"
+msgstr "Fabrique un shooter à roues"
-msgid "User\\User levels"
-msgstr "Suppl.\\Niveaux supplémentaires"
+msgid "Build a wheeled sniffer"
+msgstr "Fabrique un renifleur à roues"
-msgid "Proto\\Prototypes under development"
-msgstr "Proto\\Prototypes en cours d'élaboration"
+msgid "Build a winged grabber"
+msgstr "Fabrique un déménageur volant"
-msgid "New player\\Choose player's name"
-msgstr "Autre joueur\\Choix du nom du joueur"
+msgid "Build a winged orga shooter"
+msgstr "Fabrique un orgaShooter volant"
-msgid "Options\\Preferences"
-msgstr "Options\\Réglages"
+msgid "Build a winged shooter"
+msgstr "Fabrique un shooter volant"
-msgid "Restart\\Restart the mission from the beginning"
-msgstr "Recommencer\\Recommencer la mission au début"
+msgid "Build a winged sniffer"
+msgstr "Fabrique un renifleur volant"
-msgid "Save\\Save the current mission "
-msgstr "Enregistrer\\Enregistrer la mission en cours"
+msgid "Build an autolab"
+msgstr "Construit un laboratoire"
-msgid "Load\\Load a saved mission"
-msgstr "Charger\\Charger une mission enregistrée"
+msgid "Building completed"
+msgstr "Bâtiment terminé"
-msgid "\\Return to COLOBOT"
-msgstr "\\Retourner dans COLOBOT"
+msgid "Building destroyed"
+msgstr "Bâtiment détruit"
-msgid "<< Back \\Back to the previous screen"
-msgstr "<< Retour \\Retour au niveau précédent"
+msgid "Building too close"
+msgstr "Bâtiment trop proche"
-msgid "Play\\Start mission!"
-msgstr "Jouer ...\\Démarrer l'action!"
+msgid "Button %1"
+msgstr "Bouton %1"
-msgid "Device\\Driver and resolution settings"
-msgstr "Affichage\\Pilote et résolution d'affichage"
+msgid "COLOBOT"
+msgstr "COLOBOT"
-msgid "Graphics\\Graphics settings"
-msgstr "Graphique\\Options graphiques"
+msgid "Calling an unknown function"
+msgstr "Appel d'une fonction inexistante"
-msgid "Game\\Game settings"
-msgstr "Jeu\\Options de jouabilité"
+msgid "Camera (\\key camera;)"
+msgstr "Caméra (\\key camera;)"
-msgid "Controls\\Keyboard, joystick and mouse settings"
-msgstr "Commandes\\Touches du clavier"
+msgid "Camera awayest"
+msgstr "Caméra plus loin"
-msgid "Sound\\Music and game sound volume"
-msgstr "Son\\Volumes bruitages & musiques"
+msgid "Camera back\\Moves the camera backward"
+msgstr "Caméra plus loin\\Recule la caméra"
-msgid "Unit"
-msgstr "Unité"
+msgid "Camera closer\\Moves the camera forward"
+msgstr "Caméra plus proche\\Avance la caméra"
-msgid "Resolution"
-msgstr "Résolution"
+msgid "Camera nearest"
+msgstr "Caméra plus proche"
-msgid "Full screen\\Full screen or window mode"
-msgstr "Plein écran\\Plein écran ou fenętré"
+msgid "Camera to left"
+msgstr "Caméra à gauche"
-msgid "Apply changes\\Activates the changed settings"
-msgstr "Appliquer les changements\\Active les changements effectués"
+msgid "Camera to right"
+msgstr "Caméra à droite"
-msgid "Robbie\\Your assistant"
-msgstr "Robbie\\Votre assistant"
+msgid "Can not create this; there are too many objects"
+msgstr "Création impossible; il y a trop d'objets"
-msgid "Shadows\\Shadows on the ground"
-msgstr "Ombres\\Ombres projetées au sol"
+msgid "Can't open file"
+msgstr "Ouverture du fichier impossible"
-msgid "Marks on the ground\\Marks on the ground"
-msgstr "Marques sur le sol\\Marques dessinées sur le sol"
+msgid "Cancel"
+msgstr "Annuler"
-msgid "Dust\\Dust and dirt on bots and buildings"
-msgstr "Salissures\\Salissures des robots et bâtiments"
+msgid "Cancel\\Cancel all changes"
+msgstr "Annuler\\Annuler toutes les modifications"
-msgid "Fog\\Fog"
-msgstr "Brouillard\\Nappes de brouillard"
+msgid "Cancel\\Keep current player name"
+msgstr "Annuler\\Conserver le joueur actuel"
-msgid "Sunbeams\\Sunbeams in the sky"
-msgstr "Rayons du soleil\\Rayons selon l'orientation"
+msgid "Challenges"
+msgstr "Défis"
-msgid "Sky\\Clouds and nebulae"
-msgstr "Ciel\\Ciel et nuages"
+msgid "Challenges\\Programming challenges"
+msgstr "Défis\\Défis de programmation"
-msgid "Planets and stars\\Astronomical objects in the sky"
-msgstr "Plančtes et étoiles\\Motifs mobiles dans le ciel"
+msgid "Change camera\\Switches between onboard camera and following camera"
+msgstr "Changement de caméra\\Autre de point de vue"
-msgid "Dynamic lighting\\Mobile light sources"
-msgstr "Lumičres dynamiques\\Eclairages mobiles"
+msgid "Checkpoint"
+msgstr "Indicateur"
-msgid "Number of particles\\Explosions, dust, reflections, etc."
-msgstr "Quantité de particules\\Explosions, poussičres, reflets, etc."
+msgid "Checkpoint crossed"
+msgstr "Indicateur atteint"
-msgid "Depth of field\\Maximum visibility"
-msgstr "Profondeur de champ\\Distance de vue maximale"
+msgid "Climb\\Increases the power of the jet"
+msgstr "Monter\\Augmenter la puissance du réacteur"
-msgid "Details\\Visual quality of 3D objects"
-msgstr "Détails des objets\\Qualité des objets en 3D"
+msgid "Close"
+msgstr "Fermer"
-msgid "Textures\\Quality of textures "
-msgstr "Qualité des textures\\Qualité des images"
+msgid "Closing bracket missing "
+msgstr "Il manque une parenthèse fermante"
-msgid "Num of decorative objects\\Number of purely ornamental objects"
-msgstr "Nb d'objets décoratifs\\Qualité d'objets non indispensables"
+msgid "Colobot rules!"
+msgstr "Colobot est super!"
-msgid "Particles in the interface\\Steam clouds and sparks in the interface"
-msgstr "Particules dans l'interface\\Pluie de particules"
+msgid "Command line"
+msgstr "Console de commande"
-msgid "Reflections on the buttons \\Shiny buttons"
-msgstr "Reflets sur les boutons\\Boutons brillants"
+msgid "Compass"
+msgstr "Boussole"
-msgid "Help balloons\\Explain the function of the buttons"
-msgstr "Bulles d'aide\\Bulles explicatives"
+msgid "Compilation ok (0 errors)"
+msgstr "Compilation ok (0 erreur)"
-msgid "Film sequences\\Films before and after the missions"
-msgstr "Séquences cinématiques\\Films avant ou aprčs une mission"
+msgid "Compile"
+msgstr "Compiler"
-msgid "Exit film\\Film at the exit of exercises"
-msgstr "Retour animé\\Retour animé dans les exercices"
+msgid "Continue"
+msgstr "Continuer"
-msgid "Friendly fire\\Your shooting can damage your own objects "
-msgstr "Dégâts ŕ soi-męme\\Vos tirs infligent des dommages ŕ vos unités"
+msgid "Continue\\Continue the current mission"
+msgstr "Continuer\\Continuer la mission en cours"
-msgid "Scrolling\\Scrolling when the mouse touches right or left border"
-msgstr ""
-"Défilement dans les bords\\Défilement lorsque la souris touches les bords "
-"gauche ou droite"
+msgid "Continue\\Continue the game"
+msgstr "Continuer\\Continuer de jouer"
-msgid "Mouse inversion X\\Inversion of the scrolling direction on the X axis"
-msgstr ""
-"Inversion souris X\\Inversion de la rotation lorsque la souris touche un bord"
+msgid "Controls\\Keyboard, joystick and mouse settings"
+msgstr "Commandes\\Touches du clavier"
-msgid "Mouse inversion Y\\Inversion of the scrolling direction on the Y axis"
-msgstr ""
-"Inversion souris Y\\Inversion de la rotation lorsque la souris touche un bord"
+msgid "Converts ore to titanium"
+msgstr "Conversion minerai en titanium"
-msgid "Quake at explosions\\The screen shakes at explosions"
-msgstr "Secousses lors d'explosions\\L'écran vibre lors d'une explosion"
+msgid "Copy"
+msgstr "Copier"
-msgid "Mouse shadow\\Gives the mouse a shadow"
-msgstr "Souris ombrée\\Jolie souris avec une ombre"
+msgid "Copy (Ctrl+c)"
+msgstr "Copier (Ctrl+c)"
-msgid "Automatic indent\\When program editing"
-msgstr "Indentation automatique\\Pendant l'édition d'un programme"
+msgid "Ctrl"
+msgstr "Ctrl"
-msgid "Big indent\\Indent 2 or 4 spaces per level defined by braces"
-msgstr "Grande indentation\\Indente avec 2 ou 4 espaces"
+msgid "Current mission saved"
+msgstr "Enregistrement effectué"
-msgid "Access to solutions\\Show program \"4: Solution\" in the exercises"
-msgstr "Accčs aux solutions\\Programme \"4: Solution\" dans les exercices"
+msgid "Customize your appearance"
+msgstr "Personnalisation de votre apparence"
-msgid "Standard controls\\Standard key functions"
-msgstr "Tout réinitialiser\\Remet toutes les touches standards"
+msgid "Cut (Ctrl+x)"
+msgstr "Couper (Ctrl+x)"
-msgid "Turn left\\turns the bot to the left"
-msgstr "Tourner ŕ gauche\\Moteur ŕ gauche"
+msgid "Defense tower"
+msgstr "Tour de défense"
-msgid "Turn right\\turns the bot to the right"
-msgstr "Tourner ŕ droite\\Moteur ŕ droite"
+msgid "Delete"
+msgstr "Détruire"
-msgid "Forward\\Moves forward"
-msgstr "Avancer\\Moteur en avant"
+msgid "Delete player\\Deletes the player from the list"
+msgstr "Supprimer le joueur\\Supprimer le joueur de la liste"
-msgid "Backward\\Moves backward"
-msgstr "Reculer\\Moteur en arričre"
+msgid "Delete\\Deletes the selected file"
+msgstr "Supprimer\\Supprime l'enregistrement sélectionné"
-msgid "Climb\\Increases the power of the jet"
-msgstr "Monter\\Augmenter la puissance du réacteur"
+msgid "Depth of field\\Maximum visibility"
+msgstr "Profondeur de champ\\Distance de vue maximale"
+
+msgid "Derrick"
+msgstr "Derrick"
msgid "Descend\\Reduces the power of the jet"
msgstr "Descendre\\Diminuer la puissance du réacteur"
-msgid "Change camera\\Switches between onboard camera and following camera"
-msgstr "Changement de caméra\\Autre de point de vue"
-
-msgid "Previous object\\Selects the previous object"
-msgstr "Sélection précédente\\Sélectionne l'objet précédent"
-
-msgid ""
-"Standard action\\Standard action of the bot (take/grab, shoot, sniff, etc)"
-msgstr "Action standard\\Action du bouton avec le cadre rouge"
-
-msgid "Camera closer\\Moves the camera forward"
-msgstr "Caméra plus proche\\Avance la caméra"
+msgid "Destroy the building"
+msgstr "Démolit le bâtiment"
-msgid "Camera back\\Moves the camera backward"
-msgstr "Caméra plus loin\\Recule la caméra"
+msgid "Destroyer"
+msgstr "Destructeur"
-msgid "Next object\\Selects the next object"
-msgstr "Sélectionner l'objet suivant\\Sélectionner l'objet suivant"
+msgid "Details\\Visual quality of 3D objects"
+msgstr "Détails des objets\\Qualité des objets en 3D"
-msgid "Select the astronaut\\Selects the astronaut"
-msgstr "Sélectionner le cosmonaute\\Sélectionner le cosmonaute"
+msgid "Developed by :"
+msgstr "Développé par :"
-msgid "Quit\\Quit the current mission or exercise"
-msgstr "Quitter la mission en cours\\Terminer un exercice ou une mssion"
+msgid "Device\\Driver and resolution settings"
+msgstr "Affichage\\Pilote et résolution d'affichage"
-msgid "Instructions\\Shows the instructions for the current mission"
-msgstr "Instructions mission\\Marche ŕ suivre"
+msgid "Dividing by zero"
+msgstr "Division par zéro"
-msgid "Programming help\\Gives more detailed help with programming"
-msgstr "Instructions programmation\\Explication sur la programmation"
+msgid "Do not use in this exercise"
+msgstr "Interdit dans cet exercice"
-msgid "Key word help\\More detailed help about key words"
-msgstr "Instructions mot-clé\\Explication sur le mot-clé"
+msgid "Do you really want to destroy the selected building?"
+msgstr "Voulez-vous vraiment détruire le bâtiment sélectionné ?"
-msgid "Origin of last message\\Shows where the last message was sent from"
-msgstr "Montrer le lieu d'un message\\Montrer le lieu du dernier message"
+#, c-format
+msgid "Do you want to delete %s's saved games? "
+msgstr "Voulez-vous détruire les sauvegardes de %s ?"
-msgid "Speed 1.0x\\Normal speed"
-msgstr "Vitesse 1.0x\\Vitesse normale"
+msgid "Do you want to quit COLOBOT ?"
+msgstr "Voulez-vous quitter COLOBOT ?"
-msgid "Speed 1.5x\\1.5 times faster"
-msgstr "Vitesse 1.5x\\Une fois et demi plus rapide"
+msgid "Doors blocked by a robot or another object "
+msgstr "Portes bloquées par un robot ou un objet"
-msgid "Speed 2.0x\\Double speed"
-msgstr "Vitesse 2.0x\\Deux fois plus rapide"
+msgid "Down (\\key gdown;)"
+msgstr "Descend (\\key gdown;)"
-msgid "Speed 3.0x\\Three times faster"
-msgstr "Vitesse 3.0x\\Trois fois plus rapide"
+msgid "Drawer bot"
+msgstr "Robot dessinateur"
-msgid "Sound effects:\\Volume of engines, voice, shooting, etc."
-msgstr "Bruitages :\\Volume des moteurs, voix, etc."
+msgid "Dust\\Dust and dirt on bots and buildings"
+msgstr "Salissures\\Salissures des robots et bâtiments"
-msgid "Background sound :\\Volume of audio tracks on the CD"
-msgstr "Fond sonore :\\Volume des pistes audio du CD"
+msgid "Dynamic lighting\\Mobile light sources"
+msgstr "Lumières dynamiques\\Éclairages mobiles"
-msgid "3D sound\\3D positioning of the sound"
-msgstr "Bruitages 3D\\Positionnement sonore dans l'espace"
+msgid "Edit the selected program"
+msgstr "Édite le programme sélectionné"
-msgid "Lowest\\Minimum graphic quality (highest frame rate)"
-msgstr "Mini\\Qualité minimale (+ rapide)"
+msgid "Egg"
+msgstr "Oeuf"
-msgid "Normal\\Normal graphic quality"
-msgstr "Normal\\Qualité standard"
+msgid "End of block missing"
+msgstr "Il manque la fin du bloc"
-msgid "Highest\\Highest graphic quality (lowest frame rate)"
-msgstr "Maxi\\Haute qualité (+ lent)"
+msgid "Energy deposit (site for power station)"
+msgstr "Emplacement pour station"
-msgid "Mute\\No sound"
-msgstr "Silencieux\\Totalement silencieux"
+msgid "Energy level"
+msgstr "Niveau d'énergie"
-msgid "Normal\\Normal sound volume"
-msgstr "Normal\\Niveaux normaux"
+msgid "Engineer"
+msgstr "Technicien"
-msgid "Use a joystick\\Joystick or keyboard"
-msgstr "Utilise un joystick\\Joystick ou clavier"
+msgid "Error in instruction move"
+msgstr "Déplacement impossible"
-msgid ""
-"Access to solution\\Shows the solution (detailed instructions for missions)"
-msgstr "Accčs ŕ la solution\\Donne la solution"
+msgid "Execute the selected program"
+msgstr "Exécute le programme sélectionné"
-msgid "\\New player name"
-msgstr "\\Nom du joueur ŕ créer"
+msgid "Execute/stop"
+msgstr "Démarrer/stopper"
-msgid "OK\\Choose the selected player"
-msgstr "D'accord\\Choisir le joueur"
+msgid "Exercises\\Programming exercises"
+msgstr "Programmation\\Exercices de programmation"
-msgid "Cancel\\Keep current player name"
-msgstr "Annuler\\Conserver le joueur actuel"
+msgid "Exit film\\Film at the exit of exercises"
+msgstr "Retour animé\\Retour animé dans les exercices"
-msgid "Delete player\\Deletes the player from the list"
-msgstr "Supprimer le joueur\\Supprimer le joueur de la liste"
+msgid "Explosive"
+msgstr "Explosif"
-msgid "Player name"
-msgstr "Nom du joueur"
+msgid "Extend shield (\\key action;)"
+msgstr "Déploie le bouclier (\\key action;)"
-msgid "Save\\Saves the current mission"
-msgstr "Enregistrer\\Enregistrer la mission en cours"
+msgid "Eyeglasses:"
+msgstr "Lunettes :"
-msgid "Load\\Loads the selected mission"
-msgstr "Charger\\Charger la mission sélectionnée"
+msgid "Face type:"
+msgstr "Type de visage :"
-msgid "List of saved missions"
-msgstr "Liste des missions enregistrées"
+msgid "File not open"
+msgstr "Le fichier n'est pas ouvert"
msgid "Filename:"
msgstr "Nom du fichier :"
-msgid "Mission name"
-msgstr "Nom de la mission"
+msgid "Film sequences\\Films before and after the missions"
+msgstr "Séquences cinématiques\\Films avant ou après une mission"
-msgid "Photography"
-msgstr "Vue de la mission"
+msgid "Finish"
+msgstr "But"
-msgid "Delete\\Deletes the selected file"
-msgstr "Supprimer\\Supprime l'enregistrement sélectionné"
+msgid "Fixed mine"
+msgstr "Mine fixe"
-msgid "Appearance\\Choose your appearance"
-msgstr "Aspect\\Choisir votre aspect"
+msgid "Flat ground not large enough"
+msgstr "Sol plat pas assez grand"
-msgid "Standard\\Standard appearance settings"
-msgstr "Standard\\Remet les couleurs standards"
+msgid "Fog\\Fog"
+msgstr "Brouillard\\Nappes de brouillard"
-msgid "Head\\Face and hair"
-msgstr "Tęte\\Visage et cheveux"
+msgid "Folder:"
+msgstr "Dans:"
-msgid "Suit\\Astronaut suit"
-msgstr "Corps\\Combinaison"
+#, c-format
+msgid "Folder: %s"
+msgstr "Dossier: %s"
-msgid "\\Turn left"
-msgstr "\\Rotation ŕ gauche"
+msgid "Font size"
+msgstr "Taille des caractères"
-msgid "\\Turn right"
-msgstr "\\Rotation ŕ droite"
+msgid "Forward"
+msgstr "Page suivante"
-msgid "Red"
-msgstr "Rouge"
+msgid "Forward (\\key up;)"
+msgstr "Avance (\\key up;)"
-msgid "Green"
-msgstr "Vert"
+msgid "Forward\\Moves forward"
+msgstr "Avancer\\Moteur en avant"
-msgid "Blue"
-msgstr "Bleu"
+msgid "Found a site for a derrick"
+msgstr "Emplacement pour derrick trouvé"
-msgid "\\Face 1"
-msgstr "\\Visage 1"
+msgid "Found a site for power station"
+msgstr "Emplacement pour station trouvé"
-msgid "\\Face 4"
-msgstr "\\Visage 4"
+msgid "Found key A (site for derrick)"
+msgstr "Emplacement pour derrick (clé A)"
-msgid "\\Face 3"
-msgstr "\\Visage 3"
+msgid "Found key B (site for derrick)"
+msgstr "Emplacement pour derrick (clé B)"
-msgid "\\Face 2"
-msgstr "\\Visage 2"
+msgid "Found key C (site for derrick)"
+msgstr "Emplacement pour derrick (clé C)"
-msgid "\\No eyeglasses"
-msgstr "\\Pas de lunettes"
+msgid "Found key D (site for derrick)"
+msgstr "Emplacement pour derrick (clé D)"
-msgid "\\Eyeglasses 1"
-msgstr "\\Lunettes 1"
+msgid "Free game"
+msgstr "Jeu libre"
-msgid "\\Eyeglasses 2"
-msgstr "\\Lunettes 2"
+msgid "Free game\\Free game without a specific goal"
+msgstr "Jeu libre\\Jeu libre sans but précis"
-msgid "\\Eyeglasses 3"
-msgstr "\\Lunettes 3"
+msgid "Friendly fire\\Your shooting can damage your own objects "
+msgstr "Dégâts à soi-même\\Vos tirs infligent des dommages à vos unités"
-msgid "\\Eyeglasses 4"
-msgstr "\\Lunettes 4"
+msgid "Full screen\\Full screen or window mode"
+msgstr "Plein écran\\Plein écran ou fenêtré"
-msgid "\\Eyeglasses 5"
-msgstr "\\Lunettes 5"
+msgid "Function already exists"
+msgstr "Cette fonction existe déjà"
-msgid "Previous selection (\\key desel;)"
-msgstr "Sélection précédente (\\key desel;)"
+msgid "Function name missing"
+msgstr "Nom de la fonction attendu"
-msgid "Turn left (\\key left;)"
-msgstr "Tourne ŕ gauche (\\key left;)"
+msgid "Game speed"
+msgstr "Vitesse du jeu"
-msgid "Turn right (\\key right;)"
-msgstr "Tourne ŕ droite (\\key right;)"
+msgid "Game\\Game settings"
+msgstr "Jeu\\Options de jouabilité"
-msgid "Forward (\\key up;)"
-msgstr "Avance (\\key up;)"
+msgid "Gantry crane"
+msgstr "Portique"
-msgid "Backward (\\key down;)"
-msgstr "Recule (\\key down;)"
+#, c-format
+msgid "GetResource event num out of range: %d\n"
+msgstr ""
-msgid "Up (\\key gup;)"
-msgstr "Monte (\\key gup;)"
+msgid "Goto: destination occupied"
+msgstr "Goto: Destination occupée"
-msgid "Down (\\key gdown;)"
-msgstr "Descend (\\key gdown;)"
+msgid "Goto: inaccessible destination"
+msgstr "Chemin introuvable"
msgid "Grab or drop (\\key action;)"
msgstr "Prend ou dépose (\\key action;)"
-msgid "..in front"
-msgstr "..devant"
+msgid "Graphics\\Graphics settings"
+msgstr "Graphique\\Options graphiques"
-msgid "..behind"
-msgstr "..derričre"
+msgid "Green"
+msgstr "Vert"
-msgid "..power cell"
-msgstr "..pile"
+msgid "Green flag"
+msgstr "Drapeau vert"
-msgid "Instructions for the mission (\\key help;)"
-msgstr "Instructions sur la mission (\\key help;)"
+msgid "Ground inappropriate"
+msgstr "Terrain inadapté"
-msgid "Take off to finish the mission"
-msgstr "Décolle pour terminer la mission"
+msgid "Ground not flat enough"
+msgstr "Sol pas assez plat"
-msgid "Build a derrick"
-msgstr "Construit un derrick"
+msgid "Hair color:"
+msgstr "Couleur des cheveux :"
-msgid "Build a power station"
-msgstr "Construit une station"
+msgid "Head\\Face and hair"
+msgstr "Tête\\Visage et cheveux"
-msgid "Build a bot factory"
-msgstr "Construit une fabrique de robots"
+msgid "Help about selected object"
+msgstr "Instructions sur la sélection"
-msgid "Build a repair center"
-msgstr "Construit un centre de réparation"
+msgid "Help balloons\\Explain the function of the buttons"
+msgstr "Bulles d'aide\\Bulles explicatives"
-msgid "Build a converter"
-msgstr "Construit un convertisseur"
+msgid "Highest\\Highest graphic quality (lowest frame rate)"
+msgstr "Maxi\\Haute qualité (+ lent)"
-msgid "Build a defense tower"
-msgstr "Construit une tour"
+msgid "Home"
+msgstr "Page initiale"
-msgid "Build a research center"
-msgstr "Construit un centre de recherches"
+msgid "Houston Mission Control"
+msgstr "Centre de contrôle"
-msgid "Build a radar station"
-msgstr "Construit un radar"
+msgid "Illegal object"
+msgstr "Objet inaccessible"
-msgid "Build a power cell factory"
-msgstr "Construit une fabrique de piles"
+msgid "Impossible under water"
+msgstr "Impossible sous l'eau"
-msgid "Build an autolab"
-msgstr "Construit un laboratoire"
+msgid "Impossible when carrying an object"
+msgstr "Impossible en portant un objet"
-msgid "Build a nuclear power plant"
-msgstr "Construit une centrale nucléaire"
+msgid "Impossible when flying"
+msgstr "Impossible en vol"
-msgid "Build a lightning conductor"
-msgstr "Construit un paratonnerre"
+msgid "Impossible when moving"
+msgstr "Impossible en mouvement"
-msgid "Build a exchange post"
-msgstr "Construit une borne d'information"
+msgid "Impossible when swimming"
+msgstr "Impossible en nageant"
-msgid "Show if the ground is flat"
-msgstr "Montre si le sol est plat"
+msgid "Inappropriate bot"
+msgstr "Robot inadapté"
-msgid "Plant a flag"
-msgstr "Pose un drapeau de couleur"
+msgid "Inappropriate cell type"
+msgstr "Pas le bon type de pile"
-msgid "Remove a flag"
-msgstr "Enlčve un drapeau"
+msgid "Incorrect index type"
+msgstr "Mauvais type d'index"
-msgid "\\Blue flags"
-msgstr "\\Drapeaux bleus"
+msgid "Infected by a virus; temporarily out of order"
+msgstr "Infecté par un virus; ne fonctionne plus temporairement"
-msgid "\\Red flags"
-msgstr "\\Drapeaux rouges"
+msgid "Information exchange post"
+msgstr "Borne d'information"
-msgid "\\Green flags"
-msgstr "\\Drapeaux verts"
+msgid "Instruction \"break\" outside a loop"
+msgstr "Instruction \"break\" en dehors d'une boucle"
-msgid "\\Yellow flags"
-msgstr "\\Drapeaux jaunes"
+msgid "Instruction \"case\" missing"
+msgstr "Manque une instruction \"case\""
-msgid "\\Violet flags"
-msgstr "\\Drapeaux violets"
+msgid "Instruction \"case\" outside a block \"switch\""
+msgstr "Instruction \"case\" hors d'un bloc \"switch\""
-msgid "Build a winged grabber"
-msgstr "Fabrique un déménageur volant"
+msgid "Instruction \"else\" without corresponding \"if\" "
+msgstr "Instruction \"else\" sans \"if\" correspondant"
-msgid "Build a tracked grabber"
-msgstr "Fabrique un déménageur ŕ chenilles"
+msgid "Instructions (\\key help;)"
+msgstr "Instructions (\\key help;)"
-msgid "Build a wheeled grabber"
-msgstr "Fabrique un déménageur ŕ roues"
+msgid "Instructions after the final closing brace"
+msgstr "Instructions après la fin"
-msgid "Build a legged grabber"
-msgstr "Fabrique un déménageur ŕ pattes"
+msgid "Instructions for the mission (\\key help;)"
+msgstr "Instructions sur la mission (\\key help;)"
-msgid "Build a winged shooter"
-msgstr "Fabrique un shooter volant"
+msgid "Instructions from Houston"
+msgstr "Instructions de Houston"
-msgid "Build a tracked shooter"
-msgstr "Fabrique un shooter ŕ chenilles"
+msgid "Instructions\\Shows the instructions for the current mission"
+msgstr "Instructions mission\\Marche à suivre"
-msgid "Build a wheeled shooter"
-msgstr "Fabrique un shooter ŕ roues"
+msgid "Jet temperature"
+msgstr "Température du réacteur"
-msgid "Build a legged shooter"
-msgstr "Fabrique un shooter ŕ pattes"
+msgid "Key A"
+msgstr "Clé A"
-msgid "Build a winged orga shooter"
-msgstr "Fabrique un orgaShooter volant"
+msgid "Key B"
+msgstr "Clé B"
-msgid "Build a tracked orga shooter"
-msgstr "Fabrique un orgaShooter ŕ chenilles"
+msgid "Key C"
+msgstr "Clé C"
-msgid "Build a wheeled orga shooter"
-msgstr "Fabrique un orgaShooter ŕ roues"
+msgid "Key D"
+msgstr "Clé D"
-msgid "Build a legged orga shooter"
-msgstr "Fabrique un orgaShooter ŕ pattes"
+msgid "Key word help\\More detailed help about key words"
+msgstr "Instructions mot-clé\\Explication sur le mot-clé"
-msgid "Build a winged sniffer"
-msgstr "Fabrique un renifleur volant"
+msgid "Keyword \"while\" missing"
+msgstr "Manque le mot \"while\""
-msgid "Build a tracked sniffer"
-msgstr "Fabrique un renifleur ŕ chenilles"
+msgid "Keyword help(\\key cbot;)"
+msgstr "Aide sur le mot-clé (\\key cbot;)"
-msgid "Build a wheeled sniffer"
-msgstr "Fabrique un renifleur ŕ roues"
+msgid "LOADING"
+msgstr "CHARGEMENT"
-msgid "Build a legged sniffer"
-msgstr "Fabrique un renifleur ŕ pattes"
+msgid "Legged grabber"
+msgstr "Robot déménageur"
-msgid "Build a thumper"
-msgstr "Fabrique un robot secoueur"
+msgid "Legged orga shooter"
+msgstr "Robot orgaShooter"
-msgid "Build a phazer shooter"
-msgstr "Fabrique un robot phazer"
+msgid "Legged shooter"
+msgstr "Robot shooter"
-msgid "Build a recycler"
-msgstr "Fabrique un robot recycleur"
+msgid "Legged sniffer"
+msgstr "Robot renifleur"
-msgid "Build a shielder"
-msgstr "Fabrique un robot bouclier"
+msgid "Lightning conductor"
+msgstr "Paratonnerre"
-msgid "Build a subber"
-msgstr "Fabrique un robot sous-marin"
+msgid "List of objects"
+msgstr "Liste des objets"
-msgid "Run research program for tracked bots"
-msgstr "Recherche les chenilles"
+msgid "List of saved missions"
+msgstr "Liste des missions enregistrées"
-msgid "Run research program for winged bots"
-msgstr "Recherche les robots volants"
+msgid "Load a saved mission"
+msgstr "Chargement d'une mission enregistrée"
-msgid "Run research program for thumper"
-msgstr "Recherche le secoueur"
+msgid "Load\\Load a saved mission"
+msgstr "Charger\\Charger une mission enregistrée"
-msgid "Run research program for shooter"
-msgstr "Recherche le canon shooter"
+msgid "Load\\Loads the selected mission"
+msgstr "Charger\\Charger la mission sélectionnée"
-msgid "Run research program for defense tower"
-msgstr "Recherche la tour de défense"
+msgid "Lowest\\Minimum graphic quality (highest frame rate)"
+msgstr "Mini\\Qualité minimale (+ rapide)"
-msgid "Run research program for phazer shooter"
-msgstr "Recherche le canon phazer"
+msgid "Lunar Roving Vehicle"
+msgstr "Lunar Roving Vehicle"
-msgid "Run research program for shielder"
-msgstr "Recherche le bouclier"
+msgid "Marks on the ground\\Marks on the ground"
+msgstr "Marques sur le sol\\Marques dessinées sur le sol"
-msgid "Run research program for nuclear power"
-msgstr "Recherche le nucléaire"
+msgid "Maximize"
+msgstr "Taille maximale"
-msgid "Run research program for legged bots"
-msgstr "Recherche les pattes"
+msgid "Menu (\\key quit;)"
+msgstr "Menu (\\key quit;)"
-msgid "Run research program for orga shooter"
-msgstr "Recherche le canon orgaShooter"
+msgid "Minimize"
+msgstr "Taille réduite"
-msgid "Return to start"
-msgstr "Remet au départ"
+msgid "Mission name"
+msgstr "Nom de la mission"
-msgid "Sniff (\\key action;)"
-msgstr "Cherche (\\key action;)"
+msgid "Missions"
+msgstr "Missions"
-msgid "Thump (\\key action;)"
-msgstr "Secoue (\\key action;)"
+msgid "Missions\\Select mission"
+msgstr "Missions\\La grande aventure"
-msgid "Shoot (\\key action;)"
-msgstr "Tir (\\key action;)"
+msgid "Mouse inversion X\\Inversion of the scrolling direction on the X axis"
+msgstr ""
+"Inversion souris X\\Inversion de la rotation lorsque la souris touche un bord"
-msgid "Recycle (\\key action;)"
-msgstr "Recycle (\\key action;)"
+msgid "Mouse inversion Y\\Inversion of the scrolling direction on the Y axis"
+msgstr ""
+"Inversion souris Y\\Inversion de la rotation lorsque la souris touche un bord"
-msgid "Extend shield (\\key action;)"
-msgstr "Déploie le bouclier (\\key action;)"
+msgid "Mouse shadow\\Gives the mouse a shadow"
+msgstr "Souris ombrée\\Jolie souris avec une ombre"
-msgid "Withdraw shield (\\key action;)"
-msgstr "Stoppe le bouclier (\\key action;)"
+msgid "Mute\\No sound"
+msgstr "Silencieux\\Totalement silencieux"
-msgid "Shield radius"
-msgstr "Rayon du bouclier"
+msgid "Name:"
+msgstr "Nom:"
-msgid "Execute the selected program"
-msgstr "Exécute le programme sélectionné"
+msgid "Negative value rejected by \"throw\""
+msgstr "Valeur négative refusée pour \"throw\""
-msgid "Edit the selected program"
-msgstr "Edite le programme sélectionné"
+msgid "Nest"
+msgstr "Nid"
-msgid "\\SatCom on standby"
-msgstr "\\Mettre le SatCom en veille"
+msgid "New"
+msgstr "Nouveau"
-msgid "Destroy the building"
-msgstr "Démolit le bâtiment"
+msgid "New ..."
+msgstr "Nouveau ..."
-msgid "Energy level"
-msgstr "Niveau d'énergie"
+msgid "New bot available"
+msgstr "Nouveau robot disponible"
-msgid "Shield level"
-msgstr "Niveau du bouclier"
+msgid "New player\\Choose player's name"
+msgstr "Autre joueur\\Choix du nom du joueur"
-msgid "Jet temperature"
-msgstr "Température du réacteur"
+msgid "Next"
+msgstr "Suivant"
-msgid "Still working ..."
-msgstr "Travail en cours ..."
+msgid "Next object\\Selects the next object"
+msgstr "Sélectionner l'objet suivant\\Sélectionner l'objet suivant"
-msgid "Number of insects detected"
-msgstr "Nombre d'insectes détectés"
+msgid "No energy in the subsoil"
+msgstr "Pas d'énergie en sous-sol"
-msgid "Transmitted information"
-msgstr "Informations diffusées"
+msgid "No flag nearby"
+msgstr "Aucun drapeau à proximité"
-msgid "Compass"
-msgstr "Boussole"
+msgid "No function running"
+msgstr "Pas de fonction en exécution"
-msgid "Mini-map"
-msgstr "Mini-carte"
+msgid "No function with this name accepts this kind of parameter"
+msgstr "Aucune fonction de ce nom n'accepte ce(s) type(s) de paramètre(s)"
-msgid "Zoom mini-map"
-msgstr "Zoom mini-carte"
+msgid "No function with this name accepts this number of parameters"
+msgstr "Aucune fonction de ce nom n'accepte ce nombre de paramètres"
-msgid "Camera (\\key camera;)"
-msgstr "Caméra (\\key camera;)"
+msgid "No information exchange post within range"
+msgstr "Pas trouvé de borne d'information"
-msgid "Camera to left"
-msgstr "Caméra ŕ gauche"
+msgid "No more energy"
+msgstr "Plus d'énergie"
-msgid "Camera to right"
-msgstr "Caméra ŕ droite"
+msgid "No ore in the subsoil"
+msgstr "Pas de minerai en sous-sol"
-msgid "Camera nearest"
-msgstr "Caméra plus proche"
+msgid "No other robot"
+msgstr "Pas d'autre robot"
-msgid "Camera awayest"
-msgstr "Caméra plus loin"
+msgid "No power cell"
+msgstr "Pas de pile"
-msgid "Help about selected object"
-msgstr "Instructions sur la sélection"
+msgid "No titanium"
+msgstr "Pas de titanium"
-msgid "Show the solution"
-msgstr "Donne la solution"
+msgid "No titanium around"
+msgstr "Titanium inexistant"
-msgid "Switch bots <-> buildings"
-msgstr "Permute robots <-> bâtiments"
+msgid "No titanium ore to convert"
+msgstr "Pas de minerai de titanium à convertir"
-msgid "Show the range"
-msgstr "Montre le rayon d'action"
+msgid "No titanium to transform"
+msgstr "Pas de titanium à transformer"
-msgid "\\Raise the pencil"
-msgstr "\\Relčve le crayon"
+msgid "No uranium to transform"
+msgstr "Pas d'uranium à transformer"
-msgid "\\Use the black pencil"
-msgstr "\\Abaisse le crayon noir"
+msgid "Normal size"
+msgstr "Taille normale"
-msgid "\\Use the yellow pencil"
-msgstr "\\Abaisse le crayon jaune"
+msgid "Normal\\Normal graphic quality"
+msgstr "Normal\\Qualité standard"
-msgid "\\Use the orange pencil"
-msgstr "\\Abaisse le crayon orange"
+msgid "Normal\\Normal sound volume"
+msgstr "Normal\\Niveaux normaux"
-msgid "\\Use the red pencil"
-msgstr "\\Abaisse le crayon rouge"
+msgid "Not enough energy"
+msgstr "Pas assez d'énergie"
-msgid "\\Use the purple pencil"
-msgstr "\\Abaisse le crayon violet"
+msgid "Not enough energy yet"
+msgstr "Pas encore assez d'énergie"
-msgid "\\Use the blue pencil"
-msgstr "\\Abaisse le crayon bleu"
+msgid "Not yet enough energy"
+msgstr "Pas encore assez d'énergie"
-msgid "\\Use the green pencil"
-msgstr "\\Abaisse le crayon vert"
+msgid "Nothing to analyze"
+msgstr "Rien à analyser"
-msgid "\\Use the brown pencil"
-msgstr "\\Abaisse le crayon brun"
+msgid "Nothing to drop"
+msgstr "Rien à déposer"
-msgid "\\Start recording"
-msgstr "\\Démarre l'enregistrement"
+msgid "Nothing to grab"
+msgstr "Rien à prendre"
-msgid "\\Stop recording"
-msgstr "\\Stoppe l'enregistrement"
+msgid "Nothing to recycle"
+msgstr "Rien à recycler"
-msgid "Show the place"
-msgstr "Montre l'endroit"
+msgid "Nuclear power cell"
+msgstr "Pile nucléaire"
-msgid "Continue"
-msgstr "Continuer"
+msgid "Nuclear power cell available"
+msgstr "Pile nucléaire disponible"
-msgid "Command line"
-msgstr "Console de commande"
+msgid "Nuclear power station"
+msgstr "Centrale nucléaire"
-msgid "Game speed"
-msgstr "Vitesse du jeu"
+msgid "Num of decorative objects\\Number of purely ornamental objects"
+msgstr "Nb d'objets décoratifs\\Qualité d'objets non indispensables"
-msgid "Back"
-msgstr "Page précédente"
+msgid "Number missing"
+msgstr "Un nombre est attendu"
-msgid "Forward"
-msgstr "Page suivante"
+msgid "Number of insects detected"
+msgstr "Nombre d'insectes détectés"
-msgid "Home"
-msgstr "Page initiale"
+msgid "Number of particles\\Explosions, dust, reflections, etc."
+msgstr "Quantité de particules\\Explosions, poussières, reflets, etc."
-msgid "Copy"
-msgstr "Copier"
+msgid "OK"
+msgstr "D'accord"
-msgid "Size 1"
-msgstr "Taille 1"
+msgid "OK\\Choose the selected player"
+msgstr "D'accord\\Choisir le joueur"
-msgid "Size 2"
-msgstr "Taille 2"
+msgid "OK\\Close program editor and return to game"
+msgstr "D'accord\\Compiler le programme"
-msgid "Size 3"
-msgstr "Taille 3"
+msgid "Object not found"
+msgstr "Objet n'existe pas"
-msgid "Size 4"
-msgstr "Taille 4"
+msgid "Object too close"
+msgstr "Objet trop proche"
-msgid "Size 5"
-msgstr "Taille 5"
+msgid "One step"
+msgstr "Un pas"
-msgid "Instructions from Houston"
-msgstr "Instructions de Houston"
+msgid "Open"
+msgstr "Ouvrir"
-msgid "Dictionnary"
-msgstr "Dictionnaire anglais-français"
+msgid "Open (Ctrl+o)"
+msgstr "Ouvrir (Ctrl+o)"
-msgid "Satellite report"
-msgstr "Rapport du satellite"
+msgid "Opening brace missing "
+msgstr "Début d'un bloc attendu"
-msgid "Programs dispatched by Houston"
-msgstr "Programmes envoyés par Houston"
+msgid "Opening bracket missing"
+msgstr "Il manque une parenthèse ouvrante"
-msgid "List of objects"
-msgstr "Liste des objets"
+msgid "Operation impossible with value \"nan\""
+msgstr "Opération sur un \"nan\""
-msgid "Programming help"
-msgstr "Aide ŕ la programmation"
+msgid "Options"
+msgstr "Options"
-msgid "Solution"
-msgstr "Solution"
+msgid "Options\\Preferences"
+msgstr "Options\\Réglages"
-msgid "OK\\Close program editor and return to game"
-msgstr "D'accord\\Compiler le programme"
+msgid "Organic matter"
+msgstr "Matière organique"
-msgid "Cancel\\Cancel all changes"
-msgstr "Annuler\\Annuler toutes les modifications"
+msgid "Origin of last message\\Shows where the last message was sent from"
+msgstr "Montrer le lieu d'un message\\Montrer le lieu du dernier message"
-msgid "Open (Ctrl+o)"
-msgstr "Ouvrir (Ctrl+o)"
+msgid "Parameters missing "
+msgstr "Pas assez de paramètres"
-msgid "Save (Ctrl+s)"
-msgstr "Enregistrer (Ctrl+s)"
+msgid "Particles in the interface\\Steam clouds and sparks in the interface"
+msgstr "Particules dans l'interface\\Pluie de particules"
-msgid "Undo (Ctrl+z)"
-msgstr "Annuler (Ctrl+z)"
+msgid "Paste (Ctrl+v)"
+msgstr "Coller (Ctrl+v)"
-msgid "Cut (Ctrl+x)"
-msgstr "Couper (Ctrl+x)"
+msgid "Pause/continue"
+msgstr "Pause/continuer"
-msgid "Copy (Ctrl+c)"
-msgstr "Copier (Ctrl+c)"
+msgid "Phazer shooter"
+msgstr "Robot phazer"
-msgid "Paste (Ctrl+v)"
-msgstr "Coller (Ctrl+v)"
+msgid "Photography"
+msgstr "Vue de la mission"
-msgid "Font size"
-msgstr "Taille des caractčres"
+msgid "Place occupied"
+msgstr "Emplacement occupé"
-msgid "Instructions (\\key help;)"
-msgstr "Instructions (\\key help;)"
+msgid "Planets and stars\\Astronomical objects in the sky"
+msgstr "Planètes et étoiles\\Motifs mobiles dans le ciel"
-msgid "Programming help (\\key prog;)"
-msgstr "Aide ŕ la programmation (\\key prog;)"
+msgid "Plans for defense tower available"
+msgstr "Construction d'une tour de défense possible"
-msgid "Compile"
-msgstr "Compiler"
+msgid "Plans for nuclear power plant available"
+msgstr "Construction d'une centrale nucléaire possible"
-msgid "Execute/stop"
-msgstr "Démarrer/stopper"
+msgid "Plans for phazer shooter available"
+msgstr "Fabrication d'un robot phazer possible"
-msgid "Pause/continue"
-msgstr "Pause/continuer"
+msgid "Plans for shielder available"
+msgstr "Fabrication d'un robot bouclier possible"
-msgid "One step"
-msgstr "Un pas"
+msgid "Plans for shooter available"
+msgstr "Fabrication de robots shooter possible"
-msgid "Gantry crane"
-msgstr "Portique"
+msgid "Plans for thumper available"
+msgstr "Fabrication d'un robot secoueur possible"
-msgid "Spaceship"
-msgstr "Vaisseau spatial"
+msgid "Plans for tracked robots available "
+msgstr "Fabrication d'un robot à chenilles possible"
-msgid "Derrick"
-msgstr "Derrick"
+msgid "Plant a flag"
+msgstr "Pose un drapeau de couleur"
-msgid "Bot factory"
-msgstr "Fabrique de robots"
+msgid "Play\\Start mission!"
+msgstr "Jouer ...\\Démarrer l'action!"
-msgid "Repair center"
-msgstr "Centre de réparation"
+msgid "Player"
+msgstr "Joueur"
-msgid "Destroyer"
-msgstr "Destructeur"
+msgid "Player name"
+msgstr "Nom du joueur"
-msgid "Power station"
-msgstr "Station de recharge"
+msgid "Player's name"
+msgstr "Nom du joueur"
-msgid "Converts ore to titanium"
-msgstr "Conversion minerai en titanium"
+msgid "Power cell"
+msgstr "Pile normale"
-msgid "Defense tower"
-msgstr "Tour de défense"
+msgid "Power cell available"
+msgstr "Pile disponible"
-msgid "Nest"
-msgstr "Nid"
+msgid "Power cell factory"
+msgstr "Fabrique de piles"
-msgid "Research center"
-msgstr "Centre de recherches"
+msgid "Power station"
+msgstr "Station de recharge"
-msgid "Radar station"
-msgstr "Radar"
+msgid "Practice bot"
+msgstr "Robot d'entraînement"
-msgid "Information exchange post"
-msgstr "Borne d'information"
+msgid "Press \\key help; to read instructions on your SatCom"
+msgstr "Consultez votre SatCom en appuyant sur \\key help;"
-msgid "Disintegrator"
-msgstr "Désintégrateur"
+msgid "Previous"
+msgstr "Précédent"
-msgid "Power cell factory"
-msgstr "Fabrique de piles"
+msgid "Previous object\\Selects the previous object"
+msgstr "Sélection précédente\\Sélectionne l'objet précédent"
-msgid "Autolab"
-msgstr "Laboratoire de matičres organiques"
+msgid "Previous selection (\\key desel;)"
+msgstr "Sélection précédente (\\key desel;)"
-msgid "Nuclear power station"
-msgstr "Centrale nucléaire"
+msgid "Private element"
+msgstr "Elément protégé"
-msgid "Lightning conductor"
-msgstr "Paratonnerre"
+msgid "Private\\Private folder"
+msgstr "Privé\\Dossier privé"
-msgid "Vault"
-msgstr "Coffre-fort"
+msgid "Program editor"
+msgstr "Edition du programme"
-msgid "Houston Mission Control"
-msgstr "Centre de contrôle"
+msgid "Program finished"
+msgstr "Programme terminé"
-msgid "Target"
-msgstr "Cible"
+msgid "Program infected by a virus"
+msgstr "Un programme est infecté par un virus"
-msgid "Start"
-msgstr "Départ"
+msgid "Programming exercises"
+msgstr "Programmation"
-msgid "Finish"
-msgstr "But"
+msgid "Programming help"
+msgstr "Aide à la programmation"
-msgid "Titanium ore"
-msgstr "Minerai de titanium"
+msgid "Programming help (\\key prog;)"
+msgstr "Aide à la programmation (\\key prog;)"
-msgid "Uranium ore"
-msgstr "Minerai d'uranium"
+msgid "Programming help\\Gives more detailed help with programming"
+msgstr "Instructions programmation\\Explication sur la programmation"
-msgid "Organic matter"
-msgstr "Matičre organique"
+msgid "Programs dispatched by Houston"
+msgstr "Programmes envoyés par Houston"
-msgid "Titanium"
-msgstr "Titanium"
+msgid "Proto\\Prototypes under development"
+msgstr "Proto\\Prototypes en cours d'élaboration"
-msgid "Power cell"
-msgstr "Pile normale"
+msgid "Prototypes"
+msgstr "Prototypes"
-msgid "Nuclear power cell"
-msgstr "Pile nucléaire"
+msgid "Public required"
+msgstr "Public requis"
-msgid "Black box"
-msgstr "Boîte noire"
+msgid "Public\\Common folder"
+msgstr "Public\\Dossier commun à tous les joueurs"
-msgid "Key A"
-msgstr "Clé A"
+msgid "Quake at explosions\\The screen shakes at explosions"
+msgstr "Secousses lors d'explosions\\L'écran vibre lors d'une explosion"
-msgid "Key B"
-msgstr "Clé B"
+msgid "Quit the mission?"
+msgstr "Quitter la mission ?"
-msgid "Key C"
-msgstr "Clé C"
+msgid "Quit\\Quit COLOBOT"
+msgstr "Quitter\\Quitter COLOBOT"
-msgid "Key D"
-msgstr "Clé D"
+msgid "Quit\\Quit the current mission or exercise"
+msgstr "Quitter la mission en cours\\Terminer un exercice ou une mssion"
-msgid "Explosive"
-msgstr "Explosif"
+msgid "Radar station"
+msgstr "Radar"
-msgid "Fixed mine"
-msgstr "Mine fixe"
+msgid "Read error"
+msgstr "Erreur à la lecture"
-msgid "Survival kit"
-msgstr "Sac de survie"
+msgid "Recorder"
+msgstr "Enregistreur"
-msgid "Checkpoint"
-msgstr "Indicateur"
+msgid "Recycle (\\key action;)"
+msgstr "Recycle (\\key action;)"
-msgid "Blue flag"
-msgstr "Drapeau bleu"
+msgid "Recycler"
+msgstr "Robot recycleur"
+
+msgid "Red"
+msgstr "Rouge"
msgid "Red flag"
msgstr "Drapeau rouge"
-msgid "Green flag"
-msgstr "Drapeau vert"
+msgid "Reflections on the buttons \\Shiny buttons"
+msgstr "Reflets sur les boutons\\Boutons brillants"
-msgid "Yellow flag"
-msgstr "Drapeau jaune"
+msgid "Remains of Apollo mission"
+msgstr "Vestige d'une mission Apollo"
-msgid "Violet flag"
-msgstr "Drapeau violet"
+msgid "Remove a flag"
+msgstr "Enlève un drapeau"
-msgid "Energy deposit (site for power station)"
-msgstr "Emplacement pour station"
+msgid "Repair center"
+msgstr "Centre de réparation"
-msgid "Uranium deposit (site for derrick)"
-msgstr "Emplacement pour derrick (uranium)"
+msgid "Research center"
+msgstr "Centre de recherches"
-msgid "Found key A (site for derrick)"
-msgstr "Emplacement pour derrick (clé A)"
+msgid "Research program already performed"
+msgstr "Recherche déjà effectuée"
-msgid "Found key B (site for derrick)"
-msgstr "Emplacement pour derrick (clé B)"
+msgid "Research program completed"
+msgstr "Recherche terminée"
-msgid "Found key C (site for derrick)"
-msgstr "Emplacement pour derrick (clé C)"
+msgid "Reserved keyword of CBOT language"
+msgstr "Ce mot est réservé"
-msgid "Found key D (site for derrick)"
-msgstr "Emplacement pour derrick (clé D)"
+msgid "Resolution"
+msgstr "Résolution"
-msgid "Titanium deposit (site for derrick)"
-msgstr "Emplacement pour derrick (titanium)"
+msgid "Restart\\Restart the mission from the beginning"
+msgstr "Recommencer\\Recommencer la mission au début"
-msgid "Practice bot"
-msgstr "Robot d'entraînement"
+msgid "Return to start"
+msgstr "Remet au départ"
-msgid "Winged grabber"
-msgstr "Robot déménageur"
+msgid "Robbie"
+msgstr "Robbie"
-msgid "Tracked grabber"
-msgstr "Robot déménageur"
+msgid "Robbie\\Your assistant"
+msgstr "Robbie\\Votre assistant"
-msgid "Wheeled grabber"
-msgstr "Robot déménageur"
+msgid "Ruin"
+msgstr "Bâtiment en ruine"
-msgid "Legged grabber"
-msgstr "Robot déménageur"
+msgid "Run research program for defense tower"
+msgstr "Recherche la tour de défense"
-msgid "Winged shooter"
-msgstr "Robot shooter"
+msgid "Run research program for legged bots"
+msgstr "Recherche les pattes"
-msgid "Tracked shooter"
-msgstr "Robot shooter"
+msgid "Run research program for nuclear power"
+msgstr "Recherche le nucléaire"
-msgid "Wheeled shooter"
-msgstr "Robot shooter"
+msgid "Run research program for orga shooter"
+msgstr "Recherche le canon orgaShooter"
-msgid "Legged shooter"
-msgstr "Robot shooter"
+msgid "Run research program for phazer shooter"
+msgstr "Recherche le canon phazer"
-msgid "Winged orga shooter"
-msgstr "Robot orgaShooter"
+msgid "Run research program for shielder"
+msgstr "Recherche le bouclier"
-msgid "Tracked orga shooter"
-msgstr "Robot orgaShooter"
+msgid "Run research program for shooter"
+msgstr "Recherche le canon shooter"
-msgid "Wheeled orga shooter"
-msgstr "Robot orgaShooter"
+msgid "Run research program for thumper"
+msgstr "Recherche le secoueur"
-msgid "Legged orga shooter"
-msgstr "Robot orgaShooter"
+msgid "Run research program for tracked bots"
+msgstr "Recherche les chenilles"
-msgid "Winged sniffer"
-msgstr "Robot renifleur"
+msgid "Run research program for winged bots"
+msgstr "Recherche les robots volants"
-msgid "Tracked sniffer"
-msgstr "Robot renifleur"
+msgid "SatCom"
+msgstr "SatCom"
-msgid "Wheeled sniffer"
-msgstr "Robot renifleur"
+msgid "Satellite report"
+msgstr "Rapport du satellite"
-msgid "Legged sniffer"
-msgstr "Robot renifleur"
+msgid "Save"
+msgstr "Enregistrer"
-msgid "Thumper"
-msgstr "Robot secoueur"
+msgid "Save (Ctrl+s)"
+msgstr "Enregistrer (Ctrl+s)"
-msgid "Phazer shooter"
-msgstr "Robot phazer"
+msgid "Save the current mission"
+msgstr "Enregistrement de la mission en cours"
-msgid "Recycler"
-msgstr "Robot recycleur"
+msgid "Save\\Save the current mission "
+msgstr "Enregistrer\\Enregistrer la mission en cours"
+
+msgid "Save\\Saves the current mission"
+msgstr "Enregistrer\\Enregistrer la mission en cours"
+
+msgid "Scrolling\\Scrolling when the mouse touches right or left border"
+msgstr ""
+"Défilement dans les bords\\Défilement lorsque la souris touches les bords "
+"gauche ou droite"
+
+msgid "Select the astronaut\\Selects the astronaut"
+msgstr "Sélectionner le cosmonaute\\Sélectionner le cosmonaute"
+
+msgid "Semicolon terminator missing"
+msgstr "Terminateur point-virgule non trouvé"
+
+msgid "Shadows\\Shadows on the ground"
+msgstr "Ombres\\Ombres projetées au sol"
+
+msgid "Shield level"
+msgstr "Niveau du bouclier"
+
+msgid "Shield radius"
+msgstr "Rayon du bouclier"
msgid "Shielder"
msgstr "Robot bouclier"
-msgid "Subber"
-msgstr "Robot sous-marin"
+msgid "Shift"
+msgstr "Shift"
-msgid "Target bot"
-msgstr "Cible d'entraînement"
+msgid "Shoot (\\key action;)"
+msgstr "Tir (\\key action;)"
-msgid "Drawer bot"
-msgstr "Robot dessinateur"
+msgid "Show if the ground is flat"
+msgstr "Montre si le sol est plat"
-msgid "Engineer"
-msgstr "Technicien"
+msgid "Show the place"
+msgstr "Montre l'endroit"
-msgid "Robbie"
-msgstr "Robbie"
+msgid "Show the range"
+msgstr "Montre le rayon d'action"
-msgid "Alien Queen"
-msgstr "Pondeuse"
+msgid "Show the solution"
+msgstr "Donne la solution"
-msgid "Ant"
-msgstr "Fourmi"
+msgid "Sign \" : \" missing"
+msgstr "Séparateur \" : \" attendu"
-msgid "Spider"
-msgstr "Araignée"
+msgid "Size 1"
+msgstr "Taille 1"
-msgid "Wasp"
-msgstr "Guępe"
+msgid "Size 2"
+msgstr "Taille 2"
-msgid "Worm"
-msgstr "Ver"
+msgid "Size 3"
+msgstr "Taille 3"
-msgid "Egg"
-msgstr "Oeuf"
+msgid "Size 4"
+msgstr "Taille 4"
-msgid "Wreckage"
-msgstr "Epave de robot"
+msgid "Size 5"
+msgstr "Taille 5"
-msgid "Ruin"
-msgstr "Bâtiment en ruine"
+msgid "Sky\\Clouds and nebulae"
+msgstr "Ciel\\Ciel et nuages"
-msgid "Waste"
-msgstr "Déchet"
+msgid "Sniff (\\key action;)"
+msgstr "Cherche (\\key action;)"
+
+msgid "Solution"
+msgstr "Solution"
+
+msgid "Sound effects:\\Volume of engines, voice, shooting, etc."
+msgstr "Bruitages :\\Volume des moteurs, voix, etc."
+
+msgid "Sound\\Music and game sound volume"
+msgstr "Son\\Volumes bruitages & musiques"
+
+msgid "Spaceship"
+msgstr "Vaisseau spatial"
msgid "Spaceship ruin"
msgstr "Epave de vaisseau spatial"
-msgid "Remains of Apollo mission"
-msgstr "Vestige d'une mission Apollo"
+msgid "Speed 1.0x\\Normal speed"
+msgstr "Vitesse 1.0x\\Vitesse normale"
-msgid "Lunar Roving Vehicle"
-msgstr "Lunar Roving Vehicle"
+msgid "Speed 1.5x\\1.5 times faster"
+msgstr "Vitesse 1.5x\\Une fois et demi plus rapide"
-msgid "Error"
-msgstr "Erreur"
+msgid "Speed 2.0x\\Double speed"
+msgstr "Vitesse 2.0x\\Deux fois plus rapide"
-msgid "Unknown command"
-msgstr "Commande inconnue"
+msgid "Speed 3.0x\\Three times faster"
+msgstr "Vitesse 3.0x\\Trois fois plus rapide"
-msgid "Inappropriate bot"
-msgstr "Robot inadapté"
+msgid "Spider"
+msgstr "Araignée"
-msgid "Impossible when flying"
-msgstr "Impossible en vol"
+msgid "Spider fatally wounded"
+msgstr "Araignée mortellement touchée"
-msgid "Already carrying something"
-msgstr "Porte déjŕ quelque chose"
+msgid "Stack overflow"
+msgstr "Débordement de la pile"
-msgid "Nothing to grab"
-msgstr "Rien ŕ prendre"
+msgid ""
+"Standard action\\Standard action of the bot (take/grab, shoot, sniff, etc)"
+msgstr "Action standard\\Action du bouton avec le cadre rouge"
-msgid "Impossible when moving"
-msgstr "Impossible en mouvement"
+msgid "Standard controls\\Standard key functions"
+msgstr "Tout réinitialiser\\Remet toutes les touches standards"
-msgid "Place occupied"
-msgstr "Emplacement occupé"
+msgid "Standard\\Standard appearance settings"
+msgstr "Standard\\Remet les couleurs standards"
-msgid "No other robot"
-msgstr "Pas d'autre robot"
+msgid "Start"
+msgstr "Départ"
-msgid "You can not carry a radioactive object"
-msgstr "Vous ne pouvez pas transporter un objet radioactif"
+msgid "Still working ..."
+msgstr "Travail en cours ..."
-msgid "You can not carry an object under water"
-msgstr "Vous ne pouvez pas transporter un objet sous l'eau"
+msgid "String missing"
+msgstr "Une chaîne de caractère est attendue"
-msgid "Nothing to drop"
-msgstr "Rien ŕ déposer"
+msgid "Strip color:"
+msgstr "Couleur des bandes :"
-msgid "Impossible under water"
-msgstr "Impossible sous l'eau"
+msgid "Subber"
+msgstr "Robot sous-marin"
-msgid "Not enough energy"
-msgstr "Pas assez d'énergie"
+msgid "Suit color:"
+msgstr "Couleur de la combinaison :"
-msgid "Titanium too far away"
-msgstr "Titanium trop loin"
+msgid "Suit\\Astronaut suit"
+msgstr "Corps\\Combinaison"
-msgid "Titanium too close"
-msgstr "Titanium trop proche"
+msgid "Sunbeams\\Sunbeams in the sky"
+msgstr "Rayons du soleil\\Rayons selon l'orientation"
-msgid "No titanium around"
-msgstr "Titanium inexistant"
+msgid "Survival kit"
+msgstr "Sac de survie"
-msgid "Ground not flat enough"
-msgstr "Sol pas assez plat"
+msgid "Switch bots <-> buildings"
+msgstr "Permute robots <-> bâtiments"
-msgid "Flat ground not large enough"
-msgstr "Sol plat pas assez grand"
+msgid "Take off to finish the mission"
+msgstr "Décolle pour terminer la mission"
-msgid "Too close to space ship"
-msgstr "Trop proche du vaisseau spatial"
+msgid "Target"
+msgstr "Cible"
-msgid "Too close to a building"
-msgstr "Trop proche d'un bâtiment"
+msgid "Target bot"
+msgstr "Cible d'entraînement"
-msgid "Ground inappropriate"
-msgstr "Terrain inadapté"
+msgid "Textures\\Quality of textures "
+msgstr "Qualité des textures\\Qualité des images"
-msgid "Building too close"
-msgstr "Bâtiment trop proche"
+msgid "The expression must return a boolean value"
+msgstr "L'expression doit ętre un boolean"
-msgid "Object too close"
-msgstr "Objet trop proche"
+msgid "The function returned no value "
+msgstr "La fonction n'a pas retourné de résultat"
-msgid "Nothing to recycle"
-msgstr "Rien ŕ recycler"
+msgid ""
+"The list is only available if a \\l;radar station\\u object\\radar; is "
+"working.\n"
+msgstr "Liste non disponible sans \\l;radar\\u object\\radar;.\n"
-msgid "No more energy"
-msgstr "Plus d'énergie"
+msgid ""
+"The mission is not accomplished yet (press \\key help; for more details)"
+msgstr ""
+"La misssion n'est pas terminée (appuyez sur \\key help; pour plus de détails)"
-msgid "Error in instruction move"
-msgstr "Déplacement impossible"
+msgid "The types of the two operands are incompatible "
+msgstr "Les deux opérandes ne sont pas de types compatibles"
-msgid "Object not found"
-msgstr "Objet n'existe pas"
+msgid "This class already exists"
+msgstr "Cette classe existe déjà"
-msgid "Goto: inaccessible destination"
-msgstr "Chemin introuvable"
+msgid "This class does not exist"
+msgstr "Cette classe n'existe pas"
-msgid "Goto: destination occupied"
-msgstr "Destination occupée"
+msgid "This is not a member of this class"
+msgstr "Cet élément n'existe pas dans cette classe"
-msgid "No titanium ore to convert"
-msgstr "Pas de minerai de titanium ŕ convertir"
+msgid "This label does not exist"
+msgstr "Cette étiquette n'existe pas"
-msgid "No ore in the subsoil"
-msgstr "Pas de minerai en sous-sol"
+msgid "This object is not a member of a class"
+msgstr "L'objet n'est pas une instance d'une classe"
-msgid "No energy in the subsoil"
-msgstr "Pas d'énergie en sous-sol"
+msgid "Thump (\\key action;)"
+msgstr "Secoue (\\key action;)"
-msgid "No power cell"
-msgstr "Pas de pile"
+msgid "Thumper"
+msgstr "Robot secoueur"
-msgid "Inappropriate cell type"
-msgstr "Pas le bon type de pile"
+msgid "Titanium"
+msgstr "Titanium"
-msgid "Research program already performed"
-msgstr "Recherche déjŕ effectuée"
+msgid "Titanium available"
+msgstr "Titanium disponible"
-msgid "Not enough energy yet"
-msgstr "Pas encore assez d'énergie"
+msgid "Titanium deposit (site for derrick)"
+msgstr "Emplacement pour derrick (titanium)"
-msgid "No titanium to transform"
-msgstr "Pas de titanium ŕ transformer"
+msgid "Titanium ore"
+msgstr "Minerai de titanium"
-msgid "Transforms only titanium"
-msgstr "Ne transforme que le titanium"
+msgid "Titanium too close"
+msgstr "Titanium trop proche"
-msgid "Doors blocked by a robot or another object "
-msgstr "Portes bloquées par un robot ou un objet"
+msgid "Titanium too far away"
+msgstr "Titanium trop loin"
-msgid "You must get on the spaceship to take off "
-msgstr "Vous devez embarquer pour pouvoir décoller"
+msgid "Too close to a building"
+msgstr "Trop proche d'un bâtiment"
-msgid "Nothing to analyze"
-msgstr "Rien ŕ analyser"
+msgid "Too close to an existing flag"
+msgstr "Trop proche d'un drapeau existant"
-msgid "Analyzes only organic matter"
-msgstr "N'analyse que la matičre organique"
+msgid "Too close to space ship"
+msgstr "Trop proche du vaisseau spatial"
-msgid "Analysis already performed"
-msgstr "Analyse déjŕ effectuée"
+msgid "Too many flags of this color (maximum 5)"
+msgstr "Trop de drapeaux de cette couleur (maximum 5)"
-msgid "Not yet enough energy"
-msgstr "Pas encore assez d'énergie"
+msgid "Too many parameters"
+msgstr "Trop de paramètres"
-msgid "No uranium to transform"
-msgstr "Pas d'uranium ŕ transformer"
+msgid "Tracked grabber"
+msgstr "Robot déménageur"
-msgid "Transforms only uranium"
-msgstr "Ne transforme que l'uranium"
+msgid "Tracked orga shooter"
+msgstr "Robot orgaShooter"
-msgid "No titanium"
-msgstr "Pas de titanium"
+msgid "Tracked shooter"
+msgstr "Robot shooter"
-msgid "No information exchange post within range"
-msgstr "Pas trouvé de borne d'information"
+msgid "Tracked sniffer"
+msgstr "Robot renifleur"
-msgid "Program infected by a virus"
-msgstr "Un programme est infecté par un virus"
+msgid "Transforms only titanium"
+msgstr "Ne transforme que le titanium"
-msgid "Infected by a virus, temporarily out of order"
-msgstr "Infecté par un virus, ne fonctionne plus temporairement"
+msgid "Transforms only uranium"
+msgstr "Ne transforme que l'uranium"
-msgid "Impossible when swimming"
-msgstr "Impossible en nageant"
+msgid "Transmitted information"
+msgstr "Informations diffusées"
-msgid "Impossible when carrying an object"
-msgstr "Impossible en portant un objet"
+msgid "Turn left (\\key left;)"
+msgstr "Tourne à gauche (\\key left;)"
-msgid "Too many flags of this color (maximum 5)"
-msgstr "Trop de drapeaux de cette couleur (maximum 5)"
+msgid "Turn left\\turns the bot to the left"
+msgstr "Tourner à gauche\\Moteur à gauche"
-msgid "Too close to an existing flag"
-msgstr "Trop proche d'un drapeau existant"
+msgid "Turn right (\\key right;)"
+msgstr "Tourne à droite (\\key right;)"
-msgid "No flag nearby"
-msgstr "Aucun drapeau ŕ proximité"
+msgid "Turn right\\turns the bot to the right"
+msgstr "Tourner à droite\\Moteur à droite"
-msgid ""
-"The mission is not accomplished yet (press \\key help; for more details)"
-msgstr ""
-"La misssion n'est pas terminée (appuyez sur \\key help; pour plus de détails)"
+msgid "Type declaration missing"
+msgstr "Déclaration de type attendu"
-msgid "Bot destroyed"
-msgstr "Robot détruit"
+msgid "Undo (Ctrl+z)"
+msgstr "Annuler (Ctrl+z)"
-msgid "Building destroyed"
-msgstr "Bâtiment détruit"
+msgid "Unit"
+msgstr "Unité"
-msgid "Can not create this, there are too many objects"
-msgstr "Création impossible, il y a trop d'objets"
+msgid "Unknown Object"
+msgstr "Objet n'existe pas"
-msgid "\"%s\" missing in this exercise"
-msgstr "Il manque \"%s\" dans le programme"
+msgid "Unknown command"
+msgstr "Commande inconnue"
-msgid "Do not use in this exercise"
-msgstr "Interdit dans cet exercice"
+msgid "Unknown function"
+msgstr "Routine inconnue"
-msgid "Building completed"
-msgstr "Bâtiment terminé"
+msgid "Up (\\key gup;)"
+msgstr "Monte (\\key gup;)"
-msgid "Titanium available"
-msgstr "Titanium disponible"
+msgid "Uranium deposit (site for derrick)"
+msgstr "Emplacement pour derrick (uranium)"
-msgid "Research program completed"
-msgstr "Recherche terminée"
+msgid "Uranium ore"
+msgstr "Minerai d'uranium"
-msgid "Plans for tracked robots available "
-msgstr "Fabrication d'un robot ŕ chenilles possible"
+msgid "Use a joystick\\Joystick or keyboard"
+msgstr "Utilise un joystick\\Joystick ou clavier"
-msgid "You can fly with the keys (\\key gup;) and (\\key gdown;)"
-msgstr ""
-"Il est possible de voler avec les touches (\\key gup;) et (\\key gdown;)"
+msgid "User levels"
+msgstr "Niveaux supplémentaires"
-msgid "Plans for thumper available"
-msgstr "Fabrication d'un robot secoueur possible"
+msgid "User\\User levels"
+msgstr "Suppl.\\Niveaux supplémentaires"
-msgid "Plans for shooter available"
-msgstr "Fabrication de robots shooter possible"
+msgid "Variable name missing"
+msgstr "Nom d'une variable attendu"
-msgid "Plans for defense tower available"
-msgstr "Construction d'une tour de défense possible"
+msgid "Variable not declared"
+msgstr "Variable non déclarée"
-msgid "Plans for phazer shooter available"
-msgstr "Fabrication d'un robot phazer possible"
+msgid "Variable not initialized"
+msgstr "Variable non initialisée"
-msgid "Plans for shielder available"
-msgstr "Fabrication d'un robot bouclier possible"
+msgid "Vault"
+msgstr "Coffre-fort"
-msgid "Plans for nuclear power plant available"
-msgstr "Construction d'une centrale nucléaire possible"
+msgid "Violet flag"
+msgstr "Drapeau violet"
-msgid "New bot available"
-msgstr "Nouveau robot disponible"
+msgid "Void parameter"
+msgstr "Paramètre void"
-msgid "Analysis performed"
-msgstr "Analyse terminée"
+msgid "Wasp"
+msgstr "Guępe"
-msgid "Power cell available"
-msgstr "Pile disponible"
+msgid "Wasp fatally wounded"
+msgstr "Guępe mortellement touchée"
-msgid "Nuclear power cell available"
-msgstr "Pile nucléaire disponible"
+msgid "Waste"
+msgstr "Déchet"
-msgid "You found a usable object"
-msgstr "Vous avez trouvé un objet utilisable"
+msgid "Wheeled grabber"
+msgstr "Robot déménageur"
-msgid "Found a site for power station"
-msgstr "Emplacement pour station trouvé"
+msgid "Wheeled orga shooter"
+msgstr "Robot orgaShooter"
-msgid "Found a site for a derrick"
-msgstr "Emplacement pour derrick trouvé"
+msgid "Wheeled shooter"
+msgstr "Robot shooter"
-msgid "<<< Well done, mission accomplished >>>"
-msgstr "<<< Bravo, mission terminée >>>"
+msgid "Wheeled sniffer"
+msgstr "Robot renifleur"
-msgid "<<< Sorry, mission failed >>>"
-msgstr "<<< Désolé, mission échouée >>>"
+msgid "Win"
+msgstr "Gagné"
-msgid "Current mission saved"
-msgstr "Enregistrement effectué"
+msgid "Winged grabber"
+msgstr "Robot déménageur"
-msgid "Checkpoint crossed"
-msgstr "Indicateur atteint"
+msgid "Winged orga shooter"
+msgstr "Robot orgaShooter"
-msgid "Alien Queen killed"
-msgstr "Pondeuse mortellement touchée"
+msgid "Winged shooter"
+msgstr "Robot shooter"
-msgid "Ant fatally wounded"
-msgstr "Fourmi mortellement touchée"
+msgid "Winged sniffer"
+msgstr "Robot renifleur"
-msgid "Wasp fatally wounded"
-msgstr "Guępe mortellement touchée"
+msgid "Withdraw shield (\\key action;)"
+msgstr "Stoppe le bouclier (\\key action;)"
+
+msgid "Worm"
+msgstr "Ver"
msgid "Worm fatally wounded"
msgstr "Ver mortellement touché"
-msgid "Spider fatally wounded"
-msgstr "Araignée mortellement touchée"
+msgid "Wreckage"
+msgstr "Epave de robot"
-msgid "Press \\key help; to read instructions on your SatCom"
-msgstr "Consultez votre SatCom en appuyant sur \\key help;"
+msgid "Write error"
+msgstr "Erreur à l'écriture"
-msgid "Opening bracket missing"
-msgstr "Il manque une parenthčse ouvrante"
+msgid "Wrong type for the assignment"
+msgstr "Mauvais type de résultat pour l'assignation"
-msgid "Closing bracket missing "
-msgstr "Il manque une parenthčse fermante"
+msgid "Yellow flag"
+msgstr "Drapeau jaune"
-msgid "The expression must return a boolean value"
-msgstr "L'expression doit ętre un boolean"
+msgid "You can fly with the keys (\\key gup;) and (\\key gdown;)"
+msgstr ""
+"Il est possible de voler avec les touches (\\key gup;) et (\\key gdown;)"
-msgid "Variable not declared"
-msgstr "Variable non déclarée"
+msgid "You can not carry a radioactive object"
+msgstr "Vous ne pouvez pas transporter un objet radioactif"
-msgid "Assignment impossible"
-msgstr "Assignation impossible"
+msgid "You can not carry an object under water"
+msgstr "Vous ne pouvez pas transporter un objet sous l'eau"
-msgid "Semicolon terminator missing"
-msgstr "Terminateur point-virgule non trouvé"
+msgid "You found a usable object"
+msgstr "Vous avez trouvé un objet utilisable"
-msgid "Instruction \"case\" outside a block \"switch\""
-msgstr "Instruction \"case\" hors d'un bloc \"switch\""
+msgid "You must get on the spaceship to take off "
+msgstr "Vous devez embarquer pour pouvoir décoller"
-msgid "Instructions after the final closing brace"
-msgstr "Instructions aprčs la fin"
+msgid "Zoom mini-map"
+msgstr "Zoom mini-carte"
-msgid "End of block missing"
-msgstr "Il manque la fin du bloc"
+msgid "\\Blue flags"
+msgstr "\\Drapeaux bleus"
-msgid "Instruction \"else\" without corresponding \"if\" "
-msgstr "Instruction \"else\" sans \"if\" correspondant"
+msgid "\\Eyeglasses 1"
+msgstr "\\Lunettes 1"
-msgid "Opening brace missing "
-msgstr "Début d'un bloc attendu"
+msgid "\\Eyeglasses 2"
+msgstr "\\Lunettes 2"
-msgid "Wrong type for the assignment"
-msgstr "Mauvais type de résultat pour l'assignation"
+msgid "\\Eyeglasses 3"
+msgstr "\\Lunettes 3"
-msgid "A variable can not be declared twice"
-msgstr "Redéfinition d'une variable"
+msgid "\\Eyeglasses 4"
+msgstr "\\Lunettes 4"
-msgid "The types of the two operands are incompatible "
-msgstr "Les deux opérandes ne sont pas de types compatibles"
+msgid "\\Eyeglasses 5"
+msgstr "\\Lunettes 5"
-msgid "Unknown function"
-msgstr "Routine inconnue"
+msgid "\\Face 1"
+msgstr "\\Visage 1"
-msgid "Sign \" : \" missing"
-msgstr "Séparateur \" : \" attendu"
+msgid "\\Face 2"
+msgstr "\\Visage 2"
-msgid "Keyword \"while\" missing"
-msgstr "Manque le mot \"while\""
+msgid "\\Face 3"
+msgstr "\\Visage 3"
-msgid "Instruction \"break\" outside a loop"
-msgstr "Instruction \"break\" en dehors d'une boucle"
+msgid "\\Face 4"
+msgstr "\\Visage 4"
-msgid "A label must be followed by \"for\", \"while\", \"do\" or \"switch\""
-msgstr ""
-"Un label ne peut se placer que devant un \"for\", un \"while\", un \"do\" ou "
-"un \"switch\""
+msgid "\\Green flags"
+msgstr "\\Drapeaux verts"
-msgid "This label does not exist"
-msgstr "Cette étiquette n'existe pas"
+msgid "\\New player name"
+msgstr "\\Nom du joueur à créer"
-msgid "Instruction \"case\" missing"
-msgstr "Manque une instruction \"case\""
+msgid "\\No eyeglasses"
+msgstr "\\Pas de lunettes"
-msgid "Number missing"
-msgstr "Un nombre est attendu"
+msgid "\\Raise the pencil"
+msgstr "\\Relève le crayon"
-msgid "Void parameter"
-msgstr "Paramčtre void"
+msgid "\\Red flags"
+msgstr "\\Drapeaux rouges"
-msgid "Type declaration missing"
-msgstr "Déclaration de type attendu"
+msgid "\\Return to COLOBOT"
+msgstr "\\Retourner dans COLOBOT"
-msgid "Variable name missing"
-msgstr "Nom d'une variable attendu"
+msgid "\\SatCom on standby"
+msgstr "\\Mettre le SatCom en veille"
-msgid "Function name missing"
-msgstr "Nom de la fonction attendu"
+msgid "\\Start recording"
+msgstr "\\Démarre l'enregistrement"
-msgid "Too many parameters"
-msgstr "Trop de paramčtres"
+msgid "\\Stop recording"
+msgstr "\\Stoppe l'enregistrement"
-msgid "Function already exists"
-msgstr "Cette fonction existe déjŕ"
+msgid "\\Turn left"
+msgstr "\\Rotation à gauche"
-msgid "Parameters missing "
-msgstr "Pas assez de paramčtres"
+msgid "\\Turn right"
+msgstr "\\Rotation à droite"
-msgid "No function with this name accepts this kind of parameter"
-msgstr "Aucune fonction de ce nom n'accepte ce(s) type(s) de paramčtre(s)"
+msgid "\\Use the black pencil"
+msgstr "\\Abaisse le crayon noir"
-msgid "No function with this name accepts this number of parameters"
-msgstr "Aucune fonction de ce nom n'accepte ce nombre de paramčtres"
+msgid "\\Use the blue pencil"
+msgstr "\\Abaisse le crayon bleu"
-msgid "This is not a member of this class"
-msgstr "Cet élément n'existe pas dans cette classe"
+msgid "\\Use the brown pencil"
+msgstr "\\Abaisse le crayon brun"
-msgid "This object is not a member of a class"
-msgstr "L'objet n'est pas une instance d'une classe"
+msgid "\\Use the green pencil"
+msgstr "\\Abaisse le crayon vert"
-msgid "Appropriate constructor missing"
-msgstr "Il n'y a pas de constructeur approprié"
+msgid "\\Use the orange pencil"
+msgstr "\\Abaisse le crayon orange"
-msgid "This class already exists"
-msgstr "Cette classe existe déjŕ"
+msgid "\\Use the purple pencil"
+msgstr "\\Abaisse le crayon violet"
-msgid "\" ] \" missing"
-msgstr "\" ] \" attendu"
+msgid "\\Use the red pencil"
+msgstr "\\Abaisse le crayon rouge"
-msgid "Reserved keyword of CBOT language"
-msgstr "Ce mot est réservé"
+msgid "\\Use the yellow pencil"
+msgstr "\\Abaisse le crayon jaune"
-msgid "Bad argument for \"new\""
-msgstr "Mauvais argument pour \"new\""
+msgid "\\Violet flags"
+msgstr "\\Drapeaux violets"
-msgid "\" [ \" expected"
-msgstr "\" [ \" attendu"
+msgid "\\Yellow flags"
+msgstr "\\Drapeaux jaunes"
-msgid "String missing"
-msgstr "Une chaîne de caractčre est attendue"
+msgid "\\b;Aliens\n"
+msgstr "\\b;Listes des ennemis\n"
-msgid "Incorrect index type"
-msgstr "Mauvais type d'index"
+msgid "\\b;Buildings\n"
+msgstr "\\b;Listes des bâtiments\n"
-msgid "Private element"
-msgstr "Elément protégé"
+msgid "\\b;Error\n"
+msgstr "\\b;Erreur\n"
-msgid "Public required"
-msgstr "Public requis"
+msgid "\\b;List of objects\n"
+msgstr "\\b;Listes des objets\n"
-msgid "Dividing by zero"
-msgstr "Division par zéro"
+msgid "\\b;Moveable objects\n"
+msgstr "\\b;Listes des objets transportables\n"
-msgid "Variable not initialized"
-msgstr "Variable non initialisée"
+msgid "\\b;Robots\n"
+msgstr "\\b;Listes des robots\n"
-msgid "Negative value rejected by \"throw\""
-msgstr "Valeur négative refusée pour \"throw\""
+msgid "\\c; (none)\\n;\n"
+msgstr "\\c; (aucun)\\n;\n"
-msgid "The function returned no value "
-msgstr "La fonction n'a pas retourné de résultat"
+msgid "action;"
+msgstr ""
-msgid "No function running"
-msgstr "Pas de fonction en exécution"
+msgid "away;"
+msgstr ""
-msgid "Calling an unknown function"
-msgstr "Appel d'une fonction inexistante"
+msgid "camera;"
+msgstr ""
-msgid "This class does not exist"
-msgstr "Cette classe n'existe pas"
+msgid "cbot;"
+msgstr ""
-msgid "Unknown Object"
-msgstr "Objet n'existe pas"
+msgid "desel;"
+msgstr ""
-msgid "Operation impossible with value \"nan\""
-msgstr "Opération sur un \"nan\""
+msgid "down;"
+msgstr ""
-msgid "Access beyond array limit"
-msgstr "Accčs hors du tableau"
+msgid "gdown;"
+msgstr ""
-msgid "Stack overflow"
-msgstr "Débordement de la pile"
+msgid "gup;"
+msgstr ""
-msgid "Illegal object"
-msgstr "Objet inaccessible"
+msgid "help;"
+msgstr ""
-msgid "Can't open file"
-msgstr "Ouverture du fichier impossible"
+msgid "human;"
+msgstr ""
-msgid "File not open"
-msgstr "Le fichier n'est pas ouvert"
+msgid "left;"
+msgstr ""
-msgid "Read error"
-msgstr "Erreur ŕ la lecture"
+msgid "near;"
+msgstr ""
-msgid "Write error"
-msgstr "Erreur ŕ l'écriture"
+msgid "next;"
+msgstr ""
-msgid "< none >"
-msgstr "< aucune >"
+msgid "prog;"
+msgstr ""
-msgid "Arrow left"
-msgstr "Flčche Gauche"
+msgid "quit;"
+msgstr ""
-msgid "Arrow right"
-msgstr "Flčche Droite"
+msgid "right;"
+msgstr ""
-msgid "Arrow up"
-msgstr "Flčche Haut"
+msgid "speed10;"
+msgstr ""
-msgid "Arrow down"
-msgstr "Flčche Bas"
+msgid "speed15;"
+msgstr ""
-msgid "Control-break"
-msgstr "Control-break"
+msgid "speed20;"
+msgstr ""
-msgid "<--"
-msgstr "<--"
+msgid "up;"
+msgstr ""
-msgid "Tab"
-msgstr "Tab"
+msgid "visit;"
+msgstr ""
-msgid "Clear"
-msgstr "Clear"
+msgid "www.epsitec.com"
+msgstr "www.epsitec.com"
-msgid "Enter"
-msgstr "Entrée"
+#~ msgid "< none >"
+#~ msgstr "< aucune >"
-msgid "Shift"
-msgstr "Shift"
+#~ msgid "<--"
+#~ msgstr "<--"
-msgid "Ctrl"
-msgstr "Ctrl"
+#~ msgid "Application key"
+#~ msgstr "Application key"
-msgid "Alt"
-msgstr "Alt"
+#~ msgid "Arrow down"
+#~ msgstr "Flèche Bas"
-msgid "Pause"
-msgstr "Pause"
+#~ msgid "Arrow left"
+#~ msgstr "Flèche Gauche"
-msgid "Caps Lock"
-msgstr "Caps Lock"
+#~ msgid "Arrow right"
+#~ msgstr "Flèche Droite"
-msgid "Esc"
-msgstr "Esc"
+#~ msgid "Arrow up"
+#~ msgstr "Flèche Haut"
-msgid "Space"
-msgstr "Espace"
+#~ msgid "Attn"
+#~ msgstr "Attn"
-msgid "Page Up"
-msgstr "Page Up"
+#~ msgid "Caps Lock"
+#~ msgstr "Caps Lock"
-msgid "Page Down"
-msgstr "Page Down"
+#~ msgid "Clear"
+#~ msgstr "Clear"
-msgid "End"
-msgstr "End"
+#~ msgid "Control-break"
+#~ msgstr "Control-break"
-msgid "Home Key"
-msgstr "Home"
+#~ msgid "CrSel"
+#~ msgstr "CrSel"
-msgid "Select"
-msgstr "Select"
+#~ msgid "Delete Key"
+#~ msgstr "Delete"
-msgid "Execute"
-msgstr "Execute"
+#~ msgid "Dictionnary"
+#~ msgstr "Dictionnaire anglais-français"
-msgid "Print Scrn"
-msgstr "Print Scrn"
+#~ msgid "Disintegrator"
+#~ msgstr "Désintégrateur"
-msgid "Insert"
-msgstr "Insert"
+#~ msgid "End"
+#~ msgstr "End"
-msgid "Delete Key"
-msgstr "Delete"
+#~ msgid "Enter"
+#~ msgstr "Entrée"
-msgid "Help"
-msgstr "Help"
+#~ msgid "Erase EOF"
+#~ msgstr "Erase EOF"
-msgid "Left Windows"
-msgstr "Left Windows"
+#~ msgid "Error"
+#~ msgstr "Erreur"
-msgid "Right Windows"
-msgstr "Right Windows"
+#~ msgid "Esc"
+#~ msgstr "Esc"
-msgid "Application key"
-msgstr "Application key"
+#~ msgid "ExSel"
+#~ msgstr "ExSel"
-msgid "NumPad 0"
-msgstr "NumPad 0"
+#~ msgid "Execute"
+#~ msgstr "Execute"
-msgid "NumPad 1"
-msgstr "NumPad 1"
+#~ msgid "F1"
+#~ msgstr "F1"
-msgid "NumPad 2"
-msgstr "NumPad 2"
+#~ msgid "F10"
+#~ msgstr "F10"
-msgid "NumPad 3"
-msgstr "NumPad 3"
+#~ msgid "F11"
+#~ msgstr "F11"
-msgid "NumPad 4"
-msgstr "NumPad 4"
+#~ msgid "F12"
+#~ msgstr "F12"
-msgid "NumPad 5"
-msgstr "NumPad 5"
+#~ msgid "F13"
+#~ msgstr "F13"
-msgid "NumPad 6"
-msgstr "NumPad 6"
+#~ msgid "F14"
+#~ msgstr "F14"
-msgid "NumPad 7"
-msgstr "NumPad 7"
+#~ msgid "F15"
+#~ msgstr "F15"
-msgid "NumPad 8"
-msgstr "NumPad 8"
+#~ msgid "F16"
+#~ msgstr "F16"
-msgid "NumPad 9"
-msgstr "NumPad 9"
+#~ msgid "F17"
+#~ msgstr "F17"
-msgid "NumPad *"
-msgstr "NumPad *"
+#~ msgid "F18"
+#~ msgstr "F18"
-msgid "NumPad +"
-msgstr "NumPad +"
+#~ msgid "F19"
+#~ msgstr "F19"
-msgid "NumPad sep"
-msgstr "NumPad sep"
+#~ msgid "F2"
+#~ msgstr "F2"
-msgid "NumPad -"
-msgstr "NumPad -"
+#~ msgid "F20"
+#~ msgstr "F20"
-msgid "NumPad ."
-msgstr "NumPad ."
+#~ msgid "F3"
+#~ msgstr "F3"
-msgid "NumPad /"
-msgstr "NumPad /"
+#~ msgid "F4"
+#~ msgstr "F4"
-msgid "F1"
-msgstr "F1"
+#~ msgid "F5"
+#~ msgstr "F5"
-msgid "F2"
-msgstr "F2"
+#~ msgid "F6"
+#~ msgstr "F6"
-msgid "F3"
-msgstr "F3"
+#~ msgid "F7"
+#~ msgstr "F7"
-msgid "F4"
-msgstr "F4"
+#~ msgid "F8"
+#~ msgstr "F8"
-msgid "F5"
-msgstr "F5"
+#~ msgid "F9"
+#~ msgstr "F9"
-msgid "F6"
-msgstr "F6"
+#~ msgid "Help"
+#~ msgstr "Help"
-msgid "F7"
-msgstr "F7"
+#~ msgid "Home Key"
+#~ msgstr "Home"
-msgid "F8"
-msgstr "F8"
+#~ msgid "Insert"
+#~ msgstr "Insert"
-msgid "F9"
-msgstr "F9"
+#~ msgid "Left Windows"
+#~ msgstr "Left Windows"
-msgid "F10"
-msgstr "F10"
+#~ msgid "Mini-map"
+#~ msgstr "Mini-carte"
-msgid "F11"
-msgstr "F11"
+#~ msgid "Num Lock"
+#~ msgstr "Num Lock"
-msgid "F12"
-msgstr "F12"
+#~ msgid "NumPad *"
+#~ msgstr "NumPad *"
-msgid "F13"
-msgstr "F13"
+#~ msgid "NumPad +"
+#~ msgstr "NumPad +"
-msgid "F14"
-msgstr "F14"
+#~ msgid "NumPad -"
+#~ msgstr "NumPad -"
-msgid "F15"
-msgstr "F15"
+#~ msgid "NumPad ."
+#~ msgstr "NumPad ."
-msgid "F16"
-msgstr "F16"
+#~ msgid "NumPad /"
+#~ msgstr "NumPad /"
-msgid "F17"
-msgstr "F17"
+#~ msgid "NumPad 0"
+#~ msgstr "NumPad 0"
-msgid "F18"
-msgstr "F18"
+#~ msgid "NumPad 1"
+#~ msgstr "NumPad 1"
-msgid "F19"
-msgstr "F19"
+#~ msgid "NumPad 2"
+#~ msgstr "NumPad 2"
-msgid "F20"
-msgstr "F20"
+#~ msgid "NumPad 3"
+#~ msgstr "NumPad 3"
-msgid "Num Lock"
-msgstr "Num Lock"
+#~ msgid "NumPad 4"
+#~ msgstr "NumPad 4"
-msgid "Scroll"
-msgstr "Scroll"
+#~ msgid "NumPad 5"
+#~ msgstr "NumPad 5"
-msgid "Attn"
-msgstr "Attn"
+#~ msgid "NumPad 6"
+#~ msgstr "NumPad 6"
-msgid "CrSel"
-msgstr "CrSel"
+#~ msgid "NumPad 7"
+#~ msgstr "NumPad 7"
-msgid "ExSel"
-msgstr "ExSel"
+#~ msgid "NumPad 8"
+#~ msgstr "NumPad 8"
-msgid "Erase EOF"
-msgstr "Erase EOF"
+#~ msgid "NumPad 9"
+#~ msgstr "NumPad 9"
-msgid "Play"
-msgstr "Play"
+#~ msgid "NumPad sep"
+#~ msgstr "NumPad sep"
-msgid "Zoom"
-msgstr "Zoom"
+#~ msgid "PA1"
+#~ msgstr "PA1"
-msgid "PA1"
-msgstr "PA1"
+#~ msgid "Page Down"
+#~ msgstr "Page Down"
-msgid "Button %1"
-msgstr "Bouton %1"
+#~ msgid "Page Up"
+#~ msgstr "Page Up"
+
+#~ msgid "Pause"
+#~ msgstr "Pause"
+
+#~ msgid "Play"
+#~ msgstr "Play"
+
+#~ msgid "Print Scrn"
+#~ msgstr "Print Scrn"
+
+#~ msgid "Right Windows"
+#~ msgstr "Right Windows"
+
+#~ msgid "Scroll"
+#~ msgstr "Scroll"
+
+#~ msgid "Select"
+#~ msgstr "Select"
+
+#~ msgid "Space"
+#~ msgstr "Espace"
+
+#~ msgid "Tab"
+#~ msgstr "Tab"
+
+#~ msgid "Wheel down"
+#~ msgstr "Molette bas"
-msgid "Wheel up"
-msgstr "Molette haut"
+#~ msgid "Wheel up"
+#~ msgstr "Molette haut"
-msgid "Wheel down"
-msgstr "Molette bas"
+#~ msgid "Zoom"
+#~ msgstr "Zoom"
diff --git a/src/po/pl.po b/src/po/pl.po
index 206de97..9bab529 100644
--- a/src/po/pl.po
+++ b/src/po/pl.po
@@ -1,1984 +1,2065 @@
msgid ""
msgstr ""
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-12-27 17:09+0100\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2);\n"
"X-Language: pl_PL\n"
"X-Source-Language: en_US\n"
-msgid "Colobot rules!"
-msgstr "Colobot rządzi!"
+msgid " "
+msgstr " "
-msgid "Colobot Gold"
-msgstr "Colobot Gold"
+msgid " Challenges in the chapter:"
+msgstr " Wyzwania w tym rozdziale:"
-msgid "SatCom"
-msgstr "SatCom"
+msgid " Chapters:"
+msgstr " Rozdziały:"
-msgid "Maximize"
-msgstr "Powiększ"
+msgid " Drivers:"
+msgstr " Sterowniki:"
-msgid "Minimize"
-msgstr "Pomniejsz"
+msgid " Exercises in the chapter:"
+msgstr " Ćwiczenia w tym rozdziale:"
-msgid "Normal size"
-msgstr "Normalna wielkość"
+msgid " Free game on this chapter:"
+msgstr " Prototypy na tej planecie:"
-msgid "Close"
-msgstr "Zamknij"
+msgid " Free game on this planet:"
+msgstr " Swobodna gra na tej planecie:"
-msgid "Program editor"
-msgstr "Edytor programu"
+msgid " Missions on this level:"
+msgstr " Misje na tym poziomie:"
-msgid "New"
-msgstr "Nowy"
+msgid " Missions on this planet:"
+msgstr " Misje na tej planecie:"
-msgid "Player"
-msgstr "Gracz"
+msgid " Planets:"
+msgstr " Planety:"
-msgid "New ..."
-msgstr "Nowy ..."
+msgid " Prototypes on this planet:"
+msgstr " Prototypy na tej planecie:"
+
+msgid " Resolution:"
+msgstr " Rozdzielczość:"
+
+msgid " Summary:"
+msgstr " Streszczenie:"
+
+msgid " User levels:"
+msgstr " Poziomy użytkownika:"
msgid " or "
msgstr " lub "
-msgid "COLOBOT"
-msgstr "COLOBOT"
+msgid "\" [ \" expected"
+msgstr "Oczekiwane \" [ \""
-msgid "Programming exercises"
-msgstr "Ćwiczenia programistyczne"
+msgid "\" ] \" missing"
+msgstr "Brak \" ] \""
-msgid "Challenges"
-msgstr "Wyzwania"
+#, c-format
+msgid "\"%s\" missing in this exercise"
+msgstr "It misses \"%s\" in this exercise"
-msgid "Missions"
-msgstr "Misje"
+msgid "%1"
+msgstr ""
-msgid "Free game"
-msgstr "Swobodna gra"
+msgid "..behind"
+msgstr "..za"
-msgid "User levels"
-msgstr "Poziomy użytkownika"
+msgid "..in front"
+msgstr "..przed"
-msgid "Prototypes"
-msgstr "Prototypy"
+msgid "..power cell"
+msgstr "..ogniwo elektryczne"
-msgid "Options"
-msgstr "Opcje"
+msgid "1) First click on the key you want to redefine."
+msgstr "1) Najpierw kliknij klawisz, który chcesz przedefiniować."
-msgid "Player's name"
-msgstr "Imię gracza"
+msgid "2) Then press the key you want to use instead."
+msgstr "2) Następnie naciśnij klawisz, którego chcesz używać."
-msgid "Customize your appearance"
-msgstr "Dostosuj wygląd"
+msgid "3D sound\\3D positioning of the sound"
+msgstr "Dźwięk 3D\\Przestrzenne pozycjonowanie dźwięków"
-msgid "Save the current mission"
-msgstr "Zapisz bieżącą misję"
+msgid "<< Back \\Back to the previous screen"
+msgstr "<< Wstecz \\Wraca do poprzedniego ekranu"
-msgid "Load a saved mission"
-msgstr "Wczytaj zapisaną misję"
+#, fuzzy
+msgid "<<< Sorry; mission failed >>>"
+msgstr "<<< Niestety, misja nie powiodła się >>>"
-msgid " Chapters:"
-msgstr " Rozdziały:"
+#, fuzzy
+msgid "<<< Well done; mission accomplished >>>"
+msgstr "<<< Dobra robota, misja wypełniona >>>"
-msgid " Planets:"
-msgstr " Planety:"
+#, fuzzy
+msgid "A label must be followed by \"for\"; \"while\"; \"do\" or \"switch\""
+msgstr "Po etykiecie musi wystąpić \"for\", \"while\", \"do\" lub \"switch\""
-msgid " User levels:"
-msgstr " Poziomy użytkownika:"
+msgid "A variable can not be declared twice"
+msgstr "Zmienna nie może być zadeklarowana dwukrotnie"
-msgid " Exercises in the chapter:"
-msgstr " Ćwiczenia w tym rozdziale:"
+msgid "Abort\\Abort the current mission"
+msgstr "Przerwij\\Przerywa bieżącą misję"
-msgid " Challenges in the chapter:"
-msgstr " Wyzwania w tym rozdziale:"
+msgid "Access beyond array limit"
+msgstr "Dostęp poza tablicę"
-msgid " Missions on this planet:"
-msgstr " Misje na tej planecie:"
+msgid ""
+"Access to solution\\Shows the solution (detailed instructions for missions)"
+msgstr ""
+"Dostęp do rozwiązania\\Pokazuje rozwiązanie (szczegółowe instrukcje "
+"dotyczące misji)"
-msgid " Free game on this planet:"
-msgstr " Swobodna gra na tej planecie:"
+msgid "Access to solutions\\Show program \"4: Solution\" in the exercises"
+msgstr "Accčs aux solutions\\Programme \"4: Solution\" dans les exercices"
-msgid " Missions on this level:"
-msgstr " Misje na tym poziomie:"
+msgid "Alien Queen"
+msgstr "Królowa Obcych"
-msgid " Prototypes on this planet:"
-msgstr " Prototypy na tej planecie:"
+msgid "Alien Queen killed"
+msgstr "Królowa Obcych została zabita"
-msgid " Free game on this chapter:"
-msgstr " Prototypy na tej planecie:"
+msgid "Already carrying something"
+msgstr "Nie można nieść więcej przedmiotów"
-msgid " Summary:"
-msgstr " Streszczenie:"
+msgid "Alt"
+msgstr "Alt"
-msgid " Drivers:"
-msgstr " Sterowniki:"
+msgid "Analysis already performed"
+msgstr "Analiza została już wykonana"
-msgid " Resolution:"
-msgstr " Rozdzielczość:"
+msgid "Analysis performed"
+msgstr "Analiza wykonana"
-msgid "1) First click on the key you want to redefine."
-msgstr "1) Najpierw kliknij klawisz, który chcesz przedefiniować."
+msgid "Analyzes only organic matter"
+msgstr "Analizuje jedynie materię organiczną"
-msgid "2) Then press the key you want to use instead."
-msgstr "2) Następnie naciśnij klawisz, którego chcesz używać."
+msgid "Ant"
+msgstr "Mrówka"
-msgid "Face type:"
-msgstr "Rodzaj twarzy:"
+msgid "Ant fatally wounded"
+msgstr "Mrówka śmiertelnie raniona"
-msgid "Eyeglasses:"
-msgstr "Okulary:"
+msgid "Appearance\\Choose your appearance"
+msgstr "Wygląd\\Wybierz swoją postać"
-msgid "Hair color:"
-msgstr "Kolor włosów:"
+msgid "Apply changes\\Activates the changed settings"
+msgstr "Zastosuj zmiany\\Aktywuje zmienione ustawienia"
-msgid "Suit color:"
-msgstr "Kolor skafandra:"
+msgid "Appropriate constructor missing"
+msgstr "Brak odpowiedniego konstruktora"
-msgid "Strip color:"
-msgstr "Kolor pasków:"
+msgid "Assignment impossible"
+msgstr "Przypisanie niemożliwe"
-msgid "Do you want to quit COLOBOT ?"
-msgstr "Czy na pewno chcesz opuścić grę COLOBOT?"
+msgid "Autolab"
+msgstr "Laboratorium"
-msgid "Quit\\Quit COLOBOT"
-msgstr "Zakończ\\Kończy grę COLOBOT"
+msgid "Automatic indent\\When program editing"
+msgstr "Automatyczne wcięcia\\Automatyczne wcięcia podczas edycji programu"
-msgid "Quit the mission?"
-msgstr "Opuścić misję?"
+msgid "Back"
+msgstr "Wstecz"
-msgid "Abort\\Abort the current mission"
-msgstr "Przerwij\\Przerywa bieżącą misję"
+msgid "Background sound :\\Volume of audio tracks on the CD"
+msgstr "Muzyka w tle :\\Głośność ścieżek dźwiękowych z płyty CD"
-msgid "Continue\\Continue the current mission"
-msgstr "Kontynuuj\\Kontynuuje bieżącą misję"
+msgid "Backward (\\key down;)"
+msgstr "Cofnij (\\key down;)"
-msgid "Continue\\Continue the game"
-msgstr "Kontynuuj\\Kontynuuje grę"
+msgid "Backward\\Moves backward"
+msgstr "Wstecz\\Porusza do tyłu"
-msgid "Do you really want to destroy the selected building?"
-msgstr "Czy na pewno chcesz zniszczyć zaznaczony budynek?"
+msgid "Bad argument for \"new\""
+msgstr "Zły argument dla funkcji \"new\""
-msgid "Do you want to delete %s's saved games? "
-msgstr "Czy na pewno chcesz skasować zapisane gry gracza %s? "
+msgid "Big indent\\Indent 2 or 4 spaces per level defined by braces"
+msgstr ""
+"Duże wcięcie\\2 lub 4 spacje wcięcia na każdy poziom zdefiniowany przez "
+"klamry"
-msgid "Delete"
-msgstr "Usuń"
+msgid "Black box"
+msgstr "Czarna skrzynka"
-msgid "Cancel"
-msgstr "Anuluj"
+msgid "Blue"
+msgstr "Niebieski"
-msgid "LOADING"
-msgstr "WCZYTYWANIE"
+msgid "Blue flag"
+msgstr "Niebieska flaga"
-msgid "Keyword help(\\key cbot;)"
-msgstr "Skróty klawiszowe (\\key cbot;)"
+msgid "Bot destroyed"
+msgstr "Robot zniszczony"
-msgid "Compilation ok (0 errors)"
-msgstr "Program skompilowany (0 błędów)"
+msgid "Bot factory"
+msgstr "Fabryka robotów"
-msgid "Program finished"
-msgstr "Program zakończony"
+msgid "Build a bot factory"
+msgstr "Zbuduj fabrykę robotów"
-msgid "\\b;List of objects\n"
-msgstr "\\b;Lista obiektów\n"
+msgid "Build a converter"
+msgstr "Zbuduj hutę"
-msgid "\\b;Robots\n"
-msgstr "\\b;Roboty\n"
+msgid "Build a defense tower"
+msgstr "Zbuduj wieżę obronną"
-msgid "\\b;Buildings\n"
-msgstr "\\b;Budynki\n"
+msgid "Build a derrick"
+msgstr "Zbuduj kopalnię"
-msgid "\\b;Moveable objects\n"
-msgstr "\\b;Obiekty ruchome\n"
+msgid "Build a exchange post"
+msgstr "Zbuduj stację przekaźnikową"
-msgid "\\b;Aliens\n"
-msgstr "\\b;Obcy\n"
+msgid "Build a legged grabber"
+msgstr "Zbuduj transporter na nogach"
-msgid "\\c; (none)\\n;\n"
-msgstr "\\c; (brak)\\n;\n"
+msgid "Build a legged orga shooter"
+msgstr "Zbuduj działo organiczne na nogach"
-msgid "\\b;Error\n"
-msgstr "\\b;Błąd\n"
+msgid "Build a legged shooter"
+msgstr "Zbuduj działo na nogach"
-msgid ""
-"The list is only available if a \\l;radar station\\u object\\radar; is "
-"working.\n"
-msgstr ""
-"Lista jest dostępna jedynie gdy działa \\l;stacja radarowa\\u "
-"object\\radar;.\n"
+msgid "Build a legged sniffer"
+msgstr "Zbuduj szperacz na nogach"
-msgid "Open"
-msgstr "Otwórz"
+msgid "Build a lightning conductor"
+msgstr "Zbuduj odgromnik"
-msgid "Save"
-msgstr "Zapisz"
+msgid "Build a nuclear power plant"
+msgstr "Zbuduj elektrownię atomową"
-msgid "Folder: %s"
-msgstr "Folder: %s"
+msgid "Build a phazer shooter"
+msgstr "Zbuduj działo fazowe"
-msgid "Name:"
-msgstr "Nazwa:"
+msgid "Build a power cell factory"
+msgstr "Zbuduj fabrykę ogniw elektrycznych"
-msgid "Folder:"
-msgstr "Folder:"
+msgid "Build a power station"
+msgstr "Zbuduj elektrownię"
-msgid "Private\\Private folder"
-msgstr "Prywatny\\Folder prywatny"
+msgid "Build a radar station"
+msgstr "Zbuduj stację radarową"
-msgid "Public\\Common folder"
-msgstr "Publiczny\\Folder ogólnodostępny"
+msgid "Build a recycler"
+msgstr "Zbuduj robota recyklera"
-msgid "Developed by :"
-msgstr "Twórcy:"
+msgid "Build a repair center"
+msgstr "Zbuduj warsztat"
-msgid "www.epsitec.com"
-msgstr "www.epsitec.com"
+msgid "Build a research center"
+msgstr "Zbuduj centrum badawcze"
-msgid " "
-msgstr " "
+msgid "Build a shielder"
+msgstr "Zbuduj robota osłaniajacza"
-msgid "Recorder"
-msgstr "Recorder"
+msgid "Build a subber"
+msgstr "Zbuduj robota nurka"
-msgid "OK"
-msgstr "OK"
+msgid "Build a thumper"
+msgstr "Zbuduj robota uderzacza"
-msgid "Next"
-msgstr "Następny"
+msgid "Build a tracked grabber"
+msgstr "Zbuduj transporter na gąsienicach"
-msgid "Previous"
-msgstr "Poprzedni"
+msgid "Build a tracked orga shooter"
+msgstr "Zbuduj działo organiczne na gąsienicach"
-msgid "Menu (\\key quit;)"
-msgstr "Menu (\\key quit;)"
+msgid "Build a tracked shooter"
+msgstr "Zbuduj działo na gąsienicach"
-msgid "Exercises\\Programming exercises"
-msgstr "Ćwiczenia\\Ćwiczenia programistyczne"
+msgid "Build a tracked sniffer"
+msgstr "Zbuduj szperacz na gąsienicach"
-msgid "Challenges\\Programming challenges"
-msgstr "Wyzwania\\Wyzwania programistyczne"
+msgid "Build a wheeled grabber"
+msgstr "Zbuduj transporter na kołach"
-msgid "Missions\\Select mission"
-msgstr "Misje\\Wybierz misję"
+msgid "Build a wheeled orga shooter"
+msgstr "Zbuduj działo organiczne na kołach"
-msgid "Free game\\Free game without a specific goal"
-msgstr "Swobodna gra\\Swobodna gra bez konkretnych celów"
+msgid "Build a wheeled shooter"
+msgstr "Zbuduj działo na kołach"
-msgid "User\\User levels"
-msgstr "Poziomy\\Poziomy użytkownika"
+msgid "Build a wheeled sniffer"
+msgstr "Zbuduj szperacz na kołach"
-msgid "Proto\\Prototypes under development"
-msgstr "Prototypy\\Prototypy w trakcie rozwijania"
+msgid "Build a winged grabber"
+msgstr "Zbuduj transporter latający"
-msgid "New player\\Choose player's name"
-msgstr "Nowy gracz\\Wybierz imię gracza"
+msgid "Build a winged orga shooter"
+msgstr "Zbuduj latające działo organiczne"
-msgid "Options\\Preferences"
-msgstr "Opcje\\Preferencje"
+msgid "Build a winged shooter"
+msgstr "Zbuduj działo latające"
-msgid "Restart\\Restart the mission from the beginning"
-msgstr "Uruchom ponownie\\Uruchamia ponownie misję od początku"
+msgid "Build a winged sniffer"
+msgstr "Zbuduj szperacz latający"
-msgid "Save\\Save the current mission "
-msgstr "Zapisz\\Zapisuje bieżącą misję"
+msgid "Build an autolab"
+msgstr "Zbuduj laboratorium"
-msgid "Load\\Load a saved mission"
-msgstr "Wczytaj\\Wczytuje zapisaną misję"
+msgid "Building completed"
+msgstr "Budowa zakończona"
-msgid "\\Return to COLOBOT"
-msgstr "\\Powróć do gry COLOBOT"
+msgid "Building destroyed"
+msgstr "Budynek zniszczony"
-msgid "<< Back \\Back to the previous screen"
-msgstr "<< Wstecz \\Wraca do poprzedniego ekranu"
+msgid "Building too close"
+msgstr "Budynek za blisko"
-msgid "Play\\Start mission!"
-msgstr "Graj\\Rozpoczyna misję!"
+msgid "Button %1"
+msgstr "Przycisk %1"
-msgid "Device\\Driver and resolution settings"
-msgstr "Urządzenie\\Ustawienia sterownika i rozdzielczości"
+msgid "COLOBOT"
+msgstr "COLOBOT"
-msgid "Graphics\\Graphics settings"
-msgstr "Grafika\\Ustawienia grafiki"
+msgid "Calling an unknown function"
+msgstr "Odwołanie do nieznanej funkcji"
-msgid "Game\\Game settings"
-msgstr "Gra\\Ustawienia gry"
+msgid "Camera (\\key camera;)"
+msgstr "Kamera (\\key camera;)"
-msgid "Controls\\Keyboard, joystick and mouse settings"
-msgstr "Sterowanie\\Ustawienia klawiatury, joysticka i myszy"
+msgid "Camera awayest"
+msgstr "Camera awayest"
-msgid "Sound\\Music and game sound volume"
-msgstr "Dźwięk\\Głośność muzyki i dźwięków gry"
+msgid "Camera back\\Moves the camera backward"
+msgstr "Kamera dalej\\Oddala kamerę"
-msgid "Unit"
-msgstr "Jednostka"
+msgid "Camera closer\\Moves the camera forward"
+msgstr "Kamera bliżej\\Przybliża kamerę"
-msgid "Resolution"
-msgstr "Rozdzielczość"
+msgid "Camera nearest"
+msgstr "Camera nearest"
-msgid "Full screen\\Full screen or window mode"
-msgstr "Pełny ekran\\Pełny ekran lub tryb okna"
+msgid "Camera to left"
+msgstr "Camera to left"
-msgid "Apply changes\\Activates the changed settings"
-msgstr "Zastosuj zmiany\\Aktywuje zmienione ustawienia"
+msgid "Camera to right"
+msgstr "Camera to right"
-msgid "Robbie\\Your assistant"
-msgstr "Robbie\\Twój asystent"
+#, fuzzy
+msgid "Can not create this; there are too many objects"
+msgstr "Nie można tego utworzyć, za dużo obiektów"
-msgid "Shadows\\Shadows on the ground"
-msgstr "Cienie\\Cienie na ziemi"
+msgid "Can't open file"
+msgstr "Nie można otworzyć pliku"
-msgid "Marks on the ground\\Marks on the ground"
-msgstr "Znaki na ziemi\\Znaki na ziemi"
+msgid "Cancel"
+msgstr "Anuluj"
-msgid "Dust\\Dust and dirt on bots and buildings"
-msgstr "Kurz\\Kurz i bród na robotach i budynkach"
+msgid "Cancel\\Cancel all changes"
+msgstr "Anuluj\\Pomija wszystkie zmiany"
-msgid "Fog\\Fog"
-msgstr "Mgła\\Mgła"
+msgid "Cancel\\Keep current player name"
+msgstr "Anuluj\\Zachowuje bieżące imię gracza"
-msgid "Sunbeams\\Sunbeams in the sky"
-msgstr "Promienie słoneczne\\Promienie słoneczne na niebie"
+msgid "Challenges"
+msgstr "Wyzwania"
-msgid "Sky\\Clouds and nebulae"
-msgstr "Niebo\\Chmury i mgławice"
+msgid "Challenges\\Programming challenges"
+msgstr "Wyzwania\\Wyzwania programistyczne"
-msgid "Planets and stars\\Astronomical objects in the sky"
-msgstr "Planety i gwiazdy\\Obiekty astronomiczne na niebie"
+msgid "Change camera\\Switches between onboard camera and following camera"
+msgstr "Zmień kamerę\\Przełącza pomiędzy kamerą pokładową i śledzącą"
-msgid "Dynamic lighting\\Mobile light sources"
-msgstr "Dynamiczne oświetlenie\\Ruchome źródła światła"
+msgid "Checkpoint"
+msgstr "Punkt kontrolny"
-msgid "Number of particles\\Explosions, dust, reflections, etc."
-msgstr "Liczba cząstek\\Wybuchy, kurz, odbicia, itp."
+msgid "Checkpoint crossed"
+msgstr "Przekroczono punkt kontrolny"
-msgid "Depth of field\\Maximum visibility"
-msgstr "Głębokość pola\\Maksymalna widoczność"
+msgid "Climb\\Increases the power of the jet"
+msgstr "W górę\\Zwiększa moc silnika"
-msgid "Details\\Visual quality of 3D objects"
-msgstr "Szczegóły\\Jakość wizualna obiektów 3D"
+msgid "Close"
+msgstr "Zamknij"
-msgid "Textures\\Quality of textures "
-msgstr "Tekstury\\Jakość tekstur "
+msgid "Closing bracket missing "
+msgstr "Brak nawiasu zamykającego"
-msgid "Num of decorative objects\\Number of purely ornamental objects"
-msgstr "Ilość elementów dekoracyjnych \\Ilość elementów czysto dekoracyjnych"
+msgid "Colobot rules!"
+msgstr "Colobot rządzi!"
-msgid "Particles in the interface\\Steam clouds and sparks in the interface"
-msgstr "Cząstki w interfejsie\\Para i iskry z silników w interfejsie"
+msgid "Command line"
+msgstr "Linia polecenia"
-msgid "Reflections on the buttons \\Shiny buttons"
-msgstr "Odbicia na przyciskach \\Świecące przyciski"
+msgid "Compass"
+msgstr "Kompas"
-msgid "Help balloons\\Explain the function of the buttons"
-msgstr "Dymki pomocy\\Wyjaśnia funkcje przycisków"
+msgid "Compilation ok (0 errors)"
+msgstr "Program skompilowany (0 błędów)"
-msgid "Film sequences\\Films before and after the missions"
-msgstr "Sekwencje filmowe\\Filmy przed rozpoczęciem i na zakończenie misji"
+msgid "Compile"
+msgstr "Kompiluj"
-msgid "Exit film\\Film at the exit of exercises"
-msgstr "Końcowy film\\Film na zakończenie ćwiczeń"
+msgid "Continue"
+msgstr "Kontynuuj"
-msgid "Friendly fire\\Your shooting can damage your own objects "
-msgstr "Przyjacielski ogień\\Własne strzały uszkadzają Twoje obiekty"
+msgid "Continue\\Continue the current mission"
+msgstr "Kontynuuj\\Kontynuuje bieżącą misję"
-msgid "Scrolling\\Scrolling when the mouse touches right or left border"
-msgstr ""
-"Przewijanie\\Ekran jest przewijany gdy mysz dotknie prawej lub lewej jego "
-"krawędzi"
+msgid "Continue\\Continue the game"
+msgstr "Kontynuuj\\Kontynuuje grę"
-msgid "Mouse inversion X\\Inversion of the scrolling direction on the X axis"
-msgstr "Odwrócenie myszy X\\Odwrócenie kierunków przewijania w poziomie"
+msgid "Controls\\Keyboard, joystick and mouse settings"
+msgstr "Sterowanie\\Ustawienia klawiatury, joysticka i myszy"
-msgid "Mouse inversion Y\\Inversion of the scrolling direction on the Y axis"
-msgstr "Odwrócenie myszy Y\\Odwrócenie kierunków przewijania w pionie"
+msgid "Converts ore to titanium"
+msgstr "Przetop rudę na tytan"
-msgid "Quake at explosions\\The screen shakes at explosions"
-msgstr "Wstrząsy przy wybuchach\\Ekran trzęsie się podczas wybuchów"
+msgid "Copy"
+msgstr "Kopiuj"
-msgid "Mouse shadow\\Gives the mouse a shadow"
-msgstr "Cień kursora myszy\\Dodaje cień kursorowi myszy"
+msgid "Copy (Ctrl+c)"
+msgstr "Kopiuj (Ctrl+C)"
-msgid "Automatic indent\\When program editing"
-msgstr "Automatyczne wcięcia\\Automatyczne wcięcia podczas edycji programu"
+msgid "Ctrl"
+msgstr "Ctrl"
-msgid "Big indent\\Indent 2 or 4 spaces per level defined by braces"
-msgstr ""
-"Duże wcięcie\\2 lub 4 spacje wcięcia na każdy poziom zdefiniowany przez "
-"klamry"
+msgid "Current mission saved"
+msgstr "Bieżąca misja zapisana"
-msgid "Access to solutions\\Show program \"4: Solution\" in the exercises"
-msgstr "Accčs aux solutions\\Programme \"4: Solution\" dans les exercices"
+msgid "Customize your appearance"
+msgstr "Dostosuj wygląd"
-msgid "Standard controls\\Standard key functions"
-msgstr "Standardowa kontrola\\Standardowe klawisze funkcyjne"
+msgid "Cut (Ctrl+x)"
+msgstr "Wytnij (Ctrl+X)"
-msgid "Turn left\\turns the bot to the left"
-msgstr "Skręć w lewo\\Obraca robota w lewo"
+msgid "Defense tower"
+msgstr "Wieża obronna"
-msgid "Turn right\\turns the bot to the right"
-msgstr "Obróć w prawo\\Obraca robota w prawo"
+msgid "Delete"
+msgstr "Usuń"
-msgid "Forward\\Moves forward"
-msgstr "Naprzód\\Porusza do przodu"
+msgid "Delete player\\Deletes the player from the list"
+msgstr "Usuń gracza\\Usuwa gracza z listy"
-msgid "Backward\\Moves backward"
-msgstr "Wstecz\\Porusza do tyłu"
+msgid "Delete\\Deletes the selected file"
+msgstr "Usuń\\Usuwa zaznaczony plik"
-msgid "Climb\\Increases the power of the jet"
-msgstr "W górę\\Zwiększa moc silnika"
+msgid "Depth of field\\Maximum visibility"
+msgstr "Głębokość pola\\Maksymalna widoczność"
+
+msgid "Derrick"
+msgstr "Kopalnia"
msgid "Descend\\Reduces the power of the jet"
msgstr "W dół\\Zmniejsza moc silnika"
-msgid "Change camera\\Switches between onboard camera and following camera"
-msgstr "Zmień kamerę\\Przełącza pomiędzy kamerą pokładową i śledzącą"
-
-msgid "Previous object\\Selects the previous object"
-msgstr "Poprzedni obiekt\\Zaznacz poprzedni obiekt"
-
-msgid ""
-"Standard action\\Standard action of the bot (take/grab, shoot, sniff, etc)"
-msgstr ""
-"Standardowa akcja\\Standardowa akcja robota (podnieś/upuść, strzelaj, "
-"szukaj, itp.)"
-
-msgid "Camera closer\\Moves the camera forward"
-msgstr "Kamera bliżej\\Przybliża kamerę"
+msgid "Destroy the building"
+msgstr "Zniszcz budynek"
-msgid "Camera back\\Moves the camera backward"
-msgstr "Kamera dalej\\Oddala kamerę"
+msgid "Destroyer"
+msgstr "Destroyer"
-msgid "Next object\\Selects the next object"
-msgstr "Następny obiekt\\Zaznacza następny obiekt"
+msgid "Details\\Visual quality of 3D objects"
+msgstr "Szczegóły\\Jakość wizualna obiektów 3D"
-msgid "Select the astronaut\\Selects the astronaut"
-msgstr "Zaznacz astronautę\\Zaznacza astronautę"
+msgid "Developed by :"
+msgstr "Twórcy:"
-msgid "Quit\\Quit the current mission or exercise"
-msgstr "Zakończ\\Kończy bieżącą misję lub ćwiczenie"
+msgid "Device\\Driver and resolution settings"
+msgstr "Urządzenie\\Ustawienia sterownika i rozdzielczości"
-msgid "Instructions\\Shows the instructions for the current mission"
-msgstr "Rozkazy\\Pokazuje rozkazy dotyczące bieżącej misji"
+msgid "Dividing by zero"
+msgstr "Dzielenie przez zero"
-msgid "Programming help\\Gives more detailed help with programming"
-msgstr "Podręcznik programowania\\Dostarcza szczegółową pomoc w programowaniu"
+msgid "Do not use in this exercise"
+msgstr "Do not use in this exercise"
-msgid "Key word help\\More detailed help about key words"
-msgstr ""
-"Pomoc dot. słów kluczowych\\Dokładniejsza pomoc na temat słów kluczowych"
+msgid "Do you really want to destroy the selected building?"
+msgstr "Czy na pewno chcesz zniszczyć zaznaczony budynek?"
-msgid "Origin of last message\\Shows where the last message was sent from"
-msgstr ""
-"Miejsce nadania wiadomości\\Pokazuje skąd została wysłana ostatnia wiadomość"
+#, c-format
+msgid "Do you want to delete %s's saved games? "
+msgstr "Czy na pewno chcesz skasować zapisane gry gracza %s? "
-msgid "Speed 1.0x\\Normal speed"
-msgstr "Prędkość 1,0x\\Prędkość normalna"
+msgid "Do you want to quit COLOBOT ?"
+msgstr "Czy na pewno chcesz opuścić grę COLOBOT?"
-msgid "Speed 1.5x\\1.5 times faster"
-msgstr "Prędkość 1,5x\\1,5 raza szybciej"
+msgid "Doors blocked by a robot or another object "
+msgstr "Drzwi zablokowane przez robota lub inny obiekt "
-msgid "Speed 2.0x\\Double speed"
-msgstr "Prędkość 2,0x\\Dwa razy szybciej"
+msgid "Down (\\key gdown;)"
+msgstr "Dół (\\key gdown;)"
-msgid "Speed 3.0x\\Three times faster"
-msgstr "Prędkość 3,0x\\Trzy razy szybciej"
+msgid "Drawer bot"
+msgstr "Drawer bot"
-msgid "Sound effects:\\Volume of engines, voice, shooting, etc."
-msgstr "Efekty dźwiękowe:\\Głośność silników, głosów, strzałów, itp."
+msgid "Dust\\Dust and dirt on bots and buildings"
+msgstr "Kurz\\Kurz i bród na robotach i budynkach"
-msgid "Background sound :\\Volume of audio tracks on the CD"
-msgstr "Muzyka w tle :\\Głośność ścieżek dźwiękowych z płyty CD"
+msgid "Dynamic lighting\\Mobile light sources"
+msgstr "Dynamiczne oświetlenie\\Ruchome źródła światła"
-msgid "3D sound\\3D positioning of the sound"
-msgstr "Dźwięk 3D\\Przestrzenne pozycjonowanie dźwięków"
+msgid "Edit the selected program"
+msgstr "Edytuj zaznaczony program"
-msgid "Lowest\\Minimum graphic quality (highest frame rate)"
-msgstr ""
-"Najniższa\\Minimalna jakość grafiki (najwyższa częstotliwość odświeżania)"
+msgid "Egg"
+msgstr "Jajo"
-msgid "Normal\\Normal graphic quality"
-msgstr "Normalna\\Normalna jakość grafiki"
+msgid "End of block missing"
+msgstr "Brak końca bloku"
-msgid "Highest\\Highest graphic quality (lowest frame rate)"
-msgstr ""
-"Najwyższa\\Maksymalna jakość grafiki (najniższa częstotliwość odświeżania)"
+msgid "Energy deposit (site for power station)"
+msgstr "Źródło energii (miejsce na elektrownię)"
-msgid "Mute\\No sound"
-msgstr "Cisza\\Brak dźwięków"
+msgid "Energy level"
+msgstr "Poziom energii"
-msgid "Normal\\Normal sound volume"
-msgstr "Normalne\\Normalna głośność dźwięków"
+msgid "Engineer"
+msgstr "Inżynier"
-msgid "Use a joystick\\Joystick or keyboard"
-msgstr "Używaj joysticka\\Joystick lub klawiatura"
+msgid "Error in instruction move"
+msgstr "Błąd w poleceniu ruchu"
-msgid ""
-"Access to solution\\Shows the solution (detailed instructions for missions)"
-msgstr ""
-"Dostęp do rozwiązania\\Pokazuje rozwiązanie (szczegółowe instrukcje "
-"dotyczące misji)"
+msgid "Execute the selected program"
+msgstr "Wykonaj zaznaczony program"
-msgid "\\New player name"
-msgstr "\\Nowe imię gracza"
+msgid "Execute/stop"
+msgstr "Wykonaj/Zatrzymaj"
-msgid "OK\\Choose the selected player"
-msgstr "OK\\Wybiera zaznaczonego gracza"
+msgid "Exercises\\Programming exercises"
+msgstr "Ćwiczenia\\Ćwiczenia programistyczne"
-msgid "Cancel\\Keep current player name"
-msgstr "Anuluj\\Zachowuje bieżące imię gracza"
+msgid "Exit film\\Film at the exit of exercises"
+msgstr "Końcowy film\\Film na zakończenie ćwiczeń"
-msgid "Delete player\\Deletes the player from the list"
-msgstr "Usuń gracza\\Usuwa gracza z listy"
+msgid "Explosive"
+msgstr "Materiały wybuchowe"
-msgid "Player name"
-msgstr "Imię gracza"
+msgid "Extend shield (\\key action;)"
+msgstr "Rozszerz osłonę (\\key action;)"
-msgid "Save\\Saves the current mission"
-msgstr "Zapisz\\Zapisuje bieżącą misję"
+msgid "Eyeglasses:"
+msgstr "Okulary:"
-msgid "Load\\Loads the selected mission"
-msgstr "Wczytaj\\Wczytuje zaznaczoną misję"
+msgid "Face type:"
+msgstr "Rodzaj twarzy:"
-msgid "List of saved missions"
-msgstr "Lista zapisanych misji"
+msgid "File not open"
+msgstr "Plik nie jest otwarty"
msgid "Filename:"
msgstr "Nazwa pliku:"
-msgid "Mission name"
-msgstr "Nazwa misji"
+msgid "Film sequences\\Films before and after the missions"
+msgstr "Sekwencje filmowe\\Filmy przed rozpoczęciem i na zakończenie misji"
-msgid "Photography"
-msgstr "Fotografia"
+msgid "Finish"
+msgstr "Koniec"
-msgid "Delete\\Deletes the selected file"
-msgstr "Usuń\\Usuwa zaznaczony plik"
+msgid "Fixed mine"
+msgstr "Mina"
-msgid "Appearance\\Choose your appearance"
-msgstr "Wygląd\\Wybierz swoją postać"
+msgid "Flat ground not large enough"
+msgstr "Za mało płaskiego terenu"
-msgid "Standard\\Standard appearance settings"
-msgstr "Standardowe\\Standardowe ustawienia wyglądu"
+msgid "Fog\\Fog"
+msgstr "Mgła\\Mgła"
-msgid "Head\\Face and hair"
-msgstr "Głowa\\Twarz i włosy"
+msgid "Folder:"
+msgstr "Folder:"
-msgid "Suit\\Astronaut suit"
-msgstr "Skafander\\Skafander astronauty"
+#, c-format
+msgid "Folder: %s"
+msgstr "Folder: %s"
-msgid "\\Turn left"
-msgstr "\\Obróć w lewo"
+msgid "Font size"
+msgstr "Wielkość czcionki"
-msgid "\\Turn right"
-msgstr "\\Obróć w prawo"
+msgid "Forward"
+msgstr "Naprzód"
-msgid "Red"
-msgstr "Czerwony"
+msgid "Forward (\\key up;)"
+msgstr "Naprzód (\\key up;)"
-msgid "Green"
-msgstr "Zielony"
+msgid "Forward\\Moves forward"
+msgstr "Naprzód\\Porusza do przodu"
-msgid "Blue"
-msgstr "Niebieski"
+msgid "Found a site for a derrick"
+msgstr "Znaleziono miejsce na kopalnię"
-msgid "\\Face 1"
-msgstr "\\Twarz 1"
+msgid "Found a site for power station"
+msgstr "Znaleziono miejsce na elektrownię"
-msgid "\\Face 4"
-msgstr "\\Twarz 4"
+msgid "Found key A (site for derrick)"
+msgstr "Znaleziono klucz A (miejsce na kopalnię)"
-msgid "\\Face 3"
-msgstr "\\Twarz 3"
+msgid "Found key B (site for derrick)"
+msgstr "Znaleziono klucz B (miejsce na kopalnię)"
-msgid "\\Face 2"
-msgstr "\\Twarz 2"
+msgid "Found key C (site for derrick)"
+msgstr "Znaleziono klucz C (miejsce na kopalnię)"
-msgid "\\No eyeglasses"
-msgstr "\\Bez okularów"
+msgid "Found key D (site for derrick)"
+msgstr "Znaleziono klucz D (miejsce na kopalnię)"
-msgid "\\Eyeglasses 1"
-msgstr "\\Okulary 1"
+msgid "Free game"
+msgstr "Swobodna gra"
-msgid "\\Eyeglasses 2"
-msgstr "\\Okulary 2"
+msgid "Free game\\Free game without a specific goal"
+msgstr "Swobodna gra\\Swobodna gra bez konkretnych celów"
-msgid "\\Eyeglasses 3"
-msgstr "\\Okulary 3"
+msgid "Friendly fire\\Your shooting can damage your own objects "
+msgstr "Przyjacielski ogień\\Własne strzały uszkadzają Twoje obiekty"
-msgid "\\Eyeglasses 4"
-msgstr "\\Okulary 4"
+msgid "Full screen\\Full screen or window mode"
+msgstr "Pełny ekran\\Pełny ekran lub tryb okna"
-msgid "\\Eyeglasses 5"
-msgstr "\\Okulary 5"
+msgid "Function already exists"
+msgstr "Funkcja już istnieje"
-msgid "Previous selection (\\key desel;)"
-msgstr "Poprzednie zaznaczenie (\\key desel;)"
+msgid "Function name missing"
+msgstr "Brakująca nazwa funkcji"
-msgid "Turn left (\\key left;)"
-msgstr "Skręć w lewo (\\key left;)"
+msgid "Game speed"
+msgstr "Prędkość gry"
-msgid "Turn right (\\key right;)"
-msgstr "Skręć w prawo (\\key right;)"
+msgid "Game\\Game settings"
+msgstr "Gra\\Ustawienia gry"
-msgid "Forward (\\key up;)"
-msgstr "Naprzód (\\key up;)"
+msgid "Gantry crane"
+msgstr "Żuraw przesuwalny"
-msgid "Backward (\\key down;)"
-msgstr "Cofnij (\\key down;)"
+#, c-format
+msgid "GetResource event num out of range: %d\n"
+msgstr ""
-msgid "Up (\\key gup;)"
-msgstr "Góra (\\key gup;)"
+msgid "Goto: destination occupied"
+msgstr "Goto: miejsce docelowe zajęte"
-msgid "Down (\\key gdown;)"
-msgstr "Dół (\\key gdown;)"
+msgid "Goto: inaccessible destination"
+msgstr "Goto: miejsce docelowe niedostępne"
msgid "Grab or drop (\\key action;)"
msgstr "Podnieś lub upuść (\\key action;)"
-msgid "..in front"
-msgstr "..przed"
+msgid "Graphics\\Graphics settings"
+msgstr "Grafika\\Ustawienia grafiki"
-msgid "..behind"
-msgstr "..za"
+msgid "Green"
+msgstr "Zielony"
-msgid "..power cell"
-msgstr "..ogniwo elektryczne"
+msgid "Green flag"
+msgstr "Zielona flaga"
-msgid "Instructions for the mission (\\key help;)"
-msgstr "Rozkazy dotyczące misji (\\key help;)"
+msgid "Ground inappropriate"
+msgstr "Nieodpowiedni teren"
-msgid "Take off to finish the mission"
-msgstr "Odleć, aby zakończyć misję"
+msgid "Ground not flat enough"
+msgstr "Powierzchnia nie jest wystarczająco płaska"
-msgid "Build a derrick"
-msgstr "Zbuduj kopalnię"
+msgid "Hair color:"
+msgstr "Kolor włosów:"
-msgid "Build a power station"
-msgstr "Zbuduj elektrownię"
+msgid "Head\\Face and hair"
+msgstr "Głowa\\Twarz i włosy"
-msgid "Build a bot factory"
-msgstr "Zbuduj fabrykę robotów"
+msgid "Help about selected object"
+msgstr "Pomoc na temat zaznaczonego obiektu"
-msgid "Build a repair center"
-msgstr "Zbuduj warsztat"
+msgid "Help balloons\\Explain the function of the buttons"
+msgstr "Dymki pomocy\\Wyjaśnia funkcje przycisków"
-msgid "Build a converter"
-msgstr "Zbuduj hutę"
+msgid "Highest\\Highest graphic quality (lowest frame rate)"
+msgstr ""
+"Najwyższa\\Maksymalna jakość grafiki (najniższa częstotliwość odświeżania)"
-msgid "Build a defense tower"
-msgstr "Zbuduj wieżę obronną"
+msgid "Home"
+msgstr "Początek"
-msgid "Build a research center"
-msgstr "Zbuduj centrum badawcze"
+msgid "Houston Mission Control"
+msgstr "Centrum Kontroli Misji w Houston"
-msgid "Build a radar station"
-msgstr "Zbuduj stację radarową"
+msgid "Illegal object"
+msgstr "Nieprawidłowy obiekt"
-msgid "Build a power cell factory"
-msgstr "Zbuduj fabrykę ogniw elektrycznych"
+msgid "Impossible under water"
+msgstr "Niemożliwe pod wodą"
-msgid "Build an autolab"
-msgstr "Zbuduj laboratorium"
+msgid "Impossible when carrying an object"
+msgstr "Niemożliwe podczas przenoszenia przedmiotu"
-msgid "Build a nuclear power plant"
-msgstr "Zbuduj elektrownię atomową"
+msgid "Impossible when flying"
+msgstr "Niemożliwe podczas lotu"
-msgid "Build a lightning conductor"
-msgstr "Zbuduj odgromnik"
+msgid "Impossible when moving"
+msgstr "Niemożliwe podczas ruchu"
-msgid "Build a exchange post"
-msgstr "Zbuduj stację przekaźnikową"
+msgid "Impossible when swimming"
+msgstr "Niemożliwe podczas pływania"
-msgid "Show if the ground is flat"
-msgstr "Pokaż czy teren jest płaski"
+msgid "Inappropriate bot"
+msgstr "Nieodpowiedni robot"
-msgid "Plant a flag"
-msgstr "Postaw flagę"
+msgid "Inappropriate cell type"
+msgstr "Nieodpowiedni rodzaj ogniw"
-msgid "Remove a flag"
-msgstr "Usuń flagę"
+msgid "Incorrect index type"
+msgstr "Nieprawidłowy typ indeksu"
-msgid "\\Blue flags"
-msgstr "\\Niebieskie flagi"
+#, fuzzy
+msgid "Infected by a virus; temporarily out of order"
+msgstr "Zainfekowane wirusem, chwilowo niesprawne"
-msgid "\\Red flags"
-msgstr "\\Czerwone flagi"
+msgid "Information exchange post"
+msgstr "Stacja przekaźnikowa informacji"
-msgid "\\Green flags"
-msgstr "\\Zielone flagi"
+msgid "Instruction \"break\" outside a loop"
+msgstr "Polecenie \"break\" na zewnątrz pętli"
-msgid "\\Yellow flags"
-msgstr "\\Żółte flagi"
+msgid "Instruction \"case\" missing"
+msgstr "Brak polecenia \"case"
-msgid "\\Violet flags"
-msgstr "\\Fioletowe flagi"
+msgid "Instruction \"case\" outside a block \"switch\""
+msgstr "Polecenie \"case\" na zewnątrz bloku \"switch\""
-msgid "Build a winged grabber"
-msgstr "Zbuduj transporter latający"
+msgid "Instruction \"else\" without corresponding \"if\" "
+msgstr "Polecenie \"else\" bez wystąpienia \"if\" "
-msgid "Build a tracked grabber"
-msgstr "Zbuduj transporter na gąsienicach"
+msgid "Instructions (\\key help;)"
+msgstr "Rozkazy (\\key help;)"
-msgid "Build a wheeled grabber"
-msgstr "Zbuduj transporter na kołach"
+msgid "Instructions after the final closing brace"
+msgstr "Polecenie po końcowej klamrze zamykającej"
-msgid "Build a legged grabber"
-msgstr "Zbuduj transporter na nogach"
+msgid "Instructions for the mission (\\key help;)"
+msgstr "Rozkazy dotyczące misji (\\key help;)"
-msgid "Build a winged shooter"
-msgstr "Zbuduj działo latające"
+msgid "Instructions from Houston"
+msgstr "Rozkazy z Houston"
-msgid "Build a tracked shooter"
-msgstr "Zbuduj działo na gąsienicach"
+msgid "Instructions\\Shows the instructions for the current mission"
+msgstr "Rozkazy\\Pokazuje rozkazy dotyczące bieżącej misji"
-msgid "Build a wheeled shooter"
-msgstr "Zbuduj działo na kołach"
+msgid "Jet temperature"
+msgstr "Temperatura silnika"
-msgid "Build a legged shooter"
-msgstr "Zbuduj działo na nogach"
+msgid "Key A"
+msgstr "Klucz A"
-msgid "Build a winged orga shooter"
-msgstr "Zbuduj latające działo organiczne"
+msgid "Key B"
+msgstr "Klucz B"
-msgid "Build a tracked orga shooter"
-msgstr "Zbuduj działo organiczne na gąsienicach"
+msgid "Key C"
+msgstr "Klucz C"
-msgid "Build a wheeled orga shooter"
-msgstr "Zbuduj działo organiczne na kołach"
+msgid "Key D"
+msgstr "Klucz D"
-msgid "Build a legged orga shooter"
-msgstr "Zbuduj działo organiczne na nogach"
+msgid "Key word help\\More detailed help about key words"
+msgstr ""
+"Pomoc dot. słów kluczowych\\Dokładniejsza pomoc na temat słów kluczowych"
-msgid "Build a winged sniffer"
-msgstr "Zbuduj szperacz latający"
+msgid "Keyword \"while\" missing"
+msgstr "Brak kluczowego słowa \"while"
-msgid "Build a tracked sniffer"
-msgstr "Zbuduj szperacz na gąsienicach"
+msgid "Keyword help(\\key cbot;)"
+msgstr "Skróty klawiszowe (\\key cbot;)"
-msgid "Build a wheeled sniffer"
-msgstr "Zbuduj szperacz na kołach"
+msgid "LOADING"
+msgstr "WCZYTYWANIE"
-msgid "Build a legged sniffer"
-msgstr "Zbuduj szperacz na nogach"
+msgid "Legged grabber"
+msgstr "Transporter na nogach"
-msgid "Build a thumper"
-msgstr "Zbuduj robota uderzacza"
+msgid "Legged orga shooter"
+msgstr "Działo organiczne na nogach"
-msgid "Build a phazer shooter"
-msgstr "Zbuduj działo fazowe"
+msgid "Legged shooter"
+msgstr "Działo na nogach"
-msgid "Build a recycler"
-msgstr "Zbuduj robota recyklera"
+msgid "Legged sniffer"
+msgstr "Szperacz na nogach"
-msgid "Build a shielder"
-msgstr "Zbuduj robota osłaniajacza"
+msgid "Lightning conductor"
+msgstr "Odgromnik"
-msgid "Build a subber"
-msgstr "Zbuduj robota nurka"
+msgid "List of objects"
+msgstr "Lista obiektów"
-msgid "Run research program for tracked bots"
-msgstr "Rozpocznij prace badawcze nad transporterem na gąsienicach"
+msgid "List of saved missions"
+msgstr "Lista zapisanych misji"
-msgid "Run research program for winged bots"
-msgstr "Rozpocznij prace badawcze nad transporterem latającym"
+msgid "Load a saved mission"
+msgstr "Wczytaj zapisaną misję"
-msgid "Run research program for thumper"
-msgstr "Rozpocznij prace badawcze nad robotem uderzaczem"
+msgid "Load\\Load a saved mission"
+msgstr "Wczytaj\\Wczytuje zapisaną misję"
-msgid "Run research program for shooter"
-msgstr "Rozpocznij prace badawcze nad działem"
+msgid "Load\\Loads the selected mission"
+msgstr "Wczytaj\\Wczytuje zaznaczoną misję"
-msgid "Run research program for defense tower"
-msgstr "Rozpocznij prace badawcze nad wieżą obronną"
+msgid "Lowest\\Minimum graphic quality (highest frame rate)"
+msgstr ""
+"Najniższa\\Minimalna jakość grafiki (najwyższa częstotliwość odświeżania)"
-msgid "Run research program for phazer shooter"
-msgstr "Rozpocznij prace badawcze nad działem fazowym"
+msgid "Lunar Roving Vehicle"
+msgstr "Pojazd Księżycowy"
-msgid "Run research program for shielder"
-msgstr "Rozpocznij prace badawcze nad robotem osłaniaczem"
+msgid "Marks on the ground\\Marks on the ground"
+msgstr "Znaki na ziemi\\Znaki na ziemi"
-msgid "Run research program for nuclear power"
-msgstr "Rozpocznij prace badawcze nad energią atomową"
+msgid "Maximize"
+msgstr "Powiększ"
-msgid "Run research program for legged bots"
-msgstr "Rozpocznij prace badawcze nad transporterem na nogach"
+msgid "Menu (\\key quit;)"
+msgstr "Menu (\\key quit;)"
-msgid "Run research program for orga shooter"
-msgstr "Rozpocznij prace badawcze nad działem organicznym"
+msgid "Minimize"
+msgstr "Pomniejsz"
-msgid "Return to start"
-msgstr "Powrót do początku"
+msgid "Mission name"
+msgstr "Nazwa misji"
-msgid "Sniff (\\key action;)"
-msgstr "Szukaj (\\key action;)"
+msgid "Missions"
+msgstr "Misje"
-msgid "Thump (\\key action;)"
-msgstr "Uderz (\\key action;)"
+msgid "Missions\\Select mission"
+msgstr "Misje\\Wybierz misję"
-msgid "Shoot (\\key action;)"
-msgstr "Strzelaj (\\key action;)"
+msgid "Mouse inversion X\\Inversion of the scrolling direction on the X axis"
+msgstr "Odwrócenie myszy X\\Odwrócenie kierunków przewijania w poziomie"
-msgid "Recycle (\\key action;)"
-msgstr "Odzyskaj (\\key action;)"
+msgid "Mouse inversion Y\\Inversion of the scrolling direction on the Y axis"
+msgstr "Odwrócenie myszy Y\\Odwrócenie kierunków przewijania w pionie"
-msgid "Extend shield (\\key action;)"
-msgstr "Rozszerz osłonę (\\key action;)"
+msgid "Mouse shadow\\Gives the mouse a shadow"
+msgstr "Cień kursora myszy\\Dodaje cień kursorowi myszy"
-msgid "Withdraw shield (\\key action;)"
-msgstr "Wyłącz osłonę (\\key action;)"
+msgid "Mute\\No sound"
+msgstr "Cisza\\Brak dźwięków"
-msgid "Shield radius"
-msgstr "Zasięg osłony"
+msgid "Name:"
+msgstr "Nazwa:"
-msgid "Execute the selected program"
-msgstr "Wykonaj zaznaczony program"
+msgid "Negative value rejected by \"throw\""
+msgstr "Wartość ujemna odrzucona przez \"throw\""
-msgid "Edit the selected program"
-msgstr "Edytuj zaznaczony program"
+msgid "Nest"
+msgstr "Gniazdo"
-msgid "\\SatCom on standby"
-msgstr "\\Przełącz przekaźnik SatCom w stan gotowości"
+msgid "New"
+msgstr "Nowy"
-msgid "Destroy the building"
-msgstr "Zniszcz budynek"
+msgid "New ..."
+msgstr "Nowy ..."
-msgid "Energy level"
-msgstr "Poziom energii"
+msgid "New bot available"
+msgstr "Dostępny nowy robot"
-msgid "Shield level"
-msgstr "Poziom osłony"
+msgid "New player\\Choose player's name"
+msgstr "Nowy gracz\\Wybierz imię gracza"
-msgid "Jet temperature"
-msgstr "Temperatura silnika"
+msgid "Next"
+msgstr "Następny"
-msgid "Still working ..."
-msgstr "Wciąż pracuje..."
+msgid "Next object\\Selects the next object"
+msgstr "Następny obiekt\\Zaznacza następny obiekt"
-msgid "Number of insects detected"
-msgstr "Liczba wykrytych insektów"
+msgid "No energy in the subsoil"
+msgstr "Brak energii w ziemi"
-msgid "Transmitted information"
-msgstr "Przesłane informacje"
+msgid "No flag nearby"
+msgstr "Nie ma flagi w pobliżu"
-msgid "Compass"
-msgstr "Kompas"
+msgid "No function running"
+msgstr "Żadna funkcja nie działa"
-msgid "Mini-map"
-msgstr "Mapka"
+msgid "No function with this name accepts this kind of parameter"
+msgstr "Funkcja o tej nazwie nie akceptuje parametrów tego typu"
-msgid "Zoom mini-map"
-msgstr "Powiększenie mapki"
+msgid "No function with this name accepts this number of parameters"
+msgstr "Funkcja o tej nazwie nie akceptuje takiej liczby parametrów"
-msgid "Camera (\\key camera;)"
-msgstr "Kamera (\\key camera;)"
+msgid "No information exchange post within range"
+msgstr "Nie ma żadnej stacji przekaźnikowej w zasięgu"
-msgid "Camera to left"
-msgstr "Camera to left"
+msgid "No more energy"
+msgstr "Nie ma więcej energii"
-msgid "Camera to right"
-msgstr "Camera to right"
+msgid "No ore in the subsoil"
+msgstr "W ziemi nie ma żadnej rudy"
-msgid "Camera nearest"
-msgstr "Camera nearest"
+msgid "No other robot"
+msgstr "Brak innego robota"
-msgid "Camera awayest"
-msgstr "Camera awayest"
+msgid "No power cell"
+msgstr "Brak ogniwa elektrycznego"
-msgid "Help about selected object"
-msgstr "Pomoc na temat zaznaczonego obiektu"
+msgid "No titanium"
+msgstr "Brak tytanu"
-msgid "Show the solution"
-msgstr "Pokaż rozwiązanie"
+msgid "No titanium around"
+msgstr "Brak tytanu w pobliżu"
-msgid "Switch bots <-> buildings"
-msgstr "Przełącz roboty <-> budynki"
+msgid "No titanium ore to convert"
+msgstr "Brak rudy tytanu do przetopienia"
-msgid "Show the range"
-msgstr "Pokaż zasięg"
+msgid "No titanium to transform"
+msgstr "Brak tytanu do przetworzenia"
-msgid "\\Raise the pencil"
-msgstr "\\Relčve le crayon"
+msgid "No uranium to transform"
+msgstr "Brak uranu do przetworzenia"
-msgid "\\Use the black pencil"
-msgstr "\\Abaisse le crayon noir"
+msgid "Normal size"
+msgstr "Normalna wielkość"
-msgid "\\Use the yellow pencil"
-msgstr "\\Abaisse le crayon jaune"
+msgid "Normal\\Normal graphic quality"
+msgstr "Normalna\\Normalna jakość grafiki"
-msgid "\\Use the orange pencil"
-msgstr "\\Abaisse le crayon orange"
+msgid "Normal\\Normal sound volume"
+msgstr "Normalne\\Normalna głośność dźwięków"
-msgid "\\Use the red pencil"
-msgstr "\\Abaisse le crayon rouge"
+msgid "Not enough energy"
+msgstr "Za mało energii"
-msgid "\\Use the purple pencil"
-msgstr "\\Abaisse le crayon violet"
+msgid "Not enough energy yet"
+msgstr "Wciąż za mało energii"
-msgid "\\Use the blue pencil"
-msgstr "\\Abaisse le crayon bleu"
+msgid "Not yet enough energy"
+msgstr "Wciąż za mało energii"
-msgid "\\Use the green pencil"
-msgstr "\\Abaisse le crayon vert"
+msgid "Nothing to analyze"
+msgstr "Nie ma niczego do zanalizowania"
-msgid "\\Use the brown pencil"
-msgstr "\\Abaisse le crayon brun"
+msgid "Nothing to drop"
+msgstr "Nie ma nic do upuszczenia"
-msgid "\\Start recording"
-msgstr "\\Démarre l'enregistrement"
+msgid "Nothing to grab"
+msgstr "Nie ma nic do podniesienia"
-msgid "\\Stop recording"
-msgstr "\\Stoppe l'enregistrement"
+msgid "Nothing to recycle"
+msgstr "Nie ma niczego do odzysku"
-msgid "Show the place"
-msgstr "Pokaż miejsce"
+msgid "Nuclear power cell"
+msgstr "Atomowe ogniwa elektryczne"
-msgid "Continue"
-msgstr "Kontynuuj"
+msgid "Nuclear power cell available"
+msgstr "Wytworzono atomowe ogniwo elektryczne"
-msgid "Command line"
-msgstr "Linia polecenia"
+msgid "Nuclear power station"
+msgstr "Elektrownia atomowa"
-msgid "Game speed"
-msgstr "Prędkość gry"
+msgid "Num of decorative objects\\Number of purely ornamental objects"
+msgstr "Ilość elementów dekoracyjnych \\Ilość elementów czysto dekoracyjnych"
-msgid "Back"
-msgstr "Wstecz"
+msgid "Number missing"
+msgstr "Brak liczby"
-msgid "Forward"
-msgstr "Naprzód"
+msgid "Number of insects detected"
+msgstr "Liczba wykrytych insektów"
-msgid "Home"
-msgstr "Początek"
+msgid "Number of particles\\Explosions, dust, reflections, etc."
+msgstr "Liczba cząstek\\Wybuchy, kurz, odbicia, itp."
-msgid "Copy"
-msgstr "Kopiuj"
+msgid "OK"
+msgstr "OK"
-msgid "Size 1"
-msgstr "Wielkość 1"
+msgid "OK\\Choose the selected player"
+msgstr "OK\\Wybiera zaznaczonego gracza"
-msgid "Size 2"
-msgstr "Wielkość 2"
+msgid "OK\\Close program editor and return to game"
+msgstr "OK\\Zamyka edytor programu i powraca do gry"
-msgid "Size 3"
-msgstr "Wielkość 3"
+msgid "Object not found"
+msgstr "Obiekt nieznany"
-msgid "Size 4"
-msgstr "Wielkość 4"
+msgid "Object too close"
+msgstr "Obiekt za blisko"
-msgid "Size 5"
-msgstr "Wielkość 5"
+msgid "One step"
+msgstr "Jeden krok"
-msgid "Instructions from Houston"
-msgstr "Rozkazy z Houston"
+msgid "Open"
+msgstr "Otwórz"
-msgid "Dictionnary"
-msgstr "Raport z satelity"
+msgid "Open (Ctrl+o)"
+msgstr "Otwórz (Ctrl+O)"
-msgid "Satellite report"
-msgstr "Raport z satelity"
+msgid "Opening brace missing "
+msgstr "Brak klamry otwierającej"
-msgid "Programs dispatched by Houston"
-msgstr "Program dostarczony z Houston"
+msgid "Opening bracket missing"
+msgstr "Brak nawiasu otwierającego"
-msgid "List of objects"
-msgstr "Lista obiektów"
+msgid "Operation impossible with value \"nan\""
+msgstr "Działanie niemożliwe z wartością \"nan\""
-msgid "Programming help"
-msgstr "Podręcznik programowania"
+msgid "Options"
+msgstr "Opcje"
-msgid "Solution"
-msgstr "Rozwiązanie"
+msgid "Options\\Preferences"
+msgstr "Opcje\\Preferencje"
-msgid "OK\\Close program editor and return to game"
-msgstr "OK\\Zamyka edytor programu i powraca do gry"
+msgid "Organic matter"
+msgstr "Materia organiczna"
-msgid "Cancel\\Cancel all changes"
-msgstr "Anuluj\\Pomija wszystkie zmiany"
+msgid "Origin of last message\\Shows where the last message was sent from"
+msgstr ""
+"Miejsce nadania wiadomości\\Pokazuje skąd została wysłana ostatnia wiadomość"
-msgid "Open (Ctrl+o)"
-msgstr "Otwórz (Ctrl+O)"
+msgid "Parameters missing "
+msgstr "Brak wymaganego parametru"
-msgid "Save (Ctrl+s)"
-msgstr "Zapisz (Ctrl+S)"
+msgid "Particles in the interface\\Steam clouds and sparks in the interface"
+msgstr "Cząstki w interfejsie\\Para i iskry z silników w interfejsie"
-msgid "Undo (Ctrl+z)"
-msgstr "Cofnij (Ctrl+Z)"
+msgid "Paste (Ctrl+v)"
+msgstr "Wklej (Ctrl+V)"
-msgid "Cut (Ctrl+x)"
-msgstr "Wytnij (Ctrl+X)"
+msgid "Pause/continue"
+msgstr "Pauza/Kontynuuj"
-msgid "Copy (Ctrl+c)"
-msgstr "Kopiuj (Ctrl+C)"
+msgid "Phazer shooter"
+msgstr "Działo fazowe"
-msgid "Paste (Ctrl+v)"
-msgstr "Wklej (Ctrl+V)"
+msgid "Photography"
+msgstr "Fotografia"
-msgid "Font size"
-msgstr "Wielkość czcionki"
+msgid "Place occupied"
+msgstr "Miejsce zajęte"
-msgid "Instructions (\\key help;)"
-msgstr "Rozkazy (\\key help;)"
+msgid "Planets and stars\\Astronomical objects in the sky"
+msgstr "Planety i gwiazdy\\Obiekty astronomiczne na niebie"
-msgid "Programming help (\\key prog;)"
-msgstr "Podręcznik programowania (\\key prog;)"
+msgid "Plans for defense tower available"
+msgstr "Dostępne plany wieży obronnej"
-msgid "Compile"
-msgstr "Kompiluj"
+msgid "Plans for nuclear power plant available"
+msgstr "Dostępne plany elektrowni atomowej"
-msgid "Execute/stop"
-msgstr "Wykonaj/Zatrzymaj"
+msgid "Plans for phazer shooter available"
+msgstr "Dostępne plany działa fazowego"
-msgid "Pause/continue"
-msgstr "Pauza/Kontynuuj"
+msgid "Plans for shielder available"
+msgstr "Dostępne plany robota osłaniacza"
-msgid "One step"
-msgstr "Jeden krok"
+msgid "Plans for shooter available"
+msgstr "Dostępne plany działa"
-msgid "Gantry crane"
-msgstr "Żuraw przesuwalny"
+msgid "Plans for thumper available"
+msgstr "Dostępne plany robota uderzacza"
-msgid "Spaceship"
-msgstr "Statek kosmiczny"
+msgid "Plans for tracked robots available "
+msgstr "Dostępne plany tranporterów na gąsienicach"
-msgid "Derrick"
-msgstr "Kopalnia"
+msgid "Plant a flag"
+msgstr "Postaw flagę"
-msgid "Bot factory"
-msgstr "Fabryka robotów"
+msgid "Play\\Start mission!"
+msgstr "Graj\\Rozpoczyna misję!"
-msgid "Repair center"
-msgstr "Warsztat"
+msgid "Player"
+msgstr "Gracz"
-msgid "Destroyer"
-msgstr "Destroyer"
+msgid "Player name"
+msgstr "Imię gracza"
-msgid "Power station"
-msgstr "Stacja energetyczna"
+msgid "Player's name"
+msgstr "Imię gracza"
-msgid "Converts ore to titanium"
-msgstr "Przetop rudę na tytan"
+msgid "Power cell"
+msgstr "Ogniwo elektryczne"
-msgid "Defense tower"
-msgstr "Wieża obronna"
+msgid "Power cell available"
+msgstr "Wytworzono ogniwo elektryczne"
-msgid "Nest"
-msgstr "Gniazdo"
+msgid "Power cell factory"
+msgstr "Fabryka ogniw elektrycznych"
-msgid "Research center"
-msgstr "Centrum badawcze"
+msgid "Power station"
+msgstr "Stacja energetyczna"
-msgid "Radar station"
-msgstr "Stacja radarowa"
+msgid "Practice bot"
+msgstr "Robot treningowy"
-msgid "Information exchange post"
-msgstr "Stacja przekaźnikowa informacji"
+msgid "Press \\key help; to read instructions on your SatCom"
+msgstr ""
+"Naciśnij klawisz \\key help; aby wyświetlić rozkazy na przekaźniku SatCom"
-msgid "Disintegrator"
-msgstr "Fabryka ogniw elektrycznych"
+msgid "Previous"
+msgstr "Poprzedni"
-msgid "Power cell factory"
-msgstr "Fabryka ogniw elektrycznych"
+msgid "Previous object\\Selects the previous object"
+msgstr "Poprzedni obiekt\\Zaznacz poprzedni obiekt"
-msgid "Autolab"
-msgstr "Laboratorium"
+msgid "Previous selection (\\key desel;)"
+msgstr "Poprzednie zaznaczenie (\\key desel;)"
-msgid "Nuclear power station"
-msgstr "Elektrownia atomowa"
+msgid "Private element"
+msgstr "Element prywatny"
-msgid "Lightning conductor"
-msgstr "Odgromnik"
+msgid "Private\\Private folder"
+msgstr "Prywatny\\Folder prywatny"
-msgid "Vault"
-msgstr "Skrytka"
+msgid "Program editor"
+msgstr "Edytor programu"
-msgid "Houston Mission Control"
-msgstr "Centrum Kontroli Misji w Houston"
+msgid "Program finished"
+msgstr "Program zakończony"
-msgid "Target"
-msgstr "Cel"
+msgid "Program infected by a virus"
+msgstr "Program zawirusowany"
-msgid "Start"
-msgstr "Początek"
+msgid "Programming exercises"
+msgstr "Ćwiczenia programistyczne"
-msgid "Finish"
-msgstr "Koniec"
+msgid "Programming help"
+msgstr "Podręcznik programowania"
-msgid "Titanium ore"
-msgstr "Ruda tytanu"
+msgid "Programming help (\\key prog;)"
+msgstr "Podręcznik programowania (\\key prog;)"
-msgid "Uranium ore"
-msgstr "Ruda uranu"
+msgid "Programming help\\Gives more detailed help with programming"
+msgstr "Podręcznik programowania\\Dostarcza szczegółową pomoc w programowaniu"
-msgid "Organic matter"
-msgstr "Materia organiczna"
+msgid "Programs dispatched by Houston"
+msgstr "Program dostarczony z Houston"
-msgid "Titanium"
-msgstr "Tytan"
+msgid "Proto\\Prototypes under development"
+msgstr "Prototypy\\Prototypy w trakcie rozwijania"
-msgid "Power cell"
-msgstr "Ogniwo elektryczne"
+msgid "Prototypes"
+msgstr "Prototypy"
-msgid "Nuclear power cell"
-msgstr "Atomowe ogniwa elektryczne"
+msgid "Public required"
+msgstr "Wymagany publiczny"
-msgid "Black box"
-msgstr "Czarna skrzynka"
+msgid "Public\\Common folder"
+msgstr "Publiczny\\Folder ogólnodostępny"
-msgid "Key A"
-msgstr "Klucz A"
+msgid "Quake at explosions\\The screen shakes at explosions"
+msgstr "Wstrząsy przy wybuchach\\Ekran trzęsie się podczas wybuchów"
-msgid "Key B"
-msgstr "Klucz B"
+msgid "Quit the mission?"
+msgstr "Opuścić misję?"
-msgid "Key C"
-msgstr "Klucz C"
+msgid "Quit\\Quit COLOBOT"
+msgstr "Zakończ\\Kończy grę COLOBOT"
-msgid "Key D"
-msgstr "Klucz D"
+msgid "Quit\\Quit the current mission or exercise"
+msgstr "Zakończ\\Kończy bieżącą misję lub ćwiczenie"
-msgid "Explosive"
-msgstr "Materiały wybuchowe"
+msgid "Radar station"
+msgstr "Stacja radarowa"
-msgid "Fixed mine"
-msgstr "Mina"
+msgid "Read error"
+msgstr "Błąd odczytu"
-msgid "Survival kit"
-msgstr "Zestaw przetrwania"
+msgid "Recorder"
+msgstr "Recorder"
-msgid "Checkpoint"
-msgstr "Punkt kontrolny"
+msgid "Recycle (\\key action;)"
+msgstr "Odzyskaj (\\key action;)"
-msgid "Blue flag"
-msgstr "Niebieska flaga"
+msgid "Recycler"
+msgstr "Recykler"
+
+msgid "Red"
+msgstr "Czerwony"
msgid "Red flag"
msgstr "Czerwona flaga"
-msgid "Green flag"
-msgstr "Zielona flaga"
+msgid "Reflections on the buttons \\Shiny buttons"
+msgstr "Odbicia na przyciskach \\Świecące przyciski"
-msgid "Yellow flag"
-msgstr "Żółta flaga"
+msgid "Remains of Apollo mission"
+msgstr "Pozostałości z misji Apollo"
-msgid "Violet flag"
-msgstr "Fioletowa flaga"
+msgid "Remove a flag"
+msgstr "Usuń flagę"
-msgid "Energy deposit (site for power station)"
-msgstr "Źródło energii (miejsce na elektrownię)"
+msgid "Repair center"
+msgstr "Warsztat"
-msgid "Uranium deposit (site for derrick)"
-msgstr "Złoże uranu (miejsce na kopalnię)"
+msgid "Research center"
+msgstr "Centrum badawcze"
-msgid "Found key A (site for derrick)"
-msgstr "Znaleziono klucz A (miejsce na kopalnię)"
+msgid "Research program already performed"
+msgstr "Program badawczy został już wykonany"
-msgid "Found key B (site for derrick)"
-msgstr "Znaleziono klucz B (miejsce na kopalnię)"
+msgid "Research program completed"
+msgstr "Program badawczy zakończony"
-msgid "Found key C (site for derrick)"
-msgstr "Znaleziono klucz C (miejsce na kopalnię)"
+msgid "Reserved keyword of CBOT language"
+msgstr "Słowo zarezerwowane języka CBOT"
-msgid "Found key D (site for derrick)"
-msgstr "Znaleziono klucz D (miejsce na kopalnię)"
+msgid "Resolution"
+msgstr "Rozdzielczość"
-msgid "Titanium deposit (site for derrick)"
-msgstr "Złoże tytanu (miejsce na kopalnię)"
+msgid "Restart\\Restart the mission from the beginning"
+msgstr "Uruchom ponownie\\Uruchamia ponownie misję od początku"
-msgid "Practice bot"
-msgstr "Robot treningowy"
+msgid "Return to start"
+msgstr "Powrót do początku"
-msgid "Winged grabber"
-msgstr "Transporter latający"
+msgid "Robbie"
+msgstr "Robbie"
-msgid "Tracked grabber"
-msgstr "Transporter na gąsienicach"
+msgid "Robbie\\Your assistant"
+msgstr "Robbie\\Twój asystent"
-msgid "Wheeled grabber"
-msgstr "Transporter na kołach"
+msgid "Ruin"
+msgstr "Ruiny"
-msgid "Legged grabber"
-msgstr "Transporter na nogach"
+msgid "Run research program for defense tower"
+msgstr "Rozpocznij prace badawcze nad wieżą obronną"
-msgid "Winged shooter"
-msgstr "Działo latające"
+msgid "Run research program for legged bots"
+msgstr "Rozpocznij prace badawcze nad transporterem na nogach"
-msgid "Tracked shooter"
-msgstr "Działo na gąsienicach"
+msgid "Run research program for nuclear power"
+msgstr "Rozpocznij prace badawcze nad energią atomową"
-msgid "Wheeled shooter"
-msgstr "Działo na kołach"
+msgid "Run research program for orga shooter"
+msgstr "Rozpocznij prace badawcze nad działem organicznym"
-msgid "Legged shooter"
-msgstr "Działo na nogach"
+msgid "Run research program for phazer shooter"
+msgstr "Rozpocznij prace badawcze nad działem fazowym"
-msgid "Winged orga shooter"
-msgstr "Latające działo organiczne"
+msgid "Run research program for shielder"
+msgstr "Rozpocznij prace badawcze nad robotem osłaniaczem"
-msgid "Tracked orga shooter"
-msgstr "Działo organiczne na gąsienicach"
+msgid "Run research program for shooter"
+msgstr "Rozpocznij prace badawcze nad działem"
-msgid "Wheeled orga shooter"
-msgstr "Działo organiczne na kołach"
+msgid "Run research program for thumper"
+msgstr "Rozpocznij prace badawcze nad robotem uderzaczem"
-msgid "Legged orga shooter"
-msgstr "Działo organiczne na nogach"
+msgid "Run research program for tracked bots"
+msgstr "Rozpocznij prace badawcze nad transporterem na gąsienicach"
-msgid "Winged sniffer"
-msgstr "Szperacz latający"
+msgid "Run research program for winged bots"
+msgstr "Rozpocznij prace badawcze nad transporterem latającym"
-msgid "Tracked sniffer"
-msgstr "Szperacz na gąsienicach"
+msgid "SatCom"
+msgstr "SatCom"
-msgid "Wheeled sniffer"
-msgstr "Szperacz na kołach"
+msgid "Satellite report"
+msgstr "Raport z satelity"
-msgid "Legged sniffer"
-msgstr "Szperacz na nogach"
+msgid "Save"
+msgstr "Zapisz"
-msgid "Thumper"
-msgstr "Uderzacz"
+msgid "Save (Ctrl+s)"
+msgstr "Zapisz (Ctrl+S)"
-msgid "Phazer shooter"
-msgstr "Działo fazowe"
+msgid "Save the current mission"
+msgstr "Zapisz bieżącą misję"
-msgid "Recycler"
-msgstr "Recykler"
+msgid "Save\\Save the current mission "
+msgstr "Zapisz\\Zapisuje bieżącą misję"
+
+msgid "Save\\Saves the current mission"
+msgstr "Zapisz\\Zapisuje bieżącą misję"
+
+msgid "Scrolling\\Scrolling when the mouse touches right or left border"
+msgstr ""
+"Przewijanie\\Ekran jest przewijany gdy mysz dotknie prawej lub lewej jego "
+"krawędzi"
+
+msgid "Select the astronaut\\Selects the astronaut"
+msgstr "Zaznacz astronautę\\Zaznacza astronautę"
+
+msgid "Semicolon terminator missing"
+msgstr "Brak średnika na końcu wiersza"
+
+msgid "Shadows\\Shadows on the ground"
+msgstr "Cienie\\Cienie na ziemi"
+
+msgid "Shield level"
+msgstr "Poziom osłony"
+
+msgid "Shield radius"
+msgstr "Zasięg osłony"
msgid "Shielder"
msgstr "Osłaniacz"
-msgid "Subber"
-msgstr "Robot nurek"
+msgid "Shift"
+msgstr "Shift"
-msgid "Target bot"
-msgstr "Robot cel"
+msgid "Shoot (\\key action;)"
+msgstr "Strzelaj (\\key action;)"
-msgid "Drawer bot"
-msgstr "Drawer bot"
+msgid "Show if the ground is flat"
+msgstr "Pokaż czy teren jest płaski"
-msgid "Engineer"
-msgstr "Inżynier"
+msgid "Show the place"
+msgstr "Pokaż miejsce"
-msgid "Robbie"
-msgstr "Robbie"
+msgid "Show the range"
+msgstr "Pokaż zasięg"
-msgid "Alien Queen"
-msgstr "Królowa Obcych"
+msgid "Show the solution"
+msgstr "Pokaż rozwiązanie"
-msgid "Ant"
-msgstr "Mrówka"
+msgid "Sign \" : \" missing"
+msgstr "Brak znaku \" :\""
-msgid "Spider"
-msgstr "Pająk"
+msgid "Size 1"
+msgstr "Wielkość 1"
-msgid "Wasp"
-msgstr "Osa"
+msgid "Size 2"
+msgstr "Wielkość 2"
-msgid "Worm"
-msgstr "Robal"
+msgid "Size 3"
+msgstr "Wielkość 3"
-msgid "Egg"
-msgstr "Jajo"
+msgid "Size 4"
+msgstr "Wielkość 4"
-msgid "Wreckage"
-msgstr "Wrak"
+msgid "Size 5"
+msgstr "Wielkość 5"
-msgid "Ruin"
-msgstr "Ruiny"
+msgid "Sky\\Clouds and nebulae"
+msgstr "Niebo\\Chmury i mgławice"
-msgid "Waste"
-msgstr "Odpady"
+msgid "Sniff (\\key action;)"
+msgstr "Szukaj (\\key action;)"
+
+msgid "Solution"
+msgstr "Rozwiązanie"
+
+msgid "Sound effects:\\Volume of engines, voice, shooting, etc."
+msgstr "Efekty dźwiękowe:\\Głośność silników, głosów, strzałów, itp."
+
+msgid "Sound\\Music and game sound volume"
+msgstr "Dźwięk\\Głośność muzyki i dźwięków gry"
+
+msgid "Spaceship"
+msgstr "Statek kosmiczny"
msgid "Spaceship ruin"
msgstr "Ruiny statku kosmicznego"
-msgid "Remains of Apollo mission"
-msgstr "Pozostałości z misji Apollo"
+msgid "Speed 1.0x\\Normal speed"
+msgstr "Prędkość 1,0x\\Prędkość normalna"
-msgid "Lunar Roving Vehicle"
-msgstr "Pojazd Księżycowy"
+msgid "Speed 1.5x\\1.5 times faster"
+msgstr "Prędkość 1,5x\\1,5 raza szybciej"
-msgid "Error"
-msgstr "Błąd"
+msgid "Speed 2.0x\\Double speed"
+msgstr "Prędkość 2,0x\\Dwa razy szybciej"
-msgid "Unknown command"
-msgstr "Nieznane polecenie"
+msgid "Speed 3.0x\\Three times faster"
+msgstr "Prędkość 3,0x\\Trzy razy szybciej"
-msgid "Inappropriate bot"
-msgstr "Nieodpowiedni robot"
+msgid "Spider"
+msgstr "Pająk"
-msgid "Impossible when flying"
-msgstr "Niemożliwe podczas lotu"
+msgid "Spider fatally wounded"
+msgstr "Pająk śmiertelnie raniony"
-msgid "Already carrying something"
-msgstr "Nie można nieść więcej przedmiotów"
+msgid "Stack overflow"
+msgstr "Przepełnienie stosu"
-msgid "Nothing to grab"
-msgstr "Nie ma nic do podniesienia"
+msgid ""
+"Standard action\\Standard action of the bot (take/grab, shoot, sniff, etc)"
+msgstr ""
+"Standardowa akcja\\Standardowa akcja robota (podnieś/upuść, strzelaj, "
+"szukaj, itp.)"
-msgid "Impossible when moving"
-msgstr "Niemożliwe podczas ruchu"
+msgid "Standard controls\\Standard key functions"
+msgstr "Standardowa kontrola\\Standardowe klawisze funkcyjne"
-msgid "Place occupied"
-msgstr "Miejsce zajęte"
+msgid "Standard\\Standard appearance settings"
+msgstr "Standardowe\\Standardowe ustawienia wyglądu"
-msgid "No other robot"
-msgstr "Brak innego robota"
+msgid "Start"
+msgstr "Początek"
-msgid "You can not carry a radioactive object"
-msgstr "Nie możesz przenosić przedmiotów radioaktywnych"
+msgid "Still working ..."
+msgstr "Wciąż pracuje..."
-msgid "You can not carry an object under water"
-msgstr "Nie możesz przenosić przedmiotów pod wodą"
+msgid "String missing"
+msgstr "Brak łańcucha"
-msgid "Nothing to drop"
-msgstr "Nie ma nic do upuszczenia"
+msgid "Strip color:"
+msgstr "Kolor pasków:"
-msgid "Impossible under water"
-msgstr "Niemożliwe pod wodą"
+msgid "Subber"
+msgstr "Robot nurek"
-msgid "Not enough energy"
-msgstr "Za mało energii"
+msgid "Suit color:"
+msgstr "Kolor skafandra:"
-msgid "Titanium too far away"
-msgstr "Tytan za daleko"
+msgid "Suit\\Astronaut suit"
+msgstr "Skafander\\Skafander astronauty"
-msgid "Titanium too close"
-msgstr "Tytan za blisko"
+msgid "Sunbeams\\Sunbeams in the sky"
+msgstr "Promienie słoneczne\\Promienie słoneczne na niebie"
-msgid "No titanium around"
-msgstr "Brak tytanu w pobliżu"
+msgid "Survival kit"
+msgstr "Zestaw przetrwania"
-msgid "Ground not flat enough"
-msgstr "Powierzchnia nie jest wystarczająco płaska"
+msgid "Switch bots <-> buildings"
+msgstr "Przełącz roboty <-> budynki"
-msgid "Flat ground not large enough"
-msgstr "Za mało płaskiego terenu"
+msgid "Take off to finish the mission"
+msgstr "Odleć, aby zakończyć misję"
-msgid "Too close to space ship"
-msgstr "Za blisko statku kosmicznego"
+msgid "Target"
+msgstr "Cel"
-msgid "Too close to a building"
-msgstr "Za blisko budynku"
+msgid "Target bot"
+msgstr "Robot cel"
-msgid "Ground inappropriate"
-msgstr "Nieodpowiedni teren"
+msgid "Textures\\Quality of textures "
+msgstr "Tekstury\\Jakość tekstur "
-msgid "Building too close"
-msgstr "Budynek za blisko"
+msgid "The expression must return a boolean value"
+msgstr "Wyrażenie musi zwrócić wartość logiczną"
-msgid "Object too close"
-msgstr "Obiekt za blisko"
+msgid "The function returned no value "
+msgstr "Funkcja nie zwróciła żadnej wartości "
-msgid "Nothing to recycle"
-msgstr "Nie ma niczego do odzysku"
+msgid ""
+"The list is only available if a \\l;radar station\\u object\\radar; is "
+"working.\n"
+msgstr ""
+"Lista jest dostępna jedynie gdy działa \\l;stacja radarowa\\u object"
+"\\radar;.\n"
-msgid "No more energy"
-msgstr "Nie ma więcej energii"
+msgid ""
+"The mission is not accomplished yet (press \\key help; for more details)"
+msgstr "Misja nie jest wypełniona (naciśnij \\key help; aby uzyskać szczegóły)"
-msgid "Error in instruction move"
-msgstr "Błąd w poleceniu ruchu"
+msgid "The types of the two operands are incompatible "
+msgstr "Niezgodne typy operatorów"
-msgid "Object not found"
-msgstr "Obiekt nieznany"
+msgid "This class already exists"
+msgstr "Taka klasa już istnieje"
-msgid "Goto: inaccessible destination"
-msgstr "Goto: miejsce docelowe niedostępne"
+msgid "This class does not exist"
+msgstr "Taka klasa nie istnieje"
-msgid "Goto: destination occupied"
-msgstr "Goto: miejsce docelowe zajęte"
+msgid "This is not a member of this class"
+msgstr "To nie jest obiekt tej klasy"
-msgid "No titanium ore to convert"
-msgstr "Brak rudy tytanu do przetopienia"
+msgid "This label does not exist"
+msgstr "Taka etykieta nie istnieje"
-msgid "No ore in the subsoil"
-msgstr "W ziemi nie ma żadnej rudy"
+msgid "This object is not a member of a class"
+msgstr "Ten obiekt nie jest członkiem klasy"
-msgid "No energy in the subsoil"
-msgstr "Brak energii w ziemi"
+msgid "Thump (\\key action;)"
+msgstr "Uderz (\\key action;)"
-msgid "No power cell"
-msgstr "Brak ogniwa elektrycznego"
+msgid "Thumper"
+msgstr "Uderzacz"
-msgid "Inappropriate cell type"
-msgstr "Nieodpowiedni rodzaj ogniw"
+msgid "Titanium"
+msgstr "Tytan"
-msgid "Research program already performed"
-msgstr "Program badawczy został już wykonany"
+msgid "Titanium available"
+msgstr "Tytan dostępny"
-msgid "Not enough energy yet"
-msgstr "Wciąż za mało energii"
+msgid "Titanium deposit (site for derrick)"
+msgstr "Złoże tytanu (miejsce na kopalnię)"
-msgid "No titanium to transform"
-msgstr "Brak tytanu do przetworzenia"
+msgid "Titanium ore"
+msgstr "Ruda tytanu"
-msgid "Transforms only titanium"
-msgstr "Przetwarza jedynie tytan"
+msgid "Titanium too close"
+msgstr "Tytan za blisko"
-msgid "Doors blocked by a robot or another object "
-msgstr "Drzwi zablokowane przez robota lub inny obiekt "
+msgid "Titanium too far away"
+msgstr "Tytan za daleko"
-msgid "You must get on the spaceship to take off "
-msgstr "Musisz być na statku kosmicznym aby nim odlecieć"
+msgid "Too close to a building"
+msgstr "Za blisko budynku"
-msgid "Nothing to analyze"
-msgstr "Nie ma niczego do zanalizowania"
+msgid "Too close to an existing flag"
+msgstr "Za blisko istniejącej flagi"
-msgid "Analyzes only organic matter"
-msgstr "Analizuje jedynie materię organiczną"
+msgid "Too close to space ship"
+msgstr "Za blisko statku kosmicznego"
-msgid "Analysis already performed"
-msgstr "Analiza została już wykonana"
+msgid "Too many flags of this color (maximum 5)"
+msgstr "Za dużo flag w tym kolorze (maksymalnie 5)"
-msgid "Not yet enough energy"
-msgstr "Wciąż za mało energii"
+msgid "Too many parameters"
+msgstr "Za dużo parametrów"
-msgid "No uranium to transform"
-msgstr "Brak uranu do przetworzenia"
+msgid "Tracked grabber"
+msgstr "Transporter na gąsienicach"
-msgid "Transforms only uranium"
-msgstr "Przetwarza jedynie uran"
+msgid "Tracked orga shooter"
+msgstr "Działo organiczne na gąsienicach"
-msgid "No titanium"
-msgstr "Brak tytanu"
+msgid "Tracked shooter"
+msgstr "Działo na gąsienicach"
-msgid "No information exchange post within range"
-msgstr "Nie ma żadnej stacji przekaźnikowej w zasięgu"
+msgid "Tracked sniffer"
+msgstr "Szperacz na gąsienicach"
-msgid "Program infected by a virus"
-msgstr "Program zawirusowany"
+msgid "Transforms only titanium"
+msgstr "Przetwarza jedynie tytan"
-msgid "Infected by a virus, temporarily out of order"
-msgstr "Zainfekowane wirusem, chwilowo niesprawne"
+msgid "Transforms only uranium"
+msgstr "Przetwarza jedynie uran"
-msgid "Impossible when swimming"
-msgstr "Niemożliwe podczas pływania"
+msgid "Transmitted information"
+msgstr "Przesłane informacje"
-msgid "Impossible when carrying an object"
-msgstr "Niemożliwe podczas przenoszenia przedmiotu"
+msgid "Turn left (\\key left;)"
+msgstr "Skręć w lewo (\\key left;)"
-msgid "Too many flags of this color (maximum 5)"
-msgstr "Za dużo flag w tym kolorze (maksymalnie 5)"
+msgid "Turn left\\turns the bot to the left"
+msgstr "Skręć w lewo\\Obraca robota w lewo"
-msgid "Too close to an existing flag"
-msgstr "Za blisko istniejącej flagi"
+msgid "Turn right (\\key right;)"
+msgstr "Skręć w prawo (\\key right;)"
-msgid "No flag nearby"
-msgstr "Nie ma flagi w pobliżu"
+msgid "Turn right\\turns the bot to the right"
+msgstr "Obróć w prawo\\Obraca robota w prawo"
-msgid ""
-"The mission is not accomplished yet (press \\key help; for more details)"
-msgstr "Misja nie jest wypełniona (naciśnij \\key help; aby uzyskać szczegóły)"
+msgid "Type declaration missing"
+msgstr "Brak deklaracji typu"
-msgid "Bot destroyed"
-msgstr "Robot zniszczony"
+msgid "Undo (Ctrl+z)"
+msgstr "Cofnij (Ctrl+Z)"
-msgid "Building destroyed"
-msgstr "Budynek zniszczony"
+msgid "Unit"
+msgstr "Jednostka"
-msgid "Can not create this, there are too many objects"
-msgstr "Nie można tego utworzyć, za dużo obiektów"
+msgid "Unknown Object"
+msgstr "Obiekt nieznany"
-msgid "\"%s\" missing in this exercise"
-msgstr "It misses \"%s\" in this exercise"
+msgid "Unknown command"
+msgstr "Nieznane polecenie"
-msgid "Do not use in this exercise"
-msgstr "Do not use in this exercise"
+msgid "Unknown function"
+msgstr "Funkcja nieznana"
-msgid "Building completed"
-msgstr "Budowa zakończona"
+msgid "Up (\\key gup;)"
+msgstr "Góra (\\key gup;)"
-msgid "Titanium available"
-msgstr "Tytan dostępny"
+msgid "Uranium deposit (site for derrick)"
+msgstr "Złoże uranu (miejsce na kopalnię)"
-msgid "Research program completed"
-msgstr "Program badawczy zakończony"
+msgid "Uranium ore"
+msgstr "Ruda uranu"
-msgid "Plans for tracked robots available "
-msgstr "Dostępne plany tranporterów na gąsienicach"
+msgid "Use a joystick\\Joystick or keyboard"
+msgstr "Używaj joysticka\\Joystick lub klawiatura"
-msgid "You can fly with the keys (\\key gup;) and (\\key gdown;)"
-msgstr "Możesz latać używając klawiszy (\\key gup;) oraz (\\key gdown;)"
+msgid "User levels"
+msgstr "Poziomy użytkownika"
-msgid "Plans for thumper available"
-msgstr "Dostępne plany robota uderzacza"
+msgid "User\\User levels"
+msgstr "Poziomy\\Poziomy użytkownika"
-msgid "Plans for shooter available"
-msgstr "Dostępne plany działa"
+msgid "Variable name missing"
+msgstr "Brak nazwy zmiennej"
-msgid "Plans for defense tower available"
-msgstr "Dostępne plany wieży obronnej"
+msgid "Variable not declared"
+msgstr "Zmienna nie została zadeklarowana"
-msgid "Plans for phazer shooter available"
-msgstr "Dostępne plany działa fazowego"
+msgid "Variable not initialized"
+msgstr "Zmienna nie została zainicjalizowana"
-msgid "Plans for shielder available"
-msgstr "Dostępne plany robota osłaniacza"
+msgid "Vault"
+msgstr "Skrytka"
-msgid "Plans for nuclear power plant available"
-msgstr "Dostępne plany elektrowni atomowej"
+msgid "Violet flag"
+msgstr "Fioletowa flaga"
-msgid "New bot available"
-msgstr "Dostępny nowy robot"
+msgid "Void parameter"
+msgstr "Pusty parametr"
-msgid "Analysis performed"
-msgstr "Analiza wykonana"
+msgid "Wasp"
+msgstr "Osa"
-msgid "Power cell available"
-msgstr "Wytworzono ogniwo elektryczne"
+msgid "Wasp fatally wounded"
+msgstr "Osa śmiertelnie raniona"
-msgid "Nuclear power cell available"
-msgstr "Wytworzono atomowe ogniwo elektryczne"
+msgid "Waste"
+msgstr "Odpady"
-msgid "You found a usable object"
-msgstr "Znaleziono użyteczny przedmiot"
+msgid "Wheeled grabber"
+msgstr "Transporter na kołach"
-msgid "Found a site for power station"
-msgstr "Znaleziono miejsce na elektrownię"
+msgid "Wheeled orga shooter"
+msgstr "Działo organiczne na kołach"
-msgid "Found a site for a derrick"
-msgstr "Znaleziono miejsce na kopalnię"
+msgid "Wheeled shooter"
+msgstr "Działo na kołach"
-msgid "<<< Well done, mission accomplished >>>"
-msgstr "<<< Dobra robota, misja wypełniona >>>"
+msgid "Wheeled sniffer"
+msgstr "Szperacz na kołach"
-msgid "<<< Sorry, mission failed >>>"
-msgstr "<<< Niestety, misja nie powiodła się >>>"
+msgid "Win"
+msgstr ""
-msgid "Current mission saved"
-msgstr "Bieżąca misja zapisana"
+msgid "Winged grabber"
+msgstr "Transporter latający"
-msgid "Checkpoint crossed"
-msgstr "Przekroczono punkt kontrolny"
+msgid "Winged orga shooter"
+msgstr "Latające działo organiczne"
-msgid "Alien Queen killed"
-msgstr "Królowa Obcych została zabita"
+msgid "Winged shooter"
+msgstr "Działo latające"
-msgid "Ant fatally wounded"
-msgstr "Mrówka śmiertelnie raniona"
+msgid "Winged sniffer"
+msgstr "Szperacz latający"
-msgid "Wasp fatally wounded"
-msgstr "Osa śmiertelnie raniona"
+msgid "Withdraw shield (\\key action;)"
+msgstr "Wyłącz osłonę (\\key action;)"
+
+msgid "Worm"
+msgstr "Robal"
msgid "Worm fatally wounded"
msgstr "Robal śmiertelnie raniony"
-msgid "Spider fatally wounded"
-msgstr "Pająk śmiertelnie raniony"
+msgid "Wreckage"
+msgstr "Wrak"
-msgid "Press \\key help; to read instructions on your SatCom"
-msgstr ""
-"Naciśnij klawisz \\key help; aby wyświetlić rozkazy na przekaźniku SatCom"
+msgid "Write error"
+msgstr "Błąd zapisu"
-msgid "Opening bracket missing"
-msgstr "Brak nawiasu otwierającego"
+msgid "Wrong type for the assignment"
+msgstr "Zły typ dla przypisania"
-msgid "Closing bracket missing "
-msgstr "Brak nawiasu zamykającego"
+msgid "Yellow flag"
+msgstr "Żółta flaga"
-msgid "The expression must return a boolean value"
-msgstr "Wyrażenie musi zwrócić wartość logiczną"
+msgid "You can fly with the keys (\\key gup;) and (\\key gdown;)"
+msgstr "Możesz latać używając klawiszy (\\key gup;) oraz (\\key gdown;)"
-msgid "Variable not declared"
-msgstr "Zmienna nie została zadeklarowana"
+msgid "You can not carry a radioactive object"
+msgstr "Nie możesz przenosić przedmiotów radioaktywnych"
-msgid "Assignment impossible"
-msgstr "Przypisanie niemożliwe"
+msgid "You can not carry an object under water"
+msgstr "Nie możesz przenosić przedmiotów pod wodą"
-msgid "Semicolon terminator missing"
-msgstr "Brak średnika na końcu wiersza"
+msgid "You found a usable object"
+msgstr "Znaleziono użyteczny przedmiot"
-msgid "Instruction \"case\" outside a block \"switch\""
-msgstr "Polecenie \"case\" na zewnątrz bloku \"switch\""
+msgid "You must get on the spaceship to take off "
+msgstr "Musisz być na statku kosmicznym aby nim odlecieć"
-msgid "Instructions after the final closing brace"
-msgstr "Polecenie po końcowej klamrze zamykającej"
+msgid "Zoom mini-map"
+msgstr "Powiększenie mapki"
-msgid "End of block missing"
-msgstr "Brak końca bloku"
+msgid "\\Blue flags"
+msgstr "\\Niebieskie flagi"
-msgid "Instruction \"else\" without corresponding \"if\" "
-msgstr "Polecenie \"else\" bez wystąpienia \"if\" "
+msgid "\\Eyeglasses 1"
+msgstr "\\Okulary 1"
-msgid "Opening brace missing "
-msgstr "Brak klamry otwierającej"
+msgid "\\Eyeglasses 2"
+msgstr "\\Okulary 2"
-msgid "Wrong type for the assignment"
-msgstr "Zły typ dla przypisania"
+msgid "\\Eyeglasses 3"
+msgstr "\\Okulary 3"
-msgid "A variable can not be declared twice"
-msgstr "Zmienna nie może być zadeklarowana dwukrotnie"
+msgid "\\Eyeglasses 4"
+msgstr "\\Okulary 4"
-msgid "The types of the two operands are incompatible "
-msgstr "Niezgodne typy operatorów"
+msgid "\\Eyeglasses 5"
+msgstr "\\Okulary 5"
-msgid "Unknown function"
-msgstr "Funkcja nieznana"
+msgid "\\Face 1"
+msgstr "\\Twarz 1"
-msgid "Sign \" : \" missing"
-msgstr "Brak znaku \" :\""
+msgid "\\Face 2"
+msgstr "\\Twarz 2"
-msgid "Keyword \"while\" missing"
-msgstr "Brak kluczowego słowa \"while"
+msgid "\\Face 3"
+msgstr "\\Twarz 3"
-msgid "Instruction \"break\" outside a loop"
-msgstr "Polecenie \"break\" na zewnątrz pętli"
+msgid "\\Face 4"
+msgstr "\\Twarz 4"
-msgid "A label must be followed by \"for\", \"while\", \"do\" or \"switch\""
-msgstr "Po etykiecie musi wystąpić \"for\", \"while\", \"do\" lub \"switch\""
+msgid "\\Green flags"
+msgstr "\\Zielone flagi"
-msgid "This label does not exist"
-msgstr "Taka etykieta nie istnieje"
+msgid "\\New player name"
+msgstr "\\Nowe imię gracza"
-msgid "Instruction \"case\" missing"
-msgstr "Brak polecenia \"case"
+msgid "\\No eyeglasses"
+msgstr "\\Bez okularów"
-msgid "Number missing"
-msgstr "Brak liczby"
+msgid "\\Raise the pencil"
+msgstr "\\Relčve le crayon"
-msgid "Void parameter"
-msgstr "Pusty parametr"
+msgid "\\Red flags"
+msgstr "\\Czerwone flagi"
-msgid "Type declaration missing"
-msgstr "Brak deklaracji typu"
+msgid "\\Return to COLOBOT"
+msgstr "\\Powróć do gry COLOBOT"
-msgid "Variable name missing"
-msgstr "Brak nazwy zmiennej"
+msgid "\\SatCom on standby"
+msgstr "\\Przełącz przekaźnik SatCom w stan gotowości"
-msgid "Function name missing"
-msgstr "Brakująca nazwa funkcji"
+msgid "\\Start recording"
+msgstr "\\Démarre l'enregistrement"
-msgid "Too many parameters"
-msgstr "Za dużo parametrów"
+msgid "\\Stop recording"
+msgstr "\\Stoppe l'enregistrement"
-msgid "Function already exists"
-msgstr "Funkcja już istnieje"
+msgid "\\Turn left"
+msgstr "\\Obróć w lewo"
-msgid "Parameters missing "
-msgstr "Brak wymaganego parametru"
+msgid "\\Turn right"
+msgstr "\\Obróć w prawo"
-msgid "No function with this name accepts this kind of parameter"
-msgstr "Funkcja o tej nazwie nie akceptuje parametrów tego typu"
+msgid "\\Use the black pencil"
+msgstr "\\Abaisse le crayon noir"
-msgid "No function with this name accepts this number of parameters"
-msgstr "Funkcja o tej nazwie nie akceptuje takiej liczby parametrów"
+msgid "\\Use the blue pencil"
+msgstr "\\Abaisse le crayon bleu"
-msgid "This is not a member of this class"
-msgstr "To nie jest obiekt tej klasy"
+msgid "\\Use the brown pencil"
+msgstr "\\Abaisse le crayon brun"
-msgid "This object is not a member of a class"
-msgstr "Ten obiekt nie jest członkiem klasy"
+msgid "\\Use the green pencil"
+msgstr "\\Abaisse le crayon vert"
-msgid "Appropriate constructor missing"
-msgstr "Brak odpowiedniego konstruktora"
+msgid "\\Use the orange pencil"
+msgstr "\\Abaisse le crayon orange"
-msgid "This class already exists"
-msgstr "Taka klasa już istnieje"
+msgid "\\Use the purple pencil"
+msgstr "\\Abaisse le crayon violet"
-msgid "\" ] \" missing"
-msgstr "Brak \" ] \""
+msgid "\\Use the red pencil"
+msgstr "\\Abaisse le crayon rouge"
-msgid "Reserved keyword of CBOT language"
-msgstr "Słowo zarezerwowane języka CBOT"
+msgid "\\Use the yellow pencil"
+msgstr "\\Abaisse le crayon jaune"
-msgid "Bad argument for \"new\""
-msgstr "Zły argument dla funkcji \"new\""
+msgid "\\Violet flags"
+msgstr "\\Fioletowe flagi"
-msgid "\" [ \" expected"
-msgstr "Oczekiwane \" [ \""
+msgid "\\Yellow flags"
+msgstr "\\Żółte flagi"
-msgid "String missing"
-msgstr "Brak łańcucha"
+msgid "\\b;Aliens\n"
+msgstr "\\b;Obcy\n"
-msgid "Incorrect index type"
-msgstr "Nieprawidłowy typ indeksu"
+msgid "\\b;Buildings\n"
+msgstr "\\b;Budynki\n"
-msgid "Private element"
-msgstr "Element prywatny"
+msgid "\\b;Error\n"
+msgstr "\\b;Błąd\n"
-msgid "Public required"
-msgstr "Wymagany publiczny"
+msgid "\\b;List of objects\n"
+msgstr "\\b;Lista obiektów\n"
-msgid "Dividing by zero"
-msgstr "Dzielenie przez zero"
+msgid "\\b;Moveable objects\n"
+msgstr "\\b;Obiekty ruchome\n"
-msgid "Variable not initialized"
-msgstr "Zmienna nie została zainicjalizowana"
+msgid "\\b;Robots\n"
+msgstr "\\b;Roboty\n"
-msgid "Negative value rejected by \"throw\""
-msgstr "Wartość ujemna odrzucona przez \"throw\""
+msgid "\\c; (none)\\n;\n"
+msgstr "\\c; (brak)\\n;\n"
-msgid "The function returned no value "
-msgstr "Funkcja nie zwróciła żadnej wartości "
+msgid "action;"
+msgstr ""
-msgid "No function running"
-msgstr "Żadna funkcja nie działa"
+msgid "away;"
+msgstr ""
-msgid "Calling an unknown function"
-msgstr "Odwołanie do nieznanej funkcji"
+msgid "camera;"
+msgstr ""
-msgid "This class does not exist"
-msgstr "Taka klasa nie istnieje"
+msgid "cbot;"
+msgstr ""
-msgid "Unknown Object"
-msgstr "Obiekt nieznany"
+msgid "desel;"
+msgstr ""
-msgid "Operation impossible with value \"nan\""
-msgstr "Działanie niemożliwe z wartością \"nan\""
+msgid "down;"
+msgstr ""
-msgid "Access beyond array limit"
-msgstr "Dostęp poza tablicę"
+msgid "gdown;"
+msgstr ""
-msgid "Stack overflow"
-msgstr "Przepełnienie stosu"
+msgid "gup;"
+msgstr ""
-msgid "Illegal object"
-msgstr "Nieprawidłowy obiekt"
+msgid "help;"
+msgstr ""
-msgid "Can't open file"
-msgstr "Nie można otworzyć pliku"
+msgid "human;"
+msgstr ""
-msgid "File not open"
-msgstr "Plik nie jest otwarty"
+msgid "left;"
+msgstr ""
-msgid "Read error"
-msgstr "Błąd odczytu"
+msgid "near;"
+msgstr ""
-msgid "Write error"
-msgstr "Błąd zapisu"
+msgid "next;"
+msgstr ""
+
+msgid "prog;"
+msgstr ""
+
+msgid "quit;"
+msgstr ""
+
+msgid "right;"
+msgstr ""
+
+msgid "speed10;"
+msgstr ""
+
+msgid "speed15;"
+msgstr ""
-msgid "< none >"
-msgstr "< brak >"
+msgid "speed20;"
+msgstr ""
-msgid "Arrow left"
-msgstr "Strzałka w lewo"
+msgid "up;"
+msgstr ""
-msgid "Arrow right"
-msgstr "Strzałka w prawo"
+msgid "visit;"
+msgstr ""
-msgid "Arrow up"
-msgstr "Strzałka w górę"
+msgid "www.epsitec.com"
+msgstr "www.epsitec.com"
-msgid "Arrow down"
-msgstr "Strzałka w dół"
+#~ msgid "< none >"
+#~ msgstr "< brak >"
-msgid "Control-break"
-msgstr "Ctrl-break"
+#~ msgid "<--"
+#~ msgstr "<--"
-msgid "<--"
-msgstr "<--"
+#~ msgid "Application key"
+#~ msgstr "Klawisz menu kontekstowego"
-msgid "Tab"
-msgstr "Tab"
+#~ msgid "Arrow down"
+#~ msgstr "Strzałka w dół"
-msgid "Clear"
-msgstr "Delete"
+#~ msgid "Arrow left"
+#~ msgstr "Strzałka w lewo"
-msgid "Enter"
-msgstr "Enter"
+#~ msgid "Arrow right"
+#~ msgstr "Strzałka w prawo"
-msgid "Shift"
-msgstr "Shift"
+#~ msgid "Arrow up"
+#~ msgstr "Strzałka w górę"
-msgid "Ctrl"
-msgstr "Ctrl"
+#~ msgid "Attn"
+#~ msgstr "Attn"
-msgid "Alt"
-msgstr "Alt"
+#~ msgid "Caps Lock"
+#~ msgstr "Caps Lock"
-msgid "Pause"
-msgstr "Pause"
+#~ msgid "Clear"
+#~ msgstr "Delete"
-msgid "Caps Lock"
-msgstr "Caps Lock"
+#~ msgid "Control-break"
+#~ msgstr "Ctrl-break"
-msgid "Esc"
-msgstr "Esc"
+#~ msgid "CrSel"
+#~ msgstr "CrSel"
-msgid "Space"
-msgstr "Spacja"
+#~ msgid "Delete Key"
+#~ msgstr "Delete"
-msgid "Page Up"
-msgstr "Page Up"
+#~ msgid "Dictionnary"
+#~ msgstr "Raport z satelity"
-msgid "Page Down"
-msgstr "Page Down"
+#~ msgid "Disintegrator"
+#~ msgstr "Fabryka ogniw elektrycznych"
-msgid "End"
-msgstr "End"
+#~ msgid "End"
+#~ msgstr "End"
-msgid "Home Key"
-msgstr "Home"
+#~ msgid "Enter"
+#~ msgstr "Enter"
-msgid "Select"
-msgstr "Zaznacz"
+#~ msgid "Erase EOF"
+#~ msgstr "Erase EOF"
-msgid "Execute"
-msgstr "Wykonaj"
+#~ msgid "Error"
+#~ msgstr "Błąd"
-msgid "Print Scrn"
-msgstr "Print Scrn"
+#~ msgid "Esc"
+#~ msgstr "Esc"
-msgid "Insert"
-msgstr "Insert"
+#~ msgid "ExSel"
+#~ msgstr "ExSel"
-msgid "Delete Key"
-msgstr "Delete"
+#~ msgid "Execute"
+#~ msgstr "Wykonaj"
-msgid "Help"
-msgstr "Pomoc"
+#~ msgid "F1"
+#~ msgstr "F1"
-msgid "Left Windows"
-msgstr "Lewy klawisz Windows"
+#~ msgid "F10"
+#~ msgstr "F10"
-msgid "Right Windows"
-msgstr "Prawy klawisz Windows"
+#~ msgid "F11"
+#~ msgstr "F11"
-msgid "Application key"
-msgstr "Klawisz menu kontekstowego"
+#~ msgid "F12"
+#~ msgstr "F12"
-msgid "NumPad 0"
-msgstr "Klaw. Num. 0"
+#~ msgid "F13"
+#~ msgstr "F13"
-msgid "NumPad 1"
-msgstr "Klaw. Num. 1"
+#~ msgid "F14"
+#~ msgstr "F14"
-msgid "NumPad 2"
-msgstr "Klaw. Num. 2"
+#~ msgid "F15"
+#~ msgstr "F15"
-msgid "NumPad 3"
-msgstr "Klaw. Num. 3"
+#~ msgid "F16"
+#~ msgstr "F16"
-msgid "NumPad 4"
-msgstr "Klaw. Num. 4"
+#~ msgid "F17"
+#~ msgstr "F17"
-msgid "NumPad 5"
-msgstr "Klaw. Num. 5"
+#~ msgid "F18"
+#~ msgstr "F18"
-msgid "NumPad 6"
-msgstr "Klaw. Num. 6"
+#~ msgid "F19"
+#~ msgstr "F19"
-msgid "NumPad 7"
-msgstr "Klaw. Num. 7"
+#~ msgid "F2"
+#~ msgstr "F2"
-msgid "NumPad 8"
-msgstr "Klaw. Num. 8"
+#~ msgid "F20"
+#~ msgstr "F20"
-msgid "NumPad 9"
-msgstr "Klaw. Num. 9"
+#~ msgid "F3"
+#~ msgstr "F3"
-msgid "NumPad *"
-msgstr "Klaw. Num. *"
+#~ msgid "F4"
+#~ msgstr "F4"
-msgid "NumPad +"
-msgstr "Klaw. Num. +"
+#~ msgid "F5"
+#~ msgstr "F5"
-msgid "NumPad sep"
-msgstr "Klaw. Num. separator"
+#~ msgid "F6"
+#~ msgstr "F6"
-msgid "NumPad -"
-msgstr "Klaw. Num. -"
+#~ msgid "F7"
+#~ msgstr "F7"
-msgid "NumPad ."
-msgstr "Klaw. Num. ."
+#~ msgid "F8"
+#~ msgstr "F8"
-msgid "NumPad /"
-msgstr "Klaw. Num. /"
+#~ msgid "F9"
+#~ msgstr "F9"
-msgid "F1"
-msgstr "F1"
+#~ msgid "Help"
+#~ msgstr "Pomoc"
-msgid "F2"
-msgstr "F2"
+#~ msgid "Home Key"
+#~ msgstr "Home"
-msgid "F3"
-msgstr "F3"
+#~ msgid "Insert"
+#~ msgstr "Insert"
-msgid "F4"
-msgstr "F4"
+#~ msgid "Left Windows"
+#~ msgstr "Lewy klawisz Windows"
-msgid "F5"
-msgstr "F5"
+#~ msgid "Mini-map"
+#~ msgstr "Mapka"
-msgid "F6"
-msgstr "F6"
+#~ msgid "Num Lock"
+#~ msgstr "Num Lock"
-msgid "F7"
-msgstr "F7"
+#~ msgid "NumPad *"
+#~ msgstr "Klaw. Num. *"
-msgid "F8"
-msgstr "F8"
+#~ msgid "NumPad +"
+#~ msgstr "Klaw. Num. +"
-msgid "F9"
-msgstr "F9"
+#~ msgid "NumPad -"
+#~ msgstr "Klaw. Num. -"
-msgid "F10"
-msgstr "F10"
+#~ msgid "NumPad ."
+#~ msgstr "Klaw. Num. ."
-msgid "F11"
-msgstr "F11"
+#~ msgid "NumPad /"
+#~ msgstr "Klaw. Num. /"
-msgid "F12"
-msgstr "F12"
+#~ msgid "NumPad 0"
+#~ msgstr "Klaw. Num. 0"
-msgid "F13"
-msgstr "F13"
+#~ msgid "NumPad 1"
+#~ msgstr "Klaw. Num. 1"
-msgid "F14"
-msgstr "F14"
+#~ msgid "NumPad 2"
+#~ msgstr "Klaw. Num. 2"
-msgid "F15"
-msgstr "F15"
+#~ msgid "NumPad 3"
+#~ msgstr "Klaw. Num. 3"
-msgid "F16"
-msgstr "F16"
+#~ msgid "NumPad 4"
+#~ msgstr "Klaw. Num. 4"
-msgid "F17"
-msgstr "F17"
+#~ msgid "NumPad 5"
+#~ msgstr "Klaw. Num. 5"
-msgid "F18"
-msgstr "F18"
+#~ msgid "NumPad 6"
+#~ msgstr "Klaw. Num. 6"
-msgid "F19"
-msgstr "F19"
+#~ msgid "NumPad 7"
+#~ msgstr "Klaw. Num. 7"
-msgid "F20"
-msgstr "F20"
+#~ msgid "NumPad 8"
+#~ msgstr "Klaw. Num. 8"
-msgid "Num Lock"
-msgstr "Num Lock"
+#~ msgid "NumPad 9"
+#~ msgstr "Klaw. Num. 9"
-msgid "Scroll"
-msgstr "Scroll Lock"
+#~ msgid "NumPad sep"
+#~ msgstr "Klaw. Num. separator"
-msgid "Attn"
-msgstr "Attn"
+#~ msgid "PA1"
+#~ msgstr "PA1"
-msgid "CrSel"
-msgstr "CrSel"
+#~ msgid "Page Down"
+#~ msgstr "Page Down"
-msgid "ExSel"
-msgstr "ExSel"
+#~ msgid "Page Up"
+#~ msgstr "Page Up"
-msgid "Erase EOF"
-msgstr "Erase EOF"
+#~ msgid "Pause"
+#~ msgstr "Pause"
-msgid "Play"
-msgstr "Graj"
+#~ msgid "Play"
+#~ msgstr "Graj"
-msgid "Zoom"
-msgstr "Powiększenie"
+#~ msgid "Print Scrn"
+#~ msgstr "Print Scrn"
-msgid "PA1"
-msgstr "PA1"
+#~ msgid "Right Windows"
+#~ msgstr "Prawy klawisz Windows"
-msgid "Button %1"
-msgstr "Przycisk %1"
+#~ msgid "Scroll"
+#~ msgstr "Scroll Lock"
+
+#~ msgid "Select"
+#~ msgstr "Zaznacz"
+
+#~ msgid "Space"
+#~ msgstr "Spacja"
+
+#~ msgid "Tab"
+#~ msgstr "Tab"
+
+#~ msgid "Wheel down"
+#~ msgstr "Kółko w dół"
-msgid "Wheel up"
-msgstr "Kółko w górę"
+#~ msgid "Wheel up"
+#~ msgstr "Kółko w górę"
-msgid "Wheel down"
-msgstr "Kółko w dół"
+#~ msgid "Zoom"
+#~ msgstr "Powiększenie"
diff --git a/src/script/script.cpp b/src/script/script.cpp
index a6b39b9..f58e66d 100644
--- a/src/script/script.cpp
+++ b/src/script/script.cpp
@@ -1571,7 +1571,7 @@ bool CScript::rGrab(CBotVar* var, CBotVar* result, int& exception, void* user)
if ( script->m_primaryTask == 0 ) // no task in progress?
{
script->m_primaryTask = new CTaskManager(script->m_iMan, script->m_object);
- if ( var == 0 )
+ if ( var == 0 )
{
type = TMA_FFRONT;
}
@@ -2752,21 +2752,14 @@ void CScript::InitFonctions()
CScript::~CScript()
{
- if (m_botProg != nullptr)
- {
- delete m_botProg;
- m_botProg = nullptr;
- }
- if (m_primaryTask != nullptr)
- {
- delete m_primaryTask;
- m_primaryTask = nullptr;
- }
- if (m_script != nullptr)
- {
- delete m_script;
- m_script = nullptr;
- }
+ delete m_botProg;
+ m_botProg = nullptr;
+
+ delete m_primaryTask;
+ m_primaryTask = nullptr;
+
+ delete[] m_script;
+ m_script = nullptr;
m_len = 0;
@@ -2778,7 +2771,7 @@ CScript::~CScript()
void CScript::PutScript(Ui::CEdit* edit, const char* name)
{
- if ( m_script == 0 )
+ if ( m_script == nullptr )
{
New(edit, name);
}
@@ -2797,11 +2790,11 @@ bool CScript::GetScript(Ui::CEdit* edit)
{
int len;
- delete m_script;
- m_script = 0;
+ delete[] m_script;
+ m_script = nullptr;
len = edit->GetTextLength();
- m_script = static_cast<char*>(malloc(sizeof(char)*(len+1)));
+ m_script = new char[len+1];
edit->GetText(m_script, len+1);
edit->GetCursor(m_cursor2, m_cursor1);
@@ -3009,7 +3002,7 @@ void CScript::SetStepMode(bool bStep)
bool CScript::Run()
{
if( m_botProg == 0 ) return false;
- if ( m_script == 0 || m_len == 0 ) return false;
+ if ( m_script == nullptr || m_len == 0 ) return false;
if ( !m_botProg->Start(m_title) ) return false;
@@ -3487,9 +3480,9 @@ bool CScript::IntroduceVirus()
start = found[i+1];
i = found[i+0];
- newScript = static_cast<char*>(malloc(sizeof(char)*(m_len+strlen(names[i+1])+1)));
+ newScript = new char[m_len+strlen(names[i+1])+1];
strcpy(newScript, m_script);
- delete m_script;
+ delete[] m_script;
m_script = newScript;
DeleteToken(m_script, start, strlen(names[i]));
@@ -3650,7 +3643,7 @@ void CScript::New(Ui::CEdit* edit, const char* name)
bool CScript::SendScript(char* text)
{
m_len = strlen(text);
- m_script = static_cast<char*>(malloc(sizeof(char)*(m_len+1)));
+ m_script = new char[m_len+1];
strcpy(m_script, text);
if ( !CheckToken() ) return false;
if ( !Compile() ) return false;
@@ -3681,8 +3674,8 @@ bool CScript::ReadScript(const char* filename)
if ( file == NULL ) return false;
fclose(file);
- delete m_script;
- m_script = 0;
+ delete[] m_script;
+ m_script = nullptr;
edit = m_interface->CreateEdit(Math::Point(0.0f, 0.0f), Math::Point(0.0f, 0.0f), 0, EVENT_EDIT9);
edit->SetMaxChar(Ui::EDITSTUDIOMAX);
@@ -3709,7 +3702,7 @@ bool CScript::WriteScript(const char* filename)
name = filename;
}
- if ( m_script == 0 )
+ if ( m_script == nullptr )
{
remove(filename);
return false;
diff --git a/src/sound/plugins/oalsound/alsound.cpp b/src/sound/oalsound/alsound.cpp
index 83a4def..f683a62 100644
--- a/src/sound/plugins/oalsound/alsound.cpp
+++ b/src/sound/oalsound/alsound.cpp
@@ -23,51 +23,23 @@
#define MIN(a, b) (a > b ? b : a)
-
-PLUGIN_INTERFACE(ALSound)
-
-
-std::string ALSound::PluginName()
-{
- return "Sound plugin using OpenAL library to play sounds.";
-}
-
-
-int ALSound::PluginVersion()
-{
- return 2;
-}
-
-
-void ALSound::InstallPlugin()
-{
- auto pointer = CInstanceManager::GetInstancePointer();
- if (pointer != nullptr)
- CInstanceManager::GetInstancePointer()->AddInstance(CLASS_SOUND, this);
-}
-
-
-bool ALSound::UninstallPlugin(std::string &reason)
-{
- auto pointer = CInstanceManager::GetInstancePointer();
- if (pointer != nullptr)
- CInstanceManager::GetInstancePointer()->DeleteInstance(CLASS_SOUND, this);
- CleanUp();
- return true;
-}
-
-
ALSound::ALSound()
{
mEnabled = false;
m3D = false;
mAudioVolume = MAXVOLUME;
mMute = false;
+ auto pointer = CInstanceManager::GetInstancePointer();
+ if (pointer != nullptr)
+ CInstanceManager::GetInstancePointer()->AddInstance(CLASS_SOUND, this);
}
ALSound::~ALSound()
{
+ auto pointer = CInstanceManager::GetInstancePointer();
+ if (pointer != nullptr)
+ CInstanceManager::GetInstancePointer()->DeleteInstance(CLASS_SOUND, this);
CleanUp();
}
@@ -114,14 +86,14 @@ void ALSound::SetSound3D(bool bMode)
}
-bool ALSound::RetSound3D()
+bool ALSound::GetSound3D()
{
// TODO stub! need to be implemented
return true;
}
-bool ALSound::RetSound3DCap()
+bool ALSound::GetSound3DCap()
{
// TODO stub! need to be implemented
return true;
@@ -141,7 +113,7 @@ void ALSound::SetAudioVolume(int volume)
}
-int ALSound::RetAudioVolume()
+int ALSound::GetAudioVolume()
{
float volume;
if ( !mEnabled )
@@ -158,7 +130,7 @@ void ALSound::SetMusicVolume(int volume)
}
-int ALSound::RetMusicVolume()
+int ALSound::GetMusicVolume()
{
// TODO stub! Add music support
if ( !mEnabled )
@@ -179,7 +151,7 @@ bool ALSound::Cache(Sound sound, std::string filename)
}
-int ALSound::RetPriority(Sound sound)
+int ALSound::GetPriority(Sound sound)
{
if ( sound == SOUND_FLYh ||
sound == SOUND_FLY ||
@@ -230,7 +202,7 @@ int ALSound::RetPriority(Sound sound)
bool ALSound::SearchFreeBuffer(Sound sound, int &channel, bool &bAlreadyLoaded)
{
- int priority = RetPriority(sound);
+ int priority = GetPriority(sound);
// Seeks a channel used which sound is stopped.
for (auto it : mChannels) {
@@ -287,7 +259,7 @@ bool ALSound::SearchFreeBuffer(Sound sound, int &channel, bool &bAlreadyLoaded)
int lowerOrEqual = -1;
for (auto it : mChannels) {
if (it.second->GetPriority() < priority) {
- GetLogger()->Info("Sound channel with lower priority will be reused.");
+ GetLogger()->Debug("Sound channel with lower priority will be reused.");
channel = it.first;
return true;
}
@@ -297,7 +269,7 @@ bool ALSound::SearchFreeBuffer(Sound sound, int &channel, bool &bAlreadyLoaded)
if (lowerOrEqual != -1) {
channel = lowerOrEqual;
- GetLogger()->Info("Sound channel with lower or equal priority will be reused.");
+ GetLogger()->Debug("Sound channel with lower or equal priority will be reused.");
return true;
}
@@ -324,6 +296,8 @@ int ALSound::Play(Sound sound, Math::Vector pos, float amplitude, float frequenc
GetLogger()->Warn("Sound %d was not loaded!\n", sound);
return -1;
}
+
+ GetLogger()->Trace("ALSound::Play sound: %d volume: %f frequency: %f\n", sound, amplitude, frequency);
int channel;
bool bAlreadyLoaded;
@@ -336,12 +310,12 @@ int ALSound::Play(Sound sound, Math::Vector pos, float amplitude, float frequenc
Position(channel, pos);
// setting initial values
- mChannels[channel]->SetStartAmplitude(amplitude);
+ mChannels[channel]->SetStartAmplitude(mAudioVolume);
mChannels[channel]->SetStartFrequency(frequency);
mChannels[channel]->SetChangeFrequency(1.0f);
mChannels[channel]->ResetOper();
- mChannels[channel]->AdjustFrequency(frequency);
- mChannels[channel]->AdjustVolume(mAudioVolume);
+ mChannels[channel]->AdjustFrequency(frequency);
+ mChannels[channel]->AdjustVolume(amplitude * mAudioVolume);
mChannels[channel]->Play();
return channel;
}
@@ -479,17 +453,17 @@ void ALSound::FrameMove(float delta)
it.second->AdjustVolume(volume * mAudioVolume);
// setting frequency
- frequency = progress * (oper.finalFrequency - it.second->GetStartFrequency()) * it.second->GetStartFrequency() * it.second->GetChangeFrequency();
+ frequency = progress * abs(oper.finalFrequency - it.second->GetStartFrequency()) * it.second->GetStartFrequency() * it.second->GetChangeFrequency();
it.second->AdjustFrequency(frequency);
if (it.second->GetEnvelope().totalTime <= it.second->GetCurrentTime()) {
if (oper.nextOper == SOPER_LOOP) {
- GetLogger()->Info("Replay.\n");
+ GetLogger()->Trace("ALSound::FrameMove oper: replay.\n");
it.second->SetCurrentTime(0.0f);
it.second->Play();
} else {
- GetLogger()->Info("Next.\n");
+ GetLogger()->Trace("ALSound::FrameMove oper: next.\n");
it.second->SetStartAmplitude(oper.finalAmplitude);
it.second->SetStartFrequency(oper.finalFrequency);
it.second->PopEnvelope();
diff --git a/src/sound/plugins/oalsound/alsound.h b/src/sound/oalsound/alsound.h
index a1128e0..7d24ba6 100644
--- a/src/sound/plugins/oalsound/alsound.h
+++ b/src/sound/oalsound/alsound.h
@@ -45,13 +45,13 @@ class ALSound : public CSoundInterface
bool RetEnable();
void SetSound3D(bool bMode);
- bool RetSound3D();
- bool RetSound3DCap();
+ bool GetSound3D();
+ bool GetSound3DCap();
void SetAudioVolume(int volume);
- int RetAudioVolume();
+ int GetAudioVolume();
void SetMusicVolume(int volume);
- int RetMusicVolume();
+ int GetMusicVolume();
void SetListener(Math::Vector eye, Math::Vector lookat);
void FrameMove(float rTime);
@@ -80,7 +80,7 @@ class ALSound : public CSoundInterface
private:
void CleanUp();
- int RetPriority(Sound);
+ int GetPriority(Sound);
bool SearchFreeBuffer(Sound sound, int &channel, bool &bAlreadyLoaded);
bool mEnabled;
diff --git a/src/sound/plugins/oalsound/buffer.cpp b/src/sound/oalsound/buffer.cpp
index 37211e9..dbfdca2 100644
--- a/src/sound/plugins/oalsound/buffer.cpp
+++ b/src/sound/oalsound/buffer.cpp
@@ -36,7 +36,7 @@ Buffer::~Buffer() {
bool Buffer::LoadFromFile(std::string filename, Sound sound) {
mSound = sound;
- GetLogger()->Info("Loading audio file: %s\n", filename.c_str());
+ GetLogger()->Debug("Loading audio file: %s\n", filename.c_str());
mBuffer = alutCreateBufferFromFile(filename.c_str());
ALenum error = alutGetError();
@@ -53,7 +53,7 @@ bool Buffer::LoadFromFile(std::string filename, Sound sound) {
alGetBufferi(mBuffer, AL_CHANNELS, &channels);
alGetBufferi(mBuffer, AL_FREQUENCY, &freq);
- mDuration = (ALfloat)size / channels / bits / 8 / (ALfloat)freq;
+ mDuration = static_cast<ALfloat>(size) / channels / bits / 8 / static_cast<ALfloat>(freq);
mLoaded = true;
return true;
diff --git a/src/sound/plugins/oalsound/buffer.h b/src/sound/oalsound/buffer.h
index 8c4a2d3..8c4a2d3 100644
--- a/src/sound/plugins/oalsound/buffer.h
+++ b/src/sound/oalsound/buffer.h
diff --git a/src/sound/plugins/oalsound/channel.cpp b/src/sound/oalsound/channel.cpp
index 4476dee..7d8244b 100644
--- a/src/sound/plugins/oalsound/channel.cpp
+++ b/src/sound/oalsound/channel.cpp
@@ -39,7 +39,7 @@ Channel::~Channel() {
alSourcei(mSource, AL_BUFFER, 0);
alDeleteSources(1, &mSource);
if (alCheck())
- GetLogger()->Warn("Failed to delete sound source. Code: %s\n", alGetCode());
+ GetLogger()->Warn("Failed to delete sound source. Code: %d\n", alGetCode());
}
}
@@ -50,7 +50,7 @@ bool Channel::Play() {
alSourcePlay(mSource);
if (alCheck())
- GetLogger()->Warn("Could not play audio sound source. Code: %s\n", alGetCode());
+ GetLogger()->Warn("Could not play audio sound source. Code: %d\n", alGetCode());
return true;
}
@@ -61,7 +61,7 @@ bool Channel::SetPosition(Math::Vector pos) {
alSource3f(mSource, AL_POSITION, pos.x, pos.y, pos.z);
if (alCheck()) {
- GetLogger()->Warn("Could not set sound position. Code: %s\n", alGetCode());
+ GetLogger()->Warn("Could not set sound position. Code: %d\n", alGetCode());
return false;
}
return true;
@@ -75,7 +75,7 @@ bool Channel::SetFrequency(float freq)
alSourcef(mSource, AL_PITCH, freq);
if (alCheck()) {
- GetLogger()->Warn("Could not set sound pitch. Code: %s\n", alGetCode());
+ GetLogger()->Warn("Could not set sound pitch to '%f'. Code: %d\n", freq, alGetCode());
return false;
}
return true;
@@ -90,7 +90,7 @@ float Channel::GetFrequency()
alGetSourcef(mSource, AL_PITCH, &freq);
if (alCheck()) {
- GetLogger()->Warn("Could not get sound pitch. Code: %s\n", alGetCode());
+ GetLogger()->Warn("Could not get sound pitch. Code: %d\n", alGetCode());
return 0;
}
@@ -105,7 +105,7 @@ bool Channel::SetVolume(float vol)
alSourcef(mSource, AL_GAIN, vol / MAXVOLUME);
if (alCheck()) {
- GetLogger()->Warn("Could not set sound volume. Code: %s\n", alGetCode());
+ GetLogger()->Warn("Could not set sound volume to '%f'. Code: %d\n", vol, alGetCode());
return false;
}
return true;
@@ -120,7 +120,7 @@ float Channel::GetVolume()
alGetSourcef(mSource, AL_GAIN, &vol);
if (alCheck()) {
- GetLogger()->Warn("Could not get sound volume. Code: %s\n", alGetCode());
+ GetLogger()->Warn("Could not get sound volume. Code: %d\n", alGetCode());
return 0;
}
@@ -213,7 +213,7 @@ bool Channel::SetBuffer(Buffer *buffer) {
mBuffer = buffer;
alSourcei(mSource, AL_BUFFER, buffer->GetBuffer());
if (alCheck()) {
- GetLogger()->Warn("Could not set sound buffer. Code: %s\n", alGetCode());
+ GetLogger()->Warn("Could not set sound buffer. Code: %d\n", alGetCode());
return false;
}
mInitFrequency = GetFrequency();
@@ -227,7 +227,7 @@ void Channel::AdjustFrequency(float freq) {
void Channel::AdjustVolume(float volume) {
- SetVolume(mStartAmplitude * (float) volume);
+ SetVolume(mStartAmplitude * volume);
}
@@ -237,7 +237,7 @@ bool Channel::IsPlaying() {
alGetSourcei(mSource, AL_SOURCE_STATE, &status);
if (alCheck()) {
- GetLogger()->Warn("Could not get sound status. Code: %s\n", alGetCode());
+ GetLogger()->Warn("Could not get sound status. Code: %d\n", alGetCode());
return false;
}
@@ -253,7 +253,7 @@ bool Channel::IsReady() {
bool Channel::Stop() {
alSourceStop(mSource);
if (alCheck()) {
- GetLogger()->Warn("Could not stop sound. Code: %s\n", alGetCode());
+ GetLogger()->Warn("Could not stop sound. Code: %d\n", alGetCode());
return false;
}
return true;
@@ -265,7 +265,7 @@ float Channel::GetCurrentTime()
ALfloat current;
alGetSourcef(mSource, AL_SEC_OFFSET, &current);
if (alCheck()) {
- GetLogger()->Warn("Could not get source current play time. Code: %s\n", alGetCode());
+ GetLogger()->Warn("Could not get source current play time. Code: %d\n", alGetCode());
return 0.0f;
}
return current;
@@ -276,7 +276,7 @@ void Channel::SetCurrentTime(float current)
{
alSourcef(mSource, AL_SEC_OFFSET, current);
if (alCheck())
- GetLogger()->Warn("Could not get source current play time. Code: %s\n", alGetCode());
+ GetLogger()->Warn("Could not get source current play time. Code: %d\n", alGetCode());
}
diff --git a/src/sound/plugins/oalsound/channel.h b/src/sound/oalsound/channel.h
index 165ff50..165ff50 100644
--- a/src/sound/plugins/oalsound/channel.h
+++ b/src/sound/oalsound/channel.h
diff --git a/src/sound/plugins/oalsound/check.h b/src/sound/oalsound/check.h
index cf3e468..cf3e468 100644
--- a/src/sound/plugins/oalsound/check.h
+++ b/src/sound/oalsound/check.h
diff --git a/src/sound/plugins/oalsound/CMakeLists.txt b/src/sound/plugins/oalsound/CMakeLists.txt
deleted file mode 100644
index 0bc9482..0000000
--- a/src/sound/plugins/oalsound/CMakeLists.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-cmake_minimum_required(VERSION 2.8)
-
-set(SOURCES
- alsound.cpp
- buffer.cpp
- channel.cpp
-)
-
-SET (CMAKE_CXX_FLAGS "-Wall -g -std=c++0x -fPIC")
-
-include(FindPkgConfig)
-include(FindOpenAL)
-pkg_check_modules(OPENAL_LIB REQUIRED openal)
-
-set(OPENAL_LIBRARIES
- openal
- alut
-)
-
-include_directories(../../..)
-include_directories(.)
-add_library(openalsound SHARED ${SOURCES})
-target_link_libraries(openalsound ${OPENAL_LIBRARIES})
diff --git a/src/sound/plugins/oalsound/test/CMakeLists.txt b/src/sound/plugins/oalsound/test/CMakeLists.txt
deleted file mode 100644
index d10169b..0000000
--- a/src/sound/plugins/oalsound/test/CMakeLists.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-cmake_minimum_required(VERSION 2.8)
-
-set(CMAKE_BUILD_TYPE debug)
-set(CMAKE_CXX_FLAGS_DEBUG "-Wall -g -O0 -std=c++11 -rdynamic")
-
-add_executable(plugin_test plugin_test.cpp ../../../../common/iman.cpp ../../../../common/logger.cpp ../../../../plugins/pluginloader.cpp)
-
-include_directories(".")
-include_directories("../../../../")
-
-target_link_libraries(plugin_test ltdl)
diff --git a/src/sound/plugins/oalsound/test/plugin_test.cpp b/src/sound/plugins/oalsound/test/plugin_test.cpp
deleted file mode 100644
index 40c1cd2..0000000
--- a/src/sound/plugins/oalsound/test/plugin_test.cpp
+++ /dev/null
@@ -1,40 +0,0 @@
-#include <string>
-#include <cstdio>
-#include <unistd.h>
-
-#include <common/logger.h>
-#include <common/iman.h>
-#include <sound/sound.h>
-#include <plugins/pluginloader.h>
-
-
-int main() {
- new CLogger();
- new CInstanceManager();
-
- lt_dlinit();
-
- CPluginLoader *plugin = new CPluginLoader("libopenalsound");
- if (plugin->LoadPlugin()) {
- CSoundInterface *sound = static_cast<CSoundInterface*>(CInstanceManager::GetInstancePointer()->SearchInstance(CLASS_SOUND));
-
- sound->Create(true);
- sound->CacheAll();
- sound->Play((Sound)8);
- sound->Play((Sound)18);
-
- sleep(10);
- /*
- while (1)
- {
- // just a test, very slow
- plugin->FrameMove(0);
- //if ('n' == getchar())
- // break;
- }*/
- plugin->UnloadPlugin();
- }
-
- lt_dlexit();
- return 0;
-}
diff --git a/src/sound/sound.h b/src/sound/sound.h
index c2b890f..518e2ad 100644
--- a/src/sound/sound.h
+++ b/src/sound/sound.h
@@ -28,8 +28,6 @@
#include "common/iman.h"
#include "common/logger.h"
-#include "plugins/plugininterface.h"
-
#include <string>
#include <iostream>
#include <iomanip>
@@ -152,7 +150,7 @@ enum SoundNext
* \brief Sound plugin interface
*
*/
-class CSoundInterface : public CPluginInterface
+class CSoundInterface
{
public:
inline CSoundInterface() {
@@ -170,7 +168,7 @@ class CSoundInterface : public CPluginInterface
* Function calls \link CSoundInterface::Cache() \endlink for each file
*/
inline void CacheAll(std::string path) {
- for ( int i = 1; i < 69; i++ ) {
+ for ( int i = 1; i <= 81; i++ ) {
std::stringstream filename;
filename << path << "/sound" << std::setfill('0') << std::setw(3) << i << ".wav";
if ( !Cache(static_cast<Sound>(i), filename.str()) )
diff --git a/src/ui/edit.cpp b/src/ui/edit.cpp
index e14b19d..639215a 100644
--- a/src/ui/edit.cpp
+++ b/src/ui/edit.cpp
@@ -243,7 +243,7 @@ bool CEdit::EventProcess(const Event &event)
Scroll(m_lineFirst-3, true);
return true;
}
- if (event.type == EVENT_KEY_DOWN &&
+ if (event.type == EVENT_MOUSE_WHEEL &&
event.mouseWheel.dir == WHEEL_DOWN &&
Detect(event.mousePos) )
{
@@ -282,7 +282,7 @@ bool CEdit::EventProcess(const Event &event)
}
}
- if ( m_scroll != 0 && !m_bGeneric )
+ if ( m_scroll != nullptr && !m_bGeneric )
{
m_scroll->EventProcess(event);
@@ -1248,7 +1248,7 @@ void CEdit::SetText(const char *text, bool bNew)
{
int i, j, font;
bool bBOL;
-
+
if ( !bNew ) UndoMemorize(OPERUNDO_SPEC);
m_len = strlen(text);
@@ -2172,11 +2172,11 @@ void CEdit::Scroll()
{
float value;
- if ( m_scroll != 0 )
+ if ( m_scroll != nullptr )
{
value = m_scroll->GetVisibleValue();
- value *= m_lineTotal-m_lineVisible;
- Scroll(static_cast<int>(value+0.5f), true);
+ value *= m_lineTotal - m_lineVisible;
+ Scroll(static_cast<int>(value + 0.5f), true);
}
}
@@ -3048,7 +3048,7 @@ bool CEdit::MinMaj(bool bMaj)
void CEdit::Justif()
{
- float width, value, size, indentLength;
+ float width, size, indentLength;
int i, j, line, indent;
bool bDual, bString, bRem;
@@ -3176,26 +3176,7 @@ void CEdit::Justif()
m_lineFirst = 0;
}
- if ( m_scroll != 0 )
- {
- if ( m_lineTotal <= m_lineVisible )
- {
- m_scroll->SetVisibleRatio(1.0f);
- m_scroll->SetVisibleValue(0.0f);
- m_scroll->SetArrowStep(0.0f);
- }
- else
- {
- value = static_cast<float>(m_lineVisible/m_lineTotal);
- m_scroll->SetVisibleRatio(value);
-
- value = static_cast<float>(m_lineFirst/(m_lineTotal-m_lineVisible));
- m_scroll->SetVisibleValue(value);
-
- value = static_cast<float>(1.0f/(m_lineTotal-m_lineVisible));
- m_scroll->SetArrowStep(value);
- }
- }
+ UpdateScroll();
m_timeBlink = 0.0f; // lights the cursor immediately
}
@@ -3326,5 +3307,30 @@ bool CEdit::SetFormat(int cursor1, int cursor2, int format)
return true;
}
+void CEdit::UpdateScroll()
+{
+ float value;
+
+ if ( m_scroll != nullptr )
+ {
+ if ( m_lineTotal <= m_lineVisible )
+ {
+ m_scroll->SetVisibleRatio(1.0f);
+ m_scroll->SetVisibleValue(0.0f);
+ m_scroll->SetArrowStep(0.0f);
+ }
+ else
+ {
+ value = static_cast<float>(m_lineVisible) / m_lineTotal;
+ m_scroll->SetVisibleRatio(value);
+
+ value = static_cast<float>(m_lineFirst) / (m_lineTotal - m_lineVisible);
+ m_scroll->SetVisibleValue(value);
+
+ value = 1.0f / (m_lineTotal - m_lineVisible);
+ m_scroll->SetArrowStep(value);
+ }
+ }
+}
}
diff --git a/src/ui/edit.h b/src/ui/edit.h
index 35d8b2c..7247181 100644
--- a/src/ui/edit.h
+++ b/src/ui/edit.h
@@ -234,6 +234,8 @@ protected:
void UndoFlush();
void UndoMemorize(OperUndo oper);
bool UndoRecall();
+
+ void UpdateScroll();
protected:
CScroll* m_scroll; // vertical scrollbar on the right
diff --git a/src/ui/maindialog.cpp b/src/ui/maindialog.cpp
index 5136a41..68e7854 100644
--- a/src/ui/maindialog.cpp
+++ b/src/ui/maindialog.cpp
@@ -1164,43 +1164,22 @@ pb->SetState(STATE_SHADOW);
if ( m_phase == PHASE_SETUPd || // setup/display ?
m_phase == PHASE_SETUPds )
{
-
-// TODO: device settings
-#if 0
-
pos.x = ox+sx*3;
pos.y = oy+sy*9;
ddim.x = dim.x*6;
ddim.y = dim.y*1;
- GetResource(RES_TEXT, RT_SETUP_DEVICE, name);
- pl = pw->CreateLabel(pos, ddim, 0, EVENT_LABEL1, name);
- pl->SetTextAlign(Gfx::TEXT_ALIGN_LEFT);
-
- pos.x = ox+sx*3;
- pos.y = oy+sy*5.2f;
- ddim.x = dim.x*6;
- ddim.y = dim.y*4.5f;
- pli = pw->CreateList(pos, ddim, 0, EVENT_LIST1);
- pli->SetState(STATE_SHADOW);
- UpdateDisplayDevice();
-
- pos.x = ox+sx*10;
- pos.y = oy+sy*9;
- ddim.x = dim.x*6;
- ddim.y = dim.y*1;
GetResource(RES_TEXT, RT_SETUP_MODE, name);
pl = pw->CreateLabel(pos, ddim, 0, EVENT_LABEL2, name);
pl->SetTextAlign(Gfx::TEXT_ALIGN_LEFT);
m_setupFull = m_app->GetVideoConfig().fullScreen;
- pos.x = ox+sx*10;
+ pos.x = ox+sx*3;
pos.y = oy+sy*5.2f;
ddim.x = dim.x*6;
ddim.y = dim.y*4.5f;
pli = pw->CreateList(pos, ddim, 0, EVENT_LIST2);
pli->SetState(STATE_SHADOW);
UpdateDisplayMode();
- pli->SetState(STATE_ENABLE, m_setupFull);
ddim.x = dim.x*4;
ddim.y = dim.y*0.5f;
@@ -1209,7 +1188,6 @@ pb->SetState(STATE_SHADOW);
pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_FULL);
pc->SetState(STATE_SHADOW);
pc->SetState(STATE_CHECK, m_setupFull);
-#endif
ddim.x = dim.x*6;
ddim.y = dim.y*1;
@@ -2610,19 +2588,16 @@ bool CMainDialog::EventProcess(const Event &event)
pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW5));
if ( pw == 0 ) break;
pc = static_cast<CCheck*>(pw->SearchControl(EVENT_INTERFACE_FULL));
- if ( pc == 0 ) break;
- pl = static_cast<CList*>(pw->SearchControl(EVENT_LIST2));
- if ( pl == 0 ) break;
- if ( pc->TestState(STATE_CHECK) )
- {
- pc->ClearState(STATE_CHECK); // window
- pl->ClearState(STATE_ENABLE);
- }
- else
- {
- pc->SetState(STATE_CHECK); // fullscreen
- pl->SetState(STATE_ENABLE);
- }
+ if ( pc == 0 ) break;
+
+ if ( pc->TestState(STATE_CHECK) ) {
+ m_setupFull = false;
+ pc->ClearState(STATE_CHECK);
+ } else {
+ m_setupFull = true;
+ pc->SetState(STATE_CHECK);
+ }
+
UpdateApply();
break;
@@ -2633,7 +2608,8 @@ bool CMainDialog::EventProcess(const Event &event)
if ( pb == 0 ) break;
pb->ClearState(STATE_PRESS);
pb->ClearState(STATE_HILIGHT);
- ChangeDisplay();
+ // TODO: uncomment when changing display is implemented
+ //ChangeDisplay();
UpdateApply();
break;
@@ -2909,12 +2885,12 @@ bool CMainDialog::EventProcess(const Event &event)
case EVENT_INTERFACE_SILENT:
m_sound->SetAudioVolume(0);
- //TODO: m_sound->SetMidiVolume(0);
+ m_sound->SetMusicVolume(0);
UpdateSetupButtons();
break;
case EVENT_INTERFACE_NOISY:
m_sound->SetAudioVolume(MAXVOLUME);
- //TODO: m_sound->SetMidiVolume(MAXVOLUME*3/4);
+ m_sound->SetMusicVolume(MAXVOLUME*3/4);
UpdateSetupButtons();
break;
@@ -4329,8 +4305,8 @@ void CMainDialog::IOReadName()
}
}
- // TODO: language letters
- sprintf(op, "Title.%c", 'E' /*MAX_FNAME()*/ );
+ // TODO: Fallback to an non-localized entry
+ sprintf(op, "Title.%c", m_app->GetLanguageChar() );
if ( Cmd(line, op) )
{
OpString(line, "resume", resume);
@@ -4725,8 +4701,8 @@ void CMainDialog::UpdateSceneChap(int &chap)
}
}
- /* TODO: language letters */
- sprintf(op, "Title.%c", 'E' /*GetLanguageLetter()*/);
+ // TODO: Fallback to an non-localized entry
+ sprintf(op, "Title.%c", m_app->GetLanguageChar());
if ( Cmd(line, op) )
{
OpString(line, "text", name);
@@ -4772,8 +4748,8 @@ void CMainDialog::UpdateSceneChap(int &chap)
}
}
- // TODO: language letters
- sprintf(op, "Title.%c", 'E'/*GetLanguageLetter()*/);
+ // TODO: Fallback to an non-localized entry
+ sprintf(op, "Title.%c", m_app->GetLanguageChar());
if ( Cmd(line, op) )
{
OpString(line, "text", name);
@@ -4875,8 +4851,8 @@ void CMainDialog::UpdateSceneList(int chap, int &sel)
}
}
- // TODO: language letters
- sprintf(op, "Title.%c", 'E' /*MAX_FNAME()*/);
+ // TODO: Fallback to an non-localized entry
+ sprintf(op, "Title.%c", m_app->GetLanguageChar());
if ( Cmd(line, op) )
{
OpString(line, "text", name);
@@ -5020,8 +4996,8 @@ void CMainDialog::UpdateSceneResume(int rank)
}
}
- // TODO: language letters
- sprintf(op, "Resume.%c", 'E' /*MAX_FNAME()*/);
+ // TODO: Fallback to an non-localized entry
+ sprintf(op, "Resume.%c", m_app->GetLanguageChar());
if ( Cmd(line, op) )
{
OpString(line, "text", name);
@@ -5076,9 +5052,6 @@ void CMainDialog::UpdateDisplayMode()
{
CWindow* pw;
CList* pl;
- char bufDevices[1000];
- char bufModes[5000];
- int i, j, totalDevices, selectDevices, totalModes, selectModes;
pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW5));
if ( pw == 0 ) return;
@@ -5086,25 +5059,18 @@ void CMainDialog::UpdateDisplayMode()
if ( pl == 0 ) return;
pl->Flush();
- bufModes[0] = 0;
- /* TODO: remove device choice
- m_engine->EnumDevices(bufDevices, 1000,
- bufModes, 5000,
- totalDevices, selectDevices,
- totalModes, selectModes);*/
-
- i = 0;
- j = 0;
- while ( bufModes[i] != 0 )
- {
- pl->SetName(j++, bufModes+i);
- while ( bufModes[i++] != 0 );
+ std::vector<Math::IntPoint> modes;
+ m_app->GetVideoResolutionList(modes, true, true);
+ int i = 0;
+ std::stringstream mode_text;
+ for (Math::IntPoint mode : modes) {
+ mode_text.str("");
+ mode_text << mode.x << "x" << mode.y;
+ pl->SetName(i++, mode_text.str().c_str());
}
- pl->SetSelect(selectModes);
+ pl->SetSelect(m_setupSelMode);
pl->ShowSelect(false);
-
- m_setupSelMode = selectModes;
}
// Change the graphics mode.
@@ -5392,9 +5358,8 @@ void CMainDialog::UpdateSetupButtons()
ps = static_cast<CSlider*>(pw->SearchControl(EVENT_INTERFACE_VOLMUSIC));
if ( ps != 0 )
{
- /* TODO: midi volume
- value = (float)m_sound->GetMidiVolume();
- ps->SetVisibleValue(value);*/
+ value = static_cast<float>(m_sound->GetMusicVolume());
+ ps->SetVisibleValue(value);
}
pc = static_cast<CCheck*>(pw->SearchControl(EVENT_INTERFACE_SOUND3D));
@@ -5474,10 +5439,6 @@ void CMainDialog::ChangeSetupButtons()
void CMainDialog::SetupMemorize()
{
- float fValue;
- int iValue, i, j;
- char num[10];
-
GetProfile().SetLocalProfileString("Directory", "scene", m_sceneDir);
GetProfile().SetLocalProfileString("Directory", "savegame", m_savegameDir);
GetProfile().SetLocalProfileString("Directory", "public", m_publicDir);
@@ -5508,15 +5469,27 @@ void CMainDialog::SetupMemorize()
GetProfile().SetLocalProfileInt("Setup", "TextureQuality", m_engine->GetTextureQuality());
GetProfile().SetLocalProfileInt("Setup", "TotoMode", m_engine->GetTotoMode());
GetProfile().SetLocalProfileInt("Setup", "AudioVolume", m_sound->GetAudioVolume());
+ GetProfile().SetLocalProfileInt("Setup", "MusicVolume", m_sound->GetMusicVolume());
GetProfile().SetLocalProfileInt("Setup", "Sound3D", m_sound->GetSound3D());
GetProfile().SetLocalProfileInt("Setup", "EditIndentMode", m_engine->GetEditIndentMode());
GetProfile().SetLocalProfileInt("Setup", "EditIndentValue", m_engine->GetEditIndentValue());
-
-
- // GetProfile()->SetLocalProfileInt("Setup", "NiceMouse", m_engine->GetNiceMouse());
- // GetProfile()->SetLocalProfileInt("Setup", "UseJoystick", m_engine->GetJoystick());
- // GetProfile()->SetLocalProfileInt("Setup", "MidiVolume", m_sound->GetMidiVolume());
-
+
+ /* screen setup */
+ if (m_setupFull)
+ GetProfile().SetLocalProfileInt("Setup", "Fullscreen", 1);
+ else
+ GetProfile().SetLocalProfileInt("Setup", "Fullscreen", 0);
+
+ CList *pl;
+ CWindow *pw;
+ pw = static_cast<CWindow *>(m_interface->SearchControl(EVENT_WINDOW5));
+ if ( pw != 0 ) {
+ pl = static_cast<CList *>(pw->SearchControl(EVENT_LIST2));
+ if ( pl != 0 ) {
+ GetProfile().SetLocalProfileInt("Setup", "Resolution", pl->GetSelect());
+ }
+ }
+
std::stringstream key;
for (int i = 0; i < INPUT_SLOT_MAX; i++)
{
@@ -5724,11 +5697,10 @@ void CMainDialog::SetupRecall()
m_sound->SetAudioVolume(iValue);
}
- // TODO
- // if ( GetLocalProfileInt("Setup", "MidiVolume", iValue) )
- // {
- // m_sound->SetMidiVolume(iValue);
- // }
+ if ( GetProfile().GetLocalProfileInt("Setup", "MusicVolume", iValue) )
+ {
+ m_sound->SetMusicVolume(iValue);
+ }
if ( GetProfile().GetLocalProfileInt("Setup", "EditIndentMode", iValue) )
{
@@ -5772,6 +5744,14 @@ void CMainDialog::SetupRecall()
{
m_bDeleteGamer = iValue;
}
+
+ if ( GetProfile().GetLocalProfileInt("Setup", "Resolution", iValue) ) {
+ m_setupSelMode = iValue;
+ }
+
+ if ( GetProfile().GetLocalProfileInt("Setup", "Fullscreen", iValue) ) {
+ m_setupFull = (iValue == 1);
+ }
}
diff --git a/src/ui/test/CMakeLists.txt b/src/ui/test/CMakeLists.txt
index 9e11e14..e411067 100644
--- a/src/ui/test/CMakeLists.txt
+++ b/src/ui/test/CMakeLists.txt
@@ -1,13 +1,17 @@
cmake_minimum_required(VERSION 2.8)
-set(CMAKE_BUILD_TYPE debug)
-set(CMAKE_CXX_FLAGS_DEBUG "-g -O0 -Wall -Wold-style-cast -std=gnu++0x")
+if(NOT CMAKE_BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE debug)
+endif(NOT CMAKE_BUILD_TYPE)
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wold-style-cast -std=gnu++0x")
+set(CMAKE_CXX_FLAGS_DEBUG "-g -O0")
include_directories(
.
../..
../../..
-${GTEST_DIR}/include
+${GTEST_INCLUDE_DIR}
+${GMOCK_INCLUDE_DIR}
)