aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorAlejandro Marzini2010-07-13 04:31:15 +0000
committerAlejandro Marzini2010-07-13 04:31:15 +0000
commit609e08d5dbae3179eddf981abe73d69009432de4 (patch)
treecddbd0a0e69eaa53b85f98f96dc410a307773f08 /common
parent8b6a670391f1b5103e3761d78eef8f41d64cf8cd (diff)
parent03c0faa5d76f547603ee6389cdf958e2a6f0f43d (diff)
downloadscummvm-rg350-609e08d5dbae3179eddf981abe73d69009432de4.tar.gz
scummvm-rg350-609e08d5dbae3179eddf981abe73d69009432de4.tar.bz2
scummvm-rg350-609e08d5dbae3179eddf981abe73d69009432de4.zip
Merged from trunk, from Rev 49499 to HEAD
svn-id: r50840
Diffstat (limited to 'common')
-rw-r--r--common/config-file.cpp2
-rw-r--r--common/error.cpp30
-rw-r--r--common/error.h2
-rw-r--r--common/events.h9
-rw-r--r--common/file.cpp4
-rw-r--r--common/macresman.cpp10
-rw-r--r--common/messages.cpp2063
-rw-r--r--common/module.mk1
-rw-r--r--common/savefile.h4
-rw-r--r--common/str.cpp12
-rw-r--r--common/str.h3
-rw-r--r--common/stream.cpp27
-rw-r--r--common/stream.h2
-rw-r--r--common/system.h4
-rw-r--r--common/textconsole.cpp9
-rw-r--r--common/translation.cpp217
-rw-r--r--common/translation.h145
-rw-r--r--common/unzip.cpp49
-rw-r--r--common/unzip.h4
-rw-r--r--common/util.cpp156
-rw-r--r--common/util.h21
21 files changed, 2659 insertions, 115 deletions
diff --git a/common/config-file.cpp b/common/config-file.cpp
index cc55ebd6c7..d001a66c9e 100644
--- a/common/config-file.cpp
+++ b/common/config-file.cpp
@@ -125,7 +125,7 @@ bool ConfigFile::loadFromStream(SeekableReadStream &stream) {
if (*p == '\0')
error("ConfigFile::loadFromStream: missing ] in line %d", lineno);
else if (*p != ']')
- error("ConfigFile::loadFromStream: Invalid character '%c' occured in section name in line %d", *p, lineno);
+ error("ConfigFile::loadFromStream: Invalid character '%c' occurred in section name in line %d", *p, lineno);
// Previous section is finished now, store it.
if (!section.name.empty())
diff --git a/common/error.cpp b/common/error.cpp
index d51774fd3e..6d1e349287 100644
--- a/common/error.cpp
+++ b/common/error.cpp
@@ -26,6 +26,8 @@
#include "common/error.h"
#include "common/util.h"
+#include "common/translation.h"
+
namespace Common {
/**
@@ -38,24 +40,24 @@ struct ErrorMessage {
};
static const ErrorMessage _errMsgTable[] = {
- { kInvalidPathError, "Invalid Path" },
- { kNoGameDataFoundError, "Game Data not found" },
- { kUnsupportedGameidError, "Game Id not supported" },
- { kUnsupportedColorMode, "Unsupported Color Mode" },
+ { kInvalidPathError, _s("Invalid Path") },
+ { kNoGameDataFoundError, _s("Game Data not found") },
+ { kUnsupportedGameidError, _s("Game Id not supported") },
+ { kUnsupportedColorMode, _s("Unsupported Color Mode") },
- { kReadPermissionDenied, "Read permission denied" },
- { kWritePermissionDenied, "Write permission denied" },
+ { kReadPermissionDenied, _s("Read permission denied") },
+ { kWritePermissionDenied, _s("Write permission denied") },
// The following three overlap a bit with kInvalidPathError and each other. Which to keep?
- { kPathDoesNotExist, "Path not exists" },
- { kPathNotDirectory, "Path not a directory" },
- { kPathNotFile, "Path not a file" },
+ { kPathDoesNotExist, _s("Path not exists") },
+ { kPathNotDirectory, _s("Path not a directory") },
+ { kPathNotFile, _s("Path not a file") },
- { kCreatingFileFailed, "Cannot create file" },
- { kReadingFailed, "Reading failed" },
- { kWritingFailed, "Writing data failed" },
+ { kCreatingFileFailed, _s("Cannot create file") },
+ { kReadingFailed, _s("Reading failed") },
+ { kWritingFailed, _s("Writing data failed") },
- { kUnknownError, "Unknown Error" }
+ { kUnknownError, _s("Unknown Error") }
};
const char *errorToString(Error error) {
@@ -66,7 +68,7 @@ const char *errorToString(Error error) {
}
}
- return "Unknown Error";
+ return _("Unknown Error");
}
} // End of namespace Common
diff --git a/common/error.h b/common/error.h
index 7aff8d40b9..58343114a2 100644
--- a/common/error.h
+++ b/common/error.h
@@ -44,7 +44,7 @@ namespace Common {
* kPathInvalid, kPathIsInvalid, kInvalidPathError
*/
enum Error {
- kNoError = 0, ///< No error occured
+ kNoError = 0, ///< No error occurred
kInvalidPathError, ///< Engine initialization: Invalid game path was passed
kNoGameDataFoundError, ///< Engine initialization: No game data was found in the specified location
kUnsupportedGameidError, ///< Engine initialization: Gameid not supported by this (Meta)Engine
diff --git a/common/events.h b/common/events.h
index 24c9a23728..3c4f6e8d1c 100644
--- a/common/events.h
+++ b/common/events.h
@@ -201,13 +201,14 @@ public:
* Notifies the observer of an incoming event.
*
* An observer is supposed to eat the event, with returning true, when
- * it might want prevent other observers from preventing to receive
- * the event. An usage example here is the keymapper:
+ * it wants to prevent other observers from receiving the event.
+ * An usage example here is the keymapper:
* If it processes an Event, it should 'eat' it and create a new
* event, which the EventDispatcher will then catch.
*
- * @param event the event, which is incoming.
- * @return true if this observer uses this event, false otherwise.
+ * @param event the event, which is incoming.
+ * @return true if the event should not be passed to other observers,
+ * false otherwise.
*/
virtual bool notifyEvent(const Event &event) = 0;
};
diff --git a/common/file.cpp b/common/file.cpp
index 6291aa8855..dec0f2a953 100644
--- a/common/file.cpp
+++ b/common/file.cpp
@@ -51,11 +51,11 @@ bool File::open(const String &filename, Archive &archive) {
SeekableReadStream *stream = 0;
if ((stream = archive.createReadStreamForMember(filename))) {
- debug(3, "Opening hashed: %s", filename.c_str());
+ debug(8, "Opening hashed: %s", filename.c_str());
} else if ((stream = archive.createReadStreamForMember(filename + "."))) {
// WORKAROUND: Bug #1458388: "SIMON1: Game Detection fails"
// sometimes instead of "GAMEPC" we get "GAMEPC." (note trailing dot)
- debug(3, "Opening hashed: %s.", filename.c_str());
+ debug(8, "Opening hashed: %s.", filename.c_str());
}
return open(stream, filename);
diff --git a/common/macresman.cpp b/common/macresman.cpp
index 6a6a818083..df7351d55a 100644
--- a/common/macresman.cpp
+++ b/common/macresman.cpp
@@ -525,12 +525,10 @@ void MacResManager::convertCrsrCursor(byte *data, int datasize, byte **cursor, i
int i, b;
byte imageByte;
byte *iconData;
- int numBytes;
int pixelsPerByte, bpp;
int ctSize;
byte bitmask;
int iconRowBytes, iconBounds[4];
- int ignored;
int iconDataSize;
dis.readUint16BE(); // type
@@ -616,21 +614,19 @@ void MacResManager::convertCrsrCursor(byte *data, int datasize, byte **cursor, i
dis.readUint16BE(); // colorID[c]
palette[0][c * 4 + 0] = dis.readByte();
- ignored = dis.readByte();
+ dis.readByte();
palette[0][c * 4 + 1] = dis.readByte();
- ignored = dis.readByte();
+ dis.readByte();
palette[0][c * 4 + 2] = dis.readByte();
- ignored = dis.readByte();
+ dis.readByte();
palette[0][c * 4 + 3] = 0;
}
*palSize = ctSize;
- numBytes = (iconBounds[2] - iconBounds[0]) * (iconBounds[3] - iconBounds[1]);
-
pixelsPerByte = (iconBounds[2] - iconBounds[0]) / iconRowBytes;
bpp = 8 / pixelsPerByte;
diff --git a/common/messages.cpp b/common/messages.cpp
new file mode 100644
index 0000000000..fe87b5f642
--- /dev/null
+++ b/common/messages.cpp
@@ -0,0 +1,2063 @@
+// generated by po2c 1.0.2-scummvm - Do not modify
+
+static const char * const _messageIds[] = {
+ /* 0 */ "",
+ /* 1 */ " Are you sure you want to quit ? ",
+ /* 2 */ " (Active)",
+ /* 3 */ " (Game)",
+ /* 4 */ " (Global)",
+ /* 5 */ "(built on %s)",
+ /* 6 */ ", error while mounting the share",
+ /* 7 */ ", share not mounted",
+ /* 8 */ "... progress ...",
+ /* 9 */ "11kHz",
+ /* 10 */ "22 kHz",
+ /* 11 */ "44 kHz",
+ /* 12 */ "48 kHz",
+ /* 13 */ "8 kHz",
+ /* 14 */ "<default>",
+ /* 15 */ "About ScummVM",
+ /* 16 */ "AdLib Emulator",
+ /* 17 */ "AdLib emulator:",
+ /* 18 */ "AdLib is used for music in many games",
+ /* 19 */ "Add Game...",
+ /* 20 */ "Antialiased Renderer (16bpp)",
+ /* 21 */ "Aspect ratio correction",
+ /* 22 */ "Associated key : %s",
+ /* 23 */ "Associated key : none",
+ /* 24 */ "Audio",
+ /* 25 */ "Autosave:",
+ /* 26 */ "Available engines:",
+ /* 27 */ "A~b~out...",
+ /* 28 */ "Bind Keys",
+ /* 29 */ "Both",
+ /* 30 */ "Brightness:",
+ /* 31 */ "Cancel",
+ /* 32 */ "Cannot create file",
+ /* 33 */ "Change game options",
+ /* 34 */ "Change global ScummVM options",
+ /* 35 */ "Check if you want to use your real hardware Roland-compatible sound device connected to your computer",
+ /* 36 */ "Choose",
+ /* 37 */ "Choose an action to map",
+ /* 38 */ "Clear value",
+ /* 39 */ "Close",
+ /* 40 */ "Correct aspect ratio for 320x200 games",
+ /* 41 */ "Could not find any engine capable of running the selected game",
+ /* 42 */ "Current video mode:",
+ /* 43 */ "Cursor Down",
+ /* 44 */ "Cursor Left",
+ /* 45 */ "Cursor Right",
+ /* 46 */ "Cursor Up",
+ /* 47 */ "DOSBox OPL emulator",
+ /* 48 */ "DVD",
+ /* 49 */ "DVD Mounted successfully",
+ /* 50 */ "DVD not mounted",
+ /* 51 */ "Date: ",
+ /* 52 */ "Debugger",
+ /* 53 */ "Default",
+ /* 54 */ "Delete",
+ /* 55 */ "Disable power off",
+ /* 56 */ "Disabled GFX",
+ /* 57 */ "Discovered %d new games ...",
+ /* 58 */ "Discovered %d new games.",
+ /* 59 */ "Display ",
+ /* 60 */ "Display keyboard",
+ /* 61 */ "Do you really want to delete this savegame?",
+ /* 62 */ "Do you really want to remove this game configuration?",
+ /* 63 */ "Do you really want to run the mass game detector? This could potentially add a huge number of games.",
+ /* 64 */ "Do you want to load or save the game?",
+ /* 65 */ "Do you want to perform an automatic scan ?",
+ /* 66 */ "Do you want to quit ?",
+ /* 67 */ "Double-strike",
+ /* 68 */ "Down",
+ /* 69 */ "Enable Roland GS Mode",
+ /* 70 */ "Engine does not support debug level '%s'",
+ /* 71 */ "English",
+ /* 72 */ "Error running game:",
+ /* 73 */ "Error while mounting the DVD",
+ /* 74 */ "Extra Path:",
+ /* 75 */ "FM Towns Emulator",
+ /* 76 */ "Fast mode",
+ /* 77 */ "Features compiled in:",
+ /* 78 */ "Free look",
+ /* 79 */ "Full title of the game",
+ /* 80 */ "Fullscreen mode",
+ /* 81 */ "GC Pad acceleration:",
+ /* 82 */ "GC Pad sensitivity:",
+ /* 83 */ "GFX",
+ /* 84 */ "GM Device:",
+ /* 85 */ "GUI Language:",
+ /* 86 */ "GUI Renderer:",
+ /* 87 */ "Game",
+ /* 88 */ "Game Data not found",
+ /* 89 */ "Game Id not supported",
+ /* 90 */ "Game Path:",
+ /* 91 */ "Global menu",
+ /* 92 */ "Go to previous directory level",
+ /* 93 */ "Go up",
+ /* 94 */ "Graphics",
+ /* 95 */ "Graphics mode:",
+ /* 96 */ "Hardware scale (fast, but low quality)",
+ /* 97 */ "Hercules Amber",
+ /* 98 */ "Hercules Green",
+ /* 99 */ "Hide Toolbar",
+ /* 100 */ "High quality audio (slower) (reboot)",
+ /* 101 */ "Higher value specifies better sound quality but may be not supported by your soundcard",
+ /* 102 */ "Hold Shift for Mass Add",
+ /* 103 */ "Horizontal underscan:",
+ /* 104 */ "IBM PCjr Emulator",
+ /* 105 */ "ID:",
+ /* 106 */ "Init network",
+ /* 107 */ "Initial top screen scale:",
+ /* 108 */ "Initialising MT-32 Emulator",
+ /* 109 */ "Initialising network",
+ /* 110 */ "Input",
+ /* 111 */ "Invalid Path",
+ /* 112 */ "Key mapper",
+ /* 113 */ "Keyboard",
+ /* 114 */ "Keymap:",
+ /* 115 */ "Keys",
+ /* 116 */ "Language of ScummVM GUI",
+ /* 117 */ "Language of the game. This will not turn your Spanish game version into English",
+ /* 118 */ "Language:",
+ /* 119 */ "Left",
+ /* 120 */ "Left Click",
+ /* 121 */ "Load",
+ /* 122 */ "Load game:",
+ /* 123 */ "Load savegame for selected game",
+ /* 124 */ "MAME OPL emulator",
+ /* 125 */ "MIDI",
+ /* 126 */ "MIDI gain:",
+ /* 127 */ "MT-32 Device:",
+ /* 128 */ "MT-32 Emulator",
+ /* 129 */ "Main screen scaling:",
+ /* 130 */ "Map",
+ /* 131 */ "Mass Add...",
+ /* 132 */ "Menu",
+ /* 133 */ "Misc",
+ /* 134 */ "Mixed AdLib/MIDI mode",
+ /* 135 */ "Mount DVD",
+ /* 136 */ "Mount SMB",
+ /* 137 */ "Mouse click",
+ /* 138 */ "Multi Function",
+ /* 139 */ "Music Device:",
+ /* 140 */ "Music volume:",
+ /* 141 */ "Mute All",
+ /* 142 */ "Name:",
+ /* 143 */ "Network down",
+ /* 144 */ "Network not initialsed (%d)",
+ /* 145 */ "Network up",
+ /* 146 */ "Network up, share mounted",
+ /* 147 */ "Never",
+ /* 148 */ "No",
+ /* 149 */ "No date saved",
+ /* 150 */ "No music",
+ /* 151 */ "No playtime saved",
+ /* 152 */ "No time saved",
+ /* 153 */ "None",
+ /* 154 */ "Normal (no scaling)",
+ /* 155 */ "OK",
+ /* 156 */ "Output rate:",
+ /* 157 */ "Override global MIDI settings",
+ /* 158 */ "Override global audio settings",
+ /* 159 */ "Override global graphic settings",
+ /* 160 */ "Override global volume settings",
+ /* 161 */ "PC Speaker Emulator",
+ /* 162 */ "Password:",
+ /* 163 */ "Path not a directory",
+ /* 164 */ "Path not a file",
+ /* 165 */ "Path not exists",
+ /* 166 */ "Paths",
+ /* 167 */ "Pause",
+ /* 168 */ "Pick the game:",
+ /* 169 */ "Platform the game was originally designed for",
+ /* 170 */ "Platform:",
+ /* 171 */ "Playtime: ",
+ /* 172 */ "Please select an action",
+ /* 173 */ "Plugins Path:",
+ /* 174 */ "Preferred Device:",
+ /* 175 */ "Press the key to associate",
+ /* 176 */ "Quit",
+ /* 177 */ "Quit ScummVM",
+ /* 178 */ "Read permission denied",
+ /* 179 */ "Reading failed",
+ /* 180 */ "Remap keys",
+ /* 181 */ "Remove game from the list. The game data files stay intact",
+ /* 182 */ "Render mode:",
+ /* 183 */ "Right",
+ /* 184 */ "Right Click",
+ /* 185 */ "Right click",
+ /* 186 */ "Rotate",
+ /* 187 */ "SFX volume:",
+ /* 188 */ "SMB",
+ /* 189 */ "Save",
+ /* 190 */ "Save Path:",
+ /* 191 */ "Save Path: ",
+ /* 192 */ "Save game:",
+ /* 193 */ "Scan complete!",
+ /* 194 */ "Scanned %d directories ...",
+ /* 195 */ "ScummVM Main Menu",
+ /* 196 */ "ScummVM could not find any engine capable of running the selected game!",
+ /* 197 */ "ScummVM could not find any game in the specified directory!",
+ /* 198 */ "ScummVM couldn't open the specified directory!",
+ /* 199 */ "Search in game list",
+ /* 200 */ "Search:",
+ /* 201 */ "Select SoundFont",
+ /* 202 */ "Select a Theme",
+ /* 203 */ "Select additional game directory",
+ /* 204 */ "Select an action and click 'Map'",
+ /* 205 */ "Select directory for GUI themes",
+ /* 206 */ "Select directory for extra files",
+ /* 207 */ "Select directory for plugins",
+ /* 208 */ "Select directory for saved games",
+ /* 209 */ "Select directory for savegames",
+ /* 210 */ "Select directory with game data",
+ /* 211 */ "Sensitivity",
+ /* 212 */ "Server:",
+ /* 213 */ "Share:",
+ /* 214 */ "Short game identifier used for referring to savegames and running the game from the command line",
+ /* 215 */ "Show Keyboard",
+ /* 216 */ "Show mouse cursor",
+ /* 217 */ "Show subtitles and play speech",
+ /* 218 */ "Show/Hide Cursor",
+ /* 219 */ "Skip",
+ /* 220 */ "Skip line",
+ /* 221 */ "Skip text",
+ /* 222 */ "Snap to edges",
+ /* 223 */ "Software scale (good quality, but slower)",
+ /* 224 */ "Sound on/off",
+ /* 225 */ "SoundFont is supported by some audio cards, Fluidsynth and Timidity",
+ /* 226 */ "SoundFont:",
+ /* 227 */ "Spch",
+ /* 228 */ "Special dithering modes supported by some games",
+ /* 229 */ "Special sound effects volume",
+ /* 230 */ "Specifies default sound device for General MIDI output",
+ /* 231 */ "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output",
+ /* 232 */ "Specifies output sound device or sound card emulator",
+ /* 233 */ "Specifies path to additional data used by all games or ScummVM",
+ /* 234 */ "Specifies path to additional data used the game",
+ /* 235 */ "Specifies preferred sound device or sound card emulator",
+ /* 236 */ "Specifies where your savegames are put",
+ /* 237 */ "Speech",
+ /* 238 */ "Speech volume:",
+ /* 239 */ "Standard Renderer (16bpp)",
+ /* 240 */ "Start selected game",
+ /* 241 */ "Status:",
+ /* 242 */ "Subs",
+ /* 243 */ "Subtitle speed:",
+ /* 244 */ "Subtitles",
+ /* 245 */ "Swap character",
+ /* 246 */ "Tap for left click, double tap right click",
+ /* 247 */ "Text and Speech:",
+ /* 248 */ "The chosen directory cannot be written to. Please select another one.",
+ /* 249 */ "Theme Path:",
+ /* 250 */ "Theme:",
+ /* 251 */ "This game ID is already taken. Please choose another one.",
+ /* 252 */ "This game does not support loading games from the launcher.",
+ /* 253 */ "Time: ",
+ /* 254 */ "Timeout while initialising network",
+ /* 255 */ "Touch X Offset",
+ /* 256 */ "Touch Y Offset",
+ /* 257 */ "Touchpad mode disabled.",
+ /* 258 */ "Touchpad mode enabled.",
+ /* 259 */ "True Roland MT-32 (disable GM emulation)",
+ /* 260 */ "Turns off General MIDI mapping for games with Roland MT-32 soundtrack",
+ /* 261 */ "Unknown",
+ /* 262 */ "Unknown Error",
+ /* 263 */ "Unmount DVD",
+ /* 264 */ "Unmount SMB",
+ /* 265 */ "Unscaled (you must scroll left and right)",
+ /* 266 */ "Unsupported Color Mode",
+ /* 267 */ "Untitled savestate",
+ /* 268 */ "Up",
+ /* 269 */ "Use both MIDI and AdLib sound generation",
+ /* 270 */ "Use laptop trackpad-style cursor control",
+ /* 271 */ "Username:",
+ /* 272 */ "Using SDL driver ",
+ /* 273 */ "Vertical underscan:",
+ /* 274 */ "Video",
+ /* 275 */ "Virtual keyboard",
+ /* 276 */ "Volume",
+ /* 277 */ "Windows MIDI",
+ /* 278 */ "Write permission denied",
+ /* 279 */ "Writing data failed",
+ /* 280 */ "Yes",
+ /* 281 */ "You have to restart ScummVM to take the effect.",
+ /* 282 */ "Zone",
+ /* 283 */ "Zoom down",
+ /* 284 */ "Zoom up",
+ /* 285 */ "every 10 mins",
+ /* 286 */ "every 15 mins",
+ /* 287 */ "every 30 mins",
+ /* 288 */ "every 5 mins",
+ /* 289 */ "~A~bout",
+ /* 290 */ "~A~dd Game...",
+ /* 291 */ "~C~ancel",
+ /* 292 */ "~C~lose",
+ /* 293 */ "~E~dit Game...",
+ /* 294 */ "~H~elp",
+ /* 295 */ "~I~ndy fight controls",
+ /* 296 */ "~K~eys",
+ /* 297 */ "~L~eft handed mode",
+ /* 298 */ "~L~oad",
+ /* 299 */ "~L~oad...",
+ /* 300 */ "~N~ext",
+ /* 301 */ "~O~K",
+ /* 302 */ "~O~ptions",
+ /* 303 */ "~O~ptions...",
+ /* 304 */ "~P~revious",
+ /* 305 */ "~Q~uit",
+ /* 306 */ "~R~emove Game",
+ /* 307 */ "~R~esume",
+ /* 308 */ "~R~eturn to Launcher",
+ /* 309 */ "~S~ave",
+ /* 310 */ "~S~tart",
+ /* 311 */ "~T~ransitions Enabled",
+ /* 312 */ "~W~ater Effect Enabled",
+ /* 313 */ "~Z~ip Mode Activated",
+ NULL
+};
+
+struct PoMessageEntry {
+ int msgid;
+ const char *msgstr;
+};
+
+static const PoMessageEntry _translation_ru_RU[] = {
+ { 0, "Project-Id-Version: ScummVM VERSION\nReport-Msgid-Bugs-To: scummvm-devel@lists.sf.net\nPOT-Creation-Date: 2010-07-12 17:44+0200\nPO-Revision-Date: 2010-06-13 20:55+0300\nLast-Translator: Eugene Sandulenko <sev@scummvm.org>\nLanguage-Team: Russian\nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=iso-8859-5\nContent-Transfer-Encoding: 8bit\nPlural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" },
+ { 1, " \262\353 \343\322\325\340\325\335\353, \347\342\336 \345\336\342\330\342\325 \322\353\331\342\330? " },
+ { 2, " (\260\332\342\330\322\335\320\357)" },
+ { 3, " (\270\323\340\353)" },
+ { 4, " (\263\333\336\321\320\333\354\335\320\357)" },
+ { 5, "(\341\336\321\340\320\335 %s)" },
+ { 6, ", \336\350\330\321\332\320 \322\336 \322\340\325\334\357 \337\336\324\332\333\356\347\325\335\330\357 \337\320\337\332\330" },
+ { 7, ", \337\320\337\332\320 \335\325 \337\336\324\332\333\356\347\325\335\320" },
+ { 8, "... \330\351\343 ..." },
+ { 9, "11 \332\263\346" },
+ { 10, "22 \332\263\346" },
+ { 11, "44 \332\263\346" },
+ { 12, "48 \332\263\346" },
+ { 13, "8 \332\263\346" },
+ { 14, "<\337\336 \343\334\336\333\347\320\335\330\356>" },
+ { 15, "\276 \337\340\336\323\340\320\334\334\325 ScummVM" },
+ { 16, "\315\334\343\333\357\342\336\340 AdLib" },
+ { 17, "\315\334\343\333\357\342\336\340 AdLib:" },
+ { 18, "\267\322\343\332\336\322\320\357 \332\320\340\342\320 AdLib \330\341\337\336\333\354\327\343\325\342\341\357 \334\335\336\323\330\334\330 \330\323\340\320\334\330" },
+ { 19, "\275\336\322. \330\323\340\320..." },
+ { 20, "\300\320\341\342\325\340\330\327\320\342\336\340 \341\336 \341\323\333\320\326\330\322\320\335\330\325\334 (16bpp)" },
+ { 21, "\272\336\340\340\325\332\346\330\357 \341\336\336\342\335\336\350\325\335\330\357 \341\342\336\340\336\335" },
+ { 22, "\275\320\327\335\320\347\325\335\335\320\357 \332\333\320\322\330\350\320 : %s" },
+ { 23, "\275\320\327\335\320\347\325\335\335\320\357 \332\333\320\322\330\350\320 : \335\325\342" },
+ { 24, "\260\343\324\330\336" },
+ { 25, "\260\322\342\336\341\336\345\340\320\335\325\335\330\325:" },
+ { 26, "\264\336\341\342\343\337\335\353\325 \324\322\330\326\332\330:" },
+ { 27, "\276 \337~\340~\336\323\340\320\334\334\325..." },
+ { 28, "\275\320\327\335\320\347\330\342\354 \332\333\320\322\330\350\330" },
+ { 29, "\262\341\361" },
+ { 30, "\317\340\332\336\341\342\354:" },
+ { 31, "\276\342\334\325\335\320" },
+ { 32, "\275\325 \334\336\323\343 \341\336\327\324\320\342\354 \344\320\331\333" },
+ { 33, "\270\327\334\325\335\330\342\354 \336\337\346\330\330 \330\323\340\353" },
+ { 34, "\270\327\334\325\335\330\342\354 \323\333\336\321\320\333\354\335\353\325 \336\337\346\330\330 ScummVM" },
+ { 35, "\276\342\334\325\342\354\342\325, \325\341\333\330 \343 \322\320\341 \337\336\324\332\333\356\347\325\335\336 Roland-\341\336\322\334\325\341\342\330\334\336\325 \327\322\343\332\336\322\336\325 \343\341\342\340\336\331\341\342\322\336 \330 \322\353 \345\336\342\330\342\325 \325\323\336 \330\341\337\336\333\354\327\336\322\320\342\354" },
+ { 36, "\262\353\321\340\320\342\354" },
+ { 37, "\262\353\321\325\340\330\342\325 \324\325\331\341\342\322\330\325 \324\333\357 \335\320\327\335\320\347\325\335\330\357" },
+ { 38, "\276\347\330\341\342\330\342\354 \327\335\320\347\325\335\330\325" },
+ { 39, "\267\320\332\340\353\342\354" },
+ { 40, "\272\336\340\340\325\332\342\330\340\336\322\320\342\354 \341\336\336\342\335\336\350\325\335\330\325 \341\342\336\340\336\335 \324\333\357 \330\323\340 \341 \340\320\327\340\325\350\325\335\330\325\334 320x200" },
+ { 41, "\275\325 \334\336\323\343 \335\320\331\342\330 \324\322\330\326\336\332 \324\333\357 \327\320\337\343\341\332\320 \322\353\321\340\320\335\335\336\331 \330\323\340\353" },
+ { 42, "\302\325\332\343\351\330\331 \322\330\324\325\336\340\325\326\330\334:" },
+ { 43, "\272\343\340\341\336\340 \322\335\330\327" },
+ { 44, "\272\343\340\341\336\340 \322\333\325\322\336" },
+ { 45, "\272\343\340\341\336\340 \322\337\340\320\322\336" },
+ { 46, "\272\343\340\341\336\340 \322\322\325\340\345" },
+ { 47, "\315\334\343\333\357\342\336\340 DOSBox OPL" },
+ { 48, "DVD" },
+ { 49, "DVD \337\336\324\332\333\356\347\325\335 \343\341\337\325\350\335\336" },
+ { 50, "DVD \335\325 \337\336\324\332\333\356\347\325\335" },
+ { 51, "\264\320\342\320: " },
+ { 52, "\276\342\333\320\324\347\330\332" },
+ { 53, "\277\336 \343\334\336\333\347\320\335\330\356" },
+ { 54, "\303\324\320\333\330\342\354" },
+ { 55, "\267\320\337\340\325\342\330\342\354 \322\353\332\333\356\347\325\335\330\325" },
+ { 56, "\261\325\327 \323\340\320\344\330\332\330" },
+ { 57, "\275\320\331\324\325\335\336 %d \335\336\322\353\345 \330\323\340 ..." },
+ { 58, "\275\320\331\324\325\335\336 %d \335\336\322\353\345 \330\323\340." },
+ { 59, "\277\336\332\320\327\320\342\354 " },
+ { 60, "\277\336\332\320\327\320\342\354 \332\333\320\322\330\320\342\343\340\343" },
+ { 61, "\262\353 \324\325\331\341\342\322\330\342\325\333\354\335\336 \345\336\342\330\342\325 \343\324\320\333\330\342\354 \355\342\336 \341\336\345\340\320\335\325\335\330\325?" },
+ { 62, "\262\353 \324\325\331\341\342\322\330\342\325\333\354\335\336 \345\336\342\330\342\325 \343\324\320\333\330\342\354 \343\341\342\320\335\336\322\332\330 \324\333\357 \355\342\336\331 \330\323\340\353?" },
+ { 63, "\262\353 \324\325\331\341\342\322\330\342\325\333\354\335\336 \345\336\342\330\342\325 \327\320\337\343\341\342\330\342\354 \324\325\342\325\332\342\336\340 \322\341\325\345 \330\323\340? \315\342\336 \337\336\342\325\335\346\330\320\333\354\335\336 \334\336\326\325\342 \324\336\321\320\322\330\342\354 \321\336\333\354\350\336\325 \332\336\333\330\347\325\341\342\322\336 \330\323\340." },
+ { 64, "\262\353 \345\336\342\330\342\325 \327\320\323\340\343\327\330\342\354 \333\330\321\336 \341\336\345\340\320\335\330\342\354 \330\323\340\343?" },
+ { 65, "\262\353 \345\336\342\330\342\325 \337\340\336\330\327\322\325\341\342\330 \320\322\342\336\334\320\342\330\347\325\341\332\330\331 \337\336\330\341\332?" },
+ { 66, "\262\353 \345\336\342\330\342\325 \322\353\331\342\330?" },
+ { 67, "\264\322\336\331\335\336\331 \343\324\320\340" },
+ { 68, "\262\335\330\327" },
+ { 69, "\262\332\333\356\347\330\342\354 \340\325\326\330\334 Roland GS" },
+ { 70, "\264\322\330\326\336\332 \335\325 \337\336\324\324\325\340\326\330\322\320\325\342 \343\340\336\322\325\335\354 \336\342\333\320\324\332\330 '%s'" },
+ { 71, "English" },
+ { 72, "\276\350\330\321\332\320 \327\320\337\343\341\332\320 \330\323\340\353:" },
+ { 73, "\276\350\330\321\332\320 \322\336 \322\340\325\334\357 \337\336\324\332\333\356\347\325\335\330\357 DVD" },
+ { 74, "\264\336\337. \337\343\342\354:" },
+ { 75, "\315\334\343\333\357\342\336\340 FM Towns" },
+ { 76, "\261\353\341\342\340\353\331 \340\325\326\330\334" },
+ { 77, "\262\332\333\356\347\325\335\335\353\325 \322 \321\330\333\324 \336\337\346\330\330:" },
+ { 78, "\301\322\336\321\336\324\335\353\331 \336\321\327\336\340" },
+ { 79, "\277\336\333\335\336\325 \335\320\327\322\320\335\330\325 \330\323\340\353" },
+ { 80, "\277\336\333\335\336\355\332\340\320\335\335\353\331 \340\325\326\330\334" },
+ { 81, "\303\341\332\336\340\325\335\330\325 GC \337\320\324\320:" },
+ { 82, "\307\343\322\341\342\320\330\342\325\333\354\335\336\341\342\354 GC \337\320\324\320:" },
+ { 83, "\263\340\344" },
+ { 84, "\303\341\342\340\336\331\342\341\322\336 GM:" },
+ { 85, "\317\327\353\332 \330\335\342\325\340\344\325\331\341\320:" },
+ { 86, "\300\320\341\342\325\340\330\327\320\342\336\340 GUI:" },
+ { 87, "\270\323\340\320" },
+ { 88, "\275\325\342 \344\320\331\333\336\322 \330\323\340\353" },
+ { 89, "Game Id \335\325 \337\336\324\324\325\340\326\330\322\320\325\342\341\357" },
+ { 90, "\277\343\342\354 \332 \330\323\340\325: " },
+ { 91, "\263\333\336\321\320\333\354\335\336\325 \334\325\335\356" },
+ { 92, "\277\325\340\325\331\342\330 \335\320 \324\330\340\325\332\342\336\340\330\356 \343\340\336\322\335\325\334 \322\353\350\325" },
+ { 93, "\262\322\325\340\345" },
+ { 94, "\263\340\320\344\330\332\320" },
+ { 95, "\263\340\320\344\330\347\325\341\332\330\331 \340\325\326\330\334:" },
+ { 96, "\305\320\340\324\322\320\340\335\336\325 \334\320\341\350\342\320\321\330\340\336\322\320\335\330\325 (\321\353\341\342\340\336, \335\336 \335\330\327\332\336\323\336 \332\320\347\325\341\342\322\320)" },
+ { 97, "Hercules \317\335\342\320\340\335\353\331" },
+ { 98, "Hercules \267\325\333\325\335\353\331" },
+ { 99, "\301\337\340\357\342\320\342\354 \337\320\335\325\333\354 \330\335\341\342\340\343\334\325\335\342\336\322" },
+ { 100, "\262\353\341\336\332\336\325 \332\320\347\325\341\342\322\336 \327\322\343\332\320 (\334\325\324\333\325\335\335\325\325) (\340\325\321\343\342)" },
+ { 101, "\261\276\333\354\350\330\325 \327\335\320\347\325\335\330\357 \327\320\324\320\356\342 \333\343\347\350\325\325 \332\320\347\325\341\342\322\336 \327\322\343\332\320, \336\324\335\320\332\336 \336\335\330 \334\336\323\343\342 \335\325 \337\336\324\324\325\340\326\330\322\320\342\354\341\357 \322\320\350\325\331 \327\322\343\332\336\322\336\331 \332\320\340\342\336\331" },
+ { 102, "\303\324\325\340\326\330\322\320\331\342\325 \332\333\320\322\330\350\343 Shift \324\333\357 \342\336\323\336, \347\342\336\321\353 \324\336\321\320\322\330\342\354 \335\325\341\332\336\333\354\332\336 \330\323\340" },
+ { 103, "\263\336\340\330\327\336\335\342\320\333\354\335\353\331 underscan:" },
+ { 104, "\315\334\343\333\357\342\336\340 IBM PCjr" },
+ { 105, "ID:" },
+ { 106, "\270\335\330\346\330\320\333\330\327\320\346\330\357 \341\325\342\330" },
+ { 107, "\275\320\347\320\333\354\335\353\331 \334\320\341\350\342\320\321 \322\325\340\345\335\325\323\336 \355\332\340\320\335\320:" },
+ { 108, "\275\320\341\342\340\320\330\322\320\356 \355\334\343\333\357\342\336\340 MT-32" },
+ { 109, "\275\320\341\342\340\320\330\322\320\356 \341\325\342\354" },
+ { 110, "\262\322\336\324" },
+ { 111, "\275\325\322\325\340\335\353\331 \337\343\342\354" },
+ { 112, "\275\320\327\335\320\347\325\335\330\325 \332\333\320\322\330\350" },
+ { 113, "\272\333\320\322\330\320\342\343\340\320" },
+ { 114, "\302\320\321\333\330\346\320 \332\333\320\322\330\350:" },
+ { 115, "\272\333\320\322\330\350\330" },
+ { 116, "\317\327\353\332 \323\340\320\344\330\347\325\341\332\336\323\336 \330\335\342\325\340\344\325\331\341\320 ScummVM" },
+ { 117, "\317\327\353\332 \330\323\340\353. \270\327\334\325\335\325\335\330\325 \355\342\336\323\336 \337\320\340\320\334\325\342\340\320 \335\325 \337\340\325\322\340\320\342\330\342 \330\323\340\343 \335\320 \320\335\323\333\330\331\341\332\336\334 \322 \340\343\341\341\332\343\356" },
+ { 118, "\317\327\353\332:" },
+ { 119, "\262\333\325\322\336" },
+ { 120, "\273\325\322\353\331 \351\325\333\347\336\332" },
+ { 121, "\267\320\323\340\343\327\330\342\354" },
+ { 122, "\267\320\323\340\343\327\330\342\354 \330\323\340\343:" },
+ { 123, "\267\320\323\340\343\327\330\342\354 \341\336\345\340\335\325\335\330\325 \324\333\357 \322\353\321\340\320\335\335\336\331 \330\323\340\353" },
+ { 124, "\315\334\343\333\357\342\336\340 MAME OPL:" },
+ { 125, "MIDI" },
+ { 126, "\303\341\330\333\325\335\330\325 MIDI:" },
+ { 127, "\303\341\342\340\336\331\341\342\322\336 MT32:" },
+ { 128, "\315\334\343\333\357\342\336\340 MT-32" },
+ { 129, "\274\320\341\350\342\320\321 \323\333\320\322\335\336\323\336 \355\332\340\320\335\320:" },
+ { 130, "\275\320\327\335\320\347\330\342\354" },
+ { 131, "\264\336\321. \334\335\336\323\336..." },
+ { 132, "\274\325\335\356" },
+ { 133, "\300\320\327\335\336\325" },
+ { 134, "\301\334\325\350\320\335\335\353\331 \340\325\326\330\334 AdLib/MIDI" },
+ { 135, "\277\336\324\332\333\356\347\330\342\354 DVD" },
+ { 136, "\277\336\324\332\333\356\347\330\342\354 SMB" },
+ { 137, "\272\333\330\332 \334\353\350\354\356" },
+ { 138, "\274\343\333\354\342\330\344\343\335\332\346\330\357" },
+ { 139, "\303\341\342\340\336\331\342\341\322\336 GM:" },
+ { 140, "\263\340\336\334\332\336\341\342\354 \334\343\327\353\332\330:" },
+ { 141, "\262\353\332\333\356\347\330\342\354 \322\341\361" },
+ { 142, "\275\320\327\322\320\335\330\325:" },
+ { 143, "\301\325\342\354 \322\353\332\333\356\347\325\335\320" },
+ { 144, "\301\325\342\354 \335\325 \335\320\341\342\340\336\325\335\320 (%d)" },
+ { 145, "\301\325\342\354 \340\320\321\336\342\320\325\342" },
+ { 146, "\301\325\342\354 \340\320\321\336\342\320\325\342, \337\320\337\332\320 \337\336\324\332\333\356\347\325\335\320" },
+ { 147, "\275\330\332\336\323\324\320" },
+ { 148, "\275\325\342" },
+ { 149, "\264\320\342\320 \335\325 \327\320\337\330\341\320\335\320" },
+ { 150, "\261\325\327 \334\343\327\353\332\330" },
+ { 151, "\262\340\325\334\357 \330\323\340\353 \335\325 \327\320\337\330\341\320\335\336" },
+ { 152, "\262\340\325\334\357 \335\325 \327\320\337\330\341\320\335\336" },
+ { 153, "\275\325 \327\320\324\320\335" },
+ { 154, "\261\325\327 \343\322\325\333\330\347\325\335\330\357" },
+ { 155, "OK" },
+ { 156, "\262\353\345\336\324\335\320\357 \347\320\341\342\336\342\320:" },
+ { 157, "\277\325\340\325\332\340\353\342\354 \323\333\336\321\320\333\354\335\353\325 \343\341\342\320\335\336\322\332\330 MIDI" },
+ { 158, "\277\325\340\325\332\340\353\342\354 \323\333\336\321\320\333\354\335\353\325 \343\341\342\320\335\336\322\332\330 \320\343\324\330\336" },
+ { 159, "\277\325\340\325\332\340\353\342\354 \323\333\336\321\320\333\354\335\353\325 \343\341\342\320\335\336\322\332\330 \323\340\320\344\330\332\330" },
+ { 160, "\277\325\340\325\332\340\353\342\354 \323\333\336\321\320\333\354\335\353\325 \343\341\342\320\335\336\322\332\330 \323\340\336\334\332\336\341\342\330" },
+ { 161, "\315\334\343\333\357\342\336\340 PC \341\337\330\332\325\340\320" },
+ { 162, "\277\320\340\336\333\354:" },
+ { 163, "\277\343\342\354 \335\325 \357\322\333\357\325\342\341\357 \324\330\340\325\332\342\336\340\330\325\331" },
+ { 164, "\277\343\342\354 \335\325 \357\322\333\357\325\342\341\357 \344\320\331\333\336\334" },
+ { 165, "\277\343\342\354 \335\325 \335\320\331\324\325\335" },
+ { 166, "\277\343\342\330" },
+ { 167, "\277\320\343\327\320" },
+ { 168, "\262\353\321\325\340\330\342\325 \330\323\340\343:" },
+ { 169, "\277\333\320\342\344\336\340\334\320, \324\333\357 \332\336\342\336\340\336\331 \330\323\340\320 \321\353\333\320 \330\327\335\320\347\320\333\354\335\336 \340\320\327\340\320\321\336\342\320\335\320" },
+ { 170, "\277\333\320\342\344\336\340\334\320:" },
+ { 171, "\262\340\325\334\357 \330\323\340\353: " },
+ { 172, "\277\336\326\320\333\343\331\341\342\320, \322\353\321\325\340\330\342\325 \324\325\331\341\342\322\330\325" },
+ { 173, "\277\343\342\354 \332 \337\333\320\323\330\335\320\334:" },
+ { 174, "\277\340\325\324\337\336\347\330\342\320\325\334\336\325 \343\341\342\340\336\331\341\342\322\336:" },
+ { 175, "\275\320\326\334\330\342\325 \332\333\320\322\330\350\343 \324\333\357 \335\320\327\335\320\347\325\335\330\357" },
+ { 176, "\262\353\345\336\324" },
+ { 177, "\262\353\345\336\324 \330\327 ScummVM" },
+ { 178, "\275\325\324\336\341\342\320\342\336\347\335\336 \337\340\320\322 \324\333\357 \347\342\325\335\330\357" },
+ { 179, "\276\350\330\321\332\320 \347\342\325\335\330\357" },
+ { 180, "\277\325\340\325\335\320\327\335\320\347\330\342\354 \332\333\320\322\330\350\330" },
+ { 181, "\303\324\320\333\330\342\354 \330\323\340\343 \330\327 \341\337\330\341\332\320. \275\325 \343\324\320\333\357\325\342 \330\323\340\343 \341 \326\325\341\342\332\336\323\336 \324\330\341\332\320" },
+ { 182, "\300\325\326\330\334 \340\320\341\342\340\330\340\336\322\320\335\330\357:" },
+ { 183, "\262\337\340\320\322\336" },
+ { 184, "\277\340\320\322\353\331 \351\325\333\347\336\332" },
+ { 185, "\277\340\320\322\353\331 \351\325\333\347\336\332" },
+ { 186, "\277\336\322\325\340\335\343\342\354" },
+ { 187, "\263\340\336\334\332\336\341\342\354 \355\344\344\325\332\342\336\322:" },
+ { 188, "SMB" },
+ { 189, "\267\320\337\330\341\320\342\354" },
+ { 190, "\277\343\342\354 \341\336\345\340.: " },
+ { 191, "\277\343\342\354 \324\333\357 \341\336\345\340\320\335\325\335\330\331: " },
+ { 192, "\301\336\345\340\320\335\330\342\354 \330\323\340\343: " },
+ { 193, "\277\336\330\341\332 \327\320\332\336\335\347\325\335!" },
+ { 194, "\277\340\336\341\334\336\342\340\325\335\336 %d \324\330\340\325\332\342\336\340\330\331 ..." },
+ { 195, "\263\333\320\322\335\336\325 \334\325\335\356 ScummVM" },
+ { 196, "ScummVM \335\325 \341\334\336\323 \335\320\331\342\330 \324\322\330\326\336\332 \324\333\357 \327\320\337\343\341\332\320 \322\353\321\340\320\335\335\336\331 \330\323\340\353!" },
+ { 197, "ScummVM \335\325 \334\336\326\325\342 \335\320\331\342\330 \330\323\340\343 \322 \343\332\320\327\320\335\335\336\331 \324\330\340\325\332\342\336\340\330\330!" },
+ { 198, "ScummVM \335\325 \334\336\326\325\342 \336\342\332\340\353\342\354 \343\332\320\327\320\335\335\343\356 \324\330\340\325\332\342\336\340\330\356!" },
+ { 199, "\277\336\330\341\332 \322 \341\337\330\341\332\325 \330\323\340" },
+ { 200, "\277\336\330\341\332:" },
+ { 201, "\262\353\321\325\340\330\342\325 SoundFont" },
+ { 202, "\262\353\321\325\340\330\342\325 \342\325\334\343" },
+ { 203, "\262\353\321\325\340\330\342\325 \324\336\337\336\333\335\330\342\325\333\354\335\343\356 \324\330\340\325\332\342\336\340\330\356 \330\323\340\353" },
+ { 204, "\262\353\321\325\340\330\342\325 \324\325\331\341\342\322\330\325 \330 \332\333\330\332\335\330\342\325 '\275\320\327\335\320\347\330\342\354'" },
+ { 205, "\262\353\321\325\340\330\342\325 \324\330\340\325\332\342\336\340\330\356 \324\333\357 \342\325\334 GUI" },
+ { 206, "\262\353\321\325\340\330\342\325 \324\330\340\325\332\342\336\340\330\356 \341 \324\336\337\336\333\335\330\342\325\333\354\335\353\334\330 \344\320\331\333\320\334\330" },
+ { 207, "\262\353\321\325\340\330\342\325 \324\330\340\325\332\342\336\340\330\356 \341 \337\333\320\323\330\335\320\334\330" },
+ { 208, "\262\353\321\325\340\330\342\325 \324\330\340\325\332\342\336\340\330\356 \324\333\357 \341\336\345\340\320\335\325\335\330\331" },
+ { 209, "\262\353\321\325\340\330\342\325 \324\330\340\325\332\342\336\340\330\356 \324\333\357 \341\336\345\340\320\335\325\335\330\331" },
+ { 210, "\262\353\321\325\340\330\342\325 \324\330\340\325\332\342\336\340\330\356 \341 \344\320\331\333\320\334\330 \330\323\340\353" },
+ { 211, "\307\343\322\341\342\322\330\342\325\333\354\335\336\341\342\354" },
+ { 212, "\301\325\340\322\325\340:" },
+ { 213, "\301\325\342\325\322\320\357 \337\320\337\332\320:" },
+ { 214, "\272\336\340\336\342\332\330\331 \330\324\325\335\342\330\344\330\332\320\342\336\340, \330\341\337\336\333\354\327\343\325\334\353\331 \324\333\357 \330\334\325\335 \341\336\345\340\320\335\325\335\330\331 \330\323\340 \330 \324\333\357 \327\320\337\343\341\332\320 \330\327 \332\336\334\320\335\324\335\336\331 \341\342\340\336\332\330" },
+ { 215, "\277\336\332\320\327\320\342\354 \332\333\320\322\330\320\342\343\340\343" },
+ { 216, "\277\336\332\320\327\353\322\320\342\354 \332\343\340\341\336\340 \334\353\350\330" },
+ { 217, "\277\336\332\320\327\353\322\320\342\354 \341\343\321\342\330\342\340\353 \330 \322\336\341\337\340\336\330\327\322\336\324\330\342\354 \340\325\347\354" },
+ { 218, "\277\336\332\320\327\320\342\354/\303\321\340\320\342\354 \332\343\340\341\336\340" },
+ { 219, "\277\340\336\337\343\341\342\330\342\354" },
+ { 220, "\277\340\336\337\343\341\342\330\342\354 \341\342\340\336\332\343" },
+ { 221, "\277\340\336\337\343\341\342\330\342\354 \342\325\332\341\342" },
+ { 222, "\277\340\330\332\340\325\337\330\342\354 \332 \323\340\320\335\330\346\320\334" },
+ { 223, "\277\340\336\323\340\320\334\334\335\336\325 \334\320\341\350\342\320\321\330\340\336\322\320\335\330\325 (\345\336\340\336\350\325\325 \332\320\347\325\341\342\322\336, \335\336 \334\325\324\333\325\335\335\325\325)" },
+ { 224, "\267\322\343\332 \322\332\333/\322\353\332\333" },
+ { 225, "SoundFont\353 \337\336\324\324\325\340\324\326\330\322\320\356\342\341\357 \335\325\332\336\342\336\340\353\334\330 \327\322\343\332\336\322\353\334\330 \332\320\340\342\320\334\330, Fluidsynth \330 Timidity" },
+ { 226, "SoundFont:" },
+ { 227, "\276\327\322" },
+ { 228, "\301\337\325\346\330\320\333\354\335\353\325 \340\325\326\330\334\353 \340\325\335\324\325\340\330\335\323\320, \337\336\324\324\325\340\326\330\322\320\325\334\353\325 \335\325\332\336\342\336\340\353\334\330 \330\323\340\320\334\330" },
+ { 229, "\263\340\336\334\332\336\341\342\354 \341\337\325\346\330\320\333\354\335\353\345 \327\322\343\332\336\322\353\345 \355\344\344\325\332\342\336\322" },
+ { 230, "\303\332\320\327\353\322\320\325\342 \322\353\345\336\324\335\336\325 \327\322\343\332\336\322\336\325 \343\341\342\340\336\331\341\342\322\336 \324\333\357 MIDI" },
+ { 231, "\303\332\320\327\353\322\320\325\342 \327\322\343\332\336\322\336\325 \343\341\342\340\336\331\341\342\322\336 \337\336 \343\334\336\333\347\320\335\330\357 \324\333\357 \322\353\322\336\324\320 \335\320 Roland MT-32/LAPC1/CM32l/CM64" },
+ { 232, "\303\332\320\327\353\322\320\325\342 \322\353\345\336\324\335\336\325 \327\322\343\332\336\322\336\325 \343\341\342\340\336\331\341\342\322\336 \330\333\330 \355\334\343\333\357\342\336\340 \327\322\343\332\336\322\336\331 \332\320\340\342\353" },
+ { 233, "\303\332\320\327\353\322\320\325\342 \337\343\342\354 \332 \324\336\337\336\333\335\330\342\325\333\354\335\353\334 \344\320\331\333\320\334 \324\320\335\335\353\345, \330\341\337\336\333\354\327\343\325\334\353\345 \322\341\325\334\330 \330\323\340\320\334\330, \333\330\321\336 ScummVM" },
+ { 234, "\303\332\320\327\353\322\320\325\342 \337\343\342\354 \332 \324\336\337\336\333\335\330\342\325\333\354\335\353\334 \344\320\331\333\320\334 \324\320\335\335\353\345 \324\333\357 \330\323\340\353" },
+ { 235, "\303\332\320\327\353\322\320\325\342 \322\353\345\336\324\335\336\325 \327\322\343\332\336\322\336\325 \343\341\342\340\336\331\341\342\322\336 \330\333\330 \355\334\343\333\357\342\336\340 \327\322\343\332\336\322\336\331 \332\320\340\342\353" },
+ { 236, "\303\332\320\327\353\322\320\325\342 \337\343\342\354 \332 \341\336\345\340\320\335\325\335\330\357\334 \330\323\340\353" },
+ { 237, "\276\327\322\343\347\332\320" },
+ { 238, "\263\340\336\334\332\336\341\342\354 \336\327\322\343\347\332\330:" },
+ { 239, "\301\342\320\335\324\320\340\342\335\353\331 \340\320\341\342\325\340\330\327\320\342\336\340 (16bpp)" },
+ { 240, "\267\320\337\343\341\342\330\342\354 \322\353\321\340\320\335\335\343\356 \330\323\340\343" },
+ { 241, "\301\336\341\342\336\357\335\330\325:" },
+ { 242, "\301\343\321" },
+ { 243, "\301\332\336\340\336\341\342\354 \341\343\321\342\330\342\340\336\322:" },
+ { 244, "\301\343\321\342\330\342\340\353" },
+ { 245, "\301\334\325\335\330\342\354 \323\325\340\336\357" },
+ { 246, "\302\320\337 \324\333\357 \333\325\322\336\323\336 \351\325\333\347\332\320, \324\322\336\331\335\336\331 \342\320\337 \324\333\357 \337\340\320\322\336\323\336 \351\325\333\347\332\320" },
+ { 247, "\302\325\332\341\342 \330 \336\327\322\343\347\332\320:" },
+ { 248, "\275\325 \334\336\323\343 \337\330\341\320\342\354 \322 \322\353\321\340\320\335\335\343\356 \324\330\340\325\332\342\336\340\330\356. \277\336\326\320\333\343\331\341\342\320, \343\332\320\326\330\342\325 \324\340\343\323\343\356." },
+ { 249, "\277\343\342\354 \332 \342\325\334\320\334:" },
+ { 250, "\302\325\334\320:" },
+ { 251, "\315\342\336\342 ID \330\323\340\353 \343\326\325 \330\341\337\336\333\354\327\343\325\342\341\357. \277\336\326\320\333\343\331\341\342\320, \322\353\321\325\340\330\342\325 \324\340\343\323\336\331." },
+ { 252, "\315\342\320 \330\323\340\320 \335\325 \337\336\324\324\325\340\326\330\322\320\325\342 \327\320\323\340\343\327\332\343 \341\336\345\340\320\335\325\335\330\331 \347\325\340\325\327 \323\333\320\322\335\336\325 \334\325\335\356." },
+ { 253, "\262\340\325\334\357: " },
+ { 254, "\262\340\325\334\357 \337\336\324\332\333\356\347\325\335\330\357 \332 \341\325\342\330 \330\341\342\325\332\333\336" },
+ { 255, "\301\334\325\351\325\335\330\325 \332\320\341\320\335\330\331 \337\336 \336\341\330 X" },
+ { 256, "\301\334\325\351\325\335\330\325 \332\320\341\320\335\330\331 \337\336 \336\341\330 Y" },
+ { 257, "\300\325\326\330\334 \342\320\347\337\320\324\320 \322\353\332\333\356\347\325\335." },
+ { 258, "\300\325\326\330\334 \342\320\347\337\320\324\320 \322\332\333\356\347\325\335." },
+ { 259, "\275\320\341\342\336\357\351\330\331 Roland MT-32 (\327\320\337\340\325\342\330\342\354 \355\334\343\333\357\346\330\356 GM)" },
+ { 260, "\262\353\332\333\356\347\320\325\342 \334\320\337\337\330\335\323 General MIDI \324\333\357 \330\323\340 \341 \327\322\343\332\336\322\336\331 \324\336\340\336\326\332\336\331 \324\333\357 Roland MT-32" },
+ { 261, "\275\325\330\327\322\325\341\342\335\336" },
+ { 262, "\275\325\330\327\322\325\341\342\335\320\357 \336\350\330\321\332\320" },
+ { 263, "\276\342\332\333\356\347\330\342\354 DVD" },
+ { 264, "\276\342\332\333\356\347\342\354 SMB" },
+ { 265, "\261\325\327 \334\320\341\350\342\320\321\330\340\336\322\320\335\330\357 (\335\343\326\335\336 \321\343\324\325\342 \337\340\336\332\340\343\347\330\322\320\342\354 \322\333\325\322\336 \330 \322\337\340\320\322\336)" },
+ { 266, "\275\325\337\336\324\324\325\340\326\330\322\320\325\334\353\331 \340\325\326\330\334 \346\322\325\342\320" },
+ { 267, "\301\336\345\340\320\335\325\335\330\325 \321\325\327 \330\334\325\335\330" },
+ { 268, "\262\322\325\340\345" },
+ { 269, "\270\341\337\336\333\354\327\336\322\320\342\354 \330 MIDI \330 AdLib \324\333\357 \323\325\335\325\340\320\346\330\330 \327\322\343\332\320" },
+ { 270, "\270\341\337\336\333\354\327\336\322\320\342\354 \343\337\340\320\322\333\325\335\330\325 \332\343\340\341\336\340\336\334 \332\320\332 \335\320 \342\340\325\332\337\320\324\325 \333\325\337\342\336\337\336\322" },
+ { 271, "\277\336\333\354\327\336\322\320\342\325\333\354:" },
+ { 272, "\270\341\337\336\333\354\327\343\356 \324\340\320\331\322\325\340 SDL " },
+ { 273, "\262\325\340\342\330\332\320\333\354\335\353\331 underscan:" },
+ { 274, "\262\330\324\325\336" },
+ { 275, "\262\330\340\342\343\320\333\354\335\320\357 \332\333\320\322\330\320\342\343\340\320" },
+ { 276, "\263\340\336\334\332\336\341\342\354" },
+ { 277, "Windows MIDI" },
+ { 278, "\275\325\324\336\341\342\320\342\336\347\335\336 \337\340\320\322 \324\333\357 \327\320\337\330\341\330" },
+ { 279, "\276\350\330\321\332\320 \327\320\337\330\341\330 \324\320\335\335\353\345" },
+ { 280, "\264\320" },
+ { 281, "\262\353 \324\336\333\326\335\353 \337\325\340\325\327\320\337\343\341\342\330\342\354 ScummVM \347\342\336\321\353 \337\340\330\334\325\335\330\342\354 \330\327\334\325\335\325\335\330\357." },
+ { 282, "\267\336\335\320" },
+ { 283, "\303\334\325\335\354\350. \334\320\341\350\342\320\321" },
+ { 284, "\303\322\325\333. \334\320\341\350\342\320\321" },
+ { 285, "\332\320\326\324\353\325 10 \334\330\335\343\342" },
+ { 286, "\332\320\326\324\353\325 15 \334\330\335\343\342" },
+ { 287, "\332\320\326\324\353\325 30 \334\330\335\343\342" },
+ { 288, "\332\320\326\324\353\325 5 \334\330\335\343\342" },
+ { 289, "\276 \337\340\336~\323~\340\320\334\334\325" },
+ { 290, "~\264~\336\321. \330\323\340\343..." },
+ { 291, "\276~\342~\334\325\335\320" },
+ { 292, "~\267~\320\332\340\353\342\354" },
+ { 293, "\270\327~\334~. \330\323\340\343..." },
+ { 294, "~\277~\336\334\336\351\354" },
+ { 295, "\303\337\340\320\322\333\325\335\330\325 \321\336\357\334\330 \322 Indy" },
+ { 296, "~\272~\333\320\322\330\350\330" },
+ { 297, "\273\325\322\336\340\343\332\330\331 \340\325\326\330\334" },
+ { 298, "~\267~\320\323\340\343\327\330\342\354" },
+ { 299, "~\267~\320\323\340...." },
+ { 300, "~\301~\333\325\324" },
+ { 301, "~O~K" },
+ { 302, "~\276~\337\346\330\330" },
+ { 303, "~\276~\337\346\330\330..." },
+ { 304, "~\277~\340\325\324" },
+ { 305, "~\262~\353\345\336\324" },
+ { 306, "~\303~\324\320\333\330\342\354 \330\323\340\343" },
+ { 307, "\277\340\336\324\336\333~\326~\330\342\354" },
+ { 308, "~\262~\325\340\335\343\342\354\341\357 \322 \323\333\320\322\335\336\325 \334\325\335\356" },
+ { 309, "~\267~\320\337\330\341\320\342\354" },
+ { 310, "\277~\343~\341\332" },
+ { 311, "\277\325\340\325\345\336\324\353 \320\332\342\330\322\330\340\336\322\320\335\353" },
+ { 312, "\315\344\344\325\332\342\353 \322\336\324\353 \322\332\333\356\347\325\335\353" },
+ { 313, "\300\325\326\330\334 \321\353\341\342\340\336\323\336 \337\325\340\325\345\336\324\320 \320\332\342\330\322\330\340\336\322\320\335" },
+ { -1, NULL }
+};
+
+static const PoMessageEntry _translation_fr_FR[] = {
+ { 0, "Project-Id-Version: ScummVM 1.2.0svn\nReport-Msgid-Bugs-To: scummvm-devel@lists.sf.net\nPOT-Creation-Date: 2010-07-12 17:44+0200\nPO-Revision-Date: 2010-07-09 18:17+0100\nLast-Translator: Thierry Crozat <criezy@scummvm.org>\nLanguage-Team: French <scummvm-devel@lists.sf.net>\nLanguage: Francais\nMIME-Version: 1.0\nContent-Type: text/plain; charset=iso-8859-1\nContent-Transfer-Encoding: 8bit\nPlural-Forms: nplurals=2; plural=n>1;\n" },
+ { 1, "Voulez-vous vraiment quitter?" },
+ { 2, "(Actif)" },
+ { 3, "(Jeu)" },
+ { 4, "(Global)" },
+ { 5, "(compil\351 sur %s)" },
+ { 6, ", \351chec du montage du disque partag\351" },
+ { 7, ", disque partag\351 non mont\351" },
+ { 8, "... en cours ..." },
+ { 9, "11 kHz" },
+ { 10, "22 kHz" },
+ { 11, "44 kHz" },
+ { 12, "48 kHz" },
+ { 13, "8 kHz" },
+ { 14, "<defaut>" },
+ { 15, "\300 propos de ScummVM" },
+ { 16, "\311mulateur AdLib" },
+ { 17, "\311mulateur AdLib:" },
+ { 18, "AdLib est utilis\351 pour la musique dans de nombreux jeux" },
+ { 19, "Ajouter..." },
+ { 20, "Anti-cr\351nel\351 (16 bpp)" },
+ { 21, "Correction du rapport d'aspect" },
+ { 22, "Touche associ\351e: %s" },
+ { 23, "Touche associ\351e: aucune" },
+ { 24, "Audio" },
+ { 25, "Sauvegarde auto:" },
+ { 26, "Moteurs disponibles:" },
+ { 27, "\300 ~P~ropos..." },
+ { 28, "Affecter les touches" },
+ { 29, "Les deux" },
+ { 30, "Luminosit\351:" },
+ { 31, "Annuler" },
+ { 32, "Impossible de cr\351er le fichier" },
+ { 33, "Change les options du jeu" },
+ { 34, "Change les options globales de ScummVM" },
+ { 35, "V\351rifie si vous voulez utiliser un p\351riph\351rique audio compatible Roland connect\351 \340 l'ordinateur" },
+ { 36, "Choisir" },
+ { 37, "S\351lectionnez une action \340 affecter" },
+ { 38, "Effacer la valeur" },
+ { 39, "Fermer" },
+ { 40, "Corrige le rapport d'aspect pour les jeu 320x200" },
+ { 41, "Impossible de trouver un moteur pour ex\351cuter le jeu s\351lectionn\351" },
+ { 42, "Mode vid\351o actuel" },
+ { 43, "Bas" },
+ { 44, "Gauche" },
+ { 45, "Droit" },
+ { 46, "Haut" },
+ { 47, "\311mulateur DOSBox OPL" },
+ { 48, "DVD" },
+ { 49, "DVD mont\351 avec succ\350s" },
+ { 50, "DVD non mont\351" },
+ { 51, "Date:" },
+ { 52, "Debugger" },
+ { 53, "D\351faut" },
+ { 54, "Supprimer" },
+ { 55, "D\351sactiv\351 l'extinction" },
+ { 56, "GFX d\351sactiv\351" },
+ { 57, "%d nouveaux jeux trouv\351s ..." },
+ { 58, "%d nouveaux jeux trouv\351s." },
+ { 59, "Affichage" },
+ { 60, "Afficher le clavier" },
+ { 61, "Voulez-vous vraiment supprimer cette sauvegarde?" },
+ { 62, "Voulez-vous vraiment supprimer ce jeu?" },
+ { 63, "Voulez-vous vraiment lancer la d\351tection automatique des jeux? Cela peut potentiellement ajouter un grand nombre de jeux." },
+ { 64, "Voulez-vous charger ou sauver le jeu?" },
+ { 65, "Voulez-vous ex\351cuter une recherche automatique?" },
+ { 66, "Voulez-vous quitter?" },
+ { 67, "Coup double" },
+ { 68, "Bas" },
+ { 69, "Activer le mode Roland GS" },
+ { 70, "Le niveau de debug '%s' n'est pas support\351 par ce moteur de jeu" },
+ { 71, "Anglais" },
+ { 72, "Erreur lors de l'\351x\351cution du jeu:" },
+ { 73, "\311chec du montage du DVD" },
+ { 74, "Extra:" },
+ { 75, "\311mulateur FM Towns" },
+ { 76, "Mode rapide" },
+ { 77, "Options incluses:" },
+ { 78, "Regarder autour" },
+ { 79, "Nom complet du jeu" },
+ { 80, "Plein \351cran" },
+ { 81, "Acceleration du pad GC:" },
+ { 82, "Sensibilit\351 du pad GC:" },
+ { 83, "GFX" },
+ { 84, "Sortie GM:" },
+ { 85, "Langue:" },
+ { 86, "Interface:" },
+ { 87, "Jeu" },
+ { 88, "Fichier de don\351es introuvable" },
+ { 89, "ID de jeu non support\351" },
+ { 90, "Chemin du Jeu:" },
+ { 91, "Menu global" },
+ { 92, "Remonte d'un niveau dans la hi\351rarchie de r\351pertoire" },
+ { 93, "Remonter" },
+ { 94, "Graphique" },
+ { 95, "Mode graphique:" },
+ { 96, "Mise \340 l'echelle mat\351rielle (rapide mais qualit\351 faible)" },
+ { 97, "Hercules Ambre" },
+ { 98, "Hercules Vert" },
+ { 99, "Cach\351 la barre d'outils" },
+ { 100, "Audio haute qualit\351 (plus lent) (red\351marrer)" },
+ { 101, "Une valeur plus \351lev\351e donne une meilleure qualit\351 audio mais peut ne pas \352tre support\351 par votre carte son" },
+ { 102, "Ajoute un jeu \340 la Liste. Maintenez Shift enfonc\351e pour un Ajout Massif" },
+ { 103, "Underscan horizontal:" },
+ { 104, "\311mulateur IBM PCjr" },
+ { 105, "ID:" },
+ { 106, "Initialiser le r\351seau" },
+ { 107, "\311chelle initiale de l'\351cran du haut" },
+ { 108, "Initialisation de l'\311mulateur MT-32" },
+ { 109, "Initialisation du r\351seau" },
+ { 110, "Entr\351e" },
+ { 111, "Chemin Invalide" },
+ { 112, "Affectation des touches" },
+ { 113, "Clavier" },
+ { 114, "Affectation des touches:" },
+ { 115, "Touches" },
+ { 116, "Langue de l'interface graphique de ScummVM" },
+ { 117, "Langue du jeu. Cela ne traduira pas en anglais par magie votre version espagnole du jeu." },
+ { 118, "Langue:" },
+ { 119, "Gauche" },
+ { 120, "Clic Gauche" },
+ { 121, "Charger" },
+ { 122, "Charger le jeu:" },
+ { 123, "Charge une sauvegarde pour le jeu s\351lectionn\351" },
+ { 124, "\311mulateur MAME OPL" },
+ { 125, "MIDI" },
+ { 126, "Gain MIDI:" },
+ { 127, "Sortie MT-32:" },
+ { 128, "\311mulateur MT-32" },
+ { 129, "\311chelle de l'\351cran principal" },
+ { 130, "Affecter" },
+ { 131, "Ajout Massif..." },
+ { 132, "Menu" },
+ { 133, "Divers" },
+ { 134, "Mode mixe AdLib/MIDI" },
+ { 135, "Monter le DVD" },
+ { 136, "Monter SMB" },
+ { 137, "Clic de souris" },
+ { 138, "Fonction Multiple" },
+ { 139, "Sortie Audio:" },
+ { 140, "Volume Musique:" },
+ { 141, "Silence" },
+ { 142, "Nom:" },
+ { 143, "R\351seau d\351connect\351" },
+ { 144, "R\351seau non initialis\351 (%d)" },
+ { 145, "R\351seau connect\351" },
+ { 146, "R\351seau connect\351, disque partag\351 mont\351" },
+ { 147, "Jamais" },
+ { 148, "Non" },
+ { 149, "Date non sauv\351e" },
+ { 150, "Pas de musique" },
+ { 151, "Dur\351e de jeu non sauv\351e" },
+ { 152, "Heure non sauv\351e" },
+ { 153, "Aucun" },
+ { 154, "Normal (\351chelle d'origine)" },
+ { 155, "OK" },
+ { 156, "Fr\351quence:" },
+ { 157, "Utiliser des r\351glages MIDI sp\351cifiques \340 ce jeux" },
+ { 158, "Utiliser des r\351glages audio sp\351cifiques \340 ce jeux" },
+ { 159, "Utiliser des r\351glages graphiques sp\351cifiques \340 ce jeux" },
+ { 160, "Utiliser des r\351glages de volume sonore sp\351cifiques \340 ce jeux" },
+ { 161, "\311mulateur Haut Parleur PC" },
+ { 162, "Mot de passe:" },
+ { 163, "Chemin n'est pas un r\351pertoire" },
+ { 164, "Chemin n'est pas un fichier" },
+ { 165, "Chemin inexistant" },
+ { 166, "Chemins" },
+ { 167, "Mettre en pause" },
+ { 168, "Choisissez le jeu:" },
+ { 169, "Plateforme pour laquelle votre jeu a \351t\351 con\347u" },
+ { 170, "Plateforme:" },
+ { 171, "Dur\351e de jeu:" },
+ { 172, "Selectionnez une action" },
+ { 173, "Plugins:" },
+ { 174, "Sortie Pr\351f\351r\351:" },
+ { 175, "Appuyez sur la touche \340 associer" },
+ { 176, "Quitter" },
+ { 177, "Quitter ScummVM" },
+ { 178, "V\351roulli\351 en lecture" },
+ { 179, "Echec de la lecture" },
+ { 180, "Changer l'affectation des touches" },
+ { 181, "Supprime le jeu de la liste. Les fichiers sont conserv\351s" },
+ { 182, "Mode de rendu:" },
+ { 183, "Droite" },
+ { 184, "Clic Droit" },
+ { 185, "Clic droit" },
+ { 186, "Pivoter" },
+ { 187, "Volume Bruitage:" },
+ { 188, "SMB" },
+ { 189, "Sauver" },
+ { 190, "Sauvegardes:" },
+ { 191, "Sauvegardes:" },
+ { 192, "Sauvegarde:" },
+ { 193, "Examen termin\351!" },
+ { 194, "%d r\351pertoires examin\351s ..." },
+ { 195, "Menu Principal ScummVM" },
+ { 196, "ScummVM n'a pas pu trouv\351 de moteur pour lancer le jeu s\351lectionn\351." },
+ { 197, "ScummVM n'a pas trouv\351 de jeux dans le r\351pertoire s\351lectionn\351." },
+ { 198, "ScummVM n'a pas pu ouvrir le r\351pertoire s\351lectionn\351." },
+ { 199, "Recherche dans la liste de jeux" },
+ { 200, "Filtre:" },
+ { 201, "Choisir une banque de sons" },
+ { 202, "S\351lectionnez un Th\350me" },
+ { 203, "S\351lectionner un r\351pertoire suppl\351mentaire" },
+ { 204, "Selectionez une action et cliquez 'Affecter'" },
+ { 205, "S\351lectionner le r\351pertoire des th\350mes d'interface" },
+ { 206, "S\351lectionner le r\351pertoire pour les fichiers supl\351mentaires" },
+ { 207, "S\351lectionner le r\351pertoire des plugins" },
+ { 208, "S\351lectionner le r\351pertoire pour les sauvegardes" },
+ { 209, "S\351lectionner le r\351pertoire pour les sauvegardes" },
+ { 210, "S\351lectionner le r\351pertoire contenant les donn\351es du jeu" },
+ { 211, "Sensibilit\351" },
+ { 212, "Serveur:" },
+ { 213, "Disque partag\351:" },
+ { 214, "ID compact du jeu utilis\351 pour identifier les sauvegardes et d\351marrer le jeu depuis la ligne de commande" },
+ { 215, "Afficher le clavier" },
+ { 216, "Afficher le curseur de la souris" },
+ { 217, "Affiche les sous-titres et joue les dialogues audio" },
+ { 218, "Afficher/Cacher le curseur" },
+ { 219, "Passer" },
+ { 220, "Passer la phrase" },
+ { 221, "Sauter le texte" },
+ { 222, "Aligner sur les bords" },
+ { 223, "Mise \340 l'\351chelle logicielle (bonne qualit\351 mais plus lent)" },
+ { 224, "Audio marche/arr\352t" },
+ { 225, "La banque de sons est utilis\351e par certaines cartes audio, Fluidsynth et Timidity" },
+ { 226, "Banque de sons:" },
+ { 227, "Audio" },
+ { 228, "Mode sp\351cial de tramage support\351 par certains jeux" },
+ { 229, "Volume des effets sp\351ciaux sonores" },
+ { 230, "Sp\351cifie le p\351riph\351rique audio par d\351faut pour la sortie General MIDI" },
+ { 231, "Sp\351cifie le p\351riph\351rique audio par d\351faut pour la sortie Roland MT-32/LAPC1/CM32l/CM64" },
+ { 232, "Sp\351cifie le p\351riph\351rique de sortie audio ou l'\351mulateur de carte audio" },
+ { 233, "Sp\351cifie un chemin vers des donn\351es suppl\351mentaires utilis\351es par tous les jeux ou ScummVM" },
+ { 234, "D\351finie un chemin vers des donn\351es supl\351mentaires utilis\351es par le jeu" },
+ { 235, "Sp\351cifie le p\351riph\351rique de sortie audio ou l'\351mulateur de carte audio pr\351f\351r\351" },
+ { 236, "D\351finie l'emplacement o\371 les fichiers de sauvegarde sont cr\351\351s" },
+ { 237, "Audio" },
+ { 238, "Volume Dialogues:" },
+ { 239, "Standard (16bpp)" },
+ { 240, "D\351marre le jeu s\351lectionn\351" },
+ { 241, "Status:" },
+ { 242, "Subs" },
+ { 243, "Vitesse des ST:" },
+ { 244, "Sous-titres" },
+ { 245, "Changement de personnage" },
+ { 246, "Toucher pour un clic gauche, toucher deux fois pour un clic droit" },
+ { 247, "Dialogue:" },
+ { 248, "Le r\351pertoire s\351lectionn\351 est v\351rouill\351 en \351criture. S\351lectionnez un autre r\351pertoire." },
+ { 249, "Th\350mes:" },
+ { 250, "Th\350me:" },
+ { 251, "Cet ID est d\351j\340 utilis\351 par un autre jeu. Choisissez en un autre svp." },
+ { 252, "Le chargement de sauvegarde depuis le lanceur n'est pas support\351 pour ce jeu." },
+ { 253, "Heure:" },
+ { 254, "D\351passement du d\351lai lors de l'initialisation du r\351seau" },
+ { 255, "D\351calage X du toucher" },
+ { 256, "D\351callage Y du toucher" },
+ { 257, "Mode touchpad d\351sactiv\351" },
+ { 258, "Mode touchpad activ\351" },
+ { 259, "Roland MT-32 exacte (d\351sactive l'\351mulation GM)" },
+ { 260, "D\351sactiver la conversion des pistes MT-32 en General MIDI" },
+ { 261, "Inconue" },
+ { 262, "Erreur inconnue" },
+ { 263, "D\351monter le DVD" },
+ { 264, "D\351monter SMB" },
+ { 265, "Sans changement d'\351chelle (vous devez faire d\351filer l'\351cran)" },
+ { 266, "Mode de couleurs non support\351" },
+ { 267, "Sauvegarde sans nom" },
+ { 268, "Haut" },
+ { 269, "Utiliser \340 la fois MIDI et AdLib" },
+ { 270, "Activer le contr\364le du curseur de type trackpad" },
+ { 271, "Nom d'utilisateur:" },
+ { 272, "Utilise le pilote SDL" },
+ { 273, "Underscan vertical:" },
+ { 274, "Vid\351o" },
+ { 275, "Clavier virtuel" },
+ { 276, "Volume" },
+ { 277, "MIDI Windows" },
+ { 278, "Verrouill\351 en \351criture" },
+ { 279, "Echec de l'\351criture des donn\351es" },
+ { 280, "Oui" },
+ { 281, "Vous devez relancer ScummVM pour que le changement soit pris en compte." },
+ { 282, "Zone" },
+ { 283, "Zoomer" },
+ { 284, "D\351zoomer" },
+ { 285, "Toutes les 10 mins" },
+ { 286, "Toutes les 15 mins" },
+ { 287, "Toutes les 30 mins" },
+ { 288, "Toutes les 5 mins" },
+ { 289, "\300 ~P~ropos" },
+ { 290, "~A~jouter..." },
+ { 291, "~A~nnuler" },
+ { 292, "~F~ermer" },
+ { 293, "~E~diter..." },
+ { 294, "~A~ide" },
+ { 295, "Contr\364le des combats d'~I~ndy" },
+ { 296, "~T~ouches" },
+ { 297, "Mode ~G~aucher" },
+ { 298, "~C~harger" },
+ { 299, "~C~harger" },
+ { 300, "~S~uivant" },
+ { 301, "~O~K" },
+ { 302, "~O~ptions" },
+ { 303, "~O~ptions..." },
+ { 304, "~P~r\351c\351dent" },
+ { 305, "~Q~uitter" },
+ { 306, "~S~upprimer" },
+ { 307, "~R~eprendre" },
+ { 308, "Retour au ~L~anceur" },
+ { 309, "~S~auver" },
+ { 310, "~D~\351marrer" },
+ { 311, "T~r~ansitions activ\351" },
+ { 312, "~E~ffets de l'Eau Activ\351s" },
+ { 313, "Mode ~Z~ip Activ\351" },
+ { -1, NULL }
+};
+
+static const PoMessageEntry _translation_it_IT[] = {
+ { 0, "Project-Id-Version: ScummVM 1.2.0svn\nReport-Msgid-Bugs-To: scummvm-devel@lists.sf.net\nPOT-Creation-Date: 2010-07-12 17:44+0200\nPO-Revision-Date: 2010-06-30 23:56+0100\nLast-Translator: Maff <matteo.maff at gmail dot com>\nLanguage-Team: Italian\nLanguage: Italiano\nMIME-Version: 1.0\nContent-Type: text/plain; charset=iso-8859-1\nContent-Transfer-Encoding: 8bit\n" },
+ { 1, " Sei sicuro di voler uscire? " },
+ { 2, " (Attivo)" },
+ { 3, " (Gioco)" },
+ { 4, " (Globale)" },
+ { 5, "(build creata il %s)" },
+ { 6, ", errore nel montare la condivisione" },
+ { 7, ", condivisione non montata" },
+ { 8, "... progresso ..." },
+ { 9, "11kHz" },
+ { 10, "22 kHz" },
+ { 11, "44 kHz" },
+ { 12, "48 kHz" },
+ { 13, "8 kHz" },
+ { 14, "<predefinito>" },
+ { 15, "Informazioni su ScummVM" },
+ { 16, "Emulatore AdLib" },
+ { 17, "Emulatore AdLib:" },
+ { 18, "AdLib \350 utilizzato per la musica in molti giochi" },
+ { 19, "Aggiungi gioco..." },
+ { 20, "Renderer con antialiasing (16bpp)" },
+ { 21, "Correzione proporzioni" },
+ { 22, "Tasto associato: %s" },
+ { 23, "Tasto associato: nessuno" },
+ { 24, "Audio" },
+ { 25, "Autosalva:" },
+ { 26, "Motori disponibili:" },
+ { 27, "~I~nfo..." },
+ { 28, "Associa tasti" },
+ { 29, "Entrambi" },
+ { 30, "Luminosit\340:" },
+ { 31, "Annulla" },
+ { 32, "Impossibile creare il file" },
+ { 33, "Modifica le opzioni di gioco" },
+ { 34, "Modifica le opzioni globali di ScummVM" },
+ { 35, "Seleziona se vuoi usare il dispositivo hardware audio compatibile con Roland che \350 connesso al tuo computer" },
+ { 36, "Scegli" },
+ { 37, "Scegli un'azione da mappare" },
+ { 38, "Cancella" },
+ { 39, "Chiudi" },
+ { 40, "Corregge le proporzioni dei giochi 320x200" },
+ { 41, "Impossibile trovare un motore in grado di eseguire il gioco selezionato" },
+ { 42, "Modalit\340 video attuale:" },
+ { 43, "Cursore gi\371" },
+ { 44, "Cursore a sinistra" },
+ { 45, "Cursore a destra" },
+ { 46, "Cursore su" },
+ { 47, "Emulatore OPL DOSBox" },
+ { 48, "DVD" },
+ { 49, "DVD montato con successo" },
+ { 50, "DVD non montato" },
+ { 51, "Data: " },
+ { 52, "Debugger" },
+ { 53, "Predefinito" },
+ { 54, "Elimina" },
+ { 55, "Disattiva spegnimento in chiusura" },
+ { 56, "Grafica disattivata" },
+ { 57, "Rilevati %d nuovi giochi..." },
+ { 58, "Rilevati %d nuovi giochi." },
+ { 59, "Visualizza " },
+ { 60, "Mostra tastiera" },
+ { 61, "Sei sicuro di voler eliminare questo salvataggio?" },
+ { 62, "Sei sicuro di voler rimuovere questa configurazione di gioco?" },
+ { 63, "Vuoi davvero eseguire il rilevatore di giochi in massa? Potrebbe aggiungere un numero enorme di giochi." },
+ { 64, "Vuoi caricare o salvare il gioco?" },
+ { 65, "Vuoi eseguire una scansione automatica?" },
+ { 66, "Sei sicuro di voler uscire?" },
+ { 67, "Double-strike" },
+ { 68, "Gi\371" },
+ { 69, "Attiva la modalit\340 Roland GS" },
+ { 70, "Il motore non supporta il livello di debug '%s'" },
+ { 71, "Inglese" },
+ { 72, "Errore nell'esecuzione del gioco:" },
+ { 73, "Errore nel montare il DVD" },
+ { 74, "Percorso extra:" },
+ { 75, "Emulatore FM Towns" },
+ { 76, "Modalit\340 veloce" },
+ { 77, "Funzionalit\340 compilate in:" },
+ { 78, "Osservazione libera" },
+ { 79, "Titolo completo del gioco" },
+ { 80, "Modalit\340 a schermo intero" },
+ { 81, "Accelerazione pad GC:" },
+ { 82, "Sensibilit\340 pad GC:" },
+ { 83, "Grafica" },
+ { 84, "Dispositivo GM:" },
+ { 85, "Lingua GUI:" },
+ { 86, "Renderer GUI:" },
+ { 87, "Gioco" },
+ { 88, "Dati di gioco non trovati" },
+ { 89, "ID di gioco non supportato" },
+ { 90, "Percorso gioco:" },
+ { 91, "Menu globale" },
+ { 92, "Vai alla cartella superiore" },
+ { 93, "Cartella superiore" },
+ { 94, "Grafica" },
+ { 95, "Modalit\340:" },
+ { 96, "Ridimensionamento hardware (veloce, ma di bassa qualit\340)" },
+ { 97, "Hercules ambra" },
+ { 98, "Hercules verde" },
+ { 99, "Nascondi la barra degli strumenti" },
+ { 100, "Audio ad alta qualit\340 (pi\371 lento) (riavviare)" },
+ { 101, "Valori pi\371 alti restituiscono un suono di maggior qualit\340, ma potrebbero non essere supportati dalla tua scheda audio" },
+ { 102, "Tieni premuto Shift per l'aggiunta in massa" },
+ { 103, "Underscan orizzontale:" },
+ { 104, "Emulatore IBM PCjr" },
+ { 105, "ID:" },
+ { 106, "Avvia rete" },
+ { 107, "Schermo in primo piano:" },
+ { 108, "Avvio in corso dell'emulatore MT-32" },
+ { 109, "Avvio rete in corso" },
+ { 110, "Input" },
+ { 111, "Percorso non valido" },
+ { 112, "Programmatore tasti" },
+ { 113, "Tastiera" },
+ { 114, "Mappa tasti:" },
+ { 115, "Tasti" },
+ { 116, "Lingua dell'interfaccia grafica di ScummVM" },
+ { 117, "Lingua del gioco. Un gioco inglese non potr\340 risultare tradotto in italiano" },
+ { 118, "Lingua:" },
+ { 119, "Sinistra" },
+ { 120, "Clic sinistro" },
+ { 121, "Carica" },
+ { 122, "Carica gioco:" },
+ { 123, "Carica un salvataggio del gioco selezionato" },
+ { 124, "Emulatore OPL MAME" },
+ { 125, "MIDI" },
+ { 126, "Guadagno MIDI:" },
+ { 127, "Disposit. MT32:" },
+ { 128, "Emulatore MT-32" },
+ { 129, "Schermo principale:" },
+ { 130, "Mappa" },
+ { 131, "Agg. in massa..." },
+ { 132, "Menu" },
+ { 133, "Varie" },
+ { 134, "Modalit\340 mista AdLib/MIDI" },
+ { 135, "Monta DVD" },
+ { 136, "Monta SMB" },
+ { 137, "Clic del mouse" },
+ { 138, "Multifunzione" },
+ { 139, "Dispositivo GM:" },
+ { 140, "Volume musica:" },
+ { 141, "Disattiva audio" },
+ { 142, "Nome:" },
+ { 143, "Rete disattivata" },
+ { 144, "Rete non avviata (%d)" },
+ { 145, "Rete attiva" },
+ { 146, "Rete attiva, condivisione montata" },
+ { 147, "Mai" },
+ { 148, "No" },
+ { 149, "Nessuna data salvata" },
+ { 150, "Nessuna musica" },
+ { 151, "Nessun tempo salvato" },
+ { 152, "Nessun orario salvato" },
+ { 153, "Nessuno" },
+ { 154, "Normale (nessun ridimensionamento)" },
+ { 155, "OK" },
+ { 156, "Frequenza:" },
+ { 157, "Ignora le impostazioni MIDI globali" },
+ { 158, "Ignora le impostazioni audio globali" },
+ { 159, "Ignora le impostazioni grafiche globali" },
+ { 160, "Ignora le impostazioni globali di volume" },
+ { 161, "Emulatore PC Speaker" },
+ { 162, "Password:" },
+ { 163, "Il percorso non \350 una cartella" },
+ { 164, "Il percorso non \350 un file" },
+ { 165, "Il percorso non esiste" },
+ { 166, "Percorsi" },
+ { 167, "Pausa" },
+ { 168, "Scegli il gioco:" },
+ { 169, "La piattaforma per la quale il gioco \350 stato concepito" },
+ { 170, "Piattaforma:" },
+ { 171, "Tempo di gioco: " },
+ { 172, "Seleziona un'azione" },
+ { 173, "Percorso plugin:" },
+ { 174, "Disp. preferito:" },
+ { 175, "Premi il tasto da associare" },
+ { 176, "Esci" },
+ { 177, "Chiudi ScummVM" },
+ { 178, "Autorizzazione di lettura negata" },
+ { 179, "Lettura fallita" },
+ { 180, "Riprogramma tasti" },
+ { 181, "Rimuove il gioco dalla lista. I file del gioco rimarranno intatti" },
+ { 182, "Resa grafica:" },
+ { 183, "Destra" },
+ { 184, "Clic destro" },
+ { 185, "Clic destro" },
+ { 186, "Rotazione" },
+ { 187, "Volume effetti:" },
+ { 188, "SMB" },
+ { 189, "Salva" },
+ { 190, "Salvataggi:" },
+ { 191, "Salvataggi:" },
+ { 192, "Salva gioco:" },
+ { 193, "Scansione completa!" },
+ { 194, "%d cartelle analizzate..." },
+ { 195, "Menu principale di ScummVM" },
+ { 196, "ScummVM non ha potuto trovare un motore in grado di eseguire il gioco selezionato!" },
+ { 197, "ScummVM non ha potuto trovare nessun gioco nella cartella specificata!" },
+ { 198, "ScummVM non ha potuto aprire la cartella specificata!" },
+ { 199, "Cerca nella lista dei giochi" },
+ { 200, "Cerca:" },
+ { 201, "Seleziona SoundFont" },
+ { 202, "Seleziona un tema" },
+ { 203, "Seleziona la cartella di gioco aggiuntiva" },
+ { 204, "Seleziona un'azione e clicca 'Mappa'" },
+ { 205, "Seleziona la cartella dei temi dell'interfaccia" },
+ { 206, "Seleziona la cartella dei file aggiuntivi" },
+ { 207, "Seleziona la cartella dei plugin" },
+ { 208, "Seleziona la cartella dei salvataggi" },
+ { 209, "Seleziona la cartella per i salvataggi" },
+ { 210, "Seleziona la cartella contenente i file di gioco" },
+ { 211, "Sensibilit\340" },
+ { 212, "Server:" },
+ { 213, "Condivisione:" },
+ { 214, "Breve identificatore di gioco utilizzato per il riferimento a salvataggi e per l'esecuzione del gioco dalla riga di comando" },
+ { 215, "Mostra tastiera" },
+ { 216, "Mostra cursore del mouse" },
+ { 217, "Mostra i sottotitoli e attiva le voci" },
+ { 218, "Mostra/nascondi cursore" },
+ { 219, "Salta" },
+ { 220, "Salta battuta" },
+ { 221, "Salta testo" },
+ { 222, "Aggancia ai bordi" },
+ { 223, "Ridimensionamento software (di buona qualit\340, ma pi\371 lento)" },
+ { 224, "Suono on/off" },
+ { 225, "SoundFont \350 supportato da alcune schede audio, Fluidsynth e Timidity" },
+ { 226, "SoundFont:" },
+ { 227, "Voci" },
+ { 228, "Modalit\340 di resa grafica speciali supportate da alcuni giochi" },
+ { 229, "Volume degli effetti sonori" },
+ { 230, "Specifica il dispositivo audio predefinito per l'output General MIDI" },
+ { 231, "Specifica il dispositivo audio predefinito per l'output Roland MT-32/LAPC1/CM32l/CM64" },
+ { 232, "Specifica il dispositivo di output audio o l'emulatore della scheda audio" },
+ { 233, "Specifica il percorso di ulteriori dati usati dai giochi o da ScummVM" },
+ { 234, "Specifica il percorso di ulteriori dati usati dal gioco" },
+ { 235, "Specifica il dispositivo audio o l'emulatore della scheda audio preferiti" },
+ { 236, "Specifica dove archiviare i salvataggi" },
+ { 237, "Voci" },
+ { 238, "Volume voci:" },
+ { 239, "Renderer standard (16bpp)" },
+ { 240, "Esegue il gioco selezionato" },
+ { 241, "Stato:" },
+ { 242, "Sub" },
+ { 243, "Velocit\340 testo:" },
+ { 244, "Sottotitoli" },
+ { 245, "Cambia personaggio" },
+ { 246, "Un tocco per il clic sinistro, doppio tocco per il clic destro" },
+ { 247, "Testo e voci:" },
+ { 248, "La cartella scelta \350 in sola lettura. Si prega di sceglierne un'altra." },
+ { 249, "Percorso tema:" },
+ { 250, "Tema:" },
+ { 251, "Questo ID di gioco \350 gi\340 in uso. Si prega di sceglierne un'altro." },
+ { 252, "Questo gioco non supporta il caricamento di salvataggi dalla schermata di avvio." },
+ { 253, "Ora: " },
+ { 254, "Attesa per l'avvio della rete" },
+ { 255, "Compensa X del tocco" },
+ { 256, "Compensa Y del tocco" },
+ { 257, "Modalit\340 touchpad disattivata." },
+ { 258, "Modalit\340 touchpad attivata." },
+ { 259, "Roland MT-32 effettivo (disattiva emulazione GM)" },
+ { 260, "Disattiva la mappatura General MIDI per i giochi con colonna sonora Roland MT-32" },
+ { 261, "Sconosciuto" },
+ { 262, "Errore sconosciuto" },
+ { 263, "Smonta DVD" },
+ { 264, "Smonta SMB" },
+ { 265, "Non ridimensionato (devi scorrere a sinistra e a destra)" },
+ { 266, "Modalit\340 colore non supportata" },
+ { 267, "Salvataggio senza titolo" },
+ { 268, "Su" },
+ { 269, "Utilizza generazione di suono sia MIDI che AdLib" },
+ { 270, "Utilizza il controllo del cursore stile trackpad del portatile" },
+ { 271, "Nome utente:" },
+ { 272, "Utilizzo del driver SDL " },
+ { 273, "Underscan verticale:" },
+ { 274, "Video" },
+ { 275, "Tastiera virtuale" },
+ { 276, "Volume" },
+ { 277, "MIDI Windows" },
+ { 278, "Autorizzazione di scrittura negata" },
+ { 279, "Scrittura dati fallita" },
+ { 280, "S\354" },
+ { 281, "Devi riavviare ScummVM affinch\351 le modifiche abbiano effetto." },
+ { 282, "Zona" },
+ { 283, "Zoom indietro" },
+ { 284, "Zoom avanti" },
+ { 285, "ogni 10 minuti" },
+ { 286, "ogni 15 minuti" },
+ { 287, "ogni 30 minuti" },
+ { 288, "ogni 5 minuti" },
+ { 289, "~I~nfo" },
+ { 290, "~A~ggiungi gioco..." },
+ { 291, "~A~nnulla" },
+ { 292, "~C~hiudi" },
+ { 293, "~M~odifica gioco..." },
+ { 294, "~A~iuto" },
+ { 295, "Controlli combattimento di ~I~ndy" },
+ { 296, "~T~asti" },
+ { 297, "~M~odalit\340 mancini" },
+ { 298, "~C~arica" },
+ { 299, "~C~arica..." },
+ { 300, "~S~uccessivi" },
+ { 301, "~O~K" },
+ { 302, "~O~pzioni" },
+ { 303, "~O~pzioni..." },
+ { 304, "~P~recedenti" },
+ { 305, "C~h~iudi" },
+ { 306, "~R~imuovi gioco" },
+ { 307, "~R~ipristina" },
+ { 308, "~V~ai a schermata di avvio" },
+ { 309, "~S~alva" },
+ { 310, "~G~ioca" },
+ { 311, "~T~ransizioni attive" },
+ { 312, "~E~ffetto acqua attivo" },
+ { 313, "Modalit\340 ~Z~ip attivata" },
+ { -1, NULL }
+};
+
+static const PoMessageEntry _translation_ca_ES[] = {
+ { 0, "Project-Id-Version: ScummVM 1.2.0svn\nReport-Msgid-Bugs-To: scummvm-devel@lists.sf.net\nPOT-Creation-Date: 2010-07-12 17:44+0200\nPO-Revision-Date: 2010-06-26 16:45+0100\nLast-Translator: Jordi Vilalta Prat <jvprat@gmail.com>\nLanguage-Team: Catalan <scummvm-devel@lists.sf.net>\nLanguage: Catalan\nMIME-Version: 1.0\nContent-Type: text/plain; charset=iso-8859-1\nContent-Transfer-Encoding: 8bit\n" },
+ { 2, " (Actiu)" },
+ { 3, " (Joc)" },
+ { 4, " (Global)" },
+ { 5, "(compilat el %s)" },
+ { 6, ", error al muntar la compartici\363" },
+ { 7, ", compartici\363 no muntada" },
+ { 8, "... progr\351s ..." },
+ { 9, "11kHz" },
+ { 10, "22 kHz" },
+ { 11, "44 kHz" },
+ { 12, "48 kHz" },
+ { 13, "8 kHz" },
+ { 14, "<per defecte>" },
+ { 15, "Quant a ScummVM" },
+ { 16, "Emulador d'AdLib" },
+ { 17, "Emulador d'AdLib:" },
+ { 18, "AdLib s'utilitza per la m\372sica de molts jocs" },
+ { 19, "Afegeix Joc..." },
+ { 20, "Pintat amb antialias (16bpp)" },
+ { 21, "Correcci\363 del rati d'aspecte" },
+ { 22, "Tecla associada : %s" },
+ { 23, "Tecla associada : cap" },
+ { 24, "\300udio" },
+ { 25, "Desat autom\340tic:" },
+ { 26, "Motors disponibles:" },
+ { 27, "~Q~uant a..." },
+ { 28, "Mapeja tecles" },
+ { 29, "Ambd\363s" },
+ { 30, "Brillantor:" },
+ { 31, "Cancel\267la" },
+ { 32, "No s'ha pogut crear el fitxer" },
+ { 33, "Canvia les opcions del joc" },
+ { 34, "Canvia les opcions globals de ScummVM" },
+ { 35, "Marqueu si voleu utilitzar el vostre dispositiu hardware real de so compatible amb Roland connectat al vostre ordinador" },
+ { 36, "Escull" },
+ { 37, "Sel\267leccioneu una acci\363 per mapejar" },
+ { 38, "Neteja el valor" },
+ { 39, "Tanca" },
+ { 40, "Corregeix la relaci\363 d'aspecte per jocs de 320x200" },
+ { 41, "No s'ha pogut trobar cap motor capa\347 d'executar el joc seleccionat" },
+ { 42, "Mode de v\355deo actual:" },
+ { 43, "Cursor Avall" },
+ { 44, "Cursor Esquerra" },
+ { 45, "Cursor Dreta" },
+ { 46, "Cursor Amunt" },
+ { 47, "Emulador OPL de DOSBox" },
+ { 48, "DVD" },
+ { 49, "El DVD s'ha muntat satisfact\362riament" },
+ { 50, "El DVD no est\340 muntat" },
+ { 51, "Data: " },
+ { 52, "Depurador" },
+ { 53, "Per defecte" },
+ { 54, "Suprimeix" },
+ { 55, "Desactiva l'apagat autom\340tic" },
+ { 56, "GFX desactivats" },
+ { 57, "S'han descobert %d jocs nous ..." },
+ { 58, "S'han descobert %d jocs nous." },
+ { 59, "Pantalla" },
+ { 60, "Mostra el teclat" },
+ { 61, "Realment voleu suprimir aquesta partida?" },
+ { 62, "Realment voleu suprimir la configuraci\363 d'aquest joc?" },
+ { 63, "Esteu segur que voleu executar el detector massiu de jocs? Aix\362 pot afegir una gran quantitat de jocs." },
+ { 64, "Voleu carregar o desar el joc?" },
+ { 65, "Voleu fer una cerca autom\340tica?" },
+ { 66, "Vols sortir?" },
+ { 68, "Avall" },
+ { 69, "Activa el Mode Roland GS" },
+ { 70, "El motor no suporta el nivell de depuraci\363 '%s'" },
+ { 71, "Angl\350s" },
+ { 72, "Error al executar el joc:" },
+ { 73, "Error al muntar el DVD" },
+ { 74, "Cam\355 Extra:" },
+ { 75, "Emulador de FM Towns" },
+ { 76, "Mode r\340pid" },
+ { 77, "Caracter\355stiques compilades:" },
+ { 78, "Vista lliure" },
+ { 79, "T\355tol complet del joc" },
+ { 80, "Mode pantalla completa" },
+ { 81, "Acceleraci\363 del Pad GC:" },
+ { 82, "Sensibilitat del Pad GC:" },
+ { 83, "GFX" },
+ { 84, "Dispositiu GM:" },
+ { 85, "Idioma de la interf\355cie d'usuari:" },
+ { 86, "Mode de pintat de la interf\355cie d'usuari:" },
+ { 87, "Joc" },
+ { 88, "No s'han trobat les dades del joc" },
+ { 89, "Identificador de joc no suportat" },
+ { 90, "Cam\355 del Joc:" },
+ { 91, "Men\372 global" },
+ { 92, "Torna al nivell de directoris anterior" },
+ { 93, "Amunt" },
+ { 94, "Gr\340fics" },
+ { 95, "Mode gr\340fic:" },
+ { 96, "Escalat per hardware (r\340pid, per\362 de baixa qualitat)" },
+ { 97, "Hercules \300mbar" },
+ { 98, "Hercules Verd" },
+ { 99, "Oculta la barra d'eines" },
+ { 100, "Alta qualitat d'\340udio (m\351s lent) (reiniciar)" },
+ { 101, "Valors m\351s alts especifiquen millor qualitat de so per\362 pot ser que la vostra tarja de so no ho suporti" },
+ { 102, "Mantingueu premut Shift per a l'Addici\363 Massiva" },
+ { 104, "Emulador d'IBM PCjr" },
+ { 105, "Identificador:" },
+ { 106, "Inicia la xarxa" },
+ { 107, "Escalat inicial de la pantalla superior:" },
+ { 108, "Iniciant l'Emulador de MT-32" },
+ { 109, "Iniciant la xarxa" },
+ { 110, "Entrada" },
+ { 111, "Cam\355 incorrecte" },
+ { 112, "Mapejador de tecles" },
+ { 113, "Teclat" },
+ { 114, "Mapa de teclat:" },
+ { 115, "Tecles" },
+ { 116, "Idioma de la interf\355cie d'usuari de ScummVM" },
+ { 117, "Idioma del joc. Aix\362 no convertir\340 la vostra versi\363 Espanyola del joc a Angl\350s" },
+ { 118, "Idioma:" },
+ { 119, "Esquerra" },
+ { 120, "Clic esquerre" },
+ { 121, "Carrega" },
+ { 122, "Carrega partida:" },
+ { 123, "Carrega una partida pel joc seleccionat" },
+ { 124, "Emulador OPL de MAME" },
+ { 125, "MIDI" },
+ { 126, "Guany MIDI:" },
+ { 127, "Dispositiu MT32:" },
+ { 128, "Emulador de MT-32" },
+ { 129, "Escalat de la pantalla principal:" },
+ { 130, "Mapeja" },
+ { 131, "Addici\363 Massiva..." },
+ { 132, "Men\372" },
+ { 133, "Misc" },
+ { 134, "Mode combinat AdLib/MIDI" },
+ { 135, "Munta el DVD" },
+ { 136, "Munta SMB" },
+ { 137, "Clic del ratol\355" },
+ { 138, "Funci\363 M\372ltiple" },
+ { 139, "Dispositiu GM:" },
+ { 140, "Volum de la m\372sica:" },
+ { 141, "Silenciar tot" },
+ { 142, "Nom:" },
+ { 143, "Xarxa inactiva" },
+ { 144, "Xarxa no iniciada (%d)" },
+ { 145, "Xarxa activa" },
+ { 146, "Xarxa activa, compartici\363 muntada" },
+ { 147, "Mai" },
+ { 148, "No" },
+ { 149, "No hi ha data desada" },
+ { 150, "Sense m\372sica" },
+ { 151, "No hi ha temps de joc desat" },
+ { 152, "No hi ha hora desada" },
+ { 153, "Cap" },
+ { 154, "Normal (sense escalar)" },
+ { 155, "D'acord" },
+ { 156, "Freq\374\350ncia de sortida:" },
+ { 157, "Fer canvis sobre les opcions globals de MIDI" },
+ { 158, "Fer canvis sobre les opcions globals d'\340udio" },
+ { 159, "Fer canvis sobre les opcions globals de gr\340fics" },
+ { 160, "Fer canvis sobre les opcions globals de volum" },
+ { 161, "Emulador d'Altaveu de PC" },
+ { 162, "Contrasenya:" },
+ { 163, "El cam\355 no \351s un directori" },
+ { 164, "El cam\355 no \351s un fitxer" },
+ { 165, "El cam\355 no existeix" },
+ { 166, "Camins" },
+ { 167, "Pausa" },
+ { 168, "Seleccioneu el joc:" },
+ { 169, "Plataforma per la que el joc es va dissenyar originalment" },
+ { 170, "Plataforma:" },
+ { 171, "Temps de joc: " },
+ { 172, "Seleccioneu una acci\363" },
+ { 173, "Cam\355 dels connectors:" },
+ { 174, "Dispositiu Preferit:" },
+ { 175, "Premeu la tecla a associar" },
+ { 176, "Surt" },
+ { 177, "Surt de ScummVM" },
+ { 178, "S'ha denegat el perm\355s de lectura" },
+ { 179, "Ha fallat la lectura" },
+ { 180, "Remapeja les tecles" },
+ { 181, "Elimina un joc de la llista. Els fitxers de dades del joc es mantenen intactes" },
+ { 182, "Mode de pintat:" },
+ { 183, "Dreta" },
+ { 184, "Clic dret" },
+ { 185, "Clic dret" },
+ { 186, "Rotar" },
+ { 187, "Volum dels efectes:" },
+ { 188, "SMB" },
+ { 189, "Desa" },
+ { 190, "Cam\355 de les Partides:" },
+ { 191, "Cam\355 de les Partides: " },
+ { 192, "Desa la partida:" },
+ { 193, "S'ha acabat la cerca!" },
+ { 194, "S'han cercat %d directoris ..." },
+ { 195, "Men\372 Principal de ScummVM" },
+ { 196, "ScummVM no ha pogut trobar cap motor capa\347 d'executar el joc seleccionat!" },
+ { 197, "ScummVM no ha pogut trobar cap joc al directori especificat!" },
+ { 198, "ScummVM no ha pogut obrir el directori especificat!" },
+ { 199, "Cerca a la llista de jocs" },
+ { 200, "Cerca:" },
+ { 201, "Seleccioneu el fitxer SoundFont" },
+ { 202, "Seleccioneu un Tema" },
+ { 203, "Seleccioneu el directori addicional del joc" },
+ { 204, "Seleccioneu una acci\363 i cliqueu 'Mapeja'" },
+ { 205, "Seleccioneu el directori dels temes de la Interf\355cie d'Usuari" },
+ { 206, "Seleccioneu el directori dels fitxers extra" },
+ { 207, "Seleccioneu el directori dels connectors" },
+ { 208, "Seleccioneu el directori de les partides desades" },
+ { 209, "Seleccioneu el directori de les partides desades" },
+ { 210, "Seleccioneu el directori amb les dades del joc" },
+ { 211, "Sensibilitat" },
+ { 212, "Servidor:" },
+ { 213, "Compartici\363:" },
+ { 214, "Identificador de joc curt utilitzat per referir-se a les partides i per executar el joc des de la l\355nia de comandes" },
+ { 215, "Mostra el teclat" },
+ { 216, "Mostra el cursor del ratol\355" },
+ { 217, "Mostra els subt\355tols i reprodueix la veu" },
+ { 218, "Mostra/Oculta el cursor" },
+ { 219, "Salta" },
+ { 220, "Salta la l\355nia" },
+ { 221, "Salta el text" },
+ { 223, "Escalat per software (bona qualitat, per\362 m\351s lent)" },
+ { 224, "So engegat/parat" },
+ { 225, "Algunes targes de so, Fluidsynth i Timidity suporten SoundFont" },
+ { 226, "Fitxer SoundFont:" },
+ { 227, "Veus" },
+ { 228, "Modes de dispersi\363 especials suportats per alguns jocs" },
+ { 229, "Volum dels sons d'efectes especials" },
+ { 230, "Especifica el dispositiu de so per defecte per a la sortida General MIDI" },
+ { 231, "Especifica el dispositiu de so per defecte per a la sortida de Roland MT-32/LAPC1/CM32l/CM64" },
+ { 232, "Especifica el dispositiu de so o l'emulador de tarja de so de sortida" },
+ { 233, "Especifica el cam\355 de les dades addicionals utilitzades per tots els jocs o pel ScummVM" },
+ { 234, "Especifica el cam\355 de dades addicionals utilitzades pel joc" },
+ { 235, "Especifica el dispositiu de so o l'emulador de tarja de so preferit" },
+ { 236, "Especifica on es desaran les partides" },
+ { 237, "Veus" },
+ { 238, "Volum de la veu:" },
+ { 239, "Pintat est\340ndard (16bpp)" },
+ { 240, "Iniciant el joc seleccionat" },
+ { 241, "Estat:" },
+ { 242, "Subt" },
+ { 243, "Velocitat dels subt\355tols:" },
+ { 244, "Subt\355tols" },
+ { 245, "Commuta el personatge" },
+ { 246, "Toc per a clic esquerre, doble toc per a clic dret" },
+ { 247, "Text i Veus:" },
+ { 248, "No es pot escriure al directori seleccionat. Si us plau, escolliu-ne un altre." },
+ { 249, "Cam\355 dels Temes:" },
+ { 250, "Tema:" },
+ { 251, "Aquest identificador de joc ja est\340 usat. Si us plau, trieu-ne un altre." },
+ { 252, "Aquest joc no suporta la c\340rrega de partides des del llan\347ador." },
+ { 253, "Hora: " },
+ { 255, "Despla\347ament X del toc" },
+ { 256, "Despla\347ament Y del toc" },
+ { 257, "Mode Touchpad desactivat." },
+ { 258, "Mode Touchpad activat." },
+ { 259, "Roland MT-32 real (desactiva l'emulaci\363 GM)" },
+ { 260, "Desactiva la conversi\363 General MIDI pels jocs que tenen banda sonora per a Roland MT-32" },
+ { 261, "Desconegut" },
+ { 262, "Error desconegut" },
+ { 263, "Desmunta el DVD" },
+ { 264, "Desmunta SMB" },
+ { 265, "Sense escalar (haureu de despla\347ar-vos a esquerra i dreta)" },
+ { 266, "Mode de color no suportat" },
+ { 267, "Partida sense t\355tol" },
+ { 268, "Amunt" },
+ { 269, "Utilitza MIDI i la generaci\363 de so AdLib alhora" },
+ { 270, "Utilitza el control del cursor a l'estil del trackpad dels port\340tils" },
+ { 271, "Nom d'usuari:" },
+ { 272, "Utilitzant el controlador SDL " },
+ { 274, "V\355deo" },
+ { 275, "Teclat virtual" },
+ { 276, "Volum" },
+ { 277, "MIDI de Windows" },
+ { 278, "S'ha denegat el perm\355s d'escriptura" },
+ { 279, "Ha fallat l'escriptura de dades" },
+ { 280, "S\355" },
+ { 281, "Heu de reiniciar ScummVM perqu\350 tots els canvis tingui efecte." },
+ { 282, "Zona" },
+ { 283, "Redueix" },
+ { 284, "Amplia" },
+ { 285, "cada 10 minuts" },
+ { 286, "cada 15 minuts" },
+ { 287, "cada 30 minuts" },
+ { 288, "cada 5 minuts" },
+ { 289, "~Q~uant a" },
+ { 290, "~A~fegeix Joc..." },
+ { 291, "~C~ancel\267la" },
+ { 292, "~T~anca" },
+ { 293, "~E~dita Joc..." },
+ { 294, "~A~juda" },
+ { 295, "Controls de lluita de l'~I~ndy" },
+ { 296, "~T~ecles" },
+ { 297, "Mode ~e~squerr\340" },
+ { 298, "C~a~rrega" },
+ { 299, "~C~arrega..." },
+ { 300, "~S~eg\374ent" },
+ { 301, "~D~'acord" },
+ { 302, "~O~pcions" },
+ { 303, "~O~pcions..." },
+ { 304, "~A~nterior" },
+ { 305, "~T~anca" },
+ { 306, "~S~uprimeix Joc" },
+ { 307, "~C~ontinua" },
+ { 308, "~R~etorna al Llan\347ador" },
+ { 309, "~D~esa" },
+ { 310, "~I~nicia" },
+ { 311, "~T~ransicions activades" },
+ { 312, "~E~fecte de l'aigua activat" },
+ { 313, "Mode ~Z~ip activat" },
+ { -1, NULL }
+};
+
+static const PoMessageEntry _translation_hu_HU[] = {
+ { 0, "Project-Id-Version: ScummVM VERSION\nReport-Msgid-Bugs-To: scummvm-devel@lists.sf.net\nPOT-Creation-Date: 2010-07-12 17:44+0200\nPO-Revision-Date: 2009-11-25 07:42-0500\nLast-Translator: Alex Bevilacqua <alexbevi@gmail.com>\nLanguage-Team: Hungarian\nLanguage: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=cp1250\nContent-Transfer-Encoding: 8bit\nPlural-Forms: nplurals=2; plural=(n != 1);\n" },
+ { 14, "<alap\351rtelmezett>" },
+ { 16, "AdLib vezet :" },
+ { 17, "AdLib vezet :" },
+ { 21, "Aspect adag korrekci\363" },
+ { 24, "Hang" },
+ { 25, "Automatikus ment\351s:" },
+ { 28, "Kulcsok" },
+ { 42, "Renderel\351si m\363d:" },
+ { 53, "<alap\351rtelmezett>" },
+ { 69, "K\351pess\351 Roland GS Mode" },
+ { 74, "Extra \332tvonal:" },
+ { 76, "Grafikus m\363d:" },
+ { 80, "Teljes k\351perny s m\363d:" },
+ { 86, "Lek\351pez eszk\366z GUI:" },
+ { 90, "Extra \332tvonal:" },
+ { 94, "Grafik\341val" },
+ { 95, "Grafikus m\363d:" },
+ { 115, "Kulcsok" },
+ { 124, "AdLib vezet :" },
+ { 126, "MIDI nyeres\351g:" },
+ { 127, "Zene mennyis\351g:" },
+ { 134, "Vegyes AdLib/MIDI m\363d" },
+ { 139, "Zene mennyis\351g:" },
+ { 140, "Zene mennyis\351g:" },
+ { 141, "Muta \326sszes" },
+ { 147, "Soha" },
+ { 148, "Semmi" },
+ { 153, "Semmi" },
+ { 155, "Igen" },
+ { 156, "Kimeneti teljes\355tm\351ny:" },
+ { 166, "\326sv\351nyek" },
+ { 167, "\326sv\351nyek" },
+ { 182, "Renderel\351si m\363d:" },
+ { 187, "SFX mennyis\351ge" },
+ { 190, "Extra \332tvonal:" },
+ { 212, "Soha" },
+ { 237, "Csak a besz\351d" },
+ { 238, "Besz\351d mennyis\351g:" },
+ { 243, "Felirat sebess\351g:" },
+ { 244, "Csak feliratok" },
+ { 247, "Sz\366veg \351s besz\351d:" },
+ { 250, "T\351ma:" },
+ { 253, "T\351ma:" },
+ { 259, "Igaz Roland MT-32 (megb\351n\355t GM emul\341ci\363)" },
+ { 272, "Zenei vezet :" },
+ { 276, "Volumene" },
+ { 282, "Semmi" },
+ { 285, "10 percenk\351nt" },
+ { 286, "15 percenk\351nt" },
+ { 287, "30 percenk\351nt" },
+ { 288, "5 percenk\351nt" },
+ { 296, "Kulcsok" },
+ { 297, "Renderel\351si m\363d:" },
+ { 301, "Igen" },
+ { -1, NULL }
+};
+
+static const PoMessageEntry _translation_de_DE[] = {
+ { 0, "Project-Id-Version: ScummVM 1.2.0svn\nReport-Msgid-Bugs-To: scummvm-devel@lists.sf.net\nPOT-Creation-Date: 2010-07-12 17:44+0200\nPO-Revision-Date: 2010-07-09 20:37+0100\nLast-Translator: Simon Sawatzki\nLanguage-Team: Lothar Serra Mari <Lothar@Windowsbase.de> & Simon Sawatzki <SimSaw@gmx.de>\nLanguage: Deutsch\nMIME-Version: 1.0\nContent-Type: text/plain; charset=iso-8859-1\nContent-Transfer-Encoding: 8bit\nPlural-Forms: nplurals=2; plural=n != 1;\n" },
+ { 1, " M\366chten Sie wirklich beenden? " },
+ { 2, " (Aktiv)" },
+ { 3, " (Spiel)" },
+ { 4, " (Global)" },
+ { 5, "(erstellt am %s)" },
+ { 6, ", Fehler beim Einbinden des \366ffentlichen Verzeichnisses" },
+ { 7, ", \366ffentliches Verzeichnis nicht eingebunden" },
+ { 8, "... l\344uft..." },
+ { 9, "11 kHz" },
+ { 10, "22 kHz" },
+ { 11, "44 kHz" },
+ { 12, "48 kHz" },
+ { 13, "8 kHz" },
+ { 14, "<Standard>" },
+ { 15, "\334ber ScummVM" },
+ { 16, "AdLib-Emulator" },
+ { 17, "AdLib-Emulator" },
+ { 18, "AdLib wird f\374r die Musik in vielen Spielen verwendet." },
+ { 19, "Spiel hinzuf\374gen" },
+ { 20, "Kantengl\344ttung (16bpp)" },
+ { 21, "Seitenverh\344ltnis korrigieren" },
+ { 22, "Zugewiesene Taste: %s" },
+ { 23, "Zugewiesene Taste: keine" },
+ { 24, "Audio" },
+ { 25, "Autom. Speichern:" },
+ { 26, "Verf\374gbare Spiele-Engines:" },
+ { 27, "\334be~r~" },
+ { 28, "Tasten zuweisen" },
+ { 29, "Beides" },
+ { 30, "Helligkeit:" },
+ { 31, "Abbrechen" },
+ { 32, "Kann Datei nicht erstellen." },
+ { 33, "Spieloptionen \344ndern" },
+ { 34, "Globale ScummVM-Einstellungen bearbeiten" },
+ { 35, "W\344hlen Sie dies aus, wenn Sie Ihre echte Hardware, die mit einer Roland-kompatiblen Soundkarte verbunden ist, verwenden m\366chten." },
+ { 36, "Ausw\344hlen" },
+ { 37, "Eine Aktion zum Zuweisen ausw\344hlen" },
+ { 38, "Wert l\366schen" },
+ { 39, "Schlie\337en" },
+ { 40, "Seitenverh\344ltnis f\374r Spiele mit der Aufl\366sung 320x200 korrigieren" },
+ { 41, "Kann keine Spiel-Engine finden, die dieses Spiel starten kann." },
+ { 42, "Aktueller Videomodus:" },
+ { 43, "Zeiger runter" },
+ { 44, "Zeiger nach links" },
+ { 45, "Zeiger nach rechts" },
+ { 46, "Zeiger hoch" },
+ { 47, "DOSBox-OPL-Emulator" },
+ { 48, "DVD" },
+ { 49, "DVD erfolgreich eingebunden" },
+ { 50, "DVD nicht eingebunden" },
+ { 51, "Datum: " },
+ { 52, "Debugger" },
+ { 53, "Standard" },
+ { 54, "L\366schen" },
+ { 55, "Stromsparmodus abschalten" },
+ { 56, "GFX ausgeschalten" },
+ { 57, "%d neue Spiele gefunden..." },
+ { 58, "%d neue Spiele gefunden." },
+ { 59, "Anzeige" },
+ { 60, "Tastatur anzeigen" },
+ { 61, "Diesen Spielstand wirklich l\366schen?" },
+ { 62, "M\366chten Sie wirklich diese Spielkonfiguration entfernen?" },
+ { 63, "M\366chten Sie wirklich den PC nach Spielen durchsuchen? M\366glicherweise wird dabei eine gr\366\337ere Menge an Spielen hinzugef\374gt." },
+ { 64, "M\366chten Sie ein Spiel laden oder speichern?" },
+ { 65, "M\366chten Sie eine automatische Durchsuchung vornehmen?" },
+ { 66, "M\366chten Sie beenden?" },
+ { 67, "Doppelzeilen (kein Zeilensprungverfahren)" },
+ { 68, "Runter" },
+ { 69, "Roland-GS-Modus" },
+ { 70, "Engine unterst\374tzt den Debug-Level \"%s\" nicht" },
+ { 71, "English" },
+ { 72, "Fehler beim Ausf\374hren des Spiels:" },
+ { 73, "Fehler beim Einbinden der DVD" },
+ { 74, "Extrapfad:" },
+ { 75, "FM-Towns-Emulator" },
+ { 76, "Schneller Modus" },
+ { 77, "Verwendete Funktionen:" },
+ { 78, "Freie Ansicht" },
+ { 79, "Voller Name des Spiels" },
+ { 80, "Vollbildmodus" },
+ { 81, "GC-Pad-Beschleunigung:" },
+ { 82, "GC-Pad-Empfindlichkeit:" },
+ { 83, "GFX" },
+ { 84, "GM-Ger\344t:" },
+ { 85, "GUI-Sprache:" },
+ { 86, "GUI-Renderer:" },
+ { 87, "Spiel" },
+ { 88, "Spieldaten nicht gefunden" },
+ { 89, "Spielkennung nicht unterst\374tzt" },
+ { 90, "Spielpfad:" },
+ { 91, "Hauptmen\374" },
+ { 92, "Zu h\366herer Pfadebene wechseln" },
+ { 93, "Pfad hoch" },
+ { 94, "Grafik" },
+ { 95, "Grafikmodus:" },
+ { 96, "Hardware-Skalierung (schnell, aber schlechte Qualit\344t)" },
+ { 97, "Hercules Bernsteingelb" },
+ { 98, "Hercules-Gr\374n" },
+ { 99, "Werkzeugleiste verbergen" },
+ { 100, "Hohe Audioqualit\344t (lansamer) (erfordert Neustart)" },
+ { 101, "H\366here Werte bewirken eine bessere Soundqualit\344t, werden aber m\366glicherweise nicht von jeder Soundkarte unterst\374tzt." },
+ { 102, "Umschalttaste (Shift) gedr\374ckt halten, um Verzeichnisse nach Spielen zu durchsuchen" },
+ { 103, "Horizontale Bildverkleinerung:" },
+ { 104, "IBM-PCjr-Emulator" },
+ { 105, "Kennung:" },
+ { 106, "Netzwerk starten" },
+ { 107, "Verg\366\337erung des oberen Bildschirms:" },
+ { 108, "MT-32-Emulator wird gestartet..." },
+ { 109, "Netzwerk wird gestartet..." },
+ { 110, "Eingabe" },
+ { 111, "Ung\374ltiges Verzeichnis" },
+ { 112, "Tasten zuordnen" },
+ { 113, "Tastatur" },
+ { 114, "Tasten-Layout:" },
+ { 115, "Tasten" },
+ { 116, "Sprache der ScummVM-Oberfl\344che" },
+ { 117, "Sprache des Spiels. Diese Funktion wird nicht eine spanische Version des Spiels in eine deutsche verwandeln." },
+ { 118, "Sprache:" },
+ { 119, "Links" },
+ { 120, "Linksklick" },
+ { 121, "Laden" },
+ { 122, "Spiel laden:" },
+ { 123, "Spielstand f\374r ausgew\344hltes Spiel laden" },
+ { 124, "MAME-OPL-Emulator" },
+ { 125, "MIDI" },
+ { 126, "MIDI-Lautst\344rke:" },
+ { 127, "MT32-Ger\344t:" },
+ { 128, "MT-32-Emulation" },
+ { 129, "Hauptbildschirm-Skalierung:" },
+ { 130, "Zuweisen" },
+ { 131, "Durchsuchen" },
+ { 132, "Men\374" },
+ { 133, "Sonstiges" },
+ { 134, "AdLib-/MIDI-Modus" },
+ { 135, "DVD einbinden" },
+ { 136, "SMB einbinden" },
+ { 137, "Mausklick" },
+ { 138, "Multifunktion" },
+ { 139, "Musikger\344t:" },
+ { 140, "Musiklautst\344rke:" },
+ { 141, "Alles aus" },
+ { 142, "Name:" },
+ { 143, "Netzwerk ist aus." },
+ { 144, "Netzwerk nicht gestartet (%d)" },
+ { 145, "Netzwerk gestartet" },
+ { 146, "Netzwerk gestartet, \366ffentliches Verzeichnis eingebunden" },
+ { 147, "Niemals" },
+ { 148, "Nein" },
+ { 149, "Kein Datum gespeichert" },
+ { 150, "Keine Musik" },
+ { 151, "Keine Spielzeit gespeichert" },
+ { 152, "Keine Zeit gespeichert" },
+ { 153, "-" },
+ { 154, "Normal (keine Skalierung)" },
+ { 155, "OK" },
+ { 156, "Ausgabefrequenz:" },
+ { 157, "Globale MIDI-Einstellungen \374bergehen" },
+ { 158, "Globale Audioeinstellungen \374bergehen" },
+ { 159, "Globale Grafikeinstellungen \374bergehen" },
+ { 160, "Globale Lautst\344rke-Einstellungen \374bergehen" },
+ { 161, "PC-Lautsprecher-Emulator" },
+ { 162, "Passwort:" },
+ { 163, "Ung\374ltiges Verzeichnis" },
+ { 164, "Pfad ist keine Datei." },
+ { 165, "Verzeichnis existiert nicht." },
+ { 166, "Pfade" },
+ { 167, "Pause" },
+ { 168, "Spiel ausw\344hlen:" },
+ { 169, "Plattform, f\374r die das Spiel urspr\374nglich erstellt wurde" },
+ { 170, "Plattform:" },
+ { 171, "Spieldauer: " },
+ { 172, "Bitte eine Aktion ausw\344hlen" },
+ { 173, "Plugin-Pfad:" },
+ { 174, "Standard-Ger\344t:" },
+ { 175, "Taste dr\374cken, um sie zuzuweisen" },
+ { 176, "Beenden" },
+ { 177, "ScummVM beenden" },
+ { 178, "Lese-Berechtigung nicht vorhanden" },
+ { 179, "Lesefehler aufgetreten" },
+ { 180, "Tasten neu zuweisen" },
+ { 181, "Spiel aus der Liste entfernen. Die Spieldateien bleiben erhalten." },
+ { 182, "Render-Modus:" },
+ { 183, "Rechts" },
+ { 184, "Rechtsklick" },
+ { 185, "Rechtsklick" },
+ { 186, "Drehen" },
+ { 187, "Effektlautst\344rke:" },
+ { 188, "SMB" },
+ { 189, "Speichern" },
+ { 190, "Spielst\344nde:" },
+ { 191, "Spielst\344nde: " },
+ { 192, "Speichern:" },
+ { 193, "Suchlauf abgeschlossen!" },
+ { 194, "%d Ordner durchsucht..." },
+ { 195, "ScummVM-Hauptmen\374" },
+ { 196, "ScummVM konnte keine Engine finden, um das Spiel zu starten!" },
+ { 197, "ScummVM kann in dem gew\344hlten Verzeichnis kein Spiel finden!" },
+ { 198, "ScummVM kann das gew\344hlte Verzeichnis nicht \366ffnen!" },
+ { 199, "In Spieleliste suchen" },
+ { 200, "Suchen:" },
+ { 201, "SoundFont ausw\344hlen" },
+ { 202, "Thema ausw\344hlen" },
+ { 203, "Verzeichnis mit zus\344tzlichen Dateien ausw\344hlen" },
+ { 204, "Aktion ausw\344hlen und \"Zuweisen\" klicken" },
+ { 205, "Verzeichnis f\374r Oberfl\344chen-Themen" },
+ { 206, "Verzeichnis f\374r zus\344tzliche Dateien ausw\344hlen" },
+ { 207, "Verzeichnis f\374r Erweiterungen ausw\344hlen" },
+ { 208, "Verzeichnis f\374r Spielst\344nde ausw\344hlen" },
+ { 209, "Verzeichnis f\374r Spielst\344nde ausw\344hlen" },
+ { 210, "Verzeichnis mit Spieldateien ausw\344hlen" },
+ { 211, "Empfindlichkeit" },
+ { 212, "Server:" },
+ { 213, "\326ffentliches Verzeichnis:" },
+ { 214, "Kurzer Spielname, um die Spielst\344nde zuzuordnen und das Spiel von der Kommandozeile aus starten zu k\366nnen" },
+ { 215, "Tastatur zeigen" },
+ { 216, "Mauszeiger anzeigen" },
+ { 217, "Untertitel anzeigen und Sprachausgabe aktivieren" },
+ { 218, "Cursor zeigen/verbergen" },
+ { 219, "\334berspringen" },
+ { 220, "Zeile \374berspringen" },
+ { 221, "Text \374berspringen" },
+ { 222, "An Ecken anheften" },
+ { 223, "Software-Skalierung (gute Qualit\344t, aber langsamer)" },
+ { 224, "Ton ein/aus" },
+ { 225, "SoundFont wird von einigen Soundkarten, Fluidsynth und Timidity unterst\374tzt." },
+ { 226, "SoundFont:" },
+ { 227, "Spr." },
+ { 228, "Spezielle Farbmischungsmethoden werden von manchen Spielen unterst\374tzt." },
+ { 229, "Lautst\344rke spezieller Soundeffekte" },
+ { 230, "Legt das standardm\344\337ige Musikwiedergabe-Ger\344t f\374r General-MIDI-Ausgabe fest." },
+ { 231, "Legt das standardm\344\337ige Tonwiedergabe-Ger\344t f\374r die Ausgabe von Roland MT-32/LAPC1/CM32l/CM64 fest." },
+ { 232, "Legt das Musikwiedergabe-Ger\344t oder den Soundkarten-Emulator fest." },
+ { 233, "Legt das Verzeichnis f\374r zus\344tzliche Spieldateien f\374r alle Spiele in ScummVM fest." },
+ { 234, "Legt das Verzeichnis f\374r zus\344tzliche Spieldateien fest." },
+ { 235, "Legt das bevorzugte Tonwiedergabe-Ger\344t oder den Soundkarten-Emulator fest." },
+ { 236, "Legt fest, wo die Spielst\344nde abgelegt werden." },
+ { 237, "Sprache" },
+ { 238, "Sprachlautst\344rke:" },
+ { 239, "Standard-Renderer (16bpp)" },
+ { 240, "Ausgew\344hltes Spiel starten" },
+ { 241, "Status:" },
+ { 242, "Untert." },
+ { 243, "Untertitel-Tempo:" },
+ { 244, "Untertitel" },
+ { 245, "Figur wechseln" },
+ { 246, "Tippen f\374r Linksklick, Doppeltippen f\374r Rechtsklick" },
+ { 247, "Text und Sprache:" },
+ { 248, "In das gew\344hlte Verzeichnis kann nicht geschrieben werden. Bitte ein anderes ausw\344hlen." },
+ { 249, "Themenpfad:" },
+ { 250, "Thema:" },
+ { 251, "Diese Spielkennung ist schon vergeben. Bitte eine andere w\344hlen." },
+ { 252, "F\374r dieses Spiel wird das Laden aus der Spieleliste heraus nicht unterst\374tzt." },
+ { 253, "Zeit: " },
+ { 254, "Zeit\374berschreitung beim Starten des Netzwerks" },
+ { 255, "Zu X-Position gehen" },
+ { 256, "Zu Y-Position gehen" },
+ { 257, "Touchpad-Modus ausgeschaltet." },
+ { 258, "Touchpad-Modus aktiviert." },
+ { 259, "Echte Roland-MT-32-Emulation (GM-Emulation deaktiviert)" },
+ { 260, "Schaltet die General-MIDI-Zuweisung f\374r Spiele mit Roland-MT-32-Audiospur aus." },
+ { 261, "Unbekannt" },
+ { 262, "Unbekannter Fehler" },
+ { 263, "DVD aush\344ngen" },
+ { 264, "SMB aush\344ngen" },
+ { 265, "Nicht skalieren (Sie m\374ssen nach links und nach rechts scrollen)" },
+ { 266, "Farbmodus nicht unterst\374tzt" },
+ { 267, "Unbenannt" },
+ { 268, "Hoch" },
+ { 269, "Benutzt MIDI und AdLib zur Sounderzeugung." },
+ { 270, "Den Trackpad-Style f\374r Maussteuerung benutzen" },
+ { 271, "Benutzername:" },
+ { 272, "SDL-Treiber verwenden" },
+ { 273, "Vertikale Bildverkleinerung:" },
+ { 274, "Video" },
+ { 275, "Virtuelle Tastatur" },
+ { 276, "Lautst\344rke" },
+ { 277, "Windows MIDI" },
+ { 278, "Schreib-Berechtigung nicht vorhanden" },
+ { 279, "Daten konnten nicht geschrieben werden." },
+ { 280, "Ja" },
+ { 281, "Sie m\374ssen ScummVM neustarten, um die Einstellungen zu \374bernehmen." },
+ { 282, "Zone" },
+ { 283, "Hineinzoomen" },
+ { 284, "Herauszoomen" },
+ { 285, "alle 10 Minuten" },
+ { 286, "alle 15 Minuten" },
+ { 287, "alle 30 Minuten" },
+ { 288, "alle 5 Minuten" },
+ { 289, "\334be~r~" },
+ { 290, "Spiel ~h~inzuf\374gen" },
+ { 291, "~A~bbrechen" },
+ { 292, "~S~chlie\337en" },
+ { 293, "Spielo~p~tionen" },
+ { 294, "~H~ilfe" },
+ { 295, "~K~ampfsteuerung f\374r Indiana Jones" },
+ { 296, "~T~asten" },
+ { 297, "~L~inke-Hand-Modus" },
+ { 298, "~L~aden" },
+ { 299, "~L~aden..." },
+ { 300, "~W~eiter" },
+ { 301, "~O~K" },
+ { 302, "~O~ptionen" },
+ { 303, "~O~ptionen" },
+ { 304, "~Z~ur\374ck" },
+ { 305, "~B~eenden" },
+ { 306, "Spiel ~e~ntfernen" },
+ { 307, "~F~ortsetzen" },
+ { 308, "Zur Spiele~l~iste zur\374ck" },
+ { 309, "~S~peichern" },
+ { 310, "~S~tarten" },
+ { 311, "\334ber~g~\344nge aktiviert" },
+ { 312, "~W~assereffekt aktiviert" },
+ { 313, "~Z~ip-Modus aktiviert" },
+ { -1, NULL }
+};
+
+struct PoLangEntry {
+ const char *lang;
+ const char *charset;
+ const PoMessageEntry *msgs;
+};
+
+const PoLangEntry _translations[] = {
+ { "ru_RU", "iso-8859-5", _translation_ru_RU },
+ { "fr_FR", "iso-8859-1", _translation_fr_FR },
+ { "it_IT", "iso-8859-1", _translation_it_IT },
+ { "ca_ES", "iso-8859-1", _translation_ca_ES },
+ { "hu_HU", "cp1250", _translation_hu_HU },
+ { "de_DE", "iso-8859-1", _translation_de_DE },
+ { NULL, NULL, NULL }
+};
+
+// code
+
+static const PoMessageEntry *_currentTranslation = NULL;
+static int _currentTranslationMessageEntryCount = 0;
+static const char *_currentTranslationCharset = NULL;
+
+void po2c_setlang(const char *lang) {
+ _currentTranslation = NULL;
+ _currentTranslationMessageEntryCount = 0;
+ _currentTranslationCharset = NULL;
+
+ // if lang is NULL or "", deactivate it
+ if (lang == NULL || *lang == '\0')
+ return;
+
+ // searches for a valid language array
+ for (int i = 0; _currentTranslation == NULL && _translations[i].lang != NULL; ++i) {
+ if (strcmp(lang, _translations[i].lang) == 0) {
+ _currentTranslation = _translations[i].msgs;
+ _currentTranslationCharset = _translations[i].charset;
+ }
+ }
+
+ // try partial searches
+ for (int i = 0; _currentTranslation == NULL && _translations[i].lang != NULL; ++i) {
+ if (strncmp(lang, _translations[i].lang, 2) == 0) {
+ _currentTranslation = _translations[i].msgs;
+ _currentTranslationCharset = _translations[i].charset;
+ }
+ }
+
+ // if found, count entries
+ if (_currentTranslation != NULL) {
+ for (const PoMessageEntry *m = _currentTranslation; m->msgid != -1; ++m)
+ ++_currentTranslationMessageEntryCount;
+ }
+}
+
+const char *po2c_gettext(const char *msgid) {
+ // if no language is set or msgid is empty, return msgid as is
+ if (_currentTranslation == NULL || *msgid == '\0')
+ return msgid;
+
+ // binary-search for the msgid
+ int leftIndex = 0;
+ int rightIndex = _currentTranslationMessageEntryCount - 1;
+
+ while (rightIndex >= leftIndex) {
+ const int midIndex = (leftIndex + rightIndex) / 2;
+ const PoMessageEntry * const m = &_currentTranslation[midIndex];
+
+ const int compareResult = strcmp(msgid, _messageIds[m->msgid]);
+
+ if (compareResult == 0)
+ return m->msgstr;
+ else if (compareResult < 0)
+ rightIndex = midIndex - 1;
+ else
+ leftIndex = midIndex + 1;
+ }
+
+ return msgid;
+}
+
+const char *po2c_getcharset(void) {
+ if (_currentTranslationCharset)
+ return _currentTranslationCharset;
+ else
+ return "ASCII";
+}
+
+int po2c_getnumlangs(void) {
+ return ARRAYSIZE(_translations) - 1;
+}
+
+const char *po2c_getlang(const int num) {
+ assert(num < ARRAYSIZE(_translations));
+ return _translations[num].lang;
+}
diff --git a/common/module.mk b/common/module.mk
index 83d30f0a9b..239f8e9ccf 100644
--- a/common/module.mk
+++ b/common/module.mk
@@ -22,6 +22,7 @@ MODULE_OBJS := \
system.o \
textconsole.o \
tokenizer.o \
+ translation.o \
unarj.o \
unzip.o \
util.o \
diff --git a/common/savefile.h b/common/savefile.h
index 39be661b45..16b0fdbfbe 100644
--- a/common/savefile.h
+++ b/common/savefile.h
@@ -109,14 +109,14 @@ public:
/**
* Open the savefile with the specified name in the given directory for saving.
* @param name the name of the savefile
- * @return pointer to an OutSaveFile, or NULL if an error occured.
+ * @return pointer to an OutSaveFile, or NULL if an error occurred.
*/
virtual OutSaveFile *openForSaving(const String &name) = 0;
/**
* Open the file with the specified name in the given directory for loading.
* @param name the name of the savefile
- * @return pointer to an InSaveFile, or NULL if an error occured.
+ * @return pointer to an InSaveFile, or NULL if an error occurred.
*/
virtual InSaveFile *openForLoading(const String &name) = 0;
diff --git a/common/str.cpp b/common/str.cpp
index 5e771c8b4d..744ba46ec7 100644
--- a/common/str.cpp
+++ b/common/str.cpp
@@ -105,8 +105,6 @@ String::String(char c)
_storage[0] = c;
_storage[1] = 0;
- // TODO/FIXME: There is no reason for the following check -- we *do*
- // allow strings to contain 0 bytes!
_size = (c == 0) ? 0 : 1;
}
@@ -151,7 +149,11 @@ void String::ensureCapacity(uint32 new_size, bool keep_old) {
// We need to allocate storage on the heap!
// Compute a suitable new capacity limit
- newCapacity = MAX(curCapacity * 2, computeCapacity(new_size+1));
+ // If the current capacity is sufficient we use the same capacity
+ if (new_size < curCapacity)
+ newCapacity = curCapacity;
+ else
+ newCapacity = MAX(curCapacity * 2, computeCapacity(new_size+1));
// Allocate new storage
newStorage = new char[newCapacity];
@@ -252,9 +254,11 @@ String &String::operator=(const String &str) {
String &String::operator=(char c) {
decRefCount(_extern._refCount);
_str = _storage;
- _size = 1;
+
_str[0] = c;
_str[1] = 0;
+
+ _size = (c == 0) ? 0 : 1;
return *this;
}
diff --git a/common/str.h b/common/str.h
index 189c37adb4..e3dec6cdc2 100644
--- a/common/str.h
+++ b/common/str.h
@@ -39,6 +39,9 @@ namespace Common {
* Instead, small strings are stored 'inside' the string object (i.e. on
* the stack, for stack allocated objects), and only for strings exceeding
* a certain length do we allocate a buffer on the heap.
+ *
+ * The presence of \0 characters in the string will cause undefined
+ * behaviour in some operations.
*/
class String {
protected:
diff --git a/common/stream.cpp b/common/stream.cpp
index 6737eafc9c..84b712a562 100644
--- a/common/stream.cpp
+++ b/common/stream.cpp
@@ -152,7 +152,7 @@ char *SeekableReadStream::readLine(char *buf, size_t bufSize) {
len++;
}
- // We always terminate the buffer if no error occured
+ // We always terminate the buffer if no error occurred
*p = 0;
return buf;
}
@@ -303,4 +303,29 @@ bool BufferedSeekableReadStream::seek(int32 offset, int whence) {
return true; // FIXME: STREAM REWRITE
}
+bool MemoryWriteStreamDynamic::seek(int32 offs, int whence) {
+ // Pre-Condition
+ assert(_pos <= _size);
+ switch (whence) {
+ case SEEK_END:
+ // SEEK_END works just like SEEK_SET, only 'reversed',
+ // i.e. from the end.
+ offs = _size + offs;
+ // Fall through
+ case SEEK_SET:
+ _ptr = _data + offs;
+ _pos = offs;
+ break;
+
+ case SEEK_CUR:
+ _ptr += offs;
+ _pos += offs;
+ break;
+ }
+ // Post-Condition
+ assert(_pos <= _size);
+
+ return true; // FIXME: STREAM REWRITE
+}
+
} // End of namespace Common
diff --git a/common/stream.h b/common/stream.h
index 11041fa3ce..5e0d7149b0 100644
--- a/common/stream.h
+++ b/common/stream.h
@@ -687,6 +687,8 @@ public:
uint32 size() const { return _size; }
byte *getData() { return _data; }
+
+ bool seek(int32 offset, int whence = SEEK_SET);
};
} // End of namespace Common
diff --git a/common/system.h b/common/system.h
index b4b39889cd..6c8d6108a4 100644
--- a/common/system.h
+++ b/common/system.h
@@ -385,7 +385,7 @@ public:
* @note Backends supporting RGB color should accept game data in RGB color
* order, even if hardware uses BGR or some other color order.
*/
- virtual Common::List<Graphics::PixelFormat> getSupportedFormats() = 0;
+ virtual Common::List<Graphics::PixelFormat> getSupportedFormats() const = 0;
#else
inline Graphics::PixelFormat getScreenFormat() const {
return Graphics::PixelFormat::createFormatCLUT8();
@@ -881,7 +881,7 @@ public:
/**
* Create a new mutex.
- * @return the newly created mutex, or 0 if an error occured.
+ * @return the newly created mutex, or 0 if an error occurred.
*/
virtual MutexRef createMutex() = 0;
diff --git a/common/textconsole.cpp b/common/textconsole.cpp
index 87ba55ebf1..2e5a347489 100644
--- a/common/textconsole.cpp
+++ b/common/textconsole.cpp
@@ -47,6 +47,10 @@ extern bool isSmartphone();
#include <android/log.h>
#endif
+#ifdef __PSP__
+ #include "backends/platform/psp/trace.h"
+#endif
+
namespace Common {
static OutputFormatter s_errorOutputFormatter = 0;
@@ -159,6 +163,11 @@ void NORETURN_PRE error(const char *s, ...) {
#ifdef __SYMBIAN32__
Symbian::FatalError(buf_output);
#endif
+
+#ifdef __PSP__
+ PspDebugTrace(false, "%s", buf_output); // write to file
+#endif
+
// Finally exit. quit() will terminate the program if g_system is present
if (g_system)
g_system->quit();
diff --git a/common/translation.cpp b/common/translation.cpp
new file mode 100644
index 0000000000..093f26510f
--- /dev/null
+++ b/common/translation.cpp
@@ -0,0 +1,217 @@
+/* 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.
+ *
+ * $URL$
+ * $Id$
+ */
+
+#ifdef WIN32
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+// winnt.h defines ARRAYSIZE, but we want our own one... - this is needed before including util.h
+#undef ARRAYSIZE
+#endif
+
+#include "translation.h"
+
+DECLARE_SINGLETON(Common::TranslationManager)
+
+#ifdef USE_DETECTLANG
+#ifndef WIN32
+#include <locale.h>
+#endif // !WIN32
+#endif
+
+#ifdef USE_TRANSLATION
+#include "messages.cpp"
+#endif
+
+namespace Common {
+
+
+#ifdef USE_TRANSLATION
+
+// Translation enabled
+
+TranslationManager::TranslationManager() {
+#ifdef USE_DETECTLANG
+#ifdef WIN32
+ // We can not use "setlocale" (at least not for MSVC builds), since it
+ // will return locales like: "English_USA.1252", thus we need a special
+ // way to determine the locale string for Win32.
+ char langName[9];
+ char ctryName[9];
+
+ const LCID languageIdentifier = GetThreadLocale();
+
+ // GetLocalInfo is only supported starting from Windows 2000, according to this:
+ // http://msdn.microsoft.com/en-us/library/dd318101%28VS.85%29.aspx
+ // On the other hand the locale constants used, seem to exist on Windows 98 too,
+ // check this for that: http://msdn.microsoft.com/en-us/library/dd464799%28v=VS.85%29.aspx
+ //
+ // I am not exactly sure what is the truth now, it might be very well that this breaks
+ // support for systems older than Windows 2000....
+ //
+ // TODO: Check whether this (or ScummVM at all ;-) works on a system with Windows 98 for
+ // example and if it does not and we still want Windows 9x support, we should definitly
+ // think of another solution.
+ if (GetLocaleInfo(languageIdentifier, LOCALE_SISO639LANGNAME, langName, sizeof(langName)) != 0 &&
+ GetLocaleInfo(languageIdentifier, LOCALE_SISO3166CTRYNAME, ctryName, sizeof(ctryName)) != 0) {
+ _syslang = langName;
+ _syslang += "_";
+ _syslang += ctryName;
+ } else {
+ _syslang = "C";
+ }
+#else // WIN32
+ // Activating current locale settings
+ const char *locale = setlocale(LC_ALL, "");
+
+ // Detect the language from the locale
+ if (!locale) {
+ _syslang = "C";
+ } else {
+ int length = 0;
+
+ // Strip out additional information, like
+ // ".UTF-8" or the like. We do this, since
+ // our translation languages are usually
+ // specified without any charset information.
+ for (int i = 0; locale[i]; ++i) {
+ // TODO: Check whether "@" should really be checked
+ // here.
+ if (locale[i] == '.' || locale[i] == ' ' || locale[i] == '@') {
+ length = i;
+ break;
+ }
+
+ length = i;
+ }
+
+ _syslang = String(locale, length);
+ }
+#endif // WIN32
+#else // USE_DETECTLANG
+ _syslang = "C";
+#endif // USE_DETECTLANG
+
+ // Set the default language
+ setLanguage("");
+}
+
+TranslationManager::~TranslationManager() {
+}
+
+void TranslationManager::setLanguage(const char *lang) {
+ if (*lang == '\0')
+ po2c_setlang(_syslang.c_str());
+ else
+ po2c_setlang(lang);
+}
+
+const char *TranslationManager::getTranslation(const char *message) {
+ return po2c_gettext(message);
+}
+
+const char *TranslationManager::getCurrentCharset() {
+ return po2c_getcharset();
+}
+
+String TranslationManager::getTranslation(const String &message) {
+ return po2c_gettext(message.c_str());
+}
+
+const TLangArray TranslationManager::getSupportedLanguages() const {
+ TLangArray languages;
+
+ int total = po2c_getnumlangs();
+ for (int i = 0; i < total; i++) {
+ TLanguage lng(po2c_getlang(i), i + 1);
+ languages.push_back(lng);
+ }
+
+ //sort(languages.begin(), languages.end());
+
+ return languages;
+}
+
+int TranslationManager::parseLanguage(const String lang) {
+ int total = po2c_getnumlangs();
+
+ for (int i = 0; i < total; i++) {
+ if (lang == po2c_getlang(i))
+ return i + 1;
+ }
+
+ return kTranslationBuiltinId;
+}
+
+
+const char *TranslationManager::getLangById(int id) {
+ switch (id) {
+ case kTranslationAutodetectId:
+ return "";
+ case kTranslationBuiltinId:
+ return "C";
+ default:
+ if (id >= 0 && id - 1 < po2c_getnumlangs())
+ return po2c_getlang(id - 1);
+ }
+
+ // In case an invalid ID was specified, we will output a warning
+ // and return the same value as the auto detection id.
+ warning("Invalid language id %d passed to TranslationManager::getLangById", id);
+ return "";
+}
+
+#else // USE_TRANSLATION
+
+// Translation disabled
+
+
+TranslationManager::TranslationManager() {}
+
+TranslationManager::~TranslationManager() {}
+
+void TranslationManager::setLanguage(const char *lang) {}
+
+const char *TranslationManager::getLangById(int id) {
+ return "";
+}
+
+int TranslationManager::parseLanguage(const String lang) {
+ return kTranslationBuiltinId;
+}
+
+const char *TranslationManager::getTranslation(const char *message) {
+ return message;
+}
+
+String TranslationManager::getTranslation(const String &message) {
+ return message;
+}
+
+const TLangArray TranslationManager::getSupportedLanguages() const {
+ return TLangArray();
+}
+
+#endif // USE_TRANSLATION
+
+} // End of namespace Common
diff --git a/common/translation.h b/common/translation.h
new file mode 100644
index 0000000000..277ac6f5c4
--- /dev/null
+++ b/common/translation.h
@@ -0,0 +1,145 @@
+/* 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.
+ *
+ * $URL$
+ * $Id$
+ */
+
+#ifndef COMMON_TRANSLATION_H
+#define COMMON_TRANSLATION_H
+
+#include "common/singleton.h"
+#include "common/str-array.h"
+
+namespace Common {
+
+enum TranslationIDs {
+ kTranslationAutodetectId = 0,
+ kTranslationBuiltinId = 1000
+};
+
+struct TLanguage {
+ const char *name;
+ int id;
+
+ TLanguage() {
+ name = 0;
+ id = 0;
+ }
+
+ TLanguage(const char *n, int i) {
+ name = n;
+ id = i;
+ }
+};
+
+typedef Array<TLanguage> TLangArray;
+
+/**
+ * Message translation manager.
+ */
+class TranslationManager : public Singleton<TranslationManager> {
+public:
+ /**
+ * The constructor detects the system language and sets default
+ * language to English.
+ */
+ TranslationManager();
+ ~TranslationManager();
+
+ /**
+ * Retrieves the language string to the given id.
+ *
+ * @param id Id of the language
+ * @return the matching string description of the language
+ */
+ const char *getLangById(int id);
+
+ /**
+ * Sets the current translation language to the one specified in the
+ * parameter. If the parameter is an empty string, it sets the default
+ * system language.
+ *
+ * @param lang Language to setup.
+ */
+ void setLanguage(const char *lang);
+
+ /**
+ * Sets the current translation language to the one specified by the
+ * id parameter.
+ *
+ * @param id The id of the language.
+ */
+ void setLanguage(int id) {
+ setLanguage(getLangById(id));
+ }
+
+ /**
+ * Parses a language string and returns an id instead.
+ *
+ * @param lang Language string
+ * @return id of the language or kTranslationBuiltinId in case the
+ * language could not be found.
+ */
+ int parseLanguage(const String lang);
+
+ /**
+ * Returns the translation into the current language of the parameter
+ * message. In case the message isn't found in the translation catalog,
+ * it returns the original untranslated message.
+ */
+ const char *getTranslation(const char *message);
+
+ /**
+ * Returns the translation into the current language of the parameter
+ * message. In case the message isn't found in the translation catalog,
+ * it returns the original untranslated message.
+ */
+ String getTranslation(const String &message);
+
+ /**
+ * Returns a list of supported languages.
+ *
+ * @return The list of supported languages.
+ */
+ const TLangArray getSupportedLanguages() const;
+
+ /**
+ * Returns charset specified by selected translation language
+ */
+ const char *getCurrentCharset();
+
+private:
+ Common::String _syslang;
+};
+
+} // End of namespace Common
+
+#define TransMan Common::TranslationManager::instance()
+
+#ifdef USE_TRANSLATION
+#define _(str) TransMan.getTranslation(str)
+#else
+#define _(str) str
+#endif
+
+#define _s(str) str
+
+#endif
diff --git a/common/unzip.cpp b/common/unzip.cpp
index e46106025e..a29518a796 100644
--- a/common/unzip.cpp
+++ b/common/unzip.cpp
@@ -79,6 +79,30 @@
#include <zlib.h>
#endif
+#else // !USE_ZLIB
+
+// Even when zlib is not linked in, we can still open ZIP archives and read
+// uncompressed files from them. Attempted decompression of compressed files
+// will result in an error.
+//
+// Define the constants and types used by zlib.
+#define Z_ERRNO -1
+#define Z_OK 0
+#define Z_DEFLATED 8
+typedef void *voidp;
+typedef unsigned int uInt;
+typedef unsigned long uLong;
+typedef long z_off_t;
+typedef unsigned char Byte;
+typedef Byte Bytef;
+typedef struct {
+ Bytef *next_in, *next_out;
+ uInt avail_in, avail_out;
+ uLong total_out;
+} z_stream;
+
+#endif // !USE_ZLIB
+
#include "common/fs.h"
#include "common/unzip.h"
#include "common/file.h"
@@ -1044,6 +1068,7 @@ int unzOpenCurrentFile (unzFile file) {
pfile_in_zip_read_info->stream.total_out = 0;
if (!Store) {
+#ifdef USE_ZLIB
pfile_in_zip_read_info->stream.zalloc = (alloc_func)0;
pfile_in_zip_read_info->stream.zfree = (free_func)0;
pfile_in_zip_read_info->stream.opaque = (voidpf)0;
@@ -1058,6 +1083,9 @@ int unzOpenCurrentFile (unzFile file) {
* In unzip, i don't wait absolutely Z_STREAM_END because I known the
* size of both compressed and uncompressed data
*/
+#else
+ err=UNZ_BADZIPFILE;
+#endif
}
pfile_in_zip_read_info->rest_read_compressed = s->cur_file_info.compressed_size;
pfile_in_zip_read_info->rest_read_uncompressed = s->cur_file_info.uncompressed_size;
@@ -1068,9 +1096,8 @@ int unzOpenCurrentFile (unzFile file) {
pfile_in_zip_read_info->stream.avail_in = (uInt)0;
-
s->pfile_in_zip_read = pfile_in_zip_read_info;
- return UNZ_OK;
+ return err;
}
@@ -1143,9 +1170,11 @@ int unzReadCurrentFile(unzFile file, voidp buf, unsigned len) {
for (i=0;i<uDoCopy;i++)
*(pfile_in_zip_read_info->stream.next_out+i) = *(pfile_in_zip_read_info->stream.next_in+i);
+#ifdef USE_ZLIB
pfile_in_zip_read_info->crc32_data = crc32(pfile_in_zip_read_info->crc32_data,
pfile_in_zip_read_info->stream.next_out,
uDoCopy);
+#endif // otherwise leave crc32_data as is and it won't be verified at the end
pfile_in_zip_read_info->rest_read_uncompressed-=uDoCopy;
pfile_in_zip_read_info->stream.avail_in -= uDoCopy;
pfile_in_zip_read_info->stream.avail_out -= uDoCopy;
@@ -1154,6 +1183,7 @@ int unzReadCurrentFile(unzFile file, voidp buf, unsigned len) {
pfile_in_zip_read_info->stream.total_out += uDoCopy;
iRead += uDoCopy;
} else {
+#ifdef USE_ZLIB
uLong uTotalOutBefore,uTotalOutAfter;
const Bytef *bufBefore;
uLong uOutThis;
@@ -1184,6 +1214,11 @@ int unzReadCurrentFile(unzFile file, voidp buf, unsigned len) {
return (iRead==0) ? UNZ_EOF : iRead;
if (err!=Z_OK)
break;
+#else
+ // Cannot decompress the file without zlib.
+ err = UNZ_BADZIPFILE;
+ break;
+#endif
}
}
@@ -1302,16 +1337,20 @@ int unzCloseCurrentFile(unzFile file) {
return UNZ_PARAMERROR;
+#ifdef USE_ZLIB
+ // Only verify crc32_data when zlib is linked in, because otherwise crc32() is
+ // not defined.
if (pfile_in_zip_read_info->rest_read_uncompressed == 0) {
if (pfile_in_zip_read_info->crc32_data != pfile_in_zip_read_info->crc32_wait)
err=UNZ_CRCERROR;
}
+ if (pfile_in_zip_read_info->stream_initialised)
+ inflateEnd(&pfile_in_zip_read_info->stream);
+#endif
free(pfile_in_zip_read_info->read_buffer);
pfile_in_zip_read_info->read_buffer = NULL;
- if (pfile_in_zip_read_info->stream_initialised)
- inflateEnd(&pfile_in_zip_read_info->stream);
pfile_in_zip_read_info->stream_initialised = 0;
free(pfile_in_zip_read_info);
@@ -1466,5 +1505,3 @@ Archive *makeZipArchive(SeekableReadStream *stream) {
}
} // End of namespace Common
-
-#endif
diff --git a/common/unzip.h b/common/unzip.h
index 2f87a96d2b..c460840f12 100644
--- a/common/unzip.h
+++ b/common/unzip.h
@@ -25,8 +25,6 @@
#ifndef COMMON_UNZIP_H
#define COMMON_UNZIP_H
-#ifdef USE_ZLIB
-
namespace Common {
class Archive;
@@ -62,6 +60,4 @@ Archive *makeZipArchive(SeekableReadStream *stream);
} // End of namespace Common
-#endif // USE_ZLIB
-
#endif
diff --git a/common/util.cpp b/common/util.cpp
index 742eb0035d..521a12e4c7 100644
--- a/common/util.cpp
+++ b/common/util.cpp
@@ -24,6 +24,7 @@
#include "common/util.h"
#include "common/system.h"
+#include "common/translation.h"
#include "common/config-manager.h"
namespace Common {
@@ -31,7 +32,7 @@ namespace Common {
//
// Print hexdump of the data passed in
//
-void hexdump(const byte * data, int len, int bytesPerLine, int startOffset) {
+void hexdump(const byte *data, int len, int bytesPerLine, int startOffset) {
assert(1 <= bytesPerLine && bytesPerLine <= 32);
int i;
byte c;
@@ -106,29 +107,29 @@ bool parseBool(const Common::String &val, bool &valAsBool) {
const LanguageDescription g_languages[] = {
- {"zh-cn", "Chinese (China)", ZH_CNA},
- {"zh", "Chinese (Taiwan)", ZH_TWN},
- {"cz", "Czech", CZ_CZE},
- {"nl", "Dutch", NL_NLD},
- {"en", "English", EN_ANY}, // Generic English (when only one game version exist)
- {"gb", "English (GB)", EN_GRB},
- {"us", "English (US)", EN_USA},
- {"fr", "French", FR_FRA},
- {"de", "German", DE_DEU},
- {"gr", "Greek", GR_GRE},
- {"he", "Hebrew", HE_ISR},
- {"hb", "Hebrew", HE_ISR}, // Deprecated
- {"hu", "Hungarian", HU_HUN},
- {"it", "Italian", IT_ITA},
- {"jp", "Japanese", JA_JPN},
- {"kr", "Korean", KO_KOR},
- {"nb", "Norwegian Bokm\xE5l", NB_NOR},
- {"pl", "Polish", PL_POL},
- {"br", "Portuguese", PT_BRA},
- {"ru", "Russian", RU_RUS},
- {"es", "Spanish", ES_ESP},
- {"se", "Swedish", SE_SWE},
- {0, 0, UNK_LANG}
+ { "zh-cn", "Chinese (China)", ZH_CNA },
+ { "zh", "Chinese (Taiwan)", ZH_TWN },
+ { "cz", "Czech", CZ_CZE },
+ { "nl", "Dutch", NL_NLD },
+ { "en", "English", EN_ANY }, // Generic English (when only one game version exist)
+ { "gb", "English (GB)", EN_GRB },
+ { "us", "English (US)", EN_USA },
+ { "fr", "French", FR_FRA },
+ { "de", "German", DE_DEU },
+ { "gr", "Greek", GR_GRE },
+ { "he", "Hebrew", HE_ISR },
+ { "hb", "Hebrew", HE_ISR }, // Deprecated
+ { "hu", "Hungarian", HU_HUN },
+ { "it", "Italian", IT_ITA },
+ { "jp", "Japanese", JA_JPN },
+ { "kr", "Korean", KO_KOR },
+ { "nb", "Norwegian Bokm\xE5l", NB_NOR },
+ { "pl", "Polish", PL_POL },
+ { "br", "Portuguese", PT_BRA },
+ { "ru", "Russian", RU_RUS },
+ { "es", "Spanish", ES_ESP },
+ { "se", "Swedish", SE_SWE },
+ { 0, 0, UNK_LANG }
};
Language parseLanguage(const String &str) {
@@ -167,32 +168,32 @@ const char *getLanguageDescription(Language id) {
const PlatformDescription g_platforms[] = {
- {"2gs", "2gs", "2gs", "Apple IIgs", kPlatformApple2GS},
- {"3do", "3do", "3do", "3DO", kPlatform3DO},
- {"acorn", "acorn", "acorn", "Acorn", kPlatformAcorn},
- {"amiga", "ami", "amiga", "Amiga", kPlatformAmiga},
- {"atari", "atari-st", "st", "Atari ST", kPlatformAtariST},
- {"c64", "c64", "c64", "Commodore 64", kPlatformC64},
- {"pc", "dos", "ibm", "DOS", kPlatformPC},
- {"pc98", "pc98", "pc98", "PC-98", kPlatformPC98},
- {"wii", "wii", "wii", "Nintendo Wii", kPlatformWii},
- {"coco3", "coco3", "coco3", "CoCo3", kPlatformCoCo3},
+ { "2gs", "2gs", "2gs", "Apple IIgs", kPlatformApple2GS },
+ { "3do", "3do", "3do", "3DO", kPlatform3DO },
+ { "acorn", "acorn", "acorn", "Acorn", kPlatformAcorn },
+ { "amiga", "ami", "amiga", "Amiga", kPlatformAmiga },
+ { "atari", "atari-st", "st", "Atari ST", kPlatformAtariST },
+ { "c64", "c64", "c64", "Commodore 64", kPlatformC64 },
+ { "pc", "dos", "ibm", "DOS", kPlatformPC },
+ { "pc98", "pc98", "pc98", "PC-98", kPlatformPC98 },
+ { "wii", "wii", "wii", "Nintendo Wii", kPlatformWii },
+ { "coco3", "coco3", "coco3", "CoCo3", kPlatformCoCo3 },
// The 'official' spelling seems to be "FM-TOWNS" (e.g. in the Indy4 demo).
// However, on the net many variations can be seen, like "FMTOWNS",
// "FM TOWNS", "FmTowns", etc.
- {"fmtowns", "towns", "fm", "FM-TOWNS", kPlatformFMTowns},
-
- {"linux", "linux", "linux", "Linux", kPlatformLinux},
- {"macintosh", "mac", "mac", "Macintosh", kPlatformMacintosh},
- {"pce", "pce", "pce", "PC-Engine", kPlatformPCEngine},
- {"nes", "nes", "nes", "NES", kPlatformNES},
- {"segacd", "segacd", "sega", "SegaCD", kPlatformSegaCD},
- {"windows", "win", "win", "Windows", kPlatformWindows},
- {"playstation", "psx", "psx", "Sony PlayStation", kPlatformPSX},
- {"cdi", "cdi", "cdi", "Phillips CD-i", kPlatformCDi},
-
- {0, 0, 0, "Default", kPlatformUnknown}
+ { "fmtowns", "towns", "fm", "FM-TOWNS", kPlatformFMTowns },
+
+ { "linux", "linux", "linux", "Linux", kPlatformLinux },
+ { "macintosh", "mac", "mac", "Macintosh", kPlatformMacintosh },
+ { "pce", "pce", "pce", "PC-Engine", kPlatformPCEngine },
+ { "nes", "nes", "nes", "NES", kPlatformNES },
+ { "segacd", "segacd", "sega", "SegaCD", kPlatformSegaCD },
+ { "windows", "win", "win", "Windows", kPlatformWindows },
+ { "playstation", "psx", "psx", "Sony PlayStation", kPlatformPSX },
+ { "cdi", "cdi", "cdi", "Phillips CD-i", kPlatformCDi },
+
+ { 0, 0, 0, "Default", kPlatformUnknown }
};
Platform parsePlatform(const String &str) {
@@ -250,11 +251,11 @@ const char *getPlatformDescription(Platform id) {
const RenderModeDescription g_renderModes[] = {
- {"hercGreen", "Hercules Green", kRenderHercG},
- {"hercAmber", "Hercules Amber", kRenderHercA},
- {"cga", "CGA", kRenderCGA},
- {"ega", "EGA", kRenderEGA},
- {"amiga", "Amiga", kRenderAmiga},
+ { "hercGreen", _s("Hercules Green"), kRenderHercG },
+ { "hercAmber", _s("Hercules Amber"), kRenderHercA },
+ { "cga", "CGA", kRenderCGA },
+ { "ega", "EGA", kRenderEGA },
+ { "amiga", "Amiga", kRenderAmiga },
{0, 0, kRenderDefault}
};
@@ -293,12 +294,23 @@ const struct GameOpt {
uint32 option;
const char *desc;
} g_gameOptions[] = {
- { GUIO_NOSUBTITLES, "sndNoSubs" },
- { GUIO_NOMUSIC, "sndNoMusic" },
- { GUIO_NOSPEECH, "sndNoSpeech" },
- { GUIO_NOSFX, "sndNoSFX" },
- { GUIO_NOMIDI, "sndNoMIDI" },
+ { GUIO_NOSUBTITLES, "sndNoSubs" },
+ { GUIO_NOMUSIC, "sndNoMusic" },
+ { GUIO_NOSPEECH, "sndNoSpeech" },
+ { GUIO_NOSFX, "sndNoSFX" },
+ { GUIO_NOMIDI, "sndNoMIDI" },
+
{ GUIO_NOLAUNCHLOAD, "launchNoLoad" },
+
+ { GUIO_MIDIPCSPK, "midiPCSpk" },
+ { GUIO_MIDICMS, "midiCMS" },
+ { GUIO_MIDIPCJR, "midiPCJr" },
+ { GUIO_MIDIADLIB, "midiAdLib" },
+ { GUIO_MIDITOWNS, "midiTowns" },
+ { GUIO_MIDIPC98, "midiPC98" },
+ { GUIO_MIDIMT32, "midiMt32" },
+ { GUIO_MIDIGM, "midiGM" },
+
{ GUIO_NONE, 0 }
};
@@ -314,9 +326,26 @@ bool checkGameGUIOption(GameGUIOption option, const String &str) {
return false;
}
+bool checkGameGUIOptionLanguage(Language lang, const String &str) {
+ if (!str.contains("lang_")) // If no languages are specified
+ return true;
+
+ if (str.contains(getGameGUIOptionsDescriptionLanguage(lang)))
+ return true;
+
+ return false;
+}
+
+const String getGameGUIOptionsDescriptionLanguage(Language lang) {
+ if (lang == UNK_LANG)
+ return "";
+
+ return String(String("lang_") + getLanguageDescription(lang));
+}
+
uint32 parseGameGUIOptions(const String &str) {
uint32 res = 0;
-
+
for (int i = 0; g_gameOptions[i].desc; i++)
if (str.contains(g_gameOptions[i].desc))
res |= g_gameOptions[i].option;
@@ -324,7 +353,7 @@ uint32 parseGameGUIOptions(const String &str) {
return res;
}
-String getGameGUIOptionsDescription(uint32 options) {
+const String getGameGUIOptionsDescription(uint32 options) {
String res = "";
for (int i = 0; g_gameOptions[i].desc; i++)
@@ -336,12 +365,15 @@ String getGameGUIOptionsDescription(uint32 options) {
return res;
}
-void updateGameGUIOptions(const uint32 options) {
+void updateGameGUIOptions(const uint32 options, const String &langOption) {
+ const String newOptionString = getGameGUIOptionsDescription(options) + " " + langOption;
+
if ((options && !ConfMan.hasKey("guioptions")) ||
- (ConfMan.hasKey("guioptions") && options != parseGameGUIOptions(ConfMan.get("guioptions")))) {
- ConfMan.set("guioptions", getGameGUIOptionsDescription(options));
+ (ConfMan.hasKey("guioptions") && ConfMan.get("guioptions") != newOptionString)) {
+ ConfMan.set("guioptions", newOptionString);
ConfMan.flushToDisk();
}
}
-} // End of namespace Common
+} // End of namespace Common
+
diff --git a/common/util.h b/common/util.h
index 0b7a44f5b3..7a9cf4fb2d 100644
--- a/common/util.h
+++ b/common/util.h
@@ -215,21 +215,32 @@ enum GameGUIOption {
GUIO_NOSUBTITLES = (1 << 0),
GUIO_NOMUSIC = (1 << 1),
GUIO_NOSPEECH = (1 << 2),
- GUIO_NOSFX = (1 << 3),
- GUIO_NOMIDI = (1 << 4),
- GUIO_NOLAUNCHLOAD = (1 << 5)
+ GUIO_NOSFX = (1 << 3),
+ GUIO_NOMIDI = (1 << 4),
+ GUIO_NOLAUNCHLOAD = (1 << 5),
+
+ GUIO_MIDIPCSPK = (1 << 6),
+ GUIO_MIDICMS = (1 << 7),
+ GUIO_MIDIPCJR = (1 << 8),
+ GUIO_MIDIADLIB = (1 << 9),
+ GUIO_MIDITOWNS = (1 << 10),
+ GUIO_MIDIPC98 = (1 << 11),
+ GUIO_MIDIMT32 = (1 << 12),
+ GUIO_MIDIGM = (1 << 13)
};
bool checkGameGUIOption(GameGUIOption option, const String &str);
+bool checkGameGUIOptionLanguage(Language lang, const String &str);
uint32 parseGameGUIOptions(const String &str);
-String getGameGUIOptionsDescription(uint32 options);
+const String getGameGUIOptionsDescription(uint32 options);
+const String getGameGUIOptionsDescriptionLanguage(Language lang);
/**
* Updates the GUI options of the current config manager
* domain, when they differ to the ones passed as
* parameter.
*/
-void updateGameGUIOptions(const uint32 options);
+void updateGameGUIOptions(const uint32 options, const String &langOption);
} // End of namespace Common