diff --git a/data/en.mse-locale/locale b/data/en.mse-locale/locale index b9d25752..79c70f30 100644 --- a/data/en.mse-locale/locale +++ b/data/en.mse-locale/locale @@ -8,6 +8,11 @@ menu: save set: &Save Ctrl+S save set as: Save &As... F12 export: &Export + export html: &HTML... + export image: Card &Image... + export images: All Card I&mages... + export apprentice: &Apprentice... + export mws: Magic &Workstation... print preview: Print Pre&view... print: &Print... Ctrl+P exit: E&xit Alt+F4 @@ -24,17 +29,32 @@ menu: preferences: &Preferences... cards: &Cards - rotate 270: Rotated 90° &Clockwise + previous card: Select &Previous Card PgUp + next card: Select &Next Card PgDn + add card: &Add Card Ctrl++ + add cards: Add &Multiple Cards... + remove card: &Remove Select Card Del + orientation: &Orientation + rotate 0: &Normal + rotate 270: Rotated 90° &Clockwise + rotate 90: Rotated 90° C&ounter Clockwise + rotate 180: Rotated 180°, &Up Side Down + card list columns: C&ard List Columns... format: &Format bold: &Bold Ctrl+B italic: &Italic Ctrl+I symbols: &Symbols Ctrl+M reminder text: &Reminder Text Ctrl+R + insert symbol: I&nsert Symbol window: &Window new window: &New Window - cards tab: &Cards + cards window: &Cards F5 + set info window: &Set Information F6 + style window: St&yle F7 + keywords window: &Keywords F8 + stats window: S&tatistics F8 help: &Help index: &Index... F1 @@ -66,6 +86,12 @@ help: open set: Open an existing set save set: Save the set save set as: Save the set with a new name + export: Export the set... + export html: Export the set to a web page + export image: Export the selected card to an image file + export images: Export images for all cards + export apprentice: Export the set so it can be played with in Apprentice + export mws: Export the set so it can be played with in Magic Workstation print preview: Shows cards as they will be printed print: Print cards from this set exit: Quits Not Quite Magic Set Editor; prompts to save the set @@ -78,18 +104,50 @@ help: paste: Inserts the text from the clipboard preferences: Change the configuration of Not Quite Magic Set Editor + cards: + previous card: Selects the previous card in the list + next card: Selects the next card in the list + add card: Add a new, blank, card to this set + add cards: Add multiple cards to the set + remove card: Delete the selected card from this set + orientation: Orientation of the displayed card + rotate 0: Display the card with the right side up + rotate 270: Display the card rotated clockwise + rotate 90: Display the card rotated counter-clockwise (anti-clockwise for the British) + rotate 180: Display the card up side down + card list columns: Select what columns should be shown and in what order. + format: bold: Makes the selected text bold italic: Makes the selected text italic + symbols: Draws the selected text with symbols + reminder text: Show reminder text for the selected keyword window: new window: Creates another window to edit the same set + cards window: Edit the cards in the set + set info window: Edit information about the set, its creator, etc. + style window: Change the style of cards + keywords window: Define extra keywords for this set + stats window: Show statistics about the cards in the set + cards tab: + set info tab: Set Information + style tab: Card Style + keywords tab: + stats tab: help: index: website: about: + # Preferences + app language: + Note: You must restart MSE for the changes to take effect. + zoom export: + (When off, the cards are exported + and copied at 100% size and normal rotation) + # symbol editor new symbol: Create a new symbol @@ -132,6 +190,12 @@ tool: symbols: Symbols reminder text: Reminder Text + cards tab: Cards + set info tab: Set info + style tab: Style + keywords tab: Keywords + stats tab: Statistics + # symbol editor store symbol: Store symbol in set @@ -146,9 +210,14 @@ label: card notes: Card notes: # Preferences + language: Language + app language: Language of the user interface: + card display: Card Display zoom: &Zoom: + percent of normal: % of normal size external programs: External programs apprentice: &Apprentice: + apprentice exe: Apprentice Executable check at startup: Check for new versions at startup checking requires internet: Checking for updates requires an internet connection. @@ -217,6 +286,7 @@ title: updates availible: Updates Availible #preferences preferences: Preferences + global: Global display: Display directories: Directories updates: Updates @@ -265,6 +335,7 @@ error: has no member value: String "%s" has no member '%s' can't convert value: Can't convert "%s" from %s to %s unsupported format: Invalid string format: '%s' + can not sort: I don't know how to sort a %s # Image stuff coordinates for blending overlap: Coordinates for blending overlap diff --git a/src/gui/preferences_window.cpp b/src/gui/preferences_window.cpp index 3b0ac66d..43c47afd 100644 --- a/src/gui/preferences_window.cpp +++ b/src/gui/preferences_window.cpp @@ -138,6 +138,7 @@ GlobalPreferencesPage::GlobalPreferencesPage(Window* parent) if (settings.locale == package->name()) { language->SetSelection(n); } + n++; f = wxFindNextFile(); } // init sizer diff --git a/src/gui/set/cards_panel.cpp b/src/gui/set/cards_panel.cpp index b0d4ede7..68983d6c 100644 --- a/src/gui/set/cards_panel.cpp +++ b/src/gui/set/cards_panel.cpp @@ -55,32 +55,32 @@ CardsPanel::CardsPanel(Window* parent, int id) // init menus menuCard = new IconMenu(); - menuCard->Append(ID_CARD_PREV, _("Select &Previous Card\tPgUp"), _("Selects the previous card in the list")); - menuCard->Append(ID_CARD_NEXT, _("Select &Next Card\tPgDn"), _("Selects the next card in the list")); + menuCard->Append(ID_CARD_PREV, _MENU_("previous card"), _HELP_("previous card")); + menuCard->Append(ID_CARD_NEXT, _MENU_("next card"), _HELP_("next card")); menuCard->AppendSeparator(); - menuCard->Append(ID_CARD_ADD, _("card_add"), _("&Add Card\tCtrl++"), _("Add a new, blank, card to this set")); - menuCard->Append(ID_CARD_ADD_MULT, _("card_add_multiple"), _("Add &Multiple Cards..."), _("Add multiple cards to the set")); + menuCard->Append(ID_CARD_ADD, _("card_add"), _MENU_("add card"), _HELP_("add card")); + menuCard->Append(ID_CARD_ADD_MULT, _("card_add_multiple"), _MENU_("add cards"), _HELP_("add cards")); // NOTE: space after "Del" prevents wx from making del an accellerator // otherwise we delete a card when delete is pressed inside the editor - menuCard->Append(ID_CARD_REMOVE, _("card_del"), _("&Remove Select Card\tDel "), _("Delete the selected card from this set")); + menuCard->Append(ID_CARD_REMOVE, _("card_del"), _MENU_("remove card")+_(" "),_HELP_("remove card")); menuCard->AppendSeparator(); IconMenu* menuRotate = new IconMenu(); - menuRotate->Append(ID_CARD_ROTATE_0, _("card_rotate_0"), _("&Normal"), _("Display the card with the right side up"), wxITEM_CHECK); - menuRotate->Append(ID_CARD_ROTATE_270, _("card_rotate_270"), _("Rotated 90 &Clockwise"), _("Display the card rotated clockwise"), wxITEM_CHECK); - menuRotate->Append(ID_CARD_ROTATE_90, _("card_rotate_90"), _("Rotated 90 C&ounter Clockwise"), _("Display the card rotated counter-clockwise (anti-clockwise for the British)"), wxITEM_CHECK); - menuRotate->Append(ID_CARD_ROTATE_180, _("card_rotate_180"), _("Rotated 180, &Up Side Down"), _("Display the card up side down"), wxITEM_CHECK); - menuCard->Append(wxID_ANY, _("card_rotate"), _("&Orientation"), _("Orientation of the card display"), wxITEM_NORMAL, menuRotate); + menuRotate->Append(ID_CARD_ROTATE_0, _("card_rotate_0"), _MENU_("rotate 0"), _HELP_("rotate 0"), wxITEM_CHECK); + menuRotate->Append(ID_CARD_ROTATE_270, _("card_rotate_270"), _MENU_("rotate 270"), _HELP_("rotate 270"), wxITEM_CHECK); + menuRotate->Append(ID_CARD_ROTATE_90, _("card_rotate_90"), _MENU_("rotate 90"), _HELP_("rotate 90"), wxITEM_CHECK); + menuRotate->Append(ID_CARD_ROTATE_180, _("card_rotate_180"), _MENU_("rotate 180"), _HELP_("rotate 180"), wxITEM_CHECK); + menuCard->Append(wxID_ANY, _("card_rotate"), _MENU_("orientation"), _HELP_("orientation"), wxITEM_NORMAL, menuRotate); menuCard->AppendSeparator(); // This probably belongs in the window menu, but there we can't remove the separator once it is added - menuCard->Append(ID_SELECT_COLUMNS, _("C&ard List Columns..."), _("Select what columns should be shown and in what order.")); + menuCard->Append(ID_SELECT_COLUMNS, _MENU_("card list columns"),_HELP_("card list columns")); menuFormat = new IconMenu(); - menuFormat->Append(ID_FORMAT_BOLD, _("bold"), _("Bold\tCtrl+B"), _("Makes the selected text bold"), wxITEM_CHECK); - menuFormat->Append(ID_FORMAT_ITALIC, _("italic"), _("Italic\tCtrl+I"), _("Makes the selected text italic"), wxITEM_CHECK); - menuFormat->Append(ID_FORMAT_SYMBOL, _("symbol"), _("Symbols\tCtrl+M"), _("Draws the selected text with symbols"), wxITEM_CHECK); - menuFormat->Append(ID_FORMAT_REMINDER, _("reminder"), _("Reminder Text\tCtrl+R"), _("Show reminder text for the selected keyword"), wxITEM_CHECK); + menuFormat->Append(ID_FORMAT_BOLD, _("bold"), _MENU_("bold"), _HELP_("bold"), wxITEM_CHECK); + menuFormat->Append(ID_FORMAT_ITALIC, _("italic"), _MENU_("italic"), _HELP_("italic"), wxITEM_CHECK); + menuFormat->Append(ID_FORMAT_SYMBOL, _("symbol"), _MENU_("symbols"), _HELP_("symbols"), wxITEM_CHECK); + menuFormat->Append(ID_FORMAT_REMINDER, _("reminder"), _MENU_("reminder text"), _HELP_("reminder text"), wxITEM_CHECK); menuFormat->AppendSeparator(); - insertSymbolMenu = new wxMenuItem(menuFormat, ID_INSERT_SYMBOL, _("Insert Symbol")); + insertSymbolMenu = new wxMenuItem(menuFormat, ID_INSERT_SYMBOL, _MENU_("insert symbol")); menuFormat->Append(insertSymbolMenu); } @@ -119,11 +119,11 @@ void CardsPanel::initUI(wxToolBar* tb, wxMenuBar* mb) { tb->AddTool(ID_CARD_ADD, _(""), load_resource_tool_image(_("card_add")), wxNullBitmap, wxITEM_NORMAL,_TOOL_("add card")); tb->AddTool(ID_CARD_REMOVE, _(""), load_resource_tool_image(_("card_del")), wxNullBitmap, wxITEM_NORMAL,_TOOL_("remove card")); tb->AddSeparator(); - tb->AddTool(ID_CARD_ROTATE, _(""), load_resource_tool_image(_("card_rotate")), wxNullBitmap,wxITEM_NORMAL,_TOOL_("rotate card")); + tb->AddTool(ID_CARD_ROTATE, _(""), load_resource_tool_image(_("card_rotate")), wxNullBitmap,wxITEM_NORMAL, _TOOL_("rotate card")); tb->Realize(); // Menus - mb->Insert(2, menuCard, _("&Cards")); - mb->Insert(3, menuFormat, _("&Format")); + mb->Insert(2, menuCard, _MENU_("cards")); + mb->Insert(3, menuFormat, _MENU_("format")); } void CardsPanel::destroyUI(wxToolBar* tb, wxMenuBar* mb) { @@ -225,10 +225,10 @@ void CardsPanel::onCommand(int id) { bool collapse = notes->GetSize().y > 0; if (collapse) { splitter->SetSashPosition(-1); - notes->SetFocus(); + card_list->SetFocus(); } else { splitter->SetSashPosition(-150); - card_list->SetFocus(); + notes->SetFocus(); } break; } diff --git a/src/gui/set/set_info_panel.cpp b/src/gui/set/set_info_panel.cpp index 5a4096c3..161a90a4 100644 --- a/src/gui/set/set_info_panel.cpp +++ b/src/gui/set/set_info_panel.cpp @@ -34,17 +34,17 @@ void SetInfoPanel::onChangeSet() { void SetInfoPanel::initUI(wxToolBar* tb, wxMenuBar* mb) { // Toolbar - tb->AddTool(ID_FORMAT_BOLD, _(""), load_resource_tool_image(_("bold")), wxNullBitmap, wxITEM_CHECK, _("Bold")); - tb->AddTool(ID_FORMAT_ITALIC, _(""), load_resource_tool_image(_("italic")), wxNullBitmap, wxITEM_CHECK, _("Italic")); - tb->AddTool(ID_FORMAT_SYMBOL, _(""), load_resource_tool_image(_("symbol")), wxNullBitmap, wxITEM_CHECK, _("Symbols")); + tb->AddTool(ID_FORMAT_BOLD, _(""), load_resource_tool_image(_("bold")), wxNullBitmap, wxITEM_CHECK, _TOOL_("bold")); + tb->AddTool(ID_FORMAT_ITALIC, _(""), load_resource_tool_image(_("italic")), wxNullBitmap, wxITEM_CHECK, _TOOL_("italic")); + tb->AddTool(ID_FORMAT_SYMBOL, _(""), load_resource_tool_image(_("symbol")), wxNullBitmap, wxITEM_CHECK, _TOOL_("symbols")); tb->Realize(); // Menus IconMenu* menuFormat = new IconMenu(); - menuFormat->Append(ID_FORMAT_BOLD, _("bold"), _("Bold\tCtrl+B"), _("Makes the selected text bold"), wxITEM_CHECK); - menuFormat->Append(ID_FORMAT_ITALIC, _("italic"), _("Italic\tCtrl+I"), _("Makes the selected text italic"), wxITEM_CHECK); - menuFormat->Append(ID_FORMAT_SYMBOL, _("symbol"), _("Symbols\tCtrl+M"), _("Draws the selected text with symbols"), wxITEM_CHECK); - menuFormat->Append(ID_FORMAT_REMINDER, _("reminder"), _("Reminder Text\tCtrl+R"), _("Show reminder text for the selected keyword"), wxITEM_CHECK); - mb->Insert(2, menuFormat, _("&Format")); + menuFormat->Append(ID_FORMAT_BOLD, _("bold"), _MENU_("bold"), _HELP_("bold"), wxITEM_CHECK); + menuFormat->Append(ID_FORMAT_ITALIC, _("italic"), _MENU_("italic"), _HELP_("italic"), wxITEM_CHECK); + menuFormat->Append(ID_FORMAT_SYMBOL, _("symbol"), _MENU_("symbols"), _HELP_("symbols"), wxITEM_CHECK); + menuFormat->Append(ID_FORMAT_REMINDER, _("reminder"), _MENU_("reminder text"), _HELP_("reminder text"), wxITEM_CHECK); + mb->Insert(2, menuFormat, _MENU_("format")); } void SetInfoPanel::destroyUI(wxToolBar* tb, wxMenuBar* mb) { diff --git a/src/gui/set/window.cpp b/src/gui/set/window.cpp index 85e4c4a3..203ff340 100644 --- a/src/gui/set/window.cpp +++ b/src/gui/set/window.cpp @@ -53,15 +53,15 @@ SetWindow::SetWindow(Window* parent, const SetP& set) menuFile->Append(ID_FILE_SAVE, _("save"), _MENU_("save set"), _HELP_("save set")); menuFile->Append(ID_FILE_SAVE_AS, _MENU_("save set as"), _HELP_("save set as")); IconMenu* menuExport = new IconMenu(); - menuExport->Append(ID_FILE_EXPORT_HTML, _("&HTML..."), _("Export the set to a HTML file")); - menuExport->Append(ID_FILE_EXPORT_IMAGE, _("Card &Image..."), _("Export the selected card to an image file")); - menuExport->Append(ID_FILE_EXPORT_IMAGES, _("All Card I&mages..."), _("Export images for all cards")); - menuExport->Append(ID_FILE_EXPORT_APPR, _("&Apprentice..."), _("Export the set so it can be played with in Apprentice")); - menuExport->Append(ID_FILE_EXPORT_MWS, _("Magic &Workstation..."), _("Export the set so it can be played with in Magic Workstation")); + menuExport->Append(ID_FILE_EXPORT_HTML, _MENU_("export html"), _HELP_("export html")); + menuExport->Append(ID_FILE_EXPORT_IMAGE, _MENU_("export image"), _HELP_("export image")); + menuExport->Append(ID_FILE_EXPORT_IMAGES, _MENU_("export images"), _HELP_("export images")); + menuExport->Append(ID_FILE_EXPORT_APPR, _MENU_("export apprentice"),_HELP_("export apprentice")); + menuExport->Append(ID_FILE_EXPORT_MWS, _MENU_("export mws"), _HELP_("export mws")); menuFile->Append(ID_FILE_EXPORT, _MENU_("export"), _("Export the set..."), menuExport); menuFile->AppendSeparator(); - menuFile->Append(ID_FILE_INSPECT, _("Inspect Internal Data..."), _("Shows a the data in the set using a tree structure")); - menuFile->AppendSeparator(); +// menuFile->Append(ID_FILE_INSPECT, _("Inspect Internal Data..."), _("Shows a the data in the set using a tree structure")); +// menuFile->AppendSeparator(); menuFile->Append(ID_FILE_PRINT_PREVIEW, _MENU_("print preview"), _HELP_("print preview")); menuFile->Append(ID_FILE_PRINT, _MENU_("print"), _HELP_("print")); menuFile->AppendSeparator(); @@ -110,9 +110,9 @@ SetWindow::SetWindow(Window* parent, const SetP& set) tb->AddTool(ID_FILE_OPEN, _(""), load_resource_tool_image(_("open")), wxNullBitmap, wxITEM_NORMAL, _TOOL_("open set"), _HELP_("open set")); tb->AddTool(ID_FILE_SAVE, _(""), load_resource_tool_image(_("save")), wxNullBitmap, wxITEM_NORMAL, _TOOL_("save set"), _HELP_("save set")); tb->AddSeparator(); - tb->AddTool(ID_EDIT_CUT, _(""), load_resource_tool_image(_("cut")), wxNullBitmap, wxITEM_NORMAL, _TOOL_("cut")); - tb->AddTool(ID_EDIT_COPY, _(""), load_resource_tool_image(_("copy")), wxNullBitmap, wxITEM_NORMAL, _TOOL_("copy")); - tb->AddTool(ID_EDIT_PASTE, _(""), load_resource_tool_image(_("paste")), wxNullBitmap, wxITEM_NORMAL, _TOOL_("paste")); + tb->AddTool(ID_EDIT_CUT, _(""), load_resource_tool_image(_("cut")), wxNullBitmap, wxITEM_NORMAL, _TOOL_("cut"), _HELP_("cut")); + tb->AddTool(ID_EDIT_COPY, _(""), load_resource_tool_image(_("copy")), wxNullBitmap, wxITEM_NORMAL, _TOOL_("copy"), _HELP_("copy")); + tb->AddTool(ID_EDIT_PASTE, _(""), load_resource_tool_image(_("paste")), wxNullBitmap, wxITEM_NORMAL, _TOOL_("paste"), _HELP_("paste")); tb->AddSeparator(); tb->AddTool(ID_EDIT_UNDO, _(""), load_resource_tool_image(_("undo")), wxNullBitmap, wxITEM_NORMAL, _TOOL_1_("undo",wxEmptyString)); tb->AddTool(ID_EDIT_REDO, _(""), load_resource_tool_image(_("redo")), wxNullBitmap, wxITEM_NORMAL, _TOOL_1_("redo",wxEmptyString)); @@ -129,11 +129,11 @@ SetWindow::SetWindow(Window* parent, const SetP& set) // NOTE: place the CardsPanel last in the panels list, // this way the card list is the last to be told of a set change // this way everyone else already uses the new set when it sends a CardSelectEvent - addPanel(menuWindow, tabBar, new CardsPanel (this, wxID_ANY), 4, _("F5"), _("Cards"), _("Cards"), _("Edit the cards in the set")); - addPanel(menuWindow, tabBar, new SetInfoPanel (this, wxID_ANY), 0, _("F6"), _("Set info"), _("&Set Information"), _("Edit information about the set, its creator, etc.")); - addPanel(menuWindow, tabBar, new StylePanel (this, wxID_ANY), 1, _("F7"), _("Style"), _("Style"), _("Change the style of cards")); - addPanel(menuWindow, tabBar, new KeywordsPanel(this, wxID_ANY), 2, _("F8"), _("Keywords"), _("Keywords"), _("Define extra keywords for this set")); - addPanel(menuWindow, tabBar, new StatsPanel (this, wxID_ANY), 3, _("F9"), _("Stats"), _("Statistics"), _("Show statistics about the cards in the set")); + addPanel(menuWindow, tabBar, new CardsPanel (this, wxID_ANY), 4, _("cards")); + addPanel(menuWindow, tabBar, new SetInfoPanel (this, wxID_ANY), 0, _("set info")); + addPanel(menuWindow, tabBar, new StylePanel (this, wxID_ANY), 1, _("style")); + addPanel(menuWindow, tabBar, new KeywordsPanel(this, wxID_ANY), 2, _("keywords")); + addPanel(menuWindow, tabBar, new StatsPanel (this, wxID_ANY), 3, _("stats")); // addPanel(*s, *menuWindow, *tabBar, new DraftPanel (&this, wxID_ANY), 4, _("F10")) selectPanel(ID_WINDOW_CARDS); // select cards panel @@ -174,16 +174,20 @@ SetWindow::~SetWindow() { // ----------------------------------------------------------------------------- : Panel managment -void SetWindow::addPanel(wxMenu* windowMenu, wxToolBar* tabBar, SetWindowPanel* panel, UInt pos, - const String& shortcut, const String& shortName, const String& longName, const String& description) { +void SetWindow::addPanel(wxMenu* windowMenu, wxToolBar* tabBar, SetWindowPanel* panel, UInt pos, const String& name) { // insert in list if (panels.size() <= pos) panels.resize(pos + 1); panels[pos] = panel; + // names + String menu_name = tr(LOCALE_CAT_MENU, name + _(" window")); + String description = tr(LOCALE_CAT_HELP, name + _(" window")); + String tab_name = tr(LOCALE_CAT_TOOL, name + _(" tab")); + String tab_help = tr(LOCALE_CAT_HELP, name + _(" tab")); // add to tab bar int id = ID_WINDOW_MIN + pos; - tabBar->AddTool(id, shortName, wxNullBitmap, wxNullBitmap, wxITEM_CHECK, longName, description); + tabBar->AddTool(id, tab_name, wxNullBitmap, wxNullBitmap, wxITEM_CHECK, tab_help, description); // add to menu bar - windowMenu->AppendCheckItem(id, longName + _("\t") + shortcut, description); + windowMenu->AppendCheckItem(id, menu_name, description); // add to sizer GetSizer()->Add(panel, 1, wxEXPAND); } @@ -359,7 +363,7 @@ void SetWindow::onUpdateUI(wxUpdateUIEvent& ev) { } } -static const int FILE_MENU_SIZE_BEFORE_RECENT_SETS = 11; // HACK; we should calculate the position to insert! +static const int FILE_MENU_SIZE_BEFORE_RECENT_SETS = 9; // HACK; we should calculate the position to insert! void SetWindow::updateRecentSets() { wxMenuBar* mb = GetMenuBar(); assert(number_of_recent_sets <= (UInt)settings.recent_sets.size()); // the number of recent sets should only increase diff --git a/src/gui/set/window.hpp b/src/gui/set/window.hpp index 816154b5..4cbc8289 100644 --- a/src/gui/set/window.hpp +++ b/src/gui/set/window.hpp @@ -52,8 +52,7 @@ class SetWindow : public wxFrame, public SetView { /// Add a panel to the window, as well as to the menu and tab bar /** The position only determines the order in which events will be send. */ - void addPanel(wxMenu* windowMenu, wxToolBar* tabBar, SetWindowPanel* panel, UInt pos, - const String& shortcut, const String& shortName, const String& longName, const String& description); + void addPanel(wxMenu* windowMenu, wxToolBar* tabBar, SetWindowPanel* panel, UInt pos, const String& name); /// Select a panel, based on a tab id void selectPanel(int id); diff --git a/src/mse.vcproj b/src/mse.vcproj index 64c2d922..63cc8bc6 100644 --- a/src/mse.vcproj +++ b/src/mse.vcproj @@ -2835,6 +2835,9 @@ + +