changeset 93:e40d892a2298

Fixes #308: Make GTK# UI translatable * Move all remaining buttons to translatable buttons * Make the About dialog translatable (where appropriate) * Move to UTF-8 encoding in the XML to correctly handle copyright symbol * Switch About dialog to using Close button as per other apps
author IBBoard <dev@ibboard.co.uk>
date Fri, 31 Dec 2010 13:53:18 +0000
parents 58779fcd0166
children 26e4525b49cf
files FrmAbout.cs gtk-gui/IBBoard.WarFoundry.GUI.GTK.FrmAbout.cs gtk-gui/IBBoard.WarFoundry.GUI.GTK.FrmAddEquipment.cs gtk-gui/IBBoard.WarFoundry.GUI.GTK.FrmEditEquipment.cs gtk-gui/IBBoard.WarFoundry.GUI.GTK.FrmReplaceEquipment.cs gtk-gui/IBBoard.WarFoundry.GUI.GTK.Widgets.UnitDisplayWidget.cs gtk-gui/gui.stetic translations/en.translation
diffstat 8 files changed, 89 insertions(+), 84 deletions(-) [+]
line wrap: on
line diff
--- a/FrmAbout.cs	Fri Dec 31 12:01:18 2010 +0000
+++ b/FrmAbout.cs	Fri Dec 31 13:53:18 2010 +0000
@@ -25,12 +25,12 @@
 		private FrmAbout()
 		{
 			this.Build();
-			ControlTranslator.TranslateWidget(this);
+			Translate();
 		}
 
-		protected virtual void OkayClicked(object sender, System.EventArgs e)
+		protected virtual void CloseClicked(object sender, System.EventArgs e)
 		{
-			Respond(ResponseType.Ok);
+			Respond(ResponseType.Close);
 		}		
 	}
 }
--- a/gtk-gui/IBBoard.WarFoundry.GUI.GTK.FrmAbout.cs	Fri Dec 31 12:01:18 2010 +0000
+++ b/gtk-gui/IBBoard.WarFoundry.GUI.GTK.FrmAbout.cs	Fri Dec 31 13:53:18 2010 +0000
@@ -4,12 +4,12 @@
 {
 	public partial class FrmAbout
 	{
-		private global::Gtk.Image image1;
+		private global::Gtk.Image logoImage;
 		private global::Gtk.Label label1;
-		private global::Gtk.Label label4;
-		private global::Gtk.Label label2;
-		private global::Gtk.Label label3;
-		private global::Gtk.Button buttonOk;
+		private global::IBBoard.GtkSharp.Translatable.TranslatableLabel lblWarFoundryDesc;
+		private global::IBBoard.GtkSharp.Translatable.TranslatableLabel lblWarFoundryCopyright;
+		private global::Gtk.Label lblWarFoundryLink;
+		private global::IBBoard.GtkSharp.Translatable.TranslatableButton bttnClose;
 
 		protected virtual void Build()
 		{
@@ -26,11 +26,11 @@
 			w1.Name = "dialog1_VBox";
 			w1.BorderWidth = ((uint)(2));
 			// Container child dialog1_VBox.Gtk.Box+BoxChild
-			this.image1 = new global::Gtk.Image();
-			this.image1.Name = "image1";
-			this.image1.Pixbuf = global::Gdk.Pixbuf.LoadFromResource("IBBoard.WarFoundry.GUI.GTK.App-lrg.png");
-			w1.Add(this.image1);
-			global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(w1[this.image1]));
+			this.logoImage = new global::Gtk.Image();
+			this.logoImage.Name = "logoImage";
+			this.logoImage.Pixbuf = global::Gdk.Pixbuf.LoadFromResource("IBBoard.WarFoundry.GUI.GTK.App-lrg.png");
+			w1.Add(this.logoImage);
+			global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(w1[this.logoImage]));
 			w2.Position = 0;
 			w2.Expand = false;
 			w2.Fill = false;
@@ -45,32 +45,32 @@
 			w3.Expand = false;
 			w3.Fill = false;
 			// Container child dialog1_VBox.Gtk.Box+BoxChild
-			this.label4 = new global::Gtk.Label();
-			this.label4.Name = "label4";
-			this.label4.LabelProp = global::Mono.Unix.Catalog.GetString("WarFoundry is an open-source army creation tool that lets you create rosters for multiple game systems.");
-			this.label4.Wrap = true;
-			this.label4.Justify = ((global::Gtk.Justification)(2));
-			w1.Add(this.label4);
-			global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(w1[this.label4]));
+			this.lblWarFoundryDesc = new global::IBBoard.GtkSharp.Translatable.TranslatableLabel();
+			this.lblWarFoundryDesc.Name = "lblWarFoundryDesc";
+			this.lblWarFoundryDesc.LabelProp = global::Mono.Unix.Catalog.GetString("WarFoundry is an open-source army creation tool that lets you create rosters for multiple game systems.");
+			this.lblWarFoundryDesc.Wrap = true;
+			this.lblWarFoundryDesc.Justify = ((global::Gtk.Justification)(2));
+			w1.Add(this.lblWarFoundryDesc);
+			global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(w1[this.lblWarFoundryDesc]));
 			w4.Position = 2;
 			w4.Expand = false;
 			w4.Fill = false;
 			// Container child dialog1_VBox.Gtk.Box+BoxChild
-			this.label2 = new global::Gtk.Label();
-			this.label2.Name = "label2";
-			this.label2.LabelProp = global::Mono.Unix.Catalog.GetString("© 2007-2010, IBBoard and others");
-			w1.Add(this.label2);
-			global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(w1[this.label2]));
+			this.lblWarFoundryCopyright = new global::IBBoard.GtkSharp.Translatable.TranslatableLabel();
+			this.lblWarFoundryCopyright.Name = "lblWarFoundryCopyright";
+			this.lblWarFoundryCopyright.LabelProp = global::Mono.Unix.Catalog.GetString("© 2007-2010, IBBoard and others");
+			w1.Add(this.lblWarFoundryCopyright);
+			global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(w1[this.lblWarFoundryCopyright]));
 			w5.Position = 3;
 			w5.Expand = false;
 			w5.Fill = false;
 			// Container child dialog1_VBox.Gtk.Box+BoxChild
-			this.label3 = new global::Gtk.Label();
-			this.label3.Name = "label3";
-			this.label3.LabelProp = global::Mono.Unix.Catalog.GetString("<a href=\"http://warfoundry.co.uk\">http://warfoundry.co.uk</a>");
-			this.label3.UseMarkup = true;
-			w1.Add(this.label3);
-			global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(w1[this.label3]));
+			this.lblWarFoundryLink = new global::Gtk.Label();
+			this.lblWarFoundryLink.Name = "lblWarFoundryLink";
+			this.lblWarFoundryLink.LabelProp = global::Mono.Unix.Catalog.GetString("<a href=\"http://warfoundry.co.uk\">http://warfoundry.co.uk</a>");
+			this.lblWarFoundryLink.UseMarkup = true;
+			w1.Add(this.lblWarFoundryLink);
+			global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(w1[this.lblWarFoundryLink]));
 			w6.Position = 4;
 			w6.Expand = false;
 			w6.Fill = false;
@@ -81,15 +81,15 @@
 			w7.BorderWidth = ((uint)(5));
 			w7.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4));
 			// Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
-			this.buttonOk = new global::Gtk.Button();
-			this.buttonOk.CanDefault = true;
-			this.buttonOk.CanFocus = true;
-			this.buttonOk.Name = "buttonOk";
-			this.buttonOk.UseStock = true;
-			this.buttonOk.UseUnderline = true;
-			this.buttonOk.Label = "gtk-ok";
-			this.AddActionWidget(this.buttonOk, -5);
-			global::Gtk.ButtonBox.ButtonBoxChild w8 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w7[this.buttonOk]));
+			this.bttnClose = new global::IBBoard.GtkSharp.Translatable.TranslatableButton();
+			this.bttnClose.CanDefault = true;
+			this.bttnClose.CanFocus = true;
+			this.bttnClose.Name = "bttnClose";
+			this.bttnClose.UseStock = true;
+			this.bttnClose.UseUnderline = true;
+			this.bttnClose.Label = "gtk-close";
+			this.AddActionWidget(this.bttnClose, -7);
+			global::Gtk.ButtonBox.ButtonBoxChild w8 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w7[this.bttnClose]));
 			w8.Expand = false;
 			w8.Fill = false;
 			if ((this.Child != null))
@@ -99,7 +99,6 @@
 			this.DefaultWidth = 305;
 			this.DefaultHeight = 300;
 			this.Show();
-			this.buttonOk.Activated += new global::System.EventHandler(this.OkayClicked);
 		}
 	}
 }
--- a/gtk-gui/IBBoard.WarFoundry.GUI.GTK.FrmAddEquipment.cs	Fri Dec 31 12:01:18 2010 +0000
+++ b/gtk-gui/IBBoard.WarFoundry.GUI.GTK.FrmAddEquipment.cs	Fri Dec 31 13:53:18 2010 +0000
@@ -18,8 +18,8 @@
 		private global::Gtk.RadioButton rbEquipPercent;
 		private global::IBBoard.GtkSharp.Translatable.TranslatableLabel lblEquipAmount;
 		private global::IBBoard.GtkSharp.Translatable.TranslatableLabel lblEquipment;
-		private global::Gtk.Button buttonCancel;
-		private global::Gtk.Button buttonOk;
+		private global::IBBoard.GtkSharp.Translatable.TranslatableButton buttonCancel;
+		private global::IBBoard.GtkSharp.Translatable.TranslatableButton buttonOk;
 
 		protected virtual void Build()
 		{
@@ -195,7 +195,7 @@
 			w16.BorderWidth = ((uint)(5));
 			w16.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4));
 			// Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
-			this.buttonCancel = new global::Gtk.Button();
+			this.buttonCancel = new global::IBBoard.GtkSharp.Translatable.TranslatableButton();
 			this.buttonCancel.CanDefault = true;
 			this.buttonCancel.CanFocus = true;
 			this.buttonCancel.Name = "buttonCancel";
@@ -207,7 +207,7 @@
 			w17.Expand = false;
 			w17.Fill = false;
 			// Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
-			this.buttonOk = new global::Gtk.Button();
+			this.buttonOk = new global::IBBoard.GtkSharp.Translatable.TranslatableButton();
 			this.buttonOk.CanDefault = true;
 			this.buttonOk.CanFocus = true;
 			this.buttonOk.Name = "buttonOk";
--- a/gtk-gui/IBBoard.WarFoundry.GUI.GTK.FrmEditEquipment.cs	Fri Dec 31 12:01:18 2010 +0000
+++ b/gtk-gui/IBBoard.WarFoundry.GUI.GTK.FrmEditEquipment.cs	Fri Dec 31 13:53:18 2010 +0000
@@ -15,8 +15,8 @@
 		private global::Gtk.RadioButton rbEquipNumeric;
 		private global::Gtk.RadioButton rbEquipPercent;
 		private global::IBBoard.GtkSharp.Translatable.TranslatableLabel lblEquipAmount;
-		private global::Gtk.Button buttonCancel;
-		private global::Gtk.Button buttonOk;
+		private global::IBBoard.GtkSharp.Translatable.TranslatableButton buttonCancel;
+		private global::IBBoard.GtkSharp.Translatable.TranslatableButton buttonOk;
 
 		protected virtual void Build()
 		{
@@ -165,7 +165,7 @@
 			w13.BorderWidth = ((uint)(5));
 			w13.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4));
 			// Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
-			this.buttonCancel = new global::Gtk.Button();
+			this.buttonCancel = new global::IBBoard.GtkSharp.Translatable.TranslatableButton();
 			this.buttonCancel.CanDefault = true;
 			this.buttonCancel.CanFocus = true;
 			this.buttonCancel.Name = "buttonCancel";
@@ -177,7 +177,7 @@
 			w14.Expand = false;
 			w14.Fill = false;
 			// Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
-			this.buttonOk = new global::Gtk.Button();
+			this.buttonOk = new global::IBBoard.GtkSharp.Translatable.TranslatableButton();
 			this.buttonOk.CanDefault = true;
 			this.buttonOk.CanFocus = true;
 			this.buttonOk.Name = "buttonOk";
--- a/gtk-gui/IBBoard.WarFoundry.GUI.GTK.FrmReplaceEquipment.cs	Fri Dec 31 12:01:18 2010 +0000
+++ b/gtk-gui/IBBoard.WarFoundry.GUI.GTK.FrmReplaceEquipment.cs	Fri Dec 31 13:53:18 2010 +0000
@@ -18,8 +18,8 @@
 		private global::Gtk.RadioButton rbEquipPercent;
 		private global::IBBoard.GtkSharp.Translatable.TranslatableLabel lblEquipAmount;
 		private global::IBBoard.GtkSharp.Translatable.TranslatableLabel lblEquipment;
-		private global::Gtk.Button buttonCancel;
-		private global::Gtk.Button buttonOk;
+		private global::IBBoard.GtkSharp.Translatable.TranslatableButton buttonCancel;
+		private global::IBBoard.GtkSharp.Translatable.TranslatableButton buttonOk;
 
 		protected virtual void Build()
 		{
@@ -195,7 +195,7 @@
 			w16.BorderWidth = ((uint)(5));
 			w16.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4));
 			// Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
-			this.buttonCancel = new global::Gtk.Button();
+			this.buttonCancel = new global::IBBoard.GtkSharp.Translatable.TranslatableButton();
 			this.buttonCancel.CanDefault = true;
 			this.buttonCancel.CanFocus = true;
 			this.buttonCancel.Name = "buttonCancel";
@@ -207,7 +207,7 @@
 			w17.Expand = false;
 			w17.Fill = false;
 			// Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
-			this.buttonOk = new global::Gtk.Button();
+			this.buttonOk = new global::IBBoard.GtkSharp.Translatable.TranslatableButton();
 			this.buttonOk.CanDefault = true;
 			this.buttonOk.CanFocus = true;
 			this.buttonOk.Name = "buttonOk";
--- a/gtk-gui/IBBoard.WarFoundry.GUI.GTK.Widgets.UnitDisplayWidget.cs	Fri Dec 31 12:01:18 2010 +0000
+++ b/gtk-gui/IBBoard.WarFoundry.GUI.GTK.Widgets.UnitDisplayWidget.cs	Fri Dec 31 13:53:18 2010 +0000
@@ -23,10 +23,10 @@
 		private global::IBBoard.GtkSharp.Translatable.TranslatableLabel lblAbilities;
 		private global::IBBoard.GtkSharp.Translatable.TranslatableLabel lblNotes;
 		private global::Gtk.VBox vbox3;
-		private global::Gtk.Button bttnAddEquipment;
-		private global::Gtk.Button bttnEditEquipment;
-		private global::Gtk.Button bttnReplaceEquipment;
-		private global::Gtk.Button bttnRemoveEquipment;
+		private global::IBBoard.GtkSharp.Translatable.TranslatableButton bttnAddEquipment;
+		private global::IBBoard.GtkSharp.Translatable.TranslatableButton bttnEditEquipment;
+		private global::IBBoard.GtkSharp.Translatable.TranslatableButton bttnReplaceEquipment;
+		private global::IBBoard.GtkSharp.Translatable.TranslatableButton bttnRemoveEquipment;
 
 		protected virtual void Build()
 		{
@@ -187,7 +187,7 @@
 			this.vbox3.Name = "vbox3";
 			this.vbox3.Spacing = 6;
 			// Container child vbox3.Gtk.Box+BoxChild
-			this.bttnAddEquipment = new global::Gtk.Button();
+			this.bttnAddEquipment = new global::IBBoard.GtkSharp.Translatable.TranslatableButton();
 			this.bttnAddEquipment.CanFocus = true;
 			this.bttnAddEquipment.Name = "bttnAddEquipment";
 			this.bttnAddEquipment.UseUnderline = true;
@@ -198,7 +198,7 @@
 			w19.Expand = false;
 			w19.Fill = false;
 			// Container child vbox3.Gtk.Box+BoxChild
-			this.bttnEditEquipment = new global::Gtk.Button();
+			this.bttnEditEquipment = new global::IBBoard.GtkSharp.Translatable.TranslatableButton();
 			this.bttnEditEquipment.Sensitive = false;
 			this.bttnEditEquipment.CanFocus = true;
 			this.bttnEditEquipment.Name = "bttnEditEquipment";
@@ -210,7 +210,7 @@
 			w20.Expand = false;
 			w20.Fill = false;
 			// Container child vbox3.Gtk.Box+BoxChild
-			this.bttnReplaceEquipment = new global::Gtk.Button();
+			this.bttnReplaceEquipment = new global::IBBoard.GtkSharp.Translatable.TranslatableButton();
 			this.bttnReplaceEquipment.Sensitive = false;
 			this.bttnReplaceEquipment.CanFocus = true;
 			this.bttnReplaceEquipment.Name = "bttnReplaceEquipment";
@@ -222,7 +222,7 @@
 			w21.Expand = false;
 			w21.Fill = false;
 			// Container child vbox3.Gtk.Box+BoxChild
-			this.bttnRemoveEquipment = new global::Gtk.Button();
+			this.bttnRemoveEquipment = new global::IBBoard.GtkSharp.Translatable.TranslatableButton();
 			this.bttnRemoveEquipment.Sensitive = false;
 			this.bttnRemoveEquipment.CanFocus = true;
 			this.bttnRemoveEquipment.Name = "bttnRemoveEquipment";
--- a/gtk-gui/gui.stetic	Fri Dec 31 12:01:18 2010 +0000
+++ b/gtk-gui/gui.stetic	Fri Dec 31 13:53:18 2010 +0000
@@ -927,7 +927,7 @@
                 <property name="MemberName" />
                 <property name="Spacing">6</property>
                 <child>
-                  <widget class="Gtk.Button" id="bttnAddEquipment">
+                  <widget class="IBBoard.GtkSharp.Translatable.TranslatableButton" id="bttnAddEquipment">
                     <property name="MemberName" />
                     <property name="CanFocus">True</property>
                     <property name="Type">TextOnly</property>
@@ -943,7 +943,7 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="Gtk.Button" id="bttnEditEquipment">
+                  <widget class="IBBoard.GtkSharp.Translatable.TranslatableButton" id="bttnEditEquipment">
                     <property name="MemberName" />
                     <property name="Sensitive">False</property>
                     <property name="CanFocus">True</property>
@@ -960,7 +960,7 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="Gtk.Button" id="bttnReplaceEquipment">
+                  <widget class="IBBoard.GtkSharp.Translatable.TranslatableButton" id="bttnReplaceEquipment">
                     <property name="MemberName" />
                     <property name="Sensitive">False</property>
                     <property name="CanFocus">True</property>
@@ -977,7 +977,7 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="Gtk.Button" id="bttnRemoveEquipment">
+                  <widget class="IBBoard.GtkSharp.Translatable.TranslatableButton" id="bttnRemoveEquipment">
                     <property name="MemberName" />
                     <property name="Sensitive">False</property>
                     <property name="CanFocus">True</property>
@@ -1327,7 +1327,7 @@
         <property name="Size">2</property>
         <property name="LayoutStyle">End</property>
         <child>
-          <widget class="Gtk.Button" id="buttonCancel">
+          <widget class="IBBoard.GtkSharp.Translatable.TranslatableButton" id="buttonCancel">
             <property name="MemberName" />
             <property name="CanDefault">True</property>
             <property name="CanFocus">True</property>
@@ -1344,7 +1344,7 @@
           </packing>
         </child>
         <child>
-          <widget class="Gtk.Button" id="buttonOk">
+          <widget class="IBBoard.GtkSharp.Translatable.TranslatableButton" id="buttonOk">
             <property name="MemberName" />
             <property name="CanDefault">True</property>
             <property name="CanFocus">True</property>
@@ -1627,7 +1627,7 @@
         <property name="Size">2</property>
         <property name="LayoutStyle">End</property>
         <child>
-          <widget class="Gtk.Button" id="buttonCancel">
+          <widget class="IBBoard.GtkSharp.Translatable.TranslatableButton" id="buttonCancel">
             <property name="MemberName" />
             <property name="CanDefault">True</property>
             <property name="CanFocus">True</property>
@@ -1644,7 +1644,7 @@
           </packing>
         </child>
         <child>
-          <widget class="Gtk.Button" id="buttonOk">
+          <widget class="IBBoard.GtkSharp.Translatable.TranslatableButton" id="buttonOk">
             <property name="MemberName" />
             <property name="CanDefault">True</property>
             <property name="CanFocus">True</property>
@@ -1973,7 +1973,7 @@
         <property name="Size">2</property>
         <property name="LayoutStyle">End</property>
         <child>
-          <widget class="Gtk.Button" id="buttonCancel">
+          <widget class="IBBoard.GtkSharp.Translatable.TranslatableButton" id="buttonCancel">
             <property name="MemberName" />
             <property name="CanDefault">True</property>
             <property name="CanFocus">True</property>
@@ -1990,7 +1990,7 @@
           </packing>
         </child>
         <child>
-          <widget class="Gtk.Button" id="buttonOk">
+          <widget class="IBBoard.GtkSharp.Translatable.TranslatableButton" id="buttonOk">
             <property name="MemberName" />
             <property name="CanDefault">True</property>
             <property name="CanFocus">True</property>
@@ -2024,7 +2024,7 @@
         <property name="MemberName" />
         <property name="BorderWidth">2</property>
         <child>
-          <widget class="Gtk.Image" id="image1">
+          <widget class="Gtk.Image" id="logoImage">
             <property name="MemberName" />
             <property name="Pixbuf">resource:IBBoard.WarFoundry.GUI.GTK.App-lrg.png</property>
           </widget>
@@ -2049,7 +2049,7 @@
           </packing>
         </child>
         <child>
-          <widget class="Gtk.Label" id="label4">
+          <widget class="IBBoard.GtkSharp.Translatable.TranslatableLabel" id="lblWarFoundryDesc">
             <property name="MemberName" />
             <property name="LabelProp" translatable="yes">WarFoundry is an open-source army creation tool that lets you create rosters for multiple game systems.</property>
             <property name="Wrap">True</property>
@@ -2063,7 +2063,7 @@
           </packing>
         </child>
         <child>
-          <widget class="Gtk.Label" id="label2">
+          <widget class="IBBoard.GtkSharp.Translatable.TranslatableLabel" id="lblWarFoundryCopyright">
             <property name="MemberName" />
             <property name="LabelProp" translatable="yes">© 2007-2010, IBBoard and others</property>
           </widget>
@@ -2075,7 +2075,7 @@
           </packing>
         </child>
         <child>
-          <widget class="Gtk.Label" id="label3">
+          <widget class="Gtk.Label" id="lblWarFoundryLink">
             <property name="MemberName" />
             <property name="LabelProp" translatable="yes">&lt;a href="http://warfoundry.co.uk"&gt;http://warfoundry.co.uk&lt;/a&gt;</property>
             <property name="UseMarkup">True</property>
@@ -2097,16 +2097,15 @@
         <property name="Size">1</property>
         <property name="LayoutStyle">End</property>
         <child>
-          <widget class="Gtk.Button" id="buttonOk">
+          <widget class="IBBoard.GtkSharp.Translatable.TranslatableButton" id="bttnClose">
             <property name="MemberName" />
             <property name="CanDefault">True</property>
             <property name="CanFocus">True</property>
             <property name="UseStock">True</property>
             <property name="Type">StockItem</property>
-            <property name="StockId">gtk-ok</property>
-            <property name="ResponseId">-5</property>
-            <signal name="Activated" handler="OkayClicked" />
-            <property name="label">gtk-ok</property>
+            <property name="StockId">gtk-close</property>
+            <property name="ResponseId">-7</property>
+            <property name="label">gtk-close</property>
           </widget>
           <packing>
             <property name="Expand">False</property>
--- a/translations/en.translation	Fri Dec 31 12:01:18 2010 +0000
+++ b/translations/en.translation	Fri Dec 31 13:53:18 2010 +0000
@@ -1,7 +1,5 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<translations xmlns="http://ibboard.co.uk/translation"
-xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-lang="en">
+<?xml version="1.0" encoding="utf-8"?>
+<translations xmlns="http://ibboard.co.uk/translation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" lang="en">
 <translation id="menuFile">_File</translation>
 <translation id="menuEdit">_Edit</translation>
 <translation id="menuHelp">_Help</translation>
@@ -27,10 +25,16 @@
 <translation id="menuRemoveUnit">Remove Unit</translation>
 <translation id="armyFileFilter">WarFoundry Army Files (*.army)</translation>
 <translation id="bttnCancel">Cancel</translation>
+<translation id="buttonCancel">Cancel</translation>
+<translation id="buttonOk">OK</translation>
 <translation id="bttnSelectSystem">Select system</translation>
 <translation id="saveArmyDialog">Save army</translation>
 <translation id="defaultUnitName">Unit of {0} {1}</translation>
 <translation id="statusPanelPoints">{0} pts / {1} pts</translation>
+<translation id="bttnAddEquipment">Add</translation>
+<translation id="bttnEditEquipment">Edit</translation>
+<translation id="bttnRemoveEquipment">Remove</translation>
+<translation id="bttnReplaceEquipment">Replace</translation>
 <translation id="equipmentLabel">Equipment:</translation>
 <translation id="lblAbilities">Abilities:</translation>
 <translation id="lblNotes">Notes:</translation>
@@ -53,6 +57,9 @@
 <translation id="IBBoard.WarFoundry.GUI.GTK.FrmEditEquipment">Edit Equipment</translation>
 <translation id="frmEditEquipmentColumnTitle">Equipment</translation>
 <translation id="IBBoard.WarFoundry.GUI.GTK.FrmAbout">About WarFoundry</translation>
+<translation id="bttnClose">Close</translation>
+<translation id="lblWarFoundryCopyright">© 2007-2010, IBBoard and others</translation>
+<translation id="lblWarFoundryDesc">WarFoundry is an open-source army creation tool that lets you create rosters for multiple game systems.</translation>
 <translation id="exportBasicHtmlDialogTitle">Export army</translation>
 <translation id="exportBasicHtmlCancel">Cancel</translation>
 <translation id="exportBasicHtmlExport">Export</translation>