summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/app/app.cpp102
-rw-r--r--src/common/error_ids.h2
-rw-r--r--src/common/restext.h2
-rw-r--r--src/common/restext_strings.c63
-rw-r--r--src/po/de.po101
-rw-r--r--src/po/fr.po101
-rw-r--r--src/po/pl.po114
7 files changed, 216 insertions, 269 deletions
diff --git a/src/app/app.cpp b/src/app/app.cpp
index fe1b986..6e336a2 100644
--- a/src/app/app.cpp
+++ b/src/app/app.cpp
@@ -29,7 +29,10 @@
#include <SDL/SDL.h>
#include <SDL/SDL_image.h>
-#include <stdio.h>
+#include <fstream>
+
+#include <stdlib.h>
+#include <libintl.h>
template<> CApplication* CSingleton<CApplication>::mInstance = nullptr;
@@ -144,6 +147,7 @@ bool CApplication::ParseArguments(int argc, char *argv[])
{
bool waitDataDir = false;
bool waitLogLevel = false;
+ bool waitLanguage = false;
for (int i = 1; i < argc; ++i)
{
@@ -153,6 +157,7 @@ bool CApplication::ParseArguments(int argc, char *argv[])
{
waitDataDir = false;
m_dataPath = arg;
+ GetLogger()->Info("Using custom data dir: '%s'\n", m_dataPath.c_str());
continue;
}
@@ -176,6 +181,22 @@ bool CApplication::ParseArguments(int argc, char *argv[])
continue;
}
+ if (waitLanguage)
+ {
+ waitLanguage = false;
+ if (arg == "en")
+ m_language = LANG_ENGLISH;
+ else if (arg == "de")
+ m_language = LANG_GERMAN;
+ else if (arg == "fr")
+ m_language = LANG_FRENCH;
+ else if (arg == "pl")
+ m_language = LANG_POLISH;
+ else
+ return false;
+ continue;
+ }
+
if (arg == "-debug")
{
SetDebugMode(true);
@@ -188,6 +209,21 @@ bool CApplication::ParseArguments(int argc, char *argv[])
{
waitDataDir = true;
}
+ else if (arg == "-language")
+ {
+ waitLanguage = true;
+ }
+ else if (arg == "-help")
+ {
+ GetLogger()->Message("COLOBOT\n");
+ GetLogger()->Message("\n");
+ GetLogger()->Message("List of available options:\n");
+ GetLogger()->Message(" -help this help\n");
+ GetLogger()->Message(" -datadir path set custom data directory path\n");
+ GetLogger()->Message(" -debug enable debug mode (more info printed in logs)\n");
+ GetLogger()->Message(" -loglevel level set log level to level (one of: trace, debug, info, warn, error, none)\n");
+ GetLogger()->Message(" -language lang set language (one of: en, de, fr, pl)\n");
+ }
else
{
m_exitCode = 1;
@@ -196,7 +232,7 @@ bool CApplication::ParseArguments(int argc, char *argv[])
}
// Args not given?
- if (waitDataDir || waitLogLevel)
+ if (waitDataDir || waitLogLevel || waitLanguage)
return false;
return true;
@@ -206,7 +242,50 @@ bool CApplication::Create()
{
GetLogger()->Info("Creating CApplication\n");
- // TODO: verify that data directory exists
+ // 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())
+ {
+ GetLogger()->Error("Could not open test file in data dir: '%s'\n", readmePath.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.");
+ m_exitCode = 1;
+ return false;
+ }
+
+ /* Gettext initialization */
+
+ std::string locale = "C";
+ switch (m_language)
+ {
+ case LANG_ENGLISH:
+ locale = "en_US.utf8";
+ break;
+
+ case LANG_GERMAN:
+ locale = "de_DE.utf8";
+ break;
+
+ case LANG_FRENCH:
+ locale = "fr_FR.utf8";
+ break;
+
+ case LANG_POLISH:
+ locale = "pl_PL.utf8";
+ break;
+ }
+
+ setlocale(LC_ALL, locale.c_str());
+
+ std::string trPath = m_dataPath + std::string("/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;
@@ -771,15 +850,18 @@ bool CApplication::ProcessEvent(const Event &event)
if (event.type == EVENT_ACTIVE)
{
- m_active = event.active.gain;
-
if (m_debugMode)
- l->Info("Focus change: active = %s\n", m_active ? "true" : "false");
+ l->Info("Focus change: active = %s\n", event.active.gain ? "true" : "false");
- if (m_active)
- ResumeSimulation();
- else
- SuspendSimulation();
+ if (m_active != event.active.gain)
+ {
+ m_active = event.active.gain;
+
+ if (m_active)
+ ResumeSimulation();
+ else
+ SuspendSimulation();
+ }
}
else if (event.type == EVENT_KEY_DOWN)
{
diff --git a/src/common/error_ids.h b/src/common/error_ids.h
index 3c0e0a1..fc1f7d6 100644
--- a/src/common/error_ids.h
+++ b/src/common/error_ids.h
@@ -26,8 +26,6 @@ enum Error
ERR_CONTINUE = 2, // continues
ERR_STOP = 3, // stops
ERR_CMD = 4, // unknown command
- ERR_INSTALL = 20, // incorrectly installed program
- ERR_NOCD = 21, // CD not found
ERR_MANIP_VEH = 100, // inappropriate vehicle
ERR_MANIP_FLY = 101, // impossible in flight
ERR_MANIP_BUSY = 102, // taking: hands already occupied
diff --git a/src/common/restext.h b/src/common/restext.h
index 0dba89a..b47e03c 100644
--- a/src/common/restext.h
+++ b/src/common/restext.h
@@ -40,6 +40,8 @@ enum ResType
};
+// TODO: move to CRobotMain
+
extern void SetGlobalGamerName(char *name);
extern bool SearchKey(char *cmd, KeyRank &key);
extern bool GetResource(ResType type, int num, char* text);
diff --git a/src/common/restext_strings.c b/src/common/restext_strings.c
index 8e9471b..d041a28 100644
--- a/src/common/restext_strings.c
+++ b/src/common/restext_strings.c
@@ -22,36 +22,8 @@
const char * const strings_text[] =
{
-#if _FULL
- [RT_VERSION_ID] = "1.18 /e",
-#endif
-#if _NET
- [RT_VERSION_ID] = "CeeBot-A 1.18",
-#endif
-#if _SCHOOL & _EDU
-#if _TEEN
- [RT_VERSION_ID] = "CeeBot-Teen EDU 1.18",
-#else
- [RT_VERSION_ID] = "CeeBot-A EDU 1.18",
-#endif
-#endif
-#if _SCHOOL & _PERSO
-#if _TEEN
- [RT_VERSION_ID] = "CeeBot-Teen PERSO 1.18",
-#else
- [RT_VERSION_ID] = "CeeBot-A PERSO 1.18",
-#endif
-#endif
-#if _SCHOOL & _CEEBOTDEMO
-#if _TEEN
- [RT_VERSION_ID] = "CeeBot-Teen DEMO 1.18",
-#else
- [RT_VERSION_ID] = "CeeBot-A DEMO 1.18",
-#endif
-#endif
-#if _DEMO
- [RT_VERSION_ID] = "Demo 1.18 /e",
-#endif
+ [RT_VERSION_ID] = "Colobot Gold",
+
[RT_DISINFO_TITLE] = "SatCom",
[RT_WINDOW_MAXIMIZED] = "Maximize",
[RT_WINDOW_MINIMIZED] = "Minimize",
@@ -64,13 +36,8 @@ const char * const strings_text[] =
[RT_IO_NEW] = "New ...",
[RT_KEY_OR] = " or ",
-#if _NEWLOOK
- [RT_TITLE_BASE] = "CeeBot",
- [RT_TITLE_INIT] = "CeeBot",
-#else
[RT_TITLE_BASE] = "COLOBOT",
[RT_TITLE_INIT] = "COLOBOT",
-#endif
[RT_TITLE_TRAINER] = "Programming exercises",
[RT_TITLE_DEFI] = "Challenges",
[RT_TITLE_MISSION] = "Missions",
@@ -111,15 +78,9 @@ const char * const strings_text[] =
[RT_PERSO_COMBI] = "Suit color:",
[RT_PERSO_BAND] = "Strip color:",
-#if _NEWLOOK
- [RT_DIALOG_QUIT] = "Do you want to quit CeeBot ?",
- [RT_DIALOG_TITLE] = "CeeBot",
- [RT_DIALOG_YESQUIT] = "Quit\\Quit CeeBot",
-#else
[RT_DIALOG_QUIT] = "Do you want to quit COLOBOT ?",
[RT_DIALOG_TITLE] = "COLOBOT",
[RT_DIALOG_YESQUIT] = "Quit\\Quit COLOBOT",
-#endif
[RT_DIALOG_ABORT] = "Quit the mission?",
[RT_DIALOG_YES] = "Abort\\Abort the current mission",
[RT_DIALOG_NO] = "Continue\\Continue the current mission",
@@ -182,13 +143,8 @@ const char * const strings_event[] =
[EVENT_INTERFACE_AGAIN] = "Restart\\Restart the mission from the beginning",
[EVENT_INTERFACE_WRITE] = "Save\\Save the current mission ",
[EVENT_INTERFACE_READ] = "Load\\Load a saved mission",
-#if _NEWLOOK
- [EVENT_INTERFACE_ABORT] = "\\Return to CeeBot",
- [EVENT_INTERFACE_QUIT] = "Quit\\Quit CeeBot",
-#else
[EVENT_INTERFACE_ABORT] = "\\Return to COLOBOT",
[EVENT_INTERFACE_QUIT] = "Quit\\Quit COLOBOT",
-#endif
[EVENT_INTERFACE_BACK] = "<< Back \\Back to the previous screen",
[EVENT_INTERFACE_PLAY] = "Play\\Start mission!",
[EVENT_INTERFACE_SETUPd] = "Device\\Driver and resolution settings",
@@ -432,11 +388,7 @@ const char * const strings_event[] =
[EVENT_HYPER_SIZE4] = "Size 4",
[EVENT_HYPER_SIZE5] = "Size 5",
[EVENT_SATCOM_HUSTON] = "Instructions from Houston",
-#if _TEEN
- [EVENT_SATCOM_SAT] = "Dictionnary",
-#else
[EVENT_SATCOM_SAT] = "Satellite report",
-#endif
[EVENT_SATCOM_LOADING] = "Programs dispatched by Houston",
[EVENT_SATCOM_OBJECT] = "List of objects",
[EVENT_SATCOM_PROG] = "Programming help",
@@ -475,11 +427,7 @@ const char * const strings_object[] =
[OBJECT_RESEARCH] = "Research center",
[OBJECT_RADAR] = "Radar station",
[OBJECT_INFO] = "Information exchange post",
-#if _TEEN
- [OBJECT_ENERGY] = "Disintegrator",
-#else
[OBJECT_ENERGY] = "Power cell factory",
-#endif
[OBJECT_LABO] = "Autolab",
[OBJECT_NUCLEAR] = "Nuclear power station",
[OBJECT_PARA] = "Lightning conductor",
@@ -574,13 +522,6 @@ const char * const strings_object[] =
const char * const strings_err[] =
{
[ERR_CMD] = "Unknown command",
-#if _NEWLOOK
- [ERR_INSTALL] = "CeeBot not installed.",
- [ERR_NOCD] = "Please insert the CeeBot CD\nand re-run the game.",
-#else
- [ERR_INSTALL] = "COLOBOT not installed.",
- [ERR_NOCD] = "Please insert the COLOBOT CD\nand re-run the game.",
-#endif
[ERR_MANIP_VEH] = "Inappropriate bot",
[ERR_MANIP_FLY] = "Impossible when flying",
[ERR_MANIP_BUSY] = "Already carrying something",
diff --git a/src/po/de.po b/src/po/de.po
index 88ab6f1..5af628c 100644
--- a/src/po/de.po
+++ b/src/po/de.po
@@ -1,29 +1,17 @@
-msgid "1.18 /e"
-msgstr "1.18 /d"
-
-msgid "CeeBot-A 1.18"
-msgstr "CeeBot-A 1.18"
-
-msgid "CeeBot-Teen EDU 1.18"
-msgstr "CeeBot-Teen EDU 1.18"
-
-msgid "CeeBot-A EDU 1.18"
-msgstr "CeeBot-A EDU 1.18"
-
-msgid "CeeBot-Teen PERSO 1.18"
-msgstr "CeeBot-Teen PERSO 1.18"
-
-msgid "CeeBot-A PERSO 1.18"
-msgstr "CeeBot-A PERSO 1.18"
-
-msgid "CeeBot-Teen DEMO 1.18"
-msgstr "CeeBot-Teen DEMO 1.18"
+msgid ""
+msgstr ""
+"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: de_DE\n"
+"X-Source-Language: en_US\n"
-msgid "CeeBot-A DEMO 1.18"
-msgstr "CeeBot-A DEMO 1.18"
+msgid "Colobot rules!"
+msgstr "Colobot ist wunderbar!"
-msgid "Demo 1.18 /e"
-msgstr "Demo 1.18 /d"
+msgid "Colobot Gold"
+msgstr "Colobot Gold"
msgid "SatCom"
msgstr "SatCom"
@@ -55,9 +43,6 @@ msgstr "Neu ..."
msgid " or "
msgstr " oder "
-msgid "CeeBot"
-msgstr "CeeBot"
-
msgid "COLOBOT"
msgstr "COLOBOT"
@@ -154,12 +139,6 @@ msgstr "Farbe des Anzugs:"
msgid "Strip color:"
msgstr "Farbe der Streifen:"
-msgid "Do you want to quit CeeBot ?"
-msgstr "Wollen Sie CeeBot schließen ?"
-
-msgid "Quit\\Quit CeeBot"
-msgstr "Schließen\\CeeBot schließen"
-
msgid "Do you want to quit COLOBOT ?"
msgstr "Wollen Sie COLOBOT schließen ?"
@@ -223,8 +202,10 @@ msgstr "\\c; (keine)\\n;\n"
msgid "\\b;Error\n"
msgstr "\\b;Fehler\n"
-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 ""
+"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 "Open"
msgstr "Öffnen"
@@ -266,7 +247,7 @@ msgid "Next"
msgstr "Nächster"
msgid "Previous"
-msgstr "Vorherg."
+msgstr "Vorherg"
msgid "Menu (\\key quit;)"
msgstr "Menü (\\key quit;)"
@@ -304,9 +285,6 @@ msgstr "Speichern\\Aktuelle Mission speichern"
msgid "Load\\Load a saved mission"
msgstr "Laden\\Eine gespeicherte Mission öffnen"
-msgid "\\Return to CeeBot"
-msgstr "\\Zurück zu CeeBot"
-
msgid "\\Return to COLOBOT"
msgstr "\\Zurück zu COLOBOT"
@@ -314,7 +292,7 @@ msgid "<< Back \\Back to the previous screen"
msgstr "<< Zurück \\Zurück zum Hauptmenü"
msgid "Play\\Start mission!"
-msgstr "Spielen ...\\Los geht's"
+msgstr "Spielen ...\\Los geht's!"
msgid "Device\\Driver and resolution settings"
msgstr "Bildschirm\\Driver und Bildschirmauflösung"
@@ -401,10 +379,11 @@ msgid "Exit film\\Film at the exit of exercises"
msgstr "Zurücksetzen \\Kleine Show beim Zurücksetzen in den Übungen"
msgid "Friendly fire\\Your shooting can damage your own objects "
-msgstr "Eigenbeschuss\\Ihre Einheiten werden von Ihren Waffen beschädigt."
+msgstr "Eigenbeschuss\\Ihre Einheiten werden von Ihren Waffen beschädigt"
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"
+msgstr ""
+"Kameradrehung mit der Maus\\Die Kamera dreht wenn die Maus den Rand erreicht"
msgid "Mouse inversion X\\Inversion of the scrolling direction on the X axis"
msgstr "Umkehr X\\Umkehr der Kameradrehung X-Achse"
@@ -425,7 +404,8 @@ 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 "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"
+msgstr ""
+"Lösung zugänglich\\Die Lösung ist im Programmslot \"4: Lösung\" zugänglich"
msgid "Standard controls\\Standard key functions"
msgstr "Alles zurücksetzen\\Standarddefinition aller Tasten"
@@ -454,8 +434,9 @@ 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 ""
+"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"
@@ -523,7 +504,8 @@ msgstr "Normal\\Normale Lautstärke"
msgid "Use a joystick\\Joystick or keyboard"
msgstr "Joystick\\Joystick oder Tastatur"
-msgid "Access to solution\\Shows the solution (detailed instructions for missions)"
+msgid ""
+"Access to solution\\Shows the solution (detailed instructions for missions)"
msgstr "Zeigt die Lösung\\Zeigt nach 3mal Scheitern die Lösung"
msgid "\\New player name"
@@ -1312,22 +1294,6 @@ msgstr "Fehler"
msgid "Unknown command"
msgstr "Befehl unbekannt"
-msgid "CeeBot not installed."
-msgstr "CeeBot wurde nicht installiert."
-
-msgid ""
-"Please insert the CeeBot CD\n"
-"and re-run the game."
-msgstr "Legen Sie die CeeBot-CD ein\nund starten Sie das Spiel neu."
-
-msgid "COLOBOT not installed."
-msgstr "COLOBOT wurde nicht installiert."
-
-msgid ""
-"Please insert the COLOBOT CD\n"
-"and re-run the game."
-msgstr "Legen Sie die COLOBOT-CD ein\nund starten Sie das Spiel neu."
-
msgid "Inappropriate bot"
msgstr "Roboter ungeeignet"
@@ -1490,8 +1456,11 @@ msgstr "Zu nahe an einer anderen Fahne"
msgid "No flag nearby"
msgstr "Keine Fahne in Reichweite"
-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 ""
+"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 "Bot destroyed"
msgstr "Roboter zerstört"
@@ -1647,7 +1616,9 @@ msgid "Instruction \"break\" outside a loop"
msgstr "Anweisung \"break\" außerhalb einer Schleife"
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"
+msgstr ""
+"Ein Label kann nur vor den Anweisungen \"for\", \"while\", \"do\" oder "
+"\"switch\" vorkommen"
msgid "This label does not exist"
msgstr "Dieses Label existiert nicht"
diff --git a/src/po/fr.po b/src/po/fr.po
index c70a77e..f893440 100644
--- a/src/po/fr.po
+++ b/src/po/fr.po
@@ -1,29 +1,17 @@
-msgid "1.18 /e"
-msgstr "1.18 /f"
-
-msgid "CeeBot-A 1.18"
-msgstr "CeeBot-A 1.18"
-
-msgid "CeeBot-Teen EDU 1.18"
-msgstr "CeeBot-Teen EDU 1.18"
-
-msgid "CeeBot-A EDU 1.18"
-msgstr "CeeBot-A EDU 1.18"
-
-msgid "CeeBot-Teen PERSO 1.18"
-msgstr "CeeBot-Teen PERSO 1.18"
-
-msgid "CeeBot-A PERSO 1.18"
-msgstr "CeeBot-A PERSO 1.18"
-
-msgid "CeeBot-Teen DEMO 1.18"
-msgstr "CeeBot-Teen DEMO 1.18"
+msgid ""
+msgstr ""
+"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"
-msgid "CeeBot-A DEMO 1.18"
-msgstr "CeeBot-A DEMO 1.18"
+msgid "Colobot rules!"
+msgstr "Colobot est super!"
-msgid "Demo 1.18 /e"
-msgstr "Demo 1.18 /f"
+msgid "Colobot Gold"
+msgstr "Colobot Gold"
msgid "SatCom"
msgstr "SatCom"
@@ -55,9 +43,6 @@ msgstr "Nouveau ..."
msgid " or "
msgstr " ou "
-msgid "CeeBot"
-msgstr "CeeBot"
-
msgid "COLOBOT"
msgstr "COLOBOT"
@@ -154,12 +139,6 @@ msgstr "Couleur de la combinaison :"
msgid "Strip color:"
msgstr "Couleur des bandes :"
-msgid "Do you want to quit CeeBot ?"
-msgstr "Voulez-vous quitter CeeBot ?"
-
-msgid "Quit\\Quit CeeBot"
-msgstr "Quitter\\Quitter CeeBot"
-
msgid "Do you want to quit COLOBOT ?"
msgstr "Voulez-vous quitter COLOBOT ?"
@@ -223,8 +202,10 @@ msgstr "\\c; (aucun)\\n;\n"
msgid "\\b;Error\n"
msgstr "\\b;Erreur\n"
-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 ""
+"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 "Open"
msgstr "Ouvrir"
@@ -304,9 +285,6 @@ msgstr "Enregistrer\\Enregistrer la mission en cours"
msgid "Load\\Load a saved mission"
msgstr "Charger\\Charger une mission enregistrée"
-msgid "\\Return to CeeBot"
-msgstr "\\Retourner dans CeeBot"
-
msgid "\\Return to COLOBOT"
msgstr "\\Retourner dans COLOBOT"
@@ -314,7 +292,7 @@ msgid "<< Back \\Back to the previous screen"
msgstr "<< Retour \\Retour au niveau précédent"
msgid "Play\\Start mission!"
-msgstr "Jouer ...\\Démarrer l'action"
+msgstr "Jouer ...\\Démarrer l'action!"
msgid "Device\\Driver and resolution settings"
msgstr "Affichage\\Pilote et résolution d'affichage"
@@ -404,13 +382,17 @@ 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 "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"
+msgstr ""
+"Défilement dans les bords\\Défilement lorsque la souris touches les bords "
+"gauche ou droite"
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"
+msgstr ""
+"Inversion souris X\\Inversion de la rotation lorsque la souris touche un bord"
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"
+msgstr ""
+"Inversion souris Y\\Inversion de la rotation lorsque la souris touche un bord"
msgid "Quake at explosions\\The screen shakes at explosions"
msgstr "Secousses lors d'explosions\\L'écran vibre lors d'une explosion"
@@ -454,7 +436,8 @@ 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)"
+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"
@@ -523,7 +506,8 @@ msgstr "Normal\\Niveaux normaux"
msgid "Use a joystick\\Joystick or keyboard"
msgstr "Utilise un joystick\\Joystick ou clavier"
-msgid "Access to solution\\Shows the solution (detailed instructions for missions)"
+msgid ""
+"Access to solution\\Shows the solution (detailed instructions for missions)"
msgstr "Accčs ŕ la solution\\Donne la solution"
msgid "\\New player name"
@@ -1312,22 +1296,6 @@ msgstr "Erreur"
msgid "Unknown command"
msgstr "Commande inconnue"
-msgid "CeeBot not installed."
-msgstr "CeeBot n'est pas installé."
-
-msgid ""
-"Please insert the CeeBot CD\n"
-"and re-run the game."
-msgstr "Veuillez mettre le CD de CeeBot\net relancer le jeu."
-
-msgid "COLOBOT not installed."
-msgstr "COLOBOT n'est pas installé."
-
-msgid ""
-"Please insert the COLOBOT CD\n"
-"and re-run the game."
-msgstr "Veuillez mettre le CD de COLOBOT\net relancer le jeu."
-
msgid "Inappropriate bot"
msgstr "Robot inadapté"
@@ -1490,8 +1458,10 @@ msgstr "Trop proche d'un drapeau existant"
msgid "No flag nearby"
msgstr "Aucun drapeau ŕ proximité"
-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 ""
+"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 "Bot destroyed"
msgstr "Robot détruit"
@@ -1521,7 +1491,8 @@ msgid "Plans for tracked robots available "
msgstr "Fabrication d'un robot ŕ chenilles possible"
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;)"
+msgstr ""
+"Il est possible de voler avec les touches (\\key gup;) et (\\key gdown;)"
msgid "Plans for thumper available"
msgstr "Fabrication d'un robot secoueur possible"
@@ -1647,7 +1618,9 @@ msgid "Instruction \"break\" outside a loop"
msgstr "Instruction \"break\" en dehors d'une boucle"
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\""
+msgstr ""
+"Un label ne peut se placer que devant un \"for\", un \"while\", un \"do\" ou "
+"un \"switch\""
msgid "This label does not exist"
msgstr "Cette étiquette n'existe pas"
diff --git a/src/po/pl.po b/src/po/pl.po
index 1f5db21..98fda0e 100644
--- a/src/po/pl.po
+++ b/src/po/pl.po
@@ -1,29 +1,17 @@
-msgid "1.18 /e"
-msgstr "Wersja 1.18 /pl"
-
-msgid "CeeBot-A 1.18"
-msgstr "CeeBot-A 1.18"
-
-msgid "CeeBot-Teen EDU 1.18"
-msgstr "CeeBot-Teen EDU 1.18"
-
-msgid "CeeBot-A EDU 1.18"
-msgstr "CeeBot-A EDU 1.18"
-
-msgid "CeeBot-Teen PERSO 1.18"
-msgstr "CeeBot-Teen PERSO 1.18"
-
-msgid "CeeBot-A PERSO 1.18"
-msgstr "CeeBot-A PERSO 1.18"
-
-msgid "CeeBot-Teen DEMO 1.18"
-msgstr "CeeBot-Teen DEMO 1.18"
+msgid ""
+msgstr ""
+"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"
+"X-Language: pl_PL\n"
+"X-Source-Language: en_US\n"
-msgid "CeeBot-A DEMO 1.18"
-msgstr "CeeBot-A DEMO 1.18"
+msgid "Colobot rules!"
+msgstr "Colobot rządzi!"
-msgid "Demo 1.18 /e"
-msgstr "Demo 1.18 /pl"
+msgid "Colobot Gold"
+msgstr "Colobot Gold"
msgid "SatCom"
msgstr "SatCom"
@@ -55,9 +43,6 @@ msgstr "Nowy ..."
msgid " or "
msgstr " lub "
-msgid "CeeBot"
-msgstr "CeeBot"
-
msgid "COLOBOT"
msgstr "COLOBOT"
@@ -154,12 +139,6 @@ msgstr "Kolor skafandra:"
msgid "Strip color:"
msgstr "Kolor pasków:"
-msgid "Do you want to quit CeeBot ?"
-msgstr "Czy na pewno chcesz opuścić grę CeeBot?"
-
-msgid "Quit\\Quit CeeBot"
-msgstr "Zakończ\\Kończy grę CeeBot"
-
msgid "Do you want to quit COLOBOT ?"
msgstr "Czy na pewno chcesz opuścić grę COLOBOT?"
@@ -223,8 +202,12 @@ msgstr "\\c; (brak)\\n;\n"
msgid "\\b;Error\n"
msgstr "\\b;Błąd\n"
-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 ""
+"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 "Open"
msgstr "Otwórz"
@@ -304,9 +287,6 @@ msgstr "Zapisz\\Zapisuje bieżącą misję"
msgid "Load\\Load a saved mission"
msgstr "Wczytaj\\Wczytuje zapisaną misję"
-msgid "\\Return to CeeBot"
-msgstr "\\Powróć do gry CeeBot"
-
msgid "\\Return to COLOBOT"
msgstr "\\Powróć do gry COLOBOT"
@@ -404,7 +384,9 @@ msgid "Friendly fire\\Your shooting can damage your own objects "
msgstr "Przyjacielski ogień\\Własne strzały uszkadzają Twoje obiekty"
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"
+msgstr ""
+"Przewijanie\\Ekran jest przewijany gdy mysz dotknie prawej lub lewej jego "
+"krawędzi"
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"
@@ -422,7 +404,9 @@ msgid "Automatic indent\\When program editing"
msgstr "Automatyczne wcięcia\\Automatyczne wcięcia podczas edycji programu"
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"
+msgstr ""
+"Duże wcięcie\\2 lub 4 spacje wcięcia na każdy poziom zdefiniowany przez "
+"klamry"
msgid "Access to solutions\\Show program \"4: Solution\" in the exercises"
msgstr "Accčs aux solutions\\Programme \"4: Solution\" dans les exercices"
@@ -454,8 +438,11 @@ 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 ""
+"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ę"
@@ -479,10 +466,12 @@ msgid "Programming help\\Gives more detailed help with programming"
msgstr "Podręcznik programowania\\Dostarcza szczegółową pomoc w programowaniu"
msgid "Key word help\\More detailed help about key words"
-msgstr "Pomoc dot. słów kluczowych\\Dokładniejsza pomoc na temat słów kluczowych"
+msgstr ""
+"Pomoc dot. słów kluczowych\\Dokładniejsza pomoc na temat słów kluczowych"
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ść"
+msgstr ""
+"Miejsce nadania wiadomości\\Pokazuje skąd została wysłana ostatnia wiadomość"
msgid "Speed 1.0x\\Normal speed"
msgstr "Prędkość 1,0x\\Prędkość normalna"
@@ -506,13 +495,15 @@ msgid "3D sound\\3D positioning of the sound"
msgstr "Dźwięk 3D\\Przestrzenne pozycjonowanie dźwięków"
msgid "Lowest\\Minimum graphic quality (highest frame rate)"
-msgstr "Najniższa\\Minimalna jakość grafiki (najwyższa częstotliwość odświeżania)"
+msgstr ""
+"Najniższa\\Minimalna jakość grafiki (najwyższa częstotliwość odświeżania)"
msgid "Normal\\Normal graphic quality"
msgstr "Normalna\\Normalna jakość grafiki"
msgid "Highest\\Highest graphic quality (lowest frame rate)"
-msgstr "Najwyższa\\Maksymalna jakość grafiki (najniższa częstotliwość odświeżania)"
+msgstr ""
+"Najwyższa\\Maksymalna jakość grafiki (najniższa częstotliwość odświeżania)"
msgid "Mute\\No sound"
msgstr "Cisza\\Brak dźwięków"
@@ -523,8 +514,11 @@ msgstr "Normalne\\Normalna głośność dźwięków"
msgid "Use a joystick\\Joystick or keyboard"
msgstr "Używaj joysticka\\Joystick lub klawiatura"
-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 ""
+"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 "\\New player name"
msgstr "\\Nowe imię gracza"
@@ -1312,22 +1306,6 @@ msgstr "Błąd"
msgid "Unknown command"
msgstr "Nieznane polecenie"
-msgid "CeeBot not installed."
-msgstr "Gra CeeBot nie jest zainstalowana."
-
-msgid ""
-"Please insert the CeeBot CD\n"
-"and re-run the game."
-msgstr "Włóż dysk CD z grą CeeBot\ni uruchom grę jeszcze raz."
-
-msgid "COLOBOT not installed."
-msgstr "Gra COLOBOT nie jest zainstalowana."
-
-msgid ""
-"Please insert the COLOBOT CD\n"
-"and re-run the game."
-msgstr "Włóż dysk CD z grą COLOBOT\ni uruchom grę jeszcze raz."
-
msgid "Inappropriate bot"
msgstr "Nieodpowiedni robot"
@@ -1490,7 +1468,8 @@ msgstr "Za blisko istniejącej flagi"
msgid "No flag nearby"
msgstr "Nie ma flagi w pobliżu"
-msgid "The mission is not accomplished yet (press \\key help; for more details)"
+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 "Bot destroyed"
@@ -1590,7 +1569,8 @@ msgid "Spider fatally wounded"
msgstr "Pająk śmiertelnie raniony"
msgid "Press \\key help; to read instructions on your SatCom"
-msgstr "Naciśnij klawisz \\key help; aby wyświetlić rozkazy na przekaźniku SatCom"
+msgstr ""
+"Naciśnij klawisz \\key help; aby wyświetlić rozkazy na przekaźniku SatCom"
msgid "Opening bracket missing"
msgstr "Brak nawiasu otwierającego"
@@ -1638,7 +1618,7 @@ msgid "Unknown function"
msgstr "Funkcja nieznana"
msgid "Sign \" : \" missing"
-msgstr "Brak znaku \" : "
+msgstr "Brak znaku \" :\""
msgid "Keyword \"while\" missing"
msgstr "Brak kluczowego słowa \"while"