From 94e7fd920353c39471d8836a8bf87ffb113f1349 Mon Sep 17 00:00:00 2001 From: Piotr Dziwinski Date: Thu, 13 Sep 2012 23:28:06 +0200 Subject: [PATCH] Locale settings and translation fixes - added locale setting - removed unused translations - updated .po files --- src/app/app.cpp | 102 ++++++++++++++++++++++++++++--- src/common/error_ids.h | 2 - src/common/restext.h | 2 + src/common/restext_strings.c | 63 +------------------ src/po/de.po | 101 +++++++++++-------------------- src/po/fr.po | 101 ++++++++++++------------------- src/po/pl.po | 114 +++++++++++++++-------------------- 7 files changed, 216 insertions(+), 269 deletions(-) diff --git a/src/app/app.cpp b/src/app/app.cpp index fe1b986d..6e336a23 100644 --- a/src/app/app.cpp +++ b/src/app/app.cpp @@ -29,7 +29,10 @@ #include #include -#include +#include + +#include +#include template<> CApplication* CSingleton::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 3c0e0a15..fc1f7d67 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 0dba89a7..b47e03c7 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 8e9471ba..d041a280 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 88ab6f1e..5af628cb 100644 --- a/src/po/de.po +++ b/src/po/de.po @@ -1,29 +1,17 @@ -msgid "1.18 /e" -msgstr "1.18 /d" +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 1.18" -msgstr "CeeBot-A 1.18" +msgid "Colobot rules!" +msgstr "Colobot ist wunderbar!" -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 "CeeBot-A DEMO 1.18" -msgstr "CeeBot-A DEMO 1.18" - -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 c70a77e3..f8934408 100644 --- a/src/po/fr.po +++ b/src/po/fr.po @@ -1,29 +1,17 @@ -msgid "1.18 /e" -msgstr "1.18 /f" +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 1.18" -msgstr "CeeBot-A 1.18" +msgid "Colobot rules!" +msgstr "Colobot est super!" -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 "CeeBot-A DEMO 1.18" -msgstr "CeeBot-A DEMO 1.18" - -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 1f5db212..98fda0e8 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 "" +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 1.18" -msgstr "CeeBot-A 1.18" +msgid "Colobot rules!" +msgstr "Colobot rządzi!" -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 "CeeBot-A DEMO 1.18" -msgstr "CeeBot-A DEMO 1.18" - -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"