Add a little hack to make it so panic alerts and questions can be translated if they are in the wxWidgets portion of the code, as well as make a few strings in the config dialog translatable.

Add Hungarian translations by Delirious.
Update Italian translations by RebuMan.
Update German translations by JackyCola and LucasX.
Update Greek translations by Gpower2.
Update Frensh translations by Pascal.
Make sure the game list is refreshed when the GC language is changed.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6826 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Glenn Rice 2011-01-12 13:14:50 +00:00
parent 49a89c1739
commit a4dd8c41a8
33 changed files with 11860 additions and 3540 deletions

View file

@ -98,6 +98,10 @@
RelativePath=".\he.po"
>
</File>
<File
RelativePath=".\hu.po"
>
</File>
<File
RelativePath=".\it.po"
>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -2,9 +2,11 @@
cd ${0/gettextize/}/..
SRCDIR=Source
CPP_FILE_LIST=$(find $SRCDIR \( -name '*.cpp' -o -name '*.h' -o -name '*.c' \) -a ! \
-path '*Debug*')
xgettext -d dolphin-emu -s --keyword=_ --keyword=wxTRANSLATE -p ./Languages -o dolphin-emu.pot $CPP_FILE_LIST \
CPP_FILE_LIST=$(find $SRCDIR \( -name '*.cpp' -o -name '*.h' -o -name '*.c' \) \
-a ! -path '*Debug*')
xgettext -d dolphin-emu -s --keyword=_ --keyword=wxTRANSLATE --keyword=_t \
--keyword=_wxt --keyword=_trans \
-p ./Languages -o dolphin-emu.pot $CPP_FILE_LIST \
--package-name="Dolphin Emu"
POTFILE=./Languages/dolphin-emu.pot

File diff suppressed because it is too large Load diff

3499
Languages/hu.po Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -122,6 +122,14 @@ inline T max(const T& a, const T& b) {return a > b ? a : b;}
// Defined in Misc.cpp.
const char* GetLastErrorMsg();
#if defined(HAVE_WX) && HAVE_WX
// This should be used to mark c strings as translatable in PanicAlerts but only in
// wxWidgets portions of the code.
#define _wxt(a) (std::string(wxString(wxGetTranslation(wxT(a))).To8BitData()).c_str())
#else
#define _wxt(a) a
#endif
namespace Common
{
inline u8 swap8(u8 _data) {return _data;}

View file

@ -151,7 +151,7 @@ bool BootCore(const std::string& _rFilename)
// Init the core
if (!Core::Init())
{
PanicAlert("Couldn't init the core.\nCheck your configuration.");
PanicAlert(_wxt("Couldn't init the core.\nCheck your configuration."));
return false;
}

View file

@ -345,7 +345,7 @@ void CheatSearchTab::StartNewSearch(wxCommandEvent& WXUNUSED (event))
const u8* const memptr = Memory::GetPointer(0);
if (NULL == memptr)
{
PanicAlert("A game is not currently running.");
PanicAlert("%s", _wxt("A game is not currently running."));
}
else
{
@ -376,7 +376,7 @@ void CheatSearchTab::FilterCheatSearchResults(wxCommandEvent&)
const u8* const memptr = Memory::GetPointer(0);
if (NULL == memptr)
{
PanicAlert("A game is not currently running.");
PanicAlert("%s", _wxt("A game is not currently running."));
}
else
{
@ -431,7 +431,7 @@ void CheatSearchTab::FilterCheatSearchResults(wxCommandEvent&)
if (!x_val.ToLong(&parsed_x_val, val_base))
{
PanicAlert("You must enter a valid decimal or hex value.");
PanicAlert("%s", _wxt("You must enter a valid decimal or hex value."));
return;
}
@ -598,14 +598,14 @@ void CreateCodeDialog::PressOK(wxCommandEvent&)
const wxString code_name = textctrl_name->GetValue();
if (code_name.empty())
{
PanicAlert("You must enter a name!");
PanicAlert("%s", _wxt("You must enter a name!"));
return;
}
long code_value;
if (!textctrl_value->GetValue().ToLong(&code_value, 10 + checkbox_use_hex->GetValue()*6))
{
PanicAlert("Invalid Value!");
PanicAlert("%s", _wxt("Invalid Value!"));
return;
}

View file

@ -51,6 +51,7 @@ static const wxLanguage langIds[] =
wxLANGUAGE_GERMAN,
wxLANGUAGE_GREEK,
wxLANGUAGE_HEBREW,
wxLANGUAGE_HUNGARIAN,
wxLANGUAGE_ITALIAN,
wxLANGUAGE_JAPANESE,
wxLANGUAGE_KOREAN,
@ -60,18 +61,20 @@ static const wxLanguage langIds[] =
wxLANGUAGE_SPANISH,
};
#define _trans(a) a
// Strings for Device Selections
#define DEV_NONE_STR "<Nothing>"
#define DEV_DUMMY_STR "Dummy"
#define DEV_NONE_STR _trans("<Nothing>")
#define DEV_DUMMY_STR _trans("Dummy")
#define SIDEV_STDCONT_STR "Standard Controller"
#define SIDEV_STDCONT_STR _trans("Standard Controller")
#define SIDEV_GBA_STR "GBA"
#define SIDEV_AM_BB_STR "AM-Baseboard"
#define SIDEV_AM_BB_STR _trans("AM-Baseboard")
#define EXIDEV_MEMCARD_STR "Memory Card"
#define EXIDEV_MIC_STR "Mic"
#define EXIDEV_MEMCARD_STR _trans("Memory Card")
#define EXIDEV_MIC_STR _trans("Mic")
#define EXIDEV_BBA_STR "BBA"
#define EXIDEV_AM_BB_STR "AM-Baseboard"
#define EXIDEV_AM_BB_STR _trans("AM-Baseboard")
#ifdef WIN32
//only used with xgettext to be picked up as translatable string.
@ -287,6 +290,7 @@ void CConfigMain::InitializeGUILists()
arrayStringFor_InterfaceLang.Add(_("German"));
arrayStringFor_InterfaceLang.Add(_("Greek"));
arrayStringFor_InterfaceLang.Add(_("Hebrew"));
arrayStringFor_InterfaceLang.Add(_("Hungarian"));
arrayStringFor_InterfaceLang.Add(_("Italian"));
arrayStringFor_InterfaceLang.Add(_("Japanese"));
arrayStringFor_InterfaceLang.Add(_("Korean"));
@ -558,13 +562,13 @@ void CConfigMain::CreateGUIControls()
GCEXIDeviceText[0] = new wxStaticText(GamecubePage, ID_GC_EXIDEVICE_SLOTA_TEXT, wxT("Slot A"), wxDefaultPosition, wxDefaultSize);
GCEXIDeviceText[1] = new wxStaticText(GamecubePage, ID_GC_EXIDEVICE_SLOTB_TEXT, wxT("Slot B"), wxDefaultPosition, wxDefaultSize);
GCEXIDeviceText[2] = new wxStaticText(GamecubePage, ID_GC_EXIDEVICE_SP1_TEXT, wxT("SP1 "), wxDefaultPosition, wxDefaultSize);
const wxString SlotDevices[] = {wxT(DEV_NONE_STR), wxT(DEV_DUMMY_STR), wxT(EXIDEV_MEMCARD_STR)
const wxString SlotDevices[] = {_(DEV_NONE_STR), _(DEV_DUMMY_STR), _(EXIDEV_MEMCARD_STR)
#if HAVE_PORTAUDIO
, wxT(EXIDEV_MIC_STR)
, _(EXIDEV_MIC_STR)
#endif
};
static const int numSlotDevices = sizeof(SlotDevices)/sizeof(wxString);
const wxString SP1Devices[] = { wxT(DEV_NONE_STR), wxT(DEV_DUMMY_STR), wxT(EXIDEV_BBA_STR), wxT(EXIDEV_AM_BB_STR) };
const wxString SP1Devices[] = { _(DEV_NONE_STR), _(DEV_DUMMY_STR), _(EXIDEV_BBA_STR), _(EXIDEV_AM_BB_STR) };
static const int numSP1Devices = sizeof(SP1Devices)/sizeof(wxString);
GCEXIDevice[0] = new wxChoice(GamecubePage, ID_GC_EXIDEVICE_SLOTA, wxDefaultPosition, wxDefaultSize, numSlotDevices, SlotDevices, 0, wxDefaultValidator);
GCEXIDevice[1] = new wxChoice(GamecubePage, ID_GC_EXIDEVICE_SLOTB, wxDefaultPosition, wxDefaultSize, numSlotDevices, SlotDevices, 0, wxDefaultValidator);
@ -608,7 +612,7 @@ void CConfigMain::CreateGUIControls()
GCSIDeviceText[2] = new wxStaticText(GamecubePage, ID_GC_SIDEVICE_TEXT, wxT("Port 3"), wxDefaultPosition, wxDefaultSize);
GCSIDeviceText[3] = new wxStaticText(GamecubePage, ID_GC_SIDEVICE_TEXT, wxT("Port 4"), wxDefaultPosition, wxDefaultSize);
// SIDEV_AM_BB_STR must be last!
const wxString SIDevices[] = {wxT(DEV_NONE_STR),wxT(SIDEV_STDCONT_STR),wxT(SIDEV_GBA_STR),wxT(SIDEV_AM_BB_STR)};
const wxString SIDevices[] = {_(DEV_NONE_STR),_(SIDEV_STDCONT_STR),_(SIDEV_GBA_STR),_(SIDEV_AM_BB_STR)};
static const int numSIDevices = sizeof(SIDevices)/sizeof(wxString);
GCSIDevice[0] = new wxChoice(GamecubePage, ID_GC_SIDEVICE0, wxDefaultPosition, wxDefaultSize, numSIDevices, SIDevices, 0, wxDefaultValidator);
GCSIDevice[1] = new wxChoice(GamecubePage, ID_GC_SIDEVICE1, wxDefaultPosition, wxDefaultSize, numSIDevices - 1, SIDevices, 0, wxDefaultValidator);
@ -911,7 +915,7 @@ void CConfigMain::DisplaySettingsChanged(wxCommandEvent& event)
break;
case ID_INTERFACE_LANG:
if (SConfig::GetInstance().m_InterfaceLanguage != langIds[InterfaceLang->GetSelection()])
SuccessAlert("You must restart Dolphin in order for the change to take effect.");
SuccessAlert("%s", _wxt("You must restart Dolphin in order for the change to take effect."));
SConfig::GetInstance().m_InterfaceLanguage = langIds[InterfaceLang->GetSelection()];
break;
case ID_HOTKEY_CONFIG:
@ -938,6 +942,7 @@ void CConfigMain::GCSettingsChanged(wxCommandEvent& event)
// Gamecube - IPL
case ID_GC_SRAM_LNG:
SConfig::GetInstance().m_LocalCoreStartupParameter.SelectedLanguage = GCSystemLang->GetSelection();
bRefreshList = true;
break;
// Gamecube - Devices
case ID_GC_EXIDEVICE_SP1:
@ -993,8 +998,8 @@ void CConfigMain::ChooseMemcardPath(std::string& strMemcard, bool isSlotA)
}
else
{
PanicAlert("Cannot use that file as a memory card.\n"
"Are you trying to use the same file in both slots?");
PanicAlert("%s", _wxt("Cannot use that file as a memory card.\n"
"Are you trying to use the same file in both slots?"));
}
}
}

View file

@ -524,7 +524,7 @@ void CFrame::InitBitmaps()
}
break;
default: PanicAlert("Theme selection went wrong");
default: PanicAlert("%s", _wxt("Theme selection went wrong"));
}
// Update in case the bitmap has been updated
@ -597,7 +597,7 @@ void CFrame::DoOpen(bool Boot)
if (currentDir != currentDir2)
{
PanicAlert("Current dir changed from %s to %s after wxFileSelector!",
PanicAlert(_wxt("Current dir changed from %s to %s after wxFileSelector!"),
currentDir.c_str(), currentDir2.c_str());
File::SetCurrentDir(currentDir.c_str());
}

View file

@ -276,17 +276,17 @@ void CodeConfigPanel::DownloadCodes(wxCommandEvent&)
}
}
PanicAlert("Downloaded %lu codes. (added %lu)",
PanicAlert(_wxt("Downloaded %lu codes. (added %lu)"),
(unsigned long)gcodes.size(), added_count);
// refresh the list
UpdateCodeList();
}
else
PanicAlert("File contained no codes.");
PanicAlert("%s", _wxt("File contained no codes."));
}
else
PanicAlert("Failed to download codes.");
PanicAlert("%s", _wxt("Failed to download codes."));
}
}

View file

@ -553,7 +553,7 @@ void CISOProperties::CreateGUIControls(bool IsWad)
void CISOProperties::OnClose(wxCloseEvent& WXUNUSED (event))
{
if (!SaveGameConfig())
PanicAlert("Could not save %s", GameIniFile.c_str());
PanicAlert(_wxt("Could not save %s"), GameIniFile.c_str());
EndModal(bRefreshList ? wxID_OK : wxID_CANCEL);
}
@ -801,7 +801,7 @@ void CISOProperties::OnExtractDataFromHeader(wxCommandEvent& event)
}
if (!ret)
PanicAlert("Failed to extract to %s!", (const char *)Path.mb_str());
PanicAlert(_wxt("Failed to extract to %s!"), (const char *)Path.mb_str());
}
void CISOProperties::SetRefresh(wxCommandEvent& event)
@ -1052,17 +1052,17 @@ void CISOProperties::OnEditConfig(wxCommandEvent& WXUNUSED (event))
filetype = wxTheMimeTypesManager->GetFileTypeFromMimeType(_T("text/plain"));
if(filetype == NULL) // MIME type failed, aborting mission
{
PanicAlert("Filetype 'ini' is unknown! Will not open!");
PanicAlert("%s", _wxt("Filetype 'ini' is unknown! Will not open!"));
return;
}
}
wxString OpenCommand;
OpenCommand = filetype->GetOpenCommand(wxString::From8BitData(GameIniFile.c_str()));
if(OpenCommand.IsEmpty())
PanicAlert("Couldn't find open command for extension 'ini'!");
PanicAlert("%s", _wxt("Couldn't find open command for extension 'ini'!"));
else
if(wxExecute(OpenCommand, wxEXEC_SYNC) == -1)
PanicAlert("wxExecute returned -1 on application run!");
PanicAlert("%s", _wxt("wxExecute returned -1 on application run!"));
GameIni.Load(GameIniFile.c_str());
LoadGameConfig();

View file

@ -623,7 +623,7 @@ void GamepadPage::SaveProfile(wxCommandEvent&)
m_config_dialog->UpdateProfileComboBox();
}
else
PanicAlert("You must enter a valid profile name.");
PanicAlert("%s", _wxt("You must enter a valid profile name."));
}
void GamepadPage::DeleteProfile(wxCommandEvent&)
@ -633,8 +633,9 @@ void GamepadPage::DeleteProfile(wxCommandEvent&)
const char* const fnamecstr = fname.c_str();
if (File::Exists(fnamecstr) && AskYesNo("Are you sure you want to delete \"%s\"?",
STR_FROM_WXSTR(profile_cbox->GetValue()).c_str()))
if (File::Exists(fnamecstr) &&
AskYesNo(_wxt("Are you sure you want to delete \"%s\"?"),
STR_FROM_WXSTR(profile_cbox->GetValue()).c_str()))
{
File::Delete(fnamecstr);

View file

@ -182,9 +182,9 @@ bool DolphinApp::OnInit()
// TODO: if First Boot
if (!cpu_info.bSSE2)
{
PanicAlert("Hi,\n\nDolphin requires that your CPU has support for SSE2 extensions.\n"
PanicAlert("%s", _wxt("Hi,\n\nDolphin requires that your CPU has support for SSE2 extensions.\n"
"Unfortunately your CPU does not support them, so Dolphin will not run.\n\n"
"Sayonara!\n");
"Sayonara!\n"));
return false;
}

View file

@ -294,7 +294,7 @@ void CMemcardManager::ChangePath(int slot)
if (!strcasecmp(m_MemcardPath[slot2]->GetPath().mb_str(), m_MemcardPath[slot]->GetPath().mb_str()))
{
if(m_MemcardPath[slot]->GetPath().length())
PanicAlert("Memcard already opened");
PanicAlert("%s", _wxt("Memcard already opened"));
}
else
{
@ -420,7 +420,7 @@ bool CMemcardManager::CopyDeleteSwitch(u32 error, int slot)
switch (error)
{
case GCS:
SuccessAlert("File converted to .gci");
SuccessAlert("%s", _wxt("File converted to .gci"));
break;
case SUCCESS:
if (slot != -1)
@ -432,10 +432,10 @@ bool CMemcardManager::CopyDeleteSwitch(u32 error, int slot)
}
break;
case NOMEMCARD:
PanicAlert("File is not recognized as a memcard");
PanicAlert("%s", _wxt("File is not recognized as a memcard"));
break;
case OPENFAIL:
PanicAlert("File could not be opened\nor does not have a valid extension");
PanicAlert("%s", _wxt("File could not be opened\nor does not have a valid extension"));
break;
case OUTOFBLOCKS:
if (slot == -1)
@ -443,40 +443,40 @@ bool CMemcardManager::CopyDeleteSwitch(u32 error, int slot)
PanicAlert(E_UNK);
break;
}
PanicAlert("Only %d blocks available", memoryCard[slot]->GetFreeBlocks());
PanicAlert(_wxt("Only %d blocks available"), memoryCard[slot]->GetFreeBlocks());
break;
case OUTOFDIRENTRIES:
PanicAlert("No free dir index entries");
PanicAlert("%s", _wxt("No free dir index entries"));
break;
case LENGTHFAIL:
PanicAlert("Imported file has invalid length");
PanicAlert("%s", _wxt("Imported file has invalid length"));
break;
case INVALIDFILESIZE:
PanicAlert("The save you are trying to copy has an invalid file size");
PanicAlert("%s", _wxt("The save you are trying to copy has an invalid file size"));
break;
case TITLEPRESENT:
PanicAlert("Memcard already has a save for this title");
PanicAlert("%s", _wxt("Memcard already has a save for this title"));
break;
case SAVFAIL:
PanicAlert("Imported file has sav extension\nbut does not have a correct header");
PanicAlert("%s", _wxt("Imported file has sav extension\nbut does not have a correct header"));
break;
case GCSFAIL:
PanicAlert("Imported file has gsc extension\nbut does not have a correct header");
PanicAlert("%s", _wxt("Imported file has gsc extension\nbut does not have a correct header"));
break;
case FAIL:
if (slot == -1)
{
PanicAlert("Export Failed");
PanicAlert("%s", _wxt("Export Failed"));
return false;
}
PanicAlert("Invalid bat.map or dir entry");
PanicAlert("%s", _wxt("Invalid bat.map or dir entry"));
break;
case WRITEFAIL:
PanicAlert(E_SAVEFAILED);
break;
case DELETE_FAIL:
PanicAlert("Order of files in the File Directory do not match the block order\n"
"Right click and export all of the saves,\nand import the the saves to a new memcard\n");
PanicAlert("%s", _wxt("Order of files in the File Directory do not match the block order\n"
"Right click and export all of the saves,\nand import the the saves to a new memcard\n"));
break;
default:
PanicAlert(E_UNK);
@ -514,7 +514,7 @@ void CMemcardManager::CopyDeleteClick(wxCommandEvent& event)
case ID_FIXCHECKSUM_B:
if (memoryCard[slot]->FixChecksums() && memoryCard[slot]->Save())
{
SuccessAlert("The checksum was successfully fixed");
SuccessAlert("%s", _wxt("The checksum was successfully fixed"));
}
else PanicAlert(E_SAVEFAILED);
break;
@ -587,9 +587,9 @@ void CMemcardManager::CopyDeleteClick(wxCommandEvent& event)
SplitPath(mpath, &path1, &path2, NULL);
path1 += path2;
File::CreateDir(path1.c_str());
if(PanicYesNo("Warning: This will overwrite any existing saves "
if(PanicYesNo(_wxt("Warning: This will overwrite any existing saves "
"that are in the folder:\n%s\nand have the same name"
" as a file on your memcard\nContinue?", path1.c_str()))
" as a file on your memcard\nContinue?"), path1.c_str()))
for (int i = 0; i < DIRLEN; i++)
{
CopyDeleteSwitch(memoryCard[slot]->ExportGci(i, ".", &path1), -1);

View file

@ -258,7 +258,7 @@ bool NetPlay::StartGame(const std::string &path)
{
if (m_is_running)
{
PanicAlert("Game is already running!");
PanicAlert("%s", _wxt("Game is already running!"));
return false;
}
@ -288,7 +288,7 @@ bool NetPlay::StopGame()
if (false == m_is_running)
{
PanicAlert("Game isn't running!");
PanicAlert("%s", _wxt("Game isn't running!"));
return false;
}

View file

@ -40,16 +40,16 @@ NetPlayClient::NetPlayClient(const std::string& address, const u16 port, const s
switch (error)
{
case CON_ERR_SERVER_FULL :
PanicAlert("The server is full!");
PanicAlert("%s", _wxt("The server is full!"));
break;
case CON_ERR_VERSION_MISMATCH :
PanicAlert("The server and client's NetPlay versions are incompatible!");
PanicAlert("%s", _wxt("The server and client's NetPlay versions are incompatible!"));
break;
case CON_ERR_GAME_RUNNING :
PanicAlert("The server responded: the game is currently running!");
PanicAlert("%s", _wxt("The server responded: the game is currently running!"));
break;
default :
PanicAlert("The server sent an unknown error message!");
PanicAlert("%s", _wxt("The server sent an unknown error message!"));
break;
}
m_socket.Close();
@ -77,7 +77,7 @@ NetPlayClient::NetPlayClient(const std::string& address, const u16 port, const s
}
}
else
PanicAlert("Failed to Connect!");
PanicAlert("%s", _wxt("Failed to Connect!"));
}
@ -207,7 +207,7 @@ unsigned int NetPlayClient::OnData(sf::Packet& packet)
case NP_MSG_DISABLE_GAME :
{
PanicAlert("Other client disconnected while game is running!! NetPlay is disabled. You manually stop the game.");
PanicAlert("%s", _wxt("Other client disconnected while game is running!! NetPlay is disabled. You manually stop the game."));
CritLocker game_lock(m_crit.game); // lock game state
m_is_running = false;
NetPlay_Disable();
@ -229,7 +229,7 @@ unsigned int NetPlayClient::OnData(sf::Packet& packet)
break;
default :
PanicAlert("Unknown message received with id : %d", mid);
PanicAlert(_wxt("Unknown message received with id : %d"), mid);
break;
}
@ -256,7 +256,7 @@ void NetPlayClient::Entry()
m_is_running = false;
NetPlay_Disable();
AppendChatGUI("< LOST CONNECTION TO SERVER >");
PanicAlert("Lost connection to server!");
PanicAlert("%s", _wxt("Lost connection to server!"));
m_do_loop = false;
break;
}

View file

@ -257,7 +257,7 @@ unsigned int NetPlayServer::OnDisconnect(sf::SocketTCP& socket)
{
if (m_is_running)
{
PanicAlert("Client disconnect while game is running!! NetPlay is disabled. You must manually stop the game.");
PanicAlert("%s", _wxt("Client disconnect while game is running!! NetPlay is disabled. You must manually stop the game."));
CritLocker game_lock(m_crit.game); // lock game state
m_is_running = false;
NetPlay_Disable();
@ -501,7 +501,7 @@ unsigned int NetPlayServer::OnData(sf::Packet& packet, sf::SocketTCP& socket)
break;
default :
PanicAlert("Unknown message with id:%d received from player:%d Kicking player!", mid, player.pid);
PanicAlert(_wxt("Unknown message with id:%d received from player:%d Kicking player!"), mid, player.pid);
// unknown message, kick the client
return 1;
break;

View file

@ -174,13 +174,13 @@ void NetPlaySetupDiag::OnHost(wxCommandEvent&)
{
if (::netplay_ptr)
{
PanicAlert("A NetPlay window is already open!!");
PanicAlert("%s", _wxt("A NetPlay window is already open!!"));
return;
}
if (-1 == m_game_lbox->GetSelection())
{
PanicAlert("You must choose a game!!");
PanicAlert("%s", _wxt("You must choose a game!!"));
return;
}
@ -199,7 +199,7 @@ void NetPlaySetupDiag::OnHost(wxCommandEvent&)
}
else
{
PanicAlert("Failed to Listen!!");
PanicAlert("%s", _wxt("Failed to Listen!!"));
npd->Destroy();
// dialog will delete netplay
//delete ::netplay_ptr;
@ -210,7 +210,7 @@ void NetPlaySetupDiag::OnJoin(wxCommandEvent&)
{
if (::netplay_ptr)
{
PanicAlert("A NetPlay window is already open!!");
PanicAlert("%s", _wxt("A NetPlay window is already open!!"));
return;
}
@ -373,7 +373,7 @@ void NetPlayDiag::OnStart(wxCommandEvent&)
if (path.length())
::netplay_ptr->StartGame(path);
else
PanicAlert("Game not found!!");
PanicAlert("%s", _wxt("Game not found!!"));
}
void NetPlayDiag::OnStop(wxCommandEvent&)
@ -492,7 +492,7 @@ void NetPlayDiag::OnConfigPads(wxCommandEvent&)
pmd->Destroy();
if (false == ((NetPlayServer*)::netplay_ptr)->SetPadMapping(pid, mapping))
PanicAlert("Could not set pads. The player left or the game is currently running!\n(setting pads while the game is running is not yet supported)");
PanicAlert("%s", _wxt("Could not set pads. The player left or the game is currently running!\n(setting pads while the game is running is not yet supported)"));
}
ChangeGameDiag::ChangeGameDiag(wxWindow* const parent, const CGameListCtrl* const game_list, wxString& game_name)

View file

@ -115,8 +115,8 @@ void WiimoteConfigDiag::PairUpRealWiimotes(wxCommandEvent&)
UpdateGUI();
}
else if (paired < 0)
PanicAlert("A supported bluetooth device was not found!\n"
"(Only the Microsoft bluetooth stack is supported.)");
PanicAlert("%s", _wxt("A supported bluetooth device was not found!\n"
"(Only the Microsoft bluetooth stack is supported.)"));
}
#endif