]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/gtkdlgs.cpp
apply misc fixes from Markus Fischer and Rambetter
[xonotic/netradiant.git] / radiant / gtkdlgs.cpp
index f97682feefafc9715e4432d62ef10aadafaddcaf..d87f2919be9dabe9c8774694c099e4abb23cc1bf 100644 (file)
@@ -2,30 +2,30 @@
 Copyright (c) 2001, Loki software, inc.
 All rights reserved.
 
-Redistribution and use in source and binary forms, with or without modification, 
+Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:
 
-Redistributions of source code must retain the above copyright notice, this list 
+Redistributions of source code must retain the above copyright notice, this list
 of conditions and the following disclaimer.
 
 Redistributions in binary form must reproduce the above copyright notice, this
 list of conditions and the following disclaimer in the documentation and/or
 other materials provided with the distribution.
 
-Neither the name of Loki software nor the names of its contributors may be used 
-to endorse or promote products derived from this software without specific prior 
-written permission. 
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' 
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
-DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY 
-DIRECT,INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+Neither the name of Loki software nor the names of its contributors may be used
+to endorse or promote products derived from this software without specific prior
+written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
+DIRECT,INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
 //
@@ -37,6 +37,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #include "stdafx.h"
 #include <gdk/gdkkeysyms.h>
 #include <gtk/gtk.h>
+#include <glib/gi18n.h>
 
 #ifdef _WIN32
 #include <gdk/gdkwin32.h>
@@ -52,19 +53,19 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 qboolean DoColor (int iIndex)
 {
   static bool bColorOpen = false;
-   
+
   if(bColorOpen)
   {
     Sys_FPrintf(SYS_WRN, "DoColor dialog is already open\n");
     return false;
   }
 
-  bColorOpen = true;  
-   
+  bColorOpen = true;
+
   if (color_dialog (g_pParentWnd->m_pWidget, g_qeglobals.d_savedinfo.colors[iIndex]))
   {
-    /* 
-    ** scale colors so that at least one component is at 1.0F 
+    /*
+    ** scale colors so that at least one component is at 1.0F
     ** if this is meant to select an entity color
     */
     if (iIndex == COLOR_ENTITY)
@@ -117,9 +118,9 @@ static void DoProjectAddEdit (bool edit, GtkWidget *parent)
 
   dlg = gtk_window_new (GTK_WINDOW_TOPLEVEL);
   if (edit)
-    gtk_window_set_title (GTK_WINDOW (dlg), "Edit Command");
+    gtk_window_set_title (GTK_WINDOW (dlg), _("Edit Command"));
   else
-    gtk_window_set_title (GTK_WINDOW (dlg), "Add Command");
+    gtk_window_set_title (GTK_WINDOW (dlg), _("Add Command"));
   gtk_signal_connect (GTK_OBJECT (dlg), "delete_event",
                       GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
   gtk_signal_connect (GTK_OBJECT (dlg), "destroy",
@@ -138,14 +139,14 @@ static void DoProjectAddEdit (bool edit, GtkWidget *parent)
   gtk_table_set_row_spacings (GTK_TABLE (table), 5);
   gtk_table_set_col_spacings (GTK_TABLE (table), 5);
 
-  label = gtk_label_new ("Menu text");
+  label = gtk_label_new (_("Menu text"));
   gtk_widget_show (label);
   gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_misc_set_alignment (GTK_MISC (label), 1, 0.5);
 
-  label = gtk_label_new ("Command");
+  label = gtk_label_new (_("Command"));
   gtk_widget_show (label);
   gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
@@ -172,14 +173,14 @@ static void DoProjectAddEdit (bool edit, GtkWidget *parent)
   gtk_widget_show (hbox);
   gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
 
-  button = gtk_button_new_with_label ("OK");
+  button = gtk_button_new_with_label (_("OK"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
   gtk_widget_set_usize (button, 60, -2);
 
-  button = gtk_button_new_with_label ("Cancel");
+  button = gtk_button_new_with_label (_("Cancel"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
@@ -497,7 +498,7 @@ void DoProjectSettings ()
   int loop = 1, ret = IDCANCEL;
 
   project = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (project), "Project Settings");
+  gtk_window_set_title (GTK_WINDOW (project), _("Project Settings"));
   gtk_signal_connect (GTK_OBJECT (project), "delete_event",
                       GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
   gtk_signal_connect (GTK_OBJECT (project), "destroy",
@@ -519,14 +520,14 @@ void DoProjectSettings ()
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (GTK_FILL), 0, 0);
 
-  button = gtk_button_new_with_label ("OK");
+  button = gtk_button_new_with_label (_("OK"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
   gtk_widget_set_usize (button, 60, -2);
 
-  button = gtk_button_new_with_label ("Cancel");
+  button = gtk_button_new_with_label (_("Cancel"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
@@ -539,40 +540,40 @@ void DoProjectSettings ()
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (GTK_FILL), 0, 0);
 
-  button = gtk_button_new_with_label ("Add...");
+  button = gtk_button_new_with_label (_("Add..."));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (project_add), project);
   gtk_widget_set_usize (button, 60, -2);
 
-  button = gtk_button_new_with_label ("Change...");
+  button = gtk_button_new_with_label (_("Change..."));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (project_change), project);
   gtk_widget_set_usize (button, 60, -2);
 
-  button = gtk_button_new_with_label ("Remove");
+  button = gtk_button_new_with_label (_("Remove"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (project_remove), project);
   gtk_widget_set_usize (button, 60, -2);
 
-  frame = gtk_frame_new ("Misc settings");
+  frame = gtk_frame_new (_("Misc settings"));
   gtk_widget_show (frame);
   gtk_table_attach (GTK_TABLE (table1), frame, 0, 1, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (GTK_FILL), 0, 0);
 
-  brush = gtk_check_button_new_with_label ("Use brush primitives in MAP files (NOTE: experimental feature,\n"
-                                          "required by the texture tools plugin)");
+  brush = gtk_check_button_new_with_label (_("Use brush primitives in MAP files (NOTE: experimental feature,\n"
+                                          "required by the texture tools plugin)"));
   gtk_widget_show (brush);
   gtk_container_add (GTK_CONTAINER (frame), brush);
   gtk_container_set_border_width (GTK_CONTAINER (brush), 5);
 
-  frame = gtk_frame_new ("Menu commands");
+  frame = gtk_frame_new (_("Menu commands"));
   gtk_widget_show (frame);
   gtk_table_attach (GTK_TABLE (table1), frame, 0, 1, 1, 2,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
@@ -604,11 +605,11 @@ void DoProjectSettings ()
     g_object_set_data(G_OBJECT (project), "view", view);
     g_object_set_data(G_OBJECT (project), "bsp_commands", store);
     gtk_container_add(GTK_CONTAINER (scr), view);
-    
+
     g_object_unref(G_OBJECT(store));
   }
 
-  frame = gtk_frame_new ("Project settings");
+  frame = gtk_frame_new (_("Project settings"));
   gtk_widget_show (frame);
   gtk_table_attach (GTK_TABLE (table1), frame, 0, 1, 0, 1,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
@@ -617,7 +618,7 @@ void DoProjectSettings ()
   // HACK: hardcoded game stuff
   if (g_pGameDescription->mGameFile == "wolf.game" ||
     g_pGameDescription->mGameFile == "et.game" ||
-    g_pGameDescription->mGameFile == "jk2.game" || 
+    g_pGameDescription->mGameFile == "jk2.game" ||
     g_pGameDescription->mGameFile == "stvef.game" ||
     g_pGameDescription->mGameFile == "sof2.game" ||
     g_pGameDescription->mGameFile == "ja.game" )
@@ -709,7 +710,7 @@ void DoProjectSettings ()
   gtk_table_attach(GTK_TABLE(table2), game, 1, 2, 7, 8,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  
+
   /*
   wolf specific: select MP or SP mode
   */
@@ -718,7 +719,7 @@ void DoProjectSettings ()
     combo_list = NULL;
     combo_list = g_list_append (combo_list, (void *)sWolfSPCombo);
     combo_list = g_list_append (combo_list, (void *)sWolfMPCombo);
-    
+
     gamemode_combo = gtk_combo_new ();
     gtk_combo_set_popdown_strings (GTK_COMBO (gamemode_combo), combo_list);
     gtk_widget_show(gamemode_combo);
@@ -729,7 +730,7 @@ void DoProjectSettings ()
     g_list_free (combo_list);
     combo_list = NULL;
 
-    label = gtk_label_new ("Mapping mode");
+    label = gtk_label_new (_("Mapping mode"));
     gtk_widget_show (label);
     gtk_table_attach (GTK_TABLE (table2), label, 0, 1, 8, 9,
       (GtkAttachOptions) (GTK_FILL),
@@ -744,7 +745,7 @@ void DoProjectSettings ()
     combo_list = NULL;
     combo_list = g_list_append (combo_list, (void *)sJK2SPCombo);
     combo_list = g_list_append (combo_list, (void *)sJK2MPCombo);
-    
+
     gamemode_combo = gtk_combo_new ();
     gtk_combo_set_popdown_strings (GTK_COMBO (gamemode_combo), combo_list);
     gtk_widget_show(gamemode_combo);
@@ -755,7 +756,7 @@ void DoProjectSettings ()
     g_list_free (combo_list);
     combo_list = NULL;
 
-    label = gtk_label_new ("Mapping mode");
+    label = gtk_label_new (_("Mapping mode"));
     gtk_widget_show (label);
     gtk_table_attach (GTK_TABLE (table2), label, 0, 1, 8, 9,
       (GtkAttachOptions) (GTK_FILL),
@@ -769,7 +770,7 @@ void DoProjectSettings ()
     combo_list = NULL;
     combo_list = g_list_append (combo_list, (void *)sJASPCombo);
     combo_list = g_list_append (combo_list, (void *)sJAMPCombo);
-    
+
     gamemode_combo = gtk_combo_new ();
     gtk_combo_set_popdown_strings (GTK_COMBO (gamemode_combo), combo_list);
     gtk_widget_show(gamemode_combo);
@@ -780,7 +781,7 @@ void DoProjectSettings ()
     g_list_free (combo_list);
     combo_list = NULL;
 
-    label = gtk_label_new ("Mapping mode");
+    label = gtk_label_new (_("Mapping mode"));
     gtk_widget_show (label);
     gtk_table_attach (GTK_TABLE (table2), label, 0, 1, 8, 9,
       (GtkAttachOptions) (GTK_FILL),
@@ -794,7 +795,7 @@ void DoProjectSettings ()
     combo_list = NULL;
     combo_list = g_list_append (combo_list, (void *)sSTVEFSPCombo);
     combo_list = g_list_append (combo_list, (void *)sSTVEFMPCombo);
-    
+
     gamemode_combo = gtk_combo_new ();
     gtk_combo_set_popdown_strings (GTK_COMBO (gamemode_combo), combo_list);
     gtk_widget_show(gamemode_combo);
@@ -805,7 +806,7 @@ void DoProjectSettings ()
     g_list_free (combo_list);
     combo_list = NULL;
 
-    label = gtk_label_new ("Mapping mode");
+    label = gtk_label_new (_("Mapping mode"));
     gtk_widget_show (label);
     gtk_table_attach (GTK_TABLE (table2), label, 0, 1, 8, 9,
       (GtkAttachOptions) (GTK_FILL),
@@ -819,7 +820,7 @@ void DoProjectSettings ()
     combo_list = NULL;
     combo_list = g_list_append (combo_list, (void *)sSOF2SPCombo);
     combo_list = g_list_append (combo_list, (void *)sSOF2MPCombo);
-    
+
     gamemode_combo = gtk_combo_new ();
     gtk_combo_set_popdown_strings (GTK_COMBO (gamemode_combo), combo_list);
     gtk_widget_show(gamemode_combo);
@@ -830,7 +831,7 @@ void DoProjectSettings ()
     g_list_free (combo_list);
     combo_list = NULL;
 
-    label = gtk_label_new ("Mapping mode");
+    label = gtk_label_new (_("Mapping mode"));
     gtk_widget_show (label);
     gtk_table_attach (GTK_TABLE (table2), label, 0, 1, 8, 9,
       (GtkAttachOptions) (GTK_FILL),
@@ -850,7 +851,7 @@ void DoProjectSettings ()
                     (GtkAttachOptions) (0), 0, 0);
 
 
-  label = gtk_label_new ("basepath");
+  label = gtk_label_new (_("basepath"));
   gtk_widget_show (label);
   gtk_table_attach (GTK_TABLE (table2), label, 0, 1, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
@@ -858,14 +859,14 @@ void DoProjectSettings ()
   gtk_misc_set_alignment (GTK_MISC (label), 1, 0.5);
 
 
-  label = gtk_label_new ("Select mod");
+  label = gtk_label_new (_("Select mod"));
   gtk_widget_show (label);
   gtk_table_attach (GTK_TABLE (table2), label, 0, 1, 6, 7,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_misc_set_alignment (GTK_MISC (label), 1, 0.5);
 
-  label = gtk_label_new ("fs_game");
+  label = gtk_label_new (_("fs_game"));
   gtk_widget_show (label);
   gtk_table_attach (GTK_TABLE (table2), label, 0, 1, 7, 8,
                     (GtkAttachOptions) (GTK_FILL),
@@ -1117,7 +1118,7 @@ void DoProjectSettings ()
     char buf[1024];
     const char *r;
     char *w;
-               
+
     // convert path to unix format
     for(r = gtk_entry_get_text (GTK_ENTRY (base)), w=buf; *r != '\0'; r++, w++)
       *w = (*r == '\\') ? '/' : *r;
@@ -1199,7 +1200,7 @@ void DoProjectSettings ()
         SetKeyValue (g_qeglobals.d_project_entity, "gamename", dir);
       }
     }
-    
+
     // HACK: hardcoded wolf stuff
     if (g_pGameDescription->mGameFile == "wolf.game")
     {
@@ -1245,7 +1246,7 @@ void DoProjectSettings ()
         SetKeyValue (g_qeglobals.d_project_entity, "gamemode", "mp");
       }
     }
-    
+
     // RIANT
     // STVEF HACK
     if (g_pGameDescription->mGameFile == "stvef.game")
@@ -1291,8 +1292,6 @@ void DoProjectSettings ()
 
     SetKeyValue(g_qeglobals.d_project_entity, "brush_primit", (g_qeglobals.m_bBrushPrimitMode ? "1" : "0" ));
 
-//    QE_CheckProjectEntity();
-
     QE_SaveProject( g_PrefsDlg.m_strLastProject.GetBuffer() );
   }
 
@@ -1317,7 +1316,7 @@ void DoMapInfo ()
 
   load_window_pos(dlg, g_PrefsDlg.mWindowInfo.posMapInfoWnd);
 
-  gtk_window_set_title (GTK_WINDOW (dlg), "Map Info");
+  gtk_window_set_title (GTK_WINDOW (dlg), _("Map Info"));
   gtk_signal_connect (GTK_OBJECT (dlg), "delete_event",
                       GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
   gtk_signal_connect (GTK_OBJECT (dlg), "destroy",
@@ -1361,21 +1360,21 @@ void DoMapInfo ()
                     (GtkAttachOptions) (0), 0, 0);
   gtk_entry_set_editable (GTK_ENTRY (net_entry), FALSE);
 
-  label = gtk_label_new ("Total Brushes");
+  label = gtk_label_new (_("Total Brushes"));
   gtk_widget_show (label);
   gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
 
-  label = gtk_label_new ("Total Entities");
+  label = gtk_label_new (_("Total Entities"));
   gtk_widget_show (label);
   gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
 
-  label = gtk_label_new ("Net brush count\n(non entity)");
+  label = gtk_label_new (_("Net brush count\n(non entity)"));
   gtk_widget_show (label);
   gtk_table_attach (GTK_TABLE (table), label, 0, 1, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
@@ -1386,14 +1385,14 @@ void DoMapInfo ()
   gtk_widget_show (vbox2);
   gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, FALSE, 0);
 
-  button = gtk_button_new_with_label ("Close");
+  button = gtk_button_new_with_label (_("Close"));;
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox2), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
   gtk_widget_set_usize (button, 60, -2);
 
-  label = gtk_label_new ("Entity breakdown");
+  label = gtk_label_new (_("Entity breakdown"));
   gtk_widget_show (label);
   gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, TRUE, 0);
   gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
@@ -1414,14 +1413,14 @@ void DoMapInfo ()
 
     {
       GtkCellRenderer* renderer = gtk_cell_renderer_text_new();
-      GtkTreeViewColumn* column = gtk_tree_view_column_new_with_attributes("Entity", renderer, "text", 0, NULL);
+      GtkTreeViewColumn* column = gtk_tree_view_column_new_with_attributes(_("Entity"), renderer, "text", 0, NULL);
       gtk_tree_view_append_column(GTK_TREE_VIEW(view), column);
       gtk_tree_view_column_set_sort_column_id(column, 0);
     }
 
     {
       GtkCellRenderer* renderer = gtk_cell_renderer_text_new();
-      GtkTreeViewColumn* column = gtk_tree_view_column_new_with_attributes("Count", renderer, "text", 1, NULL);
+      GtkTreeViewColumn* column = gtk_tree_view_column_new_with_attributes(_("Count"), renderer, "text", 1, NULL);
       gtk_tree_view_append_column(GTK_TREE_VIEW(view), column);
       gtk_tree_view_column_set_sort_column_id(column, 1);
     }
@@ -1588,7 +1587,7 @@ void DoEntityList ()
 
   load_window_pos (dlg, g_PrefsDlg.mWindowInfo.posEntityInfoWnd);
 
-  gtk_window_set_title (GTK_WINDOW (dlg), "Entities");
+  gtk_window_set_title (GTK_WINDOW (dlg), _("Entities"));
   gtk_signal_connect (GTK_OBJECT (dlg), "delete_event",
                       GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
   gtk_signal_connect (GTK_OBJECT (dlg), "destroy",
@@ -1684,7 +1683,7 @@ void DoEntityList ()
         entitymap = g_slist_remove (entitymap, entitymap->data);
       }
     }
-    
+
     g_object_unref(G_OBJECT(store));
   }
 
@@ -1705,13 +1704,13 @@ void DoEntityList ()
 
     {
       GtkCellRenderer* renderer = gtk_cell_renderer_text_new();
-      GtkTreeViewColumn* column = gtk_tree_view_column_new_with_attributes("Key", renderer, "text", 0, NULL);
+      GtkTreeViewColumn* column = gtk_tree_view_column_new_with_attributes(_("Key"), renderer, "text", 0, NULL);
       gtk_tree_view_append_column(GTK_TREE_VIEW(view), column);
     }
 
     {
       GtkCellRenderer* renderer = gtk_cell_renderer_text_new();
-      GtkTreeViewColumn* column = gtk_tree_view_column_new_with_attributes("Value", renderer, "text", 1, NULL);
+      GtkTreeViewColumn* column = gtk_tree_view_column_new_with_attributes(_("Value"), renderer, "text", 1, NULL);
       gtk_tree_view_append_column(GTK_TREE_VIEW(view), column);
     }
 
@@ -1719,22 +1718,22 @@ void DoEntityList ()
 
     g_object_set_data(G_OBJECT(dlg), "keyvalues", store);
     gtk_container_add(GTK_CONTAINER (scr), view);
-    
+
     g_object_unref(G_OBJECT(store));
   }
 
   hbox2 = gtk_hbox_new (FALSE, 5);
   gtk_widget_show (hbox2);
   gtk_box_pack_start (GTK_BOX (vbox), hbox2, TRUE, TRUE, 0);
-  
-  button = gtk_button_new_with_label ("Select");
+
+  button = gtk_button_new_with_label (_("Select"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (hbox2), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (entitylist_select), dlg);
   gtk_widget_set_usize (button, 60, -2);
 
-  button = gtk_button_new_with_label ("Close");
+  button = gtk_button_new_with_label (_("Close"));;
   gtk_widget_show (button);
   gtk_box_pack_end (GTK_BOX (hbox2), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
@@ -1768,13 +1767,13 @@ static void rotatedlg_apply (GtkWidget *widget, gpointer data)
   if (f != 0.0)
     Select_RotateAxis(0,f);
   gtk_spin_button_set_value (GTK_SPIN_BUTTON (spin), 0.0f); // reset to 0 on Apply
-  
+
   spin = GTK_SPIN_BUTTON (g_object_get_data (G_OBJECT (data), "y"));
   f = gtk_spin_button_get_value_as_float (spin);
   if (f != 0.0)
     Select_RotateAxis(1,f);
   gtk_spin_button_set_value (GTK_SPIN_BUTTON (spin), 0.0f);
-  
+
   spin = GTK_SPIN_BUTTON (g_object_get_data (G_OBJECT (data), "z"));
   f = gtk_spin_button_get_value_as_float (spin);
   if (f != 0.0)
@@ -1790,7 +1789,7 @@ void DoRotateDlg ()
   int loop = 1, ret = IDCANCEL;
 
   dlg = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (dlg), "Arbitrary rotation");
+  gtk_window_set_title (GTK_WINDOW (dlg), _("Arbitrary rotation"));
   gtk_signal_connect (GTK_OBJECT (dlg), "delete_event",
                       GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
   gtk_signal_connect (GTK_OBJECT (dlg), "destroy",
@@ -1802,32 +1801,32 @@ void DoRotateDlg ()
   gtk_widget_show (hbox);
   gtk_container_add (GTK_CONTAINER (dlg), hbox);
   gtk_container_set_border_width (GTK_CONTAINER (hbox), 5);
+
   table = gtk_table_new (3, 2, FALSE);
   gtk_widget_show (table);
   gtk_box_pack_start (GTK_BOX (hbox), table, TRUE, TRUE, 0);
   gtk_table_set_row_spacings (GTK_TABLE (table), 5);
   gtk_table_set_col_spacings (GTK_TABLE (table), 5);
-  label = gtk_label_new ("  X  ");
+
+  label = gtk_label_new (_("  X  "));
   gtk_widget_show (label);
   gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1,
                     (GtkAttachOptions) (0),
                     (GtkAttachOptions) (0), 0, 0);
 
-  label = gtk_label_new ("  Y  ");
+  label = gtk_label_new (_("  Y  "));
   gtk_widget_show (label);
   gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2,
                     (GtkAttachOptions) (0),
                     (GtkAttachOptions) (0), 0, 0);
-  label = gtk_label_new ("  Z  ");
+
+  label = gtk_label_new (_("  Z  "));
 
   gtk_widget_show (label);
   gtk_table_attach (GTK_TABLE (table), label, 0, 1, 2, 3,
                     (GtkAttachOptions) (0),
                     (GtkAttachOptions) (0), 0, 0);
+
   adj = gtk_adjustment_new (0, -359, 359, 1, 10, 10);
   x = gtk_spin_button_new (GTK_ADJUSTMENT (adj), 1, 0);
   g_object_set_data (G_OBJECT (dlg), "x", x);
@@ -1837,7 +1836,7 @@ void DoRotateDlg ()
                     (GtkAttachOptions) (0), 0, 0);
   gtk_widget_set_usize (x, 60, -2);
   gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (x), TRUE);
+
   adj = gtk_adjustment_new (0, -359, 359, 1, 10, 10);
   y = gtk_spin_button_new (GTK_ADJUSTMENT (adj), 1, 0);
   g_object_set_data (G_OBJECT (dlg), "y", y);
@@ -1846,7 +1845,7 @@ void DoRotateDlg ()
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (y), TRUE);
+
   adj = gtk_adjustment_new (0, -359, 359, 1, 10, 10);
   z = gtk_spin_button_new (GTK_ADJUSTMENT (adj), 1, 0);
   g_object_set_data (G_OBJECT (dlg), "z", z);
@@ -1855,25 +1854,25 @@ void DoRotateDlg ()
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (z), TRUE);
+
   vbox = gtk_vbox_new (FALSE, 5);
   gtk_widget_show (vbox);
   gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0);
-  button = gtk_button_new_with_label ("OK");
+
+  button = gtk_button_new_with_label (_("OK"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
   gtk_widget_set_usize (button, 60, -2);
-  button = gtk_button_new_with_label ("Cancel");
+
+  button = gtk_button_new_with_label (_("Cancel"));;
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDCANCEL));
-  button = gtk_button_new_with_label ("Apply");
+
+  button = gtk_button_new_with_label (_("Apply"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
@@ -1901,7 +1900,7 @@ void DoGamma ()
   int loop = 1, ret = IDCANCEL;
 
   dlg = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (dlg), "Gamma");
+  gtk_window_set_title (GTK_WINDOW (dlg), _("Gamma"));
   gtk_signal_connect (GTK_OBJECT (dlg), "delete_event",
                       GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
   gtk_signal_connect (GTK_OBJECT (dlg), "destroy",
@@ -1922,11 +1921,11 @@ void DoGamma ()
   gtk_widget_show (entry);
   gtk_box_pack_start (GTK_BOX (vbox), entry, TRUE, TRUE, 0);
 
-  label = gtk_label_new ("0.0 is brightest\n1.0 is darkest");
+  label = gtk_label_new (_("0.0 is brightest\n1.0 is darkest"));
   gtk_widget_show (label);
   gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE, 0);
 
-  label = gtk_label_new ("You must restart for the\nsettings to take effect");
+  label = gtk_label_new (_("You must restart for the\nsettings to take effect"));
   gtk_widget_show (label);
   gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE, 0);
 
@@ -1934,14 +1933,14 @@ void DoGamma ()
   gtk_widget_show (vbox);
   gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0);
 
-  button = gtk_button_new_with_label ("OK");
+  button = gtk_button_new_with_label (_("OK"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
   gtk_widget_set_usize (button, 60, -2);
-  button = gtk_button_new_with_label ("Cancel");
+
+  button = gtk_button_new_with_label (_("Cancel"));;
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
@@ -1999,7 +1998,6 @@ void SelectBrush (int entitynum, int brushnum)
   brush_t *b;
   int i;
 
-  // http://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=503
   // making this work when regioning is on too
 
   if (entitynum == 0)
@@ -2029,7 +2027,7 @@ void SelectBrush (int entitynum, int brushnum)
           if (b==&active_brushes)
           {
             // this is a regioned out entity
-            e = e->next;        
+            e = e->next;
             // don't walk past the end either
             if (e == &entities)
             {
@@ -2080,7 +2078,7 @@ void SelectBrush (int entitynum, int brushnum)
 
     if (g_pParentWnd->GetXZWnd())
       g_pParentWnd->GetXZWnd()->GetOrigin()[i] = (b->mins[i] + b->maxs[i])/2;
-    
+
     if (g_pParentWnd->GetYZWnd())
       g_pParentWnd->GetYZWnd()->GetOrigin()[i] = (b->mins[i] + b->maxs[i])/2;
   }
@@ -2118,7 +2116,7 @@ void DoFind ()
   int loop = 1, ret = IDCANCEL;
 
   dlg = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (dlg), "Find Brush");
+  gtk_window_set_title (GTK_WINDOW (dlg), _("Find Brush"));
   gtk_signal_connect (GTK_OBJECT (dlg), "delete_event",
                       GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
   gtk_signal_connect (GTK_OBJECT (dlg), "destroy",
@@ -2136,14 +2134,14 @@ void DoFind ()
   gtk_box_pack_start (GTK_BOX (vbox), table, TRUE, TRUE, 0);
   gtk_table_set_row_spacings (GTK_TABLE (table), 5);
   gtk_table_set_col_spacings (GTK_TABLE (table), 5);
-  label = gtk_label_new ("Entity number");
+
+  label = gtk_label_new (_("Entity number"));
   gtk_widget_show (label);
   gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1,
                     (GtkAttachOptions) (0),
                     (GtkAttachOptions) (0), 0, 0);
 
-  label = gtk_label_new ("Brush number");
+  label = gtk_label_new (_("Brush number"));
   gtk_widget_show (label);
   gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2,
                     (GtkAttachOptions) (0),
@@ -2165,14 +2163,14 @@ void DoFind ()
   gtk_widget_show (hbox);
   gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
 
-  button = gtk_button_new_with_label ("OK");
+  button = gtk_button_new_with_label (_("OK"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
   gtk_widget_set_usize (button, 60, -2);
-  button = gtk_button_new_with_label ("Cancel");
+
+  button = gtk_button_new_with_label (_("Cancel"));;
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
@@ -2214,7 +2212,7 @@ void DoSides (bool bCone, bool bSphere, bool bTorus)
   int loop = 1, ret = IDCANCEL;
 
   dlg = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (dlg), "Arbitrary sides");
+  gtk_window_set_title (GTK_WINDOW (dlg), _("Arbitrary sides"));
   gtk_signal_connect (GTK_OBJECT (dlg), "delete_event",
                       GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
   gtk_signal_connect (GTK_OBJECT (dlg), "destroy",
@@ -2227,7 +2225,7 @@ void DoSides (bool bCone, bool bSphere, bool bTorus)
   gtk_container_add (GTK_CONTAINER (dlg), hbox);
   gtk_container_set_border_width (GTK_CONTAINER (hbox), 5);
 
-  label = gtk_label_new ("Sides:");
+  label = gtk_label_new (_("Sides:"));
   gtk_widget_show (label);
   gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
 
@@ -2239,14 +2237,14 @@ void DoSides (bool bCone, bool bSphere, bool bTorus)
   gtk_widget_show (vbox);
   gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, TRUE, 0);
 
-  button = gtk_button_new_with_label ("OK");
+  button = gtk_button_new_with_label (_("OK"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
   gtk_widget_set_usize (button, 60, -2);
-  button = gtk_button_new_with_label ("Cancel");
+
+  button = gtk_button_new_with_label (_("Cancel"));;
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
@@ -2285,7 +2283,7 @@ void DoNewPatchDlg ()
   int loop = 1, ret = IDCANCEL;
 
   dlg = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (dlg), "Patch density");
+  gtk_window_set_title (GTK_WINDOW (dlg), _("Patch density"));
   gtk_signal_connect (GTK_OBJECT (dlg), "delete_event",
                       GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
   gtk_signal_connect (GTK_OBJECT (dlg), "destroy",
@@ -2303,28 +2301,28 @@ void DoNewPatchDlg ()
   gtk_box_pack_start (GTK_BOX (hbox), table, TRUE, TRUE, 0);
   gtk_table_set_row_spacings (GTK_TABLE (table), 5);
   gtk_table_set_col_spacings (GTK_TABLE (table), 5);
-  label = gtk_label_new ("Width:");
+
+  label = gtk_label_new (_("Width:"));
   gtk_widget_show (label);
   gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
 
-  label = gtk_label_new ("Height:");
+  label = gtk_label_new (_("Height:"));
   gtk_widget_show (label);
   gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
 
-  combo_list = g_list_append (combo_list, (void *)"3");
-  combo_list = g_list_append (combo_list, (void *)"5");
-  combo_list = g_list_append (combo_list, (void *)"7");
-  combo_list = g_list_append (combo_list, (void *)"9");
-  combo_list = g_list_append (combo_list, (void *)"11");
-  combo_list = g_list_append (combo_list, (void *)"13");
-  combo_list = g_list_append (combo_list, (void *)"15");
+  combo_list = g_list_append (combo_list, (void *)_("3"));
+  combo_list = g_list_append (combo_list, (void *)_("5"));
+  combo_list = g_list_append (combo_list, (void *)_("7"));
+  combo_list = g_list_append (combo_list, (void *)_("9"));
+  combo_list = g_list_append (combo_list, (void *)_("11"));
+  combo_list = g_list_append (combo_list, (void *)_("13"));
+  combo_list = g_list_append (combo_list, (void *)_("15"));
 
   combo = gtk_combo_new ();
   width = GTK_COMBO (combo)->entry;
@@ -2346,14 +2344,14 @@ void DoNewPatchDlg ()
   gtk_widget_show (vbox);
   gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0);
 
-  button = gtk_button_new_with_label ("OK");
+  button = gtk_button_new_with_label (_("OK"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
   gtk_widget_set_usize (button, 60, -2);
-  button = gtk_button_new_with_label ("Cancel");
+
+  button = gtk_button_new_with_label (_("Cancel"));;
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
@@ -2361,9 +2359,9 @@ void DoNewPatchDlg ()
 
   // Initialize dialog
   g_list_free (combo_list);
-  gtk_entry_set_text (GTK_ENTRY (width), "3");
+  gtk_entry_set_text (GTK_ENTRY (width), _("3"));
   gtk_entry_set_editable (GTK_ENTRY (width), FALSE);
-  gtk_entry_set_text (GTK_ENTRY (height), "3");
+  gtk_entry_set_text (GTK_ENTRY (height), _("3"));
   gtk_entry_set_editable (GTK_ENTRY (height), FALSE);
 
   gtk_grab_add (dlg);
@@ -2395,7 +2393,7 @@ void DoScaleDlg ()
   int loop = 1, ret = IDCANCEL;
 
   dlg = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (dlg), "Scale");
+  gtk_window_set_title (GTK_WINDOW (dlg), _("Scale"));
   gtk_signal_connect (GTK_OBJECT (dlg), "delete_event",
                       GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
   gtk_signal_connect (GTK_OBJECT (dlg), "destroy",
@@ -2413,22 +2411,22 @@ void DoScaleDlg ()
   gtk_box_pack_start (GTK_BOX (hbox), table, TRUE, TRUE, 0);
   gtk_table_set_row_spacings (GTK_TABLE (table), 5);
   gtk_table_set_col_spacings (GTK_TABLE (table), 5);
-  label = gtk_label_new ("X:");
+
+  label = gtk_label_new (_("X:"));
   gtk_widget_show (label);
   gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
 
-  label = gtk_label_new ("Y:");
+  label = gtk_label_new (_("Y:"));
   gtk_widget_show (label);
   gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
 
-  label = gtk_label_new ("Z:");
+  label = gtk_label_new (_("Z:"));
   gtk_widget_show (label);
   gtk_table_attach (GTK_TABLE (table), label, 0, 1, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
@@ -2457,23 +2455,23 @@ void DoScaleDlg ()
   gtk_widget_show (vbox);
   gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0);
 
-  button = gtk_button_new_with_label ("OK");
+  button = gtk_button_new_with_label (_("OK"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
   gtk_widget_set_usize (button, 60, -2);
-  button = gtk_button_new_with_label ("Cancel");
+
+  button = gtk_button_new_with_label (_("Cancel"));;
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDCANCEL));
 
   // Initialize dialog
-  gtk_entry_set_text (GTK_ENTRY (x), "1.0");
-  gtk_entry_set_text (GTK_ENTRY (y), "1.0");
-  gtk_entry_set_text (GTK_ENTRY (z), "1.0");
+  gtk_entry_set_text (GTK_ENTRY (x), _("1.0"));
+  gtk_entry_set_text (GTK_ENTRY (y), _("1.0"));
+  gtk_entry_set_text (GTK_ENTRY (z), _("1.0"));
 
   gtk_grab_add (dlg);
   gtk_widget_show (dlg);
@@ -2512,7 +2510,7 @@ void DoThickenDlg ()
   static qboolean bGroupResult = true;
 
   dlg = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (dlg), "Thicken Patch");
+  gtk_window_set_title (GTK_WINDOW (dlg), _("Thicken Patch"));
   gtk_signal_connect (GTK_OBJECT (dlg), "delete_event",
                       GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
   gtk_signal_connect (GTK_OBJECT (dlg), "destroy",
@@ -2529,9 +2527,9 @@ void DoThickenDlg ()
   gtk_widget_show (hbox);
   gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
 
-  label = gtk_label_new ("This produces a set of patches\n"
+  label = gtk_label_new (_("This produces a set of patches\n"
                         "that contains the original patch along with the\n"
-                        "'thick' patch and an optimal set of seam patches.");
+                        "'thick' patch and an optimal set of seam patches."));
   gtk_widget_show (label);
   gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
 
@@ -2539,14 +2537,14 @@ void DoThickenDlg ()
   gtk_widget_show (vbox2);
   gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, TRUE, 0);
 
-  button = gtk_button_new_with_label ("OK");
+  button = gtk_button_new_with_label (_("OK"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox2), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
   gtk_widget_set_usize (button, 60, -2);
-  button = gtk_button_new_with_label ("Cancel");
+
+  button = gtk_button_new_with_label (_("Cancel"));;
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox2), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
@@ -2556,7 +2554,7 @@ void DoThickenDlg ()
   gtk_widget_show (hbox);
   gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
 
-  label = gtk_label_new ("Amount:");
+  label = gtk_label_new (_("Amount:"));
   gtk_widget_show (label);
   gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
 
@@ -2564,16 +2562,16 @@ void DoThickenDlg ()
   gtk_widget_show (amount);
   gtk_box_pack_start (GTK_BOX (hbox), amount, FALSE, FALSE, 0);
 
-  seams = gtk_check_button_new_with_label ("Seams");
+  seams = gtk_check_button_new_with_label (_("Seams"));
   gtk_widget_show (seams);
   gtk_box_pack_start (GTK_BOX (hbox), seams, FALSE, FALSE, 0);
-  
+
   // bGroupResult
-  group = gtk_check_button_new_with_label("Result to func_group");
+  group = gtk_check_button_new_with_label(_("Result to func_group"));
   gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(group), bGroupResult);
   gtk_box_pack_start(GTK_BOX(vbox), group, FALSE, FALSE, 0);
   gtk_widget_show(group);
-  
+
 
   // Initialize dialog
   gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (seams), TRUE);
@@ -2625,7 +2623,7 @@ void DoAbout ()
   int loop = 1, ret = IDCANCEL;
 
   dlg = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (dlg), "About GtkRadiant");
+  gtk_window_set_title (GTK_WINDOW (dlg), _("About GtkRadiant"));
   gtk_signal_connect (GTK_OBJECT (dlg), "delete_event",
                       GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
   gtk_signal_connect (GTK_OBJECT (dlg), "destroy",
@@ -2646,7 +2644,7 @@ void DoAbout ()
   gtk_widget_show (vbox2);
   gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, FALSE, 0);
 
-  frame = gtk_frame_new ((char*)NULL);
+  frame = gtk_frame_new (NULL);
   gtk_widget_show (frame);
   gtk_box_pack_start (GTK_BOX (vbox2), frame, FALSE, FALSE, 0);
   gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
@@ -2666,7 +2664,7 @@ void DoAbout ()
     "you may report your problems at\n"
     "http://zerowing.idsoftware.com/bugzilla"
   );
-                         
+
   gtk_widget_show (label);
   gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
   gtk_misc_set_alignment (GTK_MISC (label), 1, 0.5);
@@ -2676,25 +2674,25 @@ void DoAbout ()
   gtk_widget_show (vbox2);
   gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, TRUE, 0);
 
-  button = gtk_button_new_with_label ("OK");
+  button = gtk_button_new_with_label (_("OK"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox2), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
 
-  button = gtk_button_new_with_label ("Credits");
+  button = gtk_button_new_with_label (_("Credits"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox2), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (about_button_credits), NULL);
 
-  button = gtk_button_new_with_label ("Changelog");
+  button = gtk_button_new_with_label (_("Changelog"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox2), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (about_button_changelog), NULL);
 
-  frame = gtk_frame_new ("OpenGL Properties");
+  frame = gtk_frame_new (_("OpenGL Properties"));
   gtk_widget_show (frame);
   gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
 
@@ -2704,22 +2702,22 @@ void DoAbout ()
   gtk_table_set_row_spacings (GTK_TABLE (table), 5);
   gtk_table_set_col_spacings (GTK_TABLE (table), 5);
   gtk_container_set_border_width (GTK_CONTAINER (table), 5);
-  label = gtk_label_new ("Vendor:");
+
+  label = gtk_label_new (_("Vendor:"));
   gtk_widget_show (label);
   gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
 
-  label = gtk_label_new ("Version:");
+  label = gtk_label_new (_("Version:"));
   gtk_widget_show (label);
   gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
 
-  label = gtk_label_new ("Renderer:");
+  label = gtk_label_new (_("Renderer:"));
   gtk_widget_show (label);
   gtk_table_attach (GTK_TABLE (table), label, 0, 1, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
@@ -2747,7 +2745,7 @@ void DoAbout ()
                     (GtkAttachOptions) (0), 0, 0);
   gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
 
-  frame = gtk_frame_new ("OpenGL Extensions");
+  frame = gtk_frame_new (_("OpenGL Extensions"));
   gtk_widget_show (frame);
   gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
 
@@ -2761,15 +2759,15 @@ void DoAbout ()
   gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sc_extensions), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
   gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sc_extensions), GTK_SHADOW_IN);
   gtk_widget_show(sc_extensions);
-       
+
   text_extensions = gtk_text_view_new();
   gtk_text_view_set_editable(GTK_TEXT_VIEW(text_extensions), FALSE);
   gtk_container_add (GTK_CONTAINER (sc_extensions), text_extensions);
   GtkTextBuffer* buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_extensions));
   gtk_text_buffer_set_text(buffer, (char *)qglGetString(GL_EXTENSIONS), -1);
   gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(text_extensions), GTK_WRAP_WORD);;
-  gtk_widget_show(text_extensions);    
-       
+  gtk_widget_show(text_extensions);
+
   gtk_grab_add (dlg);
   gtk_widget_show (dlg);
 
@@ -2781,7 +2779,7 @@ void DoAbout ()
 }
 
 // =============================================================================
-// Command List dialog 
+// Command List dialog
 
 void DoCommandListDlg ()
 {
@@ -2789,7 +2787,7 @@ void DoCommandListDlg ()
   int loop = 1, ret = IDCANCEL;
 
   dlg = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (dlg), "Mapped Commands");
+  gtk_window_set_title (GTK_WINDOW (dlg), _("Mapped Commands"));
   gtk_signal_connect (GTK_OBJECT (dlg), "delete_event",
                       GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
   gtk_signal_connect (GTK_OBJECT (dlg), "destroy",
@@ -2816,13 +2814,13 @@ void DoCommandListDlg ()
 
     {
       GtkCellRenderer* renderer = gtk_cell_renderer_text_new();
-      GtkTreeViewColumn* column = gtk_tree_view_column_new_with_attributes("Command", renderer, "text", 0, NULL);
+      GtkTreeViewColumn* column = gtk_tree_view_column_new_with_attributes(_("Command"), renderer, "text", 0, NULL);
       gtk_tree_view_append_column(GTK_TREE_VIEW(view), column);
     }
 
     {
       GtkCellRenderer* renderer = gtk_cell_renderer_text_new();
-      GtkTreeViewColumn* column = gtk_tree_view_column_new_with_attributes("Key", renderer, "text", 1, NULL);
+      GtkTreeViewColumn* column = gtk_tree_view_column_new_with_attributes(_("Key"), renderer, "text", 1, NULL);
       gtk_tree_view_append_column(GTK_TREE_VIEW(view), column);
     }
 
@@ -2878,7 +2876,7 @@ void DoCommandListDlg ()
           gtk_list_store_append(store, &iter);
           gtk_list_store_set(store, &iter, 0, g_Commands[n].m_strCommand, 1, strMod.GetBuffer (), -1);
         }
+
         if (fileout != NULL)
         {
           strLine.Format("%-25s %s\r\n", g_Commands[n].m_strCommand, strMod.GetBuffer ());
@@ -2891,7 +2889,7 @@ void DoCommandListDlg ()
       if (fileout != NULL)
         fclose (fileout);
     }
-    
+
     g_object_unref(G_OBJECT(store));
   }
 
@@ -2899,7 +2897,7 @@ void DoCommandListDlg ()
   gtk_widget_show (vbox);
   gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0);
 
-  button = gtk_button_new_with_label ("Close");
+  button = gtk_button_new_with_label (_("Close"));;
   gtk_widget_show (button);
   gtk_box_pack_end (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
@@ -2917,7 +2915,7 @@ void DoCommandListDlg ()
 }
 
 // =============================================================================
-// Texture List dialog 
+// Texture List dialog
 
 void DoTextureListDlg ()
 {
@@ -2925,7 +2923,7 @@ void DoTextureListDlg ()
   int loop = 1, ret = IDCANCEL;
 
   dlg = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (dlg), "Textures");
+  gtk_window_set_title (GTK_WINDOW (dlg), _("Textures"));
   gtk_signal_connect (GTK_OBJECT (dlg), "delete_event",
                       GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
   gtk_signal_connect (GTK_OBJECT (dlg), "destroy",
@@ -2951,7 +2949,7 @@ void DoTextureListDlg ()
     GtkListStore* store = gtk_list_store_new(1, G_TYPE_STRING);
 
     GtkWidget* view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store));
-    gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(view), FALSE); 
+    gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(view), FALSE);
 
     {
       GtkCellRenderer* renderer = gtk_cell_renderer_text_new();
@@ -2977,7 +2975,7 @@ void DoTextureListDlg ()
         textures = g_slist_remove (textures, textures->data);
       }
     }
-    
+
     g_object_unref(G_OBJECT(store));
 
     texture_list = view;
@@ -2987,14 +2985,14 @@ void DoTextureListDlg ()
   gtk_widget_show (vbox);
   gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0);
 
-  button = gtk_button_new_with_label ("Load");
+  button = gtk_button_new_with_label (_("Load"));;
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
   gtk_widget_set_usize (button, 60, -2);
 
-  button = gtk_button_new_with_label ("Close");
+  button = gtk_button_new_with_label (_("Close"));;
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
@@ -3027,7 +3025,7 @@ void DoTextureListDlg ()
 }
 
 // =============================================================================
-// Cap dialog 
+// Cap dialog
 
 int DoCapDlg (int *type, bool *b_GroupResult)
 {
@@ -3035,9 +3033,9 @@ int DoCapDlg (int *type, bool *b_GroupResult)
   GtkWidget *bevel, *endcap, *ibevel, *iendcap;
   GSList *group = (GSList*)NULL;
        int loop = 1, ret = IDCANCEL;
-       
+
   dlg = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (dlg), "Cap");
+  gtk_window_set_title (GTK_WINDOW (dlg), _("Cap"));
   gtk_signal_connect (GTK_OBJECT (dlg), "delete_event",
                       GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
   gtk_signal_connect (GTK_OBJECT (dlg), "destroy",
@@ -3054,13 +3052,13 @@ int DoCapDlg (int *type, bool *b_GroupResult)
   radio_vbox = gtk_vbox_new(FALSE, 4);
   gtk_container_add(GTK_CONTAINER(hbox), radio_vbox);
   gtk_widget_show(radio_vbox);
-               
+
   table = gtk_table_new (4, 2, FALSE);
   gtk_widget_show (table);
   gtk_box_pack_start (GTK_BOX (radio_vbox), table, TRUE, TRUE, 0);
   gtk_table_set_row_spacings (GTK_TABLE (table), 5);
   gtk_table_set_col_spacings (GTK_TABLE (table), 5);
+
   pixmap = new_pixmap (g_pParentWnd->m_pWidget, "cap_bevel.bmp");
   gtk_widget_show (pixmap);
   gtk_table_attach (GTK_TABLE (table), pixmap, 0, 1, 0, 1,
@@ -3085,28 +3083,28 @@ int DoCapDlg (int *type, bool *b_GroupResult)
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
 
-  bevel = gtk_radio_button_new_with_label (group, "Bevel");
+  bevel = gtk_radio_button_new_with_label (group, _("Bevel"));
   gtk_widget_show (bevel);
   gtk_table_attach (GTK_TABLE (table), bevel, 1, 2, 0, 1,
                     (GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
                     (GtkAttachOptions) (0), 0, 0);
   group = gtk_radio_button_group (GTK_RADIO_BUTTON (bevel));
 
-  endcap = gtk_radio_button_new_with_label (group, "Endcap");
+  endcap = gtk_radio_button_new_with_label (group, _("Endcap"));
   gtk_widget_show (endcap);
   gtk_table_attach (GTK_TABLE (table), endcap, 1, 2, 1, 2,
                     (GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
                     (GtkAttachOptions) (0), 0, 0);
   group = gtk_radio_button_group (GTK_RADIO_BUTTON (endcap));
 
-  ibevel = gtk_radio_button_new_with_label (group, "Inverted Bevel");
+  ibevel = gtk_radio_button_new_with_label (group, _("Inverted Bevel"));
   gtk_widget_show (ibevel);
   gtk_table_attach (GTK_TABLE (table), ibevel, 1, 2, 2, 3,
                     (GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
                     (GtkAttachOptions) (0), 0, 0);
   group = gtk_radio_button_group (GTK_RADIO_BUTTON (ibevel));
 
-  iendcap = gtk_radio_button_new_with_label (group, "Inverted Endcap");
+  iendcap = gtk_radio_button_new_with_label (group, _("Inverted Endcap"));
   gtk_widget_show (iendcap);
   gtk_table_attach (GTK_TABLE (table), iendcap, 1, 2, 3, 4,
                     (GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
@@ -3114,22 +3112,22 @@ int DoCapDlg (int *type, bool *b_GroupResult)
   group = gtk_radio_button_group (GTK_RADIO_BUTTON (iendcap));
 
   // Gef: added radio toggle for func_grouping capped patches
-  group_toggle = gtk_check_button_new_with_label("Result to func_group");
+  group_toggle = gtk_check_button_new_with_label(_("Result to func_group"));
   gtk_container_add(GTK_CONTAINER(radio_vbox), group_toggle);
   gtk_widget_show(group_toggle);
-       
+
   vbox = gtk_vbox_new (FALSE, 5);
   gtk_widget_show (vbox);
   gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0);
 
-  button = gtk_button_new_with_label ("OK");
+  button = gtk_button_new_with_label (_("OK"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
   gtk_widget_set_usize (button, 60, -2);
 
-  button = gtk_button_new_with_label ("Cancel");
+  button = gtk_button_new_with_label (_("Cancel"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
@@ -3138,7 +3136,7 @@ int DoCapDlg (int *type, bool *b_GroupResult)
 
   // Gef: Set the state of the func_group toggle
   gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (group_toggle), *b_GroupResult);
-       
+
   // Initialize dialog
   gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (bevel), TRUE);
 
@@ -3160,7 +3158,7 @@ int DoCapDlg (int *type, bool *b_GroupResult)
       *type = IENDCAP; // *type = CapDialog::IENDCAP;
 
     // Gef: Added toggle for optional cap func_grouping
-    *b_GroupResult = (bool *)gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(group_toggle));
+    *b_GroupResult = (bool)gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(group_toggle));
   }
 
   gtk_grab_remove (dlg);
@@ -3170,7 +3168,7 @@ int DoCapDlg (int *type, bool *b_GroupResult)
 }
 
 // =============================================================================
-// Scripts dialog 
+// Scripts dialog
 
 void DoScriptsDlg ()
 {
@@ -3178,7 +3176,7 @@ void DoScriptsDlg ()
   int loop = 1, ret = IDCANCEL;
 
   dlg = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (dlg), "Available Scripts - Not Implemented Yet");
+  gtk_window_set_title (GTK_WINDOW (dlg), _("Available Scripts - Not Implemented Yet"));
   gtk_signal_connect (GTK_OBJECT (dlg), "delete_event",
                       GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
   gtk_signal_connect (GTK_OBJECT (dlg), "destroy",
@@ -3191,10 +3189,10 @@ void DoScriptsDlg ()
   gtk_container_add (GTK_CONTAINER (dlg), vbox);
   gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
 
-  label = gtk_label_new ("WARNING: BrushScripting is in a highly experimental state and is\n"
+  label = gtk_label_new (_("WARNING: BrushScripting is in a highly experimental state and is\n"
                         "far from complete. If you attempt to use them it is VERY LIKELY\n"
                         "that Radiant will crash. Save your work before attempting to\n"
-                        "make use of any scripting features.");
+                        "make use of any scripting features."));
   gtk_widget_show (label);
   gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
   gtk_misc_set_alignment (GTK_MISC (label), 1, 0.5);
@@ -3216,7 +3214,7 @@ void DoScriptsDlg ()
     GtkListStore* store = gtk_list_store_new(1, G_TYPE_STRING);
 
     GtkWidget* view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store));
-    gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(view), FALSE); 
+    gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(view), FALSE);
 
     {
       GtkCellRenderer* renderer = gtk_cell_renderer_text_new();
@@ -3257,7 +3255,7 @@ void DoScriptsDlg ()
         fclose (f);
       }
     }
-    
+
     g_object_unref(G_OBJECT(store));
 
     scripts_list = view;
@@ -3267,26 +3265,26 @@ void DoScriptsDlg ()
   gtk_widget_show (vbox2);
   gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, FALSE, 0);
 
-  button = gtk_button_new_with_label ("Run");
+  button = gtk_button_new_with_label (_("Run"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox2), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
   gtk_widget_set_usize (button, 60, -2);
 
-  button = gtk_button_new_with_label ("New...");
+  button = gtk_button_new_with_label (_("New..."));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox2), button, FALSE, FALSE, 0);
   gtk_widget_set_sensitive (button, FALSE);
   gtk_widget_set_usize (button, 60, -2);
 
-  button = gtk_button_new_with_label ("Edit...");
+  button = gtk_button_new_with_label (_("Edit..."));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox2), button, FALSE, FALSE, 0);
   gtk_widget_set_sensitive (button, FALSE);
   gtk_widget_set_usize (button, 60, -2);
 
-  button = gtk_button_new_with_label ("Close");
+  button = gtk_button_new_with_label (_("Close"));
   gtk_widget_show (button);
   gtk_box_pack_end (GTK_BOX (vbox2), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
@@ -3319,7 +3317,7 @@ void DoScriptsDlg ()
 }
 
 // =============================================================================
-//  dialog 
+//  dialog
 
 int DoBSInputDlg (const char *fields[5], float values[5])
 {
@@ -3328,7 +3326,7 @@ int DoBSInputDlg (const char *fields[5], float values[5])
   int i, loop = 1, ret = IDCANCEL;
 
   dlg = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (dlg), "BrushScript Input");
+  gtk_window_set_title (GTK_WINDOW (dlg), _("BrushScript Input"));
   gtk_signal_connect (GTK_OBJECT (dlg), "delete_event",
                       GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
   gtk_signal_connect (GTK_OBJECT (dlg), "destroy",
@@ -3370,14 +3368,14 @@ int DoBSInputDlg (const char *fields[5], float values[5])
   gtk_widget_show (vbox);
   gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0);
 
-  button = gtk_button_new_with_label ("OK");
+  button = gtk_button_new_with_label (_("OK"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
   gtk_widget_set_usize (button, 60, -2);
 
-  button = gtk_button_new_with_label ("Cancel");
+  button = gtk_button_new_with_label (_("Cancel"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
@@ -3405,7 +3403,7 @@ int DoBSInputDlg (const char *fields[5], float values[5])
 }
 
 // =============================================================================
-// TextureLayout dialog 
+// TextureLayout dialog
 
 int DoTextureLayout (float *fx, float *fy)
 {
@@ -3414,7 +3412,7 @@ int DoTextureLayout (float *fx, float *fy)
   int loop = 1, ret = IDCANCEL;
 
   dlg = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (dlg), "Patch texture layout");
+  gtk_window_set_title (GTK_WINDOW (dlg), _("Patch texture layout"));
   gtk_signal_connect (GTK_OBJECT (dlg), "delete_event",
                       GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
   gtk_signal_connect (GTK_OBJECT (dlg), "destroy",
@@ -3431,10 +3429,10 @@ int DoTextureLayout (float *fx, float *fy)
   gtk_widget_show (vbox);
   gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0);
 
-  label = gtk_label_new ("Texture will be fit across the patch based\n"
+  label = gtk_label_new (_("Texture will be fit across the patch based\n"
                         "on the x and y values given. Values of 1x1\n"
                         "will \"fit\" the texture. 2x2 will repeat\n"
-                        "it twice, etc.");
+                        "it twice, etc."));
   gtk_widget_show (label);
   gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE, 0);
   gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
@@ -3444,15 +3442,15 @@ int DoTextureLayout (float *fx, float *fy)
   gtk_box_pack_start (GTK_BOX (vbox), table, TRUE, TRUE, 0);
   gtk_table_set_row_spacings (GTK_TABLE (table), 5);
   gtk_table_set_col_spacings (GTK_TABLE (table), 5);
-  label = gtk_label_new ("Texture x:");
+
+  label = gtk_label_new (_("Texture x:"));
   gtk_widget_show (label);
   gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
 
-  label = gtk_label_new ("Texture y:");
+  label = gtk_label_new (_("Texture y:"));
   gtk_widget_show (label);
   gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
@@ -3475,14 +3473,14 @@ int DoTextureLayout (float *fx, float *fy)
   gtk_widget_show (vbox);
   gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0);
 
-  button = gtk_button_new_with_label ("OK");
+  button = gtk_button_new_with_label (_("OK"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
   gtk_widget_set_usize (button, 60, -2);
 
-  button = gtk_button_new_with_label ("Cancel");
+  button = gtk_button_new_with_label (_("Cancel"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
@@ -3490,8 +3488,8 @@ int DoTextureLayout (float *fx, float *fy)
   gtk_widget_set_usize (button, 60, -2);
 
   // Initialize
-  gtk_entry_set_text (GTK_ENTRY (x), "4.0");
-  gtk_entry_set_text (GTK_ENTRY (y), "4.0");
+  gtk_entry_set_text (GTK_ENTRY (x), _("4.0"));
+  gtk_entry_set_text (GTK_ENTRY (y), _("4.0"));
 
   gtk_grab_add (dlg);
   gtk_widget_show (dlg);
@@ -3512,7 +3510,7 @@ int DoTextureLayout (float *fx, float *fy)
 }
 
 // =============================================================================
-// Name dialog 
+// Name dialog
 
 char* DoNameDlg (const char* title)
 {
@@ -3534,7 +3532,7 @@ char* DoNameDlg (const char* title)
   gtk_container_add (GTK_CONTAINER (dlg), hbox);
   gtk_container_set_border_width (GTK_CONTAINER (hbox), 5);
 
-  label = gtk_label_new ("Name:");
+  label = gtk_label_new (_("Name:"));
   gtk_widget_show (label);
   gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
 
@@ -3546,14 +3544,14 @@ char* DoNameDlg (const char* title)
   gtk_widget_show (vbox);
   gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0);
 
-  button = gtk_button_new_with_label ("OK");
+  button = gtk_button_new_with_label (_("OK"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
   gtk_widget_set_usize (button, 60, -2);
 
-  button = gtk_button_new_with_label ("Cancel");
+  button = gtk_button_new_with_label (_("Cancel"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
@@ -3578,7 +3576,7 @@ char* DoNameDlg (const char* title)
 }
 
 // =============================================================================
-// NewProject dialog 
+// NewProject dialog
 
 char* DoNewProjectDlg ()
 {
@@ -3587,18 +3585,18 @@ char* DoNewProjectDlg ()
   char *str;
 
   // start by a warning message
-  // http://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=459
-  CString msg;
-  msg = "Are you sure you want a new project?\n";
-  msg += "Please note that creating a new project is not the prefered way to setup GtkRadiant for mod editing.\n";
-  msg += "Check http://www.qeradiant.com/faq/index.cgi?file=220 for more information";
-  if (gtk_MessageBox(NULL, msg.GetBuffer(), "Confirm", MB_YESNO, "http://www.qeradiant.com/faq/index.cgi?file=220" ) == IDNO)
-  {
-    return NULL;
-  }
+// mattn: URLs no longer valid
+//  CString msg;
+//  msg = "Are you sure you want a new project?\n";
+//  msg += "Please note that creating a new project is not the prefered way to setup GtkRadiant for mod editing.\n";
+//  msg += "Check http://www.qeradiant.com/faq/index.cgi?file=220 for more information";
+//  if (gtk_MessageBox(NULL, msg.GetBuffer(), _("Confirm"), MB_YESNO, "http://www.qeradiant.com/faq/index.cgi?file=220" ) == IDNO)
+//  {
+//    return NULL;
+//  }
 
   dlg = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (dlg), "New Project");
+  gtk_window_set_title (GTK_WINDOW (dlg), _("New Project"));
   gtk_signal_connect (GTK_OBJECT (dlg), "delete_event",
                       GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
   gtk_signal_connect (GTK_OBJECT (dlg), "destroy",
@@ -3615,13 +3613,13 @@ char* DoNewProjectDlg ()
   gtk_widget_show (vbox);
   gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0);
 
-  label = gtk_label_new ("This will create a new directory beneath your\n"
-                        "game path based on the project name you give.");
+  label = gtk_label_new (_("This will create a new directory beneath your\n"
+                        "game path based on the project name you give."));
   gtk_widget_show (label);
   gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
   gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
 
-  label = gtk_label_new ("Project name:");
+  label = gtk_label_new (_("Project name:"));
   gtk_widget_show (label);
   gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE, 0);
   gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
@@ -3631,7 +3629,7 @@ char* DoNewProjectDlg ()
   gtk_widget_show (entry);
   gtk_box_pack_start (GTK_BOX (vbox), entry, TRUE, TRUE, 0);
 
-  check = gtk_check_button_new_with_label ("Include game dll files");
+  check = gtk_check_button_new_with_label (_("Include game dll files"));
   gtk_widget_show (check);
   gtk_box_pack_start (GTK_BOX (vbox), check, TRUE, TRUE, 0);
   gtk_widget_set_sensitive (check, FALSE);
@@ -3640,14 +3638,14 @@ char* DoNewProjectDlg ()
   gtk_widget_show (vbox);
   gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0);
 
-  button = gtk_button_new_with_label ("OK");
+  button = gtk_button_new_with_label (_("OK"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
   gtk_widget_set_usize (button, 60, -2);
 
-  button = gtk_button_new_with_label ("Cancel");
+  button = gtk_button_new_with_label (_("Cancel"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
@@ -3672,7 +3670,7 @@ char* DoNewProjectDlg ()
 }
 
 // =============================================================================
-// Text Editor dialog 
+// Text Editor dialog
 
 // master window widget
 static GtkWidget *text_editor = NULL;
@@ -3680,7 +3678,7 @@ static GtkWidget *text_widget; // slave, text widget from the gtk editor
 
 static gint editor_delete (GtkWidget *widget, gpointer data)
 {
-  if (gtk_MessageBox (widget, "Close the shader editor ?", "Radiant", MB_YESNO) == IDNO)
+  if (gtk_MessageBox (widget, _("Close the shader editor ?"), _("Radiant"), MB_YESNO) == IDNO)
     return TRUE;
 
   gtk_widget_hide (text_editor);
@@ -3695,25 +3693,28 @@ static void editor_save (GtkWidget *widget, gpointer data)
 
   if (f == NULL)
   {
-    gtk_MessageBox (GTK_WIDGET(data), "Error saving file !");
+    gtk_MessageBox (GTK_WIDGET(data), _("Error saving file !"));
     return;
   }
 
-  char *str = gtk_editable_get_chars (GTK_EDITABLE (text), 0, -1);
+  GtkTextBuffer *buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (text));
+  GtkTextIter start, end;
+  gtk_text_buffer_get_bounds ( buffer, &start, &end);
+  char *str = gtk_text_buffer_get_text(buffer, &start, &end, FALSE);
   fwrite (str, 1, strlen (str), f);
   fclose (f);
+  g_free(str);
 }
 
 static void editor_close (GtkWidget *widget, gpointer data)
 {
-  if (gtk_MessageBox (text_editor, "Close the shader editor ?", "Radiant", MB_YESNO) == IDNO)
+  if (gtk_MessageBox (text_editor, _("Close the shader editor ?"), _("Radiant"), MB_YESNO) == IDNO)
     return;
 
   gtk_widget_hide (text_editor);
 }
 
 // several attempts
-// http://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=355
 #if 0
 #ifdef _WIN32
 
@@ -3821,14 +3822,14 @@ static void CreateGtkTextEditor ()
   gtk_widget_show (hbox);
   gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
 
-  button = gtk_button_new_with_label ("Close");
+  button = gtk_button_new_with_label (_("Close"));
   gtk_widget_show (button);
   gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (editor_close), dlg);
   gtk_widget_set_usize (button, 60, -2);
 
-  button = gtk_button_new_with_label ("Save");
+  button = gtk_button_new_with_label (_("Save"));
   gtk_widget_show (button);
   gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
@@ -3918,7 +3919,7 @@ void DoTextEditor (const char* filename, int cursorpos)
     strEditCommand += " \"";
     strEditCommand += filename;
     strEditCommand += "\"";
-    
+
     Sys_Printf("Launching: %s\n", strEditCommand.GetBuffer());
     // note: linux does not return false if the command failed so it will assume success
     if (Q_Exec(NULL, (char *)strEditCommand.GetBuffer(), NULL, true) == false)
@@ -3932,11 +3933,10 @@ void DoTextEditor (const char* filename, int cursorpos)
     }
   }
 #endif
-  
+
   DoGtkTextEditor (filename, cursorpos);
 
   // old win32 code with EditPad bindings, broken
-  // http://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=355
 #if 0
   strEditCommand = g_strAppPath.GetBuffer();
   strEditCommand += "editpad.exe";
@@ -3967,7 +3967,7 @@ void DoTextEditor (const char* filename, int cursorpos)
 }
 
 // =============================================================================
-// Light Intensity dialog 
+// Light Intensity dialog
 
 int DoLightIntensityDlg (int *intensity)
 {
@@ -3975,7 +3975,7 @@ int DoLightIntensityDlg (int *intensity)
   int loop = 1, ret = IDCANCEL;
 
   dlg = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (dlg), "Light intensity");
+  gtk_window_set_title (GTK_WINDOW (dlg), _("Light intensity"));
   gtk_signal_connect (GTK_OBJECT (dlg), "delete_event",
                       GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
   gtk_signal_connect (GTK_OBJECT (dlg), "destroy",
@@ -3995,7 +3995,7 @@ int DoLightIntensityDlg (int *intensity)
   gtk_widget_show (vbox);
   gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0);
 
-  label = gtk_label_new ("ESC for default, ENTER to validate");
+  label = gtk_label_new (_("ESC for default, ENTER to validate"));
   gtk_widget_show (label);
   gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
 
@@ -4007,7 +4007,7 @@ int DoLightIntensityDlg (int *intensity)
   gtk_widget_show (vbox);
   gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0);
 
-  button = gtk_button_new_with_label ("OK");
+  button = gtk_button_new_with_label (_("OK"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",
@@ -4016,7 +4016,7 @@ int DoLightIntensityDlg (int *intensity)
                               GDK_Return, (GdkModifierType)0, GTK_ACCEL_VISIBLE);
   gtk_widget_set_usize (button, 60, -2);
 
-  button = gtk_button_new_with_label ("Cancel");
+  button = gtk_button_new_with_label (_("Cancel"));
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
   gtk_signal_connect (GTK_OBJECT (button), "clicked",