[Date Prev ][Date Next ] [Thread Prev ][Thread Next ]
[Thread Index ]
[Date Index ]
[Author Index ]
Re: How to contribute
From : Peter Poulsen <peter_poulsen stofanet dk>
To : dia-list gnome org
Subject : Re: How to contribute
Date : 30 Aug 2003 20:07:00 +0200
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épé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 "[OPCIN...] [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épé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