[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: How to contribute



Lars Clausen <lrclause@cs.uiuc.edu> writes:

> On 30 Aug 2003, Peter Poulsen wrote:
> > Peter Poulsen <peter_poulsen@stofanet.dk> writes:
> >
> >> I have now got that hex-thing I was talking about working. I would like
> >> to contribute it to the development version if that has any interest.
> >>
> >> How is this done best? Should I send a diff file to this list, or could
> >> I get access to the cvs and then commit it? To some extend I would
> >> prefer a diff, as this is the first time I have made anything for Dia,
> >> so it would be nice if somebody would take a quick glance at it to see
> >> if I have broken anybody else's code.
> >> -- 
> >> Yours 
> >> Peter Poulsen
> >>
> > How should I contribute; can I get a login and password to the cvs, or
> > should I send the diff files here on this mailling list?
> 
> Please send them to the list, we'll take a look at them.  I don't think
> they'll go into 0.92, though, I'm about ready to put out 0.92-pre1, and
> would rather not add new features right now.
> 
Sounds like a good idea.

Ok, here it is. Should be applied by standing in the cvs co dir, and
typing pathc -p1 < <path>/hex.patch.

I know it may sound like a weird thing to make hex-grid, but I'm working
on making a sheet (or whatever it's called), inteded for creating maps
which works a lot better with hex-grids.

This is the first time I have coded for Dia or with Gtk, so I'm open to criticism.

diff -Nuar cvs-dia/.cvsignore dia/.cvsignore
--- cvs-dia/.cvsignore	1970-01-01 01:00:00.000000000 +0100
+++ dia/.cvsignore	2003-08-30 19:39:47.000000000 +0200
@@ -0,0 +1,37 @@
+.deps
+stamp-h*
+Makefile
+dia.desktop
+Makefile.in
+aclocal.m4
+autom4te*.cache
+core-translation-report
+config.cache
+config.guess
+config.h
+config.h.in
+config.log
+config.status
+config.sub
+configure
+libtool
+ltconfig
+ltmain.sh
+main
+stamp-h
+COPYING
+mkinstalldirs
+missing
+install-sh
+ABOUT-NLS
+intl
+dia.keys
+dia.keys.tmp
+dia.pot
+intltool-extract.in 
+intltool-merge.in 
+intltool-update.in
+intltool-extract
+intltool-merge
+intltool-update
+dia.desktop
diff -Nuar cvs-dia/CVS/Entries dia/CVS/Entries
--- cvs-dia/CVS/Entries	2003-08-30 19:00:41.000000000 +0200
+++ dia/CVS/Entries	2003-08-30 19:39:48.000000000 +0200
@@ -31,4 +31,13 @@
 /po-checktrans.py/1.5/Mon Aug  5 21:38:10 2002//
 /readme.win32/1.1/Sun Jan  7 02:29:38 2001//
 /todo.gtk2/1.2/Sun Jun 16 09:54:52 2002//
-D
+D/app////
+D/broken-files////
+D/doc////
+D/lib////
+D/objects////
+D/plug-ins////
+D/po////
+D/samples////
+D/shapes////
+D/sheets////
diff -Nuar cvs-dia/CVS/Entries.Log.orig dia/CVS/Entries.Log.orig
--- cvs-dia/CVS/Entries.Log.orig	2003-08-30 19:01:04.000000000 +0200
+++ dia/CVS/Entries.Log.orig	1970-01-01 01:00:00.000000000 +0100
@@ -1,10 +0,0 @@
-A D/app////
-A D/broken-files////
-A D/doc////
-A D/lib////
-A D/objects////
-A D/plug-ins////
-A D/po////
-A D/samples////
-A D/shapes////
-A D/sheets////
diff -Nuar cvs-dia/CVS/Entries.Log.rej dia/CVS/Entries.Log.rej
--- cvs-dia/CVS/Entries.Log.rej	2003-08-30 19:39:02.000000000 +0200
+++ dia/CVS/Entries.Log.rej	1970-01-01 01:00:00.000000000 +0100
@@ -1,13 +0,0 @@
-***************
-*** 0 ****
---- 1,10 ----
-+ A D/app////
-+ A D/broken-files////
-+ A D/doc////
-+ A D/lib////
-+ A D/objects////
-+ A D/plug-ins////
-+ A D/po////
-+ A D/samples////
-+ A D/shapes////
-+ A D/sheets////
diff -Nuar cvs-dia/CVS/Entries.orig dia/CVS/Entries.orig
--- cvs-dia/CVS/Entries.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/CVS/Entries.orig	2003-08-30 19:38:50.000000000 +0200
@@ -0,0 +1,34 @@
+/.cvsignore/1.11/Wed Nov 27 13:51:34 2002//
+/AUTHORS/1.24/Sun Jul 13 20:11:19 2003//
+/ChangeLog/1.1365/Thu Aug 28 07:04:23 2003//
+/HACKING/1.5/Thu Jul 11 13:54:29 2002//
+/INSTALL/1.13/Tue Feb  4 03:55:15 2003//
+/KNOWN_BUGS/1.2/Tue Aug 27 19:36:02 2002//
+/MAINTAINERS/1.2/Fri Apr 11 19:03:53 2003//
+/Makefile.am/1.38/Tue Jul 15 05:58:11 2003//
+/NEWS/1.41/Fri Mar 14 23:17:39 2003//
+/README/1.5/Sun Aug  6 05:08:36 2000//
+/RELEASE-PROCESS/1.8/Wed Feb  5 23:10:43 2003//
+/TODO/1.31/Tue Aug 27 19:36:02 2002//
+/acinclude.m4/1.6/Sat Mar  9 22:22:42 2002//
+/autogen.sh/1.12/Sun Jul  6 08:37:17 2003//
+/config.h.win32/1.16/Fri Apr 25 16:34:46 2003//
+/configure.in/1.203/Thu Aug 28 07:04:24 2003//
+/dia-diagram.png/1.3/Sat May 18 06:34:36 2002/-kb/
+/dia.1/1.4/Sun Oct 14 16:20:17 2001//
+/dia.desktop.in/1.3/Tue Jul 15 05:58:11 2003//
+/dia.keys.in/1.1/Thu Dec  9 02:19:56 1999//
+/dia.mime/1.1/Thu Dec  9 02:19:56 1999//
+/dia.spec/1.35/Fri Mar 14 23:17:39 2003//
+/dia.xpm/1.2/Tue Sep 28 19:26:38 1999//
+/dia_gnome_icon.png/1.4/Wed Jul 24 03:16:36 2002/-kb/
+/dia_gnome_icon_large.png/1.1/Wed Jul 24 03:16:36 2002/-ko/
+/dia_gnome_menu_icon.png/1.3/Sat May 18 06:34:36 2002/-kb/
+/dia_logo.png/1.3/Sat May 18 06:34:36 2002/-kb/
+/install.win32/1.1/Sun Jan  7 02:29:38 2001//
+/makefile.msc/1.3/Sat Feb  1 11:02:40 2003//
+/po-checktrans/1.5/Mon Aug  5 21:38:10 2002//
+/po-checktrans.py/1.5/Mon Aug  5 21:38:10 2002//
+/readme.win32/1.1/Sun Jan  7 02:29:38 2001//
+/todo.gtk2/1.2/Sun Jun 16 09:54:52 2002//
+D
diff -Nuar cvs-dia/app/CVS/Entries dia/app/CVS/Entries
--- cvs-dia/app/CVS/Entries	2003-08-30 19:00:43.000000000 +0200
+++ dia/app/CVS/Entries	2003-08-30 19:39:49.000000000 +0200
@@ -132,4 +132,4 @@
 /win32print.c/1.3/Sat Aug 18 15:49:49 2001//
 /win32print.h/1.1/Mon Mar 19 00:06:29 2001//
 /winmain.c/1.2/Fri Mar 23 14:29:48 2001//
-D
+D/pixmaps////
diff -Nuar cvs-dia/app/CVS/Entries.Log dia/app/CVS/Entries.Log
--- cvs-dia/app/CVS/Entries.Log	1970-01-01 01:00:00.000000000 +0100
+++ dia/app/CVS/Entries.Log	2003-08-30 19:39:49.000000000 +0200
@@ -0,0 +1 @@
+A D/pixmaps////
diff -Nuar cvs-dia/app/CVS/Entries.orig dia/app/CVS/Entries.orig
--- cvs-dia/app/CVS/Entries.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/app/CVS/Entries.orig	2003-08-30 19:39:02.000000000 +0200
@@ -0,0 +1,135 @@
+/.cvsignore/1.5/Sat Jul 28 00:14:37 2001//
+/GNOME_Dia.oaf/1.1/Mon Mar 19 15:58:08 2001//
+/Makefile.am/1.104/Sun Jul  6 08:12:23 2003//
+/app_procs.c/1.111/Sat Jul 19 16:35:27 2003//
+/app_procs.h/1.7/Mon Feb 11 00:37:06 2002//
+/authors.h/1.9/Wed Aug 20 06:41:30 2003//
+/autosave.c/1.5/Sun Jan 19 16:38:20 2003//
+/autosave.h/1.1/Wed Jul 17 02:23:13 2002//
+/color_area.c/1.16/Tue Apr 29 22:21:28 2003//
+/color_area.h/1.4/Sun Jun  9 22:15:04 2002//
+/commands.c/1.118/Mon Aug 25 18:09:32 2003//
+/commands.h/1.36/Thu Jul 31 12:16:58 2003//
+/connectionpoint_ops.c/1.12/Wed Aug 20 05:52:15 2003//
+/connectionpoint_ops.h/1.4/Sat Jun 24 14:46:58 2000//
+/create_object.c/1.28/Wed Aug 20 06:55:05 2003//
+/create_object.h/1.6/Wed Aug 20 06:55:05 2003//
+/cursor.c/1.4/Fri Jul 26 05:10:21 2002//
+/cursor.h/1.3/Fri Jul 26 05:10:21 2002//
+/cut_n_paste.c/1.4/Fri Mar 23 14:29:48 2001//
+/cut_n_paste.h/1.3/Sat Jun 24 14:46:58 2000//
+/defaults.c/1.16/Mon Jan 27 04:22:05 2003//
+/defaults.h/1.2/Sat Jun 24 14:46:58 2000//
+/dia-props.c/1.11/Thu Aug 21 20:59:37 2003//
+/dia-props.h/1.2/Mon Aug 27 19:49:19 2001//
+/dia.def/1.4/Sun Jan 19 16:38:20 2003//
+/dia.gnorba/1.3/Tue Apr 11 14:45:04 2000//
+/dia.ico/1.1/Mon Mar 19 00:06:29 2001/-kb/
+/dia.oafinfo/1.1/Wed Aug  9 08:07:57 2000//
+/dia.rc/1.1/Mon Mar 19 00:06:29 2001//
+/dia_embedd.c/1.13/Sun Jan 19 16:38:20 2003//
+/diaconv.c/1.6/Sat Jun 22 17:19:13 2002//
+/diagram.c/1.71/Thu Aug 21 20:59:37 2003//
+/diagram.h/1.32/Thu Aug 14 10:09:47 2003//
+/diagram_tree.c/1.9/Mon Jul  7 11:03:00 2003//
+/diagram_tree.h/1.3/Tue Jan  1 15:30:24 2002//
+/diagram_tree_menu.c/1.3/Sat Jul 19 16:35:27 2003//
+/diagram_tree_menu.h/1.2/Tue Jan  1 15:30:24 2002//
+/diagram_tree_menu_callbacks.c/1.3/Sat Jul 19 16:35:27 2003//
+/diagram_tree_menu_callbacks.h/1.2/Tue Jan  1 15:30:24 2002//
+/diagram_tree_window.c/1.7/Tue Apr  8 19:56:32 2003//
+/diagram_tree_window.h/1.4/Tue Apr  8 19:56:32 2003//
+/dialogs.c/1.1/Tue Apr 23 03:53:58 2002//
+/dialogs.h/1.1/Tue Apr 23 03:53:58 2002//
+/diapagelayout.c/1.15/Fri Jul 26 03:35:53 2002//
+/diapagelayout.h/1.7/Thu Jan 27 05:36:11 2000//
+/diapsft2renderer.c/1.5/Mon Aug 25 15:18:36 2003//
+/diapsft2renderer.h/1.2/Sat Dec  7 11:10:54 2002//
+/diapsrenderer.c/1.6/Wed Jan 15 19:05:32 2003//
+/diapsrenderer.h/1.4/Sat Dec  7 11:10:54 2002//
+/diaunitspinner.c/1.8/Sat Jun  8 10:52:22 2002//
+/diaunitspinner.h/1.3/Mon Oct 25 06:12:30 1999//
+/disp_callbacks.c/1.72/Thu Aug 21 18:10:46 2003//
+/disp_callbacks.h/1.9/Sat Jul 12 09:40:12 2003//
+/display.c/1.79/Thu Jul 17 19:31:23 2003//
+/display.h/1.28/Mon Jul  7 11:03:00 2003//
+/dynamic_refresh.c/1.2/Sun Jan 19 16:38:20 2003//
+/dynamic_refresh.h/1.1/Wed Sep 25 23:44:45 2002//
+/export_png.c/1.14/Thu May  1 21:28:15 2003//
+/filedlg.c/1.27/Sat Aug 23 06:28:18 2003//
+/filedlg.h/1.3/Wed Feb 21 09:26:41 2001//
+/grid.c/1.19/Thu Aug 21 20:59:37 2003//
+/grid.h/1.8/Thu Jul 17 19:31:23 2003//
+/gtkhwrapbox.c/1.4/Sat Jun  8 10:52:22 2002//
+/gtkhwrapbox.h/1.2/Sat Jun  8 10:52:22 2002//
+/gtkvwrapbox.c/1.4/Sat Jun  8 10:52:22 2002//
+/gtkvwrapbox.h/1.2/Sat Jun  8 10:52:22 2002//
+/gtkwrapbox.c/1.3/Sat Jun  8 10:52:22 2002//
+/gtkwrapbox.h/1.2/Sat Jun  8 10:52:22 2002//
+/handle_ops.c/1.7/Sun Oct  6 18:55:11 2002//
+/handle_ops.h/1.3/Sat Jun 24 14:46:58 2000//
+/interface.c/1.95/Wed Aug 20 06:55:05 2003//
+/interface.h/1.12/Thu Apr 18 17:08:22 2002//
+/layer_dialog.c/1.26/Thu Jul 17 07:12:03 2003//
+/layer_dialog.h/1.3/Sat Jun 24 14:46:58 2000//
+/lineprops_area.c/1.21/Wed Mar  5 02:57:54 2003//
+/lineprops_area.h/1.2/Sun Oct  6 18:55:11 2002//
+/linewidth_area.c/1.14/Fri Jul 18 23:00:26 2003//
+/linewidth_area.h/1.3/Sat Jun 24 14:46:58 2000//
+/load_save.c/1.58/Sat Aug 23 06:28:18 2003//
+/load_save.h/1.6/Tue Jul 16 21:28:23 2002//
+/magnify.c/1.12/Fri Aug  1 13:23:25 2003//
+/magnify.h/1.5/Thu Oct 12 17:45:07 2000//
+/main.c/1.6/Fri Mar 23 14:29:48 2001//
+/makefile.mingw/1.4/Sat Sep 28 16:22:18 2002//
+/makefile.msc/1.26/Fri Jul 18 23:00:26 2003//
+/menus.c/1.108/Thu Jul 31 12:16:58 2003//
+/menus.h/1.17/Thu Jul 31 12:16:58 2003//
+/modify_tool.c/1.43/Wed Aug 20 05:52:15 2003//
+/modify_tool.h/1.8/Thu Sep 26 14:44:53 2002//
+/object_ops.c/1.24/Thu Dec  5 23:47:52 2002//
+/object_ops.h/1.12/Thu Dec  5 23:47:52 2002//
+/pagesetup.c/1.7/Sat Feb  1 20:03:05 2003//
+/pagesetup.h/1.1/Mon Oct 25 03:17:06 1999//
+/paginate_gdiprint.cpp/1.6/Thu Aug 21 18:10:46 2003//
+/paginate_gdiprint.h/1.2/Sat Sep 28 16:22:18 2002//
+/paginate_psprint.c/1.30/Sun Feb  9 06:04:35 2003//
+/paginate_psprint.h/1.3/Mon Oct 25 06:12:30 1999//
+/persistence.c/1.7/Thu May  1 18:06:20 2003//
+/persistence.h/1.3/Tue Apr  8 22:52:03 2003//
+/pixmaps.h/1.4/Sun Nov 21 14:45:15 1999//
+/plugin-manager.c/1.10/Wed Jan 22 23:04:37 2003//
+/plugin-manager.h/1.2/Wed Feb 21 09:26:41 2001//
+/preferences.c/1.57/Wed Aug 27 14:14:49 2003//
+/preferences.h/1.25/Sat Aug 23 06:28:18 2003//
+/properties.c/1.29/Mon Aug 25 22:06:43 2003//
+/properties.h/1.5/Sat Jun 24 14:46:58 2000//
+/recent_files.c/1.12/Sun Jan 19 16:38:20 2003//
+/recent_files.h/1.2/Sat Jan 19 11:22:24 2002//
+/render_eps.c/1.67/Thu May  1 21:28:15 2003//
+/render_eps.h/1.18/Tue Oct 15 19:43:03 2002//
+/render_gdk.c/1.51/Fri Nov  8 04:50:18 2002//
+/render_gdk.h/1.8/Sun Oct  6 18:55:11 2002//
+/render_libart.c/1.39/Thu Aug 14 06:49:10 2003//
+/render_libart.h/1.10/Sun Oct  6 23:46:46 2002//
+/render_pixmap.c/1.8/Sun Oct  6 18:55:11 2002//
+/render_pixmap.h/1.4/Sun Oct  6 18:55:11 2002//
+/scroll_tool.c/1.9/Wed Aug 20 06:55:05 2003//
+/scroll_tool.h/1.4/Sat Jun 24 14:46:58 2000//
+/select.c/1.9/Wed May 16 13:35:24 2001//
+/select.h/1.3/Wed Feb 21 09:26:41 2001//
+/sheets.c/1.10/Fri Jan 31 04:34:37 2003//
+/sheets.h/1.2/Fri Apr 26 20:33:35 2002//
+/sheets_dialog.c/1.8/Tue Apr  8 19:56:32 2003//
+/sheets_dialog.h/1.1/Fri Apr 12 07:51:36 2002//
+/sheets_dialog_callbacks.c/1.16/Fri Jan 31 04:34:37 2003//
+/sheets_dialog_callbacks.h/1.2/Fri Jan 31 04:34:37 2003//
+/splash.c/1.8/Sun Dec  8 18:18:16 2002//
+/tool.c/1.9/Wed Aug 20 06:55:05 2003//
+/tool.h/1.8/Wed Aug 20 06:55:05 2003//
+/undo.c/1.18/Mon Aug 25 15:18:36 2003//
+/undo.h/1.11/Thu Aug  7 11:35:42 2003//
+/win32print.c/1.3/Sat Aug 18 15:49:49 2001//
+/win32print.h/1.1/Mon Mar 19 00:06:29 2001//
+/winmain.c/1.2/Fri Mar 23 14:29:48 2001//
+D
diff -Nuar cvs-dia/app/diagram.c dia/app/diagram.c
--- cvs-dia/app/diagram.c	2003-08-21 22:59:37.000000000 +0200
+++ dia/app/diagram.c	2003-08-30 19:39:49.000000000 +0200
@@ -58,6 +58,7 @@
   dia->data = new_diagram_data(&prefs.new_diagram);
   dia->data->grid.width_x = prefs.grid.x;
   dia->data->grid.width_y = prefs.grid.y;
+  dia->data->grid.width_w = prefs.grid.w;
   dia->data->grid.dynamic = prefs.grid.dynamic;
   dia->data->grid.major_lines = prefs.grid.major_lines;
 
diff -Nuar cvs-dia/app/diagram.c.orig dia/app/diagram.c.orig
--- cvs-dia/app/diagram.c.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/app/diagram.c.orig	2003-08-30 19:39:04.000000000 +0200
@@ -0,0 +1,1121 @@
+/* Dia -- an diagram creation/manipulation program
+ * Copyright (C) 1998 Alexander Larsson
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#include <config.h>
+
+#include <assert.h>
+#include <string.h>
+
+#include "intl.h"
+#include "diagram.h"
+#include "group.h"
+#include "object_ops.h"
+#include "render_eps.h"
+#include "focus.h"
+#include "message.h"
+#include "menus.h"
+#include "preferences.h"
+#include "properties.h"
+#include "cut_n_paste.h"
+#include "layer_dialog.h"
+#include "app_procs.h"
+#include "dia_dirs.h"
+#include "load_save.h"
+#include "recent_files.h"
+#include "diagram_tree_window.h"
+#include "autosave.h"
+#include "dynamic_refresh.h"
+
+static GList *open_diagrams = NULL;
+
+GList *
+dia_open_diagrams(void)
+{
+  return open_diagrams;
+}
+
+static void
+diagram_init(Diagram *dia, const char *filename)
+{
+  if (dia->data)
+    diagram_data_destroy(dia->data);
+  
+  dia->data = new_diagram_data(&prefs.new_diagram);
+  dia->data->grid.width_x = prefs.grid.x;
+  dia->data->grid.width_y = prefs.grid.y;
+  dia->data->grid.dynamic = prefs.grid.dynamic;
+  dia->data->grid.major_lines = prefs.grid.major_lines;
+
+  if (dia->filename != NULL)
+    g_free(dia->filename);
+  dia->filename = g_strdup(filename);
+  
+  dia->unsaved = TRUE;
+  dia->modified = FALSE;
+  dia->autosavefilename = NULL;
+
+  if (dia->undo)
+    undo_destroy(dia->undo);
+  dia->undo = new_undo_stack(dia);
+
+  if (!g_list_find(open_diagrams, dia))
+    open_diagrams = g_list_prepend(open_diagrams, dia);
+
+  layer_dialog_update_diagram_list();
+}
+
+int
+diagram_load_into(Diagram         *diagram,
+		  const char      *filename,
+		  DiaImportFilter *ifilter)
+{
+  if (!ifilter)
+    ifilter = filter_guess_import_filter(filename);
+  if (!ifilter)  /* default to native format */
+    ifilter = &dia_import_filter;
+
+  diagram_init(diagram, filename);
+
+  if (ifilter->import(filename, diagram->data, ifilter->user_data)) {
+    diagram->unsaved = FALSE;
+    diagram_set_modified(diagram, FALSE);
+    recent_file_history_add(filename, ifilter, 0);
+    diagram_tree_add(diagram_tree(), diagram);
+    return TRUE;
+  } else
+    return FALSE;
+}
+
+Diagram *
+diagram_load(const char *filename, DiaImportFilter *ifilter)
+{
+  Diagram *diagram;
+
+  diagram = new_diagram(filename);
+
+  if (!diagram_load_into (diagram, filename, ifilter)) {
+    diagram_destroy(diagram);
+    diagram = NULL;
+  }
+
+  return diagram;
+}
+
+Diagram *
+new_diagram(const char *filename)  /* Note: filename is copied */
+{
+  Diagram *dia = g_new0(Diagram, 1);
+
+  diagram_init(dia, filename);
+
+  return dia;
+}
+
+void
+diagram_destroy(Diagram *dia)
+{
+  assert(dia->displays==NULL);
+
+  diagram_data_destroy(dia->data);
+  
+  g_free(dia->filename);
+
+  open_diagrams = g_list_remove(open_diagrams, dia);
+  layer_dialog_update_diagram_list();
+
+  undo_destroy(dia->undo);
+  
+  diagram_tree_remove(diagram_tree(), dia);
+
+  diagram_cleanup_autosave(dia);
+  
+  g_free(dia);
+}
+
+void
+diagram_modified(Diagram *dia)
+{
+  diagram_set_modified(dia, TRUE);
+}
+
+void
+diagram_set_modified(Diagram *dia, int modified)
+{
+  GSList *displays;
+
+  if (dia->modified != modified)
+  {
+    dia->modified = modified;
+    displays = dia->displays;
+    while (displays != NULL)
+    {
+      DDisplay *display = (DDisplay*) displays->data;
+      ddisplay_update_statusbar(display);
+      displays = g_slist_next(displays);
+    }
+  }
+  dia->autosaved = FALSE;
+}
+
+
+/*
+  This is the real implementation of the sensitivity update.
+  TODO: move it to the DDisplay as it belongs to it IMHO
+ */
+void 
+diagram_update_menu_sensitivity (Diagram *dia, UpdatableMenuItems *items)
+{
+  gtk_widget_set_sensitive(GTK_WIDGET(items->copy),
+			   dia->data->selected_count > 0);
+  gtk_widget_set_sensitive(GTK_WIDGET(items->cut),
+			   dia->data->selected_count > 0);
+  gtk_widget_set_sensitive(GTK_WIDGET(items->paste),
+			   cnp_exist_stored_objects());
+  #ifndef GNOME
+  gtk_widget_set_sensitive(GTK_WIDGET(items->edit_delete),
+			   dia->data->selected_count > 0);
+  #endif
+    
+  gtk_widget_set_sensitive(GTK_WIDGET(items->copy_text),
+			   active_focus() != NULL);
+  gtk_widget_set_sensitive(GTK_WIDGET(items->cut_text),
+			   active_focus() != NULL);
+  gtk_widget_set_sensitive(GTK_WIDGET(items->paste_text),
+			   active_focus() != NULL);
+  
+  gtk_widget_set_sensitive(GTK_WIDGET(items->send_to_back),
+			   dia->data->selected_count > 0);
+  gtk_widget_set_sensitive(GTK_WIDGET(items->bring_to_front),
+			   dia->data->selected_count > 0);
+    
+  gtk_widget_set_sensitive(GTK_WIDGET(items->parent),
+			   (dia->data->selected_count > 1));
+  gtk_widget_set_sensitive(GTK_WIDGET(items->unparent),
+			   (dia->data->selected_count > 0));
+  gtk_widget_set_sensitive(GTK_WIDGET(items->unparent_children),
+			   (dia->data->selected_count > 0));
+  gtk_widget_set_sensitive(GTK_WIDGET(items->group),
+			   dia->data->selected_count > 1);
+  gtk_widget_set_sensitive(GTK_WIDGET(items->ungroup),
+			   (dia->data->selected_count > 0));
+  
+  gtk_widget_set_sensitive(GTK_WIDGET(items->align_h_l),
+			   dia->data->selected_count > 1);
+  gtk_widget_set_sensitive(GTK_WIDGET(items->align_h_c),
+			   dia->data->selected_count > 1);
+  gtk_widget_set_sensitive(GTK_WIDGET(items->align_h_r),
+			   dia->data->selected_count > 1);
+  gtk_widget_set_sensitive(GTK_WIDGET(items->align_h_e),
+			   dia->data->selected_count > 1);
+  gtk_widget_set_sensitive(GTK_WIDGET(items->align_h_a),
+			   dia->data->selected_count > 1);
+  gtk_widget_set_sensitive(GTK_WIDGET(items->align_v_t),
+			   dia->data->selected_count > 1);
+  gtk_widget_set_sensitive(GTK_WIDGET(items->align_v_c),
+			   dia->data->selected_count > 1);
+  gtk_widget_set_sensitive(GTK_WIDGET(items->align_v_b),
+			   dia->data->selected_count > 1);
+  gtk_widget_set_sensitive(GTK_WIDGET(items->align_v_e),
+			   dia->data->selected_count > 1);
+  gtk_widget_set_sensitive(GTK_WIDGET(items->align_v_a),
+			   dia->data->selected_count > 1);
+}
+    
+  
+void diagram_update_menubar_sensitivity(Diagram *dia, UpdatableMenuItems *items)
+{
+    diagram_update_menu_sensitivity (dia, items);
+}
+
+
+void diagram_update_popupmenu_sensitivity(Diagram *dia)
+{
+  static int initialized = 0;
+  static UpdatableMenuItems items;
+  
+
+  char *display = "<Display>";
+  
+  if (initialized==0) {
+      menus_initialize_updatable_items (&items, NULL, display);
+      
+      initialized = 1;
+  }
+  
+  diagram_update_menu_sensitivity (dia, &items);
+}
+
+void
+diagram_add_ddisplay(Diagram *dia, DDisplay *ddisp)
+{
+  dia->displays = g_slist_prepend(dia->displays, ddisp);
+  dia->display_count++;
+}
+
+void
+diagram_remove_ddisplay(Diagram *dia, DDisplay *ddisp)
+{
+  dia->displays = g_slist_remove(dia->displays, ddisp);
+  dia->display_count--;
+
+  if (dia->display_count == 0) {
+    if (!app_is_embedded()) {
+      /* Don't delete embedded diagram when last view is closed */
+      diagram_destroy(dia);
+    }
+  }
+}
+
+void
+diagram_add_object(Diagram *dia, Object *obj)
+{
+  layer_add_object(dia->data->active_layer, obj);
+
+  diagram_modified(dia);
+
+  diagram_tree_add_object(diagram_tree(), dia, obj);
+}
+
+void
+diagram_add_object_list(Diagram *dia, GList *list)
+{
+  layer_add_objects(dia->data->active_layer, list);
+
+  diagram_modified(dia);
+
+  diagram_tree_add_objects(diagram_tree(), dia, list);
+}
+
+void
+diagram_selected_break_external(Diagram *dia)
+{
+  GList *list;
+  GList *connected_list;
+  Object *obj;
+  Object *other_obj;
+  int i,j;
+
+  list = dia->data->selected;
+  while (list != NULL) {
+    obj = (Object *)list->data;
+    
+    /* Break connections between this object and objects not selected: */
+    for (i=0;i<obj->num_handles;i++) {
+      ConnectionPoint *con_point;
+      con_point = obj->handles[i]->connected_to;
+      
+      if ( con_point == NULL )
+	break; /* Not connected */
+      
+      other_obj = con_point->object;
+      if (g_list_find(dia->data->selected, other_obj) == NULL) {
+	/* other_obj is not selected, break connection */
+	Change *change = undo_unconnect(dia, obj, obj->handles[i]);
+	(change->apply)(change, dia);
+	object_add_updates(obj, dia);
+      }
+    }
+    
+    /* Break connections from non selected objects to this object: */
+    for (i=0;i<obj->num_connections;i++) {
+      connected_list = obj->connections[i]->connected;
+      
+      while (connected_list != NULL) {
+	other_obj = (Object *)connected_list->data;
+	
+	if (g_list_find(dia->data->selected, other_obj) == NULL) {
+	  /* other_obj is not in list, break all connections
+	     to obj from other_obj */
+	  
+	  for (j=0;j<other_obj->num_handles;j++) {
+	    ConnectionPoint *con_point;
+	    con_point = other_obj->handles[j]->connected_to;
+
+	    if (con_point && (con_point->object == obj)) {
+	      Change *change;
+	      connected_list = g_list_previous(connected_list);
+	      change = undo_unconnect(dia, other_obj,
+					      other_obj->handles[j]);
+	      (change->apply)(change, dia);
+	      if (connected_list == NULL)
+		connected_list = obj->connections[i]->connected;
+	    }
+	  }
+	}
+	
+	connected_list = g_list_next(connected_list);
+      }
+    }
+    diagram_tree_remove_object(diagram_tree(), obj);
+    list = g_list_next(list);
+  }
+}
+
+void
+diagram_remove_all_selected(Diagram *diagram, int delete_empty)
+{
+  object_add_updates_list(diagram->data->selected, diagram);
+	
+  data_remove_all_selected(diagram->data);
+  
+  remove_focus();
+}
+
+void
+diagram_unselect_object(Diagram *diagram, Object *obj)
+{
+  object_add_updates(obj, diagram);
+  
+  data_unselect(diagram->data, obj);
+  
+  if ((active_focus()!=NULL) && (active_focus()->obj == obj)) {
+    remove_focus();
+  }
+}
+
+void
+diagram_unselect_objects(Diagram *dia, GList *obj_list)
+{
+  GList *list;
+  Object *obj;
+
+  list = obj_list;
+  while (list != NULL) {
+    obj = (Object *) list->data;
+
+    if (g_list_find(dia->data->selected, obj) != NULL){
+      diagram_unselect_object(dia, obj);
+    }
+
+    list = g_list_next(list);
+  }
+}
+
+void
+diagram_select(Diagram *diagram, Object *obj)
+{
+  data_select(diagram->data, obj);
+  object_add_updates(obj, diagram);
+}
+
+void
+diagram_select_list(Diagram *dia, GList *list)
+{
+
+  while (list != NULL) {
+    Object *obj = (Object *)list->data;
+
+    diagram_select(dia, obj);
+
+    list = g_list_next(list);
+  }
+}
+
+int
+diagram_is_selected(Diagram *diagram, Object *obj)
+{
+  return g_list_find(diagram->data->selected, obj) != NULL;
+}
+
+void
+diagram_redraw_all()
+{
+  GList *list;
+  Diagram *dia;
+
+  list = open_diagrams;
+
+  while (list != NULL) {
+    dia = (Diagram *) list->data;
+
+    diagram_add_update_all(dia);
+    diagram_flush(dia);
+
+    list = g_list_next(list);
+  }
+  return;
+}
+
+void
+diagram_add_update_all(Diagram *dia)
+{
+  GSList *l;
+  DDisplay *ddisp;
+  
+  l = dia->displays;
+  while (l!=NULL) {
+    ddisp = (DDisplay *) l->data;
+
+    ddisplay_add_update_all(ddisp);
+    
+    l = g_slist_next(l);
+  }
+}
+
+void
+diagram_add_update(Diagram *dia, Rectangle *update)
+{
+  GSList *l;
+  DDisplay *ddisp;
+  
+  l = dia->displays;
+  while (l!=NULL) {
+    ddisp = (DDisplay *) l->data;
+
+    ddisplay_add_update(ddisp, update);
+    
+    l = g_slist_next(l);
+  }
+}
+
+void
+diagram_add_update_pixels(Diagram *dia, Point *point,
+			  int pixel_width, int pixel_height)
+{
+  GSList *l;
+  DDisplay *ddisp;
+
+  l = dia->displays;
+  while (l!=NULL) {
+    ddisp = (DDisplay *) l->data;
+
+    ddisplay_add_update_pixels(ddisp, point, pixel_width, pixel_height);
+    
+    l = g_slist_next(l);
+  }
+}
+
+void
+diagram_flush(Diagram *dia)
+{
+  GSList *l;
+  DDisplay *ddisp;
+  l = dia->displays;
+  while (l!=NULL) {
+    ddisp = (DDisplay *) l->data;
+
+    ddisplay_flush(ddisp);
+    
+    l = g_slist_next(l);
+  }
+  dynobj_refresh_kick();
+}
+
+Object *
+diagram_find_clicked_object(Diagram *dia, Point *pos,
+			    real maxdist)
+{
+  return layer_find_closest_object_except(dia->data->active_layer, 
+					  pos, maxdist, NULL);
+}
+
+Object *
+diagram_find_clicked_object_except(Diagram *dia, Point *pos,
+				   real maxdist, GList *avoid)
+{
+  return layer_find_closest_object_except(dia->data->active_layer, pos,
+					  maxdist, avoid);
+}
+
+/*
+ * Always returns the last handle in an object that has
+ * the closest distance
+ */
+real
+diagram_find_closest_handle(Diagram *dia, Handle **closest,
+			    Object **object, Point *pos)
+{
+  GList *l;
+  Object *obj;
+  Handle *handle;
+  real mindist, dist;
+  int i;
+
+  mindist = 1000000.0; /* Realy big value... */
+  
+  *closest = NULL;
+  
+  l = dia->data->selected;
+  while (l!=NULL) {
+    obj = (Object *) l->data;
+
+    for (i=0;i<obj->num_handles;i++) {
+      handle = obj->handles[i];
+      /* Note: Uses manhattan metric for speed... */
+      dist = distance_point_point_manhattan(pos, &handle->pos);
+      if (dist<=mindist) { 
+	mindist = dist;
+	*closest = handle;
+	*object = obj;
+      }
+    }
+    
+    l = g_list_next(l);
+  }
+
+  return mindist;
+}
+
+real
+diagram_find_closest_connectionpoint(Diagram *dia,
+				     ConnectionPoint **closest,
+				     Point *pos,
+				     Object *notthis)
+{
+  return layer_find_closest_connectionpoint(dia->data->active_layer,
+					    closest, pos, notthis);
+}
+
+void
+diagram_update_extents(Diagram *dia)
+{
+  gfloat cur_scale = dia->data->paper.scaling;
+  /* anropar update_scrollbars() */
+
+  if (data_update_extents(dia->data)) {
+    /* Update scrollbars because extents were changed: */
+    GSList *l;
+    DDisplay *ddisp;
+    
+    l = dia->displays;
+    while (l!=NULL) {
+      ddisp = (DDisplay *) l->data;
+      
+      ddisplay_update_scrollbars(ddisp);
+      
+      l = g_slist_next(l);
+    }
+    if (cur_scale != dia->data->paper.scaling) {
+      diagram_add_update_all(dia);
+      diagram_flush(dia);
+    }
+  }  
+}
+
+/* Remove connections from obj to objects outside created group. */
+static void
+strip_connections(Object *obj, GList *not_strip_list, Diagram *dia)
+{
+  int i;
+  Handle *handle;
+  Change *change;
+
+  for (i=0;i<obj->num_handles;i++) {
+    handle = obj->handles[i];
+    if ((handle->connected_to != NULL) &&
+	(g_list_find(not_strip_list, handle->connected_to->object)==NULL)) {
+      change = undo_unconnect(dia, obj, handle);
+      (change->apply)(change, dia);
+    }
+  }
+}
+
+
+gint diagram_parent_sort_cb(object_extent ** a, object_extent **b)
+{
+  if ((*a)->extent->left < (*b)->extent->left)
+    return 1;
+  else if ((*a)->extent->left > (*b)->extent->left)
+    return -1;
+  else
+    if ((*a)->extent->top < (*b)->extent->top)
+      return 1;
+    else if ((*a)->extent->top > (*b)->extent->top)
+      return -1;
+    else
+      return 0;
+}
+
+
+/* needs faster algorithm -- if we find that parenting is slow.
+ * If it works, don't optimize it until it's a hotspot. */
+void diagram_parent_selected(Diagram *dia)
+{
+  GList *list = dia->data->selected;
+  int length = g_list_length(list);
+  int idx, idx2;
+  object_extent *oe;
+  gboolean any_parented = FALSE;
+  GPtrArray *rects = g_ptr_array_sized_new(length);
+  while (list)
+  {
+    oe = g_new(object_extent, 1);
+    oe->object = list->data;
+    oe->extent = parent_handle_extents(list->data);
+    g_ptr_array_add(rects, oe);
+    list = g_list_next(list);
+  }
+  /* sort all the objects by its left position */
+  g_ptr_array_sort(rects, diagram_parent_sort_cb);
+
+  for (idx = 0; idx < length; idx++)
+  {
+    object_extent *rect = g_ptr_array_index(rects, idx);
+    if (rect->object->parent)
+      continue;
+
+    for (idx2 = idx + 1; idx2 < length; idx2++)
+    {
+      object_extent *rect2 = g_ptr_array_index(rects, idx2);
+      if (!rect2->object->can_parent)
+        continue;
+
+      if (rect->extent->right <= rect2->extent->right
+        && rect->extent->bottom <= rect2->extent->bottom)
+      {
+	Change *change;
+	change = undo_parenting(dia, rect2->object, rect->object, TRUE);
+	(change->apply)(change, dia);
+	any_parented = TRUE;
+	/*
+        rect->object->parent = rect2->object;
+	rect2->object->children = g_list_append(rect2->object->children, rect->object);
+	*/
+	break;
+      }
+    }
+  }
+  g_ptr_array_free(rects, TRUE);
+  if (any_parented) {
+    diagram_modified(dia);
+    diagram_flush(dia);
+    undo_set_transactionpoint(dia->undo);
+  }
+}
+
+/** Remove all selected objects from their parents (if any). */
+void diagram_unparent_selected(Diagram *dia)
+{
+  GList *list;
+  Object *obj, *parent;
+  Change *change;
+  gboolean any_unparented = FALSE;
+
+  for (list = dia->data->selected; list != NULL; list = g_list_next(list))
+  {
+    obj = (Object *) list->data;
+    parent = obj->parent;
+    
+    if (!parent)
+      continue;
+
+    change = undo_parenting(dia, parent, obj, FALSE);
+    (change->apply)(change, dia);
+    any_unparented = TRUE;
+    /*
+    parent->children = g_list_remove(parent->children, obj);
+    obj->parent = NULL;
+    */
+  }
+  if (any_unparented) {
+    diagram_modified(dia);
+    diagram_flush(dia);
+    undo_set_transactionpoint(dia->undo);
+  }
+}
+
+/** Remove all children from the selected parents. */
+void diagram_unparent_children_selected(Diagram *dia)
+{
+  GList *list;
+  GList *child_ptr;
+  Object *obj, *child;
+  gboolean any_unparented = FALSE;
+  for (list = dia->data->selected; list != NULL; list = g_list_next(list))
+  {
+    obj = (Object *) list->data;
+    if (!obj->can_parent || !obj->children)
+      continue;
+
+    any_unparented = TRUE;
+    /* Yes, this creates a whole bunch of Changes.  They're lightweight
+     * structures, though, and it's easier to assure correctness this
+     * way.  If needed, we can make a parent undo with a list of children.
+     */
+    while (obj->children != NULL) {
+      Change *change;
+      child = (Object *) obj->children->data;
+      change = undo_parenting(dia, obj, child, FALSE);
+      /* This will remove one item from the list, so the while terminates. */
+      (change->apply)(change, dia);
+    }
+    /*
+    for (child_ptr = obj->children; child_ptr != NULL; 
+	 child_ptr = g_list_next(child_ptr))
+    {
+      Change *change;
+      child = (Object *) child_ptr->data;
+      change = undo_parenting(dia, obj, child, FALSE);
+      (change->apply)(change, dia);
+    }
+    */
+    if (obj->children != NULL)
+      printf("Obj still has %d children\n",
+	     g_list_length(obj->children));
+    /*
+    g_list_free(obj->children);
+    obj->children = NULL;
+    */
+  }
+  if (any_unparented) {
+    diagram_modified(dia);
+    diagram_flush(dia);
+    undo_set_transactionpoint(dia->undo);
+  }
+}
+
+void diagram_group_selected(Diagram *dia)
+{
+  GList *list;
+  GList *group_list;
+  Object *group;
+  Object *obj;
+  GList *orig_list;
+  Change *change;
+
+  dia->data->selected = parent_list_affected(dia->data->selected);
+
+  orig_list = g_list_copy(dia->data->active_layer->objects);
+  
+  /* We have to rebuild the selection list so that it is the same
+     order as in the Diagram list. */
+  group_list = diagram_get_sorted_selected_remove(dia);
+  
+  list = group_list;
+  while (list != NULL) {
+    obj = (Object *)list->data;
+
+    /* Remove connections from obj to objects outside created group. */
+    /* strip_connections sets up its own undo info. */
+    /* The connections aren't reattached by ungroup. */
+    strip_connections(obj, dia->data->selected, dia);
+    
+    /* Have to hide any open properties dialog
+     * if it contains some object in cut_list */
+    /* Now handled by undo_apply
+    properties_hide_if_shown(dia, obj);
+    */
+
+    /* Remove focus if active */
+    /* Now handled by undo apply
+    if ((active_focus()!=NULL) && (active_focus()->obj == obj)) {
+      remove_focus();
+    }
+    */
+
+    /* Now handled by the undo apply
+    object_add_updates(obj, dia);
+    */
+    list = g_list_next(list);
+  }
+
+  /* Remove list of selected objects */
+  data_remove_all_selected(dia->data);
+  
+  group = group_create(group_list);
+  change = undo_group_objects(dia, group_list, group, orig_list);
+  (change->apply)(change, dia);
+
+  /* Select the created group */
+  diagram_select(dia, group);
+  
+  diagram_modified(dia);
+  diagram_flush(dia);
+
+  undo_set_transactionpoint(dia->undo);
+}
+
+void diagram_ungroup_selected(Diagram *dia)
+{
+  Object *group;
+  GList *group_list;
+  GList *list;
+  GList *selected;
+  int group_index;
+  int any_groups = 0;
+  
+  if (dia->data->selected_count < 1) {
+    message_error("Trying to ungroup with no selected objects.");
+    return;
+  }
+  
+  selected = dia->data->selected;
+  while (selected != NULL) {
+    group = (Object *)selected->data;
+
+    if (IS_GROUP(group)) {
+      Change *change;
+
+      /* Fix selection */
+      diagram_unselect_object(dia, group);
+
+      group_list = group_objects(group);
+      diagram_select_list(dia, group_list);
+      /* Now handled by undo apply */      
+      /*list = group_list;
+      while (list != NULL) {
+	Object *obj = (Object *)list->data;
+	object_add_updates(obj, dia);
+	list = g_list_next(list);
+      }
+      */
+
+      /* Now handled by undo apply
+      layer_replace_object_with_list(dia->data->active_layer,
+				     group, g_list_copy(group_list));
+      */
+
+      group_index = layer_object_index(dia->data->active_layer, group);
+    
+      change = undo_ungroup_objects(dia, group_list, group, group_index);
+      (change->apply)(change, dia);
+      /* Now handled by undo apply 
+      diagram_tree_add_objects(diagram_tree(), dia, group_list);
+      diagram_tree_remove_object(diagram_tree(), group);
+      properties_hide_if_shown(dia, group);
+      */
+
+      any_groups = 1;
+    }
+    selected = g_list_next(selected);
+  }
+  
+  if (any_groups) {
+    diagram_modified(dia);
+    diagram_flush(dia);
+    undo_set_transactionpoint(dia->undo);
+  }
+}
+
+GList *
+diagram_get_sorted_selected(Diagram *dia)
+{
+  return data_get_sorted_selected(dia->data);
+}
+
+/* Removes selected from objects list, NOT selected list! */
+GList *
+diagram_get_sorted_selected_remove(Diagram *dia)
+{
+  diagram_modified(dia);
+
+  return data_get_sorted_selected_remove(dia->data);
+}
+
+void
+diagram_place_under_selected(Diagram *dia)
+{
+  GList *sorted_list;
+  GList *orig_list;
+
+  if (dia->data->selected_count == 0)
+    return;
+
+  orig_list = g_list_copy(dia->data->active_layer->objects);
+
+  sorted_list = diagram_get_sorted_selected_remove(dia);
+  object_add_updates_list(sorted_list, dia);
+  layer_add_objects_first(dia->data->active_layer, sorted_list);
+  
+  undo_reorder_objects(dia, g_list_copy(sorted_list), orig_list);
+
+  diagram_modified(dia);
+  diagram_flush(dia);
+  undo_set_transactionpoint(dia->undo);
+}
+
+void
+diagram_place_over_selected(Diagram *dia)
+{
+  GList *sorted_list;
+  GList *orig_list;
+
+  if (dia->data->selected_count == 0)
+    return;
+
+  orig_list = g_list_copy(dia->data->active_layer->objects);
+  
+  sorted_list = diagram_get_sorted_selected_remove(dia);
+  object_add_updates_list(sorted_list, dia);
+  layer_add_objects(dia->data->active_layer, sorted_list);
+  
+  undo_reorder_objects(dia, g_list_copy(sorted_list), orig_list);
+
+  diagram_modified(dia);
+  diagram_flush(dia);
+  undo_set_transactionpoint(dia->undo);
+}
+
+void
+diagram_place_up_selected(Diagram *dia)
+{
+  GList *sorted_list;
+  GList *orig_list;
+  GList *tmp, *stmp;
+  GList *new_list = NULL;
+
+  if (dia->data->selected_count == 0)
+    return;
+
+  orig_list = g_list_copy(dia->data->active_layer->objects);
+  
+  sorted_list = diagram_get_sorted_selected(dia);
+  object_add_updates_list(orig_list, dia);
+
+  new_list = g_list_copy(orig_list);
+  stmp = g_list_last(sorted_list);
+
+  for (tmp = g_list_last(new_list);
+       tmp != NULL;
+       tmp = g_list_previous(tmp)) {
+    if (stmp == NULL) break;
+    if (tmp->prev == NULL) break;
+    if (tmp->data == stmp->data) {
+      stmp = g_list_previous(stmp);
+    } else if (tmp->prev->data == stmp->data) {
+      void *swap = tmp->data;
+      tmp->data = tmp->prev->data;
+      tmp->prev->data = swap;
+      stmp = g_list_previous(stmp);
+    }
+  }
+
+  layer_set_object_list(dia->data->active_layer, new_list);
+
+  undo_reorder_objects(dia, g_list_copy(sorted_list), orig_list);
+
+  diagram_modified(dia);
+  diagram_flush(dia);
+  undo_set_transactionpoint(dia->undo);
+}
+
+void
+diagram_place_down_selected(Diagram *dia)
+{
+  GList *sorted_list;
+  GList *orig_list;
+  GList *tmp, *stmp;
+  GList *new_list = NULL;
+
+  if (dia->data->selected_count == 0)
+    return;
+
+  orig_list = g_list_copy(dia->data->active_layer->objects);
+  
+  sorted_list = diagram_get_sorted_selected(dia);
+  object_add_updates_list(orig_list, dia);
+
+  /* Sanity check */
+  g_assert(dia->data->selected_count == g_list_length(sorted_list));
+
+  new_list = g_list_copy(orig_list);
+  tmp = new_list;
+  stmp = sorted_list;
+
+  for (tmp = new_list; tmp != NULL; tmp = g_list_next(tmp)) {
+    if (stmp == NULL) break;
+    if (tmp->next == NULL) break;
+    if (tmp->data == stmp->data) {
+      /* This just takes care of any starting matches */
+      stmp = g_list_next(stmp);
+    } else if (tmp->next->data == stmp->data) {
+      /* This flips the non-selected element forwards, ala bubblesort */
+      void *swap = tmp->data;
+      tmp->data = tmp->next->data;
+      tmp->next->data = swap;
+      stmp = g_list_next(stmp);
+    }
+  }
+
+  layer_set_object_list(dia->data->active_layer, new_list);
+
+  undo_reorder_objects(dia, g_list_copy(sorted_list), orig_list);
+
+  diagram_modified(dia);
+  diagram_flush(dia);
+  undo_set_transactionpoint(dia->undo);
+}
+
+void
+diagram_set_filename(Diagram *dia, char *filename)
+{
+  GSList *l;
+  DDisplay *ddisp;
+  char *title;
+  
+  g_free(dia->filename);
+  dia->filename = g_strdup(filename);
+
+  title = diagram_get_name(dia);
+
+  l = dia->displays;
+  while (l!=NULL) {
+    ddisp = (DDisplay *) l->data;
+
+    ddisplay_set_title(ddisp, title);
+    
+    l = g_slist_next(l);
+  }
+
+  g_free(title);
+
+  layer_dialog_update_diagram_list();
+  recent_file_history_add((const char *)filename, NULL, 0);
+
+  diagram_tree_update_name(diagram_tree(), dia);
+}
+
+/** Returns a string with a 'sensible' (human-readable) name for the
+ * diagram.  The string should be freed after use.
+ * This name may or may not be the same as the filename.
+ */
+gchar *
+diagram_get_name(Diagram *dia)
+{
+  gchar *title = strrchr(dia->filename, G_DIR_SEPARATOR);
+  if (title==NULL) {
+    title = dia->filename;
+  } else {
+    title++;
+  }
+  
+  return g_strdup(title);
+}
+
+int diagram_modified_exists(void)
+{
+  GList *list;
+  Diagram *dia;
+
+  list = open_diagrams;
+
+  while (list != NULL) {
+    dia = (Diagram *) list->data;
+
+    if (dia->modified)
+      return TRUE;
+
+    list = g_list_next(list);
+  }
+  return FALSE;
+}
+
+void diagram_object_modified(Diagram *dia, Object *object)
+{
+  diagram_tree_update_object(diagram_tree(), dia, object);
+}
diff -Nuar cvs-dia/app/grid.c dia/app/grid.c
--- cvs-dia/app/grid.c	2003-08-21 22:59:37.000000000 +0200
+++ dia/app/grid.c	2003-08-30 19:39:49.000000000 +0200
@@ -50,7 +50,7 @@
   guint major_lines = ddisp->diagram->data->grid.major_lines;
   DiaRenderer *renderer = ddisp->renderer;
   DiaInteractiveRendererInterface *irenderer;
-  int major_count;
+  int major_count = 0;
 
   irenderer = DIA_GET_INTERACTIVE_RENDERER_INTERFACE (renderer);
 
@@ -87,7 +87,7 @@
   guint major_lines = ddisp->diagram->data->grid.major_lines;
   DiaRenderer *renderer = ddisp->renderer;
   DiaInteractiveRendererInterface *irenderer;
-  int major_count;
+  int major_count = 0;
 
   irenderer = DIA_GET_INTERACTIVE_RENDERER_INTERFACE (renderer);
 
@@ -114,6 +114,100 @@
   }
 }
 
+static void
+grid_draw_hex(DDisplay *ddisp, Rectangle *update, real length)
+{
+  real horiz_pos, vert_pos;
+  int to_x, to_y, x, y;
+  DiaRenderer *renderer = ddisp->renderer;
+  DiaInteractiveRendererInterface *irenderer;
+
+  irenderer = DIA_GET_INTERACTIVE_RENDERER_INTERFACE (renderer);
+
+  /* First horizontal lines: */
+  vert_pos = ceil( update->top / (length * sqrt(3)) ) * length * sqrt(3);
+  while (vert_pos <= update->bottom) {
+    horiz_pos = ceil( (update->left) / (3 * length) ) * length * 3 - length * 2.5;
+    while (horiz_pos <= update->right) {
+      ddisplay_transform_coords(ddisp, horiz_pos, vert_pos, &x, &y);
+      ddisplay_transform_coords(ddisp, horiz_pos + length, vert_pos, &to_x, &y);
+	  
+      irenderer->draw_pixel_line(renderer,
+				 x, y, to_x, y,
+				 &ddisp->diagram->data->grid.colour);
+      horiz_pos += 3 * length;
+    }
+	
+    vert_pos += sqrt(3) * length;
+  }
+
+  /*  Second horizontal lines: */
+  vert_pos = ceil( update->top / (length * sqrt(3)) ) * length * sqrt(3) - 0.5 * sqrt(3) * length;
+  while (vert_pos <= update->bottom) {
+    horiz_pos = ceil( (update->left) / (3 * length) ) * length * 3 - length;
+    while (horiz_pos <= update->right) {
+      ddisplay_transform_coords(ddisp, horiz_pos, vert_pos, &x, &y);
+      ddisplay_transform_coords(ddisp, horiz_pos+length, vert_pos, &to_x, &y);
+	  
+      irenderer->draw_pixel_line(renderer,
+				 x, y, to_x, y,
+				 &ddisp->diagram->data->grid.colour);
+      horiz_pos += 3 * length;
+    }
+	
+    vert_pos += sqrt(3) * length;
+  }
+
+  /* First \'s and /'s */
+  vert_pos = ceil( update->top / (length * sqrt(3)) ) * length * sqrt(3) - length * sqrt(3);
+  while (vert_pos <= update->bottom) {
+    horiz_pos = ceil( (update->left) / (3 * length) ) * length * 3 - length * 2.5;
+    while (horiz_pos <= update->right) {
+      ddisplay_transform_coords(ddisp, horiz_pos + length, vert_pos, &x, &y);
+      ddisplay_transform_coords(ddisp, horiz_pos + 1.5 * length, vert_pos + length * sqrt(3) * 0.5, &to_x, &to_y);
+	  
+      irenderer->draw_pixel_line(renderer,
+				 x, y, to_x, to_y,
+				 &ddisp->diagram->data->grid.colour);
+
+      ddisplay_transform_coords(ddisp, horiz_pos, vert_pos, &x, &y);
+      ddisplay_transform_coords(ddisp, horiz_pos - 0.5 * length, vert_pos + length * sqrt(3) * 0.5, &to_x, &to_y);
+	  
+      irenderer->draw_pixel_line(renderer,
+				 x, y, to_x, to_y,
+				 &ddisp->diagram->data->grid.colour);
+      horiz_pos += 3 * length;
+    }
+	
+    vert_pos += sqrt(3) * length;
+  }
+
+  /*  Second \'s and /'s */
+  vert_pos = ceil( update->top / (length * sqrt(3)) ) * length * sqrt(3) - 0.5 * sqrt(3) * length;
+  while (vert_pos <= update->bottom) {
+    horiz_pos = ceil( (update->left) / (3 * length) ) * length * 3 - length;
+    while (horiz_pos <= update->right) {
+      ddisplay_transform_coords(ddisp, horiz_pos, vert_pos, &x, &y);
+      ddisplay_transform_coords(ddisp, horiz_pos - 0.5 * length, vert_pos + 0.5 * sqrt(3) * length, &to_x, &to_y);
+	  
+      irenderer->draw_pixel_line(renderer,
+				 x, y, to_x, to_y,
+				 &ddisp->diagram->data->grid.colour);
+
+      ddisplay_transform_coords(ddisp, horiz_pos + length, vert_pos, &x, &y);
+      ddisplay_transform_coords(ddisp, horiz_pos + 1.5 * length, vert_pos + 0.5 * sqrt(3) * length, &to_x, &to_y);
+	  
+      irenderer->draw_pixel_line(renderer,
+				 x, y, to_x, to_y,
+				 &ddisp->diagram->data->grid.colour);
+      horiz_pos += 3 * length;
+    }
+	
+    vert_pos += sqrt(3) * length;
+  }
+
+}
+
 void
 grid_draw(DDisplay *ddisp, Rectangle *update)
 {
@@ -127,6 +221,7 @@
     /* distance between visible grid lines */
     real width_x = ddisp->diagram->data->grid.width_x;
     real width_y = ddisp->diagram->data->grid.width_y;
+    real width_w = ddisp->diagram->data->grid.width_w;
     if (ddisp->diagram->data->grid.dynamic) {
       width_x = width_y = calculate_dynamic_grid(ddisp, &width_x, &width_y);
     } else {
@@ -140,12 +235,16 @@
     DIA_RENDERER_GET_CLASS(renderer)->set_dashlength(renderer,
 						     ddisplay_untransform_length(ddisp, 31));
     
-    if (ddisplay_transform_length(ddisp, width_y) >= 2.0 &&
-	ddisplay_transform_length(ddisp, width_x) >= 2.0) {
-      /* Vertical lines: */
-      grid_draw_vertical_lines(ddisp, update, width_x);
-      /* Horizontal lines: */
-      grid_draw_horizontal_lines(ddisp, update, width_y);
+    if (prefs.grid.hex) {
+      grid_draw_hex(ddisp, update, width_w);
+    } else {
+      if (ddisplay_transform_length(ddisp, width_y) >= 2.0 &&
+	  ddisplay_transform_length(ddisp, width_x) >= 2.0) {
+	/* Vertical lines: */
+	grid_draw_vertical_lines(ddisp, update, width_x);
+	/* Horizontal lines: */
+	grid_draw_horizontal_lines(ddisp, update, width_y);
+      }
     }
   }
 }
@@ -205,12 +304,37 @@
 snap_to_grid(DDisplay *ddisp, coord *x, coord *y)
 {
   if (ddisp->grid.snap) {
-    real width_x = ddisp->diagram->data->grid.width_x;
-    real width_y = ddisp->diagram->data->grid.width_y;
-    if (prefs.grid.dynamic) {
-      calculate_dynamic_grid(ddisp, &width_x, &width_y);
+    if (prefs.grid.hex) {
+      real width_x = ddisp->diagram->data->grid.width_w;
+      real x_mod = (*x - 1*width_x) - floor((*x - 1*width_x) / (3*width_x)) * 3 * width_x;
+      real y_mod = (*y - 0.25*sqrt(3) * width_x) -
+	floor((*y - 0.25 * sqrt(3) * width_x) / (sqrt(3)*width_x)) * sqrt(3) * width_x;
+
+      if ( x_mod < (1.5 * width_x) ) {
+	if ( y_mod < 0.5 * sqrt(3) * width_x ) {
+	  *x = floor((*x + 0.5*width_x) / (3*width_x)) * 3 * width_x + 2 * width_x;
+	  *y = floor((*y - 0.25 * sqrt(3) * width_x) / (sqrt(3)*width_x)) * sqrt(3) * width_x + 0.5 * sqrt(3) * width_x;
+	} else {
+	  *x = floor((*x + 0.5*width_x) / (3*width_x)) * 3 * width_x + 1.5 * width_x;
+	  *y = floor((*y - 0.25 * sqrt(3) * width_x) / (sqrt(3)*width_x)) * sqrt(3) * width_x + sqrt(3) * width_x;
+	}
+      } else {
+	if ( y_mod < 0.5 * sqrt(3) * width_x ) {
+	  *x = floor((*x + 0.5*width_x) / (3*width_x)) * 3 * width_x ;
+	  *y = floor((*y - 0.25 * sqrt(3) * width_x) / (sqrt(3)*width_x)) * sqrt(3) * width_x + 0.5 * sqrt(3) * width_x;
+	} else {
+	  *x = floor((*x + 0.5*width_x) / (3*width_x)) * 3 * width_x + 0.5 * width_x;
+	  *y = floor((*y - 0.25 * sqrt(3) * width_x) / (sqrt(3)*width_x)) * sqrt(3) * width_x + sqrt(3) * width_x;
+	}
+      }
+    } else {
+      real width_x = ddisp->diagram->data->grid.width_x;
+      real width_y = ddisp->diagram->data->grid.width_y;
+      if (prefs.grid.dynamic) {
+	calculate_dynamic_grid(ddisp, &width_x, &width_y);
+      }
+      *x = ROUND((*x) / width_x) * width_x;
+      *y = ROUND((*y) / width_y) * width_y;
     }
-    *x = ROUND((*x) / width_x) * width_x;
-    *y = ROUND((*y) / width_y) * width_y;
   }
 }
diff -Nuar cvs-dia/app/grid.c.orig dia/app/grid.c.orig
--- cvs-dia/app/grid.c.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/app/grid.c.orig	2003-08-30 19:39:04.000000000 +0200
@@ -0,0 +1,216 @@
+/* Dia -- an diagram creation/manipulation program
+ * Copyright (C) 1998 Alexander Larsson
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include <glib.h>
+
+#include "intl.h"
+#include "grid.h"
+#include "preferences.h"
+
+/** Calculate the width (in cm) of the gap between grid lines in dynamic
+ * grid mode.
+ */
+static real
+calculate_dynamic_grid(DDisplay *ddisp, real *width_x, real *width_y)
+{
+  real zoom = ddisplay_untransform_length(ddisp, 1.0);
+  /* Twiddle zoom to make change-over appropriate */
+  zoom *= 5;
+  return pow(10, ceil(log10(zoom)));
+}
+
+static void
+grid_draw_horizontal_lines(DDisplay *ddisp, Rectangle *update, real length) 
+{
+  int x, y;
+  real pos;
+  int height, width;
+  guint major_lines = ddisp->diagram->data->grid.major_lines;
+  DiaRenderer *renderer = ddisp->renderer;
+  DiaInteractiveRendererInterface *irenderer;
+  int major_count;
+
+  irenderer = DIA_GET_INTERACTIVE_RENDERER_INTERFACE (renderer);
+
+  pos = ceil( update->top / length ) * length;
+  ddisplay_transform_coords(ddisp, update->left, pos, &x, &y);
+  ddisplay_transform_coords(ddisp, update->right, update->bottom, &width, &height);
+
+  if (major_lines) {
+    major_count = pos/length;
+    major_count %= major_lines;
+  }
+
+  while (y < height) {
+    if (major_lines) {
+      if (major_count == 0)
+	DIA_RENDERER_GET_CLASS(renderer)->set_linestyle(renderer, LINESTYLE_SOLID);
+      else
+	DIA_RENDERER_GET_CLASS(renderer)->set_linestyle(renderer, LINESTYLE_DOTTED);
+      major_count = (major_count+1)%major_lines;
+    }
+    irenderer->draw_pixel_line(renderer, x, y, width, y,
+			       &ddisp->diagram->data->grid.colour);
+    pos += length;
+    ddisplay_transform_coords(ddisp, update->left, pos, &x, &y);
+  }
+}
+
+static void
+grid_draw_vertical_lines(DDisplay *ddisp, Rectangle *update, real length) 
+{
+  int x = 0, y = 0;
+  real pos;
+  int height, width;
+  guint major_lines = ddisp->diagram->data->grid.major_lines;
+  DiaRenderer *renderer = ddisp->renderer;
+  DiaInteractiveRendererInterface *irenderer;
+  int major_count;
+
+  irenderer = DIA_GET_INTERACTIVE_RENDERER_INTERFACE (renderer);
+
+  pos = ceil( update->left / length ) * length;
+  ddisplay_transform_coords(ddisp, update->right, update->bottom, &width, &height);
+
+  if (major_lines) {
+    major_count = pos/length;
+    major_count %= major_lines;
+  }
+
+  while (x < width) {
+    ddisplay_transform_coords(ddisp, pos, update->top, &x, &y);
+    if (major_lines) {
+      if (major_count == 0)
+	DIA_RENDERER_GET_CLASS(renderer)->set_linestyle(renderer, LINESTYLE_SOLID);
+      else
+	DIA_RENDERER_GET_CLASS(renderer)->set_linestyle(renderer, LINESTYLE_DOTTED);
+      major_count = (major_count+1)%major_lines;
+    }
+    irenderer->draw_pixel_line(renderer, x, y, x, height,
+			       &ddisp->diagram->data->grid.colour);
+    pos += length;
+  }
+}
+
+void
+grid_draw(DDisplay *ddisp, Rectangle *update)
+{
+  Grid *grid = &ddisp->grid;
+  DiaRenderer *renderer = ddisp->renderer;
+  int major_lines;
+
+  if (grid->visible) {
+    int width = dia_renderer_get_width_pixels(ddisp->renderer);
+    int height = dia_renderer_get_height_pixels(ddisp->renderer);
+    /* distance between visible grid lines */
+    real width_x = ddisp->diagram->data->grid.width_x;
+    real width_y = ddisp->diagram->data->grid.width_y;
+    if (ddisp->diagram->data->grid.dynamic) {
+      width_x = width_y = calculate_dynamic_grid(ddisp, &width_x, &width_y);
+    } else {
+      width_x = ddisp->diagram->data->grid.width_x *
+	ddisp->diagram->data->grid.visible_x;
+      width_y = ddisp->diagram->data->grid.width_y *
+	ddisp->diagram->data->grid.visible_y;
+    }
+
+    DIA_RENDERER_GET_CLASS(renderer)->set_linewidth(renderer, 0.0);
+    DIA_RENDERER_GET_CLASS(renderer)->set_dashlength(renderer,
+						     ddisplay_untransform_length(ddisp, 31));
+    
+    if (ddisplay_transform_length(ddisp, width_y) >= 2.0 &&
+	ddisplay_transform_length(ddisp, width_x) >= 2.0) {
+      /* Vertical lines: */
+      grid_draw_vertical_lines(ddisp, update, width_x);
+      /* Horizontal lines: */
+      grid_draw_horizontal_lines(ddisp, update, width_y);
+    }
+  }
+}
+
+void
+pagebreak_draw(DDisplay *ddisp, Rectangle *update)
+{
+  DiaRenderer *renderer = ddisp->renderer;
+  DiaInteractiveRendererInterface *irenderer;
+
+  int width = dia_renderer_get_width_pixels(ddisp->renderer);
+  int height = dia_renderer_get_height_pixels(ddisp->renderer);
+  
+  irenderer = DIA_GET_INTERACTIVE_RENDERER_INTERFACE (renderer);
+  if (prefs.pagebreak.visible) {
+    Diagram *dia = ddisp->diagram;
+    real origx = 0, origy = 0, pos;
+    real pwidth = dia->data->paper.width;
+    real pheight = dia->data->paper.height;
+    int x,y;
+
+    DIA_RENDERER_GET_CLASS(renderer)->set_linewidth(renderer, 0.0);
+    DIA_RENDERER_GET_CLASS(renderer)->set_dashlength(renderer,
+				    ddisplay_untransform_length(ddisp, 31));
+    if (prefs.pagebreak.solid)
+      DIA_RENDERER_GET_CLASS(renderer)->set_linestyle(renderer, LINESTYLE_SOLID);
+    else
+      DIA_RENDERER_GET_CLASS(renderer)->set_linestyle(renderer, LINESTYLE_DOTTED);
+
+    if (dia->data->paper.fitto) {
+      origx = dia->data->extents.left;
+      origy = dia->data->extents.top;
+    }
+
+    /* vertical lines ... */
+    pos = origx + ceil((update->left - origx) / pwidth) * pwidth;
+    while (pos <= update->right) {
+      ddisplay_transform_coords(ddisp, pos,0,&x,&y);
+      irenderer->draw_pixel_line(renderer,
+                                 x, 0, x, height,
+				 &dia->data->pagebreak_color);
+      pos += pwidth;
+    }
+    /* Horizontal lines: */
+    pos = origy + ceil((update->top - origy) / pheight) * pheight;
+    while (pos <= update->bottom) {
+      ddisplay_transform_coords(ddisp, 0,pos,&x,&y);
+      irenderer->draw_pixel_line(renderer,
+				 0, y, width, y,
+				 &dia->data->pagebreak_color);
+      pos += pheight;
+    }
+  }
+}
+
+void
+snap_to_grid(DDisplay *ddisp, coord *x, coord *y)
+{
+  if (ddisp->grid.snap) {
+    real width_x = ddisp->diagram->data->grid.width_x;
+    real width_y = ddisp->diagram->data->grid.width_y;
+    if (prefs.grid.dynamic) {
+      calculate_dynamic_grid(ddisp, &width_x, &width_y);
+    }
+    *x = ROUND((*x) / width_x) * width_x;
+    *y = ROUND((*y) / width_y) * width_y;
+  }
+}
diff -Nuar cvs-dia/app/preferences.c dia/app/preferences.c
--- cvs-dia/app/preferences.c	2003-08-27 16:14:49.000000000 +0200
+++ dia/app/preferences.c	2003-08-30 19:39:49.000000000 +0200
@@ -157,6 +157,9 @@
   { "grid_y", PREF_UREAL, PREF_OFFSET(grid.y), &default_real_one, 3, N_("Y Size:") },
   { "grid_colour", PREF_COLOUR, PREF_OFFSET(new_diagram.grid_color), &default_colour, 3, N_("Colour:") },
   { "grid_major", PREF_UINT, PREF_OFFSET(grid.major_lines), &default_major_lines, 3, N_("Lines per major line") },
+  { "grid_hex", PREF_BOOLEAN, PREF_OFFSET(grid.hex), &default_false, 3, N_("Hex grid") },
+  { "grid_w", PREF_UREAL, PREF_OFFSET(grid.w), &default_real_one, 3, N_("Hex Size:")
+ },
   /*  { "grid_solid", PREF_BOOLEAN, PREF_OFFSET(grid.solid), &default_true, 3, N_("Solid lines:") },  */
 
   { "render_bounding_boxes", PREF_BOOLEAN,PREF_OFFSET(render_bounding_boxes),
diff -Nuar cvs-dia/app/preferences.c.orig dia/app/preferences.c.orig
--- cvs-dia/app/preferences.c.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/app/preferences.c.orig	2003-08-30 19:39:04.000000000 +0200
@@ -0,0 +1,848 @@
+/* Dia -- an diagram creation/manipulation program
+ * Copyright (C) 1999 Alexander Larsson
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+#include <config.h>
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifdef HAVE_STDDEF_H
+#include <stddef.h>
+#endif
+#include <locale.h>
+
+#include <gtk/gtk.h>
+
+#include "intl.h"
+#include "widgets.h"
+#include "diagram.h"
+#include "message.h"
+#include "preferences.h"
+#include "dia_dirs.h"
+#include "diagramdata.h"
+#include "paper.h"
+#include "interface.h"
+
+#ifdef G_OS_WIN32
+#include <io.h> /* open, close */
+#endif
+
+struct DiaPreferences prefs;
+
+enum DiaPrefType {
+  PREF_NONE,
+  PREF_BOOLEAN,
+  PREF_INT,
+  PREF_UINT,
+  PREF_REAL,
+  PREF_UREAL,
+  PREF_COLOUR,
+  PREF_CHOICE,
+  PREF_STRING,
+  PREF_END_GROUP
+};
+
+typedef struct _DiaPrefData {
+  char *name;
+  enum DiaPrefType type;
+  int offset;
+  void *default_value;
+  int tab;
+  char *label_text;
+  GtkWidget *widget;
+  gboolean hidden;
+  GList *(*choice_list_function)();
+} DiaPrefData;
+
+static int default_true = 1;
+static int default_false = 0;
+static int default_major_lines = 5;
+static real default_real_one = 1.0;
+static real default_real_zoom = 100.0;
+static int default_int_w = 500;
+static int default_int_h = 400;
+static int default_undo_depth = 15;
+static guint default_recent_documents = 5;
+static Color default_colour = DEFAULT_GRID_COLOR;
+static Color pbreak_colour = DEFAULT_PAGEBREAK_COLOR;
+static guint default_dtree_dia_sort = DIA_TREE_SORT_INSERT;
+static guint default_dtree_obj_sort = DIA_TREE_SORT_INSERT;
+static const gchar *default_paper_name = NULL;
+
+struct DiaPrefsTab {
+  char *title;
+  GtkTable *table;
+  int row;
+};
+
+struct DiaPrefsTab prefs_tabs[] =
+{
+  {N_("User Interface"), NULL, 0},
+  {N_("Diagram Defaults"), NULL, 0},
+  {N_("View Defaults"), NULL, 0},
+  {N_("Grid Lines"), NULL, 0},
+  {N_("Diagram Tree"), NULL, 0},
+};
+
+#define NUM_PREFS_TABS (sizeof(prefs_tabs)/sizeof(struct DiaPrefsTab))
+
+/* retrive a structure offset */
+#ifdef offsetof
+#define PREF_OFFSET(field)        ((int) offsetof (struct DiaPreferences, field))
+#else /* !offsetof */
+#define PREF_OFFSET(field)        ((int) ((char*) &((struct DiaPreferences *) 0)->field))
+#endif /* !offsetof */
+
+DiaPrefData prefs_data[] =
+{
+  { "reset_tools_after_create", PREF_BOOLEAN, PREF_OFFSET(reset_tools_after_create), &default_true, 0, N_("Reset tools after create") },
+  { "compress_save", PREF_BOOLEAN, PREF_OFFSET(new_diagram.compress_save), &default_true, 0, N_("Compress saved files") },
+  { "undo_depth", PREF_UINT, PREF_OFFSET(undo_depth), &default_undo_depth, 0, N_("Number of undo levels:") },
+  { "reverse_rubberbanding_intersects", PREF_BOOLEAN, PREF_OFFSET(reverse_rubberbanding_intersects), &default_true, 0, N_("Reverse dragging selects\nintersecting objects") },
+  { "recent_documents_list_size", PREF_UINT, PREF_OFFSET(recent_documents_list_size), &default_recent_documents, 0, N_("Recent documents list size:") },
+  { "use_menu_bar", PREF_BOOLEAN, PREF_OFFSET(new_view.use_menu_bar), &default_false, 0, N_("Use menu bar") },
+  { "toolbox_on_top", PREF_BOOLEAN, PREF_OFFSET(toolbox_on_top),
+    &default_false, 0, N_("Keep tool box on top of diagram windows") },
+  
+  { NULL, PREF_NONE, 0, NULL, 1, N_("New diagram:") },
+  { "is_portrait", PREF_BOOLEAN, PREF_OFFSET(new_diagram.is_portrait), &default_true, 1, N_("Portrait") },
+  { "new_diagram_papertype", PREF_CHOICE, PREF_OFFSET(new_diagram.papertype),
+    &default_paper_name, 1, N_("Paper type:"), NULL, FALSE,
+    get_paper_name_list },
+  { "new_diagram_bgcolour", PREF_COLOUR, PREF_OFFSET(new_diagram.bg_color),
+    &color_white, 1, N_("Background Colour:") },
+  { NULL, PREF_END_GROUP, 0, NULL, 1, NULL },
+
+  { NULL, PREF_NONE, 0, NULL, 1, N_("New window:") },
+  { "new_view_width", PREF_UINT, PREF_OFFSET(new_view.width), &default_int_w, 1, N_("Width:") },
+  { "new_view_height", PREF_UINT, PREF_OFFSET(new_view.height), &default_int_h, 1, N_("Height:") },
+  { "new_view_zoom", PREF_UREAL, PREF_OFFSET(new_view.zoom), &default_real_zoom, 1, N_("Magnify:") },
+  { NULL, PREF_END_GROUP, 0, NULL, 1, NULL },
+
+  { NULL, PREF_NONE, 0, NULL, 1, N_("Connection Points:") },
+  { "show_cx_pts", PREF_BOOLEAN, PREF_OFFSET(show_cx_pts), &default_true, 1, N_("Visible") },
+  { NULL, PREF_END_GROUP, 0, NULL, 1, NULL },
+
+  { NULL, PREF_NONE, 0, NULL, 2, N_("Page breaks:") },
+  { "pagebreak_visible", PREF_BOOLEAN, PREF_OFFSET(pagebreak.visible), &default_true, 2, N_("Visible") },
+  { "pagebreak_colour", PREF_COLOUR, PREF_OFFSET(new_diagram.pagebreak_color), &pbreak_colour, 2, N_("Colour:") },
+  { "pagebreak_solid", PREF_BOOLEAN, PREF_OFFSET(pagebreak.solid), &default_true, 2, N_("Solid lines") },
+  { NULL, PREF_END_GROUP, 0, NULL, 2, NULL },
+  
+  /*{ NULL, PREF_NONE, 0, NULL, 3, N_("Grid:") }, */
+  { "grid_visible", PREF_BOOLEAN, PREF_OFFSET(grid.visible), &default_true, 3, N_("Visible") },
+  { "grid_snap", PREF_BOOLEAN, PREF_OFFSET(grid.snap), &default_false, 3, N_("Snap to") },
+  { "grid_dynamic", PREF_BOOLEAN, PREF_OFFSET(grid.dynamic), &default_true, 3, N_("Dynamic grid resizing") },
+  { "grid_x", PREF_UREAL, PREF_OFFSET(grid.x), &default_real_one, 3, N_("X Size:") },
+  { "grid_y", PREF_UREAL, PREF_OFFSET(grid.y), &default_real_one, 3, N_("Y Size:") },
+  { "grid_colour", PREF_COLOUR, PREF_OFFSET(new_diagram.grid_color), &default_colour, 3, N_("Colour:") },
+  { "grid_major", PREF_UINT, PREF_OFFSET(grid.major_lines), &default_major_lines, 3, N_("Lines per major line") },
+  /*  { "grid_solid", PREF_BOOLEAN, PREF_OFFSET(grid.solid), &default_true, 3, N_("Solid lines:") },  */
+
+  { "render_bounding_boxes", PREF_BOOLEAN,PREF_OFFSET(render_bounding_boxes),
+    &default_false,0,"render bounding boxes",NULL, TRUE},
+
+  /* There's really no reason to not pertty format it, and allowing non-pretty
+     can lead to problems with long lines, CVS etc. 
+  { "pretty_formated_xml", PREF_BOOLEAN,PREF_OFFSET(pretty_formated_xml),
+    &default_true,0,"pretty formated xml",NULL, TRUE},
+  */
+
+  { "prefer_psprint", PREF_BOOLEAN,PREF_OFFSET(prefer_psprint),
+    &default_false,0,"prefer psprint", NULL, TRUE},
+
+  { "recent_sheet", PREF_UINT,PREF_OFFSET(recent_sheet),
+    &default_false,0,"recent selected sheet:",NULL, TRUE},
+
+  { NULL, PREF_NONE, 0, NULL, 4, N_("Diagram tree window:") },
+  { "diagram_tree_save_hidden", PREF_BOOLEAN, PREF_OFFSET(dia_tree.save_hidden),
+    &default_false, 4, N_("Save hidden object types")},
+  { "diagram_tree_dia_sort", PREF_UINT, PREF_OFFSET(dia_tree.dia_sort),
+    &default_dtree_dia_sort, 4, "default diagram sort order", NULL, TRUE},
+  { "diagram_tree_obj_sort", PREF_UINT, PREF_OFFSET(dia_tree.obj_sort),
+    &default_dtree_obj_sort, 4, "default object sort order", NULL, TRUE},
+  { "diagram_tree_hidden", PREF_STRING, PREF_OFFSET(dia_tree.hidden),
+    &DIA_TREE_DEFAULT_HIDDEN, 4, "hidden type list", NULL, TRUE},
+  { NULL, PREF_END_GROUP, 0, NULL, 4, NULL },
+};
+
+#define NUM_PREFS_DATA (sizeof(prefs_data)/sizeof(DiaPrefData))
+
+static const GScannerConfig     dia_prefs_scanner_config =
+{
+  (
+   " \t\n"
+   )                    /* cset_skip_characters */,
+  (
+   G_CSET_a_2_z
+   "_"
+   G_CSET_A_2_Z
+   )                    /* cset_identifier_first */,
+  (
+   G_CSET_a_2_z
+   "_-0123456789"
+   G_CSET_A_2_Z
+   )                    /* cset_identifier_nth */,
+  ( "#\n" )             /* cpair_comment_single */,
+  
+  TRUE                  /* case_sensitive */,
+  
+  FALSE                 /* skip_comment_multi */,
+  TRUE                  /* skip_comment_single */,
+  FALSE                 /* scan_comment_multi */,
+  TRUE                  /* scan_identifier */,
+  TRUE                  /* scan_identifier_1char */,
+  FALSE                 /* scan_identifier_NULL */,
+  TRUE                  /* scan_symbols */,
+  FALSE                 /* scan_binary */,
+  FALSE                 /* scan_octal */,
+  TRUE                  /* scan_float */,
+  TRUE                  /* scan_hex */,
+  FALSE                 /* scan_hex_dollar */,
+  FALSE                 /* scan_string_sq */,
+  TRUE                  /* scan_string_dq */,
+  TRUE                  /* numbers_2_int */,
+  FALSE                 /* int_2_float */,
+  FALSE                 /* identifier_2_string */,
+  TRUE                  /* char_2_token */,
+  FALSE                 /* symbol_2_token */,
+  FALSE                 /* scope_0_fallback */,
+};
+
+typedef enum {
+  DIA_PREFS_TOKEN_BOOLEAN = G_TOKEN_LAST
+} DiaPrefsTokenType;
+
+static void prefs_create_dialog(void);
+static void prefs_set_value_in_widget(GtkWidget * widget, DiaPrefData *data,  char *ptr);
+static void prefs_get_value_from_widget(GtkWidget * widget, DiaPrefData *data, char *ptr);
+static void prefs_update_dialog_from_prefs(void);
+static void prefs_update_prefs_from_dialog(void);
+static gint prefs_apply(GtkWidget *widget, gpointer data);
+
+
+static GtkWidget *prefs_dialog = NULL;
+
+void
+prefs_show(void)
+{
+  prefs_create_dialog();
+  gtk_widget_show(prefs_dialog);
+  
+  prefs_update_dialog_from_prefs();
+}
+
+void
+prefs_set_defaults(void)
+{
+  int i;
+  char *ptr;
+
+  /* Since we can't call this in static initialization, we have to
+   * do it here.
+   */
+  if (default_paper_name == NULL)
+    default_paper_name = get_paper_name(get_default_paper());
+
+  for (i=0;i<NUM_PREFS_DATA;i++) {
+    ptr = (char *)&prefs + prefs_data[i].offset;
+
+    switch (prefs_data[i].type) {
+    case PREF_BOOLEAN:
+    case PREF_INT:
+    case PREF_UINT:
+      *(int *)ptr = *(int *)prefs_data[i].default_value;
+      break;
+    case PREF_REAL:
+    case PREF_UREAL:
+      *(real *)ptr = *(real *)prefs_data[i].default_value;
+      break;
+    case PREF_COLOUR:
+      *(Color *)ptr = *(Color *)prefs_data[i].default_value;
+      break;
+    case PREF_CHOICE:
+    case PREF_STRING:
+      *(gchar **)ptr = *(gchar **)prefs_data[i].default_value;
+      break;
+    case PREF_NONE:
+    case PREF_END_GROUP:
+      break;
+    }
+  }
+}
+
+void
+prefs_save(void)
+{
+  int i;
+  char *ptr;
+  gchar *filename;
+  char *old_locale;
+  FILE *file;
+
+  filename = dia_config_filename("diarc");
+
+  file = fopen(filename, "w");
+
+  if (!file) {
+    message_error(_("Could not open `%s' for writing"), filename);
+    g_free(filename);
+    return;
+  }
+  
+  g_free(filename);
+
+  old_locale = setlocale(LC_NUMERIC, "C");
+  fprintf(file, "# Note: This file is automatically generated by Dia\n");
+  for (i=0;i<NUM_PREFS_DATA;i++) {
+    if ((prefs_data[i].type == PREF_NONE) || (prefs_data[i].type == PREF_END_GROUP))
+      continue;
+    
+    fprintf(file, "%s=", prefs_data[i].name);
+    
+    ptr = (char *)&prefs + prefs_data[i].offset;
+
+    switch (prefs_data[i].type) {
+    case PREF_BOOLEAN:
+      fprintf(file, (*(int *)ptr)?"true\n":"false\n");
+      break;
+    case PREF_INT:
+    case PREF_UINT:
+      fprintf(file, "%d\n", *(int *)ptr);
+      break;
+    case PREF_REAL:
+    case PREF_UREAL:
+      
+      fprintf(file, "%f\n", (double) *(real *)ptr);
+      break;
+    case PREF_COLOUR:
+      fprintf(file, "%f %f %f\n", (double) ((Color *)ptr)->red,
+	      (double) ((Color *)ptr)->green, (double) ((Color *)ptr)->blue);
+      break;
+    case PREF_CHOICE:
+    case PREF_STRING:
+      fprintf(file, "\"%s\"\n", *(gchar **)ptr);
+      break;
+    case PREF_NONE:
+    case PREF_END_GROUP:
+      break;
+    }
+  }
+  setlocale(LC_NUMERIC, old_locale);
+  fclose(file);
+}
+
+
+static guint
+prefs_parse_line(GScanner *scanner)
+{
+  guint token;
+  int symbol_nr;
+  char *ptr;
+  
+  token = g_scanner_get_next_token(scanner);
+  if (token != G_TOKEN_SYMBOL)
+    return G_TOKEN_SYMBOL;
+
+  symbol_nr = GPOINTER_TO_INT(scanner->value.v_symbol);
+  
+  token = g_scanner_get_next_token(scanner);
+  if (token != G_TOKEN_EQUAL_SIGN)
+    return G_TOKEN_EQUAL_SIGN;
+
+  token = g_scanner_get_next_token(scanner);
+
+  ptr = (unsigned char *)&prefs + prefs_data[symbol_nr].offset;
+  
+  switch (prefs_data[symbol_nr].type) {
+  case PREF_BOOLEAN:
+    if (token != G_TOKEN_IDENTIFIER)
+      return G_TOKEN_IDENTIFIER;
+    
+    if (strcmp(scanner->value.v_string, "true")==0)
+      *(int *)ptr = 1;
+    else
+    *(int *)ptr = 0;
+    break;
+    
+  case PREF_INT:
+  case PREF_UINT:
+    if (token != G_TOKEN_INT)
+      return G_TOKEN_INT;
+    
+    *(int *)ptr = scanner->value.v_int;
+    break;
+
+  case PREF_REAL:
+  case PREF_UREAL:
+    if (token != G_TOKEN_FLOAT)
+      return G_TOKEN_FLOAT;
+    
+    *(real *)ptr = scanner->value.v_float;
+    break;
+  case PREF_COLOUR:
+    if (token != G_TOKEN_FLOAT)
+      return G_TOKEN_FLOAT;
+    ((Color *)ptr)->red = scanner->value.v_float;
+
+    token = g_scanner_get_next_token(scanner);
+    if (token != G_TOKEN_FLOAT)
+      return G_TOKEN_FLOAT;
+    ((Color *)ptr)->green = scanner->value.v_float;
+
+    token = g_scanner_get_next_token(scanner);
+    if (token != G_TOKEN_FLOAT)
+      return G_TOKEN_FLOAT;
+    ((Color *)ptr)->blue = scanner->value.v_float;
+
+    break;
+  case PREF_CHOICE:
+  case PREF_STRING:
+    if (token != G_TOKEN_STRING)
+      return G_TOKEN_STRING;
+
+    *(char **)ptr = g_strdup(scanner->value.v_string);
+    break;
+  case PREF_NONE:
+  case PREF_END_GROUP:
+    break;
+  }
+
+  return G_TOKEN_NONE;
+}
+
+
+void
+prefs_load(void)
+{
+  int i;
+  gchar *filename;
+  int fd;
+  GScanner *scanner;
+  guint expected_token;
+
+  filename = dia_config_filename("diarc");
+
+  fd = open(filename, O_RDONLY);
+
+  if (fd < 0) {
+    const gchar *homedir = g_get_home_dir();
+
+    g_free(filename);
+    filename = g_strconcat(homedir, G_DIR_SEPARATOR_S ".diarc", NULL);
+    fd = open(filename, O_RDONLY);
+  }
+  g_free(filename);
+
+  prefs_set_defaults();
+
+  if (fd < 0) {
+    return;
+  }
+
+  scanner = g_scanner_new ((GScannerConfig *) &dia_prefs_scanner_config);
+ 
+  g_scanner_input_file (scanner, fd);
+
+  scanner->input_name = filename;
+  for (i = 0; i < NUM_PREFS_DATA; i++)
+    if (prefs_data[i].name != NULL) {
+      g_scanner_add_symbol(scanner, prefs_data[i].name,
+			   GINT_TO_POINTER(i));
+    }
+  while (1) {
+    if (g_scanner_peek_next_token(scanner) == G_TOKEN_EOF) {
+      break;
+    } 
+
+    expected_token = prefs_parse_line(scanner);
+      
+    if (expected_token != G_TOKEN_NONE) {
+      gchar *symbol_name;
+      gchar *msg;
+      
+      msg = NULL;
+      symbol_name = NULL;
+      g_scanner_unexp_token (scanner,
+			     expected_token,
+			     NULL,
+			     "keyword",
+			     symbol_name,
+			     msg,
+			     TRUE);
+    }
+  }
+  
+  g_scanner_destroy (scanner);
+ 
+  close(fd);
+  render_bounding_boxes = prefs.render_bounding_boxes;
+}
+
+static void
+prefs_set_value_in_widget(GtkWidget * widget, DiaPrefData *data,
+			  char *ptr)
+{
+  switch(data->type) {
+  case PREF_BOOLEAN:
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), *((int *)ptr));
+    break;
+  case PREF_INT:
+  case PREF_UINT:
+    gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget),
+			      (gfloat) (*((int *)ptr)));
+    break;
+  case PREF_REAL:
+  case PREF_UREAL: 
+    gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget),
+			      (gfloat) (*((real *)ptr)));
+    break;
+  case PREF_COLOUR:
+    dia_color_selector_set_color(DIACOLORSELECTOR(widget), (Color *)ptr);
+    break;
+  case PREF_CHOICE: {
+    GList *names = (data->choice_list_function)();
+    int index;
+    for (index = 0; names != NULL; names = g_list_next(names), index++) {
+      if (!strcmp(*((gchar**)ptr), (gchar *)names->data))
+	break;
+    }
+    if (names == NULL) return;
+    gtk_option_menu_set_history(GTK_OPTION_MENU(widget), index);
+    gtk_menu_set_active(GTK_MENU(gtk_option_menu_get_menu(GTK_OPTION_MENU(widget))), index);
+    gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtk_menu_get_active(GTK_MENU(gtk_option_menu_get_menu(GTK_OPTION_MENU(widget))))), TRUE);
+    break;
+  }
+  case PREF_STRING:
+    gtk_entry_set_text(GTK_ENTRY(widget), (gchar *)(*((gchar **)ptr)));
+    break;
+  case PREF_NONE:
+  case PREF_END_GROUP:
+    break;
+  }
+}
+
+static void
+prefs_get_value_from_widget(GtkWidget * widget, DiaPrefData *data,
+			    char *ptr)
+{
+  switch(data->type) {
+  case PREF_BOOLEAN:
+    *((int *)ptr) = GTK_TOGGLE_BUTTON(widget)->active;    
+    break;
+  case PREF_INT:
+  case PREF_UINT:
+    *((int *)ptr) =
+      gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
+    break;
+  case PREF_REAL:
+  case PREF_UREAL:
+    *((real *)ptr) = (real)
+      gtk_spin_button_get_value_as_float(GTK_SPIN_BUTTON(widget));
+    break;
+  case PREF_COLOUR:
+    dia_color_selector_get_color(DIACOLORSELECTOR(widget), (Color *)ptr);
+    break;
+  case PREF_CHOICE: {
+    int index = gtk_option_menu_get_history(GTK_OPTION_MENU(widget));
+    GList *names = (data->choice_list_function)();
+    *((gchar **)ptr) = g_strdup((gchar *)g_list_nth_data(names, index));
+    break;
+  }
+  case PREF_STRING:
+    *((gchar **)ptr) = (gchar *)
+      gtk_entry_get_text(GTK_ENTRY(widget));
+    break;
+  case PREF_NONE:
+  case PREF_END_GROUP:
+    break;
+  }
+}
+
+static void
+prefs_boolean_toggle(GtkWidget *widget, gpointer data)
+{
+  guint active = GTK_TOGGLE_BUTTON(widget)->active;
+  gtk_button_set_label(GTK_BUTTON(widget), active ? _("Yes") : _("No"));
+}
+
+static GtkWidget *
+prefs_get_property_widget(DiaPrefData *data)
+{
+  GtkWidget *widget = NULL;
+  GtkAdjustment *adj;
+  
+  switch(data->type) {
+  case PREF_BOOLEAN:
+    widget = gtk_toggle_button_new_with_label (_("No"));
+    gtk_signal_connect (GTK_OBJECT (widget), "toggled",
+			GTK_SIGNAL_FUNC (prefs_boolean_toggle), NULL);
+    break;
+  case PREF_INT:
+    adj = GTK_ADJUSTMENT(gtk_adjustment_new(0.0,
+					    G_MININT, G_MAXINT,
+					    1.0, 10.0, 10.0 ));
+    widget = gtk_spin_button_new (adj, 1.0, 0);
+    gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(widget), TRUE);
+    gtk_widget_set_usize(widget, 80, -1);
+    break;
+  case PREF_UINT:
+    adj = GTK_ADJUSTMENT(gtk_adjustment_new(0.0,
+					    0.0, G_MAXINT,
+					    1.0, 10.0, 10.0 ));
+    widget = gtk_spin_button_new (adj, 1.0, 0);
+    gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(widget), TRUE);
+    gtk_widget_set_usize(widget, 80, -1);
+    break;
+  case PREF_REAL:
+    adj = GTK_ADJUSTMENT(gtk_adjustment_new(0.0,
+					    G_MINFLOAT, G_MAXFLOAT,
+					    1.0, 10.0, 10.0 ));
+    widget = gtk_spin_button_new (adj, 1.0, 3);
+    gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(widget), TRUE);
+    gtk_widget_set_usize(widget, 80, -1);
+    break;
+  case PREF_UREAL:
+    adj = GTK_ADJUSTMENT(gtk_adjustment_new(0.0,
+					    0.0, G_MAXFLOAT,
+					    1.0, 10.0, 10.0 ));
+    widget = gtk_spin_button_new (adj, 1.0, 3);
+    gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(widget), TRUE);
+    gtk_widget_set_usize(widget, 80, -1);
+    break;
+  case PREF_COLOUR:
+    widget = dia_color_selector_new();
+    break;
+  case PREF_STRING:
+    widget = gtk_entry_new();
+    break;
+  case PREF_CHOICE: {
+    GtkWidget *menu;
+    GList *names;
+    GSList *group = NULL;
+    widget = gtk_option_menu_new();
+    menu = gtk_menu_new();
+    for (names = (data->choice_list_function)(); names != NULL;
+	 names = g_list_next(names)) {
+      GtkWidget *menuitem =
+	gtk_radio_menu_item_new_with_label(group, (gchar *)names->data);
+      gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
+      group = gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM(menuitem));
+    }
+    gtk_option_menu_set_menu(GTK_OPTION_MENU(widget), menu);
+    gtk_widget_show_all(menu);
+    break;
+  }
+  case PREF_NONE:
+  case PREF_END_GROUP:
+    widget = NULL;
+    break;
+  }
+  if (widget != NULL)
+    gtk_widget_show(widget);
+  return widget;
+}
+
+static gint
+prefs_respond(GtkWidget *widget, 
+                   gint       response_id,
+                   gpointer   data)
+{
+  if (   response_id == GTK_RESPONSE_APPLY 
+      || response_id == GTK_RESPONSE_OK) {
+    prefs_update_prefs_from_dialog();
+    prefs_save();
+    diagram_redraw_all();
+  }
+
+  if (response_id != GTK_RESPONSE_APPLY)
+    gtk_widget_hide(widget);
+
+  return 0;
+}
+
+static void
+prefs_create_dialog(void)
+{
+  GtkWidget *label;
+  GtkWidget *dialog_vbox;
+  GtkWidget *notebook;
+  GtkTable *top_table = NULL; /* top level table for the tab */
+  GtkTable *current_table = NULL;
+  int i;
+  int tab_idx = -1;
+
+  if (prefs_dialog != NULL)
+    return;
+
+  prefs_dialog = gtk_dialog_new_with_buttons(
+			_("Preferences"),
+			GTK_WINDOW(interface_get_toolbox_shell()),
+			GTK_DIALOG_DESTROY_WITH_PARENT,
+			GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
+			GTK_STOCK_APPLY, GTK_RESPONSE_APPLY,
+			GTK_STOCK_OK, GTK_RESPONSE_OK,
+			NULL);
+  gtk_dialog_set_default_response (GTK_DIALOG(prefs_dialog), GTK_RESPONSE_OK);
+  gtk_window_set_resizable (GTK_WINDOW (prefs_dialog), TRUE);
+
+  dialog_vbox = GTK_DIALOG (prefs_dialog)->vbox;
+  
+  gtk_window_set_role (GTK_WINDOW (prefs_dialog), "preferences_window");
+
+  g_signal_connect(G_OBJECT (prefs_dialog), "response",
+                   G_CALLBACK (prefs_respond), NULL);
+
+  gtk_signal_connect (GTK_OBJECT (prefs_dialog), "delete_event",
+		      GTK_SIGNAL_FUNC(gtk_widget_hide), NULL);
+  gtk_signal_connect (GTK_OBJECT (prefs_dialog), "destroy",
+		      GTK_SIGNAL_FUNC(gtk_widget_destroyed), &prefs_dialog);
+
+  notebook = gtk_notebook_new ();
+  gtk_notebook_set_tab_pos (GTK_NOTEBOOK (notebook), GTK_POS_TOP);
+  gtk_box_pack_start (GTK_BOX (dialog_vbox), notebook, TRUE, TRUE, 0);
+  gtk_container_set_border_width (GTK_CONTAINER (notebook), 2);
+  gtk_widget_show (notebook);
+
+  for (i=0;i<NUM_PREFS_TABS;i++) {
+    GtkWidget *table;
+    GtkWidget *notebook_page;
+
+    label = gtk_label_new(gettext(prefs_tabs[i].title));
+    gtk_widget_show(label);
+
+    table = gtk_table_new (9, 2, FALSE);
+    prefs_tabs[i].table = GTK_TABLE(table);
+    gtk_widget_set_size_request(table, -1, -1);
+    gtk_widget_show(table);
+    
+#ifdef SCROLLED_PAGES
+    notebook_page = gtk_scrolled_window_new (NULL, NULL);
+    gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (notebook_page),
+				    GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+    gtk_widget_show(notebook_page);
+#else
+    notebook_page = table;
+#endif/* SCROLLED_PAGES */
+
+    gtk_notebook_append_page(GTK_NOTEBOOK(notebook), notebook_page, label);
+
+#ifdef SCROLLED_PAGES
+    gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(notebook_page),
+					  table);
+    gtk_viewport_set_shadow_type(GTK_VIEWPORT(GTK_BIN(notebook_page)->child),
+				 GTK_SHADOW_NONE);
+#endif /* SCROLLED_PAGES */
+
+  }
+
+  tab_idx = -1;
+  for (i=0;i<NUM_PREFS_DATA;i++) {
+    GtkWidget *widget = NULL;
+    int row;
+
+    if (prefs_data[i].hidden) 
+      continue;
+
+    if (tab_idx != prefs_data[i].tab) {
+      tab_idx = prefs_data[i].tab;
+      top_table = prefs_tabs[prefs_data[i].tab].table;
+      current_table = top_table;
+    }
+    row = prefs_tabs[tab_idx].row++;
+    switch(prefs_data[i].type) {
+    case PREF_NONE:
+      widget = gtk_frame_new(gettext(prefs_data[i].label_text));
+      gtk_widget_show (widget);
+      gtk_table_attach (current_table, widget, 0, 2,
+			row, row + 1,
+			GTK_FILL, GTK_FILL, 1, 1);
+      current_table = GTK_TABLE(gtk_table_new (9, 2, FALSE));
+      gtk_container_add(GTK_CONTAINER(widget), GTK_WIDGET(current_table));
+      gtk_widget_show(GTK_WIDGET(current_table));
+      break;
+    case PREF_END_GROUP:
+      current_table = top_table;
+      break;
+    case PREF_BOOLEAN:
+      widget = gtk_check_button_new_with_label (gettext(prefs_data[i].label_text));
+      gtk_widget_show (widget);
+      gtk_table_attach (current_table, widget, 0, 2,
+			row, row + 1,
+			GTK_FILL, GTK_FILL, 1, 1);
+      break;
+    default:
+      label = gtk_label_new (gettext(prefs_data[i].label_text));
+      gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.3);
+      gtk_widget_show (label);
+      
+      gtk_table_attach (current_table, label, 0, 1,
+			row, row + 1,
+			GTK_FILL, GTK_FILL, 1, 1);
+      
+      widget = prefs_get_property_widget(&prefs_data[i]);
+      if (widget != NULL) {
+	gtk_table_attach (current_table, widget, 1, 2,
+			  row, row + 1,
+			  GTK_FILL, GTK_FILL, 1, 1);
+      }
+      break;
+    }
+    prefs_data[i].widget = widget;
+    
+  }
+
+  gtk_widget_show (prefs_dialog);
+}
+
+static void
+prefs_update_prefs_from_dialog(void)
+{
+  GtkWidget *widget;
+  int i;
+  char *ptr;
+  
+  for (i=0;i<NUM_PREFS_DATA;i++) {
+    if (prefs_data[i].hidden) continue;
+    widget = prefs_data[i].widget;
+    ptr = (char *)&prefs + prefs_data[i].offset;
+    
+    prefs_get_value_from_widget(widget, &prefs_data[i],  ptr);
+  }
+}
+
+static void
+prefs_update_dialog_from_prefs(void)
+{
+  GtkWidget *widget;
+  int i;
+  char *ptr;
+  
+  for (i=0;i<NUM_PREFS_DATA;i++) {
+    if (prefs_data[i].hidden) continue;
+    widget = prefs_data[i].widget;
+    ptr = (char *)&prefs + prefs_data[i].offset;
+    
+    prefs_set_value_in_widget(widget, &prefs_data[i],  ptr);
+  }
+}
diff -Nuar cvs-dia/app/preferences.h dia/app/preferences.h
--- cvs-dia/app/preferences.h	2003-08-23 08:28:18.000000000 +0200
+++ dia/app/preferences.h	2003-08-30 19:39:50.000000000 +0200
@@ -34,6 +34,8 @@
     real x;
     real y;
     int major_lines;
+    int hex;
+    real w;
   } grid;
   
   struct {
diff -Nuar cvs-dia/app/preferences.h.orig dia/app/preferences.h.orig
--- cvs-dia/app/preferences.h.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/app/preferences.h.orig	2003-08-30 19:39:04.000000000 +0200
@@ -0,0 +1,77 @@
+/* Dia -- an diagram creation/manipulation program
+ * Copyright (C) 1999 Alexander Larsson
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+#ifndef PREFERENCES_H
+#define PREFERENCES_H
+
+#include "geometry.h"
+#include "color.h"
+#include "diagram_tree_window.h"
+#include "diagramdata.h"
+
+#define DEFAULT_GRID_COLOR { 0.85, .90, .90 }
+#define DEFAULT_PAGEBREAK_COLOR { 0.0, 0.0, 0.6 }
+
+struct DiaPreferences {
+  struct {
+    int visible;
+    int snap;
+    gboolean dynamic;
+    real x;
+    real y;
+    int major_lines;
+  } grid;
+  
+  struct {
+    int width;
+    int height;
+    real zoom;
+    int use_menu_bar;
+  } new_view;
+
+  NewDiagramData new_diagram;
+
+  int show_cx_pts;
+  int reset_tools_after_create;
+  int undo_depth;
+  int reverse_rubberbanding_intersects;
+  guint recent_documents_list_size;
+  
+  struct {
+    int visible;
+    int solid;
+  } pagebreak;
+
+  int render_bounding_boxes;
+  int prefer_psprint;
+    
+  int toolbox_on_top;
+  int recent_sheet;
+
+  DiagramTreeConfig dia_tree;
+};
+
+extern struct DiaPreferences prefs;
+
+void prefs_show(void);
+void prefs_set_defaults(void);
+void prefs_save(void);
+void prefs_load(void);
+
+#endif /* DIA_IMAGE_H */
+
+
diff -Nuar cvs-dia/doc/CVS/Entries dia/doc/CVS/Entries
--- cvs-dia/doc/CVS/Entries	2003-08-30 19:00:43.000000000 +0200
+++ dia/doc/CVS/Entries	2003-08-30 19:39:50.000000000 +0200
@@ -4,4 +4,5 @@
 /diagram.dtd/1.3/Thu Jul 11 02:09:21 2002//
 /shape.dtd/1.3/Thu Jul 11 02:09:21 2002//
 /sheet.dtd/1.3/Tue Aug  1 15:19:41 2000//
-D
+D/en////
+D/pl////
diff -Nuar cvs-dia/doc/CVS/Entries.Log dia/doc/CVS/Entries.Log
--- cvs-dia/doc/CVS/Entries.Log	1970-01-01 01:00:00.000000000 +0100
+++ dia/doc/CVS/Entries.Log	2003-08-30 19:39:50.000000000 +0200
@@ -0,0 +1,2 @@
+A D/en////
+A D/pl////
diff -Nuar cvs-dia/doc/CVS/Entries.orig dia/doc/CVS/Entries.orig
--- cvs-dia/doc/CVS/Entries.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/doc/CVS/Entries.orig	2003-08-30 19:39:04.000000000 +0200
@@ -0,0 +1,7 @@
+/.cvsignore/1.1/Wed Feb 28 03:19:33 2001//
+/Makefile.am/1.3/Wed May 29 17:34:18 2002//
+/custom-shapes/1.6/Sat Jan  4 12:21:51 2003//
+/diagram.dtd/1.3/Thu Jul 11 02:09:21 2002//
+/shape.dtd/1.3/Thu Jul 11 02:09:21 2002//
+/sheet.dtd/1.3/Tue Aug  1 15:19:41 2000//
+D
diff -Nuar cvs-dia/doc/en/CVS/Entries dia/doc/en/CVS/Entries
--- cvs-dia/doc/en/CVS/Entries	2003-08-30 19:00:44.000000000 +0200
+++ dia/doc/en/CVS/Entries	2003-08-30 19:39:50.000000000 +0200
@@ -16,4 +16,4 @@
 /usage-objects-special.xml/1.1/Wed Apr  9 20:19:01 2003//
 /usage-objects.xml/1.1/Wed Apr  9 20:19:01 2003//
 /usage-quickstart.xml/1.1/Wed Apr  9 20:19:01 2003//
-D
+D/graphics////
diff -Nuar cvs-dia/doc/en/CVS/Entries.Log dia/doc/en/CVS/Entries.Log
--- cvs-dia/doc/en/CVS/Entries.Log	1970-01-01 01:00:00.000000000 +0100
+++ dia/doc/en/CVS/Entries.Log	2003-08-30 19:39:50.000000000 +0200
@@ -0,0 +1 @@
+A D/graphics////
diff -Nuar cvs-dia/doc/en/CVS/Entries.orig dia/doc/en/CVS/Entries.orig
--- cvs-dia/doc/en/CVS/Entries.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/doc/en/CVS/Entries.orig	2003-08-30 19:39:04.000000000 +0200
@@ -0,0 +1,19 @@
+/.cvsignore/1.1/Wed Feb 28 03:19:34 2001//
+/Makefile.am/1.7/Fri Apr 25 01:03:19 2003//
+/authors.xml/1.1/Wed Apr  9 20:19:01 2003//
+/dia-C.omf/1.1/Sun Mar 18 22:54:58 2001//
+/dia-manual.xml/1.2/Fri Apr 11 08:43:32 2003//
+/entities.xml/1.1/Wed Apr  9 20:19:01 2003//
+/intro.xml/1.1/Wed Apr  9 20:19:01 2003//
+/license.xml/1.1/Wed Apr  9 20:19:01 2003//
+/topic.dat/1.1/Wed Feb 28 03:19:34 2001//
+/usage-canvas.xml/1.1/Wed Apr  9 20:19:01 2003//
+/usage-customization.xml/1.1/Wed Apr  9 20:19:01 2003//
+/usage-layers.xml/1.1/Wed Apr  9 20:19:01 2003//
+/usage-loadsave.xml/1.1/Wed Apr  9 20:19:01 2003//
+/usage-objects-basic.xml/1.1/Wed Apr  9 20:19:01 2003//
+/usage-objects-selecting.xml/1.2/Fri Apr 11 08:43:32 2003//
+/usage-objects-special.xml/1.1/Wed Apr  9 20:19:01 2003//
+/usage-objects.xml/1.1/Wed Apr  9 20:19:01 2003//
+/usage-quickstart.xml/1.1/Wed Apr  9 20:19:01 2003//
+D
diff -Nuar cvs-dia/lib/CVS/Entries dia/lib/CVS/Entries
--- cvs-dia/lib/CVS/Entries	2003-08-30 19:00:46.000000000 +0200
+++ dia/lib/CVS/Entries	2003-08-30 19:39:50.000000000 +0200
@@ -127,4 +127,4 @@
 /utils.h/1.4/Fri Feb 23 14:52:15 2001//
 /widgets.c/1.72/Thu Jan 30 22:59:28 2003//
 /widgets.h/1.21/Tue Nov 26 18:47:00 2002//
-D
+D/pixmaps////
diff -Nuar cvs-dia/lib/CVS/Entries.Log dia/lib/CVS/Entries.Log
--- cvs-dia/lib/CVS/Entries.Log	1970-01-01 01:00:00.000000000 +0100
+++ dia/lib/CVS/Entries.Log	2003-08-30 19:39:50.000000000 +0200
@@ -0,0 +1 @@
+A D/pixmaps////
diff -Nuar cvs-dia/lib/CVS/Entries.orig dia/lib/CVS/Entries.orig
--- cvs-dia/lib/CVS/Entries.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/lib/CVS/Entries.orig	2003-08-30 19:39:05.000000000 +0200
@@ -0,0 +1,130 @@
+/.cvsignore/1.2/Mon Sep 14 01:37:36 1998//
+/Makefile.am/1.64/Wed Aug 13 05:55:08 2003//
+/arrows.c/1.26/Fri Apr  4 20:30:30 2003//
+/arrows.h/1.23/Fri Apr  4 20:30:30 2003//
+/attributes.c/1.10/Mon Aug 11 18:36:18 2003//
+/attributes.h/1.7/Sun Oct  6 18:55:14 2002//
+/autoroute.c/1.7/Mon Apr 21 20:24:43 2003//
+/autoroute.h/1.3/Sat Apr 19 14:54:11 2003//
+/bezier_conn.c/1.28/Wed Aug 20 05:52:16 2003//
+/bezier_conn.h/1.17/Wed Aug 20 05:52:16 2003//
+/beziershape.c/1.20/Wed Aug 20 05:52:16 2003//
+/beziershape.h/1.10/Wed Aug 20 05:52:16 2003//
+/boundingbox.c/1.4/Sun May 27 18:46:35 2001//
+/boundingbox.h/1.3/Tue Oct  8 02:23:51 2002//
+/color.c/1.7/Fri Jul 18 23:00:26 2003//
+/color.h/1.8/Tue Oct  8 02:23:51 2002//
+/connection.c/1.12/Wed Aug 20 05:52:16 2003//
+/connection.h/1.10/Wed Aug 20 05:52:16 2003//
+/connectionpoint.c/1.2/Fri Aug 15 13:48:22 2003//
+/connectionpoint.h/1.9/Fri Aug 15 13:48:22 2003//
+/connpoint_line.c/1.8/Thu Aug 14 21:36:26 2003//
+/connpoint_line.h/1.5/Sun Jun 10 21:11:13 2001//
+/create.h/1.2/Tue Oct  8 02:23:51 2002//
+/dia-enums.h/1.1/Sun Oct  6 18:55:14 2002//
+/dia_dirs.c/1.11/Fri Apr 25 16:34:48 2003//
+/dia_dirs.h/1.3/Tue Apr  8 17:32:00 2003//
+/dia_image.c/1.21/Wed Jan 15 19:05:30 2003//
+/dia_image.h/1.12/Wed Jan 15 14:50:36 2003//
+/dia_svg.c/1.3/Thu Apr 24 18:30:48 2003//
+/dia_svg.h/1.1/Sat Oct 12 14:01:05 2002//
+/dia_xml.c/1.45/Sun Dec  8 00:51:55 2002//
+/dia_xml.h/1.12/Sun Dec  8 00:51:55 2002//
+/dia_xml_libxml.h/1.3/Sat Jun  8 13:30:22 2002//
+/diagdkrenderer.c/1.7/Wed Nov 27 20:38:43 2002//
+/diagdkrenderer.h/1.2/Tue Oct  8 02:23:51 2002//
+/diagramdata.c/1.41/Mon Aug 25 21:44:37 2003//
+/diagramdata.h/1.32/Mon Aug 25 17:34:09 2003//
+/diagtkfontsel.c/1.2/Sat Dec  7 11:10:54 2002//
+/diagtkfontsel.h/1.1/Mon Nov 25 01:32:46 2002//
+/diainteractiverenderer.c/1.2/Sun Oct  6 23:46:46 2002//
+/dialibartrenderer.c/1.13/Wed Aug 13 21:13:51 2003//
+/dialibartrenderer.h/1.3/Sat Jan 25 19:26:24 2003//
+/diamenu.h/1.6/Tue Oct  8 02:23:51 2002//
+/diarenderer.c/1.5/Fri Feb 28 20:02:09 2003//
+/diarenderer.h/1.2/Tue Oct  8 02:23:51 2002//
+/diasvgrenderer.c/1.5/Tue Apr 22 20:21:01 2003//
+/diasvgrenderer.h/1.2/Tue Oct  8 02:23:51 2002//
+/diatransform.c/1.3/Tue Oct  8 21:19:51 2002//
+/diatransform.h/1.3/Tue Oct  8 02:23:51 2002//
+/diatypes.h/1.2/Thu Dec  5 23:47:53 2002//
+/diavar.h/1.2/Fri Nov 17 14:57:31 2000//
+/dummy_dep.h/1.22/Wed Aug 20 05:52:16 2003//
+/dynamic_obj.c/1.1/Wed Sep 25 23:44:46 2002//
+/dynamic_obj.h/1.1/Wed Sep 25 23:44:46 2002//
+/element.c/1.10/Wed Aug 20 05:52:16 2003//
+/element.h/1.10/Wed Aug 20 05:52:16 2003//
+/filter.c/1.6/Sun Feb 16 07:04:31 2003//
+/filter.h/1.7/Tue Oct  8 02:23:51 2002//
+/focus.c/1.3/Fri Mar 23 14:29:49 2001//
+/focus.h/1.7/Tue Oct  8 02:23:51 2002//
+/font.c/1.106/Tue Jan 21 13:43:09 2003//
+/font.h/1.30/Mon Nov 18 23:20:34 2002//
+/geometry.c/1.15/Sun Dec  8 16:27:27 2002//
+/geometry.h/1.23/Wed Apr  9 18:37:35 2003//
+/group.c/1.3/Thu Jul 31 11:21:49 2003//
+/group.h/1.2/Sat Dec  7 11:10:55 2002//
+/handle.h/1.5/Tue Oct  8 02:23:51 2002//
+/intl.c/1.6/Mon Sep 23 19:27:44 2002//
+/intl.h/1.6/Mon Sep 23 19:27:44 2002//
+/libdia.def/1.38/Thu Aug 21 18:07:47 2003//
+/makefile.mingw/1.4/Wed Apr  9 18:37:35 2003//
+/makefile.msc/1.25/Thu Aug 21 18:07:47 2003//
+/message.c/1.24/Thu Jan 23 22:45:51 2003//
+/message.h/1.5/Wed Jun 12 18:49:04 2002//
+/neworth_conn.c/1.12/Wed Aug 20 05:52:16 2003//
+/neworth_conn.h/1.10/Wed Aug 20 05:52:16 2003//
+/objchange.c/1.3/Fri Mar 23 14:29:49 2001//
+/objchange.h/1.3/Tue Oct  8 02:23:51 2002//
+/object.c/1.27/Fri Aug 15 14:42:03 2003//
+/object.h/1.42/Wed Aug 20 05:52:16 2003//
+/object_defaults.c/1.7/Wed Aug 20 05:52:16 2003//
+/orth_conn.c/1.26/Wed Aug 20 05:52:16 2003//
+/orth_conn.h/1.20/Wed Aug 20 05:52:16 2003//
+/paper.c/1.14/Mon Sep  9 12:35:17 2002//
+/paper.h/1.5/Tue Oct  8 02:23:51 2002//
+/parent.c/1.1/Sun Jul 13 20:11:20 2003//
+/parent.h/1.1/Sun Jul 13 20:11:20 2003//
+/plug-ins.c/1.31/Sun Feb 16 07:04:31 2003//
+/plug-ins.h/1.9/Tue Oct  8 02:23:51 2002//
+/poly_conn.c/1.16/Wed Aug 20 05:52:16 2003//
+/poly_conn.h/1.12/Wed Aug 20 05:52:16 2003//
+/polyshape.c/1.20/Wed Aug 20 05:52:16 2003//
+/polyshape.h/1.10/Wed Aug 20 05:52:16 2003//
+/prop_attr.c/1.6/Sun Oct  6 18:55:14 2002//
+/prop_attr.h/1.2/Sat Jun  8 13:30:22 2002//
+/prop_basic.c/1.5/Mon Apr 29 22:16:35 2002//
+/prop_basic.h/1.2/Sat Jun  8 13:30:22 2002//
+/prop_geomtypes.c/1.5/Sun Aug  3 15:27:05 2003//
+/prop_geomtypes.h/1.2/Sat Jun  8 13:30:22 2002//
+/prop_inttypes.c/1.6/Sun Jun  9 16:41:56 2002//
+/prop_inttypes.h/1.3/Sat Jun  8 13:30:22 2002//
+/prop_sdarray.c/1.1/Mon Aug 13 07:24:25 2001//
+/prop_sdarray.h/1.2/Sat Jun  8 13:30:22 2002//
+/prop_text.c/1.10/Mon Aug 25 21:44:37 2003//
+/prop_text.h/1.3/Sun Jan 19 16:38:21 2003//
+/prop_widgets.c/1.7/Mon Apr 14 02:59:07 2003//
+/prop_widgets.h/1.4/Wed Nov 27 17:26:55 2002//
+/propdesc.c/1.3/Tue Aug 14 10:54:38 2001//
+/propdialogs.c/1.8/Mon Aug 25 22:06:44 2003//
+/properties.c/1.35/Mon Aug 13 07:24:25 2001//
+/properties.h/1.49/Tue Jul  1 20:30:38 2003//
+/propinternals.h/1.4/Wed Nov 27 19:38:43 2002//
+/proplist.c/1.9/Tue Jul  1 20:30:38 2003//
+/propobject.c/1.9/Mon Sep 23 19:27:44 2002//
+/propoffsets.c/1.2/Tue Aug 14 10:54:38 2001//
+/propregistry.c/1.1/Mon Aug 13 07:24:25 2001//
+/ps-utf8.c/1.10/Sun Jun  9 16:41:56 2002//
+/ps-utf8.h/1.5/Tue Oct  8 02:23:51 2002//
+/render.c/1.14/Mon Sep 23 19:27:44 2002//
+/render.h/1.25/Sun Oct  6 18:55:14 2002//
+/sheet.c/1.23/Tue Sep 24 23:29:39 2002//
+/sheet.h/1.8/Tue Oct  8 02:23:51 2002//
+/text.c/1.49/Fri Dec  6 23:07:31 2002//
+/text.h/1.18/Tue Oct  8 02:23:51 2002//
+/textattr.h/1.3/Tue Oct  8 02:23:51 2002//
+/utils.c/1.4/Thu Jun  7 22:16:20 2001//
+/utils.h/1.4/Fri Feb 23 14:52:15 2001//
+/widgets.c/1.72/Thu Jan 30 22:59:28 2003//
+/widgets.h/1.21/Tue Nov 26 18:47:00 2002//
+D
diff -Nuar cvs-dia/lib/diagramdata.c dia/lib/diagramdata.c
--- cvs-dia/lib/diagramdata.c	2003-08-25 23:44:37.000000000 +0200
+++ dia/lib/diagramdata.c	2003-08-30 19:39:50.000000000 +0200
@@ -50,6 +50,7 @@
 	data->grid.dynamic = TRUE;
 	data->grid.width_x = 1.0;
 	data->grid.width_y = 1.0;
+	data->grid.width_w = 1.0;
 	data->grid.visible_x = 1;
 	data->grid.visible_y = 1;
 	data->grid.colour = prefs->grid_color;
diff -Nuar cvs-dia/lib/diagramdata.c.orig dia/lib/diagramdata.c.orig
--- cvs-dia/lib/diagramdata.c.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/lib/diagramdata.c.orig	2003-08-30 19:39:05.000000000 +0200
@@ -0,0 +1,716 @@
+/* Dia -- an diagram creation/manipulation program
+ * Copyright (C) 1998 Alexander Larsson
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "intl.h"
+#include "diagramdata.h"
+#include "diarenderer.h"
+#include "paper.h"
+#include "dynamic_obj.h"
+
+static const Rectangle invalid_extents = { -1.0,-1.0,-1.0,-1.0 };
+static void set_parent_layer(gpointer layer, gpointer object);
+
+DiagramData *
+new_diagram_data (NewDiagramData *prefs)
+{
+	DiagramData *data;
+	Layer *first_layer;
+   
+	data = g_new (DiagramData, 1);
+   
+	data->extents.left = 0.0; 
+	data->extents.right = 10.0; 
+	data->extents.top = 0.0; 
+	data->extents.bottom = 10.0; 
+ 
+	data->bg_color = prefs->bg_color;
+	data->pagebreak_color = prefs->pagebreak_color;
+
+	get_paper_info (&data->paper, -1, prefs);
+
+	data->grid.dynamic = TRUE;
+	data->grid.width_x = 1.0;
+	data->grid.width_y = 1.0;
+	data->grid.visible_x = 1;
+	data->grid.visible_y = 1;
+	data->grid.colour = prefs->grid_color;
+
+	data->guides.nhguides = 0;
+	data->guides.hguides = NULL;
+	data->guides.nvguides = 0;
+	data->guides.vguides = NULL;
+
+	first_layer = new_layer(g_strdup(_("Background")),data);
+  
+	data->layers = g_ptr_array_new ();
+	g_ptr_array_add (data->layers, first_layer);
+	data->active_layer = first_layer;
+
+	data->selected_count = 0;
+	data->selected = NULL;
+  
+	data->is_compressed = prefs->compress_save; // Overridden by doc
+
+	return data;
+}
+
+void
+diagram_data_destroy(DiagramData *data)
+{
+  int i;
+
+  g_free(data->paper.name);
+
+  for (i=0;i<data->layers->len;i++) {
+    layer_destroy(g_ptr_array_index(data->layers, i));
+  }
+  g_ptr_array_free(data->layers, TRUE);
+  data->active_layer = NULL;
+
+  g_list_free(data->selected);
+  data->selected = NULL; /* for safety */
+  data->selected_count = 0;
+  g_free(data);
+}
+
+Layer *
+new_layer(gchar *name, DiagramData *parent)
+{
+  Layer *layer;
+
+  layer = g_new(Layer, 1);
+
+  layer->name = name;
+
+  layer->parent_diagram = parent;
+  layer->visible = TRUE;
+
+  layer->objects = NULL;
+
+  layer->extents.left = 0.0; 
+  layer->extents.right = 10.0; 
+  layer->extents.top = 0.0; 
+  layer->extents.bottom = 10.0; 
+  
+  return layer;
+}
+
+void
+layer_destroy(Layer *layer)
+{
+  g_free(layer->name);
+  destroy_object_list(layer->objects);
+  g_free(layer);
+}
+
+void
+data_raise_layer(DiagramData *data, Layer *layer)
+{
+  int i;
+  int layer_nr = -1;
+  Layer *tmp;
+  
+  for (i=0;i<data->layers->len;i++) {
+    if (g_ptr_array_index(data->layers, i)==layer)
+      layer_nr = i;
+  }
+
+  g_assert(layer_nr>=0);
+
+  if (layer_nr < data->layers->len-1) {
+    tmp = g_ptr_array_index(data->layers, layer_nr+1);
+    g_ptr_array_index(data->layers, layer_nr+1) =
+      g_ptr_array_index(data->layers, layer_nr);
+    g_ptr_array_index(data->layers, layer_nr) = tmp;
+  }
+}
+
+void
+data_lower_layer(DiagramData *data, Layer *layer)
+{
+  int i;
+  int layer_nr = -1;
+  Layer *tmp;
+  
+  for (i=0;i<data->layers->len;i++) {
+    if (g_ptr_array_index(data->layers, i)==layer)
+      layer_nr = i;
+  }
+
+  g_assert(layer_nr>=0);
+
+  if (layer_nr > 0) {
+    tmp = g_ptr_array_index(data->layers, layer_nr-1);
+    g_ptr_array_index(data->layers, layer_nr-1) =
+      g_ptr_array_index(data->layers, layer_nr);
+    g_ptr_array_index(data->layers, layer_nr) = tmp;
+  }
+}
+
+
+void
+data_add_layer(DiagramData *data, Layer *layer)
+{
+  g_ptr_array_add(data->layers, layer);
+  layer->parent_diagram = data;
+  layer_update_extents(layer);
+  data_update_extents(data);
+}
+void
+data_add_layer_at(DiagramData *data, Layer *layer, int pos)
+{
+  int len;
+  int i;
+  
+  g_ptr_array_add(data->layers, layer);
+  len = data->layers->len;
+
+  if ( (pos>=0) && (pos < len)) {
+    for (i=len-1;i>pos;i--) {
+      g_ptr_array_index(data->layers, i) = g_ptr_array_index(data->layers, i-1);
+    }
+    g_ptr_array_index(data->layers, pos) = layer;
+  }
+  
+  layer->parent_diagram = data;
+  layer_update_extents(layer);
+  data_update_extents(data);
+}
+
+void
+data_set_active_layer(DiagramData *data, Layer *layer)
+{
+  data->active_layer = layer;
+}
+
+void
+data_delete_layer(DiagramData *data, Layer *layer)
+{
+  if (data->layers->len<=1)
+    return;
+
+  if (data->active_layer == layer) {
+    data_remove_all_selected(data);
+  }
+  layer->parent_diagram = NULL;
+  g_ptr_array_remove(data->layers, layer);
+
+  if (data->active_layer == layer) {
+    data->active_layer = g_ptr_array_index(data->layers, 0);
+  }
+}
+
+void
+data_select(DiagramData *data, Object *obj)
+{
+  data->selected = g_list_prepend(data->selected, obj);
+  data->selected_count++;
+}
+
+void
+data_unselect(DiagramData *data, Object *obj)
+{
+  data->selected = g_list_remove(data->selected, obj);
+  data->selected_count--;
+}
+
+void
+data_remove_all_selected(DiagramData *data)
+{
+  g_list_free(data->selected); /* Remove previous selection */
+  data->selected_count = 0;
+  data->selected = NULL;
+}
+
+static gboolean
+data_has_visible_layers(DiagramData *data)
+{
+  guint i;
+  for (i = 0; i < data->layers->len; i++) {
+    Layer *layer = g_ptr_array_index(data->layers, i);
+    if (layer->visible) return TRUE;
+  }
+  return FALSE;
+}
+
+static void
+data_get_layers_extents_union(DiagramData *data) {
+  guint i;
+  gboolean first = TRUE;
+  Rectangle new_extents;
+
+  for ( i = 0 ; i<data->layers->len; i++) {
+    Layer *layer = g_ptr_array_index(data->layers, i);    
+    if (!layer->visible) continue;
+    
+    layer_update_extents(layer);
+
+    if (first) {
+      new_extents = layer->extents;
+      first = rectangle_equals(&new_extents,&invalid_extents);
+    } else {
+      if (!rectangle_equals(&layer->extents,&invalid_extents)) {
+        rectangle_union(&new_extents, &layer->extents);
+      }
+    }
+  }
+
+  data->extents = new_extents;
+}
+
+static void
+data_adapt_scaling_to_extents(DiagramData *data)
+{
+  gdouble pwidth = data->paper.width * data->paper.scaling;
+  gdouble pheight = data->paper.height * data->paper.scaling;
+
+  gdouble xscale = data->paper.fitwidth * pwidth /
+    (data->extents.right - data->extents.left);
+  gdouble yscale = data->paper.fitheight * pheight /
+    (data->extents.bottom - data->extents.top);
+  
+  data->paper.scaling = MIN(xscale, yscale);
+  data->paper.width  = pwidth  / data->paper.scaling;
+  data->paper.height = pheight / data->paper.scaling;
+}
+
+static gboolean
+data_compute_extents(DiagramData *data) 
+{
+  Rectangle old_extents = data->extents;
+
+  if (!data_has_visible_layers(data)) {   
+    if (data->layers->len > 0) {
+      Layer *layer = g_ptr_array_index(data->layers, 0);    
+      layer_update_extents(layer);
+      
+      data->extents = layer->extents;
+    } else {
+      data->extents = invalid_extents;
+    }
+  } else {
+    data_get_layers_extents_union(data);
+  }
+
+  if (rectangle_equals(&data->extents,&invalid_extents)) {
+      data->extents.left = 0.0;
+      data->extents.right = 10.0;
+      data->extents.top = 0.0;
+      data->extents.bottom = 10.0;
+  }
+  return (!rectangle_equals(&data->extents,&old_extents));
+}
+
+gboolean
+data_update_extents(DiagramData *data)
+{
+
+  gboolean changed;
+
+  changed = data_compute_extents(data);
+  if (changed && data->paper.fitto) data_adapt_scaling_to_extents(data);
+
+  return changed;
+}
+
+GList *
+data_get_sorted_selected(DiagramData *data)
+{
+  GList *list;
+  GList *sorted_list;
+  GList *found;
+  Object *obj;
+
+  if (data->selected_count == 0)
+    return NULL;
+  
+  sorted_list = NULL;
+  list = g_list_last(data->active_layer->objects);
+  while (list != NULL) {
+    found = g_list_find(data->selected, list->data);
+    if (found) {
+      obj = (Object *)found->data;
+      sorted_list = g_list_prepend(sorted_list, obj);
+    }
+    list = g_list_previous(list);
+  }
+
+  return sorted_list;
+}
+
+GList *
+data_get_sorted_selected_remove(DiagramData *data)
+{
+  GList *list,*tmp;
+  GList *sorted_list;
+  GList *found;
+  Object *obj;
+  
+  if (data->selected_count == 0)
+    return NULL;
+  
+  sorted_list = NULL;
+  list = g_list_last(data->active_layer->objects);
+  while (list != NULL) {
+    found = g_list_find(data->selected, list->data);
+    if (found) {
+      obj = (Object *)found->data;
+      sorted_list = g_list_prepend(sorted_list, obj);
+
+      tmp = list;
+      list = g_list_previous(list);
+      data->active_layer->objects =
+	g_list_remove_link(data->active_layer->objects, tmp);
+    } else {
+      list = g_list_previous(list);
+    }
+  }
+
+  return sorted_list;
+}
+
+void
+data_render(DiagramData *data, DiaRenderer *renderer, Rectangle *update,
+	    ObjectRenderer obj_renderer /* Can be NULL */,
+	    gpointer gdata)
+{
+  Layer *layer;
+  int i;
+  int active_layer;
+
+  if (!renderer->is_interactive) (DIA_RENDERER_GET_CLASS(renderer)->begin_render)(renderer);
+  
+  for (i=0; i<data->layers->len; i++) {
+    layer = (Layer *) g_ptr_array_index(data->layers, i);
+    active_layer = (layer == data->active_layer);
+    if (layer->visible)
+      layer_render(layer, renderer, update, obj_renderer, gdata, active_layer);
+  }
+  
+  if (!renderer->is_interactive) (DIA_RENDERER_GET_CLASS(renderer)->end_render)(renderer);
+}
+
+static void
+normal_render(Object *obj, DiaRenderer *renderer,
+	      int active_layer,
+	      gpointer data)
+{
+  DIA_RENDERER_GET_CLASS(renderer)->draw_object(renderer, obj);
+}
+
+
+int render_bounding_boxes = FALSE;
+
+/* If obj_renderer is NULL normal_render is used. */
+void
+layer_render(Layer *layer, DiaRenderer *renderer, Rectangle *update,
+	     ObjectRenderer obj_renderer,
+	     gpointer data,
+	     int active_layer)
+{
+  GList *list;
+  Object *obj;
+
+  if (obj_renderer == NULL)
+    obj_renderer = normal_render;
+  
+  /* Draw all objects: */
+  list = layer->objects;
+  while (list!=NULL) {
+    obj = (Object *) list->data;
+
+    if (update==NULL || rectangle_intersects(update, &obj->bounding_box)) {
+      if ((render_bounding_boxes) && (renderer->is_interactive)) {
+	Point p1, p2;
+	Color col;
+	p1.x = obj->bounding_box.left;
+	p1.y = obj->bounding_box.top;
+	p2.x = obj->bounding_box.right;
+	p2.y = obj->bounding_box.bottom;
+	col.red = 1.0;
+	col.green = 0.0;
+	col.blue = 1.0;
+
+        DIA_RENDERER_GET_CLASS(renderer)->set_linewidth(renderer,0.01);
+	DIA_RENDERER_GET_CLASS(renderer)->draw_rect(renderer, &p1, &p2, &col);
+      }
+      (*obj_renderer)(obj, renderer, active_layer, data);
+    }
+    
+    list = g_list_next(list);
+  }
+}
+
+static void
+set_parent_layer(gpointer element, gpointer user_data) {
+  ((Object*)element)->parent_layer = (Layer*)user_data;
+}
+
+int
+layer_object_index(Layer *layer, Object *obj)
+{
+  return (int)g_list_index(layer->objects, (gpointer) obj);
+}
+
+void
+layer_add_object(Layer *layer, Object *obj)
+{
+  layer->objects = g_list_append(layer->objects, (gpointer) obj);
+  set_parent_layer(obj, layer);
+}
+
+void
+layer_add_object_at(Layer *layer, Object *obj, int pos)
+{
+  layer->objects = g_list_insert(layer->objects, (gpointer) obj, pos);
+  set_parent_layer(obj, layer);
+}
+
+void
+layer_add_objects(Layer *layer, GList *obj_list)
+{
+  layer->objects = g_list_concat(layer->objects, obj_list);
+  g_list_foreach(obj_list, set_parent_layer, layer);
+}
+
+void
+layer_add_objects_first(Layer *layer, GList *obj_list)
+{
+  layer->objects = g_list_concat(obj_list, layer->objects);
+  g_list_foreach(obj_list, set_parent_layer, layer);
+}
+
+void
+layer_remove_object(Layer *layer, Object *obj)
+{
+  layer->objects = g_list_remove(layer->objects, obj);
+  dynobj_list_remove_object(obj);
+  set_parent_layer(obj, NULL);
+}
+
+void
+layer_remove_objects(Layer *layer, GList *obj_list)
+{
+  Object *obj;
+  while (obj_list != NULL) {
+    obj = (Object *) obj_list->data;
+    
+    layer->objects = g_list_remove(layer->objects, obj);
+    
+    obj_list = g_list_next(obj_list);
+    dynobj_list_remove_object(obj);
+    set_parent_layer(obj, NULL);
+  }
+}
+
+
+GList *
+layer_find_objects_intersecting_rectangle(Layer *layer, Rectangle *rect)
+{
+  GList *list;
+  GList *selected_list;
+  Object *obj;
+
+  selected_list = NULL;
+  list = layer->objects;
+  while (list != NULL) {
+    obj = (Object *)list->data;
+
+    if (rectangle_intersects(rect, &obj->bounding_box)) {
+      selected_list = g_list_prepend(selected_list, obj);
+    }
+
+    list = g_list_next(list);
+  }
+
+  return selected_list;
+}
+
+GList *
+layer_find_objects_in_rectangle(Layer *layer, Rectangle *rect)
+{
+  GList *list;
+  GList *selected_list;
+  Object *obj;
+
+  selected_list = NULL;
+  list = layer->objects;
+  while (list != NULL) {
+    obj = (Object *)list->data;
+
+    if (rectangle_in_rectangle(rect, &obj->bounding_box)) {
+      selected_list = g_list_prepend(selected_list, obj);
+    }
+    
+    list = g_list_next(list);
+  }
+
+  return selected_list;
+}
+
+/** Find the object closest to the given point in the layer,
+ * no further away than maxdist, and not included in avoid.
+ * Stops it if finds an object that includes the point.
+ */
+Object *
+layer_find_closest_object_except(Layer *layer, Point *pos,
+				 real maxdist, GList *avoid)
+{
+  GList *l;
+  Object *closest;
+  Object *obj;
+  real dist;
+  GList *avoid_tmp;
+
+  closest = NULL;
+  
+  for (l = layer->objects; l!=NULL; l = g_list_next(l)) {
+    obj = (Object *) l->data;
+
+    /* Check bounding box here too. Might give speedup. */
+    dist = obj->ops->distance_from(obj, pos);
+
+    if (maxdist-dist > 0.00000001) {
+      for (avoid_tmp = avoid; avoid_tmp != NULL; avoid_tmp = avoid_tmp->next) {
+	if (avoid_tmp->data == obj) {
+	  goto NEXTOBJECT;
+	}
+      }
+      closest = obj;
+    }
+  NEXTOBJECT:
+  ;
+  }
+
+  return closest;
+}
+
+Object *
+layer_find_closest_object(Layer *layer, Point *pos, real maxdist)
+{
+  return layer_find_closest_object_except(layer, pos, maxdist, NULL);
+}
+
+
+real layer_find_closest_connectionpoint(Layer *layer,
+					ConnectionPoint **closest,
+					Point *pos,
+					Object *notthis)
+{
+  GList *l;
+  Object *obj;
+  ConnectionPoint *cp;
+  real mindist, dist;
+  int i;
+
+  mindist = 1000000.0; /* Realy big value... */
+  
+  *closest = NULL;
+  
+  for (l = layer->objects; l!=NULL; l = g_list_next(l) ) {
+    obj = (Object *) l->data;
+
+    if (obj == notthis) continue;
+    for (i=0;i<obj->num_connections;i++) {
+      cp = obj->connections[i];
+      /* Note: Uses manhattan metric for speed... */
+      dist = distance_point_point_manhattan(pos, &cp->pos);
+      if (dist<mindist) {
+	mindist = dist;
+	*closest = cp;
+      }
+    }
+    
+ }
+
+  return mindist;
+}
+
+int layer_update_extents(Layer *layer)
+{
+  GList *l;
+  Object *obj;
+  Rectangle new_extents;
+  
+  l = layer->objects;
+  if (l!=NULL) {
+    obj = (Object *) l->data;
+    new_extents = obj->bounding_box;
+    l = g_list_next(l);
+  
+    while(l!=NULL) {
+      obj = (Object *) l->data;
+      rectangle_union(&new_extents, &obj->bounding_box);
+      l = g_list_next(l);
+    }
+  } else {
+    new_extents = invalid_extents;
+  }
+
+  if (rectangle_equals(&new_extents,&layer->extents)) return FALSE;
+
+  layer->extents = new_extents;
+  return TRUE;
+}
+
+void
+layer_replace_object_with_list(Layer *layer, Object *remove_obj,
+			       GList *insert_list)
+{
+  GList *list;
+
+  list = g_list_find(layer->objects, remove_obj);
+
+  g_assert(list!=NULL);
+  set_parent_layer(remove_obj, NULL);
+  dynobj_list_remove_object(remove_obj);
+  g_list_foreach(insert_list, set_parent_layer, layer);
+
+  if (list->prev == NULL) {
+    layer->objects = insert_list;
+  } else {
+    list->prev->next = insert_list;
+    insert_list->prev = list->prev;
+  }
+  if (list->next != NULL) {
+    GList *last;
+    last = g_list_last(insert_list);
+    last->next = list->next;
+    list->next->prev = last;
+  }
+  g_list_free_1(list);
+}
+
+void layer_set_object_list(Layer *layer, GList *list)
+{
+  g_list_foreach(layer->objects, set_parent_layer, NULL);
+  g_list_foreach(layer->objects, dynobj_list_remove_object, NULL);
+  g_list_free(layer->objects);
+  layer->objects = list;
+  g_list_foreach(layer->objects, set_parent_layer, layer);
+}
+
+DiagramData *
+layer_get_parent_diagram(Layer *layer)
+{
+  return layer->parent_diagram;
+}
diff -Nuar cvs-dia/lib/diagramdata.h dia/lib/diagramdata.h
--- cvs-dia/lib/diagramdata.h	2003-08-25 19:34:09.000000000 +0200
+++ dia/lib/diagramdata.h	2003-08-30 19:39:51.000000000 +0200
@@ -50,7 +50,7 @@
 
   struct  {
     /* grid line intervals */
-    real width_x, width_y;
+    real width_x, width_y, width_w;
     /* the interval between visible grid lines */
     guint visible_x, visible_y;
     /* the interval between major lines (non-stippled).
diff -Nuar cvs-dia/lib/diagramdata.h.orig dia/lib/diagramdata.h.orig
--- cvs-dia/lib/diagramdata.h.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/lib/diagramdata.h.orig	2003-08-30 19:39:05.000000000 +0200
@@ -0,0 +1,167 @@
+/* Dia -- an diagram creation/manipulation program -*- c -*-
+ * Copyright (C) 1998 Alexander Larsson
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+#ifndef DIAGRAMDATA_H
+#define DIAGRAMDATA_H
+
+#include <glib.h>
+
+#include "diatypes.h"
+/* #include "object.h" later after declaring types */
+#include "color.h"
+#include "geometry.h"
+#include "diavar.h"
+#include "paper.h"
+
+struct _NewDiagramData {
+  gchar *papertype;
+  gfloat tmargin, bmargin, lmargin, rmargin;
+  gboolean is_portrait;
+  gfloat scaling;
+  gboolean fitto;
+  gint fitwidth, fitheight;
+  Color bg_color, pagebreak_color, grid_color;
+  int compress_save;
+};
+
+struct _DiagramData {
+  Rectangle extents;      /* The extents of the diagram        */
+
+  Color bg_color;
+  Color pagebreak_color;
+
+  PaperInfo paper;       /* info about the page info for the diagram */
+  gboolean is_compressed; /* TRUE if by default it should be save compressed.
+			     The user can override this in Save As... */
+
+  struct  {
+    /* grid line intervals */
+    real width_x, width_y;
+    /* the interval between visible grid lines */
+    guint visible_x, visible_y;
+    /* the interval between major lines (non-stippled).
+     * if 0, no major lines are drawn (all lines are stippled).
+     * if 1, all lines are solid.
+     */
+    guint major_lines;
+    /* True if the grid is dynamically calculated.
+     * When true, width_x and width_y are ignored.
+     */
+    gboolean dynamic;
+    /* The color of the grid lines.
+     */
+    Color colour;
+  } grid;
+
+  struct {
+    /* sorted arrays of the guides for the diagram */
+    real *hguides, *vguides;
+    guint nhguides, nvguides;
+  } guides;
+
+  GPtrArray *layers;     /* Layers ordered by decreasing z-order */
+  Layer *active_layer;
+
+  guint selected_count;
+  GList *selected;        /* List of objects that are selected,
+			     all from the active layer! */
+};
+
+struct _Layer {
+  char *name;
+  Rectangle extents;      /* The extents of the layer        */
+
+  GList *objects;         /* List of objects in the layer,
+			     sorted by decreasing z-valued,
+			     objects can ONLY be connected to objects
+			     in the same layer! */
+
+  int visible;
+
+  DiagramData *parent_diagram; /* Back-pointer to the diagram.  This
+				  must only be set by functions internal
+				  to the diagram, and accessed via
+				  layer_get_parent_diagram() */
+};
+
+#include "object.h"
+#include "dynamic_obj.h"
+
+DIAVAR int render_bounding_boxes;
+
+DiagramData *new_diagram_data(NewDiagramData *prefs);
+void diagram_data_destroy(DiagramData *data);
+
+Layer *new_layer (char *name, DiagramData *parent);
+void layer_destroy(Layer *layer);
+
+void data_raise_layer(DiagramData *data, Layer *layer);
+void data_lower_layer(DiagramData *data, Layer *layer);
+
+void data_add_layer(DiagramData *data, Layer *layer);
+void data_add_layer_at(DiagramData *data, Layer *layer, int pos);
+void data_set_active_layer(DiagramData *data, Layer *layer);
+void data_delete_layer(DiagramData *data, Layer *layer);
+void data_select(DiagramData *data, Object *obj);
+void data_unselect(DiagramData *data, Object *obj);
+void data_remove_all_selected(DiagramData *data);
+gboolean data_update_extents(DiagramData *data); /* returns true if changed. */
+GList *data_get_sorted_selected(DiagramData *data);
+GList *data_get_sorted_selected_remove(DiagramData *data);
+
+typedef void (*ObjectRenderer)(Object *obj, DiaRenderer *renderer,
+			       int active_layer,
+			       gpointer data);
+void data_render(DiagramData *data, DiaRenderer *renderer, Rectangle *update,
+		 ObjectRenderer obj_renderer /* Can be NULL */,
+		 gpointer gdata);  
+void layer_render(Layer *layer, DiaRenderer *renderer, Rectangle *update,
+		  ObjectRenderer obj_renderer /* Can be NULL */,
+		  gpointer data,
+		  int active_layer);
+
+int layer_object_index(Layer *layer, Object *obj);
+void layer_add_object(Layer *layer, Object *obj);
+void layer_add_object_at(Layer *layer, Object *obj, int pos);
+void layer_add_objects(Layer *layer, GList *obj_list);
+void layer_add_objects_first(Layer *layer, GList *obj_list);
+void layer_remove_object(Layer *layer, Object *obj);
+void layer_remove_objects(Layer *layer, GList *obj_list);
+GList *layer_find_objects_intersecting_rectangle(Layer *layer, Rectangle*rect);
+GList *layer_find_objects_in_rectangle(Layer *layer, Rectangle *rect);
+Object *layer_find_closest_object(Layer *layer, Point *pos, real maxdist);
+Object *layer_find_closest_object_except(Layer *layer, Point *pos,
+					 real maxdist, GList *avoid);
+real layer_find_closest_connectionpoint(Layer *layer,
+					ConnectionPoint **closest,
+					Point *pos,
+					Object *notthis);
+int layer_update_extents(Layer *layer); /* returns true if changed. */
+void layer_replace_object_with_list(Layer *layer, Object *obj,
+				    GList *list);
+void layer_set_object_list(Layer *layer, GList *list);
+DiagramData *layer_get_parent_diagram(Layer *layer);
+/* Make sure all objects that are in the layer and not in the new
+   list eventually gets destroyed. */
+
+#endif /* DIAGRAMDATA_H */
+
+
+
+
+
+
diff -Nuar cvs-dia/objects/CVS/Entries dia/objects/CVS/Entries
--- cvs-dia/objects/CVS/Entries	2003-08-30 19:00:46.000000000 +0200
+++ dia/objects/CVS/Entries	2003-08-30 19:39:51.000000000 +0200
@@ -3,4 +3,17 @@
 /makefile.mingw/1.3/Sat Sep 28 16:22:22 2002//
 /makefile.msc/1.16/Thu Aug 21 18:12:55 2003//
 /objects.def/1.1/Fri Jan  5 16:39:55 2001//
-D
+D/EML////
+D/ER////
+D/FS////
+D/GRAFCET////
+D/Misc////
+D/SADT////
+D/UML////
+D/bondgraph////
+D/chronogram////
+D/custom////
+D/flowchart////
+D/network////
+D/standard////
+D/sybase////
diff -Nuar cvs-dia/objects/CVS/Entries.Log dia/objects/CVS/Entries.Log
--- cvs-dia/objects/CVS/Entries.Log	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/CVS/Entries.Log	2003-08-30 19:39:51.000000000 +0200
@@ -0,0 +1,14 @@
+A D/EML////
+A D/ER////
+A D/FS////
+A D/GRAFCET////
+A D/Misc////
+A D/SADT////
+A D/UML////
+A D/bondgraph////
+A D/chronogram////
+A D/custom////
+A D/flowchart////
+A D/network////
+A D/standard////
+A D/sybase////
diff -Nuar cvs-dia/objects/CVS/Entries.orig dia/objects/CVS/Entries.orig
--- cvs-dia/objects/CVS/Entries.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/CVS/Entries.orig	2003-08-30 19:39:05.000000000 +0200
@@ -0,0 +1,6 @@
+/.cvsignore/1.2/Mon Sep 14 01:37:38 1998//
+/Makefile.am/1.16/Tue Nov 26 16:42:52 2002//
+/makefile.mingw/1.3/Sat Sep 28 16:22:22 2002//
+/makefile.msc/1.16/Thu Aug 21 18:12:55 2003//
+/objects.def/1.1/Fri Jan  5 16:39:55 2001//
+D
diff -Nuar cvs-dia/objects/EML/CVS/Entries dia/objects/EML/CVS/Entries
--- cvs-dia/objects/EML/CVS/Entries	2003-08-30 19:00:46.000000000 +0200
+++ dia/objects/EML/CVS/Entries	2003-08-30 19:39:51.000000000 +0200
@@ -15,4 +15,4 @@
 /process.c/1.4/Thu Jul 31 11:21:50 2003//
 /process.h/1.2/Mon Jun 11 15:25:30 2001//
 /process_dialog.c/1.1/Fri Apr 20 18:23:20 2001//
-D
+D/pixmaps////
diff -Nuar cvs-dia/objects/EML/CVS/Entries.Log dia/objects/EML/CVS/Entries.Log
--- cvs-dia/objects/EML/CVS/Entries.Log	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/EML/CVS/Entries.Log	2003-08-30 19:39:51.000000000 +0200
@@ -0,0 +1 @@
+A D/pixmaps////
diff -Nuar cvs-dia/objects/EML/CVS/Entries.orig dia/objects/EML/CVS/Entries.orig
--- cvs-dia/objects/EML/CVS/Entries.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/EML/CVS/Entries.orig	2003-08-30 19:39:07.000000000 +0200
@@ -0,0 +1,18 @@
+/.cvsignore/1.1/Mon Apr 30 11:15:55 2001//
+/Makefile.am/1.4/Mon Sep  9 12:35:18 2002//
+/dbox.c/1.3/Wed May 16 13:35:25 2001//
+/dbox.h/1.2/Wed Jul 18 04:39:08 2001//
+/eml.c/1.2/Tue May  1 19:56:03 2001//
+/eml.h/1.1/Fri Apr 20 18:23:20 2001//
+/instantiation.c/1.7/Thu Jul 31 11:21:50 2003//
+/interaction-ortho.c/1.6/Thu Jul 31 11:21:50 2003//
+/interaction.c/1.5/Thu Jul 31 11:21:50 2003//
+/interaction.h/1.1/Fri Apr 20 18:23:20 2001//
+/listfun.c/1.1/Fri Apr 20 18:23:20 2001//
+/listfun.h/1.1/Fri Apr 20 18:23:20 2001//
+/nlist.c/1.2/Sat May 12 21:34:42 2001//
+/nlist.h/1.1/Fri Apr 20 18:23:20 2001//
+/process.c/1.4/Thu Jul 31 11:21:50 2003//
+/process.h/1.2/Mon Jun 11 15:25:30 2001//
+/process_dialog.c/1.1/Fri Apr 20 18:23:20 2001//
+D
diff -Nuar cvs-dia/objects/ER/CVS/Entries dia/objects/ER/CVS/Entries
--- cvs-dia/objects/ER/CVS/Entries	2003-08-30 19:00:46.000000000 +0200
+++ dia/objects/ER/CVS/Entries	2003-08-30 19:39:51.000000000 +0200
@@ -5,4 +5,4 @@
 /er.c/1.7/Fri Feb 23 14:52:16 2001//
 /participation.c/1.25/Wed Aug 20 05:52:18 2003//
 /relationship.c/1.35/Wed Aug 20 05:52:18 2003//
-D
+D/pixmaps////
diff -Nuar cvs-dia/objects/ER/CVS/Entries.Log dia/objects/ER/CVS/Entries.Log
--- cvs-dia/objects/ER/CVS/Entries.Log	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/ER/CVS/Entries.Log	2003-08-30 19:39:51.000000000 +0200
@@ -0,0 +1 @@
+A D/pixmaps////
diff -Nuar cvs-dia/objects/ER/CVS/Entries.orig dia/objects/ER/CVS/Entries.orig
--- cvs-dia/objects/ER/CVS/Entries.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/ER/CVS/Entries.orig	2003-08-30 19:39:07.000000000 +0200
@@ -0,0 +1,8 @@
+/.cvsignore/1.1/Thu Jan 14 15:17:19 1999//
+/Makefile.am/1.11/Mon Sep  9 12:35:18 2002//
+/attribute.c/1.36/Wed Aug 20 05:52:17 2003//
+/entity.c/1.37/Wed Aug 20 05:52:17 2003//
+/er.c/1.7/Fri Feb 23 14:52:16 2001//
+/participation.c/1.25/Wed Aug 20 05:52:18 2003//
+/relationship.c/1.35/Wed Aug 20 05:52:18 2003//
+D
diff -Nuar cvs-dia/objects/FS/CVS/Entries dia/objects/FS/CVS/Entries
--- cvs-dia/objects/FS/CVS/Entries	2003-08-30 19:00:47.000000000 +0200
+++ dia/objects/FS/CVS/Entries	2003-08-30 19:39:52.000000000 +0200
@@ -5,4 +5,4 @@
 /flow.c/1.30/Wed Aug 20 05:52:19 2003//
 /fs.c/1.4/Fri Feb 23 14:52:18 2001//
 /function.c/1.26/Wed Aug 20 05:52:19 2003//
-D
+D/pixmaps////
diff -Nuar cvs-dia/objects/FS/CVS/Entries.Log dia/objects/FS/CVS/Entries.Log
--- cvs-dia/objects/FS/CVS/Entries.Log	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/FS/CVS/Entries.Log	2003-08-30 19:39:52.000000000 +0200
@@ -0,0 +1 @@
+A D/pixmaps////
diff -Nuar cvs-dia/objects/FS/CVS/Entries.orig dia/objects/FS/CVS/Entries.orig
--- cvs-dia/objects/FS/CVS/Entries.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/FS/CVS/Entries.orig	2003-08-30 19:39:08.000000000 +0200
@@ -0,0 +1,8 @@
+/.cvsignore/1.1/Fri Jun 11 19:29:33 1999//
+/Makefile.am/1.12/Mon Sep  9 12:35:19 2002//
+/flow-ortho.c/1.32/Wed Aug 20 05:52:19 2003//
+/flow-poly.c/1.17/Wed Aug 20 05:52:19 2003//
+/flow.c/1.30/Wed Aug 20 05:52:19 2003//
+/fs.c/1.4/Fri Feb 23 14:52:18 2001//
+/function.c/1.26/Wed Aug 20 05:52:19 2003//
+D
diff -Nuar cvs-dia/objects/GRAFCET/CVS/Entries dia/objects/GRAFCET/CVS/Entries
--- cvs-dia/objects/GRAFCET/CVS/Entries	2003-08-30 19:00:47.000000000 +0200
+++ dia/objects/GRAFCET/CVS/Entries	2003-08-30 19:39:52.000000000 +0200
@@ -12,4 +12,4 @@
 /transition.c/1.18/Wed Aug 20 05:52:20 2003//
 /vector.c/1.13/Wed Aug 20 05:52:20 2003//
 /vergent.c/1.13/Wed Aug 20 05:52:20 2003//
-D
+D/pixmaps////
diff -Nuar cvs-dia/objects/GRAFCET/CVS/Entries.Log dia/objects/GRAFCET/CVS/Entries.Log
--- cvs-dia/objects/GRAFCET/CVS/Entries.Log	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/GRAFCET/CVS/Entries.Log	2003-08-30 19:39:52.000000000 +0200
@@ -0,0 +1 @@
+A D/pixmaps////
diff -Nuar cvs-dia/objects/GRAFCET/CVS/Entries.orig dia/objects/GRAFCET/CVS/Entries.orig
--- cvs-dia/objects/GRAFCET/CVS/Entries.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/GRAFCET/CVS/Entries.orig	2003-08-30 19:39:08.000000000 +0200
@@ -0,0 +1,15 @@
+/.cvsignore/1.1/Thu Jan 27 05:36:11 2000//
+/Makefile.am/1.8/Mon Sep  9 12:35:20 2002//
+/action.c/1.24/Wed Aug 20 05:52:20 2003//
+/action_text_draw.c/1.5/Sun Oct  6 18:55:22 2002//
+/action_text_draw.h/1.3/Sun Oct  6 18:55:22 2002//
+/boolequation.c/1.14/Sun Oct  6 18:55:22 2002//
+/boolequation.h/1.10/Sun Oct  6 18:55:22 2002//
+/condition.c/1.16/Wed Aug 20 05:52:20 2003//
+/grafcet.c/1.5/Wed Mar 28 20:35:47 2001//
+/grafcet.h/1.1/Tue Jan 25 23:54:36 2000//
+/step.c/1.23/Wed Aug 20 05:52:20 2003//
+/transition.c/1.18/Wed Aug 20 05:52:20 2003//
+/vector.c/1.13/Wed Aug 20 05:52:20 2003//
+/vergent.c/1.13/Wed Aug 20 05:52:20 2003//
+D
diff -Nuar cvs-dia/objects/Misc/CVS/Entries dia/objects/Misc/CVS/Entries
--- cvs-dia/objects/Misc/CVS/Entries	2003-08-30 19:00:47.000000000 +0200
+++ dia/objects/Misc/CVS/Entries	2003-08-30 19:39:52.000000000 +0200
@@ -2,4 +2,4 @@
 /Makefile.am/1.1/Tue Sep 24 23:29:42 2002//
 /analog_clock.c/1.7/Wed Aug 20 05:52:21 2003//
 /libmisc.c/1.1/Tue Sep 24 23:29:42 2002//
-D
+D/pixmaps////
diff -Nuar cvs-dia/objects/Misc/CVS/Entries.Log dia/objects/Misc/CVS/Entries.Log
--- cvs-dia/objects/Misc/CVS/Entries.Log	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/Misc/CVS/Entries.Log	2003-08-30 19:39:52.000000000 +0200
@@ -0,0 +1 @@
+A D/pixmaps////
diff -Nuar cvs-dia/objects/Misc/CVS/Entries.orig dia/objects/Misc/CVS/Entries.orig
--- cvs-dia/objects/Misc/CVS/Entries.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/Misc/CVS/Entries.orig	2003-08-30 19:39:08.000000000 +0200
@@ -0,0 +1,5 @@
+/.cvsignore/1.1/Tue Sep 24 23:29:42 2002//
+/Makefile.am/1.1/Tue Sep 24 23:29:42 2002//
+/analog_clock.c/1.7/Wed Aug 20 05:52:21 2003//
+/libmisc.c/1.1/Tue Sep 24 23:29:42 2002//
+D
diff -Nuar cvs-dia/objects/SADT/CVS/Entries dia/objects/SADT/CVS/Entries
--- cvs-dia/objects/SADT/CVS/Entries	2003-08-30 19:00:47.000000000 +0200
+++ dia/objects/SADT/CVS/Entries	2003-08-30 19:39:52.000000000 +0200
@@ -5,4 +5,4 @@
 /box.c/1.20/Wed Aug 20 05:52:22 2003//
 /sadt.c/1.3/Fri Feb 23 14:52:19 2001//
 /sadt.h/1.1/Wed Jan 26 20:57:20 2000//
-D
+D/pixmaps////
diff -Nuar cvs-dia/objects/SADT/CVS/Entries.Log dia/objects/SADT/CVS/Entries.Log
--- cvs-dia/objects/SADT/CVS/Entries.Log	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/SADT/CVS/Entries.Log	2003-08-30 19:39:52.000000000 +0200
@@ -0,0 +1 @@
+A D/pixmaps////
diff -Nuar cvs-dia/objects/SADT/CVS/Entries.orig dia/objects/SADT/CVS/Entries.orig
--- cvs-dia/objects/SADT/CVS/Entries.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/SADT/CVS/Entries.orig	2003-08-30 19:39:09.000000000 +0200
@@ -0,0 +1,8 @@
+/.cvsignore/1.1/Thu Jan 27 05:36:12 2000//
+/Makefile.am/1.5/Mon Sep  9 12:35:22 2002//
+/annotation.c/1.23/Wed Aug 20 05:52:22 2003//
+/arrow.c/1.16/Wed Aug 20 05:52:22 2003//
+/box.c/1.20/Wed Aug 20 05:52:22 2003//
+/sadt.c/1.3/Fri Feb 23 14:52:19 2001//
+/sadt.h/1.1/Wed Jan 26 20:57:20 2000//
+D
diff -Nuar cvs-dia/objects/UML/CVS/Entries dia/objects/UML/CVS/Entries
--- cvs-dia/objects/UML/CVS/Entries	2003-08-30 19:00:48.000000000 +0200
+++ dia/objects/UML/CVS/Entries	2003-08-30 19:39:52.000000000 +0200
@@ -30,4 +30,4 @@
 /uml.c/1.35/Wed Aug 20 06:41:31 2003//
 /uml.h/1.16/Mon Jun 24 17:24:49 2002//
 /usecase.c/1.36/Wed Aug 20 05:52:26 2003//
-D
+D/pixmaps////
diff -Nuar cvs-dia/objects/UML/CVS/Entries.Log dia/objects/UML/CVS/Entries.Log
--- cvs-dia/objects/UML/CVS/Entries.Log	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/UML/CVS/Entries.Log	2003-08-30 19:39:52.000000000 +0200
@@ -0,0 +1 @@
+A D/pixmaps////
diff -Nuar cvs-dia/objects/UML/CVS/Entries.orig dia/objects/UML/CVS/Entries.orig
--- cvs-dia/objects/UML/CVS/Entries.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/UML/CVS/Entries.orig	2003-08-30 19:39:09.000000000 +0200
@@ -0,0 +1,33 @@
+/.cvsignore/1.8/Sat Feb 26 11:54:53 2000//
+/Makefile.am/1.23/Wed Aug 20 06:41:31 2003//
+/activity.c/1.6/Wed Aug 20 05:52:24 2003//
+/actor.c/1.34/Wed Aug 20 05:52:24 2003//
+/association.c/1.41/Mon Aug 25 21:44:38 2003//
+/branch.c/1.13/Wed Aug 20 05:52:25 2003//
+/class.c/1.59/Wed Aug 20 05:52:25 2003//
+/class.h/1.24/Sun Jan 19 16:38:21 2003//
+/class_dialog.c/1.37/Mon Aug 25 21:44:38 2003//
+/classicon.c/1.29/Thu Jul 31 11:21:59 2003//
+/component.c/1.32/Thu Aug 21 06:23:24 2003//
+/component_feature.c/1.1/Wed Aug 20 06:41:31 2003//
+/constraint.c/1.36/Wed Aug 20 05:52:25 2003//
+/dependency.c/1.39/Wed Aug 20 05:52:25 2003//
+/fork.c/1.6/Wed Aug 20 05:52:25 2003//
+/generalization.c/1.38/Wed Aug 20 05:52:25 2003//
+/implements.c/1.34/Wed Aug 20 05:52:25 2003//
+/large_package.c/1.39/Wed Aug 20 05:52:25 2003//
+/lifeline.c/1.35/Wed Aug 20 05:52:25 2003//
+/message.c/1.45/Wed Aug 20 05:52:25 2003//
+/node.c/1.19/Wed Aug 20 05:52:26 2003//
+/note.c/1.29/Wed Aug 20 05:52:26 2003//
+/object.c/1.45/Wed Aug 20 05:52:26 2003//
+/realizes.c/1.38/Wed Aug 20 05:52:26 2003//
+/small_package.c/1.33/Wed Aug 20 05:52:26 2003//
+/state.c/1.31/Wed Aug 20 05:52:26 2003//
+/state_term.c/1.7/Wed Aug 20 05:52:26 2003//
+/stereotype.c/1.11/Sat Jun 22 17:21:39 2002//
+/stereotype.h/1.6/Sat Jun  8 13:30:26 2002//
+/uml.c/1.35/Wed Aug 20 06:41:31 2003//
+/uml.h/1.16/Mon Jun 24 17:24:49 2002//
+/usecase.c/1.36/Wed Aug 20 05:52:26 2003//
+D
diff -Nuar cvs-dia/objects/chronogram/CVS/Entries dia/objects/chronogram/CVS/Entries
--- cvs-dia/objects/chronogram/CVS/Entries	2003-08-30 19:00:48.000000000 +0200
+++ dia/objects/chronogram/CVS/Entries	2003-08-30 19:39:53.000000000 +0200
@@ -6,4 +6,4 @@
 /chronoline_event.c/1.9/Sat Jun  8 10:55:54 2002//
 /chronoline_event.h/1.2/Tue Mar  6 09:22:30 2001//
 /chronoref.c/1.20/Wed Aug 20 05:52:28 2003//
-D
+D/pixmaps////
diff -Nuar cvs-dia/objects/chronogram/CVS/Entries.Log dia/objects/chronogram/CVS/Entries.Log
--- cvs-dia/objects/chronogram/CVS/Entries.Log	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/chronogram/CVS/Entries.Log	2003-08-30 19:39:53.000000000 +0200
@@ -0,0 +1 @@
+A D/pixmaps////
diff -Nuar cvs-dia/objects/chronogram/CVS/Entries.orig dia/objects/chronogram/CVS/Entries.orig
--- cvs-dia/objects/chronogram/CVS/Entries.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/chronogram/CVS/Entries.orig	2003-08-30 19:39:09.000000000 +0200
@@ -0,0 +1,9 @@
+/.cvsignore/1.1/Thu Jan 27 05:36:13 2000//
+/Makefile.am/1.5/Mon Sep  9 12:35:25 2002//
+/chronogram.c/1.3/Fri Feb 23 14:52:22 2001//
+/chronogram.h/1.1/Tue Jan 25 23:54:37 2000//
+/chronoline.c/1.20/Wed Aug 20 05:52:28 2003//
+/chronoline_event.c/1.9/Sat Jun  8 10:55:54 2002//
+/chronoline_event.h/1.2/Tue Mar  6 09:22:30 2001//
+/chronoref.c/1.20/Wed Aug 20 05:52:28 2003//
+D
diff -Nuar cvs-dia/objects/custom/CVS/Entries dia/objects/custom/CVS/Entries
--- cvs-dia/objects/custom/CVS/Entries	2003-08-30 19:00:48.000000000 +0200
+++ dia/objects/custom/CVS/Entries	2003-08-30 19:39:53.000000000 +0200
@@ -8,4 +8,5 @@
 /shape_info.c/1.46/Sat Oct 12 14:01:07 2002//
 /shape_info.h/1.20/Sat Oct 12 14:01:07 2002//
 /test.xml/1.6/Fri May 18 21:23:54 2001//
-D
+D/Circuit////
+D/pixmaps////
diff -Nuar cvs-dia/objects/custom/CVS/Entries.Log dia/objects/custom/CVS/Entries.Log
--- cvs-dia/objects/custom/CVS/Entries.Log	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/custom/CVS/Entries.Log	2003-08-30 19:39:53.000000000 +0200
@@ -0,0 +1,2 @@
+A D/Circuit////
+A D/pixmaps////
diff -Nuar cvs-dia/objects/custom/CVS/Entries.orig dia/objects/custom/CVS/Entries.orig
--- cvs-dia/objects/custom/CVS/Entries.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/custom/CVS/Entries.orig	2003-08-30 19:39:10.000000000 +0200
@@ -0,0 +1,11 @@
+/.cvsignore/1.2/Thu Jan 27 12:39:57 2000//
+/Makefile.am/1.15/Mon Sep  9 12:35:26 2002//
+/custom.c/1.23/Sat Jun 22 17:21:41 2002//
+/custom_object.c/1.62/Wed Aug 20 05:52:29 2003//
+/custom_util.c/1.4/Fri Mar 23 14:29:51 2001//
+/custom_util.h/1.3/Sun Oct 10 14:43:36 1999//
+/read_path.py/1.1/Thu Jan 27 12:39:57 2000//
+/shape_info.c/1.46/Sat Oct 12 14:01:07 2002//
+/shape_info.h/1.20/Sat Oct 12 14:01:07 2002//
+/test.xml/1.6/Fri May 18 21:23:54 2001//
+D
diff -Nuar cvs-dia/objects/flowchart/CVS/Entries dia/objects/flowchart/CVS/Entries
--- cvs-dia/objects/flowchart/CVS/Entries	2003-08-30 19:00:48.000000000 +0200
+++ dia/objects/flowchart/CVS/Entries	2003-08-30 19:39:53.000000000 +0200
@@ -5,4 +5,4 @@
 /ellipse.c/1.28/Wed Aug 20 05:52:31 2003//
 /flowchart.c/1.13/Fri Feb 23 14:52:25 2001//
 /parallelogram.c/1.25/Tue Aug 26 11:17:17 2003//
-D
+D/pixmaps////
diff -Nuar cvs-dia/objects/flowchart/CVS/Entries.Log dia/objects/flowchart/CVS/Entries.Log
--- cvs-dia/objects/flowchart/CVS/Entries.Log	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/flowchart/CVS/Entries.Log	2003-08-30 19:39:53.000000000 +0200
@@ -0,0 +1 @@
+A D/pixmaps////
diff -Nuar cvs-dia/objects/flowchart/CVS/Entries.orig dia/objects/flowchart/CVS/Entries.orig
--- cvs-dia/objects/flowchart/CVS/Entries.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/flowchart/CVS/Entries.orig	2003-08-30 19:39:10.000000000 +0200
@@ -0,0 +1,8 @@
+/.cvsignore/1.1/Tue Aug 17 08:57:32 1999//
+/Makefile.am/1.16/Mon Sep  9 12:36:40 2002//
+/box.c/1.35/Wed Aug 20 05:52:30 2003//
+/diamond.c/1.28/Wed Aug 20 05:52:30 2003//
+/ellipse.c/1.28/Wed Aug 20 05:52:31 2003//
+/flowchart.c/1.13/Fri Feb 23 14:52:25 2001//
+/parallelogram.c/1.25/Tue Aug 26 11:17:17 2003//
+D
diff -Nuar cvs-dia/objects/network/CVS/Entries dia/objects/network/CVS/Entries
--- cvs-dia/objects/network/CVS/Entries	2003-08-30 19:00:48.000000000 +0200
+++ dia/objects/network/CVS/Entries	2003-08-30 19:39:53.000000000 +0200
@@ -4,4 +4,4 @@
 /network.c/1.18/Sun May 20 18:59:41 2001//
 /network.h/1.2/Thu Jan 14 14:36:57 1999//
 /wanlink.c/1.8/Wed Aug 20 05:52:33 2003//
-D
+D/pixmaps////
diff -Nuar cvs-dia/objects/network/CVS/Entries.Log dia/objects/network/CVS/Entries.Log
--- cvs-dia/objects/network/CVS/Entries.Log	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/network/CVS/Entries.Log	2003-08-30 19:39:53.000000000 +0200
@@ -0,0 +1 @@
+A D/pixmaps////
diff -Nuar cvs-dia/objects/network/CVS/Entries.orig dia/objects/network/CVS/Entries.orig
--- cvs-dia/objects/network/CVS/Entries.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/network/CVS/Entries.orig	2003-08-30 19:39:10.000000000 +0200
@@ -0,0 +1,7 @@
+/.cvsignore/1.6/Fri Mar 30 19:22:09 2001//
+/Makefile.am/1.18/Mon Sep  9 12:36:42 2002//
+/bus.c/1.24/Wed Aug 20 05:52:33 2003//
+/network.c/1.18/Sun May 20 18:59:41 2001//
+/network.h/1.2/Thu Jan 14 14:36:57 1999//
+/wanlink.c/1.8/Wed Aug 20 05:52:33 2003//
+D
diff -Nuar cvs-dia/objects/standard/CVS/Entries dia/objects/standard/CVS/Entries
--- cvs-dia/objects/standard/CVS/Entries	2003-08-30 19:00:48.000000000 +0200
+++ dia/objects/standard/CVS/Entries	2003-08-30 19:39:54.000000000 +0200
@@ -12,4 +12,4 @@
 /standard.c/1.10/Fri Feb 23 14:52:27 2001//
 /textobj.c/1.39/Wed Aug 20 05:52:35 2003//
 /zigzagline.c/1.47/Wed Aug 20 05:52:35 2003//
-D
+D/pixmaps////
diff -Nuar cvs-dia/objects/standard/CVS/Entries.Log dia/objects/standard/CVS/Entries.Log
--- cvs-dia/objects/standard/CVS/Entries.Log	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/standard/CVS/Entries.Log	2003-08-30 19:39:54.000000000 +0200
@@ -0,0 +1 @@
+A D/pixmaps////
diff -Nuar cvs-dia/objects/standard/CVS/Entries.orig dia/objects/standard/CVS/Entries.orig
--- cvs-dia/objects/standard/CVS/Entries.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/standard/CVS/Entries.orig	2003-08-30 19:39:10.000000000 +0200
@@ -0,0 +1,15 @@
+/.cvsignore/1.5/Thu Jan 27 12:39:58 2000//
+/Makefile.am/1.18/Mon Sep  9 12:36:42 2002//
+/arc.c/1.36/Wed Aug 20 05:52:35 2003//
+/bezier.c/1.28/Wed Aug 20 05:52:35 2003//
+/beziergon.c/1.20/Wed Aug 20 05:52:35 2003//
+/box.c/1.39/Wed Aug 20 05:52:35 2003//
+/ellipse.c/1.35/Wed Aug 20 05:52:35 2003//
+/image.c/1.41/Wed Aug 20 05:52:35 2003//
+/line.c/1.44/Wed Aug 20 05:52:35 2003//
+/polygon.c/1.22/Wed Aug 20 05:52:35 2003//
+/polyline.c/1.31/Wed Aug 20 05:52:35 2003//
+/standard.c/1.10/Fri Feb 23 14:52:27 2001//
+/textobj.c/1.39/Wed Aug 20 05:52:35 2003//
+/zigzagline.c/1.47/Wed Aug 20 05:52:35 2003//
+D
diff -Nuar cvs-dia/objects/sybase/CVS/Entries dia/objects/sybase/CVS/Entries
--- cvs-dia/objects/sybase/CVS/Entries	2003-08-30 19:00:48.000000000 +0200
+++ dia/objects/sybase/CVS/Entries	2003-08-30 19:39:54.000000000 +0200
@@ -2,4 +2,4 @@
 /Makefile.am/1.10/Mon Sep  9 12:36:44 2002//
 /sybase.c/1.5/Wed May 16 21:40:06 2001//
 /sybase.h/1.1/Thu Jun 10 18:37:37 1999//
-D
+D/pixmaps////
diff -Nuar cvs-dia/objects/sybase/CVS/Entries.Log dia/objects/sybase/CVS/Entries.Log
--- cvs-dia/objects/sybase/CVS/Entries.Log	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/sybase/CVS/Entries.Log	2003-08-30 19:39:54.000000000 +0200
@@ -0,0 +1 @@
+A D/pixmaps////
diff -Nuar cvs-dia/objects/sybase/CVS/Entries.orig dia/objects/sybase/CVS/Entries.orig
--- cvs-dia/objects/sybase/CVS/Entries.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/objects/sybase/CVS/Entries.orig	2003-08-30 19:39:11.000000000 +0200
@@ -0,0 +1,5 @@
+/.cvsignore/1.2/Fri Jun 11 20:01:57 1999//
+/Makefile.am/1.10/Mon Sep  9 12:36:44 2002//
+/sybase.c/1.5/Wed May 16 21:40:06 2001//
+/sybase.h/1.1/Thu Jun 10 18:37:37 1999//
+D
diff -Nuar cvs-dia/plug-ins/CVS/Entries dia/plug-ins/CVS/Entries
--- cvs-dia/plug-ins/CVS/Entries	2003-08-30 19:00:48.000000000 +0200
+++ dia/plug-ins/CVS/Entries	2003-08-30 19:39:54.000000000 +0200
@@ -3,4 +3,17 @@
 /makefile.mingw/1.4/Sat Sep 28 16:22:24 2002//
 /makefile.msc/1.20/Sun Jul 20 18:35:53 2003//
 /objects.def/1.1/Fri Jan  5 16:39:55 2001//
-D
+D/ascii////
+D/cgm////
+D/dxf////
+D/hpgl////
+D/metapost////
+D/pixbuf////
+D/pstricks////
+D/python////
+D/shape////
+D/svg////
+D/wmf////
+D/wpg////
+D/xfig////
+D/xslt////
diff -Nuar cvs-dia/plug-ins/CVS/Entries.Log dia/plug-ins/CVS/Entries.Log
--- cvs-dia/plug-ins/CVS/Entries.Log	1970-01-01 01:00:00.000000000 +0100
+++ dia/plug-ins/CVS/Entries.Log	2003-08-30 19:39:54.000000000 +0200
@@ -0,0 +1,14 @@
+A D/ascii////
+A D/cgm////
+A D/dxf////
+A D/hpgl////
+A D/metapost////
+A D/pixbuf////
+A D/pstricks////
+A D/python////
+A D/shape////
+A D/svg////
+A D/wmf////
+A D/wpg////
+A D/xfig////
+A D/xslt////
diff -Nuar cvs-dia/plug-ins/CVS/Entries.orig dia/plug-ins/CVS/Entries.orig
--- cvs-dia/plug-ins/CVS/Entries.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/plug-ins/CVS/Entries.orig	2003-08-30 19:39:11.000000000 +0200
@@ -0,0 +1,6 @@
+/.cvsignore/1.1/Tue Dec 21 16:05:40 1999//
+/Makefile.am/1.19/Thu Apr 24 17:44:33 2003//
+/makefile.mingw/1.4/Sat Sep 28 16:22:24 2002//
+/makefile.msc/1.20/Sun Jul 20 18:35:53 2003//
+/objects.def/1.1/Fri Jan  5 16:39:55 2001//
+D
diff -Nuar cvs-dia/po/CVS/Entries dia/po/CVS/Entries
--- cvs-dia/po/CVS/Entries	2003-08-30 19:01:01.000000000 +0200
+++ dia/po/CVS/Entries	2003-08-30 19:39:54.000000000 +0200
@@ -1,5 +1,5 @@
 /.cvsignore/1.6/Tue Nov 26 17:20:55 2002//
-/ChangeLog/1.425/Fri Aug 29 20:10:19 2003//
+/ChangeLog/1.424/Wed Aug 27 20:04:06 2003//
 /POTFILES.in/1.49/Wed Aug 20 17:22:51 2003//
 /POTFILES.skip/1.3/Thu May 30 05:44:21 2002//
 /am.po/1.2/Mon Feb  3 17:22:59 2003//
@@ -11,7 +11,7 @@
 /de.po/1.67/Mon Feb 24 15:01:16 2003//
 /el.po/1.27/Fri Dec  6 14:36:41 2002//
 /en_GB.po/1.36/Fri Dec  6 14:36:41 2002//
-/es.po/1.46/Fri Aug 29 20:10:19 2003//
+/es.po/1.45/Wed Aug 27 20:04:06 2003//
 /fi.po/1.31/Mon Jun 30 18:47:04 2003//
 /fr.po/1.81/Sat Jul 19 08:31:10 2003//
 /ga.po/1.27/Fri Dec  6 14:36:42 2002//
diff -Nuar cvs-dia/po/CVS/Entries.orig dia/po/CVS/Entries.orig
--- cvs-dia/po/CVS/Entries.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/po/CVS/Entries.orig	2003-08-30 19:39:11.000000000 +0200
@@ -0,0 +1,44 @@
+/.cvsignore/1.6/Tue Nov 26 17:20:55 2002//
+/ChangeLog/1.425/Fri Aug 29 20:10:19 2003//
+/POTFILES.in/1.49/Wed Aug 20 17:22:51 2003//
+/POTFILES.skip/1.3/Thu May 30 05:44:21 2002//
+/am.po/1.2/Mon Feb  3 17:22:59 2003//
+/az.po/1.31/Fri Dec  6 14:36:41 2002//
+/be.po/1.1/Wed Jul 23 04:27:45 2003//
+/ca.po/1.29/Fri Dec  6 14:36:41 2002//
+/cs.po/1.16/Fri Aug  1 23:38:46 2003//
+/da.po/1.76/Wed Jul  2 09:57:21 2003//
+/de.po/1.67/Mon Feb 24 15:01:16 2003//
+/el.po/1.27/Fri Dec  6 14:36:41 2002//
+/en_GB.po/1.36/Fri Dec  6 14:36:41 2002//
+/es.po/1.46/Fri Aug 29 20:10:19 2003//
+/fi.po/1.31/Mon Jun 30 18:47:04 2003//
+/fr.po/1.81/Sat Jul 19 08:31:10 2003//
+/ga.po/1.27/Fri Dec  6 14:36:42 2002//
+/hu.po/1.47/Wed Jan  1 10:12:34 1997//
+/it.po/1.25/Fri Dec  6 14:36:42 2002//
+/ja.po/1.51/Thu Jun 19 14:30:44 2003//
+/ko.po/1.23/Fri Dec  6 14:36:42 2002//
+/mk.po/1.1/Wed Jun 18 14:09:44 2003//
+/ml.po/1.3/Sat Aug  2 12:33:07 2003//
+/ms.po/1.3/Sun Jul 20 15:59:52 2003//
+/nl.po/1.38/Tue Aug 26 22:47:24 2003//
+/nn.po/1.25/Fri Dec  6 14:36:42 2002//
+/no.po/1.110/Sat Aug 23 08:20:03 2003//
+/pl.po/1.55/Sun Jul 27 22:09:14 2003//
+/pt.po/1.53/Wed Aug 27 13:49:08 2003//
+/pt_BR.po/1.35/Mon Apr  7 17:36:54 2003//
+/ro.po/1.7/Mon Jan 20 16:33:35 2003//
+/ru.po/1.56/Sat Jun 28 12:04:21 2003//
+/sk.po/1.19/Tue Apr 22 18:01:27 2003//
+/sl.po/1.61/Wed Jan 22 13:54:54 2003//
+/sr.po/1.1/Sun Aug 17 12:50:37 2003//
+/sr@Latn.po/1.1/Sun Aug 17 12:50:37 2003//
+/sv.po/1.110/Fri Aug 22 10:08:36 2003//
+/tr.po/1.33/Fri Dec  6 14:36:44 2002//
+/uk.po/1.47/Fri Dec  6 14:36:44 2002//
+/update_pofiles_in.sh/1.4/Sun May 26 09:13:21 2002//
+/vi.po/1.19/Thu Jul 24 09:37:23 2003//
+/zh_CN.po/1.16/Fri Dec  6 14:36:44 2002//
+/zh_TW.po/1.20/Mon May 26 20:00:19 2003//
+D
diff -Nuar cvs-dia/po/ChangeLog dia/po/ChangeLog
--- cvs-dia/po/ChangeLog	2003-08-29 22:10:19.000000000 +0200
+++ dia/po/ChangeLog	2003-08-30 19:39:55.000000000 +0200
@@ -1,8 +1,3 @@
-2003-08-29  Pablo Gonzalo del Campo  <pablodc@bigfoot.com>
-
-        * es.po: Revision of Spanish translation by
-                 Francisco Javier F. Serrador <serrador@arrakis.es>.
-
 2003-08-27  Pablo Gonzalo del Campo  <pablodc@bigfoot.com>
 
         * es.po: Revision of Spanish translation by
diff -Nuar cvs-dia/po/ChangeLog.orig dia/po/ChangeLog.orig
--- cvs-dia/po/ChangeLog.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/po/ChangeLog.orig	2003-08-30 19:39:11.000000000 +0200
@@ -0,0 +1,1762 @@
+2003-08-29  Pablo Gonzalo del Campo  <pablodc@bigfoot.com>
+
+        * es.po: Revision of Spanish translation by
+                 Francisco Javier F. Serrador <serrador@arrakis.es>.
+
+2003-08-27  Pablo Gonzalo del Campo  <pablodc@bigfoot.com>
+
+        * es.po: Revision of Spanish translation by
+                 Francisco Javier F. Serrador <serrador@arrakis.es>.
+
+2003-08-27  Duarte Loreto <happyguy_pt@hotmail.com>
+
+	* pt.po: Updated Portuguese translation.
+
+2003-08-27  Vincent van Adrighem  <V.vanAdrighem@dirck.mine.nu>
+
+	* nl.po: Dutch translation updated by Kees van den Broek.
+
+2003-08-23  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Update Norwegian translation.
+
+2003-08-22  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2003-08-20  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2003-08-20  Christian Rose  <menthos@menthos.com>
+
+	* POTFILES.in: Sorted and added many missing files.
+
+2003-08-18  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Update Norwegian translation.
+
+2003-08-17  Danilo Šegan  <dsegan@gmx.net>
+
+	* sr.po, sr@Latn.po: Added Serbian translation by Serbian 
+	team (Prevod.org).
+
+2003-08-16  Duarte Loreto <happyguy_pt@hotmail.com>
+
+	* pt.po: Updated Portuguese translation.
+
+2003-08-13  Pablo Gonzalo del Campo  <pablodc@bigfoot.com>
+
+        * es.po: Updated Spanish translation by
+                 Francisco Javier F. Serrador <serrador@arrakis.es>.
+
+2003-08-12  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2003-08-08  Vincent van Adrighem  <V.vanAdrighem@dirck.mine.nu>
+
+	* nl.po: Dutch translation updated by Jan-Willem Harmanny.
+
+2003-08-05  Duarte Loreto <happyguy_pt@hotmail.com>
+
+        * pt.po: Updated Portuguese translation.
+
+2003-08-04  Pablo Gonzalo del Campo  <pablodc@bigfoot.com>
+
+        * es.po: Updated Spanish translation by
+                 Francisco Javier F. Serrador <serrador@arrakis.es>.
+
+2003-08-02  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2003-08-02  Miloslav Trmac  <mitr@volny.cz>
+
+	* cs.po: Updated Czech translation.
+
+2003-08-01  Pablo Gonzalo del Campo  <pablodc@bigfoot.com>
+
+        * es.po: Updated Spanish translation by
+                 Francisco Javier F. Serrador <serrador@arrakis.es>.
+
+2003-08-01  Miloslav Trmac  <mitr@volny.cz>
+
+	* cs.po: Updated Czech translation.
+
+2003-07-31  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2003-07-31  Duarte Loreto <happyguy_pt@hotmail.com>
+
+        * pt.po: Updated Portuguese translation.
+
+2003-07-30  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2003-07-29  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2003-07-28  Artur Flinta  <aflinta@cvs.gnome.org>
+
+	* pl.po: Updated Polish translation.
+
+2003-07-25  Vincent van Adrighem  <V.vanAdrighem@dirck.mine.nu>
+
+	* nl.po: Dutch translation updated by Jan-Willem Harmanny.
+
+2003-07-24  Duarte Loreto <happyguy_pt@hotmail.com>
+
+        * pt.po: Updated Portuguese translation.
+
+2003-07-24  Pablo Saratxaga  <pablo@mandrakesoft.com>
+
+	* vi.po: Updated Vietnamese file
+
+2003-07-23  Dmitry G. Mastrukov  <dmitry@taurussoft.org>
+
+	* be.po: Added Belarusian translation
+	from Belarusian team <i18n@mova.org>.
+
+2003-07-21  Pablo Gonzalo del Campo  <pablodc@bigfoot.com>
+
+        * es.po: Updated Spanish translation by
+                 Francisco Javier F. Serrador <serrador@arrakis.es>.
+
+2003-07-20  Hasbullah Bin Pit  <sebol@ikhlas.com>
+
+        * ms.po: Updated Malay translation.
+
+2003-07-19  Christophe Merlet  <redfox@redfoxcenter.org>
+
+	* fr.po: Updated French translation from
+	Benoit Dejean <bnet@ifrance.com>.
+
+2003-07-19  Miloslav Trmac  <mitr@volny.cz>
+
+	* cs.po: Updated Czech translation.
+
+2003-07-17  Vincent van Adrighem  <V.vanAdrighem@dirck.mine.nu>
+
+	* nl.po: Dutch translation updated by Kees van den Broek.
+
+2003-07-15  Artur Flinta  <aflinta@cvs.gnome.org>
+
+	* pl.po: Updated Polish translation.
+
+2003-07-14  Pablo Gonzalo del Campo  <pablodc@bigfoot.com>
+
+        * es.po: Updated Spanish translation by
+                 Francisco Javier F. Serrador <serrador@arrakis.es>.
+
+2003-07-12  Miloslav Trmac  <mitr@volny.cz>
+
+	* cs.po: Updated Czech translation.
+
+2003-07-12  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2003-07-11  Duarte Loreto <happyguy_pt@hotmail.com>
+
+        * pt.po: Updated Portuguese translation.
+
+2003-07-07  Miloslav Trmac  <mitr@volny.cz>
+
+	* cs.po: Updated Czech translation.
+
+2003.07-07  Andras Timar  <timar@gnome.hu>
+
+	* hu.po: Updated Hungarian translation.
+
+2003-07-07  Vincent van Adrighem  <V.vanAdrighem@dirck.mine.nu>
+
+	* nl.po: Dutch translation updated by Kees van den Broek.
+
+2003-07-06  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2003-07-05  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian translation.
+
+2003-07-02  Ole Laursen  <olau@hardworking.dk>
+
+	* da.po: Updated Danish translation from Nikolai Beier
+	<REMOVEniklinATmailDOTdk>.
+
+2003-06-30  Pauli Virtanen  <pauli.virtanen@hut.fi>
+
+	* fi.po: Set translator_credits.
+
+2003-06-28  Valek Filippov  <frob@df.ru>
+
+	* ru.po: Updated russian translation.
+
+2003-06-23  Vincent van Adrighem  <V.vanAdrighem@dirck.mine.nu>
+
+	* nl.po: Dutch translation updated by Kees van den Broek.
+
+2003-06-19  Takeshi AIHANA <aihana@gnome.gr.jp>
+
+	* ja.po: Updated Japanese translation by
+		Ryoichi INAGAKI <ryo1@bc.wakwak.com>.
+
+2003-06-13  Guntupalli Karunakar  <karunakar@freedomink.org>
+
+	* ml.po: Added Malayalam translation by
+	 FSF-India <locale@gnu.org.in>.
+
+2003-05-28  Pablo Gonzalo del Campo  <pablodc@bigfoot.com>
+
+        * es.po: Updated Spanish translation by 
+                 Francisco Javier Fernandez <serrador@arrakis.es>.
+
+2003-05-26  Abel Cheung  <maddog@linux.org.hk>
+
+	* zh_TW.po: Updated traditional Chinese translation.
+
+2003-05-21  Duarte Loreto <happyguy_pt@hotmail.com>
+
+        * pt.po: Updated Portuguese translation.
+
+2003-05-17  Hasbullah Bin Pit  <sebol@ikhlas.com>
+
+        * ms.po: Updated Malay translation.
+
+2003-05-12  Vincent van Adrighem  <V.vanAdrighem@dirck.mine.nu>
+
+	* nl.po: Dutch translation updated by Jan-Willem Harmanny.
+
+2003-05-06  Miloslav Trmac  <mitr@volny.cz>
+
+	* cs.po: Updated Czech translation.
+
+2003-05-03  Hasbullah Bin Pit  <sebol@ikhlas.com>
+
+        * ms.po: Added Malay translation.
+
+2003-05-02  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2003-05-01  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2003-04-30  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2003-04-26  Vincent van Adrighem  <V.vanAdrighem@dirck.mine.nu>
+
+	* nl.po: Dutch translation updated by Jan-Willem Harmanny.
+
+2003-04-23  Abel Cheung  <maddog@linux.org.hk>
+
+	* zh_TW.po: Updated traditional Chinese translation.
+
+2003-04-22  Stanislav Visnovsky  <visnovsky@nenya.ms.mff.cuni.cz>
+
+	* sk.po: Updated Slovak translation by Zdenko Podobny <zdpo@mailbox.sk>.
+
+2003-04-12  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2003-04-10  Miloslav Trmac  <mitr@volny.cz>
+
+	* cs.po: Updated Czech translation.
+
+2003-04-07  Evandro Fernandes Giovanini <evandrofg@ig.com.br>
+
+	* pt_BR.po: Updated Brazilian Portuguese translation from
+	Alexandre Folle de Menezes <afmenez@terra.com.br>.
+
+2003-04-05  Duarte Loreto <happyguy_pt@hotmail.com>
+
+        * pt.po: Updated Portuguese translation.
+
+2003-04-03  Duarte Loreto <happyguy_pt@hotmail.com>
+
+        * pt.po: Updated Portuguese translation.
+
+2003-03-29  Zbigniew Chyla  <cyba@gnome.pl>
+
+	* pl.po: Updated Polish translation by
+	GNOME PL Team <translators@gnome.pl>.
+
+2003-03-18  Lars Clausen  <lrclause@cs.uiuc.edu>
+
+	* ru.po: Updated version from Vitaly.
+
+2003-03-16  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian translation.
+
+2003-03-14  Lars Clausen  <lrclause@cs.uiuc.edu>
+
+	* ja.po: Updated to fix crash bugs by Ken Tsukahara
+	<ken.tsukahara@tmt-d.co.jp>.
+
+2003-03-06  Pablo Gonzalo del Campo  <pablodc@bigfoot.com>
+
+        * es.po: Updated Spanish translation by 
+          Francisco Vila Doncel <fravd@wanadoo.es>
+
+2003-03-02  Evandro Fernandes Giovanini <evandrofg@ig.com.br>
+
+	* pt_BR.po: Updated Brazilian Portuguese translation from
+	Alexandre Folle de Menezes <afmenez@terra.com.br>.
+
+2003-02-26  Evandro Fernandes Giovanini <evandrofg@ig.com.br>
+
+	* pt_BR.po: Updated Brazilian Portuguese translation from
+	Alexandre Folle de Menezes <afmenez@terra.com.br>.
+
+2003-02-25  Miloslav Trmac  <mitr@volny.cz>
+
+	* cs.po: Updated CZech translation.
+
+2003-02-24  Vincent van Adrighem  <V.vanAdrighem@dirck.mine.nu>
+
+	* nl.po: Dutch translation updated by Jan-Willem Harmanny.
+
+2003-02-24  Christian Neumair  <chris@gnome-de.org>
+
+	* de.po: Updated German translation.
+
+2003-02-23  Christophe Merlet  <redfox@redfoxcenter.org>
+
+	* fr.po: Updated French translation.
+
+2003-02-20  Abel Cheung  <maddog@linux.org.hk>
+
+	* zh_TW.po: Updated traditional Chinese translation.
+
+2003-02-17  Duarte Loreto <happyguy_pt@hotmail.com>
+
+        * pt.po: Updated Portuguese translation.
+
+2003-02-16  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2003-02-14  Vincent van Adrighem  <V.vanAdrighem@dirck.mine.nu>
+
+	* nl.po: Dutch translation updated by Jan-Willem Harmanny.
+
+2003-02-10  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2003-02-07  Miloslav Trmac  <mitr@volny.cz>
+
+	* cs.po: Updated Czech translation.
+
+2003-02-07  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2003-02-06  Duarte Loreto <happyguy_pt@hotmail.com>
+
+        * pt.po: Updated Portuguese translation.
+
+2003-02-03  Lars Clausen  <lrclause@cs.uiuc.edu>
+
+	* POTFILES.in: Added lib/arrows.c (now has arrow names).
+
+2003-02-03  Daniel Yacob  <locales@geez.org>
+
+	* am.po: Updated Amharic translation.
+	
+2003-02-02  Christian Neumair  <chris@gnome-de.org>
+
+	* de.po: Updated German translation.
+
+2003-01-31  Daniel Yacob  <locales@geez.org>
+
+	* am.po: Added Amharic translation.
+
+2003-01-22  Christian Neumair  <chris@gnome-de.org>
+
+	* de.po: Updated German translation.
+
+2003-01-21  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian translation.
+
+2003-01-20  Christian Neumair  <chris@gnome-de.org>
+
+	* de.po: Updated German translation.
+
+2003-01-20  Pablo Saratxaga  <pablo@mandrakesoft.com>
+
+	* vi.po: Updated Vietnamese file
+
+2003-01-20  Christian Neumair  <chris@gnome-de.org>
+
+	* de.po: Updated German translation.
+
+2003-01-08  Miloslav Trmac  <mitr@volny.cz>
+
+	* cs.po: Updated Czech translation.
+
+2003-01-04  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian translation.
+
+2002-12-20  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated and fixed a couple of errors caught by
+	Petter Reinholdsen <pere@hungry.com>.
+	
+2002-12-15  Christian Neumair  <chris@gnome-de.org>
+
+	* de.po: Updated German translation.
+
+2002-12-13  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2002-12-09  German Poo-Caaman~o <gpoo@ubiobio.cl>
+
+	* es.po: Updated Spanish translation by Juan Manuel Garcia Molina.
+
+2002-12-08  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
+
+	* sv.po: Undoing bad conflict resolution.
+
+2002-12-06  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
+
+	* *.po: refreshed PO files
+
+2002-12-06  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2002-12-03  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2002-11-28  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2002-11-28  Christian Neumair  <chris@gnome-de.org>
+
+	* de.po: Updated German translation.
+
+2002-11-26  Christian Rose  <menthos@menthos.com>
+
+	* .cvsignore: Added more entries.
+	* sv.po: Updated Swedish translation.
+
+2002-11-26  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
+
+	* POTFILES.in: New files bondgraph.c and diagtkfontsel.c
+
+2002-11-26  Pablo Gonzalo del Campo <pablodc@bigfoot.com>
+
+	* es.po: Updated Spanish translation by Juan Manuel Garcia Molina.
+
+2002-11-22  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian translation.
+
+2002-11-19  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2002-11-17  Cyrille Chepelov  <cyrille@chepelov.org>
+
+	* *.po: refreshed PO files
+
+2002-11-17  Cyrille Chepelov  <cyrille@chepelov.org>
+
+	* fr.po: Updated French translation
+
+2002-11-01  Christian Neumair  <chris@gnome-de.org>
+
+	* de.po: Updated German translation.
+
+2002-10-30  German Poo-Caaman~o <gpoo@ubiobio.cl>
+
+	* es.po: Updated Spanish translation by
+		Juan Manuel Garcia Molina <juanma_gm@wanadoo.es>
+
+2002-10-25  Stanislav Brabec  <sbrabec@suse.cz>
+
+	* cs.po: Updated Czech translation from Michal Bukovjan
+	<bukm@centrum.cz>.
+
+2002-10-24  Pablo Saratxaga  <pablo@mandrakesoft.com>
+
+	* vi.po: Updated Vietnamese file
+
+2002-10-23  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2002-10-22  Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
+
+	* nl.po: Dutch translation updated by Jan-Willem Harmanny.
+
+2002-10-21  German Poo-Caaman~o <gpoo@ubiobio.cl>
+
+	* es.po: Updated Spanish translation by
+		Juan Manuel Garcia Molina <juanma_gm@wanadoo.es>
+
+2002-10-18  Stanislav Brabec  <sbrabec@suse.cz>
+
+	* cs.po: Added Czech translation from Michal Bukovjan
+	<bukm@centrum.cz>.
+
+2002-10-15  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian translation.
+	* POTFILES.in: Updated with missing files.
+	
+2002-10-10  German Poo-Caaman~o <gpoo@ubiobio.cl>
+
+	* es.po: Updated Spanish translation by
+		Juan Manuel Garcia Molina <juanma_gm@wanadoo.es>
+
+2002-09-23  Cyrille Chepelov  <cyrille@chepelov.org>
+
+	* fr.po: Updated French translation
+
+2002-09-05  Pablo Gonzal del Campo <pablodc@bigfoot.com>
+
+        * es.po: Updated Spanish translation from Juan Manuel Garcia Molina
+
+2002-08-26  Cyrille Chepelov  <cyrille@chepelov.org>
+
+	* ro.po: Updated Romanian translation by Harald Ersch
+	<hersch@romatsa.ro>	
+
+2002-08-25  Duarte Loreto <happyguy_pt@hotmail.com>
+
+        * pt.po: Updated Portuguese translation.
+
+2002-08-25  Christophe Merlet  <christophe@merlet.net>
+
+	* fr.po: Updated French translation and converted to UTF-8.
+
+2002-08-07  Cyrille Chepelov  <cyrille@chepelov.org>
+
+	* fr.po: updated French translation.
+
+2002-08-05  Cyrille Chepelov  <cyrille@chepelov.org>
+
+	* fr.po: updated French translation.
+	* *.po: refreshed all .po files.	
+	* ro.po: Added Romanian translation contributed by Harald Ersch
+	<hersch@romatsa.ro>
+	
+2002-07-28  Lars Clausen  <lrclause@cs.uiuc.edu>
+
+	* POTFILES.in: Adding plugins/svg/svg-import.c
+
+2002-07-22  Lars Clausen  <lrclause@cs.uiuc.edu>
+
+	* POTFILES.in: Adding autosave.c
+
+2002-07-16  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian (bokmål) translation.
+	
+2002-07-14  Lars Clausen  <lrclause@cs.uiuc.edu>
+
+	* POTFILES.in: Added UML/activity.c and UML/state_term.c
+
+2002-07-01  Cyrille Chepelov  <cyrille@chepelov.org>
+
+	* fr.po: updated French translation.
+
+2002-06-20  Wang Jian  <lark@linux.net.cn>
+
+	* zh_CN.po: Updated Simplified Chinese translation by
+	Wen ShaoHua <NADWSH@sbell.com.cn>.
+
+2002-06-17  Lars Clausen  <lrclause@cs.uiuc.edu>
+
+	* POTFILES.in: Added object_defaults.c
+
+2002-06-16  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2002-06-12  Cyrille Chepelov  <cyrille@chepelov.org>
+
+	* fr.po: updated French translation.
+
+2002-06-11  Cyrille Chepelov  <cyrille@chepelov.org>
+
+	* ru.po: Russian translation update by Vitaly Lipatov <lav@altlinux.ru>
+
+2002-06-09  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian (bokmål) translation.
+	
+2002-06-03  Cyrille Chepelov  <cyrille@chepelov.org>
+
+	* fr.po: updated French translation
+
+2002-05-30  Pablo Saratxaga  <pablo@mandrakesoft.com>
+
+	* vi.po: updated Vietnamese file
+
+2002-05-28  Cyrille Chepelov  <cyrille@chepelov.org>
+
+	* de.po: German translation update by Jörgen Scheibengruber
+	<mcfn@gmx.de>	
+
+2002-05-26  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Fixed Swedish translation.
+
+2002-05-26  Zbigniew Chyla  <cyba@gnome.pl>
+
+	* pl.po: Updated Polish translation by
+	GNOME PL Team <translators@gnome.pl>.
+
+2002-05-26  Cyrille Chepelov  <cyrille@chepelov.org>
+
+	* fr.po: Updated French translation.
+
+2002-05-26  Akira TAGOH  <tagoh@gnome.gr.jp>
+
+	* ja.po: Update Japanese translation.
+
+2002-05-25  Duarte Loreto <happyguy_pt@hotmail.com>
+
+        * pt.po: Updated Portuguese translation.
+
+2002-05-25  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian (bokmål) translation.
+	
+2002-05-25  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2002-05-25  Cyrille Chepelov  <cyrille@chepelov.org>
+
+	* fr.po: Updated French translation.
+
+2002-05-21  Carlos Perello Marin <carlos@gnome-db.org>
+
+	* pt_BR.po: Updated by Francisco Petrúcio Cavalcante Junior
+	<fpcj@impa.br>
+	
+2002-05-10  Duarte Loreto <happyguy_pt@hotmail.com>
+
+        * pt.po: Updated Portuguese translation.
+
+2002-05-06  Pablo Saratxaga  <pablo@mandrakesoft.com>
+
+	* vi.po: Added Vietnamese file
+
+2002-04-25  Duarte Loreto <happyguy_pt@hotmail.com>
+
+        * pt.po: Updated Portuguese translation.
+
+2002-04-20  Zbigniew Chyla  <cyba@gnome.pl>
+
+	* pl.po: Updated Polish translation by
+	GNOME PL Team <translators@gnome.pl>.
+
+2002-04-02  Stanislav Visnovsky  <visnovsky@nenya.ms.mff.cuni.cz>
+
+	* sk.po: Updated Slovak translation by Zdenko Podobny <zdpo@mailbox.sk>.
+
+2002-03-28  Duarte Loreto <happyguy_pt@hotmail.com>
+
+        * pt.po: Updated Portuguese translation.
+
+2002-03-20  Stanislav Visnovsky  <visnovsky@nenya.ms.mff.cuni.cz>
+
+	* sk.po: Updated Slovak translation by Zdenko Podobny <zdpo@mailbox.sk>.
+
+2002-03-10  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2002-03-07  Akira TAGOH  <tagoh@redhat.com>
+
+	* POTFILES.in: removed ../lib/string_prerenderer.c entry.
+
+2002-03-03  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2002-02-28  Duarte Loreto <happyguy_pt@hotmail.com>
+
+        * pt.po: Updated Portuguese translation
+
+2002-02-23  Karsten Weiss  <knweiss@gmx.de>
+
+	* de.po: Updated German translation from
+	Jörgen Scheibengruber <mfcn@gmx.de>.
+
+2002-02-21  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian (bokmål) translation.
+	
+2002-02-16  Christian Rose  <menthos@menthos.com>
+
+	* POTFILES.in: Added missing file.
+	* sv.po: Updated Swedish translation.
+
+2002-02-09  Akira TAGOH  <tagoh@gnome.gr.jp>
+
+	* ja.po: Updated Japanese translation.
+
+2002-02-05  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2002-02-04 Duarte Loreto <happyguy_pt@hotmail.com>
+
+        * pt.po: Updated portuguese translation.
+
+2002-02-04  Carlos Perelló Marín <carlos@gnome-db.org>
+
+	* es.po: Updated by Juan Manuel García Molina <juanma_gm@wanadoo.es>
+
+2002-01-31  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian (bokmål) translation.
+	
+2002-01-31  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2002-01-31  Stanislav Visnovsky  <visnovsky@nenya.ms.mff.cuni.cz>
+
+	* sk.po: Updated  Slovak translation from Zdenko Podobny <zdpo@mailbox.sk>.
+
+2002-01-30  Akira TAGOH  <tagoh@gnome.gr.jp>
+
+	* ja.po: Updated Japanese translation.
+
+2002-01-30 Duarte Loreto <happyguy_pt@hotmail.com>
+
+        * pt.po: Updated portuguese translation.
+
+2002-01-30  Christian Rose  <menthos@menthos.com>
+
+	* POTFILES.in: Sorted and added missing files.
+	* sv.po: Updated Swedish translation.
+
+2002-01-29  Akira TAGOH  <tagoh@redhat.com>
+
+	* POTFILES.in: add objects/UML/uml.h
+	* ja.po: Updated Japanese translation.
+
+2002-01-27  Christian Rose  <menthos@menthos.com>
+
+	* POTFILES.in: Sorted and added missing files.
+	* sv.po: Updated Swedish translation.
+
+2002-01-24  Stanislav Visnovsky  <visnovsky@nenya.ms.mff.cuni.cz>
+
+	* sk.po: Added Slovak translation from Zdenko Podobny <zdpo@mailbox.sk>.
+
+2002-01-23 Duarte Loreto <happyguy_pt@hotmail.com>
+
+        * pt.po: Updated portuguese translation.
+
+2002-01-21  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2002-01-05  Christophe Merlet  <christophe@merlet.net>
+
+	* fr.po: Updated French translation.
+
+2002-01-03  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2002-01-02 Duarte Loreto <happyguy_pt@hotmail.com>
+
+        * pt.po: Updated portuguese translation.
+
+2001-12-26  Fatih Demir <kabalak@gtranslator.org>
+
+	* tr.po: Small correction in the charset field of the po file.
+
+2001-12-12  Akira TAGOH  <tagoh@gnome.gr.jp>
+
+	* ja.po: Updated Japanese translation.
+
+2001-12-12  Duarte Loreto <happyguy_pt@hotmail.com>
+
+        * pt.po: Updated Portuguese translation.
+
+2001-11-27  Roy-Magne Mo  <rmo@sunnmore.net>
+
+	* nn.po: Updated Norwegian (nynorsk) translation.
+
+2001-11-23  Carlos Perelló Marín <carlos@gnome-db.org>
+
+	* es.po: Updated Spanish translation by Juan Manuel García Molina
+	<juanmagm@mail.com>
+	
+2001-11-22  Gustavo Maciel Dias Vieira <gdvieira@zaz.com.br>
+
+	* pt_BR.po: Updated Brazilian Portuguese translation.
+
+2001-11-22  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2001-11-14  Roy-Magne Mo  <rmo@sunnmore.net>
+
+	* nn.po: Updated Norwegian (nynorsk) translation.
+
+2001-11-09  Christophe Merlet  <christophe@merlet.net>
+
+	* fr.po: Updated French translation.
+
+2001-11-05  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2001-10-30  Zbigniew Chyla  <cyba@gnome.pl>
+
+	* pl.po: Updated Polish translation by
+	GNOME PL Team <translators@gnome.pl>.
+
+2001-10-30  Roy-Magne Mo <rmo@sunnmore.net>
+
+	* nn.po: Updated Norwegian (nynorsk) translation.
+
+2001-10-14  Zbigniew Chyla  <cyba@gnome.pl>
+
+	* pl.po: Updated Polish translation.
+
+2001-10-10  Gustavo Maciel Dias Vieira <gdvieira@zaz.com.br>
+
+	* pt_BR.po: Updated Brazilian Portuguese translation.
+
+2001-10-02  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian (bokmål) translation.
+	
+2001-09-28  Valek Filippov  <frob@df.ru>
+
+	* ru.po: updated russian translation.
+
+2001-09-23  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian (bokmål) translation.
+	
+2001-09-22  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Corrected Swedish translation. Thanks to
+	Jan Djärv <jan.djarv@mbox200.swipnet.se>.
+
+2001-09-22  Christophe Merlet  <christophe@merlet.net>
+
+	* fr.po: Updated French translation.
+
+2001-09-19  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2001-09-15  Carlos Perelló Marín <carlos@gnome-db.org>
+
+	* az.po: Header fix.
+
+2001-09-13  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian (bokmål) translation.
+	
+2001-09-12  Gustavo Maciel Dias Vieira <gdvieira@zaz.com.br>
+
+	* pt_BR.po: Updated Brazilian Portuguese translation.
+
+2001-09-10  Pablo Saratxaga <pablo@mandrakesoft.com>
+
+	* es.po: Updated Spanish file
+	* fr.po: Fixed syntax error
+
+2001-09-08  Wang Jian <lark@linux.net.cn>
+
+	* zh_CN.po: Renamed from zh_CN.GB2312.po.
+
+2001-09-06  Abel Cheung  <maddog@linux.org.hk>
+
+	* zh_TW.po: Partially updated traditional Chinese translation.
+
+2001-09-04  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2001-09-03  Zbigniew Chyla  <cyba@gnome.pl>
+
+	* pl.po: Updated Polish translation.
+
+2001-09-02  Cyrille Chepelov  <chepelov@calixo.net>
+
+	* fr.po: Updated French translation.
+
+	* ALL PO FILES: ran "make update-po". Warning: the update.sh and
+	update.pl scripts don't know about xml-i18n-tools. They've been
+	disabled for the moment, since they'll trash all sheet files 
+	translations. Just run "make update-po", remove all .po files
+	except yours, do a CVS update.
+	
+	* update.(sh|pl): disabled the scripts.
+
+2001-09-01  Abel Cheung  <maddog@linux.org.hk>
+
+	* zh_TW.Big5.po: Rename to ......
+	* zh_TW.po: This.
+
+2001-09-01  Wang Jian  <lark@linux.net.cn>
+
+	* zh_CN.GB2312.po: Updated Simplified Chinese translation.
+
+2001-08-29  Valek Filippov  <frob@df.ru>
+
+	* ru.po: updated russian translation.
+
+2001-08-16  Cyrille Chepelov  <chepelov@calixo.net>
+
+	* fr.po: Updated French translation.
+
+	* ALL PO FILES: the information which was previously stored in the
+	sheets/ directory, which most translators actively ignored, is now 
+	folded back into the PO system. The process wasn't very smooth
+	because the xml-i18n-tools aren't really mature, so there might be 
+	some corruption (*especially for languages which don't use a
+	latinish script*). Also, there will be a lot more strings to
+	translate now (about 300 more). The ones who paid attention to the
+	[now removed] po/README file can relax...
+
+	I PLAN TO MAKE ALL PO FILES USE THE UTF-8 ENCODING SHORTLY. 
+	IF THAT UPSETS YOU, PLEASE SPEAK UP *NOW* TO THE LIST
+	dia-list@gnome.org. Thanks.
+	
+2001-08-13  Abel Cheung  <maddog@linux.org.hk>
+
+	* zh_TW.Big5.po: Updated traditional Chinese translation. This
+	  file is checked against gettext 0.10.38, so please warn me if
+	  this module uses 0.10.35 .
+
+2001-08-02  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2001-07-30  Cyrille Chepelov  <chepelov@calixo.net>
+
+	* fr.po: updated French translation.
+
+2001-07-28  Pablo Saratxaga <pablo@mandrakesoft.com>
+
+	* az.po: Updated azeri file
+	* tr.po: fixed syntax errors
+	* es.po: Updated Spanish file
+
+2001-07-22  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian (bokmål) translation.
+	* nn.po: Added Norwegian (nynorsk) translation.
+
+2001-07-17  Fatih Demir <kabalak@gtranslator.org>
+
+	* tr.po: Committed updated Turkish translation
+		by Burak Ilgicioglu.
+
+2001-07-13  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian (bokmål) translation.
+	* nn.po: Added Norwegian (nynorsk) translation.
+
+2001-07-07  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2001-06-25  gettextize  <bug-gnu-utils@gnu.org>
+
+	* Makefile.in.in: Upgrade to gettext-0.10.38.
+
+2001-06-12  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian translation.
+
+2001-06-12  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2001-06-12  Cyrille Chepelov  <chepelov@calixo.net>
+
+	* fr.po: Updated French translation.
+
+2001-06-11  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2001-06-10  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated and fixed Swedish translation. Thanks to
+	Jörgen Tegnér <jorgen.tegner@post.utfors.se>,
+	Jan D. <jan.djarv@mbox200.swipnet.se>, and
+	Göran Uddeborg <goeran@uddeborg.pp.se> for their input.
+
+2001-06-08  Cyrille Chepelov  <chepelov@calixo.net>
+
+	* *.po: updated all po files (didn't touch any translation).
+
+2001-06-08  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2001-06-07  Pablo Saratxaga <pablo@mandrakesoft.com>
+
+	* az.po: Updated azeri file
+
+2001-05-25  Pablo Saratxaga <pablo@mandrakesoft.com>
+
+	* az.po: Updated azeri file
+
+2001-05-22  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian translation.
+
+2001-05-21  Pablo Saratxaga <pablo@mandrakesoft.com>
+
+	* zh_TW.Big5.po: fixed invalid multibyte
+
+2001-05-20  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian translation.
+
+2001-05-17  Christophe Merlet  <christophe@merlet.net>
+
+	* fr.po: Updated French translation from contributions of
+	Frédéric Boiteux <furgarat@free.fr> for Debian GNU/Linux.
+
+2001-05-16  Cyrille Chepelov  <chepelov@calixo.net>
+
+	* fr.po: Updated French translation.
+
+2001-05-07  Christophe Merlet  <christophe@merlet.net>
+
+	* fr.po: Updated French translation.
+
+2001-05-02  Pablo Saratxaga  <pablo@mandrakesoft.com>
+
+	* az.po: Updated azeri file
+
+2001-04-24  Valek Filippov  <frob@df.ru>
+
+	* ru.po: updated russian translation.
+
+2001-04-22  Christian Meyer  <chrisime@gnome.org>
+
+	* de.po: Updated German translation.
+
+2001-04-16  Cyrille Chepelov  <chepelov@calixo.net>
+
+	* fr.po: Updated French translation.
+
+2001-04-11  Christian Meyer  <chrisime@gnome.org>
+
+	* de.po: Updated German translation.
+
+2001-04-09  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Fixed Swedish translation. Thanks goes to Göran Uddeborg
+	<goeran@uddeborg.pp.se> for the review.
+
+2001-04-09  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2001-04-07  Cyrille Chepelov  <chepelov@calixo.net>
+
+	* fr.po: Updated French translation.
+
+2001-04-07  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian translation.
+	* POTFILES.in: Added lib/dia_xml.c
+	
+2001-04-06  gettextize  <bug-gnu-utils@gnu.org>
+
+	* Makefile.in.in: Upgrade to gettext-0.10.36.
+
+2001-04-06  gettextize  <bug-gnu-utils@gnu.org>
+
+	* Makefile.in.in: Upgrade to gettext-0.10.36.
+
+2001-04-06  gettextize  <bug-gnu-utils@gnu.org>
+
+	* Makefile.in.in: Upgrade to gettext-0.10.36.
+	* cat-id-tbl.c: Remove file.
+	* stamp-cat-id: Remove file.
+
+2001-04-04  Cyrille Chepelov  <chepelov@calixo.net>
+	
+	* fr.po: Updated French translation. Fixed some typos, and a
+	mistranslation spotted by Vincent  Cagnard <vincent.cagnard@telecorporate.com>
+		
+2001-04-01  Christian Meyer  <chrisime@gnome.org>
+
+	* de.po: Updated German translation.
+
+2001-03-29  Cyrille Chepelov  <chepelov@calixo.net>
+
+	* fr.po: Added missing French translations ; fixed some which
+	were obviously wrong (should fix some parts of Debian #82885)
+
+2001-03-27  Kjartan Maraas  <kmaraas@gnome.org
+
+	* no.po: Updated Norwegian (bokmål) translation.
+	
+2001-03-22  Cyrille Chepelov  <chepelov@calixo.net>
+
+	* fr.po: Fixed up some French translations (chronogram-related).
+
+2001-03-17  Christian Meyer  <chrisime@gnome.org>
+
+	* de.po: Updated once more.
+
+2001-03-16  Christian Meyer  <chrisime@gnome.org>
+
+	* de.po: Updated German translation.
+
+2001-03-11  Valek Filippov  <frob@df.ru>
+
+	* ru.po: updated russian translation.
+
+2001-03-07  Carlos Perelló Marín <carlos@gnome-db.org>
+
+	* es.po: Updated Spanish translation by Juan Manuel García Molina
+	  <juanmagm@mail.com>
+	* es_ES.po: Removed because it's the same locale as es.po
+
+2001-03-06  Carlos Perelló Marín <carlos@gnome-db.org>
+
+	* es.po: Updated Spanish translation by Juan Manuel García Molina
+	  <juanmagm@mail.com>
+
+2001-03-06  Christian Meyer  <chrisime@gnome.org>
+
+	* de.po: Updated German translation.
+
+2001-03-05  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian (bokmål) translation.
+
+2001-02-23  Valek Filippov  <frob@df.ru>
+
+	* ru.po: updated russian translation.
+
+2001-02-21  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian (bokmål) translation.
+	* POTFILES.in: Added xfig plugin.
+	
+2001-02-16  Christophe Merlet  <christophe@merlet.net>
+
+	* fr.po: Updated French translation.
+
+2001-02-14  Carlos Perelló Marín <carlos@gnome-db.org>
+
+	* es.po: Updated Spanish translation by Juan Manuel García Molina
+	  <juanmagm@mail.com>
+
+2001-02-14  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian (bokmål) translation.
+	
+2001-02-09  Akira TAGOH  <tagoh@gnome.gr.jp>
+
+	* ja.po: Updated Japanese translation.
+
+2001-01-31  Szabolcs Ban  <shooby@gnome.hu>
+
+        * hu.po: Terminology fixes by Andras Timar <timar@gnome.hu>
+
+2001-01-26  Pablo Saratxaga <pablo@mandrakesoft.com>
+
+	* az.po: Added Azeri file
+	* ca.po: Updated Catalan file
+	* es.po: Updated Spanish file
+
+2001-01-24  Szabolcs Ban  <shooby@gnome.hu>
+
+        * hu.po: Tons of fixes by Andras and Emese (spelling,
+          terminology, headers)
+
+2001-01-18  Richard Hult  <rhult@codefactory.se>
+
+	* sv.po: Fixe "strunta i" -> "undertryck".
+
+2001-01-09  Valek Filippov  <frob@df.ru>
+
+	* ru.po: updated russian translation.
+	* POTFILES.in: updated.
+	
+2001-01-10  Christophe Merlet  <christophe@merlet.net>
+
+	* fr.po: Updated French translation.
+
+2001-01-09  Valek Filippov  <frob@df.ru>
+
+	* ru.po: updated russian translation.
+
+2001-01-09  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2001-01-08  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian (bokmål) translation.
+	
+2001-01-04  Christophe Merlet  <christophe@merlet.net>
+
+	* fr.po: Updated French translation.
+
+2001-01-03  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2000-12-23  Fatih Demir	<kabalak@gmx.net>
+
+	* tr.po: Committed updated translation by
+		Burak ILGICIOGLU <ilgici@turk.net>.
+
+2000-12-13  Christophe Merlet  <christophe@merlet.net>
+
+	* fr.po: Updated French translation.
+
+2000-12-05  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian (bokmål) translation.
+	
+2000-11-16  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2000-11-13  Zbigniew Chyla  <cyba@gnome.pl>
+
+	* pl.po: Updated Polish translation
+
+2000-11-10  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian (bokmål) translation.
+	
+2000-11-04  Zbigniew Chyla  <cyba@gnome.pl>
+
+	* pl.po: Updated Polish translation.
+
+2000-10-21  Christian Rose  <menthos@menthos.com>
+
+	* sv.po: Updated Swedish translation.
+
+2000-10-20  Christophe Merlet  <christophe@merlet.net>
+
+	* fr.po: Updated French translation.
+
+2000-10-19  Valek Filippov  <frob@df.ru>
+
+	* ru.po: updated russian translation.
+
+2000-10-15  Christian Meyer  <cm@ggtt.de>
+
+	* de.po: Updated German translation.
+	
+2000-10-15  Almer S. Tigelaar  <almer1@dds.nl>
+
+	* nl.po: Update Dutch translation.
+
+2000-10-15  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian (bokmål) translation.
+	* POTFILES.in: Updated this too.
+		
+2000-10-14  Valek Filippov  <frob@df.ru>
+
+	* ru.po: updated russian translation.
+
+2000-10-13  Almer S. Tigelaar  <almer1@dds.nl>
+
+	* nl.po: Make minor corrections to Dutch translation.
+
+2000-10-12  Almer S. Tigelaar  <almer1@dds.nl>
+
+	* nl.po: Update Dutch translation.
+
+2000-10-10  Christophe Merlet  <christophe@merlet.net>
+
+	* fr.po: Updated French translation.
+
+2000-10-09  Szabolcs BAN  <shooby@gnome.hu>
+
+	*hu.po: Updated Hungarian translations, thanks to emese@gnome.hu
+
+2000-10-06  Szabolcs BAN  <shooby@gnome.hu>
+
+	* hu.po: Updated Hungarian translations. Major changes in
+	terminology.
+
+2000-09-25  Christophe Merlet  <christophe@merlet.net>
+
+	* POTFILES.in: Reverted my changes. Oups :(
+
+2000-09-25  Christophe Merlet  <christophe@merlet.net>
+
+	* fr.po: Updated French translation.
+	* POTFILES.in: Updated files list.
+
+2000-09-16  Almer S. Tigelaar  <almer1@dds.nl>
+
+	* nl.po: New Dutch translation
+
+2000-09-09  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian translation.
+
+2000-09-09 Yukihiro Nakai <nakai@gnome.gr.jp>
+
+	* ja.po: Update Japanese translation
+
+2000-09-07 Yukihiro Nakai <nakai@gnome.gr.jp>
+
+	* ja.po: A few minor bug fix
+
+2000-08-29  Manuel de Vega Barreiro <barreiro@arrakis.es> 
+
+	* es.po: New Spanish translation.
+
+2000-08-16  Daniel Egger  <egger@suse.de> 
+
+	* de.po: Updated.
+
+2000-08-16  Valek Filippov  <frob@df.ru>
+
+	* ru.po: updated russian translation.
+	* de.po: updated with Chrisime help.
+
+2000-08-15  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian translation.
+
+2000-08-12  Benedikt Roth  <Benedikt.Roth@gmx.net>
+
+	* de.po: Updated German translation.
+
+2000-08-10  Valek Filippov  <frob@df.ru>
+
+	* ru.po: updated russian translation.
+
+2000-08-10  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* POTFILES.in: Added app/dia-props.c and plus-ins/svg/svg.c.
+	* no.po: Updated Norwegian translation.
+	
+2000-08-07  Yuri Syrota  <rasta@renome.rovno.ua> 
+
+        * uk.po: Updated Ukrainian translation.
+
+2000-08-06  Daniel Egger  <egger@suse.de> 
+
+        * de.po: Updated the German translation.
+
+2000-08-06  Fatih Demir  <kabalak@gmx.net> 
+
+        * tr.po: Updated the Turkish translation.
+
+2000-08-03 Alastair McKinstry <mckinstry@computer.org>
+
+	* ga.po: Further Irish translations.
+
+2000-08-03  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* no.po: Updated Norwegian translation.
+
+2000-07-30  Christopher R. Gabriel  <cgabriel@softwarelibero.org>
+
+	* it.po: updated italian translation from 
+	Salvo Isaja <salvois@it.gnome.org>
+
+2000-07-27  Fatih Demir  <kabalak@gmx.net> 
+
+        * tr.po: Updated the Turkish translation.
+
+2000-07-27  Valek Filippov  <frob@df.ru>
+
+	* ru.po: updated russian translation.
+
+2000-07-19  Fatih Demir	<kabalak@gmx.net>
+	
+	* tr.po: Added the Turkish translation.
+
+2000-07-17  Valek Filippov  <frob@df.ru>
+
+	* ru.po: updated russian translation.
+
+2000-07-17  Yukihiro Nakai <ynakai@redhat.com>
+
+	* ja.po: Update Japanese translation.
+
+2000-07-15  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* POTFILES.in: Clean up. Removed files that aren't in
+	the build.
+	* no.po: Updated Norwegian translation.
+	
+2000-07-15  Valek Filippov  <frob@df.ru>
+
+	* ru.po: updated russian translation.
+	* POTFILES.in: added some missing files.
+
+2000-07-15  Robert Brady  <rwb197@zepler.org>
+
+	* en_GB.po: Updated British translation.
+
+2000-07-00  Benedikt Roth  <Benedikt.Roth@gmx.net>
+
+	* de.po: Updated German translation (incomplete, feel free to finish it!)
+	
+2000-07-12 Sami Gerdt <sgerdt@cs.joensuu.fi>
+
+	* fi.po: Update.
+
+2000-06-30  Christopher R. Gabriel  <cgabriel@linux.it>
+
+	* it.po: updated italian translation from 
+	Salvo Isaja <salvois@it.gnome.org>
+
+2000-06-28  Valek Filippov  <frob@df.ru>
+
+	* ru.po: updated russian translation.
+
+2000-06-27  Kjartan Maraas  <kmaraas@gnome.org>
+
+	* POTFILES.in: Added missing files.
+	* no.po: Updated Norwegian translation.
+	
+2000-06-14  JP Rosevear  <jpr@arcavia.com>
+
+	* fi.po: Get fi.po compiling
+
+2000-06-04 Sami Gerdt <sgerdt@cs.joensuu.fi>
+
+	* fi.po: Finnish update
+
+2000-06-04  Kjartan Maraas  <kmaraas@online.no>
+
+	* no.po: Updated Norwegian translation.
+	
+2000-06-01  Valek Filippov  <frob@df.ru>
+
+	* ru.po: updated russian translation.
+
+2000-05-30 Sami Gerdt <sgerdt@cs.joensuu.fi>
+
+	* fi.po: added finnish translation
+	
+2000-05-29  Valek Filippov  <frob@df.ru>
+
+	* ru.po: updated russian translation.
+
+2000-05-26  Kjartan Maraas  <kmaraas@online.no>
+
+	* no.po: Updated Norwegian translation.
+	
+2000-05-25  Valek Filippov  <frob@df.ru>
+
+	* ru.po: updated russian translation.
+
+2000-05-22  Andreas Hyden  <a.hyden@cyberpoint.se>
+
+	* sv.po: Updated Swedish translation.
+
+2000-05-18  Kjartan Maraas  <kmaraas@online.no>
+
+	* no.po: Updated Norwegian translation.
+	
+2000-05-18  Valek Filippov  <frob@df.ru>
+
+	* ru.po: Updated russian translation.
+
+2000-05-14  Valek Filippov  <frob@df.ru>
+
+	* ru.po: Updated russian translation.
+
+2000-05-12  Kjartan Maraas  <kmaraas@online.no>
+
+	* no.po: Updated Norwegian translation.
+	
+2000-05-09  Andreas Hyden  <a.hyden@cyberpoint.se>
+
+	* sv.po: Updated Swedish translation.
+	* update.sh: Updated.
+
+2000-05-07  Yukihiro Nakai <nakai@gnome.gr.jp>
+
+	* ja.po: Update Japanese translation from Yukihiro Nakai.
+
+2000-05-07  Andreas Hyden  <a.hyden@cyberpoint.se>
+
+	* sv.po: Updated Swedish translation.
+
+2000-05-03  Valek Filippov  <frob@df.ru>
+
+	* ru.po: updated russian translation.
+
+2000-05-02  Andreas Hyden  <a.hyden@cyberpoint.se>
+
+	* sv.po: Updated Swedish translation.
+
+2000-05-02  James Henstridge  <james@daa.com.au>
+
+	* de.po: added new version of german translation from Daniel Egger.
+
+	* *.po: ran update-po.
+
+2000-04-28  Kjartan Maraas  <kmaraas@online.no>
+
+	* no.po: Updated Norwegian translation.
+	
+2000-04-27  Valek Filippov  <frob@df.ru>
+
+	* ru.po: Updated russian translation.
+
+2000-04-26  Kjartan Maraas  <kmaraas@online.no>
+
+	* POTFILES.in: Added missing files and removed lots
+	of files with no marked strings in them.
+	* no.po: Updated Norwegian translation.
+	
+2000-04-18  Pablo Saratxaga <pablo@mandrakesoft.com>
+
+	* ca.po: Added Catalan file
+
+2000-04-18  Kjartan Maraas  <kmaraas@online.no>
+
+	* no.po: Updated Norwegian translation.
+	
+2000-04-16  Pablo Saratxaga <pablo@mandrakesoft.com>
+
+	* da.po: Updated Danish file
+
+2000-04-12  Pablo Saratxaga <pablo@mandrakesoft.com>
+
+	* da.po: Updated Danish file
+	* hu.po: corrected syntax errors
+
+2000-04-10  Valek Filippov <frob@df.ru>
+
+	* ru.po: Updated Russian translation.
+
+2000-04-10  Kjartan Maraas  <kmaraas@online.no>
+
+	* no.po: Updated Norwegian translation.
+	
+2000-04-01  Kjartan Maraas  <kmaraas@online.no>
+
+	* no.po: Updated Norwegian translation.
+	
+2000-03-31  Spiros Papadimitriou <spapadim+@cs.cmu.edu>
+
+	* el.po: Updated Greek translation (minor).
+
+2000-03-18  Zbigniew Chyla  <chyla@buy.pl>
+
+	* pl.po: Updated translation.
+
+2000-03-14  Spiros Papadimitriou <spapadim+@cs.cmu.edu>
+
+	* el.po: Added Greek translation.
+
+2000-03-10 Alastair McKinstry <mckinstry@computer.org>
+
+	* ga.po: Added Irish translation.
+
+2000-03-08  Kjartan Maraas  <kmaraas@online.no>
+
+	* no.po: Updated Norwegian translation.
+	
+2000-02-29  Andreas Hyden  <ahyden@staffanstorp.net>
+
+	* sv.po: Updated Swedish translation.
+
+2000-02-26  Kjartan Maraas  <kmaraas@online.no>
+
+	* no.po: Updated Norwegian translation.
+	
+2000-02-19  Zbigniew Chyla  <chyla@buy.pl>
+
+	* pl.po: Updated translation.
+
+2000-02-15  Vincent Renardias <vincent@ldsol.com>
+
+	* fr.po: Updated.
+
+2000-02-12  Yukihiro Nakai <nakai@gnome.gr.jp>
+
+	* ja.po: Update from Koichi Ooike.
+
+2000-02-03  Yukihiro Nakai <nakai@gnome.gr.jp>
+
+	* ja.po: Small fix.
+
+2000-01-28  Kjartan Maraas  <kmaraas@online.no>
+
+	* no.po: Updated Norwegian translation.
+
+2000-01-24  Joaquim Fellmann <joaquim@hrnet.fr>
+	
+	* fr.po: Updated French translation.
+
+2000-01-13  Andreas Hyden <andreas.hyden@telia.com>
+
+	* sv.po: Updated Swedish translation.
+
+2000-01-12  Andreas Hyden <andreas.hyden@telia.com>
+
+	* sv.po: Updated Swedish translation.
+
+2000-01-12  Andreas Hyden <andreas.hyden@telia.com>
+
+	* sv.po: Updated Swedish translation.
+
+2000-01-12  Andreas Hyden <andreas.hyden@telia.com>
+
+	* sv.po: Updated Swedish translation.
+
+2000-01-03  Kjartan Maraas  <kmaraas@online.no>
+
+	* update.sh: A little script that lets people
+	update the .pot file without makefiles etc.
+
+1999-12-29  Zbigniew Chyla  <chyla@alice.ci.pwr.wroc.pl>
+
+	* pl.po: Updated translation.
+
+1999-12-28  Yuri Syrota  <rasta@renome.rovno.ua>
+
+	* uk.po: Added.
+
+1999-12-27  Kjartan Maraas  <kmaraas@online.no>
+
+	* no.po: Updated Norwegian translation.
+
+1999-12-13  Kjartan Maraas  <kmaraas@online.no>
+
+	* no.po: Updated Norwegian translation.
+
+1999-11-26  Kjartan Maraas  <kmaraas@online.no>
+
+	* no.po: Updated Norwegian translation.
+
+1999-11-25  Yukihiro Nakai <nakai@gnome.gr.jp>
+
+	* ja.po: Update from Yukihiro Nakai
+
+1999-10-14  Kjartan Maraas  <kmaraas@online.no>
+
+	* no.po: Updated translation.
+	
+1999-09-25  Kjartan Maraas  <kmaraas@online.no>
+
+	* no.po: Updated translation.
+	
+1999-09-23  Zbigniew Chyla  <chyla@alice.ci.pwr.wroc.pl>
+
+	* pl.po: Updated translation.
+
+1999-09-17  Kjartan Maraas  <kmaraas@online.no>
+
+	* da.po: Updated Danish translation from Kenneth
+	Christiansen <kenneth@ripen.dk>.
+
+1999-09-09  Vincent Renardias <vincent@ldsol.com>
+
+	* updated fr.po:
+		448 translated messages, 3 fuzzy translations.
+
+1999-09-06  Yukihiro Nakai <nacai@iname.com>
+
+	* ja.po: Initial Japanese Translation
+
+1999-09-05  James Henstridge  <james@daa.com.au>
+
+	* POTFILES.in: updated POTFILES.in.
+
+1999-09-03  Kjartan Maraas  <kmaraas@online.no>
+
+	* no.po: Updated translation.
+
+1999-09-02  Zbigniew Chyla  <chyla@alice.ci.pwr.wroc.pl>
+
+	* pl.po: Updated translation.
+
+1999-08-22  Kjartan Maraas  <kmaraas@online.no>
+
+	* no.po: Updated translation.
+	
+1999-08-19  Karsten Weiss  <karsten@addx.au.s.shuttle.de>
+
+	* de.po: Updated translation.
+
+1999-08-17  James Henstridge  <james@daa.com.au>
+
+	* POTFILES.in: added flowchart object files.
+
+1999-08-11  Robert Brady  <rwb197@ecs.soton.ac.uk>
+
+	* en_GB.po: Added.
+
+1999-08-03  Karsten Weiss  <karsten@addx.au.s.shuttle.de>
+
+	* de.po: Fixed a warning msg that was caused by a little
+	inconsistency in Matthias' changes.
+
+1999-08-03  Kjartan Maraas  <kmaraas@online.no>
+
+	* no.po: Updated translation.
+
+1999-07-29  Matthias Warkus  <mawa@iname.com>
+
+	* de.po: Glossed over translation on Karsten's request. CHECK
+	marks remain. Volunteers who know how to translate UML and Entity
+	Relationship vocabulary to the front, please.
+
+1999-07-28  Karsten Weiss  <karsten@addx.au.s.shuttle.de>
+
+	* de.po: Updated translation. 100% now.
+	Could someone be so kind and proof-read the translations?
+	Especially the strings tagged with "CHECK" as I'm not sure if they
+	are accurate.  Thanks.
+	
+1999-07-24  Karsten Weiss  <karsten@addx.au.s.shuttle.de>
+
+	* de.po: Updated translation.
+
+1999-07-23  Karsten Weiss  <karsten@addx.au.s.shuttle.de>
+
+	* de.po: Added German translation (282 translated, 66 untranslated)
+	* POTFILES.in: updated.
+
+1999-07-15  Kjartan Maraas  <kmaraas@online.no>
+
+	* no.po: Updated translation.
+	
+1999-05-05  Kjartan Maraas  <kmaraas@online.no>
+
+	* no.po: Updated translation.
+
diff -Nuar cvs-dia/po/es.po dia/po/es.po
--- cvs-dia/po/es.po	2003-08-29 22:10:19.000000000 +0200
+++ dia/po/es.po	2003-08-30 19:39:55.000000000 +0200
@@ -12,8 +12,8 @@
 msgstr ""
 "Project-Id-Version: dia.HEAD\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2003-08-29 03:27+0200\n"
-"PO-Revision-Date: 2003-08-29 07:04+0200\n"
+"POT-Creation-Date: 2003-08-21 19:28+0200\n"
+"PO-Revision-Date: 2003-08-22 00:27+0200\n"
 "Last-Translator: Francisco Javier F. Serrador <serrador@arrakis.es>\n"
 "Language-Team: Spanish <traductores@es.gnome.org>\n"
 "MIME-Version: 1.0\n"
@@ -190,7 +190,7 @@
 msgid "No existing object to paste.\n"
 msgstr "No hay objetos que pegar.\n"
 
-#: app/commands.c:470 app/commands.c:508
+#: app/commands.c:470 app/commands.c:498
 msgid "Could not find help directory"
 msgstr "No se pudo encontrar el directorio de ayuda"
 
@@ -208,21 +208,21 @@
 #. * which will give them credit in the About box.
 #. * E.g. "Fulano de Tal <fulano@detal.com>"
 #.
-#: app/commands.c:547
+#: app/commands.c:536
 msgid "translator_credits-PLEASE_ADD_YOURSELF_HERE"
 msgstr ""
 "Juan Manuel García Molina <juanma_gm@wanadoo.es>\n"
 "Revisión de Francisco Vila <fravd@wanadoo.es>"
 
-#: app/commands.c:561 dia.desktop.in.h:1
+#: app/commands.c:550 dia.desktop.in.h:1
 msgid "Dia"
 msgstr "Dia"
 
-#: app/commands.c:563
+#: app/commands.c:552
 msgid "Copyright (C) 1998-2002 The Free Software Foundation and the authors"
 msgstr "Copyright © 1998-2002 la Free Software Foundation y los autores"
 
-#: app/commands.c:564
+#: app/commands.c:553
 msgid ""
 "Dia is a program for drawing structured diagrams.\n"
 "Please visit http://www.lysator.liu.se/~alla/dia for more information."
@@ -230,25 +230,25 @@
 "Dia es un programa para dibujar diagramas estructurados.\n"
 "Visite http://www.lysator.liu.se/~alla/dia para más información."
 
-#: app/commands.c:603
+#: app/commands.c:592
 msgid "About Dia"
 msgstr "Acerca de Dia"
 
-#: app/commands.c:646
+#: app/commands.c:635
 #, c-format
 msgid "Dia v %s by Alexander Larsson"
 msgstr "Dia versión %s por Alexander Larsson"
 
 #. Exact spelling is Ch&eacute;p&eacute;lov (using *ML entities)
-#: app/commands.c:652
+#: app/commands.c:641
 msgid "Maintainers: Lars Clausen and Cyrille Chepelov"
 msgstr "Encargados: Lars Clausen y Cyrille Chepelov"
 
-#: app/commands.c:656
+#: app/commands.c:645
 msgid "Please visit http://www.lysator.liu.se/~alla/dia for more information"
 msgstr "Visite http://www.lysator.liu.se/~alla/dia para más información"
 
-#: app/commands.c:661
+#: app/commands.c:650
 msgid "Contributors:"
 msgstr "Contribuciones:"
 
@@ -264,52 +264,40 @@
 msgid "Defaults: "
 msgstr "Predeterminados: "
 
-#: app/dia-props.c:75
+#: app/dia-props.c:61
 msgid "Diagram Properties"
 msgstr "Propiedades del diagrama"
 
-#: app/dia-props.c:110
-msgid "Dynamic grid"
-msgstr "Rejilla dinámica"
-
-#: app/dia-props.c:118
+#: app/dia-props.c:96
 msgid "x"
 msgstr "x"
 
-#: app/dia-props.c:122
+#: app/dia-props.c:100
 msgid "y"
 msgstr "y"
 
-#: app/dia-props.c:127
+#: app/dia-props.c:105
 msgid "Spacing"
 msgstr "Espaciado"
 
-#: app/dia-props.c:147
+#: app/dia-props.c:125
 msgid "Visible spacing"
 msgstr "Espaciado visible"
 
-#: app/dia-props.c:167
+#: app/dia-props.c:145
 msgid "Grid"
 msgstr "Cuadrícula"
 
-#: app/dia-props.c:178 lib/diagramdata.c:62
+#: app/dia-props.c:156
+msgid "Background Colour"
+msgstr "Color de fondo"
+
+#: app/dia-props.c:167 lib/diagramdata.c:58
 msgid "Background"
 msgstr "Fondo"
 
-#: app/dia-props.c:189 app/preferences.c:103
-msgid "Grid Lines"
-msgstr "Línea de cuadrícula"
-
-#: app/dia-props.c:200
-msgid "Page Breaks"
-msgstr "Saltos de página"
-
-#: app/dia-props.c:211
-msgid "Colours"
-msgstr "Colores"
-
 #. Can we be sure that the filename is the 'proper title'?
-#: app/dia-props.c:230
+#: app/dia-props.c:185
 #, c-format
 msgid "Diagram Properties: %s"
 msgstr "Propiedades del diagrama: %s"
@@ -522,7 +510,7 @@
 msgid "Page Setup"
 msgstr "Configurar página"
 
-#: app/disp_callbacks.c:78 app/properties.c:144
+#: app/disp_callbacks.c:77 app/properties.c:141
 msgid ""
 "This object doesn't support Undo/Redo.\n"
 "Undo information erased."
@@ -530,11 +518,11 @@
 "Este objeto no soporta deshacer/rehacer.\n"
 "Información para deshacer borrada."
 
-#: app/disp_callbacks.c:220
+#: app/disp_callbacks.c:219
 msgid "No object menu"
 msgstr "No hay menú objeto"
 
-#: app/disp_callbacks.c:865
+#: app/disp_callbacks.c:864
 msgid ""
 "The object you dropped cannot fit into its parent. \n"
 "Either expand the parent object, or drop the object elsewhere."
@@ -567,7 +555,7 @@
 msgid "Discard Changes"
 msgstr "Descartar los cambios"
 
-#: app/export_png.c:116 app/load_save.c:806 app/render_eps.c:83
+#: app/export_png.c:116 app/load_save.c:779 app/render_eps.c:83
 #: plug-ins/cgm/cgm.c:1157 plug-ins/dxf/dxf-export.c:505
 #: plug-ins/hpgl/hpgl.c:732 plug-ins/metapost/render_metapost.c:807
 #: plug-ins/pstricks/render_pstricks.c:757 plug-ins/shape/shape-export.c:135
@@ -611,23 +599,23 @@
 msgid "Portable Network Graphics"
 msgstr "Portable Network Graphics"
 
-#: app/filedlg.c:113 app/filedlg.c:383
+#: app/filedlg.c:102 app/filedlg.c:370
 msgid "By extension"
 msgstr "Por extensión"
 
-#: app/filedlg.c:172
+#: app/filedlg.c:161
 msgid "Open Diagram"
 msgstr "Abrir diagrama"
 
-#: app/filedlg.c:200
+#: app/filedlg.c:189
 msgid "Open Options"
 msgstr "Abrir opciones"
 
-#: app/filedlg.c:208 app/filedlg.c:498
+#: app/filedlg.c:197 app/filedlg.c:485
 msgid "Determine file type:"
 msgstr "Determinar tipo de archivo:"
 
-#: app/filedlg.c:245
+#: app/filedlg.c:234
 msgid ""
 "Some characters in the filename are neither UTF-8 nor your local encoding.\n"
 "Some things will break."
@@ -636,7 +624,7 @@
 "codificación local.\n"
 "Algunas cosas no funcionarán."
 
-#: app/filedlg.c:251 app/filedlg.c:425
+#: app/filedlg.c:240 app/filedlg.c:412
 #, c-format
 msgid ""
 "The file '%s' already exists.\n"
@@ -645,21 +633,21 @@
 "El archivo «%s» ya existe.\n"
 "¿Quiere sobreescribirlo?"
 
-#: app/filedlg.c:259 app/filedlg.c:431
+#: app/filedlg.c:248 app/filedlg.c:418
 msgid "File already exists"
 msgstr "El archivo ya existe"
 
-#: app/filedlg.c:292
+#: app/filedlg.c:283
 msgid "Save Diagram"
 msgstr "Guardar diagrama"
 
 #. Need better way to make it a reasonable size.  Isn't there some
 #. standard look for them (or is that just Gnome?)
-#: app/filedlg.c:300
+#: app/filedlg.c:291
 msgid "Compress diagram files"
 msgstr "Comprimir archivos del diagrama"
 
-#: app/filedlg.c:309
+#: app/filedlg.c:298
 msgid ""
 "Compression reduces file size to less than 1/10th size and speeds up loading "
 "and saving.  Some text programs cannot manipulate compressed files."
@@ -668,7 +656,7 @@
 "incrementa la velocidad del cargado y el guardado. Algunos programas de "
 "texto no pueden manipular archivos comprimidos."
 
-#: app/filedlg.c:450
+#: app/filedlg.c:437
 #, c-format
 msgid ""
 "Could not determine which export filter\n"
@@ -677,11 +665,11 @@
 "No se pudo determinar qué filtro de exportación\n"
 "usar para guardar «%s»"
 
-#: app/filedlg.c:468
+#: app/filedlg.c:455
 msgid "Export Diagram"
 msgstr "Exportar diagrama"
 
-#: app/filedlg.c:490
+#: app/filedlg.c:477
 msgid "Export Options"
 msgstr "Exportar opciones"
 
@@ -922,17 +910,17 @@
 "Error cargando diagrama.\n"
 "No existe manejador de conexión."
 
-#: app/load_save.c:276
+#: app/load_save.c:275
 msgid "You must specify a file, not a directory.\n"
 msgstr "Debe especificar un archivo, no un directorio.\n"
 
-#: app/load_save.c:283 plug-ins/dxf/dxf-import.c:1304 plug-ins/wpg/wpg.c:1169
+#: app/load_save.c:282 plug-ins/dxf/dxf-import.c:1304 plug-ins/wpg/wpg.c:1169
 #: plug-ins/xfig/xfig-import.c:1505 plug-ins/xslt/xslt.c:78
 #, c-format
 msgid "Couldn't open: '%s' for reading.\n"
 msgstr "No se pudo abrir: «%s» para lectura.\n"
 
-#: app/load_save.c:300 app/load_save.c:305
+#: app/load_save.c:291 app/load_save.c:296
 #, c-format
 msgid ""
 "Error loading diagram %s.\n"
@@ -941,7 +929,7 @@
 "Error cargando el diagrama %s.\n"
 "Tipo de archivo desconocido."
 
-#: app/load_save.c:312
+#: app/load_save.c:303
 #, c-format
 msgid ""
 "Error loading diagram %s.\n"
@@ -950,7 +938,7 @@
 "Error cargando el diagrama %s.\n"
 "No es un archivo de Dia."
 
-#: app/load_save.c:509
+#: app/load_save.c:489
 #, c-format
 msgid ""
 "Error loading diagram:\n"
@@ -961,12 +949,12 @@
 "%s.\n"
 "Un archivo válido de Dia define al menos una capa."
 
-#: app/load_save.c:839
+#: app/load_save.c:812
 #, c-format
 msgid "Failed to save file '%s'.\n"
 msgstr "Fallo al cargar el archivo «%s».\n"
 
-#: app/load_save.c:909 app/load_save.c:914
+#: app/load_save.c:882 app/load_save.c:887
 msgid "Native Dia Diagram"
 msgstr "Diagrama nativo de Dia"
 
@@ -1109,7 +1097,7 @@
 msgid "All"
 msgstr "Todo"
 
-#: app/menus.c:170 lib/arrows.c:38 objects/UML/association.c:1135
+#: app/menus.c:170 lib/arrows.c:38 objects/UML/association.c:1134
 msgid "None"
 msgstr "Nada"
 
@@ -1765,6 +1753,10 @@
 msgid "View Defaults"
 msgstr "Ver opciones por defecto"
 
+#: app/preferences.c:103
+msgid "Grid Lines"
+msgstr "Línea de cuadrícula"
+
 #: app/preferences.c:104
 msgid "Diagram Tree"
 msgstr "rbol del diagrama"
@@ -1813,90 +1805,86 @@
 msgid "Paper type:"
 msgstr "Tipo de papel:"
 
-#: app/preferences.c:133
-msgid "Background Colour:"
-msgstr "Color de fondo:"
-
-#: app/preferences.c:136
+#: app/preferences.c:134
 msgid "New window:"
 msgstr "Ventana nueva:"
 
-#: app/preferences.c:137
+#: app/preferences.c:135
 msgid "Width:"
 msgstr "Ancho:"
 
-#: app/preferences.c:138
+#: app/preferences.c:136
 msgid "Height:"
 msgstr "Alto:"
 
-#: app/preferences.c:139
+#: app/preferences.c:137
 msgid "Magnify:"
 msgstr "Magnificar:"
 
-#: app/preferences.c:142
+#: app/preferences.c:140
 msgid "Connection Points:"
 msgstr "Puntos de conexión:"
 
 #. { NULL, PREF_NONE, 0, NULL, 3, N_("Grid:") },
-#: app/preferences.c:143 app/preferences.c:147 app/preferences.c:153
+#: app/preferences.c:141 app/preferences.c:145 app/preferences.c:151
 msgid "Visible"
 msgstr "Visible"
 
-#: app/preferences.c:146
+#: app/preferences.c:144
 msgid "Page breaks:"
 msgstr "Divisiones de páginas:"
 
-#: app/preferences.c:148 app/preferences.c:158
+#: app/preferences.c:146 app/preferences.c:156
 msgid "Colour:"
 msgstr "Color:"
 
-#: app/preferences.c:149
+#: app/preferences.c:147
 msgid "Solid lines"
 msgstr "Líneas sólidas"
 
-#: app/preferences.c:154
+#: app/preferences.c:152
 msgid "Snap to"
 msgstr "Ajustar a"
 
-#: app/preferences.c:155
+#: app/preferences.c:153
 msgid "Dynamic grid resizing"
 msgstr "Redimensionado de rejilla dinámico"
 
-#: app/preferences.c:156
+#: app/preferences.c:154
 msgid "X Size:"
 msgstr "Tamaño X:"
 
-#: app/preferences.c:157
+#: app/preferences.c:155
 msgid "Y Size:"
 msgstr "Tamaño Y:"
 
-#: app/preferences.c:159
+#: app/preferences.c:157
 msgid "Lines per major line"
 msgstr "Líneas por cada línea principal"
 
-#: app/preferences.c:177
+#: app/preferences.c:172
 msgid "Diagram tree window:"
 msgstr "Ventana del árbol del diagrama"
 
-#: app/preferences.c:179
+#: app/preferences.c:174
 msgid "Save hidden object types"
 msgstr "Guardar tipos de objetos ocultos"
 
-#: app/preferences.c:308
+#: app/preferences.c:303
 #, c-format
 msgid "Could not open `%s' for writing"
 msgstr "No se pudo abrir «%s» para escritura"
 
-#: app/preferences.c:586 lib/prop_inttypes.c:151
+#: app/preferences.c:583 lib/prop_inttypes.c:151
 msgid "Yes"
 msgstr "Sí"
 
-#: app/preferences.c:586 app/preferences.c:597 lib/prop_inttypes.c:153
+#: app/preferences.c:583 app/preferences.c:594 lib/prop_inttypes.c:153
 #: lib/prop_inttypes.c:179
 msgid "No"
 msgstr "No"
 
-#: app/preferences.c:699
+#: app/preferences.c:696
 msgid "Preferences"
 msgstr "Preferencias"
 
@@ -1908,11 +1896,11 @@
 msgid "This object has no properties."
 msgstr "Este objeto no tiene propiedades."
 
-#: app/properties.c:194
+#: app/properties.c:191
 msgid "Properties: "
 msgstr "Propiedades: "
 
-#: app/properties.c:198
+#: app/properties.c:195
 msgid "Object properties:"
 msgstr "Propiedades del objeto:"
 
@@ -2010,9 +1998,9 @@
 msgid "Revert"
 msgstr "Invertir"
 
-#: app/sheets_dialog.c:354 objects/UML/class_dialog.c:829
-#: objects/UML/class_dialog.c:1753 objects/UML/class_dialog.c:1981
-#: objects/UML/class_dialog.c:2500
+#: app/sheets_dialog.c:354 objects/UML/class_dialog.c:828
+#: objects/UML/class_dialog.c:1752 objects/UML/class_dialog.c:1980
+#: objects/UML/class_dialog.c:2499
 msgid "New"
 msgstr "Nuevo"
 
@@ -2054,8 +2042,8 @@
 msgstr "Descripción:"
 
 #: app/sheets_dialog.c:618 objects/FS/flow-ortho.c:168 objects/FS/flow.c:146
-#: objects/UML/class_dialog.c:878 objects/UML/class_dialog.c:1805
-#: objects/UML/class_dialog.c:2035 objects/UML/class_dialog.c:2549
+#: objects/UML/class_dialog.c:877 objects/UML/class_dialog.c:1804
+#: objects/UML/class_dialog.c:2034 objects/UML/class_dialog.c:2548
 msgid "Type:"
 msgstr "Tipo:"
 
@@ -2065,9 +2053,9 @@
 
 #: app/sheets_dialog.c:672 objects/ER/attribute.c:151 objects/ER/entity.c:130
 #: objects/ER/relationship.c:138 objects/UML/association.c:199
-#: objects/UML/association.c:1112 objects/UML/class_dialog.c:866
-#: objects/UML/class_dialog.c:1793 objects/UML/class_dialog.c:2023
-#: objects/UML/class_dialog.c:2537 objects/UML/dependency.c:128
+#: objects/UML/association.c:1112 objects/UML/class_dialog.c:865
+#: objects/UML/class_dialog.c:1792 objects/UML/class_dialog.c:2022
+#: objects/UML/class_dialog.c:2536 objects/UML/dependency.c:128
 #: objects/UML/generalization.c:124 objects/UML/realizes.c:125
 msgid "Name:"
 msgstr "Nombre:"
@@ -2493,7 +2481,7 @@
 # Creí que era Tipografía como en otros msgs. FVD
 #: lib/properties.c:79 lib/properties.h:508 objects/GRAFCET/condition.c:132
 #: objects/GRAFCET/step.c:165 objects/GRAFCET/transition.c:142
-#: objects/UML/class_dialog.c:328 objects/chronogram/chronoline.c:183
+#: objects/UML/class_dialog.c:327 objects/chronogram/chronoline.c:183
 #: objects/chronogram/chronoref.c:164
 msgid "Font"
 msgstr "Fuente"
@@ -3834,7 +3822,7 @@
 msgstr "Figuras variadas"
 
 #. property rows
-#: objects/SADT/arrow.c:134 objects/UML/class_dialog.c:334
+#: objects/SADT/arrow.c:134 objects/UML/class_dialog.c:333
 msgid "Normal"
 msgstr "Normal"
 
@@ -3910,46 +3898,46 @@
 msgid "Actor"
 msgstr "Actor"
 
-#: objects/UML/association.c:1125 objects/UML/class_dialog.c:2071
+#: objects/UML/association.c:1124 objects/UML/class_dialog.c:2070
 msgid "Direction:"
 msgstr "Dirección:"
 
-#: objects/UML/association.c:1142
+#: objects/UML/association.c:1141
 msgid "From A to B"
 msgstr "De A a B"
 
-#: objects/UML/association.c:1149
+#: objects/UML/association.c:1148
 msgid "From B to A"
 msgstr "De B a A"
 
-#: objects/UML/association.c:1173 objects/UML/association.c:1181
+#: objects/UML/association.c:1172 objects/UML/association.c:1180
 msgid "Side A"
 msgstr "Lado A"
 
-#: objects/UML/association.c:1175 objects/UML/association.c:1183
+#: objects/UML/association.c:1174 objects/UML/association.c:1182
 msgid "Side B"
 msgstr "Lado B"
 
-#: objects/UML/association.c:1189
+#: objects/UML/association.c:1188
 msgid "Role:"
 msgstr "Papel:"
 
-#: objects/UML/association.c:1201
+#: objects/UML/association.c:1200
 msgid "Multiplicity:"
 msgstr "Multiplicidad:"
 
 #. Show arrow:
-#: objects/UML/association.c:1212
+#: objects/UML/association.c:1211
 msgid "Show arrow"
 msgstr "Mostrar flecha"
 
 #. Aggregate
-#: objects/UML/association.c:1218
+#: objects/UML/association.c:1217
 msgid "Aggregate"
 msgstr "Agregar"
 
 #. Composition
-#: objects/UML/association.c:1226
+#: objects/UML/association.c:1225
 msgid "Composition"
 msgstr "Composición"
 
@@ -3959,17 +3947,17 @@
 msgid "Stereotype"
 msgstr "Estereotipo"
 
-#: objects/UML/class.c:110 objects/UML/class_dialog.c:359
+#: objects/UML/class.c:110 objects/UML/class_dialog.c:358
 #: sheets/SDL.sheet.in.h:3
 msgid "Comment"
 msgstr "Comentario"
 
-#: objects/UML/class.c:112 objects/UML/class_dialog.c:291
-#: objects/UML/class_dialog.c:344 objects/UML/class_dialog.c:1894
+#: objects/UML/class.c:112 objects/UML/class_dialog.c:290
+#: objects/UML/class_dialog.c:343 objects/UML/class_dialog.c:1893
 msgid "Abstract"
 msgstr "Resumen"
 
-#: objects/UML/class.c:114 objects/UML/class_dialog.c:300
+#: objects/UML/class.c:114 objects/UML/class_dialog.c:299
 msgid "Suppress Attributes"
 msgstr "Suprimir atributos"
 
@@ -3990,13 +3978,13 @@
 msgstr "Comentarios visibles"
 
 #. Attributes page:
-#: objects/UML/class.c:125 objects/UML/class_dialog.c:801
+#: objects/UML/class.c:125 objects/UML/class_dialog.c:800
 #: objects/UML/object.c:148
 msgid "Attributes"
 msgstr "Atributos"
 
 #. Operations page:
-#: objects/UML/class.c:127 objects/UML/class_dialog.c:1725
+#: objects/UML/class.c:127 objects/UML/class_dialog.c:1724
 msgid "Operations"
 msgstr "Operaciones"
 
@@ -4018,168 +4006,168 @@
 msgid "Class name:"
 msgstr "Nombre de la clase:"
 
-#: objects/UML/class_dialog.c:273 objects/UML/class_dialog.c:1817
+#: objects/UML/class_dialog.c:272 objects/UML/class_dialog.c:1816
 #: objects/UML/dependency.c:130 objects/UML/generalization.c:126
 #: objects/UML/realizes.c:127
 msgid "Stereotype:"
 msgstr "Estereotipo:"
 
-#: objects/UML/class_dialog.c:282 objects/UML/class_dialog.c:902
-#: objects/UML/class_dialog.c:1935 objects/UML/class_dialog.c:2059
+#: objects/UML/class_dialog.c:281 objects/UML/class_dialog.c:901
+#: objects/UML/class_dialog.c:1934 objects/UML/class_dialog.c:2058
 msgid "Comment:"
 msgstr "Comentario:"
 
-#: objects/UML/class_dialog.c:297
+#: objects/UML/class_dialog.c:296
 msgid "Attributes visible"
 msgstr "Atributos visibles"
 
-#: objects/UML/class_dialog.c:306
+#: objects/UML/class_dialog.c:305
 msgid "Operations visible"
 msgstr "Operaciones visibles"
 
-#: objects/UML/class_dialog.c:309
+#: objects/UML/class_dialog.c:308
 msgid "Suppress operations"
 msgstr "Suprimir operaciones"
 
-#: objects/UML/class_dialog.c:315
+#: objects/UML/class_dialog.c:314
 msgid "Comments visible"
 msgstr "Comentarios visibles"
 
 #. head line
-#: objects/UML/class_dialog.c:325
+#: objects/UML/class_dialog.c:324
 msgid "Kind"
 msgstr "Tipo"
 
-#: objects/UML/class_dialog.c:330
+#: objects/UML/class_dialog.c:329
 msgid "Size"
 msgstr "Tamaño"
 
-#: objects/UML/class_dialog.c:339
+#: objects/UML/class_dialog.c:338
 msgid "Polymorphic"
 msgstr "Polimórfico"
 
-#: objects/UML/class_dialog.c:349
+#: objects/UML/class_dialog.c:348
 msgid "Class Name"
 msgstr "Nombre de la clase"
 
-#: objects/UML/class_dialog.c:354
+#: objects/UML/class_dialog.c:353
 msgid "Abstract Class"
 msgstr "Clase abstracta"
 
 #. should probably be refactored too.
-#: objects/UML/class_dialog.c:371
+#: objects/UML/class_dialog.c:370
 msgid "Foreground Color"
 msgstr "Color de primer plano"
 
-#: objects/UML/class_dialog.c:379
+#: objects/UML/class_dialog.c:378
 msgid "Background Color"
 msgstr "Color de fondo"
 
-#: objects/UML/class_dialog.c:835 objects/UML/class_dialog.c:1759
-#: objects/UML/class_dialog.c:1988 objects/UML/class_dialog.c:2506
+#: objects/UML/class_dialog.c:834 objects/UML/class_dialog.c:1758
+#: objects/UML/class_dialog.c:1987 objects/UML/class_dialog.c:2505
 msgid "Delete"
 msgstr "Borrar"
 
-#: objects/UML/class_dialog.c:841 objects/UML/class_dialog.c:1765
-#: objects/UML/class_dialog.c:1995 objects/UML/class_dialog.c:2512
+#: objects/UML/class_dialog.c:840 objects/UML/class_dialog.c:1764
+#: objects/UML/class_dialog.c:1994 objects/UML/class_dialog.c:2511
 msgid "Move up"
 msgstr "Mover arriba"
 
-#: objects/UML/class_dialog.c:847 objects/UML/class_dialog.c:1771
-#: objects/UML/class_dialog.c:2002 objects/UML/class_dialog.c:2518
+#: objects/UML/class_dialog.c:846 objects/UML/class_dialog.c:1770
+#: objects/UML/class_dialog.c:2001 objects/UML/class_dialog.c:2517
 msgid "Move down"
 msgstr "Mover abajo"
 
-#: objects/UML/class_dialog.c:858
+#: objects/UML/class_dialog.c:857
 msgid "Attribute data"
 msgstr "Datos de atributo"
 
-#: objects/UML/class_dialog.c:890
+#: objects/UML/class_dialog.c:889
 msgid "Value:"
 msgstr "Valor:"
 
-#: objects/UML/class_dialog.c:915 objects/UML/class_dialog.c:1830
+#: objects/UML/class_dialog.c:914 objects/UML/class_dialog.c:1829
 msgid "Visibility:"
 msgstr "Visibilidad:"
 
-#: objects/UML/class_dialog.c:924 objects/UML/class_dialog.c:1839
+#: objects/UML/class_dialog.c:923 objects/UML/class_dialog.c:1838
 msgid "Public"
 msgstr "Público"
 
-#: objects/UML/class_dialog.c:932 objects/UML/class_dialog.c:1847
+#: objects/UML/class_dialog.c:931 objects/UML/class_dialog.c:1846
 msgid "Private"
 msgstr "Privado"
 
-#: objects/UML/class_dialog.c:940 objects/UML/class_dialog.c:1855
+#: objects/UML/class_dialog.c:939 objects/UML/class_dialog.c:1854
 msgid "Protected"
 msgstr "Protegido"
 
-#: objects/UML/class_dialog.c:948 objects/UML/class_dialog.c:1863
+#: objects/UML/class_dialog.c:947 objects/UML/class_dialog.c:1862
 msgid "Implementation"
 msgstr "Implementación"
 
-#: objects/UML/class_dialog.c:964 objects/UML/class_dialog.c:1879
+#: objects/UML/class_dialog.c:963 objects/UML/class_dialog.c:1878
 msgid "Class scope"
 msgstr "Vista de clase"
 
-#: objects/UML/class_dialog.c:1783
+#: objects/UML/class_dialog.c:1782
 msgid "Operation data"
 msgstr "Datos de operación"
 
-#: objects/UML/class_dialog.c:1885
+#: objects/UML/class_dialog.c:1884
 msgid "Inheritance type:"
 msgstr "Tipo de herencia:"
 
-#: objects/UML/class_dialog.c:1902
+#: objects/UML/class_dialog.c:1901
 msgid "Polymorphic (virtual)"
 msgstr "Polimórfico (virtual)"
 
-#: objects/UML/class_dialog.c:1910
+#: objects/UML/class_dialog.c:1909
 msgid "Leaf (final)"
 msgstr "Hoja (final)"
 
-#: objects/UML/class_dialog.c:1928
+#: objects/UML/class_dialog.c:1927
 msgid "Query"
 msgstr "Consulta"
 
-#: objects/UML/class_dialog.c:1952
+#: objects/UML/class_dialog.c:1951
 msgid "Parameters:"
 msgstr "Parámetros:"
 
-#: objects/UML/class_dialog.c:2014
+#: objects/UML/class_dialog.c:2013
 msgid "Parameter data"
 msgstr "Datos de parámetros"
 
-#: objects/UML/class_dialog.c:2047
+#: objects/UML/class_dialog.c:2046
 msgid "Def. value:"
 msgstr "Valor por defecto:"
 
-#: objects/UML/class_dialog.c:2080
+#: objects/UML/class_dialog.c:2079
 msgid "Undefined"
 msgstr "No definido"
 
-#: objects/UML/class_dialog.c:2088
+#: objects/UML/class_dialog.c:2087
 msgid "In"
 msgstr "Entrada"
 
-#: objects/UML/class_dialog.c:2097
+#: objects/UML/class_dialog.c:2096
 msgid "Out"
 msgstr "Salida"
 
-#: objects/UML/class_dialog.c:2106
+#: objects/UML/class_dialog.c:2105
 msgid "In & Out"
 msgstr "Entrada y salida"
 
 #. Templates page:
-#: objects/UML/class_dialog.c:2466
+#: objects/UML/class_dialog.c:2465
 msgid "Templates"
 msgstr "Plantillas"
 
-#: objects/UML/class_dialog.c:2472 sheets/UML.sheet.in.h:29
+#: objects/UML/class_dialog.c:2471 sheets/UML.sheet.in.h:29
 msgid "Template class"
 msgstr "Clase de plantilla"
 
-#: objects/UML/class_dialog.c:2529
+#: objects/UML/class_dialog.c:2528
 msgid "Formal parameter data"
 msgstr "Datos de parámetros formales"
 
diff -Nuar cvs-dia/po/es.po.orig dia/po/es.po.orig
--- cvs-dia/po/es.po.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/po/es.po.orig	2003-08-30 19:39:11.000000000 +0200
@@ -0,0 +1,7370 @@
+# translation of dia.HEAD.po to Spanish
+# translation of dia.HEAD.es.po to Spanish
+# Spanish translation for Dia.
+# Copyright © 2000,2002,2003 Free Software Foundation, Inc.
+# This file is distributed under the same license as the dia package.
+# Francisco Vila Doncel <fravd@wanadoo.es> (Revisión), 2003.
+# Ana María García Molina <ana_gm@eresmas.com>, 2001.
+# Juan Manuel García Molina <juanma_gm@wanadoo.es>, 2000-2002.
+# Francisco Javier F. Serrador <serrador@arrakis.es>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: dia.HEAD\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2003-08-29 03:27+0200\n"
+"PO-Revision-Date: 2003-08-29 07:04+0200\n"
+"Last-Translator: Francisco Javier F. Serrador <serrador@arrakis.es>\n"
+"Language-Team: Spanish <traductores@es.gnome.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+
+#: app/app_procs.c:162
+#, c-format
+msgid "%s error: input and output file name is identical: %s"
+msgstr "%s error: el nombre de los ficheros de entrada y salida es idéntico: %s"
+
+#: app/app_procs.c:173
+#, c-format
+msgid "%s error: need valid input file %s\n"
+msgstr "%s error: se necesita un archivo de entrada válido %s\n"
+
+#: app/app_procs.c:180
+#, c-format
+msgid "%s error: don't know how to export into %s\n"
+msgstr "%s error: no se sabe cómo exportar a %s\n"
+
+#. if (!quiet)
+#: app/app_procs.c:186
+#, c-format
+msgid "%s --> %s\n"
+msgstr "%s --> %s\n"
+
+#. &export_file_name
+#: app/app_procs.c:244
+msgid "Export loaded file and exit"
+msgstr "Exportar archivo cargado y salir"
+
+#: app/app_procs.c:244 app/diaconv.c:94
+msgid "OUTPUT"
+msgstr "SALIDA"
+
+#. &export_file_format
+#: app/app_procs.c:246
+msgid "Export to file format and exit"
+msgstr "Exportar al formato de archivo y salir"
+
+#: app/app_procs.c:246 app/diaconv.c:92
+msgid "eps,png,wmf,cgm,dxf,fig"
+msgstr "eps,png,wmf,cgm,dxf,fig"
+
+#: app/app_procs.c:248
+msgid "Don't show the splash screen"
+msgstr "No mostrar la pantalla de bienvenida"
+
+#: app/app_procs.c:250
+msgid "Display credits list and exit"
+msgstr "Mostrar la lista de créditos y salir"
+
+#: app/app_procs.c:252
+msgid "Display version and exit"
+msgstr "Mostrar la versión y salir"
+
+#: app/app_procs.c:254 app/diaconv.c:95
+msgid "Show this help message"
+msgstr "Mostrar este mensaje de ayuda"
+
+#: app/app_procs.c:286
+msgid "Can't connect to session manager!\n"
+msgstr "¡No se puede conectar con el gestor de sesiones!\n"
+
+#: app/app_procs.c:301 app/diaconv.c:119
+msgid "[OPTION...] [FILE...]"
+msgstr "[OPCI“N...] [ARCHIVO...]"
+
+#: app/app_procs.c:305 app/diaconv.c:126
+#, c-format
+msgid ""
+"Error on option %s: %s.\n"
+"Run '%s --help' to see a full list of available command line options.\n"
+msgstr ""
+"Error en la opción %s: %s.\n"
+"Ejecute '%s --help' para ver la lista completa de opciones de\n"
+"la línea de comandos.\n"
+
+#: app/app_procs.c:318
+#, c-format
+msgid "%s error: can specify only one of -f or -o."
+msgstr "%s error: sólo puede especificar -f o -o (no ambos)."
+
+#. TRANSLATOR: 2nd and 3rd %s are time and date respectively.
+#: app/app_procs.c:331
+#, c-format
+msgid "Dia version %s, compiled %s %s\n"
+msgstr "Versión %s de Dia, compilada %s %s\n"
+
+#: app/app_procs.c:333
+#, c-format
+msgid "Dia version %s\n"
+msgstr "Versión %s de Dia\n"
+
+# Como adjetivo creo que el plural es "estándar". FVD
+#: app/app_procs.c:419 app/app_procs.c:421 app/diaconv.c:199 app/diaconv.c:201
+msgid "Couldn't find standard objects when looking for object-libs, exiting...\n"
+msgstr "No se encontraron objetos estándar en object-libs, saliendo...\n"
+
+#: app/app_procs.c:549
+msgid ""
+"This shouldn't happen.  Please file a bug report at bugzilla.gnome.org\n"
+"describing how you can cause this message to appear.\n"
+msgstr ""
+"Esto no debería ocurrir. Rellene un informe de error en bugzilla.gnome.org\n"
+"describiendo cómo puede hacer que este mensaje apararezca.\n"
+
+#. no standard buttons
+#: app/app_procs.c:561
+msgid ""
+"Modified diagrams exist.\n"
+"Are you sure you want to quit Dia\n"
+"without saving them?"
+msgstr ""
+"Hay diagramas modificados.\n"
+"¿Está seguro de que desea salir de Dia\n"
+"sin guardarlos?"
+
+#: app/app_procs.c:565
+msgid "Quit Dia"
+msgstr "Salir de Dia"
+
+#. This printf seems to prevent a race condition with unrefs.
+#. Yuck.  -Lars
+#: app/app_procs.c:620
+msgid "Thank you for using Dia.\n"
+msgstr "Gracias por usar Dia.\n"
+
+#: app/app_procs.c:634 app/app_procs.c:641
+msgid "Could not create per-user Dia config directory"
+msgstr "No se pudo crear el directorio de configuración de Dia para el usuario"
+
+#: app/app_procs.c:643
+msgid ""
+"Could not create per-user Dia config directory. Please make sure that the "
+"environment variable HOME points to an existing directory."
+msgstr ""
+"No se pudo crear el directorio de configuración de Dia para el usuario. Por "
+"favor, asegúrese de que la variable de entorno HOME apunta a un directorio "
+"existente."
+
+#: app/app_procs.c:665 app/diaconv.c:249
+msgid "Objects and filters internal to dia"
+msgstr "Objetos y filtros internos para dia"
+
+#: app/autosave.c:93
+msgid "Recovering autosaved diagrams"
+msgstr "Recuperando los diagramas guardados automáticamente"
+
+#: app/autosave.c:101
+msgid ""
+"Autosaved files exist.\n"
+"Please select those you wish to recover."
+msgstr ""
+"Hay archivos guardados automáticamente.\n"
+"Seleccione los que quiera recuperar."
+
+#: app/color_area.c:316 app/color_area.c:363
+msgid "Select foreground color"
+msgstr "Seleccione color de primer plano"
+
+#: app/color_area.c:317 app/color_area.c:364
+msgid "Select background color"
+msgstr "Seleccione color de fondo"
+
+#: app/commands.c:132
+#, c-format
+msgid "Diagram%d.dia"
+msgstr "Diagrama%d.dia"
+
+#: app/commands.c:200
+msgid "No existing object to paste.\n"
+msgstr "No hay objetos que pegar.\n"
+
+#: app/commands.c:470 app/commands.c:508
+msgid "Could not find help directory"
+msgstr "No se pudo encontrar el directorio de ayuda"
+
+#: app/commands.c:477
+#, c-format
+msgid ""
+"Could not open help directory:\n"
+"%s"
+msgstr ""
+"No se pudo abrir el directorio de ayuda:\n"
+"%s"
+
+#.
+#. * Translators should localize the following string
+#. * which will give them credit in the About box.
+#. * E.g. "Fulano de Tal <fulano@detal.com>"
+#.
+#: app/commands.c:547
+msgid "translator_credits-PLEASE_ADD_YOURSELF_HERE"
+msgstr ""
+"Juan Manuel García Molina <juanma_gm@wanadoo.es>\n"
+"Revisión de Francisco Vila <fravd@wanadoo.es>"
+
+#: app/commands.c:561 dia.desktop.in.h:1
+msgid "Dia"
+msgstr "Dia"
+
+#: app/commands.c:563
+msgid "Copyright (C) 1998-2002 The Free Software Foundation and the authors"
+msgstr "Copyright © 1998-2002 la Free Software Foundation y los autores"
+
+#: app/commands.c:564
+msgid ""
+"Dia is a program for drawing structured diagrams.\n"
+"Please visit http://www.lysator.liu.se/~alla/dia for more information."
+msgstr ""
+"Dia es un programa para dibujar diagramas estructurados.\n"
+"Visite http://www.lysator.liu.se/~alla/dia para más información."
+
+#: app/commands.c:603
+msgid "About Dia"
+msgstr "Acerca de Dia"
+
+#: app/commands.c:646
+#, c-format
+msgid "Dia v %s by Alexander Larsson"
+msgstr "Dia versión %s por Alexander Larsson"
+
+#. Exact spelling is Ch&eacute;p&eacute;lov (using *ML entities)
+#: app/commands.c:652
+msgid "Maintainers: Lars Clausen and Cyrille Chepelov"
+msgstr "Encargados: Lars Clausen y Cyrille Chepelov"
+
+#: app/commands.c:656
+msgid "Please visit http://www.lysator.liu.se/~alla/dia for more information"
+msgstr "Visite http://www.lysator.liu.se/~alla/dia para más información"
+
+#: app/commands.c:661
+msgid "Contributors:"
+msgstr "Contribuciones:"
+
+#: app/defaults.c:43 app/defaults.c:146
+msgid "Object defaults"
+msgstr "Opciones por defecto para el objeto"
+
+#: app/defaults.c:61
+msgid "This object has no defaults."
+msgstr "Este objeto no tiene opciones por defecto."
+
+#: app/defaults.c:111
+msgid "Defaults: "
+msgstr "Predeterminados: "
+
+#: app/dia-props.c:75
+msgid "Diagram Properties"
+msgstr "Propiedades del diagrama"
+
+#: app/dia-props.c:110
+msgid "Dynamic grid"
+msgstr "Rejilla dinámica"
+
+#: app/dia-props.c:118
+msgid "x"
+msgstr "x"
+
+#: app/dia-props.c:122
+msgid "y"
+msgstr "y"
+
+#: app/dia-props.c:127
+msgid "Spacing"
+msgstr "Espaciado"
+
+#: app/dia-props.c:147
+msgid "Visible spacing"
+msgstr "Espaciado visible"
+
+#: app/dia-props.c:167
+msgid "Grid"
+msgstr "Cuadrícula"
+
+#: app/dia-props.c:178 lib/diagramdata.c:62
+msgid "Background"
+msgstr "Fondo"
+
+#: app/dia-props.c:189 app/preferences.c:103
+msgid "Grid Lines"
+msgstr "Línea de cuadrícula"
+
+#: app/dia-props.c:200
+msgid "Page Breaks"
+msgstr "Saltos de página"
+
+#: app/dia-props.c:211
+msgid "Colours"
+msgstr "Colores"
+
+#. Can we be sure that the filename is the 'proper title'?
+#: app/dia-props.c:230
+#, c-format
+msgid "Diagram Properties: %s"
+msgstr "Propiedades del diagrama: %s"
+
+#: app/dia_embedd.c:352
+msgid "Could not initialize Bonobo!"
+msgstr "¡No se pudo iniciar Bonobo!"
+
+#. &export_file_format
+#: app/diaconv.c:92
+msgid "Export format to use"
+msgstr "Formato de exportación a usar"
+
+#. &export_file_name
+#: app/diaconv.c:94
+msgid "Export file name to use"
+msgstr "Nombre del archivo exportado a usar"
+
+#: app/diaconv.c:96
+msgid "Quiet operation"
+msgstr "Operación silenciosa"
+
+#: app/diaconv.c:147
+#, c-format
+msgid ""
+"Error: No arguments found.\n"
+"Run '%s --help' to see a full list of available command line options.\n"
+msgstr ""
+"Error: No se encontraron argumentos.\n"
+"Ejecute «%s --help» para ver la lista completa de opciones de\n"
+"la línea de comandos.\n"
+
+#: app/diaconv.c:157
+#, c-format
+msgid "%s error: can specify only one of -t or -o."
+msgstr "%s error: sólo puede especificar -t o -o (no ambos)."
+
+#: app/diaconv.c:163
+#, c-format
+msgid ""
+"%s error: must specify only one of -t or -o.\n"
+"Run '%s --help' to see a full list of available command line options.\n"
+msgstr ""
+"%s error: debe especificar sólo -t o -o (no ambos).\n"
+"Ejecute «%s --help» para ver la lista completa de opciones de\n"
+"la línea de comandos.\n"
+
+#: app/diaconv.c:172
+#, c-format
+msgid "%s error: no input file."
+msgstr "%s error: no hay archivo de entrada."
+
+#: app/diaconv.c:225
+#, c-format
+msgid "%s error: only one input file expected."
+msgstr "%s error: sólo se esperaba un archivo de entrada."
+
+#: app/diaconv.c:238
+#, c-format
+msgid "%s error: popt library not available on this system"
+msgstr "%s error: la biblioteca popt no está disponible en este sistema"
+
+#: app/diagram_tree_menu.c:45
+msgid "/_Sort objects"
+msgstr "/_Ordenar objetos"
+
+#: app/diagram_tree_menu.c:46
+msgid "/Sort objects/by _name"
+msgstr "/Ordenar objetos/por _nombre"
+
+#: app/diagram_tree_menu.c:48
+msgid "/Sort objects/by _type"
+msgstr "/Ordenar objetos/por _tipo"
+
+#: app/diagram_tree_menu.c:50
+msgid "/Sort objects/as _inserted"
+msgstr "/Ordenar objetos/por _inserción"
+
+#: app/diagram_tree_menu.c:53
+msgid "/Sort objects/All by name"
+msgstr "/Ordenar objetos/Todos por nombre"
+
+#: app/diagram_tree_menu.c:55
+msgid "/Sort objects/All by type"
+msgstr "/Ordenar objetos/Todos por tipo"
+
+#: app/diagram_tree_menu.c:57
+msgid "/Sort objects/All as inserted"
+msgstr "/Ordenar objetos/Todos por inserción"
+
+#: app/diagram_tree_menu.c:59
+msgid "/Sort objects/_Default"
+msgstr "/Ordenar objetos/Pre_determinado"
+
+#: app/diagram_tree_menu.c:60
+msgid "/Sort objects/Default/by _name"
+msgstr "/Ordenar objetos/Predeterminado/por _nombre"
+
+#: app/diagram_tree_menu.c:62
+msgid "/Sort objects/Default/by _type"
+msgstr "/Ordenar objetos/Predeterminado/por _tipo"
+
+#: app/diagram_tree_menu.c:64
+msgid "/Sort objects/Default/as _inserted"
+msgstr "/Ordenar objetos/Predeterminado/por _inserción"
+
+#: app/diagram_tree_menu.c:66
+msgid "/Sort _diagrams"
+msgstr "/Ordenar _diagramas"
+
+#: app/diagram_tree_menu.c:67
+msgid "/Sort _diagrams/by _name"
+msgstr "/Ordenar _diagramas/por _nombre"
+
+#: app/diagram_tree_menu.c:69
+msgid "/Sort _diagrams/as _inserted"
+msgstr "/Ordenar _diagramas/por _inserción"
+
+#: app/diagram_tree_menu.c:71
+msgid "/Sort diagrams/_Default"
+msgstr "/Ordenar _diagramas/Predeterminado"
+
+#: app/diagram_tree_menu.c:72
+msgid "/Sort diagrams/Default/by _name"
+msgstr "/Ordenar diagramas/Predeterminado/por _nombre"
+
+#: app/diagram_tree_menu.c:74
+msgid "/Sort diagrams/Default/as _inserted"
+msgstr "/Ordenar diagramas/Predeterminado/por _inserción"
+
+#: app/diagram_tree_menu.c:82 app/diagram_tree_menu.c:93
+msgid "/_Locate"
+msgstr "/_Localizar"
+
+#: app/diagram_tree_menu.c:83
+msgid "/_Properties"
+msgstr "/_Propiedades"
+
+#: app/diagram_tree_menu.c:84
+msgid "/_Hide this type"
+msgstr "/_Ocultar este tipo"
+
+#: app/diagram_tree_window.c:76
+msgid "Diagram tree"
+msgstr "rbol del diagrama"
+
+#: app/dialogs.c:51
+msgid "Ok"
+msgstr "Aceptar"
+
+#: app/dialogs.c:52 app/layer_dialog.c:1009 app/lineprops_area.c:453
+#: app/lineprops_area.c:679 app/paginate_psprint.c:276
+msgid "Cancel"
+msgstr "Cancelar"
+
+#. paper size
+#: app/diapagelayout.c:116
+msgid "Paper Size"
+msgstr "Tamaño del papel"
+
+#. orientation
+#: app/diapagelayout.c:149
+msgid "Orientation"
+msgstr "Orientación"
+
+#. margins
+#: app/diapagelayout.c:187
+msgid "Margins"
+msgstr "Márgenes"
+
+#: app/diapagelayout.c:199
+msgid "Top:"
+msgstr "Arriba:"
+
+#: app/diapagelayout.c:212
+msgid "Bottom:"
+msgstr "Abajo:"
+
+#: app/diapagelayout.c:225
+msgid "Left:"
+msgstr "Izquierda:"
+
+#: app/diapagelayout.c:238
+msgid "Right:"
+msgstr "Derecha:"
+
+#. Scaling
+#: app/diapagelayout.c:252
+msgid "Scaling"
+msgstr "Escalado"
+
+#: app/diapagelayout.c:263
+msgid "Scale:"
+msgstr "Escala:"
+
+#: app/diapagelayout.c:275
+msgid "Fit to:"
+msgstr "Ajustar a:"
+
+#: app/diapagelayout.c:287
+msgid "by"
+msgstr "por"
+
+#: app/diapagelayout.c:682
+#, c-format
+msgid "%0.3gcm x %0.3gcm"
+msgstr "%0.3gcm x %0.3gcm"
+
+#: app/diapagelayout.c:786 app/pagesetup.c:73
+msgid "Page Setup"
+msgstr "Configurar página"
+
+#: app/disp_callbacks.c:78 app/properties.c:144
+msgid ""
+"This object doesn't support Undo/Redo.\n"
+"Undo information erased."
+msgstr ""
+"Este objeto no soporta deshacer/rehacer.\n"
+"Información para deshacer borrada."
+
+#: app/disp_callbacks.c:220
+msgid "No object menu"
+msgstr "No hay menú objeto"
+
+#: app/disp_callbacks.c:865
+msgid ""
+"The object you dropped cannot fit into its parent. \n"
+"Either expand the parent object, or drop the object elsewhere."
+msgstr ""
+"El objeto que soltó no cabe en su padre.\n"
+"Expanda el objeto padre o suelte el objeto en otro lugar."
+
+#: app/display.c:93
+msgid "Diagram modified!"
+msgstr "¡Diagrama modificado!"
+
+#: app/display.c:992
+msgid "<unnamed>"
+msgstr "<sin nombre>"
+
+#: app/display.c:994
+#, c-format
+msgid ""
+"The diagram '%s'\n"
+"has not been saved. Save changes now?"
+msgstr ""
+"Este diagrama «%s»\n"
+"no ha sido guardado. ¿Guardar los cambios ahora?"
+
+#: app/display.c:1005
+msgid "Close Diagram"
+msgstr "Cerrar el diagrama"
+
+#: app/display.c:1010
+msgid "Discard Changes"
+msgstr "Descartar los cambios"
+
+#: app/export_png.c:116 app/load_save.c:806 app/render_eps.c:83
+#: plug-ins/cgm/cgm.c:1157 plug-ins/dxf/dxf-export.c:505
+#: plug-ins/hpgl/hpgl.c:732 plug-ins/metapost/render_metapost.c:807
+#: plug-ins/pstricks/render_pstricks.c:757 plug-ins/shape/shape-export.c:135
+#: plug-ins/svg/render_svg.c:151 plug-ins/wpg/wpg.c:1065
+#: plug-ins/xfig/xfig-export.c:1087 plug-ins/xslt/xslt.c:85
+#, c-format
+msgid "Can't open output file %s: %s\n"
+msgstr "No se pudo abrir archivo de salida «%s»: %s\n"
+
+#: app/export_png.c:124
+msgid "Could not create PNG write structure"
+msgstr "No se pudo crear estructura de escritura de PNG"
+
+#: app/export_png.c:133
+msgid "Could not create PNG header info structure"
+msgstr "No se pudo crear estructura de información de cabecera de PNG"
+
+#: app/export_png.c:141
+msgid "Error occurred while writing PNG"
+msgstr "Ocurrió un error mientras se escribía PNG"
+
+#. Create a dialog
+#: app/export_png.c:265
+msgid "PNG Export Options"
+msgstr "Opciones de exportación PNG"
+
+#. Translators: Menu item Verb/Channel/Export
+#: app/export_png.c:266 objects/FS/function.c:685 objects/FS/function.c:687
+msgid "Export"
+msgstr "Exportar"
+
+#: app/export_png.c:271
+msgid "Image width:"
+msgstr "Ancho de la imagen:"
+
+#: app/export_png.c:274
+msgid "Image height:"
+msgstr "Alto de la imagen:"
+
+#: app/export_png.c:319
+msgid "Portable Network Graphics"
+msgstr "Portable Network Graphics"
+
+#: app/filedlg.c:113 app/filedlg.c:383
+msgid "By extension"
+msgstr "Por extensión"
+
+#: app/filedlg.c:172
+msgid "Open Diagram"
+msgstr "Abrir diagrama"
+
+#: app/filedlg.c:200
+msgid "Open Options"
+msgstr "Abrir opciones"
+
+#: app/filedlg.c:208 app/filedlg.c:498
+msgid "Determine file type:"
+msgstr "Determinar tipo de archivo:"
+
+#: app/filedlg.c:245
+msgid ""
+"Some characters in the filename are neither UTF-8 nor your local encoding.\n"
+"Some things will break."
+msgstr ""
+"Algunos caracteres del nombre del archivo no están ni en UTF-8 ni en su "
+"codificación local.\n"
+"Algunas cosas no funcionarán."
+
+#: app/filedlg.c:251 app/filedlg.c:425
+#, c-format
+msgid ""
+"The file '%s' already exists.\n"
+"Do you want to overwrite it?"
+msgstr ""
+"El archivo «%s» ya existe.\n"
+"¿Quiere sobreescribirlo?"
+
+#: app/filedlg.c:259 app/filedlg.c:431
+msgid "File already exists"
+msgstr "El archivo ya existe"
+
+#: app/filedlg.c:292
+msgid "Save Diagram"
+msgstr "Guardar diagrama"
+
+#. Need better way to make it a reasonable size.  Isn't there some
+#. standard look for them (or is that just Gnome?)
+#: app/filedlg.c:300
+msgid "Compress diagram files"
+msgstr "Comprimir archivos del diagrama"
+
+#: app/filedlg.c:309
+msgid ""
+"Compression reduces file size to less than 1/10th size and speeds up loading "
+"and saving.  Some text programs cannot manipulate compressed files."
+msgstr ""
+"La comprensión reduce el tamaño del archivo a menos de la décima parte e "
+"incrementa la velocidad del cargado y el guardado. Algunos programas de "
+"texto no pueden manipular archivos comprimidos."
+
+#: app/filedlg.c:450
+#, c-format
+msgid ""
+"Could not determine which export filter\n"
+"to use to save '%s'"
+msgstr ""
+"No se pudo determinar qué filtro de exportación\n"
+"usar para guardar «%s»"
+
+#: app/filedlg.c:468
+msgid "Export Diagram"
+msgstr "Exportar diagrama"
+
+#: app/filedlg.c:490
+msgid "Export Options"
+msgstr "Exportar opciones"
+
+#: app/interface.c:43
+msgid "Modify object(s)"
+msgstr "Modificar objeto(s)"
+
+#: app/interface.c:44 app/menus.c:221
+msgid "Modify"
+msgstr "Modificar"
+
+# Yo diría "Ampliar" FVD
+#. Translators: Menu item Verb/Control Magnitude/Change/Magnify
+#: app/interface.c:48 app/interface.c:49 app/menus.c:222
+#: objects/FS/function.c:975
+msgid "Magnify"
+msgstr "Magnificar"
+
+# Esto es fuzzy, no? FVD
+#: app/interface.c:53
+msgid "Scroll around the diagram"
+msgstr "Desplazamiento sobre el diagrama"
+
+# Creo que Scroll es Desplazamiento. Fuzzy. FVD
+#: app/interface.c:54 app/menus.c:223
+msgid "Scroll"
+msgstr "Desplazamiento"
+
+#. PROP_STD_TEXT_ALIGNMENT,
+#. PROP_STD_TEXT_FONT,
+#. PROP_STD_TEXT_HEIGHT,
+#. PROP_STD_TEXT_COLOUR,
+#: app/interface.c:58 app/interface.c:59 app/menus.c:224 lib/properties.c:77
+#: lib/properties.h:499 lib/properties.h:502 objects/UML/activity.c:124
+#: objects/UML/actor.c:115 objects/UML/classicon.c:137
+#: objects/UML/component.c:121 objects/UML/component_feature.c:146
+#: objects/UML/node.c:120 objects/UML/note.c:114 objects/UML/object.c:142
+#: objects/UML/small_package.c:121 objects/UML/state.c:134
+#: objects/UML/usecase.c:131
+msgid "Text"
+msgstr "Texto"
+
+#: app/interface.c:63 app/interface.c:64 app/menus.c:225
+msgid "Box"
+msgstr "Caja"
+
+#: app/interface.c:68 app/interface.c:69 app/menus.c:226
+msgid "Ellipse"
+msgstr "Elipse"
+
+#: app/interface.c:73 app/interface.c:74 app/menus.c:227
+msgid "Polygon"
+msgstr "Polígono"
+
+#: app/interface.c:78 app/interface.c:79 app/menus.c:228
+msgid "Beziergon"
+msgstr "Polígono Bézier"
+
+#: app/interface.c:83 app/interface.c:84 app/menus.c:230
+#: objects/standard/line.c:247
+msgid "Line"
+msgstr "Línea"
+
+#: app/interface.c:88 app/interface.c:89 app/menus.c:231
+msgid "Arc"
+msgstr "Arco"
+
+#: app/interface.c:93 app/interface.c:94 app/menus.c:232
+msgid "Zigzagline"
+msgstr "Línea en zigzag"
+
+#: app/interface.c:98 app/interface.c:99 app/menus.c:233
+msgid "Polyline"
+msgstr "Polilínea"
+
+#: app/interface.c:103 app/interface.c:104 app/menus.c:234
+msgid "Bezierline"
+msgstr "Línea Bezier"
+
+#: app/interface.c:108 app/interface.c:109 app/menus.c:236
+msgid "Image"
+msgstr "Imagen"
+
+#: app/interface.c:371
+msgid "Diagram menu."
+msgstr "Menú de diagrama."
+
+#: app/interface.c:480
+msgid "Zoom"
+msgstr "Ampliación"
+
+#: app/interface.c:494
+msgid "Toggles snap-to-grid for this window."
+msgstr "Conmuta el ajuste a la rejilla para esta ventana."
+
+#: app/interface.c:538
+msgid "NULL tooldata in tool_select_update"
+msgstr "tooldata NULL en tool_select_update"
+
+#: app/interface.c:1020
+msgid ""
+"Foreground & background colors for new objects.  The small black and white "
+"squares reset colors.  The small arrows swap colors.  Double click to change "
+"colors."
+msgstr ""
+"Colores de primer plano y fondo para objetos nuevos. Los pequeños cuadrados "
+"negro y blanco reestablecen los colores. Las pequeñas flechas intercambian "
+"los colores. Doble pulsación para cambiar los colores."
+
+#: app/interface.c:1035
+msgid ""
+"Line widths.  Click on a line to set the default line width for new "
+"objects.  Double-click to set the line width more precisely."
+msgstr ""
+"Anchura de líneas.  Pulse en una línea para establecer la anchura de línea "
+"preestablecida para los objetos nuevos. Pulse dos veces para establecer la "
+"anchura más precisamente."
+
+#: app/interface.c:1067
+msgid ""
+"Arrow style at the beginning of new lines.  Click to pick an arrow, or set "
+"arrow parameters with Details..."
+msgstr ""
+"Estilo de flecha al principio de las líneas nuevas. Pulse para escoger una "
+"flecha, o establezca los parámetros de la flecha en Detalles..."
+
+#: app/interface.c:1072
+msgid ""
+"Line style for new lines.  Click to pick a line style, or set line style "
+"parameters with Details..."
+msgstr ""
+"Estilo de línea para las líneas nuevas. Pulse para escoger un estilo de "
+"línea, o establezca los parámetros de estilo de línea en Detalles..."
+
+#: app/interface.c:1077
+msgid ""
+"Arrow style at the end of new lines.  Click to pick an arrow, or set arrow "
+"parameters with Details..."
+msgstr ""
+"Estilo de flecha al final de las líneas nuevas. Pulse para escoger una "
+"flecha, o establezca los parámetros de la flecha con Detalles..."
+
+#: app/interface.c:1185
+msgid "Diagram Editor"
+msgstr "Editor de diagramas"
+
+#: app/layer_dialog.c:70
+msgid "New Layer"
+msgstr "Nueva capa"
+
+#: app/layer_dialog.c:71
+msgid "Raise Layer"
+msgstr "Subir capa"
+
+#: app/layer_dialog.c:72
+msgid "Lower Layer"
+msgstr "Bajar capa"
+
+#: app/layer_dialog.c:73
+msgid "Delete Layer"
+msgstr "Borrar capa"
+
+#: app/layer_dialog.c:214
+msgid "Layers"
+msgstr "Capas"
+
+#: app/layer_dialog.c:228
+msgid "Diagrams:"
+msgstr "Diagramas:"
+
+#: app/layer_dialog.c:273
+msgid "Close"
+msgstr "Cerrar"
+
+#: app/layer_dialog.c:319
+msgid "New layer"
+msgstr "Nueva capa"
+
+#: app/layer_dialog.c:525
+msgid "none"
+msgstr "ninguna"
+
+#: app/layer_dialog.c:971
+msgid "Edit Layer Attributes"
+msgstr "Editar atributos de capa"
+
+#: app/layer_dialog.c:990
+msgid "Layer name:"
+msgstr "Nombre de la capa:"
+
+#: app/layer_dialog.c:999 app/lineprops_area.c:444 app/lineprops_area.c:669
+#: app/paginate_psprint.c:268
+msgid "OK"
+msgstr "Aceptar"
+
+#: app/lineprops_area.c:429
+msgid "Arrow Properties"
+msgstr "Propiedades de la flecha"
+
+#: app/lineprops_area.c:505 app/lineprops_area.c:702
+msgid "Details..."
+msgstr "Detalles..."
+
+#: app/lineprops_area.c:658
+msgid "Line Style Properties"
+msgstr "Propiedades de estilo de la línea"
+
+#: app/linewidth_area.c:239 lib/properties.h:475
+#: objects/chronogram/chronoline.c:181 objects/chronogram/chronoref.c:160
+msgid "Line width"
+msgstr "Ancho de línea"
+
+#: app/linewidth_area.c:251
+msgid "Line width:"
+msgstr "Ancho de línea:"
+
+#: app/load_save.c:220
+msgid ""
+"Error loading diagram.\n"
+"Linked object not found in document."
+msgstr ""
+"Error cargando diagrama.\n"
+"Objeto enlazado no encontrado en el documento."
+
+#: app/load_save.c:223
+msgid ""
+"Error loading diagram.\n"
+"connection point does not exist."
+msgstr ""
+"Error cargando diagrama.\n"
+"No existe el punto de conexión."
+
+#: app/load_save.c:226
+msgid ""
+"Error loading diagram.\n"
+"connection handle does not exist."
+msgstr ""
+"Error cargando diagrama.\n"
+"No existe manejador de conexión."
+
+#: app/load_save.c:276
+msgid "You must specify a file, not a directory.\n"
+msgstr "Debe especificar un archivo, no un directorio.\n"
+
+#: app/load_save.c:283 plug-ins/dxf/dxf-import.c:1304 plug-ins/wpg/wpg.c:1169
+#: plug-ins/xfig/xfig-import.c:1505 plug-ins/xslt/xslt.c:78
+#, c-format
+msgid "Couldn't open: '%s' for reading.\n"
+msgstr "No se pudo abrir: «%s» para lectura.\n"
+
+#: app/load_save.c:300 app/load_save.c:305
+#, c-format
+msgid ""
+"Error loading diagram %s.\n"
+"Unknown file type."
+msgstr ""
+"Error cargando el diagrama %s.\n"
+"Tipo de archivo desconocido."
+
+#: app/load_save.c:312
+#, c-format
+msgid ""
+"Error loading diagram %s.\n"
+"Not a Dia file."
+msgstr ""
+"Error cargando el diagrama %s.\n"
+"No es un archivo de Dia."
+
+#: app/load_save.c:509
+#, c-format
+msgid ""
+"Error loading diagram:\n"
+"%s.\n"
+"A valid Dia file defines at least one layer."
+msgstr ""
+"Error al cargar el diagrama:\n"
+"%s.\n"
+"Un archivo válido de Dia define al menos una capa."
+
+#: app/load_save.c:839
+#, c-format
+msgid "Failed to save file '%s'.\n"
+msgstr "Fallo al cargar el archivo «%s».\n"
+
+#: app/load_save.c:909 app/load_save.c:914
+msgid "Native Dia Diagram"
+msgstr "Diagrama nativo de Dia"
+
+#: app/menus.c:50 app/menus.c:70
+msgid "_New diagram"
+msgstr "_Nuevo diagrama"
+
+#: app/menus.c:50 app/menus.c:70
+msgid "Create new diagram"
+msgstr "Crear un diagrama nuevo"
+
+#: app/menus.c:54
+msgid "_Diagram tree"
+msgstr "rbol del _diagrama"
+
+#: app/menus.c:54
+msgid "Show diagram tree"
+msgstr "Mostrar el árbol del diagrama"
+
+#: app/menus.c:56
+msgid "_Sheets and Objects..."
+msgstr "_Hojas y objetos..."
+
+#: app/menus.c:57
+msgid "Modify sheets and their objects"
+msgstr "Modificar las hojas y sus objetos"
+
+#: app/menus.c:61
+msgid "P_lugins..."
+msgstr "Ex_tensiones..."
+
+#: app/menus.c:76
+msgid "_Export..."
+msgstr "_Exportar..."
+
+#: app/menus.c:80
+msgid "Page Set_up..."
+msgstr "_Configurar página"
+
+#: app/menus.c:82
+msgid "_Print Diagram..."
+msgstr "_Imprimir diagrama..."
+
+#: app/menus.c:97
+msgid "_Delete"
+msgstr "_Borrar"
+
+#: app/menus.c:103
+msgid "Copy Text"
+msgstr "Copiar texto"
+
+#: app/menus.c:104
+msgid "Cut Text"
+msgstr "Cortar texto"
+
+#: app/menus.c:105
+msgid "Paste _Text"
+msgstr "Pegar _texto"
+
+#: app/menus.c:129
+msgid "Zoom _In"
+msgstr "_Aumentar zoom"
+
+#: app/menus.c:129
+msgid "Zoom in 50%"
+msgstr "Zoom al 50%"
+
+#: app/menus.c:130
+msgid "Zoom _Out"
+msgstr "_Disminuir zoom"
+
+#: app/menus.c:130
+msgid "Zoom out 50%"
+msgstr "Disminuir zoom un 50%"
+
+#: app/menus.c:131
+msgid "_Zoom"
+msgstr "_Zoom"
+
+#: app/menus.c:133
+msgid "Diagram Properties..."
+msgstr "Propiedades del diagrama..."
+
+#: app/menus.c:135
+msgid "_AntiAliased"
+msgstr "_Aliasado"
+
+#. TODO: Show Menu Bar  F9.  Hub's cool code.
+#: app/menus.c:139
+msgid "Show _Grid"
+msgstr "Mostrar _cuadrícula"
+
+#: app/menus.c:141
+msgid "_Snap To Grid"
+msgstr "A_justar a cuadrícula"
+
+#: app/menus.c:143
+msgid "Show _Rulers"
+msgstr "Mostrar _reglas"
+
+#: app/menus.c:145
+msgid "Show _Connection Points"
+msgstr "Mostrar puntos de _conexión"
+
+#: app/menus.c:148
+msgid "New _View"
+msgstr "Nueva _vista"
+
+#: app/menus.c:149
+msgid "Show _All"
+msgstr "Mostrar _todo"
+
+#: app/menus.c:150
+msgid "Redraw"
+msgstr "Volver a dibujar"
+
+#: app/menus.c:155
+msgid "Replace"
+msgstr "Reemplazar"
+
+#: app/menus.c:157
+msgid "Union"
+msgstr "Unión"
+
+#: app/menus.c:159
+msgid "Intersect"
+msgstr "Intersección"
+
+#. Translators: Menu item Verb/Channel/Export/Remove
+#: app/menus.c:161 app/sheets_dialog.c:784 objects/FS/function.c:695
+#: objects/FS/function.c:847 objects/FS/function.c:849
+msgid "Remove"
+msgstr "Borrar"
+
+#: app/menus.c:163 app/menus.c:171
+msgid "Invert"
+msgstr "Invertir"
+
+#: app/menus.c:169
+msgid "All"
+msgstr "Todo"
+
+#: app/menus.c:170 lib/arrows.c:38 objects/UML/association.c:1135
+msgid "None"
+msgstr "Nada"
+
+#: app/menus.c:172
+msgid "Connected"
+msgstr "Conectado"
+
+#: app/menus.c:173
+msgid "Transitive"
+msgstr "Transitivo"
+
+#: app/menus.c:174
+msgid "Same Type"
+msgstr "Mismo tipo"
+
+#: app/menus.c:181 lib/properties.c:62 lib/properties.h:463 lib/widgets.c:531
+msgid "Left"
+msgstr "Izquierda"
+
+#: app/menus.c:182 lib/properties.c:63 lib/properties.h:464 lib/widgets.c:537
+msgid "Center"
+msgstr "Centro"
+
+#: app/menus.c:183 lib/properties.c:64 lib/properties.h:465 lib/widgets.c:543
+msgid "Right"
+msgstr "Derecha"
+
+#: app/menus.c:185 app/menus.c:195
+msgid "Equal Distance"
+msgstr "Equidistante"
+
+#: app/menus.c:186 app/menus.c:196
+msgid "Adjacent"
+msgstr "Adyacente"
+
+#: app/menus.c:191
+msgid "Top"
+msgstr "Arriba"
+
+#: app/menus.c:192
+msgid "Middle"
+msgstr "Medio"
+
+#: app/menus.c:193
+msgid "Bottom"
+msgstr "Abajo"
+
+#: app/menus.c:201
+msgid "Send to _Back"
+msgstr "Enviar al f_ondo"
+
+#: app/menus.c:202
+msgid "Bring to _Front"
+msgstr "Traer al f_rente"
+
+#: app/menus.c:203
+msgid "Send Backwards"
+msgstr "Enviar hacia atrás"
+
+#: app/menus.c:204
+msgid "Bring Forwards"
+msgstr "Traer al frente"
+
+#: app/menus.c:206
+msgid "_Group"
+msgstr "A_grupar"
+
+#: app/menus.c:207
+msgid "_Ungroup"
+msgstr "_Desagrupar"
+
+#: app/menus.c:209
+msgid "_Parent"
+msgstr "_Padre"
+
+#: app/menus.c:210
+msgid "_Unparent"
+msgstr "_Horfandar"
+
+#: app/menus.c:211
+msgid "_Unparent Children"
+msgstr "_Orfandar hijo"
+
+#: app/menus.c:213
+msgid "Align _Horizontal"
+msgstr "Alineación _horizontal"
+
+#: app/menus.c:214
+msgid "Align _Vertical"
+msgstr "Alineación _vertical"
+
+#: app/menus.c:216
+msgid "_Properties..."
+msgstr "_Propiedades..."
+
+#: app/menus.c:241
+msgid "_Layers"
+msgstr "_Capas"
+
+#: app/menus.c:267
+msgid "_Select"
+msgstr "_Seleccionar"
+
+#: app/menus.c:268
+msgid "_Objects"
+msgstr "_Objetos"
+
+#: app/menus.c:269
+msgid "_Tools"
+msgstr "_Herramientas"
+
+#: app/menus.c:270
+msgid "_Dialogs"
+msgstr "_Diálogos"
+
+#: app/menus.c:271
+msgid "_Input Methods"
+msgstr "Métodos de _entrada"
+
+#: app/menus.c:272
+msgid "_Help"
+msgstr "A_yuda"
+
+#: app/menus.c:283 app/menus.c:318
+msgid "/_File"
+msgstr "/_Archivo"
+
+#: app/menus.c:285 app/menus.c:320
+msgid "/File/_New"
+msgstr "/Archivo/_Nuevo"
+
+#: app/menus.c:287 app/menus.c:322
+msgid "/File/_Open..."
+msgstr "/Archivo/_Abrir..."
+
+#. recent file list is dynamically inserted here
+#: app/menus.c:289 app/menus.c:294 app/menus.c:298 app/menus.c:300
+#: app/menus.c:329 app/menus.c:333
+msgid "/File/---"
+msgstr "/Archivo/---"
+
+#: app/menus.c:290
+msgid "/File/_Diagram tree"
+msgstr "/Archivo/rbol del _diagrama"
+
+#: app/menus.c:292
+msgid "/File/Sheets and Objects..."
+msgstr "/Archivo/Hojas y objetos..."
+
+#: app/menus.c:295
+msgid "/File/_Preferences..."
+msgstr "/Archivo/_Preferencias..."
+
+#: app/menus.c:297
+msgid "/File/P_lugins..."
+msgstr "/Archivo/Ex_tensiones..."
+
+#: app/menus.c:301 app/menus.c:337
+msgid "/File/_Quit"
+msgstr "/Archivo/_Salir"
+
+#: app/menus.c:303 app/menus.c:467
+msgid "/_Help"
+msgstr "/_Ayuda"
+
+#: app/menus.c:305 app/menus.c:469
+msgid "/Help/_Manual"
+msgstr "/Ayuda/_Manual"
+
+#: app/menus.c:307 app/menus.c:471
+msgid "/Help/---"
+msgstr "/Ayuda/---"
+
+#: app/menus.c:308 app/menus.c:472
+msgid "/Help/_About..."
+msgstr "/Ayuda/_Acerca de..."
+
+#: app/menus.c:324
+msgid "/File/_Save"
+msgstr "/Archivo/_Guardar"
+
+#: app/menus.c:326
+msgid "/File/Save _As..."
+msgstr "/Archivo/Guardar _como..."
+
+#: app/menus.c:328
+msgid "/File/_Export..."
+msgstr "/Archivo/_Exportar..."
+
+#: app/menus.c:330
+msgid "/File/Page Set_up..."
+msgstr "/Archivo/Configurar _página..."
+
+#: app/menus.c:331
+msgid "/File/_Print Diagram..."
+msgstr "/Archivo/_Imprimir diagrama..."
+
+#: app/menus.c:334
+msgid "/File/_Close"
+msgstr "/Archivo/_Cerrar"
+
+#: app/menus.c:339
+msgid "/_Edit"
+msgstr "/_Editar"
+
+#: app/menus.c:341
+msgid "/Edit/_Undo"
+msgstr "/Editar/_Deshacer"
+
+#: app/menus.c:343
+msgid "/Edit/_Redo"
+msgstr "/Editar/_Rehacer"
+
+#: app/menus.c:345 app/menus.c:354
+msgid "/Edit/---"
+msgstr "/Editar/---"
+
+#: app/menus.c:346
+msgid "/Edit/_Copy"
+msgstr "/Editar/_Copiar"
+
+#: app/menus.c:348
+msgid "/Edit/C_ut"
+msgstr "/Editar/Co_rtar"
+
+#: app/menus.c:350
+msgid "/Edit/_Paste"
+msgstr "/Editar/_Pegar"
+
+#: app/menus.c:352
+msgid "/Edit/_Delete"
+msgstr "/Editar/_Borrar"
+
+#: app/menus.c:355
+msgid "/Edit/Copy Text"
+msgstr "/Editar/Copiar texto"
+
+#: app/menus.c:356
+msgid "/Edit/Cut Text"
+msgstr "/Editar/Cortar texto"
+
+#: app/menus.c:357
+msgid "/Edit/Paste _Text"
+msgstr "/Editar/Pegar _texto"
+
+#: app/menus.c:358
+msgid "/_View"
+msgstr "/_Vista"
+
+#: app/menus.c:360
+msgid "/View/Zoom _In"
+msgstr "/Vista/_Aumentar zoom"
+
+#: app/menus.c:362
+msgid "/View/Zoom _Out"
+msgstr "/Vista/_Disminuir zoom"
+
+#: app/menus.c:364
+msgid "/View/_Zoom"
+msgstr "/Vista/_Zoom"
+
+#: app/menus.c:366
+msgid "/View/Zoom/400%"
+msgstr "/Vista/Zoom/400%"
+
+#: app/menus.c:367
+msgid "/View/Zoom/283%"
+msgstr "/Vista/Zoom/283%"
+
+#: app/menus.c:368
+msgid "/View/Zoom/200%"
+msgstr "/Vista/Zoom/200%"
+
+#: app/menus.c:369
+msgid "/View/Zoom/141%"
+msgstr "/Vista/Zoom/141%"
+
+#: app/menus.c:370
+msgid "/View/Zoom/100%"
+msgstr "/Vista/Zoom/100%"
+
+#: app/menus.c:372
+msgid "/View/Zoom/85%"
+msgstr "/Vista/Zoom/85%"
+
+#: app/menus.c:373
+msgid "/View/Zoom/70.7%"
+msgstr "/Vista/Zoom/70.7%"
+
+#: app/menus.c:374
+msgid "/View/Zoom/50%"
+msgstr "/Vista/Zoom/50%"
+
+#: app/menus.c:375
+msgid "/View/Zoom/35.4%"
+msgstr "/Vista/Zoom/35.4%"
+
+#: app/menus.c:376
+msgid "/View/Zoom/25%"
+msgstr "/Vista/Zoom/25%"
+
+#: app/menus.c:377 app/menus.c:386
+msgid "/View/---"
+msgstr "/Vista/---"
+
+#: app/menus.c:378
+msgid "/View/Diagram Properties..."
+msgstr "/Vista/Propiedades del diagrama..."
+
+#: app/menus.c:380
+msgid "/View/_AntiAliased"
+msgstr "/Vista/_Alisado"
+
+#: app/menus.c:382
+msgid "/View/Show _Grid"
+msgstr "/Vista/Mostrar _cuadrícula"
+
+#: app/menus.c:383
+msgid "/View/_Snap To Grid"
+msgstr "/Vista/A_justar a cuadrícula"
+
+#: app/menus.c:384
+msgid "/View/Show _Rulers"
+msgstr "/Vista/Mostrar _reglas"
+
+#: app/menus.c:385
+msgid "/View/Show _Connection Points"
+msgstr "/Vista/Mostrar puntos de _conexión"
+
+#: app/menus.c:387
+msgid "/View/New _View"
+msgstr "/Vista/Nueva _vista"
+
+#. Show All, Best Fit.  Same as the Gimp, Ctrl+E
+#: app/menus.c:389
+msgid "/View/Show _All"
+msgstr "/Vista/Mostrar _todo"
+
+#: app/menus.c:390
+msgid "/View/Re_draw"
+msgstr "/Vista/Volver a _dibujar"
+
+#: app/menus.c:391
+msgid "/_Select"
+msgstr "/_Seleccionar"
+
+#: app/menus.c:393
+msgid "/Select/All"
+msgstr "/Selección/Todo"
+
+#: app/menus.c:394
+msgid "/Select/None"
+msgstr "/Selección/Nada"
+
+#: app/menus.c:395 app/menus.c:408
+msgid "/Select/Invert"
+msgstr "/Selección/Invertir"
+
+#: app/menus.c:396
+msgid "/Select/Connected"
+msgstr "/Selección/Conectado"
+
+#: app/menus.c:397
+msgid "/Select/Transitive"
+msgstr "/Selección/Transitivo"
+
+#: app/menus.c:398
+msgid "/Select/Same Type"
+msgstr "/Selección/Mismo tipo"
+
+#: app/menus.c:399
+msgid "/Select/---"
+msgstr "/Selección/---"
+
+#: app/menus.c:400
+msgid "/Select/Replace"
+msgstr "/Selección/Reemplazar"
+
+#: app/menus.c:402
+msgid "/Select/Union"
+msgstr "/Selección/Unión"
+
+#: app/menus.c:404
+msgid "/Select/Intersect"
+msgstr "/Selección/Intersección"
+
+#: app/menus.c:406
+msgid "/Select/Remove"
+msgstr "/Selección/Borrar"
+
+#: app/menus.c:410
+msgid "/_Objects"
+msgstr "/_Objetos"
+
+#: app/menus.c:412
+msgid "/Objects/Send to _Back"
+msgstr "/Objetos/Enviar al _fondo"
+
+#: app/menus.c:413
+msgid "/Objects/Bring to _Front"
+msgstr "/Objetos/Traer al f_rente"
+
+#: app/menus.c:414
+msgid "/Objects/Send Backwards"
+msgstr "/Objetos/Enviar hacia atrás"
+
+#: app/menus.c:415
+msgid "/Objects/Bring Forwards"
+msgstr "/Objetos/Traer al frente"
+
+#: app/menus.c:416 app/menus.c:420 app/menus.c:424 app/menus.c:441
+msgid "/Objects/---"
+msgstr "/Objetos/---"
+
+#: app/menus.c:417
+msgid "/Objects/_Group"
+msgstr "/Objetos/A_grupar"
+
+#. deliberately not using Ctrl+U for Ungroup
+#: app/menus.c:419
+msgid "/Objects/_Ungroup"
+msgstr "/Objetos/_Desagrupar"
+
+#: app/menus.c:421
+msgid "/Objects/_Parent"
+msgstr "/Objetos/_Padre"
+
+#: app/menus.c:422
+msgid "/Objects/_Unparent"
+msgstr "/Objetos/_Horfandar"
+
+#: app/menus.c:423
+msgid "/Objects/_Unparent Children"
+msgstr "/Objetos/_Orfandar hijo"
+
+#: app/menus.c:425
+msgid "/Objects/Align _Horizontal"
+msgstr "/Objetos/Alineación _horizontal"
+
+#: app/menus.c:427
+msgid "/Objects/Align Horizontal/Left"
+msgstr "/Objetos/Alineación horizontal/Izquierda"
+
+#: app/menus.c:428
+msgid "/Objects/Align Horizontal/Center"
+msgstr "/Objetos/Alineación horizontal/Centro"
+
+#: app/menus.c:429
+msgid "/Objects/Align Horizontal/Right"
+msgstr "/Objetos/Alineación horizontal/Derecha"
+
+#: app/menus.c:430
+msgid "/Objects/Align Horizontal/---"
+msgstr "/Objetos/Alineación horizontal/---"
+
+#: app/menus.c:431
+msgid "/Objects/Align Horizontal/Equal Distance"
+msgstr "/Objetos/Alineación horizontal/Equidistante"
+
+#: app/menus.c:432
+msgid "/Objects/Align Horizontal/Adjacent"
+msgstr "/Objetos/Alineación horizontal/Adyacente"
+
+#: app/menus.c:433
+msgid "/Objects/Align _Vertical"
+msgstr "/Objetos/Alineación _vertical"
+
+#: app/menus.c:435
+msgid "/Objects/Align Vertical/Top"
+msgstr "/Objetos/Alineación vertical/Arriba"
+
+#: app/menus.c:436
+msgid "/Objects/Align Vertical/Middle"
+msgstr "/Objetos/Alineación vertical/Medio"
+
+#: app/menus.c:437
+msgid "/Objects/Align Vertical/Bottom"
+msgstr "/Objetos/Alineación vertical/Abajo"
+
+#: app/menus.c:438
+msgid "/Objects/Align Vertical/---"
+msgstr "/Objetos/Alineación vertical/---"
+
+#: app/menus.c:439
+msgid "/Objects/Align Vertical/Equal Distance"
+msgstr "/Objetos/Alineación vertical/Equidistante"
+
+#: app/menus.c:440
+msgid "/Objects/Align Vertical/Adjacent"
+msgstr "/Objetos/Alineación vertical/Adyacente"
+
+#: app/menus.c:442
+msgid "/Objects/_Properties..."
+msgstr "/Objectos/_Propiedades..."
+
+#: app/menus.c:443
+msgid "/_Tools"
+msgstr "/_Herramientas"
+
+#: app/menus.c:445
+msgid "/Tools/Modify"
+msgstr "/Herramientas/Modificar"
+
+#: app/menus.c:446
+msgid "/Tools/Magnify"
+msgstr "/Herramientas/Magnificar"
+
+#: app/menus.c:447
+msgid "/Tools/Scroll"
+msgstr "/Herramientas/Desplazamiento"
+
+#: app/menus.c:448
+msgid "/Tools/Text"
+msgstr "/Herramientas/Texto"
+
+#: app/menus.c:449
+msgid "/Tools/Box"
+msgstr "/Herramientas/Caja"
+
+#: app/menus.c:450
+msgid "/Tools/Ellipse"
+msgstr "/Herramientas/Elipse"
+
+#: app/menus.c:451
+msgid "/Tools/Polygon"
+msgstr "/Herramientas/Polígono"
+
+#: app/menus.c:452
+msgid "/Tools/Beziergon"
+msgstr "/Herramientas/Polígono Bézier"
+
+#: app/menus.c:453 app/menus.c:459
+msgid "/Tools/---"
+msgstr "/Herramientas/---"
+
+#: app/menus.c:454
+msgid "/Tools/Line"
+msgstr "/Herramientas/Línea"
+
+#: app/menus.c:455
+msgid "/Tools/Arc"
+msgstr "/Herramientas/Arco"
+
+#: app/menus.c:456
+msgid "/Tools/Zigzagline"
+msgstr "/Herramientas/Línea en zigzag"
+
+#: app/menus.c:457
+msgid "/Tools/Polyline"
+msgstr "/Herramientas/Polilínea"
+
+#: app/menus.c:458
+msgid "/Tools/Bezierline"
+msgstr "/Herramientas/Línea Bézier"
+
+#: app/menus.c:460
+msgid "/Tools/Image"
+msgstr "/Herramientas/Imagen"
+
+#: app/menus.c:461
+msgid "/_Dialogs"
+msgstr "/_Diálogos"
+
+#: app/menus.c:463
+msgid "/Dialogs/_Layers..."
+msgstr "/Diálogos/_Capas..."
+
+#: app/menus.c:465
+msgid "/_Input Methods"
+msgstr "/Métodos de _entrada"
+
+#: app/menus.c:644
+msgid "NULL tooldata in tool_menu_select"
+msgstr "tooldata NULL en tool_menu_select"
+
+#: app/menus.c:811
+msgid "Diagram Menu"
+msgstr "Menú diagrama"
+
+#: app/menus.c:1187
+#, c-format
+msgid ""
+"Can't find menu entry '%s'!\n"
+"This is probably a i18n problem (try LANG=C)."
+msgstr ""
+"No se puede encontrar la entrada del menú «%s»\n"
+"Probablemente se deba a un problema de i18n (pruebe con LANG=C)."
+
+#: app/modify_tool.c:315
+msgid "Couldn't get GTK settings"
+msgstr "No se pudieron obtener las preferencias de GTK"
+
+#: app/paginate_psprint.c:228
+msgid "Select Printer"
+msgstr "Seleccionar impresora"
+
+#: app/paginate_psprint.c:240 sheets/ciscocomputer.sheet.in.h:25
+msgid "Printer"
+msgstr "Impresora"
+
+#: app/paginate_psprint.c:253 sheets/Misc.sheet.in.h:1
+msgid "File"
+msgstr "Archivo"
+
+#: app/paginate_psprint.c:342
+#, c-format
+msgid "Could not run command '%s'"
+msgstr "No se pudo ejecutar el comando «%s»"
+
+#: app/paginate_psprint.c:345
+#, c-format
+msgid "Could not open '%s' for writing"
+msgstr "No se pudo abrir «%s» para escritura"
+
+#: app/paginate_psprint.c:370
+msgid "Error occured while printing"
+msgstr "Ocurrió un error mientras se imprimía"
+
+#: app/plugin-manager.c:200
+msgid "Plug-ins"
+msgstr "Extensiones"
+
+#: app/plugin-manager.c:256
+msgid "Loaded"
+msgstr "Cargado"
+
+#: app/plugin-manager.c:263 objects/UML/class.c:106
+#: objects/UML/large_package.c:121
+msgid "Name"
+msgstr "Nombre"
+
+#: app/plugin-manager.c:269
+msgid "Description"
+msgstr "Descripción"
+
+#: app/plugin-manager.c:278
+msgid "Load at Startup"
+msgstr "Cargar al comenzar"
+
+#: app/plugin-manager.c:285
+msgid "File Name"
+msgstr "Nombre del archivo"
+
+#: app/preferences.c:100
+msgid "User Interface"
+msgstr "Interfaz de usuario"
+
+#: app/preferences.c:101
+msgid "Diagram Defaults"
+msgstr "Diagrama por defecto"
+
+#: app/preferences.c:102
+msgid "View Defaults"
+msgstr "Ver opciones por defecto"
+
+#: app/preferences.c:104
+msgid "Diagram Tree"
+msgstr "rbol del diagrama"
+
+#: app/preferences.c:118
+msgid "Reset tools after create"
+msgstr "Reiniciar herramientas tras crear:"
+
+#: app/preferences.c:119
+msgid "Compress saved files"
+msgstr "Comprimir archivos guardados"
+
+#: app/preferences.c:120
+msgid "Number of undo levels:"
+msgstr "Número de niveles de deshacer:"
+
+#: app/preferences.c:121
+msgid ""
+"Reverse dragging selects\n"
+"intersecting objects"
+msgstr ""
+"El arrastre inverso selecciona\n"
+"objetos que intersecan"
+
+#: app/preferences.c:122
+msgid "Recent documents list size:"
+msgstr "Tamaño de la lista de documentos recientes:"
+
+#: app/preferences.c:123
+msgid "Use menu bar"
+msgstr "Utilizar barra de menú"
+
+#: app/preferences.c:125
+msgid "Keep tool box on top of diagram windows"
+msgstr "Mantener la caja de herramientas encima de las ventanas del diagrama"
+
+#: app/preferences.c:127
+msgid "New diagram:"
+msgstr "Diagrama nuevo:"
+
+#: app/preferences.c:128
+msgid "Portrait"
+msgstr "Vertical"
+
+#: app/preferences.c:130
+msgid "Paper type:"
+msgstr "Tipo de papel:"
+
+#: app/preferences.c:133
+msgid "Background Colour:"
+msgstr "Color de fondo:"
+
+#: app/preferences.c:136
+msgid "New window:"
+msgstr "Ventana nueva:"
+
+#: app/preferences.c:137
+msgid "Width:"
+msgstr "Ancho:"
+
+#: app/preferences.c:138
+msgid "Height:"
+msgstr "Alto:"
+
+#: app/preferences.c:139
+msgid "Magnify:"
+msgstr "Magnificar:"
+
+#: app/preferences.c:142
+msgid "Connection Points:"
+msgstr "Puntos de conexión:"
+
+#. { NULL, PREF_NONE, 0, NULL, 3, N_("Grid:") },
+#: app/preferences.c:143 app/preferences.c:147 app/preferences.c:153
+msgid "Visible"
+msgstr "Visible"
+
+#: app/preferences.c:146
+msgid "Page breaks:"
+msgstr "Divisiones de páginas:"
+
+#: app/preferences.c:148 app/preferences.c:158
+msgid "Colour:"
+msgstr "Color:"
+
+#: app/preferences.c:149
+msgid "Solid lines"
+msgstr "Líneas sólidas"
+
+#: app/preferences.c:154
+msgid "Snap to"
+msgstr "Ajustar a"
+
+#: app/preferences.c:155
+msgid "Dynamic grid resizing"
+msgstr "Redimensionado de rejilla dinámico"
+
+#: app/preferences.c:156
+msgid "X Size:"
+msgstr "Tamaño X:"
+
+#: app/preferences.c:157
+msgid "Y Size:"
+msgstr "Tamaño Y:"
+
+#: app/preferences.c:159
+msgid "Lines per major line"
+msgstr "Líneas por cada línea principal"
+
+#: app/preferences.c:177
+msgid "Diagram tree window:"
+msgstr "Ventana del árbol del diagrama"
+
+#: app/preferences.c:179
+msgid "Save hidden object types"
+msgstr "Guardar tipos de objetos ocultos"
+
+#: app/preferences.c:308
+#, c-format
+msgid "Could not open `%s' for writing"
+msgstr "No se pudo abrir «%s» para escritura"
+
+#: app/preferences.c:586 lib/prop_inttypes.c:151
+msgid "Yes"
+msgstr "Sí"
+
+#: app/preferences.c:586 app/preferences.c:597 lib/prop_inttypes.c:153
+#: lib/prop_inttypes.c:179
+msgid "No"
+msgstr "No"
+
+#: app/preferences.c:699
+msgid "Preferences"
+msgstr "Preferencias"
+
+#: app/properties.c:52
+msgid "Object properties"
+msgstr "Propiedades del objeto"
+
+#: app/properties.c:78
+msgid "This object has no properties."
+msgstr "Este objeto no tiene propiedades."
+
+#: app/properties.c:194
+msgid "Properties: "
+msgstr "Propiedades: "
+
+#: app/properties.c:198
+msgid "Object properties:"
+msgstr "Propiedades del objeto:"
+
+#. Use the Plugins menu item to get a pointer to the File menu,
+#. but any item on the File menu will do
+#: app/recent_files.c:137
+msgid "<Toolbox>/File/Plugins..."
+msgstr "<Caja de herramientas>/Archivo/Extensiones..."
+
+#: app/recent_files.c:259
+msgid "<Toolbox>/File/Quit"
+msgstr "<Caja de herramientas>/Archivo/Salir"
+
+#: app/recent_files.c:295
+msgid "Can't open history file for writing."
+msgstr "No se pudo abrir el archivo de historia para escritura."
+
+#: app/render_eps.c:119
+msgid "Encapsulated Postscript"
+msgstr "Postscript encapsulado"
+
+#: app/render_libart.c:318 lib/dialibartrenderer.c:269
+msgid "gdk_renderer: Unsupported fill mode specified!\n"
+msgstr "gdk_renderer: Especificó un modo de relleno no admitido\n"
+
+#: app/sheets.c:154
+#, c-format
+msgid ""
+"%s\n"
+"System sheet"
+msgstr ""
+"%s\n"
+"Hoja del sistema"
+
+#: app/sheets.c:156
+#, c-format
+msgid ""
+"%s\n"
+"User sheet"
+msgstr ""
+"%s\n"
+"Hoja de usuario"
+
+#: app/sheets.c:271
+msgid ""
+"Can't get symbol 'custom_type' from any module.\n"
+"Editing shapes is disabled."
+msgstr ""
+"No se pudo obtener el símbolo «custom_type» de ningún módulo.\n"
+"La edición de figuras está desactivada."
+
+#: app/sheets.c:373
+#, c-format
+msgid "Widget not found: %s"
+msgstr "Elemento no encontrado: %s"
+
+#: app/sheets.c:448
+msgid "SVG Shape"
+msgstr "Figura SVG"
+
+#: app/sheets.c:450
+msgid "Programmed Object"
+msgstr "Objeto programado"
+
+#: app/sheets_dialog.c:83
+msgid "Sheets and Objects"
+msgstr "Hojas y objetos"
+
+#: app/sheets_dialog.c:109 app/sheets_dialog_callbacks.c:177
+msgid "<- Copy"
+msgstr "<- Copiar"
+
+#: app/sheets_dialog.c:119 app/sheets_dialog_callbacks.c:179
+msgid "<- Copy All"
+msgstr "<- Copiar todo"
+
+#: app/sheets_dialog.c:126 app/sheets_dialog_callbacks.c:181
+msgid "<- Move"
+msgstr "<- Mover"
+
+#: app/sheets_dialog.c:136 app/sheets_dialog_callbacks.c:183
+msgid "<- Move All"
+msgstr "<- Mover todo"
+
+#: app/sheets_dialog.c:233
+msgid "Edit"
+msgstr "Editar"
+
+#: app/sheets_dialog.c:235
+msgid "_Edit"
+msgstr "_Editar"
+
+# Seguro? Más bien Revertir. FVD
+#: app/sheets_dialog.c:266
+msgid "Revert"
+msgstr "Invertir"
+
+#: app/sheets_dialog.c:354 objects/UML/class_dialog.c:829
+#: objects/UML/class_dialog.c:1753 objects/UML/class_dialog.c:1981
+#: objects/UML/class_dialog.c:2500
+msgid "New"
+msgstr "Nuevo"
+
+#: app/sheets_dialog.c:362 app/sheets_dialog.c:794
+msgid "Type"
+msgstr "Tipo"
+
+#: app/sheets_dialog.c:377
+msgid "Browse..."
+msgstr "Navegar..."
+
+#: app/sheets_dialog.c:386
+msgid "SVG Shape:"
+msgstr "Figura SVG:"
+
+#: app/sheets_dialog.c:413 app/sheets_dialog.c:476
+msgid "description:"
+msgstr "descripción:"
+
+#: app/sheets_dialog.c:425
+msgid "Sheet name:"
+msgstr "Nombre de la hoja:"
+
+#: app/sheets_dialog.c:446 app/sheets_dialog_callbacks.c:289
+#: app/sheets_dialog_callbacks.c:1085
+msgid "Line Break"
+msgstr "Salto de línea"
+
+#: app/sheets_dialog.c:568
+msgid "Edit Attributes"
+msgstr "Editar atributos"
+
+#: app/sheets_dialog.c:583 sheets/UML.sheet.in.h:24
+msgid "Object"
+msgstr "Objeto"
+
+#: app/sheets_dialog.c:599 app/sheets_dialog.c:692
+msgid "Description:"
+msgstr "Descripción:"
+
+#: app/sheets_dialog.c:618 objects/FS/flow-ortho.c:168 objects/FS/flow.c:146
+#: objects/UML/class_dialog.c:878 objects/UML/class_dialog.c:1805
+#: objects/UML/class_dialog.c:2035 objects/UML/class_dialog.c:2549
+msgid "Type:"
+msgstr "Tipo:"
+
+#: app/sheets_dialog.c:656
+msgid "Sheet"
+msgstr "Hoja"
+
+#: app/sheets_dialog.c:672 objects/ER/attribute.c:151 objects/ER/entity.c:130
+#: objects/ER/relationship.c:138 objects/UML/association.c:199
+#: objects/UML/association.c:1112 objects/UML/class_dialog.c:866
+#: objects/UML/class_dialog.c:1793 objects/UML/class_dialog.c:2023
+#: objects/UML/class_dialog.c:2537 objects/UML/dependency.c:128
+#: objects/UML/generalization.c:124 objects/UML/realizes.c:125
+msgid "Name:"
+msgstr "Nombre:"
+
+#: app/sheets_dialog.c:809
+msgid "Object:"
+msgstr "Objeto:"
+
+#: app/sheets_dialog.c:836
+msgid "Sheet:"
+msgstr "Hoja:"
+
+#: app/sheets_dialog.c:920
+msgid "Select SVG Shape File"
+msgstr "Seleccionar archivo de figura SVG"
+
+#: app/sheets_dialog_callbacks.c:164
+msgid "Copy ->"
+msgstr "Copiar ->"
+
+#: app/sheets_dialog_callbacks.c:166
+msgid "Copy All ->"
+msgstr "Copiar todo ->"
+
+#: app/sheets_dialog_callbacks.c:168
+msgid "Move ->"
+msgstr "Mover ->"
+
+#: app/sheets_dialog_callbacks.c:170
+msgid "Move All ->"
+msgstr "Mover todo ->"
+
+#: app/sheets_dialog_callbacks.c:303
+#, c-format
+msgid ""
+"%s\n"
+"Shape"
+msgstr ""
+"%s\n"
+"Figura"
+
+#: app/sheets_dialog_callbacks.c:306
+#, c-format
+msgid ""
+"%s\n"
+"Object"
+msgstr ""
+"%s\n"
+"Objeto"
+
+#: app/sheets_dialog_callbacks.c:309
+#, c-format
+msgid ""
+"%s\n"
+"Unassigned type"
+msgstr ""
+"%s\n"
+"Tipo no asignado"
+
+#: app/sheets_dialog_callbacks.c:799
+#, c-format
+msgid "Filename must end with '%s': '%s'"
+msgstr "El nombre de archivo debe terminar en «%s»: «%s»"
+
+#: app/sheets_dialog_callbacks.c:807
+#, c-format
+msgid "Error examining %s: %s"
+msgstr "Error al examinar %s: %s"
+
+#: app/sheets_dialog_callbacks.c:827
+#, c-format
+msgid "Could not interpret shape file: '%s'"
+msgstr "No se pudo interpretar el archivo de figura: «%s»"
+
+#: app/sheets_dialog_callbacks.c:896
+msgid "Sheet must have a Name"
+msgstr "La hoja debe tener un nombre"
+
+#: app/sheets_dialog_callbacks.c:1586 app/sheets_dialog_callbacks.c:1592
+#, c-format
+msgid "Couldn't open '%s': %s"
+msgstr "No se pudo abrir «%s»: %s"
+
+#: app/sheets_dialog_callbacks.c:1643
+#, c-format
+msgid "Couldn't open: '%s' for writing"
+msgstr "No se pudo abrir: «%s» para escritura."
+
+#: app/sheets_dialog_callbacks.c:1652
+msgid "a user"
+msgstr "un usuario"
+
+#: app/sheets_dialog_callbacks.c:1665
+#, c-format
+msgid "File: %s"
+msgstr "Archivo: %s"
+
+#: app/sheets_dialog_callbacks.c:1668
+#, c-format
+msgid "Date: %s"
+msgstr "Fecha: %s"
+
+#: app/sheets_dialog_callbacks.c:1672
+#, c-format
+msgid "For: %s"
+msgstr "Para: %s"
+
+#: app/sheets_dialog_callbacks.c:1689
+msgid "add shapes here"
+msgstr "añadir figuras aquí"
+
+#: app/splash.c:58
+msgid "Loading ..."
+msgstr "Cargando ..."
+
+#: app/splash.c:76
+#, c-format
+msgid "Dia v %s"
+msgstr "Dia v %s"
+
+#: dia.desktop.in.h:2
+msgid "Diagram editor"
+msgstr "Editor de diagramas"
+
+#: lib/arrows.c:39
+msgid "Lines"
+msgstr "Líneas"
+
+#: lib/arrows.c:40
+msgid "Hollow Triangle"
+msgstr "Triángulo vacío"
+
+#: lib/arrows.c:41
+msgid "Filled Triangle"
+msgstr "Triángulo relleno"
+
+#: lib/arrows.c:42
+msgid "Unfilled Triangle"
+msgstr "Triángulo sin relleno"
+
+#: lib/arrows.c:43
+msgid "Hollow Diamond"
+msgstr "Diamante hueco"
+
+#: lib/arrows.c:44
+msgid "Filled Diamond"
+msgstr "Diamante relleno"
+
+#: lib/arrows.c:45
+msgid "Half Head"
+msgstr "Media cabeza"
+
+#: lib/arrows.c:46
+msgid "Slashed Cross"
+msgstr "Cruz discontinua"
+
+#: lib/arrows.c:47
+msgid "Filled Ellipse"
+msgstr "Elipse rellena"
+
+#: lib/arrows.c:48
+msgid "Hollow Ellipse"
+msgstr "Elipse hueca"
+
+#: lib/arrows.c:49
+msgid "Filled Dot"
+msgstr "Punto relleno"
+
+#: lib/arrows.c:50
+msgid "Dimension Origin"
+msgstr "Origen de la dimensión"
+
+#: lib/arrows.c:51
+msgid "Blanked Dot"
+msgstr "Punto blanco"
+
+#: lib/arrows.c:52
+msgid "Double Hollow triangle"
+msgstr "Triángulo doble hueco"
+
+#: lib/arrows.c:53
+msgid "Double Filled triangle"
+msgstr "Triángulo doble relleno"
+
+#: lib/arrows.c:54
+msgid "Filled Box"
+msgstr "Caja rellena"
+
+#: lib/arrows.c:55
+msgid "Blanked Box"
+msgstr "Caja blanca"
+
+#: lib/arrows.c:56
+msgid "Slashed"
+msgstr "Con barras"
+
+#: lib/arrows.c:57
+msgid "Integral Symbol"
+msgstr "Símbolo de la integral"
+
+#: lib/arrows.c:58
+msgid "Crow Foot"
+msgstr "Filigrana"
+
+#: lib/arrows.c:59
+msgid "Cross"
+msgstr "Cruz"
+
+#: lib/arrows.c:60
+msgid "Filled Concave"
+msgstr "Cóncavo relleno"
+
+#: lib/arrows.c:61
+msgid "Blanked Concave"
+msgstr "Cóncavo vacío"
+
+#: lib/arrows.c:62
+msgid "Round"
+msgstr "Ronda"
+
+#: lib/bezier_conn.c:533
+msgid "Internal error: Setting corner type of endpoint of bezier"
+msgstr "Error interno: Estableciendo tipo esquina de punto final bézier"
+
+#: lib/dia_xml.c:147
+#, c-format
+msgid ""
+"The file %s has no encoding specification;\n"
+"assuming it is encoded in %s"
+msgstr ""
+"El archivo %s no tiene especificada la codificación;\n"
+"suponiendo que está codificado en %s"
+
+#: lib/dia_xml.c:466
+msgid "Taking point value of non-point node."
+msgstr "Tomando el valor del punto de un nodo que no es un punto."
+
+#: lib/dia_xml.c:478
+#, c-format
+msgid "Incorrect x Point value \"%s\" %f; discarding it."
+msgstr "Valor del punto x \"%s\" %f incorrecto, se descarta."
+
+#: lib/dia_xml.c:486
+msgid "Error parsing point."
+msgstr "Error analizando el punto."
+
+#. don't bother with useless warnings (see above)
+#: lib/dia_xml.c:494
+#, c-format
+msgid "Incorrect y Point value \"%s\" %f; discarding it."
+msgstr "Valor del punto y \"%s\" %f incorrecto, se descarta."
+
+#: lib/dia_xml.c:856
+msgid ""
+"Your local character set is UTF-8. Because of issues with libxml1 and the "
+"support of files generated by previous versions of dia, you will encounter  "
+"problems. Please report to dia-list@gnome.org if you see this message."
+msgstr ""
+"Su juego de caracteres locales es UTF-8. A causa de asuntos relativos a "
+"libxml1 y el soporte de archivos generados por versiones anteriores de dia, "
+"tendrá problemas. Por favor, informe a dia-list@gnome.org si ve este mensaje."
+
+#. This is the default text shown in the preview entry, though the user
+#. can set it. Remember that some fonts only have capital letters.
+#: lib/diagtkfontsel.c:74
+msgid "abcdefghijk ABCDEFGHIJK"
+msgstr "abcdefghijk ABCDEFGHIJK"
+
+#: lib/diagtkfontsel.c:209
+msgid "Font name"
+msgstr "Nombre de la tipografía"
+
+#: lib/diagtkfontsel.c:210
+msgid "The X string that represents this font."
+msgstr "La cadena X que representa esta tipografía."
+
+#: lib/diagtkfontsel.c:216
+msgid "Preview text"
+msgstr "Vista preliminar del texto"
+
+#: lib/diagtkfontsel.c:217
+msgid "The text to display in order to demonstrate the selected font."
+msgstr "El texto que mostrar para visualizar la tipografía seleccionada."
+
+#: lib/diagtkfontsel.c:321
+msgid "_Family:"
+msgstr "_Familia:"
+
+#: lib/diagtkfontsel.c:327
+msgid "_Style:"
+msgstr "E_stilo:"
+
+#: lib/diagtkfontsel.c:333
+msgid "Si_ze:"
+msgstr "Ta_maño:"
+
+#. create the text entry widget
+#: lib/diagtkfontsel.c:462
+msgid "_Preview:"
+msgstr "Vista _preliminar:"
+
+#: lib/diagtkfontsel.c:1252
+msgid "Font Selection"
+msgstr "Selección de tipografía"
+
+#: lib/dialibartrenderer.c:1115
+msgid "This Dia version is compiled without libart/text support."
+msgstr "Esta versión de Dia ha sido compilada sin soporte para libart/text."
+
+#: lib/font.c:87
+#, c-format
+msgid "Can't load font %s.\n"
+msgstr "No se puede cargar la tipografía %s.\n"
+
+#: lib/message.c:78 lib/message.c:238
+msgid "Error"
+msgstr "Error"
+
+#: lib/message.c:80 lib/message.c:226
+msgid "Warning"
+msgstr "Aviso"
+
+#: lib/message.c:106
+msgid "There is one similar message."
+msgstr "Hay un mensaje similar."
+
+#: lib/message.c:111
+msgid "Show repeated messages"
+msgstr "Mostrar mensajes repetidos."
+
+#: lib/message.c:170
+#, c-format
+msgid "There are %d similar messages."
+msgstr "Hay %d mensajes similares."
+
+# no estoy de acuerdo. FVD
+#: lib/message.c:215
+msgid "Notice"
+msgstr "Noticia"
+
+#: lib/object_defaults.c:123
+#, c-format
+msgid ""
+"Error loading defaults '%s'.\n"
+"Not a Dia diagram file."
+msgstr ""
+"Error al cargar los predeterminados «%s».\n"
+"No es un archivo de diagrama de Dia."
+
+#: lib/plug-ins.c:120
+msgid "???"
+msgstr "???"
+
+#: lib/plug-ins.c:228
+#, c-format
+msgid "Could not deduce correct path for `%s'"
+msgstr "No se pudo deducir el camino correcto para «%s»"
+
+#: lib/plug-ins.c:234
+#, c-format
+msgid ""
+"Could not load plugin '%s'\n"
+"%s"
+msgstr ""
+"No se pudo cargar la extensión «%s»\n"
+"%s"
+
+#: lib/plug-ins.c:247
+#, c-format
+msgid "Could not find plugin init function in `%s'"
+msgstr "No se pudo encontrar función de iniciación de la extensión en «%s»"
+
+#: lib/plug-ins.c:249
+msgid "Missing symbol 'dia_plugin_init'"
+msgstr "No se encuentra el símbolo «dia_plugin_init»"
+
+#: lib/plug-ins.c:257 lib/plug-ins.c:265
+msgid "dia_plugin_init() call failed"
+msgstr "falló la llamada a dia_plugin_init()"
+
+#: lib/plug-ins.c:284
+#, c-format
+msgid "%s Plugin could not be unloaded"
+msgstr "La extensión %s no pudo ser descargado"
+
+#: lib/plug-ins.c:372
+#, c-format
+msgid ""
+"Could not open `%s'\n"
+"`%s'"
+msgstr ""
+"No se pudo abrir «%s»\n"
+"«%s»"
+
+#: lib/properties.c:71 lib/properties.h:478
+msgid "Line colour"
+msgstr "Color de la línea"
+
+#: lib/properties.c:72 lib/properties.h:481
+msgid "Line style"
+msgstr "Estilo de la línea"
+
+#: lib/properties.c:73 lib/properties.h:485
+msgid "Fill colour"
+msgstr "Color de relleno"
+
+#: lib/properties.c:74 lib/properties.h:488
+msgid "Draw background"
+msgstr "Dibujar fondo"
+
+#: lib/properties.c:75 lib/properties.h:492
+msgid "Start arrow"
+msgstr "Flecha de inicio"
+
+#: lib/properties.c:76 lib/properties.h:495
+msgid "End arrow"
+msgstr "Flecha de finalización"
+
+#: lib/properties.c:78 lib/properties.h:505
+msgid "Text alignment"
+msgstr "Alineación del texto"
+
+# Creí que era Tipografía como en otros msgs. FVD
+#: lib/properties.c:79 lib/properties.h:508 objects/GRAFCET/condition.c:132
+#: objects/GRAFCET/step.c:165 objects/GRAFCET/transition.c:142
+#: objects/UML/class_dialog.c:328 objects/chronogram/chronoline.c:183
+#: objects/chronogram/chronoref.c:164
+msgid "Font"
+msgstr "Fuente"
+
+#: lib/properties.c:80 lib/properties.h:511 objects/GRAFCET/condition.c:134
+#: objects/GRAFCET/step.c:167 objects/GRAFCET/transition.c:144
+#: objects/chronogram/chronoline.c:185 objects/chronogram/chronoref.c:166
+msgid "Font size"
+msgstr "Tamaño de la fuente"
+
+#: lib/properties.c:81 lib/properties.h:514 objects/GRAFCET/step.c:169
+#: objects/chronogram/chronoline.c:187 objects/chronogram/chronoref.c:168
+msgid "Text colour"
+msgstr "Color de texto"
+
+#: lib/widgets.c:197
+msgid "Other fonts..."
+msgstr "Otras tipografías..."
+
+#: lib/widgets.c:299
+#, c-format
+msgid "Couldn't find font family for %s\n"
+msgstr "No se pudo encontrar la familia de tipografías para %s\n"
+
+#. We hit the Other fonts... entry
+#: lib/widgets.c:342
+msgid "Select font"
+msgstr "Seleccionar tipografía"
+
+#. Translators: Menu item Noun/Material/Solid
+#: lib/widgets.c:652 objects/FS/function.c:1063
+msgid "Solid"
+msgstr "Sólido"
+
+#: lib/widgets.c:658
+msgid "Dashed"
+msgstr "Discontinuo"
+
+#: lib/widgets.c:664
+msgid "Dash-Dot"
+msgstr "Línea-Punto"
+
+#: lib/widgets.c:670
+msgid "Dash-Dot-Dot"
+msgstr "Línea-Punto-Punto"
+
+#: lib/widgets.c:676
+msgid "Dotted"
+msgstr "Punteado"
+
+#. fs->sizebox = GTK_HBOX(box);
+#: lib/widgets.c:694
+msgid "Dash length: "
+msgstr "Longitud de la discontinuidad: "
+
+#: lib/widgets.c:848
+msgid "Select color"
+msgstr "Seleccione color"
+
+#: lib/widgets.c:1046
+msgid "Length: "
+msgstr "Longitud: "
+
+#: lib/widgets.c:1059
+msgid "Width: "
+msgstr "Ancho: "
+
+#: lib/widgets.c:1187
+msgid "Select image file"
+msgstr "Seleccionar archivo de imagen"
+
+#: lib/widgets.c:1221
+msgid "Browse"
+msgstr "Navegar"
+
+#: objects/ER/attribute.c:153
+msgid "Key:"
+msgstr "Clave:"
+
+#: objects/ER/attribute.c:155
+msgid "Weak key:"
+msgstr "Clave débil:"
+
+#: objects/ER/attribute.c:157
+msgid "Derived:"
+msgstr "Derivado:"
+
+#: objects/ER/attribute.c:159
+msgid "Multivalue:"
+msgstr "Multivalor:"
+
+#: objects/ER/attribute.c:421 sheets/ER.sheet.in.h:1
+msgid "Attribute"
+msgstr "Atributo"
+
+#: objects/ER/entity.c:132
+msgid "Weak:"
+msgstr "Débil:"
+
+#: objects/ER/entity.c:372 objects/UML/classicon.c:124 sheets/ER.sheet.in.h:4
+msgid "Entity"
+msgstr "Entidad"
+
+#: objects/ER/er.c:44
+msgid "Entity/Relationship diagram objects"
+msgstr "Objetos de diagrama Entidad/Relación"
+
+#: objects/ER/participation.c:115
+msgid "Total:"
+msgstr "Total:"
+
+#: objects/ER/participation.c:405 objects/FS/flow-ortho.c:644
+#: objects/GRAFCET/vector.c:311 objects/SADT/arrow.c:566
+#: objects/UML/association.c:747 objects/UML/component_feature.c:169
+#: objects/UML/dependency.c:365 objects/UML/generalization.c:361
+#: objects/UML/realizes.c:352 objects/standard/zigzagline.c:337
+msgid "Add segment"
+msgstr "Añadir segmento"
+
+#: objects/ER/participation.c:406 objects/FS/flow-ortho.c:645
+#: objects/GRAFCET/vector.c:312 objects/SADT/arrow.c:567
+#: objects/UML/association.c:748 objects/UML/component_feature.c:170
+#: objects/UML/dependency.c:366 objects/UML/generalization.c:362
+#: objects/UML/realizes.c:353 objects/standard/zigzagline.c:338
+msgid "Delete segment"
+msgstr "Borrar segmento"
+
+#: objects/ER/relationship.c:140
+msgid "Left Cardinality:"
+msgstr "Cardinalidad a la izquierda:"
+
+#: objects/ER/relationship.c:142
+msgid "Right Cardinality:"
+msgstr "Cardinalidad a la derecha:"
+
+#: objects/ER/relationship.c:144
+msgid "Rotate:"
+msgstr "Rotar:"
+
+#: objects/ER/relationship.c:146
+msgid "Identifying:"
+msgstr "Identificar:"
+
+#: objects/ER/relationship.c:449 sheets/ER.sheet.in.h:6
+msgid "Relationship"
+msgstr "Relación"
+
+#. Translators: Menu item Noun/Energy
+#: objects/FS/flow-ortho.c:159 objects/FS/flow-ortho.c:641
+#: objects/FS/flow.c:137 objects/FS/flow.c:576 objects/FS/function.c:1085
+msgid "Energy"
+msgstr "Energía"
+
+#. Translators: Menu item Noun/Material
+#: objects/FS/flow-ortho.c:160 objects/FS/flow-ortho.c:642
+#: objects/FS/flow.c:138 objects/FS/flow.c:577 objects/FS/function.c:1061
+msgid "Material"
+msgstr "Material"
+
+#. Translators: Menu item Verb/Signal
+#: objects/FS/flow-ortho.c:161 objects/FS/flow-ortho.c:643
+#: objects/FS/flow.c:139 objects/FS/flow.c:578 objects/FS/function.c:1023
+#: objects/FS/function.c:1025 objects/FS/function.c:1161
+#: objects/FS/function.c:1163
+msgid "Signal"
+msgstr "Señal"
+
+#: objects/FS/fs.c:43
+msgid "Function structure diagram objects"
+msgstr "Objetos de diagrama de estructura de función"
+
+#: objects/FS/function.c:140
+msgid "Wish function"
+msgstr "Función de deseo"
+
+#: objects/FS/function.c:142
+msgid "User function"
+msgstr "Función de usuario"
+
+#. Translators: Menu item Verb
+#: objects/FS/function.c:665
+msgid "Verb"
+msgstr "Verbo"
+
+#. Translators: Menu item Verb/Channel
+#: objects/FS/function.c:667 objects/FS/function.c:669
+#: objects/FS/function.c:709
+msgid "Channel"
+msgstr "Canal"
+
+#. Translators: Menu item Verb/Channel/Import
+#: objects/FS/function.c:671 objects/FS/function.c:673
+msgid "Import"
+msgstr "Importar"
+
+#. Translators: Menu item Verb/Channel/Import/Input
+#: objects/FS/function.c:675
+msgid "Input"
+msgstr "Entrada"
+
+#. Translators: Menu item Verb/Channel/Import/Receive
+#: objects/FS/function.c:677
+msgid "Receive"
+msgstr "Recibir"
+
+#. Translators: Menu item Verb/Channel/Import/Allow
+#: objects/FS/function.c:679 objects/FS/function.c:951
+msgid "Allow"
+msgstr "Permitir"
+
+#. Translators: Menu item Verb/Channel/Import/Form Entrance
+#: objects/FS/function.c:681
+msgid "Form Entrance"
+msgstr "Entrada por formulario"
+
+#. Translators: Menu item Verb/Channel/Import/Capture
+#: objects/FS/function.c:683 objects/FS/function.c:917
+msgid "Capture"
+msgstr "Capturar"
+
+#. Translators: Menu item Verb/Channel/Export/Discharge
+#: objects/FS/function.c:689
+msgid "Discharge"
+msgstr "Descargar"
+
+#. Translators: Menu item Verb/Channel/Export/Eject
+#: objects/FS/function.c:691
+msgid "Eject"
+msgstr "Expulsar"
+
+#. Translators: Menu item Verb/Channel/Export/Dispose
+#: objects/FS/function.c:693
+msgid "Dispose"
+msgstr "Colocar"
+
+#. Translators: Menu item Verb/Channel/Transfer
+#: objects/FS/function.c:697 objects/FS/function.c:699
+#: objects/FS/function.c:717
+msgid "Transfer"
+msgstr "Transferir"
+
+#. Translators: Menu item Verb/Channel/Transfer/Transport
+#: objects/FS/function.c:701 objects/FS/function.c:703
+msgid "Transport"
+msgstr "Transportar"
+
+#. Translators: Menu item Verb/Channel/Transfer/Transport/Lift
+#: objects/FS/function.c:705
+msgid "Lift"
+msgstr "Elevar"
+
+#. Translators: Menu item Verb/Channel/Transfer/Transport/Move
+#: objects/FS/function.c:707
+msgid "Move"
+msgstr "Mover"
+
+#. Translators: Menu item Verb/Channel/Transfer/Transmit
+#: objects/FS/function.c:711 objects/FS/function.c:713
+msgid "Transmit"
+msgstr "Transmitir"
+
+#. Translators: Menu item Verb/Channel/Transfer/Transmit/Conduct
+#: objects/FS/function.c:715
+msgid "Conduct"
+msgstr "Conducir"
+
+#. Translators: Menu item Verb/Channel/Transfer/Transmit/Convey
+#: objects/FS/function.c:719
+msgid "Convey"
+msgstr "Transportar"
+
+#. Translators: Menu item Verb/Channel/Guide
+#: objects/FS/function.c:721 objects/FS/function.c:723
+#: objects/FS/function.c:725
+msgid "Guide"
+msgstr "Guía"
+
+#. Translators: Menu item Verb/Channel/Guide/Guide/Direct
+#: objects/FS/function.c:727
+msgid "Direct"
+msgstr "Directo"
+
+#. Translators: Menu item Verb/Channel/Guide/Guide/Straighten
+#: objects/FS/function.c:729
+msgid "Straighten"
+msgstr "Enderezar"
+
+#. Translators: Menu item Verb/Channel/Guide/Guide/Steer
+#: objects/FS/function.c:731
+msgid "Steer"
+msgstr "Dirigir"
+
+# Aquí no se habla de idiomas sino de gráficos. FVD
+#. Translators: Menu item Verb/Channel/Guide/Translate
+#: objects/FS/function.c:733
+msgid "Translate"
+msgstr "Trasladar"
+
+#. Translators: Menu item Verb/Channel/Guide/Rotate
+#: objects/FS/function.c:735 objects/FS/function.c:737
+msgid "Rotate"
+msgstr "Rotar"
+
+#. Translators: Menu item Verb/Channel/Guide/Rotate/Turn
+#: objects/FS/function.c:739
+msgid "Turn"
+msgstr "Volver"
+
+#. Translators: Menu item Verb/Channel/Guide/Rotate/Spin
+#: objects/FS/function.c:741
+msgid "Spin"
+msgstr "Girar"
+
+#. Translators: Menu item Verb/Channel/Guide/Allow DOF
+#: objects/FS/function.c:743 objects/FS/function.c:745
+msgid "Allow DOF"
+msgstr "Permitir DOF"
+
+#. Translators: Menu item Verb/Channel/Guide/Allow DOF/Constrain
+#: objects/FS/function.c:747
+msgid "Constrain"
+msgstr "Restringir"
+
+#. Translators: Menu item Verb/Channel/Guide/Allow DOF/Unlock
+#: objects/FS/function.c:749
+msgid "Unlock"
+msgstr "Desbloquear"
+
+#. Translators: Menu item Verb/Support
+#: objects/FS/function.c:751 objects/FS/function.c:753
+msgid "Support"
+msgstr "Soporte"
+
+#. Translators: Menu item Verb/Support/Stop
+#: objects/FS/function.c:755 objects/FS/function.c:757
+#: sheets/SDL.sheet.in.h:19
+msgid "Stop"
+msgstr "Parar"
+
+#. Translators: Menu item Verb/Support/Stop/Insulate
+#: objects/FS/function.c:759
+msgid "Insulate"
+msgstr "Aislar"
+
+#. Translators: Menu item Verb/Support/Stop/Protect
+#: objects/FS/function.c:761
+msgid "Protect"
+msgstr "Proteger"
+
+#. Translators: Menu item Verb/Support/Stop/Prevent
+#: objects/FS/function.c:763 objects/FS/function.c:953
+msgid "Prevent"
+msgstr "Prevenir"
+
+#. Translators: Menu item Verb/Support/Stop/Shield
+#: objects/FS/function.c:765
+msgid "Shield"
+msgstr "Blindar"
+
+#. Translators: Menu item Verb/Support/Stop/Inhibit
+#: objects/FS/function.c:767
+msgid "Inhibit"
+msgstr "Impedir"
+
+#. Translators: Menu item Verb/Support/Stabilize
+#: objects/FS/function.c:769 objects/FS/function.c:771
+msgid "Stabilize"
+msgstr "Estabilizar"
+
+#. Translators: Menu item Verb/Support/Stabilize/Steady
+#: objects/FS/function.c:773
+msgid "Steady"
+msgstr "Estable"
+
+#. Translators: Menu item Verb/Support/Secure
+#: objects/FS/function.c:775 objects/FS/function.c:777
+msgid "Secure"
+msgstr "Seguro"
+
+#. Translators: Menu item Verb/Support/Secure/Attach
+#: objects/FS/function.c:779 objects/FS/function.c:811
+msgid "Attach"
+msgstr "Adjuntar"
+
+#. Translators: Menu item Verb/Support/Secure/Mount
+#: objects/FS/function.c:781
+msgid "Mount"
+msgstr "Montar"
+
+#. Translators: Menu item Verb/Support/Secure/Lock
+#: objects/FS/function.c:783 sheets/ciscomisc.sheet.in.h:21
+msgid "Lock"
+msgstr "Cerrar"
+
+# Pero Fasten seat belts es Apriétense los cinturones. FVD
+#. Translators: Menu item Verb/Support/Secure/Fasten
+#: objects/FS/function.c:785
+msgid "Fasten"
+msgstr "Fijar"
+
+#. Translators: Menu item Verb/Support/Secure/Hold
+#: objects/FS/function.c:787
+msgid "Hold"
+msgstr "Sostener"
+
+# Posicionar? FVD
+#. Translators: Menu item Verb/Support/Position
+#: objects/FS/function.c:789 objects/FS/function.c:791
+msgid "Position"
+msgstr "Posición"
+
+#. Translators: Menu item Verb/Support/Position/Orient
+#: objects/FS/function.c:793
+msgid "Orient"
+msgstr "Orientar"
+
+# me parece que todo esto deberían ser verbos. FVD
+#. Translators: Menu item Verb/Support/Position/Align
+#: objects/FS/function.c:795
+msgid "Align"
+msgstr "Alinear"
+
+#. Translators: Menu item Verb/Support/Position/Locate
+#: objects/FS/function.c:797 objects/FS/function.c:1039
+msgid "Locate"
+msgstr "Localizar"
+
+#. Translators: Menu item Verb/Connect
+#: objects/FS/function.c:799 objects/FS/function.c:801
+msgid "Connect"
+msgstr "Conectar"
+
+# Emparejar? FVD
+#. Translators: Menu item Verb/Connect/Couple
+#: objects/FS/function.c:803 objects/FS/function.c:805
+msgid "Couple"
+msgstr "Pareja"
+
+#. Translators: Menu item Verb/Connect/Couple/Join
+#: objects/FS/function.c:807
+msgid "Join"
+msgstr "Unir"
+
+#. Translators: Menu item Verb/Connect/Couple/Assemble
+#: objects/FS/function.c:809
+msgid "Assemble"
+msgstr "Ensamblar"
+
+#. Translators: Menu item Verb/Connect/Mix
+#: objects/FS/function.c:813 objects/FS/function.c:815
+msgid "Mix"
+msgstr "Mezclar"
+
+#. Translators: Menu item Verb/Connect/Mix/Combine
+#: objects/FS/function.c:817
+msgid "Combine"
+msgstr "Combinar"
+
+# Eso sería Bend. FVD
+#. Translators: Menu item Verb/Connect/Mix/Blend
+#: objects/FS/function.c:819
+msgid "Blend"
+msgstr "Doblar"
+
+#. Translators: Menu item Verb/Connect/Mix/Add
+#: objects/FS/function.c:821
+msgid "Add"
+msgstr "Añadir"
+
+#. Translators: Menu item Verb/Connect/Mix/Pack
+#: objects/FS/function.c:823
+msgid "Pack"
+msgstr "Empaquetar"
+
+#. Translators: Menu item Verb/Connect/Mix/Coalesce
+#: objects/FS/function.c:825
+msgid "Coalesce"
+msgstr "Incorporar"
+
+# Si ha de ser un verbo debería ser Ramificar. FVD
+#. Translators: Menu item Verb/Branch
+#: objects/FS/function.c:827 objects/FS/function.c:829 sheets/UML.sheet.in.h:5
+msgid "Branch"
+msgstr "Rama"
+
+#. Translators: Menu item Verb/Branch/Separate
+#: objects/FS/function.c:831 objects/FS/function.c:833
+#: objects/FS/function.c:835
+msgid "Separate"
+msgstr "Separar"
+
+#. Translators: Menu item Verb/Branch/Separate/Separate/Switch
+#: objects/FS/function.c:837
+msgid "Switch"
+msgstr "Cambiar"
+
+#. Translators: Menu item Verb/Branch/Separate/Separate/Divide
+#: objects/FS/function.c:839
+msgid "Divide"
+msgstr "Dividir"
+
+#. Translators: Menu item Verb/Branch/Separate/Separate/Release
+#: objects/FS/function.c:841
+msgid "Release"
+msgstr "Soltar"
+
+#. Translators: Menu item Verb/Branch/Separate/Separate/Detach
+#: objects/FS/function.c:843
+msgid "Detach"
+msgstr "Separar"
+
+#. Translators: Menu item Verb/Branch/Separate/Separate/Disconnect
+#: objects/FS/function.c:845
+msgid "Disconnect"
+msgstr "Desconectar"
+
+#. Translators: Menu item Verb/Branch/Separate/Remove/Cut
+#: objects/FS/function.c:851
+msgid "Cut"
+msgstr "Cortar"
+
+# Creo que más bien Pulir. FVD
+#. Translators: Menu item Verb/Branch/Separate/Remove/Polish
+#: objects/FS/function.c:853
+msgid "Polish"
+msgstr "Limpiar"
+
+# Sí pero debería ser un verbo. FVD
+#. Translators: Menu item Verb/Branch/Separate/Remove/Sand
+#: objects/FS/function.c:855
+msgid "Sand"
+msgstr "Arena"
+
+#. Translators: Menu item Verb/Branch/Separate/Remove/Drill
+#: objects/FS/function.c:857
+msgid "Drill"
+msgstr "Perforar"
+
+#. Translators: Menu item Verb/Branch/Separate/Remove/Lathe
+#: objects/FS/function.c:859
+msgid "Lathe"
+msgstr "Tornear"
+
+#. Translators: Menu item Verb/Branch/Refine
+#: objects/FS/function.c:861 objects/FS/function.c:863
+msgid "Refine"
+msgstr "Refinar"
+
+#. Translators: Menu item Verb/Branch/Refine/Purify
+#: objects/FS/function.c:865
+msgid "Purify"
+msgstr "Purificar"
+
+#. Translators: Menu item Verb/Branch/Refine/Strain
+#: objects/FS/function.c:867
+msgid "Strain"
+msgstr "Tensar"
+
+#. Translators: Menu item Verb/Branch/Refine/Filter
+#: objects/FS/function.c:869
+msgid "Filter"
+msgstr "Filtrar"
+
+#. Translators: Menu item Verb/Branch/Refine/Percolate
+#: objects/FS/function.c:871
+msgid "Percolate"
+msgstr "Colar"
+
+#. Translators: Menu item Verb/Branch/Refine/Clear
+#: objects/FS/function.c:873
+msgid "Clear"
+msgstr "Limpiar"
+
+#. Translators: Menu item Verb/Branch/Distribute
+#: objects/FS/function.c:875 objects/FS/function.c:877
+msgid "Distribute"
+msgstr "Distribuir"
+
+#. Translators: Menu item Verb/Branch/Distribute/Diverge
+#: objects/FS/function.c:879
+msgid "Diverge"
+msgstr "Diverger"
+
+#. Translators: Menu item Verb/Branch/Distribute/Scatter
+#: objects/FS/function.c:881
+msgid "Scatter"
+msgstr "Esparcir"
+
+#. Translators: Menu item Verb/Branch/Distribute/Disperse
+#: objects/FS/function.c:883
+msgid "Disperse"
+msgstr "Dispersar"
+
+#. Translators: Menu item Verb/Branch/Distribute/Diffuse
+#: objects/FS/function.c:885 objects/FS/function.c:899
+msgid "Diffuse"
+msgstr "Difundir"
+
+#. Translators: Menu item Verb/Branch/Distribute/Empty
+#: objects/FS/function.c:887
+msgid "Empty"
+msgstr "Vaciar"
+
+#. Translators: Menu item Verb/Branch/Dissipate
+#: objects/FS/function.c:889 objects/FS/function.c:891
+msgid "Dissipate"
+msgstr "Disipar"
+
+#. Translators: Menu item Verb/Branch/Dissipate/Absorb
+#: objects/FS/function.c:893
+msgid "Absorb"
+msgstr "Absorber"
+
+#. Translators: Menu item Verb/Branch/Dissipate/Dampen
+#: objects/FS/function.c:895
+msgid "Dampen"
+msgstr "Empapar"
+
+#. Translators: Menu item Verb/Branch/Dissipate/Dispel
+#: objects/FS/function.c:897
+msgid "Dispel"
+msgstr "Disipar"
+
+#. Translators: Menu item Verb/Branch/Dissipate/Resist
+#: objects/FS/function.c:901
+msgid "Resist"
+msgstr "Resistir"
+
+# También creo que todo esto son verbos. FVD
+#. Translators: Menu item Verb/Provision
+#: objects/FS/function.c:903 objects/FS/function.c:905
+msgid "Provision"
+msgstr "Provisión"
+
+#. Translators: Menu item Verb/Provision/Store
+#: objects/FS/function.c:907 objects/FS/function.c:909
+msgid "Store"
+msgstr "Almacenar"
+
+#. Translators: Menu item Verb/Provision/Store/Contain
+#: objects/FS/function.c:911
+msgid "Contain"
+msgstr "Contener"
+
+#. Translators: Menu item Verb/Provision/Store/Collect
+#: objects/FS/function.c:913
+msgid "Collect"
+msgstr "Recolectar"
+
+#. Translators: Menu item Verb/Provision/Store/Reserve
+#: objects/FS/function.c:915
+msgid "Reserve"
+msgstr "Reservar"
+
+#. Translators: Menu item Verb/Provision/Supply
+#: objects/FS/function.c:919 objects/FS/function.c:921
+msgid "Supply"
+msgstr "Suministrar"
+
+#. Translators: Menu item Verb/Provision/Supply/Fill
+#: objects/FS/function.c:923
+msgid "Fill"
+msgstr "Rellenar"
+
+#. Translators: Menu item Verb/Provision/Supply/Provide
+#: objects/FS/function.c:925
+msgid "Provide"
+msgstr "Proporcionar"
+
+#. Translators: Menu item Verb/Provision/Supply/Replenish
+#: objects/FS/function.c:927
+msgid "Replenish"
+msgstr "Reponer"
+
+#. Translators: Menu item Verb/Provision/Supply/Expose
+#: objects/FS/function.c:929
+msgid "Expose"
+msgstr "Exponer"
+
+#. Translators: Menu item Verb/Provision/Extract
+#: objects/FS/function.c:931 sheets/Flowchart.sheet.in.h:7
+msgid "Extract"
+msgstr "Extraer"
+
+#. Translators: Menu item Verb/Control Magnitude
+#: objects/FS/function.c:933 objects/FS/function.c:935
+msgid "Control Magnitude"
+msgstr "Magnitud de control"
+
+#. Translators: Menu item Verb/Control Magnitude/Actuate
+#: objects/FS/function.c:937 objects/FS/function.c:939
+msgid "Actuate"
+msgstr "Animar"
+
+#. Translators: Menu item Verb/Control Magnitude/Actuate/Start
+#: objects/FS/function.c:941
+msgid "Start"
+msgstr "Iniciar"
+
+# Esto para distinguirlo de Start-->Iniciar. FVD
+#. Translators: Menu item Verb/Control Magnitude/Actuate/Initiate
+#: objects/FS/function.c:943
+msgid "Initiate"
+msgstr "Comenzar"
+
+#. Translators: Menu item Verb/Control Magnitude/Regulate
+#: objects/FS/function.c:945 objects/FS/function.c:947
+msgid "Regulate"
+msgstr "Regular"
+
+#. Translators: Menu item Verb/Control Magnitude/Regulate/Control
+#: objects/FS/function.c:949 objects/FS/function.c:1167
+#: objects/UML/classicon.c:122
+msgid "Control"
+msgstr "Controlar"
+
+#. Translators: Menu item Verb/Control Magnitude/Regulate/Enable
+#: objects/FS/function.c:955
+msgid "Enable"
+msgstr "Habilitar"
+
+#. Translators: Menu item Verb/Control Magnitude/Regulate/Disable
+#: objects/FS/function.c:957
+msgid "Disable"
+msgstr "Desactivar"
+
+#. Translators: Menu item Verb/Control Magnitude/Regulate/Limit
+#: objects/FS/function.c:959
+msgid "Limit"
+msgstr "Limitar"
+
+#. Translators: Menu item Verb/Control Magnitude/Regulate/Interrupt
+#: objects/FS/function.c:961
+msgid "Interrupt"
+msgstr "Interrumpir"
+
+#. Translators: Menu item Verb/Control Magnitude/Change
+#: objects/FS/function.c:963 objects/FS/function.c:965
+msgid "Change"
+msgstr "Cambiar"
+
+#. Translators: Menu item Verb/Control Magnitude/Change/Increase
+#: objects/FS/function.c:967
+msgid "Increase"
+msgstr "Aumentar"
+
+#. Translators: Menu item Verb/Control Magnitude/Change/Decrease
+#: objects/FS/function.c:969
+msgid "Decrease"
+msgstr "Disminuir"
+
+#. Translators: Menu item Verb/Control Magnitude/Change/Amplify
+#: objects/FS/function.c:971
+msgid "Amplify"
+msgstr "Amplificar"
+
+#. Translators: Menu item Verb/Control Magnitude/Change/Reduce
+#: objects/FS/function.c:973
+msgid "Reduce"
+msgstr "Reducir"
+
+#. Translators: Menu item Verb/Control Magnitude/Change/Normalize
+#: objects/FS/function.c:977
+msgid "Normalize"
+msgstr "Normalizar"
+
+#. Translators: Menu item Verb/Control Magnitude/Change/Multiply
+#: objects/FS/function.c:979
+msgid "Multiply"
+msgstr "Multiplicar"
+
+#. Translators: Menu item Verb/Control Magnitude/Change/Scale
+#: objects/FS/function.c:981
+msgid "Scale"
+msgstr "Escalar"
+
+#. Translators: Menu item Verb/Control Magnitude/Change/Rectify
+#: objects/FS/function.c:983
+msgid "Rectify"
+msgstr "Rectificar"
+
+#. Translators: Menu item Verb/Control Magnitude/Change/Adjust
+#: objects/FS/function.c:985
+msgid "Adjust"
+msgstr "Ajustar"
+
+# Se refiere a dar forma a magnitudes. FVD
+#. Translators: Menu item Verb/Control Magnitude/Form
+#: objects/FS/function.c:987 objects/FS/function.c:989
+msgid "Form"
+msgstr "Conformar"
+
+#. Translators: Menu item Verb/Control Magnitude/Form/Compact
+#: objects/FS/function.c:991
+msgid "Compact"
+msgstr "Compactar"
+
+#. Translators: Menu item Verb/Control Magnitude/Form/Crush
+#: objects/FS/function.c:993
+msgid "Crush"
+msgstr "Colisionar"
+
+# Ha de ser un verbo, creo. FVD
+#. Translators: Menu item Verb/Control Magnitude/Form/Shape
+#: objects/FS/function.c:995
+msgid "Shape"
+msgstr "Figura"
+
+#. Translators: Menu item Verb/Control Magnitude/Form/Compress
+#: objects/FS/function.c:997
+msgid "Compress"
+msgstr "Comprimir"
+
+#. Translators: Menu item Verb/Control Magnitude/Form/Pierce
+#: objects/FS/function.c:999
+msgid "Pierce"
+msgstr "Atravesar"
+
+#. Translators: Menu item Verb/Convert
+#: objects/FS/function.c:1001 objects/FS/function.c:1003
+msgid "Convert"
+msgstr "Convertir"
+
+#. Translators: Menu item Verb/Convert/Transform
+#: objects/FS/function.c:1005
+msgid "Transform"
+msgstr "Transformar"
+
+#. Translators: Menu item Verb/Convert/Liquefy
+#: objects/FS/function.c:1007
+msgid "Liquefy"
+msgstr "Licuar"
+
+#. Translators: Menu item Verb/Convert/Solidify
+#: objects/FS/function.c:1009
+msgid "Solidify"
+msgstr "Solidificar"
+
+#. Translators: Menu item Verb/Convert/Evaporate
+#: objects/FS/function.c:1011
+msgid "Evaporate"
+msgstr "Evaporar"
+
+#. Translators: Menu item Verb/Convert/Sublimate
+#: objects/FS/function.c:1013
+msgid "Sublimate"
+msgstr "Sublimar"
+
+#. Translators: Menu item Verb/Convert/Condense
+#: objects/FS/function.c:1015
+msgid "Condense"
+msgstr "Condensar"
+
+#. Translators: Menu item Verb/Convert/Integrate
+#: objects/FS/function.c:1017
+msgid "Integrate"
+msgstr "Integrar"
+
+#. Translators: Menu item Verb/Convert/Differentiate
+#: objects/FS/function.c:1019
+msgid "Differentiate"
+msgstr "Diferenciar"
+
+#. Translators: Menu item Verb/Convert/Process
+#: objects/FS/function.c:1021 sheets/EML.sheet.in.h:5
+msgid "Process"
+msgstr "Procesar"
+
+# Creo que más bien Sentir. FVD
+#. Translators: Menu item Verb/Signal/Sense
+#: objects/FS/function.c:1027 objects/FS/function.c:1029
+msgid "Sense"
+msgstr "Sentido"
+
+#. Translators: Menu item Verb/Signal/Sense/Perceive
+#: objects/FS/function.c:1031
+msgid "Perceive"
+msgstr "Recibir"
+
+#. Translators: Menu item Verb/Signal/Sense/Recognize
+#: objects/FS/function.c:1033
+msgid "Recognize"
+msgstr "Reconocer"
+
+#. Translators: Menu item Verb/Signal/Sense/Discern
+#: objects/FS/function.c:1035
+msgid "Discern"
+msgstr "Discernir"
+
+#. Translators: Menu item Verb/Signal/Sense/Check
+#: objects/FS/function.c:1037
+msgid "Check"
+msgstr "Comprobar"
+
+#. Translators: Menu item Verb/Signal/Sense/Verify
+#: objects/FS/function.c:1041
+msgid "Verify"
+msgstr "Verificar"
+
+#. Translators: Menu item Verb/Signal/Indicate
+#: objects/FS/function.c:1043 objects/FS/function.c:1045
+msgid "Indicate"
+msgstr "Indicar"
+
+#. Translators: Menu item Verb/Signal/Indicate/Mark
+#: objects/FS/function.c:1047
+msgid "Mark"
+msgstr "Marcar"
+
+#. Translators: Menu item Verb/Signal/Display
+#: objects/FS/function.c:1049 sheets/Flowchart.sheet.in.h:5
+msgid "Display"
+msgstr "Mostrar"
+
+#. Translators: Menu item Verb/Signal/Measure
+#: objects/FS/function.c:1051 objects/FS/function.c:1053
+msgid "Measure"
+msgstr "Medir"
+
+#. Translators: Menu item Verb/Signal/Measure/Calculate
+#: objects/FS/function.c:1055
+msgid "Calculate"
+msgstr "Calcular"
+
+#. Translators: Menu item Verb/Signal/Represent
+#: objects/FS/function.c:1057
+msgid "Represent"
+msgstr "Representar"
+
+#. Translators: Menu item Noun
+#: objects/FS/function.c:1059
+msgid "Noun"
+msgstr "Sustantivo"
+
+#. Translators: Menu item Noun/Material/Liquid
+#: objects/FS/function.c:1065
+msgid "Liquid"
+msgstr "Líquido"
+
+#. Translators: Menu item Noun/Material/Gas
+#: objects/FS/function.c:1067
+msgid "Gas"
+msgstr "Gas"
+
+#. Translators: Menu item Noun/Material/Human
+#: objects/FS/function.c:1069 objects/FS/function.c:1071
+#: objects/FS/function.c:1155
+msgid "Human"
+msgstr "Humano"
+
+#. Translators: Menu item Noun/Material/Human/Hand
+#: objects/FS/function.c:1073
+msgid "Hand"
+msgstr "Mano"
+
+#. Translators: Menu item Noun/Material/Human/Foot
+#: objects/FS/function.c:1075
+msgid "Foot"
+msgstr "Pie"
+
+#. Translators: Menu item Noun/Material/Human/Head
+#: objects/FS/function.c:1077
+msgid "Head"
+msgstr "Cabeza"
+
+#. Translators: Menu item Noun/Material/Human/Finger
+#: objects/FS/function.c:1079
+msgid "Finger"
+msgstr "Dedo"
+
+#. Translators: Menu item Noun/Material/Human/Toe
+#: objects/FS/function.c:1081
+msgid "Toe"
+msgstr "Dedo del pie"
+
+#. Translators: Menu item Noun/Material/Biological
+#: objects/FS/function.c:1083
+msgid "Biological"
+msgstr "Biológico"
+
+#. Translators: Menu item Noun/Energy/Mechanical
+#: objects/FS/function.c:1087
+msgid "Mechanical"
+msgstr "Mecánico"
+
+#. Translators: Menu item Noun/Energy/Mechanical/Mech. Energy
+#: objects/FS/function.c:1089
+msgid "Mech. Energy"
+msgstr "Energía mec."
+
+#. Translators: Menu item Noun/Energy/Mechanical/Translation
+#: objects/FS/function.c:1091
+msgid "Translation"
+msgstr "Traducción"
+
+# Esto en cambio debe ser un sustantivo. FVD
+#. Translators: Menu item Noun/Energy/Mechanical/Force
+#: objects/FS/function.c:1093
+msgid "Force"
+msgstr "Forzar"
+
+#. Translators: Menu item Noun/Energy/Mechanical/Rotation
+#: objects/FS/function.c:1095
+msgid "Rotation"
+msgstr "Rotación"
+
+#. Translators: Menu item Noun/Energy/Mechanical/Torque
+#: objects/FS/function.c:1097
+msgid "Torque"
+msgstr "Torsión"
+
+#. Translators: Menu item Noun/Energy/Mechanical/Random Motion
+#: objects/FS/function.c:1099
+msgid "Random Motion"
+msgstr "Movimiento aleatorio"
+
+#. Translators: Menu item Noun/Energy/Mechanical/Vibration
+#: objects/FS/function.c:1101
+msgid "Vibration"
+msgstr "Vibración"
+
+#. Translators: Menu item Noun/Energy/Mechanical/Rotational Energy
+#: objects/FS/function.c:1103
+msgid "Rotational Energy"
+msgstr "Energía de rotación"
+
+#. Translators: Menu item Noun/Energy/Mechanical/Translational Energy
+#: objects/FS/function.c:1105
+msgid "Translational Energy"
+msgstr "Energía transitiva"
+
+#. Translators: Menu item Noun/Energy/Electricity
+#: objects/FS/function.c:1107
+msgid "Electrical"
+msgstr "Eléctrica"
+
+#. Translators: Menu item Noun/Energy/Electricity/Electricity
+#: objects/FS/function.c:1109
+msgid "Electricity"
+msgstr "Electricidad"
+
+#. Translators: Menu item Noun/Energy/Electricity/Voltage
+#: objects/FS/function.c:1111
+msgid "Voltage"
+msgstr "Voltaje"
+
+# Pero se trata de energía eléctrica ! FVD
+#. Translators: Menu item Noun/Energy/Electricity/Current
+#: objects/FS/function.c:1113
+msgid "Current"
+msgstr "Corriente"
+
+#. Translators: Menu item Noun/Energy/Hydraulic
+#: objects/FS/function.c:1115
+msgid "Hydraulic"
+msgstr "Hidraúlica"
+
+#. Translators: Menu item Noun/Energy/Hydraulic/Pressure
+#: objects/FS/function.c:1117
+msgid "Pressure"
+msgstr "Presión"
+
+#. Translators: Menu item Noun/Energy/Hydraulic/Volumetric Flow
+#: objects/FS/function.c:1119
+msgid "Volumetric Flow"
+msgstr "Flujo volumétrico"
+
+#. Translators: Menu item Noun/Energy/Thermal
+#: objects/FS/function.c:1121
+msgid "Thermal"
+msgstr "Termal"
+
+#. Translators: Menu item Noun/Energy/Thermal/Heat
+#: objects/FS/function.c:1123
+msgid "Heat"
+msgstr "Calor"
+
+#. Translators: Menu item Noun/Energy/Thermal/Conduction
+#: objects/FS/function.c:1125
+msgid "Conduction"
+msgstr "Conducción"
+
+#. Translators: Menu item Noun/Energy/Thermal/Convection
+#: objects/FS/function.c:1127
+msgid "Convection"
+msgstr "Convención"
+
+#. Translators: Menu item Noun/Energy/Thermal/Radiation
+#: objects/FS/function.c:1129 objects/FS/function.c:1137
+msgid "Radiation"
+msgstr "Radiación"
+
+#. Translators: Menu item Noun/Energy/Pneumatic
+#: objects/FS/function.c:1131
+msgid "Pneumatic"
+msgstr "Neumático"
+
+#. Translators: Menu item Noun/Energy/Chemical
+#: objects/FS/function.c:1133
+msgid "Chemical"
+msgstr "Químico"
+
+#. Translators: Menu item Noun/Energy/Radioactive
+#: objects/FS/function.c:1135
+msgid "Radioactive"
+msgstr "Radiactivo"
+
+#. Translators: Menu item Noun/Energy/Radioactive/Microwaves
+#: objects/FS/function.c:1139
+msgid "Microwaves"
+msgstr "Microondas"
+
+#. Translators: Menu item Noun/Energy/Radioactive/Radio waves
+#: objects/FS/function.c:1141
+msgid "Radio waves"
+msgstr "Ondas de radio"
+
+#. Translators: Menu item Noun/Energy/Radioactive/X-Rays
+#: objects/FS/function.c:1143
+msgid "X-Rays"
+msgstr "Rayos X"
+
+#. Translators: Menu item Noun/Energy/Radioactive/Gamma Rays
+#: objects/FS/function.c:1145
+msgid "Gamma Rays"
+msgstr "Rayos Gamma"
+
+#. Translators: Menu item Noun/Energy/Acoustic Energy
+#: objects/FS/function.c:1147
+msgid "Acoustic Energy"
+msgstr "Energía acústica"
+
+#. Translators: Menu item Noun/Energy/Optical Energy
+#: objects/FS/function.c:1149
+msgid "Optical Energy"
+msgstr "Energía óptica"
+
+#. Translators: Menu item Noun/Energy/Solar Energy
+#: objects/FS/function.c:1151
+msgid "Solar Energy"
+msgstr "Energía solar"
+
+#. Translators: Menu item Noun/Energy/Magnetic Energy
+#: objects/FS/function.c:1153
+msgid "Magnetic Energy"
+msgstr "Energía magnética"
+
+#. Translators: Menu item Noun/Energy/Human/Human Motion
+#: objects/FS/function.c:1157
+msgid "Human Motion"
+msgstr "Movimiento humano"
+
+#. Translators: Menu item Noun/Energy/Human/Human Force
+#: objects/FS/function.c:1159
+msgid "Human Force"
+msgstr "Fuerza humana"
+
+#. Translators: Menu item Noun/Signal/Status
+#: objects/FS/function.c:1165
+msgid "Status"
+msgstr "Estado"
+
+#: objects/FS/function.c:1169
+msgid "User/Device Fn"
+msgstr "Fn usuario/dispositivo"
+
+#: objects/FS/function.c:1170
+msgid "Wish Fn"
+msgstr "Deseo Fn"
+
+#: objects/GRAFCET/action.c:135 sheets/SDL.sheet.in.h:9
+msgid "Macro call"
+msgstr "Llamada a macro"
+
+#: objects/GRAFCET/action.c:135
+msgid "This action is a call to a macro-step"
+msgstr "Esta acción es una llamada a un paso de la macro"
+
+#: objects/GRAFCET/condition.c:130
+msgid "Condition"
+msgstr "Condición"
+
+#: objects/GRAFCET/condition.c:130
+msgid "The boolean equation of the condition"
+msgstr "La ecuación booleana de la condición"
+
+# font=tipografía? FVD
+#: objects/GRAFCET/condition.c:132
+msgid "The condition's font"
+msgstr "La fuente de la condición"
+
+#: objects/GRAFCET/condition.c:134
+msgid "The condition's font size"
+msgstr "El tamaño de la fuente de la condición"
+
+#: objects/GRAFCET/condition.c:137 objects/GRAFCET/transition.c:147
+msgid "Color"
+msgstr "Color"
+
+#: objects/GRAFCET/condition.c:137
+msgid "The condition's color"
+msgstr "El color de la condición"
+
+#: objects/GRAFCET/grafcet.c:45
+msgid "GRAFCET diagram objects"
+msgstr "Objetos de diagrama GRAFCET"
+
+#: objects/GRAFCET/step.c:146 sheets/GRAFCET.sheet.in.h:13
+msgid "Regular step"
+msgstr "Paso normal"
+
+#: objects/GRAFCET/step.c:147 sheets/GRAFCET.sheet.in.h:6
+msgid "Initial step"
+msgstr "Paso inicial"
+
+#: objects/GRAFCET/step.c:148 sheets/GRAFCET.sheet.in.h:8
+msgid "Macro entry step"
+msgstr "Paso de entrada a macro"
+
+#: objects/GRAFCET/step.c:149 sheets/GRAFCET.sheet.in.h:9
+msgid "Macro exit step"
+msgstr "Paso de salida a macro"
+
+#: objects/GRAFCET/step.c:150 sheets/GRAFCET.sheet.in.h:7
+msgid "Macro call step"
+msgstr "Paso de llamada a macro"
+
+#: objects/GRAFCET/step.c:151
+msgid "Subprogram call step"
+msgstr "Paso de llamada a subprograma"
+
+#: objects/GRAFCET/step.c:158
+msgid "Step name"
+msgstr "Nombre de paso"
+
+#: objects/GRAFCET/step.c:158
+msgid "The name of the step"
+msgstr "El nombre del paso"
+
+#: objects/GRAFCET/step.c:161
+msgid "Step type"
+msgstr "Tipo de paso"
+
+#: objects/GRAFCET/step.c:161
+msgid "The kind of step"
+msgstr "El tipo de paso"
+
+# Activar sería Activate. FVD
+#: objects/GRAFCET/step.c:163
+msgid "Active"
+msgstr "Activo"
+
+#: objects/GRAFCET/step.c:163
+msgid "Shows a red dot to figure the step's activity"
+msgstr "Muestra un punto rojo que indica la actividad del paso"
+
+#: objects/GRAFCET/transition.c:140
+msgid "Receptivity"
+msgstr "Receptividad"
+
+#: objects/GRAFCET/transition.c:140
+msgid "The boolean equation of the receptivity"
+msgstr "La ecuación booleana de la receptividad"
+
+# font=tipografía? FVD
+#: objects/GRAFCET/transition.c:142
+msgid "The receptivity's font"
+msgstr "La fuente de la receptividad"
+
+#: objects/GRAFCET/transition.c:144
+msgid "The receptivity's font size"
+msgstr "El tamaño de fuente de la receptividad"
+
+#: objects/GRAFCET/transition.c:147
+msgid "The receptivity's color"
+msgstr "El color de la receptividad"
+
+#: objects/GRAFCET/transition.c:148
+msgid "North point"
+msgstr "Punto norte"
+
+#: objects/GRAFCET/transition.c:149
+msgid "South point"
+msgstr "Punto sur"
+
+#: objects/GRAFCET/vector.c:128
+msgid "Draw arrow heads on upward arcs:"
+msgstr "Pintar cabezas de flechas sobre arcos ascendentes:"
+
+#: objects/GRAFCET/vergent.c:122
+msgid "OR"
+msgstr "O"
+
+#: objects/GRAFCET/vergent.c:123
+msgid "AND"
+msgstr "Y"
+
+#: objects/GRAFCET/vergent.c:134
+msgid "Vergent type:"
+msgstr "Tipo de divergencia:"
+
+#: objects/GRAFCET/vergent.c:405 objects/SADT/box.c:445
+#: objects/standard/line.c:241
+msgid "Add connection point"
+msgstr "Añadir punto de conexión"
+
+#: objects/GRAFCET/vergent.c:406
+msgid "Delete  connection point"
+msgstr "Borrar  punto de conexión"
+
+#: objects/GRAFCET/vergent.c:410
+msgid "GRAFCET OR/AND vergent"
+msgstr "Divergencia Y/O de GRAFCET"
+
+# de un reloj arrow=manecilla. FVD
+#: objects/Misc/analog_clock.c:136
+msgid "Arrow colour"
+msgstr "Color de la manecilla"
+
+#: objects/Misc/analog_clock.c:138
+msgid "Arrow line width"
+msgstr "Ancho de la manecilla"
+
+#: objects/Misc/analog_clock.c:140
+msgid "Seconds arrow colour"
+msgstr "Color de la manecilla de segundos"
+
+#: objects/Misc/analog_clock.c:142
+msgid "Seconds arrow line width"
+msgstr "Ancho de la manecilla de los segundos"
+
+#: objects/Misc/analog_clock.c:144
+msgid "Show hours"
+msgstr "Mostrar horas"
+
+#: objects/Misc/libmisc.c:38
+msgid "Miscellaneous objects"
+msgstr "Figuras variadas"
+
+#. property rows
+#: objects/SADT/arrow.c:134 objects/UML/class_dialog.c:334
+msgid "Normal"
+msgstr "Normal"
+
+#: objects/SADT/arrow.c:135
+msgid "Import resource (not shown upstairs)"
+msgstr "Importar recurso (no mostrado arriba)"
+
+#: objects/SADT/arrow.c:136
+msgid "Imply resource (not shown downstairs)"
+msgstr "Implicar recurso (no mostrado debajo)"
+
+#: objects/SADT/arrow.c:137
+msgid "Dotted arrow"
+msgstr "Flecha punteada"
+
+#: objects/SADT/arrow.c:138
+msgid "disable arrow heads"
+msgstr "desactivar cabezas de flechas"
+
+#: objects/SADT/arrow.c:144
+msgid "Flow style:"
+msgstr "Estilo de flujo:"
+
+#: objects/SADT/arrow.c:146
+msgid "Automatically gray vertical flows:"
+msgstr "Flujos verticales grises automáticamente:"
+
+#: objects/SADT/arrow.c:147
+msgid ""
+"To improve the ease of reading, flows which begin and end vertically can be "
+"rendered gray"
+msgstr ""
+"Para mejorar la calidad de la lectura, los flujos que empiezan y acaban "
+"verticalmente se pueden mostrar en gris."
+
+#: objects/SADT/arrow.c:572
+msgid "SADT Arrow"
+msgstr "Flecha SADT"
+
+#: objects/SADT/box.c:137 objects/flowchart/box.c:150
+#: objects/flowchart/diamond.c:148 objects/flowchart/ellipse.c:147
+#: objects/flowchart/parallelogram.c:152
+msgid "Text padding"
+msgstr "Relleno de texto"
+
+#: objects/SADT/box.c:144
+msgid "Activity/Data identifier"
+msgstr "Identificador de actividad/dato"
+
+#: objects/SADT/box.c:145
+msgid "The identifier which appears in the lower right corner of the Box"
+msgstr "El identificador que se muestra en la esquina inferior derecha de la caja"
+
+#: objects/SADT/box.c:446 objects/standard/line.c:242
+msgid "Delete connection point"
+msgstr "Borrar punto de conexión"
+
+#: objects/SADT/box.c:451
+msgid "SADT box"
+msgstr "Caja SADT"
+
+#: objects/SADT/sadt.c:41
+msgid "SADT diagram objects"
+msgstr "Objetos de diagrama SADT"
+
+#. choose default font name for your locale. see also font_data structure
+#. in lib/font.c.
+#: objects/UML/activity.c:317
+msgid "Helvetica"
+msgstr "Helvética"
+
+#: objects/UML/actor.c:349 objects/UML/actor.c:351 sheets/UML.sheet.in.h:2
+msgid "Actor"
+msgstr "Actor"
+
+#: objects/UML/association.c:1125 objects/UML/class_dialog.c:2071
+msgid "Direction:"
+msgstr "Dirección:"
+
+#: objects/UML/association.c:1142
+msgid "From A to B"
+msgstr "De A a B"
+
+#: objects/UML/association.c:1149
+msgid "From B to A"
+msgstr "De B a A"
+
+#: objects/UML/association.c:1173 objects/UML/association.c:1181
+msgid "Side A"
+msgstr "Lado A"
+
+#: objects/UML/association.c:1175 objects/UML/association.c:1183
+msgid "Side B"
+msgstr "Lado B"
+
+#: objects/UML/association.c:1189
+msgid "Role:"
+msgstr "Papel:"
+
+#: objects/UML/association.c:1201
+msgid "Multiplicity:"
+msgstr "Multiplicidad:"
+
+#. Show arrow:
+#: objects/UML/association.c:1212
+msgid "Show arrow"
+msgstr "Mostrar flecha"
+
+#. Aggregate
+#: objects/UML/association.c:1218
+msgid "Aggregate"
+msgstr "Agregar"
+
+#. Composition
+#: objects/UML/association.c:1226
+msgid "Composition"
+msgstr "Composición"
+
+#: objects/UML/class.c:108 objects/UML/classicon.c:131
+#: objects/UML/component.c:117 objects/UML/large_package.c:119
+#: objects/UML/object.c:144 objects/UML/small_package.c:117
+msgid "Stereotype"
+msgstr "Estereotipo"
+
+#: objects/UML/class.c:110 objects/UML/class_dialog.c:359
+#: sheets/SDL.sheet.in.h:3
+msgid "Comment"
+msgstr "Comentario"
+
+#: objects/UML/class.c:112 objects/UML/class_dialog.c:291
+#: objects/UML/class_dialog.c:344 objects/UML/class_dialog.c:1894
+msgid "Abstract"
+msgstr "Resumen"
+
+#: objects/UML/class.c:114 objects/UML/class_dialog.c:300
+msgid "Suppress Attributes"
+msgstr "Suprimir atributos"
+
+#: objects/UML/class.c:116
+msgid "Suppress Operations"
+msgstr "Suprimir operaciones"
+
+#: objects/UML/class.c:118
+msgid "Visible Attributes"
+msgstr "Atributos visibles"
+
+#: objects/UML/class.c:120
+msgid "Visible Operations"
+msgstr "Operaciones visibles"
+
+#: objects/UML/class.c:122
+msgid "Visible Comments"
+msgstr "Comentarios visibles"
+
+#. Attributes page:
+#: objects/UML/class.c:125 objects/UML/class_dialog.c:801
+#: objects/UML/object.c:148
+msgid "Attributes"
+msgstr "Atributos"
+
+#. Operations page:
+#: objects/UML/class.c:127 objects/UML/class_dialog.c:1725
+msgid "Operations"
+msgstr "Operaciones"
+
+#: objects/UML/class.c:130
+msgid "Template"
+msgstr "Plantilla"
+
+#. Class page:
+#: objects/UML/class.c:178 objects/UML/class.c:936
+#: objects/UML/class_dialog.c:255 sheets/UML.sheet.in.h:6
+msgid "Class"
+msgstr "Clase"
+
+#: objects/UML/class.c:184
+msgid "Show comments"
+msgstr "Mostrar comentarios"
+
+#: objects/UML/class_dialog.c:261
+msgid "Class name:"
+msgstr "Nombre de la clase:"
+
+#: objects/UML/class_dialog.c:273 objects/UML/class_dialog.c:1817
+#: objects/UML/dependency.c:130 objects/UML/generalization.c:126
+#: objects/UML/realizes.c:127
+msgid "Stereotype:"
+msgstr "Estereotipo:"
+
+#: objects/UML/class_dialog.c:282 objects/UML/class_dialog.c:902
+#: objects/UML/class_dialog.c:1935 objects/UML/class_dialog.c:2059
+msgid "Comment:"
+msgstr "Comentario:"
+
+#: objects/UML/class_dialog.c:297
+msgid "Attributes visible"
+msgstr "Atributos visibles"
+
+#: objects/UML/class_dialog.c:306
+msgid "Operations visible"
+msgstr "Operaciones visibles"
+
+#: objects/UML/class_dialog.c:309
+msgid "Suppress operations"
+msgstr "Suprimir operaciones"
+
+#: objects/UML/class_dialog.c:315
+msgid "Comments visible"
+msgstr "Comentarios visibles"
+
+#. head line
+#: objects/UML/class_dialog.c:325
+msgid "Kind"
+msgstr "Tipo"
+
+#: objects/UML/class_dialog.c:330
+msgid "Size"
+msgstr "Tamaño"
+
+#: objects/UML/class_dialog.c:339
+msgid "Polymorphic"
+msgstr "Polimórfico"
+
+#: objects/UML/class_dialog.c:349
+msgid "Class Name"
+msgstr "Nombre de la clase"
+
+#: objects/UML/class_dialog.c:354
+msgid "Abstract Class"
+msgstr "Clase abstracta"
+
+#. should probably be refactored too.
+#: objects/UML/class_dialog.c:371
+msgid "Foreground Color"
+msgstr "Color de primer plano"
+
+#: objects/UML/class_dialog.c:379
+msgid "Background Color"
+msgstr "Color de fondo"
+
+#: objects/UML/class_dialog.c:835 objects/UML/class_dialog.c:1759
+#: objects/UML/class_dialog.c:1988 objects/UML/class_dialog.c:2506
+msgid "Delete"
+msgstr "Borrar"
+
+#: objects/UML/class_dialog.c:841 objects/UML/class_dialog.c:1765
+#: objects/UML/class_dialog.c:1995 objects/UML/class_dialog.c:2512
+msgid "Move up"
+msgstr "Mover arriba"
+
+#: objects/UML/class_dialog.c:847 objects/UML/class_dialog.c:1771
+#: objects/UML/class_dialog.c:2002 objects/UML/class_dialog.c:2518
+msgid "Move down"
+msgstr "Mover abajo"
+
+#: objects/UML/class_dialog.c:858
+msgid "Attribute data"
+msgstr "Datos de atributo"
+
+#: objects/UML/class_dialog.c:890
+msgid "Value:"
+msgstr "Valor:"
+
+#: objects/UML/class_dialog.c:915 objects/UML/class_dialog.c:1830
+msgid "Visibility:"
+msgstr "Visibilidad:"
+
+#: objects/UML/class_dialog.c:924 objects/UML/class_dialog.c:1839
+msgid "Public"
+msgstr "Público"
+
+#: objects/UML/class_dialog.c:932 objects/UML/class_dialog.c:1847
+msgid "Private"
+msgstr "Privado"
+
+#: objects/UML/class_dialog.c:940 objects/UML/class_dialog.c:1855
+msgid "Protected"
+msgstr "Protegido"
+
+#: objects/UML/class_dialog.c:948 objects/UML/class_dialog.c:1863
+msgid "Implementation"
+msgstr "Implementación"
+
+#: objects/UML/class_dialog.c:964 objects/UML/class_dialog.c:1879
+msgid "Class scope"
+msgstr "Vista de clase"
+
+#: objects/UML/class_dialog.c:1783
+msgid "Operation data"
+msgstr "Datos de operación"
+
+#: objects/UML/class_dialog.c:1885
+msgid "Inheritance type:"
+msgstr "Tipo de herencia:"
+
+#: objects/UML/class_dialog.c:1902
+msgid "Polymorphic (virtual)"
+msgstr "Polimórfico (virtual)"
+
+#: objects/UML/class_dialog.c:1910
+msgid "Leaf (final)"
+msgstr "Hoja (final)"
+
+#: objects/UML/class_dialog.c:1928
+msgid "Query"
+msgstr "Consulta"
+
+#: objects/UML/class_dialog.c:1952
+msgid "Parameters:"
+msgstr "Parámetros:"
+
+#: objects/UML/class_dialog.c:2014
+msgid "Parameter data"
+msgstr "Datos de parámetros"
+
+#: objects/UML/class_dialog.c:2047
+msgid "Def. value:"
+msgstr "Valor por defecto:"
+
+#: objects/UML/class_dialog.c:2080
+msgid "Undefined"
+msgstr "No definido"
+
+#: objects/UML/class_dialog.c:2088
+msgid "In"
+msgstr "Entrada"
+
+#: objects/UML/class_dialog.c:2097
+msgid "Out"
+msgstr "Salida"
+
+#: objects/UML/class_dialog.c:2106
+msgid "In & Out"
+msgstr "Entrada y salida"
+
+#. Templates page:
+#: objects/UML/class_dialog.c:2466
+msgid "Templates"
+msgstr "Plantillas"
+
+#: objects/UML/class_dialog.c:2472 sheets/UML.sheet.in.h:29
+msgid "Template class"
+msgstr "Clase de plantilla"
+
+#: objects/UML/class_dialog.c:2529
+msgid "Formal parameter data"
+msgstr "Datos de parámetros formales"
+
+#: objects/UML/classicon.c:123
+msgid "Boundary"
+msgstr "Límite"
+
+#: objects/UML/classicon.c:133
+msgid "Is object"
+msgstr "Es objeto"
+
+#: objects/UML/component_feature.c:133 sheets/UML.sheet.in.h:14
+msgid "Facet"
+msgstr "Facet"
+
+#: objects/UML/component_feature.c:134 sheets/UML.sheet.in.h:26
+msgid "Receptacle"
+msgstr "Receptáculo"
+
+#: objects/UML/component_feature.c:135 sheets/UML.sheet.in.h:13
+msgid "Event Source"
+msgstr "Fuente de eventos"
+
+#: objects/UML/component_feature.c:136 sheets/UML.sheet.in.h:12
+msgid "Event Sink"
+msgstr "Sumidero de eventos"
+
+#: objects/UML/constraint.c:121
+msgid "Constraint:"
+msgstr "Restricciones:"
+
+#: objects/UML/dependency.c:132
+msgid "Show arrow:"
+msgstr "Mostrar flecha:"
+
+#: objects/UML/implements.c:122
+msgid "Interface:"
+msgstr "Interfaz:"
+
+#: objects/UML/lifeline.c:138
+msgid "Draw focus of control:"
+msgstr "Dibujar foco de control:"
+
+#: objects/UML/lifeline.c:140
+msgid "Draw destruction mark:"
+msgstr "Dibujar marca de destrucción:"
+
+#: objects/UML/lifeline.c:409
+msgid "Add connection points"
+msgstr "Añadir puntos de conexión"
+
+#: objects/UML/lifeline.c:410
+msgid "Remove connection points"
+msgstr "Borrar puntos de conexión"
+
+#: objects/UML/lifeline.c:414
+msgid "UML Lifeline"
+msgstr "Línea de vida de UML"
+
+#: objects/UML/message.c:131
+msgid "Call"
+msgstr "Llamada"
+
+#: objects/UML/message.c:132
+msgid "Create"
+msgstr "Crear"
+
+#: objects/UML/message.c:133
+msgid "Destroy"
+msgstr "Destruir"
+
+#: objects/UML/message.c:134
+msgid "Simple"
+msgstr "Simple"
+
+# Esto hay que comprobarlo con el programa. FVD
+#: objects/UML/message.c:135
+msgid "Return"
+msgstr "Volver"
+
+#: objects/UML/message.c:136
+msgid "Send"
+msgstr "Enviar"
+
+#: objects/UML/message.c:137
+msgid "Recursive"
+msgstr "Recursiva"
+
+#: objects/UML/message.c:144
+msgid "Message:"
+msgstr "Mensaje:"
+
+#: objects/UML/message.c:146
+msgid "Message type:"
+msgstr "Tipo de mensaje:"
+
+#: objects/UML/object.c:146
+msgid "Explicit state"
+msgstr "Estado explícito"
+
+#: objects/UML/object.c:151
+msgid "Active object"
+msgstr "Activar objeto"
+
+#: objects/UML/object.c:153
+msgid "Show attributes"
+msgstr "Mostrar atributos"
+
+#: objects/UML/object.c:155
+msgid "Multiple instance"
+msgstr "Instancias múltiples"
+
+#. Would like to create a state_term instead, but making the connections
+#. * is a pain
+#: objects/UML/state.c:400
+msgid ""
+"This diagram uses the State object for initial/final states.\n"
+"That option will go away in future versions.\n"
+"Please use the Initial/Final State object instead\n"
+msgstr ""
+"Este diagrama usa un objeto de estado para los estados inicial/final.\n"
+"Esta opción no estará en futuras versiones.\n"
+"Por favor, use el objeto de estado inicial/final en su lugar\n"
+
+#: objects/UML/state_term.c:122
+msgid "Is final"
+msgstr "Es final"
+
+#: objects/UML/uml.c:64
+msgid "Unified Modelling Language diagram objects"
+msgstr "Objetos de diagrama Unified Modelling Language"
+
+#: objects/UML/usecase.c:125
+msgid "Text outside"
+msgstr "Texto de fuera"
+
+#: objects/UML/usecase.c:127
+msgid "Collaboration"
+msgstr "Colaboración"
+
+#: objects/bondgraph/bondgraph.c:39
+msgid "Bond graph objects"
+msgstr "Vincular objetos gráficos"
+
+#: objects/chronogram/chronogram.c:40
+msgid "Chronogram diagram objects"
+msgstr "Objetos de diagrama cronograma"
+
+#: objects/chronogram/chronoline.c:148
+msgid "Data"
+msgstr "Datos"
+
+#: objects/chronogram/chronoline.c:150
+msgid "Data name"
+msgstr "Nombre de los datos"
+
+#: objects/chronogram/chronoline.c:152
+msgid "Events"
+msgstr "Eventos"
+
+#: objects/chronogram/chronoline.c:155
+msgid "Event specification"
+msgstr "Especificación de eventos"
+
+#: objects/chronogram/chronoline.c:156
+msgid ""
+"@ time    set the pointer at an absolute time.\n"
+"( duration  sets the signal up, then wait 'duration'.\n"
+") duration  sets the signal down, then wait 'duration'.\n"
+"u duration  sets the signal to \"unknown\" state, then wait 'duration'.\n"
+"example : @ 1.0 (2.0)1.0(2.0)\n"
+msgstr ""
+"@ tiempo  pone el puntero en un tiempo absoluto.\n"
+"( duración  pone la señal arriba, luego espera 'duración'.\n"
+") duración  pone la señal abajo, luego espera 'duración'.\n"
+"u duración  pone la señal a estado \"desconocido\", luego espera "
+"'duración'.\n"
+"ejemplo : @ 1,0 (2,0) 1,0 (2,0)\n"
+
+#: objects/chronogram/chronoline.c:162
+msgid "Parameters"
+msgstr "Parámetros"
+
+#: objects/chronogram/chronoline.c:164 objects/chronogram/chronoref.c:146
+msgid "Start time"
+msgstr "Tiempo de comienzo"
+
+#: objects/chronogram/chronoline.c:166 objects/chronogram/chronoref.c:148
+msgid "End time"
+msgstr "Tiempo de fin"
+
+#: objects/chronogram/chronoline.c:168
+msgid "Rise time"
+msgstr "Tiempo de subida"
+
+#: objects/chronogram/chronoline.c:170
+msgid "Fall time"
+msgstr "Tiempo de bajada"
+
+#: objects/chronogram/chronoline.c:171
+msgid "Multi-bit data"
+msgstr "Datos multi-bit"
+
+#: objects/chronogram/chronoline.c:173 objects/chronogram/chronoref.c:156
+msgid "Aspect"
+msgstr "Aspecto"
+
+#: objects/chronogram/chronoline.c:175
+msgid "Data color"
+msgstr "Color de los datos"
+
+#: objects/chronogram/chronoline.c:177
+msgid "Data line width"
+msgstr "Ancho de la línea de datos"
+
+#: objects/chronogram/chronoline.c:179 objects/chronogram/chronoref.c:158
+msgid "Line color"
+msgstr "Color de línea"
+
+#: objects/chronogram/chronoref.c:144
+msgid "Time data"
+msgstr "Datos de tiempo"
+
+#: objects/chronogram/chronoref.c:150
+msgid "Major time step"
+msgstr "Paso de tiempo mayor"
+
+#: objects/chronogram/chronoref.c:152
+msgid "Minor time step"
+msgstr "Paso de tiempo menor"
+
+#: objects/chronogram/chronoref.c:162
+msgid "Minor step line width"
+msgstr "Ancho de línea de paso menor"
+
+#: objects/custom/custom.c:117
+msgid "Custom"
+msgstr "Personalizar"
+
+#: objects/custom/custom.c:117
+msgid "Custom XML shapes loader"
+msgstr "Cargador de formas personalizadas XML"
+
+#: objects/custom/custom_object.c:179 objects/custom/custom_object.c:198
+msgid "Flip horizontal"
+msgstr "Invertir horizontal"
+
+#: objects/custom/custom_object.c:181 objects/custom/custom_object.c:200
+msgid "Flip vertical"
+msgstr "Invertir vertical"
+
+# Quiza' si estas dos se diferencian so'lo en las mayu'sculas, deberi'amos respetarlas. FVD
+#: objects/custom/custom_object.c:1418
+msgid "Flip Horizontal"
+msgstr "Invertir horizontal"
+
+#: objects/custom/custom_object.c:1419
+msgid "Flip Vertical"
+msgstr "Invertir vertical"
+
+#: objects/custom/custom_object.c:1456
+#, c-format
+msgid "Cannot open icon file %s for object type '%s'."
+msgstr "No se puede abrir el archivo de icono %s para el tipo de objeto «%s»."
+
+#: objects/flowchart/box.c:148 objects/standard/box.c:132
+msgid "Corner radius"
+msgstr "Radio de esquina"
+
+#: objects/flowchart/flowchart.c:37
+msgid "Flowchart objects"
+msgstr "Objetos de diagrama de flujo"
+
+#: objects/flowchart/parallelogram.c:150
+msgid "Shear angle"
+msgstr "Recortar ángulo"
+
+# Quizá Asa .FVD
+#: objects/network/bus.c:599
+msgid "Add Handle"
+msgstr "Añadir manejador"
+
+#: objects/network/bus.c:600
+msgid "Delete Handle"
+msgstr "Borrar manejador"
+
+#: objects/network/network.c:41
+msgid "Network diagram objects"
+msgstr "Objetos de diagrama de red"
+
+#: objects/standard/arc.c:131
+msgid "Curve distance"
+msgstr "Distancia de curva"
+
+#: objects/standard/bezier.c:542 objects/standard/beziergon.c:500
+msgid "Add Segment"
+msgstr "Añadir segmento"
+
+#: objects/standard/bezier.c:543 objects/standard/beziergon.c:501
+msgid "Delete Segment"
+msgstr "Borrar segmento"
+
+#: objects/standard/bezier.c:545 objects/standard/beziergon.c:503
+msgid "Symmetric control"
+msgstr "Control simétrico"
+
+#: objects/standard/bezier.c:547 objects/standard/beziergon.c:505
+msgid "Smooth control"
+msgstr "Control de suavidad"
+
+#: objects/standard/bezier.c:549 objects/standard/beziergon.c:507
+msgid "Cusp control"
+msgstr "Control de cúspide"
+
+#: objects/standard/image.c:130
+msgid "Image file"
+msgstr "Archivo de imagen"
+
+#: objects/standard/image.c:132
+msgid "Draw border"
+msgstr "Dibujar borde"
+
+#: objects/standard/image.c:134
+msgid "Keep aspect ratio"
+msgstr "Mantener proporción de aspecto"
+
+#. Found file in same dir as diagram.
+#: objects/standard/image.c:669 objects/standard/image.c:680
+#, c-format
+msgid ""
+"The image file '%s' was not found in that directory.\n"
+"Using the file '%s' instead\n"
+msgstr ""
+"El archivo de imagen «%s» no se encontró en ese directorio.\n"
+"Se utiliza el archivo «%s» en su lugar\n"
+
+#. Didn't find file in current dir.
+#: objects/standard/image.c:686 objects/standard/image.c:712
+#, c-format
+msgid "The image file '%s' was not found.\n"
+msgstr "No se encontró el archivo de imagen «%s».\n"
+
+#: objects/standard/line.c:136
+msgid "Arrows"
+msgstr "Flechas"
+
+#: objects/standard/line.c:141
+msgid "Start point"
+msgstr "Punto de partida"
+
+#: objects/standard/line.c:143
+msgid "End point"
+msgstr "Punto de llegada"
+
+#: objects/standard/polygon.c:460 objects/standard/polyline.c:496
+msgid "Add Corner"
+msgstr "Añadir esquina"
+
+#: objects/standard/polygon.c:461 objects/standard/polyline.c:497
+msgid "Delete Corner"
+msgstr "Borrar esquina"
+
+# Como adjetivo Standard-->Estándar incluso en plurar. FVD
+#: objects/standard/standard.c:45
+msgid "Standard objects"
+msgstr "Objetos estándar"
+
+#: plug-ins/cgm/cgm.c:1109
+msgid ""
+"Image row length larger than maximum cell array.\n"
+"Image not exported to CGM."
+msgstr ""
+"Longitud de filas de imagen mayor que máximo vector de celdas.\n"
+"No se exportó la imagen a CGM."
+
+#: plug-ins/cgm/cgm.c:1365
+msgid "Computer Graphics Metafile"
+msgstr "Computer Graphics Metafile"
+
+#: plug-ins/cgm/cgm.c:1379
+msgid "Computer Graphics Metafile export filter"
+msgstr "Filtro de exportación de Computer Graphics Metafile"
+
+#: plug-ins/dxf/dxf-export.c:547 plug-ins/dxf/dxf-import.c:1379
+msgid "Drawing Interchange File"
+msgstr "Drawing Interchange File"
+
+#: plug-ins/dxf/dxf-import.c:481 plug-ins/dxf/dxf-import.c:498
+msgid "Bad vertex bulge\n"
+msgstr "Vértice de bombeo incorrecto\n"
+
+#: plug-ins/dxf/dxf-import.c:1051
+#, c-format
+msgid "Scale: %f\n"
+msgstr "Escala: %f\n"
+
+#: plug-ins/dxf/dxf-import.c:1313
+msgid "read_dxf_codes failed\n"
+msgstr "falló read_dxf_codes\n"
+
+#: plug-ins/dxf/dxf-import.c:1345
+#, c-format
+msgid "Unknown dxf code %d\n"
+msgstr "Código dxf desconocido %d\n"
+
+#: plug-ins/dxf/dxf.c:37
+msgid "Drawing Interchange File import and export filters"
+msgstr "Filtros de importación y exportación de Drawing Interchange File"
+
+#: plug-ins/hpgl/hpgl.c:772
+msgid "HP Graphics Language"
+msgstr "Lenguaje de gráficos de HP"
+
+#: plug-ins/hpgl/hpgl.c:786
+msgid "HP Graphics Language export filter"
+msgstr "Filtro de exportación de HP Graphics Language"
+
+#: plug-ins/metapost/metapost.c:34
+msgid "TeX Metapost export filter"
+msgstr "Filtro de exportación Metapost de TeX"
+
+#: plug-ins/metapost/render_metapost.c:867
+msgid "TeX Metapost macros"
+msgstr "Macros Metapost de TeX"
+
+#: plug-ins/pixbuf/pixbuf.c:95
+#, c-format
+msgid ""
+"Could not save file:\n"
+"%s\n"
+"%s"
+msgstr ""
+"No se pudo guardar el archivo:\n"
+"%s\n"
+"%s"
+
+#: plug-ins/pixbuf/pixbuf.c:163 plug-ins/pixbuf/pixbuf.c:172
+msgid "GdkPixbuf bitmap"
+msgstr "Mapa de bits GDK Pixbuf"
+
+#: plug-ins/pixbuf/pixbuf.c:185
+msgid "gdk-pixbuf based bitmap export/import"
+msgstr "exportación/importación de mapa de bits basada en gdk-pixbuf"
+
+#: plug-ins/pstricks/pstricks.c:14
+msgid "TeX Pstricks export filter"
+msgstr "Filtro de exportación Pstricks de TeX"
+
+#: plug-ins/pstricks/render_pstricks.c:828
+msgid "TeX PSTricks macros"
+msgstr "Macros PSTricks de TeX"
+
+#: plug-ins/python/pydia-render.c:711 plug-ins/wmf/wmf.cpp:1030
+#, c-format
+msgid "Couldn't open: '%s' for writing.\n"
+msgstr "No se pudo abrir: «%s» para escritura.\n"
+
+# Quizá mejor "Guiones". FVD
+#: plug-ins/python/python.c:92
+msgid "Python scripting support"
+msgstr "Soporte de scripts de python"
+
+#: plug-ins/shape/shape-export.c:471
+msgid "Can't export png without libart!"
+msgstr "¡No se puede exportar png sin libart!"
+
+#: plug-ins/shape/shape-export.c:498
+msgid "dia shape file"
+msgstr "archivo de figura de dia"
+
+#: plug-ins/shape/shape.c:36
+msgid "dia shape export filter"
+msgstr "Filtro de exportación de archivo de figura de dia"
+
+#: plug-ins/svg/render_svg.c:301 plug-ins/svg/svg-import.c:642
+msgid "Scalable Vector Graphics"
+msgstr "Scalable Vector Graphics"
+
+#: plug-ins/svg/svg-import.c:204 plug-ins/svg/svg-import.c:218
+#: plug-ins/xfig/xfig-import.c:97 plug-ins/xfig/xfig-import.c:148
+#: plug-ins/xfig/xfig-import.c:177 plug-ins/xfig/xfig-import.c:213
+#: plug-ins/xfig/xfig-import.c:250 plug-ins/xfig/xfig-import.c:278
+#: plug-ins/xfig/xfig-import.c:315 plug-ins/xfig/xfig-import.c:351
+#: plug-ins/xfig/xfig-import.c:392
+msgid "Can't find standard object"
+msgstr "No se pudo encontrar el objeto estándar"
+
+#: plug-ins/svg/svg-import.c:230
+msgid "Unexpected SVG path element"
+msgstr "Elemento de la ruta SVG inesperado"
+
+#: plug-ins/svg/svg-import.c:288
+msgid "Courier"
+msgstr "Courier"
+
+#: plug-ins/svg/svg-import.c:591
+msgid "Could not find SVG namespace."
+msgstr "No se pudo encontrar el espacio de nombres de SVG."
+
+#: plug-ins/svg/svg-import.c:597
+#, c-format
+msgid "root element was '%s' -- expecting 'svg'."
+msgstr "el elemento raíz era «%s» -- se esperaba «svg»."
+
+#: plug-ins/svg/svg.c:37
+msgid "Scalable Vector Graphics import and export filters"
+msgstr "Filtro de importación y exportación de gráficos de vector escalables (SVG)"
+
+#: plug-ins/wmf/wmf.cpp:1089
+msgid "Windows Meta File"
+msgstr "Meta-archivo de Windows (WMF)"
+
+#: plug-ins/wmf/wmf.cpp:1103
+msgid "WMF export filter"
+msgstr "Filtro de exportación de WMF"
+
+#: plug-ins/wpg/wpg.c:1181
+#, c-format
+msgid "File: %s type/version unsupported.\n"
+msgstr "Archivo: tipo/versión de %s no soportado.\n"
+
+#: plug-ins/wpg/wpg.c:1311 plug-ins/wpg/wpg.c:1318
+msgid "WPG"
+msgstr "WPG"
+
+#: plug-ins/wpg/wpg.c:1332
+msgid "WordPerfect Graphics export filter"
+msgstr "Filtro de exportación de WordPerfect Graphics"
+
+#: plug-ins/xfig/xfig-export.c:428
+msgid "Arrow type none -- shouldn't happen\n"
+msgstr "Ningún tipo de flecha -- no debería ocurrir\n"
+
+#: plug-ins/xfig/xfig-export.c:442
+#, c-format
+msgid "FIG format has no equivalent of arrow style %s, using simple arrow.\n"
+msgstr ""
+"Formato FIG no tiene un estilo de flecha equivalente a %s, usando flecha "
+"simple.\n"
+
+#: plug-ins/xfig/xfig-export.c:463
+msgid "No more user-definable colors - using black"
+msgstr "No más colores definibles por el usuario - se usará el negro"
+
+#: plug-ins/xfig/xfig-export.c:1136
+msgid "XFig format"
+msgstr "Formato XFig"
+
+#: plug-ins/xfig/xfig-import.c:461
+msgid "Patterns are not supported by Dia"
+msgstr "Dia no admite patrones"
+
+#: plug-ins/xfig/xfig-import.c:489
+msgid "Triple-dotted lines are not supported by Dia, using double-dotted"
+msgstr "Dia no soporta las líneas triplemente punteadas, se utilizará doble punteado"
+
+#: plug-ins/xfig/xfig-import.c:493
+#, c-format
+msgid "Line style %d should not appear\n"
+msgstr "El estilo de línea %d no debería aparecer\n"
+
+# Cuidado con esto: en formato C hay que respetar el formato de la cadena. FVD
+#: plug-ins/xfig/xfig-import.c:562
+#, c-format
+msgid "Error while reading %dth of %d points: %s\n"
+msgstr "Error leyendo el punto %dth de %d: %s\n"
+
+#: plug-ins/xfig/xfig-import.c:584
+msgid "Error while reading arrowhead\n"
+msgstr "Error leyendo cabeza de flecha\n"
+
+#: plug-ins/xfig/xfig-import.c:604
+#, c-format
+msgid "Unknown arrow type %d\n"
+msgstr "Tipo de flecha desconocida %d\n"
+
+#: plug-ins/xfig/xfig-import.c:701
+#, c-format
+msgid "Couldn't read ellipse info: %s\n"
+msgstr "No se pudo leer información de elipse: %s\n"
+
+#: plug-ins/xfig/xfig-import.c:769
+#, c-format
+msgid "Couldn't read polyline info: %s\n"
+msgstr "No se pudo leer información de polilínea %s\n"
+
+#: plug-ins/xfig/xfig-import.c:784
+#, c-format
+msgid "Couldn't read flipped bit: %s\n"
+msgstr "No se pudo leer bit cambiado: %s\n"
+
+# Se convertirá en positivo. FVD
+#: plug-ins/xfig/xfig-import.c:802
+msgid "Negative corner radius, negating"
+msgstr "Radio de esquina negativo, se negará"
+
+#: plug-ins/xfig/xfig-import.c:846 plug-ins/xfig/xfig-import.c:1162
+#, c-format
+msgid "Unknown polyline subtype: %d\n"
+msgstr "Subtipo de polilínea desconocido: %d\n"
+
+# spline-->spline. FVD
+#: plug-ins/xfig/xfig-import.c:996 plug-ins/xfig/xfig-import.c:1028
+#, c-format
+msgid "Couldn't read spline info: %s\n"
+msgstr "No se pudo leer la información de la línea sp: %s\n"
+
+#. Open approximated spline
+#. Closed approximated spline
+#: plug-ins/xfig/xfig-import.c:1015 plug-ins/xfig/xfig-import.c:1033
+msgid "Cannot convert approximated spline yet."
+msgstr "No se puede convertir aproximadamente todavía la línea sp."
+
+#: plug-ins/xfig/xfig-import.c:1073
+#, c-format
+msgid "Unknown spline subtype: %d\n"
+msgstr "Subtipo de línea sp desconocido: %d\n"
+
+#: plug-ins/xfig/xfig-import.c:1136
+#, c-format
+msgid "Couldn't read arc info: %s\n"
+msgstr "No se pudo leer la información del arco: %s\n"
+
+#: plug-ins/xfig/xfig-import.c:1226
+#, c-format
+msgid "Couldn't read text info: %s\n"
+msgstr "No se pudo leer la información del texto: %s\n"
+
+#: plug-ins/xfig/xfig-import.c:1267
+#, c-format
+msgid "Couldn't identify FIG object: %s\n"
+msgstr "No se pudo identificar el objeto FIG: %s\n"
+
+#: plug-ins/xfig/xfig-import.c:1274
+msgid "Compound end outside compound\n"
+msgstr "Fin de compuesto fuera de compuesto\n"
+
+#: plug-ins/xfig/xfig-import.c:1293
+#, c-format
+msgid "Couldn't read color: %s\n"
+msgstr "No se pudo leer color %s\n"
+
+#: plug-ins/xfig/xfig-import.c:1338
+#, c-format
+msgid "Couldn't read group extend: %s\n"
+msgstr "No se pudo leer grupo extendido %s\n"
+
+#: plug-ins/xfig/xfig-import.c:1349
+#, c-format
+msgid "Unknown object type %d\n"
+msgstr "Tipo de objeto desconocido %d\n"
+
+#: plug-ins/xfig/xfig-import.c:1372
+#, c-format
+msgid "`%s' is not one of `%s' or `%s'\n"
+msgstr "`%s' no es uno de `%s' o `%s'\n"
+
+#: plug-ins/xfig/xfig-import.c:1382
+#, c-format
+msgid "Error reading paper size: %s\n"
+msgstr "Error leyendo tamaño de papel: %s\n"
+
+#: plug-ins/xfig/xfig-import.c:1392
+#, c-format
+msgid "Unknown paper size `%s', using default\n"
+msgstr "Tamaño de papel `%s' desconocido, usando la opción por defecto\n"
+
+#: plug-ins/xfig/xfig-import.c:1404
+#, c-format
+msgid "Error reading paper orientation: %s\n"
+msgstr "Error leyendo orientación de papel: %s\n"
+
+#: plug-ins/xfig/xfig-import.c:1414
+#, c-format
+msgid "Error reading justification: %s\n"
+msgstr "Error leyendo justificación: %s\n"
+
+#: plug-ins/xfig/xfig-import.c:1424
+#, c-format
+msgid "Error reading units: %s\n"
+msgstr "Error leyendo unidades: %s\n"
+
+#: plug-ins/xfig/xfig-import.c:1438
+#, c-format
+msgid "Error reading magnification: %s\n"
+msgstr "Error leyendo magnificación: %s\n"
+
+#: plug-ins/xfig/xfig-import.c:1449
+#, c-format
+msgid "Error reading multipage indicator: %s\n"
+msgstr "Error leyendo indicador de múltiples páginas: %s\n"
+
+#: plug-ins/xfig/xfig-import.c:1460
+#, c-format
+msgid "Error reading transparent color: %s\n"
+msgstr "Error leyendo color transparente: %s\n"
+
+#: plug-ins/xfig/xfig-import.c:1469 plug-ins/xfig/xfig-import.c:1524
+#, c-format
+msgid "Error reading FIG file: %s\n"
+msgstr "Error leyendo archivo FIG: %s\n"
+
+#: plug-ins/xfig/xfig-import.c:1471 plug-ins/xfig/xfig-import.c:1526
+msgid "Premature end of FIG file\n"
+msgstr "Fin prematuro de archivo FIG\n"
+
+#: plug-ins/xfig/xfig-import.c:1480
+#, c-format
+msgid "Error reading resolution: %s\n"
+msgstr "Error leyendo resolución: %s\n"
+
+#: plug-ins/xfig/xfig-import.c:1511
+#, c-format
+msgid "Doesn't look like a Fig file: %s\n"
+msgstr "No parece un archivo Fig: %s\n"
+
+#: plug-ins/xfig/xfig-import.c:1517
+#, c-format
+msgid "This is a FIG version %d.%d file, I may not understand it\n"
+msgstr "Esto es un archivo FIG versión %d.%d, no puedo entenderlo\n"
+
+#: plug-ins/xfig/xfig-import.c:1558
+msgid "XFig File Format"
+msgstr "Formato de archivo XFig"
+
+#: plug-ins/xfig/xfig.c:39
+msgid "Fig Format import and export filter"
+msgstr "Filtro de importación y exportación del formato Fig"
+
+#: plug-ins/xslt/xslt.c:93
+#, c-format
+msgid "Error while parsing %s\n"
+msgstr "Error al analizar %s\n"
+
+#: plug-ins/xslt/xslt.c:101
+#, c-format
+msgid "Error while parsing stylesheet %s\n"
+msgstr "Error al analizar la hoja de estilo %s\n"
+
+#: plug-ins/xslt/xslt.c:107
+#, c-format
+msgid "Error while applying stylesheet %s\n"
+msgstr "Error al aplicar la hoja de estilo: %s\n"
+
+#: plug-ins/xslt/xslt.c:115
+#, c-format
+msgid "Error while parsing stylesheet: %s\n"
+msgstr "Error al analizar la hoja de estilo: %s\n"
+
+#: plug-ins/xslt/xslt.c:123
+#, c-format
+msgid "Error while applying stylesheet: %s\n"
+msgstr "Error al aplicar la hoja de estilo: %s\n"
+
+# Esto es XSLT: T mayúscula necesaria. FVD
+#: plug-ins/xslt/xslt.c:303
+msgid "XSL Transformation filter"
+msgstr "Filtro de Transformación XSL"
+
+#: plug-ins/xslt/xslt.c:327
+msgid "No valid configuration files found for the XSLT plugin, not loading."
+msgstr ""
+"No se encontraron archivos de configuración válidos para la extensión XSLT, "
+"carga no efectuada"
+
+#: plug-ins/xslt/xsltdialog.c:99
+msgid "Export through XSLT"
+msgstr "Exportar a través de XSLT"
+
+#: plug-ins/xslt/xsltdialog.c:114
+msgid "From:"
+msgstr "De:"
+
+#: plug-ins/xslt/xsltdialog.c:149
+msgid "To:"
+msgstr "A:"
+
+#: sheets/Assorted.sheet.in.h:1
+msgid ""
+"An Assorted Collection of Polygons, Beziergons and other Miscellaneous "
+"Geometric Shapes"
+msgstr ""
+"Una colección surtida de polígonos, polígonos béziér y otras figuras "
+"geométricas varias"
+
+#: sheets/Assorted.sheet.in.h:2
+msgid "Assorted"
+msgstr "Surtido"
+
+#: sheets/Assorted.sheet.in.h:3
+msgid "Chevron"
+msgstr "Chevron"
+
+#: sheets/Assorted.sheet.in.h:4
+msgid "Curved eight point star"
+msgstr "Estrella curvada de ocho puntas"
+
+#: sheets/Assorted.sheet.in.h:5
+msgid "Curved four point star"
+msgstr "Estrella curvada de cuatro puntas"
+
+#: sheets/Assorted.sheet.in.h:6
+msgid "Diamond"
+msgstr "Diamante"
+
+#: sheets/Assorted.sheet.in.h:7
+msgid "Down arrow"
+msgstr "Flecha hacia abajo"
+
+#: sheets/Assorted.sheet.in.h:8
+msgid "Eight point star"
+msgstr "Estrella de ocho puntas"
+
+#: sheets/Assorted.sheet.in.h:9
+msgid "Four point star"
+msgstr "Estrella de cuatro puntas"
+
+#: sheets/Assorted.sheet.in.h:10
+msgid "Heart"
+msgstr "Corazón"
+
+#: sheets/Assorted.sheet.in.h:11
+msgid "Heptagon. Seven sided shape"
+msgstr "Heptágono, figura de siete lados"
+
+#: sheets/Assorted.sheet.in.h:12
+msgid "Hexagon. Six sided shape"
+msgstr "Hexágono, figura de seis lados"
+
+#: sheets/Assorted.sheet.in.h:13
+msgid "Horizontal parallelogram"
+msgstr "Paralelogramo horizontal"
+
+#: sheets/Assorted.sheet.in.h:14
+msgid "Isoceles triangle"
+msgstr "Triángulo isósceles"
+
+#: sheets/Assorted.sheet.in.h:15
+msgid "Left arrow"
+msgstr "Flecha hacia la izquierda"
+
+#: sheets/Assorted.sheet.in.h:16
+msgid "Left-right arrow"
+msgstr "Flecha izquierda-derecha"
+
+#: sheets/Assorted.sheet.in.h:17
+msgid "Left-right-up arrow"
+msgstr "Flecha izquierda-derecha-arriba"
+
+#: sheets/Assorted.sheet.in.h:18
+msgid "Left-up arrow"
+msgstr "Flecha izquierda-arriba"
+
+#: sheets/Assorted.sheet.in.h:19
+msgid "Maltese cross"
+msgstr "Cruz de Malta"
+
+#: sheets/Assorted.sheet.in.h:20
+msgid "Notched left arrow"
+msgstr "Flecha a la izquierda cortada"
+
+#: sheets/Assorted.sheet.in.h:21
+msgid "Notched right arrow"
+msgstr "Flecha a la derecha cortada"
+
+#: sheets/Assorted.sheet.in.h:22
+msgid "Octogon. Eight sided shape"
+msgstr "Octógono, figura de ocho lados"
+
+#: sheets/Assorted.sheet.in.h:23
+msgid "Pentagon block arrow"
+msgstr "Flecha de bloque de pentágono"
+
+#: sheets/Assorted.sheet.in.h:24
+msgid "Pentagon. Five sided shape"
+msgstr "Pentágono, figura de cinco lados"
+
+#: sheets/Assorted.sheet.in.h:25
+msgid "Perfect circle"
+msgstr "Círculo perfecto"
+
+#: sheets/Assorted.sheet.in.h:26
+msgid "Perfect square, height equals width"
+msgstr "Cuadrado perfecto, alto igual que ancho"
+
+#: sheets/Assorted.sheet.in.h:27
+msgid "Quad arrow"
+msgstr "Flecha cuadrada"
+
+#: sheets/Assorted.sheet.in.h:28
+msgid "Quarter circle"
+msgstr "Cuarto de círculo"
+
+# Creo que Luna en Cuarto. Ver programa . FVD
+#: sheets/Assorted.sheet.in.h:29
+msgid "Quarter moon"
+msgstr "Cuarto de luna"
+
+#: sheets/Assorted.sheet.in.h:30
+msgid "Right angle triangle"
+msgstr "Triángulo rectángulo"
+
+#: sheets/Assorted.sheet.in.h:31
+msgid "Right arrow"
+msgstr "Flecha derecha"
+
+#: sheets/Assorted.sheet.in.h:32
+msgid "Seven point star"
+msgstr "Estrella de siete puntas"
+
+#: sheets/Assorted.sheet.in.h:33
+msgid "Sharp eight point star"
+msgstr "Estrella aguda de ocho puntos"
+
+#: sheets/Assorted.sheet.in.h:34
+msgid "Six point star"
+msgstr "Estrella de seis puntas"
+
+#: sheets/Assorted.sheet.in.h:35
+msgid "Sun"
+msgstr "Sol"
+
+#: sheets/Assorted.sheet.in.h:36
+msgid "Swiss cross"
+msgstr "Cruz suiza"
+
+#: sheets/Assorted.sheet.in.h:37
+msgid "Trapezoid"
+msgstr "Trapezoide"
+
+#: sheets/Assorted.sheet.in.h:38
+msgid "Up arrow"
+msgstr "Flecha hacia arriba"
+
+#: sheets/Assorted.sheet.in.h:39
+msgid "Up-down arrow"
+msgstr "Flecha arriba-abajo"
+
+#: sheets/Assorted.sheet.in.h:40
+msgid "Up-down-left arrow"
+msgstr "Flecha arriba-abajo-izquierda"
+
+#: sheets/Assorted.sheet.in.h:41
+msgid "Vertical parallelogram"
+msgstr "Paralelogramo vertical"
+
+#: sheets/Circuit.sheet.in.h:1
+msgid "Circuit"
+msgstr "Circuito"
+
+#: sheets/Circuit.sheet.in.h:2
+msgid "Components for circuit diagrams"
+msgstr "Componentes para diagramas de circuitos"
+
+#: sheets/Circuit.sheet.in.h:3
+msgid "Ground point"
+msgstr "Toma de tierra"
+
+#: sheets/Circuit.sheet.in.h:4
+msgid "Horizontal jumper"
+msgstr "Jumper horizontal"
+
+#: sheets/Circuit.sheet.in.h:5
+msgid "Horizontally aligned LED"
+msgstr "Un LED alineado horizontalmente"
+
+#: sheets/Circuit.sheet.in.h:6
+msgid "Horizontally aligned capacitor"
+msgstr "Un condensador alineado horizontalmente"
+
+#: sheets/Circuit.sheet.in.h:7
+msgid "Horizontally aligned diode"
+msgstr "Un diodo alineado horizontalmente"
+
+#: sheets/Circuit.sheet.in.h:8
+msgid "Horizontally aligned fuse"
+msgstr "Un fusible alineado horizontalmente"
+
+#: sheets/Circuit.sheet.in.h:9
+msgid "Horizontally aligned inductor"
+msgstr "Un inductor alineado horizontalmente"
+
+#: sheets/Circuit.sheet.in.h:10
+msgid "Horizontally aligned inductor (European)"
+msgstr "Un inductor alineado horizontalmente (europeo)"
+
+#: sheets/Circuit.sheet.in.h:11
+msgid "Horizontally aligned powersource"
+msgstr "Una fuente de alimentación alineada horizontalmente"
+
+#: sheets/Circuit.sheet.in.h:12
+msgid "Horizontally aligned resistor"
+msgstr "Una resistencia alineado horizontalmente"
+
+#: sheets/Circuit.sheet.in.h:13
+msgid "Horizontally aligned resistor (European)"
+msgstr "Una resistencia alineado horizontalmente (europeo)"
+
+#: sheets/Circuit.sheet.in.h:14
+msgid "Horizontally aligned zener diode"
+msgstr "Un diodo zener alineado horizontalmente"
+
+#: sheets/Circuit.sheet.in.h:15
+msgid "Lamp"
+msgstr "Lámpara"
+
+#: sheets/Circuit.sheet.in.h:16 sheets/ciscomisc.sheet.in.h:26
+msgid "Microphone"
+msgstr "Micrófono"
+
+#: sheets/Circuit.sheet.in.h:17
+msgid "NMOS transistor"
+msgstr "Transistor NMOS"
+
+#: sheets/Circuit.sheet.in.h:18
+msgid "NPN bipolar transistor"
+msgstr "Un transistor bipolar NPN"
+
+#: sheets/Circuit.sheet.in.h:19
+msgid "Operational amplifier"
+msgstr "Amplificador operacional"
+
+#: sheets/Circuit.sheet.in.h:20
+msgid "PMOS transistor"
+msgstr "Transistor PMOS"
+
+#: sheets/Circuit.sheet.in.h:21
+msgid "PNP bipolar transistor"
+msgstr "Transistor bipolar NPN"
+
+#: sheets/Circuit.sheet.in.h:22 sheets/ciscomisc.sheet.in.h:39
+msgid "Speaker"
+msgstr "Altavoz"
+
+#: sheets/Circuit.sheet.in.h:23
+msgid "Vertically aligned LED"
+msgstr "LED alineado verticalmente"
+
+#: sheets/Circuit.sheet.in.h:24
+msgid "Vertically aligned capacitor"
+msgstr "Condensador alineado verticalmente"
+
+#: sheets/Circuit.sheet.in.h:25
+msgid "Vertically aligned diode"
+msgstr "Diodo alineado verticalmente"
+
+#: sheets/Circuit.sheet.in.h:26
+msgid "Vertically aligned fuse"
+msgstr "Fusible alineado verticalmente"
+
+#: sheets/Circuit.sheet.in.h:27
+msgid "Vertically aligned inductor"
+msgstr "Inductor alineado verticalmente"
+
+#: sheets/Circuit.sheet.in.h:28
+msgid "Vertically aligned inductor (European)"
+msgstr "Inductor alineado verticalmente (europeo)"
+
+#: sheets/Circuit.sheet.in.h:29
+msgid "Vertically aligned powersource"
+msgstr "Fuente de alimentación alineada verticalmente"
+
+#: sheets/Circuit.sheet.in.h:30
+msgid "Vertically aligned resistor"
+msgstr "Resistencia alineada verticalmente"
+
+#: sheets/Circuit.sheet.in.h:31
+msgid "Vertically aligned resistor (European)"
+msgstr "Una resistencia alineada verticalmente (europeo)"
+
+#: sheets/Circuit.sheet.in.h:32
+msgid "Vertically aligned zener diode"
+msgstr "Un diodo zener alineado verticalmente"
+
+#: sheets/Contact.sheet.in.h:1
+msgid "'if not' (normally closed) ladder contact"
+msgstr "Un contacto de escalera 'si no' (normalmente cerrado)"
+
+#: sheets/Contact.sheet.in.h:2
+msgid "'if' (normally open) ladder contact"
+msgstr "Un contacto de escalera 'if' (normalmente abierto)"
+
+#: sheets/Contact.sheet.in.h:3
+msgid "'jump' output variable"
+msgstr "Una variable de salida 'jump'"
+
+#: sheets/Contact.sheet.in.h:4
+msgid "'reset' output variable"
+msgstr "Una variable de salida 'reset'"
+
+#: sheets/Contact.sheet.in.h:5
+msgid "'set' output variable"
+msgstr "Una variable de salida 'set'"
+
+#: sheets/Contact.sheet.in.h:6
+msgid "Components for LADDER circuits"
+msgstr "Componente para circuitos de escalera (LADDER)"
+
+#: sheets/Contact.sheet.in.h:7
+msgid "Ladder"
+msgstr "Escalera"
+
+#: sheets/Contact.sheet.in.h:8
+msgid "Negative output variable"
+msgstr "Variable de salida negativa"
+
+#: sheets/Contact.sheet.in.h:9
+msgid "Power-saved 'reset' output variable"
+msgstr "Variable de salida 'reset' de potencia guardada"
+
+#: sheets/Contact.sheet.in.h:10
+msgid "Power-saved 'set' output variable"
+msgstr "Variable de salida 'set' de potencia guardada"
+
+#: sheets/Contact.sheet.in.h:11
+msgid "Power-saved negative output variable"
+msgstr "Variable de salida negativa de potencia guardada"
+
+#: sheets/Contact.sheet.in.h:12
+msgid "Power-saved simple output variable"
+msgstr "Variable de salida simple de potencia guardada"
+
+#: sheets/Contact.sheet.in.h:13
+msgid "Receptivity output variable"
+msgstr "Variable de salida de receptividad"
+
+#: sheets/Contact.sheet.in.h:14
+msgid "Simple output variable"
+msgstr "Variable de salida simple"
+
+#: sheets/EML.sheet.in.h:1
+msgid "EML"
+msgstr "EML"
+
+#: sheets/EML.sheet.in.h:2
+msgid "Editor for EML Static Structure Diagrams."
+msgstr "Editor para diagramas de estructura estática EML."
+
+#: sheets/EML.sheet.in.h:3
+msgid "Instantiation. One process create others"
+msgstr "Instanciación. Un proceso crea otros"
+
+#: sheets/EML.sheet.in.h:4
+msgid "Interaction between processes."
+msgstr "Interacción entre procesos"
+
+#: sheets/ER.sheet.in.h:2
+msgid "ER"
+msgstr "ER"
+
+#: sheets/ER.sheet.in.h:3
+msgid "Editor for Entity Relations Diagrams"
+msgstr "Editor para diagramas entidad/relación"
+
+#: sheets/ER.sheet.in.h:5
+msgid "Participation"
+msgstr "Participación"
+
+#: sheets/ER.sheet.in.h:7
+msgid "Weak entity"
+msgstr "Entidad débil"
+
+#: sheets/Electric.sheet.in.h:1
+msgid "Command organ of a relay"
+msgstr "Actuador de un relé"
+
+#: sheets/Electric.sheet.in.h:2
+msgid "Components for electric circuits"
+msgstr "Componentes para circuitos eléctricos"
+
+#: sheets/Electric.sheet.in.h:3
+msgid "Connection point"
+msgstr "Punto de conexión"
+
+#: sheets/Electric.sheet.in.h:4
+msgid "Electric"
+msgstr "Eléctrico"
+
+#: sheets/Electric.sheet.in.h:5
+msgid "Lamp or indicator light"
+msgstr "Lámpara o indicador de luz"
+
+#: sheets/Electric.sheet.in.h:6
+msgid "Normally closed contact"
+msgstr "Contacto normalmente cerrado"
+
+#: sheets/Electric.sheet.in.h:7
+msgid "Normally closed position switch"
+msgstr "Posición del interruptor normalmente cerrado"
+
+#: sheets/Electric.sheet.in.h:8
+msgid "Normally open contact"
+msgstr "Contacto normalmente abierto"
+
+#: sheets/Electric.sheet.in.h:9
+msgid "Normally open position switch"
+msgstr "Interruptor en posición normalmente abierta"
+
+#: sheets/Electric.sheet.in.h:10
+msgid "Relay"
+msgstr "Retardo"
+
+#: sheets/FS.sheet.in.h:1
+msgid "Editor for Function Structure Diagrams."
+msgstr "Editor para diagramas de estructura de función."
+
+#: sheets/FS.sheet.in.h:2
+msgid "FS"
+msgstr "FS"
+
+#: sheets/FS.sheet.in.h:3
+msgid "Flow"
+msgstr "Flujo"
+
+#: sheets/FS.sheet.in.h:4
+msgid "Function"
+msgstr "Función"
+
+#: sheets/FS.sheet.in.h:5
+msgid "Orthogonal polyline flow"
+msgstr "Flujo poligonal ortogonal"
+
+#: sheets/Flowchart.sheet.in.h:1
+msgid "Collate"
+msgstr "Cotejar"
+
+#: sheets/Flowchart.sheet.in.h:2
+msgid "Connector"
+msgstr "Conector"
+
+#: sheets/Flowchart.sheet.in.h:3 sheets/SDL.sheet.in.h:4
+msgid "Decision"
+msgstr "Decisión"
+
+#: sheets/Flowchart.sheet.in.h:4
+msgid "Delay"
+msgstr "Retardo"
+
+#: sheets/Flowchart.sheet.in.h:6
+msgid "Document"
+msgstr "Documento"
+
+#: sheets/Flowchart.sheet.in.h:8
+msgid "Flowchart"
+msgstr "Diagrama de flujo"
+
+#: sheets/Flowchart.sheet.in.h:9
+msgid "Input/Output"
+msgstr "Entrada/Salida"
+
+#: sheets/Flowchart.sheet.in.h:10
+msgid "Internal storage"
+msgstr "Almacenamiento interno"
+
+#: sheets/Flowchart.sheet.in.h:11
+msgid "Magnetic disk"
+msgstr "Disco magnético"
+
+#: sheets/Flowchart.sheet.in.h:12
+msgid "Magnetic drum"
+msgstr "Tambor magnético"
+
+#: sheets/Flowchart.sheet.in.h:13
+msgid "Magnetic tape"
+msgstr "Cinta magnética"
+
+#: sheets/Flowchart.sheet.in.h:14
+msgid "Manual input"
+msgstr "Entrada manual"
+
+#: sheets/Flowchart.sheet.in.h:15
+msgid "Manual operation"
+msgstr "Operación manual"
+
+#: sheets/Flowchart.sheet.in.h:16
+msgid "Merge"
+msgstr "Combinación"
+
+#: sheets/Flowchart.sheet.in.h:17
+msgid "Objects to draw flowcharts"
+msgstr "Objetos para dibujar diagramas de flujo"
+
+#: sheets/Flowchart.sheet.in.h:18
+msgid "Off page connector"
+msgstr "Conector fuera de página"
+
+#: sheets/Flowchart.sheet.in.h:19
+msgid "Offline storage"
+msgstr "Almacenamiento fuera de línea"
+
+#: sheets/Flowchart.sheet.in.h:20
+msgid "Or"
+msgstr "O"
+
+#: sheets/Flowchart.sheet.in.h:21
+msgid "Predefined process"
+msgstr "Proceso predefinido"
+
+#: sheets/Flowchart.sheet.in.h:22
+msgid "Preparation"
+msgstr "Preparación"
+
+#: sheets/Flowchart.sheet.in.h:23
+msgid "Process/Auxiliary Operation"
+msgstr "Proceso/Operación auxiliar"
+
+#: sheets/Flowchart.sheet.in.h:24
+msgid "Punched card"
+msgstr "Tarjeta perforada"
+
+#: sheets/Flowchart.sheet.in.h:25
+msgid "Punched tape"
+msgstr "Cinta perforada"
+
+#: sheets/Flowchart.sheet.in.h:26
+msgid "Sort"
+msgstr "Ordenación"
+
+#: sheets/Flowchart.sheet.in.h:27
+msgid "Summing junction"
+msgstr "Combinación de salidas"
+
+#: sheets/Flowchart.sheet.in.h:28
+msgid "Terminal Interrupt"
+msgstr "Interrupción de terminal"
+
+#: sheets/Flowchart.sheet.in.h:29
+msgid "Transaction file"
+msgstr "Archivo de transacción"
+
+#: sheets/Flowchart.sheet.in.h:30
+msgid "Transmittal tape"
+msgstr "Cinta de transmisión"
+
+#: sheets/GRAFCET.sheet.in.h:1
+msgid "AND vergent"
+msgstr "Vergente Y"
+
+#: sheets/GRAFCET.sheet.in.h:2
+msgid "Action to associate to a step"
+msgstr "Acción para asociar a un paso"
+
+#: sheets/GRAFCET.sheet.in.h:3
+msgid "Arc (upward)"
+msgstr "Arco (hacia arriba)"
+
+#: sheets/GRAFCET.sheet.in.h:4
+msgid "Condition (of an action)"
+msgstr "Condición (de una acción)"
+
+#: sheets/GRAFCET.sheet.in.h:5
+msgid "GRAFCET"
+msgstr "GRAFCET"
+
+#: sheets/GRAFCET.sheet.in.h:10
+msgid "Macro sub-program call step"
+msgstr "Paso de llamada a subprograma de macro"
+
+#: sheets/GRAFCET.sheet.in.h:11
+msgid "OR vergent"
+msgstr "Vergente OR"
+
+#: sheets/GRAFCET.sheet.in.h:12
+msgid "Objects to design GRAFCET charts"
+msgstr "Objetos para diseñar gráficos GRAFCET"
+
+#: sheets/GRAFCET.sheet.in.h:14
+msgid "Transition"
+msgstr "Transición"
+
+#: sheets/Logic.sheet.in.h:1
+msgid "AND gate"
+msgstr "Puerta AND"
+
+#: sheets/Logic.sheet.in.h:2
+msgid "Boolean Logic"
+msgstr "Lógica booleana"
+
+#: sheets/Logic.sheet.in.h:3
+msgid "Crossconnector"
+msgstr "Conector en cruz"
+
+#: sheets/Logic.sheet.in.h:4
+msgid "Inverter"
+msgstr "Inversor"
+
+#: sheets/Logic.sheet.in.h:5
+msgid "Logic"
+msgstr "Lógica"
+
+#: sheets/Logic.sheet.in.h:6
+msgid "NAND gate"
+msgstr "Puerta NAND"
+
+#: sheets/Logic.sheet.in.h:7
+msgid "NOR gate"
+msgstr "Puerta NOR"
+
+#: sheets/Logic.sheet.in.h:8
+msgid "NOT"
+msgstr "NOT"
+
+#: sheets/Logic.sheet.in.h:9
+msgid "OR gate"
+msgstr "Puerta OR"
+
+#: sheets/Logic.sheet.in.h:10
+msgid "Simple buffer"
+msgstr "Búfer simple"
+
+#: sheets/Logic.sheet.in.h:11
+msgid "XOR gate"
+msgstr "Puerta XOR"
+
+#: sheets/MSE.sheet.in.h:1
+msgid "Demultiplexer"
+msgstr "Demultiplexor"
+
+#: sheets/MSE.sheet.in.h:2
+msgid "Large extension node"
+msgstr "Nodo de gran extensión"
+
+#: sheets/MSE.sheet.in.h:3
+msgid "MSE"
+msgstr "MSE"
+
+#: sheets/MSE.sheet.in.h:4
+msgid "Multiplexer"
+msgstr "Multiplexor"
+
+#: sheets/MSE.sheet.in.h:5
+msgid "Node center"
+msgstr "Nodo central"
+
+#: sheets/MSE.sheet.in.h:6
+msgid "Small extension node"
+msgstr "Nodo de pequeña extensión"
+
+#: sheets/MSE.sheet.in.h:7
+msgid "Tactical satellite communications terminal"
+msgstr "Terminal de comunicaciones por satélite táctico"
+
+# En españa la armada es MARINA, pero ARMY--> ejército. FVD
+#: sheets/MSE.sheet.in.h:8
+msgid "U.S. Army Mobile Subscriber Equipment Components"
+msgstr "Componentes de equipo de abonado móvil del ejército de E.E.U.U."
+
+#: sheets/Misc.sheet.in.h:2
+msgid "Folder"
+msgstr "Carpeta"
+
+#: sheets/Misc.sheet.in.h:3
+msgid "Misc"
+msgstr "Misc"
+
+#: sheets/Misc.sheet.in.h:4
+msgid "Miscellaneous Shapes"
+msgstr "Figuras variadas"
+
+#: sheets/Misc.sheet.in.h:5
+msgid "Traditional clock"
+msgstr "Reloj tradicional"
+
+#: sheets/Pneumatic.sheet.in.h:1
+msgid "2/2 distributor"
+msgstr "Distribuidor 2/2"
+
+#: sheets/Pneumatic.sheet.in.h:2
+msgid "3/2 distributor"
+msgstr "Distribuidor 3/2"
+
+#: sheets/Pneumatic.sheet.in.h:3
+msgid "3/3 distributor"
+msgstr "Distribuidor 3/3"
+
+#: sheets/Pneumatic.sheet.in.h:4
+msgid "4/2 distributor"
+msgstr "Distribuidor 4/2"
+
+#: sheets/Pneumatic.sheet.in.h:5
+msgid "5/2 distributor"
+msgstr "Distribuidor 5/2"
+
+#: sheets/Pneumatic.sheet.in.h:6
+msgid "5/3 distributor"
+msgstr "Distribuidor 5/3"
+
+#: sheets/Pneumatic.sheet.in.h:7
+msgid "A connection point"
+msgstr "Un punto de conexión"
+
+#: sheets/Pneumatic.sheet.in.h:8
+msgid "Air exhaust orifice"
+msgstr "Orificio para la salida de aire"
+
+#: sheets/Pneumatic.sheet.in.h:9
+msgid "Components for pneumatic and hydraulic circuits"
+msgstr "Componentes para circuitos hidráulicos y neumáticos"
+
+#: sheets/Pneumatic.sheet.in.h:10
+msgid "Double-effect jack"
+msgstr "Clavija de efecto doble"
+
+#: sheets/Pneumatic.sheet.in.h:11
+msgid "Electric command (double coil)"
+msgstr "Actuador eléctrico (bobina doble)"
+
+#: sheets/Pneumatic.sheet.in.h:12
+msgid "Electric command (single coil)"
+msgstr "Actuador eléctrico (bobina sencilla)"
+
+#: sheets/Pneumatic.sheet.in.h:13
+msgid "Generic pressure source"
+msgstr "Fuente de presión genérica"
+
+#: sheets/Pneumatic.sheet.in.h:14
+msgid "Hydraulic pressure source"
+msgstr "Fuente de presión hidráulica"
+
+#: sheets/Pneumatic.sheet.in.h:15
+msgid "Indirect command by hydraulic driver"
+msgstr "Actuador indirecto por manejador hidráulico"
+
+#: sheets/Pneumatic.sheet.in.h:16
+msgid "Indirect command by pneumatic driver"
+msgstr "Actuador indirecto por manejador neumático"
+
+#: sheets/Pneumatic.sheet.in.h:17
+msgid "Mechanical command by spring"
+msgstr "Actuador mecánico por muelle"
+
+#: sheets/Pneumatic.sheet.in.h:18
+msgid "Mechanical command by tappet"
+msgstr "Actuador mecánico por taqué"
+
+#: sheets/Pneumatic.sheet.in.h:19
+msgid "Muscular command"
+msgstr "Actuador muscular"
+
+#: sheets/Pneumatic.sheet.in.h:20
+msgid "Normally-in simple-effect jack"
+msgstr "Clavija de efecto simple normalmente enchufada"
+
+#: sheets/Pneumatic.sheet.in.h:21
+msgid "Normally-out simple-effect jack"
+msgstr "Clavija de efecto simple normalmente desenchufada"
+
+#: sheets/Pneumatic.sheet.in.h:22
+msgid "Pneumatic pressure source"
+msgstr "Fuente de presión neumática"
+
+#: sheets/Pneumatic.sheet.in.h:23
+msgid "Pneumatic/Hydraulic"
+msgstr "Neumático/Hidráulico"
+
+#: sheets/Pneumatic.sheet.in.h:24
+msgid "Push-button command"
+msgstr "Actuador de pulsador"
+
+#: sheets/SADT.sheet.in.h:1
+msgid "Activity/data box"
+msgstr "Caja de actividad/datos"
+
+#: sheets/SADT.sheet.in.h:2
+msgid "Activity/data flow arrow"
+msgstr "Flecha de datos de actividad/datos"
+
+#: sheets/SADT.sheet.in.h:3
+msgid "Flow label"
+msgstr "Etiqueta de flujo"
+
+#: sheets/SADT.sheet.in.h:4
+msgid "Objects to design SADT diagrams"
+msgstr "Objetos para diseñar diagramas SADT"
+
+#: sheets/SADT.sheet.in.h:5
+msgid "SADT/IDEF0"
+msgstr "SADT/IDEFO"
+
+#: sheets/SDL.sheet.in.h:1
+msgid "Action being executed"
+msgstr "Acción que se está ejecutando"
+
+#: sheets/SDL.sheet.in.h:2
+msgid "Block type reference"
+msgstr "Referencia de tipo de bloque"
+
+#: sheets/SDL.sheet.in.h:5
+msgid "Function call"
+msgstr "Llamada a función"
+
+#: sheets/SDL.sheet.in.h:6
+msgid "Function header"
+msgstr "Cabecera de función"
+
+#: sheets/SDL.sheet.in.h:7
+msgid "Generic text note"
+msgstr "Nota de texto genérica"
+
+#: sheets/SDL.sheet.in.h:8
+msgid "In/Out connector"
+msgstr "Conector entrada/salida"
+
+#: sheets/SDL.sheet.in.h:10
+msgid "Procedure return"
+msgstr "Retorno de procedimiento"
+
+#: sheets/SDL.sheet.in.h:11
+msgid "Process type reference"
+msgstr "Referencia al tipo de proceso"
+
+#: sheets/SDL.sheet.in.h:12
+msgid "Receive message"
+msgstr "Recibir mensaje"
+
+#: sheets/SDL.sheet.in.h:13
+msgid "SDL"
+msgstr "SDL"
+
+#: sheets/SDL.sheet.in.h:14
+msgid "Save state"
+msgstr "Guardar estado"
+
+#: sheets/SDL.sheet.in.h:15
+msgid "Send message"
+msgstr "Enviar mensaje"
+
+#: sheets/SDL.sheet.in.h:16
+msgid "Service type reference"
+msgstr "Referencia de tipo de servicio"
+
+#: sheets/SDL.sheet.in.h:17
+msgid "Specification and Description Language."
+msgstr "Lenguaje de descripción y especificación (SDL)."
+
+#: sheets/SDL.sheet.in.h:18 sheets/UML.sheet.in.h:28
+msgid "State"
+msgstr "Estado"
+
+#: sheets/UML.sheet.in.h:1
+msgid "Activity"
+msgstr "Actividad"
+
+#: sheets/UML.sheet.in.h:3
+msgid "Aggregation, one class is part of another"
+msgstr "Agregación, una clase es parte de otra"
+
+#: sheets/UML.sheet.in.h:4
+msgid "Association, two classes are associated"
+msgstr "Asociación, dos clases están asociadas"
+
+#: sheets/UML.sheet.in.h:7
+msgid "Class stereotype icon"
+msgstr "Icono de estereotipo de clase"
+
+#: sheets/UML.sheet.in.h:8
+msgid "Component"
+msgstr "Componente"
+
+#: sheets/UML.sheet.in.h:9
+msgid "Constraint, place a constraint on something"
+msgstr "Restricción, poner una restricción a algo"
+
+#: sheets/UML.sheet.in.h:10
+msgid "Dependency"
+msgstr "Dependencia"
+
+#: sheets/UML.sheet.in.h:11
+msgid "Editor for UML Static Structure Diagrams"
+msgstr "Editor para diagramas de estructura estáticos UML"
+
+#: sheets/UML.sheet.in.h:15
+msgid "Fork/union"
+msgstr "División/unión"
+
+#: sheets/UML.sheet.in.h:16
+msgid "Generalization, class inheritance"
+msgstr "Generalización, herencia de clase"
+
+#: sheets/UML.sheet.in.h:17
+msgid "Implements, class implements a specific interface"
+msgstr "Implementa, la clase implementa un interfaz específico"
+
+#: sheets/UML.sheet.in.h:18
+msgid "Initial/end state"
+msgstr "Estado inicial/final"
+
+#: sheets/UML.sheet.in.h:19
+msgid "Large package"
+msgstr "Paquete grande"
+
+#: sheets/UML.sheet.in.h:20
+msgid "Lifeline"
+msgstr "Línea de vida"
+
+#: sheets/UML.sheet.in.h:21
+msgid "Message"
+msgstr "Mensaje"
+
+#: sheets/UML.sheet.in.h:22
+msgid "Node"
+msgstr "Nodo"
+
+# no estoy de acuerdo. FVD
+#: sheets/UML.sheet.in.h:23
+msgid "Note"
+msgstr "Nota"
+
+#: sheets/UML.sheet.in.h:25
+msgid "Realizes, implements a specific interface"
+msgstr "Realiza, implementa un interfaz específico"
+
+#: sheets/UML.sheet.in.h:27
+msgid "Small package"
+msgstr "Paquete pequeño"
+
+#: sheets/UML.sheet.in.h:30
+msgid "UML"
+msgstr "UML"
+
+#: sheets/UML.sheet.in.h:31
+msgid "Use case"
+msgstr "Usar capitalización"
+
+#: sheets/chronogram.sheet.in.h:1
+msgid "Chronogram"
+msgstr "Cronograma"
+
+#: sheets/chronogram.sheet.in.h:2
+msgid "Data line"
+msgstr "Línea de datos"
+
+#: sheets/chronogram.sheet.in.h:3
+msgid "Objects to design chronogram charts"
+msgstr "Objetos para diseñar gráficos de cronograma"
+
+#: sheets/chronogram.sheet.in.h:4
+msgid "Time scale"
+msgstr "Escala de tiempo"
+
+#: sheets/ciscocomputer.sheet.in.h:1
+msgid "Cisco - Computer"
+msgstr "Computadora Cisco"
+
+#: sheets/ciscocomputer.sheet.in.h:2
+msgid "Cisco CA"
+msgstr "Cisco CA"
+
+#: sheets/ciscocomputer.sheet.in.h:3
+msgid "CiscoSecurity"
+msgstr "CiscoSecurity"
+
+#: sheets/ciscocomputer.sheet.in.h:4
+msgid "CiscoWorks workstation"
+msgstr "Estación de trabajo Cisco"
+
+#: sheets/ciscocomputer.sheet.in.h:5
+msgid "Communications server"
+msgstr "Servidor de comunicaciones"
+
+#: sheets/ciscocomputer.sheet.in.h:6
+msgid "Computer shapes by Cisco"
+msgstr "Formas de computadoras de Cisco"
+
+#: sheets/ciscocomputer.sheet.in.h:7
+msgid "Directory Server"
+msgstr "Servidor de directorio"
+
+#: sheets/ciscocomputer.sheet.in.h:8
+msgid "File Server"
+msgstr "Servidor de ficheros"
+
+#: sheets/ciscocomputer.sheet.in.h:9
+msgid "HP Mini"
+msgstr "HP Mini"
+
+#: sheets/ciscocomputer.sheet.in.h:10
+msgid "Handheld"
+msgstr "Handheld"
+
+#: sheets/ciscocomputer.sheet.in.h:11
+msgid "Host"
+msgstr "Host"
+
+#: sheets/ciscocomputer.sheet.in.h:12
+msgid "IBM Mini (AS400)"
+msgstr "IBM Mini (AS400)"
+
+#: sheets/ciscocomputer.sheet.in.h:13
+msgid "IBM Tower"
+msgstr "Torre IBM"
+
+#: sheets/ciscocomputer.sheet.in.h:14
+msgid "IBM mainframe"
+msgstr "IBM mainframe"
+
+#: sheets/ciscocomputer.sheet.in.h:15
+msgid "IP Softphone"
+msgstr "IP Softphone"
+
+#: sheets/ciscocomputer.sheet.in.h:16
+msgid "IPTV broadcast server"
+msgstr "Servidor IPTV de difusión"
+
+#: sheets/ciscocomputer.sheet.in.h:17
+msgid "Laptop"
+msgstr "Portátil"
+
+#: sheets/ciscocomputer.sheet.in.h:18
+msgid "Macintosh"
+msgstr "Macintosh"
+
+#: sheets/ciscocomputer.sheet.in.h:19
+msgid "MicroWebserver"
+msgstr "MicroWebserver"
+
+#: sheets/ciscocomputer.sheet.in.h:20
+msgid "Mini VAX"
+msgstr "Mini VAX"
+
+#: sheets/ciscocomputer.sheet.in.h:21
+msgid "MoH server (Music on Hold)"
+msgstr "Servidor MoH (Music on Hold)"
+
+#: sheets/ciscocomputer.sheet.in.h:22
+msgid "PC"
+msgstr "PC"
+
+#: sheets/ciscocomputer.sheet.in.h:23
+msgid "PC Video"
+msgstr "PC Video"
+
+#: sheets/ciscocomputer.sheet.in.h:24
+msgid "PDA"
+msgstr "PDA"
+
+#: sheets/ciscocomputer.sheet.in.h:26
+msgid "Relational Database"
+msgstr "Base de datos relacional"
+
+#: sheets/ciscocomputer.sheet.in.h:27
+msgid "SC2200/VSC3000 host"
+msgstr "Host SC2200/VSC3000"
+
+#: sheets/ciscocomputer.sheet.in.h:28
+msgid "SIP Proxy server"
+msgstr "Servidor proxy SIP"
+
+#: sheets/ciscocomputer.sheet.in.h:29
+msgid "STB (set top box)"
+msgstr "STB (set top box)"
+
+#: sheets/ciscocomputer.sheet.in.h:30
+msgid "SUN workstation"
+msgstr "Estación de trabajo Sun"
+
+#: sheets/ciscocomputer.sheet.in.h:31
+msgid "Scanner"
+msgstr "Scanner"
+
+#: sheets/ciscocomputer.sheet.in.h:32
+msgid "Server with PC Router"
+msgstr "Servidor con encaminador PC"
+
+#: sheets/ciscocomputer.sheet.in.h:33
+msgid "Softphone"
+msgstr "Softphone"
+
+#: sheets/ciscocomputer.sheet.in.h:34
+msgid "Software based server"
+msgstr "Servidor basado en software"
+
+#: sheets/ciscocomputer.sheet.in.h:35
+msgid "Storage array"
+msgstr "Formación de almacenamiento"
+
+#: sheets/ciscocomputer.sheet.in.h:36
+msgid "Supercomputer"
+msgstr "Supercomputadora"
+
+#: sheets/ciscocomputer.sheet.in.h:37
+msgid "TV"
+msgstr "TV"
+
+#: sheets/ciscocomputer.sheet.in.h:38
+msgid "Terminal"
+msgstr "Terminal"
+
+# Pero se trata de energía eléctrica ! FVD
+#: sheets/ciscocomputer.sheet.in.h:39
+msgid "Turret"
+msgstr "Torreta"
+
+#: sheets/ciscocomputer.sheet.in.h:40
+msgid "Unity server"
+msgstr "Servidor Unity"
+
+#: sheets/ciscocomputer.sheet.in.h:41
+msgid "Voice commserver"
+msgstr "Servidor de comunicaciones de voz"
+
+#: sheets/ciscocomputer.sheet.in.h:42
+msgid "WWW server"
+msgstr "Servidor WWW"
+
+#: sheets/ciscocomputer.sheet.in.h:43
+msgid "Web browser"
+msgstr "Visualizador de web"
+
+#: sheets/ciscocomputer.sheet.in.h:44
+msgid "Web cluster"
+msgstr "Cluster de web"
+
+#: sheets/ciscocomputer.sheet.in.h:45
+msgid "Wireless"
+msgstr "Inalámbrico"
+
+#: sheets/ciscocomputer.sheet.in.h:46
+msgid "Workgroup director"
+msgstr "Director de grupo de trabajo"
+
+#: sheets/ciscocomputer.sheet.in.h:47
+msgid "Workstation"
+msgstr "Estación de trabajo"
+
+#: sheets/ciscohub.sheet.in.h:1
+msgid "100BaseT hub"
+msgstr "Concentrador 100BaseT"
+
+#: sheets/ciscohub.sheet.in.h:2
+msgid "ATM fast gigabit etherswitch"
+msgstr "Conmutador ethernet ATM Fast Gigabit"
+
+#: sheets/ciscohub.sheet.in.h:3
+msgid "ATM switch"
+msgstr "Conmutador ATM"
+
+#: sheets/ciscohub.sheet.in.h:4
+msgid "Cisco - Hub"
+msgstr "Concentrador Cisco"
+
+#: sheets/ciscohub.sheet.in.h:5
+msgid "Cisco hub"
+msgstr "Concentrador Cisco"
+
+#: sheets/ciscohub.sheet.in.h:6
+msgid "Class 4/5 switch"
+msgstr "Conmutador clase 4/5"
+
+#: sheets/ciscohub.sheet.in.h:7
+msgid "Content service switch 1100"
+msgstr "Conmutador de servicios de contenido 1100"
+
+#: sheets/ciscohub.sheet.in.h:8
+msgid "Content switch"
+msgstr "Conmutador de contenidos"
+
+#: sheets/ciscohub.sheet.in.h:9
+msgid "Content switch module"
+msgstr "Módulo de conmutación de contenidos"
+
+#: sheets/ciscohub.sheet.in.h:10
+msgid "Generic softswitch"
+msgstr "Conmutador software genérico"
+
+#: sheets/ciscohub.sheet.in.h:11
+msgid "Hub"
+msgstr "Concentrador"
+
+#: sheets/ciscohub.sheet.in.h:12
+msgid "Hub and switch shapes by Cisco"
+msgstr "Formas de concentrador y conmutador por Cisco"
+
+#: sheets/ciscohub.sheet.in.h:13
+msgid "ISDN switch"
+msgstr "Conmutador RDSI"
+
+#: sheets/ciscohub.sheet.in.h:14
+msgid "Layer 3 switch"
+msgstr "Conmutador de capa 3"
+
+#: sheets/ciscohub.sheet.in.h:15
+msgid "MGX 8220 switch"
+msgstr "Comnutador 8220 MGX"
+
+#: sheets/ciscohub.sheet.in.h:16
+msgid "MGX 8240 switch"
+msgstr "Conmutador MGX 8240"
+
+#: sheets/ciscohub.sheet.in.h:17
+msgid "MGX 8260 switch"
+msgstr "Conmutador MGX 8260"
+
+#: sheets/ciscohub.sheet.in.h:18
+msgid "MultiSwitch device"
+msgstr "Dispositivo Multiconmutador"
+
+#: sheets/ciscohub.sheet.in.h:19
+msgid "Multilayer switch"
+msgstr "Conmutador multicapa"
+
+#: sheets/ciscohub.sheet.in.h:20
+msgid "PBX switch"
+msgstr "Conmutador PBX"
+
+#: sheets/ciscohub.sheet.in.h:21
+msgid "Programmable switch"
+msgstr "Conmutador programable"
+
+#: sheets/ciscohub.sheet.in.h:22
+msgid "Route switch processor"
+msgstr "Procesador de conmutación de rutas"
+
+#: sheets/ciscohub.sheet.in.h:23
+msgid "Small hub"
+msgstr "Concentrador pequeño"
+
+#: sheets/ciscohub.sheet.in.h:24
+msgid "Voice ATM switch"
+msgstr "Conmutador de voz ATM"
+
+#: sheets/ciscohub.sheet.in.h:25
+msgid "Voice switch"
+msgstr "Conmutador de voz"
+
+#: sheets/ciscohub.sheet.in.h:26
+msgid "Voice switch 2"
+msgstr "Conmutador de voz 2"
+
+#: sheets/ciscohub.sheet.in.h:27
+msgid "Workgroup switch"
+msgstr "Conmutador de grupo"
+
+#: sheets/ciscomisc.sheet.in.h:1
+msgid "BBFW"
+msgstr "BBFW"
+
+#: sheets/ciscomisc.sheet.in.h:2
+msgid "BBFW media"
+msgstr "Medio BBFW"
+
+# Si ha de ser un verbo debería ser Ramificar. FVD
+#: sheets/ciscomisc.sheet.in.h:3
+msgid "Branch office"
+msgstr "Rama de oficina"
+
+#: sheets/ciscomisc.sheet.in.h:4
+msgid "Breakout box"
+msgstr "Caja breakout"
+
+#: sheets/ciscomisc.sheet.in.h:5
+msgid "Car"
+msgstr "Coche"
+
+#: sheets/ciscomisc.sheet.in.h:6
+msgid "Cellular phone"
+msgstr "Teléfono móvil"
+
+#: sheets/ciscomisc.sheet.in.h:7
+msgid "Cisco - Misc"
+msgstr "Cisco - Misc"
+
+#: sheets/ciscomisc.sheet.in.h:8
+msgid "Diskette"
+msgstr "Disquete"
+
+#: sheets/ciscomisc.sheet.in.h:9
+msgid "Dot-Dot"
+msgstr "Punto a Punto"
+
+#: sheets/ciscomisc.sheet.in.h:10
+msgid "End office"
+msgstr "Fin de oficina"
+
+#: sheets/ciscomisc.sheet.in.h:11
+msgid "Fax"
+msgstr "Fax"
+
+#: sheets/ciscomisc.sheet.in.h:12
+msgid "File cabinet"
+msgstr "Archivo de ficheros"
+
+#: sheets/ciscomisc.sheet.in.h:13
+msgid "Generic building"
+msgstr "Edificio genérico"
+
+#: sheets/ciscomisc.sheet.in.h:14
+msgid "Government building"
+msgstr "Edificio del gobierno"
+
+#: sheets/ciscomisc.sheet.in.h:15
+msgid "H.323"
+msgstr "H.323"
+
+#: sheets/ciscomisc.sheet.in.h:16
+msgid "HootPhone"
+msgstr "HootPhone"
+
+#: sheets/ciscomisc.sheet.in.h:17
+msgid "IP phone"
+msgstr "Teléfono IP"
+
+#: sheets/ciscomisc.sheet.in.h:18
+msgid "ITP"
+msgstr "ITP"
+
+#: sheets/ciscomisc.sheet.in.h:19
+msgid "Key"
+msgstr "Clave"
+
+#: sheets/ciscomisc.sheet.in.h:20
+msgid "LAN to LAN"
+msgstr "LAN a LAN"
+
+#: sheets/ciscomisc.sheet.in.h:22
+msgid "MAU"
+msgstr "MAU"
+
+#: sheets/ciscomisc.sheet.in.h:23
+msgid "MDU"
+msgstr "MDU"
+
+#: sheets/ciscomisc.sheet.in.h:24
+msgid "Mac woman"
+msgstr "Mujer Mac"
+
+#: sheets/ciscomisc.sheet.in.h:25
+msgid "Man/Woman"
+msgstr "Hombre/Mujer"
+
+#: sheets/ciscomisc.sheet.in.h:27
+msgid "Miscellaneous shapes by Cisco"
+msgstr "Figuras variadas de Cisco"
+
+#: sheets/ciscomisc.sheet.in.h:28
+msgid "PC man"
+msgstr "Hombre PC"
+
+#: sheets/ciscomisc.sheet.in.h:29
+msgid "Phone"
+msgstr "Teléfono"
+
+#: sheets/ciscomisc.sheet.in.h:30
+msgid "Phone/Fax"
+msgstr "Teléfono/Fax"
+
+#: sheets/ciscomisc.sheet.in.h:31
+msgid "RPS"
+msgstr "RPS"
+
+#: sheets/ciscomisc.sheet.in.h:32
+msgid "Radio tower"
+msgstr "Torre de radio"
+
+#: sheets/ciscomisc.sheet.in.h:33
+msgid "Running man"
+msgstr "Hombre corriendo"
+
+#: sheets/ciscomisc.sheet.in.h:34
+msgid "SVX (interchangeable with End office)"
+msgstr "SVX (intercambiable con oficina final)"
+
+#: sheets/ciscomisc.sheet.in.h:35
+msgid "Satellite"
+msgstr "Satélite"
+
+#: sheets/ciscomisc.sheet.in.h:36
+msgid "Satellite dish"
+msgstr "Dico de satélite"
+
+#: sheets/ciscomisc.sheet.in.h:37
+msgid "Sitting woman"
+msgstr "Mujer sentada"
+
+#: sheets/ciscomisc.sheet.in.h:38
+msgid "Small business"
+msgstr "Pequeña empresa"
+
+#: sheets/ciscomisc.sheet.in.h:40
+msgid "Standing man"
+msgstr "Hombre de pie"
+
+#: sheets/ciscomisc.sheet.in.h:41
+msgid "Tablet"
+msgstr "Tabla"
+
+#: sheets/ciscomisc.sheet.in.h:42
+msgid "Telecommuter"
+msgstr "Teleconmutador"
+
+#: sheets/ciscomisc.sheet.in.h:43
+msgid "Telecommuter house"
+msgstr "Sitio de teleconmutación"
+
+#: sheets/ciscomisc.sheet.in.h:44
+msgid "Telecommuter house/router"
+msgstr "Telecommuter house/router"
+
+#: sheets/ciscomisc.sheet.in.h:45
+msgid "TokenRing"
+msgstr "TokenRing"
+
+#: sheets/ciscomisc.sheet.in.h:46
+msgid "Truck"
+msgstr "Camión"
+
+#: sheets/ciscomisc.sheet.in.h:47
+msgid "UPS"
+msgstr "UPS"
+
+#: sheets/ciscomisc.sheet.in.h:48
+msgid "University"
+msgstr "Universidad"
+
+#: sheets/ciscomisc.sheet.in.h:49
+msgid "Video camera"
+msgstr "Cámara de vídeo"
+
+#: sheets/ciscomisc.sheet.in.h:50
+msgid "Wireless transport"
+msgstr "Transporte inalámbrico"
+
+#: sheets/cisconetwork.sheet.in.h:1
+msgid "10700"
+msgstr "10700"
+
+#: sheets/cisconetwork.sheet.in.h:2
+msgid "15200"
+msgstr "15200"
+
+#: sheets/cisconetwork.sheet.in.h:3
+msgid "3174 (desktop) cluster controller"
+msgstr "3174 controlador de cluster (escritorio)"
+
+#: sheets/cisconetwork.sheet.in.h:4
+msgid "3X74 (floor) cluster controller"
+msgstr "3X74 (suelo) controlador de cluster"
+
+#: sheets/cisconetwork.sheet.in.h:5
+msgid "6701"
+msgstr "6701"
+
+#: sheets/cisconetwork.sheet.in.h:6
+msgid "6705 Integrated access device"
+msgstr "Dispositivo de acceso integrado 6705"
+
+#: sheets/cisconetwork.sheet.in.h:7
+msgid "6732 Multiservice access platform"
+msgstr "Plataforma de acceso multiservicio 6732"
+
+#: sheets/cisconetwork.sheet.in.h:8
+msgid "ADM"
+msgstr "ADM"
+
+#: sheets/cisconetwork.sheet.in.h:9
+msgid "ASIC processor"
+msgstr "Procesador ASIC"
+
+#: sheets/cisconetwork.sheet.in.h:10
+msgid "ATA"
+msgstr "ATA"
+
+#: sheets/cisconetwork.sheet.in.h:11
+msgid "ATM 3800"
+msgstr "ATM 3800"
+
+#: sheets/cisconetwork.sheet.in.h:12
+msgid "AccessPoint"
+msgstr "Punto de acceso"
+
+#: sheets/cisconetwork.sheet.in.h:13
+msgid "BBSM"
+msgstr "BBSM"
+
+#: sheets/cisconetwork.sheet.in.h:14
+msgid "BTS 10200"
+msgstr "BTS 10200"
+
+#: sheets/cisconetwork.sheet.in.h:15
+msgid "Bridge"
+msgstr "Puente"
+
+#: sheets/cisconetwork.sheet.in.h:16
+msgid "CDDI-FDDI"
+msgstr "CDDI-FDDI"
+
+#: sheets/cisconetwork.sheet.in.h:17
+msgid "CDM Content distribution manager"
+msgstr "Administrador de distribución de contenido CDM"
+
+#: sheets/cisconetwork.sheet.in.h:18
+msgid "CSU/DSU"
+msgstr "CSU/DSU"
+
+#: sheets/cisconetwork.sheet.in.h:19
+msgid "Cable modem"
+msgstr "Módem de cable"
+
+#: sheets/cisconetwork.sheet.in.h:20
+msgid "CallManager"
+msgstr "Gestor de llamadas"
+
+#: sheets/cisconetwork.sheet.in.h:21
+msgid "Catalyst access gateway"
+msgstr "Pasarela de acceso Catalyst"
+
+#: sheets/cisconetwork.sheet.in.h:22
+msgid "Centri firewall"
+msgstr "Cortafuegos Centri"
+
+#: sheets/cisconetwork.sheet.in.h:23
+msgid "Cisco - Network"
+msgstr "Red Cisco"
+
+#: sheets/cisconetwork.sheet.in.h:24
+msgid "Cloud"
+msgstr "Nube"
+
+#: sheets/cisconetwork.sheet.in.h:25
+msgid "Content engine (Cache director)"
+msgstr "Motor de contenidos (Director de caché)"
+
+#: sheets/cisconetwork.sheet.in.h:26
+msgid "Content transformation engine (CTE)"
+msgstr "Motor de transformación de contenidos (CTE)"
+
+#: sheets/cisconetwork.sheet.in.h:27
+msgid "DPT"
+msgstr "DPT"
+
+#: sheets/cisconetwork.sheet.in.h:28
+msgid "DSLAM"
+msgstr "DSLAM"
+
+#: sheets/cisconetwork.sheet.in.h:29
+msgid "DWDM filter"
+msgstr "Filtro DWDM"
+
+#: sheets/cisconetwork.sheet.in.h:30
+msgid "Distributed director"
+msgstr "Director distribuido"
+
+#: sheets/cisconetwork.sheet.in.h:31
+msgid "FC storage"
+msgstr "Almacenamiento FC"
+
+#: sheets/cisconetwork.sheet.in.h:32
+msgid "FDDI ring"
+msgstr "Anillo FDDI"
+
+#: sheets/cisconetwork.sheet.in.h:33
+msgid "Firewall"
+msgstr "Cortafuegos"
+
+#: sheets/cisconetwork.sheet.in.h:34
+msgid "Front end processor"
+msgstr "Procesador frontal"
+
+#: sheets/cisconetwork.sheet.in.h:35
+msgid "General appliance"
+msgstr "General appliance"
+
+#: sheets/cisconetwork.sheet.in.h:36
+msgid "Generic gateway"
+msgstr "Pasarela genérica"
+
+#: sheets/cisconetwork.sheet.in.h:37
+msgid "Generic processor"
+msgstr "Procesador genérico"
+
+#: sheets/cisconetwork.sheet.in.h:38
+msgid "ICM"
+msgstr "ICM"
+
+#: sheets/cisconetwork.sheet.in.h:39
+msgid "ICS"
+msgstr "ICS"
+
+#: sheets/cisconetwork.sheet.in.h:40
+msgid "IOS firewall"
+msgstr "Cortafuegos IOS"
+
+#: sheets/cisconetwork.sheet.in.h:41
+msgid "IP"
+msgstr "IP"
+
+#: sheets/cisconetwork.sheet.in.h:42
+msgid "IP DSL"
+msgstr "IP DSL"
+
+#: sheets/cisconetwork.sheet.in.h:43
+msgid "IPTC"
+msgstr "IPTC"
+
+#: sheets/cisconetwork.sheet.in.h:44
+msgid "IPTV content manager"
+msgstr "gestor de contenido IPTV"
+
+#: sheets/cisconetwork.sheet.in.h:45
+msgid "LocalDirector"
+msgstr "Director local"
+
+#: sheets/cisconetwork.sheet.in.h:46
+msgid "LongReach CPE"
+msgstr "LongReach CPE"
+
+#: sheets/cisconetwork.sheet.in.h:47
+msgid "MAS gateway"
+msgstr "Pasarela MAS"
+
+#: sheets/cisconetwork.sheet.in.h:48
+msgid "ME 1100"
+msgstr "ME 1100"
+
+#: sheets/cisconetwork.sheet.in.h:49
+msgid "MUX"
+msgstr "MUX"
+
+#: sheets/cisconetwork.sheet.in.h:50
+msgid "Metro 1500"
+msgstr "Metro 1500"
+
+#: sheets/cisconetwork.sheet.in.h:51
+msgid "Modem"
+msgstr "Módem"
+
+#: sheets/cisconetwork.sheet.in.h:52
+msgid "NetRanger intrusion detection system"
+msgstr "Sistema de detección de intrusos NetRanger"
+
+#: sheets/cisconetwork.sheet.in.h:53
+msgid "NetSonar security scanner"
+msgstr "Scaner de seguridad NetSonar"
+
+#: sheets/cisconetwork.sheet.in.h:54
+msgid "Network management"
+msgstr "Gestión de red"
+
+#: sheets/cisconetwork.sheet.in.h:55
+msgid "Network shapes by Cisco"
+msgstr "Formas de gestión de red por Cisco"
+
+#: sheets/cisconetwork.sheet.in.h:56
+msgid "ONS15500 DWDM platform"
+msgstr "Plataforma ONS15500 DWDM"
+
+#: sheets/cisconetwork.sheet.in.h:57
+msgid "Octel"
+msgstr "Octel"
+
+#: sheets/cisconetwork.sheet.in.h:58
+msgid "Optical amplifier"
+msgstr "Amplificador óptico"
+
+#: sheets/cisconetwork.sheet.in.h:59
+msgid "Optical transport"
+msgstr "Transporte óptico"
+
+#: sheets/cisconetwork.sheet.in.h:60
+msgid "PAD"
+msgstr "PAD"
+
+#: sheets/cisconetwork.sheet.in.h:61
+msgid "PAD X.28"
+msgstr "PAD X.28"
+
+#: sheets/cisconetwork.sheet.in.h:62
+msgid "PBX"
+msgstr "PBX"
+
+#: sheets/cisconetwork.sheet.in.h:63
+msgid "PC adapter card"
+msgstr "Tarjeta adaptador PC"
+
+#: sheets/cisconetwork.sheet.in.h:64
+msgid "PC router card"
+msgstr "Tarjeta encaminador PC"
+
+#: sheets/cisconetwork.sheet.in.h:65
+msgid "PIX firewall"
+msgstr "Cortafuegos PIX"
+
+#: sheets/cisconetwork.sheet.in.h:66
+msgid "PXF"
+msgstr "PXF"
+
+#: sheets/cisconetwork.sheet.in.h:67
+msgid "Protocol translator"
+msgstr "Traductor de protocolo"
+
+#: sheets/cisconetwork.sheet.in.h:68
+msgid "RateMUX"
+msgstr "RateMUX"
+
+#: sheets/cisconetwork.sheet.in.h:69
+msgid "Repeater"
+msgstr "Repetidor"
+
+#: sheets/cisconetwork.sheet.in.h:70
+msgid "SC2200 (Signalling controller)"
+msgstr "SC2200 (controlador de señales)"
+
+#: sheets/cisconetwork.sheet.in.h:71
+msgid "STP"
+msgstr "STP"
+
+#: sheets/cisconetwork.sheet.in.h:72
+msgid "System controller"
+msgstr "Controlador de sistema"
+
+#: sheets/cisconetwork.sheet.in.h:73
+msgid "Transpath"
+msgstr "Ruta de transporte"
+
+#: sheets/cisconetwork.sheet.in.h:74
+msgid "Universal gateway"
+msgstr "Pasarela universal"
+
+#: sheets/cisconetwork.sheet.in.h:75
+msgid "VIP"
+msgstr "VIP"
+
+#: sheets/cisconetwork.sheet.in.h:76
+msgid "VPN concentrator"
+msgstr "Conventrador VPN"
+
+#: sheets/cisconetwork.sheet.in.h:77
+msgid "VPN gateway"
+msgstr "Pasarela VPN"
+
+#: sheets/cisconetwork.sheet.in.h:78
+msgid "Virtual switch controller (VSC 3000)"
+msgstr "Controlador virtual de conmutación (VSC 3000)"
+
+#: sheets/cisconetwork.sheet.in.h:79
+msgid "Wireless bridge"
+msgstr "Puente inalámbrico"
+
+#: sheets/ciscorouter.sheet.in.h:1
+msgid "7500ARS (7513)"
+msgstr "7500ARS (7513)"
+
+#: sheets/ciscorouter.sheet.in.h:2
+msgid "7505"
+msgstr "7505"
+
+#: sheets/ciscorouter.sheet.in.h:3
+msgid "7507"
+msgstr "7507"
+
+#: sheets/ciscorouter.sheet.in.h:4
+msgid "ATM router"
+msgstr "Encaminador ATM"
+
+#: sheets/ciscorouter.sheet.in.h:5
+msgid "ATM tag sw gigabit router"
+msgstr "Símbolo del encaminador conmutador gigabit ATM"
+
+#: sheets/ciscorouter.sheet.in.h:6
+msgid "ATM tag switch router"
+msgstr "Símbolo del encaminador conmutador ATM"
+
+#: sheets/ciscorouter.sheet.in.h:7
+msgid "Broadband router"
+msgstr "Encamindador de banda ancha"
+
+#: sheets/ciscorouter.sheet.in.h:8
+msgid "Cisco - Router"
+msgstr "Encaminador Cisco"
+
+#: sheets/ciscorouter.sheet.in.h:9
+msgid "Cisco 1000"
+msgstr "Cisco 1000"
+
+#: sheets/ciscorouter.sheet.in.h:10
+msgid "Content service router"
+msgstr "Encaminador de servicios de contenido"
+
+#: sheets/ciscorouter.sheet.in.h:11
+msgid "Gigabit switch router (ATM tag)"
+msgstr "Encaminador conmutador Gigabit (etiqueta ATM)"
+
+#: sheets/ciscorouter.sheet.in.h:12
+msgid "IAD router"
+msgstr "Encaminador IAD"
+
+#: sheets/ciscorouter.sheet.in.h:13
+msgid "IP telephony router"
+msgstr "Encaminador de telefonía IP"
+
+#: sheets/ciscorouter.sheet.in.h:14
+msgid "NetFlow router"
+msgstr "Encaminador NetFlow"
+
+#: sheets/ciscorouter.sheet.in.h:15
+msgid "Optical services router"
+msgstr "Encaminador de servicios ópticos"
+
+#: sheets/ciscorouter.sheet.in.h:16
+msgid "Router"
+msgstr "Encaminador"
+
+#: sheets/ciscorouter.sheet.in.h:17
+msgid "Router in building"
+msgstr "Encaminador en edificio"
+
+#: sheets/ciscorouter.sheet.in.h:18
+msgid "Router shapes by Cisco"
+msgstr "Formas de encaminadores por Cisco"
+
+#: sheets/ciscorouter.sheet.in.h:19
+msgid "Router with firewall"
+msgstr "Encaminador con cortafuegos"
+
+#: sheets/ciscorouter.sheet.in.h:20
+msgid "Router with silicon switch"
+msgstr "Encaminador con conmutador de silicio"
+
+#: sheets/ciscorouter.sheet.in.h:21
+msgid "Storage router"
+msgstr "Encaminador de almacenamiento"
+
+#: sheets/ciscorouter.sheet.in.h:22
+msgid "TDM router"
+msgstr "Encaminador TDM"
+
+#: sheets/ciscorouter.sheet.in.h:23
+msgid "Voice router"
+msgstr "Encaminador de voz"
+
+#: sheets/ciscorouter.sheet.in.h:24
+msgid "Wavelength router"
+msgstr "Encaminador de longitud de onda"
+
+#: sheets/ciscorouter.sheet.in.h:25
+msgid "Workgroup 5000 multilayer switch"
+msgstr "Conmutador multicapa Workgroup 5000"
+
+#: sheets/ciscorouter.sheet.in.h:26
+msgid "Workgroup 5002 multilayer switch"
+msgstr "Comnutador multicapa Workgroup 5002"
+
+#: sheets/ciscorouter.sheet.in.h:27
+msgid "Workgroup 5500 multilayer switch"
+msgstr "Comnutador multicapa Workgroup 5500"
+
+#: sheets/ciscorouter.sheet.in.h:28
+msgid "uBR910"
+msgstr "uBR910"
+
+#: sheets/civil.sheet.in.h:1
+msgid "Aerator with bubbles"
+msgstr "Un aireador con burbujas"
+
+#: sheets/civil.sheet.in.h:2
+msgid "Backflow preventer"
+msgstr "Una válvula anti-retorno"
+
+#: sheets/civil.sheet.in.h:3
+msgid "Basin"
+msgstr "Un lavabo"
+
+#: sheets/civil.sheet.in.h:4
+msgid "Bivalent vertical rest"
+msgstr "Descanso vertical bivalente"
+
+#: sheets/civil.sheet.in.h:5
+msgid "Civil"
+msgstr "Civil"
+
+#: sheets/civil.sheet.in.h:6
+msgid "Civil Engineering Components"
+msgstr "Componentes de ingeniería civil"
+
+#: sheets/civil.sheet.in.h:7
+msgid "Container"
+msgstr "Contenedor"
+
+#: sheets/civil.sheet.in.h:8
+msgid "Final-settling basin"
+msgstr "La ubicación final de un lavabo"
+
+#: sheets/civil.sheet.in.h:9
+msgid "Frequency converter"
+msgstr "Convertidor de frecuencia"
+
+#: sheets/civil.sheet.in.h:10
+msgid "Gas bottle"
+msgstr "Botella de gas"
+
+#: sheets/civil.sheet.in.h:11
+msgid "Horizontal limiting line"
+msgstr "Línea de limitación horizontal"
+
+#: sheets/civil.sheet.in.h:12
+msgid "Horizontal rest"
+msgstr "Descanso horizontal"
+
+#: sheets/civil.sheet.in.h:13
+msgid "Horizontally aligned arrow"
+msgstr "Una flecha alineada horizontalmente"
+
+#: sheets/civil.sheet.in.h:14
+msgid "Horizontally aligned compressor"
+msgstr "Compresor alineado horizontalmente"
+
+#: sheets/civil.sheet.in.h:15
+msgid "Horizontally aligned pump"
+msgstr "Bomba alineada horizontalmente"
+
+#: sheets/civil.sheet.in.h:16
+msgid "Horizontally aligned valve"
+msgstr "Válvula alineada horizontalmente"
+
+#: sheets/civil.sheet.in.h:17
+msgid "Motor"
+msgstr "Motor"
+
+#: sheets/civil.sheet.in.h:18
+msgid "Preliminary clarification tank"
+msgstr "Un tanque de clarificación preliminar"
+
+#: sheets/civil.sheet.in.h:19
+msgid "Reference line"
+msgstr "Línea de referencia"
+
+#: sheets/civil.sheet.in.h:20
+msgid "Rotor"
+msgstr "Rotor"
+
+#: sheets/civil.sheet.in.h:21
+msgid "Soil"
+msgstr "Tierra"
+
+#: sheets/civil.sheet.in.h:22
+msgid "Vertical limiting line"
+msgstr "Línea de limitación vertical"
+
+#: sheets/civil.sheet.in.h:23
+msgid "Vertical rest"
+msgstr "Descanso vertical"
+
+#: sheets/civil.sheet.in.h:24
+msgid "Vertically aligned arrow"
+msgstr "Flecha alineada verticalmente"
+
+#: sheets/civil.sheet.in.h:25
+msgid "Vertically aligned compressor"
+msgstr "Compresor alineado verticalmente"
+
+#: sheets/civil.sheet.in.h:26
+msgid "Vertically aligned propeller"
+msgstr "Hélice alineada verticalmente"
+
+#: sheets/civil.sheet.in.h:27
+msgid "Vertically aligned pump"
+msgstr "Bomba alineada verticalmente"
+
+#: sheets/civil.sheet.in.h:28
+msgid "Vertically aligned valve"
+msgstr "Válvula alineada verticalmente"
+
+#: sheets/civil.sheet.in.h:29
+msgid "Water level"
+msgstr "Nivel del agua"
+
+#: sheets/jigsaw.sheet.in.h:1
+msgid "Jigsaw"
+msgstr "Puzzle"
+
+#: sheets/jigsaw.sheet.in.h:2
+msgid "Jigsaw - part_iiii"
+msgstr "Puzzle - parte_iiii"
+
+#: sheets/jigsaw.sheet.in.h:3
+msgid "Jigsaw - part_iiio"
+msgstr "Puzzle - parte_iiio"
+
+#: sheets/jigsaw.sheet.in.h:4
+msgid "Jigsaw - part_iioi"
+msgstr "Puzzle - parte_iioi"
+
+#: sheets/jigsaw.sheet.in.h:5
+msgid "Jigsaw - part_iioo"
+msgstr "Puzzle - parte_iioo"
+
+#: sheets/jigsaw.sheet.in.h:6
+msgid "Jigsaw - part_ioii"
+msgstr "Puzzle - parte_ioii"
+
+#: sheets/jigsaw.sheet.in.h:7
+msgid "Jigsaw - part_ioio"
+msgstr "Puzzle - parte_ioio"
+
+#: sheets/jigsaw.sheet.in.h:8
+msgid "Jigsaw - part_iooi"
+msgstr "Puzzle - parte_iooi"
+
+#: sheets/jigsaw.sheet.in.h:9
+msgid "Jigsaw - part_iooo"
+msgstr "Puzzle - parte_iooo"
+
+#: sheets/jigsaw.sheet.in.h:10
+msgid "Jigsaw - part_oiii"
+msgstr "Puzzle - parte_oiii"
+
+#: sheets/jigsaw.sheet.in.h:11
+msgid "Jigsaw - part_oiio"
+msgstr "Puzzle - parte_oiio"
+
+#: sheets/jigsaw.sheet.in.h:12
+msgid "Jigsaw - part_oioi"
+msgstr "Puzzle - parte_oioi"
+
+#: sheets/jigsaw.sheet.in.h:13
+msgid "Jigsaw - part_oioo"
+msgstr "Puzzle - parte_oioo"
+
+#: sheets/jigsaw.sheet.in.h:14
+msgid "Jigsaw - part_ooii"
+msgstr "Puzzle - parte_ooii"
+
+#: sheets/jigsaw.sheet.in.h:15
+msgid "Jigsaw - part_ooio"
+msgstr "Puzzle - parte_ooio"
+
+#: sheets/jigsaw.sheet.in.h:16
+msgid "Jigsaw - part_oooi"
+msgstr "Puzzle - parte_oooi"
+
+#: sheets/jigsaw.sheet.in.h:17
+msgid "Jigsaw - part_oooo"
+msgstr "Puzzle - parte_oooo"
+
+#: sheets/jigsaw.sheet.in.h:18
+msgid "Pieces of a jigsaw"
+msgstr "Piezas de un puzzle"
+
+#: sheets/network.sheet.in.h:1
+msgid "3 1/2 inch diskette"
+msgstr "Disquete de 3 1/2 pulgadas"
+
+#: sheets/network.sheet.in.h:2
+msgid "ATM switch symbol"
+msgstr "Símbolo de switch ATM"
+
+#: sheets/network.sheet.in.h:3
+msgid "Antenna for wireless transmission"
+msgstr "Una antena para la transmisión inalámbrica"
+
+#: sheets/network.sheet.in.h:4
+msgid "Bigtower PC"
+msgstr "PC de torre grande"
+
+#: sheets/network.sheet.in.h:5
+msgid "Computer"
+msgstr "Computadora"
+
+#: sheets/network.sheet.in.h:6
+msgid "Desktop PC"
+msgstr "PC de escritorio"
+
+#: sheets/network.sheet.in.h:7
+msgid "Digitizing board"
+msgstr "Tableta de digitalización"
+
+#: sheets/network.sheet.in.h:8
+msgid "Ethernet bus"
+msgstr "Bus Ethernet"
+
+#: sheets/network.sheet.in.h:9
+msgid "External DAT drive"
+msgstr "Unidad DAT externa"
+
+#: sheets/network.sheet.in.h:10
+msgid "Firewall router"
+msgstr "Encaminador cortafuegos"
+
+#: sheets/network.sheet.in.h:11
+msgid "Laptop PC"
+msgstr "PC portátil"
+
+#: sheets/network.sheet.in.h:12
+msgid "Miditower PC"
+msgstr "PC de torre media"
+
+#: sheets/network.sheet.in.h:13
+msgid "Minitower PC"
+msgstr "PC de torre pequeña"
+
+#: sheets/network.sheet.in.h:14
+msgid "Mobile phone"
+msgstr "Teléfono móvil"
+
+#: sheets/network.sheet.in.h:15
+msgid "Modular switching system"
+msgstr "Sistema de conexión modular"
+
+#: sheets/network.sheet.in.h:16
+msgid "Monitor"
+msgstr "Monitor"
+
+#: sheets/network.sheet.in.h:17
+msgid "Network"
+msgstr "Red"
+
+#: sheets/network.sheet.in.h:18
+msgid "Network cloud"
+msgstr "Nube de la red"
+
+#: sheets/network.sheet.in.h:19
+msgid "Objects to design network diagrams with"
+msgstr "Objetos para diseñar diagramas de red"
+
+#: sheets/network.sheet.in.h:20
+msgid "Plotter"
+msgstr "Plotter"
+
+#: sheets/network.sheet.in.h:21
+msgid "RJ45 wall-plug"
+msgstr "Enchufe de pared RJ45"
+
+#: sheets/network.sheet.in.h:22
+msgid "Router symbol"
+msgstr "Símbolo del encaminador"
+
+#: sheets/network.sheet.in.h:23
+msgid "Simple modem"
+msgstr "Módem simple"
+
+#: sheets/network.sheet.in.h:24
+msgid "Simple printer"
+msgstr "Impresora simple"
+
+#: sheets/network.sheet.in.h:25
+msgid "Speaker with integrated amplifier"
+msgstr "Altavoz con amplificador integrado"
+
+#: sheets/network.sheet.in.h:26
+msgid "Speaker without amplifier"
+msgstr "Altavoz sin amplificador"
+
+#: sheets/network.sheet.in.h:27
+msgid "Stackable hub or switch"
+msgstr "Hub o switch apilable"
+
+#: sheets/network.sheet.in.h:28
+msgid "Storage"
+msgstr "Almacenamiento"
+
+#: sheets/network.sheet.in.h:29
+msgid "Switch symbol"
+msgstr "Símbolo de switch"
+
+#: sheets/network.sheet.in.h:30
+msgid "Telephone"
+msgstr "Teléfono"
+
+#: sheets/network.sheet.in.h:31
+msgid "UNIX workstation"
+msgstr "Estación de trabajo UNIX"
+
+#: sheets/network.sheet.in.h:32
+msgid "WAN connection"
+msgstr "Conexión WAN"
+
+#: sheets/network.sheet.in.h:33
+msgid "WAN link"
+msgstr "Enlace WAN"
+
+#: sheets/network.sheet.in.h:34
+msgid "Wall-plug for the scEAD cabling system"
+msgstr "Enchufe de pared para el sistema de cableado scEAD"
+
+#: sheets/network.sheet.in.h:35
+msgid "Workstation monitor"
+msgstr "Monitor de estación de trabajo"
+
+#: sheets/network.sheet.in.h:36
+msgid "ZIP disk"
+msgstr "Disco ZIP"
+
+#: sheets/sybase.sheet.in.h:1
+msgid "Log transfer manager or rep agent"
+msgstr "Agente rep o gestor de transferencia de log"
+
+#: sheets/sybase.sheet.in.h:2
+msgid "Objects to design Sybase replication domain diagrams with"
+msgstr "Objetos para diseñar diagramas en el dominio de replicación de Sybase"
+
+#: sheets/sybase.sheet.in.h:3
+msgid "Replication server manager"
+msgstr "Gestor del servidor de replicación"
+
+#: sheets/sybase.sheet.in.h:4
+msgid "Stable storage device"
+msgstr "Dispositivo de almacenamiento estable"
+
+#: sheets/sybase.sheet.in.h:5
+msgid "Sybase"
+msgstr "Sybase"
+
+#: sheets/sybase.sheet.in.h:6
+msgid "Sybase client application"
+msgstr "Una aplicación cliente de sybase"
+
+#: sheets/sybase.sheet.in.h:7
+msgid "Sybase dataserver"
+msgstr "Un servidor de datos sybase"
+
+#: sheets/sybase.sheet.in.h:8
+msgid "Sybase replication server"
+msgstr "Un servidor de replicación de sybase"
+
+#~ msgid "Box with text inside"
+#~ msgstr "Caja con texto dentro"
+
+#~ msgid "Diamond with text inside"
+#~ msgstr "Diamante con texto dentro"
+
+#~ msgid "Ellipse with text inside"
+#~ msgstr "Elipse con texto dentro"
+
+#~ msgid "Parallelogram with text inside"
+#~ msgstr "Paralelogramo con texto dentro"
+
+#~ msgid "/Dialogs/_Properties..."
+#~ msgstr "/Diálogos/_Propiedades..."
+
+#~ msgid "Create Text"
+#~ msgstr "Crear texto"
+
+#~ msgid "Create Ellipse"
+#~ msgstr "Crear elipse"
+
+#~ msgid "Create Polygon"
+#~ msgstr "Crear polígono"
+
+#~ msgid "Create Beziergon"
+#~ msgstr "Crear beziérgono"
+
+#~ msgid "Create Line"
+#~ msgstr "Crear línea"
+
+#~ msgid "Create Arc"
+#~ msgstr "Crear arco"
+
+#~ msgid "Create Zigzagline"
+#~ msgstr "Crear línea en zigzag"
+
+#~ msgid "Create Polyline"
+#~ msgstr "Crear polilínea"
+
+#~ msgid "Create Bezierline"
+#~ msgstr "Crear bezierlínea"
+
+#~ msgid "Create Image"
+#~ msgstr "Crear imagen"
+
+#~ msgid "Show at startup:"
+#~ msgstr "Mostrar al inicio:"
+
+#~ msgid "Default width:"
+#~ msgstr "Ancho predeterminado:"
+
+#~ msgid "Default height:"
+#~ msgstr "Alto predeterminado"
+
+#~ msgid "Remember last size:"
+#~ msgstr "Recordar el último tamaño:"
+
+#~ msgid "Could not load XSLT library (%s) : %s"
+#~ msgstr "No se pudo cargar la biblioteca XSLT (%s): %s"
+
+#~ msgid "A pnp bipolar transistor"
+#~ msgstr "Un transistor bipolar pnp"
+
+#~ msgid "A relay"
+#~ msgstr "Un relé"
+
+#~ msgid "Create a flow"
+#~ msgstr "Crear un flujo"
+
+#~ msgid "Create a function"
+#~ msgstr "Crear una función"
+
+#~ msgid "A macro call step"
+#~ msgstr "Un paso de llamada a macro"
+
+#~ msgid "A macro entry step"
+#~ msgstr "Un paso de entrada a macro"
+
+#~ msgid "A macro exit step"
+#~ msgstr "Un paso de salida de macro"
+
+#~ msgid "A regular step"
+#~ msgstr "Un paso regular"
+
+#~ msgid "A transition"
+#~ msgstr "Una transición"
+
+#~ msgid "An initial step"
+#~ msgstr "Un paso inicial"
+
+#~ msgid "A Nand gate"
+#~ msgstr "Una puerta Nand"
+
+# Una puerta NOT. FVD
+#~ msgid "A Not"
+#~ msgstr "Un No"
+
+#~ msgid "A Xor gate"
+#~ msgstr "Una puerta Xor"
+
+#~ msgid "An And gate"
+#~ msgstr "Una puerta Y"
+
+#~ msgid "An Inverter"
+#~ msgstr "Un inversor"
+
+#~ msgid "A File"
+#~ msgstr "Un archivo"
+
+#~ msgid "Create a branch"
+#~ msgstr "Crear un salto"
+
+#~ msgid "Create a class"
+#~ msgstr "Crear una clase"
+
+#~ msgid "Create a component"
+#~ msgstr "Crear un componente"
+
+#~ msgid "Create a initial/end state"
+#~ msgstr "Crear un estado de inicio/fin"
+
+#~ msgid "Create a lifeline"
+#~ msgstr "Crear una línea de vida"
+
+#~ msgid "Create a message"
+#~ msgstr "Crear un mensaje"
+
+#~ msgid "Create a node"
+#~ msgstr "Crear un nodo"
+
+#~ msgid "Create a note"
+#~ msgstr "Crear una nota"
+
+#~ msgid "Create a state"
+#~ msgstr "Crear una estado"
+
+#~ msgid "Create a template class"
+#~ msgstr "Crear una clase plantilla"
+
+#~ msgid "Create a use case"
+#~ msgstr "Crear un caso de uso"
+
+#~ msgid "Create an activity"
+#~ msgstr "Crear una actividad"
+
+#~ msgid "Create an actor"
+#~ msgstr "Crear un actor"
+
+#~ msgid "Create an object"
+#~ msgstr "Crear un objeto"
+
+#~ msgid "Untitled-%d"
+#~ msgstr "Sin titulo-%d"
+
+#~ msgid ""
+#~ "The anti aliased renderer is buggy, and may cause\n"
+#~ "crashes.  We know there are bugs in it, so don't\n"
+#~ "bother submitting another report if it crashes"
+#~ msgstr ""
+#~ "La renderización anti-aliased es defectuosa, y puede\n"
+#~ "causar cuelgues. Sabemos que hay errores, así que no\n"
+#~ "remita informes de cuelgues"
+
+#~ msgid "Apply"
+#~ msgstr "Aplicar"
+
+#~ msgid "DIA_PLUGIN_PATH not set.  Stylesheets not available.\n"
+#~ msgstr ""
+#~ "No está fijado DIA_PLUGIN_PATH.  No están disponibles las hojas de "
+#~ "estilo.\n"
+
+#~ msgid "Could not load XSLT plugin; DIA_PLUGIN_PATH is not set."
+#~ msgstr "No se pudo cargar el plugin XSLT; DIA_PLUGIN_PATH no está fijada."
+
diff -Nuar cvs-dia/samples/CVS/Entries dia/samples/CVS/Entries
--- cvs-dia/samples/CVS/Entries	2003-08-30 19:01:02.000000000 +0200
+++ dia/samples/CVS/Entries	2003-08-30 19:39:55.000000000 +0200
@@ -6,4 +6,5 @@
 /all_objects.dia/1.1/Fri Feb 28 19:12:44 2003/-kb/
 /chronograms.dia/1.4/Sat May 18 06:54:25 2002/-kb/
 /grafcet.dia/1.9/Sat May 18 06:54:25 2002/-kb/
-D
+D/Fig////
+D/Visio////
diff -Nuar cvs-dia/samples/CVS/Entries.Log dia/samples/CVS/Entries.Log
--- cvs-dia/samples/CVS/Entries.Log	1970-01-01 01:00:00.000000000 +0100
+++ dia/samples/CVS/Entries.Log	2003-08-30 19:39:55.000000000 +0200
@@ -0,0 +1,2 @@
+A D/Fig////
+A D/Visio////
diff -Nuar cvs-dia/samples/CVS/Entries.orig dia/samples/CVS/Entries.orig
--- cvs-dia/samples/CVS/Entries.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/samples/CVS/Entries.orig	2003-08-30 19:39:11.000000000 +0200
@@ -0,0 +1,9 @@
+/.cvsignore/1.1/Tue Jan 19 15:01:14 1999//
+/ER-demo.dia/1.6/Tue Jul 15 06:50:12 2003/-kb/
+/Makefile.am/1.2/Fri Mar  9 19:05:04 2001//
+/SADT.dia/1.4/Sat May 18 06:54:25 2002/-kb/
+/UML-demo.dia/1.8/Tue Jul 15 06:50:12 2003/-kb/
+/all_objects.dia/1.1/Fri Feb 28 19:12:44 2003/-kb/
+/chronograms.dia/1.4/Sat May 18 06:54:25 2002/-kb/
+/grafcet.dia/1.9/Sat May 18 06:54:25 2002/-kb/
+D
diff -Nuar cvs-dia/shapes/CVS/Entries dia/shapes/CVS/Entries
--- cvs-dia/shapes/CVS/Entries	2003-08-30 19:01:02.000000000 +0200
+++ dia/shapes/CVS/Entries	2003-08-30 19:39:55.000000000 +0200
@@ -1,3 +1,18 @@
 /.cvsignore/1.1/Sun Sep  5 14:46:51 1999//
 /Makefile.am/1.17/Mon Dec  2 05:11:52 2002//
-D
+D/Assorted////
+D/Circuit////
+D/Circuit_eu////
+D/Cisco////
+D/Civil////
+D/Contact////
+D/Electric////
+D/Logic////
+D/MSE////
+D/Misc////
+D/Pneumatic////
+D/SDL////
+D/flowchart////
+D/jigsaw////
+D/network////
+D/sybase////
diff -Nuar cvs-dia/shapes/CVS/Entries.orig dia/shapes/CVS/Entries.orig
--- cvs-dia/shapes/CVS/Entries.orig	1970-01-01 01:00:00.000000000 +0100
+++ dia/shapes/CVS/Entries.orig	2003-08-30 19:39:12.000000000 +0200
@@ -0,0 +1,3 @@
+/.cvsignore/1.1/Sun Sep  5 14:46:51 1999//
+/Makefile.am/1.17/Mon Dec  2 05:11:52 2002//
+D

-- 
Yours 
Peter Poulsen


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] Mail converted by Mofo Magic and the Flying D

 
All trademarks and copyrights are the property of their respective owners.

Other Directory Sites: SeekWonder | Directory Owners Forum

GuideSMACK