Mercurial > repos > IBBoard.WarFoundry.GUI.GTK
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"><a href="http://warfoundry.co.uk">http://warfoundry.co.uk</a></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>