diff options
author | Alejandro Marzini | 2010-07-13 04:31:15 +0000 |
---|---|---|
committer | Alejandro Marzini | 2010-07-13 04:31:15 +0000 |
commit | 609e08d5dbae3179eddf981abe73d69009432de4 (patch) | |
tree | cddbd0a0e69eaa53b85f98f96dc410a307773f08 /common | |
parent | 8b6a670391f1b5103e3761d78eef8f41d64cf8cd (diff) | |
parent | 03c0faa5d76f547603ee6389cdf958e2a6f0f43d (diff) | |
download | scummvm-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.cpp | 2 | ||||
-rw-r--r-- | common/error.cpp | 30 | ||||
-rw-r--r-- | common/error.h | 2 | ||||
-rw-r--r-- | common/events.h | 9 | ||||
-rw-r--r-- | common/file.cpp | 4 | ||||
-rw-r--r-- | common/macresman.cpp | 10 | ||||
-rw-r--r-- | common/messages.cpp | 2063 | ||||
-rw-r--r-- | common/module.mk | 1 | ||||
-rw-r--r-- | common/savefile.h | 4 | ||||
-rw-r--r-- | common/str.cpp | 12 | ||||
-rw-r--r-- | common/str.h | 3 | ||||
-rw-r--r-- | common/stream.cpp | 27 | ||||
-rw-r--r-- | common/stream.h | 2 | ||||
-rw-r--r-- | common/system.h | 4 | ||||
-rw-r--r-- | common/textconsole.cpp | 9 | ||||
-rw-r--r-- | common/translation.cpp | 217 | ||||
-rw-r--r-- | common/translation.h | 145 | ||||
-rw-r--r-- | common/unzip.cpp | 49 | ||||
-rw-r--r-- | common/unzip.h | 4 | ||||
-rw-r--r-- | common/util.cpp | 156 | ||||
-rw-r--r-- | common/util.h | 21 |
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 |