Ticket #8695: translation-marked-messages.patch

File translation-marked-messages.patch, 100.3 KB (added by jvprat, 17 years ago)

Marks strings from the source code for translation

  • gui/newgui.cpp

     
    3434#include "gui/ThemeClassic.h"
    3535
    3636#include "common/config-manager.h"
     37#include "common/translation.h"
    3738
    3839DECLARE_SINGLETON(GUI::NewGui);
    3940
     
    5960void GuiObject::reflowLayout() {
    6061        if (!_name.empty()) {
    6162                if ((_x = g_gui.evaluator()->getVar(_name + ".x")) == EVAL_UNDEF_VAR)
    62                         error("Undefined variable %s.x", _name.c_str());
     63                        error(_t("Undefined variable %s.x"), _name.c_str());
    6364                if ((_y = g_gui.evaluator()->getVar(_name + ".y")) == EVAL_UNDEF_VAR)
    64                         error("Undefined variable %s.y", _name.c_str());
     65                        error(_t("Undefined variable %s.y"), _name.c_str());
    6566                _w = g_gui.evaluator()->getVar(_name + ".w");
    6667                _h = g_gui.evaluator()->getVar(_name + ".h");
    6768       
    6869                if (_x < 0)
    69                         error("Widget <%s> has x < 0", _name.c_str());
     70                        error(_t("Widget <%s> has x < 0"), _name.c_str());
    7071                if (_x >= g_system->getOverlayWidth())
    71                         error("Widget <%s> has x > %d", _name.c_str(), g_system->getOverlayWidth());
     72                        error(_t("Widget <%s> has x > %d"), _name.c_str(), g_system->getOverlayWidth());
    7273                if (_x + _w > g_system->getOverlayWidth())
    73                         error("Widget <%s> has x + w > %d (%d)", _name.c_str(), g_system->getOverlayWidth(), _x + _w);
     74                        error(_t("Widget <%s> has x + w > %d (%d)"), _name.c_str(), g_system->getOverlayWidth(), _x + _w);
    7475                if (_y < 0)
    75                         error("Widget <%s> has y < 0", _name.c_str());
     76                        error(_t("Widget <%s> has y < 0"), _name.c_str());
    7677                if (_y >= g_system->getOverlayWidth())
    77                         error("Widget <%s> has y > %d", _name.c_str(), g_system->getOverlayHeight());
     78                        error(_t("Widget <%s> has y > %d"), _name.c_str(), g_system->getOverlayHeight());
    7879                if (_y + _h > g_system->getOverlayWidth())
    79                         error("Widget <%s> has y + h > %d (%d)", _name.c_str(), g_system->getOverlayHeight(), _y + _h);
     80                        error(_t("Widget <%s> has y + h > %d (%d)"), _name.c_str(), g_system->getOverlayHeight(), _y + _h);
    8081        }
    8182}
    8283
     
    106107           loadClassicTheme = false;
    107108        } else {
    108109           loadClassicTheme = true;
    109            warning("falling back to classic style");
     110           warning(_t("falling back to classic style"));
    110111        }
    111112#endif
    112113       
     
    114115                _theme = new ThemeClassic(_system);
    115116                assert(_theme);
    116117                if (!_theme->init()) {
    117                         error("Couldn't initialize classic theme");
     118                        error(_t("Couldn't initialize classic theme"));
    118119                }
    119120        }
    120121
     
    151152                                _theme = new ThemeModern(_system, style, &cfg);
    152153#endif
    153154                        else
    154                                 warning("Unsupported theme type '%s'", styleType.c_str());
     155                                warning(_t("Unsupported theme type '%s'"), styleType.c_str());
    155156                } else {
    156                         warning("Config '%s' is NOT usable for themes or not found", style.c_str());
     157                        warning(_t("Config '%s' is NOT usable for themes or not found"), style.c_str());
    157158                }
    158159        }
    159160        cfg.clear();
     
    162163                return (!oldTheme.empty() ? loadNewTheme(oldTheme) : false);
    163164
    164165        if (!_theme->init()) {
    165                 warning("Could not initialize your preferred theme");
     166                warning(_t("Could not initialize your preferred theme"));
    166167                delete _theme;
    167168                _theme = 0;
    168169                loadNewTheme(oldTheme);
  • gui/KeysDialog.h

     
    3030#include "gui/dialog.h"
    3131#include "gui/ListWidget.h"
    3232#include "common/str.h"
     33#include "common/translation.h"
    3334
    3435namespace GUI {
    3536
    3637class KeysDialog : public GUI::Dialog {
    3738public:
    38         KeysDialog(const Common::String &title = "Choose an action to map");
     39        KeysDialog(const Common::String &title = _("Choose an action to map"));
    3940
    4041        virtual void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data);
    4142        virtual void handleKeyUp(uint16 ascii, int keycode, int modifiers);
  • gui/themebrowser.cpp

     
    2828#include "gui/widget.h"
    2929#include "gui/theme.h"
    3030#include "common/fs.h"
     31#include "common/translation.h"
    3132
    3233#ifdef MACOSX
    3334#include "CoreFoundation/CoreFoundation.h"
     
    4849ThemeBrowser::ThemeBrowser() : Dialog("browser") {
    4950        _fileList = 0;
    5051
    51         new StaticTextWidget(this, "browser_headline", "Select a Theme");
     52        new StaticTextWidget(this, "browser_headline", _("Select a Theme"));
    5253
    5354        // Add file list
    5455        _fileList = new ListWidget(this, "browser_list");
     
    5859        _fileList->setHints(THEME_HINT_PLAIN_COLOR);
    5960
    6061        // Buttons
    61         new ButtonWidget(this, "browser_cancel", "Cancel", kCloseCmd, 0);
    62         new ButtonWidget(this, "browser_choose", "Choose", kChooseCmd, 0);
     62        new ButtonWidget(this, "browser_cancel", _("Cancel"), kCloseCmd, 0);
     63        new ButtonWidget(this, "browser_choose", _("Choose"), kChooseCmd, 0);
    6364}
    6465
    6566void ThemeBrowser::open() {
     
    9394       
    9495        // classic is always build in
    9596        Entry th;
    96         th.name = "Classic (Builtin)";
     97        th.name = _("Classic (Builtin)");
    9798        th.type = "Classic";
    9899        th.file = "Classic (Builtin)";
    99100        _themes.push_back(th);
  • gui/ThemeModern.cpp

     
    3434
    3535#include "common/config-manager.h"
    3636#include "common/file.h"
     37#include "common/translation.h"
    3738
    3839#define kShadowTr0 8
    3940#define kShadowTr1 16
     
    7677                _configFile = *cfg;
    7778        } else {
    7879                if (!loadConfigFile(stylefile)) {
    79                         warning("Can not find theme config file '%s'", (stylefile + ".ini").c_str());
     80                        warning(_t("Can not find theme config file '%s'"), (stylefile + ".ini").c_str());
    8081                        return;
    8182                }
    8283        }
     
    8788        _configFile.getKey("version", "theme", temp);
    8889        if (atoi(temp.c_str()) != THEME_VERSION) {
    8990                // TODO: improve this detection and handle it nicer
    90                 warning("Theme config uses a different version (you have: '%s', needed is: '%d')", temp.c_str(), THEME_VERSION);
     91                warning(_t("Theme config uses a different version (you have: '%s', needed is: '%d')"), temp.c_str(), THEME_VERSION);
    9192                return;
    9293        }
    9394
    9495        temp.clear();
    9596        _configFile.getKey("type", "theme", temp);
    9697        if (0 != temp.compareToIgnoreCase("modern")) {
    97                 warning("Theme config is not for the modern style theme");
     98                warning(_t("Theme config is not for the modern style theme"));
    9899                return;
    99100        }
    100101
     
    12971298
    12981299                        _fonts[style] = loadFont(temp.c_str());
    12991300                        if (!_fonts[style])
    1300                                 error("Couldn't load %s font '%s'", key.c_str(), temp.c_str());
     1301                                error(_t("Couldn't load %s font '%s'"), key.c_str(), temp.c_str());
    13011302
    13021303                        FontMan.assignFontToName(name, _fonts[style]);
    13031304                }
     
    14441445                break;
    14451446
    14461447        default:
    1447                         warning("no valid 'inactive_dialog_shading' specified");
     1448                        warning(_t("no valid 'inactive_dialog_shading' specified"));
    14481449        }
    14491450
    14501451        setupFonts();
     
    15301531                                _cursorPal[index * 4 + 3] = 0xFF;
    15311532
    15321533                                if (colorsFound > MAX_CURS_COLORS)
    1533                                         error("Cursor contains too much colors (%d, but only %d are allowed)", colorsFound, MAX_CURS_COLORS);
     1534                                        error(_t("Cursor contains too much colors (%d, but only %d are allowed)"), colorsFound, MAX_CURS_COLORS);
    15341535                        }
    15351536
    15361537                        if (col != transparency) {
  • gui/massadd.cpp

     
    3333#include "gui/newgui.h"
    3434#include "gui/widget.h"
    3535
     36#include "common/translation.h"
    3637
     38
    3739namespace GUI {
    3840
    3941/*
     
    7779        // - static text displaying the progress text
    7880        // - (future) a listbox showing all the games we added/are going to add
    7981
    80         new StaticTextWidget(this, "massadddialog_caption",     "Mass Add Dialog");
     82        new StaticTextWidget(this, "massadddialog_caption",     _("Mass Add Dialog"));
    8183
    8284        _dirProgressText = new StaticTextWidget(this, "massadddialog_dirprogress",
    83                                                                                         "... progress ...");
     85                                                                                        _("... progress ..."));
    8486
    8587        _gameProgressText = new StaticTextWidget(this, "massadddialog_gameprogress",
    86                                                                                          "... progress ...");
     88                                                                                         _("... progress ..."));
    8789
    8890        _okButton = new ButtonWidget(this, "massadddialog_ok", "OK", kOkCmd, '\n');
    8991        _okButton->setEnabled(false);
     
    98100        if (cmd == kOkCmd) {
    99101                // Add all the detected games to the config
    100102                for (GameList::const_iterator iter = _games.begin(); iter != _games.end(); ++iter) {
    101                         printf("  Added gameid '%s', desc '%s'\n",
     103                        printf(_("  Added gameid '%s', desc '%s'\n"),
    102104                                (*iter)["gameid"].c_str(),
    103105                                (*iter)["description"].c_str());
    104106                        addGameToConf(*iter);
     
    128130       
    129131                FSList files;
    130132                if (!dir.listDir(files, FilesystemNode::kListAll)) {
    131                         error("browser returned a node that is not a directory: '%s'",
     133                        error(_t("browser returned a node that is not a directory: '%s'"),
    132134                                        dir.path().c_str());
    133135                }
    134136       
     
    165167                // Enable the OK button
    166168                _okButton->setEnabled(true);
    167169
    168                 snprintf(buf, sizeof(buf), "Scan complete!");
     170                snprintf(buf, sizeof(buf), _("Scan complete!"));
    169171                _dirProgressText->setLabel(buf);
    170172       
    171                 snprintf(buf, sizeof(buf), "Discovered %d games.", _games.size());
     173                snprintf(buf, sizeof(buf), _("Discovered %d games."), _games.size());
    172174                _gameProgressText->setLabel(buf);
    173175
    174176        } else {
    175                 snprintf(buf, sizeof(buf), "Scanned %d directories ...", _dirsScanned);
     177                snprintf(buf, sizeof(buf), _("Scanned %d directories ..."), _dirsScanned);
    176178                _dirProgressText->setLabel(buf);
    177179       
    178                 snprintf(buf, sizeof(buf), "Discovered %d games ...", _games.size());
     180                snprintf(buf, sizeof(buf), _("Discovered %d games ..."), _games.size());
    179181                _gameProgressText->setLabel(buf);
    180182        }
    181183
  • gui/eval.cpp

     
    3030#include "gui/newgui.h"
    3131
    3232#include "graphics/scaler.h"
     33#include "common/translation.h"
    3334
    3435namespace GUI {
    3536
     
    7172
    7273        level2(&result);
    7374
    74         debug(5, "Result: %d", result);
     75        debug(5, _t("Result: %d"), result);
    7576
    7677        return result;
    7778}
     
    234235
    235236void Eval::exprError(EvalErrors err) {
    236237        static const char *errors[] = {
    237                 "Syntax error",
    238                 "Extra ')'",
    239                 "Missing ')'",
    240                 "Bad expression",
    241                 "Undefined variable",
    242                 "Missing '\"'"
     238                _t("Syntax error"),
     239                _t("Extra ')'"),
     240                _t("Missing ')'"),
     241                _t("Bad expression"),
     242                _t("Undefined variable"),
     243                _t("Missing '\"'")
    243244        };
    244245
    245         error("%s in section [%s] expression: \"%s\" start is at: %d near token '%s'",
     246        error(_t("%s in section [%s] expression: \"%s\" start is at: %d near token '%s'"),
    246247                  errors[err], _section.c_str(), _name.c_str(), _pos + _startpos, _token);
    247248}
    248249
  • gui/message.h

     
    2727
    2828#include "gui/dialog.h"
    2929#include "common/str.h"
     30#include "common/translation.h"
    3031
    3132namespace GUI {
    3233
     
    4142 */
    4243class MessageDialog : public Dialog {
    4344public:
    44         MessageDialog(const Common::String &message, const char *defaultButton = "OK", const char *altButton = 0);
     45        MessageDialog(const Common::String &message, const char *defaultButton = _("OK"), const char *altButton = 0);
    4546
    4647        void handleCommand(CommandSender *sender, uint32 cmd, uint32 data);
    4748};
  • gui/options.cpp

     
    3535#include "common/fs.h"
    3636#include "common/config-manager.h"
    3737#include "common/system.h"
     38#include "common/translation.h"
    3839
    3940#include "graphics/scaler.h"
    4041
     
    6465};
    6566#endif
    6667
    67 static const char *savePeriodLabels[] = { "Never", "every 5 mins", "every 10 mins", "every 15 mins", "every 30 mins", 0 };
     68static const char *savePeriodLabels[] = { _("Never"), _("every 5 mins"), _("every 10 mins"), _("every 15 mins"), _("every 30 mins"), 0 };
    6869static const int savePeriodValues[] = { 0, 5 * 60, 10 * 60, 15 * 60, 30 * 60, -1 };
    69 static const char *outputRateLabels[] = { "Default", "22 kHz", "8 kHz", "11kHz", "44 kHz", "48 kHz", 0 };
     70static const char *outputRateLabels[] = { _("Default"), _("22 kHz"), _("8 kHz"), _("11kHz"), _("44 kHz"), _("48 kHz"), 0 };
    7071static const int outputRateValues[] = { 0, 22050, 8000, 11025, 44100, 48000, -1 };
    7172
    7273
     
    8283}
    8384
    8485const char *OptionsDialog::_subModeDesc[] = {
    85         "Speech Only",
    86         "Speech and Subtitles",
    87         "Subtitles Only"
     86        _("Speech Only"),
     87        _("Speech and Subtitles"),
     88        _("Subtitles Only")
    8889};
    8990
    9091void OptionsDialog::init() {
     
    201202
    202203                String soundFont(ConfMan.get("soundfont", _domain));
    203204                if (soundFont.empty() || !ConfMan.hasKey("soundfont", _domain)) {
    204                         _soundFont->setLabel("None");
     205                        _soundFont->setLabel(_("None"));
    205206                        _soundFontClearButton->setEnabled(false);
    206207                } else {
    207208                        _soundFont->setLabel(soundFont);
     
    502503        int labelWidth = g_gui.evaluator()->getVar("tabPopupsLabelW");
    503504
    504505        // The GFX mode popup
    505         _gfxPopUp = new PopUpWidget(boss, prefix + "grModePopup", "Graphics mode: ", labelWidth);
     506        _gfxPopUp = new PopUpWidget(boss, prefix + "grModePopup", _("Graphics mode: "), labelWidth);
    506507
    507         _gfxPopUp->appendEntry("<default>");
     508        _gfxPopUp->appendEntry(_("<default>"));
    508509        _gfxPopUp->appendEntry("");
    509510        while (gm->name) {
    510511                _gfxPopUp->appendEntry(gm->description, gm->id);
     
    512513        }
    513514
    514515        // RenderMode popup
    515         _renderModePopUp = new PopUpWidget(boss, prefix + "grRenderPopup", "Render mode: ", labelWidth);
    516         _renderModePopUp->appendEntry("<default>", Common::kRenderDefault);
     516        _renderModePopUp = new PopUpWidget(boss, prefix + "grRenderPopup", _("Render mode: "), labelWidth);
     517        _renderModePopUp->appendEntry(_("<default>"), Common::kRenderDefault);
    517518        _renderModePopUp->appendEntry("");
    518519        const Common::RenderModeDescription *rm = Common::g_renderModes;
    519520        for (; rm->code; ++rm) {
     
    521522        }
    522523
    523524        // Fullscreen checkbox
    524         _fullscreenCheckbox = new CheckboxWidget(boss, prefix + "grFullscreenCheckbox", "Fullscreen mode", 0, 0);
     525        _fullscreenCheckbox = new CheckboxWidget(boss, prefix + "grFullscreenCheckbox", _("Fullscreen mode"), 0, 0);
    525526
    526527        // Aspect ratio checkbox
    527         _aspectCheckbox = new CheckboxWidget(boss, prefix + "grAspectCheckbox", "Aspect ratio correction", 0, 0);
     528        _aspectCheckbox = new CheckboxWidget(boss, prefix + "grAspectCheckbox", _("Aspect ratio correction"), 0, 0);
    528529
    529530#ifdef SMALL_SCREEN_DEVICE
    530531        _fullscreenCheckbox->setState(true);
     
    539540        int labelWidth = g_gui.evaluator()->getVar("tabPopupsLabelW");
    540541
    541542        // The MIDI mode popup & a label
    542         _midiPopUp = new PopUpWidget(boss, prefix + "auMidiPopup", "Music driver: ", labelWidth);
     543        _midiPopUp = new PopUpWidget(boss, prefix + "auMidiPopup", _("Music driver: "), labelWidth);
    543544
    544545        // Populate it
    545546        const MidiDriverDescription *md = MidiDriver::getAvailableMidiDrivers();
     
    549550        }
    550551
    551552        // Sample rate settings
    552         _outputRatePopUp = new PopUpWidget(boss, prefix + "auSampleRatePopup", "Output rate: ", labelWidth);
     553        _outputRatePopUp = new PopUpWidget(boss, prefix + "auSampleRatePopup", _("Output rate: "), labelWidth);
    553554
    554555        for (int i = 0; outputRateLabels[i]; i++) {
    555556                _outputRatePopUp->appendEntry(outputRateLabels[i], outputRateValues[i]);
     
    560561
    561562void OptionsDialog::addMIDIControls(GuiObject *boss, const String &prefix) {
    562563        // SoundFont
    563         _soundFontButton = new ButtonWidget(boss, prefix + "mcFontButton", "SoundFont:", kChooseSoundFontCmd, 0);
    564         _soundFont = new StaticTextWidget(boss, prefix + "mcFontPath", "None");
    565         _soundFontClearButton = new ButtonWidget(boss, prefix + "mcFontClearButton", "C", kClearSoundFontCmd, 0);
     564        _soundFontButton = new ButtonWidget(boss, prefix + "mcFontButton", _("SoundFont:"), kChooseSoundFontCmd, 0);
     565        _soundFont = new StaticTextWidget(boss, prefix + "mcFontPath", _("None"));
     566        _soundFontClearButton = new ButtonWidget(boss, prefix + "mcFontClearButton", _("C"), kClearSoundFontCmd, 0);
    566567
    567568        // Multi midi setting
    568         _multiMidiCheckbox = new CheckboxWidget(boss, prefix + "mcMixedCheckbox", "Mixed Adlib/MIDI mode", 0, 0);
     569        _multiMidiCheckbox = new CheckboxWidget(boss, prefix + "mcMixedCheckbox", _("Mixed Adlib/MIDI mode"), 0, 0);
    569570
    570571        // Native mt32 setting
    571         _mt32Checkbox = new CheckboxWidget(boss, prefix + "mcMt32Checkbox", "True Roland MT-32 (disable GM emulation)", 0, 0);
     572        _mt32Checkbox = new CheckboxWidget(boss, prefix + "mcMt32Checkbox", _("True Roland MT-32 (disable GM emulation)"), 0, 0);
    572573
    573574        // GS Extensions setting
    574         _enableGSCheckbox = new CheckboxWidget(boss, prefix + "mcGSCheckbox", "Enable Roland GS Mode", 0, 0);
     575        _enableGSCheckbox = new CheckboxWidget(boss, prefix + "mcGSCheckbox", _("Enable Roland GS Mode"), 0, 0);
    575576
    576577        // MIDI gain setting (FluidSynth uses this)
    577         _midiGainDesc = new StaticTextWidget(boss, prefix + "mcMidiGainText", "MIDI gain:");
     578        _midiGainDesc = new StaticTextWidget(boss, prefix + "mcMidiGainText", _("MIDI gain:"));
    578579        _midiGainSlider = new SliderWidget(boss, prefix + "mcMidiGainSlider", kMidiGainChanged);
    579580        _midiGainSlider->setMinValue(0);
    580581        _midiGainSlider->setMaxValue(1000);
     
    587588// make use of the widgets. The launcher range is 0-255. SCUMM's 0-9
    588589void OptionsDialog::addSubtitleControls(GuiObject *boss, const String &prefix, int maxSliderVal) {
    589590
    590         _subToggleDesc = new StaticTextWidget(boss, prefix + "subToggleDesc", "Text and Speech:");
     591        _subToggleDesc = new StaticTextWidget(boss, prefix + "subToggleDesc", _("Text and Speech:"));
    591592        _subToggleButton = new ButtonWidget(boss, prefix + "subToggleButton", "", kSubtitleToggle, 0);
    592593
    593594        // Subtitle speed
    594         _subSpeedDesc = new StaticTextWidget(boss, prefix + "subSubtitleSpeedDesc", "Subtitle speed:");
     595        _subSpeedDesc = new StaticTextWidget(boss, prefix + "subSubtitleSpeedDesc", _("Subtitle speed:"));
    595596        _subSpeedSlider = new SliderWidget(boss, prefix + "subSubtitleSpeedSlider", kSubtitleSpeedChanged);
    596597        _subSpeedLabel = new StaticTextWidget(boss, prefix + "subSubtitleSpeedLabel", "100%");
    597598        _subSpeedSlider->setMinValue(0); _subSpeedSlider->setMaxValue(maxSliderVal);
     
    603604void OptionsDialog::addVolumeControls(GuiObject *boss, const String &prefix) {
    604605
    605606        // Volume controllers
    606         _musicVolumeDesc = new StaticTextWidget(boss, prefix + "vcMusicText", "Music volume:");
     607        _musicVolumeDesc = new StaticTextWidget(boss, prefix + "vcMusicText", _("Music volume:"));
    607608        _musicVolumeSlider = new SliderWidget(boss, prefix + "vcMusicSlider", kMusicVolumeChanged);
    608609        _musicVolumeLabel = new StaticTextWidget(boss, prefix + "vcMusicLabel", "100%");
    609610        _musicVolumeSlider->setMinValue(0);
    610611        _musicVolumeSlider->setMaxValue(Audio::Mixer::kMaxMixerVolume);
    611612        _musicVolumeLabel->setFlags(WIDGET_CLEARBG);
    612613
    613         _sfxVolumeDesc = new StaticTextWidget(boss, prefix + "vcSfxText", "SFX volume:");
     614        _sfxVolumeDesc = new StaticTextWidget(boss, prefix + "vcSfxText", _("SFX volume:"));
    614615        _sfxVolumeSlider = new SliderWidget(boss, prefix + "vcSfxSlider", kSfxVolumeChanged);
    615616        _sfxVolumeLabel = new StaticTextWidget(boss, prefix + "vcSfxLabel", "100%");
    616617        _sfxVolumeSlider->setMinValue(0);
    617618        _sfxVolumeSlider->setMaxValue(Audio::Mixer::kMaxMixerVolume);
    618619        _sfxVolumeLabel->setFlags(WIDGET_CLEARBG);
    619620
    620         _speechVolumeDesc = new StaticTextWidget(boss, prefix + "vcSpeechText" , "Speech volume:");
     621        _speechVolumeDesc = new StaticTextWidget(boss, prefix + "vcSpeechText" , _("Speech volume:"));
    621622        _speechVolumeSlider = new SliderWidget(boss, prefix + "vcSpeechSlider", kSpeechVolumeChanged);
    622623        _speechVolumeLabel = new StaticTextWidget(boss, prefix + "vcSpeechLabel", "100%");
    623624        _speechVolumeSlider->setMinValue(0);
     
    635636        else if (subtitles && speech_mute) // Subtitles only
    636637                return 2;
    637638        else
    638                 warning("Wrong configuration: Both subtitles and speech are off. Assuming subtitles only");
     639                warning(_t("Wrong configuration: Both subtitles and speech are off. Assuming subtitles only"));
    639640        return 2;
    640641}
    641642
     
    667668        //
    668669        // 1) The graphics tab
    669670        //
    670         tab->addTab("Graphics");
     671        tab->addTab(_("Graphics"));
    671672        addGraphicControls(tab, "globaloptions_");
    672673
    673674        //
    674675        // 2) The audio tab
    675676        //
    676         tab->addTab("Audio");
     677        tab->addTab(_("Audio"));
    677678        addAudioControls(tab, "globaloptions_");
    678679        addSubtitleControls(tab, "globaloptions_");
    679680
    680         tab->addTab("Volume");
     681        tab->addTab(_("Volume"));
    681682        addVolumeControls(tab, "globaloptions_");
    682683
    683684        // TODO: cd drive setting
     
    685686        //
    686687        // 3) The MIDI tab
    687688        //
    688         tab->addTab("MIDI");
     689        tab->addTab(_("MIDI"));
    689690        addMIDIControls(tab, "globaloptions_");
    690691
    691692        //
    692693        // 4) The miscellaneous tab
    693694        //
    694         tab->addTab("Paths");
     695        tab->addTab(_("Paths"));
    695696
    696697#if !( defined(__DC__) || defined(__GP32__) )
    697698        // These two buttons have to be extra wide, or the text will be
    698699        // truncated in the small version of the GUI.
    699700
    700701        // Save game path
    701         new ButtonWidget(tab, "globaloptions_savebutton", "Save Path: ", kChooseSaveDirCmd, 0);
     702        new ButtonWidget(tab, "globaloptions_savebutton", _("Save Path: "), kChooseSaveDirCmd, 0);
    702703        _savePath = new StaticTextWidget(tab, "globaloptions_savepath", "/foo/bar");
    703704
    704         new ButtonWidget(tab, "globaloptions_themebutton", "Theme Path:", kChooseThemeDirCmd, 0);
     705        new ButtonWidget(tab, "globaloptions_themebutton", _("Theme Path:"), kChooseThemeDirCmd, 0);
    705706        _themePath = new StaticTextWidget(tab, "globaloptions_themepath", "None");
    706707
    707         new ButtonWidget(tab, "globaloptions_extrabutton", "Extra Path:", kChooseExtraDirCmd, 0);
     708        new ButtonWidget(tab, "globaloptions_extrabutton", _("Extra Path:"), kChooseExtraDirCmd, 0);
    708709        _extraPath = new StaticTextWidget(tab, "globaloptions_extrapath", "None");
    709710#endif
    710711
    711712#ifdef SMALL_SCREEN_DEVICE
    712         new ButtonWidget(tab, "globaloptions_keysbutton", "Keys", kChooseKeyMappingCmd, 0);
     713        new ButtonWidget(tab, "globaloptions_keysbutton", _("Keys"), kChooseKeyMappingCmd, 0);
    713714#endif
    714715
    715         tab->addTab("Misc");
     716        tab->addTab(_("Misc"));
    716717
    717         new ButtonWidget(tab, "globaloptions_themebutton2", "Theme:", kChooseThemeCmd, 0);
     718        new ButtonWidget(tab, "globaloptions_themebutton2", _("Theme:"), kChooseThemeCmd, 0);
    718719        _curTheme = new StaticTextWidget(tab, "globaloptions_curtheme", g_gui.theme()->getThemeName());
    719720
    720721        int labelWidth = g_gui.evaluator()->getVar("tabPopupsLabelW");
    721722
    722         _autosavePeriodPopUp = new PopUpWidget(tab, "globaloptions_autosaveperiod", "Autosave: ", labelWidth);
     723        _autosavePeriodPopUp = new PopUpWidget(tab, "globaloptions_autosaveperiod", _("Autosave: "), labelWidth);
    723724
    724725        for (int i = 0; savePeriodLabels[i]; i++) {
    725726                _autosavePeriodPopUp->appendEntry(savePeriodLabels[i], savePeriodValues[i]);
     
    732733        tab->setActiveTab(0);
    733734
    734735        // Add OK & Cancel buttons
    735         new ButtonWidget(this, "globaloptions_cancel", "Cancel", kCloseCmd, 0);
    736         new ButtonWidget(this, "globaloptions_ok", "OK", kOKCmd, 0);
     736        new ButtonWidget(this, "globaloptions_cancel", _("Cancel"), kCloseCmd, 0);
     737        new ButtonWidget(this, "globaloptions_ok", _("OK"), kOKCmd, 0);
    737738
    738739#ifdef SMALL_SCREEN_DEVICE
    739740        _keysDialog = new KeysDialog();
     
    756757        Common::String extraPath(ConfMan.get("extrapath", _domain));
    757758
    758759        if (savePath.empty() || !ConfMan.hasKey("savepath", _domain)) {
    759                 _savePath->setLabel("None");
     760                _savePath->setLabel(_("None"));
    760761        } else {
    761762                _savePath->setLabel(savePath);
    762763        }
    763764
    764765        if (themePath.empty() || !ConfMan.hasKey("themepath", _domain)) {
    765                 _themePath->setLabel("None");
     766                _themePath->setLabel(_("None"));
    766767        } else {
    767768                _themePath->setLabel(themePath);
    768769        }
    769770
    770771        if (extraPath.empty() || !ConfMan.hasKey("extrapath", _domain)) {
    771                 _extraPath->setLabel("None");
     772                _extraPath->setLabel(_("None"));
    772773        } else {
    773774                _extraPath->setLabel(extraPath);
    774775        }
     
    786787void GlobalOptionsDialog::close() {
    787788        if (getResult()) {
    788789                String savePath(_savePath->getLabel());
    789                 if (!savePath.empty() && (savePath != "None"))
     790                if (!savePath.empty() && (savePath != _("None")))
    790791                        ConfMan.set("savepath", savePath, _domain);
    791792
    792793                String themePath(_themePath->getLabel());
    793                 if (!themePath.empty() && (themePath != "None"))
     794                if (!themePath.empty() && (themePath != _("None")))
    794795                        ConfMan.set("themepath", themePath, _domain);
    795796                else
    796797                        ConfMan.removeKey("themepath", _domain);
    797798
    798799                String extraPath(_extraPath->getLabel());
    799                 if (!extraPath.empty() && (extraPath != "None"))
     800                if (!extraPath.empty() && (extraPath != _("None")))
    800801                        ConfMan.set("extrapath", extraPath, _domain);
    801802                else
    802803                        ConfMan.removeKey("extrapath", _domain);
     
    809810void GlobalOptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data) {
    810811        switch (cmd) {
    811812        case kChooseSaveDirCmd: {
    812                 BrowserDialog browser("Select directory for savegames", true);
     813                BrowserDialog browser(_("Select directory for savegames"), true);
    813814                if (browser.runModal() > 0) {
    814815                        // User made his choice...
    815816                        FilesystemNode dir(browser.getResult());
     
    820821                break;
    821822        }
    822823        case kChooseThemeDirCmd: {
    823                 BrowserDialog browser("Select directory for GUI themes", true);
     824                BrowserDialog browser(_("Select directory for GUI themes"), true);
    824825                if (browser.runModal() > 0) {
    825826                        // User made his choice...
    826827                        FilesystemNode dir(browser.getResult());
     
    830831                break;
    831832        }
    832833        case kChooseExtraDirCmd: {
    833                 BrowserDialog browser("Select directory for extra files", true);
     834                BrowserDialog browser(_("Select directory for extra files"), true);
    834835                if (browser.runModal() > 0) {
    835836                        // User made his choice...
    836837                        FilesystemNode dir(browser.getResult());
     
    840841                break;
    841842        }
    842843        case kChooseSoundFontCmd: {
    843                 BrowserDialog browser("Select SoundFont", false);
     844                BrowserDialog browser(_("Select SoundFont"), false);
    844845                if (browser.runModal() > 0) {
    845846                        // User made his choice...
    846847                        FilesystemNode file(browser.getResult());
    847848                        _soundFont->setLabel(file.path());
    848849
    849                         if (!file.path().empty() && (file.path() != "None"))
     850                        if (!file.path().empty() && (file.path() != _("None")))
    850851                                _soundFontClearButton->setEnabled(true);
    851852                        else
    852853                                _soundFontClearButton->setEnabled(false);
     
    856857                break;
    857858        }
    858859        case kClearSoundFontCmd: {
    859                 _soundFont->setLabel("None");
     860                _soundFont->setLabel(_("None"));
    860861                _soundFontClearButton->setEnabled(false);
    861862                draw();
    862863                break;
  • gui/KeysDialog.cpp

     
    4242KeysDialog::KeysDialog(const Common::String &title)
    4343        : GUI::Dialog("keysdialog") {
    4444
    45         new ButtonWidget(this, "keysdialog_map", "Map", kMapCmd, 0);
    46         new ButtonWidget(this, "keysdialog_ok", "OK", kOKCmd, 0);
    47         new ButtonWidget(this, "keysdialog_cancel", "Cancel", kCloseCmd, 0);
     45        new ButtonWidget(this, "keysdialog_map", _("Map"), kMapCmd, 0);
     46        new ButtonWidget(this, "keysdialog_ok", _("OK"), kOKCmd, 0);
     47        new ButtonWidget(this, "keysdialog_cancel", _("Cancel"), kCloseCmd, 0);
    4848
    4949        _actionsList = new ListWidget(this, "keysdialog_list");
    5050        _actionsList->setNumberingMode(kListNumberingZero);
    5151
    5252        _actionTitle = new StaticTextWidget(this, "keysdialog_action", title);
    53         _keyMapping = new StaticTextWidget(this, "keysdialog_mapping", "Select an action and click 'Map'");
     53        _keyMapping = new StaticTextWidget(this, "keysdialog_mapping", _("Select an action and click 'Map'"));
    5454
    5555        _actionTitle->setFlags(WIDGET_CLEARBG);
    5656        _keyMapping->setFlags(WIDGET_CLEARBG);
     
    8181                                key = key - 315 + SDLK_F1;
    8282#endif
    8383                        if (key != 0)
    84                                 sprintf(selection, "Associated key : %s", SDL_GetKeyName((SDLKey)key));
     84                                sprintf(selection, _("Associated key : %s"), SDL_GetKeyName((SDLKey)key));
    8585                        else
    86                                 sprintf(selection, "Associated key : none");
     86                                sprintf(selection, _("Associated key : none"));
    8787
    8888                        _keyMapping->setLabel(selection);
    8989                        _keyMapping->draw();
     
    104104                                key = key - 315 + SDLK_F1;
    105105#endif
    106106                        if (key != 0)
    107                                 sprintf(selection, "Associated key : %s", SDL_GetKeyName((SDLKey)key));
     107                                sprintf(selection, _("Associated key : %s"), SDL_GetKeyName((SDLKey)key));
    108108                        else
    109                                 sprintf(selection, "Associated key : none");
     109                                sprintf(selection, _("Associated key : none"));
    110110
    111                         _actionTitle->setLabel("Press the key to associate");
     111                        _actionTitle->setLabel(_("Press the key to associate"));
    112112                        _keyMapping->setLabel(selection);
    113113                        _keyMapping->draw();
    114114                        Actions::Instance()->beginMapping(true);
     
    143143                Actions::Instance()->setMapping((ActionType)_actionSelected, ascii);
    144144
    145145                if (ascii != 0)
    146                         sprintf(selection, "Associated key : %s", SDL_GetKeyName((SDLKey) keycode));
     146                        sprintf(selection, _("Associated key : %s"), SDL_GetKeyName((SDLKey) keycode));
    147147                else
    148                         sprintf(selection, "Associated key : none");
     148                        sprintf(selection, _("Associated key : none"));
    149149
    150                 _actionTitle->setLabel("Choose an action to map");
     150                _actionTitle->setLabel(_("Choose an action to map"));
    151151                _keyMapping->setLabel(selection);
    152152                _keyMapping->draw();
    153153                _actionTitle->draw();
  • gui/dialog.cpp

     
    3030#include "gui/PopUpWidget.h"
    3131
    3232#include "common/system.h"
     33#include "common/translation.h"
    3334
    3435namespace GUI {
    3536
     
    6364        // Fixes bug #1590596: "HE: When 3x graphics are choosen, F5 crashes game"
    6465        // and bug #1595627: "SCUMM: F5 crashes game (640x480)"
    6566        if (g_gui.theme()->needThemeReload()) {
    66                 debug(2, "Theme forced to reload");
     67                debug(2, _t("Theme forced to reload"));
    6768                g_gui.screenChange();
    6869        }
    6970}
  • gui/launcher.cpp

     
    3434#include "common/fs.h"
    3535#include "common/util.h"
    3636#include "common/system.h"
     37#include "common/translation.h"
    3738
    3839#include "gui/about.h"
    3940#include "gui/browser.h"
     
    168169        //
    169170        // 1) The game tab
    170171        //
    171         tab->addTab("Game");
     172        tab->addTab(_("Game"));
    172173
    173174        // GUI:  Label & edit widget for the game ID
    174         new StaticTextWidget(tab, "gameoptions_id", "ID: ");
     175        new StaticTextWidget(tab, "gameoptions_id", _("ID: "));
    175176        _domainWidget = new DomainEditTextWidget(tab, "gameoptions_domain", _domain);
    176177
    177178        // GUI:  Label & edit widget for the description
    178         new StaticTextWidget(tab, "gameoptions_name", "Name: ");
     179        new StaticTextWidget(tab, "gameoptions_name", _("Name: "));
    179180        _descriptionWidget = new EditTextWidget(tab, "gameoptions_desc", description);
    180181
    181182        // Language popup
    182         _langPopUp = new PopUpWidget(tab, "gameoptions_lang", "Language: ", labelWidth);
    183         _langPopUp->appendEntry("<default>");
     183        _langPopUp = new PopUpWidget(tab, "gameoptions_lang", _("Language: "), labelWidth);
     184        _langPopUp->appendEntry(_("<default>"));
    184185        _langPopUp->appendEntry("");
    185186        const Common::LanguageDescription *l = Common::g_languages;
    186187        for (; l->code; ++l) {
     
    188189        }
    189190
    190191        // Platform popup
    191         _platformPopUp = new PopUpWidget(tab, "gameoptions_platform", "Platform: ", labelWidth);
    192         _platformPopUp->appendEntry("<default>");
     192        _platformPopUp = new PopUpWidget(tab, "gameoptions_platform", _("Platform: "), labelWidth);
     193        _platformPopUp->appendEntry(_("<default>"));
    193194        _platformPopUp->appendEntry("");
    194195        const Common::PlatformDescription *p = Common::g_platforms;
    195196        for (; p->code; ++p) {
     
    199200        //
    200201        // 3) The graphics tab
    201202        //
    202         tab->addTab("Graphics");
     203        tab->addTab(_("Graphics"));
    203204
    204         _globalGraphicsOverride = new CheckboxWidget(tab, "gameoptions_graphicsCheckbox", "Override global graphic settings", kCmdGlobalGraphicsOverride, 0);
     205        _globalGraphicsOverride = new CheckboxWidget(tab, "gameoptions_graphicsCheckbox", _("Override global graphic settings"), kCmdGlobalGraphicsOverride, 0);
    205206
    206207        addGraphicControls(tab, "gameoptions_");
    207208
    208209        //
    209210        // 4) The audio tab
    210211        //
    211         tab->addTab("Audio");
     212        tab->addTab(_("Audio"));
    212213
    213         _globalAudioOverride = new CheckboxWidget(tab, "gameoptions_audioCheckbox", "Override global audio settings", kCmdGlobalAudioOverride, 0);
     214        _globalAudioOverride = new CheckboxWidget(tab, "gameoptions_audioCheckbox", _("Override global audio settings"), kCmdGlobalAudioOverride, 0);
    214215
    215216        addAudioControls(tab, "gameoptions_");
    216217        addSubtitleControls(tab, "gameoptions_");
     
    218219        //
    219220        // 5) The volume tab
    220221        //
    221         tab->addTab("Volume");
     222        tab->addTab(_("Volume"));
    222223
    223         _globalVolumeOverride = new CheckboxWidget(tab, "gameoptions_volumeCheckbox", "Override global volume settings", kCmdGlobalVolumeOverride, 0);
     224        _globalVolumeOverride = new CheckboxWidget(tab, "gameoptions_volumeCheckbox", _("Override global volume settings"), kCmdGlobalVolumeOverride, 0);
    224225
    225226        addVolumeControls(tab, "gameoptions_");
    226227
    227228        //
    228229        // 6) The MIDI tab
    229230        //
    230         tab->addTab("MIDI");
     231        tab->addTab(_("MIDI"));
    231232
    232         _globalMIDIOverride = new CheckboxWidget(tab, "gameoptions_midiCheckbox", "Override global MIDI settings", kCmdGlobalMIDIOverride, 0);
     233        _globalMIDIOverride = new CheckboxWidget(tab, "gameoptions_midiCheckbox", _("Override global MIDI settings"), kCmdGlobalMIDIOverride, 0);
    233234
    234235        addMIDIControls(tab, "gameoptions_");
    235236
    236237        //
    237238        // 2) The 'Path' tab
    238239        //
    239         tab->addTab("Paths");
     240        tab->addTab(_("Paths"));
    240241
    241242        // These buttons have to be extra wide, or the text will be truncated
    242243        // in the small version of the GUI.
    243244
    244245        // GUI:  Button + Label for the game path
    245         new ButtonWidget(tab, "gameoptions_gamepath", "Game Path: ", kCmdGameBrowser, 0);
     246        new ButtonWidget(tab, "gameoptions_gamepath", _("Game Path: "), kCmdGameBrowser, 0);
    246247        _gamePathWidget = new StaticTextWidget(tab, "gameoptions_gamepathText", gamePath);
    247248
    248249        // GUI:  Button + Label for the additional path
    249         new ButtonWidget(tab, "gameoptions_extrapath", "Extra Path:", kCmdExtraBrowser, 0);
     250        new ButtonWidget(tab, "gameoptions_extrapath", _("Extra Path:"), kCmdExtraBrowser, 0);
    250251        _extraPathWidget = new StaticTextWidget(tab, "gameoptions_extrapathText", extraPath);
    251252        if (extraPath.empty() || !ConfMan.hasKey("extrapath", _domain)) {
    252                 _extraPathWidget->setLabel("None");
     253                _extraPathWidget->setLabel(_("None"));
    253254        }
    254255
    255256        // GUI:  Button + Label for the save path
    256         new ButtonWidget(tab, "gameoptions_savepath", "Save Path: ", kCmdSaveBrowser, 0);
     257        new ButtonWidget(tab, "gameoptions_savepath", _("Save Path: "), kCmdSaveBrowser, 0);
    257258        _savePathWidget = new StaticTextWidget(tab, "gameoptions_savepathText", savePath);
    258259        if (savePath.empty() || !ConfMan.hasKey("savepath", _domain)) {
    259                 _savePathWidget->setLabel("Default");
     260                _savePathWidget->setLabel(_("Default"));
    260261        }
    261262
    262263        // Activate the first tab
    263264        tab->setActiveTab(0);
    264265
    265266        // Add OK & Cancel buttons
    266         new ButtonWidget(this, "gameoptions_cancel", "Cancel", kCloseCmd, 0);
    267         new ButtonWidget(this, "gameoptions_ok", "OK", kOKCmd, 0);
     267        new ButtonWidget(this, "gameoptions_cancel", _("Cancel"), kCloseCmd, 0);
     268        new ButtonWidget(this, "gameoptions_ok", _("OK"), kOKCmd, 0);
    268269}
    269270
    270271void EditGameDialog::reflowLayout() {
     
    351352                        ConfMan.set("path", gamePath, _domain);
    352353
    353354                String extraPath(_extraPathWidget->getLabel());
    354                 if (!extraPath.empty() && (extraPath != "None"))
     355                if (!extraPath.empty() && (extraPath != _("None")))
    355356                        ConfMan.set("extrapath", extraPath, _domain);
    356357
    357358                String savePath(_savePathWidget->getLabel());
    358                 if (!savePath.empty() && (savePath != "Default"))
     359                if (!savePath.empty() && (savePath != _("Default")))
    359360                        ConfMan.set("savepath", savePath, _domain);
    360361
    361362                Common::Platform platform = (Common::Platform)_platformPopUp->getSelectedTag();
     
    389390                draw();
    390391                break;
    391392        case kCmdChooseSoundFontCmd: {
    392                 BrowserDialog browser("Select SoundFont", false);
     393                BrowserDialog browser(_("Select SoundFont"), false);
    393394
    394395                if (browser.runModal() > 0) {
    395396                        // User made this choice...
    396397                        FilesystemNode file(browser.getResult());
    397398                        _soundFont->setLabel(file.path());
    398399
    399                         if (!file.path().empty() && (file.path() != "None"))
     400                        if (!file.path().empty() && (file.path() != _("None")))
    400401                                _soundFontClearButton->setEnabled(true);
    401402                        else
    402403                                _soundFontClearButton->setEnabled(false);
     
    408409
    409410        // Change path for the game
    410411        case kCmdGameBrowser: {
    411                 BrowserDialog browser("Select directory with game data", true);
     412                BrowserDialog browser(_("Select directory with game data"), true);
    412413                if (browser.runModal() > 0) {
    413414                        // User made his choice...
    414415                        FilesystemNode dir(browser.getResult());
     
    426427
    427428        // Change path for extra game data (eg, using sword cutscenes when playing via CD)
    428429        case kCmdExtraBrowser: {
    429                 BrowserDialog browser("Select additional game directory", true);
     430                BrowserDialog browser(_("Select additional game directory"), true);
    430431                if (browser.runModal() > 0) {
    431432                        // User made his choice...
    432433                        FilesystemNode dir(browser.getResult());
     
    438439        }
    439440        // Change path for stored save game (perm and temp) data
    440441        case kCmdSaveBrowser: {
    441                 BrowserDialog browser("Select directory for saved games", true);
     442                BrowserDialog browser(_("Select directory for saved games"), true);
    442443                if (browser.runModal() > 0) {
    443444                        // User made his choice...
    444445                        FilesystemNode dir(browser.getResult());
     
    454455                String newDomain(_domainWidget->getEditString());
    455456                if (newDomain != _domain) {
    456457                        if (newDomain.empty() || ConfMan.hasGameDomain(newDomain)) {
    457                                 MessageDialog alert("This game ID is already taken. Please choose another one.");
     458                                MessageDialog alert(_("This game ID is already taken. Please choose another one."));
    458459                                alert.runModal();
    459460                                return;
    460461                        }
     
    496497        new StaticTextWidget(this, "launcher_version", gScummVMFullVersion);
    497498#endif
    498499
    499         new ButtonWidget(this, "launcher_quit_button", "Quit", kQuitCmd, 'Q');
    500         new ButtonWidget(this, "launcher_about_button", "About", kAboutCmd, 'B');
    501         new ButtonWidget(this, "launcher_options_button", "Options", kOptionsCmd, 'O');
     500        new ButtonWidget(this, "launcher_quit_button", _("Quit"), kQuitCmd, 'Q');
     501        new ButtonWidget(this, "launcher_about_button", _("About"), kAboutCmd, 'B');
     502        new ButtonWidget(this, "launcher_options_button", _("Options"), kOptionsCmd, 'O');
    502503        _startButton =
    503                         new ButtonWidget(this, "launcher_start_button", "Start", kStartCmd, 'S');
     504                        new ButtonWidget(this, "launcher_start_button", _("Start"), kStartCmd, 'S');
    504505
    505506        // Above the lowest button rows: two more buttons (directly below the list box)
    506507        _addButton =
    507                 new ButtonWidget(this, "launcher_addGame_button", "Add Game...", kAddGameCmd, 'A');
     508                new ButtonWidget(this, "launcher_addGame_button", _("Add Game..."), kAddGameCmd, 'A');
    508509        _editButton =
    509                 new ButtonWidget(this, "launcher_editGame_button", "Edit Game...", kEditGameCmd, 'E');
     510                new ButtonWidget(this, "launcher_editGame_button", _("Edit Game..."), kEditGameCmd, 'E');
    510511        _removeButton =
    511                 new ButtonWidget(this, "launcher_removeGame_button", "Remove Game", kRemoveGameCmd, 'R');
     512                new ButtonWidget(this, "launcher_removeGame_button", _("Remove Game"), kRemoveGameCmd, 'R');
    512513
    513514
    514515        // Add list with game titles
     
    528529        updateButtons();
    529530
    530531        // Create file browser dialog
    531         _browser = new BrowserDialog("Select directory with game data", true);
     532        _browser = new BrowserDialog(_("Select directory with game data"), true);
    532533}
    533534
    534535void LauncherDialog::selectGame(const String &name) {
     
    617618        bool massAdd = (modifiers & Common::KBD_SHIFT) != 0;
    618619       
    619620        if (massAdd) {
    620                 MessageDialog alert("Do you really want to run the mass game detector? "
    621                                                         "This could potentially add a huge number of games.", "Yes", "No");
     621                MessageDialog alert(_("Do you really want to run the mass game detector? "
     622                                                        "This could potentially add a huge number of games."), _("Yes"), _("No"));
    622623                if (alert.runModal() == GUI::kMessageOK && _browser->runModal() > 0) {
    623624                        MassAddDialog massAddDlg(_browser->getResult());
    624625                        massAddDlg.runModal();
     
    646647                FilesystemNode dir(_browser->getResult());
    647648                FSList files;
    648649                if (!dir.listDir(files, FilesystemNode::kListAll)) {
    649                         error("browser returned a node that is not a directory: '%s'",
     650                        error(_t("browser returned a node that is not a directory: '%s'"),
    650651                                        dir.path().c_str());
    651652                }
    652653
     
    657658                int idx;
    658659                if (candidates.empty()) {
    659660                        // No game was found in the specified directory
    660                         MessageDialog alert("ScummVM could not find any game in the specified directory!");
     661                        MessageDialog alert(_("ScummVM could not find any game in the specified directory!"));
    661662                        alert.runModal();
    662663                        idx = -1;
    663664                } else if (candidates.size() == 1) {
     
    669670                        for (idx = 0; idx < (int)candidates.size(); idx++)
    670671                                list.push_back(candidates[idx].description());
    671672
    672                         ChooserDialog dialog("Pick the game:");
     673                        ChooserDialog dialog(_("Pick the game:"));
    673674                        dialog.setList(list);
    674675                        idx = dialog.runModal();
    675676                }
     
    749750}
    750751
    751752void LauncherDialog::removeGame(int item) {
    752         MessageDialog alert("Do you really want to remove this game configuration?", "Yes", "No");
     753        MessageDialog alert(_("Do you really want to remove this game configuration?"), _("Yes"), _("No"));
    753754
    754755        if (alert.runModal() == GUI::kMessageOK) {
    755756                // Remove the currently selected game from the list
     
    861862        // Update the label of the "Add" button depending on whether shift is pressed or not
    862863        int modifiers = g_system->getEventManager()->getModifierState();
    863864        const char *newAddButtonLabel = ((modifiers & Common::KBD_SHIFT) != 0)
    864                 ? "Mass Add..."
    865                 : "Add Game...";
     865                ? _("Mass Add...")
     866                : _("Add Game...");
    866867
    867868        if (_addButton->getLabel() != newAddButtonLabel) {
    868869                _addButton->setLabel(newAddButtonLabel);
  • gui/chooser.cpp

     
    2727#include "gui/chooser.h"
    2828#include "gui/newgui.h"
    2929#include "gui/ListWidget.h"
     30#include "common/translation.h"
    3031
    3132namespace GUI {
    3233
     
    4748        _list->setNumberingMode(kListNumberingOff);
    4849
    4950        // Buttons
    50         new ButtonWidget(this, prefix + "chooser_cancel", "Cancel", kCloseCmd, 0);
     51        new ButtonWidget(this, prefix + "chooser_cancel", _("Cancel"), kCloseCmd, 0);
    5152        _chooseButton = new ButtonWidget(this, prefix + "chooser_ok", buttonLabel, kChooseCmd, 0);
    5253        _chooseButton->setEnabled(false);
    5354}
  • gui/theme.cpp

     
    2626#include "gui/eval.h"
    2727
    2828#include "common/unzip.h"
     29#include "common/translation.h"
    2930
    3031namespace GUI {
    3132
     
    122123        if (font) {
    123124                if (!cacheFilename.empty()) {
    124125                        if (!Graphics::NewFont::cacheFontData(*font, cacheFilename)) {
    125                                 warning("Couldn't create cache file for font '%s'", filename);
     126                                warning(_t("Couldn't create cache file for font '%s'"), filename);
    126127                        }
    127128                }
    128129        }
  • gui/ThemeClassic.cpp

     
    2424
    2525#include "gui/ThemeClassic.h"
    2626#include "gui/eval.h"
     27#include "common/translation.h"
    2728
    2829namespace GUI {
    2930ThemeClassic::ThemeClassic(OSystem *system, const Common::String &config, const Common::ConfigFile *cfg) : Theme() {
     
    663664        _configFile.getKey("version", "theme", temp);
    664665        if (atoi(temp.c_str()) != THEME_VERSION) {
    665666                // TODO: improve this detection and handle it nicer
    666                 warning("Theme config uses a different version (you have: '%s', needed is: '%d')", temp.c_str(), THEME_VERSION);
     667                warning(_t("Theme config uses a different version (you have: '%s', needed is: '%d')"), temp.c_str(), THEME_VERSION);
    667668                _configFile.clear();
    668669
    669670                // force a theme reload here
     
    674675        temp.clear();
    675676        _configFile.getKey("type", "theme", temp);
    676677        if (0 != temp.compareToIgnoreCase("classic")) {
    677                 warning("Theme config is not for the classic style theme");
     678                warning(_t("Theme config is not for the classic style theme"));
    678679                _configFile.clear();
    679680
    680681                // force a theme reload here
  • gui/theme-config.cpp

     
    2424
    2525#include "gui/theme.h"
    2626#include "gui/eval.h"
     27#include "common/translation.h"
    2728
    2829namespace GUI {
    2930
     
    536537                        level++;
    537538                else if (str[i] == ')') {
    538539                        if (level == 0) {
    539                                 error("Extra ')' in section: [%s] expression: \"%s\" start is at: %d",
     540                                error(_t("Extra ')' in section: [%s] expression: \"%s\" start is at: %d"),
    540541                                          section.c_str(), name.c_str(), start);
    541542                        }
    542543                        level--;
     
    544545        }
    545546
    546547        if (level > 0)
    547                 error("Missing ')' in section: [%s] expression: \"%s\" start is at: %d",
     548                error(_t("Missing ')' in section: [%s] expression: \"%s\" start is at: %d"),
    548549                          section.c_str(), name.c_str(), start);
    549550
    550551        const char **postfixes = (ntmppostfix == 2) ? postfixesRGB : postfixesXYWH;
     
    610611                }
    611612                if (iterk->key == "use") {
    612613                        if (iterk->value == name)
    613                                 error("Theme section [%s]: cannot use itself", name.c_str());
     614                                error(_t("Theme section [%s]: cannot use itself"), name.c_str());
    614615                        if (!config.hasSection(name))
    615                                 error("Undefined use of section [%s]", name.c_str());
     616                                error(_t("Undefined use of section [%s]"), name.c_str());
    616617                        processResSection(config, iterk->value, true);
    617618                        continue;
    618619                }
    619620                if (iterk->key == "useAsIs") {
    620621                        if (iterk->value == name)
    621                                 error("Theme section [%s]: cannot use itself", name.c_str());
     622                                error(_t("Theme section [%s]: cannot use itself"), name.c_str());
    622623                        if (!config.hasSection(name))
    623                                 error("Undefined use of section [%s]", name.c_str());
     624                                error(_t("Undefined use of section [%s]"), name.c_str());
    624625                        processResSection(config, iterk->value);
    625626                        continue;
    626627                }
     
    629630                        const char *pos = strrchr(temp, ' ');
    630631
    631632                        if (pos == NULL)
    632                                 error("2 arguments required for useWithPrefix keyword");
     633                                error(_t("2 arguments required for useWithPrefix keyword"));
    633634
    634635                        String n(temp, strchr(temp, ' ') - temp);
    635636                        String pref(pos + 1);
    636637
    637638                        if (n == name)
    638                                 error("Theme section [%s]: cannot use itself", n.c_str());
     639                                error(_t("Theme section [%s]: cannot use itself"), n.c_str());
    639640                        if (!config.hasSection(n))
    640                                 error("Undefined use of section [%s]", n.c_str());
     641                                error(_t("Undefined use of section [%s]"), n.c_str());
    641642                        processResSection(config, n, true, pref);
    642643                        continue;
    643644                }
     
    693694                        } else if (*ptr == 'x') {
    694695                                phase = 1;
    695696                        } else {
    696                                 error("Syntax error. Wrong resolution in skipFor in section %s", name);
     697                                error(_t("Syntax error. Wrong resolution in skipFor in section %s"), name);
    697698                        }
    698699                        break;
    699700                case 1:
     
    710711                                        phase = x = y = 0;
    711712                                }
    712713                        } else {
    713                                 error("Syntax error. Wrong resolution in skipFor in section %s", name);
     714                                error(_t("Syntax error. Wrong resolution in skipFor in section %s"), name);
    714715                        }
    715716                        break;
    716717                case 2:
     
    721722                                        return true;
    722723                                return false;
    723724                        } else {
    724                                 error ("Syntax error. Wrong resolution in skipFor in section %s", name);
     725                                error (_t("Syntax error. Wrong resolution in skipFor in section %s"), name);
    725726                        }
    726727                        break;
    727728                default:
     
    757758        if (config.hasSection(name) && !sectionIsSkipped(config, name, x, y))
    758759                processResSection(config, name);
    759760
    760         debug(3, "Number of variables: %d", _evaluator->getNumVars());
     761        debug(3, _t("Number of variables: %d"), _evaluator->getNumVars());
    761762}
    762763
    763764} // End of namespace GUI
  • gui/browser.cpp

     
    3131#include "common/fs.h"
    3232#include "common/system.h"
    3333#include "common/algorithm.h"
     34#include "common/translation.h"
    3435
    3536namespace GUI {
    3637
     
    155156        _fileList->setHints(THEME_HINT_PLAIN_COLOR);
    156157
    157158        // Buttons
    158         new ButtonWidget(this, "browser_up", "Go up", kGoUpCmd, 0);
    159         new ButtonWidget(this, "browser_cancel", "Cancel", kCloseCmd, 0);
    160         new ButtonWidget(this, "browser_choose", "Choose", kChooseCmd, 0);
     159        new ButtonWidget(this, "browser_up", _("Go up"), kGoUpCmd, 0);
     160        new ButtonWidget(this, "browser_cancel", _("Cancel"), kCloseCmd, 0);
     161        new ButtonWidget(this, "browser_choose", _("Choose"), kChooseCmd, 0);
    161162}
    162163
    163164void BrowserDialog::open() {
  • gui/debugger.cpp

     
    2626#include "common/stdafx.h"
    2727
    2828#include "common/system.h"
     29#include "common/translation.h"
    2930
    3031#include "gui/debugger.h"
    3132#if USE_CONSOLE
     
    123124void Debugger::enter() {
    124125#if USE_CONSOLE
    125126        if (_firstTime) {
    126                 DebugPrintf("Debugger started, type 'exit' to return to the game.\n");
    127                 DebugPrintf("Type 'help' to see a little list of commands and variables.\n");
     127                DebugPrintf(_("Debugger started, type 'exit' to return to the game.\n"));
     128                DebugPrintf(_("Type 'help' to see a little list of commands and variables.\n"));
    128129                _firstTime = false;
    129130        }
    130131
    131132        if (_errStr) {
    132                 DebugPrintf("ERROR: %s\n\n", _errStr);
     133                DebugPrintf(_("ERROR: %s\n\n"), _errStr);
    133134                free(_errStr);
    134135                _errStr = NULL;
    135136        }
     
    146147        // and tab completion of the console. It would still require a lot of
    147148        // work, but at least no dependency on a 3rd party library...
    148149
    149         printf("Debugger entered, please switch to this console for input.\n");
     150        printf(_t("Debugger entered, please switch to this console for input.\n"));
    150151
    151152        int i;
    152153        char buf[256];
     
    222223                                case DVAR_INTARRAY: {
    223224                                        char *chr = (char *)strchr(param[0], '[');
    224225                                        if (!chr) {
    225                                                 DebugPrintf("You must access this array as %s[element]\n", param[0]);
     226                                                DebugPrintf(_("You must access this array as %s[element]\n"), param[0]);
    226227                                        } else {
    227228                                                int element = atoi(chr+1);
    228229                                                int32 *var = *(int32 **)_dvars[i].variable;
    229230                                                if (element >= _dvars[i].optional) {
    230                                                         DebugPrintf("%s is out of range (array is %d elements big)\n", param[0], _dvars[i].optional);
     231                                                        DebugPrintf(_("%s is out of range (array is %d elements big)\n"), param[0], _dvars[i].optional);
    231232                                                } else {
    232233                                                        var[element] = atoi(param[1]);
    233234                                                        DebugPrintf("(int)%s = %d\n", param[0], var[element]);
     
    236237                                        }
    237238                                        break;
    238239                                default:
    239                                         DebugPrintf("Failed to set variable %s to %s - unknown type\n", _dvars[i].name, param[1]);
     240                                        DebugPrintf(_("Failed to set variable %s to %s - unknown type\n"), _dvars[i].name, param[1]);
    240241                                        break;
    241242                                }
    242243                        } else {
     
    253254                                case DVAR_INTARRAY: {
    254255                                        const char *chr = strchr(param[0], '[');
    255256                                        if (!chr) {
    256                                                 DebugPrintf("You must access this array as %s[element]\n", param[0]);
     257                                                DebugPrintf(_("You must access this array as %s[element]\n"), param[0]);
    257258                                        } else {
    258259                                                int element = atoi(chr+1);
    259260                                                const int32 *var = *(const int32 **)_dvars[i].variable;
    260261                                                if (element >= _dvars[i].optional) {
    261                                                         DebugPrintf("%s is out of range (array is %d elements big)\n", param[0], _dvars[i].optional);
     262                                                        DebugPrintf(_("%s is out of range (array is %d elements big)\n"), param[0], _dvars[i].optional);
    262263                                                } else {
    263264                                                        DebugPrintf("(int)%s = %d\n", param[0], var[element]);
    264265                                                }
     
    270271                                        DebugPrintf("(string)%s = %s\n", param[0], ((Common::String *)_dvars[i].variable)->c_str());
    271272                                        break;
    272273                                default:
    273                                         DebugPrintf("%s = (unknown type)\n", param[0]);
     274                                        DebugPrintf(_("%s = (unknown type)\n"), param[0]);
    274275                                        break;
    275276                                }
    276277                        }
     
    280281                }
    281282        }
    282283
    283         DebugPrintf("Unknown command or variable\n");
     284        DebugPrintf(_("Unknown command or variable\n"));
    284285        free(input);
    285286        return true;
    286287}
     
    370371        const int charsPerLine = _debuggerDialog->getCharsPerLine();
    371372        int width, size, i;
    372373
    373         DebugPrintf("Commands are:\n");
     374        DebugPrintf(_("Commands are:\n"));
    374375        width = 0;
    375376        for (i = 0; i < _dcmd_count; i++) {
    376377                size = strlen(_dcmds[i].name) + 1;
     
    387388
    388389        if (_dvar_count > 0) {
    389390                DebugPrintf("\n");
    390                 DebugPrintf("Variables are:\n");
     391                DebugPrintf(_("Variables are:\n"));
    391392                width = 0;
    392393                for (i = 0; i < _dvar_count; i++) {
    393394                        size = strlen(_dvars[i].name) + 1;
     
    409410bool Debugger::Cmd_DebugFlagsList(int argc, const char **argv) {
    410411        const Common::Array<Common::EngineDebugLevel> &debugLevels = Common::listSpecialDebugLevels();
    411412
    412         DebugPrintf("Engine debug levels:\n");
    413         DebugPrintf("--------------------\n");
     413        DebugPrintf(_("Engine debug levels:\n"));
     414        DebugPrintf(_("--------------------\n"));
    414415        if (!debugLevels.size()) {
    415                 DebugPrintf("No engine debug levels\n");
     416                DebugPrintf(_("No engine debug levels\n"));
    416417                return true;
    417418        }
    418419        for (uint i = 0; i < debugLevels.size(); ++i) {
     
    424425
    425426bool Debugger::Cmd_DebugFlagEnable(int argc, const char **argv) {
    426427        if (argc < 2) {
    427                 DebugPrintf("debugflag_enable <flag>\n");
     428                DebugPrintf(_("debugflag_enable <flag>\n"));
    428429        } else {
    429430                if (Common::enableSpecialDebugLevel(argv[1])) {
    430                         DebugPrintf("Enabled debug flag '%s'\n", argv[1]);
     431                        DebugPrintf(_("Enabled debug flag '%s'\n"), argv[1]);
    431432                } else {
    432                         DebugPrintf("Failed to enable debug flag '%s'\n", argv[1]);
     433                        DebugPrintf(_("Failed to enable debug flag '%s'\n"), argv[1]);
    433434                }
    434435        }
    435436        return true;
     
    437438
    438439bool Debugger::Cmd_DebugFlagDisable(int argc, const char **argv) {
    439440        if (argc < 2) {
    440                 DebugPrintf("debugflag_disable <flag>\n");
     441                DebugPrintf(_("debugflag_disable <flag>\n"));
    441442        } else {
    442443                if (Common::disableSpecialDebugLevel(argv[1])) {
    443                         DebugPrintf("Disabled debug flag '%s'\n", argv[1]);
     444                        DebugPrintf(_("Disabled debug flag '%s'\n"), argv[1]);
    444445                } else {
    445                         DebugPrintf("Failed to disable debug flag '%s'\n", argv[1]);
     446                        DebugPrintf(_("Failed to disable debug flag '%s'\n"), argv[1]);
    446447                }
    447448        }
    448449        return true;
  • common/file.cpp

     
    2828#include "common/hashmap.h"
    2929#include "common/util.h"
    3030#include "common/hash-str.h"
     31#include "common/translation.h"
    3132
    3233#ifdef MACOSX
    3334#include "CoreFoundation/CoreFoundation.h"
     
    275276
    276277File::~File() {
    277278#ifdef DEBUG_FILE_REFCOUNT
    278         warning("File::~File on file '%s'", _name.c_str());
     279        warning(_t("File::~File on file '%s'"), _name.c_str());
    279280#endif
    280281        close();
    281282}
     
    285286        assert(mode == kFileReadMode || mode == kFileWriteMode);
    286287
    287288        if (filename.empty()) {
    288                 error("File::open: No filename was specified");
     289                error(_t("File::open: No filename was specified"));
    289290        }
    290291
    291292        if (_handle) {
    292                 error("File::open: This file object already is opened (%s), won't open '%s'", _name.c_str(), filename.c_str());
     293                error(_t("File::open: This file object already is opened (%s), won't open '%s'"), _name.c_str(), filename.c_str());
    293294        }
    294295
    295296        _name.clear();
     
    303304                _handle = fopenNoCase(filename, "", modeStr);
    304305        } else if (_filesMap && _filesMap->contains(fname)) {
    305306                fname = (*_filesMap)[fname];
    306                 debug(3, "Opening hashed: %s", fname.c_str());
     307                debug(3, _t("Opening hashed: %s"), fname.c_str());
    307308                _handle = fopen(fname.c_str(), modeStr);
    308309        } else if (_filesMap && _filesMap->contains(fname + ".")) {
    309310                // WORKAROUND: Bug #1458388: "SIMON1: Game Detection fails"
    310311                // sometimes instead of "GAMEPC" we get "GAMEPC." (note trailing dot)
    311312                fname = (*_filesMap)[fname + "."];
    312                 debug(3, "Opening hashed: %s", fname.c_str());
     313                debug(3, _t("Opening hashed: %s"), fname.c_str());
    313314                _handle = fopen(fname.c_str(), modeStr);
    314315        } else {
    315316
     
    345346
    346347        if (_handle == NULL) {
    347348                if (mode == kFileReadMode)
    348                         debug(2, "File %s not found", filename.c_str());
     349                        debug(2, _t("File %s not found"), filename.c_str());
    349350                else
    350                         debug(2, "File %s not opened", filename.c_str());
     351                        debug(2, _t("File %s not opened"), filename.c_str());
    351352                return false;
    352353        }
    353354
     
    355356        _name = filename;
    356357
    357358#ifdef DEBUG_FILE_REFCOUNT
    358         warning("File::open on file '%s'", _name.c_str());
     359        warning(_t("File::open on file '%s'"), _name.c_str());
    359360#endif
    360361
    361362        return true;
     
    365366        assert(mode == kFileReadMode || mode == kFileWriteMode);
    366367
    367368        if (!node.isValid()) {
    368                 warning("File::open: Trying to open an invalid FilesystemNode object");
     369                warning(_t("File::open: Trying to open an invalid FilesystemNode object"));
    369370                return false;
    370371        } else if (node.isDirectory()) {
    371                 warning("File::open: Trying to open a FilesystemNode which is a directory");
     372                warning(_t("File::open: Trying to open a FilesystemNode which is a directory"));
    372373                return false;
    373374        }
    374375
    375376        String filename(node.name());
    376377
    377378        if (_handle) {
    378                 error("File::open: This file object already is opened (%s), won't open '%s'", _name.c_str(), filename.c_str());
     379                error(_t("File::open: This file object already is opened (%s), won't open '%s'"), _name.c_str(), filename.c_str());
    379380        }
    380381
    381382        clearIOFailed();
     
    387388
    388389        if (_handle == NULL) {
    389390                if (mode == kFileReadMode)
    390                         debug(2, "File %s not found", filename.c_str());
     391                        debug(2, _t("File %s not found"), filename.c_str());
    391392                else
    392                         debug(2, "File %s not opened", filename.c_str());
     393                        debug(2, _t("File %s not opened"), filename.c_str());
    393394                return false;
    394395        }
    395396
    396397        _name = filename;
    397398
    398399#ifdef DEBUG_FILE_REFCOUNT
    399         warning("File::open on file '%s'", _name.c_str());
     400        warning(_t("File::open on file '%s'"), _name.c_str());
    400401#endif
    401402
    402403        return true;
     
    456457
    457458bool File::eof() const {
    458459        if (_handle == NULL) {
    459                 error("File::eof: File is not open!");
     460                error(_t("File::eof: File is not open!"));
    460461                return false;
    461462        }
    462463
     
    465466
    466467uint32 File::pos() const {
    467468        if (_handle == NULL) {
    468                 error("File::pos: File is not open!");
     469                error(_t("File::pos: File is not open!"));
    469470                return 0;
    470471        }
    471472
     
    474475
    475476uint32 File::size() const {
    476477        if (_handle == NULL) {
    477                 error("File::size: File is not open!");
     478                error(_t("File::size: File is not open!"));
    478479                return 0;
    479480        }
    480481
     
    488489
    489490void File::seek(int32 offs, int whence) {
    490491        if (_handle == NULL) {
    491                 error("File::seek: File is not open!");
     492                error(_t("File::seek: File is not open!"));
    492493                return;
    493494        }
    494495
     
    501502        uint32 real_len;
    502503
    503504        if (_handle == NULL) {
    504                 error("File::read: File is not open!");
     505                error(_t("File::read: File is not open!"));
    505506                return 0;
    506507        }
    507508
     
    518519
    519520uint32 File::write(const void *ptr, uint32 len) {
    520521        if (_handle == NULL) {
    521                 error("File::write: File is not open!");
     522                error(_t("File::write: File is not open!"));
    522523                return 0;
    523524        }
    524525
  • common/advancedDetector.cpp

     
    3333#include "common/md5.h"
    3434#include "common/advancedDetector.h"
    3535#include "common/config-manager.h"
     36#include "common/translation.h"
    3637
    3738namespace Common {
    3839
     
    6667                        }
    6768                        g++;
    6869                }
    69                 error("Engine %s doesn't have its singleid specified in ids list", params.singleid);
     70                error(_t("Engine %s doesn't have its singleid specified in ids list"), params.singleid);
    7071        }
    7172
    7273        return GameList(params.list);
     
    8687                        if (o->platform != Common::kPlatformUnknown)
    8788                                ConfMan.set("platform", Common::getPlatformCode(o->platform));
    8889
    89                         warning("Target upgraded from %s to %s", o->from, o->to);
     90                        warning(_t("Target upgraded from %s to %s"), o->from, o->to);
    9091
    9192                        if (ConfMan.hasKey("id_came_from_command_line")) {
    92                                 warning("Target came from command line. Skipping save");
     93                                warning(_t("Target came from command line. Skipping save"));
    9394                        } else {
    9495                                ConfMan.flushToDisk();
    9596                        }
     
    116117                        if (0 == scumm_stricmp(gameid, o->from)) {
    117118                                g = findPlainGameDescriptor(o->to, list);
    118119                                if (g && g->description)
    119                                         return GameDescriptor(gameid, "Obsolete game ID (" + Common::String(g->description) + ")");
     120                                        return GameDescriptor(gameid, _t("Obsolete game ID (") + Common::String(g->description) + _t(")"));
    120121                                else
    121                                         return GameDescriptor(gameid, "Obsolete game ID");
     122                                        return GameDescriptor(gameid, _t("Obsolete game ID"));
    122123                        }
    123124                        o++;
    124125                }
     
    260261        }
    261262
    262263        if (result.realDesc != 0) {
    263                 debug(2, "Running %s", toGameDescriptor(result, params.list).description().c_str());
     264                debug(2, _t("Running %s"), toGameDescriptor(result, params.list).description().c_str());
    264265        }
    265266
    266267        return result;
     
    325326        const ADGameDescription *g;
    326327        const byte *descPtr;
    327328
    328         debug(3, "Starting detection");
     329        debug(3, _t("Starting detection"));
    329330
    330331        // First we compose list of files which we need MD5s for
    331332        for (descPtr = params.descs; ((const ADGameDescription *)descPtr)->gameid != 0; descPtr += params.descItemSize) {
     
    415416                        }
    416417                        if (fileDesc->md5 != NULL) {
    417418                                if (fileDesc->md5 != filesMD5[tstr]) {
    418                                         debug(3, "MD5 Mismatch. Skipping (%s) (%s)", fileDesc->md5, filesMD5[tstr].c_str());
     419                                        debug(3, _t("MD5 Mismatch. Skipping (%s) (%s)"), fileDesc->md5, filesMD5[tstr].c_str());
    419420                                        fileMissing = true;
    420421                                        break;
    421422                                }
     
    423424
    424425                        if (fileDesc->fileSize != -1) {
    425426                                if (fileDesc->fileSize != filesSize[tstr]) {
    426                                         debug(3, "Size Mismatch. Skipping");
     427                                        debug(3, _t("Size Mismatch. Skipping"));
    427428                                        fileMissing = true;
    428429                                        break;
    429430                                }
    430431                        }
    431432
    432                         debug(3, "Matched file: %s", tstr.c_str());
     433                        debug(3, _t("Matched file: %s"), tstr.c_str());
    433434                }
    434435                if (!fileMissing) {
    435                         debug(2, "Found game: %s (%s %s/%s) (%d)", g->gameid, g->extra,
     436                        debug(2, _t("Found game: %s (%s %s/%s) (%d)"), g->gameid, g->extra,
    436437                         getPlatformDescription(g->platform), getLanguageDescription(g->language), i);
    437438
    438439                        // Count the number of matching files. Then, only keep those
     
    442443                                curFilesMatched++;
    443444
    444445                        if (curFilesMatched > maxFilesMatched) {
    445                                 debug(2, " ... new best match, removing all previous candidates");
     446                                debug(2, _t(" ... new best match, removing all previous candidates"));
    446447                                maxFilesMatched = curFilesMatched;
    447448                                matched.clear();
    448449                                matched.push_back(g);
    449450                        } else if (curFilesMatched == maxFilesMatched) {
    450451                                matched.push_back(g);
    451452                        } else {
    452                                 debug(2, " ... skipped");
     453                                debug(2, _t(" ... skipped"));
    453454                        }
    454455
    455456                } else {
    456                         debug(5, "Skipping game: %s (%s %s/%s) (%d)", g->gameid, g->extra,
     457                        debug(5, _t("Skipping game: %s (%s %s/%s) (%d)"), g->gameid, g->extra,
    457458                         getPlatformDescription(g->platform), getLanguageDescription(g->language), i);
    458459                }
    459460        }
     
    468469                //
    469470                // Might also be helpful to display the full path (for when this is used
    470471                // from the mass detector).
    471                 printf("Your game version appears to be unknown. Please, report the following\n");
    472                 printf("data to the ScummVM team along with name of the game you tried to add\n");
    473                 printf("and its version/language/etc.:\n");
     472                printf(_t("Your game version appears to be unknown. Please, report the following\n"
     473                        "data to the ScummVM team along with name of the game you tried to add\n"
     474                        "and its version/language/etc.:\n"));
    474475
    475476                for (StringMap::const_iterator file = filesMD5.begin(); file != filesMD5.end(); ++file)
    476477                        printf("  \"%s\", \"%s\", %d\n", file->_key.c_str(), file->_value.c_str(), filesSize[file->_key]);
     
    532533                        }
    533534
    534535                        if (!fileMissing)
    535                                 debug(4, "Matched: %s", agdesc->gameid);
     536                                debug(4, _t("Matched: %s"), agdesc->gameid);
    536537
    537538                        if (!fileMissing && numMatchedFiles > maxNumMatchedFiles) {
    538539                                matchedDesc = agdesc;
    539540                                maxNumMatchedFiles = numMatchedFiles;
    540541
    541                                 debug(4, "and overriden");
     542                                debug(4, _t("and overriden"));
    542543                        }
    543544                }
    544545
    545546                if (matchedDesc) { // We got a match
    546547                        matched.push_back(matchedDesc);
    547548                        if (params.flags & kADFlagPrintWarningOnFileBasedFallback) {
    548                                 printf("Your game version has been detected using filename matching as a\n");
    549                                 printf("variant of %s.\n", matchedDesc->gameid);
    550                                 printf("If this is an original and unmodified version, please report any\n");
    551                                 printf("information previously printed by ScummVM to the team.\n");
     549                                printf(_t("Your game version has been detected using filename matching as a\n"
     550                                        "variant of %s.\n"), matchedDesc->gameid);
     551                                printf(_t("If this is an original and unmodified version, please report any\n"
     552                                        "information previously printed by ScummVM to the team.\n"));
    552553                        }
    553554                }
    554555        }
  • common/mutex.cpp

     
    2626#include "common/stdafx.h"
    2727#include "common/mutex.h"
    2828#include "common/system.h"
     29#include "common/translation.h"
    2930
    3031namespace Common {
    3132
     
    6566
    6667void StackLock::lock() {
    6768        if (_mutexName != NULL)
    68                 debug(6, "Locking mutex %s", _mutexName);
     69                debug(6, _t("Locking mutex %s"), _mutexName);
    6970
    7071        g_system->lockMutex(_mutex);
    7172}
    7273
    7374void StackLock::unlock() {
    7475        if (_mutexName != NULL)
    75                 debug(6, "Unlocking mutex %s", _mutexName);
     76                debug(6, _t("Unlocking mutex %s"), _mutexName);
    7677
    7778        g_system->unlockMutex(_mutex);
    7879}
  • common/iff_container.h

     
    3030#include "common/endian.h"
    3131#include "common/stream.h"
    3232#include "common/util.h"
     33#include "common/translation.h"
    3334
    3435namespace Common {
    3536
     
    163164        void incBytesRead(uint32 inc) {
    164165                bytesRead += inc;
    165166                if (bytesRead > size) {
    166                         error("Chunk overead");
     167                        error(_t("Chunk overead"));
    167168                }
    168169        }
    169170
     
    199200        IFFParser(Common::ReadStream &input) : _formChunk(&input), _chunk(&input) {
    200201                _formChunk.readHeader();
    201202                if (_formChunk.id != ID_FORM) {
    202                         error("IFFDecoder input is not a FORM type IFF file");
     203                        error(_t("IFFDecoder input is not a FORM type IFF file"));
    203204                }
    204205                _typeId = _formChunk.readUint32BE();
    205206        }
  • common/config-manager.cpp

     
    3434#include "common/config-manager.h"
    3535#include "common/file.h"
    3636#include "common/util.h"
     37#include "common/translation.h"
    3738
    3839DECLARE_SINGLETON(Common::ConfigManager);
    3940
     
    101102                        // Use the Application Data directory of the user profile.
    102103                        if (win32OsVersion.dwMajorVersion >= 5) {
    103104                                if (!GetEnvironmentVariable("APPDATA", configFile, sizeof(configFile)))
    104                                         error("Unable to access application data directory");
     105                                        error(_t("Unable to access application data directory"));
    105106                        } else {
    106107                                if (!GetEnvironmentVariable("USERPROFILE", configFile, sizeof(configFile)))
    107                                         error("Unable to access user profile directory");
     108                                        error(_t("Unable to access user profile directory"));
    108109
    109110                                strcat(configFile, "\\Application Data");
    110111                                CreateDirectory(configFile, NULL);
     
    120121                                GetWindowsDirectory(oldConfigFile, MAXPATHLEN);
    121122                                strcat(oldConfigFile, "\\" DEFAULT_CONFIG_FILE);
    122123                                if (fopen(oldConfigFile, "r")) {
    123                                         printf("The default location of the config file (scummvm.ini) in ScummVM has changed,\n");
    124                                         printf("under Windows NT4/2000/XP/Vista. You may want to consider moving your config\n");
    125                                         printf("file from the old default location:\n");
    126                                         printf("%s\n", oldConfigFile);
    127                                         printf("to the new default location:\n");
    128                                         printf("%s\n\n", configFile);
     124                                        printf(_t("The default location of the config file (scummvm.ini) in ScummVM has changed,\n"
     125                                                "under Windows NT4/2000/XP/Vista. You may want to consider moving your config\n"
     126                                                "file from the old default location:\n"
     127                                                "%s\n"
     128                                                "to the new default location:\n"
     129                                                "%s\n\n"), oldConfigFile, configFile);
    129130                                        strcpy(configFile, oldConfigFile);
    130131                                }
    131132                        }
     
    161162        _filename = filename;
    162163        _domainSaveOrder.clear();
    163164        loadFile(_filename);
    164         printf("Using configuration file: %s\n", _filename.c_str());
     165        printf(_t("Using configuration file: %s\n"), _filename.c_str());
    165166}
    166167
    167168void ConfigManager::loadFile(const String &filename) {
    168169        File cfg_file;
    169170
    170171        if (!cfg_file.open(filename)) {
    171                 printf("Creating configuration file: %s\n", filename.c_str());
     172                printf(_t("Creating configuration file: %s\n"), filename.c_str());
    172173        } else {
    173174                char buf[MAXLINELEN];
    174175                String domain;
     
    200201
    201202                                switch (*p) {
    202203                                case '\0':
    203                                         error("Config file buggy: missing ] in line %d", lineno);
     204                                        error(_t("Config file buggy: missing ] in line %d"), lineno);
    204205                                        break;
    205206                                case ']':
    206207                                        *p = 0;
    207208                                        domain = buf + 1;
    208209                                        break;
    209210                                default:
    210                                         error("Config file buggy: Invalid character '%c' occured in domain name in line %d", *p, lineno);
     211                                        error(_t("Config file buggy: Invalid character '%c' occured in domain name in line %d"), *p, lineno);
    211212                                }
    212213
    213214                                // Store domain comment
     
    229230
    230231                                // If no domain has been set, this config file is invalid!
    231232                                if (domain.empty()) {
    232                                         error("Config file buggy: Key/value pair found outside a domain in line %d", lineno);
     233                                        error(_t("Config file buggy: Key/value pair found outside a domain in line %d"), lineno);
    233234                                }
    234235
    235236                                // Split string at '=' into 'key' and 'value'.
    236237                                char *p = strchr(t, '=');
    237238                                if (!p)
    238                                         error("Config file buggy: Junk found in line line %d: '%s'", lineno, t);
     239                                        error(_t("Config file buggy: Junk found in line line %d: '%s'"), lineno, t);
    239240                                *p = 0;
    240241                                String key = rtrim(t);
    241242                                String value = ltrim(p + 1);
     
    262263//              return;
    263264
    264265        if (!cfg_file.open(_filename, File::kFileWriteMode)) {
    265                 warning("Unable to write configuration file: %s", _filename.c_str());
     266                warning(_t("Unable to write configuration file: %s"), _filename.c_str());
    266267        } else {
    267268
    268269                // First write the domains in _domainSaveOrder, in that order.
     
    399400        Domain *domain = getDomain(domName);
    400401
    401402        if (!domain)
    402                 error("ConfigManager::removeKey(%s, %s) called on non-existent domain",
     403                error(_t("ConfigManager::removeKey(%s, %s) called on non-existent domain"),
    403404                                        key.c_str(), domName.c_str());
    404405
    405406        domain->erase(key);
     
    436437        const Domain *domain = getDomain(domName);
    437438
    438439        if (!domain)
    439                 error("ConfigManager::get(%s,%s) called on non-existent domain",
     440                error(_t("ConfigManager::get(%s,%s) called on non-existent domain"),
    440441                                                                key.c_str(), domName.c_str());
    441442
    442443        if (domain->contains(key))
     
    452453        return ConfMan._emptyString;
    453454#endif
    454455#else
    455                 error("ConfigManager::get(%s,%s) called on non-existent key",
     456                error(_t("ConfigManager::get(%s,%s) called on non-existent key"),
    456457                                        key.c_str(), domName.c_str());
    457458#endif
    458459        }
     
    475476        // values ("123") are still valid.
    476477        int ivalue = (int)strtol(value.c_str(), &errpos, 0);
    477478        if (value.c_str() == errpos)
    478                 error("ConfigManager::getInt(%s,%s): '%s' is not a valid integer",
     479                error(_t("ConfigManager::getInt(%s,%s): '%s' is not a valid integer"),
    479480                                        key.c_str(), domName.c_str(), errpos);
    480481
    481482        return ivalue;
     
    489490        if ((value == "false") || (value == "no") || (value == "0"))
    490491                return false;
    491492
    492         error("ConfigManager::getBool(%s,%s): '%s' is not a valid bool",
     493        error(_t("ConfigManager::getBool(%s,%s): '%s' is not a valid bool"),
    493494                                key.c_str(), domName.c_str(), value.c_str());
    494495}
    495496
     
    521522        Domain *domain = getDomain(domName);
    522523
    523524        if (!domain)
    524                 error("ConfigManager::set(%s,%s,%s) called on non-existent domain",
     525                error(_t("ConfigManager::set(%s,%s,%s) called on non-existent domain"),
    525526                                        key.c_str(), value.c_str(), domName.c_str());
    526527
    527528        (*domain)[key] = value;
  • common/util.cpp

     
    2727#include "common/util.h"
    2828#include "common/system.h"
    2929#include "gui/debugger.h"
     30#include "common/translation.h"
    3031
    3132#ifdef _WIN32_WCE
    3233// This is required for the debugger attachment
     
    147148
    148149
    149150const LanguageDescription g_languages[] = {
    150         {"zh", "Chinese (Taiwan)", ZH_TWN},
    151         {"cz", "Czech", CZ_CZE},
    152         {"nl", "Dutch", NL_NLD},
    153         {"en", "English", EN_ANY}, // Generic English (when only one game version exist)
    154         {"gb", "English (GB)", EN_GRB},
    155         {"us", "English (US)", EN_USA},
    156         {"fr", "French", FR_FRA},
    157         {"de", "German", DE_DEU},
    158         {"hb", "Hebrew", HB_ISR},
    159         {"it", "Italian", IT_ITA},
    160         {"jp", "Japanese", JA_JPN},
    161         {"kr", "Korean", KO_KOR},
    162         {"nb", "Norwegian Bokm\xE5l", NB_NOR},
    163         {"pl", "Polish", PL_POL},
    164         {"br", "Portuguese", PT_BRA},
    165         {"ru", "Russian", RU_RUS},
    166         {"es", "Spanish", ES_ESP},
    167         {"se", "Swedish", SE_SWE},
     151        {"zh", _("Chinese (Taiwan)"), ZH_TWN},
     152        {"cz", _("Czech"), CZ_CZE},
     153        {"nl", _("Dutch"), NL_NLD},
     154        {"en", _("English"), EN_ANY}, // Generic English (when only one game version exist)
     155        {"gb", _("English (GB)"), EN_GRB},
     156        {"us", _("English (US)"), EN_USA},
     157        {"fr", _("French"), FR_FRA},
     158        {"de", _("German"), DE_DEU},
     159        {"hb", _("Hebrew"), HB_ISR},
     160        {"it", _("Italian"), IT_ITA},
     161        {"jp", _("Japanese"), JA_JPN},
     162        {"kr", _("Korean"), KO_KOR},
     163        {"nb", _("Norwegian Bokm\xE5l"), NB_NOR},
     164        {"pl", _("Polish"), PL_POL},
     165        {"br", _("Portuguese"), PT_BRA},
     166        {"ru", _("Russian"), RU_RUS},
     167        {"es", _("Spanish"), ES_ESP},
     168        {"se", _("Swedish"), SE_SWE},
    168169        {0, 0, UNK_LANG}
    169170};
    170171
     
    205206
    206207
    207208const PlatformDescription g_platforms[] = {
    208         {"2gs", "2gs", "2gs", "Apple IIgs", kPlatformApple2GS },
    209         {"3do", "3do", "3do", "3DO", kPlatform3DO},
    210         {"acorn", "acorn", "acorn", "Acorn", kPlatformAcorn},
    211         {"amiga", "ami", "amiga", "Amiga", kPlatformAmiga},
    212         {"atari", "atari-st", "st", "Atari ST", kPlatformAtariST},
    213         {"c64", "c64", "c64", "Commodore 64", kPlatformC64},
    214         {"pc", "dos", "ibm", "DOS", kPlatformPC},
     209        {"2gs", "2gs", "2gs", _("Apple IIgs"), kPlatformApple2GS },
     210        {"3do", "3do", "3do", _("3DO"), kPlatform3DO},
     211        {"acorn", "acorn", "acorn", _("Acorn"), kPlatformAcorn},
     212        {"amiga", "ami", "amiga", _("Amiga"), kPlatformAmiga},
     213        {"atari", "atari-st", "st", _("Atari ST"), kPlatformAtariST},
     214        {"c64", "c64", "c64", _("Commodore 64"), kPlatformC64},
     215        {"pc", "dos", "ibm", _("DOS"), kPlatformPC},
    215216
    216217        // The 'official' spelling seems to be "FM-TOWNS" (e.g. in the Indy4 demo).
    217218        // However, on the net many variations can be seen, like "FMTOWNS",
    218219        // "FM TOWNS", "FmTowns", etc.
    219         {"fmtowns", "towns", "fm", "FM-TOWNS", kPlatformFMTowns},
     220        {"fmtowns", "towns", "fm", _("FM-TOWNS"), kPlatformFMTowns},
    220221
    221         {"linux", "linux", "linux", "Linux", kPlatformLinux},
    222         {"macintosh", "mac", "mac", "Macintosh", kPlatformMacintosh},
    223         {"pce", "pce", "pce", "PC-Engine", kPlatformPCEngine },
    224         {"nes", "nes", "nes", "NES", kPlatformNES},
    225         {"segacd", "segacd", "sega", "SegaCD", kPlatformSegaCD},
    226         {"windows", "win", "win", "Windows", kPlatformWindows},
     222        {"linux", "linux", "linux", _("Linux"), kPlatformLinux},
     223        {"macintosh", "mac", "mac", _("Macintosh"), kPlatformMacintosh},
     224        {"pce", "pce", "pce", _("PC-Engine"), kPlatformPCEngine },
     225        {"nes", "nes", "nes", _("NES"), kPlatformNES},
     226        {"segacd", "segacd", "sega", _("SegaCD"), kPlatformSegaCD},
     227        {"windows", "win", "win", _("Windows"), kPlatformWindows},
    227228
    228229
    229         {0, 0, 0, "Default", kPlatformUnknown}
     230        {0, 0, 0, _("Default"), kPlatformUnknown}
    230231};
    231232
    232233Platform parsePlatform(const String &str) {
     
    286287
    287288
    288289const RenderModeDescription g_renderModes[] = {
    289         {"hercGreen", "Hercules Green", kRenderHercG},
    290         {"hercAmber", "Hercules Amber", kRenderHercA},
    291         {"cga", "CGA", kRenderCGA},
    292         {"ega", "EGA", kRenderEGA},
    293         {"amiga", "Amiga", kRenderAmiga},
     290        {"hercGreen", _("Hercules Green"), kRenderHercG},
     291        {"hercAmber", _("Hercules Amber"), kRenderHercA},
     292        {"cga", _("CGA"), kRenderCGA},
     293        {"ega", _("EGA"), kRenderEGA},
     294        {"amiga", _("Amiga"), kRenderAmiga},
    294295        {0, 0, kRenderDefault}
    295296};
    296297
     
    334335bool addSpecialDebugLevel(uint32 level, const String &option, const String &description) {
    335336        for (uint i = 0; i < gDebugLevels.size(); ++i) {
    336337                if (!scumm_stricmp(option.c_str(), gDebugLevels[i].option.c_str())) {
    337                         warning("Declared engine debug level '%s' again", option.c_str());
     338                        warning(_t("Declared engine debug level '%s' again"), option.c_str());
    338339                        gDebugLevels[i] = EngineDebugLevel(level, option, description);
    339340                        return true;
    340341                }
     
    367368        for (end = start + 1; end <= option.size(); ++end) {
    368369                if (str[end] == ',' || end == option.size()) {
    369370                        if (!enableSpecialDebugLevel(Common::String(&str[start], end-start))) {
    370                                 warning("Engine does not support debug level '%s'", Common::String(&str[start], end-start).c_str());
     371                                warning(_t("Engine does not support debug level '%s'"), Common::String(&str[start], end-start).c_str());
    371372                        }
    372373                        start = end + 1;
    373374                }
     
    512513
    513514        // Print the error message to stderr
    514515#ifdef __GP32__
    515         printf("ERROR: %s\n", buf_output);
     516        printf(_t("ERROR: %s\n"), buf_output);
    516517#else
    517518        fprintf(stderr, "%s!\n", buf_output);
    518519#endif
     
    575576        va_end(va);
    576577
    577578#ifdef __GP32__ //ph0x FIXME: implement fprint?
    578         printf("WARNING: %s\n", buf);
     579        printf(_t("WARNING: %s\n"), buf);
    579580#else
    580581#if !defined (__SYMBIAN32__)
    581         fprintf(stderr, "WARNING: %s!\n", buf);
     582        fprintf(stderr, _t("WARNING: %s!\n"), buf);
    582583#endif
    583584#endif
    584585#if defined( USE_WINDBG )
  • common/config-file.cpp

     
    3030#include "common/savefile.h"
    3131#include "common/system.h"
    3232#include "common/util.h"
     33#include "common/translation.h"
    3334
    3435#define MAXLINELEN 256
    3536
     
    119120                                p++;
    120121
    121122                        if (*p == '\0')
    122                                 error("ConfigFile::loadFromStream: missing ] in line %d", lineno);
     123                                error(_t("ConfigFile::loadFromStream: missing ] in line %d"), lineno);
    123124                        else if (*p != ']')
    124                                 error("ConfigFile::loadFromStream: Invalid character '%c' occured in section name in line %d", *p, lineno);
     125                                error(_t("ConfigFile::loadFromStream: Invalid character '%c' occured in section name in line %d"), *p, lineno);
    125126
    126127                        *p = 0;
    127128
     
    145146
    146147                        // If no section has been set, this config file is invalid!
    147148                        if (section.name.empty()) {
    148                                 error("ConfigFile::loadFromStream: Key/value pair found outside a section in line %d", lineno);
     149                                error(_t("ConfigFile::loadFromStream: Key/value pair found outside a section in line %d"), lineno);
    149150                        }
    150151
    151152                        // Split string at '=' into 'key' and 'value'.
    152153                        char *p = strchr(t, '=');
    153154                        if (!p)
    154                                 error("ConfigFile::loadFromStream: Junk found in line line %d: '%s'", lineno, t);
     155                                error(_t("ConfigFile::loadFromStream: Junk found in line line %d: '%s'"), lineno, t);
    155156                        *p = 0;
    156157
    157158                        kv.key = rtrim(t);
  • common/md5.cpp

     
    3232#include "common/md5.h"
    3333#include "common/util.h"
    3434#include "common/endian.h"
     35#include "common/translation.h"
    3536
    3637namespace Common {
    3738
     
    247248
    248249bool md5_file(const FilesystemNode &file, uint8 digest[16], uint32 length) {
    249250        if (!file.isValid()) {
    250                 warning("md5_file: using an invalid FilesystemNode");
     251                warning(_t("md5_file: using an invalid FilesystemNode"));
    251252                return false;
    252253        } else if (file.isDirectory()) {
    253                 warning("md5_file: using a diretory FilesystemNode");
     254                warning(_t("md5_file: using a diretory FilesystemNode"));
    254255                return false;
    255256        }
    256257
     
    262263
    263264        f.open(name);
    264265        if (!f.isOpen()) {
    265                 warning("md5_file couldn't open '%s'", name);
     266                warning(_t("md5_file couldn't open '%s'"), name);
    266267                return false;
    267268        }
    268269       
     
    379380        unsigned char md5sum[16];
    380381
    381382        if (argc < 2) {
    382                 printf("\n MD5 Validation Tests:\n\n");
     383                printf(_t("\n MD5 Validation Tests:\n\n"));
    383384
    384385                for (i = 0; i < 7; i++) {
    385                         printf(" Test %d ", i + 1);
     386                        printf(_t(" Test %d "), i + 1);
    386387
    387388                        md5_starts(&ctx);
    388389                        md5_update(&ctx, (const uint8 *)msg[i], strlen(msg[i]));
     
    393394                        }
    394395
    395396                        if (memcmp(output, val[i], 32)) {
    396                                 printf("failed!\n");
     397                                printf(_t("failed!\n"));
    397398                                return 1;
    398399                        }
    399400
    400                         printf("passed.\n");
     401                        printf(_t("passed.\n"));
    401402                }
    402403
    403404                printf("\n");
  • common/hashmap.h

     
    360360       
    361361#ifdef DEBUG_HASH_COLLISIONS
    362362        _lookups++;
    363         fprintf(stderr, "collisions %d, lookups %d, ratio %f in HashMap %p; size %d num elements %d\n",
     363        fprintf(stderr, _t("collisions %d, lookups %d, ratio %f in HashMap %p; size %d num elements %d\n"),
    364364                _collisions, _lookups, ((double) _collisions / (double)_lookups),
    365365                (const void *)this, _arrsize, _nele);
    366366#endif
  • graphics/mpeg_player.cpp

     
    2929#include "common/system.h"
    3030#include "common/util.h"
    3131#include "graphics/scaler/intern.h"
     32#include "common/translation.h"
    3233
    3334namespace Graphics {
    3435
     
    131132        _mpegFile = new Common::File();
    132133        sprintf(tempFile, "%s.mp2", name);
    133134        if (!_mpegFile->open(tempFile)) {
    134                 warning("Cutscene: Could not open %s", tempFile);
     135                warning(_t("Cutscene: Could not open %s"), tempFile);
    135136                return false;
    136137        }
    137138
    138139        // Load and configure decoder
    139140        _mpegDecoder = mpeg2_init();
    140141        if (_mpegDecoder == NULL) {
    141                 warning("Cutscene: Could not allocate an MPEG2 decoder");
     142                warning(_t("Cutscene: Could not allocate an MPEG2 decoder"));
    142143                return false;
    143144        }
    144145
  • graphics/iff.cpp

     
    2626#include "graphics/surface.h"
    2727
    2828#include "common/util.h"
     29#include "common/translation.h"
    2930
    3031
    3132namespace Common {
     
    7071
    7172ILBMDecoder::ILBMDecoder(Common::ReadStream &input, Surface &surface, byte *&colors) : IFFParser(input), _surface(&surface), _colors(&colors) {
    7273        if (_typeId != ID_ILBM)
    73                 error("unsupported IFF subtype '%s'", Common::ID2string(_typeId));
     74                error(_t("unsupported IFF subtype '%s'"), Common::ID2string(_typeId));
    7475}
    7576
    7677void ILBMDecoder::decode() {
     
    107108
    108109void ILBMDecoder::readCMAP(Common::IFFChunk &chunk) {
    109110        if (*_colors == NULL) {
    110                 error("wrong input chunk sequence");
     111                error(_t("wrong input chunk sequence"));
    111112        }
    112113        for (uint32 i = 0; i < _colorCount; i++) {
    113114                (*_colors)[i * 3 + 0] = chunk.readByte();
     
    120121
    121122        switch (_bitmapHeader.pack) {
    122123        case 0:
    123                 error("unpacked ILBM files are not supported");
     124                error(_t("unpacked ILBM files are not supported"));
    124125                break;
    125126
    126127        case 1: {
     
    166167
    167168PBMDecoder::PBMDecoder(Common::ReadStream &input, Surface &surface, byte *&colors) : IFFParser(input), _surface(&surface), _colors(&colors) {
    168169        if (_typeId != ID_PBM)
    169                 error("unsupported IFF subtype '%s'", Common::ID2string(_typeId));
     170                error(_t("unsupported IFF subtype '%s'"), Common::ID2string(_typeId));
    170171}
    171172
    172173void PBMDecoder::decode() {
     
    203204
    204205void PBMDecoder::readCMAP(Common::IFFChunk &chunk) {
    205206        if (*_colors == NULL) {
    206                 error("wrong input chunk sequence");
     207                error(_t("wrong input chunk sequence"));
    207208        }
    208209        for (uint32 i = 0; i < _colorCount; i++) {
    209210                (*_colors)[i * 3 + 0] = chunk.readByte();
  • graphics/font.cpp

     
    2727#include "common/file.h"
    2828#include "common/endian.h"
    2929#include "graphics/font.h"
     30#include "common/translation.h"
    3031
    3132namespace Graphics {
    3233
     
    175176                goto errout;
    176177
    177178        if (!bdf_read_header(fp, pf)) {
    178                 warning("Error reading font header");
     179                warning(_t("Error reading font header"));
    179180                goto errout;
    180181        }
    181182
    182183        fp.seek(pos, SEEK_SET);
    183184
    184185        if (!bdf_read_bitmaps(fp, pf)) {
    185                 warning("Error reading font bitmaps");
     186                warning(_t("Error reading font bitmaps"));
    186187                goto errout;
    187188        }
    188189
     
    210211
    211212        for (;;) {
    212213                if (!bdf_getline(fp, buf, sizeof(buf))) {
    213                         warning("Error: EOF on file");
     214                        warning(_t("Error: EOF on file"));
    214215                        return 0;
    215216                }
    216217                if (isprefix(buf, "FONT ")) {           /* not required*/
    217218                        if (sscanf(buf, "FONT %[^\n]", facename) != 1) {
    218                                 warning("Error: bad 'FONT'");
     219                                warning(_t("Error: bad 'FONT'"));
    219220                                return 0;
    220221                        }
    221222                        pf->facename = strdup(facename);
     
    223224                }
    224225                if (isprefix(buf, "COPYRIGHT ")) {      /* not required*/
    225226                        if (sscanf(buf, "COPYRIGHT \"%[^\"]", copyright) != 1) {
    226                                 warning("Error: bad 'COPYRIGHT'");
     227                                warning(_t("Error: bad 'COPYRIGHT'"));
    227228                                return 0;
    228229                        }
    229230                        pf->copyright = strdup(copyright);
     
    231232                }
    232233                if (isprefix(buf, "DEFAULT_CHAR ")) {   /* not required*/
    233234                        if (sscanf(buf, "DEFAULT_CHAR %d", &pf->defaultchar) != 1) {
    234                                 warning("Error: bad 'DEFAULT_CHAR'");
     235                                warning(_t("Error: bad 'DEFAULT_CHAR'"));
    235236                                return 0;
    236237                        }
    237238                }
    238239                if (isprefix(buf, "FONT_DESCENT ")) {
    239240                        if (sscanf(buf, "FONT_DESCENT %d", &pf->descent) != 1) {
    240                                 warning("Error: bad 'FONT_DESCENT'");
     241                                warning(_t("Error: bad 'FONT_DESCENT'"));
    241242                                return 0;
    242243                        }
    243244                        continue;
    244245                }
    245246                if (isprefix(buf, "FONT_ASCENT ")) {
    246247                        if (sscanf(buf, "FONT_ASCENT %d", &pf->ascent) != 1) {
    247                                 warning("Error: bad 'FONT_ASCENT'");
     248                                warning(_t("Error: bad 'FONT_ASCENT'"));
    248249                                return 0;
    249250                        }
    250251                        continue;
     
    252253                if (isprefix(buf, "FONTBOUNDINGBOX ")) {
    253254                        if (sscanf(buf, "FONTBOUNDINGBOX %d %d %d %d",
    254255                                           &pf->fbbw, &pf->fbbh, &pf->fbbx, &pf->fbby) != 4) {
    255                                 warning("Error: bad 'FONTBOUNDINGBOX'");
     256                                warning(_t("Error: bad 'FONTBOUNDINGBOX'"));
    256257                                return 0;
    257258                        }
    258259                        continue;
    259260                }
    260261                if (isprefix(buf, "CHARS ")) {
    261262                        if (sscanf(buf, "CHARS %d", &nchars) != 1) {
    262                                 warning("Error: bad 'CHARS'");
     263                                warning(_t("Error: bad 'CHARS'"));
    263264                                return 0;
    264265                        }
    265266                        continue;
     
    272273                 */
    273274                if (isprefix(buf, "ENCODING ")) {
    274275                        if (sscanf(buf, "ENCODING %d", &encoding) != 1) {
    275                                 warning("Error: bad 'ENCODING'");
     276                                warning(_t("Error: bad 'ENCODING'"));
    276277                                return 0;
    277278                        }
    278279                        if (encoding >= 0 &&
     
    292293
    293294        /* calc font height*/
    294295        if (pf->ascent < 0 || pf->descent < 0 || firstchar < 0) {
    295                 warning("Error: Invalid BDF file, requires FONT_ASCENT/FONT_DESCENT/ENCODING");
     296                warning(_t("Error: Invalid BDF file, requires FONT_ASCENT/FONT_DESCENT/ENCODING"));
    296297                return 0;
    297298        }
    298299        pf->height = pf->ascent + pf->descent;
     
    322323        pf->bbx = (BBX *)malloc(pf->size * sizeof(BBX));
    323324       
    324325        if (!pf->bits || !pf->offset || !pf->width) {
    325                 warning("Error: no memory for font load");
     326                warning(_t("Error: no memory for font load"));
    326327                return 0;
    327328        }
    328329
     
    347348
    348349        for (;;) {
    349350                if (!bdf_getline(fp, buf, sizeof(buf))) {
    350                         warning("Error: EOF on file");
     351                        warning(_t("Error: EOF on file"));
    351352                        return 0;
    352353                }
    353354                if (isprefix(buf, "STARTCHAR")) {
     
    356357                }
    357358                if (isprefix(buf, "ENCODING ")) {
    358359                        if (sscanf(buf, "ENCODING %d", &encoding) != 1) {
    359                                 warning("Error: bad 'ENCODING'");
     360                                warning(_t("Error: bad 'ENCODING'"));
    360361                                return 0;
    361362                        }
    362363                        if (encoding < start_char || encoding > limit_char)
     
    365366                }
    366367                if (isprefix(buf, "DWIDTH ")) {
    367368                        if (sscanf(buf, "DWIDTH %d", &width) != 1) {
    368                                 warning("Error: bad 'DWIDTH'");
     369                                warning(_t("Error: bad 'DWIDTH'"));
    369370                                return 0;
    370371                        }
    371372                        /* use font boundingbox width if DWIDTH <= 0*/
     
    375376                }
    376377                if (isprefix(buf, "BBX ")) {
    377378                        if (sscanf(buf, "BBX %d %d %d %d", &bbw, &bbh, &bbx, &bby) != 4) {
    378                                 warning("Error: bad 'BBX'");
     379                                warning(_t("Error: bad 'BBX'"));
    379380                                return 0;
    380381                        }
    381382                        continue;
     
    389390
    390391                        /* set bits offset in encode map*/
    391392                        if (pf->offset[encoding-pf->firstchar] != (unsigned long)-1) {
    392                                 warning("Error: duplicate encoding for character %d (0x%02x), ignoring duplicate",
     393                                warning(_t("Error: duplicate encoding for character %d (0x%02x), ignoring duplicate"),
    393394                                                encoding, encoding);
    394395                                continue;
    395396                        }
     
    412413                        /* read bitmaps*/
    413414                        for (i = 0; i < bbh; ++i) {
    414415                                if (!bdf_getline(fp, buf, sizeof(buf))) {
    415                                         warning("Error: EOF reading BITMAP data");
     416                                        warning(_t("Error: EOF reading BITMAP data"));
    416417                                        return 0;
    417418                                }
    418419                                if (isprefix(buf, "ENDCHAR"))
     
    500501        }
    501502        else {
    502503                if (ofs > pf->bits_size) {
    503                         warning("Warning: DWIDTH spec > max FONTBOUNDINGBOX");
     504                        warning(_t("Warning: DWIDTH spec > max FONTBOUNDINGBOX"));
    504505                        if (ofs > pf->bits_size+EXTRA) {
    505                                 warning("Error: Not enough bits initially allocated");
     506                                warning(_t("Error: Not enough bits initially allocated"));
    506507                                return 0;
    507508                        }
    508509                        pf->bits_size = ofs;
     
    587588bool NewFont::cacheFontData(const NewFont &font, const Common::String &filename) {
    588589        Common::File cacheFile;
    589590        if (!cacheFile.open(filename, Common::File::kFileWriteMode)) {
    590                 warning("Couldn't open file '%s' for writing", filename.c_str());
     591                warning(_t("Couldn't open file '%s' for writing"), filename.c_str());
    591592                return false;
    592593        }
    593594
  • graphics/dxa_player.cpp

     
    2727#include "common/endian.h"
    2828#include "graphics/dxa_player.h"
    2929#include "common/util.h"
     30#include "common/translation.h"
    3031
    3132#ifdef USE_ZLIB
    3233#include <zlib.h>
     
    126127                _curHeight = _height;
    127128        }
    128129
    129         debug(2, "flags 0x0%x framesCount %d width %d height %d rate %d ticks %d", flags, _framesCount, _width, _height, _framesPerSec, _frameTicks);
     130        debug(2, _t("flags 0x0%x framesCount %d width %d height %d rate %d ticks %d"), flags, _framesCount, _width, _height, _framesPerSec, _frameTicks);
    130131
    131132        _frameSize = _width * _height;
    132133        _frameBuffer1 = (uint8 *)malloc(_frameSize);
    133134        _frameBuffer2 = (uint8 *)malloc(_frameSize);
    134135        if (!_frameBuffer1 || !_frameBuffer2)
    135                 error("DXAPlayer: Error allocating frame buffers (size %d)", _frameSize);
     136                error(_t("DXAPlayer: Error allocating frame buffers (size %d)"), _frameSize);
    136137
    137138        _scaledBuffer = 0;
    138139        if (_scaleMode != S_NONE) {
    139140                _scaledBuffer = (uint8 *)malloc(_frameSize);
    140141                if (!_scaledBuffer)
    141                         error("Error allocating scale buffer (size %d)", _frameSize);
     142                        error(_t("Error allocating scale buffer (size %d)"), _frameSize);
    142143        }
    143144
    144145        _frameNum = 0;
     
    285286                        case 5:
    286287                                break;
    287288                        default:
    288                                 error("decode12: Unknown type %d", type);
     289                                error(_t("decode12: Unknown type %d"), type);
    289290                        }
    290291                }
    291292        }
     
    470471                                break;
    471472                        }
    472473                        default:
    473                                 error("decode13: Unknown type %d", type);
     474                                error(_t("decode13: Unknown type %d"), type);
    474475                        }
    475476                }
    476477        }
     
    510511                        decode13(_frameBuffer2, size, _frameSize);
    511512                        break;
    512513                default:
    513                         error("decodeFrame: Unknown compression type %d", type);
     514                        error(_t("decodeFrame: Unknown compression type %d"), type);
    514515                }
    515516                if (type == 2 || type == 4 || type == 12 || type == 13) {
    516517                        memcpy(_frameBuffer1, _frameBuffer2, _frameSize);
  • graphics/surface.cpp

     
    2626#include "common/util.h"
    2727#include "graphics/primitives.h"
    2828#include "graphics/surface.h"
     29#include "common/translation.h"
    2930
    3031namespace Graphics {
    3132
     
    5152        else if (bytesPerPixel == 2)
    5253                Graphics::drawLine(x0, y0, x1, y1, color, &plotPoint2, this);
    5354        else
    54                 error("Surface::drawLine: bytesPerPixel must be 1 or 2");
     55                error(_t("Surface::drawLine: bytesPerPixel must be 1 or 2"));
    5556}
    5657
    5758void Surface::create(uint16 width, uint16 height, uint8 bytesPP) {
     
    9697                        *ptr++ = (uint16)color;
    9798                }
    9899        } else {
    99                 error("Surface::hLine: bytesPerPixel must be 1 or 2");
     100                error(_t("Surface::hLine: bytesPerPixel must be 1 or 2"));
    100101        }
    101102}
    102103
     
    126127                        ptr += pitch/2;
    127128                }
    128129        } else {
    129                 error("Surface::vLine: bytesPerPixel must be 1 or 2");
     130                error(_t("Surface::vLine: bytesPerPixel must be 1 or 2"));
    130131        }
    131132}
    132133
     
    156157                        ptr += pitch/2;
    157158                }
    158159        } else {
    159                 error("Surface::fillRect: bytesPerPixel must be 1 or 2");
     160                error(_t("Surface::fillRect: bytesPerPixel must be 1 or 2"));
    160161        }
    161162}
    162163
  • base/main.cpp

     
    4141#include "common/file.h"
    4242#include "common/fs.h"
    4343#include "common/system.h"
     44#include "common/translation.h"
    4445#include "gui/newgui.h"
    4546#include "gui/message.h"
    4647
     
    9495        ConfMan.set("gameid", gameid);
    9596
    9697        // Query the plugins and find one that will handle the specified gameid
    97         printf("Looking for %s\n", gameid.c_str());
     98        printf(_t("Looking for %s\n"), gameid.c_str());
    9899        GameDescriptor game = Base::findGame(gameid, &plugin);
    99100
    100101        if (plugin == 0) {
    101                 printf("Failed game detection\n");
    102                 warning("%s is an invalid gameid. Use the --list-games option to list supported gameid", gameid.c_str());
     102                printf(_t("Failed game detection\n"));
     103                warning(_t("%s is an invalid gameid. Use the --list-games option to list supported gameid"), gameid.c_str());
    103104                return 0;
    104105        }
    105106
    106107        // FIXME: Do we really need this one?
    107         printf("Trying to start game '%s'\n", game.description().c_str());
     108        printf(_t("Trying to start game '%s'\n"), game.description().c_str());
    108109
    109110        return plugin;
    110111}
     
    132133                path = ConfMan.get("path");
    133134                FilesystemNode dir(path);
    134135                if (!dir.isDirectory()) {
    135                         warning("Game directory does not exist (%s)", path.c_str());
     136                        warning(_t("Game directory does not exist (%s)"), path.c_str());
    136137                        return 0;
    137138                }
    138139        } else {
    139140                path = ".";
    140                 warning("No path was provided. Assuming the data files are in the current directory");
     141                warning(_t("No path was provided. Assuming the data files are in the current directory"));
    141142        }
    142143        Common::File::addDefaultDirectory(path);
    143144
     
    152153                const char *errMsg = 0;
    153154                switch (err) {
    154155                case kInvalidPathError:
    155                         errMsg = "Invalid game path";
     156                        errMsg = _t("Invalid game path");
    156157                        break;
    157158                case kNoGameDataFoundError:
    158                         errMsg = "Unable to locate game data";
     159                        errMsg = _t("Unable to locate game data");
    159160                        break;
    160161                default:
    161                         errMsg = "Unknown error";
     162                        errMsg = _t("Unknown error");
    162163                }
    163164
    164                 warning("%s failed to instantiate engine: %s (target '%s', path '%s')",
     165                warning(_t("%s failed to instantiate engine: %s (target '%s', path '%s')"),
    165166                        plugin->getName(),
    166167                        errMsg,
    167168                        ConfMan.getActiveDomainName().c_str(),
     
    264265        // requested.
    265266        if (settings.contains("debuglevel")) {
    266267                gDebugLevel = (int)strtol(settings["debuglevel"].c_str(), 0, 10);
    267                 printf("Debuglevel (from command line): %d\n", gDebugLevel);
     268                printf(_t("Debuglevel (from command line): %d\n"), gDebugLevel);
    268269                settings.erase("debuglevel");   // This option should not be passed to ConfMan.
    269270        } else if (ConfMan.hasKey("debuglevel"))
    270271                gDebugLevel = ConfMan.getInt("debuglevel");
  • base/commandLine.cpp

     
    3232
    3333#include "common/config-manager.h"
    3434#include "common/system.h"
     35#include "common/translation.h"
    3536
    3637#include "sound/mididrv.h"
    3738#include "sound/mixer.h"
     
    253254// Use this for options which have a required (string) value
    254255#define DO_OPTION(shortCmd, longCmd) \
    255256        DO_OPTION_OPT(shortCmd, longCmd, 0) \
    256         if (!option) usage("Option '%s' requires an argument", argv[isLongCmd ? i : i-1]);
     257        if (!option) usage(_t("Option '%s' requires an argument"), argv[isLongCmd ? i : i-1]);
    257258
    258259// Use this for options which have a required integer value
    259260#define DO_OPTION_INT(shortCmd, longCmd) \
    260261        DO_OPTION(shortCmd, longCmd) \
    261262        char *endptr = 0; \
    262263        int intValue; intValue = (int)strtol(option, &endptr, 0); \
    263         if (endptr == NULL || *endptr != 0) usage("--%s: Invalid number '%s'", longCmd, option);
     264        if (endptr == NULL || *endptr != 0) usage(_t("--%s: Invalid number '%s'"), longCmd, option);
    264265
    265266// Use this for boolean options; this distinguishes between "-x" and "-X",
    266267// resp. between "--some-option" and "--no-some-option".
     
    319320                        // Hence it must be the target name. We currently enforce that
    320321                        // this always comes last.
    321322                        if (i != argc - 1)
    322                                 usage("Stray argument '%s'", s);
     323                                usage(_t("Stray argument '%s'"), s);
    323324
    324325                        // We defer checking whether this is a valid target to a later point.
    325326                        return s;
     
    358359
    359360                        DO_OPTION('e', "music-driver")
    360361                                if (MidiDriver::parseMusicDriver(option) < 0)
    361                                         usage("Unrecognized music driver '%s'", option);
     362                                        usage(_t("Unrecognized music driver '%s'"), option);
    362363                        END_OPTION
    363364
    364365                        DO_LONG_OPTION_INT("output-rate")
     
    380381                                        }
    381382                                }
    382383                                if (!isValid)
    383                                         usage("Unrecognized graphics mode '%s'", option);
     384                                        usage(_t("Unrecognized graphics mode '%s'"), option);
    384385                        END_OPTION
    385386
    386387                        DO_OPTION_INT('m', "music-volume")
     
    395396
    396397                        DO_OPTION('q', "language")
    397398                                if (Common::parseLanguage(option) == Common::UNK_LANG)
    398                                         usage("Unrecognized language '%s'", option);
     399                                        usage(_t("Unrecognized language '%s'"), option);
    399400                        END_OPTION
    400401
    401402                        DO_OPTION_INT('s', "sfx-volume")
     
    424425                        DO_LONG_OPTION("platform")
    425426                                int platform = Common::parsePlatform(option);
    426427                                if (platform == Common::kPlatformUnknown)
    427                                         usage("Unrecognized platform '%s'", option);
     428                                        usage(_t("Unrecognized platform '%s'"), option);
    428429                        END_OPTION
    429430
    430431                        DO_LONG_OPTION("soundfont")
     
    449450                        DO_LONG_OPTION("render-mode")
    450451                                int renderMode = Common::parseRenderMode(option);
    451452                                if (renderMode == Common::kRenderDefault)
    452                                         usage("Unrecognized render mode '%s'", option);
     453                                        usage(_t("Unrecognized render mode '%s'"), option);
    453454                        END_OPTION
    454455
    455456                        DO_LONG_OPTION("savepath")
     
    487488
    488489unknownOption:
    489490                        // If we get till here, the option is unhandled and hence unknown.
    490                         usage("Unrecognized option '%s'", argv[i]);
     491                        usage(_t("Unrecognized option '%s'"), argv[i]);
    491492                }
    492493        }
    493494
     
    497498
    498499/** List all supported game IDs, i.e. all games which any loaded plugin supports. */
    499500static void listGames() {
    500         printf("Game ID              Full Title                                            \n"
    501                "-------------------- ------------------------------------------------------\n");
     501        printf(_t("Game ID              Full Title                                            \n"
     502               "-------------------- ------------------------------------------------------\n"));
    502503
    503504        const PluginList &plugins = PluginManager::instance().getPlugins();
    504505        PluginList::const_iterator iter = plugins.begin();
     
    512513
    513514/** List all targets which are configured in the config file. */
    514515static void listTargets() {
    515         printf("Target               Description                                           \n"
    516                "-------------------- ------------------------------------------------------\n");
     516        printf(_t("Target               Description                                           \n"
     517               "-------------------- ------------------------------------------------------\n"));
    517518
    518519        using namespace Common;
    519520        const ConfigManager::DomainMap &domains = ConfMan.getGameDomains();
     
    550551                Common::String name(iter->_key);
    551552                Common::String gameid(iter->_value.get("gameid"));
    552553                Common::String path(iter->_value.get("path"));
    553                 printf("Looking at target '%s', gameid '%s', path '%s' ...\n",
     554                printf(_t("Looking at target '%s', gameid '%s', path '%s' ...\n"),
    554555                                name.c_str(), gameid.c_str(), path.c_str());
    555556                if (path.empty()) {
    556                         printf(" ... no path specified, skipping\n");
     557                        printf(_t(" ... no path specified, skipping\n"));
    557558                        continue;
    558559                }
    559560                if (gameid.empty()) {
     
    563564                FilesystemNode dir(path);
    564565                FSList files;
    565566                if (!dir.listDir(files, FilesystemNode::kListAll)) {
    566                         printf(" ... invalid path, skipping\n");
     567                        printf(_t(" ... invalid path, skipping\n"));
    567568                        continue;
    568569                }
    569570
     
    575576                }
    576577               
    577578                if (candidates.empty()) {
    578                         printf(" FAILURE: No games detected\n");
     579                        printf(_t(" FAILURE: No games detected\n"));
    579580                        failure++;
    580581                } else if (candidates.size() > 1) {
    581582                        if (gameidDiffers) {
    582                                 printf(" FAILURE: Multiple games detected, some/all with wrong gameid\n");
     583                                printf(_t(" FAILURE: Multiple games detected, some/all with wrong gameid\n"));
    583584                        } else {
    584                                 printf(" FAILURE: Multiple games detected, but all have the same gameid\n");
     585                                printf(_t(" FAILURE: Multiple games detected, but all have the same gameid\n"));
    585586                        }
    586587                        failure++;
    587588                } else if (gameidDiffers) {
    588                         printf(" FAILURE: Wrong gameid detected\n");
     589                        printf(_t(" FAILURE: Wrong gameid detected\n"));
    589590                        failure++;
    590591                } else {
    591                         printf(" SUCCESS: Game was detected correctly\n");
     592                        printf(_t(" SUCCESS: Game was detected correctly\n"));
    592593                        success++;
    593594                }
    594595               
    595596                for (x = candidates.begin(); x != candidates.end(); ++x) {
    596                         printf("    gameid '%s', desc '%s', language '%s', platform '%s'\n",
     597                        printf(_t("    gameid '%s', desc '%s', language '%s', platform '%s'\n"),
    597598                                   x->gameid().c_str(),
    598599                                   x->description().c_str(),
    599600                                   Common::getLanguageCode(x->language()),
     
    601602                }
    602603        }
    603604        int total = domains.size();
    604         printf("Detector test run: %d fail, %d success, %d skipped, out of %d\n",
     605        printf(_t("Detector test run: %d fail, %d success, %d skipped, out of %d\n"),
    605606                        failure, success, total - failure - success, total);
    606607}
    607608#endif
     
    622623                return false;
    623624        } else if (command == "version") {
    624625                printf("%s\n", gScummVMFullVersion);
    625                 printf("Features compiled in: %s\n", gScummVMFeatures);
     626                printf(_t("Features compiled in: %s\n"), gScummVMFeatures);
    626627                return false;
    627628        } else if (command == "help") {
    628629                printf(HELP_STRING, s_appName);
     
    660661                                ConfMan.set("id_came_from_command_line", "1");
    661662
    662663                } else {
    663                         usage("Unrecognized game target '%s'", command.c_str());
     664                        usage(_t("Unrecognized game target '%s'"), command.c_str());
    664665                }
    665666        }
    666667