Commit fa772f48 authored by twanvl's avatar twanvl

More localization

parent db9d93eb
......@@ -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
......
......@@ -138,6 +138,7 @@ GlobalPreferencesPage::GlobalPreferencesPage(Window* parent)
if (settings.locale == package->name()) {
language->SetSelection(n);
}
n++;
f = wxFindNextFile();
}
// init sizer
......
......@@ -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;
}
......
......@@ -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) {
......
......@@ -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
......
......@@ -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);
......
......@@ -2835,6 +2835,9 @@
<File
RelativePath="..\conversion-todo.txt">
</File>
<File
RelativePath="..\data\nl.mse-locale\locale">
</File>
<File
RelativePath="..\data\en.mse-locale\locale">
</File>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment