aboutsummaryrefslogtreecommitdiff
path: root/devtools
diff options
context:
space:
mode:
authorJaromir Wysoglad2019-05-27 18:49:01 +0200
committerThierry Crozat2019-07-28 15:09:14 +0100
commit0ed3dbf21f5dc2eb6bb90324d77937e68189a43a (patch)
tree1a251dd153bff0e28ee970e5cf52f829b7dc9b44 /devtools
parent9bf7dc817fb76e59b97c673f7f4cd555ffcdd42c (diff)
downloadscummvm-rg350-0ed3dbf21f5dc2eb6bb90324d77937e68189a43a.tar.gz
scummvm-rg350-0ed3dbf21f5dc2eb6bb90324d77937e68189a43a.tar.bz2
scummvm-rg350-0ed3dbf21f5dc2eb6bb90324d77937e68189a43a.zip
SUPERNOVA2: add tool to generate engine data file
Most of the tool is copied from create supernova Add correct gametext.h and strings_en.po for supernova2 Doesn't handle images yet
Diffstat (limited to 'devtools')
-rw-r--r--devtools/create_supernova2/create_supernova2.cpp197
-rw-r--r--devtools/create_supernova2/create_supernova2.h33
-rw-r--r--devtools/create_supernova2/file.cpp72
-rw-r--r--devtools/create_supernova2/file.h59
-rw-r--r--devtools/create_supernova2/gametext.h778
-rw-r--r--devtools/create_supernova2/module.mk12
-rw-r--r--devtools/create_supernova2/po_parser.cpp221
-rw-r--r--devtools/create_supernova2/po_parser.h78
-rw-r--r--devtools/create_supernova2/strings-en.po2780
9 files changed, 4230 insertions, 0 deletions
diff --git a/devtools/create_supernova2/create_supernova2.cpp b/devtools/create_supernova2/create_supernova2.cpp
new file mode 100644
index 0000000000..ff19728c59
--- /dev/null
+++ b/devtools/create_supernova2/create_supernova2.cpp
@@ -0,0 +1,197 @@
+#include "create_supernova2.h"
+#include "gametext.h"
+#include "file.h"
+#include "po_parser.h"
+
+// HACK to allow building with the SDL backend on MinGW
+// see bug #1800764 "TOOLS: MinGW tools building broken"
+#ifdef main
+#undef main
+#endif // main
+
+// List of languages to look for. To add new languages you only need to change the array below
+// and add the supporting files:
+// - 640x480 bitmap picture for the newpaper named 'img1-##.pbm' and 'img2-##.pbm'
+// in pbm binary format (you can use gimp to generate those)
+// - strings in a po file named 'strings-##.po' that uses CP850 encoding
+
+const char *lang[] = {
+ "en",
+ NULL
+};
+
+void writeImage(File& outputFile, const char *name, const char* language) {
+ File imgFile;
+ char fileName[16];
+ sprintf(fileName, "%s-%s.pbm", name, language);
+ if (!imgFile.open(fileName, kFileReadMode)) {
+ printf("Cannot find image '%s' for language '%s'. This image will be skipped.\n", name, language);
+ return;
+ }
+
+ char str[256];
+
+ // Read header (and check we have a binary PBM file)
+ imgFile.readString(str, 256);
+ if (strcmp(str, "P4") != 0) {
+ imgFile.close();
+ printf("File '%s' doesn't seem to be a binary pbm file! This image will be skipped.\n", fileName);
+ return;
+ }
+
+ // Skip comments and then read and check size
+ do {
+ imgFile.readString(str, 256);
+ } while (str[0] == '#');
+ int w = 0, h = 0;
+ if (sscanf(str, "%d %d", &w, &h) != 2 || w != 640 || h != 480) {
+ imgFile.close();
+ printf("Binary pbm file '%s' doesn't have the expected size (expected: 640x480, read: %dx%d). This image will be skipped.\n", fileName, w, h);
+ return;
+ }
+
+ // Write block header in output file (4 bytes).
+ // We convert the image name to upper case.
+ for (int i = 0 ; i < 4 ; ++i) {
+ if (name[i] >= 97 && name[i] <= 122)
+ outputFile.writeByte(name[i] - 32);
+ else
+ outputFile.writeByte(name[i]);
+ }
+ // And write the language code on 4 bytes as well (padded with 0 if needed).
+ int languageLength = strlen(language);
+ for (int i = 0 ; i < 4 ; ++i) {
+ if (i < languageLength)
+ outputFile.writeByte(language[i]);
+ else
+ outputFile.writeByte(0);
+ }
+
+ // Write block size (640*480 / 8)
+ outputFile.writeLong(38400);
+
+ // Write all the bytes. We should have 38400 bytes (640 * 480 / 8)
+ // However we need to invert the bits has the engine expects 1 for the background and 0 for the text (black)
+ // but pbm uses 0 for white and 1 for black.
+ for (int i = 0 ; i < 38400 ; ++i) {
+ byte b = imgFile.readByte();
+ outputFile.writeByte(~b);
+ }
+
+ imgFile.close();
+}
+
+void writeGermanStrings(File& outputFile) {
+ // Write header and language
+ outputFile.write("TEXT", 4);
+ outputFile.write("de\0\0", 4);
+
+ // Reserve the size for the block size, but we will write it at the end once we know what it is.
+ uint32 blockSizePos = outputFile.pos();
+ uint32 blockSize = 0;
+ outputFile.writeLong(blockSize);
+
+ // Write all the strings
+ const char **s = &gameText[0];
+ while (*s) {
+ outputFile.writeString(*s);
+ blockSize += strlen(*s) + 1;
+ ++s;
+ }
+
+ // Now write the block size and then go back to the end of the file.
+ outputFile.seek(blockSizePos, SEEK_SET);
+ outputFile.writeLong(blockSize);
+ outputFile.seek(0, SEEK_END);
+}
+
+void writeStrings(File& outputFile, const char* language) {
+ char fileName[16];
+ sprintf(fileName, "strings-%s.po", language);
+ PoMessageList* poList = parsePoFile(fileName);
+ if (!poList) {
+ printf("Cannot find strings file for language '%s'.\n", language);
+ return;
+ }
+
+ // Write block header
+ outputFile.write("TEXT", 4);
+
+ // And write the language code on 4 bytes as well (padded with 0 if needed).
+ int languageLength = strlen(language);
+ for (int i = 0 ; i < 4 ; ++i) {
+ if (i < languageLength)
+ outputFile.writeByte(language[i]);
+ else
+ outputFile.writeByte(0);
+ }
+
+ // Reserve the size for the block size, but we will write it at the end once we know what it is.
+ uint32 blockSizePos = outputFile.pos();
+ uint32 blockSize = 0;
+ outputFile.writeLong(blockSize);
+
+ // Write all the strings.
+ // If a string is not translated we use the German one.
+ const char **s = &gameText[0];
+ while (*s) {
+ const char* translation = poList->findTranslation(*s);
+ if (translation) {
+ outputFile.writeString(translation);
+ blockSize += strlen(translation) + 1;
+ } else {
+ outputFile.writeString(*s);
+ blockSize += strlen(*s) + 1;
+ }
+ ++s;
+ }
+ delete poList;
+
+ // Now write the block size and then go back to the end of the file.
+ outputFile.seek(blockSizePos, SEEK_SET);
+ outputFile.writeLong(blockSize);
+ outputFile.seek(0, SEEK_END);
+}
+
+
+/**
+ * Main method
+ */
+int main(int argc, char *argv[]) {
+ File outputFile;
+ if (!outputFile.open("supernova2.dat", kFileWriteMode)) {
+ printf("Cannot create file 'supernova2.dat' in current directory.\n");
+ exit(0);
+ }
+
+ // The generated file is of the form:
+ // 3 bytes: 'MSN'
+ // 1 byte: version
+ // -- data blocks
+ // 4 bytes: header 'IMG1' and 'IMG2' for newspaper images (for file 1 and file 2 respectively),
+ // 'TEXT' for strings
+ // 4 bytes: language code ('en\0', 'de\0'- see common/language.cpp)
+ // 4 bytes: block size n (uint32)
+ // n bytes: data
+ // ---
+
+ // Header
+ outputFile.write("MS2", 3);
+ outputFile.writeByte(VERSION);
+
+ // German strings
+ writeGermanStrings(outputFile);
+
+ // TODO make the needed images and reenable writing them to the .dat file
+ // Other languages
+ const char **l = &lang[0];
+ while(*l) {
+ // writeImage(outputFile, "img1", *l);
+ // writeImage(outputFile, "img2", *l);
+ writeStrings(outputFile, *l);
+ ++l;
+ }
+
+ outputFile.close();
+ return 0;
+}
diff --git a/devtools/create_supernova2/create_supernova2.h b/devtools/create_supernova2/create_supernova2.h
new file mode 100644
index 0000000000..7447a7ece6
--- /dev/null
+++ b/devtools/create_supernova2/create_supernova2.h
@@ -0,0 +1,33 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * 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 2
+ * 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, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * This is a utility for generating a data file for the supernova engine.
+ * It contains strings extracted from the original executable as well
+ * as translations and is required for the engine to work properly.
+ */
+
+#ifndef CREATE_SUPERNOVA_H
+#define CREATE_SUPERNOVA_H
+
+#define VERSION 1
+
+
+
+#endif // CREATE_SUPERNOVA_H
diff --git a/devtools/create_supernova2/file.cpp b/devtools/create_supernova2/file.cpp
new file mode 100644
index 0000000000..5fb842aff6
--- /dev/null
+++ b/devtools/create_supernova2/file.cpp
@@ -0,0 +1,72 @@
+#include "file.h"
+
+bool File::open(const char *filename, AccessMode mode) {
+ f = fopen(filename, (mode == kFileReadMode) ? "rb" : "wb");
+ return (f != NULL);
+}
+
+void File::close() {
+ fclose(f);
+ f = NULL;
+}
+
+int File::seek(int32 offset, int whence) {
+ return fseek(f, offset, whence);
+}
+
+long File::read(void *buffer, int len) {
+ return fread(buffer, 1, len, f);
+}
+void File::write(const void *buffer, int len) {
+ fwrite(buffer, 1, len, f);
+}
+
+byte File::readByte() {
+ byte v;
+ read(&v, sizeof(byte));
+ return v;
+}
+
+uint16 File::readWord() {
+ uint16 v;
+ read(&v, sizeof(uint16));
+ return FROM_LE_16(v);
+}
+
+uint32 File::readLong() {
+ uint32 v;
+ read(&v, sizeof(uint32));
+ return FROM_LE_32(v);
+}
+
+void File::readString(char* string, int bufferLength) {
+ int i = 0;
+ while (i < bufferLength - 1 && fread(string + i, 1, 1, f) == 1) {
+ if (string[i] == '\n' || string[i] == 0)
+ break;
+ ++ i;
+ }
+ string[i] = 0;
+}
+
+void File::writeByte(byte v) {
+ write(&v, sizeof(byte));
+}
+
+void File::writeWord(uint16 v) {
+ uint16 vTemp = TO_LE_16(v);
+ write(&vTemp, sizeof(uint16));
+}
+
+void File::writeLong(uint32 v) {
+ uint32 vTemp = TO_LE_32(v);
+ write(&vTemp, sizeof(uint32));
+}
+
+void File::writeString(const char *s) {
+ write(s, strlen(s) + 1);
+}
+
+uint32 File::pos() {
+ return ftell(f);
+}
diff --git a/devtools/create_supernova2/file.h b/devtools/create_supernova2/file.h
new file mode 100644
index 0000000000..dd33e410f9
--- /dev/null
+++ b/devtools/create_supernova2/file.h
@@ -0,0 +1,59 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * 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 2
+ * 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, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * This is a utility for generating a data file for the supernova engine.
+ * It contains strings extracted from the original executable as well
+ * as translations and is required for the engine to work properly.
+ */
+
+#ifndef FILE_H
+#define FILE_H
+
+// Disable symbol overrides so that we can use system headers.
+#define FORBIDDEN_SYMBOL_ALLOW_ALL
+#include "common/endian.h"
+
+enum AccessMode {
+ kFileReadMode = 1,
+ kFileWriteMode = 2
+};
+
+class File {
+private:
+ FILE *f;
+public:
+ bool open(const char *filename, AccessMode mode = kFileReadMode);
+ void close();
+ int seek(int32 offset, int whence = SEEK_SET);
+ uint32 pos();
+ long read(void *buffer, int len);
+ void write(const void *buffer, int len);
+
+ byte readByte();
+ uint16 readWord();
+ uint32 readLong();
+ void readString(char*, int bufferLength);
+ void writeByte(byte v);
+ void writeWord(uint16 v);
+ void writeLong(uint32 v);
+ void writeString(const char *s);
+};
+
+#endif // FILE_H
diff --git a/devtools/create_supernova2/gametext.h b/devtools/create_supernova2/gametext.h
new file mode 100644
index 0000000000..6b4cf1ea03
--- /dev/null
+++ b/devtools/create_supernova2/gametext.h
@@ -0,0 +1,778 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * 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 2
+ * 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, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * This is a utility for generating a data file for the supernova engine.
+ * It contains strings extracted from the original executable as well
+ * as translations and is required for the engine to work properly.
+ */
+
+#ifndef GAMETEXT_H
+#define GAMETEXT_H
+
+#include <stddef.h>
+
+// This file contains the strings in German and is encoded using CP850 encoding.
+// Other language should be provided as po files also using the CP850 encoding.
+
+// TODO: add the strings from the engine here, add an Id string in comment.
+// And in the engine add a StringId enum with all the Ids = index in this array.
+
+const char *gameText[] = {
+// 0
+"Gehe", //Go
+"Schau", //Look
+"Nimm", //Take
+"\231ffne", //Open
+"Schlie\341e", //Close
+// 5
+"Dr\201cke", //Push
+"Ziehe", //Pull
+"Benutze", //Use
+"Rede", //Talk
+"Gib", //Give
+// 10
+"Gespr\204ch beenden", //End of conversation
+"Gehe zu ", //Go to
+"Schau ", //Look at
+"Nimm ", //Take
+"\231ffne ", //Open
+// 15
+"Schlie\341e ", //Close
+"Dr\201cke ", //Push
+"Ziehe ", //Pull
+"Benutze ", //Use
+"Rede mit ", //Talk to
+// 20
+"Gib ", //Give
+" an ", // to
+" mit ", // with
+"Laden", //Load
+"Speichern", //Save
+// 25
+"Zur\201ck", //Back
+"Neustart", //Restart
+"Schreibfehler", //write error
+"Textgeschwindigkeit:", //Text speed:
+"Spiel abbrechen?", //Leave game?
+// 30
+"Ja", //Yes
+"Nein", //No
+"Das tr\204gst du doch bei dir.", //You already carry this.
+"Du bist doch schon da.", //You are already there.
+"Das ist geschlossen.", //This is closed.
+// 35
+"Das hast du doch schon.", //You already have that.
+"Das brauchst du nicht.", //You don't need that.
+"Das kannst du nicht nehmen.", //You can't take that.
+"Das l\204\341t sich nicht \224ffnen.", //This cannot be opened.
+"Das ist schon offen.", //This is already opened.
+// 40
+"Das ist verschlossen.", //This is locked.
+"Das l\204\341t sich nicht schlie\341en.", //This cannot be closed.
+"Das ist schon geschlossen.", //This is already closed.
+"Behalt es lieber!", //Better keep it!
+"Das geht nicht.", //You can't do that.
+// 45
+"^(C) 1994 Thomas und Steffen Dingel#", //^(C) 1994 Thomas and Steffen Dingel#
+"Story und Grafik:^ Thomas Dingel#", //Story and Graphics:^ Thomas Dingel#
+"Programmierung:^ Steffen Dingel#", //Programming:^ Steffen Dingel#
+"Musik:^ Bernd Hoffmann#", //Music:^ Bernd Hoffmann#
+"Getestet von ...#", //Tested by ...#
+// 50
+"^Das war's.#", //^That's it.#
+"^Schlu\341!#", //^Over!#
+"^Ende!#", //^End!#
+"^Aus!#", //^Done!#
+"^Tsch\201\341!#", //^Bye!#
+// 55
+"Oh!", //Oh!
+"Nicht schlecht!", //Not bad!
+"Supersound!", //Supersound!
+"Klasse!", //Great!
+"Nicht zu fassen!", //I can't believe it!
+// 60
+"Super, ey!", //Dope, yo!
+"Fantastisch!", //Fantastic!
+"Umwerfend!", //Stunning!
+"Genial!", //Brilliant!
+"Spitze!", //Awesome!
+// 65
+"Jawoll!", //Alright!
+"Hervorragend!", //Outstanding!
+"Ultragut!", //Ultra-good!
+"Megacool!", //Mega cool!
+"Yeah!", //Yeah!
+// 70
+"Ein W\204chter betritt den Raum.|Du wirst verhaftet.", //A guard enters the room.|You are getting arrested.
+"Die n\204chsten paar Jahre|verbringst du im Knast.", //You will spend the next|few years in jail.
+"Es wird Alarm ausgel\224st.", //The alarm is about to be set off.
+"Du h\224rst Schritte.", //You are hearing footsteps.
+"Um das Schloss zu \224ffnen,|brauchst du einige Zeit.", //You will take some time,|to pick that lock.
+// 75
+"Du ger\204tst in Panik|und ziehst die Keycard|aus der T\201r.", //You are panicking|and remove the keycard|from the door.
+"Du hast deinen Auftrag|noch nicht ausgef\201hrt.", //You have not completed|your task yet.
+"Obwohl du die Alarmanlage noch|nicht ausgeschaltet hast,|entscheidest du dich, zu fliehen.", //Although you haven't|disabled the alarm yet,|you decide to escape.
+"Du entledigst dich der Einbruchswerkzeuge|und nimmst ein Taxi zum Kulturpalast.", //You get rid of your burglar tools|and take a cab to the Palace of Culture.
+"Diese T\201r brauchst|du nicht zu \224ffnen.", //You don't need|to open this door.
+// 80
+"Uff, es hat geklappt!", //Phew, it worked!
+"Zur\201ck im Quartier der Gangster ...", //Back in the gangsters' hideout ...
+"Das lief ja wie am Schn\201rchen!", //Everything went like clockwork!
+"Hier, dein Anteil von 30000 Xa.", //Here, your share of 30000 Xa.
+"Wo ist denn der Saurierkopf?", //Where's the dinosaur skull?
+// 85
+"Dazu hatte ich keine Zeit mehr.", //I didn't have enough time for that.
+"Was? Du spinnst wohl!|Dann kriegst du auch deinen|Anteil nicht. Raus!", //What? You're nuts!|Then you won't get your|share. Beat it!
+"Der Sauger ist schon dort.", //The suction cup is already there.
+"Du heftest den Sauger an die Wand|und h\204lst dich daran fest.", //You attach the suction cup to the wall|and hold on to it.
+"Du stellst dich auf den|Boden nimmst den Sauger|wieder von der Wand", //You stand on the floor|then remove the suction cup from the wall
+// 90
+"Die Alarmanlage ist|schon ausgeschaltet.", //The alarm system is|already switched off.
+"Um die Anlage abzuschalten,|brauchst du einige Zeit.", //To turn off the system,|you need some time.
+"Die Alarmanlage ist jetzt ausgeschaltet.", //The alarm system is now switched off.
+"Saurier", //Dinosaur
+"Du hast jetzt besseres zu tun,|als das Ding anzuschauen.", //You have better things to do now|than look at that thing.
+// 95
+"Eingang", //Entrance
+"T\201r", //Door
+"Strasse zum Stadtzentrum", //Road to the city center
+"Kamera", //Security camera
+"Hoffentlich bemerkt dich niemand.", //Hopefully nobody will notice you.
+// 100
+"Haupteingang", //Main entrance
+"Gang", //Corridor
+"Ziemlich gro\341.", //Quite large.
+"Saurierkopf", //Dinosaur head
+"Dies ist der Kopf,|den du suchst.", //This is the head|you're looking for.
+// 105
+"Alarmanlage", //Alarm system
+"Sauger", //Suction cup
+"Wand", //Wall
+"Loch", //Opening
+"Buchstabe", //Letter
+// 110
+"Sie ist sehr massiv.", //It is very massive.
+"Hmm, X und Y, irgendwo|habe ich die Buchstaben|schon gesehen.", //Hmm, X and Y|I have seen these letters|somewhere before.
+"Deine Zeit ist um, Fremder!", //Your Time is up, Stranger!
+"Du hast das Seil|doch schon festgebunden.", //You already tied the rope.
+"Das w\201rde wenig bringen.", //That would have little effect.
+// 115
+"Sonnenstich, oder was?", //Sunstroke, or what?
+"Du merkst, da\341 der Boden|unter dir nachgibt, und|springst zur Seite.", //You notice that the ground|is giving way under you,|and you leap aside.
+"Puzzleteil", //Puzzle piece
+"Neben diesem Stein|ist kein freies Feld.", //There's no free square|next to this stone.
+"Du spielst gerade ein|Adventure, kein Rollenspiel!", //You are currently playing an|Adventure, not a Role-Playing Game!
+// 120
+"Du kannst das Seil|nirgends befestigen.", //There's nowhere|to attach the rope.
+"Es pa\341t nicht|zwischen die Steine.", //It does not fit|between the stones.
+"Das ist doch|oben festgebunden!", //That is already|tied up above!
+"Hey, das ist|mindestens 10 Meter tief!", //Hey, that is|at least 10 meters deep!
+"In dem Schlitz|ist nichts mehr.", //There is nothing|left in the slot.
+// 125
+"Das ist mindestens 5 Meter tief!", //That is at least 5 meters deep!
+"Du versuchst, den Sarg zu|\224ffnen, aber der Deckel bewegt|sich keinen Millimeter.", //You try to open the coffin,|but the lid does not|move a millimeter.
+"Du hast die Kugel schon gedr\201ckt.", //You have already|pushed the ball.
+"Die Kugel bewegt sich ein St\201ck.", //The ball moves a bit.
+"Herzlichen Gl\201ckwunsch!", //Congratulations!
+// 130
+"Sie haben das Spiel gel\224st|und gewinnen 400 Xa!", //You solved the game|and won 400 Xa!
+"Vielen Dank f\201r die Benutzung eines|VIRTUAL-REALITY-SYSTEMS-Produkts!", //Thank you for using a|VIRTUAL-REALITY-SYSTEMS product!
+"N", //N
+"O", //E
+"S", //S
+// 135
+"W", //W
+"Seil", //Rope
+"Schild", //Sign
+"Darauf steht:|\"Willst du finden das|richtige Loch, so wage|dich in die Pyramide!\".", //It reads:|"Want to find|the right hole? Then dare|to enter the pyramid!".
+"Es ist eine kleine \231ffnung.", //It is a small opening.
+// 140
+"Pyramide", //Pyramid
+"Komisch! Was soll eine Pyramide|bei den Axacussanern? Deine|eigenen Gedanken scheinen|den Spielverlauf zu beeinflussen.", //Weird! What is a pyramid doing|at the Axacussians? Your own thoughts seem to influence|the course of the game.
+"Sonne", //Sun
+"Sch\224n!", //Nice!
+"\"Hallo Fremder, wenn du diesen|Raum betreten hast, bleibt|dir nur noch eine Stunde Zeit,|um deine Aufgabe zu erf\201llen!\"", //"Hello, Stranger, when you enter|this room, you have only an hour|to accomplish your task!"
+// 145
+"rechte Seite", //right side
+"linke Seite", //left side
+"Knopf", //Button
+"Schrift", //Inscription
+"Tomate", //Tomato
+// 150
+"Komisch!", //Funny!
+"Messer", //Knife
+"Es ist ein relativ stabiles Messer.", //It is a relatively sturdy knife.
+"Monster", //Monster
+"Es ist dick und|ungef\204hr 15 Meter lang.", //It is thick and|about 15 meters long.
+// 155
+"Augen", //Eyes
+"Mund", //Mouth
+"Es ist nur eine Statue.", //It's just a statue.
+"Zettel", //Note
+"Darauf steht:|\"Wenn du fast am Ziel|bist, tu folgendes:|Sauf!\"", //It reads:|"When you're almost there,|do the following:|Drink!"
+// 160
+"Es ist ca. 10 Meter tief.", //It is about 10 meters deep.
+"Oben siehst du helles Licht.", //Above you is a bright light.
+"Darauf steht:|\"Ruhe eine Minute im Raum|zwischen den Monstern,|und du wirst belohnt!\"", //It reads:|"Rest a minute in the room|between the monsters,|and you'll be rewarded!"
+"Schlitz", //Slot
+"Du kommst mit den|H\204nden nicht rein.", //You cannot get in|with your hands.
+// 165
+"Es ist ca. 5 Meter tief.", //It is about 5 meters deep.
+"Steine", //Stones
+"Platte", //Plate
+"Sarg", //Coffin
+"Ausgang", //Exit
+// 170
+"Unheimlich!", //Creepy!
+"Zahnb\201rste", //Toothbrush
+"Die Sache mit der|Artus GmbH scheint dir zu|Kopf gestiegen zu sein.", //The thing with the|Artus GmbH seems to have|gotten to your head.
+"Zahnpastatube", //Toothpaste
+"Kugel", //Ball
+// 175
+"Hmm, die Kugel sieht lose aus.", //Hmm, the ball looks loose.
+"Auge", //Eye
+"Irgendwas stimmt damit nicht.", //Something is wrong with that.
+"Es ist nichts Besonderes daran.", //There's nothing special about it.
+"Sieht nach Metall aus.", //It looks like metal.
+// 180
+"Ein Taxi kommt angerauscht,|du steigst ein.", //A taxi arrives, and you get in.
+"Du dr\201ckst auf den Knopf, aber nichts passiert", //You press the button, but nothing happens
+"Es ist leer.", //It is empty.
+"Du findest ein kleines Ger\204t,|einen Ausweis und einen Xa.", //You find a small device,|an ID card and a Xa.
+"Du heftest den|Magnet an die Stange.", //You attach the|magnet to the pole.
+// 185
+"Stange mit Magnet", //Pole with magnet
+"Raffiniert!", //Cunning!
+"Du mu\341t das|Ger\204t erst kaufen.", //You must buy|this device first.
+"Du legst den Chip|in das Ger\204t ein.", //You insert the chip|into the device.
+"Du \201berspielst die CD|auf den Musikchip.", //You transfer the CD|to the Music chip.
+// 190
+"Ohne einen eingelegten|Musikchip kannst du auf dem|Ger\204t nichts aufnehmen.", //Without an inserted|music chip, you can not|record on the device.
+"Du nimmst den Chip|aus dem Ger\204t.", //You remove the chip|from the device.
+"Es ist kein Chip eingelegt.", //There is no chip inserted.
+"Wozu? Du hast sowieso nur die eine CD.", //What for? You only have one CD anyway.
+"Die \"Mad Monkeys\"-CD. Du hast|sie schon tausendmal geh\224rt.", //The "Mad Monkeys" CD.|You've heard them a thousand times.
+// 195
+"Du h\224rst nichts.|Der Chip ist unbespielt.", //All you hear is silence.|The chip is empty.
+"Du h\224rst dir den Anfang|der \201berspielten CD an.", //You are listening to the beginning|of the copied CD.
+"Es ist kein Chip einglegt.", //There is no chip inserted.
+"Du trinkst etwas von den Zeug, danach|f\201hlst du dich leicht beschwipst.", //You drink some of the stuff,|then begin to feel slightly tipsy.
+"%d Xa", //%d Xa
+// 200
+"Als du ebenfalls aussteigst haben|die anderen Passagiere das|Fluggel\204nde bereits verlassen.", //When you get off the plane|the other passengers|have already left the airport.
+"Flughafen", //Airport
+"Stadtzentrum", //Downtown
+"Kulturpalast", //Palace of Culture
+"Erde", //Earth
+// 205
+"Privatwohnung", //Private apartment
+"(Taxi verlassen)", //(Leave the taxi)
+"(Bezahlen)", //(Pay)
+"Adresse:| ", //Address:|
+"Fuddeln gilt nicht!|Zu diesem Zeitpunkt kannst du diese|Adresse noch gar nicht kennen!", //Fiddling with the system doesn't work!|At this time you can not|even know this address!
+// 210
+"Du hast nicht|mehr genug Geld.", //You do not|have enough money left.
+"Du merkst, da\341 das Taxi stark beschleunigt.", //You notice the taxi is accelerating rapidly.
+"F\201nf Minuten sp\204ter ...", //Five minutes later ...
+"Du hast doch schon eine Stange", //You already have a pole
+"Du s\204gst eine der Stangen ab.", //You saw off one of the poles.
+// 215
+"Du betrittst das einzige|offene Gesch\204ft, das|du finden kannst.", //You enter the only|open shop that|you can find.
+"Die Kabine ist besetzt.", //The cabin is occupied.
+"He, nimm erstmal das Geld|aus dem R\201ckgabeschlitz!", //Hey, take the money|from the return slot!
+"Du hast doch schon bezahlt.", //You have already paid.
+"Du hast nicht mehr genug Geld.", //You do not have enough money left.
+// 220
+"Du wirfst 10 Xa in den Schlitz.", //You put 10 Xa in the slot.
+"Dir wird schwarz vor Augen.", //You are about to pass out.
+"Du ruhst dich eine Weile aus.", //You rest for a while.
+"An der Wand steht:|\"Ich kenne eine tolle Geheimschrift:|A=Z, B=Y, C=X ...|0=0, 1=9, 2=8 ...\"", //On the Wall is:|"I know a great cypher:|A=Z, B=Y, C=X ...|0=0, 1=9, 2=8 ..."
+"Ok, ich nehme es.", //OK, I'll take it.
+// 225
+"Nein danke, das ist mir zu teuer.", //No thanks, that's too expensive for me.
+"Ich w\201rde gern etwas kaufen.", //I would like to buy something.
+"Ich bin's, Horst Hummel.", //It's me, Horst Hummel.
+"Haben Sie auch einen Musikchip f\201r das Ger\204t?", //Do you have a music chip for the device?
+"Eine tolle Maske, nicht wahr?", //It's a great mask, right?
+// 230
+"Komisch, da\341 sie schon drei Jahre da steht.", //Strange that it has been there for three years.
+"Ein starker Trunk. Zieht ganz sch\224n rein.", //A strong drink. It hits you pretty hard.
+"Ein Abspiel- und Aufnahmeger\204t f\201r die neuen Musikchips.", //A playback and recording device for the new music chips.
+"Eine ARTUS-Zahnb\201rste. Der letzte Schrei.", //An ARTUS toothbrush. The latest craze.
+"Verkaufe ich massenhaft, die Dinger.", //I sell these things in bulk.
+// 235
+"Das sind echte Rarit\204ten. B\201cher in gebundener Form.", //These are real rarities. Books in bound form.
+"Die Encyclopedia Axacussana.", //The Encyclopedia Axacussana.
+"Das gr\224\341te erh\204ltliche Lexikon auf 30 Speicherchips.", //The largest available dictionary on 30 memory chips.
+"\232ber 400 Trilliarden Stichw\224rter.", //Over 400 sextillion keywords.
+"Die ist nicht zu verkaufen.", //It is not for sale.
+// 240
+"So eine habe ich meinem Enkel zum Geburtstag geschenkt.", //I gave one to my grandson for his birthday.
+"Er war begeistert von dem Ding.", //He was excited about this thing.
+"Der stammt aus einem bekannten Computerspiel.", //It comes from a well-known computer game.
+"Robust, handlich und stromsparend.", //Sturdy, handy and energy-saving.
+"Irgendein lasches Ges\224ff.", //Some cheap swill.
+// 245
+"Das sind Protestaufkleber gegen die hohen Taxigeb\201hren.", //These are stickers protesting the high taxi fees.
+"Das ist Geschirr aus der neuen Umbina-Kollektion.", //These are dishes from the new Umbina-Collection.
+"H\204\341lich, nicht wahr?", //Ugly, right?
+"Aber verkaufen tut sich das Zeug gut.", //But this stuff sells well.
+"Das kostet %d Xa.", //That costs %d Xa.
+// 250
+"Schauen Sie sich ruhig um!", //Take a look around!
+"Unsinn!", //Nonsense!
+"Tut mir leid, die sind|schon alle ausverkauft.", //I'm very sorry,|they are already sold out.
+"Guten Abend.", //Good evening.
+"Hallo.", //Hello.
+// 255
+"Huch, Sie haben mich aber erschreckt!", //Yikes, you scared me!
+"Wieso?", //How so?
+"Ihre Verkleidung ist wirklich t\204uschend echt.", //Your disguise is deceptively real-looking.
+"Welche Verkleidung?", //What disguise?
+"Na, tun Sie nicht so!", //Stop pretending you don't know!
+// 260
+"Sie haben sich verkleidet wie der Au\341erirdische,|dieser Horst Hummel, oder wie er hei\341t.", //You disguised yourself as that extraterrestrial guy,|Horst Hummel, or whatever his name is.
+"Ich BIN Horst Hummel!", //I AM Horst Hummel!
+"Geben Sie's auf!", //Give it up!
+"An Ihrer Gestik merkt man, da\341 Sie|ein verkleideter Axacussaner sind.", //You can tell from your gestures that you are|a disguised Axacussan.
+"Der echte Hummel bewegt sich|anders, irgendwie ruckartig.", //The real Hummel moves|differently, kind of jerky.
+// 265
+"Weil er ein Roboter ist! ICH bin der Echte!", //Because he is a robot! I am the real one!
+"Ach, Sie spinnen ja!", //Oh, you are crazy!
+"Sie Trottel!!!", //You Idiot!!!
+"Seien Sie still, oder ich werfe Sie raus!", //Shut up or I'll kick you out!
+"Taschenmesser", //Pocket knife
+// 270
+"Hey, da ist sogar eine S\204ge dran.", //Hey, there's even a saw on it.
+"20 Xa", //20 Xa
+"Discman", //Discman
+"Da ist noch die \"Mad Monkeys\"-CD drin.", //The "Mad Monkeys" CD is still in there.
+"Mit dem Ding sollst du dich|an der Wand festhalten.", //You should hold onto the wall|using that thing.
+// 275
+"Spezialkeycard", //Special keycard
+"Damit sollst du die|T\201ren knacken k\224nnen.", //With that you should be able to crack the doors.
+"Alarmknacker", //Alarm cracker
+"Ein kleines Ger\204t, um|die Alarmanlage auszuschalten.", //A small device|to turn off the alarm.
+"Karte", //Keycard
+// 280
+"Raumschiff", //Spaceship
+"Damit bist du hierhergekommen.", //You came here with it.
+"Fahrzeuge", //Vehicles
+"Du kannst von hier aus nicht erkennen,|was das f\201r Fahrzeuge sind.", //You cannot tell from here|what those vehicles are.
+"Fahrzeug", //Vehicle
+// 285
+"Es scheint ein Taxi zu sein.", //It seems to be a taxi.
+"Komisch, er ist verschlossen.", //Funny, it is closed.
+"Portemonnaie", //Wallet
+"Das mu\341 ein Axacussaner|hier verloren haben.", //This must have been|lost by an Axacussan.
+"Ger\204t", //Device
+// 290
+"Auf dem Ger\204t steht: \"Taxi-Call\".|Es ist ein kleiner Knopf daran.", //The device says "Taxi Call."|There is a small button on it.
+"Ausweis", //ID card
+"Auf dem Ausweis steht:| Berta Tschell| Axacuss City| 115AY2,96A,32", //On the card it reads: | Berta Tschell | Axacuss City | 115AY2,96A,32
+"Treppe", //Staircase
+"Sie f\201hrt zu den Gesch\204ften.", //It leads to the shops.
+// 295
+"Gesch\204ftsstra\341e im Hintergrund", //Business street in the background
+"Die Stra\341e scheint kein Ende zu haben.", //The road seems to have no end.
+"Stange", //Rod
+"Pfosten", //Post
+"Gel\204nder", //Railing
+// 300
+"Plakat", //Poster
+"Musik Pur - Der Musikwettbewerb!|Heute im Kulturpalast|Hauptpreis:|Fernsehauftritt mit Horst Hummel|Sponsored by Artus GmbH", //Pure Music - The Music Competition!|Today at the Palace of Culture|Main Prize:|Television appearance with Horst Hummel|Sponsored by Artus GmbH
+"Kabine", //Cabin
+"Sie ist frei!", //It is free!
+"Sie ist besetzt.", //It is occupied.
+// 305
+"F\201\341e", //Feet
+"Komisch, die|F\201\341e scheinen|erstarrt zu sein.", //Strange, the|feet seem to be frozen.
+"Haube", //Hood
+"Sieht aus wie beim Fris\224r.", //Looks like the hairdresser.
+"400 Xa", //400 Xa
+// 310
+"10 Xa", //10 Xa
+"Dar\201ber steht:|\"Geldeinwurf: 10 Xa\".", //It says:|"Coins: 10 Xa".
+"Dar\201ber steht:|\"Gewinnausgabe / Geldr\201ckgabe\".", //It says:|"Prize / Money Return".
+"Stuhl", //Chair
+"Etwas Entspannung k\224nntest du jetzt gebrauchen.", //You could use some relaxation right about now.
+// 315
+"Gekritzel", //Scribble
+"Gesicht", //Face
+"Nicht zu fassen! Die|W\204nde sind genauso beschmutzt|wie auf der Erde.", //Unbelievable! The walls|are just as dirty|as those on Earth.
+"B\201cher", //Books
+"Lexikon", //Dictionary
+// 320
+"Pflanze", //Plant
+"Maske", //Mask
+"Schlange", //Snake
+"Becher", //Cup
+"Joystick", //Joystick
+// 325
+"Eine normale Zahnb\201rste,|es steht nur \"Artus\" darauf.", //An ordinary toothbrush.|It says "Artus" on it.
+"Musikger\204t", //Music device
+"Ein Ger\204t zum Abspielen und|Aufnehmen von Musikchips.|Es ist ein Mikrofon daran.", //A device for playing and recording music chips.|There is a microphone on it.
+"Flasche", //Bottle
+"Auf dem Etikett steht:|\"Enth\204lt 10% Hyperalkohol\".", //The label says: "Contains 10% hyperalcohol".
+// 330
+"Kiste", //Box
+"Verk\204ufer", //Seller
+"Was? Daf\201r wollen Sie die Karte haben?", //What? Do you want the card for that?
+"Sie sind wohl nicht ganz \201ber|die aktuellen Preise informiert!", //You are probably not completely|informed about the current prices!
+"Ich bin's, Horst Hummel!", //It's me, Horst Hummel!
+// 335
+"Sch\224nes Wetter heute!", //Nice weather today!
+"K\224nnen Sie mir sagen, von wem ich eine Eintrittskarte f\201r den Musikwettbewerb kriegen kann?", //Can you tell me who can get me a ticket for the music contest?
+"Ok, hier haben Sie den Xa.", //OK, here is the Xa.
+"Ich biete Ihnen 500 Xa.", //I offer you 500 Xa.
+"Ich biete Ihnen 1000 Xa.", //I offer you 1000 Xa.
+// 340
+"Ich biete Ihnen 5000 Xa.", //I offer you 5000 Xa.
+"Ich biete Ihnen 10000 Xa.", //I offer you 10000 Xa.
+"Vielen Dank f\201r Ihren Kauf!", //Thank you for your purchase!
+"Was bieten Sie mir|denn nun f\201r die Karte?", //What will you offer me|for the card?
+"Hallo, Sie!", //Hello to you!
+// 345
+"Was wollen Sie?", //What do you want?
+"Wer sind Sie?", //Who are you?
+"Horst Hummel!", //Horst Hummel!
+"Kenne ich nicht.", //Never heard of him.
+"Was, Sie kennen den ber\201hmten Horst Hummel nicht?", //What, you don't know the famous Horst Hummel?
+// 350
+"Ich bin doch der, der immer im Fernsehen zu sehen ist.", //I'm the guy who is always on TV.
+"Ich kenne Sie wirklich nicht.", //I really do not know you.
+"Komisch.", //Funny.
+"Aha.", //Aha.
+"Ja, kann ich.", //Yes, I can.
+// 355
+"Von wem denn?", //From whom?
+"Diese Information kostet einen Xa.", //This information costs a Xa.
+"Wie Sie meinen.", //As you say.
+"Sie k\224nnen die Karte von MIR bekommen!", //You can get the card from ME!
+"Aber nur eine Teilnahmekarte,|keine Eintrittskarte.", //But only a participation ticket,|not an entrance ticket.
+// 360
+"Was wollen Sie daf\201r haben?", //What do you want for it?
+"Machen Sie ein Angebot!", //Make an offer!
+"Das ist ein gutes Angebot!", //That's a good offer!
+"Daf\201r gebe ich Ihnen meine|letzte Teilnahmekarte!", //For that I give you my|last participation card!
+"(Dieser Trottel!)", //(That Idiot!)
+// 365
+"Ich w\201rde gern beim Musikwettbewerb zuschauen.", //I would like to watch the music competition.
+"Ich w\201rde gern am Musikwettbewerb teilnehmen.", //I would like to participate in the music competition.
+"Wieviel Uhr haben wir?", //What time is it?
+"Ja.", //Yes.
+"Nein.", //No.
+// 370
+"Hallo, Leute!", //Hi guys!
+"Hi, Fans!", //Hi, fans!
+"Gute Nacht!", //Good night!
+"\216h, wie geht es euch?", //Uh, how are you?
+"Sch\224nes Wetter heute.", //Nice weather today.
+// 375
+"Hmm ...", //Hmm ...
+"Tja ...", //Well ...
+"Also ...", //So ...
+"Ok, los gehts!", //OK let's go!
+"Ich klimper mal was auf dem Keyboard hier.", //I'll fix something on the keyboard here.
+// 380
+"Halt, sie sind doch schon drangewesen!", //Stop, you have already been on it!
+"He, Sie! Haben Sie|eine Eintrittskarte?", //Hey, you! Do you have|a ticket?
+"Ja nat\201rlich, hier ist meine Teilnahmekarte.", //Yes of course, here is my participation ticket.
+"Sie sind Teilnehmer! Fragen|Sie bitte an der Kasse nach,|wann Sie auftreten k\224nnen.", //You are a participant!|Please ask at the checkout|when you can go on stage.
+"\216h, nein.", //Uh, no.
+// 385
+"He, wo ist Ihr Musikchip?", //Hey, where's your music chip?
+"Laber nicht!", //Stop talking!
+"Fang an!", //Get started!
+"Einen Moment, ich mu\341 erstmal \201berlegen, was ich|euch spiele.", //One moment, I have to think about what I'm playing for you.
+"Anfangen!!!", //Begin!!!
+// 390
+"Nun denn ...", //Well then ...
+"Raus!", //Out!
+"Buh!", //Boo!
+"Aufh\224ren!", //Stop!
+"Hilfe!", //Help!
+// 395
+"Ich verziehe mich lieber.", //I'd prefer to get lost.
+"Mist, auf dem Chip war|gar keine Musik drauf.", //Damn, there was no music on the chip at all.
+"Das ging ja voll daneben!", //That went completely wrong!
+"Du n\204herst dich der B\201hne,|aber dir wird mulmig zumute.", //You approach the stage,|but you feel queasy.
+"Du traust dich nicht, vor|so vielen Menschen aufzutreten|und kehrst wieder um.", //You do not dare to appear|in front of so many people|and turn around.
+// 400
+"Oh, Sie sind Teilnehmer!|Dann sind Sie aber sp\204t dran.", //Oh, you are a participant!|But you are late.
+"Spielen Sie die Musik live?", //Do you play the music live?
+"Dann geben Sie bitte Ihren Musikchip ab!|Er wird bei Ihrem Auftritt abgespielt.", //Then please submit your music chip!|It will be played during your performance.
+"Oh, Sie sind sofort an der Reihe!|Beeilen Sie sich! Der B\201hneneingang|ist hinter dem Haupteingang rechts.", //Oh, it's your turn!|Hurry! The stage entrance|is to the right behind the main entrance.
+"Habe ich noch einen zweiten Versuch?", //Can I have another try?
+// 405
+"Nein!", //No!
+"Haben Sie schon eine Eintrittskarte?", //Do you already have a ticket?
+"Tut mir leid, die Karten|sind schon alle ausverkauft.", //I'm sorry, the tickets|are already sold out.
+"Mist!", //Crap!
+"Haben Sie schon eine Teilnahmekarte?", //Do you already have a participation ticket?
+// 410
+"Ja, hier ist sie.", //Yes, here it is.
+"Tut mir leid, die Teilnahmekarten|sind schon alle ausverkauft.", //I'm sorry, the participation tickets|are already sold out.
+"Schei\341e!", //Crap!
+"Das kann ich Ihnen|leider nicht sagen.", //I can not tell you that.
+"Wo ist denn nun Ihr Musikchip?", //Where is your music chip?
+// 415
+"Jetzt beeilen Sie sich doch!", //Now hurry up!
+"Huch, Sie sind hier bei einem Musik-,|nicht bei einem Imitationswettbewerb", //Huh, you're here at a music contest,|not at an imitation contest
+"Imitationswettbewerb?|Ich will niemanden imitieren.", //Imitation contest?|I do not want to imitate anyone.
+"Guter Witz, wieso sehen Sie|dann aus wie Horst Hummel?", //Good joke. Then why do you look like Horst Hummel?
+"Na, nun h\224ren Sie auf! So perfekt ist|ihre Verkleidung auch wieder nicht.", //Oh come on! Your disguise isn't that perfect.
+// 420
+"Ich werde Ihnen beweisen, da\341 ich Horst Hummel bin,|indem ich diesen Wettbewerb hier gewinne.", //I will prove to you that I am Horst Hummel|by winning this competition.
+"Dann kann ich in dieser verdammten Fernsehshow|auftreten.", //Then I can perform in this|damn TV show.
+"Du hampelst ein bi\341chen zu|der Musik vom Chip herum.|Die Leute sind begeistert!", //You're rocking a little bit|to the music from the chip.|The audience is excited!
+"Guten Abend. Diesmal haben wir|einen besonderen Gast bei uns.", //Good evening. This time we have|a special guest with us.
+"Es ist der Gewinner des gestrigen|Musikwettbewerbs im Kulturpalast,|der dort vor allem durch seine|Verkleidung aufgefallen war.", //He is the winner of yesterday's music competition in the Palace of Culture.|He was particularly noteworthy|because of his disguise.
+// 425
+"Sie haben das Wort!", //You have the floor!
+"Nun ja, meine erste Frage lautet: ...", //Well, my first question is ...
+"Warum haben Sie sich sofort nach|Ihrer Landung entschlossen, f\201r|die Artus-GmbH zu arbeiten?", //Why did you decide immediately|after your arrival to work for|Artus GmbH?
+"Es war meine freie Entscheidung.|Die Artus-GmbH hat mir einfach gefallen.", //It was a decision I made on my own.|I just decided I liked Artus-GmbH.
+"Wieso betonen Sie, da\341 es|Ihre freie Entscheidung war?|Haben Sie Angst, da\341 man Ihnen|nicht glaubt?", //Why do you stress that|it was your own decision?|Are you afraid that nobody will believe you otherwise?
+// 430
+"Also, ich mu\341 doch sehr bitten!|Was soll diese unsinnige Frage?", //How dare you!|What is with this nonsensical question?
+"Ich finde die Frage wichtig.|Nun, Herr Hummel, was haben|Sie dazu zu sagen?", //I think the question is important.|Well, Mr. Hummel, what do you have to say?
+"Auf solch eine Frage brauche|ich nicht zu antworten!", //I don't feel that I have|to answer such a question!
+"Gut, dann etwas anderes ...", //Alright, something else then ...
+"Sie sind von Beruf Koch.|Wie hie\341 das Restaurant,|in dem Sie auf der Erde|gearbeitet haben?", //You are a chef by profession.|What was the name of the restaurant|where you worked|on Earth?
+// 435
+"Hmm, da\341 wei\341 ich nicht mehr.", //Hmm, I do not remember that.
+"Sie wollen mir doch nicht weismachen,|da\341 Sie den Namen vergessen haben!", //Do you really expect me to believe you cannot remember the name?
+"Schlie\341lich haben Sie|zehn Jahre dort gearbeitet!", //After all, you worked there for ten years!
+"Woher wollen Sie das wissen?", //How do you know that?
+"Nun, ich komme von der Erde,|im Gegensatz zu Ihnen!", //Well, I come from Earth,|unlike you!
+// 440
+"Langsam gehen Sie zu weit!", //Now you've gone too far!
+"Sie sind ein Roboter!|Das merkt man schon an|Ihrer dummen Antwort!|Sie sind nicht optimal|programmiert!", //You are a robot!|It is obvious from|your stupid answer!|You are not even programmed|correctly!
+"Wenn Sie jetzt nicht mit Ihren|Beleidigungen aufh\224ren, mu\341 ich|Ihnen das Mikrofon abschalten!", //If you do not stop right now|with your insults, I will have|to turn off the microphone!
+"Ich bin der echte Horst Hummel,|und hier ist der Beweis!", //I am the real Horst Hummel,|and here is the proof!
+"Am n\204chsten Morgen sind alle|Zeitungen voll mit deiner spektakul\204ren|Enth\201llung des Schwindels.", //The next morning, all the papers|are full of your spectacular|revelation of fraud.
+// 445
+"Die Manager der Artus-GmbH und Commander|Sumoti wurden sofort verhaftet.", //The managers of Artus-GmbH and Commander|Sumoti were arrested immediately.
+"Nach dem Stre\341 der letzten Tage,|entscheidest du dich, auf die|Erde zur\201ckzukehren.", //After these stressful last few days|you decide to return to Earth.
+"W\204hrend du dich vor Interviews|kaum noch retten kannst, ...", //While you can barely save|yourself from interviews, ...
+"... arbeiten die Axacussanischen|Techniker an einem Raumschiff,|das dich zur Erde zur\201ckbringen soll.", //... the Axacussan|technicians are working on a spaceship|to bring you back to Earth.
+"Eine Woche sp\204ter ist der|Tag des Starts gekommen.", //One week later, the day of the launch has arrived.
+// 450
+"Zum dritten Mal in deinem|Leben verbringst du eine lange|Zeit im Tiefschlaf.", //For the third time in your life,|you spend a long time|in deep sleep.
+"Zehn Jahre sp\204ter ...", //Ten years later ...
+"Du wachst auf und beginnst,|dich schwach an deine|Erlebnisse zu erinnern.", //You wake up and begin|to faintly remember|your experiences.
+"Um dich herum ist alles dunkel.", //Everything is dark around you.
+"Sie zeigt %d an.", //It displays %d.
+// 455
+"Ich interessiere mich f\201r den Job, bei dem man \201ber Nacht", //I'm interested in the job where you can get
+"reich werden kann.", //rich overnight.
+"Ich verkaufe frische Tomaten.", //I sell fresh tomatoes.
+"Ich bin der Klempner. Ich soll hier ein Rohr reparieren.", //I am the plumber. I'm supposed to fix a pipe here.
+"Ja, h\224rt sich gut an.", //Yes, it sounds good.
+// 460
+"Krumme Gesch\204fte? F\201r wen halten Sie mich? Auf Wiedersehen!", //Crooked business? Who do you think I am? Goodbye!
+"\216h - k\224nnten Sie mir das Ganze nochmal erkl\204ren?", //Uh - could you explain that to me again?
+"Wie gro\341 ist mein Anteil?", //How big is my share?
+"Machen Sie es immer so, da\341 Sie Ihre Komplizen \201ber ein Graffitti anwerben?", //Do you always use graffiti to recruit your accomplices?
+"Hmm, Moment mal, ich frage den Boss.", //Hmm wait, I will ask the boss.
+// 465
+"Kurze Zeit sp\204ter ...", //A short while later ...
+"Ok, der Boss will dich sprechen.", //OK, the boss wants to talk to you.
+"Du betrittst die Wohnung und|wirst zu einem Tisch gef\201hrt.", //You enter the apartment and are led to a table.
+"Hmm, du willst dir also|etwas Geld verdienen?", //Hmm, so you want to earn some money?
+"Nun ja, wir planen|einen n\204chtlichen Besuch|eines bekannten Museums.", //Well, we're planning|a nightly visit|to a well-known museum.
+// 470
+"Wie sieht's aus, bist du interessiert?", //So, are you interested?
+"Halt, warte!", //Stop, wait!
+"\232berleg's dir, es springen|30000 Xa f\201r dich raus!", //Think about it, your share would be|30000 Xa!
+"30000?! Ok, ich mache mit.", //30000?! Alright, count me in.
+"Gut, dann zu den Einzelheiten.", //Good, now then to the details.
+// 475
+"Bei dem Museum handelt es|sich um das Orzeng-Museum.", //The museum in question is|the Orzeng Museum.
+"Es enth\204lt die wertvollsten|Dinosaurierfunde von ganz Axacuss.", //It contains the most valuable|dinosaur discoveries of Axacuss.
+"Wir haben es auf das Sodo-Skelett|abgesehen. Es ist weltber\201hmt.", //We're aiming to get the Sodo skeleton.|It is world-famous.
+"Alle bekannten Pal\204ontologen haben|sich schon damit besch\204ftigt.", //All known paleontologists|have already dealt with it.
+"Der Grund daf\201r ist, da\341 es allen|bis jetzt bekannten Erkenntnissen|\232ber die Evolution widerspricht.", //The reason for this is that it contradicts all known|knowledge about evolution.
+// 480
+"Irgendein verr\201ckter Forscher|bietet uns 200.000 Xa,|wenn wir ihm das Ding beschaffen.", //Some crazy researcher|will give us 200,000 Xa|if we retrieve that thing for him.
+"So, jetzt zu deiner Aufgabe:", //So, now to your task:
+"Du dringst durch den Nebeneingang|in das Geb\204ude ein.", //You enter the building through|the side entrance.
+"Dort schaltest du die Alarmanlage aus,|durch die das Sodo-Skelett gesichert wird.", //There you switch off the alarm system,|which secures the Sodo skeleton.
+"Wir betreten einen anderen Geb\204udeteil|und holen uns das Gerippe.", //We'll enter another part of the building|and fetch the skeleton.
+// 485
+"Deine Aufgabe ist nicht leicht.|Schau dir diesen Plan an.", //Your task is not easy.|Look at this plan.
+"Unten siehst du die kleine Abstellkammer,|durch die du in die Austellungsr\204ume kommst.", //Below you can see the small storage room,|through which you come to the showrooms.
+"Bei der mit Y gekennzeichneten|Stelle ist die Alarmanlage.", //The alarm system is at the location marked Y.
+"Bei dem X steht ein gro\341er Dinosaurier|mit einem wertvollen Sch\204del.|Den Sch\204del nimmst du mit.", //The X marks the spot with a big dinosaur|with a valuable skull.|You will take the skull with you.
+"Nun zu den Problemen:", //Now for the problems:
+// 490
+"Die wei\341 gekennzeichneten|T\201ren sind verschlossen.", //The marked white doors|are locked.
+"Sie m\201ssen mit einer Spezialkeycard ge\224ffnet|werden, was jedoch einige Zeit dauert.", //They have to be opened with a special keycard,|which can take a while.
+"Au\341erdem gibt es in den auf der Karte|farbigen R\204umen einen Druck-Alarm.", //In addition, there are pressure alarms|in the rooms which are colored on the map.
+"Du darfst dich dort nicht l\204nger|als 16 bzw. 8 Sekunden aufhalten,|sonst wird Alarm ausgel\224st.", //You can not stay there longer than|16 or 8 seconds,|or the alarm will go off.
+"Im Raum oben rechts ist|eine Kamera installiert.", //In the room at the top right|there is a camera installed.
+// 495
+"Diese wird jedoch nur von|der 21. bis zur 40. Sekunde|einer Minute \201berwacht.", //However, it is only monitored|between the 21st and the 40th second|of every minute.
+"Das gr\224\341te Problem ist der W\204chter.", //The biggest problem is the guard.
+"Er braucht f\201r seine Runde genau|eine Minute, ist also ungef\204hr|zehn Sekunden in einem Raum.", //He needs exactly one minute for his round,|so he is in each room|for about ten seconds.
+"Du m\201\341test seine Schritte h\224ren k\224nnen,|wenn du in der Abstellkammer bist|und der W\204chter dort vorbeikommt.", //You should be able to hear his footsteps|if you are in the closet|and the guard passes by.
+"Wenn du es bis zur Alarmanlage|geschafft hast, h\204ngst du dich|mit dem Sauger an die Wand,|damit du keinen Druck-Alarm ausl\224st.", //If you make it to the alarm system,|you'll use the sucker to hang on the wall|to avoid triggering the pressure alarm.
+// 500
+"Die Alarmanlage schaltest du|mit einem speziellen Ger\204t aus.", //You switch off the alarm system|with a special device.
+"Wenn du das geschafft hast, nichts|wie raus! Aber keine Panik,|du darfst keinen Alarm ausl\224sen.", //Once you're done, get out of there!|But do not panic!|You must not set off the alarm.
+"So, noch irgendwelche Fragen?", //So, any more questions?
+"Also gut.", //All right then.
+"Du bekommst 30000 Xa.", //You get 30,000 Xa.
+// 505
+"Ja, die Methode hat sich bew\204hrt.", //Yes, that method has proven itself worthy.
+"Hast du sonst noch Fragen?", //Do you have any questions?
+"Nachdem wir alles gekl\204rt|haben, kann es ja losgehen!", //Now that we are on the same page we can get started!
+"Zur vereinbarten Zeit ...", //At the agreed upon time ...
+"Du stehst vor dem Orzeng Museum,|w\204hrend die Gangster schon in einen|anderen Geb\204uderteil eingedrungen sind.", //You stand in front of the Orzeng Museum,|while the gangsters have already penetrated|into another part of the building.
+// 510
+"Wichtiger Hinweis:|Hier ist die letzte M\224glichkeit,|vor dem Einbruch abzuspeichern.", //Important note:|Here is the last possibility to save|before the break-in.
+"Wenn Sie das Museum betreten haben,|k\224nnen Sie nicht mehr speichern!", //Once you enter the museum|you will not be able to save!
+"Stecken Sie sich Ihre|Tomaten an den Hut!", //You can keep your tomatoes!
+"Das kann ja jeder sagen!", //Anyone can say that!
+"Niemand \224ffnet.", //Nobody answers.
+// 515
+"Welche Zahl willst du eingeben: ", //What number do you want to enter:
+"Falsche Eingabe", //Invalid input
+"Der Aufzug bewegt sich.", //The elevator is moving.
+"Die Karte wird|nicht angenommen.", //The card|is not accepted.
+"Da ist nichts mehr.", //There is nothing left.
+// 520
+"Da ist ein Schl\201ssel unter dem Bett!", //There's a key under the bed!
+"Hey, da ist etwas unter dem|Bett. Nach dem Ger\204usch zu|urteilen, ist es aus Metall.", //Hey, there is something under the|bed. Judging by the noise,|it is made of metal.
+"Mist, es gelingt dir nicht,|den Gegenstand hervorzuholen.", //Damn, you do not succeed in getting the object out.
+"Die Klappe ist schon offen.", //The flap is already open.
+"Der Schl\201sssel pa\341t nicht.", //The key does not fit.
+// 525
+"Du steckst den Chip in die|Anlage, aber es passiert nichts.|Die Anlage scheint kaputt zu sein.", //You put the chip in the stereo,|but nothing happens.|The stereo seems to be broken.
+"Es passiert nichts. Das Ding|scheint kaputt zu sein.", //Nothing happens. The thing|seems to be broken.
+"Hochspannung ist ungesund, wie du aus|Teil 1 eigentlich wissen m\201\341test!", //High voltage is unhealthy, as you|should already know|from Part 1!
+"Es h\204ngt ein Kabel heraus.", //A cable hangs out.
+"Irgendetwas hat hier|nicht ganz funktioniert.", //Something did not|quite work out here.
+// 530
+"Du ziehst den Raumanzug an.", //You put on your space suit.
+"Du ziehst den Raumanzug aus.", //You take off your space suit.
+"Das ist schon verbunden.", //That is already connected.
+"Die Leitung ist hier|schon ganz richtig.", //The cable is already|at the right place.
+"Roger W.! Wie kommen Sie denn hierher?", //Roger W.! How did you get here?
+// 535
+"Ach, sieh mal einer an! Sie schon wieder!", //Oh, look at that! It's you again!
+"Wo haben Sie denn|Ihr Schiff gelassen?", //Where did you|leave your ship?
+"Schauen Sie mal hinter mich auf|den Turm! Da oben h\204ngt es.", //Take a look behind me, up on|the tower! It's up there.
+"Ich hatte es scheinbar etwas zu|eilig, aber ich mu\341te unbedingt|zu den Dreharbeiten nach Xenon!", //Apparently I was too much in a hurry,|but I had to be at the film shooting in Xenon!
+"Mich wundert, da\341 es die Leute|hier so gelassen nehmen.", //I am surprised that people|here take things so calmly.
+// 540
+"Die tun gerade so, als ob der Turm|schon immer so schr\204g gestanden h\204tte!", //They are pretending that the tower|has always been that slanted!
+"Hat er auch, schon seit|mehreren Jahrhunderten!", //It has, for|several centuries, actually!
+"\216h ... ach so. Und von wo|kommen Sie? Sie hatten's ja|wohl auch ziemlich eilig.", //Uh ... I see. And where are you coming from? It seems you were in quite a hurry as well.
+"Ich komme von Axacuss.", //I come from Axacuss.
+"Hmm, was mach ich jetzt blo\341?", //Hmm, what am I going to do now?
+// 545
+"Ich kenne ein gutes Cafe nicht|weit von hier, da k\224nnen|wir uns erstmal erholen.", //I know a good cafe not far from here,|where we can get some rest.
+"Ok, einverstanden.", //OK, I agree.
+"Faszinierend!", //Fascinating!
+"Taxis", //Taxis
+"Hier ist ja richtig was los!", //There seems to be something really going on here!
+// 550
+"Axacussaner", //Axacussan
+"Teilnahmekarte", //Participation card
+"Axacussanerin", //Axacussian
+"Darauf steht:|\"115AY2,96A\"", //It reads:|"115AY2,96A"
+"Darauf steht:|\"115AY2,96B\"", //It reads:|"115AY2,96B"
+// 555
+"Darauf steht:|\"341,105A\"", //It reads:|"341,105A"
+"Darauf steht:|\"341,105B\"", //It reads:|"341,105B"
+"Klingel", //Bell
+"Anzeige", //Display
+"Tastenblock", //Keypad
+// 560
+"Es sind Tasten von 0 bis 9 darauf.", //There are keys from 0 to 9 on it.
+"Chip", //Chip
+"Es ist ein Musikchip!", //It's a music chip!
+"Klappe", //Hatch
+"Sie ist mit einem altmodischen|Schlo\341 verschlossen.", //It is secured with an old-fashioned lock.
+// 565
+"Musikanlage", //Music system
+"Toll, eine in die Wand|integrierte Stereoanlage.", //Great, a built-in stereo|in the wall.
+"Boxen", //Speakers
+"Ganz normale Boxen.", //Ordinary speakers.
+"Stifte", //Pencils
+// 570
+"Ganz normale Stifte.", //Ordinary pencils.
+"Metallkl\224tzchen", //Metal blocks
+"Es ist magnetisch.", //It is magnetic.
+"Bild", //Image
+"Ein ungew\224hnliches Bild.", //An unusual picture.
+// 575
+"Schrank", //Cabinet
+"Er ist verschlossen", //It is closed
+"Aufzug", //Elevator
+"unter Bett", //under bed
+"Unter dem Bett sind bestimmt wichtige|Dinge zu finden, nur kommst du nicht darunter.|Du br\204uchtest einen Stock oder so etwas.", //Under the bed are certainly important|things to find, only you cannot reach underneath.|You need a stick or something.
+// 580
+"Schl\201ssel", //Key
+"Ein kleiner Metallschl\201ssel.", //A small metal key.
+"Schalter", //Switch
+"Griff", //Handle
+"Luke", //Hatch
+// 585
+"Raumanzug", //Space suit
+"Ein zusammenfaltbarer Raumanzug.", //A collapsible spacesuit.
+"Leitung", //Cable
+"Irgendetwas scheint hier|kaputtgegangen zu sein.", //Something seems to|have broken here.
+"Sie h\204ngt lose von der Decke runter.", //It hangs loose from the ceiling.
+// 590
+"Zur Erinnerung:|Dir ist es gelungen, aus den|Artus-Geheimb\201ros zu fliehen.", //Reminder:|You managed to escape from the|Artus-GmbH secret offices.
+"Nun befindest du dich in|einem Passagierraumschiff,|das nach Axacuss City fliegt.", //Now you are in a passenger|spaceship that|flies to Axacuss City.
+"W\204hrend des Fluges schaust du dir|das axacussanische Fernsehprogramm an.|Du st\224\341t auf etwas Interessantes ...", //During the flight, you watch the|Axacussan TV program.|You come across something interesting ...
+"Herzlich willkommen!", //Welcome!
+"Heute zu Gast ist Alga Lorch.|Sie wird Fragen an den Erdling|Horst Hummel stellen.", //Alga Lorch will be present today.|She will ask questions to the Earthling|Horst Hummel.
+// 595
+"Horst wird alle Fragen|beantworten, soweit es|ihm m\224glich ist.", //Horst will answer all|questions as fully|as possible.
+"Sie haben das Wort, Frau Lorch!", //You have the floor, Mrs Lorch!
+"Herr Hummel, hier ist meine erste Frage: ...", //Mr. Hummel, here is my first question: ...
+"Sie sind nun ein ber\201hmter Mann auf Axacuss.|Aber sicher vermissen Sie auch Ihren Heimatplaneten.", //You are now a famous man on Axacuss.|But surely you miss your home planet.
+"Wenn Sie w\204hlen k\224nnten, w\201rden Sie lieber|ein normales Leben auf der Erde f\201hren,|oder finden Sie das Leben hier gut?", //If you could choose, would you prefer|to lead a normal life on Earth,|or do you find life here good?
+// 600
+"Ehrlich gesagt finde ich es sch\224n,|ber\201hmt zu sein. Das Leben ist|aufregender als auf der Erde.", //Honestly, I think it's nice to be|famous. Life is more exciting here|than on Earth.
+"Au\341erdem sind die Leute von der|Artus GmbH hervorragende Freunde.", //In addition, the people of|Artus GmbH are excellent friends.
+"Nun ja, planen Sie denn trotzdem,|irgendwann auf die Erde zur\201ckzukehren?", //Well, are you still planning|to return to Earth someday?
+"Das kann ich Ihnen zum jetzigen|Zeitpunkt noch nicht genau sagen.", //At this point in time,|I haven't made up my mind, yet.
+"Aber ich versichere Ihnen, ich|werde noch eine Weile hierbleiben.", //But I assure you,|I will stay here for a while.
+// 605
+"Aha, mich interessiert au\341erdem,|ob es hier auf Axacuss etwas gibt,|das Sie besonders m\224gen.", //I see. I'm also interested in|whether there's anything here on Axacuss that you particularly like.
+"Oh mir gef\204llt der ganze Planet,|aber das Beste hier sind die|hervorragenden Artus-Zahnb\201rsten!", //Oh I like the whole planet,|but the best thing here are the|extraordinary Artus toothbrushes!
+"Zahnb\201rsten von solcher Qualit\204t|gab es auf der Erde nicht.", //Toothbrushes of such quality|do not exist on Earth.
+"\216h, ach so.", //Um, I see.
+"Pl\224tzlich lenkt dich eine|Lautsprecherstimme vom Fernseher ab.", //Suddenly, a speaker's voice|distracts you from the television.
+// 610
+"\"Sehr geehrte Damen und Herren,|wir sind soeben auf dem Flughafen|von Axacuss City gelandet.\"", //"Ladies and Gentlemen,|We just landed at the airport|at Axacuss City."
+"\"Ich hoffe, Sie hatten einen angenehmen Flug.|Bitte verlassen Sie das Raumschiff! Auf Wiedersehen!\"", //"I hope you had a nice flight.|Please leave the spaceship! Goodbye!"
+"W\204hrend die anderen Passagiere|aussteigen, versuchst du,|den Schock zu verarbeiten.", //While the other passengers|are disembarking, you are trying|to handle the shock.
+"\"Ich mu\341 beweisen, da\341 dieser|Roboter der falsche Horst|Hummel ist!\", denkst du.", //"I have to prove that this robot|is the wrong Horst|Hummel!", you think to yourself.
+NULL
+};
+
+#endif // GAMETEXT_H
diff --git a/devtools/create_supernova2/module.mk b/devtools/create_supernova2/module.mk
new file mode 100644
index 0000000000..f157fdee57
--- /dev/null
+++ b/devtools/create_supernova2/module.mk
@@ -0,0 +1,12 @@
+MODULE := devtools/create_supernova2
+
+MODULE_OBJS := \
+ file.o \
+ po_parser.o \
+ create_supernova2.o
+
+# Set the name of the executable
+TOOL_EXECUTABLE := create_supernova2
+
+# Include common rules
+include $(srcdir)/rules.mk
diff --git a/devtools/create_supernova2/po_parser.cpp b/devtools/create_supernova2/po_parser.cpp
new file mode 100644
index 0000000000..05a8ac14a7
--- /dev/null
+++ b/devtools/create_supernova2/po_parser.cpp
@@ -0,0 +1,221 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+
+#include "po_parser.h"
+
+PoMessageList::PoMessageList() : _list(NULL), _size(0), _allocated(0) {
+}
+
+PoMessageList::~PoMessageList() {
+ for (int i = 0; i < _size; ++i)
+ delete _list[i];
+ delete[] _list;
+}
+
+int PoMessageList::compareString(const char* left, const char* right) {
+ if (left == NULL && right == NULL)
+ return 0;
+ if (left == NULL)
+ return -1;
+ if (right == NULL)
+ return 1;
+ return strcmp(left, right);
+}
+
+int PoMessageList::compareMessage(const char *msgLeft, const char *contextLeft, const char *msgRight, const char *contextRight) {
+ int compare = compareString(msgLeft, msgRight);
+ if (compare != 0)
+ return compare;
+ return compareString(contextLeft, contextRight);
+}
+
+void PoMessageList::insert(const char *translation, const char *msg, const char *context) {
+ if (msg == NULL || *msg == '\0' || translation == NULL || *translation == '\0')
+ return;
+
+ // binary-search for the insertion index
+ int leftIndex = 0;
+ int rightIndex = _size - 1;
+ while (rightIndex >= leftIndex) {
+ int midIndex = (leftIndex + rightIndex) / 2;
+ int compareResult = compareMessage(msg, context, _list[midIndex]->msgid, _list[midIndex]->msgctxt);
+ if (compareResult == 0)
+ return; // The message is already in this list
+ else if (compareResult < 0)
+ rightIndex = midIndex - 1;
+ else
+ leftIndex = midIndex + 1;
+ }
+ // We now have rightIndex = leftIndex - 1 and we need to insert the new message
+ // between the two (i.a. at leftIndex).
+ if (_size + 1 > _allocated) {
+ _allocated += 100;
+ PoMessage **newList = new PoMessage*[_allocated];
+ for (int i = 0; i < leftIndex; ++i)
+ newList[i] = _list[i];
+ for (int i = leftIndex; i < _size; ++i)
+ newList[i + 1] = _list[i];
+ delete[] _list;
+ _list = newList;
+ } else {
+ for (int i = _size - 1; i >= leftIndex; --i)
+ _list[i + 1] = _list[i];
+ }
+ _list[leftIndex] = new PoMessage(translation, msg, context);
+ ++_size;
+}
+
+const char *PoMessageList::findTranslation(const char *msg, const char *context) {
+ if (msg == NULL || *msg == '\0')
+ return NULL;
+
+ // binary-search for the message
+ int leftIndex = 0;
+ int rightIndex = _size - 1;
+ while (rightIndex >= leftIndex) {
+ int midIndex = (leftIndex + rightIndex) / 2;
+ int compareResult = compareMessage(msg, context, _list[midIndex]->msgid, _list[midIndex]->msgctxt);
+ if (compareResult == 0)
+ return _list[midIndex]->msgstr;
+ else if (compareResult < 0)
+ rightIndex = midIndex - 1;
+ else
+ leftIndex = midIndex + 1;
+ }
+ return NULL;
+}
+
+PoMessageList *parsePoFile(const char *file) {
+ FILE *inFile = fopen(file, "r");
+ if (!inFile)
+ return NULL;
+
+ char msgidBuf[1024], msgctxtBuf[1024], msgstrBuf[1024];
+ char line[1024], *currentBuf = msgstrBuf;
+
+ PoMessageList *list = new PoMessageList();
+
+ // Initialize the message attributes.
+ bool fuzzy = false;
+ bool fuzzy_next = false;
+
+ // Parse the file line by line.
+ // The msgstr is always the last line of an entry (i.e. msgid and msgctxt always
+ // precede the corresponding msgstr).
+ msgidBuf[0] = msgstrBuf[0] = msgctxtBuf[0] = '\0';
+ while (!feof(inFile) && fgets(line, 1024, inFile)) {
+ if (line[0] == '#' && line[1] == ',') {
+ // Handle message attributes.
+ if (strstr(line, "fuzzy")) {
+ fuzzy_next = true;
+ continue;
+ }
+ }
+ // Skip empty and comment line
+ if (*line == '\n' || *line == '#')
+ continue;
+ if (strncmp(line, "msgid", 5) == 0) {
+ if (currentBuf == msgstrBuf) {
+ // add previous entry
+ if (*msgstrBuf != '\0' && !fuzzy)
+ list->insert(msgstrBuf, msgidBuf, msgctxtBuf);
+ msgidBuf[0] = msgstrBuf[0] = msgctxtBuf[0] = '\0';
+
+ // Reset the attribute flags.
+ fuzzy = fuzzy_next;
+ fuzzy_next = false;
+ }
+ strcpy(msgidBuf, stripLine(line));
+ currentBuf = msgidBuf;
+ } else if (strncmp(line, "msgctxt", 7) == 0) {
+ if (currentBuf == msgstrBuf) {
+ // add previous entry
+ if (*msgstrBuf != '\0' && !fuzzy)
+ list->insert(msgstrBuf, msgidBuf, msgctxtBuf);
+ msgidBuf[0] = msgstrBuf[0] = msgctxtBuf[0] = '\0';
+
+ // Reset the attribute flags
+ fuzzy = fuzzy_next;
+ fuzzy_next = false;
+ }
+ strcpy(msgctxtBuf, stripLine(line));
+ currentBuf = msgctxtBuf;
+ } else if (strncmp(line, "msgstr", 6) == 0) {
+ strcpy(msgstrBuf, stripLine(line));
+ currentBuf = msgstrBuf;
+ } else {
+ // concatenate the string at the end of the current buffer
+ if (currentBuf)
+ strcat(currentBuf, stripLine(line));
+ }
+ }
+ if (currentBuf == msgstrBuf) {
+ // add last entry
+ if (*msgstrBuf != '\0' && !fuzzy)
+ list->insert(msgstrBuf, msgidBuf, msgctxtBuf);
+ }
+
+ fclose(inFile);
+ return list;
+}
+
+char *stripLine(char *const line) {
+ // This function modifies line in place and return it.
+ // Keep only the text between the first two unprotected quotes.
+ // It also look for literal special characters (e.g. preceded by '\n', '\\', '\"', '\'', '\t')
+ // and replace them by the special character so that strcmp() can match them at run time.
+ // Look for the first quote
+ char const *src = line;
+ while (*src != '\0' && *src++ != '"') {}
+ // shift characters until we reach the end of the string or an unprotected quote
+ char *dst = line;
+ while (*src != '\0' && *src != '"') {
+ char c = *src++;
+ if (c == '\\') {
+ switch (c = *src++) {
+ case 'n': c = '\n'; break;
+ case 't': c = '\t'; break;
+ case '\"': c = '\"'; break;
+ case '\'': c = '\''; break;
+ case '\\': c = '\\'; break;
+ default:
+ // Just skip
+ fprintf(stderr, "Unsupported special character \"\\%c\" in string. Please contact ScummVM developers.\n", c);
+ continue;
+ }
+ }
+ *dst++ = c;
+ }
+ *dst = '\0';
+ return line;
+}
+
+char *parseLine(const char *line, const char *field) {
+ // This function allocate and return a new char*.
+ // It will return a NULL pointer if the field is not found.
+ // It is used to parse the header of the po files to find the language name
+ // and the charset.
+ const char *str = strstr(line, field);
+ if (str == NULL)
+ return NULL;
+ str += strlen(field);
+ // Skip spaces
+ while (*str != '\0' && isspace(*str)) {
+ ++str;
+ }
+ // Find string length (stop at the first '\n')
+ int len = 0;
+ while (str[len] != '\0' && str[len] != '\n') {
+ ++len;
+ }
+ if (len == 0)
+ return NULL;
+ // Create result string
+ char *result = new char[len + 1];
+ strncpy(result, str, len);
+ result[len] = '\0';
+ return result;
+}
+
diff --git a/devtools/create_supernova2/po_parser.h b/devtools/create_supernova2/po_parser.h
new file mode 100644
index 0000000000..7c358e32f6
--- /dev/null
+++ b/devtools/create_supernova2/po_parser.h
@@ -0,0 +1,78 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * 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 2
+ * 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, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * This is a utility for generating a data file for the supernova engine.
+ * It contains strings extracted from the original executable as well
+ * as translations and is required for the engine to work properly.
+ */
+
+#ifndef PO_PARSER_H
+#define PO_PARSER_H
+
+struct PoMessage {
+ char *msgstr;
+ char *msgid;
+ char *msgctxt;
+
+ PoMessage(const char *translation, const char *message, const char *context = NULL) :
+ msgstr(NULL), msgid(NULL), msgctxt(NULL)
+ {
+ if (translation != NULL && *translation != '\0') {
+ msgstr = new char[1 + strlen(translation)];
+ strcpy(msgstr, translation);
+ }
+ if (message != NULL && *message != '\0') {
+ msgid = new char[1 + strlen(message)];
+ strcpy(msgid, message);
+ }
+ if (context != NULL && *context != '\0') {
+ msgctxt = new char[1 + strlen(context)];
+ strcpy(msgctxt, context);
+ }
+ }
+ ~PoMessage() {
+ delete[] msgstr;
+ delete[] msgid;
+ delete[] msgctxt;
+ }
+};
+
+class PoMessageList {
+public:
+ PoMessageList();
+ ~PoMessageList();
+
+ void insert(const char *translation, const char *msg, const char *context = NULL);
+ const char *findTranslation(const char *msg, const char *context = NULL);
+
+private:
+ int compareString(const char *left, const char *right);
+ int compareMessage(const char *msgLeft, const char *contextLeft, const char *msgRight, const char *contextRight);
+
+ PoMessage **_list;
+ int _size;
+ int _allocated;
+};
+
+PoMessageList *parsePoFile(const char *file);
+char *stripLine(char *);
+char *parseLine(const char *line, const char *field);
+
+#endif /* PO_PARSER_H */
diff --git a/devtools/create_supernova2/strings-en.po b/devtools/create_supernova2/strings-en.po
new file mode 100644
index 0000000000..624f975d43
--- /dev/null
+++ b/devtools/create_supernova2/strings-en.po
@@ -0,0 +1,2780 @@
+# Mission Supernova Translation.
+# Copyright (C) YEAR ScummVM Team
+# This file is distributed under the same license as the ScummVM package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Mission Supernova Part 2 1.0\n"
+"Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n"
+"POT-Creation-Date: 2017-07-22 19:37+0100\n"
+"PO-Revision-Date: 2018-04-15 05:41+0000\n"
+"Last-Translator: Adrian Frhwirth <bonki@scummvm.org>\n"
+"Language-Team: none\n"
+"Language: en\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-Generator: Weblate 2.9\n"
+
+#: ../../ms2/ms2.c:1641
+msgid "Gehe"
+msgstr "Go"
+
+#: ../../ms2/ms2.c:1641
+msgid "Schau"
+msgstr "Look"
+
+#: ../../ms2/ms2.c:1641
+msgid "Nimm"
+msgstr "Take"
+
+#: ../../ms2/ms2.c:1641
+msgid "™ffne"
+msgstr "Open"
+
+#: ../../ms2/ms2.c:1641
+msgid "Schlieáe"
+msgstr "Close"
+
+#: ../../ms2/ms2.c:1642
+msgid "Drcke"
+msgstr "Push"
+
+#: ../../ms2/ms2.c:1642
+msgid "Ziehe"
+msgstr "Pull"
+
+#: ../../ms2/ms2.c:1642
+msgid "Benutze"
+msgstr "Use"
+
+#: ../../ms2/ms2.c:1642
+msgid "Rede"
+msgstr "Talk"
+
+#: ../../ms2/ms2.c:1642
+msgid "Gib"
+msgstr "Give"
+
+#: ../../ms2/ms2.c:2199
+msgid "Gespr„ch beenden"
+msgstr "End of conversation"
+
+#: ../../ms2/ms2.c:2333
+msgid "Gehe zu "
+msgstr "Go to "
+
+#: ../../ms2/ms2.c:2333
+msgid "Schau "
+msgstr "Look at "
+
+#: ../../ms2/ms2.c:2333
+msgid "Nimm "
+msgstr "Take "
+
+#: ../../ms2/ms2.c:2333
+msgid "™ffne "
+msgstr "Open "
+
+#: ../../ms2/ms2.c:2333
+msgid "Schlieáe "
+msgstr "Close "
+
+#: ../../ms2/ms2.c:2334
+msgid "Drcke "
+msgstr "Push "
+
+#: ../../ms2/ms2.c:2334
+msgid "Ziehe "
+msgstr "Pull "
+
+#: ../../ms2/ms2.c:2334
+msgid "Benutze "
+msgstr "Use "
+
+#: ../../ms2/ms2.c:2334
+msgid "Rede mit "
+msgstr "Talk to "
+
+#: ../../ms2/ms2.c:2334
+msgid "Gib "
+msgstr "Give "
+
+#: ../../ms2/ms2.c:2344
+msgid " an "
+msgstr " to "
+
+#: ../../ms2/ms2.c:2345
+msgid " mit "
+msgstr " with "
+
+#: ../../ms2/ms2.c:2903
+msgid "Laden"
+msgstr "Load"
+
+#: ../../ms2/ms2.c:2905
+msgid "Speichern"
+msgstr "Save"
+
+#: ../../ms2/ms2.c:2907
+msgid "Zurck"
+msgstr "Back"
+
+#: ../../ms2/ms2.c:2909
+msgid "Neustart"
+msgstr "Restart"
+
+#: ../../ms2/ms2.c:3002
+msgid "Schreibfehler"
+msgstr "write error"
+
+#: ../../ms2/ms2.c:3243
+msgid "Textgeschwindigkeit:"
+msgstr "Text speed:"
+
+#: ../../ms2/ms2.c:3292
+msgid "Spiel abbrechen?"
+msgstr "Leave game?"
+
+#: ../../ms2/ms2.c:3295
+msgid "Ja"
+msgstr "Yes"
+
+#: ../../ms2/ms2.c:3296
+msgid "Nein"
+msgstr "No"
+
+#: ../../ms2/ms2.c:3368
+msgid "Das tr„gst du doch bei dir."
+msgstr "You already carry this."
+
+#: ../../ms2/ms2.c:3370
+msgid "Du bist doch schon da."
+msgstr "You are already there."
+
+#: ../../ms2/ms2.c:3373
+msgid "Das ist geschlossen."
+msgstr "This is closed."
+
+#: ../../ms2/ms2.c:3383
+msgid "Das hast du doch schon."
+msgstr "You already have that."
+
+#: ../../ms2/ms2.c:3385
+msgid "Das brauchst du nicht."
+msgstr "You don't need that."
+
+#: ../../ms2/ms2.c:3387
+msgid "Das kannst du nicht nehmen."
+msgstr "You can't take that."
+
+#: ../../ms2/ms2.c:3393
+msgid "Das l„át sich nicht ”ffnen."
+msgstr "This cannot be opened."
+
+#: ../../ms2/ms2.c:3395 ../../ms2/ms2_pyra.c:646
+msgid "Das ist schon offen."
+msgstr "This is already opened."
+
+#: ../../ms2/ms2.c:3397
+msgid "Das ist verschlossen."
+msgstr "This is locked."
+
+#: ../../ms2/ms2.c:3413
+msgid "Das l„át sich nicht schlieáen."
+msgstr "This cannot be closed."
+
+#: ../../ms2/ms2.c:3415 ../../ms2/ms2_pyra.c:671
+msgid "Das ist schon geschlossen."
+msgstr "This is already closed."
+
+#: ../../ms2/ms2.c:3430
+msgid "Behalt es lieber!"
+msgstr "Better keep it!"
+
+#: ../../ms2/ms2.c:3434
+msgid "Das geht nicht."
+msgstr "You can't do that."
+
+#: ../../ms2/ms2_mod.c:533
+msgid "^(C) 1994 Thomas und Steffen Dingel#"
+msgstr "^(C) 1994 Thomas and Steffen Dingel#"
+
+#: ../../ms2/ms2_mod.c:534
+msgid "Story und Grafik:^ Thomas Dingel#"
+msgstr "Story and Graphics:^ Thomas Dingel#"
+
+#: ../../ms2/ms2_mod.c:535
+msgid "Programmierung:^ Steffen Dingel#"
+msgstr "Programming:^ Steffen Dingel#"
+
+#: ../../ms2/ms2_mod.c:536
+msgid "Musik:^ Bernd Hoffmann#"
+msgstr "Music:^ Bernd Hoffmann#"
+
+#: ../../ms2/ms2_mod.c:537
+msgid "Getestet von ...#"
+msgstr "Tested by ...#"
+
+#: ../../ms2/ms2_mod.c:548
+msgid "^Das war's.#"
+msgstr "^That's it.#"
+
+#: ../../ms2/ms2_mod.c:549
+msgid "^Schluá!#"
+msgstr "^Over!#"
+
+#: ../../ms2/ms2_mod.c:550
+msgid "^Ende!#"
+msgstr "^End!#"
+
+#: ../../ms2/ms2_mod.c:551
+msgid "^Aus!#"
+msgstr "^Done!#"
+
+#: ../../ms2/ms2_mod.c:552
+msgid "^Tschá!#"
+msgstr "^Bye!#"
+
+#: ../../ms2/ms2_mod.c:603
+msgid "Oh!"
+msgstr "Oh!"
+
+#: ../../ms2/ms2_mod.c:605
+msgid "Nicht schlecht!"
+msgstr "Not bad!"
+
+#: ../../ms2/ms2_mod.c:607
+msgid "Supersound!"
+msgstr "Supersound!"
+
+#: ../../ms2/ms2_mod.c:609
+msgid "Klasse!"
+msgstr "Great!"
+
+#: ../../ms2/ms2_mod.c:611
+msgid "Nicht zu fassen!"
+msgstr "I can't believe it!"
+
+#: ../../ms2/ms2_mod.c:613
+msgid "Super, ey!"
+msgstr "Dope, yo!"
+
+#: ../../ms2/ms2_mod.c:615
+msgid "Fantastisch!"
+msgstr "Fantastic!"
+
+#: ../../ms2/ms2_mod.c:617
+msgid "Umwerfend!"
+msgstr "Stunning!"
+
+#: ../../ms2/ms2_mod.c:619
+msgid "Genial!"
+msgstr "Brilliant!"
+
+#: ../../ms2/ms2_mod.c:621
+msgid "Spitze!"
+msgstr "Awesome!"
+
+#: ../../ms2/ms2_mod.c:623
+msgid "Jawoll!"
+msgstr "Alright!"
+
+#: ../../ms2/ms2_mod.c:625
+msgid "Hervorragend!"
+msgstr "Outstanding!"
+
+#: ../../ms2/ms2_mod.c:627
+msgid "Ultragut!"
+msgstr "Ultra-good!"
+
+#: ../../ms2/ms2_mod.c:629
+msgid "Megacool!"
+msgstr "Mega cool!"
+
+#: ../../ms2/ms2_mod.c:631
+msgid "Yeah!"
+msgstr "Yeah!"
+
+#: ../../ms2/ms2_mus.c:60
+msgid "Ein W„chter betritt den Raum.|Du wirst verhaftet."
+msgstr "A guard enters the room.|You are getting arrested."
+
+#: ../../ms2/ms2_mus.c:73
+msgid "Die n„chsten paar Jahre|verbringst du im Knast."
+msgstr "You will spend the next|few years in jail."
+
+#: ../../ms2/ms2_mus.c:145
+msgid "Es wird Alarm ausgel”st."
+msgstr "The alarm is about to be set off."
+
+#: ../../ms2/ms2_mus.c:200
+msgid "Du h”rst Schritte."
+msgstr "You are hearing footsteps."
+
+#: ../../ms2/ms2_mus.c:232
+msgid "Um das Schloss zu ”ffnen,|brauchst du einige Zeit."
+msgstr "You will take some time,|to pick that lock."
+
+#: ../../ms2/ms2_mus.c:238
+msgid "Du ger„tst in Panik|und ziehst die Keycard|aus der Tr."
+msgstr "You are panicking|and remove the keycard|from the door."
+
+#: ../../ms2/ms2_mus.c:316
+msgid "Du hast deinen Auftrag|noch nicht ausgefhrt."
+msgstr "You have not completed|your task yet."
+
+#: ../../ms2/ms2_mus.c:330
+msgid ""
+"Obwohl du die Alarmanlage noch|nicht ausgeschaltet hast,|entscheidest du "
+"dich, zu fliehen."
+msgstr "Although you haven't|disabled the alarm yet,|you decide to escape."
+
+#: ../../ms2/ms2_mus.c:337
+msgid ""
+"Du entledigst dich der Einbruchswerkzeuge|und nimmst ein Taxi zum "
+"Kulturpalast."
+msgstr ""
+"You get rid of your burglar tools|and take a cab to the Palace of Culture."
+
+#: ../../ms2/ms2_mus.c:376 ../../ms2/ms2_mus.c:532 ../../ms2/ms2_mus.c:631
+msgid "Diese Tr brauchst|du nicht zu ”ffnen."
+msgstr "You don't need|to open this door."
+
+#: ../../ms2/ms2_mus.c:394
+msgid "Uff, es hat geklappt!"
+msgstr "Phew, it worked!"
+
+#: ../../ms2/ms2_mus.c:407
+msgid "Zurck im Quartier der Gangster ..."
+msgstr "Back in the gangsters' hideout ..."
+
+#: ../../ms2/ms2_mus.c:417
+msgid "Das lief ja wie am Schnrchen!"
+msgstr "Everything went like clockwork!"
+
+#: ../../ms2/ms2_mus.c:418
+msgid "Hier, dein Anteil von 30000 Xa."
+msgstr "Here, your share of 30000 Xa."
+
+#: ../../ms2/ms2_mus.c:425
+msgid "Wo ist denn der Saurierkopf?"
+msgstr "Where's the dinosaur skull?"
+
+#: ../../ms2/ms2_mus.c:426
+msgid "Dazu hatte ich keine Zeit mehr."
+msgstr "I didn't have enough time for that."
+
+#: ../../ms2/ms2_mus.c:427
+msgid "Was? Du spinnst wohl!|Dann kriegst du auch deinen|Anteil nicht. Raus!"
+msgstr "What? You're nuts!|Then you won't get your|share. Beat it!"
+
+#: ../../ms2/ms2_mus.c:703
+msgid "Der Sauger ist schon dort."
+msgstr "The suction cup is already there."
+
+#: ../../ms2/ms2_mus.c:707
+msgid "Du heftest den Sauger an die Wand|und h„lst dich daran fest."
+msgstr "You attach the suction cup to the wall|and hold on to it."
+
+#: ../../ms2/ms2_mus.c:718
+msgid "Du stellst dich auf den|Boden nimmst den Sauger|wieder von der Wand"
+msgstr "You stand on the floor|then remove the suction cup from the wall"
+
+#: ../../ms2/ms2_mus.c:722
+msgid "Die Alarmanlage ist|schon ausgeschaltet."
+msgstr "The alarm system is|already switched off."
+
+#: ../../ms2/ms2_mus.c:725
+msgid "Um die Anlage abzuschalten,|brauchst du einige Zeit."
+msgstr "To turn off the system,|you need some time."
+
+#: ../../ms2/ms2_mus.c:729
+msgid "Die Alarmanlage ist jetzt ausgeschaltet."
+msgstr "The alarm system is now switched off."
+
+#: ../../ms2/ms2_mus.c:746 ../../ms2/ms2_mus.c:875
+msgid "Saurier"
+msgstr "Dinosaur"
+
+#: ../../ms2/ms2_mus.c:746
+msgid "Du hast jetzt besseres zu tun,|als das Ding anzuschauen."
+msgstr "You have better things to do now|than look at that thing."
+
+#: ../../ms2/ms2_mus.c:747 ../../ms2/ms2_pyra.c:1010 ../../ms2/ms2_r1.c:805
+#: ../../ms2/ms2_r1.c:816 ../../ms2/ms2_r2.c:1203 ../../ms2/ms2_r2.c:1214
+msgid "Eingang"
+msgstr "Entrance"
+
+#: ../../ms2/ms2_mus.c:748 ../../ms2/ms2_mus.c:756 ../../ms2/ms2_mus.c:757
+#: ../../ms2/ms2_mus.c:765 ../../ms2/ms2_mus.c:766 ../../ms2/ms2_mus.c:774
+#: ../../ms2/ms2_mus.c:775 ../../ms2/ms2_mus.c:783 ../../ms2/ms2_mus.c:784
+#: ../../ms2/ms2_mus.c:792 ../../ms2/ms2_mus.c:801 ../../ms2/ms2_mus.c:802
+#: ../../ms2/ms2_mus.c:804 ../../ms2/ms2_mus.c:812 ../../ms2/ms2_mus.c:814
+#: ../../ms2/ms2_mus.c:815 ../../ms2/ms2_mus.c:823 ../../ms2/ms2_mus.c:824
+#: ../../ms2/ms2_mus.c:832 ../../ms2/ms2_mus.c:833 ../../ms2/ms2_mus.c:842
+#: ../../ms2/ms2_mus.c:844 ../../ms2/ms2_mus.c:845 ../../ms2/ms2_mus.c:854
+#: ../../ms2/ms2_mus.c:855 ../../ms2/ms2_mus.c:864 ../../ms2/ms2_mus.c:865
+#: ../../ms2/ms2_mus.c:866 ../../ms2/ms2_mus.c:872 ../../ms2/ms2_mus.c:894
+#: ../../ms2/ms2_mus.c:895 ../../ms2/ms2_mus.c:903 ../../ms2/ms2_mus.c:911
+#: ../../ms2/ms2_mus.c:912 ../../ms2/ms2_mus.c:920 ../../ms2/ms2_mus.c:921
+#: ../../ms2/ms2_mus.c:929 ../../ms2/ms2_mus.c:930 ../../ms2/ms2_mus.c:931
+#: ../../ms2/ms2_mus.c:932 ../../ms2/ms2_mus.c:940 ../../ms2/ms2_mus.c:941
+#: ../../ms2/ms2_mus.c:949 ../../ms2/ms2_mus.c:957 ../../ms2/ms2_mus.c:965
+#: ../../ms2/ms2_mus.c:966 ../../ms2/ms2_mus.c:974 ../../ms2/ms2_pyra.c:1070
+#: ../../ms2/ms2_pyra.c:1079 ../../ms2/ms2_pyra.c:1103
+#: ../../ms2/ms2_pyra.c:1111 ../../ms2/ms2_pyra.c:1135
+#: ../../ms2/ms2_pyra.c:1309 ../../ms2/ms2_r2.c:1225 ../../ms2/ms2_r2.c:1226
+#: ../../ms2/ms2_r2.c:1235 ../../ms2/ms2_r2.c:1236 ../../ms2/ms2_r2.c:1247
+msgid "Tr"
+msgstr "Door"
+
+#: ../../ms2/ms2_mus.c:749
+msgid "Strasse zum Stadtzentrum"
+msgstr "Road to the city center"
+
+#: ../../ms2/ms2_mus.c:793
+msgid "Kamera"
+msgstr "Security camera"
+
+#: ../../ms2/ms2_mus.c:793
+msgid "Hoffentlich bemerkt dich niemand."
+msgstr "Hopefully nobody will notice you."
+
+#: ../../ms2/ms2_mus.c:856
+msgid "Haupteingang"
+msgstr "Main entrance"
+
+#: ../../ms2/ms2_mus.c:873 ../../ms2/ms2_mus.c:874 ../../ms2/ms2_mus.c:885
+#: ../../ms2/ms2_mus.c:893 ../../ms2/ms2_pyra.c:1046 ../../ms2/ms2_pyra.c:1054
+#: ../../ms2/ms2_pyra.c:1062 ../../ms2/ms2_pyra.c:1087
+#: ../../ms2/ms2_pyra.c:1095 ../../ms2/ms2_pyra.c:1222
+#: ../../ms2/ms2_pyra.c:1230 ../../ms2/ms2_pyra.c:1238
+#: ../../ms2/ms2_pyra.c:1246
+msgid "Gang"
+msgstr "Corridor"
+
+#: ../../ms2/ms2_mus.c:875
+msgid "Ziemlich groá."
+msgstr "Quite large."
+
+#: ../../ms2/ms2_mus.c:876 ../../ms2/ms2_r1.c:787
+msgid "Saurierkopf"
+msgstr "Dinosaur head"
+
+#: ../../ms2/ms2_mus.c:876
+msgid "Dies ist der Kopf,|den du suchst."
+msgstr "This is the head|you're looking for."
+
+#: ../../ms2/ms2_mus.c:975
+msgid "Alarmanlage"
+msgstr "Alarm system"
+
+#: ../../ms2/ms2_mus.c:976 ../../ms2/ms2_r1.c:783
+msgid "Sauger"
+msgstr "Suction cup"
+
+#: ../../ms2/ms2_mus.c:977
+msgid "Wand"
+msgstr "Wall"
+
+#: ../../ms2/ms2_pyra.c:26 ../../ms2/ms2_pyra.c:1255 ../../ms2/ms2_pyra.c:1256
+#: ../../ms2/ms2_pyra.c:1274 ../../ms2/ms2_pyra.c:1284
+msgid "Loch"
+msgstr "Opening"
+
+#: ../../ms2/ms2_pyra.c:27
+msgid "Buchstabe"
+msgstr "Letter"
+
+#: ../../ms2/ms2_pyra.c:28
+msgid "Sie ist sehr massiv."
+msgstr "It is very massive."
+
+#: ../../ms2/ms2_pyra.c:29
+msgid "Hmm, X und Y, irgendwo|habe ich die Buchstaben|schon gesehen."
+msgstr "Hmm, X and Y|I have seen these letters|somewhere before."
+
+#: ../../ms2/ms2_pyra.c:34
+msgid "Deine Zeit ist um, Fremder!"
+msgstr "Your Time is up, Stranger!"
+
+#: ../../ms2/ms2_pyra.c:76
+msgid "Du hast das Seil|doch schon festgebunden."
+msgstr "You already tied the rope."
+
+#: ../../ms2/ms2_pyra.c:80
+msgid "Das wrde wenig bringen."
+msgstr "That would have little effect."
+
+#: ../../ms2/ms2_pyra.c:126
+msgid "Sonnenstich, oder was?"
+msgstr "Sunstroke, or what?"
+
+#: ../../ms2/ms2_pyra.c:385
+msgid "Du merkst, daá der Boden|unter dir nachgibt, und|springst zur Seite."
+msgstr "You notice that the ground|is giving way under you,|and you leap aside."
+
+#: ../../ms2/ms2_pyra.c:537
+msgid "Puzzleteil"
+msgstr "Puzzle piece"
+
+#: ../../ms2/ms2_pyra.c:570
+msgid "Neben diesem Stein|ist kein freies Feld."
+msgstr "There's no free square|next to this stone."
+
+#: ../../ms2/ms2_pyra.c:683
+msgid "Du spielst gerade ein|Adventure, kein Rollenspiel!"
+msgstr "You are currently playing an|Adventure, not a Role-Playing Game!"
+
+#: ../../ms2/ms2_pyra.c:699 ../../ms2/ms2_pyra.c:800
+msgid "Du kannst das Seil|nirgends befestigen."
+msgstr "There's nowhere|to attach the rope."
+
+#: ../../ms2/ms2_pyra.c:705 ../../ms2/ms2_pyra.c:784
+msgid "Es paát nicht|zwischen die Steine."
+msgstr "It does not fit|between the stones."
+
+#: ../../ms2/ms2_pyra.c:710 ../../ms2/ms2_pyra.c:741 ../../ms2/ms2_pyra.c:840
+msgid "Das ist doch|oben festgebunden!"
+msgstr "That is already|tied up above!"
+
+#: ../../ms2/ms2_pyra.c:715
+msgid "Hey, das ist|mindestens 10 Meter tief!"
+msgstr "Hey, that is|at least 10 meters deep!"
+
+#: ../../ms2/ms2_pyra.c:731
+msgid "In dem Schlitz|ist nichts mehr."
+msgstr "There is nothing|left in the slot."
+
+#: ../../ms2/ms2_pyra.c:765
+msgid "Das ist mindestens 5 Meter tief!"
+msgstr "That is at least 5 meters deep!"
+
+#: ../../ms2/ms2_pyra.c:900
+msgid ""
+"Du versuchst, den Sarg zu|”ffnen, aber der Deckel bewegt|sich keinen "
+"Millimeter."
+msgstr "You try to open the coffin,|but the lid does not|move a millimeter."
+
+#: ../../ms2/ms2_pyra.c:913 ../../ms2/ms2_pyra.c:923
+msgid "Du hast die Kugel schon gedrckt."
+msgstr "You have already|pushed the ball."
+
+#: ../../ms2/ms2_pyra.c:944
+msgid "Die Kugel bewegt sich ein Stck."
+msgstr "The ball moves a bit."
+
+#: ../../ms2/ms2_pyra.c:965
+msgid "Herzlichen Glckwunsch!"
+msgstr "Congratulations!"
+
+#: ../../ms2/ms2_pyra.c:966
+msgid "Sie haben das Spiel gel”st|und gewinnen 400 Xa!"
+msgstr "You solved the game|and won 400 Xa!"
+
+#: ../../ms2/ms2_pyra.c:967
+msgid "Vielen Dank fr die Benutzung eines|VIRTUAL-REALITY-SYSTEMS-Produkts!"
+msgstr "Thank you for using a|VIRTUAL-REALITY-SYSTEMS product!"
+
+#: ../../ms2/ms2_pyra.c:991
+msgid "N"
+msgstr "N"
+
+#: ../../ms2/ms2_pyra.c:991
+msgid "O"
+msgstr "E"
+
+#: ../../ms2/ms2_pyra.c:991
+msgid "S"
+msgstr "S"
+
+#: ../../ms2/ms2_pyra.c:991
+msgid "W"
+msgstr "W"
+
+#: ../../ms2/ms2_pyra.c:1008 ../../ms2/ms2_pyra.c:1200
+#: ../../ms2/ms2_pyra.c:1254 ../../ms2/ms2_pyra.c:1262
+#: ../../ms2/ms2_pyra.c:1273 ../../ms2/ms2_pyra.c:1283
+msgid "Seil"
+msgstr "Rope"
+
+#: ../../ms2/ms2_pyra.c:1009 ../../ms2/ms2_pyra.c:1043 ../../ms2/ms2_r1.c:850
+#: ../../ms2/ms2_r2.c:1223 ../../ms2/ms2_r2.c:1224 ../../ms2/ms2_r2.c:1233
+#: ../../ms2/ms2_r2.c:1234
+msgid "Schild"
+msgstr "Sign"
+
+#: ../../ms2/ms2_pyra.c:1009
+msgid ""
+"Darauf steht:|\"Willst du finden das|richtige Loch, so wage|dich in die "
+"Pyramide!\"."
+msgstr ""
+"It reads:|\"Want to find|the right hole? Then dare|to enter the pyramid!\"."
+
+#: ../../ms2/ms2_pyra.c:1010
+msgid "Es ist eine kleine ™ffnung."
+msgstr "It is a small opening."
+
+#: ../../ms2/ms2_pyra.c:1011
+msgid "Pyramide"
+msgstr "Pyramid"
+
+#: ../../ms2/ms2_pyra.c:1011
+msgid ""
+"Komisch! Was soll eine Pyramide|bei den Axacussanern? Deine|eigenen Gedanken "
+"scheinen|den Spielverlauf zu beeinflussen."
+msgstr ""
+"Weird! What is a pyramid doing|at the Axacussians? Your own thoughts seem to "
+"influence|the course of the game."
+
+#: ../../ms2/ms2_pyra.c:1012
+msgid "Sonne"
+msgstr "Sun"
+
+#: ../../ms2/ms2_pyra.c:1012
+msgid "Sch”n!"
+msgstr "Nice!"
+
+#: ../../ms2/ms2_pyra.c:1043
+msgid ""
+"\"Hallo Fremder, wenn du diesen|Raum betreten hast, bleibt|dir nur noch eine "
+"Stunde Zeit,|um deine Aufgabe zu erfllen!\""
+msgstr ""
+"\"Hello, Stranger, when you enter|this room, you have only an hour|to "
+"accomplish your task!\""
+
+#: ../../ms2/ms2_pyra.c:1044 ../../ms2/ms2_pyra.c:1052
+#: ../../ms2/ms2_pyra.c:1060 ../../ms2/ms2_pyra.c:1068
+#: ../../ms2/ms2_pyra.c:1077 ../../ms2/ms2_pyra.c:1085
+#: ../../ms2/ms2_pyra.c:1093 ../../ms2/ms2_pyra.c:1101
+#: ../../ms2/ms2_pyra.c:1109 ../../ms2/ms2_pyra.c:1133
+#: ../../ms2/ms2_pyra.c:1141 ../../ms2/ms2_pyra.c:1149
+#: ../../ms2/ms2_pyra.c:1157 ../../ms2/ms2_pyra.c:1165
+#: ../../ms2/ms2_pyra.c:1173 ../../ms2/ms2_pyra.c:1181
+#: ../../ms2/ms2_pyra.c:1190 ../../ms2/ms2_pyra.c:1198
+#: ../../ms2/ms2_pyra.c:1209 ../../ms2/ms2_pyra.c:1220
+#: ../../ms2/ms2_pyra.c:1228 ../../ms2/ms2_pyra.c:1236
+#: ../../ms2/ms2_pyra.c:1244 ../../ms2/ms2_pyra.c:1252
+#: ../../ms2/ms2_pyra.c:1270 ../../ms2/ms2_pyra.c:1281
+#: ../../ms2/ms2_pyra.c:1291
+msgid "rechte Seite"
+msgstr "right side"
+
+#: ../../ms2/ms2_pyra.c:1045 ../../ms2/ms2_pyra.c:1053
+#: ../../ms2/ms2_pyra.c:1061 ../../ms2/ms2_pyra.c:1069
+#: ../../ms2/ms2_pyra.c:1078 ../../ms2/ms2_pyra.c:1086
+#: ../../ms2/ms2_pyra.c:1094 ../../ms2/ms2_pyra.c:1102
+#: ../../ms2/ms2_pyra.c:1110 ../../ms2/ms2_pyra.c:1134
+#: ../../ms2/ms2_pyra.c:1142 ../../ms2/ms2_pyra.c:1150
+#: ../../ms2/ms2_pyra.c:1158 ../../ms2/ms2_pyra.c:1166
+#: ../../ms2/ms2_pyra.c:1174 ../../ms2/ms2_pyra.c:1182
+#: ../../ms2/ms2_pyra.c:1191 ../../ms2/ms2_pyra.c:1199
+#: ../../ms2/ms2_pyra.c:1210 ../../ms2/ms2_pyra.c:1221
+#: ../../ms2/ms2_pyra.c:1229 ../../ms2/ms2_pyra.c:1237
+#: ../../ms2/ms2_pyra.c:1245 ../../ms2/ms2_pyra.c:1253
+#: ../../ms2/ms2_pyra.c:1271 ../../ms2/ms2_pyra.c:1282
+#: ../../ms2/ms2_pyra.c:1292
+msgid "linke Seite"
+msgstr "left side"
+
+#: ../../ms2/ms2_pyra.c:1071
+msgid "Knopf"
+msgstr "Button"
+
+#: ../../ms2/ms2_pyra.c:1143 ../../ms2/ms2_pyra.c:1151
+#: ../../ms2/ms2_pyra.c:1159 ../../ms2/ms2_pyra.c:1167
+msgid "Schrift"
+msgstr "Inscription"
+
+#: ../../ms2/ms2_pyra.c:1175 ../../ms2/ms2_pyra.c:1184
+msgid "Tomate"
+msgstr "Tomato"
+
+#: ../../ms2/ms2_pyra.c:1175 ../../ms2/ms2_pyra.c:1184
+msgid "Komisch!"
+msgstr "Funny!"
+
+#: ../../ms2/ms2_pyra.c:1183 ../../ms2/ms2_pyra.c:1272
+msgid "Messer"
+msgstr "Knife"
+
+#: ../../ms2/ms2_pyra.c:1183
+msgid "Es ist ein relativ stabiles Messer."
+msgstr "It is a relatively sturdy knife."
+
+#: ../../ms2/ms2_pyra.c:1192 ../../ms2/ms2_pyra.c:1203
+#: ../../ms2/ms2_pyra.c:1214
+msgid "Monster"
+msgstr "Monster"
+
+#: ../../ms2/ms2_pyra.c:1200
+msgid "Es ist dick und|ungef„hr 15 Meter lang."
+msgstr "It is thick and|about 15 meters long."
+
+#: ../../ms2/ms2_pyra.c:1201 ../../ms2/ms2_pyra.c:1212
+msgid "Augen"
+msgstr "Eyes"
+
+#: ../../ms2/ms2_pyra.c:1202 ../../ms2/ms2_pyra.c:1213
+#: ../../ms2/ms2_pyra.c:1336
+msgid "Mund"
+msgstr "Mouth"
+
+#: ../../ms2/ms2_pyra.c:1203 ../../ms2/ms2_pyra.c:1214
+msgid "Es ist nur eine Statue."
+msgstr "It's just a statue."
+
+#: ../../ms2/ms2_pyra.c:1211 ../../ms2/ms2_pyra.c:1263
+msgid "Zettel"
+msgstr "Note"
+
+#: ../../ms2/ms2_pyra.c:1211
+msgid "Darauf steht:|\"Wenn du fast am Ziel|bist, tu folgendes:|Sauf!\""
+msgstr "It reads:|\"When you're almost there,|do the following:|Drink!\""
+
+#: ../../ms2/ms2_pyra.c:1255
+msgid "Es ist ca. 10 Meter tief."
+msgstr "It is about 10 meters deep."
+
+#: ../../ms2/ms2_pyra.c:1256
+msgid "Oben siehst du helles Licht."
+msgstr "Above you is a bright light."
+
+#: ../../ms2/ms2_pyra.c:1263
+msgid ""
+"Darauf steht:|\"Ruhe eine Minute im Raum|zwischen den Monstern,|und du wirst "
+"belohnt!\""
+msgstr ""
+"It reads:|\"Rest a minute in the room|between the monsters,|and you'll be "
+"rewarded!\""
+
+#: ../../ms2/ms2_pyra.c:1264 ../../ms2/ms2_r1.c:844 ../../ms2/ms2_r1.c:845
+#: ../../ms2/ms2_r2.c:1243
+msgid "Schlitz"
+msgstr "Slot"
+
+#: ../../ms2/ms2_pyra.c:1264
+msgid "Du kommst mit den|H„nden nicht rein."
+msgstr "You cannot get in|with your hands."
+
+#: ../../ms2/ms2_pyra.c:1274
+msgid "Es ist ca. 5 Meter tief."
+msgstr "It is about 5 meters deep."
+
+#: ../../ms2/ms2_pyra.c:1275
+msgid "Steine"
+msgstr "Stones"
+
+#: ../../ms2/ms2_pyra.c:1285
+msgid "Platte"
+msgstr "Plate"
+
+#: ../../ms2/ms2_pyra.c:1315 ../../ms2/ms2_pyra.c:1323
+msgid "Sarg"
+msgstr "Coffin"
+
+#: ../../ms2/ms2_pyra.c:1316 ../../ms2/ms2_pyra.c:1322
+#: ../../ms2/ms2_pyra.c:1333 ../../ms2/ms2_r1.c:833 ../../ms2/ms2_r1.c:840
+#: ../../ms2/ms2_r1.c:857 ../../ms2/ms2_r2.c:1215 ../../ms2/ms2_r2.c:1248
+msgid "Ausgang"
+msgstr "Exit"
+
+#: ../../ms2/ms2_pyra.c:1323
+msgid "Unheimlich!"
+msgstr "Creepy!"
+
+#: ../../ms2/ms2_pyra.c:1324 ../../ms2/ms2_r1.c:865
+msgid "Zahnbrste"
+msgstr "Toothbrush"
+
+#: ../../ms2/ms2_pyra.c:1324 ../../ms2/ms2_pyra.c:1325
+msgid "Die Sache mit der|Artus GmbH scheint dir zu|Kopf gestiegen zu sein."
+msgstr "The thing with the|Artus GmbH seems to have|gotten to your head."
+
+#: ../../ms2/ms2_pyra.c:1325
+msgid "Zahnpastatube"
+msgstr "Toothpaste"
+
+#: ../../ms2/ms2_pyra.c:1326 ../../ms2/ms2_pyra.c:1327
+msgid "Kugel"
+msgstr "Ball"
+
+#: ../../ms2/ms2_pyra.c:1326 ../../ms2/ms2_pyra.c:1327
+msgid "Hmm, die Kugel sieht lose aus."
+msgstr "Hmm, the ball looks loose."
+
+#: ../../ms2/ms2_pyra.c:1334 ../../ms2/ms2_pyra.c:1335
+msgid "Auge"
+msgstr "Eye"
+
+#: ../../ms2/ms2_pyra.c:1334 ../../ms2/ms2_pyra.c:1335
+msgid "Irgendwas stimmt damit nicht."
+msgstr "Something is wrong with that."
+
+#: ../../ms2/ms2_r1.c:11
+msgid "Es ist nichts Besonderes daran."
+msgstr "There's nothing special about it."
+
+#: ../../ms2/ms2_r1.c:12
+msgid "Sieht nach Metall aus."
+msgstr "It looks like metal."
+
+#: ../../ms2/ms2_r1.c:83
+msgid "Ein Taxi kommt angerauscht,|du steigst ein."
+msgstr "A taxi arrives, and you get in."
+
+#: ../../ms2/ms2_r1.c:90
+msgid "Du drckst auf den Knopf, aber nichts passiert"
+msgstr "You press the button, but nothing happens"
+
+#: ../../ms2/ms2_r1.c:94
+msgid "Es ist leer."
+msgstr "It is empty."
+
+#: ../../ms2/ms2_r1.c:97
+msgid "Du findest ein kleines Ger„t,|einen Ausweis und einen Xa."
+msgstr "You find a small device,|an ID card and a Xa."
+
+#: ../../ms2/ms2_r1.c:109
+msgid "Du heftest den|Magnet an die Stange."
+msgstr "You attach the|magnet to the pole."
+
+#: ../../ms2/ms2_r1.c:110
+msgid "Stange mit Magnet"
+msgstr "Pole with magnet"
+
+#: ../../ms2/ms2_r1.c:111
+msgid "Raffiniert!"
+msgstr "Cunning!"
+
+#: ../../ms2/ms2_r1.c:118
+msgid "Du muát das|Ger„t erst kaufen."
+msgstr "You must buy|this device first."
+
+#: ../../ms2/ms2_r1.c:127
+msgid "Du legst den Chip|in das Ger„t ein."
+msgstr "You insert the chip|into the device."
+
+#: ../../ms2/ms2_r1.c:137
+msgid "Du berspielst die CD|auf den Musikchip."
+msgstr "You transfer the CD|to the Music chip."
+
+#: ../../ms2/ms2_r1.c:141
+msgid ""
+"Ohne einen eingelegten|Musikchip kannst du auf dem|Ger„t nichts aufnehmen."
+msgstr "Without an inserted|music chip, you can not|record on the device."
+
+#: ../../ms2/ms2_r1.c:152
+msgid "Du nimmst den Chip|aus dem Ger„t."
+msgstr "You remove the chip|from the device."
+
+#: ../../ms2/ms2_r1.c:157
+msgid "Es ist kein Chip eingelegt."
+msgstr "There is no chip inserted."
+
+#: ../../ms2/ms2_r1.c:162
+msgid "Wozu? Du hast sowieso nur die eine CD."
+msgstr "What for? You only have one CD anyway."
+
+#: ../../ms2/ms2_r1.c:166
+msgid "Die \"Mad Monkeys\"-CD. Du hast|sie schon tausendmal geh”rt."
+msgstr "The \"Mad Monkeys\" CD.|You've heard them a thousand times."
+
+#: ../../ms2/ms2_r1.c:183
+msgid "Du h”rst nichts.|Der Chip ist unbespielt."
+msgstr "All you hear is silence.|The chip is empty."
+
+#: ../../ms2/ms2_r1.c:185
+msgid "Du h”rst dir den Anfang|der berspielten CD an."
+msgstr "You are listening to the beginning|of the copied CD."
+
+#: ../../ms2/ms2_r1.c:187
+msgid "Es ist kein Chip einglegt."
+msgstr "There is no chip inserted."
+
+#: ../../ms2/ms2_r1.c:193
+msgid "Du trinkst etwas von den Zeug, danach|fhlst du dich leicht beschwipst."
+msgstr "You drink some of the stuff,|then begin to feel slightly tipsy."
+
+#: ../../ms2/ms2_r1.c:224
+#, c-format
+msgid "%d Xa"
+msgstr "%d Xa"
+
+#: ../../ms2/ms2_r1.c:242
+msgid ""
+"Als du ebenfalls aussteigst haben|die anderen Passagiere das|Fluggel„nde "
+"bereits verlassen."
+msgstr ""
+"When you get off the plane|the other passengers|have already left the "
+"airport."
+
+#: ../../ms2/ms2_r1.c:285 ../../ms2/ms2_r1.c:809
+msgid "Flughafen"
+msgstr "Airport"
+
+#: ../../ms2/ms2_r1.c:286
+msgid "Stadtzentrum"
+msgstr "Downtown"
+
+#: ../../ms2/ms2_r1.c:287 ../../ms2/ms2_r2.c:1204
+msgid "Kulturpalast"
+msgstr "Palace of Culture"
+
+#: ../../ms2/ms2_r1.c:288
+msgid "Erde"
+msgstr "Earth"
+
+#: ../../ms2/ms2_r1.c:289
+msgid "Privatwohnung"
+msgstr "Private apartment"
+
+#: ../../ms2/ms2_r1.c:290 ../../ms2/ms2_r1.c:295
+msgid "(Taxi verlassen)"
+msgstr "(Leave the taxi)"
+
+#: ../../ms2/ms2_r1.c:294
+msgid "(Bezahlen)"
+msgstr "(Pay)"
+
+#: ../../ms2/ms2_r1.c:337
+msgid "Adresse:| "
+msgstr "Address:| "
+
+#: ../../ms2/ms2_r1.c:356
+msgid ""
+"Fuddeln gilt nicht!|Zu diesem Zeitpunkt kannst du diese|Adresse noch gar "
+"nicht kennen!"
+msgstr ""
+"Fiddling with the system doesn't work!|At this time you can not|even know "
+"this address!"
+
+#: ../../ms2/ms2_r1.c:378
+msgid "Du hast nicht|mehr genug Geld."
+msgstr "You do not|have enough money left."
+
+#: ../../ms2/ms2_r1.c:389
+msgid "Du merkst, daá das Taxi stark beschleunigt."
+msgstr "You notice the taxi is accelerating rapidly."
+
+#: ../../ms2/ms2_r1.c:398
+msgid "Fnf Minuten sp„ter ..."
+msgstr "Five minutes later ..."
+
+#: ../../ms2/ms2_r1.c:433
+msgid "Du hast doch schon eine Stange"
+msgstr "You already have a pole"
+
+#: ../../ms2/ms2_r1.c:436
+msgid "Du s„gst eine der Stangen ab."
+msgstr "You saw off one of the poles."
+
+#: ../../ms2/ms2_r1.c:444
+msgid "Du betrittst das einzige|offene Gesch„ft, das|du finden kannst."
+msgstr "You enter the only|open shop that|you can find."
+
+#: ../../ms2/ms2_r1.c:507
+msgid "Die Kabine ist besetzt."
+msgstr "The cabin is occupied."
+
+#: ../../ms2/ms2_r1.c:524
+msgid "He, nimm erstmal das Geld|aus dem Rckgabeschlitz!"
+msgstr "Hey, take the money|from the return slot!"
+
+#: ../../ms2/ms2_r1.c:526
+msgid "Du hast doch schon bezahlt."
+msgstr "You have already paid."
+
+#: ../../ms2/ms2_r1.c:528
+msgid "Du hast nicht mehr genug Geld."
+msgstr "You do not have enough money left."
+
+#: ../../ms2/ms2_r1.c:531
+msgid "Du wirfst 10 Xa in den Schlitz."
+msgstr "You put 10 Xa in the slot."
+
+#: ../../ms2/ms2_r1.c:566
+msgid "Dir wird schwarz vor Augen."
+msgstr "You are about to pass out."
+
+#: ../../ms2/ms2_r1.c:582
+msgid "Du ruhst dich eine Weile aus."
+msgstr "You rest for a while."
+
+#: ../../ms2/ms2_r1.c:598
+msgid ""
+"An der Wand steht:|\"Ich kenne eine tolle Geheimschrift:|A=Z, B=Y, C=X ...|"
+"0=0, 1=9, 2=8 ...\""
+msgstr ""
+"On the Wall is:|\"I know a great cypher:|A=Z, B=Y, C=X ...|0=0, 1=9, 2=8 ..."
+"\""
+
+#: ../../ms2/ms2_r1.c:657
+msgid "Ok, ich nehme es."
+msgstr "OK, I'll take it."
+
+#: ../../ms2/ms2_r1.c:658
+msgid "Nein danke, das ist mir zu teuer."
+msgstr "No thanks, that's too expensive for me."
+
+#: ../../ms2/ms2_r1.c:662
+msgid "Ich wrde gern etwas kaufen."
+msgstr "I would like to buy something."
+
+#: ../../ms2/ms2_r1.c:663
+msgid "Ich bin's, Horst Hummel."
+msgstr "It's me, Horst Hummel."
+
+#: ../../ms2/ms2_r1.c:664
+msgid "Haben Sie auch einen Musikchip fr das Ger„t?"
+msgstr "Do you have a music chip for the device?"
+
+#: ../../ms2/ms2_r1.c:668
+msgid "Eine tolle Maske, nicht wahr?"
+msgstr "It's a great mask, right?"
+
+#: ../../ms2/ms2_r1.c:668
+msgid "Komisch, daá sie schon drei Jahre da steht."
+msgstr "Strange that it has been there for three years."
+
+#: ../../ms2/ms2_r1.c:669
+msgid "Ein starker Trunk. Zieht ganz sch”n rein."
+msgstr "A strong drink. It hits you pretty hard."
+
+#: ../../ms2/ms2_r1.c:670
+msgid "Ein Abspiel- und Aufnahmeger„t fr die neuen Musikchips."
+msgstr "A playback and recording device for the new music chips."
+
+#: ../../ms2/ms2_r1.c:671
+msgid "Eine ARTUS-Zahnbrste. Der letzte Schrei."
+msgstr "An ARTUS toothbrush. The latest craze."
+
+#: ../../ms2/ms2_r1.c:671
+msgid "Verkaufe ich massenhaft, die Dinger."
+msgstr "I sell these things in bulk."
+
+#: ../../ms2/ms2_r1.c:672
+msgid "Das sind echte Rarit„ten. Bcher in gebundener Form."
+msgstr "These are real rarities. Books in bound form."
+
+#: ../../ms2/ms2_r1.c:673
+msgid "Die Encyclopedia Axacussana."
+msgstr "The Encyclopedia Axacussana."
+
+#: ../../ms2/ms2_r1.c:673
+msgid "Das gr”áte erh„ltliche Lexikon auf 30 Speicherchips."
+msgstr "The largest available dictionary on 30 memory chips."
+
+#: ../../ms2/ms2_r1.c:673
+msgid "šber 400 Trilliarden Stichw”rter."
+msgstr "Over 400 sextillion keywords."
+
+#: ../../ms2/ms2_r1.c:674
+msgid "Die ist nicht zu verkaufen."
+msgstr "It is not for sale."
+
+#: ../../ms2/ms2_r1.c:675
+msgid "So eine habe ich meinem Enkel zum Geburtstag geschenkt."
+msgstr "I gave one to my grandson for his birthday."
+
+#: ../../ms2/ms2_r1.c:675
+msgid "Er war begeistert von dem Ding."
+msgstr "He was excited about this thing."
+
+#: ../../ms2/ms2_r1.c:676
+msgid "Der stammt aus einem bekannten Computerspiel."
+msgstr "It comes from a well-known computer game."
+
+#: ../../ms2/ms2_r1.c:677
+msgid "Robust, handlich und stromsparend."
+msgstr "Sturdy, handy and energy-saving."
+
+#: ../../ms2/ms2_r1.c:678 ../../ms2/ms2_r1.c:679 ../../ms2/ms2_r1.c:680
+#: ../../ms2/ms2_r1.c:681
+msgid "Irgendein lasches Ges”ff."
+msgstr "Some cheap swill."
+
+#: ../../ms2/ms2_r1.c:682
+msgid "Das sind Protestaufkleber gegen die hohen Taxigebhren."
+msgstr "These are stickers protesting the high taxi fees."
+
+#: ../../ms2/ms2_r1.c:683
+msgid "Das ist Geschirr aus der neuen Umbina-Kollektion."
+msgstr "These are dishes from the new Umbina-Collection."
+
+#: ../../ms2/ms2_r1.c:683
+msgid "H„álich, nicht wahr?"
+msgstr "Ugly, right?"
+
+#: ../../ms2/ms2_r1.c:683
+msgid "Aber verkaufen tut sich das Zeug gut."
+msgstr "But this stuff sells well."
+
+#: ../../ms2/ms2_r1.c:699
+#, c-format
+msgid "Das kostet %d Xa."
+msgstr "That costs %d Xa."
+
+#: ../../ms2/ms2_r1.c:726
+msgid "Schauen Sie sich ruhig um!"
+msgstr "Take a look around!"
+
+#: ../../ms2/ms2_r1.c:728
+msgid "Unsinn!"
+msgstr "Nonsense!"
+
+#: ../../ms2/ms2_r1.c:730
+msgid "Tut mir leid, die sind|schon alle ausverkauft."
+msgstr "I'm very sorry,|they are already sold out."
+
+#: ../../ms2/ms2_r1.c:743
+msgid "Guten Abend."
+msgstr "Good evening."
+
+#: ../../ms2/ms2_r1.c:744
+msgid "Hallo."
+msgstr "Hello."
+
+#: ../../ms2/ms2_r1.c:754
+msgid "Huch, Sie haben mich aber erschreckt!"
+msgstr "Yikes, you scared me!"
+
+#: ../../ms2/ms2_r1.c:755
+msgid "Wieso?"
+msgstr "How so?"
+
+#: ../../ms2/ms2_r1.c:756
+msgid "Ihre Verkleidung ist wirklich t„uschend echt."
+msgstr "Your disguise is deceptively real-looking."
+
+#: ../../ms2/ms2_r1.c:757
+msgid "Welche Verkleidung?"
+msgstr "What disguise?"
+
+#: ../../ms2/ms2_r1.c:758
+msgid "Na, tun Sie nicht so!"
+msgstr "Stop pretending you don't know!"
+
+#: ../../ms2/ms2_r1.c:759
+msgid ""
+"Sie haben sich verkleidet wie der Auáerirdische,|dieser Horst Hummel, oder "
+"wie er heiát."
+msgstr ""
+"You disguised yourself as that extraterrestrial guy,|Horst Hummel, or "
+"whatever his name is."
+
+#: ../../ms2/ms2_r1.c:760 ../../ms2/ms2_r2.c:419
+msgid "Ich BIN Horst Hummel!"
+msgstr "I AM Horst Hummel!"
+
+#: ../../ms2/ms2_r1.c:761
+msgid "Geben Sie's auf!"
+msgstr "Give it up!"
+
+#: ../../ms2/ms2_r1.c:762
+msgid "An Ihrer Gestik merkt man, daá Sie|ein verkleideter Axacussaner sind."
+msgstr "You can tell from your gestures that you are|a disguised Axacussan."
+
+#: ../../ms2/ms2_r1.c:763
+msgid "Der echte Hummel bewegt sich|anders, irgendwie ruckartig."
+msgstr "The real Hummel moves|differently, kind of jerky."
+
+#: ../../ms2/ms2_r1.c:764
+msgid "Weil er ein Roboter ist! ICH bin der Echte!"
+msgstr "Because he is a robot! I am the real one!"
+
+#: ../../ms2/ms2_r1.c:765 ../../ms2/ms2_r2.c:56
+msgid "Ach, Sie spinnen ja!"
+msgstr "Oh, you are crazy!"
+
+#: ../../ms2/ms2_r1.c:766
+msgid "Sie Trottel!!!"
+msgstr "You Idiot!!!"
+
+#: ../../ms2/ms2_r1.c:767
+msgid "Seien Sie still, oder ich werfe Sie raus!"
+msgstr "Shut up or I'll kick you out!"
+
+#: ../../ms2/ms2_r1.c:780
+msgid "Taschenmesser"
+msgstr "Pocket knife"
+
+#: ../../ms2/ms2_r1.c:780
+msgid "Hey, da ist sogar eine S„ge dran."
+msgstr "Hey, there's even a saw on it."
+
+#: ../../ms2/ms2_r1.c:781
+msgid "20 Xa"
+msgstr "20 Xa"
+
+#: ../../ms2/ms2_r1.c:782
+msgid "Discman"
+msgstr "Discman"
+
+#: ../../ms2/ms2_r1.c:782
+msgid "Da ist noch die \"Mad Monkeys\"-CD drin."
+msgstr "The \"Mad Monkeys\" CD is still in there."
+
+#: ../../ms2/ms2_r1.c:783
+msgid "Mit dem Ding sollst du dich|an der Wand festhalten."
+msgstr "You should hold onto the wall|using that thing."
+
+#: ../../ms2/ms2_r1.c:785
+msgid "Spezialkeycard"
+msgstr "Special keycard"
+
+#: ../../ms2/ms2_r1.c:785
+msgid "Damit sollst du die|Tren knacken k”nnen."
+msgstr "With that you should be able to crack the doors."
+
+#: ../../ms2/ms2_r1.c:786
+msgid "Alarmknacker"
+msgstr "Alarm cracker"
+
+#: ../../ms2/ms2_r1.c:786
+msgid "Ein kleines Ger„t, um|die Alarmanlage auszuschalten."
+msgstr "A small device|to turn off the alarm."
+
+#: ../../ms2/ms2_r1.c:788
+msgid "Karte"
+msgstr "Keycard"
+
+#: ../../ms2/ms2_r1.c:795
+msgid "Raumschiff"
+msgstr "Spaceship"
+
+#: ../../ms2/ms2_r1.c:795
+msgid "Damit bist du hierhergekommen."
+msgstr "You came here with it."
+
+#: ../../ms2/ms2_r1.c:796
+msgid "Fahrzeuge"
+msgstr "Vehicles"
+
+#: ../../ms2/ms2_r1.c:796
+msgid "Du kannst von hier aus nicht erkennen,|was das fr Fahrzeuge sind."
+msgstr "You cannot tell from here|what those vehicles are."
+
+#: ../../ms2/ms2_r1.c:803 ../../ms2/ms2_r1.c:804
+msgid "Fahrzeug"
+msgstr "Vehicle"
+
+#: ../../ms2/ms2_r1.c:803 ../../ms2/ms2_r1.c:804
+msgid "Es scheint ein Taxi zu sein."
+msgstr "It seems to be a taxi."
+
+#: ../../ms2/ms2_r1.c:805
+msgid "Komisch, er ist verschlossen."
+msgstr "Funny, it is closed."
+
+#: ../../ms2/ms2_r1.c:806
+msgid "Portemonnaie"
+msgstr "Wallet"
+
+#: ../../ms2/ms2_r1.c:806
+msgid "Das muá ein Axacussaner|hier verloren haben."
+msgstr "This must have been|lost by an Axacussan."
+
+#: ../../ms2/ms2_r1.c:807
+msgid "Ger„t"
+msgstr "Device"
+
+#: ../../ms2/ms2_r1.c:807
+msgid "Auf dem Ger„t steht: \"Taxi-Call\".|Es ist ein kleiner Knopf daran."
+msgstr "The device says \"Taxi Call.\"|There is a small button on it."
+
+#: ../../ms2/ms2_r1.c:808
+msgid "Ausweis"
+msgstr "ID card"
+
+#: ../../ms2/ms2_r1.c:808
+msgid "Auf dem Ausweis steht:| Berta Tschell| Axacuss City| 115AY2,96A,32"
+msgstr "On the card it reads: | Berta Tschell | Axacuss City | 115AY2,96A,32"
+
+#: ../../ms2/ms2_r1.c:817
+msgid "Treppe"
+msgstr "Staircase"
+
+#: ../../ms2/ms2_r1.c:817
+msgid "Sie fhrt zu den Gesch„ften."
+msgstr "It leads to the shops."
+
+#: ../../ms2/ms2_r1.c:818
+msgid "Gesch„ftsstraáe im Hintergrund"
+msgstr "Business street in the background"
+
+#: ../../ms2/ms2_r1.c:818
+msgid "Die Straáe scheint kein Ende zu haben."
+msgstr "The road seems to have no end."
+
+#: ../../ms2/ms2_r1.c:819 ../../ms2/ms2_r1.c:820
+msgid "Stange"
+msgstr "Rod"
+
+#: ../../ms2/ms2_r1.c:821
+msgid "Pfosten"
+msgstr "Post"
+
+#: ../../ms2/ms2_r1.c:822
+msgid "Gel„nder"
+msgstr "Railing"
+
+#: ../../ms2/ms2_r1.c:829
+msgid "Plakat"
+msgstr "Poster"
+
+#: ../../ms2/ms2_r1.c:829
+msgid ""
+"Musik Pur - Der Musikwettbewerb!|Heute im Kulturpalast|Hauptpreis:|"
+"Fernsehauftritt mit Horst Hummel|Sponsored by Artus GmbH"
+msgstr ""
+"Pure Music - The Music Competition!|Today at the Palace of Culture|Main "
+"Prize:|Television appearance with Horst Hummel|Sponsored by Artus GmbH"
+
+#: ../../ms2/ms2_r1.c:830 ../../ms2/ms2_r1.c:831
+msgid "Kabine"
+msgstr "Cabin"
+
+#: ../../ms2/ms2_r1.c:830
+msgid "Sie ist frei!"
+msgstr "It is free!"
+
+#: ../../ms2/ms2_r1.c:831
+msgid "Sie ist besetzt."
+msgstr "It is occupied."
+
+#: ../../ms2/ms2_r1.c:832
+msgid "Fáe"
+msgstr "Feet"
+
+#: ../../ms2/ms2_r1.c:832
+msgid "Komisch, die|Fáe scheinen|erstarrt zu sein."
+msgstr "Strange, the|feet seem to be frozen."
+
+#: ../../ms2/ms2_r1.c:841
+msgid "Haube"
+msgstr "Hood"
+
+#: ../../ms2/ms2_r1.c:841
+msgid "Sieht aus wie beim Fris”r."
+msgstr "Looks like the hairdresser."
+
+#: ../../ms2/ms2_r1.c:842
+msgid "400 Xa"
+msgstr "400 Xa"
+
+#: ../../ms2/ms2_r1.c:843
+msgid "10 Xa"
+msgstr "10 Xa"
+
+#: ../../ms2/ms2_r1.c:844
+msgid "Darber steht:|\"Geldeinwurf: 10 Xa\"."
+msgstr "It says:|\"Coins: 10 Xa\"."
+
+#: ../../ms2/ms2_r1.c:845
+msgid "Darber steht:|\"Gewinnausgabe / Geldrckgabe\"."
+msgstr "It says:|\"Prize / Money Return\"."
+
+#: ../../ms2/ms2_r1.c:846 ../../ms2/ms2_r2.c:1264
+msgid "Stuhl"
+msgstr "Chair"
+
+#: ../../ms2/ms2_r1.c:846
+msgid "Etwas Entspannung k”nntest du jetzt gebrauchen."
+msgstr "You could use some relaxation right about now."
+
+#: ../../ms2/ms2_r1.c:847 ../../ms2/ms2_r1.c:848
+msgid "Gekritzel"
+msgstr "Scribble"
+
+#: ../../ms2/ms2_r1.c:849 ../../ms2/ms2_r1.c:873
+msgid "Gesicht"
+msgstr "Face"
+
+#: ../../ms2/ms2_r1.c:849
+msgid "Nicht zu fassen! Die|W„nde sind genauso beschmutzt|wie auf der Erde."
+msgstr "Unbelievable! The walls|are just as dirty|as those on Earth."
+
+#: ../../ms2/ms2_r1.c:858
+msgid "Bcher"
+msgstr "Books"
+
+#: ../../ms2/ms2_r1.c:859
+msgid "Lexikon"
+msgstr "Dictionary"
+
+#: ../../ms2/ms2_r1.c:860
+msgid "Pflanze"
+msgstr "Plant"
+
+#: ../../ms2/ms2_r1.c:861
+msgid "Maske"
+msgstr "Mask"
+
+#: ../../ms2/ms2_r1.c:862
+msgid "Schlange"
+msgstr "Snake"
+
+#: ../../ms2/ms2_r1.c:863
+msgid "Becher"
+msgstr "Cup"
+
+#: ../../ms2/ms2_r1.c:864
+msgid "Joystick"
+msgstr "Joystick"
+
+#: ../../ms2/ms2_r1.c:865
+msgid "Eine normale Zahnbrste,|es steht nur \"Artus\" darauf."
+msgstr "An ordinary toothbrush.|It says \"Artus\" on it."
+
+#: ../../ms2/ms2_r1.c:866
+msgid "Musikger„t"
+msgstr "Music device"
+
+#: ../../ms2/ms2_r1.c:866
+msgid ""
+"Ein Ger„t zum Abspielen und|Aufnehmen von Musikchips.|Es ist ein Mikrofon "
+"daran."
+msgstr ""
+"A device for playing and recording music chips.|There is a microphone on it."
+
+#: ../../ms2/ms2_r1.c:867 ../../ms2/ms2_r1.c:868 ../../ms2/ms2_r1.c:869
+#: ../../ms2/ms2_r1.c:870 ../../ms2/ms2_r1.c:871
+msgid "Flasche"
+msgstr "Bottle"
+
+#: ../../ms2/ms2_r1.c:867
+msgid "Auf dem Etikett steht:|\"Enth„lt 10% Hyperalkohol\"."
+msgstr "The label says: \"Contains 10% hyperalcohol\"."
+
+#: ../../ms2/ms2_r1.c:872
+msgid "Kiste"
+msgstr "Box"
+
+#: ../../ms2/ms2_r1.c:874
+msgid "Verk„ufer"
+msgstr "Seller"
+
+#: ../../ms2/ms2_r2.c:36
+msgid "Was? Dafr wollen Sie die Karte haben?"
+msgstr "What? Do you want the card for that?"
+
+#: ../../ms2/ms2_r2.c:37
+msgid "Sie sind wohl nicht ganz ber|die aktuellen Preise informiert!"
+msgstr "You are probably not completely|informed about the current prices!"
+
+#: ../../ms2/ms2_r2.c:47
+msgid "Ich bin's, Horst Hummel!"
+msgstr "It's me, Horst Hummel!"
+
+#: ../../ms2/ms2_r2.c:48
+msgid "Sch”nes Wetter heute!"
+msgstr "Nice weather today!"
+
+#: ../../ms2/ms2_r2.c:49
+msgid ""
+"K”nnen Sie mir sagen, von wem ich eine Eintrittskarte fr den "
+"Musikwettbewerb kriegen kann?"
+msgstr "Can you tell me who can get me a ticket for the music contest?"
+
+#: ../../ms2/ms2_r2.c:55
+msgid "Ok, hier haben Sie den Xa."
+msgstr "OK, here is the Xa."
+
+#: ../../ms2/ms2_r2.c:60
+msgid "Ich biete Ihnen 500 Xa."
+msgstr "I offer you 500 Xa."
+
+#: ../../ms2/ms2_r2.c:61
+msgid "Ich biete Ihnen 1000 Xa."
+msgstr "I offer you 1000 Xa."
+
+#: ../../ms2/ms2_r2.c:62
+msgid "Ich biete Ihnen 5000 Xa."
+msgstr "I offer you 5000 Xa."
+
+#: ../../ms2/ms2_r2.c:63
+msgid "Ich biete Ihnen 10000 Xa."
+msgstr "I offer you 10000 Xa."
+
+#: ../../ms2/ms2_r2.c:72
+msgid "Vielen Dank fr Ihren Kauf!"
+msgstr "Thank you for your purchase!"
+
+#: ../../ms2/ms2_r2.c:77
+msgid "Was bieten Sie mir|denn nun fr die Karte?"
+msgstr "What will you offer me|for the card?"
+
+#: ../../ms2/ms2_r2.c:81
+msgid "Hallo, Sie!"
+msgstr "Hello to you!"
+
+#: ../../ms2/ms2_r2.c:83 ../../ms2/ms2_r2.c:719
+msgid "Was wollen Sie?"
+msgstr "What do you want?"
+
+#: ../../ms2/ms2_r2.c:87
+msgid "Wer sind Sie?"
+msgstr "Who are you?"
+
+#: ../../ms2/ms2_r2.c:88
+msgid "Horst Hummel!"
+msgstr "Horst Hummel!"
+
+#: ../../ms2/ms2_r2.c:89
+msgid "Kenne ich nicht."
+msgstr "Never heard of him."
+
+#: ../../ms2/ms2_r2.c:90
+msgid "Was, Sie kennen den berhmten Horst Hummel nicht?"
+msgstr "What, you don't know the famous Horst Hummel?"
+
+#: ../../ms2/ms2_r2.c:91
+msgid "Ich bin doch der, der immer im Fernsehen zu sehen ist."
+msgstr "I'm the guy who is always on TV."
+
+#: ../../ms2/ms2_r2.c:92
+msgid "Ich kenne Sie wirklich nicht."
+msgstr "I really do not know you."
+
+#: ../../ms2/ms2_r2.c:93
+msgid "Komisch."
+msgstr "Funny."
+
+#: ../../ms2/ms2_r2.c:95 ../../ms2/ms2_r2.c:1155
+msgid "Aha."
+msgstr "Aha."
+
+#: ../../ms2/ms2_r2.c:97
+msgid "Ja, kann ich."
+msgstr "Yes, I can."
+
+#: ../../ms2/ms2_r2.c:98
+msgid "Von wem denn?"
+msgstr "From whom?"
+
+#: ../../ms2/ms2_r2.c:99
+msgid "Diese Information kostet einen Xa."
+msgstr "This information costs a Xa."
+
+#: ../../ms2/ms2_r2.c:104
+msgid "Wie Sie meinen."
+msgstr "As you say."
+
+#: ../../ms2/ms2_r2.c:110
+msgid "Sie k”nnen die Karte von MIR bekommen!"
+msgstr "You can get the card from ME!"
+
+#: ../../ms2/ms2_r2.c:111
+msgid "Aber nur eine Teilnahmekarte,|keine Eintrittskarte."
+msgstr "But only a participation ticket,|not an entrance ticket."
+
+#: ../../ms2/ms2_r2.c:112
+msgid "Was wollen Sie dafr haben?"
+msgstr "What do you want for it?"
+
+#: ../../ms2/ms2_r2.c:113
+msgid "Machen Sie ein Angebot!"
+msgstr "Make an offer!"
+
+#: ../../ms2/ms2_r2.c:133
+msgid "Das ist ein gutes Angebot!"
+msgstr "That's a good offer!"
+
+#: ../../ms2/ms2_r2.c:135
+msgid "Dafr gebe ich Ihnen meine|letzte Teilnahmekarte!"
+msgstr "For that I give you my|last participation card!"
+
+#: ../../ms2/ms2_r2.c:140
+msgid "(Dieser Trottel!)"
+msgstr "(That Idiot!)"
+
+#: ../../ms2/ms2_r2.c:190
+msgid "Ich wrde gern beim Musikwettbewerb zuschauen."
+msgstr "I would like to watch the music competition."
+
+#: ../../ms2/ms2_r2.c:191
+msgid "Ich wrde gern am Musikwettbewerb teilnehmen."
+msgstr "I would like to participate in the music competition."
+
+#: ../../ms2/ms2_r2.c:192
+msgid "Wieviel Uhr haben wir?"
+msgstr "What time is it?"
+
+#: ../../ms2/ms2_r2.c:196 ../../ms2/ms2_r2.c:749
+msgid "Ja."
+msgstr "Yes."
+
+#: ../../ms2/ms2_r2.c:197 ../../ms2/ms2_r2.c:379 ../../ms2/ms2_r2.c:391
+#: ../../ms2/ms2_r2.c:697
+msgid "Nein."
+msgstr "No."
+
+#: ../../ms2/ms2_r2.c:201
+msgid "Hallo, Leute!"
+msgstr "Hi guys!"
+
+#: ../../ms2/ms2_r2.c:202
+msgid "Hi, Fans!"
+msgstr "Hi, fans!"
+
+#: ../../ms2/ms2_r2.c:203
+msgid "Gute Nacht!"
+msgstr "Good night!"
+
+#: ../../ms2/ms2_r2.c:207
+msgid "Žh, wie geht es euch?"
+msgstr "Uh, how are you?"
+
+#: ../../ms2/ms2_r2.c:208
+msgid "Sch”nes Wetter heute."
+msgstr "Nice weather today."
+
+#: ../../ms2/ms2_r2.c:212
+msgid "Hmm ..."
+msgstr "Hmm ..."
+
+#: ../../ms2/ms2_r2.c:213
+msgid "Tja ..."
+msgstr "Well ..."
+
+#: ../../ms2/ms2_r2.c:214
+msgid "Also ..."
+msgstr "So ..."
+
+#: ../../ms2/ms2_r2.c:218
+msgid "Ok, los gehts!"
+msgstr "OK let's go!"
+
+#: ../../ms2/ms2_r2.c:219
+msgid "Ich klimper mal was auf dem Keyboard hier."
+msgstr "I'll fix something on the keyboard here."
+
+#: ../../ms2/ms2_r2.c:234
+msgid "Halt, sie sind doch schon drangewesen!"
+msgstr "Stop, you have already been on it!"
+
+#: ../../ms2/ms2_r2.c:240
+msgid "He, Sie! Haben Sie|eine Eintrittskarte?"
+msgstr "Hey, you! Do you have|a ticket?"
+
+#: ../../ms2/ms2_r2.c:244
+msgid "Ja natrlich, hier ist meine Teilnahmekarte."
+msgstr "Yes of course, here is my participation ticket."
+
+#: ../../ms2/ms2_r2.c:245
+msgid ""
+"Sie sind Teilnehmer! Fragen|Sie bitte an der Kasse nach,|wann Sie auftreten "
+"k”nnen."
+msgstr ""
+"You are a participant!|Please ask at the checkout|when you can go on stage."
+
+#: ../../ms2/ms2_r2.c:247
+msgid "Žh, nein."
+msgstr "Uh, no."
+
+#: ../../ms2/ms2_r2.c:252
+msgid "He, wo ist Ihr Musikchip?"
+msgstr "Hey, where's your music chip?"
+
+#: ../../ms2/ms2_r2.c:267
+msgid "Laber nicht!"
+msgstr "Stop talking!"
+
+#: ../../ms2/ms2_r2.c:270
+msgid "Fang an!"
+msgstr "Get started!"
+
+#: ../../ms2/ms2_r2.c:273
+msgid "Einen Moment, ich muá erstmal berlegen, was ich|euch spiele."
+msgstr "One moment, I have to think about what I'm playing for you."
+
+#: ../../ms2/ms2_r2.c:275
+msgid "Anfangen!!!"
+msgstr "Begin!!!"
+
+#: ../../ms2/ms2_r2.c:278
+msgid "Nun denn ..."
+msgstr "Well then ..."
+
+#: ../../ms2/ms2_r2.c:279
+msgid "Raus!"
+msgstr "Out!"
+
+#: ../../ms2/ms2_r2.c:291 ../../ms2/ms2_r2.c:306
+msgid "Buh!"
+msgstr "Boo!"
+
+#: ../../ms2/ms2_r2.c:298
+msgid "Aufh”ren!"
+msgstr "Stop!"
+
+#: ../../ms2/ms2_r2.c:309
+msgid "Hilfe!"
+msgstr "Help!"
+
+#: ../../ms2/ms2_r2.c:312
+msgid "Ich verziehe mich lieber."
+msgstr "I'd prefer to get lost."
+
+#: ../../ms2/ms2_r2.c:317
+msgid "Mist, auf dem Chip war|gar keine Musik drauf."
+msgstr "Damn, there was no music on the chip at all."
+
+#: ../../ms2/ms2_r2.c:319
+msgid "Das ging ja voll daneben!"
+msgstr "That went completely wrong!"
+
+#: ../../ms2/ms2_r2.c:327
+msgid "Du n„herst dich der Bhne,|aber dir wird mulmig zumute."
+msgstr "You approach the stage,|but you feel queasy."
+
+#: ../../ms2/ms2_r2.c:330
+msgid ""
+"Du traust dich nicht, vor|so vielen Menschen aufzutreten|und kehrst wieder "
+"um."
+msgstr "You do not dare to appear|in front of so many people|and turn around."
+
+#: ../../ms2/ms2_r2.c:347
+msgid "Oh, Sie sind Teilnehmer!|Dann sind Sie aber sp„t dran."
+msgstr "Oh, you are a participant!|But you are late."
+
+#: ../../ms2/ms2_r2.c:348
+msgid "Spielen Sie die Musik live?"
+msgstr "Do you play the music live?"
+
+#: ../../ms2/ms2_r2.c:351
+msgid ""
+"Dann geben Sie bitte Ihren Musikchip ab!|Er wird bei Ihrem Auftritt "
+"abgespielt."
+msgstr ""
+"Then please submit your music chip!|It will be played during your "
+"performance."
+
+#: ../../ms2/ms2_r2.c:357
+msgid ""
+"Oh, Sie sind sofort an der Reihe!|Beeilen Sie sich! Der Bhneneingang|ist "
+"hinter dem Haupteingang rechts."
+msgstr ""
+"Oh, it's your turn!|Hurry! The stage entrance|is to the right behind the "
+"main entrance."
+
+#: ../../ms2/ms2_r2.c:367
+msgid "Habe ich noch einen zweiten Versuch?"
+msgstr "Can I have another try?"
+
+#: ../../ms2/ms2_r2.c:368
+msgid "Nein!"
+msgstr "No!"
+
+#: ../../ms2/ms2_r2.c:378
+msgid "Haben Sie schon eine Eintrittskarte?"
+msgstr "Do you already have a ticket?"
+
+#: ../../ms2/ms2_r2.c:380
+msgid "Tut mir leid, die Karten|sind schon alle ausverkauft."
+msgstr "I'm sorry, the tickets|are already sold out."
+
+#: ../../ms2/ms2_r2.c:381
+msgid "Mist!"
+msgstr "Crap!"
+
+#: ../../ms2/ms2_r2.c:383
+msgid "Haben Sie schon eine Teilnahmekarte?"
+msgstr "Do you already have a participation ticket?"
+
+#: ../../ms2/ms2_r2.c:386
+msgid "Ja, hier ist sie."
+msgstr "Yes, here it is."
+
+#: ../../ms2/ms2_r2.c:392
+msgid "Tut mir leid, die Teilnahmekarten|sind schon alle ausverkauft."
+msgstr "I'm sorry, the participation tickets|are already sold out."
+
+#: ../../ms2/ms2_r2.c:393
+msgid "Scheiáe!"
+msgstr "Crap!"
+
+#: ../../ms2/ms2_r2.c:396
+msgid "Das kann ich Ihnen|leider nicht sagen."
+msgstr "I can not tell you that."
+
+#: ../../ms2/ms2_r2.c:401
+msgid "Wo ist denn nun Ihr Musikchip?"
+msgstr "Where is your music chip?"
+
+#: ../../ms2/ms2_r2.c:403
+msgid "Jetzt beeilen Sie sich doch!"
+msgstr "Now hurry up!"
+
+#: ../../ms2/ms2_r2.c:416
+msgid ""
+"Huch, Sie sind hier bei einem Musik-,|nicht bei einem Imitationswettbewerb"
+msgstr "Huh, you're here at a music contest,|not at an imitation contest"
+
+#: ../../ms2/ms2_r2.c:417
+msgid "Imitationswettbewerb?|Ich will niemanden imitieren."
+msgstr "Imitation contest?|I do not want to imitate anyone."
+
+#: ../../ms2/ms2_r2.c:418
+msgid "Guter Witz, wieso sehen Sie|dann aus wie Horst Hummel?"
+msgstr "Good joke. Then why do you look like Horst Hummel?"
+
+#: ../../ms2/ms2_r2.c:420
+msgid ""
+"Na, nun h”ren Sie auf! So perfekt ist|ihre Verkleidung auch wieder nicht."
+msgstr "Oh come on! Your disguise isn't that perfect."
+
+#: ../../ms2/ms2_r2.c:421
+msgid ""
+"Ich werde Ihnen beweisen, daá ich Horst Hummel bin,|indem ich diesen "
+"Wettbewerb hier gewinne."
+msgstr "I will prove to you that I am Horst Hummel|by winning this competition."
+
+#: ../../ms2/ms2_r2.c:422
+msgid "Dann kann ich in dieser verdammten Fernsehshow|auftreten."
+msgstr "Then I can perform in this|damn TV show."
+
+#: ../../ms2/ms2_r2.c:447
+msgid ""
+"Du hampelst ein biáchen zu|der Musik vom Chip herum.|Die Leute sind "
+"begeistert!"
+msgstr ""
+"You're rocking a little bit|to the music from the chip.|The audience is "
+"excited!"
+
+#: ../../ms2/ms2_r2.c:484
+msgid "Guten Abend. Diesmal haben wir|einen besonderen Gast bei uns."
+msgstr "Good evening. This time we have|a special guest with us."
+
+#: ../../ms2/ms2_r2.c:485
+msgid ""
+"Es ist der Gewinner des gestrigen|Musikwettbewerbs im Kulturpalast,|der dort "
+"vor allem durch seine|Verkleidung aufgefallen war."
+msgstr ""
+"He is the winner of yesterday's music competition in the Palace of Culture.|"
+"He was particularly noteworthy|because of his disguise."
+
+#: ../../ms2/ms2_r2.c:489
+msgid "Sie haben das Wort!"
+msgstr "You have the floor!"
+
+#: ../../ms2/ms2_r2.c:490
+msgid "Nun ja, meine erste Frage lautet: ..."
+msgstr "Well, my first question is ..."
+
+#: ../../ms2/ms2_r2.c:491
+msgid ""
+"Warum haben Sie sich sofort nach|Ihrer Landung entschlossen, fr|die Artus-"
+"GmbH zu arbeiten?"
+msgstr ""
+"Why did you decide immediately|after your arrival to work for|Artus GmbH?"
+
+#: ../../ms2/ms2_r2.c:492
+msgid ""
+"Es war meine freie Entscheidung.|Die Artus-GmbH hat mir einfach gefallen."
+msgstr "It was a decision I made on my own.|I just decided I liked Artus-GmbH."
+
+#: ../../ms2/ms2_r2.c:493
+msgid ""
+"Wieso betonen Sie, daá es|Ihre freie Entscheidung war?|Haben Sie Angst, daá "
+"man Ihnen|nicht glaubt?"
+msgstr ""
+"Why do you stress that|it was your own decision?|Are you afraid that nobody "
+"will believe you otherwise?"
+
+#: ../../ms2/ms2_r2.c:494
+msgid "Also, ich muá doch sehr bitten!|Was soll diese unsinnige Frage?"
+msgstr "How dare you!|What is with this nonsensical question?"
+
+#: ../../ms2/ms2_r2.c:495
+msgid ""
+"Ich finde die Frage wichtig.|Nun, Herr Hummel, was haben|Sie dazu zu sagen?"
+msgstr ""
+"I think the question is important.|Well, Mr. Hummel, what do you have to say?"
+
+#: ../../ms2/ms2_r2.c:505
+msgid "Auf solch eine Frage brauche|ich nicht zu antworten!"
+msgstr "I don't feel that I have|to answer such a question!"
+
+#: ../../ms2/ms2_r2.c:506
+msgid "Gut, dann etwas anderes ..."
+msgstr "Alright, something else then ..."
+
+#: ../../ms2/ms2_r2.c:507
+msgid ""
+"Sie sind von Beruf Koch.|Wie hieá das Restaurant,|in dem Sie auf der Erde|"
+"gearbeitet haben?"
+msgstr ""
+"You are a chef by profession.|What was the name of the restaurant|where you "
+"worked|on Earth?"
+
+#: ../../ms2/ms2_r2.c:508
+msgid "Hmm, daá weiá ich nicht mehr."
+msgstr "Hmm, I do not remember that."
+
+#: ../../ms2/ms2_r2.c:509
+msgid ""
+"Sie wollen mir doch nicht weismachen,|daá Sie den Namen vergessen haben!"
+msgstr "Do you really expect me to believe you cannot remember the name?"
+
+#: ../../ms2/ms2_r2.c:510
+msgid "Schlieálich haben Sie|zehn Jahre dort gearbeitet!"
+msgstr "After all, you worked there for ten years!"
+
+#: ../../ms2/ms2_r2.c:511
+msgid "Woher wollen Sie das wissen?"
+msgstr "How do you know that?"
+
+#: ../../ms2/ms2_r2.c:512
+msgid "Nun, ich komme von der Erde,|im Gegensatz zu Ihnen!"
+msgstr "Well, I come from Earth,|unlike you!"
+
+#: ../../ms2/ms2_r2.c:522
+msgid "Langsam gehen Sie zu weit!"
+msgstr "Now you've gone too far!"
+
+#: ../../ms2/ms2_r2.c:523
+msgid ""
+"Sie sind ein Roboter!|Das merkt man schon an|Ihrer dummen Antwort!|Sie sind "
+"nicht optimal|programmiert!"
+msgstr ""
+"You are a robot!|It is obvious from|your stupid answer!|You are not even "
+"programmed|correctly!"
+
+#: ../../ms2/ms2_r2.c:533
+msgid ""
+"Wenn Sie jetzt nicht mit Ihren|Beleidigungen aufh”ren, muá ich|Ihnen das "
+"Mikrofon abschalten!"
+msgstr ""
+"If you do not stop right now|with your insults, I will have|to turn off the "
+"microphone!"
+
+#: ../../ms2/ms2_r2.c:534
+msgid "Ich bin der echte Horst Hummel,|und hier ist der Beweis!"
+msgstr "I am the real Horst Hummel,|and here is the proof!"
+
+#: ../../ms2/ms2_r2.c:558
+msgid ""
+"Am n„chsten Morgen sind alle|Zeitungen voll mit deiner spektakul„ren|"
+"Enthllung des Schwindels."
+msgstr ""
+"The next morning, all the papers|are full of your spectacular|revelation of "
+"fraud."
+
+#: ../../ms2/ms2_r2.c:561
+msgid ""
+"Die Manager der Artus-GmbH und Commander|Sumoti wurden sofort verhaftet."
+msgstr ""
+"The managers of Artus-GmbH and Commander|Sumoti were arrested immediately."
+
+#: ../../ms2/ms2_r2.c:564
+msgid ""
+"Nach dem Streá der letzten Tage,|entscheidest du dich, auf die|Erde "
+"zurckzukehren."
+msgstr "After these stressful last few days|you decide to return to Earth."
+
+#: ../../ms2/ms2_r2.c:567
+msgid "W„hrend du dich vor Interviews|kaum noch retten kannst, ..."
+msgstr "While you can barely save|yourself from interviews, ..."
+
+#: ../../ms2/ms2_r2.c:570
+msgid ""
+"... arbeiten die Axacussanischen|Techniker an einem Raumschiff,|das dich zur "
+"Erde zurckbringen soll."
+msgstr ""
+"... the Axacussan|technicians are working on a spaceship|to bring you back "
+"to Earth."
+
+#: ../../ms2/ms2_r2.c:573
+msgid "Eine Woche sp„ter ist der|Tag des Starts gekommen."
+msgstr "One week later, the day of the launch has arrived."
+
+#: ../../ms2/ms2_r2.c:603
+msgid ""
+"Zum dritten Mal in deinem|Leben verbringst du eine lange|Zeit im Tiefschlaf."
+msgstr "For the third time in your life,|you spend a long time|in deep sleep."
+
+#: ../../ms2/ms2_r2.c:606
+msgid "Zehn Jahre sp„ter ..."
+msgstr "Ten years later ..."
+
+#: ../../ms2/ms2_r2.c:609
+msgid ""
+"Du wachst auf und beginnst,|dich schwach an deine|Erlebnisse zu erinnern."
+msgstr "You wake up and begin|to faintly remember|your experiences."
+
+#: ../../ms2/ms2_r2.c:612
+msgid "Um dich herum ist alles dunkel."
+msgstr "Everything is dark around you."
+
+#: ../../ms2/ms2_r2.c:670 ../../ms2/ms2_r2.c:900
+#, c-format
+msgid "Sie zeigt %d an."
+msgstr "It displays %d."
+
+#: ../../ms2/ms2_r2.c:680
+msgid "Ich interessiere mich fr den Job, bei dem man ber Nacht"
+msgstr "I'm interested in the job where you can get"
+
+#: ../../ms2/ms2_r2.c:681
+msgid "reich werden kann."
+msgstr "rich overnight."
+
+#: ../../ms2/ms2_r2.c:682
+msgid "Ich verkaufe frische Tomaten."
+msgstr "I sell fresh tomatoes."
+
+#: ../../ms2/ms2_r2.c:683
+msgid "Ich bin der Klempner. Ich soll hier ein Rohr reparieren."
+msgstr "I am the plumber. I'm supposed to fix a pipe here."
+
+#: ../../ms2/ms2_r2.c:688
+msgid "Ja, h”rt sich gut an."
+msgstr "Yes, it sounds good."
+
+#: ../../ms2/ms2_r2.c:689
+msgid "Krumme Gesch„fte? Fr wen halten Sie mich? Auf Wiedersehen!"
+msgstr "Crooked business? Who do you think I am? Goodbye!"
+
+#: ../../ms2/ms2_r2.c:693
+msgid "Žh - k”nnten Sie mir das Ganze nochmal erkl„ren?"
+msgstr "Uh - could you explain that to me again?"
+
+#: ../../ms2/ms2_r2.c:694
+msgid "Wie groá ist mein Anteil?"
+msgstr "How big is my share?"
+
+#: ../../ms2/ms2_r2.c:695
+msgid ""
+"Machen Sie es immer so, daá Sie Ihre Komplizen ber ein Graffitti anwerben?"
+msgstr "Do you always use graffiti to recruit your accomplices?"
+
+#: ../../ms2/ms2_r2.c:722
+msgid "Hmm, Moment mal, ich frage den Boss."
+msgstr "Hmm wait, I will ask the boss."
+
+#: ../../ms2/ms2_r2.c:728
+msgid "Kurze Zeit sp„ter ..."
+msgstr "A short while later ..."
+
+#: ../../ms2/ms2_r2.c:736
+msgid "Ok, der Boss will dich sprechen."
+msgstr "OK, the boss wants to talk to you."
+
+#: ../../ms2/ms2_r2.c:742
+msgid "Du betrittst die Wohnung und|wirst zu einem Tisch gefhrt."
+msgstr "You enter the apartment and are led to a table."
+
+#: ../../ms2/ms2_r2.c:748
+msgid "Hmm, du willst dir also|etwas Geld verdienen?"
+msgstr "Hmm, so you want to earn some money?"
+
+#: ../../ms2/ms2_r2.c:750
+msgid "Nun ja, wir planen|einen n„chtlichen Besuch|eines bekannten Museums."
+msgstr "Well, we're planning|a nightly visit|to a well-known museum."
+
+#: ../../ms2/ms2_r2.c:751
+msgid "Wie sieht's aus, bist du interessiert?"
+msgstr "So, are you interested?"
+
+#: ../../ms2/ms2_r2.c:754
+msgid "Halt, warte!"
+msgstr "Stop, wait!"
+
+#: ../../ms2/ms2_r2.c:755
+msgid "šberleg's dir, es springen|30000 Xa fr dich raus!"
+msgstr "Think about it, your share would be|30000 Xa!"
+
+#: ../../ms2/ms2_r2.c:756
+msgid "30000?! Ok, ich mache mit."
+msgstr "30000?! Alright, count me in."
+
+#: ../../ms2/ms2_r2.c:758
+msgid "Gut, dann zu den Einzelheiten."
+msgstr "Good, now then to the details."
+
+#: ../../ms2/ms2_r2.c:759
+msgid "Bei dem Museum handelt es|sich um das Orzeng-Museum."
+msgstr "The museum in question is|the Orzeng Museum."
+
+#: ../../ms2/ms2_r2.c:760
+msgid "Es enth„lt die wertvollsten|Dinosaurierfunde von ganz Axacuss."
+msgstr "It contains the most valuable|dinosaur discoveries of Axacuss."
+
+#: ../../ms2/ms2_r2.c:761
+msgid "Wir haben es auf das Sodo-Skelett|abgesehen. Es ist weltberhmt."
+msgstr "We're aiming to get the Sodo skeleton.|It is world-famous."
+
+#: ../../ms2/ms2_r2.c:762
+msgid "Alle bekannten Pal„ontologen haben|sich schon damit besch„ftigt."
+msgstr "All known paleontologists|have already dealt with it."
+
+#: ../../ms2/ms2_r2.c:763
+msgid ""
+"Der Grund dafr ist, daá es allen|bis jetzt bekannten Erkenntnissen|šber die "
+"Evolution widerspricht."
+msgstr ""
+"The reason for this is that it contradicts all known|knowledge about "
+"evolution."
+
+#: ../../ms2/ms2_r2.c:764
+msgid ""
+"Irgendein verrckter Forscher|bietet uns 200.000 Xa,|wenn wir ihm das Ding "
+"beschaffen."
+msgstr ""
+"Some crazy researcher|will give us 200,000 Xa|if we retrieve that thing for "
+"him."
+
+#: ../../ms2/ms2_r2.c:765
+msgid "So, jetzt zu deiner Aufgabe:"
+msgstr "So, now to your task:"
+
+#: ../../ms2/ms2_r2.c:767
+msgid "Du dringst durch den Nebeneingang|in das Geb„ude ein."
+msgstr "You enter the building through|the side entrance."
+
+#: ../../ms2/ms2_r2.c:768
+msgid ""
+"Dort schaltest du die Alarmanlage aus,|durch die das Sodo-Skelett gesichert "
+"wird."
+msgstr "There you switch off the alarm system,|which secures the Sodo skeleton."
+
+#: ../../ms2/ms2_r2.c:769
+msgid "Wir betreten einen anderen Geb„udeteil|und holen uns das Gerippe."
+msgstr "We'll enter another part of the building|and fetch the skeleton."
+
+#: ../../ms2/ms2_r2.c:770
+msgid "Deine Aufgabe ist nicht leicht.|Schau dir diesen Plan an."
+msgstr "Your task is not easy.|Look at this plan."
+
+#: ../../ms2/ms2_r2.c:775
+msgid ""
+"Unten siehst du die kleine Abstellkammer,|durch die du in die "
+"Austellungsr„ume kommst."
+msgstr ""
+"Below you can see the small storage room,|through which you come to the "
+"showrooms."
+
+#: ../../ms2/ms2_r2.c:776
+msgid "Bei der mit Y gekennzeichneten|Stelle ist die Alarmanlage."
+msgstr "The alarm system is at the location marked Y."
+
+#: ../../ms2/ms2_r2.c:777
+msgid ""
+"Bei dem X steht ein groáer Dinosaurier|mit einem wertvollen Sch„del.|Den "
+"Sch„del nimmst du mit."
+msgstr ""
+"The X marks the spot with a big dinosaur|with a valuable skull.|You will "
+"take the skull with you."
+
+#: ../../ms2/ms2_r2.c:778
+msgid "Nun zu den Problemen:"
+msgstr "Now for the problems:"
+
+#: ../../ms2/ms2_r2.c:779
+msgid "Die weiá gekennzeichneten|Tren sind verschlossen."
+msgstr "The marked white doors|are locked."
+
+#: ../../ms2/ms2_r2.c:780
+msgid ""
+"Sie mssen mit einer Spezialkeycard ge”ffnet|werden, was jedoch einige Zeit "
+"dauert."
+msgstr "They have to be opened with a special keycard,|which can take a while."
+
+#: ../../ms2/ms2_r2.c:781
+msgid ""
+"Auáerdem gibt es in den auf der Karte|farbigen R„umen einen Druck-Alarm."
+msgstr ""
+"In addition, there are pressure alarms|in the rooms which are colored on the "
+"map."
+
+#: ../../ms2/ms2_r2.c:782
+msgid ""
+"Du darfst dich dort nicht l„nger|als 16 bzw. 8 Sekunden aufhalten,|sonst "
+"wird Alarm ausgel”st."
+msgstr ""
+"You can not stay there longer than|16 or 8 seconds,|or the alarm will go off."
+
+#: ../../ms2/ms2_r2.c:783
+msgid "Im Raum oben rechts ist|eine Kamera installiert."
+msgstr "In the room at the top right|there is a camera installed."
+
+#: ../../ms2/ms2_r2.c:784
+msgid ""
+"Diese wird jedoch nur von|der 21. bis zur 40. Sekunde|einer Minute berwacht."
+msgstr ""
+"However, it is only monitored|between the 21st and the 40th second|of every "
+"minute."
+
+#: ../../ms2/ms2_r2.c:785
+msgid "Das gr”áte Problem ist der W„chter."
+msgstr "The biggest problem is the guard."
+
+#: ../../ms2/ms2_r2.c:786
+msgid ""
+"Er braucht fr seine Runde genau|eine Minute, ist also ungef„hr|zehn "
+"Sekunden in einem Raum."
+msgstr ""
+"He needs exactly one minute for his round,|so he is in each room|for about "
+"ten seconds."
+
+#: ../../ms2/ms2_r2.c:787
+msgid ""
+"Du mátest seine Schritte h”ren k”nnen,|wenn du in der Abstellkammer bist|"
+"und der W„chter dort vorbeikommt."
+msgstr ""
+"You should be able to hear his footsteps|if you are in the closet|and the "
+"guard passes by."
+
+#: ../../ms2/ms2_r2.c:788
+msgid ""
+"Wenn du es bis zur Alarmanlage|geschafft hast, h„ngst du dich|mit dem Sauger "
+"an die Wand,|damit du keinen Druck-Alarm ausl”st."
+msgstr ""
+"If you make it to the alarm system,|you'll use the sucker to hang on the "
+"wall|to avoid triggering the pressure alarm."
+
+#: ../../ms2/ms2_r2.c:789
+msgid "Die Alarmanlage schaltest du|mit einem speziellen Ger„t aus."
+msgstr "You switch off the alarm system|with a special device."
+
+#: ../../ms2/ms2_r2.c:790
+msgid ""
+"Wenn du das geschafft hast, nichts|wie raus! Aber keine Panik,|du darfst "
+"keinen Alarm ausl”sen."
+msgstr ""
+"Once you're done, get out of there!|But do not panic!|You must not set off "
+"the alarm."
+
+#: ../../ms2/ms2_r2.c:795
+msgid "So, noch irgendwelche Fragen?"
+msgstr "So, any more questions?"
+
+#: ../../ms2/ms2_r2.c:801
+msgid "Also gut."
+msgstr "All right then."
+
+#: ../../ms2/ms2_r2.c:803
+msgid "Du bekommst 30000 Xa."
+msgstr "You get 30,000 Xa."
+
+#: ../../ms2/ms2_r2.c:805
+msgid "Ja, die Methode hat sich bew„hrt."
+msgstr "Yes, that method has proven itself worthy."
+
+#: ../../ms2/ms2_r2.c:808
+msgid "Hast du sonst noch Fragen?"
+msgstr "Do you have any questions?"
+
+#: ../../ms2/ms2_r2.c:811
+msgid "Nachdem wir alles gekl„rt|haben, kann es ja losgehen!"
+msgstr "Now that we are on the same page we can get started!"
+
+#: ../../ms2/ms2_r2.c:816
+msgid "Zur vereinbarten Zeit ..."
+msgstr "At the agreed upon time ..."
+
+#: ../../ms2/ms2_r2.c:834
+msgid ""
+"Du stehst vor dem Orzeng Museum,|w„hrend die Gangster schon in einen|anderen "
+"Geb„uderteil eingedrungen sind."
+msgstr ""
+"You stand in front of the Orzeng Museum,|while the gangsters have already "
+"penetrated|into another part of the building."
+
+#: ../../ms2/ms2_r2.c:837
+msgid ""
+"Wichtiger Hinweis:|Hier ist die letzte M”glichkeit,|vor dem Einbruch "
+"abzuspeichern."
+msgstr ""
+"Important note:|Here is the last possibility to save|before the break-in."
+
+#: ../../ms2/ms2_r2.c:840
+msgid "Wenn Sie das Museum betreten haben,|k”nnen Sie nicht mehr speichern!"
+msgstr "Once you enter the museum|you will not be able to save!"
+
+#: ../../ms2/ms2_r2.c:848
+msgid "Stecken Sie sich Ihre|Tomaten an den Hut!"
+msgstr "You can keep your tomatoes!"
+
+#: ../../ms2/ms2_r2.c:855
+msgid "Das kann ja jeder sagen!"
+msgstr "Anyone can say that!"
+
+#: ../../ms2/ms2_r2.c:865
+msgid "Niemand ”ffnet."
+msgstr "Nobody answers."
+
+#: ../../ms2/ms2_r2.c:870
+msgid "Welche Zahl willst du eingeben: "
+msgstr "What number do you want to enter: "
+
+#: ../../ms2/ms2_r2.c:882 ../../ms2/ms2_r2.c:886
+msgid "Falsche Eingabe"
+msgstr "Invalid input"
+
+#: ../../ms2/ms2_r2.c:896
+msgid "Der Aufzug bewegt sich."
+msgstr "The elevator is moving."
+
+#: ../../ms2/ms2_r2.c:914
+msgid "Die Karte wird|nicht angenommen."
+msgstr "The card|is not accepted."
+
+#: ../../ms2/ms2_r2.c:927
+msgid "Da ist nichts mehr."
+msgstr "There is nothing left."
+
+#: ../../ms2/ms2_r2.c:930
+msgid "Da ist ein Schlssel unter dem Bett!"
+msgstr "There's a key under the bed!"
+
+#: ../../ms2/ms2_r2.c:936
+msgid ""
+"Hey, da ist etwas unter dem|Bett. Nach dem Ger„usch zu|urteilen, ist es aus "
+"Metall."
+msgstr ""
+"Hey, there is something under the|bed. Judging by the noise,|it is made of "
+"metal."
+
+#: ../../ms2/ms2_r2.c:939
+msgid "Mist, es gelingt dir nicht,|den Gegenstand hervorzuholen."
+msgstr "Damn, you do not succeed in getting the object out."
+
+#: ../../ms2/ms2_r2.c:945
+msgid "Die Klappe ist schon offen."
+msgstr "The flap is already open."
+
+#: ../../ms2/ms2_r2.c:979
+msgid "Der Schlsssel paát nicht."
+msgstr "The key does not fit."
+
+#: ../../ms2/ms2_r2.c:983
+msgid ""
+"Du steckst den Chip in die|Anlage, aber es passiert nichts.|Die Anlage "
+"scheint kaputt zu sein."
+msgstr ""
+"You put the chip in the stereo,|but nothing happens.|The stereo seems to be "
+"broken."
+
+#: ../../ms2/ms2_r2.c:987
+msgid "Es passiert nichts. Das Ding|scheint kaputt zu sein."
+msgstr "Nothing happens. The thing|seems to be broken."
+
+#: ../../ms2/ms2_r2.c:998
+msgid "Hochspannung ist ungesund, wie du aus|Teil 1 eigentlich wissen mátest!"
+msgstr "High voltage is unhealthy, as you|should already know|from Part 1!"
+
+#: ../../ms2/ms2_r2.c:1034
+msgid "Es h„ngt ein Kabel heraus."
+msgstr "A cable hangs out."
+
+#: ../../ms2/ms2_r2.c:1035
+msgid "Irgendetwas hat hier|nicht ganz funktioniert."
+msgstr "Something did not|quite work out here."
+
+#: ../../ms2/ms2_r2.c:1059
+msgid "Du ziehst den Raumanzug an."
+msgstr "You put on your space suit."
+
+#: ../../ms2/ms2_r2.c:1061
+msgid "Du ziehst den Raumanzug aus."
+msgstr "You take off your space suit."
+
+#: ../../ms2/ms2_r2.c:1069 ../../ms2/ms2_r2.c:1099
+msgid "Das ist schon verbunden."
+msgstr "That is already connected."
+
+#: ../../ms2/ms2_r2.c:1129
+msgid "Die Leitung ist hier|schon ganz richtig."
+msgstr "The cable is already|at the right place."
+
+#: ../../ms2/ms2_r2.c:1137
+msgid "Roger W.! Wie kommen Sie denn hierher?"
+msgstr "Roger W.! How did you get here?"
+
+#: ../../ms2/ms2_r2.c:1140
+msgid "Ach, sieh mal einer an! Sie schon wieder!"
+msgstr "Oh, look at that! It's you again!"
+
+#: ../../ms2/ms2_r2.c:1141
+msgid "Wo haben Sie denn|Ihr Schiff gelassen?"
+msgstr "Where did you|leave your ship?"
+
+#: ../../ms2/ms2_r2.c:1144
+msgid "Schauen Sie mal hinter mich auf|den Turm! Da oben h„ngt es."
+msgstr "Take a look behind me, up on|the tower! It's up there."
+
+#: ../../ms2/ms2_r2.c:1145
+msgid ""
+"Ich hatte es scheinbar etwas zu|eilig, aber ich muáte unbedingt|zu den "
+"Dreharbeiten nach Xenon!"
+msgstr ""
+"Apparently I was too much in a hurry,|but I had to be at the film shooting "
+"in Xenon!"
+
+#: ../../ms2/ms2_r2.c:1146
+msgid "Mich wundert, daá es die Leute|hier so gelassen nehmen."
+msgstr "I am surprised that people|here take things so calmly."
+
+#: ../../ms2/ms2_r2.c:1147
+msgid ""
+"Die tun gerade so, als ob der Turm|schon immer so schr„g gestanden h„tte!"
+msgstr "They are pretending that the tower|has always been that slanted!"
+
+#: ../../ms2/ms2_r2.c:1148
+msgid "Hat er auch, schon seit|mehreren Jahrhunderten!"
+msgstr "It has, for|several centuries, actually!"
+
+#: ../../ms2/ms2_r2.c:1151
+msgid ""
+"Žh ... ach so. Und von wo|kommen Sie? Sie hatten's ja|wohl auch ziemlich "
+"eilig."
+msgstr ""
+"Uh ... I see. And where are you coming from? It seems you were in quite a "
+"hurry as well."
+
+#: ../../ms2/ms2_r2.c:1152
+msgid "Ich komme von Axacuss."
+msgstr "I come from Axacuss."
+
+#: ../../ms2/ms2_r2.c:1156
+msgid "Hmm, was mach ich jetzt bloá?"
+msgstr "Hmm, what am I going to do now?"
+
+#: ../../ms2/ms2_r2.c:1157
+msgid ""
+"Ich kenne ein gutes Cafe nicht|weit von hier, da k”nnen|wir uns erstmal "
+"erholen."
+msgstr "I know a good cafe not far from here,|where we can get some rest."
+
+#: ../../ms2/ms2_r2.c:1160
+msgid "Ok, einverstanden."
+msgstr "OK, I agree."
+
+#: ../../ms2/ms2_r2.c:1204
+msgid "Faszinierend!"
+msgstr "Fascinating!"
+
+#: ../../ms2/ms2_r2.c:1205
+msgid "Taxis"
+msgstr "Taxis"
+
+#: ../../ms2/ms2_r2.c:1205
+msgid "Hier ist ja richtig was los!"
+msgstr "There seems to be something really going on here!"
+
+#: ../../ms2/ms2_r2.c:1206
+msgid "Axacussaner"
+msgstr "Axacussan"
+
+#: ../../ms2/ms2_r2.c:1207
+msgid "Teilnahmekarte"
+msgstr "Participation card"
+
+#: ../../ms2/ms2_r2.c:1216
+msgid "Axacussanerin"
+msgstr "Axacussian"
+
+#: ../../ms2/ms2_r2.c:1223
+msgid "Darauf steht:|\"115AY2,96A\""
+msgstr "It reads:|\"115AY2,96A\""
+
+#: ../../ms2/ms2_r2.c:1224
+msgid "Darauf steht:|\"115AY2,96B\""
+msgstr "It reads:|\"115AY2,96B\""
+
+#: ../../ms2/ms2_r2.c:1233
+msgid "Darauf steht:|\"341,105A\""
+msgstr "It reads:|\"341,105A\""
+
+#: ../../ms2/ms2_r2.c:1234
+msgid "Darauf steht:|\"341,105B\""
+msgstr "It reads:|\"341,105B\""
+
+#: ../../ms2/ms2_r2.c:1244
+msgid "Klingel"
+msgstr "Bell"
+
+#: ../../ms2/ms2_r2.c:1245
+msgid "Anzeige"
+msgstr "Display"
+
+#: ../../ms2/ms2_r2.c:1246
+msgid "Tastenblock"
+msgstr "Keypad"
+
+#: ../../ms2/ms2_r2.c:1246
+msgid "Es sind Tasten von 0 bis 9 darauf."
+msgstr "There are keys from 0 to 9 on it."
+
+#: ../../ms2/ms2_r2.c:1255
+msgid "Chip"
+msgstr "Chip"
+
+#: ../../ms2/ms2_r2.c:1255
+msgid "Es ist ein Musikchip!"
+msgstr "It's a music chip!"
+
+#: ../../ms2/ms2_r2.c:1256
+msgid "Klappe"
+msgstr "Hatch"
+
+#: ../../ms2/ms2_r2.c:1256
+msgid "Sie ist mit einem altmodischen|Schloá verschlossen."
+msgstr "It is secured with an old-fashioned lock."
+
+#: ../../ms2/ms2_r2.c:1258
+msgid "Musikanlage"
+msgstr "Music system"
+
+#: ../../ms2/ms2_r2.c:1258
+msgid "Toll, eine in die Wand|integrierte Stereoanlage."
+msgstr "Great, a built-in stereo|in the wall."
+
+#: ../../ms2/ms2_r2.c:1259
+msgid "Boxen"
+msgstr "Speakers"
+
+#: ../../ms2/ms2_r2.c:1259
+msgid "Ganz normale Boxen."
+msgstr "Ordinary speakers."
+
+#: ../../ms2/ms2_r2.c:1260
+msgid "Stifte"
+msgstr "Pencils"
+
+#: ../../ms2/ms2_r2.c:1260
+msgid "Ganz normale Stifte."
+msgstr "Ordinary pencils."
+
+#: ../../ms2/ms2_r2.c:1261
+msgid "Metallkl”tzchen"
+msgstr "Metal blocks"
+
+#: ../../ms2/ms2_r2.c:1261
+msgid "Es ist magnetisch."
+msgstr "It is magnetic."
+
+#: ../../ms2/ms2_r2.c:1262
+msgid "Bild"
+msgstr "Image"
+
+#: ../../ms2/ms2_r2.c:1262
+msgid "Ein ungew”hnliches Bild."
+msgstr "An unusual picture."
+
+#: ../../ms2/ms2_r2.c:1263
+msgid "Schrank"
+msgstr "Cabinet"
+
+#: ../../ms2/ms2_r2.c:1263
+msgid "Er ist verschlossen"
+msgstr "It is closed"
+
+#: ../../ms2/ms2_r2.c:1265
+msgid "Aufzug"
+msgstr "Elevator"
+
+#: ../../ms2/ms2_r2.c:1266
+msgid "unter Bett"
+msgstr "under bed"
+
+#: ../../ms2/ms2_r2.c:1266
+msgid ""
+"Unter dem Bett sind bestimmt wichtige|Dinge zu finden, nur kommst du nicht "
+"darunter.|Du br„uchtest einen Stock oder so etwas."
+msgstr ""
+"Under the bed are certainly important|things to find, only you cannot reach "
+"underneath.|You need a stick or something."
+
+#: ../../ms2/ms2_r2.c:1267
+msgid "Schlssel"
+msgstr "Key"
+
+#: ../../ms2/ms2_r2.c:1267
+msgid "Ein kleiner Metallschlssel."
+msgstr "A small metal key."
+
+#: ../../ms2/ms2_r2.c:1274 ../../ms2/ms2_r2.c:1277
+msgid "Schalter"
+msgstr "Switch"
+
+#: ../../ms2/ms2_r2.c:1275
+msgid "Griff"
+msgstr "Handle"
+
+#: ../../ms2/ms2_r2.c:1276
+msgid "Luke"
+msgstr "Hatch"
+
+#: ../../ms2/ms2_r2.c:1278
+msgid "Raumanzug"
+msgstr "Space suit"
+
+#: ../../ms2/ms2_r2.c:1278
+msgid "Ein zusammenfaltbarer Raumanzug."
+msgstr "A collapsible spacesuit."
+
+#: ../../ms2/ms2_r2.c:1279 ../../ms2/ms2_r2.c:1280
+msgid "Leitung"
+msgstr "Cable"
+
+#: ../../ms2/ms2_r2.c:1279
+msgid "Irgendetwas scheint hier|kaputtgegangen zu sein."
+msgstr "Something seems to|have broken here."
+
+#: ../../ms2/ms2_r2.c:1280
+msgid "Sie h„ngt lose von der Decke runter."
+msgstr "It hangs loose from the ceiling."
+
+#: ../../ms2/ms2_s.c:85
+msgid ""
+"Zur Erinnerung:|Dir ist es gelungen, aus den|Artus-Geheimbros zu fliehen."
+msgstr "Reminder:|You managed to escape from the|Artus-GmbH secret offices."
+
+#: ../../ms2/ms2_s.c:88
+msgid ""
+"Nun befindest du dich in|einem Passagierraumschiff,|das nach Axacuss City "
+"fliegt."
+msgstr "Now you are in a passenger|spaceship that|flies to Axacuss City."
+
+#: ../../ms2/ms2_s.c:91
+msgid ""
+"W„hrend des Fluges schaust du dir|das axacussanische Fernsehprogramm an.|Du "
+"stӇt auf etwas Interessantes ..."
+msgstr ""
+"During the flight, you watch the|Axacussan TV program.|You come across "
+"something interesting ..."
+
+#: ../../ms2/ms2_s.c:119
+msgid "Herzlich willkommen!"
+msgstr "Welcome!"
+
+#: ../../ms2/ms2_s.c:123
+msgid ""
+"Heute zu Gast ist Alga Lorch.|Sie wird Fragen an den Erdling|Horst Hummel "
+"stellen."
+msgstr ""
+"Alga Lorch will be present today.|She will ask questions to the Earthling|"
+"Horst Hummel."
+
+#: ../../ms2/ms2_s.c:127
+msgid "Horst wird alle Fragen|beantworten, soweit es|ihm m”glich ist."
+msgstr "Horst will answer all|questions as fully|as possible."
+
+#: ../../ms2/ms2_s.c:128
+msgid "Sie haben das Wort, Frau Lorch!"
+msgstr "You have the floor, Mrs Lorch!"
+
+#: ../../ms2/ms2_s.c:134
+msgid "Herr Hummel, hier ist meine erste Frage: ..."
+msgstr "Mr. Hummel, here is my first question: ..."
+
+#: ../../ms2/ms2_s.c:135
+msgid ""
+"Sie sind nun ein berhmter Mann auf Axacuss.|Aber sicher vermissen Sie auch "
+"Ihren Heimatplaneten."
+msgstr ""
+"You are now a famous man on Axacuss.|But surely you miss your home planet."
+
+#: ../../ms2/ms2_s.c:136
+msgid ""
+"Wenn Sie w„hlen k”nnten, wrden Sie lieber|ein normales Leben auf der Erde "
+"fhren,|oder finden Sie das Leben hier gut?"
+msgstr ""
+"If you could choose, would you prefer|to lead a normal life on Earth,|or do "
+"you find life here good?"
+
+#: ../../ms2/ms2_s.c:137
+msgid ""
+"Ehrlich gesagt finde ich es sch”n,|berhmt zu sein. Das Leben ist|"
+"aufregender als auf der Erde."
+msgstr ""
+"Honestly, I think it's nice to be|famous. Life is more exciting here|than on "
+"Earth."
+
+#: ../../ms2/ms2_s.c:138
+msgid "Auáerdem sind die Leute von der|Artus GmbH hervorragende Freunde."
+msgstr "In addition, the people of|Artus GmbH are excellent friends."
+
+#: ../../ms2/ms2_s.c:139
+msgid ""
+"Nun ja, planen Sie denn trotzdem,|irgendwann auf die Erde zurckzukehren?"
+msgstr "Well, are you still planning|to return to Earth someday?"
+
+#: ../../ms2/ms2_s.c:140
+msgid "Das kann ich Ihnen zum jetzigen|Zeitpunkt noch nicht genau sagen."
+msgstr "At this point in time,|I haven't made up my mind, yet."
+
+#: ../../ms2/ms2_s.c:141
+msgid "Aber ich versichere Ihnen, ich|werde noch eine Weile hierbleiben."
+msgstr "But I assure you,|I will stay here for a while."
+
+#: ../../ms2/ms2_s.c:142
+msgid ""
+"Aha, mich interessiert auáerdem,|ob es hier auf Axacuss etwas gibt,|das Sie "
+"besonders m”gen."
+msgstr ""
+"I see. I'm also interested in|whether there's anything here on Axacuss that "
+"you particularly like."
+
+#: ../../ms2/ms2_s.c:152
+msgid ""
+"Oh mir gef„llt der ganze Planet,|aber das Beste hier sind die|hervorragenden "
+"Artus-Zahnbrsten!"
+msgstr ""
+"Oh I like the whole planet,|but the best thing here are the|extraordinary "
+"Artus toothbrushes!"
+
+#: ../../ms2/ms2_s.c:153
+msgid "Zahnbrsten von solcher Qualit„t|gab es auf der Erde nicht."
+msgstr "Toothbrushes of such quality|do not exist on Earth."
+
+#: ../../ms2/ms2_s.c:154
+msgid "Žh, ach so."
+msgstr "Um, I see."
+
+#: ../../ms2/ms2_s.c:160
+msgid "Pl”tzlich lenkt dich eine|Lautsprecherstimme vom Fernseher ab."
+msgstr "Suddenly, a speaker's voice|distracts you from the television."
+
+#: ../../ms2/ms2_s.c:163
+msgid ""
+"\"Sehr geehrte Damen und Herren,|wir sind soeben auf dem Flughafen|von "
+"Axacuss City gelandet.\""
+msgstr ""
+"\"Ladies and Gentlemen,|We just landed at the airport|at Axacuss City.\""
+
+#: ../../ms2/ms2_s.c:166
+msgid ""
+"\"Ich hoffe, Sie hatten einen angenehmen Flug.|Bitte verlassen Sie das "
+"Raumschiff! Auf Wiedersehen!\""
+msgstr "\"I hope you had a nice flight.|Please leave the spaceship! Goodbye!\""
+
+#: ../../ms2/ms2_s.c:186
+msgid ""
+"W„hrend die anderen Passagiere|aussteigen, versuchst du,|den Schock zu "
+"verarbeiten."
+msgstr ""
+"While the other passengers|are disembarking, you are trying|to handle the "
+"shock."
+
+#: ../../ms2/ms2_s.c:189
+msgid ""
+"\"Ich muá beweisen, daá dieser|Roboter der falsche Horst|Hummel ist!\", "
+"denkst du."
+msgstr ""
+"\"I have to prove that this robot|is the wrong Horst|Hummel!\", you think to "
+"yourself."
+
+#: ../../ms2/ms2_s.c:192
+msgid ""
+"\"Diese Mistkerle von der Artus GmbH und|Commander Sumoti mssen entlarvt "
+"werden!\""
+msgstr ""
+"\"These bastards from Artus GmbH and|Commander Sumoti must be unmasked!\""