mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-24 06:39:46 -06:00
Translate PanicAlert captions too.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6841 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
@ -145,6 +145,10 @@ private:
|
||||
#define __chdir chdir
|
||||
#endif
|
||||
|
||||
// Dummy macro for marking translatable strings that can not be immediately translated.
|
||||
// wxWidgets does not have a true dummy macro for this.
|
||||
#define _trans(a) a
|
||||
|
||||
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3) || defined __APPLE__
|
||||
#define _M_SSE 0x301
|
||||
#endif
|
||||
|
@ -49,12 +49,37 @@ void SetEnableAlert(bool enable)
|
||||
|
||||
/* This is the first stop for gui alerts where the log is updated and the
|
||||
correct windows is shown */
|
||||
bool MsgAlert(const char* caption, bool yes_no, int Style, const char* format, ...)
|
||||
bool MsgAlert(bool yes_no, int Style, const char* format, ...)
|
||||
{
|
||||
// Read message and write it to the log
|
||||
std::string caption;
|
||||
char buffer[2048];
|
||||
bool ret = true;
|
||||
|
||||
static std::string info_caption;
|
||||
static std::string warn_caption;
|
||||
static std::string ques_caption;
|
||||
|
||||
if (!info_caption.length())
|
||||
{
|
||||
info_caption = std::string(str_translator(_trans("Information")));
|
||||
ques_caption = std::string(str_translator(_trans("Question")));
|
||||
warn_caption = std::string(str_translator(_trans("Warning")));
|
||||
}
|
||||
|
||||
switch(Style)
|
||||
{
|
||||
case INFORMATION:
|
||||
caption = info_caption;
|
||||
break;
|
||||
case QUESTION:
|
||||
caption = ques_caption;
|
||||
break;
|
||||
case WARNING:
|
||||
caption = warn_caption;
|
||||
break;
|
||||
}
|
||||
|
||||
const char *tr_format = str_translator(format);
|
||||
|
||||
va_list args;
|
||||
@ -62,11 +87,11 @@ bool MsgAlert(const char* caption, bool yes_no, int Style, const char* format, .
|
||||
CharArrayFromFormatV(buffer, 2047, tr_format, args);
|
||||
va_end(args);
|
||||
|
||||
ERROR_LOG(MASTER_LOG, "%s: %s", caption, buffer);
|
||||
ERROR_LOG(MASTER_LOG, "%s: %s", caption.c_str(), buffer);
|
||||
|
||||
// Don't ignore questions, especially AskYesNo, PanicYesNo could be ignored
|
||||
if (msg_handler && (AlertEnabled || Style == QUESTION)) {
|
||||
ret = msg_handler(caption, buffer, yes_no, Style);
|
||||
ret = msg_handler(caption.c_str(), buffer, yes_no, Style);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
@ -32,34 +32,34 @@ typedef const char * (*StringTranslator)(const char* text);
|
||||
void RegisterMsgAlertHandler(MsgAlertHandler handler);
|
||||
void RegisterStringTranslator(StringTranslator translator);
|
||||
|
||||
extern bool MsgAlert(const char* caption, bool yes_no, int Style, const char* format, ...)
|
||||
extern bool MsgAlert(bool yes_no, int Style, const char* format, ...)
|
||||
#ifdef __GNUC__
|
||||
__attribute__((format(printf, 4, 5)))
|
||||
__attribute__((format(printf, 3, 4)))
|
||||
#endif
|
||||
;
|
||||
void SetEnableAlert(bool enable);
|
||||
|
||||
#ifndef GEKKO
|
||||
#ifdef _WIN32
|
||||
#define SuccessAlert(format, ...) MsgAlert("Information", false, INFORMATION, format, __VA_ARGS__)
|
||||
#define PanicAlert(format, ...) MsgAlert("Warning", false, WARNING, format, __VA_ARGS__)
|
||||
#define PanicYesNo(format, ...) MsgAlert("Warning", true, WARNING, format, __VA_ARGS__)
|
||||
#define AskYesNo(format, ...) MsgAlert("Question", true, QUESTION, format, __VA_ARGS__)
|
||||
#define SuccessAlert(format, ...) MsgAlert(false, INFORMATION, format, __VA_ARGS__)
|
||||
#define PanicAlert(format, ...) MsgAlert(false, WARNING, format, __VA_ARGS__)
|
||||
#define PanicYesNo(format, ...) MsgAlert(true, WARNING, format, __VA_ARGS__)
|
||||
#define AskYesNo(format, ...) MsgAlert(true, QUESTION, format, __VA_ARGS__)
|
||||
// Use these macros (that do the same thing) if the message should be translated.
|
||||
#define SuccessAlertT(format, ...) MsgAlert("Information", false, INFORMATION, format, __VA_ARGS__)
|
||||
#define PanicAlertT(format, ...) MsgAlert("Warning", false, WARNING, format, __VA_ARGS__)
|
||||
#define PanicYesNoT(format, ...) MsgAlert("Warning", true, WARNING, format, __VA_ARGS__)
|
||||
#define AskYesNoT(format, ...) MsgAlert("Question", true, QUESTION, format, __VA_ARGS__)
|
||||
#define SuccessAlertT(format, ...) MsgAlert(false, INFORMATION, format, __VA_ARGS__)
|
||||
#define PanicAlertT(format, ...) MsgAlert(false, WARNING, format, __VA_ARGS__)
|
||||
#define PanicYesNoT(format, ...) MsgAlert(true, WARNING, format, __VA_ARGS__)
|
||||
#define AskYesNoT(format, ...) MsgAlert(true, QUESTION, format, __VA_ARGS__)
|
||||
#else
|
||||
#define SuccessAlert(format, ...) MsgAlert("Information", false, INFORMATION, format, ##__VA_ARGS__)
|
||||
#define PanicAlert(format, ...) MsgAlert("Warning", false, WARNING, format, ##__VA_ARGS__)
|
||||
#define PanicYesNo(format, ...) MsgAlert("Warning", true, WARNING, format, ##__VA_ARGS__)
|
||||
#define AskYesNo(format, ...) MsgAlert("Question", true, QUESTION, format, ##__VA_ARGS__)
|
||||
#define SuccessAlert(format, ...) MsgAlert(false, INFORMATION, format, ##__VA_ARGS__)
|
||||
#define PanicAlert(format, ...) MsgAlert(false, WARNING, format, ##__VA_ARGS__)
|
||||
#define PanicYesNo(format, ...) MsgAlert(true, WARNING, format, ##__VA_ARGS__)
|
||||
#define AskYesNo(format, ...) MsgAlert(true, QUESTION, format, ##__VA_ARGS__)
|
||||
// Use these macros (that do the same thing) if the message should be translated.
|
||||
#define SuccessAlertT(format, ...) MsgAlert("Information", false, INFORMATION, format, ##__VA_ARGS__)
|
||||
#define PanicAlertT(format, ...) MsgAlert("Warning", false, WARNING, format, ##__VA_ARGS__)
|
||||
#define PanicYesNoT(format, ...) MsgAlert("Warning", true, WARNING, format, ##__VA_ARGS__)
|
||||
#define AskYesNoT(format, ...) MsgAlert("Question", true, QUESTION, format, ##__VA_ARGS__)
|
||||
#define SuccessAlertT(format, ...) MsgAlert(false, INFORMATION, format, ##__VA_ARGS__)
|
||||
#define PanicAlertT(format, ...) MsgAlert(false, WARNING, format, ##__VA_ARGS__)
|
||||
#define PanicYesNoT(format, ...) MsgAlert(true, WARNING, format, ##__VA_ARGS__)
|
||||
#define AskYesNoT(format, ...) MsgAlert(true, QUESTION, format, ##__VA_ARGS__)
|
||||
#endif
|
||||
#else
|
||||
// GEKKO
|
||||
|
@ -65,7 +65,7 @@ void CARCodeAddEdit::CreateGUIControls(int _selection)
|
||||
EntrySelection->SetValue((int)(arCodes.size() - _selection));
|
||||
EditCheatCode = new wxTextCtrl(this, ID_EDITCHEAT_CODE, wxEmptyString, wxDefaultPosition, wxSize(300, 100), wxTE_MULTILINE);
|
||||
UpdateTextCtrl(tempEntries);
|
||||
wxButton* bOK = new wxButton(this, wxID_OK, wxT("OK"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
|
||||
wxButton* bOK = new wxButton(this, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
|
||||
wxButton* bCancel = new wxButton(this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
|
||||
|
||||
sgEntry->Add(EditCheatNameText, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_CENTER|wxALL, 5);
|
||||
|
@ -564,7 +564,7 @@ CreateCodeDialog::CreateCodeDialog(wxWindow* const parent, const u32 address)
|
||||
sizer_value_label->Add(label_value, 0, wxRIGHT, 5);
|
||||
sizer_value_label->Add(checkbox_use_hex, 0, 0, 0);
|
||||
|
||||
wxButton* const btn_ok = new wxButton(panel, -1, wxT("OK"));
|
||||
wxButton* const btn_ok = new wxButton(panel, -1, _("OK"));
|
||||
_connect_macro_(btn_ok, CreateCodeDialog::PressOK, wxEVT_COMMAND_BUTTON_CLICKED, this);
|
||||
wxButton* const btn_cancel = new wxButton(panel, -1, _("Cancel"));
|
||||
_connect_macro_(btn_cancel, CreateCodeDialog::PressCancel, wxEVT_COMMAND_BUTTON_CLICKED, this);
|
||||
|
@ -62,8 +62,6 @@ static const wxLanguage langIds[] =
|
||||
wxLANGUAGE_SPANISH,
|
||||
};
|
||||
|
||||
#define _trans(a) a
|
||||
|
||||
// Strings for Device Selections
|
||||
#define DEV_NONE_STR _trans("<Nothing>")
|
||||
#define DEV_DUMMY_STR _trans("Dummy")
|
||||
|
@ -456,7 +456,7 @@ bool wxMsgAlert(const char* caption, const char* text, bool yes_no, int /*Style*
|
||||
if (wxIsMainThread())
|
||||
#endif
|
||||
return wxYES == wxMessageBox(wxString::FromUTF8(text),
|
||||
wxString::FromAscii(caption),
|
||||
wxString::FromUTF8(caption),
|
||||
(yes_no) ? wxYES_NO : wxOK, main_frame);
|
||||
#ifdef __WXGTK__
|
||||
else
|
||||
|
@ -99,7 +99,7 @@ void CPatchAddEdit::CreateGUIControls(int _selection)
|
||||
sbEntry->Add(sEntryAddRemove, 0, wxEXPAND);
|
||||
sEditPatch->Add(sbEntry, 0, wxEXPAND|wxALL, 5);
|
||||
wxBoxSizer* sEditPatchButtons = new wxBoxSizer(wxHORIZONTAL);
|
||||
wxButton* bOK = new wxButton(this, wxID_OK, wxT("OK"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
|
||||
wxButton* bOK = new wxButton(this, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
|
||||
wxButton* bCancel = new wxButton(this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
|
||||
sEditPatchButtons->Add(0, 0, 1, wxEXPAND, 5);
|
||||
sEditPatchButtons->Add(bOK, 0, wxALL, 5);
|
||||
|
@ -26,7 +26,7 @@ UDPConfigDiag::UDPConfigDiag(wxWindow * const parent, UDPWrapper * _wrp) :
|
||||
nun = new wxCheckBox(this,wxID_ANY,_("Nunchuk"));
|
||||
nunaccel = new wxCheckBox(this,wxID_ANY,_("Nunchuk Acceleration"));
|
||||
|
||||
wxButton *const ok_butt = new wxButton(this,wxID_ANY,wxT("OK"));
|
||||
wxButton *const ok_butt = new wxButton(this,wxID_ANY,_("OK"));
|
||||
|
||||
wxBoxSizer *const port_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
port_sizer->Add(new wxStaticText(this, wxID_ANY, _("UDP Port:")), 0, wxALIGN_CENTER);
|
||||
|
Reference in New Issue
Block a user