From e9b6af083e34e2397a8ddbe9781920733d09d151 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 27 Oct 2008 13:03:09 -0500 Subject: [PATCH] From trunk --- AUTHORS | 6 + inkscape.pod | 149 +- po/POTFILES.in | 1 + po/ko.po | 11288 +++--- po/pl.po | 30199 ++++++++-------- po/ru.po | 6437 ++-- share/extensions/dimension.py | 2 + share/extensions/draw_from_triangle.inx | 78 + share/extensions/draw_from_triangle.py | 474 + share/extensions/dxf_outlines.py | 4 +- share/extensions/polyhedron_3d.inx | 21 +- share/extensions/polyhedron_3d.py | 406 +- share/extensions/render_barcode.inx | 9 +- share/extensions/simplestyle.py | 15 + share/icons/icons.svg | 111 +- src/Makefile_insert | 4 +- src/arc-context.cpp | 14 +- src/attributes-test.h | 1 + src/attributes.cpp | 1 + src/attributes.h | 1 + src/box3d-context.cpp | 20 +- src/box3d-side.cpp | 9 +- src/box3d.cpp | 5 +- src/color-profile.cpp | 38 +- src/common-context.cpp | 76 +- src/conn-avoid-ref.cpp | 9 +- src/connector-context.cpp | 70 +- src/connector-context.h | 4 +- src/context-fns.cpp | 12 +- src/debug/gdk-event-latency-tracker.cpp | 5 +- src/desktop-events.cpp | 7 +- src/desktop-handles.h | 4 +- src/desktop-style.cpp | 79 +- src/desktop-style.h | 9 +- src/desktop.cpp | 293 +- src/desktop.h | 2 +- src/dialogs/clonetiler.cpp | 260 +- src/dialogs/dialog-events.cpp | 10 +- src/dialogs/export.cpp | 28 +- src/dialogs/fill-style.cpp | 28 +- src/dialogs/find.cpp | 22 +- src/dialogs/iconpreview.cpp | 60 +- src/dialogs/input.cpp | 173 +- src/dialogs/item-properties.cpp | 23 +- src/dialogs/layers-panel.cpp | 7 +- src/dialogs/stroke-style.cpp | 9 +- src/dialogs/swatches.cpp | 8 +- src/dialogs/swatches.h | 2 +- src/dialogs/text-edit.cpp | 37 +- src/dialogs/tiledialog.cpp | 155 +- src/dialogs/xml-tree.cpp | 22 +- src/display/bezier-utils-test.cpp | 8 +- src/display/bezier-utils-test.h | 140 +- src/display/bezier-utils.cpp | 22 +- src/display/canvas-arena.h | 2 +- src/display/canvas-axonomgrid.cpp | 21 +- src/display/canvas-grid.cpp | 39 +- src/display/canvas-grid.h | 17 +- src/display/canvas-text.cpp | 26 +- src/display/canvas-text.h | 2 +- src/display/nr-arena-glyphs.cpp | 10 +- src/display/nr-arena-glyphs.h | 4 +- src/display/nr-arena-image.cpp | 7 +- src/display/nr-arena-item.cpp | 7 +- src/display/nr-arena-shape.cpp | 1 - src/display/nr-arena-shape.h | 1 + src/display/nr-filter-gaussian.cpp | 7 +- src/display/nr-filter-slot.cpp | 23 +- src/display/nr-filter-slot.h | 6 + src/display/nr-filter-types.h | 8 + src/display/nr-filter.cpp | 43 +- src/display/nr-filter.h | 3 +- src/display/nr-svgfonts.cpp | 50 +- src/display/sp-canvas.cpp | 107 +- src/display/sp-canvas.h | 5 +- src/display/sp-ctrlquadr.cpp | 2 +- src/document.cpp | 62 +- src/draw-anchor.cpp | 4 +- src/draw-anchor.h | 8 +- src/draw-context.cpp | 41 +- src/dropper-context.cpp | 17 +- src/dyna-draw-context.cpp | 73 +- src/eraser-context.cpp | 36 +- src/event-context.cpp | 92 +- src/event-context.h | 9 +- src/extension/error-file.cpp | 13 +- src/extension/implementation/script.cpp | 2 +- src/extension/init.cpp | 14 +- src/extension/internal/bluredge.cpp | 11 +- src/extension/internal/cairo-ps-out.cpp | 207 +- .../internal/cairo-renderer-pdf-out.cpp | 28 +- src/extension/internal/cairo-renderer.cpp | 71 +- src/extension/internal/gdkpixbuf-input.cpp | 1 - .../internal/pdfinput/svg-builder.cpp | 4 +- src/extension/param/bool.cpp | 21 +- src/extension/param/color.cpp | 4 +- src/extension/param/color.h | 6 +- src/extension/param/description.cpp | 8 +- src/extension/param/enum.cpp | 20 +- src/extension/param/float.cpp | 12 +- src/extension/param/int.cpp | 25 +- src/extension/param/notebook.cpp | 14 +- src/extension/param/parameter.cpp | 12 +- src/extension/param/parameter.h | 32 +- src/extension/param/radiobutton.cpp | 10 +- src/extension/param/string.cpp | 9 +- src/file.cpp | 57 +- src/flood-context.cpp | 54 +- src/fontsize-expansion.cpp | 30 - src/fontsize-expansion.h | 9 - src/gradient-chemistry.cpp | 5 +- src/gradient-context.cpp | 21 +- src/gradient-drag.cpp | 11 +- src/graphlayout/graphlayout.cpp | 25 +- src/guide-snapper.cpp | 2 +- src/helper/png-write.cpp | 14 +- src/inkscape.cpp | 25 +- src/inkscape.h | 1 - src/inkview.cpp | 1 - src/interface.cpp | 127 +- src/io/sys.cpp | 9 +- src/knot-holder-entity.cpp | 7 +- src/knot.cpp | 5 +- src/layer-manager.cpp | 5 +- src/line-snapper.cpp | 14 +- src/line-snapper.h | 7 +- src/live_effects/effect.cpp | 2 +- src/live_effects/effect.h | 5 +- src/live_effects/lpe-bendpath.cpp | 7 - src/live_effects/lpe-bendpath.h | 1 - src/live_effects/lpe-curvestitch.cpp | 5 + src/live_effects/lpe-envelope.cpp | 7 - src/live_effects/lpe-envelope.h | 2 - src/live_effects/lpe-knot.cpp | 18 +- src/live_effects/lpe-patternalongpath.cpp | 7 - src/live_effects/lpe-patternalongpath.h | 2 - src/live_effects/lpe-sketch.cpp | 23 +- src/live_effects/lpe-sketch.h | 5 +- src/live_effects/lpe-vonkoch.cpp | 8 - src/live_effects/lpe-vonkoch.h | 2 - src/live_effects/lpegroupbbox.cpp | 21 +- src/live_effects/lpeobject-reference.cpp | 2 - src/lpe-tool-context.cpp | 39 +- src/main.cpp | 157 +- src/marker.cpp | 29 +- src/marker.h | 2 +- src/menus-skeleton.h | 4 +- src/node-context.cpp | 29 +- src/nodepath.cpp | 205 +- src/nodepath.h | 2 + src/object-edit.cpp | 14 +- src/object-snapper.cpp | 54 +- src/object-snapper.h | 20 +- src/path-chemistry.cpp | 101 +- src/path-chemistry.h | 1 + src/pen-context.cpp | 29 +- src/pencil-context.cpp | 41 +- src/pencil-context.h | 1 + src/preferences-skeleton.h | 1 + src/preferences.cpp | 513 +- src/preferences.h | 489 +- src/prefs-utils.cpp | 96 - src/prefs-utils.h | 93 - src/rect-context.cpp | 31 +- src/selcue.cpp | 9 +- src/select-context.cpp | 27 +- src/selection-chemistry.cpp | 60 +- src/selection.cpp | 63 +- src/selection.h | 4 +- src/seltrans.cpp | 72 +- src/shape-editor.cpp | 11 +- src/snap-preferences.cpp | 124 + src/snap-preferences.h | 81 + src/snap.cpp | 113 +- src/snap.h | 68 +- src/snapper.cpp | 34 +- src/snapper.h | 32 +- src/sp-ellipse.cpp | 14 +- src/sp-flowtext.cpp | 32 +- src/sp-flowtext.h | 10 +- src/sp-guide.cpp | 24 +- src/sp-guide.h | 6 +- src/sp-image.cpp | 15 +- src/sp-item-group.cpp | 532 +- src/sp-item-notify-moveto.cpp | 2 +- src/sp-item-rm-unsatisfied-cns.cpp | 2 +- src/sp-item-update-cns.cpp | 2 +- src/sp-item.cpp | 37 +- src/sp-item.h | 5 +- src/sp-lpe-item.cpp | 24 +- src/sp-namedview.cpp | 43 +- src/sp-offset.cpp | 22 +- src/sp-offset.h | 78 +- src/sp-path.cpp | 39 +- src/sp-rect.cpp | 9 +- src/sp-shape.cpp | 81 +- src/sp-spiral.cpp | 6 +- src/sp-star.cpp | 6 +- src/sp-text.cpp | 4 +- src/sp-use-reference.cpp | 8 +- src/sp-use.cpp | 14 +- src/spiral-context.cpp | 44 +- src/splivarot.cpp | 134 +- src/star-context.cpp | 50 +- src/style.cpp | 36 +- src/style.h | 6 +- src/svg-view.cpp | 2 +- src/svg/css-ostringstream.cpp | 5 +- src/svg/path-string.cpp | 11 +- src/svg/stringstream.cpp | 5 +- src/svg/svg-affine.cpp | 11 +- src/svg/svg-color-test.h | 7 +- src/svg/svg-color.cpp | 5 +- src/svg/svg-path-geom-test.h | 13 +- src/text-context.cpp | 66 +- src/text-context.h | 62 +- src/text-editing.cpp | 2 +- src/tools-switch.cpp | 74 +- src/tweak-context.cpp | 112 +- src/ui/clipboard.cpp | 2 +- src/ui/context-menu.cpp | 115 +- src/ui/dialog/aboutbox.cpp | 8 +- src/ui/dialog/aboutbox.h | 8 +- src/ui/dialog/align-and-distribute.cpp | 71 +- src/ui/dialog/align-and-distribute.h | 8 +- src/ui/dialog/behavior.h | 8 +- src/ui/dialog/dialog-manager.cpp | 7 +- src/ui/dialog/dialog-manager.h | 8 +- src/ui/dialog/dialog.cpp | 29 +- src/ui/dialog/dialog.h | 18 +- src/ui/dialog/dock-behavior.cpp | 24 +- src/ui/dialog/dock-behavior.h | 8 +- src/ui/dialog/document-metadata.cpp | 18 +- src/ui/dialog/document-metadata.h | 9 +- src/ui/dialog/document-properties.cpp | 37 +- src/ui/dialog/document-properties.h | 12 +- src/ui/dialog/extension-editor.cpp | 14 +- src/ui/dialog/extension-editor.h | 8 +- src/ui/dialog/filedialog.cpp | 10 +- src/ui/dialog/filedialog.h | 14 +- src/ui/dialog/filedialogimpl-gtkmm.cpp | 57 +- src/ui/dialog/filedialogimpl-gtkmm.h | 29 +- src/ui/dialog/filedialogimpl-win32.cpp | 11 +- src/ui/dialog/filedialogimpl-win32.h | 10 +- src/ui/dialog/fill-and-stroke.cpp | 15 +- src/ui/dialog/fill-and-stroke.h | 9 +- src/ui/dialog/filter-effects-dialog.cpp | 18 +- src/ui/dialog/filter-effects-dialog.h | 8 +- src/ui/dialog/find.cpp | 7 +- src/ui/dialog/find.h | 92 +- src/ui/dialog/floating-behavior.cpp | 61 +- src/ui/dialog/floating-behavior.h | 8 +- src/ui/dialog/inkscape-preferences.cpp | 430 +- src/ui/dialog/inkscape-preferences.h | 9 +- src/ui/dialog/input.cpp | 62 +- src/ui/dialog/input.h | 11 +- src/ui/dialog/livepatheffect-editor.cpp | 13 +- src/ui/dialog/livepatheffect-editor.h | 9 +- src/ui/dialog/memory.cpp | 10 +- src/ui/dialog/memory.h | 9 +- src/ui/dialog/messages.cpp | 25 +- src/ui/dialog/messages.h | 9 +- src/ui/dialog/ocaldialogs.cpp | 12 +- src/ui/dialog/ocaldialogs.h | 16 +- src/ui/dialog/panel-dialog.h | 17 +- src/ui/dialog/print.cpp | 20 +- src/ui/dialog/print.h | 9 +- src/ui/dialog/scriptdialog.cpp | 24 +- src/ui/dialog/scriptdialog.h | 29 +- src/ui/dialog/session-player.cpp | 20 +- src/ui/dialog/session-player.h | 22 +- src/ui/dialog/svg-fonts-dialog.cpp | 23 +- src/ui/dialog/svg-fonts-dialog.h | 9 +- src/ui/dialog/tracedialog.cpp | 9 +- src/ui/dialog/tracedialog.h | 29 +- src/ui/dialog/transformation.cpp | 35 +- src/ui/dialog/transformation.h | 9 +- src/ui/dialog/undo-history.cpp | 11 +- src/ui/dialog/undo-history.h | 21 +- src/ui/dialog/whiteboard-connect.cpp | 29 +- src/ui/dialog/whiteboard-connect.h | 19 +- src/ui/dialog/whiteboard-sharewithchat.cpp | 24 +- src/ui/dialog/whiteboard-sharewithchat.h | 19 +- src/ui/dialog/whiteboard-sharewithuser.cpp | 8 +- src/ui/dialog/whiteboard-sharewithuser.h | 10 +- src/ui/view/edit-widget.cpp | 20 +- src/ui/widget/dock-item.cpp | 10 +- src/ui/widget/dock.cpp | 15 +- src/ui/widget/dock.h | 8 +- src/ui/widget/panel.cpp | 115 +- src/ui/widget/panel.h | 2 +- src/ui/widget/preferences-widget.cpp | 99 +- src/ui/widget/preferences-widget.h | 30 +- src/ui/widget/registered-widget.cpp | 8 + src/ui/widget/style-swatch.cpp | 202 +- src/ui/widget/style-swatch.h | 45 +- src/vanishing-point.cpp | 6 +- src/verbs.cpp | 53 +- src/widgets/dash-selector.cpp | 63 +- src/widgets/dash-selector.h | 17 +- src/widgets/desktop-widget.cpp | 266 +- src/widgets/gradient-toolbar.cpp | 26 +- src/widgets/gradient-vector.cpp | 142 +- src/widgets/icon.cpp | 24 +- src/widgets/select-toolbar.cpp | 56 +- src/widgets/sp-color-icc-selector.cpp | 11 +- src/widgets/sp-color-notebook.cpp | 23 +- src/widgets/toolbox.cpp | 662 +- src/widgets/toolbox.h | 2 +- src/xml/node-observer.h | 17 +- src/xml/repr-io.cpp | 7 +- src/zoom-context.cpp | 24 +- utf8-to-roff | 9 +- 313 files changed, 30186 insertions(+), 30537 deletions(-) create mode 100644 share/extensions/draw_from_triangle.inx create mode 100644 share/extensions/draw_from_triangle.py delete mode 100644 src/fontsize-expansion.cpp delete mode 100644 src/fontsize-expansion.h delete mode 100644 src/prefs-utils.cpp delete mode 100644 src/prefs-utils.h create mode 100644 src/snap-preferences.cpp create mode 100644 src/snap-preferences.h diff --git a/AUTHORS b/AUTHORS index 724ec295e..ea8fdbea6 100644 --- a/AUTHORS +++ b/AUTHORS @@ -7,6 +7,7 @@ John Bintz Arpad Biro Nicholas Bishop Joshua L. Blocher +Henrik Bohre Boldewyn Daniel Borgmann Bastien Bouclet @@ -37,6 +38,7 @@ Tim Dwyer Maxim V. Dziumanenko Johan Engelen Miklos Erdelyi +Ulf Erikson Noé Falzon Frank Felfe Andrew Fitzsimon @@ -53,11 +55,13 @@ Bryce Harrington Dale Harvey Carl Hetherington Jos Hirth +Thomas Holder Joel Holdsworth Alan Horkan Karl Ove Hufthammer Richard Hughes Nathan Hurst +inductiveload Thomas Ingham Jean-Olivier Irisson Bob Jamison @@ -66,6 +70,8 @@ Lynn Kerby Niko Kiirala James Kilfiger Jason Kivlighn +Adrian Knoth +Krzysztof Kosiński Petr Kovar Raph Levien Diederik van Lierop diff --git a/inkscape.pod b/inkscape.pod index 5870d99cd..a1e56cf9d 100644 --- a/inkscape.pod +++ b/inkscape.pod @@ -34,11 +34,11 @@ options: -A, --export-pdf=FILENAME -T, --export-text-to-path - -B, --export-bbox-page - -F, --export-embed-fonts -l, --export-plain-svg=FILENAME + -p, --print=PRINTER + -I, --query-id=ID -X, --query-x -Y, --query-y @@ -52,7 +52,7 @@ options: --verb=VERB-ID --select=OBJECT-ID - -p, --print=PRINTER + --shell -g, --with-gui -z, --without-gui @@ -65,10 +65,11 @@ options: B is a GUI editor for B format drawing files, with capabilities similar to B, -B, B, etc. Inkscape features include versatile +B, B, etc. Inkscape features include versatile shapes, bezier paths, freehand drawing, multi-line text, text on path, alpha blending, arbitrary affine transforms, gradient and pattern fills, node -editing, SVG-to-PNG export, grouping, layers, live clones, and more. The interface is +editing, many export and import formats including PNG and PDF, grouping, +layers, live clones, and a lot more. The interface is designed to be comfortable and efficient for skilled users, while remaining conformant to B standards so that users familiar with other GNOME applications can learn its interface rapidly. @@ -106,15 +107,20 @@ is the lower-left corner. =item B<-C>, B<--export-area-canvas> -In PNG and PDF export, exported area is the entire canvas (page). Usually this is the default, so you -don't need to specify this unless you are using --export-id to export a specific object. +In PNG, PDF, PS, and EPS export, exported area is the canvas (page). This is the default +for PNG, PDF, and PS, so you don't need to specify this unless you are using --export-id +to export a specific object. In EPS, however, this is not the default; moreover, for EPS, +the specification of the format does not allow its bounding box to extend beyond its content. +This means that when --export-area-canvas is used with EPS export, the canvas bounding box +will be trimmed inwards to the bounding box of the content if it is smaller. =item B<-D>, B<--export-area-drawing> -In PNG and PDF export, exported area is the entire drawing (not canvas), i.e. the bounding box -of all objects of the document. With this option, the exported image will -display just the visible objects of the document without margins or cropping. For PNG, can be -used in combination wtih --export-use-hints. +In PNG, PDF, PS, and EPS export, exported area is the drawing (not canvas), i.e. the bounding box +of all objects of the document (or of the exported object if --export-id is used). +With this option, the exported image will +display all the visible objects of the document without margins or cropping. This is the default +export area for EPS. For PNG, it can be used in combination wtih --export-use-hints. =item B<--export-area-snap> @@ -158,10 +164,10 @@ This value overrides the --export-dpi setting (or the DPI hint if used with --ex =item B<-i> I, B<--export-id>=I -For PNG and PDF export, the id attribute value of the object that you want -to export from the document. By +For PNG, PS, EPS, and PDF export, the id attribute value of the object that you want +to export from the document; all other objects are not exported. By default the exported area is the bounding box of the object; you can override this using ---export-area, --export-area-canvas, or --export-area-drawing. +--export-area (PNG only) or --export-area-canvas. =item B<-j>, B<--export-id-only> @@ -242,38 +248,26 @@ then the value of 255 (full opacity) will be used. =item B<-P> I, B<--export-ps>=I -Export document(s) to PostScript format. Note that PostScript does not support transparency, so any transparency in the original SVG will be lost. This option can be used together with --export-bbox-page and --export-text-to-path. +Export document(s) to PostScript format. Note that PostScript does not support transparency, so any transparent objects in the original SVG will be automatically rasterized. Used fonts are subset and embedded. The default export area is canvas; you can set it to drawing by --export-area-drawing. You can +specify --export-id to export a single object (all other are hidden); in that case +export area is that object's bounding box, but can be set to canvas by --export-area-canvas. =item B<-E> I, B<--export-eps>=I -Export document(s) to Encapsulated PostScript format. Note that PostScript does not support transparency, so any transparency in the original SVG will be lost. This option can be used together with --export-bbox-page and --export-text-to-path. +Export document(s) to Encapsulated PostScript format. Note that PostScript does not support transparency, so any transparent objects in the original SVG will be automatically rasterized. Used fonts are subset and embedded. The default export area is drawing; you can set it to canvas, however see --export-area-canvas for applicable limitation. You can specify --export-id to export a single object (all other are hidden). =item B<-A> I, B<--export-pdf>=I -Export document(s) to PDF 1.4 format. This format preserves the -transparency in the original SVG (though not all PDF viewers -can display it yet). This option can be used together with ---export-text-to-path (currently this is required, because -exporting text as text is not yet supported). - -By default, the entire document -is exported and the page size of the PDF is that of the SVG document. You can -specify --export-id to export a single object (with PDF page the size -of that object's bounding box) and --export-area-drawing to make the -exported PDF page show the entire drawing (by default the SVG page). +Export document(s) to PDF format. This format preserves the +transparency in the original SVG. Used fonts are subset and embedded. +The default export area is canvas; you can set it to drawing by --export-area-drawing. You can +specify --export-id to export a single object (all other are hidden); in that case +export area is that object's bounding box, but can be set to canvas by --export-area-canvas. =item B<-T>, B<--export-text-to-path> Convert text objects to paths on export, where applicable (currently works for PS, EPS, and PDF export). -=item B<-B>, B<--export-bbox-page> - -Export files with the bounding box set to the page size, where applicable (currently works for PS and EPS export). - -=item B<-F>, B<--export-embed-fonts> - -Embed fonts used in the document into exported PS/EPS file. Note: only Type 1 fonts can be embedded, not TrueType. - =item B<-I>, B<--query-id> Set the ID of the object whose dimensions are queried. If not set, query options will @@ -300,6 +294,17 @@ Query the height of of the drawing or, if specified, of the object with --query- Prints a comma delimited listing of all objects in the SVG document with IDs defined, along with their x, y, width, and height values. +=item B<--shell> + +With this parameter, Inkscape will enter an interactive command line shell mode. In this +mode, you type in commands at the prompt and Inkscape executes them, without you having +to run a new copy of Inkscape for each command. This feature is mostly useful for +scripting and server uses: it adds no new capabilities but allows you to improve the +speed and memory requirements of any script that repeatedly calls Inkscape to perform +command line tasks (such as export or conversions). Each command in shell mode must be a +complete valid Inkscape command line but without the Inkscape program name, for example +"file.svg --export-pdf=file.pdf". + =item B<--vacuum-defs> Remove all unused items from the defs section of the SVG file. If this @@ -313,9 +318,8 @@ This is assumed for -p, -e, -l, and --vacuum-defs options. =item B<--g-fatal-warnings> -Part of the standard GTK option that are recognized. This forces any GTK -warnings to cause Inkscape to abort. This option is listed because it gets -used for debugging. +This standard GTK option forces any warnings, usually harmless, to cause Inkscape to +abort (useful for debugging). =item B<--usage> @@ -325,57 +329,17 @@ Display a brief usage message. =head1 CONFIGURATION -The preferences.xml configuration file located in ~/.inkscape/ is used -to customize the application settings for the user. - -=over 8 - -=item B - -The B element(s) of the config file is used to set parameters -related to the GUI interface, such as the open/closed status of various -GUI elements, etc. - -=item B - -The documents group is used for containing the recent files list. Each -document is listed with its uri (path) and name indicated. +The main configuration file is located in ~/.config/Inkscape/preferences.xml; it stores +a variety of customization settings that you can change in Inkscape (mostly in the +Inkscape Preferences dialog). Also in the subdirectories there, you can place your own: -=item B +B<$HOME>/.config/Inkscape/extensions/ - extension effects. -The template group is used for storing parameters related to blank -documents. +B<$HOME>/.config/Inkscape/icons/ - icons. -=item B +B<$HOME>/.config/Inkscape/keys/ - keyboard maps. -The tools group is used for storing the user style preferences for -different event contexts (i.e., shapes, freehand or calligraphic stroke -properties, etc.). - -=item B - -The palette group allows setting of dash styles. This allows you to -define the stroke lengths for different kinds of dashes. - -=item B - -The dialogs group allows persisting the position and width of each of -the dialogs in the application, so that they'll start up in the last -place the user had them at the next time the app is run. - -=item B - -The printing group is for storing different printer settings. Each -setting is identified with an id. Properties include I -(true/false), I, and I. - -=item B - -The options group allows persisting various user selected options -including I, I, I, and -I. - -=back +B<$HOME>/.config/Inkscape/templates/ - new file templates. =head1 DIAGNOSTICS @@ -459,17 +423,6 @@ the matching icon name. (For example, to load the "fill_none" icon from a file, the bounding box seen for SVG id "fill_none" is rendered as the icon, whether it comes from I or I.) -=head1 FILES - -B<$HOME>/.inkscape/preferences.xml - The user's preference settings. - -B<$HOME>/.inkscape/extensions/ - Directory with user's extension effects. - -B<$HOME>/.inkscape/icons/ - Directory with user's icons. - -B<$HOME>/.inkscape/keys/ - Directory with user's keyboard maps. - -B<$HOME>/.inkscape/templates/ - Directory with user's new file templates. =head1 OTHER INFO @@ -510,7 +463,7 @@ L To learn Inkscape's GUI operation, read the tutorials in Help > Tutorials. Apart from SVG, Inkscape can import (File > Import) most bitmap formats -(PNG, BMP, JPG, XPM, GIF, etc.), plain text (requires Perl), PDF, +(PNG, BMP, JPG, XPM, GIF, etc.), plain text (requires Perl), PS and EPS (requires Ghostscript), PDF and AI format (AI version 9.0 or newer). Inkscape exports 32-bit PNG images (File > Export) as well as AI, PS, EPS, PDF, DXF, @@ -595,7 +548,7 @@ making Open Source more visually stimulating to larger audiences. =head1 COPYRIGHT AND LICENSE -B 1999-2007 by Authors. +B 1999-2008 by Authors. B is free software; you can redistribute it and/or modify it under the terms of the GPL. diff --git a/po/POTFILES.in b/po/POTFILES.in index 9df2bb1f6..30a5d2827 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -372,6 +372,7 @@ share/extensions/svg_and_media_zip_output.py [type: gettext/xml] share/extensions/dia.inx [type: gettext/xml] share/extensions/dimension.inx [type: gettext/xml] share/extensions/dots.inx +[type: gettext/xml] share/extensions/draw_from_triangle.inx [type: gettext/xml] share/extensions/dxf_input.inx [type: gettext/xml] share/extensions/dxf_outlines.inx [type: gettext/xml] share/extensions/dxf_output.inx diff --git a/po/ko.po b/po/ko.po index 102952117..15ebc3f97 100644 --- a/po/ko.po +++ b/po/ko.po @@ -2,78 +2,74 @@ # This file is distributed under the same license as the Inkscape package. # Copyright (C) 2006 Free Software Foundation, Inc. # Kitae Kim , 2006. -# +# Jin-Hwan Jeong , 2008 + msgid "" msgstr "" -"Project-Id-Version: inkscape\n" -"Report-Msgid-Bugs-To: inkscape-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-06-12 21:31+0100\n" -"PO-Revision-Date: 2006-11-05 17:52+0100\n" -"Last-Translator: Kitae \n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: Jin-Hwan Jeong \n" "Language-Team: \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n>1);\n" + +msgid "Hide all except selected" +msgstr "선택한 것을 제외하고 전체 숨기기" #: ../inkscape.desktop.in.h:1 msgid "Create and edit Scalable Vector Graphics images" -msgstr "SVG(크기 조정 가능한 벡터 그래픽) 이미지 생성" +msgstr "SVG 이미지 생성 및 편집" #: ../inkscape.desktop.in.h:2 -#, fuzzy msgid "Inkscape Vector Graphics Editor" -msgstr "SVG 벡터 일러스터 잉크스케이프" +msgstr "Inkscape 벡터 그래픽 편집기" #: ../src/arc-context.cpp:338 -msgid "" -"Ctrl: make circle or integer-ratio ellipse, snap arc/segment angle" +msgid "Ctrl: make circle or integer-ratio ellipse, snap arc/segment angle" msgstr "Ctrl: 원이나 타원을 만들고, 원호의 각도 조절" -#: ../src/arc-context.cpp:339 ../src/rect-context.cpp:383 +#: ../src/arc-context.cpp:339 +#: ../src/rect-context.cpp:383 msgid "Shift: draw around the starting point" -msgstr "" +msgstr "Shift: 시작점 주변 그리기" #: ../src/arc-context.cpp:485 #, c-format -msgid "" -"Ellipse: %s × %s (constrained to ratio %d:%d); with Shift " -"to draw around the starting point" -msgstr "" +msgid "Ellipse: %s × %s (constrained to ratio %d:%d); with Shift to draw around the starting point" +msgstr "타원: %s × %s (비율 고정 %d:%d); Shift 시작점 주변 그리기" #: ../src/arc-context.cpp:487 #, c-format -msgid "" -"Ellipse: %s × %s; with Ctrl to make square or integer-" -"ratio ellipse; with Shift to draw around the starting point" -msgstr "" +msgid "Ellipse: %s × %s; with Ctrl to make square or integer-ratio ellipse; with Shift to draw around the starting point" +msgstr "타원: %s × %s; Ctrl 사각형 또는 정수비 타원을 생성; Shift 시작점 주변 그리기" #: ../src/arc-context.cpp:506 -#, fuzzy msgid "Create ellipse" -msgstr "중심선" - -#: ../src/box3d-context.cpp:448 ../src/box3d-context.cpp:455 -#: ../src/box3d-context.cpp:462 ../src/box3d-context.cpp:469 -#: ../src/box3d-context.cpp:476 ../src/box3d-context.cpp:483 -#, fuzzy +msgstr "타원 생성" + +#: ../src/box3d-context.cpp:448 +#: ../src/box3d-context.cpp:455 +#: ../src/box3d-context.cpp:462 +#: ../src/box3d-context.cpp:469 +#: ../src/box3d-context.cpp:476 +#: ../src/box3d-context.cpp:483 msgid "Change perspective (angle of PLs)" -msgstr "사각형 찾기" +msgstr "원근 변경 (원근선 각도)" #. status text #: ../src/box3d-context.cpp:638 msgid "3D Box; with Shift to extrude along the Z axis" -msgstr "" +msgstr "3D 상자; Shift Z축을 따라 밀어내기" #: ../src/box3d-context.cpp:662 -#, fuzzy msgid "Create 3D box" -msgstr "중심선" +msgstr "3D 상자 생성" #: ../src/box3d.cpp:315 -#, fuzzy msgid "3D Box" -msgstr "L:" +msgstr "3D 상자" #: ../src/connector-context.cpp:522 msgid "Creating new connector" @@ -81,18 +77,16 @@ msgstr "새 연결자 생성" #: ../src/connector-context.cpp:751 msgid "Connector endpoint drag cancelled." -msgstr "" +msgstr "연결자 끝점 끌기 취소." #: ../src/connector-context.cpp:799 -#, fuzzy msgid "Reroute connector" -msgstr "새 연결자 생성" +msgstr "연결자 다시 루트 정함" #. Flush pending updates #: ../src/connector-context.cpp:963 -#, fuzzy msgid "Create connector" -msgstr "새 연결자 생성" +msgstr "연결자 생성" #: ../src/connector-context.cpp:987 msgid "Finishing connector" @@ -104,27 +98,31 @@ msgstr "연결점: 클릭하거나 드래그 하여 새로운 연결점 #: ../src/connector-context.cpp:1203 msgid "Connector endpoint: drag to reroute or connect to new shapes" -msgstr "" +msgstr "연결점 끝점: 루트를 재설정하거나 또는 새 모양으로 연결" #: ../src/connector-context.cpp:1314 msgid "Select at least one non-connector object." -msgstr "" +msgstr "최소 한 개의 비-연결 객체 선택." -#: ../src/connector-context.cpp:1319 ../src/widgets/toolbox.cpp:5554 +#: ../src/connector-context.cpp:1319 +#: ../src/widgets/toolbox.cpp:5554 msgid "Make connectors avoid selected objects" -msgstr "" +msgstr "연결자가 선택객체를 피함" -#: ../src/connector-context.cpp:1320 ../src/widgets/toolbox.cpp:5564 +#: ../src/connector-context.cpp:1320 +#: ../src/widgets/toolbox.cpp:5564 msgid "Make connectors ignore selected objects" -msgstr "" +msgstr "연결자가 선택객체를 무시" -#: ../src/context-fns.cpp:37 ../src/context-fns.cpp:66 +#: ../src/context-fns.cpp:37 +#: ../src/context-fns.cpp:66 msgid "Current layer is hidden. Unhide it to be able to draw on it." -msgstr "" +msgstr "현재 레이어 숨겼음. 그릴 수 있도록 하기 위하여 보이기" -#: ../src/context-fns.cpp:43 ../src/context-fns.cpp:72 +#: ../src/context-fns.cpp:43 +#: ../src/context-fns.cpp:72 msgid "Current layer is locked. Unlock it to be able to draw on it." -msgstr "" +msgstr "현재 레이어 잠김. 그릴 수 있도록 하기 위하여 잠김 해제" #: ../src/desktop.cpp:782 msgid "No previous zoom." @@ -135,25 +133,23 @@ msgid "No next zoom." msgstr "다음 확대/축소 없음." #: ../src/desktop-events.cpp:175 -#, fuzzy msgid "Create guide" -msgstr "중심선" +msgstr "안내선 생성" -#: ../src/desktop-events.cpp:221 ../src/desktop-events.cpp:275 +#: ../src/desktop-events.cpp:221 +#: ../src/desktop-events.cpp:275 #: ../src/dialogs/guidelinedialog.cpp:127 -#, fuzzy msgid "Delete guide" -msgstr "노드 삭제" +msgstr "안내선 삭제" #: ../src/desktop-events.cpp:269 -#, fuzzy msgid "Move guide" -msgstr "노드를 아래도" +msgstr "안내선 이동" #: ../src/desktop-events.cpp:290 -#, fuzzy, c-format +#, c-format msgid "Guideline: %s" -msgstr "가이드 라인" +msgstr "안내선: %s" #: ../src/dialogs/clonetiler.cpp:168 msgid "Nothing selected." @@ -166,58 +162,52 @@ msgstr "최소 하나 이상의 물체 선택됨." #: ../src/dialogs/clonetiler.cpp:181 #, c-format msgid "Object has %d tiled clones." -msgstr "" +msgstr "객체가%d타일 복제본을 가짐" #: ../src/dialogs/clonetiler.cpp:186 msgid "Object has no tiled clones." -msgstr "" +msgstr "객체가 타일 복제본이 없음." #: ../src/dialogs/clonetiler.cpp:984 msgid "Select one object whose tiled clones to unclump." -msgstr "" +msgstr "흩트리기 위하여 타일 복제본 중 한 객체를 선택" #: ../src/dialogs/clonetiler.cpp:1006 msgid "Unclump tiled clones" -msgstr "" +msgstr "타일 복제본을 흩트림" #: ../src/dialogs/clonetiler.cpp:1036 msgid "Select one object whose tiled clones to remove." -msgstr "" +msgstr "제거하기 위하여 타일 복제본의 한 객체를 선택" #: ../src/dialogs/clonetiler.cpp:1059 -#, fuzzy msgid "Delete tiled clones" -msgstr "선택부분 지우기" +msgstr "타일 복제본 삭제" -#: ../src/dialogs/clonetiler.cpp:1105 ../src/selection-chemistry.cpp:1818 +#: ../src/dialogs/clonetiler.cpp:1105 +#: ../src/selection-chemistry.cpp:1818 msgid "Select an object to clone." msgstr "클론으로 만들 객체를 선택" #: ../src/dialogs/clonetiler.cpp:1111 -msgid "" -"If you want to clone several objects, group them and clone the " -"group." -msgstr "" -"만약에 여러 객체의 복사본을 만들고 싶다면, ê·¸ 객체들을 그룹 으로 묶고" -"ê·¸ 그룹의 복사본을 만드세요." +msgid "If you want to clone several objects, group them and clone the group." +msgstr "만약에 여러 객체의 복사본을 만들고 싶다면, ê·¸ 객체들을 그룹 으로 묶고그 그룹의 복사본을 만드세요." #: ../src/dialogs/clonetiler.cpp:1120 -#, fuzzy msgid "Creating tiled clones..." -msgstr "선택된 것이 없음." +msgstr "타일 복제본 생성 중..." #: ../src/dialogs/clonetiler.cpp:1527 -#, fuzzy msgid "Create tiled clones" -msgstr "중심선" +msgstr "타일 복제본 생성" #: ../src/dialogs/clonetiler.cpp:1710 msgid "Per row:" -msgstr "" +msgstr "줄 당:" #: ../src/dialogs/clonetiler.cpp:1723 msgid "Per column:" -msgstr "" +msgstr "열 당:" #: ../src/dialogs/clonetiler.cpp:1731 msgid "Randomize:" @@ -225,7 +215,7 @@ msgstr "임의추출:" #: ../src/dialogs/clonetiler.cpp:1885 msgid "_Symmetry" -msgstr "" +msgstr "대칭(_S)" #. TRANSLATORS: For the following 17 symmetry groups, see #. * http://www.bib.ulb.ac.be/coursmath/doc/17.htm (visual examples); @@ -234,12 +224,12 @@ msgstr "" #. #: ../src/dialogs/clonetiler.cpp:1893 msgid "Select one of the 17 symmetry groups for the tiling" -msgstr "" +msgstr "타일을 위하여 17 대칭 그룹의 한 개를 선택" #. TRANSLATORS: "translation" means "shift" / "displacement" here. #: ../src/dialogs/clonetiler.cpp:1904 msgid "P1: simple translation" -msgstr "P1: 간단한 번역" +msgstr "P1: 간단한 이동" #: ../src/dialogs/clonetiler.cpp:1905 msgid "P2: 180° rotation" @@ -293,11 +283,11 @@ msgstr "P3: 120° 회전" #: ../src/dialogs/clonetiler.cpp:1919 msgid "P31M: reflection + 120° rotation, dense" -msgstr "P31M: 반사 + 120° 회전, 진한" +msgstr "P31M: 반사 + 120° 회전, 밀집" #: ../src/dialogs/clonetiler.cpp:1920 msgid "P3M1: reflection + 120° rotation, sparse" -msgstr "P31M: 반사 + 120° 회전, 옅은" +msgstr "P31M: 반사 + 120° 회전, 옅음" #: ../src/dialogs/clonetiler.cpp:1921 msgid "P6: 60° rotation" @@ -309,131 +299,132 @@ msgstr "P6M: 반사 +60° 회전" #: ../src/dialogs/clonetiler.cpp:1950 msgid "S_hift" -msgstr "Shift(_h)" +msgstr "이동(_H)" #. TRANSLATORS: "shift" means: the tiles will be shifted (offset) horizontally by this amount #: ../src/dialogs/clonetiler.cpp:1960 #, no-c-format msgid "Shift X:" -msgstr "Shift·X:" +msgstr "이동 X:" #: ../src/dialogs/clonetiler.cpp:1968 #, no-c-format msgid "Horizontal shift per row (in % of tile width)" -msgstr "" +msgstr "줄 당 수평 이동 (타일 폭 %)" #: ../src/dialogs/clonetiler.cpp:1976 #, no-c-format msgid "Horizontal shift per column (in % of tile width)" -msgstr "" +msgstr "열 당 수평 이동 (타일 폭 %)" #: ../src/dialogs/clonetiler.cpp:1983 msgid "Randomize the horizontal shift by this percentage" -msgstr "" +msgstr "이 백분율에 의해 수평 이동을 무작위함" #. TRANSLATORS: "shift" means: the tiles will be shifted (offset) vertically by this amount #: ../src/dialogs/clonetiler.cpp:1993 #, no-c-format msgid "Shift Y:" -msgstr "Shift·Y:" +msgstr "이동 Y:" #: ../src/dialogs/clonetiler.cpp:2001 #, no-c-format msgid "Vertical shift per row (in % of tile height)" -msgstr "" +msgstr "줄 당 수평 이동( 타일 높이 %)" #: ../src/dialogs/clonetiler.cpp:2009 #, no-c-format msgid "Vertical shift per column (in % of tile height)" -msgstr "" +msgstr "열 당 수직 이동( 타일 높이 %)" #: ../src/dialogs/clonetiler.cpp:2016 msgid "Randomize the vertical shift by this percentage" -msgstr "" +msgstr "이 백분율에 의해 수직 이동을 무작위" -#: ../src/dialogs/clonetiler.cpp:2024 ../src/dialogs/clonetiler.cpp:2172 +#: ../src/dialogs/clonetiler.cpp:2024 +#: ../src/dialogs/clonetiler.cpp:2172 msgid "Exponent:" -msgstr "" +msgstr "지수:" #: ../src/dialogs/clonetiler.cpp:2031 msgid "Whether rows are spaced evenly (1), converge (<1) or diverge (>1)" -msgstr "" +msgstr "줄 간격이 고르게 확대 (<1) 또는 축소 (>1)" #: ../src/dialogs/clonetiler.cpp:2038 msgid "Whether columns are spaced evenly (1), converge (<1) or diverge (>1)" -msgstr "" +msgstr "열 간격이 고르게 확대 (<1) 또는 축소 (>1)" #. TRANSLATORS: "Alternate" is a verb here -#: ../src/dialogs/clonetiler.cpp:2046 ../src/dialogs/clonetiler.cpp:2216 -#: ../src/dialogs/clonetiler.cpp:2293 ../src/dialogs/clonetiler.cpp:2369 -#: ../src/dialogs/clonetiler.cpp:2418 ../src/dialogs/clonetiler.cpp:2549 +#: ../src/dialogs/clonetiler.cpp:2046 +#: ../src/dialogs/clonetiler.cpp:2216 +#: ../src/dialogs/clonetiler.cpp:2293 +#: ../src/dialogs/clonetiler.cpp:2369 +#: ../src/dialogs/clonetiler.cpp:2418 +#: ../src/dialogs/clonetiler.cpp:2549 msgid "Alternate:" -msgstr "" +msgstr "대체:" #: ../src/dialogs/clonetiler.cpp:2052 msgid "Alternate the sign of shifts for each row" -msgstr "" +msgstr "각 줄에서 이동 표시 변경" #: ../src/dialogs/clonetiler.cpp:2057 msgid "Alternate the sign of shifts for each column" -msgstr "" +msgstr "각 열에서 이동 표시 변경" #. TRANSLATORS: "Cumulate" is a verb here -#: ../src/dialogs/clonetiler.cpp:2064 ../src/dialogs/clonetiler.cpp:2234 +#: ../src/dialogs/clonetiler.cpp:2064 +#: ../src/dialogs/clonetiler.cpp:2234 #: ../src/dialogs/clonetiler.cpp:2311 -#, fuzzy msgid "Cumulate:" -msgstr "임의추출:" +msgstr "쌓아올림:" #: ../src/dialogs/clonetiler.cpp:2070 -#, fuzzy msgid "Cumulate the shifts for each row" -msgstr "이 각도로 각각의 줄에서 타일을 회전" +msgstr "각 줄의 이동 축적" #: ../src/dialogs/clonetiler.cpp:2075 -#, fuzzy msgid "Cumulate the shifts for each column" -msgstr "이 각도로 각각의 열에서 타일을 회전" +msgstr "각 열의 이동 축적" #. TRANSLATORS: "Cumulate" is a verb here #: ../src/dialogs/clonetiler.cpp:2082 -#, fuzzy msgid "Exclude tile:" -msgstr "임의추출:" +msgstr "타일 제외:" #: ../src/dialogs/clonetiler.cpp:2088 msgid "Exclude tile height in shift" -msgstr "" +msgstr "이동에서 타일 높이 제외" #: ../src/dialogs/clonetiler.cpp:2093 msgid "Exclude tile width in shift" -msgstr "" +msgstr "이동에서 타일 폭 제외" #: ../src/dialogs/clonetiler.cpp:2102 msgid "Sc_ale" -msgstr "확대/축소(_a)" +msgstr "비율(_A)" #: ../src/dialogs/clonetiler.cpp:2110 msgid "Scale X:" -msgstr "스케일 X:" +msgstr "비율 X:" #: ../src/dialogs/clonetiler.cpp:2118 #, no-c-format msgid "Horizontal scale per row (in % of tile width)" -msgstr "" +msgstr "줄 당 수평 비율(파일 폭 %)" #: ../src/dialogs/clonetiler.cpp:2126 #, no-c-format msgid "Horizontal scale per column (in % of tile width)" -msgstr "" +msgstr "열 당 수평 비율( 타일 폭 %)" #: ../src/dialogs/clonetiler.cpp:2133 msgid "Randomize the horizontal scale by this percentage" -msgstr "" +msgstr "이 백분율에 으하여 수평 비율을 임의화" #: ../src/dialogs/clonetiler.cpp:2141 msgid "Scale Y:" -msgstr "스케일 Y:" +msgstr "비율 Y:" #: ../src/dialogs/clonetiler.cpp:2149 #, no-c-format @@ -451,39 +442,36 @@ msgstr "이 퍼센트에 의한 수직 스케일 임의 추출" #: ../src/dialogs/clonetiler.cpp:2179 msgid "Whether row scaling is uniform (1), converge (<1) or diverge (>1)" -msgstr "" +msgstr "줄 비율이 균일한지 확대 (<1) 또는 축소(>1)" #: ../src/dialogs/clonetiler.cpp:2186 msgid "Whether column scaling is uniform (1), converge (<1) or diverge (>1)" -msgstr "" +msgstr "열 비율이 균일한지 확대 (<1) 또는 축소(>1)" #: ../src/dialogs/clonetiler.cpp:2194 -#, fuzzy msgid "Base:" -msgstr "H:" +msgstr "기본:" -#: ../src/dialogs/clonetiler.cpp:2201 ../src/dialogs/clonetiler.cpp:2208 -msgid "" -"Base for a logarithmic spiral: not used (0), converge (<1), or diverge (>1)" -msgstr "" +#: ../src/dialogs/clonetiler.cpp:2201 +#: ../src/dialogs/clonetiler.cpp:2208 +msgid "Base for a logarithmic spiral: not used (0), converge (<1), or diverge (>1)" +msgstr "로그 나선의 기본: 미사용(0), 확대(<1) 또는 축소(>1)" #: ../src/dialogs/clonetiler.cpp:2222 msgid "Alternate the sign of scales for each row" -msgstr "" +msgstr "각 줄에 대한 비율 표시를 변경" #: ../src/dialogs/clonetiler.cpp:2227 msgid "Alternate the sign of scales for each column" -msgstr "" +msgstr "각 열에 대한 비율 표시를 변경" #: ../src/dialogs/clonetiler.cpp:2240 -#, fuzzy msgid "Cumulate the scales for each row" -msgstr "이 각도로 각각의 줄에서 타일을 회전" +msgstr "각 줄의 비율 축적" #: ../src/dialogs/clonetiler.cpp:2245 -#, fuzzy msgid "Cumulate the scales for each column" -msgstr "이 각도로 각각의 열에서 타일을 회전" +msgstr "각 열의 비율 축적" #: ../src/dialogs/clonetiler.cpp:2254 msgid "_Rotation" @@ -516,53 +504,44 @@ msgid "Alternate the rotation direction for each column" msgstr "각 열 마다 다른 방향의 회전" #: ../src/dialogs/clonetiler.cpp:2317 -#, fuzzy msgid "Cumulate the rotation for each row" -msgstr "각 줄마다 다른 방향의 회전" +msgstr "각 줄의 회전 축적" #: ../src/dialogs/clonetiler.cpp:2322 -#, fuzzy msgid "Cumulate the rotation for each column" -msgstr "각 열 마다 다른 방향의 회전" +msgstr "각 열의 회전 축적" #: ../src/dialogs/clonetiler.cpp:2331 -#, fuzzy msgid "_Blur & opacity" -msgstr "주 투명도" +msgstr "흐림 & 불투명도(_B)" #: ../src/dialogs/clonetiler.cpp:2340 -#, fuzzy msgid "Blur:" -msgstr "L:" +msgstr "흐림:" #: ../src/dialogs/clonetiler.cpp:2347 -#, fuzzy msgid "Blur tiles by this percentage for each row" -msgstr "이 퍼센트에 따라 각열에 불투명도 감소" +msgstr "각 줄에 대하여 이 백분율로 타일 흐림" #: ../src/dialogs/clonetiler.cpp:2354 -#, fuzzy msgid "Blur tiles by this percentage for each column" -msgstr "이 퍼센트에 따라 각줄에 불투명도 감소" +msgstr "각 열에 대하여 이 백분율로 타일 흐림" #: ../src/dialogs/clonetiler.cpp:2361 -#, fuzzy msgid "Randomize the tile blur by this percentage" -msgstr "이 퍼센트에 의한 타일의 색조 임의 추출" +msgstr "이 백분율로 흐림을 임의화" #: ../src/dialogs/clonetiler.cpp:2375 -#, fuzzy msgid "Alternate the sign of blur change for each row" -msgstr "각 줄마다 다른 방향의 회전" +msgstr "각 줄의 흐림 변경 표시를 변경" #: ../src/dialogs/clonetiler.cpp:2380 -#, fuzzy msgid "Alternate the sign of blur change for each column" -msgstr "각 열 마다 다른 방향의 회전" +msgstr "각 열의 흐림 변경 표시를 변경" #: ../src/dialogs/clonetiler.cpp:2389 msgid "Fade out:" -msgstr "" +msgstr "점차 흐려짐:" #: ../src/dialogs/clonetiler.cpp:2396 msgid "Decrease tile opacity by this percentage for each row" @@ -574,37 +553,35 @@ msgstr "이 퍼센트에 따라 각줄에 불투명도 감소" #: ../src/dialogs/clonetiler.cpp:2410 msgid "Randomize the tile opacity by this percentage" -msgstr "이 퍼센트에 따라 타일의 불투명도 임의 추출" +msgstr "백분율로 불투명도 랜덤화" #: ../src/dialogs/clonetiler.cpp:2424 msgid "Alternate the sign of opacity change for each row" -msgstr "" +msgstr "각 줄에 대한 불투명도 변경 표시를 변경" #: ../src/dialogs/clonetiler.cpp:2429 msgid "Alternate the sign of opacity change for each column" -msgstr "" +msgstr "각 열에 대한 불투명도 변경 표시를 변경" #: ../src/dialogs/clonetiler.cpp:2437 msgid "Co_lor" -msgstr "색깔(_l)" +msgstr "색상(_l)" #: ../src/dialogs/clonetiler.cpp:2442 msgid "Initial color: " -msgstr "인식된 색: " +msgstr "초기 색상: " #: ../src/dialogs/clonetiler.cpp:2446 msgid "Initial color of tiled clones" -msgstr "" +msgstr "타일 복제물의 초기 색상" #: ../src/dialogs/clonetiler.cpp:2446 -msgid "" -"Initial color for clones (works only if the original has unset fill or " -"stroke)" +msgid "Initial color for clones (works only if the original has unset fill or stroke)" msgstr "" #: ../src/dialogs/clonetiler.cpp:2461 msgid "H:" -msgstr "H:" +msgstr "색조:" #: ../src/dialogs/clonetiler.cpp:2468 msgid "Change the tile hue by this percentage for each row" @@ -620,63 +597,62 @@ msgstr "이 퍼센트에 의한 타일의 색조 임의 추출" #: ../src/dialogs/clonetiler.cpp:2491 msgid "S:" -msgstr "S:" +msgstr "채도:" #: ../src/dialogs/clonetiler.cpp:2498 msgid "Change the color saturation by this percentage for each row" -msgstr "색채도를 각 줄의 퍼센트를 조절해서 수정" +msgstr "각 줄을 위한 백분율에 의한 색상 채도 변경" #: ../src/dialogs/clonetiler.cpp:2505 msgid "Change the color saturation by this percentage for each column" -msgstr "색채도를 각 열의 퍼센트를 조절해서 수정" +msgstr "각 단을 위한 백분율에 의한 색상 채도 변경" #: ../src/dialogs/clonetiler.cpp:2512 msgid "Randomize the color saturation by this percentage" -msgstr "이 퍼센트에 의한 불특정 색채도 설정" +msgstr "백분율에 의한 색상 채도 랜덤화" #: ../src/dialogs/clonetiler.cpp:2520 msgid "L:" -msgstr "L:" +msgstr "명도:" #: ../src/dialogs/clonetiler.cpp:2527 msgid "Change the color lightness by this percentage for each row" -msgstr "색 명도를 각줄의 퍼센트를 조절해서 수정" +msgstr "각 줄을 위한 백분율에 의한 색상 명도 변경" #: ../src/dialogs/clonetiler.cpp:2534 msgid "Change the color lightness by this percentage for each column" -msgstr "색 명도를 각열의 퍼센트를 조절해서 수정" +msgstr "각 단을 위한 백분율에 의한 색상 명도 변경" #: ../src/dialogs/clonetiler.cpp:2541 msgid "Randomize the color lightness by this percentage" -msgstr "이 퍼센트에 의한 불특정 색명도 설정" +msgstr "백분율에 의한 색상 명도 랜덤화" #: ../src/dialogs/clonetiler.cpp:2555 msgid "Alternate the sign of color changes for each row" -msgstr "" +msgstr "각 줄에 대한 색상 변화 표시를 변경" #: ../src/dialogs/clonetiler.cpp:2560 msgid "Alternate the sign of color changes for each column" -msgstr "" +msgstr "각 열에 대한 색상 변화 표시를 변경" #: ../src/dialogs/clonetiler.cpp:2568 msgid "_Trace" -msgstr "모양따기(_T)" +msgstr "모양 따오기(_T)" #: ../src/dialogs/clonetiler.cpp:2575 msgid "Trace the drawing under the tiles" -msgstr "타일 아래있는 그림 따오기" +msgstr "타일 아래 그림 따오기" #: ../src/dialogs/clonetiler.cpp:2579 -msgid "" -"For each clone, pick a value from the drawing in that clone's location and " -"apply it to the clone" +msgid "For each clone, pick a value from the drawing in that clone's location and apply it to the clone" msgstr "" #: ../src/dialogs/clonetiler.cpp:2593 msgid "1. Pick from the drawing:" -msgstr "1. 그림을 선택하세요:" +msgstr "1. 그림에서 선택:" -#: ../src/dialogs/clonetiler.cpp:2604 ../src/dialogs/clonetiler.cpp:2751 +#: ../src/dialogs/clonetiler.cpp:2604 +#: ../src/dialogs/clonetiler.cpp:2751 #: ../src/extension/internal/bitmap/colorize.cpp:51 #: ../share/extensions/color_brighter.inx.h:2 #: ../share/extensions/color_custom.inx.h:2 @@ -697,13 +673,14 @@ msgstr "1. 그림을 선택하세요:" #: ../share/extensions/color_replace.inx.h:2 #: ../share/extensions/color_rgbbarrel.inx.h:1 msgid "Color" -msgstr "색" +msgstr "색상" #: ../src/dialogs/clonetiler.cpp:2605 msgid "Pick the visible color and opacity" -msgstr "색과 투명도 선택 " +msgstr "ë³¼ 수 있는 색상과 불투명도 선택 " -#: ../src/dialogs/clonetiler.cpp:2612 ../src/dialogs/clonetiler.cpp:2761 +#: ../src/dialogs/clonetiler.cpp:2612 +#: ../src/dialogs/clonetiler.cpp:2761 #: ../src/extension/internal/bitmap/opacity.cpp:37 #: ../src/extension/internal/bitmap/opacity.cpp:39 #: ../src/ui/dialog/filter-effects-dialog.cpp:2241 @@ -713,11 +690,11 @@ msgstr "불투명도" #: ../src/dialogs/clonetiler.cpp:2613 msgid "Pick the total accumulated opacity" -msgstr "" +msgstr "전체 축적된 불투명도 조정" #: ../src/dialogs/clonetiler.cpp:2620 msgid "R" -msgstr "R" +msgstr "빨강" #: ../src/dialogs/clonetiler.cpp:2621 msgid "Pick the Red component of the color" @@ -725,69 +702,69 @@ msgstr "빨간색 설정을 선택하세요" #: ../src/dialogs/clonetiler.cpp:2628 msgid "G" -msgstr "G" +msgstr "녹색" #: ../src/dialogs/clonetiler.cpp:2629 msgid "Pick the Green component of the color" -msgstr "녹색 설정을 선택하세요" +msgstr "색상 녹색 요소 선택" #: ../src/dialogs/clonetiler.cpp:2636 msgid "B" -msgstr "B" +msgstr "파랑" #: ../src/dialogs/clonetiler.cpp:2637 msgid "Pick the Blue component of the color" -msgstr "파랑색 설정을 선택하세요" +msgstr "색상 파랑 요소 선택" #. TRANSLATORS: only translate "string" in "context|string". #. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS #: ../src/dialogs/clonetiler.cpp:2646 msgid "clonetiler|H" -msgstr "" +msgstr "복제타일러|색조" #: ../src/dialogs/clonetiler.cpp:2647 msgid "Pick the hue of the color" -msgstr "색의 색상 를 선택" +msgstr "색상 색조 선택" #. TRANSLATORS: only translate "string" in "context|string". #. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS #: ../src/dialogs/clonetiler.cpp:2656 msgid "clonetiler|S" -msgstr "" +msgstr "복제타일러|채도" #: ../src/dialogs/clonetiler.cpp:2657 msgid "Pick the saturation of the color" -msgstr "색에 따른 채도 선택" +msgstr "색상 채도 선택" #. TRANSLATORS: only translate "string" in "context|string". #. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS #: ../src/dialogs/clonetiler.cpp:2666 msgid "clonetiler|L" -msgstr "" +msgstr "복제타일러|명도" #: ../src/dialogs/clonetiler.cpp:2667 msgid "Pick the lightness of the color" -msgstr "색의 밝기를 선택하세요" +msgstr "색상 명도 선택" #: ../src/dialogs/clonetiler.cpp:2677 msgid "2. Tweak the picked value:" -msgstr "" +msgstr "2. 조정 값을 조정:" #: ../src/dialogs/clonetiler.cpp:2687 msgid "Gamma-correct:" -msgstr "감사 수정:" +msgstr "감마-보정:" #: ../src/dialogs/clonetiler.cpp:2692 msgid "Shift the mid-range of the picked value upwards (>0) or downwards (<0)" -msgstr "" +msgstr "선택값을 위쪽으로 (>0) 또는 아래쪽으로(<0)으로 중간 범위를 이동" #: ../src/dialogs/clonetiler.cpp:2699 msgid "Randomize:" -msgstr "램덤:" +msgstr "임의 추출:" #: ../src/dialogs/clonetiler.cpp:2704 msgid "Randomize the picked value by this percentage" -msgstr "이 퍼센트에 따른 선택된 값 임의 추출" +msgstr "백분율에 따른 선택 값 임의 추출" #: ../src/dialogs/clonetiler.cpp:2711 msgid "Invert:" @@ -795,20 +772,18 @@ msgstr "반대:" #: ../src/dialogs/clonetiler.cpp:2715 msgid "Invert the picked value" -msgstr "선택된 값 뒤집기:" +msgstr "선택된 값 반대로:" #: ../src/dialogs/clonetiler.cpp:2721 msgid "3. Apply the value to the clones':" -msgstr "3. 복사본에 이 값을 적용" +msgstr "3. 복제본에 이 값을 적용" #: ../src/dialogs/clonetiler.cpp:2731 msgid "Presence" -msgstr "" +msgstr "있음" #: ../src/dialogs/clonetiler.cpp:2734 -msgid "" -"Each clone is created with the probability determined by the picked value in " -"that point" +msgid "Each clone is created with the probability determined by the picked value in that point" msgstr "" #: ../src/dialogs/clonetiler.cpp:2741 @@ -821,9 +796,7 @@ msgid "Each clone's size is determined by the picked value in that point" msgstr "" #: ../src/dialogs/clonetiler.cpp:2754 -msgid "" -"Each clone is painted by the picked color (the original must have unset fill " -"or stroke)" +msgid "Each clone is painted by the picked color (the original must have unset fill or stroke)" msgstr "" #: ../src/dialogs/clonetiler.cpp:2764 @@ -832,19 +805,19 @@ msgstr "" #: ../src/dialogs/clonetiler.cpp:2791 msgid "How many rows in the tiling" -msgstr "타일로 할 줄 숫자는" +msgstr "타일에서 얼마나 많은 줄을" #: ../src/dialogs/clonetiler.cpp:2811 msgid "How many columns in the tiling" -msgstr "타일로 할 열숫자는." +msgstr "타일에서 얼마나 많은 단을" #: ../src/dialogs/clonetiler.cpp:2841 msgid "Width of the rectangle to be filled" -msgstr "채울 사각형 폭" +msgstr "채움 사각형 폭" #: ../src/dialogs/clonetiler.cpp:2866 msgid "Height of the rectangle to be filled" -msgstr "채운 사각형 높이" +msgstr "채움 사각형 높이" #: ../src/dialogs/clonetiler.cpp:2881 msgid "Rows, columns: " @@ -852,7 +825,7 @@ msgstr "줄, 열: " #: ../src/dialogs/clonetiler.cpp:2882 msgid "Create the specified number of rows and columns" -msgstr "정의된 숫자의 열과 줄을 생성" +msgstr "정의된 줄과 열 갯수를 생성" #: ../src/dialogs/clonetiler.cpp:2891 msgid "Width, height: " @@ -860,16 +833,14 @@ msgstr "폭, 높이: " #: ../src/dialogs/clonetiler.cpp:2892 msgid "Fill the specified width and height with the tiling" -msgstr "타일된 정의된 높이와 넓이를 채움" +msgstr "타일의지정 높이와 폭을 채움" #: ../src/dialogs/clonetiler.cpp:2908 msgid "Use saved size and position of the tile" -msgstr "타일시 저장된 크기와 위치 이용" +msgstr "타일의 저장 크기와 위치 이용" #: ../src/dialogs/clonetiler.cpp:2911 -msgid "" -"Pretend that the size and position of the tile are the same as the last time " -"you tiled it (if any), instead of using the current size" +msgid "Pretend that the size and position of the tile are the same as the last time you tiled it (if any), instead of using the current size" msgstr "" #: ../src/dialogs/clonetiler.cpp:2935 @@ -887,7 +858,7 @@ msgstr "" #. So unclumping is the process of spreading a number of objects out more evenly. #: ../src/dialogs/clonetiler.cpp:2952 msgid " _Unclump " -msgstr "" +msgstr " _Unclump " #: ../src/dialogs/clonetiler.cpp:2953 msgid "Spread out clones to reduce clumping; can be applied repeatedly" @@ -895,7 +866,7 @@ msgstr "" #: ../src/dialogs/clonetiler.cpp:2959 msgid " Re_move " -msgstr " 삭제(_m) " +msgstr " 삭제(_M) " #: ../src/dialogs/clonetiler.cpp:2960 msgid "Remove existing tiled clones of the selected object (siblings only)" @@ -903,13 +874,11 @@ msgstr "" #: ../src/dialogs/clonetiler.cpp:2976 msgid " R_eset " -msgstr " 리셋(_e) " +msgstr "초기화(_E) " #. TRANSLATORS: "change" is a noun here #: ../src/dialogs/clonetiler.cpp:2978 -msgid "" -"Reset all shifts, scales, rotates, opacity and color changes in the dialog " -"to zero" +msgid "Reset all shifts, scales, rotates, opacity and color changes in the dialog to zero" msgstr "" #: ../src/dialogs/debugdialog.cpp:135 @@ -917,50 +886,59 @@ msgid "Messages" msgstr "메세지" #. ## Add a menu for clear() -#: ../src/dialogs/debugdialog.cpp:141 ../src/menus-skeleton.h:16 -#: ../src/ui/dialog/messages.cpp:54 ../src/ui/dialog/scriptdialog.cpp:208 +#: ../src/dialogs/debugdialog.cpp:141 +#: ../src/menus-skeleton.h:16 +#: ../src/ui/dialog/messages.cpp:54 +#: ../src/ui/dialog/scriptdialog.cpp:208 msgid "_File" msgstr "파일(_F)" #. TRANSLATORS: "Clear" is a verb here -#: ../src/dialogs/debugdialog.cpp:142 ../src/dialogs/find.cpp:753 -#: ../src/ui/dialog/find.cpp:85 ../src/ui/dialog/messages.cpp:55 +#: ../src/dialogs/debugdialog.cpp:142 +#: ../src/dialogs/find.cpp:753 +#: ../src/ui/dialog/find.cpp:85 +#: ../src/ui/dialog/messages.cpp:55 #: ../src/ui/dialog/scriptdialog.cpp:209 msgid "_Clear" -msgstr "청소(_C)" +msgstr "제거(_C)" -#: ../src/dialogs/debugdialog.cpp:144 ../src/ui/dialog/messages.cpp:57 +#: ../src/dialogs/debugdialog.cpp:144 +#: ../src/ui/dialog/messages.cpp:57 msgid "Capture log messages" msgstr "로그 메세지 저장" -#: ../src/dialogs/debugdialog.cpp:146 ../src/ui/dialog/messages.cpp:59 +#: ../src/dialogs/debugdialog.cpp:146 +#: ../src/ui/dialog/messages.cpp:59 msgid "Release log messages" -msgstr "로그 메세지 내보네기" +msgstr "로그 메세지 제거" #: ../src/dialogs/eek-color-def.cpp:56 #: ../src/widgets/gradient-selector.cpp:162 msgid "none" msgstr "없음" -#: ../src/dialogs/export.cpp:143 ../src/verbs.cpp:2532 +#: ../src/dialogs/export.cpp:143 +#: ../src/verbs.cpp:2532 msgid "_Page" msgstr "페이지(_P)" -#: ../src/dialogs/export.cpp:143 ../src/verbs.cpp:2536 +#: ../src/dialogs/export.cpp:143 +#: ../src/verbs.cpp:2536 msgid "_Drawing" -msgstr "그리기(_D)" +msgstr "그림(_D)" -#: ../src/dialogs/export.cpp:143 ../src/verbs.cpp:2538 +#: ../src/dialogs/export.cpp:143 +#: ../src/verbs.cpp:2538 msgid "_Selection" msgstr "선택(_S)" #: ../src/dialogs/export.cpp:143 msgid "_Custom" -msgstr "개인적(_C)" +msgstr "사용자(_C)" #: ../src/dialogs/export.cpp:267 msgid "Export area" -msgstr "출력 영역" +msgstr "내보내기 구간" #: ../src/dialogs/export.cpp:281 msgid "Units:" @@ -975,10 +953,13 @@ msgid "x_1:" msgstr "x_1:" #. Stroke width -#: ../src/dialogs/export.cpp:319 ../src/dialogs/object-attributes.cpp:60 +#: ../src/dialogs/export.cpp:319 +#: ../src/dialogs/object-attributes.cpp:60 #: ../src/dialogs/object-attributes.cpp:68 -#: ../src/dialogs/stroke-style.cpp:1090 ../src/widgets/toolbox.cpp:3241 -#: ../src/widgets/toolbox.cpp:3645 ../src/widgets/toolbox.cpp:4318 +#: ../src/dialogs/stroke-style.cpp:1090 +#: ../src/widgets/toolbox.cpp:3241 +#: ../src/widgets/toolbox.cpp:3645 +#: ../src/widgets/toolbox.cpp:4318 msgid "Width:" msgstr "폭:" @@ -990,7 +971,8 @@ msgstr "_y0:" msgid "y_1:" msgstr "y_1:" -#: ../src/dialogs/export.cpp:335 ../src/dialogs/export.cpp:495 +#: ../src/dialogs/export.cpp:335 +#: ../src/dialogs/export.cpp:495 #: ../src/dialogs/object-attributes.cpp:61 #: ../src/dialogs/object-attributes.cpp:69 msgid "Height:" @@ -1000,19 +982,22 @@ msgstr "높이:" msgid "Bitmap size" msgstr "비트맵 크기" -#: ../src/dialogs/export.cpp:479 ../src/ui/widget/page-sizer.cpp:191 +#: ../src/dialogs/export.cpp:479 +#: ../src/ui/widget/page-sizer.cpp:191 msgid "_Width:" msgstr "폭(_W):" -#: ../src/dialogs/export.cpp:479 ../src/dialogs/export.cpp:495 +#: ../src/dialogs/export.cpp:479 +#: ../src/dialogs/export.cpp:495 msgid "pixels at" -msgstr "픽셀" +msgstr "화소" #: ../src/dialogs/export.cpp:489 msgid "dp_i" -msgstr "dp_i" +msgstr "DPI(_I)" -#: ../src/dialogs/export.cpp:508 ../src/ui/dialog/inkscape-preferences.cpp:673 +#: ../src/dialogs/export.cpp:508 +#: ../src/ui/dialog/inkscape-preferences.cpp:673 msgid "dpi" msgstr "dpi" @@ -1023,362 +1008,392 @@ msgstr "파일이름(_F)" #: ../src/dialogs/export.cpp:590 msgid "_Browse..." -msgstr "브라우즈(B)..." +msgstr "찾기(B)..." #: ../src/dialogs/export.cpp:619 -#, fuzzy msgid "Batch export all selected objects" -msgstr "선택됀 객체의 복사본 만들기" +msgstr "전체 선택 객체 일괄 내보내기" #: ../src/dialogs/export.cpp:623 -msgid "" -"Export each selected object into its own PNG file, using export hints if any " -"(caution, overwrites without asking!)" +msgid "Export each selected object into its own PNG file, using export hints if any (caution, overwrites without asking!)" msgstr "" -#: ../src/dialogs/export.cpp:631 -#, fuzzy -msgid "Hide all except selected" -msgstr "선택 상태 ë³´ì¡´" - #: ../src/dialogs/export.cpp:635 msgid "In the exported image, hide all objects except those that are selected" msgstr "" #: ../src/dialogs/export.cpp:652 msgid "_Export" -msgstr "출력(_E):" +msgstr "내보내기(_E):" #: ../src/dialogs/export.cpp:656 msgid "Export the bitmap file with these settings" msgstr "이 설정 상태로 비트맵 파일 생성" #: ../src/dialogs/export.cpp:682 -#, fuzzy, c-format +#, c-format msgid "Batch export %d selected object" -msgid_plural "Batch export %d selected objects" -msgstr[0] "선택됀 객체의 복사본 만들기" -msgstr[1] "선택됀 객체의 복사본 만들기" +msgstr "%d 선택 객체 일괄작업 내보내기" #: ../src/dialogs/export.cpp:1014 msgid "Export in progress" msgstr "생성 중" #: ../src/dialogs/export.cpp:1084 -#, fuzzy, c-format +#, c-format msgid "Exporting %d files" -msgstr "생성중·%s·(%d·x·%d)" +msgstr "%d 파일 내보내는 중" -#: ../src/dialogs/export.cpp:1124 ../src/dialogs/export.cpp:1196 +#: ../src/dialogs/export.cpp:1124 +#: ../src/dialogs/export.cpp:1196 #, c-format msgid "Could not export to filename %s.\n" -msgstr "%s 파일명으로 생성을 할수 없습니다.\n" +msgstr "%s 파일명으로 생성할 수 없습니다.\n" #: ../src/dialogs/export.cpp:1152 msgid "You have to enter a filename" -msgstr "파일이름을 적어야만 합니다." +msgstr "파일명 입력(필수)" #: ../src/dialogs/export.cpp:1157 msgid "The chosen area to be exported is invalid" -msgstr "생성을 위해 선택된 지역이 잘못됨" +msgstr "내보내기 위해 선택된 지역이 잘못됨" #: ../src/dialogs/export.cpp:1166 #, c-format msgid "Directory %s does not exist or is not a directory.\n" -msgstr "%s 디렉토리가 존제하지 않거나 디렉토리가 아닙니다.\n" +msgstr "%s 폴더존제하지 않거나 폴더아닙니다.\n" #: ../src/dialogs/export.cpp:1182 -#, fuzzy, c-format +#, c-format msgid "Exporting %s (%lu x %lu)" -msgstr "생성중·%s·(%d·x·%d)" +msgstr "%s (%lu x %lu) 내보내는 중" #: ../src/dialogs/export.cpp:1303 msgid "Select a filename for exporting" -msgstr "새로 생성을 위한 파일명을 선택하세요." +msgstr "내보내기 위한 파일명 선택" #: ../src/dialogs/fill-style.cpp:283 msgid "Change fill rule" -msgstr "" +msgstr "채움 규칙 변경" -#: ../src/dialogs/fill-style.cpp:323 ../src/dialogs/fill-style.cpp:397 -#, fuzzy +#: ../src/dialogs/fill-style.cpp:323 +#: ../src/dialogs/fill-style.cpp:397 msgid "Set fill color" -msgstr "삽입할 파일 선택" +msgstr "채움 색상 설정" -#: ../src/dialogs/fill-style.cpp:385 ../src/ui/widget/selected-style.cpp:255 +#: ../src/dialogs/fill-style.cpp:385 +#: ../src/ui/widget/selected-style.cpp:255 #: ../src/ui/widget/selected-style.cpp:479 msgid "Remove fill" msgstr "채움 제거" #: ../src/dialogs/fill-style.cpp:466 -#, fuzzy msgid "Set gradient on fill" -msgstr "임의의 노드 관리" +msgstr "채움에서 그라디언트 설정" #: ../src/dialogs/fill-style.cpp:513 -#, fuzzy msgid "Set pattern on fill" -msgstr "반복 무늬 채움" +msgstr "채움 패턴 설정" #. TRANSLATORS COMMENT: unset is a verb here -#: ../src/dialogs/fill-style.cpp:528 ../src/ui/widget/selected-style.cpp:193 +#: ../src/dialogs/fill-style.cpp:528 +#: ../src/ui/widget/selected-style.cpp:193 #: ../src/ui/widget/selected-style.cpp:251 #: ../src/ui/widget/selected-style.cpp:497 #: ../src/ui/widget/style-swatch.cpp:335 msgid "Unset fill" -msgstr "" +msgstr "채움 설정 안함" #. TRANSLATORS: "%s" is replaced with "exact" or "partial" when this string is displayed -#: ../src/dialogs/find.cpp:372 ../src/ui/dialog/find.cpp:436 -#, fuzzy, c-format +#: ../src/dialogs/find.cpp:372 +#: ../src/ui/dialog/find.cpp:436 msgid "%d object found (out of %d), %s match." -msgid_plural "%d objects found (out of %d), %s match." -msgstr[0] "%d 객체 찾음(%d 제외), %s 가 일치." -msgstr[1] "%d 객체 찾음(%d 제외), %s 가 일치." +msgstr "%d 객체 찾음 (%d에서), %s 일치." -#: ../src/dialogs/find.cpp:375 ../src/ui/dialog/find.cpp:439 +#: ../src/dialogs/find.cpp:375 +#: ../src/ui/dialog/find.cpp:439 msgid "exact" -msgstr "정확한" +msgstr "정확히" -#: ../src/dialogs/find.cpp:375 ../src/ui/dialog/find.cpp:439 +#: ../src/dialogs/find.cpp:375 +#: ../src/ui/dialog/find.cpp:439 msgid "partial" -msgstr "부분적인" +msgstr "부분적" -#: ../src/dialogs/find.cpp:382 ../src/ui/dialog/find.cpp:446 +#: ../src/dialogs/find.cpp:382 +#: ../src/ui/dialog/find.cpp:446 msgid "No objects found" -msgstr "어떤 객체도 발견되지 않음" +msgstr "객체를 찾을 수 없음" #: ../src/dialogs/find.cpp:540 msgid "T_ype: " -msgstr "형태(_y): " +msgstr "형태(_Y): " -#: ../src/dialogs/find.cpp:547 ../src/ui/dialog/find.cpp:70 +#: ../src/dialogs/find.cpp:547 +#: ../src/ui/dialog/find.cpp:70 msgid "Search in all object types" -msgstr "모든 객체 형태 찾기" +msgstr "전체 객체 형태에서 찾기" -#: ../src/dialogs/find.cpp:547 ../src/ui/dialog/find.cpp:70 +#: ../src/dialogs/find.cpp:547 +#: ../src/ui/dialog/find.cpp:70 msgid "All types" -msgstr "모든 형태" +msgstr "전체 형태" -#: ../src/dialogs/find.cpp:558 ../src/ui/dialog/find.cpp:71 +#: ../src/dialogs/find.cpp:558 +#: ../src/ui/dialog/find.cpp:71 msgid "Search all shapes" -msgstr "모든 모양 찾기" +msgstr "전체 모양 찾기" -#: ../src/dialogs/find.cpp:558 ../src/ui/dialog/find.cpp:71 +#: ../src/dialogs/find.cpp:558 +#: ../src/ui/dialog/find.cpp:71 msgid "All shapes" -msgstr "모든 모양" +msgstr "전체 모양" -#: ../src/dialogs/find.cpp:575 ../src/ui/dialog/find.cpp:72 +#: ../src/dialogs/find.cpp:575 +#: ../src/ui/dialog/find.cpp:72 msgid "Search rectangles" msgstr "사각형 찾기" -#: ../src/dialogs/find.cpp:575 ../src/ui/dialog/find.cpp:72 +#: ../src/dialogs/find.cpp:575 +#: ../src/ui/dialog/find.cpp:72 msgid "Rectangles" msgstr "사각형" -#: ../src/dialogs/find.cpp:580 ../src/ui/dialog/find.cpp:73 +#: ../src/dialogs/find.cpp:580 +#: ../src/ui/dialog/find.cpp:73 msgid "Search ellipses, arcs, circles" msgstr "타원, 호, 원 찾기" -#: ../src/dialogs/find.cpp:580 ../src/ui/dialog/find.cpp:73 +#: ../src/dialogs/find.cpp:580 +#: ../src/ui/dialog/find.cpp:73 msgid "Ellipses" msgstr "타원" -#: ../src/dialogs/find.cpp:585 ../src/ui/dialog/find.cpp:74 +#: ../src/dialogs/find.cpp:585 +#: ../src/ui/dialog/find.cpp:74 msgid "Search stars and polygons" -msgstr "별모양, 오각형 찾기" +msgstr "별모양, 다각형 찾기" -#: ../src/dialogs/find.cpp:585 ../src/ui/dialog/find.cpp:74 +#: ../src/dialogs/find.cpp:585 +#: ../src/ui/dialog/find.cpp:74 msgid "Stars" msgstr "별" -#: ../src/dialogs/find.cpp:590 ../src/ui/dialog/find.cpp:75 +#: ../src/dialogs/find.cpp:590 +#: ../src/ui/dialog/find.cpp:75 msgid "Search spirals" msgstr "나선형 찾기" -#: ../src/dialogs/find.cpp:590 ../src/ui/dialog/find.cpp:75 +#: ../src/dialogs/find.cpp:590 +#: ../src/ui/dialog/find.cpp:75 msgid "Spirals" msgstr "나선형" #. TRANSLATORS: polyline is a set of connected straight line segments #. http://www.w3.org/TR/SVG11/shapes.html#PolylineElement -#: ../src/dialogs/find.cpp:603 ../src/ui/dialog/find.cpp:76 +#: ../src/dialogs/find.cpp:603 +#: ../src/ui/dialog/find.cpp:76 msgid "Search paths, lines, polylines" msgstr "곡선, 직선, 폴리라인 찾기" -#: ../src/dialogs/find.cpp:603 ../src/ui/dialog/find.cpp:76 +#: ../src/dialogs/find.cpp:603 +#: ../src/ui/dialog/find.cpp:76 msgid "Paths" msgstr "경로" -#: ../src/dialogs/find.cpp:608 ../src/ui/dialog/find.cpp:77 +#: ../src/dialogs/find.cpp:608 +#: ../src/ui/dialog/find.cpp:77 msgid "Search text objects" -msgstr "글자 객체 찾기" +msgstr "문자열 객체 찾기" -#: ../src/dialogs/find.cpp:608 ../src/ui/dialog/find.cpp:77 +#: ../src/dialogs/find.cpp:608 +#: ../src/ui/dialog/find.cpp:77 msgid "Texts" -msgstr "문자" +msgstr "문자열" -#: ../src/dialogs/find.cpp:613 ../src/ui/dialog/find.cpp:78 +#: ../src/dialogs/find.cpp:613 +#: ../src/ui/dialog/find.cpp:78 msgid "Search groups" msgstr "그룹 찾기" -#: ../src/dialogs/find.cpp:613 ../src/ui/dialog/find.cpp:78 +#: ../src/dialogs/find.cpp:613 +#: ../src/ui/dialog/find.cpp:78 msgid "Groups" msgstr "그룹" -#: ../src/dialogs/find.cpp:618 ../src/ui/dialog/find.cpp:81 +#: ../src/dialogs/find.cpp:618 +#: ../src/ui/dialog/find.cpp:81 msgid "Search clones" -msgstr "복제객체 찾기" +msgstr "복제 찾기" #. TRANSLATORS: Translate the word "Clones" only. A noun indicating type of object to find -#: ../src/dialogs/find.cpp:620 ../src/ui/dialog/find.cpp:81 -#, fuzzy +#: ../src/dialogs/find.cpp:620 +#: ../src/ui/dialog/find.cpp:81 msgid "find|Clones" -msgstr "복사 객체" +msgstr "찾기|복제본" -#: ../src/dialogs/find.cpp:625 ../src/ui/dialog/find.cpp:82 +#: ../src/dialogs/find.cpp:625 +#: ../src/ui/dialog/find.cpp:82 msgid "Search images" msgstr "이미지 찾기" -#: ../src/dialogs/find.cpp:625 ../src/ui/dialog/find.cpp:82 +#: ../src/dialogs/find.cpp:625 +#: ../src/ui/dialog/find.cpp:82 #: ../share/extensions/embedimage.inx.h:3 #: ../share/extensions/extractimage.inx.h:2 msgid "Images" msgstr "이미지" -#: ../src/dialogs/find.cpp:630 ../src/ui/dialog/find.cpp:83 +#: ../src/dialogs/find.cpp:630 +#: ../src/ui/dialog/find.cpp:83 msgid "Search offset objects" -msgstr "떨어진(offset) 객체 찾지" +msgstr "옵셋 객체 찾기" -#: ../src/dialogs/find.cpp:630 ../src/ui/dialog/find.cpp:83 +#: ../src/dialogs/find.cpp:630 +#: ../src/ui/dialog/find.cpp:83 msgid "Offsets" msgstr "옵셋" -#: ../src/dialogs/find.cpp:694 ../src/ui/dialog/find.cpp:61 +#: ../src/dialogs/find.cpp:694 +#: ../src/ui/dialog/find.cpp:61 msgid "_Text: " -msgstr "텍스트(_T):" +msgstr "문자열(_T):" -#: ../src/dialogs/find.cpp:694 ../src/ui/dialog/find.cpp:61 +#: ../src/dialogs/find.cpp:694 +#: ../src/ui/dialog/find.cpp:61 msgid "Find objects by their text content (exact or partial match)" -msgstr "텍스트 내용으로 객체 찾기 (전체 또는 부분 일치)" +msgstr "문자열 내용으로 객체 찾기 (전체 또는 부분 일치)" -#: ../src/dialogs/find.cpp:695 ../src/ui/dialog/find.cpp:62 +#: ../src/dialogs/find.cpp:695 +#: ../src/ui/dialog/find.cpp:62 msgid "_ID: " msgstr "ID(_I): " -#: ../src/dialogs/find.cpp:695 ../src/ui/dialog/find.cpp:62 +#: ../src/dialogs/find.cpp:695 +#: ../src/ui/dialog/find.cpp:62 msgid "Find objects by the value of the id attribute (exact or partial match)" msgstr "id 속성 값으로 객체 찾기 (전체 또는 일부 일치)" -#: ../src/dialogs/find.cpp:696 ../src/ui/dialog/find.cpp:63 +#: ../src/dialogs/find.cpp:696 +#: ../src/ui/dialog/find.cpp:63 msgid "_Style: " msgstr "스타일(_S): " -#: ../src/dialogs/find.cpp:696 ../src/ui/dialog/find.cpp:63 -msgid "" -"Find objects by the value of the style attribute (exact or partial match)" -msgstr "" +#: ../src/dialogs/find.cpp:696 +#: ../src/ui/dialog/find.cpp:63 +msgid "Find objects by the value of the style attribute (exact or partial match)" +msgstr "스타일 속성 값에 의하여 객체 찾기(정확히 또는 부분적 일치)" -#: ../src/dialogs/find.cpp:697 ../src/ui/dialog/find.cpp:64 +#: ../src/dialogs/find.cpp:697 +#: ../src/ui/dialog/find.cpp:64 msgid "_Attribute: " -msgstr "특성(_A): " +msgstr "속성(_A): " -#: ../src/dialogs/find.cpp:697 ../src/ui/dialog/find.cpp:64 +#: ../src/dialogs/find.cpp:697 +#: ../src/ui/dialog/find.cpp:64 msgid "Find objects by the name of an attribute (exact or partial match)" -msgstr "어떤 특성 이름을 가지고 있는 객체를 찾기 (전체 또는 일부 일치)" +msgstr "속성명에 의한 객체 찾기 (완전 일치 또는 부분 일치)" -#: ../src/dialogs/find.cpp:711 ../src/ui/dialog/find.cpp:65 +#: ../src/dialogs/find.cpp:711 +#: ../src/ui/dialog/find.cpp:65 msgid "Search in s_election" -msgstr "선택된 부분에서 찾기(_e)" +msgstr "선택에서 찾기(_E)" -#: ../src/dialogs/find.cpp:715 ../src/ui/dialog/find.cpp:65 +#: ../src/dialogs/find.cpp:715 +#: ../src/ui/dialog/find.cpp:65 msgid "Limit search to the current selection" msgstr "현재 선택된 부분에 한해서만 찾기" -#: ../src/dialogs/find.cpp:720 ../src/ui/dialog/find.cpp:66 +#: ../src/dialogs/find.cpp:720 +#: ../src/ui/dialog/find.cpp:66 msgid "Search in current _layer" -msgstr "현재 레이어에서만 찾기(_l)" +msgstr "현재 레이어만 찾기(_L)" -#: ../src/dialogs/find.cpp:724 ../src/ui/dialog/find.cpp:66 +#: ../src/dialogs/find.cpp:724 +#: ../src/ui/dialog/find.cpp:66 msgid "Limit search to the current layer" -msgstr "현재 레이어에서 만 찾기" +msgstr "찾기에서 현재 레이어로 제한" -#: ../src/dialogs/find.cpp:729 ../src/ui/dialog/find.cpp:67 +#: ../src/dialogs/find.cpp:729 +#: ../src/ui/dialog/find.cpp:67 msgid "Include _hidden" -msgstr "숨김 포함(_h)" +msgstr "숨김 포함(_H)" -#: ../src/dialogs/find.cpp:733 ../src/ui/dialog/find.cpp:67 +#: ../src/dialogs/find.cpp:733 +#: ../src/ui/dialog/find.cpp:67 msgid "Include hidden objects in search" -msgstr "숨겨진 객체를 포함해 찾기" +msgstr "찾기에서 숨긴 객체 포함" -#: ../src/dialogs/find.cpp:738 ../src/ui/dialog/find.cpp:68 +#: ../src/dialogs/find.cpp:738 +#: ../src/ui/dialog/find.cpp:68 msgid "Include l_ocked" -msgstr "잠김 개체포함" +msgstr "잠김 개체포함(_O)" -#: ../src/dialogs/find.cpp:742 ../src/ui/dialog/find.cpp:68 +#: ../src/dialogs/find.cpp:742 +#: ../src/ui/dialog/find.cpp:68 msgid "Include locked objects in search" -msgstr "잠긴 객체 포함해서 찾기" +msgstr "찾기에서 잠긴 객체 포함" -#: ../src/dialogs/find.cpp:753 ../src/ui/dialog/find.cpp:85 +#: ../src/dialogs/find.cpp:753 +#: ../src/ui/dialog/find.cpp:85 msgid "Clear values" msgstr "값 지우기" -#: ../src/dialogs/find.cpp:754 ../src/ui/dialog/find.cpp:86 +#: ../src/dialogs/find.cpp:754 +#: ../src/ui/dialog/find.cpp:86 msgid "_Find" msgstr "찾기(_F)" -#: ../src/dialogs/find.cpp:754 ../src/ui/dialog/find.cpp:86 +#: ../src/dialogs/find.cpp:754 +#: ../src/ui/dialog/find.cpp:86 msgid "Select objects matching all of the fields you filled in" -msgstr "조건에 채워진 모든것이 일치하는 객체 찾기" +msgstr "조건에 모든것이 일치하는 객체 선택" #: ../src/dialogs/guidelinedialog.cpp:44 -#, fuzzy msgid "Unit:" msgstr "단위:" #: ../src/dialogs/guidelinedialog.cpp:45 #: ../src/dialogs/object-attributes.cpp:58 -#: ../src/dialogs/object-attributes.cpp:66 ../src/widgets/toolbox.cpp:1248 +#: ../src/dialogs/object-attributes.cpp:66 +#: ../src/widgets/toolbox.cpp:1248 msgid "X:" -msgstr "X:" +msgstr "X 위치:" #: ../src/dialogs/guidelinedialog.cpp:46 #: ../src/dialogs/object-attributes.cpp:59 -#: ../src/dialogs/object-attributes.cpp:67 ../src/widgets/toolbox.cpp:1266 +#: ../src/dialogs/object-attributes.cpp:67 +#: ../src/widgets/toolbox.cpp:1266 msgid "Y:" -msgstr "Y:" +msgstr "Y 위치:" #: ../src/dialogs/guidelinedialog.cpp:47 msgid "Angle (degrees):" -msgstr "" +msgstr "각도 (도):" #: ../src/dialogs/guidelinedialog.cpp:48 -#, fuzzy msgid "Rela_tive change" -msgstr "사각형 찾기" +msgstr "상대적 변경(_T)" #: ../src/dialogs/guidelinedialog.cpp:48 msgid "Move and/or rotate the guide relative to current settings" -msgstr "" +msgstr "현재 설정과 관련하여 안내선 이동 또는 회전" #: ../src/dialogs/guidelinedialog.cpp:114 -#, fuzzy msgid "Set guide properties" -msgstr "출력 설정" +msgstr "안내선 속성 설정" #: ../src/dialogs/guidelinedialog.cpp:153 msgid "Guideline" -msgstr "가이드 라인" +msgstr "안내선" #: ../src/dialogs/guidelinedialog.cpp:241 -#, fuzzy, c-format msgid "Guideline ID: %s" -msgstr "가이드 라인" +msgstr "안내선 ID: %s" #: ../src/dialogs/guidelinedialog.cpp:247 -#, fuzzy, c-format msgid "Current: %s" -msgstr "%s 파일명으로 생성을 할수 없습니다.\n" +msgstr "현재: %s" #: ../src/dialogs/iconpreview.cpp:139 #, c-format @@ -1394,11 +1409,14 @@ msgstr "선택" #: ../src/dialogs/iconpreview.cpp:189 msgid "Selection only or whole document" -msgstr "일부반 선택하거나 전체 문서 선택" +msgstr "선택만 또는 전체 문서" + +msgid "_Refresh" +msgstr "다시 읽기(_R)" #: ../src/dialogs/iconpreview.cpp:197 msgid "Refresh the icons" -msgstr "아이콘 재 읽기" +msgstr "아이콘 다시 읽기" #. Create the label for the object id #: ../src/dialogs/item-properties.cpp:120 @@ -1406,15 +1424,15 @@ msgstr "아이콘 재 읽기" #: ../src/dialogs/item-properties.cpp:413 #: ../src/dialogs/item-properties.cpp:420 msgid "_Id" -msgstr "_Id" +msgstr "_ID" #: ../src/dialogs/item-properties.cpp:129 -msgid "" -"The id= attribute (only letters, digits, and the characters .-_: allowed)" -msgstr "" +msgid "The id= attribute (only letters, digits, and the characters .-_: allowed)" +msgstr "ID= 속성(문자만, 숫자, -_ 허용)" #. Button for setting the object's id, label, title and description. -#: ../src/dialogs/item-properties.cpp:143 ../src/verbs.cpp:2401 +#: ../src/dialogs/item-properties.cpp:143 +#: ../src/verbs.cpp:2401 #: ../src/verbs.cpp:2407 msgid "_Set" msgstr "설정(_S)" @@ -1422,19 +1440,21 @@ msgstr "설정(_S)" #. Create the label for the object label #: ../src/dialogs/item-properties.cpp:152 msgid "_Label" -msgstr "_Label" +msgstr "라벨(_L)l" #: ../src/dialogs/item-properties.cpp:161 msgid "A freeform label for the object" -msgstr "객체를 위한 자유 형식의 래밸" +msgstr "객체를 위한 자유양식 레벨" #. Create the label for the object title -#: ../src/dialogs/item-properties.cpp:173 ../src/dialogs/rdf.cpp:238 +#: ../src/dialogs/item-properties.cpp:173 +#: ../src/dialogs/rdf.cpp:238 msgid "Title" msgstr "제목" #. Create the frame for the object description -#: ../src/dialogs/item-properties.cpp:190 ../src/dialogs/rdf.cpp:282 +#: ../src/dialogs/item-properties.cpp:190 +#: ../src/dialogs/rdf.cpp:282 #: ../src/ui/widget/page-sizer.cpp:200 msgid "Description" msgstr "설명" @@ -1446,7 +1466,7 @@ msgstr "숨기기(_H)" #: ../src/dialogs/item-properties.cpp:219 msgid "Check to make the object invisible" -msgstr "객체를 보이지 않게 설정 선택" +msgstr "객체를 안보이게 하기 위하여 체크" #. Lock #. TRANSLATORS: "Lock" is a verb here @@ -1456,32 +1476,28 @@ msgstr "잠금(_o)" #: ../src/dialogs/item-properties.cpp:229 msgid "Check to make the object insensitive (not selectable by mouse)" -msgstr "" +msgstr "객체를 둔감하게 만들기 위하여 체크(마우스에 의한 선택할 수 있는 것이 아님)" #: ../src/dialogs/item-properties.cpp:305 #: ../src/dialogs/item-properties.cpp:312 msgid "Ref" -msgstr "" +msgstr "Ref" #: ../src/dialogs/item-properties.cpp:372 -#, fuzzy msgid "Lock object" -msgstr "잠겨진 객체 무시" +msgstr "객체 잠금" #: ../src/dialogs/item-properties.cpp:372 -#, fuzzy msgid "Unlock object" -msgstr "잠겨진 객체 무시" +msgstr "객체 잠금 해제" #: ../src/dialogs/item-properties.cpp:391 -#, fuzzy msgid "Hide object" -msgstr "감춰진 객체 무시" +msgstr "객체 숨기기" #: ../src/dialogs/item-properties.cpp:391 -#, fuzzy msgid "Unhide object" -msgstr "감춰진 객체 무시" +msgstr "객체 보이기" #: ../src/dialogs/item-properties.cpp:415 msgid "Id invalid! " @@ -1492,45 +1508,40 @@ msgid "Id exists! " msgstr "ID 존재함!." #: ../src/dialogs/item-properties.cpp:424 -#, fuzzy msgid "Set object ID" -msgstr "글자 객체 찾기" +msgstr "객체 ID 설정" #: ../src/dialogs/item-properties.cpp:439 -#, fuzzy msgid "Set object label" -msgstr "불이기 종류(_S)" +msgstr "객체 라벨 설정" #: ../src/dialogs/item-properties.cpp:450 -#, fuzzy msgid "Set object title" -msgstr "불이기 종류(_S)" +msgstr "객체 제목 설정" #: ../src/dialogs/item-properties.cpp:465 -#, fuzzy msgid "Set object description" -msgstr " 설명: " +msgstr "객체 설명 설정" #: ../src/dialogs/layer-properties.cpp:47 msgid "Layer name:" msgstr "레이어 이름:" #: ../src/dialogs/layer-properties.cpp:115 -#, fuzzy msgid "Add layer" -msgstr "레이어 추가" +msgstr "레이어 더하기" #: ../src/dialogs/layer-properties.cpp:153 msgid "Above current" -msgstr "현재 보다 위" +msgstr "현재보다 위" #: ../src/dialogs/layer-properties.cpp:157 msgid "Below current" -msgstr "현재 보다 아래" +msgstr "현재보다 아래" #: ../src/dialogs/layer-properties.cpp:160 msgid "As sublayer of current" -msgstr "현재의 부 레이어" +msgstr "현재 하위 레이어" #: ../src/dialogs/layer-properties.cpp:164 msgid "Position:" @@ -1542,17 +1553,16 @@ msgstr "레이어 이름변경" #: ../src/dialogs/layer-properties.cpp:185 msgid "_Rename" -msgstr "이름변경(_R)" +msgstr "이름 변경(_R)" #: ../src/dialogs/layer-properties.cpp:195 -#, fuzzy msgid "Rename layer" -msgstr "이름바뀐 레이어" +msgstr "레이어 다른 이름으로" #. TRANSLATORS: This means "The layer has been renamed" #: ../src/dialogs/layer-properties.cpp:197 msgid "Renamed layer" -msgstr "이름바뀐 레이어" +msgstr "이름 변경된 레이어" #: ../src/dialogs/layer-properties.cpp:201 msgid "Add Layer" @@ -1564,39 +1574,40 @@ msgstr "추가(_A)" #: ../src/dialogs/layer-properties.cpp:225 msgid "New layer created." -msgstr "새로운 레이어 생성." +msgstr "새 레이어 생성." -#: ../src/dialogs/layers-panel.cpp:579 ../src/widgets/layer-selector.cpp:595 -#, fuzzy +#: ../src/dialogs/layers-panel.cpp:579 +#: ../src/widgets/layer-selector.cpp:595 msgid "Unhide layer" -msgstr "레이어 이름변경" +msgstr "레이어 보이기" -#: ../src/dialogs/layers-panel.cpp:579 ../src/widgets/layer-selector.cpp:595 -#, fuzzy +#: ../src/dialogs/layers-panel.cpp:579 +#: ../src/widgets/layer-selector.cpp:595 msgid "Hide layer" -msgstr "레이어 이름변경" +msgstr "레이어 숨기기" -#: ../src/dialogs/layers-panel.cpp:590 ../src/widgets/layer-selector.cpp:587 -#, fuzzy +#: ../src/dialogs/layers-panel.cpp:590 +#: ../src/widgets/layer-selector.cpp:587 msgid "Lock layer" -msgstr "노드를 아래도" +msgstr "레이어 잠그기" -#: ../src/dialogs/layers-panel.cpp:590 ../src/widgets/layer-selector.cpp:587 -#, fuzzy +#: ../src/dialogs/layers-panel.cpp:590 +#: ../src/widgets/layer-selector.cpp:587 msgid "Unlock layer" -msgstr "노드를 아래도" +msgstr "레이어 잠금 해제" #: ../src/dialogs/layers-panel.cpp:735 msgid "New" -msgstr "새로만들기" +msgstr "새로 만들기" -#: ../src/dialogs/layers-panel.cpp:740 ../share/extensions/restack.inx.h:16 +#: ../src/dialogs/layers-panel.cpp:740 +#: ../share/extensions/restack.inx.h:16 msgid "Top" -msgstr "위" +msgstr "최상단" #: ../src/dialogs/layers-panel.cpp:746 msgid "Up" -msgstr "위" +msgstr "위로" #: ../src/dialogs/layers-panel.cpp:752 msgid "Dn" @@ -1604,7 +1615,7 @@ msgstr "아래로" #: ../src/dialogs/layers-panel.cpp:758 msgid "Bot" -msgstr "" +msgstr "최하단" #: ../src/dialogs/layers-panel.cpp:768 msgid "X" @@ -1612,27 +1623,27 @@ msgstr "X" #: ../src/dialogs/object-attributes.cpp:39 msgid "Href:" -msgstr "" +msgstr "Href:" #: ../src/dialogs/object-attributes.cpp:40 msgid "Target:" -msgstr "목적:" +msgstr "목표:" #: ../src/dialogs/object-attributes.cpp:41 msgid "Type:" -msgstr "타입:" +msgstr "형태:" #. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/linking.html#AElementXLinkRoleAttribute #. Identifies the type of the related resource with an absolute URI #: ../src/dialogs/object-attributes.cpp:44 msgid "Role:" -msgstr "역활:" +msgstr "역할:" #. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/linking.html#AElementXLinkArcRoleAttribute #. For situations where the nature/role alone isn't enough, this offers an additional URI defining the purpose of the link. #: ../src/dialogs/object-attributes.cpp:47 msgid "Arcrole:" -msgstr "" +msgstr "Arcrole:" #. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/linking.html#AElementXLinkTitleAttribute #: ../src/dialogs/object-attributes.cpp:49 @@ -1647,16 +1658,16 @@ msgstr "보이기:" #. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/linking.html#AElementXLinkActuateAttribute #: ../src/dialogs/object-attributes.cpp:52 msgid "Actuate:" -msgstr "" +msgstr "작동" #: ../src/dialogs/object-attributes.cpp:57 msgid "URL:" msgstr "URL:" #: ../src/dialogs/object-attributes.cpp:113 -#, fuzzy, c-format +#, c-format msgid "%s Properties" -msgstr "출력 설정" +msgstr "%s 속성" #: ../src/dialogs/rdf.cpp:181 msgid "CC Attribution" @@ -1691,13 +1702,12 @@ msgid "FreeArt" msgstr "프리아트" #: ../src/dialogs/rdf.cpp:221 -#, fuzzy msgid "Open Font License" -msgstr "새파일 열기" +msgstr "글꼴 저작권 열기" #: ../src/dialogs/rdf.cpp:239 msgid "Name by which this document is formally known." -msgstr "이 문서의 일반적으로 잘알려진 이름." +msgstr "이 문서의 일반적으로 잘 알려진 이름." #: ../src/dialogs/rdf.cpp:241 msgid "Date" @@ -1705,18 +1715,19 @@ msgstr "날짜" #: ../src/dialogs/rdf.cpp:242 msgid "Date associated with the creation of this document (YYYY-MM-DD)." -msgstr "이 문서를 생성한 시간(YYYY-MM-DD)." +msgstr "문서 생성 시간(YYYY-MM-DD)." #: ../src/dialogs/rdf.cpp:244 msgid "Format" -msgstr "포멧" +msgstr "형식" #: ../src/dialogs/rdf.cpp:245 msgid "The physical or digital manifestation of this document (MIME type)." -msgstr "" +msgstr "MIME 형태" #. _settings->add_checkbutton(false, SP_ATTR_STITCHTILES, _("Stitch Tiles"), "stitch", "noStitch"); -#: ../src/dialogs/rdf.cpp:247 ../src/extension/internal/bitmap/addNoise.cpp:46 +#: ../src/dialogs/rdf.cpp:247 +#: ../src/extension/internal/bitmap/addNoise.cpp:46 #: ../src/ui/dialog/filter-effects-dialog.cpp:2194 #: ../src/ui/dialog/filter-effects-dialog.cpp:2273 msgid "Type" @@ -1731,18 +1742,16 @@ msgid "Creator" msgstr "제작자" #: ../src/dialogs/rdf.cpp:252 -msgid "" -"Name of entity primarily responsible for making the content of this document." -msgstr "" +msgid "Name of entity primarily responsible for making the content of this document." +msgstr "문서 내용을 생성하는 기관 이름" #: ../src/dialogs/rdf.cpp:254 msgid "Rights" -msgstr "" +msgstr "권리" #: ../src/dialogs/rdf.cpp:255 -msgid "" -"Name of entity with rights to the Intellectual Property of this document." -msgstr "" +msgid "Name of entity with rights to the Intellectual Property of this document." +msgstr "문서의 지적 재산권을 가진 기관 이름" #: ../src/dialogs/rdf.cpp:257 msgid "Publisher" @@ -1750,17 +1759,18 @@ msgstr "출판자" #: ../src/dialogs/rdf.cpp:258 msgid "Name of entity responsible for making this document available." -msgstr "이 문서를 만들기 위한 요구 엔트리 이름" +msgstr "이 문서를 사용하기 위하여 책임이 있는 실체의 이름" #: ../src/dialogs/rdf.cpp:261 msgid "Identifier" -msgstr "구별자" +msgstr "식별자" #: ../src/dialogs/rdf.cpp:262 msgid "Unique URI to reference this document." -msgstr "참조 문서의 유일한 URI" +msgstr "이 문서를 참조하기 위한 유일한 URI" -#: ../src/dialogs/rdf.cpp:264 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1392 +#: ../src/dialogs/rdf.cpp:264 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1392 msgid "Source" msgstr "소스" @@ -1770,56 +1780,50 @@ msgstr "이문서 의 참고 소스가 되는 유일한 URI" #: ../src/dialogs/rdf.cpp:267 msgid "Relation" -msgstr "" +msgstr "관련" #: ../src/dialogs/rdf.cpp:268 msgid "Unique URI to a related document." -msgstr "관련문서의 유일한 URI" +msgstr "관련 문서의 유일한 URI" #: ../src/dialogs/rdf.cpp:270 msgid "Language" msgstr "언어" #: ../src/dialogs/rdf.cpp:271 -msgid "" -"Two-letter language tag with optional subtags for the language of this " -"document. (e.g. 'en-GB')" -msgstr "" +msgid "Two-letter language tag with optional subtags for the language of this document. (e.g. 'en-GB')" +msgstr "이 문서를 위한 부가 하위태그를 가진 2 글자 언어 태그 (예, 'ko-KR')" #: ../src/dialogs/rdf.cpp:273 msgid "Keywords" -msgstr "키워드" +msgstr "주제어" #: ../src/dialogs/rdf.cpp:274 -msgid "" -"The topic of this document as comma-separated key words, phrases, or " -"classifications." -msgstr "" +msgid "The topic of this document as comma-separated key words, phrases, or classifications." +msgstr "주제어,문단, 분류등 콤마로 분류된 문서의 주제" #. TRANSLATORS: "Coverage": the spatial or temporal characteristics of the content. #. For info, see Appendix D of http://www.w3.org/TR/1998/WD-rdf-schema-19980409/ #: ../src/dialogs/rdf.cpp:278 msgid "Coverage" -msgstr "표지" +msgstr "범위" #: ../src/dialogs/rdf.cpp:279 msgid "Extent or scope of this document." -msgstr "" +msgstr "이 문서의 확장 또는 범위" #: ../src/dialogs/rdf.cpp:283 msgid "A short account of the content of this document." -msgstr "" +msgstr "이 문서 내용의 간략한 설명" #. FIXME: need to handle 1 agent per line of input #: ../src/dialogs/rdf.cpp:287 msgid "Contributors" -msgstr "기증자" +msgstr "기여자" #: ../src/dialogs/rdf.cpp:288 -msgid "" -"Names of entities responsible for making contributions to the content of " -"this document." -msgstr "" +msgid "Names of entities responsible for making contributions to the content of this document." +msgstr "이 문서 내용의 기여에 책임이 있는 실체의 이름" #. TRANSLATORS: URL to a page that defines the license for the document #: ../src/dialogs/rdf.cpp:292 @@ -1829,102 +1833,107 @@ msgstr "URI" #. TRANSLATORS: this is where you put a URL to a page that defines the license #: ../src/dialogs/rdf.cpp:294 msgid "URI to this document's license's namespace definition." -msgstr "" +msgstr "이 문서의 저작권을 정의한 URL이 있는 사이트" #. TRANSLATORS: fragment of XML representing the license of the document #: ../src/dialogs/rdf.cpp:298 msgid "Fragment" -msgstr "" +msgstr "프래그먼트" #: ../src/dialogs/rdf.cpp:299 msgid "XML fragment for the RDF 'License' section." -msgstr "" +msgstr "RDF 저작권 부분을 위한 XML 프래그먼트" #. TRANSLATORS: "Set" is a verb here #: ../src/dialogs/sp-attribute-widget.cpp:166 -#: ../src/dialogs/sp-attribute-widget.cpp:773 ../src/dialogs/xml-tree.cpp:533 +#: ../src/dialogs/sp-attribute-widget.cpp:773 +#: ../src/dialogs/xml-tree.cpp:533 msgid "Set attribute" msgstr "속성 설정" -#: ../src/dialogs/stroke-style.cpp:305 ../src/dialogs/stroke-style.cpp:364 -#, fuzzy +#: ../src/dialogs/stroke-style.cpp:305 +#: ../src/dialogs/stroke-style.cpp:364 msgid "Set stroke color" -msgstr "색 붙이기" +msgstr "윤곽선 색상 설정" -#: ../src/dialogs/stroke-style.cpp:355 ../src/ui/widget/selected-style.cpp:255 +#: ../src/dialogs/stroke-style.cpp:355 +#: ../src/ui/widget/selected-style.cpp:255 #: ../src/ui/widget/selected-style.cpp:488 msgid "Remove stroke" -msgstr "" +msgstr "윤곽선 제거" #: ../src/dialogs/stroke-style.cpp:416 -#, fuzzy msgid "Set gradient on stroke" -msgstr "임의의 노드 관리" +msgstr "윤곽선 그라디언트 설정" #: ../src/dialogs/stroke-style.cpp:460 -#, fuzzy msgid "Set pattern on stroke" -msgstr "불이기 종류(_S)" +msgstr "윤곽선에서 패턴 설정" -#: ../src/dialogs/stroke-style.cpp:481 ../src/ui/widget/selected-style.cpp:193 +#: ../src/dialogs/stroke-style.cpp:481 +#: ../src/ui/widget/selected-style.cpp:193 #: ../src/ui/widget/selected-style.cpp:251 #: ../src/ui/widget/selected-style.cpp:513 #: ../src/ui/widget/style-swatch.cpp:335 msgid "Unset stroke" -msgstr "" +msgstr "윤곽선 설정안함" -#: ../src/dialogs/stroke-style.cpp:793 ../src/filter-enums.cpp:95 -#: ../src/flood-context.cpp:288 ../src/interface.cpp:826 +#: ../src/dialogs/stroke-style.cpp:793 +#: ../src/filter-enums.cpp:95 +#: ../src/flood-context.cpp:288 +#: ../src/interface.cpp:826 #: ../src/ui/dialog/filter-effects-dialog.cpp:507 #: ../src/ui/dialog/inkscape-preferences.cpp:211 #: ../src/ui/dialog/inkscape-preferences.cpp:375 #: ../src/ui/dialog/inkscape-preferences.cpp:501 -#: ../src/ui/dialog/inkscape-preferences.cpp:958 ../src/verbs.cpp:2156 +#: ../src/ui/dialog/inkscape-preferences.cpp:958 +#: ../src/verbs.cpp:2156 #: ../share/extensions/grid_polar.inx.h:16 msgid "None" msgstr "없음" -#: ../src/dialogs/stroke-style.cpp:848 ../src/widgets/gradient-vector.cpp:264 +#: ../src/dialogs/stroke-style.cpp:848 +#: ../src/widgets/gradient-vector.cpp:264 #: ../src/widgets/paint-selector.cpp:885 msgid "No document selected" -msgstr "어떠한 문서도 선택되지 않음" +msgstr "문서 선택 없음" #: ../src/dialogs/stroke-style.cpp:937 -#, fuzzy msgid "Set markers" -msgstr "별" +msgstr "마커 설정" -#: ../src/dialogs/stroke-style.cpp:1104 ../share/extensions/edge3d.inx.h:9 +#: ../src/dialogs/stroke-style.cpp:1104 +#: ../share/extensions/edge3d.inx.h:9 msgid "Stroke width" -msgstr "" +msgstr "윤곽선 폭" #. Join type #. TRANSLATORS: The line join style specifies the shape to be used at the #. corners of paths. It can be "miter", "round" or "bevel". #: ../src/dialogs/stroke-style.cpp:1127 msgid "Join:" -msgstr "합체:" +msgstr "결합 방법:" #. TRANSLATORS: Miter join: joining lines with a sharp (pointed) corner. #. For an example, draw a triangle with a large stroke width and modify the #. "Join" option (in the Fill and Stroke dialog). #: ../src/dialogs/stroke-style.cpp:1139 msgid "Miter join" -msgstr "" +msgstr "이음 결합" #. TRANSLATORS: Round join: joining lines with a rounded corner. #. For an example, draw a triangle with a large stroke width and modify the #. "Join" option (in the Fill and Stroke dialog). #: ../src/dialogs/stroke-style.cpp:1147 msgid "Round join" -msgstr "" +msgstr "둥근 결합" #. TRANSLATORS: Bevel join: joining lines with a blunted (flattened) corner. #. For an example, draw a triangle with a large stroke width and modify the #. "Join" option (in the Fill and Stroke dialog). #: ../src/dialogs/stroke-style.cpp:1155 msgid "Bevel join" -msgstr "" +msgstr "경사 결합" #. Miterlimit #. TRANSLATORS: Miter limit: only for "miter join", this limits the length @@ -1935,105 +1944,101 @@ msgstr "" #. when they become too long. #: ../src/dialogs/stroke-style.cpp:1166 msgid "Miter limit:" -msgstr "" +msgstr "이음 한계:" #: ../src/dialogs/stroke-style.cpp:1174 msgid "Maximum length of the miter (in units of stroke width)" -msgstr "" +msgstr "이음의 최대 길이" #. Cap type #. TRANSLATORS: cap type specifies the shape for the ends of lines #: ../src/dialogs/stroke-style.cpp:1187 msgid "Cap:" -msgstr "" +msgstr "정점 처리:" #. TRANSLATORS: Butt cap: the line shape does not extend beyond the end point #. of the line; the ends of the line are square #: ../src/dialogs/stroke-style.cpp:1198 msgid "Butt cap" -msgstr "" +msgstr "버튼" #. TRANSLATORS: Round cap: the line shape extends beyond the end point of the #. line; the ends of the line are rounded #: ../src/dialogs/stroke-style.cpp:1205 msgid "Round cap" -msgstr "" +msgstr "둥금" #. TRANSLATORS: Square cap: the line shape extends beyond the end point of the #. line; the ends of the line are square #: ../src/dialogs/stroke-style.cpp:1212 msgid "Square cap" -msgstr "" +msgstr "사각" #. Dash #: ../src/dialogs/stroke-style.cpp:1218 msgid "Dashes:" -msgstr "점선:" +msgstr "실선:" #. TRANSLATORS: Path markers are an SVG feature that allows you to attach arbitrary shapes #. (arrowheads, bullets, faces, whatever) to the start, end, or middle nodes of a path. #: ../src/dialogs/stroke-style.cpp:1239 msgid "Start Markers:" -msgstr "" +msgstr "시작 마커:" #: ../src/dialogs/stroke-style.cpp:1249 msgid "Mid Markers:" -msgstr "" +msgstr "중간 마커:" #: ../src/dialogs/stroke-style.cpp:1259 msgid "End Markers:" -msgstr "" +msgstr "끝 마커:" -#: ../src/dialogs/stroke-style.cpp:1605 ../src/dialogs/stroke-style.cpp:1703 -#, fuzzy +#: ../src/dialogs/stroke-style.cpp:1605 +#: ../src/dialogs/stroke-style.cpp:1703 msgid "Set stroke style" -msgstr "불이기 종류(_S)" +msgstr "윤곽선 스타일 설정" #: ../src/dialogs/swatches.cpp:248 #, c-format -msgid "" -"Color: %s; Click to set fill, Shift+click to set stroke" -msgstr "" +msgid "Color: %s; Click to set fill, Shift+click to set stroke" +msgstr "색상: %s; 채움 설정하기 위하여 클릭, 윤곽선을 설정하기 위하여 Shift+클릭" #. TRANSLATORS: An item in context menu on a colour in the swatches #: ../src/dialogs/swatches.cpp:298 -#, fuzzy msgid "Set fill" -msgstr "반전" +msgstr "채움 설정" #. TRANSLATORS: An item in context menu on a colour in the swatches #: ../src/dialogs/swatches.cpp:306 -#, fuzzy msgid "Set stroke" -msgstr "반전" +msgstr "윤곽선 설정" #: ../src/dialogs/swatches.cpp:525 -#, fuzzy msgid "Change color definition" -msgstr "접속 취소" +msgstr "색상 정의 변경" #: ../src/dialogs/swatches.cpp:676 -#, fuzzy msgid "Set stroke color from swatch" -msgstr "글자를 곡선으로 변환" +msgstr "색상판에서 윤곽선 색상 설정" #: ../src/dialogs/swatches.cpp:676 msgid "Set fill color from swatch" -msgstr "" +msgstr "색상판에서 채움 색상 설정" #: ../src/dialogs/swatches.cpp:996 #, c-format msgid "Palettes directory (%s) is unavailable." -msgstr "" +msgstr "팔레트 폴더 (%s)를 사용할 수 없음." #. TODO: Insert widgets -#: ../src/dialogs/text-edit.cpp:200 ../src/ui/dialog/text-properties.cpp:36 +#: ../src/dialogs/text-edit.cpp:200 +#: ../src/ui/dialog/text-properties.cpp:36 msgid "Font" msgstr "글꼴" #: ../src/dialogs/text-edit.cpp:223 msgid "Layout" -msgstr "틀" +msgstr "문자 배열" #: ../src/dialogs/text-edit.cpp:237 msgid "Align lines left" @@ -2042,7 +2047,7 @@ msgstr "왼쪽으로 정렬" #. TRANSLATORS: `Center' here is a verb. #: ../src/dialogs/text-edit.cpp:252 msgid "Center lines" -msgstr "중심선" +msgstr "중심 정렬" #: ../src/dialogs/text-edit.cpp:266 msgid "Align lines right" @@ -2050,24 +2055,28 @@ msgstr "오른쪽으로 정렬" #: ../src/dialogs/text-edit.cpp:280 msgid "Justify lines" -msgstr "" +msgstr "자리맞추기 정렬" -#: ../src/dialogs/text-edit.cpp:302 ../src/widgets/toolbox.cpp:5354 +#: ../src/dialogs/text-edit.cpp:302 +#: ../src/widgets/toolbox.cpp:5354 msgid "Horizontal text" -msgstr "수평 글자" +msgstr "수평 문자열" -#: ../src/dialogs/text-edit.cpp:316 ../src/widgets/toolbox.cpp:5366 +#: ../src/dialogs/text-edit.cpp:316 +#: ../src/widgets/toolbox.cpp:5366 msgid "Vertical text" -msgstr "수직 글자" +msgstr "수직 문자열" #: ../src/dialogs/text-edit.cpp:331 msgid "Line spacing:" msgstr "줄 간격:" #. Text -#: ../src/dialogs/text-edit.cpp:377 ../src/selection-describer.cpp:67 +#: ../src/dialogs/text-edit.cpp:377 +#: ../src/selection-describer.cpp:67 #: ../src/ui/dialog/inkscape-preferences.cpp:469 -#: ../src/ui/dialog/text-properties.cpp:37 ../src/verbs.cpp:2437 +#: ../src/ui/dialog/text-properties.cpp:37 +#: ../src/verbs.cpp:2437 #: ../share/extensions/lorem_ipsum.inx.h:5 #: ../share/extensions/render_alphabetsoup.inx.h:4 #: ../share/extensions/text_braille.inx.h:2 @@ -2079,20 +2088,20 @@ msgstr "줄 간격:" #: ../share/extensions/text_titlecase.inx.h:1 #: ../share/extensions/text_uppercase.inx.h:1 msgid "Text" -msgstr "텍스트" +msgstr "문자열" #: ../src/dialogs/text-edit.cpp:424 msgid "Set as default" -msgstr "기본 으로 설정" +msgstr "기본값으로 설정" -#: ../src/dialogs/text-edit.cpp:665 ../src/text-context.cpp:1438 -#, fuzzy +#: ../src/dialogs/text-edit.cpp:665 +#: ../src/text-context.cpp:1438 msgid "Set text style" -msgstr "불이기 종류(_S)" +msgstr "문자열 스타일 설정" #: ../src/dialogs/tiledialog.cpp:353 msgid "Arrange in a grid" -msgstr "" +msgstr "격자에서 배열" #: ../src/dialogs/tiledialog.cpp:654 msgid "Rows:" @@ -2100,11 +2109,11 @@ msgstr "줄:" #: ../src/dialogs/tiledialog.cpp:662 msgid "Number of rows" -msgstr "줄 숫자:" +msgstr "줄 갯수:" #: ../src/dialogs/tiledialog.cpp:666 msgid "Equal height" -msgstr "같은 높이" +msgstr "높이 같게" #: ../src/dialogs/tiledialog.cpp:676 msgid "If not set, each row has the height of the tallest object in it" @@ -2112,9 +2121,10 @@ msgstr "" #. #### Radio buttons to control vertical alignment #### #. #### Radio buttons to control horizontal alignment #### -#: ../src/dialogs/tiledialog.cpp:682 ../src/dialogs/tiledialog.cpp:752 +#: ../src/dialogs/tiledialog.cpp:682 +#: ../src/dialogs/tiledialog.cpp:752 msgid "Align:" -msgstr "정열:" +msgstr "정렬:" #. #### Number of columns #### #: ../src/dialogs/tiledialog.cpp:724 @@ -2123,11 +2133,11 @@ msgstr "열:" #: ../src/dialogs/tiledialog.cpp:732 msgid "Number of columns" -msgstr "열 숫자:" +msgstr "열 갯수:" #: ../src/dialogs/tiledialog.cpp:736 msgid "Equal width" -msgstr "폭을 같게" +msgstr "폭을 동일하게" #: ../src/dialogs/tiledialog.cpp:745 msgid "If not set, each column has the width of the widest object in it" @@ -2136,7 +2146,7 @@ msgstr "" #. #### Radio buttons to control spacing manually or to fit selection bbox #### #: ../src/dialogs/tiledialog.cpp:791 msgid "Fit into selection box" -msgstr "선택한 박스에 마춤" +msgstr "선택 상자에 맞추기" #: ../src/dialogs/tiledialog.cpp:797 msgid "Set spacing:" @@ -2144,79 +2154,84 @@ msgstr "간격 설정:" #: ../src/dialogs/tiledialog.cpp:817 msgid "Vertical spacing between rows (px units)" -msgstr "줄간의 수직간격 (px 단위)" +msgstr "줄간의 수직간격 (화소)" #: ../src/dialogs/tiledialog.cpp:842 msgid "Horizontal spacing between columns (px units)" -msgstr "줄간의 수평 간격 (px 단위)" +msgstr "열 사이 수평 간격 (화소)" #. ## The OK button -#: ../src/dialogs/tiledialog.cpp:865 ../share/extensions/restack.inx.h:3 -#, fuzzy +#: ../src/dialogs/tiledialog.cpp:865 +#: ../share/extensions/restack.inx.h:3 msgid "Arrange" -msgstr "각도" +msgstr "배열" #: ../src/dialogs/tiledialog.cpp:866 msgid "Arrange selected objects" -msgstr "선택한 객체 배분" +msgstr "선택 객체 배열" #: ../src/dialogs/xml-tree.cpp:174 msgid "Click to select nodes, drag to rearrange." -msgstr "" -"노드를 선택하기 위해 클릭 한후, 재 분배 하기 위해 드래그." +msgstr "노드 선택하기 위해 클릭, 재배열하기 위하여 끌기." #: ../src/dialogs/xml-tree.cpp:185 msgid "Click attribute to edit." -msgstr "수정을 위한 특성 클릭" +msgstr "편집하기 위한 속성. 클릭" #: ../src/dialogs/xml-tree.cpp:189 #, c-format -msgid "" -"Attribute %s selected. Press Ctrl+Enter when done editing to " -"commit changes." -msgstr "" +msgid "Attribute %s selected. Press Ctrl+Enter when done editing to commit changes." +msgstr "%s 선택된 속성 .Ctrl+Enter: 변경시 편집을 완료" #: ../src/dialogs/xml-tree.cpp:284 msgid "Drag to reorder nodes" -msgstr "재 정렬한 노드 드래그" +msgstr "재정렬된 노드 끌기" #: ../src/dialogs/xml-tree.cpp:304 msgid "New element node" -msgstr "새로운 요소 노드" +msgstr "새 요소 노드" #: ../src/dialogs/xml-tree.cpp:326 msgid "New text node" -msgstr "새로운 텍스트 노드" +msgstr "새 텍스트 노드" -#: ../src/dialogs/xml-tree.cpp:347 ../src/dialogs/xml-tree.cpp:1414 +#: ../src/dialogs/xml-tree.cpp:347 +#: ../src/dialogs/xml-tree.cpp:1414 #: ../src/nodepath.cpp:2024 msgid "Duplicate node" msgstr "노드 복사" -#: ../src/dialogs/xml-tree.cpp:368 ../src/dialogs/xml-tree.cpp:1431 -#: ../src/nodepath.cpp:3273 ../src/widgets/toolbox.cpp:1086 +#: ../src/dialogs/xml-tree.cpp:368 +#: ../src/dialogs/xml-tree.cpp:1431 +#: ../src/nodepath.cpp:3273 +#: ../src/widgets/toolbox.cpp:1086 msgid "Delete node" msgstr "노드 삭제" -#: ../src/dialogs/xml-tree.cpp:384 ../src/dialogs/xml-tree.cpp:1576 +#: ../src/dialogs/xml-tree.cpp:384 +#: ../src/dialogs/xml-tree.cpp:1576 msgid "Unindent node" -msgstr "" +msgstr "비의도 노드" -#: ../src/dialogs/xml-tree.cpp:399 ../src/dialogs/xml-tree.cpp:1555 +#: ../src/dialogs/xml-tree.cpp:399 +#: ../src/dialogs/xml-tree.cpp:1555 msgid "Indent node" -msgstr "" +msgstr "의도 노드" -#: ../src/dialogs/xml-tree.cpp:411 ../src/dialogs/xml-tree.cpp:1508 +#: ../src/dialogs/xml-tree.cpp:411 +#: ../src/dialogs/xml-tree.cpp:1508 msgid "Raise node" msgstr "노드 올리기" -#: ../src/dialogs/xml-tree.cpp:423 ../src/dialogs/xml-tree.cpp:1525 +#: ../src/dialogs/xml-tree.cpp:423 +#: ../src/dialogs/xml-tree.cpp:1525 msgid "Lower node" -msgstr "노드를 아래도" +msgstr "아래 노드" -#: ../src/dialogs/xml-tree.cpp:468 ../src/dialogs/xml-tree.cpp:1449 +#: ../src/dialogs/xml-tree.cpp:468 +#: ../src/dialogs/xml-tree.cpp:1449 msgid "Delete attribute" -msgstr "특성 삭제" +msgstr "속성 삭제" #. TRANSLATORS: "Attribute" is a noun here #: ../src/dialogs/xml-tree.cpp:513 @@ -2235,11 +2250,11 @@ msgstr "속성 값" #: ../src/dialogs/xml-tree.cpp:891 msgid "Drag XML subtree" -msgstr "" +msgstr "XML 하위트리 끌기" #: ../src/dialogs/xml-tree.cpp:1318 msgid "New element node..." -msgstr "새로운 개체 노드" +msgstr "새 요소 노드..." #: ../src/dialogs/xml-tree.cpp:1339 #: ../src/ui/dialog/whiteboard-connect.cpp:114 @@ -2252,167 +2267,169 @@ msgid "Create" msgstr "생성" #: ../src/dialogs/xml-tree.cpp:1380 -#, fuzzy msgid "Create new element node" -msgstr "새로운 요소 노드" +msgstr "새 요소 노드 생성" #: ../src/dialogs/xml-tree.cpp:1396 -#, fuzzy msgid "Create new text node" -msgstr "새로운 텍스트 노드" +msgstr "새 문자열 노드 생성" #: ../src/dialogs/xml-tree.cpp:1478 -#, fuzzy msgid "Change attribute" -msgstr "속성 설정" +msgstr "속성 변경" -#: ../src/display/canvas-axonomgrid.cpp:390 ../src/display/canvas-grid.cpp:656 +#: ../src/display/canvas-axonomgrid.cpp:390 +#: ../src/display/canvas-grid.cpp:656 msgid "Grid _units:" -msgstr "" +msgstr "격자 단위(_U):" -#: ../src/display/canvas-axonomgrid.cpp:392 ../src/display/canvas-grid.cpp:658 +#: ../src/display/canvas-axonomgrid.cpp:392 +#: ../src/display/canvas-grid.cpp:658 msgid "_Origin X:" -msgstr "" +msgstr "기본 X(_O):" -#: ../src/display/canvas-axonomgrid.cpp:392 ../src/display/canvas-grid.cpp:658 +#: ../src/display/canvas-axonomgrid.cpp:392 +#: ../src/display/canvas-grid.cpp:658 #: ../src/ui/dialog/inkscape-preferences.cpp:869 #: ../src/ui/dialog/inkscape-preferences.cpp:890 msgid "X coordinate of grid origin" -msgstr "" +msgstr "기본 격자의 X좌표" -#: ../src/display/canvas-axonomgrid.cpp:394 ../src/display/canvas-grid.cpp:660 +#: ../src/display/canvas-axonomgrid.cpp:394 +#: ../src/display/canvas-grid.cpp:660 msgid "O_rigin Y:" -msgstr "" +msgstr "기본 Y(_R):" -#: ../src/display/canvas-axonomgrid.cpp:394 ../src/display/canvas-grid.cpp:660 +#: ../src/display/canvas-axonomgrid.cpp:394 +#: ../src/display/canvas-grid.cpp:660 #: ../src/ui/dialog/inkscape-preferences.cpp:870 #: ../src/ui/dialog/inkscape-preferences.cpp:891 msgid "Y coordinate of grid origin" -msgstr "" +msgstr "격자 원지점의 Y 좌표" -#: ../src/display/canvas-axonomgrid.cpp:396 ../src/display/canvas-grid.cpp:664 +#: ../src/display/canvas-axonomgrid.cpp:396 +#: ../src/display/canvas-grid.cpp:664 msgid "Spacing _Y:" -msgstr "" +msgstr "여백 Y(_Y)" #: ../src/display/canvas-axonomgrid.cpp:396 #: ../src/ui/dialog/inkscape-preferences.cpp:893 msgid "Base length of z-axis" -msgstr "" +msgstr "Z 축의 기본 길이" -#: ../src/display/canvas-axonomgrid.cpp:398 ../src/widgets/toolbox.cpp:2723 -#, fuzzy +#: ../src/display/canvas-axonomgrid.cpp:398 +#: ../src/widgets/toolbox.cpp:2723 msgid "Angle X:" -msgstr "각도" +msgstr "X 각도:" #: ../src/display/canvas-axonomgrid.cpp:398 #: ../src/ui/dialog/inkscape-preferences.cpp:896 msgid "Angle of x-axis" -msgstr "" +msgstr "X 축의 각도" -#: ../src/display/canvas-axonomgrid.cpp:400 ../src/widgets/toolbox.cpp:2802 -#, fuzzy +#: ../src/display/canvas-axonomgrid.cpp:400 +#: ../src/widgets/toolbox.cpp:2802 msgid "Angle Z:" -msgstr "각도" +msgstr "Z 각도" #: ../src/display/canvas-axonomgrid.cpp:400 #: ../src/ui/dialog/inkscape-preferences.cpp:897 msgid "Angle of z-axis" -msgstr "" +msgstr "Z 축의 각도" -#: ../src/display/canvas-axonomgrid.cpp:404 ../src/display/canvas-grid.cpp:668 +#: ../src/display/canvas-axonomgrid.cpp:404 +#: ../src/display/canvas-grid.cpp:668 msgid "Grid line _color:" -msgstr "" +msgstr "격자선 색상(_C):" -#: ../src/display/canvas-axonomgrid.cpp:404 ../src/display/canvas-grid.cpp:668 +#: ../src/display/canvas-axonomgrid.cpp:404 +#: ../src/display/canvas-grid.cpp:668 #: ../src/ui/dialog/inkscape-preferences.cpp:876 #: ../src/ui/dialog/inkscape-preferences.cpp:877 #: ../src/ui/dialog/inkscape-preferences.cpp:898 #: ../src/ui/dialog/inkscape-preferences.cpp:899 msgid "Grid line color" -msgstr "" +msgstr "격자선 색상" -#: ../src/display/canvas-axonomgrid.cpp:404 ../src/display/canvas-grid.cpp:668 +#: ../src/display/canvas-axonomgrid.cpp:404 +#: ../src/display/canvas-grid.cpp:668 msgid "Color of grid lines" -msgstr "" +msgstr "격자선 색상" -#: ../src/display/canvas-axonomgrid.cpp:409 ../src/display/canvas-grid.cpp:673 +#: ../src/display/canvas-axonomgrid.cpp:409 +#: ../src/display/canvas-grid.cpp:673 msgid "Ma_jor grid line color:" -msgstr "" +msgstr "주 격자선 색상(_J):" -#: ../src/display/canvas-axonomgrid.cpp:409 ../src/display/canvas-grid.cpp:673 +#: ../src/display/canvas-axonomgrid.cpp:409 +#: ../src/display/canvas-grid.cpp:673 #: ../src/ui/dialog/inkscape-preferences.cpp:878 #: ../src/ui/dialog/inkscape-preferences.cpp:879 #: ../src/ui/dialog/inkscape-preferences.cpp:900 #: ../src/ui/dialog/inkscape-preferences.cpp:901 msgid "Major grid line color" -msgstr "" +msgstr "주 격자선 색상" -#: ../src/display/canvas-axonomgrid.cpp:410 ../src/display/canvas-grid.cpp:674 +#: ../src/display/canvas-axonomgrid.cpp:410 +#: ../src/display/canvas-grid.cpp:674 msgid "Color of the major (highlighted) grid lines" -msgstr "" +msgstr "주 격자선 색상" -#: ../src/display/canvas-axonomgrid.cpp:414 ../src/display/canvas-grid.cpp:678 +#: ../src/display/canvas-axonomgrid.cpp:414 +#: ../src/display/canvas-grid.cpp:678 msgid "_Major grid line every:" -msgstr "" +msgstr "주 격자선 반복(_M):" -#: ../src/display/canvas-axonomgrid.cpp:414 ../src/display/canvas-grid.cpp:678 +#: ../src/display/canvas-axonomgrid.cpp:414 +#: ../src/display/canvas-grid.cpp:678 msgid "lines" -msgstr "" +msgstr "선" #: ../src/display/canvas-grid.cpp:40 -#, fuzzy msgid "Rectangular grid" -msgstr "사격형" +msgstr "사각 격자" #: ../src/display/canvas-grid.cpp:41 msgid "Axonometric grid" -msgstr "" +msgstr "마름모 격자" #: ../src/display/canvas-grid.cpp:259 -#, fuzzy msgid "Create new grid" -msgstr "중심선" +msgstr "새 격자 생성" #: ../src/display/canvas-grid.cpp:325 -#, fuzzy msgid "_Enabled" -msgstr "제목" +msgstr "가능(_E)" #: ../src/display/canvas-grid.cpp:326 -msgid "" -"Determines whether to snap to this grid or not. Can be 'on' for invisible " -"grids." +msgid "Determines whether to snap to this grid or not. Can be 'on' for invisible grids." msgstr "" #: ../src/display/canvas-grid.cpp:329 -#, fuzzy msgid "_Visible" -msgstr "색:" +msgstr "ë³¼ 수 있음(_V)" #: ../src/display/canvas-grid.cpp:330 -msgid "" -"Determines whether the grid is displayed or not. Objects are still snapped " -"to invisible grids." +msgid "Determines whether the grid is displayed or not. Objects are still snapped to invisible grids." msgstr "" #: ../src/display/canvas-grid.cpp:662 msgid "Spacing _X:" -msgstr "" +msgstr "여백 X(_X):" #: ../src/display/canvas-grid.cpp:662 #: ../src/ui/dialog/inkscape-preferences.cpp:873 msgid "Distance between vertical grid lines" -msgstr "" +msgstr "수직 격자선 사이 거리" #: ../src/display/canvas-grid.cpp:664 #: ../src/ui/dialog/inkscape-preferences.cpp:874 -#, fuzzy msgid "Distance between horizontal grid lines" -msgstr "수평 가이드 라인" +msgstr "수평 격자선 사이 거리" #: ../src/display/canvas-grid.cpp:697 msgid "_Show dots instead of lines" -msgstr "" +msgstr "선 대신 점으로 보이기(_S)" #: ../src/display/canvas-grid.cpp:698 #: ../src/ui/dialog/inkscape-preferences.cpp:883 @@ -2422,7 +2439,7 @@ msgstr "" #: ../src/document.cpp:415 #, c-format msgid "New document %d" -msgstr "새로운 문서 %d" +msgstr "새 문서 %d" #: ../src/document.cpp:447 #, c-format @@ -2432,7 +2449,7 @@ msgstr "메모리 문서 %d" #: ../src/document.cpp:603 #, c-format msgid "Unnamed document %d" -msgstr "이름이 바뀌지 않은 문서 %d" +msgstr "이름이 없는 문서 %d" #. We hit green anchor, closing Green-Blue-Red #: ../src/draw-context.cpp:448 @@ -2442,11 +2459,11 @@ msgstr "경로 닫힘." #. We hit bot start and end of single curve, closing paths #: ../src/draw-context.cpp:463 msgid "Closing path." -msgstr "경로 닫는중." +msgstr "경로 닫는 중." #: ../src/draw-context.cpp:577 msgid "Draw path" -msgstr "" +msgstr "경로 그리기" #. alpha of color under cursor, to show in the statusbar #. locale-sensitive printf is OK, since this goes to the UI, not into SVG @@ -2459,7 +2476,7 @@ msgstr " 알파 %.3g" #: ../src/dropper-context.cpp:294 #, c-format msgid ", averaged with radius %d" -msgstr "" +msgstr ",평균 반경 %d" #: ../src/dropper-context.cpp:294 msgid " under cursor" @@ -2468,80 +2485,77 @@ msgstr " 커서 아래" #. message, to show in the statusbar #: ../src/dropper-context.cpp:296 msgid "Release mouse to set color." -msgstr "" +msgstr "색상을 설정하기 위하여 마우스를 놓음" -#: ../src/dropper-context.cpp:296 ../src/tools-switch.cpp:229 -msgid "" -"Click to set fill, Shift+click to set stroke; drag to " -"average color in area; with Alt to pick inverse color; Ctrl+C " -"to copy the color under mouse to clipboard" -msgstr "" +#: ../src/dropper-context.cpp:296 +#: ../src/tools-switch.cpp:229 +msgid "Click to set fill, Shift+click to set stroke; drag to average color in area; with Alt to pick inverse color; Ctrl+C to copy the color under mouse to clipboard" +msgstr "채움 설정하기 위하여 클릭, Shift+클릭: 윤곽선 설정 , Alt: 구간 색상을 평균하기 위하여 끌기, 역전 색상을 추출하기 위하여 , Ctrl+C: 마우스 아래 색상을 클립보드에 복사" #: ../src/dropper-context.cpp:329 msgid "Set picked color" -msgstr "" +msgstr "선택 색상 설정" #: ../src/dyna-draw-context.cpp:625 -msgid "" -"Guide path selected; start drawing along the guide with Ctrl" -msgstr "" +msgid "Guide path selected; start drawing along the guide with Ctrl" +msgstr "선택된 안내선 경로; Ctrl: 안내선 따라 그리기 시작" #: ../src/dyna-draw-context.cpp:627 msgid "Select a guide path to track with Ctrl" -msgstr "" +msgstr "안내선 경로 선택 Ctrl: 따라가기 위하여" #: ../src/dyna-draw-context.cpp:732 msgid "Tracking: connection to guide path lost!" -msgstr "" +msgstr "따오기: 안내 경로 잃은 것을 연결" #: ../src/dyna-draw-context.cpp:732 msgid "Tracking a guide path" -msgstr "" +msgstr "안내선 경로를 따르기" #: ../src/dyna-draw-context.cpp:735 -#, fuzzy msgid "Drawing a calligraphic stroke" -msgstr "중심선" +msgstr "글자체 윤곽선 그리기" #: ../src/dyna-draw-context.cpp:1016 -#, fuzzy msgid "Draw calligraphic stroke" -msgstr "중심선" +msgstr "글자체 윤곽선 그리기" #: ../src/eraser-context.cpp:532 -#, fuzzy msgid "Drawing an eraser stroke" -msgstr "중심선" +msgstr "지우개 윤곽선 그리기" #: ../src/eraser-context.cpp:839 -#, fuzzy msgid "Draw eraser stroke" -msgstr "중심선" +msgstr "지우개 윤곽선 그리기" #: ../src/event-context.cpp:595 msgid "Space+mouse drag to pan canvas" -msgstr "" +msgstr "Space+끌기는 캔버스 이동" #: ../src/event-log.cpp:37 msgid "[Unchanged]" -msgstr "" +msgstr "[변화없음]" #. Edit -#: ../src/event-log.cpp:264 ../src/event-log.cpp:267 ../src/verbs.cpp:2193 +#: ../src/event-log.cpp:264 +#: ../src/event-log.cpp:267 +#: ../src/verbs.cpp:2193 msgid "_Undo" msgstr "되돌리기(_U)" -#: ../src/event-log.cpp:274 ../src/event-log.cpp:278 ../src/verbs.cpp:2195 +#: ../src/event-log.cpp:274 +#: ../src/event-log.cpp:278 +#: ../src/verbs.cpp:2195 msgid "_Redo" -msgstr "원래도 돌리기" +msgstr "재실행(_R)" #: ../src/extension/dependency.cpp:261 msgid "Dependency:" -msgstr "" +msgstr "의존성:" #: ../src/extension/dependency.cpp:262 msgid " type: " -msgstr " 타입: " +msgstr " 형태: " #: ../src/extension/dependency.cpp:263 msgid " location: " @@ -2549,7 +2563,7 @@ msgstr " 위치: " #: ../src/extension/dependency.cpp:264 msgid " string: " -msgstr "" +msgstr " 문자열: " #: ../src/extension/dependency.cpp:267 msgid " description: " @@ -2557,17 +2571,14 @@ msgstr " 설명: " #: ../src/extension/effect.cpp:35 msgid " (No preferences)" -msgstr "" +msgstr " (기본설정 없음)" #. This is some filler text, needs to change before relase #: ../src/extension/error-file.cpp:53 msgid "" -"One or more extensions failed to load\n" +"One or more extensions failed to load\n" "\n" -"The failed extensions have been skipped. Inkscape will continue to run " -"normally but those extensions will be unavailable. For details to " -"troubleshoot this problem, please refer to the error log located at: " +"The failed extensions have been skipped. Inkscape will continue to run normally but those extensions will be unavailable. For details to troubleshoot this problem, please refer to the error log located at: " msgstr "" #. This is some filler text, needs to change before relase @@ -2578,23 +2589,21 @@ msgstr "시작시 대화창 보이기" #: ../src/extension/execution-env.cpp:134 #, c-format msgid "'%s' working, please wait..." -msgstr "" +msgstr "'%s' 작업 중, 기다리세요..." #. static int i = 0; #. std::cout << "Checking module[" << i++ << "]: " << name << std::endl; #: ../src/extension/extension.cpp:252 -msgid "" -" This is caused by an improper .inx file for this extension. An improper ." -"inx file could have been caused by a faulty installation of Inkscape." -msgstr "" +msgid " This is caused by an improper .inx file for this extension. An improper .inx file could have been caused by a faulty installation of Inkscape." +msgstr "부적합한 .inx 파일에 의해 문제가 생겼습니다." #: ../src/extension/extension.cpp:255 msgid "an ID was not defined for it." -msgstr "이것을 위해 ID 가 정의 되지 않았음." +msgstr "이것을 위해 ID 가 정의되지 않았음." #: ../src/extension/extension.cpp:259 msgid "there was no name defined for it." -msgstr "이것을 위한 이름이 정해지지 않았음.ㄷ" +msgstr "이것을 위한 이름이 정해지지 않았음." #: ../src/extension/extension.cpp:263 msgid "the XML description of it got lost." @@ -2607,7 +2616,7 @@ msgstr "" #. std::cout << "Failed: " << *(_deps[i]) << std::endl; #: ../src/extension/extension.cpp:274 msgid "a dependency was not met." -msgstr "" +msgstr "의존성이 없음" #: ../src/extension/extension.cpp:294 msgid "Extension \"" @@ -2615,12 +2624,12 @@ msgstr "확장 \"" #: ../src/extension/extension.cpp:294 msgid "\" failed to load because " -msgstr "\" 불러들이는데 실패 왜냐하면 " +msgstr "\" 불러들이는데 실패" #: ../src/extension/extension.cpp:625 #, c-format msgid "Could not create extension error log file '%s'" -msgstr "에라 로그 파일 '%s' 를 생성할수 없음" +msgstr "확장 오류 로그 파일 '%s' 를 생성할 수 없음" #: ../src/extension/extension.cpp:723 msgid "Name:" @@ -2636,71 +2645,62 @@ msgstr "상태:" #: ../src/extension/extension.cpp:725 msgid "Loaded" -msgstr "불러들임" +msgstr "불러오기" #: ../src/extension/extension.cpp:725 msgid "Unloaded" -msgstr "내려짐" +msgstr "불러오기 해제" #: ../src/extension/extension.cpp:725 msgid "Deactivated" msgstr "비 활성화" #: ../src/extension/extension.cpp:756 -msgid "" -"Currently there is no help available for this Extension. Please look on the " -"Inkscape website or ask on the mailing lists if you have questions regarding " -"this extension." +msgid "Currently there is no help available for this Extension. Please look on the Inkscape website or ask on the mailing lists if you have questions regarding this extension." msgstr "" #: ../src/extension/implementation/script.cpp:1055 -msgid "" -"Inkscape has received additional data from the script executed. The script " -"did not return an error, but this may indicate the results will not be as " -"expected." -msgstr "" -"스크립트를 수행한 ê²°ê³¼ 데이타를 받았습니다. 스크립트 수형 ê²°ê³¼, 에라가 발생" -"한 것은 아니지만, ê·¸ ê²°ê³¼ 값이 예상했던 결과가 아닐수 있습니다." +msgid "Inkscape has received additional data from the script executed. The script did not return an error, but this may indicate the results will not be as expected." +msgstr "실행된 스크립트에서 부가 자료를 받았습니다. 오류가 발생한 것은 아니지만, ê·¸ 결과치는 예상했던 결과가 아닐 수 있습니다." #: ../src/extension/init.cpp:282 msgid "Null external module directory name. Modules will not be loaded." -msgstr "" +msgstr "Null 외부 모듈 폴더 이름. 모듈이 읽혀지지 않음." #: ../src/extension/init.cpp:296 #: ../src/extension/internal/filter/filter-file.cpp:56 #, c-format -msgid "" -"Modules directory (%s) is unavailable. External modules in that directory " -"will not be loaded." -msgstr "" +msgid "Modules directory (%s) is unavailable. External modules in that directory will not be loaded." +msgstr "모듈 폴더 (%s)를 사용할 수 없습니다. ê·¸ 폴더에서 외부 모듈을 읽어올 수 없습니다." #: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:38 -msgid "Adaptive Threshold" -msgstr "" +msgid "Adaptive Threshold..." +msgstr "조작 허용치..." #: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:40 #: ../src/extension/internal/bitmap/raise.cpp:41 #: ../src/extension/internal/bitmap/sample.cpp:40 -#: ../src/extension/internal/bluredge.cpp:134 ../src/libgdl/gdl-dock.c:190 +#: ../src/extension/internal/bluredge.cpp:134 +#: ../src/libgdl/gdl-dock.c:190 #: ../src/libgdl/gdl-dock-placeholder.c:169 #: ../src/live_effects/lpe-bendpath.cpp:58 #: ../src/live_effects/lpe-patternalongpath.cpp:64 -#: ../src/widgets/toolbox.cpp:2396 ../src/widgets/toolbox.cpp:3241 -#, fuzzy +#: ../src/widgets/toolbox.cpp:2396 +#: ../src/widgets/toolbox.cpp:3241 msgid "Width" -msgstr "폭:" +msgstr "폭" #: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:41 #: ../src/extension/internal/bitmap/raise.cpp:42 -#: ../src/extension/internal/bitmap/sample.cpp:41 ../src/libgdl/gdl-dock.c:198 -#: ../src/libgdl/gdl-dock-placeholder.c:177 ../src/widgets/toolbox.cpp:2413 -#, fuzzy +#: ../src/extension/internal/bitmap/sample.cpp:41 +#: ../src/libgdl/gdl-dock.c:198 +#: ../src/libgdl/gdl-dock-placeholder.c:177 +#: ../src/widgets/toolbox.cpp:2413 msgid "Height" -msgstr "높이:" +msgstr "높이" #: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:42 #: ../src/filter-enums.cpp:32 -#, fuzzy msgid "Offset" msgstr "옵셋" @@ -2739,51 +2739,48 @@ msgstr "옵셋" #: ../src/extension/internal/bitmap/threshold.cpp:43 #: ../src/extension/internal/bitmap/unsharpmask.cpp:49 #: ../src/extension/internal/bitmap/wave.cpp:44 -#, fuzzy msgid "Raster" -msgstr "반지름" +msgstr "래스터" #: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:48 msgid "Apply adaptive thresholding to selected bitmap(s)." -msgstr "" +msgstr "적합한 허용치를 선택 비트맵에 적용" #: ../src/extension/internal/bitmap/addNoise.cpp:44 -#, fuzzy msgid "Add Noise" -msgstr "노드 추가" +msgstr "노이즈 더하기" #: ../src/extension/internal/bitmap/addNoise.cpp:47 msgid "Uniform Noise" -msgstr "" +msgstr "균일 노이즈" #: ../src/extension/internal/bitmap/addNoise.cpp:48 msgid "Gaussian Noise" -msgstr "" +msgstr "가우시안 노이즈" #: ../src/extension/internal/bitmap/addNoise.cpp:49 msgid "Multiplicative Gaussian Noise" -msgstr "" +msgstr "증가 가우시안 노이즈" #: ../src/extension/internal/bitmap/addNoise.cpp:50 msgid "Impulse Noise" -msgstr "" +msgstr "충격 노이즈" #: ../src/extension/internal/bitmap/addNoise.cpp:51 msgid "Laplacian Noise" -msgstr "" +msgstr "라플라시안 노이즈" #: ../src/extension/internal/bitmap/addNoise.cpp:52 msgid "Poisson Noise" -msgstr "" +msgstr "포아송 노이즈" #: ../src/extension/internal/bitmap/addNoise.cpp:59 msgid "Add random noise to selected bitmap(s)." -msgstr "" +msgstr "임의 노이즈를 선택 비트맵에 더하기" #: ../src/extension/internal/bitmap/blur.cpp:37 -#, fuzzy msgid "Blur" -msgstr "파랑" +msgstr "흐림" #: ../src/extension/internal/bitmap/blur.cpp:39 #: ../src/extension/internal/bitmap/charcoal.cpp:39 @@ -2803,115 +2800,104 @@ msgstr "반지름" #: ../src/extension/internal/bitmap/gaussianBlur.cpp:40 #: ../src/extension/internal/bitmap/sharpen.cpp:40 #: ../src/extension/internal/bitmap/unsharpmask.cpp:43 -#, fuzzy msgid "Sigma" -msgstr "확대/축소(_S)" +msgstr "시그마" #: ../src/extension/internal/bitmap/blur.cpp:46 -#, fuzzy msgid "Blur selected bitmap(s)" -msgstr "내장 된 전체 이미지" +msgstr "흐림 선택 비트맵" #: ../src/extension/internal/bitmap/channel.cpp:47 #: ../src/extension/internal/bitmap/levelChannel.cpp:53 -#, fuzzy msgid "Channel" -msgstr "취소" +msgstr "채널" #: ../src/extension/internal/bitmap/channel.cpp:49 -#, fuzzy msgid "Layer" -msgstr "레이어 추가" +msgstr "레이어" #: ../src/extension/internal/bitmap/channel.cpp:50 #: ../src/extension/internal/bitmap/levelChannel.cpp:54 msgid "Red Channel" -msgstr "" +msgstr "적색 채널" #: ../src/extension/internal/bitmap/channel.cpp:51 #: ../src/extension/internal/bitmap/levelChannel.cpp:55 msgid "Green Channel" -msgstr "" +msgstr "녹색 채널" #: ../src/extension/internal/bitmap/channel.cpp:52 #: ../src/extension/internal/bitmap/levelChannel.cpp:56 msgid "Blue Channel" -msgstr "" +msgstr "청색 채널" #: ../src/extension/internal/bitmap/channel.cpp:53 #: ../src/extension/internal/bitmap/levelChannel.cpp:57 -#, fuzzy msgid "Cyan Channel" -msgstr "사각형 찾기" +msgstr "청록색 채널" #: ../src/extension/internal/bitmap/channel.cpp:54 #: ../src/extension/internal/bitmap/levelChannel.cpp:58 msgid "Magenta Channel" -msgstr "" +msgstr "자홍색 채널" #: ../src/extension/internal/bitmap/channel.cpp:55 #: ../src/extension/internal/bitmap/levelChannel.cpp:59 msgid "Yellow Channel" -msgstr "" +msgstr "노랑색 채널" #: ../src/extension/internal/bitmap/channel.cpp:56 #: ../src/extension/internal/bitmap/levelChannel.cpp:60 -#, fuzzy msgid "Black Channel" -msgstr "검정색" +msgstr "검정색 채널" #: ../src/extension/internal/bitmap/channel.cpp:57 #: ../src/extension/internal/bitmap/levelChannel.cpp:61 -#, fuzzy msgid "Opacity Channel" -msgstr "불투명도" +msgstr "불투명도 채널" #: ../src/extension/internal/bitmap/channel.cpp:58 #: ../src/extension/internal/bitmap/levelChannel.cpp:62 msgid "Matte Channel" -msgstr "" +msgstr "마테 채널" #: ../src/extension/internal/bitmap/channel.cpp:65 msgid "Extract specific channel from image." -msgstr "" +msgstr "이미지에서 지정 채널 추출" #: ../src/extension/internal/bitmap/charcoal.cpp:37 msgid "Charcoal" -msgstr "" +msgstr "석탄" #: ../src/extension/internal/bitmap/charcoal.cpp:46 msgid "Apply charcoal stylization to selected bitmap(s)." -msgstr "" +msgstr "석탄 형태를 선택 비트맵으로 적용" #: ../src/extension/internal/bitmap/colorize.cpp:49 -#, fuzzy msgid "Colorize" -msgstr "색" +msgstr "색상화" #: ../src/extension/internal/bitmap/colorize.cpp:57 msgid "Colorize selected bitmap(s) with specified color, using given opacity." -msgstr "" +msgstr "지정 선택 비트맵을 색상화" #: ../src/extension/internal/bitmap/contrast.cpp:36 -#, fuzzy msgid "Contrast" -msgstr "복사 객체" +msgstr "대비" #: ../src/extension/internal/bitmap/contrast.cpp:38 #: ../src/extension/internal/bitmap/sharpen.cpp:37 -#, fuzzy msgid "Sharpen" -msgstr "형태" +msgstr "날카롭게" #: ../src/extension/internal/bitmap/contrast.cpp:44 msgid "Enhance intensity differences in selected bitmap(s)." -msgstr "" +msgstr "선택 비트맵에서 강도 차이 증가" #. TRANSLATORS: see http://docs.gimp.org/en/gimp-tool-convolve.html #: ../src/extension/internal/bitmap/convolve.cpp:50 -#, fuzzy msgid "Convolve" -msgstr "복사본" +msgstr "둘둘말기" #: ../src/extension/internal/bitmap/convolve.cpp:52 #: ../src/extension/internal/bitmap/reduceNoise.cpp:41 @@ -2921,541 +2907,482 @@ msgstr "순서" #: ../src/extension/internal/bitmap/convolve.cpp:53 msgid "Kernel Array" -msgstr "" +msgstr "커널 배열" #: ../src/extension/internal/bitmap/convolve.cpp:59 msgid "Apply Convolve Effect" -msgstr "" +msgstr "둘둘말기 효과 적용" #: ../src/extension/internal/bitmap/cycleColormap.cpp:36 msgid "Cycle Colormap" -msgstr "" +msgstr "순환 색상맵" #: ../src/extension/internal/bitmap/cycleColormap.cpp:38 #: ../src/extension/internal/bitmap/spread.cpp:38 #: ../src/extension/internal/bitmap/unsharpmask.cpp:44 -#, fuzzy msgid "Amount" -msgstr "글꼴" +msgstr "양" #: ../src/extension/internal/bitmap/cycleColormap.cpp:44 msgid "Cycle colormap(s) of selected bitmap(s)." -msgstr "" +msgstr "선택 비트맵의 순환 색상맵" #: ../src/extension/internal/bitmap/despeckle.cpp:35 -#, fuzzy msgid "Despeckle" -msgstr "선택" +msgstr "반점 없애기" #: ../src/extension/internal/bitmap/despeckle.cpp:42 msgid "Reduce speckle noise of selected bitmap(s)." -msgstr "" +msgstr "선택 비트맵의 반점 노이즈를 감소" #: ../src/extension/internal/bitmap/edge.cpp:36 msgid "Edge" -msgstr "" +msgstr "모서리" #: ../src/extension/internal/bitmap/edge.cpp:44 msgid "Hilight edges of selected bitmap(s)." -msgstr "" +msgstr "선택 비트맵의 강조 모서리" #. ID -- should be unique #: ../src/extension/internal/bitmap/emboss.cpp:37 #: ../src/extension/internal/filter/emboss.h:21 msgid "Emboss" -msgstr "" +msgstr "돋을새김" #: ../src/extension/internal/bitmap/emboss.cpp:46 msgid "Emboss selected bitmap(s) -- hilight edges with 3D effect." -msgstr "" +msgstr "선택 비트맵을 돋을새김으로 하다 -- 3D 효과의 강조 모서리" #: ../src/extension/internal/bitmap/enhance.cpp:34 -#, fuzzy msgid "Enhance" -msgstr "취소" +msgstr "강화" #: ../src/extension/internal/bitmap/enhance.cpp:41 msgid "Enhance selected bitmap(s) -- minimize noise." -msgstr "" +msgstr "선택 비트맵 강화" #: ../src/extension/internal/bitmap/equalize.cpp:34 -#, fuzzy msgid "Equalize" -msgstr "폭을 같게" +msgstr "균등화" #: ../src/extension/internal/bitmap/equalize.cpp:41 msgid "Equalize selected bitmap(s) -- histogram equalization." -msgstr "" +msgstr "선택 비트맵을 균등화 - 도표 동점화" #: ../src/extension/internal/bitmap/gaussianBlur.cpp:37 #: ../src/filter-enums.cpp:28 msgid "Gaussian Blur" -msgstr "" +msgstr "가우시안 흐림" #: ../src/extension/internal/bitmap/gaussianBlur.cpp:39 #: ../src/extension/internal/bitmap/implode.cpp:38 #: ../src/extension/internal/bitmap/solarize.cpp:38 -#, fuzzy msgid "Factor" -msgstr "제작자" +msgstr "요소" #: ../src/extension/internal/bitmap/gaussianBlur.cpp:46 msgid "Gaussian blur selected bitmap(s)." -msgstr "" +msgstr "선택 비트맵 가우시안 흐림" #: ../src/extension/internal/bitmap/implode.cpp:36 -#, fuzzy msgid "Implode" -msgstr "불러오기(_I)..." +msgstr "파열" #: ../src/extension/internal/bitmap/implode.cpp:44 -#, fuzzy msgid "Implode selected bitmap(s)." -msgstr "선택 상태 ë³´ì¡´" +msgstr "선택 비트맵 파열" #: ../src/extension/internal/bitmap/levelChannel.cpp:51 msgid "Level (with Channel)" -msgstr "" +msgstr "레벨(채널가짐)" #: ../src/extension/internal/bitmap/levelChannel.cpp:64 #: ../src/extension/internal/bitmap/level.cpp:42 -#, fuzzy msgid "Black Point" -msgstr "검정색" +msgstr "검은 점" #: ../src/extension/internal/bitmap/levelChannel.cpp:65 #: ../src/extension/internal/bitmap/level.cpp:43 -#, fuzzy msgid "White Point" -msgstr "백색" +msgstr "흰 점" #: ../src/extension/internal/bitmap/levelChannel.cpp:66 #: ../src/extension/internal/bitmap/level.cpp:44 -#, fuzzy msgid "Gamma Correction" -msgstr "감사 수정:" +msgstr "감마 보정" #: ../src/extension/internal/bitmap/levelChannel.cpp:72 -msgid "" -"Level the specified channel of selected bitmap(s) by scaling values falling " -"between the given ranges to the full color range." +msgid "Level the specified channel of selected bitmap(s) by scaling values falling between the given ranges to the full color range." msgstr "" #: ../src/extension/internal/bitmap/level.cpp:40 -#, fuzzy msgid "Level" -msgstr "휠" +msgstr "레벨" #: ../src/extension/internal/bitmap/level.cpp:50 -msgid "" -"Level selected bitmap(s) by scaling values falling between the given ranges " -"to the full color range." +msgid "Level selected bitmap(s) by scaling values falling between the given ranges to the full color range." msgstr "" #: ../src/extension/internal/bitmap/medianFilter.cpp:36 -#, fuzzy msgid "Median Filter" -msgstr "레이어 추가" +msgstr "중간 필터" #: ../src/extension/internal/bitmap/medianFilter.cpp:44 -msgid "" -"Filter selected bitmap(s) by replacing each pixel component with the median " -"color in a circular neighborhood." +msgid "Filter selected bitmap(s) by replacing each pixel component with the median color in a circular neighborhood." msgstr "" #: ../src/extension/internal/bitmap/modulate.cpp:39 -#, fuzzy msgid "Modulate" msgstr "이동(_M)" #: ../src/extension/internal/bitmap/modulate.cpp:41 -#, fuzzy msgid "Brightness" msgstr "명도" #: ../src/extension/internal/bitmap/modulate.cpp:42 -#: ../src/flood-context.cpp:275 ../src/ui/dialog/inkscape-preferences.cpp:731 +#: ../src/flood-context.cpp:275 +#: ../src/ui/dialog/inkscape-preferences.cpp:731 #: ../src/widgets/sp-color-icc-selector.cpp:235 #: ../src/widgets/sp-color-icc-selector.cpp:236 #: ../src/widgets/sp-color-scales.cpp:427 -#: ../src/widgets/sp-color-scales.cpp:428 ../src/widgets/toolbox.cpp:3375 +#: ../src/widgets/sp-color-scales.cpp:428 +#: ../src/widgets/toolbox.cpp:3375 #: ../share/extensions/color_randomize.inx.h:5 msgid "Saturation" msgstr "채도" #: ../src/extension/internal/bitmap/modulate.cpp:43 -#: ../src/flood-context.cpp:274 ../src/widgets/sp-color-icc-selector.cpp:235 +#: ../src/flood-context.cpp:274 +#: ../src/widgets/sp-color-icc-selector.cpp:235 #: ../src/widgets/sp-color-icc-selector.cpp:236 #: ../src/widgets/sp-color-scales.cpp:424 -#: ../src/widgets/sp-color-scales.cpp:425 ../src/widgets/toolbox.cpp:3360 +#: ../src/widgets/sp-color-scales.cpp:425 +#: ../src/widgets/toolbox.cpp:3360 #: ../share/extensions/color_randomize.inx.h:2 msgid "Hue" -msgstr "휴" +msgstr "색조" #: ../src/extension/internal/bitmap/modulate.cpp:49 msgid "Modulate percent hue, saturation, and brightness of selected bitmap(s)." msgstr "" #: ../src/extension/internal/bitmap/negate.cpp:35 -#, fuzzy msgid "Negate" -msgstr "비 활성화" +msgstr "취소" #: ../src/extension/internal/bitmap/negate.cpp:42 msgid "Negate (take inverse) selected bitmap(s)." -msgstr "" +msgstr "선택된 비트맵 취소" #: ../src/extension/internal/bitmap/normalize.cpp:35 -#, fuzzy msgid "Normalize" -msgstr "일반" +msgstr "일반화" #: ../src/extension/internal/bitmap/normalize.cpp:42 -msgid "" -"Normalize selected bitmap(s), expanding color range to the full possible " -"range of color." -msgstr "" +msgid "Normalize selected bitmap(s), expanding color range to the full possible range of color." +msgstr "선택된 비트맵 일반화, 색상 범위를 전체 색상범위로 확장" #: ../src/extension/internal/bitmap/oilPaint.cpp:36 -#, fuzzy msgid "Oil Paint" -msgstr "그놈 프린트" +msgstr "기름 칠하기" #: ../src/extension/internal/bitmap/oilPaint.cpp:44 msgid "Stylize selected bitmap(s) so that they appear to be painted with oils." -msgstr "" +msgstr "선택된 비트맵이 기름으로 칠해지도록 하기" #: ../src/extension/internal/bitmap/opacity.cpp:45 msgid "Modify opacity channel(s) of selected bitmap(s)." -msgstr "" +msgstr "선택 비트맵의 불투명도 채널 편집" #: ../src/extension/internal/bitmap/raise.cpp:39 -#, fuzzy msgid "Raise" -msgstr "반지름" +msgstr "올리기" #: ../src/extension/internal/bitmap/raise.cpp:43 -#, fuzzy msgid "Raised" -msgstr "반지름" +msgstr "올리기" #: ../src/extension/internal/bitmap/raise.cpp:49 -msgid "" -"Alter lightness the edges of selected bitmap(s) to create a raised " -"appearance." -msgstr "" +msgid "Alter lightness the edges of selected bitmap(s) to create a raised appearance." +msgstr "돋보이게 하기 위하여 선택 비트맵의 모서리 명도를 변경" #: ../src/extension/internal/bitmap/reduceNoise.cpp:39 msgid "Reduce Noise" -msgstr "" +msgstr "노이즈 감소" #: ../src/extension/internal/bitmap/reduceNoise.cpp:47 -msgid "" -"Reduce noise in selected bitmap(s) using a noise peak elimination filter." -msgstr "" +msgid "Reduce noise in selected bitmap(s) using a noise peak elimination filter." +msgstr "선택 비트맵에서 노이즈 감소" #: ../src/extension/internal/bitmap/sample.cpp:38 -#, fuzzy msgid "Sample" -msgstr "형태" +msgstr "샘플" #: ../src/extension/internal/bitmap/sample.cpp:47 -msgid "" -"Alter the resolution of selected image by resizing it by given dimensions." -msgstr "" +msgid "Alter the resolution of selected image by resizing it by given dimensions." +msgstr "주어진 크기를 변경함으로서 주어진 이미지 해상도 변경" #: ../src/extension/internal/bitmap/shade.cpp:39 -#, fuzzy msgid "Shade" -msgstr "형태" +msgstr "음영" #: ../src/extension/internal/bitmap/shade.cpp:41 #: ../src/ui/dialog/filter-effects-dialog.cpp:992 msgid "Azimuth" -msgstr "" +msgstr "방위" #: ../src/extension/internal/bitmap/shade.cpp:42 #: ../src/ui/dialog/filter-effects-dialog.cpp:993 -#, fuzzy msgid "Elevation" -msgstr "선택" +msgstr "고도" #: ../src/extension/internal/bitmap/shade.cpp:43 -#, fuzzy msgid "Colored Shading" -msgstr "그림자 색" +msgstr "색상 음영" #: ../src/extension/internal/bitmap/shade.cpp:49 msgid "Shade selected bitmap(s) simulating distant light source." msgstr "" #: ../src/extension/internal/bitmap/sharpen.cpp:46 -#, fuzzy msgid "Sharpen selected bitmap(s)." -msgstr "내장 된 전체 이미지" +msgstr "선택 비트맵 날카롭게" #: ../src/extension/internal/bitmap/solarize.cpp:36 -#, fuzzy msgid "Solarize" -msgstr "크기" +msgstr "노출" #: ../src/extension/internal/bitmap/solarize.cpp:44 msgid "Solarize selected bitmap(s), like overexposing photographic film." -msgstr "" +msgstr "선택 비트맵 노출" #: ../src/extension/internal/bitmap/spread.cpp:36 -#, fuzzy msgid "Spread" -msgstr "속도:" +msgstr "흩뜨림" #: ../src/extension/internal/bitmap/spread.cpp:44 -msgid "" -"Randomly spread pixels in selected bitmap(s), within the radius of 'amount.'" -msgstr "" +msgid "Randomly spread pixels in selected bitmap(s), within the radius of 'amount.'" +msgstr "선택 비트맵에서 주어진 반경 내에서 무작위로 화소 흩뜨림" #: ../src/extension/internal/bitmap/swirl.cpp:36 -#, fuzzy msgid "Swirl" -msgstr "나선형" +msgstr "나선" #: ../src/extension/internal/bitmap/swirl.cpp:38 #: ../share/extensions/grid_polar.inx.h:7 -#, fuzzy msgid "Degrees" -msgstr "삭제(_D)" +msgstr "각도" #: ../src/extension/internal/bitmap/swirl.cpp:44 msgid "Swirl selected bitmap(s) around center point." -msgstr "" +msgstr "중앙점 주변 선택 비트맵을 나선으로 만듦" #. TRANSLATORS: see http://docs.gimp.org/en/gimp-tool-threshold.html #: ../src/extension/internal/bitmap/threshold.cpp:37 #: ../src/extension/internal/bitmap/threshold.cpp:39 #: ../src/extension/internal/bitmap/unsharpmask.cpp:45 msgid "Threshold" -msgstr "" +msgstr "허용치" #: ../src/extension/internal/bitmap/threshold.cpp:45 -#, fuzzy msgid "Threshold selected bitmap(s)." -msgstr "내장 된 전체 이미지" +msgstr "선택 비트맵 허용치" #: ../src/extension/internal/bitmap/unsharpmask.cpp:40 msgid "Unsharp Mask" -msgstr "" +msgstr "언샤픈 마스크" #: ../src/extension/internal/bitmap/unsharpmask.cpp:51 msgid "Sharpen selected bitmap(s) using unsharp mask algorithms." -msgstr "" +msgstr "언샤픈 마스크 수식을 사용하여 선택 비트맵을 날카롭게" #: ../src/extension/internal/bitmap/wave.cpp:37 -#, fuzzy msgid "Wave" -msgstr "저장(_S)" +msgstr "물결" #: ../src/extension/internal/bitmap/wave.cpp:39 msgid "Amplitude" -msgstr "" +msgstr "진폭" #: ../src/extension/internal/bitmap/wave.cpp:40 msgid "Wavelength" -msgstr "" +msgstr "파장" #: ../src/extension/internal/bitmap/wave.cpp:46 msgid "Alter selected bitmap(s) along sine wave." -msgstr "" +msgstr "사인곡선을 따라 선택 비트맵 변경" #: ../src/extension/internal/bluredge.cpp:132 msgid "Inset/Outset Halo" -msgstr "" +msgstr "후광 축소/확대" #: ../src/extension/internal/bluredge.cpp:134 msgid "Width in px of the halo" -msgstr "" +msgstr "후광의 화소 폭" #: ../src/extension/internal/bluredge.cpp:135 -#, fuzzy msgid "Number of steps" msgstr "단계 숫자" #: ../src/extension/internal/bluredge.cpp:135 msgid "Number of inset/outset copies of the object to make" -msgstr "" +msgstr "생성시킬 객체의 확대/축소 복사본 갯수" #: ../src/extension/internal/bluredge.cpp:139 -#: ../share/extensions/interp.inx.h:3 ../share/extensions/motion.inx.h:3 +#: ../share/extensions/interp.inx.h:3 +#: ../share/extensions/motion.inx.h:3 #: ../share/extensions/pathalongpath.inx.h:4 #: ../share/extensions/pathscatter.inx.h:5 msgid "Generate from Path" -msgstr "곡선으로 부터 만들어냄" +msgstr "경로로부터 생성" #: ../src/extension/internal/cairo-pdf-out.cpp:239 -#, fuzzy msgid "Cairo PDF Output" -msgstr "DXF 내보내기" +msgstr "Cairo PDF 출력" #: ../src/extension/internal/cairo-pdf-out.cpp:241 msgid "Restrict to PDF version" -msgstr "" +msgstr "PDF 버전으로 제한" #: ../src/extension/internal/cairo-pdf-out.cpp:242 msgid "PDF 1.4" -msgstr "" +msgstr "PDF 1.4" #: ../src/extension/internal/cairo-pdf-out.cpp:244 #: ../src/extension/internal/cairo-ps-out.cpp:230 #: ../src/extension/internal/emf-win32-inout.cpp:2182 #: ../src/extension/internal/eps-out.cpp:92 #: ../src/extension/internal/ps-out.cpp:84 -#, fuzzy msgid "Convert texts to paths" -msgstr "글자를 곡선으로 변환" +msgstr "문자열을 경로로 변환" #: ../src/extension/internal/cairo-pdf-out.cpp:245 #: ../src/extension/internal/cairo-ps-out.cpp:231 -#, fuzzy msgid "Convert blur effects to bitmaps" -msgstr "글자를 곡선으로 변환" +msgstr "흐림 효과를 비트맵으로 변환" #: ../src/extension/internal/cairo-pdf-out.cpp:246 #: ../src/extension/internal/cairo-ps-out.cpp:232 msgid "Preferred resolution (DPI) of bitmaps" -msgstr "" +msgstr "비트맵 기본 해상도(DPI)" #: ../src/extension/internal/cairo-pdf-out.cpp:247 -#, fuzzy msgid "Export drawing, not page" -msgstr "생성 중" +msgstr "그림 내보내기, 페이지 아님" #: ../src/extension/internal/cairo-pdf-out.cpp:248 -#, fuzzy msgid "Export canvas" -msgstr "출력(_E):" +msgstr "캔버스 내보내기" #: ../src/extension/internal/cairo-pdf-out.cpp:249 msgid "Limit export to the object with ID" -msgstr "" +msgstr "ID 객체 내보내기로 제한" -#: ../src/extension/internal/cairo-pdf-out.cpp:253 -#, fuzzy +#: ../src/extension/internal/cairo-pdf-out.cpp:25300 msgid "PDF via Cairo (*.pdf)" -msgstr "다이아 다이어그램 (*.dia)" +msgstr "Cairo PDF(*.pdf)" #: ../src/extension/internal/cairo-pdf-out.cpp:254 -#, fuzzy msgid "PDF File" -msgstr "파일(_F)" +msgstr "PDF 파일" #: ../src/extension/internal/cairo-ps-out.cpp:222 -#, fuzzy msgid "Cairo PS Output" -msgstr "DXF 내보내기" +msgstr "Cairo PS 출력" #: ../src/extension/internal/cairo-ps-out.cpp:224 msgid "Restrict to PS level" -msgstr "" +msgstr "PS 레벨로 제한" #: ../src/extension/internal/cairo-ps-out.cpp:225 -#, fuzzy msgid "PostScript level 3" -msgstr "포스트 스크립 파일" +msgstr "포스트스크립트 레벨 3" #: ../src/extension/internal/cairo-ps-out.cpp:227 -#, fuzzy msgid "PostScript level 2" -msgstr "포스트 스크립 파일" +msgstr "포스트스크립트 레벨 2" #: ../src/extension/internal/cairo-ps-out.cpp:236 -#, fuzzy msgid "PostScript via Cairo (*.ps)" -msgstr "포스트스크립 (*.ps)" +msgstr "Cairo 포스트스크립트 (*.ps)" #: ../src/extension/internal/cairo-ps-out.cpp:237 #: ../src/extension/internal/ps-out.cpp:90 -#, fuzzy msgid "PostScript File" -msgstr "포스트 스크립 파일" +msgstr "포스트스크립트 파일" #: ../src/extension/internal/emf-win32-inout.cpp:2152 -#, fuzzy msgid "EMF Input" -msgstr "DXF 불러오기" +msgstr "EMF 입력" #: ../src/extension/internal/emf-win32-inout.cpp:2157 msgid "Enhanced Metafiles (*.emf)" -msgstr "" +msgstr "Enhanced 메타파일 (*.emf)" #: ../src/extension/internal/emf-win32-inout.cpp:2158 msgid "Enhanced Metafiles" -msgstr "" +msgstr "Enhanced 메타파일" #: ../src/extension/internal/emf-win32-inout.cpp:2166 -#, fuzzy msgid "WMF Input" -msgstr "SVG 입력" +msgstr "WMF 입력" #: ../src/extension/internal/emf-win32-inout.cpp:2171 -#, fuzzy msgid "Windows Metafiles (*.wmf)" -msgstr "윈도우즈 메타파일 불러오기" +msgstr "윈도우즈 메타파일 (*.wmf)" #: ../src/extension/internal/emf-win32-inout.cpp:2172 -#, fuzzy msgid "Windows Metafiles" -msgstr "윈도우즈 메타파일 불러오기" +msgstr "윈도우즈 메타파일" #: ../src/extension/internal/emf-win32-inout.cpp:2180 -#, fuzzy msgid "EMF Output" -msgstr "DXF 내보내기" +msgstr "EMF 출력" #: ../src/extension/internal/emf-win32-inout.cpp:2186 msgid "Enhanced Metafile (*.emf)" -msgstr "" +msgstr "Enhanced 메타파일(*.emf)" #: ../src/extension/internal/emf-win32-inout.cpp:2187 -#, fuzzy msgid "Enhanced Metafile" -msgstr "사각형 찾기" +msgstr "Enhanced 메타파일" #: ../src/extension/internal/eps-out.cpp:89 msgid "Encapsulated Postscript Output" -msgstr "" +msgstr "Encapsulated 포스트스크립트 출력" #: ../src/extension/internal/eps-out.cpp:91 msgid "Make bounding box around full page" -msgstr "" +msgstr "전체 페이지에 경계 상자 생성" #: ../src/extension/internal/eps-out.cpp:93 #: ../src/extension/internal/ps-out.cpp:85 msgid "Embed fonts (Type 1 only)" -msgstr "" +msgstr "내장 글꼴 (Type 1만)" #: ../src/extension/internal/eps-out.cpp:97 #: ../share/extensions/eps_input.inx.h:3 msgid "Encapsulated Postscript (*.eps)" -msgstr "" +msgstr "Encapsulated 포스트스크립트 (*.eps)" #: ../src/extension/internal/eps-out.cpp:98 msgid "Encapsulated Postscript File" -msgstr "" +msgstr "Encapsulated 포스크스크립트 파일" #. ID -- should be unique #: ../src/extension/internal/filter/apparition.h:24 -#, fuzzy msgid "Apparition" -msgstr "채도" +msgstr "환영" #. Name in the menus, should have a N_() around it for translation #: ../src/extension/internal/filter/apparition.h:25 msgid "I'm not sure what this word means" -msgstr "" +msgstr "이 단어가 의미하는 바를 알 지 못함" #. ID -- should be unique #: ../src/extension/internal/filter/bloom.h:24 -#, fuzzy msgid "Bloom" -msgstr "확대 축소 보기" +msgstr "개화" #. Name in the menus, should have a N_() around it for translation #: ../src/extension/internal/filter/bloom.h:25 @@ -3464,319 +3391,295 @@ msgstr "" #. ID -- should be unique #: ../src/extension/internal/filter/clouds.h:24 -#, fuzzy msgid "Clouds" -msgstr "닫기(_C)" +msgstr "구름" #. Name in the menus, should have a N_() around it for translation #: ../src/extension/internal/filter/clouds.h:25 -#, fuzzy msgid "Yes, more descriptions" -msgstr " 설명: " +msgstr "예, 더 자세한 설명" #. ID -- should be unique #: ../src/extension/internal/filter/crystal.h:24 msgid "Crystal" -msgstr "" +msgstr "수정" #. Name in the menus, should have a N_() around it for translation #: ../src/extension/internal/filter/crystal.h:25 msgid "Artist, insert data here" -msgstr "" +msgstr "예술가, 자료를 여기에 입력" #. ID -- should be unique #: ../src/extension/internal/filter/cutout.h:24 -#, fuzzy msgid "Coutout" -msgstr "개인적(_C)" +msgstr "도려내기" #. Name in the menus, should have a N_() around it for translation #: ../src/extension/internal/filter/cutout.h:25 #: ../src/extension/internal/filter/etched-glass.h:25 #: ../src/extension/internal/filter/frost.h:25 #: ../src/extension/internal/filter/ridged-border.h:25 -#, fuzzy msgid "Artist text" -msgstr "수직 글자" +msgstr "예술가 문자열" #: ../src/extension/internal/filter/drop-shadow.h:35 msgid "Drop Shadow" -msgstr "" +msgstr "물방울 그림자" #: ../src/extension/internal/filter/drop-shadow.h:37 -#, fuzzy msgid "Amount of Blur" -msgstr "글꼴" +msgstr "흐림 양" #: ../src/extension/internal/filter/drop-shadow.h:38 #: ../src/extension/internal/grid.cpp:197 msgid "Horizontal Offset" -msgstr "수평 띄기" +msgstr "수평 옵셋" #: ../src/extension/internal/filter/drop-shadow.h:39 #: ../src/extension/internal/grid.cpp:198 msgid "Vertical Offset" -msgstr "수직 띄기" +msgstr "수직 옵셋" #: ../src/extension/internal/filter/drop-shadow.h:43 #: ../src/extension/internal/filter/filter.cpp:196 #: ../src/extension/internal/filter/filter-file.cpp:146 #: ../src/extension/internal/filter/snow.h:38 -#, fuzzy msgid "Filter" -msgstr "밀리미터" +msgstr "필터" #: ../src/extension/internal/filter/drop-shadow.h:45 -#, fuzzy msgid "I hate text" -msgstr "불이기 종류(_S)" +msgstr "나는 문자열을 싫어합니다" #. Name in the menus, should have a N_() around it for translation #: ../src/extension/internal/filter/emboss.h:22 -#, fuzzy msgid "Emboss effect" -msgstr "수평 띄기" +msgstr "효과 강조" #. ID -- should be unique #: ../src/extension/internal/filter/etched-glass.h:24 msgid "Etched Glass" -msgstr "" +msgstr "새긴 유리" #: ../src/extension/internal/filter/filter-file.cpp:32 -#, fuzzy msgid "Bundled" -msgstr "불러들임" +msgstr "묶음" #: ../src/extension/internal/filter/filter-file.cpp:33 msgid "Personal" -msgstr "" +msgstr "개인" #: ../src/extension/internal/filter/filter-file.cpp:44 msgid "Null external module directory name. Filters will not be loaded." -msgstr "" +msgstr "Null 외부 모듈 폴더 이름. 필터가 읽혀지지 않음." #. ID -- should be unique #: ../src/extension/internal/filter/fire.h:24 -#, fuzzy msgid "Fire" -msgstr "파일(_F)" +msgstr "불" #. Name in the menus, should have a N_() around it for translation #: ../src/extension/internal/filter/fire.h:25 msgid "Artist on fire" -msgstr "" +msgstr "불위의 예술가" #. ID -- should be unique #: ../src/extension/internal/filter/frost.h:24 -#, fuzzy msgid "Frost" -msgstr "글꼴" +msgstr "서리" #. ID -- should be unique #: ../src/extension/internal/filter/ink-bleed.h:24 -#, fuzzy msgid "InkBleed" -msgstr "파랑" +msgstr "잉크나옴" #. Name in the menus, should have a N_() around it for translation #: ../src/extension/internal/filter/ink-bleed.h:25 msgid "Artist Text" -msgstr "" +msgstr "예술가 문자열" #. ID -- should be unique #: ../src/extension/internal/filter/jelly-bean.h:24 msgid "Jelly Bean" -msgstr "" +msgstr "젤리 콩 과자" #. Name in the menus, should have a N_() around it for translation #: ../src/extension/internal/filter/jelly-bean.h:25 msgid "Mmmm, yummy." -msgstr "" +msgstr "히히 헤헤" #. ID -- should be unique #: ../src/extension/internal/filter/jigsaw-piece.h:24 msgid "JigsawPiece" -msgstr "" +msgstr "실톱무늬조각(직소우)" #. Name in the menus, should have a N_() around it for translation #: ../src/extension/internal/filter/jigsaw-piece.h:25 msgid "It's a puzzle, no hints" -msgstr "" +msgstr "호호 후후 알아맞추어 봐" #. ID -- should be unique #: ../src/extension/internal/filter/leopard-fur.h:24 msgid "Leopard Fur" -msgstr "" +msgstr "표범 무늬" #. Name in the menus, should have a N_() around it for translation #: ../src/extension/internal/filter/leopard-fur.h:25 msgid "Purrrr, quiet the kitty is sleeping" -msgstr "" +msgstr "우씨알라~~~" -#. ID -- should be unique +#. ID -- shouê³¼ld be unique #: ../src/extension/internal/filter/melt.h:22 -#, fuzzy msgid "Melt" -msgstr "미터" +msgstr "용해" #. Name in the menus, should have a N_() around it for translation #: ../src/extension/internal/filter/melt.h:23 -#, fuzzy msgid "Melt effect" -msgstr "수평 띄기" +msgstr "용해 효과" #. ID -- should be unique #: ../src/extension/internal/filter/metal.h:24 -#, fuzzy msgid "Metal" -msgstr "미터" +msgstr "금속" #. Name in the menus, should have a N_() around it for translation #: ../src/extension/internal/filter/metal.h:25 -#, fuzzy msgid "Iron Man vector objects" -msgstr "선택한 객체 배분" +msgstr "철인 벡터 객체" #. ID -- should be unique #: ../src/extension/internal/filter/motion-blur.h:24 msgid "Motion Blur" -msgstr "" +msgstr "모션 흐림" #. Name in the menus, should have a N_() around it for translation #: ../src/extension/internal/filter/motion-blur.h:25 msgid "Hmm, fast vectors" -msgstr "" +msgstr "빠른 벡터" #. ID -- should be unique #: ../src/extension/internal/filter/oil-slick.h:24 msgid "OilSlick" -msgstr "" +msgstr "기름막" #. Name in the menus, should have a N_() around it for translation #: ../src/extension/internal/filter/oil-slick.h:25 msgid "Ooops! Slippery!" -msgstr "" +msgstr "교활한~~ 치치~~" #. ID -- should be unique #: ../src/extension/internal/filter/patterned-glass.h:24 -#, fuzzy msgid "PatternedGlass" -msgstr "반복무늬" +msgstr "패턴유리" #. Name in the menus, should have a N_() around it for translation #: ../src/extension/internal/filter/patterned-glass.h:25 msgid "Doesn't work, bug" -msgstr "" +msgstr "작업하지 않음, 버그" #. ID -- should be unique #: ../src/extension/internal/filter/ridged-border.h:24 -#, fuzzy msgid "Ridged Border" -msgstr "이동(_M)" +msgstr "모서리 경계" #. ID -- should be unique #: ../src/extension/internal/filter/ripple.h:24 -#, fuzzy msgid "Ripple" -msgstr "제목" +msgstr "잔물결" #. Name in the menus, should have a N_() around it for translation #: ../src/extension/internal/filter/ripple.h:25 msgid "You're 80% water" -msgstr "" +msgstr "80% 물 임" #. ID -- should be unique #: ../src/extension/internal/filter/roughen.h:24 -#, fuzzy msgid "Roughen" -msgstr "그룹" +msgstr "거침" #. Name in the menus, should have a N_() around it for translation #: ../src/extension/internal/filter/roughen.h:25 msgid "Like Brad Pitt's stubble" -msgstr "" +msgstr "Like Brad Pitt's stubble" #. ID -- should be unique #: ../src/extension/internal/filter/rubber-stamp.h:24 -#, fuzzy msgid "RubberStamp" -msgstr "단계 숫자" +msgstr "고무도장" #. Name in the menus, should have a N_() around it for translation #: ../src/extension/internal/filter/rubber-stamp.h:25 msgid "Use this to forge your passport" -msgstr "" +msgstr "여권을 위조하기 위하여 이것을 사용" #. ID -- should be unique #: ../src/extension/internal/filter/sepia.h:24 -#, fuzzy msgid "Sepia" -msgstr "나선형" +msgstr "세피아" #. Name in the menus, should have a N_() around it for translation #: ../src/extension/internal/filter/sepia.h:25 msgid "Turn all the colors to be sepia tones" -msgstr "" +msgstr "전체 색상을 세피아로 변경" #: ../src/extension/internal/filter/snow.h:32 -#, fuzzy msgid "Snow" -msgstr "보이기:" +msgstr "눈" #: ../src/extension/internal/filter/snow.h:34 -#, fuzzy msgid "Drift Size" -msgstr "도트 크기" +msgstr "크기 이동" #: ../src/extension/internal/filter/snow.h:40 msgid "When the weather outside is frightening..." -msgstr "" +msgstr "바깥 날씨가 추울 때" #. ID -- should be unique #: ../src/extension/internal/filter/speckle.h:24 -#, fuzzy msgid "Speckle" -msgstr "선택" +msgstr "반점" #. Name in the menus, should have a N_() around it for translation #: ../src/extension/internal/filter/speckle.h:25 msgid "You look cute with speckles" -msgstr "" +msgstr "반점이 보임" #. ID -- should be unique #: ../src/extension/internal/filter/zebra.h:24 msgid "Zebra Stripes" -msgstr "" +msgstr "얼룩 무늬" #. Name in the menus, should have a N_() around it for translation #: ../src/extension/internal/filter/zebra.h:25 msgid "Paint your object with zebra stripes" -msgstr "" +msgstr "얼룩 무늬로 객체를 칠하기" #: ../src/extension/internal/gdkpixbuf-input.cpp:114 #, c-format msgid "%s GDK pixbuf Input" -msgstr "" +msgstr "%s GDK pixbuf Input" #: ../src/extension/internal/gimpgrad.cpp:274 msgid "GIMP Gradients" -msgstr "김프 색변화(Gradients)" +msgstr "GIMP 그라디언트" #: ../src/extension/internal/gimpgrad.cpp:279 msgid "GIMP Gradient (*.ggr)" -msgstr "김프 색변화(Gradient) (*.ggr)" +msgstr "GIMP 그라디언트 (*.ggr)" #: ../src/extension/internal/gimpgrad.cpp:280 msgid "Gradients used in GIMP" -msgstr "김프에서 사용되는 색변화(Gradients)" +msgstr "김프에서 사용되는 그라디언트" -#: ../src/extension/internal/grid.cpp:192 ../src/ui/widget/panel.cpp:122 +#: ../src/extension/internal/grid.cpp:192 +#: ../src/ui/widget/panel.cpp:122 msgid "Grid" msgstr "격자" #: ../src/extension/internal/grid.cpp:194 msgid "Line Width" -msgstr "선 폭" +msgstr "선 두께" #: ../src/extension/internal/grid.cpp:195 msgid "Horizontal Spacing" @@ -3786,91 +3689,87 @@ msgstr "수평 간격" msgid "Vertical Spacing" msgstr "수직 간격" -#: ../src/extension/internal/grid.cpp:202 ../share/extensions/eqtexsvg.inx.h:3 -#: ../share/extensions/funcplot.inx.h:12 ../share/extensions/gears.inx.h:5 +#: ../src/extension/internal/grid.cpp:202 +#: ../share/extensions/eqtexsvg.inx.h:3 +#: ../share/extensions/funcplot.inx.h:12 +#: ../share/extensions/gears.inx.h:5 #: ../share/extensions/grid_cartesian.inx.h:15 #: ../share/extensions/grid_polar.inx.h:18 #: ../share/extensions/lindenmayer.inx.h:11 #: ../share/extensions/polyhedron_3d.inx.h:32 #: ../share/extensions/render_alphabetsoup.inx.h:3 #: ../share/extensions/render_barcode.inx.h:5 -#: ../share/extensions/rtree.inx.h:4 ../share/extensions/spirograph.inx.h:6 +#: ../share/extensions/rtree.inx.h:4 +#: ../share/extensions/spirograph.inx.h:6 #: ../share/extensions/triangle.inx.h:10 msgid "Render" msgstr "랜더" #: ../src/extension/internal/grid.cpp:204 msgid "Draw a path which is a grid" -msgstr "격자에 마추어 곡선을 그림" +msgstr "격자에 맞추어 경로를 그리기" #: ../src/extension/internal/latex-pstricks.cpp:347 msgid "LaTeX Print" -msgstr "라텍스 인쇄" +msgstr "LaTeX 인쇄" #: ../src/extension/internal/latex-pstricks-out.cpp:106 msgid "LaTeX Output" -msgstr "라텍스 출력" +msgstr "LaTeX 출력" #: ../src/extension/internal/latex-pstricks-out.cpp:111 msgid "LaTeX With PSTricks macros (*.tex)" -msgstr "" +msgstr "LaTeX With PSTricks macros (*.tex)" #: ../src/extension/internal/latex-pstricks-out.cpp:112 msgid "LaTeX PSTricks File" -msgstr "" +msgstr "LaTeX PSTricks File" #: ../src/extension/internal/odf.cpp:2424 msgid "OpenDocument Drawing Output" -msgstr "오픈 문서 드로링 출력" +msgstr "OpenDocument 그림 출력" #: ../src/extension/internal/odf.cpp:2429 msgid "OpenDocument drawing (*.odg)" -msgstr "오픈 문서 드로링 (*.odg)" +msgstr "OpenDocument 그림 (*.odg)" #: ../src/extension/internal/odf.cpp:2430 msgid "OpenDocument drawing file" -msgstr "오픈문서 그림 파일" +msgstr "OpenDocument 그림 파일" #: ../src/extension/internal/pdf-cairo.cpp:127 #: ../src/extension/internal/ps.cpp:147 msgid "Print Destination" -msgstr "출력 목적지" +msgstr "인쇄 방향" #. Print properties frame #: ../src/extension/internal/pdf-cairo.cpp:142 #: ../src/extension/internal/ps.cpp:162 msgid "Print properties" -msgstr "출력 설정" +msgstr "인쇄 설정" #: ../src/extension/internal/pdf-cairo.cpp:149 msgid "Print using PDF operators" -msgstr "PDF 기능을 이용한 출력" +msgstr "PDF 연산자 이용한 출력" #: ../src/extension/internal/pdf-cairo.cpp:151 -msgid "" -"Use PDF vector operators. The resulting image is usually smaller in file " -"size and can be arbitrarily scaled, but patterns will be lost." -msgstr "" -"PDF 백터 요소 사용. 이미지가 자유롭게 축소 확대 할수 있으면서 크기는 될것이지" -"만 패턴은 없어질것임." +msgid "Use PDF vector operators. The resulting image is usually smaller in file size and can be arbitrarily scaled, but patterns will be lost." +msgstr "PDF벡터 연산자 사용. ê²°ê³¼ 이미지는 파일 크기가 아주 작으며 임의로 비율을 정할 수 패턴은 없어집니다." #: ../src/extension/internal/pdf-cairo.cpp:156 #: ../src/extension/internal/ps.cpp:176 msgid "Print as bitmap" -msgstr "비트맴 이미지로 출력" +msgstr "비트맵 출력" #: ../src/extension/internal/pdf-cairo.cpp:158 #: ../src/extension/internal/ps.cpp:178 -msgid "" -"Print everything as bitmap. The resulting image is usually larger in file " -"size and cannot be arbitrarily scaled without quality loss, but all objects " -"will be rendered exactly as displayed." -msgstr "" +msgid "Print everything as bitmap. The resulting image is usually larger in file size and cannot be arbitrarily scaled without quality loss, but all objects will be rendered exactly as displayed." +msgstr "전체를 비트맵으로 인쇄." #: ../src/extension/internal/pdf-cairo.cpp:172 #: ../src/extension/internal/ps.cpp:192 msgid "Preferred resolution (dots per inch) of bitmap" -msgstr "" +msgstr "비트맵의 기본 해상도(DPI)" #: ../src/extension/internal/pdf-cairo.cpp:186 #: ../src/extension/internal/ps.cpp:206 @@ -3881,7 +3780,7 @@ msgstr "해상도:" #: ../src/extension/internal/pdf-cairo.cpp:190 #: ../src/extension/internal/ps.cpp:213 msgid "Print destination" -msgstr "출력 목적지" +msgstr "출력 방향" #: ../src/extension/internal/pdf-cairo.cpp:196 #: ../src/extension/internal/ps.cpp:219 @@ -3900,168 +3799,149 @@ msgstr "PDF 인쇄" #. more info: http://www.acrobatusers.com/tech_corners/javascript_corner/tips/2006/page_bounds/ #: ../src/extension/internal/pdfinput/pdf-input.cpp:56 msgid "media box" -msgstr "" +msgstr "미디어 상자" #: ../src/extension/internal/pdfinput/pdf-input.cpp:57 msgid "crop box" -msgstr "" +msgstr "자르기 상자" #: ../src/extension/internal/pdfinput/pdf-input.cpp:58 msgid "trim box" -msgstr "" +msgstr "잘림 상자" #: ../src/extension/internal/pdfinput/pdf-input.cpp:59 msgid "bleed box" -msgstr "" +msgstr "잘림절단 상자" #: ../src/extension/internal/pdfinput/pdf-input.cpp:60 msgid "art box" -msgstr "" +msgstr "아트 상자" #: ../src/extension/internal/pdfinput/pdf-input.cpp:72 -#, fuzzy msgid "Select page:" -msgstr "노드 삭제" +msgstr "페이지 선택:" #. Display total number of pages #: ../src/extension/internal/pdfinput/pdf-input.cpp:86 #, c-format msgid "out of %i" -msgstr "" +msgstr "%i 에서" #. Crop settings #: ../src/extension/internal/pdfinput/pdf-input.cpp:92 msgid "Clip to:" -msgstr "" +msgstr "자르기:" #: ../src/extension/internal/pdfinput/pdf-input.cpp:104 msgid "Page settings" -msgstr "" +msgstr "페이지 설정" #: ../src/extension/internal/pdfinput/pdf-input.cpp:106 msgid "Precision of approximating gradient meshes:" -msgstr "" +msgstr "그라디언트 망사의 근사 정확도:" #: ../src/extension/internal/pdfinput/pdf-input.cpp:107 -msgid "" -"Note: setting the precision too high may result in a large SVG file " -"and slow performance." -msgstr "" +msgid "Note: setting the precision too high may result in a large SVG file and slow performance." +msgstr "주의: 높은 정확도는 큰 SVG 파일이 생성되며 실행이 느려짐." #: ../src/extension/internal/pdfinput/pdf-input.cpp:112 #: ../src/extension/internal/pdfinput/pdf-input.cpp:381 -#, fuzzy msgid "rough" -msgstr "그룹" +msgstr "거친" #. Text options #: ../src/extension/internal/pdfinput/pdf-input.cpp:116 -#, fuzzy msgid "Text handling:" -msgstr "간격 설정:" +msgstr "문자열 핸들링:" #: ../src/extension/internal/pdfinput/pdf-input.cpp:118 #: ../src/extension/internal/pdfinput/pdf-input.cpp:119 -#, fuzzy msgid "Import text as text" -msgstr "글자를 곡선으로 변환" +msgstr "문자열로 문자열 읽어오기" #: ../src/extension/internal/pdfinput/pdf-input.cpp:122 -#, fuzzy msgid "Embed images" -msgstr "내장 된 전체 이미지" +msgstr "내장 이미지" #: ../src/extension/internal/pdfinput/pdf-input.cpp:125 msgid "Import settings" -msgstr "" +msgstr "설정 읽어오기" #: ../src/extension/internal/pdfinput/pdf-input.cpp:242 msgid "PDF Import Settings" -msgstr "" +msgstr "PDF 들어오기 설정" #: ../src/extension/internal/pdfinput/pdf-input.cpp:382 msgid "pdfinput|medium" -msgstr "" +msgstr "pdf입력|중간" #: ../src/extension/internal/pdfinput/pdf-input.cpp:383 -#, fuzzy msgid "fine" -msgstr "선" +msgstr "미세" #: ../src/extension/internal/pdfinput/pdf-input.cpp:384 -#, fuzzy msgid "very fine" -msgstr "반전" +msgstr "아주 미세" #: ../src/extension/internal/pdfinput/pdf-input.cpp:739 -#, fuzzy msgid "PDF Input" -msgstr "DXF 불러오기" +msgstr "PDF 입력" #: ../src/extension/internal/pdfinput/pdf-input.cpp:744 -#, fuzzy msgid "Adobe PDF (*.pdf)" -msgstr "오트캐드 DXF (*.dxf)" +msgstr "Adobe PDF (*.pdf)" #: ../src/extension/internal/pdfinput/pdf-input.cpp:745 msgid "Adobe Portable Document Format" -msgstr "" +msgstr "PDF 형식" #: ../src/extension/internal/pdfinput/pdf-input.cpp:752 -#, fuzzy msgid "AI Input" -msgstr "AI SVG 입력" +msgstr "AI 입력" #: ../src/extension/internal/pdfinput/pdf-input.cpp:757 -#, fuzzy msgid "Adobe Illustrator 9.0 and above (*.ai)" -msgstr "아도비 일러스트 (*.ai)" +msgstr "Adobe Illustrator 9.0 이상 (*.ai)" #: ../src/extension/internal/pdfinput/pdf-input.cpp:758 -#, fuzzy msgid "Open files saved in Adobe Illustrator 9.0 and newer versions" -msgstr "열린 파일이 아도비 일러스트 파일로 저장됨" +msgstr "Adobe Illustrator 9.0 이상 파일 열기" #: ../src/extension/internal/pov-out.cpp:666 msgid "PovRay Output" -msgstr "포레이 출력" +msgstr "PovRay 출력" #: ../src/extension/internal/pov-out.cpp:671 msgid "PovRay (*.pov) (export splines)" -msgstr "" +msgstr "PovRay (*.pov) (export splines)" #: ../src/extension/internal/pov-out.cpp:672 msgid "PovRay Raytracer File" -msgstr "포레이 레이스레이스 파일" +msgstr "PovRay Raytracer 파일" #: ../src/extension/internal/ps.cpp:147 -#, fuzzy msgid "Print Configuration" -msgstr "출력 목적지" +msgstr "인쇄 설정" #: ../src/extension/internal/ps.cpp:169 msgid "Print using PostScript operators" -msgstr "포스트 스크립트 를 이용한 출력" +msgstr "포스트스크립트 연산자를 이용한 출력" #: ../src/extension/internal/ps.cpp:171 -msgid "" -"Use PostScript vector operators. The resulting image is usually smaller in " -"file size and can be arbitrarily scaled, but alpha transparency and patterns " -"will be lost." -msgstr "" +msgid "Use PostScript vector operators. The resulting image is usually smaller in file size and can be arbitrarily scaled, but alpha transparency and patterns will be lost." +msgstr "포스트스크립트 벡터 작동기 사용" #: ../src/extension/internal/ps.cpp:1753 msgid "Postscript Print" -msgstr "포스트 스크립트 프린트" +msgstr "포스트스크립트 출력" #: ../src/extension/internal/ps-out.cpp:82 msgid "Postscript Output" -msgstr "포스트 스크립 출력" +msgstr "포스트스크립 출력" #: ../src/extension/internal/ps-out.cpp:89 -#, fuzzy msgid "PostScript (*.ps)" -msgstr "포스트스크립 (*.ps)" +msgstr "포스트스크립트 (*.ps)" #: ../src/extension/internal/svg.cpp:55 msgid "SVG Input" @@ -4069,23 +3949,23 @@ msgstr "SVG 입력" #: ../src/extension/internal/svg.cpp:60 msgid "Scalable Vector Graphic (*.svg)" -msgstr "크기변경 가능한 벡터 그래픽 (*.svg)" +msgstr "SVG (*.svg)" #: ../src/extension/internal/svg.cpp:61 msgid "Inkscape native file format and W3C standard" -msgstr "잉크스케이프 기본 포멧과 W3C 표준" +msgstr "Inkscape 기본 포멧과 W3C 표준" #: ../src/extension/internal/svg.cpp:69 msgid "SVG Output Inkscape" -msgstr "SVG 출력 잉크스케이프" +msgstr "SVG 출력 Inkscape" #: ../src/extension/internal/svg.cpp:74 msgid "Inkscape SVG (*.svg)" -msgstr "잉크스케이프·SVG·(*.svg)" +msgstr "Inkscape·SVG·(*.svg)" #: ../src/extension/internal/svg.cpp:75 msgid "SVG format with Inkscape extensions" -msgstr "잉크스케이프 확장자로 SVG 포멧" +msgstr "Inkscape 확장자 가진 SVG 형식" #: ../src/extension/internal/svg.cpp:83 #: ../src/ui/dialog/inkscape-preferences.cpp:942 @@ -4094,28 +3974,30 @@ msgstr "SVG 출력" #: ../src/extension/internal/svg.cpp:88 msgid "Plain SVG (*.svg)" -msgstr "일반 ·SVG·(*.svg)" +msgstr "일반 SVG·(*.svg)" #: ../src/extension/internal/svg.cpp:89 msgid "Scalable Vector Graphics format as defined by the W3C" -msgstr "W3C 표준에 따른 크기 변경가능한 벡터파일 포멧" +msgstr "W3C에 의해 정의된 SVG 형식" #: ../src/extension/internal/svgz.cpp:47 #: ../share/extensions/svgz_input.inx.h:3 msgid "SVGZ Input" msgstr "SVGZ 입력" -#: ../src/extension/internal/svgz.cpp:53 ../src/extension/internal/svgz.cpp:67 +#: ../src/extension/internal/svgz.cpp:53 +#: ../src/extension/internal/svgz.cpp:67 #: ../share/extensions/svgz_input.inx.h:1 #: ../share/extensions/svgz_output.inx.h:1 msgid "Compressed Inkscape SVG (*.svgz)" -msgstr "압축된 잉크 스케이프 SVG·(*.svgz)" +msgstr "압축된 Inkscape SVG·(*.svgz)" #: ../src/extension/internal/svgz.cpp:54 msgid "SVG file format compressed with GZip" -msgstr "Gzip 으로 압축된 SVG 파일" +msgstr "Gzip으로 압축된 SVG 파일 형식" -#: ../src/extension/internal/svgz.cpp:62 ../src/extension/internal/svgz.cpp:76 +#: ../src/extension/internal/svgz.cpp:62 +#: ../src/extension/internal/svgz.cpp:76 #: ../share/extensions/svgz_output.inx.h:3 msgid "SVGZ Output" msgstr "SVGZ 출력" @@ -4124,39 +4006,35 @@ msgstr "SVGZ 출력" #: ../share/extensions/svgz_input.inx.h:2 #: ../share/extensions/svgz_output.inx.h:2 msgid "Inkscape's native file format compressed with GZip" -msgstr "Gzip 으로 압축된 잉크스케이프 파일형식" +msgstr "Gzip으로 압축된 Inkscape 파일 형식" #: ../src/extension/internal/svgz.cpp:81 msgid "Compressed plain SVG (*.svgz)" -msgstr "압축된 일반 SVG 파일 (*.svgz)" +msgstr "압축된 SVG 파일 (*.svgz)" #: ../src/extension/internal/svgz.cpp:82 msgid "Scalable Vector Graphics format compressed with GZip" -msgstr "GZip 으로 압축된 크기 변화 가능한 벡터 그래픽 파일" +msgstr "GZip으로 압축된 SVG 형식" #: ../src/extension/internal/win32.cpp:491 msgid "Windows 32-bit Print" -msgstr "윈도우즈 32 비트 출력" +msgstr "윈도우 32-비트 출력" #: ../src/extension/internal/wpg-input.cpp:102 -#, fuzzy msgid "WPG Input" -msgstr "SVG 입력" +msgstr "WPG 입력" #: ../src/extension/internal/wpg-input.cpp:107 -#, fuzzy msgid "WordPerfect Graphics (*.wpg)" -msgstr "크기변경 가능한 벡터 그래픽 (*.svg)" +msgstr "WordPerfect 그래픽 (*.wpg)" #: ../src/extension/internal/wpg-input.cpp:108 -#, fuzzy msgid "Vector graphics format used by Corel WordPerfect" -msgstr "W3C 표준에 따른 크기 변경가능한 벡터파일 포멧" +msgstr "Corel WordPerfect에 의해 사용된 벡터 그래픽 형식" #: ../src/extension/prefdialog.cpp:237 -#, fuzzy msgid "Live Preview" -msgstr "미리보기" +msgstr "실시간 미리보기" #: ../src/extension/prefdialog.cpp:237 msgid "Controls whether the effect settings are rendered live on canvas" @@ -4168,7 +4046,7 @@ msgstr "" #. sp_ui_error_dialog(_("Format autodetect failed. The file is being opened as SVG.")); #: ../src/extension/system.cpp:103 msgid "Format autodetect failed. The file is being opened as SVG." -msgstr "자동 파일 인식이 실패하여, SVG 로 추정해서 읽어 들일것임." +msgstr "파일 형식 자동인식 실패, SVG형식으로 파일을 읽습니다." #. TRANSLATORS: default.svg is localizable - this is the name of the default document #. template. This way you can localize the default pagesize, translate the name of @@ -4176,21 +4054,22 @@ msgstr "자동 파일 인식이 실패하여, SVG 로 추정해서 읽어 들일 #. localized share/templates/default.xx.svg file, where xx is your language code. #: ../src/file.cpp:139 msgid "default.svg" -msgstr "default.svg" +msgstr "기본.svg" -#: ../src/file.cpp:225 ../src/file.cpp:993 +#: ../src/file.cpp:225 +#: ../src/file.cpp:993 #, c-format msgid "Failed to load the requested file %s" -msgstr "요청한 %s 파일을 불러 들이는데 실패" +msgstr "요청한파일 %s를 읽어오는데 실패" #: ../src/file.cpp:250 msgid "Document not saved yet. Cannot revert." -msgstr "문서가 아직 저장 되지 않음. 되돌릴수 없음." +msgstr "문서가 아직 저장되지 않음. 되돌릴 수 없음." #: ../src/file.cpp:256 #, c-format msgid "Changes will be lost! Are you sure you want to reload document %s?" -msgstr "변경내용을 잃어 버립니다! 정말로 새로 문서 %s 를 불러드릴까요?" +msgstr "변경된 내용을 잃습니다.! 정말 문서 %s 를 불러올까요?" #: ../src/file.cpp:285 msgid "Document reverted." @@ -4198,52 +4077,50 @@ msgstr "문서 되돌려짐." #: ../src/file.cpp:287 msgid "Document not reverted." -msgstr "문서 되돌리지지 못함." +msgstr "문서를 되돌리지 못함." #: ../src/file.cpp:437 msgid "Select file to open" -msgstr "열 화일을 선택하시오" +msgstr "열기 화일 선택" #: ../src/file.cpp:524 -#, fuzzy msgid "Vacuum <defs>" -msgstr "연계성 청소" +msgstr "<정의> 삭제" #: ../src/file.cpp:529 #, c-format msgid "Removed %i unused definition in <defs>." -msgid_plural "Removed %i unused definitions in <defs>." -msgstr[0] "" -msgstr[1] "" +msgstr "정의에서 미사용된 정의 %i 제거" #: ../src/file.cpp:534 msgid "No unused definitions in <defs>." -msgstr "" +msgstr "<defs>에서 미사용 정의 없음." #: ../src/file.cpp:563 #, c-format -msgid "" -"No Inkscape extension found to save document (%s). This may have been " -"caused by an unknown filename extension." -msgstr "" +msgid "No Inkscape extension found to save document (%s). This may have been caused by an unknown filename extension." +msgstr "문서 (%s)를 저장하기 위한 Inkscape 확장자가 없음." -#: ../src/file.cpp:564 ../src/file.cpp:572 +#: ../src/file.cpp:564 +#: ../src/file.cpp:572 msgid "Document not saved." -msgstr "문서가 저정 되지 않음." +msgstr "문서가 저장되지 않음." #: ../src/file.cpp:571 #, c-format msgid "File %s could not be saved." -msgstr "파일 %s저장 되지 않을수 있습니다." +msgstr "파일 %s가 저장되지 않을 수 있습니다." #: ../src/file.cpp:582 msgid "Document saved." msgstr "문서 저장됨." -#: ../src/file.cpp:721 ../src/file.cpp:1118 ../src/file.cpp:1235 +#: ../src/file.cpp:721 +#: ../src/file.cpp:1118 +#: ../src/file.cpp:1235 #, c-format msgid "drawing%s" -msgstr "그림%s" +msgstr "그림 %s" #: ../src/file.cpp:727 #, c-format @@ -4251,334 +4128,311 @@ msgid "drawing-%d%s" msgstr "그림-%d%s" #: ../src/file.cpp:746 -#, fuzzy msgid "Select file to save a copy to" -msgstr "저장할 파일 선택" +msgstr "복사본을 저장하기 위하여 파일 선택" #: ../src/file.cpp:748 msgid "Select file to save to" -msgstr "저장할 파일 선택" +msgstr "저장 파일 선택" #: ../src/file.cpp:819 msgid "No changes need to be saved." -msgstr "저장할 아무 변화가 없음." +msgstr "저장된 변화가 없음." #: ../src/file.cpp:836 -#, fuzzy msgid "Saving document..." -msgstr "문서 저장" +msgstr "문서 저장..." #: ../src/file.cpp:990 -#, fuzzy msgid "Import" -msgstr "불러오기(_I)..." +msgstr "불러오기" #: ../src/file.cpp:1022 msgid "Select file to import" -msgstr "삽입할 파일 선택" +msgstr "읽어올 파일 선택" -#: ../src/file.cpp:1140 ../src/file.cpp:1250 -#, fuzzy +#: ../src/file.cpp:1140 +#: ../src/file.cpp:1250 msgid "Select file to export to" -msgstr "삽입할 파일 선택" +msgstr "내보내기 위한 파일 선택" #: ../src/file.cpp:1277 msgid "Error saving a temporary copy" -msgstr "" +msgstr "임시파일 저장 중 오류" #: ../src/file.cpp:1296 msgid "Open Clip Art Login" -msgstr "" +msgstr "Open Clip Art 로그인" #: ../src/file.cpp:1317 -msgid "" -"Error exporting the document. Verify if the server name, username and " -"password are correct, if the server has support for webdav and verify if you " -"didn't forget to choose a license." -msgstr "" +msgid "Error exporting the document. Verify if the server name, username and password are correct, if the server has support for webdav and verify if you didn't forget to choose a license." +msgstr "문서 내보내기 오류." #: ../src/file.cpp:1338 -#, fuzzy msgid "Document exported..." -msgstr "문서 되돌려짐." +msgstr "문서 내보내기..." -#: ../src/file.cpp:1366 ../src/verbs.cpp:2182 +#: ../src/file.cpp:1366 +#: ../src/verbs.cpp:2182 msgid "Import From Open Clip Art Library" -msgstr "" +msgstr "Open Clip Art에서 읽어오기" #: ../src/filter-enums.cpp:20 -#, fuzzy msgid "Blend" -msgstr "파랑" +msgstr "혼합" #: ../src/filter-enums.cpp:21 msgid "Color Matrix" -msgstr "" +msgstr "색상 행렬" #: ../src/filter-enums.cpp:22 msgid "Component Transfer" -msgstr "" +msgstr "요소 전달" #: ../src/filter-enums.cpp:23 -#, fuzzy msgid "Composite" -msgstr "조합된" +msgstr "혼합" #: ../src/filter-enums.cpp:24 msgid "Convolve Matrix" -msgstr "" +msgstr "컨볼브 행렬" #: ../src/filter-enums.cpp:25 msgid "Diffuse Lighting" -msgstr "" +msgstr "확산 광" #: ../src/filter-enums.cpp:26 msgid "Displacement Map" -msgstr "" +msgstr "치환 지도" #: ../src/filter-enums.cpp:27 msgid "Flood" -msgstr "" +msgstr "홍수" -#: ../src/filter-enums.cpp:29 ../src/selection-describer.cpp:53 +#: ../src/filter-enums.cpp:29 +#: ../src/selection-describer.cpp:53 msgid "Image" msgstr "이미지" #: ../src/filter-enums.cpp:30 -#, fuzzy msgid "Merge" -msgstr "메세지" +msgstr "병합" #: ../src/filter-enums.cpp:31 msgid "Morphology" -msgstr "" +msgstr "지형학" #: ../src/filter-enums.cpp:33 msgid "Specular Lighting" -msgstr "" +msgstr "특수 광" #: ../src/filter-enums.cpp:34 -#, fuzzy msgid "Tile" msgstr "제목" -#: ../src/filter-enums.cpp:35 ../src/filter-enums.cpp:118 -#, fuzzy +#: ../src/filter-enums.cpp:35 +#: ../src/filter-enums.cpp:118 msgid "Turbulence" -msgstr "내구력:" +msgstr "난류" #: ../src/filter-enums.cpp:40 -#, fuzzy msgid "Source Graphic" -msgstr "같은 높이" +msgstr "소스 그래픽" #: ../src/filter-enums.cpp:41 -#, fuzzy msgid "Source Alpha" -msgstr "소스" +msgstr "소스 알파" #: ../src/filter-enums.cpp:42 msgid "Background Image" -msgstr "" +msgstr "ë°°ê²½ 이미지" #: ../src/filter-enums.cpp:43 msgid "Background Alpha" -msgstr "" +msgstr "ë°°ê²½ 알파" #: ../src/filter-enums.cpp:44 -#, fuzzy msgid "Fill Paint" -msgstr "PDF 인쇄" +msgstr "채움 칠하기" #: ../src/filter-enums.cpp:45 -#, fuzzy msgid "Stroke Paint" -msgstr "볆" +msgstr "윤곽선 칠하기" #. TRANSLATORS: This is a context string, only put the word "Normal" in your translation #: ../src/filter-enums.cpp:52 msgid "filterBlendMode|Normal" -msgstr "" +msgstr "필터혼합모드|일반" #: ../src/filter-enums.cpp:53 msgid "Multiply" -msgstr "" +msgstr "곱하기" #: ../src/filter-enums.cpp:54 -#, fuzzy msgid "Screen" -msgstr "녹색" +msgstr "화면" #: ../src/filter-enums.cpp:55 -#, fuzzy msgid "Darken" -msgstr "날짜" +msgstr "어둡게" #: ../src/filter-enums.cpp:56 -#, fuzzy msgid "Lighten" -msgstr "명도" +msgstr "밝게" #: ../src/filter-enums.cpp:62 -#, fuzzy msgid "Matrix" -msgstr "마크" +msgstr "행렬" #: ../src/filter-enums.cpp:63 -#, fuzzy msgid "Saturate" msgstr "채도" #: ../src/filter-enums.cpp:64 -#, fuzzy msgid "Hue Rotate" -msgstr "회전(_R)" +msgstr "색조 회전" #: ../src/filter-enums.cpp:65 msgid "Luminance to Alpha" -msgstr "" +msgstr "명도를 알파로" #. File -#: ../src/filter-enums.cpp:71 ../src/verbs.cpp:2159 +#: ../src/filter-enums.cpp:71 +#: ../src/verbs.cpp:2159 msgid "Default" msgstr "기본" #: ../src/filter-enums.cpp:72 -#, fuzzy msgid "Over" -msgstr "미터" +msgstr "Over" #: ../src/filter-enums.cpp:73 -#, fuzzy msgid "In" msgstr "인치" #: ../src/filter-enums.cpp:74 -#, fuzzy msgid "Out" -msgstr "내보내기" +msgstr "Out" #: ../src/filter-enums.cpp:75 msgid "Atop" -msgstr "" +msgstr "꼭대기" #: ../src/filter-enums.cpp:76 msgid "XOR" -msgstr "" +msgstr "XOR" #: ../src/filter-enums.cpp:77 msgid "Arithmetic" -msgstr "" +msgstr "산술" #: ../src/filter-enums.cpp:83 -#, fuzzy msgid "Identity" -msgstr "구별자" +msgstr "구분" #: ../src/filter-enums.cpp:84 -#, fuzzy msgid "Table" -msgstr "제목" +msgstr "표" #: ../src/filter-enums.cpp:85 msgid "Discrete" -msgstr "" +msgstr "개별" #: ../src/filter-enums.cpp:86 -#, fuzzy msgid "Linear" -msgstr "선" +msgstr "선형" #: ../src/filter-enums.cpp:87 msgid "Gamma" -msgstr "" +msgstr "감마" -#: ../src/filter-enums.cpp:93 ../src/selection-chemistry.cpp:260 +#: ../src/filter-enums.cpp:93 +#: ../src/selection-chemistry.cpp:260 #: ../src/widgets/gradient-selector.cpp:134 msgid "Duplicate" -msgstr "복사" +msgstr "복제" #: ../src/filter-enums.cpp:94 msgid "Wrap" -msgstr "" +msgstr "싸기" -#: ../src/filter-enums.cpp:101 ../src/flood-context.cpp:271 +#: ../src/filter-enums.cpp:101 +#: ../src/flood-context.cpp:271 #: ../src/widgets/sp-color-icc-selector.cpp:233 #: ../src/widgets/sp-color-scales.cpp:398 #: ../src/widgets/sp-color-scales.cpp:399 msgid "Red" msgstr "빨강" -#: ../src/filter-enums.cpp:102 ../src/flood-context.cpp:272 +#: ../src/filter-enums.cpp:102 +#: ../src/flood-context.cpp:272 #: ../src/widgets/sp-color-icc-selector.cpp:233 #: ../src/widgets/sp-color-scales.cpp:401 #: ../src/widgets/sp-color-scales.cpp:402 msgid "Green" msgstr "녹색" -#: ../src/filter-enums.cpp:103 ../src/flood-context.cpp:273 +#: ../src/filter-enums.cpp:103 +#: ../src/flood-context.cpp:273 #: ../src/widgets/sp-color-icc-selector.cpp:233 #: ../src/widgets/sp-color-scales.cpp:404 #: ../src/widgets/sp-color-scales.cpp:405 msgid "Blue" msgstr "파랑" -#: ../src/filter-enums.cpp:104 ../src/flood-context.cpp:277 +#: ../src/filter-enums.cpp:104 +#: ../src/flood-context.cpp:277 msgid "Alpha" -msgstr "" +msgstr "알파" #: ../src/filter-enums.cpp:110 -#, fuzzy msgid "Erode" -msgstr "노드" +msgstr "부식" #: ../src/filter-enums.cpp:111 -#, fuzzy msgid "Dilate" -msgstr "날짜" +msgstr "팽창" #: ../src/filter-enums.cpp:117 msgid "Fractal Noise" -msgstr "" +msgstr "프랙탈 노이즈" #: ../src/filter-enums.cpp:124 -#, fuzzy msgid "Distant Light" -msgstr "출력 목적지" +msgstr "원거리 광원" #: ../src/filter-enums.cpp:125 -#, fuzzy msgid "Point Light" -msgstr "같은 높이" +msgstr "점 광원" #: ../src/filter-enums.cpp:126 -#, fuzzy msgid "Spot Light" -msgstr "같은 높이" +msgstr "스폿 광원" #: ../src/flood-context.cpp:270 -#, fuzzy msgid "Visible Colors" -msgstr "색:" +msgstr "ë³¼ 수 있는 색상" -#: ../src/flood-context.cpp:276 ../src/widgets/sp-color-icc-selector.cpp:236 +#: ../src/flood-context.cpp:276 +#: ../src/widgets/sp-color-icc-selector.cpp:236 #: ../src/widgets/sp-color-scales.cpp:430 -#: ../src/widgets/sp-color-scales.cpp:431 ../src/widgets/toolbox.cpp:3390 +#: ../src/widgets/sp-color-scales.cpp:431 +#: ../src/widgets/toolbox.cpp:3390 #: ../share/extensions/color_randomize.inx.h:3 msgid "Lightness" msgstr "명도" -#: ../src/flood-context.cpp:289 ../src/ui/dialog/inkscape-preferences.cpp:968 -#, fuzzy +#: ../src/flood-context.cpp:289 +#: ../src/ui/dialog/inkscape-preferences.cpp:968 msgid "Small" -msgstr "확대/축소(_S)" +msgstr "작게" -#: ../src/flood-context.cpp:290 ../src/ui/dialog/inkscape-preferences.cpp:968 +#: ../src/flood-context.cpp:290 +#: ../src/ui/dialog/inkscape-preferences.cpp:968 msgid "Medium" -msgstr "" +msgstr "중간" #: ../src/flood-context.cpp:291 -#, fuzzy msgid "Large" msgstr "크게" @@ -4588,241 +4442,202 @@ msgstr "" #: ../src/flood-context.cpp:531 #, c-format -msgid "" -"Area filled, path with %d node created and unioned with selection." -msgid_plural "" -"Area filled, path with %d nodes created and unioned with selection." -msgstr[0] "" -msgstr[1] "" +msgid "Area filled, path with %d node created and unioned with selection." +msgstr "구간 실패, %d 노드를 가진 경로가 선택으로 생성 및 결합." #: ../src/flood-context.cpp:535 #, c-format msgid "Area filled, path with %d node created." -msgid_plural "Area filled, path with %d nodes created." -msgstr[0] "" -msgstr[1] "" +msgstr "구간 실패, %d 노드가진 경로 생성됨." -#: ../src/flood-context.cpp:807 ../src/flood-context.cpp:1121 +#: ../src/flood-context.cpp:807 +#: ../src/flood-context.cpp:1121 msgid "Area is not bounded, cannot fill." -msgstr "" +msgstr "구간이 설정되지 않았음, 채울 수 없음." #: ../src/flood-context.cpp:1126 -msgid "" -"Only the visible part of the bounded area was filled. If you want to " -"fill all of the area, undo, zoom out, and fill again." -msgstr "" +msgid "Only the visible part of the bounded area was filled. If you want to fill all of the area, undo, zoom out, and fill again." +msgstr "경계 구간의 보이는 부분만 채움. 구간 전체를 채우려면, 취소 후 축소한 후 대시 채우기 실행." -#: ../src/flood-context.cpp:1144 ../src/flood-context.cpp:1304 +#: ../src/flood-context.cpp:1144 +#: ../src/flood-context.cpp:1304 msgid "Fill bounded area" -msgstr "" +msgstr "경계상자 채움" #: ../src/flood-context.cpp:1164 -#, fuzzy msgid "Set style on object" -msgstr "간격띄우기 유형" +msgstr "객체 스타일 설정" #: ../src/flood-context.cpp:1223 msgid "Draw over areas to add to fill, hold Alt for touch fill" -msgstr "" +msgstr "채움을 더하기 위하여 구간을 끌기, Alt: 채움에 덧칠하기" -#: ../src/gradient-context.cpp:132 ../src/gradient-drag.cpp:74 +#: ../src/gradient-context.cpp:132 +#: ../src/gradient-drag.cpp:74 msgid "Linear gradient start" -msgstr "" +msgstr "선형 그라디언트 시작" #. POINT_LG_BEGIN -#: ../src/gradient-context.cpp:133 ../src/gradient-drag.cpp:75 +#: ../src/gradient-context.cpp:133 +#: ../src/gradient-drag.cpp:75 msgid "Linear gradient end" -msgstr "" +msgstr "선형 그라디언트 끝" -#: ../src/gradient-context.cpp:134 ../src/gradient-drag.cpp:76 -#, fuzzy +#: ../src/gradient-context.cpp:134 +#: ../src/gradient-drag.cpp:76 msgid "Linear gradient mid stop" -msgstr "선택부분 지우기" +msgstr "선형 그라디언트 중간 조절점" -#: ../src/gradient-context.cpp:135 ../src/gradient-drag.cpp:77 +#: ../src/gradient-context.cpp:135 +#: ../src/gradient-drag.cpp:77 msgid "Radial gradient center" -msgstr "" +msgstr "방사 그라디언트 중앙" -#: ../src/gradient-context.cpp:136 ../src/gradient-context.cpp:137 -#: ../src/gradient-drag.cpp:78 ../src/gradient-drag.cpp:79 +#: ../src/gradient-context.cpp:136 +#: ../src/gradient-context.cpp:137 +#: ../src/gradient-drag.cpp:78 +#: ../src/gradient-drag.cpp:79 msgid "Radial gradient radius" -msgstr "" +msgstr "방사 그라디언트 반경" -#: ../src/gradient-context.cpp:138 ../src/gradient-drag.cpp:80 +#: ../src/gradient-context.cpp:138 +#: ../src/gradient-drag.cpp:80 msgid "Radial gradient focus" -msgstr "" +msgstr "방사 그라디언트 초점" #. POINT_RG_FOCUS -#: ../src/gradient-context.cpp:139 ../src/gradient-context.cpp:140 -#: ../src/gradient-drag.cpp:81 ../src/gradient-drag.cpp:82 -#, fuzzy +#: ../src/gradient-context.cpp:139 +#: ../src/gradient-context.cpp:140 +#: ../src/gradient-drag.cpp:81 +#: ../src/gradient-drag.cpp:82 msgid "Radial gradient mid stop" -msgstr "선택부분 지우기" +msgstr "방사 그라디언트 중간 조절점" #. TRANSLATORS: %s will be substituted with the point name (see previous messages); This is part of a compound message #: ../src/gradient-context.cpp:162 -#, fuzzy, c-format msgid "%s selected" -msgstr "아무것도 선택 되지 않음" +msgstr "%s 선택됨" #. TRANSLATORS: Mind the space in front. This is part of a compound message -#: ../src/gradient-context.cpp:164 ../src/gradient-context.cpp:173 -#, fuzzy, c-format -msgid " out of %d gradient handle" -msgid_plural " out of %d gradient handles" -msgstr[0] "임의의 노드 관리" -msgstr[1] "임의의 노드 관리" - #. TRANSLATORS: Mind the space in front. (Refers to gradient handles selected). This is part of a compound message -#: ../src/gradient-context.cpp:165 ../src/gradient-context.cpp:174 -#: ../src/gradient-context.cpp:181 -#, fuzzy, c-format -msgid " on %d selected object" -msgid_plural " on %d selected objects" -msgstr[0] "선택됀 객체의 복사본 만들기" -msgstr[1] "선택됀 객체의 복사본 만들기" - #. TRANSLATORS: This is a part of a compound message (out of two more indicating: grandint handle count & object count) +#: ../src/gradient-context.cpp:164 +#: ../src/gradient-context.cpp:173 +#: ../src/gradient-context.cpp:165 +#: ../src/gradient-context.cpp:174 +#: ../src/gradient-context.cpp:181 #: ../src/gradient-context.cpp:171 #, c-format -msgid "" -"One handle merging %d stop (drag with Shift to separate) selected" -msgid_plural "" -"One handle merging %d stops (drag with Shift to separate) selected" -msgstr[0] "" -msgstr[1] "" +msgid "One handle merging %d stop (drag with Shift to separate) selected" +msgstr "%d 조절점 병합하기 위한 한 개 핸들(Shift: 분리하기) 선택" #. TRANSLATORS: The plural refers to number of selected gradient handles. This is part of a compound message (part two indicates selected object count) #: ../src/gradient-context.cpp:179 -#, c-format msgid "%d gradient handle selected out of %d" -msgid_plural "%d gradient handles selected out of %d" -msgstr[0] "" -msgstr[1] "" +msgstr "선택 객체 %d 에서 선택된 그라디언트 핸들이 없음" #. TRANSLATORS: The plural refers to number of selected objects #: ../src/gradient-context.cpp:186 -#, c-format msgid "No gradient handles selected out of %d on %d selected object" -msgid_plural "" -"No gradient handles selected out of %d on %d selected objects" -msgstr[0] "" -msgstr[1] "" +msgstr "선택 객체 %d의 %d 에서 선택된 그라디언트 핸들이 없음" -#: ../src/gradient-context.cpp:385 ../src/gradient-context.cpp:478 +#: ../src/gradient-context.cpp:385 +#: ../src/gradient-context.cpp:478 #: ../src/widgets/gradient-vector.cpp:735 msgid "Add gradient stop" -msgstr "" +msgstr "그라디언트 조절점 더하기" #: ../src/gradient-context.cpp:453 -#, fuzzy msgid "Simplify gradient" -msgstr "노드 복사" +msgstr "그라디언트 단순화" #: ../src/gradient-context.cpp:529 msgid "Create default gradient" -msgstr "" +msgstr "기본 그라디언트 생성" #: ../src/gradient-context.cpp:584 msgid "Draw around handles to select them" -msgstr "" +msgstr "핸들을 선택하기 위하여 핸들 주위를 그리기" #: ../src/gradient-context.cpp:682 msgid "Ctrl: snap gradient angle" -msgstr "" +msgstr "Ctrl: 그라디언트 각도를 붙이기 위함" #: ../src/gradient-context.cpp:683 msgid "Shift: draw gradient around the starting point" -msgstr "" +msgstr "Shift: 시작점 주위 그라디언트 그리기" #: ../src/gradient-context.cpp:803 -#, fuzzy msgid "Invert gradient" -msgstr "김프 색변화(Gradients)" +msgstr "그라디언트 역으로" #: ../src/gradient-context.cpp:919 #, c-format msgid "Gradient for %d object; with Ctrl to snap angle" -msgid_plural "Gradient for %d objects; with Ctrl to snap angle" -msgstr[0] "" -msgstr[1] "" +msgstr "%d 객체 그라디언트; Ctrl: 각도 붙이기 점 조정" #: ../src/gradient-context.cpp:923 msgid "Select objects on which to create gradient." -msgstr "" +msgstr "그라디언트를 생성하기 위한 객체 선택" #: ../src/gradient-drag.cpp:573 -#, fuzzy msgid "Merge gradient handles" -msgstr "임의의 노드 관리" +msgstr "그라디언트 핸들 병합" #: ../src/gradient-drag.cpp:895 -#, fuzzy msgid "Move gradient handle" -msgstr "임의의 노드 관리" +msgstr "그라디언트 핸들 이동" -#: ../src/gradient-drag.cpp:948 ../src/widgets/gradient-vector.cpp:767 -#, fuzzy +#: ../src/gradient-drag.cpp:948 +#: ../src/widgets/gradient-vector.cpp:767 msgid "Delete gradient stop" -msgstr "선택부분 지우기" +msgstr "그라디언트 조절점 삭제" #: ../src/gradient-drag.cpp:1112 #, c-format -msgid "" -"%s %d for: %s%s; drag with Ctrl to snap offset; click with Ctrl" -"+Alt to delete stop" -msgstr "" +msgid "%s %d for: %s%s; drag with Ctrl to snap offset; click with Ctrl+Alt to delete stop" +msgstr " %s %d : %s%s; Ctrl: 옵셋 붙이기; Ctrl+Alt: 조절점 삭제" -#: ../src/gradient-drag.cpp:1116 ../src/gradient-drag.cpp:1123 +#: ../src/gradient-drag.cpp:1116 +#: ../src/gradient-drag.cpp:1123 msgid " (stroke)" -msgstr "" +msgstr "(윤곽선)" #: ../src/gradient-drag.cpp:1120 #, c-format -msgid "" -"%s for: %s%s; drag with Ctrl to snap angle, with Ctrl+Alt to " -"preserve angle, with Ctrl+Shift to scale around center" -msgstr "" +msgid "%s for: %s%s; drag with Ctrl to snap angle, with Ctrl+Alt to preserve angle, with Ctrl+Shift to scale around center" +msgstr " %s : %s%s; Ctrl: 각도를 붙이기, Ctrl+Alt: 각도 유지, Ctrl+Shift: 중앙 주변 변경" #: ../src/gradient-drag.cpp:1128 -msgid "" -"Radial gradient center and focus; drag with Shift to " -"separate focus" -msgstr "" +msgid "Radial gradient center and focus; drag with Shift to separate focus" +msgstr "방사 그라디언트 중앙과 초점; Shift 초점 분리" #: ../src/gradient-drag.cpp:1131 #, c-format -msgid "" -"Gradient point shared by %d gradient; drag with Shift to " -"separate" -msgid_plural "" -"Gradient point shared by %d gradients; drag with Shift to " -"separate" -msgstr[0] "" -msgstr[1] "" +msgid "Gradient point shared by %d gradient; drag with Shift to separate" +msgstr "%d 그라디언트에 의해 공유된 그라디언트 점; Shift: 분리하기" #: ../src/gradient-drag.cpp:1806 -#, fuzzy msgid "Move gradient handle(s)" -msgstr "임의의 노드 관리" +msgstr "그라디언트 핸들 이동" #: ../src/gradient-drag.cpp:1842 -#, fuzzy msgid "Move gradient mid stop(s)" -msgstr "선택부분 지우기" +msgstr "그라디언트 중간 조절점 이동" #: ../src/gradient-drag.cpp:2130 -#, fuzzy msgid "Delete gradient stop(s)" -msgstr "선택부분 지우기" +msgstr "그라디언트 조절점 삭제" #: ../src/helper/units.cpp:37 msgid "Unit" msgstr "단위" #. Add the units menu. -#: ../src/helper/units.cpp:37 ../src/widgets/select-toolbar.cpp:490 -#: ../src/widgets/toolbox.cpp:1280 ../src/widgets/toolbox.cpp:2457 +#: ../src/helper/units.cpp:37 +#: ../src/widgets/select-toolbar.cpp:490 +#: ../src/widgets/toolbox.cpp:1280 +#: ../src/widgets/toolbox.cpp:2457 #: ../src/widgets/toolbox.cpp:5758 msgid "Units" msgstr "단위" @@ -4831,74 +4646,79 @@ msgstr "단위" msgid "Point" msgstr "포인트" -#: ../src/helper/units.cpp:38 ../src/ui/widget/selected-style.cpp:287 +#: ../src/helper/units.cpp:38 +#: ../src/ui/widget/selected-style.cpp:287 msgid "pt" -msgstr "pt" +msgstr "포인트" -#: ../src/helper/units.cpp:38 ../share/extensions/perfectboundcover.inx.h:16 +#: ../src/helper/units.cpp:38 +#: ../share/extensions/perfectboundcover.inx.h:16 msgid "Points" msgstr "포인트" #: ../src/helper/units.cpp:38 msgid "Pt" -msgstr "Pt" +msgstr "포인트" #: ../src/helper/units.cpp:39 msgid "Pica" -msgstr "" +msgstr "피카" #: ../src/helper/units.cpp:39 msgid "pc" -msgstr "" +msgstr "피카" #: ../src/helper/units.cpp:39 -#, fuzzy msgid "Picas" -msgstr "경로" +msgstr "피카" #: ../src/helper/units.cpp:39 msgid "Pc" -msgstr "" +msgstr "피카" #: ../src/helper/units.cpp:40 msgid "Pixel" -msgstr "픽셀" +msgstr "화소" -#: ../src/helper/units.cpp:40 ../src/ui/dialog/inkscape-preferences.cpp:198 +#: ../src/helper/units.cpp:40 +#: ../src/ui/dialog/inkscape-preferences.cpp:198 #: ../src/ui/dialog/inkscape-preferences.cpp:202 #: ../src/ui/dialog/inkscape-preferences.cpp:205 #: ../src/ui/widget/selected-style.cpp:283 msgid "px" -msgstr "px" +msgstr "화소" #: ../src/helper/units.cpp:40 msgid "Pixels" -msgstr "픽셀" +msgstr "화소" #: ../src/helper/units.cpp:40 msgid "Px" -msgstr "Px" +msgstr "화소" #. You can add new elements from this point forward -#: ../src/helper/units.cpp:42 ../share/extensions/straightseg.inx.h:3 +#: ../src/helper/units.cpp:42 +#: ../share/extensions/straightseg.inx.h:3 msgid "Percent" -msgstr "퍼센트" +msgstr "백분율" -#: ../src/helper/units.cpp:42 ../src/ui/dialog/inkscape-preferences.cpp:218 +#: ../src/helper/units.cpp:42 +#: ../src/ui/dialog/inkscape-preferences.cpp:218 msgid "%" msgstr "%" #: ../src/helper/units.cpp:42 msgid "Percents" -msgstr "퍼센트" +msgstr "백분율" #: ../src/helper/units.cpp:43 msgid "Millimeter" msgstr "밀리미터" -#: ../src/helper/units.cpp:43 ../src/ui/widget/selected-style.cpp:291 +#: ../src/helper/units.cpp:43 +#: ../src/ui/widget/selected-style.cpp:291 msgid "mm" -msgstr "mm" +msgstr "밀리미터" #: ../src/helper/units.cpp:43 msgid "Millimeters" @@ -4906,15 +4726,15 @@ msgstr "밀리미터" #: ../src/helper/units.cpp:44 msgid "Centimeter" -msgstr "센치미터" +msgstr "센티미터" #: ../src/helper/units.cpp:44 msgid "cm" -msgstr "cm" +msgstr "센티미터" #: ../src/helper/units.cpp:44 msgid "Centimeters" -msgstr "센치미터" +msgstr "센티미터" #: ../src/helper/units.cpp:45 msgid "Meter" @@ -4922,7 +4742,7 @@ msgstr "미터" #: ../src/helper/units.cpp:45 msgid "m" -msgstr "m" +msgstr "미터" #: ../src/helper/units.cpp:45 msgid "Meters" @@ -4935,25 +4755,23 @@ msgstr "인치" #: ../src/helper/units.cpp:46 msgid "in" -msgstr "in" +msgstr "인치" #: ../src/helper/units.cpp:46 msgid "Inches" msgstr "인치" #: ../src/helper/units.cpp:47 -#, fuzzy msgid "Foot" -msgstr "글꼴" +msgstr "피트" #: ../src/helper/units.cpp:47 msgid "ft" -msgstr "" +msgstr "피트" #: ../src/helper/units.cpp:47 -#, fuzzy msgid "Feet" -msgstr "프리아트" +msgstr "피트" #. Volatiles do not have default, so there are none here #. TRANSLATORS: for info, see http://www.w3.org/TR/REC-CSS2/syndata.html#length-units @@ -4983,22 +4801,22 @@ msgid "Ex squares" msgstr "평방 Ex" #: ../src/inkscape.cpp:337 -#, fuzzy msgid "Autosaving documents..." -msgstr "문서 저장" +msgstr "문서 자동 저장 중..." #: ../src/inkscape.cpp:405 msgid "Autosave failed! Could not find inkscape extension to save document." -msgstr "" +msgstr "자동 저장 실패! 문서 저장하기 위하여 Inkscape 확장자 찾을 수 없습니다." -#: ../src/inkscape.cpp:408 ../src/inkscape.cpp:415 -#, fuzzy, c-format +#: ../src/inkscape.cpp:408 +#: ../src/inkscape.cpp:415 +#, c-format msgid "Autosave failed! File %s could not be saved." -msgstr "파일 %s저장 되지 않을수 있습니다." +msgstr "자동 저장 실패! 파일 %s를 저장할 수 없습니다." #: ../src/inkscape.cpp:430 msgid "Autosave complete." -msgstr "" +msgstr "자동 저장 완료." #: ../src/inkscape.cpp:653 msgid "Untitled document" @@ -5007,17 +4825,15 @@ msgstr "제목없는 문서" #. Show nice dialog box #: ../src/inkscape.cpp:682 msgid "Inkscape encountered an internal error and will close now.\n" -msgstr "잉크 스케이프에 내부 에라가 발생하여 프로그램을 닫습니다.\n" +msgstr "Inkscape 실행 중 내부 오류가 발생하여, 지금 종료합니다.\n" #: ../src/inkscape.cpp:683 -msgid "" -"Automatic backups of unsaved documents were done to the following " -"locations:\n" -msgstr "저장 하지 않은 문의의 자동 백업이 다음 위치에 보관 됩니다:\n" +msgid "Automatic backups of unsaved documents were done to the following locations:\n" +msgstr "저장안된 문서의 자동 백업이 다음 위치에서 저장됩니다:\n" #: ../src/inkscape.cpp:684 msgid "Automatic backup of the following documents failed:\n" -msgstr "다음 문서들의 자동 백업이 실폐:\n" +msgstr "다음 문서들의 자동 백업 실패:\n" #: ../src/inkscape.cpp:829 #, c-format @@ -5025,7 +4841,7 @@ msgid "" "Cannot create directory %s.\n" "%s" msgstr "" -"%s 디렉토리를 생성할수 없습니다 \n" +"%s 폴더를 생성할 수 없습니다 \n" "%s" #: ../src/inkscape.cpp:830 @@ -5034,7 +4850,7 @@ msgid "" "%s is not a valid directory.\n" "%s" msgstr "" -"%s 는 유효한 디렉토리가 아닙니다.\n" +"%s 는 유효한 폴더가 아닙니다.\n" "%s" #: ../src/inkscape.cpp:831 @@ -5043,7 +4859,7 @@ msgid "" "Cannot create file %s.\n" "%s" msgstr "" -"%s 파일을 생성할수 없습니다.\n" +"%s 파일을 생성할 수 없습니다.\n" "%s" #: ../src/inkscape.cpp:832 @@ -5060,10 +4876,11 @@ msgid "" "Although Inkscape will run, it will use default settings,\n" "and any changes made in preferences will not be saved." msgstr "" -"잉크스케이프가 기본 설정 상태로 실행 될것입니다,\n" -"그리고 설정판에 어떤 설정 변화도 저장 되지 않습니다." +"Inkscape가 실행될지라도, 기본 설정을 사용할 것입니다,\n" +"그리고 기본설정에서 어떤 설정 변화도 저장되지 않습니다." -#: ../src/inkscape.cpp:903 ../src/preferences.cpp:56 +#: ../src/inkscape.cpp:903 +#: ../src/preferences.cpp:56 #, c-format msgid "" "%s is not a regular file.\n" @@ -5072,15 +4889,17 @@ msgstr "" "%s 는 일반 파일이 아닙니다.\n" "%s" -#: ../src/inkscape.cpp:904 ../src/preferences.cpp:57 +#: ../src/inkscape.cpp:904 +#: ../src/preferences.cpp:57 #, c-format msgid "" "%s not a valid XML file, or\n" "you don't have read permissions on it.\n" "%s" msgstr "" -"%s 는 유효한 XML 파일이 아닙니다, 그리고 \n" -"%s 을 읽을 권한이 없습니다." +"%s 는 유효한 XML 파일이 아닙니다, 또는 \n" +"읽을 권한이 없습니다.\n" +"%s" #: ../src/inkscape.cpp:906 #, c-format @@ -5096,26 +4915,26 @@ msgid "" "Inkscape will run with default menus.\n" "New menus will not be saved." msgstr "" -"잉크스케이프 를 기본 메뉴와 시작.\n" -"새 메뉴는 저장되지 않음." +"Inkscape가 기본 메뉴로 시작합니다.\n" +"새 메뉴는 저장되지 않습니다." #. sp_ui_menu_append_check_item_from_verb(m, view, _("_Menu"), _("Show or hide the menu bar"), "menu", #. checkitem_toggled, checkitem_update, 0); #: ../src/interface.cpp:838 msgid "Commands Bar" -msgstr "명령 바" +msgstr "명령 막대" #: ../src/interface.cpp:838 msgid "Show or hide the Commands bar (under the menu)" -msgstr "명령바를 보이기또는 감추기 (메뉴 아래)" +msgstr "명령 막대 보이기 토글(메뉴 아래)" #: ../src/interface.cpp:840 msgid "Tool Controls Bar" -msgstr "도구 조정 바" +msgstr "도구 제어 막대" #: ../src/interface.cpp:840 msgid "Show or hide the Tool Controls bar" -msgstr "도구 조정 바를 보이기 또는 감추기" +msgstr "도구 제어 막대 보이기 토글" #: ../src/interface.cpp:842 msgid "_Toolbox" @@ -5123,153 +4942,150 @@ msgstr "도구상자(_T)" #: ../src/interface.cpp:842 msgid "Show or hide the main toolbox (on the left)" -msgstr "주 도구박스 보이기 또는 감추기(왼쪽편)" +msgstr "도구상자 보이기 토글(왼쪽)" #: ../src/interface.cpp:848 msgid "_Palette" -msgstr "팔랫트(_P)" +msgstr "팔레트(_P)" #: ../src/interface.cpp:848 msgid "Show or hide the color palette" -msgstr "색 팔래트 보이기 또는 감추기" +msgstr "색상 팔레.트 보이기 토글" #: ../src/interface.cpp:850 msgid "_Statusbar" -msgstr "상태바(_S)" +msgstr "상태 막대(_S)" #: ../src/interface.cpp:850 msgid "Show or hide the statusbar (at the bottom of the window)" -msgstr "상태바 보이기 또는 감추기 ( ì°½ 아래쪽)" +msgstr "상태 막대 보이기 토글 (ì°½ 최하단)" #: ../src/interface.cpp:904 #, c-format msgid "Verb \"%s\" Unknown" -msgstr "" +msgstr " 동사 \"%s\" 알 수 없음" #. TRANSLATORS: #%s is the id of the group e.g. , not a number. #: ../src/interface.cpp:1023 #, c-format msgid "Enter group #%s" -msgstr "그룹을 넣으세요 #%s" +msgstr "그룹 #%s 입력" #: ../src/interface.cpp:1034 msgid "Go to parent" -msgstr "부모인자로 가시오" +msgstr "상위 폴더로 이동" -#: ../src/interface.cpp:1125 ../src/interface.cpp:1210 +#: ../src/interface.cpp:1125 +#: ../src/interface.cpp:1210 #: ../src/ui/widget/selected-style.cpp:466 -#, fuzzy msgid "Drop color" -msgstr "색 복사" +msgstr "추출 색상" #: ../src/interface.cpp:1164 -#, fuzzy msgid "Drop color on gradient" -msgstr "색 복사" +msgstr "그라디언트상 색상 추출" #: ../src/interface.cpp:1223 msgid "Could not parse SVG data" -msgstr "" +msgstr "SVG 분석을 할 수 없음" #: ../src/interface.cpp:1265 msgid "Drop SVG" -msgstr "" +msgstr "DVG 추출" #: ../src/interface.cpp:1323 -#, fuzzy msgid "Drop bitmap image" -msgstr " 비트맵 불러들이기." +msgstr "비트맵 이미지 추출" #: ../src/interface.cpp:1415 #, c-format msgid "" -"A file named \"%s\" already exists. Do " -"you want to replace it?\n" +"A file named \"%s\" already exists. Do you want to replace it?\n" "\n" "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "" #: ../src/interface.cpp:1422 msgid "Replace" -msgstr "" +msgstr "치환" -#: ../src/io/sys.cpp:411 ../src/io/sys.cpp:419 +#: ../src/io/sys.cpp:411 +#: ../src/io/sys.cpp:419 #, c-format msgid "Failed to read from child pipe (%s)" -msgstr "" +msgstr "자식 파이프 (%s) 로 부터 읽는데 실패" #: ../src/io/sys.cpp:443 -#, fuzzy, c-format +#, c-format msgid "Failed to change to directory '%s' (%s)" -msgstr "" -"%s 디렉토리를 생성할수 없습니다 \n" -"%s" +msgstr "'%s' (%s) 폴더 변경 실패!" -#: ../src/io/sys.cpp:449 ../src/io/sys.cpp:675 -#, fuzzy, c-format +#: ../src/io/sys.cpp:449 +#: ../src/io/sys.cpp:675 +#, c-format msgid "Failed to execute child process (%s)" -msgstr "요청한 %s 파일을 불러 들이는데 실패" +msgstr "자식 프로세스 (%s) 실행 실패!" #: ../src/io/sys.cpp:622 #, c-format msgid "Invalid program name: %s" -msgstr "" +msgstr "부적합한 프로그램 이름: %s" -#: ../src/io/sys.cpp:632 ../src/io/sys.cpp:921 +#: ../src/io/sys.cpp:632 +#: ../src/io/sys.cpp:921 #, c-format msgid "Invalid string in argument vector at %d: %s" -msgstr "" +msgstr "%d의 인수 벡터에서 부적합한 문자열 : %s" -#: ../src/io/sys.cpp:643 ../src/io/sys.cpp:936 +#: ../src/io/sys.cpp:643 +#: ../src/io/sys.cpp:936 #, c-format msgid "Invalid string in environment: %s" -msgstr "" +msgstr "환경에서 부적합한 문자열: %s" #: ../src/io/sys.cpp:704 #, c-format msgid "Failed to create pipe for communicating with child process (%s)" -msgstr "" +msgstr "자식 프로세스 (%s)와 통신하기 위한 파이프 생성 실패" #: ../src/io/sys.cpp:917 -#, fuzzy, c-format +#, c-format msgid "Invalid working directory: %s" -msgstr "" -"%s 는 유효한 디렉토리가 아닙니다.\n" -"%s" +msgstr "부적합한 작업 폴더 : %s" #: ../src/io/sys.cpp:985 #, c-format msgid "Failed to execute helper program (%s)" -msgstr "" +msgstr "도움말 프로그램 (%s) 실행 오류!" #: ../src/jabber_whiteboard/invitation-confirm-dialog.cpp:26 #: ../src/jabber_whiteboard/session-file-selector.cpp:24 msgid "_Write session file:" -msgstr "세션 파일을 쓰시오(_W):" +msgstr "세션 파일 쓰기(_W):" #: ../src/jabber_whiteboard/pedrogui.cpp:2630 msgid "Shared SVG whiteboard tool." -msgstr "" +msgstr "공유 SVG 화이트보드 도구." #: ../src/jabber_whiteboard/pedrogui.cpp:2631 msgid "Based on the Pedro XMPP client" -msgstr "" +msgstr "Pedro XMPP 클라이언트 기반" #: ../src/jabber_whiteboard/session-file-selector.cpp:60 msgid "Select a location and filename" -msgstr "위치와 파일 이름 선택" +msgstr "위치와 파일명 선택" #: ../src/jabber_whiteboard/session-file-selector.cpp:62 msgid "Set filename" -msgstr "파일이름 설정" +msgstr "파일명 설정" #: ../src/jabber_whiteboard/session-manager.cpp:308 msgid "%1 has invited you to a whiteboard session." -msgstr "%1 가 당신을 화이트 보드 세션에 초대 했습니다." +msgstr "%1가 당신을 화이트보드 세션에 초대 했습니다." #: ../src/jabber_whiteboard/session-manager.cpp:310 msgid "Do you wish to accept %1's whiteboard session invitation?" -msgstr "" +msgstr "%1' 화이트보드 세션 초대를 허용하시겠습니까?" #: ../src/jabber_whiteboard/session-manager.cpp:314 msgid "Accept invitation" @@ -5281,271 +5097,242 @@ msgstr "초대 거절" #: ../src/jabber_whiteboard/session-manager.cpp:370 msgid "Inkboard session (%1 to %2)" -msgstr "" +msgstr "잉크보드 세션 (%1 에서 %2)" #: ../src/knot.cpp:430 msgid "Node or handle drag canceled." -msgstr "" +msgstr "노드 또는 핸들 끌끼 취소됨." #: ../src/knotholder.cpp:132 -#, fuzzy msgid "Change handle" -msgstr "사각형 찾기" +msgstr "핸들 변경" #: ../src/knotholder.cpp:207 -#, fuzzy msgid "Move handle" -msgstr "임의의 노드 관리" +msgstr "핸들 이동" #. TRANSLATORS: This refers to the pattern that's inside the object #: ../src/knotholder.cpp:228 msgid "Move the pattern fill inside the object" -msgstr "" +msgstr "객체 안쪽 패턴 채움 이동" #: ../src/knotholder.cpp:231 msgid "Scale the pattern fill uniformly" -msgstr "" +msgstr "동일하게 패턴 채움 변경" #: ../src/knotholder.cpp:234 msgid "Rotate the pattern fill; with Ctrl to snap angle" -msgstr "" +msgstr "패턴 채움 회전; Ctrl 각도 붙이기 점 조정" #: ../src/libgdl/gdl-dock-bar.c:108 -#, fuzzy msgid "Master" -msgstr "반지름" +msgstr "마스터" #: ../src/libgdl/gdl-dock-bar.c:109 msgid "GdlDockMaster object which the dockbar widget is attached to" msgstr "" #: ../src/libgdl/gdl-dock-bar.c:116 -#, fuzzy msgid "Dockbar style" -msgstr "확대/축소(_S)" +msgstr "도크막대 스타일" #: ../src/libgdl/gdl-dock-bar.c:117 msgid "Dockbar style to show items on it" -msgstr "" +msgstr "아이템을 보이기 위한 도크막대 스타일" -#: ../src/libgdl/gdl-dock.c:175 ../src/ui/dialog/inkscape-preferences.cpp:496 +#: ../src/libgdl/gdl-dock.c:175 +#: ../src/ui/dialog/inkscape-preferences.cpp:496 #: ../src/ui/dialog/inkscape-preferences.cpp:517 -#, fuzzy msgid "Floating" -msgstr " 위치: " +msgstr "유동" #: ../src/libgdl/gdl-dock.c:176 msgid "Whether the dock is floating in its own window" -msgstr "" +msgstr "자체 창에서 도크가 유동인지" -#: ../src/libgdl/gdl-dock.c:183 ../src/libgdl/gdl-dock-master.c:144 -#, fuzzy +#: ../src/libgdl/gdl-dock.c:183 +#: ../src/libgdl/gdl-dock-master.c:144 msgid "Default title" -msgstr "기본" +msgstr "기본 제목" #: ../src/libgdl/gdl-dock.c:184 msgid "Default title for the newly created floating docks" -msgstr "" +msgstr "새로이 유동 도크를 생성하기 위한 기본 제목" #: ../src/libgdl/gdl-dock.c:191 msgid "Width for the dock when it's of floating type" -msgstr "" +msgstr "유동 형태일 때 도크 폭" #: ../src/libgdl/gdl-dock.c:199 msgid "Height for the dock when it's of floating type" -msgstr "" +msgstr "유동 형태일 때 도크 높이" #: ../src/libgdl/gdl-dock.c:206 -#, fuzzy msgid "Float X" -msgstr " 위치: " +msgstr "유동 X 좌표" #: ../src/libgdl/gdl-dock.c:207 msgid "X coordinate for a floating dock" -msgstr "" +msgstr "유동 도크를 위한 X 좌표" #: ../src/libgdl/gdl-dock.c:214 -#, fuzzy msgid "Float Y" -msgstr " 위치: " +msgstr "유동 Y 좌표" #: ../src/libgdl/gdl-dock.c:215 msgid "Y coordinate for a floating dock" -msgstr "" +msgstr "유동 도크를 위한 Y 좌표" #: ../src/libgdl/gdl-dock.c:499 #, c-format msgid "Dock #%d" -msgstr "" +msgstr "도크 #%d" #: ../src/libgdl/gdl-dock-item.c:287 -#, fuzzy msgid "Orientation" -msgstr "출력 목적지" +msgstr "방향" #: ../src/libgdl/gdl-dock-item.c:288 msgid "Orientation of the docking item" -msgstr "" +msgstr "도킹 아이템의 방향" #: ../src/libgdl/gdl-dock-item.c:303 msgid "Resizable" -msgstr "" +msgstr "크기 변경가능" #: ../src/libgdl/gdl-dock-item.c:304 msgid "If set, the dock item can be resized when docked in a panel" -msgstr "" +msgstr "설정시, 패널에 도크가 되어있을 때 도크 항목 크기를 조정할 수 있음" #: ../src/libgdl/gdl-dock-item.c:311 -#, fuzzy msgid "Item behavior" -msgstr "행동" +msgstr "객체 작동" #: ../src/libgdl/gdl-dock-item.c:312 -msgid "" -"General behavior for the dock item (i.e. whether it can float, if it's " -"locked, etc.)" -msgstr "" +msgid "General behavior for the dock item (i.e. whether it can float, if it's locked, etc.)" +msgstr "도크 항목의 일반 작동" -#: ../src/libgdl/gdl-dock-item.c:320 ../src/libgdl/gdl-dock-master.c:151 -#, fuzzy +#: ../src/libgdl/gdl-dock-item.c:320 +#: ../src/libgdl/gdl-dock-master.c:151 msgid "Locked" -msgstr "잠금(_o)" +msgstr "잠금" #: ../src/libgdl/gdl-dock-item.c:321 -msgid "" -"If set, the dock item cannot be dragged around and it doesn't show a grip" -msgstr "" +msgid "If set, the dock item cannot be dragged around and it doesn't show a grip" +msgstr "설정시, 도크 항목을 주변으로 끌기할 수 없고 붙잡기가 나타나지 않음" #: ../src/libgdl/gdl-dock-item.c:329 msgid "Preferred width" -msgstr "" +msgstr "기본 폭" #: ../src/libgdl/gdl-dock-item.c:330 msgid "Preferred width for the dock item" -msgstr "" +msgstr "도크 객체를 위한 기본 폭" #: ../src/libgdl/gdl-dock-item.c:336 -#, fuzzy msgid "Preferred height" -msgstr "높이:" +msgstr "기본 높이" #: ../src/libgdl/gdl-dock-item.c:337 msgid "Preferred height for the dock item" -msgstr "" +msgstr "도크 객체를 위한 기본 높이" #: ../src/libgdl/gdl-dock-item.c:616 -#, c-format -msgid "" -"You can't add a dock object (%p of type %s) inside a %s. Use a GdlDock or " -"some other compound dock object." +#, fuzzy, c-format +msgid "You can't add a dock object (%p of type %s) inside a %s. Use a GdlDock or some other compound dock object." msgstr "" #: ../src/libgdl/gdl-dock-item.c:623 #, c-format -msgid "" -"Attempting to add a widget with type %s to a %s, but it can only contain one " -"widget at a time; it already contains a widget of type %s" -msgstr "" +msgid "Attempting to add a widget with type %s to a %s, but it can only contain one widget at a time; it already contains a widget of type %s" +msgstr "위젯 %s 형태를 %s 로 더하기 시도,; %s 형태 위젯를 가지고 있음" -#: ../src/libgdl/gdl-dock-item.c:1345 ../src/libgdl/gdl-dock-item.c:1390 +#: ../src/libgdl/gdl-dock-item.c:1345 +#: ../src/libgdl/gdl-dock-item.c:1390 #, c-format msgid "Unsupported docking strategy %s in dock object of type %s" msgstr "" #. UnLock menuitem #: ../src/libgdl/gdl-dock-item.c:1479 -#, fuzzy msgid "UnLock" -msgstr "잠금(_o)" +msgstr "잠금 해제" #. Hide menuitem. #: ../src/libgdl/gdl-dock-item.c:1486 -#, fuzzy msgid "Hide" -msgstr "숨기기(_H)" +msgstr "숨기기" #. Lock menuitem #: ../src/libgdl/gdl-dock-item.c:1491 -#, fuzzy msgid "Lock" -msgstr "잠금(_o)" +msgstr "잠금" #: ../src/libgdl/gdl-dock-item.c:1717 #, c-format msgid "Attempt to bind an unbound item %p" -msgstr "" +msgstr "해제된 항목 %p 를 고정 시도" #: ../src/libgdl/gdl-dock-item-grip.c:395 msgid "Iconify" -msgstr "" +msgstr "아이콘화" #: ../src/libgdl/gdl-dock-item-grip.c:395 msgid "Iconify this dock" -msgstr "" +msgstr "이 도크를 아이콘화" #: ../src/libgdl/gdl-dock-item-grip.c:397 -#, fuzzy msgid "Close" -msgstr "닫기(_C)" +msgstr "닫기" #: ../src/libgdl/gdl-dock-item-grip.c:397 -#, fuzzy msgid "Close this dock" -msgstr "이 문서창을 닫기" +msgstr "이 도크를 닫기" #: ../src/libgdl/gdl-dock-item-grip.c:706 #: ../src/libgdl/gdl-dock-tablabel.c:128 msgid "Controlling dock item" -msgstr "" +msgstr "도크 객체 제어 중" #: ../src/libgdl/gdl-dock-item-grip.c:707 msgid "Dockitem which 'owns' this grip" -msgstr "" +msgstr "붙잡기를 가진 도크 항목" #: ../src/libgdl/gdl-dock-master.c:145 msgid "Default title for newly created floating docks" -msgstr "" +msgstr "유동 도크에 의해 새로이 생성된 기본 제목" #: ../src/libgdl/gdl-dock-master.c:152 -msgid "" -"If is set to 1, all the dock items bound to the master are locked; if it's " -"0, all are unlocked; -1 indicates inconsistency among the items" -msgstr "" +msgid "If is set to 1, all the dock items bound to the master are locked; if it's 0, all are unlocked; -1 indicates inconsistency among the items" +msgstr "설정을 1일 때, 도크 항목이 잠김; 0이라면 전체 잠김 해제, -1은 불일치를 나타냄" -#: ../src/libgdl/gdl-dock-master.c:160 ../src/libgdl/gdl-switcher.c:707 -#, fuzzy +#: ../src/libgdl/gdl-dock-master.c:160 +#: ../src/libgdl/gdl-switcher.c:707 msgid "Switcher Style" -msgstr "불이기 종류(_S)" +msgstr "스위처 스타일" -#: ../src/libgdl/gdl-dock-master.c:161 ../src/libgdl/gdl-switcher.c:708 -#, fuzzy +#: ../src/libgdl/gdl-dock-master.c:161 +#: ../src/libgdl/gdl-switcher.c:708 msgid "Switcher buttons style" -msgstr "이름바뀐 레이어" +msgstr "스위처 단추 스타일" #: ../src/libgdl/gdl-dock-master.c:168 -#, fuzzy msgid "Expand direction" -msgstr "줄 간격:" +msgstr "확장 방향" #: ../src/libgdl/gdl-dock-master.c:169 -msgid "" -"Allow the master's dock items to expand their container dock objects in the " -"given direction" -msgstr "" +msgid "Allow the master's dock items to expand their container dock objects in the given direction" +msgstr "마스터 도크 항목이 지정 방향으로 도크 객체를 확장하는 것을 허용." #: ../src/libgdl/gdl-dock-master.c:796 #, c-format -msgid "" -"master %p: unable to add object %p[%s] to the hash. There already is an " -"item with that name (%p)." -msgstr "" +msgid "master %p: unable to add object %p[%s] to the hash. There already is an item with that name (%p)." +msgstr "마스터 %p: 객체 %p[%s] 해시로 더할 수 없음. (%p) 이름 항목이 벌써 있음." #: ../src/libgdl/gdl-dock-master.c:969 #, c-format -msgid "" -"The new dock controller %p is automatic. Only manual dock objects should be " -"named controller." -msgstr "" +msgid "The new dock controller %p is automatic. Only manual dock objects should be named controller." +msgstr "새 도크 제어자 %p가 자동임." #: ../src/libgdl/gdl-dock-notebook.c:134 #: ../src/ui/dialog/align-and-distribute.cpp:903 @@ -5553,69 +5340,61 @@ msgstr "" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1364 #: ../src/widgets/desktop-widget.cpp:1544 msgid "Page" -msgstr "" +msgstr "페이지" #: ../src/libgdl/gdl-dock-notebook.c:135 -#, fuzzy msgid "The index of the current page" -msgstr "현재 레이어에서 만 찾기" +msgstr "현재 페이지의 인덱스" -#: ../src/libgdl/gdl-dock-object.c:120 ../src/ui/widget/page-sizer.cpp:198 -#, fuzzy +#: ../src/libgdl/gdl-dock-object.c:120 +#: ../src/ui/widget/page-sizer.cpp:198 msgid "Name" -msgstr "이름:" +msgstr "이름" #: ../src/libgdl/gdl-dock-object.c:121 msgid "Unique name for identifying the dock object" -msgstr "" +msgstr "도크 객체를 인식하기 위한 유일한 이름" #: ../src/libgdl/gdl-dock-object.c:128 -#, fuzzy msgid "Long name" -msgstr "레이어 이름:" +msgstr "긴 이름" #: ../src/libgdl/gdl-dock-object.c:129 -#, fuzzy msgid "Human readable name for the dock object" -msgstr "객체를 위한 자유 형식의 래밸" +msgstr "도크 객체를 위한 읽을 수 있는 이름" #: ../src/libgdl/gdl-dock-object.c:135 msgid "Stock Icon" -msgstr "" +msgstr "Icon 모음" #: ../src/libgdl/gdl-dock-object.c:136 msgid "Stock icon for the dock object" -msgstr "" +msgstr "도크 객체를 위한 Icon 모음" #: ../src/libgdl/gdl-dock-object.c:142 msgid "Pixbuf Icon" -msgstr "" +msgstr "Pixbuf 아이콘" #: ../src/libgdl/gdl-dock-object.c:143 msgid "Pixbuf icon for the dock object" -msgstr "" +msgstr "도크 객체의 Pixbuf 아이콘" #: ../src/libgdl/gdl-dock-object.c:148 -#, fuzzy msgid "Dock master" -msgstr "노드를 아래도" +msgstr "도크 마스터" #: ../src/libgdl/gdl-dock-object.c:149 msgid "Dock master this dock object is bound to" -msgstr "" +msgstr "이 도크 객체에서 보이는 도크 마스터" #: ../src/libgdl/gdl-dock-object.c:434 #, c-format -msgid "" -"Call to gdl_dock_object_dock in a dock object %p (object type is %s) which " -"hasn't implemented this method" +msgid "Call to gdl_dock_object_dock in a dock object %p (object type is %s) which hasn't implemented this method" msgstr "" #: ../src/libgdl/gdl-dock-object.c:563 #, c-format -msgid "" -"Dock operation requested in a non-bound object %p. The application might " -"crash" +msgid "Dock operation requested in a non-bound object %p. The application might crash" msgstr "" #: ../src/libgdl/gdl-dock-object.c:570 @@ -5625,86 +5404,76 @@ msgstr "" #: ../src/libgdl/gdl-dock-object.c:612 #, c-format -msgid "" -"Attempt to bind to %p an already bound dock object %p (current master: %p)" +msgid "Attempt to bind to %p an already bound dock object %p (current master: %p)" msgstr "" #: ../src/libgdl/gdl-dock-paned.c:132 -#, fuzzy msgid "Position" -msgstr "위치:" +msgstr "위치" #: ../src/libgdl/gdl-dock-paned.c:133 msgid "Position of the divider in pixels" -msgstr "" +msgstr "나눔자 화소 위치" #: ../src/libgdl/gdl-dock-placeholder.c:143 msgid "Sticky" -msgstr "" +msgstr "스티키" #: ../src/libgdl/gdl-dock-placeholder.c:144 -msgid "" -"Whether the placeholder will stick to its host or move up the hierarchy when " -"the host is redocked" +msgid "Whether the placeholder will stick to its host or move up the hierarchy when the host is redocked" msgstr "" #: ../src/libgdl/gdl-dock-placeholder.c:151 msgid "Host" -msgstr "" +msgstr "호스트" #: ../src/libgdl/gdl-dock-placeholder.c:152 msgid "The dock object this placeholder is attached to" msgstr "" #: ../src/libgdl/gdl-dock-placeholder.c:159 -#, fuzzy msgid "Next placement" -msgstr "새로운 요소 노드" +msgstr "다음 위치" #: ../src/libgdl/gdl-dock-placeholder.c:160 -msgid "" -"The position an item will be docked to our host if a request is made to dock " -"to us" -msgstr "" +msgid "The position an item will be docked to our host if a request is made to dock to us" +msgstr "항목이 도킹할 위치" #: ../src/libgdl/gdl-dock-placeholder.c:170 msgid "Width for the widget when it's attached to the placeholder" -msgstr "" +msgstr "위젯의 폭" #: ../src/libgdl/gdl-dock-placeholder.c:178 msgid "Height for the widget when it's attached to the placeholder" -msgstr "" +msgstr "위젯의 높이" #: ../src/libgdl/gdl-dock-placeholder.c:184 -#, fuzzy msgid "Floating Toplevel" -msgstr " 위치: " +msgstr "유동 최상위 레벨" #: ../src/libgdl/gdl-dock-placeholder.c:185 msgid "Whether the placeholder is standing in for a floating toplevel dock" msgstr "" #: ../src/libgdl/gdl-dock-placeholder.c:191 -#, fuzzy msgid "X-Coordinate" -msgstr "복사 객체" +msgstr "X 좌표" #: ../src/libgdl/gdl-dock-placeholder.c:192 msgid "X coordinate for dock when floating" -msgstr "" +msgstr "유동시 도크의 X 좌표" #: ../src/libgdl/gdl-dock-placeholder.c:198 -#, fuzzy msgid "Y-Coordinate" -msgstr "복사 객체" +msgstr "Y 좌표" #: ../src/libgdl/gdl-dock-placeholder.c:199 msgid "Y coordinate for dock when floating" -msgstr "" +msgstr "유동시 도크의 Y 좌표" #: ../src/libgdl/gdl-dock-placeholder.c:494 msgid "Attempt to dock a dock object to an unbound placeholder" -msgstr "" +msgstr "도크 객체를 무제한 묶음자를 도크하기 위한 시도" #: ../src/libgdl/gdl-dock-placeholder.c:618 #, c-format @@ -5713,9 +5482,7 @@ msgstr "" #: ../src/libgdl/gdl-dock-placeholder.c:643 #, c-format -msgid "" -"Something weird happened while getting the child placement for %p from " -"parent %p" +msgid "Something weird happened while getting the child placement for %p from parent %p" msgstr "" #: ../src/libgdl/gdl-dock-tablabel.c:129 @@ -5728,104 +5495,89 @@ msgstr "" #. {constant defined in effect.h, N_("name of your effect"), "name of your effect in SVG"} #: ../src/live_effects/effect.cpp:68 -#, fuzzy msgid "Bend" -msgstr "파랑" +msgstr "구부러짐" #: ../src/live_effects/effect.cpp:69 -#, fuzzy msgid "Pattern Along Path" -msgstr "간격띄우기 유형" +msgstr "경로 따르는 패턴" #. for historic reasons, this effect is called skeletal(strokes) in Inkscape:SVG #: ../src/live_effects/effect.cpp:70 -#, fuzzy msgid "Sketch" -msgstr "설정" +msgstr "스케치" #: ../src/live_effects/effect.cpp:71 msgid "VonKoch" -msgstr "" +msgstr "반고호" #: ../src/live_effects/effect.cpp:72 msgid "Knot" -msgstr "" +msgstr "매듭" #: ../src/live_effects/effect.cpp:74 msgid "doEffect stack test" -msgstr "" +msgstr "doEffect 스택 테스트" #: ../src/live_effects/effect.cpp:76 -#, fuzzy msgid "Gears" -msgstr "청소(_C)" +msgstr "톱니" #: ../src/live_effects/effect.cpp:77 msgid "Stitch Sub-Paths" -msgstr "" +msgstr "하위 경로 스티치" #: ../src/live_effects/effect.cpp:78 msgid "Circle (center+radius)" -msgstr "" +msgstr "원(중앙+반경)" #: ../src/live_effects/effect.cpp:79 -#, fuzzy msgid "Perspective path" -msgstr "선택" +msgstr "원근 경로" #: ../src/live_effects/effect.cpp:80 msgid "Spiro spline" -msgstr "" +msgstr "나선 스프라인" #: ../src/live_effects/effect.cpp:81 -#, fuzzy msgid "Lattice Deformation" -msgstr "정보" +msgstr "격자 변형" #: ../src/live_effects/effect.cpp:82 -#, fuzzy msgid "Envelope Deformation" -msgstr "정보" +msgstr "봉투 변형" #: ../src/live_effects/effect.cpp:83 -#, fuzzy msgid "Construct grid" -msgstr "기증자" +msgstr "컨스트럭트 격자" #: ../src/live_effects/effect.cpp:84 msgid "Perpendicular bisector" -msgstr "" +msgstr "수직 이등분선" #: ../src/live_effects/effect.cpp:85 -#, fuzzy msgid "Tangent to curve" -msgstr "수직 띄기" +msgstr "탄젠트(접선)를 곡선으로" #: ../src/live_effects/effect.cpp:86 -#, fuzzy msgid "Mirror reflection" -msgstr "PM: 반사" +msgstr "반영 반사" #: ../src/live_effects/effect.cpp:178 -#, fuzzy msgid "Create and apply path effect" -msgstr "떨어진(offset) 객체 찾지" +msgstr "경로 효과 생성 및 적용" #: ../src/live_effects/effect.cpp:189 -#, fuzzy msgid "Is visible?" -msgstr "색:" +msgstr "ë³¼ 수 있습니까?" #: ../src/live_effects/effect.cpp:189 -msgid "" -"If unchecked, the effect remains applied to the object but is temporarily " -"disabled on canvas" -msgstr "" +msgid "If unchecked, the effect remains applied to the object but is temporarily disabled on canvas" +msgstr "체크가 안될 경우, 효과가 객체에 적용 그러나 일시적으로 캔버스상에서 불가능." #: ../src/live_effects/effect.cpp:207 -#, fuzzy msgid "No effect" -msgstr "수평 띄기" +msgstr "효과 없음" #: ../src/live_effects/effect.cpp:254 #, c-format @@ -5837,173 +5589,149 @@ msgid "An exception occurred during execution of the Path Effect." msgstr "" #: ../src/live_effects/effect.cpp:512 -#, fuzzy, c-format msgid "Editing parameter %s." -msgstr "사각형" +msgstr "인자 편집 중 %s." #: ../src/live_effects/effect.cpp:517 msgid "None of the applied path effect's parameters can be edited on-canvas." msgstr "" #: ../src/live_effects/lpe-bendpath.cpp:57 -#, fuzzy msgid "Bend path" -msgstr "곡선" +msgstr "경로 굽히기" #: ../src/live_effects/lpe-bendpath.cpp:57 msgid "Path along which to bend the original path" -msgstr "" +msgstr "원래 경로 굽힌 것을 따르는 경로" #: ../src/live_effects/lpe-bendpath.cpp:58 -#, fuzzy msgid "Width of the path" -msgstr "점선 유형" +msgstr "경로 폭" #: ../src/live_effects/lpe-bendpath.cpp:59 #: ../src/live_effects/lpe-patternalongpath.cpp:65 msgid "Width in units of length" -msgstr "" +msgstr "길이 단위에서 폭" #: ../src/live_effects/lpe-bendpath.cpp:59 msgid "Scale the width of the path in units of its length" -msgstr "" +msgstr "길이 단위에서 경로 폭 변경" #: ../src/live_effects/lpe-bendpath.cpp:60 -#, fuzzy msgid "Original path is vertical" -msgstr "간격띄우기 유형" +msgstr "원려 경로가 수직" #: ../src/live_effects/lpe-bendpath.cpp:60 msgid "Rotates the original 90 degrees, before bending it along the bend path" -msgstr "" +msgstr "90도 회전" #: ../src/live_effects/lpe-constructgrid.cpp:28 -#, fuzzy msgid "Size X" -msgstr "크기" +msgstr "X 크기" #: ../src/live_effects/lpe-constructgrid.cpp:28 msgid "The size of the grid in X direction." -msgstr "" +msgstr "X 방향 격자 크기" #: ../src/live_effects/lpe-constructgrid.cpp:29 -#, fuzzy msgid "Size Y" -msgstr "크기" +msgstr "Y 크기" #: ../src/live_effects/lpe-constructgrid.cpp:29 msgid "The size of the grid in Y direction." -msgstr "" +msgstr "Y 방향 격자 크기" #: ../src/live_effects/lpe-curvestitch.cpp:42 -#, fuzzy msgid "Stitch path" -msgstr "볆" +msgstr "제본철 경로" #: ../src/live_effects/lpe-curvestitch.cpp:42 msgid "The path that will be used as stitch." -msgstr "" +msgstr "제본철로 사용될 경로" #: ../src/live_effects/lpe-curvestitch.cpp:43 -#, fuzzy msgid "Number of paths" -msgstr "줄 숫자:" +msgstr "경로 수" #: ../src/live_effects/lpe-curvestitch.cpp:43 msgid "The number of paths that will be generated." -msgstr "" +msgstr "생성시킬 경로 갯수" #: ../src/live_effects/lpe-curvestitch.cpp:44 msgid "Start edge variance" -msgstr "" +msgstr "시작 모서리 변이" #: ../src/live_effects/lpe-curvestitch.cpp:44 -msgid "" -"The amount of random jitter to move the start points of the stitches inside " -"& outside the guide path" +msgid "The amount of random jitter to move the start points of the stitches inside & outside the guide path" msgstr "" #: ../src/live_effects/lpe-curvestitch.cpp:45 -#, fuzzy msgid "Start spacing variance" -msgstr "채도" +msgstr "시작 간격 변이" #: ../src/live_effects/lpe-curvestitch.cpp:45 -msgid "" -"The amount of random shifting to move the start points of the stitches back " -"& forth along the guide path" +msgid "The amount of random shifting to move the start points of the stitches back & forth along the guide path" msgstr "" #: ../src/live_effects/lpe-curvestitch.cpp:46 msgid "End edge variance" -msgstr "" +msgstr "끝 모서리 변이" #: ../src/live_effects/lpe-curvestitch.cpp:46 -msgid "" -"The amount of randomness that moves the end points of the stitches inside & " -"outside the guide path" +msgid "The amount of randomness that moves the end points of the stitches inside & outside the guide path" msgstr "" #: ../src/live_effects/lpe-curvestitch.cpp:47 -#, fuzzy msgid "End spacing variance" -msgstr "채도" +msgstr "끝 간격 변이" #: ../src/live_effects/lpe-curvestitch.cpp:47 -msgid "" -"The amount of random shifting to move the end points of the stitches back & " -"forth along the guide path" +msgid "The amount of random shifting to move the end points of the stitches back & forth along the guide path" msgstr "" #: ../src/live_effects/lpe-curvestitch.cpp:48 -#, fuzzy msgid "Scale width" -msgstr "소스" +msgstr "폭 변경" #: ../src/live_effects/lpe-curvestitch.cpp:48 -#, fuzzy msgid "Scale the width of the stitch path" -msgstr "점선 유형" +msgstr "스티치 경로 폭을 변경" #: ../src/live_effects/lpe-curvestitch.cpp:49 msgid "Scale width relative to length" -msgstr "" +msgstr "길이와 관계된 폭 변경" #: ../src/live_effects/lpe-curvestitch.cpp:49 msgid "Scale the width of the stitch path relative to its length" msgstr "" #: ../src/live_effects/lpe-envelope.cpp:36 -#, fuzzy msgid "Top bend path" -msgstr "곡선" +msgstr "최상단 굽힘 경로" #: ../src/live_effects/lpe-envelope.cpp:36 msgid "Top path along which to bend the original path" msgstr "" #: ../src/live_effects/lpe-envelope.cpp:37 -#, fuzzy msgid "Right bend path" -msgstr "곡선" +msgstr "오른쪽 굽힘 경로" #: ../src/live_effects/lpe-envelope.cpp:37 msgid "Right path along which to bend the original path" msgstr "" #: ../src/live_effects/lpe-envelope.cpp:38 -#, fuzzy msgid "Bottom bend path" -msgstr "곡선" +msgstr "최하단 굽힘 경로" #: ../src/live_effects/lpe-envelope.cpp:38 msgid "Bottom path along which to bend the original path" msgstr "" #: ../src/live_effects/lpe-envelope.cpp:39 -#, fuzzy msgid "Left bend path" -msgstr "곡선" +msgstr "왼쪽 굽힘 경로" #: ../src/live_effects/lpe-envelope.cpp:39 msgid "Left path along which to bend the original path" @@ -6011,56 +5739,49 @@ msgstr "" #: ../src/live_effects/lpe-envelope.cpp:40 msgid "Enable left & right paths" -msgstr "" +msgstr "왼쪽 & 오른쪽 경로 가능" #: ../src/live_effects/lpe-envelope.cpp:40 msgid "Enable the left and right deformation paths" msgstr "" #: ../src/live_effects/lpe-envelope.cpp:41 -#, fuzzy msgid "Enable top & bottom paths" -msgstr "노드 올리기" +msgstr "최상단 & 최하단 경로 가능" #: ../src/live_effects/lpe-envelope.cpp:41 msgid "Enable the top and bottom deformation paths" msgstr "" #: ../src/live_effects/lpe-gears.cpp:212 -#, fuzzy msgid "Teeth" -msgstr "텍스트" +msgstr "톱니" #: ../src/live_effects/lpe-gears.cpp:212 -#, fuzzy msgid "The number of teeth" -msgstr "단계 숫자" +msgstr "톱니 수" #: ../src/live_effects/lpe-gears.cpp:213 msgid "Phi" -msgstr "" +msgstr "파이" #: ../src/live_effects/lpe-gears.cpp:213 -msgid "" -"Tooth pressure angle (typically 20-25 deg). The ratio of teeth not in " -"contact." -msgstr "" +msgid "Tooth pressure angle (typically 20-25 deg). The ratio of teeth not in contact." +msgstr "톱니 압력 각도 (전형적으로 20-25도)" #. initialise your parameters here: #: ../src/live_effects/lpe-knot.cpp:27 -#, fuzzy msgid "Gap width" -msgstr "폭을 같게" +msgstr "간격 폭" #: ../src/live_effects/lpe-knot.cpp:27 msgid "The width of the gap in the path where it self-intersects" -msgstr "" +msgstr "나누는 경로의 간격 폭" #. initialise your parameters here: #: ../src/live_effects/lpe-lattice.cpp:45 -#, fuzzy msgid "Control handle 0" -msgstr "임의의 노드 관리" +msgstr "핸들0 제어" #: ../src/live_effects/lpe-lattice.cpp:45 #: ../src/live_effects/lpe-lattice.cpp:46 @@ -6079,570 +5800,501 @@ msgstr "임의의 노드 관리" #: ../src/live_effects/lpe-lattice.cpp:59 #: ../src/live_effects/lpe-lattice.cpp:60 msgid "Tadah" -msgstr "" +msgstr "Tadah" #: ../src/live_effects/lpe-lattice.cpp:46 -#, fuzzy msgid "Control handle 1" -msgstr "임의의 노드 관리" +msgstr "핸들1 제어" #: ../src/live_effects/lpe-lattice.cpp:47 -#, fuzzy msgid "Control handle 2" -msgstr "임의의 노드 관리" +msgstr "핸들2 제어" #: ../src/live_effects/lpe-lattice.cpp:48 -#, fuzzy msgid "Control handle 3" -msgstr "임의의 노드 관리" +msgstr "핸들3 제어" #: ../src/live_effects/lpe-lattice.cpp:49 -#, fuzzy msgid "Control handle 4" -msgstr "임의의 노드 관리" +msgstr "핸들4 제어" #: ../src/live_effects/lpe-lattice.cpp:50 -#, fuzzy msgid "Control handle 5" -msgstr "임의의 노드 관리" +msgstr "핸들5 제어" #: ../src/live_effects/lpe-lattice.cpp:51 -#, fuzzy msgid "Control handle 6" -msgstr "임의의 노드 관리" +msgstr "핸들6 제어" #: ../src/live_effects/lpe-lattice.cpp:52 -#, fuzzy msgid "Control handle 7" -msgstr "임의의 노드 관리" +msgstr "핸들7 제어" #: ../src/live_effects/lpe-lattice.cpp:53 -#, fuzzy msgid "Control handle 8" -msgstr "임의의 노드 관리" +msgstr "핸들8 제어" #: ../src/live_effects/lpe-lattice.cpp:54 -#, fuzzy msgid "Control handle 9" -msgstr "임의의 노드 관리" +msgstr "핸들9 제어" #: ../src/live_effects/lpe-lattice.cpp:55 -#, fuzzy msgid "Control handle 10" -msgstr "임의의 노드 관리" +msgstr "핸들10 제어" #: ../src/live_effects/lpe-lattice.cpp:56 -#, fuzzy msgid "Control handle 11" -msgstr "임의의 노드 관리" +msgstr "핸들11 제어" #: ../src/live_effects/lpe-lattice.cpp:57 -#, fuzzy msgid "Control handle 12" -msgstr "임의의 노드 관리" +msgstr "핸들12 제어" #: ../src/live_effects/lpe-lattice.cpp:58 -#, fuzzy msgid "Control handle 13" -msgstr "임의의 노드 관리" +msgstr "핸들13 제어" #: ../src/live_effects/lpe-lattice.cpp:59 -#, fuzzy msgid "Control handle 14" -msgstr "임의의 노드 관리" +msgstr "핸들14 제어" #: ../src/live_effects/lpe-lattice.cpp:60 -#, fuzzy msgid "Control handle 15" -msgstr "임의의 노드 관리" +msgstr "핸들15 제어" #: ../src/live_effects/lpe-mirror_reflect.cpp:30 -#, fuzzy msgid "Reflection line" -msgstr "선택" +msgstr "반사 선" #: ../src/live_effects/lpe-mirror_reflect.cpp:30 msgid "Line which serves as 'mirror' for the reflection" -msgstr "" +msgstr "반사 거울로서 사용되는 선" #: ../src/live_effects/lpe-patternalongpath.cpp:53 #: ../share/extensions/pathalongpath.inx.h:11 -#, fuzzy msgid "Single" -msgstr "각도" +msgstr "단일" #: ../src/live_effects/lpe-patternalongpath.cpp:54 #: ../share/extensions/pathalongpath.inx.h:12 msgid "Single, stretched" -msgstr "" +msgstr "단일,확장" #: ../src/live_effects/lpe-patternalongpath.cpp:55 #: ../share/extensions/pathalongpath.inx.h:8 -#, fuzzy msgid "Repeated" -msgstr "반복:" +msgstr "반복" #: ../src/live_effects/lpe-patternalongpath.cpp:56 #: ../share/extensions/pathalongpath.inx.h:9 msgid "Repeated, stretched" -msgstr "" +msgstr "반복,확장" #: ../src/live_effects/lpe-patternalongpath.cpp:62 -#, fuzzy msgid "Pattern source" -msgstr "반복무늬" +msgstr "패턴 소스" #: ../src/live_effects/lpe-patternalongpath.cpp:62 msgid "Path to put along the skeleton path" -msgstr "" +msgstr "윤곽 경로에 따라 놓기 위한 경로" #: ../src/live_effects/lpe-patternalongpath.cpp:63 -#, fuzzy msgid "Pattern copies" -msgstr "반복무늬" +msgstr "패턴 복사" #: ../src/live_effects/lpe-patternalongpath.cpp:63 msgid "How many pattern copies to place along the skeleton path" -msgstr "" +msgstr "윤곽 경로에 따라 놓기 위한 얼마나 많은 패턴을 복사하는가" #: ../src/live_effects/lpe-patternalongpath.cpp:64 -#, fuzzy msgid "Width of the pattern" -msgstr "점선 유형" +msgstr "패턴 폭" #: ../src/live_effects/lpe-patternalongpath.cpp:65 msgid "Scale the width of the pattern in units of its length" -msgstr "" +msgstr "길이 단위에서 패턴 폭 변경" #: ../src/live_effects/lpe-patternalongpath.cpp:66 -#, fuzzy msgid "Spacing" -msgstr "간격:" +msgstr "간격" #: ../src/live_effects/lpe-patternalongpath.cpp:66 #, c-format -msgid "" -"Space between copies of the pattern. Negative values allowed, but are " -"limited to -90% of pattern width." +msgid "Space between copies of the pattern. Negative values allowed, but are limited to -90% of pattern width." msgstr "" #: ../src/live_effects/lpe-patternalongpath.cpp:67 #: ../share/extensions/pathalongpath.inx.h:5 #: ../share/extensions/pathscatter.inx.h:7 -#, fuzzy msgid "Normal offset" -msgstr "수평 띄기" +msgstr "일반 옵셋" #: ../src/live_effects/lpe-patternalongpath.cpp:68 #: ../share/extensions/pathalongpath.inx.h:15 #: ../share/extensions/pathscatter.inx.h:13 -#, fuzzy msgid "Tangential offset" -msgstr "수직 띄기" +msgstr "접선 옵셋" #: ../src/live_effects/lpe-patternalongpath.cpp:69 -#, fuzzy msgid "Offsets in unit of pattern size" -msgstr "점선 유형" +msgstr "패턴 크기 단위에서 옵셋" #: ../src/live_effects/lpe-patternalongpath.cpp:69 -msgid "" -"Spacing, tangential and normal offset are expressed as a ratio of width/" -"height" -msgstr "" +msgid "Spacing, tangential and normal offset are expressed as a ratio of width/height" +msgstr "간격, 접선과 일반 옵셋은 폭/높이 비로 표시" #: ../src/live_effects/lpe-patternalongpath.cpp:70 #: ../share/extensions/pathalongpath.inx.h:7 #: ../share/extensions/pathscatter.inx.h:9 -#, fuzzy msgid "Pattern is vertical" -msgstr "간격띄우기 유형" +msgstr "패턴이 수직임" #: ../src/live_effects/lpe-patternalongpath.cpp:70 msgid "Rotate pattern 90 deg before applying" -msgstr "" +msgstr "적용 전 패턴 90도 회전" #: ../src/live_effects/lpe-perp_bisector.cpp:156 #: ../src/live_effects/lpe-tangent_to_curve.cpp:65 msgid "Length left" -msgstr "" +msgstr "길이 왼쪽" #: ../src/live_effects/lpe-perp_bisector.cpp:156 msgid "Specifies the left end of the bisector" -msgstr "" +msgstr "이등분선 왼쪽 끝 지정" #: ../src/live_effects/lpe-perp_bisector.cpp:157 #: ../src/live_effects/lpe-tangent_to_curve.cpp:66 -#, fuzzy msgid "Length right" -msgstr "출력 목적지" +msgstr "오른쪽 길이" #: ../src/live_effects/lpe-perp_bisector.cpp:157 -#, fuzzy msgid "Specifies the right end of the bisector" -msgstr "색의 밝기를 선택하세요" +msgstr "이등분선의 오른쪽 끝 지정" #: ../src/live_effects/lpe-perp_bisector.cpp:164 -#, fuzzy msgid "Lala" -msgstr "_Label" +msgstr "Lala" #: ../src/live_effects/lpe-perp_bisector.cpp:165 -#, fuzzy msgid "Lolo" -msgstr "색" +msgstr "Lolo" #. initialise your parameters here: #: ../src/live_effects/lpe-perspective_path.cpp:42 -#, fuzzy msgid "Scale x" -msgstr "확대/축소(_S)" +msgstr "비율 X" #: ../src/live_effects/lpe-perspective_path.cpp:42 msgid "Scale factor in x direction" -msgstr "" +msgstr "X 방향 비율 요소" #: ../src/live_effects/lpe-perspective_path.cpp:43 -#, fuzzy msgid "Scale y" -msgstr "확대/축소(_S)" +msgstr "비율 Y" #: ../src/live_effects/lpe-perspective_path.cpp:43 msgid "Scale factor in y direction" -msgstr "" +msgstr "Y 방향 비율 요소" #: ../src/live_effects/lpe-perspective_path.cpp:44 -#, fuzzy msgid "Offset x" -msgstr "옵셋" +msgstr "옵셋 X" #: ../src/live_effects/lpe-perspective_path.cpp:44 msgid "Offset in x direction" -msgstr "" +msgstr "X 방향 옵셋" #: ../src/live_effects/lpe-perspective_path.cpp:45 -#, fuzzy msgid "Offset y" -msgstr "옵셋" +msgstr "옵셋 Y" #: ../src/live_effects/lpe-perspective_path.cpp:45 msgid "Offset in y direction" -msgstr "" +msgstr "Y 방향 옵셋" #: ../src/live_effects/lpe-perspective_path.cpp:46 msgid "Uses XY plane?" -msgstr "" +msgstr "XY 평면을 사용합니까?" #: ../src/live_effects/lpe-perspective_path.cpp:46 -msgid "" -"If true, put the path on the left side of an imaginary box, otherwise on the " -"right side" -msgstr "" +msgid "If true, put the path on the left side of an imaginary box, otherwise on the right side" +msgstr "참일 경우 가상 상자의 왼쪽 면에 경로를 위치, 그렇지 않으면 오른쪽 면에 위치" #. initialise your parameters here: #: ../src/live_effects/lpe-skeleton.cpp:33 -#, fuzzy msgid "Float parameter" -msgstr "사각형" +msgstr "유동 인자" #: ../src/live_effects/lpe-skeleton.cpp:33 msgid "just a real number like 1.4!" -msgstr "" +msgstr "1.4와 같이 실수만!" #. initialise your parameters here: #. testpointA(_("Test Point A"), _("Test A"), "ptA", &wr, this, Geom::Point(100,100)), #: ../src/live_effects/lpe-sketch.cpp:35 -#, fuzzy msgid "Strokes" -msgstr "상태:" +msgstr "윤곽선" #: ../src/live_effects/lpe-sketch.cpp:35 msgid "Draw that many approximating strokes" -msgstr "" +msgstr "다수 윤곽선 그리기" #: ../src/live_effects/lpe-sketch.cpp:36 -#, fuzzy msgid "Max stroke length" -msgstr "글자를 곡선으로 변환" +msgstr "최대 윤곽선 길이" #: ../src/live_effects/lpe-sketch.cpp:37 msgid "Maximum length of approximating strokes" -msgstr "" +msgstr "윤곽선의 최대 길이" #: ../src/live_effects/lpe-sketch.cpp:38 msgid "Stroke length variation" -msgstr "" +msgstr "윤곽선 길이 변화" #: ../src/live_effects/lpe-sketch.cpp:39 msgid "Random variation of stroke length (relative to maximum length)" -msgstr "" +msgstr "윤곽선 길이 임의 변화(최대 길이에 상대적임)" #: ../src/live_effects/lpe-sketch.cpp:40 msgid "Max. overlap" -msgstr "" +msgstr "최대 중첩" #: ../src/live_effects/lpe-sketch.cpp:41 -msgid "" -"How much successive strokes should overlap (relative to maximum length)." -msgstr "" +msgid "How much successive strokes should overlap (relative to maximum length)." +msgstr "얼마나 많은 연속 윤곽선이 중첩될 수 있는가 (최대길이에 대하여 상대적)." #: ../src/live_effects/lpe-sketch.cpp:42 msgid "Overlap variation" -msgstr "" +msgstr "중첩 변화" #: ../src/live_effects/lpe-sketch.cpp:43 msgid "Random variation of overlap (relative to maximum overlap)" -msgstr "" +msgstr "무작의 중첩 변화 (최대 중첩에 대하여 상대적)" #: ../src/live_effects/lpe-sketch.cpp:44 msgid "Max. end tolerance" -msgstr "" +msgstr "최대 끝 허용치" #: ../src/live_effects/lpe-sketch.cpp:45 -msgid "" -"Maximum distance between ends of original and approximating paths (relative " -"to maximum length)" -msgstr "" +msgid "Maximum distance between ends of original and approximating paths (relative to maximum length)" +msgstr "원본과 근사 경로의 끝점 사이 최대 거리" #: ../src/live_effects/lpe-sketch.cpp:46 -#, fuzzy msgid "Parallel offset" -msgstr "수평 띄기" +msgstr "평행 옵셋" #: ../src/live_effects/lpe-sketch.cpp:47 msgid "Average distance from approximating path to original path" -msgstr "" +msgstr "근사 경로에서 원 경로 까지 평균 거리" #: ../src/live_effects/lpe-sketch.cpp:48 msgid "Max. tremble" -msgstr "" +msgstr "최대 진동" #: ../src/live_effects/lpe-sketch.cpp:49 msgid "Maximum tremble magnitude" -msgstr "" +msgstr "최대 진동 크기" #: ../src/live_effects/lpe-sketch.cpp:50 msgid "Tremble frequency" -msgstr "" +msgstr "진동 주파수" #: ../src/live_effects/lpe-sketch.cpp:51 msgid "Avreage number of tremble periods in an approximating stroke" -msgstr "" +msgstr "근사 윤곽선에서 진동 주기 평균 수치" #: ../src/live_effects/lpe-sketch.cpp:52 -#, fuzzy msgid "Construction lines" -msgstr "중심선" +msgstr "작도 선" #: ../src/live_effects/lpe-sketch.cpp:53 msgid "How many construction lines (tangents) to draw" -msgstr "" +msgstr "얼마나 많은 작도 선을 그릴 것인가" -#: ../src/live_effects/lpe-sketch.cpp:54 ../src/selection-chemistry.cpp:1450 -#: ../src/seltrans.cpp:454 ../src/ui/dialog/filter-effects-dialog.cpp:2235 +#: ../src/live_effects/lpe-sketch.cpp:54 +#: ../src/selection-chemistry.cpp:1450 +#: ../src/seltrans.cpp:454 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2235 #: ../src/ui/dialog/transformation.cpp:736 -#, fuzzy msgid "Scale" -msgstr "확대/축소(_S)" +msgstr "비율" #: ../src/live_effects/lpe-sketch.cpp:55 -msgid "" -"Scale factor relating curvature and length of construction lines (try " -"5*offset)" -msgstr "" +msgid "Scale factor relating curvature and length of construction lines (try 5*offset)" +msgstr "만곡과 작도 선 길이와 관계된 비율 요소 (5*옵셋 시도)" #: ../src/live_effects/lpe-sketch.cpp:56 msgid "Max. length" -msgstr "" +msgstr "최대 길이" #: ../src/live_effects/lpe-sketch.cpp:56 msgid "Maximum length of construction lines" -msgstr "" +msgstr "선의 최대 길이" #: ../src/live_effects/lpe-sketch.cpp:57 -#, fuzzy msgid "Length variation" -msgstr "채도" +msgstr "길이 변화량" #: ../src/live_effects/lpe-sketch.cpp:57 msgid "Random variation of the length of construction lines" -msgstr "" +msgstr "작도 선 길이의 무작위 변화" #: ../src/live_effects/lpe-tangent_to_curve.cpp:63 -#: ../share/extensions/motion.inx.h:1 ../share/extensions/restack.inx.h:1 +#: ../share/extensions/motion.inx.h:1 +#: ../share/extensions/restack.inx.h:1 msgid "Angle" msgstr "각도" #: ../src/live_effects/lpe-tangent_to_curve.cpp:63 msgid "Additional angle between tangent and curve" -msgstr "" +msgstr "접선과 곡선 사이 부가 각도" #: ../src/live_effects/lpe-tangent_to_curve.cpp:64 msgid "Location along curve" -msgstr "" +msgstr "곡선 따르는 위치" #: ../src/live_effects/lpe-tangent_to_curve.cpp:64 -msgid "" -"Location of the point of attachment along the curve (between 0.0 and number-" -"of-segments)" -msgstr "" +msgid "Location of the point of attachment along the curve (between 0.0 and number-of-segments)" +msgstr "곡선따라 붙이는 점의 위치 (0.0 ê³¼ 세그먼트 수 사이)" #: ../src/live_effects/lpe-tangent_to_curve.cpp:65 msgid "Specifies the left end of the tangent" -msgstr "" +msgstr "접선의 왼쪽 끝 지정" #: ../src/live_effects/lpe-tangent_to_curve.cpp:66 msgid "Specifies the right end of the tangent" -msgstr "" +msgstr "접선의 오른쪽 끝 지정" #: ../src/live_effects/lpe-tangent_to_curve.cpp:73 msgid "Adjust the \"left\" end of the tangent" -msgstr "" +msgstr "접선의 왼쪽 끝 정렬" #: ../src/live_effects/lpe-tangent_to_curve.cpp:74 msgid "Adjust the \"right\" end of the tangent" -msgstr "" +msgstr "접선의 오른쪽 끝 정렬" #: ../src/live_effects/lpe-tangent_to_curve.cpp:75 msgid "Adjust the point of attachment of the tangent" -msgstr "" +msgstr "접선 붙임점 정렬" #: ../src/live_effects/lpe-test-doEffect-stack.cpp:23 -#, fuzzy msgid "Stack step" -msgstr "상태:" +msgstr "스택 단계" #: ../src/live_effects/lpe-test-doEffect-stack.cpp:24 -#, fuzzy msgid "point param" -msgstr "중심선" +msgstr "점 인자" #: ../src/live_effects/lpe-vonkoch.cpp:42 msgid "Bounding box" -msgstr "" +msgstr "경계 상자" #: ../src/live_effects/lpe-vonkoch.cpp:43 -#, fuzzy msgid "Last gen. segment" -msgstr "선택부분 지우기" +msgstr "마지막 생성 세그먼트" #: ../src/live_effects/lpe-vonkoch.cpp:49 msgid "Nb of generations" -msgstr "" +msgstr "생성 Nb" #: ../src/live_effects/lpe-vonkoch.cpp:49 msgid "Depth of the recursion --- keep low!!" -msgstr "" +msgstr "재귀순환 깊이 -- 낮게 유지!!" #: ../src/live_effects/lpe-vonkoch.cpp:50 -#, fuzzy msgid "Generating path" -msgstr "곡선으로 부터 만들어냄" +msgstr "경로 생성" #: ../src/live_effects/lpe-vonkoch.cpp:50 msgid "Path whos segments define the fractal" -msgstr "" +msgstr "세그먼트를 프랙탈로 정의한 경로" #: ../src/live_effects/lpe-vonkoch.cpp:51 msgid "Draw all generations" -msgstr "" +msgstr "전체 생성 그리기" #: ../src/live_effects/lpe-vonkoch.cpp:51 msgid "If unchecked, draw only the last generation" -msgstr "" +msgstr "미체크시, 마지막 생성만 그리기" #: ../src/live_effects/lpe-vonkoch.cpp:52 -#, fuzzy msgid "Reference" -msgstr "다름" +msgstr "참조" #: ../src/live_effects/lpe-vonkoch.cpp:52 -msgid "" -"Generating path segments define transforms in reference to bbox or last " -"segment" -msgstr "" +msgid "Generating path segments define transforms in reference to bbox or last segment" +msgstr "경로 세그먼트 생성은 참조에서 bbox 또는 마지막 세그먼트 변형을 정의" #: ../src/live_effects/lpe-vonkoch.cpp:53 msgid "Max complexity" -msgstr "" +msgstr "최대 복잡도" #: ../src/live_effects/lpe-vonkoch.cpp:53 msgid "Disable effect if the output is too complex" -msgstr "" +msgstr "출력이 너무 복잡하다면 효과 불가능" #: ../src/live_effects/parameter/bool.cpp:69 -#, fuzzy msgid "Change bool parameter" -msgstr "주 투명도" +msgstr "부울 인자 변경" #: ../src/live_effects/parameter/enum.h:51 -#, fuzzy msgid "Change enumeration parameter" -msgstr "이동치 저장" +msgstr "열거 인자 변경" #: ../src/live_effects/parameter/parameter.cpp:138 -#, fuzzy msgid "Change scalar parameter" -msgstr "주 투명도" +msgstr "스칼라 인자 변경" #: ../src/live_effects/parameter/path.cpp:157 #: ../src/live_effects/parameter/point.cpp:110 msgid "Edit on-canvas" -msgstr "" +msgstr "캔버스상 편집" #: ../src/live_effects/parameter/path.cpp:167 -#, fuzzy msgid "Copy path" -msgstr "곡선" +msgstr "경로 복사" #: ../src/live_effects/parameter/path.cpp:177 -#, fuzzy msgid "Paste path" -msgstr "곡선 간격 띄우기" +msgstr "경로 붙여넣기" #: ../src/live_effects/parameter/path.cpp:187 -#, fuzzy msgid "Link to path" -msgstr "노드 올리기" +msgstr "경로에 링크" #: ../src/live_effects/parameter/path.cpp:363 -#, fuzzy msgid "Paste path parameter" -msgstr "불이기 종류(_S)" +msgstr "경로 인자 붙여넣기" #: ../src/live_effects/parameter/path.cpp:395 -#, fuzzy msgid "Link path parameter to path" -msgstr "불이기 종류(_S)" +msgstr "경로 인자를 경로에 링크" #: ../src/live_effects/parameter/point.cpp:95 -#, fuzzy msgid "Change point parameter" -msgstr "중심선" +msgstr "점 인자 변경" #: ../src/live_effects/parameter/pointparam-knotholder.cpp:134 -#, fuzzy msgid "Change LPE point parameter" -msgstr "중심선" +msgstr "LPE 점 인자 변경" #: ../src/live_effects/parameter/random.cpp:137 -#, fuzzy msgid "Change random parameter" -msgstr "이동치 저장" +msgstr "임의 인자 변경" #: ../src/main-cmdlineact.cpp:49 #, c-format msgid "Unable to find verb ID '%s' specified on the command line.\n" -msgstr "" +msgstr "명령어 줄에서 지정한 '%s' ID 찾을 수 없음.\n" #: ../src/main-cmdlineact.cpp:61 #, c-format msgid "Unable to find node ID: '%s'\n" -msgstr "" +msgstr "노드 ID 찾을 수 없음: '%s'\n" #: ../src/main.cpp:218 msgid "Print the Inkscape version number" -msgstr "잉크스케이프 버전 숫자를 출력" +msgstr "Inkscape 버전 숫자를 출력" #: ../src/main.cpp:223 msgid "Do not use X server (only process files from console)" @@ -6650,207 +6302,199 @@ msgstr "X 서버를 이용하지 않음(콘솔에서 파일 작업만 진행)" #: ../src/main.cpp:228 msgid "Try to use X server (even if $DISPLAY is not set)" -msgstr "X 서버 사용($DISPLAY 가 지정 되있지 않더라도)" +msgstr "X 서버 사용하기 위하여 시도($DISPLAY 가 지정 되있지 않더라도)" #: ../src/main.cpp:233 msgid "Open specified document(s) (option string may be excluded)" -msgstr "정의된 문서를 열음 (아마도 옵션 은 포함되지 않음)" - -#: ../src/main.cpp:234 ../src/main.cpp:239 ../src/main.cpp:244 -#: ../src/main.cpp:311 ../src/main.cpp:316 ../src/main.cpp:321 -#: ../src/main.cpp:326 ../src/main.cpp:332 +msgstr "지정된 문서를 열음 (아마도 설정 문자열은 제외)" + +#: ../src/main.cpp:234 +#: ../src/main.cpp:239 +#: ../src/main.cpp:244 +#: ../src/main.cpp:311 +#: ../src/main.cpp:316 +#: ../src/main.cpp:321 +#: ../src/main.cpp:326 +#: ../src/main.cpp:332 msgid "FILENAME" -msgstr "파일이름" +msgstr "파일명" #: ../src/main.cpp:238 msgid "Print document(s) to specified output file (use '| program' for pipe)" -msgstr "" +msgstr "문서를 지정 출력 파일로 출력( 파이프로 '| program' 사용)" #: ../src/main.cpp:243 msgid "Export document to a PNG file" -msgstr "문서를 PNG 파일로 내보네기" +msgstr "문서를 PNG로 내보내기" #: ../src/main.cpp:248 msgid "The resolution used for exporting SVG into bitmap (default 90)" -msgstr "" +msgstr "SVG를 비트맵으로 내보내는 해상도(기본값은 90)" -#: ../src/main.cpp:249 ../src/ui/widget/rendering-options.cpp:43 +#: ../src/main.cpp:249 +#: ../src/ui/widget/rendering-options.cpp:43 msgid "DPI" -msgstr "" +msgstr "DPI" #: ../src/main.cpp:253 -msgid "" -"Exported area in SVG user units (default is the canvas; 0,0 is lower-left " -"corner)" -msgstr "" +msgid "Exported area in SVG user units (default is the canvas; 0,0 is lower-left corner)" +msgstr "SVG 사용자 단위에서 내보내기 구간(기본은 캔버스; 0.0은 왼쪽 하단 모서리임)" #: ../src/main.cpp:254 msgid "x0:y0:x1:y1" -msgstr "" +msgstr "x0:y0:x1:y1" #: ../src/main.cpp:258 msgid "Exported area is the entire drawing (not canvas)" -msgstr "" +msgstr "내보내기 구간이 전체 그림(캔버스가 아님)" #: ../src/main.cpp:263 msgid "Exported area is the entire canvas" -msgstr "" +msgstr "내보내기 구가이 전체 캔버스" #: ../src/main.cpp:268 -msgid "" -"Snap the bitmap export area outwards to the nearest integer values (in SVG " -"user units)" +msgid "Snap the bitmap export area outwards to the nearest integer values (in SVG user units)" msgstr "" #: ../src/main.cpp:273 msgid "The width of exported bitmap in pixels (overrides export-dpi)" -msgstr "" +msgstr "내보낼 비트맵 폭(화소)" #: ../src/main.cpp:274 msgid "WIDTH" -msgstr "" +msgstr "폭" #: ../src/main.cpp:278 msgid "The height of exported bitmap in pixels (overrides export-dpi)" -msgstr "" +msgstr "내보낼 비트맵 높이(화소)" #: ../src/main.cpp:279 msgid "HEIGHT" -msgstr "" +msgstr "높이" #: ../src/main.cpp:283 msgid "The ID of the object to export" -msgstr "" +msgstr "내보낼 객체 ID" -#: ../src/main.cpp:284 ../src/main.cpp:382 +#: ../src/main.cpp:284 +#: ../src/main.cpp:382 msgid "ID" -msgstr "" +msgstr "ID" #. TRANSLATORS: this means: "Only export the object whose id is given in --export-id". #. See "man inkscape" for details. #: ../src/main.cpp:290 -msgid "" -"Export just the object with export-id, hide all others (only with export-id)" -msgstr "" +msgid "Export just the object with export-id, hide all others (only with export-id)" +msgstr "내보내기-ID를 가진 객체만 내보내기, 전체 다른 객체는 숨기기" #: ../src/main.cpp:295 msgid "Use stored filename and DPI hints when exporting (only with export-id)" -msgstr "" +msgstr "내보낼 때 저장된 파일명과 DPI 힌트를 사용(내보내기-ID있을 때만)" #: ../src/main.cpp:300 msgid "Background color of exported bitmap (any SVG-supported color string)" -msgstr "" +msgstr "내보내기 비트맵의 ë°°ê²½ 색상(임의 SVG지원 색상 문자열)" #: ../src/main.cpp:301 msgid "COLOR" -msgstr "" +msgstr "색상" #: ../src/main.cpp:305 msgid "Background opacity of exported bitmap (either 0.0 to 1.0, or 1 to 255)" -msgstr "" +msgstr "내보내기 비트맵의 ë°°ê²½ 불투명도(0.0에서 1.0 또는 1에서 255" #: ../src/main.cpp:306 msgid "VALUE" -msgstr "" +msgstr "값" #: ../src/main.cpp:310 msgid "Export document to plain SVG file (no sodipodi or inkscape namespaces)" -msgstr "" +msgstr "문서를 단순 SVG 파일로 내보내기 (sodipodi나 Inkscape 네임스페이스 없음)" #: ../src/main.cpp:315 msgid "Export document to a PS file" -msgstr "" +msgstr "문서를 PS 파일로 내보내기" #: ../src/main.cpp:320 msgid "Export document to an EPS file" -msgstr "" +msgstr "문서를 EPS 파일로 내보내기" #: ../src/main.cpp:325 -#, fuzzy msgid "Export document to a PDF file" -msgstr "문서를 PNG 파일로 내보네기" +msgstr "문서를 PDF 파일로 내보내기" #: ../src/main.cpp:331 -#, fuzzy msgid "Export document to an Enhanced Metafile (EMF) File" -msgstr "문서를 PNG 파일로 내보네기" +msgstr "문서를 EMF 파일로 내보내기" #: ../src/main.cpp:337 msgid "Convert text object to paths on export (EPS)" -msgstr "" +msgstr "문자열 객체를 내보낼 경로로 변환 (EPS)" #: ../src/main.cpp:342 msgid "Embed fonts on export (Type 1 only) (EPS)" -msgstr "" +msgstr "내보낼 내장 글꼴 (TYPE 1만) (EPS)" #: ../src/main.cpp:347 msgid "Export files with the bounding box set to the page size (EPS)" -msgstr "" +msgstr "경계 상자 설정을 가진 파일을 페이지 크기로 내보내기 (EPS)" #. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help" #: ../src/main.cpp:353 -msgid "" -"Query the X coordinate of the drawing or, if specified, of the object with --" -"query-id" -msgstr "" +msgid "Query the X coordinate of the drawing or, if specified, of the object with --query-id" +msgstr "그림의 X 좌표 질의" #. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help" #: ../src/main.cpp:359 -msgid "" -"Query the Y coordinate of the drawing or, if specified, of the object with --" -"query-id" -msgstr "" +msgid "Query the Y coordinate of the drawing or, if specified, of the object with --query-id" +msgstr "그림의 Y 좌표 질의" #. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help" #: ../src/main.cpp:365 -msgid "" -"Query the width of the drawing or, if specified, of the object with --query-" -"id" -msgstr "" +msgid "Query the width of the drawing or, if specified, of the object with --query-id" +msgstr "그림의 폭 질의" #. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help" #: ../src/main.cpp:371 -msgid "" -"Query the height of the drawing or, if specified, of the object with --query-" -"id" -msgstr "" +msgid "Query the height of the drawing or, if specified, of the object with --query-id" +msgstr "그림의 높이 질의" #: ../src/main.cpp:376 msgid "List id,x,y,w,h for all objects" -msgstr "" +msgstr "전체 객체의 ID, X, Y, W, H 나열" #: ../src/main.cpp:381 msgid "The ID of the object whose dimensions are queried" -msgstr "" +msgstr "크기를 질의한 객체의 ID" #. TRANSLATORS: this option makes Inkscape print the name (path) of the extension directory #: ../src/main.cpp:387 msgid "Print out the extension directory and exit" -msgstr "" +msgstr "확장 폴더로 출력 후 종료" #: ../src/main.cpp:392 msgid "Remove unused definitions from the defs section(s) of the document" -msgstr "" +msgstr "문서의 정의 부분에서 미사용 정의를 제거" #: ../src/main.cpp:397 msgid "List the IDs of all the verbs in Inkscape" -msgstr "" +msgstr "Inkscape에서 전체 동사의 ID 나열" #: ../src/main.cpp:402 msgid "Verb to call when Inkscape opens." -msgstr "" +msgstr "Inkscape 열 때 호출할 동사" #: ../src/main.cpp:403 msgid "VERB-ID" -msgstr "" +msgstr "동사-ID" #: ../src/main.cpp:407 msgid "Object ID to select when Inkscape opens." -msgstr "" +msgstr "Inkscape 열 때 선택할 객체 ID" #: ../src/main.cpp:408 msgid "OBJECT-ID" -msgstr "" +msgstr "객체-ID" #: ../src/main.cpp:687 msgid "" @@ -6858,584 +6502,524 @@ msgid "" "\n" "Available options:" msgstr "" +"[설정...] [파일...]\n" +"\n" +"사용 가능한 설정:" #: ../src/menus-skeleton.h:17 msgid "_New" -msgstr "" +msgstr "새 파일(_N)" #: ../src/menus-skeleton.h:22 msgid "Open _Recent" -msgstr "" +msgstr "최근 작업파일 열기(_R)" -#: ../src/menus-skeleton.h:50 ../src/verbs.cpp:2403 ../src/verbs.cpp:2409 +#: ../src/menus-skeleton.h:50 +#: ../src/verbs.cpp:2403 +#: ../src/verbs.cpp:2409 msgid "_Edit" -msgstr "" +msgstr "편집(_E)" -#: ../src/menus-skeleton.h:60 ../src/verbs.cpp:2205 +#: ../src/menus-skeleton.h:60 +#: ../src/verbs.cpp:2205 msgid "Paste Si_ze" -msgstr "" +msgstr "크기로 붙여넣기(_Z)" #: ../src/menus-skeleton.h:72 msgid "Clo_ne" -msgstr "" +msgstr "복제 객체(_N)" #: ../src/menus-skeleton.h:91 msgid "_View" -msgstr "" +msgstr "보기(_V)" #: ../src/menus-skeleton.h:92 msgid "_Zoom" -msgstr "" +msgstr "비율(_Z)" #: ../src/menus-skeleton.h:108 msgid "_Display mode" -msgstr "" +msgstr "보이기 모드(_D)" #: ../src/menus-skeleton.h:120 msgid "Show/Hide" -msgstr "" +msgstr "보이기/숨기기" #: ../src/menus-skeleton.h:137 msgid "_Layer" -msgstr "" +msgstr "레이어(_L)" #: ../src/menus-skeleton.h:156 msgid "_Object" -msgstr "" +msgstr "객체(_O)" #: ../src/menus-skeleton.h:166 msgid "Cli_p" -msgstr "" +msgstr "자르기(_P)" #: ../src/menus-skeleton.h:170 msgid "Mas_k" -msgstr "" +msgstr "마스크(_K)" #: ../src/menus-skeleton.h:174 msgid "Patter_n" -msgstr "" +msgstr "패턴(_N)" #: ../src/menus-skeleton.h:198 msgid "_Path" -msgstr "" +msgstr "경로(_P)" #: ../src/menus-skeleton.h:221 -#, fuzzy msgid "Path Effects" -msgstr "옵셋" +msgstr "경로 효과" #: ../src/menus-skeleton.h:227 msgid "_Text" -msgstr "" +msgstr "문자열(_T)" #: ../src/menus-skeleton.h:239 -#, fuzzy msgid "Effe_cts" -msgstr "옵셋" +msgstr "효과(_C)" #: ../src/menus-skeleton.h:246 msgid "Whiteboa_rd" -msgstr "" +msgstr "화이트보드(_R)" #: ../src/menus-skeleton.h:250 msgid "_Help" -msgstr "" +msgstr "도움말(_H)" #: ../src/menus-skeleton.h:254 msgid "Tutorials" -msgstr "" +msgstr "지침서" #: ../src/node-context.cpp:255 -msgid "" -"Ctrl: toggle node type, snap handle angle, move hor/vert; Ctrl" -"+Alt: move along handles" -msgstr "" +msgid "Ctrl: toggle node type, snap handle angle, move hor/vert; Ctrl+Alt: move along handles" +msgstr "Ctrl: 노드 형태 토글, 핸들 각도 붙이기 점 조정, 수직/수평 이동; Ctrl+Alt: 핸들 따라 이동" #: ../src/node-context.cpp:256 -msgid "" -"Shift: toggle node selection, disable snapping, rotate both handles" -msgstr "" +msgid "Shift: toggle node selection, disable snapping, rotate both handles" +msgstr "Shift: 노드 선택 토글, 붙이기 불가능, 양 핸들 회전" #: ../src/node-context.cpp:257 msgid "Alt: lock handle length; Ctrl+Alt: move along handles" -msgstr "" +msgstr "Alt: 핸들 길이 잠금; Ctrl+Alt: 핸들 따라 이동" -#: ../src/nodepath.cpp:651 ../src/seltrans.cpp:547 -#, fuzzy +#: ../src/nodepath.cpp:651 +#: ../src/seltrans.cpp:547 msgid "Stamp" -msgstr "단계" +msgstr "도장" -#: ../src/nodepath.cpp:1486 ../src/nodepath.cpp:1513 +#: ../src/nodepath.cpp:1486 +#: ../src/nodepath.cpp:1513 msgid "Move nodes vertically" -msgstr "" +msgstr "노드 수직 이동" -#: ../src/nodepath.cpp:1488 ../src/nodepath.cpp:1515 +#: ../src/nodepath.cpp:1488 +#: ../src/nodepath.cpp:1515 msgid "Move nodes horizontally" -msgstr "" +msgstr "노드 수평 이동" -#: ../src/nodepath.cpp:1490 ../src/nodepath.cpp:1517 ../src/nodepath.cpp:1532 +#: ../src/nodepath.cpp:1490 +#: ../src/nodepath.cpp:1517 +#: ../src/nodepath.cpp:1532 #: ../src/nodepath.cpp:3359 -#, fuzzy msgid "Move nodes" -msgstr "노드를 아래도" +msgstr "노드 이동" #: ../src/nodepath.cpp:1570 -msgid "" -"Node handle: drag to shape the curve; with Ctrl to snap angle; " -"with Alt to lock length; with Shift to rotate both handles" -msgstr "" +msgid "Node handle: drag to shape the curve; with Ctrl to snap angle; with Alt to lock length; with Shift to rotate both handles" +msgstr "노드 핸들: 곡선 생성하기 위하여 끌기; Ctrl: 각도 붙이기 점 조정; Alt: 길이를 잠그기 위해; Shift: 양 핸들 회전" #: ../src/nodepath.cpp:1740 -#, fuzzy msgid "Align nodes" -msgstr "왼쪽으로 정렬" +msgstr "노드 정렬" #: ../src/nodepath.cpp:1802 -#, fuzzy msgid "Distribute nodes" -msgstr "속성 이름" +msgstr "노드 분배" #: ../src/nodepath.cpp:1840 -#, fuzzy msgid "Add nodes" -msgstr "노드 추가" +msgstr "노드 더하기" -#: ../src/nodepath.cpp:1842 ../src/nodepath.cpp:1914 -#, fuzzy +#: ../src/nodepath.cpp:1842 +#: ../src/nodepath.cpp:1914 msgid "Add node" -msgstr "노드 추가" +msgstr "노드 더하기" #: ../src/nodepath.cpp:1995 msgid "Break path" -msgstr "" +msgstr "경로 나누기" #: ../src/nodepath.cpp:2051 -#, fuzzy msgid "Close subpath" -msgstr "경로 닫는중." +msgstr "하위경로 닫기" #: ../src/nodepath.cpp:2112 -#, fuzzy msgid "Join nodes" -msgstr "임의의 노드" +msgstr "노드 결합" #: ../src/nodepath.cpp:2139 msgid "Close subpath by segment" -msgstr "" +msgstr "세그먼트에 의한 하위경로 닫기" #: ../src/nodepath.cpp:2193 msgid "Join nodes by segment" -msgstr "" +msgstr "세그먼트에 의한 노드 결합" -#: ../src/nodepath.cpp:2206 ../src/nodepath.cpp:2221 +#: ../src/nodepath.cpp:2206 +#: ../src/nodepath.cpp:2221 msgid "To join, you must have two endnodes selected." -msgstr "" +msgstr "결합하기 위하여 두 개의 선택 노드점을 가져야 함" -#: ../src/nodepath.cpp:2378 ../src/nodepath.cpp:2414 ../src/nodepath.cpp:2418 -#, fuzzy +#: ../src/nodepath.cpp:2378 +#: ../src/nodepath.cpp:2414 +#: ../src/nodepath.cpp:2418 msgid "Delete nodes" msgstr "노드 삭제" #: ../src/nodepath.cpp:2380 msgid "Delete nodes preserving shape" -msgstr "" +msgstr "모양을 유지하는 노드 삭제" -#: ../src/nodepath.cpp:2437 ../src/nodepath.cpp:2451 -msgid "" -"Select two non-endpoint nodes on a path between which to delete " -"segments." -msgstr "" +#: ../src/nodepath.cpp:2437 +#: ../src/nodepath.cpp:2451 +msgid "Select two non-endpoint nodes on a path between which to delete segments." +msgstr "세그먼트를 삭제하기 위하여 경로상 2개의 비끝점 노드를 선택." #: ../src/nodepath.cpp:2547 msgid "Cannot find path between nodes." -msgstr "" +msgstr "노드 사이 경로를 찾을 수 없음" -#: ../src/nodepath.cpp:2579 ../src/widgets/toolbox.cpp:1129 -#, fuzzy +#: ../src/nodepath.cpp:2579 +#: ../src/widgets/toolbox.cpp:1129 msgid "Delete segment" -msgstr "선택부분 지우기" +msgstr "세그먼트 삭제" #: ../src/nodepath.cpp:2600 msgid "Change segment type" -msgstr "" +msgstr "세그먼트 형태 변경" -#: ../src/nodepath.cpp:2617 ../src/nodepath.cpp:3317 +#: ../src/nodepath.cpp:2617 +#: ../src/nodepath.cpp:3317 msgid "Change node type" -msgstr "" +msgstr "노드 형태 변경" #: ../src/nodepath.cpp:3605 -#, fuzzy msgid "Retract handle" -msgstr "사격형" +msgstr "핸들 축소" #: ../src/nodepath.cpp:3654 -#, fuzzy msgid "Move node handle" -msgstr "임의의 노드 관리" +msgstr "노드 핸들 이동" #: ../src/nodepath.cpp:3823 #, c-format -msgid "" -"Node handle: angle %0.2f°, length %s; with Ctrl to snap " -"angle; with Alt to lock length; with Shift to rotate both " -"handles" -msgstr "" +msgid "Node handle: angle %0.2f°, length %s; with Ctrl to snap angle; with Alt to lock length; with Shift to rotate both handles" +msgstr "노드 핸들: 각도 %0.2f°,길이 %s; Ctrl: 각도 붙이기 점 조정; Alt: 길이 잠금; Shift: 양 핸들 회전" #: ../src/nodepath.cpp:4017 -#, fuzzy msgid "Rotate nodes" -msgstr "노드 올리기" +msgstr "노드 회전" #: ../src/nodepath.cpp:4148 -#, fuzzy msgid "Scale nodes" -msgstr "노드 올리기" +msgstr "노드 변경" #: ../src/nodepath.cpp:4192 -#, fuzzy msgid "Flip nodes" -msgstr "노드 올리기" +msgstr "노드 거꾸로" #: ../src/nodepath.cpp:4361 -msgid "" -"Node: drag to edit the path; with Ctrl to snap to horizontal/" -"vertical; with Ctrl+Alt to snap to handles' directions" -msgstr "" +msgid "Node: drag to edit the path; with Ctrl to snap to horizontal/vertical; with Ctrl+Alt to snap to handles' directions" +msgstr "노드: 경로 펴집; Ctrl: 수평/수직 붙이기; Ctrl+Alt: 핸들 방향 붙이기" #. TRANSLATORS: "end" is an adjective here (NOT a verb) #: ../src/nodepath.cpp:4587 msgid "end node" -msgstr "" +msgstr "끝 노드" #. TRANSLATORS: "cusp" means "sharp" (cusp node); see also the Advanced Tutorial #: ../src/nodepath.cpp:4592 msgid "cusp" -msgstr "" +msgstr "날카롭게" #. TRANSLATORS: "smooth" is an adjective here #: ../src/nodepath.cpp:4595 msgid "smooth" -msgstr "" +msgstr "부트럽게" #: ../src/nodepath.cpp:4597 msgid "symmetric" -msgstr "" +msgstr "대칭" #. TRANSLATORS: "end" is an adjective here (NOT a verb) #: ../src/nodepath.cpp:4603 msgid "end node, handle retracted (drag with Shift to extend)" -msgstr "" +msgstr "끝 노드, 핸들 축소(Shift: 확장)" #: ../src/nodepath.cpp:4605 msgid "one handle retracted (drag with Shift to extend)" -msgstr "" +msgstr "한 개 핸들 축소(Shift: 확장)" #: ../src/nodepath.cpp:4608 msgid "both handles retracted (drag with Shift to extend)" -msgstr "" +msgstr "양 핸들 축소(Shift: 확장)" #: ../src/nodepath.cpp:4620 -msgid "" -"Drag nodes or node handles; Alt+drag nodes to sculpt; " -"arrow keys to move nodes, < > to scale, [ ] to " -"rotate" -msgstr "" +msgid "Drag nodes or node handles; Alt+drag nodes to sculpt; arrow keys to move nodes, < > to scale, [ ] to rotate" +msgstr "노드 또는 노드 핸들 끌기; Alt: 조각하기; 화살표 키: 노드 이동; < > 키: 비율 변경, [ ]키: 회전" #: ../src/nodepath.cpp:4621 msgid "Drag the node or its handles; arrow keys to move the node" msgstr "" -#: ../src/nodepath.cpp:4646 ../src/nodepath.cpp:4658 +#: ../src/nodepath.cpp:4646 +#: ../src/nodepath.cpp:4658 msgid "Select a single object to edit its nodes or handles." -msgstr "" +msgstr "노드 또는 핸들을 편집하기 위하여 단일 객ㅊ를 선택" #: ../src/nodepath.cpp:4650 #, c-format -msgid "" -"0 out of %i node selected. Click, Shift+click, " -"or drag around nodes to select." -msgid_plural "" -"0 out of %i nodes selected. Click, Shift+click, " -"or drag around nodes to select." -msgstr[0] "" -msgstr[1] "" +msgid "0 out of %i node selected. Click, Shift+click, or drag around nodes to select." +msgstr "0 %i에서 노드 선택. Click, Shift+click, 또는 선택하기 위하여 노드 주변끌기." #: ../src/nodepath.cpp:4656 msgid "Drag the handles of the object to modify it." -msgstr "" +msgstr "수정하기 위하여 객체 핸들을 끌기" #: ../src/nodepath.cpp:4664 #, c-format msgid "%i of %i node selected; %s. %s." -msgid_plural "%i of %i nodes selected; %s. %s." -msgstr[0] "" -msgstr[1] "" +msgstr "%i %i 노드 선택됨; %s. %s." #: ../src/nodepath.cpp:4671 #, c-format -msgid "" -"%i of %i node selected in %i of %i subpaths. %s." -msgid_plural "" -"%i of %i nodes selected in %i of %i subpaths. %s." -msgstr[0] "" -msgstr[1] "" +msgid "%i of %i node selected in %i of %i subpaths. %s." +msgstr "%i %i 노드 선택 %i %i 하위경로. %s." #: ../src/nodepath.cpp:4677 #, c-format msgid "%i of %i node selected. %s." -msgid_plural "%i of %i nodes selected. %s." -msgstr[0] "" -msgstr[1] "" +msgstr "%i %i 노드 선택됨. %s." #: ../src/object-edit.cpp:420 -msgid "" -"Adjust the horizontal rounding radius; with Ctrl to make the " -"vertical radius the same" -msgstr "" +msgid "Adjust the horizontal rounding radius; with Ctrl to make the vertical radius the same" +msgstr "수평 둥근 반경 조정, Ctrl: 수직으로 동일하게 반경 조정" #: ../src/object-edit.cpp:424 -msgid "" -"Adjust the vertical rounding radius; with Ctrl to make the " -"horizontal radius the same" -msgstr "" - -#: ../src/object-edit.cpp:428 ../src/object-edit.cpp:432 -msgid "" -"Adjust the width and height of the rectangle; with Ctrlto lock " -"ratio or stretch in one dimension only" -msgstr "" - -#: ../src/object-edit.cpp:666 ../src/object-edit.cpp:669 -#: ../src/object-edit.cpp:672 ../src/object-edit.cpp:675 -msgid "" -"Resize box in X/Y direction; with Shift along the Z axis; with " -"Ctrl to constrain to the directions of edges or diagonals" -msgstr "" - -#: ../src/object-edit.cpp:678 ../src/object-edit.cpp:681 -#: ../src/object-edit.cpp:684 ../src/object-edit.cpp:687 -msgid "" -"Resize box along the Z axis; with Shift in X/Y direction; with " -"Ctrl to constrain to the directions of edges or diagonals" -msgstr "" +msgid "Adjust the vertical rounding radius; with Ctrl to make the horizontal radius the same" +msgstr "수직 둥근 반경 조정, Ctrl: 수평으로 동일하게 반경 조정" + +#: ../src/object-edit.cpp:428 +#: ../src/object-edit.cpp:432 +msgid "Adjust the width and height of the rectangle; with Ctrlto lock ratio or stretch in one dimension only" +msgstr "직사각형의 폭과 높이를 조정; Ctrl: 고정비를 잠그거나 한 면을 확장" + +#: ../src/object-edit.cpp:666 +#: ../src/object-edit.cpp:669 +#: ../src/object-edit.cpp:672 +#: ../src/object-edit.cpp:675 +msgid "Resize box in X/Y direction; with Shift along the Z axis; with Ctrl to constrain to the directions of edges or diagonals" +msgstr "X/Y 방향 상자 크기 조정; Shift: Z 축 ; Ctrl: 모서리나 대각선 방향을 제한 " + +#: ../src/object-edit.cpp:678 +#: ../src/object-edit.cpp:681 +#: ../src/object-edit.cpp:684 +#: ../src/object-edit.cpp:687 +msgid "Resize box along the Z axis; with Shift in X/Y direction; with Ctrl to constrain to the directions of edges or diagonals" +msgstr "Z 축 따라 상자 크기 조정; Shift: X/Y 방향 , Ctrl: 모서리나 대각선 방향을 제한" #: ../src/object-edit.cpp:690 msgid "Move the box in perspective" -msgstr "" +msgstr "원근감에서 상자 이동" #: ../src/object-edit.cpp:908 msgid "Adjust ellipse width, with Ctrl to make circle" -msgstr "" +msgstr "타원 폭 조정, Ctrl: 원 생성" #: ../src/object-edit.cpp:911 msgid "Adjust ellipse height, with Ctrl to make circle" -msgstr "" +msgstr "타원 높이 조정, Ctrl: 원 생성" #: ../src/object-edit.cpp:914 -msgid "" -"Position the start point of the arc or segment; with Ctrlto " -"snap angle; drag inside the ellipse for arc, outside for " -"segment" -msgstr "" +msgid "Position the start point of the arc or segment; with Ctrlto snap angle; drag inside the ellipse for arc, outside for segment" +msgstr "호나 세그먼트의 시작점 위치; Ctrl:각도 붙이기 점 조정, 호를 생성하기 위하여 타원 안쪽으로, 세그먼트를 위하여는 바깥 타원으로 끌기" #: ../src/object-edit.cpp:918 -msgid "" -"Position the end point of the arc or segment; with Ctrl to " -"snap angle; drag inside the ellipse for arc, outside for " -"segment" -msgstr "" +msgid "Position the end point of the arc or segment; with Ctrl to snap angle; drag inside the ellipse for arc, outside for segment" +msgstr "호나 세크먼트의 끝점 위치; Ctrl:각도 붙이기 점 조정, 호를 생성하기 위하여 타원 안쪽으로, 세그먼트를 위하여는 바깥 타원으로 끌기" #: ../src/object-edit.cpp:1057 -msgid "" -"Adjust the tip radius of the star or polygon; with Shift to " -"round; with Alt to randomize" -msgstr "" +msgid "Adjust the tip radius of the star or polygon; with Shift to round; with Alt to randomize" +msgstr "별이나 다각형의 정점 반경 조정; Shift: 둥글게 하기 ; Alt: 무작위" #: ../src/object-edit.cpp:1064 -msgid "" -"Adjust the base radius of the star; with Ctrl to keep star " -"rays radial (no skew); with Shift to round; with Alt to " -"randomize" -msgstr "" +msgid "Adjust the base radius of the star; with Ctrl to keep star rays radial (no skew); with Shift to round; with Alt to randomize" +msgstr "별의 기본 반경을 조정; Ctrl: 별 빛을 방사로 유지(왜곡 안됨), Shift: 둥글게 하기 ; Alt: 무작위" #: ../src/object-edit.cpp:1245 -msgid "" -"Roll/unroll the spiral from inside; with Ctrl to snap angle; " -"with Alt to converge/diverge" -msgstr "" +msgid "Roll/unroll the spiral from inside; with Ctrl to snap angle; with Alt to converge/diverge" +msgstr "안쪽으로부터 나선을 감기/풀기; Ctrl:각도 붙이기 점 조정; Alt: 확대/축소 " #: ../src/object-edit.cpp:1248 -msgid "" -"Roll/unroll the spiral from outside; with Ctrl to snap angle; " -"with Shift to scale/rotate" -msgstr "" +msgid "Roll/unroll the spiral from outside; with Ctrl to snap angle; with Shift to scale/rotate" +msgstr "바깥으로부터 나선 감기/풀기; Ctrl:각도 붙이기 점 조정; Shift: 비율/회전 변경" #: ../src/object-edit.cpp:1292 msgid "Adjust the offset distance" -msgstr "" +msgstr "옵셋 거리 조정" #: ../src/object-edit.cpp:1327 msgid "Drag to resize the flowed text frame" -msgstr "" +msgstr "유동 문자열 프레임 크기를 재조정하기 위하여 끌기" #: ../src/path-chemistry.cpp:63 msgid "Select at least two objects to combine." -msgstr "" +msgstr "결합하기 위하여 적어도 두 객체 선택" #: ../src/path-chemistry.cpp:67 -#, fuzzy msgid "Combining paths..." -msgstr "경로 닫는중." +msgstr "경로 결합 중..." #: ../src/path-chemistry.cpp:169 -#, fuzzy msgid "Combine" -msgstr "조합된" +msgstr "결합" #: ../src/path-chemistry.cpp:176 msgid "No path(s) to combine in the selection." -msgstr "" +msgstr "선택에서 결합할 경로 없음" #: ../src/path-chemistry.cpp:190 msgid "Select path(s) to break apart." -msgstr "" +msgstr "분리 경로 선택" #: ../src/path-chemistry.cpp:194 msgid "Breaking apart paths..." -msgstr "" +msgstr "경로 분리 중..." #: ../src/path-chemistry.cpp:280 msgid "Break apart" -msgstr "" +msgstr "경로 분리" #: ../src/path-chemistry.cpp:282 msgid "No path(s) to break apart in the selection." -msgstr "" +msgstr "선택에서 분리할 경로 없음" #: ../src/path-chemistry.cpp:306 msgid "Select object(s) to convert to path." -msgstr "" +msgstr "경로로 변환시킬 객체 선택" #: ../src/path-chemistry.cpp:312 -#, fuzzy msgid "Converting objects to paths..." -msgstr "글자를 곡선으로 변환" +msgstr "객체를 경로로 변환 중..." #: ../src/path-chemistry.cpp:334 -#, fuzzy msgid "Object to path" -msgstr "글자를 선으로" +msgstr "객체를 경로로" #: ../src/path-chemistry.cpp:336 msgid "No objects to convert to path in the selection." -msgstr "" +msgstr "선택에서 경로로 변환할 객체 없음" #: ../src/path-chemistry.cpp:487 msgid "Select path(s) to reverse." -msgstr "" +msgstr "역 경로 선택" #: ../src/path-chemistry.cpp:496 -#, fuzzy msgid "Reversing paths..." -msgstr "되돌리기(_R)" +msgstr "객체를 역으로..." #: ../src/path-chemistry.cpp:523 -#, fuzzy msgid "Reverse path" -msgstr "되돌리기(_R)" +msgstr "역 경로" #: ../src/path-chemistry.cpp:525 msgid "No paths to reverse in the selection." -msgstr "" +msgstr "선택에서 역 경로 없음" -#: ../src/pencil-context.cpp:239 ../src/pen-context.cpp:441 +#: ../src/pencil-context.cpp:239 +#: ../src/pen-context.cpp:441 msgid "Continuing selected path" -msgstr "" +msgstr "선택 경로 계속" -#: ../src/pencil-context.cpp:248 ../src/pen-context.cpp:451 +#: ../src/pencil-context.cpp:248 +#: ../src/pen-context.cpp:451 msgid "Creating new path" -msgstr "" +msgstr "새 경로 생성" -#: ../src/pencil-context.cpp:253 ../src/pen-context.cpp:453 +#: ../src/pencil-context.cpp:253 +#: ../src/pen-context.cpp:453 msgid "Appending to selected path" -msgstr "" +msgstr "선택 경로 더하기" #: ../src/pencil-context.cpp:336 msgid "Release here to close and finish the path." -msgstr "" +msgstr "경로를 닫기 또는 끝내기 위하여 여기에서 해제" #: ../src/pencil-context.cpp:342 msgid "Drawing a freehand path" -msgstr "" +msgstr "자유곡선 경로 그리기" #: ../src/pencil-context.cpp:347 msgid "Drag to continue the path from this point." -msgstr "" +msgstr "이 점으로부터 경로를 계속하기 위하여 끌기" #. Write curves to object #: ../src/pencil-context.cpp:409 msgid "Finishing freehand" -msgstr "" +msgstr "자유곡선 끝내는 중" -#: ../src/pencil-context.cpp:460 ../src/pen-context.cpp:237 +#: ../src/pencil-context.cpp:460 +#: ../src/pen-context.cpp:237 msgid "Drawing cancelled" -msgstr "" +msgstr "그리기 취소" #: ../src/pen-context.cpp:620 msgid "Click or click and drag to close and finish the path." -msgstr "" +msgstr "클릭 또는 클릭과 끌기 경로를 닫고 끝내기" #: ../src/pen-context.cpp:630 -msgid "" -"Click or click and drag to continue the path from this point." -msgstr "" +msgid "Click or click and drag to continue the path from this point." +msgstr "이 점으로부터 경로를 계속하기 위하여 클릭 또는 클릭과 끌기" #: ../src/pen-context.cpp:1177 #, c-format -msgid "" -"Curve segment: angle %3.2f°, distance %s; with Ctrl to " -"snap angle, Enter to finish the path" -msgstr "" +msgid "Curve segment: angle %3.2f°, distance %s; with Ctrl to snap angle, Enter to finish the path" +msgstr "곡선 세그먼트: 각도 %3.2f°, 거리 %s; Ctrl: 각도 붙이기 점 조정; Enter: 경로를 끝내기 위하여" #: ../src/pen-context.cpp:1178 #, c-format -msgid "" -"Line segment: angle %3.2f°, distance %s; with Ctrl to " -"snap angle, Enter to finish the path" -msgstr "" +msgid "Line segment: angle %3.2f°, distance %s; with Ctrl to snap angle, Enter to finish the path" +msgstr "선 세그먼트 : 각도 %3.2f°, 거리 %s; Ctrl: 각도 붙이기 점 조정; Enter: 경로를 끝내기 위하여" #: ../src/pen-context.cpp:1196 #, c-format -msgid "" -"Curve handle: angle %3.2f°, length %s; with Ctrl to snap " -"angle" -msgstr "" +msgid "Curve handle: angle %3.2f°, length %s; with Ctrl to snap angle" +msgstr "곡선 핸들: 각도 %3.2f°, 길이 %s; Ctrl: 각도 붙이기 점 조정" #: ../src/pen-context.cpp:1218 #, c-format -msgid "" -"Curve handle, symmetric: angle %3.2f°, length %s; with Ctrl to snap angle, with Shift to move this handle only" -msgstr "" +msgid "Curve handle, symmetric: angle %3.2f°, length %s; with Ctrl to snap angle, with Shift to move this handle only" +msgstr "곡선 핸들, 대칭: 각도 %3.2f°, 길이 %s; Ctrl: 각도 붙이기 점 조정 Shift: 이 핸들만 이동" #: ../src/pen-context.cpp:1219 #, c-format -msgid "" -"Curve handle: angle %3.2f°, length %s; with Ctrl to snap " -"angle, with Shift to move this handle only" -msgstr "" +msgid "Curve handle: angle %3.2f°, length %s; with Ctrl to snap angle, with Shift to move this handle only" +msgstr "곡선 핸들: 각도 %3.2f°, 길이 %s; Ctrl: 각도 붙이기 점 조정 Shift: 이 핸들만 이동" #: ../src/pen-context.cpp:1259 msgid "Drawing finished" -msgstr "" +msgstr "그리기 끝냄" #: ../src/persp3d.cpp:335 msgid "Toggle vanishing point" -msgstr "" +msgstr "소멸 점 토글" #: ../src/persp3d.cpp:346 msgid "Toggle multiple vanishing points" -msgstr "" +msgstr "다수 소멸 점 토글" #: ../src/preferences.cpp:59 #, c-format @@ -7443,472 +7027,424 @@ msgid "" "%s is not a valid preferences file.\n" "%s" msgstr "" +"%s 은 적합한 기본설정이 아님.\n" +"%s" #: ../src/preferences.cpp:60 msgid "" "Inkscape will run with default settings.\n" "New settings will not be saved." msgstr "" +"Inkscape은 기본설정으로 실행됩니다.\n" +"새 설정이 저장되지 않습니다." #: ../src/rect-context.cpp:382 -msgid "" -"Ctrl: make square or integer-ratio rect, lock a rounded corner " -"circular" -msgstr "" +msgid "Ctrl: make square or integer-ratio rect, lock a rounded corner circular" +msgstr "Ctrl: 정사각형 또는 정수비 직사각형을 생성, 둥근 모서리 원을 잠금" #: ../src/rect-context.cpp:536 #, c-format -msgid "" -"Rectangle: %s × %s (constrained to ratio %d:%d); with Shift to draw around the starting point" -msgstr "" +msgid "Rectangle: %s × %s (constrained to ratio %d:%d); with Shift to draw around the starting point" +msgstr "사각형: %s × %s (%d:%d 비로 고정); Shift: 시작점 주위로 그리기" #: ../src/rect-context.cpp:539 #, c-format -msgid "" -"Rectangle: %s × %s (constrained to golden ratio 1.618 : 1); with " -"Shift to draw around the starting point" -msgstr "" +msgid "Rectangle: %s × %s (constrained to golden ratio 1.618 : 1); with Shift to draw around the starting point" +msgstr "직사각형: %s × %s (1.618 : 1 황금비로 고정); Shift: 시작점 주위로 그리기" #: ../src/rect-context.cpp:541 #, c-format -msgid "" -"Rectangle: %s × %s (constrained to golden ratio 1 : 1.618); with " -"Shift to draw around the starting point" -msgstr "" +msgid "Rectangle: %s × %s (constrained to golden ratio 1 : 1.618); with Shift to draw around the starting point" +msgstr "직사각형: %s × %s (1 : 1.618황금비로 고정); Shift: 시작점 주위로 그리기" #: ../src/rect-context.cpp:545 #, c-format -msgid "" -"Rectangle: %s × %s; with Ctrl to make square or integer-" -"ratio rectangle; with Shift to draw around the starting point" -msgstr "" +msgid "Rectangle: %s × %s; with Ctrl to make square or integer-ratio rectangle; with Shift to draw around the starting point" +msgstr "직사각형: %s × %s; Ctrl: 정사각형이나 정수비 직사각형 생성은; Shift: 시작점 주위를 그리기" #: ../src/rect-context.cpp:566 -#, fuzzy msgid "Create rectangle" -msgstr "사각형 찾기" +msgstr "직사각형 생성" #: ../src/select-context.cpp:230 msgid "Move canceled." -msgstr "" +msgstr "이동 취소." #: ../src/select-context.cpp:238 msgid "Selection canceled." -msgstr "" +msgstr "선택 취소." #: ../src/select-context.cpp:545 -msgid "" -"Draw over objects to select them; release Alt to switch to " -"rubberband selection" -msgstr "" +msgid "Draw over objects to select them; release Alt to switch to rubberband selection" +msgstr "선택하기 위하여 객체 위를 그리기; Alt 해제: 고무줄 선택을 변경" #: ../src/select-context.cpp:547 -msgid "" -"Drag around objects to select them; press Alt to switch to " -"touch selection" -msgstr "" +msgid "Drag around objects to select them; press Alt to switch to touch selection" +msgstr "객체를 선택하기 위하여 객체 주위 끌기; Alt: 터치 선택 변경하기" #: ../src/select-context.cpp:707 -#, fuzzy msgid "Ctrl: click to select in groups; drag to move hor/vert" -msgstr "" -"노드를 선택하기 위해 클릭 한후, 재 분배 하기 위해 드래그." +msgstr "Ctrl:그룹에서 선택하기 위하여 클릭; 수평/수직 이동하기 위하여 끌기" #: ../src/select-context.cpp:708 msgid "Shift: click to toggle select; drag for rubberband selection" -msgstr "" +msgstr "Shift: 선택 토글하기 위하여 클릭" #: ../src/select-context.cpp:709 -msgid "" -"Alt: click to select under; drag to move selected or select by touch" -msgstr "" +msgid "Alt: click to select under; drag to move selected or select by touch" +msgstr "Alt: 선택하기 위하여 클릭" #: ../src/select-context.cpp:880 msgid "Selected object is not a group. Cannot enter." -msgstr "" +msgstr "선택된 객체가 그룹이 아님. 입력할 수 없음." #: ../src/selection-chemistry.cpp:194 -#, fuzzy msgid "Delete text" -msgstr "노드 삭제" +msgstr "문자열 삭제" #: ../src/selection-chemistry.cpp:202 msgid "Nothing was deleted." -msgstr "" +msgstr "삭제된 것이 없음" -#: ../src/selection-chemistry.cpp:220 ../src/text-context.cpp:995 -#: ../src/widgets/toolbox.cpp:1090 ../src/widgets/toolbox.cpp:4335 -#, fuzzy +#: ../src/selection-chemistry.cpp:220 +#: ../src/text-context.cpp:995 +#: ../src/widgets/too기lbox.cpp:1090 +#: ../src/widgets/toolbox.cpp:4335 msgid "Delete" -msgstr "삭제(_D)" +msgstr "삭제" #: ../src/selection-chemistry.cpp:235 msgid "Select object(s) to duplicate." -msgstr "" +msgstr "복제하기 위하여 객체 선택" #: ../src/selection-chemistry.cpp:285 -#, fuzzy msgid "Delete all" -msgstr "삭제(_D)" +msgstr "전체 삭제" #: ../src/selection-chemistry.cpp:409 -#, fuzzy msgid "Select some objects to group." -msgstr "클론으로 만들 객체를 선택" +msgstr "그룹화하기 위하여 객체들을 선택." -#: ../src/selection-chemistry.cpp:482 ../src/selection-describer.cpp:51 +#: ../src/selection-chemistry.cpp:482 +#: ../src/selection-describer.cpp:51 msgid "Group" msgstr "그룹" #: ../src/selection-chemistry.cpp:497 msgid "Select a group to ungroup." -msgstr "" +msgstr "그룹 해제를 위하여 그룹 선택" #: ../src/selection-chemistry.cpp:538 msgid "No groups to ungroup in the selection." -msgstr "" +msgstr "선택에서 그룹 해제할 그룹이 없음." -#: ../src/selection-chemistry.cpp:544 ../src/sp-item-group.cpp:488 -#, fuzzy +#: ../src/selection-chemistry.cpp:544 +#: ../src/sp-item-group.cpp:488 msgid "Ungroup" -msgstr "그룹" +msgstr "그룹 해제" #: ../src/selection-chemistry.cpp:605 msgid "Select object(s) to raise." -msgstr "" +msgstr "올리기 위하여 객체 선택" -#: ../src/selection-chemistry.cpp:611 ../src/selection-chemistry.cpp:672 -#: ../src/selection-chemistry.cpp:707 ../src/selection-chemistry.cpp:772 -msgid "" -"You cannot raise/lower objects from different groups or layers." -msgstr "" +#: ../src/selection-chemistry.cpp:611 +#: ../src/selection-chemistry.cpp:672 +#: ../src/selection-chemistry.cpp:707 +#: ../src/selection-chemistry.cpp:772 +msgid "You cannot raise/lower objects from different groups or layers." +msgstr "다른 그룹 또는 레이어에서 객체를 올리기/내리기 할 수 없음" #. TRANSLATORS: Only put the word "Raise" in the translation. Means "to raise an object" in the undo history #: ../src/selection-chemistry.cpp:651 -#, fuzzy msgid "undo_action|Raise" -msgstr "기능" +msgstr "되돌리기_작동|위로" #: ../src/selection-chemistry.cpp:664 msgid "Select object(s) to raise to top." -msgstr "" +msgstr "최상단으로 올리기 위하여 객체 선택" #: ../src/selection-chemistry.cpp:687 -#, fuzzy msgid "Raise to top" -msgstr "노드 올리기" +msgstr "최상단으로 올리기" #: ../src/selection-chemistry.cpp:701 msgid "Select object(s) to lower." -msgstr "" +msgstr "아래로 내리기 위하여 객체 선택" #: ../src/selection-chemistry.cpp:751 -#, fuzzy msgid "Lower" -msgstr "노드를 아래도" +msgstr "아래로" #: ../src/selection-chemistry.cpp:764 msgid "Select object(s) to lower to bottom." -msgstr "" +msgstr "최하단으로 내리기 위하여 객체 선택" #: ../src/selection-chemistry.cpp:799 msgid "Lower to bottom" -msgstr "" +msgstr "최하단으로 내리기" #: ../src/selection-chemistry.cpp:806 msgid "Nothing to undo." -msgstr "되돌리게 없음" +msgstr "되돌리기 할 작업이 없음" #: ../src/selection-chemistry.cpp:813 msgid "Nothing to redo." -msgstr "되돌리기 취소할게 없음" +msgstr "재실행할 작업이 없음" #: ../src/selection-chemistry.cpp:873 -#, fuzzy msgid "Paste" -msgstr "붙이기(_P)" +msgstr "붙여넣기" #: ../src/selection-chemistry.cpp:880 -#, fuzzy msgid "Paste style" -msgstr "불이기 종류(_S)" +msgstr "스타일 붙여넣기" #: ../src/selection-chemistry.cpp:889 msgid "Paste live path effect" -msgstr "" +msgstr "활성 경로 효과 붙여넣기" #: ../src/selection-chemistry.cpp:909 -#, fuzzy msgid "Select object(s) to remove live path effects from." -msgstr "클론으로 만들 객체를 선택" +msgstr "활성 객체 효과를 제거하기 위하여 객체 선택" #: ../src/selection-chemistry.cpp:921 -#, fuzzy msgid "Remove live path effect" -msgstr " 삭제(_m) " +msgstr "활성 경로 효과 제거" #: ../src/selection-chemistry.cpp:933 -#, fuzzy msgid "Select object(s) to remove filters from." -msgstr "클론으로 만들 객체를 선택" +msgstr "필터를 제거하기 위하여 객체 선택" #: ../src/selection-chemistry.cpp:943 #: ../src/ui/dialog/filter-effects-dialog.cpp:1363 -#, fuzzy msgid "Remove filter" -msgstr "채움 제거" +msgstr "필터 제거" #: ../src/selection-chemistry.cpp:952 -#, fuzzy msgid "Paste size" -msgstr "도트 크기" +msgstr "크기로 붙여넣기" #: ../src/selection-chemistry.cpp:960 msgid "Paste size separately" -msgstr "" +msgstr "크기 개별적으로 붙여넣기" #: ../src/selection-chemistry.cpp:971 msgid "Select object(s) to move to the layer above." -msgstr "" +msgstr "위 레이어로 이동하기 위하여 객체 선택" #: ../src/selection-chemistry.cpp:996 -#, fuzzy msgid "Raise to next layer" -msgstr "이름바뀐 레이어" +msgstr "다음 레이어로 올리기" #: ../src/selection-chemistry.cpp:1002 msgid "No more layers above." -msgstr "위로 더이상의 레이어가 없음" +msgstr "위에 더 이상의 레이어 없음" #: ../src/selection-chemistry.cpp:1016 msgid "Select object(s) to move to the layer below." -msgstr "" +msgstr "아래 레이어로 이동하기 위하여 객체 선택" #: ../src/selection-chemistry.cpp:1041 msgid "Lower to previous layer" -msgstr "" +msgstr "이전 레이어로 내리" #: ../src/selection-chemistry.cpp:1047 msgid "No more layers below." -msgstr "아래로 더이상의 레이어가 없음" +msgstr "아래에 더 이상의 레이어 없음" #: ../src/selection-chemistry.cpp:1234 -#, fuzzy msgid "Remove transform" -msgstr "이동치 저장" +msgstr "변환 제거" #: ../src/selection-chemistry.cpp:1343 msgid "Rotate 90° CW" -msgstr "" +msgstr "90도 시계방향 회전" #: ../src/selection-chemistry.cpp:1367 msgid "Rotate 90° CCW" -msgstr "" +msgstr "90도 반시계방향 회전" -#: ../src/selection-chemistry.cpp:1388 ../src/seltrans.cpp:457 +#: ../src/selection-chemistry.cpp:1388 +#: ../src/seltrans.cpp:457 #: ../src/ui/dialog/transformation.cpp:757 -#, fuzzy msgid "Rotate" -msgstr "회전(_R)" +msgstr "회전" #: ../src/selection-chemistry.cpp:1420 msgid "Rotate by pixels" -msgstr "" +msgstr "화소에 의한 회전" #: ../src/selection-chemistry.cpp:1475 msgid "Scale by whole factor" -msgstr "" +msgstr "전체 요소에 의한 비율" #: ../src/selection-chemistry.cpp:1491 msgid "Move vertically" -msgstr "" +msgstr "수직 이동" #: ../src/selection-chemistry.cpp:1494 -#, fuzzy msgid "Move horizontally" -msgstr "수평(_H)" +msgstr "수평 이동" -#: ../src/selection-chemistry.cpp:1497 ../src/selection-chemistry.cpp:1525 -#: ../src/seltrans.cpp:451 ../src/ui/dialog/transformation.cpp:680 -#, fuzzy +#: ../src/selection-chemistry.cpp:1497 +#: ../src/selection-chemistry.cpp:1525 +#: ../src/seltrans.cpp:451 +#: ../src/ui/dialog/transformation.cpp:680 msgid "Move" -msgstr "이동(_M)" +msgstr "이동" #: ../src/selection-chemistry.cpp:1519 msgid "Move vertically by pixels" -msgstr "" +msgstr "화소단위로 수직 이동" #: ../src/selection-chemistry.cpp:1522 -#, fuzzy msgid "Move horizontally by pixels" -msgstr "수평(_H)" +msgstr "화소단위로 수평 이동" #: ../src/selection-chemistry.cpp:1650 -#, fuzzy msgid "The selection has no applied path effect." -msgstr "떨어진(offset) 객체 찾지" +msgstr "선택이 적용 경로 효과를 가지지 않음." #: ../src/selection-chemistry.cpp:1694 -#, fuzzy msgid "The selection has no applied clip path." -msgstr "떨어진(offset) 객체 찾지" +msgstr "선택이 적용 자르기 경로를 가지지 않음." #: ../src/selection-chemistry.cpp:1696 -#, fuzzy msgid "The selection has no applied mask." -msgstr "떨어진(offset) 객체 찾지" +msgstr "선택이 적용 마스크를 가지지 않음." #: ../src/selection-chemistry.cpp:1854 msgid "action|Clone" -msgstr "" +msgstr "작동|복제" #: ../src/selection-chemistry.cpp:1871 msgid "Select a clone to unlink." -msgstr "" +msgstr "링크 해제하기 위하여 복제물 선택" #: ../src/selection-chemistry.cpp:1920 msgid "No clones to unlink in the selection." -msgstr "" +msgstr "선택에서 링크 해제할 복제물이 없음" #: ../src/selection-chemistry.cpp:1924 msgid "Unlink clone" -msgstr "" +msgstr "복제물 링크 해제" #: ../src/selection-chemistry.cpp:1938 -msgid "" -"Select a clone to go to its original. Select a linked offset " -"to go to its source. Select a text on path to go to the path. Select " -"a flowed text to go to its frame." -msgstr "" +msgid "Select a clone to go to its original. Select a linked offset to go to its source. Select a text on path to go to the path. Select a flowed text to go to its frame." +msgstr "원본으로 가기 위하여 복제물 선택" #: ../src/selection-chemistry.cpp:1961 -msgid "" -"Cannot find the object to select (orphaned clone, offset, textpath, " -"flowed text?)" -msgstr "" +msgid "Cannot find the object to select (orphaned clone, offset, textpath, flowed text?)" +msgstr "선택할 객체가 없음" #: ../src/selection-chemistry.cpp:1967 -msgid "" -"The object you're trying to select is not visible (it is in <" -"defs>)" -msgstr "" +msgid "The object you're trying to select is not visible (it is in <defs>)" +msgstr "선택할 객체가 보이지 않음" #: ../src/selection-chemistry.cpp:1995 -#, fuzzy msgid "Select object(s) to convert to marker." -msgstr "클론으로 만들 객체를 선택" +msgstr "마커로 변환시킬 객체를 선택" #: ../src/selection-chemistry.cpp:2061 -#, fuzzy msgid "Objects to marker" -msgstr "점선 유형" +msgstr "객체를 마커로 변환" #: ../src/selection-chemistry.cpp:2090 -#, fuzzy msgid "Select object(s) to convert to guides." -msgstr "클론으로 만들 객체를 선택" +msgstr "안내선으로 변환할 객체를 선택" #: ../src/selection-chemistry.cpp:2101 -#, fuzzy msgid "Objects to guides" -msgstr "점선 유형" +msgstr "객체를 안내선으로 변환" #: ../src/selection-chemistry.cpp:2118 msgid "Select object(s) to convert to pattern." -msgstr "" +msgstr "패턴으로 변환할 객체 선택" #: ../src/selection-chemistry.cpp:2205 -#, fuzzy msgid "Objects to pattern" -msgstr "점선 유형" +msgstr "객체를 패턴으로 변환" #: ../src/selection-chemistry.cpp:2222 msgid "Select an object with pattern fill to extract objects from." -msgstr "" +msgstr "객체를 추출하기 위하여 패턴 채움 객체 선택" #: ../src/selection-chemistry.cpp:2275 msgid "No pattern fills in the selection." -msgstr "" +msgstr "선택에서 패턴 채움이 없음" #: ../src/selection-chemistry.cpp:2278 -#, fuzzy msgid "Pattern to objects" -msgstr "간격띄우기 유형" +msgstr "페턴을 객체로 변환" #: ../src/selection-chemistry.cpp:2364 msgid "Select object(s) to make a bitmap copy." -msgstr "" +msgstr "비트맵 복사본을 생성하기 위하여 객체 선택" #: ../src/selection-chemistry.cpp:2368 -#, fuzzy msgid "Rendering bitmap..." -msgstr "되돌리기(_R)" +msgstr "비트맵 렌더링..." #: ../src/selection-chemistry.cpp:2530 -#, fuzzy msgid "Create bitmap" -msgstr "중심선" +msgstr "비트맵 생성" #: ../src/selection-chemistry.cpp:2563 -msgid "Select object(s) to create clippath or mask from." -msgstr "" +msgid "Select to create clippath or mask from." +msgstr "자르기 경로 또는 마스크 생성하기 위하여 객체선택 " #: ../src/selection-chemistry.cpp:2566 msgid "Select mask object and object(s) to apply clippath or mask to." -msgstr "" +msgstr "자르기 경로 또는 마스크를 적용하기 위한 마스크 객체와 객체 선택" #: ../src/selection-chemistry.cpp:2672 -#, fuzzy msgid "Set clipping path" -msgstr "경로 닫는중." +msgstr "자르기 경로 설정" #: ../src/selection-chemistry.cpp:2674 -#, fuzzy msgid "Set mask" -msgstr "별" +msgstr "마스크 설정" #: ../src/selection-chemistry.cpp:2688 msgid "Select object(s) to remove clippath or mask from." -msgstr "" +msgstr "자르기 경로 또는 마스크를 제거하기 위한 마스크 객체와 객체 선택" #: ../src/selection-chemistry.cpp:2756 msgid "Release clipping path" -msgstr "" +msgstr "자르기 경로 해제" #: ../src/selection-chemistry.cpp:2758 -#, fuzzy msgid "Release mask" -msgstr "로그 메세지 내보네기" +msgstr "마스크 해제" #: ../src/selection-chemistry.cpp:2769 -#, fuzzy msgid "Select object(s) to fit canvas to." -msgstr "클론으로 만들 객체를 선택" +msgstr "캔버스로 조정하기 위하여 객체 선택." #: ../src/selection-chemistry.cpp:2803 -#, fuzzy msgid "Fit page to selection" -msgstr "캔버스를 선택영역크기로 조정" +msgstr "페이지를 선택으로 조정" #. TRANSLATORS: only translate and put "Link" in the translation. It means internet link (anchor) #: ../src/selection-describer.cpp:43 msgid "web|Link" -msgstr "" +msgstr "웹|링크" #: ../src/selection-describer.cpp:45 msgid "Circle" msgstr "원" #. ellipse -#: ../src/selection-describer.cpp:47 ../src/selection-describer.cpp:73 -#: ../src/ui/dialog/inkscape-preferences.cpp:424 ../src/verbs.cpp:2425 +#: ../src/selection-describer.cpp:47 +#: ../src/selection-describer.cpp:73 +#: ../src/ui/dialog/inkscape-preferences.cpp:424 +#: ../src/verbs.cpp:2425 msgid "Ellipse" msgstr "타원" #: ../src/selection-describer.cpp:49 msgid "Flowed text" -msgstr "" +msgstr "유동 문자열" #: ../src/selection-describer.cpp:55 msgid "Line" @@ -7916,11 +7452,12 @@ msgstr "선" #: ../src/selection-describer.cpp:57 msgid "Path" -msgstr "곡선" +msgstr "경로" -#: ../src/selection-describer.cpp:59 ../src/widgets/toolbox.cpp:2028 +#: ../src/selection-describer.cpp:59 +#: ../src/widgets/toolbox.cpp:2028 msgid "Polygon" -msgstr "폴리곤" +msgstr "다각형" #: ../src/selection-describer.cpp:61 msgid "Polyline" @@ -7928,226 +7465,202 @@ msgstr "폴리라인" #. Rectangle #: ../src/selection-describer.cpp:63 -#: ../src/ui/dialog/inkscape-preferences.cpp:414 ../src/verbs.cpp:2421 +#: ../src/ui/dialog/inkscape-preferences.cpp:414 +#: ../src/verbs.cpp:2421 msgid "Rectangle" -msgstr "사격형" +msgstr "사각형" #. 3D box #: ../src/selection-describer.cpp:65 -#: ../src/ui/dialog/inkscape-preferences.cpp:419 ../src/verbs.cpp:2423 -#, fuzzy +#: ../src/ui/dialog/inkscape-preferences.cpp:419 +#: ../src/verbs.cpp:2423 msgid "3D Box" -msgstr "박스" +msgstr "3D 상자" #: ../src/selection-describer.cpp:71 msgid "object|Clone" -msgstr "" +msgstr "객체|복제" #: ../src/selection-describer.cpp:75 msgid "Offset path" -msgstr "곡선 간격 띄우기" +msgstr "옵셋 경로" #. spiral #: ../src/selection-describer.cpp:77 -#: ../src/ui/dialog/inkscape-preferences.cpp:432 ../src/verbs.cpp:2429 +#: ../src/ui/dialog/inkscape-preferences.cpp:432 +#: ../src/verbs.cpp:2429 msgid "Spiral" -msgstr "" +msgstr "나선" #. star #: ../src/selection-describer.cpp:79 -#: ../src/ui/dialog/inkscape-preferences.cpp:428 ../src/verbs.cpp:2427 +#: ../src/ui/dialog/inkscape-preferences.cpp:428 +#: ../src/verbs.cpp:2427 #: ../src/widgets/toolbox.cpp:2035 msgid "Star" -msgstr "볆" +msgstr "별" #: ../src/selection-describer.cpp:107 msgid "Click selection to toggle scale/rotation handles" -msgstr "" +msgstr "핸들 비율/회전을 토글하기 위하여 선택 클릭" #. no items #: ../src/selection-describer.cpp:109 -msgid "" -"No objects selected. Click, Shift+click, or drag around objects to select." -msgstr "" +msgid "No objects selected. Click, Shift+click, or drag around objects to select." +msgstr "선택된 객체가 없음. 클릭, Shift+클릭, 또는 선택하기 위하여 객체 주변을 끌기" #: ../src/selection-describer.cpp:118 msgid "root" -msgstr "" +msgstr "루트" #: ../src/selection-describer.cpp:130 #, c-format msgid "layer %s" -msgstr "" +msgstr "레이어 %s" #: ../src/selection-describer.cpp:132 #, c-format msgid "layer %s" -msgstr "" +msgstr "레이어 %s" #: ../src/selection-describer.cpp:141 #, c-format msgid "%s" -msgstr "" +msgstr "%s" #: ../src/selection-describer.cpp:150 #, c-format msgid " in %s" -msgstr "" +msgstr " %s" #: ../src/selection-describer.cpp:152 #, c-format msgid " in group %s (%s)" -msgstr "" +msgstr " %s (%s) 그룹" #: ../src/selection-describer.cpp:154 #, c-format msgid " in %i parents (%s)" -msgid_plural " in %i parents (%s)" -msgstr[0] "" -msgstr[1] "" +msgstr "%i 부모 (%s)" #: ../src/selection-describer.cpp:157 #, c-format msgid " in %i layers" -msgid_plural " in %i layers" -msgstr[0] "" -msgstr[1] "" +msgstr "%i 레이어" #: ../src/selection-describer.cpp:167 msgid "Use Shift+D to look up original" -msgstr "" +msgstr "원본을 찾기 위해 Shift+D" #: ../src/selection-describer.cpp:171 msgid "Use Shift+D to look up path" -msgstr "" +msgstr "경로를 찾기 위해 Shift+D" #: ../src/selection-describer.cpp:175 msgid "Use Shift+D to look up frame" -msgstr "" +msgstr "프레임을 찾기 위해 Shift+D" #. this is only used with 2 or more objects #: ../src/selection-describer.cpp:190 #, c-format msgid "%i object selected" -msgid_plural "%i objects selected" -msgstr[0] "" -msgstr[1] "" +msgstr "%i 객체 선택" #. this is only used with 2 or more objects #: ../src/selection-describer.cpp:195 #, c-format msgid "%i object of type %s" -msgid_plural "%i objects of type %s" -msgstr[0] "" -msgstr[1] "" +msgstr "%i %s 형태 객체" #. this is only used with 2 or more objects #: ../src/selection-describer.cpp:200 #, c-format msgid "%i object of types %s, %s" -msgid_plural "%i objects of types %s, %s" -msgstr[0] "" -msgstr[1] "" +msgstr "%i %s, %s 형태 객체" #. this is only used with 2 or more objects #: ../src/selection-describer.cpp:205 #, c-format msgid "%i object of types %s, %s, %s" -msgid_plural "%i objects of types %s, %s, %s" -msgstr[0] "" -msgstr[1] "" +msgstr "%i 객체 형태 %s, %s, %s" #. this is only used with 2 or more objects #: ../src/selection-describer.cpp:210 #, c-format msgid "%i object of %i types" -msgid_plural "%i objects of %i types" -msgstr[0] "" -msgstr[1] "" +msgstr "%i %i 형태 객체" #: ../src/selection-describer.cpp:215 #, c-format msgid "%s%s. %s." -msgstr "" +msgstr "%s%s. %s." -#: ../src/seltrans.cpp:460 ../src/ui/dialog/transformation.cpp:815 +#: ../src/seltrans.cpp:460 +#: ../src/ui/dialog/transformation.cpp:815 msgid "Skew" -msgstr "" +msgstr "찌그러짐" #: ../src/seltrans.cpp:472 -#, fuzzy msgid "Set center" -msgstr "프린터 선택" +msgstr "중앙 설정" #: ../src/seltrans.cpp:569 -msgid "" -"Center of rotation and skewing: drag to reposition; scaling with " -"Shift also uses this center" -msgstr "" +msgid "Center of rotation and skewing: drag to reposition; scaling with Shift also uses this center" +msgstr "회전 및 기울이기의 중심점: 재 위치 시키기 위하여 끌기; Shift: 중앙에서 사용 가능" #: ../src/seltrans.cpp:596 -msgid "" -"Squeeze or stretch selection; with Ctrl to scale uniformly; " -"with Shift to scale around rotation center" -msgstr "" +msgid "Squeeze or stretch selection; with Ctrl to scale uniformly; with Shift to scale around rotation center" +msgstr "선택을 축소 또는 확장; Ctrl: 일정하게 비율 조정; Shift: 회전 중심 주위로 비율 조정" #: ../src/seltrans.cpp:597 -msgid "" -"Scale selection; with Ctrl to scale uniformly; with Shift to scale around rotation center" -msgstr "" +msgid "Scale selection; with Ctrl to scale uniformly; with Shift to scale around rotation center" +msgstr "선택 비율 조정: Ctrl: 균일하게 비율 조정; Shift: 회전 중심 주변 비율 조정" #: ../src/seltrans.cpp:601 -msgid "" -"Skew selection; with Ctrl to snap angle; with Shift to " -"skew around the opposite side" -msgstr "" +msgid "Skew selection; with Ctrl to snap angle; with Shift to skew around the opposite side" +msgstr "선택 기울이기: Ctrl: 각도 붙이기 점 조정; Shift: 반대면 주변 기울이기" #: ../src/seltrans.cpp:602 -msgid "" -"Rotate selection; with Ctrl to snap angle; with Shift " -"to rotate around the opposite corner" -msgstr "" +msgid "Rotate selection; with Ctrl to snap angle; with Shift to rotate around the opposite corner" +msgstr "선택 회전; Ctrl: 각도 붙이기 점 조정; Shift: 반대 모서리 주변 회전" #: ../src/seltrans.cpp:736 -#, fuzzy msgid "Reset center" -msgstr "프린터 선택" +msgstr "중앙 초기화" -#: ../src/seltrans.cpp:980 ../src/seltrans.cpp:1079 +#: ../src/seltrans.cpp:980 +#: ../src/seltrans.cpp:1079 #, c-format msgid "Scale: %0.2f%% x %0.2f%%; with Ctrl to lock ratio" -msgstr "" +msgstr "비율: %0.2f%% x %0.2f%%; Ctrl: 비율 잠금" #. TRANSLATORS: don't modify the first ";" #. (it will NOT be displayed as ";" - only the second one will be) #: ../src/seltrans.cpp:1196 #, c-format msgid "Skew: %0.2f°; with Ctrl to snap angle" -msgstr "" +msgstr "기울이기: %0.2f°; Ctrl: 각도 붙이기 점 조정" #. TRANSLATORS: don't modify the first ";" #. (it will NOT be displayed as ";" - only the second one will be) #: ../src/seltrans.cpp:1255 #, c-format msgid "Rotate: %0.2f°; with Ctrl to snap angle" -msgstr "" +msgstr "회전: %0.2f°; Ctrl: 각도 붙이기 점 조정" #: ../src/seltrans.cpp:1296 #, c-format msgid "Move center to %s, %s" -msgstr "" +msgstr "중앙 %s, %s 로 이동" #: ../src/seltrans.cpp:1457 #, c-format -msgid "" -"Move by %s, %s; with Ctrl to restrict to horizontal/vertical; " -"with Shift to disable snapping" -msgstr "" +msgid "Move by %s, %s; with Ctrl to restrict to horizontal/vertical; with Shift to disable snapping" +msgstr "이동 %s, %s; Ctrl: 수평/수직으로 제한; Shift: 붙이기 불가능" #: ../src/shape-editor.cpp:397 msgid "Drag curve" -msgstr "" +msgstr "곡선 끌기" #: ../src/sp-anchor.cpp:178 #, c-format @@ -8156,9 +7669,10 @@ msgstr "링크 를 %s" #: ../src/sp-anchor.cpp:182 msgid "Link without URI" -msgstr "URL 을 포함 않한 링크" +msgstr "URL을 포함하지 않는링크" -#: ../src/sp-ellipse.cpp:494 ../src/sp-ellipse.cpp:873 +#: ../src/sp-ellipse.cpp:494 +#: ../src/sp-ellipse.cpp:873 msgid "Ellipse" msgstr "타원" @@ -8168,16 +7682,16 @@ msgstr "원" #: ../src/sp-ellipse.cpp:868 msgid "Segment" -msgstr "" +msgstr "세그먼트" #: ../src/sp-ellipse.cpp:870 msgid "Arc" -msgstr "원호" +msgstr "호" #. TRANSLATORS: "Flow region" is an area where text is allowed to flow #: ../src/sp-flowregion.cpp:269 msgid "Flow region" -msgstr "" +msgstr "흐름 구간" #. TRANSLATORS: A region "cut out of" a flow region; text is not allowed to flow inside the #. * flow excluded region. flowRegionExclude in SVG 1.2: see @@ -8185,49 +7699,43 @@ msgstr "" #. * http://www.w3.org/TR/2004/WD-SVG12-20041027/flow.html#flowRegionExclude-elem. #: ../src/sp-flowregion.cpp:488 msgid "Flow excluded region" -msgstr "" +msgstr "흐름 제외 구간" #: ../src/sp-flowtext.cpp:377 #, c-format msgid "Flowed text (%d character)" -msgid_plural "Flowed text (%d characters)" -msgstr[0] "" -msgstr[1] "" +msgstr "유동 문자열 (%d 문자)" #: ../src/sp-flowtext.cpp:379 #, c-format msgid "Linked flowed text (%d character)" -msgid_plural "Linked flowed text (%d characters)" -msgstr[0] "" -msgstr[1] "" +msgstr "링크된 유동 문자열 (%d 문자)" #: ../src/sp-guide.cpp:285 msgid "Guides around page" -msgstr "" +msgstr "페이지 안내선" #: ../src/sp-guide.cpp:418 -#, fuzzy, c-format msgid "vertical, at %s" -msgstr "수직 가이드 라인" +msgstr "%s 수직" #: ../src/sp-guide.cpp:421 -#, fuzzy, c-format msgid "horizontal, at %s" -msgstr "수평 가이드 라인" +msgstr "%s 수평" #: ../src/sp-guide.cpp:426 #, c-format msgid "at %d degrees, through (%s,%s); Ctrl+click to delete" -msgstr "" +msgstr "%d 도 (%s,%s) 통한 ; Ctrl+클릭: 삭제" #: ../src/sp-image.cpp:1098 msgid "embedded" -msgstr "삽입된" +msgstr "내장" #: ../src/sp-image.cpp:1106 #, c-format msgid "Image with bad reference: %s" -msgstr "잘못된 참조의 이미지: %s" +msgstr "잘못된 참조를 가진 이미지: %s" #: ../src/sp-image.cpp:1107 #, c-format @@ -8236,22 +7744,20 @@ msgstr "이미지 %d·×·%d:·%s" #: ../src/spiral-context.cpp:341 msgid "Ctrl: snap angle" -msgstr "" +msgstr "Ctrl: 각도 붙이기 점 조정" #: ../src/spiral-context.cpp:343 msgid "Alt: lock spiral radius" -msgstr "" +msgstr "Alt: 나선 반경 잠금" #: ../src/spiral-context.cpp:466 #, c-format -msgid "" -"Spiral: radius %s, angle %5g°; with Ctrl to snap angle" -msgstr "" +msgid "Spiral: radius %s, angle %5g°; with Ctrl to snap angle" +msgstr "나선: 반경 %s, 각도 %5g°; Ctrl: 각도 붙이기 점 조정" #: ../src/spiral-context.cpp:487 -#, fuzzy msgid "Create spiral" -msgstr "중심선" +msgstr "나선 생성" #: ../src/sp-item.cpp:959 msgid "Object" @@ -8260,277 +7766,248 @@ msgstr "객체" #: ../src/sp-item.cpp:976 #, c-format msgid "%s; clipped" -msgstr "" +msgstr "%s; 잘라내기" #: ../src/sp-item.cpp:981 #, c-format msgid "%s; masked" -msgstr "" +msgstr "%s; 마스크됨" #: ../src/sp-item.cpp:986 #, c-format msgid "%s; filtered" -msgstr "" +msgstr "%s; 필터됨" #: ../src/sp-item-group.cpp:738 -#, fuzzy, c-format +#, c-format msgid "Group of %d object" -msgid_plural "Group of %d objects" -msgstr[0] "%d 객체의 그룹" -msgstr[1] "%d 객체의 그룹" +msgstr "%d 객체의 그룹" #: ../src/sp-line.cpp:188 msgid "Line" msgstr "선" -#: ../src/splivarot.cpp:71 ../src/splivarot.cpp:77 -#, fuzzy +#: ../src/splivarot.cpp:71 +#: ../src/splivarot.cpp:77 msgid "Union" -msgstr "알수 없는" +msgstr "합" #: ../src/splivarot.cpp:83 -#, fuzzy msgid "Intersection" -msgstr "선택" +msgstr "교차" -#: ../src/splivarot.cpp:89 ../src/splivarot.cpp:95 -#, fuzzy +#: ../src/splivarot.cpp:89 +#: ../src/splivarot.cpp:95 msgid "Difference" -msgstr "다름" +msgstr "ì°¨" #: ../src/splivarot.cpp:101 -#, fuzzy msgid "Exclusion" -msgstr "확장 \"" +msgstr "제외" #: ../src/splivarot.cpp:106 msgid "Division" -msgstr "" +msgstr "나누기" #: ../src/splivarot.cpp:111 -#, fuzzy msgid "Cut path" -msgstr "곡선" +msgstr "경로 자르기" #: ../src/splivarot.cpp:128 msgid "Select at least 2 paths to perform a boolean operation." -msgstr "" +msgstr "부울식을 수행하기 위하여 최소 2개 경로 선택" #: ../src/splivarot.cpp:132 msgid "Select at least 1 path to perform a boolean union." -msgstr "" +msgstr "부울 합을 수행하기 위하여 최소 1개 경로 선택" #: ../src/splivarot.cpp:138 -msgid "" -"Select exactly 2 paths to perform difference, XOR, division, or path " -"cut." -msgstr "" +msgid "Select exactly 2 paths to perform difference, XOR, division, or path cut." +msgstr "ì°¨, Xor, 나누기, 잘라내기를 수행하기 위하여 정확히 2개 경로 선택." -#: ../src/splivarot.cpp:155 ../src/splivarot.cpp:170 -msgid "" -"Unable to determine the z-order of the objects selected for " -"difference, XOR, division, or path cut." -msgstr "" +#: ../src/splivarot.cpp:155 +#: ../src/splivarot.cpp:170 +msgid "Unable to determine the z-order of the objects selected for difference, XOR, division, or path cut." +msgstr "ì°¨, Xor, 나누기, 잘라내기를 위해 선택된 객체의 Z-순서를 결정할 수 없음" #: ../src/splivarot.cpp:200 -msgid "" -"One of the objects is not a path, cannot perform boolean operation." -msgstr "" +msgid "One of the objects is not a path, cannot perform boolean operation." +msgstr "객체들 중 하나가 경로가 없음, 부울식을 수행할 수 없음" #: ../src/splivarot.cpp:610 msgid "Select stroked path(s) to convert stroke to path." -msgstr "" +msgstr "윤곽선을 경로로 변환시키기 위하여 윤곽선 경로 선택" #: ../src/splivarot.cpp:894 -#, fuzzy msgid "Convert stroke to path" -msgstr "글자를 곡선으로 변환" +msgstr "윤곽선를 경로로 변환" #. TRANSLATORS: "to outline" means "to convert stroke to path" #: ../src/splivarot.cpp:897 msgid "No stroked paths in the selection." -msgstr "" +msgstr "선택에서 윤곽선 경로가 없음" #: ../src/splivarot.cpp:981 msgid "Selected object is not a path, cannot inset/outset." -msgstr "" +msgstr "선택 객체가 경로가 없음, 축소/확대할 수 없음" -#: ../src/splivarot.cpp:1101 ../src/splivarot.cpp:1170 -#, fuzzy +#: ../src/splivarot.cpp:1101 +#: ../src/splivarot.cpp:1170 msgid "Create linked offset" -msgstr "중심선" +msgstr "링크된 옵셋 생성" -#: ../src/splivarot.cpp:1102 ../src/splivarot.cpp:1171 -#, fuzzy +#: ../src/splivarot.cpp:1102 +#: ../src/splivarot.cpp:1171 msgid "Create dynamic offset" -msgstr "떨어진(offset) 객체 찾지" +msgstr "동적 옵셋 생성" #: ../src/splivarot.cpp:1198 msgid "Select path(s) to inset/outset." -msgstr "" +msgstr "축소/확대하기 위하여 경로 선택" #: ../src/splivarot.cpp:1416 -#, fuzzy msgid "Outset path" -msgstr "곡선 간격 띄우기" +msgstr "경로 확대" #: ../src/splivarot.cpp:1416 -#, fuzzy msgid "Inset path" -msgstr "곡선 간격 띄우기" +msgstr "경로 축소" #: ../src/splivarot.cpp:1418 msgid "No paths to inset/outset in the selection." -msgstr "" +msgstr "선택에서 축소/확대하기 위한 경로 없음" #: ../src/splivarot.cpp:1579 msgid "Simplifying paths (separately):" -msgstr "" +msgstr "경로 단순화(개별):" #: ../src/splivarot.cpp:1581 -#, fuzzy msgid "Simplifying paths:" -msgstr "경로 닫는중." +msgstr "경로 단순화:" #: ../src/splivarot.cpp:1618 #, c-format msgid "%s %d of %d paths simplified..." -msgstr "" +msgstr "%s %d %d의 경로 단순화..." #: ../src/splivarot.cpp:1629 #, c-format msgid "%d paths simplified." -msgstr "" +msgstr "%d 경로 단순화함" #: ../src/splivarot.cpp:1645 msgid "Select path(s) to simplify." -msgstr "" +msgstr "단순화 위하여 경로 선택" #: ../src/splivarot.cpp:1659 -#, fuzzy msgid "Simplify" -msgstr "단순화(_m)" +msgstr "단순화" #: ../src/splivarot.cpp:1661 msgid "No paths to simplify in the selection." -msgstr "" +msgstr "선택에서 단순화시킬 경로가 없음" #. TRANSLATORS COMMENT: %s is either "outset" or "inset" depending on sign #: ../src/sp-offset.cpp:432 #, c-format msgid "Linked offset, %s by %f pt" -msgstr "" +msgstr "링크 옵셋, %s %f 포인트" -#: ../src/sp-offset.cpp:433 ../src/sp-offset.cpp:437 +#: ../src/sp-offset.cpp:433 +#: ../src/sp-offset.cpp:437 msgid "outset" -msgstr "" +msgstr "확대" -#: ../src/sp-offset.cpp:433 ../src/sp-offset.cpp:437 +#: ../src/sp-offset.cpp:433 +#: ../src/sp-offset.cpp:437 msgid "inset" -msgstr "" +msgstr "축소" #. TRANSLATORS COMMENT: %s is either "outset" or "inset" depending on sign #: ../src/sp-offset.cpp:436 #, c-format msgid "Dynamic offset, %s by %f pt" -msgstr "" +msgstr "동적 옵셋, %s %f 포인트" #: ../src/sp-path.cpp:135 -#, c-format -msgid "Path (%i node, path effect)" -msgid_plural "Path (%i nodes, path effect)" -msgstr[0] "" -msgstr[1] "" - #: ../src/sp-path.cpp:138 #, c-format msgid "Path (%i node)" -msgid_plural "Path (%i nodes)" -msgstr[0] "" -msgstr[1] "" +msgstr "경로 %i 노드" #: ../src/sp-path.cpp:540 -#, fuzzy msgid "Creating single dot" -msgstr "새 연결자 생성" +msgstr "단일 점 생성" #: ../src/sp-path.cpp:541 -#, fuzzy msgid "Create single dot" -msgstr "중심선" +msgstr "단일 점 생성" #: ../src/sp-polygon.cpp:235 msgid "Polygon" -msgstr "" +msgstr "다각형" #: ../src/sp-polyline.cpp:177 msgid "Polyline" -msgstr "" +msgstr "폴리라인" #: ../src/sp-rect.cpp:226 msgid "Rectangle" -msgstr "사각형" +msgstr "직사각형" #. TRANSLATORS: since turn count isn't an integer, please adjust the #. string as needed to deal with an localized plural forms. #: ../src/sp-spiral.cpp:324 #, c-format msgid "Spiral with %3f turns" -msgstr "" +msgstr "%3f 회전수를 가진 나선" #: ../src/sp-star.cpp:307 #, c-format msgid "Star with %d vertex" -msgid_plural "Star with %d vertices" -msgstr[0] "" -msgstr[1] "" +msgstr "%d 꼭지점을 가진 별" #: ../src/sp-star.cpp:311 #, c-format msgid "Polygon with %d vertex" -msgid_plural "Polygon with %d vertices" -msgstr[0] "" -msgstr[1] "" +msgstr "%d 꼭지점을 가진 다각형" #: ../src/sp-switch.cpp:100 #, c-format msgid "Conditional group of %d object" -msgid_plural "Conditional group of %d objects" -msgstr[0] "" -msgstr[1] "" +msgstr "%d 객체의 ì¡°ê±´ 그룹" #. TRANSLATORS: For description of font with no name. #: ../src/sp-text.cpp:414 msgid "<no name found>" -msgstr "" +msgstr "<이름이 없음>" #: ../src/sp-text.cpp:420 #, c-format msgid "Text on path (%s, %s)" -msgstr "" +msgstr "경로상 문자열 (%s, %s)" #: ../src/sp-text.cpp:421 #, c-format msgid "Text (%s, %s)" -msgstr "" +msgstr "문자열 (%s, %s)" #: ../src/sp-tref.cpp:368 #, c-format msgid "Cloned character data%s%s" -msgstr "" +msgstr "복제된 문자 자료%s%s" #: ../src/sp-tref.cpp:369 msgid " from " -msgstr "" +msgstr " 에서 " #: ../src/sp-tref.cpp:374 msgid "Orphaned cloned character data" -msgstr "" +msgstr "잃은 복제된 문자 자료" #: ../src/sp-tspan.cpp:284 -#, fuzzy msgid "Text span" -msgstr "사각형" +msgstr "문자열 폭" #. TRANSLATORS: Used for statusbar description for long chains: #. * "Clone of: Clone of: ... in Layer 1". @@ -8541,614 +8018,532 @@ msgstr "..." #: ../src/sp-use.cpp:326 #, c-format msgid "Clone of: %s" -msgstr "" +msgstr "복제 객체: %s" #: ../src/sp-use.cpp:330 msgid "Orphaned clone" -msgstr "" +msgstr "지원이 없는 복제 객체" #: ../src/star-context.cpp:352 msgid "Ctrl: snap angle; keep rays radial" -msgstr "" +msgstr "Ctrl: 각도 붙이기 점 조정; 빛을 방사로 유지" #: ../src/star-context.cpp:476 #, c-format -msgid "" -"Polygon: radius %s, angle %5g°; with Ctrl to snap angle" -msgstr "" +msgid "Polygon: radius %s, angle %5g°; with Ctrl to snap angle" +msgstr "다각형: 반경 %s 화소, 각도 %5g도; 각도를 붙이기 위하여 Ctrl" #: ../src/star-context.cpp:477 #, c-format msgid "Star: radius %s, angle %5g°; with Ctrl to snap angle" -msgstr "" +msgstr "별: 반경 %s 화소, 각도 %5g 도;각도를 붙이기 위하여 Ctrl " #: ../src/star-context.cpp:500 -#, fuzzy msgid "Create star" -msgstr "중심선" +msgstr "별 생성" #: ../src/text-chemistry.cpp:104 msgid "Select a text and a path to put text on path." -msgstr "" +msgstr "경로상에서 문자열을 놓기 위하여 문자열과 경로 선택" #: ../src/text-chemistry.cpp:109 -msgid "" -"This text object is already put on a path. Remove it from the path " -"first. Use Shift+D to look up its path." -msgstr "" +msgid "This text object is already put on a path. Remove it from the path first. Use Shift+D to look up its path." +msgstr "이 문자열 객체는 별써 경로상에 있음. 경로에서 처음에 제거. Shift+D: 경로를 찾기" #. rect is the only SPShape which is not yet, and thus SVG forbids us from putting text on it #: ../src/text-chemistry.cpp:115 -msgid "" -"You cannot put text on a rectangle in this version. Convert rectangle to " -"path first." -msgstr "" +msgid "You cannot put text on a rectangle in this version. Convert rectangle to path first." +msgstr "이 버전에서 직사각형에 문자열을 넣을 수 없음. 직사각형을 경로로 먼저 변환." #: ../src/text-chemistry.cpp:125 msgid "The flowed text(s) must be visible in order to be put on a path." -msgstr "" +msgstr "유동 문자열은 경로상에 놓기 위하여 ë³¼ 수 있어야 합니다." -#: ../src/text-chemistry.cpp:192 ../src/verbs.cpp:2283 +#: ../src/text-chemistry.cpp:192 +#: ../src/verbs.cpp:2283 msgid "Put text on path" -msgstr "" +msgstr "문자열을 경로에 두기" #: ../src/text-chemistry.cpp:204 msgid "Select a text on path to remove it from path." -msgstr "" +msgstr "경로에서 문자열을 제거하기 위하여 경로상의 문자열 선택" #: ../src/text-chemistry.cpp:226 msgid "No texts-on-paths in the selection." -msgstr "" +msgstr "선택에서 경로상 선택 없음" -#: ../src/text-chemistry.cpp:229 ../src/verbs.cpp:2285 +#: ../src/text-chemistry.cpp:229 +#: ../src/verbs.cpp:2285 msgid "Remove text from path" -msgstr "" +msgstr "경로에서 문자열 제거" -#: ../src/text-chemistry.cpp:269 ../src/text-chemistry.cpp:290 +#: ../src/text-chemistry.cpp:269 +#: ../src/text-chemistry.cpp:290 msgid "Select text(s) to remove kerns from." -msgstr "" +msgstr "수동꼬리장식을 제거하기 위하여 문자열 선택" #: ../src/text-chemistry.cpp:293 msgid "Remove manual kerns" -msgstr "" +msgstr "수동 꼬리장식 제거" #: ../src/text-chemistry.cpp:313 -msgid "" -"Select a text and one or more paths or shapes to flow text " -"into frame." -msgstr "" +msgid "Select a text and one or more paths or shapes to flow text into frame." +msgstr "문자열을 프레임으로 넣기 위하여 한 개 이상의 경로 또는 모양과 문자열을 선택." #: ../src/text-chemistry.cpp:381 -#, fuzzy msgid "Flow text into shape" -msgstr "새로운 텍스트 노드" +msgstr "유동 문자열을 모양으로" #: ../src/text-chemistry.cpp:403 msgid "Select a flowed text to unflow it." -msgstr "" +msgstr "문자열의 유동을 취소하기 위하여 유동 문자열 선택" #: ../src/text-chemistry.cpp:470 msgid "Unflow flowed text" -msgstr "" +msgstr "유동 문자열을 유동 취소" #: ../src/text-chemistry.cpp:482 -#, fuzzy msgid "Select flowed text(s) to convert." -msgstr "클론으로 만들 객체를 선택" +msgstr "바꾸기 위한 유동 문자열." #: ../src/text-chemistry.cpp:500 msgid "The flowed text(s) must be visible in order to be converted." -msgstr "" +msgstr "변환시키기 위하여 유동 문자열은 ë³¼ 수 있어야 합니다." #: ../src/text-chemistry.cpp:528 -#, fuzzy msgid "Convert flowed text to text" -msgstr "글자를 곡선으로 변환" +msgstr "유동 문자열을 문자열로 변환" #: ../src/text-chemistry.cpp:533 msgid "No flowed text(s) to convert in the selection." -msgstr "" +msgstr "선택에서 변환시킬 유동 문자열이 없음" #: ../src/text-context.cpp:452 msgid "Click to edit the text, drag to select part of the text." -msgstr "" +msgstr "문자열을 편집하기 위하여 클릭, 문자열 부분을 선택하기 위하여 끌기" #: ../src/text-context.cpp:454 -msgid "" -"Click to edit the flowed text, drag to select part of the text." -msgstr "" +msgid "Click to edit the flowed text, drag to select part of the text." +msgstr "유동 문자열을 편집하기 위하여 클릭, 문자열 부분을 선택하기 위하여 끌기" #: ../src/text-context.cpp:508 -#, fuzzy msgid "Create text" -msgstr "노드 삭제" +msgstr "문자열 생성" #: ../src/text-context.cpp:532 msgid "Non-printable character" -msgstr "" +msgstr "비출력 문자" #: ../src/text-context.cpp:547 msgid "Insert Unicode character" -msgstr "" +msgstr "유니코드 문자 삽입" #: ../src/text-context.cpp:582 #, c-format msgid "Unicode (Enter to finish): %s: %s" -msgstr "" +msgstr "유니코드( 끝내기 위하여 Enter): %s: %s" -#: ../src/text-context.cpp:584 ../src/text-context.cpp:849 +#: ../src/text-context.cpp:584 +#: ../src/text-context.cpp:849 msgid "Unicode (Enter to finish): " -msgstr "" +msgstr "유니코드(끝내기 위하여 Enter):" #: ../src/text-context.cpp:659 #, c-format msgid "Flowed text frame: %s × %s" -msgstr "" +msgstr "유동 문자열 프레임: %s × %s" -#: ../src/text-context.cpp:691 ../src/text-context.cpp:1544 +#: ../src/text-context.cpp:691 +#: ../src/text-context.cpp:1544 msgid "Type text; Enter to start new line." -msgstr "" +msgstr "문자열 입력: 새 줄을 시작하기 위하여 Enter" #: ../src/text-context.cpp:704 msgid "Flowed text is created." -msgstr "" +msgstr "유동 문자열 생성" #: ../src/text-context.cpp:706 msgid "Create flowed text" -msgstr "" +msgstr "유동 문자열 생성" #: ../src/text-context.cpp:708 -msgid "" -"The frame is too small for the current font size. Flowed text not " -"created." -msgstr "" +msgid "The frame is too small for the current font size. Flowed text not created." +msgstr "프레임이 현재 글꼴 크기에 대하여 너무 작음. 문자열을 생성할 수 없음" #: ../src/text-context.cpp:834 msgid "No-break space" -msgstr "" +msgstr "개행없음 공백" #: ../src/text-context.cpp:836 msgid "Insert no-break space" -msgstr "" +msgstr "개행 없음 공백 삽입" #: ../src/text-context.cpp:873 -#, fuzzy msgid "Make bold" -msgstr "완전히 만들기" +msgstr "진하게" #: ../src/text-context.cpp:891 msgid "Make italic" -msgstr "" +msgstr "이태릭" #: ../src/text-context.cpp:930 -#, fuzzy msgid "New line" -msgstr "중심선" +msgstr "새 선" #: ../src/text-context.cpp:964 msgid "Backspace" -msgstr "" +msgstr "백스페이스" #: ../src/text-context.cpp:1012 msgid "Kern to the left" -msgstr "" +msgstr "꼬리장식을 왼쪽으로" #: ../src/text-context.cpp:1034 -#, fuzzy msgid "Kern to the right" -msgstr "출력 목적지" +msgstr "꼬리장식을 오른쪽으로" #: ../src/text-context.cpp:1056 msgid "Kern up" -msgstr "" +msgstr "꼬리장식을 위로" #: ../src/text-context.cpp:1079 msgid "Kern down" -msgstr "" +msgstr "꼬리장식을 아래로" #: ../src/text-context.cpp:1135 -#, fuzzy msgid "Rotate counterclockwise" -msgstr "시계방향으로 회전" +msgstr "반시계방향으로 회전" #: ../src/text-context.cpp:1156 -#, fuzzy msgid "Rotate clockwise" msgstr "시계방향으로 회전" -#: ../src/text-context.cpp:1173 -#, fuzzy -msgid "Contract line spacing" -msgstr "줄 간격:" - #: ../src/text-context.cpp:1181 msgid "Contract letter spacing" -msgstr "" +msgstr "문자 간격 축소" #: ../src/text-context.cpp:1200 -#, fuzzy msgid "Expand line spacing" -msgstr "줄 간격:" +msgstr "줄 간격 확대" #: ../src/text-context.cpp:1208 -#, fuzzy msgid "Expand letter spacing" -msgstr "간격 설정:" +msgstr "문자 간격 확대" #: ../src/text-context.cpp:1312 -#, fuzzy msgid "Paste text" -msgstr "불이기 종류(_S)" +msgstr "문자열 붙여넣기" #: ../src/text-context.cpp:1542 msgid "Type flowed text; Enter to start new paragraph." -msgstr "" +msgstr "유동 문자열 입력; 새 문단을 시작하기 위하여 Enter." -#: ../src/text-context.cpp:1552 ../src/tools-switch.cpp:211 -msgid "" -"Click to select or create text, drag to create flowed text; " -"then type." -msgstr "" +#: ../src/text-context.cpp:1552 +#: ../src/tools-switch.cpp:211 +msgid "Click to select or create text, drag to create flowed text; then type." +msgstr "문자열을 선택 또는 생성하기 위하여 클릭, 유동 문자열을 생성하기 위하여 끌기 한 후 입력." #: ../src/text-context.cpp:1659 -#, fuzzy msgid "Type text" -msgstr "형태(_y): " +msgstr "문자열 입력" #: ../src/text-editing.cpp:40 msgid "You cannot edit cloned character data." -msgstr "" +msgstr "복제 문자 자료를 편집할 수 없음." #: ../src/tools-switch.cpp:151 -msgid "" -"To edit a path, click, Shift+click, or drag around " -"nodes to select them, then drag nodes and handles. Click on an " -"object to select." -msgstr "" +msgid "To edit a path, click, Shift+click, or drag around nodes to select them, then drag nodes and handles. Click on an object to select." +msgstr "경로 편집하기 위하여 클릭, Shift+클릭 또는 노드를 선택하기 위하여 노드 주변을 끌기한 후 노드와 핸들을 끌기. 선택하기 위하여 객체를 클릭" #: ../src/tools-switch.cpp:157 msgid "To tweak a path by pushing, select it and drag over it." -msgstr "" +msgstr "밀기에 의한 객체 경로 조정 및 선택하여 끌기" #: ../src/tools-switch.cpp:163 -msgid "" -"Drag to create a rectangle. Drag controls to round corners and " -"resize. Click to select." -msgstr "" +msgid "Drag to create a rectangle. Drag controls to round corners and resize. Click to select." +msgstr "직사각형을 생성하기 위하여 끌기, 모서리를 둥글게 또는 크기를 재설정하기 위하여 제어점을 끌기. 선택하기 위하여 클릭" #: ../src/tools-switch.cpp:169 -msgid "" -"Drag to create a 3D box. Drag controls to resize in " -"perspective. Click to select (with Ctrl+Alt for single faces)." -msgstr "" +msgid "Drag to create a 3D box. Drag controls to resize in perspective. Click to select (with Ctrl+Alt for single faces)." +msgstr "3D 상자를 생성하기 위하여 끌기. 원근감의 크기를 조정하기 위하여 제어점 끌기. 단일 ë©´ 선택은 Ctrl+Alt 누른 채 클릭" #: ../src/tools-switch.cpp:175 -msgid "" -"Drag to create an ellipse. Drag controls to make an arc or " -"segment. Click to select." -msgstr "" +msgid "Drag to create an ellipse. Drag controls to make an arc or segment. Click to select." +msgstr "타원을 생성하기 위하여 끌기. 호나 세크먼트를 생성하기 위하여 제어점 끌기. 선택하기 위하여 클릭" #: ../src/tools-switch.cpp:181 -msgid "" -"Drag to create a star. Drag controls to edit the star shape. " -"Click to select." -msgstr "" +msgid "Drag to create a star. Drag controls to edit the star shape. Click to select." +msgstr "별을 생성하기 위하여 끌기. 별 모양을 편집하기 위하여 제어점 끌기. 선택하기 위하여 클릭" #: ../src/tools-switch.cpp:187 -msgid "" -"Drag to create a spiral. Drag controls to edit the spiral " -"shape. Click to select." -msgstr "" +msgid "Drag to create a spiral. Drag controls to edit the spiral shape. Click to select." +msgstr "나선을 생성하기 위하여 끌기. 나선 모양을 편집하기 이하여 제어점 끌기. 선택하기 위하여 클릭" #: ../src/tools-switch.cpp:193 -msgid "" -"Drag to create a freehand line. Start drawing with Shift to " -"append to selected path. Ctrl+click to create single dots." -msgstr "" +msgid "Drag to create a freehand line. Start drawing with Shift to append to selected path. Ctrl+click to create single dots." +msgstr "자유곡선을 생성하기 위하여 끌기. 선택 경로를 더하기 위하여 Shift 누른째 그리기 시작. 단일 점을 생성하기 위하여 Ctrl+클릭" #: ../src/tools-switch.cpp:199 -msgid "" -"Click or click and drag to start a path; with Shift to " -"append to selected path. Ctrl+click to create single dots." -msgstr "" +msgid "Click or click and drag to start a path; with Shift to append to selected path. Ctrl+click to create single dots." +msgstr "경로를 시작하기 위하여 클릭 또는 클릭과 끌기. 선택 경로를 더하기 위하여 Shift 누름. 단일 점을 생성하기 위하여 Ctrl+클릭." #: ../src/tools-switch.cpp:205 -msgid "" -"Drag to draw a calligraphic stroke; with Ctrl to track a " -"guide, with Alt to thin/thicken. Arrow keys adjust width (left/" -"right) and angle (up/down)." -msgstr "" +msgid "Drag to draw a calligraphic stroke; with Ctrl to track a guide, with Alt to thin/thicken. Arrow keys adjust width (left/right) and angle (up/down)." +msgstr "글자체 윤곽선을 생성하기 위하여 끌기. 안내선을 나타내기 위하여 Ctrl, 얇게/두껍게 나타내기 위하여 Alt, 폭을 조정하기 위하여 왼쪽,오른쪽 화살표, 각도 조정은 위, 아래 화살표 사용." #: ../src/tools-switch.cpp:217 -msgid "" -"Drag or double click to create a gradient on selected objects, " -"drag handles to adjust gradients." -msgstr "" +msgid "Drag or double click to create a gradient on selected objects, drag handles to adjust gradients." +msgstr "선택 객체의 그라디언트를 생성하기 위하여 끌기 또는 이중 클릭, 그라디언트를 조정하기 위하여 핸들을 끌기." #: ../src/tools-switch.cpp:223 -msgid "" -"Click or drag around an area to zoom in, Shift+click to " -"zoom out." -msgstr "" +msgid "Click or drag around an area to zoom in, Shift+click to zoom out." +msgstr "확대시 클릭 또는 구간 주변 끌기, Shift+클릭은 축소" #: ../src/tools-switch.cpp:235 msgid "Click and drag between shapes to create a connector." -msgstr "" +msgstr "연결자를 생성하기 위하여 모양 사이에서 클릭 및 끌기." #: ../src/tools-switch.cpp:241 -msgid "" -"Click to paint a bounded area, Shift+click to union the new " -"fill with the current selection, Ctrl+click to change the clicked " -"object's fill and stroke to the current setting." -msgstr "" +msgid "Click to paint a bounded area, Shift+click to union the new fill with the current selection, Ctrl+click to change the clicked object's fill and stroke to the current setting." +msgstr "경계 구간을 칠하기 이하여 클릭, 현재 선택을 새로운 채움으로 합하기 위하여 Shift+ 클릭, 클릭시 객체 채움과 윤곽선을 현재 설정으로 변경하기 위하여 Ctrl+ 클릭" #: ../src/tools-switch.cpp:247 -#, fuzzy msgid "Drag to erase." -msgstr "링크 를 %s" +msgstr "지우기 위해 끌기" #: ../src/trace/potrace/inkscape-potrace.cpp:524 #: ../src/trace/potrace/inkscape-potrace.cpp:598 #, c-format msgid "Trace: %d. %ld nodes" -msgstr "" +msgstr "따오기: %d. %ld 노드" -#: ../src/trace/trace.cpp:71 ../src/trace/trace.cpp:136 -#: ../src/trace/trace.cpp:144 ../src/trace/trace.cpp:243 +#: ../src/trace/trace.cpp:71 +#: ../src/trace/trace.cpp:136 +#: ../src/trace/trace.cpp:144 +#: ../src/trace/trace.cpp:243 msgid "Select an image to trace" -msgstr "" +msgstr "따오기 위한 이미지 선택" #: ../src/trace/trace.cpp:106 msgid "Select only one image to trace" -msgstr "" +msgstr "따오기 위한 한 개의 이미지만 선택" #: ../src/trace/trace.cpp:124 msgid "Select one image and one or more shapes above it" -msgstr "" +msgstr "한 개의 이미지와 한 개 이상의 모양을 선택" #: ../src/trace/trace.cpp:234 msgid "Trace: No active desktop" -msgstr "" +msgstr "따오기: 활성 데스크톱이 없음" #: ../src/trace/trace.cpp:333 msgid "Invalid SIOX result" -msgstr "" +msgstr "부적합한 SIOX ê²°ê³¼" #: ../src/trace/trace.cpp:438 msgid "Trace: No active document" -msgstr "" +msgstr "따오기: 활성 문서가 없음" #: ../src/trace/trace.cpp:461 msgid "Trace: Image has no bitmap data" -msgstr "" +msgstr "따오기: 이미지는 비트맵 자료가 없음" #: ../src/trace/trace.cpp:468 -#, fuzzy msgid "Trace: Starting trace..." -msgstr "비트맴 따오기(_T)..." +msgstr "따오기: 따오기 시작..." #. ## inform the document, so we can undo #: ../src/trace/trace.cpp:570 -#, fuzzy msgid "Trace bitmap" -msgstr "중심선" +msgstr "비트맵 따오기" #: ../src/trace/trace.cpp:574 #, c-format msgid "Trace: Done. %ld nodes created" -msgstr "" +msgstr "따오기: 완료. %ld 노드 생성" #: ../src/tweak-context.cpp:960 msgid "Nothing selected! Select objects to tweak." -msgstr "" +msgstr "선택되지 않음! 조정하기 위하여 객체 선택" #: ../src/tweak-context.cpp:965 -#, fuzzy, c-format -msgid "Pushing %d selected object" -msgid_plural "Pushing %d selected objects" -msgstr[0] "선택한 객체 배분" -msgstr[1] "선택한 객체 배분" - #: ../src/tweak-context.cpp:970 -#, fuzzy, c-format -msgid "Shrinking %d selected object" -msgid_plural "Shrinking %d selected objects" -msgstr[0] "선택한 객체 배분" -msgstr[1] "선택한 객체 배분" - #: ../src/tweak-context.cpp:975 -#, fuzzy, c-format +#, c-format msgid "Growing %d selected object" -msgid_plural "Growing %d selected objects" -msgstr[0] "선택한 객체 배분" -msgstr[1] "선택한 객체 배분" +msgstr "%d 선택 객체 확대" #: ../src/tweak-context.cpp:980 -#, fuzzy, c-format -msgid "Attracting %d selected object" -msgid_plural "Attracting %d selected objects" -msgstr[0] "선택한 객체 배분" -msgstr[1] "선택한 객체 배분" - #: ../src/tweak-context.cpp:985 -#, fuzzy, c-format +#, c-format msgid "Repelling %d selected object" -msgid_plural "Repelling %d selected objects" -msgstr[0] "선택됀 객체의 복사본 만들기" -msgstr[1] "선택됀 객체의 복사본 만들기" +msgstr "%d 선택 객체 되튀기" #: ../src/tweak-context.cpp:990 -#, fuzzy, c-format +#, c-format msgid "Roughening %d selected object" -msgid_plural "Roughening %d selected objects" -msgstr[0] "선택됀 객체의 복사본 만들기" -msgstr[1] "선택됀 객체의 복사본 만들기" +msgstr "%d 선택 객체 거칠게 하기" #: ../src/tweak-context.cpp:995 -#, fuzzy, c-format +#, c-format msgid "Painting %d selected object" -msgid_plural "Painting %d selected objects" -msgstr[0] "선택한 객체 배분" -msgstr[1] "선택한 객체 배분" +msgstr "%d 선택 객체 칠하기" #: ../src/tweak-context.cpp:1000 #, c-format msgid "Jittering colors in %d selected object" -msgid_plural "Jittering colors in %d selected objects" -msgstr[0] "" -msgstr[1] "" +msgstr "%d 선택 객체에서 색상이 점이적으로 변함" #: ../src/tweak-context.cpp:1040 msgid "Push tweak" -msgstr "" +msgstr "밀기 조정" #: ../src/tweak-context.cpp:1044 msgid "Shrink tweak" -msgstr "" +msgstr "축소 조정" #: ../src/tweak-context.cpp:1048 msgid "Grow tweak" -msgstr "" +msgstr "확대 조정" #: ../src/tweak-context.cpp:1052 msgid "Attract tweak" -msgstr "" +msgstr "유인 조정" #: ../src/tweak-context.cpp:1056 msgid "Repel tweak" -msgstr "" +msgstr "반발 조정" #: ../src/tweak-context.cpp:1060 msgid "Roughen tweak" -msgstr "" +msgstr "거침 조정" #: ../src/tweak-context.cpp:1064 msgid "Color paint tweak" -msgstr "" +msgstr "색상 칠하기 조정" #: ../src/tweak-context.cpp:1068 msgid "Color jitter tweak" -msgstr "" +msgstr "색상 전이 조정" #. check whether something is selected #: ../src/ui/clipboard.cpp:205 msgid "Nothing was copied." -msgstr "복사된게 없음" +msgstr "복사되지 않음." -#: ../src/ui/clipboard.cpp:266 ../src/ui/clipboard.cpp:428 +#: ../src/ui/clipboard.cpp:266 +#: ../src/ui/clipboard.cpp:428 #: ../src/ui/clipboard.cpp:452 msgid "Nothing on the clipboard." -msgstr "클립보드에 아무것도 없음" +msgstr "클립보드에 아무 것도 없음." #: ../src/ui/clipboard.cpp:288 msgid "Select object(s) to paste style to." -msgstr "" +msgstr "스타일을 붙여넣기할 객체 선택" -#: ../src/ui/clipboard.cpp:294 ../src/ui/clipboard.cpp:311 -#, fuzzy +#: ../src/ui/clipboard.cpp:294 +#: ../src/ui/clipboard.cpp:311 msgid "No style on the clipboard." -msgstr "클립보드에 아무것도 없음" +msgstr "클립보드상 스타일 없음" #: ../src/ui/clipboard.cpp:333 msgid "Select object(s) to paste size to." -msgstr "" +msgstr "크기를 붙여넣기할 객체 선택" #: ../src/ui/clipboard.cpp:340 -#, fuzzy msgid "No size on the clipboard." -msgstr "클립보드에 아무것도 없음" +msgstr "클립보드상 크기 없음" #: ../src/ui/clipboard.cpp:391 -#, fuzzy msgid "Select object(s) to paste live path effect to." -msgstr "클론으로 만들 객체를 선택" +msgstr "활성 경로 효과를 붙여넣기 위하여 객체 선택." #. no_effect: #: ../src/ui/clipboard.cpp:415 -#, fuzzy msgid "No effect on the clipboard." -msgstr "클립보드에 아무것도 없음" +msgstr "클립보드상에 효과 없음" -#: ../src/ui/clipboard.cpp:435 ../src/ui/clipboard.cpp:462 +#: ../src/ui/clipboard.cpp:435 +#: ../src/ui/clipboard.cpp:462 msgid "Clipboard does not contain a path." -msgstr "" +msgstr "클립보드는 경로를 포함하지 않음" #. Item dialog #: ../src/ui/context-menu.cpp:100 msgid "Object _Properties" -msgstr "" +msgstr "객체 속성(_P)" #. Select item #: ../src/ui/context-menu.cpp:110 msgid "_Select This" -msgstr "" +msgstr "이것을 선택(_S)" #. Create link #: ../src/ui/context-menu.cpp:120 msgid "_Create Link" -msgstr "" +msgstr "링크 생성(_C)" #: ../src/ui/context-menu.cpp:177 -#, fuzzy msgid "Create link" -msgstr "중심선" +msgstr "링크 생성" #. "Ungroup" -#: ../src/ui/context-menu.cpp:195 ../src/verbs.cpp:2279 +#: ../src/ui/context-menu.cpp:195 +#: ../src/verbs.cpp:2279 msgid "_Ungroup" -msgstr "" +msgstr "그룹 해제(_U)" #. Link dialog #: ../src/ui/context-menu.cpp:235 msgid "Link _Properties" -msgstr "" +msgstr "링크 속성(_P)" #. Select item #: ../src/ui/context-menu.cpp:241 msgid "_Follow Link" -msgstr "" +msgstr "다음 링크" #. Reset transformations #: ../src/ui/context-menu.cpp:246 msgid "_Remove Link" -msgstr "" +msgstr "링크 제거(_R)" #. Link dialog #: ../src/ui/context-menu.cpp:294 msgid "Image _Properties" -msgstr "" +msgstr "이미지 속성(_P)" #: ../src/ui/context-menu.cpp:300 msgid "Edit Externally..." -msgstr "" +msgstr "외부에서 편집.." #. Item dialog #: ../src/ui/context-menu.cpp:392 msgid "_Fill and Stroke" -msgstr "" +msgstr "채움/윤곽선(_F)" #. * #. * Constructor #. #: ../src/ui/dialog/aboutbox.cpp:77 msgid "About Inkscape" -msgstr "잉크스 케이트에 대하여" +msgstr "Inkscape에 대하여" #: ../src/ui/dialog/aboutbox.cpp:88 msgid "_Splash" -msgstr "" +msgstr "스플래시(_S)" #: ../src/ui/dialog/aboutbox.cpp:92 msgid "_Authors" -msgstr "" +msgstr "저작자(_A)" #: ../src/ui/dialog/aboutbox.cpp:94 msgid "_Translators" -msgstr "" +msgstr "번역자(_T)" #: ../src/ui/dialog/aboutbox.cpp:96 msgid "_License" -msgstr "" +msgstr "저작권(_L)" #. TRANSLATORS: This is the filename of the `About Inkscape' picture in #. the `screens' directory. Thus the translation of "about.svg" should be @@ -9163,694 +8558,641 @@ msgstr "" #. should be in UTF-*8.. #: ../src/ui/dialog/aboutbox.cpp:149 msgid "about.svg" -msgstr "about.svg" +msgstr "대하여.svg" #. TRANSLATORS: Put here your name (and other national contributors') #. one per line in the form of: name surname (email). Use \n for newline. #: ../src/ui/dialog/aboutbox.cpp:338 msgid "translator-credits" -msgstr "" +msgstr "translator-credits" #: ../src/ui/dialog/align-and-distribute.cpp:234 #: ../src/ui/dialog/align-and-distribute.cpp:776 msgid "Align" -msgstr "" +msgstr "배열" #: ../src/ui/dialog/align-and-distribute.cpp:392 #: ../src/ui/dialog/align-and-distribute.cpp:777 msgid "Distribute" -msgstr "" +msgstr "정렬" #: ../src/ui/dialog/align-and-distribute.cpp:461 msgid "Minimum horizontal gap (in px units) between bounding boxes" -msgstr "" +msgstr "경계 상자 사이 최소 수평 간격(화소)" #. TRANSLATORS: Horizontal gap. Only put "H:" equivalent in the translation #: ../src/ui/dialog/align-and-distribute.cpp:463 msgid "gap|H:" -msgstr "" +msgstr "간격|높이:" #: ../src/ui/dialog/align-and-distribute.cpp:471 msgid "Minimum vertical gap (in px units) between bounding boxes" -msgstr "" +msgstr "경계 상자 사이 최소 수직 간격(화소)" #. TRANSLATORS: Vertical gap #: ../src/ui/dialog/align-and-distribute.cpp:473 msgid "V:" -msgstr "" +msgstr "간격|수직:" #: ../src/ui/dialog/align-and-distribute.cpp:501 #: ../src/ui/dialog/align-and-distribute.cpp:778 #: ../src/widgets/toolbox.cpp:5626 msgid "Remove overlaps" -msgstr "" +msgstr "중첩 제거" #: ../src/ui/dialog/align-and-distribute.cpp:531 #: ../src/widgets/toolbox.cpp:5484 -#, fuzzy msgid "Arrange connector network" -msgstr "새 연결자 생성" +msgstr "연결자 네트워크 배열" #: ../src/ui/dialog/align-and-distribute.cpp:561 msgid "Unclump" -msgstr "" +msgstr "Unclump" #: ../src/ui/dialog/align-and-distribute.cpp:631 -#, fuzzy msgid "Randomize positions" msgstr "임의의 위치" #: ../src/ui/dialog/align-and-distribute.cpp:728 -#, fuzzy msgid "Distribute text baselines" -msgstr "속성 이름" +msgstr "문자열 기준선 배분" #: ../src/ui/dialog/align-and-distribute.cpp:748 -#, fuzzy msgid "Align text baselines" -msgstr "왼쪽으로 정렬" +msgstr "텍스트 기준선 정렬" #: ../src/ui/dialog/align-and-distribute.cpp:779 msgid "Connector network layout" -msgstr "" +msgstr "연결자 네트워크 윤곽" #: ../src/ui/dialog/align-and-distribute.cpp:780 msgid "Nodes" -msgstr "" +msgstr "노드" #: ../src/ui/dialog/align-and-distribute.cpp:786 msgid "Relative to: " -msgstr "" +msgstr "관계:" #: ../src/ui/dialog/align-and-distribute.cpp:791 msgid "Align right sides of objects to left side of anchor" -msgstr "" +msgstr "객체 오른쪽 면에서 조절점 왼쪽 면으로 배열" #: ../src/ui/dialog/align-and-distribute.cpp:794 msgid "Align left sides" -msgstr "" +msgstr "왼쪽 배열" #: ../src/ui/dialog/align-and-distribute.cpp:797 msgid "Center on vertical axis" -msgstr "" +msgstr "수직 축 중앙" #: ../src/ui/dialog/align-and-distribute.cpp:800 msgid "Align right sides" -msgstr "" +msgstr "오른쪽 ë©´ 배열" #: ../src/ui/dialog/align-and-distribute.cpp:803 msgid "Align left sides of objects to right side of anchor" -msgstr "" +msgstr "객체 왼쪽 면에서 조절점 오른쪽 면으로 배열" #: ../src/ui/dialog/align-and-distribute.cpp:806 msgid "Align bottoms of objects to top of anchor" -msgstr "" +msgstr "객체 최하단에서 조절점 최상단으로 배열" #: ../src/ui/dialog/align-and-distribute.cpp:809 msgid "Align tops" -msgstr "" +msgstr "최상단 배열" #: ../src/ui/dialog/align-and-distribute.cpp:812 msgid "Center on horizontal axis" -msgstr "" +msgstr "수평 축 중앙" #: ../src/ui/dialog/align-and-distribute.cpp:815 msgid "Align bottoms" -msgstr "" +msgstr "최하단 배열" #: ../src/ui/dialog/align-and-distribute.cpp:818 msgid "Align tops of objects to bottom of anchor" -msgstr "" +msgstr "객체 최상단에서 조절점 최하단으로 배열" #: ../src/ui/dialog/align-and-distribute.cpp:823 msgid "Align baseline anchors of texts vertically" -msgstr "" +msgstr "수직으로 문자열 기준선에 조절점 배열" #: ../src/ui/dialog/align-and-distribute.cpp:826 msgid "Align baseline anchors of texts horizontally" -msgstr "" +msgstr "수평으로 문자열 기준선에 조절점 배열" #: ../src/ui/dialog/align-and-distribute.cpp:831 msgid "Make horizontal gaps between objects equal" -msgstr "" +msgstr "객체를 등거리 수평 배열" #: ../src/ui/dialog/align-and-distribute.cpp:835 msgid "Distribute left sides equidistantly" -msgstr "" +msgstr "왼쪽 ë©´ 등거리 배열" #: ../src/ui/dialog/align-and-distribute.cpp:838 msgid "Distribute centers equidistantly horizontally" -msgstr "" +msgstr "중앙 등거리 수평으로 배열" #: ../src/ui/dialog/align-and-distribute.cpp:841 msgid "Distribute right sides equidistantly" -msgstr "" +msgstr "오른쪽 ë©´ 등거리 배열" #: ../src/ui/dialog/align-and-distribute.cpp:845 msgid "Make vertical gaps between objects equal" -msgstr "" +msgstr "객체를 등거리 수직 배열" #: ../src/ui/dialog/align-and-distribute.cpp:849 msgid "Distribute tops equidistantly" -msgstr "" +msgstr "최상단 등거리 배열" #: ../src/ui/dialog/align-and-distribute.cpp:852 msgid "Distribute centers equidistantly vertically" -msgstr "" +msgstr "중앙 등거리 수직 배열" #: ../src/ui/dialog/align-and-distribute.cpp:855 msgid "Distribute bottoms equidistantly" -msgstr "" +msgstr "최하단 등거리 배열" #: ../src/ui/dialog/align-and-distribute.cpp:860 msgid "Distribute baseline anchors of texts horizontally" -msgstr "" +msgstr "수평으로 문자열 기준선에 조절점 배열" #: ../src/ui/dialog/align-and-distribute.cpp:863 msgid "Distribute baseline anchors of texts vertically" -msgstr "" +msgstr "수직으로 문자열 기준선을 조절점 배열" #: ../src/ui/dialog/align-and-distribute.cpp:868 msgid "Randomize centers in both dimensions" -msgstr "" +msgstr "양쪽 크기에서 중앙으로 무작위" #: ../src/ui/dialog/align-and-distribute.cpp:871 msgid "Unclump objects: try to equalize edge-to-edge distances" -msgstr "" +msgstr "객체 배열: 모서리-모서리 등거리로" -#: ../src/ui/dialog/align-and-distribute.cpp:876 -msgid "" -"Move objects as little as possible so that their bounding boxes do not " -"overlap" -msgstr "" +msgid "Move objects as little as possible so that their bounding boxes do not overlap" +msgstr "경계 상자를 중첩시키지 않기 위하여 가능한한 약간 객체를 이동" +#: ../src/ui/dialog/align-and-distribute.cpp:876 #: ../src/ui/dialog/align-and-distribute.cpp:880 #: ../src/widgets/toolbox.cpp:5588 msgid "Nicely arrange selected connector network" -msgstr "" +msgstr "선택 연결자 네트워크를 좋게 배열" #: ../src/ui/dialog/align-and-distribute.cpp:885 msgid "Align selected nodes horizontally" -msgstr "" +msgstr "선택 노드를 수평으로 배열" #: ../src/ui/dialog/align-and-distribute.cpp:888 msgid "Align selected nodes vertically" -msgstr "" +msgstr "선택 노드를 수직으로 배열" #: ../src/ui/dialog/align-and-distribute.cpp:891 msgid "Distribute selected nodes horizontally" -msgstr "" +msgstr "선택 노드를 수평으로 배열" #: ../src/ui/dialog/align-and-distribute.cpp:894 msgid "Distribute selected nodes vertically" -msgstr "" +msgstr "선택 노드를 수직으로 배열" #. Rest of the widgetry #: ../src/ui/dialog/align-and-distribute.cpp:899 msgid "Last selected" -msgstr "" +msgstr "마지막 선택된 것" #: ../src/ui/dialog/align-and-distribute.cpp:900 msgid "First selected" -msgstr "" +msgstr "처음 선택된 것" #: ../src/ui/dialog/align-and-distribute.cpp:901 msgid "Biggest item" -msgstr "" +msgstr "가장 큰 객체" #: ../src/ui/dialog/align-and-distribute.cpp:902 msgid "Smallest item" -msgstr "" +msgstr "가장 작은 객체" #: ../src/ui/dialog/align-and-distribute.cpp:904 #: ../src/widgets/desktop-widget.cpp:1548 msgid "Drawing" -msgstr "" +msgstr "그림" #: ../src/ui/dialog/document-metadata.cpp:79 msgid "Metadata" -msgstr "" +msgstr "문서 정보" #: ../src/ui/dialog/document-metadata.cpp:80 msgid "License" -msgstr "" +msgstr "저작권" #: ../src/ui/dialog/document-metadata.cpp:160 msgid "Dublin Core Entities" -msgstr "" +msgstr "문서 주요 정보" #: ../src/ui/dialog/document-metadata.cpp:182 msgid "License" -msgstr "" +msgstr "저작권" #. --------------------------------------------------------------- #: ../src/ui/dialog/document-properties.cpp:88 msgid "Show page _border" -msgstr "" +msgstr "페이지 경계 보이기(_B)" #: ../src/ui/dialog/document-properties.cpp:88 msgid "If set, rectangular page border is shown" -msgstr "" +msgstr "설정시, 직사각형 페이지 경계가 보임" #: ../src/ui/dialog/document-properties.cpp:89 msgid "Border on _top of drawing" -msgstr "" +msgstr "그림내 페이지 경계 보이기(_T)" #: ../src/ui/dialog/document-properties.cpp:89 msgid "If set, border is always on top of the drawing" -msgstr "" +msgstr "설정시, 페이지 최상단에 걸친 객체내 페이지 경계가 나타남" #: ../src/ui/dialog/document-properties.cpp:90 msgid "_Show border shadow" -msgstr "" +msgstr "경계 음영 보이기(_S)" #: ../src/ui/dialog/document-properties.cpp:90 msgid "If set, page border shows a shadow on its right and lower side" -msgstr "" +msgstr "설정시, 페이지 경계 중 오른쪽 아래면에서 음영이 나타남." #: ../src/ui/dialog/document-properties.cpp:91 msgid "Back_ground:" -msgstr "" +msgstr "ë°°ê²½(_G):" #: ../src/ui/dialog/document-properties.cpp:91 msgid "Background color" -msgstr "" +msgstr "ë°°ê²½ 색상" #: ../src/ui/dialog/document-properties.cpp:91 -msgid "" -"Color and transparency of the page background (also used for bitmap export)" -msgstr "" +msgid "Color and transparency of the page background (also used for bitmap export)" +msgstr "페이지 배경의 색상 및 투명도 (비트맵 내보내기에 사용)" #: ../src/ui/dialog/document-properties.cpp:92 msgid "Border _color:" -msgstr "" +msgstr "경계 색상(_C):" #: ../src/ui/dialog/document-properties.cpp:92 msgid "Page border color" -msgstr "" +msgstr "페이지 경계 색상" #: ../src/ui/dialog/document-properties.cpp:92 msgid "Color of the page border" -msgstr "" +msgstr "페이지 경계 색상" #: ../src/ui/dialog/document-properties.cpp:93 msgid "Default _units:" -msgstr "" +msgstr "기본 단위(_U):" #. --------------------------------------------------------------- #. General snap options #: ../src/ui/dialog/document-properties.cpp:97 msgid "Show _guides" -msgstr "" +msgstr "안내선 보이기(_G)" #: ../src/ui/dialog/document-properties.cpp:97 msgid "Show or hide guides" -msgstr "" +msgstr "안내선 보이기 또는 숨기기" #: ../src/ui/dialog/document-properties.cpp:98 msgid "_Snap guides while dragging" -msgstr "" +msgstr "끌기하는 동안 안내선 붙이기(_S)" #: ../src/ui/dialog/document-properties.cpp:98 -msgid "" -"While dragging a guide, snap to object nodes or bounding box corners ('Snap " -"to nodes' or 'snap to bounding box corners' must be enabled in the 'Snap' " -"tab; only a small part of the guide near the cursor will snap)" -msgstr "" +msgid "While dragging a guide, snap to object nodes or bounding box corners ('Snap to nodes' or 'snap to bounding box corners' must be enabled in the 'Snap' tab; only a small part of the guide near the cursor will snap)" +msgstr "안내선을 끌기하는 동안, 객체 노드 또는 경계 상자 모서리에 붙이기( '붙이기' 설정이 되어있어야 가능)" #: ../src/ui/dialog/document-properties.cpp:100 msgid "Guide co_lor:" -msgstr "" +msgstr "안내선 색상(_L):" #: ../src/ui/dialog/document-properties.cpp:100 msgid "Guideline color" -msgstr "" +msgstr "안내선 색상" #: ../src/ui/dialog/document-properties.cpp:100 msgid "Color of guidelines" -msgstr "" +msgstr "안내선 색상" #: ../src/ui/dialog/document-properties.cpp:101 msgid "_Highlight color:" -msgstr "" +msgstr "강조 색상(_H):" #: ../src/ui/dialog/document-properties.cpp:101 msgid "Highlighted guideline color" -msgstr "" +msgstr "강조 안내선 색상" #: ../src/ui/dialog/document-properties.cpp:101 msgid "Color of a guideline when it is under mouse" -msgstr "" +msgstr "마우스 아래 있을 때 안내선의 색상" #. --------------------------------------------------------------- #: ../src/ui/dialog/document-properties.cpp:103 msgid "_Enable snapping" -msgstr "" +msgstr "붙이기 가능(_E)" -#: ../src/ui/dialog/document-properties.cpp:103 ../src/verbs.cpp:2498 +#: ../src/ui/dialog/document-properties.cpp:103 +#: ../src/verbs.cpp:2498 msgid "Toggle snapping on or off" -msgstr "" +msgstr "붙이기 On 또는 off 토글" #: ../src/ui/dialog/document-properties.cpp:104 msgid "_Enable snap indicator" -msgstr "" +msgstr "붙이기 지시자 가능(_E)" #: ../src/ui/dialog/document-properties.cpp:104 msgid "After snapping, a symbol is drawn at the point that has snapped" -msgstr "" +msgstr "붙이기 후, 붙이기한 지점에서 심볼이 보임" #: ../src/ui/dialog/document-properties.cpp:105 msgid "_Bounding box corners" -msgstr "" +msgstr "경계 상자 모서리(_B)" #: ../src/ui/dialog/document-properties.cpp:105 -msgid "" -"Only available in the selector tool: snap bounding box corners to guides, to " -"grids, and to other bounding boxes (but not to nodes or paths)" -msgstr "" +msgid "Only available in the selector tool: snap bounding box corners to guides, to grids, and to other bounding boxes (but not to nodes or paths)" +msgstr "선택 도구에서만 가능: 경계 상자 모서리를 안내선, 격자 그리고 다른 경계 상자에 붙이기(노드나 경로는 아님)" #: ../src/ui/dialog/document-properties.cpp:107 -#, fuzzy msgid "_Nodes" -msgstr "노드" +msgstr "노드(_N)" #: ../src/ui/dialog/document-properties.cpp:107 -msgid "" -"Snap nodes (e.g. path nodes, special points in shapes, gradient handles, " -"text base points, transformation origins, etc.) to guides, to grids, to " -"paths and to other nodes" -msgstr "" +msgid "Snap nodes (e.g. path nodes, special points in shapes, gradient handles, text base points, transformation origins, etc.) to guides, to grids, to paths and to other nodes" +msgstr "노드를 안내선, 격자, 경로, 다른 노드에 붙이기(즉, 경로 노드, 모양, 그라디언트 핸들, 문자열 기준점, 변형 원본등)에서 특별한 점, " #. Options for snapping to objects #: ../src/ui/dialog/document-properties.cpp:110 -#, fuzzy msgid "Snap to path_s" -msgstr "노드 올리기" +msgstr "경로에 붙이기(_S)" #: ../src/ui/dialog/document-properties.cpp:110 msgid "Snap nodes to object paths" -msgstr "" +msgstr "노드를 객체 경로에 붙이기" #: ../src/ui/dialog/document-properties.cpp:111 -#, fuzzy msgid "Snap to n_odes" -msgstr "노드 올리기" +msgstr "노드에 붙이기(_O)" #: ../src/ui/dialog/document-properties.cpp:111 msgid "Snap nodes and guides to object nodes" -msgstr "" +msgstr "노드와 안내선을 객체 노드에 붙이기" #: ../src/ui/dialog/document-properties.cpp:112 -#, fuzzy msgid "Snap to bounding bo_x edges" -msgstr "노드 올리기" +msgstr "경계 상자 모서리에 붙이기(_X)" #: ../src/ui/dialog/document-properties.cpp:112 msgid "Snap bounding box corners and guides to bounding box edges" -msgstr "" +msgstr "경계 상자 모서리 그리고 안내선을 경계 상자 모서리에 붙이기" #: ../src/ui/dialog/document-properties.cpp:113 msgid "Snap to bounding box co_rners" -msgstr "" +msgstr "경계 상자 모서리에 붙이기(_R)" #: ../src/ui/dialog/document-properties.cpp:113 msgid "Snap bounding box corners to other bounding box corners" -msgstr "" +msgstr "경계 상자 모서리를 다른 경계 상자 모서리에 붙이기" #: ../src/ui/dialog/document-properties.cpp:114 -#, fuzzy msgid "Snap to page border" -msgstr "노드 올리기" +msgstr "페이지 경계에 붙이기" #: ../src/ui/dialog/document-properties.cpp:114 msgid "Snap bounding box corners and nodes to the page border" -msgstr "" +msgstr "경계 상자 모서리와 노드를 페이지 경계에 붙이기" #. --------------------------------------------------------------- #. Applies to both nodes and guides, but not to bboxes, that's why its located here #: ../src/ui/dialog/document-properties.cpp:117 -#, fuzzy msgid "Rotation _center" -msgstr "회전(_R)" +msgstr "중앙 회전(_R)" #: ../src/ui/dialog/document-properties.cpp:117 msgid "Consider the rotation center of an object when snapping" -msgstr "" +msgstr "붙이기할 때 객체의 회전 중심을 ê³ ë ¤" #: ../src/ui/dialog/document-properties.cpp:118 msgid "_Grid with guides" -msgstr "" +msgstr "안내선 있는 격자(_G)" #: ../src/ui/dialog/document-properties.cpp:118 msgid "Snap to grid-guide intersections" -msgstr "" +msgstr "격자 안내선 교차지점에 붙이기" #: ../src/ui/dialog/document-properties.cpp:119 -#, fuzzy msgid "_Line segments" -msgstr "선택부분 지우기" +msgstr "선 세그먼트(_L)" #: ../src/ui/dialog/document-properties.cpp:119 -msgid "" -"Snap to intersections of line segments ('snap to paths' must be enabled, see " -"the previous tab)" -msgstr "" +msgid "Snap to intersections of line segments ('snap to paths' must be enabled, see the previous tab)" +msgstr "선 세그먼트의 교차점에 붙이기('경로에 붙이기' 설정이 되어있어야 가능)" #. TRANSLATORS: In Grid|_New translate only the word _New. It ref to grid #: ../src/ui/dialog/document-properties.cpp:124 -#, fuzzy msgid "Grid|_New" -msgstr "격자" +msgstr "격자|새로 생성(_N)" #: ../src/ui/dialog/document-properties.cpp:124 -#, fuzzy msgid "Create new grid." -msgstr "중심선" +msgstr "새 격자 생성" #: ../src/ui/dialog/document-properties.cpp:125 -#, fuzzy msgid "_Remove" -msgstr "제거" +msgstr "격자 제거(_R)" #: ../src/ui/dialog/document-properties.cpp:125 -#, fuzzy msgid "Remove selected grid." -msgstr "선택 상태 ë³´ì¡´" +msgstr "선택 격자 제거" #: ../src/ui/dialog/document-properties.cpp:135 -#, fuzzy msgid "Guides" -msgstr "가이드(_u)" +msgstr "안내선" #: ../src/ui/dialog/document-properties.cpp:136 #: ../src/ui/dialog/inkscape-preferences.cpp:905 -#, fuzzy msgid "Grids" msgstr "격자" -#: ../src/ui/dialog/document-properties.cpp:137 ../src/verbs.cpp:2498 -#, fuzzy +#: ../src/ui/dialog/document-properties.cpp:137 +#: ../src/verbs.cpp:2498 msgid "Snap" -msgstr "단계" +msgstr "붙이기" #: ../src/ui/dialog/document-properties.cpp:138 -#, fuzzy msgid "Snap points" -msgstr "노드 올리기" +msgstr "점 붙이기 " #: ../src/ui/dialog/document-properties.cpp:227 msgid "General" -msgstr "" +msgstr "일반" #: ../src/ui/dialog/document-properties.cpp:229 msgid "Border" -msgstr "" +msgstr "경계" #: ../src/ui/dialog/document-properties.cpp:231 msgid "Format" -msgstr "" +msgstr "형식" #: ../src/ui/dialog/document-properties.cpp:259 msgid "Guides" -msgstr "" +msgstr "안내선" #: ../src/ui/dialog/document-properties.cpp:278 -#, fuzzy msgid "Snap _distance" -msgstr "잉크스케이프: 고급(_A)" +msgstr "붙이기 거리(_D)" #: ../src/ui/dialog/document-properties.cpp:278 msgid "Snap only when _closer than:" -msgstr "" +msgstr "보다 가까울 때만 붙이기(_C)" #: ../src/ui/dialog/document-properties.cpp:278 #: ../src/ui/dialog/document-properties.cpp:284 #: ../src/ui/dialog/document-properties.cpp:290 msgid "Always snap" -msgstr "" +msgstr "항상 붙이기" #: ../src/ui/dialog/document-properties.cpp:279 msgid "Snapping distance, in screen pixels, for snapping to objects" -msgstr "" +msgstr "객체를 붙이기 위한 붙이기 거리" #: ../src/ui/dialog/document-properties.cpp:279 msgid "Always snap to objects, regardless of their distance" -msgstr "" +msgstr "거리와 무관하게 객체를 항상 붙이기" #: ../src/ui/dialog/document-properties.cpp:280 -msgid "" -"If set, objects only snap to another object when it's within the range " -"specified below" -msgstr "" +msgid "If set, objects only snap to another object when it's within the range specified below" +msgstr "설정시, 객체들이 지정된 범위내에 있을 때 다른 객체에 붙이기됨" #. Options for snapping to grids #: ../src/ui/dialog/document-properties.cpp:284 -#, fuzzy msgid "Snap d_istance" -msgstr "잉크스케이프: 고급(_A)" +msgstr "붙이기 거리(_I)" #: ../src/ui/dialog/document-properties.cpp:284 msgid "Snap only when c_loser than:" -msgstr "" +msgstr "보다 가까울 때만 붙이기(_ L)" #: ../src/ui/dialog/document-properties.cpp:285 msgid "Snapping distance, in screen pixels, for snapping to grid" -msgstr "" +msgstr "격자에 붙이기 위한 붙이기 거리" #: ../src/ui/dialog/document-properties.cpp:285 msgid "Always snap to grids, regardless of the distance" -msgstr "" +msgstr "거리에 무관하게 항상 격자에 붙이기" #: ../src/ui/dialog/document-properties.cpp:286 -msgid "" -"If set, objects only snap to a grid line when it's within the range " -"specified below" -msgstr "" +msgid "If set, objects only snap to a grid line when it's within the range specified below" +msgstr "설정시, 지정된 범위내에 있으면 객체들이 격자선에 붙이기됨" #. Options for snapping to guides #: ../src/ui/dialog/document-properties.cpp:290 -#, fuzzy msgid "Snap dist_ance" -msgstr "잉크스케이프: 고급(_A)" +msgstr "붙이기 거리(_A)" #: ../src/ui/dialog/document-properties.cpp:290 msgid "Snap only when close_r than:" -msgstr "" +msgstr "보다 가까이 있을 때만 붙이기(_R):" #: ../src/ui/dialog/document-properties.cpp:291 msgid "Snapping distance, in screen pixels, for snapping to guides" -msgstr "" +msgstr "안내선에 붙이기 위한 붙이기 거리" #: ../src/ui/dialog/document-properties.cpp:291 msgid "Always snap to guides, regardless of the distance" -msgstr "" +msgstr "거리에 무관하게 항상 안내선에 붙이기" #: ../src/ui/dialog/document-properties.cpp:292 -msgid "" -"If set, objects only snap to a guide when it's within the range specified " -"below" -msgstr "" +msgid "If set, objects only snap to a guide when it's within the range specified below" +msgstr "설정시, 객체가 지정된 범위내에 있으면 안내선에 붙이기됨" #: ../src/ui/dialog/document-properties.cpp:315 -#, fuzzy msgid "Snapping" -msgstr "선" +msgstr "붙이기" #: ../src/ui/dialog/document-properties.cpp:317 -#, fuzzy msgid "What snaps" -msgstr "사각형" +msgstr "붙일 대상" #: ../src/ui/dialog/document-properties.cpp:319 -#, fuzzy msgid "Snap to objects" -msgstr "선" +msgstr "객체에 붙이기" #: ../src/ui/dialog/document-properties.cpp:321 -#, fuzzy msgid "Snap to grids" -msgstr "선" +msgstr "격자에 붙이기" #: ../src/ui/dialog/document-properties.cpp:323 -#, fuzzy msgid "Snap to guides" -msgstr "선" +msgstr "안내선에 붙이기" #: ../src/ui/dialog/document-properties.cpp:361 -#, fuzzy msgid "Snapping to intersections of" -msgstr "선" +msgstr "교차선에 붙이기" #: ../src/ui/dialog/document-properties.cpp:363 -#, fuzzy msgid "Special points to consider" -msgstr "선" +msgstr "고려할 특정 지점" #: ../src/ui/dialog/document-properties.cpp:433 -#, fuzzy msgid "Creation" -msgstr " 생성(_C) " +msgstr " 생성 " #: ../src/ui/dialog/document-properties.cpp:434 -#, fuzzy msgid "Defined grids" -msgstr "선" +msgstr "정의된 격자" #: ../src/ui/dialog/document-properties.cpp:650 -#, fuzzy msgid "Remove grid" -msgstr "제거" +msgstr "격자 제거" #: ../src/ui/dialog/export.cpp:32 msgid "Export" -msgstr "" +msgstr "내보내기" #: ../src/ui/dialog/extension-editor.cpp:80 msgid "Information" msgstr "정보" #: ../src/ui/dialog/extension-editor.cpp:81 -#: ../share/extensions/lindenmayer.inx.h:3 ../share/extensions/measure.inx.h:2 +#: ../share/extensions/lindenmayer.inx.h:3 +#: ../share/extensions/measure.inx.h:2 msgid "Help" msgstr "도움말" #: ../src/ui/dialog/extension-editor.cpp:82 msgid "Parameters" -msgstr "" +msgstr "인자" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:382 -#, fuzzy msgid "No preview" -msgstr "미리보기" +msgstr "미리보기 없음" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:488 msgid "too large for preview" -msgstr "" +msgstr "미리보기에는 너무 큼" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:577 -#, fuzzy msgid "Enable preview" -msgstr "미리보기" +msgstr "미리보기 가능" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:711 #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:712 #: ../src/ui/dialog/filedialogimpl-win32.cpp:198 -#, fuzzy msgid "All Inkscape Files" -msgstr "모든 모양" +msgstr "전체 Inkscape 파일" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:716 #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:717 #: ../src/ui/dialog/filedialogimpl-win32.cpp:197 -#, fuzzy msgid "All Files" -msgstr "모든 형태" +msgstr "전체 파일" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:722 #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:723 -#, fuzzy msgid "All Images" -msgstr "내장 된 전체 이미지" +msgstr "전체 이미지" #. ###### Add the file types menu #. createFilterMenu(); @@ -9860,100 +9202,89 @@ msgstr "내장 된 전체 이미지" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:887 #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1429 msgid "Append filename extension automatically" -msgstr "" +msgstr "자동으로 파일이름 확장자 붙이기" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1042 #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1294 msgid "Guess from extension" -msgstr "" +msgstr "확장자에서 추측" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1315 msgid "Left edge of source" -msgstr "" +msgstr "소스의 왼쪽 모서리" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1316 msgid "Top edge of source" -msgstr "" +msgstr "소스의 최상단 모서리" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1317 -#, fuzzy msgid "Right edge of source" -msgstr "소스" +msgstr "소스의 오른쪽 모서리" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1318 msgid "Bottom edge of source" -msgstr "" +msgstr "소스의 최하위 모서리" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1319 -#, fuzzy msgid "Source width" -msgstr "소스" +msgstr "소스 폭" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1320 -#, fuzzy msgid "Source height" -msgstr "높이:" +msgstr "소스 높이:" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1321 -#, fuzzy msgid "Destination width" -msgstr "출력 목적지" +msgstr "출력 폭" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1322 -#, fuzzy msgid "Destination height" -msgstr "출력 목적지" +msgstr "출력 높이" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1323 msgid "Resolution (dots per inch)" -msgstr "" +msgstr "해상도(DPI)" #. ######################################### #. ## EXTRA WIDGET -- SOURCE SIDE #. ######################################### #. ##### Export options buttons/spinners, etc #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1360 -#, fuzzy msgid "Document" -msgstr "문서 저장됨." +msgstr "문서" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1372 #: ../share/extensions/color_custom.inx.h:3 -#, fuzzy msgid "Custom" -msgstr "개인적(_C)" +msgstr "사용자" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1412 msgid "Cairo" -msgstr "" +msgstr "카이로" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1415 msgid "Antialias" -msgstr "" +msgstr "부드럽게 처리" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1418 msgid "Background" -msgstr "" +msgstr "ë°°ê²½" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1441 -#, fuzzy msgid "Destination" -msgstr "출력 목적지" +msgstr "출력 방향" #: ../src/ui/dialog/filedialogimpl-win32.cpp:199 -#, fuzzy msgid "All Image Files" -msgstr "내장 된 전체 이미지" +msgstr "전체 이미지 파일" #: ../src/ui/dialog/filedialogimpl-win32.cpp:428 -#, fuzzy msgid "Show Preview" -msgstr "미리보기" +msgstr "미리보기 보이기" #: ../src/ui/dialog/filedialogimpl-win32.cpp:564 -#, fuzzy msgid "No file selected" -msgstr "어떠한 문서도 선택되지 않음" +msgstr "선택된 파일이 없음" #: ../src/ui/dialog/fill-and-stroke.cpp:53 msgid "Fill" @@ -9961,435 +9292,365 @@ msgstr "채움" #: ../src/ui/dialog/fill-and-stroke.cpp:54 msgid "Stroke _paint" -msgstr "" +msgstr "윤곽선 칠하기(_P)" #: ../src/ui/dialog/fill-and-stroke.cpp:55 msgid "Stroke st_yle" -msgstr "" +msgstr "윤곽선 스타일(_Y)" #: ../src/ui/dialog/filter-effects-dialog.cpp:504 -msgid "" -"This matrix determines a linear transform on colour space. Each line affects " -"one of the color components. Each column determines how much of each color " -"component from the input is passed to the output. The last column does not " -"depend on input colors, so can be used to adjust a constant component value." -msgstr "" +msgid "This matrix determines a linear transform on colour space. Each line affects one of the color components. Each column determines how much of each color component from the input is passed to the output. The last column does not depend on input colors, so can be used to adjust a constant component value." +msgstr "이 행렬은 색상 공간에서 선형 변형을 결정." #: ../src/ui/dialog/filter-effects-dialog.cpp:614 -#, fuzzy msgid "Image File" -msgstr "이미지" +msgstr "이미지 파일" #: ../src/ui/dialog/filter-effects-dialog.cpp:617 -#, fuzzy msgid "Selected SVG Element" -msgstr "선택부분 지우기" +msgstr "선택된 SVG 요소" #. TODO: any image, not justy svg #: ../src/ui/dialog/filter-effects-dialog.cpp:686 msgid "Select an image to be used as feImage input" -msgstr "" +msgstr "feImage 입력으로 사용되는 이미지 선택" #: ../src/ui/dialog/filter-effects-dialog.cpp:778 msgid "This SVG filter effect does not require any parameters." -msgstr "" +msgstr "이 SVG 필터 효과는 다른 인자를 필요로 하지 않음" #: ../src/ui/dialog/filter-effects-dialog.cpp:784 msgid "This SVG filter effect is not yet implemented in Inkscape." -msgstr "" +msgstr "이 SVG 필터 효과는 Inkscape에서 아직 실행되지 않음." #: ../src/ui/dialog/filter-effects-dialog.cpp:975 -#, fuzzy msgid "Light Source:" -msgstr "소스" +msgstr "광원:" #: ../src/ui/dialog/filter-effects-dialog.cpp:992 msgid "Direction angle for the light source on the XY plane, in degrees" -msgstr "" +msgstr "XY 면상에서 광원의 방향 각도" #: ../src/ui/dialog/filter-effects-dialog.cpp:993 msgid "Direction angle for the light source on the YZ plane, in degrees" -msgstr "" +msgstr "YZ면에서 광원의 방향 각도" #. default x: #. default y: #. default z: #: ../src/ui/dialog/filter-effects-dialog.cpp:996 #: ../src/ui/dialog/filter-effects-dialog.cpp:999 -#, fuzzy msgid "Location" -msgstr "회전(_R)" +msgstr "위치" #: ../src/ui/dialog/filter-effects-dialog.cpp:996 #: ../src/ui/dialog/filter-effects-dialog.cpp:999 #: ../src/ui/dialog/filter-effects-dialog.cpp:1002 -#, fuzzy msgid "X coordinate" -msgstr "복사 객체" +msgstr "X 좌표" #: ../src/ui/dialog/filter-effects-dialog.cpp:996 #: ../src/ui/dialog/filter-effects-dialog.cpp:999 #: ../src/ui/dialog/filter-effects-dialog.cpp:1002 -#, fuzzy msgid "Y coordinate" -msgstr "복사 객체" +msgstr "Y 좌표" #: ../src/ui/dialog/filter-effects-dialog.cpp:996 #: ../src/ui/dialog/filter-effects-dialog.cpp:999 #: ../src/ui/dialog/filter-effects-dialog.cpp:1002 -#, fuzzy msgid "Z coordinate" -msgstr "복사 객체" +msgstr "Z 좌표" #: ../src/ui/dialog/filter-effects-dialog.cpp:1002 -#, fuzzy msgid "Points At" msgstr "포인트" #: ../src/ui/dialog/filter-effects-dialog.cpp:1003 msgid "Specular Exponent" -msgstr "" +msgstr "특별 지수" #: ../src/ui/dialog/filter-effects-dialog.cpp:1003 msgid "Exponent value controlling the focus for the light source" -msgstr "" +msgstr "광원의 초점을 제어하기 위한 지수" #. TODO: here I have used 100 degrees as default value. But spec says that if not specified, no limiting cone is applied. So, there should be a way for the user to set a "no limiting cone" option. #: ../src/ui/dialog/filter-effects-dialog.cpp:1005 -#, fuzzy msgid "Cone Angle" -msgstr "각도" +msgstr "원뿔 각도" #: ../src/ui/dialog/filter-effects-dialog.cpp:1005 -msgid "" -"This is the angle between the spot light axis (i.e. the axis between the " -"light source and the point to which it is pointing at) and the spot light " -"cone. No light is projected outside this cone." -msgstr "" +msgid "This is the angle between the spot light axis (i.e. the axis between the light source and the point to which it is pointing at) and the spot light cone. No light is projected outside this cone." +msgstr "이것은 스폿 광축 사이 각도임" #: ../src/ui/dialog/filter-effects-dialog.cpp:1065 msgid "New light source" -msgstr "" +msgstr "새 빛 소스" #: ../src/ui/dialog/filter-effects-dialog.cpp:1106 -#, fuzzy msgid "_Duplicate" -msgstr "복사" +msgstr "복제(_D)" #: ../src/ui/dialog/filter-effects-dialog.cpp:1132 -#, fuzzy msgid "_Filter" -msgstr "밀리미터" +msgstr "필터(_F)" #: ../src/ui/dialog/filter-effects-dialog.cpp:1146 -#, fuzzy msgid "R_ename" -msgstr "이름변경(_R)" +msgstr "다른 이름으로 저장(_E)" #: ../src/ui/dialog/filter-effects-dialog.cpp:1240 -#, fuzzy msgid "Rename filter" -msgstr "채움 제거" +msgstr "필터 다른 이름으로 저장" #: ../src/ui/dialog/filter-effects-dialog.cpp:1276 -#, fuzzy msgid "Apply filter" -msgstr "레이어 추가" +msgstr "필터 적용" #: ../src/ui/dialog/filter-effects-dialog.cpp:1352 -#, fuzzy msgid "Add filter" -msgstr "레이어 추가" +msgstr "필터 더하기" #: ../src/ui/dialog/filter-effects-dialog.cpp:1378 -#, fuzzy msgid "Duplicate filter" -msgstr "노드 복사" +msgstr "필터 복제" #: ../src/ui/dialog/filter-effects-dialog.cpp:1445 -#, fuzzy msgid "_Effect" -msgstr "옵셋" +msgstr "효과(_E)" #: ../src/ui/dialog/filter-effects-dialog.cpp:1453 -#, fuzzy msgid "Connections" -msgstr "연결자" +msgstr "연결" #: ../src/ui/dialog/filter-effects-dialog.cpp:1569 msgid "Remove filter primitive" -msgstr "" +msgstr "필터 초기치 제거" #: ../src/ui/dialog/filter-effects-dialog.cpp:1940 -#, fuzzy msgid "Remove merge node" -msgstr " 삭제(_m) " +msgstr "병합 노드 제거" #: ../src/ui/dialog/filter-effects-dialog.cpp:2056 msgid "Reorder filter primitive" -msgstr "" +msgstr "필터 초기치 재배열" #: ../src/ui/dialog/filter-effects-dialog.cpp:2092 -#, fuzzy msgid "Add Effect:" -msgstr "옵셋" +msgstr "효과 더하기:" #: ../src/ui/dialog/filter-effects-dialog.cpp:2093 -#, fuzzy msgid "No effect selected" -msgstr "어떠한 문서도 선택되지 않음" +msgstr "선택된 효과 없음" #: ../src/ui/dialog/filter-effects-dialog.cpp:2094 -#, fuzzy msgid "No filter selected" -msgstr "어떠한 문서도 선택되지 않음" +msgstr "선택된 필터 없음" #: ../src/ui/dialog/filter-effects-dialog.cpp:2130 -#, fuzzy msgid "Effect parameters" -msgstr "사각형" +msgstr "효과 인자" #: ../src/ui/dialog/filter-effects-dialog.cpp:2131 msgid "Filter General Settings" -msgstr "" +msgstr "필터 일반 설정" #. default x: #. default y: #: ../src/ui/dialog/filter-effects-dialog.cpp:2187 -#, fuzzy msgid "Coordinates" -msgstr "복사 객체" +msgstr "좌표" #: ../src/ui/dialog/filter-effects-dialog.cpp:2187 msgid "X coordinate of the left corners of filter effects region" -msgstr "" +msgstr "필터 효과 구간의 왼쪽 모서리 X 좌표" #: ../src/ui/dialog/filter-effects-dialog.cpp:2187 msgid "Y coordinate of the upper corners of filter effects region" -msgstr "" +msgstr "필터 효과 구간의 위쪽 모서리 Y 좌표" #. default width: #. default height: #: ../src/ui/dialog/filter-effects-dialog.cpp:2188 #: ../share/extensions/dimension.inx.h:1 msgid "Dimensions" -msgstr "" +msgstr "크기" #: ../src/ui/dialog/filter-effects-dialog.cpp:2188 -#, fuzzy msgid "Width of filter effects region" -msgstr "점선 유형" +msgstr "필터 효과 구간의 폭" #: ../src/ui/dialog/filter-effects-dialog.cpp:2188 msgid "Height of filter effects region" -msgstr "" +msgstr "필터 효과 구간의 높이" #. # end multiple scan #. ## end mode page #: ../src/ui/dialog/filter-effects-dialog.cpp:2191 -#: ../src/ui/dialog/tracedialog.cpp:553 ../src/widgets/toolbox.cpp:3328 +#: ../src/ui/dialog/tracedialog.cpp:553 +#: ../src/widgets/toolbox.cpp:3328 #: ../share/extensions/triangle.inx.h:9 -#, fuzzy msgid "Mode" -msgstr "이동(_M)" +msgstr "모드" #: ../src/ui/dialog/filter-effects-dialog.cpp:2194 -msgid "" -"Indicates the type of matrix operation. The keyword 'matrix' indicates that " -"a full 5x4 matrix of values will be provided. The other keywords represent " -"convenience shortcuts to allow commonly used color operations to be " -"performed without specifying a complete matrix." -msgstr "" +msgid "Indicates the type of matrix operation. The keyword 'matrix' indicates that a full 5x4 matrix of values will be provided. The other keywords represent convenience shortcuts to allow commonly used color operations to be performed without specifying a complete matrix." +msgstr "행렬식 형태 지시" #: ../src/ui/dialog/filter-effects-dialog.cpp:2195 msgid "Value(s)" -msgstr "" +msgstr "값" #: ../src/ui/dialog/filter-effects-dialog.cpp:2209 #: ../src/ui/dialog/filter-effects-dialog.cpp:2250 -#, fuzzy msgid "Operator" -msgstr "제작자" +msgstr "조작기" #: ../src/ui/dialog/filter-effects-dialog.cpp:2210 msgid "K1" -msgstr "" +msgstr "K1" #: ../src/ui/dialog/filter-effects-dialog.cpp:2210 #: ../src/ui/dialog/filter-effects-dialog.cpp:2211 #: ../src/ui/dialog/filter-effects-dialog.cpp:2212 #: ../src/ui/dialog/filter-effects-dialog.cpp:2213 -msgid "" -"If the arithmetic operation is chosen, each result pixel is computed using " -"the formula k1*i1*i2 + k2*i1 + k3*i2 + k4 where i1 and i2 are the pixel " -"values of the first and second inputs respectively." -msgstr "" +msgid "If the arithmetic operation is chosen, each result pixel is computed using the formula k1*i1*i2 + k2*i1 + k3*i2 + k4 where i1 and i2 are the pixel values of the first and second inputs respectively." +msgstr "산술식이 선택시, 각 출력 화소가 계산됨" #: ../src/ui/dialog/filter-effects-dialog.cpp:2211 msgid "K2" -msgstr "" +msgstr "K2" #: ../src/ui/dialog/filter-effects-dialog.cpp:2212 msgid "K3" -msgstr "" +msgstr "K3" #: ../src/ui/dialog/filter-effects-dialog.cpp:2213 msgid "K4" -msgstr "" +msgstr "K4" #: ../src/ui/dialog/filter-effects-dialog.cpp:2216 -#, fuzzy msgid "width of the convolve matrix" -msgstr "점선 유형" +msgstr "합성곱 행렬의 폭" #: ../src/ui/dialog/filter-effects-dialog.cpp:2216 -#, fuzzy msgid "height of the convolve matrix" -msgstr "채운 사각형 높이" +msgstr "합성곱 행렬의 높" #. default x: #. default y: #: ../src/ui/dialog/filter-effects-dialog.cpp:2217 -#, fuzzy msgid "Target" -msgstr "목적:" +msgstr "목표" #: ../src/ui/dialog/filter-effects-dialog.cpp:2217 -msgid "" -"X coordinate of the target point in the convolve matrix. The convolution is " -"applied to pixels around this point." -msgstr "" +msgid "X coordinate of the target point in the convolve matrix. The convolution is applied to pixels around this point." +msgstr "합성곱 행렬에서 목표점의 X 좌표" #: ../src/ui/dialog/filter-effects-dialog.cpp:2217 -msgid "" -"Y coordinate of the target point in the convolve matrix. The convolution is " -"applied to pixels around this point." -msgstr "" +msgid "Y coordinate of the target point in the convolve matrix. The convolution is applied to pixels around this point." +msgstr "합성곱 행렬에서 목표점의 Y 좌표" #. TRANSLATORS: for info on "Kernel", see http://en.wikipedia.org/wiki/Kernel_(matrix) #: ../src/ui/dialog/filter-effects-dialog.cpp:2219 msgid "Kernel" -msgstr "" +msgstr "커널" #: ../src/ui/dialog/filter-effects-dialog.cpp:2219 -msgid "" -"This matrix describes the convolve operation that is applied to the input " -"image in order to calculate the pixel colors at the output. Different " -"arrangements of values in this matrix result in various possible visual " -"effects. An identity matrix would lead to a motion blur effect (parallel to " -"the matrix diagonal) while a matrix filled with a constant non-zero value " -"would lead to a common blur effect." -msgstr "" +msgid "This matrix describes the convolve operation that is applied to the input image in order to calculate the pixel colors at the output. Different arrangements of values in this matrix result in various possible visual effects. An identity matrix would lead to a motion blur effect (parallel to the matrix diagonal) while a matrix filled with a constant non-zero value would lead to a common blur effect." +msgstr "합성곱 행렬을 나타냄" #. TODO: svg spec: The default value is the sum of all values in kernelMatrix, with the exception that if the sum is zero, then the divisor is set to 1. #: ../src/ui/dialog/filter-effects-dialog.cpp:2222 msgid "Divisor" -msgstr "" +msgstr "나눗셈" #: ../src/ui/dialog/filter-effects-dialog.cpp:2222 -msgid "" -"After applying the kernelMatrix to the input image to yield a number, that " -"number is divided by divisor to yield the final destination color value. A " -"divisor that is the sum of all the matrix values tends to have an evening " -"effect on the overall color intensity of the result." +msgid "After applying the kernelMatrix to the input image to yield a number, that number is divided by divisor to yield the final destination color value. A divisor that is the sum of all the matrix values tends to have an evening effect on the overall color intensity of the result." msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2223 msgid "Bias" -msgstr "" +msgstr "편향" #: ../src/ui/dialog/filter-effects-dialog.cpp:2223 -msgid "" -"This value is added to each component. This is useful to define a constant " -"value as the zero response of the filter." -msgstr "" +msgid "This value is added to each component. This is useful to define a constant value as the zero response of the filter." +msgstr "이 값은 각 요소에 더하여짐." #: ../src/ui/dialog/filter-effects-dialog.cpp:2224 -#, fuzzy msgid "Edge Mode" -msgstr "이동(_M)" +msgstr "모서리 모드" #: ../src/ui/dialog/filter-effects-dialog.cpp:2224 -msgid "" -"Determines how to extend the input image as necessary with color values so " -"that the matrix operations can be applied when the kernel is positioned at " -"or near the edge of the input image." +msgid "Determines how to extend the input image as necessary with color values so that the matrix operations can be applied when the kernel is positioned at or near the edge of the input image." msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2225 msgid "Preserve Alpha" -msgstr "" +msgstr "알파 ë³´ì¡´" #: ../src/ui/dialog/filter-effects-dialog.cpp:2225 msgid "If set, the alpha channel won't be altered by this filter primitive." -msgstr "" +msgstr "설정시, 알파 채널은 이 필터 원본에 의하여 변경되지 않음." #. default: white #: ../src/ui/dialog/filter-effects-dialog.cpp:2228 -#, fuzzy msgid "Diffuse Color" -msgstr "색:" +msgstr "확산 색상" #: ../src/ui/dialog/filter-effects-dialog.cpp:2228 #: ../src/ui/dialog/filter-effects-dialog.cpp:2261 msgid "Defines the color of the light source" -msgstr "" +msgstr "광원의색상 지정" #: ../src/ui/dialog/filter-effects-dialog.cpp:2229 #: ../src/ui/dialog/filter-effects-dialog.cpp:2262 msgid "Surface Scale" -msgstr "" +msgstr "표면 비율" #: ../src/ui/dialog/filter-effects-dialog.cpp:2229 #: ../src/ui/dialog/filter-effects-dialog.cpp:2262 -msgid "" -"This value amplifies the heights of the bump map defined by the input alpha " -"channel" -msgstr "" +msgid "This value amplifies the heights of the bump map defined by the input alpha channel" +msgstr "이 값은 입력 알파 채널에 의해 정의된 충돌맵의 높이로 증폭됨." #: ../src/ui/dialog/filter-effects-dialog.cpp:2230 #: ../src/ui/dialog/filter-effects-dialog.cpp:2263 -#, fuzzy msgid "Constant" -msgstr "연결" +msgstr "상수" #: ../src/ui/dialog/filter-effects-dialog.cpp:2230 #: ../src/ui/dialog/filter-effects-dialog.cpp:2263 msgid "This constant affects the Phong lighting model." -msgstr "" +msgstr "이 상수는 Phong 광원 모델에 영향을 미침." #: ../src/ui/dialog/filter-effects-dialog.cpp:2231 #: ../src/ui/dialog/filter-effects-dialog.cpp:2265 msgid "Kernel Unit Length" -msgstr "" +msgstr "커널 단위 길이" #: ../src/ui/dialog/filter-effects-dialog.cpp:2235 msgid "This defines the intensity of the displacement effect." -msgstr "" +msgstr "이것은 변위 효과의 강도를 정의" #: ../src/ui/dialog/filter-effects-dialog.cpp:2236 -#, fuzzy msgid "X displacement" -msgstr "새로운 요소 노드" +msgstr "X 변위" #: ../src/ui/dialog/filter-effects-dialog.cpp:2236 msgid "Color component that controls the displacement in the X direction" -msgstr "" +msgstr "X 방향에서 변위를 제어하기 위한 색상 요소" #: ../src/ui/dialog/filter-effects-dialog.cpp:2237 -#, fuzzy msgid "Y displacement" -msgstr "새로운 요소 노드" +msgstr "Y 변위" #: ../src/ui/dialog/filter-effects-dialog.cpp:2237 msgid "Color component that controls the displacement in the Y direction" -msgstr "" +msgstr "Y 방향에서 변위를 제어하기 위한 색상 요소" #. default: black #: ../src/ui/dialog/filter-effects-dialog.cpp:2240 -#, fuzzy msgid "Flood Color" -msgstr "색" +msgstr "쏟아붙기 색상" #: ../src/ui/dialog/filter-effects-dialog.cpp:2240 msgid "The whole filter region will be filled with this color." @@ -10397,11 +9658,11 @@ msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2244 msgid "Standard Deviation" -msgstr "" +msgstr "표준 편차" #: ../src/ui/dialog/filter-effects-dialog.cpp:2244 msgid "The standard deviation for the blur operation." -msgstr "" +msgstr "흐림 작업을 위한 표준 편차" #: ../src/ui/dialog/filter-effects-dialog.cpp:2250 msgid "" @@ -10410,23 +9671,20 @@ msgid "" msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2254 -#, fuzzy msgid "Source of Image" -msgstr "단계 숫자" +msgstr "이미지 소스" #: ../src/ui/dialog/filter-effects-dialog.cpp:2257 -#, fuzzy msgid "Delta X" -msgstr "삭제(_D)" +msgstr "델타 X" #: ../src/ui/dialog/filter-effects-dialog.cpp:2257 msgid "This is how far the input image gets shifted to the right" msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2258 -#, fuzzy msgid "Delta Y" -msgstr "삭제(_D)" +msgstr "델타 Y" #: ../src/ui/dialog/filter-effects-dialog.cpp:2258 msgid "This is how far the input image gets shifted downwards" @@ -10435,35 +9693,32 @@ msgstr "" #. default: white #: ../src/ui/dialog/filter-effects-dialog.cpp:2261 msgid "Specular Color" -msgstr "" +msgstr "특정 색상" #: ../src/ui/dialog/filter-effects-dialog.cpp:2264 #: ../share/extensions/interp.inx.h:2 msgid "Exponent" -msgstr "" +msgstr "지수" #: ../src/ui/dialog/filter-effects-dialog.cpp:2264 msgid "Exponent for specular term, larger is more \"shiny\"." msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2273 -msgid "" -"Indicates whether the filter primitive should perform a noise or turbulence " -"function." +msgid "Indicates whether the filter primitive should perform a noise or turbulence function." msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2274 msgid "Base Frequency" -msgstr "" +msgstr "기본 주파수" #: ../src/ui/dialog/filter-effects-dialog.cpp:2275 msgid "Octaves" -msgstr "" +msgstr "8ì¡°" #: ../src/ui/dialog/filter-effects-dialog.cpp:2276 -#, fuzzy msgid "Seed" -msgstr "속도:" +msgstr "씨앗" #: ../src/ui/dialog/filter-effects-dialog.cpp:2276 msgid "The starting number for the pseudo random number generator." @@ -10471,131 +9726,79 @@ msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2288 msgid "Add filter primitive" -msgstr "" +msgstr "필터 원형을 더하기" #: ../src/ui/dialog/filter-effects-dialog.cpp:2304 -msgid "" -"The feBlend filter primitive provides 4 image blending modes: screen, " -"multiply, darken and lighten." +msgid "The feBlend filter primitive provides 4 image blending modes: screen, multiply, darken and lighten." msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2308 -msgid "" -"The feColorMatrix filter primitive applies a matrix transformation to " -"colour of each rendered pixel. This allows for effects like turning object " -"to grayscale, modifying colour saturation and changing colour hue." +msgid "The feColorMatrix filter primitive applies a matrix transformation to colour of each rendered pixel. This allows for effects like turning object to grayscale, modifying colour saturation and changing colour hue." msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2312 -msgid "" -"The feComponentTransfer filter primitive manipulates the input's " -"color components (red, green, blue, and alpha) according to particular " -"transfer functions, allowing operations like brightness and contrast " -"adjustment, color balance, and thresholding." +msgid "The feComponentTransfer filter primitive manipulates the input's color components (red, green, blue, and alpha) according to particular transfer functions, allowing operations like brightness and contrast adjustment, color balance, and thresholding." msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2316 -msgid "" -"The feComposite filter primitive composites two images using one of " -"the Porter-Duff blending modes or the aritmetic mode described in SVG " -"standard. Porter-Duff blending modes are essentially logical operations " -"between the corresponding pixel values of the images." +msgid "The feComposite filter primitive composites two images using one of the Porter-Duff blending modes or the aritmetic mode described in SVG standard. Porter-Duff blending modes are essentially logical operations between the corresponding pixel values of the images." msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2320 -msgid "" -"The feConvolveMatrix lets you specify a Convolution to be applied on " -"the image. Common effects created using convolution matrices are blur, " -"sharpening, embossing and edge detection. Note that while gaussian blur can " -"be created using this filter primitive, the special gaussian blur primitive " -"is faster and resolution-independent." +msgid "The feConvolveMatrix lets you specify a Convolution to be applied on the image. Common effects created using convolution matrices are blur, sharpening, embossing and edge detection. Note that while gaussian blur can be created using this filter primitive, the special gaussian blur primitive is faster and resolution-independent." msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2324 -msgid "" -"The feDiffuseLighting and feSpecularLighting filter primitives create " -"\"embossed\" shadings. The input's alpha channel is used to provide depth " -"information: higher opacity areas are raised toward the viewer and lower " -"opacity areas recede away from the viewer." +msgid "The feDiffuseLighting and feSpecularLighting filter primitives create \"embossed\" shadings. The input's alpha channel is used to provide depth information: higher opacity areas are raised toward the viewer and lower opacity areas recede away from the viewer." msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2328 -msgid "" -"The feDisplacementMap filter primitive displaces the pixels in the " -"first input using the second input as a displacement map, that shows from " -"how far the pixel should come from. Classical examples are whirl and pinch " -"effects." +msgid "The feDisplacementMap filter primitive displaces the pixels in the first input using the second input as a displacement map, that shows from how far the pixel should come from. Classical examples are whirl and pinch effects." msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2332 -msgid "" -"The feFlood filter primitive fills the region with a given color and " -"opacity. It is usually used as an input to other filters to apply color to " -"a graphic." +msgid "The feFlood filter primitive fills the region with a given color and opacity. It is usually used as an input to other filters to apply color to a graphic." msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2336 -msgid "" -"The feGaussianBlur filter primitive uniformly blurs its input. It is " -"commonly used together with feOffset to create a drop shadow effect." +msgid "The feGaussianBlur filter primitive uniformly blurs its input. It is commonly used together with feOffset to create a drop shadow effect." msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2340 -msgid "" -"The feImage filter primitive fills the region with an external image " -"or another part of the document." +msgid "The feImage filter primitive fills the region with an external image or another part of the document." msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2344 -msgid "" -"The feMerge filter primitive composites several temporary images " -"inside the filter primitive to a single image. It uses normal alpha " -"compositing for this. This is equivalent to using several feBlend primitives " -"in 'normal' mode or several feComposite primitives in 'over' mode." +msgid "The feMerge filter primitive composites several temporary images inside the filter primitive to a single image. It uses normal alpha compositing for this. This is equivalent to using several feBlend primitives in 'normal' mode or several feComposite primitives in 'over' mode." msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2348 -msgid "" -"The feMorphology filter primitive provides erode and dilate effects. " -"For single-colour objects erode makes the object thinner and dilate makes it " -"thicker." +msgid "The feMorphology filter primitive provides erode and dilate effects. For single-colour objects erode makes the object thinner and dilate makes it thicker." msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2352 -msgid "" -"The feOffset filter primitive offsets the image by an user-defined " -"amount. For example, this is useful for drop shadows, where the shadow is in " -"a slightly different position than the actual object." +msgid "The feOffset filter primitive offsets the image by an user-defined amount. For example, this is useful for drop shadows, where the shadow is in a slightly different position than the actual object." msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2356 -msgid "" -"The feDiffuseLighting and feSpecularLighting filter primitives create " -"\"embossed\" shadings. The input's alpha channel is used to provide depth " -"information: higher opacity areas are raised toward the viewer and lower " -"opacity areas recede away from the viewer." +msgid "The feDiffuseLighting and feSpecularLighting filter primitives create \"embossed\" shadings. The input's alpha channel is used to provide depth information: higher opacity areas are raised toward the viewer and lower opacity areas recede away from the viewer." msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2360 -msgid "" -"The feTile filter primitive tiles a region with its input graphic" +msgid "The feTile filter primitive tiles a region with its input graphic" msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2364 -msgid "" -"The feTurbulence filter primitive renders Perlin noise. This kind of " -"noise is useful in simulating several nature phenomena like clouds, fire and " -"smoke and in generating complex textures like marble or granite." +msgid "The feTurbulence filter primitive renders Perlin noise. This kind of noise is useful in simulating several nature phenomena like clouds, fire and smoke and in generating complex textures like marble or granite." msgstr "" #: ../src/ui/dialog/filter-effects-dialog.cpp:2382 msgid "Duplicate filter primitive" -msgstr "" +msgstr "필터 원형 복제" #: ../src/ui/dialog/filter-effects-dialog.cpp:2435 -#, fuzzy msgid "Set filter primitive attribute" -msgstr "특성 삭제" +msgstr "필터 원형 속성 설정" #: ../src/ui/dialog/inkscape-preferences.cpp:147 msgid "Mouse" @@ -10603,7 +9806,7 @@ msgstr "마우스" #: ../src/ui/dialog/inkscape-preferences.cpp:149 msgid "Grab sensitivity:" -msgstr "" +msgstr "붙이기 민감도:" #: ../src/ui/dialog/inkscape-preferences.cpp:149 #: ../src/ui/dialog/inkscape-preferences.cpp:152 @@ -10611,56 +9814,47 @@ msgstr "" #: ../src/ui/dialog/inkscape-preferences.cpp:172 #: ../src/ui/dialog/inkscape-preferences.cpp:182 msgid "pixels" -msgstr "픽셀" +msgstr "화소" #: ../src/ui/dialog/inkscape-preferences.cpp:150 -msgid "" -"How close on the screen you need to be to an object to be able to grab it " -"with mouse (in screen pixels)" -msgstr "" +msgid "How close on the screen you need to be to an object to be able to grab it with mouse (in screen pixels)" +msgstr "화면상 객체가 붙이기 되는 거리" #: ../src/ui/dialog/inkscape-preferences.cpp:152 msgid "Click/drag threshold:" -msgstr "" +msgstr "허용치 클릭/끌기:" #: ../src/ui/dialog/inkscape-preferences.cpp:153 -msgid "" -"Maximum mouse drag (in screen pixels) which is considered a click, not a drag" -msgstr "" +msgid "Maximum mouse drag (in screen pixels) which is considered a click, not a drag" +msgstr "한번 클릭시 고려되는 최대 마우스 끌기" #: ../src/ui/dialog/inkscape-preferences.cpp:155 msgid "Use pressure-sensitive tablet (requires restart)" -msgstr "" +msgstr "압력 감지 타블렛 사용(재실행 필요)" #: ../src/ui/dialog/inkscape-preferences.cpp:157 -msgid "" -"Use the capabilities of a tablet or other pressure-sensitive device. Disable " -"this only if you have problems with the tablet (you can still use it as a " -"mouse)" -msgstr "" +msgid "Use the capabilities of a tablet or other pressure-sensitive device. Disable this only if you have problems with the tablet (you can still use it as a mouse)" +msgstr "타블렛이나 다른 압력 감지 기기의 특성을 사용 " #: ../src/ui/dialog/inkscape-preferences.cpp:159 msgid "Switch tool based on tablet device (requires restart)" -msgstr "" +msgstr "타블렛 기기에 기반한 도구로 변경(재시작 필요)" #: ../src/ui/dialog/inkscape-preferences.cpp:161 -msgid "" -"Change tool as different devices are used on the tablet (pen, eraser, mouse)" -msgstr "" +msgid "Change tool as different devices are used on the tablet (pen, eraser, mouse)" +msgstr "타블렛에서 사용한 다른 기기로 도구를 변경 (펜,지우개, 마우스)" #: ../src/ui/dialog/inkscape-preferences.cpp:166 msgid "Scrolling" -msgstr "스크롤" +msgstr "이동" #: ../src/ui/dialog/inkscape-preferences.cpp:168 msgid "Mouse wheel scrolls by:" -msgstr "휠 마우스 스크롤에 의한:" +msgstr "휠 마우스 이동:" #: ../src/ui/dialog/inkscape-preferences.cpp:169 -msgid "" -"One mouse wheel notch scrolls by this distance in screen pixels " -"(horizontally with Shift)" -msgstr "" +msgid "One mouse wheel notch scrolls by this distance in screen pixels (horizontally with Shift)" +msgstr "마우스 윌 회전은 이 거리만큼 이동시킴" #: ../src/ui/dialog/inkscape-preferences.cpp:170 msgid "Ctrl+arrows" @@ -10668,69 +9862,59 @@ msgstr "Ctrl+방향키" #: ../src/ui/dialog/inkscape-preferences.cpp:172 msgid "Scroll by:" -msgstr "스크롤에의한:" +msgstr "이동:" #: ../src/ui/dialog/inkscape-preferences.cpp:173 msgid "Pressing Ctrl+arrow key scrolls by this distance (in screen pixels)" -msgstr "" +msgstr "Ctrl+화살표 키 루르면 이 거리만큼 이동" #: ../src/ui/dialog/inkscape-preferences.cpp:175 msgid "Acceleration:" msgstr "가속:" #: ../src/ui/dialog/inkscape-preferences.cpp:176 -msgid "" -"Pressing and holding Ctrl+arrow will gradually speed up scrolling (0 for no " -"acceleration)" -msgstr "" +msgid "Pressing and holding Ctrl+arrow will gradually speed up scrolling (0 for no acceleration)" +msgstr "Ctrl+화살표키를 누르고 지속하면 점차 이동속도 증가(0은 가속 없음)" #: ../src/ui/dialog/inkscape-preferences.cpp:177 msgid "Autoscrolling" -msgstr "자동 스크롤" +msgstr "자동 이동" #: ../src/ui/dialog/inkscape-preferences.cpp:179 msgid "Speed:" msgstr "속도:" #: ../src/ui/dialog/inkscape-preferences.cpp:180 -msgid "" -"How fast the canvas autoscrolls when you drag beyond canvas edge (0 to turn " -"autoscroll off)" -msgstr "" +msgid "How fast the canvas autoscrolls when you drag beyond canvas edge (0 to turn autoscroll off)" +msgstr "캔버스상에서 자동 이동이 얼마나 빠른가를 나타냄(0은 자동이동 꺼짐)" #: ../src/ui/dialog/inkscape-preferences.cpp:182 -#: ../src/ui/dialog/tracedialog.cpp:410 ../src/ui/dialog/tracedialog.cpp:443 -#: ../src/ui/dialog/tracedialog.cpp:586 ../src/widgets/toolbox.cpp:5741 +#: ../src/ui/dialog/tracedialog.cpp:410 +#: ../src/ui/dialog/tracedialog.cpp:443 +#: ../src/ui/dialog/tracedialog.cpp:586 +#: ../src/widgets/toolbox.cpp:5741 msgid "Threshold:" -msgstr "" +msgstr "허용치:" #: ../src/ui/dialog/inkscape-preferences.cpp:183 -msgid "" -"How far (in screen pixels) you need to be from the canvas edge to trigger " -"autoscroll; positive is outside the canvas, negative is within the canvas" -msgstr "" +msgid "How far (in screen pixels) you need to be from the canvas edge to trigger autoscroll; positive is outside the canvas, negative is within the canvas" +msgstr "얼마나 멀리 이동할 수 있는가;양의 값은 캔버스 밖, 음의 값은 캔버스 안" #: ../src/ui/dialog/inkscape-preferences.cpp:184 msgid "Left mouse button pans when Space is pressed" -msgstr "" +msgstr "Space를 누르고 왼쪽 마우스 버튼 누른 상태에서 작업영역 이동" #: ../src/ui/dialog/inkscape-preferences.cpp:186 -msgid "" -"When on, pressing and holding Space and dragging with left mouse button pans " -"canvas (as in Adobe Illustrator). When off, Space temporarily switches to " -"Selector tool (default)." -msgstr "" +msgid "When on, pressing and holding Space and dragging with left mouse button pans canvas (as in Adobe Illustrator). When off, Space temporarily switches to Selector tool (default)." +msgstr "On시, Space를 누른 채 왼쪽 마우스 클기를 하면 캔버스가 이동, Off시, 일시적으로 공간은 선택 도구툴로 변경(기본값)" #: ../src/ui/dialog/inkscape-preferences.cpp:187 -#, fuzzy msgid "Mouse wheel zooms by default" -msgstr "휠 마우스 스크롤에 의한:" +msgstr "체크시 중간 마우스 휠로 화면 비율 조정" #: ../src/ui/dialog/inkscape-preferences.cpp:189 -msgid "" -"When on, mouse wheel zooms without Ctrl and scrolls canvas with Ctrl; when " -"off, it zooms with Ctrl and scrolls without Ctrl." -msgstr "" +msgid "When on, mouse wheel zooms without Ctrl and scrolls canvas with Ctrl; when off, it zooms with Ctrl and scrolls without Ctrl." +msgstr "On시 Ctrl 누름없이 마우스 휠로 확대가능하고 Ctrl로 캔버스 이동; Off시 Ctrl 눌러 확대하고 Ctrl 없이 이동" #: ../src/ui/dialog/inkscape-preferences.cpp:194 msgid "Steps" @@ -10739,215 +9923,188 @@ msgstr "단계" #. nudgedistance is limited to 1000 in select-context.cpp: use the same limit here #: ../src/ui/dialog/inkscape-preferences.cpp:198 msgid "Arrow keys move by:" -msgstr "" +msgstr "화살표 키 이동" #: ../src/ui/dialog/inkscape-preferences.cpp:199 -msgid "" -"Pressing an arrow key moves selected object(s) or node(s) by this distance " -"(in px units)" -msgstr "" +msgid "Pressing an arrow key moves selected object(s) or node(s) by this distance (in px units)" +msgstr "지정거리만큼 화살표를 누름으로서 선택객체 또는 노드를 이동시킴" #. defaultscale is limited to 1000 in select-context.cpp: use the same limit here #: ../src/ui/dialog/inkscape-preferences.cpp:202 msgid "> and < scale by:" -msgstr "> 와 < 크기 조절:" +msgstr ">키 & < 키 누름 비율:" #: ../src/ui/dialog/inkscape-preferences.cpp:203 -msgid "" -"Pressing > or < scales selection up or down by this increment (in px units)" -msgstr "" +msgid "Pressing > or < scales selection up or down by this increment (in px units)" +msgstr "> 또는 < 눌러 증가값으로 선택을 확대 또는 축소" #: ../src/ui/dialog/inkscape-preferences.cpp:205 msgid "Inset/Outset by:" -msgstr "" +msgstr "축소/확대 :" #: ../src/ui/dialog/inkscape-preferences.cpp:206 -msgid "" -"Inset and Outset commands displace the path by this distance (in px units)" -msgstr "" +msgid "Inset and Outset commands displace the path by this distance (in px units)" +msgstr "지정거리만큼 경로의 확대 또는 축소" #: ../src/ui/dialog/inkscape-preferences.cpp:207 msgid "Compass-like display of angles" -msgstr "" +msgstr "각도를 나침판처럼 보이기" #: ../src/ui/dialog/inkscape-preferences.cpp:209 -msgid "" -"When on, angles are displayed with 0 at north, 0 to 360 range, positive " -"clockwise; otherwise with 0 at east, -180 to 180 range, positive " -"counterclockwise" -msgstr "" +msgid "When on, angles are displayed with 0 at north, 0 to 360 range, positive clockwise; otherwise with 0 at east, -180 to 180 range, positive counterclockwise" +msgstr "On시, 각도는 북에서 0도부터 360도까지, 양의 값은 시계방향, 음의값은 반시계방향," #: ../src/ui/dialog/inkscape-preferences.cpp:215 msgid "Rotation snaps every:" -msgstr "" +msgstr "매 회전각: " #: ../src/ui/dialog/inkscape-preferences.cpp:215 msgid "degrees" -msgstr "" +msgstr "도" #: ../src/ui/dialog/inkscape-preferences.cpp:216 -msgid "" -"Rotating with Ctrl pressed snaps every that much degrees; also, pressing " -"[ or ] rotates by this amount" -msgstr "" +msgid "Rotating with Ctrl pressed snaps every that much degrees; also, pressing [ or ] rotates by this amount" +msgstr "Ctrl을 누른 채 회전은 지정된 각도만큼 붙이기, []값은 지정된 양만큼 회전" #: ../src/ui/dialog/inkscape-preferences.cpp:218 msgid "Zoom in/out by:" -msgstr "확대 축소:" +msgstr "확대/축소 비율:" #: ../src/ui/dialog/inkscape-preferences.cpp:219 -msgid "" -"Zoom tool click, +/- keys, and middle click zoom in and out by this " -"multiplier" -msgstr "" +msgid "Zoom tool click, +/- keys, and middle click zoom in and out by this multiplier" +msgstr "확대/축소 도구 클릭 +/- 키" #: ../src/ui/dialog/inkscape-preferences.cpp:225 msgid "Show selection cue" -msgstr "" +msgstr "선택 큐 보이기" #: ../src/ui/dialog/inkscape-preferences.cpp:226 -msgid "" -"Whether selected objects display a selection cue (the same as in selector)" -msgstr "" +msgid "Whether selected objects display a selection cue (the same as in selector)" +msgstr "선택 객체가 선택 큐에서 보일지를 지정(선택자와 동일)" #: ../src/ui/dialog/inkscape-preferences.cpp:232 msgid "Enable gradient editing" -msgstr "" +msgstr "그라디언트 편집 가능" #: ../src/ui/dialog/inkscape-preferences.cpp:233 msgid "Whether selected objects display gradient editing controls" -msgstr "" +msgstr "선택 객체가 그라디언트 편집 제어를 보일지 지정" #: ../src/ui/dialog/inkscape-preferences.cpp:238 msgid "Conversion to guides uses edges instead of bounding box" -msgstr "" +msgstr "경계상자 대신 안내선 변환은 모서리를 사용" #: ../src/ui/dialog/inkscape-preferences.cpp:239 -msgid "" -"Converting an object to guides places these along the object's true edges " -"(imitating the object's shape), not along the bounding box." -msgstr "" +msgid "Converting an object to guides places these along the object's true edges (imitating the object's shape), not along the bounding box." +msgstr "객체가 안내선을 따라 변환되는 것은 객체의 모서리를 따라 위치함" #: ../src/ui/dialog/inkscape-preferences.cpp:246 msgid "Ctrl+click dot size:" -msgstr "" +msgstr "Ctrl+클릭 점 크기:" #: ../src/ui/dialog/inkscape-preferences.cpp:246 -#, fuzzy msgid "times current stroke width" -msgstr "글자를 곡선으로 변환" +msgstr "x 현재 윤곽선 폭" #: ../src/ui/dialog/inkscape-preferences.cpp:247 msgid "Size of dots created with Ctrl+click (relative to current stroke width)" -msgstr "" +msgstr "Ctrl+클릭에 의해 생성된 점의 크기" #: ../src/ui/dialog/inkscape-preferences.cpp:262 msgid "No objects selected to take the style from." -msgstr "" +msgstr "스타일을 취할 선택 객체가 없음" #: ../src/ui/dialog/inkscape-preferences.cpp:271 -msgid "" -"More than one object selected. Cannot take style from multiple " -"objects." -msgstr "" +msgid "More than one object selected. Cannot take style from multiple objects." +msgstr "한 객체 이상 선택됨. 다수 객체로 부터 스타일을 얻을 수 없음" #: ../src/ui/dialog/inkscape-preferences.cpp:305 msgid "Create new objects with:" -msgstr "" +msgstr "새 객체 생성" #: ../src/ui/dialog/inkscape-preferences.cpp:307 msgid "Last used style" -msgstr "" +msgstr "마지막 사용한 스타일" #: ../src/ui/dialog/inkscape-preferences.cpp:309 msgid "Apply the style you last set on an object" -msgstr "" +msgstr "객체에서 마지막 설정된 스타일을 적용" #: ../src/ui/dialog/inkscape-preferences.cpp:314 msgid "This tool's own style:" -msgstr "" +msgstr "이 도구 자체 스타일:" #: ../src/ui/dialog/inkscape-preferences.cpp:318 -msgid "" -"Each tool may store its own style to apply to the newly created objects. Use " -"the button below to set it." -msgstr "" +msgid "Each tool may store its own style to apply to the newly created objects. Use the button below to set it." +msgstr "각 도구는 새로이 생성된 객체를 적용하기 위하여 자체 스타일을 저장함" #: ../src/ui/dialog/inkscape-preferences.cpp:323 msgid "Take from selection" -msgstr "" +msgstr "선택에서 취하기" #: ../src/ui/dialog/inkscape-preferences.cpp:327 msgid "This tool's style of new objects" -msgstr "" +msgstr "새 객체의 도구 스타일" #: ../src/ui/dialog/inkscape-preferences.cpp:335 msgid "Remember the style of the (first) selected object as this tool's style" -msgstr "" +msgstr "선택된 객체의 스타일을 저장" #: ../src/ui/dialog/inkscape-preferences.cpp:340 msgid "Tools" -msgstr "도구들" +msgstr "도구" #: ../src/ui/dialog/inkscape-preferences.cpp:343 msgid "Bounding box to use:" -msgstr "" +msgstr "사용할 경계 상자" #: ../src/ui/dialog/inkscape-preferences.cpp:344 msgid "Visual bounding box" -msgstr "" +msgstr "시각적 경계 상자" #: ../src/ui/dialog/inkscape-preferences.cpp:346 msgid "This bounding box includes stroke width, markers, filter margins, etc." -msgstr "" +msgstr "이 경계 상자는 윤곽선 폭, 마커, 필터 여백 등을 포함" #: ../src/ui/dialog/inkscape-preferences.cpp:347 msgid "Geometric bounding box" -msgstr "" +msgstr "기하학적 경계 상자" #: ../src/ui/dialog/inkscape-preferences.cpp:349 msgid "This bounding box includes only the bare path" -msgstr "" +msgstr "이 경계 상자는 단지 순수 경로만 포함" #: ../src/ui/dialog/inkscape-preferences.cpp:351 -#, fuzzy msgid "Conversion to guides:" -msgstr "노드를 아래도" +msgstr "안내선으로 변환:" #: ../src/ui/dialog/inkscape-preferences.cpp:352 -#, fuzzy msgid "Keep objects after conversion to guides" -msgstr "클론으로 만들 객체를 선택" +msgstr "안내선으로 변환 후 객체 유지" #: ../src/ui/dialog/inkscape-preferences.cpp:354 -msgid "" -"When converting an object to guides, don't delete the object after the " -"conversion." -msgstr "" +msgid "When converting an object to guides, don't delete the object after the conversion." +msgstr "객체가 안내선으로 변환시, 변환 후 객체를 삭제하지 않음" #: ../src/ui/dialog/inkscape-preferences.cpp:355 -#, fuzzy msgid "Treat groups as a single object" -msgstr "새 연결자 생성" +msgstr "단일 객체처럼 그룹 취급" #: ../src/ui/dialog/inkscape-preferences.cpp:357 -msgid "" -"Treat groups as a single object during conversion to guides rather than " -"converting each child separately." -msgstr "" +msgid "Treat groups as a single object during conversion to guides rather than converting each child separately." +msgstr "개별적으로 각 자식으로 변환하는 것 보다 안내선으로 변환하는 동안 단일 객체로서 그룹을 다룸" #: ../src/ui/dialog/inkscape-preferences.cpp:359 msgid "Width is in absolute units" -msgstr "" +msgstr "폭은 절대 단위임" #: ../src/ui/dialog/inkscape-preferences.cpp:360 -#, fuzzy msgid "Select new path" -msgstr "노드 삭제" +msgstr "새 경로 선택" #: ../src/ui/dialog/inkscape-preferences.cpp:361 msgid "Don't attach connectors to text objects" -msgstr "" +msgstr "연결자를 문자열 객체에 붙이지 않음" #. Selector #: ../src/ui/dialog/inkscape-preferences.cpp:364 @@ -10956,7 +10113,7 @@ msgstr "선택자" #: ../src/ui/dialog/inkscape-preferences.cpp:367 msgid "When transforming, show:" -msgstr "" +msgstr "변형시, 보이기:" #: ../src/ui/dialog/inkscape-preferences.cpp:368 msgid "Objects" @@ -10964,39 +10121,39 @@ msgstr "객체" #: ../src/ui/dialog/inkscape-preferences.cpp:370 msgid "Show the actual objects when moving or transforming" -msgstr "" +msgstr "이동 또는 변환시 실제 객체 보이기" #: ../src/ui/dialog/inkscape-preferences.cpp:371 msgid "Box outline" -msgstr "박스 외각선" +msgstr "상자 윤곽선" #: ../src/ui/dialog/inkscape-preferences.cpp:373 msgid "Show only a box outline of the objects when moving or transforming" -msgstr "" +msgstr "이동 또는 변환시 객체의 상자 윤곽선만 보이기" #: ../src/ui/dialog/inkscape-preferences.cpp:374 msgid "Per-object selection cue:" -msgstr "" +msgstr "기본설정-객체 선택 큐:" #: ../src/ui/dialog/inkscape-preferences.cpp:377 msgid "No per-object selection indication" -msgstr "" +msgstr "기본설정-객체 선택 지시" #: ../src/ui/dialog/inkscape-preferences.cpp:378 msgid "Mark" -msgstr "마크" +msgstr "표시" #: ../src/ui/dialog/inkscape-preferences.cpp:380 msgid "Each selected object has a diamond mark in the top left corner" -msgstr "" +msgstr "각 선택 객체는최상위 왼쪽 모서리에 마름모 표시가 있음" #: ../src/ui/dialog/inkscape-preferences.cpp:381 msgid "Box" -msgstr "박스" +msgstr "상자" #: ../src/ui/dialog/inkscape-preferences.cpp:383 msgid "Each selected object displays its bounding box" -msgstr "" +msgstr "각 선택 객체는 경계 상자를 나타냄" #. Node #: ../src/ui/dialog/inkscape-preferences.cpp:386 @@ -11004,157 +10161,151 @@ msgid "Node" msgstr "노드" #: ../src/ui/dialog/inkscape-preferences.cpp:389 -#, fuzzy msgid "Path outline:" -msgstr "박스 외각선" +msgstr "경로 윤곽선" #: ../src/ui/dialog/inkscape-preferences.cpp:390 #: ../src/ui/dialog/inkscape-preferences.cpp:391 -#, fuzzy msgid "Path outline color" -msgstr "색 붙이기" +msgstr "경계 윤곽선 색상" #: ../src/ui/dialog/inkscape-preferences.cpp:391 msgid "Selects the color used for showing the path outline." -msgstr "" +msgstr "경로 윤곽선을 보이기 위하여 사용된 색상 선택" #: ../src/ui/dialog/inkscape-preferences.cpp:392 msgid "Path outline flash on mouse-over" -msgstr "" +msgstr "마우스를 위에 둘 때 경로 윤곽선 보이기" #: ../src/ui/dialog/inkscape-preferences.cpp:393 msgid "When hovering over a path, briefly flash its outline." -msgstr "" +msgstr "경로상을 움직일 때, 간략히 윤곽선을 나타냄" #: ../src/ui/dialog/inkscape-preferences.cpp:395 msgid "Flash time" -msgstr "" +msgstr "플래시 시간" #: ../src/ui/dialog/inkscape-preferences.cpp:395 -msgid "" -"Specifies how long the path outline will be visible after a mouse-over (in " -"milliseconds). Specify 0 to have the outline shown until mouse leaves the " -"path." -msgstr "" +msgid "Specifies how long the path outline will be visible after a mouse-over (in milliseconds). Specify 0 to have the outline shown until mouse leaves the path." +msgstr "마우스 위에 위치한 후 경로 윤곽선을 얼마나 오랫동안 ë³¼ 수 있는가를 나타냄(밀리초). 0은 마우스가 경로를 떠날 때까지 보임을 의미" #. Tweak -#: ../src/ui/dialog/inkscape-preferences.cpp:398 ../src/verbs.cpp:2419 +#: ../src/ui/dialog/inkscape-preferences.cpp:398 +#: ../src/verbs.cpp:2419 msgid "Tweak" -msgstr "" +msgstr "조정" #. Zoom #: ../src/ui/dialog/inkscape-preferences.cpp:403 -#: ../src/ui/view/edit-widget.cpp:1073 ../src/verbs.cpp:2441 +#: ../src/ui/view/edit-widget.cpp:1073 +#: ../src/verbs.cpp:2441 #: ../src/widgets/desktop-widget.cpp:490 #: ../share/extensions/render_alphabetsoup.inx.h:5 msgid "Zoom" -msgstr "확대 축소 보기" +msgstr "비율" #. Shapes #: ../src/ui/dialog/inkscape-preferences.cpp:408 msgid "Shapes" -msgstr "형태" +msgstr "모양" #. Pencil -#: ../src/ui/dialog/inkscape-preferences.cpp:436 ../src/verbs.cpp:2431 +#: ../src/ui/dialog/inkscape-preferences.cpp:436 +#: ../src/verbs.cpp:2431 msgid "Pencil" msgstr "연필" #: ../src/ui/dialog/inkscape-preferences.cpp:439 #: ../src/ui/dialog/tracedialog.cpp:601 msgid "Tolerance:" -msgstr "내구력:" +msgstr "허용치:" #: ../src/ui/dialog/inkscape-preferences.cpp:440 -msgid "" -"This value affects the amount of smoothing applied to freehand lines; lower " -"values produce more uneven paths with more nodes" -msgstr "" +msgid "This value affects the amount of smoothing applied to freehand lines; lower values produce more uneven paths with more nodes" +msgstr "이 값은 자유곡선에 적용된 양에 영향을 미침" #. Pen -#: ../src/ui/dialog/inkscape-preferences.cpp:446 ../src/verbs.cpp:2433 +#: ../src/ui/dialog/inkscape-preferences.cpp:446 +#: ../src/verbs.cpp:2433 msgid "Pen" msgstr "펜" #. Calligraphy -#: ../src/ui/dialog/inkscape-preferences.cpp:452 ../src/verbs.cpp:2435 +#: ../src/ui/dialog/inkscape-preferences.cpp:452 +#: ../src/verbs.cpp:2435 msgid "Calligraphy" -msgstr "채도" +msgstr "글씨체" #: ../src/ui/dialog/inkscape-preferences.cpp:456 -msgid "" -"If on, pen width is in absolute units (px) independent of zoom; otherwise " -"pen width depends on zoom so that it looks the same at any zoom" -msgstr "" +msgid "If on, pen width is in absolute units (px) independent of zoom; otherwise pen width depends on zoom so that it looks the same at any zoom" +msgstr "On시, 확대와 무관한 펜 폭의 절대 단위(화소)" #: ../src/ui/dialog/inkscape-preferences.cpp:458 -msgid "" -"If on, each newly created object will be selected (deselecting previous " -"selection)" -msgstr "" +msgid "If on, each newly created object will be selected (deselecting previous selection)" +msgstr "On시, 새로이 생성된 객체를 선택함" #. Paint Bucket -#: ../src/ui/dialog/inkscape-preferences.cpp:460 ../src/verbs.cpp:2447 -#, fuzzy +#: ../src/ui/dialog/inkscape-preferences.cpp:460 +#: ../src/verbs.cpp:2447 msgid "Paint Bucket" -msgstr "문서 출력" +msgstr "페인트통" #. Eraser -#: ../src/ui/dialog/inkscape-preferences.cpp:465 ../src/verbs.cpp:2451 -#, fuzzy +#: ../src/ui/dialog/inkscape-preferences.cpp:465 +#: ../src/verbs.cpp:2451 msgid "Eraser" -msgstr "반지름" +msgstr "지우개" #. Gradient -#: ../src/ui/dialog/inkscape-preferences.cpp:475 ../src/verbs.cpp:2439 +#: ../src/ui/dialog/inkscape-preferences.cpp:475 +#: ../src/verbs.cpp:2439 msgid "Gradient" -msgstr "색변화" +msgstr "그라디언트" #. Connector -#: ../src/ui/dialog/inkscape-preferences.cpp:479 ../src/verbs.cpp:2445 +#: ../src/ui/dialog/inkscape-preferences.cpp:479 +#: ../src/verbs.cpp:2445 msgid "Connector" msgstr "연결자" #: ../src/ui/dialog/inkscape-preferences.cpp:482 msgid "If on, connector attachment points will not be shown for text objects" -msgstr "" +msgstr "On시,연결자 붙임점은 문제열 객체에서 나타나지 않음" #. Dropper -#: ../src/ui/dialog/inkscape-preferences.cpp:484 ../src/verbs.cpp:2443 +#: ../src/ui/dialog/inkscape-preferences.cpp:484 +#: ../src/verbs.cpp:2443 msgid "Dropper" -msgstr "" +msgstr "색상 추출기" #: ../src/ui/dialog/inkscape-preferences.cpp:491 msgid "Save and restore window geometry for each document" -msgstr "" +msgstr "문서에 ì°½ 크기 및 위치를 저장 및 복원" #: ../src/ui/dialog/inkscape-preferences.cpp:492 -#, fuzzy msgid "Remember and use last window's geometry" msgstr "ì°½ 위치 저장" #: ../src/ui/dialog/inkscape-preferences.cpp:493 -#, fuzzy msgid "Don't save window geometry" -msgstr "ì°½ 위치 저장" +msgstr "ì°½ 크기 및 위치 저장하지 않음" #: ../src/ui/dialog/inkscape-preferences.cpp:495 #: ../src/ui/dialog/inkscape-preferences.cpp:515 -#, fuzzy msgid "Dockable" -msgstr "확대/축소(_S)" +msgstr "도크가능" #: ../src/ui/dialog/inkscape-preferences.cpp:498 msgid "Dialogs are hidden in taskbar" -msgstr "작업바에서 대화장 숨김" +msgstr "작업막대에서 대화창 숨김" #: ../src/ui/dialog/inkscape-preferences.cpp:499 msgid "Zoom when window is resized" -msgstr "창크기가 조정 되었을때 확대/축소 " +msgstr "ì°½ 크기가 조정되었을 때 확대/축소 " #: ../src/ui/dialog/inkscape-preferences.cpp:500 msgid "Show close button on dialogs" -msgstr "대화창에 닫기 버튼 보임" +msgstr "대화창에 닫기 버튼 보이기" #. consider moving this to an UI tab: #: ../src/ui/dialog/inkscape-preferences.cpp:502 @@ -11164,67 +10315,59 @@ msgstr "일반" #: ../src/ui/dialog/inkscape-preferences.cpp:503 msgid "Aggressive" -msgstr "공격적인" +msgstr "공격적" #: ../src/ui/dialog/inkscape-preferences.cpp:505 -#, fuzzy msgid "Saving window geometry (size and position):" -msgstr "ì°½ 위치 저장" +msgstr "ì°½ 크기 및 위치 저장" #: ../src/ui/dialog/inkscape-preferences.cpp:507 msgid "Let the window manager determine placement of all windows" -msgstr "" +msgstr "ì°½ 관리자가 전체 창의 위치를 결정하도록 함" #: ../src/ui/dialog/inkscape-preferences.cpp:509 -msgid "" -"Remember and use the last window's geometry (saves geometry to user " -"preferences)" -msgstr "" +msgid "Remember and use the last window's geometry (saves geometry to user preferences)" +msgstr "마지막 ì°½ 크기 및 위치 저장 및 사용 (ì°½ 설정을 사용자 기본설정으로 저장)" #: ../src/ui/dialog/inkscape-preferences.cpp:511 -msgid "" -"Save and restore window geometry for each document (saves geometry in the " -"document)" -msgstr "" +msgid "Save and restore window geometry for each document (saves geometry in the document)" +msgstr "문서에 ì°½ 크기 및 위치를 저장 및 복원(문서에 ì°½ 정보 저장)" #: ../src/ui/dialog/inkscape-preferences.cpp:513 msgid "Dialog behavior (requires restart):" -msgstr "" +msgstr "대화창 작동(재시작 필요):" #: ../src/ui/dialog/inkscape-preferences.cpp:520 msgid "Dialogs on top:" -msgstr "맨위에 대화창:" +msgstr "상부에 대화창:" #: ../src/ui/dialog/inkscape-preferences.cpp:523 msgid "Dialogs are treated as regular windows" -msgstr "" +msgstr "대화창을 정규 창으로 다룸" #: ../src/ui/dialog/inkscape-preferences.cpp:525 msgid "Dialogs stay on top of document windows" -msgstr "" +msgstr "대화창이 문서창의 최상단에 머물음" #: ../src/ui/dialog/inkscape-preferences.cpp:527 msgid "Same as Normal but may work better with some window managers" -msgstr "" +msgstr "일반과 같고 몇몇 ì°½ 관리자와 잘 작동" #: ../src/ui/dialog/inkscape-preferences.cpp:530 msgid "Miscellaneous:" -msgstr "" +msgstr "기타:" #: ../src/ui/dialog/inkscape-preferences.cpp:533 msgid "Whether dialog windows are to be hidden in the window manager taskbar" -msgstr "" +msgstr "ì°½ 관리자 작업 막대에서 대화창이 숨겨져 있는지" #: ../src/ui/dialog/inkscape-preferences.cpp:536 -msgid "" -"Zoom drawing when document window is resized, to keep the same area visible " -"(this is the default which can be changed in any window using the button " -"above the right scrollbar)" -msgstr "" +msgid "Zoom drawing when document window is resized, to keep the same area visible (this is the default which can be changed in any window using the button above the right scrollbar)" +msgstr "보이는 동일한 구간을 유지하기 위하여 문서창의 크기가 조정시 그리기 확대" #: ../src/ui/dialog/inkscape-preferences.cpp:538 msgid "Whether dialog windows have a close button (requires restart)" -msgstr "" +msgstr "대화창이 닫힘 단추를 가졌는지(재시작 필요)" #: ../src/ui/dialog/inkscape-preferences.cpp:539 msgid "Windows" @@ -11232,19 +10375,19 @@ msgstr "ì°½" #: ../src/ui/dialog/inkscape-preferences.cpp:544 msgid "Move in parallel" -msgstr "" +msgstr "수평 이동" #: ../src/ui/dialog/inkscape-preferences.cpp:546 msgid "Stay unmoved" -msgstr "" +msgstr "이동하지 않고 머물음" #: ../src/ui/dialog/inkscape-preferences.cpp:548 msgid "Move according to transform" -msgstr "" +msgstr "변형에 의한 이동" #: ../src/ui/dialog/inkscape-preferences.cpp:550 msgid "Are unlinked" -msgstr "" +msgstr "링크해제됨" #: ../src/ui/dialog/inkscape-preferences.cpp:552 msgid "Are deleted" @@ -11252,254 +10395,229 @@ msgstr "삭제됨" #: ../src/ui/dialog/inkscape-preferences.cpp:555 msgid "When the original moves, its clones and linked offsets:" -msgstr "" +msgstr "원본이 이동시, 복제 및 링크 옵셋:" #: ../src/ui/dialog/inkscape-preferences.cpp:557 msgid "Clones are translated by the same vector as their original." -msgstr "" +msgstr "복제물이 원본처럼 동일 벡터로서 변환" #: ../src/ui/dialog/inkscape-preferences.cpp:559 msgid "Clones preserve their positions when their original is moved." -msgstr "" +msgstr "원본이 움직일 때 복제물은 ê·¸ 위치를 유지" #: ../src/ui/dialog/inkscape-preferences.cpp:561 -msgid "" -"Each clone moves according to the value of its transform= attribute. For " -"example, a rotated clone will move in a different direction than its " -"original." -msgstr "" +msgid "Each clone moves according to the value of its transform= attribute. For example, a rotated clone will move in a different direction than its original." +msgstr "각 복제물은 변환 속성값에 따라 움직임" #: ../src/ui/dialog/inkscape-preferences.cpp:562 msgid "When the original is deleted, its clones:" -msgstr "" +msgstr "원본이 삭제시, 복제:" #: ../src/ui/dialog/inkscape-preferences.cpp:564 msgid "Orphaned clones are converted to regular objects." -msgstr "" +msgstr "잃은 복제물을 정규 객체로 변환" #: ../src/ui/dialog/inkscape-preferences.cpp:566 msgid "Orphaned clones are deleted along with their original." -msgstr "" +msgstr "잃은 복제물을 원본과 함께 삭제" #. TRANSLATORS: Heading for the Inkscape Preferences "Clones" Page #: ../src/ui/dialog/inkscape-preferences.cpp:569 msgid "Clones" -msgstr "복사 객체" +msgstr "복제 객체" #: ../src/ui/dialog/inkscape-preferences.cpp:574 msgid "When applying, use the topmost selected object as clippath/mask" -msgstr "" +msgstr "적용시 자르기 경로 &마스크로서 최상위 선택 객체 사용" #: ../src/ui/dialog/inkscape-preferences.cpp:576 -msgid "" -"Uncheck this to use the bottom selected object as the clipping path or mask" +msgid "Uncheck this to use the bottom selected object as the clipping path or mask" msgstr "" #: ../src/ui/dialog/inkscape-preferences.cpp:577 msgid "Remove clippath/mask object after applying" -msgstr "" +msgstr "적용 후 자르기 경로 & 마스크 제거" #: ../src/ui/dialog/inkscape-preferences.cpp:579 -msgid "" -"After applying, remove the object used as the clipping path or mask from the " -"drawing" +msgid "After applying, remove the object used as the clipping path or mask from the drawing" msgstr "" #: ../src/ui/dialog/inkscape-preferences.cpp:580 msgid "Clippaths and masks" -msgstr "" +msgstr "자르기경로 & 마스크" #: ../src/ui/dialog/inkscape-preferences.cpp:585 #: ../src/widgets/select-toolbar.cpp:524 msgid "Scale stroke width" -msgstr "" +msgstr "윤곽선 폭 변경" #: ../src/ui/dialog/inkscape-preferences.cpp:586 msgid "Scale rounded corners in rectangles" -msgstr "" +msgstr "직사각형에서 둥근 모서리 변경" #: ../src/ui/dialog/inkscape-preferences.cpp:587 msgid "Transform gradients" -msgstr "" +msgstr "그라디언트 변형" #: ../src/ui/dialog/inkscape-preferences.cpp:588 msgid "Transform patterns" -msgstr "" +msgstr "패턴 변형" #: ../src/ui/dialog/inkscape-preferences.cpp:589 msgid "Optimized" -msgstr "최적화됨" +msgstr "최적화" #: ../src/ui/dialog/inkscape-preferences.cpp:590 msgid "Preserved" -msgstr "" +msgstr "예약" #: ../src/ui/dialog/inkscape-preferences.cpp:593 #: ../src/widgets/select-toolbar.cpp:525 msgid "When scaling objects, scale the stroke width by the same proportion" -msgstr "" +msgstr "객체를 변경시 동일비율로 윤곽선 폭이 변경" #: ../src/ui/dialog/inkscape-preferences.cpp:595 #: ../src/widgets/select-toolbar.cpp:536 msgid "When scaling rectangles, scale the radii of rounded corners" -msgstr "" +msgstr "사각형 변경시 둥근 모서리 반경이 변함" #: ../src/ui/dialog/inkscape-preferences.cpp:597 #: ../src/widgets/select-toolbar.cpp:547 msgid "Move gradients (in fill or stroke) along with the objects" -msgstr "" +msgstr "객체를 따라 그라디언트(채움 또는 윤곽선) 이동" #: ../src/ui/dialog/inkscape-preferences.cpp:599 #: ../src/widgets/select-toolbar.cpp:558 msgid "Move patterns (in fill or stroke) along with the objects" -msgstr "" +msgstr "객체를 따라 패턴(채움 또는 윤곽선) 이동" #: ../src/ui/dialog/inkscape-preferences.cpp:600 msgid "Store transformation:" -msgstr "이동치 저장" +msgstr "변환 저장:" #: ../src/ui/dialog/inkscape-preferences.cpp:602 -msgid "" -"If possible, apply transformation to objects without adding a transform= " -"attribute" -msgstr "" +msgid "If possible, apply transformation to objects without adding a transform= attribute" +msgstr "가능하다면 변환=속성을 더함이 ㅇㅂ서이 변환 적용" #: ../src/ui/dialog/inkscape-preferences.cpp:604 msgid "Always store transformation as a transform= attribute on objects" -msgstr "" +msgstr "객체에서 변환=속성으로서 변환을 항상 저장" #: ../src/ui/dialog/inkscape-preferences.cpp:606 msgid "Transforms" -msgstr "이동" +msgstr "변환" #: ../src/ui/dialog/inkscape-preferences.cpp:611 msgid "Best quality (slowest)" -msgstr "" +msgstr "최고 질(아주 느림)" #: ../src/ui/dialog/inkscape-preferences.cpp:613 msgid "Better quality (slower)" -msgstr "" +msgstr "최적 질(느림)" #: ../src/ui/dialog/inkscape-preferences.cpp:615 msgid "Average quality" -msgstr "" +msgstr "평균 질" #: ../src/ui/dialog/inkscape-preferences.cpp:617 -#, fuzzy msgid "Lower quality (faster)" -msgstr "노드를 아래도" +msgstr "낮은 질(빠름)" #: ../src/ui/dialog/inkscape-preferences.cpp:619 msgid "Lowest quality (fastest)" -msgstr "" +msgstr "아주 낮은 질(아주 빠름)" #: ../src/ui/dialog/inkscape-preferences.cpp:622 msgid "Gaussian blur quality for display:" -msgstr "" +msgstr "보이기 위한 가우시안 흐림 질:" #: ../src/ui/dialog/inkscape-preferences.cpp:624 -msgid "" -"Best quality, but display may be very slow at high zooms (bitmap export " -"always uses best quality)" -msgstr "" +msgid "Best quality, but display may be very slow at high zooms (bitmap export always uses best quality)" +msgstr "최고 질, 아주 느리게 보임" #: ../src/ui/dialog/inkscape-preferences.cpp:626 msgid "Better quality, but slower display" -msgstr "" +msgstr "최적 질, 느리게 보임" #: ../src/ui/dialog/inkscape-preferences.cpp:628 msgid "Average quality, acceptable display speed" -msgstr "" +msgstr "평균질, 속도가 적당" #: ../src/ui/dialog/inkscape-preferences.cpp:630 msgid "Lower quality (some artifacts), but display is faster" -msgstr "" +msgstr "낮은 질, 빠르게 보임" #: ../src/ui/dialog/inkscape-preferences.cpp:632 msgid "Lowest quality (considerable artifacts), but display is fastest" -msgstr "" +msgstr "아주 낮은 질, (상당히 인위적) 아주 빠르게 보임" #: ../src/ui/dialog/inkscape-preferences.cpp:634 -#, fuzzy msgid "Show filter primitives infobox" -msgstr "특성 삭제" +msgstr "필터 초기 정보상자 보이기" #: ../src/ui/dialog/inkscape-preferences.cpp:636 -msgid "" -"Show icons and descriptions for the filter primitives available at the " -"filter effects dialog." -msgstr "" +msgid "Show icons and descriptions for the filter primitives available at the filter effects dialog." +msgstr "필터 원본에 대한 아이콘과 설명 보이기" #: ../src/ui/dialog/inkscape-preferences.cpp:638 -#, fuzzy msgid "Filters" -msgstr "밀리미터" +msgstr "필터" #: ../src/ui/dialog/inkscape-preferences.cpp:644 msgid "Select in all layers" -msgstr "모든 레이어 선택" +msgstr "전체 레이어 선택" #: ../src/ui/dialog/inkscape-preferences.cpp:645 msgid "Select only within current layer" -msgstr "" +msgstr "현재 레이어에서만 선택" #: ../src/ui/dialog/inkscape-preferences.cpp:646 msgid "Select in current layer and sublayers" -msgstr "" +msgstr "현재 레이어와 하위 레이어에서 선택" #: ../src/ui/dialog/inkscape-preferences.cpp:647 -#, fuzzy msgid "Ignore hidden objects and layers" -msgstr "감춰진 객체 무시" +msgstr "숨긴 객체와 레이어 무시" #: ../src/ui/dialog/inkscape-preferences.cpp:648 -#, fuzzy msgid "Ignore locked objects and layers" -msgstr "잠겨진 객체 무시" +msgstr "잠긴 객체와 레이어 무시" #: ../src/ui/dialog/inkscape-preferences.cpp:649 msgid "Deselect upon layer change" -msgstr "" +msgstr "레이어 변경 선택 해제" #: ../src/ui/dialog/inkscape-preferences.cpp:651 msgid "Ctrl+A, Tab, Shift+Tab:" -msgstr "Ctrl+A, Tab, Shift+Tab:" +msgstr "Ctrl+A키, Tab키, Shift+Tab키 :" #: ../src/ui/dialog/inkscape-preferences.cpp:653 msgid "Make keyboard selection commands work on objects in all layers" -msgstr "" +msgstr "전체 레이어에서 키보드 선택 명령어가 객체상에서 작동하도록 만들기" #: ../src/ui/dialog/inkscape-preferences.cpp:655 msgid "Make keyboard selection commands work on objects in current layer only" -msgstr "" +msgstr "현재 레이어에서만 키보드 선택 명령어가 객체에 작동하도록 만들기" #: ../src/ui/dialog/inkscape-preferences.cpp:657 -msgid "" -"Make keyboard selection commands work on objects in current layer and all " -"its sublayers" -msgstr "" +msgid "Make keyboard selection commands work on objects in current layer and all its sublayers" +msgstr "현재 레이어와 전체 이의 하위 레이어에서 키보드 선택 명령어가 객체에 작동하도록 만들기" #: ../src/ui/dialog/inkscape-preferences.cpp:659 -msgid "" -"Uncheck this to be able to select objects that are hidden (either by " -"themselves or by being in a hidden layer)" -msgstr "" +msgid "Uncheck this to be able to select objects that are hidden (either by themselves or by being in a hidden layer)" +msgstr "숨겨진 객체를 선택할 수 있도록 이것을 체크 해제" #: ../src/ui/dialog/inkscape-preferences.cpp:661 -msgid "" -"Uncheck this to be able to select objects that are locked (either by " -"themselves or by being in a locked layer)" -msgstr "" +msgid "Uncheck this to be able to select objects that are locked (either by themselves or by being in a locked layer)" +msgstr "잼긴 객체를 선택할 수 있도록 이것을 체크 해제" #: ../src/ui/dialog/inkscape-preferences.cpp:664 -msgid "" -"Uncheck this to be able to keep the current objects selected when the " -"current layer changes" -msgstr "" +msgid "Uncheck this to be able to keep the current objects selected when the current layer changes" +msgstr "현재 레이어가 변경시 현재 객체가 선택될 수 있도록 체크 해제" #: ../src/ui/dialog/inkscape-preferences.cpp:666 msgid "Selecting" -msgstr "선택중" +msgstr "선택" #: ../src/ui/dialog/inkscape-preferences.cpp:673 msgid "Default export resolution:" @@ -11507,21 +10625,19 @@ msgstr "기본 내보내기 해상도:" #: ../src/ui/dialog/inkscape-preferences.cpp:674 msgid "Default bitmap resolution (in dots per inch) in the Export dialog" -msgstr "내보내기 대화창에서 기본 비트맵 해상도 (인치 마다의 도트수)" +msgstr "내보내기 대화창에서 기본 비트맵 해상도 (DPI)" #: ../src/ui/dialog/inkscape-preferences.cpp:676 msgid "Open Clip Art Library Server Name:" -msgstr "" +msgstr "Open Clip Art 라이브러리 서버 이름:" #: ../src/ui/dialog/inkscape-preferences.cpp:677 -msgid "" -"The server name of the Open Clip Art Library webdav server. It's used by the " -"Import and Export to OCAL function." -msgstr "" +msgid "The server name of the Open Clip Art Library webdav server. It's used by the Import and Export to OCAL function." +msgstr "Open Clip Art 라이브러리 webdav 서버의 서버명" #: ../src/ui/dialog/inkscape-preferences.cpp:679 msgid "Open Clip Art Library Username:" -msgstr "" +msgstr "Open Clip Art 라이브러리 사용자명:" #: ../src/ui/dialog/inkscape-preferences.cpp:680 msgid "The username used to log into Open Clip Art Library." @@ -11529,30 +10645,28 @@ msgstr "" #: ../src/ui/dialog/inkscape-preferences.cpp:682 msgid "Open Clip Art Library Password:" -msgstr "" +msgstr "Open Clip Art 라이브러리 암호:" #: ../src/ui/dialog/inkscape-preferences.cpp:683 msgid "The password used to log into Open Clip Art Library." -msgstr "" +msgstr "Open Clip Art 라이브러리에 접속하기 위한 암호" #: ../src/ui/dialog/inkscape-preferences.cpp:685 -#, fuzzy msgid "Import/Export" -msgstr "불러오기(_I)..." +msgstr "불러오기/내보내기" #. TRANSLATORS: see http://www.newsandtech.com/issues/2004/03-04/pt/03-04_rendering.htm #: ../src/ui/dialog/inkscape-preferences.cpp:731 -#, fuzzy msgid "Perceptual" -msgstr "퍼센트" +msgstr "지각" #: ../src/ui/dialog/inkscape-preferences.cpp:731 msgid "Relative Colorimetric" -msgstr "" +msgstr "상대 색상색도계" #: ../src/ui/dialog/inkscape-preferences.cpp:731 msgid "Absolute Colorimetric" -msgstr "" +msgstr "절대 색상색도계" #: ../src/ui/dialog/inkscape-preferences.cpp:735 msgid "(Note: Color management has been disabled in this build)" @@ -11560,11 +10674,11 @@ msgstr "" #: ../src/ui/dialog/inkscape-preferences.cpp:739 msgid "Display adjustment" -msgstr "" +msgstr "조정 보이기" #: ../src/ui/dialog/inkscape-preferences.cpp:741 msgid "Display profile:" -msgstr "" +msgstr "프로파일 보이기:" #: ../src/ui/dialog/inkscape-preferences.cpp:742 msgid "The ICC profile to use to calibrate display output." @@ -11572,140 +10686,132 @@ msgstr "" #: ../src/ui/dialog/inkscape-preferences.cpp:744 msgid "Retrieve profile from display" -msgstr "" +msgstr "보이기에서 프로파일 복구" #: ../src/ui/dialog/inkscape-preferences.cpp:747 msgid "Retrieve profiles from those attached to displays via XICC." -msgstr "" +msgstr "XICC를 통하여 보이게 하기 위하여 더하여진 프로파일의 복구" #: ../src/ui/dialog/inkscape-preferences.cpp:749 msgid "Retrieve profiles from those attached to displays." -msgstr "" +msgstr "보이기 위해 더하여진 프로파일 복구" #: ../src/ui/dialog/inkscape-preferences.cpp:754 msgid "Display rendering intent:" -msgstr "" +msgstr "렌더링 의도 보이기:" #: ../src/ui/dialog/inkscape-preferences.cpp:755 #: ../src/ui/dialog/inkscape-preferences.cpp:778 msgid "The rendering intent to use to calibrate display output." -msgstr "" +msgstr "보이기 출력을 조정하기 위해 사용된 렌더링 의도" #: ../src/ui/dialog/inkscape-preferences.cpp:757 -#, fuzzy msgid "Proofing" -msgstr "포인트" +msgstr "가공" #: ../src/ui/dialog/inkscape-preferences.cpp:759 msgid "Simulate output on screen" -msgstr "" +msgstr "화면상 출력 모의실험" #: ../src/ui/dialog/inkscape-preferences.cpp:761 msgid "Simulates output of target device." -msgstr "" +msgstr "해당 기기의 출력으로 모의실험" #: ../src/ui/dialog/inkscape-preferences.cpp:763 msgid "Mark out of gamut colors" -msgstr "" +msgstr "색상 범위 이상 표시" #: ../src/ui/dialog/inkscape-preferences.cpp:765 msgid "Highlights colors that are out of gamut for the target device." -msgstr "" +msgstr "목표 기기를 위한 범위 이상의 강조 색상" #: ../src/ui/dialog/inkscape-preferences.cpp:770 msgid "Out of gamut warning color:" -msgstr "" +msgstr "경고 색상 이상 범위:" #: ../src/ui/dialog/inkscape-preferences.cpp:771 msgid "Selects the color used for out of gamut warning." -msgstr "" +msgstr "경고 범위 이상에서 사용되는 색상 선택" #: ../src/ui/dialog/inkscape-preferences.cpp:773 msgid "Device profile:" -msgstr "" +msgstr "기기 프로파일:" #: ../src/ui/dialog/inkscape-preferences.cpp:774 msgid "The ICC profile to use to simulate device output." -msgstr "" +msgstr "기기 출력을 모의실험하기 위하여 사용된 ICC 프로파일" #: ../src/ui/dialog/inkscape-preferences.cpp:777 msgid "Device rendering intent:" -msgstr "" +msgstr "기기 렌더링 의도:" #: ../src/ui/dialog/inkscape-preferences.cpp:780 -#, fuzzy msgid "Black point compensation" -msgstr "출력 목적지" +msgstr "검은 점 보상" #: ../src/ui/dialog/inkscape-preferences.cpp:782 msgid "Enables black point compensation." -msgstr "" +msgstr "검은 점 보상 가능" #: ../src/ui/dialog/inkscape-preferences.cpp:784 msgid "Preserve black" -msgstr "" +msgstr "검은 점 ë³´ì¡´" #: ../src/ui/dialog/inkscape-preferences.cpp:789 msgid "(LittleCMS 1.15 or later required)" -msgstr "" +msgstr "(LittleCMS 1.15 이상 필요)" #: ../src/ui/dialog/inkscape-preferences.cpp:791 msgid "Preserve K channel in CMYK -> CMYK transforms" -msgstr "" +msgstr "CMYK -> CMYK 변환에서 K 채널 유지" #: ../src/ui/dialog/inkscape-preferences.cpp:804 -#, fuzzy msgid "" -msgstr "없음" +msgstr "<없음>" #: ../src/ui/dialog/inkscape-preferences.cpp:850 msgid "Color management" -msgstr "" +msgstr "색상 관리" #: ../src/ui/dialog/inkscape-preferences.cpp:855 msgid "Major grid line emphasizing" -msgstr "" +msgstr "주 격자선 강조" #: ../src/ui/dialog/inkscape-preferences.cpp:857 msgid "Don't emphasize gridlines when zoomed out" -msgstr "" +msgstr "축소시 격자선 강조하지 않음" #: ../src/ui/dialog/inkscape-preferences.cpp:858 -msgid "" -"If set and zoomed out, the gridlines will be shown in normal color instead " -"of major grid line color." -msgstr "" +msgid "If set and zoomed out, the gridlines will be shown in normal color instead of major grid line color." +msgstr "축소시, 안내선은 주 격자선 색상대신 일반 색상으로 나타남" #: ../src/ui/dialog/inkscape-preferences.cpp:860 msgid "Default grid settings" -msgstr "" +msgstr "기본 격자 설정" #: ../src/ui/dialog/inkscape-preferences.cpp:866 #: ../src/ui/dialog/inkscape-preferences.cpp:887 -#, fuzzy msgid "Grid units" -msgstr "격자" +msgstr "격자 단위" #: ../src/ui/dialog/inkscape-preferences.cpp:869 #: ../src/ui/dialog/inkscape-preferences.cpp:890 msgid "Origin X" -msgstr "" +msgstr "원 위치 X" #: ../src/ui/dialog/inkscape-preferences.cpp:870 #: ../src/ui/dialog/inkscape-preferences.cpp:891 msgid "Origin Y" -msgstr "" +msgstr "원 위치 Y" #: ../src/ui/dialog/inkscape-preferences.cpp:873 -#, fuzzy msgid "Spacing X" -msgstr "간격:" +msgstr "간격 X" #: ../src/ui/dialog/inkscape-preferences.cpp:874 #: ../src/ui/dialog/inkscape-preferences.cpp:893 -#, fuzzy msgid "Spacing Y" -msgstr "간격:" +msgstr "간격 Y" #: ../src/ui/dialog/inkscape-preferences.cpp:877 #: ../src/ui/dialog/inkscape-preferences.cpp:899 @@ -11720,66 +10826,59 @@ msgstr "" #: ../src/ui/dialog/inkscape-preferences.cpp:881 #: ../src/ui/dialog/inkscape-preferences.cpp:903 msgid "Major grid line every" -msgstr "" +msgstr "주 격자선 매번" #: ../src/ui/dialog/inkscape-preferences.cpp:882 msgid "Show dots instead of lines" -msgstr "" +msgstr "선 대신 점으로 보이기" #: ../src/ui/dialog/inkscape-preferences.cpp:896 -#, fuzzy msgid "Angle X" -msgstr "각도" +msgstr "각도 X" #: ../src/ui/dialog/inkscape-preferences.cpp:897 -#, fuzzy msgid "Angle Z" -msgstr "각도" +msgstr "각도 Z" #: ../src/ui/dialog/inkscape-preferences.cpp:910 -#, fuzzy msgid "Use named colors" -msgstr "이름바뀐 레이어" +msgstr "이름 색상 사용" #: ../src/ui/dialog/inkscape-preferences.cpp:911 msgid "If set, write the CSS name of the color instead of it's numeric value." -msgstr "" +msgstr "설정시, 수치값대신 색상의 CSS 이름을 씀" #: ../src/ui/dialog/inkscape-preferences.cpp:913 msgid "XML looks" -msgstr "" +msgstr "XML 보기" #: ../src/ui/dialog/inkscape-preferences.cpp:915 -#, fuzzy msgid "Inline attributes" -msgstr "속성 설정" +msgstr "늘어섬 속성" #: ../src/ui/dialog/inkscape-preferences.cpp:916 -#, fuzzy msgid "Inline the XML attributes" -msgstr "특성 삭제" +msgstr "XML 속성을 늘어섬" #: ../src/ui/dialog/inkscape-preferences.cpp:919 -#, fuzzy msgid "Indent spaces" -msgstr "곡선 간격 띄우기" +msgstr "들여쓰기 간격" #: ../src/ui/dialog/inkscape-preferences.cpp:919 msgid "The number of spaces to use for indentation." -msgstr "" +msgstr "들여쓰기 위해 사용된 공백 갯수" #: ../src/ui/dialog/inkscape-preferences.cpp:921 -#, fuzzy msgid "Path string" -msgstr "반복무늬" +msgstr "경로 문자열" #: ../src/ui/dialog/inkscape-preferences.cpp:923 msgid "Allow relative coordinates" -msgstr "" +msgstr "상대 좌표 허용" #: ../src/ui/dialog/inkscape-preferences.cpp:924 msgid "If set, relative coordinates may be used in path data" -msgstr "" +msgstr "설정시 상대 좌표를 경로 자료에서 사용됨" #. seems this is never used in Inkscape code #. _svgoutput_allowshorthands.init( _("Allow shorthands"), "options.svgoutput", "allowshorthands", true); @@ -11787,68 +10886,54 @@ msgstr "" #. #: ../src/ui/dialog/inkscape-preferences.cpp:931 msgid "Force repeat commands" -msgstr "" +msgstr "반복 명령어 강제" #: ../src/ui/dialog/inkscape-preferences.cpp:932 -msgid "" -"If set, force repeating of the same command (i.e. output 'L 1,2 L 3,4' " -"instead of 'L 1,2 3,4')." -msgstr "" +msgid "If set, force repeating of the same command (i.e. output 'L 1,2 L 3,4' instead of 'L 1,2 3,4')." +msgstr "설정시 동일 명령어의 반복 강제(예 'L 1,2 3,4'대신 'L 1,2 L 3,4' 출력." #: ../src/ui/dialog/inkscape-preferences.cpp:934 msgid "Numeric data" -msgstr "" +msgstr "수치 자료" #: ../src/ui/dialog/inkscape-preferences.cpp:937 -#, fuzzy msgid "Numeric precision" -msgstr "설명" +msgstr "소숫점" #: ../src/ui/dialog/inkscape-preferences.cpp:937 msgid "The number of digits to use behind the comma." -msgstr "" +msgstr "콤마 뒤에 사용되는 자릿수" #: ../src/ui/dialog/inkscape-preferences.cpp:940 -#, fuzzy msgid "Minimum exponent" -msgstr "최소 크기" +msgstr "최소 지수" #: ../src/ui/dialog/inkscape-preferences.cpp:940 -msgid "" -"The minimum size of a number (10 to the power of this exponent), smaller " -"numbers will be written as zero." -msgstr "" +msgid "The minimum size of a number (10 to the power of this exponent), smaller numbers will be written as zero." +msgstr "최소 숫자 크기, 가장 작은 숫자는 0임" #: ../src/ui/dialog/inkscape-preferences.cpp:947 msgid "Add label comments to printing output" -msgstr "" +msgstr "라벨 주석을 인쇄 출력에 더하기" #: ../src/ui/dialog/inkscape-preferences.cpp:949 -msgid "" -"When on, a comment will be added to the raw print output, marking the " -"rendered output for an object with its label" -msgstr "" +msgid "When on, a comment will be added to the raw print output, marking the rendered output for an object with its label" +msgstr "On시, 주석이 출력 결과물에 더하여짐" #: ../src/ui/dialog/inkscape-preferences.cpp:951 msgid "Prevent sharing of gradient definitions" -msgstr "" +msgstr "그라디언트 정의 공유를 막음" #: ../src/ui/dialog/inkscape-preferences.cpp:953 -msgid "" -"When on, shared gradient definitions are automatically forked on change; " -"uncheck to allow sharing of gradient definitions so that editing one object " -"may affect other objects using the same gradient" -msgstr "" +msgid "When on, shared gradient definitions are automatically forked on change; uncheck to allow sharing of gradient definitions so that editing one object may affect other objects using the same gradient" +msgstr "On시, 공유 그라디언트 정의가 자동으로 변경시 갈라짐" #: ../src/ui/dialog/inkscape-preferences.cpp:955 msgid "Simplification threshold:" -msgstr "" +msgstr "단순화 허용치:" #: ../src/ui/dialog/inkscape-preferences.cpp:956 -msgid "" -"How strong is the Simplify command by default. If you invoke this command " -"several times in quick succession, it will act more and more aggressively; " -"invoking it again after a pause restores the default threshold." +msgid "How strong is the Simplify command by default. If you invoke this command several times in quick succession, it will act more and more aggressively; invoking it again after a pause restores the default threshold." msgstr "" #: ../src/ui/dialog/inkscape-preferences.cpp:958 @@ -11869,81 +10954,72 @@ msgstr "16x16" #: ../src/ui/dialog/inkscape-preferences.cpp:962 msgid "Oversample bitmaps:" -msgstr "" +msgstr "오버샘플 비트맵:" #: ../src/ui/dialog/inkscape-preferences.cpp:972 -#, fuzzy msgid "Commands bar icon size" -msgstr "명령 바" +msgstr "명령 막대 아이콘 크기" #: ../src/ui/dialog/inkscape-preferences.cpp:973 msgid "Set the size for the commands toolbar to use (requires restart)" -msgstr "" +msgstr "사용하기 위하여 명령어 도구막대 크기 설정(재시작 필요)" #: ../src/ui/dialog/inkscape-preferences.cpp:976 -#, fuzzy msgid "Tool controls bar icon size" -msgstr "도구 조정 바" +msgstr "도구 제어 막대 아이콘 크기" #: ../src/ui/dialog/inkscape-preferences.cpp:977 msgid "Set the size for the secondary toolbar to use (requires restart)" -msgstr "" +msgstr "사용하기 위해 두번째 도구막대의 크기 설정(재시작 필요)" #: ../src/ui/dialog/inkscape-preferences.cpp:980 msgid "Main toolbar icon size" -msgstr "" +msgstr "주 도구막대 아이콘 크기" #: ../src/ui/dialog/inkscape-preferences.cpp:981 msgid "Set the size for the main tools to use (requires restart)" -msgstr "" +msgstr "사용하기 위하여 주 도구 크기 설정(재시작 필요)" #: ../src/ui/dialog/inkscape-preferences.cpp:984 msgid "Maximum number of recent documents:" -msgstr "" +msgstr "최근 문서의 최대 갯수:" #: ../src/ui/dialog/inkscape-preferences.cpp:985 msgid "The maximum length of the Open Recent list in the File menu" -msgstr "" +msgstr "파일 메뉴에서 열린 최근 파일 목록의 최대 길이" #. Autosave options #: ../src/ui/dialog/inkscape-preferences.cpp:990 msgid "Enable auto-save of document" -msgstr "" +msgstr "문서 자동 저장 가능" #: ../src/ui/dialog/inkscape-preferences.cpp:991 -msgid "" -"Automatically saves the current document to disk at a given interval, thus " -"minimizing loss at a crash" -msgstr "" +msgid "Automatically saves the current document to disk at a given interval, thus minimizing loss at a crash" +msgstr "자동으로 현재 문서를 디스크에 주어진 시간뒤에 저장, 이것은 프로그램 이상시 손실을 최소하시킬 수 있음" #: ../src/ui/dialog/inkscape-preferences.cpp:993 msgid "Interval (in minutes):" -msgstr "" +msgstr "간격(분):" #: ../src/ui/dialog/inkscape-preferences.cpp:993 -msgid "" -"Sets the interval (in minutes) at which a workspace will be automatically " -"saved to disk" -msgstr "" +msgid "Sets the interval (in minutes) at which a workspace will be automatically saved to disk" +msgstr "자동으로 저장되는 시간 간격(분) 설정" #: ../src/ui/dialog/inkscape-preferences.cpp:995 -#, fuzzy msgid "Path:" -msgstr "곡선" +msgstr "경로:" #: ../src/ui/dialog/inkscape-preferences.cpp:995 msgid "Sets the directory where autosaves will be written" -msgstr "" +msgstr "자동으로 저장되는 폴더 설정" #: ../src/ui/dialog/inkscape-preferences.cpp:997 msgid "Maximum number of autosaves" -msgstr "" +msgstr "자동 저장 최대 갯수" #: ../src/ui/dialog/inkscape-preferences.cpp:997 -msgid "" -"Allows for limiting the space used by autosaves, by setting a maximum number " -"of allowed files" -msgstr "" +msgid "Allows for limiting the space used by autosaves, by setting a maximum number of allowed files" +msgstr "허용되는 파일의 최대 갯수를 설정함으로서 자동저장에 의하여 사용되는 공간 제한을 허용" #. When changing the interval or enabling/disabling the autosave function, #. * update our running configuration @@ -11961,95 +11037,96 @@ msgstr "" #. ----------- #: ../src/ui/dialog/inkscape-preferences.cpp:1015 msgid "Automatically reload bitmaps" -msgstr "" +msgstr "자동으로 비트맵 다시 읽어오기" #: ../src/ui/dialog/inkscape-preferences.cpp:1017 msgid "Enbles automatic reload of linked images when changed on disk." -msgstr "" +msgstr "디스크상 변경시 링크된 이미지의 자동 읽기 가능" #: ../src/ui/dialog/inkscape-preferences.cpp:1030 msgid "Bitmap editor:" -msgstr "" +msgstr "비트맵 편집기:" #: ../src/ui/dialog/inkscape-preferences.cpp:1036 msgid "Misc" -msgstr "" +msgstr "기타" + +#: ../src/ui/dialog/livepatheffect-editor.cpp:57 +msgid "_Apply" +msgstr "적용(_A)" #: ../src/ui/dialog/livepatheffect-editor.cpp:74 msgid "Apply new effect" -msgstr "" +msgstr "새 효과 적용" #: ../src/ui/dialog/livepatheffect-editor.cpp:75 msgid "Current effect" -msgstr "" +msgstr "현재 효과" #: ../src/ui/dialog/livepatheffect-editor.cpp:76 -#, fuzzy msgid "Effect list" -msgstr "옵셋" +msgstr "효과 목록" #: ../src/ui/dialog/livepatheffect-editor.cpp:239 msgid "Unknown effect is applied" -msgstr "" +msgstr "알려지지 않은 효과를 적용시킴" #: ../src/ui/dialog/livepatheffect-editor.cpp:242 msgid "No effect applied" -msgstr "" +msgstr "적용된 효과 없음" #: ../src/ui/dialog/livepatheffect-editor.cpp:248 msgid "Item is not a path or shape" -msgstr "" +msgstr "항목이 경로 또는 모양이 아님" #: ../src/ui/dialog/livepatheffect-editor.cpp:252 msgid "Only one item can be selected" -msgstr "" +msgstr "한 항목만 선택할 수 있음" #: ../src/ui/dialog/livepatheffect-editor.cpp:256 -#, fuzzy msgid "Empty selection" -msgstr "선택부분 지우기" +msgstr "빈 선택" #: ../src/ui/dialog/livepatheffect-editor.cpp:349 -#, fuzzy msgid "Remove path effect" -msgstr " 삭제(_m) " +msgstr "경로 효과 삭제" #: ../src/ui/dialog/livepatheffect-editor.cpp:366 -#, fuzzy msgid "Move path effect up" -msgstr " 삭제(_m) " +msgstr "경로 효과 위로 이동" #: ../src/ui/dialog/livepatheffect-editor.cpp:384 -#, fuzzy msgid "Move path effect down" -msgstr " 삭제(_m) " +msgstr "경로 효과 아래로 이동" #: ../src/ui/dialog/memory.cpp:94 msgid "Heap" -msgstr "" +msgstr "힙" #: ../src/ui/dialog/memory.cpp:95 msgid "In Use" -msgstr "" +msgstr "사용 중" #. TRANSLATORS: "Slack" refers to memory which is in the heap but currently unused. #. More typical usage is to call this memory "free" rather than "slack". #: ../src/ui/dialog/memory.cpp:98 msgid "Slack" -msgstr "" +msgstr "메모리 사용량" #: ../src/ui/dialog/memory.cpp:99 msgid "Total" -msgstr "총합" +msgstr "합계" -#: ../src/ui/dialog/memory.cpp:139 ../src/ui/dialog/memory.cpp:145 -#: ../src/ui/dialog/memory.cpp:152 ../src/ui/dialog/memory.cpp:184 +#: ../src/ui/dialog/memory.cpp:139 +#: ../src/ui/dialog/memory.cpp:145 +#: ../src/ui/dialog/memory.cpp:152 +#: ../src/ui/dialog/memory.cpp:184 msgid "Unknown" -msgstr "알수 없는" +msgstr "알려지지 않음" #: ../src/ui/dialog/memory.cpp:165 msgid "Combined" -msgstr "조합된" +msgstr "조합" #: ../src/ui/dialog/memory.cpp:207 msgid "Recalculate" @@ -12060,98 +11137,86 @@ msgid "Ready." msgstr "준비." #: ../src/ui/dialog/messages.cpp:76 -msgid "" -"Enable log display by setting dialogs.debug 'redirect' attribute to 1 in " -"preferences.xml" -msgstr "" +msgid "Enable log display by setting dialogs.debug 'redirect' attribute to 1 in preferences.xml" +msgstr "preferences.xml에서 dialogs.debug 'redirect' 속성을 1로 설정함으로 로그 보이기 가능" #: ../src/ui/dialog/ocaldialogs.cpp:77 -#, fuzzy msgid "File" -msgstr "파일(_F)" +msgstr "파일" #: ../src/ui/dialog/ocaldialogs.cpp:175 -#, fuzzy msgid "Username:" -msgstr "사용자 이름(_U):" +msgstr "사용자 이름:" #: ../src/ui/dialog/ocaldialogs.cpp:176 -#, fuzzy msgid "Password:" -msgstr "암호(_P):" +msgstr "암호:" #: ../src/ui/dialog/ocaldialogs.cpp:402 msgid "Error while reading the Open Clip Art RSS feed" -msgstr "" +msgstr "Open Clip Art RSS feed 읽는 동안 오류" #: ../src/ui/dialog/ocaldialogs.cpp:440 -msgid "" -"Failed to receive the Open Clip Art Library RSS feed. Verify if the server " -"name is correct in Configuration->Import/Export (e.g.: openclipart.org)" -msgstr "" +msgid "Failed to receive the Open Clip Art Library RSS feed. Verify if the server name is correct in Configuration->Import/Export (e.g.: openclipart.org)" +msgstr "Open Clip Art RSS feed 읽어오기 실패!" #: ../src/ui/dialog/ocaldialogs.cpp:454 msgid "Server supplied malformed Clip Art feed" -msgstr "" +msgstr "서버가 malformed 클립 아트 피드를 지원" #: ../src/ui/dialog/ocaldialogs.cpp:545 -#, fuzzy msgid "Search for:" -msgstr "그룹 찾기" +msgstr "찾기:" #: ../src/ui/dialog/ocaldialogs.cpp:546 msgid "No files matched your search" -msgstr "" +msgstr "일치하는 파일이 없음" #: ../src/ui/dialog/ocaldialogs.cpp:557 -#, fuzzy msgid "Search" -msgstr "그룹 찾기" +msgstr "찾기" #: ../src/ui/dialog/ocaldialogs.cpp:574 msgid "Files found" -msgstr "" +msgstr "파일을 찾음" #: ../src/ui/dialog/print.cpp:138 msgid "Could not open temporary PNG for bitmap printing" -msgstr "" +msgstr "비트맵 출력을 위해 임시 PNG 파일을 열 수 없음" #: ../src/ui/dialog/print.cpp:173 msgid "Could not set up Document" -msgstr "" +msgstr "문서 설정할 수 없음" #: ../src/ui/dialog/print.cpp:177 msgid "Failed to set CairoRenderContext" -msgstr "" +msgstr "CairoRenderContext 설정 실패" #. set up dialog title, based on document name #: ../src/ui/dialog/print.cpp:217 -#, fuzzy msgid "SVG Document" -msgstr "문서 저장됨." +msgstr "SVG 문서" #: ../src/ui/dialog/print.cpp:218 -#, fuzzy msgid "Print" -msgstr "포인트" +msgstr "인쇄" #. build custom preferences tab #: ../src/ui/dialog/print.cpp:245 -#, fuzzy msgid "Rendering" -msgstr "랜더" +msgstr "랜더링" #: ../src/ui/dialog/scriptdialog.cpp:211 msgid "_Execute Javascript" -msgstr "" +msgstr "자바스크립트 실행(_E)" #: ../src/ui/dialog/scriptdialog.cpp:213 msgid "_Execute Python" -msgstr "" +msgstr "파이썬 실행(_E)" #: ../src/ui/dialog/scriptdialog.cpp:215 msgid "_Execute Ruby" -msgstr "" +msgstr "루비 실행(_E)" #: ../src/ui/dialog/scriptdialog.cpp:224 msgid "Script" @@ -12159,81 +11224,72 @@ msgstr "스크립트" #: ../src/ui/dialog/scriptdialog.cpp:234 msgid "Output" -msgstr "내보내기" +msgstr "출력" #: ../src/ui/dialog/scriptdialog.cpp:244 msgid "Errors" -msgstr "에라" +msgstr "오류" #. Dialog organization #: ../src/ui/dialog/session-player.cpp:73 -#, fuzzy msgid "Session file" -msgstr "세션 파일을 쓰시오(_W):" +msgstr "세션 파일" #: ../src/ui/dialog/session-player.cpp:74 msgid "Playback controls" -msgstr "" +msgstr "제어 재생" #: ../src/ui/dialog/session-player.cpp:75 -#, fuzzy msgid "Message information" -msgstr "메모리 사용량 정보" +msgstr "메세지 정보" #. Active session file display #. fixme: Does this mean the active file for the session, or the file for the active session? #. Please indicate which with a TRANSLATORS comment. #: ../src/ui/dialog/session-player.cpp:85 -#, fuzzy msgid "Active session file:" -msgstr "세션 파일을 쓰시오(_W):" +msgstr "활성 세션 파일" #: ../src/ui/dialog/session-player.cpp:86 msgid "Delay (milliseconds):" -msgstr "" +msgstr "지연 (밀리초):" #. Unload/load buttons #: ../src/ui/dialog/session-player.cpp:94 -#, fuzzy msgid "Close file" -msgstr "닫기(_C)" +msgstr "파일 닫기" #: ../src/ui/dialog/session-player.cpp:95 -#, fuzzy msgid "Open new file" -msgstr "채움 제거" +msgstr "새 파일 열기" #: ../src/ui/dialog/session-player.cpp:96 -#, fuzzy msgid "Set delay" msgstr "지연 설정" #: ../src/ui/dialog/session-player.cpp:138 -#, fuzzy msgid "Rewind" -msgstr "랜더" +msgstr "감기" #: ../src/ui/dialog/session-player.cpp:139 msgid "Go back one change" -msgstr "" +msgstr "바로 이전 변경으로 이동" #: ../src/ui/dialog/session-player.cpp:140 -#, fuzzy msgid "Pause" -msgstr "붙이기(_P)" +msgstr "잠시 대기" #: ../src/ui/dialog/session-player.cpp:141 msgid "Go forward one change" -msgstr "" +msgstr "한 개 변경 앞으로" #: ../src/ui/dialog/session-player.cpp:142 msgid "Play" -msgstr "" +msgstr "실행" #: ../src/ui/dialog/session-player.cpp:177 -#, fuzzy msgid "Open session file" -msgstr "세션 파일을 쓰시오(_W):" +msgstr "세션 파일 열기" #. #### begin left panel #. ### begin notebook @@ -12241,36 +11297,34 @@ msgstr "세션 파일을 쓰시오(_W):" #. # begin single scan #. brightness #: ../src/ui/dialog/tracedialog.cpp:396 -#, fuzzy msgid "Brightness cutoff" -msgstr "명도" +msgstr "명도 차단" #: ../src/ui/dialog/tracedialog.cpp:400 msgid "Trace by a given brightness level" -msgstr "" +msgstr "지정 명도 레벨 따르기" #: ../src/ui/dialog/tracedialog.cpp:408 msgid "Brightness cutoff for black/white" -msgstr "" +msgstr "검은색/흰색 위한 명도 차단" #: ../src/ui/dialog/tracedialog.cpp:415 msgid "Single scan: creates a path" -msgstr "" +msgstr "단일 스캔: 경로 생성" #. canny edge detection #. TRANSLATORS: "Canny" is the name of the inventor of this edge detection method #: ../src/ui/dialog/tracedialog.cpp:420 -#, fuzzy msgid "Edge detection" -msgstr "외각선 인식" +msgstr "모서리 검출" #: ../src/ui/dialog/tracedialog.cpp:424 msgid "Trace with optimal edge detection by J. Canny's algorithm" -msgstr "" +msgstr "J. Canny's 알고리즘에 의해 최적 모서리 탐지 따르기" #: ../src/ui/dialog/tracedialog.cpp:441 msgid "Brightness cutoff for adjacent pixels (determines edge thickness)" -msgstr "" +msgstr "인접 화소의 명도 차단(모서리 두께 결정)" #. quantization #. TRANSLATORS: Color Quantization: the process of reducing the number @@ -12278,7 +11332,7 @@ msgstr "" #. colors and then re-applying this reduced set to the original image. #: ../src/ui/dialog/tracedialog.cpp:453 msgid "Color quantization" -msgstr "" +msgstr "색상 양자화" #: ../src/ui/dialog/tracedialog.cpp:457 msgid "Trace along the boundaries of reduced colors" @@ -12286,33 +11340,30 @@ msgstr "" #: ../src/ui/dialog/tracedialog.cpp:465 msgid "The number of reduced colors" -msgstr "감소 된 색 숫자" +msgstr "감소 색상수" #: ../src/ui/dialog/tracedialog.cpp:467 msgid "Colors:" -msgstr "색:" +msgstr "색상:" #. swap black and white #: ../src/ui/dialog/tracedialog.cpp:473 -#, fuzzy msgid "Invert image" -msgstr "반전" +msgstr "이미지 반전" #: ../src/ui/dialog/tracedialog.cpp:478 -#, fuzzy msgid "Invert black and white regions" -msgstr "단순 따오기을 위한 검정색과 백색 반전" +msgstr "검은색과 흰색 구간 역으로" #. # end single scan #. # begin multiple scan #: ../src/ui/dialog/tracedialog.cpp:487 -#, fuzzy msgid "Brightness steps" -msgstr "명도" +msgstr "명도 단계" #: ../src/ui/dialog/tracedialog.cpp:491 msgid "Trace the given number of brightness levels" -msgstr "" +msgstr "명도 레벨의 지정 갯수 따오기" #: ../src/ui/dialog/tracedialog.cpp:498 msgid "Scans:" @@ -12320,80 +11371,75 @@ msgstr "스캔:" #: ../src/ui/dialog/tracedialog.cpp:501 msgid "The desired number of scans" -msgstr "" +msgstr "스캔 갯수" #: ../src/ui/dialog/tracedialog.cpp:505 -#, fuzzy msgid "Colors" -msgstr "색:" +msgstr "색상" #: ../src/ui/dialog/tracedialog.cpp:509 msgid "Trace the given number of reduced colors" -msgstr "" +msgstr "감소 색상의 지정 갯수 따오기" #: ../src/ui/dialog/tracedialog.cpp:513 msgid "Grays" -msgstr "" +msgstr "회색" #: ../src/ui/dialog/tracedialog.cpp:517 msgid "Same as Colors, but the result is converted to grayscale" -msgstr "" +msgstr "색상처럼 동일, 결과를 회색톤으로 변환" #. TRANSLATORS: "Smooth" is a verb here #: ../src/ui/dialog/tracedialog.cpp:522 msgid "Smooth" -msgstr "부드러움" +msgstr "부드럽게" #: ../src/ui/dialog/tracedialog.cpp:526 msgid "Apply Gaussian blur to the bitmap before tracing" -msgstr "" +msgstr "따오기 전 가우시안 흐림을 비트맵으로 적용" #. TRANSLATORS: "Stack" is a verb here #: ../src/ui/dialog/tracedialog.cpp:529 msgid "Stack scans" -msgstr "" +msgstr "스택 스캔" #: ../src/ui/dialog/tracedialog.cpp:532 -msgid "" -"Stack scans on top of one another (no gaps) instead of tiling (usually with " -"gaps)" +msgid "Stack scans on top of one another (no gaps) instead of tiling (usually with gaps)" msgstr "" #: ../src/ui/dialog/tracedialog.cpp:535 msgid "Remove background" -msgstr "" +msgstr "ë°°ê²½ 제거" #: ../src/ui/dialog/tracedialog.cpp:540 msgid "Remove bottom (background) layer when done" -msgstr "" +msgstr "완료시 최하단(ë°°ê²½) 제거" #: ../src/ui/dialog/tracedialog.cpp:544 msgid "Multiple scans: creates a group of paths" -msgstr "" +msgstr "다수 스캔: 경로 그룹 생성" #. ## begin option page #. # potrace parameters #: ../src/ui/dialog/tracedialog.cpp:559 msgid "Suppress speckles" -msgstr "" +msgstr "작은 점 제거" #: ../src/ui/dialog/tracedialog.cpp:561 msgid "Ignore small spots (speckles) in the bitmap" -msgstr "" +msgstr "비트맵에서 작은 점 무시" #: ../src/ui/dialog/tracedialog.cpp:569 msgid "Speckles of up to this many pixels will be suppressed" msgstr "" #: ../src/ui/dialog/tracedialog.cpp:571 -#, fuzzy msgid "Size:" -msgstr "크기" +msgstr "크기:" #: ../src/ui/dialog/tracedialog.cpp:574 -#, fuzzy msgid "Smooth corners" -msgstr "부드러움" +msgstr "부드러운 모서리" #: ../src/ui/dialog/tracedialog.cpp:576 msgid "Smooth out sharp corners of the trace" @@ -12401,27 +11447,25 @@ msgstr "" #: ../src/ui/dialog/tracedialog.cpp:585 msgid "Increase this to smooth corners more" -msgstr "" +msgstr "모서리를 더 부드럽게 하기 위하여 이것을 증가" #: ../src/ui/dialog/tracedialog.cpp:589 -#, fuzzy msgid "Optimize paths" -msgstr "최적화됨" +msgstr "경로 최적화" #: ../src/ui/dialog/tracedialog.cpp:592 msgid "Try to optimize paths by joining adjacent Bezier curve segments" msgstr "" #: ../src/ui/dialog/tracedialog.cpp:600 -msgid "" -"Increase this to reduce the number of nodes in the trace by more aggressive " -"optimization" +msgid "Increase this to reduce the number of nodes in the trace by more aggressive optimization" msgstr "" #. ## end option page -#: ../src/ui/dialog/tracedialog.cpp:607 ../src/ui/dialog/tracedialog.cpp:613 +#: ../src/ui/dialog/tracedialog.cpp:607 +#: ../src/ui/dialog/tracedialog.cpp:613 msgid "Options" -msgstr "" +msgstr "설정" #. ### credits #: ../src/ui/dialog/tracedialog.cpp:621 @@ -12430,14 +11474,13 @@ msgstr "피터 셀린저에 감사, http://potrace.sourceforge.net" #: ../src/ui/dialog/tracedialog.cpp:623 msgid "Credits" -msgstr "" +msgstr "신용" #. #### begin right panel #. ## SIOX #: ../src/ui/dialog/tracedialog.cpp:637 -#, fuzzy msgid "SIOX foreground selection" -msgstr "선택된 부분에서 찾기(_e)" +msgstr "SIOX 전경 선택" #: ../src/ui/dialog/tracedialog.cpp:640 msgid "Cover the area you want to select as the foreground" @@ -12445,16 +11488,12 @@ msgstr "" #. ## preview #: ../src/ui/dialog/tracedialog.cpp:645 -#, fuzzy msgid "Update" -msgstr "날짜" +msgstr "업데이트" #: ../src/ui/dialog/tracedialog.cpp:651 -#, fuzzy -msgid "" -"Preview the intermediate bitmap with the current settings, without actual " -"tracing" -msgstr "완벽한 따오기 없이 미리보기 ê²°ê³¼" +msgid "Preview the intermediate bitmap with the current settings, without actual tracing" +msgstr "실제 따오기 없이 현재 설정으로 중간 비트맵 미리보기" #: ../src/ui/dialog/tracedialog.cpp:655 msgid "Preview" @@ -12462,11 +11501,11 @@ msgstr "미리보기" #: ../src/ui/dialog/tracedialog.cpp:672 msgid "Abort a trace in progress" -msgstr "" +msgstr "작업에서 따오기 취소" #: ../src/ui/dialog/tracedialog.cpp:676 msgid "Execute the trace" -msgstr "" +msgstr "따오기 실행" #: ../src/ui/dialog/transformation.cpp:83 #: ../src/ui/dialog/transformation.cpp:93 @@ -12500,7 +11539,7 @@ msgstr "높이(_H)" #: ../src/ui/dialog/transformation.cpp:89 msgid "Vertical size (absolute or percentage of current)" -msgstr "" +msgstr "수직 크기 (현재의 절대값 또는 백분율)" #: ../src/ui/dialog/transformation.cpp:91 msgid "A_ngle" @@ -12508,81 +11547,71 @@ msgstr "각도(_n)" #: ../src/ui/dialog/transformation.cpp:91 msgid "Rotation angle (positive = counterclockwise)" -msgstr "" +msgstr "회전각(양의 값= 반시계방향)" #: ../src/ui/dialog/transformation.cpp:93 -msgid "" -"Horizontal skew angle (positive = counterclockwise), or absolute " -"displacement, or percentage displacement" -msgstr "" +msgid "Horizontal skew angle (positive = counterclockwise), or absolute displacement, or percentage displacement" +msgstr "수평 기울이기 각도 (양의 값= 반시계방향)" #: ../src/ui/dialog/transformation.cpp:95 -msgid "" -"Vertical skew angle (positive = counterclockwise), or absolute displacement, " -"or percentage displacement" -msgstr "" +msgid "Vertical skew angle (positive = counterclockwise), or absolute displacement, or percentage displacement" +msgstr "수직 기울이기 각도 (양의 값= 반시계방향)" #: ../src/ui/dialog/transformation.cpp:98 msgid "Transformation matrix element A" -msgstr "" +msgstr "변형 행렬 요소 A" #: ../src/ui/dialog/transformation.cpp:99 msgid "Transformation matrix element B" -msgstr "" +msgstr "변형 행렬 요소 B" #: ../src/ui/dialog/transformation.cpp:100 msgid "Transformation matrix element C" -msgstr "" +msgstr "변형 행렬 요소 C" #: ../src/ui/dialog/transformation.cpp:101 msgid "Transformation matrix element D" -msgstr "" +msgstr "변형 행렬 요소 D" #: ../src/ui/dialog/transformation.cpp:102 msgid "Transformation matrix element E" -msgstr "" +msgstr "변형 행렬 요소 E" #: ../src/ui/dialog/transformation.cpp:103 msgid "Transformation matrix element F" -msgstr "" +msgstr "변형 행렬 요소 F" #: ../src/ui/dialog/transformation.cpp:105 msgid "Rela_tive move" -msgstr "" +msgstr "상대적 이동(_T)" #: ../src/ui/dialog/transformation.cpp:105 -msgid "" -"Add the specified relative displacement to the current position; otherwise, " -"edit the current absolute position directly" -msgstr "" +msgid "Add the specified relative displacement to the current position; otherwise, edit the current absolute position directly" +msgstr "지정된 상대 위치를 현재 위치로 더하기; 그렇지 않으면 현재 절대 위치를 직접 편집" #: ../src/ui/dialog/transformation.cpp:106 msgid "Scale proportionally" -msgstr "" +msgstr "비례적으로 변경" #: ../src/ui/dialog/transformation.cpp:106 msgid "Preserve the width/height ratio of the scaled objects" -msgstr "" +msgstr "변경된 객체의 폭/높이 비율 유지" #: ../src/ui/dialog/transformation.cpp:107 msgid "Apply to each _object separately" -msgstr "" +msgstr "각 객체를 개별적으로 적용(_O)" #: ../src/ui/dialog/transformation.cpp:107 -msgid "" -"Apply the scale/rotate/skew to each selected object separately; otherwise, " -"transform the selection as a whole" -msgstr "" +msgid "Apply the scale/rotate/skew to each selected object separately; otherwise, transform the selection as a whole" +msgstr "비율/회전/기울이기를 각 객체에 개별적으로 적용, 그렇지 않으면 선택을 전체로 변환" #: ../src/ui/dialog/transformation.cpp:108 msgid "Edit c_urrent matrix" -msgstr "" +msgstr "현재 행렬 편집(_U)" #: ../src/ui/dialog/transformation.cpp:108 -msgid "" -"Edit the current transform= matrix; otherwise, post-multiply transform= by " -"this matrix" -msgstr "" +msgid "Edit the current transform= matrix; otherwise, post-multiply transform= by this matrix" +msgstr "현재 변형=행렬 편집" #: ../src/ui/dialog/transformation.cpp:118 msgid "_Move" @@ -12590,7 +11619,7 @@ msgstr "이동(_M)" #: ../src/ui/dialog/transformation.cpp:121 msgid "_Scale" -msgstr "확대/축소(_S)" +msgstr "비율(_S)" #: ../src/ui/dialog/transformation.cpp:124 msgid "_Rotate" @@ -12598,144 +11627,133 @@ msgstr "회전(_R)" #: ../src/ui/dialog/transformation.cpp:127 msgid "Ske_w" -msgstr "" +msgstr "기울이기(_W)" #: ../src/ui/dialog/transformation.cpp:130 msgid "Matri_x" -msgstr "" +msgstr "행렬(_X)" #: ../src/ui/dialog/transformation.cpp:153 msgid "Reset the values on the current tab to defaults" -msgstr "" +msgstr "현재 탭의 값을 기본값으로 초기화" #: ../src/ui/dialog/transformation.cpp:160 msgid "Apply transformation to selection" -msgstr "" +msgstr "변환을 선택으로 적용" #: ../src/ui/dialog/transformation.cpp:842 -#, fuzzy msgid "Edit transformation matrix" -msgstr "이동치 저장" +msgstr "변환 행렬 편집" #: ../src/ui/dialog/whiteboard-connect.cpp:44 msgid "_Use SSL" -msgstr "" +msgstr "SSL 사용(_U)" #: ../src/ui/dialog/whiteboard-connect.cpp:44 -#, fuzzy msgid "_Register" -msgstr "반지름" +msgstr "등록(_R)" #. Construct dialog interface #: ../src/ui/dialog/whiteboard-connect.cpp:75 -#, fuzzy msgid "_Server:" -msgstr "되돌리기(_R)" +msgstr "서버(_S):" #: ../src/ui/dialog/whiteboard-connect.cpp:76 -#, fuzzy msgid "_Username:" msgstr "사용자 이름(_U):" #: ../src/ui/dialog/whiteboard-connect.cpp:77 -#, fuzzy msgid "_Password:" msgstr "암호(_P):" #: ../src/ui/dialog/whiteboard-connect.cpp:78 -#, fuzzy msgid "P_ort:" -msgstr "출력(_E):" +msgstr "포트(_O):" #. Buttons #: ../src/ui/dialog/whiteboard-connect.cpp:113 -#, fuzzy msgid "Connect" -msgstr "연결자" +msgstr "연결" #: ../src/ui/dialog/whiteboard-connect.cpp:144 msgid "Establishing connection to Jabber server %1" -msgstr "" +msgstr "Jabber 서버 %1에 연결 중" #: ../src/ui/dialog/whiteboard-connect.cpp:171 #: ../src/ui/dialog/whiteboard-connect.cpp:216 #: ../src/ui/dialog/whiteboard-connect.cpp:254 msgid "Failed to establish connection to Jabber server %1" -msgstr "" +msgstr "Jabber 서버 %1에 연결 실패" #: ../src/ui/dialog/whiteboard-connect.cpp:209 msgid "Establishing connection to Jabber server %1 as user %2" -msgstr "" +msgstr "Jabber 서버 %1에 사용자 %2가 연결 중" #: ../src/ui/dialog/whiteboard-connect.cpp:221 msgid "Authentication failed on Jabber server %1 as %2" -msgstr "" +msgstr "Jabber 서버 %1에 사용자 %2가 연결 실패" #: ../src/ui/dialog/whiteboard-connect.cpp:226 #: ../src/ui/dialog/whiteboard-connect.cpp:264 msgid "SSL initialization failed when connecting to Jabber server %1" -msgstr "" +msgstr "Jabber 서버 %1에 연결 중 SSL 초기화 실패" #: ../src/ui/dialog/whiteboard-connect.cpp:232 #: ../src/ui/dialog/whiteboard-connect.cpp:270 msgid "Connected to Jabber server %1 as %2" -msgstr "" +msgstr "서버 %1에 사용자 %2가 연결됨" #: ../src/ui/dialog/whiteboard-connect.cpp:259 msgid "Registration failed on Jabber server %1 as %2" -msgstr "" +msgstr "서버 %1에 사용자 %2 등록 실패" #. Construct labels #: ../src/ui/dialog/whiteboard-sharewithchat.cpp:75 -#, fuzzy msgid "Chatroom _name:" -msgstr "레이어 이름:" +msgstr "채팅 이름(_N):" #: ../src/ui/dialog/whiteboard-sharewithchat.cpp:76 msgid "Chatroom _server:" -msgstr "" +msgstr "채팅 서버(_S):" #: ../src/ui/dialog/whiteboard-sharewithchat.cpp:77 msgid "Chatroom _password:" -msgstr "" +msgstr "채팅 암호(_P):" #: ../src/ui/dialog/whiteboard-sharewithchat.cpp:78 -#, fuzzy msgid "Chatroom _handle:" -msgstr "사각형 찾기" +msgstr "채팅 핸들(_H):" #. Button setup and callback registration #: ../src/ui/dialog/whiteboard-sharewithchat.cpp:102 -#, fuzzy msgid "Connect to chatroom" -msgstr "연결자" +msgstr "채팅 연결" #: ../src/ui/dialog/whiteboard-sharewithchat.cpp:137 msgid "Synchronizing with chatroom %1@%2 using the handle %3" -msgstr "" +msgstr "채팅 %1@%2에서 %3핸들 동기화 중" #. Construct dialog interface #: ../src/ui/dialog/whiteboard-sharewithuser.cpp:76 msgid "_User's Jabber ID:" -msgstr "" +msgstr "사용자 Jabber ID(_U):" #. Buttons #: ../src/ui/dialog/whiteboard-sharewithuser.cpp:80 msgid "_Invite user" -msgstr "" +msgstr "사용자 초대(_I)" #: ../src/ui/dialog/whiteboard-sharewithuser.cpp:81 -#, fuzzy msgid "_Cancel" -msgstr "취소" +msgstr "취소(_C)" #: ../src/ui/dialog/whiteboard-sharewithuser.cpp:92 msgid "Buddy List" -msgstr "" +msgstr "버디 목록" #: ../src/ui/dialog/whiteboard-sharewithuser.cpp:181 msgid "Sending whiteboard invitation to %1" -msgstr "" +msgstr "화이트보드 초대를 %1에 보내는 중" #. FIXME: strings are replaced by placeholders, NOT to be translated until the code is enabled #. See http://sourceforge.net/mailarchive/message.php?msg_id=11746016 for details @@ -12753,275 +11771,386 @@ msgstr "" #. Node Tool controls #. Calligraphy Tool controls #. Session playback controls -#: ../src/ui/stock-items.cpp:31 ../src/ui/stock-items.cpp:32 -#: ../src/ui/stock-items.cpp:33 ../src/ui/stock-items.cpp:34 -#: ../src/ui/stock-items.cpp:35 ../src/ui/stock-items.cpp:36 -#: ../src/ui/stock-items.cpp:37 ../src/ui/stock-items.cpp:38 -#: ../src/ui/stock-items.cpp:39 ../src/ui/stock-items.cpp:40 -#: ../src/ui/stock-items.cpp:41 ../src/ui/stock-items.cpp:42 -#: ../src/ui/stock-items.cpp:45 ../src/ui/stock-items.cpp:46 -#: ../src/ui/stock-items.cpp:47 ../src/ui/stock-items.cpp:48 -#: ../src/ui/stock-items.cpp:49 ../src/ui/stock-items.cpp:50 -#: ../src/ui/stock-items.cpp:51 ../src/ui/stock-items.cpp:52 -#: ../src/ui/stock-items.cpp:53 ../src/ui/stock-items.cpp:54 -#: ../src/ui/stock-items.cpp:55 ../src/ui/stock-items.cpp:56 -#: ../src/ui/stock-items.cpp:57 ../src/ui/stock-items.cpp:58 -#: ../src/ui/stock-items.cpp:61 ../src/ui/stock-items.cpp:62 -#: ../src/ui/stock-items.cpp:63 ../src/ui/stock-items.cpp:64 -#: ../src/ui/stock-items.cpp:65 ../src/ui/stock-items.cpp:66 -#: ../src/ui/stock-items.cpp:67 ../src/ui/stock-items.cpp:68 -#: ../src/ui/stock-items.cpp:69 ../src/ui/stock-items.cpp:70 -#: ../src/ui/stock-items.cpp:71 ../src/ui/stock-items.cpp:72 -#: ../src/ui/stock-items.cpp:73 ../src/ui/stock-items.cpp:74 -#: ../src/ui/stock-items.cpp:75 ../src/ui/stock-items.cpp:76 -#: ../src/ui/stock-items.cpp:77 ../src/ui/stock-items.cpp:78 -#: ../src/ui/stock-items.cpp:79 ../src/ui/stock-items.cpp:80 -#: ../src/ui/stock-items.cpp:81 ../src/ui/stock-items.cpp:82 -#: ../src/ui/stock-items.cpp:83 ../src/ui/stock-items.cpp:84 -#: ../src/ui/stock-items.cpp:85 ../src/ui/stock-items.cpp:86 -#: ../src/ui/stock-items.cpp:87 ../src/ui/stock-items.cpp:88 -#: ../src/ui/stock-items.cpp:91 ../src/ui/stock-items.cpp:92 -#: ../src/ui/stock-items.cpp:93 ../src/ui/stock-items.cpp:94 -#: ../src/ui/stock-items.cpp:95 ../src/ui/stock-items.cpp:96 -#: ../src/ui/stock-items.cpp:97 ../src/ui/stock-items.cpp:98 -#: ../src/ui/stock-items.cpp:99 ../src/ui/stock-items.cpp:100 -#: ../src/ui/stock-items.cpp:101 ../src/ui/stock-items.cpp:102 -#: ../src/ui/stock-items.cpp:103 ../src/ui/stock-items.cpp:104 -#: ../src/ui/stock-items.cpp:107 ../src/ui/stock-items.cpp:108 -#: ../src/ui/stock-items.cpp:109 ../src/ui/stock-items.cpp:110 -#: ../src/ui/stock-items.cpp:111 ../src/ui/stock-items.cpp:112 -#: ../src/ui/stock-items.cpp:113 ../src/ui/stock-items.cpp:114 -#: ../src/ui/stock-items.cpp:115 ../src/ui/stock-items.cpp:116 -#: ../src/ui/stock-items.cpp:117 ../src/ui/stock-items.cpp:118 -#: ../src/ui/stock-items.cpp:119 ../src/ui/stock-items.cpp:120 -#: ../src/ui/stock-items.cpp:121 ../src/ui/stock-items.cpp:122 -#: ../src/ui/stock-items.cpp:123 ../src/ui/stock-items.cpp:124 -#: ../src/ui/stock-items.cpp:125 ../src/ui/stock-items.cpp:126 -#: ../src/ui/stock-items.cpp:129 ../src/ui/stock-items.cpp:130 -#: ../src/ui/stock-items.cpp:131 ../src/ui/stock-items.cpp:132 -#: ../src/ui/stock-items.cpp:133 ../src/ui/stock-items.cpp:134 -#: ../src/ui/stock-items.cpp:135 ../src/ui/stock-items.cpp:136 -#: ../src/ui/stock-items.cpp:137 ../src/ui/stock-items.cpp:138 -#: ../src/ui/stock-items.cpp:139 ../src/ui/stock-items.cpp:140 -#: ../src/ui/stock-items.cpp:141 ../src/ui/stock-items.cpp:142 -#: ../src/ui/stock-items.cpp:143 ../src/ui/stock-items.cpp:144 -#: ../src/ui/stock-items.cpp:145 ../src/ui/stock-items.cpp:149 -#: ../src/ui/stock-items.cpp:150 ../src/ui/stock-items.cpp:151 -#: ../src/ui/stock-items.cpp:152 ../src/ui/stock-items.cpp:155 -#: ../src/ui/stock-items.cpp:156 ../src/ui/stock-items.cpp:157 -#: ../src/ui/stock-items.cpp:160 ../src/ui/stock-items.cpp:161 -#: ../src/ui/stock-items.cpp:162 ../src/ui/stock-items.cpp:163 -#: ../src/ui/stock-items.cpp:164 ../src/ui/stock-items.cpp:165 -#: ../src/ui/stock-items.cpp:166 ../src/ui/stock-items.cpp:167 -#: ../src/ui/stock-items.cpp:168 ../src/ui/stock-items.cpp:169 -#: ../src/ui/stock-items.cpp:170 ../src/ui/stock-items.cpp:171 -#: ../src/ui/stock-items.cpp:174 ../src/ui/stock-items.cpp:175 -#: ../src/ui/stock-items.cpp:176 ../src/ui/stock-items.cpp:177 -#: ../src/ui/stock-items.cpp:180 ../src/ui/stock-items.cpp:181 -#: ../src/ui/stock-items.cpp:182 ../src/ui/stock-items.cpp:183 -#: ../src/ui/stock-items.cpp:184 ../src/ui/stock-items.cpp:185 -#: ../src/ui/stock-items.cpp:186 ../src/ui/stock-items.cpp:187 -#: ../src/ui/stock-items.cpp:188 ../src/ui/stock-items.cpp:189 -#: ../src/ui/stock-items.cpp:190 ../src/ui/stock-items.cpp:193 -#: ../src/ui/stock-items.cpp:194 ../src/ui/stock-items.cpp:197 -#: ../src/ui/stock-items.cpp:198 ../src/ui/stock-items.cpp:199 -#: ../src/ui/stock-items.cpp:200 ../src/ui/stock-items.cpp:201 -#: ../src/ui/view/edit-widget.cpp:343 ../src/ui/view/edit-widget.cpp:348 -#: ../src/ui/view/edit-widget.cpp:356 ../src/ui/view/edit-widget.cpp:361 -#: ../src/ui/view/edit-widget.cpp:366 ../src/ui/view/edit-widget.cpp:371 -#: ../src/ui/view/edit-widget.cpp:376 ../src/ui/view/edit-widget.cpp:381 -#: ../src/ui/view/edit-widget.cpp:394 ../src/ui/view/edit-widget.cpp:399 -#: ../src/ui/view/edit-widget.cpp:413 ../src/ui/view/edit-widget.cpp:417 -#: ../src/ui/view/edit-widget.cpp:421 ../src/ui/view/edit-widget.cpp:425 -#: ../src/ui/view/edit-widget.cpp:429 ../src/ui/view/edit-widget.cpp:433 -#: ../src/ui/view/edit-widget.cpp:447 ../src/ui/view/edit-widget.cpp:451 -#: ../src/ui/view/edit-widget.cpp:455 ../src/ui/view/edit-widget.cpp:486 -#: ../src/ui/view/edit-widget.cpp:495 ../src/ui/view/edit-widget.cpp:499 -#: ../src/ui/view/edit-widget.cpp:503 ../src/ui/view/edit-widget.cpp:507 -#: ../src/ui/view/edit-widget.cpp:511 ../src/ui/view/edit-widget.cpp:515 -#: ../src/ui/view/edit-widget.cpp:519 ../src/ui/view/edit-widget.cpp:523 -#: ../src/ui/view/edit-widget.cpp:527 ../src/ui/view/edit-widget.cpp:531 -#: ../src/ui/view/edit-widget.cpp:535 ../src/ui/view/edit-widget.cpp:632 -#: ../src/ui/view/edit-widget.cpp:644 ../src/ui/view/edit-widget.cpp:648 -#: ../src/ui/view/edit-widget.cpp:652 ../src/ui/view/edit-widget.cpp:656 -#: ../src/ui/view/edit-widget.cpp:660 ../src/ui/view/edit-widget.cpp:664 -#: ../src/ui/view/edit-widget.cpp:668 ../src/ui/view/edit-widget.cpp:672 -#: ../src/ui/view/edit-widget.cpp:676 ../src/ui/view/edit-widget.cpp:680 -#: ../src/ui/view/edit-widget.cpp:684 ../src/ui/view/edit-widget.cpp:688 -#: ../src/ui/view/edit-widget.cpp:692 ../src/ui/view/edit-widget.cpp:696 -#: ../src/ui/view/edit-widget.cpp:700 ../src/ui/view/edit-widget.cpp:704 -#: ../src/ui/view/edit-widget.cpp:709 ../src/ui/view/edit-widget.cpp:715 -#: ../src/ui/view/edit-widget.cpp:719 ../src/ui/view/edit-widget.cpp:769 -#: ../src/ui/view/edit-widget.cpp:774 ../src/ui/view/edit-widget.cpp:810 -#: ../src/ui/view/edit-widget.cpp:815 ../src/ui/view/edit-widget.cpp:820 -#: ../src/ui/view/edit-widget.cpp:824 ../src/ui/view/edit-widget.cpp:828 -#: ../src/ui/view/edit-widget.cpp:832 ../src/ui/view/edit-widget.cpp:836 -#: ../src/ui/view/edit-widget.cpp:840 ../src/ui/view/edit-widget.cpp:844 -#: ../src/ui/view/edit-widget.cpp:848 ../src/ui/view/edit-widget.cpp:852 -#: ../src/ui/view/edit-widget.cpp:856 ../src/ui/view/edit-widget.cpp:861 -#: ../src/ui/view/edit-widget.cpp:865 ../src/ui/view/edit-widget.cpp:869 -#: ../src/ui/view/edit-widget.cpp:873 ../src/ui/view/edit-widget.cpp:878 -#: ../src/ui/view/edit-widget.cpp:882 ../src/ui/view/edit-widget.cpp:886 -#: ../src/ui/view/edit-widget.cpp:890 ../src/ui/view/edit-widget.cpp:894 -#: ../src/ui/view/edit-widget.cpp:898 ../src/ui/view/edit-widget.cpp:902 -#: ../src/ui/view/edit-widget.cpp:906 ../src/ui/view/edit-widget.cpp:910 -#: ../src/ui/view/edit-widget.cpp:914 ../src/ui/view/edit-widget.cpp:918 +#: ../src/ui/stock-items.cpp:31 +#: ../src/ui/stock-items.cpp:32 +#: ../src/ui/stock-items.cpp:33 +#: ../src/ui/stock-items.cpp:34 +#: ../src/ui/stock-items.cpp:35 +#: ../src/ui/stock-items.cpp:36 +#: ../src/ui/stock-items.cpp:37 +#: ../src/ui/stock-items.cpp:38 +#: ../src/ui/stock-items.cpp:39 +#: ../src/ui/stock-items.cpp:40 +#: ../src/ui/stock-items.cpp:41 +#: ../src/ui/stock-items.cpp:42 +#: ../src/ui/stock-items.cpp:45 +#: ../src/ui/stock-items.cpp:46 +#: ../src/ui/stock-items.cpp:47 +#: ../src/ui/stock-items.cpp:48 +#: ../src/ui/stock-items.cpp:49 +#: ../src/ui/stock-items.cpp:50 +#: ../src/ui/stock-items.cpp:51 +#: ../src/ui/stock-items.cpp:52 +#: ../src/ui/stock-items.cpp:53 +#: ../src/ui/stock-items.cpp:54 +#: ../src/ui/stock-items.cpp:55 +#: ../src/ui/stock-items.cpp:56 +#: ../src/ui/stock-items.cpp:57 +#: ../src/ui/stock-items.cpp:58 +#: ../src/ui/stock-items.cpp:61 +#: ../src/ui/stock-items.cpp:62 +#: ../src/ui/stock-items.cpp:63 +#: ../src/ui/stock-items.cpp:64 +#: ../src/ui/stock-items.cpp:65 +#: ../src/ui/stock-items.cpp:66 +#: ../src/ui/stock-items.cpp:67 +#: ../src/ui/stock-items.cpp:68 +#: ../src/ui/stock-items.cpp:69 +#: ../src/ui/stock-items.cpp:70 +#: ../src/ui/stock-items.cpp:71 +#: ../src/ui/stock-items.cpp:72 +#: ../src/ui/stock-items.cpp:73 +#: ../src/ui/stock-items.cpp:74 +#: ../src/ui/stock-items.cpp:75 +#: ../src/ui/stock-items.cpp:76 +#: ../src/ui/stock-items.cpp:77 +#: ../src/ui/stock-items.cpp:78 +#: ../src/ui/stock-items.cpp:79 +#: ../src/ui/stock-items.cpp:80 +#: ../src/ui/stock-items.cpp:81 +#: ../src/ui/stock-items.cpp:82 +#: ../src/ui/stock-items.cpp:83 +#: ../src/ui/stock-items.cpp:84 +#: ../src/ui/stock-items.cpp:85 +#: ../src/ui/stock-items.cpp:86 +#: ../src/ui/stock-items.cpp:87 +#: ../src/ui/stock-items.cpp:88 +#: ../src/ui/stock-items.cpp:91 +#: ../src/ui/stock-items.cpp:92 +#: ../src/ui/stock-items.cpp:93 +#: ../src/ui/stock-items.cpp:94 +#: ../src/ui/stock-items.cpp:95 +#: ../src/ui/stock-items.cpp:96 +#: ../src/ui/stock-items.cpp:97 +#: ../src/ui/stock-items.cpp:98 +#: ../src/ui/stock-items.cpp:99 +#: ../src/ui/stock-items.cpp:100 +#: ../src/ui/stock-items.cpp:101 +#: ../src/ui/stock-items.cpp:102 +#: ../src/ui/stock-items.cpp:103 +#: ../src/ui/stock-items.cpp:104 +#: ../src/ui/stock-items.cpp:107 +#: ../src/ui/stock-items.cpp:108 +#: ../src/ui/stock-items.cpp:109 +#: ../src/ui/stock-items.cpp:110 +#: ../src/ui/stock-items.cpp:111 +#: ../src/ui/stock-items.cpp:112 +#: ../src/ui/stock-items.cpp:113 +#: ../src/ui/stock-items.cpp:114 +#: ../src/ui/stock-items.cpp:115 +#: ../src/ui/stock-items.cpp:116 +#: ../src/ui/stock-items.cpp:117 +#: ../src/ui/stock-items.cpp:118 +#: ../src/ui/stock-items.cpp:119 +#: ../src/ui/stock-items.cpp:120 +#: ../src/ui/stock-items.cpp:121 +#: ../src/ui/stock-items.cpp:122 +#: ../src/ui/stock-items.cpp:123 +#: ../src/ui/stock-items.cpp:124 +#: ../src/ui/stock-items.cpp:125 +#: ../src/ui/stock-items.cpp:126 +#: ../src/ui/stock-items.cpp:129 +#: ../src/ui/stock-items.cpp:130 +#: ../src/ui/stock-items.cpp:131 +#: ../src/ui/stock-items.cpp:132 +#: ../src/ui/stock-items.cpp:133 +#: ../src/ui/stock-items.cpp:134 +#: ../src/ui/stock-items.cpp:135 +#: ../src/ui/stock-items.cpp:136 +#: ../src/ui/stock-items.cpp:137 +#: ../src/ui/stock-items.cpp:138 +#: ../src/ui/stock-items.cpp:139 +#: ../src/ui/stock-items.cpp:140 +#: ../src/ui/stock-items.cpp:141 +#: ../src/ui/stock-items.cpp:142 +#: ../src/ui/stock-items.cpp:143 +#: ../src/ui/stock-items.cpp:144 +#: ../src/ui/stock-items.cpp:145 +#: ../src/ui/stock-items.cpp:149 +#: ../src/ui/stock-items.cpp:150 +#: ../src/ui/stock-items.cpp:151 +#: ../src/ui/stock-items.cpp:152 +#: ../src/ui/stock-items.cpp:155 +#: ../src/ui/stock-items.cpp:156 +#: ../src/ui/stock-items.cpp:157 +#: ../src/ui/stock-items.cpp:160 +#: ../src/ui/stock-items.cpp:161 +#: ../src/ui/stock-items.cpp:162 +#: ../src/ui/stock-items.cpp:163 +#: ../src/ui/stock-items.cpp:164 +#: ../src/ui/stock-items.cpp:165 +#: ../src/ui/stock-items.cpp:166 +#: ../src/ui/stock-items.cpp:167 +#: ../src/ui/stock-items.cpp:168 +#: ../src/ui/stock-items.cpp:169 +#: ../src/ui/stock-items.cpp:170 +#: ../src/ui/stock-items.cpp:171 +#: ../src/ui/stock-items.cpp:174 +#: ../src/ui/stock-items.cpp:175 +#: ../src/ui/stock-items.cpp:176 +#: ../src/ui/stock-items.cpp:177 +#: ../src/ui/stock-items.cpp:180 +#: ../src/ui/stock-items.cpp:181 +#: ../src/ui/stock-items.cpp:182 +#: ../src/ui/stock-items.cpp:183 +#: ../src/ui/stock-items.cpp:184 +#: ../src/ui/stock-items.cpp:185 +#: ../src/ui/stock-items.cpp:186 +#: ../src/ui/stock-items.cpp:187 +#: ../src/ui/stock-items.cpp:188 +#: ../src/ui/stock-items.cpp:189 +#: ../src/ui/stock-items.cpp:190 +#: ../src/ui/stock-items.cpp:193 +#: ../src/ui/stock-items.cpp:194 +#: ../src/ui/stock-items.cpp:197 +#: ../src/ui/stock-items.cpp:198 +#: ../src/ui/stock-items.cpp:199 +#: ../src/ui/stock-items.cpp:200 +#: ../src/ui/stock-items.cpp:201 +#: ../src/ui/view/edit-widget.cpp:343 +#: ../src/ui/view/edit-widget.cpp:348 +#: ../src/ui/view/edit-widget.cpp:356 +#: ../src/ui/view/edit-widget.cpp:361 +#: ../src/ui/view/edit-widget.cpp:366 +#: ../src/ui/view/edit-widget.cpp:371 +#: ../src/ui/view/edit-widget.cpp:376 +#: ../src/ui/view/edit-widget.cpp:381 +#: ../src/ui/view/edit-widget.cpp:394 +#: ../src/ui/view/edit-widget.cpp:399 +#: ../src/ui/view/edit-widget.cpp:413 +#: ../src/ui/view/edit-widget.cpp:417 +#: ../src/ui/view/edit-widget.cpp:421 +#: ../src/ui/view/edit-widget.cpp:425 +#: ../src/ui/view/edit-widget.cpp:429 +#: ../src/ui/view/edit-widget.cpp:433 +#: ../src/ui/view/edit-widget.cpp:447 +#: ../src/ui/view/edit-widget.cpp:451 +#: ../src/ui/view/edit-widget.cpp:455 +#: ../src/ui/view/edit-widget.cpp:486 +#: ../src/ui/view/edit-widget.cpp:495 +#: ../src/ui/view/edit-widget.cpp:499 +#: ../src/ui/view/edit-widget.cpp:503 +#: ../src/ui/view/edit-widget.cpp:507 +#: ../src/ui/view/edit-widget.cpp:511 +#: ../src/ui/view/edit-widget.cpp:515 +#: ../src/ui/view/edit-widget.cpp:519 +#: ../src/ui/view/edit-widget.cpp:523 +#: ../src/ui/view/edit-widget.cpp:527 +#: ../src/ui/view/edit-widget.cpp:531 +#: ../src/ui/view/edit-widget.cpp:535 +#: ../src/ui/view/edit-widget.cpp:632 +#: ../src/ui/view/edit-widget.cpp:644 +#: ../src/ui/view/edit-widget.cpp:648 +#: ../src/ui/view/edit-widget.cpp:652 +#: ../src/ui/view/edit-widget.cpp:656 +#: ../src/ui/view/edit-widget.cpp:660 +#: ../src/ui/view/edit-widget.cpp:664 +#: ../src/ui/view/edit-widget.cpp:668 +#: ../src/ui/view/edit-widget.cpp:672 +#: ../src/ui/view/edit-widget.cpp:676 +#: ../src/ui/view/edit-widget.cpp:680 +#: ../src/ui/view/edit-widget.cpp:684 +#: ../src/ui/view/edit-widget.cpp:688 +#: ../src/ui/view/edit-widget.cpp:692 +#: ../src/ui/view/edit-widget.cpp:696 +#: ../src/ui/view/edit-widget.cpp:700 +#: ../src/ui/view/edit-widget.cpp:704 +#: ../src/ui/view/edit-widget.cpp:709 +#: ../src/ui/view/edit-widget.cpp:715 +#: ../src/ui/view/edit-widget.cpp:719 +#: ../src/ui/view/edit-widget.cpp:769 +#: ../src/ui/view/edit-widget.cpp:774 +#: ../src/ui/view/edit-widget.cpp:810 +#: ../src/ui/view/edit-widget.cpp:815 +#: ../src/ui/view/edit-widget.cpp:820 +#: ../src/ui/view/edit-widget.cpp:824 +#: ../src/ui/view/edit-widget.cpp:828 +#: ../src/ui/view/edit-widget.cpp:832 +#: ../src/ui/view/edit-widget.cpp:836 +#: ../src/ui/view/edit-widget.cpp:840 +#: ../src/ui/view/edit-widget.cpp:844 +#: ../src/ui/view/edit-widget.cpp:848 +#: ../src/ui/view/edit-widget.cpp:852 +#: ../src/ui/view/edit-widget.cpp:856 +#: ../src/ui/view/edit-widget.cpp:861 +#: ../src/ui/view/edit-widget.cpp:865 +#: ../src/ui/view/edit-widget.cpp:869 +#: ../src/ui/view/edit-widget.cpp:873 +#: ../src/ui/view/edit-widget.cpp:878 +#: ../src/ui/view/edit-widget.cpp:882 +#: ../src/ui/view/edit-widget.cpp:886 +#: ../src/ui/view/edit-widget.cpp:890 +#: ../src/ui/view/edit-widget.cpp:894 +#: ../src/ui/view/edit-widget.cpp:898 +#: ../src/ui/view/edit-widget.cpp:902 +#: ../src/ui/view/edit-widget.cpp:906 +#: ../src/ui/view/edit-widget.cpp:910 +#: ../src/ui/view/edit-widget.cpp:914 +#: ../src/ui/view/edit-widget.cpp:918 #: ../src/ui/view/edit-widget.cpp:1003 msgid "PLACEHOLDER, do not translate" -msgstr "" +msgstr "PLACEHOLDER 번역하지 않음" -#: ../src/ui/view/edit-widget.cpp:1062 ../src/widgets/desktop-widget.cpp:381 +#: ../src/ui/view/edit-widget.cpp:1062 +#: ../src/widgets/desktop-widget.cpp:381 msgid "Zoom drawing if window size changes" -msgstr "만약 ì°½ 크기 가 바끼면 그림 확대" +msgstr "만약 ì°½ 크기가 바뀌면 그림 확대" -#: ../src/ui/view/edit-widget.cpp:1083 ../src/widgets/desktop-widget.cpp:510 +#: ../src/ui/view/edit-widget.cpp:1083 +#: ../src/widgets/desktop-widget.cpp:510 msgid "Cursor coordinates" -msgstr "" +msgstr "커서 좌표" #. display the initial welcome message in the statusbar -#: ../src/ui/view/edit-widget.cpp:1100 ../src/widgets/desktop-widget.cpp:558 -msgid "" -"Welcome to Inkscape! Use shape or freehand tools to create objects; " -"use selector (arrow) to move or transform them." -msgstr "" +#: ../src/ui/view/edit-widget.cpp:1100 +#: ../src/widgets/desktop-widget.cpp:558 +msgid "Welcome to Inkscape! Use shape or freehand tools to create objects; use selector (arrow) to move or transform them." +msgstr "Inkscape에 어서 오세요! 객체를 생성하기 위하여 모양이나 자유곡선을 사용하세요; 이들을 이동이나 변형하기 위하여 선택자(화살표)를 사용하세요." -#: ../src/ui/view/edit-widget.cpp:1211 ../src/widgets/desktop-widget.cpp:844 +#: ../src/ui/view/edit-widget.cpp:1211 +#: ../src/widgets/desktop-widget.cpp:844 #, c-format msgid "" -"Save changes to document \"%s\" before " -"closing?\n" +"Save changes to document \"%s\" before closing?\n" "\n" "If you close without saving, your changes will be discarded." msgstr "" +"닫기 전 \"%s\" 변경된 내용을 저장하시겠습니까?\n" +"\n" +"저장 없이 닫기를 하면, 변경된 내용이 무시됩니다." -#: ../src/ui/view/edit-widget.cpp:1222 ../src/ui/view/edit-widget.cpp:1269 -#: ../src/widgets/desktop-widget.cpp:851 ../src/widgets/desktop-widget.cpp:907 +#: ../src/ui/view/edit-widget.cpp:1222 +#: ../src/ui/view/edit-widget.cpp:1269 +#: ../src/widgets/desktop-widget.cpp:851 +#: ../src/widgets/desktop-widget.cpp:907 msgid "Close _without saving" -msgstr "" +msgstr "저장하지 않고 닫기(_W)" -#: ../src/ui/view/edit-widget.cpp:1257 ../src/widgets/desktop-widget.cpp:899 +#: ../src/ui/view/edit-widget.cpp:1257 +#: ../src/widgets/desktop-widget.cpp:899 #, c-format msgid "" -"The file \"%s\" was saved with a " -"format (%s) that may cause data loss!\n" +"The file \"%s\" was saved with a format (%s) that may cause data loss!\n" "\n" "Do you want to save this file as an Inkscape SVG?" msgstr "" -#: ../src/ui/view/edit-widget.cpp:1272 ../src/widgets/desktop-widget.cpp:910 +#: ../src/ui/view/edit-widget.cpp:1272 +#: ../src/widgets/desktop-widget.cpp:910 msgid "_Save as SVG" -msgstr "" +msgstr "SVG 저장(_S)" #: ../src/ui/widget/filter-effect-chooser.cpp:25 msgid "_Blend mode:" -msgstr "" +msgstr "혼합 모드:(_B)" #: ../src/ui/widget/filter-effect-chooser.cpp:26 -#, fuzzy msgid "B_lur:" -msgstr "파랑" +msgstr "흐림(_L)" #: ../src/ui/widget/licensor.cpp:35 msgid "Proprietary" -msgstr "" +msgstr "독점 소유" #: ../src/ui/widget/licensor.cpp:38 -#, fuzzy msgid "Other" -msgstr "미터" +msgstr "기타" #: ../src/ui/widget/object-composite-settings.cpp:51 #: ../src/ui/widget/selected-style.cpp:1031 #: ../src/ui/widget/selected-style.cpp:1032 -#, fuzzy msgid "Opacity, %" -msgstr "불투명도" +msgstr "불투명도, %" #: ../src/ui/widget/object-composite-settings.cpp:152 -#, fuzzy msgid "Change blur" -msgstr "속성 설정" +msgstr "흐림 변경" #: ../src/ui/widget/object-composite-settings.cpp:192 #: ../src/ui/widget/selected-style.cpp:855 #: ../src/ui/widget/selected-style.cpp:1149 -#, fuzzy msgid "Change opacity" -msgstr "주 투명도" +msgstr "불투명도 변경" #: ../src/ui/widget/page-sizer.cpp:190 msgid "U_nits:" -msgstr "" +msgstr "단위(_N):" #: ../src/ui/widget/page-sizer.cpp:191 msgid "Width of paper" -msgstr "" +msgstr "종이 폭" #: ../src/ui/widget/page-sizer.cpp:192 msgid "_Height:" -msgstr "" +msgstr "높이(_H):" #: ../src/ui/widget/page-sizer.cpp:192 msgid "Height of paper" -msgstr "" +msgstr "종이 높이" #: ../src/ui/widget/page-sizer.cpp:236 msgid "P_age size:" -msgstr "" +msgstr "페이지 크기(_A):" #: ../src/ui/widget/page-sizer.cpp:244 msgid "Page orientation:" -msgstr "" +msgstr "페이지 방향:" #: ../src/ui/widget/page-sizer.cpp:247 msgid "_Landscape" -msgstr "" +msgstr "가로방향(_L)" #: ../src/ui/widget/page-sizer.cpp:252 msgid "_Portrait" -msgstr "" +msgstr "세로방향(_P)" #. ## Set up custom size frame #: ../src/ui/widget/page-sizer.cpp:259 msgid "Custom size" -msgstr "" +msgstr "사용자 크기" #: ../src/ui/widget/page-sizer.cpp:272 msgid "_Fit page to selection" -msgstr "" +msgstr "페이지를 선택 크기로 조정(_F)" #: ../src/ui/widget/page-sizer.cpp:273 -msgid "" -"Resize the page to fit the current selection, or the entire drawing if there " -"is no selection" +msgid "Resize the page to fit the current selection, or the entire drawing if there is no selection" msgstr "" #: ../src/ui/widget/page-sizer.cpp:331 -#, fuzzy msgid "Set page size" -msgstr "도트 크기" +msgstr "페이지 크기 설정" #: ../src/ui/widget/panel.cpp:121 msgid "List" msgstr "목록" #: ../src/ui/widget/panel.cpp:144 -#, fuzzy msgid "swatches|Size" -msgstr "도트 크기" +msgstr "색상 막대| 높이" #: ../src/ui/widget/panel.cpp:148 msgid "tiny" -msgstr "" +msgstr "아주 작음" #: ../src/ui/widget/panel.cpp:149 msgid "small" -msgstr "" +msgstr "작음" #. TRANSLATORS: Translate only the word "medium". Indicates size of colour swatches #: ../src/ui/widget/panel.cpp:151 msgid "swatchesHeight|medium" -msgstr "" +msgstr "중간" #: ../src/ui/widget/panel.cpp:152 msgid "large" @@ -13033,105 +12162,83 @@ msgstr "아주 크게" #: ../src/ui/widget/panel.cpp:175 msgid "swatches|Width" -msgstr "" +msgstr "색상 막대| 폭" #: ../src/ui/widget/panel.cpp:179 -#, fuzzy msgid "narrower" -msgstr "노드를 아래도" +msgstr "아주 좁게" #: ../src/ui/widget/panel.cpp:180 msgid "narrow" -msgstr "" +msgstr "좁게" #. TRANSLATORS: Translate only the word "medium". Indicates width of colour swatches #: ../src/ui/widget/panel.cpp:182 msgid "swatchesWidth|medium" -msgstr "" +msgstr "중간" #: ../src/ui/widget/panel.cpp:183 -#, fuzzy msgid "wide" -msgstr "숨기기(_H)" +msgstr "넓게" #: ../src/ui/widget/panel.cpp:184 -#, fuzzy msgid "wider" -msgstr "숨기기(_H)" +msgstr "아주 넓게" #. TRANSLATORS: Translate only the word "Wrap". Indicates how colour swatches are displayed #: ../src/ui/widget/panel.cpp:215 msgid "swatches|Wrap" -msgstr "" +msgstr "색상 막대| 고정" #: ../src/ui/widget/preferences-widget.cpp:278 -#, fuzzy msgid "Reset" -msgstr " 리셋(_e) " +msgstr "초기화" #: ../src/ui/widget/random.cpp:123 -msgid "" -"Reseed the random number generator; this creates a different sequence of " -"random numbers." -msgstr "" +msgid "Reseed the random number generator; this creates a different sequence of random numbers." +msgstr "임의 숫자 생성기 재작동" #: ../src/ui/widget/rendering-options.cpp:39 -#, fuzzy msgid "Backend" -msgstr "파랑" +msgstr "후미" #: ../src/ui/widget/rendering-options.cpp:40 -#, fuzzy msgid "Vector" -msgstr "선택자" +msgstr "벡터" #: ../src/ui/widget/rendering-options.cpp:41 msgid "Bitmap" -msgstr "" +msgstr "비트맵" #: ../src/ui/widget/rendering-options.cpp:42 msgid "Bitmap options" -msgstr "" +msgstr "비트맵 설정" #: ../src/ui/widget/rendering-options.cpp:44 msgid "Preferred resolution of rendering, in dots per inch." -msgstr "" +msgstr "렌더링 설정 해상도" #: ../src/ui/widget/rendering-options.cpp:52 -#, fuzzy -msgid "" -"Render using Cairo vector operations. The resulting image is usually " -"smaller in file size and can be arbitrarily scaled, but some filter effects " -"will not be correctly rendered." -msgstr "" -"PDF 백터 요소 사용. 이미지가 자유롭게 축소 확대 할수 있으면서 크기는 될것이지" -"만 패턴은 없어질것임." +msgid "Render using Cairo vector operations. The resulting image is usually smaller in file size and can be arbitrarily scaled, but some filter effects will not be correctly rendered." +msgstr "카이로 벡터 작동방식으로 렌더. 출력 이미지는 약간 파일 크기보다 작고 임의 비율이 될 것임. 그리고 몇몇 필터 효과는 정확히 렌더되지 않을 것임." #: ../src/ui/widget/rendering-options.cpp:57 -#, fuzzy -msgid "" -"Render everything as bitmap. The resulting image is usually larger in file " -"size and cannot be arbitrarily scaled without quality loss, but all objects " -"will be rendered exactly as displayed." -msgstr "" -"PDF 백터 요소 사용. 이미지가 자유롭게 축소 확대 할수 있으면서 크기는 될것이지" -"만 패턴은 없어질것임." +msgid "Render everything as bitmap. The resulting image is usually larger in file size and cannot be arbitrarily scaled without quality loss, but all objects will be rendered exactly as displayed." +msgstr "비트맵으로 모든 것을 렌더. 출력이미지는 보통보다 파일크기가 더 클 것이며 질의 손실없이 임의대로 비율이 달라지지 않음, 그러나 전체 객체는 보이는 그대로 정확히 렌더될 것임" #: ../src/ui/widget/selected-style.cpp:106 #: ../src/ui/widget/style-swatch.cpp:110 -#, fuzzy msgid "Fill:" -msgstr "채움" +msgstr "채움:" #: ../src/ui/widget/selected-style.cpp:107 #: ../src/ui/widget/style-swatch.cpp:111 -#, fuzzy msgid "Stroke:" -msgstr "상태:" +msgstr "윤곽선:" #: ../src/ui/widget/selected-style.cpp:108 msgid "O:" -msgstr "O:" +msgstr "불투명도:" #: ../src/ui/widget/selected-style.cpp:150 msgid "N/A" @@ -13141,136 +12248,134 @@ msgstr "없음" #: ../src/ui/widget/selected-style.cpp:1024 #: ../src/ui/widget/selected-style.cpp:1025 msgid "Nothing selected" -msgstr "아무것도 선택 되지 않음" +msgstr "선택 없음" #: ../src/ui/widget/selected-style.cpp:155 #: ../src/ui/widget/style-swatch.cpp:328 -#, fuzzy msgid "None" -msgstr "선" +msgstr "없음" #: ../src/ui/widget/selected-style.cpp:158 #: ../src/ui/widget/style-swatch.cpp:330 msgid "No fill" -msgstr "채우지 않음" +msgstr "채움 없음" #: ../src/ui/widget/selected-style.cpp:158 #: ../src/ui/widget/style-swatch.cpp:330 msgid "No stroke" -msgstr "" +msgstr "윤곽선 없음" #: ../src/ui/widget/selected-style.cpp:160 -#: ../src/ui/widget/style-swatch.cpp:309 ../src/widgets/paint-selector.cpp:189 +#: ../src/ui/widget/style-swatch.cpp:309 +#: ../src/widgets/paint-selector.cpp:189 msgid "Pattern" -msgstr "반복무늬" +msgstr "패턴" #: ../src/ui/widget/selected-style.cpp:163 -#: ../src/ui/widget/style-swatch.cpp:311 ../src/widgets/paint-selector.cpp:997 +#: ../src/ui/widget/style-swatch.cpp:311 +#: ../src/widgets/paint-selector.cpp:997 msgid "Pattern fill" -msgstr "반복 무늬 채움" +msgstr "패턴 채움" #: ../src/ui/widget/selected-style.cpp:163 #: ../src/ui/widget/style-swatch.cpp:311 msgid "Pattern stroke" -msgstr "" +msgstr "패턴 윤곽선" #: ../src/ui/widget/selected-style.cpp:165 -#, fuzzy msgid "L" -msgstr "L:" +msgstr "선형:" #: ../src/ui/widget/selected-style.cpp:168 #: ../src/ui/widget/style-swatch.cpp:303 msgid "Linear gradient fill" -msgstr "" +msgstr "선형 그라디언트 채움" #: ../src/ui/widget/selected-style.cpp:168 #: ../src/ui/widget/style-swatch.cpp:303 msgid "Linear gradient stroke" -msgstr "" +msgstr "선형 그라디언트 윤곽선" #: ../src/ui/widget/selected-style.cpp:175 -#, fuzzy msgid "R" -msgstr "H:" +msgstr "방사:" #: ../src/ui/widget/selected-style.cpp:178 #: ../src/ui/widget/style-swatch.cpp:307 msgid "Radial gradient fill" -msgstr "" +msgstr "방사 그라디언트 채움" #: ../src/ui/widget/selected-style.cpp:178 #: ../src/ui/widget/style-swatch.cpp:307 msgid "Radial gradient stroke" -msgstr "" +msgstr "방사 그라디언트 윤곽선" #: ../src/ui/widget/selected-style.cpp:185 msgid "Different" -msgstr "다름" +msgstr "차별" #: ../src/ui/widget/selected-style.cpp:188 msgid "Different fills" -msgstr "다른 채움" +msgstr "차별채움" #: ../src/ui/widget/selected-style.cpp:188 msgid "Different strokes" -msgstr "" +msgstr "차별 윤곽선" #: ../src/ui/widget/selected-style.cpp:190 #: ../src/ui/widget/style-swatch.cpp:333 -#, fuzzy msgid "Unset" -msgstr "선" +msgstr "설정 안함" #: ../src/ui/widget/selected-style.cpp:196 msgid "Flat color fill" -msgstr "" +msgstr "평면 색상 채움" #: ../src/ui/widget/selected-style.cpp:196 msgid "Flat color stroke" -msgstr "" +msgstr "평면 색상 윤곽선" #. TRANSLATOR COMMENT: A means "Averaged" #: ../src/ui/widget/selected-style.cpp:199 msgid "a" -msgstr "" +msgstr "평균" #: ../src/ui/widget/selected-style.cpp:202 msgid "Fill is averaged over selected objects" -msgstr "" +msgstr "채움을 선택 객체 평균으로 함" #: ../src/ui/widget/selected-style.cpp:202 msgid "Stroke is averaged over selected objects" -msgstr "" +msgstr "윤곽선를 선택 객체 평균으로 함" #. TRANSLATOR COMMENT: M means "Multiple" #: ../src/ui/widget/selected-style.cpp:205 msgid "m" -msgstr "" +msgstr "다수" #: ../src/ui/widget/selected-style.cpp:208 msgid "Multiple selected objects have the same fill" -msgstr "" +msgstr "다수 선택 객체가 동일 채움을 가짐" #: ../src/ui/widget/selected-style.cpp:208 msgid "Multiple selected objects have the same stroke" -msgstr "" +msgstr "다수 선택 객체가 동일 윤곽선를 가짐" #: ../src/ui/widget/selected-style.cpp:210 msgid "Edit fill..." -msgstr "" +msgstr "채움 편집..." #: ../src/ui/widget/selected-style.cpp:210 msgid "Edit stroke..." -msgstr "" +msgstr "윤곽선 편집..." #: ../src/ui/widget/selected-style.cpp:214 msgid "Last set color" -msgstr "" +msgstr "마지막 설정 색상" #: ../src/ui/widget/selected-style.cpp:218 msgid "Last selected color" -msgstr "" +msgstr "마지막 선택된 색상" #: ../src/ui/widget/selected-style.cpp:222 msgid "Invert" @@ -13278,37 +12383,37 @@ msgstr "반전" #: ../src/ui/widget/selected-style.cpp:226 msgid "White" -msgstr "백색" +msgstr "흰색" #: ../src/ui/widget/selected-style.cpp:230 #: ../src/widgets/sp-color-icc-selector.cpp:237 #: ../src/widgets/sp-color-scales.cpp:461 #: ../src/widgets/sp-color-scales.cpp:462 msgid "Black" -msgstr "검정색" +msgstr "검은색" #: ../src/ui/widget/selected-style.cpp:234 msgid "Copy color" -msgstr "색 복사" +msgstr "색상 복사" #: ../src/ui/widget/selected-style.cpp:238 msgid "Paste color" -msgstr "색 붙이기" +msgstr "색상 붙여넣기" #: ../src/ui/widget/selected-style.cpp:242 #: ../src/ui/widget/selected-style.cpp:780 msgid "Swap fill and stroke" -msgstr "" +msgstr "채움과 윤곽선 치환" #: ../src/ui/widget/selected-style.cpp:246 #: ../src/ui/widget/selected-style.cpp:522 #: ../src/ui/widget/selected-style.cpp:531 msgid "Make fill opaque" -msgstr "" +msgstr "채움을 불투명으로 함" #: ../src/ui/widget/selected-style.cpp:246 msgid "Make stroke opaque" -msgstr "" +msgstr "윤곽선를 불투명으로 함" #: ../src/ui/widget/selected-style.cpp:308 msgid "Remove" @@ -13316,356 +12421,323 @@ msgstr "제거" #: ../src/ui/widget/selected-style.cpp:543 msgid "Apply last set color to fill" -msgstr "" +msgstr "마지막 설정 색상을 채움으로 적용" #: ../src/ui/widget/selected-style.cpp:555 msgid "Apply last set color to stroke" -msgstr "" +msgstr "마지막 설정 색상을 윤곽선로 적용" #: ../src/ui/widget/selected-style.cpp:566 msgid "Apply last selected color to fill" -msgstr "" +msgstr "마지막 설정 색상을 채움으로 적용" #: ../src/ui/widget/selected-style.cpp:577 msgid "Apply last selected color to stroke" -msgstr "" +msgstr "마지막 선택 색상을 윤곽선로 적용" #: ../src/ui/widget/selected-style.cpp:597 -#, fuzzy msgid "Invert fill" -msgstr "반전" +msgstr "채움 반전" #: ../src/ui/widget/selected-style.cpp:617 -#, fuzzy msgid "Invert stroke" -msgstr "반전" +msgstr "윤곽선 반전" #: ../src/ui/widget/selected-style.cpp:629 -#, fuzzy msgid "White fill" -msgstr "백색" +msgstr "흰색 채움" #: ../src/ui/widget/selected-style.cpp:641 msgid "White stroke" -msgstr "" +msgstr "흰색 윤곽선" #: ../src/ui/widget/selected-style.cpp:653 -#, fuzzy msgid "Black fill" -msgstr "검정색" +msgstr "검은색 채움" #: ../src/ui/widget/selected-style.cpp:665 msgid "Black stroke" -msgstr "" +msgstr "검은색 윤곽선" #: ../src/ui/widget/selected-style.cpp:708 -#, fuzzy msgid "Paste fill" -msgstr "반복 무늬 채움" +msgstr "채움 붙여넣기" #: ../src/ui/widget/selected-style.cpp:726 -#, fuzzy msgid "Paste stroke" -msgstr "불이기 종류(_S)" +msgstr "윤곽선 붙여넣기" #: ../src/ui/widget/selected-style.cpp:890 -#, fuzzy msgid "Change stroke width" -msgstr "글자를 곡선으로 변환" +msgstr "윤곽선 폭 변경" #: ../src/ui/widget/selected-style.cpp:985 msgid ", drag to adjust" -msgstr "" +msgstr ", 조정하기 위하여 끌기" #: ../src/ui/widget/selected-style.cpp:1066 #, c-format msgid "Stroke width: %.5g%s%s" -msgstr "" +msgstr "윤곽선 폭: %.5g%s%s" #: ../src/ui/widget/selected-style.cpp:1070 msgid " (averaged)" -msgstr "" +msgstr " (평균)" #: ../src/ui/widget/selected-style.cpp:1098 msgid "0 (transparent)" -msgstr "" +msgstr "0 (투명)" #: ../src/ui/widget/selected-style.cpp:1122 msgid "100% (opaque)" -msgstr "" +msgstr "100% (불투명)" #: ../src/ui/widget/selected-style.cpp:1271 -#, fuzzy msgid "Adjust saturation" -msgstr "채도" +msgstr "채도 조정" #: ../src/ui/widget/selected-style.cpp:1273 #, c-format -msgid "" -"Adjusting saturation: was %.3g, now %.3g (diff %.3g); with " -"Ctrl to adjust lightness, without modifiers to adjust hue" -msgstr "" +msgid "Adjusting saturation: was %.3g, now %.3g (diff %.3g); with Ctrl to adjust lightness, without modifiers to adjust hue" +msgstr "채도 조정: %.3g, 현재 %.3g (ì°¨:%.3g) , Ctrl: 색조 조정 없이 명도 조정" #: ../src/ui/widget/selected-style.cpp:1277 -#, fuzzy msgid "Adjust lightness" -msgstr "명도" +msgstr "명도 조정" #: ../src/ui/widget/selected-style.cpp:1279 #, c-format -msgid "" -"Adjusting lightness: was %.3g, now %.3g (diff %.3g); with " -"Shift to adjust saturation, without modifiers to adjust hue" -msgstr "" +msgid "Adjusting lightness: was %.3g, now %.3g (diff %.3g); with Shift to adjust saturation, without modifiers to adjust hue" +msgstr "명도 조정: %.3g 현재 %.3g (ì°¨ %.3g); 색조 조정없이 채도를 조정하기 위하여 Shift" #: ../src/ui/widget/selected-style.cpp:1283 msgid "Adjust hue" -msgstr "" +msgstr "색조 조정" #: ../src/ui/widget/selected-style.cpp:1285 #, c-format -msgid "" -"Adjusting hue: was %.3g, now %.3g (diff %.3g); with Shift to adjust saturation, with Ctrl to adjust lightness" -msgstr "" +msgid "Adjusting hue: was %.3g, now %.3g (diff %.3g); with Shift to adjust saturation, with Ctrl to adjust lightness" +msgstr "색조 조정: %.3g, 현재 %.3g (ì°¨ %.3g), Shift: 채도 조정, Ctrl: 명도 조정" #: ../src/ui/widget/selected-style.cpp:1391 #: ../src/ui/widget/selected-style.cpp:1405 -#, fuzzy msgid "Adjust stroke width" -msgstr "글자를 곡선으로 변환" +msgstr "윤곽선 폭 조정" #: ../src/ui/widget/selected-style.cpp:1392 #, c-format msgid "Adjusting stroke width: was %.3g, now %.3g (diff %.3g)" -msgstr "" +msgstr "윤곽선 폭 조정: %.3g, 현재 %.3g (ì°¨ %.3g)" #. TRANSLATORS: Only translate the word "Link" - means to _link_ two sliders together #: ../src/ui/widget/spin-slider.cpp:118 msgid "sliders|Link" -msgstr "" +msgstr "슬라이더|링크" #: ../src/ui/widget/style-swatch.cpp:301 msgid "L Gradient" -msgstr "" +msgstr "L 그라디언트" #: ../src/ui/widget/style-swatch.cpp:305 msgid "R Gradient" -msgstr "" +msgstr "R 그라디언트" #: ../src/ui/widget/style-swatch.cpp:321 #, c-format msgid "Fill: %06x/%.3g" -msgstr "" +msgstr "채움: %06x/%.3g" #: ../src/ui/widget/style-swatch.cpp:323 #, c-format msgid "Stroke: %06x/%.3g" -msgstr "" +msgstr "윤곽선: %06x/%.3g" #: ../src/ui/widget/style-swatch.cpp:355 #, c-format msgid "Stroke width: %.5g%s" -msgstr "" +msgstr "윤곽선 폭: %.5g%s" #: ../src/ui/widget/style-swatch.cpp:371 #, c-format msgid "O:%.3g" -msgstr "" +msgstr "불투명도:%.3g" #: ../src/ui/widget/style-swatch.cpp:373 #, c-format msgid "O:.%d" -msgstr "" +msgstr "불투명도:.%d" #: ../src/ui/widget/style-swatch.cpp:378 #, c-format msgid "Opacity: %.3g" -msgstr "" +msgstr "불투명도: %.3g" #: ../src/vanishing-point.cpp:124 msgid "Split vanishing points" -msgstr "" +msgstr "소멸 점 나누기" #: ../src/vanishing-point.cpp:169 msgid "Merge vanishing points" -msgstr "" +msgstr "소멸 점 병합" #: ../src/vanishing-point.cpp:225 msgid "3D box: Move vanishing point" -msgstr "" +msgstr "3D 상자: 소멸 점 이동" #: ../src/vanishing-point.cpp:306 #, c-format msgid "Finite vanishing point shared by %d box" -msgid_plural "" -"Finite vanishing point shared by %d boxes; drag with Shift to separate selected box(es)" +msgid_plural "Finite vanishing point shared by %d boxes; drag with Shift to separate selected box(es)" msgstr[0] "" msgstr[1] "" #. This won't make sense any more when infinite VPs are not shown on the canvas, #. but currently we update the status message anyway #: ../src/vanishing-point.cpp:313 -#, c-format msgid "Infinite vanishing point shared by %d box" -msgid_plural "" -"Infinite vanishing point shared by %d boxes; drag with " -"Shift to separate selected box(es)" +msgid_plural "Infinite vanishing point shared by %d boxes; drag with Shift to separate selected box(es)" msgstr[0] "" msgstr[1] "" #: ../src/vanishing-point.cpp:321 #, c-format -msgid "" -"shared by %d box; drag with Shift to separate selected box(es)" -msgid_plural "" -"shared by %d boxes; drag with Shift to separate selected box" -"(es)" -msgstr[0] "" -msgstr[1] "" +msgid "shared by %d box; drag with Shift to separate selected box(es)" +msgstr "%d 상자에 의해 공유; Shift: 선택 상자 분리" #: ../src/verbs.cpp:1134 -#, fuzzy msgid "Switch to next layer" -msgstr "이름바뀐 레이어" +msgstr "다음 레이어로 전환" #: ../src/verbs.cpp:1135 -#, fuzzy msgid "Switched to next layer." -msgstr "이름바뀐 레이어" +msgstr "다음 레이어로 전환" #: ../src/verbs.cpp:1137 msgid "Cannot go past last layer." -msgstr "" +msgstr "마지막 레이어로 뒤로 이동할 수 없음." #: ../src/verbs.cpp:1146 -#, fuzzy msgid "Switch to previous layer" -msgstr "이전 문서 창으로 전환하기" +msgstr "이전 레이어로 전환" #: ../src/verbs.cpp:1147 -#, fuzzy msgid "Switched to previous layer." -msgstr "이전 문서 창으로 전환하기" +msgstr "이전 레이어로 전환" #: ../src/verbs.cpp:1149 msgid "Cannot go before first layer." -msgstr "" +msgstr "첫 레이어 앞으로 이동할 수 없음" -#: ../src/verbs.cpp:1166 ../src/verbs.cpp:1250 +#: ../src/verbs.cpp:1166 +#: ../src/verbs.cpp:1250 msgid "No current layer." -msgstr "" +msgstr "현재 레이어 없음." -#: ../src/verbs.cpp:1195 ../src/verbs.cpp:1199 +#: ../src/verbs.cpp:1195 +#: ../src/verbs.cpp:1199 #, c-format msgid "Raised layer %s." -msgstr "" +msgstr "한 단계 올린 레이어 %s. " #: ../src/verbs.cpp:1196 -#, fuzzy msgid "Layer to top" -msgstr "노드 올리기" +msgstr "레이어를 최상단으로" #: ../src/verbs.cpp:1200 -#, fuzzy msgid "Raise layer" -msgstr "레이어 이름변경" +msgstr "레이어 한 단계 올리기" -#: ../src/verbs.cpp:1203 ../src/verbs.cpp:1207 +#: ../src/verbs.cpp:1203 +#: ../src/verbs.cpp:1207 #, c-format msgid "Lowered layer %s." -msgstr "" +msgstr "한 단계 내린 레이어 %s." #: ../src/verbs.cpp:1204 -#, fuzzy msgid "Layer to bottom" -msgstr "노드 올리기" +msgstr "레이어를 최하단으로" #: ../src/verbs.cpp:1208 -#, fuzzy msgid "Lower layer" -msgstr "노드를 아래도" +msgstr "레이어 한 단계 내리기" #: ../src/verbs.cpp:1217 msgid "Cannot move layer any further." -msgstr "" +msgstr "더 이상 이동할 레이어가 없음" #: ../src/verbs.cpp:1245 -#, fuzzy msgid "Delete layer" -msgstr "삭제(_D)" +msgstr "레이어 삭제" #. TRANSLATORS: this means "The layer has been deleted." #: ../src/verbs.cpp:1248 msgid "Deleted layer." -msgstr "" +msgstr "삭제된 레이어." #: ../src/verbs.cpp:1330 -#, fuzzy msgid "Flip horizontally" -msgstr "수평(_H)" +msgstr "수평방향 거꾸로" #: ../src/verbs.cpp:1345 msgid "Flip vertically" -msgstr "" +msgstr "수직방향 거꾸로" #. TRANSLATORS: If you have translated the tutorial-basic.svg file to your language, #. then translate this string as "tutorial-basic.LANG.svg" (where LANG is your language #. code); otherwise leave as "tutorial-basic.svg". #: ../src/verbs.cpp:1829 msgid "tutorial-basic.svg" -msgstr "tutorial-basic.svg" +msgstr "지침서-기본.svg" #. TRANSLATORS: See "tutorial-basic.svg" comment. #: ../src/verbs.cpp:1833 msgid "tutorial-shapes.svg" -msgstr "tutorial-shapes.svg" +msgstr "지침서-모양.svg" #. TRANSLATORS: See "tutorial-basic.svg" comment. #: ../src/verbs.cpp:1837 msgid "tutorial-advanced.svg" -msgstr "tutorial-advanced.svg" +msgstr "지침서-고급.svg" #. TRANSLATORS: See "tutorial-basic.svg" comment. #: ../src/verbs.cpp:1841 msgid "tutorial-tracing.svg" -msgstr "tutorial-tracing.svg" +msgstr "지침서-따오기(복사).svg" #. TRANSLATORS: See "tutorial-basic.svg" comment. #: ../src/verbs.cpp:1845 msgid "tutorial-calligraphy.svg" -msgstr "tutorial-calligraphy.svg" +msgstr "지침서-글씨체.svg" #. TRANSLATORS: See "tutorial-basic.svg" comment. #: ../src/verbs.cpp:1849 msgid "tutorial-elements.svg" -msgstr "tutorial-elements.svg" +msgstr "지침서-요소.svg" #. TRANSLATORS: See "tutorial-basic.svg" comment. #: ../src/verbs.cpp:1853 msgid "tutorial-tips.svg" -msgstr "tutorial-tips.svg" +msgstr "지침서-도구설명.svg" -#: ../src/verbs.cpp:2129 ../src/verbs.cpp:2634 -#, fuzzy +#: ../src/verbs.cpp:2129 +#: ../src/verbs.cpp:2634 msgid "Unlock all objects in the current layer" -msgstr "현재 레이어에서 만 찾기" +msgstr "현재 레이어에서 전체 객체 잠금 해제" -#: ../src/verbs.cpp:2133 ../src/verbs.cpp:2636 -#, fuzzy +#: ../src/verbs.cpp:2133 +#: ../src/verbs.cpp:2636 msgid "Unlock all objects in all layers" -msgstr "모든 레이어 선택" +msgstr "전체 레이어에서 전체 객체 잠금 해제" -#: ../src/verbs.cpp:2137 ../src/verbs.cpp:2638 -#, fuzzy +#: ../src/verbs.cpp:2137 +#: ../src/verbs.cpp:2638 msgid "Unhide all objects in the current layer" -msgstr "현재 레이어에서 만 찾기" +msgstr "현재 레이어에서 전체 객체 보이기" -#: ../src/verbs.cpp:2141 ../src/verbs.cpp:2640 -#, fuzzy +#: ../src/verbs.cpp:2141 +#: ../src/verbs.cpp:2640 msgid "Unhide all objects in all layers" -msgstr "모든 레이어 선택" +msgstr "전체 레이어에서 전체 객체 보이기" #: ../src/verbs.cpp:2156 msgid "Does nothing" @@ -13673,11 +12745,11 @@ msgstr "아무 작업도 하지 않음" #: ../src/verbs.cpp:2159 msgid "Create new document from the default template" -msgstr "기본 템플릿 바탕으로 새로운 문서를 생성" +msgstr "기본 서식에서 새 문서 생성" #: ../src/verbs.cpp:2161 msgid "_Open..." -msgstr "열기(_O).." +msgstr "열기(_O)..." #: ../src/verbs.cpp:2162 msgid "Open an existing document" @@ -13685,11 +12757,11 @@ msgstr "기존 문서 열기" #: ../src/verbs.cpp:2163 msgid "Re_vert" -msgstr "되돌리기(_v)" +msgstr "되돌리기(_V)" #: ../src/verbs.cpp:2164 msgid "Revert to the last saved version of document (changes will be lost)" -msgstr "마지막 저장한 문서로 되돌리기 (변경 작업등 을 잃어 버립니다)" +msgstr "마지막 저장된 문서로 되돌리기 (변경 내용을 잃어 버립니다)" #: ../src/verbs.cpp:2165 msgid "_Save" @@ -13701,48 +12773,44 @@ msgstr "문서 저장" #: ../src/verbs.cpp:2167 msgid "Save _As..." -msgstr "다른이름으로 저장..." +msgstr "다른 이름으로 저장(_A)..." #: ../src/verbs.cpp:2168 msgid "Save document under a new name" -msgstr "새로운 이름으로 문서 저장" +msgstr "새 이름으로 문서 저장" #: ../src/verbs.cpp:2169 -#, fuzzy msgid "Save a Cop_y..." -msgstr "다른이름으로 저장..." +msgstr "사본 저장(_Y)..." #: ../src/verbs.cpp:2170 -#, fuzzy msgid "Save a copy of the document under a new name" msgstr "새로운 이름으로 문서 저장" #: ../src/verbs.cpp:2171 msgid "_Print..." -msgstr "출력(_P)..." +msgstr "인쇄(_P)..." #: ../src/verbs.cpp:2171 msgid "Print document" -msgstr "문서 출력" +msgstr "문서 인쇄" #. TRANSLATORS: "Vacuum Defs" means "Clean up defs" (so as to remove unused definitions) #: ../src/verbs.cpp:2174 msgid "Vac_uum Defs" -msgstr "연계성 청소" +msgstr "미사용 정의값 제거" #: ../src/verbs.cpp:2174 -msgid "" -"Remove unused definitions (such as gradients or clipping paths) from the <" -"defs> of the document" -msgstr "" +msgid "Remove unused definitions (such as gradients or clipping paths) from the <defs> of the document" +msgstr "그라디언트 또는 경로 잘라내기등 사용하지 않는 정의 값 제거" #: ../src/verbs.cpp:2176 msgid "Print Previe_w" -msgstr "" +msgstr "인쇄 미리보기(_W)" #: ../src/verbs.cpp:2177 msgid "Preview document printout" -msgstr "" +msgstr "문서 출력물 미리보기 " #: ../src/verbs.cpp:2178 msgid "_Import..." @@ -13754,7 +12822,7 @@ msgstr "비트맵 이미지나 SVG 이미지를 이 문서로 불러오기" #: ../src/verbs.cpp:2180 msgid "_Export Bitmap..." -msgstr "비트맵 으로 내보내기(_E)..." +msgstr "비트맵으로 내보내기(_E)..." #: ../src/verbs.cpp:2181 msgid "Export this document or a selection as a bitmap image" @@ -13762,40 +12830,39 @@ msgstr "이 문서나 선택 영역을 비트맵으로 내보내기" #: ../src/verbs.cpp:2182 msgid "Import a document from Open Clip Art Library" -msgstr "" +msgstr "Open Clip Art 라이브러리 문서를 읽어오기" #: ../src/verbs.cpp:2183 msgid "Export To Open Clip Art Library" -msgstr "" +msgstr "Open Clip Art 라이브러리로 내보내기" #: ../src/verbs.cpp:2183 -#, fuzzy msgid "Export this document to Open Clip Art Library" -msgstr "이 문서나 선택 영역을 비트맵으로 내보내기" +msgstr "이 문서를 Open Clip Art 라이브러리로 내보내기" #: ../src/verbs.cpp:2184 msgid "N_ext Window" -msgstr "다음 ì°½(_e)" +msgstr "다음 ì°½(_E)" #: ../src/verbs.cpp:2185 msgid "Switch to the next document window" -msgstr "다음 문서 창으로 전환하기" +msgstr "다음 문서 창으로 전환" #: ../src/verbs.cpp:2186 msgid "P_revious Window" -msgstr "이전 ì°½(_r)" +msgstr "이전 ì°½(_R)" #: ../src/verbs.cpp:2187 msgid "Switch to the previous document window" -msgstr "이전 문서 창으로 전환하기" +msgstr "이전 문서 창으로 전환" #: ../src/verbs.cpp:2188 msgid "_Close" -msgstr "닫기(_C)" +msgstr "(_C)닫기" #: ../src/verbs.cpp:2189 msgid "Close this document window" -msgstr "이 문서창을 닫기" +msgstr "문서창 닫기" #: ../src/verbs.cpp:2190 msgid "_Quit" @@ -13803,23 +12870,23 @@ msgstr "종료(_Q)" #: ../src/verbs.cpp:2190 msgid "Quit Inkscape" -msgstr "잉크스케이프 종료" +msgstr "Inkscape 종료" #: ../src/verbs.cpp:2193 msgid "Undo last action" -msgstr "마지막 작업을 되돌림" +msgstr "마지막 작업 되돌림" #: ../src/verbs.cpp:2196 msgid "Do again the last undone action" -msgstr "마지막 되돌리기 한 것을 원래도 돌리기" +msgstr "마지막 되돌리기 작업 재실행" #: ../src/verbs.cpp:2197 msgid "Cu_t" -msgstr "잘라내기(_t)" +msgstr "잘라내기(_T)" #: ../src/verbs.cpp:2198 msgid "Cut selection to clipboard" -msgstr "선택된부분을 잘라서 클립보드에 보관" +msgstr "선택을 클립보드로 잘라내기" #: ../src/verbs.cpp:2199 msgid "_Copy" @@ -13827,109 +12894,99 @@ msgstr "복사(_C)" #: ../src/verbs.cpp:2200 msgid "Copy selection to clipboard" -msgstr "선택부분을 복사해서 클립보드로 보관" +msgstr "선택을 클립보드로 복사" #: ../src/verbs.cpp:2201 msgid "_Paste" -msgstr "붙이기(_P)" +msgstr "붙여넣기(_P)" #: ../src/verbs.cpp:2202 msgid "Paste objects from clipboard to mouse point, or paste text" -msgstr "클립보드에서 마우스 포인트가 있는곳에 객채를 붙이기, 또는 문자 붙이기" +msgstr "클립보드부터 마우스 포인트로 객체를 붙여넣기, 또는 문자열 붙여넣기" #: ../src/verbs.cpp:2203 msgid "Paste _Style" -msgstr "불이기 종류(_S)" +msgstr "스타일 붙여넣기(_S)" #: ../src/verbs.cpp:2204 msgid "Apply the style of the copied object to selection" -msgstr "" +msgstr "복사 객체의 스타일을 선택에 적용" #: ../src/verbs.cpp:2206 msgid "Scale selection to match the size of the copied object" -msgstr "" +msgstr "복사 객체의 크기를 일치시키기 위하여 선택을 변경" #: ../src/verbs.cpp:2207 msgid "Paste _Width" -msgstr "" +msgstr "폭으로 붙여넣기(_W)" #: ../src/verbs.cpp:2208 msgid "Scale selection horizontally to match the width of the copied object" -msgstr "" +msgstr "복사 객체의 폭에 일치시키기 위하여 수평방향 선택을 변경" #: ../src/verbs.cpp:2209 msgid "Paste _Height" -msgstr "" +msgstr "높이로 붙여넣기(_H)" #: ../src/verbs.cpp:2210 msgid "Scale selection vertically to match the height of the copied object" -msgstr "" +msgstr "복사 객체의 높이에 일치시키기 위하여 수직방향 선택을 변경" #: ../src/verbs.cpp:2211 msgid "Paste Size Separately" -msgstr "" +msgstr "개별적 크기로 붙여넣기" #: ../src/verbs.cpp:2212 msgid "Scale each selected object to match the size of the copied object" -msgstr "" +msgstr "복사 객체의 크기에 일치시키기 위하여 각 선택 객체를 변경" #: ../src/verbs.cpp:2213 msgid "Paste Width Separately" -msgstr "" +msgstr "개별적 폭으로 붙여넣기" #: ../src/verbs.cpp:2214 -msgid "" -"Scale each selected object horizontally to match the width of the copied " -"object" -msgstr "" +msgid "Scale each selected object horizontally to match the width of the copied object" +msgstr "복사 객체의 폭에 일치시키기 위하여 수평방향의 각 선택 객체를 변경" #: ../src/verbs.cpp:2215 msgid "Paste Height Separately" -msgstr "" +msgstr "개별적 높이로 붙여넣기" #: ../src/verbs.cpp:2216 -msgid "" -"Scale each selected object vertically to match the height of the copied " -"object" -msgstr "" +msgid "Scale each selected object vertically to match the height of the copied object" +msgstr "복사 객체의 높이에 일치시키기 위하여 수직방향의 각 선택 객체를 변경" #: ../src/verbs.cpp:2217 msgid "Paste _In Place" -msgstr "" +msgstr "정위치에 붙여넣기(_I)" #: ../src/verbs.cpp:2218 msgid "Paste objects from clipboard to the original location" -msgstr "" +msgstr "클립보드에서 원래 위치에 객체 붙여넣기" #: ../src/verbs.cpp:2219 -#, fuzzy msgid "Paste Path _Effect" -msgstr "불이기 종류(_S)" +msgstr "경로 효과 붙여넣기(_E)" #: ../src/verbs.cpp:2220 -#, fuzzy msgid "Apply the path effect of the copied object to selection" -msgstr "캔버스를 현재 선택 크기로 조정" +msgstr "복사 객체의 경로 효과를 선택에 적용" #: ../src/verbs.cpp:2221 -#, fuzzy msgid "Remove Path _Effect" -msgstr " 삭제(_m) " +msgstr "경로 효과 제거(_E)" #: ../src/verbs.cpp:2222 -#, fuzzy msgid "Remove any path effects from selected objects" -msgstr "선택됀 객체의 복사본 만들기" +msgstr "선택 객체로부터 임의 경로 효과 제거" #: ../src/verbs.cpp:2223 -#, fuzzy msgid "Remove Filter" -msgstr "채움 제거" +msgstr "필터 제거" #: ../src/verbs.cpp:2224 -#, fuzzy msgid "Remove any filters from selected objects" -msgstr "선택됀 객체의 복사본 만들기" +msgstr "선택 객체로부터 임의 필터를 제거" #: ../src/verbs.cpp:2225 msgid "_Delete" @@ -13937,376 +12994,362 @@ msgstr "삭제(_D)" #: ../src/verbs.cpp:2226 msgid "Delete selection" -msgstr "선택부분 지우기" +msgstr "선택 삭제" #: ../src/verbs.cpp:2227 msgid "Duplic_ate" -msgstr "복사본 만들기(_a)" +msgstr "복사본 생성(_A)" #: ../src/verbs.cpp:2228 msgid "Duplicate selected objects" -msgstr "선택됀 객체의 복사본 만들기" +msgstr "선택 객체 복사본 생성" #: ../src/verbs.cpp:2229 msgid "Create Clo_ne" -msgstr "" +msgstr "복제 객체 생성(_N)" #: ../src/verbs.cpp:2230 msgid "Create a clone (a copy linked to the original) of selected object" -msgstr "" +msgstr "복제 객체 생성" #: ../src/verbs.cpp:2231 msgid "Unlin_k Clone" -msgstr "" +msgstr "복제 객체 링크해제(_K)" #: ../src/verbs.cpp:2232 -msgid "" -"Cut the selected clone's link to its original, turning it into a standalone " -"object" -msgstr "" +msgid "Cut the selected clone's link to its original, turning it into a standalone object" +msgstr "선택 복제 링크를 원래 원본으로 잘라내기, 이것은 단독 객체로 됨" #: ../src/verbs.cpp:2233 msgid "Select _Original" -msgstr "" +msgstr "원본 선택(_O)" #: ../src/verbs.cpp:2234 msgid "Select the object to which the selected clone is linked" -msgstr "" +msgstr "선택 복제가 링크된 객체를 선택" #. TRANSLATORS: Convert selection to a line marker #: ../src/verbs.cpp:2236 -#, fuzzy msgid "Objects to _Marker" -msgstr "점선 유형" +msgstr "객체를 마커로 변환(_M)" #: ../src/verbs.cpp:2237 -#, fuzzy msgid "Convert selection to a line marker" -msgstr "선택된부분을 잘라서 클립보드에 보관" +msgstr "선택을 한 줄 마커로 변환" #. TRANSLATORS: Convert selection to a collection of guidelines #: ../src/verbs.cpp:2239 -#, fuzzy msgid "Objects to Gu_ides" -msgstr "점선 유형" +msgstr "객체를 안내선으로 변환(_I)" #: ../src/verbs.cpp:2240 -msgid "" -"Convert selected objects to a collection of guidelines aligned with their " -"edges" -msgstr "" +msgid "Convert selected objects to a collection of guidelines aligned with their edges" +msgstr "선택된 객체를 안내선으로 변환" #. TRANSLATORS: Convert selection to a rectangle with tiled pattern fill #: ../src/verbs.cpp:2242 msgid "Objects to Patter_n" -msgstr "" +msgstr "객체를 패턴으로(_N)" #: ../src/verbs.cpp:2243 msgid "Convert selection to a rectangle with tiled pattern fill" -msgstr "" +msgstr "선택을 타일 패턴 채움으로 변환" #. TRANSLATORS: Extract objects from a tiled pattern fill #: ../src/verbs.cpp:2245 msgid "Pattern to _Objects" -msgstr "" +msgstr "패턴을 객체로(_O)" #: ../src/verbs.cpp:2246 msgid "Extract objects from a tiled pattern fill" -msgstr "" +msgstr "타일 패턴 채움으로부터 객체 추출" #: ../src/verbs.cpp:2247 msgid "Clea_r All" -msgstr "" +msgstr "전체 제거(_R)" #: ../src/verbs.cpp:2248 msgid "Delete all objects from document" -msgstr "" +msgstr "전체 객체 삭제" #: ../src/verbs.cpp:2249 msgid "Select Al_l" -msgstr "" +msgstr "전체 선택(_L)" #: ../src/verbs.cpp:2250 msgid "Select all objects or all nodes" -msgstr "" +msgstr "전체 객체 또는 전체 노드 선택" #: ../src/verbs.cpp:2251 msgid "Select All in All La_yers" -msgstr "" +msgstr "전체 레이어에서 전체 선택(_Y)" #: ../src/verbs.cpp:2252 msgid "Select all objects in all visible and unlocked layers" -msgstr "" +msgstr "ë³¼ 수 있고 잠김 해제에 있는 레이어에서 전체 객체 선택" #: ../src/verbs.cpp:2253 msgid "In_vert Selection" -msgstr "" +msgstr "선택 반전" #: ../src/verbs.cpp:2254 msgid "Invert selection (unselect what is selected and select everything else)" -msgstr "" +msgstr "선택 반전 (선택된 것은 선택해제 되고 ê·¸ 밖의 것이 모두 선택)" #: ../src/verbs.cpp:2255 msgid "Invert in All Layers" -msgstr "" +msgstr "전체 레이어에서 반전" #: ../src/verbs.cpp:2256 msgid "Invert selection in all visible and unlocked layers" msgstr "" #: ../src/verbs.cpp:2257 -#, fuzzy msgid "Select Next" -msgstr "노드 삭제" +msgstr "다음 선택" #: ../src/verbs.cpp:2258 -#, fuzzy msgid "Select next object or node" -msgstr "클론으로 만들 객체를 선택" +msgstr "다음 객체 또는 노드 선택" #: ../src/verbs.cpp:2259 -#, fuzzy msgid "Select Previous" -msgstr "선택" +msgstr "이전 선택" #: ../src/verbs.cpp:2260 -#, fuzzy msgid "Select previous object or node" -msgstr "클론으로 만들 객체를 선택" +msgstr "이전 객체 또는 노드 선택" #: ../src/verbs.cpp:2261 msgid "D_eselect" -msgstr "" +msgstr "선택 해제(_E)" #: ../src/verbs.cpp:2262 msgid "Deselect any selected objects or nodes" -msgstr "" +msgstr "임의 선택 객체나 노드를 선택해제" #: ../src/verbs.cpp:2263 msgid "_Guides around page" -msgstr "" +msgstr "페이지 안내선(_G)" #: ../src/verbs.cpp:2264 msgid "Create four guides aligned with the page borders" msgstr "" #: ../src/verbs.cpp:2265 -#, fuzzy msgid "Next Path Effect Parameter" -msgstr "불이기 종류(_S)" +msgstr "다음 경로 효과 인자" #: ../src/verbs.cpp:2266 msgid "Show next Path Effect parameter for editing" -msgstr "" +msgstr "편집을 위한 다음 경로 효과 인자 보이기" #. Selection #: ../src/verbs.cpp:2269 msgid "Raise to _Top" -msgstr "" +msgstr "최상위로 올리기(_T)" #: ../src/verbs.cpp:2270 msgid "Raise selection to top" -msgstr "" +msgstr "선택 객체를 최상위로 올리기" #: ../src/verbs.cpp:2271 msgid "Lower to _Bottom" -msgstr "" +msgstr "최하위로 내리기(_B)" #: ../src/verbs.cpp:2272 msgid "Lower selection to bottom" -msgstr "" +msgstr "선택 객체를 최하위로 내리기" #: ../src/verbs.cpp:2273 msgid "_Raise" -msgstr "" +msgstr "한 단계 위로 이동(_R)" #: ../src/verbs.cpp:2274 msgid "Raise selection one step" -msgstr "" +msgstr "선택 객체를 한 단계 위로 이동" #: ../src/verbs.cpp:2275 msgid "_Lower" -msgstr "" +msgstr "한 단계 아래로 이동(_L)" #: ../src/verbs.cpp:2276 msgid "Lower selection one step" -msgstr "" +msgstr "선택 객체를 한 단계 아래로 이동" #: ../src/verbs.cpp:2277 msgid "_Group" -msgstr "" +msgstr "그룹(_G)" #: ../src/verbs.cpp:2278 msgid "Group selected objects" -msgstr "" +msgstr "선택 객체를 그룹화" #: ../src/verbs.cpp:2280 msgid "Ungroup selected groups" -msgstr "" +msgstr "선택 그룹을 그룹해제" #: ../src/verbs.cpp:2282 msgid "_Put on Path" -msgstr "" +msgstr "경로상에 놓기(_P)" #: ../src/verbs.cpp:2284 msgid "_Remove from Path" -msgstr "" +msgstr "경로에서 제거(_R)" #: ../src/verbs.cpp:2286 msgid "Remove Manual _Kerns" -msgstr "" +msgstr "수동 글자 장식꼬리 제거(_K)" #. TRANSLATORS: "glyph": An image used in the visual representation of characters; #. roughly speaking, how a character looks. A font is a set of glyphs. #: ../src/verbs.cpp:2289 msgid "Remove all manual kerns and glyph rotations from a text object" -msgstr "" +msgstr "문자열 객체에서 전체 수동 글자 장식꼬리와 사용자 문자 회전을 제거" #: ../src/verbs.cpp:2291 msgid "_Union" -msgstr "" +msgstr "합(_U)" #: ../src/verbs.cpp:2292 msgid "Create union of selected paths" -msgstr "" +msgstr "선택 경로의 합을 생성" #: ../src/verbs.cpp:2293 msgid "_Intersection" -msgstr "" +msgstr "교차(_I)" #: ../src/verbs.cpp:2294 msgid "Create intersection of selected paths" -msgstr "" +msgstr "선택 경로의 교차 생성" #: ../src/verbs.cpp:2295 msgid "_Difference" -msgstr "" +msgstr "ì°¨(_D)" #: ../src/verbs.cpp:2296 msgid "Create difference of selected paths (bottom minus top)" -msgstr "" +msgstr "선택 경로의 차를 생성(최하단에서 최상단방향)" #: ../src/verbs.cpp:2297 msgid "E_xclusion" -msgstr "" +msgstr "제외(_X)" #: ../src/verbs.cpp:2298 -msgid "" -"Create exclusive OR of selected paths (those parts that belong to only one " -"path)" -msgstr "" +msgid "Create exclusive OR of selected paths (those parts that belong to only one path)" +msgstr "선택 경로의 XOR 생성" #: ../src/verbs.cpp:2299 msgid "Di_vision" -msgstr "" +msgstr "나누기(_V)" #: ../src/verbs.cpp:2300 msgid "Cut the bottom path into pieces" -msgstr "" +msgstr "아래 경로를 부분으로 잘라내기" #. TRANSLATORS: "to cut a path" is not the same as "to break a path apart" - see the #. Advanced tutorial for more info #: ../src/verbs.cpp:2303 msgid "Cut _Path" -msgstr "" +msgstr "경로 잘라내기(_P)" #: ../src/verbs.cpp:2304 msgid "Cut the bottom path's stroke into pieces, removing fill" -msgstr "" +msgstr "아래 경로 윤곽선를 부분으로 잘라내고 채움을 제거" #. TRANSLATORS: "outset": expand a shape by offsetting the object's path, #. i.e. by displacing it perpendicular to the path in each point. #. See also the Advanced Tutorial for explanation. #: ../src/verbs.cpp:2308 msgid "Outs_et" -msgstr "" +msgstr "경로 늘리기(_E)" #: ../src/verbs.cpp:2309 msgid "Outset selected paths" -msgstr "" +msgstr "선택 경로 늘리기" #: ../src/verbs.cpp:2311 msgid "O_utset Path by 1 px" -msgstr "" +msgstr "1화소씩 경로 늘리기(_U)" #: ../src/verbs.cpp:2312 msgid "Outset selected paths by 1 px" -msgstr "" +msgstr "1화소씩 선택 경로 늘리기" #: ../src/verbs.cpp:2314 msgid "O_utset Path by 10 px" -msgstr "" +msgstr "10화소씩 경로 늘리기(_U)" #: ../src/verbs.cpp:2315 msgid "Outset selected paths by 10 px" -msgstr "" +msgstr "10화소씩 선택 경로 늘리기" #. TRANSLATORS: "inset": contract a shape by offsetting the object's path, #. i.e. by displacing it perpendicular to the path in each point. #. See also the Advanced Tutorial for explanation. #: ../src/verbs.cpp:2319 msgid "I_nset" -msgstr "" +msgstr "경로 줄이기(_N)" #: ../src/verbs.cpp:2320 msgid "Inset selected paths" -msgstr "" +msgstr "선택 경로 줄이기" #: ../src/verbs.cpp:2322 msgid "I_nset Path by 1 px" -msgstr "" +msgstr "1화소씩 경로 줄이기" #: ../src/verbs.cpp:2323 msgid "Inset selected paths by 1 px" -msgstr "" +msgstr "1화소씩 선택 경로 줄이기" #: ../src/verbs.cpp:2325 msgid "I_nset Path by 10 px" -msgstr "" +msgstr "10화소씩 선택 경로 줄이기" #: ../src/verbs.cpp:2326 msgid "Inset selected paths by 10 px" -msgstr "" +msgstr "10화소씩 선택 경로 줄이기" #: ../src/verbs.cpp:2328 msgid "D_ynamic Offset" -msgstr "" +msgstr "동적 옵셋(_Y)" #: ../src/verbs.cpp:2328 msgid "Create a dynamic offset object" -msgstr "" +msgstr "동적 옵셋 객체 생성" #: ../src/verbs.cpp:2330 msgid "_Linked Offset" -msgstr "" +msgstr "링크 옵셋(_L)" #: ../src/verbs.cpp:2331 msgid "Create a dynamic offset object linked to the original path" -msgstr "" +msgstr "원래 경로와 링크된 동적 옵셋 객체 생성" #: ../src/verbs.cpp:2333 msgid "_Stroke to Path" -msgstr "" +msgstr "윤곽선를 경로로(_S)" #: ../src/verbs.cpp:2334 msgid "Convert selected object's stroke to paths" -msgstr "" +msgstr "선택 객체 윤곽선를 경로로 변환" #: ../src/verbs.cpp:2335 msgid "Si_mplify" -msgstr "단순화(_m)" +msgstr "단순화(_M)" #: ../src/verbs.cpp:2336 msgid "Simplify selected paths (remove extra nodes)" -msgstr "선택된 곡선을 단순화(추가 노드삭제)" +msgstr "선택된 경로 단순화(추가 노드 삭제)" #: ../src/verbs.cpp:2337 msgid "_Reverse" -msgstr "되돌리기(_R)" +msgstr "거꾸로(_R)" #: ../src/verbs.cpp:2338 msgid "Reverse the direction of selected paths (useful for flipping markers)" -msgstr "선택된 경로의 방향을 바꾸기(플림 마크에 유용)" +msgstr "선택된 경로의 방향 역으로(거꾸로 마커에 유용)" #. TRANSLATORS: "to trace" means "to convert a bitmap to vector graphics" (to vectorize) #: ../src/verbs.cpp:2340 @@ -14315,516 +13358,504 @@ msgstr "비트맴 따오기(_T)..." #: ../src/verbs.cpp:2341 msgid "Create one or more paths from a bitmap by tracing it" -msgstr "비트맴 이미지 따올때 하나 또는 여러 곡선으로 생성하기" +msgstr "비트맴 이미지 따올때 하나이상 경로 생성" #: ../src/verbs.cpp:2342 msgid "_Make a Bitmap Copy" -msgstr "비트맵 복사본 만들기(_M)" +msgstr "비트맵 복사본 생성(_M)" #: ../src/verbs.cpp:2343 msgid "Export selection to a bitmap and insert it into document" -msgstr "" +msgstr "선택을 비트맵으로 내보내기 문서로 삽입함" #: ../src/verbs.cpp:2344 msgid "_Combine" -msgstr "합치기(_C)" +msgstr "결합(_C)" #: ../src/verbs.cpp:2345 msgid "Combine several paths into one" -msgstr "" +msgstr "몇몇 경로를 하나로 결합" #. TRANSLATORS: "to cut a path" is not the same as "to break a path apart" - see the #. Advanced tutorial for more info #: ../src/verbs.cpp:2348 msgid "Break _Apart" -msgstr "" +msgstr "떼어놓기(_A)" #: ../src/verbs.cpp:2349 msgid "Break selected paths into subpaths" -msgstr "" +msgstr "선택된 경로를 하위경로로 떼어놓기" #: ../src/verbs.cpp:2350 -#, fuzzy msgid "Rows and Columns..." -msgstr "줄, 열: " +msgstr "줄과 열 설정..." #: ../src/verbs.cpp:2351 -#, fuzzy msgid "Arrange selected objects in a table" -msgstr "선택한 객체 배분" +msgstr "표에서 선택 객체 배열" #. Layer #: ../src/verbs.cpp:2353 msgid "_Add Layer..." -msgstr "레이어 추가(_A)..." +msgstr "레이어를 추가(_A)..." #: ../src/verbs.cpp:2354 msgid "Create a new layer" -msgstr "" +msgstr "새 레이어를 생성" #: ../src/verbs.cpp:2355 msgid "Re_name Layer..." -msgstr "" +msgstr "레이어를 다른 이름으로(_N)..." #: ../src/verbs.cpp:2356 msgid "Rename the current layer" -msgstr "" +msgstr "현재 레이어를 다른 이름으로" #: ../src/verbs.cpp:2357 msgid "Switch to Layer Abov_e" -msgstr "" +msgstr "위 레이어로 이동(_E)" #: ../src/verbs.cpp:2358 msgid "Switch to the layer above the current" -msgstr "" +msgstr "현재보다 위 레이어로 이동" #: ../src/verbs.cpp:2359 msgid "Switch to Layer Belo_w" -msgstr "" +msgstr "아래 레어어로 이동(_W)" #: ../src/verbs.cpp:2360 msgid "Switch to the layer below the current" -msgstr "" +msgstr "현재보다 아래 레이어로 이동" #: ../src/verbs.cpp:2361 msgid "Move Selection to Layer Abo_ve" -msgstr "" +msgstr "위 레어어로 선택 이동" #: ../src/verbs.cpp:2362 msgid "Move selection to the layer above the current" -msgstr "" +msgstr "현재보다 위 레이어로 선택 이동" #: ../src/verbs.cpp:2363 msgid "Move Selection to Layer Bel_ow" -msgstr "" +msgstr "아래 레이어로 선택 이동" #: ../src/verbs.cpp:2364 msgid "Move selection to the layer below the current" -msgstr "" +msgstr "현재보다 아래 레이어로 선택 이동" #: ../src/verbs.cpp:2365 msgid "Layer to _Top" -msgstr "" +msgstr "최상단 레이어로 이동(_T)" #: ../src/verbs.cpp:2366 msgid "Raise the current layer to the top" -msgstr "" +msgstr "현재 레이어를 최상단으로 이동" #: ../src/verbs.cpp:2367 msgid "Layer to _Bottom" -msgstr "" +msgstr "최하단 레이어로 이동(_B)" #: ../src/verbs.cpp:2368 msgid "Lower the current layer to the bottom" -msgstr "" +msgstr "현재 레이어를 최하단으로 이동" #: ../src/verbs.cpp:2369 msgid "_Raise Layer" -msgstr "" +msgstr "레이어 위로 이동(_R)" #: ../src/verbs.cpp:2370 msgid "Raise the current layer" -msgstr "" +msgstr "현재 레이어 위로 이동" #: ../src/verbs.cpp:2371 msgid "_Lower Layer" -msgstr "" +msgstr "레이어 아래로 이동(_L)" #: ../src/verbs.cpp:2372 msgid "Lower the current layer" -msgstr "" +msgstr "현재 레이어 아래로 이동" #: ../src/verbs.cpp:2373 msgid "_Delete Current Layer" -msgstr "" +msgstr "현재 레이어 삭제(_D)" #: ../src/verbs.cpp:2374 msgid "Delete the current layer" -msgstr "" +msgstr "현재 레이어 삭제" #. Object #: ../src/verbs.cpp:2377 msgid "Rotate _90° CW" -msgstr "" +msgstr "90° 시계방향 회전(_9)" #. This is shared between tooltips and statusbar, so they #. must use UTF-8, not HTML entities for special characters. #: ../src/verbs.cpp:2380 -#, fuzzy msgid "Rotate selection 90° clockwise" -msgstr "시계방향으로 회전" +msgstr "선택객체를 90도 시계방향 회전" #: ../src/verbs.cpp:2381 msgid "Rotate 9_0° CCW" -msgstr "" +msgstr "90° 반시계방향 회전(_0)" #. This is shared between tooltips and statusbar, so they #. must use UTF-8, not HTML entities for special characters. #: ../src/verbs.cpp:2384 -#, fuzzy msgid "Rotate selection 90° counter-clockwise" -msgstr "시계방향으로 회전" +msgstr "선택객체를 90도 반시계방향 회전" #: ../src/verbs.cpp:2385 msgid "Remove _Transformations" -msgstr "" +msgstr "변환 제거(_T)" #: ../src/verbs.cpp:2386 msgid "Remove transformations from object" -msgstr "" +msgstr "객체로부터 변환 제거" #: ../src/verbs.cpp:2387 msgid "_Object to Path" -msgstr "" +msgstr "객체를 경로로(_O)" #: ../src/verbs.cpp:2388 msgid "Convert selected object to path" -msgstr "" +msgstr "선택 객체를 경로로 변환" #: ../src/verbs.cpp:2389 msgid "_Flow into Frame" -msgstr "" +msgstr "문자열을 프레임에 삽입(_F)" #: ../src/verbs.cpp:2390 -msgid "" -"Put text into a frame (path or shape), creating a flowed text linked to the " -"frame object" -msgstr "" +msgid "Put text into a frame (path or shape), creating a flowed text linked to the frame object" +msgstr "문자열을 프레임에 삽입(경로 또는 모양), 문자열을 프레임 객체에 생성" #: ../src/verbs.cpp:2391 msgid "_Unflow" -msgstr "" +msgstr "문자열을 프레임에서 제거(_U)" #: ../src/verbs.cpp:2392 msgid "Remove text from frame (creates a single-line text object)" -msgstr "" +msgstr "문자열을 프레임에서 제거(단일 문자열 객체를 생성)" #: ../src/verbs.cpp:2393 msgid "_Convert to Text" -msgstr "" +msgstr "문자열로 변환(_C)" #: ../src/verbs.cpp:2394 msgid "Convert flowed text to regular text object (preserves appearance)" -msgstr "" +msgstr "문자열을 정규 문자열 객체로 변환(외형 유지)" #: ../src/verbs.cpp:2396 msgid "Flip _Horizontal" -msgstr "" +msgstr "수평 뒤집기(_H)" #: ../src/verbs.cpp:2396 msgid "Flip selected objects horizontally" -msgstr "" +msgstr "선택 객체를 수평으로 뒤집기" #: ../src/verbs.cpp:2399 msgid "Flip _Vertical" -msgstr "" +msgstr "수직 뒤집기(_V)" #: ../src/verbs.cpp:2399 msgid "Flip selected objects vertically" -msgstr "" +msgstr "선택 객체를 수직으로 뒤집기" #: ../src/verbs.cpp:2402 msgid "Apply mask to selection (using the topmost object as mask)" -msgstr "" +msgstr "마스크를 선택에 적용(마스크로 최상위 객체 사용)" #: ../src/verbs.cpp:2404 -#, fuzzy msgid "Edit mask" -msgstr "별" +msgstr "마스크 편집" -#: ../src/verbs.cpp:2405 ../src/verbs.cpp:2411 +#: ../src/verbs.cpp:2405 +#: ../src/verbs.cpp:2411 msgid "_Release" -msgstr "" +msgstr "마스크 해제(_R)" #: ../src/verbs.cpp:2406 msgid "Remove mask from selection" -msgstr "" +msgstr "선택으로부터 마스크 제거" #: ../src/verbs.cpp:2408 -msgid "" -"Apply clipping path to selection (using the topmost object as clipping path)" -msgstr "" +msgid "Apply clipping path to selection (using the topmost object as clipping path)" +msgstr "자르기 경로를 선택으로 적용 ( 자르기 경로로서 최상위 객체를 사용)" -#: ../src/verbs.cpp:2410 ../src/widgets/toolbox.cpp:1222 -#, fuzzy +#: ../src/verbs.cpp:2410 +#: ../src/widgets/toolbox.cpp:1222 msgid "Edit clipping path" -msgstr "경로 닫는중." +msgstr "자르기 경로 편집" #: ../src/verbs.cpp:2412 msgid "Remove clipping path from selection" -msgstr "" +msgstr "선택으로부터 자르기 경로 제거" #. Tools #: ../src/verbs.cpp:2415 msgid "Select" -msgstr "" +msgstr "선택" #: ../src/verbs.cpp:2416 msgid "Select and transform objects" -msgstr "" +msgstr "선택과 변형 객체" #: ../src/verbs.cpp:2417 msgid "Node Edit" -msgstr "" +msgstr "노드 편집" #: ../src/verbs.cpp:2418 msgid "Edit paths by nodes" -msgstr "" +msgstr "노드 경로 편집" #: ../src/verbs.cpp:2420 msgid "Tweak objects by sculpting or painting" -msgstr "" +msgstr "조각 또는 칠하기에 의한 객체 모양 조정" #: ../src/verbs.cpp:2422 msgid "Create rectangles and squares" -msgstr "" +msgstr "직사각형 및 정사각형 생성" #: ../src/verbs.cpp:2424 -#, fuzzy msgid "Create 3D boxes" -msgstr "중심선" +msgstr "3D 상자 생성" #: ../src/verbs.cpp:2426 msgid "Create circles, ellipses, and arcs" -msgstr "" +msgstr "원, 타원, 호 생성" #: ../src/verbs.cpp:2428 msgid "Create stars and polygons" -msgstr "" +msgstr "별과 다각형 생성" #: ../src/verbs.cpp:2430 msgid "Create spirals" -msgstr "" +msgstr "나선 생성" #: ../src/verbs.cpp:2432 msgid "Draw freehand lines" -msgstr "" +msgstr "자유곡선 그리기" #: ../src/verbs.cpp:2434 msgid "Draw Bezier curves and straight lines" -msgstr "" +msgstr "베지어선 및 직선 그리기" #: ../src/verbs.cpp:2436 -#, fuzzy msgid "Draw calligraphic or brush strokes" -msgstr "중심선" +msgstr "글자체 또는 붓 윤곽선 그리기" #: ../src/verbs.cpp:2438 msgid "Create and edit text objects" -msgstr "" +msgstr "문자열 생성 및 편집" #: ../src/verbs.cpp:2440 msgid "Create and edit gradients" -msgstr "" +msgstr "그라디언트 생성 및 편집" #: ../src/verbs.cpp:2442 msgid "Zoom in or out" -msgstr "" +msgstr "확대/축소" #: ../src/verbs.cpp:2444 msgid "Pick colors from image" -msgstr "" +msgstr "이미지에서 색상 추출" #: ../src/verbs.cpp:2446 -#, fuzzy msgid "Create diagram connectors" -msgstr "새 연결자 생성" +msgstr "도표 연결자 생성 생성" #: ../src/verbs.cpp:2448 msgid "Fill bounded areas" -msgstr "" +msgstr "경계 구간 채우기" #: ../src/verbs.cpp:2449 msgid "LPE Edit" -msgstr "" +msgstr "LPE 편집" #: ../src/verbs.cpp:2450 -#, fuzzy msgid "Edit Live Path Effect parameters" -msgstr "불이기 종류(_S)" +msgstr "라이브 경로 효과 인자 편집" #: ../src/verbs.cpp:2452 -#, fuzzy msgid "Erase existing paths" -msgstr "되돌리기(_R)" +msgstr "기존 경로 삭제" #. Tool prefs #: ../src/verbs.cpp:2454 msgid "Selector Preferences" -msgstr "" +msgstr "선택자 기본설정" #: ../src/verbs.cpp:2455 msgid "Open Preferences for the Selector tool" -msgstr "" +msgstr "선택자 도구를 위한 기본설정 열기" #: ../src/verbs.cpp:2456 msgid "Node Tool Preferences" -msgstr "" +msgstr "노드 도구 기본설정" #: ../src/verbs.cpp:2457 msgid "Open Preferences for the Node tool" -msgstr "" +msgstr "노드 도구 기본설정 열기" #: ../src/verbs.cpp:2458 msgid "Tweak Tool Preferences" -msgstr "" +msgstr "조정 도구 기본설정" #: ../src/verbs.cpp:2459 msgid "Open Preferences for the Tweak tool" -msgstr "" +msgstr "조정 도구 기본설정 열기" #: ../src/verbs.cpp:2460 msgid "Rectangle Preferences" -msgstr "" +msgstr "직사각형 기본설정" #: ../src/verbs.cpp:2461 msgid "Open Preferences for the Rectangle tool" -msgstr "" +msgstr "직사각형 도구 기본설정 열기" #: ../src/verbs.cpp:2462 msgid "3D Box Preferences" -msgstr "" +msgstr "3D 상자 기본설정" #: ../src/verbs.cpp:2463 msgid "Open Preferences for the 3D Box tool" -msgstr "" +msgstr "3D 상자 도구 기본설정 열기" #: ../src/verbs.cpp:2464 msgid "Ellipse Preferences" -msgstr "" +msgstr "타원 기본설정" #: ../src/verbs.cpp:2465 msgid "Open Preferences for the Ellipse tool" -msgstr "" +msgstr "타원도구 기본설정 열기" #: ../src/verbs.cpp:2466 msgid "Star Preferences" -msgstr "" +msgstr "별 기본설정" #: ../src/verbs.cpp:2467 msgid "Open Preferences for the Star tool" -msgstr "" +msgstr "별 도구 기본설정 열기" #: ../src/verbs.cpp:2468 msgid "Spiral Preferences" -msgstr "" +msgstr "나선 기본설정" #: ../src/verbs.cpp:2469 msgid "Open Preferences for the Spiral tool" -msgstr "" +msgstr "나선 두구 기본설정 열기" #: ../src/verbs.cpp:2470 msgid "Pencil Preferences" -msgstr "" +msgstr "연필 기본설정" #: ../src/verbs.cpp:2471 msgid "Open Preferences for the Pencil tool" -msgstr "" +msgstr "연필 도구 기본설정 열기" #: ../src/verbs.cpp:2472 msgid "Pen Preferences" -msgstr "" +msgstr "펜 기본설정" #: ../src/verbs.cpp:2473 msgid "Open Preferences for the Pen tool" -msgstr "" +msgstr "펜 도구 기본설정 열기" #: ../src/verbs.cpp:2474 msgid "Calligraphic Preferences" -msgstr "" +msgstr "글자체 기본설정" #: ../src/verbs.cpp:2475 msgid "Open Preferences for the Calligraphy tool" -msgstr "" +msgstr "글자체 도구 기본설정 열기" #: ../src/verbs.cpp:2476 msgid "Text Preferences" -msgstr "" +msgstr "문자열 기본설정" #: ../src/verbs.cpp:2477 msgid "Open Preferences for the Text tool" -msgstr "" +msgstr "문자열 도구 기본설정 열기" #: ../src/verbs.cpp:2478 msgid "Gradient Preferences" -msgstr "" +msgstr "그라디언트 기본설정" #: ../src/verbs.cpp:2479 msgid "Open Preferences for the Gradient tool" -msgstr "" +msgstr "그라디언트 도구 기본설정 열기" #: ../src/verbs.cpp:2480 msgid "Zoom Preferences" -msgstr "" +msgstr "확대/축소 기본설정" #: ../src/verbs.cpp:2481 msgid "Open Preferences for the Zoom tool" -msgstr "" +msgstr "확대/축소 도구 기본설정 열기" #: ../src/verbs.cpp:2482 msgid "Dropper Preferences" -msgstr "" +msgstr "추출기 기본설정" #: ../src/verbs.cpp:2483 msgid "Open Preferences for the Dropper tool" -msgstr "" +msgstr "추출기 도구 기본설정 열기" #: ../src/verbs.cpp:2484 msgid "Connector Preferences" -msgstr "" +msgstr "연결자 기본설정" #: ../src/verbs.cpp:2485 msgid "Open Preferences for the Connector tool" -msgstr "" +msgstr "연결자 도구 기본설정 열기" #: ../src/verbs.cpp:2486 msgid "Paint Bucket Preferences" -msgstr "" +msgstr "페인트통 기본설정" #: ../src/verbs.cpp:2487 msgid "Open Preferences for the Paint Bucket tool" -msgstr "" +msgstr "페인트통 도구 기본설정 열기" #: ../src/verbs.cpp:2488 msgid "Eraser Preferences" -msgstr "" +msgstr "지우개 기본설정" #: ../src/verbs.cpp:2489 msgid "Open Preferences for the Eraser tool" -msgstr "" +msgstr "지우개 도구 기본설정 열기" #. Zoom/View #: ../src/verbs.cpp:2492 msgid "Zoom In" -msgstr "확대해 보기" +msgstr "확대" #: ../src/verbs.cpp:2492 msgid "Zoom in" -msgstr "확대해 보기" +msgstr "확대" #: ../src/verbs.cpp:2493 msgid "Zoom Out" -msgstr "축소해 보기" +msgstr "축소" #: ../src/verbs.cpp:2493 msgid "Zoom out" -msgstr "축소해 보기" +msgstr "축소" #: ../src/verbs.cpp:2494 msgid "_Rulers" -msgstr "눈금 자(_R)" +msgstr "눈금자(_R)" #: ../src/verbs.cpp:2494 msgid "Show or hide the canvas rulers" -msgstr "캔버스에 자(눈금)을 보이거나 감추기" +msgstr "눈금자 보이기/숨기기" #: ../src/verbs.cpp:2495 msgid "Scroll_bars" -msgstr "스크롤 바(_b)" +msgstr "이동 막대(_B)" #: ../src/verbs.cpp:2495 msgid "Show or hide the canvas scrollbars" -msgstr "캔버스 스크롤 바를 보이거나 감추기" +msgstr "이동바 보이기/숨기기" #: ../src/verbs.cpp:2496 msgid "_Grid" @@ -14832,51 +13863,51 @@ msgstr "격자(_G)" #: ../src/verbs.cpp:2496 msgid "Show or hide the grid" -msgstr "격자 보이거나 감추기" +msgstr "격자 보이기/숨기기" #: ../src/verbs.cpp:2497 msgid "G_uides" -msgstr "가이드(_u)" +msgstr "안내선(_U)" #: ../src/verbs.cpp:2497 msgid "Show or hide guides (drag from a ruler to create a guide)" -msgstr "" +msgstr "안내선 보이기/숨기기(안내선을 생성하기 위하여 눈금자에서 끌기)" #: ../src/verbs.cpp:2499 msgid "Nex_t Zoom" -msgstr "" +msgstr "다음 비율(_T)" #: ../src/verbs.cpp:2499 msgid "Next zoom (from the history of zooms)" -msgstr "" +msgstr "다음 비율(비율 작업내역에서)" #: ../src/verbs.cpp:2501 msgid "Pre_vious Zoom" -msgstr "" +msgstr "이전 비율(_V)" #: ../src/verbs.cpp:2501 msgid "Previous zoom (from the history of zooms)" -msgstr "" +msgstr "이전 비율(비율 작업내역에서)" #: ../src/verbs.cpp:2503 msgid "Zoom 1:_1" -msgstr "" +msgstr "1:1 기본(_1)" #: ../src/verbs.cpp:2503 msgid "Zoom to 1:1" -msgstr "1:1 학대" +msgstr "1:1 기본" #: ../src/verbs.cpp:2505 msgid "Zoom 1:_2" -msgstr "" +msgstr "1:2로 축소(_2)" #: ../src/verbs.cpp:2505 msgid "Zoom to 1:2" -msgstr "1:2 로 확대" +msgstr "1:2 로 축소" #: ../src/verbs.cpp:2507 msgid "_Zoom 2:1" -msgstr "" +msgstr "2:1로 확대(_Z)" #: ../src/verbs.cpp:2507 msgid "Zoom to 2:1" @@ -14884,15 +13915,15 @@ msgstr "2:1 로 확대" #: ../src/verbs.cpp:2510 msgid "_Fullscreen" -msgstr "" +msgstr "전체화면(_F)" #: ../src/verbs.cpp:2510 msgid "Stretch this document window to full screen" -msgstr "" +msgstr "문서 창을 전체화면으로 확대" #: ../src/verbs.cpp:2513 msgid "Duplic_ate Window" -msgstr "" +msgstr "작업창 복제(_A)" #: ../src/verbs.cpp:2513 msgid "Open a new window with the same document" @@ -14900,80 +13931,76 @@ msgstr "" #: ../src/verbs.cpp:2515 msgid "_New View Preview" -msgstr "" +msgstr "새 보기 미리보기(_N)" #: ../src/verbs.cpp:2516 msgid "New View Preview" -msgstr "" +msgstr "새 보기 미리보기" #. "view_new_preview" #: ../src/verbs.cpp:2518 msgid "_Normal" -msgstr "" +msgstr "일반(_N)" #: ../src/verbs.cpp:2519 msgid "Switch to normal display mode" -msgstr "" +msgstr "일반 보기 모드로 전환" #: ../src/verbs.cpp:2520 -#, fuzzy msgid "No _Filters" -msgstr "밀리미터" +msgstr "필터 없음" #: ../src/verbs.cpp:2521 msgid "Switch to normal display without filters" -msgstr "" +msgstr "필터 없이 일반 보기로 전환" #: ../src/verbs.cpp:2522 msgid "_Outline" -msgstr "" +msgstr "윤곽선(_O)" #: ../src/verbs.cpp:2523 msgid "Switch to outline (wireframe) display mode" -msgstr "" +msgstr "윤곽선 (줄 프레임) 보기 모드로 전환" #: ../src/verbs.cpp:2524 -#, fuzzy msgid "_Toggle" -msgstr "각도(_n)" +msgstr "토글(_T)" #: ../src/verbs.cpp:2525 msgid "Toggle between normal and outline display modes" -msgstr "" +msgstr "일반과 윤곽선 보기 모드 사이 토글" #: ../src/verbs.cpp:2527 msgid "Color-managed view" -msgstr "" +msgstr "색상-관리 보기" #: ../src/verbs.cpp:2528 -#, fuzzy msgid "Toggle color-managed display for this document window" -msgstr "이 문서창을 닫기" +msgstr "이 문서창을 위한 색상-관리 보이기 토글" #: ../src/verbs.cpp:2530 -#, fuzzy msgid "Ico_n Preview..." -msgstr "미리보기 없음" +msgstr "아이콘 미리보기(_N)..." #: ../src/verbs.cpp:2531 msgid "Open a window to preview objects at different icon resolutions" -msgstr "" +msgstr "객체를 다른 아이콘 해상도로 미리보기위해 ì°½ 열기" #: ../src/verbs.cpp:2533 msgid "Zoom to fit page in window" -msgstr "" +msgstr "창에서 페이지에 맞게 확대" #: ../src/verbs.cpp:2534 msgid "Page _Width" -msgstr "" +msgstr "페이지 폭(_W)" #: ../src/verbs.cpp:2535 msgid "Zoom to fit page width in window" -msgstr "" +msgstr "창에서 페이지 폭에 맞게 확대" #: ../src/verbs.cpp:2537 msgid "Zoom to fit drawing in window" -msgstr "" +msgstr "창에서 그리기 적합하게 확대" #: ../src/verbs.cpp:2539 msgid "Zoom to fit selection in window" @@ -14982,97 +14009,96 @@ msgstr "선택된 객체 전체 보기" #. Dialogs #: ../src/verbs.cpp:2542 msgid "In_kscape Preferences..." -msgstr "" +msgstr "Inkscape 기본설정(_K)..." #: ../src/verbs.cpp:2543 msgid "Edit global Inkscape preferences" -msgstr "" +msgstr "Inkscape 기본설정 편집" #: ../src/verbs.cpp:2544 msgid "_Document Properties..." -msgstr "" +msgstr "문서 속성(_D)..." #: ../src/verbs.cpp:2545 msgid "Edit properties of this document (to be saved with the document)" -msgstr "" +msgstr "문서의 속성 편집" #: ../src/verbs.cpp:2546 msgid "Document _Metadata..." -msgstr "" +msgstr "문서 정보(_M)..." #: ../src/verbs.cpp:2547 msgid "Edit document metadata (to be saved with the document)" -msgstr "" +msgstr "문서 정보 편집" #: ../src/verbs.cpp:2548 msgid "_Fill and Stroke..." -msgstr "" +msgstr "채움/윤곽선(_F)..." #: ../src/verbs.cpp:2549 -msgid "" -"Edit objects' colors, gradients, stroke width, arrowheads, dash patterns..." -msgstr "" +msgid "Edit objects' colors, gradients, stroke width, arrowheads, dash patterns..." +msgstr "객체 색상, 그라디언트, 윤곽선 폭, 화살표 머리, 실선 패턴 편집..." #. TRANSLATORS: "Swatches" means: color samples #: ../src/verbs.cpp:2551 msgid "S_watches..." -msgstr "" +msgstr "색상 막대(_W)..." #: ../src/verbs.cpp:2552 msgid "Select colors from a swatches palette" -msgstr "" +msgstr "색상 막대 팔레트에서 색상 선택" #: ../src/verbs.cpp:2553 msgid "Transfor_m..." -msgstr "" +msgstr "변환(_M)..." #: ../src/verbs.cpp:2554 msgid "Precisely control objects' transformations" -msgstr "" +msgstr "정확히 객체 변형을 제어" #: ../src/verbs.cpp:2555 msgid "_Align and Distribute..." -msgstr "" +msgstr "배열/정렬(_A)..." #: ../src/verbs.cpp:2556 msgid "Align and distribute objects" -msgstr "" +msgstr "객체를 배열 및 정렬" #: ../src/verbs.cpp:2557 msgid "Undo _History..." -msgstr "" +msgstr "작업내역 되돌리기(_H)..." #: ../src/verbs.cpp:2558 msgid "Undo History" -msgstr "" +msgstr "작업내역 되돌리기" #: ../src/verbs.cpp:2559 msgid "_Text and Font..." -msgstr "" +msgstr "문자열/글꼴(_T)..." #: ../src/verbs.cpp:2560 msgid "View and select font family, font size and other text properties" -msgstr "" +msgstr "글꼴 모음, 글꼴 크기, 그리고 다른 문자열 속성을 보기와 선택하기" #: ../src/verbs.cpp:2561 msgid "_XML Editor..." -msgstr "" +msgstr "XML 편집기(_X)..." #: ../src/verbs.cpp:2562 msgid "View and edit the XML tree of the document" -msgstr "" +msgstr "문서의 XML 구조를 보기 및 편집" #: ../src/verbs.cpp:2563 msgid "_Find..." -msgstr "" +msgstr "찾기(_F)..." #: ../src/verbs.cpp:2564 msgid "Find objects in document" -msgstr "" +msgstr "문서에서 객체 찾기" #: ../src/verbs.cpp:2565 msgid "_Messages..." -msgstr "" +msgstr "메세지(_M)..." #: ../src/verbs.cpp:2566 msgid "View debug messages" @@ -15080,115 +14106,113 @@ msgstr "디버그 메세지 보기" #: ../src/verbs.cpp:2567 msgid "S_cripts..." -msgstr "" +msgstr "스크립트(_C)..." #: ../src/verbs.cpp:2568 msgid "Run scripts" -msgstr "" +msgstr "스크립트 실행" #: ../src/verbs.cpp:2569 msgid "Show/Hide D_ialogs" -msgstr "" +msgstr "대화창 보이기/안보이기(_I)" #: ../src/verbs.cpp:2570 msgid "Show or hide all open dialogs" -msgstr "" +msgstr "전체 열린 대화창 보이기 또는 숨기기" #: ../src/verbs.cpp:2571 msgid "Create Tiled Clones..." -msgstr "" +msgstr "타일 복제 생성..." #: ../src/verbs.cpp:2572 -msgid "" -"Create multiple clones of selected object, arranging them into a pattern or " -"scattering" -msgstr "" +msgid "Create multiple clones of selected object, arranging them into a pattern or scattering" +msgstr "선택 객체의 다수 복제물을 생성, 복제물들을 패턴이나 타일로 배열" #: ../src/verbs.cpp:2573 msgid "_Object Properties..." -msgstr "" +msgstr "객체 속성(_O)..." #: ../src/verbs.cpp:2574 msgid "Edit the ID, locked and visible status, and other object properties" -msgstr "" +msgstr "ID, 잠금, 보이기 상태, 그리고 다른 객체 속성 편집" #: ../src/verbs.cpp:2577 msgid "_Instant Messaging..." -msgstr "" +msgstr "인스턴트 메세징(_I)..." #: ../src/verbs.cpp:2577 msgid "Jabber Instant Messaging Client" -msgstr "" +msgstr "Jabber 인스턴트 메세징 클라이언트" #: ../src/verbs.cpp:2579 msgid "_Input Devices..." -msgstr "" +msgstr "입력 장치(_I)..." -#: ../src/verbs.cpp:2580 ../src/verbs.cpp:2582 +#: ../src/verbs.cpp:2580 +#: ../src/verbs.cpp:2582 msgid "Configure extended input devices, such as a graphics tablet" -msgstr "" +msgstr "그래픽 타블렛과 같은 확장 입력 기기를 설정" #: ../src/verbs.cpp:2581 msgid "_Input Devices (new)..." -msgstr "" +msgstr "입력 장치(새로)(_I)..." #: ../src/verbs.cpp:2583 msgid "_Extensions..." -msgstr "" +msgstr "확장자(_E)..." #: ../src/verbs.cpp:2584 msgid "Query information about extensions" -msgstr "" +msgstr "확장자에 대한 정보 문의" #: ../src/verbs.cpp:2585 msgid "Layer_s..." -msgstr "레이어들(_s)..." +msgstr "레이어 목록(_S)..." #: ../src/verbs.cpp:2586 msgid "View Layers" msgstr "레이어 보기" #: ../src/verbs.cpp:2587 -#, fuzzy msgid "Path Effects..." -msgstr "옵셋" +msgstr "경로 효과..." #: ../src/verbs.cpp:2588 msgid "Manage path effects" -msgstr "" +msgstr "경로 효과 관리" #: ../src/verbs.cpp:2589 msgid "Filter Effects..." -msgstr "" +msgstr "필터 효과..." #: ../src/verbs.cpp:2590 msgid "Manage SVG filter effects" -msgstr "" +msgstr "SVG 필터 효과 관리" #. Help #: ../src/verbs.cpp:2593 msgid "About E_xtensions" -msgstr "" +msgstr "확장자에 대하여(_X)" #: ../src/verbs.cpp:2594 msgid "Information on Inkscape extensions" -msgstr "" +msgstr "Inkscape 확장자에 대한 정보" #: ../src/verbs.cpp:2595 msgid "About _Memory" -msgstr "메모리에 대하여(_M)" +msgstr "메모리 사용량(_M)" #: ../src/verbs.cpp:2596 msgid "Memory usage information" -msgstr "메모리 사용량 정보" +msgstr "메모리 사용 정보" #: ../src/verbs.cpp:2597 msgid "_About Inkscape" -msgstr "잉크 스케이프에 대하여(_A)" +msgstr "Inkscape에 대하여(_A)" #: ../src/verbs.cpp:2598 msgid "Inkscape version, authors, license" -msgstr "잉크스케이프 버전, 저자, 라이센스" +msgstr "Inkscape 버전, 저자, 저작권" #. "help_about" #. new HelpVerb(SP_VERB_SHOW_LICENSE, "ShowLicense", N_("_License"), @@ -15196,64 +14220,64 @@ msgstr "잉크스케이프 버전, 저자, 라이센스" #. Tutorials #: ../src/verbs.cpp:2603 msgid "Inkscape: _Basic" -msgstr "잉크스케이프: 기본(_B)" +msgstr "Inkscape: 기본(_B)" #: ../src/verbs.cpp:2604 msgid "Getting started with Inkscape" -msgstr "잉크스케이프로 새로 시작" +msgstr "Inkscape 시작" #. "tutorial_basic" #: ../src/verbs.cpp:2605 msgid "Inkscape: _Shapes" -msgstr "잉크스케이프: 모양(_S)" +msgstr "Inkscape: 모양(_S)" #: ../src/verbs.cpp:2606 msgid "Using shape tools to create and edit shapes" -msgstr "형태를 만들고 수정하기 위해 모양툴 사용" +msgstr "모양을 생성 및 편집하기 위해 모양 도구 사용" #: ../src/verbs.cpp:2607 msgid "Inkscape: _Advanced" -msgstr "잉크스케이프: 고급(_A)" +msgstr "Inkscape: 고급(_A)" #: ../src/verbs.cpp:2608 msgid "Advanced Inkscape topics" -msgstr "고급 잉크스케이프 주제" +msgstr "고급 Inkscape 주제" #. "tutorial_advanced" #. TRANSLATORS: "to trace" means "to convert a bitmap to vector graphics" (to vectorize) #: ../src/verbs.cpp:2610 msgid "Inkscape: T_racing" -msgstr "잉크스케이프: 따오기(_r)" +msgstr "Inkscape: 따오기(_R)" #: ../src/verbs.cpp:2611 msgid "Using bitmap tracing" -msgstr "비트맴 이미지 따오기 사용" +msgstr "비트맵 따오기 사용" #. "tutorial_tracing" #: ../src/verbs.cpp:2612 msgid "Inkscape: _Calligraphy" -msgstr "" +msgstr "Inkscape: 글씨체(_C)" #: ../src/verbs.cpp:2613 msgid "Using the Calligraphy pen tool" -msgstr "" +msgstr "글씨체 펜 도구를 사용 중" #: ../src/verbs.cpp:2614 msgid "_Elements of Design" -msgstr "디자인 개체(_E)" +msgstr "디자인 요소(_E)" #: ../src/verbs.cpp:2615 msgid "Principles of design in the tutorial form" -msgstr "튜터리얼에 있는 디자인 원리" +msgstr "지침서 양식의 디자인 원리" #. "tutorial_design" #: ../src/verbs.cpp:2616 msgid "_Tips and Tricks" -msgstr "팁 ê³¼ 트랙(_T)" +msgstr "도구 설명과 기술(_T)" #: ../src/verbs.cpp:2617 msgid "Miscellaneous tips and tricks" -msgstr "" +msgstr "다양한 ㄷ구 설명과 기술" #. "tutorial_tips" #. Effect @@ -15263,7 +14287,7 @@ msgstr "이전 효과" #: ../src/verbs.cpp:2621 msgid "Repeat the last effect with the same settings" -msgstr "이전 설정 상태 그대로 마지막 효과 재 사용 " +msgstr "동일 설정 상태 그대로 마지막 효과 반복" #: ../src/verbs.cpp:2622 msgid "Previous Effect Settings..." @@ -15271,105 +14295,90 @@ msgstr "이전 효과 설정..." #: ../src/verbs.cpp:2623 msgid "Repeat the last effect with new settings" -msgstr "새로운 설정으로 마지막 효과 재 사용" +msgstr "새로운 설정으로 마지막 효과 반복" #. Fit Page #: ../src/verbs.cpp:2626 -#, fuzzy msgid "Fit Page to Selection" -msgstr "캔버스를 선택영역크기로 조정" +msgstr "페이지를 선택 크기로 조정" #: ../src/verbs.cpp:2627 -#, fuzzy msgid "Fit the page to the current selection" -msgstr "캔버스를 현재 선택 크기로 조정" +msgstr "페이지를 현재 선택크기로 조정" #: ../src/verbs.cpp:2628 -#, fuzzy msgid "Fit Page to Drawing" -msgstr "캔버스를 그림 크기로 조정" +msgstr "페이지를 그림 크기로 조정" #: ../src/verbs.cpp:2629 -#, fuzzy msgid "Fit the page to the drawing" -msgstr "캔버스를 그림 크리고 조정" +msgstr "페이지를 그림으로 조정" #: ../src/verbs.cpp:2630 -#, fuzzy msgid "Fit Page to Selection or Drawing" -msgstr "캔버스를 선택영역이나 그림 크리고 조정" +msgstr "페이지를 선택 또는 그림으로 조정" #: ../src/verbs.cpp:2631 -#, fuzzy -msgid "" -"Fit the page to the current selection or the drawing if there is no selection" -msgstr "" -"캔버스 크기를 현재 선택 영역이나, 만약 아무 선택을 하지 않았다면 그램 크기" -"로 조정" +msgid "Fit the page to the current selection or the drawing if there is no selection" +msgstr "페이지를 현재 선택으로 조정하거나 현재 선택이 없다면 그리기" #. LockAndHide #: ../src/verbs.cpp:2633 -#, fuzzy msgid "Unlock All" -msgstr "노드를 아래도" +msgstr "전체 레이어 잠금 해제" #: ../src/verbs.cpp:2635 -#, fuzzy msgid "Unlock All in All Layers" -msgstr "노드를 아래도" +msgstr "전체 레이어 잠금 해제" #: ../src/verbs.cpp:2637 -#, fuzzy msgid "Unhide All" -msgstr "레이어 이름변경" +msgstr "전체 레이어 나타내기" #: ../src/verbs.cpp:2639 -#, fuzzy msgid "Unhide All in All Layers" -msgstr "레이어 이름변경" +msgstr "전체 레이어 나타내기" #: ../src/widgets/calligraphic-profile-rename.cpp:34 -#, fuzzy msgid "Profile name:" -msgstr "파일이름 설정" +msgstr "프로파일 이름:" #: ../src/widgets/calligraphic-profile-rename.cpp:48 -#, fuzzy msgid "Save" -msgstr "저장(_S)" +msgstr "저장" #: ../src/widgets/dash-selector.cpp:106 msgid "Dash pattern" -msgstr "점선 유형" +msgstr "실선 패턴" #: ../src/widgets/dash-selector.cpp:121 msgid "Pattern offset" -msgstr "간격띄우기 유형" +msgstr "패턴 옵셋" #: ../src/widgets/desktop-widget.cpp:620 -#, fuzzy, c-format +#, c-format msgid "%s: %d (outline) - Inkscape" -msgstr "%s: %d - 잉크스케이프" +msgstr "%s: %d (윤곽선) - Inkscape" #: ../src/widgets/desktop-widget.cpp:622 #, c-format msgid "%s: %d - Inkscape" -msgstr "%s: %d - 잉크스케이프" +msgstr "%s: %d - Inkscape" #: ../src/widgets/desktop-widget.cpp:626 -#, fuzzy, c-format +#, c-format msgid "%s (outline) - Inkscape" -msgstr "%s - 잉크스케이프" +msgstr "%s (윤곽선) - Inkscape" #: ../src/widgets/desktop-widget.cpp:628 #, c-format msgid "%s - Inkscape" -msgstr "%s - 잉크스케이프" +msgstr "%s - Inkscape" #. Family frame #: ../src/widgets/font-selector.cpp:154 msgid "Font family" -msgstr "글꼴 패밀리" +msgstr "글꼴 모음" #. Style frame #: ../src/widgets/font-selector.cpp:185 @@ -15385,27 +14394,24 @@ msgstr "글꼴 크기:" #. * text has been entered) to get a preview of the font. Choose #. * some representative characters that users of your locale will be #. * interested in. -#: ../src/widgets/font-selector.cpp:636 ../src/widgets/toolbox.cpp:5123 +#: ../src/widgets/font-selector.cpp:636 +#: ../src/widgets/toolbox.cpp:5123 msgid "AaBbCcIiPpQq12369$€¢?.;/()" msgstr "AaBbCcIiPpQq12369$€¢?.;/()" #: ../src/widgets/gradient-selector.cpp:139 #: ../src/widgets/gradient-toolbar.cpp:462 msgid "Edit..." -msgstr "수정..." +msgstr "편집..." #. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/pservers.html#LinearGradientSpreadMethodAttribute #: ../src/widgets/gradient-selector.cpp:156 -msgid "" -"Whether to fill with flat color beyond the ends of the gradient vector " -"(spreadMethod=\"pad\"), or repeat the gradient in the same direction " -"(spreadMethod=\"repeat\"), or repeat the gradient in alternating opposite " -"directions (spreadMethod=\"reflect\")" -msgstr "" +msgid "Whether to fill with flat color beyond the ends of the gradient vector (spreadMethod=\"pad\"), or repeat the gradient in the same direction (spreadMethod=\"repeat\"), or repeat the gradient in alternating opposite directions (spreadMethod=\"reflect\")" +msgstr "그라디언트 벡터의 끝 너머 평면 색상으로 채울 지(확장방법=\"pad\") 또는 동일방향에서 그라디언트를 반복할 지(확장방법=\"repeat\"), 또는 반대 방향에서 그라디언트를 반복할 지(확장방법=\"reflect\")" #: ../src/widgets/gradient-selector.cpp:166 msgid "reflected" -msgstr "" +msgstr "반사" #: ../src/widgets/gradient-selector.cpp:170 msgid "direct" @@ -15416,418 +14422,404 @@ msgid "Repeat:" msgstr "반복:" #: ../src/widgets/gradient-toolbar.cpp:151 -#, fuzzy msgid "Assign gradient to object" -msgstr "간격띄우기 유형" +msgstr "그라디언트를 객체에 할당" #: ../src/widgets/gradient-toolbar.cpp:185 msgid "No gradients" -msgstr "" +msgstr "그라디언트 없음" #: ../src/widgets/gradient-toolbar.cpp:194 msgid "Nothing selected" -msgstr "" +msgstr "선택된 것 없음" #: ../src/widgets/gradient-toolbar.cpp:205 msgid "No gradients in selection" -msgstr "" +msgstr "선택에서 그라디언트 없음" #: ../src/widgets/gradient-toolbar.cpp:215 msgid "Multiple gradients" -msgstr "" +msgstr "다수 그라디언트" #: ../src/widgets/gradient-toolbar.cpp:463 msgid "Edit the stops of the gradient" -msgstr "" - -#: ../src/widgets/gradient-toolbar.cpp:522 ../src/widgets/toolbox.cpp:1936 -#: ../src/widgets/toolbox.cpp:2010 ../src/widgets/toolbox.cpp:2340 -#: ../src/widgets/toolbox.cpp:2378 ../src/widgets/toolbox.cpp:2992 -#: ../src/widgets/toolbox.cpp:3016 ../src/widgets/toolbox.cpp:4110 +msgstr "그라디언트 조절점 편집" + +#: ../src/widgets/gradient-toolbar.cpp:522 +#: ../src/widgets/toolbox.cpp:1936 +#: ../src/widgets/toolbox.cpp:2010 +#: ../src/widgets/toolbox.cpp:2340 +#: ../src/widgets/toolbox.cpp:2378 +#: ../src/widgets/toolbox.cpp:2992 +#: ../src/widgets/toolbox.cpp:3016 +#: ../src/widgets/toolbox.cpp:4110 #: ../src/widgets/toolbox.cpp:4137 msgid "New:" -msgstr "" +msgstr "새 객체:" #: ../src/widgets/gradient-toolbar.cpp:535 msgid "Create linear gradient" -msgstr "" +msgstr "선형 그라디언트 생성" #: ../src/widgets/gradient-toolbar.cpp:549 msgid "Create radial (elliptic or circular) gradient" -msgstr "" +msgstr "방사 (타원 또는 원형) 그라디언트 생성" #: ../src/widgets/gradient-toolbar.cpp:564 msgid "on" -msgstr "" +msgstr "On" #: ../src/widgets/gradient-toolbar.cpp:577 msgid "Create gradient in the fill" -msgstr "" +msgstr "채움 그라디언트 생성" #: ../src/widgets/gradient-toolbar.cpp:591 msgid "Create gradient in the stroke" -msgstr "" +msgstr "윤곽선 그라디언트 생성" #. FIXME: implement averaging of all parameters for multiple selected #. gtk_label_set_markup(GTK_LABEL(l), _("Average:")); -#: ../src/widgets/gradient-toolbar.cpp:605 ../src/widgets/toolbox.cpp:1938 -#: ../src/widgets/toolbox.cpp:2348 ../src/widgets/toolbox.cpp:2366 -#: ../src/widgets/toolbox.cpp:2994 ../src/widgets/toolbox.cpp:3005 -#: ../src/widgets/toolbox.cpp:4113 ../src/widgets/toolbox.cpp:4124 +#: ../src/widgets/gradient-toolbar.cpp:605 +#: ../src/widgets/toolbox.cpp:1938 +#: ../src/widgets/toolbox.cpp:2348 +#: ../src/widgets/toolbox.cpp:2366 +#: ../src/widgets/toolbox.cpp:2994 +#: ../src/widgets/toolbox.cpp:3005 +#: ../src/widgets/toolbox.cpp:4113 +#: ../src/widgets/toolbox.cpp:4124 msgid "Change:" -msgstr "" +msgstr "변경:" #: ../src/widgets/gradient-vector.cpp:270 msgid "No gradients in document" -msgstr "" +msgstr "문서에 그라디언트 없음" #: ../src/widgets/gradient-vector.cpp:276 msgid "No gradient selected" -msgstr "" +msgstr "선택 그라디언트 없음" #: ../src/widgets/gradient-vector.cpp:538 msgid "No stops in gradient" -msgstr "" +msgstr "그라디언트에서 조절점 없음" #: ../src/widgets/gradient-vector.cpp:661 msgid "Change gradient stop offset" -msgstr "" +msgstr "그라디언트 조절점 옵셋 변경" #. TRANSLATORS: "Stop" means: a "phase" of a gradient #: ../src/widgets/gradient-vector.cpp:803 msgid "Add stop" -msgstr "" +msgstr "조절점 더하기" #: ../src/widgets/gradient-vector.cpp:806 msgid "Add another control stop to gradient" -msgstr "" +msgstr "다른 제어 조절점을 그라디언트에 더하기" #: ../src/widgets/gradient-vector.cpp:808 msgid "Delete stop" -msgstr "" +msgstr "조절점 삭제" #: ../src/widgets/gradient-vector.cpp:811 msgid "Delete current control stop from gradient" -msgstr "" +msgstr "그라디언트에서 현재 제어 조절점을 삭제" #. Label #: ../src/widgets/gradient-vector.cpp:822 msgid "Offset:" -msgstr "" +msgstr "옵셋:" #. TRANSLATORS: "Stop" means: a "phase" of a gradient #: ../src/widgets/gradient-vector.cpp:867 msgid "Stop Color" -msgstr "" +msgstr "조절점 색상" #: ../src/widgets/gradient-vector.cpp:896 msgid "Gradient editor" -msgstr "" +msgstr "그라디언트 편집기" #: ../src/widgets/gradient-vector.cpp:1171 msgid "Change gradient stop color" -msgstr "" +msgstr "그라디언트 조절점 색상 변경" #: ../src/widgets/layer-selector.cpp:115 msgid "Toggle current layer visibility" -msgstr "" +msgstr "현재 레이어 보기 토글" #: ../src/widgets/layer-selector.cpp:135 msgid "Lock or unlock current layer" -msgstr "" +msgstr "현재 레이어 잠금 또는 잠금해제" #: ../src/widgets/layer-selector.cpp:138 msgid "Current layer" -msgstr "" +msgstr "현재 레이어" #: ../src/widgets/layer-selector.cpp:566 msgid "(root)" -msgstr "" +msgstr "(루트)" -#: ../src/widgets/paint-selector.cpp:181 ../src/widgets/paint-selector.cpp:564 +#: ../src/widgets/paint-selector.cpp:181 +#: ../src/widgets/paint-selector.cpp:564 msgid "No paint" -msgstr "" +msgstr "칠하기 없음" -#: ../src/widgets/paint-selector.cpp:183 ../src/widgets/paint-selector.cpp:636 +#: ../src/widgets/paint-selector.cpp:183 +#: ../src/widgets/paint-selector.cpp:636 msgid "Flat color" -msgstr "" +msgstr "평면 색상" -#: ../src/widgets/paint-selector.cpp:185 ../src/widgets/paint-selector.cpp:707 +#: ../src/widgets/paint-selector.cpp:185 +#: ../src/widgets/paint-selector.cpp:707 msgid "Linear gradient" -msgstr "" +msgstr "선형 그라디언트" -#: ../src/widgets/paint-selector.cpp:187 ../src/widgets/paint-selector.cpp:710 +#: ../src/widgets/paint-selector.cpp:187 +#: ../src/widgets/paint-selector.cpp:710 msgid "Radial gradient" -msgstr "" +msgstr "방사 그라디언트" #: ../src/widgets/paint-selector.cpp:191 msgid "Unset paint (make it undefined so it can be inherited)" -msgstr "" +msgstr "칠하기 설정 안함(정의를 하지 않으면 상속될 수 있음)" #. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/painting.html#FillRuleProperty #: ../src/widgets/paint-selector.cpp:203 -msgid "" -"Any path self-intersections or subpaths create holes in the fill (fill-rule: " -"evenodd)" -msgstr "" +msgid "Any path self-intersections or subpaths create holes in the fill (fill-rule: evenodd)" +msgstr "경로 자체-교차 또는 하위 경로는 채움에서 구멍을 생성(채움 규칙:반반)" #. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/painting.html#FillRuleProperty #: ../src/widgets/paint-selector.cpp:214 -msgid "" -"Fill is solid unless a subpath is counterdirectional (fill-rule: nonzero)" -msgstr "" +msgid "Fill is solid unless a subpath is counterdirectional (fill-rule: nonzero)" +msgstr "하위경로가 반대방향이 아니라면 채움은 단색(채움 규칙: 0이 아님)" #: ../src/widgets/paint-selector.cpp:531 msgid "No objects" -msgstr "" +msgstr "객체 없음" #: ../src/widgets/paint-selector.cpp:542 msgid "Multiple styles" -msgstr "" +msgstr "다수 스타일" #: ../src/widgets/paint-selector.cpp:553 msgid "Paint is undefined" -msgstr "" +msgstr "칠하기가 정의되지 않음" #: ../src/widgets/paint-selector.cpp:984 -msgid "" -"Use the Node tool to adjust position, scale, and rotation of the " -"pattern on canvas. Use Object > Pattern > Objects to Pattern to " -"create a new pattern from selection." -msgstr "" +msgid "Use the Node tool to adjust position, scale, and rotation of the pattern on canvas. Use Object > Pattern > Objects to Pattern to create a new pattern from selection." +msgstr "캔버스에서 패턴의 위치,비율, 회전을 조정하기 위하여 노드 도구를 사용. 선택으로부터 새 패턴을 생성하기 위하여 객체 패턴 사용" #: ../src/widgets/select-toolbar.cpp:244 -#, fuzzy msgid "Transform by toolbar" -msgstr "이동" +msgstr "도구막대에 의한 변형" #: ../src/widgets/select-toolbar.cpp:299 msgid "Now stroke width is scaled when objects are scaled." -msgstr "" +msgstr "지금 객체가 변하면 윤곽선 폭의 비율이 변함" #: ../src/widgets/select-toolbar.cpp:301 msgid "Now stroke width is not scaled when objects are scaled." -msgstr "" +msgstr "지금 객체가 변하면 윤곽선 폭의 비율이 변하지 않음" #: ../src/widgets/select-toolbar.cpp:310 -msgid "" -"Now rounded rectangle corners are scaled when rectangles are " -"scaled." -msgstr "" +msgid "Now rounded rectangle corners are scaled when rectangles are scaled." +msgstr "지금 직사각형이 변하면 둥근 직사각형 모서리 비율이 변함" #: ../src/widgets/select-toolbar.cpp:312 -msgid "" -"Now rounded rectangle corners are not scaled when rectangles " -"are scaled." -msgstr "" +msgid "Now rounded rectangle corners are not scaled when rectangles are scaled." +msgstr "지금 직사각형이 변하면 둥근 직사각형 모서리 비율이 변하지 않음" #: ../src/widgets/select-toolbar.cpp:321 -msgid "" -"Now gradients are transformed along with their objects when " -"those are transformed (moved, scaled, rotated, or skewed)." -msgstr "" +msgid "Now gradients are transformed along with their objects when those are transformed (moved, scaled, rotated, or skewed)." +msgstr "지금 객체가 변하면(이동,비율,회전, 기울이기등) 객체를 따라 그라디언트가 변함" #: ../src/widgets/select-toolbar.cpp:323 -msgid "" -"Now gradients remain fixed when objects are transformed " -"(moved, scaled, rotated, or skewed)." -msgstr "" +msgid "Now gradients remain fixed when objects are transformed (moved, scaled, rotated, or skewed)." +msgstr "지금 객체가 변하면(이동,비율,회전, 기울이기등) 객체를 따라 그라디언트가 고정" #: ../src/widgets/select-toolbar.cpp:332 -msgid "" -"Now patterns are transformed along with their objects when " -"those are transformed (moved, scaled, rotated, or skewed)." -msgstr "" +msgid "Now patterns are transformed along with their objects when those are transformed (moved, scaled, rotated, or skewed)." +msgstr "지금 객체가 변하면(이동,비율,회전, 기울이기등) 객체를 따라 패턴이 변함" #: ../src/widgets/select-toolbar.cpp:334 -msgid "" -"Now patterns remain fixed when objects are transformed (moved, " -"scaled, rotated, or skewed)." -msgstr "" +msgid "Now patterns remain fixed when objects are transformed (moved, scaled, rotated, or skewed)." +msgstr "지금 객체가 변하면(이동,비율,회전, 기울이기등) 객체를 따라 패턴이 고정" #. four spinbuttons #. TRANSLATORS: only translate "string" in "context|string". #. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS #: ../src/widgets/select-toolbar.cpp:446 msgid "select_toolbar|X position" -msgstr "" +msgstr "선택_도구막대|X 위치" #: ../src/widgets/select-toolbar.cpp:446 msgid "select_toolbar|X" -msgstr "" +msgstr "선택_도구막대|X 위치" #: ../src/widgets/select-toolbar.cpp:448 msgid "Horizontal coordinate of selection" -msgstr "" +msgstr "선택 객체의 수평 좌표" #. TRANSLATORS: only translate "string" in "context|string". #. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS #: ../src/widgets/select-toolbar.cpp:454 msgid "select_toolbar|Y position" -msgstr "" +msgstr "선택_도구막대|Y 위치" #: ../src/widgets/select-toolbar.cpp:454 msgid "select_toolbar|Y" -msgstr "" +msgstr "선택_도구막대|Y 위치" #: ../src/widgets/select-toolbar.cpp:456 msgid "Vertical coordinate of selection" -msgstr "" +msgstr "선택 객체의 수직 좌표" #. TRANSLATORS: only translate "string" in "context|string". #. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS #: ../src/widgets/select-toolbar.cpp:462 msgid "select_toolbar|Width" -msgstr "" +msgstr "선택_도구막대|폭" #: ../src/widgets/select-toolbar.cpp:462 msgid "select_toolbar|W" -msgstr "" +msgstr "선택_도구막대|폭" #: ../src/widgets/select-toolbar.cpp:464 msgid "Width of selection" -msgstr "" +msgstr "선택 객체의 폭" #: ../src/widgets/select-toolbar.cpp:471 -#, fuzzy msgid "Lock width and height" -msgstr "폭, 높이: " +msgstr "폭과 높이를 잠금" #: ../src/widgets/select-toolbar.cpp:472 msgid "When locked, change both width and height by the same proportion" -msgstr "" +msgstr "잠금시, 동일비율로 폭과 높이 변경" #. TRANSLATORS: only translate "string" in "context|string". #. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS #: ../src/widgets/select-toolbar.cpp:483 msgid "select_toolbar|Height" -msgstr "" +msgstr "선택_도구막대|높이" #: ../src/widgets/select-toolbar.cpp:483 msgid "select_toolbar|H" -msgstr "" +msgstr "선택_도구막대|높이" #: ../src/widgets/select-toolbar.cpp:485 msgid "Height of selection" -msgstr "" +msgstr "선택 객체 높이" #: ../src/widgets/select-toolbar.cpp:516 -#, fuzzy msgid "Affect:" -msgstr "옵셋" +msgstr "효과:" #: ../src/widgets/select-toolbar.cpp:535 -#, fuzzy msgid "Scale rounded corners" -msgstr "노드 올리기" +msgstr "둥근 모서리 변경" #: ../src/widgets/select-toolbar.cpp:546 -#, fuzzy msgid "Move gradients" -msgstr "임의의 노드 관리" +msgstr "그라디언트 이동" #: ../src/widgets/select-toolbar.cpp:557 -#, fuzzy msgid "Move patterns" -msgstr "반복무늬" +msgstr "패턴 이동" #: ../src/widgets/sp-color-gtkselector.cpp:50 msgid "System" -msgstr "" +msgstr "시스템" #: ../src/widgets/sp-color-icc-selector.cpp:110 msgid "CMS" -msgstr "" +msgstr "색상관리시스템" #: ../src/widgets/sp-color-icc-selector.cpp:219 #: ../src/widgets/sp-color-scales.cpp:397 msgid "_R" -msgstr "" +msgstr "빨강(_R)" #: ../src/widgets/sp-color-icc-selector.cpp:219 #: ../src/widgets/sp-color-icc-selector.cpp:220 #: ../src/widgets/sp-color-scales.cpp:400 msgid "_G" -msgstr "_G" +msgstr "녹색(_G)" #: ../src/widgets/sp-color-icc-selector.cpp:219 #: ../src/widgets/sp-color-scales.cpp:403 msgid "_B" -msgstr "_B" +msgstr "청색(_B)" #: ../src/widgets/sp-color-icc-selector.cpp:221 #: ../src/widgets/sp-color-icc-selector.cpp:222 #: ../src/widgets/sp-color-scales.cpp:423 msgid "_H" -msgstr "_H" +msgstr "색조(_H)" #: ../src/widgets/sp-color-icc-selector.cpp:221 #: ../src/widgets/sp-color-icc-selector.cpp:222 #: ../src/widgets/sp-color-scales.cpp:426 msgid "_S" -msgstr "_S" +msgstr "채도(_S)" #: ../src/widgets/sp-color-icc-selector.cpp:222 #: ../src/widgets/sp-color-scales.cpp:429 msgid "_L" -msgstr "_L" +msgstr "명도(_L)" #: ../src/widgets/sp-color-icc-selector.cpp:223 #: ../src/widgets/sp-color-icc-selector.cpp:224 #: ../src/widgets/sp-color-scales.cpp:451 msgid "_C" -msgstr "_C" +msgstr "청녹색(_C)" #: ../src/widgets/sp-color-icc-selector.cpp:223 #: ../src/widgets/sp-color-icc-selector.cpp:224 #: ../src/widgets/sp-color-scales.cpp:454 msgid "_M" -msgstr "" +msgstr "자홍색(_M)" #: ../src/widgets/sp-color-icc-selector.cpp:223 #: ../src/widgets/sp-color-icc-selector.cpp:224 #: ../src/widgets/sp-color-scales.cpp:457 msgid "_Y" -msgstr "" +msgstr "노랑색(_Y)" #: ../src/widgets/sp-color-icc-selector.cpp:223 #: ../src/widgets/sp-color-scales.cpp:460 msgid "_K" -msgstr "" +msgstr "검은색(_K)" #: ../src/widgets/sp-color-icc-selector.cpp:234 -#, fuzzy msgid "Gray" -msgstr "그룹" +msgstr "회색" #: ../src/widgets/sp-color-icc-selector.cpp:237 #: ../src/widgets/sp-color-icc-selector.cpp:238 #: ../src/widgets/sp-color-scales.cpp:452 #: ../src/widgets/sp-color-scales.cpp:453 msgid "Cyan" -msgstr "" +msgstr "청록색" #: ../src/widgets/sp-color-icc-selector.cpp:237 #: ../src/widgets/sp-color-icc-selector.cpp:238 #: ../src/widgets/sp-color-scales.cpp:455 #: ../src/widgets/sp-color-scales.cpp:456 msgid "Magenta" -msgstr "" +msgstr "자홍색" #: ../src/widgets/sp-color-icc-selector.cpp:237 #: ../src/widgets/sp-color-icc-selector.cpp:238 #: ../src/widgets/sp-color-scales.cpp:458 #: ../src/widgets/sp-color-scales.cpp:459 msgid "Yellow" -msgstr "" +msgstr "노랑색" #: ../src/widgets/sp-color-icc-selector.cpp:295 msgid "Fix" -msgstr "" +msgstr "고정" #: ../src/widgets/sp-color-icc-selector.cpp:298 msgid "Fix RGB fallback to match icc-color() value." -msgstr "" +msgstr "ICC 색상 값을 일치시키기 위하여 RGB 대체 색상 고정" #. Label #: ../src/widgets/sp-color-icc-selector.cpp:379 @@ -15836,7 +14828,7 @@ msgstr "" #: ../src/widgets/sp-color-scales.cpp:463 #: ../src/widgets/sp-color-wheel-selector.cpp:134 msgid "_A" -msgstr "_A" +msgstr "알파(_A)" #: ../src/widgets/sp-color-icc-selector.cpp:389 #: ../src/widgets/sp-color-icc-selector.cpp:401 @@ -15853,1205 +14845,1115 @@ msgstr "알파 (불투명도)" #: ../src/widgets/sp-color-notebook.cpp:329 msgid "RGBA_:" -msgstr "" +msgstr "RGB(적녹청)+알파값:" #: ../src/widgets/sp-color-notebook.cpp:337 msgid "Hexadecimal RGBA value of the color" -msgstr "" +msgstr "16진수 RGBA 색상값" #: ../src/widgets/sp-color-scales.cpp:77 msgid "RGB" -msgstr "" +msgstr "RGB" #: ../src/widgets/sp-color-scales.cpp:77 msgid "HSL" -msgstr "" +msgstr "HSL" #: ../src/widgets/sp-color-scales.cpp:77 msgid "CMYK" -msgstr "" +msgstr "CMYK" #: ../src/widgets/sp-color-selector.cpp:64 msgid "Unnamed" -msgstr "" +msgstr "이름 없음" #: ../src/widgets/sp-color-wheel-selector.cpp:61 msgid "Wheel" -msgstr "휠" +msgstr "색상판" #: ../src/widgets/sp-xmlview-attr-list.cpp:46 msgid "Attribute" -msgstr "" +msgstr "속성" #: ../src/widgets/sp-xmlview-attr-list.cpp:47 #: ../share/extensions/perfectboundcover.inx.h:19 msgid "Value" -msgstr "" +msgstr "값" #: ../src/widgets/sp-xmlview-content.cpp:169 msgid "Type text in a text node" -msgstr "" +msgstr "문자열 노드에서 문자열을 입력" #: ../src/widgets/toolbox.cpp:187 msgid "Color/opacity used for color tweaking" -msgstr "" +msgstr "색상 조정에 사용된 색상/불투명도" #: ../src/widgets/toolbox.cpp:191 msgid "Style of new stars" -msgstr "" +msgstr "새 별의 스타일" #: ../src/widgets/toolbox.cpp:193 -#, fuzzy msgid "Style of new rectangles" -msgstr "사각형 찾기" +msgstr "새 사각형 스타일" #: ../src/widgets/toolbox.cpp:195 -#, fuzzy msgid "Style of new 3D boxes" -msgstr "사각형 찾기" +msgstr "새 3D 상자의 스타일" #: ../src/widgets/toolbox.cpp:197 msgid "Style of new ellipses" -msgstr "" +msgstr "새 타원의 스타일" #: ../src/widgets/toolbox.cpp:199 msgid "Style of new spirals" -msgstr "" +msgstr "새 나선의 스타일" #: ../src/widgets/toolbox.cpp:201 msgid "Style of new paths created by Pencil" -msgstr "" +msgstr "연필에 의해 생성된 새 경로의 스타일" #: ../src/widgets/toolbox.cpp:203 msgid "Style of new paths created by Pen" -msgstr "" +msgstr "펜에 의해 생성된 새 경로의 스타일" #: ../src/widgets/toolbox.cpp:205 -#, fuzzy msgid "Style of new calligraphic strokes" -msgstr "중심선" +msgstr "새 글자체 윤곽선의 스타일" #: ../src/widgets/toolbox.cpp:207 msgid "TBD" -msgstr "" +msgstr "TBD" #: ../src/widgets/toolbox.cpp:217 msgid "Style of Paint Bucket fill objects" -msgstr "" +msgstr "페인트통 채움 객체 스타일" #: ../src/widgets/toolbox.cpp:1075 -#, fuzzy msgid "Insert node" -msgstr "반전" +msgstr "노드 삽입" #: ../src/widgets/toolbox.cpp:1076 msgid "Insert new nodes into selected segments" -msgstr "" +msgstr "새 노드를 선택 세그먼트에 삽입" #: ../src/widgets/toolbox.cpp:1079 -#, fuzzy msgid "Insert" -msgstr "반전" +msgstr "삽입" #: ../src/widgets/toolbox.cpp:1087 msgid "Delete selected nodes" -msgstr "" +msgstr "선택 노드 삭제" #: ../src/widgets/toolbox.cpp:1097 -#, fuzzy msgid "Join endnodes" -msgstr "임의의 노드" +msgstr "끝 노드 결합" #: ../src/widgets/toolbox.cpp:1098 msgid "Join selected endnodes" -msgstr "" +msgstr "선택 끝 노드 결합" #: ../src/widgets/toolbox.cpp:1101 -#, fuzzy msgid "Join" -msgstr "합체:" +msgstr "결합" #: ../src/widgets/toolbox.cpp:1108 -#, fuzzy msgid "Break nodes" -msgstr "노드를 아래도" +msgstr "노드 나누기" #: ../src/widgets/toolbox.cpp:1109 msgid "Break path at selected nodes" -msgstr "" +msgstr "선택 노드에서 경로를 나누기" #: ../src/widgets/toolbox.cpp:1119 -#, fuzzy msgid "Join with segment" -msgstr "선택부분 지우기" +msgstr "세그먼트로 결합" #: ../src/widgets/toolbox.cpp:1120 msgid "Join selected endnodes with a new segment" -msgstr "" +msgstr "선택 끝 노드를 새 세그먼트로 결합" #: ../src/widgets/toolbox.cpp:1130 msgid "Delete segment between two non-endpoint nodes" -msgstr "" +msgstr "두 끝점이 아닌 노드 사이 세그먼트 삭제" #: ../src/widgets/toolbox.cpp:1139 -#, fuzzy msgid "Node Cusp" -msgstr "노드" +msgstr "노드 날카롭게" #: ../src/widgets/toolbox.cpp:1140 msgid "Make selected nodes corner" -msgstr "" +msgstr "선택 노드 모서리 생성" #: ../src/widgets/toolbox.cpp:1149 -#, fuzzy msgid "Node Smooth" -msgstr "부드러움" +msgstr "노드 부드럽게" #: ../src/widgets/toolbox.cpp:1150 msgid "Make selected nodes smooth" -msgstr "" +msgstr "선택 노드를 부드럽게" #: ../src/widgets/toolbox.cpp:1159 msgid "Node Symmetric" -msgstr "" +msgstr "노드 대칭" #: ../src/widgets/toolbox.cpp:1160 msgid "Make selected nodes symmetric" -msgstr "" +msgstr "선택 노드들을 대칭으로" #: ../src/widgets/toolbox.cpp:1169 -#, fuzzy msgid "Node Line" -msgstr "중심선" +msgstr "노드 선" #: ../src/widgets/toolbox.cpp:1170 msgid "Make selected segments lines" -msgstr "" +msgstr "선택 세크먼트를 선으로" #: ../src/widgets/toolbox.cpp:1179 -#, fuzzy msgid "Node Curve" -msgstr "미리보기 없음" +msgstr "노드 곡선" #: ../src/widgets/toolbox.cpp:1180 msgid "Make selected segments curves" -msgstr "" +msgstr "선택 세그먼트를 곡선으로" #: ../src/widgets/toolbox.cpp:1189 -#, fuzzy msgid "Show Handles" -msgstr "임의의 노드 관리" +msgstr "핸들 보이기" #: ../src/widgets/toolbox.cpp:1190 msgid "Show the Bezier handles of selected nodes" -msgstr "" +msgstr "선택 노드의 베지어 핸들 보이기" #: ../src/widgets/toolbox.cpp:1200 -#, fuzzy msgid "Show Outline" -msgstr "박스 외각선" +msgstr "윤곽선 보이기" #: ../src/widgets/toolbox.cpp:1201 -#, fuzzy msgid "Show the outline of the path" -msgstr "점선 유형" +msgstr "경로의 윤곽선 보이기" #: ../src/widgets/toolbox.cpp:1211 -#, fuzzy msgid "Next path effect parameter" -msgstr "불이기 종류(_S)" +msgstr "다음 경로 효과 인자" #: ../src/widgets/toolbox.cpp:1212 -#, fuzzy msgid "Show next path effect parameter for editing" -msgstr "불이기 종류(_S)" +msgstr "편집을 위해 다음 경로 효과 인자 보이기" #: ../src/widgets/toolbox.cpp:1223 -#, fuzzy msgid "Edit the clipping path of the object" -msgstr "경로 닫는중." +msgstr "객체 자르기 경로 편집" #: ../src/widgets/toolbox.cpp:1233 -#, fuzzy msgid "Edit mask path" -msgstr "별" +msgstr "마스크 경로 편집" #: ../src/widgets/toolbox.cpp:1234 -#, fuzzy msgid "Edit the mask of the object" -msgstr "선택됀 객체의 복사본 만들기" +msgstr "객체 마스크 편집" #: ../src/widgets/toolbox.cpp:1248 msgid "X coordinate:" -msgstr "" +msgstr "X 좌표:" #: ../src/widgets/toolbox.cpp:1248 -#, fuzzy msgid "X coordinate of selected node(s)" -msgstr "선택됀 객체의 복사본 만들기" +msgstr "선택 노드의 X 좌표" #: ../src/widgets/toolbox.cpp:1266 msgid "Y coordinate:" -msgstr "" +msgstr "Y 좌표:" #: ../src/widgets/toolbox.cpp:1266 -#, fuzzy msgid "Y coordinate of selected node(s)" -msgstr "선택됀 객체의 복사본 만들기" +msgstr "선택 노드의 Y 좌표" #: ../src/widgets/toolbox.cpp:1688 msgid "Star: Change number of corners" -msgstr "" +msgstr "별: 모서리 갯수 변경" #: ../src/widgets/toolbox.cpp:1730 -#, fuzzy msgid "Star: Change spoke ratio" -msgstr "이동치 저장" +msgstr "별 : 부채살 비율 변경" #: ../src/widgets/toolbox.cpp:1773 -#, fuzzy msgid "Make polygon" -msgstr "완전히 만들기" +msgstr "다각형 생성" #: ../src/widgets/toolbox.cpp:1773 -#, fuzzy msgid "Make star" -msgstr "중심선" +msgstr "별 생성" #: ../src/widgets/toolbox.cpp:1808 msgid "Star: Change rounding" -msgstr "" +msgstr "별: 둥긂 정도 변경" #: ../src/widgets/toolbox.cpp:1842 -#, fuzzy msgid "Star: Change randomization" -msgstr "이동치 저장" +msgstr "별: 무작위 변경" #: ../src/widgets/toolbox.cpp:2029 msgid "Regular polygon (with one handle) instead of a star" -msgstr "" +msgstr "별 대신 한 개의 핸들을 가진 정규 다각형" #: ../src/widgets/toolbox.cpp:2036 msgid "Star instead of a regular polygon (with one handle)" -msgstr "" +msgstr "정규 다각형 대신 한 개의 핸들을 가진 별" #: ../src/widgets/toolbox.cpp:2057 msgid "triangle/tri-star" -msgstr "" +msgstr "3각형/3-점 별" #: ../src/widgets/toolbox.cpp:2057 msgid "square/quad-star" -msgstr "" +msgstr "4각형/4-점 별" #: ../src/widgets/toolbox.cpp:2057 msgid "pentagon/five-pointed star" -msgstr "" +msgstr "5각형/5-점 별" #: ../src/widgets/toolbox.cpp:2057 msgid "hexagon/six-pointed star" -msgstr "" +msgstr "6각형/6-점 별" #: ../src/widgets/toolbox.cpp:2060 -#, fuzzy msgid "Corners" -msgstr "복사 객체" +msgstr "모서리" #: ../src/widgets/toolbox.cpp:2060 msgid "Corners:" -msgstr "" +msgstr "모서리:" #: ../src/widgets/toolbox.cpp:2060 msgid "Number of corners of a polygon or star" -msgstr "" +msgstr "다각형 또는 별의 모서리 갯수" #: ../src/widgets/toolbox.cpp:2073 msgid "thin-ray star" -msgstr "" +msgstr "얇은 빛 별" #: ../src/widgets/toolbox.cpp:2073 -msgid "pentagram" -msgstr "" +msgid "pentagrampentagram" +msgstr "5각별" #: ../src/widgets/toolbox.cpp:2073 msgid "hexagram" -msgstr "" +msgstr "6각별" #: ../src/widgets/toolbox.cpp:2073 msgid "heptagram" -msgstr "" +msgstr "7각별" #: ../src/widgets/toolbox.cpp:2073 msgid "octagram" -msgstr "" +msgstr "8각별" #: ../src/widgets/toolbox.cpp:2073 -#, fuzzy msgid "regular polygon" -msgstr "완전히 만들기" +msgstr "정규 다각형" #: ../src/widgets/toolbox.cpp:2076 -#, fuzzy msgid "Spoke ratio" -msgstr "볆" +msgstr "부채살 비율" #: ../src/widgets/toolbox.cpp:2076 msgid "Spoke ratio:" -msgstr "" +msgstr "바퀴살 비율:" #. TRANSLATORS: Tip radius of a star is the distance from the center to the farthest handle. #. Base radius is the same for the closest handle. #: ../src/widgets/toolbox.cpp:2079 msgid "Base radius to tip radius ratio" -msgstr "" +msgstr "기본 반경을 정점 반경 비율로" #: ../src/widgets/toolbox.cpp:2097 msgid "stretched" -msgstr "" +msgstr "확장" #: ../src/widgets/toolbox.cpp:2097 msgid "twisted" -msgstr "" +msgstr "휘기" #: ../src/widgets/toolbox.cpp:2097 msgid "slightly pinched" -msgstr "" +msgstr "약간 꼬집기" #: ../src/widgets/toolbox.cpp:2097 msgid "NOT rounded" -msgstr "" +msgstr "둥글지 않음" #: ../src/widgets/toolbox.cpp:2097 msgid "slightly rounded" -msgstr "" +msgstr "약간 둥긂" #: ../src/widgets/toolbox.cpp:2097 msgid "visibly rounded" -msgstr "" +msgstr "둥긂" #: ../src/widgets/toolbox.cpp:2097 msgid "well rounded" -msgstr "" +msgstr "아주 둥긂" #: ../src/widgets/toolbox.cpp:2097 msgid "amply rounded" -msgstr "" +msgstr "둥긂 확대" -#: ../src/widgets/toolbox.cpp:2097 ../src/widgets/toolbox.cpp:2112 +#: ../src/widgets/toolbox.cpp:2097 +#: ../src/widgets/toolbox.cpp:2112 msgid "blown up" -msgstr "" +msgstr "확대" #: ../src/widgets/toolbox.cpp:2100 -#, fuzzy msgid "Rounded" -msgstr "불러들임" +msgstr "둥긂" #: ../src/widgets/toolbox.cpp:2100 msgid "Rounded:" -msgstr "" +msgstr "둥긂:" #: ../src/widgets/toolbox.cpp:2100 msgid "How much rounded are the corners (0 for sharp)" -msgstr "" +msgstr "모서리가 얼마나 둥근가 (날카로움은 0)" #: ../src/widgets/toolbox.cpp:2112 -#, fuzzy msgid "NOT randomized" -msgstr "램덤:" +msgstr "무작위 아님" #: ../src/widgets/toolbox.cpp:2112 msgid "slightly irregular" -msgstr "" +msgstr "약간 불규칙" #: ../src/widgets/toolbox.cpp:2112 -#, fuzzy msgid "visibly randomized" -msgstr "임의의 반지름" +msgstr "ë³¼ 수 있는 무작위" #: ../src/widgets/toolbox.cpp:2112 msgid "strongly randomized" -msgstr "" +msgstr "강한 무작위" #: ../src/widgets/toolbox.cpp:2115 -#, fuzzy msgid "Randomized" -msgstr "램덤:" +msgstr "무작위" #: ../src/widgets/toolbox.cpp:2115 msgid "Randomized:" -msgstr "" +msgstr "무작위:" #: ../src/widgets/toolbox.cpp:2115 msgid "Scatter randomly the corners and angles" -msgstr "" +msgstr "무작위로 모서리와 각도를 흩뜨림" -#: ../src/widgets/toolbox.cpp:2130 ../src/widgets/toolbox.cpp:3067 -#: ../src/widgets/toolbox.cpp:3847 ../src/widgets/toolbox.cpp:5804 +#: ../src/widgets/toolbox.cpp:2130 +#: ../src/widgets/toolbox.cpp:3067 +#: ../src/widgets/toolbox.cpp:3847 +#: ../src/widgets/toolbox.cpp:5804 msgid "Defaults" -msgstr "" +msgstr "기본값" -#: ../src/widgets/toolbox.cpp:2131 ../src/widgets/toolbox.cpp:3068 -msgid "" -"Reset shape parameters to defaults (use Inkscape Preferences > Tools to " -"change defaults)" -msgstr "" +#: ../src/widgets/toolbox.cpp:2131 +#: ../src/widgets/toolbox.cpp:3068 +msgid "Reset shape parameters to defaults (use Inkscape Preferences > Tools to change defaults)" +msgstr "기본값으로 모양 초기화(기본값을 변경하기 위하여 Inkscape 기본설정 > 도구 사용)" #: ../src/widgets/toolbox.cpp:2203 -#, fuzzy msgid "Change rectangle" -msgstr "사각형 찾기" +msgstr "직사각형 변경" #: ../src/widgets/toolbox.cpp:2396 msgid "W:" -msgstr "" +msgstr "폭:" #: ../src/widgets/toolbox.cpp:2396 msgid "Width of rectangle" -msgstr "" +msgstr "사각형 폭" #: ../src/widgets/toolbox.cpp:2413 msgid "H:" -msgstr "" +msgstr "높이:" #: ../src/widgets/toolbox.cpp:2413 msgid "Height of rectangle" -msgstr "" +msgstr "사각형 높이" -#: ../src/widgets/toolbox.cpp:2427 ../src/widgets/toolbox.cpp:2442 +#: ../src/widgets/toolbox.cpp:2427 +#: ../src/widgets/toolbox.cpp:2442 msgid "not rounded" -msgstr "" +msgstr "둥글지 않음" #: ../src/widgets/toolbox.cpp:2430 -#, fuzzy msgid "Horizontal radius" -msgstr "수평 간격" +msgstr "수평 반경" #: ../src/widgets/toolbox.cpp:2430 msgid "Rx:" -msgstr "" +msgstr "X 반경:" #: ../src/widgets/toolbox.cpp:2430 msgid "Horizontal radius of rounded corners" -msgstr "" +msgstr "둥근 모서리의 수평 반경" #: ../src/widgets/toolbox.cpp:2445 -#, fuzzy msgid "Vertical radius" -msgstr "수직 간격" +msgstr "수직 반경" #: ../src/widgets/toolbox.cpp:2445 msgid "Ry:" -msgstr "" +msgstr "Y 반경:" #: ../src/widgets/toolbox.cpp:2445 msgid "Vertical radius of rounded corners" -msgstr "" +msgstr "둥근 모서리의 수직 반경" #: ../src/widgets/toolbox.cpp:2464 msgid "Not rounded" -msgstr "" +msgstr "둥글지 않음" #: ../src/widgets/toolbox.cpp:2465 msgid "Make corners sharp" -msgstr "" +msgstr "모서리를 날카롭게 만듦" #. TODO: use the correct axis here, too #: ../src/widgets/toolbox.cpp:2654 msgid "3D Box: Change perspective (angle of infinite axis)" -msgstr "" +msgstr "3D 상자: 원근 변경 (무한 축 각도)" #: ../src/widgets/toolbox.cpp:2723 msgid "Angle in X direction" -msgstr "" +msgstr "X 방향 각도" #. Translators: PL is short for 'perspective line' #: ../src/widgets/toolbox.cpp:2725 msgid "Angle of PLs in X direction" -msgstr "" +msgstr "X방향의 원근선 각도" #. Translators: VP is short for 'vanishing point' #: ../src/widgets/toolbox.cpp:2747 msgid "State of VP in X direction" -msgstr "" +msgstr "X 방향의 소멸점 상태" #: ../src/widgets/toolbox.cpp:2748 msgid "Toggle VP in X direction between 'finite' and 'infinite' (=parallel)" -msgstr "" +msgstr "유한과 무한 사이 X 방향에서 소멸점 토글(병렬)" #: ../src/widgets/toolbox.cpp:2763 msgid "Angle in Y direction" -msgstr "" +msgstr "Y 방향 각도" #: ../src/widgets/toolbox.cpp:2763 -#, fuzzy msgid "Angle Y:" -msgstr "각도" +msgstr "각도 Y:" #. Translators: PL is short for 'perspective line' #: ../src/widgets/toolbox.cpp:2765 msgid "Angle of PLs in Y direction" -msgstr "" +msgstr "Y 방향 원근선 각도" #. Translators: VP is short for 'vanishing point' #: ../src/widgets/toolbox.cpp:2786 msgid "State of VP in Y direction" -msgstr "" +msgstr "Y 방향 소멸점 상태" #: ../src/widgets/toolbox.cpp:2787 msgid "Toggle VP in Y direction between 'finite' and 'infinite' (=parallel)" -msgstr "" +msgstr "유한과 무한 사이 Y 방향에서 소멸점 토글(병렬)" #: ../src/widgets/toolbox.cpp:2802 msgid "Angle in Z direction" -msgstr "" +msgstr "Z 방향 각도" #. Translators: PL is short for 'perspective line' #: ../src/widgets/toolbox.cpp:2804 msgid "Angle of PLs in Z direction" -msgstr "" +msgstr "Z 방향 원근선 각도" #. Translators: VP is short for 'vanishing point' #: ../src/widgets/toolbox.cpp:2825 msgid "State of VP in Z direction" -msgstr "" +msgstr "Z 방향 소멸점 상태" #: ../src/widgets/toolbox.cpp:2826 msgid "Toggle VP in Z direction between 'finite' and 'infinite' (=parallel)" -msgstr "" +msgstr "유한과 무한 사이 Z 방향에서 소멸점 토글(병렬)" #: ../src/widgets/toolbox.cpp:2883 -#, fuzzy msgid "Change spiral" -msgstr "중심선" +msgstr "나선 변경" #: ../src/widgets/toolbox.cpp:3024 msgid "just a curve" -msgstr "" +msgstr "곡선만" #: ../src/widgets/toolbox.cpp:3024 -#, fuzzy msgid "one full revolution" -msgstr "기본 내보내기 해상도:" +msgstr "한바퀴 전체 회전" #: ../src/widgets/toolbox.cpp:3027 -#, fuzzy msgid "Number of turns" -msgstr "줄 숫자:" +msgstr "회전 수" #: ../src/widgets/toolbox.cpp:3027 msgid "Turns:" -msgstr "" +msgstr "회전수:" #: ../src/widgets/toolbox.cpp:3027 msgid "Number of revolutions" -msgstr "" +msgstr "회전수" #: ../src/widgets/toolbox.cpp:3038 -#, fuzzy msgid "circle" msgstr "원" #: ../src/widgets/toolbox.cpp:3038 msgid "edge is much denser" -msgstr "" +msgstr "모서리가 더 조밀" #: ../src/widgets/toolbox.cpp:3038 msgid "edge is denser" -msgstr "" +msgstr "모서리가 조밀" #: ../src/widgets/toolbox.cpp:3038 -#, fuzzy msgid "even" -msgstr "녹색" +msgstr "짝수" #: ../src/widgets/toolbox.cpp:3038 -#, fuzzy msgid "center is denser" -msgstr "중심선" +msgstr "중앙이 밀집" #: ../src/widgets/toolbox.cpp:3038 msgid "center is much denser" -msgstr "" +msgstr "중앙이 더 조밀" #: ../src/widgets/toolbox.cpp:3041 -#, fuzzy msgid "Divergence" -msgstr "다름" +msgstr "확산" #: ../src/widgets/toolbox.cpp:3041 msgid "Divergence:" -msgstr "" +msgstr "확산:" #: ../src/widgets/toolbox.cpp:3041 msgid "How much denser/sparser are outer revolutions; 1 = uniform" -msgstr "" +msgstr "바깥 회전 방향으로 얼마나 조밀/희박한가; 1= 균일" #: ../src/widgets/toolbox.cpp:3052 -#, fuzzy msgid "starts from center" -msgstr "프린터 선택" +msgstr "중앙으로부터 시작" #: ../src/widgets/toolbox.cpp:3052 msgid "starts mid-way" -msgstr "" +msgstr "중간에서 시작" #: ../src/widgets/toolbox.cpp:3052 msgid "starts near edge" -msgstr "" +msgstr "가까운 모서리에서 시작" #: ../src/widgets/toolbox.cpp:3055 -#, fuzzy msgid "Inner radius" -msgstr "김프 색변화(Gradients)" +msgstr "안쪽 반경" #: ../src/widgets/toolbox.cpp:3055 msgid "Inner radius:" -msgstr "" +msgstr "안쪽 반경:" #: ../src/widgets/toolbox.cpp:3055 msgid "Radius of the innermost revolution (relative to the spiral size)" -msgstr "" +msgstr "가장 안쪽 회전 반경(나선 크기와 관련)" #: ../src/widgets/toolbox.cpp:3101 -#, fuzzy msgid "Mode:" -msgstr "H:" +msgstr "모드:" #: ../src/widgets/toolbox.cpp:3121 msgid "Bézier" -msgstr "" +msgstr "베지어" #: ../src/widgets/toolbox.cpp:3122 msgid "Regular Bézier mode" -msgstr "" +msgstr "정규 베지어 모드" #: ../src/widgets/toolbox.cpp:3128 -#, fuzzy msgid "Spiro" -msgstr "나선형" +msgstr "나선" #: ../src/widgets/toolbox.cpp:3129 -#, fuzzy msgid "Spiro splines mode" -msgstr "임의의 노드" +msgstr "나선 스프라인 모드" #. Width #: ../src/widgets/toolbox.cpp:3238 msgid "(pinch tweak)" -msgstr "" +msgstr "(꼬집기 조정)" -#: ../src/widgets/toolbox.cpp:3238 ../src/widgets/toolbox.cpp:3254 -#: ../src/widgets/toolbox.cpp:3420 ../src/widgets/toolbox.cpp:3642 -#: ../src/widgets/toolbox.cpp:3674 ../src/widgets/toolbox.cpp:4315 -#, fuzzy +#: ../src/widgets/toolbox.cpp:3238 +#: ../src/widgets/toolbox.cpp:3254 +#: ../src/widgets/toolbox.cpp:3420 +#: ../src/widgets/toolbox.cpp:3642 +#: ../src/widgets/toolbox.cpp:3674 +#: ../src/widgets/toolbox.cpp:4315 msgid "(default)" -msgstr "기본" +msgstr "(기본)" #: ../src/widgets/toolbox.cpp:3238 -#, fuzzy msgid "(broad tweak)" -msgstr "불이기 종류(_S)" +msgstr "(넓은 조정)" #: ../src/widgets/toolbox.cpp:3241 msgid "The width of the tweak area (relative to the visible canvas area)" -msgstr "" +msgstr "조정 구간의 폭(ë³¼ 수 있는 캔버스 구간에 상대적임)" #. Force #: ../src/widgets/toolbox.cpp:3254 msgid "(minimum force)" -msgstr "" +msgstr "(최소 힘)" #: ../src/widgets/toolbox.cpp:3254 msgid "(maximum force)" -msgstr "" +msgstr "(최대 힘)" #: ../src/widgets/toolbox.cpp:3257 -#, fuzzy msgid "Force" -msgstr "소스" +msgstr "힘" #: ../src/widgets/toolbox.cpp:3257 -#, fuzzy msgid "Force:" -msgstr "소스" +msgstr "힘:" #: ../src/widgets/toolbox.cpp:3257 msgid "The force of the tweak action" -msgstr "" +msgstr "조절 강도" #: ../src/widgets/toolbox.cpp:3274 msgid "Push mode" -msgstr "" +msgstr "밀기 모드" #: ../src/widgets/toolbox.cpp:3275 msgid "Push parts of paths in any direction" -msgstr "" +msgstr "임의 방향에서 경로부분 밀기" #: ../src/widgets/toolbox.cpp:3281 -#, fuzzy msgid "Shrink mode" -msgstr "임의의 노드" +msgstr "축소 모드" #: ../src/widgets/toolbox.cpp:3282 msgid "Shrink (inset) parts of paths" -msgstr "" +msgstr "경로부분 축소" #: ../src/widgets/toolbox.cpp:3288 -#, fuzzy msgid "Grow mode" -msgstr "노드를 아래도" +msgstr "확대 모드" #: ../src/widgets/toolbox.cpp:3289 msgid "Grow (outset) parts of paths" -msgstr "" +msgstr "경로부분 확대" #: ../src/widgets/toolbox.cpp:3295 -#, fuzzy msgid "Attract mode" -msgstr "속성 이름" +msgstr "유인 모드" #: ../src/widgets/toolbox.cpp:3296 msgid "Attract parts of paths towards cursor" -msgstr "" +msgstr "커서 방향으로 경로부분을 끌기" #: ../src/widgets/toolbox.cpp:3302 -#, fuzzy msgid "Repel mode" -msgstr "제거" +msgstr "반발 모드" #: ../src/widgets/toolbox.cpp:3303 msgid "Repel parts of paths from cursor" -msgstr "" +msgstr "커서에서 경로부분이 분리" #: ../src/widgets/toolbox.cpp:3309 msgid "Roughen mode" -msgstr "" +msgstr "거침 모드" #: ../src/widgets/toolbox.cpp:3310 msgid "Roughen parts of paths" -msgstr "" +msgstr "거친 경로 부분" #: ../src/widgets/toolbox.cpp:3316 msgid "Color paint mode" -msgstr "" +msgstr "색상 칠하기 모드" #: ../src/widgets/toolbox.cpp:3317 -#, fuzzy msgid "Paint the tool's color upon selected objects" -msgstr "선택됀 객체의 복사본 만들기" +msgstr "선택 객체에서 도구 색상 칠하기" #: ../src/widgets/toolbox.cpp:3323 -#, fuzzy msgid "Color jitter mode" -msgstr "노드 올리기" +msgstr "색상 전이 모드" #: ../src/widgets/toolbox.cpp:3324 -#, fuzzy msgid "Jitter the colors of selected objects" -msgstr "선택됀 객체의 복사본 만들기" +msgstr "선택 객체 색상을 조금씩 변하게 함" #: ../src/widgets/toolbox.cpp:3329 -#, fuzzy msgid "Mode:" -msgstr "이동(_M)" +msgstr "모드:" #: ../src/widgets/toolbox.cpp:3350 -#, fuzzy msgid "Channels:" -msgstr "취소" +msgstr "채널:" #: ../src/widgets/toolbox.cpp:3361 msgid "In color mode, act on objects' hue" -msgstr "" +msgstr "색상모드에서 객체 색조 작동" #. TRANSLATORS: "H" here stands for hue #: ../src/widgets/toolbox.cpp:3365 -#, fuzzy msgid "H" -msgstr "_H" +msgstr "색조" #: ../src/widgets/toolbox.cpp:3376 msgid "In color mode, act on objects' saturation" -msgstr "" +msgstr "색상모드에서 객체 채도 작동" #. TRANSLATORS: "S" here stands for Saturation #: ../src/widgets/toolbox.cpp:3380 -#, fuzzy msgid "S" -msgstr "_S" +msgstr "채도" #: ../src/widgets/toolbox.cpp:3391 msgid "In color mode, act on objects' lightness" -msgstr "" +msgstr "색상모드에서 객체 명도 작동" #. TRANSLATORS: "L" here stands for Lightness #: ../src/widgets/toolbox.cpp:3395 -#, fuzzy msgid "L" -msgstr "_L" +msgstr "명도" #: ../src/widgets/toolbox.cpp:3406 msgid "In color mode, act on objects' opacity" -msgstr "" +msgstr "색상모드에서 객체 불투명도 작동" #. TRANSLATORS: "O" here stands for Opacity #: ../src/widgets/toolbox.cpp:3410 -#, fuzzy msgid "O" -msgstr "O:" +msgstr "불투명도" #. Fidelity #: ../src/widgets/toolbox.cpp:3420 msgid "(rough, simplified)" -msgstr "" +msgstr "(거침, 단순)" #: ../src/widgets/toolbox.cpp:3420 msgid "(fine, but many nodes)" -msgstr "" +msgstr "(세밀, 많은 노드)" #: ../src/widgets/toolbox.cpp:3423 -#, fuzzy msgid "Fidelity" -msgstr "구별자" +msgstr "충실도" #: ../src/widgets/toolbox.cpp:3423 msgid "Fidelity:" -msgstr "" +msgstr "충실도:" #: ../src/widgets/toolbox.cpp:3424 -msgid "" -"Low fidelity simplifies paths; high fidelity preserves path features but may " -"generate a lot of new nodes" -msgstr "" +msgid "Low fidelity simplifies paths; high fidelity preserves path features but may generate a lot of new nodes" +msgstr "낮은 충실도는 경로를 단순화함; 높은 충실도는 많은 노드를 생성함." -#: ../src/widgets/toolbox.cpp:3441 ../src/widgets/toolbox.cpp:3789 +#: ../src/widgets/toolbox.cpp:3441 +#: ../src/widgets/toolbox.cpp:3789 msgid "Pressure" -msgstr "" +msgstr "압력" #: ../src/widgets/toolbox.cpp:3442 msgid "Use the pressure of the input device to alter the force of tweak action" -msgstr "" +msgstr "조절 힘을 변경하기 위하여 입력 기기의 압력을 사용" #. Width -#: ../src/widgets/toolbox.cpp:3642 ../src/widgets/toolbox.cpp:4315 +#: ../src/widgets/toolbox.cpp:3642 +#: ../src/widgets/toolbox.cpp:4315 msgid "(hairline)" -msgstr "" +msgstr "(머리털선)" -#: ../src/widgets/toolbox.cpp:3642 ../src/widgets/toolbox.cpp:4315 -#, fuzzy +#: ../src/widgets/toolbox.cpp:3642 +#: ../src/widgets/toolbox.cpp:4315 msgid "(broad stroke)" -msgstr "불이기 종류(_S)" +msgstr "(넓은 윤곽선)" -#: ../src/widgets/toolbox.cpp:3645 ../src/widgets/toolbox.cpp:4318 -#, fuzzy +#: ../src/widgets/toolbox.cpp:3645 +#: ../src/widgets/toolbox.cpp:4318 msgid "Pen Width" -msgstr "선 폭" +msgstr "펜 폭" #: ../src/widgets/toolbox.cpp:3646 msgid "The width of the calligraphic pen (relative to the visible canvas area)" -msgstr "" +msgstr "글자체 펜 폭(보이는 캐버스 구간에 상대적임)" #. Thinning #: ../src/widgets/toolbox.cpp:3658 msgid "(speed blows up stroke)" -msgstr "" +msgstr "(속도가 윤곽선 확장)" #: ../src/widgets/toolbox.cpp:3658 msgid "(slight widening)" -msgstr "" +msgstr "(약간 넓어짐)" #: ../src/widgets/toolbox.cpp:3658 -#, fuzzy msgid "(constant width)" -msgstr "출력 목적지" +msgstr "(상수 폭)" #: ../src/widgets/toolbox.cpp:3658 msgid "(slight thinning, default)" -msgstr "" +msgstr "(약간 얇음, 기본)" #: ../src/widgets/toolbox.cpp:3658 msgid "(speed deflates stroke)" -msgstr "" +msgstr "(속도가 윤곽선을 축소)" #: ../src/widgets/toolbox.cpp:3661 -#, fuzzy msgid "Stroke Thinning" -msgstr "볆" +msgstr "윤곽선 폭" #: ../src/widgets/toolbox.cpp:3661 msgid "Thinning:" -msgstr "" +msgstr "윤곽선 폭:" #: ../src/widgets/toolbox.cpp:3662 -msgid "" -"How much velocity thins the stroke (> 0 makes fast strokes thinner, < 0 " -"makes them broader, 0 makes width independent of velocity)" -msgstr "" +msgid "How much velocity thins the stroke (> 0 makes fast strokes thinner, < 0 makes them broader, 0 makes width independent of velocity)" +msgstr "속도에 따른 윤곽선 폭 지정(0 이상은 윤곽선 얇게, 0 이하는 넓게 , 0은 속도와 무관한 폭 생성" #. Angle #: ../src/widgets/toolbox.cpp:3674 msgid "(left edge up)" -msgstr "" +msgstr "(왼쪽 모서리 위로)" #: ../src/widgets/toolbox.cpp:3674 -#, fuzzy msgid "(horizontal)" -msgstr "수평(_H)" +msgstr "(수평)" #: ../src/widgets/toolbox.cpp:3674 msgid "(right edge up)" -msgstr "" +msgstr "(오른쪽 모서리 위로)" #: ../src/widgets/toolbox.cpp:3677 -#, fuzzy msgid "Pen Angle" -msgstr "각도" +msgstr "펜 각도" #: ../src/widgets/toolbox.cpp:3677 msgid "Angle:" -msgstr "" +msgstr "각도:" #: ../src/widgets/toolbox.cpp:3678 -msgid "" -"The angle of the pen's nib (in degrees; 0 = horizontal; has no effect if " -"fixation = 0)" -msgstr "" +msgid "The angle of the pen's nib (in degrees; 0 = horizontal; has no effect if fixation = 0)" +msgstr "펜촉 각도 (0= 수평; 0이라면 효과 없음)" #. Fixation #: ../src/widgets/toolbox.cpp:3692 msgid "(perpendicular to stroke, \"brush\")" -msgstr "" +msgstr "(윤곽선에 수직, \"붓\")" #: ../src/widgets/toolbox.cpp:3692 msgid "(almost fixed, default)" -msgstr "" +msgstr "(거의 고정, 기본값)" #: ../src/widgets/toolbox.cpp:3692 msgid "(fixed by Angle, \"pen\")" -msgstr "" +msgstr "(각도 고정,\"펜\")" #: ../src/widgets/toolbox.cpp:3695 -#, fuzzy msgid "Fixation" -msgstr "회전(_R)" +msgstr "고정" #: ../src/widgets/toolbox.cpp:3695 msgid "Fixation:" -msgstr "" +msgstr "고정:" #: ../src/widgets/toolbox.cpp:3696 -msgid "" -"Angle behavior (0 = nib always perpendicular to stroke direction, 1 = fixed " -"angle)" -msgstr "" +msgid "Angle behavior (0 = nib always perpendicular to stroke direction, 1 = fixed angle)" +msgstr "각도 작동 (0 = 윤곽선 방향에 항상 수직, 1= 각도 고정)" #. Cap Rounding #: ../src/widgets/toolbox.cpp:3708 -#, fuzzy msgid "(blunt caps, default)" -msgstr "기본 으로 설정" +msgstr "(뭉뚝한 끝점, 기본)" #: ../src/widgets/toolbox.cpp:3708 msgid "(slightly bulging)" -msgstr "" +msgstr "(약간 팽창)" #: ../src/widgets/toolbox.cpp:3708 msgid "(approximately round)" -msgstr "" +msgstr "(거의 둥긂)" #: ../src/widgets/toolbox.cpp:3708 msgid "(long protruding caps)" -msgstr "" +msgstr "(길게 돌출한 끝점)" #: ../src/widgets/toolbox.cpp:3712 msgid "Cap rounding" -msgstr "" +msgstr "끝점 둥긂" #: ../src/widgets/toolbox.cpp:3712 msgid "Caps:" -msgstr "" +msgstr "끝점:" #: ../src/widgets/toolbox.cpp:3713 -msgid "" -"Increase to make caps at the ends of strokes protrude more (0 = no caps, 1 = " -"round caps)" -msgstr "" +msgid "Increase to make caps at the ends of strokes protrude more (0 = no caps, 1 = round caps)" +msgstr "윤곽선 끝점에서 더 돌출하게 하기 위하여 증가(0= 끝점 없음, 1= 둥근 끝점)" #. Tremor #: ../src/widgets/toolbox.cpp:3725 msgid "(smooth line)" -msgstr "" +msgstr "(부드러운 선)" #: ../src/widgets/toolbox.cpp:3725 msgid "(slight tremor)" -msgstr "" +msgstr "(약한 진동)" #: ../src/widgets/toolbox.cpp:3725 msgid "(noticeable tremor)" -msgstr "" +msgstr "(인지할 수 있는 진동)" #: ../src/widgets/toolbox.cpp:3725 msgid "(maximum tremor)" -msgstr "" +msgstr "(최대 진동)" #: ../src/widgets/toolbox.cpp:3728 -#, fuzzy msgid "Stroke Tremor" -msgstr "색 붙이기" +msgstr "윤곽선 진동" #: ../src/widgets/toolbox.cpp:3728 msgid "Tremor:" -msgstr "" +msgstr "진동:" #: ../src/widgets/toolbox.cpp:3729 msgid "Increase to make strokes rugged and trembling" -msgstr "" +msgstr "윤곽선을 ê±°ì¹ ê³  진동을 만들기 위하여 증가" #. Wiggle #: ../src/widgets/toolbox.cpp:3742 msgid "(no wiggle)" -msgstr "" +msgstr "(흔들림 없음)" #: ../src/widgets/toolbox.cpp:3742 -#, fuzzy msgid "(slight deviation)" -msgstr "출력 목적지" +msgstr "(약간 편향)" #: ../src/widgets/toolbox.cpp:3742 msgid "(wild waves and curls)" -msgstr "" +msgstr "(거친 파동과 곱슬)" #: ../src/widgets/toolbox.cpp:3745 -#, fuzzy msgid "Pen Wiggle" -msgstr "제목:" +msgstr "펜 흔들림" #: ../src/widgets/toolbox.cpp:3745 -#, fuzzy msgid "Wiggle:" -msgstr "제목:" +msgstr "흔들림:" #: ../src/widgets/toolbox.cpp:3746 msgid "Increase to make the pen waver and wiggle" -msgstr "" +msgstr "펜 파동과 흔들림 생성하기 위하여 증가" #. Mass #: ../src/widgets/toolbox.cpp:3758 -#, fuzzy msgid "(no inertia)" -msgstr "(널포인트(_p))" +msgstr "(활성)" #: ../src/widgets/toolbox.cpp:3758 msgid "(slight smoothing, default)" -msgstr "" +msgstr "(약간 부드러움, 기본)" #: ../src/widgets/toolbox.cpp:3758 msgid "(noticeable lagging)" -msgstr "" +msgstr "(뚜렷이 느림" #: ../src/widgets/toolbox.cpp:3758 msgid "(maximum inertia)" -msgstr "" +msgstr "(최대 불활성)" #: ../src/widgets/toolbox.cpp:3761 msgid "Pen Mass" -msgstr "" +msgstr "펜 무게" #: ../src/widgets/toolbox.cpp:3761 msgid "Mass:" -msgstr "" +msgstr "무게:" #: ../src/widgets/toolbox.cpp:3762 msgid "Increase to make the pen drag behind, as if slowed by inertia" -msgstr "" +msgstr "불활성에 의해 느려지는 것처럼, 펜을 뒷 방향에서 끌기 위하여 증가" #: ../src/widgets/toolbox.cpp:3776 msgid "Trace Background" -msgstr "" +msgstr "ë°°ê²½ 따르기" #: ../src/widgets/toolbox.cpp:3777 -msgid "" -"Trace the lightness of the background by the width of the pen (white - " -"minimum width, black - maximum width)" -msgstr "" +msgid "Trace the lightness of the background by the width of the pen (white - minimum width, black - maximum width)" +msgstr "펜 폭에 의하여 ë°°ê²½ 명도 따오기 (흰색 - 최소 폭, 검은색 - 최대 폭)" #: ../src/widgets/toolbox.cpp:3790 msgid "Use the pressure of the input device to alter the width of the pen" -msgstr "" +msgstr "펜의 폭 변경 위하여 입력 기기 압력을 사용" #: ../src/widgets/toolbox.cpp:3802 -#, fuzzy msgid "Tilt" -msgstr "제목" +msgstr "경사" #: ../src/widgets/toolbox.cpp:3803 msgid "Use the tilt of the input device to alter the angle of the pen's nib" -msgstr "" +msgstr "펜촉의 각도를 변경하기 위하여 입력 기기의 경사를 이용" #: ../src/widgets/toolbox.cpp:3821 -#, fuzzy msgid "No preset" -msgstr "미리보기" +msgstr "기본설정 없음" #: ../src/widgets/toolbox.cpp:3836 -#, fuzzy msgid "Change calligraphic profile" -msgstr "중심선" +msgstr "글자체 프로파일 변경" #: ../src/widgets/toolbox.cpp:3848 -#, fuzzy msgid "Save current settings as new profile" -msgstr "새로운 이름으로 문서 저장" +msgstr "현재 설정을 새 프로파일로서 저장" #: ../src/widgets/toolbox.cpp:3933 msgid "Arc: Change start/end" -msgstr "" +msgstr "호: 시작/끝 변경" #: ../src/widgets/toolbox.cpp:4022 msgid "Arc: Change open/closed" -msgstr "" +msgstr "호: 열기/닫기 변경" #: ../src/widgets/toolbox.cpp:4146 -#, fuzzy msgid "Start" -msgstr "볆" +msgstr "시작" #: ../src/widgets/toolbox.cpp:4146 msgid "Start:" -msgstr "" +msgstr "시작:" #: ../src/widgets/toolbox.cpp:4147 msgid "The angle (in degrees) from the horizontal to the arc's start point" -msgstr "" +msgstr "수평에서 호 시작점까지 각도" #: ../src/widgets/toolbox.cpp:4159 msgid "End" -msgstr "" +msgstr "끝" #: ../src/widgets/toolbox.cpp:4159 msgid "End:" -msgstr "" +msgstr "끝:" #: ../src/widgets/toolbox.cpp:4160 msgid "The angle (in degrees) from the horizontal to the arc's end point" -msgstr "" +msgstr "수평에서 호 끝점까지 각도" #: ../src/widgets/toolbox.cpp:4176 -#, fuzzy msgid "Closed arc" -msgstr "청소(_C)" +msgstr "닫힌 호" #: ../src/widgets/toolbox.cpp:4177 msgid "Switch to segment (closed shape with two radii)" -msgstr "" +msgstr "세그먼트로 변경(두 반경을 가진 닫힌 모양)" #: ../src/widgets/toolbox.cpp:4183 -#, fuzzy msgid "Open Arc" -msgstr "원 호 열기" +msgstr "호 열기" #: ../src/widgets/toolbox.cpp:4184 msgid "Switch to arc (unclosed shape)" -msgstr "" +msgstr "호로 변경 (열린 모양)" #: ../src/widgets/toolbox.cpp:4208 msgid "Make whole" @@ -17062,130 +15964,112 @@ msgid "Make the shape a whole ellipse, not arc or segment" msgstr "원호나 일부가 아닌 완전한 타원형으로 만들기" #: ../src/widgets/toolbox.cpp:4275 -#, fuzzy msgid "Opacity:" -msgstr "불투명도" +msgstr "불투명도:" #: ../src/widgets/toolbox.cpp:4282 -#, fuzzy msgid "Pick opacity" -msgstr "불투명도" +msgstr "불투명도 조정" #: ../src/widgets/toolbox.cpp:4283 -msgid "" -"Pick both the color and the alpha (transparency) under cursor; otherwise, " -"pick only the visible color premultiplied by alpha" -msgstr "" +msgid "Pick both the color and the alpha (transparency) under cursor; otherwise, pick only the visible color premultiplied by alpha" +msgstr "커서 아래 색상과 알파(투명도) 고르기: 그렇지 않으면 알파에 의해 더하여진 볼수 있는 색상만 고르기" #: ../src/widgets/toolbox.cpp:4286 -#, fuzzy msgid "Pick" -msgstr "경로" +msgstr "조정" #: ../src/widgets/toolbox.cpp:4295 -#, fuzzy msgid "Assign opacity" -msgstr "주 투명도" +msgstr "불투명도 할당" #: ../src/widgets/toolbox.cpp:4296 -msgid "" -"If alpha was picked, assign it to selection as fill or stroke transparency" -msgstr "" +msgid "If alpha was picked, assign it to selection as fill or stroke transparency" +msgstr "알파가 조정되면, 이를 채움 또는 윤곽선 투명도와 같이 선택을 할당" #: ../src/widgets/toolbox.cpp:4299 -#, fuzzy msgid "Assign" -msgstr "정열:" +msgstr "할당" #: ../src/widgets/toolbox.cpp:4319 msgid "The width of the eraser pen (relative to the visible canvas area)" -msgstr "" +msgstr "지우개 펜의 폭 (ë³¼ 수 있는 캔버스 구간에 상대적임)" #: ../src/widgets/toolbox.cpp:4336 msgid "Delete objects touched by the eraser" -msgstr "" +msgstr "지우개에 의해 지워진 객체 삭제" #: ../src/widgets/toolbox.cpp:4342 -#, fuzzy msgid "Cut" -msgstr "잘라내기(_t)" +msgstr "잘라내기" #: ../src/widgets/toolbox.cpp:4343 -#, fuzzy msgid "Cut out from objects" -msgstr "간격띄우기 유형" +msgstr "객체로부터 잘라내기" #: ../src/widgets/toolbox.cpp:4678 msgid "Text: Change font family" -msgstr "" +msgstr "문자열: 글꼴 모음 변경" #: ../src/widgets/toolbox.cpp:4763 msgid "Text: Change alignment" -msgstr "" +msgstr "문자열: 정렬 변경" #: ../src/widgets/toolbox.cpp:4846 msgid "Text: Change font style" -msgstr "" +msgstr "문자열: 글꼴 스타일 변경" #: ../src/widgets/toolbox.cpp:4893 msgid "Text: Change orientation" -msgstr "" +msgstr "문자열: 방향 변경" #: ../src/widgets/toolbox.cpp:4992 msgid "Text: Change font size" -msgstr "" +msgstr "문자열: 글꼴 크기 변경" #: ../src/widgets/toolbox.cpp:5232 -msgid "" -"This font is currently not installed on your system. Inkscape will use the " -"default font instead." -msgstr "" +msgid "This font is currently not installed on your system. Inkscape will use the default font instead." +msgstr "이 글꼴은 현재 시스템에 설치되지 않음. Inkscape은 대신 기본 글꼴을 사용." #: ../src/widgets/toolbox.cpp:5271 -#, fuzzy msgid "Align left" -msgstr "왼쪽으로 정렬" +msgstr "왼쪽 정렬" #: ../src/widgets/toolbox.cpp:5282 -#, fuzzy msgid "Center" -msgstr "Y 중심" +msgstr "중앙" #: ../src/widgets/toolbox.cpp:5293 -#, fuzzy msgid "Align right" -msgstr "오른쪽으로 정렬" +msgstr "오른쪽 정렬" #: ../src/widgets/toolbox.cpp:5304 msgid "Justify" -msgstr "" +msgstr "자리 맞추기" #: ../src/widgets/toolbox.cpp:5320 msgid "Bold" -msgstr "볼드" +msgstr "진하게" #: ../src/widgets/toolbox.cpp:5331 msgid "Italic" -msgstr "이텔릭" +msgstr "이태릭" #: ../src/widgets/toolbox.cpp:5465 -#, fuzzy msgid "Change connector spacing" -msgstr "접속 취소" +msgstr "연결자 간격 변경" #: ../src/widgets/toolbox.cpp:5553 msgid "Avoid" -msgstr "" +msgstr "피하기" #: ../src/widgets/toolbox.cpp:5563 -#, fuzzy msgid "Ignore" -msgstr "없음" +msgstr "무시" #: ../src/widgets/toolbox.cpp:5575 -#, fuzzy msgid "Connector Spacing" -msgstr "접속 취소" +msgstr "연결자 간격" #: ../src/widgets/toolbox.cpp:5575 msgid "Spacing:" @@ -17193,172 +16077,143 @@ msgstr "간격:" #: ../src/widgets/toolbox.cpp:5576 msgid "The amount of space left around objects by auto-routing connectors" -msgstr "" +msgstr "자동 루트 연결자에 의하여 객체 주변 공백 왼쪽 양" #: ../src/widgets/toolbox.cpp:5587 -#, fuzzy msgid "Graph" -msgstr "그룹" +msgstr "그림" #: ../src/widgets/toolbox.cpp:5597 -#, fuzzy msgid "Connector Length" -msgstr "연결자" +msgstr "연결자 길이" #: ../src/widgets/toolbox.cpp:5597 msgid "Length:" -msgstr "" +msgstr "길이:" #: ../src/widgets/toolbox.cpp:5598 msgid "Ideal length for connectors when layout is applied" -msgstr "" +msgstr "외형 적용시 연결자의 이상적인 길이" #: ../src/widgets/toolbox.cpp:5610 msgid "Downwards" -msgstr "" +msgstr "아래 방향" #: ../src/widgets/toolbox.cpp:5611 msgid "Make connectors with end-markers (arrows) point downwards" -msgstr "" +msgstr "끝-마커 연결자(화살표) 점을 아래방향으로 만듦" #: ../src/widgets/toolbox.cpp:5627 msgid "Do not allow overlapping shapes" -msgstr "" +msgstr "중첩 모양을 허용하지 않음" #: ../src/widgets/toolbox.cpp:5728 -#, fuzzy msgid "Fill by" msgstr "채움" #: ../src/widgets/toolbox.cpp:5729 -#, fuzzy msgid "Fill by:" -msgstr "채움" +msgstr "채움:" #: ../src/widgets/toolbox.cpp:5741 msgid "Fill Threshold" -msgstr "" +msgstr "채움 허용치" #: ../src/widgets/toolbox.cpp:5742 -msgid "" -"The maximum allowed difference between the clicked pixel and the neighboring " -"pixels to be counted in the fill" -msgstr "" +msgid "The maximum allowed difference between the clicked pixel and the neighboring pixels to be counted in the fill" +msgstr "채움에서 선택 화소와 이웃 화소 사이 최대 허용치" #: ../src/widgets/toolbox.cpp:5766 msgid "Grow/shrink by" -msgstr "" +msgstr "확대/축소" #: ../src/widgets/toolbox.cpp:5766 msgid "Grow/shrink by:" -msgstr "" +msgstr "확대/축소:" #: ../src/widgets/toolbox.cpp:5767 -msgid "" -"The amount to grow (positive) or shrink (negative) the created fill path" -msgstr "" +msgid "The amount to grow (positive) or shrink (negative) the created fill path" +msgstr "생성된 채움 경로의 확대 또는 축소 양" #: ../src/widgets/toolbox.cpp:5792 -#, fuzzy msgid "Close gaps" -msgstr "청소(_C)" +msgstr "여백 닫기" #: ../src/widgets/toolbox.cpp:5793 -#, fuzzy msgid "Close gaps:" -msgstr "청소(_C)" +msgstr "여백 닫기:" #: ../src/widgets/toolbox.cpp:5805 -msgid "" -"Reset paint bucket parameters to defaults (use Inkscape Preferences > Tools " -"to change defaults)" -msgstr "" +msgid "Reset paint bucket parameters to defaults (use Inkscape Preferences > Tools to change defaults)" +msgstr "페인트통 인자를 기본값으로 재설정 ( 기본값을 변경하기 위하여 Inkscape 기본설정 > 도구 )" #: ../share/extensions/dimension.py:97 msgid "Unable to process this object. Try changing it into a path first." -msgstr "" +msgstr "이 객체를 실행할 수 없음. 이 객체를 경로 첫째로 변경시키도록 함." #: ../share/extensions/embedimage.py:79 -msgid "" -"No xlink:href or sodipodi:absref attributes found, or they do not point to " -"an existing file! Unable to embed image." -msgstr "" +msgid "No xlink:href or sodipodi:absref attributes found, or they do not point to an existing file! Unable to embed image." +msgstr "xlink 없음: href 또는 sodipodi: absref 속성 있음" #: ../share/extensions/embedimage.py:104 #, python-format -msgid "" -"%s is not of type image/png, image/jpeg, image/bmp, image/gif, image/tiff, " -"or image/x-icon" -msgstr "" +msgid "%s is not of type image/png, image/jpeg, image/bmp, image/gif, image/tiff, or image/x-icon" +msgstr "%s 가 png,jpeg,bmp,gif,tiff,x-icon 형태가 아님" #: ../share/extensions/embedimage.py:106 #, python-format msgid "Sorry we could not locate %s" -msgstr "" +msgstr "미안합니다. %s에 위치시킬 수 없음" #: ../share/extensions/export_gimp_palette.py:14 -msgid "" -"The export_gpl.py module requires PyXML. Please download the latest version " -"from http://pyxml.sourceforge.net/." -msgstr "" +msgid "The export_gpl.py module requires PyXML. Please download the latest version from http://pyxml.sourceforge.net/." +msgstr "내보내기_gpl.py 모듈은 PyXML을 필요로 함. http://pyxml.sourceforge.net/에서 최신 버전을 다운받으시오." #: ../share/extensions/extractimage.py:66 msgid "Difficulty finding the image data." -msgstr "" +msgstr "이미지 자료를 찾기 어려움." #: ../share/extensions/inkex.py:61 -msgid "" -"The fantastic lxml wrapper for libxml2 is required by inkex.py and therefore " -"this extension. Please download and install the latest version from http://" -"cheeseshop.python.org/pypi/lxml/, or install it through your package manager " -"by a command like: sudo apt-get install python-lxml" +msgid "The fantastic lxml wrapper for libxml2 is required by inkex.py and therefore this extension. Please download and install the latest version from http://cheeseshop.python.org/pypi/lxml/, or install it through your package manager by a command like: sudo apt-get install python-lxml" msgstr "" #: ../share/extensions/inkex.py:187 #, python-format msgid "No matching node for expression: %s" -msgstr "" +msgstr "수식에 일치하는 노드 없음: %s" #: ../share/extensions/markers_strokepaint.py:41 #, python-format msgid "No style attribute found for id: %s" -msgstr "" +msgstr "ID 스타일 속성을 찾을 수 없음: %s" #: ../share/extensions/markers_strokepaint.py:56 #, python-format msgid "unable to locate marker: %s" -msgstr "" +msgstr "마커를 위치시킬 수 없음: %s" #: ../share/extensions/pathalongpath.py:197 #: ../share/extensions/pathscatter.py:208 #: ../share/extensions/perspective.py:55 #: ../share/extensions/summersnight.py:30 msgid "This extension requires two selected paths." -msgstr "" +msgstr "이 확장자는 2개의 선택 경로를 필요로 함" #: ../share/extensions/pathmodifier.py:229 #, python-format msgid "Please first convert objects to paths! (Got [%s].)" -msgstr "" +msgstr "우선 객체를 경로로 변환시키세요! ( [%s].)" #: ../share/extensions/perspective.py:29 -msgid "" -"Failed to import the numpy or numpy.linalg modules. These modules are " -"required by this extension. Please install them and try again. On a Debian-" -"like system this can be done with the command, sudo apt-get install python-" -"numpy." +msgid "Failed to import the numpy or numpy.linalg modules. These modules are required by this extension. Please install them and try again. On a Debian-like system this can be done with the command, sudo apt-get install python-numpy." msgstr "" #: ../share/extensions/perspective.py:64 -msgid "" -"This extension requires that the second selected path be four nodes long." +msgid "This extension requires that the second selected path be four nodes long." msgstr "" #: ../share/extensions/polyhedron_3d.py:60 -msgid "" -"Failed to import the numpy module. This module is required by this " -"extension. Please install them and try again. On a Debian-like system this " -"can be done with the command, sudo apt-get install python-numpy." +msgid "Failed to import the numpy module. This module is required by this extension. Please install them and try again. On a Debian-like system this can be done with the command, sudo apt-get install python-numpy." msgstr "" #: ../share/extensions/summersnight.py:32 @@ -17366,77 +16221,71 @@ msgid "The second path must be exactly four nodes long." msgstr "" #: ../share/extensions/svg_and_media_zip_output.py:103 -#, fuzzy, python-format msgid "Could not locate file: %s" -msgstr "%s 파일명으로 생성을 할수 없습니다.\n" +msgstr "파일을 위치시킬 수 없습니다: %s" #. vim: expandtab shiftwidth=4 tabstop=8 softtabstop=4 encoding=utf-8 textwidth=99 #: ../share/extensions/addnodes.inx.h:1 msgid "Add Nodes" -msgstr "노드 추가" +msgstr "노드 더하기" #: ../share/extensions/addnodes.inx.h:2 msgid "By max. segment length" -msgstr "" +msgstr "최대 세그먼트 길이" #: ../share/extensions/addnodes.inx.h:3 -#, fuzzy msgid "By number of segments" -msgstr "단계 숫자" +msgstr "세그먼트 숫자" #: ../share/extensions/addnodes.inx.h:4 msgid "Division method" -msgstr "" +msgstr "나누기 방법" #: ../share/extensions/addnodes.inx.h:5 msgid "Maximum segment length (px)" -msgstr "" +msgstr "최대 세그먼트 길이 (화소)" -#: ../share/extensions/addnodes.inx.h:6 ../share/extensions/edge3d.inx.h:6 -#: ../share/extensions/flatten.inx.h:3 ../share/extensions/fractalize.inx.h:2 +#: ../share/extensions/addnodes.inx.h:6 +#: ../share/extensions/edge3d.inx.h:6 +#: ../share/extensions/flatten.inx.h:3 +#: ../share/extensions/fractalize.inx.h:2 #: ../share/extensions/markers_strokepaint.inx.h:2 #: ../share/extensions/perspective.inx.h:1 #: ../share/extensions/radiusrand.inx.h:4 #: ../share/extensions/rubberstretch.inx.h:3 #: ../share/extensions/straightseg.inx.h:2 -#: ../share/extensions/summersnight.inx.h:2 ../share/extensions/whirl.inx.h:2 +#: ../share/extensions/summersnight.inx.h:2 +#: ../share/extensions/whirl.inx.h:2 msgid "Modify Path" -msgstr "곡선 수정" +msgstr "경로 편집" #: ../share/extensions/addnodes.inx.h:7 -#, fuzzy msgid "Number of segments" -msgstr "단계 숫자" +msgstr "세그먼트 숫자" #: ../share/extensions/ai_input.inx.h:1 -#, fuzzy msgid "AI 8.0 Input" -msgstr "AI SVG 입력" +msgstr "AI 8.0 입력" #: ../share/extensions/ai_input.inx.h:2 -#, fuzzy msgid "Adobe Illustrator 8.0 and below (*.ai)" -msgstr "아도비 일러스트 (*.ai)" +msgstr "Adobe Illustrator 8.0 이하 버전(*.ai)" #: ../share/extensions/ai_input.inx.h:3 -#, fuzzy msgid "Open files saved with Adobe Illustrator 8.0 or older" -msgstr "열린 파일이 아도비 일러스트 파일로 저장됨" +msgstr "Adobe Illustrator 8.0 또는 이전 버전으로 저장된 파일 열기" #: ../share/extensions/ai_output.inx.h:1 -#, fuzzy msgid "AI 8.0 Output" -msgstr "ZIP 생성" +msgstr "AI 8.0 출력" #: ../share/extensions/ai_output.inx.h:2 -#, fuzzy msgid "Adobe Illustrator 8.0 (*.ai)" -msgstr "아도비 일러스트 (*.ai)" +msgstr "Adobe Illustrator 8.0 (*.ai" #: ../share/extensions/ai_output.inx.h:3 -#, fuzzy msgid "Write Adobe Illustrator 8.0 (Postscript-based)" -msgstr "아도비 일러 파일로 쓰기" +msgstr "Adobe Illustrator 8.0 (포스트스크립트 기반) 쓰기" #: ../share/extensions/aisvg.inx.h:1 msgid "AI SVG Input" @@ -17444,262 +16293,231 @@ msgstr "AI SVG 입력" #: ../share/extensions/aisvg.inx.h:2 msgid "Adobe Illustrator SVG (*.ai.svg)" -msgstr "아도비 일러스트 SVG(*.ai.svg)" +msgstr "Adobe 일러스트레이트 SVG (*.ai.svg)" #: ../share/extensions/aisvg.inx.h:3 msgid "Cleans the cruft out of Adobe Illustrator SVGs before opening" -msgstr "" +msgstr "열기 전 Adobe Illustrator SVG에서 불필요한 것 제거" #: ../share/extensions/ccx_input.inx.h:1 msgid "Corel DRAW Compressed Exchange files (.ccx)" -msgstr "" +msgstr "Corel DRAW 압축 교환 파일 (.ccx)" #: ../share/extensions/ccx_input.inx.h:2 msgid "Corel DRAW Compressed Exchange files input" -msgstr "" +msgstr "Corel DRAW 압축 교환 파일 입력" #: ../share/extensions/ccx_input.inx.h:3 msgid "Open compressed exchange files saved in Corel DRAW" -msgstr "" +msgstr "Corel DRAW에서 저장된 압축 교환 파일 열기" #: ../share/extensions/cdr_input.inx.h:1 msgid "Corel DRAW 7-X4 files (*.cdr)" -msgstr "" +msgstr "Corel DRAW 7-X4 파일 (*.cdr)" #: ../share/extensions/cdr_input.inx.h:2 msgid "Corel DRAW Input" -msgstr "" +msgstr "Corel DRAW 입력" #: ../share/extensions/cdr_input.inx.h:3 -#, fuzzy msgid "Open files saved in Corel DRAW 7-X4" -msgstr "XFIG 로 저장된 파일 열기" +msgstr "Corel DRAW 7-X4 파일 열기" #: ../share/extensions/cdt_input.inx.h:1 msgid "Corel DRAW 7-13 template files (.cdt)" -msgstr "" +msgstr "Corel DRAW 7-13 서식 파일 (.cdt)" #: ../share/extensions/cdt_input.inx.h:2 msgid "Corel DRAW templates input" -msgstr "" +msgstr "Corel DRAW 서식 입력" #: ../share/extensions/cdt_input.inx.h:3 -#, fuzzy msgid "Open files saved in Corel DRAW 7-13" -msgstr "XFIG 로 저장된 파일 열기" +msgstr "Corel DRAW 7-13 파일 열기" #: ../share/extensions/cgm_input.inx.h:1 msgid "Computer Graphics Metafile files (.cgm)" -msgstr "" +msgstr "컴퓨터 그래픽 메타파일 (.cgm)" #: ../share/extensions/cgm_input.inx.h:2 msgid "Computer Graphics Metafile files input" -msgstr "" +msgstr "컴퓨터 그래픽 메타파일 입력" #: ../share/extensions/cgm_input.inx.h:3 msgid "Open Computer Graphics Metafile files" -msgstr "" +msgstr "컴퓨터 그래픽 메타파일 열기" #: ../share/extensions/cmx_input.inx.h:1 msgid "Corel DRAW Presentation Exchange files (.cmx)" -msgstr "" +msgstr "Corel DRAW 프리젠테이션 교환 파일 (.cmx)" #: ../share/extensions/cmx_input.inx.h:2 msgid "Corel DRAW Presentation Exchange files input" -msgstr "" +msgstr "Corel DRAW 프리젠테이션 교환 파일 입력" #: ../share/extensions/cmx_input.inx.h:3 msgid "Open presentation exchange files saved in Corel DRAW" -msgstr "" +msgstr "Corel DRAW에서 저장된 프리젠테이션 교환 파일 열기" #: ../share/extensions/color_brighter.inx.h:1 -#, fuzzy msgid "Brighter" -msgstr "명도" +msgstr "더 밝게" #: ../share/extensions/color_custom.inx.h:1 -#, fuzzy msgid "Blue Function" -msgstr "기능" +msgstr "청색 기능" #: ../share/extensions/color_custom.inx.h:4 -#, fuzzy msgid "Green Function" -msgstr "기능" +msgstr "녹색 기능" #: ../share/extensions/color_custom.inx.h:5 -#, fuzzy msgid "Red Function" -msgstr "기능" +msgstr "적색 기능" #: ../share/extensions/color_darker.inx.h:2 -#, fuzzy msgid "Darker" -msgstr "날짜" +msgstr "어둡게" #: ../share/extensions/color_desaturate.inx.h:2 -#, fuzzy msgid "Desaturate" -msgstr "비 활성화" +msgstr "무채색" #: ../share/extensions/color_grayscale.inx.h:2 msgid "Grayscale" -msgstr "" +msgstr "회색톤" #: ../share/extensions/color_lesshue.inx.h:2 msgid "Less Hue" -msgstr "" +msgstr "더 적은 색조" #: ../share/extensions/color_lesslight.inx.h:2 msgid "Less Light" -msgstr "" +msgstr "더 적은 빛" #: ../share/extensions/color_lesssaturation.inx.h:2 -#, fuzzy msgid "Less Saturation" -msgstr "채도" +msgstr "더 적은 채도" #: ../share/extensions/color_morehue.inx.h:2 -#, fuzzy msgid "More Hue" -msgstr "노드를 아래도" +msgstr "더 많은 색조" #: ../share/extensions/color_morelight.inx.h:2 -#, fuzzy msgid "More Light" -msgstr "같은 높이" +msgstr "더 밝은 빛" #: ../share/extensions/color_moresaturation.inx.h:2 -#, fuzzy msgid "More Saturation" -msgstr "채도" +msgstr "더 많은 채도" #: ../share/extensions/color_negative.inx.h:2 -#, fuzzy msgid "Negative" -msgstr "비 활성화" +msgstr "네거티브" #: ../share/extensions/color_randomize.inx.h:4 -#, fuzzy msgid "Randomize" -msgstr "램덤:" +msgstr "무작위" #: ../share/extensions/color_removeblue.inx.h:2 -#, fuzzy msgid "Remove Blue" -msgstr "채움 제거" +msgstr "청색 제거" #: ../share/extensions/color_removegreen.inx.h:2 -#, fuzzy msgid "Remove Green" -msgstr " 삭제(_m) " +msgstr "녹색 제거" #: ../share/extensions/color_removered.inx.h:2 -#, fuzzy msgid "Remove Red" -msgstr "제거" +msgstr "적색 제거" #: ../share/extensions/color_replace.inx.h:1 msgid "By color (RRGGBB hex):" -msgstr "" +msgstr "색상(RRGGBB 16진수):" #: ../share/extensions/color_replace.inx.h:3 -#, fuzzy msgid "Replace color" -msgstr "색 붙이기" +msgstr "색상 치환" #: ../share/extensions/color_replace.inx.h:4 msgid "Replace color (RRGGBB hex):" -msgstr "" +msgstr "색상 치환 (RRGGBB 16진수):" #: ../share/extensions/color_rgbbarrel.inx.h:2 msgid "RGB Barrel" -msgstr "" +msgstr "RGB 바렐" #: ../share/extensions/dia.inx.h:1 msgid "A diagram created with the program Dia" -msgstr "" +msgstr "Dia 생성 도표" #: ../share/extensions/dia.inx.h:2 msgid "Dia Diagram (*.dia)" -msgstr "다이아 다이어그램 (*.dia)" +msgstr "Dia 도표 (*.dia)" #: ../share/extensions/dia.inx.h:3 msgid "Dia Input" -msgstr "다이아 내보내기" +msgstr "Dia 입력" #: ../share/extensions/dia.inx.h:4 -#, fuzzy -msgid "" -"In order to import Dia files, Dia itself must be installed. You can get Dia " -"at http://live.gnome.org/Dia" -msgstr "" -"다이아 파일을 읽어들이기 위해서는, 다이아 프로그램이 설치 되어 있어야 합니" -"다. http://www.gnome.org/projects/dia 에서 다이아 프로그램을 구하실수 있습니" -"다." +msgid "In order to import Dia files, Dia itself must be installed. You can get Dia at http://live.gnome.org/Dia" +msgstr "다이아 파일을 읽기 위하여, Dia가 설치 되어 있어야 합니다. http://www.gnome.org/projects/dia 에서 다운받음" #: ../share/extensions/dia.inx.h:5 -msgid "" -"The dia2svg.sh script should be installed with your Inkscape distribution. " -"If you do not have it, there is likely to be something wrong with your " -"Inkscape installation." -msgstr "" +msgid "The dia2svg.sh script should be installed with your Inkscape distribution. If you do not have it, there is likely to be something wrong with your Inkscape installation." +msgstr "dia2svg.sh 스크립트는 Inkscape 배포판과 함께 설치됩니다." -#: ../share/extensions/dimension.inx.h:2 ../share/extensions/dots.inx.h:4 -#: ../share/extensions/handles.inx.h:2 ../share/extensions/measure.inx.h:11 +#: ../share/extensions/dimension.inx.h:2 +#: ../share/extensions/dots.inx.h:4 +#: ../share/extensions/handles.inx.h:2 +#: ../share/extensions/measure.inx.h:11 msgid "Visualize Path" -msgstr "" +msgstr "경로 시각화" #: ../share/extensions/dimension.inx.h:3 -#, fuzzy msgid "X Offset" -msgstr "옵셋" +msgstr "X 옵셋" #: ../share/extensions/dimension.inx.h:4 -#, fuzzy msgid "Y Offset" -msgstr "옵셋" +msgstr "Y 옵셋" #: ../share/extensions/dots.inx.h:1 msgid "Dot size" -msgstr "도트 크기" +msgstr "점 크기" #: ../share/extensions/dots.inx.h:2 msgid "Font size" -msgstr "글콘 크기" +msgstr "글꼴 크기" #: ../share/extensions/dots.inx.h:3 msgid "Number Nodes" -msgstr "노드 숫자" +msgstr "숫자 노드" #: ../share/extensions/dxf_input.inx.h:1 #: ../share/extensions/dxf_output.inx.h:1 msgid "AutoCAD DXF (*.dxf)" -msgstr "오트캐드 DXF (*.dxf)" +msgstr "AutoCAD DXF (*.dxf)" #: ../share/extensions/dxf_input.inx.h:2 msgid "DXF Input" -msgstr "DXF 불러오기" +msgstr "DXF 입력" #: ../share/extensions/dxf_input.inx.h:3 msgid "Import AutoCAD's Document Exchange Format" -msgstr "오토캐드의 문서 교환 포멧 불러오기" +msgstr "DXF 불러오기" #: ../share/extensions/dxf_input.inx.h:4 -msgid "" -"dxf2svg may come with Inkscape, but is also at http://dxf-svg-convert." -"sourceforge.net/" -msgstr "" -"dxf2svg 가 아마도 잉크스케이프와 함께 제공 되었을것입니다, 그렇지 않다면" -"http://dxf-svg-convert.sourceforge.net/ 을 참고 하세요." +msgid "dxf2svg may come with Inkscape, but is also at http://dxf-svg-convert.sourceforge.net/" +msgstr "dxf2svg 가 Inkscape에 제공되었을 것입니다, 그리고 http://dxf-svg-convert.sourceforge.net/ 을 참고 하세요." #: ../share/extensions/dxf_outlines.inx.h:1 msgid "Desktop Cutting Plotter" -msgstr "" +msgstr "데스크톱 커팅 플로터" #: ../share/extensions/dxf_outlines.inx.h:2 msgid "Desktop Cutting Plotter (*.DXF)" -msgstr "" +msgstr "데스크톱 커팅 플로터 (*.DXF)" #: ../share/extensions/dxf_output.inx.h:2 msgid "DXF Output" @@ -17707,66 +16525,59 @@ msgstr "DXF 내보내기" #: ../share/extensions/dxf_output.inx.h:3 msgid "DXF file written by pstoedit" -msgstr "" +msgstr "pstoedit에 의해 쓰여진 DXF 파일" #: ../share/extensions/dxf_output.inx.h:4 msgid "pstoedit must be installed to run; see http://www.pstoedit.net/pstoedit" -msgstr "" +msgstr "pstoedit은 http://www.pstoedit.net/pstoedit에서 다운받아 설치합니다" #: ../share/extensions/edge3d.inx.h:1 -#, fuzzy msgid "Blur height" -msgstr "높이:" +msgstr "흐림 높이" #: ../share/extensions/edge3d.inx.h:2 -#, fuzzy msgid "Blur stdDeviation" -msgstr "출력 목적지" +msgstr "흐림 표준편차" #: ../share/extensions/edge3d.inx.h:3 -#, fuzzy msgid "Blur width" -msgstr "폭을 같게" +msgstr "흐림 폭" #: ../share/extensions/edge3d.inx.h:4 -#, fuzzy msgid "Edge 3D" -msgstr "이동(_M)" +msgstr "모서리 3D" #: ../share/extensions/edge3d.inx.h:5 msgid "Illumination Angle" -msgstr "" +msgstr "조명 각도" #: ../share/extensions/edge3d.inx.h:7 -#, fuzzy msgid "Only black and white" -msgstr "단순 따오기을 위한 검정색과 백색 반전" +msgstr "검은색과 흰색만" #: ../share/extensions/edge3d.inx.h:8 -#, fuzzy msgid "Shades" -msgstr "형태" +msgstr "음영" #: ../share/extensions/embedimage.inx.h:1 msgid "Embed All Images" -msgstr "내장 된 전체 이미지" +msgstr "내장 전체 이미지" #: ../share/extensions/embedimage.inx.h:2 -#, fuzzy msgid "Embed only selected images" -msgstr "내장 된 전체 이미지" +msgstr "내장된 선택 이미지만" #: ../share/extensions/eps_input.inx.h:1 msgid "EPS Input" -msgstr "EPS 내보내기" +msgstr "EPS 입력" #: ../share/extensions/eps_input.inx.h:2 msgid "Encapsulated Postscript" -msgstr "캡슐화된 포스트 스크립트" +msgstr "인캡슐레이트 포스트스크립트" #: ../share/extensions/epsi_output.inx.h:1 msgid "EPSI Output" -msgstr "EPSI 내보내기" +msgstr "EPSI 출력" #: ../share/extensions/epsi_output.inx.h:2 msgid "Encapsulated Postscript Interchange (*.epsi)" @@ -17774,186 +16585,166 @@ msgstr "" #: ../share/extensions/epsi_output.inx.h:3 msgid "Encapsulated Postscript with a thumbnail" -msgstr "" +msgstr "썸네일이 있는 Encapsulated Postscript" #: ../share/extensions/eqtexsvg.inx.h:1 msgid "LaTeX formula" -msgstr "라텍스 수식" +msgstr "LaTeX수식" #: ../share/extensions/eqtexsvg.inx.h:2 msgid "LaTeX formula: " -msgstr "라덱스 수식:" +msgstr "LaTeX수식: " #: ../share/extensions/export_gimp_palette.inx.h:1 msgid "Export as GIMP Palette" -msgstr "" +msgstr "Gimp 팔레트로 내보내기" #: ../share/extensions/export_gimp_palette.inx.h:2 msgid "Exports the colors of this document as GIMP Palette" -msgstr "" +msgstr "이 문서의 색상을 Gimp 팔레트로 내보내기" #: ../share/extensions/export_gimp_palette.inx.h:3 -#, fuzzy msgid "GIMP Palette (*.gpl)" -msgstr "김프 색변화(Gradient) (*.ggr)" +msgstr "김프 팔레트 (*.gpl)" #: ../share/extensions/extractimage.inx.h:1 -msgid "Extract One Image" -msgstr "" +msgid "Extract One Image..." +msgstr "한 개 이미지 추출..." #: ../share/extensions/extractimage.inx.h:3 msgid "Note: The file extension is appended automatically." -msgstr "" +msgstr "주의: 파일 확장자는 자동으로 더해집니다." #: ../share/extensions/extractimage.inx.h:4 msgid "Path to save image" -msgstr "" +msgstr "이미지 저장 경로" #: ../share/extensions/fig_input.inx.h:1 msgid "Open files saved with XFIG" -msgstr "XFIG 로 저장된 파일 열기" +msgstr "XFIG로 저장된 파일 열기" #: ../share/extensions/fig_input.inx.h:2 -#, fuzzy msgid "XFIG Graphics File (*.fig)" msgstr "XFIG 그래픽 파일(*.fig)" #: ../share/extensions/fig_input.inx.h:3 msgid "XFIG Input" -msgstr "XFIG 불러오기" +msgstr "XFIG 입력" #: ../share/extensions/flatten.inx.h:1 msgid "Flatness" -msgstr "" +msgstr "평면화" #: ../share/extensions/flatten.inx.h:2 msgid "Flatten Beziers" -msgstr "" +msgstr "평면 베지어" #: ../share/extensions/fractalize.inx.h:1 msgid "Fractalize" -msgstr "" +msgstr "프랙탈화" #: ../share/extensions/fractalize.inx.h:3 -#, fuzzy msgid "Smoothness" msgstr "부드러움" #: ../share/extensions/fractalize.inx.h:4 msgid "Subdivisions" -msgstr "" +msgstr "하위분할" #: ../share/extensions/funcplot.inx.h:1 msgid "Calculate first derivative numerically" -msgstr "" +msgstr "수치상 첫 유도함수 계산 " #: ../share/extensions/funcplot.inx.h:2 msgid "Draw Axes" -msgstr "" +msgstr "축 그리기" #: ../share/extensions/funcplot.inx.h:3 msgid "End X value" -msgstr "" +msgstr "끝 X 값" #: ../share/extensions/funcplot.inx.h:4 msgid "First derivative" -msgstr "" +msgstr "첫 유도함수" #: ../share/extensions/funcplot.inx.h:5 -#, fuzzy msgid "Function" msgstr "기능" #: ../share/extensions/funcplot.inx.h:6 msgid "Function Plotter" -msgstr "" +msgstr "기능 플로터" #: ../share/extensions/funcplot.inx.h:7 -#, fuzzy msgid "Functions" msgstr "기능" #: ../share/extensions/funcplot.inx.h:8 -msgid "Isotropic scaling (uses smallest of width/xrange or height/yrange)" -msgstr "" +msgid "Isotropic scaling (uses smallest: width/xrange or height/yrange)" +msgstr "동일 비율 (가장 작은 값 사용: 폭/X 범위 또는 높이/Y 범위)" #: ../share/extensions/funcplot.inx.h:9 -msgid "Multiply X range by 2*pi" -msgstr "" +msgid "Multiply x-range by 2*pi" +msgstr "2*pi 와 X 범위 곱하기" #: ../share/extensions/funcplot.inx.h:10 -msgid "Range and sampling" -msgstr "" +msgid "Range and Sampling" +msgstr "범위 및 샘플링" #: ../share/extensions/funcplot.inx.h:11 -#, fuzzy msgid "Remove rectangle" -msgstr "사각형 찾기" +msgstr "사각형 제거" #: ../share/extensions/funcplot.inx.h:13 -#, fuzzy msgid "Samples" -msgstr "형태" +msgstr "샘플" #: ../share/extensions/funcplot.inx.h:14 -msgid "" -"Select a rectangle before calling the extension, it will determine X and Y " -"scales. With polar coordinates: Start and end X values define the angle " -"range in radians. X scale is set so that left and right edges of rectangle " -"are at +/-1. Isotropic scaling is disabled. First derivative is always " -"determined numerically." -msgstr "" +msgid "Select a rectangle before calling the extension, it will determine X and Y scales. With polar coordinates: Start and end X values define the angle range in radians. X scale is set so that left and right edges of rectangle are at +/-1. Isotropic scaling is disabled. First derivative is always determined numerically." +msgstr "확장을 호출하기 전 직사각형 선택, 이것은 X,Y 비율을 결정한다" #: ../share/extensions/funcplot.inx.h:15 -msgid "" -"Standard Python math functions are available: ceil(x); fabs(x); floor(x); " -"fmod(x,y); frexp(x); ldexp(x,i); modf(x); exp(x); log(x [, base]); log10(x); " -"pow(x,y); sqrt(x); acos(x); asin(x); atan(x); atan2(y,x); hypot(x,y); cos" -"(x); sin(x); tan(x); degrees(x); radians(x); cosh(x); sinh(x); tanh(x). The " -"constants pi and e are also available." -msgstr "" +msgid "Standard Python math functions are available: ceil(x); fabs(x); floor(x); fmod(x,y); frexp(x); ldexp(x,i); modf(x); exp(x); log(x [, base]); log10(x); pow(x,y); sqrt(x); acos(x); asin(x); atan(x); atan2(y,x); hypot(x,y); cos(x); sin(x); tan(x); degrees(x); radians(x); cosh(x); sinh(x); tanh(x). The constants pi and e are also available." +msgstr "표준 파이썬에서 사용가능한 수학 함수: ceil(x); fabs(x); floor(x); fmod(x,y); frexp(x); ldexp(x,i); modf(x); exp(x); log(x [, base]); log10(x); pow(x,y); sqrt(x); acos(x); asin(x); atan(x); atan2(y,x); hypot(x,y); cos(x); sin(x); tan(x); degrees(x); radians(x); cosh(x); sinh(x); tanh(x). The constants pi and e are also available." #: ../share/extensions/funcplot.inx.h:16 -#, fuzzy -msgid "Start X value" -msgstr "속성 값" +msgid "Start x-value" +msgstr "시작 X 값" + +msgid "End x-value" +msgstr "끝 X 값" #: ../share/extensions/funcplot.inx.h:17 msgid "Use" -msgstr "" +msgstr "사용" #: ../share/extensions/funcplot.inx.h:18 msgid "Use polar coordinates" -msgstr "" +msgstr "ê·¹ 좌표 사용" #: ../share/extensions/funcplot.inx.h:19 -#, fuzzy -msgid "Y value of rectangle's bottom" -msgstr "사각형 찾기" +msgid "y-value of rectangle's bottom" +msgstr "사각형 최하단 Y 값" #: ../share/extensions/funcplot.inx.h:20 -#, fuzzy -msgid "Y value of rectangle's top" -msgstr "사각형 찾기" +msgid "y-value of rectangle's top" +msgstr "사각형 최상단 Y 값" #: ../share/extensions/gears.inx.h:1 msgid "Circular pitch, px" -msgstr "" +msgstr "순환 간격, 화소" #: ../share/extensions/gears.inx.h:2 -#, fuzzy msgid "Gear" -msgstr "청소(_C)" +msgstr "톱니" #: ../share/extensions/gears.inx.h:3 -#, fuzzy msgid "Number of teeth" -msgstr "단계 숫자" +msgstr "톱니 갯수" #: ../share/extensions/gears.inx.h:4 -#, fuzzy msgid "Pressure angle" -msgstr "사각형 찾기" +msgstr "압력 각도" #: ../share/extensions/gimp_xcf.inx.h:1 msgid "GIMP XCF" @@ -17961,251 +16752,243 @@ msgstr "김프 XCF" #: ../share/extensions/gimp_xcf.inx.h:2 msgid "GIMP XCF maintaining layers (*.XCF)" -msgstr "" +msgstr "GIMP XCF 레이어 유지 (*.XCF)" #: ../share/extensions/gimp_xcf.inx.h:3 msgid "Save Grid:" -msgstr "" +msgstr "격자 저장:" #: ../share/extensions/gimp_xcf.inx.h:4 -#, fuzzy msgid "Save Guides:" -msgstr "가이드(_u)" +msgstr "안내선 저장:" #: ../share/extensions/grid_cartesian.inx.h:1 msgid "Border Thickness / px" -msgstr "" +msgstr "경계 두께 / 화소" #: ../share/extensions/grid_cartesian.inx.h:2 -#, fuzzy msgid "Cartesian Grid" -msgstr "중심선" +msgstr "카테시안 격자" #: ../share/extensions/grid_cartesian.inx.h:3 msgid "Halve X Subsubdiv. Frequency after 'n' Subdivs. (log only)" -msgstr "" +msgstr "X 절반을 하위분할, 'n' 하위분할 후 주파수 (log만)" #: ../share/extensions/grid_cartesian.inx.h:4 msgid "Halve Y Subsubdiv. Frequency after 'n' Subdivs. (log only)" -msgstr "" +msgstr "Y 절반을 하위분할, 'n' 하위분할 후 주파수 (log만)" #: ../share/extensions/grid_cartesian.inx.h:5 msgid "Logarithmic X Subdiv. (Base given by entry above)" -msgstr "" +msgstr "로그 X 하위분할" #: ../share/extensions/grid_cartesian.inx.h:6 msgid "Logarithmic Y Subdiv. (Base given by entry above)" -msgstr "" +msgstr "로그 Y 하위분할" #: ../share/extensions/grid_cartesian.inx.h:7 msgid "Major X Division Thickness / px" -msgstr "" +msgstr "주 X 분할 두께 / 화소" #: ../share/extensions/grid_cartesian.inx.h:8 msgid "Major X Divisions" -msgstr "" +msgstr "주 X 분할" #: ../share/extensions/grid_cartesian.inx.h:9 msgid "Major X Divsion Spacing / px" -msgstr "" +msgstr "주 X 분할 간격 / 화소" #: ../share/extensions/grid_cartesian.inx.h:10 -#, fuzzy msgid "Major Y Division Spacing" -msgstr "수평 간격" +msgstr "주 Y 분할 간격" #: ../share/extensions/grid_cartesian.inx.h:11 msgid "Major Y Division Thickness / px" -msgstr "" +msgstr "주 Y 분할 두께 / 화소" #: ../share/extensions/grid_cartesian.inx.h:12 msgid "Major Y Divisions" -msgstr "" +msgstr "주 Y 분할" #: ../share/extensions/grid_cartesian.inx.h:13 msgid "Minor X Division Thickness / px" -msgstr "" +msgstr "부 X 분할 두께 / 화소" #: ../share/extensions/grid_cartesian.inx.h:14 msgid "Minor Y Division Thickness / px" -msgstr "" +msgstr "부 Y 분할 두께 / 화소" #: ../share/extensions/grid_cartesian.inx.h:16 msgid "Subdivisions per Major X Division" -msgstr "" +msgstr "주 X 분할 당 하위분할" #: ../share/extensions/grid_cartesian.inx.h:17 msgid "Subdivisions per Major Y Division" -msgstr "" +msgstr "주 Y 분할 당 하위분할" #: ../share/extensions/grid_cartesian.inx.h:18 msgid "Subminor X Division Thickness / px" -msgstr "" +msgstr "하위 부 X 분할 두께 / 화소" #: ../share/extensions/grid_cartesian.inx.h:19 msgid "Subminor Y Division Thickness / px" -msgstr "" +msgstr "하위 부 Y 분할 두께 / 화소" #: ../share/extensions/grid_cartesian.inx.h:20 msgid "Subsubdivs. per X Subdiv." -msgstr "" +msgstr "X 하위분할 당 하위 하위분할" #: ../share/extensions/grid_cartesian.inx.h:21 msgid "Subsubdivs. per Y Subdivision" -msgstr "" +msgstr "Y 하위분할 당 하위 하위분할" #: ../share/extensions/grid_polar.inx.h:1 msgid "Angle Divisions" -msgstr "" +msgstr "각도 분할" #: ../share/extensions/grid_polar.inx.h:2 msgid "Angle Divisions at Centre" -msgstr "" +msgstr "중앙에서 각도 분할" #: ../share/extensions/grid_polar.inx.h:3 msgid "Centre Dot Diameter / px" -msgstr "" +msgstr "중앙 점 직경 / 화소" #: ../share/extensions/grid_polar.inx.h:4 msgid "Circumferential Label Outset / px" -msgstr "" +msgstr "원주 라벨 확대 / 화소" #: ../share/extensions/grid_polar.inx.h:5 msgid "Circumferential Label Size / px" -msgstr "" +msgstr "원주 라벨 크기 / 화소" #: ../share/extensions/grid_polar.inx.h:6 msgid "Circumferential Labels" -msgstr "" +msgstr "원주 라벨" #: ../share/extensions/grid_polar.inx.h:8 msgid "Logarithmic Subdiv. (Base given by entry above)" -msgstr "" +msgstr "로그 하위분할" #: ../share/extensions/grid_polar.inx.h:9 msgid "Major Angular Division Thickness / px" -msgstr "" +msgstr "주 각도 분할 두께 / 화소" #: ../share/extensions/grid_polar.inx.h:10 msgid "Major Circular Division Thickness / px" -msgstr "" +msgstr "주 원형 분할 두께 / 화소" #: ../share/extensions/grid_polar.inx.h:11 msgid "Major Circular Divisions" -msgstr "" +msgstr "주 원형 분할" #: ../share/extensions/grid_polar.inx.h:12 msgid "Major Circular Divsion Spacing / px" -msgstr "" +msgstr "주 원형 분할 간격 / 화소" #: ../share/extensions/grid_polar.inx.h:13 msgid "Minor Angle Division End 'n' Divs. Before Centre" -msgstr "" +msgstr "부 각도 분할 끝 'n' 분할" #: ../share/extensions/grid_polar.inx.h:14 msgid "Minor Angular Division Thickness / px" -msgstr "" +msgstr "부 각도 분할 두께 / 화소 " #: ../share/extensions/grid_polar.inx.h:15 msgid "Minor Circular Division Thickness / px" -msgstr "" +msgstr "부 원형 분할 두께 / 화소" #: ../share/extensions/grid_polar.inx.h:17 msgid "Polar Grid" -msgstr "" +msgstr "극좌표 격자" #: ../share/extensions/grid_polar.inx.h:19 msgid "Subdivisions per Major Angular Division" -msgstr "" +msgstr "주 각도 분할 당 하위 분할" #: ../share/extensions/grid_polar.inx.h:20 msgid "Subdivisions per Major Circular Division" -msgstr "" +msgstr "주 원형 분할 당 하위분할" #: ../share/extensions/handles.inx.h:1 msgid "Draw Handles" -msgstr "" +msgstr "핸들 그리기" #: ../share/extensions/hpgl_output.inx.h:1 msgid "Export to an HP Graphics Language file" -msgstr "" +msgstr "HP 그래픽 언어 파일로 내보내기" #: ../share/extensions/hpgl_output.inx.h:2 -#, fuzzy msgid "HP Graphics Language file (*.hpgl)" -msgstr "XFIG 그래픽 파일(*.fig)" +msgstr "HP 그래픽 언어 파일 (*.hpgl)" #: ../share/extensions/hpgl_output.inx.h:3 -#, fuzzy msgid "HPGL Output" -msgstr "SVG 출력" +msgstr "HPGL 출력" #: ../share/extensions/inkscape_help_askaquestion.inx.h:1 msgid "Ask Us a Question" -msgstr "" +msgstr "질문 문의" #: ../share/extensions/inkscape_help_commandline.inx.h:1 -#, fuzzy msgid "Command Line Options" -msgstr "임의의 위치" +msgstr "명령어 설정 도움말" #: ../share/extensions/inkscape_help_faq.inx.h:1 msgid "FAQ" -msgstr "" +msgstr "자주 묻는 질문" #: ../share/extensions/inkscape_help_keys.inx.h:1 msgid "Keys and Mouse Reference" -msgstr "" +msgstr "키와 마우스 참조사항" #: ../share/extensions/inkscape_help_manual.inx.h:1 -#, fuzzy msgid "Inkscape Manual" -msgstr "잉크스케이프: 따오기(_r)" +msgstr "Inkscape 매뉴얼" #: ../share/extensions/inkscape_help_relnotes.inx.h:1 msgid "New in This Version" -msgstr "" +msgstr "이 버전의 새로운 내용" #: ../share/extensions/inkscape_help_reportabug.inx.h:1 msgid "Report a Bug" -msgstr "" +msgstr "버그 ë³´ê³ " #: ../share/extensions/inkscape_help_svgspec.inx.h:1 msgid "SVG 1.1 Specification" -msgstr "" +msgstr "SVG 1.1 설명" #: ../share/extensions/interp.inx.h:1 msgid "Duplicate endpaths" -msgstr "" +msgstr "끝 경로 복제" #: ../share/extensions/interp.inx.h:4 msgid "Interpolate" -msgstr "" +msgstr "삽입" #: ../share/extensions/interp.inx.h:5 -#, fuzzy -msgid "Interpolate style" -msgstr "불이기 종류(_S)" +msgid "Interpolate style (experimental)" +msgstr "스타일 삽입(경험치)" #: ../share/extensions/interp.inx.h:6 msgid "Interpolation method" -msgstr "" +msgstr "삽입 방법" #: ../share/extensions/interp.inx.h:7 msgid "Interpolation steps" -msgstr "" +msgstr "삽입 단계" #: ../share/extensions/lindenmayer.inx.h:1 msgid "Axiom" -msgstr "" +msgstr "공리" #: ../share/extensions/lindenmayer.inx.h:2 msgid "Axiom and rules" -msgstr "" +msgstr "공리 및 규칙" #: ../share/extensions/lindenmayer.inx.h:4 msgid "L-system" -msgstr "" +msgstr "L-시스템" #: ../share/extensions/lindenmayer.inx.h:5 msgid "Left angle" @@ -18214,12 +16997,12 @@ msgstr "왼쪽 각" #: ../share/extensions/lindenmayer.inx.h:8 #, no-c-format msgid "Randomize angle (%)" -msgstr "램덤 각 (%)" +msgstr "임의 각도 (%)" #: ../share/extensions/lindenmayer.inx.h:10 #, no-c-format msgid "Randomize step (%)" -msgstr "램덤 단계 (%)" +msgstr "임의 비율 (%)" #: ../share/extensions/lindenmayer.inx.h:12 msgid "Right angle" @@ -18231,644 +17014,563 @@ msgstr "규칙" #: ../share/extensions/lindenmayer.inx.h:14 msgid "Step length (px)" -msgstr "" +msgstr "단계 길이(화소)" #: ../share/extensions/lindenmayer.inx.h:15 -msgid "" -"The path is generated by applying the substitutions of Rules to the Axiom, " -"Order times. The following commands are recognized in Axiom and Rules: Any " -"of A,B,C,D,E,F: draw forward Any of G,H,I,J,K,L: move forward +: turn left " -"-: turn right |: turn 180 degrees [: remember poing ]: return to remembered " -"point" +msgid "The path is generated by applying the substitutions of Rules to the Axiom, Order times. The following commands are recognized in Axiom and Rules: Any of A,B,C,D,E,F: draw forward Any of G,H,I,J,K,L: move forward +: turn left -: turn right |: turn 180 degrees [: remember poing ]: return to remembered point" msgstr "" #: ../share/extensions/lorem_ipsum.inx.h:1 msgid "Lorem ipsum" -msgstr "" +msgstr "로렘 입섬" #: ../share/extensions/lorem_ipsum.inx.h:2 -#, fuzzy msgid "Number of paragraphs" -msgstr "줄 숫자:" +msgstr "문단 수" #: ../share/extensions/lorem_ipsum.inx.h:3 msgid "Paragraph length fluctuation (sentences)" -msgstr "" +msgstr "문단 길이 변동(문장)" #: ../share/extensions/lorem_ipsum.inx.h:4 msgid "Sentences per paragraph" -msgstr "" +msgstr "문단 당 문장" #: ../share/extensions/lorem_ipsum.inx.h:6 -msgid "" -"This effect creates the standard \"Lorem Ipsum\" pseudolatin placeholder " -"text. If a flowed text is selected, Lorem Ipsum is added to it; otherwise a " -"new flowed text object, the size of the page, is created in a new layer." +msgid "This effect creates the standard \"Lorem Ipsum\" pseudolatin placeholder text. If a flowed text is selected, Lorem Ipsum is added to it; otherwise a new flowed text object, the size of the page, is created in a new layer." msgstr "" #: ../share/extensions/markers_strokepaint.inx.h:1 msgid "Color Markers to Match Stroke" -msgstr "" +msgstr "색상 마커를 윤곽선과 일치" #: ../share/extensions/measure.inx.h:1 -#, fuzzy msgid "Font size [px]" -msgstr "글콘 크기" +msgstr "글꼴 크기[화소]" #. mm #: ../share/extensions/measure.inx.h:4 msgid "Length Unit: " -msgstr "" +msgstr "길이 단위: " #: ../share/extensions/measure.inx.h:5 msgid "Measure" -msgstr "" +msgstr "측정" #: ../share/extensions/measure.inx.h:6 msgid "Measure Path" -msgstr "" +msgstr "측정 경로" #: ../share/extensions/measure.inx.h:7 -#, fuzzy msgid "Offset [px]" -msgstr "곡선 간격 띄우기" +msgstr "옵셋 [화소]" #: ../share/extensions/measure.inx.h:8 -#, fuzzy msgid "Precision" -msgstr "설명" +msgstr "정밀도" #: ../share/extensions/measure.inx.h:9 msgid "Scale Factor (Drawing:Real Length) = 1:" -msgstr "" +msgstr "비율 요소 (그리기:실제 길이) = 1 :" #: ../share/extensions/measure.inx.h:10 -msgid "" -"This effect measures the length of the selected path and adds it as a text-" -"on-path object with the selected unit. The number of significant digits can " -"be controlled by the Precision field. The Offset field controls the distance " -"from the text to the path. The Scale factor can be used to make measurements " -"in scaled drawings. For example, if 1 cm in the drawing equals 2.5 m in the " -"real world, Scale must be set to 250." +msgid "This effect measures the length of the selected path and adds it as a text-on-path object with the selected unit. The number of significant digits can be controlled by the Precision field. The Offset field controls the distance from the text to the path. The Scale factor can be used to make measurements in scaled drawings. For example, if 1 cm in the drawing equals 2.5 m in the real world, Scale must be set to 250." msgstr "" #: ../share/extensions/motion.inx.h:2 msgid "Extrude" -msgstr "" +msgstr "밀어내기" #: ../share/extensions/motion.inx.h:4 msgid "Magnitude" -msgstr "" +msgstr "크기" #: ../share/extensions/outline2svg.inx.h:1 msgid "ASCII Text with outline markup" -msgstr "" +msgstr "윤곽선 마크업 있는 ASCII 문자열" #: ../share/extensions/outline2svg.inx.h:2 -#, fuzzy msgid "Text Outline File (*.outline)" -msgstr "텍스트 파일 (*.txt)" +msgstr "문자열 윤곽선 파일 (*.outline)" #: ../share/extensions/outline2svg.inx.h:3 -#, fuzzy msgid "Text Outline Input" -msgstr "텍스트 입력" +msgstr "문자열 윤곽선 입력" #: ../share/extensions/pathalongpath.inx.h:1 -#, fuzzy msgid "Copies of the pattern:" -msgstr "점선 유형" +msgstr "패턴 복사 갯수:" #: ../share/extensions/pathalongpath.inx.h:2 -#, fuzzy msgid "Deformation type:" -msgstr "정보" +msgstr "변형 형태:" #: ../share/extensions/pathalongpath.inx.h:3 #: ../share/extensions/pathscatter.inx.h:3 msgid "Duplicate the pattern before deformation" -msgstr "" +msgstr "변형 전 패턴을 복제" #: ../share/extensions/pathalongpath.inx.h:6 -#, fuzzy msgid "Pattern along Path" -msgstr "간격띄우기 유형" +msgstr "경로에 따른 패턴" #: ../share/extensions/pathalongpath.inx.h:10 msgid "Ribbon" -msgstr "" +msgstr "리본" #: ../share/extensions/pathalongpath.inx.h:13 -#, fuzzy msgid "Snake" -msgstr "단계" +msgstr "뱀" #: ../share/extensions/pathalongpath.inx.h:14 #: ../share/extensions/pathscatter.inx.h:11 msgid "Space between copies:" -msgstr "" +msgstr "복사본 사이 공백:" #: ../share/extensions/pathalongpath.inx.h:16 -msgid "" -"This effect bends a pattern object along arbitrary \"skeleton\" paths. The " -"pattern is the top most object in the selection. (groups of paths/shapes/" -"clones... allowed)" +msgid "This effect bends a pattern object along arbitrary \"skeleton\" paths. The pattern is the top most object in the selection. (groups of paths/shapes/clones... allowed)" msgstr "" #: ../share/extensions/pathscatter.inx.h:1 -#, fuzzy msgid "Cloned" -msgstr "복사 객체" +msgstr "복제 객체" #: ../share/extensions/pathscatter.inx.h:2 -#, fuzzy msgid "Copied" -msgstr "조합된" +msgstr "사본" #: ../share/extensions/pathscatter.inx.h:4 msgid "Follow path orientation." -msgstr "" +msgstr "경로 방향을 따르기." #: ../share/extensions/pathscatter.inx.h:6 -#, fuzzy msgid "Moved" -msgstr "이동(_M)" +msgstr "이동" #: ../share/extensions/pathscatter.inx.h:8 -#, fuzzy msgid "Original pattern will be:" -msgstr "간격띄우기 유형" +msgstr "원래 패턴임:" #: ../share/extensions/pathscatter.inx.h:10 -#, fuzzy msgid "Scatter" -msgstr "반복무늬" +msgstr "흩뿌리기" #: ../share/extensions/pathscatter.inx.h:12 msgid "Stretch spaces to fit skeleton length" -msgstr "" +msgstr "골격 길이에 적합하도록 공백 확장" #: ../share/extensions/pathscatter.inx.h:14 -msgid "" -"This effect scatters a pattern along arbitrary \"skeleton\" paths. The " -"pattern is the top most object in the selection. (groups of paths/shapes/" -"clones... allowed)" +msgid "This effect scatters a pattern along arbitrary \"skeleton\" paths. The pattern is the top most object in the selection. (groups of paths/shapes/clones... allowed)" msgstr "" #: ../share/extensions/perfectboundcover.inx.h:1 msgid "Bleed (in)" -msgstr "" +msgstr "물림재단(인치)" #: ../share/extensions/perfectboundcover.inx.h:2 msgid "Bond Weight #" -msgstr "" +msgstr "제본 폭 #" #: ../share/extensions/perfectboundcover.inx.h:3 msgid "Book Height (inches)" -msgstr "" +msgstr "책 높이(인치)" #: ../share/extensions/perfectboundcover.inx.h:4 -#, fuzzy msgid "Book Properties" -msgstr "출력 설정" +msgstr "책 속성" #: ../share/extensions/perfectboundcover.inx.h:5 msgid "Book Width (inches)" -msgstr "" +msgstr "책 폭(인치)" #: ../share/extensions/perfectboundcover.inx.h:6 msgid "Caliper (inches)" -msgstr "" +msgstr "종이 두께(인치)" #: ../share/extensions/perfectboundcover.inx.h:7 -#, fuzzy msgid "Cover" msgstr "표지" #: ../share/extensions/perfectboundcover.inx.h:8 msgid "Cover Thickness Measurement" -msgstr "" +msgstr "표지 두께 측정" #: ../share/extensions/perfectboundcover.inx.h:9 -#, fuzzy msgid "Generate Template" -msgstr "곡선으로 부터 만들어냄" +msgstr "서식 생성" #: ../share/extensions/perfectboundcover.inx.h:10 -#, fuzzy msgid "Interior Pages" -msgstr "반전" +msgstr "안쪽 페이지" #: ../share/extensions/perfectboundcover.inx.h:11 msgid "Note: Bond Weight # calculations are a best-guess estimate." -msgstr "" +msgstr "알림: 재단 폭 # 계산은 최적의 어림 추정입니다." #: ../share/extensions/perfectboundcover.inx.h:12 -#, fuzzy msgid "Number of Pages" -msgstr "단계 숫자" +msgstr "페이지 번호" #: ../share/extensions/perfectboundcover.inx.h:13 msgid "Pages Per Inch (PPI)" -msgstr "" +msgstr "인치당 페이지(PPI)" #: ../share/extensions/perfectboundcover.inx.h:14 msgid "Paper Thickness Measurement" -msgstr "" +msgstr "종이 두께 측정" #: ../share/extensions/perfectboundcover.inx.h:15 msgid "Perfect-Bound Cover" -msgstr "" +msgstr "완전-제본 표지" #: ../share/extensions/perfectboundcover.inx.h:17 -#, fuzzy msgid "Remove existing guides" -msgstr "사각형 찾기" +msgstr "기존 안내선 제거" #: ../share/extensions/perfectboundcover.inx.h:18 -#, fuzzy msgid "Specify Width" -msgstr "선 폭" +msgstr "폭 지정" #: ../share/extensions/perspective.inx.h:2 -#, fuzzy msgid "Perspective" -msgstr "선택" +msgstr "원근" #: ../share/extensions/polyhedron_3d.inx.h:1 -#, fuzzy msgid "3D Polyhedron" -msgstr "폴리곤" +msgstr "3D 다면체" #: ../share/extensions/polyhedron_3d.inx.h:2 -#, fuzzy msgid "Clockwise Wound Object" -msgstr "잠겨진 객체 무시" +msgstr "시계방향 감겨진 객체" #: ../share/extensions/polyhedron_3d.inx.h:3 msgid "Cube" -msgstr "" +msgstr "사면체" #: ../share/extensions/polyhedron_3d.inx.h:4 msgid "Cuboctohedron" -msgstr "" +msgstr "8ë©´ì²´" #: ../share/extensions/polyhedron_3d.inx.h:5 msgid "Dodecahedron" -msgstr "" +msgstr "10ë©´ì²´" #: ../share/extensions/polyhedron_3d.inx.h:6 msgid "Draw Back-Facing Polygons" -msgstr "" +msgstr "후면 다면체 그리기" #: ../share/extensions/polyhedron_3d.inx.h:7 msgid "Edge-Specified" -msgstr "" +msgstr "모서리-지정" #: ../share/extensions/polyhedron_3d.inx.h:8 -#, fuzzy msgid "Edges" -msgstr "이동(_M)" +msgstr "모서리" #: ../share/extensions/polyhedron_3d.inx.h:9 msgid "Face-Specified" -msgstr "" +msgstr "ë©´-지정" #: ../share/extensions/polyhedron_3d.inx.h:10 -#, fuzzy msgid "Faces" -msgstr "소스" +msgstr "ë©´" #: ../share/extensions/polyhedron_3d.inx.h:11 -#, fuzzy msgid "Filename:" -msgstr "파일이름 설정" +msgstr "파일 이름:" #: ../share/extensions/polyhedron_3d.inx.h:12 msgid "Fill Colour (Blue)" -msgstr "" +msgstr "채움 색상(ì²­)" #: ../share/extensions/polyhedron_3d.inx.h:13 msgid "Fill Colour (Green)" -msgstr "" +msgstr "채움 색상(녹)" #: ../share/extensions/polyhedron_3d.inx.h:14 msgid "Fill Colour (Red)" -msgstr "" +msgstr "채움 색상(적)" #: ../share/extensions/polyhedron_3d.inx.h:16 -#, fuzzy, no-c-format +#, no-c-format msgid "Fill Opacity/ %" -msgstr "불투명도" +msgstr "채움 불투명도/ %" #: ../share/extensions/polyhedron_3d.inx.h:17 msgid "Great Dodecahedron" -msgstr "" +msgstr "큰 12ë©´ì²´" #: ../share/extensions/polyhedron_3d.inx.h:18 msgid "Great Stellated Dodecahedron" -msgstr "" +msgstr "큰 12ë©´ì²´" #: ../share/extensions/polyhedron_3d.inx.h:19 msgid "Icosahedron" -msgstr "" +msgstr "20ë©´ì²´" #: ../share/extensions/polyhedron_3d.inx.h:20 -#, fuzzy msgid "Light x-Position" -msgstr "위치:" +msgstr "빛 X-위치" #: ../share/extensions/polyhedron_3d.inx.h:21 -#, fuzzy msgid "Light y-Position" -msgstr "위치:" +msgstr "빛 Y-위치" #: ../share/extensions/polyhedron_3d.inx.h:22 -#, fuzzy msgid "Light z-Position" -msgstr "위치:" +msgstr "빛 Z-위치:" #: ../share/extensions/polyhedron_3d.inx.h:23 msgid "Line Thickness / px" -msgstr "" +msgstr "선 두께 / 화소" #: ../share/extensions/polyhedron_3d.inx.h:24 msgid "Load From File" -msgstr "" +msgstr "파일에서 읽어오기" #: ../share/extensions/polyhedron_3d.inx.h:25 msgid "Maximum" -msgstr "" +msgstr "최대" #: ../share/extensions/polyhedron_3d.inx.h:26 msgid "Mean" -msgstr "" +msgstr "중간" #: ../share/extensions/polyhedron_3d.inx.h:27 -#, fuzzy msgid "Minimum" -msgstr "최소 크기" +msgstr "최소" #: ../share/extensions/polyhedron_3d.inx.h:28 -#, fuzzy msgid "Model File" -msgstr "모든 형태" +msgstr "모델 파일" #: ../share/extensions/polyhedron_3d.inx.h:29 -#, fuzzy msgid "Object Type" -msgstr "객체" +msgstr "객체 형태" #: ../share/extensions/polyhedron_3d.inx.h:30 -#, fuzzy msgid "Object:" -msgstr "객체" +msgstr "객체:" #: ../share/extensions/polyhedron_3d.inx.h:31 -#, fuzzy msgid "Octahedron" -msgstr "미터" +msgstr "8ë©´ì²´" #: ../share/extensions/polyhedron_3d.inx.h:33 -#, fuzzy msgid "Report Normal Vector Information" -msgstr "메모리 사용량 정보" +msgstr "정규 벡터 정보 ë³´ê³ " #: ../share/extensions/polyhedron_3d.inx.h:34 -#, fuzzy msgid "Rotate Around:" -msgstr "노드 올리기" +msgstr "회전:" #: ../share/extensions/polyhedron_3d.inx.h:35 -#, fuzzy msgid "Rotation / Degrees" -msgstr "회전(_R)" +msgstr "회전 / 각도" #: ../share/extensions/polyhedron_3d.inx.h:36 -#, fuzzy msgid "Scaling Factor" -msgstr "선택자" +msgstr "비율 요소" #: ../share/extensions/polyhedron_3d.inx.h:37 -#, fuzzy msgid "Shading" -msgstr "간격:" +msgstr "음영" #: ../share/extensions/polyhedron_3d.inx.h:39 msgid "Small Triambic Icosahedron" -msgstr "" +msgstr "작은 Triambic 20ë©´ì²´" #: ../share/extensions/polyhedron_3d.inx.h:40 msgid "Snub Cube" -msgstr "" +msgstr "팽팽한 6ë©´ì²´" #: ../share/extensions/polyhedron_3d.inx.h:41 msgid "Snub Dodecahedron" -msgstr "" +msgstr "팽팽한 12ë©´ì²´" #: ../share/extensions/polyhedron_3d.inx.h:43 -#, fuzzy, no-c-format msgid "Stroke Opacity/ %" -msgstr "볆" +msgstr "윤곽선 불투명도/ %" #: ../share/extensions/polyhedron_3d.inx.h:45 msgid "Tetrahedron" -msgstr "" +msgstr "사면체" #: ../share/extensions/polyhedron_3d.inx.h:46 msgid "Then Rotate Around:" -msgstr "" +msgstr "ê·¸ 때 회전:" #: ../share/extensions/polyhedron_3d.inx.h:47 msgid "Truncated Cube" -msgstr "" +msgstr "잘린 6ë©´ì²´" #: ../share/extensions/polyhedron_3d.inx.h:48 msgid "Truncated Dodecahedron" -msgstr "" +msgstr "잘린 12ë©´ì²´" #: ../share/extensions/polyhedron_3d.inx.h:49 msgid "Truncated Icosahedron" -msgstr "" +msgstr "잘린 20ë©´ì²´" #: ../share/extensions/polyhedron_3d.inx.h:50 msgid "Truncated Octahedron" -msgstr "" +msgstr "잘린 8ë©´ì²´" #: ../share/extensions/polyhedron_3d.inx.h:51 msgid "Truncated Tetrahedron" -msgstr "" +msgstr "잘린 사면체" #: ../share/extensions/polyhedron_3d.inx.h:52 -#, fuzzy msgid "Vertices" -msgstr "수직(_V)" +msgstr "꼭지점" #: ../share/extensions/polyhedron_3d.inx.h:53 msgid "View" -msgstr "" +msgstr "보기" #: ../share/extensions/polyhedron_3d.inx.h:54 msgid "X-Axis" -msgstr "" +msgstr "X-축" #: ../share/extensions/polyhedron_3d.inx.h:55 msgid "Y-Axis" -msgstr "" +msgstr "Y-축" #: ../share/extensions/polyhedron_3d.inx.h:56 msgid "Z-Axis" -msgstr "" +msgstr "Z-축" #: ../share/extensions/polyhedron_3d.inx.h:57 msgid "Z-Sort Faces By:" -msgstr "" +msgstr "Z-정렬 ë©´:" #: ../share/extensions/ps_input.inx.h:1 msgid "Postscript" -msgstr "포스트 스크립트" +msgstr "포스트스크립트" #: ../share/extensions/ps_input.inx.h:2 msgid "Postscript (*.ps)" -msgstr "포스트스크립 (*.ps)" +msgstr "포스트스크립트 (*.ps)" #: ../share/extensions/ps_input.inx.h:3 msgid "Postscript Input" -msgstr "포스트 스크립트 입력" +msgstr "포스트스크립트 입력" #: ../share/extensions/radiusrand.inx.h:1 -#, fuzzy msgid "Jitter nodes" -msgstr "노드 올리기" +msgstr "노드를 조금씩 움직임" #: ../share/extensions/radiusrand.inx.h:2 -#, fuzzy -msgid "Maximum displacement in X, px" -msgstr "새로운 요소 노드" +msgid "Maximum displacement, px" +msgstr "X의 최대 위치, 화소" #: ../share/extensions/radiusrand.inx.h:3 -#, fuzzy msgid "Maximum displacement in Y, px" -msgstr "새로운 요소 노드" +msgstr "Y의 최대 위치, 화소" #: ../share/extensions/radiusrand.inx.h:5 -#, fuzzy msgid "Shift node handles" -msgstr "임의의 노드 관리" +msgstr "노드 핸들 이동" #: ../share/extensions/radiusrand.inx.h:6 -#, fuzzy msgid "Shift nodes" -msgstr "임의의 노드" +msgstr "노드 이동" #: ../share/extensions/radiusrand.inx.h:7 -msgid "" -"This effect randomly shifts the nodes (and optionally node handles) of the " -"selected path." -msgstr "" +msgid "This effect randomly shifts the nodes (and optionally node handles) of the selected path." +msgstr "이 효과는 무작위로 선택 경로의 노드(그리고 부가 노드 핸들)를 이동시킴." #: ../share/extensions/radiusrand.inx.h:8 msgid "Use normal distribution" -msgstr "일반 배포판 사용" +msgstr "일반 분배 사용" #: ../share/extensions/render_alphabetsoup.inx.h:1 msgid "Alphabet Soup" -msgstr "" +msgstr "알파벳 수프" #: ../share/extensions/render_alphabetsoup.inx.h:2 -#, fuzzy msgid "Random Seed" -msgstr "임의의 트리" +msgstr "임의 씨앗" #: ../share/extensions/render_barcode.inx.h:1 -#, fuzzy msgid "Bar Height:" -msgstr "높이:" +msgstr "막대 높이:" #: ../share/extensions/render_barcode.inx.h:2 msgid "Barcode" -msgstr "" +msgstr "바코드" #: ../share/extensions/render_barcode.inx.h:3 msgid "Barcode Data:" -msgstr "" +msgstr "바코드 자료:" #: ../share/extensions/render_barcode.inx.h:4 -#, fuzzy msgid "Barcode Type:" -msgstr " 타입: " +msgstr "바코드 타입:" #: ../share/extensions/restack.inx.h:2 -#, fuzzy msgid "Arbitrary Angle:" -msgstr "각도" +msgstr "임의 각도:" #: ../share/extensions/restack.inx.h:4 -#, fuzzy msgid "Bottom" -msgstr "확대 축소 보기" +msgstr "최하단" #: ../share/extensions/restack.inx.h:5 msgid "Bottom to Top (90)" -msgstr "" +msgstr "최하단에서 최상단 (90)" #: ../share/extensions/restack.inx.h:6 -#, fuzzy msgid "Horizontal Point:" -msgstr "수평 글자" +msgstr "수평 점:" #: ../share/extensions/restack.inx.h:7 msgid "Left" -msgstr "" +msgstr "왼쪽" #: ../share/extensions/restack.inx.h:8 msgid "Left to Right (0)" -msgstr "" +msgstr "왼쪽에서 오른쪽으로 (0)" #: ../share/extensions/restack.inx.h:9 -#, fuzzy msgid "Middle" -msgstr "제목" +msgstr "중간" #: ../share/extensions/restack.inx.h:10 msgid "Radial Inward" -msgstr "" +msgstr "방사 안쪽" #: ../share/extensions/restack.inx.h:11 msgid "Radial Outward" -msgstr "" +msgstr "방사 바깥쪽" #: ../share/extensions/restack.inx.h:12 -#, fuzzy msgid "Restack" -msgstr " 리셋(_e) " +msgstr "다시쌓기" #: ../share/extensions/restack.inx.h:13 -#, fuzzy msgid "Restack Direction:" -msgstr "설명" +msgstr "다시쌓기 방향:" #: ../share/extensions/restack.inx.h:14 -#, fuzzy msgid "Right" -msgstr "높이:" +msgstr "오른쪽" #: ../share/extensions/restack.inx.h:15 msgid "Right to Left (180)" -msgstr "" +msgstr "오른쪽에서 왼쪽 (180)" #: ../share/extensions/restack.inx.h:17 msgid "Top to Bottom (270)" -msgstr "" +msgstr "최상단에서 최하단으로 (270)" #: ../share/extensions/restack.inx.h:18 -#, fuzzy msgid "Vertical Point:" -msgstr "수직 글자" +msgstr "수직 점:" #: ../share/extensions/rtree.inx.h:1 msgid "Initial size" -msgstr "크기 인식" +msgstr "초기 크기" #: ../share/extensions/rtree.inx.h:2 msgid "Minimum size" @@ -18876,500 +17578,248 @@ msgstr "최소 크기" #: ../share/extensions/rtree.inx.h:3 msgid "Random Tree" -msgstr "임의의 트리" +msgstr "임의 분기" #: ../share/extensions/rubberstretch.inx.h:2 #, no-c-format msgid "Curve (%):" -msgstr "" +msgstr "곡선 (%):" #: ../share/extensions/rubberstretch.inx.h:4 -#, fuzzy msgid "Rubber Stretch" -msgstr "단계 숫자" +msgstr "고무 확장" #: ../share/extensions/rubberstretch.inx.h:6 #, no-c-format msgid "Strength (%):" -msgstr "" +msgstr "힘 (%):" #: ../share/extensions/sk1_input.inx.h:1 -#, fuzzy msgid "Open files saved in sK1 vector graphics editor" -msgstr "SVG 벡터 일러스터 잉크스케이프" +msgstr "sK1 벡터 그래픽 파일 열기" #: ../share/extensions/sk1_input.inx.h:2 msgid "sK1 vector graphics files (.sk1)" -msgstr "" +msgstr "sK1 벡터 그래픽 파일 (.sk1)" #: ../share/extensions/sk1_input.inx.h:3 msgid "sK1 vector graphics files input" -msgstr "" +msgstr "sK1벡터 그래픽 파일 입력" #: ../share/extensions/sk_input.inx.h:1 msgid "A diagram created with the program Sketch" -msgstr "" +msgstr "프로그램 스케치로 생성된 도표" #: ../share/extensions/sk_input.inx.h:2 msgid "Sketch Diagram (*.sk)" -msgstr "스케치 아이어 그램 (*.sk)" +msgstr "스케치 도표 (*.sk)" #: ../share/extensions/sk_input.inx.h:3 msgid "Sketch Input" -msgstr "스케치 들여오기" +msgstr "스케치 입력" #: ../share/extensions/spirograph.inx.h:1 msgid "Gear Placement" -msgstr "" +msgstr "톱니 위치" #: ../share/extensions/spirograph.inx.h:2 msgid "Inside (Hypotrochoid)" -msgstr "" +msgstr "안쪽 (하이포트로코이드)" #: ../share/extensions/spirograph.inx.h:3 msgid "Outside (Epitrochoid)" -msgstr "" +msgstr "바깥쪽 (에피트로코이드)" #: ../share/extensions/spirograph.inx.h:4 msgid "Quality (Default = 16)" -msgstr "" +msgstr "질 (기본값 = 16)" #: ../share/extensions/spirograph.inx.h:5 msgid "R - Ring Radius (px)" -msgstr "" +msgstr "R - 링 반경 (화소)" #: ../share/extensions/spirograph.inx.h:7 -#, fuzzy msgid "Rotation (deg)" -msgstr "회전(_R)" +msgstr "회전 (각도)" #: ../share/extensions/spirograph.inx.h:8 msgid "Spirograph" -msgstr "" +msgstr "스피로그래피" #: ../share/extensions/spirograph.inx.h:9 msgid "d - Pen Radius (px)" -msgstr "" +msgstr "d - 펜 반경 (화소)" #: ../share/extensions/spirograph.inx.h:10 msgid "r - Gear Radius (px)" -msgstr "" +msgstr "r - 톱니 반경 (화소)" #: ../share/extensions/straightseg.inx.h:1 msgid "Behavior" -msgstr "행동" +msgstr "작동" #: ../share/extensions/straightseg.inx.h:4 msgid "Straighten Segments" -msgstr "" +msgstr "곧은 세그먼트" #: ../share/extensions/summersnight.inx.h:1 msgid "Envelope" -msgstr "" +msgstr "봉투" -#: ../share/extensions/svg2xaml.inx.h:1 ../share/extensions/xaml2svg.inx.h:1 +#: ../share/extensions/svg2xaml.inx.h:1 +#: ../share/extensions/xaml2svg.inx.h:1 msgid "Microsoft XAML (*.xaml)" -msgstr "" +msgstr "마이크로소프트 XAML (*.xaml)" -#: ../share/extensions/svg2xaml.inx.h:2 ../share/extensions/xaml2svg.inx.h:2 +#: ../share/extensions/svg2xaml.inx.h:2 +#: ../share/extensions/xaml2svg.inx.h:2 msgid "Microsoft's GUI definition format" -msgstr "" +msgstr "마이크로소프트 GUI 정의 형식" #: ../share/extensions/svg2xaml.inx.h:3 -#, fuzzy msgid "XAML Output" -msgstr "DXF 내보내기" +msgstr "XAML 생성" #: ../share/extensions/svg_and_media_zip_output.inx.h:1 msgid "Compressed Inkscape SVG with media (*.zip)" -msgstr "미디어와 함께 압축된 잉크스케이프 SVG (*.zip)" +msgstr "미디어와 함께 압축된 Inkscape SVG (*.zip)" #: ../share/extensions/svg_and_media_zip_output.inx.h:2 -msgid "" -"Inkscape's native file format compressed with Zip and including all media " -"files" -msgstr "" +msgid "Inkscape's native file format compressed with Zip and including all media files" +msgstr "Inkscape 파일 Zip 압축 형식과 전체 미디어 파일 포함" #: ../share/extensions/svg_and_media_zip_output.inx.h:3 msgid "ZIP Output" msgstr "ZIP 생성" #: ../share/extensions/text_braille.inx.h:1 -#, fuzzy msgid "Convert to Braille" -msgstr "반전" +msgstr "점자(브라유)로 반전" #: ../share/extensions/text_flipcase.inx.h:2 msgid "fLIP cASE" -msgstr "" +msgstr "대소문자 뒤바꿈" #: ../share/extensions/text_lowercase.inx.h:2 -#, fuzzy msgid "lowercase" -msgstr "노드를 아래도" +msgstr "소문자" #: ../share/extensions/text_randomcase.inx.h:2 msgid "rANdOm CasE" -msgstr "" +msgstr "임의 대소문자" #: ../share/extensions/text_replace.inx.h:1 msgid "By:" -msgstr "" +msgstr "로:" #: ../share/extensions/text_replace.inx.h:2 -#, fuzzy msgid "Replace text" -msgstr "노드 삭제" +msgstr "문자열 치환" #: ../share/extensions/text_replace.inx.h:3 -#, fuzzy msgid "Replace:" -msgstr "반복:" +msgstr "치환:" #: ../share/extensions/text_sentencecase.inx.h:1 msgid "Sentence case" -msgstr "" +msgstr "문장 대소문자" #: ../share/extensions/text_titlecase.inx.h:2 -#, fuzzy msgid "Title Case" -msgstr "제목" +msgstr "제목 대소문자" #: ../share/extensions/text_uppercase.inx.h:2 msgid "UPPERCASE" -msgstr "" +msgstr "대문자" #: ../share/extensions/triangle.inx.h:1 -#, fuzzy msgid "Angle a / deg" -msgstr "각도" +msgstr "각도 a / 각" #: ../share/extensions/triangle.inx.h:2 -#, fuzzy msgid "Angle b / deg" -msgstr "각도" +msgstr "각도 b / 각" #: ../share/extensions/triangle.inx.h:3 -#, fuzzy msgid "Angle c / deg" -msgstr "각도" +msgstr "각도 c / 각" #: ../share/extensions/triangle.inx.h:4 msgid "From Side a and Angles a, b" -msgstr "" +msgstr "a ë©´ê³¼ 각도 a, b로 부터" #: ../share/extensions/triangle.inx.h:5 msgid "From Side c and Angles a, b" -msgstr "" +msgstr "c ë©´ê³¼ 각도 a, b로 부터" #: ../share/extensions/triangle.inx.h:6 msgid "From Sides a, b and Angle a" -msgstr "" +msgstr "a ,b ë©´ê³¼ 각도 a로 부터" #: ../share/extensions/triangle.inx.h:7 msgid "From Sides a, b and Angle c" -msgstr "" +msgstr "a,b ë©´ê³¼ 각도 c로 부터" #: ../share/extensions/triangle.inx.h:8 msgid "From Three Sides" -msgstr "" +msgstr "3면으로 부터" #: ../share/extensions/triangle.inx.h:11 msgid "Side Length a / px" -msgstr "" +msgstr "ë©´ 길이 a / 화소" #: ../share/extensions/triangle.inx.h:12 msgid "Side Length b / px" -msgstr "" +msgstr "ë©´ 길이 b / 화소" #: ../share/extensions/triangle.inx.h:13 msgid "Side Length c / px" -msgstr "" +msgstr "ë©´ 길이 c / 화소" #: ../share/extensions/triangle.inx.h:14 -#, fuzzy msgid "Triangle" -msgstr "각도" +msgstr "삼각형" #: ../share/extensions/txt2svg.inx.h:1 msgid "ASCII Text" -msgstr "아스키 텍스트" +msgstr "ASCII 문자열" #: ../share/extensions/txt2svg.inx.h:2 msgid "Text File (*.txt)" -msgstr "텍스트 파일 (*.txt)" +msgstr "문자열 파일 (*.txt)" #: ../share/extensions/txt2svg.inx.h:3 msgid "Text Input" -msgstr "텍스트 입력" +msgstr "문자열 입력" #: ../share/extensions/whirl.inx.h:1 msgid "Amount of whirl" -msgstr "" +msgstr "회오리 정도" #: ../share/extensions/whirl.inx.h:3 msgid "Rotation is clockwise" -msgstr "시계방향으로 회전" +msgstr "시계방향 회전" #: ../share/extensions/whirl.inx.h:4 msgid "Whirl" -msgstr "" +msgstr "회오리" #: ../share/extensions/wmf_input.inx.h:1 msgid "A popular graphics file format for clipart" -msgstr "클립아트를 위한 유명한 그래픽 파일 포멧" +msgstr "클립아트를 위한 유명한 그래픽 파일 형식" #: ../share/extensions/wmf_input.inx.h:2 msgid "Windows Metafile (*.wmf)" -msgstr "" +msgstr "윈도우 메타파일 (*.wmf)" #: ../share/extensions/wmf_input.inx.h:3 msgid "Windows Metafile Input" -msgstr "윈도우즈 메타파일 불러오기" +msgstr "윈도우즈 메타파일 입력" #: ../share/extensions/xaml2svg.inx.h:3 -#, fuzzy msgid "XAML Input" -msgstr "DXF 불러오기" - -#~ msgid "" -#~ "Cannot set %s: Another element with value %s already exists!" -#~ msgstr "" -#~ "%s로 설정할수 없음: 다른 개체가 %s 값을 이미 가지고 있음!" - -#, fuzzy -#~ msgid "Bend Path" -#~ msgstr "곡선" - -#, fuzzy -#~ msgid "Space between copies of the pattern" -#~ msgstr "점선 유형" - -#, fuzzy -#~ msgid "Nothing in the clipboard." -#~ msgstr "클립보드에 아무것도 없음" - -#, fuzzy -#~ msgid "Nothing on the style clipboard." -#~ msgstr "클립보드에 아무것도 없음" - -#, fuzzy -#~ msgid "Snapping to special nodes" -#~ msgstr "선" - -#, fuzzy -#~ msgid "Shape" -#~ msgstr "형태" - -#, fuzzy -#~ msgid "Tall" -#~ msgstr "제목" - -#, fuzzy -#~ msgid "Square" -#~ msgstr "소스" - -#, fuzzy -#~ msgid "Wide" -#~ msgstr "숨기기(_H)" - -#, fuzzy -#~ msgid "Delete Segment" -#~ msgstr "선택부분 지우기" - -#, fuzzy -#~ msgid "Custom..." -#~ msgstr "개인적(_C)" - -#, fuzzy -#~ msgid "Select option: " -#~ msgstr "선택" - -#, fuzzy -#~ msgid "Select second option: " -#~ msgstr "열 화일을 선택하시오" - -#~ msgid "Random Point" -#~ msgstr "램덤 포인트:" - -#~ msgid "Random Position" -#~ msgstr "임의의 위치" - -#, fuzzy -#~ msgid "X Channel" -#~ msgstr "취소" - -#, fuzzy -#~ msgid "Y Channel" -#~ msgstr "취소" - -#, fuzzy -#~ msgid "Search Tag" -#~ msgstr "이미지 찾기" - -#, fuzzy -#~ msgid "Degrees:" -#~ msgstr "삭제(_D)" - -#, fuzzy -#~ msgid "PostScript 3" -#~ msgstr "포스트 스크립트" - -#, fuzzy -#~ msgid "Start point jitter" -#~ msgstr "채도" - -#, fuzzy -#~ msgid "Slope" -#~ msgstr "확대/축소(_S)" - -#, fuzzy -#~ msgid "Intercept" -#~ msgstr "선택" - -#, fuzzy -#~ msgid "Snap at specified d_istance" -#~ msgstr "잉크스케이프: 고급(_A)" - -#, fuzzy -#~ msgid "Snap at specified dis_tance" -#~ msgstr "잉크스케이프: 고급(_A)" - -#, fuzzy -#~ msgid "Snap at specified distan_ce" -#~ msgstr "잉크스케이프: 고급(_A)" - -#, fuzzy -#~ msgid "_Include the object's rotation center" -#~ msgstr "숨겨진 객체를 포함해 찾기" - -#, fuzzy -#~ msgid "Miscellaneous" -#~ msgstr "원" - -#, fuzzy -#~ msgid "Date:" -#~ msgstr "날짜" - -#, fuzzy -#~ msgid "Format:" -#~ msgstr "포멧" - -#, fuzzy -#~ msgid "Creator:" -#~ msgstr "제작자" - -#, fuzzy -#~ msgid "Publisher:" -#~ msgstr "출판자" - -#, fuzzy -#~ msgid "Identifier:" -#~ msgstr "구별자" - -#, fuzzy -#~ msgid "Source:" -#~ msgstr "소스" - -#, fuzzy -#~ msgid "Relation:" -#~ msgstr "해상도:" - -#, fuzzy -#~ msgid "Language:" -#~ msgstr "언어" - -#, fuzzy -#~ msgid "Subject:" -#~ msgstr "객체" - -#, fuzzy -#~ msgid "Coverage:" -#~ msgstr "표지" - -#, fuzzy -#~ msgid "Contributor:" -#~ msgstr "기증자" - -#, fuzzy -#~ msgid "Default Metadata" -#~ msgstr "기본" - -#, fuzzy -#~ msgid "Creative Commons: Attribution" -#~ msgstr "저작자표시" - -#, fuzzy -#~ msgid "Creative Commons: Attribution-ShareAlike" -#~ msgstr "저작자표시-동일 ì¡°ê±´ 변경 허락" - -#, fuzzy -#~ msgid "Creative Commons: Attribution-NoDerivatives" -#~ msgstr "자작자표시-변경금지" - -#, fuzzy -#~ msgid "Creative Commons: Attribution-NonCommercial" -#~ msgstr "저작자표시-비영리" - -#, fuzzy -#~ msgid "Creative Commons: Attribution-NonCommercial-ShareAlike" -#~ msgstr "저작자표시-비영리-동일조건변경허락" - -#, fuzzy -#~ msgid "Creative Commons: Attribution-NonCommercial-NoDerivatives" -#~ msgstr "저작자표시-비영리-변경금지" - -#, fuzzy -#~ msgid "Free Art License" -#~ msgstr "새파일 열기" - -#, fuzzy -#~ msgid "Angle Y" -#~ msgstr "각도" - -#~ msgid "Move by:" -#~ msgstr "다음에 의한 이동 :" - -#~ msgid "Move to:" -#~ msgstr "다음으로 이동:" - -#~ msgid "Moving %s %s" -#~ msgstr "%s %s 이동" - -#, fuzzy -#~ msgid "Change layer opacity" -#~ msgstr "주 투명도" - -#, fuzzy -#~ msgid "Opacity, %:" -#~ msgstr "불투명도" - -#, fuzzy -#~ msgid "Path along path" -#~ msgstr "간격띄우기 유형" - -#, fuzzy -#~ msgid "Pattern along path" -#~ msgstr "간격띄우기 유형" - -#, fuzzy -#~ msgid "unknown error" -#~ msgstr "알수 없는" - -#, fuzzy -#~ msgid "Snap details" -#~ msgstr "노드 올리기" - -#, fuzzy -#~ msgid "Gridtype" -#~ msgstr " 타입: " - -#, fuzzy -#~ msgid "Gradients" -#~ msgstr "색변화" +msgstr "XAML 입력" -#~ msgid "Horizontal kerning" -#~ msgstr "수평 간격" +msgid "Custom..." +msgstr "사용자..." -#~ msgid "Vertical kerning" -#~ msgstr "수직 간격" diff --git a/po/pl.po b/po/pl.po index feb5428ea..aee7636ae 100644 --- a/po/pl.po +++ b/po/pl.po @@ -10,10 +10,10 @@ # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- msgid "" msgstr "" -"Project-Id-Version: Inkscape 0.46\n" +"Project-Id-Version: Inkscape 0.47\n" "Report-Msgid-Bugs-To: inkscape-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-06-12 21:31+0100\n" -"PO-Revision-Date: 2008-06-02 22:21+0100\n" +"POT-Creation-Date: 2008-10-14 11:59+0100\n" +"PO-Revision-Date: 2008-10-14 14:46-0000\n" "Last-Translator: Marcin Floryan \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" @@ -21,8 +21,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Polish\n" "X-Poedit-Country: POLAND\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Poedit-Basepath: ..\\src\n" #: ../inkscape.desktop.in.h:1 msgid "Create and edit Scalable Vector Graphics images" @@ -32,19381 +32,18886 @@ msgstr "Tworzenie i edycja grafiki wektorowej SVG" msgid "Inkscape Vector Graphics Editor" msgstr "Inkscape - edytor grafiki wektorowej" -#: ../src/arc-context.cpp:338 -msgid "" -"Ctrl: make circle or integer-ratio ellipse, snap arc/segment angle" -msgstr "" -"Ctrl: tworzenie okręgów lub proporcjonalnych elips, przyciąganie do " -"kąta półkola/łuku" +#. vim: expandtab shiftwidth=4 tabstop=8 softtabstop=4 encoding=utf-8 textwidth=99 +#: ../share/extensions/addnodes.inx.h:1 +msgid "Add Nodes" +msgstr "Dodaj węzły" -#: ../src/arc-context.cpp:339 ../src/rect-context.cpp:383 -msgid "Shift: draw around the starting point" -msgstr "Shift: rysowanie od punktu startowego we wszystkich kierunkach" +#: ../share/extensions/addnodes.inx.h:2 +msgid "By max. segment length" +msgstr "Wg maksymalnej długość odcinka" -#: ../src/arc-context.cpp:485 -#, c-format -msgid "" -"Ellipse: %s × %s (constrained to ratio %d:%d); with Shift " -"to draw around the starting point" -msgstr "" -"Elipsa: %s × %s (wymuszona do proporcji %d:%d); z Shift, " -"aby rysować wokół punktu startowego" +#: ../share/extensions/addnodes.inx.h:3 +msgid "By number of segments" +msgstr "Wg liczby zębów" -#: ../src/arc-context.cpp:487 -#, c-format -msgid "" -"Ellipse: %s × %s; with Ctrl to make square or integer-" -"ratio ellipse; with Shift to draw around the starting point" -msgstr "" -"Elipsa: %s × %s; z Ctrl, aby utworzyć koło lub " -"proporcjonalną elipsę; z Shift, aby rysować wokół punktu startowego" +#: ../share/extensions/addnodes.inx.h:4 +msgid "Division method" +msgstr "Metoda podziału" -#: ../src/arc-context.cpp:506 -msgid "Create ellipse" -msgstr "Utwórz elipsę" +#: ../share/extensions/addnodes.inx.h:5 +msgid "Maximum segment length (px)" +msgstr "Maksymalna długość odcinka (px)" -#: ../src/box3d-context.cpp:448 ../src/box3d-context.cpp:455 -#: ../src/box3d-context.cpp:462 ../src/box3d-context.cpp:469 -#: ../src/box3d-context.cpp:476 ../src/box3d-context.cpp:483 -msgid "Change perspective (angle of PLs)" -msgstr "Zmień perspektywę (kąt linii)" +#: ../share/extensions/addnodes.inx.h:6 +#: ../share/extensions/edge3d.inx.h:6 +#: ../share/extensions/flatten.inx.h:3 +#: ../share/extensions/fractalize.inx.h:2 +#: ../share/extensions/markers_strokepaint.inx.h:2 +#: ../share/extensions/perspective.inx.h:1 +#: ../share/extensions/radiusrand.inx.h:4 +#: ../share/extensions/rubberstretch.inx.h:3 +#: ../share/extensions/straightseg.inx.h:2 +#: ../share/extensions/summersnight.inx.h:2 +#: ../share/extensions/whirl.inx.h:2 +msgid "Modify Path" +msgstr "Modyfikuj ścieżkę" -#. status text -#: ../src/box3d-context.cpp:638 -msgid "3D Box; with Shift to extrude along the Z axis" -msgstr "Obiekt 3D; z Shift - wytłaczanie wzdłuż osi Z" +#: ../share/extensions/addnodes.inx.h:7 +msgid "Number of segments" +msgstr "Liczba odcinków" -#: ../src/box3d-context.cpp:662 -msgid "Create 3D box" -msgstr "Utwórz obiekt 3D" +#: ../share/extensions/ai_input.inx.h:1 +msgid "AI 8.0 Input" +msgstr "Źródło AI 8.0" -#: ../src/box3d.cpp:315 -msgid "3D Box" -msgstr "Obiekt 3D" +#: ../share/extensions/ai_input.inx.h:2 +msgid "Adobe Illustrator 8.0 and below (*.ai)" +msgstr "Adobe Illustrator 8.0 lub starszy (*.ai)" -#: ../src/connector-context.cpp:522 -msgid "Creating new connector" -msgstr "Tworzenie nowego łącznika" +#: ../share/extensions/ai_input.inx.h:3 +msgid "Open files saved with Adobe Illustrator 8.0 or older" +msgstr "Otwórz pliki zapisane w programie Adobe Illustrator 8.0 lub starszym" -#: ../src/connector-context.cpp:751 -msgid "Connector endpoint drag cancelled." -msgstr "Anulowano przeciąganie punktu końcowego łącznika" +#: ../share/extensions/ai_output.inx.h:1 +msgid "AI 8.0 Output" +msgstr "Zapis AI 8.0" -#: ../src/connector-context.cpp:799 -msgid "Reroute connector" -msgstr "Przekieruj łącznik" +#: ../share/extensions/ai_output.inx.h:2 +msgid "Adobe Illustrator 8.0 (*.ai)" +msgstr "Adobe Illustrator 8.0 (*.ai)" -#. Flush pending updates -#: ../src/connector-context.cpp:963 -msgid "Create connector" -msgstr "Utwórz łącznik" +#: ../share/extensions/ai_output.inx.h:3 +msgid "Write Adobe Illustrator 8.0 (Postscript-based)" +msgstr "Zapisz jako Adobe Illustrator 8.0 (oparty o Postscript)" -#: ../src/connector-context.cpp:987 -msgid "Finishing connector" -msgstr "Zakończono tworzenie łącznika" +#: ../share/extensions/aisvg.inx.h:1 +msgid "AI SVG Input" +msgstr "Źródło plików AI SVG" -#: ../src/connector-context.cpp:1130 -msgid "Connection point: click or drag to create a new connector" -msgstr "" -"Punkt połączenia - kliknij lub przeciągnij, aby utworzyć nowy łącznik" +#: ../share/extensions/aisvg.inx.h:2 +msgid "Adobe Illustrator SVG (*.ai.svg)" +msgstr "Adobe Illustrator SVG (*.ai.svg)" -#: ../src/connector-context.cpp:1203 -msgid "Connector endpoint: drag to reroute or connect to new shapes" -msgstr "" -"Punkt końcowy łącznika - przeciągnij, aby przestawić lub połącz z " -"nowym kształtem" +#: ../share/extensions/aisvg.inx.h:3 +msgid "Cleans the cruft out of Adobe Illustrator SVGs before opening" +msgstr "Wyczyść niestandardowe dodatki programu Adobe Illustrator przed otwarciem pliku SVG" -#: ../src/connector-context.cpp:1314 -msgid "Select at least one non-connector object." -msgstr "Zaznacz co najmniej jeden obiekt nie będący łącznikiem" +#: ../share/extensions/ccx_input.inx.h:1 +msgid "Corel DRAW Compressed Exchange files (.ccx)" +msgstr "Pliki Corel DRAW Compressed Exchange (.ccx)" -#: ../src/connector-context.cpp:1319 ../src/widgets/toolbox.cpp:5554 -msgid "Make connectors avoid selected objects" -msgstr "Utwórz łączniki omijające zaznaczone obiekty" +#: ../share/extensions/ccx_input.inx.h:2 +msgid "Corel DRAW Compressed Exchange files input" +msgstr "Źródło plików Corel DRAW Compressed Exchange" -#: ../src/connector-context.cpp:1320 ../src/widgets/toolbox.cpp:5564 -msgid "Make connectors ignore selected objects" -msgstr "Utwórz łączniki przechodzące przez zaznaczone obiekty" +#: ../share/extensions/ccx_input.inx.h:3 +msgid "Open compressed exchange files saved in Corel DRAW" +msgstr "Otwórz skompresowane pliki wymiany zapisane w programie Corel DRAW" -#: ../src/context-fns.cpp:37 ../src/context-fns.cpp:66 -msgid "Current layer is hidden. Unhide it to be able to draw on it." -msgstr "" -"Aktywna warstwa jest ukryta. Aby móc na niej rysować włącz jej " -"widzialność." +#: ../share/extensions/cdr_input.inx.h:1 +msgid "Corel DRAW 7-X4 files (*.cdr)" +msgstr "Pliki Corel DRAW 7-X4 (*.cdr)" -#: ../src/context-fns.cpp:43 ../src/context-fns.cpp:72 -msgid "Current layer is locked. Unlock it to be able to draw on it." -msgstr "" -"Aktywna warstwa jest zablokowana. Aby móc na niej rysować odblokuj ją." +#: ../share/extensions/cdr_input.inx.h:2 +msgid "Corel DRAW Input" +msgstr "Źródło plików Corel DRAW" -#: ../src/desktop.cpp:782 -msgid "No previous zoom." -msgstr "Brak poprzedniego powiększenia" +#: ../share/extensions/cdr_input.inx.h:3 +msgid "Open files saved in Corel DRAW 7-X4" +msgstr "Otwórz pliki zapisane w programie Corel DRAW 7-X4" -#: ../src/desktop.cpp:807 -msgid "No next zoom." -msgstr "Brak następnego powiększenia" +#: ../share/extensions/cdt_input.inx.h:1 +msgid "Corel DRAW 7-13 template files (.cdt)" +msgstr "Pliki Corel DRAW 7-13 template (.cdt)" -#: ../src/desktop-events.cpp:175 -msgid "Create guide" -msgstr "Utwórz prowadnicę" +#: ../share/extensions/cdt_input.inx.h:2 +msgid "Corel DRAW templates input" +msgstr "Źródło szablonów Corel DRAW" -#: ../src/desktop-events.cpp:221 ../src/desktop-events.cpp:275 -#: ../src/dialogs/guidelinedialog.cpp:127 -msgid "Delete guide" -msgstr "Usuń prowadnicę" +#: ../share/extensions/cdt_input.inx.h:3 +msgid "Open files saved in Corel DRAW 7-13" +msgstr "Otwórz pliki zapisane w programie Corel DRAW 7-13" -#: ../src/desktop-events.cpp:269 -msgid "Move guide" -msgstr "Przenieś prowadnicę" +#: ../share/extensions/cgm_input.inx.h:1 +msgid "Computer Graphics Metafile files (.cgm)" +msgstr "Pliki Computer Graphics Metafile (.cgm)" -#: ../src/desktop-events.cpp:290 -#, c-format -msgid "Guideline: %s" -msgstr "Prowadnica: %s" +#: ../share/extensions/cgm_input.inx.h:2 +msgid "Computer Graphics Metafile files input" +msgstr "Źródło plików Computer Graphics Metafile" -#: ../src/dialogs/clonetiler.cpp:168 -msgid "Nothing selected." -msgstr "Nic nie zaznaczono" +#: ../share/extensions/cgm_input.inx.h:3 +msgid "Open Computer Graphics Metafile files" +msgstr "Otwórz pliki zapisane w programie Computer Graphics Metafile" -#: ../src/dialogs/clonetiler.cpp:174 -msgid "More than one object selected." -msgstr "Zaznaczono więcej niż jeden obiekt" +#: ../share/extensions/cmx_input.inx.h:1 +msgid "Corel DRAW Presentation Exchange files (.cmx)" +msgstr "Pliki Corel DRAW Presentation Exchange (.cmx)" -#: ../src/dialogs/clonetiler.cpp:181 -#, c-format -msgid "Object has %d tiled clones." -msgstr "Obiekt posiada %d sąsiadujących klonów" +#: ../share/extensions/cmx_input.inx.h:2 +msgid "Corel DRAW Presentation Exchange files input" +msgstr "Źródło plików Corel DRAW Presentation Exchange" -#: ../src/dialogs/clonetiler.cpp:186 -msgid "Object has no tiled clones." -msgstr "Obiekt nie posiada sąsiadujących klonów" +#: ../share/extensions/cmx_input.inx.h:3 +msgid "Open presentation exchange files saved in Corel DRAW" +msgstr "Otwórz pliki prezentacji zapisane w programie Corel DRAW" -#: ../src/dialogs/clonetiler.cpp:984 -msgid "Select one object whose tiled clones to unclump." -msgstr "" -"Wybierz jeden obiekt, którego sąsiadujące klony mają zostać " -"rozproszone" +#: ../share/extensions/color_brighter.inx.h:1 +msgid "Brighter" +msgstr "Jaśniejszy" -#: ../src/dialogs/clonetiler.cpp:1006 -msgid "Unclump tiled clones" -msgstr "Rozprosz sąsiadujące klony" +#: ../share/extensions/color_brighter.inx.h:2 +#: ../share/extensions/color_custom.inx.h:2 +#: ../share/extensions/color_darker.inx.h:1 +#: ../share/extensions/color_desaturate.inx.h:1 +#: ../share/extensions/color_grayscale.inx.h:1 +#: ../share/extensions/color_lesshue.inx.h:1 +#: ../share/extensions/color_lesslight.inx.h:1 +#: ../share/extensions/color_lesssaturation.inx.h:1 +#: ../share/extensions/color_morehue.inx.h:1 +#: ../share/extensions/color_morelight.inx.h:1 +#: ../share/extensions/color_moresaturation.inx.h:1 +#: ../share/extensions/color_negative.inx.h:1 +#: ../share/extensions/color_randomize.inx.h:1 +#: ../share/extensions/color_removeblue.inx.h:1 +#: ../share/extensions/color_removegreen.inx.h:1 +#: ../share/extensions/color_removered.inx.h:1 +#: ../share/extensions/color_replace.inx.h:2 +#: ../share/extensions/color_rgbbarrel.inx.h:1 +#: ../src/dialogs/clonetiler.cpp:2623 +#: ../src/dialogs/clonetiler.cpp:2770 +#: ../src/extension/internal/bitmap/colorize.cpp:51 +msgid "Color" +msgstr "Kolor" -#: ../src/dialogs/clonetiler.cpp:1036 -msgid "Select one object whose tiled clones to remove." -msgstr "" -"Wybierz jeden obiekt, który posiada sąsiadujące kopie do usunięcia" +#: ../share/extensions/color_custom.inx.h:1 +msgid "Blue Function" +msgstr "Funkcja składowej b (niebieski)" -#: ../src/dialogs/clonetiler.cpp:1059 -msgid "Delete tiled clones" -msgstr "Usuń sąsiadujące klony" +#: ../share/extensions/color_custom.inx.h:3 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1375 +msgid "Custom" +msgstr "Dostosuj" -#: ../src/dialogs/clonetiler.cpp:1105 ../src/selection-chemistry.cpp:1818 -msgid "Select an object to clone." -msgstr "Wybierz obiekt do klonowania" +#: ../share/extensions/color_custom.inx.h:4 +msgid "Green Function" +msgstr "Funkcja składowej g (zielony)" -#: ../src/dialogs/clonetiler.cpp:1111 -msgid "" -"If you want to clone several objects, group them and clone the " -"group." -msgstr "" -"Jeśli chcesz sklonować kilka obiektów, zgrupuj je najpierw, a " -"następnie sklonuj grupę" +#: ../share/extensions/color_custom.inx.h:5 +msgid "Red Function" +msgstr "Funkcja składowej r (czerwony)" -#: ../src/dialogs/clonetiler.cpp:1120 -msgid "Creating tiled clones..." -msgstr "Tworzenie sąsiadujących klonów..." +#: ../share/extensions/color_darker.inx.h:2 +msgid "Darker" +msgstr "Ciemniejszy" -#: ../src/dialogs/clonetiler.cpp:1527 -msgid "Create tiled clones" -msgstr "Utwórz rozmieszczone klony" +#: ../share/extensions/color_desaturate.inx.h:2 +msgid "Desaturate" +msgstr "Mniejsze nasycenie" -#: ../src/dialogs/clonetiler.cpp:1710 -msgid "Per row:" -msgstr "Wiersze" +#: ../share/extensions/color_grayscale.inx.h:2 +msgid "Grayscale" +msgstr "Skala szarości" -#: ../src/dialogs/clonetiler.cpp:1723 -msgid "Per column:" -msgstr "Kolumny" +#: ../share/extensions/color_lesshue.inx.h:2 +msgid "Less Hue" +msgstr "Mniejsze zabarwienie" -#: ../src/dialogs/clonetiler.cpp:1731 -msgid "Randomize:" -msgstr "Losowo" +#: ../share/extensions/color_lesslight.inx.h:2 +msgid "Less Light" +msgstr "Mniej światła" -#: ../src/dialogs/clonetiler.cpp:1885 -msgid "_Symmetry" -msgstr "_Symetria" +#: ../share/extensions/color_lesssaturation.inx.h:2 +msgid "Less Saturation" +msgstr "Mniejsze nasycenie" -#. TRANSLATORS: For the following 17 symmetry groups, see -#. * http://www.bib.ulb.ac.be/coursmath/doc/17.htm (visual examples); -#. * http://www.clarku.edu/~djoyce/wallpaper/seventeen.html (English vocabulary); or -#. * http://membres.lycos.fr/villemingerard/Geometri/Sym1D.htm (French vocabulary). -#. -#: ../src/dialogs/clonetiler.cpp:1893 -msgid "Select one of the 17 symmetry groups for the tiling" -msgstr "Wybierz jedną z 17 grup symetrii do klonowania" +#: ../share/extensions/color_morehue.inx.h:2 +msgid "More Hue" +msgstr "Większe zabarwienie" -#. TRANSLATORS: "translation" means "shift" / "displacement" here. -#: ../src/dialogs/clonetiler.cpp:1904 -msgid "P1: simple translation" -msgstr "P1: proste przesunięcie" +#: ../share/extensions/color_morelight.inx.h:2 +msgid "More Light" +msgstr "Więcej światła" -#: ../src/dialogs/clonetiler.cpp:1905 -msgid "P2: 180° rotation" -msgstr "P2: obrót o 180°" +#: ../share/extensions/color_moresaturation.inx.h:2 +msgid "More Saturation" +msgstr "Większe nasycenie" -#: ../src/dialogs/clonetiler.cpp:1906 -msgid "PM: reflection" -msgstr "PM: odbicie" +#: ../share/extensions/color_negative.inx.h:2 +msgid "Negative" +msgstr "Negatyw" -#. TRANSLATORS: "glide reflection" is a reflection and a translation combined. -#. For more info, see http://mathforum.org/sum95/suzanne/symsusan.html -#: ../src/dialogs/clonetiler.cpp:1909 -msgid "PG: glide reflection" -msgstr "PG: odbicie z przesunięciem" +#: ../share/extensions/color_randomize.inx.h:2 +#: ../src/extension/internal/bitmap/modulate.cpp:43 +#: ../src/flood-context.cpp:274 +#: ../src/widgets/sp-color-icc-selector.cpp:235 +#: ../src/widgets/sp-color-icc-selector.cpp:236 +#: ../src/widgets/sp-color-scales.cpp:424 +#: ../src/widgets/sp-color-scales.cpp:425 +#: ../src/widgets/toolbox.cpp:3815 +msgid "Hue" +msgstr "Barwa" -#: ../src/dialogs/clonetiler.cpp:1910 -msgid "CM: reflection + glide reflection" -msgstr "CM: odbicie + odbicie z przesunięciem" +#: ../share/extensions/color_randomize.inx.h:3 +#: ../src/flood-context.cpp:276 +#: ../src/widgets/sp-color-icc-selector.cpp:236 +#: ../src/widgets/sp-color-scales.cpp:430 +#: ../src/widgets/sp-color-scales.cpp:431 +#: ../src/widgets/toolbox.cpp:3845 +msgid "Lightness" +msgstr "Jasność" -#: ../src/dialogs/clonetiler.cpp:1911 -msgid "PMM: reflection + reflection" -msgstr "PMM: odbicie w obu kierunkach" +#: ../share/extensions/color_randomize.inx.h:4 +msgid "Randomize" +msgstr "Zmiana losowa" -#: ../src/dialogs/clonetiler.cpp:1912 -msgid "PMG: reflection + 180° rotation" -msgstr "PMG: odbicie + obrót o 180°" +#: ../share/extensions/color_randomize.inx.h:5 +#: ../src/extension/internal/bitmap/modulate.cpp:42 +#: ../src/flood-context.cpp:275 +#: ../src/ui/dialog/inkscape-preferences.cpp:761 +#: ../src/widgets/sp-color-icc-selector.cpp:235 +#: ../src/widgets/sp-color-icc-selector.cpp:236 +#: ../src/widgets/sp-color-scales.cpp:427 +#: ../src/widgets/sp-color-scales.cpp:428 +#: ../src/widgets/toolbox.cpp:3830 +msgid "Saturation" +msgstr "Nasycenie" -#: ../src/dialogs/clonetiler.cpp:1913 -msgid "PGG: glide reflection + 180° rotation" -msgstr "PGG: odbicie z przesunięciem + obrót o 180°" +#: ../share/extensions/color_removeblue.inx.h:2 +msgid "Remove Blue" +msgstr "Usuń niebieski" -#: ../src/dialogs/clonetiler.cpp:1914 -msgid "CMM: reflection + reflection + 180° rotation" -msgstr "CMM: odbicie + odbicie + obrót o 180°" +#: ../share/extensions/color_removegreen.inx.h:2 +msgid "Remove Green" +msgstr "Usuń zielony" -#: ../src/dialogs/clonetiler.cpp:1915 -msgid "P4: 90° rotation" -msgstr "P4: obrót o 90°" +#: ../share/extensions/color_removered.inx.h:2 +msgid "Remove Red" +msgstr "Usuń czerwony" -#: ../src/dialogs/clonetiler.cpp:1916 -msgid "P4M: 90° rotation + 45° reflection" -msgstr "P4M: obrót o 90° + odbicie 45°" +#: ../share/extensions/color_replace.inx.h:1 +msgid "By color (RRGGBB hex):" +msgstr "Na kolor (RRGGBB hex):" -#: ../src/dialogs/clonetiler.cpp:1917 -msgid "P4G: 90° rotation + 90° reflection" -msgstr "P4G: obrót o 90° + odbicie 90°" +#: ../share/extensions/color_replace.inx.h:3 +msgid "Replace color" +msgstr "Zamień kolor" -#: ../src/dialogs/clonetiler.cpp:1918 -msgid "P3: 120° rotation" -msgstr "P3: obrót o 120°" +#: ../share/extensions/color_replace.inx.h:4 +msgid "Replace color (RRGGBB hex):" +msgstr "Zamień kolor (RRGGBB hex):" -#: ../src/dialogs/clonetiler.cpp:1919 -msgid "P31M: reflection + 120° rotation, dense" -msgstr "P31M: odbicie + obrót o 120°, gęsto" +#: ../share/extensions/color_rgbbarrel.inx.h:2 +msgid "RGB Barrel" +msgstr "Rotacja kanałów RGB" -#: ../src/dialogs/clonetiler.cpp:1920 -msgid "P3M1: reflection + 120° rotation, sparse" -msgstr "P3M1: odbicie + obrót o 120°, rzadko" +#: ../share/extensions/dia.inx.h:1 +msgid "A diagram created with the program Dia" +msgstr "Diagram utworzony za pomocą programu Dia" -#: ../src/dialogs/clonetiler.cpp:1921 -msgid "P6: 60° rotation" -msgstr "P6: obrót o 60°" +#: ../share/extensions/dia.inx.h:2 +msgid "Dia Diagram (*.dia)" +msgstr "Diagram programu Dia (*.dia)" -#: ../src/dialogs/clonetiler.cpp:1922 -msgid "P6M: reflection + 60° rotation" -msgstr "P6M: odbicie + obrót o 60°" +#: ../share/extensions/dia.inx.h:3 +msgid "Dia Input" +msgstr "Źródło Dia" -#: ../src/dialogs/clonetiler.cpp:1950 -msgid "S_hift" -msgstr "_Przesunięcie" +#: ../share/extensions/dia.inx.h:4 +msgid "In order to import Dia files, Dia itself must be installed. You can get Dia at http://live.gnome.org/Dia" +msgstr "Aby dokonać importu plików Dia konieczne jest zainstalowanie programu Dia. Można pobrać go pod adresem http://live.gnome.org/Dia" -#. TRANSLATORS: "shift" means: the tiles will be shifted (offset) horizontally by this amount -#: ../src/dialogs/clonetiler.cpp:1960 -#, no-c-format -msgid "Shift X:" -msgstr "Przesunięcie X:" +#: ../share/extensions/dia.inx.h:5 +msgid "The dia2svg.sh script should be installed with your Inkscape distribution. If you do not have it, there is likely to be something wrong with your Inkscape installation." +msgstr "Skrypt konwersji dia2svg.sh powinien zostać zainstalowany wraz z pakietem programu Inkscape. Jeśli go nie ma, to prawdopodobnie proces instalacji Inkscape nie przebiegł prawidłowo." -#: ../src/dialogs/clonetiler.cpp:1968 -#, no-c-format -msgid "Horizontal shift per row (in % of tile width)" -msgstr "" -"Przesunięcie w poziomie dla każdego wiersza o określoną tutaj wartość " -"procentową wysokości elementu" +#. default width: +#. default height: +#: ../share/extensions/dimension.inx.h:1 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2193 +msgid "Dimensions" +msgstr "Wymiary" -#: ../src/dialogs/clonetiler.cpp:1976 -#, no-c-format -msgid "Horizontal shift per column (in % of tile width)" -msgstr "" -"Przesunięcie w poziomie dla każdej kolumny o określoną tutaj wartość " -"procentową wysokości elementu" +#: ../share/extensions/dimension.inx.h:2 +#: ../share/extensions/dots.inx.h:4 +#: ../share/extensions/handles.inx.h:2 +#: ../share/extensions/measure.inx.h:11 +msgid "Visualize Path" +msgstr "Wizualizacja ścieżki" -#: ../src/dialogs/clonetiler.cpp:1983 -msgid "Randomize the horizontal shift by this percentage" -msgstr "Losowa zmiana przesunięcia poziomego o wybraną wartość procentową" +#: ../share/extensions/dimension.inx.h:3 +msgid "X Offset" +msgstr "Odsunięcie X" -#. TRANSLATORS: "shift" means: the tiles will be shifted (offset) vertically by this amount -#: ../src/dialogs/clonetiler.cpp:1993 -#, no-c-format -msgid "Shift Y:" -msgstr "Przesunięcie Y:" +#: ../share/extensions/dimension.inx.h:4 +msgid "Y Offset" +msgstr "Odsunięcie Y" -#: ../src/dialogs/clonetiler.cpp:2001 -#, no-c-format -msgid "Vertical shift per row (in % of tile height)" +#: ../share/extensions/dimension.py:97 +msgid "Unable to process this object. Try changing it into a path first." msgstr "" -"Przesunięcie w pionie dla każdego wiersza o określoną tutaj wartość " -"procentową wysokości elementu" -#: ../src/dialogs/clonetiler.cpp:2009 -#, no-c-format -msgid "Vertical shift per column (in % of tile height)" -msgstr "" -"Przesunięcie w pionie dla każdej kolumny o określoną tutaj wartość " -"procentową wysokości elementu" +#: ../share/extensions/dots.inx.h:1 +msgid "Dot size" +msgstr "Rozmiar punktów" -#: ../src/dialogs/clonetiler.cpp:2016 -msgid "Randomize the vertical shift by this percentage" -msgstr "" -"Losowa zmiana przesunięcia pionowego o określoną tutaj wartość procentową" +#: ../share/extensions/dots.inx.h:2 +msgid "Font size" +msgstr "Rozmiar czcionki" -#: ../src/dialogs/clonetiler.cpp:2024 ../src/dialogs/clonetiler.cpp:2172 -msgid "Exponent:" -msgstr "Wykładnik:" +#: ../share/extensions/dots.inx.h:3 +msgid "Number Nodes" +msgstr "Numeruj węzły" -#: ../src/dialogs/clonetiler.cpp:2031 -msgid "Whether rows are spaced evenly (1), converge (<1) or diverge (>1)" -msgstr "" -"Rozmieszczenie wierszy równomierne (1), zbieżne (<1) lub rozbieżne (>1)" +#: ../share/extensions/dxf_input.inx.h:1 +#: ../share/extensions/dxf_output.inx.h:1 +msgid "AutoCAD DXF (*.dxf)" +msgstr "AutoCAD DXF (*.dxf)" -#: ../src/dialogs/clonetiler.cpp:2038 -msgid "Whether columns are spaced evenly (1), converge (<1) or diverge (>1)" -msgstr "Rozmieszczenie kolumn równomierne (1), zbieżne (<1) lub rozbieżne (>1)" +#: ../share/extensions/dxf_input.inx.h:2 +msgid "DXF Input" +msgstr "Źródło DXF" -#. TRANSLATORS: "Alternate" is a verb here -#: ../src/dialogs/clonetiler.cpp:2046 ../src/dialogs/clonetiler.cpp:2216 -#: ../src/dialogs/clonetiler.cpp:2293 ../src/dialogs/clonetiler.cpp:2369 -#: ../src/dialogs/clonetiler.cpp:2418 ../src/dialogs/clonetiler.cpp:2549 -msgid "Alternate:" -msgstr "Przesunięcie przemienne:" +#: ../share/extensions/dxf_input.inx.h:3 +msgid "Import AutoCAD's Document Exchange Format" +msgstr "Import formatu Document Exchange programu AutoCAD" -#: ../src/dialogs/clonetiler.cpp:2052 -msgid "Alternate the sign of shifts for each row" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, przesunięcie będzie realizowane w co " -"drugim wierszu" +#: ../share/extensions/dxf_input.inx.h:4 +msgid "dxf2svg may come with Inkscape, but is also at http://dxf-svg-convert.sourceforge.net/" +msgstr "Skrypt dxf2svg może być dostępny wraz z pakietem Inkscape. Można go także pobrać pod adresem http://dxf-svg-convert.sourceforge.net/" -#: ../src/dialogs/clonetiler.cpp:2057 -msgid "Alternate the sign of shifts for each column" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, przesunięcie będzie realizowane w co " -"drugiej kolumnie" +#: ../share/extensions/dxf_outlines.inx.h:1 +msgid "Desktop Cutting Plotter" +msgstr "Ploter tnący" -#. TRANSLATORS: "Cumulate" is a verb here -#: ../src/dialogs/clonetiler.cpp:2064 ../src/dialogs/clonetiler.cpp:2234 -#: ../src/dialogs/clonetiler.cpp:2311 -msgid "Cumulate:" -msgstr "Kumulacja przesunięć:" +#: ../share/extensions/dxf_outlines.inx.h:2 +msgid "Desktop Cutting Plotter (*.DXF)" +msgstr "Desktop Cutting Plotter (*.DXF)" -#: ../src/dialogs/clonetiler.cpp:2070 -msgid "Cumulate the shifts for each row" +#: ../share/extensions/dxf_outlines.inx.h:3 +msgid "ROBO-Master output" msgstr "" -"Jeśli opcja ta zostanie zaznaczona, przesunięcie każdego wiersza będzie " -"zwiększało się przyjmując wartość liczoną określonym powyżej współczynnikiem " -"od sumy wysokości poprzedzających klonów" -#: ../src/dialogs/clonetiler.cpp:2075 -msgid "Cumulate the shifts for each column" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, przesunięcie każdej kolumny będzie " -"zwiększało się przyjmując wartość liczoną określonym powyżej współczynnikiem " -"od sumy szerokości poprzedzających klonów" +#: ../share/extensions/dxf_output.inx.h:2 +msgid "DXF Output" +msgstr "Zapis DXF" -#. TRANSLATORS: "Cumulate" is a verb here -#: ../src/dialogs/clonetiler.cpp:2082 -msgid "Exclude tile:" -msgstr "Pominięcie rozmiarów obiektu:" +#: ../share/extensions/dxf_output.inx.h:3 +msgid "DXF file written by pstoedit" +msgstr "Plik DXF zapisany przez pstoedit" -#: ../src/dialogs/clonetiler.cpp:2088 -msgid "Exclude tile height in shift" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, klonowane obiekty będą rozmieszczane bez " -"uwzględniania wysokości obiektu, z przesunięciem określonym powyżej" +#: ../share/extensions/dxf_output.inx.h:4 +msgid "pstoedit must be installed to run; see http://www.pstoedit.net/pstoedit" +msgstr "Aby wykonać operację musi być zainstalowany program pstoedit. Odwiedź witrynę http://www.pstoedit.net/pstoedit" -#: ../src/dialogs/clonetiler.cpp:2093 -msgid "Exclude tile width in shift" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, klonowane obiekty będą rozmieszczane bez " -"uwzględniania szerokości obiektu, z przesunięciem określonym powyżej" +#: ../share/extensions/edge3d.inx.h:1 +msgid "Blur height" +msgstr "Wysokość rozmycia" -#: ../src/dialogs/clonetiler.cpp:2102 -msgid "Sc_ale" -msgstr "Ska_lowanie" +#: ../share/extensions/edge3d.inx.h:2 +msgid "Blur stdDeviation" +msgstr "Odchylenie standardowe rozmycia" -#: ../src/dialogs/clonetiler.cpp:2110 -msgid "Scale X:" -msgstr "Skalowanie X:" +#: ../share/extensions/edge3d.inx.h:3 +msgid "Blur width" +msgstr "Szerokość rozmycia" -#: ../src/dialogs/clonetiler.cpp:2118 -#, no-c-format -msgid "Horizontal scale per row (in % of tile width)" -msgstr "" -"Skalowanie w poziomie dla każdego wiersza o określoną tutaj wartość " -"procentową szerokości elementu" +#: ../share/extensions/edge3d.inx.h:4 +msgid "Edge 3D" +msgstr "Krawędź 3D" -#: ../src/dialogs/clonetiler.cpp:2126 -#, no-c-format -msgid "Horizontal scale per column (in % of tile width)" -msgstr "" -"Skalowanie w poziomie dla każdej kolumny o określoną tutaj wartość " -"procentową szerokości elementu" +#: ../share/extensions/edge3d.inx.h:5 +msgid "Illumination Angle" +msgstr "Kąt oświetlenia" -#: ../src/dialogs/clonetiler.cpp:2133 -msgid "Randomize the horizontal scale by this percentage" -msgstr "" -"Losowa zmiana skalowania poziomego o określoną tutaj wartość procentową" +#: ../share/extensions/edge3d.inx.h:7 +msgid "Only black and white" +msgstr "Tylko czarny i biały" -#: ../src/dialogs/clonetiler.cpp:2141 -msgid "Scale Y:" -msgstr "Skalowanie Y:" +#: ../share/extensions/edge3d.inx.h:8 +msgid "Shades" +msgstr "Cienie" -#: ../src/dialogs/clonetiler.cpp:2149 -#, no-c-format -msgid "Vertical scale per row (in % of tile height)" -msgstr "" -"Skalowanie w pionie dla każdego wiersza o określoną tutaj wartość procentową " -"szerokości elementu" +#: ../share/extensions/edge3d.inx.h:9 +#: ../src/dialogs/stroke-style.cpp:1097 +msgid "Stroke width" +msgstr "Szerokość konturu" -#: ../src/dialogs/clonetiler.cpp:2157 -#, no-c-format -msgid "Vertical scale per column (in % of tile height)" -msgstr "" -"Skalowanie w pionie dla każdej kolumny o określoną tutaj wartość procentową " -"szerokości elementu" - -#: ../src/dialogs/clonetiler.cpp:2164 -msgid "Randomize the vertical scale by this percentage" -msgstr "" -"Losowa zmiana skalowania pionowego o określoną tutaj wartość procentową" - -#: ../src/dialogs/clonetiler.cpp:2179 -msgid "Whether row scaling is uniform (1), converge (<1) or diverge (>1)" -msgstr "" -"Rozmieszczenie wierszy równomierne (1), zbieżne (<1) lub rozbieżne (>1)" - -#: ../src/dialogs/clonetiler.cpp:2186 -msgid "Whether column scaling is uniform (1), converge (<1) or diverge (>1)" -msgstr "Rozmieszczenie kolumn równomierne (1), zbieżne (<1) lub rozbieżne (>1)" +#: ../share/extensions/embedimage.inx.h:1 +msgid "Embed All Images" +msgstr "Osadź wszystkie obrazki" -#: ../src/dialogs/clonetiler.cpp:2194 -msgid "Base:" -msgstr "Podstawa:" +#: ../share/extensions/embedimage.inx.h:2 +msgid "Embed only selected images" +msgstr "Osadź tylko zaznaczone obrazki" -#: ../src/dialogs/clonetiler.cpp:2201 ../src/dialogs/clonetiler.cpp:2208 -msgid "" -"Base for a logarithmic spiral: not used (0), converge (<1), or diverge (>1)" -msgstr "" -"Podstawa logarytmu dla spiral logarytmicznych: nie używana (0), zbieżna (<1) " -"lub rozbieżna (>1)" +#: ../share/extensions/embedimage.inx.h:3 +#: ../share/extensions/extractimage.inx.h:2 +#: ../src/dialogs/find.cpp:625 +#: ../src/ui/dialog/find.cpp:82 +msgid "Images" +msgstr "Obrazki" -#: ../src/dialogs/clonetiler.cpp:2222 -msgid "Alternate the sign of scales for each row" +#: ../share/extensions/embedimage.py:74 +msgid "No xlink:href or sodipodi:absref attributes found, or they do not point to an existing file! Unable to embed image." msgstr "" -"Jeśli opcja ta zostanie zaznaczona, skalowanie będzie realizowane w co " -"drugim wierszu" -#: ../src/dialogs/clonetiler.cpp:2227 -msgid "Alternate the sign of scales for each column" +#: ../share/extensions/embedimage.py:76 +#, python-format +msgid "Sorry we could not locate %s" msgstr "" -"Jeśli opcja ta zostanie zaznaczona, skalowanie będzie realizowane co drugiej " -"kolumnie" -#: ../src/dialogs/clonetiler.cpp:2240 -msgid "Cumulate the scales for each row" +#: ../share/extensions/embedimage.py:101 +#, python-format +msgid "%s is not of type image/png, image/jpeg, image/bmp, image/gif, image/tiff, or image/x-icon" msgstr "" -"Jeśli opcja ta zostanie zaznaczona, skalowanie każdego wiersza będzie " -"zwiększało się przyjmując wartość liczoną określonym powyżej współczynnikiem " -"od sumy wysokości poprzedzających klonów" -#: ../src/dialogs/clonetiler.cpp:2245 -msgid "Cumulate the scales for each column" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, skalowanie każdej kolumny będzie " -"zwiększało się przyjmując wartość liczoną określonym powyżej współczynnikiem " -"od sumy wysokości poprzedzających klonów" +#: ../share/extensions/eps_input.inx.h:1 +msgid "EPS Input" +msgstr "Źródło EPS" -#: ../src/dialogs/clonetiler.cpp:2254 -msgid "_Rotation" -msgstr "_Obrót" +#: ../share/extensions/eps_input.inx.h:2 +#: ../src/extension/internal/cairo-ps-out.cpp:373 +msgid "Encapsulated PostScript" +msgstr "Encapsulated PostScript" -#: ../src/dialogs/clonetiler.cpp:2262 -msgid "Angle:" -msgstr "Kąt:" +#: ../share/extensions/eps_input.inx.h:3 +#: ../src/extension/internal/cairo-ps-out.cpp:387 +msgid "Encapsulated PostScript (*.eps)" +msgstr "Encapsulated PostScript (*.eps)" -#: ../src/dialogs/clonetiler.cpp:2270 -#, no-c-format -msgid "Rotate tiles by this angle for each row" -msgstr "Kąt o jaki zostaną obrócone elementy układu w każdym wierszu" +#: ../share/extensions/epsi_output.inx.h:1 +msgid "EPSI Output" +msgstr "Zapis EPSI" -#: ../src/dialogs/clonetiler.cpp:2278 -#, no-c-format -msgid "Rotate tiles by this angle for each column" -msgstr "Kąt o jaki zostaną obrócone elementy układu w każdej kolumnie" +#: ../share/extensions/epsi_output.inx.h:2 +msgid "Encapsulated Postscript Interchange (*.epsi)" +msgstr "Encapsulated Postscript Interchange (*.epsi)" -#: ../src/dialogs/clonetiler.cpp:2285 -msgid "Randomize the rotation angle by this percentage" -msgstr "Losowa zmiana kąta obrotu o określoną tutaj wartość procentową" +#: ../share/extensions/epsi_output.inx.h:3 +msgid "Encapsulated Postscript with a thumbnail" +msgstr "Encapsulated Postscript z miniaturką" -#: ../src/dialogs/clonetiler.cpp:2299 -msgid "Alternate the rotation direction for each row" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, obrót będzie realizowany w co drugim " -"wierszu" +#: ../share/extensions/eqtexsvg.inx.h:1 +msgid "LaTeX formula" +msgstr "Wzór LaTeX" -#: ../src/dialogs/clonetiler.cpp:2304 -msgid "Alternate the rotation direction for each column" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, obrót będzie realizowany w co drugiej " -"kolumnie" +#: ../share/extensions/eqtexsvg.inx.h:2 +msgid "LaTeX formula: " +msgstr "Wzór LaTeX:" -#: ../src/dialogs/clonetiler.cpp:2317 -msgid "Cumulate the rotation for each row" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, kąt obrotu klonów w każdym wierszu " -"będzie zwiększał się kumulując określoną powyżej wartość kąta w zależności " -"od ilości klonów" +#: ../share/extensions/eqtexsvg.inx.h:3 +#: ../share/extensions/funcplot.inx.h:12 +#: ../share/extensions/gears.inx.h:5 +#: ../share/extensions/grid_cartesian.inx.h:15 +#: ../share/extensions/grid_polar.inx.h:18 +#: ../share/extensions/lindenmayer.inx.h:11 +#: ../share/extensions/polyhedron_3d.inx.h:32 +#: ../share/extensions/render_alphabetsoup.inx.h:3 +#: ../share/extensions/render_barcode.inx.h:5 +#: ../share/extensions/rtree.inx.h:4 +#: ../share/extensions/spirograph.inx.h:6 +#: ../share/extensions/triangle.inx.h:10 +#: ../src/extension/internal/grid.cpp:202 +msgid "Render" +msgstr "Renderowanie" -#: ../src/dialogs/clonetiler.cpp:2322 -msgid "Cumulate the rotation for each column" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, kąt obrotu klonów w każdej kolumnie " -"będzie zwiększał się kumulując określoną powyżej wartość kąta w zależności " -"od ilości klonów" +#: ../share/extensions/export_gimp_palette.inx.h:1 +msgid "Export as GIMP Palette" +msgstr "Eksportuj jako paletę GIMP-a" -#: ../src/dialogs/clonetiler.cpp:2331 -msgid "_Blur & opacity" -msgstr "_Rozmycie i krycie" +#: ../share/extensions/export_gimp_palette.inx.h:2 +msgid "Exports the colors of this document as GIMP Palette" +msgstr "Eksportuje kolory zawarte w tym dokumencie jako paletę GIMP-a" -#: ../src/dialogs/clonetiler.cpp:2340 -msgid "Blur:" -msgstr "Rozmycie:" +#: ../share/extensions/export_gimp_palette.inx.h:3 +msgid "GIMP Palette (*.gpl)" +msgstr "Paleta GIMP-a (*.gpl)" -#: ../src/dialogs/clonetiler.cpp:2347 -msgid "Blur tiles by this percentage for each row" +#: ../share/extensions/export_gimp_palette.py:14 +msgid "The export_gpl.py module requires PyXML. Please download the latest version from http://pyxml.sourceforge.net/." msgstr "" -"Rozmycie elementów w każdym wierszu o określoną tutaj wartość procentową" -#: ../src/dialogs/clonetiler.cpp:2354 -msgid "Blur tiles by this percentage for each column" -msgstr "" -"Rozmycie elementów w każdej kolumnie o określoną tutaj wartość procentową" +#: ../share/extensions/extractimage.inx.h:1 +msgid "Extract One Image" +msgstr "Wyodrębnij jeden obrazek" -#: ../src/dialogs/clonetiler.cpp:2361 -msgid "Randomize the tile blur by this percentage" -msgstr "Losowa zmiana rozmycia elementów o określoną tutaj wartość procentową" +#: ../share/extensions/extractimage.inx.h:3 +msgid "Note: The file extension is appended automatically." +msgstr "Informacja: Rozszerzenie pliku jest dodawane automatycznie." -#: ../src/dialogs/clonetiler.cpp:2375 -msgid "Alternate the sign of blur change for each row" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, rozmycie będzie realizowane w co drugim " -"wierszu" +#: ../share/extensions/extractimage.inx.h:4 +msgid "Path to save image" +msgstr "Ścieżka do zapisania obrazka" -#: ../src/dialogs/clonetiler.cpp:2380 -msgid "Alternate the sign of blur change for each column" +#: ../share/extensions/extractimage.py:66 +msgid "Difficulty finding the image data." msgstr "" -"Jeśli opcja ta zostanie zaznaczona, rozmycie będzie realizowane w co drugiej " -"kolumnie" -#: ../src/dialogs/clonetiler.cpp:2389 -msgid "Fade out:" -msgstr "Krycie:" - -#: ../src/dialogs/clonetiler.cpp:2396 -msgid "Decrease tile opacity by this percentage for each row" -msgstr "" -"Zmniejszenie krycia elementów w każdym wierszu o określoną tutaj wartość " -"procentową" +#: ../share/extensions/extrude.inx.h:1 +msgid "Extrude" +msgstr "Wyciągnij" -#: ../src/dialogs/clonetiler.cpp:2403 -msgid "Decrease tile opacity by this percentage for each column" -msgstr "" -"Zmniejszenie krycia elementów w każdej kolumnie o określoną tutaj wartość " -"procentową" +#: ../share/extensions/extrude.inx.h:2 +#: ../share/extensions/interp.inx.h:3 +#: ../share/extensions/motion.inx.h:2 +#: ../share/extensions/pathalongpath.inx.h:4 +#: ../share/extensions/pathscatter.inx.h:5 +#: ../src/extension/internal/bluredge.cpp:140 +msgid "Generate from Path" +msgstr "Wygeneruj ze ścieżki" -#: ../src/dialogs/clonetiler.cpp:2410 -msgid "Randomize the tile opacity by this percentage" -msgstr "Losowa zmiana krycia elementów o określoną tutaj wartość procentową" +#: ../share/extensions/extrude.inx.h:3 +#: ../src/widgets/toolbox.cpp:3380 +#: ../src/widgets/toolbox.cpp:3784 +msgid "Mode:" +msgstr "Tryb:" -#: ../src/dialogs/clonetiler.cpp:2424 -msgid "Alternate the sign of opacity change for each row" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, zmiana krycia elementów będzie " -"realizowana w co drugim wierszu" +#: ../share/extensions/fig_input.inx.h:1 +msgid "Open files saved with XFIG" +msgstr "Otwórz pliki zapisane za pomocą XFIG" -#: ../src/dialogs/clonetiler.cpp:2429 -msgid "Alternate the sign of opacity change for each column" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, zmiana krycia elementów będzie " -"realizowana w co drugiej kolumnie" +#: ../share/extensions/fig_input.inx.h:2 +msgid "XFIG Graphics File (*.fig)" +msgstr "Plik graficzny XFIG (*.fig)" -#: ../src/dialogs/clonetiler.cpp:2437 -msgid "Co_lor" -msgstr "_Kolor" +#: ../share/extensions/fig_input.inx.h:3 +msgid "XFIG Input" +msgstr "Wyjście XFIG" -#: ../src/dialogs/clonetiler.cpp:2442 -msgid "Initial color: " -msgstr "Kolor początkowy:" +#: ../share/extensions/flatten.inx.h:1 +msgid "Flatness" +msgstr "Redukcja krzywizny" -#: ../src/dialogs/clonetiler.cpp:2446 -msgid "Initial color of tiled clones" -msgstr "Kolor początkowy klonów" +#: ../share/extensions/flatten.inx.h:2 +msgid "Flatten Beziers" +msgstr "Spłaszcz krzywe Beziera" -#: ../src/dialogs/clonetiler.cpp:2446 -msgid "" -"Initial color for clones (works only if the original has unset fill or " -"stroke)" -msgstr "" -"Kolor początkowy tworzonych klonów (działa jedynie jeśli oryginał ma " -"wyzerowane wypełnienie lub kontur)" +#: ../share/extensions/fractalize.inx.h:1 +msgid "Fractalize" +msgstr "Generuj fraktale" -#: ../src/dialogs/clonetiler.cpp:2461 -msgid "H:" -msgstr "Barwa:" +#: ../share/extensions/fractalize.inx.h:3 +msgid "Smoothness" +msgstr "Wygładzanie" -#: ../src/dialogs/clonetiler.cpp:2468 -msgid "Change the tile hue by this percentage for each row" -msgstr "" -"Zmiana odcienia barwy obiektu w każdym wierszu o określoną tutaj wartość " -"procentową" +#: ../share/extensions/fractalize.inx.h:4 +msgid "Subdivisions" +msgstr "Podziały" -#: ../src/dialogs/clonetiler.cpp:2475 -msgid "Change the tile hue by this percentage for each column" -msgstr "" -"Zmiana odcienia barwy obiektu w każdej kolumnie o określoną tutaj wartość " -"procentową" +#: ../share/extensions/funcplot.inx.h:1 +msgid "Calculate first derivative numerically" +msgstr "Oblicz numerycznie pierwszą pochodną" -#: ../src/dialogs/clonetiler.cpp:2482 -msgid "Randomize the tile hue by this percentage" -msgstr "Losowa zmiana odcienia barwy o określoną tutaj wartość procentową" +#: ../share/extensions/funcplot.inx.h:2 +msgid "Draw Axes" +msgstr "Rysuj osie" -#: ../src/dialogs/clonetiler.cpp:2491 -msgid "S:" -msgstr "Nasyc.:" +#: ../share/extensions/funcplot.inx.h:3 +msgid "End X value" +msgstr "Wartość końcowa X" -#: ../src/dialogs/clonetiler.cpp:2498 -msgid "Change the color saturation by this percentage for each row" -msgstr "" -"Zmiana nasycenia koloru obiektu w każdym wierszu o określoną tutaj wartość " -"procentową" +#: ../share/extensions/funcplot.inx.h:4 +msgid "First derivative" +msgstr "Pierwsza pochodna" -#: ../src/dialogs/clonetiler.cpp:2505 -msgid "Change the color saturation by this percentage for each column" -msgstr "" -"Zmiana nasycenia koloru obiektu w każdej kolumnie o określoną tutaj wartość " -"procentową" +#: ../share/extensions/funcplot.inx.h:5 +msgid "Function" +msgstr "Funkcja" -#: ../src/dialogs/clonetiler.cpp:2512 -msgid "Randomize the color saturation by this percentage" -msgstr "Losowa zmiana nasycenia o określoną tutaj wartość procentową" +#: ../share/extensions/funcplot.inx.h:6 +msgid "Function Plotter" +msgstr "Ploter funkcji" -#: ../src/dialogs/clonetiler.cpp:2520 -msgid "L:" -msgstr "Jasność:" +#: ../share/extensions/funcplot.inx.h:7 +msgid "Functions" +msgstr "Funkcje" -#: ../src/dialogs/clonetiler.cpp:2527 -msgid "Change the color lightness by this percentage for each row" -msgstr "" -"Zmiana jasności koloru obiektu w każdym wierszu o określoną tutaj wartość " -"procentową" +#: ../share/extensions/funcplot.inx.h:8 +msgid "Isotropic scaling (uses smallest of width/xrange or height/yrange)" +msgstr "Skalowanie izotropowe (używa najmniejszego zakresu X/szerokość lub Y/wysokość)" -#: ../src/dialogs/clonetiler.cpp:2534 -msgid "Change the color lightness by this percentage for each column" -msgstr "" -"Zmiana jasności koloru obiektu w każdej kolumnie o określoną tutaj wartość " -"procentową" +#: ../share/extensions/funcplot.inx.h:9 +msgid "Multiply X range by 2*pi" +msgstr "Pomnóż zakres X przez 2*pi" -#: ../src/dialogs/clonetiler.cpp:2541 -msgid "Randomize the color lightness by this percentage" -msgstr "Losowa zmiana jasności koloru o określoną tutaj wartość procentową" +#: ../share/extensions/funcplot.inx.h:10 +msgid "Range and sampling" +msgstr "Zakres i próbkowanie" -#: ../src/dialogs/clonetiler.cpp:2555 -msgid "Alternate the sign of color changes for each row" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, zmiana koloru będzie realizowana w co " -"drugim wierszu" +#: ../share/extensions/funcplot.inx.h:11 +msgid "Remove rectangle" +msgstr "Usuń prostokąt" -#: ../src/dialogs/clonetiler.cpp:2560 -msgid "Alternate the sign of color changes for each column" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, zmiana koloru będzie realizowana w co " -"drugiej kolumnie" +#: ../share/extensions/funcplot.inx.h:13 +msgid "Samples" +msgstr "Próbki" -#: ../src/dialogs/clonetiler.cpp:2568 -msgid "_Trace" -msgstr "Śl_edzenie" +#: ../share/extensions/funcplot.inx.h:14 +msgid "Select a rectangle before calling the extension, it will determine X and Y scales. With polar coordinates: Start and end X values define the angle range in radians. X scale is set so that left and right edges of rectangle are at +/-1. Isotropic scaling is disabled. First derivative is always determined numerically." +msgstr "Przed wywołaniem efektu zaznacz prostokąt. Prostokąt określają parametry X iYy. Ze spolaryzowanymi współrzędnymi: Początkowe i końcowe wartości X definiują zakres kąta w radianach. Skala X jest określona, zatem lewa i prawa krawędź prostokąta są +/-1. Skalowanie izotropowe jest wyłączone. Pierwsza pochodna jest zawsze określona numerycznie. " -#: ../src/dialogs/clonetiler.cpp:2575 -msgid "Trace the drawing under the tiles" -msgstr "Śledzenie rysunku pod obiektami" +#: ../share/extensions/funcplot.inx.h:15 +msgid "Standard Python math functions are available: ceil(x); fabs(x); floor(x); fmod(x,y); frexp(x); ldexp(x,i); modf(x); exp(x); log(x [, base]); log10(x); pow(x,y); sqrt(x); acos(x); asin(x); atan(x); atan2(y,x); hypot(x,y); cos(x); sin(x); tan(x); degrees(x); radians(x); cosh(x); sinh(x); tanh(x). The constants pi and e are also available." +msgstr "Dostępne są standardowe funkcje matematyczne języka Python: ceil(x); fabs(x); floor(x); fmod(x,y); frexp(x); ldexp(x,i); modf(x); exp(x); log(x [, podstawa]); log10(x); pow(x,y); sqrt(x); acos(x); asin(x); atan(x); atan2(y,x); hypot(x,y); cos(x); sin(x); tan(x); degrees(x); radians(x); cosh(x); sinh(x); tanh(x). Są także dostępne stałe \"pi\" i \"e\"." -#: ../src/dialogs/clonetiler.cpp:2579 -msgid "" -"For each clone, pick a value from the drawing in that clone's location and " -"apply it to the clone" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, nastąpi przypisanie każdemu klonowi " -"wartości z rysunku z miejsca, w którym się znajduje" +#: ../share/extensions/funcplot.inx.h:16 +msgid "Start X value" +msgstr "Wartość początkowa X" -#: ../src/dialogs/clonetiler.cpp:2593 -msgid "1. Pick from the drawing:" -msgstr "1. Pobierz z rysunku:" +#: ../share/extensions/funcplot.inx.h:17 +msgid "Use" +msgstr "Użyj" -#: ../src/dialogs/clonetiler.cpp:2604 ../src/dialogs/clonetiler.cpp:2751 -#: ../src/extension/internal/bitmap/colorize.cpp:51 -#: ../share/extensions/color_brighter.inx.h:2 -#: ../share/extensions/color_custom.inx.h:2 -#: ../share/extensions/color_darker.inx.h:1 -#: ../share/extensions/color_desaturate.inx.h:1 -#: ../share/extensions/color_grayscale.inx.h:1 -#: ../share/extensions/color_lesshue.inx.h:1 -#: ../share/extensions/color_lesslight.inx.h:1 -#: ../share/extensions/color_lesssaturation.inx.h:1 -#: ../share/extensions/color_morehue.inx.h:1 -#: ../share/extensions/color_morelight.inx.h:1 -#: ../share/extensions/color_moresaturation.inx.h:1 -#: ../share/extensions/color_negative.inx.h:1 -#: ../share/extensions/color_randomize.inx.h:1 -#: ../share/extensions/color_removeblue.inx.h:1 -#: ../share/extensions/color_removegreen.inx.h:1 -#: ../share/extensions/color_removered.inx.h:1 -#: ../share/extensions/color_replace.inx.h:2 -#: ../share/extensions/color_rgbbarrel.inx.h:1 -msgid "Color" -msgstr "Kolor" - -#: ../src/dialogs/clonetiler.cpp:2605 -msgid "Pick the visible color and opacity" -msgstr "Pobranie widocznego koloru i krycia" - -#: ../src/dialogs/clonetiler.cpp:2612 ../src/dialogs/clonetiler.cpp:2761 -#: ../src/extension/internal/bitmap/opacity.cpp:37 -#: ../src/extension/internal/bitmap/opacity.cpp:39 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2241 -#: ../src/widgets/toolbox.cpp:3405 -msgid "Opacity" -msgstr "Krycie" - -#: ../src/dialogs/clonetiler.cpp:2613 -msgid "Pick the total accumulated opacity" -msgstr "Pobranie zsumowanego stopnia krycia" - -#: ../src/dialogs/clonetiler.cpp:2620 -msgid "R" -msgstr "R" - -#: ../src/dialogs/clonetiler.cpp:2621 -msgid "Pick the Red component of the color" -msgstr "Pobranie czerwonego składnika koloru" +#: ../share/extensions/funcplot.inx.h:18 +msgid "Use polar coordinates" +msgstr "Użyj współrzędne biegunowe" -#: ../src/dialogs/clonetiler.cpp:2628 -msgid "G" -msgstr "G" +#: ../share/extensions/funcplot.inx.h:19 +msgid "Y value of rectangle's bottom" +msgstr "Wartość Y dołu prostokąta" -#: ../src/dialogs/clonetiler.cpp:2629 -msgid "Pick the Green component of the color" -msgstr "Pobranie zielonego składnika koloru" +#: ../share/extensions/funcplot.inx.h:20 +msgid "Y value of rectangle's top" +msgstr "Wartość Y góry prostokąta" -#: ../src/dialogs/clonetiler.cpp:2636 -msgid "B" -msgstr "B" +# Circular pitch is the arc distance along a specified pitch circle or pitch line between corresponding profiles of adjacent teeth. +#: ../share/extensions/gears.inx.h:1 +msgid "Circular pitch, px" +msgstr "Podziałka zęba (px)" -#: ../src/dialogs/clonetiler.cpp:2637 -msgid "Pick the Blue component of the color" -msgstr "Pobranie niebieskiego składnika koloru" +# http://pl.wikipedia.org/wiki/Ko%C5%82o_z%C4%99bate +#: ../share/extensions/gears.inx.h:2 +msgid "Gear" +msgstr "Koło zębate" -#. TRANSLATORS: only translate "string" in "context|string". -#. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS -#: ../src/dialogs/clonetiler.cpp:2646 -msgid "clonetiler|H" -msgstr "H" +#: ../share/extensions/gears.inx.h:3 +msgid "Number of teeth" +msgstr "Liczba zębów" -#: ../src/dialogs/clonetiler.cpp:2647 -msgid "Pick the hue of the color" -msgstr "Pobranie barwy" +# The complement of the angle between the direction that the teeth exert force on each other, and the line joining the centers of the two gears. For involute gears, the teeth always exert force along the line of action, which, for involute gears, is a straight line; and thus, for involute gears, the pressure angle is constant. +#: ../share/extensions/gears.inx.h:4 +msgid "Pressure angle" +msgstr "Kąt przyporu" -#. TRANSLATORS: only translate "string" in "context|string". -#. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS -#: ../src/dialogs/clonetiler.cpp:2656 -msgid "clonetiler|S" -msgstr "S" +#: ../share/extensions/gimp_xcf.inx.h:1 +msgid "GIMP XCF" +msgstr "GIMP XCF" -#: ../src/dialogs/clonetiler.cpp:2657 -msgid "Pick the saturation of the color" -msgstr "Pobranie nasycenia koloru" +#: ../share/extensions/gimp_xcf.inx.h:2 +msgid "GIMP XCF maintaining layers (*.XCF)" +msgstr "GIMP XCF z zachowaniem warstw (*.XCF)" -#. TRANSLATORS: only translate "string" in "context|string". -#. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS -#: ../src/dialogs/clonetiler.cpp:2666 -msgid "clonetiler|L" -msgstr "L" +#: ../share/extensions/gimp_xcf.inx.h:3 +msgid "Save Grid:" +msgstr "Zapisz siatkę:" -#: ../src/dialogs/clonetiler.cpp:2667 -msgid "Pick the lightness of the color" -msgstr "Pobranie jasności koloru" +#: ../share/extensions/gimp_xcf.inx.h:4 +msgid "Save Guides:" +msgstr "Zapis prowadnic:" -#: ../src/dialogs/clonetiler.cpp:2677 -msgid "2. Tweak the picked value:" -msgstr "2. Korekta pobranej wartości:" +#: ../share/extensions/grid_cartesian.inx.h:1 +msgid "Border Thickness [px]" +msgstr "Grubość linii (w px)" -#: ../src/dialogs/clonetiler.cpp:2687 -msgid "Gamma-correct:" -msgstr "Korekcja gamma:" +#: ../share/extensions/grid_cartesian.inx.h:2 +msgid "Cartesian Grid" +msgstr "Siatka kartezjańska" -#: ../src/dialogs/clonetiler.cpp:2692 -msgid "Shift the mid-range of the picked value upwards (>0) or downwards (<0)" +#: ../share/extensions/grid_cartesian.inx.h:3 +msgid "Halve X Subsubdiv. Frequency after 'n' Subdivs. (log only)" msgstr "" -"Przesunięcie zakresu środkowego pobranej wartości w górę (>0) lub w dół (<0)" -#: ../src/dialogs/clonetiler.cpp:2699 -msgid "Randomize:" -msgstr "Wartość losowa:" +#: ../share/extensions/grid_cartesian.inx.h:4 +msgid "Halve Y Subsubdiv. Frequency after 'n' Subdivs. (log only)" +msgstr "" -#: ../src/dialogs/clonetiler.cpp:2704 -msgid "Randomize the picked value by this percentage" -msgstr "Losowa zmiana pobranej wartości o wybraną wielkość procentową" +#: ../share/extensions/grid_cartesian.inx.h:5 +msgid "Logarithmic X Subdiv. (Base given by entry above)" +msgstr "" -#: ../src/dialogs/clonetiler.cpp:2711 -msgid "Invert:" -msgstr "Odwróć:" +#: ../share/extensions/grid_cartesian.inx.h:6 +msgid "Logarithmic Y Subdiv. (Base given by entry above)" +msgstr "" -#: ../src/dialogs/clonetiler.cpp:2715 -msgid "Invert the picked value" -msgstr "Odwróć pobraną wartość" +#: ../share/extensions/grid_cartesian.inx.h:7 +msgid "Major X Division Spacing [px]" +msgstr "Odstepy głównego podziału X (px)" -#: ../src/dialogs/clonetiler.cpp:2721 -msgid "3. Apply the value to the clones':" -msgstr "3. Zastosuj pobraną wartość do klonów:" +#: ../share/extensions/grid_cartesian.inx.h:8 +msgid "Major X Division Thickness [px]" +msgstr "Grubość głównego podziału X (px)" -#: ../src/dialogs/clonetiler.cpp:2731 -msgid "Presence" -msgstr "Obecność" +#: ../share/extensions/grid_cartesian.inx.h:9 +msgid "Major X Divisions" +msgstr "Podział główny X" -#: ../src/dialogs/clonetiler.cpp:2734 -msgid "" -"Each clone is created with the probability determined by the picked value in " -"that point" -msgstr "" -"Prawdopodobieństwo utworzenia klonu jest określane na podstawie wartości " -"pobranej w danym punkcie" +#: ../share/extensions/grid_cartesian.inx.h:10 +msgid "Major Y Division Spacing" +msgstr "Odstępy podziału głównego Y" -#: ../src/dialogs/clonetiler.cpp:2741 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2216 -msgid "Size" -msgstr "Rozmiar" +#: ../share/extensions/grid_cartesian.inx.h:11 +msgid "Major Y Division Thickness [px]" +msgstr "Grubość głównego podziału Y (px)" -#: ../src/dialogs/clonetiler.cpp:2744 -msgid "Each clone's size is determined by the picked value in that point" -msgstr "" -"Rozmiar każdego klonu jest określany poprzez wartość pobraną w danym punkcie" +#: ../share/extensions/grid_cartesian.inx.h:12 +msgid "Major Y Divisions" +msgstr "Podział główny Y" -#: ../src/dialogs/clonetiler.cpp:2754 -msgid "" -"Each clone is painted by the picked color (the original must have unset fill " -"or stroke)" -msgstr "" -"Każdy klon otrzymuje kolor pobrany w danym punkcie (oryginał musi mieć " -"nieokreślone wypełnienie lub kontur)" +#: ../share/extensions/grid_cartesian.inx.h:13 +msgid "Minor X Division Thickness [px]" +msgstr "Grubość drugorzędnego podziału X (px)" -#: ../src/dialogs/clonetiler.cpp:2764 -msgid "Each clone's opacity is determined by the picked value in that point" -msgstr "Każdy klon otrzymuje krycie równe wartości pobranej w danym punkcie" +#: ../share/extensions/grid_cartesian.inx.h:14 +msgid "Minor Y Division Thickness [px]" +msgstr "Grubość drugorzędnego podziału Y (px)" -#: ../src/dialogs/clonetiler.cpp:2791 -msgid "How many rows in the tiling" -msgstr "Ilość wierszy układu klonów" +#: ../share/extensions/grid_cartesian.inx.h:16 +msgid "Subdivisions per Major X Division" +msgstr "Ponowne podziały przez główny podział X" -#: ../src/dialogs/clonetiler.cpp:2811 -msgid "How many columns in the tiling" -msgstr "Ilość kolumn układu klonów" +#: ../share/extensions/grid_cartesian.inx.h:17 +msgid "Subdivisions per Major Y Division" +msgstr "Ponowne podziały przez główny podział Y" -#: ../src/dialogs/clonetiler.cpp:2841 -msgid "Width of the rectangle to be filled" -msgstr "Szerokość prostokąta do wypełnienia" +#: ../share/extensions/grid_cartesian.inx.h:18 +msgid "Subminor X Division Thickness [px]" +msgstr "Grubość drugorzędnego podziału X (px)" -#: ../src/dialogs/clonetiler.cpp:2866 -msgid "Height of the rectangle to be filled" -msgstr "Wysokość prostokąta do wypełnienia" +#: ../share/extensions/grid_cartesian.inx.h:19 +msgid "Subminor Y Division Thickness [px]" +msgstr "Grubość drugorzędnego podziału Y (px)" -#: ../src/dialogs/clonetiler.cpp:2881 -msgid "Rows, columns: " -msgstr "Wiersze, kolumny:" +#: ../share/extensions/grid_cartesian.inx.h:20 +msgid "Subsubdivs. per X Subdiv." +msgstr "" -#: ../src/dialogs/clonetiler.cpp:2882 -msgid "Create the specified number of rows and columns" -msgstr "Tworzenie określonej ilości wierszy i kolumn" +#: ../share/extensions/grid_cartesian.inx.h:21 +msgid "Subsubdivs. per Y Subdivision" +msgstr "" -#: ../src/dialogs/clonetiler.cpp:2891 -msgid "Width, height: " -msgstr "Szerokość, wysokość:" +#: ../share/extensions/grid_polar.inx.h:1 +msgid "Angle Divisions" +msgstr "Podział kąta" -#: ../src/dialogs/clonetiler.cpp:2892 -msgid "Fill the specified width and height with the tiling" -msgstr "Wypełnia określoną szerokość i wysokość z ułożeniem" +#: ../share/extensions/grid_polar.inx.h:2 +msgid "Angle Divisions at Centre" +msgstr "Podziały kąta w środku" -#: ../src/dialogs/clonetiler.cpp:2908 -msgid "Use saved size and position of the tile" -msgstr "Użyj zapamiętanej wielkości i pozycji klonowania" +#: ../share/extensions/grid_polar.inx.h:3 +msgid "Centre Dot Diameter [px]" +msgstr "" -#: ../src/dialogs/clonetiler.cpp:2911 -msgid "" -"Pretend that the size and position of the tile are the same as the last time " -"you tiled it (if any), instead of using the current size" +#: ../share/extensions/grid_polar.inx.h:4 +msgid "Circumferential Label Outset [px]" msgstr "" -"Jeśli opcja ta zostanie zaznaczona będzie wykorzystana wielkość i położenie " -"elementu zapisane podczas poprzedniego klonowania - jeśli było - zamiast " -"użycia aktualnego rozmiaru" -#: ../src/dialogs/clonetiler.cpp:2935 -msgid " _Create " -msgstr "_Utwórz " +#: ../share/extensions/grid_polar.inx.h:5 +msgid "Circumferential Label Size [px]" +msgstr "" -#: ../src/dialogs/clonetiler.cpp:2937 -msgid "Create and tile the clones of the selection" -msgstr "Utwórz i rozmieść klony zaznaczonych elementów" +#: ../share/extensions/grid_polar.inx.h:6 +msgid "Circumferential Labels" +msgstr "" -#. TRANSLATORS: if a group of objects are "clumped" together, then they -#. are unevenly spread in the given amount of space - as shown in the -#. diagrams on the left in the following screenshot: -#. http://www.inkscape.org/screenshots/gallery/inkscape-0.42-CVS-tiles-unclump.png -#. So unclumping is the process of spreading a number of objects out more evenly. -#: ../src/dialogs/clonetiler.cpp:2952 -msgid " _Unclump " -msgstr "_Rozproszenie" +#: ../share/extensions/grid_polar.inx.h:7 +#: ../src/extension/internal/bitmap/swirl.cpp:38 +msgid "Degrees" +msgstr "Stopnie" -#: ../src/dialogs/clonetiler.cpp:2953 -msgid "Spread out clones to reduce clumping; can be applied repeatedly" +#: ../share/extensions/grid_polar.inx.h:8 +msgid "Logarithmic Subdiv. (Base given by entry above)" msgstr "" -"Rozsuń klony zmniejszając ich rozproszenie; może być stosowane wielokrotnie" -#: ../src/dialogs/clonetiler.cpp:2959 -msgid " Re_move " -msgstr "U_suń " +#: ../share/extensions/grid_polar.inx.h:9 +msgid "Major Angular Division Thickness [px]" +msgstr "Grubość głównego podziału kątowego (px)" -#: ../src/dialogs/clonetiler.cpp:2960 -msgid "Remove existing tiled clones of the selected object (siblings only)" -msgstr "Usuń istniejące klony zaznaczonego obiektu (usuwa tylko kopie)" +#: ../share/extensions/grid_polar.inx.h:10 +msgid "Major Circular Division Spacing [px]" +msgstr "Odstępy głównych podziałów kołowych (px)" -#: ../src/dialogs/clonetiler.cpp:2976 -msgid " R_eset " -msgstr "_Resetuj " +#: ../share/extensions/grid_polar.inx.h:11 +msgid "Major Circular Division Thickness [px]" +msgstr "Grubość głównego podziału kołowego (px)" -#. TRANSLATORS: "change" is a noun here -#: ../src/dialogs/clonetiler.cpp:2978 -msgid "" -"Reset all shifts, scales, rotates, opacity and color changes in the dialog " -"to zero" +#: ../share/extensions/grid_polar.inx.h:12 +msgid "Major Circular Divisions" +msgstr "Główne podziały kołowe" + +#: ../share/extensions/grid_polar.inx.h:13 +msgid "Minor Angle Division End 'n' Divs. Before Centre" msgstr "" -"Wyzeruj wartości wszystkich przesunięć, skalowań, obrotów, zmian krycia i " -"koloru w polach okna dialogowego" -#: ../src/dialogs/debugdialog.cpp:135 -msgid "Messages" -msgstr "Komunikaty" - -#. ## Add a menu for clear() -#: ../src/dialogs/debugdialog.cpp:141 ../src/menus-skeleton.h:16 -#: ../src/ui/dialog/messages.cpp:54 ../src/ui/dialog/scriptdialog.cpp:208 -msgid "_File" -msgstr "_Plik" +#: ../share/extensions/grid_polar.inx.h:14 +msgid "Minor Angular Division Thickness [px]" +msgstr "Grubość drugorzędnego podziału kątowego (px)" -#. TRANSLATORS: "Clear" is a verb here -#: ../src/dialogs/debugdialog.cpp:142 ../src/dialogs/find.cpp:753 -#: ../src/ui/dialog/find.cpp:85 ../src/ui/dialog/messages.cpp:55 -#: ../src/ui/dialog/scriptdialog.cpp:209 -msgid "_Clear" -msgstr "_Wyczyść" +#: ../share/extensions/grid_polar.inx.h:15 +msgid "Minor Circular Division Thickness [px]" +msgstr "Grubość drugorzędnego podziału kołowego (px)" -#: ../src/dialogs/debugdialog.cpp:144 ../src/ui/dialog/messages.cpp:57 -msgid "Capture log messages" -msgstr "_Rozpocznij przechwytywanie komunikatów" +#: ../share/extensions/grid_polar.inx.h:16 +#: ../src/dialogs/stroke-style.cpp:771 +#: ../src/filter-enums.cpp:95 +#: ../src/flood-context.cpp:288 +#: ../src/interface.cpp:830 +#: ../src/live_effects/lpe-ruler.cpp:34 +#: ../src/ui/dialog/filter-effects-dialog.cpp:509 +#: ../src/ui/dialog/inkscape-preferences.cpp:219 +#: ../src/ui/dialog/inkscape-preferences.cpp:384 +#: ../src/ui/dialog/inkscape-preferences.cpp:511 +#: ../src/ui/dialog/inkscape-preferences.cpp:1032 +#: ../src/verbs.cpp:2223 +#: ../src/widgets/toolbox.cpp:3408 +msgid "None" +msgstr "Brak" -#: ../src/dialogs/debugdialog.cpp:146 ../src/ui/dialog/messages.cpp:59 -msgid "Release log messages" -msgstr "_Zakończ przechwytywanie komunikatów" +#: ../share/extensions/grid_polar.inx.h:17 +msgid "Polar Grid" +msgstr "Siatka biegunowa" -#: ../src/dialogs/eek-color-def.cpp:56 -#: ../src/widgets/gradient-selector.cpp:162 -msgid "none" -msgstr "brak" +#: ../share/extensions/grid_polar.inx.h:19 +msgid "Subdivisions per Major Angular Division" +msgstr "Dalsze podziały przez główny podział kątowy" -#: ../src/dialogs/export.cpp:143 ../src/verbs.cpp:2532 -msgid "_Page" -msgstr "Cała _strona" +#: ../share/extensions/grid_polar.inx.h:20 +msgid "Subdivisions per Major Circular Division" +msgstr "Dalsze podziały przez główny podział kołowy" -#: ../src/dialogs/export.cpp:143 ../src/verbs.cpp:2536 -msgid "_Drawing" -msgstr "Cały _rysunek" +#: ../share/extensions/handles.inx.h:1 +msgid "Draw Handles" +msgstr "Rysuj uchwyty" -#: ../src/dialogs/export.cpp:143 ../src/verbs.cpp:2538 -msgid "_Selection" -msgstr "_Zaznaczenie" +#: ../share/extensions/hpgl_output.inx.h:1 +msgid "Export to an HP Graphics Language file" +msgstr "" -#: ../src/dialogs/export.cpp:143 -msgid "_Custom" -msgstr "Rozmiar _użytkownika" +#: ../share/extensions/hpgl_output.inx.h:2 +msgid "HP Graphics Language file (*.hpgl)" +msgstr "Plik graficzny HPGL (*.hpgl)" -#: ../src/dialogs/export.cpp:267 -msgid "Export area" -msgstr "Obszar eksportu" +#: ../share/extensions/hpgl_output.inx.h:3 +msgid "HPGL Output" +msgstr "Zapis w formacie HPGL" -#: ../src/dialogs/export.cpp:281 -msgid "Units:" -msgstr "Jednostki:" +#: ../share/extensions/inkex.py:61 +msgid "The fantastic lxml wrapper for libxml2 is required by inkex.py and therefore this extension. Please download and install the latest version from http://cheeseshop.python.org/pypi/lxml/, or install it through your package manager by a command like: sudo apt-get install python-lxml" +msgstr "" -#: ../src/dialogs/export.cpp:309 -msgid "_x0:" -msgstr "_x0:" +#: ../share/extensions/inkex.py:186 +#, python-format +msgid "No matching node for expression: %s" +msgstr "" -#: ../src/dialogs/export.cpp:314 -msgid "x_1:" -msgstr "x_1:" +#: ../share/extensions/inkscape_help_askaquestion.inx.h:1 +msgid "Ask Us a Question" +msgstr "Zadaj pytanie" -#. Stroke width -#: ../src/dialogs/export.cpp:319 ../src/dialogs/object-attributes.cpp:60 -#: ../src/dialogs/object-attributes.cpp:68 -#: ../src/dialogs/stroke-style.cpp:1090 ../src/widgets/toolbox.cpp:3241 -#: ../src/widgets/toolbox.cpp:3645 ../src/widgets/toolbox.cpp:4318 -msgid "Width:" -msgstr "Szerokość:" +#: ../share/extensions/inkscape_help_commandline.inx.h:1 +msgid "Command Line Options" +msgstr "Opcje wiersza poleceń" -#: ../src/dialogs/export.cpp:325 -msgid "_y0:" -msgstr "_y0:" +#: ../share/extensions/inkscape_help_faq.inx.h:1 +msgid "FAQ" +msgstr "FAQ" -#: ../src/dialogs/export.cpp:330 -msgid "y_1:" -msgstr "y_1:" +#: ../share/extensions/inkscape_help_keys.inx.h:1 +msgid "Keys and Mouse Reference" +msgstr "Używanie klawiatury i myszy" -#: ../src/dialogs/export.cpp:335 ../src/dialogs/export.cpp:495 -#: ../src/dialogs/object-attributes.cpp:61 -#: ../src/dialogs/object-attributes.cpp:69 -msgid "Height:" -msgstr "Wysokość:" +#: ../share/extensions/inkscape_help_manual.inx.h:1 +msgid "Inkscape Manual" +msgstr "Podręcznik programu Inkscape" -#: ../src/dialogs/export.cpp:466 -msgid "Bitmap size" -msgstr "Rozmiar bitmapy" +#: ../share/extensions/inkscape_help_relnotes.inx.h:1 +msgid "New in This Version" +msgstr "Nowości w tej wersji" -#: ../src/dialogs/export.cpp:479 ../src/ui/widget/page-sizer.cpp:191 -msgid "_Width:" -msgstr "_Szerokość:" +#: ../share/extensions/inkscape_help_reportabug.inx.h:1 +msgid "Report a Bug" +msgstr "Zgłaszanie błędów" -#: ../src/dialogs/export.cpp:479 ../src/dialogs/export.cpp:495 -msgid "pixels at" -msgstr "px przy" +#: ../share/extensions/inkscape_help_svgspec.inx.h:1 +msgid "SVG 1.1 Specification" +msgstr "Specyfikacja SVG 1.1" -#: ../src/dialogs/export.cpp:489 -msgid "dp_i" -msgstr "dp_i" +#: ../share/extensions/interp.inx.h:1 +msgid "Duplicate endpaths" +msgstr "Powiel ścieżki końcowe" -#: ../src/dialogs/export.cpp:508 ../src/ui/dialog/inkscape-preferences.cpp:673 -msgid "dpi" -msgstr "dpi" +#: ../share/extensions/interp.inx.h:2 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2269 +msgid "Exponent" +msgstr "Wykładnik" -#. true = has mnemonic -#: ../src/dialogs/export.cpp:519 -msgid "_Filename" -msgstr "_Nazwa pliku" +#: ../share/extensions/interp.inx.h:4 +msgid "Interpolate" +msgstr "Interpolacja" -#: ../src/dialogs/export.cpp:590 -msgid "_Browse..." -msgstr "_Przeglądaj..." +#: ../share/extensions/interp.inx.h:5 +msgid "Interpolate style" +msgstr "Styl interpolacji" -#: ../src/dialogs/export.cpp:619 -msgid "Batch export all selected objects" -msgstr "Eksportuj grupowo wszystkie zaznaczone obiekty" +#: ../share/extensions/interp.inx.h:6 +msgid "Interpolation method" +msgstr "Metoda interpolacji" -#: ../src/dialogs/export.cpp:623 -msgid "" -"Export each selected object into its own PNG file, using export hints if any " -"(caution, overwrites without asking!)" -msgstr "" -"Eksportuje każdy zaznaczony obiekt do pliku PNG (Uwaga - nadpisuje bez " -"powiadamiania!)" +#: ../share/extensions/interp.inx.h:7 +msgid "Interpolation steps" +msgstr "Kroki interpolacji" -#: ../src/dialogs/export.cpp:631 -msgid "Hide all except selected" -msgstr "Ukryj wszystko z wyjątkiem zaznaczenia" +#: ../share/extensions/lindenmayer.inx.h:1 +msgid "Axiom" +msgstr "Aksjomat" -#: ../src/dialogs/export.cpp:635 -msgid "In the exported image, hide all objects except those that are selected" -msgstr "" -"W eksportowanym obrazku ukrywa wszystkie obiekty z wyjątkiem zaznaczonych" +#: ../share/extensions/lindenmayer.inx.h:2 +msgid "Axiom and rules" +msgstr "Pewniki i reguły" -#: ../src/dialogs/export.cpp:652 -msgid "_Export" -msgstr "_Eksportuj" +#: ../share/extensions/lindenmayer.inx.h:3 +#: ../share/extensions/measure.inx.h:2 +#: ../src/ui/dialog/extension-editor.cpp:81 +msgid "Help" +msgstr "Pomoc" -#: ../src/dialogs/export.cpp:656 -msgid "Export the bitmap file with these settings" -msgstr "Eksportowanie bitmapy z wybranymi ustawieniami" +#: ../share/extensions/lindenmayer.inx.h:4 +msgid "L-system" +msgstr "L-system" -#: ../src/dialogs/export.cpp:682 -#, c-format -msgid "Batch export %d selected object" -msgid_plural "Batch export %d selected objects" -msgstr[0] "Eksportuj grupowo %d wybrany element" -msgstr[1] "Eksportuj grupowo %d wybrane elementy" -msgstr[2] "Eksportuj grupowo %d wybranych elementów" +#: ../share/extensions/lindenmayer.inx.h:5 +msgid "Left angle" +msgstr "Lewy kąt" -#: ../src/dialogs/export.cpp:1014 -msgid "Export in progress" -msgstr "Trwa eksportowanie" +#: ../share/extensions/lindenmayer.inx.h:6 +#: ../src/extension/internal/bitmap/convolve.cpp:52 +#: ../src/extension/internal/bitmap/reduceNoise.cpp:41 +msgid "Order" +msgstr "Porządek" -#: ../src/dialogs/export.cpp:1084 -#, c-format -msgid "Exporting %d files" -msgstr "Eksportowanie %d plików" +#: ../share/extensions/lindenmayer.inx.h:8 +#, no-c-format +msgid "Randomize angle (%)" +msgstr "Zmiana losowa kąta (%)" -#: ../src/dialogs/export.cpp:1124 ../src/dialogs/export.cpp:1196 -#, c-format -msgid "Could not export to filename %s.\n" -msgstr "Nie można wyeksportować do pliku %s.\n" +#: ../share/extensions/lindenmayer.inx.h:10 +#, no-c-format +msgid "Randomize step (%)" +msgstr "Zmiana losowa kroku (%)" -#: ../src/dialogs/export.cpp:1152 -msgid "You have to enter a filename" -msgstr "Nie podano nazwy pliku" +#: ../share/extensions/lindenmayer.inx.h:12 +msgid "Right angle" +msgstr "Prawy kąt" -#: ../src/dialogs/export.cpp:1157 -msgid "The chosen area to be exported is invalid" -msgstr "Wybrany obszar eksportu jest nieprawidłowy" +#: ../share/extensions/lindenmayer.inx.h:13 +msgid "Rules" +msgstr "Formuła" -#: ../src/dialogs/export.cpp:1166 -#, c-format -msgid "Directory %s does not exist or is not a directory.\n" -msgstr "Katalog %s nie istnieje lub wybrany plik nie jest katalogiem.\n" +#: ../share/extensions/lindenmayer.inx.h:14 +msgid "Step length (px)" +msgstr "Długość kroku (px)" -#: ../src/dialogs/export.cpp:1182 -#, c-format -msgid "Exporting %s (%lu x %lu)" -msgstr "Eksportowanie %s (%lu x %lu)" +#: ../share/extensions/lindenmayer.inx.h:15 +msgid "The path is generated by applying the substitutions of Rules to the Axiom, Order times. The following commands are recognized in Axiom and Rules: Any of A,B,C,D,E,F: draw forward Any of G,H,I,J,K,L: move forward +: turn left -: turn right |: turn 180 degrees [: remember point ]: return to remembered point" +msgstr "" -#: ../src/dialogs/export.cpp:1303 -msgid "Select a filename for exporting" -msgstr "Wybierz nazwę eksportowanego pliku" +#: ../share/extensions/lorem_ipsum.inx.h:1 +msgid "Lorem ipsum" +msgstr "Lorem ipsum" -#: ../src/dialogs/fill-style.cpp:283 -msgid "Change fill rule" -msgstr "Zmień regułę wypełnienia" +#: ../share/extensions/lorem_ipsum.inx.h:2 +msgid "Number of paragraphs" +msgstr "Liczba akapitów" -#: ../src/dialogs/fill-style.cpp:323 ../src/dialogs/fill-style.cpp:397 -msgid "Set fill color" -msgstr "Ustaw kolor wypełnienia" +#: ../share/extensions/lorem_ipsum.inx.h:3 +msgid "Paragraph length fluctuation (sentences)" +msgstr "Fluktuacja długości akapitu (zdania)" -#: ../src/dialogs/fill-style.cpp:385 ../src/ui/widget/selected-style.cpp:255 -#: ../src/ui/widget/selected-style.cpp:479 -msgid "Remove fill" -msgstr "Usuń wypełnienie" +#: ../share/extensions/lorem_ipsum.inx.h:4 +msgid "Sentences per paragraph" +msgstr "Liczba zdań w akapicie" -#: ../src/dialogs/fill-style.cpp:466 -msgid "Set gradient on fill" -msgstr "Ustaw gradient wypełnienia" +#. Text +#: ../share/extensions/lorem_ipsum.inx.h:5 +#: ../share/extensions/render_alphabetsoup.inx.h:4 +#: ../share/extensions/text_braille.inx.h:2 +#: ../share/extensions/text_flipcase.inx.h:1 +#: ../share/extensions/text_lowercase.inx.h:1 +#: ../share/extensions/text_randomcase.inx.h:1 +#: ../share/extensions/text_replace.inx.h:4 +#: ../share/extensions/text_sentencecase.inx.h:2 +#: ../share/extensions/text_titlecase.inx.h:1 +#: ../share/extensions/text_uppercase.inx.h:1 +#: ../src/dialogs/text-edit.cpp:377 +#: ../src/selection-describer.cpp:67 +#: ../src/ui/dialog/inkscape-preferences.cpp:479 +#: ../src/verbs.cpp:2518 +msgid "Text" +msgstr "Tekst" -#: ../src/dialogs/fill-style.cpp:513 -msgid "Set pattern on fill" -msgstr "Ustaw deseń wypełnienia" +#: ../share/extensions/lorem_ipsum.inx.h:6 +msgid "This effect creates the standard \"Lorem Ipsum\" pseudolatin placeholder text. If a flowed text is selected, Lorem Ipsum is added to it; otherwise a new flowed text object, the size of the page, is created in a new layer." +msgstr "Ten efekt tworzy standardowy, pseudo łaciński tekst \"Lorem Ipsum\". Jeśli tekst wpisany jest zaznaczony, Lorem Ipsum jest dodawany do niego. W innym przypadku nowy obiekt tekstu wpisanego i rozmiar strony jest tworzony na nowej warstwie." -#. TRANSLATORS COMMENT: unset is a verb here -#: ../src/dialogs/fill-style.cpp:528 ../src/ui/widget/selected-style.cpp:193 -#: ../src/ui/widget/selected-style.cpp:251 -#: ../src/ui/widget/selected-style.cpp:497 -#: ../src/ui/widget/style-swatch.cpp:335 -msgid "Unset fill" -msgstr "Nie ustawiaj wypełnienia" +#: ../share/extensions/markers_strokepaint.inx.h:1 +msgid "Color Markers to Match Stroke" +msgstr "Kolor znaczników jak konturu" -#. TRANSLATORS: "%s" is replaced with "exact" or "partial" when this string is displayed -#: ../src/dialogs/find.cpp:372 ../src/ui/dialog/find.cpp:436 -#, c-format -msgid "%d object found (out of %d), %s match." -msgid_plural "%d objects found (out of %d), %s match." -msgstr[0] "Znaleziono %d obiekt (z %d), dopasowanie %s" -msgstr[1] "Znaleziono %d obiekty (z %d), dopasowanie %s" -msgstr[2] "Znaleziono %d obiektów (z %d), dopasowanie %s" +#: ../share/extensions/markers_strokepaint.py:41 +#, python-format +msgid "No style attribute found for id: %s" +msgstr "" -#: ../src/dialogs/find.cpp:375 ../src/ui/dialog/find.cpp:439 -msgid "exact" -msgstr "dokładne" +#: ../share/extensions/markers_strokepaint.py:56 +#, python-format +msgid "unable to locate marker: %s" +msgstr "" -#: ../src/dialogs/find.cpp:375 ../src/ui/dialog/find.cpp:439 -msgid "partial" -msgstr "częściowe" +#: ../share/extensions/measure.inx.h:1 +msgid "Font size [px]" +msgstr "Rozmiar czcionki (px)" -#: ../src/dialogs/find.cpp:382 ../src/ui/dialog/find.cpp:446 -msgid "No objects found" -msgstr "Nie znaleziono obiektów" +#. mm +#: ../share/extensions/measure.inx.h:4 +msgid "Length Unit: " +msgstr "Jednostka długości:" -#: ../src/dialogs/find.cpp:540 -msgid "T_ype: " -msgstr "Typ obiektu:" +#: ../share/extensions/measure.inx.h:5 +msgid "Measure" +msgstr "Pomiary" -#: ../src/dialogs/find.cpp:547 ../src/ui/dialog/find.cpp:70 -msgid "Search in all object types" -msgstr "Szukaj we wszystkich typach obiektów" +#: ../share/extensions/measure.inx.h:6 +msgid "Measure Path" +msgstr "Zmierz ścieżkę" -#: ../src/dialogs/find.cpp:547 ../src/ui/dialog/find.cpp:70 -msgid "All types" -msgstr "Wszystkie typy" +#: ../share/extensions/measure.inx.h:7 +msgid "Offset [px]" +msgstr "Przesunięcie (px)" -#: ../src/dialogs/find.cpp:558 ../src/ui/dialog/find.cpp:71 -msgid "Search all shapes" -msgstr "Szukaj we wszystkich rodzajach figur" +#: ../share/extensions/measure.inx.h:8 +msgid "Precision" +msgstr "Precyzja" -#: ../src/dialogs/find.cpp:558 ../src/ui/dialog/find.cpp:71 -msgid "All shapes" -msgstr "Wszystkie figury" +#: ../share/extensions/measure.inx.h:9 +msgid "Scale Factor (Drawing:Real Length) = 1:" +msgstr "Współczynnik skalowania (Rysowanie: rzeczywista długość) = 1:" -#: ../src/dialogs/find.cpp:575 ../src/ui/dialog/find.cpp:72 -msgid "Search rectangles" -msgstr "Szukaj prostokątów" +#: ../share/extensions/measure.inx.h:10 +msgid "This effect measures the length of the selected path and adds it as a text-on-path object with the selected unit. The number of significant digits can be controlled by the Precision field. The Offset field controls the distance from the text to the path. The Scale factor can be used to make measurements in scaled drawings. For example, if 1 cm in the drawing equals 2.5 m in the real world, Scale must be set to 250." +msgstr "Ten efekt wykonuje pomiar długości zaznaczonej ścieżki i dodaje go jako obiekt tekstowy na ścieżce z zaznaczonymi jednostkami. Istotną ilość cyfr można kontrolować poprzez pole \"Precyzja\". W polu \"Przesuniecie\" można kontrolować odległość tekstu od ścieżki. Współczynnik skalowania może być używany do wykonania pomiarów w skalowanym rysunku. Na przykład, jeśli 1 cm na rysunku odpowiada 2,5 m w rzeczywistości, współczynnik skalowania należy ustawić na wartość 250." -#: ../src/dialogs/find.cpp:575 ../src/ui/dialog/find.cpp:72 -msgid "Rectangles" -msgstr "Prostokąty" +#: ../share/extensions/motion.inx.h:1 +#: ../share/extensions/restack.inx.h:1 +#: ../src/live_effects/lpe-tangent_to_curve.cpp:56 +msgid "Angle" +msgstr "Kąt" -#: ../src/dialogs/find.cpp:580 ../src/ui/dialog/find.cpp:73 -msgid "Search ellipses, arcs, circles" -msgstr "Szukaj elips, łuków i okręgów" +#: ../share/extensions/motion.inx.h:3 +msgid "Magnitude" +msgstr "Wielkość" -#: ../src/dialogs/find.cpp:580 ../src/ui/dialog/find.cpp:73 -msgid "Ellipses" -msgstr "Elipsy" +#: ../share/extensions/motion.inx.h:4 +msgid "Motion" +msgstr "" -#: ../src/dialogs/find.cpp:585 ../src/ui/dialog/find.cpp:74 -msgid "Search stars and polygons" -msgstr "Szukaj gwiazd i wielokątów" +#: ../share/extensions/outline2svg.inx.h:1 +msgid "ASCII Text with outline markup" +msgstr "Tekst ASCII ze znacznikiem obramowania" -#: ../src/dialogs/find.cpp:585 ../src/ui/dialog/find.cpp:74 -msgid "Stars" -msgstr "Gwiazdy" +#: ../share/extensions/outline2svg.inx.h:2 +msgid "Text Outline File (*.outline)" +msgstr "Text Outline File (*.outline)" -#: ../src/dialogs/find.cpp:590 ../src/ui/dialog/find.cpp:75 -msgid "Search spirals" -msgstr "Szukaj spirali" +#: ../share/extensions/outline2svg.inx.h:3 +msgid "Text Outline Input" +msgstr "Plik obramowania tekstu" -#: ../src/dialogs/find.cpp:590 ../src/ui/dialog/find.cpp:75 -msgid "Spirals" -msgstr "Spirale" +#: ../share/extensions/pathalongpath.inx.h:1 +msgid "Copies of the pattern:" +msgstr "Kopie desenia:" -#. TRANSLATORS: polyline is a set of connected straight line segments -#. http://www.w3.org/TR/SVG11/shapes.html#PolylineElement -#: ../src/dialogs/find.cpp:603 ../src/ui/dialog/find.cpp:76 -msgid "Search paths, lines, polylines" -msgstr "Szukaj ścieżek, linii, linii łamanych" +#: ../share/extensions/pathalongpath.inx.h:2 +msgid "Deformation type:" +msgstr "Rodzaj deformacji:" -#: ../src/dialogs/find.cpp:603 ../src/ui/dialog/find.cpp:76 -msgid "Paths" -msgstr "Ścieżki" +#: ../share/extensions/pathalongpath.inx.h:3 +#: ../share/extensions/pathscatter.inx.h:3 +msgid "Duplicate the pattern before deformation" +msgstr "Powiel deseń przed deformacją" -#: ../src/dialogs/find.cpp:608 ../src/ui/dialog/find.cpp:77 -msgid "Search text objects" -msgstr "Szukaj obiektów tekstowych" +#: ../share/extensions/pathalongpath.inx.h:5 +#: ../share/extensions/pathscatter.inx.h:7 +#: ../src/live_effects/lpe-patternalongpath.cpp:66 +msgid "Normal offset" +msgstr "Przesunięcie normalne" -#: ../src/dialogs/find.cpp:608 ../src/ui/dialog/find.cpp:77 -msgid "Texts" -msgstr "Teksty" +#: ../share/extensions/pathalongpath.inx.h:6 +msgid "Pattern along Path" +msgstr "Deseń na ścieżce" -#: ../src/dialogs/find.cpp:613 ../src/ui/dialog/find.cpp:78 -msgid "Search groups" -msgstr "Szukaj grup obiektów" +#: ../share/extensions/pathalongpath.inx.h:7 +#: ../share/extensions/pathscatter.inx.h:9 +#: ../src/live_effects/lpe-patternalongpath.cpp:69 +msgid "Pattern is vertical" +msgstr "Pionowa orientacja desenia" -#: ../src/dialogs/find.cpp:613 ../src/ui/dialog/find.cpp:78 -msgid "Groups" -msgstr "Grupy" +#: ../share/extensions/pathalongpath.inx.h:8 +#: ../src/live_effects/lpe-patternalongpath.cpp:54 +msgid "Repeated" +msgstr "Powtarzana" -#: ../src/dialogs/find.cpp:618 ../src/ui/dialog/find.cpp:81 -msgid "Search clones" -msgstr "Szukaj sklonowanych obiektów" +#: ../share/extensions/pathalongpath.inx.h:9 +#: ../src/live_effects/lpe-patternalongpath.cpp:55 +msgid "Repeated, stretched" +msgstr "Powtarzana, rozciągnięta" -#. TRANSLATORS: Translate the word "Clones" only. A noun indicating type of object to find -#: ../src/dialogs/find.cpp:620 ../src/ui/dialog/find.cpp:81 -msgid "find|Clones" -msgstr "Klony" +#: ../share/extensions/pathalongpath.inx.h:10 +msgid "Ribbon" +msgstr "Wstążka" -#: ../src/dialogs/find.cpp:625 ../src/ui/dialog/find.cpp:82 -msgid "Search images" -msgstr "Szukaj obrazków" +#: ../share/extensions/pathalongpath.inx.h:11 +#: ../src/live_effects/lpe-patternalongpath.cpp:52 +msgid "Single" +msgstr "Pojedyncza" -#: ../src/dialogs/find.cpp:625 ../src/ui/dialog/find.cpp:82 -#: ../share/extensions/embedimage.inx.h:3 -#: ../share/extensions/extractimage.inx.h:2 -msgid "Images" -msgstr "Obrazki" +#: ../share/extensions/pathalongpath.inx.h:12 +#: ../src/live_effects/lpe-patternalongpath.cpp:53 +msgid "Single, stretched" +msgstr "Pojedyncza, rozciągnięta" -#: ../src/dialogs/find.cpp:630 ../src/ui/dialog/find.cpp:83 -msgid "Search offset objects" -msgstr "Szukaj obiektów powstałych przez odsunięcie" +#: ../share/extensions/pathalongpath.inx.h:13 +msgid "Snake" +msgstr "Pochylenie" -#: ../src/dialogs/find.cpp:630 ../src/ui/dialog/find.cpp:83 -msgid "Offsets" -msgstr "Odsunięcia" +#: ../share/extensions/pathalongpath.inx.h:14 +#: ../share/extensions/pathscatter.inx.h:11 +msgid "Space between copies:" +msgstr "Odstęp pomiędzy kopiami:" -#: ../src/dialogs/find.cpp:694 ../src/ui/dialog/find.cpp:61 -msgid "_Text: " -msgstr "_Tekst: " +#: ../share/extensions/pathalongpath.inx.h:15 +#: ../share/extensions/pathscatter.inx.h:13 +#: ../src/live_effects/lpe-patternalongpath.cpp:67 +msgid "Tangential offset" +msgstr "Przesunięcie styczne" -#: ../src/dialogs/find.cpp:694 ../src/ui/dialog/find.cpp:61 -msgid "Find objects by their text content (exact or partial match)" -msgstr "Znajdź obiekty zawierające tekst (w pełni lub częściowo pasujące)" +#: ../share/extensions/pathalongpath.inx.h:16 +msgid "This effect bends a pattern object along arbitrary \"skeleton\" paths. The pattern is the top most object in the selection. (groups of paths/shapes/clones... allowed)" +msgstr "Ten efekt wykonuje zagięcie desenia obiektu wzdłuż dowolnych \"szkieletowych\" ścieżek. Deseń jest najważniejszym obiektem w zaznaczeniu. Dozwolone są grupy ścieżek, kształtów, klonów." -#: ../src/dialogs/find.cpp:695 ../src/ui/dialog/find.cpp:62 -msgid "_ID: " -msgstr "_ID: " +#: ../share/extensions/pathalongpath.py:197 +#: ../share/extensions/pathscatter.py:208 +#: ../share/extensions/perspective.py:55 +#: ../share/extensions/summersnight.py:30 +msgid "This extension requires two selected paths." +msgstr "To rozszerzenie wymaga zaznaczenia dwóch ścieżek" -#: ../src/dialogs/find.cpp:695 ../src/ui/dialog/find.cpp:62 -msgid "Find objects by the value of the id attribute (exact or partial match)" +#: ../share/extensions/pathmodifier.py:229 +#, python-format +msgid "Please first convert objects to paths! (Got [%s].)" msgstr "" -"Znajdź obiekty na podstawie ich identyfikatorów (w pełni lub częściowo " -"pasujące) " -#: ../src/dialogs/find.cpp:696 ../src/ui/dialog/find.cpp:63 -msgid "_Style: " -msgstr "Styl: " +#: ../share/extensions/pathscatter.inx.h:1 +msgid "Cloned" +msgstr "Sklonowano" -#: ../src/dialogs/find.cpp:696 ../src/ui/dialog/find.cpp:63 -msgid "" -"Find objects by the value of the style attribute (exact or partial match)" -msgstr "" -"Znajdź obiekty na podstawie właściwości ich stylu (w pełni lub częściowo " -"pasujące)" +#: ../share/extensions/pathscatter.inx.h:2 +msgid "Copied" +msgstr "Skopiowano" -#: ../src/dialogs/find.cpp:697 ../src/ui/dialog/find.cpp:64 -msgid "_Attribute: " -msgstr "_Atrybut: " +#: ../share/extensions/pathscatter.inx.h:4 +msgid "Follow path orientation" +msgstr "Podążaj za kierunkiem ścieżki." -#: ../src/dialogs/find.cpp:697 ../src/ui/dialog/find.cpp:64 -msgid "Find objects by the name of an attribute (exact or partial match)" -msgstr "" -"Znajdź obiekty na podstawie ich właściwości (w pełni lub częściowo pasujące)" +#: ../share/extensions/pathscatter.inx.h:6 +msgid "Moved" +msgstr "Przesunięto" -#: ../src/dialogs/find.cpp:711 ../src/ui/dialog/find.cpp:65 -msgid "Search in s_election" -msgstr "Szukaj w _zaznaczeniu" +#: ../share/extensions/pathscatter.inx.h:8 +msgid "Original pattern will be:" +msgstr "Oryginałem wzorca będzie:" -#: ../src/dialogs/find.cpp:715 ../src/ui/dialog/find.cpp:65 -msgid "Limit search to the current selection" -msgstr "Ogranicz wyszukiwanie do aktualnie zaznaczonych obiektów" +# a może dać Rozrzucanie +#: ../share/extensions/pathscatter.inx.h:10 +msgid "Scatter" +msgstr "Rozpraszanie " -#: ../src/dialogs/find.cpp:720 ../src/ui/dialog/find.cpp:66 -msgid "Search in current _layer" -msgstr "Szukaj na _aktywnej warstwie" +#: ../share/extensions/pathscatter.inx.h:12 +msgid "Stretch spaces to fit skeleton length" +msgstr "Rozciąga odstępy, aby wypełnić długość szkieletu" -#: ../src/dialogs/find.cpp:724 ../src/ui/dialog/find.cpp:66 -msgid "Limit search to the current layer" -msgstr "Ogranicz wyszukiwanie do aktywnej warstwy" +#: ../share/extensions/pathscatter.inx.h:14 +msgid "This effect scatters a pattern along arbitrary \"skeleton\" paths. The pattern is the top most object in the selection. (groups of paths/shapes/clones... allowed)" +msgstr "Ten efekt rozprasza wzorzec wzdłuż dowolnych ścieżek \"szkieletowych\". Wzorcem jest najwyżej położony obiekt w zaznaczeniu. Dozwolone są grupy ścieżek, kształtów, klonów itp." -#: ../src/dialogs/find.cpp:729 ../src/ui/dialog/find.cpp:67 -msgid "Include _hidden" -msgstr "Uwzględnij _ukryte" +#: ../share/extensions/perfectboundcover.inx.h:1 +msgid "Bleed (in)" +msgstr "Wystawanie poza margines (w calach):" -#: ../src/dialogs/find.cpp:733 ../src/ui/dialog/find.cpp:67 -msgid "Include hidden objects in search" -msgstr "Szukaj także wśród obiektów ukrytych" +#: ../share/extensions/perfectboundcover.inx.h:2 +msgid "Bond Weight #" +msgstr "Gramatura ryzy (US)" -#: ../src/dialogs/find.cpp:738 ../src/ui/dialog/find.cpp:68 -msgid "Include l_ocked" -msgstr "Uwzględnij za_blokowane" +#: ../share/extensions/perfectboundcover.inx.h:3 +msgid "Book Height (inches)" +msgstr "Wysokość książki (w calach):" -#: ../src/dialogs/find.cpp:742 ../src/ui/dialog/find.cpp:68 -msgid "Include locked objects in search" -msgstr "Szukaj także wśród zablokowanych obiektów" +#: ../share/extensions/perfectboundcover.inx.h:4 +msgid "Book Properties" +msgstr "Właściwości książki" -#: ../src/dialogs/find.cpp:753 ../src/ui/dialog/find.cpp:85 -msgid "Clear values" -msgstr "Wyczyść wszystko" +#: ../share/extensions/perfectboundcover.inx.h:5 +msgid "Book Width (inches)" +msgstr "Szerokość książki (w calach):" -#: ../src/dialogs/find.cpp:754 ../src/ui/dialog/find.cpp:86 -msgid "_Find" -msgstr "_Szukaj" - -#: ../src/dialogs/find.cpp:754 ../src/ui/dialog/find.cpp:86 -msgid "Select objects matching all of the fields you filled in" -msgstr "Zaznacza obiekty spełniające wszystkie wybrane kryteria" +#: ../share/extensions/perfectboundcover.inx.h:6 +msgid "Caliper (inches)" +msgstr "Caliper (w calach)" -#: ../src/dialogs/guidelinedialog.cpp:44 -msgid "Unit:" -msgstr "Jednostki:" +#: ../share/extensions/perfectboundcover.inx.h:7 +msgid "Cover" +msgstr "Oprawa" -#: ../src/dialogs/guidelinedialog.cpp:45 -#: ../src/dialogs/object-attributes.cpp:58 -#: ../src/dialogs/object-attributes.cpp:66 ../src/widgets/toolbox.cpp:1248 -msgid "X:" -msgstr "X:" +#: ../share/extensions/perfectboundcover.inx.h:8 +msgid "Cover Thickness Measurement" +msgstr "Sposób pomiaru grubości oprawy:" -#: ../src/dialogs/guidelinedialog.cpp:46 -#: ../src/dialogs/object-attributes.cpp:59 -#: ../src/dialogs/object-attributes.cpp:67 ../src/widgets/toolbox.cpp:1266 -msgid "Y:" -msgstr "Y:" +#: ../share/extensions/perfectboundcover.inx.h:9 +msgid "Generate Template" +msgstr "Utwórz szablon" -#: ../src/dialogs/guidelinedialog.cpp:47 -msgid "Angle (degrees):" -msgstr "Kąt (stopnie):" +#: ../share/extensions/perfectboundcover.inx.h:10 +msgid "Interior Pages" +msgstr "Wkład książki" -#: ../src/dialogs/guidelinedialog.cpp:48 -msgid "Rela_tive change" -msgstr "Prz_esunięcie relatywne" +#: ../share/extensions/perfectboundcover.inx.h:11 +msgid "Note: Bond Weight # calculations are a best-guess estimate." +msgstr "Uwaga: Obliczenia oparte na gramaturze ryzy będą jedynie dużym przybliżeniem" -#: ../src/dialogs/guidelinedialog.cpp:48 -msgid "Move and/or rotate the guide relative to current settings" -msgstr "Przesuwa i/lub obraca prowadnicę względem aktualnego położenia" +#: ../share/extensions/perfectboundcover.inx.h:12 +msgid "Number of Pages" +msgstr "Liczba stron:" -#: ../src/dialogs/guidelinedialog.cpp:114 -msgid "Set guide properties" -msgstr "Określ właściwości prowadnic" +#: ../share/extensions/perfectboundcover.inx.h:13 +msgid "Pages Per Inch (PPI)" +msgstr "Strony na cal (PPI)" -#: ../src/dialogs/guidelinedialog.cpp:153 -msgid "Guideline" -msgstr "Prowadnica" +#: ../share/extensions/perfectboundcover.inx.h:14 +msgid "Paper Thickness Measurement" +msgstr "Sposób pomiaru grubości papieru:" -#: ../src/dialogs/guidelinedialog.cpp:241 -#, c-format -msgid "Guideline ID: %s" -msgstr "ID prowadnicy: %s" +#: ../share/extensions/perfectboundcover.inx.h:15 +msgid "Perfect-Bound Cover" +msgstr "Oprawa klejona książki" -#: ../src/dialogs/guidelinedialog.cpp:247 -#, c-format -msgid "Current: %s" -msgstr "Aktualne ustawienia: %s" +#: ../share/extensions/perfectboundcover.inx.h:16 +#: ../src/helper/units.cpp:38 +msgid "Points" +msgstr "Punkty" -#: ../src/dialogs/iconpreview.cpp:139 -#, c-format -msgid "%d x %d" -msgstr "%d x %d" +#: ../share/extensions/perfectboundcover.inx.h:17 +msgid "Remove existing guides" +msgstr "Usuń istniejące prowadnice" -#: ../src/dialogs/iconpreview.cpp:187 -#: ../src/ui/dialog/align-and-distribute.cpp:905 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1368 -#: ../src/widgets/desktop-widget.cpp:1552 -msgid "Selection" -msgstr "Zaznaczenie" +#: ../share/extensions/perfectboundcover.inx.h:18 +msgid "Specify Width" +msgstr "Szerokość określona poniżej" -#: ../src/dialogs/iconpreview.cpp:189 -msgid "Selection only or whole document" -msgstr "Tylko zaznaczenie lub cały dokument" +#: ../share/extensions/perfectboundcover.inx.h:19 +#: ../src/widgets/sp-xmlview-attr-list.cpp:47 +msgid "Value" +msgstr "Wartość" -#: ../src/dialogs/iconpreview.cpp:197 -msgid "Refresh the icons" -msgstr "Odśwież ikony" +#: ../share/extensions/perspective.inx.h:2 +msgid "Perspective" +msgstr "Perspektywa" -#. Create the label for the object id -#: ../src/dialogs/item-properties.cpp:120 -#: ../src/dialogs/item-properties.cpp:322 -#: ../src/dialogs/item-properties.cpp:413 -#: ../src/dialogs/item-properties.cpp:420 -msgid "_Id" -msgstr "_Id" +#: ../share/extensions/perspective.py:29 +msgid "Failed to import the numpy or numpy.linalg modules. These modules are required by this extension. Please install them and try again. On a Debian-like system this can be done with the command, sudo apt-get install python-numpy." +msgstr "" -#: ../src/dialogs/item-properties.cpp:129 -msgid "" -"The id= attribute (only letters, digits, and the characters .-_: allowed)" +#: ../share/extensions/perspective.py:64 +msgid "This extension requires that the second selected path be four nodes long." msgstr "" -"Identyfikator, atrybut 'id=' obiektu (dozwolone jedynie litery, cyfry, oraz " -"znaki .-_: )" -#. Button for setting the object's id, label, title and description. -#: ../src/dialogs/item-properties.cpp:143 ../src/verbs.cpp:2401 -#: ../src/verbs.cpp:2407 -msgid "_Set" -msgstr "_Ustaw" +#: ../share/extensions/polyhedron_3d.inx.h:1 +msgid "3D Polyhedron" +msgstr "Wielościan 3D" -#. Create the label for the object label -#: ../src/dialogs/item-properties.cpp:152 -msgid "_Label" -msgstr "_Etykieta" +#: ../share/extensions/polyhedron_3d.inx.h:2 +msgid "Clockwise Wound Object" +msgstr "" -#: ../src/dialogs/item-properties.cpp:161 -msgid "A freeform label for the object" -msgstr "Dowolna etykieta tekstowa obiektu" +#: ../share/extensions/polyhedron_3d.inx.h:3 +msgid "Cube" +msgstr "Sześcian" -#. Create the label for the object title -#: ../src/dialogs/item-properties.cpp:173 ../src/dialogs/rdf.cpp:238 -msgid "Title" -msgstr "Nazwa" +#: ../share/extensions/polyhedron_3d.inx.h:4 +msgid "Cuboctohedron" +msgstr "Sześcio-ośmiościan" -#. Create the frame for the object description -#: ../src/dialogs/item-properties.cpp:190 ../src/dialogs/rdf.cpp:282 -#: ../src/ui/widget/page-sizer.cpp:200 -msgid "Description" -msgstr "Opis" +#: ../share/extensions/polyhedron_3d.inx.h:5 +msgid "Dodecahedron" +msgstr "Dwunastościan foremny" -#. Hide -#: ../src/dialogs/item-properties.cpp:218 -msgid "_Hide" -msgstr "U_kryty" +#: ../share/extensions/polyhedron_3d.inx.h:6 +msgid "Draw Back-Facing Polygons" +msgstr "Rysuj ściany położone z tyłu" -#: ../src/dialogs/item-properties.cpp:219 -msgid "Check to make the object invisible" -msgstr "Zaznaczenie powoduje, że obiekt staje się niewidoczny" +#: ../share/extensions/polyhedron_3d.inx.h:7 +msgid "Edge-Specified" +msgstr "zdefiniowana krawędziami" -#. Lock -#. TRANSLATORS: "Lock" is a verb here -#: ../src/dialogs/item-properties.cpp:228 -msgid "L_ock" -msgstr "_Zablokowany" +#: ../share/extensions/polyhedron_3d.inx.h:8 +msgid "Edges" +msgstr "Krawędzie" -#: ../src/dialogs/item-properties.cpp:229 -msgid "Check to make the object insensitive (not selectable by mouse)" -msgstr "Zaznaczenie powoduje, że obiektu nie da się wybrać myszą" +#: ../share/extensions/polyhedron_3d.inx.h:9 +msgid "Face-Specified" +msgstr "zdefiniowana ścianami" -#: ../src/dialogs/item-properties.cpp:305 -#: ../src/dialogs/item-properties.cpp:312 -msgid "Ref" -msgstr "Ref" +#: ../share/extensions/polyhedron_3d.inx.h:10 +msgid "Faces" +msgstr "Ściany" -#: ../src/dialogs/item-properties.cpp:372 -msgid "Lock object" -msgstr "Zablokuj obiekt" +#: ../share/extensions/polyhedron_3d.inx.h:11 +msgid "Filename:" +msgstr "Nazwa pliku:" -#: ../src/dialogs/item-properties.cpp:372 -msgid "Unlock object" -msgstr "Odblokuj obiekt" +#: ../share/extensions/polyhedron_3d.inx.h:12 +msgid "Fill Colour (Blue)" +msgstr "Kolor wypełnienia (niebieski)" -#: ../src/dialogs/item-properties.cpp:391 -msgid "Hide object" -msgstr "Ukryj obiekt" +#: ../share/extensions/polyhedron_3d.inx.h:13 +msgid "Fill Colour (Green)" +msgstr "Kolor wypełnienia (zielony)" -#: ../src/dialogs/item-properties.cpp:391 -msgid "Unhide object" -msgstr "Wyświetl obiekt" +#: ../share/extensions/polyhedron_3d.inx.h:14 +msgid "Fill Colour (Red)" +msgstr "Kolor wypełnienia (czerwony)" -#: ../src/dialogs/item-properties.cpp:415 -msgid "Id invalid! " -msgstr "Nieprawidłowy ID!" +#: ../share/extensions/polyhedron_3d.inx.h:16 +#, no-c-format +msgid "Fill Opacity/ %" +msgstr "Krycie wypełnienia (w %)" -#: ../src/dialogs/item-properties.cpp:417 -msgid "Id exists! " -msgstr "Taki ID już istnieje!" +#: ../share/extensions/polyhedron_3d.inx.h:17 +msgid "Great Dodecahedron" +msgstr "Wielki dwunastościan foremny" -#: ../src/dialogs/item-properties.cpp:424 -msgid "Set object ID" -msgstr "Określ ID obiektu" +#: ../share/extensions/polyhedron_3d.inx.h:18 +msgid "Great Stellated Dodecahedron" +msgstr "Wielki stellowany dwunastościan foremny" -#: ../src/dialogs/item-properties.cpp:439 -msgid "Set object label" -msgstr "Określ etykietę obiektu" +#: ../share/extensions/polyhedron_3d.inx.h:19 +msgid "Icosahedron" +msgstr "Dwudziestościan foremny" -#: ../src/dialogs/item-properties.cpp:450 -msgid "Set object title" -msgstr "Określ tytuł obiektu" +#: ../share/extensions/polyhedron_3d.inx.h:20 +msgid "Light x-Position" +msgstr "Oświetlenie (pozycja w osi X)" -#: ../src/dialogs/item-properties.cpp:465 -msgid "Set object description" -msgstr "Wprowadź opis obiektu: " +#: ../share/extensions/polyhedron_3d.inx.h:21 +msgid "Light y-Position" +msgstr "Oświetlenie (pozycja w osi Y)" -#: ../src/dialogs/layer-properties.cpp:47 -msgid "Layer name:" -msgstr "Nazwa warstwy:" +#: ../share/extensions/polyhedron_3d.inx.h:22 +msgid "Light z-Position" +msgstr "Oświetlenie (pozycja w osi Z)" -#: ../src/dialogs/layer-properties.cpp:115 -msgid "Add layer" -msgstr "Dodaj warstwę" +#: ../share/extensions/polyhedron_3d.inx.h:23 +msgid "Line Thickness / px" +msgstr "Grubość linii (w px)" -#: ../src/dialogs/layer-properties.cpp:153 -msgid "Above current" -msgstr "Ponad aktywną" +#: ../share/extensions/polyhedron_3d.inx.h:24 +msgid "Load From File" +msgstr "Załaduj z pliku" -#: ../src/dialogs/layer-properties.cpp:157 -msgid "Below current" -msgstr "Poniżej aktywnej" +#: ../share/extensions/polyhedron_3d.inx.h:25 +msgid "Maximum" +msgstr "maksimum" -#: ../src/dialogs/layer-properties.cpp:160 -msgid "As sublayer of current" -msgstr "Jako warstwa podrzędna do aktywnej" +#: ../share/extensions/polyhedron_3d.inx.h:26 +msgid "Mean" +msgstr "średniej" -#: ../src/dialogs/layer-properties.cpp:164 -msgid "Position:" -msgstr "Lokalizacja:" +#: ../share/extensions/polyhedron_3d.inx.h:27 +msgid "Minimum" +msgstr "minimum" -#: ../src/dialogs/layer-properties.cpp:182 -msgid "Rename Layer" -msgstr "Zmiana nazwy warstwy" +#: ../share/extensions/polyhedron_3d.inx.h:28 +msgid "Model File" +msgstr "Opis bryły" -#: ../src/dialogs/layer-properties.cpp:185 -msgid "_Rename" -msgstr "_Zmień" +#: ../share/extensions/polyhedron_3d.inx.h:29 +msgid "Object Type" +msgstr "Rodzaj bryły" -#: ../src/dialogs/layer-properties.cpp:195 -msgid "Rename layer" -msgstr "Zmień nazwę warstwy" +#: ../share/extensions/polyhedron_3d.inx.h:30 +msgid "Object:" +msgstr "Obiekt:" -#. TRANSLATORS: This means "The layer has been renamed" -#: ../src/dialogs/layer-properties.cpp:197 -msgid "Renamed layer" -msgstr "Nazwa warstwy została zmieniona" +#: ../share/extensions/polyhedron_3d.inx.h:31 +msgid "Octahedron" +msgstr "Ośmiościan foremny" -#: ../src/dialogs/layer-properties.cpp:201 -msgid "Add Layer" -msgstr "Dodaj warstwę" +#: ../share/extensions/polyhedron_3d.inx.h:33 +msgid "Report Normal Vector Information" +msgstr "Raport wektorów normalnych dla ścian" -#: ../src/dialogs/layer-properties.cpp:203 -msgid "_Add" -msgstr "_Dodaj" +#: ../share/extensions/polyhedron_3d.inx.h:34 +msgid "Rotate Around:" +msgstr "Obrót wokół osi:" -#: ../src/dialogs/layer-properties.cpp:225 -msgid "New layer created." -msgstr "Utworzono nową warstwę" +#: ../share/extensions/polyhedron_3d.inx.h:35 +msgid "Rotation / Degrees" +msgstr "Kąt obrotu (w °)" -#: ../src/dialogs/layers-panel.cpp:579 ../src/widgets/layer-selector.cpp:595 -msgid "Unhide layer" -msgstr "Wyświetl warstwę" +#: ../share/extensions/polyhedron_3d.inx.h:36 +msgid "Scaling Factor" +msgstr "Współczynnik skalowania" -#: ../src/dialogs/layers-panel.cpp:579 ../src/widgets/layer-selector.cpp:595 -msgid "Hide layer" -msgstr "Ukryj warstwę" +#: ../share/extensions/polyhedron_3d.inx.h:37 +msgid "Shading" +msgstr "Cieniowanie" -#: ../src/dialogs/layers-panel.cpp:590 ../src/widgets/layer-selector.cpp:587 -msgid "Lock layer" -msgstr "Zablokuj warstwę" +#: ../share/extensions/polyhedron_3d.inx.h:38 +#: ../src/dialogs/object-attributes.cpp:50 +msgid "Show:" +msgstr "Wyświetlanie:" -#: ../src/dialogs/layers-panel.cpp:590 ../src/widgets/layer-selector.cpp:587 -msgid "Unlock layer" -msgstr "Odblokuj warstwę" +#: ../share/extensions/polyhedron_3d.inx.h:39 +msgid "Small Triambic Icosahedron" +msgstr "" -#: ../src/dialogs/layers-panel.cpp:735 -msgid "New" -msgstr "Nowa" +#: ../share/extensions/polyhedron_3d.inx.h:40 +msgid "Snub Cube" +msgstr "Sześcian przycięty" -#: ../src/dialogs/layers-panel.cpp:740 ../share/extensions/restack.inx.h:16 -msgid "Top" -msgstr "Na wierzch" +#: ../share/extensions/polyhedron_3d.inx.h:41 +msgid "Snub Dodecahedron" +msgstr "Dwunastościan przycięty" -#: ../src/dialogs/layers-panel.cpp:746 -msgid "Up" -msgstr "Do góry" +#: ../share/extensions/polyhedron_3d.inx.h:43 +#, no-c-format +msgid "Stroke Opacity/ %" +msgstr "Krycie konturu w %" -#: ../src/dialogs/layers-panel.cpp:752 -msgid "Dn" -msgstr "Na dół" +#. Style frame +#: ../share/extensions/polyhedron_3d.inx.h:44 +#: ../src/widgets/font-selector.cpp:188 +msgid "Style" +msgstr "Styl" -#: ../src/dialogs/layers-panel.cpp:758 -msgid "Bot" -msgstr "Na spód" +#: ../share/extensions/polyhedron_3d.inx.h:45 +msgid "Tetrahedron" +msgstr "Czworościan" -#: ../src/dialogs/layers-panel.cpp:768 -msgid "X" -msgstr "X" +#: ../share/extensions/polyhedron_3d.inx.h:46 +msgid "Then Rotate Around:" +msgstr "Następnie obrót wokół osi:" -#: ../src/dialogs/object-attributes.cpp:39 -msgid "Href:" -msgstr "Adres:" +#: ../share/extensions/polyhedron_3d.inx.h:47 +msgid "Truncated Cube" +msgstr "Sześcian ścięty" -#: ../src/dialogs/object-attributes.cpp:40 -msgid "Target:" -msgstr "Cel:" +#: ../share/extensions/polyhedron_3d.inx.h:48 +msgid "Truncated Dodecahedron" +msgstr "Dwunastościan ścięty" -#: ../src/dialogs/object-attributes.cpp:41 -msgid "Type:" -msgstr "Typ:" +#: ../share/extensions/polyhedron_3d.inx.h:49 +msgid "Truncated Icosahedron" +msgstr "Dwudziestościan ścięty" -#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/linking.html#AElementXLinkRoleAttribute -#. Identifies the type of the related resource with an absolute URI -#: ../src/dialogs/object-attributes.cpp:44 -msgid "Role:" -msgstr "Rola:" +#: ../share/extensions/polyhedron_3d.inx.h:50 +msgid "Truncated Octahedron" +msgstr "Ośmiościan ścięty" -#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/linking.html#AElementXLinkArcRoleAttribute -#. For situations where the nature/role alone isn't enough, this offers an additional URI defining the purpose of the link. -#: ../src/dialogs/object-attributes.cpp:47 -msgid "Arcrole:" -msgstr "Atrybut arcrole:" +#: ../share/extensions/polyhedron_3d.inx.h:51 +msgid "Truncated Tetrahedron" +msgstr "Czworościan ścięty" -#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/linking.html#AElementXLinkTitleAttribute -#: ../src/dialogs/object-attributes.cpp:49 -msgid "Title:" -msgstr "Tytuł:" +#: ../share/extensions/polyhedron_3d.inx.h:52 +msgid "Vertices" +msgstr "Wierzchołki" -#: ../src/dialogs/object-attributes.cpp:50 -#: ../share/extensions/polyhedron_3d.inx.h:38 -msgid "Show:" -msgstr "Wyświetlanie:" +#: ../share/extensions/polyhedron_3d.inx.h:53 +msgid "View" +msgstr "Widok" -#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/linking.html#AElementXLinkActuateAttribute -#: ../src/dialogs/object-attributes.cpp:52 -msgid "Actuate:" -msgstr "Pobudzenie:" +#: ../share/extensions/polyhedron_3d.inx.h:54 +msgid "X-Axis" +msgstr "Oś X" -#: ../src/dialogs/object-attributes.cpp:57 -msgid "URL:" -msgstr "URL:" +#: ../share/extensions/polyhedron_3d.inx.h:55 +msgid "Y-Axis" +msgstr "Oś Y" -#: ../src/dialogs/object-attributes.cpp:113 -#, c-format -msgid "%s Properties" -msgstr "%s Właściwości" +#: ../share/extensions/polyhedron_3d.inx.h:56 +msgid "Z-Axis" +msgstr "Oś Z" -#: ../src/dialogs/rdf.cpp:181 -msgid "CC Attribution" -msgstr "CC Attribution" +#: ../share/extensions/polyhedron_3d.inx.h:57 +msgid "Z-Sort Faces By:" +msgstr "Sortowanie ścian w osi Z wg:" -#: ../src/dialogs/rdf.cpp:186 -msgid "CC Attribution-ShareAlike" -msgstr "CC Attribution-ShareAlike" +#: ../share/extensions/polyhedron_3d.py:60 +msgid "Failed to import the numpy module. This module is required by this extension. Please install them and try again. On a Debian-like system this can be done with the command, sudo apt-get install python-numpy." +msgstr "" -#: ../src/dialogs/rdf.cpp:191 -msgid "CC Attribution-NoDerivs" -msgstr "CC Attribution-NoDerivs" +#: ../share/extensions/ps_input.inx.h:1 +#: ../src/extension/internal/cairo-ps-out.cpp:339 +msgid "PostScript" +msgstr "PostScript" -#: ../src/dialogs/rdf.cpp:196 -msgid "CC Attribution-NonCommercial" -msgstr "CC Attribution-NonCommercial" +#: ../share/extensions/ps_input.inx.h:2 +#: ../src/extension/internal/cairo-ps-out.cpp:353 +msgid "PostScript (*.ps)" +msgstr "PostScript (*.ps)" -#: ../src/dialogs/rdf.cpp:201 -msgid "CC Attribution-NonCommercial-ShareAlike" -msgstr "CC Attribution-NonCommercial-ShareAlike" +#: ../share/extensions/ps_input.inx.h:3 +msgid "PostScript Input" +msgstr "Źródło PostScriptu" -#: ../src/dialogs/rdf.cpp:206 -msgid "CC Attribution-NonCommercial-NoDerivs" -msgstr "CC Attribution-NonCommercial-NoDerivs" +#: ../share/extensions/radiusrand.inx.h:1 +msgid "Jitter nodes" +msgstr "Desynchronizuj węzły" -#: ../src/dialogs/rdf.cpp:211 -msgid "Public Domain" -msgstr "Domena publiczna" +#: ../share/extensions/radiusrand.inx.h:2 +msgid "Maximum displacement in X, px" +msgstr "Maksymalne przemieszczenie X (px)" -#: ../src/dialogs/rdf.cpp:216 -msgid "FreeArt" -msgstr "FreeArt" +#: ../share/extensions/radiusrand.inx.h:3 +msgid "Maximum displacement in Y, px" +msgstr "Maksymalne przemieszczenie Y (px)" -#: ../src/dialogs/rdf.cpp:221 -msgid "Open Font License" -msgstr "Licencja Open Font" +#: ../share/extensions/radiusrand.inx.h:5 +msgid "Shift node handles" +msgstr "Przesuń uchwyty węzłów" -#: ../src/dialogs/rdf.cpp:239 -msgid "Name by which this document is formally known." -msgstr "Oficjalna nazwa dokumentu" +#: ../share/extensions/radiusrand.inx.h:6 +msgid "Shift nodes" +msgstr "Przesuń węzły" -#: ../src/dialogs/rdf.cpp:241 -msgid "Date" -msgstr "Data" +#: ../share/extensions/radiusrand.inx.h:7 +msgid "This effect randomly shifts the nodes (and optionally node handles) of the selected path." +msgstr "Ten efekt losowo przesuwa węzły i opcjonalnie uchwyty węzłów zaznaczonej ścieżki" -#: ../src/dialogs/rdf.cpp:242 -msgid "Date associated with the creation of this document (YYYY-MM-DD)." -msgstr "Data utworzenia skojarzona z tym dokumentem w formacie (RRRR-MM-DD)" +#: ../share/extensions/radiusrand.inx.h:8 +msgid "Use normal distribution" +msgstr "Zastosuj równomierne rozproszenie" -#: ../src/dialogs/rdf.cpp:244 -msgid "Format" -msgstr "Format" +#: ../share/extensions/render_alphabetsoup.inx.h:1 +msgid "Alphabet Soup" +msgstr "Alphabet Soup" -#: ../src/dialogs/rdf.cpp:245 -msgid "The physical or digital manifestation of this document (MIME type)." -msgstr "Fizyczny lub cyfrowy wyróżnik tego dokumentu (typ MIME)" +#: ../share/extensions/render_alphabetsoup.inx.h:2 +msgid "Random Seed" +msgstr "" -#. _settings->add_checkbutton(false, SP_ATTR_STITCHTILES, _("Stitch Tiles"), "stitch", "noStitch"); -#: ../src/dialogs/rdf.cpp:247 ../src/extension/internal/bitmap/addNoise.cpp:46 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2194 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2273 -msgid "Type" -msgstr "Typ:" +#. Zoom +#: ../share/extensions/render_alphabetsoup.inx.h:5 +#: ../src/ui/dialog/inkscape-preferences.cpp:413 +#: ../src/ui/view/edit-widget.cpp:1073 +#: ../src/verbs.cpp:2522 +#: ../src/widgets/desktop-widget.cpp:484 +msgid "Zoom" +msgstr "Przybliżenie" -#: ../src/dialogs/rdf.cpp:248 -msgid "Type of document (DCMI Type)." -msgstr "Typ dokumentu (typ DCMI)" +#: ../share/extensions/render_barcode.inx.h:1 +msgid "Bar Height:" +msgstr "Wysokość kodu kreskowego:" -#: ../src/dialogs/rdf.cpp:251 -msgid "Creator" -msgstr "Autor" +#: ../share/extensions/render_barcode.inx.h:2 +msgid "Barcode" +msgstr "Kod kreskowy" -#: ../src/dialogs/rdf.cpp:252 -msgid "" -"Name of entity primarily responsible for making the content of this document." -msgstr "Nazwa jednostki odpowiedzialnej za zawartość tego dokumentu" +#: ../share/extensions/render_barcode.inx.h:3 +msgid "Barcode Data:" +msgstr "Informacja:" -#: ../src/dialogs/rdf.cpp:254 -msgid "Rights" -msgstr "Własność" +#: ../share/extensions/render_barcode.inx.h:4 +msgid "Barcode Type:" +msgstr "Rodzaj kodu:" -#: ../src/dialogs/rdf.cpp:255 -msgid "" -"Name of entity with rights to the Intellectual Property of this document." -msgstr "Nazwa jednostki posiadającej prawa autorskie do tego dokumentu" +#: ../share/extensions/restack.inx.h:2 +msgid "Arbitrary Angle:" +msgstr "Kąt dowolny:" -#: ../src/dialogs/rdf.cpp:257 -msgid "Publisher" -msgstr "Wydawca" +#. ## The OK button +#: ../share/extensions/restack.inx.h:3 +#: ../src/dialogs/tiledialog.cpp:864 +msgid "Arrange" +msgstr "Rozmieść" -#: ../src/dialogs/rdf.cpp:258 -msgid "Name of entity responsible for making this document available." -msgstr "Nazwa jednostki udostępniającej ten dokument" +#: ../share/extensions/restack.inx.h:4 +msgid "Bottom" +msgstr "" -#: ../src/dialogs/rdf.cpp:261 -msgid "Identifier" -msgstr "Identyfikator" +#: ../share/extensions/restack.inx.h:5 +msgid "Bottom to Top (90)" +msgstr "Z dołu na górę (90)" -#: ../src/dialogs/rdf.cpp:262 -msgid "Unique URI to reference this document." -msgstr "Unikalny identyfikator (URI) opisujący dokument" +#: ../share/extensions/restack.inx.h:6 +msgid "Horizontal Point:" +msgstr "" -#: ../src/dialogs/rdf.cpp:264 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1392 -msgid "Source" -msgstr "Źródło" +#: ../share/extensions/restack.inx.h:7 +#: ../src/live_effects/lpe-ruler.cpp:27 +msgid "Left" +msgstr "Lewa" -#: ../src/dialogs/rdf.cpp:265 -msgid "Unique URI to reference the source of this document." -msgstr "Unikalny identyfikator (URI) dla źródła dokumentu" +#: ../share/extensions/restack.inx.h:8 +msgid "Left to Right (0)" +msgstr "Od lewej do prawej (0)" -#: ../src/dialogs/rdf.cpp:267 -msgid "Relation" -msgstr "Powiązanie" +#: ../share/extensions/restack.inx.h:9 +msgid "Middle" +msgstr "Środek" -#: ../src/dialogs/rdf.cpp:268 -msgid "Unique URI to a related document." -msgstr "Identyfikator (URI) dla powiązanego dokumentu" +#: ../share/extensions/restack.inx.h:10 +msgid "Radial Inward" +msgstr "radialnie do wewnątrz" -#: ../src/dialogs/rdf.cpp:270 -msgid "Language" -msgstr "Język" +#: ../share/extensions/restack.inx.h:11 +msgid "Radial Outward" +msgstr "radialnie na zewnątrz" -#: ../src/dialogs/rdf.cpp:271 -msgid "" -"Two-letter language tag with optional subtags for the language of this " -"document. (e.g. 'en-GB')" -msgstr "" -"Dwuliterowy wyróżnik języka z opcjonalnym dodatkowym wyróżnikiem języka dla " -"tego dokumentu. (np. pl-PL)" +#: ../share/extensions/restack.inx.h:12 +msgid "Restack" +msgstr "Utwórz ponownie stos" -#: ../src/dialogs/rdf.cpp:273 -msgid "Keywords" -msgstr "Słowa kluczowe" +#: ../share/extensions/restack.inx.h:13 +msgid "Restack Direction:" +msgstr "Kierunek stosu:" -#: ../src/dialogs/rdf.cpp:274 -msgid "" -"The topic of this document as comma-separated key words, phrases, or " -"classifications." -msgstr "" -"Temat tego dokumentu w postaci oddzielonych przecinkami słów kluczowych, " -"wyrażeń lub klasyfikacji" +#: ../share/extensions/restack.inx.h:14 +#: ../src/live_effects/lpe-ruler.cpp:28 +msgid "Right" +msgstr "Prawa" -#. TRANSLATORS: "Coverage": the spatial or temporal characteristics of the content. -#. For info, see Appendix D of http://www.w3.org/TR/1998/WD-rdf-schema-19980409/ -#: ../src/dialogs/rdf.cpp:278 -msgid "Coverage" -msgstr "Tematyka" +#: ../share/extensions/restack.inx.h:15 +msgid "Right to Left (180)" +msgstr "Od prawej do lewej (180)" -#: ../src/dialogs/rdf.cpp:279 -msgid "Extent or scope of this document." -msgstr "Tematyka lub zakres tego dokumentu" +#: ../share/extensions/restack.inx.h:16 +#: ../src/dialogs/layers-panel.cpp:663 +msgid "Top" +msgstr "Na wierzch" -#: ../src/dialogs/rdf.cpp:283 -msgid "A short account of the content of this document." -msgstr "Krótkie podsumowanie zawartości dokumentu" +#: ../share/extensions/restack.inx.h:17 +msgid "Top to Bottom (270)" +msgstr "Z góry na dół (270)" -#. FIXME: need to handle 1 agent per line of input -#: ../src/dialogs/rdf.cpp:287 -msgid "Contributors" -msgstr "Współautorzy" +#: ../share/extensions/restack.inx.h:18 +msgid "Vertical Point:" +msgstr "Punkt pionowy:" -#: ../src/dialogs/rdf.cpp:288 -msgid "" -"Names of entities responsible for making contributions to the content of " -"this document." -msgstr "Nazwy jednostek biorących udział w tworzeniu zawartości tego dokumentu" +#: ../share/extensions/rtree.inx.h:1 +msgid "Initial size" +msgstr "Rozmiar początkowy" -#. TRANSLATORS: URL to a page that defines the license for the document -#: ../src/dialogs/rdf.cpp:292 -msgid "URI" -msgstr "URI" +#: ../share/extensions/rtree.inx.h:2 +msgid "Minimum size" +msgstr "Rozmiar minimalny" -#. TRANSLATORS: this is where you put a URL to a page that defines the license -#: ../src/dialogs/rdf.cpp:294 -msgid "URI to this document's license's namespace definition." -msgstr "Adres URI do strony zawierającej definicję licencji tego dokumentu" +#: ../share/extensions/rtree.inx.h:3 +msgid "Random Tree" +msgstr "Losowe drzewko" -#. TRANSLATORS: fragment of XML representing the license of the document -#: ../src/dialogs/rdf.cpp:298 -msgid "Fragment" -msgstr "Fragment" +#: ../share/extensions/rubberstretch.inx.h:2 +#, no-c-format +msgid "Curve (%):" +msgstr "Krzywa (%):" -#: ../src/dialogs/rdf.cpp:299 -msgid "XML fragment for the RDF 'License' section." -msgstr "Fragment XML zawierający sekcję licencji RDF" +#: ../share/extensions/rubberstretch.inx.h:4 +msgid "Rubber Stretch" +msgstr "Zaznaczenie elastyczne" -#. TRANSLATORS: "Set" is a verb here -#: ../src/dialogs/sp-attribute-widget.cpp:166 -#: ../src/dialogs/sp-attribute-widget.cpp:773 ../src/dialogs/xml-tree.cpp:533 -msgid "Set attribute" -msgstr "Określ atrybut" +#: ../share/extensions/rubberstretch.inx.h:6 +#, no-c-format +msgid "Strength (%):" +msgstr "Siła (%):" -#: ../src/dialogs/stroke-style.cpp:305 ../src/dialogs/stroke-style.cpp:364 -msgid "Set stroke color" -msgstr "Ustaw kolor konturu" +#: ../share/extensions/sk1_input.inx.h:1 +msgid "Open files saved in sK1 vector graphics editor" +msgstr "Otwiera pliki zapisane w edytorze grafiki wektorowej sK1" -#: ../src/dialogs/stroke-style.cpp:355 ../src/ui/widget/selected-style.cpp:255 -#: ../src/ui/widget/selected-style.cpp:488 -msgid "Remove stroke" -msgstr "Usuń kontur" +#: ../share/extensions/sk1_input.inx.h:2 +msgid "sK1 vector graphics files (.sk1)" +msgstr "Pliki grafiki wektorowej sK1 (.sk1)" -#: ../src/dialogs/stroke-style.cpp:416 -msgid "Set gradient on stroke" -msgstr "Ustaw gradient konturu" +#: ../share/extensions/sk1_input.inx.h:3 +msgid "sK1 vector graphics files input" +msgstr "Źródło plików grafiki wektorowej sK1" -#: ../src/dialogs/stroke-style.cpp:460 -msgid "Set pattern on stroke" -msgstr "Ustaw deseń konturu" +#: ../share/extensions/sk_input.inx.h:1 +msgid "A diagram created with the program Sketch" +msgstr "Diagram utworzony w programie Sketch" -#: ../src/dialogs/stroke-style.cpp:481 ../src/ui/widget/selected-style.cpp:193 -#: ../src/ui/widget/selected-style.cpp:251 -#: ../src/ui/widget/selected-style.cpp:513 -#: ../src/ui/widget/style-swatch.cpp:335 -msgid "Unset stroke" -msgstr "Nie ustawiaj konturu" +#: ../share/extensions/sk_input.inx.h:2 +msgid "Sketch Diagram (*.sk)" +msgstr "Diagram Sketch (*.sk)" -#: ../src/dialogs/stroke-style.cpp:793 ../src/filter-enums.cpp:95 -#: ../src/flood-context.cpp:288 ../src/interface.cpp:826 -#: ../src/ui/dialog/filter-effects-dialog.cpp:507 -#: ../src/ui/dialog/inkscape-preferences.cpp:211 -#: ../src/ui/dialog/inkscape-preferences.cpp:375 -#: ../src/ui/dialog/inkscape-preferences.cpp:501 -#: ../src/ui/dialog/inkscape-preferences.cpp:958 ../src/verbs.cpp:2156 -#: ../share/extensions/grid_polar.inx.h:16 -msgid "None" -msgstr "Brak" +#: ../share/extensions/sk_input.inx.h:3 +msgid "Sketch Input" +msgstr "Źródło Sketch" -#: ../src/dialogs/stroke-style.cpp:848 ../src/widgets/gradient-vector.cpp:264 -#: ../src/widgets/paint-selector.cpp:885 -msgid "No document selected" -msgstr "Nie wybrano dokumentu" +#: ../share/extensions/spirograph.inx.h:1 +msgid "Gear Placement" +msgstr "Położenie trybów:" -#: ../src/dialogs/stroke-style.cpp:937 -msgid "Set markers" -msgstr "Ustaw zakończenia" +#: ../share/extensions/spirograph.inx.h:2 +msgid "Inside (Hypotrochoid)" +msgstr "wewnątrz (hipotrochoida)" -#: ../src/dialogs/stroke-style.cpp:1104 ../share/extensions/edge3d.inx.h:9 -msgid "Stroke width" -msgstr "Szerokość konturu" +#: ../share/extensions/spirograph.inx.h:3 +msgid "Outside (Epitrochoid)" +msgstr "na zewnątrz (epitrochoida)" -#. Join type -#. TRANSLATORS: The line join style specifies the shape to be used at the -#. corners of paths. It can be "miter", "round" or "bevel". -#: ../src/dialogs/stroke-style.cpp:1127 -msgid "Join:" -msgstr "Połączenie:" +#: ../share/extensions/spirograph.inx.h:4 +msgid "Quality (Default = 16)" +msgstr "Jakość (wartość domyślna = 16)" -#. TRANSLATORS: Miter join: joining lines with a sharp (pointed) corner. -#. For an example, draw a triangle with a large stroke width and modify the -#. "Join" option (in the Fill and Stroke dialog). -#: ../src/dialogs/stroke-style.cpp:1139 -msgid "Miter join" -msgstr "Ostre" +#: ../share/extensions/spirograph.inx.h:5 +msgid "R - Ring Radius (px)" +msgstr "R - promień pierścienia (px)" -#. TRANSLATORS: Round join: joining lines with a rounded corner. -#. For an example, draw a triangle with a large stroke width and modify the -#. "Join" option (in the Fill and Stroke dialog). -#: ../src/dialogs/stroke-style.cpp:1147 -msgid "Round join" -msgstr "Zaokrąglone" +#: ../share/extensions/spirograph.inx.h:7 +msgid "Rotation (deg)" +msgstr "Obrót (°)" -#. TRANSLATORS: Bevel join: joining lines with a blunted (flattened) corner. -#. For an example, draw a triangle with a large stroke width and modify the -#. "Join" option (in the Fill and Stroke dialog). -#: ../src/dialogs/stroke-style.cpp:1155 -msgid "Bevel join" -msgstr "Ścięte" +#: ../share/extensions/spirograph.inx.h:8 +msgid "Spirograph" +msgstr "Spirograf" -#. Miterlimit -#. TRANSLATORS: Miter limit: only for "miter join", this limits the length -#. of the sharp "spike" when the lines connect at too sharp an angle. -#. When two line segments meet at a sharp angle, a miter join results in a -#. spike that extends well beyond the connection point. The purpose of the -#. miter limit is to cut off such spikes (i.e. convert them into bevels) -#. when they become too long. -#: ../src/dialogs/stroke-style.cpp:1166 -msgid "Miter limit:" -msgstr "Ograniczenie połączeń ostrych:" +#: ../share/extensions/spirograph.inx.h:9 +msgid "d - Pen Radius (px)" +msgstr "d - promień pióra (px)" -#: ../src/dialogs/stroke-style.cpp:1174 -msgid "Maximum length of the miter (in units of stroke width)" -msgstr "Maksymalna długość połączeń ostrych (w jednostkach szerokości konturu)" +#: ../share/extensions/spirograph.inx.h:10 +msgid "r - Gear Radius (px)" +msgstr "r - promień trybu (px)" -#. Cap type -#. TRANSLATORS: cap type specifies the shape for the ends of lines -#: ../src/dialogs/stroke-style.cpp:1187 -msgid "Cap:" -msgstr "Zakończenie:" +#: ../share/extensions/straightseg.inx.h:1 +msgid "Behavior" +msgstr "Zachowanie" -#. TRANSLATORS: Butt cap: the line shape does not extend beyond the end point -#. of the line; the ends of the line are square -#: ../src/dialogs/stroke-style.cpp:1198 -msgid "Butt cap" -msgstr "Ostre" +#. You can add new elements from this point forward +#: ../share/extensions/straightseg.inx.h:3 +#: ../src/helper/units.cpp:42 +msgid "Percent" +msgstr "Procent" -#. TRANSLATORS: Round cap: the line shape extends beyond the end point of the -#. line; the ends of the line are rounded -#: ../src/dialogs/stroke-style.cpp:1205 -msgid "Round cap" -msgstr "Zaokrąglone" +#: ../share/extensions/straightseg.inx.h:4 +msgid "Straighten Segments" +msgstr "Wyprostuj odcinki" -#. TRANSLATORS: Square cap: the line shape extends beyond the end point of the -#. line; the ends of the line are square -#: ../src/dialogs/stroke-style.cpp:1212 -msgid "Square cap" -msgstr "Kwadratowe" +#: ../share/extensions/summersnight.inx.h:1 +msgid "Envelope" +msgstr "Obwiednia" -#. Dash -#: ../src/dialogs/stroke-style.cpp:1218 -msgid "Dashes:" -msgstr "Styl kresek:" +#: ../share/extensions/summersnight.py:32 +msgid "The second path must be exactly four nodes long." +msgstr "" -#. TRANSLATORS: Path markers are an SVG feature that allows you to attach arbitrary shapes -#. (arrowheads, bullets, faces, whatever) to the start, end, or middle nodes of a path. -#: ../src/dialogs/stroke-style.cpp:1239 -msgid "Start Markers:" -msgstr "Znaczniki początkowe:" +#: ../share/extensions/svg2xaml.inx.h:1 +#: ../share/extensions/xaml2svg.inx.h:1 +msgid "Microsoft XAML (*.xaml)" +msgstr "Microsoft XAML (*.xaml)" -#: ../src/dialogs/stroke-style.cpp:1249 -msgid "Mid Markers:" -msgstr "Znaczniki środkowe:" +#: ../share/extensions/svg2xaml.inx.h:2 +#: ../share/extensions/xaml2svg.inx.h:2 +msgid "Microsoft's GUI definition format" +msgstr "Format opisu GUI firmy Microsoft" -#: ../src/dialogs/stroke-style.cpp:1259 -msgid "End Markers:" -msgstr "Znaczniki końcowe:" +#: ../share/extensions/svg2xaml.inx.h:3 +msgid "XAML Output" +msgstr "Zapis w XAML" -#: ../src/dialogs/stroke-style.cpp:1605 ../src/dialogs/stroke-style.cpp:1703 -msgid "Set stroke style" -msgstr "Określ styl konturu" +#: ../share/extensions/svg_and_media_zip_output.inx.h:1 +msgid "Compressed Inkscape SVG with media (*.zip)" +msgstr "Skompresowany plik Inkscape SVG z mediami (*.zip)" -#: ../src/dialogs/swatches.cpp:248 -#, fuzzy, c-format -msgid "" -"Color: %s; Click to set fill, Shift+click to set stroke" -msgstr "" -"Kliknij, aby określić parametry wypełnienia, Shift+kliknięcie, " -"aby określić parametry konturu" +#: ../share/extensions/svg_and_media_zip_output.inx.h:2 +msgid "Inkscape's native file format compressed with Zip and including all media files" +msgstr "Natywny plik Inkscape skompresowany razem ze wszystkimi mediami metodą Zip" -#. TRANSLATORS: An item in context menu on a colour in the swatches -#: ../src/dialogs/swatches.cpp:298 -msgid "Set fill" -msgstr "Ustaw wypełnienie" +#: ../share/extensions/svg_and_media_zip_output.inx.h:3 +msgid "ZIP Output" +msgstr "Zapis ZIP" -#. TRANSLATORS: An item in context menu on a colour in the swatches -#: ../src/dialogs/swatches.cpp:306 -msgid "Set stroke" -msgstr "Ustaw kontur" +#: ../share/extensions/svg_and_media_zip_output.py:102 +#, python-format +msgid "Could not locate file: %s" +msgstr "Nie można zlokalizować pliku: %s" -#: ../src/dialogs/swatches.cpp:525 -msgid "Change color definition" -msgstr "Zmień definicję koloru" +#: ../share/extensions/svgz_input.inx.h:1 +#: ../share/extensions/svgz_output.inx.h:1 +#: ../src/extension/internal/svgz.cpp:53 +#: ../src/extension/internal/svgz.cpp:67 +msgid "Compressed Inkscape SVG (*.svgz)" +msgstr "Skompresowany Inkscape SVG (*.svgz)" -#: ../src/dialogs/swatches.cpp:676 -msgid "Set stroke color from swatch" -msgstr "Określ kolor konturu wybierając próbkę z palety" +#: ../share/extensions/svgz_input.inx.h:2 +#: ../share/extensions/svgz_output.inx.h:2 +#: ../src/extension/internal/svgz.cpp:68 +msgid "Inkscape's native file format compressed with GZip" +msgstr "Natywny format Inkscape skompresowany programem GZip" -#: ../src/dialogs/swatches.cpp:676 -msgid "Set fill color from swatch" -msgstr "Określ kolor wypełnienia wybierając próbkę z palety" +#: ../share/extensions/svgz_input.inx.h:3 +#: ../src/extension/internal/svgz.cpp:47 +msgid "SVGZ Input" +msgstr "Źródło SVGZ" -#: ../src/dialogs/swatches.cpp:996 -#, c-format -msgid "Palettes directory (%s) is unavailable." -msgstr "Katalog palet (%s) jest niedostępny" +#: ../share/extensions/svgz_output.inx.h:3 +#: ../src/extension/internal/svgz.cpp:62 +#: ../src/extension/internal/svgz.cpp:76 +msgid "SVGZ Output" +msgstr "Zapis SVGZ" -#. TODO: Insert widgets -#: ../src/dialogs/text-edit.cpp:200 ../src/ui/dialog/text-properties.cpp:36 -msgid "Font" -msgstr "Czcionka" +#: ../share/extensions/text_braille.inx.h:1 +msgid "Convert to Braille" +msgstr "Konwertuj na alfabet Braille'a" -#: ../src/dialogs/text-edit.cpp:223 -msgid "Layout" -msgstr "Rozmieszczenie" +#: ../share/extensions/text_flipcase.inx.h:2 +msgid "fLIP cASE" +msgstr "oDWRÓĆ wIELKOŚĆ lITER" -#: ../src/dialogs/text-edit.cpp:237 -msgid "Align lines left" -msgstr "Wyrównanie do lewej" +#: ../share/extensions/text_lowercase.inx.h:2 +msgid "lowercase" +msgstr "małe litery" -#. TRANSLATORS: `Center' here is a verb. -#: ../src/dialogs/text-edit.cpp:252 -msgid "Center lines" -msgstr "Wyśrodkowanie" +#: ../share/extensions/text_randomcase.inx.h:2 +msgid "rANdOm CasE" +msgstr "LosoWa wIelKość litER" -#: ../src/dialogs/text-edit.cpp:266 -msgid "Align lines right" -msgstr "Wyrównanie do prawej" +#: ../share/extensions/text_replace.inx.h:1 +msgid "By:" +msgstr "Nowy tekst:" -#: ../src/dialogs/text-edit.cpp:280 -msgid "Justify lines" -msgstr "Wyjustowanie" +#: ../share/extensions/text_replace.inx.h:2 +msgid "Replace text" +msgstr "Zamień tekst" -#: ../src/dialogs/text-edit.cpp:302 ../src/widgets/toolbox.cpp:5354 -msgid "Horizontal text" -msgstr "Poziomy układ tekstu" +#: ../share/extensions/text_replace.inx.h:3 +msgid "Replace:" +msgstr "Tekst:" -#: ../src/dialogs/text-edit.cpp:316 ../src/widgets/toolbox.cpp:5366 -msgid "Vertical text" -msgstr "Pionowy układ tekstu" +#: ../share/extensions/text_sentencecase.inx.h:1 +msgid "Sentence case" +msgstr "Styl zdania" -#: ../src/dialogs/text-edit.cpp:331 -msgid "Line spacing:" -msgstr "Odstęp między wierszami:" +#: ../share/extensions/text_titlecase.inx.h:2 +msgid "Title Case" +msgstr "Styl Tytułu" -#. Text -#: ../src/dialogs/text-edit.cpp:377 ../src/selection-describer.cpp:67 -#: ../src/ui/dialog/inkscape-preferences.cpp:469 -#: ../src/ui/dialog/text-properties.cpp:37 ../src/verbs.cpp:2437 -#: ../share/extensions/lorem_ipsum.inx.h:5 -#: ../share/extensions/render_alphabetsoup.inx.h:4 -#: ../share/extensions/text_braille.inx.h:2 -#: ../share/extensions/text_flipcase.inx.h:1 -#: ../share/extensions/text_lowercase.inx.h:1 -#: ../share/extensions/text_randomcase.inx.h:1 -#: ../share/extensions/text_replace.inx.h:4 -#: ../share/extensions/text_sentencecase.inx.h:2 -#: ../share/extensions/text_titlecase.inx.h:1 -#: ../share/extensions/text_uppercase.inx.h:1 -msgid "Text" -msgstr "Tekst" +#: ../share/extensions/text_uppercase.inx.h:2 +msgid "UPPERCASE" +msgstr "WIELKIE LITERY" -#: ../src/dialogs/text-edit.cpp:424 -msgid "Set as default" -msgstr "Zapisz jako domyślne" +#: ../share/extensions/triangle.inx.h:1 +msgid "Angle a / deg" +msgstr "Kąt a / stopnie" -#: ../src/dialogs/text-edit.cpp:665 ../src/text-context.cpp:1438 -msgid "Set text style" -msgstr "Określ styl tekstu" +#: ../share/extensions/triangle.inx.h:2 +msgid "Angle b / deg" +msgstr "Kąt b / stopnie" -#: ../src/dialogs/tiledialog.cpp:353 -msgid "Arrange in a grid" -msgstr "Rozłóż na siatce" +#: ../share/extensions/triangle.inx.h:3 +msgid "Angle c / deg" +msgstr "Kąt c / stopnie" -#: ../src/dialogs/tiledialog.cpp:654 -msgid "Rows:" -msgstr "Wiersze:" +#: ../share/extensions/triangle.inx.h:4 +msgid "From Side a and Angles a, b" +msgstr "Ze strony a i kątów a, b" -#: ../src/dialogs/tiledialog.cpp:662 -msgid "Number of rows" -msgstr "Liczba wierszy" +#: ../share/extensions/triangle.inx.h:5 +msgid "From Side c and Angles a, b" +msgstr "Ze strony c i kątów a, b" -#: ../src/dialogs/tiledialog.cpp:666 -msgid "Equal height" -msgstr "Jednakowa wysokość" +#: ../share/extensions/triangle.inx.h:6 +msgid "From Sides a, b and Angle a" +msgstr "Ze stron a, b i kąta a" -#: ../src/dialogs/tiledialog.cpp:676 -msgid "If not set, each row has the height of the tallest object in it" -msgstr "" -"Jeśli wartość nie jest określona każdy wiersz ma wysokość najwyższego " -"znajdującego się w nim obiektu" +#: ../share/extensions/triangle.inx.h:7 +msgid "From Sides a, b and Angle c" +msgstr "Ze stron a, b i kąta c" -#. #### Radio buttons to control vertical alignment #### -#. #### Radio buttons to control horizontal alignment #### -#: ../src/dialogs/tiledialog.cpp:682 ../src/dialogs/tiledialog.cpp:752 -msgid "Align:" -msgstr "Wyrównanie:" +#: ../share/extensions/triangle.inx.h:8 +msgid "From Three Sides" +msgstr "Z trzech stron" -#. #### Number of columns #### -#: ../src/dialogs/tiledialog.cpp:724 -msgid "Columns:" -msgstr "Kolumny:" +#. # end multiple scan +#. ## end mode page +#: ../share/extensions/triangle.inx.h:9 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2196 +#: ../src/ui/dialog/tracedialog.cpp:553 +#: ../src/widgets/toolbox.cpp:3783 +msgid "Mode" +msgstr "Tryb" -#: ../src/dialogs/tiledialog.cpp:732 -msgid "Number of columns" -msgstr "Liczba kolumn" +#: ../share/extensions/triangle.inx.h:11 +msgid "Side Length a / px" +msgstr "Długość boku (px)" -#: ../src/dialogs/tiledialog.cpp:736 -msgid "Equal width" -msgstr "Jednakowa szerokość" +#: ../share/extensions/triangle.inx.h:12 +msgid "Side Length b / px" +msgstr "Długość boku (px)" -#: ../src/dialogs/tiledialog.cpp:745 -msgid "If not set, each column has the width of the widest object in it" -msgstr "" -"Jeśli wartość nie jest określona, każda kolumna ma szerokość najszerszego " -"znajdującego się w niej obiektu" +#: ../share/extensions/triangle.inx.h:13 +msgid "Side Length c / px" +msgstr "Długość boku (px)" -#. #### Radio buttons to control spacing manually or to fit selection bbox #### -#: ../src/dialogs/tiledialog.cpp:791 -msgid "Fit into selection box" -msgstr "Dopasuj do ramki zaznaczenia" +#: ../share/extensions/triangle.inx.h:14 +msgid "Triangle" +msgstr "Trójkąt" -#: ../src/dialogs/tiledialog.cpp:797 -msgid "Set spacing:" -msgstr "Ustawienia odstępów:" +#: ../share/extensions/txt2svg.inx.h:1 +msgid "ASCII Text" +msgstr "Tekst ASCII" -#: ../src/dialogs/tiledialog.cpp:817 -msgid "Vertical spacing between rows (px units)" -msgstr "Odstępy pionowe pomiędzy wierszami (w px)" +#: ../share/extensions/txt2svg.inx.h:2 +msgid "Text File (*.txt)" +msgstr "Plik tekstowy (*.txt)" -#: ../src/dialogs/tiledialog.cpp:842 -msgid "Horizontal spacing between columns (px units)" -msgstr "Odstępy poziome pomiędzy kolumnami (w px)" +#: ../share/extensions/txt2svg.inx.h:3 +msgid "Text Input" +msgstr "Źródło tekstowe" -#. ## The OK button -#: ../src/dialogs/tiledialog.cpp:865 ../share/extensions/restack.inx.h:3 -msgid "Arrange" -msgstr "Rozmieść" +#: ../share/extensions/whirl.inx.h:1 +msgid "Amount of whirl" +msgstr "Stopień skręcenia" -#: ../src/dialogs/tiledialog.cpp:866 -msgid "Arrange selected objects" -msgstr "Rozmieść zaznaczone obiekty" +#: ../share/extensions/whirl.inx.h:3 +msgid "Rotation is clockwise" +msgstr "Skręcenie w prawo" -#: ../src/dialogs/xml-tree.cpp:174 -msgid "Click to select nodes, drag to rearrange." -msgstr "" -"Kliknięcie wybiera węzeł, przeciągnięcie zmienia jego pozycję" +#: ../share/extensions/whirl.inx.h:4 +msgid "Whirl" +msgstr "Wir" -#: ../src/dialogs/xml-tree.cpp:185 -msgid "Click attribute to edit." -msgstr "Kliknięcie rozpoczyna edycję atrybutu" +#: ../share/extensions/wmf_input.inx.h:1 +msgid "A popular graphics file format for clipart" +msgstr "Popularny format graficzny dla klipartów" -#: ../src/dialogs/xml-tree.cpp:189 -#, c-format -msgid "" -"Attribute %s selected. Press Ctrl+Enter when done editing to " -"commit changes." -msgstr "" -"Wybrano atrybut %s. Naciśnięcie Ctrl + Enter po zakończeniu " -"zapamiętuje zmiany." +#: ../share/extensions/wmf_input.inx.h:2 +msgid "Windows Metafile (*.wmf)" +msgstr "Windows Metafile (*.wmf)" -#: ../src/dialogs/xml-tree.cpp:284 -msgid "Drag to reorder nodes" -msgstr "Przeciągnij, aby zmienić położenie węzłów" +#: ../share/extensions/wmf_input.inx.h:3 +msgid "Windows Metafile Input" +msgstr "Źródło Metaplik Windows" -#: ../src/dialogs/xml-tree.cpp:304 -msgid "New element node" -msgstr "Nowy węzeł elementu" +#: ../share/extensions/xaml2svg.inx.h:3 +msgid "XAML Input" +msgstr "Źródło XAML" -#: ../src/dialogs/xml-tree.cpp:326 -msgid "New text node" -msgstr "Nowy węzeł tekstu" +#: ../src/arc-context.cpp:339 +msgid "Ctrl: make circle or integer-ratio ellipse, snap arc/segment angle" +msgstr "Ctrl: tworzenie okręgów lub proporcjonalnych elips, przyciąganie do kąta półkola/łuku" -#: ../src/dialogs/xml-tree.cpp:347 ../src/dialogs/xml-tree.cpp:1414 -#: ../src/nodepath.cpp:2024 -msgid "Duplicate node" -msgstr "Powiel węzeł" +#: ../src/arc-context.cpp:340 +#: ../src/rect-context.cpp:384 +msgid "Shift: draw around the starting point" +msgstr "Shift: rysowanie od punktu startowego we wszystkich kierunkach" -#: ../src/dialogs/xml-tree.cpp:368 ../src/dialogs/xml-tree.cpp:1431 -#: ../src/nodepath.cpp:3273 ../src/widgets/toolbox.cpp:1086 -msgid "Delete node" -msgstr "Usuń węzeł" +#: ../src/arc-context.cpp:486 +#, c-format +msgid "Ellipse: %s × %s (constrained to ratio %d:%d); with Shift to draw around the starting point" +msgstr "Elipsa: %s × %s (wymuszona do proporcji %d:%d); z Shift, aby rysować wokół punktu startowego" -#: ../src/dialogs/xml-tree.cpp:384 ../src/dialogs/xml-tree.cpp:1576 -msgid "Unindent node" -msgstr "Usuń wcięcie" +#: ../src/arc-context.cpp:488 +#, c-format +msgid "Ellipse: %s × %s; with Ctrl to make square or integer-ratio ellipse; with Shift to draw around the starting point" +msgstr "Elipsa: %s × %s; z Ctrl, aby utworzyć koło lub proporcjonalną elipsę; z Shift, aby rysować wokół punktu startowego" -#: ../src/dialogs/xml-tree.cpp:399 ../src/dialogs/xml-tree.cpp:1555 -msgid "Indent node" -msgstr "Utwórz wcięcie" +#: ../src/arc-context.cpp:507 +msgid "Create ellipse" +msgstr "Utwórz elipsę" -#: ../src/dialogs/xml-tree.cpp:411 ../src/dialogs/xml-tree.cpp:1508 -msgid "Raise node" -msgstr "Przenieś do góry" +#: ../src/box3d-context.cpp:449 +#: ../src/box3d-context.cpp:456 +#: ../src/box3d-context.cpp:463 +#: ../src/box3d-context.cpp:470 +#: ../src/box3d-context.cpp:477 +#: ../src/box3d-context.cpp:484 +msgid "Change perspective (angle of PLs)" +msgstr "Zmień perspektywę (kąt linii)" -#: ../src/dialogs/xml-tree.cpp:423 ../src/dialogs/xml-tree.cpp:1525 -msgid "Lower node" -msgstr "Przenieś w dół" +#. status text +#: ../src/box3d-context.cpp:639 +msgid "3D Box; with Shift to extrude along the Z axis" +msgstr "Obiekt 3D; z Shift - wytłaczanie wzdłuż osi Z" -#: ../src/dialogs/xml-tree.cpp:468 ../src/dialogs/xml-tree.cpp:1449 -msgid "Delete attribute" -msgstr "Usuń atrybut" +#: ../src/box3d-context.cpp:663 +msgid "Create 3D box" +msgstr "Utwórz obiekt 3D" -#. TRANSLATORS: "Attribute" is a noun here -#: ../src/dialogs/xml-tree.cpp:513 -msgid "Attribute name" -msgstr "Nazwa atrybutu" +#: ../src/box3d.cpp:316 +msgid "3D Box" +msgstr "Obiekt 3D" -#. TRANSLATORS: "Set" is a verb here -#: ../src/dialogs/xml-tree.cpp:535 -msgid "Set" -msgstr "Ustaw" +#: ../src/connector-context.cpp:519 +msgid "Creating new connector" +msgstr "Tworzenie nowego łącznika" -#. TRANSLATORS: "Attribute" is a noun here -#: ../src/dialogs/xml-tree.cpp:558 -msgid "Attribute value" -msgstr "Wartość atrybutu" +#: ../src/connector-context.cpp:751 +msgid "Connector endpoint drag cancelled." +msgstr "Anulowano przeciąganie punktu końcowego łącznika" -#: ../src/dialogs/xml-tree.cpp:891 -msgid "Drag XML subtree" -msgstr "Przeciągnij gałąź XML" +#: ../src/connector-context.cpp:799 +msgid "Reroute connector" +msgstr "Przekieruj łącznik" -#: ../src/dialogs/xml-tree.cpp:1318 -msgid "New element node..." -msgstr "Nowy węzeł elementu..." +#. Flush pending updates +#: ../src/connector-context.cpp:963 +msgid "Create connector" +msgstr "Utwórz łącznik" -#: ../src/dialogs/xml-tree.cpp:1339 -#: ../src/ui/dialog/whiteboard-connect.cpp:114 -#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:103 -msgid "Cancel" -msgstr "Anuluj" +#: ../src/connector-context.cpp:987 +msgid "Finishing connector" +msgstr "Zakończono tworzenie łącznika" -#: ../src/dialogs/xml-tree.cpp:1345 -msgid "Create" -msgstr "Utwórz" +#: ../src/connector-context.cpp:1130 +msgid "Connection point: click or drag to create a new connector" +msgstr "Punkt połączenia - kliknij lub przeciągnij, aby utworzyć nowy łącznik" -#: ../src/dialogs/xml-tree.cpp:1380 -msgid "Create new element node" -msgstr "Utwórz nowy węzeł elementu" +#: ../src/connector-context.cpp:1203 +msgid "Connector endpoint: drag to reroute or connect to new shapes" +msgstr "Punkt końcowy łącznika - przeciągnij, aby przestawić lub połącz z nowym kształtem" -#: ../src/dialogs/xml-tree.cpp:1396 -msgid "Create new text node" -msgstr "Utwórz nowy węzeł tekstu" +#: ../src/connector-context.cpp:1314 +msgid "Select at least one non-connector object." +msgstr "Zaznacz co najmniej jeden obiekt nie będący łącznikiem" -#: ../src/dialogs/xml-tree.cpp:1478 -msgid "Change attribute" -msgstr "Zmień atrybut" +#: ../src/connector-context.cpp:1319 +#: ../src/widgets/toolbox.cpp:6509 +msgid "Make connectors avoid selected objects" +msgstr "Utwórz łączniki omijające zaznaczone obiekty" -#: ../src/display/canvas-axonomgrid.cpp:390 ../src/display/canvas-grid.cpp:656 -msgid "Grid _units:" -msgstr "Jednostki _siatki:" +#: ../src/connector-context.cpp:1320 +#: ../src/widgets/toolbox.cpp:6519 +msgid "Make connectors ignore selected objects" +msgstr "Utwórz łączniki przechodzące przez zaznaczone obiekty" -#: ../src/display/canvas-axonomgrid.cpp:392 ../src/display/canvas-grid.cpp:658 -msgid "_Origin X:" -msgstr "_Początek X:" +#: ../src/context-fns.cpp:37 +#: ../src/context-fns.cpp:66 +msgid "Current layer is hidden. Unhide it to be able to draw on it." +msgstr "Aktywna warstwa jest ukryta. Aby móc na niej rysować włącz jej widzialność." -#: ../src/display/canvas-axonomgrid.cpp:392 ../src/display/canvas-grid.cpp:658 -#: ../src/ui/dialog/inkscape-preferences.cpp:869 -#: ../src/ui/dialog/inkscape-preferences.cpp:890 -msgid "X coordinate of grid origin" -msgstr "Współrzędna X początku siatki" +#: ../src/context-fns.cpp:43 +#: ../src/context-fns.cpp:72 +msgid "Current layer is locked. Unlock it to be able to draw on it." +msgstr "Aktywna warstwa jest zablokowana. Aby móc na niej rysować odblokuj ją." -#: ../src/display/canvas-axonomgrid.cpp:394 ../src/display/canvas-grid.cpp:660 -msgid "O_rigin Y:" -msgstr "P_oczątek Y:" +#: ../src/desktop-events.cpp:175 +msgid "Create guide" +msgstr "Utwórz prowadnicę" -#: ../src/display/canvas-axonomgrid.cpp:394 ../src/display/canvas-grid.cpp:660 -#: ../src/ui/dialog/inkscape-preferences.cpp:870 -#: ../src/ui/dialog/inkscape-preferences.cpp:891 -msgid "Y coordinate of grid origin" -msgstr "Współrzędna Y początku siatki" +#: ../src/desktop-events.cpp:221 +#: ../src/desktop-events.cpp:275 +#: ../src/dialogs/guidelinedialog.cpp:127 +msgid "Delete guide" +msgstr "Usuń prowadnicę" -#: ../src/display/canvas-axonomgrid.cpp:396 ../src/display/canvas-grid.cpp:664 -msgid "Spacing _Y:" -msgstr "Odstępy _Y:" +#: ../src/desktop-events.cpp:269 +msgid "Move guide" +msgstr "Przenieś prowadnicę" -#: ../src/display/canvas-axonomgrid.cpp:396 -#: ../src/ui/dialog/inkscape-preferences.cpp:893 -msgid "Base length of z-axis" -msgstr "Bazowa długość osi Z" +#: ../src/desktop-events.cpp:290 +#, c-format +msgid "Guideline: %s" +msgstr "Prowadnica: %s" -#: ../src/display/canvas-axonomgrid.cpp:398 ../src/widgets/toolbox.cpp:2723 -msgid "Angle X:" -msgstr "Kąt X:" +#: ../src/desktop.cpp:822 +msgid "No previous zoom." +msgstr "Brak poprzedniego powiększenia" -#: ../src/display/canvas-axonomgrid.cpp:398 -#: ../src/ui/dialog/inkscape-preferences.cpp:896 -msgid "Angle of x-axis" -msgstr "Kąt osi X" +#: ../src/desktop.cpp:847 +msgid "No next zoom." +msgstr "Brak następnego powiększenia" -#: ../src/display/canvas-axonomgrid.cpp:400 ../src/widgets/toolbox.cpp:2802 -msgid "Angle Z:" -msgstr "Kąt Z:" +#: ../src/dialogs/clonetiler.cpp:169 +msgid "Nothing selected." +msgstr "Nic nie zaznaczono" -#: ../src/display/canvas-axonomgrid.cpp:400 -#: ../src/ui/dialog/inkscape-preferences.cpp:897 -msgid "Angle of z-axis" -msgstr "Kąt osi Z" +#: ../src/dialogs/clonetiler.cpp:175 +msgid "More than one object selected." +msgstr "Zaznaczono więcej niż jeden obiekt" -#: ../src/display/canvas-axonomgrid.cpp:404 ../src/display/canvas-grid.cpp:668 -msgid "Grid line _color:" -msgstr "_Kolor linii siatki:" +#: ../src/dialogs/clonetiler.cpp:182 +#, c-format +msgid "Object has %d tiled clones." +msgstr "Obiekt posiada %d sąsiadujących klonów" -#: ../src/display/canvas-axonomgrid.cpp:404 ../src/display/canvas-grid.cpp:668 -#: ../src/ui/dialog/inkscape-preferences.cpp:876 -#: ../src/ui/dialog/inkscape-preferences.cpp:877 -#: ../src/ui/dialog/inkscape-preferences.cpp:898 -#: ../src/ui/dialog/inkscape-preferences.cpp:899 -msgid "Grid line color" -msgstr "Kolor linii siatki" +#: ../src/dialogs/clonetiler.cpp:187 +msgid "Object has no tiled clones." +msgstr "Obiekt nie posiada sąsiadujących klonów" -#: ../src/display/canvas-axonomgrid.cpp:404 ../src/display/canvas-grid.cpp:668 -msgid "Color of grid lines" -msgstr "Kolor linii siatki" +#: ../src/dialogs/clonetiler.cpp:990 +msgid "Select one object whose tiled clones to unclump." +msgstr "Wybierz jeden obiekt, którego sąsiadujące klony mają zostać rozproszone" -#: ../src/display/canvas-axonomgrid.cpp:409 ../src/display/canvas-grid.cpp:673 -msgid "Ma_jor grid line color:" -msgstr "Kolor _linii głównych:" +#: ../src/dialogs/clonetiler.cpp:1012 +msgid "Unclump tiled clones" +msgstr "Rozprosz sąsiadujące klony" -#: ../src/display/canvas-axonomgrid.cpp:409 ../src/display/canvas-grid.cpp:673 -#: ../src/ui/dialog/inkscape-preferences.cpp:878 -#: ../src/ui/dialog/inkscape-preferences.cpp:879 -#: ../src/ui/dialog/inkscape-preferences.cpp:900 -#: ../src/ui/dialog/inkscape-preferences.cpp:901 -msgid "Major grid line color" -msgstr "Kolor linii głównych" +#: ../src/dialogs/clonetiler.cpp:1042 +msgid "Select one object whose tiled clones to remove." +msgstr "Wybierz jeden obiekt, który posiada sąsiadujące kopie do usunięcia" -#: ../src/display/canvas-axonomgrid.cpp:410 ../src/display/canvas-grid.cpp:674 -msgid "Color of the major (highlighted) grid lines" -msgstr "Kolor głównych (podświetlonych) linii siatki" +#: ../src/dialogs/clonetiler.cpp:1065 +msgid "Delete tiled clones" +msgstr "Usuń sąsiadujące klony" -#: ../src/display/canvas-axonomgrid.cpp:414 ../src/display/canvas-grid.cpp:678 -msgid "_Major grid line every:" -msgstr "_Rozstaw linii głównych:" +#: ../src/dialogs/clonetiler.cpp:1111 +#: ../src/selection-chemistry.cpp:1845 +msgid "Select an object to clone." +msgstr "Wybierz obiekt do klonowania" -#: ../src/display/canvas-axonomgrid.cpp:414 ../src/display/canvas-grid.cpp:678 -msgid "lines" -msgstr "linii" +#: ../src/dialogs/clonetiler.cpp:1117 +msgid "If you want to clone several objects, group them and clone the group." +msgstr "Jeśli chcesz sklonować kilka obiektów, zgrupuj je najpierw, a następnie sklonuj grupę" -#: ../src/display/canvas-grid.cpp:40 -msgid "Rectangular grid" -msgstr "Siatka prostokątna" +#: ../src/dialogs/clonetiler.cpp:1126 +msgid "Creating tiled clones..." +msgstr "Tworzenie sąsiadujących klonów..." -#: ../src/display/canvas-grid.cpp:41 -msgid "Axonometric grid" -msgstr "Siatka aksonometryczna" +#: ../src/dialogs/clonetiler.cpp:1531 +msgid "Create tiled clones" +msgstr "Utwórz rozmieszczone klony" -#: ../src/display/canvas-grid.cpp:259 -msgid "Create new grid" -msgstr "Utwórz nową siatkę" +#: ../src/dialogs/clonetiler.cpp:1722 +msgid "Per row:" +msgstr "Wiersze" -#: ../src/display/canvas-grid.cpp:325 -msgid "_Enabled" -msgstr "_Włączone" +#: ../src/dialogs/clonetiler.cpp:1735 +msgid "Per column:" +msgstr "Kolumny" -#: ../src/display/canvas-grid.cpp:326 -msgid "" -"Determines whether to snap to this grid or not. Can be 'on' for invisible " -"grids." -msgstr "" -"Włącza/wyłącza przyciąganie do tej siatki. Może być włączone także dla " -"niewidocznej siatki." +#: ../src/dialogs/clonetiler.cpp:1743 +msgid "Randomize:" +msgstr "Losowo" -#: ../src/display/canvas-grid.cpp:329 -msgid "_Visible" -msgstr "_Widoczna" +#: ../src/dialogs/clonetiler.cpp:1904 +msgid "_Symmetry" +msgstr "_Symetria" -#: ../src/display/canvas-grid.cpp:330 -msgid "" -"Determines whether the grid is displayed or not. Objects are still snapped " -"to invisible grids." -msgstr "" -"Włącza/wyłącza wyświetlanie siatki. Gdy siatka jest niewidoczna, obiekty są " -"cały czas przyciągane." +#. TRANSLATORS: For the following 17 symmetry groups, see +#. * http://www.bib.ulb.ac.be/coursmath/doc/17.htm (visual examples); +#. * http://www.clarku.edu/~djoyce/wallpaper/seventeen.html (English vocabulary); or +#. * http://membres.lycos.fr/villemingerard/Geometri/Sym1D.htm (French vocabulary). +#. +#: ../src/dialogs/clonetiler.cpp:1912 +msgid "Select one of the 17 symmetry groups for the tiling" +msgstr "Wybierz jedną z 17 grup symetrii do klonowania" -#: ../src/display/canvas-grid.cpp:662 -msgid "Spacing _X:" -msgstr "Odstępy _X:" +#. TRANSLATORS: "translation" means "shift" / "displacement" here. +#: ../src/dialogs/clonetiler.cpp:1923 +msgid "P1: simple translation" +msgstr "P1: proste przesunięcie" -#: ../src/display/canvas-grid.cpp:662 -#: ../src/ui/dialog/inkscape-preferences.cpp:873 -msgid "Distance between vertical grid lines" -msgstr "Odległość pomiędzy pionowymi liniami siatki" +#: ../src/dialogs/clonetiler.cpp:1924 +msgid "P2: 180° rotation" +msgstr "P2: obrót o 180°" -#: ../src/display/canvas-grid.cpp:664 -#: ../src/ui/dialog/inkscape-preferences.cpp:874 -msgid "Distance between horizontal grid lines" -msgstr "Odległość pomiędzy poziomymi liniami siatki" +#: ../src/dialogs/clonetiler.cpp:1925 +msgid "PM: reflection" +msgstr "PM: odbicie" -#: ../src/display/canvas-grid.cpp:697 -msgid "_Show dots instead of lines" -msgstr "_Wyświetlaj kropki zamiast linii" +#. TRANSLATORS: "glide reflection" is a reflection and a translation combined. +#. For more info, see http://mathforum.org/sum95/suzanne/symsusan.html +#: ../src/dialogs/clonetiler.cpp:1928 +msgid "PG: glide reflection" +msgstr "PG: odbicie z przesunięciem" -#: ../src/display/canvas-grid.cpp:698 -#: ../src/ui/dialog/inkscape-preferences.cpp:883 -msgid "If set, displays dots at gridpoints instead of gridlines" -msgstr "" -"Jeśli opcja ta zostanie włączona siatka będzie wyświetlana za pomocą kropek" +#: ../src/dialogs/clonetiler.cpp:1929 +msgid "CM: reflection + glide reflection" +msgstr "CM: odbicie + odbicie z przesunięciem" -#: ../src/document.cpp:415 -#, c-format -msgid "New document %d" -msgstr "Nowy dokument %d" +#: ../src/dialogs/clonetiler.cpp:1930 +msgid "PMM: reflection + reflection" +msgstr "PMM: odbicie w obu kierunkach" -#: ../src/document.cpp:447 -#, c-format -msgid "Memory document %d" -msgstr "Dokument w pamięci %d" +#: ../src/dialogs/clonetiler.cpp:1931 +msgid "PMG: reflection + 180° rotation" +msgstr "PMG: odbicie + obrót o 180°" -#: ../src/document.cpp:603 -#, c-format -msgid "Unnamed document %d" -msgstr "Dokument bez nazwy %d" +#: ../src/dialogs/clonetiler.cpp:1932 +msgid "PGG: glide reflection + 180° rotation" +msgstr "PGG: odbicie z przesunięciem + obrót o 180°" -#. We hit green anchor, closing Green-Blue-Red -#: ../src/draw-context.cpp:448 -msgid "Path is closed." -msgstr "Ścieżka jest zamknięta" +#: ../src/dialogs/clonetiler.cpp:1933 +msgid "CMM: reflection + reflection + 180° rotation" +msgstr "CMM: odbicie + odbicie + obrót o 180°" -#. We hit bot start and end of single curve, closing paths -#: ../src/draw-context.cpp:463 -msgid "Closing path." -msgstr "Zamknięcie ścieżki" +#: ../src/dialogs/clonetiler.cpp:1934 +msgid "P4: 90° rotation" +msgstr "P4: obrót o 90°" -#: ../src/draw-context.cpp:577 -msgid "Draw path" -msgstr "Rysuj ścieżkę" +#: ../src/dialogs/clonetiler.cpp:1935 +msgid "P4M: 90° rotation + 45° reflection" +msgstr "P4M: obrót o 90° + odbicie 45°" -#. alpha of color under cursor, to show in the statusbar -#. locale-sensitive printf is OK, since this goes to the UI, not into SVG -#: ../src/dropper-context.cpp:292 -#, c-format -msgid " alpha %.3g" -msgstr " przezroczystość %.3g" +#: ../src/dialogs/clonetiler.cpp:1936 +msgid "P4G: 90° rotation + 90° reflection" +msgstr "P4G: obrót o 90° + odbicie 90°" -#. where the color is picked, to show in the statusbar -#: ../src/dropper-context.cpp:294 -#, c-format -msgid ", averaged with radius %d" -msgstr ", wartość uśredniona w promieniu %d" +#: ../src/dialogs/clonetiler.cpp:1937 +msgid "P3: 120° rotation" +msgstr "P3: obrót o 120°" -#: ../src/dropper-context.cpp:294 -msgid " under cursor" -msgstr " - kolor wskazany przez próbnik" +#: ../src/dialogs/clonetiler.cpp:1938 +msgid "P31M: reflection + 120° rotation, dense" +msgstr "P31M: odbicie + obrót o 120°, gęsto" -#. message, to show in the statusbar -#: ../src/dropper-context.cpp:296 -msgid "Release mouse to set color." -msgstr "Zwolnij przycisk myszy, aby ustawić kolor" +#: ../src/dialogs/clonetiler.cpp:1939 +msgid "P3M1: reflection + 120° rotation, sparse" +msgstr "P3M1: odbicie + obrót o 120°, rzadko" -#: ../src/dropper-context.cpp:296 ../src/tools-switch.cpp:229 -msgid "" -"Click to set fill, Shift+click to set stroke; drag to " -"average color in area; with Alt to pick inverse color; Ctrl+C " -"to copy the color under mouse to clipboard" -msgstr "" -"Kliknij, aby ustawić kolor wypełnienia, Shift + kliknięcie - " -"kolor konturu; wykonaj ciągnięcie, aby pobrać uśredniony kolor z " -"obszaru, z Alt, aby pobrać odwrotność koloru; Ctrl + C, aby " -"skopiować wskazany próbnikiem kolor do schowka" +#: ../src/dialogs/clonetiler.cpp:1940 +msgid "P6: 60° rotation" +msgstr "P6: obrót o 60°" -#: ../src/dropper-context.cpp:329 -msgid "Set picked color" -msgstr "Ustaw pobrany kolor" +#: ../src/dialogs/clonetiler.cpp:1941 +msgid "P6M: reflection + 60° rotation" +msgstr "P6M: odbicie + obrót o 60°" -#: ../src/dyna-draw-context.cpp:625 -msgid "" -"Guide path selected; start drawing along the guide with Ctrl" -msgstr "" -"Wybrano ścieżkę prowadnicy. Rozpocznij rysowanie wzdłuż prowadnicy " -"używając Ctrl" +#: ../src/dialogs/clonetiler.cpp:1969 +msgid "S_hift" +msgstr "_Przesunięcie" -#: ../src/dyna-draw-context.cpp:627 -msgid "Select a guide path to track with Ctrl" -msgstr "Wybierz ścieżkę prowadnicy do śledzenia z Ctrl" +#. TRANSLATORS: "shift" means: the tiles will be shifted (offset) horizontally by this amount +#: ../src/dialogs/clonetiler.cpp:1979 +#, no-c-format +msgid "Shift X:" +msgstr "Przesunięcie X:" -#: ../src/dyna-draw-context.cpp:732 -msgid "Tracking: connection to guide path lost!" -msgstr "Śledzenie: Połączenie ze ścieżką prowadnicy zostało utracone!" +#: ../src/dialogs/clonetiler.cpp:1987 +#, no-c-format +msgid "Horizontal shift per row (in % of tile width)" +msgstr "Przesunięcie w poziomie dla każdego wiersza o określoną tutaj wartość procentową wysokości elementu" -#: ../src/dyna-draw-context.cpp:732 -msgid "Tracking a guide path" -msgstr "Śledzi ścieżkę prowadzącą" +#: ../src/dialogs/clonetiler.cpp:1995 +#, no-c-format +msgid "Horizontal shift per column (in % of tile width)" +msgstr "Przesunięcie w poziomie dla każdej kolumny o określoną tutaj wartość procentową wysokości elementu" -#: ../src/dyna-draw-context.cpp:735 -msgid "Drawing a calligraphic stroke" -msgstr "Rysuje linie kaligraficzne" +#: ../src/dialogs/clonetiler.cpp:2002 +msgid "Randomize the horizontal shift by this percentage" +msgstr "Losowa zmiana przesunięcia poziomego o wybraną wartość procentową" -#: ../src/dyna-draw-context.cpp:1016 -msgid "Draw calligraphic stroke" -msgstr "Rysuj linie kaligraficzne" +#. TRANSLATORS: "shift" means: the tiles will be shifted (offset) vertically by this amount +#: ../src/dialogs/clonetiler.cpp:2012 +#, no-c-format +msgid "Shift Y:" +msgstr "Przesunięcie Y:" -#: ../src/eraser-context.cpp:532 -#, fuzzy -msgid "Drawing an eraser stroke" -msgstr "Rysuje linie kaligraficzne" +#: ../src/dialogs/clonetiler.cpp:2020 +#, no-c-format +msgid "Vertical shift per row (in % of tile height)" +msgstr "Przesunięcie w pionie dla każdego wiersza o określoną tutaj wartość procentową wysokości elementu" -#: ../src/eraser-context.cpp:839 -#, fuzzy -msgid "Draw eraser stroke" -msgstr "Rysuj linie kaligraficzne" +#: ../src/dialogs/clonetiler.cpp:2028 +#, no-c-format +msgid "Vertical shift per column (in % of tile height)" +msgstr "Przesunięcie w pionie dla każdej kolumny o określoną tutaj wartość procentową wysokości elementu" -#: ../src/event-context.cpp:595 -msgid "Space+mouse drag to pan canvas" -msgstr "Klawisz spacji + ciągnięcie myszą przemieszcza obszar roboczy" +#: ../src/dialogs/clonetiler.cpp:2035 +msgid "Randomize the vertical shift by this percentage" +msgstr "Losowa zmiana przesunięcia pionowego o określoną tutaj wartość procentową" -#: ../src/event-log.cpp:37 -msgid "[Unchanged]" -msgstr "[Nie zmieniono]" +#: ../src/dialogs/clonetiler.cpp:2043 +#: ../src/dialogs/clonetiler.cpp:2191 +msgid "Exponent:" +msgstr "Wykładnik:" -#. Edit -#: ../src/event-log.cpp:264 ../src/event-log.cpp:267 ../src/verbs.cpp:2193 -msgid "_Undo" -msgstr "Wy_cofaj" +#: ../src/dialogs/clonetiler.cpp:2050 +msgid "Whether rows are spaced evenly (1), converge (<1) or diverge (>1)" +msgstr "Rozmieszczenie wierszy równomierne (1), zbieżne (<1) lub rozbieżne (>1)" -#: ../src/event-log.cpp:274 ../src/event-log.cpp:278 ../src/verbs.cpp:2195 -msgid "_Redo" -msgstr "P_rzywróć" +#: ../src/dialogs/clonetiler.cpp:2057 +msgid "Whether columns are spaced evenly (1), converge (<1) or diverge (>1)" +msgstr "Rozmieszczenie kolumn równomierne (1), zbieżne (<1) lub rozbieżne (>1)" -#: ../src/extension/dependency.cpp:261 -msgid "Dependency:" -msgstr "Zależności:" +#. TRANSLATORS: "Alternate" is a verb here +#: ../src/dialogs/clonetiler.cpp:2065 +#: ../src/dialogs/clonetiler.cpp:2235 +#: ../src/dialogs/clonetiler.cpp:2312 +#: ../src/dialogs/clonetiler.cpp:2388 +#: ../src/dialogs/clonetiler.cpp:2437 +#: ../src/dialogs/clonetiler.cpp:2568 +msgid "Alternate:" +msgstr "Przesunięcie przemienne:" -#: ../src/extension/dependency.cpp:262 -msgid " type: " -msgstr " typ: " +#: ../src/dialogs/clonetiler.cpp:2071 +msgid "Alternate the sign of shifts for each row" +msgstr "Przesunięcie będzie realizowane w co drugim wierszu" -#: ../src/extension/dependency.cpp:263 -msgid " location: " -msgstr " położenie: " +#: ../src/dialogs/clonetiler.cpp:2076 +msgid "Alternate the sign of shifts for each column" +msgstr "Przesunięcie będzie realizowane w co drugiej kolumnie" -#: ../src/extension/dependency.cpp:264 -msgid " string: " -msgstr " ciąg znaków: " +#. TRANSLATORS: "Cumulate" is a verb here +#: ../src/dialogs/clonetiler.cpp:2083 +#: ../src/dialogs/clonetiler.cpp:2253 +#: ../src/dialogs/clonetiler.cpp:2330 +msgid "Cumulate:" +msgstr "Kumulacja przesunięć:" -#: ../src/extension/dependency.cpp:267 -msgid " description: " -msgstr " opis: " +#: ../src/dialogs/clonetiler.cpp:2089 +msgid "Cumulate the shifts for each row" +msgstr "Przesunięcie każdego wiersza będzie zwiększało się przyjmując wartość liczoną określonym powyżej współczynnikiem od sumy wysokości poprzedzających klonów" -#: ../src/extension/effect.cpp:35 -msgid " (No preferences)" -msgstr "(Brak ustawień)" +#: ../src/dialogs/clonetiler.cpp:2094 +msgid "Cumulate the shifts for each column" +msgstr "Przesunięcie każdej kolumny będzie zwiększało się przyjmując wartość liczoną określonym powyżej współczynnikiem od sumy szerokości poprzedzających klonów" -#. This is some filler text, needs to change before relase -#: ../src/extension/error-file.cpp:53 -msgid "" -"One or more extensions failed to load\n" -"\n" -"The failed extensions have been skipped. Inkscape will continue to run " -"normally but those extensions will be unavailable. For details to " -"troubleshoot this problem, please refer to the error log located at: " -msgstr "" -"Nie udało się wczytać jednego lub " -"więcej rozszerzeń\n" -"\n" -"Niewłaściwe rozszerzenia zostały pominięte. Inkscape zostanie uruchomiony " -"normalnie, ale rozszerzenia te nie będą dostępne. Szczegóły pomocne w " -"rozwiązaniu tego problemu zostały zapisane w dzienniku błędów zlokalizowanym " -"w: " +#. TRANSLATORS: "Cumulate" is a verb here +#: ../src/dialogs/clonetiler.cpp:2101 +msgid "Exclude tile:" +msgstr "Pominięcie rozmiarów obiektu:" -#. This is some filler text, needs to change before relase -#: ../src/extension/error-file.cpp:62 -msgid "Show dialog on startup" -msgstr "Wyświetlaj to okno podczas uruchamiania programu" +#: ../src/dialogs/clonetiler.cpp:2107 +msgid "Exclude tile height in shift" +msgstr "Klonowane obiekty będą rozmieszczane bez uwzględniania wysokości obiektu, z przesunięciem określonym powyżej" -#: ../src/extension/execution-env.cpp:134 -#, c-format -msgid "'%s' working, please wait..." -msgstr "\"%s\" pracuje. Proszę czekać..." +#: ../src/dialogs/clonetiler.cpp:2112 +msgid "Exclude tile width in shift" +msgstr "Klonowane obiekty będą rozmieszczane bez uwzględniania szerokości obiektu, z przesunięciem określonym powyżej" -#. static int i = 0; -#. std::cout << "Checking module[" << i++ << "]: " << name << std::endl; -#: ../src/extension/extension.cpp:252 -msgid "" -" This is caused by an improper .inx file for this extension. An improper ." -"inx file could have been caused by a faulty installation of Inkscape." -msgstr "" -" Spowodowane jest to niewłaściwym plikiem .inx dla tego rozszerzenia. " -"Przyczyną może być niewłaściwa instalacja Inkscape." +#: ../src/dialogs/clonetiler.cpp:2121 +msgid "Sc_ale" +msgstr "Ska_lowanie" -#: ../src/extension/extension.cpp:255 -msgid "an ID was not defined for it." -msgstr "nie zdefiniowano dla niego identyfikatora ID." +#: ../src/dialogs/clonetiler.cpp:2129 +msgid "Scale X:" +msgstr "Skalowanie X:" -#: ../src/extension/extension.cpp:259 -msgid "there was no name defined for it." -msgstr "nie zdefiniowano dla niego nazwy." +#: ../src/dialogs/clonetiler.cpp:2137 +#, no-c-format +msgid "Horizontal scale per row (in % of tile width)" +msgstr "Skalowanie w poziomie dla każdego wiersza o określoną tutaj wartość procentową szerokości elementu" -#: ../src/extension/extension.cpp:263 -msgid "the XML description of it got lost." -msgstr "jego opis w formacie XML został utracony." +#: ../src/dialogs/clonetiler.cpp:2145 +#, no-c-format +msgid "Horizontal scale per column (in % of tile width)" +msgstr "Skalowanie w poziomie dla każdej kolumny o określoną tutaj wartość procentową szerokości elementu" -#: ../src/extension/extension.cpp:267 -msgid "no implementation was defined for the extension." -msgstr "nie zdefiniowano obsługi dla tego rozszerzenia." +#: ../src/dialogs/clonetiler.cpp:2152 +msgid "Randomize the horizontal scale by this percentage" +msgstr "Losowa zmiana skalowania poziomego o określoną tutaj wartość procentową" -#. std::cout << "Failed: " << *(_deps[i]) << std::endl; -#: ../src/extension/extension.cpp:274 -msgid "a dependency was not met." -msgstr "nie zostały spełnione zależności." +#: ../src/dialogs/clonetiler.cpp:2160 +msgid "Scale Y:" +msgstr "Skalowanie Y:" -#: ../src/extension/extension.cpp:294 -msgid "Extension \"" -msgstr "Rozszerzenie \"" +#: ../src/dialogs/clonetiler.cpp:2168 +#, no-c-format +msgid "Vertical scale per row (in % of tile height)" +msgstr "Skalowanie w pionie dla każdego wiersza o określoną tutaj wartość procentową szerokości elementu" -#: ../src/extension/extension.cpp:294 -msgid "\" failed to load because " -msgstr "\" nie zostało załadowane, ponieważ " +#: ../src/dialogs/clonetiler.cpp:2176 +#, no-c-format +msgid "Vertical scale per column (in % of tile height)" +msgstr "Skalowanie w pionie dla każdej kolumny o określoną tutaj wartość procentową szerokości elementu" -#: ../src/extension/extension.cpp:625 -#, c-format -msgid "Could not create extension error log file '%s'" -msgstr "Nie udało się utworzyć pliku dziennika zdarzeń dla rozszerzenia \"%s\"" +#: ../src/dialogs/clonetiler.cpp:2183 +msgid "Randomize the vertical scale by this percentage" +msgstr "Losowa zmiana skalowania pionowego o określoną tutaj wartość procentową" -#: ../src/extension/extension.cpp:723 -msgid "Name:" -msgstr "Nazwa:" +#: ../src/dialogs/clonetiler.cpp:2198 +msgid "Whether row scaling is uniform (1), converge (<1) or diverge (>1)" +msgstr "Rozmieszczenie wierszy równomierne (1), zbieżne (<1) lub rozbieżne (>1)" -#: ../src/extension/extension.cpp:724 -msgid "ID:" -msgstr "ID:" +#: ../src/dialogs/clonetiler.cpp:2205 +msgid "Whether column scaling is uniform (1), converge (<1) or diverge (>1)" +msgstr "Rozmieszczenie kolumn równomierne (1), zbieżne (<1) lub rozbieżne (>1)" -#: ../src/extension/extension.cpp:725 -msgid "State:" -msgstr "Stan:" +#: ../src/dialogs/clonetiler.cpp:2213 +msgid "Base:" +msgstr "Podstawa:" -#: ../src/extension/extension.cpp:725 -msgid "Loaded" -msgstr "Załadowane" +#: ../src/dialogs/clonetiler.cpp:2220 +#: ../src/dialogs/clonetiler.cpp:2227 +msgid "Base for a logarithmic spiral: not used (0), converge (<1), or diverge (>1)" +msgstr "Podstawa logarytmu dla spiral logarytmicznych: nie używana (0), zbieżna (<1) lub rozbieżna (>1)" -#: ../src/extension/extension.cpp:725 -msgid "Unloaded" -msgstr "Niezaładowane" +#: ../src/dialogs/clonetiler.cpp:2241 +msgid "Alternate the sign of scales for each row" +msgstr "Skalowanie będzie realizowane w co drugim wierszu" -#: ../src/extension/extension.cpp:725 -msgid "Deactivated" -msgstr "Wyłączono" +#: ../src/dialogs/clonetiler.cpp:2246 +msgid "Alternate the sign of scales for each column" +msgstr "Skalowanie będzie realizowane co drugiej kolumnie" -#: ../src/extension/extension.cpp:756 -msgid "" -"Currently there is no help available for this Extension. Please look on the " -"Inkscape website or ask on the mailing lists if you have questions regarding " -"this extension." -msgstr "" -"Obecnie pomoc dla tego rozszerzenia jest niedostępna. Jeśli masz jakieś " -"pytania dotyczące tego rozszerzenia poszukaj odpowiedzi na witrynie Inkscape " -"lub zadaj pytanie na liście mailingowej." +#: ../src/dialogs/clonetiler.cpp:2259 +msgid "Cumulate the scales for each row" +msgstr "Skalowanie każdego wiersza będzie zwiększało się przyjmując wartość liczoną określonym powyżej współczynnikiem od sumy wysokości poprzedzających klonów" -#: ../src/extension/implementation/script.cpp:1055 -msgid "" -"Inkscape has received additional data from the script executed. The script " -"did not return an error, but this may indicate the results will not be as " -"expected." -msgstr "" -"Program Inkscape otrzymał dodatkowe dane od uruchomionego skryptu. Skrypt " -"nie zgłosił błędu, jednak możliwe, że wynik jego działania jest inny niż " -"spodziewany." +#: ../src/dialogs/clonetiler.cpp:2264 +msgid "Cumulate the scales for each column" +msgstr "Skalowanie każdej kolumny będzie zwiększało się przyjmując wartość liczoną określonym powyżej współczynnikiem od sumy wysokości poprzedzających klonów" -#: ../src/extension/init.cpp:282 -msgid "Null external module directory name. Modules will not be loaded." -msgstr "" -"Pusta nazwa katalogu modułów zewnętrznych. Moduły nie zostaną załadowane" +#: ../src/dialogs/clonetiler.cpp:2273 +msgid "_Rotation" +msgstr "_Obrót" -#: ../src/extension/init.cpp:296 -#: ../src/extension/internal/filter/filter-file.cpp:56 -#, c-format -msgid "" -"Modules directory (%s) is unavailable. External modules in that directory " -"will not be loaded." -msgstr "" -"Katalog modułów (%s) jest niedostępny. Moduły zewnętrzne z tego katalogu " -"nie zostaną załadowane" +#: ../src/dialogs/clonetiler.cpp:2281 +msgid "Angle:" +msgstr "Kąt:" -#: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:38 -msgid "Adaptive Threshold" -msgstr "Inteligentny próg" +#: ../src/dialogs/clonetiler.cpp:2289 +#, no-c-format +msgid "Rotate tiles by this angle for each row" +msgstr "Kąt o jaki zostaną obrócone elementy układu w każdym wierszu" -#: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:40 -#: ../src/extension/internal/bitmap/raise.cpp:41 -#: ../src/extension/internal/bitmap/sample.cpp:40 -#: ../src/extension/internal/bluredge.cpp:134 ../src/libgdl/gdl-dock.c:190 -#: ../src/libgdl/gdl-dock-placeholder.c:169 -#: ../src/live_effects/lpe-bendpath.cpp:58 -#: ../src/live_effects/lpe-patternalongpath.cpp:64 -#: ../src/widgets/toolbox.cpp:2396 ../src/widgets/toolbox.cpp:3241 -msgid "Width" -msgstr "Szerokość" +#: ../src/dialogs/clonetiler.cpp:2297 +#, no-c-format +msgid "Rotate tiles by this angle for each column" +msgstr "Kąt o jaki zostaną obrócone elementy układu w każdej kolumnie" -#: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:41 -#: ../src/extension/internal/bitmap/raise.cpp:42 -#: ../src/extension/internal/bitmap/sample.cpp:41 ../src/libgdl/gdl-dock.c:198 -#: ../src/libgdl/gdl-dock-placeholder.c:177 ../src/widgets/toolbox.cpp:2413 -msgid "Height" -msgstr "Wysokość" +#: ../src/dialogs/clonetiler.cpp:2304 +msgid "Randomize the rotation angle by this percentage" +msgstr "Losowa zmiana kąta obrotu o określoną tutaj wartość procentową" -#: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:42 -#: ../src/filter-enums.cpp:32 -msgid "Offset" -msgstr "Przesunięcie" +#: ../src/dialogs/clonetiler.cpp:2318 +msgid "Alternate the rotation direction for each row" +msgstr "Obrót będzie realizowany w co drugim wierszu" -#: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:46 -#: ../src/extension/internal/bitmap/addNoise.cpp:57 -#: ../src/extension/internal/bitmap/blur.cpp:44 -#: ../src/extension/internal/bitmap/channel.cpp:63 -#: ../src/extension/internal/bitmap/charcoal.cpp:44 -#: ../src/extension/internal/bitmap/colorize.cpp:55 -#: ../src/extension/internal/bitmap/contrast.cpp:42 -#: ../src/extension/internal/bitmap/convolve.cpp:57 -#: ../src/extension/internal/bitmap/cycleColormap.cpp:42 -#: ../src/extension/internal/bitmap/despeckle.cpp:40 -#: ../src/extension/internal/bitmap/edge.cpp:42 -#: ../src/extension/internal/bitmap/emboss.cpp:44 -#: ../src/extension/internal/bitmap/enhance.cpp:39 -#: ../src/extension/internal/bitmap/equalize.cpp:39 -#: ../src/extension/internal/bitmap/gaussianBlur.cpp:44 -#: ../src/extension/internal/bitmap/implode.cpp:42 -#: ../src/extension/internal/bitmap/levelChannel.cpp:70 -#: ../src/extension/internal/bitmap/level.cpp:48 -#: ../src/extension/internal/bitmap/medianFilter.cpp:42 -#: ../src/extension/internal/bitmap/modulate.cpp:47 -#: ../src/extension/internal/bitmap/negate.cpp:40 -#: ../src/extension/internal/bitmap/normalize.cpp:40 -#: ../src/extension/internal/bitmap/oilPaint.cpp:42 -#: ../src/extension/internal/bitmap/opacity.cpp:43 -#: ../src/extension/internal/bitmap/raise.cpp:47 -#: ../src/extension/internal/bitmap/reduceNoise.cpp:45 -#: ../src/extension/internal/bitmap/sample.cpp:45 -#: ../src/extension/internal/bitmap/shade.cpp:47 -#: ../src/extension/internal/bitmap/sharpen.cpp:44 -#: ../src/extension/internal/bitmap/solarize.cpp:42 -#: ../src/extension/internal/bitmap/spread.cpp:42 -#: ../src/extension/internal/bitmap/swirl.cpp:42 -#: ../src/extension/internal/bitmap/threshold.cpp:43 -#: ../src/extension/internal/bitmap/unsharpmask.cpp:49 -#: ../src/extension/internal/bitmap/wave.cpp:44 -msgid "Raster" -msgstr "Grafika rastrowa" +#: ../src/dialogs/clonetiler.cpp:2323 +msgid "Alternate the rotation direction for each column" +msgstr "Obrót będzie realizowany w co drugiej kolumnie" -#: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:48 -msgid "Apply adaptive thresholding to selected bitmap(s)." -msgstr "Stosuje inteligentne progowanie do zaznaczonych bitmap(y)" +#: ../src/dialogs/clonetiler.cpp:2336 +msgid "Cumulate the rotation for each row" +msgstr "Kąt obrotu klonów w każdym wierszu będzie zwiększał się kumulując określoną powyżej wartość kąta w zależności od ilości klonów" -#: ../src/extension/internal/bitmap/addNoise.cpp:44 -msgid "Add Noise" -msgstr "Dodaj szum" +#: ../src/dialogs/clonetiler.cpp:2341 +msgid "Cumulate the rotation for each column" +msgstr "Kąt obrotu klonów w każdej kolumnie będzie zwiększał się kumulując określoną powyżej wartość kąta w zależności od ilości klonów" -#: ../src/extension/internal/bitmap/addNoise.cpp:47 -msgid "Uniform Noise" -msgstr "Szum jednolity" +#: ../src/dialogs/clonetiler.cpp:2350 +msgid "_Blur & opacity" +msgstr "_Rozmycie i krycie" -#: ../src/extension/internal/bitmap/addNoise.cpp:48 -msgid "Gaussian Noise" -msgstr "Szum gaussowski" +#: ../src/dialogs/clonetiler.cpp:2359 +msgid "Blur:" +msgstr "Rozmycie:" -#: ../src/extension/internal/bitmap/addNoise.cpp:49 -msgid "Multiplicative Gaussian Noise" -msgstr "Szum gaussowski wielokrotny" +#: ../src/dialogs/clonetiler.cpp:2366 +msgid "Blur tiles by this percentage for each row" +msgstr "Rozmycie elementów w każdym wierszu o określoną tutaj wartość procentową" -#: ../src/extension/internal/bitmap/addNoise.cpp:50 -msgid "Impulse Noise" -msgstr "Szum impulsowy" +#: ../src/dialogs/clonetiler.cpp:2373 +msgid "Blur tiles by this percentage for each column" +msgstr "Rozmycie elementów w każdej kolumnie o określoną tutaj wartość procentową" -#: ../src/extension/internal/bitmap/addNoise.cpp:51 -msgid "Laplacian Noise" -msgstr "Szum Laplace'a" +#: ../src/dialogs/clonetiler.cpp:2380 +msgid "Randomize the tile blur by this percentage" +msgstr "Losowa zmiana rozmycia elementów o określoną tutaj wartość procentową" -#: ../src/extension/internal/bitmap/addNoise.cpp:52 -msgid "Poisson Noise" -msgstr "Szum Poissona" +#: ../src/dialogs/clonetiler.cpp:2394 +msgid "Alternate the sign of blur change for each row" +msgstr "Jeśli opcja ta zostanie zaznaczona, rozmycie będzie realizowane w co drugim wierszu" -#: ../src/extension/internal/bitmap/addNoise.cpp:59 -msgid "Add random noise to selected bitmap(s)." -msgstr "Dodaj losowy szum do zaznaczonych bitmap(y)," +#: ../src/dialogs/clonetiler.cpp:2399 +msgid "Alternate the sign of blur change for each column" +msgstr "Rozmycie będzie realizowane w co drugiej kolumnie" -#: ../src/extension/internal/bitmap/blur.cpp:37 -msgid "Blur" -msgstr "Rozmycie" +#: ../src/dialogs/clonetiler.cpp:2408 +msgid "Fade out:" +msgstr "Krycie:" -#: ../src/extension/internal/bitmap/blur.cpp:39 -#: ../src/extension/internal/bitmap/charcoal.cpp:39 -#: ../src/extension/internal/bitmap/edge.cpp:38 -#: ../src/extension/internal/bitmap/emboss.cpp:39 -#: ../src/extension/internal/bitmap/medianFilter.cpp:38 -#: ../src/extension/internal/bitmap/oilPaint.cpp:38 -#: ../src/extension/internal/bitmap/sharpen.cpp:39 -#: ../src/extension/internal/bitmap/unsharpmask.cpp:42 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2251 -msgid "Radius" -msgstr "Promień" +#: ../src/dialogs/clonetiler.cpp:2415 +msgid "Decrease tile opacity by this percentage for each row" +msgstr "Zmniejszenie krycia elementów w każdym wierszu o określoną tutaj wartość procentową" -#: ../src/extension/internal/bitmap/blur.cpp:40 -#: ../src/extension/internal/bitmap/charcoal.cpp:40 -#: ../src/extension/internal/bitmap/emboss.cpp:40 -#: ../src/extension/internal/bitmap/gaussianBlur.cpp:40 -#: ../src/extension/internal/bitmap/sharpen.cpp:40 -#: ../src/extension/internal/bitmap/unsharpmask.cpp:43 -msgid "Sigma" -msgstr "Sigma" +#: ../src/dialogs/clonetiler.cpp:2422 +msgid "Decrease tile opacity by this percentage for each column" +msgstr "Zmniejszenie krycia elementów w każdej kolumnie o określoną tutaj wartość procentową" -#: ../src/extension/internal/bitmap/blur.cpp:46 -msgid "Blur selected bitmap(s)" -msgstr "Rozmyj zaznaczone bitmapy(ę)" +#: ../src/dialogs/clonetiler.cpp:2429 +msgid "Randomize the tile opacity by this percentage" +msgstr "Losowa zmiana krycia elementów o określoną tutaj wartość procentową" -#: ../src/extension/internal/bitmap/channel.cpp:47 -#: ../src/extension/internal/bitmap/levelChannel.cpp:53 -msgid "Channel" -msgstr "Kanał" +#: ../src/dialogs/clonetiler.cpp:2443 +msgid "Alternate the sign of opacity change for each row" +msgstr "Zmiana krycia elementów będzie realizowana w co drugim wierszu" -#: ../src/extension/internal/bitmap/channel.cpp:49 -msgid "Layer" -msgstr "Warstwa" +#: ../src/dialogs/clonetiler.cpp:2448 +msgid "Alternate the sign of opacity change for each column" +msgstr "Zmiana krycia elementów będzie realizowana w co drugiej kolumnie" -#: ../src/extension/internal/bitmap/channel.cpp:50 -#: ../src/extension/internal/bitmap/levelChannel.cpp:54 -msgid "Red Channel" -msgstr "Kanał czerwony" +#: ../src/dialogs/clonetiler.cpp:2456 +msgid "Co_lor" +msgstr "_Kolor" -#: ../src/extension/internal/bitmap/channel.cpp:51 -#: ../src/extension/internal/bitmap/levelChannel.cpp:55 -msgid "Green Channel" -msgstr "Kanał zielony" +#: ../src/dialogs/clonetiler.cpp:2461 +msgid "Initial color: " +msgstr "Kolor początkowy:" -#: ../src/extension/internal/bitmap/channel.cpp:52 -#: ../src/extension/internal/bitmap/levelChannel.cpp:56 -msgid "Blue Channel" -msgstr "Kanał niebieski" +#: ../src/dialogs/clonetiler.cpp:2465 +msgid "Initial color for clones (works only if the original has unset fill or stroke)" +msgstr "Kolor początkowy tworzonych klonów (działa jedynie jeśli oryginał ma wyzerowane wypełnienie lub kontur)" -#: ../src/extension/internal/bitmap/channel.cpp:53 -#: ../src/extension/internal/bitmap/levelChannel.cpp:57 -msgid "Cyan Channel" -msgstr "Kanał cyjanowy" +#: ../src/dialogs/clonetiler.cpp:2465 +msgid "Initial color of tiled clones" +msgstr "Kolor początkowy klonów" -#: ../src/extension/internal/bitmap/channel.cpp:54 -#: ../src/extension/internal/bitmap/levelChannel.cpp:58 -msgid "Magenta Channel" -msgstr "Kanał purpurowy" +#: ../src/dialogs/clonetiler.cpp:2480 +msgid "H:" +msgstr "Barwa:" -#: ../src/extension/internal/bitmap/channel.cpp:55 -#: ../src/extension/internal/bitmap/levelChannel.cpp:59 -msgid "Yellow Channel" -msgstr "Kanał żółty" +#: ../src/dialogs/clonetiler.cpp:2487 +msgid "Change the tile hue by this percentage for each row" +msgstr "Zmiana odcienia barwy obiektu w każdym wierszu o określoną tutaj wartość procentową" -#: ../src/extension/internal/bitmap/channel.cpp:56 -#: ../src/extension/internal/bitmap/levelChannel.cpp:60 -msgid "Black Channel" -msgstr "Kanał czarny" +#: ../src/dialogs/clonetiler.cpp:2494 +msgid "Change the tile hue by this percentage for each column" +msgstr "Zmiana odcienia barwy obiektu w każdej kolumnie o określoną tutaj wartość procentową" -#: ../src/extension/internal/bitmap/channel.cpp:57 -#: ../src/extension/internal/bitmap/levelChannel.cpp:61 -msgid "Opacity Channel" -msgstr "Kanał krycia" +#: ../src/dialogs/clonetiler.cpp:2501 +msgid "Randomize the tile hue by this percentage" +msgstr "Losowa zmiana odcienia barwy o określoną tutaj wartość procentową" -#: ../src/extension/internal/bitmap/channel.cpp:58 -#: ../src/extension/internal/bitmap/levelChannel.cpp:62 -msgid "Matte Channel" -msgstr "Kanał maski" +#: ../src/dialogs/clonetiler.cpp:2510 +msgid "S:" +msgstr "Nasyc.:" -#: ../src/extension/internal/bitmap/channel.cpp:65 -msgid "Extract specific channel from image." -msgstr "Wyodrębnij określony kanał z obrazka" +#: ../src/dialogs/clonetiler.cpp:2517 +msgid "Change the color saturation by this percentage for each row" +msgstr "Zmiana nasycenia koloru obiektu w każdym wierszu o określoną tutaj wartość procentową" -#: ../src/extension/internal/bitmap/charcoal.cpp:37 -msgid "Charcoal" -msgstr "Rysunek węglem" +#: ../src/dialogs/clonetiler.cpp:2524 +msgid "Change the color saturation by this percentage for each column" +msgstr "Zmiana nasycenia koloru obiektu w każdej kolumnie o określoną tutaj wartość procentową" -#: ../src/extension/internal/bitmap/charcoal.cpp:46 -msgid "Apply charcoal stylization to selected bitmap(s)." -msgstr "Zastosuj stylizację rysunku węglem do zaznaczonej bitmap(y)" +#: ../src/dialogs/clonetiler.cpp:2531 +msgid "Randomize the color saturation by this percentage" +msgstr "Losowa zmiana nasycenia o określoną tutaj wartość procentową" -#: ../src/extension/internal/bitmap/colorize.cpp:49 -msgid "Colorize" -msgstr "Kolorowanie" +#: ../src/dialogs/clonetiler.cpp:2539 +msgid "L:" +msgstr "Jasność:" -#: ../src/extension/internal/bitmap/colorize.cpp:57 -msgid "Colorize selected bitmap(s) with specified color, using given opacity." -msgstr "Koloruj zaznaczoną bitmapę(y) wybranym kolorem z określonym kryciem" +#: ../src/dialogs/clonetiler.cpp:2546 +msgid "Change the color lightness by this percentage for each row" +msgstr "Zmiana jasności koloru obiektu w każdym wierszu o określoną tutaj wartość procentową" -#: ../src/extension/internal/bitmap/contrast.cpp:36 -msgid "Contrast" -msgstr "Kontrast" +#: ../src/dialogs/clonetiler.cpp:2553 +msgid "Change the color lightness by this percentage for each column" +msgstr "Zmiana jasności koloru obiektu w każdej kolumnie o określoną tutaj wartość procentową" -#: ../src/extension/internal/bitmap/contrast.cpp:38 -#: ../src/extension/internal/bitmap/sharpen.cpp:37 -msgid "Sharpen" -msgstr "Wyostrzanie" +#: ../src/dialogs/clonetiler.cpp:2560 +msgid "Randomize the color lightness by this percentage" +msgstr "Losowa zmiana jasności koloru o określoną tutaj wartość procentową" -#: ../src/extension/internal/bitmap/contrast.cpp:44 -msgid "Enhance intensity differences in selected bitmap(s)." -msgstr "Zmień intensywność kontrastu w zaznaczonej(ych) bitmapie(ach)" +#: ../src/dialogs/clonetiler.cpp:2574 +msgid "Alternate the sign of color changes for each row" +msgstr "Zmiana koloru będzie realizowana w co drugim wierszu" -#. TRANSLATORS: see http://docs.gimp.org/en/gimp-tool-convolve.html -#: ../src/extension/internal/bitmap/convolve.cpp:50 -msgid "Convolve" -msgstr "" +#: ../src/dialogs/clonetiler.cpp:2579 +msgid "Alternate the sign of color changes for each column" +msgstr "Zmiana koloru będzie realizowana w co drugiej kolumnie" -#: ../src/extension/internal/bitmap/convolve.cpp:52 -#: ../src/extension/internal/bitmap/reduceNoise.cpp:41 -#: ../share/extensions/lindenmayer.inx.h:6 -msgid "Order" -msgstr "Porządek" +#: ../src/dialogs/clonetiler.cpp:2587 +msgid "_Trace" +msgstr "Śl_edzenie" -#: ../src/extension/internal/bitmap/convolve.cpp:53 -#, fuzzy -msgid "Kernel Array" -msgstr "Jądro" +#: ../src/dialogs/clonetiler.cpp:2594 +msgid "Trace the drawing under the tiles" +msgstr "Śledzenie rysunku pod obiektami" -#: ../src/extension/internal/bitmap/convolve.cpp:59 -#, fuzzy -msgid "Apply Convolve Effect" -msgstr "Zastosuj nowy efekt" +#: ../src/dialogs/clonetiler.cpp:2598 +msgid "For each clone, pick a value from the drawing in that clone's location and apply it to the clone" +msgstr "Przypisanie każdemu klonowi wartości z rysunku z miejsca, w którym się znajduje" -#: ../src/extension/internal/bitmap/cycleColormap.cpp:36 -msgid "Cycle Colormap" -msgstr "Cykl palety kolorów" +#: ../src/dialogs/clonetiler.cpp:2612 +msgid "1. Pick from the drawing:" +msgstr "1. Pobierz z rysunku:" -#: ../src/extension/internal/bitmap/cycleColormap.cpp:38 -#: ../src/extension/internal/bitmap/spread.cpp:38 -#: ../src/extension/internal/bitmap/unsharpmask.cpp:44 -msgid "Amount" -msgstr "Ilość" +#: ../src/dialogs/clonetiler.cpp:2624 +msgid "Pick the visible color and opacity" +msgstr "Pobranie widocznego koloru i krycia" -#: ../src/extension/internal/bitmap/cycleColormap.cpp:44 -msgid "Cycle colormap(s) of selected bitmap(s)." -msgstr "Cykl palet(y) kolorów zaznaczonych(ej) bitmap(y)" +#: ../src/dialogs/clonetiler.cpp:2631 +#: ../src/dialogs/clonetiler.cpp:2780 +#: ../src/extension/internal/bitmap/opacity.cpp:37 +#: ../src/extension/internal/bitmap/opacity.cpp:39 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2246 +#: ../src/widgets/toolbox.cpp:3860 +msgid "Opacity" +msgstr "Krycie" -#: ../src/extension/internal/bitmap/despeckle.cpp:35 -msgid "Despeckle" -msgstr "Filtrowanie szumów" +#: ../src/dialogs/clonetiler.cpp:2632 +msgid "Pick the total accumulated opacity" +msgstr "Pobranie zsumowanego stopnia krycia" -#: ../src/extension/internal/bitmap/despeckle.cpp:42 -msgid "Reduce speckle noise of selected bitmap(s)." -msgstr "Redukuje szum plamkowy na zaznaczonych(ej) bitmapach(ie)" +#: ../src/dialogs/clonetiler.cpp:2639 +msgid "R" +msgstr "R" -#: ../src/extension/internal/bitmap/edge.cpp:36 -msgid "Edge" -msgstr "Krawędź" +#: ../src/dialogs/clonetiler.cpp:2640 +msgid "Pick the Red component of the color" +msgstr "Pobranie czerwonego składnika koloru" -#: ../src/extension/internal/bitmap/edge.cpp:44 -msgid "Hilight edges of selected bitmap(s)." -msgstr "Podświetla krawędzie zaznaczonych bitmap(y)" +#: ../src/dialogs/clonetiler.cpp:2647 +msgid "G" +msgstr "G" -#. ID -- should be unique -#: ../src/extension/internal/bitmap/emboss.cpp:37 -#: ../src/extension/internal/filter/emboss.h:21 -msgid "Emboss" -msgstr "Płaskorzeźba" +#: ../src/dialogs/clonetiler.cpp:2648 +msgid "Pick the Green component of the color" +msgstr "Pobranie zielonego składnika koloru" -#: ../src/extension/internal/bitmap/emboss.cpp:46 -msgid "Emboss selected bitmap(s) -- hilight edges with 3D effect." -msgstr "" -"Tworzy płaskorzeźbę zaznaczonych bitmap(y)- podświetla krawędzie z efektami " -"3D" +#: ../src/dialogs/clonetiler.cpp:2655 +msgid "B" +msgstr "B" -#: ../src/extension/internal/bitmap/enhance.cpp:34 -msgid "Enhance" -msgstr "Zmniejsz szum" +#: ../src/dialogs/clonetiler.cpp:2656 +msgid "Pick the Blue component of the color" +msgstr "Pobranie niebieskiego składnika koloru" -#: ../src/extension/internal/bitmap/enhance.cpp:41 -msgid "Enhance selected bitmap(s) -- minimize noise." -msgstr "Koryguje zaznaczone bitmapy(ę) - minimalizuje szum" +#. TRANSLATORS: only translate "string" in "context|string". +#. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS +#: ../src/dialogs/clonetiler.cpp:2665 +msgid "clonetiler|H" +msgstr "H" -#: ../src/extension/internal/bitmap/equalize.cpp:34 -msgid "Equalize" -msgstr "Koryguj" +#: ../src/dialogs/clonetiler.cpp:2666 +msgid "Pick the hue of the color" +msgstr "Pobranie barwy" -#: ../src/extension/internal/bitmap/equalize.cpp:41 -msgid "Equalize selected bitmap(s) -- histogram equalization." -msgstr "Koryguje zaznaczoną bitmapę(y) - histogram korekcji" +#. TRANSLATORS: only translate "string" in "context|string". +#. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS +#: ../src/dialogs/clonetiler.cpp:2675 +msgid "clonetiler|S" +msgstr "S" -#: ../src/extension/internal/bitmap/gaussianBlur.cpp:37 -#: ../src/filter-enums.cpp:28 -msgid "Gaussian Blur" -msgstr "Rozmycie gaussowskie" +#: ../src/dialogs/clonetiler.cpp:2676 +msgid "Pick the saturation of the color" +msgstr "Pobranie nasycenia koloru" -#: ../src/extension/internal/bitmap/gaussianBlur.cpp:39 -#: ../src/extension/internal/bitmap/implode.cpp:38 -#: ../src/extension/internal/bitmap/solarize.cpp:38 -msgid "Factor" -msgstr "Współczynnik" +#. TRANSLATORS: only translate "string" in "context|string". +#. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS +#: ../src/dialogs/clonetiler.cpp:2685 +msgid "clonetiler|L" +msgstr "L" -#: ../src/extension/internal/bitmap/gaussianBlur.cpp:46 -msgid "Gaussian blur selected bitmap(s)." -msgstr "Rozmycie gaussowskie zaznaczonych bitmap(y)" +#: ../src/dialogs/clonetiler.cpp:2686 +msgid "Pick the lightness of the color" +msgstr "Pobranie jasności koloru" -#: ../src/extension/internal/bitmap/implode.cpp:36 -msgid "Implode" -msgstr "Implozja" +#: ../src/dialogs/clonetiler.cpp:2696 +msgid "2. Tweak the picked value:" +msgstr "2. Korekta pobranej wartości:" -#: ../src/extension/internal/bitmap/implode.cpp:44 -msgid "Implode selected bitmap(s)." -msgstr "Wykonuje implozję zaznaczonych bitmap(y)" +#: ../src/dialogs/clonetiler.cpp:2706 +msgid "Gamma-correct:" +msgstr "Korekcja gamma:" -#: ../src/extension/internal/bitmap/levelChannel.cpp:51 -msgid "Level (with Channel)" -msgstr "Poziom (z kanałem)" +#: ../src/dialogs/clonetiler.cpp:2711 +msgid "Shift the mid-range of the picked value upwards (>0) or downwards (<0)" +msgstr "Przesunięcie zakresu środkowego pobranej wartości w górę (>0) lub w dół (<0)" -#: ../src/extension/internal/bitmap/levelChannel.cpp:64 -#: ../src/extension/internal/bitmap/level.cpp:42 -msgid "Black Point" -msgstr "Poziom czerni" +#: ../src/dialogs/clonetiler.cpp:2718 +msgid "Randomize:" +msgstr "Wartość losowa:" -#: ../src/extension/internal/bitmap/levelChannel.cpp:65 -#: ../src/extension/internal/bitmap/level.cpp:43 -msgid "White Point" -msgstr "Poziom bieli" +#: ../src/dialogs/clonetiler.cpp:2723 +msgid "Randomize the picked value by this percentage" +msgstr "Losowa zmiana pobranej wartości o wybraną wielkość procentową" -#: ../src/extension/internal/bitmap/levelChannel.cpp:66 -#: ../src/extension/internal/bitmap/level.cpp:44 -msgid "Gamma Correction" -msgstr "Korekcja gamma" +#: ../src/dialogs/clonetiler.cpp:2730 +msgid "Invert:" +msgstr "Odwróć:" -#: ../src/extension/internal/bitmap/levelChannel.cpp:72 -msgid "" -"Level the specified channel of selected bitmap(s) by scaling values falling " -"between the given ranges to the full color range." -msgstr "" -"Poziom określonego kanału zaznaczonych bitmap(y) poprzez skalowanie wartości " -"opadania pomiędzy danymi zakresami, a pełnym zakresem koloru" +#: ../src/dialogs/clonetiler.cpp:2734 +msgid "Invert the picked value" +msgstr "Odwróć pobraną wartość" -#: ../src/extension/internal/bitmap/level.cpp:40 -msgid "Level" -msgstr "Poziom" +#: ../src/dialogs/clonetiler.cpp:2740 +msgid "3. Apply the value to the clones':" +msgstr "3. Zastosuj pobraną wartość do klonów:" -#: ../src/extension/internal/bitmap/level.cpp:50 -msgid "" -"Level selected bitmap(s) by scaling values falling between the given ranges " -"to the full color range." -msgstr "" -"Poziom zaznaczonych bitmap(y) poprzez skalowanie wartości opadania pomiędzy " -"danymi zakresami, a pełnym zakresem koloru" +#: ../src/dialogs/clonetiler.cpp:2750 +msgid "Presence" +msgstr "Obecność" -#: ../src/extension/internal/bitmap/medianFilter.cpp:36 -msgid "Median Filter" -msgstr "Filtr Median" +#: ../src/dialogs/clonetiler.cpp:2753 +msgid "Each clone is created with the probability determined by the picked value in that point" +msgstr "Prawdopodobieństwo utworzenia klonu jest określane na podstawie wartości pobranej w danym punkcie" -#: ../src/extension/internal/bitmap/medianFilter.cpp:44 -msgid "" -"Filter selected bitmap(s) by replacing each pixel component with the median " -"color in a circular neighborhood." -msgstr "" -"Filtruje zaznaczone bitmapy(ę) zamieniając każdy piksel kolorem środkowym w " -"obrębie koła" +#: ../src/dialogs/clonetiler.cpp:2760 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2221 +msgid "Size" +msgstr "Rozmiar" -#: ../src/extension/internal/bitmap/modulate.cpp:39 -msgid "Modulate" -msgstr "Modulowanie" +#: ../src/dialogs/clonetiler.cpp:2763 +msgid "Each clone's size is determined by the picked value in that point" +msgstr "Rozmiar każdego klonu jest określany poprzez wartość pobraną w danym punkcie" -#: ../src/extension/internal/bitmap/modulate.cpp:41 -msgid "Brightness" -msgstr "Jasność" +#: ../src/dialogs/clonetiler.cpp:2773 +msgid "Each clone is painted by the picked color (the original must have unset fill or stroke)" +msgstr "Każdy klon otrzymuje kolor pobrany w danym punkcie (oryginał musi mieć nieokreślone wypełnienie lub kontur)" -#: ../src/extension/internal/bitmap/modulate.cpp:42 -#: ../src/flood-context.cpp:275 ../src/ui/dialog/inkscape-preferences.cpp:731 -#: ../src/widgets/sp-color-icc-selector.cpp:235 -#: ../src/widgets/sp-color-icc-selector.cpp:236 -#: ../src/widgets/sp-color-scales.cpp:427 -#: ../src/widgets/sp-color-scales.cpp:428 ../src/widgets/toolbox.cpp:3375 -#: ../share/extensions/color_randomize.inx.h:5 -msgid "Saturation" -msgstr "Nasycenie" +#: ../src/dialogs/clonetiler.cpp:2783 +msgid "Each clone's opacity is determined by the picked value in that point" +msgstr "Każdy klon otrzymuje krycie równe wartości pobranej w danym punkcie" -#: ../src/extension/internal/bitmap/modulate.cpp:43 -#: ../src/flood-context.cpp:274 ../src/widgets/sp-color-icc-selector.cpp:235 -#: ../src/widgets/sp-color-icc-selector.cpp:236 -#: ../src/widgets/sp-color-scales.cpp:424 -#: ../src/widgets/sp-color-scales.cpp:425 ../src/widgets/toolbox.cpp:3360 -#: ../share/extensions/color_randomize.inx.h:2 -msgid "Hue" -msgstr "Barwa" +#: ../src/dialogs/clonetiler.cpp:2810 +msgid "How many rows in the tiling" +msgstr "Ilość wierszy układu klonów" -#: ../src/extension/internal/bitmap/modulate.cpp:49 -msgid "Modulate percent hue, saturation, and brightness of selected bitmap(s)." -msgstr "Moduluje procent barwy, nasycenia i jasności zaznaczonych bitmap(y)" +#: ../src/dialogs/clonetiler.cpp:2830 +msgid "How many columns in the tiling" +msgstr "Ilość kolumn układu klonów" -#: ../src/extension/internal/bitmap/negate.cpp:35 -msgid "Negate" -msgstr "Pobierz odwrotność" +#: ../src/dialogs/clonetiler.cpp:2860 +msgid "Width of the rectangle to be filled" +msgstr "Szerokość prostokąta do wypełnienia" -#: ../src/extension/internal/bitmap/negate.cpp:42 -msgid "Negate (take inverse) selected bitmap(s)." -msgstr "Pobiera odwrotność zaznaczonych bitmap(y)" +#: ../src/dialogs/clonetiler.cpp:2885 +msgid "Height of the rectangle to be filled" +msgstr "Wysokość prostokąta do wypełnienia" -#: ../src/extension/internal/bitmap/normalize.cpp:35 -msgid "Normalize" -msgstr "Normalizacja" +#: ../src/dialogs/clonetiler.cpp:2900 +msgid "Rows, columns: " +msgstr "Wiersze, kolumny:" -#: ../src/extension/internal/bitmap/normalize.cpp:42 -msgid "" -"Normalize selected bitmap(s), expanding color range to the full possible " -"range of color." -msgstr "" -"Normalizuje zaznaczone bitmapy(ę) rozszerzając zakres koloru do pełnego " -"możliwego zakresu koloru" +#: ../src/dialogs/clonetiler.cpp:2901 +msgid "Create the specified number of rows and columns" +msgstr "Tworzenie określonej ilości wierszy i kolumn" -#: ../src/extension/internal/bitmap/oilPaint.cpp:36 -msgid "Oil Paint" -msgstr "Obraz olejny" +#: ../src/dialogs/clonetiler.cpp:2910 +msgid "Width, height: " +msgstr "Szerokość, wysokość:" -#: ../src/extension/internal/bitmap/oilPaint.cpp:44 -msgid "Stylize selected bitmap(s) so that they appear to be painted with oils." -msgstr "Stylizuje zaznaczone bitmapy(ę) tak, aby wyglądały jak obraz olejny" +#: ../src/dialogs/clonetiler.cpp:2911 +msgid "Fill the specified width and height with the tiling" +msgstr "Wypełnia określoną szerokość i wysokość z ułożeniem" -#: ../src/extension/internal/bitmap/opacity.cpp:45 -msgid "Modify opacity channel(s) of selected bitmap(s)." -msgstr "Zmienia krycie kanałów(u) zaznaczonych bitmap(y)" +#: ../src/dialogs/clonetiler.cpp:2927 +msgid "Use saved size and position of the tile" +msgstr "Użyj zapamiętanej wielkości i pozycji klonowania" -#: ../src/extension/internal/bitmap/raise.cpp:39 -msgid "Raise" -msgstr "Podniesienie" +#: ../src/dialogs/clonetiler.cpp:2930 +msgid "Pretend that the size and position of the tile are the same as the last time you tiled it (if any), instead of using the current size" +msgstr "Będzie wykorzystywana wielkość i położenie elementu zapisane podczas poprzedniego klonowania - jeśli było - zamiast użycia aktualnego rozmiaru" -#: ../src/extension/internal/bitmap/raise.cpp:43 -msgid "Raised" -msgstr "Uwypuklenie" +#: ../src/dialogs/clonetiler.cpp:2954 +msgid " _Create " +msgstr "_Utwórz " -#: ../src/extension/internal/bitmap/raise.cpp:49 -msgid "" -"Alter lightness the edges of selected bitmap(s) to create a raised " -"appearance." -msgstr "" -"Zmienia rozjaśnienie krawędzi zaznaczonych bitmap(y), aby utworzyć wypukły " -"wygląd" +#: ../src/dialogs/clonetiler.cpp:2956 +msgid "Create and tile the clones of the selection" +msgstr "Utwórz i rozmieść klony zaznaczonych elementów" -#: ../src/extension/internal/bitmap/reduceNoise.cpp:39 -msgid "Reduce Noise" -msgstr "Redukcja szumów" +#. TRANSLATORS: if a group of objects are "clumped" together, then they +#. are unevenly spread in the given amount of space - as shown in the +#. diagrams on the left in the following screenshot: +#. http://www.inkscape.org/screenshots/gallery/inkscape-0.42-CVS-tiles-unclump.png +#. So unclumping is the process of spreading a number of objects out more evenly. +#: ../src/dialogs/clonetiler.cpp:2971 +msgid " _Unclump " +msgstr "_Rozproszenie" -#: ../src/extension/internal/bitmap/reduceNoise.cpp:47 -msgid "" -"Reduce noise in selected bitmap(s) using a noise peak elimination filter." -msgstr "" -"Redukuje szum w zaznaczonej bitmapie(ach) przy użyciu filtru eliminacji " -"szumów szczytowych" +#: ../src/dialogs/clonetiler.cpp:2972 +msgid "Spread out clones to reduce clumping; can be applied repeatedly" +msgstr "Rozsuń klony zmniejszając ich rozproszenie; może być stosowane wielokrotnie" -#: ../src/extension/internal/bitmap/sample.cpp:38 -msgid "Sample" -msgstr "Próbka" +#: ../src/dialogs/clonetiler.cpp:2978 +msgid " Re_move " +msgstr "U_suń " -#: ../src/extension/internal/bitmap/sample.cpp:47 -msgid "" -"Alter the resolution of selected image by resizing it by given dimensions." -msgstr "" -"Zmienia rozdzielczość zaznaczonego obrazka zmieniając jego wielkość do " -"zadanych rozmiarów" +#: ../src/dialogs/clonetiler.cpp:2979 +msgid "Remove existing tiled clones of the selected object (siblings only)" +msgstr "Usuń istniejące klony zaznaczonego obiektu (usuwa tylko kopie)" -#: ../src/extension/internal/bitmap/shade.cpp:39 -msgid "Shade" -msgstr "Cień" +#: ../src/dialogs/clonetiler.cpp:2995 +msgid " R_eset " +msgstr "_Resetuj " -#: ../src/extension/internal/bitmap/shade.cpp:41 -#: ../src/ui/dialog/filter-effects-dialog.cpp:992 -msgid "Azimuth" -msgstr "Azymut" +#. TRANSLATORS: "change" is a noun here +#: ../src/dialogs/clonetiler.cpp:2997 +msgid "Reset all shifts, scales, rotates, opacity and color changes in the dialog to zero" +msgstr "Wyzeruj wartości wszystkich przesunięć, skalowań, obrotów, zmian krycia i koloru w polach okna dialogowego" -#: ../src/extension/internal/bitmap/shade.cpp:42 -#: ../src/ui/dialog/filter-effects-dialog.cpp:993 -msgid "Elevation" -msgstr "Przewyższenie" +#: ../src/dialogs/debugdialog.cpp:135 +msgid "Messages" +msgstr "Komunikaty" -#: ../src/extension/internal/bitmap/shade.cpp:43 -msgid "Colored Shading" -msgstr "Kolorowe cieniowanie" +#. ## Add a menu for clear() +#: ../src/dialogs/debugdialog.cpp:141 +#: ../src/menus-skeleton.h:16 +#: ../src/ui/dialog/messages.cpp:54 +#: ../src/ui/dialog/scriptdialog.cpp:208 +msgid "_File" +msgstr "_Plik" -#: ../src/extension/internal/bitmap/shade.cpp:49 -msgid "Shade selected bitmap(s) simulating distant light source." -msgstr "Dodaje cień do zaznaczonych bitmap(y) symulując odległe źródło światła" +#. TRANSLATORS: "Clear" is a verb here +#: ../src/dialogs/debugdialog.cpp:142 +#: ../src/dialogs/find.cpp:753 +#: ../src/ui/dialog/find.cpp:85 +#: ../src/ui/dialog/messages.cpp:55 +#: ../src/ui/dialog/scriptdialog.cpp:209 +msgid "_Clear" +msgstr "_Wyczyść" -#: ../src/extension/internal/bitmap/sharpen.cpp:46 -msgid "Sharpen selected bitmap(s)." -msgstr "Wyostrza zaznaczone bitmapy(ę)" +#: ../src/dialogs/debugdialog.cpp:144 +#: ../src/ui/dialog/messages.cpp:57 +msgid "Capture log messages" +msgstr "_Rozpocznij przechwytywanie komunikatów" -#: ../src/extension/internal/bitmap/solarize.cpp:36 -msgid "Solarize" -msgstr "Solaryzacja" +#: ../src/dialogs/debugdialog.cpp:146 +#: ../src/ui/dialog/messages.cpp:59 +msgid "Release log messages" +msgstr "_Zakończ przechwytywanie komunikatów" -#: ../src/extension/internal/bitmap/solarize.cpp:44 -msgid "Solarize selected bitmap(s), like overexposing photographic film." -msgstr "" -"Solaryzuje zaznaczone bitmapy(ę) tak jak prześwietlony film fotograficzny" +#: ../src/dialogs/eek-color-def.cpp:56 +#: ../src/widgets/gradient-selector.cpp:162 +msgid "none" +msgstr "brak" -#: ../src/extension/internal/bitmap/spread.cpp:36 -msgid "Spread" -msgstr "Rozmazanie" +#: ../src/dialogs/export.cpp:143 +msgid "_Custom" +msgstr "Rozmiar _użytkownika" -#: ../src/extension/internal/bitmap/spread.cpp:44 -msgid "" -"Randomly spread pixels in selected bitmap(s), within the radius of 'amount.'" -msgstr "" -"W obrębie promienia losowo rozmazuje piksele w zaznaczonych bitmapach(ie)" +#: ../src/dialogs/export.cpp:143 +#: ../src/verbs.cpp:2623 +msgid "_Drawing" +msgstr "Cały _rysunek" -#: ../src/extension/internal/bitmap/swirl.cpp:36 -msgid "Swirl" -msgstr "Skręcenie" +#: ../src/dialogs/export.cpp:143 +#: ../src/verbs.cpp:2619 +msgid "_Page" +msgstr "Cała _strona" -#: ../src/extension/internal/bitmap/swirl.cpp:38 -#: ../share/extensions/grid_polar.inx.h:7 -msgid "Degrees" -msgstr "Stopnie" +#: ../src/dialogs/export.cpp:143 +#: ../src/verbs.cpp:2625 +msgid "_Selection" +msgstr "_Zaznaczenie" -#: ../src/extension/internal/bitmap/swirl.cpp:44 -msgid "Swirl selected bitmap(s) around center point." -msgstr "Skręca zaznaczoną(e) bitmapę(y) wokół punktu centralnego" +#: ../src/dialogs/export.cpp:268 +msgid "Export area" +msgstr "Obszar eksportu" -#. TRANSLATORS: see http://docs.gimp.org/en/gimp-tool-threshold.html -#: ../src/extension/internal/bitmap/threshold.cpp:37 -#: ../src/extension/internal/bitmap/threshold.cpp:39 -#: ../src/extension/internal/bitmap/unsharpmask.cpp:45 -msgid "Threshold" -msgstr "Próg" +#: ../src/dialogs/export.cpp:282 +msgid "Units:" +msgstr "Jednostki:" -#: ../src/extension/internal/bitmap/threshold.cpp:45 -msgid "Threshold selected bitmap(s)." -msgstr "Proguj zaznaczone bitmapy(ę)" +#: ../src/dialogs/export.cpp:310 +msgid "_x0:" +msgstr "_x0:" -#: ../src/extension/internal/bitmap/unsharpmask.cpp:40 -msgid "Unsharp Mask" -msgstr "Maska wyostrzania" +#: ../src/dialogs/export.cpp:315 +msgid "x_1:" +msgstr "x_1:" -#: ../src/extension/internal/bitmap/unsharpmask.cpp:51 -msgid "Sharpen selected bitmap(s) using unsharp mask algorithms." -msgstr "Wyostrza zaznaczone bitmapy(ę) używając algorytmów maski wyostrzania" +#. Stroke width +#: ../src/dialogs/export.cpp:320 +#: ../src/dialogs/object-attributes.cpp:60 +#: ../src/dialogs/object-attributes.cpp:68 +#: ../src/dialogs/stroke-style.cpp:1083 +#: ../src/widgets/toolbox.cpp:3658 +#: ../src/widgets/toolbox.cpp:4257 +#: ../src/widgets/toolbox.cpp:5276 +msgid "Width:" +msgstr "Szerokość:" -#: ../src/extension/internal/bitmap/wave.cpp:37 -msgid "Wave" -msgstr "Fala" +#: ../src/dialogs/export.cpp:326 +msgid "_y0:" +msgstr "_y0:" -#: ../src/extension/internal/bitmap/wave.cpp:39 -msgid "Amplitude" -msgstr "Amplituda" +#: ../src/dialogs/export.cpp:331 +msgid "y_1:" +msgstr "y_1:" -#: ../src/extension/internal/bitmap/wave.cpp:40 -msgid "Wavelength" -msgstr "Długość fali" +#: ../src/dialogs/export.cpp:336 +#: ../src/dialogs/export.cpp:495 +#: ../src/dialogs/object-attributes.cpp:61 +#: ../src/dialogs/object-attributes.cpp:69 +msgid "Height:" +msgstr "Wysokość:" -#: ../src/extension/internal/bitmap/wave.cpp:46 -msgid "Alter selected bitmap(s) along sine wave." -msgstr "Modyfikuje zaznaczone bitmapy(ę) falą sinusoidalną" +#: ../src/dialogs/export.cpp:468 +msgid "Bitmap size" +msgstr "Rozmiar bitmapy" -#: ../src/extension/internal/bluredge.cpp:132 -msgid "Inset/Outset Halo" -msgstr "Rozmycie krawędzi (zjawisko Halo)" +#: ../src/dialogs/export.cpp:481 +#: ../src/ui/widget/page-sizer.cpp:209 +msgid "_Width:" +msgstr "_Szerokość:" -#: ../src/extension/internal/bluredge.cpp:134 -msgid "Width in px of the halo" -msgstr "Szerokość rozmycia w px" +#: ../src/dialogs/export.cpp:481 +#: ../src/dialogs/export.cpp:495 +msgid "pixels at" +msgstr "px przy" -#: ../src/extension/internal/bluredge.cpp:135 -msgid "Number of steps" -msgstr "Liczba kroków" +#: ../src/dialogs/export.cpp:489 +msgid "dp_i" +msgstr "dp_i" -#: ../src/extension/internal/bluredge.cpp:135 -msgid "Number of inset/outset copies of the object to make" -msgstr "Liczba kopii obiektu do symulacji efektu rozmycia" +#: ../src/dialogs/export.cpp:506 +#: ../src/ui/dialog/inkscape-preferences.cpp:699 +#: ../src/ui/dialog/inkscape-preferences.cpp:1061 +msgid "dpi" +msgstr "dpi" -#: ../src/extension/internal/bluredge.cpp:139 -#: ../share/extensions/interp.inx.h:3 ../share/extensions/motion.inx.h:3 -#: ../share/extensions/pathalongpath.inx.h:4 -#: ../share/extensions/pathscatter.inx.h:5 -msgid "Generate from Path" -msgstr "Wygeneruj ze ścieżki" +#. true = has mnemonic +#: ../src/dialogs/export.cpp:517 +msgid "_Filename" +msgstr "_Nazwa pliku" -#: ../src/extension/internal/cairo-pdf-out.cpp:239 -msgid "Cairo PDF Output" -msgstr "Zapis PDF z użyciem Cairo" +#: ../src/dialogs/export.cpp:588 +msgid "_Browse..." +msgstr "_Przeglądaj..." -#: ../src/extension/internal/cairo-pdf-out.cpp:241 -msgid "Restrict to PDF version" -msgstr "Określ wersję PDF" +#: ../src/dialogs/export.cpp:617 +msgid "Batch export all selected objects" +msgstr "Eksportuj grupowo wszystkie zaznaczone obiekty" -#: ../src/extension/internal/cairo-pdf-out.cpp:242 -msgid "PDF 1.4" -msgstr "PDF 1.4" +#: ../src/dialogs/export.cpp:621 +msgid "Export each selected object into its own PNG file, using export hints if any (caution, overwrites without asking!)" +msgstr "Eksportuje każdy zaznaczony obiekt do pliku PNG (Uwaga - nadpisuje bez powiadamiania!)" -#: ../src/extension/internal/cairo-pdf-out.cpp:244 -#: ../src/extension/internal/cairo-ps-out.cpp:230 -#: ../src/extension/internal/emf-win32-inout.cpp:2182 -#: ../src/extension/internal/eps-out.cpp:92 -#: ../src/extension/internal/ps-out.cpp:84 -msgid "Convert texts to paths" -msgstr "Konwertuj tekst na ścieżki" +#: ../src/dialogs/export.cpp:629 +msgid "Hide all except selected" +msgstr "Ukryj wszystko z wyjątkiem zaznaczenia" -#: ../src/extension/internal/cairo-pdf-out.cpp:245 -#: ../src/extension/internal/cairo-ps-out.cpp:231 -msgid "Convert blur effects to bitmaps" -msgstr "Konwertuj efekty rozmycia do bitmap" +#: ../src/dialogs/export.cpp:633 +msgid "In the exported image, hide all objects except those that are selected" +msgstr "W eksportowanym obrazku ukrywa wszystkie obiekty z wyjątkiem zaznaczonych" -#: ../src/extension/internal/cairo-pdf-out.cpp:246 -#: ../src/extension/internal/cairo-ps-out.cpp:232 -msgid "Preferred resolution (DPI) of bitmaps" -msgstr "Preferowana rozdzielczość bitmap (w dpi)" +#: ../src/dialogs/export.cpp:650 +msgid "_Export" +msgstr "_Eksportuj" -#: ../src/extension/internal/cairo-pdf-out.cpp:247 -msgid "Export drawing, not page" -msgstr "Eksportuj rysunek, a nie ścieżkę" +#: ../src/dialogs/export.cpp:654 +msgid "Export the bitmap file with these settings" +msgstr "Eksportowanie bitmapy z wybranymi ustawieniami" -#: ../src/extension/internal/cairo-pdf-out.cpp:248 -msgid "Export canvas" -msgstr "Eksportuj obszar roboczy" +#: ../src/dialogs/export.cpp:680 +#, c-format +msgid "Batch export %d selected object" +msgid_plural "Batch export %d selected objects" +msgstr[0] "Eksportuj grupowo %d wybrany element" +msgstr[1] "Eksportuj grupowo %d wybrane elementy" +msgstr[2] "Eksportuj grupowo %d wybranych elementów" -#: ../src/extension/internal/cairo-pdf-out.cpp:249 -msgid "Limit export to the object with ID" -msgstr "Limit eksportu do obiektu z ID" +#: ../src/dialogs/export.cpp:1011 +msgid "Export in progress" +msgstr "Trwa eksportowanie" -#: ../src/extension/internal/cairo-pdf-out.cpp:253 -msgid "PDF via Cairo (*.pdf)" -msgstr "PDF [z użyciem Cairo] (*.pdf)" +#: ../src/dialogs/export.cpp:1081 +#, c-format +msgid "Exporting %d files" +msgstr "Eksportowanie %d plików" -#: ../src/extension/internal/cairo-pdf-out.cpp:254 -msgid "PDF File" -msgstr "Plik PDF" +#: ../src/dialogs/export.cpp:1121 +#: ../src/dialogs/export.cpp:1193 +#, c-format +msgid "Could not export to filename %s.\n" +msgstr "Nie można wyeksportować do pliku %s.\n" -#: ../src/extension/internal/cairo-ps-out.cpp:222 -msgid "Cairo PS Output" -msgstr "Zapis PS z użyciem Cairo" +#: ../src/dialogs/export.cpp:1149 +msgid "You have to enter a filename" +msgstr "Nie podano nazwy pliku" -#: ../src/extension/internal/cairo-ps-out.cpp:224 -msgid "Restrict to PS level" -msgstr "Określ poziom PostScript" +#: ../src/dialogs/export.cpp:1154 +msgid "The chosen area to be exported is invalid" +msgstr "Wybrany obszar eksportu jest nieprawidłowy" -#: ../src/extension/internal/cairo-ps-out.cpp:225 -msgid "PostScript level 3" -msgstr "PostScript poziom 3" +#: ../src/dialogs/export.cpp:1163 +#, c-format +msgid "Directory %s does not exist or is not a directory.\n" +msgstr "Katalog %s nie istnieje lub wybrany plik nie jest katalogiem.\n" -#: ../src/extension/internal/cairo-ps-out.cpp:227 -msgid "PostScript level 2" -msgstr "PostScript poziom 2" +#: ../src/dialogs/export.cpp:1179 +#, c-format +msgid "Exporting %s (%lu x %lu)" +msgstr "Eksportowanie %s (%lu x %lu)" -#: ../src/extension/internal/cairo-ps-out.cpp:236 -msgid "PostScript via Cairo (*.ps)" -msgstr "PostScript [z użyciem Cairo] (*.ps)" +#: ../src/dialogs/export.cpp:1300 +msgid "Select a filename for exporting" +msgstr "Wybierz nazwę eksportowanego pliku" -#: ../src/extension/internal/cairo-ps-out.cpp:237 -#: ../src/extension/internal/ps-out.cpp:90 -msgid "PostScript File" -msgstr "Plik PostScript" +#: ../src/dialogs/fill-style.cpp:283 +msgid "Change fill rule" +msgstr "Zmień regułę wypełnienia" -#: ../src/extension/internal/emf-win32-inout.cpp:2152 -msgid "EMF Input" -msgstr "Źródło EMF" +#: ../src/dialogs/fill-style.cpp:323 +#: ../src/dialogs/fill-style.cpp:397 +msgid "Set fill color" +msgstr "Ustaw kolor wypełnienia" -#: ../src/extension/internal/emf-win32-inout.cpp:2157 -msgid "Enhanced Metafiles (*.emf)" -msgstr "Enhanced Metafiles (*.emf)" +#: ../src/dialogs/fill-style.cpp:385 +#: ../src/ui/widget/selected-style.cpp:255 +#: ../src/ui/widget/selected-style.cpp:475 +msgid "Remove fill" +msgstr "Usuń wypełnienie" -#: ../src/extension/internal/emf-win32-inout.cpp:2158 -msgid "Enhanced Metafiles" -msgstr "Enhanced Metafiles" +#: ../src/dialogs/fill-style.cpp:466 +msgid "Set gradient on fill" +msgstr "Ustaw gradient wypełnienia" -#: ../src/extension/internal/emf-win32-inout.cpp:2166 -msgid "WMF Input" -msgstr "Źródło WMF" +#: ../src/dialogs/fill-style.cpp:513 +msgid "Set pattern on fill" +msgstr "Ustaw deseń wypełnienia" -#: ../src/extension/internal/emf-win32-inout.cpp:2171 -msgid "Windows Metafiles (*.wmf)" -msgstr "Windows Metafile (*.wmf)" +#. TRANSLATORS COMMENT: unset is a verb here +#: ../src/dialogs/fill-style.cpp:528 +#: ../src/ui/widget/selected-style.cpp:193 +#: ../src/ui/widget/selected-style.cpp:251 +#: ../src/ui/widget/selected-style.cpp:493 +#: ../src/ui/widget/style-swatch.cpp:335 +msgid "Unset fill" +msgstr "Nie ustawiaj wypełnienia" -#: ../src/extension/internal/emf-win32-inout.cpp:2172 -msgid "Windows Metafiles" -msgstr "Windows Metafiles" +#. TRANSLATORS: "%s" is replaced with "exact" or "partial" when this string is displayed +#: ../src/dialogs/find.cpp:372 +#: ../src/ui/dialog/find.cpp:436 +#, c-format +msgid "%d object found (out of %d), %s match." +msgid_plural "%d objects found (out of %d), %s match." +msgstr[0] "Znaleziono %d obiekt (z %d), dopasowanie %s" +msgstr[1] "Znaleziono %d obiekty (z %d), dopasowanie %s" +msgstr[2] "Znaleziono %d obiektów (z %d), dopasowanie %s" -#: ../src/extension/internal/emf-win32-inout.cpp:2180 -msgid "EMF Output" -msgstr "Zapis w formacie EMF" +#: ../src/dialogs/find.cpp:375 +#: ../src/ui/dialog/find.cpp:439 +msgid "exact" +msgstr "dokładne" -#: ../src/extension/internal/emf-win32-inout.cpp:2186 -msgid "Enhanced Metafile (*.emf)" -msgstr "Enhanced Metafile (*.emf)" +#: ../src/dialogs/find.cpp:375 +#: ../src/ui/dialog/find.cpp:439 +msgid "partial" +msgstr "częściowe" -#: ../src/extension/internal/emf-win32-inout.cpp:2187 -msgid "Enhanced Metafile" -msgstr "Enhanced Metafile" +#: ../src/dialogs/find.cpp:382 +#: ../src/ui/dialog/find.cpp:446 +msgid "No objects found" +msgstr "Nie znaleziono obiektów" -#: ../src/extension/internal/eps-out.cpp:89 -msgid "Encapsulated Postscript Output" -msgstr "Zapis w formacie Encapsulated Postscript" +#: ../src/dialogs/find.cpp:540 +msgid "T_ype: " +msgstr "Typ obiektu:" -#: ../src/extension/internal/eps-out.cpp:91 -msgid "Make bounding box around full page" -msgstr "Utwórz obramowanie wokół całej strony" +#: ../src/dialogs/find.cpp:547 +#: ../src/ui/dialog/find.cpp:70 +msgid "All types" +msgstr "Wszystkie typy" -#: ../src/extension/internal/eps-out.cpp:93 -#: ../src/extension/internal/ps-out.cpp:85 -msgid "Embed fonts (Type 1 only)" -msgstr "Osadzone czcionki (tylko Type 1)" +#: ../src/dialogs/find.cpp:547 +#: ../src/ui/dialog/find.cpp:70 +msgid "Search in all object types" +msgstr "Szukaj we wszystkich typach obiektów" -#: ../src/extension/internal/eps-out.cpp:97 -#: ../share/extensions/eps_input.inx.h:3 -msgid "Encapsulated Postscript (*.eps)" -msgstr "Encapsulated Postscript (*.eps)" +#: ../src/dialogs/find.cpp:558 +#: ../src/ui/dialog/find.cpp:71 +msgid "All shapes" +msgstr "Wszystkie figury" -#: ../src/extension/internal/eps-out.cpp:98 -msgid "Encapsulated Postscript File" -msgstr "Plik Encapsulated Postscript" +#: ../src/dialogs/find.cpp:558 +#: ../src/ui/dialog/find.cpp:71 +msgid "Search all shapes" +msgstr "Szukaj we wszystkich rodzajach figur" -#. ID -- should be unique -#: ../src/extension/internal/filter/apparition.h:24 -msgid "Apparition" -msgstr "Widmo" +#: ../src/dialogs/find.cpp:575 +#: ../src/ui/dialog/find.cpp:72 +msgid "Rectangles" +msgstr "Prostokąty" -#. Name in the menus, should have a N_() around it for translation -#: ../src/extension/internal/filter/apparition.h:25 -msgid "I'm not sure what this word means" -msgstr "Nie jestem pewny co to słowo znaczy" +#: ../src/dialogs/find.cpp:575 +#: ../src/ui/dialog/find.cpp:72 +msgid "Search rectangles" +msgstr "Szukaj prostokątów" -#. ID -- should be unique -#: ../src/extension/internal/filter/bloom.h:24 -msgid "Bloom" -msgstr "Kwiat" +#: ../src/dialogs/find.cpp:580 +#: ../src/ui/dialog/find.cpp:73 +msgid "Ellipses" +msgstr "Elipsy" -#. Name in the menus, should have a N_() around it for translation -#: ../src/extension/internal/filter/bloom.h:25 -msgid "Not sure, nobody tell me these things" -msgstr "" +#: ../src/dialogs/find.cpp:580 +#: ../src/ui/dialog/find.cpp:73 +msgid "Search ellipses, arcs, circles" +msgstr "Szukaj elips, łuków i okręgów" -#. ID -- should be unique -#: ../src/extension/internal/filter/clouds.h:24 -msgid "Clouds" -msgstr "Chmury" +#: ../src/dialogs/find.cpp:585 +#: ../src/ui/dialog/find.cpp:74 +msgid "Search stars and polygons" +msgstr "Szukaj gwiazd i wielokątów" -#. Name in the menus, should have a N_() around it for translation -#: ../src/extension/internal/filter/clouds.h:25 -msgid "Yes, more descriptions" -msgstr "Tak, więcej opisów" +#: ../src/dialogs/find.cpp:585 +#: ../src/ui/dialog/find.cpp:74 +msgid "Stars" +msgstr "Gwiazdy" -#. ID -- should be unique -#: ../src/extension/internal/filter/crystal.h:24 -#, fuzzy -msgid "Crystal" -msgstr "Skala szarości" +#: ../src/dialogs/find.cpp:590 +#: ../src/ui/dialog/find.cpp:75 +msgid "Search spirals" +msgstr "Szukaj spirali" -#. Name in the menus, should have a N_() around it for translation -#: ../src/extension/internal/filter/crystal.h:25 -msgid "Artist, insert data here" -msgstr "" +#: ../src/dialogs/find.cpp:590 +#: ../src/ui/dialog/find.cpp:75 +msgid "Spirals" +msgstr "Spirale" -#. ID -- should be unique -#: ../src/extension/internal/filter/cutout.h:24 -#, fuzzy -msgid "Coutout" -msgstr "na zewnątrz" +#: ../src/dialogs/find.cpp:603 +#: ../src/ui/dialog/find.cpp:76 +msgid "Paths" +msgstr "Ścieżki" -#. Name in the menus, should have a N_() around it for translation -#: ../src/extension/internal/filter/cutout.h:25 -#: ../src/extension/internal/filter/etched-glass.h:25 -#: ../src/extension/internal/filter/frost.h:25 -#: ../src/extension/internal/filter/ridged-border.h:25 -msgid "Artist text" -msgstr "Tekst artystyczny" +#. TRANSLATORS: polyline is a set of connected straight line segments +#. http://www.w3.org/TR/SVG11/shapes.html#PolylineElement +#: ../src/dialogs/find.cpp:603 +#: ../src/ui/dialog/find.cpp:76 +msgid "Search paths, lines, polylines" +msgstr "Szukaj ścieżek, linii, linii łamanych" -#: ../src/extension/internal/filter/drop-shadow.h:35 -#, fuzzy -msgid "Drop Shadow" -msgstr "Upuść grafikę SVG" +#: ../src/dialogs/find.cpp:608 +#: ../src/ui/dialog/find.cpp:77 +msgid "Search text objects" +msgstr "Szukaj obiektów tekstowych" -#: ../src/extension/internal/filter/drop-shadow.h:37 -msgid "Amount of Blur" -msgstr "Stopień rozmycia" +#: ../src/dialogs/find.cpp:608 +#: ../src/ui/dialog/find.cpp:77 +msgid "Texts" +msgstr "Teksty" -#: ../src/extension/internal/filter/drop-shadow.h:38 -#: ../src/extension/internal/grid.cpp:197 -msgid "Horizontal Offset" -msgstr "Przesunięcie poziome" +#: ../src/dialogs/find.cpp:613 +#: ../src/ui/dialog/find.cpp:78 +msgid "Groups" +msgstr "Grupy" -#: ../src/extension/internal/filter/drop-shadow.h:39 -#: ../src/extension/internal/grid.cpp:198 -msgid "Vertical Offset" -msgstr "Przesunięcie pionowe" +#: ../src/dialogs/find.cpp:613 +#: ../src/ui/dialog/find.cpp:78 +msgid "Search groups" +msgstr "Szukaj grup obiektów" -#: ../src/extension/internal/filter/drop-shadow.h:43 -#: ../src/extension/internal/filter/filter.cpp:196 -#: ../src/extension/internal/filter/filter-file.cpp:146 -#: ../src/extension/internal/filter/snow.h:38 -msgid "Filter" -msgstr "Filtr" +#: ../src/dialogs/find.cpp:618 +#: ../src/ui/dialog/find.cpp:81 +msgid "Search clones" +msgstr "Szukaj sklonowanych obiektów" -#: ../src/extension/internal/filter/drop-shadow.h:45 -msgid "I hate text" -msgstr "Nie nawidzę tekstu" +#. TRANSLATORS: Translate the word "Clones" only. A noun indicating type of object to find +#: ../src/dialogs/find.cpp:620 +#: ../src/ui/dialog/find.cpp:81 +msgid "find|Clones" +msgstr "Klony" -#. Name in the menus, should have a N_() around it for translation -#: ../src/extension/internal/filter/emboss.h:22 -#, fuzzy -msgid "Emboss effect" -msgstr "Brak efektu" +#: ../src/dialogs/find.cpp:625 +#: ../src/ui/dialog/find.cpp:82 +msgid "Search images" +msgstr "Szukaj obrazków" -#. ID -- should be unique -#: ../src/extension/internal/filter/etched-glass.h:24 -msgid "Etched Glass" -msgstr "Etched Glass" +#: ../src/dialogs/find.cpp:630 +#: ../src/ui/dialog/find.cpp:83 +msgid "Offsets" +msgstr "Odsunięcia" -#: ../src/extension/internal/filter/filter-file.cpp:32 -#, fuzzy -msgid "Bundled" -msgstr "Zaokrąglone" +#: ../src/dialogs/find.cpp:630 +#: ../src/ui/dialog/find.cpp:83 +msgid "Search offset objects" +msgstr "Szukaj obiektów powstałych przez odsunięcie" -#: ../src/extension/internal/filter/filter-file.cpp:33 -msgid "Personal" -msgstr "Osobiste" +#: ../src/dialogs/find.cpp:694 +#: ../src/ui/dialog/find.cpp:61 +msgid "Find objects by their text content (exact or partial match)" +msgstr "Znajdź obiekty zawierające tekst (w pełni lub częściowo pasujące)" -#: ../src/extension/internal/filter/filter-file.cpp:44 -#, fuzzy -msgid "Null external module directory name. Filters will not be loaded." -msgstr "" -"Pusta nazwa katalogu modułów zewnętrznych. Moduły nie zostaną załadowane" +#: ../src/dialogs/find.cpp:694 +#: ../src/ui/dialog/find.cpp:61 +msgid "_Text: " +msgstr "_Tekst: " -#. ID -- should be unique -#: ../src/extension/internal/filter/fire.h:24 -msgid "Fire" -msgstr "Ogień" +#: ../src/dialogs/find.cpp:695 +#: ../src/ui/dialog/find.cpp:62 +msgid "Find objects by the value of the id attribute (exact or partial match)" +msgstr "Znajdź obiekty na podstawie ich identyfikatorów (w pełni lub częściowo pasujące) " -#. Name in the menus, should have a N_() around it for translation -#: ../src/extension/internal/filter/fire.h:25 -msgid "Artist on fire" -msgstr "" +#: ../src/dialogs/find.cpp:695 +#: ../src/ui/dialog/find.cpp:62 +msgid "_ID: " +msgstr "_ID: " -#. ID -- should be unique -#: ../src/extension/internal/filter/frost.h:24 -#, fuzzy -msgid "Frost" -msgstr "Czcionka" +#: ../src/dialogs/find.cpp:696 +#: ../src/ui/dialog/find.cpp:63 +msgid "Find objects by the value of the style attribute (exact or partial match)" +msgstr "Znajdź obiekty na podstawie właściwości ich stylu (w pełni lub częściowo pasujące)" -#. ID -- should be unique -#: ../src/extension/internal/filter/ink-bleed.h:24 -#, fuzzy -msgid "InkBleed" -msgstr "Mieszanie" +#: ../src/dialogs/find.cpp:696 +#: ../src/ui/dialog/find.cpp:63 +msgid "_Style: " +msgstr "Styl: " -#. Name in the menus, should have a N_() around it for translation -#: ../src/extension/internal/filter/ink-bleed.h:25 -msgid "Artist Text" -msgstr "" +#: ../src/dialogs/find.cpp:697 +#: ../src/ui/dialog/find.cpp:64 +msgid "Find objects by the name of an attribute (exact or partial match)" +msgstr "Znajdź obiekty na podstawie ich właściwości (w pełni lub częściowo pasujące)" -#. ID -- should be unique -#: ../src/extension/internal/filter/jelly-bean.h:24 -msgid "Jelly Bean" -msgstr "Jelly Bean" +#: ../src/dialogs/find.cpp:697 +#: ../src/ui/dialog/find.cpp:64 +msgid "_Attribute: " +msgstr "_Atrybut: " -#. Name in the menus, should have a N_() around it for translation -#: ../src/extension/internal/filter/jelly-bean.h:25 -msgid "Mmmm, yummy." -msgstr "" +#: ../src/dialogs/find.cpp:711 +#: ../src/ui/dialog/find.cpp:65 +msgid "Search in s_election" +msgstr "Szukaj w _zaznaczeniu" -#. ID -- should be unique -#: ../src/extension/internal/filter/jigsaw-piece.h:24 -msgid "JigsawPiece" -msgstr "JigsawPiece" +#: ../src/dialogs/find.cpp:715 +#: ../src/ui/dialog/find.cpp:65 +msgid "Limit search to the current selection" +msgstr "Ogranicz wyszukiwanie do aktualnie zaznaczonych obiektów" -#. Name in the menus, should have a N_() around it for translation -#: ../src/extension/internal/filter/jigsaw-piece.h:25 -msgid "It's a puzzle, no hints" -msgstr "" +#: ../src/dialogs/find.cpp:720 +#: ../src/ui/dialog/find.cpp:66 +msgid "Search in current _layer" +msgstr "Szukaj na _aktywnej warstwie" -#. ID -- should be unique -#: ../src/extension/internal/filter/leopard-fur.h:24 -msgid "Leopard Fur" -msgstr "Leopard Fur" +#: ../src/dialogs/find.cpp:724 +#: ../src/ui/dialog/find.cpp:66 +msgid "Limit search to the current layer" +msgstr "Ogranicz wyszukiwanie do aktywnej warstwy" -#. Name in the menus, should have a N_() around it for translation -#: ../src/extension/internal/filter/leopard-fur.h:25 -msgid "Purrrr, quiet the kitty is sleeping" -msgstr "" +#: ../src/dialogs/find.cpp:729 +#: ../src/ui/dialog/find.cpp:67 +msgid "Include _hidden" +msgstr "Uwzględnij _ukryte" -#. ID -- should be unique -#: ../src/extension/internal/filter/melt.h:22 -#, fuzzy -msgid "Melt" -msgstr "Metal" +#: ../src/dialogs/find.cpp:733 +#: ../src/ui/dialog/find.cpp:67 +msgid "Include hidden objects in search" +msgstr "Szukaj także wśród obiektów ukrytych" -#. Name in the menus, should have a N_() around it for translation -#: ../src/extension/internal/filter/melt.h:23 -#, fuzzy -msgid "Melt effect" -msgstr "Aktualny efekt" +#: ../src/dialogs/find.cpp:738 +#: ../src/ui/dialog/find.cpp:68 +msgid "Include l_ocked" +msgstr "Uwzględnij za_blokowane" -#. ID -- should be unique -#: ../src/extension/internal/filter/metal.h:24 -msgid "Metal" -msgstr "Metal" +#: ../src/dialogs/find.cpp:742 +#: ../src/ui/dialog/find.cpp:68 +msgid "Include locked objects in search" +msgstr "Szukaj także wśród zablokowanych obiektów" -#. Name in the menus, should have a N_() around it for translation -#: ../src/extension/internal/filter/metal.h:25 -msgid "Iron Man vector objects" -msgstr "Obiekty wektorowe Iron Man" +#: ../src/dialogs/find.cpp:753 +#: ../src/ui/dialog/find.cpp:85 +msgid "Clear values" +msgstr "Wyczyść wszystko" -#. ID -- should be unique -#: ../src/extension/internal/filter/motion-blur.h:24 -msgid "Motion Blur" -msgstr "Motion Blur" +#: ../src/dialogs/find.cpp:754 +#: ../src/ui/dialog/find.cpp:86 +msgid "Select objects matching all of the fields you filled in" +msgstr "Zaznacza obiekty spełniające wszystkie wybrane kryteria" -#. Name in the menus, should have a N_() around it for translation -#: ../src/extension/internal/filter/motion-blur.h:25 -msgid "Hmm, fast vectors" -msgstr "" +#: ../src/dialogs/find.cpp:754 +#: ../src/ui/dialog/find.cpp:86 +msgid "_Find" +msgstr "_Szukaj" -#. ID -- should be unique -#: ../src/extension/internal/filter/oil-slick.h:24 -msgid "OilSlick" -msgstr "OilSlick" +#: ../src/dialogs/guidelinedialog.cpp:44 +msgid "Unit:" +msgstr "Jednostki:" -#. Name in the menus, should have a N_() around it for translation -#: ../src/extension/internal/filter/oil-slick.h:25 -msgid "Ooops! Slippery!" -msgstr "" +#: ../src/dialogs/guidelinedialog.cpp:45 +#: ../src/dialogs/object-attributes.cpp:58 +#: ../src/dialogs/object-attributes.cpp:66 +#: ../src/widgets/toolbox.cpp:1438 +msgid "X:" +msgstr "X:" -#. ID -- should be unique -#: ../src/extension/internal/filter/patterned-glass.h:24 -msgid "PatternedGlass" -msgstr "PatternedGlass" +#: ../src/dialogs/guidelinedialog.cpp:46 +#: ../src/dialogs/object-attributes.cpp:59 +#: ../src/dialogs/object-attributes.cpp:67 +#: ../src/widgets/toolbox.cpp:1456 +msgid "Y:" +msgstr "Y:" -#. Name in the menus, should have a N_() around it for translation -#: ../src/extension/internal/filter/patterned-glass.h:25 -msgid "Doesn't work, bug" -msgstr "Nie działa - błąd." +#: ../src/dialogs/guidelinedialog.cpp:47 +msgid "Angle (degrees):" +msgstr "Kąt (stopnie):" -#. ID -- should be unique -#: ../src/extension/internal/filter/ridged-border.h:24 -msgid "Ridged Border" -msgstr "Ridged Border" +#: ../src/dialogs/guidelinedialog.cpp:48 +msgid "Move and/or rotate the guide relative to current settings" +msgstr "Przesuwa i/lub obraca prowadnicę względem aktualnego położenia" -#. ID -- should be unique -#: ../src/extension/internal/filter/ripple.h:24 -msgid "Ripple" -msgstr "Ripple" +#: ../src/dialogs/guidelinedialog.cpp:48 +msgid "Rela_tive change" +msgstr "Prz_esunięcie relatywne" -#. Name in the menus, should have a N_() around it for translation -#: ../src/extension/internal/filter/ripple.h:25 -msgid "You're 80% water" -msgstr "" +#: ../src/dialogs/guidelinedialog.cpp:114 +msgid "Set guide properties" +msgstr "Określ właściwości prowadnic" -#. ID -- should be unique -#: ../src/extension/internal/filter/roughen.h:24 -msgid "Roughen" -msgstr "Roughen" +#: ../src/dialogs/guidelinedialog.cpp:153 +msgid "Guideline" +msgstr "Prowadnica" -#. Name in the menus, should have a N_() around it for translation -#: ../src/extension/internal/filter/roughen.h:25 -msgid "Like Brad Pitt's stubble" -msgstr "" +#: ../src/dialogs/guidelinedialog.cpp:241 +#, c-format +msgid "Guideline ID: %s" +msgstr "ID prowadnicy: %s" -#. ID -- should be unique -#: ../src/extension/internal/filter/rubber-stamp.h:24 -msgid "RubberStamp" -msgstr "RubberStamp" +#: ../src/dialogs/guidelinedialog.cpp:247 +#, c-format +msgid "Current: %s" +msgstr "Aktualne ustawienia: %s" -#. Name in the menus, should have a N_() around it for translation -#: ../src/extension/internal/filter/rubber-stamp.h:25 -msgid "Use this to forge your passport" -msgstr "" +#: ../src/dialogs/iconpreview.cpp:139 +#, c-format +msgid "%d x %d" +msgstr "%d x %d" -#. ID -- should be unique -#: ../src/extension/internal/filter/sepia.h:24 -msgid "Sepia" -msgstr "Sepia" +#: ../src/dialogs/iconpreview.cpp:187 +#: ../src/ui/dialog/align-and-distribute.cpp:918 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1371 +#: ../src/widgets/desktop-widget.cpp:1580 +msgid "Selection" +msgstr "Zaznaczenie" -#. Name in the menus, should have a N_() around it for translation -#: ../src/extension/internal/filter/sepia.h:25 -msgid "Turn all the colors to be sepia tones" -msgstr "Zmień wszystkie kolory na sepię" +#: ../src/dialogs/iconpreview.cpp:189 +msgid "Selection only or whole document" +msgstr "Tylko zaznaczenie lub cały dokument" -#: ../src/extension/internal/filter/snow.h:32 -msgid "Snow" -msgstr "Śnnieg" +#: ../src/dialogs/iconpreview.cpp:197 +msgid "Refresh the icons" +msgstr "Odśwież ikony" -#: ../src/extension/internal/filter/snow.h:34 -#, fuzzy -msgid "Drift Size" -msgstr "Rozmiar punktów" +#. Create the label for the object id +#: ../src/dialogs/item-properties.cpp:120 +#: ../src/dialogs/item-properties.cpp:326 +#: ../src/dialogs/item-properties.cpp:419 +#: ../src/dialogs/item-properties.cpp:426 +msgid "_Id" +msgstr "_Id" -#: ../src/extension/internal/filter/snow.h:40 -msgid "When the weather outside is frightening..." -msgstr "Gdy na zwenątrz pogoda jest okropna..." +#: ../src/dialogs/item-properties.cpp:129 +msgid "The id= attribute (only letters, digits, and the characters .-_: allowed)" +msgstr "Identyfikator, atrybut 'id=' obiektu (dozwolone jedynie litery, cyfry, oraz znaki .-_: )" -#. ID -- should be unique -#: ../src/extension/internal/filter/speckle.h:24 -#, fuzzy -msgid "Speckle" -msgstr "Filtrowanie szumów" +#. Button for setting the object's id, label, title and description. +#: ../src/dialogs/item-properties.cpp:143 +#: ../src/verbs.cpp:2482 +#: ../src/verbs.cpp:2488 +msgid "_Set" +msgstr "_Ustaw" -#. Name in the menus, should have a N_() around it for translation -#: ../src/extension/internal/filter/speckle.h:25 -msgid "You look cute with speckles" +#. Create the label for the object label +#: ../src/dialogs/item-properties.cpp:152 +msgid "_Label" +msgstr "_Etykieta" + +#: ../src/dialogs/item-properties.cpp:161 +msgid "A freeform label for the object" +msgstr "Dowolna etykieta tekstowa obiektu" + +#. Create the label for the object title +#: ../src/dialogs/item-properties.cpp:173 +msgid "_Title" msgstr "" -#. ID -- should be unique -#: ../src/extension/internal/filter/zebra.h:24 -msgid "Zebra Stripes" -msgstr "Zebra Stripes" +#. Create the frame for the object description +#: ../src/dialogs/item-properties.cpp:191 +msgid "_Description" +msgstr "_Opis" -#. Name in the menus, should have a N_() around it for translation -#: ../src/extension/internal/filter/zebra.h:25 -msgid "Paint your object with zebra stripes" -msgstr "Wepełnia obiekt paskami zebry" +#. Hide +#: ../src/dialogs/item-properties.cpp:222 +msgid "_Hide" +msgstr "U_kryty" -#: ../src/extension/internal/gdkpixbuf-input.cpp:114 -#, c-format -msgid "%s GDK pixbuf Input" -msgstr "Źródło %s GDK pixbuf" +#: ../src/dialogs/item-properties.cpp:223 +msgid "Check to make the object invisible" +msgstr "Zaznaczenie powoduje, że obiekt staje się niewidoczny" -#: ../src/extension/internal/gimpgrad.cpp:274 -msgid "GIMP Gradients" -msgstr "Gradienty GIMP-a" +#. Lock +#. TRANSLATORS: "Lock" is a verb here +#: ../src/dialogs/item-properties.cpp:232 +msgid "L_ock" +msgstr "_Zablokowany" -#: ../src/extension/internal/gimpgrad.cpp:279 -msgid "GIMP Gradient (*.ggr)" -msgstr "Gradient GIMP-a (*.ggr)" +#: ../src/dialogs/item-properties.cpp:233 +msgid "Check to make the object insensitive (not selectable by mouse)" +msgstr "Zaznaczenie powoduje, że obiektu nie da się wybrać myszą" -#: ../src/extension/internal/gimpgrad.cpp:280 -msgid "Gradients used in GIMP" -msgstr "Gradienty używane w GIMP-ie" +#: ../src/dialogs/item-properties.cpp:309 +#: ../src/dialogs/item-properties.cpp:316 +msgid "Ref" +msgstr "Ref" -#: ../src/extension/internal/grid.cpp:192 ../src/ui/widget/panel.cpp:122 -msgid "Grid" -msgstr "Siatka" +#: ../src/dialogs/item-properties.cpp:378 +msgid "Lock object" +msgstr "Zablokuj obiekt" -#: ../src/extension/internal/grid.cpp:194 -msgid "Line Width" -msgstr "Szerokość linii" +#: ../src/dialogs/item-properties.cpp:378 +msgid "Unlock object" +msgstr "Odblokuj obiekt" -#: ../src/extension/internal/grid.cpp:195 -msgid "Horizontal Spacing" -msgstr "Odstępy poziome" +#: ../src/dialogs/item-properties.cpp:397 +msgid "Hide object" +msgstr "Ukryj obiekt" -#: ../src/extension/internal/grid.cpp:196 -msgid "Vertical Spacing" -msgstr "Odstępy pionowe" +#: ../src/dialogs/item-properties.cpp:397 +msgid "Unhide object" +msgstr "Wyświetl obiekt" -#: ../src/extension/internal/grid.cpp:202 ../share/extensions/eqtexsvg.inx.h:3 -#: ../share/extensions/funcplot.inx.h:12 ../share/extensions/gears.inx.h:5 -#: ../share/extensions/grid_cartesian.inx.h:15 -#: ../share/extensions/grid_polar.inx.h:18 -#: ../share/extensions/lindenmayer.inx.h:11 -#: ../share/extensions/polyhedron_3d.inx.h:32 -#: ../share/extensions/render_alphabetsoup.inx.h:3 -#: ../share/extensions/render_barcode.inx.h:5 -#: ../share/extensions/rtree.inx.h:4 ../share/extensions/spirograph.inx.h:6 -#: ../share/extensions/triangle.inx.h:10 -msgid "Render" -msgstr "Renderowanie" +#: ../src/dialogs/item-properties.cpp:421 +msgid "Id invalid! " +msgstr "Nieprawidłowy ID!" -#: ../src/extension/internal/grid.cpp:204 -msgid "Draw a path which is a grid" -msgstr "Tworzy ścieżkę w postaci siatki" +#: ../src/dialogs/item-properties.cpp:423 +msgid "Id exists! " +msgstr "Taki ID już istnieje!" -#: ../src/extension/internal/latex-pstricks.cpp:347 -msgid "LaTeX Print" -msgstr "Drukowanie LaTeX" +#: ../src/dialogs/item-properties.cpp:430 +msgid "Set object ID" +msgstr "Określ ID obiektu" -#: ../src/extension/internal/latex-pstricks-out.cpp:106 -msgid "LaTeX Output" -msgstr "Zapis LaTeX" +#: ../src/dialogs/item-properties.cpp:445 +msgid "Set object label" +msgstr "Określ etykietę obiektu" -#: ../src/extension/internal/latex-pstricks-out.cpp:111 -msgid "LaTeX With PSTricks macros (*.tex)" -msgstr "LaTeX z makrami PSTricks (*.tex)" +#: ../src/dialogs/item-properties.cpp:453 +msgid "Set object title" +msgstr "Określ tytuł obiektu" -#: ../src/extension/internal/latex-pstricks-out.cpp:112 -msgid "LaTeX PSTricks File" -msgstr "Plik LaTeX PSTricks" +#: ../src/dialogs/item-properties.cpp:463 +msgid "Set object description" +msgstr "Wprowadź opis obiektu: " -#: ../src/extension/internal/odf.cpp:2424 -msgid "OpenDocument Drawing Output" -msgstr "Zapis w formacie OpenDocument Drawing" +#: ../src/dialogs/layer-properties.cpp:47 +msgid "Layer name:" +msgstr "Nazwa warstwy:" -#: ../src/extension/internal/odf.cpp:2429 -msgid "OpenDocument drawing (*.odg)" -msgstr "OpenDocument drawing (*.odg)" +#: ../src/dialogs/layer-properties.cpp:115 +msgid "Add layer" +msgstr "Dodaj warstwę" -#: ../src/extension/internal/odf.cpp:2430 -msgid "OpenDocument drawing file" -msgstr "Plik OpenDocument Drawing" +#: ../src/dialogs/layer-properties.cpp:153 +msgid "Above current" +msgstr "Ponad aktywną" -#: ../src/extension/internal/pdf-cairo.cpp:127 -#: ../src/extension/internal/ps.cpp:147 -msgid "Print Destination" -msgstr "Przeznaczenie wydruku" +#: ../src/dialogs/layer-properties.cpp:157 +msgid "Below current" +msgstr "Poniżej aktywnej" -#. Print properties frame -#: ../src/extension/internal/pdf-cairo.cpp:142 -#: ../src/extension/internal/ps.cpp:162 -msgid "Print properties" -msgstr "Właściwości wydruku" +#: ../src/dialogs/layer-properties.cpp:160 +msgid "As sublayer of current" +msgstr "Jako warstwa podrzędna do aktywnej" -#: ../src/extension/internal/pdf-cairo.cpp:149 -msgid "Print using PDF operators" -msgstr "Drukuj używając operatorów PDF" +#: ../src/dialogs/layer-properties.cpp:164 +msgid "Position:" +msgstr "Lokalizacja:" -#: ../src/extension/internal/pdf-cairo.cpp:151 -msgid "" -"Use PDF vector operators. The resulting image is usually smaller in file " -"size and can be arbitrarily scaled, but patterns will be lost." -msgstr "" -"Zastosuj wektorowe operatory PDF. Plik wynikowy jest zwykle mniejszy i można " -"skalować zapisany w nim rysunek, ale zostaną utracone desenie" +#: ../src/dialogs/layer-properties.cpp:182 +msgid "Rename Layer" +msgstr "Zmiana nazwy warstwy" -#: ../src/extension/internal/pdf-cairo.cpp:156 -#: ../src/extension/internal/ps.cpp:176 -msgid "Print as bitmap" -msgstr "Drukuj jako bitmapę" +#: ../src/dialogs/layer-properties.cpp:185 +msgid "_Rename" +msgstr "_Zmień" -#: ../src/extension/internal/pdf-cairo.cpp:158 -#: ../src/extension/internal/ps.cpp:178 -msgid "" -"Print everything as bitmap. The resulting image is usually larger in file " -"size and cannot be arbitrarily scaled without quality loss, but all objects " -"will be rendered exactly as displayed." -msgstr "" -"Drukuj wszystko jako bitmapę. Plik wynikowy jest zwykle większy i nie można " -"skalować zapisanego w nim rysunku, ale wszystkie obiekty zostaną zobrazowane " -"dokładnie tak jak są wyświetlane na ekranie" +#: ../src/dialogs/layer-properties.cpp:195 +msgid "Rename layer" +msgstr "Zmień nazwę warstwy" -#: ../src/extension/internal/pdf-cairo.cpp:172 -#: ../src/extension/internal/ps.cpp:192 -msgid "Preferred resolution (dots per inch) of bitmap" -msgstr "Preferowana rozdzielczość bitmapy (w dpi)" +#. TRANSLATORS: This means "The layer has been renamed" +#: ../src/dialogs/layer-properties.cpp:197 +msgid "Renamed layer" +msgstr "Nazwa warstwy została zmieniona" -#: ../src/extension/internal/pdf-cairo.cpp:186 -#: ../src/extension/internal/ps.cpp:206 -msgid "Resolution:" -msgstr "Rozdzielczość:" +#: ../src/dialogs/layer-properties.cpp:201 +msgid "Add Layer" +msgstr "Dodaj warstwę" -#. Print destination frame -#: ../src/extension/internal/pdf-cairo.cpp:190 -#: ../src/extension/internal/ps.cpp:213 -msgid "Print destination" -msgstr "Przeznaczenie wydruku" +#: ../src/dialogs/layer-properties.cpp:203 +msgid "_Add" +msgstr "_Dodaj" -#: ../src/extension/internal/pdf-cairo.cpp:196 -#: ../src/extension/internal/ps.cpp:219 -msgid "" -"Printer name (as given by lpstat -p);\n" -"leave empty to use the system default printer.\n" -"Use '> filename' to print to file.\n" -"Use '| prog arg...' to pipe to a program." -msgstr "" -"Nazwa drukarki (uzyskana poleceniem lpstat -p);\n" -"pozostaw puste, aby użyć domyślnej drukarki systemowej.\n" -"Użyj '> nazwa_pliku', aby wydrukować do pliku.\n" -"Użyj '| nazwa_programu argumenty...', aby przesłać do programu" +#: ../src/dialogs/layer-properties.cpp:225 +msgid "New layer created." +msgstr "Utworzono nową warstwę" -#: ../src/extension/internal/pdf-cairo.cpp:1060 -msgid "PDF Print" -msgstr "Drukuj PDF" +#: ../src/dialogs/layers-panel.cpp:498 +#: ../src/widgets/layer-selector.cpp:595 +msgid "Hide layer" +msgstr "Ukryj warstwę" -#. TRANSLATORS: The following are document crop settings for PDF import -#. more info: http://www.acrobatusers.com/tech_corners/javascript_corner/tips/2006/page_bounds/ -#: ../src/extension/internal/pdfinput/pdf-input.cpp:56 -msgid "media box" -msgstr "obszaru MediaBox (strona)" +#: ../src/dialogs/layers-panel.cpp:498 +#: ../src/widgets/layer-selector.cpp:595 +msgid "Unhide layer" +msgstr "Wyświetl warstwę" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:57 -msgid "crop box" -msgstr "obszaru CropBox" +#: ../src/dialogs/layers-panel.cpp:509 +#: ../src/widgets/layer-selector.cpp:587 +msgid "Lock layer" +msgstr "Zablokuj warstwę" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:58 -msgid "trim box" -msgstr "obszaru TrimBox" +#: ../src/dialogs/layers-panel.cpp:509 +#: ../src/widgets/layer-selector.cpp:587 +msgid "Unlock layer" +msgstr "Odblokuj warstwę" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:59 -msgid "bleed box" -msgstr "obszaru BleedBox" +#: ../src/dialogs/layers-panel.cpp:649 +msgid "Layers" +msgstr "Warstwy" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:60 -msgid "art box" -msgstr "obszaru ArtBox" +#: ../src/dialogs/layers-panel.cpp:658 +msgid "New" +msgstr "Nowa" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:72 -msgid "Select page:" -msgstr "Wybierz stronę:" +#: ../src/dialogs/layers-panel.cpp:669 +msgid "Up" +msgstr "Do góry" -#. Display total number of pages -#: ../src/extension/internal/pdfinput/pdf-input.cpp:86 -#, c-format -msgid "out of %i" -msgstr "z %i" +#: ../src/dialogs/layers-panel.cpp:675 +msgid "Dn" +msgstr "Na dół" -#. Crop settings -#: ../src/extension/internal/pdfinput/pdf-input.cpp:92 -msgid "Clip to:" -msgstr "Przytnij do:" +#: ../src/dialogs/layers-panel.cpp:681 +msgid "Bot" +msgstr "Na spód" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:104 -msgid "Page settings" -msgstr "Ustawienia strony:" +#: ../src/dialogs/layers-panel.cpp:691 +msgid "X" +msgstr "X" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:106 -msgid "Precision of approximating gradient meshes:" -msgstr "Precyzja przybliżania siatek gradientu:" +#: ../src/dialogs/object-attributes.cpp:39 +msgid "Href:" +msgstr "Adres:" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:107 -msgid "" -"Note: setting the precision too high may result in a large SVG file " -"and slow performance." -msgstr "" -"Uwaga: Ustawiając bardzo dużą dokładność można spowodować powstanie " -"dużego pliku SVG i zmniejszyć wydajność" +#: ../src/dialogs/object-attributes.cpp:40 +msgid "Target:" +msgstr "Cel:" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:112 -#: ../src/extension/internal/pdfinput/pdf-input.cpp:381 -msgid "rough" -msgstr "niewygładzony" +#: ../src/dialogs/object-attributes.cpp:41 +msgid "Type:" +msgstr "Typ:" -#. Text options -#: ../src/extension/internal/pdfinput/pdf-input.cpp:116 -msgid "Text handling:" -msgstr "Obsługa tekstu:" +#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/linking.html#AElementXLinkRoleAttribute +#. Identifies the type of the related resource with an absolute URI +#: ../src/dialogs/object-attributes.cpp:44 +msgid "Role:" +msgstr "Rola:" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:118 -#: ../src/extension/internal/pdfinput/pdf-input.cpp:119 -msgid "Import text as text" -msgstr "Importuj tekst jako tekst" +#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/linking.html#AElementXLinkArcRoleAttribute +#. For situations where the nature/role alone isn't enough, this offers an additional URI defining the purpose of the link. +#: ../src/dialogs/object-attributes.cpp:47 +msgid "Arcrole:" +msgstr "Atrybut arcrole:" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:122 -msgid "Embed images" -msgstr "Osadź obrazy" +#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/linking.html#AElementXLinkTitleAttribute +#: ../src/dialogs/object-attributes.cpp:49 +msgid "Title:" +msgstr "Tytuł:" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:125 -msgid "Import settings" -msgstr "Ustawienia importu" +#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/linking.html#AElementXLinkActuateAttribute +#: ../src/dialogs/object-attributes.cpp:52 +msgid "Actuate:" +msgstr "Pobudzenie:" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:242 -msgid "PDF Import Settings" -msgstr "Ustawienia importu plików PDF" +#: ../src/dialogs/object-attributes.cpp:57 +msgid "URL:" +msgstr "URL:" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:382 -msgid "pdfinput|medium" -msgstr "średni" +#: ../src/dialogs/object-attributes.cpp:113 +#, c-format +msgid "%s Properties" +msgstr "%s Właściwości" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:383 -msgid "fine" -msgstr "dokładny" +#: ../src/dialogs/rdf.cpp:182 +msgid "CC Attribution" +msgstr "CC Attribution" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:384 -msgid "very fine" -msgstr "bardzo dokładny" +#: ../src/dialogs/rdf.cpp:187 +msgid "CC Attribution-ShareAlike" +msgstr "CC Attribution-ShareAlike" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:739 -msgid "PDF Input" -msgstr "Źródło PDF" +#: ../src/dialogs/rdf.cpp:192 +msgid "CC Attribution-NoDerivs" +msgstr "CC Attribution-NoDerivs" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:744 -msgid "Adobe PDF (*.pdf)" -msgstr "Adobe PDF (*.pdf)" +#: ../src/dialogs/rdf.cpp:197 +msgid "CC Attribution-NonCommercial" +msgstr "CC Attribution-NonCommercial" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:745 -msgid "Adobe Portable Document Format" -msgstr "Format Adobe Portable Document (PDF)" +#: ../src/dialogs/rdf.cpp:202 +msgid "CC Attribution-NonCommercial-ShareAlike" +msgstr "CC Attribution-NonCommercial-ShareAlike" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:752 -msgid "AI Input" -msgstr "Źródło AI" +#: ../src/dialogs/rdf.cpp:207 +msgid "CC Attribution-NonCommercial-NoDerivs" +msgstr "CC Attribution-NonCommercial-NoDerivs" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:757 -msgid "Adobe Illustrator 9.0 and above (*.ai)" -msgstr "Adobe Illustrator 9.0 lub nowszy (*.ai)" +#: ../src/dialogs/rdf.cpp:212 +msgid "Public Domain" +msgstr "Domena publiczna" -#: ../src/extension/internal/pdfinput/pdf-input.cpp:758 -msgid "Open files saved in Adobe Illustrator 9.0 and newer versions" -msgstr "" -"Otwórz pliki zapisane w programie Adobe Illustrator w wersji 9.0 lub nowszej" +#: ../src/dialogs/rdf.cpp:217 +msgid "FreeArt" +msgstr "FreeArt" -#: ../src/extension/internal/pov-out.cpp:666 -msgid "PovRay Output" -msgstr "Zapis PovRay" +#: ../src/dialogs/rdf.cpp:222 +msgid "Open Font License" +msgstr "Licencja Open Font" -#: ../src/extension/internal/pov-out.cpp:671 -msgid "PovRay (*.pov) (export splines)" -msgstr "PovRay (*.pov) (eksport krzywych)" +#: ../src/dialogs/rdf.cpp:239 +msgid "Title" +msgstr "Nazwa" -#: ../src/extension/internal/pov-out.cpp:672 -msgid "PovRay Raytracer File" -msgstr "Plik programu PovRay" +#: ../src/dialogs/rdf.cpp:240 +msgid "Name by which this document is formally known." +msgstr "Oficjalna nazwa dokumentu" -#: ../src/extension/internal/ps.cpp:147 -msgid "Print Configuration" -msgstr "Ustawienia wydruku" +#: ../src/dialogs/rdf.cpp:242 +msgid "Date" +msgstr "Data" -#: ../src/extension/internal/ps.cpp:169 -msgid "Print using PostScript operators" -msgstr "Drukuj używając poleceń PostScriptu" +#: ../src/dialogs/rdf.cpp:243 +msgid "Date associated with the creation of this document (YYYY-MM-DD)." +msgstr "Data utworzenia skojarzona z tym dokumentem w formacie (RRRR-MM-DD)" -#: ../src/extension/internal/ps.cpp:171 -msgid "" -"Use PostScript vector operators. The resulting image is usually smaller in " -"file size and can be arbitrarily scaled, but alpha transparency and patterns " -"will be lost." -msgstr "" -"Zastosuj wektorowe polecenia PostScriptu. Plik wynikowy jest zwykle mniejszy " -"i można skalować zapisany w nim rysunek, ale zostanie utracona " -"przezroczystość i desenie" +#: ../src/dialogs/rdf.cpp:245 +msgid "Format" +msgstr "Format" -#: ../src/extension/internal/ps.cpp:1753 -msgid "Postscript Print" -msgstr "Druk Postscript" +#: ../src/dialogs/rdf.cpp:246 +msgid "The physical or digital manifestation of this document (MIME type)." +msgstr "Fizyczny lub cyfrowy wyróżnik tego dokumentu (typ MIME)" -#: ../src/extension/internal/ps-out.cpp:82 -msgid "Postscript Output" -msgstr "Zapis Postscript" +#. _settings->add_checkbutton(false, SP_ATTR_STITCHTILES, _("Stitch Tiles"), "stitch", "noStitch"); +#: ../src/dialogs/rdf.cpp:248 +#: ../src/extension/internal/bitmap/addNoise.cpp:46 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2199 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2278 +msgid "Type" +msgstr "Typ:" -#: ../src/extension/internal/ps-out.cpp:89 -msgid "PostScript (*.ps)" -msgstr "PostScript (*.ps)" +#: ../src/dialogs/rdf.cpp:249 +msgid "Type of document (DCMI Type)." +msgstr "Typ dokumentu (typ DCMI)" -#: ../src/extension/internal/svg.cpp:55 -msgid "SVG Input" -msgstr "Źródło SVG" +#: ../src/dialogs/rdf.cpp:252 +msgid "Creator" +msgstr "Autor" -#: ../src/extension/internal/svg.cpp:60 -msgid "Scalable Vector Graphic (*.svg)" -msgstr "Scalable Vector Graphic (*.svg)" +#: ../src/dialogs/rdf.cpp:253 +msgid "Name of entity primarily responsible for making the content of this document." +msgstr "Nazwa jednostki odpowiedzialnej za zawartość tego dokumentu" -#: ../src/extension/internal/svg.cpp:61 -msgid "Inkscape native file format and W3C standard" -msgstr "Natywny format Inkscape i standard W3C" +#: ../src/dialogs/rdf.cpp:255 +msgid "Rights" +msgstr "Własność" -#: ../src/extension/internal/svg.cpp:69 -msgid "SVG Output Inkscape" -msgstr "Zapis w formacie SVG Inkscape" +#: ../src/dialogs/rdf.cpp:256 +msgid "Name of entity with rights to the Intellectual Property of this document." +msgstr "Nazwa jednostki posiadającej prawa autorskie do tego dokumentu" -#: ../src/extension/internal/svg.cpp:74 -msgid "Inkscape SVG (*.svg)" -msgstr "Inkscape SVG (*.svg)" +#: ../src/dialogs/rdf.cpp:258 +msgid "Publisher" +msgstr "Wydawca" -#: ../src/extension/internal/svg.cpp:75 -msgid "SVG format with Inkscape extensions" -msgstr "Format SVG z rozszerzeniami Inkscape" +#: ../src/dialogs/rdf.cpp:259 +msgid "Name of entity responsible for making this document available." +msgstr "Nazwa jednostki udostępniającej ten dokument" -#: ../src/extension/internal/svg.cpp:83 -#: ../src/ui/dialog/inkscape-preferences.cpp:942 -msgid "SVG Output" -msgstr "Zapis w formacie SVG" +#: ../src/dialogs/rdf.cpp:262 +msgid "Identifier" +msgstr "Identyfikator" -#: ../src/extension/internal/svg.cpp:88 -msgid "Plain SVG (*.svg)" -msgstr "Czysty format SVG (*.svg)" +#: ../src/dialogs/rdf.cpp:263 +msgid "Unique URI to reference this document." +msgstr "Unikalny identyfikator (URI) opisujący dokument" -#: ../src/extension/internal/svg.cpp:89 -msgid "Scalable Vector Graphics format as defined by the W3C" -msgstr "Format Scalable Vector Graphics zgodny z definicją W3C" +#: ../src/dialogs/rdf.cpp:265 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1395 +msgid "Source" +msgstr "Źródło" -#: ../src/extension/internal/svgz.cpp:47 -#: ../share/extensions/svgz_input.inx.h:3 -msgid "SVGZ Input" -msgstr "Źródło SVGZ" +#: ../src/dialogs/rdf.cpp:266 +msgid "Unique URI to reference the source of this document." +msgstr "Unikalny identyfikator (URI) dla źródła dokumentu" -#: ../src/extension/internal/svgz.cpp:53 ../src/extension/internal/svgz.cpp:67 -#: ../share/extensions/svgz_input.inx.h:1 -#: ../share/extensions/svgz_output.inx.h:1 -msgid "Compressed Inkscape SVG (*.svgz)" -msgstr "Skompresowany Inkscape SVG (*.svgz)" +#: ../src/dialogs/rdf.cpp:268 +msgid "Relation" +msgstr "Powiązanie" -#: ../src/extension/internal/svgz.cpp:54 -msgid "SVG file format compressed with GZip" -msgstr "Format SVG skompresowany programem GZip" +#: ../src/dialogs/rdf.cpp:269 +msgid "Unique URI to a related document." +msgstr "Identyfikator (URI) dla powiązanego dokumentu" -#: ../src/extension/internal/svgz.cpp:62 ../src/extension/internal/svgz.cpp:76 -#: ../share/extensions/svgz_output.inx.h:3 -msgid "SVGZ Output" -msgstr "Zapis SVGZ" +#: ../src/dialogs/rdf.cpp:271 +msgid "Language" +msgstr "Język" -#: ../src/extension/internal/svgz.cpp:68 -#: ../share/extensions/svgz_input.inx.h:2 -#: ../share/extensions/svgz_output.inx.h:2 -msgid "Inkscape's native file format compressed with GZip" -msgstr "Natywny format Inkscape skompresowany programem GZip" +#: ../src/dialogs/rdf.cpp:272 +msgid "Two-letter language tag with optional subtags for the language of this document. (e.g. 'en-GB')" +msgstr "Dwuliterowy wyróżnik języka z opcjonalnym dodatkowym wyróżnikiem języka dla tego dokumentu. (np. pl-PL)" -#: ../src/extension/internal/svgz.cpp:81 -msgid "Compressed plain SVG (*.svgz)" -msgstr "Skompresowany czysty SVG (*.svgz)" +#: ../src/dialogs/rdf.cpp:274 +msgid "Keywords" +msgstr "Słowa kluczowe" -#: ../src/extension/internal/svgz.cpp:82 -msgid "Scalable Vector Graphics format compressed with GZip" -msgstr "Format Scalable Vector Graphics skompresowany programem GZip" +#: ../src/dialogs/rdf.cpp:275 +msgid "The topic of this document as comma-separated key words, phrases, or classifications." +msgstr "Temat tego dokumentu w postaci oddzielonych przecinkami słów kluczowych, wyrażeń lub klasyfikacji" -#: ../src/extension/internal/win32.cpp:491 -msgid "Windows 32-bit Print" -msgstr "Windows 32-bit Print" +#. TRANSLATORS: "Coverage": the spatial or temporal characteristics of the content. +#. For info, see Appendix D of http://www.w3.org/TR/1998/WD-rdf-schema-19980409/ +#: ../src/dialogs/rdf.cpp:279 +msgid "Coverage" +msgstr "Tematyka" -#: ../src/extension/internal/wpg-input.cpp:102 -msgid "WPG Input" -msgstr "Źródło WPG" +#: ../src/dialogs/rdf.cpp:280 +msgid "Extent or scope of this document." +msgstr "Tematyka lub zakres tego dokumentu" -#: ../src/extension/internal/wpg-input.cpp:107 -msgid "WordPerfect Graphics (*.wpg)" -msgstr "WordPerfect Graphics (*.wpg)" +#: ../src/dialogs/rdf.cpp:283 +#: ../src/ui/widget/page-sizer.cpp:218 +msgid "Description" +msgstr "Opis" -#: ../src/extension/internal/wpg-input.cpp:108 -msgid "Vector graphics format used by Corel WordPerfect" -msgstr "Format grafiki wektorowej używany przez Corel WordPerfect" +#: ../src/dialogs/rdf.cpp:284 +msgid "A short account of the content of this document." +msgstr "Krótkie podsumowanie zawartości dokumentu" -#: ../src/extension/prefdialog.cpp:237 -msgid "Live Preview" -msgstr "Podgląd" +#. FIXME: need to handle 1 agent per line of input +#: ../src/dialogs/rdf.cpp:288 +msgid "Contributors" +msgstr "Współautorzy" -#: ../src/extension/prefdialog.cpp:237 -msgid "Controls whether the effect settings are rendered live on canvas" -msgstr "" -"Kontroluje w obszarze roboczym, czy ustawienia efektów są renderowane na " -"bieżąco" +#: ../src/dialogs/rdf.cpp:289 +msgid "Names of entities responsible for making contributions to the content of this document." +msgstr "Nazwy jednostek biorących udział w tworzeniu zawartości tego dokumentu" -#. We can't call sp_ui_error_dialog because we may be -#. running from the console, in which case calling sp_ui -#. routines will cause a segfault. See bug 1000350 - bryce -#. sp_ui_error_dialog(_("Format autodetect failed. The file is being opened as SVG.")); -#: ../src/extension/system.cpp:103 -msgid "Format autodetect failed. The file is being opened as SVG." -msgstr "" -"Nie udało się automatycznie rozpoznać formatu. Plik jest otwierany jako SVG" +#. TRANSLATORS: URL to a page that defines the license for the document +#: ../src/dialogs/rdf.cpp:293 +msgid "URI" +msgstr "URI" -#. TRANSLATORS: default.svg is localizable - this is the name of the default document -#. template. This way you can localize the default pagesize, translate the name of -#. the default layer, etc. If you wish to localize this file, please create a -#. localized share/templates/default.xx.svg file, where xx is your language code. -#: ../src/file.cpp:139 -msgid "default.svg" -msgstr "default.svg" +#. TRANSLATORS: this is where you put a URL to a page that defines the license +#: ../src/dialogs/rdf.cpp:295 +msgid "URI to this document's license's namespace definition." +msgstr "Adres URI do strony zawierającej definicję licencji tego dokumentu" -#: ../src/file.cpp:225 ../src/file.cpp:993 -#, c-format -msgid "Failed to load the requested file %s" -msgstr "Nie udało się wczytać żądanego pliku %s" +#. TRANSLATORS: fragment of XML representing the license of the document +#: ../src/dialogs/rdf.cpp:299 +msgid "Fragment" +msgstr "Fragment" -#: ../src/file.cpp:250 -msgid "Document not saved yet. Cannot revert." -msgstr "Dokument nie został jeszcze zapisany. Nie można go przywrócić." +#: ../src/dialogs/rdf.cpp:300 +msgid "XML fragment for the RDF 'License' section." +msgstr "Fragment XML zawierający sekcję licencji RDF" -#: ../src/file.cpp:256 -#, c-format -msgid "Changes will be lost! Are you sure you want to reload document %s?" -msgstr "Zmiany zostaną utracone! Czy na pewno wczytać ponownie dokument %s?" +#. TRANSLATORS: "Set" is a verb here +#: ../src/dialogs/sp-attribute-widget.cpp:166 +#: ../src/dialogs/sp-attribute-widget.cpp:773 +#: ../src/dialogs/xml-tree.cpp:533 +msgid "Set attribute" +msgstr "Określ atrybut" -#: ../src/file.cpp:285 -msgid "Document reverted." -msgstr "Dokument został przywrócony" +#: ../src/dialogs/stroke-style.cpp:292 +#: ../src/dialogs/stroke-style.cpp:351 +msgid "Set stroke color" +msgstr "Ustaw kolor konturu" -#: ../src/file.cpp:287 -msgid "Document not reverted." -msgstr "Dokumentu nie przywrócono" +#: ../src/dialogs/stroke-style.cpp:342 +#: ../src/ui/widget/selected-style.cpp:255 +#: ../src/ui/widget/selected-style.cpp:484 +msgid "Remove stroke" +msgstr "Usuń kontur" -#: ../src/file.cpp:437 -msgid "Select file to open" -msgstr "Wybierz plik do otworzenia" +#: ../src/dialogs/stroke-style.cpp:403 +msgid "Set gradient on stroke" +msgstr "Ustaw gradient konturu" -#: ../src/file.cpp:524 -msgid "Vacuum <defs>" -msgstr "Wyczyść <defs>" +#: ../src/dialogs/stroke-style.cpp:447 +msgid "Set pattern on stroke" +msgstr "Ustaw deseń konturu" -#: ../src/file.cpp:529 -#, c-format -msgid "Removed %i unused definition in <defs>." -msgid_plural "Removed %i unused definitions in <defs>." -msgstr[0] "Usunięto %i nieużywaną definicję w <defs>" -msgstr[1] "Usunięto %i nieużywane definicje w <defs>" -msgstr[2] "Usunięto %i nieużywanych definicji w <defs>" +#: ../src/dialogs/stroke-style.cpp:468 +#: ../src/ui/widget/selected-style.cpp:193 +#: ../src/ui/widget/selected-style.cpp:251 +#: ../src/ui/widget/selected-style.cpp:509 +#: ../src/ui/widget/style-swatch.cpp:335 +msgid "Unset stroke" +msgstr "Nie ustawiaj konturu" -#: ../src/file.cpp:534 -msgid "No unused definitions in <defs>." -msgstr "Nie ma nieużywanych definicji w <defs>" +#: ../src/dialogs/stroke-style.cpp:826 +#: ../src/widgets/gradient-vector.cpp:264 +#: ../src/widgets/paint-selector.cpp:885 +msgid "No document selected" +msgstr "Nie wybrano dokumentu" -#: ../src/file.cpp:563 -#, c-format -msgid "" -"No Inkscape extension found to save document (%s). This may have been " -"caused by an unknown filename extension." -msgstr "" -"Nie znaleziono rozszerzenia programu Inkscape obsługującego zapis dokumentu " -"(%s). Może być to spowodowane nieznanym rozszerzeniem pliku." +#: ../src/dialogs/stroke-style.cpp:910 +msgid "Set markers" +msgstr "Ustaw zakończenia" -#: ../src/file.cpp:564 ../src/file.cpp:572 -msgid "Document not saved." -msgstr "Dokument nie został zapisany" +#. Join type +#. TRANSLATORS: The line join style specifies the shape to be used at the +#. corners of paths. It can be "miter", "round" or "bevel". +#: ../src/dialogs/stroke-style.cpp:1121 +msgid "Join:" +msgstr "Połączenie:" -#: ../src/file.cpp:571 -#, c-format -msgid "File %s could not be saved." -msgstr "Plik %s nie mógł zostać zapisany" +#. TRANSLATORS: Miter join: joining lines with a sharp (pointed) corner. +#. For an example, draw a triangle with a large stroke width and modify the +#. "Join" option (in the Fill and Stroke dialog). +#: ../src/dialogs/stroke-style.cpp:1133 +msgid "Miter join" +msgstr "Ostre" -#: ../src/file.cpp:582 -msgid "Document saved." -msgstr "Dokument został zapisany" +#. TRANSLATORS: Round join: joining lines with a rounded corner. +#. For an example, draw a triangle with a large stroke width and modify the +#. "Join" option (in the Fill and Stroke dialog). +#: ../src/dialogs/stroke-style.cpp:1141 +msgid "Round join" +msgstr "Zaokrąglone" -#: ../src/file.cpp:721 ../src/file.cpp:1118 ../src/file.cpp:1235 -#, c-format -msgid "drawing%s" -msgstr "Rysunek%s" +#. TRANSLATORS: Bevel join: joining lines with a blunted (flattened) corner. +#. For an example, draw a triangle with a large stroke width and modify the +#. "Join" option (in the Fill and Stroke dialog). +#: ../src/dialogs/stroke-style.cpp:1149 +msgid "Bevel join" +msgstr "Ścięte" -#: ../src/file.cpp:727 -#, c-format -msgid "drawing-%d%s" -msgstr "Rysunek-%d%s" +#. Miterlimit +#. TRANSLATORS: Miter limit: only for "miter join", this limits the length +#. of the sharp "spike" when the lines connect at too sharp an angle. +#. When two line segments meet at a sharp angle, a miter join results in a +#. spike that extends well beyond the connection point. The purpose of the +#. miter limit is to cut off such spikes (i.e. convert them into bevels) +#. when they become too long. +#: ../src/dialogs/stroke-style.cpp:1160 +msgid "Miter limit:" +msgstr "Ograniczenie połączeń ostrych:" -#: ../src/file.cpp:746 -msgid "Select file to save a copy to" -msgstr "Wybierz plik do zapisania kopii do" +#: ../src/dialogs/stroke-style.cpp:1168 +msgid "Maximum length of the miter (in units of stroke width)" +msgstr "Maksymalna długość połączeń ostrych (w jednostkach szerokości konturu)" -#: ../src/file.cpp:748 -msgid "Select file to save to" -msgstr "Wybierz plik do zapisania w" +#. Cap type +#. TRANSLATORS: cap type specifies the shape for the ends of lines +#: ../src/dialogs/stroke-style.cpp:1180 +msgid "Cap:" +msgstr "Zakończenie:" -#: ../src/file.cpp:819 -msgid "No changes need to be saved." -msgstr "Brak zmian do zapisania" +#. TRANSLATORS: Butt cap: the line shape does not extend beyond the end point +#. of the line; the ends of the line are square +#: ../src/dialogs/stroke-style.cpp:1191 +msgid "Butt cap" +msgstr "Ostre" -#: ../src/file.cpp:836 -msgid "Saving document..." -msgstr "Zapisywanie dokumentu..." +#. TRANSLATORS: Round cap: the line shape extends beyond the end point of the +#. line; the ends of the line are rounded +#: ../src/dialogs/stroke-style.cpp:1198 +msgid "Round cap" +msgstr "Zaokrąglone" -#: ../src/file.cpp:990 -msgid "Import" -msgstr "Importuj" +#. TRANSLATORS: Square cap: the line shape extends beyond the end point of the +#. line; the ends of the line are square +#: ../src/dialogs/stroke-style.cpp:1205 +msgid "Square cap" +msgstr "Kwadratowe" -#: ../src/file.cpp:1022 -msgid "Select file to import" -msgstr "Wybierz plik do importu" +#. Dash +#: ../src/dialogs/stroke-style.cpp:1211 +msgid "Dashes:" +msgstr "Styl kresek:" -#: ../src/file.cpp:1140 ../src/file.cpp:1250 -msgid "Select file to export to" -msgstr "Wybierz plik do eksportu do" +#. TRANSLATORS: Path markers are an SVG feature that allows you to attach arbitrary shapes +#. (arrowheads, bullets, faces, whatever) to the start, end, or middle nodes of a path. +#: ../src/dialogs/stroke-style.cpp:1228 +msgid "Start Markers:" +msgstr "Znaczniki początkowe:" -#: ../src/file.cpp:1277 -msgid "Error saving a temporary copy" -msgstr "Błąd podczas zapisu kopi tymczasowej" +#: ../src/dialogs/stroke-style.cpp:1238 +msgid "Mid Markers:" +msgstr "Znaczniki środkowe:" -#: ../src/file.cpp:1296 -msgid "Open Clip Art Login" -msgstr "Login do galerii klipartów" +#: ../src/dialogs/stroke-style.cpp:1248 +msgid "End Markers:" +msgstr "Znaczniki końcowe:" -#: ../src/file.cpp:1317 -msgid "" -"Error exporting the document. Verify if the server name, username and " -"password are correct, if the server has support for webdav and verify if you " -"didn't forget to choose a license." -msgstr "" -"Błąd podczas eksportu dokumentu. Proszę sprawdzić poprawność nazwy serwera, " -"nazwy użytkownika i hasła. Jeśli serwer obsługuje protokół WebDAV proszę " -"sprawdzić, czy wybrano licencję." +#: ../src/dialogs/stroke-style.cpp:1572 +#: ../src/dialogs/stroke-style.cpp:1668 +msgid "Set stroke style" +msgstr "Określ styl konturu" -#: ../src/file.cpp:1338 -msgid "Document exported..." -msgstr "Dokument wyeksportowano..." +#: ../src/dialogs/swatches.cpp:248 +#, c-format +msgid "Color: %s; Click to set fill, Shift+click to set stroke" +msgstr "Kolor: %s; Kliknij, aby określić parametry wypełnienia, Shift+kliknięcie, aby określić parametry konturu" -#: ../src/file.cpp:1366 ../src/verbs.cpp:2182 -msgid "Import From Open Clip Art Library" -msgstr "Importuj z galerii klipartów" +#. TRANSLATORS: An item in context menu on a colour in the swatches +#: ../src/dialogs/swatches.cpp:298 +msgid "Set fill" +msgstr "Ustaw wypełnienie" -#: ../src/filter-enums.cpp:20 -msgid "Blend" -msgstr "Mieszanie" +#. TRANSLATORS: An item in context menu on a colour in the swatches +#: ../src/dialogs/swatches.cpp:306 +msgid "Set stroke" +msgstr "Ustaw kontur" -#: ../src/filter-enums.cpp:21 -msgid "Color Matrix" -msgstr "Macierz koloru" +#: ../src/dialogs/swatches.cpp:525 +msgid "Change color definition" +msgstr "Zmień definicję koloru" -#: ../src/filter-enums.cpp:22 -msgid "Component Transfer" -msgstr "Transfer komponentu" +#: ../src/dialogs/swatches.cpp:676 +msgid "Set fill color from swatch" +msgstr "Określ kolor wypełnienia wybierając próbkę z palety" -#: ../src/filter-enums.cpp:23 -msgid "Composite" -msgstr "Składanie" +#: ../src/dialogs/swatches.cpp:676 +msgid "Set stroke color from swatch" +msgstr "Określ kolor konturu wybierając próbkę z palety" -#: ../src/filter-enums.cpp:24 -msgid "Convolve Matrix" -msgstr "Macierz splotu" +#: ../src/dialogs/swatches.cpp:996 +#, c-format +msgid "Palettes directory (%s) is unavailable." +msgstr "Katalog palet (%s) jest niedostępny" -#: ../src/filter-enums.cpp:25 -msgid "Diffuse Lighting" -msgstr "Oświetlenie rozproszone" +#: ../src/dialogs/text-edit.cpp:200 +msgid "Font" +msgstr "Czcionka" -#: ../src/filter-enums.cpp:26 -msgid "Displacement Map" -msgstr "Mapa przemieszczenia" +#: ../src/dialogs/text-edit.cpp:223 +msgid "Layout" +msgstr "Rozmieszczenie" -#: ../src/filter-enums.cpp:27 -msgid "Flood" -msgstr "Wypełnienie" +#: ../src/dialogs/text-edit.cpp:237 +msgid "Align lines left" +msgstr "Wyrównanie do lewej" -#: ../src/filter-enums.cpp:29 ../src/selection-describer.cpp:53 -msgid "Image" -msgstr "Obrazek" +#. TRANSLATORS: `Center' here is a verb. +#: ../src/dialogs/text-edit.cpp:252 +msgid "Center lines" +msgstr "Wyśrodkowanie" -#: ../src/filter-enums.cpp:30 -msgid "Merge" -msgstr "Scalanie" +#: ../src/dialogs/text-edit.cpp:266 +msgid "Align lines right" +msgstr "Wyrównanie do prawej" -#: ../src/filter-enums.cpp:31 -msgid "Morphology" -msgstr "Morfologia" +#: ../src/dialogs/text-edit.cpp:280 +msgid "Justify lines" +msgstr "Wyjustowanie" -#: ../src/filter-enums.cpp:33 -msgid "Specular Lighting" -msgstr "Oświetlenie odbite" +#: ../src/dialogs/text-edit.cpp:302 +#: ../src/widgets/toolbox.cpp:6314 +msgid "Horizontal text" +msgstr "Poziomy układ tekstu" -#: ../src/filter-enums.cpp:34 -msgid "Tile" -msgstr "Kafelkowanie" +#: ../src/dialogs/text-edit.cpp:316 +#: ../src/widgets/toolbox.cpp:6326 +msgid "Vertical text" +msgstr "Pionowy układ tekstu" -#: ../src/filter-enums.cpp:35 ../src/filter-enums.cpp:118 -msgid "Turbulence" -msgstr "Turbulencja" +#: ../src/dialogs/text-edit.cpp:331 +msgid "Line spacing:" +msgstr "Odstęp między wierszami:" -#: ../src/filter-enums.cpp:40 -msgid "Source Graphic" -msgstr "Źródło grafiki" +#: ../src/dialogs/text-edit.cpp:424 +msgid "Set as default" +msgstr "Zapisz jako domyślne" -#: ../src/filter-enums.cpp:41 -msgid "Source Alpha" -msgstr "Źródło krycia" +#: ../src/dialogs/text-edit.cpp:665 +#: ../src/text-context.cpp:1508 +msgid "Set text style" +msgstr "Określ styl tekstu" -#: ../src/filter-enums.cpp:42 -msgid "Background Image" -msgstr "Obrazek tła" +#: ../src/dialogs/tiledialog.cpp:349 +msgid "Arrange in a grid" +msgstr "Rozłóż na siatce" -#: ../src/filter-enums.cpp:43 -msgid "Background Alpha" -msgstr "Krycie tła" +#: ../src/dialogs/tiledialog.cpp:653 +msgid "Rows:" +msgstr "Wiersze:" -#: ../src/filter-enums.cpp:44 -msgid "Fill Paint" -msgstr "Wypełnienie" +#: ../src/dialogs/tiledialog.cpp:661 +msgid "Number of rows" +msgstr "Liczba wierszy" -#: ../src/filter-enums.cpp:45 -msgid "Stroke Paint" -msgstr "Kontur" +#: ../src/dialogs/tiledialog.cpp:665 +msgid "Equal height" +msgstr "Jednakowa wysokość" -#. TRANSLATORS: This is a context string, only put the word "Normal" in your translation -#: ../src/filter-enums.cpp:52 -msgid "filterBlendMode|Normal" -msgstr "Normalny" +#: ../src/dialogs/tiledialog.cpp:675 +msgid "If not set, each row has the height of the tallest object in it" +msgstr "Jeśli wartość nie jest określona każdy wiersz ma wysokość najwyższego znajdującego się w nim obiektu" -#: ../src/filter-enums.cpp:53 -msgid "Multiply" -msgstr "Zwielokrotnij" +#. #### Radio buttons to control vertical alignment #### +#. #### Radio buttons to control horizontal alignment #### +#: ../src/dialogs/tiledialog.cpp:681 +#: ../src/dialogs/tiledialog.cpp:751 +msgid "Align:" +msgstr "Wyrównanie:" -#: ../src/filter-enums.cpp:54 -msgid "Screen" -msgstr "Przesiej" +#. #### Number of columns #### +#: ../src/dialogs/tiledialog.cpp:723 +msgid "Columns:" +msgstr "Kolumny:" -#: ../src/filter-enums.cpp:55 -msgid "Darken" -msgstr "Przyciemnij" +#: ../src/dialogs/tiledialog.cpp:731 +msgid "Number of columns" +msgstr "Liczba kolumn" -#: ../src/filter-enums.cpp:56 -msgid "Lighten" -msgstr "Rozjaśnij" +#: ../src/dialogs/tiledialog.cpp:735 +msgid "Equal width" +msgstr "Jednakowa szerokość" -#: ../src/filter-enums.cpp:62 -msgid "Matrix" -msgstr "Macierz" +#: ../src/dialogs/tiledialog.cpp:744 +msgid "If not set, each column has the width of the widest object in it" +msgstr "Jeśli wartość nie jest określona, każda kolumna ma szerokość najszerszego znajdującego się w niej obiektu" -#: ../src/filter-enums.cpp:63 -msgid "Saturate" -msgstr "Nasycenie" +#. #### Radio buttons to control spacing manually or to fit selection bbox #### +#: ../src/dialogs/tiledialog.cpp:790 +msgid "Fit into selection box" +msgstr "Dopasuj do ramki zaznaczenia" -#: ../src/filter-enums.cpp:64 -msgid "Hue Rotate" -msgstr "Zmiana odcienia" +#: ../src/dialogs/tiledialog.cpp:796 +msgid "Set spacing:" +msgstr "Ustawienia odstępów:" -#: ../src/filter-enums.cpp:65 -msgid "Luminance to Alpha" -msgstr "Luminancja dla krycia" +#: ../src/dialogs/tiledialog.cpp:816 +msgid "Vertical spacing between rows (px units)" +msgstr "Odstępy pionowe pomiędzy wierszami (w px)" -#. File -#: ../src/filter-enums.cpp:71 ../src/verbs.cpp:2159 -msgid "Default" -msgstr "Domyślny" +#: ../src/dialogs/tiledialog.cpp:841 +msgid "Horizontal spacing between columns (px units)" +msgstr "Odstępy poziome pomiędzy kolumnami (w px)" -#: ../src/filter-enums.cpp:72 -msgid "Over" -msgstr "Nad" +#: ../src/dialogs/tiledialog.cpp:865 +msgid "Arrange selected objects" +msgstr "Rozmieść zaznaczone obiekty" -#: ../src/filter-enums.cpp:73 -msgid "In" -msgstr "W" +#: ../src/dialogs/xml-tree.cpp:174 +msgid "Click to select nodes, drag to rearrange." +msgstr "Kliknięcie wybiera węzeł, przeciągnięcie zmienia jego pozycję" -#: ../src/filter-enums.cpp:74 -msgid "Out" -msgstr "Poza" +#: ../src/dialogs/xml-tree.cpp:185 +msgid "Click attribute to edit." +msgstr "Kliknięcie rozpoczyna edycję atrybutu" -#: ../src/filter-enums.cpp:75 -msgid "Atop" -msgstr "Na górze" +#: ../src/dialogs/xml-tree.cpp:189 +#, c-format +msgid "Attribute %s selected. Press Ctrl+Enter when done editing to commit changes." +msgstr "Wybrano atrybut %s. Naciśnięcie Ctrl + Enter po zakończeniu zapamiętuje zmiany." -#: ../src/filter-enums.cpp:76 -msgid "XOR" -msgstr "XOR" +#: ../src/dialogs/xml-tree.cpp:284 +msgid "Drag to reorder nodes" +msgstr "Przeciągnij, aby zmienić położenie węzłów" -#: ../src/filter-enums.cpp:77 -msgid "Arithmetic" -msgstr "Arytmetyczny" +#: ../src/dialogs/xml-tree.cpp:304 +msgid "New element node" +msgstr "Nowy węzeł elementu" -#: ../src/filter-enums.cpp:83 -msgid "Identity" -msgstr "Tożsamość" +#: ../src/dialogs/xml-tree.cpp:326 +msgid "New text node" +msgstr "Nowy węzeł tekstu" -#: ../src/filter-enums.cpp:84 -msgid "Table" -msgstr "Tabela" +#: ../src/dialogs/xml-tree.cpp:347 +#: ../src/dialogs/xml-tree.cpp:1425 +#: ../src/nodepath.cpp:2166 +msgid "Duplicate node" +msgstr "Powiel węzeł" -#: ../src/filter-enums.cpp:85 -msgid "Discrete" -msgstr "Dyskretny" +#: ../src/dialogs/xml-tree.cpp:368 +#: ../src/dialogs/xml-tree.cpp:1442 +#: ../src/nodepath.cpp:3413 +#: ../src/widgets/toolbox.cpp:1276 +msgid "Delete node" +msgstr "Usuń węzeł" -#: ../src/filter-enums.cpp:86 -msgid "Linear" -msgstr "Liniowy" +#: ../src/dialogs/xml-tree.cpp:384 +#: ../src/dialogs/xml-tree.cpp:1587 +msgid "Unindent node" +msgstr "Usuń wcięcie" -#: ../src/filter-enums.cpp:87 -msgid "Gamma" -msgstr "Gamma" +#: ../src/dialogs/xml-tree.cpp:399 +#: ../src/dialogs/xml-tree.cpp:1566 +msgid "Indent node" +msgstr "Utwórz wcięcie" -#: ../src/filter-enums.cpp:93 ../src/selection-chemistry.cpp:260 -#: ../src/widgets/gradient-selector.cpp:134 -msgid "Duplicate" -msgstr "Powiel" +#: ../src/dialogs/xml-tree.cpp:411 +#: ../src/dialogs/xml-tree.cpp:1519 +msgid "Raise node" +msgstr "Przenieś do góry" -#: ../src/filter-enums.cpp:94 -msgid "Wrap" -msgstr "Zawijaj" +#: ../src/dialogs/xml-tree.cpp:423 +#: ../src/dialogs/xml-tree.cpp:1536 +msgid "Lower node" +msgstr "Przenieś w dół" -#: ../src/filter-enums.cpp:101 ../src/flood-context.cpp:271 -#: ../src/widgets/sp-color-icc-selector.cpp:233 -#: ../src/widgets/sp-color-scales.cpp:398 -#: ../src/widgets/sp-color-scales.cpp:399 -msgid "Red" -msgstr "Czerwony" +#: ../src/dialogs/xml-tree.cpp:468 +#: ../src/dialogs/xml-tree.cpp:1460 +msgid "Delete attribute" +msgstr "Usuń atrybut" -#: ../src/filter-enums.cpp:102 ../src/flood-context.cpp:272 -#: ../src/widgets/sp-color-icc-selector.cpp:233 -#: ../src/widgets/sp-color-scales.cpp:401 -#: ../src/widgets/sp-color-scales.cpp:402 -msgid "Green" -msgstr "Zielony" +#. TRANSLATORS: "Attribute" is a noun here +#: ../src/dialogs/xml-tree.cpp:513 +msgid "Attribute name" +msgstr "Nazwa atrybutu" -#: ../src/filter-enums.cpp:103 ../src/flood-context.cpp:273 -#: ../src/widgets/sp-color-icc-selector.cpp:233 -#: ../src/widgets/sp-color-scales.cpp:404 -#: ../src/widgets/sp-color-scales.cpp:405 -msgid "Blue" -msgstr "Niebieski" +#. TRANSLATORS: "Set" is a verb here +#: ../src/dialogs/xml-tree.cpp:535 +msgid "Set" +msgstr "Ustaw" -#: ../src/filter-enums.cpp:104 ../src/flood-context.cpp:277 -msgid "Alpha" -msgstr "Krycie" +#. TRANSLATORS: "Attribute" is a noun here +#: ../src/dialogs/xml-tree.cpp:558 +msgid "Attribute value" +msgstr "Wartość atrybutu" -#: ../src/filter-enums.cpp:110 -msgid "Erode" -msgstr "Erozja" +#: ../src/dialogs/xml-tree.cpp:891 +msgid "Drag XML subtree" +msgstr "Przeciągnij gałąź XML" -#: ../src/filter-enums.cpp:111 -msgid "Dilate" -msgstr "Rozszerzanie" +#: ../src/dialogs/xml-tree.cpp:1327 +msgid "New element node..." +msgstr "Nowy węzeł elementu..." -#: ../src/filter-enums.cpp:117 -msgid "Fractal Noise" -msgstr "Szum fraktalny" +#: ../src/dialogs/xml-tree.cpp:1349 +#: ../src/ui/dialog/whiteboard-connect.cpp:116 +#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:102 +msgid "Cancel" +msgstr "Anuluj" -#: ../src/filter-enums.cpp:124 -msgid "Distant Light" -msgstr "Odległe światło" +#: ../src/dialogs/xml-tree.cpp:1357 +msgid "Create" +msgstr "Utwórz" -#: ../src/filter-enums.cpp:125 -msgid "Point Light" -msgstr "Światło punktowe" +#: ../src/dialogs/xml-tree.cpp:1391 +msgid "Create new element node" +msgstr "Utwórz nowy węzeł elementu" -#: ../src/filter-enums.cpp:126 -msgid "Spot Light" -msgstr "Reflektor" +#: ../src/dialogs/xml-tree.cpp:1407 +msgid "Create new text node" +msgstr "Utwórz nowy węzeł tekstu" -#: ../src/flood-context.cpp:270 -msgid "Visible Colors" -msgstr "Widoczne kolory" +#: ../src/dialogs/xml-tree.cpp:1489 +msgid "Change attribute" +msgstr "Zmień atrybut" -#: ../src/flood-context.cpp:276 ../src/widgets/sp-color-icc-selector.cpp:236 -#: ../src/widgets/sp-color-scales.cpp:430 -#: ../src/widgets/sp-color-scales.cpp:431 ../src/widgets/toolbox.cpp:3390 -#: ../share/extensions/color_randomize.inx.h:3 -msgid "Lightness" -msgstr "Jasność" +#: ../src/display/canvas-axonomgrid.cpp:392 +#: ../src/display/canvas-grid.cpp:657 +msgid "Grid _units:" +msgstr "Jednostki _siatki:" -#: ../src/flood-context.cpp:289 ../src/ui/dialog/inkscape-preferences.cpp:968 -msgid "Small" -msgstr "Mały" +#: ../src/display/canvas-axonomgrid.cpp:394 +#: ../src/display/canvas-grid.cpp:659 +#: ../src/ui/dialog/inkscape-preferences.cpp:898 +#: ../src/ui/dialog/inkscape-preferences.cpp:919 +msgid "X coordinate of grid origin" +msgstr "Współrzędna X początku siatki" -#: ../src/flood-context.cpp:290 ../src/ui/dialog/inkscape-preferences.cpp:968 -msgid "Medium" -msgstr "Średni" +#: ../src/display/canvas-axonomgrid.cpp:394 +#: ../src/display/canvas-grid.cpp:659 +msgid "_Origin X:" +msgstr "_Początek X:" -#: ../src/flood-context.cpp:291 -msgid "Large" -msgstr "Duży" +#: ../src/display/canvas-axonomgrid.cpp:396 +#: ../src/display/canvas-grid.cpp:661 +msgid "O_rigin Y:" +msgstr "P_oczątek Y:" -#: ../src/flood-context.cpp:491 -msgid "Too much inset, the result is empty." -msgstr "Za bardzo osadzone, brak rezultatu" +#: ../src/display/canvas-axonomgrid.cpp:396 +#: ../src/display/canvas-grid.cpp:661 +#: ../src/ui/dialog/inkscape-preferences.cpp:899 +#: ../src/ui/dialog/inkscape-preferences.cpp:920 +msgid "Y coordinate of grid origin" +msgstr "Współrzędna Y początku siatki" -#: ../src/flood-context.cpp:531 -#, c-format -msgid "" -"Area filled, path with %d node created and unioned with selection." -msgid_plural "" -"Area filled, path with %d nodes created and unioned with selection." -msgstr[0] "" -"Obszar został wypełniony, ścieżka z %d węzłem utworzona i połączona z " -"zaznaczeniem" -msgstr[1] "" -"Obszar został wypełniony, ścieżka z %d węzłami utworzona i połączona " -"z zaznaczeniem" -msgstr[2] "" -"Obszar został wypełniony, ścieżka z %d węzłami utworzona i połączona " -"z zaznaczeniem" +#: ../src/display/canvas-axonomgrid.cpp:398 +#: ../src/ui/dialog/inkscape-preferences.cpp:922 +msgid "Base length of z-axis" +msgstr "Bazowa długość osi Z" -#: ../src/flood-context.cpp:535 -#, c-format -msgid "Area filled, path with %d node created." -msgid_plural "Area filled, path with %d nodes created." -msgstr[0] "Obszar został wypełniony. Utworzono ścieżkę z %d węzłem" -msgstr[1] "Obszar został wypełniony. Utworzono ścieżkę z %d węzłami" -msgstr[2] "Obszar został wypełniony. Utworzono ścieżkę z %d węzłami" +#: ../src/display/canvas-axonomgrid.cpp:398 +#: ../src/display/canvas-grid.cpp:665 +msgid "Spacing _Y:" +msgstr "Odstępy _Y:" -#: ../src/flood-context.cpp:807 ../src/flood-context.cpp:1121 -msgid "Area is not bounded, cannot fill." -msgstr "Obszar nie jest zamknięty, nie można wypełnić" +#: ../src/display/canvas-axonomgrid.cpp:400 +#: ../src/ui/dialog/inkscape-preferences.cpp:925 +#: ../src/widgets/toolbox.cpp:2943 +msgid "Angle X:" +msgstr "Kąt X:" -#: ../src/flood-context.cpp:1126 -msgid "" -"Only the visible part of the bounded area was filled. If you want to " -"fill all of the area, undo, zoom out, and fill again." -msgstr "" -"Została wypełniona tylko widoczna część zaznaczonego obszaru. Jeśli " -"chcesz wypełnić cały obszar, cofnij operację, zmniejsz powiększenie i " -"spróbuj ponownie." +#: ../src/display/canvas-axonomgrid.cpp:400 +#: ../src/ui/dialog/inkscape-preferences.cpp:925 +msgid "Angle of x-axis" +msgstr "Kąt osi X" -#: ../src/flood-context.cpp:1144 ../src/flood-context.cpp:1304 -msgid "Fill bounded area" -msgstr "Wypełnij obszar zamknięty" +#: ../src/display/canvas-axonomgrid.cpp:402 +#: ../src/ui/dialog/inkscape-preferences.cpp:926 +#: ../src/widgets/toolbox.cpp:3022 +msgid "Angle Z:" +msgstr "Kąt Z:" -#: ../src/flood-context.cpp:1164 -msgid "Set style on object" -msgstr "Określ styl obiektu" +#: ../src/display/canvas-axonomgrid.cpp:402 +#: ../src/ui/dialog/inkscape-preferences.cpp:926 +msgid "Angle of z-axis" +msgstr "Kąt osi Z" -#: ../src/flood-context.cpp:1223 -msgid "Draw over areas to add to fill, hold Alt for touch fill" -msgstr "" -"Rysuj ponad obszarami, aby dodać do wypełnienia, przytrzymaj Alt dla wypełnienia" +#: ../src/display/canvas-axonomgrid.cpp:406 +#: ../src/display/canvas-grid.cpp:669 +msgid "Color of grid lines" +msgstr "Kolor linii siatki" -#: ../src/gradient-context.cpp:132 ../src/gradient-drag.cpp:74 -msgid "Linear gradient start" -msgstr "Początek gradientu liniowego" +#: ../src/display/canvas-axonomgrid.cpp:406 +#: ../src/display/canvas-grid.cpp:669 +msgid "Grid line _color:" +msgstr "_Kolor linii siatki:" -#. POINT_LG_BEGIN -#: ../src/gradient-context.cpp:133 ../src/gradient-drag.cpp:75 -msgid "Linear gradient end" -msgstr "Koniec gradientu liniowego" +#: ../src/display/canvas-axonomgrid.cpp:406 +#: ../src/display/canvas-grid.cpp:669 +msgid "Grid line color" +msgstr "Kolor linii siatki" -#: ../src/gradient-context.cpp:134 ../src/gradient-drag.cpp:76 -msgid "Linear gradient mid stop" -msgstr "Punkt kontrolny gradientu liniowego" +#: ../src/display/canvas-axonomgrid.cpp:411 +#: ../src/display/canvas-grid.cpp:674 +msgid "Ma_jor grid line color:" +msgstr "Kolor _linii głównych:" -#: ../src/gradient-context.cpp:135 ../src/gradient-drag.cpp:77 -msgid "Radial gradient center" -msgstr "Środek gradientu radialnego" +#: ../src/display/canvas-axonomgrid.cpp:411 +#: ../src/display/canvas-grid.cpp:674 +msgid "Major grid line color" +msgstr "Kolor linii głównych" -#: ../src/gradient-context.cpp:136 ../src/gradient-context.cpp:137 -#: ../src/gradient-drag.cpp:78 ../src/gradient-drag.cpp:79 -msgid "Radial gradient radius" -msgstr "Promień gradientu radialnego" +#: ../src/display/canvas-axonomgrid.cpp:412 +#: ../src/display/canvas-grid.cpp:675 +msgid "Color of the major (highlighted) grid lines" +msgstr "Kolor głównych (podświetlonych) linii siatki" -#: ../src/gradient-context.cpp:138 ../src/gradient-drag.cpp:80 -msgid "Radial gradient focus" -msgstr "Ognisko gradientu radialnego" +#: ../src/display/canvas-axonomgrid.cpp:416 +#: ../src/display/canvas-grid.cpp:679 +msgid "_Major grid line every:" +msgstr "_Rozstaw linii głównych:" -#. POINT_RG_FOCUS -#: ../src/gradient-context.cpp:139 ../src/gradient-context.cpp:140 -#: ../src/gradient-drag.cpp:81 ../src/gradient-drag.cpp:82 -msgid "Radial gradient mid stop" -msgstr "Środkowy punkt kontrolny gradientu radialnego" +#: ../src/display/canvas-axonomgrid.cpp:416 +#: ../src/display/canvas-grid.cpp:679 +msgid "lines" +msgstr "linii" -#. TRANSLATORS: %s will be substituted with the point name (see previous messages); This is part of a compound message -#: ../src/gradient-context.cpp:162 -#, c-format -msgid "%s selected" -msgstr "%s wybrany" +#: ../src/display/canvas-grid.cpp:40 +msgid "Rectangular grid" +msgstr "Siatka prostokątna" -#. TRANSLATORS: Mind the space in front. This is part of a compound message -#: ../src/gradient-context.cpp:164 ../src/gradient-context.cpp:173 -#, c-format -msgid " out of %d gradient handle" -msgid_plural " out of %d gradient handles" -msgstr[0] " z %d uchwytu gradientu" -msgstr[1] " z %d uchwytów gradientu" -msgstr[2] " z %d uchwytów gradientu" +#: ../src/display/canvas-grid.cpp:41 +msgid "Axonometric grid" +msgstr "Siatka aksonometryczna" -#. TRANSLATORS: Mind the space in front. (Refers to gradient handles selected). This is part of a compound message -#: ../src/gradient-context.cpp:165 ../src/gradient-context.cpp:174 -#: ../src/gradient-context.cpp:181 -#, c-format -msgid " on %d selected object" -msgid_plural " on %d selected objects" -msgstr[0] " na %d zaznaczonym obiekcie" -msgstr[1] " na %d zaznaczonych obiektach" -msgstr[2] " na %d zaznaczonych obiektach" +#: ../src/display/canvas-grid.cpp:259 +msgid "Create new grid" +msgstr "Utwórz nową siatkę" -#. TRANSLATORS: This is a part of a compound message (out of two more indicating: grandint handle count & object count) -#: ../src/gradient-context.cpp:171 -#, c-format -msgid "" -"One handle merging %d stop (drag with Shift to separate) selected" -msgid_plural "" -"One handle merging %d stops (drag with Shift to separate) selected" -msgstr[0] "" -"Zaznaczono jeden uchwyt łączący %d punkt (wykonaj ciągnięcie z Shift, " -"aby wydzielić)" -msgstr[1] "" -"Zaznaczono jeden uchwyt łączący %d punkty (wykonaj ciągnięcie z Shift, aby wydzielić)" -msgstr[2] "" -"Zaznaczono jeden uchwyt łączący %d punktów (wykonaj ciągnięcie z Shift, aby wydzielić)" +#: ../src/display/canvas-grid.cpp:325 +msgid "_Enabled" +msgstr "_Włączone" -#. TRANSLATORS: The plural refers to number of selected gradient handles. This is part of a compound message (part two indicates selected object count) -#: ../src/gradient-context.cpp:179 -#, c-format -msgid "%d gradient handle selected out of %d" -msgid_plural "%d gradient handles selected out of %d" -msgstr[0] "Zaznaczono %d z %d uchwytu gradientu" -msgstr[1] "Zaznaczono %d z %d uchwytów gradientu" -msgstr[2] "Zaznaczono %d z %d uchwytów gradientu" +#: ../src/display/canvas-grid.cpp:326 +msgid "Determines whether to snap to this grid or not. Can be 'on' for invisible grids." +msgstr "Włącza/wyłącza przyciąganie do tej siatki. Może być włączone także dla niewidocznej siatki." -#. TRANSLATORS: The plural refers to number of selected objects -#: ../src/gradient-context.cpp:186 -#, c-format -msgid "No gradient handles selected out of %d on %d selected object" -msgid_plural "" -"No gradient handles selected out of %d on %d selected objects" -msgstr[0] "" -"Nie ma zaznaczonych uchwytów gradientu z %d istniejących na %d " -"zaznaczonym obiekcie" -msgstr[1] "" -"Nie ma zaznaczonych uchwytów gradientu z %d istniejących na %d " -"zaznaczonych obiektach" -msgstr[2] "" -"Nie ma zaznaczonych uchwytów gradientu z %d istniejących na %d " -"zaznaczonych obiektach" - -#: ../src/gradient-context.cpp:385 ../src/gradient-context.cpp:478 -#: ../src/widgets/gradient-vector.cpp:735 -msgid "Add gradient stop" -msgstr "Dodaj punkt kontrolny" +#: ../src/display/canvas-grid.cpp:329 +msgid "_Visible" +msgstr "_Widoczna" -#: ../src/gradient-context.cpp:453 -msgid "Simplify gradient" -msgstr "Uprość gradient" +#: ../src/display/canvas-grid.cpp:330 +msgid "Determines whether the grid is displayed or not. Objects are still snapped to invisible grids." +msgstr "Włącza/wyłącza wyświetlanie siatki. Gdy siatka jest niewidoczna, obiekty są cały czas przyciągane." -#: ../src/gradient-context.cpp:529 -msgid "Create default gradient" -msgstr "Utwórz domyślny gradient" +#: ../src/display/canvas-grid.cpp:663 +#: ../src/ui/dialog/inkscape-preferences.cpp:902 +msgid "Distance between vertical grid lines" +msgstr "Odległość pomiędzy pionowymi liniami siatki" -#: ../src/gradient-context.cpp:584 -msgid "Draw around handles to select them" -msgstr "Wykonaj ciągnięcie wokół uchwytów, aby je zaznaczyć" +#: ../src/display/canvas-grid.cpp:663 +msgid "Spacing _X:" +msgstr "Odstępy _X:" -#: ../src/gradient-context.cpp:682 -msgid "Ctrl: snap gradient angle" -msgstr "Ctrl: przyciąganie kąta gradientu" +#: ../src/display/canvas-grid.cpp:665 +#: ../src/ui/dialog/inkscape-preferences.cpp:903 +msgid "Distance between horizontal grid lines" +msgstr "Odległość pomiędzy poziomymi liniami siatki" -#: ../src/gradient-context.cpp:683 -msgid "Shift: draw gradient around the starting point" -msgstr "Shift: rysowanie gradientu wokół punktu początkowego" +#: ../src/display/canvas-grid.cpp:698 +msgid "_Show dots instead of lines" +msgstr "_Wyświetlaj kropki zamiast linii" -#: ../src/gradient-context.cpp:803 -msgid "Invert gradient" -msgstr "Odwróć gradient" +#: ../src/display/canvas-grid.cpp:699 +msgid "If set, displays dots at gridpoints instead of gridlines" +msgstr "Siatka będzie wyświetlana za pomocą kropek" -#: ../src/gradient-context.cpp:919 +#: ../src/document.cpp:416 #, c-format -msgid "Gradient for %d object; with Ctrl to snap angle" -msgid_plural "Gradient for %d objects; with Ctrl to snap angle" -msgstr[0] "Gradient dla %d obiektu. Z Ctrl przyciąganie do kąta" -msgstr[1] "Gradient dla %d obiektów. Z Ctrl przyciąganie do kąta" -msgstr[2] "Gradient dla %d obiektów. Z Ctrl przyciąganie do kąta" +msgid "New document %d" +msgstr "Nowy dokument %d" -#: ../src/gradient-context.cpp:923 -msgid "Select objects on which to create gradient." -msgstr "Zaznacz obiekty, dla których utworzyć gradient" +#: ../src/document.cpp:448 +#, c-format +msgid "Memory document %d" +msgstr "Dokument w pamięci %d" -#: ../src/gradient-drag.cpp:573 -msgid "Merge gradient handles" -msgstr "Połącz uchwyty gradientu" +#: ../src/document.cpp:603 +#, c-format +msgid "Unnamed document %d" +msgstr "Dokument bez nazwy %d" -#: ../src/gradient-drag.cpp:895 -msgid "Move gradient handle" -msgstr "Przesuń uchwyt gradientu" +#. We hit green anchor, closing Green-Blue-Red +#: ../src/draw-context.cpp:569 +msgid "Path is closed." +msgstr "Ścieżka jest zamknięta" -#: ../src/gradient-drag.cpp:948 ../src/widgets/gradient-vector.cpp:767 -msgid "Delete gradient stop" -msgstr "Usuń punkt kontrolny" +#. We hit bot start and end of single curve, closing paths +#: ../src/draw-context.cpp:584 +msgid "Closing path." +msgstr "Zamknięcie ścieżki" -#: ../src/gradient-drag.cpp:1112 -#, c-format -msgid "" -"%s %d for: %s%s; drag with Ctrl to snap offset; click with Ctrl" -"+Alt to delete stop" -msgstr "" -"%s %d dla: %s%s. Ciągnij z Ctrl, aby przyciągnąć przesunięcie. " -"Ctrl + Alt + kliknięcie, aby usunąć punkt kontrolny." +#: ../src/draw-context.cpp:694 +msgid "Draw path" +msgstr "Rysuj ścieżkę" -#: ../src/gradient-drag.cpp:1116 ../src/gradient-drag.cpp:1123 -msgid " (stroke)" -msgstr " (kontur)" +#: ../src/draw-context.cpp:851 +msgid "Creating single dot" +msgstr "Tworzenie pojedynczego punktu" -#: ../src/gradient-drag.cpp:1120 +#: ../src/draw-context.cpp:852 +msgid "Create single dot" +msgstr "Utwórz pojedynczy punkt" + +#. alpha of color under cursor, to show in the statusbar +#. locale-sensitive printf is OK, since this goes to the UI, not into SVG +#: ../src/dropper-context.cpp:288 #, c-format -msgid "" -"%s for: %s%s; drag with Ctrl to snap angle, with Ctrl+Alt to " -"preserve angle, with Ctrl+Shift to scale around center" -msgstr "" -"%s dla: %s%s. Ciągnięcie z Ctrl - przyciągnie do kąta, z Ctrl + " -"Alt - zachowanie kąta, z Ctrl + Shift skalowanie od środka." +msgid " alpha %.3g" +msgstr " przezroczystość %.3g" -#: ../src/gradient-drag.cpp:1128 -msgid "" -"Radial gradient center and focus; drag with Shift to " -"separate focus" -msgstr "" -"Środek i ognisko gradientu radialnego. Aby oddzielić ognisko " -"wykonaj ciągnięcie z klawiszem Shift" +#: ../src/dropper-context.cpp:290 +#, c-format +msgid " under cursor" +msgstr " - kolor wskazany przez próbnik" -#: ../src/gradient-drag.cpp:1131 +#. where the color is picked, to show in the statusbar +#: ../src/dropper-context.cpp:290 #, c-format -msgid "" -"Gradient point shared by %d gradient; drag with Shift to " -"separate" -msgid_plural "" -"Gradient point shared by %d gradients; drag with Shift to " -"separate" -msgstr[0] "" -"Punkt kontrolny gradientu wspólny dla %d gradientu. Wykonaj " -"ciągnięcie z Shift, aby je rozdzielić" -msgstr[1] "" -"Punkt kontrolny gradientu wspólny dla %d gradientów. Wykonaj " -"ciągnięcie z Shift, aby je rozdzielić" -msgstr[2] "" -"Punkt kontrolny gradientu wspólny dla %d gradientów. Wykonaj " -"ciągnięcie z Shift, aby je rozdzielić" +msgid ", averaged with radius %d" +msgstr ", wartość uśredniona w promieniu %d" -#: ../src/gradient-drag.cpp:1806 -msgid "Move gradient handle(s)" -msgstr "Przesuń uchwyt(y) gradientu" +#: ../src/dropper-context.cpp:292 +#: ../src/tools-switch.cpp:232 +msgid "Click to set fill, Shift+click to set stroke; drag to average color in area; with Alt to pick inverse color; Ctrl+C to copy the color under mouse to clipboard" +msgstr "Kliknij, aby ustawić kolor wypełnienia, Shift + kliknięcie - kolor konturu; wykonaj ciągnięcie, aby pobrać uśredniony kolor z obszaru, z Alt, aby pobrać odwrotność koloru; Ctrl + C, aby skopiować wskazany próbnikiem kolor do schowka" -#: ../src/gradient-drag.cpp:1842 -msgid "Move gradient mid stop(s)" -msgstr "Przesuń środkowy punkt(y) kontrolny(e)" +#. message, to show in the statusbar +#: ../src/dropper-context.cpp:292 +msgid "Release mouse to set color." +msgstr "Zwolnij przycisk myszy, aby ustawić kolor" -#: ../src/gradient-drag.cpp:2130 -msgid "Delete gradient stop(s)" -msgstr "Usuń punkt(y) kontrolny(e)" +#: ../src/dropper-context.cpp:325 +msgid "Set picked color" +msgstr "Ustaw pobrany kolor" -#: ../src/helper/units.cpp:37 -msgid "Unit" -msgstr "Jednostka" +#: ../src/dyna-draw-context.cpp:619 +msgid "Guide path selected; start drawing along the guide with Ctrl" +msgstr "Wybrano ścieżkę prowadnicy. Rozpocznij rysowanie wzdłuż prowadnicy używając Ctrl" -#. Add the units menu. -#: ../src/helper/units.cpp:37 ../src/widgets/select-toolbar.cpp:490 -#: ../src/widgets/toolbox.cpp:1280 ../src/widgets/toolbox.cpp:2457 -#: ../src/widgets/toolbox.cpp:5758 -msgid "Units" -msgstr "Jednostki" +#: ../src/dyna-draw-context.cpp:621 +msgid "Select a guide path to track with Ctrl" +msgstr "Wybierz ścieżkę prowadnicy do śledzenia z Ctrl" -#: ../src/helper/units.cpp:38 -msgid "Point" -msgstr "Punkt" +#: ../src/dyna-draw-context.cpp:726 +msgid "Tracking a guide path" +msgstr "Śledzi ścieżkę prowadzącą" -#: ../src/helper/units.cpp:38 ../src/ui/widget/selected-style.cpp:287 -msgid "pt" -msgstr "pkt" +#: ../src/dyna-draw-context.cpp:726 +msgid "Tracking: connection to guide path lost!" +msgstr "Śledzenie: Połączenie ze ścieżką prowadnicy zostało utracone!" -#: ../src/helper/units.cpp:38 ../share/extensions/perfectboundcover.inx.h:16 -msgid "Points" -msgstr "Punkty" +#: ../src/dyna-draw-context.cpp:729 +msgid "Drawing a calligraphic stroke" +msgstr "Rysuje linie kaligraficzne" -#: ../src/helper/units.cpp:38 -msgid "Pt" -msgstr "Pkt" +#: ../src/dyna-draw-context.cpp:1008 +msgid "Draw calligraphic stroke" +msgstr "Rysuj linie kaligraficzne" -#: ../src/helper/units.cpp:39 -msgid "Pica" -msgstr "Pika" +#: ../src/eraser-context.cpp:527 +#, fuzzy +msgid "Drawing an eraser stroke" +msgstr "Rysuje linie kaligraficzne" -#: ../src/helper/units.cpp:39 -msgid "pc" -msgstr "pc" +#: ../src/eraser-context.cpp:828 +#, fuzzy +msgid "Draw eraser stroke" +msgstr "Rysuj linie kaligraficzne" -#: ../src/helper/units.cpp:39 -msgid "Picas" -msgstr "Piki" +#: ../src/event-context.cpp:608 +msgid "Space+mouse drag to pan canvas" +msgstr "Klawisz spacji + ciągnięcie myszą przemieszcza obszar roboczy" -#: ../src/helper/units.cpp:39 -msgid "Pc" -msgstr "Pc" +#: ../src/event-log.cpp:37 +msgid "[Unchanged]" +msgstr "[Nie zmieniono]" -#: ../src/helper/units.cpp:40 -msgid "Pixel" -msgstr "Piksel" +#. Edit +#: ../src/event-log.cpp:264 +#: ../src/event-log.cpp:267 +#: ../src/verbs.cpp:2260 +msgid "_Undo" +msgstr "Wy_cofaj" -#: ../src/helper/units.cpp:40 ../src/ui/dialog/inkscape-preferences.cpp:198 -#: ../src/ui/dialog/inkscape-preferences.cpp:202 -#: ../src/ui/dialog/inkscape-preferences.cpp:205 -#: ../src/ui/widget/selected-style.cpp:283 -msgid "px" -msgstr "px" +#: ../src/event-log.cpp:274 +#: ../src/event-log.cpp:278 +#: ../src/verbs.cpp:2262 +msgid "_Redo" +msgstr "P_rzywróć" -#: ../src/helper/units.cpp:40 -msgid "Pixels" -msgstr "Piksele" +#: ../src/extension/dependency.cpp:261 +msgid "Dependency:" +msgstr "Zależności:" -#: ../src/helper/units.cpp:40 -msgid "Px" -msgstr "Px" +#: ../src/extension/dependency.cpp:262 +msgid " type: " +msgstr " typ: " -#. You can add new elements from this point forward -#: ../src/helper/units.cpp:42 ../share/extensions/straightseg.inx.h:3 -msgid "Percent" -msgstr "Procent" +#: ../src/extension/dependency.cpp:263 +msgid " location: " +msgstr " położenie: " -#: ../src/helper/units.cpp:42 ../src/ui/dialog/inkscape-preferences.cpp:218 -msgid "%" -msgstr "%" +#: ../src/extension/dependency.cpp:264 +msgid " string: " +msgstr " ciąg znaków: " -#: ../src/helper/units.cpp:42 -msgid "Percents" -msgstr "Procenty" +#: ../src/extension/dependency.cpp:267 +msgid " description: " +msgstr " opis: " -#: ../src/helper/units.cpp:43 -msgid "Millimeter" -msgstr "Milimetr" +#: ../src/extension/effect.cpp:35 +msgid " (No preferences)" +msgstr "(Brak ustawień)" -#: ../src/helper/units.cpp:43 ../src/ui/widget/selected-style.cpp:291 -msgid "mm" -msgstr "mm" +#. This is some filler text, needs to change before relase +#: ../src/extension/error-file.cpp:53 +msgid "" +"One or more extensions failed to load\n" +"\n" +"The failed extensions have been skipped. Inkscape will continue to run normally but those extensions will be unavailable. For details to troubleshoot this problem, please refer to the error log located at: " +msgstr "" +"Nie udało się wczytać jednego lub więcej rozszerzeń\n" +"\n" +"Niewłaściwe rozszerzenia zostały pominięte. Inkscape zostanie uruchomiony normalnie, ale rozszerzenia te nie będą dostępne. Szczegóły pomocne w rozwiązaniu tego problemu zostały zapisane w dzienniku błędów zlokalizowanym w: " -#: ../src/helper/units.cpp:43 -msgid "Millimeters" -msgstr "Milimetry" +#. This is some filler text, needs to change before relase +#: ../src/extension/error-file.cpp:62 +msgid "Show dialog on startup" +msgstr "Wyświetlaj to okno podczas uruchamiania programu" -#: ../src/helper/units.cpp:44 -msgid "Centimeter" -msgstr "Centymetr" +#: ../src/extension/execution-env.cpp:134 +#, c-format +msgid "'%s' working, please wait..." +msgstr "\"%s\" pracuje. Proszę czekać..." -#: ../src/helper/units.cpp:44 -msgid "cm" -msgstr "cm" +#. static int i = 0; +#. std::cout << "Checking module[" << i++ << "]: " << name << std::endl; +#: ../src/extension/extension.cpp:252 +msgid " This is caused by an improper .inx file for this extension. An improper .inx file could have been caused by a faulty installation of Inkscape." +msgstr " Spowodowane jest to niewłaściwym plikiem .inx dla tego rozszerzenia. Przyczyną może być niewłaściwa instalacja Inkscape." -#: ../src/helper/units.cpp:44 -msgid "Centimeters" -msgstr "Centymetry" +#: ../src/extension/extension.cpp:255 +msgid "an ID was not defined for it." +msgstr "nie zdefiniowano dla niego identyfikatora ID." -#: ../src/helper/units.cpp:45 -msgid "Meter" -msgstr "Metr" +#: ../src/extension/extension.cpp:259 +msgid "there was no name defined for it." +msgstr "nie zdefiniowano dla niego nazwy." -#: ../src/helper/units.cpp:45 -msgid "m" -msgstr "m" +#: ../src/extension/extension.cpp:263 +msgid "the XML description of it got lost." +msgstr "jego opis w formacie XML został utracony." -#: ../src/helper/units.cpp:45 -msgid "Meters" -msgstr "Metry" +#: ../src/extension/extension.cpp:267 +msgid "no implementation was defined for the extension." +msgstr "nie zdefiniowano obsługi dla tego rozszerzenia." -#. no svg_unit -#: ../src/helper/units.cpp:46 -msgid "Inch" -msgstr "Cal" +#. std::cout << "Failed: " << *(_deps[i]) << std::endl; +#: ../src/extension/extension.cpp:274 +msgid "a dependency was not met." +msgstr "nie zostały spełnione zależności." -#: ../src/helper/units.cpp:46 -msgid "in" -msgstr "in" +#: ../src/extension/extension.cpp:294 +msgid "\" failed to load because " +msgstr "\" nie zostało wczytane, ponieważ " -#: ../src/helper/units.cpp:46 -msgid "Inches" -msgstr "Cale" +#: ../src/extension/extension.cpp:294 +msgid "Extension \"" +msgstr "Rozszerzenie \"" -#: ../src/helper/units.cpp:47 -msgid "Foot" -msgstr "Stopa" +#: ../src/extension/extension.cpp:625 +#, c-format +msgid "Could not create extension error log file '%s'" +msgstr "Nie udało się utworzyć pliku dziennika zdarzeń dla rozszerzenia \"%s\"" -#: ../src/helper/units.cpp:47 -msgid "ft" -msgstr "ft" +#: ../src/extension/extension.cpp:723 +msgid "Name:" +msgstr "Nazwa:" -#: ../src/helper/units.cpp:47 -msgid "Feet" -msgstr "Stopy" +#: ../src/extension/extension.cpp:724 +msgid "ID:" +msgstr "ID:" -#. Volatiles do not have default, so there are none here -#. TRANSLATORS: for info, see http://www.w3.org/TR/REC-CSS2/syndata.html#length-units -#: ../src/helper/units.cpp:50 -msgid "Em square" -msgstr "Kwadrat Em" +#: ../src/extension/extension.cpp:725 +msgid "Deactivated" +msgstr "Wyłączono" -#: ../src/helper/units.cpp:50 -msgid "em" -msgstr "em" +#: ../src/extension/extension.cpp:725 +msgid "Loaded" +msgstr "Wczytane" -#: ../src/helper/units.cpp:50 -msgid "Em squares" -msgstr "Kwadraty Em" +#: ../src/extension/extension.cpp:725 +msgid "State:" +msgstr "Stan:" -#. TRANSLATORS: for info, see http://www.w3.org/TR/REC-CSS2/syndata.html#length-units -#: ../src/helper/units.cpp:52 -msgid "Ex square" -msgstr "Kwadrat Ex" +#: ../src/extension/extension.cpp:725 +msgid "Unloaded" +msgstr "Niewczytane" -#: ../src/helper/units.cpp:52 -msgid "ex" -msgstr "ex" +#: ../src/extension/extension.cpp:756 +msgid "Currently there is no help available for this Extension. Please look on the Inkscape website or ask on the mailing lists if you have questions regarding this extension." +msgstr "Obecnie pomoc dla tego rozszerzenia jest niedostępna. Jeśli masz jakieś pytania dotyczące tego rozszerzenia poszukaj odpowiedzi na witrynie Inkscape lub zadaj pytanie na liście mailingowej." -#: ../src/helper/units.cpp:52 -msgid "Ex squares" -msgstr "Kwadraty Ex" +#: ../src/extension/implementation/script.cpp:1036 +msgid "Inkscape has received additional data from the script executed. The script did not return an error, but this may indicate the results will not be as expected." +msgstr "Program Inkscape otrzymał dodatkowe dane od uruchomionego skryptu. Skrypt nie zgłosił błędu, jednak możliwe, że wynik jego działania jest inny niż spodziewany." -#: ../src/inkscape.cpp:337 -#, fuzzy -msgid "Autosaving documents..." -msgstr "Zapisywanie dokumentu..." +#: ../src/extension/init.cpp:291 +msgid "Null external module directory name. Modules will not be loaded." +msgstr "Pusta nazwa katalogu modułów zewnętrznych. Moduły nie zostaną wczytane" -#: ../src/inkscape.cpp:405 -msgid "Autosave failed! Could not find inkscape extension to save document." -msgstr "" +#: ../src/extension/init.cpp:305 +#: ../src/extension/internal/filter/filter-file.cpp:56 +#, c-format +msgid "Modules directory (%s) is unavailable. External modules in that directory will not be loaded." +msgstr "Katalog modułów (%s) jest niedostępny. Moduły zewnętrzne z tego katalogu nie zostaną wczytane" -#: ../src/inkscape.cpp:408 ../src/inkscape.cpp:415 -#, fuzzy, c-format -msgid "Autosave failed! File %s could not be saved." -msgstr "Plik %s nie mógł zostać zapisany" +#: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:38 +msgid "Adaptive Threshold" +msgstr "Inteligentny próg" -#: ../src/inkscape.cpp:430 -msgid "Autosave complete." -msgstr "" +#: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:40 +#: ../src/extension/internal/bitmap/raise.cpp:41 +#: ../src/extension/internal/bitmap/sample.cpp:40 +#: ../src/extension/internal/bluredge.cpp:135 +#: ../src/libgdl/gdl-dock-placeholder.c:169 +#: ../src/libgdl/gdl-dock.c:190 +#: ../src/live_effects/lpe-bendpath.cpp:56 +#: ../src/live_effects/lpe-patternalongpath.cpp:63 +#: ../src/widgets/toolbox.cpp:2616 +#: ../src/widgets/toolbox.cpp:3658 +msgid "Width" +msgstr "Szerokość" -#: ../src/inkscape.cpp:653 -msgid "Untitled document" -msgstr "Dokument bez nazwy" +#: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:41 +#: ../src/extension/internal/bitmap/raise.cpp:42 +#: ../src/extension/internal/bitmap/sample.cpp:41 +#: ../src/libgdl/gdl-dock-placeholder.c:177 +#: ../src/libgdl/gdl-dock.c:198 +#: ../src/widgets/toolbox.cpp:2633 +msgid "Height" +msgstr "Wysokość" + +#. initialise your parameters here: +#: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:42 +#: ../src/filter-enums.cpp:32 +#: ../src/live_effects/effect.cpp:93 +#: ../src/live_effects/lpe-offset.cpp:30 +#: ../src/live_effects/lpe-parallel.cpp:46 +#: ../src/live_effects/lpe-ruler.cpp:49 +msgid "Offset" +msgstr "Przesunięcie" + +#: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:46 +#: ../src/extension/internal/bitmap/addNoise.cpp:57 +#: ../src/extension/internal/bitmap/blur.cpp:44 +#: ../src/extension/internal/bitmap/channel.cpp:63 +#: ../src/extension/internal/bitmap/charcoal.cpp:44 +#: ../src/extension/internal/bitmap/colorize.cpp:55 +#: ../src/extension/internal/bitmap/contrast.cpp:42 +#: ../src/extension/internal/bitmap/convolve.cpp:57 +#: ../src/extension/internal/bitmap/cycleColormap.cpp:42 +#: ../src/extension/internal/bitmap/despeckle.cpp:40 +#: ../src/extension/internal/bitmap/edge.cpp:42 +#: ../src/extension/internal/bitmap/emboss.cpp:44 +#: ../src/extension/internal/bitmap/enhance.cpp:39 +#: ../src/extension/internal/bitmap/equalize.cpp:39 +#: ../src/extension/internal/bitmap/gaussianBlur.cpp:44 +#: ../src/extension/internal/bitmap/implode.cpp:42 +#: ../src/extension/internal/bitmap/level.cpp:48 +#: ../src/extension/internal/bitmap/levelChannel.cpp:70 +#: ../src/extension/internal/bitmap/medianFilter.cpp:42 +#: ../src/extension/internal/bitmap/modulate.cpp:47 +#: ../src/extension/internal/bitmap/negate.cpp:40 +#: ../src/extension/internal/bitmap/normalize.cpp:40 +#: ../src/extension/internal/bitmap/oilPaint.cpp:42 +#: ../src/extension/internal/bitmap/opacity.cpp:43 +#: ../src/extension/internal/bitmap/raise.cpp:47 +#: ../src/extension/internal/bitmap/reduceNoise.cpp:45 +#: ../src/extension/internal/bitmap/sample.cpp:45 +#: ../src/extension/internal/bitmap/shade.cpp:47 +#: ../src/extension/internal/bitmap/sharpen.cpp:44 +#: ../src/extension/internal/bitmap/solarize.cpp:42 +#: ../src/extension/internal/bitmap/spread.cpp:42 +#: ../src/extension/internal/bitmap/swirl.cpp:42 +#: ../src/extension/internal/bitmap/threshold.cpp:43 +#: ../src/extension/internal/bitmap/unsharpmask.cpp:49 +#: ../src/extension/internal/bitmap/wave.cpp:44 +msgid "Raster" +msgstr "Grafika rastrowa" + +#: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:48 +msgid "Apply adaptive thresholding to selected bitmap(s)." +msgstr "Stosuje inteligentne progowanie do zaznaczonych bitmap(y)" + +#: ../src/extension/internal/bitmap/addNoise.cpp:44 +msgid "Add Noise" +msgstr "Dodaj szum" + +#: ../src/extension/internal/bitmap/addNoise.cpp:47 +msgid "Uniform Noise" +msgstr "Szum jednolity" + +#: ../src/extension/internal/bitmap/addNoise.cpp:48 +msgid "Gaussian Noise" +msgstr "Szum gaussowski" + +#: ../src/extension/internal/bitmap/addNoise.cpp:49 +msgid "Multiplicative Gaussian Noise" +msgstr "Szum gaussowski wielokrotny" + +#: ../src/extension/internal/bitmap/addNoise.cpp:50 +msgid "Impulse Noise" +msgstr "Szum impulsowy" + +#: ../src/extension/internal/bitmap/addNoise.cpp:51 +msgid "Laplacian Noise" +msgstr "Szum Laplace'a" + +#: ../src/extension/internal/bitmap/addNoise.cpp:52 +msgid "Poisson Noise" +msgstr "Szum Poissona" + +#: ../src/extension/internal/bitmap/addNoise.cpp:59 +msgid "Add random noise to selected bitmap(s)." +msgstr "Dodaj losowy szum do zaznaczonych bitmap(y)," + +#: ../src/extension/internal/bitmap/blur.cpp:37 +msgid "Blur" +msgstr "Rozmycie" + +#: ../src/extension/internal/bitmap/blur.cpp:39 +#: ../src/extension/internal/bitmap/charcoal.cpp:39 +#: ../src/extension/internal/bitmap/edge.cpp:38 +#: ../src/extension/internal/bitmap/emboss.cpp:39 +#: ../src/extension/internal/bitmap/medianFilter.cpp:38 +#: ../src/extension/internal/bitmap/oilPaint.cpp:38 +#: ../src/extension/internal/bitmap/sharpen.cpp:39 +#: ../src/extension/internal/bitmap/unsharpmask.cpp:42 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2256 +msgid "Radius" +msgstr "Promień" + +#: ../src/extension/internal/bitmap/blur.cpp:40 +#: ../src/extension/internal/bitmap/charcoal.cpp:40 +#: ../src/extension/internal/bitmap/emboss.cpp:40 +#: ../src/extension/internal/bitmap/gaussianBlur.cpp:40 +#: ../src/extension/internal/bitmap/sharpen.cpp:40 +#: ../src/extension/internal/bitmap/unsharpmask.cpp:43 +msgid "Sigma" +msgstr "Sigma" + +#: ../src/extension/internal/bitmap/blur.cpp:46 +msgid "Blur selected bitmap(s)" +msgstr "Rozmyj zaznaczone bitmapy(ę)" + +#: ../src/extension/internal/bitmap/channel.cpp:47 +#: ../src/extension/internal/bitmap/levelChannel.cpp:53 +msgid "Channel" +msgstr "Kanał" + +#: ../src/extension/internal/bitmap/channel.cpp:49 +msgid "Layer" +msgstr "Warstwa" + +#: ../src/extension/internal/bitmap/channel.cpp:50 +#: ../src/extension/internal/bitmap/levelChannel.cpp:54 +msgid "Red Channel" +msgstr "Kanał czerwony" + +#: ../src/extension/internal/bitmap/channel.cpp:51 +#: ../src/extension/internal/bitmap/levelChannel.cpp:55 +msgid "Green Channel" +msgstr "Kanał zielony" + +#: ../src/extension/internal/bitmap/channel.cpp:52 +#: ../src/extension/internal/bitmap/levelChannel.cpp:56 +msgid "Blue Channel" +msgstr "Kanał niebieski" + +#: ../src/extension/internal/bitmap/channel.cpp:53 +#: ../src/extension/internal/bitmap/levelChannel.cpp:57 +msgid "Cyan Channel" +msgstr "Kanał cyjanowy" + +#: ../src/extension/internal/bitmap/channel.cpp:54 +#: ../src/extension/internal/bitmap/levelChannel.cpp:58 +msgid "Magenta Channel" +msgstr "Kanał purpurowy" + +#: ../src/extension/internal/bitmap/channel.cpp:55 +#: ../src/extension/internal/bitmap/levelChannel.cpp:59 +msgid "Yellow Channel" +msgstr "Kanał żółty" + +#: ../src/extension/internal/bitmap/channel.cpp:56 +#: ../src/extension/internal/bitmap/levelChannel.cpp:60 +msgid "Black Channel" +msgstr "Kanał czarny" + +#: ../src/extension/internal/bitmap/channel.cpp:57 +#: ../src/extension/internal/bitmap/levelChannel.cpp:61 +msgid "Opacity Channel" +msgstr "Kanał krycia" + +#: ../src/extension/internal/bitmap/channel.cpp:58 +#: ../src/extension/internal/bitmap/levelChannel.cpp:62 +msgid "Matte Channel" +msgstr "Kanał maski" + +#: ../src/extension/internal/bitmap/channel.cpp:65 +msgid "Extract specific channel from image." +msgstr "Wyodrębnij określony kanał z obrazka" + +#: ../src/extension/internal/bitmap/charcoal.cpp:37 +msgid "Charcoal" +msgstr "Rysunek węglem" + +#: ../src/extension/internal/bitmap/charcoal.cpp:46 +msgid "Apply charcoal stylization to selected bitmap(s)." +msgstr "Zastosuj stylizację rysunku węglem do zaznaczonej bitmap(y)" + +#: ../src/extension/internal/bitmap/colorize.cpp:49 +msgid "Colorize" +msgstr "Kolorowanie" + +#: ../src/extension/internal/bitmap/colorize.cpp:57 +msgid "Colorize selected bitmap(s) with specified color, using given opacity." +msgstr "Koloruj zaznaczoną bitmapę(y) wybranym kolorem z określonym kryciem" + +#: ../src/extension/internal/bitmap/contrast.cpp:36 +msgid "Contrast" +msgstr "Kontrast" + +#: ../src/extension/internal/bitmap/contrast.cpp:38 +#: ../src/extension/internal/bitmap/sharpen.cpp:37 +msgid "Sharpen" +msgstr "Wyostrzanie" + +#: ../src/extension/internal/bitmap/contrast.cpp:44 +msgid "Enhance intensity differences in selected bitmap(s)." +msgstr "Zmień intensywność kontrastu w zaznaczonej(ych) bitmapie(ach)" + +#. TRANSLATORS: see http://docs.gimp.org/en/gimp-tool-convolve.html +#: ../src/extension/internal/bitmap/convolve.cpp:50 +msgid "Convolve" +msgstr "Rozmywanie/Wyostrzanie" + +#: ../src/extension/internal/bitmap/convolve.cpp:53 +msgid "Kernel Array" +msgstr "" + +#: ../src/extension/internal/bitmap/convolve.cpp:59 +msgid "Apply Convolve Effect" +msgstr "Zastosuj efekt rozmywania/wyostrzania" + +#: ../src/extension/internal/bitmap/cycleColormap.cpp:36 +msgid "Cycle Colormap" +msgstr "Cykl palety kolorów" + +#: ../src/extension/internal/bitmap/cycleColormap.cpp:38 +#: ../src/extension/internal/bitmap/spread.cpp:38 +#: ../src/extension/internal/bitmap/unsharpmask.cpp:44 +msgid "Amount" +msgstr "Ilość" + +#: ../src/extension/internal/bitmap/cycleColormap.cpp:44 +msgid "Cycle colormap(s) of selected bitmap(s)." +msgstr "Cykl palety kolorów zaznaczonych bitmap" + +#: ../src/extension/internal/bitmap/despeckle.cpp:35 +msgid "Despeckle" +msgstr "Filtrowanie szumów" + +#: ../src/extension/internal/bitmap/despeckle.cpp:42 +msgid "Reduce speckle noise of selected bitmap(s)." +msgstr "Redukuje szum plamkowy na zaznaczonych bitmapach" + +#: ../src/extension/internal/bitmap/edge.cpp:36 +msgid "Edge" +msgstr "Krawędź" + +#: ../src/extension/internal/bitmap/edge.cpp:44 +msgid "Hilight edges of selected bitmap(s)." +msgstr "Podświetla krawędzie zaznaczonych bitmap" + +#. ID -- should be unique +#: ../src/extension/internal/bitmap/emboss.cpp:37 +#: ../src/extension/internal/filter/emboss.h:21 +msgid "Emboss" +msgstr "Płaskorzeźba" + +#: ../src/extension/internal/bitmap/emboss.cpp:46 +msgid "Emboss selected bitmap(s) -- hilight edges with 3D effect." +msgstr "Tworzy płaskorzeźbę zaznaczonych bitmap- podświetla krawędzie z efektami 3D" + +#: ../src/extension/internal/bitmap/enhance.cpp:34 +msgid "Enhance" +msgstr "Zmniejsz szum" + +#: ../src/extension/internal/bitmap/enhance.cpp:41 +msgid "Enhance selected bitmap(s) -- minimize noise." +msgstr "Koryguje zaznaczone bitmapy - minimalizuje szum" + +#: ../src/extension/internal/bitmap/equalize.cpp:34 +msgid "Equalize" +msgstr "Koryguj" + +#: ../src/extension/internal/bitmap/equalize.cpp:41 +msgid "Equalize selected bitmap(s) -- histogram equalization." +msgstr "Koryguje zaznaczone bitmapy - histogram korekcji" + +#: ../src/extension/internal/bitmap/gaussianBlur.cpp:37 +#: ../src/filter-enums.cpp:28 +msgid "Gaussian Blur" +msgstr "Rozmycie gaussowskie" + +#: ../src/extension/internal/bitmap/gaussianBlur.cpp:39 +#: ../src/extension/internal/bitmap/implode.cpp:38 +#: ../src/extension/internal/bitmap/solarize.cpp:38 +msgid "Factor" +msgstr "Współczynnik" + +#: ../src/extension/internal/bitmap/gaussianBlur.cpp:46 +msgid "Gaussian blur selected bitmap(s)." +msgstr "Rozmycie gaussowskie zaznaczonych bitmap" + +#: ../src/extension/internal/bitmap/implode.cpp:36 +msgid "Implode" +msgstr "Implozja" + +#: ../src/extension/internal/bitmap/implode.cpp:44 +msgid "Implode selected bitmap(s)." +msgstr "Wykonuje implozję zaznaczonych bitmap" + +#: ../src/extension/internal/bitmap/level.cpp:40 +msgid "Level" +msgstr "Poziom" + +#: ../src/extension/internal/bitmap/level.cpp:42 +#: ../src/extension/internal/bitmap/levelChannel.cpp:64 +msgid "Black Point" +msgstr "Poziom czerni" + +#: ../src/extension/internal/bitmap/level.cpp:43 +#: ../src/extension/internal/bitmap/levelChannel.cpp:65 +msgid "White Point" +msgstr "Poziom bieli" + +#: ../src/extension/internal/bitmap/level.cpp:44 +#: ../src/extension/internal/bitmap/levelChannel.cpp:66 +msgid "Gamma Correction" +msgstr "Korekcja gamma" + +#: ../src/extension/internal/bitmap/level.cpp:50 +msgid "Level selected bitmap(s) by scaling values falling between the given ranges to the full color range." +msgstr "Poziom zaznaczonych bitmap poprzez skalowanie wartości opadania pomiędzy danymi zakresami, a pełnym zakresem koloru" + +#: ../src/extension/internal/bitmap/levelChannel.cpp:51 +msgid "Level (with Channel)" +msgstr "Poziom (z kanałem)" + +#: ../src/extension/internal/bitmap/levelChannel.cpp:72 +msgid "Level the specified channel of selected bitmap(s) by scaling values falling between the given ranges to the full color range." +msgstr "Poziom określonego kanału zaznaczonych bitmap poprzez skalowanie wartości opadania pomiędzy danymi zakresami, a pełnym zakresem koloru" + +#: ../src/extension/internal/bitmap/medianFilter.cpp:36 +msgid "Median Filter" +msgstr "Filtr Median" + +#: ../src/extension/internal/bitmap/medianFilter.cpp:44 +msgid "Filter selected bitmap(s) by replacing each pixel component with the median color in a circular neighborhood." +msgstr "Filtruje zaznaczone bitmapy zamieniając każdy piksel kolorem środkowym w obrębie koła" + +#: ../src/extension/internal/bitmap/modulate.cpp:39 +msgid "Modulate" +msgstr "Modulowanie" + +#: ../src/extension/internal/bitmap/modulate.cpp:41 +msgid "Brightness" +msgstr "Jasność" + +#: ../src/extension/internal/bitmap/modulate.cpp:49 +msgid "Modulate percent hue, saturation, and brightness of selected bitmap(s)." +msgstr "Moduluje procent barwy, nasycenia i jasności zaznaczonych bitmap" + +#: ../src/extension/internal/bitmap/negate.cpp:35 +msgid "Negate" +msgstr "Pobierz odwrotność" + +#: ../src/extension/internal/bitmap/negate.cpp:42 +msgid "Negate (take inverse) selected bitmap(s)." +msgstr "Pobiera odwrotność zaznaczonych bitmap" + +#: ../src/extension/internal/bitmap/normalize.cpp:35 +msgid "Normalize" +msgstr "Normalizacja" + +#: ../src/extension/internal/bitmap/normalize.cpp:42 +msgid "Normalize selected bitmap(s), expanding color range to the full possible range of color." +msgstr "Normalizuje zaznaczone bitmapy rozszerzając zakres koloru do pełnego możliwego zakresu koloru" + +#: ../src/extension/internal/bitmap/oilPaint.cpp:36 +msgid "Oil Paint" +msgstr "Obraz olejny" + +#: ../src/extension/internal/bitmap/oilPaint.cpp:44 +msgid "Stylize selected bitmap(s) so that they appear to be painted with oils." +msgstr "Stylizuje zaznaczone bitmapy tak, aby wyglądały jak obraz olejny" + +#: ../src/extension/internal/bitmap/opacity.cpp:45 +msgid "Modify opacity channel(s) of selected bitmap(s)." +msgstr "Zmienia krycie kanałów zaznaczonych bitmap" + +#: ../src/extension/internal/bitmap/raise.cpp:39 +msgid "Raise" +msgstr "Podniesienie" + +#: ../src/extension/internal/bitmap/raise.cpp:43 +msgid "Raised" +msgstr "Uwypuklenie" + +#: ../src/extension/internal/bitmap/raise.cpp:49 +msgid "Alter lightness the edges of selected bitmap(s) to create a raised appearance." +msgstr "Zmienia rozjaśnienie krawędzi zaznaczonych bitmap, aby utworzyć wypukły wygląd" + +#: ../src/extension/internal/bitmap/reduceNoise.cpp:39 +msgid "Reduce Noise" +msgstr "Redukcja szumów" + +#: ../src/extension/internal/bitmap/reduceNoise.cpp:47 +msgid "Reduce noise in selected bitmap(s) using a noise peak elimination filter." +msgstr "Redukuje szum w zaznaczonych bitmapach przy użyciu filtru eliminacji szumów szczytowych" + +#: ../src/extension/internal/bitmap/sample.cpp:38 +msgid "Sample" +msgstr "Próbka" + +#: ../src/extension/internal/bitmap/sample.cpp:47 +msgid "Alter the resolution of selected image by resizing it by given dimensions." +msgstr "Zmienia rozdzielczość zaznaczonego obrazka zmieniając jego wielkość do zadanych rozmiarów" + +#: ../src/extension/internal/bitmap/shade.cpp:39 +msgid "Shade" +msgstr "Cień" + +#: ../src/extension/internal/bitmap/shade.cpp:41 +#: ../src/ui/dialog/filter-effects-dialog.cpp:995 +msgid "Azimuth" +msgstr "Azymut" + +#: ../src/extension/internal/bitmap/shade.cpp:42 +#: ../src/ui/dialog/filter-effects-dialog.cpp:996 +msgid "Elevation" +msgstr "Przewyższenie" + +#: ../src/extension/internal/bitmap/shade.cpp:43 +msgid "Colored Shading" +msgstr "Kolorowe cieniowanie" + +#: ../src/extension/internal/bitmap/shade.cpp:49 +msgid "Shade selected bitmap(s) simulating distant light source." +msgstr "Dodaje cień do zaznaczonych bitmap symulując odległe źródło światła" + +#: ../src/extension/internal/bitmap/sharpen.cpp:46 +msgid "Sharpen selected bitmap(s)." +msgstr "Wyostrza zaznaczone bitmapy" + +#: ../src/extension/internal/bitmap/solarize.cpp:36 +msgid "Solarize" +msgstr "Solaryzacja" + +#: ../src/extension/internal/bitmap/solarize.cpp:44 +msgid "Solarize selected bitmap(s), like overexposing photographic film." +msgstr "Solaryzuje zaznaczone bitmapy tak jak prześwietlony film fotograficzny" + +#: ../src/extension/internal/bitmap/spread.cpp:36 +msgid "Spread" +msgstr "Rozmazanie" + +#: ../src/extension/internal/bitmap/spread.cpp:44 +msgid "Randomly spread pixels in selected bitmap(s), within the radius of 'amount.'" +msgstr "W obrębie promienia losowo rozmazuje piksele w zaznaczonych bitmapach" + +#: ../src/extension/internal/bitmap/swirl.cpp:36 +msgid "Swirl" +msgstr "Skręcenie" + +#: ../src/extension/internal/bitmap/swirl.cpp:44 +msgid "Swirl selected bitmap(s) around center point." +msgstr "Skręca zaznaczone bitmapy wokół punktu centralnego" + +#. TRANSLATORS: see http://docs.gimp.org/en/gimp-tool-threshold.html +#: ../src/extension/internal/bitmap/threshold.cpp:37 +#: ../src/extension/internal/bitmap/threshold.cpp:39 +#: ../src/extension/internal/bitmap/unsharpmask.cpp:45 +msgid "Threshold" +msgstr "Próg" + +#: ../src/extension/internal/bitmap/threshold.cpp:45 +msgid "Threshold selected bitmap(s)." +msgstr "Proguj zaznaczone bitmapy" -#. Show nice dialog box -#: ../src/inkscape.cpp:682 -msgid "Inkscape encountered an internal error and will close now.\n" -msgstr "" -"W programie Inkscape wystąpił wewnętrzny błąd i nastąpi jego zamknięcie.\n" +#: ../src/extension/internal/bitmap/unsharpmask.cpp:40 +msgid "Unsharp Mask" +msgstr "Maska wyostrzania" -#: ../src/inkscape.cpp:683 -msgid "" -"Automatic backups of unsaved documents were done to the following " -"locations:\n" -msgstr "" -"Kopie niezapisanych dokumentów zostały automatycznie utworzone w " -"następujących lokalizacjach:\n" +#: ../src/extension/internal/bitmap/unsharpmask.cpp:51 +msgid "Sharpen selected bitmap(s) using unsharp mask algorithms." +msgstr "Wyostrza zaznaczone bitmapy używając algorytmów maski wyostrzania" -#: ../src/inkscape.cpp:684 -msgid "Automatic backup of the following documents failed:\n" -msgstr "Nie udało się automatycznie utworzyć kopii następujących dokumentów:\n" +#: ../src/extension/internal/bitmap/wave.cpp:37 +msgid "Wave" +msgstr "Fala" -#: ../src/inkscape.cpp:829 -#, c-format -msgid "" -"Cannot create directory %s.\n" -"%s" -msgstr "" -"Nie można utworzyć katalogu %s.\n" -"%s" +#: ../src/extension/internal/bitmap/wave.cpp:39 +msgid "Amplitude" +msgstr "Amplituda" -#: ../src/inkscape.cpp:830 -#, c-format -msgid "" -"%s is not a valid directory.\n" -"%s" -msgstr "" -"%s nie jest poprawnym katalogiem.\n" -"%s" +#: ../src/extension/internal/bitmap/wave.cpp:40 +msgid "Wavelength" +msgstr "Długość fali" -#: ../src/inkscape.cpp:831 -#, c-format -msgid "" -"Cannot create file %s.\n" -"%s" -msgstr "" -"Nie można utworzyć pliku %s.\n" -"%s" +#: ../src/extension/internal/bitmap/wave.cpp:46 +msgid "Alter selected bitmap(s) along sine wave." +msgstr "Modyfikuje zaznaczone bitmapy falą sinusoidalną" -#: ../src/inkscape.cpp:832 -#, c-format -msgid "" -"Cannot write file %s.\n" -"%s" -msgstr "" -"Nie można zapisać do pliku %s.\n" -"%s" +#: ../src/extension/internal/bluredge.cpp:133 +msgid "Inset/Outset Halo" +msgstr "Rozmycie krawędzi (zjawisko Halo)" -#: ../src/inkscape.cpp:833 -msgid "" -"Although Inkscape will run, it will use default settings,\n" -"and any changes made in preferences will not be saved." -msgstr "" -"Mimo, że Inkscape zostanie uruchomiony, będzie korzystał z domyślnych\n" -"ustawień, a żadne zmiany dokonane w ustawieniach nie zostaną zapisane" +#: ../src/extension/internal/bluredge.cpp:135 +msgid "Width in px of the halo" +msgstr "Szerokość rozmycia w px" -#: ../src/inkscape.cpp:903 ../src/preferences.cpp:56 -#, c-format -msgid "" -"%s is not a regular file.\n" -"%s" -msgstr "" -"%s nie jest poprawnym plikiem.\n" -"%s" +#: ../src/extension/internal/bluredge.cpp:136 +msgid "Number of inset/outset copies of the object to make" +msgstr "Liczba kopii obiektu do symulacji efektu rozmycia" -#: ../src/inkscape.cpp:904 ../src/preferences.cpp:57 -#, c-format -msgid "" -"%s not a valid XML file, or\n" -"you don't have read permissions on it.\n" -"%s" -msgstr "" -"%s nie jest poprawnym plikiem XML, lub\n" -"nie masz praw do odczytu tego pliku.%s" +#: ../src/extension/internal/bluredge.cpp:136 +msgid "Number of steps" +msgstr "Liczba kroków" -#: ../src/inkscape.cpp:906 -#, c-format -msgid "" -"%s is not a valid menus file.\n" -"%s" -msgstr "" -"%s nie jest poprawnym plikiem menu.\n" -"%s" +#: ../src/extension/internal/cairo-pdf-out.cpp:238 +msgid "Cairo PDF Output" +msgstr "Zapis PDF z użyciem Cairo" -#: ../src/inkscape.cpp:907 -msgid "" -"Inkscape will run with default menus.\n" -"New menus will not be saved." +#: ../src/extension/internal/cairo-pdf-out.cpp:240 +#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:217 +msgid "Restrict to PDF version" +msgstr "Określ wersję PDF" + +#: ../src/extension/internal/cairo-pdf-out.cpp:241 +#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:218 +msgid "PDF 1.4" +msgstr "PDF 1.4" + +#: ../src/extension/internal/cairo-pdf-out.cpp:243 +#: ../src/extension/internal/cairo-ps-out.cpp:347 +#: ../src/extension/internal/cairo-ps-out.cpp:381 +#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:220 +#: ../src/extension/internal/emf-win32-inout.cpp:2435 +#: ../src/extension/internal/eps-out.cpp:92 +#: ../src/extension/internal/ps-out.cpp:84 +msgid "Convert texts to paths" +msgstr "Konwertuj tekst na ścieżki" + +#: ../src/extension/internal/cairo-pdf-out.cpp:244 +#: ../src/extension/internal/cairo-ps-out.cpp:348 +#: ../src/extension/internal/cairo-ps-out.cpp:382 +msgid "Convert blur effects to bitmaps" +msgstr "Konwertuj efekty rozmycia do bitmap" + +#: ../src/extension/internal/cairo-pdf-out.cpp:245 +#: ../src/extension/internal/cairo-ps-out.cpp:349 +#: ../src/extension/internal/cairo-ps-out.cpp:383 +#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:222 +msgid "Preferred resolution (DPI) of bitmaps" +msgstr "Preferowana rozdzielczość bitmap (w dpi)" + +#: ../src/extension/internal/cairo-pdf-out.cpp:246 +#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:223 +msgid "Export drawing, not page" +msgstr "Eksportuj rysunek, a nie ścieżkę" + +#: ../src/extension/internal/cairo-pdf-out.cpp:247 +#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:224 +msgid "Export canvas" +msgstr "Eksportuj obszar roboczy" + +#: ../src/extension/internal/cairo-pdf-out.cpp:248 +#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:225 +msgid "Limit export to the object with ID" +msgstr "Limit eksportu do obiektu z ID" + +#: ../src/extension/internal/cairo-pdf-out.cpp:252 +msgid "PDF via Cairo (*.pdf)" +msgstr "PDF [z użyciem Cairo] (*.pdf)" + +#: ../src/extension/internal/cairo-pdf-out.cpp:253 +msgid "PDF File" +msgstr "Plik PDF" + +#: ../src/extension/internal/cairo-ps-out.cpp:341 +#: ../src/extension/internal/cairo-ps-out.cpp:375 +msgid "Restrict to PS level" +msgstr "Określ poziom PostScript" + +#: ../src/extension/internal/cairo-ps-out.cpp:342 +#: ../src/extension/internal/cairo-ps-out.cpp:376 +msgid "PostScript level 3" +msgstr "PostScript poziom 3" + +#: ../src/extension/internal/cairo-ps-out.cpp:344 +#: ../src/extension/internal/cairo-ps-out.cpp:378 +msgid "PostScript level 2" +msgstr "PostScript poziom 2" + +#: ../src/extension/internal/cairo-ps-out.cpp:354 +#: ../src/extension/internal/ps-out.cpp:90 +msgid "PostScript File" +msgstr "Plik PostScript" + +#: ../src/extension/internal/cairo-ps-out.cpp:388 +msgid "Encapsulated PostScript File" +msgstr "Plik Encapsulated PostScript" + +#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:221 +msgid "Convert filter effects to bitmaps" +msgstr "Konwertuj efekty filtra do bitmap" + +#: ../src/extension/internal/emf-win32-inout.cpp:2405 +msgid "EMF Input" +msgstr "Źródło EMF" + +#: ../src/extension/internal/emf-win32-inout.cpp:2410 +msgid "Enhanced Metafiles (*.emf)" +msgstr "Enhanced Metafiles (*.emf)" + +#: ../src/extension/internal/emf-win32-inout.cpp:2411 +msgid "Enhanced Metafiles" +msgstr "Enhanced Metafiles" + +#: ../src/extension/internal/emf-win32-inout.cpp:2419 +msgid "WMF Input" +msgstr "Źródło WMF" + +#: ../src/extension/internal/emf-win32-inout.cpp:2424 +msgid "Windows Metafiles (*.wmf)" +msgstr "Windows Metafile (*.wmf)" + +#: ../src/extension/internal/emf-win32-inout.cpp:2425 +msgid "Windows Metafiles" +msgstr "Windows Metafiles" + +#: ../src/extension/internal/emf-win32-inout.cpp:2433 +msgid "EMF Output" +msgstr "Zapis w formacie EMF" + +#: ../src/extension/internal/emf-win32-inout.cpp:2439 +msgid "Enhanced Metafile (*.emf)" +msgstr "Enhanced Metafile (*.emf)" + +#: ../src/extension/internal/emf-win32-inout.cpp:2440 +msgid "Enhanced Metafile" +msgstr "Enhanced Metafile" + +#: ../src/extension/internal/eps-out.cpp:89 +msgid "Encapsulated Postscript Output" +msgstr "Zapis w formacie Encapsulated Postscript" + +#: ../src/extension/internal/eps-out.cpp:91 +msgid "Make bounding box around full page" +msgstr "Utwórz obramowanie wokół całej strony" + +#: ../src/extension/internal/eps-out.cpp:93 +#: ../src/extension/internal/ps-out.cpp:85 +msgid "Embed fonts (Type 1 only)" +msgstr "Osadzone czcionki (tylko Type 1)" + +#: ../src/extension/internal/eps-out.cpp:97 +msgid "Encapsulated Postscript (*.eps)" +msgstr "Encapsulated Postscript (*.eps)" + +#: ../src/extension/internal/eps-out.cpp:98 +msgid "Encapsulated Postscript File" +msgstr "Plik Encapsulated Postscript" + +#. ID -- should be unique +#: ../src/extension/internal/filter/apparition.h:24 +msgid "Apparition" +msgstr "Widmo" + +#. Name in the menus, should have a N_() around it for translation +#: ../src/extension/internal/filter/apparition.h:25 +msgid "I'm not sure what this word means" +msgstr "Nie jestem pewny co to słowo znaczy" + +#. ID -- should be unique +#: ../src/extension/internal/filter/bloom.h:24 +msgid "Bloom" +msgstr "Kwiat" + +#. Name in the menus, should have a N_() around it for translation +#: ../src/extension/internal/filter/bloom.h:25 +msgid "Not sure, nobody tell me these things" +msgstr "Nie jestem pewny, ktoś powie mi co to jest?" + +#. ID -- should be unique +#: ../src/extension/internal/filter/clouds.h:24 +msgid "Clouds" +msgstr "Chmury" + +#. Name in the menus, should have a N_() around it for translation +#: ../src/extension/internal/filter/clouds.h:25 +msgid "Yes, more descriptions" +msgstr "Tak, więcej opisów" + +#. ID -- should be unique +#: ../src/extension/internal/filter/crystal.h:24 +msgid "Crystal" +msgstr "Kryształ" + +#. Name in the menus, should have a N_() around it for translation +#: ../src/extension/internal/filter/crystal.h:25 +msgid "Artist, insert data here" +msgstr "Artysta, tutaj wprowadź dane" + +#. ID -- should be unique +#: ../src/extension/internal/filter/cutout.h:24 +msgid "Cutout" +msgstr "Przełącznik" + +#. Name in the menus, should have a N_() around it for translation +#: ../src/extension/internal/filter/cutout.h:25 +#: ../src/extension/internal/filter/etched-glass.h:25 +#: ../src/extension/internal/filter/frost.h:25 +#: ../src/extension/internal/filter/ridged-border.h:25 +msgid "Artist text" +msgstr "Tekst artystyczny" + +#: ../src/extension/internal/filter/drop-shadow.h:35 +msgid "Drop Shadow" +msgstr "Cień obrazka" + +#: ../src/extension/internal/filter/drop-shadow.h:37 +msgid "Blur radius, px" +msgstr "Promień rozmycia (px)" + +#: ../src/extension/internal/filter/drop-shadow.h:38 +#: ../src/ui/widget/object-composite-settings.cpp:52 +#: ../src/ui/widget/selected-style.cpp:1027 +#: ../src/ui/widget/selected-style.cpp:1028 +msgid "Opacity, %" +msgstr "Krycie, %" + +#: ../src/extension/internal/filter/drop-shadow.h:39 +msgid "Horizontal offset, px" +msgstr "Przesunięcie poziome (px)" + +#: ../src/extension/internal/filter/drop-shadow.h:40 +msgid "Vertical offset, px" +msgstr "Przesunięcie pionowe (px)" + +#: ../src/extension/internal/filter/drop-shadow.h:44 +#: ../src/extension/internal/filter/filter-file.cpp:146 +#: ../src/extension/internal/filter/filter.cpp:201 +#: ../src/extension/internal/filter/snow.h:38 +msgid "Filter" +msgstr "Filtr" + +#: ../src/extension/internal/filter/drop-shadow.h:46 +msgid "Black, blurred drop shadow" +msgstr "Czarny, rozmyty cień obrazka" + +#. Name in the menus, should have a N_() around it for translation +#: ../src/extension/internal/filter/emboss.h:22 +msgid "Emboss effect" +msgstr "Efekt wytłoczenia" + +#. ID -- should be unique +#: ../src/extension/internal/filter/etched-glass.h:24 +msgid "Etched Glass" +msgstr "Wytrawione szkło" + +#: ../src/extension/internal/filter/filter-file.cpp:32 +msgid "Bundled" +msgstr "Zwinięte" + +#: ../src/extension/internal/filter/filter-file.cpp:33 +msgid "Personal" +msgstr "Osobiste" + +#: ../src/extension/internal/filter/filter-file.cpp:44 +msgid "Null external module directory name. Filters will not be loaded." +msgstr "Pusta nazwa katalogu modułów zewnętrznych. Filtry nie zostaną wczytane" + +#. ID -- should be unique +#: ../src/extension/internal/filter/fire.h:24 +msgid "Fire" +msgstr "Ogień" + +#. Name in the menus, should have a N_() around it for translation +#: ../src/extension/internal/filter/fire.h:25 +msgid "Artist on fire" msgstr "" -"Inkscape zostanie uruchomiony z domyślnym menu.\n" -"Nowe menu nie zostaną zapisane." -#. sp_ui_menu_append_check_item_from_verb(m, view, _("_Menu"), _("Show or hide the menu bar"), "menu", -#. checkitem_toggled, checkitem_update, 0); -#: ../src/interface.cpp:838 -msgid "Commands Bar" -msgstr "Pasek p_oleceń" +#. ID -- should be unique +#: ../src/extension/internal/filter/frost.h:24 +msgid "Frost" +msgstr "Szron" -#: ../src/interface.cpp:838 -msgid "Show or hide the Commands bar (under the menu)" -msgstr "Wyświetla lub ukrywa pasek poleceń (pod menu)" +#. ID -- should be unique +#: ../src/extension/internal/filter/ink-bleed.h:24 +msgid "InkBleed" +msgstr "" -#: ../src/interface.cpp:840 -msgid "Tool Controls Bar" -msgstr "Pasek _narzędzi" +#. Name in the menus, should have a N_() around it for translation +#: ../src/extension/internal/filter/ink-bleed.h:25 +msgid "Artist Text" +msgstr "Tekst artystyczny" -#: ../src/interface.cpp:840 -msgid "Show or hide the Tool Controls bar" -msgstr "Wyświetla lub ukrywa pasek narzędzi" +#. ID -- should be unique +#: ../src/extension/internal/filter/jelly-bean.h:24 +msgid "Jelly Bean" +msgstr "Galaretka fasolowa" -#: ../src/interface.cpp:842 -msgid "_Toolbox" -msgstr "_Przybornik" +#. Name in the menus, should have a N_() around it for translation +#: ../src/extension/internal/filter/jelly-bean.h:25 +msgid "Mmmm, yummy." +msgstr "Mniam, pyszne" -#: ../src/interface.cpp:842 -msgid "Show or hide the main toolbox (on the left)" -msgstr "Wyświetla lub ukrywa przybornik (po lewej stronie)" +#. ID -- should be unique +#: ../src/extension/internal/filter/jigsaw-piece.h:24 +msgid "JigsawPiece" +msgstr "Puzzel" -#: ../src/interface.cpp:848 -msgid "_Palette" -msgstr "Paletę _kolorów" +#. Name in the menus, should have a N_() around it for translation +#: ../src/extension/internal/filter/jigsaw-piece.h:25 +msgid "It's a puzzle, no hints" +msgstr "To jest puzzel, brak objaśnienia" -#: ../src/interface.cpp:848 -msgid "Show or hide the color palette" -msgstr "Wyświetla lub ukrywa paletę z kolorami" +#. ID -- should be unique +#: ../src/extension/internal/filter/leopard-fur.h:24 +msgid "Leopard Fur" +msgstr "Skóra leoparda" -#: ../src/interface.cpp:850 -msgid "_Statusbar" -msgstr "Pasek _stanu" +#. Name in the menus, should have a N_() around it for translation +#: ../src/extension/internal/filter/leopard-fur.h:25 +msgid "Purrrr, quiet the kitty is sleeping" +msgstr "Ciiii..., kotek śpi" -#: ../src/interface.cpp:850 -msgid "Show or hide the statusbar (at the bottom of the window)" -msgstr "Wyświetla lub ukrywa pasek statusu (na dole okna)" +#. ID -- should be unique +#: ../src/extension/internal/filter/melt.h:22 +msgid "Melt" +msgstr "Roztopienie" -#: ../src/interface.cpp:904 -#, c-format -msgid "Verb \"%s\" Unknown" -msgstr "Polecenie \"%s\" Nieznane" +#. Name in the menus, should have a N_() around it for translation +#: ../src/extension/internal/filter/melt.h:23 +msgid "Melt effect" +msgstr "Efekt roztopienia" -#. TRANSLATORS: #%s is the id of the group e.g. , not a number. -#: ../src/interface.cpp:1023 -#, c-format -msgid "Enter group #%s" -msgstr "Wejdź do grupy #%s" +#. ID -- should be unique +#: ../src/extension/internal/filter/metal.h:24 +msgid "Metal" +msgstr "Metal" -#: ../src/interface.cpp:1034 -msgid "Go to parent" -msgstr "Przejdź do rodzica" +#. Name in the menus, should have a N_() around it for translation +#: ../src/extension/internal/filter/metal.h:25 +msgid "Iron Man vector objects" +msgstr "Obiekty wektorowe Iron Man" -#: ../src/interface.cpp:1125 ../src/interface.cpp:1210 -#: ../src/ui/widget/selected-style.cpp:466 -msgid "Drop color" -msgstr "Przeciągnij kolor" +#. ID -- should be unique +#: ../src/extension/internal/filter/motion-blur.h:24 +msgid "Motion Blur" +msgstr "Smuga" -#: ../src/interface.cpp:1164 -msgid "Drop color on gradient" -msgstr "Przeciągnij kolor na gradient" +#. Name in the menus, should have a N_() around it for translation +#: ../src/extension/internal/filter/motion-blur.h:25 +msgid "Hmm, fast vectors" +msgstr "Hmm, szybkie wektory" -#: ../src/interface.cpp:1223 -msgid "Could not parse SVG data" -msgstr "Nie można odczytać danych SVG" +#. ID -- should be unique +#: ../src/extension/internal/filter/oil-slick.h:24 +msgid "OilSlick" +msgstr "Plama oleju" -#: ../src/interface.cpp:1265 -msgid "Drop SVG" -msgstr "Upuść grafikę SVG" +#. Name in the menus, should have a N_() around it for translation +#: ../src/extension/internal/filter/oil-slick.h:25 +msgid "Ooops! Slippery!" +msgstr "Uwaga! Ślisko!" -#: ../src/interface.cpp:1323 -msgid "Drop bitmap image" -msgstr "Upuść bitmapę" +#. ID -- should be unique +#: ../src/extension/internal/filter/patterned-glass.h:24 +msgid "PatternedGlass" +msgstr "Wzorzyste szkło" -#: ../src/interface.cpp:1415 -#, c-format -msgid "" -"A file named \"%s\" already exists. Do " -"you want to replace it?\n" -"\n" -"The file already exists in \"%s\". Replacing it will overwrite its contents." -msgstr "" -"Plik o nazwie \"%s\" już istnieje. Czy " -"chcesz go zamienić?\n" -"\n" -"W \"%s\" istnieje już plik o takiej nazwie. Zamiana spowoduje nadpisane jego " -"zawartości." +#. Name in the menus, should have a N_() around it for translation +#: ../src/extension/internal/filter/patterned-glass.h:25 +msgid "Doesn't work, bug" +msgstr "Nie działa - błąd." -#: ../src/interface.cpp:1422 -msgid "Replace" -msgstr "Zamień" +#. ID -- should be unique +#: ../src/extension/internal/filter/ridged-border.h:24 +msgid "Ridged Border" +msgstr "Prążkowana otoczka" -#: ../src/io/sys.cpp:411 ../src/io/sys.cpp:419 -#, c-format -msgid "Failed to read from child pipe (%s)" -msgstr "" +#. ID -- should be unique +#: ../src/extension/internal/filter/ripple.h:24 +msgid "Ripple" +msgstr "Fala" -#: ../src/io/sys.cpp:443 -#, c-format -msgid "Failed to change to directory '%s' (%s)" -msgstr "Nie można zmienić katalogu \"%s\" (%s)" +#. Name in the menus, should have a N_() around it for translation +#: ../src/extension/internal/filter/ripple.h:25 +msgid "You're 80% water" +msgstr "Jesteś w 80% wodą" -#: ../src/io/sys.cpp:449 ../src/io/sys.cpp:675 -#, c-format -msgid "Failed to execute child process (%s)" -msgstr "Nie udało się wczytać żądanego pliku %s" +#. ID -- should be unique +#: ../src/extension/internal/filter/roughen.h:24 +msgid "Roughen" +msgstr "Chropowaty" -#: ../src/io/sys.cpp:622 -#, c-format -msgid "Invalid program name: %s" -msgstr "Nieprawidłowa nazwa programu: %s" +#. Name in the menus, should have a N_() around it for translation +#: ../src/extension/internal/filter/roughen.h:25 +msgid "Like Brad Pitt's stubble" +msgstr "Jak kilkudniowy zarost Brada Pita" -#: ../src/io/sys.cpp:632 ../src/io/sys.cpp:921 -#, c-format -msgid "Invalid string in argument vector at %d: %s" -msgstr "Nieprawidłowy ciąg znaków w argumencie wektora dla %d: %s" +#. ID -- should be unique +#: ../src/extension/internal/filter/rubber-stamp.h:24 +msgid "RubberStamp" +msgstr "Gumowy stempel" -#: ../src/io/sys.cpp:643 ../src/io/sys.cpp:936 -#, c-format -msgid "Invalid string in environment: %s" -msgstr "Nieprawidłowy ciąg znaków w środowisku: %s" +#. Name in the menus, should have a N_() around it for translation +#: ../src/extension/internal/filter/rubber-stamp.h:25 +msgid "Use this to forge your passport" +msgstr "Użyj tego do sfałszowania paszportu" -#: ../src/io/sys.cpp:704 -#, c-format -msgid "Failed to create pipe for communicating with child process (%s)" -msgstr "Nie udało sie utworzyć ciągu komunikacyjnego z procesem pokrewnym (%s)" +#. ID -- should be unique +#: ../src/extension/internal/filter/sepia.h:24 +msgid "Sepia" +msgstr "Sepia" -#: ../src/io/sys.cpp:917 -#, c-format -msgid "Invalid working directory: %s" -msgstr "Niewłaściwy katalog roboczy: %s" +#. Name in the menus, should have a N_() around it for translation +#: ../src/extension/internal/filter/sepia.h:25 +msgid "Turn all the colors to be sepia tones" +msgstr "Zmień wszystkie kolory na sepię" -#: ../src/io/sys.cpp:985 -#, c-format -msgid "Failed to execute helper program (%s)" -msgstr "Nie udało się otworzyć programu pomocniczego (%s)" +#: ../src/extension/internal/filter/snow.h:32 +msgid "Snow" +msgstr "Śnnieg" -#: ../src/jabber_whiteboard/invitation-confirm-dialog.cpp:26 -#: ../src/jabber_whiteboard/session-file-selector.cpp:24 -msgid "_Write session file:" -msgstr "_Zapisz plik sesji:" +#: ../src/extension/internal/filter/snow.h:34 +msgid "Drift Size" +msgstr "Rozmiar zaspy" -#: ../src/jabber_whiteboard/pedrogui.cpp:2630 -msgid "Shared SVG whiteboard tool." -msgstr "Narzędzie do wspólnej pracy." +#: ../src/extension/internal/filter/snow.h:40 +msgid "When the weather outside is frightening..." +msgstr "Gdy na zwenątrz pogoda jest okropna..." -#: ../src/jabber_whiteboard/pedrogui.cpp:2631 -msgid "Based on the Pedro XMPP client" -msgstr "Stworzony w oparciu o aplikację Pedro XMPP" +#. ID -- should be unique +#: ../src/extension/internal/filter/speckle.h:24 +msgid "Speckle" +msgstr "Cętki" -#: ../src/jabber_whiteboard/session-file-selector.cpp:60 -msgid "Select a location and filename" -msgstr "Wybierz położenie i nazwę pliku" +#. Name in the menus, should have a N_() around it for translation +#: ../src/extension/internal/filter/speckle.h:25 +msgid "You look cute with speckles" +msgstr "Wyglądasz ślicznie z cętkami" -#: ../src/jabber_whiteboard/session-file-selector.cpp:62 -msgid "Set filename" -msgstr "Ustaw nazwę pliku" +#. ID -- should be unique +#: ../src/extension/internal/filter/zebra.h:24 +msgid "Zebra Stripes" +msgstr "Zebra" -#: ../src/jabber_whiteboard/session-manager.cpp:308 -msgid "%1 has invited you to a whiteboard session." -msgstr "%1 zaprosił cię do wspólnej pracy na planszy" +#. Name in the menus, should have a N_() around it for translation +#: ../src/extension/internal/filter/zebra.h:25 +msgid "Paint your object with zebra stripes" +msgstr "Wepełnia obiekt paskami zebry" -#: ../src/jabber_whiteboard/session-manager.cpp:310 -msgid "Do you wish to accept %1's whiteboard session invitation?" -msgstr "" -"Czy chcesz przyjąć zaproszenie do wspólnej pracy na planszy od %1?" +#: ../src/extension/internal/gdkpixbuf-input.cpp:114 +#, c-format +msgid "%s GDK pixbuf Input" +msgstr "Źródło %s GDK pixbuf" -#: ../src/jabber_whiteboard/session-manager.cpp:314 -msgid "Accept invitation" -msgstr "Przyjmij zaproszenie" +#: ../src/extension/internal/gimpgrad.cpp:274 +msgid "GIMP Gradients" +msgstr "Gradienty GIMP-a" -#: ../src/jabber_whiteboard/session-manager.cpp:315 -msgid "Decline invitation" -msgstr "Odrzuć zaproszenie" +#: ../src/extension/internal/gimpgrad.cpp:279 +msgid "GIMP Gradient (*.ggr)" +msgstr "Gradient GIMP-a (*.ggr)" -#: ../src/jabber_whiteboard/session-manager.cpp:370 -msgid "Inkboard session (%1 to %2)" -msgstr "Sesja Inkboard (%1 do %2)" +#: ../src/extension/internal/gimpgrad.cpp:280 +msgid "Gradients used in GIMP" +msgstr "Gradienty używane w GIMP-ie" -#: ../src/knot.cpp:430 -msgid "Node or handle drag canceled." -msgstr "Anulowano przeciąganie węzła lub uchwytu" +#: ../src/extension/internal/grid.cpp:192 +#: ../src/ui/widget/panel.cpp:122 +msgid "Grid" +msgstr "Siatka" -#: ../src/knotholder.cpp:132 -msgid "Change handle" -msgstr "Zmień uchwyt" +#: ../src/extension/internal/grid.cpp:194 +msgid "Line Width" +msgstr "Szerokość linii" -#: ../src/knotholder.cpp:207 -msgid "Move handle" -msgstr "Przesuń uchwyt" +#: ../src/extension/internal/grid.cpp:195 +msgid "Horizontal Spacing" +msgstr "Odstępy poziome" -#. TRANSLATORS: This refers to the pattern that's inside the object -#: ../src/knotholder.cpp:228 -msgid "Move the pattern fill inside the object" -msgstr "Przesuń deseń wypełnienia wewnątrz obiektu" +#: ../src/extension/internal/grid.cpp:196 +msgid "Vertical Spacing" +msgstr "Odstępy pionowe" -#: ../src/knotholder.cpp:231 -msgid "Scale the pattern fill uniformly" -msgstr "Skalowanie proporcjonalne desenia wypełnienia" +#: ../src/extension/internal/grid.cpp:197 +msgid "Horizontal Offset" +msgstr "Przesunięcie poziome" -#: ../src/knotholder.cpp:234 -msgid "Rotate the pattern fill; with Ctrl to snap angle" -msgstr "Obracanie wzoru wypełnienia; z Ctrl przyciąganie do kąta" +#: ../src/extension/internal/grid.cpp:198 +msgid "Vertical Offset" +msgstr "Przesunięcie pionowe" -#: ../src/libgdl/gdl-dock-bar.c:108 -msgid "Master" -msgstr "Element główny" +#: ../src/extension/internal/grid.cpp:204 +msgid "Draw a path which is a grid" +msgstr "Tworzy ścieżkę w postaci siatki" -#: ../src/libgdl/gdl-dock-bar.c:109 -msgid "GdlDockMaster object which the dockbar widget is attached to" -msgstr "Główny element dokowalny, do którego jest dołączony pasek dokowania" +#: ../src/extension/internal/javafx-out.cpp:922 +msgid "JavaFX Output" +msgstr "Zapis w formacie JavaFX" -#: ../src/libgdl/gdl-dock-bar.c:116 -msgid "Dockbar style" -msgstr "Styl paska elementów dokowalnych" +#: ../src/extension/internal/javafx-out.cpp:927 +msgid "JavaFX (*.fx)" +msgstr "JavaFX (*.fx)" -#: ../src/libgdl/gdl-dock-bar.c:117 -msgid "Dockbar style to show items on it" -msgstr "Styl paska elementów dokowalnych" +#: ../src/extension/internal/javafx-out.cpp:928 +#, fuzzy +msgid "JavaFX Raytracer File" +msgstr "Plik Raytracer JavaFX" -#: ../src/libgdl/gdl-dock.c:175 ../src/ui/dialog/inkscape-preferences.cpp:496 -#: ../src/ui/dialog/inkscape-preferences.cpp:517 -msgid "Floating" -msgstr "Przestawne" +#: ../src/extension/internal/latex-pstricks-out.cpp:105 +msgid "LaTeX Output" +msgstr "Zapis w formacie LaTeX" -#: ../src/libgdl/gdl-dock.c:176 -msgid "Whether the dock is floating in its own window" -msgstr "Czy okno dokowalne może być przestawnym w swoim własnym oknie" +#: ../src/extension/internal/latex-pstricks-out.cpp:110 +msgid "LaTeX With PSTricks macros (*.tex)" +msgstr "LaTeX z makrami PSTricks (*.tex)" -#: ../src/libgdl/gdl-dock.c:183 ../src/libgdl/gdl-dock-master.c:144 -msgid "Default title" -msgstr "Domyślny tytuł" +#: ../src/extension/internal/latex-pstricks-out.cpp:111 +msgid "LaTeX PSTricks File" +msgstr "Plik LaTeX PSTricks" -#: ../src/libgdl/gdl-dock.c:184 -msgid "Default title for the newly created floating docks" -msgstr "Domyślna nazwa tworzonych okien dokowalnych" +#: ../src/extension/internal/latex-pstricks.cpp:345 +msgid "LaTeX Print" +msgstr "Drukowanie LaTeX" -#: ../src/libgdl/gdl-dock.c:191 -msgid "Width for the dock when it's of floating type" -msgstr "Szerokość okna dokowalnego w trybie przestawnym" +#: ../src/extension/internal/odf.cpp:2415 +msgid "OpenDocument Drawing Output" +msgstr "Zapis w formacie OpenDocument Drawing" -#: ../src/libgdl/gdl-dock.c:199 -msgid "Height for the dock when it's of floating type" -msgstr "Wysokość okna dokowalnego w trybie przestawnym" +#: ../src/extension/internal/odf.cpp:2420 +msgid "OpenDocument drawing (*.odg)" +msgstr "OpenDocument drawing (*.odg)" -#: ../src/libgdl/gdl-dock.c:206 -msgid "Float X" -msgstr "Współrzędna X" +#: ../src/extension/internal/odf.cpp:2421 +msgid "OpenDocument drawing file" +msgstr "Plik OpenDocument Drawing" -#: ../src/libgdl/gdl-dock.c:207 -msgid "X coordinate for a floating dock" -msgstr "Współrzędna X okna dokowalnego w trybie przestawnym" +#: ../src/extension/internal/pdf-cairo.cpp:126 +#: ../src/extension/internal/ps.cpp:151 +msgid "Print Destination" +msgstr "Przeznaczenie wydruku" -#: ../src/libgdl/gdl-dock.c:214 -msgid "Float Y" -msgstr "Współrzędna Y" +#. Print properties frame +#: ../src/extension/internal/pdf-cairo.cpp:141 +#: ../src/extension/internal/ps.cpp:166 +msgid "Print properties" +msgstr "Właściwości wydruku" -#: ../src/libgdl/gdl-dock.c:215 -msgid "Y coordinate for a floating dock" -msgstr "Współrzędna Y okna dokowalnego w trybie przestawnym" +#: ../src/extension/internal/pdf-cairo.cpp:148 +msgid "Print using PDF operators" +msgstr "Drukuj używając operatorów PDF" -#: ../src/libgdl/gdl-dock.c:499 -#, c-format -msgid "Dock #%d" -msgstr "Okno dokowalne #%d" +#: ../src/extension/internal/pdf-cairo.cpp:150 +msgid "Use PDF vector operators. The resulting image is usually smaller in file size and can be arbitrarily scaled, but patterns will be lost." +msgstr "Zastosuj wektorowe operatory PDF. Plik wynikowy jest zwykle mniejszy i można skalować zapisany w nim rysunek, ale zostaną utracone desenie" -#: ../src/libgdl/gdl-dock-item.c:287 -msgid "Orientation" -msgstr "Orientacja" +#: ../src/extension/internal/pdf-cairo.cpp:155 +#: ../src/extension/internal/ps.cpp:180 +msgid "Print as bitmap" +msgstr "Drukuj jako bitmapę" -#: ../src/libgdl/gdl-dock-item.c:288 -msgid "Orientation of the docking item" -msgstr "Orientacja elementu dokowalnego" +#: ../src/extension/internal/pdf-cairo.cpp:157 +#: ../src/extension/internal/ps.cpp:182 +msgid "Print everything as bitmap. The resulting image is usually larger in file size and cannot be arbitrarily scaled without quality loss, but all objects will be rendered exactly as displayed." +msgstr "Drukuj wszystko jako bitmapę. Plik wynikowy jest zwykle większy i nie można skalować zapisanego w nim rysunku, ale wszystkie obiekty zostaną zobrazowane dokładnie tak jak są wyświetlane na ekranie" -#: ../src/libgdl/gdl-dock-item.c:303 -msgid "Resizable" -msgstr "Zmieniające rozmiar" +#: ../src/extension/internal/pdf-cairo.cpp:171 +#: ../src/extension/internal/ps.cpp:196 +msgid "Preferred resolution (dots per inch) of bitmap" +msgstr "Preferowana rozdzielczość bitmapy (w dpi)" -#: ../src/libgdl/gdl-dock-item.c:304 -msgid "If set, the dock item can be resized when docked in a panel" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, będzie można zmieniać rozmiar elementów " -"dokowalnych" +#: ../src/extension/internal/pdf-cairo.cpp:185 +#: ../src/extension/internal/ps.cpp:210 +msgid "Resolution:" +msgstr "Rozdzielczość:" -#: ../src/libgdl/gdl-dock-item.c:311 -msgid "Item behavior" -msgstr "Zachowanie elementu" +#. Print destination frame +#: ../src/extension/internal/pdf-cairo.cpp:189 +#: ../src/extension/internal/ps.cpp:217 +msgid "Print destination" +msgstr "Przeznaczenie wydruku" -#: ../src/libgdl/gdl-dock-item.c:312 +#: ../src/extension/internal/pdf-cairo.cpp:195 +#: ../src/extension/internal/ps.cpp:223 msgid "" -"General behavior for the dock item (i.e. whether it can float, if it's " -"locked, etc.)" -msgstr "Zachowanie elementów dokowalnych (przestawne, zablokowane itp.)" +"Printer name (as given by lpstat -p);\n" +"leave empty to use the system default printer.\n" +"Use '> filename' to print to file.\n" +"Use '| prog arg...' to pipe to a program." +msgstr "" +"Nazwa drukarki (uzyskana poleceniem lpstat -p);\n" +"pozostaw puste, aby użyć domyślnej drukarki systemowej.\n" +"Użyj '> nazwa_pliku', aby wydrukować do pliku.\n" +"Użyj '| nazwa_programu argumenty...', aby przesłać do programu" -#: ../src/libgdl/gdl-dock-item.c:320 ../src/libgdl/gdl-dock-master.c:151 -msgid "Locked" -msgstr "Zablokowany" +#: ../src/extension/internal/pdf-cairo.cpp:1027 +msgid "PDF Print" +msgstr "Drukuj PDF" -#: ../src/libgdl/gdl-dock-item.c:321 -msgid "" -"If set, the dock item cannot be dragged around and it doesn't show a grip" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, nie będzie można zmieniać położenia i " -"rozmiaru elementów dokowalnych" +#. TRANSLATORS: The following are document crop settings for PDF import +#. more info: http://www.acrobatusers.com/tech_corners/javascript_corner/tips/2006/page_bounds/ +#: ../src/extension/internal/pdfinput/pdf-input.cpp:56 +msgid "media box" +msgstr "obszaru MediaBox (strona)" -#: ../src/libgdl/gdl-dock-item.c:329 -msgid "Preferred width" -msgstr "Preferowana szerokość" +#: ../src/extension/internal/pdfinput/pdf-input.cpp:57 +msgid "crop box" +msgstr "obszaru CropBox" -#: ../src/libgdl/gdl-dock-item.c:330 -msgid "Preferred width for the dock item" -msgstr "Preferowana szerokość elementów dokowalnych" +#: ../src/extension/internal/pdfinput/pdf-input.cpp:58 +msgid "trim box" +msgstr "obszaru TrimBox" -#: ../src/libgdl/gdl-dock-item.c:336 -msgid "Preferred height" -msgstr "Preferowana wysokość" +#: ../src/extension/internal/pdfinput/pdf-input.cpp:59 +msgid "bleed box" +msgstr "obszaru BleedBox" -#: ../src/libgdl/gdl-dock-item.c:337 -msgid "Preferred height for the dock item" -msgstr "Preferowana wysokość elementów dokowalnych" +#: ../src/extension/internal/pdfinput/pdf-input.cpp:60 +msgid "art box" +msgstr "obszaru ArtBox" -#: ../src/libgdl/gdl-dock-item.c:616 -#, c-format -msgid "" -"You can't add a dock object (%p of type %s) inside a %s. Use a GdlDock or " -"some other compound dock object." -msgstr "" -"Nie można dodać obiektu dokowalnego (%p typu %s) wewnątrz %s. Proszę użyć " -"GdlDock lub innego złożonego obiektu dokowalnego." +#: ../src/extension/internal/pdfinput/pdf-input.cpp:72 +msgid "Select page:" +msgstr "Wybierz stronę:" -#: ../src/libgdl/gdl-dock-item.c:623 +#. Display total number of pages +#: ../src/extension/internal/pdfinput/pdf-input.cpp:86 #, c-format -msgid "" -"Attempting to add a widget with type %s to a %s, but it can only contain one " -"widget at a time; it already contains a widget of type %s" -msgstr "" -"Nastąpiła próba dodania elementu typu %s do %s, ale ten typ może zawierać " -"tylko jeden element. Zawiera on już element typu %s." +msgid "out of %i" +msgstr "z %i" -#: ../src/libgdl/gdl-dock-item.c:1345 ../src/libgdl/gdl-dock-item.c:1390 -#, c-format -msgid "Unsupported docking strategy %s in dock object of type %s" -msgstr "Nieobsługiwana metoda dokowania %s w obiekcie dokowalnym typu %s" +#. Crop settings +#: ../src/extension/internal/pdfinput/pdf-input.cpp:92 +msgid "Clip to:" +msgstr "Przytnij do:" -#. UnLock menuitem -#: ../src/libgdl/gdl-dock-item.c:1479 -msgid "UnLock" -msgstr "Odblokuj" +#: ../src/extension/internal/pdfinput/pdf-input.cpp:104 +msgid "Page settings" +msgstr "Ustawienia strony:" -#. Hide menuitem. -#: ../src/libgdl/gdl-dock-item.c:1486 -msgid "Hide" -msgstr "Ukryj" +#: ../src/extension/internal/pdfinput/pdf-input.cpp:106 +msgid "Precision of approximating gradient meshes:" +msgstr "Precyzja przybliżania siatek gradientu:" -#. Lock menuitem -#: ../src/libgdl/gdl-dock-item.c:1491 -msgid "Lock" -msgstr "Zablokuj" +#: ../src/extension/internal/pdfinput/pdf-input.cpp:107 +msgid "Note: setting the precision too high may result in a large SVG file and slow performance." +msgstr "Uwaga: Ustawiając bardzo dużą dokładność można spowodować powstanie dużego pliku SVG i zmniejszyć wydajność" -#: ../src/libgdl/gdl-dock-item.c:1717 -#, c-format -msgid "Attempt to bind an unbound item %p" -msgstr "Połącz element %p" +#: ../src/extension/internal/pdfinput/pdf-input.cpp:112 +#: ../src/extension/internal/pdfinput/pdf-input.cpp:381 +msgid "rough" +msgstr "niewygładzony" -#: ../src/libgdl/gdl-dock-item-grip.c:395 -msgid "Iconify" -msgstr "Minimalizuj" +#. Text options +#: ../src/extension/internal/pdfinput/pdf-input.cpp:116 +msgid "Text handling:" +msgstr "Obsługa tekstu:" -#: ../src/libgdl/gdl-dock-item-grip.c:395 -msgid "Iconify this dock" -msgstr "Minimalizuj ten element" +#: ../src/extension/internal/pdfinput/pdf-input.cpp:118 +#: ../src/extension/internal/pdfinput/pdf-input.cpp:119 +msgid "Import text as text" +msgstr "Importuj tekst jako tekst" -#: ../src/libgdl/gdl-dock-item-grip.c:397 -msgid "Close" -msgstr "Zamknij" +#: ../src/extension/internal/pdfinput/pdf-input.cpp:122 +msgid "Embed images" +msgstr "Osadź obrazy" -#: ../src/libgdl/gdl-dock-item-grip.c:397 -msgid "Close this dock" -msgstr "Zamknij ten element" +#: ../src/extension/internal/pdfinput/pdf-input.cpp:125 +msgid "Import settings" +msgstr "Ustawienia importu" -#: ../src/libgdl/gdl-dock-item-grip.c:706 -#: ../src/libgdl/gdl-dock-tablabel.c:128 -msgid "Controlling dock item" -msgstr "Zarządzanie elementem dokowalnym" +#: ../src/extension/internal/pdfinput/pdf-input.cpp:242 +msgid "PDF Import Settings" +msgstr "Ustawienia importu plików PDF" -#: ../src/libgdl/gdl-dock-item-grip.c:707 -msgid "Dockitem which 'owns' this grip" -msgstr "Element dokowalny posiadający uchwyt zmiany rozmiaru" +#: ../src/extension/internal/pdfinput/pdf-input.cpp:382 +msgid "pdfinput|medium" +msgstr "średni" -#: ../src/libgdl/gdl-dock-master.c:145 -msgid "Default title for newly created floating docks" -msgstr "Domyślna nazwa nowo tworzonych przestawnych elementów dokowalnych" +#: ../src/extension/internal/pdfinput/pdf-input.cpp:383 +msgid "fine" +msgstr "dokładny" -#: ../src/libgdl/gdl-dock-master.c:152 -msgid "" -"If is set to 1, all the dock items bound to the master are locked; if it's " -"0, all are unlocked; -1 indicates inconsistency among the items" -msgstr "" -"Jeśli zostanie ustawiona wartość 1 wszystkie obiekty dokowalne połączone z " -"obiektem głównym będą zablokowane. Jeśli 0, obiekty będą odblokowane, -1 " -"elementy będą niespójne pomiędzy sobą." +#: ../src/extension/internal/pdfinput/pdf-input.cpp:384 +msgid "very fine" +msgstr "bardzo dokładny" + +#: ../src/extension/internal/pdfinput/pdf-input.cpp:739 +msgid "PDF Input" +msgstr "Źródło PDF" + +#: ../src/extension/internal/pdfinput/pdf-input.cpp:744 +msgid "Adobe PDF (*.pdf)" +msgstr "Adobe PDF (*.pdf)" -#: ../src/libgdl/gdl-dock-master.c:160 ../src/libgdl/gdl-switcher.c:707 -msgid "Switcher Style" -msgstr "Styl przełącznika" +#: ../src/extension/internal/pdfinput/pdf-input.cpp:745 +msgid "Adobe Portable Document Format" +msgstr "Format Adobe Portable Document (PDF)" -#: ../src/libgdl/gdl-dock-master.c:161 ../src/libgdl/gdl-switcher.c:708 -msgid "Switcher buttons style" -msgstr "Styl przycisków przełączających" +#: ../src/extension/internal/pdfinput/pdf-input.cpp:752 +msgid "AI Input" +msgstr "Źródło AI" -#: ../src/libgdl/gdl-dock-master.c:168 -msgid "Expand direction" -msgstr "Kierunek rozszerzania" +#: ../src/extension/internal/pdfinput/pdf-input.cpp:757 +msgid "Adobe Illustrator 9.0 and above (*.ai)" +msgstr "Adobe Illustrator 9.0 lub nowszy (*.ai)" -#: ../src/libgdl/gdl-dock-master.c:169 -msgid "" -"Allow the master's dock items to expand their container dock objects in the " -"given direction" -msgstr "" -"Pozwala głównym elementom dokowalnym na rozszerzenie ich obiektów " -"dokowalnych w określonym kierunku" +#: ../src/extension/internal/pdfinput/pdf-input.cpp:758 +msgid "Open files saved in Adobe Illustrator 9.0 and newer versions" +msgstr "Otwórz pliki zapisane w programie Adobe Illustrator w wersji 9.0 lub nowszej" -#: ../src/libgdl/gdl-dock-master.c:796 -#, c-format -msgid "" -"master %p: unable to add object %p[%s] to the hash. There already is an " -"item with that name (%p)." -msgstr "" -"Główny %p: nie można dodać obiektu %p[%s] do zbioru. Już istnieje element o " -"nazwie (%p)." +#: ../src/extension/internal/pov-out.cpp:676 +msgid "PovRay Output" +msgstr "Zapis PovRay" -#: ../src/libgdl/gdl-dock-master.c:969 -#, c-format -msgid "" -"The new dock controller %p is automatic. Only manual dock objects should be " -"named controller." -msgstr "" -"Nowy sterownik dokowania %p jest automatyczny. Tylko ręcznie dokowalne " -"obiekty powinny nazywać się sterownikiem." +#: ../src/extension/internal/pov-out.cpp:681 +msgid "PovRay (*.pov) (export splines)" +msgstr "PovRay (*.pov) (eksport krzywych)" -#: ../src/libgdl/gdl-dock-notebook.c:134 -#: ../src/ui/dialog/align-and-distribute.cpp:903 -#: ../src/ui/dialog/document-properties.cpp:134 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1364 -#: ../src/widgets/desktop-widget.cpp:1544 -msgid "Page" -msgstr "Strona" +#: ../src/extension/internal/pov-out.cpp:682 +msgid "PovRay Raytracer File" +msgstr "Plik programu PovRay" -#: ../src/libgdl/gdl-dock-notebook.c:135 -msgid "The index of the current page" -msgstr "Indeks bieżącej strony" +#: ../src/extension/internal/ps-out.cpp:82 +msgid "Postscript Output" +msgstr "Zapis Postscript" -#: ../src/libgdl/gdl-dock-object.c:120 ../src/ui/widget/page-sizer.cpp:198 -msgid "Name" -msgstr "Nazwa" +#: ../src/extension/internal/ps-out.cpp:89 +msgid "PostScript (old exporter via print) (*.ps)" +msgstr "PostScript [stary eksporter przez druk] (*.ps)" -#: ../src/libgdl/gdl-dock-object.c:121 -msgid "Unique name for identifying the dock object" -msgstr "Unikalna nazwa identyfikująca obiekt dokowalny" +#: ../src/extension/internal/ps.cpp:151 +msgid "Print Configuration" +msgstr "Ustawienia wydruku" -#: ../src/libgdl/gdl-dock-object.c:128 -msgid "Long name" -msgstr "Długa nazwa" +#: ../src/extension/internal/ps.cpp:173 +msgid "Print using PostScript operators" +msgstr "Drukuj używając poleceń PostScriptu" -#: ../src/libgdl/gdl-dock-object.c:129 -msgid "Human readable name for the dock object" -msgstr "Zrozumiała dla wszystkich nazwa obiektu dokowalnego" +#: ../src/extension/internal/ps.cpp:175 +msgid "Use PostScript vector operators. The resulting image is usually smaller in file size and can be arbitrarily scaled, but alpha transparency and patterns will be lost." +msgstr "Zastosuj wektorowe polecenia PostScriptu. Plik wynikowy jest zwykle mniejszy i można skalować zapisany w nim rysunek, ale zostanie utracona przezroczystość i desenie" -#: ../src/libgdl/gdl-dock-object.c:135 -msgid "Stock Icon" -msgstr "Zbiór ikon" +#: ../src/extension/internal/ps.cpp:1768 +msgid "Postscript Print" +msgstr "Druk Postscript" -#: ../src/libgdl/gdl-dock-object.c:136 -msgid "Stock icon for the dock object" -msgstr "Zbiór ikon dla obiektów dokowalnych" +#: ../src/extension/internal/svg.cpp:55 +msgid "SVG Input" +msgstr "Źródło SVG" -#: ../src/libgdl/gdl-dock-object.c:142 -msgid "Pixbuf Icon" -msgstr "Ikona Pixbuf" +#: ../src/extension/internal/svg.cpp:60 +msgid "Scalable Vector Graphic (*.svg)" +msgstr "Scalable Vector Graphic (*.svg)" -#: ../src/libgdl/gdl-dock-object.c:143 -msgid "Pixbuf icon for the dock object" -msgstr "Ikona Pixbuf dla obiektu dokowalnego" +#: ../src/extension/internal/svg.cpp:61 +msgid "Inkscape native file format and W3C standard" +msgstr "Natywny format Inkscape i standard W3C" -#: ../src/libgdl/gdl-dock-object.c:148 -msgid "Dock master" -msgstr "Główny element dokowalny" +#: ../src/extension/internal/svg.cpp:69 +msgid "SVG Output Inkscape" +msgstr "Zapis w formacie SVG Inkscape" -#: ../src/libgdl/gdl-dock-object.c:149 -msgid "Dock master this dock object is bound to" -msgstr "Główny element dokowalny tego obiektu jest połączony z" +#: ../src/extension/internal/svg.cpp:74 +msgid "Inkscape SVG (*.svg)" +msgstr "Inkscape SVG (*.svg)" -#: ../src/libgdl/gdl-dock-object.c:434 -#, c-format -msgid "" -"Call to gdl_dock_object_dock in a dock object %p (object type is %s) which " -"hasn't implemented this method" -msgstr "" -"Wywołanie metody gdl_dock_object_dock w obiekcie %p (typ obiektu %s), który " -"nie posiada implementacji tej metody" +#: ../src/extension/internal/svg.cpp:75 +msgid "SVG format with Inkscape extensions" +msgstr "Format SVG z rozszerzeniami Inkscape" -#: ../src/libgdl/gdl-dock-object.c:563 -#, c-format -msgid "" -"Dock operation requested in a non-bound object %p. The application might " -"crash" -msgstr "" -"Zażądano wykonania operacji dokowania w niepołączonym obiekcie %p. " -"Kontynuowanie może spowodować zamknięcie aplikacji." +#: ../src/extension/internal/svg.cpp:83 +msgid "SVG Output" +msgstr "Zapis w formacie SVG" -#: ../src/libgdl/gdl-dock-object.c:570 -#, c-format -msgid "Cannot dock %p to %p because they belong to different masters" -msgstr "" -"Nie można zadokować %p do %p ponieważ jest ono połączone i innym elementem " -"głównym" +#: ../src/extension/internal/svg.cpp:88 +msgid "Plain SVG (*.svg)" +msgstr "Czysty format SVG (*.svg)" -#: ../src/libgdl/gdl-dock-object.c:612 -#, c-format -msgid "" -"Attempt to bind to %p an already bound dock object %p (current master: %p)" -msgstr "" -"Próba połączenia z %p już połączonego obiektu dokowalnego %p Aktualny " -"element główny: %p)" +#: ../src/extension/internal/svg.cpp:89 +msgid "Scalable Vector Graphics format as defined by the W3C" +msgstr "Format Scalable Vector Graphics zgodny z definicją W3C" -#: ../src/libgdl/gdl-dock-paned.c:132 -msgid "Position" -msgstr "Lokalizacja" +#: ../src/extension/internal/svgz.cpp:54 +msgid "SVG file format compressed with GZip" +msgstr "Format SVG skompresowany programem GZip" -#: ../src/libgdl/gdl-dock-paned.c:133 -msgid "Position of the divider in pixels" -msgstr "Położenie przegrody (w px)" +#: ../src/extension/internal/svgz.cpp:81 +msgid "Compressed plain SVG (*.svgz)" +msgstr "Skompresowany czysty SVG (*.svgz)" -#: ../src/libgdl/gdl-dock-placeholder.c:143 -msgid "Sticky" -msgstr "Przyklejone" +#: ../src/extension/internal/svgz.cpp:82 +msgid "Scalable Vector Graphics format compressed with GZip" +msgstr "Format Scalable Vector Graphics skompresowany programem GZip" -#: ../src/libgdl/gdl-dock-placeholder.c:144 -msgid "" -"Whether the placeholder will stick to its host or move up the hierarchy when " -"the host is redocked" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, okienko zadań będzie połączone ze swoim " -"miejscem dokowania i podczas ponownego dokowania będzie dokowane w tym " -"miejscu lub przesuwane w górę hierarchii panelu dokowania" +#: ../src/extension/internal/win32.cpp:485 +msgid "Windows 32-bit Print" +msgstr "Windows 32-bit Print" -#: ../src/libgdl/gdl-dock-placeholder.c:151 -msgid "Host" -msgstr "Host" +#: ../src/extension/internal/wpg-input.cpp:102 +msgid "WPG Input" +msgstr "Źródło WPG" -#: ../src/libgdl/gdl-dock-placeholder.c:152 -msgid "The dock object this placeholder is attached to" -msgstr "Dokowalny obiekt tego miejsca dokowania jest dołączony do niego" +#: ../src/extension/internal/wpg-input.cpp:107 +msgid "WordPerfect Graphics (*.wpg)" +msgstr "WordPerfect Graphics (*.wpg)" -#: ../src/libgdl/gdl-dock-placeholder.c:159 -msgid "Next placement" -msgstr "Następne położenie" +#: ../src/extension/internal/wpg-input.cpp:108 +msgid "Vector graphics format used by Corel WordPerfect" +msgstr "Format grafiki wektorowej używany przez Corel WordPerfect" -#: ../src/libgdl/gdl-dock-placeholder.c:160 -msgid "" -"The position an item will be docked to our host if a request is made to dock " -"to us" -msgstr "" -"Jeśli zażądano zadokowania w panelu dokowania, pozycja elementu zostanie " -"zapamiętana" +#: ../src/extension/prefdialog.cpp:236 +#, fuzzy +msgid "Is the effect previewed live on canvas?" +msgstr "Kontroluje w obszarze roboczym, czy ustawienia efektów są renderowane na bieżąco" -#: ../src/libgdl/gdl-dock-placeholder.c:170 -msgid "Width for the widget when it's attached to the placeholder" -msgstr "Szerokość elementu załączanego do miejsca dokowania" +#: ../src/extension/prefdialog.cpp:236 +msgid "Live preview" +msgstr "Stały podgląd" -#: ../src/libgdl/gdl-dock-placeholder.c:178 -msgid "Height for the widget when it's attached to the placeholder" -msgstr "Wysokość elementu załączanego do miejsca dokowania" +#. We can't call sp_ui_error_dialog because we may be +#. running from the console, in which case calling sp_ui +#. routines will cause a segfault. See bug 1000350 - bryce +#. sp_ui_error_dialog(_("Format autodetect failed. The file is being opened as SVG.")); +#: ../src/extension/system.cpp:103 +msgid "Format autodetect failed. The file is being opened as SVG." +msgstr "Nie udało się automatycznie rozpoznać formatu. Plik jest otwierany jako SVG" -#: ../src/libgdl/gdl-dock-placeholder.c:184 -msgid "Floating Toplevel" -msgstr "Najwyższy poziom elementów w trybie przestawnym" +#. TRANSLATORS: default.svg is localizable - this is the name of the default document +#. template. This way you can localize the default pagesize, translate the name of +#. the default layer, etc. If you wish to localize this file, please create a +#. localized share/templates/default.xx.svg file, where xx is your language code. +#: ../src/file.cpp:142 +msgid "default.svg" +msgstr "default.svg" -#: ../src/libgdl/gdl-dock-placeholder.c:185 -msgid "Whether the placeholder is standing in for a floating toplevel dock" -msgstr "" -"Czy miejsce dokowania jest stałe dla przestawnych obiektów dokowalnych " -"najwyższego poziomu" +#: ../src/file.cpp:228 +#: ../src/file.cpp:1007 +#, c-format +msgid "Failed to load the requested file %s" +msgstr "Nie udało się wczytać żądanego pliku %s" -#: ../src/libgdl/gdl-dock-placeholder.c:191 -msgid "X-Coordinate" -msgstr "Współrzędna X" +#: ../src/file.cpp:253 +msgid "Document not saved yet. Cannot revert." +msgstr "Dokument nie został jeszcze zapisany. Nie można go przywrócić." -#: ../src/libgdl/gdl-dock-placeholder.c:192 -msgid "X coordinate for dock when floating" -msgstr "Współrzędna X okna dokowalnego w trybie przestawnym" +#: ../src/file.cpp:259 +#, c-format +msgid "Changes will be lost! Are you sure you want to reload document %s?" +msgstr "Zmiany zostaną utracone! Czy na pewno wczytać ponownie dokument %s?" -#: ../src/libgdl/gdl-dock-placeholder.c:198 -msgid "Y-Coordinate" -msgstr "Współrzędna Y" +#: ../src/file.cpp:288 +msgid "Document reverted." +msgstr "Dokument został przywrócony" -#: ../src/libgdl/gdl-dock-placeholder.c:199 -msgid "Y coordinate for dock when floating" -msgstr "Współrzędna Y okna dokowalnego w trybie przestawnym" +#: ../src/file.cpp:290 +msgid "Document not reverted." +msgstr "Dokumentu nie przywrócono" -#: ../src/libgdl/gdl-dock-placeholder.c:494 -msgid "Attempt to dock a dock object to an unbound placeholder" -msgstr "Próba zadokowania obiektu do niepołączonego miejsca dokowania" +#: ../src/file.cpp:440 +msgid "Select file to open" +msgstr "Wybierz plik do otworzenia" -#: ../src/libgdl/gdl-dock-placeholder.c:618 +#: ../src/file.cpp:527 +msgid "Vacuum <defs>" +msgstr "Wyczyść <defs>" + +#: ../src/file.cpp:532 #, c-format -msgid "Got a detach signal from an object (%p) who is not our host %p" -msgstr "" -"Otrzymano sygnał odłączenia od obiektu (%p), który nie jest naszym serwerem %" -"p" +msgid "Removed %i unused definition in <defs>." +msgid_plural "Removed %i unused definitions in <defs>." +msgstr[0] "Usunięto %i nieużywaną definicję w <defs>" +msgstr[1] "Usunięto %i nieużywane definicje w <defs>" +msgstr[2] "Usunięto %i nieużywanych definicji w <defs>" -#: ../src/libgdl/gdl-dock-placeholder.c:643 +#: ../src/file.cpp:537 +msgid "No unused definitions in <defs>." +msgstr "Nie ma nieużywanych definicji w <defs>" + +#: ../src/file.cpp:566 #, c-format -msgid "" -"Something weird happened while getting the child placement for %p from " -"parent %p" -msgstr "" -"Stało się coś dziwnego podczas otwierania okna dokowalnego dla %p " -"pochodzącego z %p" +msgid "No Inkscape extension found to save document (%s). This may have been caused by an unknown filename extension." +msgstr "Nie znaleziono rozszerzenia programu Inkscape obsługującego zapis dokumentu (%s). Może być to spowodowane nieznanym rozszerzeniem pliku." -#: ../src/libgdl/gdl-dock-tablabel.c:129 -msgid "Dockitem which 'owns' this tablabel" -msgstr "Okno dokowalne, które posiada tę etykietę karty" +#: ../src/file.cpp:567 +#: ../src/file.cpp:575 +msgid "Document not saved." +msgstr "Dokument nie został zapisany" -#: ../src/libnrtype/FontFactory.cpp:774 -msgid "Ignoring font without family that will crash Pango" -msgstr "" -"Pomijanie czcionki bez rodziny, która może powodować błędy w bibliotece Pango" +#: ../src/file.cpp:574 +#, c-format +msgid "File %s could not be saved." +msgstr "Plik %s nie mógł zostać zapisany" -#. {constant defined in effect.h, N_("name of your effect"), "name of your effect in SVG"} -#: ../src/live_effects/effect.cpp:68 -#, fuzzy -msgid "Bend" -msgstr "Mieszanie" +#: ../src/file.cpp:585 +msgid "Document saved." +msgstr "Dokument został zapisany" -#: ../src/live_effects/effect.cpp:69 -msgid "Pattern Along Path" -msgstr "Deseń wzdłuż ścieżki" +#: ../src/file.cpp:726 +#: ../src/file.cpp:1132 +#: ../src/file.cpp:1249 +#, c-format +msgid "drawing%s" +msgstr "Rysunek%s" -#. for historic reasons, this effect is called skeletal(strokes) in Inkscape:SVG -#: ../src/live_effects/effect.cpp:70 -msgid "Sketch" -msgstr "" +#: ../src/file.cpp:732 +#, c-format +msgid "drawing-%d%s" +msgstr "Rysunek-%d%s" -#: ../src/live_effects/effect.cpp:71 -msgid "VonKoch" -msgstr "" +#: ../src/file.cpp:751 +msgid "Select file to save a copy to" +msgstr "Wybierz plik do zapisania kopii do" -#: ../src/live_effects/effect.cpp:72 -msgid "Knot" -msgstr "" +#: ../src/file.cpp:753 +msgid "Select file to save to" +msgstr "Wybierz plik do zapisania w" -#: ../src/live_effects/effect.cpp:74 -msgid "doEffect stack test" -msgstr "Wykonaj test efektu stosu" +#: ../src/file.cpp:832 +msgid "No changes need to be saved." +msgstr "Brak zmian do zapisania" -#: ../src/live_effects/effect.cpp:76 -msgid "Gears" -msgstr "Koła zębate" +#: ../src/file.cpp:849 +msgid "Saving document..." +msgstr "Zapisywanie dokumentu..." -#: ../src/live_effects/effect.cpp:77 -msgid "Stitch Sub-Paths" -msgstr "Zszywanie ścieżek podrzędnych" +#: ../src/file.cpp:1004 +msgid "Import" +msgstr "Importuj" -#: ../src/live_effects/effect.cpp:78 -msgid "Circle (center+radius)" -msgstr "Okrąg (środek+kąt" +#: ../src/file.cpp:1036 +msgid "Select file to import" +msgstr "Wybierz plik do importu" -#: ../src/live_effects/effect.cpp:79 -msgid "Perspective path" -msgstr "Ścieżka perspektywy" +#: ../src/file.cpp:1154 +#: ../src/file.cpp:1264 +msgid "Select file to export to" +msgstr "Wybierz plik do eksportu do" -#: ../src/live_effects/effect.cpp:80 -msgid "Spiro spline" -msgstr "" +#: ../src/file.cpp:1291 +#, c-format +msgid "Error saving a temporary copy" +msgstr "Błąd podczas zapisu kopi tymczasowej" -#: ../src/live_effects/effect.cpp:81 -#, fuzzy -msgid "Lattice Deformation" -msgstr "Informacja o użyciu pamięci" +#: ../src/file.cpp:1311 +msgid "Open Clip Art Login" +msgstr "Login do galerii klipartów" -#: ../src/live_effects/effect.cpp:82 -#, fuzzy -msgid "Envelope Deformation" -msgstr "Informacje" +#: ../src/file.cpp:1332 +#, c-format +msgid "Error exporting the document. Verify if the server name, username and password are correct, if the server has support for webdav and verify if you didn't forget to choose a license." +msgstr "Błąd podczas eksportu dokumentu. Proszę sprawdzić poprawność nazwy serwera, nazwy użytkownika i hasła. Jeśli serwer obsługuje protokół WebDAV proszę sprawdzić, czy wybrano licencję." -#: ../src/live_effects/effect.cpp:83 -#, fuzzy -msgid "Construct grid" -msgstr "Wyśrodkowanie" +#: ../src/file.cpp:1353 +msgid "Document exported..." +msgstr "Dokument wyeksportowano..." -#: ../src/live_effects/effect.cpp:84 -#, fuzzy -msgid "Perpendicular bisector" -msgstr "(prostopadle do konturu, \"pędzel\")" +#: ../src/file.cpp:1381 +#: ../src/verbs.cpp:2249 +msgid "Import From Open Clip Art Library" +msgstr "Importuj z galerii klipartów" -#: ../src/live_effects/effect.cpp:85 -#, fuzzy -msgid "Tangent to curve" -msgstr "Przeciągnij krzywą" +#: ../src/filter-enums.cpp:20 +msgid "Blend" +msgstr "Mieszanie" -#: ../src/live_effects/effect.cpp:86 -#, fuzzy -msgid "Mirror reflection" -msgstr "PM: odbicie" +#: ../src/filter-enums.cpp:21 +msgid "Color Matrix" +msgstr "Macierz koloru" -#: ../src/live_effects/effect.cpp:178 -msgid "Create and apply path effect" -msgstr "Tworzy i zastosowuje efekt ścieżki" +#: ../src/filter-enums.cpp:22 +msgid "Component Transfer" +msgstr "Transfer komponentu" -#: ../src/live_effects/effect.cpp:189 -msgid "Is visible?" -msgstr "" +#: ../src/filter-enums.cpp:23 +msgid "Composite" +msgstr "Składanie" -#: ../src/live_effects/effect.cpp:189 -msgid "" -"If unchecked, the effect remains applied to the object but is temporarily " -"disabled on canvas" -msgstr "" +#: ../src/filter-enums.cpp:24 +msgid "Convolve Matrix" +msgstr "Macierz splotu" -#: ../src/live_effects/effect.cpp:207 -msgid "No effect" -msgstr "Brak efektu" +#: ../src/filter-enums.cpp:25 +msgid "Diffuse Lighting" +msgstr "Oświetlenie rozproszone" -#: ../src/live_effects/effect.cpp:254 -#, c-format -msgid "Please specify a parameter path for the LPE '%s' with %d mouse clicks" -msgstr "" +#: ../src/filter-enums.cpp:26 +msgid "Displacement Map" +msgstr "Mapa przemieszczenia" -#: ../src/live_effects/effect.cpp:294 -msgid "An exception occurred during execution of the Path Effect." -msgstr "Wystąpił błąd podczas wykonywania efektu ścieżki" +#: ../src/filter-enums.cpp:27 +msgid "Flood" +msgstr "Wypełnienie" -#: ../src/live_effects/effect.cpp:512 -#, c-format -msgid "Editing parameter %s." -msgstr "Edytowanie parametru %s" +#: ../src/filter-enums.cpp:29 +#: ../src/selection-describer.cpp:53 +msgid "Image" +msgstr "Obrazek" -#: ../src/live_effects/effect.cpp:517 -msgid "None of the applied path effect's parameters can be edited on-canvas." -msgstr "" -"Nie ma zastosowanych parametrów efektu ścieżki, które można by edytować w " -"obszarze roboczym" +#: ../src/filter-enums.cpp:30 +msgid "Merge" +msgstr "Scalanie" -#: ../src/live_effects/lpe-bendpath.cpp:57 -msgid "Bend path" -msgstr "Ścieżka zagięcia" +#: ../src/filter-enums.cpp:31 +msgid "Morphology" +msgstr "Morfologia" -#: ../src/live_effects/lpe-bendpath.cpp:57 -msgid "Path along which to bend the original path" -msgstr "Ścieżka wzdłuż, której nastąpi zagięcie oryginalnej ścieżki" +#: ../src/filter-enums.cpp:33 +msgid "Specular Lighting" +msgstr "Oświetlenie odbite" -#: ../src/live_effects/lpe-bendpath.cpp:58 -msgid "Width of the path" -msgstr "Szerokość ścieżki" +#: ../src/filter-enums.cpp:34 +msgid "Tile" +msgstr "Kafelkowanie" -#: ../src/live_effects/lpe-bendpath.cpp:59 -#: ../src/live_effects/lpe-patternalongpath.cpp:65 -msgid "Width in units of length" -msgstr "Szerokość w jednostkach długości" +#: ../src/filter-enums.cpp:35 +#: ../src/filter-enums.cpp:118 +msgid "Turbulence" +msgstr "Turbulencja" -#: ../src/live_effects/lpe-bendpath.cpp:59 -msgid "Scale the width of the path in units of its length" -msgstr "Skaluje szerokość ścieżki w jednostkach jej długości" +#: ../src/filter-enums.cpp:40 +msgid "Source Graphic" +msgstr "Źródło grafiki" -#: ../src/live_effects/lpe-bendpath.cpp:60 -msgid "Original path is vertical" -msgstr "Oryginalna ścieżka o orientacji pionowej" +#: ../src/filter-enums.cpp:41 +msgid "Source Alpha" +msgstr "Źródło krycia" -#: ../src/live_effects/lpe-bendpath.cpp:60 -msgid "Rotates the original 90 degrees, before bending it along the bend path" -msgstr "Przed zagięciem ścieżki wzdłuż ścieżki zagięcia obraca ścieżkę o 90°" +#: ../src/filter-enums.cpp:42 +msgid "Background Image" +msgstr "Obrazek tła" -#: ../src/live_effects/lpe-constructgrid.cpp:28 -#, fuzzy -msgid "Size X" -msgstr "Rozmiar" +#: ../src/filter-enums.cpp:43 +msgid "Background Alpha" +msgstr "Krycie tła" -#: ../src/live_effects/lpe-constructgrid.cpp:28 -#, fuzzy -msgid "The size of the grid in X direction." -msgstr "Stan punktu zbiegu w orientacji X" +#: ../src/filter-enums.cpp:44 +msgid "Fill Paint" +msgstr "Wypełnienie" -#: ../src/live_effects/lpe-constructgrid.cpp:29 -#, fuzzy -msgid "Size Y" -msgstr "Rozmiar" +#: ../src/filter-enums.cpp:45 +msgid "Stroke Paint" +msgstr "Kontur" -#: ../src/live_effects/lpe-constructgrid.cpp:29 -#, fuzzy -msgid "The size of the grid in Y direction." -msgstr "Stan punktu zbiegu w orientacji Y" +#. TRANSLATORS: This is a context string, only put the word "Normal" in your translation +#: ../src/filter-enums.cpp:52 +msgid "filterBlendMode|Normal" +msgstr "Normalny" -#: ../src/live_effects/lpe-curvestitch.cpp:42 -#, fuzzy -msgid "Stitch path" -msgstr "Zszywanie ścieżek podrzędnych" +#: ../src/filter-enums.cpp:53 +msgid "Multiply" +msgstr "Zwielokrotnij" -#: ../src/live_effects/lpe-curvestitch.cpp:42 -msgid "The path that will be used as stitch." -msgstr "Ścieżka, która będzie użyta jako zszywacz" +#: ../src/filter-enums.cpp:54 +msgid "Screen" +msgstr "Przesiej" -#: ../src/live_effects/lpe-curvestitch.cpp:43 -msgid "Number of paths" -msgstr "Liczba ścieżek" +#: ../src/filter-enums.cpp:55 +msgid "Darken" +msgstr "Przyciemnij" -#: ../src/live_effects/lpe-curvestitch.cpp:43 -msgid "The number of paths that will be generated." -msgstr "Liczba ścieżek jaka zostanie wygenerowana" +#: ../src/filter-enums.cpp:56 +msgid "Lighten" +msgstr "Rozjaśnij" -#: ../src/live_effects/lpe-curvestitch.cpp:44 -msgid "Start edge variance" -msgstr "Krawędź początkowa wariancji" +#: ../src/filter-enums.cpp:62 +msgid "Matrix" +msgstr "Macierz" -#: ../src/live_effects/lpe-curvestitch.cpp:44 -msgid "" -"The amount of random jitter to move the start points of the stitches inside " -"& outside the guide path" -msgstr "" -"Ilość losowo zmieniających się wahnięć, aby przesunąć punkty początkowe " -"zszywaczy do wewnątrz i na zewnątrz ścieżki prowadnicy" +#: ../src/filter-enums.cpp:63 +msgid "Saturate" +msgstr "Nasycenie" -#: ../src/live_effects/lpe-curvestitch.cpp:45 -msgid "Start spacing variance" -msgstr "Początek odstępu wariancji" +#: ../src/filter-enums.cpp:64 +msgid "Hue Rotate" +msgstr "Zmiana odcienia" -#: ../src/live_effects/lpe-curvestitch.cpp:45 -msgid "" -"The amount of random shifting to move the start points of the stitches back " -"& forth along the guide path" -msgstr "" -"Ilość losowo zmieniających się przesunięć, aby przesunąć punkty początkowe " -"zszywaczy do przodu i do tyłu wzdłuż ścieżki prowadnicy" +#: ../src/filter-enums.cpp:65 +msgid "Luminance to Alpha" +msgstr "Luminancja dla krycia" -#: ../src/live_effects/lpe-curvestitch.cpp:46 -msgid "End edge variance" -msgstr "Krawędź końcowa wariancji" +#. File +#: ../src/filter-enums.cpp:71 +#: ../src/verbs.cpp:2226 +msgid "Default" +msgstr "Domyślny" -#: ../src/live_effects/lpe-curvestitch.cpp:46 -msgid "" -"The amount of randomness that moves the end points of the stitches inside & " -"outside the guide path" -msgstr "" -"Ilość przypadków, które przesuwają punkty końcowe zszywaczy do wewnątrz i na " -"zewnątrz ścieżki prowadnicy" +#: ../src/filter-enums.cpp:72 +msgid "Over" +msgstr "Nad" + +#: ../src/filter-enums.cpp:73 +msgid "In" +msgstr "W" -#: ../src/live_effects/lpe-curvestitch.cpp:47 -msgid "End spacing variance" -msgstr "Koniec odstępu wariancji" +#: ../src/filter-enums.cpp:74 +msgid "Out" +msgstr "Poza" -#: ../src/live_effects/lpe-curvestitch.cpp:47 -msgid "" -"The amount of random shifting to move the end points of the stitches back & " -"forth along the guide path" -msgstr "" -"Ilość losowo zmieniających się przesunięć, aby przesunąć punkty końcowe " -"zszywaczy do przodu i do tyłu wzdłuż ścieżki prowadnicy" +#: ../src/filter-enums.cpp:75 +msgid "Atop" +msgstr "Na górze" -#: ../src/live_effects/lpe-curvestitch.cpp:48 -msgid "Scale width" -msgstr "Skala szerokości" +#: ../src/filter-enums.cpp:76 +msgid "XOR" +msgstr "XOR" -#: ../src/live_effects/lpe-curvestitch.cpp:48 -#, fuzzy -msgid "Scale the width of the stitch path" -msgstr "Skala szerokości ścieżki konturu" +#: ../src/filter-enums.cpp:77 +msgid "Arithmetic" +msgstr "Arytmetyczny" -#: ../src/live_effects/lpe-curvestitch.cpp:49 -msgid "Scale width relative to length" -msgstr "Skaluj szerokość relatywnie do długości" +#: ../src/filter-enums.cpp:83 +msgid "Identity" +msgstr "Tożsamość" -#: ../src/live_effects/lpe-curvestitch.cpp:49 -msgid "Scale the width of the stitch path relative to its length" -msgstr "Skaluje szerokość ścieżki zszywania relatywnie do długości" +#: ../src/filter-enums.cpp:84 +msgid "Table" +msgstr "Tabela" -#: ../src/live_effects/lpe-envelope.cpp:36 -#, fuzzy -msgid "Top bend path" -msgstr "Ścieżka zagięcia" +#: ../src/filter-enums.cpp:85 +msgid "Discrete" +msgstr "Dyskretny" -#: ../src/live_effects/lpe-envelope.cpp:36 -#, fuzzy -msgid "Top path along which to bend the original path" -msgstr "Ścieżka wzdłuż, której nastąpi zagięcie oryginalnej ścieżki" +#: ../src/filter-enums.cpp:86 +msgid "Linear" +msgstr "Liniowy" -#: ../src/live_effects/lpe-envelope.cpp:37 -#, fuzzy -msgid "Right bend path" -msgstr "Ścieżka zagięcia" +#: ../src/filter-enums.cpp:87 +msgid "Gamma" +msgstr "Gamma" -#: ../src/live_effects/lpe-envelope.cpp:37 -#, fuzzy -msgid "Right path along which to bend the original path" -msgstr "Ścieżka wzdłuż, której nastąpi zagięcie oryginalnej ścieżki" +#: ../src/filter-enums.cpp:93 +#: ../src/selection-chemistry.cpp:311 +#: ../src/widgets/gradient-selector.cpp:134 +msgid "Duplicate" +msgstr "Powiel" -#: ../src/live_effects/lpe-envelope.cpp:38 -#, fuzzy -msgid "Bottom bend path" -msgstr "Ścieżka zagięcia" +#: ../src/filter-enums.cpp:94 +msgid "Wrap" +msgstr "Zawijaj" -#: ../src/live_effects/lpe-envelope.cpp:38 -#, fuzzy -msgid "Bottom path along which to bend the original path" -msgstr "Ścieżka wzdłuż, której nastąpi zagięcie oryginalnej ścieżki" +#: ../src/filter-enums.cpp:101 +#: ../src/flood-context.cpp:271 +#: ../src/widgets/sp-color-icc-selector.cpp:233 +#: ../src/widgets/sp-color-scales.cpp:398 +#: ../src/widgets/sp-color-scales.cpp:399 +msgid "Red" +msgstr "Czerwony" -#: ../src/live_effects/lpe-envelope.cpp:39 -#, fuzzy -msgid "Left bend path" -msgstr "Ścieżka zagięcia" +#: ../src/filter-enums.cpp:102 +#: ../src/flood-context.cpp:272 +#: ../src/widgets/sp-color-icc-selector.cpp:233 +#: ../src/widgets/sp-color-scales.cpp:401 +#: ../src/widgets/sp-color-scales.cpp:402 +msgid "Green" +msgstr "Zielony" -#: ../src/live_effects/lpe-envelope.cpp:39 -#, fuzzy -msgid "Left path along which to bend the original path" -msgstr "Ścieżka wzdłuż, której nastąpi zagięcie oryginalnej ścieżki" +#: ../src/filter-enums.cpp:103 +#: ../src/flood-context.cpp:273 +#: ../src/widgets/sp-color-icc-selector.cpp:233 +#: ../src/widgets/sp-color-scales.cpp:404 +#: ../src/widgets/sp-color-scales.cpp:405 +msgid "Blue" +msgstr "Niebieski" -#: ../src/live_effects/lpe-envelope.cpp:40 -#, fuzzy -msgid "Enable left & right paths" -msgstr "Usuń istniejące ścieżki" +#: ../src/filter-enums.cpp:104 +#: ../src/flood-context.cpp:277 +msgid "Alpha" +msgstr "Krycie" -#: ../src/live_effects/lpe-envelope.cpp:40 -msgid "Enable the left and right deformation paths" -msgstr "" +#: ../src/filter-enums.cpp:110 +msgid "Erode" +msgstr "Erozja" -#: ../src/live_effects/lpe-envelope.cpp:41 -#, fuzzy -msgid "Enable top & bottom paths" -msgstr "Przyciągaj do ści_eżek" +#: ../src/filter-enums.cpp:111 +msgid "Dilate" +msgstr "Rozszerzanie" -#: ../src/live_effects/lpe-envelope.cpp:41 -#, fuzzy -msgid "Enable the top and bottom deformation paths" -msgstr "Powiel deseń przed deformacją" +#: ../src/filter-enums.cpp:117 +msgid "Fractal Noise" +msgstr "Szum fraktalny" -#: ../src/live_effects/lpe-gears.cpp:212 -msgid "Teeth" -msgstr "Zęby" +#: ../src/filter-enums.cpp:124 +msgid "Distant Light" +msgstr "Odległe światło" -#: ../src/live_effects/lpe-gears.cpp:212 -msgid "The number of teeth" -msgstr "Liczba zębów w kole" +#: ../src/filter-enums.cpp:125 +msgid "Point Light" +msgstr "Światło punktowe" -#: ../src/live_effects/lpe-gears.cpp:213 -msgid "Phi" -msgstr "Podziałka zęba (px)" +#: ../src/filter-enums.cpp:126 +msgid "Spot Light" +msgstr "Reflektor" -#: ../src/live_effects/lpe-gears.cpp:213 -msgid "" -"Tooth pressure angle (typically 20-25 deg). The ratio of teeth not in " -"contact." -msgstr "" -"Kąt przyporu zęba (zazwyczaj 20-25 stopni). Część zęba, która nie ma " -"kontaktu." +#: ../src/flood-context.cpp:270 +msgid "Visible Colors" +msgstr "Widoczne kolory" -#. initialise your parameters here: -#: ../src/live_effects/lpe-knot.cpp:27 -#, fuzzy -msgid "Gap width" -msgstr "Jednakowa szerokość" +#: ../src/flood-context.cpp:289 +#: ../src/ui/dialog/inkscape-preferences.cpp:971 +msgid "Small" +msgstr "Małe" -#: ../src/live_effects/lpe-knot.cpp:27 -#, fuzzy -msgid "The width of the gap in the path where it self-intersects" -msgstr "Skaluje szerokość ścieżki zszywania relatywnie do długości" +#: ../src/flood-context.cpp:290 +#: ../src/ui/dialog/inkscape-preferences.cpp:971 +msgid "Medium" +msgstr "Średnie" -#. initialise your parameters here: -#: ../src/live_effects/lpe-lattice.cpp:45 -msgid "Control handle 0" -msgstr "" +#: ../src/flood-context.cpp:291 +msgid "Large" +msgstr "Duże" -#: ../src/live_effects/lpe-lattice.cpp:45 -#: ../src/live_effects/lpe-lattice.cpp:46 -#: ../src/live_effects/lpe-lattice.cpp:47 -#: ../src/live_effects/lpe-lattice.cpp:48 -#: ../src/live_effects/lpe-lattice.cpp:49 -#: ../src/live_effects/lpe-lattice.cpp:50 -#: ../src/live_effects/lpe-lattice.cpp:51 -#: ../src/live_effects/lpe-lattice.cpp:52 -#: ../src/live_effects/lpe-lattice.cpp:53 -#: ../src/live_effects/lpe-lattice.cpp:54 -#: ../src/live_effects/lpe-lattice.cpp:55 -#: ../src/live_effects/lpe-lattice.cpp:56 -#: ../src/live_effects/lpe-lattice.cpp:57 -#: ../src/live_effects/lpe-lattice.cpp:58 -#: ../src/live_effects/lpe-lattice.cpp:59 -#: ../src/live_effects/lpe-lattice.cpp:60 -msgid "Tadah" -msgstr "" +#: ../src/flood-context.cpp:491 +msgid "Too much inset, the result is empty." +msgstr "Za bardzo osadzone, brak rezultatu" -#: ../src/live_effects/lpe-lattice.cpp:46 -#, fuzzy -msgid "Control handle 1" -msgstr "_Nazwa pokoju rozmów" +#: ../src/flood-context.cpp:531 +#, c-format +msgid "Area filled, path with %d node created and unioned with selection." +msgid_plural "Area filled, path with %d nodes created and unioned with selection." +msgstr[0] "Obszar został wypełniony, ścieżka z %d węzłem utworzona i połączona z zaznaczeniem" +msgstr[1] "Obszar został wypełniony, ścieżka z %d węzłami utworzona i połączona z zaznaczeniem" +msgstr[2] "Obszar został wypełniony, ścieżka z %d węzłami utworzona i połączona z zaznaczeniem" -#: ../src/live_effects/lpe-lattice.cpp:47 -#, fuzzy -msgid "Control handle 2" -msgstr "_Nazwa pokoju rozmów" +#: ../src/flood-context.cpp:535 +#, c-format +msgid "Area filled, path with %d node created." +msgid_plural "Area filled, path with %d nodes created." +msgstr[0] "Obszar został wypełniony. Utworzono ścieżkę z %d węzłem" +msgstr[1] "Obszar został wypełniony. Utworzono ścieżkę z %d węzłami" +msgstr[2] "Obszar został wypełniony. Utworzono ścieżkę z %d węzłami" -#: ../src/live_effects/lpe-lattice.cpp:48 -#, fuzzy -msgid "Control handle 3" -msgstr "_Nazwa pokoju rozmów" +#: ../src/flood-context.cpp:807 +#: ../src/flood-context.cpp:1120 +msgid "Area is not bounded, cannot fill." +msgstr "Obszar nie jest zamknięty, nie można wypełnić" -#: ../src/live_effects/lpe-lattice.cpp:49 -#, fuzzy -msgid "Control handle 4" -msgstr "_Nazwa pokoju rozmów" +#: ../src/flood-context.cpp:1125 +msgid "Only the visible part of the bounded area was filled. If you want to fill all of the area, undo, zoom out, and fill again." +msgstr "Została wypełniona tylko widoczna część zaznaczonego obszaru. Jeśli chcesz wypełnić cały obszar, cofnij operację, zmniejsz powiększenie i spróbuj ponownie." -#: ../src/live_effects/lpe-lattice.cpp:50 -#, fuzzy -msgid "Control handle 5" -msgstr "_Nazwa pokoju rozmów" +#: ../src/flood-context.cpp:1143 +#: ../src/flood-context.cpp:1303 +msgid "Fill bounded area" +msgstr "Wypełnij obszar zamknięty" -#: ../src/live_effects/lpe-lattice.cpp:51 -#, fuzzy -msgid "Control handle 6" -msgstr "_Nazwa pokoju rozmów" +#: ../src/flood-context.cpp:1163 +msgid "Set style on object" +msgstr "Określ styl obiektu" -#: ../src/live_effects/lpe-lattice.cpp:52 -#, fuzzy -msgid "Control handle 7" -msgstr "_Nazwa pokoju rozmów" +#: ../src/flood-context.cpp:1222 +msgid "Draw over areas to add to fill, hold Alt for touch fill" +msgstr "Rysuj ponad obszarami, aby dodać do wypełnienia, przytrzymaj Alt dla wypełnienia" -#: ../src/live_effects/lpe-lattice.cpp:53 -#, fuzzy -msgid "Control handle 8" -msgstr "_Nazwa pokoju rozmów" +#: ../src/gradient-context.cpp:132 +#: ../src/gradient-drag.cpp:74 +msgid "Linear gradient start" +msgstr "Początek gradientu liniowego" -#: ../src/live_effects/lpe-lattice.cpp:54 -#, fuzzy -msgid "Control handle 9" -msgstr "_Nazwa pokoju rozmów" +#. POINT_LG_BEGIN +#: ../src/gradient-context.cpp:133 +#: ../src/gradient-drag.cpp:75 +msgid "Linear gradient end" +msgstr "Koniec gradientu liniowego" -#: ../src/live_effects/lpe-lattice.cpp:55 -#, fuzzy -msgid "Control handle 10" -msgstr "_Nazwa pokoju rozmów" +#: ../src/gradient-context.cpp:134 +#: ../src/gradient-drag.cpp:76 +msgid "Linear gradient mid stop" +msgstr "Punkt kontrolny gradientu liniowego" -#: ../src/live_effects/lpe-lattice.cpp:56 -#, fuzzy -msgid "Control handle 11" -msgstr "_Nazwa pokoju rozmów" +#: ../src/gradient-context.cpp:135 +#: ../src/gradient-drag.cpp:77 +msgid "Radial gradient center" +msgstr "Środek gradientu radialnego" -#: ../src/live_effects/lpe-lattice.cpp:57 -#, fuzzy -msgid "Control handle 12" -msgstr "_Nazwa pokoju rozmów" +#: ../src/gradient-context.cpp:136 +#: ../src/gradient-context.cpp:137 +#: ../src/gradient-drag.cpp:78 +#: ../src/gradient-drag.cpp:79 +msgid "Radial gradient radius" +msgstr "Promień gradientu radialnego" -#: ../src/live_effects/lpe-lattice.cpp:58 -#, fuzzy -msgid "Control handle 13" -msgstr "_Nazwa pokoju rozmów" +#: ../src/gradient-context.cpp:138 +#: ../src/gradient-drag.cpp:80 +msgid "Radial gradient focus" +msgstr "Ognisko gradientu radialnego" + +#. POINT_RG_FOCUS +#: ../src/gradient-context.cpp:139 +#: ../src/gradient-context.cpp:140 +#: ../src/gradient-drag.cpp:81 +#: ../src/gradient-drag.cpp:82 +msgid "Radial gradient mid stop" +msgstr "Środkowy punkt kontrolny gradientu radialnego" -#: ../src/live_effects/lpe-lattice.cpp:59 -#, fuzzy -msgid "Control handle 14" -msgstr "_Nazwa pokoju rozmów" +#. TRANSLATORS: %s will be substituted with the point name (see previous messages); This is part of a compound message +#: ../src/gradient-context.cpp:162 +#, c-format +msgid "%s selected" +msgstr "%s wybrany" -#: ../src/live_effects/lpe-lattice.cpp:60 -#, fuzzy -msgid "Control handle 15" -msgstr "_Nazwa pokoju rozmów" +#. TRANSLATORS: Mind the space in front. This is part of a compound message +#: ../src/gradient-context.cpp:164 +#: ../src/gradient-context.cpp:173 +#, c-format +msgid " out of %d gradient handle" +msgid_plural " out of %d gradient handles" +msgstr[0] " z %d uchwytu gradientu" +msgstr[1] " z %d uchwytów gradientu" +msgstr[2] " z %d uchwytów gradientu" -#: ../src/live_effects/lpe-mirror_reflect.cpp:30 -#, fuzzy -msgid "Reflection line" -msgstr "Zaznaczenie" +#. TRANSLATORS: Mind the space in front. (Refers to gradient handles selected). This is part of a compound message +#: ../src/gradient-context.cpp:165 +#: ../src/gradient-context.cpp:174 +#: ../src/gradient-context.cpp:181 +#, c-format +msgid " on %d selected object" +msgid_plural " on %d selected objects" +msgstr[0] " na %d zaznaczonym obiekcie" +msgstr[1] " na %d zaznaczonych obiektach" +msgstr[2] " na %d zaznaczonych obiektach" -#: ../src/live_effects/lpe-mirror_reflect.cpp:30 -msgid "Line which serves as 'mirror' for the reflection" -msgstr "" +#. TRANSLATORS: This is a part of a compound message (out of two more indicating: grandint handle count & object count) +#: ../src/gradient-context.cpp:171 +#, c-format +msgid "One handle merging %d stop (drag with Shift to separate) selected" +msgid_plural "One handle merging %d stops (drag with Shift to separate) selected" +msgstr[0] "Zaznaczono jeden uchwyt łączący %d punkt (wykonaj ciągnięcie z Shift, aby wydzielić)" +msgstr[1] "Zaznaczono jeden uchwyt łączący %d punkty (wykonaj ciągnięcie z Shift, aby wydzielić)" +msgstr[2] "Zaznaczono jeden uchwyt łączący %d punktów (wykonaj ciągnięcie z Shift, aby wydzielić)" -#: ../src/live_effects/lpe-patternalongpath.cpp:53 -#: ../share/extensions/pathalongpath.inx.h:11 -msgid "Single" -msgstr "Pojedyncza" +#. TRANSLATORS: The plural refers to number of selected gradient handles. This is part of a compound message (part two indicates selected object count) +#: ../src/gradient-context.cpp:179 +#, c-format +msgid "%d gradient handle selected out of %d" +msgid_plural "%d gradient handles selected out of %d" +msgstr[0] "Zaznaczono %d z %d uchwytu gradientu" +msgstr[1] "Zaznaczono %d z %d uchwytów gradientu" +msgstr[2] "Zaznaczono %d z %d uchwytów gradientu" -#: ../src/live_effects/lpe-patternalongpath.cpp:54 -#: ../share/extensions/pathalongpath.inx.h:12 -msgid "Single, stretched" -msgstr "Pojedyncza, rozciągnięta" +#. TRANSLATORS: The plural refers to number of selected objects +#: ../src/gradient-context.cpp:186 +#, c-format +msgid "No gradient handles selected out of %d on %d selected object" +msgid_plural "No gradient handles selected out of %d on %d selected objects" +msgstr[0] "Nie ma zaznaczonych uchwytów gradientu z %d istniejących na %d zaznaczonym obiekcie" +msgstr[1] "Nie ma zaznaczonych uchwytów gradientu z %d istniejących na %d zaznaczonych obiektach" +msgstr[2] "Nie ma zaznaczonych uchwytów gradientu z %d istniejących na %d zaznaczonych obiektach" + +#: ../src/gradient-context.cpp:385 +#: ../src/gradient-context.cpp:478 +#: ../src/widgets/gradient-vector.cpp:738 +msgid "Add gradient stop" +msgstr "Dodaj punkt kontrolny" -#: ../src/live_effects/lpe-patternalongpath.cpp:55 -#: ../share/extensions/pathalongpath.inx.h:8 -msgid "Repeated" -msgstr "Powtarzana" +#: ../src/gradient-context.cpp:453 +msgid "Simplify gradient" +msgstr "Uprość gradient" -#: ../src/live_effects/lpe-patternalongpath.cpp:56 -#: ../share/extensions/pathalongpath.inx.h:9 -msgid "Repeated, stretched" -msgstr "Powtarzana, rozciągnięta" +#: ../src/gradient-context.cpp:529 +msgid "Create default gradient" +msgstr "Utwórz domyślny gradient" -#: ../src/live_effects/lpe-patternalongpath.cpp:62 -msgid "Pattern source" -msgstr "Źródło desenia" +#: ../src/gradient-context.cpp:584 +msgid "Draw around handles to select them" +msgstr "Wykonaj ciągnięcie wokół uchwytów, aby je zaznaczyć" -#: ../src/live_effects/lpe-patternalongpath.cpp:62 -msgid "Path to put along the skeleton path" -msgstr "Scieżka do nałożenia wzdłuż szkieletu ścieżki" +#: ../src/gradient-context.cpp:682 +msgid "Ctrl: snap gradient angle" +msgstr "Ctrl: przyciąganie kąta gradientu" -#: ../src/live_effects/lpe-patternalongpath.cpp:63 -msgid "Pattern copies" -msgstr "Kopie desenia" +#: ../src/gradient-context.cpp:683 +msgid "Shift: draw gradient around the starting point" +msgstr "Shift: rysowanie gradientu wokół punktu początkowego" -#: ../src/live_effects/lpe-patternalongpath.cpp:63 -msgid "How many pattern copies to place along the skeleton path" -msgstr "Ilość kopii desenia do umieszczenia wzdłuż szkieletu ścieżki" +#: ../src/gradient-context.cpp:803 +msgid "Invert gradient" +msgstr "Odwróć gradient" -#: ../src/live_effects/lpe-patternalongpath.cpp:64 -msgid "Width of the pattern" -msgstr "Szerokość desenia" +#: ../src/gradient-context.cpp:919 +#, c-format +msgid "Gradient for %d object; with Ctrl to snap angle" +msgid_plural "Gradient for %d objects; with Ctrl to snap angle" +msgstr[0] "Gradient dla %d obiektu. Z Ctrl przyciąganie do kąta" +msgstr[1] "Gradient dla %d obiektów. Z Ctrl przyciąganie do kąta" +msgstr[2] "Gradient dla %d obiektów. Z Ctrl przyciąganie do kąta" -#: ../src/live_effects/lpe-patternalongpath.cpp:65 -msgid "Scale the width of the pattern in units of its length" -msgstr "Skaluje szerokość desenia w jednostkach jego długości" +#: ../src/gradient-context.cpp:923 +msgid "Select objects on which to create gradient." +msgstr "Zaznacz obiekty, dla których utworzyć gradient" -#: ../src/live_effects/lpe-patternalongpath.cpp:66 -msgid "Spacing" -msgstr "Odstępy" +#: ../src/gradient-drag.cpp:573 +msgid "Merge gradient handles" +msgstr "Połącz uchwyty gradientu" -#: ../src/live_effects/lpe-patternalongpath.cpp:66 -#, fuzzy, c-format -msgid "" -"Space between copies of the pattern. Negative values allowed, but are " -"limited to -90% of pattern width." -msgstr "" -"Odstęp pomiedzy kopiami wzorca. Dozwolone są wartości ujemne, ale tylko do " -"wartości -90% szerokości wzorca." +#: ../src/gradient-drag.cpp:895 +msgid "Move gradient handle" +msgstr "Przesuń uchwyt gradientu" -#: ../src/live_effects/lpe-patternalongpath.cpp:67 -#: ../share/extensions/pathalongpath.inx.h:5 -#: ../share/extensions/pathscatter.inx.h:7 -msgid "Normal offset" -msgstr "Przesunięcie normalne" +#: ../src/gradient-drag.cpp:948 +#: ../src/widgets/gradient-vector.cpp:770 +msgid "Delete gradient stop" +msgstr "Usuń punkt kontrolny" -#: ../src/live_effects/lpe-patternalongpath.cpp:68 -#: ../share/extensions/pathalongpath.inx.h:15 -#: ../share/extensions/pathscatter.inx.h:13 -msgid "Tangential offset" -msgstr "Przesunięcie styczne" +#: ../src/gradient-drag.cpp:1112 +#, c-format +msgid "%s %d for: %s%s; drag with Ctrl to snap offset; click with Ctrl+Alt to delete stop" +msgstr "%s %d dla: %s%s. Ciągnij z Ctrl, aby przyciągnąć przesunięcie. Ctrl + Alt + kliknięcie, aby usunąć punkt kontrolny." -#: ../src/live_effects/lpe-patternalongpath.cpp:69 -#, fuzzy -msgid "Offsets in unit of pattern size" -msgstr "Obiekty na deseń" +#: ../src/gradient-drag.cpp:1116 +#: ../src/gradient-drag.cpp:1123 +msgid " (stroke)" +msgstr " (kontur)" -#: ../src/live_effects/lpe-patternalongpath.cpp:69 -msgid "" -"Spacing, tangential and normal offset are expressed as a ratio of width/" -"height" -msgstr "" -"Odstęp, tangensowe i normalne odsunięcie wyrażane jako proporcja szerokości/" -"wysokości" +#: ../src/gradient-drag.cpp:1120 +#, c-format +msgid "%s for: %s%s; drag with Ctrl to snap angle, with Ctrl+Alt to preserve angle, with Ctrl+Shift to scale around center" +msgstr "%s dla: %s%s. Ciągnięcie z Ctrl - przyciągnie do kąta, z Ctrl + Alt - zachowanie kąta, z Ctrl + Shift skalowanie od środka." -#: ../src/live_effects/lpe-patternalongpath.cpp:70 -#: ../share/extensions/pathalongpath.inx.h:7 -#: ../share/extensions/pathscatter.inx.h:9 -msgid "Pattern is vertical" -msgstr "Pionowa orientacja desenia" +#: ../src/gradient-drag.cpp:1128 +#, c-format +msgid "Radial gradient center and focus; drag with Shift to separate focus" +msgstr "Środek i ognisko gradientu radialnego. Aby oddzielić ognisko wykonaj ciągnięcie z klawiszem Shift" -#: ../src/live_effects/lpe-patternalongpath.cpp:70 -msgid "Rotate pattern 90 deg before applying" -msgstr "Przed zastosowaniem obróć deseń o 90°" +#: ../src/gradient-drag.cpp:1131 +#, c-format +msgid "Gradient point shared by %d gradient; drag with Shift to separate" +msgid_plural "Gradient point shared by %d gradients; drag with Shift to separate" +msgstr[0] "Punkt kontrolny gradientu wspólny dla %d gradientu. Wykonaj ciągnięcie z Shift, aby je rozdzielić" +msgstr[1] "Punkt kontrolny gradientu wspólny dla %d gradientów. Wykonaj ciągnięcie z Shift, aby je rozdzielić" +msgstr[2] "Punkt kontrolny gradientu wspólny dla %d gradientów. Wykonaj ciągnięcie z Shift, aby je rozdzielić" -#: ../src/live_effects/lpe-perp_bisector.cpp:156 -#: ../src/live_effects/lpe-tangent_to_curve.cpp:65 -#, fuzzy -msgid "Length left" -msgstr "Podetnij z lewej" +#: ../src/gradient-drag.cpp:1806 +msgid "Move gradient handle(s)" +msgstr "Przesuń uchwyt(y) gradientu" -#: ../src/live_effects/lpe-perp_bisector.cpp:156 -#, fuzzy -msgid "Specifies the left end of the bisector" -msgstr "Definiuje kolor źródła światła" +#: ../src/gradient-drag.cpp:1842 +msgid "Move gradient mid stop(s)" +msgstr "Przesuń środkowy punkt(y) kontrolny(e)" -#: ../src/live_effects/lpe-perp_bisector.cpp:157 -#: ../src/live_effects/lpe-tangent_to_curve.cpp:66 -#, fuzzy -msgid "Length right" -msgstr "Jednostka długości:" +#: ../src/gradient-drag.cpp:2130 +msgid "Delete gradient stop(s)" +msgstr "Usuń punkt(y) kontrolny(e)" -#: ../src/live_effects/lpe-perp_bisector.cpp:157 -#, fuzzy -msgid "Specifies the right end of the bisector" -msgstr "Pobranie jasności koloru" +#: ../src/helper/units.cpp:37 +#: ../src/live_effects/lpe-path_length.cpp:27 +msgid "Unit" +msgstr "Jednostka" -#: ../src/live_effects/lpe-perp_bisector.cpp:164 -#, fuzzy -msgid "Lala" -msgstr "_Etykieta" +#. Add the units menu. +#: ../src/helper/units.cpp:37 +#: ../src/widgets/select-toolbar.cpp:491 +#: ../src/widgets/toolbox.cpp:1470 +#: ../src/widgets/toolbox.cpp:2677 +#: ../src/widgets/toolbox.cpp:5202 +#: ../src/widgets/toolbox.cpp:6715 +msgid "Units" +msgstr "Jednostki" -#: ../src/live_effects/lpe-perp_bisector.cpp:165 -#, fuzzy -msgid "Lolo" -msgstr "Kolor" +#: ../src/helper/units.cpp:38 +msgid "Point" +msgstr "Punkt" -#. initialise your parameters here: -#: ../src/live_effects/lpe-perspective_path.cpp:42 -msgid "Scale x" -msgstr "Skala X" +#: ../src/helper/units.cpp:38 +msgid "Pt" +msgstr "Pkt" -#: ../src/live_effects/lpe-perspective_path.cpp:42 -msgid "Scale factor in x direction" -msgstr "Wskażnik skalowania w orientacji X" +#: ../src/helper/units.cpp:38 +#: ../src/ui/widget/selected-style.cpp:287 +msgid "pt" +msgstr "pkt" -#: ../src/live_effects/lpe-perspective_path.cpp:43 -msgid "Scale y" -msgstr "Skala Y" +#: ../src/helper/units.cpp:39 +msgid "Pc" +msgstr "Pc" -#: ../src/live_effects/lpe-perspective_path.cpp:43 -msgid "Scale factor in y direction" -msgstr "Wskażnik skalowania w orientacji Y" +#: ../src/helper/units.cpp:39 +msgid "Pica" +msgstr "Pika" -#: ../src/live_effects/lpe-perspective_path.cpp:44 -msgid "Offset x" -msgstr "Przesunięcie X" +#: ../src/helper/units.cpp:39 +msgid "Picas" +msgstr "Piki" -#: ../src/live_effects/lpe-perspective_path.cpp:44 -msgid "Offset in x direction" -msgstr "Przesunięcie w orientacji X" +#: ../src/helper/units.cpp:39 +msgid "pc" +msgstr "pc" -#: ../src/live_effects/lpe-perspective_path.cpp:45 -msgid "Offset y" -msgstr "Przesunięcie Y" +#: ../src/helper/units.cpp:40 +msgid "Pixel" +msgstr "Piksel" -#: ../src/live_effects/lpe-perspective_path.cpp:45 -msgid "Offset in y direction" -msgstr "Przesunięcie w orientacji Y" +#: ../src/helper/units.cpp:40 +msgid "Pixels" +msgstr "Piksele" -#: ../src/live_effects/lpe-perspective_path.cpp:46 -msgid "Uses XY plane?" -msgstr "Używasz płaszczyzny XY?" +#: ../src/helper/units.cpp:40 +msgid "Px" +msgstr "Px" -#: ../src/live_effects/lpe-perspective_path.cpp:46 -msgid "" -"If true, put the path on the left side of an imaginary box, otherwise on the " -"right side" -msgstr "" -"Jeśli tak, ułóży ścieżkę po lewej stronie wyimaginowanego pudełka, jeśłi nie " -"- po prawej" +#: ../src/helper/units.cpp:40 +#: ../src/ui/dialog/inkscape-preferences.cpp:206 +#: ../src/ui/dialog/inkscape-preferences.cpp:210 +#: ../src/ui/dialog/inkscape-preferences.cpp:213 +#: ../src/ui/widget/selected-style.cpp:283 +msgid "px" +msgstr "px" -#. initialise your parameters here: -#: ../src/live_effects/lpe-skeleton.cpp:33 -msgid "Float parameter" -msgstr "Parametr przepływu" +#: ../src/helper/units.cpp:42 +#: ../src/ui/dialog/inkscape-preferences.cpp:226 +msgid "%" +msgstr "%" -#: ../src/live_effects/lpe-skeleton.cpp:33 -msgid "just a real number like 1.4!" -msgstr "rzeczywista liczba, taka jak 1.4!" +#: ../src/helper/units.cpp:42 +msgid "Percents" +msgstr "Procenty" -#. initialise your parameters here: -#. testpointA(_("Test Point A"), _("Test A"), "ptA", &wr, this, Geom::Point(100,100)), -#: ../src/live_effects/lpe-sketch.cpp:35 -msgid "Strokes" -msgstr "Kontury" +#: ../src/helper/units.cpp:43 +msgid "Millimeter" +msgstr "Milimetr" -#: ../src/live_effects/lpe-sketch.cpp:35 -msgid "Draw that many approximating strokes" -msgstr "" +#: ../src/helper/units.cpp:43 +msgid "Millimeters" +msgstr "Milimetry" -#: ../src/live_effects/lpe-sketch.cpp:36 -msgid "Max stroke length" -msgstr "Maksymalna długość konturu" +#: ../src/helper/units.cpp:43 +#: ../src/ui/widget/selected-style.cpp:291 +msgid "mm" +msgstr "mm" -#: ../src/live_effects/lpe-sketch.cpp:37 -msgid "Maximum length of approximating strokes" -msgstr "Maksymalna długość przybliżających się konturów" +#: ../src/helper/units.cpp:44 +msgid "Centimeter" +msgstr "Centymetr" -#: ../src/live_effects/lpe-sketch.cpp:38 -#, fuzzy -msgid "Stroke length variation" -msgstr "Krawędź początkowa wariancji" +#: ../src/helper/units.cpp:44 +msgid "Centimeters" +msgstr "Centymetry" -#: ../src/live_effects/lpe-sketch.cpp:39 -#, fuzzy -msgid "Random variation of stroke length (relative to maximum length)" -msgstr "Skaluje szerokość ścieżki konturu relatywnie do długości" +#: ../src/helper/units.cpp:44 +msgid "cm" +msgstr "cm" -#: ../src/live_effects/lpe-sketch.cpp:40 -msgid "Max. overlap" -msgstr "Maks. nachodzenie na siebie" +#: ../src/helper/units.cpp:45 +msgid "Meter" +msgstr "Metr" -#: ../src/live_effects/lpe-sketch.cpp:41 -#, fuzzy -msgid "" -"How much successive strokes should overlap (relative to maximum length)." -msgstr "Skaluje szerokość ścieżki konturu relatywnie do długości" +#: ../src/helper/units.cpp:45 +msgid "Meters" +msgstr "Metry" -#: ../src/live_effects/lpe-sketch.cpp:42 -msgid "Overlap variation" -msgstr "Odchylenia nachodzenia na siebie" +#: ../src/helper/units.cpp:45 +msgid "m" +msgstr "m" -#: ../src/live_effects/lpe-sketch.cpp:43 -#, fuzzy -msgid "Random variation of overlap (relative to maximum overlap)" -msgstr "Skaluje szerokość ścieżki konturu relatywnie do długości" +#. no svg_unit +#: ../src/helper/units.cpp:46 +msgid "Inch" +msgstr "Cal" -#: ../src/live_effects/lpe-sketch.cpp:44 -msgid "Max. end tolerance" -msgstr "Maks. tolerancja końcowa" +#: ../src/helper/units.cpp:46 +msgid "Inches" +msgstr "Cale" -#: ../src/live_effects/lpe-sketch.cpp:45 -msgid "" -"Maximum distance between ends of original and approximating paths (relative " -"to maximum length)" -msgstr "" -"Maksymalny odstęp pomiędzy końcami oryginału przybliżającą się ścieżka " -"(relatywnie do maksymalnej długości)" +#: ../src/helper/units.cpp:46 +msgid "in" +msgstr "in" -#: ../src/live_effects/lpe-sketch.cpp:46 -#, fuzzy -msgid "Parallel offset" -msgstr "Przesunięcie normalne" +#: ../src/helper/units.cpp:47 +msgid "Feet" +msgstr "Stopy" -#: ../src/live_effects/lpe-sketch.cpp:47 -msgid "Average distance from approximating path to original path" -msgstr "Przybliżona odległość pomiędzy przybliżającą się ścieżką a oryginałem" +#: ../src/helper/units.cpp:47 +msgid "Foot" +msgstr "Stopa" -#: ../src/live_effects/lpe-sketch.cpp:48 -msgid "Max. tremble" -msgstr "Maks. drżenie" +#: ../src/helper/units.cpp:47 +msgid "ft" +msgstr "ft" -#: ../src/live_effects/lpe-sketch.cpp:49 -msgid "Maximum tremble magnitude" -msgstr "Maksymalna wielkość drgań" +#. Volatiles do not have default, so there are none here +#. TRANSLATORS: for info, see http://www.w3.org/TR/REC-CSS2/syndata.html#length-units +#: ../src/helper/units.cpp:50 +msgid "Em square" +msgstr "Kwadrat Em" -#: ../src/live_effects/lpe-sketch.cpp:50 -msgid "Tremble frequency" -msgstr "Częstotliwość drgań" +#: ../src/helper/units.cpp:50 +msgid "Em squares" +msgstr "Kwadraty Em" -#: ../src/live_effects/lpe-sketch.cpp:51 -#, fuzzy -msgid "Avreage number of tremble periods in an approximating stroke" -msgstr "Średnia liczba okresów drgań w przybliżającym się pociągnięciu" +#: ../src/helper/units.cpp:50 +msgid "em" +msgstr "em" -#: ../src/live_effects/lpe-sketch.cpp:52 -#, fuzzy -msgid "Construction lines" -msgstr "Wyśrodkowanie" +#. TRANSLATORS: for info, see http://www.w3.org/TR/REC-CSS2/syndata.html#length-units +#: ../src/helper/units.cpp:52 +msgid "Ex square" +msgstr "Kwadrat Ex" -#: ../src/live_effects/lpe-sketch.cpp:53 -msgid "How many construction lines (tangents) to draw" -msgstr "" +#: ../src/helper/units.cpp:52 +msgid "Ex squares" +msgstr "Kwadraty Ex" -#: ../src/live_effects/lpe-sketch.cpp:54 ../src/selection-chemistry.cpp:1450 -#: ../src/seltrans.cpp:454 ../src/ui/dialog/filter-effects-dialog.cpp:2235 -#: ../src/ui/dialog/transformation.cpp:736 -msgid "Scale" -msgstr "Skaluj" +#: ../src/helper/units.cpp:52 +msgid "ex" +msgstr "ex" -#: ../src/live_effects/lpe-sketch.cpp:55 -msgid "" -"Scale factor relating curvature and length of construction lines (try " -"5*offset)" -msgstr "" +#: ../src/inkscape.cpp:329 +msgid "Autosaving documents..." +msgstr "Automatyczne zapisywanie dokumentów..." -#: ../src/live_effects/lpe-sketch.cpp:56 -msgid "Max. length" -msgstr "Maks. długość" +#: ../src/inkscape.cpp:400 +msgid "Autosave failed! Could not find inkscape extension to save document." +msgstr "Nie można znaleźć rozszerzenia inkscape do zapisu dokumentu" -#: ../src/live_effects/lpe-sketch.cpp:56 -msgid "Maximum length of construction lines" -msgstr "" +#: ../src/inkscape.cpp:403 +#: ../src/inkscape.cpp:410 +#, c-format +msgid "Autosave failed! File %s could not be saved." +msgstr "Plik %s nie mógł zostać zapisany" -#: ../src/live_effects/lpe-sketch.cpp:57 -#, fuzzy -msgid "Length variation" -msgstr "Mniejsze nasycenie" +#: ../src/inkscape.cpp:425 +msgid "Autosave complete." +msgstr "Zakończono zapis" -#: ../src/live_effects/lpe-sketch.cpp:57 -#, fuzzy -msgid "Random variation of the length of construction lines" -msgstr "Skaluje szerokość ścieżki konturu relatywnie do długości" +#: ../src/inkscape.cpp:647 +msgid "Untitled document" +msgstr "Dokument bez nazwy" -#: ../src/live_effects/lpe-tangent_to_curve.cpp:63 -#: ../share/extensions/motion.inx.h:1 ../share/extensions/restack.inx.h:1 -msgid "Angle" -msgstr "Kąt" +#. Show nice dialog box +#: ../src/inkscape.cpp:676 +msgid "Inkscape encountered an internal error and will close now.\n" +msgstr "W programie Inkscape wystąpił wewnętrzny błąd i nastąpi jego zamknięcie.\n" -#: ../src/live_effects/lpe-tangent_to_curve.cpp:63 -msgid "Additional angle between tangent and curve" -msgstr "" +#: ../src/inkscape.cpp:677 +msgid "Automatic backups of unsaved documents were done to the following locations:\n" +msgstr "Kopie niezapisanych dokumentów zostały automatycznie utworzone w następujących lokalizacjach:\n" -#: ../src/live_effects/lpe-tangent_to_curve.cpp:64 -msgid "Location along curve" -msgstr "" +#: ../src/inkscape.cpp:678 +msgid "Automatic backup of the following documents failed:\n" +msgstr "Nie udało się automatycznie utworzyć kopii następujących dokumentów:\n" -#: ../src/live_effects/lpe-tangent_to_curve.cpp:64 -msgid "" -"Location of the point of attachment along the curve (between 0.0 and number-" -"of-segments)" -msgstr "" +#. sp_ui_menu_append_check_item_from_verb(m, view, _("_Menu"), _("Show or hide the menu bar"), "menu", +#. checkitem_toggled, checkitem_update, 0); +#: ../src/interface.cpp:842 +msgid "Commands Bar" +msgstr "Pasek p_oleceń" -#: ../src/live_effects/lpe-tangent_to_curve.cpp:65 -msgid "Specifies the left end of the tangent" -msgstr "" +#: ../src/interface.cpp:842 +msgid "Show or hide the Commands bar (under the menu)" +msgstr "Wyświetla lub ukrywa pasek poleceń (pod menu)" -#: ../src/live_effects/lpe-tangent_to_curve.cpp:66 -msgid "Specifies the right end of the tangent" -msgstr "" +#: ../src/interface.cpp:844 +msgid "Show or hide the Tool Controls bar" +msgstr "Wyświetla lub ukrywa pasek narzędzi" -#: ../src/live_effects/lpe-tangent_to_curve.cpp:73 -#, fuzzy -msgid "Adjust the \"left\" end of the tangent" -msgstr "Definiuje kolor źródła światła" +#: ../src/interface.cpp:844 +msgid "Tool Controls Bar" +msgstr "Pasek _narzędzi" -#: ../src/live_effects/lpe-tangent_to_curve.cpp:74 -#, fuzzy -msgid "Adjust the \"right\" end of the tangent" -msgstr "Pobranie jasności koloru" +#: ../src/interface.cpp:846 +msgid "Show or hide the main toolbox (on the left)" +msgstr "Wyświetla lub ukrywa przybornik (po lewej stronie)" -#: ../src/live_effects/lpe-tangent_to_curve.cpp:75 -msgid "Adjust the point of attachment of the tangent" -msgstr "" +#: ../src/interface.cpp:846 +msgid "_Toolbox" +msgstr "_Przybornik" -#: ../src/live_effects/lpe-test-doEffect-stack.cpp:23 -msgid "Stack step" -msgstr "Tworzenie stosu przebiegów" +#: ../src/interface.cpp:852 +msgid "Show or hide the color palette" +msgstr "Wyświetla lub ukrywa paletę z kolorami" -#: ../src/live_effects/lpe-test-doEffect-stack.cpp:24 -#, fuzzy -msgid "point param" -msgstr "pentagram" +#: ../src/interface.cpp:852 +msgid "_Palette" +msgstr "Paletę _kolorów" -#: ../src/live_effects/lpe-vonkoch.cpp:42 -#, fuzzy -msgid "Bounding box" -msgstr "Stosuj poniższy typ obramowania obiektu:" +#: ../src/interface.cpp:854 +msgid "Show or hide the statusbar (at the bottom of the window)" +msgstr "Wyświetla lub ukrywa pasek statusu (na dole okna)" -#: ../src/live_effects/lpe-vonkoch.cpp:43 -msgid "Last gen. segment" -msgstr "Ostatnio wygenerowany odcinek" +#: ../src/interface.cpp:854 +msgid "_Statusbar" +msgstr "Pasek _stanu" -#: ../src/live_effects/lpe-vonkoch.cpp:49 -#, fuzzy -msgid "Nb of generations" -msgstr "Liczba obrotów" +#: ../src/interface.cpp:908 +#, c-format +msgid "Verb \"%s\" Unknown" +msgstr "Polecenie \"%s\" Nieznane" -#: ../src/live_effects/lpe-vonkoch.cpp:49 -msgid "Depth of the recursion --- keep low!!" -msgstr "Głębokość rekurencji - utrzymuj najmniejszą!" +#. TRANSLATORS: #%s is the id of the group e.g. , not a number. +#: ../src/interface.cpp:1027 +#, c-format +msgid "Enter group #%s" +msgstr "Wejdź do grupy #%s" -#: ../src/live_effects/lpe-vonkoch.cpp:50 -msgid "Generating path" -msgstr "Generowanie ścieżki" +#: ../src/interface.cpp:1038 +msgid "Go to parent" +msgstr "Przejdź do rodzica" -#: ../src/live_effects/lpe-vonkoch.cpp:50 -msgid "Path whos segments define the fractal" -msgstr "" +#: ../src/interface.cpp:1129 +#: ../src/interface.cpp:1214 +#: ../src/ui/widget/selected-style.cpp:462 +msgid "Drop color" +msgstr "Przeciągnij kolor" -#: ../src/live_effects/lpe-vonkoch.cpp:51 -msgid "Draw all generations" -msgstr "" +#: ../src/interface.cpp:1168 +msgid "Drop color on gradient" +msgstr "Przeciągnij kolor na gradient" + +#: ../src/interface.cpp:1227 +msgid "Could not parse SVG data" +msgstr "Nie można odczytać danych SVG" -#: ../src/live_effects/lpe-vonkoch.cpp:51 -msgid "If unchecked, draw only the last generation" -msgstr "" +#: ../src/interface.cpp:1269 +msgid "Drop SVG" +msgstr "Upuść grafikę SVG" -#: ../src/live_effects/lpe-vonkoch.cpp:52 -#, fuzzy -msgid "Reference" -msgstr "Różnica" +#: ../src/interface.cpp:1327 +msgid "Drop bitmap image" +msgstr "Upuść bitmapę" -#: ../src/live_effects/lpe-vonkoch.cpp:52 +#: ../src/interface.cpp:1419 +#, c-format msgid "" -"Generating path segments define transforms in reference to bbox or last " -"segment" +"A file named \"%s\" already exists. Do you want to replace it?\n" +"\n" +"The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "" +"Plik o nazwie \"%s\" już istnieje. Czy chcesz go zamienić?\n" +"\n" +"W \"%s\" istnieje już plik o takiej nazwie. Zamiana spowoduje nadpisane jego zawartości." -#: ../src/live_effects/lpe-vonkoch.cpp:53 -msgid "Max complexity" -msgstr "" +#: ../src/interface.cpp:1426 +msgid "Replace" +msgstr "Zamień" -#: ../src/live_effects/lpe-vonkoch.cpp:53 -msgid "Disable effect if the output is too complex" +#: ../src/io/sys.cpp:411 +#: ../src/io/sys.cpp:419 +#, c-format +msgid "Failed to read from child pipe (%s)" msgstr "" -#: ../src/live_effects/parameter/bool.cpp:69 -msgid "Change bool parameter" -msgstr "Zmień parametr wartości logicznej" - -#: ../src/live_effects/parameter/enum.h:51 -msgid "Change enumeration parameter" -msgstr "Zmień parametr numeryczny" - -#: ../src/live_effects/parameter/parameter.cpp:138 -msgid "Change scalar parameter" -msgstr "Zmień skalar" - -#: ../src/live_effects/parameter/path.cpp:157 -#: ../src/live_effects/parameter/point.cpp:110 -msgid "Edit on-canvas" -msgstr "Edytuj w obszarze roboczym" +#: ../src/io/sys.cpp:443 +#, c-format +msgid "Failed to change to directory '%s' (%s)" +msgstr "Nie można zmienić katalogu \"%s\" (%s)" -#: ../src/live_effects/parameter/path.cpp:167 -msgid "Copy path" -msgstr "Kopiuj ścieżkę" +#: ../src/io/sys.cpp:449 +#: ../src/io/sys.cpp:675 +#, c-format +msgid "Failed to execute child process (%s)" +msgstr "Nie udało się wczytać żądanego pliku %s" -#: ../src/live_effects/parameter/path.cpp:177 -msgid "Paste path" -msgstr "Wklej ścieżkę" +#: ../src/io/sys.cpp:622 +#, c-format +msgid "Invalid program name: %s" +msgstr "Nieprawidłowa nazwa programu: %s" -#: ../src/live_effects/parameter/path.cpp:187 -msgid "Link to path" -msgstr "Odnośnik na śc_eżkę" +#: ../src/io/sys.cpp:632 +#: ../src/io/sys.cpp:921 +#, c-format +msgid "Invalid string in argument vector at %d: %s" +msgstr "Nieprawidłowy ciąg znaków w argumencie wektora dla %d: %s" -#: ../src/live_effects/parameter/path.cpp:363 -msgid "Paste path parameter" -msgstr "Wklej parametr ścieżki" +#: ../src/io/sys.cpp:643 +#: ../src/io/sys.cpp:936 +#, c-format +msgid "Invalid string in environment: %s" +msgstr "Nieprawidłowy ciąg znaków w środowisku: %s" -#: ../src/live_effects/parameter/path.cpp:395 -#, fuzzy -msgid "Link path parameter to path" -msgstr "Wklej parametr ścieżki" +#: ../src/io/sys.cpp:704 +#, c-format +msgid "Failed to create pipe for communicating with child process (%s)" +msgstr "Nie udało sie utworzyć ciągu komunikacyjnego z procesem pokrewnym (%s)" -#: ../src/live_effects/parameter/point.cpp:95 -msgid "Change point parameter" -msgstr "Zmień parametr punktu" +#: ../src/io/sys.cpp:917 +#, c-format +msgid "Invalid working directory: %s" +msgstr "Niewłaściwy katalog roboczy: %s" -#: ../src/live_effects/parameter/pointparam-knotholder.cpp:134 -#, fuzzy -msgid "Change LPE point parameter" -msgstr "Zmień parametr punktu" +#: ../src/io/sys.cpp:985 +#, c-format +msgid "Failed to execute helper program (%s)" +msgstr "Nie udało się otworzyć programu pomocniczego (%s)" -#: ../src/live_effects/parameter/random.cpp:137 -msgid "Change random parameter" -msgstr "Zmień parametr losowy" +#: ../src/jabber_whiteboard/invitation-confirm-dialog.cpp:26 +#: ../src/jabber_whiteboard/session-file-selector.cpp:24 +msgid "_Write session file:" +msgstr "_Zapisz plik sesji:" -#: ../src/main-cmdlineact.cpp:49 -#, c-format -msgid "Unable to find verb ID '%s' specified on the command line.\n" -msgstr "" -"Nie można znaleźć polecenia o ID \"%s\" określonego w wierszu poleceń.\n" +#: ../src/jabber_whiteboard/pedrogui.cpp:2630 +msgid "Shared SVG whiteboard tool." +msgstr "Narzędzie do wspólnej pracy." -#: ../src/main-cmdlineact.cpp:61 -#, c-format -msgid "Unable to find node ID: '%s'\n" -msgstr "Nie można znaleźć węzła o ID: \"%s\"\n" +#: ../src/jabber_whiteboard/pedrogui.cpp:2631 +msgid "Based on the Pedro XMPP client" +msgstr "Stworzony w oparciu o aplikację Pedro XMPP" -#: ../src/main.cpp:218 -msgid "Print the Inkscape version number" -msgstr "Wypisz numer wersji programu Inkscape" +#: ../src/jabber_whiteboard/session-file-selector.cpp:60 +msgid "Select a location and filename" +msgstr "Wybierz położenie i nazwę pliku" -#: ../src/main.cpp:223 -msgid "Do not use X server (only process files from console)" -msgstr "Nie używaj X serwera (przetwarzaj jedynie pliki z poziomu konsoli)" +#: ../src/jabber_whiteboard/session-file-selector.cpp:62 +msgid "Set filename" +msgstr "Ustaw nazwę pliku" -#: ../src/main.cpp:228 -msgid "Try to use X server (even if $DISPLAY is not set)" -msgstr "Spróbuj używać X serwera (nawet, gdy nie ustawiono zmiennej $DISPLAY)" +#: ../src/jabber_whiteboard/session-manager.cpp:308 +msgid "%1 has invited you to a whiteboard session." +msgstr "%1 zaprosił cię do wspólnej pracy na planszy" -#: ../src/main.cpp:233 -msgid "Open specified document(s) (option string may be excluded)" -msgstr "Otwiera podany(e) dokument(y) (tekst opcji może zostać wyłączony)" +#: ../src/jabber_whiteboard/session-manager.cpp:310 +msgid "Do you wish to accept %1's whiteboard session invitation?" +msgstr "Czy chcesz przyjąć zaproszenie do wspólnej pracy na planszy od %1?" -#: ../src/main.cpp:234 ../src/main.cpp:239 ../src/main.cpp:244 -#: ../src/main.cpp:311 ../src/main.cpp:316 ../src/main.cpp:321 -#: ../src/main.cpp:326 ../src/main.cpp:332 -msgid "FILENAME" -msgstr "NAZWA_PLIKU" +#: ../src/jabber_whiteboard/session-manager.cpp:314 +msgid "Accept invitation" +msgstr "Przyjmij zaproszenie" -#: ../src/main.cpp:238 -msgid "Print document(s) to specified output file (use '| program' for pipe)" -msgstr "" -"Drukuje dokumenty do podanego pliku wyjściowego (zapis do potoku - \"| " -"program\")" +#: ../src/jabber_whiteboard/session-manager.cpp:315 +msgid "Decline invitation" +msgstr "Odrzuć zaproszenie" -#: ../src/main.cpp:243 -msgid "Export document to a PNG file" -msgstr "Eksportuje dokument jako plik PNG" +#: ../src/jabber_whiteboard/session-manager.cpp:370 +msgid "Inkboard session (%1 to %2)" +msgstr "Sesja Inkboard (%1 do %2)" -#: ../src/main.cpp:248 -msgid "The resolution used for exporting SVG into bitmap (default 90)" -msgstr "Rozdzielczość używana dla konwersji SVG do bitmapy (domyślnie 90)" +#: ../src/knot.cpp:431 +msgid "Node or handle drag canceled." +msgstr "Anulowano przeciąganie węzła lub uchwytu" -#: ../src/main.cpp:249 ../src/ui/widget/rendering-options.cpp:43 -msgid "DPI" -msgstr "DPI" +#: ../src/knotholder.cpp:130 +msgid "Change handle" +msgstr "Zmień uchwyt" -#: ../src/main.cpp:253 -msgid "" -"Exported area in SVG user units (default is the canvas; 0,0 is lower-left " -"corner)" -msgstr "" -"Eksportowany obszar w jednostkach SVG użytkownika - domyślnie jest to obszar " -"roboczy; (0,0 oznacza lewy dolny narożnik)" +#: ../src/knotholder.cpp:203 +msgid "Move handle" +msgstr "Przesuń uchwyt" -#: ../src/main.cpp:254 -msgid "x0:y0:x1:y1" -msgstr "x0:y0:x1:y1" +#. TRANSLATORS: This refers to the pattern that's inside the object +#: ../src/knotholder.cpp:224 +msgid "Move the pattern fill inside the object" +msgstr "Przesuń deseń wypełnienia wewnątrz obiektu" -#: ../src/main.cpp:258 -msgid "Exported area is the entire drawing (not canvas)" -msgstr "Obszarem eksportu jest cały rysunek, nie obszar roboczy" +#: ../src/knotholder.cpp:227 +msgid "Scale the pattern fill uniformly" +msgstr "Skalowanie proporcjonalne desenia wypełnienia" -#: ../src/main.cpp:263 -msgid "Exported area is the entire canvas" -msgstr "Obszarem eksportu jest cały obszar roboczy" +#: ../src/knotholder.cpp:230 +msgid "Rotate the pattern fill; with Ctrl to snap angle" +msgstr "Obracanie wzoru wypełnienia; z Ctrl przyciąganie do kąta" -#: ../src/main.cpp:268 -msgid "" -"Snap the bitmap export area outwards to the nearest integer values (in SVG " -"user units)" -msgstr "" -"Wyrównaj obszar eksportu bitmapy na zewnątrz do najbliższej całkowitej " -"wartości (w jednostkach SVG użytkownika)" +#: ../src/libgdl/gdl-dock-bar.c:108 +msgid "Master" +msgstr "Element główny" -#: ../src/main.cpp:273 -msgid "The width of exported bitmap in pixels (overrides export-dpi)" -msgstr "Szerokość generowanej bitmapy w pikselach (przesłania dpi)" +#: ../src/libgdl/gdl-dock-bar.c:109 +msgid "GdlDockMaster object which the dockbar widget is attached to" +msgstr "Główny element dokowalny, do którego jest dołączony pasek dokowania" -#: ../src/main.cpp:274 -msgid "WIDTH" -msgstr "SZEROKOŚĆ" +#: ../src/libgdl/gdl-dock-bar.c:116 +msgid "Dockbar style" +msgstr "Styl paska elementów dokowalnych" -#: ../src/main.cpp:278 -msgid "The height of exported bitmap in pixels (overrides export-dpi)" -msgstr "Wysokość generowanej bitmapy w pikselach (przesłania dpi)" +#: ../src/libgdl/gdl-dock-bar.c:117 +msgid "Dockbar style to show items on it" +msgstr "Styl paska elementów dokowalnych" -#: ../src/main.cpp:279 -msgid "HEIGHT" -msgstr "WYSOKOŚĆ" +#: ../src/libgdl/gdl-dock-item-grip.c:395 +msgid "Iconify" +msgstr "Minimalizuj" -#: ../src/main.cpp:283 -msgid "The ID of the object to export" -msgstr "Identyfikator ID eksportowanego obiektu" +#: ../src/libgdl/gdl-dock-item-grip.c:395 +msgid "Iconify this dock" +msgstr "Minimalizuj ten element" -#: ../src/main.cpp:284 ../src/main.cpp:382 -msgid "ID" -msgstr "ID" +#: ../src/libgdl/gdl-dock-item-grip.c:397 +msgid "Close" +msgstr "Zamknij" -#. TRANSLATORS: this means: "Only export the object whose id is given in --export-id". -#. See "man inkscape" for details. -#: ../src/main.cpp:290 -msgid "" -"Export just the object with export-id, hide all others (only with export-id)" -msgstr "" -"Eksportuj tylko obiekty oznaczone identyfikatorem eksportu, ukryj pozostałe " -"(tylko z 'export-id')" +#: ../src/libgdl/gdl-dock-item-grip.c:397 +msgid "Close this dock" +msgstr "Zamknij ten element" -#: ../src/main.cpp:295 -msgid "Use stored filename and DPI hints when exporting (only with export-id)" -msgstr "" -"Podczas eksportu zastosuj zapisaną nazwę pliku i DPI (tylko z 'export-id')" +#: ../src/libgdl/gdl-dock-item-grip.c:706 +#: ../src/libgdl/gdl-dock-tablabel.c:128 +msgid "Controlling dock item" +msgstr "Zarządzanie elementem dokowalnym" -#: ../src/main.cpp:300 -msgid "Background color of exported bitmap (any SVG-supported color string)" -msgstr "" -"Kolor tła eksportowanej bitmapy (dowolny string koloru obsługiwany przez SVG)" +#: ../src/libgdl/gdl-dock-item-grip.c:707 +msgid "Dockitem which 'owns' this grip" +msgstr "Element dokowalny posiadający uchwyt zmiany rozmiaru" -#: ../src/main.cpp:301 -msgid "COLOR" -msgstr "KOLOR" +#: ../src/libgdl/gdl-dock-item.c:287 +msgid "Orientation" +msgstr "Orientacja" -#: ../src/main.cpp:305 -msgid "Background opacity of exported bitmap (either 0.0 to 1.0, or 1 to 255)" -msgstr "Krycie tła eksportowanej bitmapy (w formacie 0.0 do 1.0, lub 1 do 255)" +#: ../src/libgdl/gdl-dock-item.c:288 +msgid "Orientation of the docking item" +msgstr "Orientacja elementu dokowalnego" -#: ../src/main.cpp:306 -msgid "VALUE" -msgstr "WARTOŚĆ" +#: ../src/libgdl/gdl-dock-item.c:303 +msgid "Resizable" +msgstr "Zmienny rozmiar" -#: ../src/main.cpp:310 -msgid "Export document to plain SVG file (no sodipodi or inkscape namespaces)" -msgstr "" -"Eksportuj dokument do czystego formatu SVG (bez przestrzeni nazw używanych " -"przez programy Sodipodi i Inkscape)" +#: ../src/libgdl/gdl-dock-item.c:304 +msgid "If set, the dock item can be resized when docked in a panel" +msgstr "Będzie można zmieniać rozmiar elementów dokowalnych" -#: ../src/main.cpp:315 -msgid "Export document to a PS file" -msgstr "Eksportuje dokument do pliku PS" +#: ../src/libgdl/gdl-dock-item.c:311 +msgid "Item behavior" +msgstr "Zachowanie elementu" -#: ../src/main.cpp:320 -msgid "Export document to an EPS file" -msgstr "Eksportuje dokument do pliku EPS" +#: ../src/libgdl/gdl-dock-item.c:312 +msgid "General behavior for the dock item (i.e. whether it can float, if it's locked, etc.)" +msgstr "Zachowanie elementów dokowalnych (przestawne, zablokowane itp.)" -#: ../src/main.cpp:325 -msgid "Export document to a PDF file" -msgstr "Eksportuje dokument do pliku PDF" +#: ../src/libgdl/gdl-dock-item.c:320 +#: ../src/libgdl/gdl-dock-master.c:151 +msgid "Locked" +msgstr "Zablokowany" -#: ../src/main.cpp:331 -msgid "Export document to an Enhanced Metafile (EMF) File" -msgstr "Eksportuje dokument do pliku Enhanced Metafile (EMF)" +#: ../src/libgdl/gdl-dock-item.c:321 +msgid "If set, the dock item cannot be dragged around and it doesn't show a grip" +msgstr "Nie będzie można zmieniać położenia i rozmiaru elementów dokowalnych" -#: ../src/main.cpp:337 -msgid "Convert text object to paths on export (EPS)" -msgstr "Podczas eksportu do pliku EPS konwertuj obiekt tekstowy na ścieżki" +#: ../src/libgdl/gdl-dock-item.c:329 +msgid "Preferred width" +msgstr "Preferowana szerokość" -#: ../src/main.cpp:342 -msgid "Embed fonts on export (Type 1 only) (EPS)" -msgstr "Podczas eksportu do pliku EPS osadź czcionki (tylko Typ 1)" +#: ../src/libgdl/gdl-dock-item.c:330 +msgid "Preferred width for the dock item" +msgstr "Preferowana szerokość elementów dokowalnych" -#: ../src/main.cpp:347 -msgid "Export files with the bounding box set to the page size (EPS)" -msgstr "" -"Eksportuj pliki z obramowaniem obiektu ustawionym jako rozmiar strony (dla " -"plików EPS)" +#: ../src/libgdl/gdl-dock-item.c:336 +msgid "Preferred height" +msgstr "Preferowana wysokość" -#. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help" -#: ../src/main.cpp:353 -msgid "" -"Query the X coordinate of the drawing or, if specified, of the object with --" -"query-id" -msgstr "" -"Pytaj o współrzędną X rysunku, lub obiektu jeśli jest podany za pomocą --" -"query-id" +#: ../src/libgdl/gdl-dock-item.c:337 +msgid "Preferred height for the dock item" +msgstr "Preferowana wysokość elementów dokowalnych" -#. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help" -#: ../src/main.cpp:359 -msgid "" -"Query the Y coordinate of the drawing or, if specified, of the object with --" -"query-id" -msgstr "" -"Pytaj o współrzędną Y rysunku, lub obiektu jeśli jest podany za pomocą --" -"query-id" +#: ../src/libgdl/gdl-dock-item.c:616 +#, c-format +msgid "You can't add a dock object (%p of type %s) inside a %s. Use a GdlDock or some other compound dock object." +msgstr "Nie można dodać obiektu dokowalnego (%p typu %s) wewnątrz %s. Proszę użyć GdlDock lub innego złożonego obiektu dokowalnego." -#. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help" -#: ../src/main.cpp:365 -msgid "" -"Query the width of the drawing or, if specified, of the object with --query-" -"id" -msgstr "" -"Pytaj o szerokość rysunku, lub obiektu jeśli jest podany za pomocą --query-id" +#: ../src/libgdl/gdl-dock-item.c:623 +#, c-format +msgid "Attempting to add a widget with type %s to a %s, but it can only contain one widget at a time; it already contains a widget of type %s" +msgstr "Nastąpiła próba dodania elementu typu %s do %s, ale ten typ może zawierać tylko jeden element. Zawiera on już element typu %s." -#. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help" -#: ../src/main.cpp:371 -msgid "" -"Query the height of the drawing or, if specified, of the object with --query-" -"id" -msgstr "" -"Pytaj o wysokość rysunku, lub obiektu jeśli jest podany za pomocą --query-id" +#: ../src/libgdl/gdl-dock-item.c:1345 +#: ../src/libgdl/gdl-dock-item.c:1390 +#, c-format +msgid "Unsupported docking strategy %s in dock object of type %s" +msgstr "Nieobsługiwana metoda dokowania %s w obiekcie dokowalnym typu %s" -#: ../src/main.cpp:376 -msgid "List id,x,y,w,h for all objects" -msgstr "Pokaż id,x,y,w,h dla wszystkich obiektów" +#. UnLock menuitem +#: ../src/libgdl/gdl-dock-item.c:1479 +msgid "UnLock" +msgstr "Odblokuj" -#: ../src/main.cpp:381 -msgid "The ID of the object whose dimensions are queried" -msgstr "Identyfikator ID obiektu, o którego wymiary zapytano" +#. Hide menuitem. +#: ../src/libgdl/gdl-dock-item.c:1486 +msgid "Hide" +msgstr "Ukryj" -#. TRANSLATORS: this option makes Inkscape print the name (path) of the extension directory -#: ../src/main.cpp:387 -msgid "Print out the extension directory and exit" -msgstr "Wyświetl katalog rozszerzeń i zakończ" +#. Lock menuitem +#: ../src/libgdl/gdl-dock-item.c:1491 +msgid "Lock" +msgstr "Zablokuj" -#: ../src/main.cpp:392 -msgid "Remove unused definitions from the defs section(s) of the document" -msgstr "Usuń nieużywane definicje z sekcji <defs> dokumentu" +#: ../src/libgdl/gdl-dock-item.c:1717 +#, c-format +msgid "Attempt to bind an unbound item %p" +msgstr "Połącz element %p" -#: ../src/main.cpp:397 -msgid "List the IDs of all the verbs in Inkscape" -msgstr "Lista identyfikatorów wszystkich poleceń w Inkscape" +#: ../src/libgdl/gdl-dock-master.c:144 +#: ../src/libgdl/gdl-dock.c:183 +msgid "Default title" +msgstr "Domyślny tytuł" -#: ../src/main.cpp:402 -msgid "Verb to call when Inkscape opens." -msgstr "Polecenie wywoływane podczas uruchamiania Inkscape" +#: ../src/libgdl/gdl-dock-master.c:145 +msgid "Default title for newly created floating docks" +msgstr "Domyślna nazwa nowo tworzonych przestawnych elementów dokowalnych" -#: ../src/main.cpp:403 -msgid "VERB-ID" -msgstr "ID polecenia" +#: ../src/libgdl/gdl-dock-master.c:152 +msgid "If is set to 1, all the dock items bound to the master are locked; if it's 0, all are unlocked; -1 indicates inconsistency among the items" +msgstr "Jeśli zostanie ustawiona wartość 1 wszystkie obiekty dokowalne połączone z obiektem głównym będą zablokowane. Jeśli 0, obiekty będą odblokowane, -1 elementy będą niespójne pomiędzy sobą." -#: ../src/main.cpp:407 -msgid "Object ID to select when Inkscape opens." -msgstr "ID obiektu do zaznaczenia podczas uruchamiania Inkscape" +#: ../src/libgdl/gdl-dock-master.c:160 +#: ../src/libgdl/gdl-switcher.c:707 +msgid "Switcher Style" +msgstr "Styl przełącznika" -#: ../src/main.cpp:408 -msgid "OBJECT-ID" -msgstr "ID obiektu" +#: ../src/libgdl/gdl-dock-master.c:161 +#: ../src/libgdl/gdl-switcher.c:708 +msgid "Switcher buttons style" +msgstr "Styl przycisków przełączających" -#: ../src/main.cpp:687 -msgid "" -"[OPTIONS...] [FILE...]\n" -"\n" -"Available options:" -msgstr "" -"[OPCJE...] [PLIK...]\n" -"\n" -"Dostępne opcje:" +#: ../src/libgdl/gdl-dock-master.c:168 +msgid "Expand direction" +msgstr "Kierunek rozszerzania" -#: ../src/menus-skeleton.h:17 -msgid "_New" -msgstr "_Nowy" +#: ../src/libgdl/gdl-dock-master.c:169 +msgid "Allow the master's dock items to expand their container dock objects in the given direction" +msgstr "Pozwala głównym elementom dokowalnym na rozszerzenie ich obiektów dokowalnych w określonym kierunku" -#: ../src/menus-skeleton.h:22 -msgid "Open _Recent" -msgstr "Otwórz o_statnio używane" +#: ../src/libgdl/gdl-dock-master.c:796 +#, c-format +msgid "master %p: unable to add object %p[%s] to the hash. There already is an item with that name (%p)." +msgstr "Główny %p: nie można dodać obiektu %p[%s] do zbioru. Już istnieje element o nazwie (%p)." -#: ../src/menus-skeleton.h:50 ../src/verbs.cpp:2403 ../src/verbs.cpp:2409 -msgid "_Edit" -msgstr "_Edycja" +#: ../src/libgdl/gdl-dock-master.c:969 +#, c-format +msgid "The new dock controller %p is automatic. Only manual dock objects should be named controller." +msgstr "Nowy sterownik dokowania %p jest automatyczny. Tylko ręcznie dokowalne obiekty powinny nazywać się sterownikiem." -#: ../src/menus-skeleton.h:60 ../src/verbs.cpp:2205 -msgid "Paste Si_ze" -msgstr "Wklej roz_miar" +#: ../src/libgdl/gdl-dock-notebook.c:134 +#: ../src/ui/dialog/align-and-distribute.cpp:916 +#: ../src/ui/dialog/document-properties.cpp:134 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1367 +#: ../src/widgets/desktop-widget.cpp:1572 +msgid "Page" +msgstr "Strona" -#: ../src/menus-skeleton.h:72 -msgid "Clo_ne" -msgstr "Klo_nuj" +#: ../src/libgdl/gdl-dock-notebook.c:135 +msgid "The index of the current page" +msgstr "Indeks bieżącej strony" -#: ../src/menus-skeleton.h:91 -msgid "_View" -msgstr "_Widok" +#: ../src/libgdl/gdl-dock-object.c:120 +#: ../src/ui/widget/page-sizer.cpp:216 +msgid "Name" +msgstr "Nazwa" -#: ../src/menus-skeleton.h:92 -msgid "_Zoom" -msgstr "P_owiększenie" +#: ../src/libgdl/gdl-dock-object.c:121 +msgid "Unique name for identifying the dock object" +msgstr "Unikalna nazwa identyfikująca obiekt dokowalny" -#: ../src/menus-skeleton.h:108 -msgid "_Display mode" -msgstr "_Tryb wyświetlania" +#: ../src/libgdl/gdl-dock-object.c:128 +msgid "Long name" +msgstr "Długa nazwa" -#: ../src/menus-skeleton.h:120 -msgid "Show/Hide" -msgstr "Wyświetl/U_kryj" +#: ../src/libgdl/gdl-dock-object.c:129 +msgid "Human readable name for the dock object" +msgstr "Zrozumiała dla wszystkich nazwa obiektu dokowalnego" -#: ../src/menus-skeleton.h:137 -msgid "_Layer" -msgstr "W_arstwa" +#: ../src/libgdl/gdl-dock-object.c:135 +msgid "Stock Icon" +msgstr "Zbiór ikon" -#: ../src/menus-skeleton.h:156 -msgid "_Object" -msgstr "_Obiekt" +#: ../src/libgdl/gdl-dock-object.c:136 +msgid "Stock icon for the dock object" +msgstr "Zbiór ikon dla obiektów dokowalnych" -#: ../src/menus-skeleton.h:166 -msgid "Cli_p" -msgstr "Przytni_j" +#: ../src/libgdl/gdl-dock-object.c:142 +msgid "Pixbuf Icon" +msgstr "Ikona Pixbuf" -#: ../src/menus-skeleton.h:170 -msgid "Mas_k" -msgstr "Mas_ka" +#: ../src/libgdl/gdl-dock-object.c:143 +msgid "Pixbuf icon for the dock object" +msgstr "Ikona Pixbuf dla obiektu dokowalnego" -#: ../src/menus-skeleton.h:174 -msgid "Patter_n" -msgstr "D_eseń" +#: ../src/libgdl/gdl-dock-object.c:148 +msgid "Dock master" +msgstr "Główny element dokowalny" -#: ../src/menus-skeleton.h:198 -msgid "_Path" -msgstr "Ścież_ka" +#: ../src/libgdl/gdl-dock-object.c:149 +msgid "Dock master this dock object is bound to" +msgstr "Główny element dokowalny tego obiektu jest połączony z" -#: ../src/menus-skeleton.h:221 -msgid "Path Effects" -msgstr "Efekty ścieżki" +#: ../src/libgdl/gdl-dock-object.c:434 +#, c-format +msgid "Call to gdl_dock_object_dock in a dock object %p (object type is %s) which hasn't implemented this method" +msgstr "Wywołanie metody gdl_dock_object_dock w obiekcie %p (typ obiektu %s), który nie posiada implementacji tej metody" -#: ../src/menus-skeleton.h:227 -msgid "_Text" -msgstr "_Tekst" +#: ../src/libgdl/gdl-dock-object.c:563 +#, c-format +msgid "Dock operation requested in a non-bound object %p. The application might crash" +msgstr "Zażądano wykonania operacji dokowania w niepołączonym obiekcie %p. Kontynuowanie może spowodować zamknięcie aplikacji." -#: ../src/menus-skeleton.h:239 -msgid "Effe_cts" -msgstr "E_fekty" +#: ../src/libgdl/gdl-dock-object.c:570 +#, c-format +msgid "Cannot dock %p to %p because they belong to different masters" +msgstr "Nie można zadokować %p do %p ponieważ jest ono połączone i innym elementem głównym" -#: ../src/menus-skeleton.h:246 -msgid "Whiteboa_rd" -msgstr "Ta_blica" +#: ../src/libgdl/gdl-dock-object.c:612 +#, c-format +msgid "Attempt to bind to %p an already bound dock object %p (current master: %p)" +msgstr "Próba połączenia z %p już połączonego obiektu dokowalnego %p Aktualny element główny: %p)" -#: ../src/menus-skeleton.h:250 -msgid "_Help" -msgstr "Pomo_c" +#: ../src/libgdl/gdl-dock-paned.c:132 +msgid "Position" +msgstr "Lokalizacja" -#: ../src/menus-skeleton.h:254 -msgid "Tutorials" -msgstr "Poradniki" +#: ../src/libgdl/gdl-dock-paned.c:133 +msgid "Position of the divider in pixels" +msgstr "Położenie przegrody (w px)" -#: ../src/node-context.cpp:255 -msgid "" -"Ctrl: toggle node type, snap handle angle, move hor/vert; Ctrl" -"+Alt: move along handles" -msgstr "" -"Ctrl - przełącza typ węzła, przyciąga uchwyt do kąta, prowadzi " -"poziomo/pionowo. Ctrl + Alt - prowadzi po linii uchwytu." +#: ../src/libgdl/gdl-dock-placeholder.c:143 +msgid "Sticky" +msgstr "Przyklejone" -#: ../src/node-context.cpp:256 -msgid "" -"Shift: toggle node selection, disable snapping, rotate both handles" -msgstr "" -"Shift - przełącza wybór węzła, wyłącza przyciąganie, obraca oba " -"uchwyty" +#: ../src/libgdl/gdl-dock-placeholder.c:144 +msgid "Whether the placeholder will stick to its host or move up the hierarchy when the host is redocked" +msgstr "Okienko zadań będzie połączone ze swoim miejscem dokowania i podczas ponownego dokowania będzie dokowane w tym miejscu lub przesuwane w górę hierarchii panelu dokowania" -#: ../src/node-context.cpp:257 -msgid "Alt: lock handle length; Ctrl+Alt: move along handles" -msgstr "" -"Alt - blokuje odległość uchwytu. Ctrl + Alt - prowadzi po " -"linii uchwytu." +#: ../src/libgdl/gdl-dock-placeholder.c:151 +msgid "Host" +msgstr "Host" -#: ../src/nodepath.cpp:651 ../src/seltrans.cpp:547 -msgid "Stamp" -msgstr "Znacznik czasu" +#: ../src/libgdl/gdl-dock-placeholder.c:152 +msgid "The dock object this placeholder is attached to" +msgstr "Dokowalny obiekt tego miejsca dokowania jest dołączony do niego" -#: ../src/nodepath.cpp:1486 ../src/nodepath.cpp:1513 -msgid "Move nodes vertically" -msgstr "Przesuń węzły w pionie" +#: ../src/libgdl/gdl-dock-placeholder.c:159 +msgid "Next placement" +msgstr "Następne położenie" -#: ../src/nodepath.cpp:1488 ../src/nodepath.cpp:1515 -msgid "Move nodes horizontally" -msgstr "Przesuń węzły w poziomie" +#: ../src/libgdl/gdl-dock-placeholder.c:160 +msgid "The position an item will be docked to our host if a request is made to dock to us" +msgstr "Jeśli zażądano zadokowania w panelu dokowania, pozycja elementu zostanie zapamiętana" -#: ../src/nodepath.cpp:1490 ../src/nodepath.cpp:1517 ../src/nodepath.cpp:1532 -#: ../src/nodepath.cpp:3359 -msgid "Move nodes" -msgstr "Przesuń węzły" +#: ../src/libgdl/gdl-dock-placeholder.c:170 +msgid "Width for the widget when it's attached to the placeholder" +msgstr "Szerokość elementu załączanego do miejsca dokowania" -#: ../src/nodepath.cpp:1570 -msgid "" -"Node handle: drag to shape the curve; with Ctrl to snap angle; " -"with Alt to lock length; with Shift to rotate both handles" -msgstr "" -"Uchwyt węzła - ciągnięcie edytuje ścieżkę. Z Ctrl - " -"przyciąganie do kąta, z Alt blokada odległości, z Shift obrót " -"obu uchwytów." +#: ../src/libgdl/gdl-dock-placeholder.c:178 +msgid "Height for the widget when it's attached to the placeholder" +msgstr "Wysokość elementu załączanego do miejsca dokowania" -#: ../src/nodepath.cpp:1740 -msgid "Align nodes" -msgstr "Wyrównaj węzły" +#: ../src/libgdl/gdl-dock-placeholder.c:184 +msgid "Floating Toplevel" +msgstr "Najwyższy poziom elementów w trybie przestawnym" -#: ../src/nodepath.cpp:1802 -msgid "Distribute nodes" -msgstr "Rozmieść węzły" +#: ../src/libgdl/gdl-dock-placeholder.c:185 +msgid "Whether the placeholder is standing in for a floating toplevel dock" +msgstr "Czy miejsce dokowania jest stałe dla przestawnych obiektów dokowalnych najwyższego poziomu" -#: ../src/nodepath.cpp:1840 -msgid "Add nodes" -msgstr "Dodaj węzły" +#: ../src/libgdl/gdl-dock-placeholder.c:191 +msgid "X-Coordinate" +msgstr "Współrzędna X" -#: ../src/nodepath.cpp:1842 ../src/nodepath.cpp:1914 -msgid "Add node" -msgstr "Dodaj węzeł" +#: ../src/libgdl/gdl-dock-placeholder.c:192 +msgid "X coordinate for dock when floating" +msgstr "Współrzędna X okna dokowalnego w trybie przestawnym" -#: ../src/nodepath.cpp:1995 -msgid "Break path" -msgstr "Rozdziel ścieżkę" +#: ../src/libgdl/gdl-dock-placeholder.c:198 +msgid "Y-Coordinate" +msgstr "Współrzędna Y" -#: ../src/nodepath.cpp:2051 -msgid "Close subpath" -msgstr "Zamknij subścieżkę" +#: ../src/libgdl/gdl-dock-placeholder.c:199 +msgid "Y coordinate for dock when floating" +msgstr "Współrzędna Y okna dokowalnego w trybie przestawnym" -#: ../src/nodepath.cpp:2112 -msgid "Join nodes" -msgstr "Połącz węzły" +#: ../src/libgdl/gdl-dock-placeholder.c:494 +msgid "Attempt to dock a dock object to an unbound placeholder" +msgstr "Próba zadokowania obiektu do niepołączonego miejsca dokowania" -#: ../src/nodepath.cpp:2139 -msgid "Close subpath by segment" -msgstr "Zamyka subścieżkę za pomocą odcinka" +#: ../src/libgdl/gdl-dock-placeholder.c:618 +#, c-format +msgid "Got a detach signal from an object (%p) who is not our host %p" +msgstr "Otrzymano sygnał odłączenia od obiektu (%p), który nie jest naszym serwerem %p" -#: ../src/nodepath.cpp:2193 -msgid "Join nodes by segment" -msgstr "Łączy zaznaczone węzły końcowe za pomocą odcinka" +#: ../src/libgdl/gdl-dock-placeholder.c:643 +#, c-format +msgid "Something weird happened while getting the child placement for %p from parent %p" +msgstr "Stało się coś dziwnego podczas otwierania okna dokowalnego dla %p pochodzącego z %p" -#: ../src/nodepath.cpp:2206 ../src/nodepath.cpp:2221 -msgid "To join, you must have two endnodes selected." -msgstr "Aby połączyć, należy wybrać dwa węzły końcowe" +#: ../src/libgdl/gdl-dock-tablabel.c:129 +msgid "Dockitem which 'owns' this tablabel" +msgstr "Okno dokowalne, które posiada tę etykietę karty" -#: ../src/nodepath.cpp:2378 ../src/nodepath.cpp:2414 ../src/nodepath.cpp:2418 -msgid "Delete nodes" -msgstr "Usuń węzły" +#: ../src/libgdl/gdl-dock.c:175 +#: ../src/ui/dialog/inkscape-preferences.cpp:506 +#: ../src/ui/dialog/inkscape-preferences.cpp:527 +msgid "Floating" +msgstr "Przestawne" -#: ../src/nodepath.cpp:2380 -msgid "Delete nodes preserving shape" -msgstr "Usuwa węzły zachowując kształt" +#: ../src/libgdl/gdl-dock.c:176 +msgid "Whether the dock is floating in its own window" +msgstr "Czy okno dokowalne może być przestawnym w swoim własnym oknie" -#: ../src/nodepath.cpp:2437 ../src/nodepath.cpp:2451 -msgid "" -"Select two non-endpoint nodes on a path between which to delete " -"segments." -msgstr "" -"Wybierz dwa nie końcowe węzły na ścieżce, aby usunąć odcinki pomiędzy " -"nimi" +#: ../src/libgdl/gdl-dock.c:184 +msgid "Default title for the newly created floating docks" +msgstr "Domyślna nazwa tworzonych okien dokowalnych" -#: ../src/nodepath.cpp:2547 -msgid "Cannot find path between nodes." -msgstr "Nie znaleziono ścieżki pomiędzy węzłami" +#: ../src/libgdl/gdl-dock.c:191 +msgid "Width for the dock when it's of floating type" +msgstr "Szerokość okna dokowalnego w trybie przestawnym" -#: ../src/nodepath.cpp:2579 ../src/widgets/toolbox.cpp:1129 -msgid "Delete segment" -msgstr "Usuń odcinek" +#: ../src/libgdl/gdl-dock.c:199 +msgid "Height for the dock when it's of floating type" +msgstr "Wysokość okna dokowalnego w trybie przestawnym" -#: ../src/nodepath.cpp:2600 -msgid "Change segment type" -msgstr "Zmień typ odcinka" +#: ../src/libgdl/gdl-dock.c:206 +msgid "Float X" +msgstr "Współrzędna X" -#: ../src/nodepath.cpp:2617 ../src/nodepath.cpp:3317 -msgid "Change node type" -msgstr "Zmień typ węzła" +#: ../src/libgdl/gdl-dock.c:207 +msgid "X coordinate for a floating dock" +msgstr "Współrzędna X okna dokowalnego w trybie przestawnym" -#: ../src/nodepath.cpp:3605 -msgid "Retract handle" -msgstr "Cofnij uchwyt" +#: ../src/libgdl/gdl-dock.c:214 +msgid "Float Y" +msgstr "Współrzędna Y" -#: ../src/nodepath.cpp:3654 -msgid "Move node handle" -msgstr "Przesuń uchwyt węzła" +#: ../src/libgdl/gdl-dock.c:215 +msgid "Y coordinate for a floating dock" +msgstr "Współrzędna Y okna dokowalnego w trybie przestawnym" -#: ../src/nodepath.cpp:3823 +#: ../src/libgdl/gdl-dock.c:499 #, c-format -msgid "" -"Node handle: angle %0.2f°, length %s; with Ctrl to snap " -"angle; with Alt to lock length; with Shift to rotate both " -"handles" -msgstr "" -"Uchwyt węzła. Kąt %0.2f°, długość %s; z Ctrl przyciąganie " -"do kąta; z Alt blokada odległości; z Shift obrót obu uchwytów" +msgid "Dock #%d" +msgstr "Okno dokowalne #%d" -#: ../src/nodepath.cpp:4017 -msgid "Rotate nodes" -msgstr "Obróć węzły" +#: ../src/libnrtype/FontFactory.cpp:778 +msgid "Ignoring font without family that will crash Pango" +msgstr "Pomijanie czcionki bez rodziny, która może powodować błędy w bibliotece Pango" -#: ../src/nodepath.cpp:4148 -msgid "Scale nodes" -msgstr "Skaluj węzły" +#. {constant defined in effect.h, N_("name of your effect"), "name of your effect in SVG"} +#: ../src/live_effects/effect.cpp:76 +#, fuzzy +msgid "Angle bisector" +msgstr "Kąt w orientacji X" -#: ../src/nodepath.cpp:4192 -msgid "Flip nodes" -msgstr "Odbij węzły" +#: ../src/live_effects/effect.cpp:77 +msgid "Bend" +msgstr "Zagięcie" -#: ../src/nodepath.cpp:4361 -msgid "" -"Node: drag to edit the path; with Ctrl to snap to horizontal/" -"vertical; with Ctrl+Alt to snap to handles' directions" +#: ../src/live_effects/effect.cpp:78 +msgid "Boolops" msgstr "" -"Węzeł: edytuj ścieżkę przeciągając; z Ctrl tylko poziomo/" -"pionowo; z Ctrl + Alt wzdłuż linii uchwytów" -#. TRANSLATORS: "end" is an adjective here (NOT a verb) -#: ../src/nodepath.cpp:4587 -msgid "end node" -msgstr "węzeł końcowy" +#: ../src/live_effects/effect.cpp:79 +msgid "Circle (by center and radius)" +msgstr "Okrąg (środek+kąt)" -#. TRANSLATORS: "cusp" means "sharp" (cusp node); see also the Advanced Tutorial -#: ../src/nodepath.cpp:4592 -msgid "cusp" -msgstr "ostry" +#: ../src/live_effects/effect.cpp:80 +msgid "Circle by 3 points" +msgstr "Okrąg oparty na 3 punktach" -#. TRANSLATORS: "smooth" is an adjective here -#: ../src/nodepath.cpp:4595 -msgid "smooth" -msgstr "gładki" +#: ../src/live_effects/effect.cpp:81 +msgid "Construct grid" +msgstr "Utwórz siatkę" -#: ../src/nodepath.cpp:4597 -msgid "symmetric" -msgstr "symetryczny" +#: ../src/live_effects/effect.cpp:83 +msgid "doEffect stack test" +msgstr "Wykonaj test efektu stosu" -#. TRANSLATORS: "end" is an adjective here (NOT a verb) -#: ../src/nodepath.cpp:4603 -msgid "end node, handle retracted (drag with Shift to extend)" -msgstr "" -"węzeł końcowy, uchwyt zredukowany (ciągnij z Shift, aby go rozciągnąć)" +#: ../src/live_effects/effect.cpp:85 +msgid "Envelope Deformation" +msgstr "Deformacja obwiedni" -#: ../src/nodepath.cpp:4605 -msgid "one handle retracted (drag with Shift to extend)" -msgstr "" -"jeden z uchwytów został zredukowany (ciągnij z Shift, aby go " -"rozciągnąć)" +#: ../src/live_effects/effect.cpp:86 +msgid "Freehand Shape" +msgstr "Kształt odręczny" -#: ../src/nodepath.cpp:4608 -msgid "both handles retracted (drag with Shift to extend)" -msgstr "" -"oba uchwyty zostały zredukowane (przeciągnij z Shift, aby je " -"rozciągnąć)" +#. this is actually a special type of PatternAlongPath, used to paste shapes in pen/pencil tool +#: ../src/live_effects/effect.cpp:87 +msgid "Gears" +msgstr "Koła zębate" -#: ../src/nodepath.cpp:4620 -msgid "" -"Drag nodes or node handles; Alt+drag nodes to sculpt; " -"arrow keys to move nodes, < > to scale, [ ] to " -"rotate" -msgstr "" -"Przeciągnie węzłów lub ich uchwytów: Alt + ciągnięcie węzłów - " -"modelowanie. Klawisze: strzałek - przesuwanie węzłów, < > - skalowanie, [ ] - obracanie" +#: ../src/live_effects/effect.cpp:88 +#, fuzzy +msgid "Interpolate Sub-Paths" +msgstr "Interpolacja" -#: ../src/nodepath.cpp:4621 -msgid "Drag the node or its handles; arrow keys to move the node" -msgstr "" -"Przeciąganie węzłów lub ich uchwytów: Klawisze strzałek " -"przesuwają węzeł" +#: ../src/live_effects/effect.cpp:89 +msgid "Knot" +msgstr "Supeł" -#: ../src/nodepath.cpp:4646 ../src/nodepath.cpp:4658 -msgid "Select a single object to edit its nodes or handles." -msgstr "Zaznacz pojedynczy obiekt, aby edytować jego węzły lub uchwyty" +#: ../src/live_effects/effect.cpp:90 +msgid "Lattice Deformation" +msgstr "Deformacja segmentowa" -#: ../src/nodepath.cpp:4650 -#, c-format -msgid "" -"0 out of %i node selected. Click, Shift+click, " -"or drag around nodes to select." -msgid_plural "" -"0 out of %i nodes selected. Click, Shift+click, " -"or drag around nodes to select." -msgstr[0] "" -"Zaznaczono 0 z %i węzłów. Aby zaznaczyć węzły kliknij, " -"Shift + kliknij, lub wykonaj ciągnięcie wokół węzłów." -msgstr[1] "" -"Zaznaczono 0 z %i węzłów. Aby zaznaczyć węzły kliknij, " -"Shift + kliknij, lub wykonaj ciągnięcie wokół węzłów." -msgstr[2] "" -"Zaznaczono 0 z %i węzłów. Aby zaznaczyć węzły kliknij, " -"Shift + kliknij, lub wykonaj ciągnięcie wokół węzłów." - -#: ../src/nodepath.cpp:4656 -msgid "Drag the handles of the object to modify it." -msgstr "Aby zmodyfikować obiekt przeciągnij uchwyty" +#: ../src/live_effects/effect.cpp:91 +msgid "Line Segment" +msgstr "Odcinek" -#: ../src/nodepath.cpp:4664 -#, c-format -msgid "%i of %i node selected; %s. %s." -msgid_plural "%i of %i nodes selected; %s. %s." -msgstr[0] "Zaznaczono %i z %i węzła. %s. %s" -msgstr[1] "Zaznaczono %i z %i węzłów. %s. %s" -msgstr[2] "Zaznaczono %i z %i węzłów. %s. %s" +#: ../src/live_effects/effect.cpp:92 +msgid "Mirror symmetry" +msgstr "Symetria lustrzana" -#: ../src/nodepath.cpp:4671 -#, c-format -msgid "" -"%i of %i node selected in %i of %i subpaths. %s." -msgid_plural "" -"%i of %i nodes selected in %i of %i subpaths. %s." -msgstr[0] "" -"Zaznaczono %i z %i węzła na %i z %i ścieżek " -"zagnieżdżonych. %s." -msgstr[1] "" -"Zaznaczono %i z %i węzłów na %i z %i ścieżek " -"zagnieżdżonych. %s." -msgstr[2] "" -"Zaznaczono %i z %i węzłów na %i z %i ścieżek " -"zagnieżdżonych. %s." - -#: ../src/nodepath.cpp:4677 -#, c-format -msgid "%i of %i node selected. %s." -msgid_plural "%i of %i nodes selected. %s." -msgstr[0] "Zaznaczono %i z %i węzła. %s" -msgstr[1] "Zaznaczono %i z %i węzłów. %s" -msgstr[2] "Zaznaczono %i z %i węzłów. %s" +#: ../src/live_effects/effect.cpp:94 +#, fuzzy +msgid "Parallel" +msgstr "Przesunięcie normalne" -#: ../src/object-edit.cpp:420 -msgid "" -"Adjust the horizontal rounding radius; with Ctrl to make the " -"vertical radius the same" -msgstr "" -"Ustawianie promienia poziomego zaokrąglenia; z Ctrl ta sama " -"wartość dla promienia zaokrąglenia pionowego" +#: ../src/live_effects/effect.cpp:95 +msgid "Path length" +msgstr "Długość ścieżki" -#: ../src/object-edit.cpp:424 -msgid "" -"Adjust the vertical rounding radius; with Ctrl to make the " -"horizontal radius the same" -msgstr "" -"Ustawianie promienia pionowego zaokrąglenia; z Ctrl ta sama " -"wartość dla promienia zaokrąglenia poziomego." +#: ../src/live_effects/effect.cpp:96 +msgid "Pattern Along Path" +msgstr "Deseń wzdłuż ścieżki" -#: ../src/object-edit.cpp:428 ../src/object-edit.cpp:432 +#. for historic reasons, this effect is called skeletal(strokes) in Inkscape:SVG +#: ../src/live_effects/effect.cpp:97 #, fuzzy -msgid "" -"Adjust the width and height of the rectangle; with Ctrlto lock " -"ratio or stretch in one dimension only" -msgstr "" -"Ustawianie szerokości i wysokości prostokąta. Z Ctrl blokada " -"proporcji lub zmiana tylko w jednym kierunku." - -#: ../src/object-edit.cpp:666 ../src/object-edit.cpp:669 -#: ../src/object-edit.cpp:672 ../src/object-edit.cpp:675 -msgid "" -"Resize box in X/Y direction; with Shift along the Z axis; with " -"Ctrl to constrain to the directions of edges or diagonals" -msgstr "" -"Zmiana wielkości obiektu w kierunkach X/Y. Z Shift wzdłuż osi Z, " -"zCtrl zachowuje proporcje kierunków krawędzi lub przekątnych." +msgid "Perpendicular bisector" +msgstr "(prostopadle do konturu, \"pędzel\")" -#: ../src/object-edit.cpp:678 ../src/object-edit.cpp:681 -#: ../src/object-edit.cpp:684 ../src/object-edit.cpp:687 -msgid "" -"Resize box along the Z axis; with Shift in X/Y direction; with " -"Ctrl to constrain to the directions of edges or diagonals" -msgstr "" -"Zmiana wielkości obiektu wzdłuż osi Z; z Shift w kierunkach X/Y, z " -"Ctrl zachowuje proporcje kierunków krawędzi lub przekątnych." +#: ../src/live_effects/effect.cpp:98 +msgid "Perspective path" +msgstr "Ścieżka perspektywy" -#: ../src/object-edit.cpp:690 -msgid "Move the box in perspective" -msgstr "Utwórz perspektywę obiektu" +#: ../src/live_effects/effect.cpp:99 +msgid "Rotate copies" +msgstr "Obróć kopie" -#: ../src/object-edit.cpp:908 -msgid "Adjust ellipse width, with Ctrl to make circle" -msgstr "Ustawianie szerokości elipsy; z Ctrl - tworzenie okręgu." +#: ../src/live_effects/effect.cpp:100 +msgid "Ruler" +msgstr "Linijka" -#: ../src/object-edit.cpp:911 -msgid "Adjust ellipse height, with Ctrl to make circle" -msgstr "Ustawianie wysokości elipsy; z Ctrl - tworzenie okręgu." +#: ../src/live_effects/effect.cpp:101 +msgid "Sketch" +msgstr "Szkic" -#: ../src/object-edit.cpp:914 -#, fuzzy -msgid "" -"Position the start point of the arc or segment; with Ctrlto " -"snap angle; drag inside the ellipse for arc, outside for " -"segment" +#: ../src/live_effects/effect.cpp:102 +msgid "Spiro spline" msgstr "" -"Ustawianie początku łuku lub wycinka; z Ctrl - przyciąganie do " -"kąta. Ciągnięcie wewnątrz elipsy daje łuk, na zewnątrz - " -"wycinek elipsy." -#: ../src/object-edit.cpp:918 -msgid "" -"Position the end point of the arc or segment; with Ctrl to " -"snap angle; drag inside the ellipse for arc, outside for " -"segment" -msgstr "" -"Ustawianie końca łuku lub wycinka; z Ctrl - przyciąganie do " -"kąta. Ciągnięcie wewnątrz elipsy daje łuk, na zewnątrz - " -"wycinek elipsy." +#: ../src/live_effects/effect.cpp:103 +msgid "Stitch Sub-Paths" +msgstr "Zszywanie ścieżek podrzędnych" -#: ../src/object-edit.cpp:1057 -msgid "" -"Adjust the tip radius of the star or polygon; with Shift to " -"round; with Alt to randomize" -msgstr "" -"Ustawianie promienia wierzchołków gwiazdy lub wielokąta; z Shift - zaokrąglenie, z Alt zniekształcenie losowe." +#: ../src/live_effects/effect.cpp:104 +msgid "Tangent to curve" +msgstr "Styczna w krzywą" -#: ../src/object-edit.cpp:1064 -msgid "" -"Adjust the base radius of the star; with Ctrl to keep star " -"rays radial (no skew); with Shift to round; with Alt to " -"randomize" -msgstr "" -"Ustawianie promienia podstawy gwiazdy; z Ctrl zachowuje " -"promienistość (bez skręcenia), z Shift - zaokrąglenie, z Alt - " -"zniekształcenie losowe." +#: ../src/live_effects/effect.cpp:105 +msgid "Text label" +msgstr "Etykieta tekstu" -#: ../src/object-edit.cpp:1245 -msgid "" -"Roll/unroll the spiral from inside; with Ctrl to snap angle; " -"with Alt to converge/diverge" +#: ../src/live_effects/effect.cpp:106 +msgid "VonKoch" msgstr "" -"Rozwijanie/zwijanie spirali od środka; z Ctrl - przyciąganie " -"do kąta, z Alt - zwiększenie/zmniejszenie przyrostu." -#: ../src/object-edit.cpp:1248 -msgid "" -"Roll/unroll the spiral from outside; with Ctrl to snap angle; " -"with Shift to scale/rotate" +#: ../src/live_effects/effect.cpp:255 +msgid "If unchecked, the effect remains applied to the object but is temporarily disabled on canvas" msgstr "" -"Rozwiń/zwiń spiralę od zewnątrz; z Ctrl przyciąganie do kąta; " -"z Shift skalowanie/obrót; z Alt bez zmiany promienia" - -#: ../src/object-edit.cpp:1292 -msgid "Adjust the offset distance" -msgstr "Ustawianie odległości odsunięcia." - -#: ../src/object-edit.cpp:1327 -msgid "Drag to resize the flowed text frame" -msgstr "Ciągnij, aby zmienić rozmiar ramki z tekstem" - -#: ../src/path-chemistry.cpp:63 -msgid "Select at least two objects to combine." -msgstr "Wybierz co najmniej dwa obiekty do połączenia" - -#: ../src/path-chemistry.cpp:67 -msgid "Combining paths..." -msgstr "Łączenie ścieżek..." -#: ../src/path-chemistry.cpp:169 -msgid "Combine" -msgstr "Połącz" - -#: ../src/path-chemistry.cpp:176 -msgid "No path(s) to combine in the selection." -msgstr "W zaznaczeniu brak ścieżek do połączenia" - -#: ../src/path-chemistry.cpp:190 -msgid "Select path(s) to break apart." -msgstr "Wybierz jedną lub więcej ścieżek do rozdzielenia na części" +#: ../src/live_effects/effect.cpp:255 +msgid "Is visible?" +msgstr "" -#: ../src/path-chemistry.cpp:194 -msgid "Breaking apart paths..." -msgstr "Rozdzielanie ścieżek..." +#: ../src/live_effects/effect.cpp:256 +msgid "Check this to deactivate knotholder handles (useful if they interfere with node handles during editing)" +msgstr "" -#: ../src/path-chemistry.cpp:280 -msgid "Break apart" -msgstr "Rozdziel" +#: ../src/live_effects/effect.cpp:256 +#, fuzzy +msgid "Deactivate knotholder?" +msgstr "Wyłączono" -#: ../src/path-chemistry.cpp:282 -msgid "No path(s) to break apart in the selection." -msgstr "W zaznaczeniu brak ścieżek do rozdzielenia na części" +#: ../src/live_effects/effect.cpp:277 +msgid "No effect" +msgstr "Brak efektu" -#: ../src/path-chemistry.cpp:306 -msgid "Select object(s) to convert to path." -msgstr "Zaznacz obiekty do przekształcenia na ścieżki" +#: ../src/live_effects/effect.cpp:324 +#, c-format +msgid "Please specify a parameter path for the LPE '%s' with %d mouse clicks" +msgstr "" -#: ../src/path-chemistry.cpp:312 -msgid "Converting objects to paths..." -msgstr "Konwertowanie obiektów na ścieżki..." +#: ../src/live_effects/effect.cpp:623 +#, c-format +msgid "Editing parameter %s." +msgstr "Edytowanie parametru %s" -#: ../src/path-chemistry.cpp:334 -msgid "Object to path" -msgstr "Obiekt na ścieżkę" +#: ../src/live_effects/effect.cpp:628 +msgid "None of the applied path effect's parameters can be edited on-canvas." +msgstr "Nie ma zastosowanych parametrów efektu ścieżki, które można by edytować w obszarze roboczym" -#: ../src/path-chemistry.cpp:336 -msgid "No objects to convert to path in the selection." -msgstr "W zaznaczeniu brak obiektów do przekształcenia na ścieżki" +#: ../src/live_effects/lpe-angle_bisector.cpp:51 +#: ../src/live_effects/lpe-parallel.cpp:47 +#: ../src/live_effects/lpe-perp_bisector.cpp:103 +#: ../src/live_effects/lpe-tangent_to_curve.cpp:58 +#, fuzzy +msgid "Length left" +msgstr "Podetnij z lewej" -#: ../src/path-chemistry.cpp:487 -msgid "Select path(s) to reverse." -msgstr "" -"Zaznacz jedną lub więcej ścieżek, których kierunek zostanie odwrócony" +#: ../src/live_effects/lpe-angle_bisector.cpp:51 +#: ../src/live_effects/lpe-perp_bisector.cpp:103 +#, fuzzy +msgid "Specifies the left end of the bisector" +msgstr "Definiuje kolor źródła światła" -#: ../src/path-chemistry.cpp:496 -msgid "Reversing paths..." -msgstr "Odwracanie ścieżek..." +#: ../src/live_effects/lpe-angle_bisector.cpp:52 +#: ../src/live_effects/lpe-parallel.cpp:48 +#: ../src/live_effects/lpe-perp_bisector.cpp:104 +#: ../src/live_effects/lpe-tangent_to_curve.cpp:59 +#, fuzzy +msgid "Length right" +msgstr "Jednostka długości:" -#: ../src/path-chemistry.cpp:523 -msgid "Reverse path" -msgstr "Odwróć kierunek ścieżki" +#: ../src/live_effects/lpe-angle_bisector.cpp:52 +#: ../src/live_effects/lpe-perp_bisector.cpp:104 +#, fuzzy +msgid "Specifies the right end of the bisector" +msgstr "Pobranie jasności koloru" -#: ../src/path-chemistry.cpp:525 -msgid "No paths to reverse in the selection." -msgstr "W zaznaczeniu brak ścieżek, dla których można odwrócić kierunek" +#: ../src/live_effects/lpe-angle_bisector.cpp:59 +#, fuzzy +msgid "Adjust the \"left\" end of the bisector" +msgstr "Definiuje kolor źródła światła" -#: ../src/pencil-context.cpp:239 ../src/pen-context.cpp:441 -msgid "Continuing selected path" -msgstr "Kontynuowanie zaznaczonej ścieżki" +#: ../src/live_effects/lpe-angle_bisector.cpp:60 +#, fuzzy +msgid "Adjust the \"right\" of the bisector" +msgstr "Pobranie jasności koloru" -#: ../src/pencil-context.cpp:248 ../src/pen-context.cpp:451 -msgid "Creating new path" -msgstr "Tworzenie nowej ścieżki" +#: ../src/live_effects/lpe-bendpath.cpp:55 +msgid "Bend path" +msgstr "Ścieżka zagięcia" -#: ../src/pencil-context.cpp:253 ../src/pen-context.cpp:453 -msgid "Appending to selected path" -msgstr "Dodawanie segmentów do zaznaczonej ścieżki" +#: ../src/live_effects/lpe-bendpath.cpp:55 +msgid "Path along which to bend the original path" +msgstr "Ścieżka wzdłuż, której nastąpi zagięcie oryginalnej ścieżki" -#: ../src/pencil-context.cpp:336 -msgid "Release here to close and finish the path." -msgstr "Zwolnij przycisk w tym miejscu, aby zamknąć i zakończyć ścieżkę" +#: ../src/live_effects/lpe-bendpath.cpp:56 +msgid "Width of the path" +msgstr "Szerokość ścieżki" -#: ../src/pencil-context.cpp:342 -msgid "Drawing a freehand path" -msgstr "Rysowanie krzywej odręcznej" +#: ../src/live_effects/lpe-bendpath.cpp:57 +msgid "Scale the width of the path in units of its length" +msgstr "Skaluje szerokość ścieżki w jednostkach jej długości" -#: ../src/pencil-context.cpp:347 -msgid "Drag to continue the path from this point." -msgstr "Ciągnij, aby kontynuować ścieżkę od tego punktu" +#: ../src/live_effects/lpe-bendpath.cpp:57 +#: ../src/live_effects/lpe-patternalongpath.cpp:64 +msgid "Width in units of length" +msgstr "Szerokość w jednostkach długości" -#. Write curves to object -#: ../src/pencil-context.cpp:409 -msgid "Finishing freehand" -msgstr "Zakończono rysowanie krzywej" +#: ../src/live_effects/lpe-bendpath.cpp:58 +msgid "Original path is vertical" +msgstr "Oryginalna ścieżka o orientacji pionowej" -#: ../src/pencil-context.cpp:460 ../src/pen-context.cpp:237 -msgid "Drawing cancelled" -msgstr "Rysowanie anulowane" +#: ../src/live_effects/lpe-bendpath.cpp:58 +msgid "Rotates the original 90 degrees, before bending it along the bend path" +msgstr "Przed zagięciem ścieżki wzdłuż ścieżki zagięcia obraca ścieżkę o 90°" -#: ../src/pen-context.cpp:620 -msgid "Click or click and drag to close and finish the path." +#: ../src/live_effects/lpe-boolops.cpp:23 +msgid "Null" msgstr "" -"Kliknij lub kliknij i ciągnij, aby zamknąć i zakończyć ścieżkę" -#: ../src/pen-context.cpp:630 -msgid "" -"Click or click and drag to continue the path from this point." -msgstr "" -"Kliknij lub kliknij i ciągnij, aby kontynuować ścieżkę od tego " -"punktu" +#: ../src/live_effects/lpe-boolops.cpp:24 +#, fuzzy +msgid "Intersect" +msgstr "Część wspólna" -#: ../src/pen-context.cpp:1177 -#, fuzzy, c-format -msgid "" -"Curve segment: angle %3.2f°, distance %s; with Ctrl to " -"snap angle, Enter to finish the path" -msgstr "" -" kąt %3.2f°, odległość %s; z Ctrl przyciąganie do kąta, " -"Enter, aby zakończyć ścieżkę" +#: ../src/live_effects/lpe-boolops.cpp:25 +msgid "Subtract A-B" +msgstr "Odejmij A-B" -#: ../src/pen-context.cpp:1178 -#, fuzzy, c-format -msgid "" -"Line segment: angle %3.2f°, distance %s; with Ctrl to " -"snap angle, Enter to finish the path" -msgstr "" -" kąt %3.2f°, odległość %s; z Ctrl przyciąganie do kąta, " -"Enter, aby zakończyć ścieżkę" +#: ../src/live_effects/lpe-boolops.cpp:26 +msgid "Identity A" +msgstr "Tożsamość A" -#: ../src/pen-context.cpp:1196 -#, c-format -msgid "" -"Curve handle: angle %3.2f°, length %s; with Ctrl to snap " -"angle" -msgstr "" -"Uchwyt krzywej: kąt %3.2f°, odległość %s; z Ctrl - " -"przyciąganie do kąta." +#: ../src/live_effects/lpe-boolops.cpp:27 +msgid "Subtract B-A" +msgstr "Odejmij B-A" -#: ../src/pen-context.cpp:1218 -#, fuzzy, c-format -msgid "" -"Curve handle, symmetric: angle %3.2f°, length %s; with Ctrl to snap angle, with Shift to move this handle only" -msgstr "" -" kąt %3.2f°, długość %s; z Ctrl - przyciąganie do kąta, z " -"Shift - przesuwanie tylko tego uchwytu." +#: ../src/live_effects/lpe-boolops.cpp:28 +msgid "Identity B" +msgstr "Tożsamość B" -#: ../src/pen-context.cpp:1219 -#, fuzzy, c-format -msgid "" -"Curve handle: angle %3.2f°, length %s; with Ctrl to snap " -"angle, with Shift to move this handle only" -msgstr "" -" kąt %3.2f°, długość %s; z Ctrl - przyciąganie do kąta, z " -"Shift - przesuwanie tylko tego uchwytu." +#: ../src/live_effects/lpe-boolops.cpp:29 +#: ../src/splivarot.cpp:96 +msgid "Exclusion" +msgstr "Wykluczenie" -#: ../src/pen-context.cpp:1259 -msgid "Drawing finished" -msgstr "Zakończono rysowanie" +#: ../src/live_effects/lpe-boolops.cpp:30 +#: ../src/splivarot.cpp:66 +#: ../src/splivarot.cpp:72 +msgid "Union" +msgstr "Suma" -#: ../src/persp3d.cpp:335 -msgid "Toggle vanishing point" -msgstr "Przełącz punkty zbiegu" +#: ../src/live_effects/lpe-boolops.cpp:36 +msgid "2nd path" +msgstr "Druga ścieżka" -#: ../src/persp3d.cpp:346 -msgid "Toggle multiple vanishing points" -msgstr "Przełącz wiele punktów zbiegu" +#: ../src/live_effects/lpe-boolops.cpp:36 +#, fuzzy +msgid "Path to which the original path will be boolop'ed." +msgstr "Ścieżka wzdłuż, której nastąpi zagięcie oryginalnej ścieżki" -#: ../src/preferences.cpp:59 -#, c-format -msgid "" -"%s is not a valid preferences file.\n" -"%s" +#: ../src/live_effects/lpe-boolops.cpp:37 +msgid "Boolop type" msgstr "" -"%s nie jest poprawnym plikiem ustawień.\n" -"%s" -#: ../src/preferences.cpp:60 -msgid "" -"Inkscape will run with default settings.\n" -"New settings will not be saved." +#: ../src/live_effects/lpe-boolops.cpp:37 +msgid "Determines which kind of boolop will be performed." msgstr "" -"Inkscape zostanie uruchomiony z domyślnymi ustawieniami.\n" -"Nowe ustawienia nie zostaną zapisane." -#: ../src/rect-context.cpp:382 -msgid "" -"Ctrl: make square or integer-ratio rect, lock a rounded corner " -"circular" -msgstr "Ctrl - tworzy kwadrat, lub prostokąt o równych proporcjach, " +#: ../src/live_effects/lpe-constructgrid.cpp:28 +msgid "Size X" +msgstr "Wielkość X" -#: ../src/rect-context.cpp:536 -#, c-format -msgid "" -"Rectangle: %s × %s (constrained to ratio %d:%d); with Shift to draw around the starting point" -msgstr "" -"Prostokąt: %s × %s (o proporcjach %d:%d). Z Shift - " -"rysowanie wokół punktu początkowego." +#: ../src/live_effects/lpe-constructgrid.cpp:28 +msgid "The size of the grid in X direction." +msgstr "Rozwiar siatki w orientacji X" -#: ../src/rect-context.cpp:539 -#, c-format -msgid "" -"Rectangle: %s × %s (constrained to golden ratio 1.618 : 1); with " -"Shift to draw around the starting point" -msgstr "" -"Prostokąt: %s × %s; (o ustalonej złotej proporcji 1.618 : 1). Z " -"Shift - rysowanie wokół punktu początkowego." +#: ../src/live_effects/lpe-constructgrid.cpp:29 +msgid "Size Y" +msgstr "Rozmiar Y" -#: ../src/rect-context.cpp:541 -#, c-format -msgid "" -"Rectangle: %s × %s (constrained to golden ratio 1 : 1.618); with " -"Shift to draw around the starting point" -msgstr "" -"Prostokąt: %s × %s; (o ustalonej złotej proporcji 1.618 : 1). Z " -"Shift - rysowanie wokół punktu początkowego." +#: ../src/live_effects/lpe-constructgrid.cpp:29 +msgid "The size of the grid in Y direction." +msgstr "Rozmiar siatki w orientacji Y" -#: ../src/rect-context.cpp:545 -#, c-format -msgid "" -"Rectangle: %s × %s; with Ctrl to make square or integer-" -"ratio rectangle; with Shift to draw around the starting point" -msgstr "" -"Prostokąt: %s × %s; z Ctrl - rysowanie kwadratu lub " -"prostokąta o równych proporcjach, z Shift - rysowanie wokół punktu " -"początkowego." +#: ../src/live_effects/lpe-copy_rotate.cpp:47 +msgid "Angle of the first copy" +msgstr "Kąt pierwszej kopii" -#: ../src/rect-context.cpp:566 -msgid "Create rectangle" -msgstr "Utwórz prostokąt" +#: ../src/live_effects/lpe-copy_rotate.cpp:47 +msgid "Starting" +msgstr "Początek" -#: ../src/select-context.cpp:230 -msgid "Move canceled." -msgstr "Przesunięcie anulowane" +#: ../src/live_effects/lpe-copy_rotate.cpp:48 +msgid "Angle between two successive copies" +msgstr "Kąt pomiędzy dwoma sąsiadującymi kopiami" -#: ../src/select-context.cpp:238 -msgid "Selection canceled." -msgstr "Zaznaczanie anulowane" +#: ../src/live_effects/lpe-copy_rotate.cpp:48 +msgid "Rotation angle" +msgstr "Kąt obrotu" -#: ../src/select-context.cpp:545 -msgid "" -"Draw over objects to select them; release Alt to switch to " -"rubberband selection" -msgstr "" -"Wykonaj ciągnięcie ponad obiektami, aby je zaznaczyć. Naciśnij " -"Alt, aby przełączyć do zaznaczania elastycznego." +#: ../src/live_effects/lpe-copy_rotate.cpp:49 +msgid "Number of copies" +msgstr "Liczba kopii" -#: ../src/select-context.cpp:547 -msgid "" -"Drag around objects to select them; press Alt to switch to " -"touch selection" -msgstr "" -"Wykonaj ciągnięcie wokół obiektów, aby je zaznaczyć. Naciśnij Alt, aby przełączyć do zaznaczania dotykowego." +#: ../src/live_effects/lpe-copy_rotate.cpp:49 +msgid "Number of copies of the original path" +msgstr "Liczba kopii orginalnej ścieżki" -#: ../src/select-context.cpp:707 -msgid "Ctrl: click to select in groups; drag to move hor/vert" -msgstr "" -"Ctrl + kliknięcie, aby zaznaczyć wewnątrz grupy, ciągnięcie, aby " -"przesunąć w poziomie/pionie" +#: ../src/live_effects/lpe-copy_rotate.cpp:50 +#, fuzzy +msgid "Origin" +msgstr "Punkt początkowy X:" -#: ../src/select-context.cpp:708 -msgid "Shift: click to toggle select; drag for rubberband selection" -msgstr "" -"Shift + kliknięcie, aby przełączyć zaznaczenie, ciągnięcie, aby " -"elastycznie zaznaczyć" +#: ../src/live_effects/lpe-copy_rotate.cpp:50 +#, fuzzy +msgid "Origin of the rotation" +msgstr "Orientacja" -#: ../src/select-context.cpp:709 -msgid "" -"Alt: click to select under; drag to move selected or select by touch" -msgstr "" -"Alt + kliknięcie, aby zaznaczyć zasłonięty obiekt, ciągnięcie, aby " -"przesunąć zaznaczenie lub zaznaczyć przez dotknięcie" +#: ../src/live_effects/lpe-copy_rotate.cpp:61 +msgid "Adjust the starting angle" +msgstr "Dostosuj kąt początkowy" -#: ../src/select-context.cpp:880 -msgid "Selected object is not a group. Cannot enter." -msgstr "Zaznaczony obiekt nie jest grupą. Nie można do niego wejść." +#: ../src/live_effects/lpe-copy_rotate.cpp:62 +msgid "Adjust the rotation angle" +msgstr "Dostosuj kąt obrotu" -#: ../src/selection-chemistry.cpp:194 -msgid "Delete text" -msgstr "Usuń tekst" +#: ../src/live_effects/lpe-curvestitch.cpp:42 +#, fuzzy +msgid "Stitch path" +msgstr "Zszywanie ścieżek podrzędnych" -#: ../src/selection-chemistry.cpp:202 -msgid "Nothing was deleted." -msgstr "Nic nie usunięto" +#: ../src/live_effects/lpe-curvestitch.cpp:42 +msgid "The path that will be used as stitch." +msgstr "Ścieżka, która będzie użyta jako zszywacz" -#: ../src/selection-chemistry.cpp:220 ../src/text-context.cpp:995 -#: ../src/widgets/toolbox.cpp:1090 ../src/widgets/toolbox.cpp:4335 -msgid "Delete" -msgstr "Usuń" +#: ../src/live_effects/lpe-curvestitch.cpp:43 +msgid "Number of paths" +msgstr "Liczba ścieżek" -#: ../src/selection-chemistry.cpp:235 -msgid "Select object(s) to duplicate." -msgstr "Zaznacz obiekty do powielenia" +#: ../src/live_effects/lpe-curvestitch.cpp:43 +msgid "The number of paths that will be generated." +msgstr "Liczba ścieżek jaka zostanie wygenerowana" -#: ../src/selection-chemistry.cpp:285 -msgid "Delete all" -msgstr "Usuń wszystko" +#: ../src/live_effects/lpe-curvestitch.cpp:44 +msgid "Start edge variance" +msgstr "Krawędź początkowa wariancji" -#: ../src/selection-chemistry.cpp:409 -msgid "Select some objects to group." -msgstr "Zaznacz kilka obiektów, aby połączyć je w grupę" +#: ../src/live_effects/lpe-curvestitch.cpp:44 +msgid "The amount of random jitter to move the start points of the stitches inside & outside the guide path" +msgstr "Ilość losowo zmieniających się wahnięć, aby przesunąć punkty początkowe zszywaczy do wewnątrz i na zewnątrz ścieżki prowadnicy" -#: ../src/selection-chemistry.cpp:482 ../src/selection-describer.cpp:51 -msgid "Group" -msgstr "Grupa" +#: ../src/live_effects/lpe-curvestitch.cpp:45 +msgid "Start spacing variance" +msgstr "Początek odstępu wariancji" -#: ../src/selection-chemistry.cpp:497 -msgid "Select a group to ungroup." -msgstr "Zaznacz grupę do rozdzielenia" +#: ../src/live_effects/lpe-curvestitch.cpp:45 +msgid "The amount of random shifting to move the start points of the stitches back & forth along the guide path" +msgstr "Ilość losowo zmieniających się przesunięć, aby przesunąć punkty początkowe zszywaczy do przodu i do tyłu wzdłuż ścieżki prowadnicy" -#: ../src/selection-chemistry.cpp:538 -msgid "No groups to ungroup in the selection." -msgstr "W zaznaczeniu brak grup do rozdzielenia" +#: ../src/live_effects/lpe-curvestitch.cpp:46 +msgid "End edge variance" +msgstr "Krawędź końcowa wariancji" -#: ../src/selection-chemistry.cpp:544 ../src/sp-item-group.cpp:488 -msgid "Ungroup" -msgstr "Rozdziel grupę" +#: ../src/live_effects/lpe-curvestitch.cpp:46 +msgid "The amount of randomness that moves the end points of the stitches inside & outside the guide path" +msgstr "Ilość przypadków, które przesuwają punkty końcowe zszywaczy do wewnątrz i na zewnątrz ścieżki prowadnicy" -#: ../src/selection-chemistry.cpp:605 -msgid "Select object(s) to raise." -msgstr "Zaznacz obiekt(y) do przeniesienia wyżej" +#: ../src/live_effects/lpe-curvestitch.cpp:47 +msgid "End spacing variance" +msgstr "Koniec odstępu wariancji" -#: ../src/selection-chemistry.cpp:611 ../src/selection-chemistry.cpp:672 -#: ../src/selection-chemistry.cpp:707 ../src/selection-chemistry.cpp:772 -msgid "" -"You cannot raise/lower objects from different groups or layers." -msgstr "" -"Nie można przenieść wyżej/niżej obiektów należących do różnych grup " -"lub warstw" +#: ../src/live_effects/lpe-curvestitch.cpp:47 +msgid "The amount of random shifting to move the end points of the stitches back & forth along the guide path" +msgstr "Ilość losowo zmieniających się przesunięć, aby przesunąć punkty końcowe zszywaczy do przodu i do tyłu wzdłuż ścieżki prowadnicy" -#. TRANSLATORS: Only put the word "Raise" in the translation. Means "to raise an object" in the undo history -#: ../src/selection-chemistry.cpp:651 -msgid "undo_action|Raise" -msgstr "Podwyższenie" +#: ../src/live_effects/lpe-curvestitch.cpp:48 +#, fuzzy +msgid "Scale the width of the stitch path" +msgstr "Skala szerokości ścieżki konturu" -#: ../src/selection-chemistry.cpp:664 -msgid "Select object(s) to raise to top." -msgstr "Zaznacz obiekt(y) do przeniesienia na wierzch" +#: ../src/live_effects/lpe-curvestitch.cpp:48 +msgid "Scale width" +msgstr "Skala szerokości" -#: ../src/selection-chemistry.cpp:687 -msgid "Raise to top" -msgstr "Przenieś na wierzch" +#: ../src/live_effects/lpe-curvestitch.cpp:49 +msgid "Scale the width of the stitch path relative to its length" +msgstr "Skaluje szerokość ścieżki zszywania relatywnie do długości" -#: ../src/selection-chemistry.cpp:701 -msgid "Select object(s) to lower." -msgstr "Zaznacz obiekt(y) do przeniesienia niżej" +#: ../src/live_effects/lpe-curvestitch.cpp:49 +msgid "Scale width relative to length" +msgstr "Skaluj szerokość relatywnie do długości" -#: ../src/selection-chemistry.cpp:751 -msgid "Lower" -msgstr "Przesuń niżej" +#: ../src/live_effects/lpe-envelope.cpp:33 +msgid "Top bend path" +msgstr "Górna ścieżka zagięcia" -#: ../src/selection-chemistry.cpp:764 -msgid "Select object(s) to lower to bottom." -msgstr "Zaznacz obiekt(y) do przeniesienia na spód" +#: ../src/live_effects/lpe-envelope.cpp:33 +msgid "Top path along which to bend the original path" +msgstr "Górna ścieżka wzdłuż, której nastąpi zagięcie oryginalnej ścieżki" -#: ../src/selection-chemistry.cpp:799 -msgid "Lower to bottom" -msgstr "Przenieś na spód" +#: ../src/live_effects/lpe-envelope.cpp:34 +msgid "Right bend path" +msgstr "Prawa ścieżka zagięcia" -#: ../src/selection-chemistry.cpp:806 -msgid "Nothing to undo." -msgstr "Brak zmian do cofnięcia" +#: ../src/live_effects/lpe-envelope.cpp:34 +msgid "Right path along which to bend the original path" +msgstr "Prawa ścieżka wzdłuż, której nastąpi zagięcie oryginalnej ścieżki" -#: ../src/selection-chemistry.cpp:813 -msgid "Nothing to redo." -msgstr "Brak zmian do przywrócenia" +#: ../src/live_effects/lpe-envelope.cpp:35 +msgid "Bottom bend path" +msgstr "Dolna ścieżka zagięcia" -#: ../src/selection-chemistry.cpp:873 -msgid "Paste" -msgstr "Wklej" +#: ../src/live_effects/lpe-envelope.cpp:35 +msgid "Bottom path along which to bend the original path" +msgstr "Dolna ścieżka wzdłuż, której nastąpi zagięcie oryginalnej ścieżki" -#: ../src/selection-chemistry.cpp:880 -msgid "Paste style" -msgstr "Wklej styl" +#: ../src/live_effects/lpe-envelope.cpp:36 +msgid "Left bend path" +msgstr "Lewa ścieżka zagięcia" -#: ../src/selection-chemistry.cpp:889 -msgid "Paste live path effect" -msgstr "Wklej efekt żywej ścieżki" +#: ../src/live_effects/lpe-envelope.cpp:36 +msgid "Left path along which to bend the original path" +msgstr "Lewa ścieżka wzdłuż, której nastąpi zagięcie oryginalnej ścieżki" -#: ../src/selection-chemistry.cpp:909 -msgid "Select object(s) to remove live path effects from." -msgstr "Zaznacz obiekt(y) z których usunąć efekt żywej ścieżki" +#: ../src/live_effects/lpe-envelope.cpp:37 +msgid "Enable left & right paths" +msgstr "Włącz lewą i prawą ścieżkę" -#: ../src/selection-chemistry.cpp:921 -msgid "Remove live path effect" -msgstr "Usuń efekt żywej ścieżki" +#: ../src/live_effects/lpe-envelope.cpp:37 +msgid "Enable the left and right deformation paths" +msgstr "Włącz deformację prawej i lewej ścieżki" + +#: ../src/live_effects/lpe-envelope.cpp:38 +msgid "Enable the top and bottom deformation paths" +msgstr "Włącza deformację górnej i dolnej ścieżki" + +#: ../src/live_effects/lpe-envelope.cpp:38 +msgid "Enable top & bottom paths" +msgstr "Włącz górną i dolną ścieżkę" -#: ../src/selection-chemistry.cpp:933 -#, fuzzy -msgid "Select object(s) to remove filters from." -msgstr "Zaznacz tekst(y) do usunięcia kerningu ręcznego" +#: ../src/live_effects/lpe-gears.cpp:212 +msgid "Teeth" +msgstr "Zęby" -#: ../src/selection-chemistry.cpp:943 -#: ../src/ui/dialog/filter-effects-dialog.cpp:1363 -msgid "Remove filter" -msgstr "Usuń filtr" +#: ../src/live_effects/lpe-gears.cpp:212 +msgid "The number of teeth" +msgstr "Liczba zębów w kole" -#: ../src/selection-chemistry.cpp:952 -msgid "Paste size" -msgstr "Wklej rozmiar" +#: ../src/live_effects/lpe-gears.cpp:213 +msgid "Phi" +msgstr "Podziałka zęba (px)" -#: ../src/selection-chemistry.cpp:960 -msgid "Paste size separately" -msgstr "Wklej rozmiar oddzielnie" +#: ../src/live_effects/lpe-gears.cpp:213 +msgid "Tooth pressure angle (typically 20-25 deg). The ratio of teeth not in contact." +msgstr "Kąt przyporu zęba (zazwyczaj 20-25 stopni). Część zęba, która nie ma kontaktu." -#: ../src/selection-chemistry.cpp:971 -msgid "Select object(s) to move to the layer above." -msgstr "Wybierz obiekt(y) do przeniesienia na wyższą warstwę" +#: ../src/live_effects/lpe-interpolate.cpp:30 +msgid "Path along which intermediate steps are created." +msgstr "Ścieżka wzdłuż, której są tworzone kroki pośrednie" -#: ../src/selection-chemistry.cpp:996 -msgid "Raise to next layer" -msgstr "Przenieś na wyższą warstwę" +#: ../src/live_effects/lpe-interpolate.cpp:30 +msgid "Trajectory" +msgstr "Trajektoria" -#: ../src/selection-chemistry.cpp:1002 -msgid "No more layers above." -msgstr "Brak wyższych warstw" +#: ../src/live_effects/lpe-interpolate.cpp:31 +msgid "Determines the number of steps from start to end path." +msgstr "Określa liczbę kroków od początku do końca ścieżki" -#: ../src/selection-chemistry.cpp:1016 -msgid "Select object(s) to move to the layer below." -msgstr "Wybierz obiekt(y) do przeniesienia na niższą warstwę" +#: ../src/live_effects/lpe-interpolate.cpp:31 +#: ../src/ui/dialog/inkscape-preferences.cpp:202 +msgid "Steps" +msgstr "Postęp" -#: ../src/selection-chemistry.cpp:1041 -msgid "Lower to previous layer" -msgstr "Przenieś na niższą warstwę" +#: ../src/live_effects/lpe-interpolate.cpp:32 +msgid "Equidistant spacing" +msgstr "Odstępy równoległe" -#: ../src/selection-chemistry.cpp:1047 -msgid "No more layers below." -msgstr "Brak niższych warstw" +#: ../src/live_effects/lpe-interpolate.cpp:32 +msgid "If true, the spacing between intermediates is constant along the length of the path. If false, the distance depends on the location of the nodes of the trajectory path." +msgstr "" -#: ../src/selection-chemistry.cpp:1234 -msgid "Remove transform" -msgstr "Usuń przekształcenie" +#. initialise your parameters here: +#: ../src/live_effects/lpe-knot.cpp:327 +msgid "Gap width" +msgstr "Szerokość odstępu" -#: ../src/selection-chemistry.cpp:1343 -msgid "Rotate 90° CW" -msgstr "Obróć o 90° w prawo" +#: ../src/live_effects/lpe-knot.cpp:327 +#, fuzzy +msgid "The width of the gap in the path where it self-intersects" +msgstr "Skaluje szerokość ścieżki zszywania relatywnie do długości" -#: ../src/selection-chemistry.cpp:1367 -msgid "Rotate 90° CCW" -msgstr "Obróć o 90° w lewo" +#: ../src/live_effects/lpe-knot.cpp:328 +msgid "Orientation indicator/switcher size" +msgstr "Wskaźnik orientacji/przełącznik rozmiaru" -#: ../src/selection-chemistry.cpp:1388 ../src/seltrans.cpp:457 -#: ../src/ui/dialog/transformation.cpp:757 -msgid "Rotate" -msgstr "Obróć" +#: ../src/live_effects/lpe-knot.cpp:328 +#, fuzzy +msgid "Switcher size" +msgstr "Styl przełącznika" -#: ../src/selection-chemistry.cpp:1420 -msgid "Rotate by pixels" -msgstr "Obróć wg pikseli" +#: ../src/live_effects/lpe-knot.cpp:329 +msgid "Crossing Signs" +msgstr "" -#: ../src/selection-chemistry.cpp:1475 -msgid "Scale by whole factor" -msgstr "Skaluj przez cały faktor" +#: ../src/live_effects/lpe-knot.cpp:329 +msgid "Crossings signs" +msgstr "" -#: ../src/selection-chemistry.cpp:1491 -msgid "Move vertically" -msgstr "Przesuń w pionie" +#: ../src/live_effects/lpe-knot.cpp:336 +msgid "Drag to select a crossing, click to flip it" +msgstr "" -#: ../src/selection-chemistry.cpp:1494 -msgid "Move horizontally" -msgstr "Przesuń w poziomie" +#. initialise your parameters here: +#: ../src/live_effects/lpe-lattice.cpp:47 +msgid "Control handle 0" +msgstr "Uchwyt kontrolny 0" -#: ../src/selection-chemistry.cpp:1497 ../src/selection-chemistry.cpp:1525 -#: ../src/seltrans.cpp:451 ../src/ui/dialog/transformation.cpp:680 -msgid "Move" -msgstr "Przesuń" +#: ../src/live_effects/lpe-lattice.cpp:48 +msgid "Control handle 1" +msgstr "Uchwyt kontrolny 1" -#: ../src/selection-chemistry.cpp:1519 -msgid "Move vertically by pixels" -msgstr "Przesuwa w pionie o zadaną wartość podaną w pikselach" +#: ../src/live_effects/lpe-lattice.cpp:49 +msgid "Control handle 2" +msgstr "Uchwyt kontrolny 2" -#: ../src/selection-chemistry.cpp:1522 -msgid "Move horizontally by pixels" -msgstr "Przesuwa w poziomie o zadaną wartość podaną w pikselach" +#: ../src/live_effects/lpe-lattice.cpp:50 +msgid "Control handle 3" +msgstr "Uchwyt kontrolny 3" -#: ../src/selection-chemistry.cpp:1650 -msgid "The selection has no applied path effect." -msgstr "Zaznaczenie nie zaakceptowało efektu ścieżki" +#: ../src/live_effects/lpe-lattice.cpp:51 +msgid "Control handle 4" +msgstr "Uchwyt kontrolny 4" -#: ../src/selection-chemistry.cpp:1694 -msgid "The selection has no applied clip path." -msgstr "Zaznaczenie nie zaakceptowało przycięcia ścieżki" +#: ../src/live_effects/lpe-lattice.cpp:52 +msgid "Control handle 5" +msgstr "Uchwyt kontrolny 5" -#: ../src/selection-chemistry.cpp:1696 -msgid "The selection has no applied mask." -msgstr "Zaznaczenie nie zaakceptowało maski" +#: ../src/live_effects/lpe-lattice.cpp:53 +msgid "Control handle 6" +msgstr "Uchwyt kontrolny 6" -#: ../src/selection-chemistry.cpp:1854 -msgid "action|Clone" -msgstr "Klonuj" +#: ../src/live_effects/lpe-lattice.cpp:54 +msgid "Control handle 7" +msgstr "Uchwyt kontrolny 7" -#: ../src/selection-chemistry.cpp:1871 -msgid "Select a clone to unlink." -msgstr "Wybierz klon do odłączenia" +#: ../src/live_effects/lpe-lattice.cpp:55 +msgid "Control handle 8" +msgstr "Uchwyt kontrolny 8" -#: ../src/selection-chemistry.cpp:1920 -msgid "No clones to unlink in the selection." -msgstr "W zaznaczeniu brak klonów do odłączenia" +#: ../src/live_effects/lpe-lattice.cpp:56 +msgid "Control handle 9" +msgstr "Uchwyt kontrolny 9" -#: ../src/selection-chemistry.cpp:1924 -msgid "Unlink clone" -msgstr "Odłącz klon" +#: ../src/live_effects/lpe-lattice.cpp:57 +msgid "Control handle 10" +msgstr "Uchwyt kontrolny 10" -#: ../src/selection-chemistry.cpp:1938 -msgid "" -"Select a clone to go to its original. Select a linked offset " -"to go to its source. Select a text on path to go to the path. Select " -"a flowed text to go to its frame." -msgstr "" -"Zaznacz klon, aby przejść do oryginału. Zaznacz połączone " -"odsunięcie, aby przejść do jego źródła. Zaznacz tekst na ścieżce, " -"aby przejść do ścieżki. Zaznacz dopasowany tekst, aby przejść do jego " -"ramki." +#: ../src/live_effects/lpe-lattice.cpp:58 +msgid "Control handle 11" +msgstr "Uchwyt kontrolny 11" -#: ../src/selection-chemistry.cpp:1961 -msgid "" -"Cannot find the object to select (orphaned clone, offset, textpath, " -"flowed text?)" -msgstr "" -"Nie można odnaleźć obiektu do zaznaczenia (osierocony klon, " -"odsunięcie, tekst na ścieżce, tekst opływający?)" +#: ../src/live_effects/lpe-lattice.cpp:59 +msgid "Control handle 12" +msgstr "Uchwyt kontrolny 12" -#: ../src/selection-chemistry.cpp:1967 -msgid "" -"The object you're trying to select is not visible (it is in <" -"defs>)" -msgstr "" -"Obiekt, który próbujesz zaznaczyć jest niewidoczny (jest on w <" -"defs>)" +#: ../src/live_effects/lpe-lattice.cpp:60 +msgid "Control handle 13" +msgstr "Uchwyt kontrolny 13" -#: ../src/selection-chemistry.cpp:1995 -msgid "Select object(s) to convert to marker." -msgstr "Zaznacz obiekt(y) do zamiany na znacznik" +#: ../src/live_effects/lpe-lattice.cpp:61 +msgid "Control handle 14" +msgstr "Uchwyt kontrolny 14" -#: ../src/selection-chemistry.cpp:2061 -msgid "Objects to marker" -msgstr "Obiekty na znacznik" +#: ../src/live_effects/lpe-lattice.cpp:62 +msgid "Control handle 15" +msgstr "Uchwyt kontrolny 15" -#: ../src/selection-chemistry.cpp:2090 -msgid "Select object(s) to convert to guides." -msgstr "Zaznacz obiekt(y) do zamiany na prowadnice" +#: ../src/live_effects/lpe-line_segment.cpp:27 +#: ../src/widgets/toolbox.cpp:5051 +msgid "Closed" +msgstr "Zamknięty" -#: ../src/selection-chemistry.cpp:2101 -msgid "Objects to guides" -msgstr "Obiekty na prowadnice" +#: ../src/live_effects/lpe-line_segment.cpp:28 +#: ../src/widgets/toolbox.cpp:5053 +#, fuzzy +msgid "Open start" +msgstr "Łuk otwarty" -#: ../src/selection-chemistry.cpp:2118 -msgid "Select object(s) to convert to pattern." -msgstr "Zaznacz obiekt(y) do zamiany na deseń" +#: ../src/live_effects/lpe-line_segment.cpp:29 +#: ../src/widgets/toolbox.cpp:5055 +#, fuzzy +msgid "Open end" +msgstr "Otwórz o_statnio używane" -#: ../src/selection-chemistry.cpp:2205 -msgid "Objects to pattern" -msgstr "Obiekty na deseń" +#: ../src/live_effects/lpe-line_segment.cpp:30 +#: ../src/widgets/toolbox.cpp:5057 +msgid "Open both" +msgstr "Otwórz obydwa" -#: ../src/selection-chemistry.cpp:2222 -msgid "Select an object with pattern fill to extract objects from." +#: ../src/live_effects/lpe-line_segment.cpp:36 +msgid "Determines on which side the line or line segment is infinite." msgstr "" -"Zaznacz obiekt z wypełnieniem deseniem, z którego wyodrębnione " -"zostaną obiekty" - -#: ../src/selection-chemistry.cpp:2275 -msgid "No pattern fills in the selection." -msgstr "W zaznaczeniu brak deseni wypełnienia" -#: ../src/selection-chemistry.cpp:2278 -msgid "Pattern to objects" -msgstr "Deseń na obiekty" +#: ../src/live_effects/lpe-line_segment.cpp:36 +#, fuzzy +msgid "End type" +msgstr " typ: " -#: ../src/selection-chemistry.cpp:2364 -msgid "Select object(s) to make a bitmap copy." -msgstr "Zaznacz obiekt(y) do skopiowania jako bitmapa" +#: ../src/live_effects/lpe-mirror_symmetry.cpp:30 +msgid "Check this to only keep the mirrored part of the path" +msgstr "" -#: ../src/selection-chemistry.cpp:2368 -#, fuzzy -msgid "Rendering bitmap..." -msgstr "Odwracanie ścieżek..." +#: ../src/live_effects/lpe-mirror_symmetry.cpp:30 +msgid "Discard original path?" +msgstr "Odrzucić oryginalną ścieżkę?" -#: ../src/selection-chemistry.cpp:2530 -msgid "Create bitmap" -msgstr "Utwórz bitmapę" +#: ../src/live_effects/lpe-mirror_symmetry.cpp:31 +msgid "Line which serves as 'mirror' for the reflection" +msgstr "" -#: ../src/selection-chemistry.cpp:2563 -msgid "Select object(s) to create clippath or mask from." -msgstr "Zaznacz obiekt(y) do utworzenia ścieżki przycinania lub maski" +#: ../src/live_effects/lpe-mirror_symmetry.cpp:31 +msgid "Reflection line" +msgstr "Linia odbicia" -#: ../src/selection-chemistry.cpp:2566 -msgid "Select mask object and object(s) to apply clippath or mask to." +#: ../src/live_effects/lpe-offset.cpp:30 +msgid "Handle to control the distance of the offset from the curve" msgstr "" -"Zaznacz obiekt maskujący i obiekt(y), dla których zastosować ścieżkę " -"przycinania lub maskę" -#: ../src/selection-chemistry.cpp:2672 -msgid "Set clipping path" -msgstr "Określ ścieżkę przycinania" +#: ../src/live_effects/lpe-parallel.cpp:46 +msgid "Adjust the offset" +msgstr "Ustaw odsunięcie" -#: ../src/selection-chemistry.cpp:2674 -msgid "Set mask" -msgstr "Określ maskę" +#: ../src/live_effects/lpe-parallel.cpp:47 +msgid "Specifies the left end of the parallel" +msgstr "Definiuje lewy koniec równoległej" -#: ../src/selection-chemistry.cpp:2688 -msgid "Select object(s) to remove clippath or mask from." -msgstr "Zaznacz obiekt(y) do usunięcia ścieżki przycinania lub maski" +#: ../src/live_effects/lpe-parallel.cpp:48 +msgid "Specifies the right end of the parallel" +msgstr "Definiuje prawy koniec równoległej" -#: ../src/selection-chemistry.cpp:2756 -msgid "Release clipping path" -msgstr "Zdejmij ścieżkę przycinania" +#: ../src/live_effects/lpe-parallel.cpp:56 +msgid "Adjust the \"left\" end of the parallel" +msgstr "Dostosuj \"lewy\" koniec równoległej" -#: ../src/selection-chemistry.cpp:2758 -msgid "Release mask" -msgstr "Zdejmij maskę" +#: ../src/live_effects/lpe-parallel.cpp:57 +msgid "Adjust the \"right\" end of the parallel" +msgstr "Dostosuj \"prawy\" koniec równoległej" -#: ../src/selection-chemistry.cpp:2769 -msgid "Select object(s) to fit canvas to." -msgstr "Zaznacz obiekt(y) do wypełnienia obszaru roboczego" +#: ../src/live_effects/lpe-path_length.cpp:25 +#: ../src/live_effects/lpe-sketch.cpp:54 +#: ../src/selection-chemistry.cpp:1478 +#: ../src/seltrans.cpp:449 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2240 +#: ../src/ui/dialog/transformation.cpp:736 +msgid "Scale" +msgstr "Skaluj" -#: ../src/selection-chemistry.cpp:2803 -msgid "Fit page to selection" -msgstr "Dopasuj stronę do ramki zaznaczenia" +#: ../src/live_effects/lpe-path_length.cpp:25 +msgid "Scaling factor" +msgstr "Współczynnik skalowania" -#. TRANSLATORS: only translate and put "Link" in the translation. It means internet link (anchor) -#: ../src/selection-describer.cpp:43 -msgid "web|Link" -msgstr "Odnośnik" +#: ../src/live_effects/lpe-path_length.cpp:28 +#, fuzzy +msgid "Display unit" +msgstr "Dostrajanie monitora" -#: ../src/selection-describer.cpp:45 -msgid "Circle" -msgstr "Okrąg" +#: ../src/live_effects/lpe-path_length.cpp:28 +#, fuzzy +msgid "Print unit after path length" +msgstr "Szerokość w jednostkach długości" -#. ellipse -#: ../src/selection-describer.cpp:47 ../src/selection-describer.cpp:73 -#: ../src/ui/dialog/inkscape-preferences.cpp:424 ../src/verbs.cpp:2425 -msgid "Ellipse" -msgstr "Elipsa" +#: ../src/live_effects/lpe-patternalongpath.cpp:61 +msgid "Path to put along the skeleton path" +msgstr "Scieżka do nałożenia wzdłuż szkieletu ścieżki" -#: ../src/selection-describer.cpp:49 -msgid "Flowed text" -msgstr "Tekst opływający" +#: ../src/live_effects/lpe-patternalongpath.cpp:61 +msgid "Pattern source" +msgstr "Źródło desenia" -#: ../src/selection-describer.cpp:55 -msgid "Line" -msgstr "Linia" +#: ../src/live_effects/lpe-patternalongpath.cpp:62 +msgid "How many pattern copies to place along the skeleton path" +msgstr "Ilość kopii desenia do umieszczenia wzdłuż szkieletu ścieżki" -#: ../src/selection-describer.cpp:57 -msgid "Path" -msgstr "Ścieżka" +#: ../src/live_effects/lpe-patternalongpath.cpp:62 +msgid "Pattern copies" +msgstr "Kopie desenia" -#: ../src/selection-describer.cpp:59 ../src/widgets/toolbox.cpp:2028 -msgid "Polygon" -msgstr "Wielokąt" +#: ../src/live_effects/lpe-patternalongpath.cpp:63 +msgid "Width of the pattern" +msgstr "Szerokość desenia" -#: ../src/selection-describer.cpp:61 -msgid "Polyline" -msgstr "Linia łamana" +#: ../src/live_effects/lpe-patternalongpath.cpp:64 +msgid "Scale the width of the pattern in units of its length" +msgstr "Skaluje szerokość desenia w jednostkach jego długości" -#. Rectangle -#: ../src/selection-describer.cpp:63 -#: ../src/ui/dialog/inkscape-preferences.cpp:414 ../src/verbs.cpp:2421 -msgid "Rectangle" -msgstr "Prostokąt" +#: ../src/live_effects/lpe-patternalongpath.cpp:65 +#, fuzzy, c-format +msgid "Space between copies of the pattern. Negative values allowed, but are limited to -90% of pattern width." +msgstr "Odstęp pomiedzy kopiami wzorca. Dozwolone są wartości ujemne, ale tylko do wartości -90% szerokości wzorca." -#. 3D box -#: ../src/selection-describer.cpp:65 -#: ../src/ui/dialog/inkscape-preferences.cpp:419 ../src/verbs.cpp:2423 -msgid "3D Box" -msgstr "Obiekt 3D" +#: ../src/live_effects/lpe-patternalongpath.cpp:65 +msgid "Spacing" +msgstr "Odstępy" -#: ../src/selection-describer.cpp:71 -msgid "object|Clone" -msgstr "Klon" +#: ../src/live_effects/lpe-patternalongpath.cpp:68 +#, fuzzy +msgid "Offsets in unit of pattern size" +msgstr "Obiekty na deseń" -#: ../src/selection-describer.cpp:75 -msgid "Offset path" -msgstr "Ścieżka odsunięta" +#: ../src/live_effects/lpe-patternalongpath.cpp:68 +msgid "Spacing, tangential and normal offset are expressed as a ratio of width/height" +msgstr "Odstęp, tangensowe i normalne odsunięcie wyrażane jako proporcja szerokości/wysokości" -#. spiral -#: ../src/selection-describer.cpp:77 -#: ../src/ui/dialog/inkscape-preferences.cpp:432 ../src/verbs.cpp:2429 -msgid "Spiral" -msgstr "Spirala" +#: ../src/live_effects/lpe-patternalongpath.cpp:69 +msgid "Rotate pattern 90 deg before applying" +msgstr "Przed zastosowaniem obróć deseń o 90°" -#. star -#: ../src/selection-describer.cpp:79 -#: ../src/ui/dialog/inkscape-preferences.cpp:428 ../src/verbs.cpp:2427 -#: ../src/widgets/toolbox.cpp:2035 -msgid "Star" -msgstr "Gwiazda" +#: ../src/live_effects/lpe-perp_bisector.cpp:113 +#, fuzzy +msgid "Adjust the bisector's \"left\" end" +msgstr "Definiuje kolor źródła światła" -#: ../src/selection-describer.cpp:107 -msgid "Click selection to toggle scale/rotation handles" -msgstr "" -"Kliknij na zaznaczenie, aby przełączać pomiędzy trybem skalowania/obracania " -"uchwytów" +#: ../src/live_effects/lpe-perp_bisector.cpp:114 +#, fuzzy +msgid "Adjust the bisector's \"right\" end" +msgstr "Pobranie jasności koloru" -#. no items -#: ../src/selection-describer.cpp:109 -msgid "" -"No objects selected. Click, Shift+click, or drag around objects to select." -msgstr "" -"Nie zaznaczono obiektów. Aby zaznaczyć obiekt należy kliknąć na nim, " -"nacisnąć Shift + kliknąć lub wykonać ciągnięcie wokół obiektów" +#: ../src/live_effects/lpe-perspective_path.cpp:52 +msgid "Scale factor in x direction" +msgstr "Wskażnik skalowania w orientacji X" -#: ../src/selection-describer.cpp:118 -msgid "root" -msgstr "warstwie głównej" +#. initialise your parameters here: +#: ../src/live_effects/lpe-perspective_path.cpp:52 +msgid "Scale x" +msgstr "Skala X" -#: ../src/selection-describer.cpp:130 -#, c-format -msgid "layer %s" -msgstr "warstwie %s" +#: ../src/live_effects/lpe-perspective_path.cpp:53 +msgid "Scale factor in y direction" +msgstr "Wskażnik skalowania w orientacji Y" -#: ../src/selection-describer.cpp:132 -#, c-format -msgid "layer %s" -msgstr "warstwie %s" +#: ../src/live_effects/lpe-perspective_path.cpp:53 +msgid "Scale y" +msgstr "Skala Y" -#: ../src/selection-describer.cpp:141 -#, c-format -msgid "%s" -msgstr "%s" +#: ../src/live_effects/lpe-perspective_path.cpp:54 +msgid "Offset in x direction" +msgstr "Przesunięcie w orientacji X" -#: ../src/selection-describer.cpp:150 -#, c-format -msgid " in %s" -msgstr " na %s" +#: ../src/live_effects/lpe-perspective_path.cpp:54 +msgid "Offset x" +msgstr "Przesunięcie X" -#: ../src/selection-describer.cpp:152 -#, c-format -msgid " in group %s (%s)" -msgstr " w grupie %s (%s)" +#: ../src/live_effects/lpe-perspective_path.cpp:55 +msgid "Offset in y direction" +msgstr "Przesunięcie w orientacji Y" -#: ../src/selection-describer.cpp:154 -#, c-format -msgid " in %i parents (%s)" -msgid_plural " in %i parents (%s)" -msgstr[0] " w %i nadrzędnych (%s)" -msgstr[1] " w %i nadrzędnych (%s)" -msgstr[2] " w %i nadrzędnych (%s)" +#: ../src/live_effects/lpe-perspective_path.cpp:55 +msgid "Offset y" +msgstr "Przesunięcie Y" -#: ../src/selection-describer.cpp:157 -#, c-format -msgid " in %i layers" -msgid_plural " in %i layers" -msgstr[0] " na %i warstwie" -msgstr[1] " na %i warstwach" -msgstr[2] " na %i warstwach" +#: ../src/live_effects/lpe-perspective_path.cpp:56 +msgid "If true, put the path on the left side of an imaginary box, otherwise on the right side" +msgstr "Jeśli tak, ułóży ścieżkę po lewej stronie wyimaginowanego pudełka, jeśłi nie - po prawej" -#: ../src/selection-describer.cpp:167 -msgid "Use Shift+D to look up original" -msgstr "Naciśnij Shift + D, aby odszukać oryginał" +#: ../src/live_effects/lpe-perspective_path.cpp:56 +msgid "Uses XY plane?" +msgstr "Używasz płaszczyzny XY?" -#: ../src/selection-describer.cpp:171 -msgid "Use Shift+D to look up path" -msgstr "Naciśnij Shift + D, aby odszukać ścieżkę" +#: ../src/live_effects/lpe-perspective_path.cpp:65 +#, fuzzy +msgid "Adjust the origin" +msgstr "Dostosuj barwę" -#: ../src/selection-describer.cpp:175 -msgid "Use Shift+D to look up frame" -msgstr "Naciśnij Shift + D, aby odszukać ramkę" +#: ../src/live_effects/lpe-ruler.cpp:29 +#: ../src/live_effects/lpe-ruler.cpp:37 +msgid "Both" +msgstr "Obydwa" -#. this is only used with 2 or more objects -#: ../src/selection-describer.cpp:190 -#, c-format -msgid "%i object selected" -msgid_plural "%i objects selected" -msgstr[0] "Zaznaczono %i obiekt" -msgstr[1] "Zaznaczono %i obiekty" -msgstr[2] "Zaznaczono %i obiektów" +#: ../src/live_effects/lpe-ruler.cpp:35 +#: ../src/widgets/toolbox.cpp:4710 +msgid "Start" +msgstr "Początek" -#. this is only used with 2 or more objects -#: ../src/selection-describer.cpp:195 -#, c-format -msgid "%i object of type %s" -msgid_plural "%i objects of type %s" -msgstr[0] "%i obiekt typu %s" -msgstr[1] "%i obiekty typu %s" -msgstr[2] "%i obiektów typu %s" +#: ../src/live_effects/lpe-ruler.cpp:36 +#: ../src/widgets/toolbox.cpp:4723 +msgid "End" +msgstr "Koniec" -#. this is only used with 2 or more objects -#: ../src/selection-describer.cpp:200 -#, c-format -msgid "%i object of types %s, %s" -msgid_plural "%i objects of types %s, %s" -msgstr[0] "%i obiekt typu %s, %s" -msgstr[1] "%i obiekty typu %s, %s" -msgstr[2] "%i obiektów typu %s, %s" +#: ../src/live_effects/lpe-ruler.cpp:43 +msgid "Distance between successive ruler marks" +msgstr "Odległość pomiędzy kolejnymi znakami linijki" -#. this is only used with 2 or more objects -#: ../src/selection-describer.cpp:205 -#, c-format -msgid "%i object of types %s, %s, %s" -msgid_plural "%i objects of types %s, %s, %s" -msgstr[0] "%i obiekt typu %s, %s, %s" -msgstr[1] "%i obiekty typu %s, %s, %s" -msgstr[2] "%i obiektów typu %s, %s, %s" +#: ../src/live_effects/lpe-ruler.cpp:43 +msgid "Mark distance" +msgstr "Określ odległość" -#. this is only used with 2 or more objects -#: ../src/selection-describer.cpp:210 -#, c-format -msgid "%i object of %i types" -msgid_plural "%i objects of %i types" -msgstr[0] "%i obiekt %i typów" -msgstr[1] "%i obiekty %i typów" -msgstr[2] "%i obiektów %i typów" +#: ../src/live_effects/lpe-ruler.cpp:44 +msgid "Length of major ruler marks" +msgstr "Długość głównych znaków linijki" -#: ../src/selection-describer.cpp:215 -#, c-format -msgid "%s%s. %s." -msgstr "%s%s. %s." +#: ../src/live_effects/lpe-ruler.cpp:44 +msgid "Major length" +msgstr "" -#: ../src/seltrans.cpp:460 ../src/ui/dialog/transformation.cpp:815 -msgid "Skew" -msgstr "Pochyl" +#: ../src/live_effects/lpe-ruler.cpp:45 +msgid "Length of minor ruler marks" +msgstr "Długość drugorzędnych znaków linijki" -#: ../src/seltrans.cpp:472 -msgid "Set center" -msgstr "Określ środek" +#: ../src/live_effects/lpe-ruler.cpp:45 +msgid "Minor length" +msgstr "" -#: ../src/seltrans.cpp:569 -msgid "" -"Center of rotation and skewing: drag to reposition; scaling with " -"Shift also uses this center" +#: ../src/live_effects/lpe-ruler.cpp:46 +msgid "Draw a major mark every ... steps" msgstr "" -"Środek obrotu i skręcenia. Ciągnij, aby przesunąć. Skalowanie z Shift " -"także wykorzystuje ten środek." -#: ../src/seltrans.cpp:596 -msgid "" -"Squeeze or stretch selection; with Ctrl to scale uniformly; " -"with Shift to scale around rotation center" +#: ../src/live_effects/lpe-ruler.cpp:46 +msgid "Major steps" msgstr "" -"Ścieśnij lub rozciągnij zaznaczenie; z Ctrl - skalowanie " -"proporcjonalne, z Shift - skalowanie od środka obrotu." -#: ../src/seltrans.cpp:597 -msgid "" -"Scale selection; with Ctrl to scale uniformly; with Shift to scale around rotation center" +#: ../src/live_effects/lpe-ruler.cpp:47 +msgid "Shift marks by" msgstr "" -"Skalowanie zaznaczenia; z Ctrl - skalowanie proporcjonalne, z " -"Shift - skalowanie od środka obrotu." -#: ../src/seltrans.cpp:601 -msgid "" -"Skew selection; with Ctrl to snap angle; with Shift to " -"skew around the opposite side" +#: ../src/live_effects/lpe-ruler.cpp:47 +msgid "Shift marks by this many steps" msgstr "" -"Pochylenie zaznaczenia; z Ctrl - przyciąganie do kąta, z " -"Shift - obrót wokół narożnika przeciwległego do uchwytu." -#: ../src/seltrans.cpp:602 -msgid "" -"Rotate selection; with Ctrl to snap angle; with Shift " -"to rotate around the opposite corner" +#: ../src/live_effects/lpe-ruler.cpp:48 +msgid "Direction of marks (when viewing along the path from start to end)" msgstr "" -"Obrót zaznaczenia; z Ctrl - przyciąganie do kąta, z Shift - obrót wokół narożnika przeciwległego do uchwytu." -#: ../src/seltrans.cpp:736 -msgid "Reset center" -msgstr "Resetuj środek" +#: ../src/live_effects/lpe-ruler.cpp:48 +msgid "Mark direction" +msgstr "Określ kierunek" -#: ../src/seltrans.cpp:980 ../src/seltrans.cpp:1079 -#, c-format -msgid "Scale: %0.2f%% x %0.2f%%; with Ctrl to lock ratio" +#: ../src/live_effects/lpe-ruler.cpp:49 +msgid "Offset of first mark" msgstr "" -"Skalowanie: %0.2f%% x %0.2f%%; z Ctrl - blokada proporcji." -#. TRANSLATORS: don't modify the first ";" -#. (it will NOT be displayed as ";" - only the second one will be) -#: ../src/seltrans.cpp:1196 -#, c-format -msgid "Skew: %0.2f°; with Ctrl to snap angle" -msgstr "Pochylenie: %0.2f° z Ctrl - przyciąganie do kąta." +#: ../src/live_effects/lpe-ruler.cpp:50 +#, fuzzy +msgid "Border marks" +msgstr "Kolor konturu:" -#. TRANSLATORS: don't modify the first ";" -#. (it will NOT be displayed as ";" - only the second one will be) -#: ../src/seltrans.cpp:1255 -#, c-format -msgid "Rotate: %0.2f°; with Ctrl to snap angle" -msgstr "Obrót: %0.2f° z Ctrl - przyciąganie do kąta." +#: ../src/live_effects/lpe-ruler.cpp:50 +msgid "Choose whether to draw marks at the beginning and end of the path" +msgstr "" -#: ../src/seltrans.cpp:1296 -#, c-format -msgid "Move center to %s, %s" -msgstr "Przesunięcie środka do %s, %s" +#. initialise your parameters here: +#: ../src/live_effects/lpe-skeleton.cpp:33 +msgid "Float parameter" +msgstr "Parametr przepływu" -#: ../src/seltrans.cpp:1457 -#, c-format -msgid "" -"Move by %s, %s; with Ctrl to restrict to horizontal/vertical; " -"with Shift to disable snapping" +#: ../src/live_effects/lpe-skeleton.cpp:33 +msgid "just a real number like 1.4!" +msgstr "rzeczywista liczba, taka jak 1.4!" + +#: ../src/live_effects/lpe-sketch.cpp:35 +msgid "Draw that many approximating strokes" msgstr "" -"Przesunięcie o %s, %s; z Ctrl - poziomo/pionowo, z Shift - wyłączenie przyciągania." -#: ../src/shape-editor.cpp:397 -msgid "Drag curve" -msgstr "Przeciągnij krzywą" +#. initialise your parameters here: +#. testpointA(_("Test Point A"), _("Test A"), "ptA", &wr, this, Geom::Point(100,100)), +#: ../src/live_effects/lpe-sketch.cpp:35 +msgid "Strokes" +msgstr "Kontury" -#: ../src/sp-anchor.cpp:178 -#, c-format -msgid "Link to %s" -msgstr "Odnośnik do %s" +#: ../src/live_effects/lpe-sketch.cpp:36 +msgid "Max stroke length" +msgstr "Maksymalna długość konturu" -#: ../src/sp-anchor.cpp:182 -msgid "Link without URI" -msgstr "Odnośnik bez identyfikatora URI" +#: ../src/live_effects/lpe-sketch.cpp:37 +msgid "Maximum length of approximating strokes" +msgstr "Maksymalna długość przybliżających się konturów" -#: ../src/sp-ellipse.cpp:494 ../src/sp-ellipse.cpp:873 -msgid "Ellipse" -msgstr "Elipsa" +#: ../src/live_effects/lpe-sketch.cpp:38 +#, fuzzy +msgid "Stroke length variation" +msgstr "Krawędź początkowa wariancji" -#: ../src/sp-ellipse.cpp:635 -msgid "Circle" -msgstr "Okrąg" +#: ../src/live_effects/lpe-sketch.cpp:39 +#, fuzzy +msgid "Random variation of stroke length (relative to maximum length)" +msgstr "Skaluje szerokość ścieżki konturu relatywnie do długości" -#: ../src/sp-ellipse.cpp:868 -msgid "Segment" -msgstr "Odcinek" +#: ../src/live_effects/lpe-sketch.cpp:40 +msgid "Max. overlap" +msgstr "Maks. nachodzenie na siebie" -#: ../src/sp-ellipse.cpp:870 -msgid "Arc" -msgstr "Łuk" +#: ../src/live_effects/lpe-sketch.cpp:41 +#, fuzzy +msgid "How much successive strokes should overlap (relative to maximum length)" +msgstr "Skaluje szerokość ścieżki konturu relatywnie do długości" -#. TRANSLATORS: "Flow region" is an area where text is allowed to flow -#: ../src/sp-flowregion.cpp:269 -msgid "Flow region" -msgstr "Obszar wypełniany tekstem" +#: ../src/live_effects/lpe-sketch.cpp:42 +msgid "Overlap variation" +msgstr "Odchylenia nachodzenia na siebie" -#. TRANSLATORS: A region "cut out of" a flow region; text is not allowed to flow inside the -#. * flow excluded region. flowRegionExclude in SVG 1.2: see -#. * http://www.w3.org/TR/2004/WD-SVG12-20041027/flow.html#flowRegion-elem and -#. * http://www.w3.org/TR/2004/WD-SVG12-20041027/flow.html#flowRegionExclude-elem. -#: ../src/sp-flowregion.cpp:488 -msgid "Flow excluded region" -msgstr "Obszar niewypełniany tekstem" +#: ../src/live_effects/lpe-sketch.cpp:43 +#, fuzzy +msgid "Random variation of overlap (relative to maximum overlap)" +msgstr "Skaluje szerokość ścieżki konturu relatywnie do długości" -#: ../src/sp-flowtext.cpp:377 -#, c-format -msgid "Flowed text (%d character)" -msgid_plural "Flowed text (%d characters)" -msgstr[0] "Tekst wpisany (%d znak)" -msgstr[1] "Tekst wpisany (%d znaki)" -msgstr[2] "Tekst wpisany (%d znaków)" +#: ../src/live_effects/lpe-sketch.cpp:44 +msgid "Max. end tolerance" +msgstr "Maks. tolerancja końcowa" -#: ../src/sp-flowtext.cpp:379 -#, c-format -msgid "Linked flowed text (%d character)" -msgid_plural "Linked flowed text (%d characters)" -msgstr[0] "Połączony tekst wpisany (%d znak)" -msgstr[1] "Połączony tekst wpisany (%d znaki)" -msgstr[2] "Połączony tekst wpisany (%d znaków)" +#: ../src/live_effects/lpe-sketch.cpp:45 +msgid "Maximum distance between ends of original and approximating paths (relative to maximum length)" +msgstr "Maksymalny odstęp pomiędzy końcami oryginału przybliżającą się ścieżka (relatywnie do maksymalnej długości)" + +#: ../src/live_effects/lpe-sketch.cpp:46 +msgid "Parallel offset" +msgstr "Przesunięcie równoległe" + +#: ../src/live_effects/lpe-sketch.cpp:47 +msgid "Average distance from approximating path to original path" +msgstr "Przybliżona odległość pomiędzy przybliżającą się ścieżką a oryginałem" + +#: ../src/live_effects/lpe-sketch.cpp:48 +msgid "Max. tremble" +msgstr "Maks. drżenie" + +#: ../src/live_effects/lpe-sketch.cpp:49 +msgid "Maximum tremble magnitude" +msgstr "Maksymalna wielkość drgań" + +#: ../src/live_effects/lpe-sketch.cpp:50 +msgid "Tremble frequency" +msgstr "Częstotliwość drgań" + +#: ../src/live_effects/lpe-sketch.cpp:51 +#, fuzzy +msgid "Average number of tremble periods in an approximating stroke" +msgstr "Średnia liczba okresów drgań w przybliżającym się pociągnięciu" + +#: ../src/live_effects/lpe-sketch.cpp:52 +msgid "Construction lines" +msgstr "Linie konstrukcyjne" + +#: ../src/live_effects/lpe-sketch.cpp:53 +msgid "How many construction lines (tangents) to draw" +msgstr "" + +#: ../src/live_effects/lpe-sketch.cpp:55 +msgid "Scale factor relating curvature and length of construction lines (try 5*offset)" +msgstr "" -#: ../src/sp-guide.cpp:285 -msgid "Guides around page" -msgstr "Prowadnice wokół strony" +#: ../src/live_effects/lpe-sketch.cpp:56 +msgid "Max. length" +msgstr "Maks. długość" -#: ../src/sp-guide.cpp:418 -#, c-format -msgid "vertical, at %s" -msgstr "pionowa, na %s" +#: ../src/live_effects/lpe-sketch.cpp:56 +msgid "Maximum length of construction lines" +msgstr "" -#: ../src/sp-guide.cpp:421 -#, c-format -msgid "horizontal, at %s" -msgstr "pozioma, na %s" +#: ../src/live_effects/lpe-sketch.cpp:57 +#, fuzzy +msgid "Length variation" +msgstr "Mniejsze nasycenie" -#: ../src/sp-guide.cpp:426 -#, c-format -msgid "at %d degrees, through (%s,%s); Ctrl+click to delete" -msgstr "o %d stopni, przez (%s,%s). Użyj Ctrl + kliknięcie, aby usunąć" +#: ../src/live_effects/lpe-sketch.cpp:57 +#, fuzzy +msgid "Random variation of the length of construction lines" +msgstr "Skaluje szerokość ścieżki konturu relatywnie do długości" -#: ../src/sp-image.cpp:1098 -msgid "embedded" -msgstr "osadzony" +#: ../src/live_effects/lpe-tangent_to_curve.cpp:56 +msgid "Additional angle between tangent and curve" +msgstr "" -#: ../src/sp-image.cpp:1106 -#, c-format -msgid "Image with bad reference: %s" -msgstr "Obrazek z niepoprawnym odwołaniem: %s" +#: ../src/live_effects/lpe-tangent_to_curve.cpp:57 +msgid "Location along curve" +msgstr "" -#: ../src/sp-image.cpp:1107 -#, c-format -msgid "Image %d × %d: %s" -msgstr "Obrazek %d × %d: %s" +#: ../src/live_effects/lpe-tangent_to_curve.cpp:57 +msgid "Location of the point of attachment along the curve (between 0.0 and number-of-segments)" +msgstr "" -#: ../src/spiral-context.cpp:341 -msgid "Ctrl: snap angle" -msgstr "Ctrl - przyciąganie do kąta" +#: ../src/live_effects/lpe-tangent_to_curve.cpp:58 +msgid "Specifies the left end of the tangent" +msgstr "" -#: ../src/spiral-context.cpp:343 -msgid "Alt: lock spiral radius" -msgstr "Alt - blokada promienia spirali" +#: ../src/live_effects/lpe-tangent_to_curve.cpp:59 +msgid "Specifies the right end of the tangent" +msgstr "" -#: ../src/spiral-context.cpp:466 -#, c-format -msgid "" -"Spiral: radius %s, angle %5g°; with Ctrl to snap angle" +#: ../src/live_effects/lpe-tangent_to_curve.cpp:68 +msgid "Adjust the point of attachment of the tangent" msgstr "" -"Spirala: promień %s, kąt %5g° z Ctrl - przyciąganie do " -"kąta" -#: ../src/spiral-context.cpp:487 -msgid "Create spiral" -msgstr "Utwórz spiralę" +#: ../src/live_effects/lpe-tangent_to_curve.cpp:69 +#, fuzzy +msgid "Adjust the \"left\" end of the tangent" +msgstr "Definiuje kolor źródła światła" -#: ../src/sp-item.cpp:959 -msgid "Object" -msgstr "Obiekt" +#: ../src/live_effects/lpe-tangent_to_curve.cpp:70 +#, fuzzy +msgid "Adjust the \"right\" end of the tangent" +msgstr "Pobranie jasności koloru" -#: ../src/sp-item.cpp:976 -#, c-format -msgid "%s; clipped" -msgstr "%s; przycięte" +#: ../src/live_effects/lpe-test-doEffect-stack.cpp:22 +msgid "Stack step" +msgstr "Tworzenie stosu przebiegów" -#: ../src/sp-item.cpp:981 -#, c-format -msgid "%s; masked" -msgstr "%s; zamaskowany" +#: ../src/live_effects/lpe-test-doEffect-stack.cpp:23 +msgid "point param" +msgstr "" -#: ../src/sp-item.cpp:986 -#, c-format -msgid "%s; filtered" -msgstr "%s; odfiltrowane" +#: ../src/live_effects/lpe-test-doEffect-stack.cpp:24 +msgid "path param" +msgstr "parametr ścieżki" -#: ../src/sp-item-group.cpp:738 -#, c-format -msgid "Group of %d object" -msgid_plural "Group of %d objects" -msgstr[0] "Grupa z %d obiektem" -msgstr[1] "Grupa %d obiektów" -msgstr[2] "Grupa %d obiektów" +#: ../src/live_effects/lpe-text_label.cpp:22 +msgid "Label" +msgstr "Etykieta" -#: ../src/sp-line.cpp:188 -msgid "Line" -msgstr "Linia" +#: ../src/live_effects/lpe-text_label.cpp:22 +msgid "Text label attached to the path" +msgstr "" -#: ../src/splivarot.cpp:71 ../src/splivarot.cpp:77 -msgid "Union" -msgstr "Suma" +#: ../src/live_effects/lpe-vonkoch.cpp:47 +#, fuzzy +msgid "Reference segment" +msgstr "Usuń odcinek" -#: ../src/splivarot.cpp:83 -msgid "Intersection" -msgstr "Część wspólna" +#: ../src/live_effects/lpe-vonkoch.cpp:47 +msgid "The reference segment. Defaults to bbox diameter." +msgstr "" -#: ../src/splivarot.cpp:89 ../src/splivarot.cpp:95 -msgid "Difference" -msgstr "Różnica" +#. refA(_("Ref Start"), _("Left side middle of the reference box"), "refA", &wr, this), +#. refB(_("Ref End"), _("Right side middle of the reference box"), "refB", &wr, this), +#: ../src/live_effects/lpe-vonkoch.cpp:50 +msgid "Generating path" +msgstr "Generowanie ścieżki" -#: ../src/splivarot.cpp:101 -msgid "Exclusion" -msgstr "Wykluczenie" +#: ../src/live_effects/lpe-vonkoch.cpp:50 +msgid "Path whose segments define the iterated transforms" +msgstr "" -#: ../src/splivarot.cpp:106 -msgid "Division" -msgstr "Podział" +#: ../src/live_effects/lpe-vonkoch.cpp:51 +msgid "2 consecutive segments are used to reverse/preserve orientation only (otherwise, they define a general transform)." +msgstr "" -#: ../src/splivarot.cpp:111 -msgid "Cut path" -msgstr "Rozcięcie ścieżki" +#: ../src/live_effects/lpe-vonkoch.cpp:51 +msgid "Use uniform transforms only" +msgstr "" -#: ../src/splivarot.cpp:128 -msgid "Select at least 2 paths to perform a boolean operation." -msgstr "Zaznacz co najmniej 2 ścieżki, aby wykonać operację logiczną" +#: ../src/live_effects/lpe-vonkoch.cpp:52 +msgid "Depth of the recursion --- keep low!!" +msgstr "Głębokość rekurencji - utrzymuj najmniejszą!" -#: ../src/splivarot.cpp:132 -msgid "Select at least 1 path to perform a boolean union." -msgstr "Zaznacz co najmniej 1 ścieżkę, aby wykonać sumę logiczną" +#: ../src/live_effects/lpe-vonkoch.cpp:52 +msgid "Nb of generations" +msgstr "Liczba pokoleń" -#: ../src/splivarot.cpp:138 -msgid "" -"Select exactly 2 paths to perform difference, XOR, division, or path " -"cut." +#: ../src/live_effects/lpe-vonkoch.cpp:53 +msgid "Draw all generations" msgstr "" -"Zaznacz 2 ścieżki, aby wykonać operację różnicy, wykluczenia, " -"podziału lub rozcięcia ścieżki" -#: ../src/splivarot.cpp:155 ../src/splivarot.cpp:170 -msgid "" -"Unable to determine the z-order of the objects selected for " -"difference, XOR, division, or path cut." +#: ../src/live_effects/lpe-vonkoch.cpp:53 +msgid "If unchecked, draw only the last generation" msgstr "" -"Nie można rozpoznać kolejności obiektów zaznaczonych do różnicy, " -"wykluczenia, podziału lub rozcięcia ścieżki" -#: ../src/splivarot.cpp:200 -msgid "" -"One of the objects is not a path, cannot perform boolean operation." +#: ../src/live_effects/lpe-vonkoch.cpp:55 +msgid "Disable effect if the output is too complex" msgstr "" -"Jeden z obiektów nie jest ścieżką. Nie można wykonać operacji " -"logicznej." -#: ../src/splivarot.cpp:610 -msgid "Select stroked path(s) to convert stroke to path." -msgstr "Wybierz ścieżkę(i) konturu do konwersji konturu na ścieżkę" +#. FIXME: a path is used here instead of 2 points to work around path/point param incompatibility bug. +#: ../src/live_effects/lpe-vonkoch.cpp:55 +msgid "Max complexity" +msgstr "" -#: ../src/splivarot.cpp:894 -msgid "Convert stroke to path" -msgstr "Konwertuje kontur na ścieżkę" +#: ../src/live_effects/parameter/bool.cpp:69 +msgid "Change bool parameter" +msgstr "Zmień parametr wartości logicznej" -#. TRANSLATORS: "to outline" means "to convert stroke to path" -#: ../src/splivarot.cpp:897 -msgid "No stroked paths in the selection." -msgstr "W zaznaczeniu brak ścieżek z konturem" +#: ../src/live_effects/parameter/enum.h:50 +msgid "Change enumeration parameter" +msgstr "Zmień parametr numeryczny" -#: ../src/splivarot.cpp:981 -msgid "Selected object is not a path, cannot inset/outset." -msgstr "" -"Zaznaczony obiekt nie jest ścieżką. Nie można wykonać odsunięcia do " -"wewnątrz/na zewnątrz." +#: ../src/live_effects/parameter/parameter.cpp:138 +msgid "Change scalar parameter" +msgstr "Zmień skalar" -#: ../src/splivarot.cpp:1101 ../src/splivarot.cpp:1170 -msgid "Create linked offset" -msgstr "Utwórz połączone odsunięcie" +#: ../src/live_effects/parameter/path.cpp:158 +msgid "Edit on-canvas" +msgstr "Edytuj w obszarze roboczym" -#: ../src/splivarot.cpp:1102 ../src/splivarot.cpp:1171 -msgid "Create dynamic offset" -msgstr "Tworzy dynamiczny obiekt odsunięcia" +#: ../src/live_effects/parameter/path.cpp:168 +msgid "Copy path" +msgstr "Kopiuj ścieżkę" -#: ../src/splivarot.cpp:1198 -msgid "Select path(s) to inset/outset." -msgstr "Zaznacz ścieżkę(i) do odsunięcia na zewnątrz/do wewnątrz" +#: ../src/live_effects/parameter/path.cpp:178 +msgid "Paste path" +msgstr "Wklej ścieżkę" -#: ../src/splivarot.cpp:1416 -msgid "Outset path" -msgstr "Ścieżka przesunięcia zewnętrznego" +#: ../src/live_effects/parameter/path.cpp:188 +msgid "Link to path" +msgstr "Odnośnik na śc_eżkę" -#: ../src/splivarot.cpp:1416 -msgid "Inset path" -msgstr "Ścieżka przesunięcia wewnętrznego" +#: ../src/live_effects/parameter/path.cpp:409 +msgid "Paste path parameter" +msgstr "Wklej parametr ścieżki" -#: ../src/splivarot.cpp:1418 -msgid "No paths to inset/outset in the selection." -msgstr "" -"W zaznaczeniu brak ścieżek do odsunięcia do wewnątrz/na zewnątrz" +#: ../src/live_effects/parameter/path.cpp:441 +#, fuzzy +msgid "Link path parameter to path" +msgstr "Wklej parametr ścieżki" -#: ../src/splivarot.cpp:1579 -msgid "Simplifying paths (separately):" -msgstr "Upraszczanie ścieżek (oddzielnie):" +#: ../src/live_effects/parameter/point.cpp:91 +msgid "Change point parameter" +msgstr "Zmień parametr punktu" -#: ../src/splivarot.cpp:1581 -msgid "Simplifying paths:" -msgstr "Upraszczanie ścieżek:" +#: ../src/live_effects/parameter/pointparam-knotholder.cpp:134 +#, fuzzy +msgid "Change LPE point parameter" +msgstr "Zmień parametr punktu" -#: ../src/splivarot.cpp:1618 -#, c-format -msgid "%s %d of %d paths simplified..." -msgstr "Uproszczono %s %d z %d ścieżek" +#: ../src/live_effects/parameter/random.cpp:137 +msgid "Change random parameter" +msgstr "Zmień parametr losowy" -#: ../src/splivarot.cpp:1629 -#, c-format -msgid "%d paths simplified." -msgstr "Uproszczono %d ścieżek" +#: ../src/live_effects/parameter/text.cpp:100 +msgid "Change text parameter" +msgstr "Zmień parametr tekstu" -#: ../src/splivarot.cpp:1645 -msgid "Select path(s) to simplify." -msgstr "Zaznacz ścieżkę(i) do uproszczenia" +#: ../src/live_effects/parameter/unit.cpp:77 +msgid "Change unit parameter" +msgstr "Zmień parametr jednostki" -#: ../src/splivarot.cpp:1659 -msgid "Simplify" -msgstr "Uprość" +#: ../src/lpe-tool-context.cpp:269 +msgid "Choose a construction tool from the toolbar." +msgstr "" -#: ../src/splivarot.cpp:1661 -msgid "No paths to simplify in the selection." -msgstr "W zaznaczeniu brak ścieżek do uproszczenia" +#: ../src/main-cmdlineact.cpp:49 +#, c-format +msgid "Unable to find verb ID '%s' specified on the command line.\n" +msgstr "Nie można znaleźć polecenia o ID \"%s\" określonego w wierszu poleceń.\n" -#. TRANSLATORS COMMENT: %s is either "outset" or "inset" depending on sign -#: ../src/sp-offset.cpp:432 +#: ../src/main-cmdlineact.cpp:61 #, c-format -msgid "Linked offset, %s by %f pt" -msgstr "Połączone przesunięcie, %s o %f pkt" +msgid "Unable to find node ID: '%s'\n" +msgstr "Nie można znaleźć węzła o ID: \"%s\"\n" -#: ../src/sp-offset.cpp:433 ../src/sp-offset.cpp:437 -msgid "outset" -msgstr "na zewnątrz" +#: ../src/main.cpp:262 +msgid "Print the Inkscape version number" +msgstr "Wypisz numer wersji programu Inkscape" -#: ../src/sp-offset.cpp:433 ../src/sp-offset.cpp:437 -msgid "inset" -msgstr "do wewnątrz" +#: ../src/main.cpp:267 +msgid "Do not use X server (only process files from console)" +msgstr "Nie używaj X serwera (przetwarzaj jedynie pliki z poziomu konsoli)" -#. TRANSLATORS COMMENT: %s is either "outset" or "inset" depending on sign -#: ../src/sp-offset.cpp:436 -#, c-format -msgid "Dynamic offset, %s by %f pt" -msgstr "Odsunięcie dynamiczne, %s o %f pkt" +#: ../src/main.cpp:272 +msgid "Try to use X server (even if $DISPLAY is not set)" +msgstr "Spróbuj używać X serwera (nawet, gdy nie ustawiono zmiennej $DISPLAY)" -#: ../src/sp-path.cpp:135 -#, c-format -msgid "Path (%i node, path effect)" -msgid_plural "Path (%i nodes, path effect)" -msgstr[0] "Ścieżka (%i węzeł, efekt ścieżki)" -msgstr[1] "Ścieżka (%i węzły, efekt ścieżki)" -msgstr[2] "Ścieżka (%i węzłów, efekt ścieżki)" +#: ../src/main.cpp:277 +msgid "Open specified document(s) (option string may be excluded)" +msgstr "Otwiera podany(e) dokument(y) (tekst opcji może zostać wyłączony)" -#: ../src/sp-path.cpp:138 -#, c-format -msgid "Path (%i node)" -msgid_plural "Path (%i nodes)" -msgstr[0] "Ścieżka (%i węzeł)" -msgstr[1] "Ścieżka (%i węzły)" -msgstr[2] "Ścieżka (%i węzłów)" +#: ../src/main.cpp:278 +#: ../src/main.cpp:283 +#: ../src/main.cpp:288 +#: ../src/main.cpp:355 +#: ../src/main.cpp:360 +#: ../src/main.cpp:365 +#: ../src/main.cpp:370 +#: ../src/main.cpp:376 +msgid "FILENAME" +msgstr "NAZWA_PLIKU" -#: ../src/sp-path.cpp:540 -msgid "Creating single dot" -msgstr "Tworzenie pojedynczego punktu" +#: ../src/main.cpp:282 +msgid "Print document(s) to specified output file (use '| program' for pipe)" +msgstr "Drukuje dokumenty do podanego pliku wyjściowego (zapis do potoku - \"| program\")" -#: ../src/sp-path.cpp:541 -msgid "Create single dot" -msgstr "Utwórz pojedynczy punkt" +#: ../src/main.cpp:287 +msgid "Export document to a PNG file" +msgstr "Eksportuje dokument jako plik PNG" -#: ../src/sp-polygon.cpp:235 -msgid "Polygon" -msgstr "Wielokąt:" +#: ../src/main.cpp:292 +msgid "The resolution used for exporting SVG into bitmap (default 90)" +msgstr "Rozdzielczość używana dla konwersji SVG do bitmapy (domyślnie 90)" + +#: ../src/main.cpp:293 +#: ../src/ui/widget/rendering-options.cpp:43 +msgid "DPI" +msgstr "DPI" -#: ../src/sp-polyline.cpp:177 -msgid "Polyline" -msgstr "Linia łamana" +#: ../src/main.cpp:297 +msgid "Exported area in SVG user units (default is the canvas; 0,0 is lower-left corner)" +msgstr "Eksportowany obszar w jednostkach SVG użytkownika - domyślnie jest to obszar roboczy; (0,0 oznacza lewy dolny narożnik)" -#: ../src/sp-rect.cpp:226 -msgid "Rectangle" -msgstr "Prostokąt" +#: ../src/main.cpp:298 +msgid "x0:y0:x1:y1" +msgstr "x0:y0:x1:y1" -#. TRANSLATORS: since turn count isn't an integer, please adjust the -#. string as needed to deal with an localized plural forms. -#: ../src/sp-spiral.cpp:324 -#, c-format -msgid "Spiral with %3f turns" -msgstr "Spirala z %3f obrotami" +#: ../src/main.cpp:302 +msgid "Exported area is the entire drawing (not canvas)" +msgstr "Obszarem eksportu jest cały rysunek, nie obszar roboczy" -#: ../src/sp-star.cpp:307 -#, c-format -msgid "Star with %d vertex" -msgid_plural "Star with %d vertices" -msgstr[0] "Gwiazda z %d ramieniem" -msgstr[1] "Gwiazda z %d ramionami" -msgstr[2] "Gwiazda z %d ramionami" +#: ../src/main.cpp:307 +msgid "Exported area is the entire canvas" +msgstr "Obszarem eksportu jest cały obszar roboczy" -#: ../src/sp-star.cpp:311 -#, c-format -msgid "Polygon with %d vertex" -msgid_plural "Polygon with %d vertices" -msgstr[0] "Wielokąt z %d wierzchołkiem" -msgstr[1] "Wielokąt z %d wierzchołkami" -msgstr[2] "Wielokąt z %d wierzchołkami" +#: ../src/main.cpp:312 +msgid "Snap the bitmap export area outwards to the nearest integer values (in SVG user units)" +msgstr "Wyrównaj obszar eksportu bitmapy na zewnątrz do najbliższej całkowitej wartości (w jednostkach SVG użytkownika)" -#: ../src/sp-switch.cpp:100 -#, c-format -msgid "Conditional group of %d object" -msgid_plural "Conditional group of %d objects" -msgstr[0] "Grupa warunkowa %d obiekt" -msgstr[1] "Grupa warunkowa %d obiekty" -msgstr[2] "Grupa warunkowa %d obiektów" +#: ../src/main.cpp:317 +msgid "The width of exported bitmap in pixels (overrides export-dpi)" +msgstr "Szerokość generowanej bitmapy w pikselach (przesłania dpi)" -#. TRANSLATORS: For description of font with no name. -#: ../src/sp-text.cpp:414 -msgid "<no name found>" -msgstr "<nie znaleziono nazwy>" +#: ../src/main.cpp:318 +msgid "WIDTH" +msgstr "SZEROKOŚĆ" -#: ../src/sp-text.cpp:420 -#, c-format -msgid "Text on path (%s, %s)" -msgstr "Tekst na ścieżce (%s, %s)" +#: ../src/main.cpp:322 +msgid "The height of exported bitmap in pixels (overrides export-dpi)" +msgstr "Wysokość generowanej bitmapy w pikselach (przesłania dpi)" -#: ../src/sp-text.cpp:421 -#, c-format -msgid "Text (%s, %s)" -msgstr "Tekst (%s, %s)" +#: ../src/main.cpp:323 +msgid "HEIGHT" +msgstr "WYSOKOŚĆ" -#: ../src/sp-tref.cpp:368 -#, c-format -msgid "Cloned character data%s%s" -msgstr "Dane sklonowanego znaku %s%s" +#: ../src/main.cpp:327 +msgid "The ID of the object to export" +msgstr "Identyfikator ID eksportowanego obiektu" -#: ../src/sp-tref.cpp:369 -msgid " from " -msgstr "z" +#: ../src/main.cpp:328 +#: ../src/main.cpp:426 +msgid "ID" +msgstr "ID" -#: ../src/sp-tref.cpp:374 -msgid "Orphaned cloned character data" -msgstr "Dane osieroconego sklonowanego znaku" +#. TRANSLATORS: this means: "Only export the object whose id is given in --export-id". +#. See "man inkscape" for details. +#: ../src/main.cpp:334 +msgid "Export just the object with export-id, hide all others (only with export-id)" +msgstr "Eksportuj tylko obiekty oznaczone identyfikatorem eksportu, ukryj pozostałe (tylko z 'export-id')" -#: ../src/sp-tspan.cpp:284 -msgid "Text span" -msgstr "Rozpiętość tekstu" +#: ../src/main.cpp:339 +msgid "Use stored filename and DPI hints when exporting (only with export-id)" +msgstr "Podczas eksportu zastosuj zapisaną nazwę pliku i DPI (tylko z 'export-id')" -#. TRANSLATORS: Used for statusbar description for long chains: -#. * "Clone of: Clone of: ... in Layer 1". -#: ../src/sp-use.cpp:318 -msgid "..." -msgstr "..." +#: ../src/main.cpp:344 +msgid "Background color of exported bitmap (any SVG-supported color string)" +msgstr "Kolor tła eksportowanej bitmapy (dowolny string koloru obsługiwany przez SVG)" -#: ../src/sp-use.cpp:326 -#, c-format -msgid "Clone of: %s" -msgstr "Klon obiektu: %s" +#: ../src/main.cpp:345 +msgid "COLOR" +msgstr "KOLOR" -#: ../src/sp-use.cpp:330 -msgid "Orphaned clone" -msgstr "Osierocony klon" +#: ../src/main.cpp:349 +msgid "Background opacity of exported bitmap (either 0.0 to 1.0, or 1 to 255)" +msgstr "Krycie tła eksportowanej bitmapy (w formacie 0.0 do 1.0, lub 1 do 255)" -#: ../src/star-context.cpp:352 -msgid "Ctrl: snap angle; keep rays radial" -msgstr "Ctrl - przyciąganie do kąta, zachowanie promienistości" +#: ../src/main.cpp:350 +msgid "VALUE" +msgstr "WARTOŚĆ" -#: ../src/star-context.cpp:476 -#, c-format -msgid "" -"Polygon: radius %s, angle %5g°; with Ctrl to snap angle" -msgstr "" -"Wielokąt: promień %s, kąt %5g°; z Ctrl przyciąganie do " -"kąta." +#: ../src/main.cpp:354 +msgid "Export document to plain SVG file (no sodipodi or inkscape namespaces)" +msgstr "Eksportuj dokument do czystego formatu SVG (bez przestrzeni nazw używanych przez programy Sodipodi i Inkscape)" -#: ../src/star-context.cpp:477 -#, c-format -msgid "Star: radius %s, angle %5g°; with Ctrl to snap angle" -msgstr "" -"Gwiazda: promień %s, kąt %5g°; z Ctrl przyciąganie do " -"kąta." +#: ../src/main.cpp:359 +msgid "Export document to a PS file" +msgstr "Eksportuje dokument do pliku PS" -#: ../src/star-context.cpp:500 -msgid "Create star" -msgstr "Utwórz gwiazdę" +#: ../src/main.cpp:364 +msgid "Export document to an EPS file" +msgstr "Eksportuje dokument do pliku EPS" -#: ../src/text-chemistry.cpp:104 -msgid "Select a text and a path to put text on path." -msgstr "Zaznacz tekst i ścieżkę, aby wprowadzić tekst na ścieżkę" +#: ../src/main.cpp:369 +msgid "Export document to a PDF file" +msgstr "Eksportuje dokument do pliku PDF" -#: ../src/text-chemistry.cpp:109 -msgid "" -"This text object is already put on a path. Remove it from the path " -"first. Use Shift+D to look up its path." -msgstr "" -"Ten obiekt tekstowy jest już wprowadzony na ścieżkę. Zdejmij go " -"najpierw ze ścieżki. Użyj Shift + D, aby odnaleźć jego ścieżkę." +#: ../src/main.cpp:375 +msgid "Export document to an Enhanced Metafile (EMF) File" +msgstr "Eksportuje dokument do pliku Enhanced Metafile (EMF)" -#. rect is the only SPShape which is not yet, and thus SVG forbids us from putting text on it -#: ../src/text-chemistry.cpp:115 -msgid "" -"You cannot put text on a rectangle in this version. Convert rectangle to " -"path first." -msgstr "" -"W tej wersji programu nie można wprowadzić tekstu na prostokąt. Dokonaj " -"najpierw konwersji prostokąta na ścieżkę." +#: ../src/main.cpp:381 +msgid "Convert text object to paths on export (EPS)" +msgstr "Podczas eksportu do pliku EPS konwertuj obiekt tekstowy na ścieżki" -#: ../src/text-chemistry.cpp:125 -msgid "The flowed text(s) must be visible in order to be put on a path." -msgstr "Tekst musi być widoczny, aby został wstawiony na ścieżkę" +#: ../src/main.cpp:386 +msgid "Embed fonts on export (Type 1 only) (EPS)" +msgstr "Podczas eksportu do pliku EPS osadź czcionki (tylko Typ 1)" -#: ../src/text-chemistry.cpp:192 ../src/verbs.cpp:2283 -msgid "Put text on path" -msgstr "Wstawia tekst na ścieżkę" +#: ../src/main.cpp:391 +msgid "Export files with the bounding box set to the page size (EPS)" +msgstr "Eksportuj pliki z obramowaniem obiektu ustawionym jako rozmiar strony (dla plików EPS)" -#: ../src/text-chemistry.cpp:204 -msgid "Select a text on path to remove it from path." -msgstr "Zaznacz tekst na ścieżce, aby zdjąć go ze ścieżki" +#. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help" +#: ../src/main.cpp:397 +msgid "Query the X coordinate of the drawing or, if specified, of the object with --query-id" +msgstr "Pytaj o współrzędną X rysunku, lub obiektu jeśli jest podany za pomocą --query-id" -#: ../src/text-chemistry.cpp:226 -msgid "No texts-on-paths in the selection." -msgstr "W zaznaczeniu brak tekstów na ścieżce" +#. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help" +#: ../src/main.cpp:403 +msgid "Query the Y coordinate of the drawing or, if specified, of the object with --query-id" +msgstr "Pytaj o współrzędną Y rysunku, lub obiektu jeśli jest podany za pomocą --query-id" -#: ../src/text-chemistry.cpp:229 ../src/verbs.cpp:2285 -msgid "Remove text from path" -msgstr "Zdejmuje tekst ze ścieżki" +#. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help" +#: ../src/main.cpp:409 +msgid "Query the width of the drawing or, if specified, of the object with --query-id" +msgstr "Pytaj o szerokość rysunku, lub obiektu jeśli jest podany za pomocą --query-id" -#: ../src/text-chemistry.cpp:269 ../src/text-chemistry.cpp:290 -msgid "Select text(s) to remove kerns from." -msgstr "Zaznacz tekst(y) do usunięcia kerningu ręcznego" +#. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help" +#: ../src/main.cpp:415 +msgid "Query the height of the drawing or, if specified, of the object with --query-id" +msgstr "Pytaj o wysokość rysunku, lub obiektu jeśli jest podany za pomocą --query-id" -#: ../src/text-chemistry.cpp:293 -msgid "Remove manual kerns" -msgstr "Usuń ręczny kerning" +#: ../src/main.cpp:420 +msgid "List id,x,y,w,h for all objects" +msgstr "Pokaż id,x,y,w,h dla wszystkich obiektów" -#: ../src/text-chemistry.cpp:313 -msgid "" -"Select a text and one or more paths or shapes to flow text " -"into frame." -msgstr "" -"Zaznacz tekst i jedną lub więcej ścieżek lub kształtów, aby " -"wprowadzić tekst do ramki" +#: ../src/main.cpp:425 +msgid "The ID of the object whose dimensions are queried" +msgstr "Identyfikator ID obiektu, o którego wymiary zapytano" -#: ../src/text-chemistry.cpp:381 -msgid "Flow text into shape" -msgstr "Wprowadź tekst do kształtu" +#. TRANSLATORS: this option makes Inkscape print the name (path) of the extension directory +#: ../src/main.cpp:431 +msgid "Print out the extension directory and exit" +msgstr "Wyświetl katalog rozszerzeń i zakończ" -#: ../src/text-chemistry.cpp:403 -msgid "Select a flowed text to unflow it." -msgstr "Zaznacz tekst wpisany, aby go uwolnić z ramki" +#: ../src/main.cpp:436 +msgid "Remove unused definitions from the defs section(s) of the document" +msgstr "Usuń nieużywane definicje z sekcji <defs> dokumentu" -#: ../src/text-chemistry.cpp:470 -msgid "Unflow flowed text" -msgstr "Uwolnij tekst wpisany" +#: ../src/main.cpp:441 +msgid "List the IDs of all the verbs in Inkscape" +msgstr "Lista identyfikatorów wszystkich poleceń w Inkscape" -#: ../src/text-chemistry.cpp:482 -msgid "Select flowed text(s) to convert." -msgstr "Zaznacz tekst wpisany, aby go konwertować" +#: ../src/main.cpp:446 +msgid "Verb to call when Inkscape opens." +msgstr "Polecenie wywoływane podczas uruchamiania Inkscape" -#: ../src/text-chemistry.cpp:500 -msgid "The flowed text(s) must be visible in order to be converted." -msgstr "Aby skonwertować tekst wpisany musi być on widoczny" +#: ../src/main.cpp:447 +msgid "VERB-ID" +msgstr "ID polecenia" -#: ../src/text-chemistry.cpp:528 -msgid "Convert flowed text to text" -msgstr "Konwertuj tekst wpisany na tekst" +#: ../src/main.cpp:451 +msgid "Object ID to select when Inkscape opens." +msgstr "ID obiektu do zaznaczenia podczas uruchamiania Inkscape" -#: ../src/text-chemistry.cpp:533 -msgid "No flowed text(s) to convert in the selection." -msgstr "W zaznaczeniu brak tekstu wpisanego do konwersji" +#: ../src/main.cpp:452 +msgid "OBJECT-ID" +msgstr "ID obiektu" -#: ../src/text-context.cpp:452 -msgid "Click to edit the text, drag to select part of the text." +#: ../src/main.cpp:456 +msgid "Start Inkscape in interative shell mode." msgstr "" -"Kliknij, aby edytować tekst. Ciągnij, aby zaznaczyć jego " -"fragment." -#: ../src/text-context.cpp:454 +#: ../src/main.cpp:737 +#: ../src/main.cpp:973 msgid "" -"Click to edit the flowed text, drag to select part of the text." +"[OPTIONS...] [FILE...]\n" +"\n" +"Available options:" msgstr "" -"Kliknij, aby edytować tekst wpisany. Ciągnij, aby zaznaczyć " -"jego fragment." +"[OPCJE...] [PLIK...]\n" +"\n" +"Dostępne opcje:" -#: ../src/text-context.cpp:508 -msgid "Create text" -msgstr "Utwórz tekst" +#: ../src/menus-skeleton.h:17 +msgid "_New" +msgstr "_Nowy" -#: ../src/text-context.cpp:532 -msgid "Non-printable character" -msgstr "Znak niedrukowany" +#: ../src/menus-skeleton.h:22 +msgid "Open _Recent" +msgstr "Otwórz o_statnio używane" -#: ../src/text-context.cpp:547 -msgid "Insert Unicode character" -msgstr "Wprowadź znak Unicode" +#: ../src/menus-skeleton.h:50 +#: ../src/verbs.cpp:2484 +#: ../src/verbs.cpp:2490 +msgid "_Edit" +msgstr "_Edycja" -#: ../src/text-context.cpp:582 -#, c-format -msgid "Unicode (Enter to finish): %s: %s" -msgstr "Unicode (Enter, aby zakończyć): %s: %s" +#: ../src/menus-skeleton.h:60 +#: ../src/verbs.cpp:2272 +msgid "Paste Si_ze" +msgstr "Wklej roz_miar" -#: ../src/text-context.cpp:584 ../src/text-context.cpp:849 -msgid "Unicode (Enter to finish): " -msgstr "Unicode (Enter, aby zakończyć): " +#: ../src/menus-skeleton.h:72 +msgid "Clo_ne" +msgstr "Klo_nuj" -#: ../src/text-context.cpp:659 -#, c-format -msgid "Flowed text frame: %s × %s" -msgstr "Ramka tekstu wpisanego: %s × %s" +#: ../src/menus-skeleton.h:92 +msgid "_View" +msgstr "_Widok" + +#: ../src/menus-skeleton.h:93 +msgid "_Zoom" +msgstr "P_owiększenie" + +#: ../src/menus-skeleton.h:109 +msgid "_Display mode" +msgstr "_Tryb wyświetlania" + +#: ../src/menus-skeleton.h:121 +msgid "Show/Hide" +msgstr "Wyświetl/U_kryj" + +#. Not quite ready to be in the menus. +#. " \n" +#: ../src/menus-skeleton.h:140 +msgid "_Layer" +msgstr "W_arstwa" + +#: ../src/menus-skeleton.h:160 +msgid "_Object" +msgstr "_Obiekt" + +#: ../src/menus-skeleton.h:170 +msgid "Cli_p" +msgstr "Przytni_j" + +#: ../src/menus-skeleton.h:174 +msgid "Mas_k" +msgstr "Mas_ka" -#: ../src/text-context.cpp:691 ../src/text-context.cpp:1544 -msgid "Type text; Enter to start new line." -msgstr "Wprowadź tekst; Enter, aby przejść do nowej linii" +#: ../src/menus-skeleton.h:178 +msgid "Patter_n" +msgstr "D_eseń" -#: ../src/text-context.cpp:704 -msgid "Flowed text is created." -msgstr "Utworzono tekst wpisany" +#: ../src/menus-skeleton.h:202 +msgid "_Path" +msgstr "Ścież_ka" -#: ../src/text-context.cpp:706 -msgid "Create flowed text" -msgstr "Utwórz tekst wpisany" +#: ../src/menus-skeleton.h:225 +msgid "Path Effects" +msgstr "Efekty ścieżki" -#: ../src/text-context.cpp:708 -msgid "" -"The frame is too small for the current font size. Flowed text not " -"created." -msgstr "" -"Ramka jest zbyt mała dla wybranej wielkości czcionki. Nie utworzono " -"tekstu wpisanego." +#: ../src/menus-skeleton.h:231 +msgid "_Text" +msgstr "_Tekst" -#: ../src/text-context.cpp:834 -msgid "No-break space" -msgstr "Spacja nie łamiąca wiersza" +#: ../src/menus-skeleton.h:246 +msgid "Effe_cts" +msgstr "E_fekty" -#: ../src/text-context.cpp:836 -msgid "Insert no-break space" -msgstr "Wstawia spację nie łamiącą wiersza" +#: ../src/menus-skeleton.h:253 +msgid "Whiteboa_rd" +msgstr "Ta_blica" -#: ../src/text-context.cpp:873 -msgid "Make bold" -msgstr "Pogrubienie" +#: ../src/menus-skeleton.h:257 +msgid "_Help" +msgstr "Pomo_c" -#: ../src/text-context.cpp:891 -msgid "Make italic" -msgstr "Pochylenie" +#: ../src/menus-skeleton.h:261 +msgid "Tutorials" +msgstr "Poradniki" -#: ../src/text-context.cpp:930 -msgid "New line" -msgstr "Nowy wiersz" +#: ../src/node-context.cpp:228 +msgid "Ctrl: toggle node type, snap handle angle, move hor/vert; Ctrl+Alt: move along handles" +msgstr "Ctrl - przełącza typ węzła, przyciąga uchwyt do kąta, prowadzi poziomo/pionowo. Ctrl + Alt - prowadzi po linii uchwytu." -#: ../src/text-context.cpp:964 -msgid "Backspace" -msgstr "Backspace" +#: ../src/node-context.cpp:229 +msgid "Shift: toggle node selection, disable snapping, rotate both handles" +msgstr "Shift - przełącza wybór węzła, wyłącza przyciąganie, obraca oba uchwyty" -#: ../src/text-context.cpp:1012 -msgid "Kern to the left" -msgstr "Podetnij z lewej" +#: ../src/node-context.cpp:230 +msgid "Alt: lock handle length; Ctrl+Alt: move along handles" +msgstr "Alt - blokuje odległość uchwytu. Ctrl + Alt - prowadzi po linii uchwytu." -#: ../src/text-context.cpp:1034 -msgid "Kern to the right" -msgstr "Podetnij z prawej" +#: ../src/nodepath.cpp:748 +#: ../src/seltrans.cpp:542 +msgid "Stamp" +msgstr "Znacznik czasu" -#: ../src/text-context.cpp:1056 -msgid "Kern up" -msgstr "Podetnij od góry" +#: ../src/nodepath.cpp:1600 +#: ../src/nodepath.cpp:1626 +msgid "Move nodes vertically" +msgstr "Przesuń węzły w pionie" -#: ../src/text-context.cpp:1079 -msgid "Kern down" -msgstr "Podetnij od dołu" +#: ../src/nodepath.cpp:1602 +#: ../src/nodepath.cpp:1628 +msgid "Move nodes horizontally" +msgstr "Przesuń węzły w poziomie" -#: ../src/text-context.cpp:1135 -msgid "Rotate counterclockwise" -msgstr "Obróć w lewo" +#: ../src/nodepath.cpp:1604 +#: ../src/nodepath.cpp:1630 +#: ../src/nodepath.cpp:1645 +#: ../src/nodepath.cpp:3499 +msgid "Move nodes" +msgstr "Przesuń węzły" -#: ../src/text-context.cpp:1156 -msgid "Rotate clockwise" -msgstr "Obróć w prawo" +#: ../src/nodepath.cpp:1683 +msgid "Node handle: drag to shape the curve; with Ctrl to snap angle; with Alt to lock length; with Shift to rotate both handles" +msgstr "Uchwyt węzła - ciągnięcie edytuje ścieżkę. Z Ctrl - przyciąganie do kąta, z Alt blokada odległości, z Shift obrót obu uchwytów." -#: ../src/text-context.cpp:1173 -msgid "Contract line spacing" -msgstr "Zmniejsz odstęp pomiędzy wierszami" +#: ../src/nodepath.cpp:1853 +msgid "Align nodes" +msgstr "Wyrównaj węzły" -#: ../src/text-context.cpp:1181 -msgid "Contract letter spacing" -msgstr "Zmniejsz odstęp pomiędzy literami" +#: ../src/nodepath.cpp:1915 +msgid "Distribute nodes" +msgstr "Rozmieść węzły" -#: ../src/text-context.cpp:1200 -msgid "Expand line spacing" -msgstr "Zwiększ odstęp pomiędzy wierszami" +#: ../src/nodepath.cpp:1953 +msgid "Add nodes" +msgstr "Dodaj węzły" -#: ../src/text-context.cpp:1208 -msgid "Expand letter spacing" -msgstr "Zwiększ odstęp pomiędzy literami" +#: ../src/nodepath.cpp:1955 +#: ../src/nodepath.cpp:2054 +msgid "Add node" +msgstr "Dodaj węzeł" -#: ../src/text-context.cpp:1312 -msgid "Paste text" -msgstr "Wklej tekst" +#: ../src/nodepath.cpp:2137 +msgid "Break path" +msgstr "Rozdziel ścieżkę" -#: ../src/text-context.cpp:1542 -msgid "Type flowed text; Enter to start new paragraph." -msgstr "" -"Wprowadź tekst wpisany. Naciśnij Enter, aby rozpocząć nowy akapit." +#: ../src/nodepath.cpp:2193 +msgid "Close subpath" +msgstr "Zamknij subścieżkę" -#: ../src/text-context.cpp:1552 ../src/tools-switch.cpp:211 -msgid "" -"Click to select or create text, drag to create flowed text; " -"then type." -msgstr "" -"Kliknij, aby zaznaczyć lub utworzyć tekst. Ciągnij, aby " -"utworzyć tekst wpisany, następnie wprowadź treść." +#: ../src/nodepath.cpp:2254 +msgid "Join nodes" +msgstr "Połącz węzły" -#: ../src/text-context.cpp:1659 -msgid "Type text" -msgstr "Wprowadź tekst" +#: ../src/nodepath.cpp:2281 +msgid "Close subpath by segment" +msgstr "Zamyka subścieżkę za pomocą odcinka" -#: ../src/text-editing.cpp:40 -msgid "You cannot edit cloned character data." -msgstr "Nie można edytować danych skolonowanego znaku." +#: ../src/nodepath.cpp:2335 +msgid "Join nodes by segment" +msgstr "Łączy zaznaczone węzły końcowe za pomocą odcinka" -#: ../src/tools-switch.cpp:151 -msgid "" -"To edit a path, click, Shift+click, or drag around " -"nodes to select them, then drag nodes and handles. Click on an " -"object to select." -msgstr "" -"Kliknij, aby edytować ścieżkę. Shift + kliknięcie lub " -"ciągnięcie wokół węzłów, aby je zaznaczyć, następnie przeciągaj węzły " -"i uchwyty. Kliknij na obiekcie, aby go zaznaczyć." +#: ../src/nodepath.cpp:2348 +#: ../src/nodepath.cpp:2363 +msgid "To join, you must have two endnodes selected." +msgstr "Aby połączyć, należy wybrać dwa węzły końcowe" -#: ../src/tools-switch.cpp:157 -msgid "To tweak a path by pushing, select it and drag over it." -msgstr "" -"Aby udoskonalić ścieżkę za pomocą spychania, zaznacz ją, a następnie " -"zmodyfikuj pociągnięciami myszy" +#: ../src/nodepath.cpp:2520 +#: ../src/nodepath.cpp:2556 +#: ../src/nodepath.cpp:2560 +msgid "Delete nodes" +msgstr "Usuń węzły" -#: ../src/tools-switch.cpp:163 -msgid "" -"Drag to create a rectangle. Drag controls to round corners and " -"resize. Click to select." -msgstr "" -"Ciągnij, aby utworzyć prostokąt. Ciągnij punkty kontrolne, aby " -"zaokrąglić narożniki i zmienić rozmiar. Kliknij, aby zaznaczyć." +#: ../src/nodepath.cpp:2522 +msgid "Delete nodes preserving shape" +msgstr "Usuwa węzły zachowując kształt" -#: ../src/tools-switch.cpp:169 -msgid "" -"Drag to create a 3D box. Drag controls to resize in " -"perspective. Click to select (with Ctrl+Alt for single faces)." -msgstr "" -"Ciągnij, aby utworzyć obiekt 3D. Ciągnij punkty kontrolne, aby " -"zmienić wielkość w perspektywie. Kliknij, aby zaznaczyć (z Ctrl + " -"Alt dla pojedynczego oblicza)." +#: ../src/nodepath.cpp:2579 +#: ../src/nodepath.cpp:2593 +msgid "Select two non-endpoint nodes on a path between which to delete segments." +msgstr "Wybierz dwa nie końcowe węzły na ścieżce, aby usunąć odcinki pomiędzy nimi" -#: ../src/tools-switch.cpp:175 -msgid "" -"Drag to create an ellipse. Drag controls to make an arc or " -"segment. Click to select." -msgstr "" -"Ciągnij, aby utworzyć elipsę. Ciągnij punkty kontrolne, aby " -"utworzyć łuk lub odcinek. Kliknij, aby zaznaczyć." +#: ../src/nodepath.cpp:2689 +msgid "Cannot find path between nodes." +msgstr "Nie znaleziono ścieżki pomiędzy węzłami" -#: ../src/tools-switch.cpp:181 -msgid "" -"Drag to create a star. Drag controls to edit the star shape. " -"Click to select." -msgstr "" -"Ciągnij, aby utworzyć gwiazdę. Ciągnij punkty kontrolne, aby " -"zmienić kształt gwiazdy. Kliknij, aby zaznaczyć." +#: ../src/nodepath.cpp:2721 +#: ../src/widgets/toolbox.cpp:1319 +msgid "Delete segment" +msgstr "Usuń odcinek" -#: ../src/tools-switch.cpp:187 -msgid "" -"Drag to create a spiral. Drag controls to edit the spiral " -"shape. Click to select." -msgstr "" -"Ciągnij, aby utworzyć spiralę. Ciągnij punkty kontrolne, aby " -"zmienić kształt spirali. Kliknij, aby zaznaczyć." +#: ../src/nodepath.cpp:2742 +msgid "Change segment type" +msgstr "Zmień typ odcinka" -#: ../src/tools-switch.cpp:193 -msgid "" -"Drag to create a freehand line. Start drawing with Shift to " -"append to selected path. Ctrl+click to create single dots." -msgstr "" -"Ciągnij, aby utworzyć linię odręczną. Rozpocznij rysowanie z " -"Shift, aby dołączyć do zaznaczonej ścieżki. Ctrl + kliknięcie, " -"aby tworzyć pojedyncze kropki." +#: ../src/nodepath.cpp:2759 +#: ../src/nodepath.cpp:3457 +msgid "Change node type" +msgstr "Zmień typ węzła" -#: ../src/tools-switch.cpp:199 -msgid "" -"Click or click and drag to start a path; with Shift to " -"append to selected path. Ctrl+click to create single dots." -msgstr "" -"Kliknij lub kliknij i ciągnij, aby rozpocząć ścieżkę, z " -"Shift, aby dołączyć do zaznaczonej ścieżki. Ctrl + kliknięcie, " -"aby tworzyć pojedyncze kropki." +#: ../src/nodepath.cpp:3745 +msgid "Retract handle" +msgstr "Cofnij uchwyt" -#: ../src/tools-switch.cpp:205 -msgid "" -"Drag to draw a calligraphic stroke; with Ctrl to track a " -"guide, with Alt to thin/thicken. Arrow keys adjust width (left/" -"right) and angle (up/down)." -msgstr "" -"Ciągnij, aby utworzyć pociągnięcie kaligraficzne. Z Ctrl - " -"śledzi prowadnicę, z Alt - cieniej. Klawisze strzałek lewa/" -"prawa - zmieniają szerokość, góra/dół - kąt. " +#: ../src/nodepath.cpp:3794 +msgid "Move node handle" +msgstr "Przesuń uchwyt węzła" -#: ../src/tools-switch.cpp:217 -msgid "" -"Drag or double click to create a gradient on selected objects, " -"drag handles to adjust gradients." -msgstr "" -"Ciągnij lub kliknij dwukrotnie, aby utworzyć gradient na " -"zaznaczonych obiektach. Ciągnij uchwyty, aby edytować gradienty." +#: ../src/nodepath.cpp:3979 +#, c-format +msgid "Node handle: angle %0.2f°, length %s; with Ctrl to snap angle; with Alt to lock length; with Shift to rotate both handles" +msgstr "Uchwyt węzła. Kąt %0.2f°, długość %s; z Ctrl przyciąganie do kąta; z Alt blokada odległości; z Shift obrót obu uchwytów" -#: ../src/tools-switch.cpp:223 -msgid "" -"Click or drag around an area to zoom in, Shift+click to " -"zoom out." -msgstr "" -"Kliknij lub wykonaj ciągnięcie wokół obszaru, aby go " -"powiększyć. Shift + kliknięcie, aby pomniejszyć widok." +#: ../src/nodepath.cpp:4173 +msgid "Rotate nodes" +msgstr "Obróć węzły" -#: ../src/tools-switch.cpp:235 -msgid "Click and drag between shapes to create a connector." -msgstr "Kliknij i ciągnij pomiędzy kształtami, aby utworzyć łącznik" +#: ../src/nodepath.cpp:4304 +msgid "Scale nodes" +msgstr "Skaluj węzły" -#: ../src/tools-switch.cpp:241 -msgid "" -"Click to paint a bounded area, Shift+click to union the new " -"fill with the current selection, Ctrl+click to change the clicked " -"object's fill and stroke to the current setting." -msgstr "" -"Kliknij, aby malować zaznaczony obszar, Shift + kliknięcie, " -"aby połączyć nowe wypełnienie z aktywnym zaznaczeniem, Ctrl + kliknięcie, aby zmienić wypełnienie i kontur klikniętego obiektu na aktualne " -"ustawienia" +#: ../src/nodepath.cpp:4348 +msgid "Flip nodes" +msgstr "Odbij węzły" -#: ../src/tools-switch.cpp:247 -msgid "Drag to erase." -msgstr "Przeciągnij, aby usunąć." +#: ../src/nodepath.cpp:4517 +msgid "Node: drag to edit the path; with Ctrl to snap to horizontal/vertical; with Ctrl+Alt to snap to handles' directions" +msgstr "Węzeł: edytuj ścieżkę przeciągając; z Ctrl tylko poziomo/pionowo; z Ctrl + Alt wzdłuż linii uchwytów" -#: ../src/trace/potrace/inkscape-potrace.cpp:524 -#: ../src/trace/potrace/inkscape-potrace.cpp:598 -#, c-format -msgid "Trace: %d. %ld nodes" -msgstr "Wektoryzacja: %d. %ld węzłów" +#. TRANSLATORS: "end" is an adjective here (NOT a verb) +#: ../src/nodepath.cpp:4751 +msgid "end node" +msgstr "węzeł końcowy" -#: ../src/trace/trace.cpp:71 ../src/trace/trace.cpp:136 -#: ../src/trace/trace.cpp:144 ../src/trace/trace.cpp:243 -msgid "Select an image to trace" -msgstr "Wybierz obrazek do wektoryzacji" +#. TRANSLATORS: "cusp" means "sharp" (cusp node); see also the Advanced Tutorial +#: ../src/nodepath.cpp:4756 +msgid "cusp" +msgstr "ostry" -#: ../src/trace/trace.cpp:106 -msgid "Select only one image to trace" -msgstr "Wybierz dokładnie jeden obrazek do wektoryzacji" +#. TRANSLATORS: "smooth" is an adjective here +#: ../src/nodepath.cpp:4759 +msgid "smooth" +msgstr "gładki" -#: ../src/trace/trace.cpp:124 -msgid "Select one image and one or more shapes above it" -msgstr "Wybierz jeden obrazek i jeden lub więcej kształtów ponad nim" +#: ../src/nodepath.cpp:4761 +msgid "symmetric" +msgstr "symetryczny" -#: ../src/trace/trace.cpp:234 -msgid "Trace: No active desktop" -msgstr "Wektoryzacja: Brak aktywnego obszaru roboczego" +#. TRANSLATORS: "end" is an adjective here (NOT a verb) +#: ../src/nodepath.cpp:4767 +msgid "end node, handle retracted (drag with Shift to extend)" +msgstr "węzeł końcowy, uchwyt zredukowany (ciągnij z Shift, aby go rozciągnąć)" -#: ../src/trace/trace.cpp:333 -msgid "Invalid SIOX result" -msgstr "Nieprawidłowy wynik SIOX" +#: ../src/nodepath.cpp:4769 +msgid "one handle retracted (drag with Shift to extend)" +msgstr "jeden z uchwytów został zredukowany (ciągnij z Shift, aby go rozciągnąć)" -#: ../src/trace/trace.cpp:438 -msgid "Trace: No active document" -msgstr "Wektoryzacja: Brak aktywnego dokumentu" +#: ../src/nodepath.cpp:4772 +msgid "both handles retracted (drag with Shift to extend)" +msgstr "oba uchwyty zostały zredukowane (przeciągnij z Shift, aby je rozciągnąć)" -#: ../src/trace/trace.cpp:461 -msgid "Trace: Image has no bitmap data" -msgstr "Wektoryzacja: W obrazie nie ma danych rastrowych" +#: ../src/nodepath.cpp:4784 +msgid "Drag nodes or node handles; Alt+drag nodes to sculpt; arrow keys to move nodes, < > to scale, [ ] to rotate" +msgstr "Przeciągnie węzłów lub ich uchwytów: Alt + ciągnięcie węzłów - modelowanie. Klawisze: strzałek - przesuwanie węzłów, < > - skalowanie, [ ] - obracanie" -#: ../src/trace/trace.cpp:468 -msgid "Trace: Starting trace..." -msgstr "Wektoryzacja: Rozpocznij wektoryzację..." +#: ../src/nodepath.cpp:4785 +msgid "Drag the node or its handles; arrow keys to move the node" +msgstr "Przeciąganie węzłów lub ich uchwytów: Klawisze strzałek przesuwają węzeł" -#. ## inform the document, so we can undo -#: ../src/trace/trace.cpp:570 -msgid "Trace bitmap" -msgstr "Wektoryzuj bitmapę" +#: ../src/nodepath.cpp:4811 +#: ../src/nodepath.cpp:4823 +msgid "Select a single object to edit its nodes or handles." +msgstr "Zaznacz pojedynczy obiekt, aby edytować jego węzły lub uchwyty" -#: ../src/trace/trace.cpp:574 +#: ../src/nodepath.cpp:4815 #, c-format -msgid "Trace: Done. %ld nodes created" -msgstr "Wektoryzacja: Zakończono. Utworzono %ld węzłów." +msgid "0 out of %i node selected. Click, Shift+click, or drag around nodes to select." +msgid_plural "0 out of %i nodes selected. Click, Shift+click, or drag around nodes to select." +msgstr[0] "Zaznaczono 0 z %i węzłów. Aby zaznaczyć węzły kliknij, Shift + kliknij, lub wykonaj ciągnięcie wokół węzłów." +msgstr[1] "Zaznaczono 0 z %i węzłów. Aby zaznaczyć węzły kliknij, Shift + kliknij, lub wykonaj ciągnięcie wokół węzłów." +msgstr[2] "Zaznaczono 0 z %i węzłów. Aby zaznaczyć węzły kliknij, Shift + kliknij, lub wykonaj ciągnięcie wokół węzłów." -#: ../src/tweak-context.cpp:960 -msgid "Nothing selected! Select objects to tweak." -msgstr "" -"Nie zaznaczono żadnego obiektu! Zaznacz obiekty do usprawnienia." +#: ../src/nodepath.cpp:4821 +msgid "Drag the handles of the object to modify it." +msgstr "Aby zmodyfikować obiekt przeciągnij uchwyty" -#: ../src/tweak-context.cpp:965 +#: ../src/nodepath.cpp:4829 #, c-format -msgid "Pushing %d selected object" -msgid_plural "Pushing %d selected objects" -msgstr[0] "Popychanie %d zaznaczonego obiektu" -msgstr[1] "Popychanie %d zaznaczonych obiektów" -msgstr[2] "Popychanie %d zaznaczonych obiektów" +msgid "%i of %i node selected; %s. %s." +msgid_plural "%i of %i nodes selected; %s. %s." +msgstr[0] "Zaznaczono %i z %i węzła. %s. %s" +msgstr[1] "Zaznaczono %i z %i węzłów. %s. %s" +msgstr[2] "Zaznaczono %i z %i węzłów. %s. %s" -#: ../src/tweak-context.cpp:970 +#: ../src/nodepath.cpp:4836 #, c-format -msgid "Shrinking %d selected object" -msgid_plural "Shrinking %d selected objects" -msgstr[0] "Zmniejszanie %d zaznaczonego obiektu" -msgstr[1] "Zmniejszanie %d zaznaczonych obiektów" -msgstr[2] "Zmniejszanie %d zaznaczonych obiektów" +msgid "%i of %i node selected in %i of %i subpaths. %s." +msgid_plural "%i of %i nodes selected in %i of %i subpaths. %s." +msgstr[0] "Zaznaczono %i z %i węzła na %i z %i ścieżek zagnieżdżonych. %s." +msgstr[1] "Zaznaczono %i z %i węzłów na %i z %i ścieżek zagnieżdżonych. %s." +msgstr[2] "Zaznaczono %i z %i węzłów na %i z %i ścieżek zagnieżdżonych. %s." -#: ../src/tweak-context.cpp:975 +#: ../src/nodepath.cpp:4842 #, c-format -msgid "Growing %d selected object" -msgid_plural "Growing %d selected objects" -msgstr[0] "Powiększanie %d zaznaczonego obiektu" -msgstr[1] "Powiększanie %d zaznaczonych obiektów" -msgstr[2] "Powiększanie %d zaznaczonych obiektów" +msgid "%i of %i node selected. %s." +msgid_plural "%i of %i nodes selected. %s." +msgstr[0] "Zaznaczono %i z %i węzła. %s" +msgstr[1] "Zaznaczono %i z %i węzłów. %s" +msgstr[2] "Zaznaczono %i z %i węzłów. %s" -#: ../src/tweak-context.cpp:980 -#, c-format -msgid "Attracting %d selected object" -msgid_plural "Attracting %d selected objects" -msgstr[0] "Przyciąganie %d zaznaczonego obiektu" -msgstr[1] "Przyciąganie %d zaznaczonych obiektów" -msgstr[2] "Przyciąganie %d zaznaczonych obiektów" +#: ../src/object-edit.cpp:408 +msgid "Adjust the horizontal rounding radius; with Ctrl to make the vertical radius the same" +msgstr "Ustawianie promienia poziomego zaokrąglenia; z Ctrl ta sama wartość dla promienia zaokrąglenia pionowego" -#: ../src/tweak-context.cpp:985 -#, c-format -msgid "Repelling %d selected object" -msgid_plural "Repelling %d selected objects" -msgstr[0] "Odsuwanie %d zaznaczonego obiektu" -msgstr[1] "Odsuwanie %d zaznaczonych obiektów" -msgstr[2] "Odsuwanie %d zaznaczonych obiektów" +#: ../src/object-edit.cpp:412 +msgid "Adjust the vertical rounding radius; with Ctrl to make the horizontal radius the same" +msgstr "Ustawianie promienia pionowego zaokrąglenia; z Ctrl ta sama wartość dla promienia zaokrąglenia poziomego." -#: ../src/tweak-context.cpp:990 -#, c-format -msgid "Roughening %d selected object" -msgid_plural "Roughening %d selected objects" -msgstr[0] "Tworzenie chropowatości %d zaznaczonego obiektu" -msgstr[1] "Tworzenie chropowatości %d zaznaczonych obiektów" -msgstr[2] "Tworzenie chropowatości %d zaznaczonych obiektów" +#: ../src/object-edit.cpp:416 +#: ../src/object-edit.cpp:420 +msgid "Adjust the width and height of the rectangle; with Ctrlto lock ratio or stretch in one dimension only" +msgstr "Ustawianie szerokości i wysokości prostokąta; z Ctrl blokada proporcji lub zmiana tylko w jednym kierunku." + +#: ../src/object-edit.cpp:654 +#: ../src/object-edit.cpp:657 +#: ../src/object-edit.cpp:660 +#: ../src/object-edit.cpp:663 +msgid "Resize box in X/Y direction; with Shift along the Z axis; with Ctrl to constrain to the directions of edges or diagonals" +msgstr "Zmiana wielkości obiektu w kierunkach X/Y. Z Shift wzdłuż osi Z, zCtrl zachowuje proporcje kierunków krawędzi lub przekątnych." + +#: ../src/object-edit.cpp:666 +#: ../src/object-edit.cpp:669 +#: ../src/object-edit.cpp:672 +#: ../src/object-edit.cpp:675 +msgid "Resize box along the Z axis; with Shift in X/Y direction; with Ctrl to constrain to the directions of edges or diagonals" +msgstr "Zmiana wielkości obiektu wzdłuż osi Z; z Shift w kierunkach X/Y, z Ctrl zachowuje proporcje kierunków krawędzi lub przekątnych." + +#: ../src/object-edit.cpp:678 +msgid "Move the box in perspective" +msgstr "Utwórz perspektywę obiektu" -#: ../src/tweak-context.cpp:995 -#, c-format -msgid "Painting %d selected object" -msgid_plural "Painting %d selected objects" -msgstr[0] "Malowanie %d zaznaczonego obiektu" -msgstr[1] "Malowanie %d zaznaczonych obiektów" -msgstr[2] "Malowanie %d zaznaczonych obiektów" +#: ../src/object-edit.cpp:894 +msgid "Adjust ellipse width, with Ctrl to make circle" +msgstr "Ustawianie szerokości elipsy; z Ctrl - tworzenie okręgu." -#: ../src/tweak-context.cpp:1000 -#, c-format -msgid "Jittering colors in %d selected object" -msgid_plural "Jittering colors in %d selected objects" -msgstr[0] "Desynchronizacja kolorów w %d zaznaczonym obiekcie" -msgstr[1] "Desynchronizacja kolorów w %d zaznaczonych obiektach" -msgstr[2] "Desynchronizacja kolorów w %d zaznaczonych obiektach" - -#: ../src/tweak-context.cpp:1040 -msgid "Push tweak" -msgstr "Udoskonalanie metodą odpychania" +#: ../src/object-edit.cpp:897 +msgid "Adjust ellipse height, with Ctrl to make circle" +msgstr "Ustawianie wysokości elipsy; z Ctrl - tworzenie okręgu." -#: ../src/tweak-context.cpp:1044 -msgid "Shrink tweak" -msgstr "Udoskonalanie wklęśnięć" +#: ../src/object-edit.cpp:900 +#, fuzzy +msgid "Position the start point of the arc or segment; with Ctrlto snap angle; drag inside the ellipse for arc, outside for segment" +msgstr "Ustawianie początku łuku lub wycinka; z Ctrl - przeciąganie o kąt 15°. Ciągnięcie do wewnątrz elipsy daje łuk, na zewnątrz - wycinek elipsy." -#: ../src/tweak-context.cpp:1048 -msgid "Grow tweak" -msgstr "Udoskonalanie uwypuklania" +#: ../src/object-edit.cpp:904 +msgid "Position the end point of the arc or segment; with Ctrl to snap angle; drag inside the ellipse for arc, outside for segment" +msgstr "Ustawianie końca łuku lub wycinka; z Ctrl - przyciąganie o kąt 15°. Ciągnięcie do wewnątrz elipsy daje łuk, na zewnątrz - wycinek elipsy." -#: ../src/tweak-context.cpp:1052 -msgid "Attract tweak" -msgstr "Udoskonalanie przyciągania ścieżek do kursora" +#: ../src/object-edit.cpp:1043 +msgid "Adjust the tip radius of the star or polygon; with Shift to round; with Alt to randomize" +msgstr "Ustawianie promienia wierzchołków gwiazdy lub wielokąta; z Shift - zaokrąglenie, z Alt zniekształcenie losowe." -#: ../src/tweak-context.cpp:1056 -msgid "Repel tweak" -msgstr "Udoskonalanie odpychania ścieżek od kursora" +#: ../src/object-edit.cpp:1050 +msgid "Adjust the base radius of the star; with Ctrl to keep star rays radial (no skew); with Shift to round; with Alt to randomize" +msgstr "Ustawianie promienia podstawy gwiazdy; z Ctrl zachowuje promienistość (bez skręcenia), z Shift - zaokrąglenie, z Alt - zniekształcenie losowe." -#: ../src/tweak-context.cpp:1060 -msgid "Roughen tweak" -msgstr "Udoskonalanie chropowatości" +#: ../src/object-edit.cpp:1231 +msgid "Roll/unroll the spiral from inside; with Ctrl to snap angle; with Alt to converge/diverge" +msgstr "Rozwijanie/zwijanie spirali od środka; z Ctrl - przyciąganie do kąta, z Alt - zwiększenie/zmniejszenie przyrostu." -#: ../src/tweak-context.cpp:1064 -msgid "Color paint tweak" -msgstr "Udoskonalanie malowania kolorem" +#: ../src/object-edit.cpp:1234 +msgid "Roll/unroll the spiral from outside; with Ctrl to snap angle; with Shift to scale/rotate" +msgstr "Rozwiń/zwiń spiralę od zewnątrz; z Ctrl przyciąganie do kąta; z Shift skalowanie/obrót; z Alt bez zmiany promienia" -#: ../src/tweak-context.cpp:1068 -msgid "Color jitter tweak" -msgstr "Udoskonalanie desynchronizacji koloru" +#: ../src/object-edit.cpp:1278 +msgid "Adjust the offset distance" +msgstr "Ustawianie odległości odsunięcia." + +#: ../src/object-edit.cpp:1314 +msgid "Drag to resize the flowed text frame" +msgstr "Ciągnij, aby zmienić rozmiar ramki z tekstem" + +#: ../src/path-chemistry.cpp:60 +msgid "Select at least two objects to combine." +msgstr "Wybierz co najmniej dwa obiekty do połączenia" + +#: ../src/path-chemistry.cpp:64 +msgid "Combining paths..." +msgstr "Łączenie ścieżek..." + +#: ../src/path-chemistry.cpp:166 +msgid "Combine" +msgstr "Połącz" -#. check whether something is selected -#: ../src/ui/clipboard.cpp:205 -msgid "Nothing was copied." -msgstr "Nic nie skopiowano" +#: ../src/path-chemistry.cpp:173 +msgid "No path(s) to combine in the selection." +msgstr "W zaznaczeniu brak ścieżek do połączenia" -#: ../src/ui/clipboard.cpp:266 ../src/ui/clipboard.cpp:428 -#: ../src/ui/clipboard.cpp:452 -msgid "Nothing on the clipboard." -msgstr "Schowek jest pusty" +#: ../src/path-chemistry.cpp:185 +msgid "Select path(s) to break apart." +msgstr "Wybierz jedną lub więcej ścieżek do rozdzielenia na części" -#: ../src/ui/clipboard.cpp:288 -msgid "Select object(s) to paste style to." -msgstr "Zaznacz obiekt(y), do którego(ych) wkleić styl" +#: ../src/path-chemistry.cpp:189 +msgid "Breaking apart paths..." +msgstr "Rozdzielanie ścieżek..." -#: ../src/ui/clipboard.cpp:294 ../src/ui/clipboard.cpp:311 -msgid "No style on the clipboard." -msgstr "Schowek jest pusty" +#: ../src/path-chemistry.cpp:275 +msgid "Break apart" +msgstr "Rozdziel" -#: ../src/ui/clipboard.cpp:333 -msgid "Select object(s) to paste size to." -msgstr "Zaznacz obiekt(y), do których wkleić rozmiar" +#: ../src/path-chemistry.cpp:277 +msgid "No path(s) to break apart in the selection." +msgstr "W zaznaczeniu brak ścieżek do rozdzielenia na części" -#: ../src/ui/clipboard.cpp:340 -msgid "No size on the clipboard." -msgstr "Schowek jest pusty" +#: ../src/path-chemistry.cpp:295 +msgid "Select object(s) to convert to path." +msgstr "Zaznacz obiekty do przekształcenia na ścieżki" -#: ../src/ui/clipboard.cpp:391 -msgid "Select object(s) to paste live path effect to." -msgstr "Zaznacz obiekt(y), do których wkleić efekt ścieżki" +#: ../src/path-chemistry.cpp:301 +msgid "Converting objects to paths..." +msgstr "Konwertowanie obiektów na ścieżki..." -#. no_effect: -#: ../src/ui/clipboard.cpp:415 -msgid "No effect on the clipboard." -msgstr "Schowek jest pusty" +#: ../src/path-chemistry.cpp:323 +msgid "Object to path" +msgstr "Obiekt na ścieżkę" -#: ../src/ui/clipboard.cpp:435 ../src/ui/clipboard.cpp:462 -msgid "Clipboard does not contain a path." -msgstr "Schowek nie zawiera ścieżki" +#: ../src/path-chemistry.cpp:325 +msgid "No objects to convert to path in the selection." +msgstr "W zaznaczeniu brak obiektów do przekształcenia na ścieżki" -#. Item dialog -#: ../src/ui/context-menu.cpp:100 -msgid "Object _Properties" -msgstr "Właściwości _obiektu" +#: ../src/path-chemistry.cpp:489 +msgid "Select path(s) to reverse." +msgstr "Zaznacz jedną lub więcej ścieżek, których kierunek zostanie odwrócony" -#. Select item -#: ../src/ui/context-menu.cpp:110 -msgid "_Select This" -msgstr "_Zaznacz ten obiekt" +#: ../src/path-chemistry.cpp:498 +msgid "Reversing paths..." +msgstr "Odwracanie ścieżek..." -#. Create link -#: ../src/ui/context-menu.cpp:120 -msgid "_Create Link" -msgstr "_Utwórz odnośnik" +#: ../src/path-chemistry.cpp:525 +msgid "Reverse path" +msgstr "Odwróć kierunek ścieżki" -#: ../src/ui/context-menu.cpp:177 -msgid "Create link" -msgstr "Utwórz odnośnik" +#: ../src/path-chemistry.cpp:527 +msgid "No paths to reverse in the selection." +msgstr "W zaznaczeniu brak ścieżek, dla których można odwrócić kierunek" -#. "Ungroup" -#: ../src/ui/context-menu.cpp:195 ../src/verbs.cpp:2279 -msgid "_Ungroup" -msgstr "_Rozdziel grupę" +#: ../src/pen-context.cpp:252 +#: ../src/pencil-context.cpp:486 +msgid "Drawing cancelled" +msgstr "Rysowanie anulowane" -#. Link dialog -#: ../src/ui/context-menu.cpp:235 -msgid "Link _Properties" -msgstr "Wł_aściwości odnośnika" +#: ../src/pen-context.cpp:483 +#: ../src/pencil-context.cpp:250 +msgid "Continuing selected path" +msgstr "Kontynuowanie zaznaczonej ścieżki" -#. Select item -#: ../src/ui/context-menu.cpp:241 -msgid "_Follow Link" -msgstr "_Podążaj za odnośnikiem" +#: ../src/pen-context.cpp:493 +#: ../src/pencil-context.cpp:259 +msgid "Creating new path" +msgstr "Tworzenie nowej ścieżki" -#. Reset transformations -#: ../src/ui/context-menu.cpp:246 -msgid "_Remove Link" -msgstr "_Usuń odnośnik" +#: ../src/pen-context.cpp:495 +#: ../src/pencil-context.cpp:264 +msgid "Appending to selected path" +msgstr "Dodawanie segmentów do zaznaczonej ścieżki" -#. Link dialog -#: ../src/ui/context-menu.cpp:294 -msgid "Image _Properties" -msgstr "Wł_aściwości obrazka" +#: ../src/pen-context.cpp:655 +msgid "Click or click and drag to close and finish the path." +msgstr "Kliknij lub kliknij i ciągnij, aby zamknąć i zakończyć ścieżkę" -#: ../src/ui/context-menu.cpp:300 -#, fuzzy -msgid "Edit Externally..." -msgstr "Edytuj wypełnienie..." +#: ../src/pen-context.cpp:665 +msgid "Click or click and drag to continue the path from this point." +msgstr "Kliknij lub kliknij i ciągnij, aby kontynuować ścieżkę od tego punktu" -#. Item dialog -#: ../src/ui/context-menu.cpp:392 -msgid "_Fill and Stroke" -msgstr "_Wypełnienie i kontur" +#: ../src/pen-context.cpp:1256 +#, fuzzy, c-format +msgid "Curve segment: angle %3.2f°, distance %s; with Ctrl to snap angle, Enter to finish the path" +msgstr " kąt %3.2f°, odległość %s; z Ctrl przyciąganie do kąta, Enter, aby zakończyć ścieżkę" -#. * -#. * Constructor -#. -#: ../src/ui/dialog/aboutbox.cpp:77 -msgid "About Inkscape" -msgstr "Informacje o programie Inkscape" +#: ../src/pen-context.cpp:1257 +#, fuzzy, c-format +msgid "Line segment: angle %3.2f°, distance %s; with Ctrl to snap angle, Enter to finish the path" +msgstr " kąt %3.2f°, odległość %s; z Ctrl przyciąganie do kąta, Enter, aby zakończyć ścieżkę" -#: ../src/ui/dialog/aboutbox.cpp:88 -msgid "_Splash" -msgstr "_Ekran powitalny" +#: ../src/pen-context.cpp:1275 +#, c-format +msgid "Curve handle: angle %3.2f°, length %s; with Ctrl to snap angle" +msgstr "Uchwyt krzywej: kąt %3.2f°, odległość %s; z Ctrl - przyciąganie do kąta." -#: ../src/ui/dialog/aboutbox.cpp:92 -msgid "_Authors" -msgstr "_Autorzy" +#: ../src/pen-context.cpp:1297 +#, fuzzy, c-format +msgid "Curve handle, symmetric: angle %3.2f°, length %s; with Ctrl to snap angle, with Shift to move this handle only" +msgstr " kąt %3.2f°, długość %s; z Ctrl - przyciąganie do kąta, z Shift - przesuwanie tylko tego uchwytu." -#: ../src/ui/dialog/aboutbox.cpp:94 -msgid "_Translators" -msgstr "_Tłumacze" +#: ../src/pen-context.cpp:1298 +#, fuzzy, c-format +msgid "Curve handle: angle %3.2f°, length %s; with Ctrl to snap angle, with Shift to move this handle only" +msgstr " kąt %3.2f°, długość %s; z Ctrl - przyciąganie do kąta, z Shift - przesuwanie tylko tego uchwytu." -#: ../src/ui/dialog/aboutbox.cpp:96 -msgid "_License" -msgstr "_Licencja" +#: ../src/pen-context.cpp:1345 +msgid "Drawing finished" +msgstr "Zakończono rysowanie" -#. TRANSLATORS: This is the filename of the `About Inkscape' picture in -#. the `screens' directory. Thus the translation of "about.svg" should be -#. the filename of its translated version, e.g. about.zh.svg for Chinese. -#. -#. N.B. about.svg changes once per release. (We should probably rename -#. the original to about-0.40.svg etc. as soon as we have a translation. -#. If we do so, then add an item to release-checklist saying that the -#. string here should be changed.) -#. FIXME? INKSCAPE_SCREENSDIR and "about.svg" are in UTF-8, not the -#. native filename encoding... and the filename passed to sp_document_new -#. should be in UTF-*8.. -#: ../src/ui/dialog/aboutbox.cpp:149 -msgid "about.svg" -msgstr "about.svg" +#: ../src/pencil-context.cpp:362 +msgid "Release here to close and finish the path." +msgstr "Zwolnij przycisk w tym miejscu, aby zamknąć i zakończyć ścieżkę" -#. TRANSLATORS: Put here your name (and other national contributors') -#. one per line in the form of: name surname (email). Use \n for newline. -#: ../src/ui/dialog/aboutbox.cpp:338 -msgid "translator-credits" -msgstr "" -"Polska lokalizacja wykonana przez:\n" -"2005-2006 - Przemysław Loesch (p_loesch@poczta.onet.pl)\n" -"2008 - Polski Zespół lokalizacyjny Inkscape (inkscapeplteam@gmail.com)\n" -"W składzie: Leszek(teo)Å»yczkowski, Marcin Floryan, Piotr Parafiniuk i inni" +#: ../src/pencil-context.cpp:368 +msgid "Drawing a freehand path" +msgstr "Rysowanie krzywej odręcznej" -#: ../src/ui/dialog/align-and-distribute.cpp:234 -#: ../src/ui/dialog/align-and-distribute.cpp:776 -msgid "Align" -msgstr "Wyrównaj" +#: ../src/pencil-context.cpp:373 +msgid "Drag to continue the path from this point." +msgstr "Ciągnij, aby kontynuować ścieżkę od tego punktu" -#: ../src/ui/dialog/align-and-distribute.cpp:392 -#: ../src/ui/dialog/align-and-distribute.cpp:777 -msgid "Distribute" -msgstr "Rozłóż" +#. Write curves to object +#: ../src/pencil-context.cpp:435 +msgid "Finishing freehand" +msgstr "Zakończono rysowanie krzywej" -#: ../src/ui/dialog/align-and-distribute.cpp:461 -msgid "Minimum horizontal gap (in px units) between bounding boxes" -msgstr "Minimalny odstęp poziomy (w pikselach) pomiędzy obramowaniami obiektów" +#: ../src/persp3d.cpp:335 +msgid "Toggle vanishing point" +msgstr "Przełącz punkty zbiegu" -#. TRANSLATORS: Horizontal gap. Only put "H:" equivalent in the translation -#: ../src/ui/dialog/align-and-distribute.cpp:463 -msgid "gap|H:" -msgstr "Poziom:" +#: ../src/persp3d.cpp:346 +msgid "Toggle multiple vanishing points" +msgstr "Przełącz wiele punktów zbiegu" -#: ../src/ui/dialog/align-and-distribute.cpp:471 -msgid "Minimum vertical gap (in px units) between bounding boxes" -msgstr "Minimalny odstęp pionowy (w pikselach) pomiędzy obramowaniami obiektów" +#: ../src/preferences.cpp:74 +#, fuzzy +msgid "Inkscape will run with default settings, and new settings will not be saved. " +msgstr "" +"Inkscape zostanie uruchomiony z domyślnymi ustawieniami.\n" +"Nowe ustawienia nie zostaną zapisane." -#. TRANSLATORS: Vertical gap -#: ../src/ui/dialog/align-and-distribute.cpp:473 -msgid "V:" -msgstr "Pion.:" +#. the creation failed +#. _errorDialog(Glib::ustring::compose(_("Cannot create profile directory %1."), +#. Glib::filename_to_utf8(_prefs_dir)), not_saved); +#: ../src/preferences.cpp:89 +#, c-format +msgid "Cannot create profile directory %s." +msgstr "Nie można utworzyć katalogu profilu %s." -#: ../src/ui/dialog/align-and-distribute.cpp:501 -#: ../src/ui/dialog/align-and-distribute.cpp:778 -#: ../src/widgets/toolbox.cpp:5626 -msgid "Remove overlaps" -msgstr "Usuń nakładanie" +#. The profile dir is not actually a directory +#. _errorDialog(Glib::ustring::compose(_("%1 is not a valid directory."), +#. Glib::filename_to_utf8(_prefs_dir)), not_saved); +#: ../src/preferences.cpp:107 +#, c-format +msgid "%s is not a valid directory." +msgstr "%s nie jest poprawnym katalogiem." -#: ../src/ui/dialog/align-and-distribute.cpp:531 -#: ../src/widgets/toolbox.cpp:5484 -msgid "Arrange connector network" -msgstr "Rozmieść łącznik sieci" +#. The write failed. +#. _errorDialog(Glib::ustring::compose(_("Failed to create the preferences file %1."), +#. Glib::filename_to_utf8(_prefs_filename)), not_saved); +#: ../src/preferences.cpp:118 +#, c-format +msgid "Failed to create the preferences file %s." +msgstr "Nie udało się utworzyć pliku ustawień %s" -#: ../src/ui/dialog/align-and-distribute.cpp:561 -msgid "Unclump" -msgstr "Rozproszenie" +#. _errorDialog(Glib::ustring::compose(_("The preferences file %1 is not a regular file."), +#. Glib::filename_to_utf8(_prefs_filename)), not_saved); +#: ../src/preferences.cpp:136 +#, c-format +msgid "The preferences file %s is not a regular file." +msgstr "Plik ustawień %s nie jest poprawnym plikiem." -#: ../src/ui/dialog/align-and-distribute.cpp:631 -msgid "Randomize positions" -msgstr "Zmiana losowa położenia" +#. _errorDialog(Glib::ustring::compose(_("The preferences file %1 could not be read."), +#. Glib::filename_to_utf8(_prefs_filename)), not_saved); +#: ../src/preferences.cpp:148 +#, c-format +msgid "The preferences file %s could not be read." +msgstr "Nie można odczytać pliku ustawień %s." -#: ../src/ui/dialog/align-and-distribute.cpp:728 -msgid "Distribute text baselines" -msgstr "Ułóż tekst wg linii bazowej" +#. _errorDialog(Glib::ustring::compose(_("The preferences file %1 is not a valid XML document."), +#. Glib::filename_to_utf8(_prefs_filename)), not_saved); +#: ../src/preferences.cpp:160 +#, c-format +msgid "The preferences file %s is not a valid XML document." +msgstr "" -#: ../src/ui/dialog/align-and-distribute.cpp:748 -msgid "Align text baselines" -msgstr "Wyrównaj tekst wg linii bazowej" +#. _errorDialog(Glib::ustring::compose(_("The file %1 is not a valid Inkscape preferences file."), +#. Glib::filename_to_utf8(_prefs_filename)), not_saved); +#: ../src/preferences.cpp:170 +#, c-format +msgid "The file %s is not a valid Inkscape preferences file." +msgstr "Plik %s nie jest poprawnym plikiem ustawień Inkscape'a." -#: ../src/ui/dialog/align-and-distribute.cpp:779 -msgid "Connector network layout" -msgstr "Wygląd łączników sieci" +#: ../src/rect-context.cpp:383 +msgid "Ctrl: make square or integer-ratio rect, lock a rounded corner circular" +msgstr "Ctrl - tworzy kwadrat, lub prostokąt o równych proporcjach, " -#: ../src/ui/dialog/align-and-distribute.cpp:780 -msgid "Nodes" -msgstr "Węzły" +#: ../src/rect-context.cpp:524 +#, c-format +msgid "Rectangle: %s × %s (constrained to ratio %d:%d); with Shift to draw around the starting point" +msgstr "Prostokąt: %s × %s (o proporcjach %d:%d). Z Shift - rysowanie wokół punktu początkowego." -#: ../src/ui/dialog/align-and-distribute.cpp:786 -msgid "Relative to: " -msgstr "Element sterujący: " +#: ../src/rect-context.cpp:527 +#, c-format +msgid "Rectangle: %s × %s (constrained to golden ratio 1.618 : 1); with Shift to draw around the starting point" +msgstr "Prostokąt: %s × %s; (o ustalonej złotej proporcji 1.618 : 1). Z Shift - rysowanie wokół punktu początkowego." -#: ../src/ui/dialog/align-and-distribute.cpp:791 -msgid "Align right sides of objects to left side of anchor" -msgstr "" -"Wyrównuje prawe krawędzie obiektów do lewej strony elementu sterującego" +#: ../src/rect-context.cpp:529 +#, c-format +msgid "Rectangle: %s × %s (constrained to golden ratio 1 : 1.618); with Shift to draw around the starting point" +msgstr "Prostokąt: %s × %s; (o ustalonej złotej proporcji 1.618 : 1). Z Shift - rysowanie wokół punktu początkowego." -#: ../src/ui/dialog/align-and-distribute.cpp:794 -msgid "Align left sides" -msgstr "Wyrównuje lewe krawędzie" +#: ../src/rect-context.cpp:533 +#, c-format +msgid "Rectangle: %s × %s; with Ctrl to make square or integer-ratio rectangle; with Shift to draw around the starting point" +msgstr "Prostokąt: %s × %s; z Ctrl - rysowanie kwadratu lub prostokąta o równych proporcjach, z Shift - rysowanie wokół punktu początkowego." -#: ../src/ui/dialog/align-and-distribute.cpp:797 -msgid "Center on vertical axis" -msgstr "Wyśrodkowuje na osi pionowej" +#: ../src/rect-context.cpp:554 +msgid "Create rectangle" +msgstr "Utwórz prostokąt" -#: ../src/ui/dialog/align-and-distribute.cpp:800 -msgid "Align right sides" -msgstr "Wyrównuje prawe krawędzie" +#: ../src/select-context.cpp:230 +msgid "Move canceled." +msgstr "Przesunięcie anulowane" -#: ../src/ui/dialog/align-and-distribute.cpp:803 -msgid "Align left sides of objects to right side of anchor" -msgstr "" -"Wyrównuje lewe krawędzie obiektów do prawej strony elementu sterującego" +#: ../src/select-context.cpp:238 +msgid "Selection canceled." +msgstr "Zaznaczanie anulowane" -#: ../src/ui/dialog/align-and-distribute.cpp:806 -msgid "Align bottoms of objects to top of anchor" -msgstr "Wyrównuje dolne krawędzie obiektów do góry elementu sterującego" +#: ../src/select-context.cpp:545 +msgid "Draw over objects to select them; release Alt to switch to rubberband selection" +msgstr "Wykonaj ciągnięcie ponad obiektami, aby je zaznaczyć. Naciśnij Alt, aby przełączyć do zaznaczania elastycznego." -#: ../src/ui/dialog/align-and-distribute.cpp:809 -msgid "Align tops" -msgstr "Wyrównuje górne krawędzie" +#: ../src/select-context.cpp:547 +msgid "Drag around objects to select them; press Alt to switch to touch selection" +msgstr "Wykonaj ciągnięcie wokół obiektów, aby je zaznaczyć. Naciśnij Alt, aby przełączyć do zaznaczania dotykowego." -#: ../src/ui/dialog/align-and-distribute.cpp:812 -msgid "Center on horizontal axis" -msgstr "Wyśrodkowuje na osi poziomej" +#: ../src/select-context.cpp:707 +msgid "Ctrl: click to select in groups; drag to move hor/vert" +msgstr "Ctrl + kliknięcie, aby zaznaczyć wewnątrz grupy, ciągnięcie, aby przesunąć w poziomie/pionie" -#: ../src/ui/dialog/align-and-distribute.cpp:815 -msgid "Align bottoms" -msgstr "Wyrównuje dolne krawędzie" +#: ../src/select-context.cpp:708 +msgid "Shift: click to toggle select; drag for rubberband selection" +msgstr "Shift + kliknięcie, aby przełączyć zaznaczenie, ciągnięcie, aby elastycznie zaznaczyć" -#: ../src/ui/dialog/align-and-distribute.cpp:818 -msgid "Align tops of objects to bottom of anchor" -msgstr "Wyrównuje górne krawędzie obiektów do dołu elementu sterującego" +#: ../src/select-context.cpp:709 +msgid "Alt: click to select under; drag to move selected or select by touch" +msgstr "Alt + kliknięcie, aby zaznaczyć zasłonięty obiekt, ciągnięcie, aby przesunąć zaznaczenie lub zaznaczyć przez dotknięcie" -#: ../src/ui/dialog/align-and-distribute.cpp:823 -msgid "Align baseline anchors of texts vertically" -msgstr "Wyrównuje linie bazowe kotwic tekstów do linii pionowej" +#: ../src/select-context.cpp:880 +msgid "Selected object is not a group. Cannot enter." +msgstr "Zaznaczony obiekt nie jest grupą. Nie można do niego wejść." -#: ../src/ui/dialog/align-and-distribute.cpp:826 -msgid "Align baseline anchors of texts horizontally" -msgstr "Wyrównuje linie bazowe kotwic tekstów do linii poziomej" +#: ../src/selection-chemistry.cpp:192 +msgid "Delete text" +msgstr "Usuń tekst" -#: ../src/ui/dialog/align-and-distribute.cpp:831 -msgid "Make horizontal gaps between objects equal" -msgstr "Wyrównuje odstępy pomiędzy obiektami w poziomie" +#: ../src/selection-chemistry.cpp:200 +msgid "Nothing was deleted." +msgstr "Nic nie usunięto" + +#: ../src/selection-chemistry.cpp:218 +#: ../src/text-context.cpp:1012 +#: ../src/widgets/toolbox.cpp:1280 +#: ../src/widgets/toolbox.cpp:5294 +msgid "Delete" +msgstr "Usuń" -#: ../src/ui/dialog/align-and-distribute.cpp:835 -msgid "Distribute left sides equidistantly" -msgstr "Rozkłada lewe krawędzie obiektów w równych odstępach" +#: ../src/selection-chemistry.cpp:246 +msgid "Select object(s) to duplicate." +msgstr "Zaznacz obiekty do powielenia" -#: ../src/ui/dialog/align-and-distribute.cpp:838 -msgid "Distribute centers equidistantly horizontally" -msgstr "Rozkłada środki obiektów w równych odstępach poziomo" +#: ../src/selection-chemistry.cpp:336 +msgid "Delete all" +msgstr "Usuń wszystko" -#: ../src/ui/dialog/align-and-distribute.cpp:841 -msgid "Distribute right sides equidistantly" -msgstr "Rozkłada prawe krawędzie obiektów w równych odstępach" +#: ../src/selection-chemistry.cpp:459 +msgid "Select some objects to group." +msgstr "Zaznacz kilka obiektów, aby połączyć je w grupę" -#: ../src/ui/dialog/align-and-distribute.cpp:845 -msgid "Make vertical gaps between objects equal" -msgstr "Wyrównuje odstępy pomiędzy obiektami w pionie" +#: ../src/selection-chemistry.cpp:532 +#: ../src/selection-describer.cpp:51 +msgid "Group" +msgstr "Grupa" -#: ../src/ui/dialog/align-and-distribute.cpp:849 -msgid "Distribute tops equidistantly" -msgstr "Rozkłada górne krawędzie obiektów w równych odstępach" +#: ../src/selection-chemistry.cpp:546 +msgid "Select a group to ungroup." +msgstr "Zaznacz grupę do rozdzielenia" -#: ../src/ui/dialog/align-and-distribute.cpp:852 -msgid "Distribute centers equidistantly vertically" -msgstr "Rozkłada środki obiektów w równych odstępach w pionie" +#: ../src/selection-chemistry.cpp:587 +msgid "No groups to ungroup in the selection." +msgstr "W zaznaczeniu brak grup do rozdzielenia" -#: ../src/ui/dialog/align-and-distribute.cpp:855 -msgid "Distribute bottoms equidistantly" -msgstr "Rozkłada dolne krawędzie obiektów w równych odstępach" +#: ../src/selection-chemistry.cpp:593 +#: ../src/sp-item-group.cpp:498 +msgid "Ungroup" +msgstr "Rozdziel grupę" -#: ../src/ui/dialog/align-and-distribute.cpp:860 -msgid "Distribute baseline anchors of texts horizontally" -msgstr "Rozkłada kotwice tekstów w równych odstępach w poziomie" +#: ../src/selection-chemistry.cpp:653 +msgid "Select object(s) to raise." +msgstr "Zaznacz obiekt(y) do przeniesienia wyżej" -#: ../src/ui/dialog/align-and-distribute.cpp:863 -msgid "Distribute baseline anchors of texts vertically" -msgstr "Rozkłada kotwice tekstów w równych odstępach w pionie" +#: ../src/selection-chemistry.cpp:659 +#: ../src/selection-chemistry.cpp:719 +#: ../src/selection-chemistry.cpp:753 +#: ../src/selection-chemistry.cpp:817 +msgid "You cannot raise/lower objects from different groups or layers." +msgstr "Nie można przenieść wyżej/niżej obiektów należących do różnych grup lub warstw" -#: ../src/ui/dialog/align-and-distribute.cpp:868 -msgid "Randomize centers in both dimensions" -msgstr "Rozkłada losowo środki obiektów w obu kierunkach" +#. TRANSLATORS: Only put the word "Raise" in the translation. Means "to raise an object" in the undo history +#: ../src/selection-chemistry.cpp:699 +msgid "undo_action|Raise" +msgstr "Podwyższenie" -#: ../src/ui/dialog/align-and-distribute.cpp:871 -msgid "Unclump objects: try to equalize edge-to-edge distances" -msgstr "Rozkłada obiekty próbując wyrównać odległości pomiędzy krawędziami" +#: ../src/selection-chemistry.cpp:711 +msgid "Select object(s) to raise to top." +msgstr "Zaznacz obiekt(y) do przeniesienia na wierzch" -#: ../src/ui/dialog/align-and-distribute.cpp:876 -msgid "" -"Move objects as little as possible so that their bounding boxes do not " -"overlap" -msgstr "Przesuwa obiekty tylko o tyle, aby ich obramowania nie nakładały się" +#: ../src/selection-chemistry.cpp:734 +msgid "Raise to top" +msgstr "Przenieś na wierzch" -#: ../src/ui/dialog/align-and-distribute.cpp:880 -#: ../src/widgets/toolbox.cpp:5588 -msgid "Nicely arrange selected connector network" -msgstr "Rozłóż równomiernie zaznaczone łączniki" +#: ../src/selection-chemistry.cpp:747 +msgid "Select object(s) to lower." +msgstr "Zaznacz obiekt(y) do przeniesienia niżej" -#: ../src/ui/dialog/align-and-distribute.cpp:885 -msgid "Align selected nodes horizontally" -msgstr "Ustawia zaznaczone węzły w linii poziomej" +#: ../src/selection-chemistry.cpp:797 +msgid "Lower" +msgstr "Przesuń niżej" -#: ../src/ui/dialog/align-and-distribute.cpp:888 -msgid "Align selected nodes vertically" -msgstr "Ustawia zaznaczone węzły w linii pionowej" +#: ../src/selection-chemistry.cpp:809 +msgid "Select object(s) to lower to bottom." +msgstr "Zaznacz obiekt(y) do przeniesienia na spód" -#: ../src/ui/dialog/align-and-distribute.cpp:891 -msgid "Distribute selected nodes horizontally" -msgstr "Wyrównuje odstępy w poziomie pomiędzy zaznaczonymi węzłami" +#: ../src/selection-chemistry.cpp:844 +msgid "Lower to bottom" +msgstr "Przenieś na spód" -#: ../src/ui/dialog/align-and-distribute.cpp:894 -msgid "Distribute selected nodes vertically" -msgstr "Wyrównuje odstępy w pionie pomiędzy zaznaczonymi węzłami" +#: ../src/selection-chemistry.cpp:851 +msgid "Nothing to undo." +msgstr "Brak zmian do cofnięcia" -#. Rest of the widgetry -#: ../src/ui/dialog/align-and-distribute.cpp:899 -msgid "Last selected" -msgstr "Ostatni zaznaczony" +#: ../src/selection-chemistry.cpp:858 +msgid "Nothing to redo." +msgstr "Brak zmian do przywrócenia" -#: ../src/ui/dialog/align-and-distribute.cpp:900 -msgid "First selected" -msgstr "Pierwszy zaznaczony" +#: ../src/selection-chemistry.cpp:918 +msgid "Paste" +msgstr "Wklej" -#: ../src/ui/dialog/align-and-distribute.cpp:901 -msgid "Biggest item" -msgstr "Największy element" +#: ../src/selection-chemistry.cpp:925 +msgid "Paste style" +msgstr "Wklej styl" -#: ../src/ui/dialog/align-and-distribute.cpp:902 -msgid "Smallest item" -msgstr "Najmniejszy element" +#: ../src/selection-chemistry.cpp:934 +msgid "Paste live path effect" +msgstr "Wklej efekt żywej ścieżki" -#: ../src/ui/dialog/align-and-distribute.cpp:904 -#: ../src/widgets/desktop-widget.cpp:1548 -msgid "Drawing" -msgstr "Rysunek" +#: ../src/selection-chemistry.cpp:953 +msgid "Select object(s) to remove live path effects from." +msgstr "Zaznacz obiekt(y) z których usunąć efekt żywej ścieżki" -#: ../src/ui/dialog/document-metadata.cpp:79 -msgid "Metadata" -msgstr "Metadane" +#: ../src/selection-chemistry.cpp:965 +msgid "Remove live path effect" +msgstr "Usuń efekt żywej ścieżki" -#: ../src/ui/dialog/document-metadata.cpp:80 -msgid "License" -msgstr "Licencja" +#: ../src/selection-chemistry.cpp:976 +msgid "Select object(s) to remove filters from." +msgstr "Zaznacz obiekt(y) do usunięcia filtrów" -#: ../src/ui/dialog/document-metadata.cpp:160 -msgid "Dublin Core Entities" -msgstr "Jednostki Dublin Core" +#: ../src/selection-chemistry.cpp:986 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1367 +msgid "Remove filter" +msgstr "Usuń filtr" -#: ../src/ui/dialog/document-metadata.cpp:182 -msgid "License" -msgstr "Licencja" +#: ../src/selection-chemistry.cpp:995 +msgid "Paste size" +msgstr "Wklej rozmiar" -#. --------------------------------------------------------------- -#: ../src/ui/dialog/document-properties.cpp:88 -msgid "Show page _border" -msgstr "Wyświetlaj _kontur strony" +#: ../src/selection-chemistry.cpp:1003 +msgid "Paste size separately" +msgstr "Wklej rozmiar oddzielnie" -#: ../src/ui/dialog/document-properties.cpp:88 -msgid "If set, rectangular page border is shown" -msgstr "Jeśli opcja ta zostanie zaznaczona, będzie wyświetlany kontur strony" +#: ../src/selection-chemistry.cpp:1012 +msgid "Select object(s) to move to the layer above." +msgstr "Wybierz obiekt(y) do przeniesienia na wyższą warstwę" -#: ../src/ui/dialog/document-properties.cpp:89 -msgid "Border on _top of drawing" -msgstr "Kontur _widoczny przez rysunek" +#: ../src/selection-chemistry.cpp:1038 +msgid "Raise to next layer" +msgstr "Przenieś na wyższą warstwę" -#: ../src/ui/dialog/document-properties.cpp:89 -msgid "If set, border is always on top of the drawing" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, poprzez elementy rysunku będzie widoczny " -"kontur strony" +#: ../src/selection-chemistry.cpp:1045 +msgid "No more layers above." +msgstr "Brak wyższych warstw" -#: ../src/ui/dialog/document-properties.cpp:90 -msgid "_Show border shadow" -msgstr "Wyświetlaj _cień strony" +#: ../src/selection-chemistry.cpp:1057 +msgid "Select object(s) to move to the layer below." +msgstr "Wybierz obiekt(y) do przeniesienia na niższą warstwę" -#: ../src/ui/dialog/document-properties.cpp:90 -msgid "If set, page border shows a shadow on its right and lower side" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, po prawej stronie i na dole konturu " -"będzie wyświetlany cień" +#: ../src/selection-chemistry.cpp:1083 +msgid "Lower to previous layer" +msgstr "Przenieś na niższą warstwę" -#: ../src/ui/dialog/document-properties.cpp:91 -msgid "Back_ground:" -msgstr "_Tło:" +#: ../src/selection-chemistry.cpp:1090 +msgid "No more layers below." +msgstr "Brak niższych warstw" -#: ../src/ui/dialog/document-properties.cpp:91 -msgid "Background color" -msgstr "Kolor tła" +#: ../src/selection-chemistry.cpp:1277 +msgid "Remove transform" +msgstr "Usuń przekształcenie" -#: ../src/ui/dialog/document-properties.cpp:91 -msgid "" -"Color and transparency of the page background (also used for bitmap export)" -msgstr "" -"Kolor i przezroczystość tła strony (używane również przy eksporcie do " -"bitmapy)" +#: ../src/selection-chemistry.cpp:1380 +msgid "Rotate 90° CCW" +msgstr "Obróć o 90° w lewo" -#: ../src/ui/dialog/document-properties.cpp:92 -msgid "Border _color:" -msgstr "Kolor konturu:" +#: ../src/selection-chemistry.cpp:1380 +msgid "Rotate 90° CW" +msgstr "Obróć o 90° w prawo" -#: ../src/ui/dialog/document-properties.cpp:92 -msgid "Page border color" -msgstr "Kolor konturu strony" +#: ../src/selection-chemistry.cpp:1401 +#: ../src/seltrans.cpp:452 +#: ../src/ui/dialog/transformation.cpp:757 +msgid "Rotate" +msgstr "Obróć" -#: ../src/ui/dialog/document-properties.cpp:92 -msgid "Color of the page border" -msgstr "Kolor konturu strony" +#: ../src/selection-chemistry.cpp:1448 +msgid "Rotate by pixels" +msgstr "Obróć wg pikseli" -#: ../src/ui/dialog/document-properties.cpp:93 -msgid "Default _units:" -msgstr "Domyślne _jednostki:" +#: ../src/selection-chemistry.cpp:1503 +msgid "Scale by whole factor" +msgstr "Skaluj przez cały faktor" -#. --------------------------------------------------------------- -#. General snap options -#: ../src/ui/dialog/document-properties.cpp:97 -msgid "Show _guides" -msgstr "_Wyświetlaj prowadnice" +#: ../src/selection-chemistry.cpp:1518 +msgid "Move vertically" +msgstr "Przesuń w pionie" -#: ../src/ui/dialog/document-properties.cpp:97 -msgid "Show or hide guides" -msgstr "Jeśli opcja ta zostanie zaznaczona, będą wyświetlane prowadnice" +#: ../src/selection-chemistry.cpp:1521 +msgid "Move horizontally" +msgstr "Przesuń w poziomie" -#: ../src/ui/dialog/document-properties.cpp:98 -msgid "_Snap guides while dragging" -msgstr "_Przyciągaj prowadnice podczas przeciągania" +#: ../src/selection-chemistry.cpp:1524 +#: ../src/selection-chemistry.cpp:1550 +#: ../src/seltrans.cpp:446 +#: ../src/ui/dialog/transformation.cpp:680 +msgid "Move" +msgstr "Przesuń" -#: ../src/ui/dialog/document-properties.cpp:98 -msgid "" -"While dragging a guide, snap to object nodes or bounding box corners ('Snap " -"to nodes' or 'snap to bounding box corners' must be enabled in the 'Snap' " -"tab; only a small part of the guide near the cursor will snap)" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, podczas przeciągania prowadnicy będzie " -"następowało przyciąganie do węzłów obiektu lub narożników obramowania. Na " -"karcie \"Przyciąganie\" musi być włączona opcja \"Przyciągaj do węzłów\" lub " -"\"Przyciągaj do narożników obramowania\". Będzie przyciągana tylko niewielka " -"część prowadnicy znajdująca się blisko kursora." +#: ../src/selection-chemistry.cpp:1544 +msgid "Move vertically by pixels" +msgstr "Przesuwa w pionie o zadaną wartość podaną w pikselach" -#: ../src/ui/dialog/document-properties.cpp:100 -msgid "Guide co_lor:" -msgstr "Kolor p_rowadnicy:" +#: ../src/selection-chemistry.cpp:1547 +msgid "Move horizontally by pixels" +msgstr "Przesuwa w poziomie o zadaną wartość podaną w pikselach" -#: ../src/ui/dialog/document-properties.cpp:100 -msgid "Guideline color" -msgstr "Kolor prowadnic" +#: ../src/selection-chemistry.cpp:1675 +msgid "The selection has no applied path effect." +msgstr "Zaznaczenie nie zaakceptowało efektu ścieżki" -#: ../src/ui/dialog/document-properties.cpp:100 -msgid "Color of guidelines" -msgstr "Kolor prowadnic" +#: ../src/selection-chemistry.cpp:1722 +msgid "The selection has no applied clip path." +msgstr "Zaznaczenie nie zaakceptowało przycięcia ścieżki" -#: ../src/ui/dialog/document-properties.cpp:101 -msgid "_Highlight color:" -msgstr "Kolor po_dświetlenia:" +#: ../src/selection-chemistry.cpp:1724 +msgid "The selection has no applied mask." +msgstr "Zaznaczenie nie zaakceptowało maski" -#: ../src/ui/dialog/document-properties.cpp:101 -msgid "Highlighted guideline color" -msgstr "Kolor podświetlenia prowadnic" +#: ../src/selection-chemistry.cpp:1881 +msgid "action|Clone" +msgstr "Klonuj" -#: ../src/ui/dialog/document-properties.cpp:101 -msgid "Color of a guideline when it is under mouse" -msgstr "Kolor prowadnicy po umieszczeniu na niej wskaźnika myszy" +#: ../src/selection-chemistry.cpp:1897 +#, fuzzy +msgid "Select clones to relink." +msgstr "Wybierz klon do odłączenia" -#. --------------------------------------------------------------- -#: ../src/ui/dialog/document-properties.cpp:103 -msgid "_Enable snapping" -msgstr "Włącz _przyciąganie" +#: ../src/selection-chemistry.cpp:1904 +#, fuzzy +msgid "Copy an object to clipboard to relink clones to." +msgstr "Wybierz obiekt do klonowania" -#: ../src/ui/dialog/document-properties.cpp:103 ../src/verbs.cpp:2498 -msgid "Toggle snapping on or off" -msgstr "Włącza/wyłącza przyciąganie" +#: ../src/selection-chemistry.cpp:1928 +#, fuzzy +msgid "No clones to relink in the selection." +msgstr "W zaznaczeniu brak klonów do odłączenia" -#: ../src/ui/dialog/document-properties.cpp:104 -msgid "_Enable snap indicator" -msgstr "Włącz wskaźnik _przyciągania" +#: ../src/selection-chemistry.cpp:1931 +#, fuzzy +msgid "Relink clone" +msgstr "Odłącz klon" -#: ../src/ui/dialog/document-properties.cpp:104 -msgid "After snapping, a symbol is drawn at the point that has snapped" -msgstr "" +#: ../src/selection-chemistry.cpp:1945 +#, fuzzy +msgid "Select clones to unlink." +msgstr "Wybierz klon do odłączenia" -#: ../src/ui/dialog/document-properties.cpp:105 -msgid "_Bounding box corners" -msgstr "_Narożniki obramowania obiektu" +#: ../src/selection-chemistry.cpp:1994 +msgid "No clones to unlink in the selection." +msgstr "W zaznaczeniu brak klonów do odłączenia" + +#: ../src/selection-chemistry.cpp:1998 +msgid "Unlink clone" +msgstr "Odłącz klon" -#: ../src/ui/dialog/document-properties.cpp:105 -msgid "" -"Only available in the selector tool: snap bounding box corners to guides, to " -"grids, and to other bounding boxes (but not to nodes or paths)" -msgstr "" -"Zaznaczenie tej opcji spowoduje przyciąganie narożników obramowania obiektu " -"do prowadnic, siatek i innych ramek obiektu, ale nie do węzłów lub ścieżek. " -"Dostępne tylko w narzędziu \"Wskaźnik\"." +#: ../src/selection-chemistry.cpp:2011 +msgid "Select a clone to go to its original. Select a linked offset to go to its source. Select a text on path to go to the path. Select a flowed text to go to its frame." +msgstr "Zaznacz klon, aby przejść do oryginału. Zaznacz połączone odsunięcie, aby przejść do jego źródła. Zaznacz tekst na ścieżce, aby przejść do ścieżki. Zaznacz dopasowany tekst, aby przejść do jego ramki." -#: ../src/ui/dialog/document-properties.cpp:107 -msgid "_Nodes" -msgstr "_Węzły" +#: ../src/selection-chemistry.cpp:2034 +msgid "Cannot find the object to select (orphaned clone, offset, textpath, flowed text?)" +msgstr "Nie można odnaleźć obiektu do zaznaczenia (osierocony klon, odsunięcie, tekst na ścieżce, tekst opływający?)" -#: ../src/ui/dialog/document-properties.cpp:107 -msgid "" -"Snap nodes (e.g. path nodes, special points in shapes, gradient handles, " -"text base points, transformation origins, etc.) to guides, to grids, to " -"paths and to other nodes" -msgstr "" -"Zaznaczenie tej opcji spowoduje przyciąganie węzłów (np. węzłów ścieżki, " -"specjalnych punktów w kształtach, uchwytów gradientu, punktów bazowych " -"tekstu itp.) do linii siatki, prowadnic, ścieżek i innych węzłów" +#: ../src/selection-chemistry.cpp:2040 +msgid "The object you're trying to select is not visible (it is in <defs>)" +msgstr "Obiekt, który próbujesz zaznaczyć jest niewidoczny (jest on w <defs>)" -#. Options for snapping to objects -#: ../src/ui/dialog/document-properties.cpp:110 -msgid "Snap to path_s" -msgstr "Przyciągaj do ści_eżek" +#: ../src/selection-chemistry.cpp:2086 +msgid "Select object(s) to convert to marker." +msgstr "Zaznacz obiekt(y) do zamiany na znacznik" -#: ../src/ui/dialog/document-properties.cpp:110 -msgid "Snap nodes to object paths" -msgstr "" -"Zaznaczenie tej opcji spowoduje przyciąganie węzłów do ścieżek obiektów" +#: ../src/selection-chemistry.cpp:2154 +msgid "Objects to marker" +msgstr "Obiekty na znacznik" -#: ../src/ui/dialog/document-properties.cpp:111 -msgid "Snap to n_odes" -msgstr "Przyciągaj do wę_złów" +#: ../src/selection-chemistry.cpp:2182 +msgid "Select object(s) to convert to guides." +msgstr "Zaznacz obiekt(y) do zamiany na prowadnice" -#: ../src/ui/dialog/document-properties.cpp:111 -msgid "Snap nodes and guides to object nodes" -msgstr "" -"Zaznaczenie tej opcji spowoduje przyciąganie węzłów i prowadnic do węzłów " -"obiektu" +#: ../src/selection-chemistry.cpp:2194 +msgid "Objects to guides" +msgstr "Obiekty na prowadnice" -#: ../src/ui/dialog/document-properties.cpp:112 -msgid "Snap to bounding bo_x edges" -msgstr "Przyciągaj do _krawędzi obramowania obiektu" +#: ../src/selection-chemistry.cpp:2210 +msgid "Select object(s) to convert to pattern." +msgstr "Zaznacz obiekt(y) do zamiany na deseń" -#: ../src/ui/dialog/document-properties.cpp:112 -msgid "Snap bounding box corners and guides to bounding box edges" -msgstr "" -"Zaznaczenie tej opcji spowoduje przyciąganie narożników obramowania obiektu " -"i prowadnic do krawędzi obramowania obiektu" +#: ../src/selection-chemistry.cpp:2298 +msgid "Objects to pattern" +msgstr "Obiekty na deseń" -#: ../src/ui/dialog/document-properties.cpp:113 -msgid "Snap to bounding box co_rners" -msgstr "Przyciągaj do narożników obra_mowania" +#: ../src/selection-chemistry.cpp:2314 +msgid "Select an object with pattern fill to extract objects from." +msgstr "Zaznacz obiekt z wypełnieniem deseniem, z którego wyodrębnione zostaną obiekty" -#: ../src/ui/dialog/document-properties.cpp:113 -msgid "Snap bounding box corners to other bounding box corners" -msgstr "" -"Zaznaczenie tej opcji spowoduje przyciąganie narożników obramowania obiektu " -"do innych narożników obramowania" +#: ../src/selection-chemistry.cpp:2367 +msgid "No pattern fills in the selection." +msgstr "W zaznaczeniu brak deseni wypełnienia" -#: ../src/ui/dialog/document-properties.cpp:114 -msgid "Snap to page border" -msgstr "Przyciągaj do obramowania strony" +#: ../src/selection-chemistry.cpp:2370 +msgid "Pattern to objects" +msgstr "Deseń na obiekty" -#: ../src/ui/dialog/document-properties.cpp:114 -msgid "Snap bounding box corners and nodes to the page border" -msgstr "" -"Zaznaczenie tej opcji spowoduje przyciąganie narożników obramowania obiektu " -"i węzłów do krawędzi obramowania strony" +#: ../src/selection-chemistry.cpp:2455 +msgid "Select object(s) to make a bitmap copy." +msgstr "Zaznacz obiekt(y) do skopiowania jako bitmapa" -#. --------------------------------------------------------------- -#. Applies to both nodes and guides, but not to bboxes, that's why its located here -#: ../src/ui/dialog/document-properties.cpp:117 -msgid "Rotation _center" -msgstr "Środek o_brotu" +#: ../src/selection-chemistry.cpp:2459 +msgid "Rendering bitmap..." +msgstr "Rendeowanie bitmapy..." -#: ../src/ui/dialog/document-properties.cpp:117 -msgid "Consider the rotation center of an object when snapping" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona podczas przyciągania będzie uwzględniany " -"środek obrotu obiektu" +#: ../src/selection-chemistry.cpp:2623 +msgid "Create bitmap" +msgstr "Utwórz bitmapę" -#: ../src/ui/dialog/document-properties.cpp:118 -msgid "_Grid with guides" -msgstr "_Siatka z prowadnicami" +#: ../src/selection-chemistry.cpp:2655 +msgid "Select object(s) to create clippath or mask from." +msgstr "Zaznacz obiekt(y) do utworzenia ścieżki przycinania lub maski" -#: ../src/ui/dialog/document-properties.cpp:118 -msgid "Snap to grid-guide intersections" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona będzie następowało przyciąganie do " -"punktów przecięcia siatki i prowadnic" +#: ../src/selection-chemistry.cpp:2658 +msgid "Select mask object and object(s) to apply clippath or mask to." +msgstr "Zaznacz obiekt maskujący i obiekt(y), dla których zastosować ścieżkę przycinania lub maskę" -#: ../src/ui/dialog/document-properties.cpp:119 -msgid "_Line segments" -msgstr "_Odcinki" +#: ../src/selection-chemistry.cpp:2765 +msgid "Set clipping path" +msgstr "Określ ścieżkę przycinania" -#: ../src/ui/dialog/document-properties.cpp:119 -msgid "" -"Snap to intersections of line segments ('snap to paths' must be enabled, see " -"the previous tab)" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona będzie następowało przyciąganie do " -"przecięcia odcinków. Na poprzedniej karcie musi być zaznaczona opcja " -"\"Przyciągaj do ścieżek\"." +#: ../src/selection-chemistry.cpp:2767 +msgid "Set mask" +msgstr "Określ maskę" -#. TRANSLATORS: In Grid|_New translate only the word _New. It ref to grid -#: ../src/ui/dialog/document-properties.cpp:124 -msgid "Grid|_New" -msgstr "_Nowa" +#: ../src/selection-chemistry.cpp:2780 +msgid "Select object(s) to remove clippath or mask from." +msgstr "Zaznacz obiekt(y) do usunięcia ścieżki przycinania lub maski" -#: ../src/ui/dialog/document-properties.cpp:124 -msgid "Create new grid." -msgstr "Utwórz nową siatkę" +#: ../src/selection-chemistry.cpp:2853 +msgid "Release clipping path" +msgstr "Zdejmij ścieżkę przycinania" -#: ../src/ui/dialog/document-properties.cpp:125 -msgid "_Remove" -msgstr "_Usuń" +#: ../src/selection-chemistry.cpp:2855 +msgid "Release mask" +msgstr "Zdejmij maskę" -#: ../src/ui/dialog/document-properties.cpp:125 -msgid "Remove selected grid." -msgstr "Usuń zaznaczoną siatkę" +#: ../src/selection-chemistry.cpp:2871 +msgid "Select object(s) to fit canvas to." +msgstr "Zaznacz obiekt(y) do wypełnienia obszaru roboczego" -#: ../src/ui/dialog/document-properties.cpp:135 -msgid "Guides" -msgstr "Prowadnice" +#. Fit Page +#: ../src/selection-chemistry.cpp:2891 +#: ../src/verbs.cpp:2715 +msgid "Fit Page to Selection" +msgstr "Dopasuj stronę do ramki zaznaczenia" -#: ../src/ui/dialog/document-properties.cpp:136 -#: ../src/ui/dialog/inkscape-preferences.cpp:905 -msgid "Grids" -msgstr "Siatki" +#: ../src/selection-chemistry.cpp:2916 +#: ../src/verbs.cpp:2717 +msgid "Fit Page to Drawing" +msgstr "Dopasuj stronę do rysunku" -#: ../src/ui/dialog/document-properties.cpp:137 ../src/verbs.cpp:2498 -msgid "Snap" -msgstr "Przyciąganie" +#: ../src/selection-chemistry.cpp:2932 +#: ../src/verbs.cpp:2719 +msgid "Fit Page to Selection or Drawing" +msgstr "Dopasuj stronę do zaznaczenia lub rysunku" -#: ../src/ui/dialog/document-properties.cpp:138 -msgid "Snap points" -msgstr "Punkty przyciągania" +#. TRANSLATORS: only translate and put "Link" in the translation. It means internet link (anchor) +#: ../src/selection-describer.cpp:43 +msgid "web|Link" +msgstr "Odnośnik" -#: ../src/ui/dialog/document-properties.cpp:227 -msgid "General" -msgstr "Ogólne" +#: ../src/selection-describer.cpp:45 +msgid "Circle" +msgstr "Okrąg" -#: ../src/ui/dialog/document-properties.cpp:229 -msgid "Border" -msgstr "Kontur" +#. ellipse +#: ../src/selection-describer.cpp:47 +#: ../src/selection-describer.cpp:73 +#: ../src/ui/dialog/inkscape-preferences.cpp:434 +#: ../src/verbs.cpp:2506 +#: ../src/widgets/toolbox.cpp:3411 +msgid "Ellipse" +msgstr "Elipsa" -#: ../src/ui/dialog/document-properties.cpp:231 -msgid "Format" -msgstr "Format strony" +#: ../src/selection-describer.cpp:49 +msgid "Flowed text" +msgstr "Tekst opływający" -#: ../src/ui/dialog/document-properties.cpp:259 -msgid "Guides" -msgstr "Prowadnice" +#: ../src/selection-describer.cpp:55 +msgid "Line" +msgstr "Linia" -#: ../src/ui/dialog/document-properties.cpp:278 -msgid "Snap _distance" -msgstr "Odległość p_rzyciągania" +#: ../src/selection-describer.cpp:57 +msgid "Path" +msgstr "Ścieżka" -#: ../src/ui/dialog/document-properties.cpp:278 -msgid "Snap only when _closer than:" -msgstr "Przyciągaj tylko z _odległości mniejszej niż:" +#: ../src/selection-describer.cpp:59 +#: ../src/widgets/toolbox.cpp:2247 +msgid "Polygon" +msgstr "Wielokąt" -#: ../src/ui/dialog/document-properties.cpp:278 -#: ../src/ui/dialog/document-properties.cpp:284 -#: ../src/ui/dialog/document-properties.cpp:290 -msgid "Always snap" -msgstr "Zawsze przyciągaj" +#: ../src/selection-describer.cpp:61 +msgid "Polyline" +msgstr "Linia łamana" -#: ../src/ui/dialog/document-properties.cpp:279 -msgid "Snapping distance, in screen pixels, for snapping to objects" -msgstr "Odległość przyciągania (w pikselach) z jakiej obiekty będą przyciągane" +#. Rectangle +#: ../src/selection-describer.cpp:63 +#: ../src/ui/dialog/inkscape-preferences.cpp:424 +#: ../src/verbs.cpp:2502 +msgid "Rectangle" +msgstr "Prostokąt" -#: ../src/ui/dialog/document-properties.cpp:279 -msgid "Always snap to objects, regardless of their distance" -msgstr "Zawsze przyciągaj do obiektów, bez względu na ich odległość" +#. 3D box +#: ../src/selection-describer.cpp:65 +#: ../src/ui/dialog/inkscape-preferences.cpp:429 +#: ../src/verbs.cpp:2504 +msgid "3D Box" +msgstr "Obiekt 3D" -#: ../src/ui/dialog/document-properties.cpp:280 -msgid "" -"If set, objects only snap to another object when it's within the range " -"specified below" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, obiekty będą przyciągane do innego " -"obiektu tylko jeśli ten obiekt znajduje się w zasięgu określonym poniżej" +#: ../src/selection-describer.cpp:71 +msgid "object|Clone" +msgstr "Klon" -#. Options for snapping to grids -#: ../src/ui/dialog/document-properties.cpp:284 -msgid "Snap d_istance" -msgstr "Odległość przy_ciągania" +#: ../src/selection-describer.cpp:75 +msgid "Offset path" +msgstr "Ścieżka odsunięta" -#: ../src/ui/dialog/document-properties.cpp:284 -msgid "Snap only when c_loser than:" -msgstr "Przyciągaj tylko z o_dległości mniejszej niż:" +#. spiral +#: ../src/selection-describer.cpp:77 +#: ../src/ui/dialog/inkscape-preferences.cpp:442 +#: ../src/verbs.cpp:2510 +msgid "Spiral" +msgstr "Spirala" -#: ../src/ui/dialog/document-properties.cpp:285 -msgid "Snapping distance, in screen pixels, for snapping to grid" -msgstr "" -"Odległość przyciągania, w pikselach, z jakiej obiekty będą przyciągane do " -"siatki" +#. star +#: ../src/selection-describer.cpp:79 +#: ../src/ui/dialog/inkscape-preferences.cpp:438 +#: ../src/verbs.cpp:2508 +#: ../src/widgets/toolbox.cpp:2254 +msgid "Star" +msgstr "Gwiazda" -#: ../src/ui/dialog/document-properties.cpp:285 -msgid "Always snap to grids, regardless of the distance" -msgstr "Zawsze przyciągaj do siatek, bez względu na odległość" +#: ../src/selection-describer.cpp:115 +msgid "Click selection to toggle scale/rotation handles" +msgstr "Kliknij na zaznaczenie, aby przełączać pomiędzy trybem skalowania/obracania uchwytów" -#: ../src/ui/dialog/document-properties.cpp:286 -msgid "" -"If set, objects only snap to a grid line when it's within the range " -"specified below" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, obiekty będą przyciągane do siatki " -"tylko, gdy znajdują się w określonym poniżej zasięgu" +#. no items +#: ../src/selection-describer.cpp:117 +msgid "No objects selected. Click, Shift+click, or drag around objects to select." +msgstr "Nie zaznaczono obiektów. Aby zaznaczyć obiekt należy kliknąć na nim, nacisnąć Shift + kliknąć lub wykonać ciągnięcie wokół obiektów" -#. Options for snapping to guides -#: ../src/ui/dialog/document-properties.cpp:290 -msgid "Snap dist_ance" -msgstr "Odległość _przyciągania" +#: ../src/selection-describer.cpp:126 +msgid "root" +msgstr "warstwie głównej" -#: ../src/ui/dialog/document-properties.cpp:290 -msgid "Snap only when close_r than:" -msgstr "Przyciągaj tylko z odle_głości mniejszej niż:" +#: ../src/selection-describer.cpp:138 +#, c-format +msgid "layer %s" +msgstr "warstwie %s" -#: ../src/ui/dialog/document-properties.cpp:291 -msgid "Snapping distance, in screen pixels, for snapping to guides" -msgstr "" -"Odległość przyciągania, w pikselach, z jakiej obiekty będą przyciągane do " -"prowadnic" +#: ../src/selection-describer.cpp:140 +#, c-format +msgid "layer %s" +msgstr "warstwie %s" -#: ../src/ui/dialog/document-properties.cpp:291 -msgid "Always snap to guides, regardless of the distance" -msgstr "Zawsze przyciągaj do prowadnic, bez względu na odległość" +#: ../src/selection-describer.cpp:149 +#, c-format +msgid "%s" +msgstr "%s" -#: ../src/ui/dialog/document-properties.cpp:292 -msgid "" -"If set, objects only snap to a guide when it's within the range specified " -"below" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, obiekty będą przyciągane do prowadnicy " -"tylko, gdy znajdują się w określonym poniżej zasięgu" +#: ../src/selection-describer.cpp:158 +#, c-format +msgid " in %s" +msgstr " na %s" -#: ../src/ui/dialog/document-properties.cpp:315 -msgid "Snapping" -msgstr "Przyciąganie" +#: ../src/selection-describer.cpp:160 +#, c-format +msgid " in group %s (%s)" +msgstr " w grupie %s (%s)" + +#: ../src/selection-describer.cpp:162 +#, c-format +msgid " in %i parents (%s)" +msgid_plural " in %i parents (%s)" +msgstr[0] " w %i nadrzędnych (%s)" +msgstr[1] " w %i nadrzędnych (%s)" +msgstr[2] " w %i nadrzędnych (%s)" -#: ../src/ui/dialog/document-properties.cpp:317 -msgid "What snaps" -msgstr "Elementy przyciągane" +#: ../src/selection-describer.cpp:165 +#, c-format +msgid " in %i layers" +msgid_plural " in %i layers" +msgstr[0] " na %i warstwie" +msgstr[1] " na %i warstwach" +msgstr[2] " na %i warstwach" -#: ../src/ui/dialog/document-properties.cpp:319 -msgid "Snap to objects" -msgstr "Przyciąganie do obiektów" +#: ../src/selection-describer.cpp:175 +msgid "Use Shift+D to look up original" +msgstr "Naciśnij Shift + D, aby odszukać oryginał" -#: ../src/ui/dialog/document-properties.cpp:321 -msgid "Snap to grids" -msgstr "Przyciąganie do siatek" +#: ../src/selection-describer.cpp:179 +msgid "Use Shift+D to look up path" +msgstr "Naciśnij Shift + D, aby odszukać ścieżkę" -#: ../src/ui/dialog/document-properties.cpp:323 -msgid "Snap to guides" -msgstr "Przyciąganie do prowadnic" +#: ../src/selection-describer.cpp:183 +msgid "Use Shift+D to look up frame" +msgstr "Naciśnij Shift + D, aby odszukać ramkę" -#: ../src/ui/dialog/document-properties.cpp:361 -msgid "Snapping to intersections of" -msgstr "Przyciąganie do skrzyżowania siatki z prowadnicą" +#. this is only used with 2 or more objects +#: ../src/selection-describer.cpp:198 +#: ../src/tweak-context.cpp:204 +#, c-format +msgid "%i object selected" +msgid_plural "%i objects selected" +msgstr[0] "Zaznaczono %i obiekt" +msgstr[1] "Zaznaczono %i obiekty" +msgstr[2] "Zaznaczono %i obiektów" -#: ../src/ui/dialog/document-properties.cpp:363 -msgid "Special points to consider" -msgstr "Punkty specjalne do uwzględnienia" +#. this is only used with 2 or more objects +#: ../src/selection-describer.cpp:203 +#, c-format +msgid "%i object of type %s" +msgid_plural "%i objects of type %s" +msgstr[0] "%i obiekt typu %s" +msgstr[1] "%i obiekty typu %s" +msgstr[2] "%i obiektów typu %s" -#: ../src/ui/dialog/document-properties.cpp:433 -msgid "Creation" -msgstr "Tworzenie" +#. this is only used with 2 or more objects +#: ../src/selection-describer.cpp:208 +#, c-format +msgid "%i object of types %s, %s" +msgid_plural "%i objects of types %s, %s" +msgstr[0] "%i obiekt typu %s, %s" +msgstr[1] "%i obiekty typu %s, %s" +msgstr[2] "%i obiektów typu %s, %s" -#: ../src/ui/dialog/document-properties.cpp:434 -msgid "Defined grids" -msgstr "Zdefiniowane siatki" +#. this is only used with 2 or more objects +#: ../src/selection-describer.cpp:213 +#, c-format +msgid "%i object of types %s, %s, %s" +msgid_plural "%i objects of types %s, %s, %s" +msgstr[0] "%i obiekt typu %s, %s, %s" +msgstr[1] "%i obiekty typu %s, %s, %s" +msgstr[2] "%i obiektów typu %s, %s, %s" -#: ../src/ui/dialog/document-properties.cpp:650 -msgid "Remove grid" -msgstr "Usuń siatkę" +#. this is only used with 2 or more objects +#: ../src/selection-describer.cpp:218 +#, c-format +msgid "%i object of %i types" +msgid_plural "%i objects of %i types" +msgstr[0] "%i obiekt %i typów" +msgstr[1] "%i obiekty %i typów" +msgstr[2] "%i obiektów %i typów" -#: ../src/ui/dialog/export.cpp:32 -msgid "Export" -msgstr "Eksportuj" +#: ../src/selection-describer.cpp:223 +#, c-format +msgid "%s%s. %s." +msgstr "%s%s. %s." -#: ../src/ui/dialog/extension-editor.cpp:80 -msgid "Information" -msgstr "Informacje" +#: ../src/seltrans.cpp:455 +#: ../src/ui/dialog/transformation.cpp:815 +msgid "Skew" +msgstr "Pochyl" -#: ../src/ui/dialog/extension-editor.cpp:81 -#: ../share/extensions/lindenmayer.inx.h:3 ../share/extensions/measure.inx.h:2 -msgid "Help" -msgstr "Pomoc" +#: ../src/seltrans.cpp:467 +msgid "Set center" +msgstr "Określ środek" -#: ../src/ui/dialog/extension-editor.cpp:82 -msgid "Parameters" -msgstr "Parametry" +#: ../src/seltrans.cpp:564 +msgid "Center of rotation and skewing: drag to reposition; scaling with Shift also uses this center" +msgstr "Środek obrotu i skręcenia. Ciągnij, aby przesunąć. Skalowanie z Shift także wykorzystuje ten środek." -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:382 -msgid "No preview" -msgstr "Brak podglądu" +#: ../src/seltrans.cpp:591 +msgid "Squeeze or stretch selection; with Ctrl to scale uniformly; with Shift to scale around rotation center" +msgstr "Ścieśnij lub rozciągnij zaznaczenie; z Ctrl - skalowanie proporcjonalne, z Shift - skalowanie od środka obrotu." -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:488 -msgid "too large for preview" -msgstr "Za duży, aby otworzyć podgląd" +#: ../src/seltrans.cpp:592 +msgid "Scale selection; with Ctrl to scale uniformly; with Shift to scale around rotation center" +msgstr "Skalowanie zaznaczenia; z Ctrl - skalowanie proporcjonalne, z Shift - skalowanie od środka obrotu." -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:577 -msgid "Enable preview" -msgstr "Włącz podgląd" +#: ../src/seltrans.cpp:596 +msgid "Skew selection; with Ctrl to snap angle; with Shift to skew around the opposite side" +msgstr "Pochylenie zaznaczenia; z Ctrl - przyciąganie do kąta, z Shift - obrót wokół narożnika przeciwległego do uchwytu." -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:711 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:712 -#: ../src/ui/dialog/filedialogimpl-win32.cpp:198 -msgid "All Inkscape Files" -msgstr "Wszystkie pliki Inkscape'a" +#: ../src/seltrans.cpp:597 +msgid "Rotate selection; with Ctrl to snap angle; with Shift to rotate around the opposite corner" +msgstr "Obrót zaznaczenia; z Ctrl - przyciąganie do kąta, z Shift - obrót wokół narożnika przeciwległego do uchwytu." -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:716 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:717 -#: ../src/ui/dialog/filedialogimpl-win32.cpp:197 -msgid "All Files" -msgstr "Wszystkie pliki" +#: ../src/seltrans.cpp:731 +msgid "Reset center" +msgstr "Resetuj środek" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:722 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:723 -msgid "All Images" -msgstr "Wszystkie obrazki" +#: ../src/seltrans.cpp:975 +#: ../src/seltrans.cpp:1074 +#, c-format +msgid "Scale: %0.2f%% x %0.2f%%; with Ctrl to lock ratio" +msgstr "Skalowanie: %0.2f%% x %0.2f%%; z Ctrl - blokada proporcji." -#. ###### Add the file types menu -#. createFilterMenu(); -#. ###### Do we want the .xxx extension automatically added? -#. ###### File options -#. ###### Do we want the .xxx extension automatically added? -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:887 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1429 -msgid "Append filename extension automatically" -msgstr "Dodaj automatycznie rozszerzenie nazwy pliku" +#. TRANSLATORS: don't modify the first ";" +#. (it will NOT be displayed as ";" - only the second one will be) +#: ../src/seltrans.cpp:1185 +#, c-format +msgid "Skew: %0.2f°; with Ctrl to snap angle" +msgstr "Pochylenie: %0.2f° z Ctrl - przyciąganie do kąta." -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1042 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1294 -msgid "Guess from extension" -msgstr "Wszystkie pliki (*.*)" +#. TRANSLATORS: don't modify the first ";" +#. (it will NOT be displayed as ";" - only the second one will be) +#: ../src/seltrans.cpp:1244 +#, c-format +msgid "Rotate: %0.2f°; with Ctrl to snap angle" +msgstr "Obrót: %0.2f° z Ctrl - przyciąganie do kąta." -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1315 -msgid "Left edge of source" -msgstr "Lewa krawędź źródła" +#: ../src/seltrans.cpp:1285 +#, c-format +msgid "Move center to %s, %s" +msgstr "Przesunięcie środka do %s, %s" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1316 -msgid "Top edge of source" -msgstr "Górna krawędź źródła" +#: ../src/seltrans.cpp:1446 +#, c-format +msgid "Move by %s, %s; with Ctrl to restrict to horizontal/vertical; with Shift to disable snapping" +msgstr "Przesunięcie o %s, %s; z Ctrl - poziomo/pionowo, z Shift - wyłączenie przyciągania." -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1317 -msgid "Right edge of source" -msgstr "Prawa krawędź źródła" +#: ../src/shape-editor.cpp:474 +msgid "Drag curve" +msgstr "Przeciągnij krzywą" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1318 -msgid "Bottom edge of source" -msgstr "Dolna krawędź źródła" +#: ../src/sp-anchor.cpp:178 +#, c-format +msgid "Link to %s" +msgstr "Odnośnik do %s" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1319 -msgid "Source width" -msgstr "Szerokość źródła" +#: ../src/sp-anchor.cpp:182 +msgid "Link without URI" +msgstr "Odnośnik bez identyfikatora URI" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1320 -msgid "Source height" -msgstr "Wysokość źródła" +#: ../src/sp-ellipse.cpp:466 +#: ../src/sp-ellipse.cpp:845 +msgid "Ellipse" +msgstr "Elipsa" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1321 -msgid "Destination width" -msgstr "Szerokość miejsca docelowego" +#: ../src/sp-ellipse.cpp:607 +msgid "Circle" +msgstr "Okrąg" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1322 -msgid "Destination height" -msgstr "Wysokość miejsca docelowego" +#: ../src/sp-ellipse.cpp:840 +msgid "Segment" +msgstr "Odcinek" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1323 -msgid "Resolution (dots per inch)" -msgstr "Rozdzielczość (w dpi)" +#: ../src/sp-ellipse.cpp:842 +msgid "Arc" +msgstr "Łuk" -#. ######################################### -#. ## EXTRA WIDGET -- SOURCE SIDE -#. ######################################### -#. ##### Export options buttons/spinners, etc -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1360 -msgid "Document" -msgstr "Dokument" +#. TRANSLATORS: "Flow region" is an area where text is allowed to flow +#: ../src/sp-flowregion.cpp:273 +#, c-format +msgid "Flow region" +msgstr "Obszar wypełniany tekstem" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1372 -#: ../share/extensions/color_custom.inx.h:3 -msgid "Custom" -msgstr "Dostosuj" +#. TRANSLATORS: A region "cut out of" a flow region; text is not allowed to flow inside the +#. * flow excluded region. flowRegionExclude in SVG 1.2: see +#. * http://www.w3.org/TR/2004/WD-SVG12-20041027/flow.html#flowRegion-elem and +#. * http://www.w3.org/TR/2004/WD-SVG12-20041027/flow.html#flowRegionExclude-elem. +#: ../src/sp-flowregion.cpp:492 +#, c-format +msgid "Flow excluded region" +msgstr "Obszar niewypełniany tekstem" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1412 -msgid "Cairo" -msgstr "Cairo" +#: ../src/sp-flowtext.cpp:377 +#, c-format +msgid "Flowed text (%d character)" +msgid_plural "Flowed text (%d characters)" +msgstr[0] "Tekst wpisany (%d znak)" +msgstr[1] "Tekst wpisany (%d znaki)" +msgstr[2] "Tekst wpisany (%d znaków)" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1415 -msgid "Antialias" -msgstr "Wygładzanie" +#: ../src/sp-flowtext.cpp:379 +#, c-format +msgid "Linked flowed text (%d character)" +msgid_plural "Linked flowed text (%d characters)" +msgstr[0] "Połączony tekst wpisany (%d znak)" +msgstr[1] "Połączony tekst wpisany (%d znaki)" +msgstr[2] "Połączony tekst wpisany (%d znaków)" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1418 -msgid "Background" -msgstr "Tło" +#: ../src/sp-guide.cpp:287 +msgid "Guides around page" +msgstr "Prowadnice wokół strony" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1441 -msgid "Destination" -msgstr "Miejsce docelowe" +#: ../src/sp-guide.cpp:420 +#, c-format +msgid "vertical, at %s" +msgstr "pionowa, na %s" -#: ../src/ui/dialog/filedialogimpl-win32.cpp:199 -msgid "All Image Files" -msgstr "Wszystkie obrazki" +#: ../src/sp-guide.cpp:423 +#, c-format +msgid "horizontal, at %s" +msgstr "pozioma, na %s" -#: ../src/ui/dialog/filedialogimpl-win32.cpp:428 -msgid "Show Preview" -msgstr "Podgląd" +#: ../src/sp-guide.cpp:428 +#, c-format +msgid "at %d degrees, through (%s,%s); Ctrl+click to delete" +msgstr "o %d stopni, przez (%s,%s). Użyj Ctrl + kliknięcie, aby usunąć" -#: ../src/ui/dialog/filedialogimpl-win32.cpp:564 -msgid "No file selected" -msgstr "Nie wybrano pliku" +#: ../src/sp-image.cpp:1100 +msgid "embedded" +msgstr "osadzony" -#: ../src/ui/dialog/fill-and-stroke.cpp:53 -msgid "Fill" -msgstr "Wypełnienie" +#: ../src/sp-image.cpp:1108 +#, c-format +msgid "Image with bad reference: %s" +msgstr "Obrazek z niepoprawnym odwołaniem: %s" -#: ../src/ui/dialog/fill-and-stroke.cpp:54 -msgid "Stroke _paint" -msgstr "_Kontur" +#: ../src/sp-image.cpp:1109 +#, c-format +msgid "Image %d × %d: %s" +msgstr "Obrazek %d × %d: %s" -#: ../src/ui/dialog/fill-and-stroke.cpp:55 -msgid "Stroke st_yle" -msgstr "_Styl konturu" +#: ../src/sp-item-group.cpp:746 +#, c-format +msgid "Group of %d object" +msgid_plural "Group of %d objects" +msgstr[0] "Grupa z %d obiektem" +msgstr[1] "Grupa %d obiektów" +msgstr[2] "Grupa %d obiektów" -#: ../src/ui/dialog/filter-effects-dialog.cpp:504 -msgid "" -"This matrix determines a linear transform on colour space. Each line affects " -"one of the color components. Each column determines how much of each color " -"component from the input is passed to the output. The last column does not " -"depend on input colors, so can be used to adjust a constant component value." -msgstr "" -"Ta macierz określa liniową transformację przestrzeni koloru. Każdy wiersz " -"wpływa na jedną składową koloru. Każda kolumna określa jaka część koloru " -"wejściowego jest używana na wyjściu. Ostatnia kolumna nie jest zależna od " -"koloru wejściowego, może być więc użyta do ustawienia dodatkowej stałej " -"wartości składowej." +#: ../src/sp-item.cpp:1018 +msgid "Object" +msgstr "Obiekt" -#: ../src/ui/dialog/filter-effects-dialog.cpp:614 -msgid "Image File" -msgstr "Plik obrazka" +#: ../src/sp-item.cpp:1035 +#, c-format +msgid "%s; clipped" +msgstr "%s; przycięte" -#: ../src/ui/dialog/filter-effects-dialog.cpp:617 -msgid "Selected SVG Element" -msgstr "Zaznaczony element SVG" +#: ../src/sp-item.cpp:1040 +#, c-format +msgid "%s; masked" +msgstr "%s; zamaskowany" -#. TODO: any image, not justy svg -#: ../src/ui/dialog/filter-effects-dialog.cpp:686 -msgid "Select an image to be used as feImage input" -msgstr "Zaznacz obrazek, który będzie użyty jako źródło filtru \"feImage\"" +#: ../src/sp-item.cpp:1045 +#, c-format +msgid "%s; filtered" +msgstr "%s; odfiltrowane" -#: ../src/ui/dialog/filter-effects-dialog.cpp:778 -msgid "This SVG filter effect does not require any parameters." -msgstr "Ten efekt filtru SVG nie wymaga żadnych parametrów" +#: ../src/sp-line.cpp:188 +msgid "Line" +msgstr "Linia" -#: ../src/ui/dialog/filter-effects-dialog.cpp:784 -msgid "This SVG filter effect is not yet implemented in Inkscape." -msgstr "Ten efekt filtru SVG nie został jeszcze zaimplementowany w Inkscape." +#: ../src/sp-lpe-item.cpp:339 +msgid "An exception occurred during execution of the Path Effect." +msgstr "Wystąpił błąd podczas wykonywania efektu ścieżki" -#: ../src/ui/dialog/filter-effects-dialog.cpp:975 -msgid "Light Source:" -msgstr "Źródło światła:" +#. TRANSLATORS COMMENT: %s is either "outset" or "inset" depending on sign +#: ../src/sp-offset.cpp:426 +#, c-format +msgid "Linked offset, %s by %f pt" +msgstr "Połączone przesunięcie, %s o %f pkt" -#: ../src/ui/dialog/filter-effects-dialog.cpp:992 -msgid "Direction angle for the light source on the XY plane, in degrees" -msgstr "Kierunek kąta źródła światła na płaszczyźnie XY (w stopniach)" +#: ../src/sp-offset.cpp:427 +#: ../src/sp-offset.cpp:431 +msgid "inset" +msgstr "do wewnątrz" -#: ../src/ui/dialog/filter-effects-dialog.cpp:993 -msgid "Direction angle for the light source on the YZ plane, in degrees" -msgstr "Kierunek kąta źródła światła na płaszczyźnie YZ (w stopniach)" +#: ../src/sp-offset.cpp:427 +#: ../src/sp-offset.cpp:431 +msgid "outset" +msgstr "na zewnątrz" -#. default x: -#. default y: -#. default z: -#: ../src/ui/dialog/filter-effects-dialog.cpp:996 -#: ../src/ui/dialog/filter-effects-dialog.cpp:999 -msgid "Location" -msgstr "Lokalizacja" +#. TRANSLATORS COMMENT: %s is either "outset" or "inset" depending on sign +#: ../src/sp-offset.cpp:430 +#, c-format +msgid "Dynamic offset, %s by %f pt" +msgstr "Odsunięcie dynamiczne, %s o %f pkt" -#: ../src/ui/dialog/filter-effects-dialog.cpp:996 -#: ../src/ui/dialog/filter-effects-dialog.cpp:999 -#: ../src/ui/dialog/filter-effects-dialog.cpp:1002 -msgid "X coordinate" -msgstr "Współrzędna X" +#: ../src/sp-path.cpp:137 +#, c-format +msgid "Path (%i node, path effect)" +msgid_plural "Path (%i nodes, path effect)" +msgstr[0] "Ścieżka (%i węzeł, efekt ścieżki)" +msgstr[1] "Ścieżka (%i węzły, efekt ścieżki)" +msgstr[2] "Ścieżka (%i węzłów, efekt ścieżki)" -#: ../src/ui/dialog/filter-effects-dialog.cpp:996 -#: ../src/ui/dialog/filter-effects-dialog.cpp:999 -#: ../src/ui/dialog/filter-effects-dialog.cpp:1002 -msgid "Y coordinate" -msgstr "Współrzędna Y" +#: ../src/sp-path.cpp:140 +#, c-format +msgid "Path (%i node)" +msgid_plural "Path (%i nodes)" +msgstr[0] "Ścieżka (%i węzeł)" +msgstr[1] "Ścieżka (%i węzły)" +msgstr[2] "Ścieżka (%i węzłów)" -#: ../src/ui/dialog/filter-effects-dialog.cpp:996 -#: ../src/ui/dialog/filter-effects-dialog.cpp:999 -#: ../src/ui/dialog/filter-effects-dialog.cpp:1002 -msgid "Z coordinate" -msgstr "Współrzędna Z" +#: ../src/sp-polygon.cpp:226 +msgid "Polygon" +msgstr "Wielokąt:" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1002 -msgid "Points At" -msgstr "Punkty" +#: ../src/sp-polyline.cpp:177 +msgid "Polyline" +msgstr "Linia łamana" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1003 -msgid "Specular Exponent" -msgstr "Wykładnik odbicia lustrzanego" +#: ../src/sp-rect.cpp:225 +msgid "Rectangle" +msgstr "Prostokąt" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1003 -msgid "Exponent value controlling the focus for the light source" -msgstr "Wykładnik kontrolujący skupienie źródła światła" +#. TRANSLATORS: since turn count isn't an integer, please adjust the +#. string as needed to deal with an localized plural forms. +#: ../src/sp-spiral.cpp:324 +#, c-format +msgid "Spiral with %3f turns" +msgstr "Spirala z %3f obrotami" -#. TODO: here I have used 100 degrees as default value. But spec says that if not specified, no limiting cone is applied. So, there should be a way for the user to set a "no limiting cone" option. -#: ../src/ui/dialog/filter-effects-dialog.cpp:1005 -msgid "Cone Angle" -msgstr "Kąt stożka" +#: ../src/sp-star.cpp:307 +#, c-format +msgid "Star with %d vertex" +msgid_plural "Star with %d vertices" +msgstr[0] "Gwiazda z %d ramieniem" +msgstr[1] "Gwiazda z %d ramionami" +msgstr[2] "Gwiazda z %d ramionami" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1005 -msgid "" -"This is the angle between the spot light axis (i.e. the axis between the " -"light source and the point to which it is pointing at) and the spot light " -"cone. No light is projected outside this cone." -msgstr "" -"Jest to kąt pomiędzy osią punktu światła (np. oś pomiędzy źródłem światła i " -"punktem, do którego on jest skierowany), a punktem światła stożka. Na " -"zewnątrz tego stożka nie ma projekcji światła." +#: ../src/sp-star.cpp:311 +#, c-format +msgid "Polygon with %d vertex" +msgid_plural "Polygon with %d vertices" +msgstr[0] "Wielokąt z %d wierzchołkiem" +msgstr[1] "Wielokąt z %d wierzchołkami" +msgstr[2] "Wielokąt z %d wierzchołkami" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1065 -msgid "New light source" -msgstr "Nowe źródło światła" +#: ../src/sp-switch.cpp:100 +#, c-format +msgid "Conditional group of %d object" +msgid_plural "Conditional group of %d objects" +msgstr[0] "Grupa warunkowa %d obiekt" +msgstr[1] "Grupa warunkowa %d obiekty" +msgstr[2] "Grupa warunkowa %d obiektów" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1106 -msgid "_Duplicate" -msgstr "_Powiel" +#. TRANSLATORS: For description of font with no name. +#: ../src/sp-text.cpp:419 +msgid "<no name found>" +msgstr "<nie znaleziono nazwy>" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1132 -msgid "_Filter" -msgstr "_Filtr" +#: ../src/sp-text.cpp:425 +#, c-format +msgid "Text on path (%s, %s)" +msgstr "Tekst na ścieżce (%s, %s)" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1146 -msgid "R_ename" -msgstr "Z_mień nazwę" +#: ../src/sp-text.cpp:426 +#, c-format +msgid "Text (%s, %s)" +msgstr "Tekst (%s, %s)" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1240 -msgid "Rename filter" -msgstr "Zmień nazwę filtru" +#: ../src/sp-tref.cpp:368 +#, c-format +msgid "Cloned character data%s%s" +msgstr "Dane sklonowanego znaku %s%s" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1276 -msgid "Apply filter" -msgstr "Zastosuj filtr" +#: ../src/sp-tref.cpp:369 +msgid " from " +msgstr "z" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1352 -msgid "Add filter" -msgstr "Dodaj filtr" +#: ../src/sp-tref.cpp:374 +msgid "Orphaned cloned character data" +msgstr "Dane osieroconego sklonowanego znaku" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1378 -msgid "Duplicate filter" -msgstr "Powiel filtr" +#: ../src/sp-tspan.cpp:284 +msgid "Text span" +msgstr "Rozpiętość tekstu" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1445 -msgid "_Effect" -msgstr "_Efekt" +#. TRANSLATORS: Used for statusbar description for long chains: +#. * "Clone of: Clone of: ... in Layer 1". +#: ../src/sp-use.cpp:327 +msgid "..." +msgstr "..." -#: ../src/ui/dialog/filter-effects-dialog.cpp:1453 -msgid "Connections" -msgstr "Połączenia" +#: ../src/sp-use.cpp:335 +#, c-format +msgid "Clone of: %s" +msgstr "Klon obiektu: %s" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1569 -msgid "Remove filter primitive" -msgstr "Usuń efekt specjalny" +#: ../src/sp-use.cpp:339 +msgid "Orphaned clone" +msgstr "Osierocony klon" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1940 -msgid "Remove merge node" -msgstr "Usuń połączenie węzła" +#: ../src/spiral-context.cpp:344 +msgid "Ctrl: snap angle" +msgstr "Ctrl - przyciąganie do kąta" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2056 -msgid "Reorder filter primitive" -msgstr "Zmień ustawienia efektu specjalnego" +#: ../src/spiral-context.cpp:346 +msgid "Alt: lock spiral radius" +msgstr "Alt - blokada promienia spirali" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2092 -msgid "Add Effect:" -msgstr "Dodaj efekt:" +#: ../src/spiral-context.cpp:471 +#, c-format +msgid "Spiral: radius %s, angle %5g°; with Ctrl to snap angle" +msgstr "Spirala: promień %s, kąt %5g° z Ctrl - przyciąganie do kąta" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2093 -msgid "No effect selected" -msgstr "Nie wybrano efektu" +#: ../src/spiral-context.cpp:492 +msgid "Create spiral" +msgstr "Utwórz spiralę" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2094 -msgid "No filter selected" -msgstr "Nie wybrano filtru" +#: ../src/splivarot.cpp:78 +msgid "Intersection" +msgstr "Część wspólna" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2130 -msgid "Effect parameters" -msgstr "Parametry efektu" +#: ../src/splivarot.cpp:84 +#: ../src/splivarot.cpp:90 +msgid "Difference" +msgstr "Różnica" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2131 -msgid "Filter General Settings" -msgstr "Ustawienia filtrów" +#: ../src/splivarot.cpp:101 +msgid "Division" +msgstr "Podział" -#. default x: -#. default y: -#: ../src/ui/dialog/filter-effects-dialog.cpp:2187 -msgid "Coordinates" -msgstr "Współrzędne" +#: ../src/splivarot.cpp:106 +msgid "Cut path" +msgstr "Rozcięcie ścieżki" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2187 -msgid "X coordinate of the left corners of filter effects region" -msgstr "Współrzędna X lewych narożników obszaru efektów filtra" +#: ../src/splivarot.cpp:121 +msgid "Select at least 2 paths to perform a boolean operation." +msgstr "Zaznacz co najmniej 2 ścieżki, aby wykonać operację logiczną" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2187 -msgid "Y coordinate of the upper corners of filter effects region" -msgstr "Współrzędna Y lewych narożników obszaru efektów filtra" +#: ../src/splivarot.cpp:125 +msgid "Select at least 1 path to perform a boolean union." +msgstr "Zaznacz co najmniej 1 ścieżkę, aby wykonać sumę logiczną" -#. default width: -#. default height: -#: ../src/ui/dialog/filter-effects-dialog.cpp:2188 -#: ../share/extensions/dimension.inx.h:1 -msgid "Dimensions" -msgstr "Wymiary" +#: ../src/splivarot.cpp:131 +msgid "Select exactly 2 paths to perform difference, XOR, division, or path cut." +msgstr "Zaznacz 2 ścieżki, aby wykonać operację różnicy, wykluczenia, podziału lub rozcięcia ścieżki" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2188 -msgid "Width of filter effects region" -msgstr "Szerokość obszaru efektów filtra" +#: ../src/splivarot.cpp:148 +#: ../src/splivarot.cpp:163 +msgid "Unable to determine the z-order of the objects selected for difference, XOR, division, or path cut." +msgstr "Nie można rozpoznać kolejności obiektów zaznaczonych do różnicy, wykluczenia, podziału lub rozcięcia ścieżki" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2188 -msgid "Height of filter effects region" -msgstr "Wysokość obszaru efektów filtra" +#: ../src/splivarot.cpp:193 +msgid "One of the objects is not a path, cannot perform boolean operation." +msgstr "Jeden z obiektów nie jest ścieżką. Nie można wykonać operacji logicznej." -#. # end multiple scan -#. ## end mode page -#: ../src/ui/dialog/filter-effects-dialog.cpp:2191 -#: ../src/ui/dialog/tracedialog.cpp:553 ../src/widgets/toolbox.cpp:3328 -#: ../share/extensions/triangle.inx.h:9 -msgid "Mode" -msgstr "Tryb" +#: ../src/splivarot.cpp:634 +msgid "Select stroked path(s) to convert stroke to path." +msgstr "Wybierz ścieżkę(i) konturu do konwersji konturu na ścieżkę" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2194 -msgid "" -"Indicates the type of matrix operation. The keyword 'matrix' indicates that " -"a full 5x4 matrix of values will be provided. The other keywords represent " -"convenience shortcuts to allow commonly used color operations to be " -"performed without specifying a complete matrix." -msgstr "" -"Wskazuje na operację typu \"macierz\". Słowo kluczowe \"macierz\" wskazuje, " -"że zostaną przeprowadzone wszystkie wartości macierzy 5x4. Inne słowa " -"kluczowe reprezentują wygodne w użyciu skróty do przeprowadzenia operacji na " -"kolorach bez specyfikowania całej macierzy." +#: ../src/splivarot.cpp:949 +msgid "Convert stroke to path" +msgstr "Konwertuje kontur na ścieżkę" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2195 -msgid "Value(s)" -msgstr "Wartość(i)" +#. TRANSLATORS: "to outline" means "to convert stroke to path" +#: ../src/splivarot.cpp:952 +msgid "No stroked paths in the selection." +msgstr "W zaznaczeniu brak ścieżek z konturem" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2209 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2250 -msgid "Operator" -msgstr "Operator" +#: ../src/splivarot.cpp:1033 +msgid "Selected object is not a path, cannot inset/outset." +msgstr "Zaznaczony obiekt nie jest ścieżką. Nie można wykonać odsunięcia do wewnątrz/na zewnątrz." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2210 -msgid "K1" -msgstr "K1" +#: ../src/splivarot.cpp:1153 +#: ../src/splivarot.cpp:1222 +msgid "Create linked offset" +msgstr "Utwórz połączone odsunięcie" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2210 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2211 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2212 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2213 -msgid "" -"If the arithmetic operation is chosen, each result pixel is computed using " -"the formula k1*i1*i2 + k2*i1 + k3*i2 + k4 where i1 and i2 are the pixel " -"values of the first and second inputs respectively." -msgstr "" -"Jeśli została wybrana operacja arytmetyczna, każdy wynikowy piksel będzie " -"przeliczany za pomocą formuły k1*i1*i2 + k2*i1 + k3*i2 + k4, gdzie 1 i 2 są " -"odpowiednio wartościami pierwszego i drugiego piksela. " +#: ../src/splivarot.cpp:1154 +#: ../src/splivarot.cpp:1223 +msgid "Create dynamic offset" +msgstr "Tworzy dynamiczny obiekt odsunięcia" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2211 -msgid "K2" -msgstr "K2" +#: ../src/splivarot.cpp:1248 +msgid "Select path(s) to inset/outset." +msgstr "Zaznacz ścieżkę(i) do odsunięcia na zewnątrz/do wewnątrz" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2212 -msgid "K3" -msgstr "K3" +#: ../src/splivarot.cpp:1466 +msgid "Inset path" +msgstr "Ścieżka przesunięcia wewnętrznego" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2213 -msgid "K4" -msgstr "K4" +#: ../src/splivarot.cpp:1466 +msgid "Outset path" +msgstr "Ścieżka przesunięcia zewnętrznego" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2216 -msgid "width of the convolve matrix" -msgstr "szerokość macierzy skręcania" +#: ../src/splivarot.cpp:1468 +msgid "No paths to inset/outset in the selection." +msgstr "W zaznaczeniu brak ścieżek do odsunięcia do wewnątrz/na zewnątrz" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2216 -msgid "height of the convolve matrix" -msgstr "wysokość macierzy skręcania" +#: ../src/splivarot.cpp:1643 +msgid "Simplifying paths (separately):" +msgstr "Upraszczanie ścieżek (oddzielnie):" -#. default x: -#. default y: -#: ../src/ui/dialog/filter-effects-dialog.cpp:2217 -msgid "Target" -msgstr "Cel" +#: ../src/splivarot.cpp:1645 +msgid "Simplifying paths:" +msgstr "Upraszczanie ścieżek:" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2217 -msgid "" -"X coordinate of the target point in the convolve matrix. The convolution is " -"applied to pixels around this point." -msgstr "" -"Współrzędna X punktu docelowego w macierzy skręcania. Skręcenie jest " -"stosowane do pikseli wokół tego punktu." +#: ../src/splivarot.cpp:1682 +#, c-format +msgid "%s %d of %d paths simplified..." +msgstr "Uproszczono %s %d z %d ścieżek" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2217 -msgid "" -"Y coordinate of the target point in the convolve matrix. The convolution is " -"applied to pixels around this point." -msgstr "" -"Współrzędna Y punktu docelowego w macierzy skręcania. Skręcenie jest " -"stosowane do pikseli wokół tego punktu." +#: ../src/splivarot.cpp:1693 +#, c-format +msgid "%d paths simplified." +msgstr "Uproszczono %d ścieżek" -#. TRANSLATORS: for info on "Kernel", see http://en.wikipedia.org/wiki/Kernel_(matrix) -#: ../src/ui/dialog/filter-effects-dialog.cpp:2219 -msgid "Kernel" -msgstr "Jądro" +#: ../src/splivarot.cpp:1707 +msgid "Select path(s) to simplify." +msgstr "Zaznacz ścieżkę(i) do uproszczenia" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2219 -msgid "" -"This matrix describes the convolve operation that is applied to the input " -"image in order to calculate the pixel colors at the output. Different " -"arrangements of values in this matrix result in various possible visual " -"effects. An identity matrix would lead to a motion blur effect (parallel to " -"the matrix diagonal) while a matrix filled with a constant non-zero value " -"would lead to a common blur effect." -msgstr "" -"Ta macierz opisuje operację skręcania stosowaną na obrazku wyjściowym, aby " -"obliczyć piksele kolorów w obrazku wynikowym. Różne wartości w tej macierzy " -"dają różne efekty wizualne. Na przykład macierz jednostkowa da efekt " -"ruchomego rozmycia (równolegle do przekątnej macierzy) natomiast macierz " -"wypełniona stałą, nie zerową wartością, da efekt zwykłego rozmycia." +#: ../src/splivarot.cpp:1721 +msgid "Simplify" +msgstr "Uprość" -#. TODO: svg spec: The default value is the sum of all values in kernelMatrix, with the exception that if the sum is zero, then the divisor is set to 1. -#: ../src/ui/dialog/filter-effects-dialog.cpp:2222 -msgid "Divisor" -msgstr "Dzielnik" +#: ../src/splivarot.cpp:1723 +msgid "No paths to simplify in the selection." +msgstr "W zaznaczeniu brak ścieżek do uproszczenia" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2222 -msgid "" -"After applying the kernelMatrix to the input image to yield a number, that " -"number is divided by divisor to yield the final destination color value. A " -"divisor that is the sum of all the matrix values tends to have an evening " -"effect on the overall color intensity of the result." -msgstr "" -"Numer uzyskany przez zastosowanie jądra macierzy do obrazu wejściowego jest " -"dzielony przez dzielnik w celu uzyskania ostatecznej wartości koloru " -"docelowego. Dzielnik, który jest sumą wszystkich wartości w macierzy, " -"powoduje zwykle wyrównanie intensywności kolorów obrazu wynikowego." +#: ../src/star-context.cpp:356 +msgid "Ctrl: snap angle; keep rays radial" +msgstr "Ctrl - przyciąganie do kąta, zachowanie promienistości" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2223 -msgid "Bias" -msgstr "Odchylenie" +#: ../src/star-context.cpp:481 +#, c-format +msgid "Polygon: radius %s, angle %5g°; with Ctrl to snap angle" +msgstr "Wielokąt: promień %s, kąt %5g°; z Ctrl przyciąganie do kąta." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2223 -msgid "" -"This value is added to each component. This is useful to define a constant " -"value as the zero response of the filter." -msgstr "" -"Ta wartość jest dodawana do każdego komponentu. Jest to przydatne dla " -"zdefiniowania stałej wartości, która będzie zerową odpowiedzią filtru." +#: ../src/star-context.cpp:482 +#, c-format +msgid "Star: radius %s, angle %5g°; with Ctrl to snap angle" +msgstr "Gwiazda: promień %s, kąt %5g°; z Ctrl przyciąganie do kąta." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2224 -msgid "Edge Mode" -msgstr "Tryb krawędzi" +#: ../src/star-context.cpp:505 +msgid "Create star" +msgstr "Utwórz gwiazdę" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2224 -msgid "" -"Determines how to extend the input image as necessary with color values so " -"that the matrix operations can be applied when the kernel is positioned at " -"or near the edge of the input image." -msgstr "" -"Określa jak rozciągać obrazek początkowy z wartościami koloru, aby mogły być " -"zastosowane operacje macierzowe, gdy jądro filtru jest usytuowane na lub " -"blisko krawędzi tego obrazka." +#: ../src/text-chemistry.cpp:104 +msgid "Select a text and a path to put text on path." +msgstr "Zaznacz tekst i ścieżkę, aby wprowadzić tekst na ścieżkę" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2225 -msgid "Preserve Alpha" -msgstr "Zachowaj krycie" +#: ../src/text-chemistry.cpp:109 +msgid "This text object is already put on a path. Remove it from the path first. Use Shift+D to look up its path." +msgstr "Ten obiekt tekstowy jest już wprowadzony na ścieżkę. Zdejmij go najpierw ze ścieżki. Użyj Shift + D, aby odnaleźć jego ścieżkę." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2225 -msgid "If set, the alpha channel won't be altered by this filter primitive." -msgstr "" -"Jeśli opcja ta jest zaznaczona, kanał alfa nie będzie zmieniany przez ten " -"efekt specjalny." +#. rect is the only SPShape which is not yet, and thus SVG forbids us from putting text on it +#: ../src/text-chemistry.cpp:115 +msgid "You cannot put text on a rectangle in this version. Convert rectangle to path first." +msgstr "W tej wersji programu nie można wprowadzić tekstu na prostokąt. Dokonaj najpierw konwersji prostokąta na ścieżkę." -#. default: white -#: ../src/ui/dialog/filter-effects-dialog.cpp:2228 -msgid "Diffuse Color" -msgstr "Kolor rozpraszania" +#: ../src/text-chemistry.cpp:125 +msgid "The flowed text(s) must be visible in order to be put on a path." +msgstr "Tekst musi być widoczny, aby został wstawiony na ścieżkę" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2228 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2261 -msgid "Defines the color of the light source" -msgstr "Definiuje kolor źródła światła" +#: ../src/text-chemistry.cpp:192 +#: ../src/verbs.cpp:2352 +msgid "Put text on path" +msgstr "Wstawia tekst na ścieżkę" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2229 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2262 -msgid "Surface Scale" -msgstr "Skaluj powierzchnię" +#: ../src/text-chemistry.cpp:204 +msgid "Select a text on path to remove it from path." +msgstr "Zaznacz tekst na ścieżce, aby zdjąć go ze ścieżki" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2229 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2262 -msgid "" -"This value amplifies the heights of the bump map defined by the input alpha " -"channel" -msgstr "" -"Ta wartość wzmacnia wysokości mapowania wypukłości zdefiniowane przez " -"początkowe wartości kanału alfa" +#: ../src/text-chemistry.cpp:226 +msgid "No texts-on-paths in the selection." +msgstr "W zaznaczeniu brak tekstów na ścieżce" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2230 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2263 -msgid "Constant" -msgstr "Stała" +#: ../src/text-chemistry.cpp:229 +#: ../src/verbs.cpp:2354 +msgid "Remove text from path" +msgstr "Zdejmuje tekst ze ścieżki" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2230 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2263 -msgid "This constant affects the Phong lighting model." -msgstr "Ta stała oddziałuje na model oświetlenia Phonga." +#: ../src/text-chemistry.cpp:269 +#: ../src/text-chemistry.cpp:290 +msgid "Select text(s) to remove kerns from." +msgstr "Zaznacz tekst(y) do usunięcia kerningu ręcznego" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2231 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2265 -msgid "Kernel Unit Length" -msgstr "Długość jednostki jądra" +#: ../src/text-chemistry.cpp:293 +msgid "Remove manual kerns" +msgstr "Usuń ręczny kerning" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2235 -msgid "This defines the intensity of the displacement effect." -msgstr "Definjuje intensywność efektu przesunięcia" +#: ../src/text-chemistry.cpp:313 +msgid "Select a text and one or more paths or shapes to flow text into frame." +msgstr "Zaznacz tekst i jedną lub więcej ścieżek lub kształtów, aby wprowadzić tekst do ramki" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2236 -msgid "X displacement" -msgstr "Przemieszczanie w kierunku X" +#: ../src/text-chemistry.cpp:381 +msgid "Flow text into shape" +msgstr "Wprowadź tekst do kształtu" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2236 -msgid "Color component that controls the displacement in the X direction" -msgstr "Składnik koloru kontrolujący przemieszczanie w kierunku X" +#: ../src/text-chemistry.cpp:403 +msgid "Select a flowed text to unflow it." +msgstr "Zaznacz tekst wpisany, aby go uwolnić z ramki" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2237 -msgid "Y displacement" -msgstr "Przemieszczanie w kierunku Y" +#: ../src/text-chemistry.cpp:470 +msgid "Unflow flowed text" +msgstr "Uwolnij tekst wpisany" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2237 -msgid "Color component that controls the displacement in the Y direction" -msgstr "Składnik koloru kontrolujący przemieszczanie w kierunku Y" +#: ../src/text-chemistry.cpp:482 +msgid "Select flowed text(s) to convert." +msgstr "Zaznacz tekst wpisany, aby go konwertować" -#. default: black -#: ../src/ui/dialog/filter-effects-dialog.cpp:2240 -msgid "Flood Color" -msgstr "Kolor wypełnienia" +#: ../src/text-chemistry.cpp:500 +msgid "The flowed text(s) must be visible in order to be converted." +msgstr "Aby skonwertować tekst wpisany musi być on widoczny" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2240 -msgid "The whole filter region will be filled with this color." -msgstr "Cały filtrowany obszar zostanie wypełniony tym kolorem." +#: ../src/text-chemistry.cpp:528 +msgid "Convert flowed text to text" +msgstr "Konwertuj tekst wpisany na tekst" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2244 -msgid "Standard Deviation" -msgstr "Odchylenie standardowe" +#: ../src/text-chemistry.cpp:533 +msgid "No flowed text(s) to convert in the selection." +msgstr "W zaznaczeniu brak tekstu wpisanego do konwersji" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2244 -msgid "The standard deviation for the blur operation." -msgstr "Standardowe odchylenie operacji rozmycia." +#: ../src/text-context.cpp:460 +msgid "Click to edit the text, drag to select part of the text." +msgstr "Kliknij, aby edytować tekst. Ciągnij, aby zaznaczyć jego fragment." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2250 -msgid "" -"Erode: performs \"thinning\" of input image.\n" -"Dilate: performs \"fattenning\" of input image." -msgstr "" -"Erozja: wykonuje \"pocienienie\" obrazka.\n" -"Dylatacja: wykonuje \"pogrubienie\" obrazka." +#: ../src/text-context.cpp:462 +msgid "Click to edit the flowed text, drag to select part of the text." +msgstr "Kliknij, aby edytować tekst wpisany. Ciągnij, aby zaznaczyć jego fragment." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2254 -msgid "Source of Image" -msgstr "Źródło obrazka" +#: ../src/text-context.cpp:516 +msgid "Create text" +msgstr "Utwórz tekst" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2257 -msgid "Delta X" -msgstr "Delta X" +#: ../src/text-context.cpp:540 +msgid "Non-printable character" +msgstr "Znak niedrukowany" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2257 -msgid "This is how far the input image gets shifted to the right" -msgstr "Jak daleko obrazek wejściowy zostaje odsunięty w prawo" +#: ../src/text-context.cpp:555 +msgid "Insert Unicode character" +msgstr "Wprowadź znak Unicode" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2258 -msgid "Delta Y" -msgstr "Delta Y" +#: ../src/text-context.cpp:590 +#, c-format +msgid "Unicode (Enter to finish): %s: %s" +msgstr "Unicode (Enter, aby zakończyć): %s: %s" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2258 -msgid "This is how far the input image gets shifted downwards" -msgstr "Jak daleko obrazek wejściowy zostaje odsunięty w dół" +#: ../src/text-context.cpp:592 +#: ../src/text-context.cpp:866 +msgid "Unicode (Enter to finish): " +msgstr "Unicode (Enter, aby zakończyć): " -#. default: white -#: ../src/ui/dialog/filter-effects-dialog.cpp:2261 -msgid "Specular Color" -msgstr "Kolor odbicia lustrzanego" +#: ../src/text-context.cpp:666 +#, c-format +msgid "Flowed text frame: %s × %s" +msgstr "Ramka tekstu wpisanego: %s × %s" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2264 -#: ../share/extensions/interp.inx.h:2 -msgid "Exponent" -msgstr "Wykładnik" +#: ../src/text-context.cpp:698 +#: ../src/text-context.cpp:1617 +msgid "Type text; Enter to start new line." +msgstr "Wprowadź tekst; Enter, aby przejść do nowej linii" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2264 -msgid "Exponent for specular term, larger is more \"shiny\"." -msgstr "Wykładnik odblasków. Większa wartość - bardziej błyszczący odblask." +#: ../src/text-context.cpp:711 +msgid "Flowed text is created." +msgstr "Utworzono tekst wpisany" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2273 -msgid "" -"Indicates whether the filter primitive should perform a noise or turbulence " -"function." -msgstr "" -"Wskazuje, czy efekt specjalny powinien wykonać funkcję szumu lub zawirowania." +#: ../src/text-context.cpp:713 +msgid "Create flowed text" +msgstr "Utwórz tekst wpisany" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2274 -msgid "Base Frequency" -msgstr "Częstotliwość bazowa" +#: ../src/text-context.cpp:715 +msgid "The frame is too small for the current font size. Flowed text not created." +msgstr "Ramka jest zbyt mała dla wybranej wielkości czcionki. Nie utworzono tekstu wpisanego." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2275 -msgid "Octaves" -msgstr "Oktawy" +#: ../src/text-context.cpp:851 +msgid "No-break space" +msgstr "Spacja nie łamiąca wiersza" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2276 -msgid "Seed" -msgstr "Ziarno" +#: ../src/text-context.cpp:853 +msgid "Insert no-break space" +msgstr "Wstawia spację nie łamiącą wiersza" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2276 -msgid "The starting number for the pseudo random number generator." -msgstr "Początkowa liczba dla pseudo losowego generatora liczb." +#: ../src/text-context.cpp:890 +msgid "Make bold" +msgstr "Pogrubienie" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2288 -msgid "Add filter primitive" -msgstr "Dodaj efekt specjalny" +#: ../src/text-context.cpp:908 +msgid "Make italic" +msgstr "Pochylenie" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2304 -msgid "" -"The feBlend filter primitive provides 4 image blending modes: screen, " -"multiply, darken and lighten." -msgstr "" -"Efekt specjalny feBlend dostarcza 4 tryby mieszania obrazków - " -"zwielokrotnianie, przesiewanie, rozjaśnianie i przyciemnianie" +#: ../src/text-context.cpp:947 +msgid "New line" +msgstr "Nowy wiersz" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2308 -msgid "" -"The feColorMatrix filter primitive applies a matrix transformation to " -"colour of each rendered pixel. This allows for effects like turning object " -"to grayscale, modifying colour saturation and changing colour hue." -msgstr "" -"Efekt specjalny feColorMatrix stosuje przetworzenie macierzy do " -"koloru każdego renderowanego piksela. Pozwala to efektom na włączenie dla " -"obiektu skali szarości, modyfikowanie nasycenia i barwy koloru." +#: ../src/text-context.cpp:981 +msgid "Backspace" +msgstr "Backspace" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2312 -msgid "" -"The feComponentTransfer filter primitive manipulates the input's " -"color components (red, green, blue, and alpha) according to particular " -"transfer functions, allowing operations like brightness and contrast " -"adjustment, color balance, and thresholding." -msgstr "" -"Efekt specjalny feComponentTransfer operuje źródłowymi komponentami " -"koloru (czerwony, zielony, niebieski i krycie) odpowiednio do określonych " -"funkcji transferu pozwalając na takie operacje jak ustawianie jasności i " -"kontrastu, balansu kolorów i wartości progowych" +#: ../src/text-context.cpp:1029 +msgid "Kern to the left" +msgstr "Podetnij z lewej" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2316 -msgid "" -"The feComposite filter primitive composites two images using one of " -"the Porter-Duff blending modes or the aritmetic mode described in SVG " -"standard. Porter-Duff blending modes are essentially logical operations " -"between the corresponding pixel values of the images." -msgstr "" -"Efekt specjalny feComposite łączy dwa obrazki używając jednego z " -"trybów mieszania Portera-Duffa (przezroczystości) lub arytmetycznego trybu " -"opisanego w standardzie SVG. Tryby mieszania Portera-Duffa są zasadniczo " -"operacjami logicznymi pomiędzy odpowiednimi pikselami obrazków." +#: ../src/text-context.cpp:1054 +msgid "Kern to the right" +msgstr "Podetnij z prawej" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2320 -msgid "" -"The feConvolveMatrix lets you specify a Convolution to be applied on " -"the image. Common effects created using convolution matrices are blur, " -"sharpening, embossing and edge detection. Note that while gaussian blur can " -"be created using this filter primitive, the special gaussian blur primitive " -"is faster and resolution-independent." -msgstr "" -"feConvolveMatrix pozwala określić skręcenie stosowane do obrazka. " -"Wspólnymi efektami utworzonymi przy użyciu macierzy skręcenia są: rozmycie, " -"wyostrzenie, płaskorzeźba i ujawnianie krawędzi. Przy pomocy tego filtru " -"może być utworzone rozmycie gaussowskie, ale dedykowany filtr rozmycia " -"gausowskiego jest szybszy i niezależny od rozdzielczości. " +#: ../src/text-context.cpp:1079 +msgid "Kern up" +msgstr "Podetnij od góry" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2324 -msgid "" -"The feDiffuseLighting and feSpecularLighting filter primitives create " -"\"embossed\" shadings. The input's alpha channel is used to provide depth " -"information: higher opacity areas are raised toward the viewer and lower " -"opacity areas recede away from the viewer." -msgstr "" -"Efekty specjalne feDiffuseLighting i feSpecularLighting tworzą " -"płaskorzeźbę. Kanał przezroczystości jest używany do osiągnięcia głębi. " -"Większa przezroczystość jest ustawiana bliżej oglądającego, mniejsza dalej." +#: ../src/text-context.cpp:1105 +msgid "Kern down" +msgstr "Podetnij od dołu" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2328 -msgid "" -"The feDisplacementMap filter primitive displaces the pixels in the " -"first input using the second input as a displacement map, that shows from " -"how far the pixel should come from. Classical examples are whirl and pinch " -"effects." -msgstr "" -"Efekt specjalny feDisplacementMap wypiera piksele w pierwszym źródle " -"używając drugiego źródła jako mapy wypierania, która pokazuje skąd piksel " -"powinien być pobrany. Klasycznym przykładem takiego działania są efekty wiru " -"i ściśnięcia." +#: ../src/text-context.cpp:1182 +msgid "Rotate counterclockwise" +msgstr "Obróć w lewo" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2332 -msgid "" -"The feFlood filter primitive fills the region with a given color and " -"opacity. It is usually used as an input to other filters to apply color to " -"a graphic." -msgstr "" -"Efekt specjalny feFlood wypełnia obszar zadanym kolorem i kryciem. " -"Jest on zazwyczaj używany w początkowej fazie tworzenia grafiki i stanowi " -"podstawę dla innych filtrów stosowanych do wprowadzania koloru do grafiki." +#: ../src/text-context.cpp:1203 +msgid "Rotate clockwise" +msgstr "Obróć w prawo" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2336 -msgid "" -"The feGaussianBlur filter primitive uniformly blurs its input. It is " -"commonly used together with feOffset to create a drop shadow effect." -msgstr "" -"Efekt specjalny feGaussianBlur wykonuje jednolite rozmycie. Jest on " -"często używany z filtrem feOffset do tworzenia efektu cienia." +#: ../src/text-context.cpp:1220 +msgid "Contract line spacing" +msgstr "Zmniejsz odstęp pomiędzy wierszami" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2340 -msgid "" -"The feImage filter primitive fills the region with an external image " -"or another part of the document." -msgstr "" -"Efekt specjalny feImage wypełnia obszar roboczy lub inną część " -"dokumentu zewnętrznym obrazkiem." +#: ../src/text-context.cpp:1228 +msgid "Contract letter spacing" +msgstr "Zmniejsz odstęp pomiędzy literami" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2344 -msgid "" -"The feMerge filter primitive composites several temporary images " -"inside the filter primitive to a single image. It uses normal alpha " -"compositing for this. This is equivalent to using several feBlend primitives " -"in 'normal' mode or several feComposite primitives in 'over' mode." -msgstr "" -"Efekt specjalny feMerge zbiera wewnątrz filtru kilka tymczasowych " -"obrazków do użycia w obrazku końcowym. W tym celu używa on normalnej " -"kompozycji przezroczystości. Można go używać zamiast wielokrotnego użycia " -"filtru feBlend w trybie \"normal\" lub zamiast wielokrotnego użycia " -"filtru feComposite w trybie \"over\"." +#: ../src/text-context.cpp:1247 +msgid "Expand line spacing" +msgstr "Zwiększ odstęp pomiędzy wierszami" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2348 -msgid "" -"The feMorphology filter primitive provides erode and dilate effects. " -"For single-colour objects erode makes the object thinner and dilate makes it " -"thicker." -msgstr "" -"Efekt specjalny feMorphology dostarcza efekty erozji i pęcznienia. W " -"obiektach jednokolorowych erozja pocienia obiekt, a pęcznienie pogrubia." +#: ../src/text-context.cpp:1255 +msgid "Expand letter spacing" +msgstr "Zwiększ odstęp pomiędzy literami" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2352 -msgid "" -"The feOffset filter primitive offsets the image by an user-defined " -"amount. For example, this is useful for drop shadows, where the shadow is in " -"a slightly different position than the actual object." -msgstr "" -"Efekt specjalny feOffset przesuwa obrazek o zdefiniowaną przez " -"użytkownika wielkość. Na przykład jest bardzo pomocny przy dodawaniu cieni, " -"gdy cień jest niewiele odsunięty od obiektu." +#: ../src/text-context.cpp:1382 +msgid "Paste text" +msgstr "Wklej tekst" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2356 -msgid "" -"The feDiffuseLighting and feSpecularLighting filter primitives create " -"\"embossed\" shadings. The input's alpha channel is used to provide depth " -"information: higher opacity areas are raised toward the viewer and lower " -"opacity areas recede away from the viewer." -msgstr "" -"Efekty specjalne feDiffuseLighting i feSpecularLighting tworzą " -"płaskorzeźbę. Kanał przezroczystości jest używany do osiągnięcia głębi. " -"Większa przezroczystość jest ustawiana bliżej oglądającego, mniejsza dalej." +#: ../src/text-context.cpp:1615 +msgid "Type flowed text; Enter to start new paragraph." +msgstr "Wprowadź tekst wpisany. Naciśnij Enter, aby rozpocząć nowy akapit." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2360 -msgid "" -"The feTile filter primitive tiles a region with its input graphic" -msgstr "" -"Efekt specjalny feTile tworzy kafelkowy region ze wstawioną grafiką" +#: ../src/text-context.cpp:1625 +#: ../src/tools-switch.cpp:214 +msgid "Click to select or create text, drag to create flowed text; then type." +msgstr "Kliknij, aby zaznaczyć lub utworzyć tekst. Ciągnij, aby utworzyć tekst wpisany, następnie wprowadź treść." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2364 -msgid "" -"The feTurbulence filter primitive renders Perlin noise. This kind of " -"noise is useful in simulating several nature phenomena like clouds, fire and " -"smoke and in generating complex textures like marble or granite." -msgstr "" -"Efekt specjalny feTurbulence renderuje szum Perlina. Ten rodzaj szumu " -"jest użyteczny do symulacji różnych zjawisk natury jak chmury, ogień, dym " -"oraz do generowania skomplikowanych tekstur takich jak marmur, czy granit." +#: ../src/text-context.cpp:1735 +msgid "Type text" +msgstr "Wprowadź tekst" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2382 -msgid "Duplicate filter primitive" -msgstr "Powiel efekt specjalny" +#: ../src/text-editing.cpp:40 +msgid "You cannot edit cloned character data." +msgstr "Nie można edytować danych skolonowanego znaku." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2435 -msgid "Set filter primitive attribute" -msgstr "Określ atrybut efektu specjalnego" +#: ../src/tools-switch.cpp:154 +msgid "To edit a path, click, Shift+click, or drag around nodes to select them, then drag nodes and handles. Click on an object to select." +msgstr "Kliknij, aby edytować ścieżkę. Shift + kliknięcie lub ciągnięcie wokół węzłów, aby je zaznaczyć, następnie przeciągaj węzły i uchwyty. Kliknij na obiekcie, aby go zaznaczyć." -#: ../src/ui/dialog/inkscape-preferences.cpp:147 -msgid "Mouse" -msgstr "Mysz" +#: ../src/tools-switch.cpp:160 +msgid "To tweak a path by pushing, select it and drag over it." +msgstr "Aby udoskonalić ścieżkę za pomocą spychania, zaznacz ją, a następnie zmodyfikuj pociągnięciami myszy" -#: ../src/ui/dialog/inkscape-preferences.cpp:149 -msgid "Grab sensitivity:" -msgstr "Czułość chwytania:" +#: ../src/tools-switch.cpp:166 +msgid "Drag to create a rectangle. Drag controls to round corners and resize. Click to select." +msgstr "Ciągnij, aby utworzyć prostokąt. Ciągnij punkty kontrolne, aby zaokrąglić narożniki i zmienić rozmiar. Kliknij, aby zaznaczyć." -#: ../src/ui/dialog/inkscape-preferences.cpp:149 -#: ../src/ui/dialog/inkscape-preferences.cpp:152 -#: ../src/ui/dialog/inkscape-preferences.cpp:168 -#: ../src/ui/dialog/inkscape-preferences.cpp:172 -#: ../src/ui/dialog/inkscape-preferences.cpp:182 -msgid "pixels" -msgstr "px" +#: ../src/tools-switch.cpp:172 +msgid "Drag to create a 3D box. Drag controls to resize in perspective. Click to select (with Ctrl+Alt for single faces)." +msgstr "Ciągnij, aby utworzyć obiekt 3D. Ciągnij punkty kontrolne, aby zmienić wielkość w perspektywie. Kliknij, aby zaznaczyć (z Ctrl + Alt dla pojedynczego oblicza)." -#: ../src/ui/dialog/inkscape-preferences.cpp:150 -msgid "" -"How close on the screen you need to be to an object to be able to grab it " -"with mouse (in screen pixels)" -msgstr "" -"Odległość kursora myszy od obiektu przy jakiej staje się możliwe " -"oddziaływanie nim na obiekt (w pikselach ekranu)" +#: ../src/tools-switch.cpp:178 +msgid "Drag to create an ellipse. Drag controls to make an arc or segment. Click to select." +msgstr "Ciągnij, aby utworzyć elipsę. Ciągnij punkty kontrolne, aby utworzyć łuk lub odcinek. Kliknij, aby zaznaczyć." -#: ../src/ui/dialog/inkscape-preferences.cpp:152 -msgid "Click/drag threshold:" -msgstr "Próg kliknięcia/przeciągania:" +#: ../src/tools-switch.cpp:184 +msgid "Drag to create a star. Drag controls to edit the star shape. Click to select." +msgstr "Ciągnij, aby utworzyć gwiazdę. Ciągnij punkty kontrolne, aby zmienić kształt gwiazdy. Kliknij, aby zaznaczyć." -#: ../src/ui/dialog/inkscape-preferences.cpp:153 -msgid "" -"Maximum mouse drag (in screen pixels) which is considered a click, not a drag" -msgstr "" -"Największa wartość przesunięcia myszy, po naciśnięciu przycisku, traktowana " -"jeszcze jako kliknięcie, a nie przeciąganie (w pikselach ekranu)" +#: ../src/tools-switch.cpp:190 +msgid "Drag to create a spiral. Drag controls to edit the spiral shape. Click to select." +msgstr "Ciągnij, aby utworzyć spiralę. Ciągnij punkty kontrolne, aby zmienić kształt spirali. Kliknij, aby zaznaczyć." -#: ../src/ui/dialog/inkscape-preferences.cpp:155 -msgid "Use pressure-sensitive tablet (requires restart)" -msgstr "Używaj tabletu" +#: ../src/tools-switch.cpp:196 +msgid "Drag to create a freehand line. Start drawing with Shift to append to selected path. Ctrl+click to create single dots." +msgstr "Ciągnij, aby utworzyć linię odręczną. Rozpocznij rysowanie z Shift, aby dołączyć do zaznaczonej ścieżki. Ctrl + kliknięcie, aby tworzyć pojedyncze kropki." -#: ../src/ui/dialog/inkscape-preferences.cpp:157 -msgid "" -"Use the capabilities of a tablet or other pressure-sensitive device. Disable " -"this only if you have problems with the tablet (you can still use it as a " -"mouse)" -msgstr "" -"Po zaznaczeniu tej opcji i ponownym uruchomieniu programu można używać " -"tabletu lub innego, opartego na technice rozróżniania czułości nacisku " -"urządzenia. Opcję tę należy wyłączyć tylko, gdy występują problemy z " -"używaniem tabletu. Po wyłączeniu tej opcji można nadal używać tablet jako " -"mysz." +#: ../src/tools-switch.cpp:202 +msgid "Click or click and drag to start a path; with Shift to append to selected path. Ctrl+click to create single dots." +msgstr "Kliknij lub kliknij i ciągnij, aby rozpocząć ścieżkę, z Shift, aby dołączyć do zaznaczonej ścieżki. Ctrl + kliknięcie, aby tworzyć pojedyncze kropki." -#: ../src/ui/dialog/inkscape-preferences.cpp:159 +#: ../src/tools-switch.cpp:208 #, fuzzy -msgid "Switch tool based on tablet device (requires restart)" -msgstr "Rozmieszczenie okienek zadań (zmiana wymaga ponownego uruchomienia):" - -#: ../src/ui/dialog/inkscape-preferences.cpp:161 -msgid "" -"Change tool as different devices are used on the tablet (pen, eraser, mouse)" -msgstr "" +msgid "Drag to draw a calligraphic stroke; with Ctrl to track a guide path. Arrow keys adjust width (left/right) and angle (up/down)." +msgstr "Ciągnij, aby utworzyć pociągnięcie kaligraficzne. Z Ctrl - śledzi prowadnicę, z Alt - cieniej. Klawisze strzałek lewa/prawa - zmieniają szerokość, góra/dół - kąt. " -#: ../src/ui/dialog/inkscape-preferences.cpp:166 -msgid "Scrolling" -msgstr "Przewijanie" +#: ../src/tools-switch.cpp:220 +msgid "Drag or double click to create a gradient on selected objects, drag handles to adjust gradients." +msgstr "Ciągnij lub kliknij dwukrotnie, aby utworzyć gradient na zaznaczonych obiektach. Ciągnij uchwyty, aby edytować gradienty." -#: ../src/ui/dialog/inkscape-preferences.cpp:168 -msgid "Mouse wheel scrolls by:" -msgstr "Skok kółka myszy przewija ekran o:" +#: ../src/tools-switch.cpp:226 +msgid "Click or drag around an area to zoom in, Shift+click to zoom out." +msgstr "Kliknij lub wykonaj ciągnięcie wokół obszaru, aby go powiększyć. Shift + kliknięcie, aby pomniejszyć widok." -#: ../src/ui/dialog/inkscape-preferences.cpp:169 -msgid "" -"One mouse wheel notch scrolls by this distance in screen pixels " -"(horizontally with Shift)" -msgstr "" -"Jeden skok kółka myszy przewija ekran o określoną tutaj liczbę pikseli. " -"Przewijanie w poziomie jest realizowane z wciśniętym klawiszem [Shift]." +#: ../src/tools-switch.cpp:238 +msgid "Click and drag between shapes to create a connector." +msgstr "Kliknij i ciągnij pomiędzy kształtami, aby utworzyć łącznik" -#: ../src/ui/dialog/inkscape-preferences.cpp:170 -msgid "Ctrl+arrows" -msgstr "[ Ctrl + strzałki ]" +#: ../src/tools-switch.cpp:244 +msgid "Click to paint a bounded area, Shift+click to union the new fill with the current selection, Ctrl+click to change the clicked object's fill and stroke to the current setting." +msgstr "Kliknij, aby malować zaznaczony obszar, Shift + kliknięcie, aby połączyć nowe wypełnienie z aktywnym zaznaczeniem, Ctrl + kliknięcie, aby zmienić wypełnienie i kontur klikniętego obiektu na aktualne ustawienia" -#: ../src/ui/dialog/inkscape-preferences.cpp:172 -msgid "Scroll by:" -msgstr "Przewijaj o:" +#: ../src/tools-switch.cpp:250 +msgid "Drag to erase." +msgstr "Przeciągnij, aby usunąć." -#: ../src/ui/dialog/inkscape-preferences.cpp:173 -msgid "Pressing Ctrl+arrow key scrolls by this distance (in screen pixels)" +#: ../src/tools-switch.cpp:256 +msgid "Choose a subtool from the toolbar" msgstr "" -"Naciśnięcie klawiszy [ Ctrl + strzałka ] przewija obszar roboczy o określoną " -"tutaj odległość (w pikselach ekranowych)" -#: ../src/ui/dialog/inkscape-preferences.cpp:175 -msgid "Acceleration:" -msgstr "Przyspieszenie:" +#: ../src/trace/potrace/inkscape-potrace.cpp:524 +#: ../src/trace/potrace/inkscape-potrace.cpp:598 +#, c-format +msgid "Trace: %d. %ld nodes" +msgstr "Wektoryzacja: %d. %ld węzłów" -#: ../src/ui/dialog/inkscape-preferences.cpp:176 -msgid "" -"Pressing and holding Ctrl+arrow will gradually speed up scrolling (0 for no " -"acceleration)" -msgstr "" -"Naciśnięcie i przytrzymanie klawiszy [ Ctrl + strzałka ] powoduje stopniowe " -"przyspieszenie przewijania (0 - brak przyspieszania)" +#: ../src/trace/trace.cpp:71 +#: ../src/trace/trace.cpp:136 +#: ../src/trace/trace.cpp:144 +#: ../src/trace/trace.cpp:243 +msgid "Select an image to trace" +msgstr "Wybierz obrazek do wektoryzacji" -#: ../src/ui/dialog/inkscape-preferences.cpp:177 -msgid "Autoscrolling" -msgstr "Przewijanie automatyczne" +#: ../src/trace/trace.cpp:106 +msgid "Select only one image to trace" +msgstr "Wybierz dokładnie jeden obrazek do wektoryzacji" -#: ../src/ui/dialog/inkscape-preferences.cpp:179 -msgid "Speed:" -msgstr "Prędkość:" +#: ../src/trace/trace.cpp:124 +msgid "Select one image and one or more shapes above it" +msgstr "Wybierz jeden obrazek i jeden lub więcej kształtów ponad nim" -#: ../src/ui/dialog/inkscape-preferences.cpp:180 -msgid "" -"How fast the canvas autoscrolls when you drag beyond canvas edge (0 to turn " -"autoscroll off)" -msgstr "" -"Szybkość automatycznego przewijania, gdy obiekt zostaje przeciągnięty poza " -"obrzeże obszaru roboczego (0 – przewijanie wyłączone)" +#: ../src/trace/trace.cpp:234 +msgid "Trace: No active desktop" +msgstr "Wektoryzacja: Brak aktywnego obszaru roboczego" -#: ../src/ui/dialog/inkscape-preferences.cpp:182 -#: ../src/ui/dialog/tracedialog.cpp:410 ../src/ui/dialog/tracedialog.cpp:443 -#: ../src/ui/dialog/tracedialog.cpp:586 ../src/widgets/toolbox.cpp:5741 -msgid "Threshold:" -msgstr "Próg:" +#: ../src/trace/trace.cpp:333 +msgid "Invalid SIOX result" +msgstr "Nieprawidłowy wynik SIOX" -#: ../src/ui/dialog/inkscape-preferences.cpp:183 -msgid "" -"How far (in screen pixels) you need to be from the canvas edge to trigger " -"autoscroll; positive is outside the canvas, negative is within the canvas" -msgstr "" -"Odległość (w pikselach ekranu) od obrzeża obszaru roboczego, przy której " -"uruchamiane jest automatyczne przewijanie. Wartość dodatnia oznacza " -"położenie poza obszarem roboczym, ujemna wewnątrz." +#: ../src/trace/trace.cpp:438 +msgid "Trace: No active document" +msgstr "Wektoryzacja: Brak aktywnego dokumentu" -#: ../src/ui/dialog/inkscape-preferences.cpp:184 -msgid "Left mouse button pans when Space is pressed" -msgstr "" -"Przesuwaj obszar roboczy za pomocą klawisza spacji i lewego przycisku myszy" +#: ../src/trace/trace.cpp:461 +msgid "Trace: Image has no bitmap data" +msgstr "Wektoryzacja: W obrazie nie ma danych rastrowych" -#: ../src/ui/dialog/inkscape-preferences.cpp:186 -msgid "" -"When on, pressing and holding Space and dragging with left mouse button pans " -"canvas (as in Adobe Illustrator). When off, Space temporarily switches to " -"Selector tool (default)." -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, po naciśnięciu i przytrzymaniu klawsza " -"spacji będzie można za pomocą lewego przycisku myszy wykonać przesuwanie " -"obszaru roboczego (tak jak w programie Adobe Illustrator). Jeśli opcja nie " -"zostanie zaznaczona klawisz spacji będzie przełączał tymczasowo do " -"\"Wskaźnika\" (zachowanie domyślne)." +#: ../src/trace/trace.cpp:468 +msgid "Trace: Starting trace..." +msgstr "Wektoryzacja: Rozpocznij wektoryzację..." -#: ../src/ui/dialog/inkscape-preferences.cpp:187 -msgid "Mouse wheel zooms by default" -msgstr "Powiększaj obszar roboczy za pomocą kółka myszy" +#. ## inform the document, so we can undo +#: ../src/trace/trace.cpp:570 +msgid "Trace bitmap" +msgstr "Wektoryzuj bitmapę" -#: ../src/ui/dialog/inkscape-preferences.cpp:189 -msgid "" -"When on, mouse wheel zooms without Ctrl and scrolls canvas with Ctrl; when " -"off, it zooms with Ctrl and scrolls without Ctrl." -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, kółko myszy będzie powiększać/zmniejszać " -"obszar roboczy, z wciśniętym klawiszem [ Ctrl ] będzie przewijać obszar " -"roboczy w pionie, a z klawiszem [Shift] w poziomie. Gdy opcja nie zostanie " -"zaznaczona, kółko będzie przewijać obszar roboczy w pionie, a z wciśniętym " -"klawiszem [ Ctrl ] - powiększać." +#: ../src/trace/trace.cpp:574 +#, c-format +msgid "Trace: Done. %ld nodes created" +msgstr "Wektoryzacja: Zakończono. Utworzono %ld węzłów." -#: ../src/ui/dialog/inkscape-preferences.cpp:194 -msgid "Steps" -msgstr "Kroki" +#: ../src/tweak-context.cpp:206 +#, fuzzy, c-format +msgid "Nothing selected" +msgstr "Nic nie usunięto" -#. nudgedistance is limited to 1000 in select-context.cpp: use the same limit here -#: ../src/ui/dialog/inkscape-preferences.cpp:198 -msgid "Arrow keys move by:" -msgstr "Przesunięcie realizowane przez klawisze strzałek:" +#: ../src/tweak-context.cpp:212 +#, c-format +msgid "%s. Drag to move." +msgstr "%s. Przeciągnij aby przesunąć." -#: ../src/ui/dialog/inkscape-preferences.cpp:199 -msgid "" -"Pressing an arrow key moves selected object(s) or node(s) by this distance " -"(in px units)" +#: ../src/tweak-context.cpp:217 +#, c-format +msgid "%s. Drag or click to move in; with Shift to move out." msgstr "" -"Naciśnięcie klawisza strzałki przesuwa zaznaczony obiekt(y) lub węzeł(y) o " -"określoną tutaj wartość (w px)" -#. defaultscale is limited to 1000 in select-context.cpp: use the same limit here -#: ../src/ui/dialog/inkscape-preferences.cpp:202 -msgid "> and < scale by:" -msgstr "Zmiana rozmiaru realizowana przez klawisze [ > ] i [ < ]:" +#: ../src/tweak-context.cpp:220 +#, c-format +msgid "%s. Drag or click to move randomly." +msgstr "%s. Przeciągnij lub kliknij aby przesunąć losowo." -#: ../src/ui/dialog/inkscape-preferences.cpp:203 -msgid "" -"Pressing > or < scales selection up or down by this increment (in px units)" +#: ../src/tweak-context.cpp:223 +#, c-format +msgid "%s. Drag or click to scale down; with Shift to scale up." msgstr "" -"Naciśnięcie klawisza [ > ] lub [ < ] odpowiednio, powiększa lub zmniejsza " -"rozmiar zaznaczenia o określoną tutaj wartość (w px)" -#: ../src/ui/dialog/inkscape-preferences.cpp:205 -msgid "Inset/Outset by:" -msgstr "Przesunięcie do wewnątrz/na zewnątrz o:" +#: ../src/tweak-context.cpp:226 +#, c-format +msgid "%s. Drag or click to rotate clockwise; with Shift, counterclockwise." +msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:206 -msgid "" -"Inset and Outset commands displace the path by this distance (in px units)" +#: ../src/tweak-context.cpp:229 +#, c-format +msgid "%s. Drag or click to duplicate; with Shift, delete." msgstr "" -"Polecenia \"Przesunięcie do wewnątrz/na zewnątrz\" przesuwają ścieżkę o " -"określoną tutaj wartość (w px)" -#: ../src/ui/dialog/inkscape-preferences.cpp:207 -msgid "Compass-like display of angles" -msgstr "Wyświetlaj wartości kątów jak na kompasie" +#: ../src/tweak-context.cpp:232 +#, c-format +msgid "%s. Drag to push paths." +msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:209 -msgid "" -"When on, angles are displayed with 0 at north, 0 to 360 range, positive " -"clockwise; otherwise with 0 at east, -180 to 180 range, positive " -"counterclockwise" +#: ../src/tweak-context.cpp:236 +#, c-format +msgid "%s. Drag or click to inset paths; with Shift to outset." msgstr "" -"Opcja włączona - kąty będą mierzone w zakresie 0-360° rosnąco w kierunku " -"zgodnym z ruchem wskazówek zegara rozpoczynając od kierunku północnego. " -"Opcja wyłączona - kąty będą mierzone w zakresie -180°-180° rosnąco w " -"kierunku przeciwnym do ruchu wskazówek zegara rozpoczynając od kierunku " -"wschodniego." -#: ../src/ui/dialog/inkscape-preferences.cpp:215 -msgid "Rotation snaps every:" -msgstr "Zatrzymuj obrót co:" +#: ../src/tweak-context.cpp:244 +#, c-format +msgid "%s. Drag or click to attract paths; with Shift to repel." +msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:215 -msgid "degrees" -msgstr "stopni" +#: ../src/tweak-context.cpp:252 +#, c-format +msgid "%s. Drag or click to roughen paths." +msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:216 -msgid "" -"Rotating with Ctrl pressed snaps every that much degrees; also, pressing " -"[ or ] rotates by this amount" +#: ../src/tweak-context.cpp:256 +#, c-format +msgid "%s. Drag or click to paint objects with color." msgstr "" -"Wykonując obracanie z wciśniętym klawiszem [ Ctrl ], obrót będzie następował " -"o podaną tutaj wartość kąta. Także naciśnięcie [ lub ] powoduje obrót o tę " -"wartość." -#: ../src/ui/dialog/inkscape-preferences.cpp:218 -msgid "Zoom in/out by:" -msgstr "Powiększaj/pomniejszaj o:" +#: ../src/tweak-context.cpp:259 +#, c-format +msgid "%s. Drag or click to randomize colors." +msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:219 -msgid "" -"Zoom tool click, +/- keys, and middle click zoom in and out by this " -"multiplier" +#: ../src/tweak-context.cpp:263 +#, c-format +msgid "%s. Drag or click to increase blur; with Shift to decrease." msgstr "" -"Narzędzia zmiany wielkości - klawisze [ +/- ] oraz środkowy przycisk myszy " -"wykonują powiększenie/pomniejszenie widoku o ten mnożnik" -#: ../src/ui/dialog/inkscape-preferences.cpp:225 -msgid "Show selection cue" -msgstr "Wyróżniaj zaznaczenie" +#: ../src/tweak-context.cpp:1181 +msgid "Nothing selected! Select objects to tweak." +msgstr "Nie zaznaczono żadnego obiektu! Zaznacz obiekty do usprawnienia." -#: ../src/ui/dialog/inkscape-preferences.cpp:226 -msgid "" -"Whether selected objects display a selection cue (the same as in selector)" -msgstr "" -"Zaznaczenie tej opcji spowoduje wyświetlanie wyróżnienia zaznaczonych " -"obiektów" +#: ../src/tweak-context.cpp:1217 +#, fuzzy +msgid "Move tweak" +msgstr "Udoskonalanie uwypuklania" -#: ../src/ui/dialog/inkscape-preferences.cpp:232 -msgid "Enable gradient editing" -msgstr "Edytuj gradient na obiekcie" +#: ../src/tweak-context.cpp:1221 +#, fuzzy +msgid "Move in/out tweak" +msgstr "Udoskonalanie malowania kolorem" -#: ../src/ui/dialog/inkscape-preferences.cpp:233 -msgid "Whether selected objects display gradient editing controls" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, na zaznaczonych obiektach zostaną " -"wyświetlone punkty kontrolne do edycji gradientu" +#: ../src/tweak-context.cpp:1225 +#, fuzzy +msgid "Move jitter tweak" +msgstr "Udoskonalanie desynchronizacji koloru" -#: ../src/ui/dialog/inkscape-preferences.cpp:238 -msgid "Conversion to guides uses edges instead of bounding box" -msgstr "" -"Podczas konwersji na prowadnice używaj krawędzi zamiast obramowania obiektu" +#: ../src/tweak-context.cpp:1229 +#, fuzzy +msgid "Scale tweak" +msgstr "Skala X" -#: ../src/ui/dialog/inkscape-preferences.cpp:239 -msgid "" -"Converting an object to guides places these along the object's true edges " -"(imitating the object's shape), not along the bounding box." -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, podczas konwersji obiektu na prowadnice, " -"prowadnice będą umieszczane wzdłuż rzeczywistych krawędzi (imitacja kształtu " -"obiektu), a nie wzdłuż obramowania" +#: ../src/tweak-context.cpp:1233 +#, fuzzy +msgid "Rotate tweak" +msgstr "Udoskonalanie przyciągania ścieżek do kursora" -#: ../src/ui/dialog/inkscape-preferences.cpp:246 -msgid "Ctrl+click dot size:" -msgstr "[Ctrl + kliknięcie] - wielkość kropki:" +#: ../src/tweak-context.cpp:1237 +#, fuzzy +msgid "Duplicate/delete tweak" +msgstr "Duplikuj zaznaczone obiekty" -#: ../src/ui/dialog/inkscape-preferences.cpp:246 -msgid "times current stroke width" -msgstr "krotność aktualnej szerokości konturu" +#: ../src/tweak-context.cpp:1241 +#, fuzzy +msgid "Push path tweak" +msgstr "Udoskonalanie metodą odpychania" + +#: ../src/tweak-context.cpp:1245 +#, fuzzy +msgid "Shrink/grow path tweak" +msgstr "Udoskonalanie wklęśnięć" -#: ../src/ui/dialog/inkscape-preferences.cpp:247 -msgid "Size of dots created with Ctrl+click (relative to current stroke width)" -msgstr "" -"Wielkość kropek utworzonych przy użyciu [ Ctrl + kliknięcie ] (relatywnie do " -"aktualnej szerokości konturu)" +#: ../src/tweak-context.cpp:1249 +#, fuzzy +msgid "Attract/repel path tweak" +msgstr "Udoskonalanie przyciągania ścieżek do kursora" -#: ../src/ui/dialog/inkscape-preferences.cpp:262 -msgid "No objects selected to take the style from." -msgstr "Nie wybrano obiektów do pobrania stylu" +#: ../src/tweak-context.cpp:1253 +#, fuzzy +msgid "Roughen path tweak" +msgstr "Udoskonalanie chropowatości" -#: ../src/ui/dialog/inkscape-preferences.cpp:271 -msgid "" -"More than one object selected. Cannot take style from multiple " -"objects." -msgstr "" -"Wybrano więcej niż jeden obiekt. Nie można pobrać stylu z wielu " -"obiektów" +#: ../src/tweak-context.cpp:1257 +msgid "Color paint tweak" +msgstr "Udoskonalanie malowania kolorem" -#: ../src/ui/dialog/inkscape-preferences.cpp:305 -msgid "Create new objects with:" -msgstr "Twórz nowe obiekty z zastosowaniem stylu:" +#: ../src/tweak-context.cpp:1261 +msgid "Color jitter tweak" +msgstr "Udoskonalanie desynchronizacji koloru" -#: ../src/ui/dialog/inkscape-preferences.cpp:307 -msgid "Last used style" -msgstr "Ostatnio użyty styl" +#: ../src/tweak-context.cpp:1265 +#, fuzzy +msgid "Blur tweak" +msgstr "Skala X" -#: ../src/ui/dialog/inkscape-preferences.cpp:309 -msgid "Apply the style you last set on an object" -msgstr "Zostanie zastosowany ostatnio użyty styl dla tego typu obiektu" +#. check whether something is selected +#: ../src/ui/clipboard.cpp:224 +msgid "Nothing was copied." +msgstr "Nic nie skopiowano" -#: ../src/ui/dialog/inkscape-preferences.cpp:314 -msgid "This tool's own style:" -msgstr "Określony tutaj styl:" +#: ../src/ui/clipboard.cpp:285 +#: ../src/ui/clipboard.cpp:481 +#: ../src/ui/clipboard.cpp:505 +msgid "Nothing on the clipboard." +msgstr "Schowek jest pusty" -#: ../src/ui/dialog/inkscape-preferences.cpp:318 -msgid "" -"Each tool may store its own style to apply to the newly created objects. Use " -"the button below to set it." -msgstr "" -"Każde narzędzie może zachowywać własny styl dla nowo tworzonych obiektów. " -"Przycisk poniżej pozwala ustawić własny styl narzędzia." +#: ../src/ui/clipboard.cpp:341 +msgid "Select object(s) to paste style to." +msgstr "Zaznacz obiekt(y), do którego(ych) wkleić styl" -#: ../src/ui/dialog/inkscape-preferences.cpp:323 -msgid "Take from selection" -msgstr "Pobierz z zaznaczenia" +#: ../src/ui/clipboard.cpp:347 +#: ../src/ui/clipboard.cpp:364 +msgid "No style on the clipboard." +msgstr "Schowek jest pusty" -#: ../src/ui/dialog/inkscape-preferences.cpp:327 -msgid "This tool's style of new objects" -msgstr "Styl tego narzędzia dla nowych obiektów" +#: ../src/ui/clipboard.cpp:386 +msgid "Select object(s) to paste size to." +msgstr "Zaznacz obiekt(y), do których wkleić rozmiar" -#: ../src/ui/dialog/inkscape-preferences.cpp:335 -msgid "Remember the style of the (first) selected object as this tool's style" -msgstr "" -"Zapamiętuje styl pierwszego zaznaczonego obiektu jako domyślny dla tego " -"narzędzia" +#: ../src/ui/clipboard.cpp:393 +msgid "No size on the clipboard." +msgstr "Schowek jest pusty" -#: ../src/ui/dialog/inkscape-preferences.cpp:340 -msgid "Tools" -msgstr "Narzędzia" +#: ../src/ui/clipboard.cpp:444 +msgid "Select object(s) to paste live path effect to." +msgstr "Zaznacz obiekt(y), do których wkleić efekt ścieżki" -#: ../src/ui/dialog/inkscape-preferences.cpp:343 -msgid "Bounding box to use:" -msgstr "Stosuj poniższy typ obramowania obiektu:" +#. no_effect: +#: ../src/ui/clipboard.cpp:468 +msgid "No effect on the clipboard." +msgstr "Schowek jest pusty" -#: ../src/ui/dialog/inkscape-preferences.cpp:344 -msgid "Visual bounding box" -msgstr "Wizualne obramowanie obiektu" +#: ../src/ui/clipboard.cpp:488 +#: ../src/ui/clipboard.cpp:515 +msgid "Clipboard does not contain a path." +msgstr "Schowek nie zawiera ścieżki" -#: ../src/ui/dialog/inkscape-preferences.cpp:346 -msgid "This bounding box includes stroke width, markers, filter margins, etc." -msgstr "" -"Ten typ obramowania obiektu zawiera szerokość konturu, znaczniki, filtr " -"marginesów itd." +#. Item dialog +#: ../src/ui/context-menu.cpp:100 +msgid "Object _Properties" +msgstr "Właściwości _obiektu" -#: ../src/ui/dialog/inkscape-preferences.cpp:347 -msgid "Geometric bounding box" -msgstr "Geometryczne obramowanie obiektu" +#. Select item +#: ../src/ui/context-menu.cpp:110 +msgid "_Select This" +msgstr "_Zaznacz ten obiekt" -#: ../src/ui/dialog/inkscape-preferences.cpp:349 -msgid "This bounding box includes only the bare path" -msgstr "Ten typ obramowania obiektu zawiera tylko gołą ścieżkę" +#. Create link +#: ../src/ui/context-menu.cpp:120 +msgid "_Create Link" +msgstr "_Utwórz odnośnik" -#: ../src/ui/dialog/inkscape-preferences.cpp:351 -msgid "Conversion to guides:" -msgstr "Konwersja na prowadnice" +#: ../src/ui/context-menu.cpp:181 +msgid "Create link" +msgstr "Utwórz odnośnik" -#: ../src/ui/dialog/inkscape-preferences.cpp:352 -msgid "Keep objects after conversion to guides" -msgstr "Zachowaj obiekty po konwersji na prowadnice" +#. "Ungroup" +#: ../src/ui/context-menu.cpp:199 +#: ../src/verbs.cpp:2348 +msgid "_Ungroup" +msgstr "_Rozdziel grupę" -#: ../src/ui/dialog/inkscape-preferences.cpp:354 -msgid "" -"When converting an object to guides, don't delete the object after the " -"conversion." -msgstr "" -"Zaznaczenie tej opcji spowoduje, że po zakończeniu konwersji obiektu na " -"prowadnice obiekt nie będzie usuwany" +#. Link dialog +#: ../src/ui/context-menu.cpp:239 +msgid "Link _Properties" +msgstr "Wł_aściwości odnośnika" -#: ../src/ui/dialog/inkscape-preferences.cpp:355 -msgid "Treat groups as a single object" -msgstr "Traktuj grupy jak pojedynczy obiekt" +#. Select item +#: ../src/ui/context-menu.cpp:245 +msgid "_Follow Link" +msgstr "_Podążaj za odnośnikiem" -#: ../src/ui/dialog/inkscape-preferences.cpp:357 -msgid "" -"Treat groups as a single object during conversion to guides rather than " -"converting each child separately." -msgstr "" -"Zaznaczenie tej opcji spowoduje, że podczas konwersji do prowadnic cała " -"grupa będzie przekształcana jak pojedynczy obiekt, zamiast przekształcania " -"każdego elementu grupy osobno." +#. Reset transformations +#: ../src/ui/context-menu.cpp:250 +msgid "_Remove Link" +msgstr "_Usuń odnośnik" -#: ../src/ui/dialog/inkscape-preferences.cpp:359 -msgid "Width is in absolute units" -msgstr "Szerokość w jednostkach bezwzględnych" +#. Link dialog +#: ../src/ui/context-menu.cpp:298 +msgid "Image _Properties" +msgstr "Wł_aściwości obrazka" -#: ../src/ui/dialog/inkscape-preferences.cpp:360 -msgid "Select new path" -msgstr "Zaznaczaj nową ścieżkę" +#: ../src/ui/context-menu.cpp:304 +#, fuzzy +msgid "Edit Externally..." +msgstr "Edytuj wypełnienie..." -#: ../src/ui/dialog/inkscape-preferences.cpp:361 -msgid "Don't attach connectors to text objects" -msgstr "Nie prowadź łączników do obiektów tekstowych" +#. Item dialog +#: ../src/ui/context-menu.cpp:397 +msgid "_Fill and Stroke" +msgstr "_Wypełnienie i kontur" -#. Selector -#: ../src/ui/dialog/inkscape-preferences.cpp:364 -msgid "Selector" -msgstr "Wskaźnik" +#. * +#. * Constructor +#. +#: ../src/ui/dialog/aboutbox.cpp:77 +msgid "About Inkscape" +msgstr "Informacje o programie Inkscape" -#: ../src/ui/dialog/inkscape-preferences.cpp:367 -msgid "When transforming, show:" -msgstr "Podczas przekształcania wyświetlaj:" +#: ../src/ui/dialog/aboutbox.cpp:88 +msgid "_Splash" +msgstr "_Ekran powitalny" -#: ../src/ui/dialog/inkscape-preferences.cpp:368 -msgid "Objects" -msgstr "Obiekty" +#: ../src/ui/dialog/aboutbox.cpp:92 +msgid "_Authors" +msgstr "_Autorzy" -#: ../src/ui/dialog/inkscape-preferences.cpp:370 -msgid "Show the actual objects when moving or transforming" -msgstr "Wyświetla obiekty podczas ich przemieszczania lub przekształcania" +#: ../src/ui/dialog/aboutbox.cpp:94 +msgid "_Translators" +msgstr "_Tłumacze" -#: ../src/ui/dialog/inkscape-preferences.cpp:371 -msgid "Box outline" -msgstr "Tylko obramowanie obiektów" +#: ../src/ui/dialog/aboutbox.cpp:96 +msgid "_License" +msgstr "_Licencja" -#: ../src/ui/dialog/inkscape-preferences.cpp:373 -msgid "Show only a box outline of the objects when moving or transforming" -msgstr "" -"Podczas przemieszczania lub przekształcania obiektów wyświetla tylko ich " -"obramowanie" +#. TRANSLATORS: This is the filename of the `About Inkscape' picture in +#. the `screens' directory. Thus the translation of "about.svg" should be +#. the filename of its translated version, e.g. about.zh.svg for Chinese. +#. +#. N.B. about.svg changes once per release. (We should probably rename +#. the original to about-0.40.svg etc. as soon as we have a translation. +#. If we do so, then add an item to release-checklist saying that the +#. string here should be changed.) +#. FIXME? INKSCAPE_SCREENSDIR and "about.svg" are in UTF-8, not the +#. native filename encoding... and the filename passed to sp_document_new +#. should be in UTF-*8.. +#: ../src/ui/dialog/aboutbox.cpp:149 +msgid "about.svg" +msgstr "about.svg" -#: ../src/ui/dialog/inkscape-preferences.cpp:374 -msgid "Per-object selection cue:" -msgstr "Wyróżniaj obiekty wewnątrz zaznaczenia:" +#. TRANSLATORS: Put here your name (and other national contributors') +#. one per line in the form of: name surname (email). Use \n for newline. +#: ../src/ui/dialog/aboutbox.cpp:338 +msgid "translator-credits" +msgstr "" +"Polska lokalizacja wykonana przez:\n" +"2005-2006 - Przemysław Loesch (p_loesch@poczta.onet.pl)\n" +"2008 - Polski Zespół lokalizacyjny Inkscape (inkscapeplteam@gmail.com)\n" +"W składzie: Leszek(teo)Å»yczkowski, Marcin Floryan, Piotr Parafiniuk i inni" -#: ../src/ui/dialog/inkscape-preferences.cpp:377 -msgid "No per-object selection indication" -msgstr "Obiekty wewnątrz zaznaczenia nie będą wyróżniane" +#: ../src/ui/dialog/align-and-distribute.cpp:246 +#: ../src/ui/dialog/align-and-distribute.cpp:788 +msgid "Align" +msgstr "Wyrównaj" -#: ../src/ui/dialog/inkscape-preferences.cpp:378 -msgid "Mark" -msgstr "Uchwyt" +#: ../src/ui/dialog/align-and-distribute.cpp:404 +#: ../src/ui/dialog/align-and-distribute.cpp:789 +msgid "Distribute" +msgstr "Rozłóż" -#: ../src/ui/dialog/inkscape-preferences.cpp:380 -msgid "Each selected object has a diamond mark in the top left corner" -msgstr "" -"Każdy z zaznaczonych obiektów będzie posiadał w lewym górnym rogu uchwyt w " -"kształcie rombu" +#: ../src/ui/dialog/align-and-distribute.cpp:473 +msgid "Minimum horizontal gap (in px units) between bounding boxes" +msgstr "Minimalny odstęp poziomy (w pikselach) pomiędzy obramowaniami obiektów" -#: ../src/ui/dialog/inkscape-preferences.cpp:381 -msgid "Box" -msgstr "Obramowanie" +#. TRANSLATORS: Horizontal gap. Only put "H:" equivalent in the translation +#: ../src/ui/dialog/align-and-distribute.cpp:475 +msgid "gap|H:" +msgstr "Poziom:" -#: ../src/ui/dialog/inkscape-preferences.cpp:383 -msgid "Each selected object displays its bounding box" -msgstr "Każdy z zaznaczonych obiektów będzie otoczony obramowaniem" +#: ../src/ui/dialog/align-and-distribute.cpp:483 +msgid "Minimum vertical gap (in px units) between bounding boxes" +msgstr "Minimalny odstęp pionowy (w pikselach) pomiędzy obramowaniami obiektów" -#. Node -#: ../src/ui/dialog/inkscape-preferences.cpp:386 -msgid "Node" -msgstr "Edycja węzłów" +#. TRANSLATORS: Vertical gap +#: ../src/ui/dialog/align-and-distribute.cpp:485 +msgid "V:" +msgstr "Pion.:" -#: ../src/ui/dialog/inkscape-preferences.cpp:389 -msgid "Path outline:" -msgstr "Ścieżka konturu:" +#: ../src/ui/dialog/align-and-distribute.cpp:513 +#: ../src/ui/dialog/align-and-distribute.cpp:790 +#: ../src/widgets/toolbox.cpp:6580 +msgid "Remove overlaps" +msgstr "Usuń nakładanie" -#: ../src/ui/dialog/inkscape-preferences.cpp:390 -#: ../src/ui/dialog/inkscape-preferences.cpp:391 -msgid "Path outline color" -msgstr "Kolor ścieżki konturu" +#: ../src/ui/dialog/align-and-distribute.cpp:543 +#: ../src/widgets/toolbox.cpp:6445 +msgid "Arrange connector network" +msgstr "Rozmieść łącznik sieci" -#: ../src/ui/dialog/inkscape-preferences.cpp:391 -msgid "Selects the color used for showing the path outline." -msgstr "Wybierz kolor w jakim będzie wyświetlana ścieżka konturui" +#: ../src/ui/dialog/align-and-distribute.cpp:573 +msgid "Unclump" +msgstr "Rozproszenie" -#: ../src/ui/dialog/inkscape-preferences.cpp:392 -msgid "Path outline flash on mouse-over" -msgstr "Migocz konturem ścieżki" +#: ../src/ui/dialog/align-and-distribute.cpp:643 +msgid "Randomize positions" +msgstr "Zmiana losowa położenia" -#: ../src/ui/dialog/inkscape-preferences.cpp:393 -msgid "When hovering over a path, briefly flash its outline." -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, kontur ścieżki po umieszczeniu nad " -"ścieżką wskażnika myszy będzie migotał." +#: ../src/ui/dialog/align-and-distribute.cpp:740 +msgid "Distribute text baselines" +msgstr "Ułóż tekst wg linii bazowej" -#: ../src/ui/dialog/inkscape-preferences.cpp:395 -msgid "Flash time" -msgstr "Czas migotania" +#: ../src/ui/dialog/align-and-distribute.cpp:760 +msgid "Align text baselines" +msgstr "Wyrównaj tekst wg linii bazowej" -#: ../src/ui/dialog/inkscape-preferences.cpp:395 -msgid "" -"Specifies how long the path outline will be visible after a mouse-over (in " -"milliseconds). Specify 0 to have the outline shown until mouse leaves the " -"path." -msgstr "" -"Określa, jak długo obramowanie ścieżki będzie widoczne po umieszczeniu nad " -"nim wskaźnika myszy (w ms).Aby obramowanie ścieżki było wyświetlane do czasu " -"przesunięcia wskaźnika myszy poza obramowanie należy wstawić wartość 0." +#: ../src/ui/dialog/align-and-distribute.cpp:791 +msgid "Connector network layout" +msgstr "Wygląd łączników sieci" -#. Tweak -#: ../src/ui/dialog/inkscape-preferences.cpp:398 ../src/verbs.cpp:2419 -msgid "Tweak" -msgstr "Udoskonalanie" +#: ../src/ui/dialog/align-and-distribute.cpp:792 +msgid "Nodes" +msgstr "Węzły" -#. Zoom -#: ../src/ui/dialog/inkscape-preferences.cpp:403 -#: ../src/ui/view/edit-widget.cpp:1073 ../src/verbs.cpp:2441 -#: ../src/widgets/desktop-widget.cpp:490 -#: ../share/extensions/render_alphabetsoup.inx.h:5 -msgid "Zoom" -msgstr "Powiększenie" +#: ../src/ui/dialog/align-and-distribute.cpp:798 +msgid "Relative to: " +msgstr "Element sterujący: " -#. Shapes -#: ../src/ui/dialog/inkscape-preferences.cpp:408 -msgid "Shapes" -msgstr "Figury" +#: ../src/ui/dialog/align-and-distribute.cpp:799 +#, fuzzy +msgid "Treat selection as group: " +msgstr "Zaznaczenie nie zaakceptowało maski" -#. Pencil -#: ../src/ui/dialog/inkscape-preferences.cpp:436 ../src/verbs.cpp:2431 -msgid "Pencil" -msgstr "Ołówek" +#: ../src/ui/dialog/align-and-distribute.cpp:804 +msgid "Align right sides of objects to left side of anchor" +msgstr "Wyrównuje prawe krawędzie obiektów do lewej strony elementu sterującego" -#: ../src/ui/dialog/inkscape-preferences.cpp:439 -#: ../src/ui/dialog/tracedialog.cpp:601 -msgid "Tolerance:" -msgstr "Zaokrąglenie:" +#: ../src/ui/dialog/align-and-distribute.cpp:807 +msgid "Align left sides" +msgstr "Wyrównuje lewe krawędzie" -#: ../src/ui/dialog/inkscape-preferences.cpp:440 -msgid "" -"This value affects the amount of smoothing applied to freehand lines; lower " -"values produce more uneven paths with more nodes" -msgstr "" -"Wartość ta wpływa na wygładzanie ręcznie rysowanych krzywych. Mniejsza " -"wartość powoduje wytworzenie większej ilości niejednolitych ścieżek z dużą " -"ilością węzłów. " +#: ../src/ui/dialog/align-and-distribute.cpp:810 +msgid "Center on vertical axis" +msgstr "Wyśrodkowuje na osi pionowej" -#. Pen -#: ../src/ui/dialog/inkscape-preferences.cpp:446 ../src/verbs.cpp:2433 -msgid "Pen" -msgstr "Pióro" +#: ../src/ui/dialog/align-and-distribute.cpp:813 +msgid "Align right sides" +msgstr "Wyrównuje prawe krawędzie" -#. Calligraphy -#: ../src/ui/dialog/inkscape-preferences.cpp:452 ../src/verbs.cpp:2435 -msgid "Calligraphy" -msgstr "Kaligrafia" +#: ../src/ui/dialog/align-and-distribute.cpp:816 +msgid "Align left sides of objects to right side of anchor" +msgstr "Wyrównuje lewe krawędzie obiektów do prawej strony elementu sterującego" -#: ../src/ui/dialog/inkscape-preferences.cpp:456 -msgid "" -"If on, pen width is in absolute units (px) independent of zoom; otherwise " -"pen width depends on zoom so that it looks the same at any zoom" -msgstr "" -"Jeśli opcja ta zostanie włączona, szerokość linii pióra - niezależnie od " -"powiększenia - będzie wyrażona w jednostkach absolutnych (px). Jeśli " -"zostanie wyłączona - szerokość będzie zależała od powiększenia i będzie " -"wyglądała tak samo w każdym powiększeniu." +#: ../src/ui/dialog/align-and-distribute.cpp:819 +msgid "Align bottoms of objects to top of anchor" +msgstr "Wyrównuje dolne krawędzie obiektów do góry elementu sterującego" -#: ../src/ui/dialog/inkscape-preferences.cpp:458 -msgid "" -"If on, each newly created object will be selected (deselecting previous " -"selection)" -msgstr "" -"Jeśli opcja ta zostanie włączona, każdy utworzony obiekt będzie zaznaczony " -"(odznacza poprzednie zaznaczenie)" +#: ../src/ui/dialog/align-and-distribute.cpp:822 +msgid "Align tops" +msgstr "Wyrównuje górne krawędzie" -#. Paint Bucket -#: ../src/ui/dialog/inkscape-preferences.cpp:460 ../src/verbs.cpp:2447 -msgid "Paint Bucket" -msgstr "Wypełnianie" +#: ../src/ui/dialog/align-and-distribute.cpp:825 +msgid "Center on horizontal axis" +msgstr "Wyśrodkowuje na osi poziomej" -#. Eraser -#: ../src/ui/dialog/inkscape-preferences.cpp:465 ../src/verbs.cpp:2451 -msgid "Eraser" -msgstr "Gumka" +#: ../src/ui/dialog/align-and-distribute.cpp:828 +msgid "Align bottoms" +msgstr "Wyrównuje dolne krawędzie" -#. Gradient -#: ../src/ui/dialog/inkscape-preferences.cpp:475 ../src/verbs.cpp:2439 -msgid "Gradient" -msgstr "Gradient" +#: ../src/ui/dialog/align-and-distribute.cpp:831 +msgid "Align tops of objects to bottom of anchor" +msgstr "Wyrównuje górne krawędzie obiektów do dołu elementu sterującego" -#. Connector -#: ../src/ui/dialog/inkscape-preferences.cpp:479 ../src/verbs.cpp:2445 -msgid "Connector" -msgstr "Łącznik" +#: ../src/ui/dialog/align-and-distribute.cpp:836 +msgid "Align baseline anchors of texts vertically" +msgstr "Wyrównuje linie bazowe kotwic tekstów do linii pionowej" -#: ../src/ui/dialog/inkscape-preferences.cpp:482 -msgid "If on, connector attachment points will not be shown for text objects" -msgstr "" -"Jeśli opcja ta zostanie włączona, punkty zaczepienia łączników nie będą " -"wyświetlane dla obiektów tekstowych" +#: ../src/ui/dialog/align-and-distribute.cpp:839 +msgid "Align baseline anchors of texts horizontally" +msgstr "Wyrównuje linie bazowe kotwic tekstów do linii poziomej" -#. Dropper -#: ../src/ui/dialog/inkscape-preferences.cpp:484 ../src/verbs.cpp:2443 -msgid "Dropper" -msgstr "Próbnik koloru" +#: ../src/ui/dialog/align-and-distribute.cpp:844 +msgid "Make horizontal gaps between objects equal" +msgstr "Wyrównuje odstępy pomiędzy obiektami w poziomie" -#: ../src/ui/dialog/inkscape-preferences.cpp:491 -msgid "Save and restore window geometry for each document" -msgstr "Zapisuj i odtwarzaj ustawienia okna dla każdego dokumentu" +#: ../src/ui/dialog/align-and-distribute.cpp:848 +msgid "Distribute left sides equidistantly" +msgstr "Rozkłada lewe krawędzie obiektów w równych odstępach" -#: ../src/ui/dialog/inkscape-preferences.cpp:492 -msgid "Remember and use last window's geometry" -msgstr "Zapamiętaj i stosuj ostatnie ustawienia okna" +#: ../src/ui/dialog/align-and-distribute.cpp:851 +msgid "Distribute centers equidistantly horizontally" +msgstr "Rozkłada środki obiektów w równych odstępach poziomo" -#: ../src/ui/dialog/inkscape-preferences.cpp:493 -msgid "Don't save window geometry" -msgstr "Nie zapisuj ustawień okna" +#: ../src/ui/dialog/align-and-distribute.cpp:854 +msgid "Distribute right sides equidistantly" +msgstr "Rozkłada prawe krawędzie obiektów w równych odstępach" -#: ../src/ui/dialog/inkscape-preferences.cpp:495 -#: ../src/ui/dialog/inkscape-preferences.cpp:515 -msgid "Dockable" -msgstr "Zadokowane" +#: ../src/ui/dialog/align-and-distribute.cpp:858 +msgid "Make vertical gaps between objects equal" +msgstr "Wyrównuje odstępy pomiędzy obiektami w pionie" -#: ../src/ui/dialog/inkscape-preferences.cpp:498 -msgid "Dialogs are hidden in taskbar" -msgstr "Ukrywaj okienka zadań na pasku zadań" +#: ../src/ui/dialog/align-and-distribute.cpp:862 +msgid "Distribute tops equidistantly" +msgstr "Rozkłada górne krawędzie obiektów w równych odstępach" -#: ../src/ui/dialog/inkscape-preferences.cpp:499 -msgid "Zoom when window is resized" -msgstr "Zmieniaj powiększenie przy zmianie rozmiaru okna" +#: ../src/ui/dialog/align-and-distribute.cpp:865 +msgid "Distribute centers equidistantly vertically" +msgstr "Rozkłada środki obiektów w równych odstępach w pionie" -#: ../src/ui/dialog/inkscape-preferences.cpp:500 -msgid "Show close button on dialogs" -msgstr "Wyświetlaj przycisk zamykania w okienkach zadań" +#: ../src/ui/dialog/align-and-distribute.cpp:868 +msgid "Distribute bottoms equidistantly" +msgstr "Rozkłada dolne krawędzie obiektów w równych odstępach" -#. consider moving this to an UI tab: -#: ../src/ui/dialog/inkscape-preferences.cpp:502 -#: ../src/ui/dialog/inkscape-preferences.cpp:968 -msgid "Normal" -msgstr "Normalne" +#: ../src/ui/dialog/align-and-distribute.cpp:873 +msgid "Distribute baseline anchors of texts horizontally" +msgstr "Rozkłada kotwice tekstów w równych odstępach w poziomie" -#: ../src/ui/dialog/inkscape-preferences.cpp:503 -msgid "Aggressive" -msgstr "Agresywne" +#: ../src/ui/dialog/align-and-distribute.cpp:876 +msgid "Distribute baseline anchors of texts vertically" +msgstr "Rozkłada kotwice tekstów w równych odstępach w pionie" -#: ../src/ui/dialog/inkscape-preferences.cpp:505 -msgid "Saving window geometry (size and position):" -msgstr "Zapisuj położenie i wielkość okien:" +#: ../src/ui/dialog/align-and-distribute.cpp:881 +msgid "Randomize centers in both dimensions" +msgstr "Rozkłada losowo środki obiektów w obu kierunkach" -#: ../src/ui/dialog/inkscape-preferences.cpp:507 -msgid "Let the window manager determine placement of all windows" -msgstr "Menedżer okien będzie określał położenie wszystkich okien" +#: ../src/ui/dialog/align-and-distribute.cpp:884 +msgid "Unclump objects: try to equalize edge-to-edge distances" +msgstr "Rozkłada obiekty próbując wyrównać odległości pomiędzy krawędziami" -#: ../src/ui/dialog/inkscape-preferences.cpp:509 -msgid "" -"Remember and use the last window's geometry (saves geometry to user " -"preferences)" -msgstr "" -"Ostatnia wielkość i położenie okna zostanie zapamiętane (zapisane w " -"preferencjach użytkownika) i stosowane w przyszłości" +#: ../src/ui/dialog/align-and-distribute.cpp:889 +msgid "Move objects as little as possible so that their bounding boxes do not overlap" +msgstr "Przesuwa obiekty tylko o tyle, aby ich obramowania nie nakładały się" -#: ../src/ui/dialog/inkscape-preferences.cpp:511 -msgid "" -"Save and restore window geometry for each document (saves geometry in the " -"document)" -msgstr "" -"Wielkość i położenie okna każdego dokumentu zostanie zapamiętane (zapisane w " -"dokumencie) i odtwarzane razem z nim" +#: ../src/ui/dialog/align-and-distribute.cpp:893 +#: ../src/widgets/toolbox.cpp:6543 +msgid "Nicely arrange selected connector network" +msgstr "Rozłóż równomiernie zaznaczone łączniki" -#: ../src/ui/dialog/inkscape-preferences.cpp:513 -msgid "Dialog behavior (requires restart):" -msgstr "Rozmieszczenie okienek zadań (zmiana wymaga ponownego uruchomienia):" +#: ../src/ui/dialog/align-and-distribute.cpp:898 +msgid "Align selected nodes horizontally" +msgstr "Ustawia zaznaczone węzły w linii poziomej" -#: ../src/ui/dialog/inkscape-preferences.cpp:520 -msgid "Dialogs on top:" -msgstr "Wyświetlanie okienek zadań" +#: ../src/ui/dialog/align-and-distribute.cpp:901 +msgid "Align selected nodes vertically" +msgstr "Ustawia zaznaczone węzły w linii pionowej" -#: ../src/ui/dialog/inkscape-preferences.cpp:523 -msgid "Dialogs are treated as regular windows" -msgstr "Okienka zadań wyświetlane jak zwykłe okna" +#: ../src/ui/dialog/align-and-distribute.cpp:904 +msgid "Distribute selected nodes horizontally" +msgstr "Wyrównuje odstępy w poziomie pomiędzy zaznaczonymi węzłami" -#: ../src/ui/dialog/inkscape-preferences.cpp:525 -msgid "Dialogs stay on top of document windows" -msgstr "Okienka zadań na wierzchu" +#: ../src/ui/dialog/align-and-distribute.cpp:907 +msgid "Distribute selected nodes vertically" +msgstr "Wyrównuje odstępy w pionie pomiędzy zaznaczonymi węzłami" -#: ../src/ui/dialog/inkscape-preferences.cpp:527 -msgid "Same as Normal but may work better with some window managers" -msgstr "" -"Tak samo jak normalnie, ale może działać lepiej z niektórymi menedżerami " -"okien" +#. Rest of the widgetry +#: ../src/ui/dialog/align-and-distribute.cpp:912 +msgid "Last selected" +msgstr "Ostatni zaznaczony" -#: ../src/ui/dialog/inkscape-preferences.cpp:530 -msgid "Miscellaneous:" -msgstr "Różne" +#: ../src/ui/dialog/align-and-distribute.cpp:913 +msgid "First selected" +msgstr "Pierwszy zaznaczony" -#: ../src/ui/dialog/inkscape-preferences.cpp:533 -msgid "Whether dialog windows are to be hidden in the window manager taskbar" -msgstr "" -"Wyłącza wyświetlanie przycisków okien dialogowych na pasku zadań menadżera " -"okien" +#: ../src/ui/dialog/align-and-distribute.cpp:914 +msgid "Biggest item" +msgstr "Największy element" -#: ../src/ui/dialog/inkscape-preferences.cpp:536 -msgid "" -"Zoom drawing when document window is resized, to keep the same area visible " -"(this is the default which can be changed in any window using the button " -"above the right scrollbar)" -msgstr "" -"Zaznaczenie tej opcji spowoduje, że wraz ze zmianą rozmiarów okna dokumentu " -"nastąpi zmiana powiększenia z zachowaniem widocznego obszaru. Jest to " -"zachowanie domyślne, które może być zmienione w każdym oknie przyciskiem " -"znajdującym się nad prawym paskiem przewijania." +#: ../src/ui/dialog/align-and-distribute.cpp:915 +msgid "Smallest item" +msgstr "Najmniejszy element" -#: ../src/ui/dialog/inkscape-preferences.cpp:538 -msgid "Whether dialog windows have a close button (requires restart)" -msgstr "" -"Zaznaczenie tej opcji spowoduje wyświetlanie przycisku \"Zamknij\" w " -"okienkach zadań (wymaga ponownego uruchomienia)" +#: ../src/ui/dialog/align-and-distribute.cpp:917 +#: ../src/widgets/desktop-widget.cpp:1576 +msgid "Drawing" +msgstr "Rysunek" -#: ../src/ui/dialog/inkscape-preferences.cpp:539 -msgid "Windows" -msgstr "Okna" +#: ../src/ui/dialog/document-metadata.cpp:79 +msgid "Metadata" +msgstr "Metadane" -#: ../src/ui/dialog/inkscape-preferences.cpp:544 -msgid "Move in parallel" -msgstr "Przemieszczają się równolegle" +#: ../src/ui/dialog/document-metadata.cpp:80 +msgid "License" +msgstr "Licencja" -#: ../src/ui/dialog/inkscape-preferences.cpp:546 -msgid "Stay unmoved" -msgstr "Pozostają nieprzemieszczone" +#: ../src/ui/dialog/document-metadata.cpp:160 +msgid "Dublin Core Entities" +msgstr "Jednostki Dublin Core" -#: ../src/ui/dialog/inkscape-preferences.cpp:548 -msgid "Move according to transform" -msgstr "Przemieszczają się zgodnie z przypisanym przekształceniem" +#: ../src/ui/dialog/document-metadata.cpp:182 +msgid "License" +msgstr "Licencja" -#: ../src/ui/dialog/inkscape-preferences.cpp:550 -msgid "Are unlinked" -msgstr "Zostaną odłączone" +#: ../src/ui/dialog/document-properties.cpp:88 +msgid "If set, rectangular page border is shown" +msgstr "Będzie wyświetlany kontur strony" -#: ../src/ui/dialog/inkscape-preferences.cpp:552 -msgid "Are deleted" -msgstr "Zostaną usunięte" +#. --------------------------------------------------------------- +#: ../src/ui/dialog/document-properties.cpp:88 +msgid "Show page _border" +msgstr "Wyświetlaj _kontur strony" -#: ../src/ui/dialog/inkscape-preferences.cpp:555 -msgid "When the original moves, its clones and linked offsets:" -msgstr "Podczas przemieszczania oryginału jego klony i połączone odsunięcia:" +#: ../src/ui/dialog/document-properties.cpp:89 +msgid "Border on _top of drawing" +msgstr "Kontur _widoczny przez rysunek" -#: ../src/ui/dialog/inkscape-preferences.cpp:557 -msgid "Clones are translated by the same vector as their original." -msgstr "Klony są przemieszczane o ten sam wektor co oryginał" +#: ../src/ui/dialog/document-properties.cpp:89 +msgid "If set, border is always on top of the drawing" +msgstr "Będzie widoczny kontur strony poprzez elementy rysunku" -#: ../src/ui/dialog/inkscape-preferences.cpp:559 -msgid "Clones preserve their positions when their original is moved." -msgstr "" -"Klony zachowują swoją pozycję podczas, gdy oryginał zostaje przesunięty" +#: ../src/ui/dialog/document-properties.cpp:90 +msgid "If set, page border shows a shadow on its right and lower side" +msgstr "Będzie wyświetlany cień po prawej stronie i na dole konturu" -#: ../src/ui/dialog/inkscape-preferences.cpp:561 -msgid "" -"Each clone moves according to the value of its transform= attribute. For " -"example, a rotated clone will move in a different direction than its " -"original." -msgstr "" -"Każda ze sklonowanych kopii zostaje przemieszczona zgodnie z wartością " -"przypisanego do niej przekształcenia. Na przykład obrócony klon przesuwa się " -"w innym kierunku niż oryginał." +#: ../src/ui/dialog/document-properties.cpp:90 +msgid "_Show border shadow" +msgstr "Wyświetlaj _cień strony" -#: ../src/ui/dialog/inkscape-preferences.cpp:562 -msgid "When the original is deleted, its clones:" -msgstr "Podczas usuwania oryginału jego klony:" +#: ../src/ui/dialog/document-properties.cpp:91 +msgid "Back_ground:" +msgstr "_Tło:" -#: ../src/ui/dialog/inkscape-preferences.cpp:564 -msgid "Orphaned clones are converted to regular objects." -msgstr "Osierocone klony zostaną zamienione na zwykłe obiekty" +#: ../src/ui/dialog/document-properties.cpp:91 +msgid "Background color" +msgstr "Kolor tła" -#: ../src/ui/dialog/inkscape-preferences.cpp:566 -msgid "Orphaned clones are deleted along with their original." -msgstr "Osierocone obiekty zostaną usunięte razem z oryginałem" +#: ../src/ui/dialog/document-properties.cpp:91 +msgid "Color and transparency of the page background (also used for bitmap export)" +msgstr "Kolor i przezroczystość tła strony (używane również przy eksporcie do bitmapy)" -#. TRANSLATORS: Heading for the Inkscape Preferences "Clones" Page -#: ../src/ui/dialog/inkscape-preferences.cpp:569 -msgid "Clones" -msgstr "Klony" +#: ../src/ui/dialog/document-properties.cpp:92 +msgid "Border _color:" +msgstr "Kolor konturu:" -#: ../src/ui/dialog/inkscape-preferences.cpp:574 -msgid "When applying, use the topmost selected object as clippath/mask" -msgstr "" -"Używaj ostatnio zaznaczonego obiektu jako ścieżki przycinania/maskowania" +#: ../src/ui/dialog/document-properties.cpp:92 +msgid "Color of the page border" +msgstr "Kolor konturu strony" + +#: ../src/ui/dialog/document-properties.cpp:92 +msgid "Page border color" +msgstr "Kolor konturu strony" -#: ../src/ui/dialog/inkscape-preferences.cpp:576 -msgid "" -"Uncheck this to use the bottom selected object as the clipping path or mask" -msgstr "" -"Aby używać obiektu zaznaczonego pod spodem jako ścieżki przycinania lub " -"maskowania należy tę opcję odznaczyć" +#: ../src/ui/dialog/document-properties.cpp:93 +msgid "Default _units:" +msgstr "Domyślne _jednostki:" -#: ../src/ui/dialog/inkscape-preferences.cpp:577 -msgid "Remove clippath/mask object after applying" -msgstr "Usuwaj ścieżkę przycinania lub maskowania po wykonaniu operacji" +#. --------------------------------------------------------------- +#. General snap options +#: ../src/ui/dialog/document-properties.cpp:97 +msgid "Show _guides" +msgstr "_Wyświetlaj prowadnice" -#: ../src/ui/dialog/inkscape-preferences.cpp:579 -msgid "" -"After applying, remove the object used as the clipping path or mask from the " -"drawing" -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, o wykonaniu operacji, użyty jako ścieżka " -"przycinania lub maskowania obiekt zostanie usunięty z rysunku" +#: ../src/ui/dialog/document-properties.cpp:97 +msgid "Show or hide guides" +msgstr "Będą wyświetlane prowadnice" -#: ../src/ui/dialog/inkscape-preferences.cpp:580 -msgid "Clippaths and masks" -msgstr "Ścieżki przycinania i maski" +#: ../src/ui/dialog/document-properties.cpp:98 +msgid "While dragging a guide, snap to object nodes or bounding box corners ('Snap to nodes' or 'snap to bounding box corners' must be enabled in the 'Snap' tab; only a small part of the guide near the cursor will snap)" +msgstr "Podczas przeciągania prowadnicy będzie następowało przyciąganie do węzłów obiektu lub narożników obramowania. Na karcie \"Przyciąganie\" musi być włączona opcja \"Przyciągaj do węzłów\" lub \"Przyciągaj do narożników obramowania\". Będzie przyciągana tylko niewielka część prowadnicy znajdująca się blisko kursora." -#: ../src/ui/dialog/inkscape-preferences.cpp:585 -#: ../src/widgets/select-toolbar.cpp:524 -msgid "Scale stroke width" -msgstr "Skaluj szerokość konturu" +#: ../src/ui/dialog/document-properties.cpp:98 +msgid "_Snap guides while dragging" +msgstr "_Przyciągaj prowadnice podczas przeciągania" -#: ../src/ui/dialog/inkscape-preferences.cpp:586 -msgid "Scale rounded corners in rectangles" -msgstr "Skaluj zaokrąglenia narożników prostokątów" +#: ../src/ui/dialog/document-properties.cpp:100 +msgid "Color of guidelines" +msgstr "Kolor prowadnic" -#: ../src/ui/dialog/inkscape-preferences.cpp:587 -msgid "Transform gradients" -msgstr "Przekształcaj gradienty" +#: ../src/ui/dialog/document-properties.cpp:100 +msgid "Guide co_lor:" +msgstr "Kolor p_rowadnicy:" -#: ../src/ui/dialog/inkscape-preferences.cpp:588 -msgid "Transform patterns" -msgstr "Przekształcaj desenie" +#: ../src/ui/dialog/document-properties.cpp:100 +msgid "Guideline color" +msgstr "Kolor prowadnic" -#: ../src/ui/dialog/inkscape-preferences.cpp:589 -msgid "Optimized" -msgstr "Zoptymalizowany" +#: ../src/ui/dialog/document-properties.cpp:101 +msgid "Color of a guideline when it is under mouse" +msgstr "Kolor prowadnicy po umieszczeniu na niej wskaźnika myszy" -#: ../src/ui/dialog/inkscape-preferences.cpp:590 -msgid "Preserved" -msgstr "Zawsze zapisywane" +#: ../src/ui/dialog/document-properties.cpp:101 +msgid "Highlighted guideline color" +msgstr "Kolor podświetlenia prowadnic" -#: ../src/ui/dialog/inkscape-preferences.cpp:593 -#: ../src/widgets/select-toolbar.cpp:525 -msgid "When scaling objects, scale the stroke width by the same proportion" -msgstr "" -"Włącz tę opcję, aby podczas skalowania obiektów szerokość konturu zmieniała " -"się proporcjonalnie" +#: ../src/ui/dialog/document-properties.cpp:101 +msgid "_Highlight color:" +msgstr "Kolor po_dświetlenia:" -#: ../src/ui/dialog/inkscape-preferences.cpp:595 -#: ../src/widgets/select-toolbar.cpp:536 -msgid "When scaling rectangles, scale the radii of rounded corners" -msgstr "" -"Włącz tę opcję, aby podczas skalowania prostokątów był skalowany również " -"promień zaokrąglenia ich narożników" +#: ../src/ui/dialog/document-properties.cpp:103 +#: ../src/verbs.cpp:2583 +msgid "Toggle snapping on or off" +msgstr "Włącza/wyłącza przyciąganie" -#: ../src/ui/dialog/inkscape-preferences.cpp:597 -#: ../src/widgets/select-toolbar.cpp:547 -msgid "Move gradients (in fill or stroke) along with the objects" -msgstr "" -"Włącz tę opcję, aby przekształcanie gradientu (w wypełnieniu lub konturze) " -"następowało wraz z przekształcaniem obiektów" +#. --------------------------------------------------------------- +#: ../src/ui/dialog/document-properties.cpp:103 +msgid "_Enable snapping" +msgstr "Włącz _przyciąganie" -#: ../src/ui/dialog/inkscape-preferences.cpp:599 -#: ../src/widgets/select-toolbar.cpp:558 -msgid "Move patterns (in fill or stroke) along with the objects" +#: ../src/ui/dialog/document-properties.cpp:104 +msgid "After snapping, a symbol is drawn at the point that has snapped" msgstr "" -"Włącz tę opcję, aby przekształcanie deseni (w wypełnieniu i konturze) " -"następowało wraz z przekształcaniem obiektów" -#: ../src/ui/dialog/inkscape-preferences.cpp:600 -msgid "Store transformation:" -msgstr "Sposób zapisu przekształcenia:" +#: ../src/ui/dialog/document-properties.cpp:104 +msgid "_Enable snap indicator" +msgstr "Włącz wskaźnik _przyciągania" -#: ../src/ui/dialog/inkscape-preferences.cpp:602 -msgid "" -"If possible, apply transformation to objects without adding a transform= " -"attribute" -msgstr "" -"Gdy tylko możliwe, wykonuje przekształcenie na obiektach bez dodawania " -"atrybutu transform=" +#: ../src/ui/dialog/document-properties.cpp:105 +msgid "Only available in the selector tool: snap bounding box corners to guides, to grids, and to other bounding boxes (but not to nodes or paths)" +msgstr "Przyciąga narożniki obramowania obiektu do prowadnic, siatek i innych ramek obiektu, ale nie do węzłów lub ścieżek. Dostępne tylko w narzędziu \"Wskaźnik\"." -#: ../src/ui/dialog/inkscape-preferences.cpp:604 -msgid "Always store transformation as a transform= attribute on objects" -msgstr "Zapisuje zawsze przekształcenie na obiektach jako atrybut transform=" +#: ../src/ui/dialog/document-properties.cpp:105 +msgid "_Bounding box corners" +msgstr "_Narożniki obramowania obiektu" -#: ../src/ui/dialog/inkscape-preferences.cpp:606 -msgid "Transforms" -msgstr "Przekształcenia" +#: ../src/ui/dialog/document-properties.cpp:107 +msgid "Snap nodes (e.g. path nodes, special points in shapes, gradient handles, text base points, transformation origins, etc.) to guides, to grids, to paths and to other nodes" +msgstr "Przyciąga węzły (np. węzły ścieżki, specjalne punkty w kształtach, uchwyty gradientu, punkty bazowe tekstu itp.) do linii siatki, prowadnic, ścieżek i innych węzłów" -#: ../src/ui/dialog/inkscape-preferences.cpp:611 -msgid "Best quality (slowest)" -msgstr "Najlepsza (najwolniej)" +#: ../src/ui/dialog/document-properties.cpp:107 +msgid "_Nodes" +msgstr "_Węzły" -#: ../src/ui/dialog/inkscape-preferences.cpp:613 -msgid "Better quality (slower)" -msgstr "Dobra (wolno)" +#: ../src/ui/dialog/document-properties.cpp:110 +msgid "Snap nodes to object paths" +msgstr "Przyciąga węzły do ścieżek obiektów" -#: ../src/ui/dialog/inkscape-preferences.cpp:615 -msgid "Average quality" -msgstr "Średnia" +#. Options for snapping to objects +#: ../src/ui/dialog/document-properties.cpp:110 +msgid "Snap to path_s" +msgstr "Przyciągaj do ści_eżek" -#: ../src/ui/dialog/inkscape-preferences.cpp:617 -msgid "Lower quality (faster)" -msgstr "Niższa (szybciej)" +#: ../src/ui/dialog/document-properties.cpp:111 +msgid "Snap nodes and guides to object nodes" +msgstr "Przyciąga węzły i prowadnice do węzłów obiektu" -#: ../src/ui/dialog/inkscape-preferences.cpp:619 -msgid "Lowest quality (fastest)" -msgstr "Najniższa (najszybciej)" +#: ../src/ui/dialog/document-properties.cpp:111 +msgid "Snap to n_odes" +msgstr "Przyciągaj do wę_złów" -#: ../src/ui/dialog/inkscape-preferences.cpp:622 -msgid "Gaussian blur quality for display:" -msgstr "Jakość rozmycia gaussowskiego:" +#: ../src/ui/dialog/document-properties.cpp:112 +msgid "Snap bounding box corners and guides to bounding box edges" +msgstr "Przyciąga narożniki obramowania obiektu i prowadnic do krawędzi obramowania obiektu" -#: ../src/ui/dialog/inkscape-preferences.cpp:624 -msgid "" -"Best quality, but display may be very slow at high zooms (bitmap export " -"always uses best quality)" -msgstr "" -"Najlepsza jakość, ale wyświetlanie może być bardzo wolne przy dużych " -"powiększeniach (eksport bitmap używa zawsze najlepszej jakości)" +#: ../src/ui/dialog/document-properties.cpp:112 +msgid "Snap to bounding bo_x edges" +msgstr "Przyciągaj do _krawędzi obramowania obiektu" -#: ../src/ui/dialog/inkscape-preferences.cpp:626 -msgid "Better quality, but slower display" -msgstr "Dobra jakość, ale wolniejsze wyświetlanie" +#: ../src/ui/dialog/document-properties.cpp:113 +msgid "Snap bounding box corners to other bounding box corners" +msgstr "Przyciąga narożniki obramowania obiektu do innych narożników obramowania" -#: ../src/ui/dialog/inkscape-preferences.cpp:628 -msgid "Average quality, acceptable display speed" -msgstr "Średnia jakość - akceptowalna szybkość wyświetlania" +#: ../src/ui/dialog/document-properties.cpp:113 +msgid "Snap to bounding box co_rners" +msgstr "Przyciągaj do narożników obra_mowania" -#: ../src/ui/dialog/inkscape-preferences.cpp:630 -msgid "Lower quality (some artifacts), but display is faster" -msgstr "Niska jakość - niewielkie błędy w obrazie, ale szybsze wyświetlanie" +#: ../src/ui/dialog/document-properties.cpp:114 +msgid "Snap bounding box corners and nodes to the page border" +msgstr "Przyciąga narożniki obramowania obiektu i węzłów do krawędzi obramowania strony" -#: ../src/ui/dialog/inkscape-preferences.cpp:632 -msgid "Lowest quality (considerable artifacts), but display is fastest" -msgstr "Najniższa jakość - spore błędy w obrazie, ale najszybsze wyświetlanie" +#: ../src/ui/dialog/document-properties.cpp:114 +msgid "Snap to page border" +msgstr "Przyciągaj do obramowania strony" -#: ../src/ui/dialog/inkscape-preferences.cpp:634 -msgid "Show filter primitives infobox" -msgstr "Wyświetlaj panel informacyjny efektów specjalnych" +#: ../src/ui/dialog/document-properties.cpp:117 +msgid "Consider the rotation center of an object when snapping" +msgstr "Uwzględnia środek obrotu obiektu podczas przyciągania" -#: ../src/ui/dialog/inkscape-preferences.cpp:636 -msgid "" -"Show icons and descriptions for the filter primitives available at the " -"filter effects dialog." -msgstr "" -"W panelu efektów specjalnych wyświetlaj ikony i opisy dostępnych efektów" +#. --------------------------------------------------------------- +#. Applies to both nodes and guides, but not to bboxes, that's why its located here +#: ../src/ui/dialog/document-properties.cpp:117 +msgid "Rotation _center" +msgstr "Środek o_brotu" -#: ../src/ui/dialog/inkscape-preferences.cpp:638 -msgid "Filters" -msgstr "Filtry" +#: ../src/ui/dialog/document-properties.cpp:118 +msgid "Snap to grid-guide intersections" +msgstr "Przyciąganie do punktów przecięcia siatki i prowadnic" -#: ../src/ui/dialog/inkscape-preferences.cpp:644 -msgid "Select in all layers" -msgstr "Zaznaczaj na wszystkich warstwach" +#: ../src/ui/dialog/document-properties.cpp:118 +msgid "_Grid with guides" +msgstr "_Siatka z prowadnicami" -#: ../src/ui/dialog/inkscape-preferences.cpp:645 -msgid "Select only within current layer" -msgstr "Zaznaczaj jedynie w obrębie aktywnej warstwy" +#: ../src/ui/dialog/document-properties.cpp:119 +msgid "Snap to intersections of paths ('snap to paths' must be enabled, see the previous tab)" +msgstr "Przyciąganie do przecięcia ścieżek. Na poprzedniej karcie musi być zaznaczona opcja \"Przyciągaj do ścieżek\"." -#: ../src/ui/dialog/inkscape-preferences.cpp:646 -msgid "Select in current layer and sublayers" -msgstr "Zaznaczaj na aktywnej i na podrzędnych warstwach " +#: ../src/ui/dialog/document-properties.cpp:119 +msgid "_Paths" +msgstr "Ś_cieżki" -#: ../src/ui/dialog/inkscape-preferences.cpp:647 -msgid "Ignore hidden objects and layers" -msgstr "Pomijaj ukryte obiekty i warstwy" +#: ../src/ui/dialog/document-properties.cpp:124 +msgid "Create new grid." +msgstr "Utwórz nową siatkę" -#: ../src/ui/dialog/inkscape-preferences.cpp:648 -msgid "Ignore locked objects and layers" -msgstr "Pomijaj zablokowane obiekty i warstwy" +#. TRANSLATORS: In Grid|_New translate only the word _New. It ref to grid +#: ../src/ui/dialog/document-properties.cpp:124 +msgid "Grid|_New" +msgstr "_Nowa" -#: ../src/ui/dialog/inkscape-preferences.cpp:649 -msgid "Deselect upon layer change" -msgstr "Usuwaj zaznaczenie obiektów przy zmianie warstwy" +#: ../src/ui/dialog/document-properties.cpp:125 +msgid "Remove selected grid." +msgstr "Usuń zaznaczoną siatkę" -#: ../src/ui/dialog/inkscape-preferences.cpp:651 -msgid "Ctrl+A, Tab, Shift+Tab:" -msgstr "Działanie skrótów [Ctrl + A] [Tab] [Shift + Tab]:" +#: ../src/ui/dialog/document-properties.cpp:125 +msgid "_Remove" +msgstr "_Usuń" -#: ../src/ui/dialog/inkscape-preferences.cpp:653 -msgid "Make keyboard selection commands work on objects in all layers" -msgstr "" -"Wybranie tej opcji spowoduje zaznaczanie za pomocą skrótów klawiaturowych " -"obiektów na wszystkich warstwach" +#: ../src/ui/dialog/document-properties.cpp:135 +msgid "Guides" +msgstr "Prowadnice" -#: ../src/ui/dialog/inkscape-preferences.cpp:655 -msgid "Make keyboard selection commands work on objects in current layer only" -msgstr "" -"Wybranie tej opcji spowoduje zaznaczanie za pomocą skrótów klawiaturowych " -"tylko obiektów na aktywnej warstwie" +#: ../src/ui/dialog/document-properties.cpp:136 +#: ../src/ui/dialog/inkscape-preferences.cpp:934 +msgid "Grids" +msgstr "Siatki" -#: ../src/ui/dialog/inkscape-preferences.cpp:657 -msgid "" -"Make keyboard selection commands work on objects in current layer and all " -"its sublayers" -msgstr "" -"Wybranie tej opcji spowoduje zaznaczanie za pomocą skrótów klawiaturowych " -"obiektów na aktywnej warstwie i wszystkich jej podrzędnych warstwach" +#: ../src/ui/dialog/document-properties.cpp:137 +#: ../src/verbs.cpp:2583 +msgid "Snap" +msgstr "Przyciąganie" -#: ../src/ui/dialog/inkscape-preferences.cpp:659 -msgid "" -"Uncheck this to be able to select objects that are hidden (either by " -"themselves or by being in a hidden layer)" -msgstr "" -"Jeśli ta opcja zostanie wyłączona będzie można zaznaczać ukryte obiekty, " -"zarówno te ustawione jako ukryte, jak i znajdujące się w ukrytej grupie lub " -"warstwie" +#: ../src/ui/dialog/document-properties.cpp:138 +msgid "Snap points" +msgstr "Punkty przyciągania" -#: ../src/ui/dialog/inkscape-preferences.cpp:661 -msgid "" -"Uncheck this to be able to select objects that are locked (either by " -"themselves or by being in a locked layer)" -msgstr "" -"Jeśli ta opcja zostanie wyłączona będzie można zaznaczać zablokowane " -"obiekty, zarówno te ustawione jako zablokowane, jak i znajdujące się w " -"zablokowanej grupie lub warstwie" +#: ../src/ui/dialog/document-properties.cpp:233 +msgid "General" +msgstr "Ogólne" -#: ../src/ui/dialog/inkscape-preferences.cpp:664 -msgid "" -"Uncheck this to be able to keep the current objects selected when the " -"current layer changes" -msgstr "" -"Jeśli ta opcja zostanie wyłączona będzie można zachować aktualnie zaznaczone " -"obiekty przy zmianie aktywnej warstwy" +#: ../src/ui/dialog/document-properties.cpp:235 +msgid "Border" +msgstr "Kontur" -#: ../src/ui/dialog/inkscape-preferences.cpp:666 -msgid "Selecting" -msgstr "Zaznaczanie" +#: ../src/ui/dialog/document-properties.cpp:237 +msgid "Format" +msgstr "Format strony" -#: ../src/ui/dialog/inkscape-preferences.cpp:673 -msgid "Default export resolution:" -msgstr "Domyślna rozdzielczość eksportu:" +#: ../src/ui/dialog/document-properties.cpp:265 +msgid "Guides" +msgstr "Prowadnice" -#: ../src/ui/dialog/inkscape-preferences.cpp:674 -msgid "Default bitmap resolution (in dots per inch) in the Export dialog" -msgstr "" -"Domyślna rozdzielczość bitmapy (w dpi) wyświetlana w oknie dialogowym " -"eksportu" +#: ../src/ui/dialog/document-properties.cpp:284 +#: ../src/ui/dialog/document-properties.cpp:290 +#: ../src/ui/dialog/document-properties.cpp:296 +msgid "Always snap" +msgstr "Zawsze przyciągaj" -#: ../src/ui/dialog/inkscape-preferences.cpp:676 -msgid "Open Clip Art Library Server Name:" -msgstr "Nazwa serwera klipartów:" +#: ../src/ui/dialog/document-properties.cpp:284 +msgid "Snap _distance" +msgstr "Odległość p_rzyciągania" -#: ../src/ui/dialog/inkscape-preferences.cpp:677 -msgid "" -"The server name of the Open Clip Art Library webdav server. It's used by the " -"Import and Export to OCAL function." -msgstr "" -"Nazwa serwera Open Clip Art Library. Jest ona używana przez funkcję importu " -"i eksportu na serwer Open Clip Art Library. " +#: ../src/ui/dialog/document-properties.cpp:284 +msgid "Snap only when _closer than:" +msgstr "Przyciągaj tylko z _odległości mniejszej niż:" -#: ../src/ui/dialog/inkscape-preferences.cpp:679 -msgid "Open Clip Art Library Username:" -msgstr "Nazwa użytkownika:" +#: ../src/ui/dialog/document-properties.cpp:285 +msgid "Always snap to objects, regardless of their distance" +msgstr "Zawsze przyciągaj do obiektów, bez względu na ich odległość" -#: ../src/ui/dialog/inkscape-preferences.cpp:680 -msgid "The username used to log into Open Clip Art Library." -msgstr "Nazwa użytkownika używana do logowania do Open Clip Art Library" +#: ../src/ui/dialog/document-properties.cpp:285 +msgid "Snapping distance, in screen pixels, for snapping to objects" +msgstr "Odległość przyciągania (w pikselach) z jakiej obiekty będą przyciągane" -#: ../src/ui/dialog/inkscape-preferences.cpp:682 -msgid "Open Clip Art Library Password:" -msgstr "Hasło:" +#: ../src/ui/dialog/document-properties.cpp:286 +msgid "If set, objects only snap to another object when it's within the range specified below" +msgstr "Obiekty będą przyciągane do innego obiektu tylko jeśli ten obiekt znajduje się w zasięgu określonym poniżej" -#: ../src/ui/dialog/inkscape-preferences.cpp:683 -msgid "The password used to log into Open Clip Art Library." -msgstr "Hasło używane do logowania do Open Clip Art Library" +#. Options for snapping to grids +#: ../src/ui/dialog/document-properties.cpp:290 +msgid "Snap d_istance" +msgstr "Odległość przy_ciągania" -#: ../src/ui/dialog/inkscape-preferences.cpp:685 -msgid "Import/Export" -msgstr "Import/Eksport" +#: ../src/ui/dialog/document-properties.cpp:290 +msgid "Snap only when c_loser than:" +msgstr "Przyciągaj tylko z o_dległości mniejszej niż:" -#. TRANSLATORS: see http://www.newsandtech.com/issues/2004/03-04/pt/03-04_rendering.htm -#: ../src/ui/dialog/inkscape-preferences.cpp:731 -msgid "Perceptual" -msgstr "Percepcyjny" +#: ../src/ui/dialog/document-properties.cpp:291 +msgid "Always snap to grids, regardless of the distance" +msgstr "Zawsze przyciągaj do siatek, bez względu na odległość" -#: ../src/ui/dialog/inkscape-preferences.cpp:731 -msgid "Relative Colorimetric" -msgstr "Kolorymetryczny względny" +#: ../src/ui/dialog/document-properties.cpp:291 +msgid "Snapping distance, in screen pixels, for snapping to grid" +msgstr "Odległość przyciągania, w pikselach, z jakiej obiekty będą przyciągane do siatki" -#: ../src/ui/dialog/inkscape-preferences.cpp:731 -msgid "Absolute Colorimetric" -msgstr "Kolorymetryczny bezwzględny" +#: ../src/ui/dialog/document-properties.cpp:292 +msgid "If set, objects only snap to a grid line when it's within the range specified below" +msgstr "Obiekty będą przyciągane do siatki tylko, gdy znajdują się w określonym poniżej zasięgu" -#: ../src/ui/dialog/inkscape-preferences.cpp:735 -msgid "(Note: Color management has been disabled in this build)" -msgstr "(Uwaga: W tej wersji programu zarządzanie kolorem zostało wyłączone)" +#. Options for snapping to guides +#: ../src/ui/dialog/document-properties.cpp:296 +msgid "Snap dist_ance" +msgstr "Odległość _przyciągania" -#: ../src/ui/dialog/inkscape-preferences.cpp:739 -msgid "Display adjustment" -msgstr "Dostrajanie monitora" +#: ../src/ui/dialog/document-properties.cpp:296 +msgid "Snap only when close_r than:" +msgstr "Przyciągaj tylko z odle_głości mniejszej niż:" -#: ../src/ui/dialog/inkscape-preferences.cpp:741 -msgid "Display profile:" -msgstr "Profil monitora:" +#: ../src/ui/dialog/document-properties.cpp:297 +msgid "Always snap to guides, regardless of the distance" +msgstr "Zawsze przyciągaj do prowadnic, bez względu na odległość" -#: ../src/ui/dialog/inkscape-preferences.cpp:742 -msgid "The ICC profile to use to calibrate display output." -msgstr "Profil ICC używany do kalibracji monitora" +#: ../src/ui/dialog/document-properties.cpp:297 +msgid "Snapping distance, in screen pixels, for snapping to guides" +msgstr "Odległość przyciągania, w pikselach, z jakiej obiekty będą przyciągane do prowadnic" -#: ../src/ui/dialog/inkscape-preferences.cpp:744 -msgid "Retrieve profile from display" -msgstr "Pobierz profil z monitora" +#: ../src/ui/dialog/document-properties.cpp:298 +msgid "If set, objects only snap to a guide when it's within the range specified below" +msgstr "Obiekty będą przyciągane do prowadnicy tylko, gdy znajdują się w określonym poniżej zasięgu" -#: ../src/ui/dialog/inkscape-preferences.cpp:747 -msgid "Retrieve profiles from those attached to displays via XICC." -msgstr "Pobierz poprzez XICC istniejące profile monitora" +#: ../src/ui/dialog/document-properties.cpp:321 +msgid "Snapping" +msgstr "Przyciąganie" -#: ../src/ui/dialog/inkscape-preferences.cpp:749 -msgid "Retrieve profiles from those attached to displays." -msgstr "" -"Jeśli opcja ta zostanie zaznaczona będą pobierane istniejące profile monitora" +#: ../src/ui/dialog/document-properties.cpp:323 +msgid "What snaps" +msgstr "Elementy przyciągane" -#: ../src/ui/dialog/inkscape-preferences.cpp:754 -msgid "Display rendering intent:" -msgstr "Sposób renderowania monitora:" +#: ../src/ui/dialog/document-properties.cpp:325 +msgid "Snap to objects" +msgstr "Przyciąganie do obiektów" -#: ../src/ui/dialog/inkscape-preferences.cpp:755 -#: ../src/ui/dialog/inkscape-preferences.cpp:778 -msgid "The rendering intent to use to calibrate display output." -msgstr "Sposób renderowania używany do kalibracji wyjścia monitora" +#: ../src/ui/dialog/document-properties.cpp:327 +msgid "Snap to grids" +msgstr "Przyciąganie do siatek" -#: ../src/ui/dialog/inkscape-preferences.cpp:757 -msgid "Proofing" -msgstr "Sprawdzanie" +#: ../src/ui/dialog/document-properties.cpp:329 +msgid "Snap to guides" +msgstr "Przyciąganie do prowadnic" -#: ../src/ui/dialog/inkscape-preferences.cpp:759 -msgid "Simulate output on screen" -msgstr "Symuluj wyjście na ekranie" +#: ../src/ui/dialog/document-properties.cpp:367 +msgid "Snapping to intersections of" +msgstr "Przyciąganie do skrzyżowania siatki z prowadnicą" -#: ../src/ui/dialog/inkscape-preferences.cpp:761 -msgid "Simulates output of target device." -msgstr "" -"Jeśli opcja ta zostanie zaznaczona wyjście urządzenia docelowego będzie " -"symulowane na ekranie" +#: ../src/ui/dialog/document-properties.cpp:369 +msgid "Special points to consider" +msgstr "Punkty specjalne do uwzględnienia" -#: ../src/ui/dialog/inkscape-preferences.cpp:763 -msgid "Mark out of gamut colors" -msgstr "Oznacz kolory będące poza gamą kolorów" +#: ../src/ui/dialog/document-properties.cpp:439 +msgid "Creation" +msgstr "Tworzenie" -#: ../src/ui/dialog/inkscape-preferences.cpp:765 -msgid "Highlights colors that are out of gamut for the target device." -msgstr "" -"Jeśli opcja ta zostanie zaznaczona będą podświetlane kolory znajdujące się " -"poza gamą kolorów urządzenia docelowego" +#: ../src/ui/dialog/document-properties.cpp:440 +msgid "Defined grids" +msgstr "Zdefiniowane siatki" -#: ../src/ui/dialog/inkscape-preferences.cpp:770 -msgid "Out of gamut warning color:" -msgstr "Kolor ostrzeżeń:" +#: ../src/ui/dialog/document-properties.cpp:656 +msgid "Remove grid" +msgstr "Usuń siatkę" -#: ../src/ui/dialog/inkscape-preferences.cpp:771 -msgid "Selects the color used for out of gamut warning." -msgstr "" -"Określ kolor używany do ostrzeżeń o kolorach znajdujących się poza gamą " -"kolorów" +#: ../src/ui/dialog/extension-editor.cpp:80 +msgid "Information" +msgstr "Informacje" -#: ../src/ui/dialog/inkscape-preferences.cpp:773 -msgid "Device profile:" -msgstr "Profil urządzenia:" +#: ../src/ui/dialog/extension-editor.cpp:82 +msgid "Parameters" +msgstr "Parametry" -#: ../src/ui/dialog/inkscape-preferences.cpp:774 -msgid "The ICC profile to use to simulate device output." -msgstr "Profil ICC używany do symulacji urządzenia wyjściowego" +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:382 +msgid "No preview" +msgstr "Brak podglądu" -#: ../src/ui/dialog/inkscape-preferences.cpp:777 -msgid "Device rendering intent:" -msgstr "Sposób renderowania:" +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:488 +msgid "too large for preview" +msgstr "Za duży, aby otworzyć podgląd" -#: ../src/ui/dialog/inkscape-preferences.cpp:780 -msgid "Black point compensation" -msgstr "Kompensuj punktu czerni" +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:577 +msgid "Enable preview" +msgstr "Włącz podgląd" -#: ../src/ui/dialog/inkscape-preferences.cpp:782 -msgid "Enables black point compensation." -msgstr "Zaznaczenie tej opcji spowoduje włączenie kompensacji punktu czerni" +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:711 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:712 +#: ../src/ui/dialog/filedialogimpl-win32.cpp:199 +msgid "All Inkscape Files" +msgstr "Wszystkie pliki Inkscape'a" -#: ../src/ui/dialog/inkscape-preferences.cpp:784 -msgid "Preserve black" -msgstr "Zachowaj kanał K" +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:716 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:717 +#: ../src/ui/dialog/filedialogimpl-win32.cpp:198 +msgid "All Files" +msgstr "Wszystkie pliki" -#: ../src/ui/dialog/inkscape-preferences.cpp:789 -msgid "(LittleCMS 1.15 or later required)" -msgstr "(Jest wymagany program LittleCMS 1.15 lub nowszy)" +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:722 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:723 +msgid "All Images" +msgstr "Wszystkie obrazki" -#: ../src/ui/dialog/inkscape-preferences.cpp:791 -msgid "Preserve K channel in CMYK -> CMYK transforms" -msgstr "" -"Zaznaczenie tej opcji spowoduje zachowywanie kanału K (czarnego) podczas " -"transformacji CMYK -> CMYK" +#. ###### Add the file types menu +#. createFilterMenu(); +#. ###### Do we want the .xxx extension automatically added? +#. ###### File options +#. ###### Do we want the .xxx extension automatically added? +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:890 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1432 +msgid "Append filename extension automatically" +msgstr "Dodaj automatycznie rozszerzenie nazwy pliku" -#: ../src/ui/dialog/inkscape-preferences.cpp:804 -msgid "" -msgstr "" +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1045 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1297 +msgid "Guess from extension" +msgstr "Wszystkie pliki (*.*)" -#: ../src/ui/dialog/inkscape-preferences.cpp:850 -msgid "Color management" -msgstr "Zarządzanie kolorem" +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1318 +msgid "Left edge of source" +msgstr "Lewa krawędź źródła" -#: ../src/ui/dialog/inkscape-preferences.cpp:855 -msgid "Major grid line emphasizing" -msgstr "Wyróżniane głównej linii siatki" +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1319 +msgid "Top edge of source" +msgstr "Górna krawędź źródła" -#: ../src/ui/dialog/inkscape-preferences.cpp:857 -msgid "Don't emphasize gridlines when zoomed out" -msgstr "Nie uwydatniaj siatki podczas pomniejszania" +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1320 +msgid "Right edge of source" +msgstr "Prawa krawędź źródła" -#: ../src/ui/dialog/inkscape-preferences.cpp:858 -msgid "" -"If set and zoomed out, the gridlines will be shown in normal color instead " -"of major grid line color." -msgstr "" -"Jeśli opcja ta zostanie zaznaczona, podczas pomniejszania linie siatki będą " -"wyświetlane w normalnym kolorze zamiast w kolorze linii głównej siatki" +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1321 +msgid "Bottom edge of source" +msgstr "Dolna krawędź źródła" -#: ../src/ui/dialog/inkscape-preferences.cpp:860 -msgid "Default grid settings" -msgstr "Domyślne ustawienia siatki" +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1322 +msgid "Source width" +msgstr "Szerokość źródła" -#: ../src/ui/dialog/inkscape-preferences.cpp:866 -#: ../src/ui/dialog/inkscape-preferences.cpp:887 -msgid "Grid units" -msgstr "Jednostki siatki" +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1323 +msgid "Source height" +msgstr "Wysokość źródła" -#: ../src/ui/dialog/inkscape-preferences.cpp:869 -#: ../src/ui/dialog/inkscape-preferences.cpp:890 -msgid "Origin X" -msgstr "Punkt początkowy X:" +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1324 +msgid "Destination width" +msgstr "Szerokość miejsca docelowego" -#: ../src/ui/dialog/inkscape-preferences.cpp:870 -#: ../src/ui/dialog/inkscape-preferences.cpp:891 -msgid "Origin Y" -msgstr "Punkt początkowy Y:" +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1325 +msgid "Destination height" +msgstr "Wysokość miejsca docelowego" -#: ../src/ui/dialog/inkscape-preferences.cpp:873 -msgid "Spacing X" -msgstr "Odstępy X:" +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1326 +msgid "Resolution (dots per inch)" +msgstr "Rozdzielczość (w dpi)" -#: ../src/ui/dialog/inkscape-preferences.cpp:874 -#: ../src/ui/dialog/inkscape-preferences.cpp:893 -msgid "Spacing Y" -msgstr "Odstępy Y:" +#. ######################################### +#. ## EXTRA WIDGET -- SOURCE SIDE +#. ######################################### +#. ##### Export options buttons/spinners, etc +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1363 +msgid "Document" +msgstr "Dokument" -#: ../src/ui/dialog/inkscape-preferences.cpp:877 -#: ../src/ui/dialog/inkscape-preferences.cpp:899 -msgid "Selects the color used for normal grid lines." -msgstr "Kolor normalnych linii siatki" +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1415 +msgid "Cairo" +msgstr "Cairo" -#: ../src/ui/dialog/inkscape-preferences.cpp:879 -#: ../src/ui/dialog/inkscape-preferences.cpp:901 -msgid "Selects the color used for major (highlighted) grid lines." -msgstr "Kolor głównych (podświetlonych) linii siatki" +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1418 +msgid "Antialias" +msgstr "Wygładzanie" -#: ../src/ui/dialog/inkscape-preferences.cpp:881 -#: ../src/ui/dialog/inkscape-preferences.cpp:903 -msgid "Major grid line every" -msgstr "Rozstaw linii głównych siatki" +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1421 +msgid "Background" +msgstr "Tło" -#: ../src/ui/dialog/inkscape-preferences.cpp:882 -msgid "Show dots instead of lines" -msgstr "Wyświetlaj kropki zamiast linii" +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1444 +msgid "Destination" +msgstr "Miejsce docelowe" -#: ../src/ui/dialog/inkscape-preferences.cpp:896 -msgid "Angle X" -msgstr "Kąt X" +#: ../src/ui/dialog/filedialogimpl-win32.cpp:200 +msgid "All Image Files" +msgstr "Wszystkie obrazki" -#: ../src/ui/dialog/inkscape-preferences.cpp:897 -msgid "Angle Z" -msgstr "Kąt Z:" +#: ../src/ui/dialog/filedialogimpl-win32.cpp:432 +msgid "Show Preview" +msgstr "Podgląd" -#: ../src/ui/dialog/inkscape-preferences.cpp:910 -#, fuzzy -msgid "Use named colors" -msgstr "Ustaw pobrany kolor" +#: ../src/ui/dialog/filedialogimpl-win32.cpp:568 +msgid "No file selected" +msgstr "Nie wybrano pliku" -#: ../src/ui/dialog/inkscape-preferences.cpp:911 -msgid "If set, write the CSS name of the color instead of it's numeric value." -msgstr "" +#: ../src/ui/dialog/fill-and-stroke.cpp:53 +msgid "Fill" +msgstr "Wypełnienie" -#: ../src/ui/dialog/inkscape-preferences.cpp:913 -msgid "XML looks" -msgstr "" +#: ../src/ui/dialog/fill-and-stroke.cpp:54 +msgid "Stroke _paint" +msgstr "_Kontur" -#: ../src/ui/dialog/inkscape-preferences.cpp:915 -#, fuzzy -msgid "Inline attributes" -msgstr "Określ atrybut" +#: ../src/ui/dialog/fill-and-stroke.cpp:55 +msgid "Stroke st_yle" +msgstr "_Styl konturu" -#: ../src/ui/dialog/inkscape-preferences.cpp:916 -#, fuzzy -msgid "Inline the XML attributes" -msgstr "Usuń atrybut" +#: ../src/ui/dialog/filter-effects-dialog.cpp:506 +msgid "This matrix determines a linear transform on colour space. Each line affects one of the color components. Each column determines how much of each color component from the input is passed to the output. The last column does not depend on input colors, so can be used to adjust a constant component value." +msgstr "Ta macierz określa liniową transformację przestrzeni koloru. Każdy wiersz wpływa na jedną składową koloru. Każda kolumna określa jaka część koloru wejściowego jest używana na wyjściu. Ostatnia kolumna nie jest zależna od koloru wejściowego, może być więc użyta do ustawienia dodatkowej stałej wartości składowej." -#: ../src/ui/dialog/inkscape-preferences.cpp:919 -#, fuzzy -msgid "Indent spaces" -msgstr "Utwórz wcięcie" +#: ../src/ui/dialog/filter-effects-dialog.cpp:616 +msgid "Image File" +msgstr "Plik obrazka" -#: ../src/ui/dialog/inkscape-preferences.cpp:919 -#, fuzzy -msgid "The number of spaces to use for indentation." -msgstr "Liczba ścieżek jaka zostanie wygenerowana" +#: ../src/ui/dialog/filter-effects-dialog.cpp:619 +msgid "Selected SVG Element" +msgstr "Zaznaczony element SVG" -#: ../src/ui/dialog/inkscape-preferences.cpp:921 -#, fuzzy -msgid "Path string" -msgstr " ciąg znaków: " +#. TODO: any image, not justy svg +#: ../src/ui/dialog/filter-effects-dialog.cpp:689 +msgid "Select an image to be used as feImage input" +msgstr "Zaznacz obrazek, który będzie użyty jako źródło filtru \"feImage\"" -#: ../src/ui/dialog/inkscape-preferences.cpp:923 -#, fuzzy -msgid "Allow relative coordinates" -msgstr "Użyj współrzędne biegunowe" +#: ../src/ui/dialog/filter-effects-dialog.cpp:781 +msgid "This SVG filter effect does not require any parameters." +msgstr "Ten efekt filtru SVG nie wymaga żadnych parametrów" -#: ../src/ui/dialog/inkscape-preferences.cpp:924 -msgid "If set, relative coordinates may be used in path data" -msgstr "" +#: ../src/ui/dialog/filter-effects-dialog.cpp:787 +msgid "This SVG filter effect is not yet implemented in Inkscape." +msgstr "Ten efekt filtru SVG nie został jeszcze zaimplementowany w Inkscape." -#. seems this is never used in Inkscape code -#. _svgoutput_allowshorthands.init( _("Allow shorthands"), "options.svgoutput", "allowshorthands", true); -#. _page_svgoutput.add_line( false, "", _svgoutput_allowshorthands, "", _(""), false); -#. -#: ../src/ui/dialog/inkscape-preferences.cpp:931 -msgid "Force repeat commands" -msgstr "" +#: ../src/ui/dialog/filter-effects-dialog.cpp:978 +msgid "Light Source:" +msgstr "Źródło światła:" -#: ../src/ui/dialog/inkscape-preferences.cpp:932 -msgid "" -"If set, force repeating of the same command (i.e. output 'L 1,2 L 3,4' " -"instead of 'L 1,2 3,4')." -msgstr "" +#: ../src/ui/dialog/filter-effects-dialog.cpp:995 +msgid "Direction angle for the light source on the XY plane, in degrees" +msgstr "Kierunek kąta źródła światła na płaszczyźnie XY (w stopniach)" -#: ../src/ui/dialog/inkscape-preferences.cpp:934 -msgid "Numeric data" -msgstr "" +#: ../src/ui/dialog/filter-effects-dialog.cpp:996 +msgid "Direction angle for the light source on the YZ plane, in degrees" +msgstr "Kierunek kąta źródła światła na płaszczyźnie YZ (w stopniach)" -#: ../src/ui/dialog/inkscape-preferences.cpp:937 -#, fuzzy -msgid "Numeric precision" -msgstr "Precyzja" +#. default x: +#. default y: +#. default z: +#: ../src/ui/dialog/filter-effects-dialog.cpp:999 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1002 +msgid "Location" +msgstr "Lokalizacja" -#: ../src/ui/dialog/inkscape-preferences.cpp:937 -msgid "The number of digits to use behind the comma." -msgstr "" +#: ../src/ui/dialog/filter-effects-dialog.cpp:999 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1002 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1005 +msgid "X coordinate" +msgstr "Współrzędna X" -#: ../src/ui/dialog/inkscape-preferences.cpp:940 -#, fuzzy -msgid "Minimum exponent" -msgstr "Rozmiar minimalny" +#: ../src/ui/dialog/filter-effects-dialog.cpp:999 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1002 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1005 +msgid "Y coordinate" +msgstr "Współrzędna Y" -#: ../src/ui/dialog/inkscape-preferences.cpp:940 -msgid "" -"The minimum size of a number (10 to the power of this exponent), smaller " -"numbers will be written as zero." -msgstr "" +#: ../src/ui/dialog/filter-effects-dialog.cpp:999 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1002 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1005 +msgid "Z coordinate" +msgstr "Współrzędna Z" -#: ../src/ui/dialog/inkscape-preferences.cpp:947 -msgid "Add label comments to printing output" -msgstr "Dodawaj etykiety komentarzy do pliku wyjściowego" +#: ../src/ui/dialog/filter-effects-dialog.cpp:1005 +msgid "Points At" +msgstr "Punkty" -#: ../src/ui/dialog/inkscape-preferences.cpp:949 -msgid "" -"When on, a comment will be added to the raw print output, marking the " -"rendered output for an object with its label" -msgstr "" -"Włączenie tej opcji powoduje wstawienie do pliku wyjściowego RAW komentarzy " -"opisujących każdy obiekt jego etykietą" +#: ../src/ui/dialog/filter-effects-dialog.cpp:1006 +msgid "Exponent value controlling the focus for the light source" +msgstr "Wykładnik kontrolujący skupienie źródła światła" -#: ../src/ui/dialog/inkscape-preferences.cpp:951 -msgid "Prevent sharing of gradient definitions" -msgstr "Zapobiegaj współdzieleniu definicji gradientu" +#: ../src/ui/dialog/filter-effects-dialog.cpp:1006 +msgid "Specular Exponent" +msgstr "Wykładnik odbicia lustrzanego" -#: ../src/ui/dialog/inkscape-preferences.cpp:953 -msgid "" -"When on, shared gradient definitions are automatically forked on change; " -"uncheck to allow sharing of gradient definitions so that editing one object " -"may affect other objects using the same gradient" -msgstr "" -"Jeśli opcja ta zostanie włączona, współdzielone definicje gradientu będą " -"automatycznie zabezpieczone przed zmianą. Jeśli opcja zostanie wyłączona, " -"dozwolone będzie współdzielenie definicji gradientu, zatem edytowanie " -"jednego obiektu będzie miało wpływ na inne obiekty używające tego samego " -"gradientu." +#. TODO: here I have used 100 degrees as default value. But spec says that if not specified, no limiting cone is applied. So, there should be a way for the user to set a "no limiting cone" option. +#: ../src/ui/dialog/filter-effects-dialog.cpp:1008 +msgid "Cone Angle" +msgstr "Kąt stożka" -#: ../src/ui/dialog/inkscape-preferences.cpp:955 -msgid "Simplification threshold:" -msgstr "Próg czułości uproszczenia:" +#: ../src/ui/dialog/filter-effects-dialog.cpp:1008 +msgid "This is the angle between the spot light axis (i.e. the axis between the light source and the point to which it is pointing at) and the spot light cone. No light is projected outside this cone." +msgstr "Jest to kąt pomiędzy osią punktu światła (np. oś pomiędzy źródłem światła i punktem, do którego on jest skierowany), a punktem światła stożka. Na zewnątrz tego stożka nie ma projekcji światła." -#: ../src/ui/dialog/inkscape-preferences.cpp:956 -msgid "" -"How strong is the Simplify command by default. If you invoke this command " -"several times in quick succession, it will act more and more aggressively; " -"invoking it again after a pause restores the default threshold." -msgstr "" -"Domyślna wartość (siła upraszczania) używana przez polecenie \"Uprość\". " -"Wywołanie tego polecenia kilkakrotnie w krótkich odstępach czasu powoduje " -"nasilenie jego działania. Ponowne wykonanie po krótkiej przerwie przywraca " -"wartość domyślną." +#: ../src/ui/dialog/filter-effects-dialog.cpp:1069 +msgid "New light source" +msgstr "Nowe źródło światła" -#: ../src/ui/dialog/inkscape-preferences.cpp:958 -msgid "2x2" -msgstr "2x2" +#: ../src/ui/dialog/filter-effects-dialog.cpp:1110 +msgid "_Duplicate" +msgstr "_Powiel" -#: ../src/ui/dialog/inkscape-preferences.cpp:958 -msgid "4x4" -msgstr "4x4" +#: ../src/ui/dialog/filter-effects-dialog.cpp:1136 +msgid "_Filter" +msgstr "_Filtr" -#: ../src/ui/dialog/inkscape-preferences.cpp:958 -msgid "8x8" -msgstr "8x8" +#: ../src/ui/dialog/filter-effects-dialog.cpp:1150 +msgid "R_ename" +msgstr "Z_mień nazwę" -#: ../src/ui/dialog/inkscape-preferences.cpp:958 -msgid "16x16" -msgstr "16x16" +#: ../src/ui/dialog/filter-effects-dialog.cpp:1244 +msgid "Rename filter" +msgstr "Zmień nazwę filtru" -#: ../src/ui/dialog/inkscape-preferences.cpp:962 -msgid "Oversample bitmaps:" -msgstr "Nadpróbkowanie bitmap:" +#: ../src/ui/dialog/filter-effects-dialog.cpp:1280 +msgid "Apply filter" +msgstr "Zastosuj filtr" -#: ../src/ui/dialog/inkscape-preferences.cpp:972 -msgid "Commands bar icon size" -msgstr "Wyświetlaj małe ikony w przyborniku" +#: ../src/ui/dialog/filter-effects-dialog.cpp:1356 +msgid "Add filter" +msgstr "Dodaj filtr" -#: ../src/ui/dialog/inkscape-preferences.cpp:973 -msgid "Set the size for the commands toolbar to use (requires restart)" -msgstr "" -"Określ wielkość ikon w przyborniku (wymaga ponownego uruchomienia aplikacji)" +#: ../src/ui/dialog/filter-effects-dialog.cpp:1382 +msgid "Duplicate filter" +msgstr "Powiel filtr" -#: ../src/ui/dialog/inkscape-preferences.cpp:976 -msgid "Tool controls bar icon size" -msgstr "Wyświetlaj małe ikony na pasku narzędzi sterujących" +#: ../src/ui/dialog/filter-effects-dialog.cpp:1449 +msgid "_Effect" +msgstr "_Efekt" -#: ../src/ui/dialog/inkscape-preferences.cpp:977 -msgid "Set the size for the secondary toolbar to use (requires restart)" -msgstr "" -"Zaznaczenie tej opcji spowoduje wyświetlanie małych ikon na pasku narzędzi " -"sterujących (wymaga ponownego uruchomienia aplikacji)" +#: ../src/ui/dialog/filter-effects-dialog.cpp:1457 +msgid "Connections" +msgstr "Połączenia" -#: ../src/ui/dialog/inkscape-preferences.cpp:980 -msgid "Main toolbar icon size" -msgstr "Wyświetlaj małe ikony na głównym pasku narzędzi" +#: ../src/ui/dialog/filter-effects-dialog.cpp:1573 +msgid "Remove filter primitive" +msgstr "Usuń efekt specjalny" -#: ../src/ui/dialog/inkscape-preferences.cpp:981 -msgid "Set the size for the main tools to use (requires restart)" -msgstr "" -"Zaznaczenie tej opcji spowoduje wyświetlanie małych ikon na głównym pasku " -"narzędzi (wymaga ponownego uruchomienia aplikacji)" +#: ../src/ui/dialog/filter-effects-dialog.cpp:1945 +msgid "Remove merge node" +msgstr "Usuń połączenie węzła" -#: ../src/ui/dialog/inkscape-preferences.cpp:984 -msgid "Maximum number of recent documents:" -msgstr "Maksymalna liczba dokumentów:" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2061 +msgid "Reorder filter primitive" +msgstr "Zmień ustawienia efektu specjalnego" -#: ../src/ui/dialog/inkscape-preferences.cpp:985 -msgid "The maximum length of the Open Recent list in the File menu" -msgstr "" -"Maksymalna ilość dokumentów przechowywanych na liście ostatnio otwieranych " -"dokumentów w menu \"Plik\"" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2095 +msgid "Add Effect:" +msgstr "Dodaj efekt:" -#. Autosave options -#: ../src/ui/dialog/inkscape-preferences.cpp:990 -#, fuzzy -msgid "Enable auto-save of document" -msgstr "Wektoryzacja: Brak aktywnego dokumentu" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2096 +msgid "No effect selected" +msgstr "Nie wybrano efektu" -#: ../src/ui/dialog/inkscape-preferences.cpp:991 -msgid "" -"Automatically saves the current document to disk at a given interval, thus " -"minimizing loss at a crash" -msgstr "" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2097 +msgid "No filter selected" +msgstr "Nie wybrano filtru" -#: ../src/ui/dialog/inkscape-preferences.cpp:993 -msgid "Interval (in minutes):" -msgstr "" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2135 +msgid "Effect parameters" +msgstr "Parametry efektu" -#: ../src/ui/dialog/inkscape-preferences.cpp:993 -msgid "" -"Sets the interval (in minutes) at which a workspace will be automatically " -"saved to disk" -msgstr "" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2136 +msgid "Filter General Settings" +msgstr "Ustawienia filtrów" -#: ../src/ui/dialog/inkscape-preferences.cpp:995 -#, fuzzy -msgid "Path:" -msgstr "Ścieżka" +#. default x: +#. default y: +#: ../src/ui/dialog/filter-effects-dialog.cpp:2192 +msgid "Coordinates" +msgstr "Współrzędne" -#: ../src/ui/dialog/inkscape-preferences.cpp:995 -msgid "Sets the directory where autosaves will be written" -msgstr "" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2192 +msgid "X coordinate of the left corners of filter effects region" +msgstr "Współrzędna X lewych narożników obszaru efektów filtra" -#: ../src/ui/dialog/inkscape-preferences.cpp:997 -#, fuzzy -msgid "Maximum number of autosaves" -msgstr "Maksymalna liczba dokumentów:" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2192 +msgid "Y coordinate of the upper corners of filter effects region" +msgstr "Współrzędna Y lewych narożników obszaru efektów filtra" -#: ../src/ui/dialog/inkscape-preferences.cpp:997 -msgid "" -"Allows for limiting the space used by autosaves, by setting a maximum number " -"of allowed files" -msgstr "" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2193 +msgid "Height of filter effects region" +msgstr "Wysokość obszaru efektów filtra" -#. When changing the interval or enabling/disabling the autosave function, -#. * update our running configuration -#. * -#. * FIXME! -#. * the inkscape_autosave_init should be called AFTER the values have been changed -#. * (which cannot be guaranteed from here) -#. * -#. * For now, autosave-settings will not change until restart -#. -#. -#. _misc_autosave_enable.signal_toggled().connect( sigc::ptr_fun(inkscape_autosave_init), TRUE ); -#. _misc_autosave_interval.signal_changed().connect( sigc::ptr_fun(inkscape_autosave_init), TRUE ); -#. -#. ----------- -#: ../src/ui/dialog/inkscape-preferences.cpp:1015 -msgid "Automatically reload bitmaps" -msgstr "" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2193 +msgid "Width of filter effects region" +msgstr "Szerokość obszaru efektów filtra" -#: ../src/ui/dialog/inkscape-preferences.cpp:1017 -msgid "Enbles automatic reload of linked images when changed on disk." -msgstr "" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2199 +msgid "Indicates the type of matrix operation. The keyword 'matrix' indicates that a full 5x4 matrix of values will be provided. The other keywords represent convenience shortcuts to allow commonly used color operations to be performed without specifying a complete matrix." +msgstr "Wskazuje na operację typu \"macierz\". Słowo kluczowe \"macierz\" wskazuje, że zostaną przeprowadzone wszystkie wartości macierzy 5x4. Inne słowa kluczowe reprezentują wygodne w użyciu skróty do przeprowadzenia operacji na kolorach bez specyfikowania całej macierzy." -#: ../src/ui/dialog/inkscape-preferences.cpp:1030 -#, fuzzy -msgid "Bitmap editor:" -msgstr "Opcje bitmapy" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2200 +msgid "Value(s)" +msgstr "Wartość(i)" -#: ../src/ui/dialog/inkscape-preferences.cpp:1036 -msgid "Misc" -msgstr "Różne" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2214 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2255 +msgid "Operator" +msgstr "Operator" -#: ../src/ui/dialog/livepatheffect-editor.cpp:74 -msgid "Apply new effect" -msgstr "Zastosuj nowy efekt" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2215 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2216 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2217 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2218 +msgid "If the arithmetic operation is chosen, each result pixel is computed using the formula k1*i1*i2 + k2*i1 + k3*i2 + k4 where i1 and i2 are the pixel values of the first and second inputs respectively." +msgstr "Jeśli została wybrana operacja arytmetyczna, każdy wynikowy piksel będzie przeliczany za pomocą formuły k1*i1*i2 + k2*i1 + k3*i2 + k4, gdzie 1 i 2 są odpowiednio wartościami pierwszego i drugiego piksela. " -#: ../src/ui/dialog/livepatheffect-editor.cpp:75 -msgid "Current effect" -msgstr "Aktualny efekt" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2215 +msgid "K1" +msgstr "K1" -#: ../src/ui/dialog/livepatheffect-editor.cpp:76 -#, fuzzy -msgid "Effect list" -msgstr "E_fekty" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2216 +msgid "K2" +msgstr "K2" -#: ../src/ui/dialog/livepatheffect-editor.cpp:239 -msgid "Unknown effect is applied" -msgstr "Został zastosowany nieznany efekt" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2217 +msgid "K3" +msgstr "K3" -#: ../src/ui/dialog/livepatheffect-editor.cpp:242 -msgid "No effect applied" -msgstr "Nie zastosowano żadnego efektu" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2218 +msgid "K4" +msgstr "K4" -#: ../src/ui/dialog/livepatheffect-editor.cpp:248 -#, fuzzy -msgid "Item is not a path or shape" -msgstr "Element nie jest zmieniony przez ścieżkę" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2221 +msgid "height of the convolve matrix" +msgstr "wysokość macierzy skręcania" -#: ../src/ui/dialog/livepatheffect-editor.cpp:252 -msgid "Only one item can be selected" -msgstr "Tylko jeden element może być zaznaczony" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2221 +msgid "width of the convolve matrix" +msgstr "szerokość macierzy skręcania" -#: ../src/ui/dialog/livepatheffect-editor.cpp:256 -msgid "Empty selection" -msgstr "Puste zaznaczenie" +#. default x: +#. default y: +#: ../src/ui/dialog/filter-effects-dialog.cpp:2222 +msgid "Target" +msgstr "Cel" + +#: ../src/ui/dialog/filter-effects-dialog.cpp:2222 +msgid "X coordinate of the target point in the convolve matrix. The convolution is applied to pixels around this point." +msgstr "Współrzędna X punktu docelowego w macierzy skręcania. Skręcenie jest stosowane do pikseli wokół tego punktu." -#: ../src/ui/dialog/livepatheffect-editor.cpp:349 -msgid "Remove path effect" -msgstr "Usuń efekt ścieżki" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2222 +msgid "Y coordinate of the target point in the convolve matrix. The convolution is applied to pixels around this point." +msgstr "Współrzędna Y punktu docelowego w macierzy skręcania. Skręcenie jest stosowane do pikseli wokół tego punktu." -#: ../src/ui/dialog/livepatheffect-editor.cpp:366 -#, fuzzy -msgid "Move path effect up" -msgstr "Usuń efekt ścieżki" +#. TRANSLATORS: for info on "Kernel", see http://en.wikipedia.org/wiki/Kernel_(matrix) +#: ../src/ui/dialog/filter-effects-dialog.cpp:2224 +msgid "Kernel" +msgstr "Jądro" -#: ../src/ui/dialog/livepatheffect-editor.cpp:384 -#, fuzzy -msgid "Move path effect down" -msgstr "Usuń efekt ścieżki" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2224 +msgid "This matrix describes the convolve operation that is applied to the input image in order to calculate the pixel colors at the output. Different arrangements of values in this matrix result in various possible visual effects. An identity matrix would lead to a motion blur effect (parallel to the matrix diagonal) while a matrix filled with a constant non-zero value would lead to a common blur effect." +msgstr "Ta macierz opisuje operację skręcania stosowaną na obrazku wyjściowym, aby obliczyć piksele kolorów w obrazku wynikowym. Różne wartości w tej macierzy dają różne efekty wizualne. Na przykład macierz jednostkowa da efekt ruchomego rozmycia (równolegle do przekątnej macierzy) natomiast macierz wypełniona stałą, nie zerową wartością, da efekt zwykłego rozmycia." -#: ../src/ui/dialog/memory.cpp:94 -msgid "Heap" -msgstr "Stos" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2227 +msgid "After applying the kernelMatrix to the input image to yield a number, that number is divided by divisor to yield the final destination color value. A divisor that is the sum of all the matrix values tends to have an evening effect on the overall color intensity of the result." +msgstr "Numer uzyskany przez zastosowanie jądra macierzy do obrazu wejściowego jest dzielony przez dzielnik w celu uzyskania ostatecznej wartości koloru docelowego. Dzielnik, który jest sumą wszystkich wartości w macierzy, powoduje zwykle wyrównanie intensywności kolorów obrazu wynikowego." -#: ../src/ui/dialog/memory.cpp:95 -msgid "In Use" -msgstr "Używana" +#. TODO: svg spec: The default value is the sum of all values in kernelMatrix, with the exception that if the sum is zero, then the divisor is set to 1. +#: ../src/ui/dialog/filter-effects-dialog.cpp:2227 +msgid "Divisor" +msgstr "Dzielnik" -#. TRANSLATORS: "Slack" refers to memory which is in the heap but currently unused. -#. More typical usage is to call this memory "free" rather than "slack". -#: ../src/ui/dialog/memory.cpp:98 -msgid "Slack" -msgstr "Wolna" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2228 +msgid "Bias" +msgstr "Odchylenie" -#: ../src/ui/dialog/memory.cpp:99 -msgid "Total" -msgstr "Całkowita" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2228 +msgid "This value is added to each component. This is useful to define a constant value as the zero response of the filter." +msgstr "Ta wartość jest dodawana do każdego komponentu. Jest to przydatne dla zdefiniowania stałej wartości, która będzie zerową odpowiedzią filtru." -#: ../src/ui/dialog/memory.cpp:139 ../src/ui/dialog/memory.cpp:145 -#: ../src/ui/dialog/memory.cpp:152 ../src/ui/dialog/memory.cpp:184 -msgid "Unknown" -msgstr "Nieznane" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2229 +msgid "Determines how to extend the input image as necessary with color values so that the matrix operations can be applied when the kernel is positioned at or near the edge of the input image." +msgstr "Określa jak rozciągać obrazek początkowy z wartościami koloru, aby mogły być zastosowane operacje macierzowe, gdy jądro filtru jest usytuowane na lub blisko krawędzi tego obrazka." -#: ../src/ui/dialog/memory.cpp:165 -msgid "Combined" -msgstr "Połączone" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2229 +msgid "Edge Mode" +msgstr "Tryb krawędzi" -#: ../src/ui/dialog/memory.cpp:207 -msgid "Recalculate" -msgstr "Przelicz ponownie" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2230 +msgid "If set, the alpha channel won't be altered by this filter primitive." +msgstr "Jeśli opcja ta jest zaznaczona, kanał alfa nie będzie zmieniany przez ten efekt specjalny." -#: ../src/ui/dialog/messages.cpp:75 -msgid "Ready." -msgstr "Gotowe" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2230 +msgid "Preserve Alpha" +msgstr "Zachowaj krycie" -#: ../src/ui/dialog/messages.cpp:76 -msgid "" -"Enable log display by setting dialogs.debug 'redirect' attribute to 1 in " -"preferences.xml" -msgstr "" -"Włącz wyświetlanie dziennika ustawiając w pliku preferences.xml dla dialogs." -"debug atrybut \"redirect\" na 1" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2233 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2266 +msgid "Defines the color of the light source" +msgstr "Definiuje kolor źródła światła" -#: ../src/ui/dialog/ocaldialogs.cpp:77 -msgid "File" -msgstr "Plik" +#. default: white +#: ../src/ui/dialog/filter-effects-dialog.cpp:2233 +msgid "Diffuse Color" +msgstr "Kolor rozpraszania" -#: ../src/ui/dialog/ocaldialogs.cpp:175 -msgid "Username:" -msgstr "Nazwa użytkownika:" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2234 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2267 +msgid "Surface Scale" +msgstr "Skaluj powierzchnię" -#: ../src/ui/dialog/ocaldialogs.cpp:176 -msgid "Password:" -msgstr "Hasło:" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2234 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2267 +msgid "This value amplifies the heights of the bump map defined by the input alpha channel" +msgstr "Ta wartość wzmacnia wysokości mapowania wypukłości zdefiniowane przez początkowe wartości kanału alfa" -#: ../src/ui/dialog/ocaldialogs.cpp:402 -msgid "Error while reading the Open Clip Art RSS feed" -msgstr "Wystąpił błąd podczas czytania kanału RSS Open Clip Art" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2235 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2268 +msgid "Constant" +msgstr "Stała" -#: ../src/ui/dialog/ocaldialogs.cpp:440 -msgid "" -"Failed to receive the Open Clip Art Library RSS feed. Verify if the server " -"name is correct in Configuration->Import/Export (e.g.: openclipart.org)" -msgstr "" -"Nie udało się odebrać kanału RSS Open Clip Art Library. Proszę sprawdzić w " -"ustawieniach nazwę serwera (np: openclipart.org.)" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2235 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2268 +msgid "This constant affects the Phong lighting model." +msgstr "Ta stała oddziałuje na model oświetlenia Phonga." -#: ../src/ui/dialog/ocaldialogs.cpp:454 -msgid "Server supplied malformed Clip Art feed" -msgstr "Serwer dostarczył zniekształcony kanał Clip Art" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2236 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2270 +msgid "Kernel Unit Length" +msgstr "Długość jednostki jądra" -#: ../src/ui/dialog/ocaldialogs.cpp:545 -msgid "Search for:" -msgstr "Szukaj:" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2240 +msgid "This defines the intensity of the displacement effect." +msgstr "Definjuje intensywność efektu przesunięcia" -#: ../src/ui/dialog/ocaldialogs.cpp:546 -msgid "No files matched your search" -msgstr "Nie ma plików spełniających kryteria szukania" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2241 +msgid "Color component that controls the displacement in the X direction" +msgstr "Składnik koloru kontrolujący przemieszczanie w kierunku X" -#: ../src/ui/dialog/ocaldialogs.cpp:557 -msgid "Search" -msgstr "Szukaj" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2241 +msgid "X displacement" +msgstr "Przemieszczanie w kierunku X" -#: ../src/ui/dialog/ocaldialogs.cpp:574 -msgid "Files found" -msgstr "Znaleziono pliki" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2242 +msgid "Color component that controls the displacement in the Y direction" +msgstr "Składnik koloru kontrolujący przemieszczanie w kierunku Y" -#: ../src/ui/dialog/print.cpp:138 -msgid "Could not open temporary PNG for bitmap printing" -msgstr "Nie można otworzyć do wydruku tymczasowego pliku PNG" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2242 +msgid "Y displacement" +msgstr "Przemieszczanie w kierunku Y" -#: ../src/ui/dialog/print.cpp:173 -msgid "Could not set up Document" -msgstr "Nie można określić dokumentu" +#. default: black +#: ../src/ui/dialog/filter-effects-dialog.cpp:2245 +msgid "Flood Color" +msgstr "Kolor wypełnienia" -#: ../src/ui/dialog/print.cpp:177 -msgid "Failed to set CairoRenderContext" -msgstr "Nie udało się ustawić CairoRenderContext" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2245 +msgid "The whole filter region will be filled with this color." +msgstr "Cały filtrowany obszar zostanie wypełniony tym kolorem." -#. set up dialog title, based on document name -#: ../src/ui/dialog/print.cpp:217 -msgid "SVG Document" -msgstr "Dokument SVG" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2249 +msgid "Standard Deviation" +msgstr "Odchylenie standardowe" -#: ../src/ui/dialog/print.cpp:218 -msgid "Print" -msgstr "Drukuj" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2249 +msgid "The standard deviation for the blur operation." +msgstr "Standardowe odchylenie operacji rozmycia." -#. build custom preferences tab -#: ../src/ui/dialog/print.cpp:245 -msgid "Rendering" -msgstr "Renderowanie" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2255 +msgid "" +"Erode: performs \"thinning\" of input image.\n" +"Dilate: performs \"fattenning\" of input image." +msgstr "" +"Erozja: wykonuje \"pocienienie\" obrazka.\n" +"Dylatacja: wykonuje \"pogrubienie\" obrazka." -#: ../src/ui/dialog/scriptdialog.cpp:211 -msgid "_Execute Javascript" -msgstr "Wykonaj skrypt _Javascript" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2259 +msgid "Source of Image" +msgstr "Źródło obrazka" -#: ../src/ui/dialog/scriptdialog.cpp:213 -msgid "_Execute Python" -msgstr "Wykonaj skrypt _Python" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2262 +msgid "Delta X" +msgstr "Delta X" -#: ../src/ui/dialog/scriptdialog.cpp:215 -msgid "_Execute Ruby" -msgstr "Wykonaj skrypt _Ruby" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2262 +msgid "This is how far the input image gets shifted to the right" +msgstr "Jak daleko obrazek wejściowy zostaje odsunięty w prawo" -#: ../src/ui/dialog/scriptdialog.cpp:224 -msgid "Script" -msgstr "Skrypt" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2263 +msgid "Delta Y" +msgstr "Delta Y" -#: ../src/ui/dialog/scriptdialog.cpp:234 -msgid "Output" -msgstr "Wyjście" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2263 +msgid "This is how far the input image gets shifted downwards" +msgstr "Jak daleko obrazek wejściowy zostaje odsunięty w dół" -#: ../src/ui/dialog/scriptdialog.cpp:244 -msgid "Errors" -msgstr "Błędy" +#. default: white +#: ../src/ui/dialog/filter-effects-dialog.cpp:2266 +msgid "Specular Color" +msgstr "Kolor odbicia lustrzanego" -#. Dialog organization -#: ../src/ui/dialog/session-player.cpp:73 -msgid "Session file" -msgstr "Plik sesji" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2269 +msgid "Exponent for specular term, larger is more \"shiny\"." +msgstr "Wykładnik odblasków. Większa wartość - bardziej błyszczący odblask." -#: ../src/ui/dialog/session-player.cpp:74 -msgid "Playback controls" -msgstr "" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2278 +msgid "Indicates whether the filter primitive should perform a noise or turbulence function." +msgstr "Wskazuje, czy efekt specjalny powinien wykonać funkcję szumu lub zawirowania." -#: ../src/ui/dialog/session-player.cpp:75 -#, fuzzy -msgid "Message information" -msgstr "Informacja o użyciu pamięci" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2279 +msgid "Base Frequency" +msgstr "Częstotliwość bazowa" -#. Active session file display -#. fixme: Does this mean the active file for the session, or the file for the active session? -#. Please indicate which with a TRANSLATORS comment. -#: ../src/ui/dialog/session-player.cpp:85 -msgid "Active session file:" -msgstr "Aktywny plik sesji:" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2280 +msgid "Octaves" +msgstr "Oktawy" -#: ../src/ui/dialog/session-player.cpp:86 -msgid "Delay (milliseconds):" -msgstr "Opóźnienie (ms):" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2281 +msgid "Seed" +msgstr "Ziarno" -#. Unload/load buttons -#: ../src/ui/dialog/session-player.cpp:94 -msgid "Close file" -msgstr "Zamknij plik" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2281 +msgid "The starting number for the pseudo random number generator." +msgstr "Początkowa liczba dla pseudo losowego generatora liczb." -#: ../src/ui/dialog/session-player.cpp:95 -msgid "Open new file" -msgstr "Otwórz nowy plik" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2293 +msgid "Add filter primitive" +msgstr "Dodaj efekt specjalny" -#: ../src/ui/dialog/session-player.cpp:96 -msgid "Set delay" -msgstr "Ustaw opóźnienie" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2310 +msgid "The feBlend filter primitive provides 4 image blending modes: screen, multiply, darken and lighten." +msgstr "Efekt specjalny feBlend dostarcza 4 tryby mieszania obrazków - zwielokrotnianie, przesiewanie, rozjaśnianie i przyciemnianie" -#: ../src/ui/dialog/session-player.cpp:138 -msgid "Rewind" -msgstr "Powrót" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2314 +msgid "The feColorMatrix filter primitive applies a matrix transformation to colour of each rendered pixel. This allows for effects like turning object to grayscale, modifying colour saturation and changing colour hue." +msgstr "Efekt specjalny feColorMatrix stosuje przetworzenie macierzy do koloru każdego renderowanego piksela. Pozwala to efektom na włączenie dla obiektu skali szarości, modyfikowanie nasycenia i barwy koloru." -#: ../src/ui/dialog/session-player.cpp:139 -msgid "Go back one change" -msgstr "Powraca o jedną zmianę" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2318 +msgid "The feComponentTransfer filter primitive manipulates the input's color components (red, green, blue, and alpha) according to particular transfer functions, allowing operations like brightness and contrast adjustment, color balance, and thresholding." +msgstr "Efekt specjalny feComponentTransfer operuje źródłowymi komponentami koloru (czerwony, zielony, niebieski i krycie) odpowiednio do określonych funkcji transferu pozwalając na takie operacje jak ustawianie jasności i kontrastu, balansu kolorów i wartości progowych" -#: ../src/ui/dialog/session-player.cpp:140 -msgid "Pause" -msgstr "Pauza" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2322 +msgid "The feComposite filter primitive composites two images using one of the Porter-Duff blending modes or the aritmetic mode described in SVG standard. Porter-Duff blending modes are essentially logical operations between the corresponding pixel values of the images." +msgstr "Efekt specjalny feComposite łączy dwa obrazki używając jednego z trybów mieszania Portera-Duffa (przezroczystości) lub arytmetycznego trybu opisanego w standardzie SVG. Tryby mieszania Portera-Duffa są zasadniczo operacjami logicznymi pomiędzy odpowiednimi pikselami obrazków." -#: ../src/ui/dialog/session-player.cpp:141 -msgid "Go forward one change" -msgstr "Przechodzi do przodu o jedną zmianę" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2326 +msgid "The feConvolveMatrix lets you specify a Convolution to be applied on the image. Common effects created using convolution matrices are blur, sharpening, embossing and edge detection. Note that while gaussian blur can be created using this filter primitive, the special gaussian blur primitive is faster and resolution-independent." +msgstr "feConvolveMatrix pozwala określić skręcenie stosowane do obrazka. Wspólnymi efektami utworzonymi przy użyciu macierzy skręcenia są: rozmycie, wyostrzenie, płaskorzeźba i ujawnianie krawędzi. Przy pomocy tego filtru może być utworzone rozmycie gaussowskie, ale dedykowany filtr rozmycia gausowskiego jest szybszy i niezależny od rozdzielczości. " -#: ../src/ui/dialog/session-player.cpp:142 -msgid "Play" -msgstr "" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2330 +msgid "The feDiffuseLighting and feSpecularLighting filter primitives create \"embossed\" shadings. The input's alpha channel is used to provide depth information: higher opacity areas are raised toward the viewer and lower opacity areas recede away from the viewer." +msgstr "Efekty specjalne feDiffuseLighting i feSpecularLighting tworzą płaskorzeźbę. Kanał przezroczystości jest używany do osiągnięcia głębi. Większa przezroczystość jest ustawiana bliżej oglądającego, mniejsza dalej." -#: ../src/ui/dialog/session-player.cpp:177 -msgid "Open session file" -msgstr "Otwórz plik sesji" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2334 +msgid "The feDisplacementMap filter primitive displaces the pixels in the first input using the second input as a displacement map, that shows from how far the pixel should come from. Classical examples are whirl and pinch effects." +msgstr "Efekt specjalny feDisplacementMap wypiera piksele w pierwszym źródle używając drugiego źródła jako mapy wypierania, która pokazuje skąd piksel powinien być pobrany. Klasycznym przykładem takiego działania są efekty wiru i ściśnięcia." -#. #### begin left panel -#. ### begin notebook -#. ## begin mode page -#. # begin single scan -#. brightness -#: ../src/ui/dialog/tracedialog.cpp:396 -msgid "Brightness cutoff" -msgstr "Rozdzielanie jasności" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2338 +msgid "The feFlood filter primitive fills the region with a given color and opacity. It is usually used as an input to other filters to apply color to a graphic." +msgstr "Efekt specjalny feFlood wypełnia obszar zadanym kolorem i kryciem. Jest on zazwyczaj używany w początkowej fazie tworzenia grafiki i stanowi podstawę dla innych filtrów stosowanych do wprowadzania koloru do grafiki." -#: ../src/ui/dialog/tracedialog.cpp:400 -msgid "Trace by a given brightness level" -msgstr "Wektoryzacja w oparciu o jasność" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2342 +msgid "The feGaussianBlur filter primitive uniformly blurs its input. It is commonly used together with feOffset to create a drop shadow effect." +msgstr "Efekt specjalny feGaussianBlur wykonuje jednolite rozmycie. Jest on często używany z filtrem feOffset do tworzenia efektu cienia." -#: ../src/ui/dialog/tracedialog.cpp:408 -msgid "Brightness cutoff for black/white" -msgstr "Próg rozdzielenia czarny/biały" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2346 +msgid "The feImage filter primitive fills the region with an external image or another part of the document." +msgstr "Efekt specjalny feImage wypełnia obszar roboczy lub inną część dokumentu zewnętrznym obrazkiem." -#: ../src/ui/dialog/tracedialog.cpp:415 -msgid "Single scan: creates a path" -msgstr "Jeden przebieg: tworzy jedną ścieżkę" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2350 +msgid "The feMerge filter primitive composites several temporary images inside the filter primitive to a single image. It uses normal alpha compositing for this. This is equivalent to using several feBlend primitives in 'normal' mode or several feComposite primitives in 'over' mode." +msgstr "Efekt specjalny feMerge zbiera wewnątrz filtru kilka tymczasowych obrazków do użycia w obrazku końcowym. W tym celu używa on normalnej kompozycji przezroczystości. Można go używać zamiast wielokrotnego użycia filtru feBlend w trybie \"normal\" lub zamiast wielokrotnego użycia filtru feComposite w trybie \"over\"." -#. canny edge detection -#. TRANSLATORS: "Canny" is the name of the inventor of this edge detection method -#: ../src/ui/dialog/tracedialog.cpp:420 -msgid "Edge detection" -msgstr "Wykrywanie krawędzi" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2354 +msgid "The feMorphology filter primitive provides erode and dilate effects. For single-colour objects erode makes the object thinner and dilate makes it thicker." +msgstr "Efekt specjalny feMorphology dostarcza efekty erozji i pęcznienia. W obiektach jednokolorowych erozja pocienia obiekt, a pęcznienie pogrubia." + +#: ../src/ui/dialog/filter-effects-dialog.cpp:2358 +msgid "The feOffset filter primitive offsets the image by an user-defined amount. For example, this is useful for drop shadows, where the shadow is in a slightly different position than the actual object." +msgstr "Efekt specjalny feOffset przesuwa obrazek o zdefiniowaną przez użytkownika wielkość. Na przykład jest bardzo pomocny przy dodawaniu cieni, gdy cień jest niewiele odsunięty od obiektu." -#: ../src/ui/dialog/tracedialog.cpp:424 -msgid "Trace with optimal edge detection by J. Canny's algorithm" -msgstr "" -"Wektoryzacja z wykorzystaniem optymalnego wykrywania krawędzi metodą J." -"Canny'ego" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2362 +msgid "The feDiffuseLighting and feSpecularLighting filter primitives create \"embossed\" shadings. The input's alpha channel is used to provide depth information: higher opacity areas are raised toward the viewer and lower opacity areas recede away from the viewer." +msgstr "Efekty specjalne feDiffuseLighting i feSpecularLighting tworzą płaskorzeźbę. Kanał przezroczystości jest używany do osiągnięcia głębi. Większa przezroczystość jest ustawiana bliżej oglądającego, mniejsza dalej." -#: ../src/ui/dialog/tracedialog.cpp:441 -msgid "Brightness cutoff for adjacent pixels (determines edge thickness)" -msgstr "" -"Odcięcie jasności dla sąsiednich pikseli (decyduje o szerokości krawędzi)" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2366 +msgid "The feTile filter primitive tiles a region with its input graphic" +msgstr "Efekt specjalny feTile tworzy kafelkowy region ze wstawioną grafiką" -#. quantization -#. TRANSLATORS: Color Quantization: the process of reducing the number -#. of colors in an image by selecting an optimized set of representative -#. colors and then re-applying this reduced set to the original image. -#: ../src/ui/dialog/tracedialog.cpp:453 -msgid "Color quantization" -msgstr "Redukcja kolorów" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2370 +msgid "The feTurbulence filter primitive renders Perlin noise. This kind of noise is useful in simulating several nature phenomena like clouds, fire and smoke and in generating complex textures like marble or granite." +msgstr "Efekt specjalny feTurbulence renderuje szum Perlina. Ten rodzaj szumu jest użyteczny do symulacji różnych zjawisk natury jak chmury, ogień, dym oraz do generowania skomplikowanych tekstur takich jak marmur, czy granit." -#: ../src/ui/dialog/tracedialog.cpp:457 -msgid "Trace along the boundaries of reduced colors" -msgstr "Śledzenie wzdłuż obszarów granicznych redukowanych kolorów" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2388 +msgid "Duplicate filter primitive" +msgstr "Powiel efekt specjalny" -#: ../src/ui/dialog/tracedialog.cpp:465 -msgid "The number of reduced colors" -msgstr "Liczba zredukowanych kolorów" +#: ../src/ui/dialog/filter-effects-dialog.cpp:2441 +msgid "Set filter primitive attribute" +msgstr "Określ atrybut efektu specjalnego" -#: ../src/ui/dialog/tracedialog.cpp:467 -msgid "Colors:" -msgstr "Kolory:" +#: ../src/ui/dialog/inkscape-preferences.cpp:155 +msgid "Mouse" +msgstr "Mysz" -#. swap black and white -#: ../src/ui/dialog/tracedialog.cpp:473 -msgid "Invert image" -msgstr "Odwróć obrazek" +#: ../src/ui/dialog/inkscape-preferences.cpp:157 +msgid "Grab sensitivity:" +msgstr "Czułość chwytania:" -#: ../src/ui/dialog/tracedialog.cpp:478 -msgid "Invert black and white regions" -msgstr "Zamienia białe i czarne obszary" +#: ../src/ui/dialog/inkscape-preferences.cpp:157 +#: ../src/ui/dialog/inkscape-preferences.cpp:160 +#: ../src/ui/dialog/inkscape-preferences.cpp:176 +#: ../src/ui/dialog/inkscape-preferences.cpp:180 +#: ../src/ui/dialog/inkscape-preferences.cpp:190 +msgid "pixels" +msgstr "px" -#. # end single scan -#. # begin multiple scan -#: ../src/ui/dialog/tracedialog.cpp:487 -msgid "Brightness steps" -msgstr "Stopnie jasności" +#: ../src/ui/dialog/inkscape-preferences.cpp:158 +msgid "How close on the screen you need to be to an object to be able to grab it with mouse (in screen pixels)" +msgstr "Odległość kursora myszy od obiektu przy jakiej staje się możliwe oddziaływanie nim na obiekt (w pikselach ekranu)" -#: ../src/ui/dialog/tracedialog.cpp:491 -msgid "Trace the given number of brightness levels" -msgstr "Śledzenie określonej ilości stopni jasności" +#: ../src/ui/dialog/inkscape-preferences.cpp:160 +msgid "Click/drag threshold:" +msgstr "Próg kliknięcia/przeciągania:" -#: ../src/ui/dialog/tracedialog.cpp:498 -msgid "Scans:" -msgstr "Liczba przebiegów:" +#: ../src/ui/dialog/inkscape-preferences.cpp:161 +msgid "Maximum mouse drag (in screen pixels) which is considered a click, not a drag" +msgstr "Największa wartość przesunięcia myszy, po naciśnięciu przycisku, traktowana jeszcze jako kliknięcie, a nie przeciąganie (w pikselach ekranu)" -#: ../src/ui/dialog/tracedialog.cpp:501 -msgid "The desired number of scans" -msgstr "Żądana liczba przebiegów skanowania" +#: ../src/ui/dialog/inkscape-preferences.cpp:163 +msgid "Use pressure-sensitive tablet (requires restart)" +msgstr "Używaj tabletu (wymaga ponownego uruchomienia)" -#: ../src/ui/dialog/tracedialog.cpp:505 -msgid "Colors" -msgstr "Kolory" +#: ../src/ui/dialog/inkscape-preferences.cpp:165 +msgid "Use the capabilities of a tablet or other pressure-sensitive device. Disable this only if you have problems with the tablet (you can still use it as a mouse)" +msgstr "Po zaznaczeniu tej opcji i ponownym uruchomieniu programu można używać tabletu lub innego, opartego na technice rozróżniania czułości nacisku urządzenia. Opcję tę należy wyłączyć tylko, gdy występują problemy z używaniem tabletu. Po wyłączeniu tej opcji, tablet można nadal używać jako mysz." -#: ../src/ui/dialog/tracedialog.cpp:509 -msgid "Trace the given number of reduced colors" -msgstr "Śledzenie określonej ilości zredukowanych kolorów" +#: ../src/ui/dialog/inkscape-preferences.cpp:167 +msgid "Switch tool based on tablet device (requires restart)" +msgstr "Zmieniaj narzędzia tabletu (wymaga ponownego uruchomienia):" -#: ../src/ui/dialog/tracedialog.cpp:513 -msgid "Grays" -msgstr "Odcienie szarości" +#: ../src/ui/dialog/inkscape-preferences.cpp:169 +msgid "Change tool as different devices are used on the tablet (pen, eraser, mouse)" +msgstr "Zmienia różne narzędzia używane na tablecie (pióro, gumka, mysz)" -#: ../src/ui/dialog/tracedialog.cpp:517 -msgid "Same as Colors, but the result is converted to grayscale" -msgstr "Jak dla funkcji \"Kolory\", ale z końcową konwersją do skali szarości" +#: ../src/ui/dialog/inkscape-preferences.cpp:174 +msgid "Scrolling" +msgstr "Przewijanie" -#. TRANSLATORS: "Smooth" is a verb here -#: ../src/ui/dialog/tracedialog.cpp:522 -msgid "Smooth" -msgstr "Rozmycie" +#: ../src/ui/dialog/inkscape-preferences.cpp:176 +msgid "Mouse wheel scrolls by:" +msgstr "Skok kółka myszy przewija ekran o:" -#: ../src/ui/dialog/tracedialog.cpp:526 -msgid "Apply Gaussian blur to the bitmap before tracing" -msgstr "Przed wektoryzacją wykonuje na bitmapie rozmycie Gaussa" +#: ../src/ui/dialog/inkscape-preferences.cpp:177 +msgid "One mouse wheel notch scrolls by this distance in screen pixels (horizontally with Shift)" +msgstr "Jeden skok kółka myszy przewija ekran o określoną tutaj liczbę pikseli. Przewijanie w poziomie jest realizowane z wciśniętym klawiszem [Shift]." -#. TRANSLATORS: "Stack" is a verb here -#: ../src/ui/dialog/tracedialog.cpp:529 -msgid "Stack scans" -msgstr "Tworzenie stosu przebiegów" +#: ../src/ui/dialog/inkscape-preferences.cpp:178 +msgid "Ctrl+arrows" +msgstr "[ Ctrl + strzałki ]" -#: ../src/ui/dialog/tracedialog.cpp:532 -msgid "" -"Stack scans on top of one another (no gaps) instead of tiling (usually with " -"gaps)" -msgstr "" -"Nakładanie na siebie obszarów (brak prześwitów) zamiast złożenia wzdłuż " -"krawędzi (zwykle widoczne są prześwity)" +#: ../src/ui/dialog/inkscape-preferences.cpp:180 +msgid "Scroll by:" +msgstr "Przewijaj o:" -#: ../src/ui/dialog/tracedialog.cpp:535 -msgid "Remove background" -msgstr "Usuń tło" +#: ../src/ui/dialog/inkscape-preferences.cpp:181 +msgid "Pressing Ctrl+arrow key scrolls by this distance (in screen pixels)" +msgstr "Naciśnięcie klawiszy [ Ctrl + strzałka ] przewija obszar roboczy o określoną tutaj odległość (w pikselach ekranowych)" -#: ../src/ui/dialog/tracedialog.cpp:540 -msgid "Remove bottom (background) layer when done" -msgstr "Po zakończeniu usuwa dolną (tło) warstwę" +#: ../src/ui/dialog/inkscape-preferences.cpp:183 +msgid "Acceleration:" +msgstr "Przyspieszenie:" -#: ../src/ui/dialog/tracedialog.cpp:544 -msgid "Multiple scans: creates a group of paths" -msgstr "Wiele przebiegów - tworzy grupę ścieżek" +#: ../src/ui/dialog/inkscape-preferences.cpp:184 +msgid "Pressing and holding Ctrl+arrow will gradually speed up scrolling (0 for no acceleration)" +msgstr "Naciśnięcie i przytrzymanie klawiszy [ Ctrl + strzałka ] powoduje stopniowe przyspieszenie przewijania (0 - brak przyspieszania)" -#. ## begin option page -#. # potrace parameters -#: ../src/ui/dialog/tracedialog.cpp:559 -msgid "Suppress speckles" -msgstr "Tuszuj plamki" +#: ../src/ui/dialog/inkscape-preferences.cpp:185 +msgid "Autoscrolling" +msgstr "Przewijanie automatyczne" -#: ../src/ui/dialog/tracedialog.cpp:561 -msgid "Ignore small spots (speckles) in the bitmap" -msgstr "Pomija małe plamki (cętki) w bitmapie" +#: ../src/ui/dialog/inkscape-preferences.cpp:187 +msgid "Speed:" +msgstr "Prędkość:" -#: ../src/ui/dialog/tracedialog.cpp:569 -msgid "Speckles of up to this many pixels will be suppressed" -msgstr "Plamki powyżej określonej tutaj ilości pikseli będą tuszowane" +#: ../src/ui/dialog/inkscape-preferences.cpp:188 +msgid "How fast the canvas autoscrolls when you drag beyond canvas edge (0 to turn autoscroll off)" +msgstr "Szybkość automatycznego przewijania, gdy obiekt zostaje przeciągnięty poza obrzeże obszaru roboczego (0 – przewijanie wyłączone)" -#: ../src/ui/dialog/tracedialog.cpp:571 -msgid "Size:" -msgstr "Rozmiar" +#: ../src/ui/dialog/inkscape-preferences.cpp:190 +#: ../src/ui/dialog/tracedialog.cpp:410 +#: ../src/ui/dialog/tracedialog.cpp:443 +#: ../src/ui/dialog/tracedialog.cpp:586 +#: ../src/widgets/toolbox.cpp:6697 +msgid "Threshold:" +msgstr "Próg:" -#: ../src/ui/dialog/tracedialog.cpp:574 -msgid "Smooth corners" -msgstr "Wygładź narożniki" +#: ../src/ui/dialog/inkscape-preferences.cpp:191 +msgid "How far (in screen pixels) you need to be from the canvas edge to trigger autoscroll; positive is outside the canvas, negative is within the canvas" +msgstr "Odległość (w pikselach ekranu) od obrzeża obszaru roboczego, przy której uruchamiane jest automatyczne przewijanie. Wartość dodatnia oznacza położenie poza obszarem roboczym, ujemna wewnątrz." -#: ../src/ui/dialog/tracedialog.cpp:576 -msgid "Smooth out sharp corners of the trace" -msgstr "Wygładza ostre krawędzie ścieżki wektorowej" +#: ../src/ui/dialog/inkscape-preferences.cpp:192 +msgid "Left mouse button pans when Space is pressed" +msgstr "Przesuwaj obszar roboczy za pomocą klawisza spacji i lewego przycisku myszy" -#: ../src/ui/dialog/tracedialog.cpp:585 -msgid "Increase this to smooth corners more" -msgstr "Zwiększ wartość, aby bardziej wygładzić narożniki" +#: ../src/ui/dialog/inkscape-preferences.cpp:194 +msgid "When on, pressing and holding Space and dragging with left mouse button pans canvas (as in Adobe Illustrator). When off, Space temporarily switches to Selector tool (default)." +msgstr "Po naciśnięciu i przytrzymaniu klawsza spacji będzie można za pomocą lewego przycisku myszy wykonać przesuwanie obszaru roboczego (tak jak w programie Adobe Illustrator). Jeśli opcja nie zostanie zaznaczona klawisz spacji będzie przełączał tymczasowo do \"Wskaźnika\" (zachowanie domyślne)." -#: ../src/ui/dialog/tracedialog.cpp:589 -msgid "Optimize paths" -msgstr "Optymalizuj ścieżki" +#: ../src/ui/dialog/inkscape-preferences.cpp:195 +msgid "Mouse wheel zooms by default" +msgstr "Przybliżaj obszar roboczy za pomocą kółka myszy" -#: ../src/ui/dialog/tracedialog.cpp:592 -msgid "Try to optimize paths by joining adjacent Bezier curve segments" -msgstr "" -"Nastąpi próba optymalizacji ścieżek poprzez łączenie przylegających do " -"siebie segmentów krzywej Beziera" +#: ../src/ui/dialog/inkscape-preferences.cpp:197 +msgid "When on, mouse wheel zooms without Ctrl and scrolls canvas with Ctrl; when off, it zooms with Ctrl and scrolls without Ctrl." +msgstr "Kółko myszy będzie przybliżać/oddalać obszar roboczy, ze wciśniętym klawiszem [Ctrl] będzie przewijać obszar roboczy w pionie, a z klawiszem [Shift] w poziomie. Gdy opcja nie zostanie uaktywniona, kółko będzie przewijać obszar roboczy w pionie, a ze wciśniętym klawiszem [Ctrl] - przybliżać." -#: ../src/ui/dialog/tracedialog.cpp:600 -msgid "" -"Increase this to reduce the number of nodes in the trace by more aggressive " -"optimization" -msgstr "" -"Zwiększ wartość, aby poprzez intensywniejszą optymalizację, w tworzonej " -"krzywej wektorowej zredukować liczbę węzłów" +#. nudgedistance is limited to 1000 in select-context.cpp: use the same limit here +#: ../src/ui/dialog/inkscape-preferences.cpp:206 +msgid "Arrow keys move by:" +msgstr "Przesunięcie realizowane przez klawisze strzałek:" -#. ## end option page -#: ../src/ui/dialog/tracedialog.cpp:607 ../src/ui/dialog/tracedialog.cpp:613 -msgid "Options" -msgstr "Opcje" +#: ../src/ui/dialog/inkscape-preferences.cpp:207 +msgid "Pressing an arrow key moves selected object(s) or node(s) by this distance (in px units)" +msgstr "Naciśnięcie klawisza strzałki przesuwa zaznaczone obiekty lub węzeły o określoną tutaj wartość (w px)" -#. ### credits -#: ../src/ui/dialog/tracedialog.cpp:621 -msgid "Thanks to Peter Selinger, http://potrace.sourceforge.net" -msgstr "Podziękowania dla Petera Selingera, http://potrace.sourceforge.net" +#. defaultscale is limited to 1000 in select-context.cpp: use the same limit here +#: ../src/ui/dialog/inkscape-preferences.cpp:210 +msgid "> and < scale by:" +msgstr "Zmiana rozmiaru realizowana przez klawisze [ > ] i [ < ]:" -#: ../src/ui/dialog/tracedialog.cpp:623 -msgid "Credits" -msgstr "Podziękowania" +#: ../src/ui/dialog/inkscape-preferences.cpp:211 +msgid "Pressing > or < scales selection up or down by this increment (in px units)" +msgstr "Naciśnięcie klawisza [ > ] lub [ < ] odpowiednio, powiększa lub zmniejsza rozmiar zaznaczenia o określoną tutaj wartość (w px)" -#. #### begin right panel -#. ## SIOX -#: ../src/ui/dialog/tracedialog.cpp:637 -msgid "SIOX foreground selection" -msgstr "SIOX - wybór obszaru pierwszego planu" +#: ../src/ui/dialog/inkscape-preferences.cpp:213 +msgid "Inset/Outset by:" +msgstr "Przesunięcie do wewnątrz/na zewnątrz o:" -#: ../src/ui/dialog/tracedialog.cpp:640 -msgid "Cover the area you want to select as the foreground" -msgstr "Oznacza obszar jaki chcesz wybrać jako pierwszy plan" +#: ../src/ui/dialog/inkscape-preferences.cpp:214 +msgid "Inset and Outset commands displace the path by this distance (in px units)" +msgstr "Polecenia \"Przesunięcie do wewnątrz/na zewnątrz\" przesuwają ścieżkę o określoną tutaj wartość (w px)" -#. ## preview -#: ../src/ui/dialog/tracedialog.cpp:645 -msgid "Update" -msgstr "Aktualizuj" +#: ../src/ui/dialog/inkscape-preferences.cpp:215 +msgid "Compass-like display of angles" +msgstr "Wyświetlaj wartości kątów jak na kompasie" -#: ../src/ui/dialog/tracedialog.cpp:651 -msgid "" -"Preview the intermediate bitmap with the current settings, without actual " -"tracing" -msgstr "Podgląd bitmapy z aktualnymi ustawieniami, bez wektoryzacji" +#: ../src/ui/dialog/inkscape-preferences.cpp:217 +msgid "When on, angles are displayed with 0 at north, 0 to 360 range, positive clockwise; otherwise with 0 at east, -180 to 180 range, positive counterclockwise" +msgstr "Opcja aktywna - kąty będą mierzone w zakresie 0-360° rosnąco w kierunku zgodnym z ruchem wskazówek zegara rozpoczynając od kierunku północnego. Opcja nieaktywna - kąty będą mierzone w zakresie -180°-180° rosnąco w kierunku przeciwnym do ruchu wskazówek zegara rozpoczynając od kierunku wschodniego." -#: ../src/ui/dialog/tracedialog.cpp:655 -msgid "Preview" -msgstr "Podgląd" +#: ../src/ui/dialog/inkscape-preferences.cpp:223 +msgid "Rotation snaps every:" +msgstr "Zatrzymuj obrót co:" -#: ../src/ui/dialog/tracedialog.cpp:672 -msgid "Abort a trace in progress" -msgstr "Przerwij wektoryzację" +#: ../src/ui/dialog/inkscape-preferences.cpp:223 +msgid "degrees" +msgstr "stopni" -#: ../src/ui/dialog/tracedialog.cpp:676 -msgid "Execute the trace" -msgstr "Wykonaj wektoryzację" +#: ../src/ui/dialog/inkscape-preferences.cpp:224 +msgid "Rotating with Ctrl pressed snaps every that much degrees; also, pressing [ or ] rotates by this amount" +msgstr "Wykonując obracanie z wciśniętym klawiszem [Ctrl], obrót będzie następował o podaną tutaj wartość kąta; także naciśnięcie lub obrót o tę wartość" -#: ../src/ui/dialog/transformation.cpp:83 -#: ../src/ui/dialog/transformation.cpp:93 -msgid "_Horizontal" -msgstr "_Poziome" +#: ../src/ui/dialog/inkscape-preferences.cpp:226 +msgid "Zoom in/out by:" +msgstr "Powiększaj/pomniejszaj o:" -#: ../src/ui/dialog/transformation.cpp:83 -msgid "Horizontal displacement (relative) or position (absolute)" -msgstr "Przesunięcie poziome (względne) lub pozycja (bezwzględna)" +#: ../src/ui/dialog/inkscape-preferences.cpp:227 +msgid "Zoom tool click, +/- keys, and middle click zoom in and out by this multiplier" +msgstr "Narzędzia zmiany wielkości - klawisze [ +/- ] oraz środkowy przycisk myszy wykonują powiększenie/pomniejszenie widoku o ten mnożnik" -#: ../src/ui/dialog/transformation.cpp:85 -#: ../src/ui/dialog/transformation.cpp:95 -msgid "_Vertical" -msgstr "Pi_onowe" +#: ../src/ui/dialog/inkscape-preferences.cpp:233 +msgid "Show selection cue" +msgstr "Wyróżniaj zaznaczenie" -#: ../src/ui/dialog/transformation.cpp:85 -msgid "Vertical displacement (relative) or position (absolute)" -msgstr "Przesunięcie pionowe (względne) lub pozycja (bezwzględna)" +#: ../src/ui/dialog/inkscape-preferences.cpp:234 +msgid "Whether selected objects display a selection cue (the same as in selector)" +msgstr "Wyświetlanie wyróżnienia zaznaczonych obiektów" -#: ../src/ui/dialog/transformation.cpp:87 -msgid "_Width" -msgstr "_Szerokość" +#: ../src/ui/dialog/inkscape-preferences.cpp:240 +msgid "Enable gradient editing" +msgstr "Edytuj gradient na obiekcie" -#: ../src/ui/dialog/transformation.cpp:87 -msgid "Horizontal size (absolute or percentage of current)" -msgstr "Poziomy przyrost rozmiaru (bezwzględny lub procentowy aktualnego)" +#: ../src/ui/dialog/inkscape-preferences.cpp:241 +msgid "Whether selected objects display gradient editing controls" +msgstr "Wyświetlanie punktów kontrolnych edycji gradientu na zaznaczonych obiektach" -#: ../src/ui/dialog/transformation.cpp:89 -msgid "_Height" -msgstr "_Wysokość" +#: ../src/ui/dialog/inkscape-preferences.cpp:246 +msgid "Conversion to guides uses edges instead of bounding box" +msgstr "Podczas konwersji na prowadnice używaj krawędzi zamiast obramowania obiektu" -#: ../src/ui/dialog/transformation.cpp:89 -msgid "Vertical size (absolute or percentage of current)" -msgstr "Pionowy przyrost rozmiaru (bezwzględny lub procentowy aktualnego)" +#: ../src/ui/dialog/inkscape-preferences.cpp:247 +msgid "Converting an object to guides places these along the object's true edges (imitating the object's shape), not along the bounding box." +msgstr "Podczas konwersji obiektu na prowadnice, prowadnice będą umieszczane wzdłuż rzeczywistych krawędzi (imitacja kształtu obiektu), a nie wzdłuż obramowania" + +#: ../src/ui/dialog/inkscape-preferences.cpp:254 +msgid "Ctrl+click dot size:" +msgstr "[Ctrl + kliknięcie] - wielkość kropki:" + +#: ../src/ui/dialog/inkscape-preferences.cpp:254 +msgid "times current stroke width" +msgstr "krotność aktualnej szerokości konturu" + +#: ../src/ui/dialog/inkscape-preferences.cpp:255 +msgid "Size of dots created with Ctrl+click (relative to current stroke width)" +msgstr "Wielkość kropek utworzonych przy użyciu [Ctrl + kliknięcie] - relatywnie do aktualnej szerokości konturu" + +#: ../src/ui/dialog/inkscape-preferences.cpp:270 +msgid "No objects selected to take the style from." +msgstr "Nie wybrano obiektów do pobrania stylu" -#: ../src/ui/dialog/transformation.cpp:91 -msgid "A_ngle" -msgstr "_Kąt" +#: ../src/ui/dialog/inkscape-preferences.cpp:279 +msgid "More than one object selected. Cannot take style from multiple objects." +msgstr "Wybrano więcej niż jeden obiekt. Nie można pobrać stylu z wielu obiektów" -#: ../src/ui/dialog/transformation.cpp:91 -msgid "Rotation angle (positive = counterclockwise)" -msgstr "Kąt obrotu (dodatni = przeciwnie do ruchu wskazówek zegara)" +#: ../src/ui/dialog/inkscape-preferences.cpp:314 +msgid "Create new objects with:" +msgstr "Twórz nowe obiekty z zastosowaniem stylu:" -#: ../src/ui/dialog/transformation.cpp:93 -msgid "" -"Horizontal skew angle (positive = counterclockwise), or absolute " -"displacement, or percentage displacement" -msgstr "" -"Poziomy kąt pochylenia (dodatni = przeciwnie do ruchu wskazówek zegara), lub " -"bezwzględne przesunięcie, lub przesunięcie procentowe" +#: ../src/ui/dialog/inkscape-preferences.cpp:316 +msgid "Last used style" +msgstr "Ostatnio użyty styl" -#: ../src/ui/dialog/transformation.cpp:95 -msgid "" -"Vertical skew angle (positive = counterclockwise), or absolute displacement, " -"or percentage displacement" -msgstr "" -"Pionowy kąt pochylenia (dodatni = przeciwnie do ruchu wskazówek zegara), lub " -"bezwzględne przesunięcie, lub przesunięcie procentowe" +#: ../src/ui/dialog/inkscape-preferences.cpp:318 +msgid "Apply the style you last set on an object" +msgstr "Zostanie zastosowany ostatnio użyty styl dla tego typu obiektu" -#: ../src/ui/dialog/transformation.cpp:98 -msgid "Transformation matrix element A" -msgstr "Element A macierzy przekształcenia" +#: ../src/ui/dialog/inkscape-preferences.cpp:323 +msgid "This tool's own style:" +msgstr "Określony tutaj styl:" -#: ../src/ui/dialog/transformation.cpp:99 -msgid "Transformation matrix element B" -msgstr "Element B macierzy przekształcenia" +#: ../src/ui/dialog/inkscape-preferences.cpp:327 +msgid "Each tool may store its own style to apply to the newly created objects. Use the button below to set it." +msgstr "Każde narzędzie może zachowywać własny styl dla nowo tworzonych obiektów. Przycisk poniżej pozwala ustawić własny styl narzędzia." -#: ../src/ui/dialog/transformation.cpp:100 -msgid "Transformation matrix element C" -msgstr "Element C macierzy przekształcenia" +#: ../src/ui/dialog/inkscape-preferences.cpp:332 +msgid "Take from selection" +msgstr "Pobierz z zaznaczenia" -#: ../src/ui/dialog/transformation.cpp:101 -msgid "Transformation matrix element D" -msgstr "Element D macierzy przekształcenia" +#: ../src/ui/dialog/inkscape-preferences.cpp:336 +msgid "This tool's style of new objects" +msgstr "Styl tego narzędzia dla nowych obiektów" -#: ../src/ui/dialog/transformation.cpp:102 -msgid "Transformation matrix element E" -msgstr "Element E macierzy przekształcenia" +#: ../src/ui/dialog/inkscape-preferences.cpp:344 +msgid "Remember the style of the (first) selected object as this tool's style" +msgstr "Zapamiętuje styl pierwszego zaznaczonego obiektu jako domyślny styl dla tego narzędzia" -#: ../src/ui/dialog/transformation.cpp:103 -msgid "Transformation matrix element F" -msgstr "Element F macierzy przekształcenia" +#: ../src/ui/dialog/inkscape-preferences.cpp:349 +msgid "Tools" +msgstr "Narzędzia" -#: ../src/ui/dialog/transformation.cpp:105 -msgid "Rela_tive move" -msgstr "Przesunięcie względne" +#: ../src/ui/dialog/inkscape-preferences.cpp:352 +msgid "Bounding box to use:" +msgstr "Stosuj poniższy typ obramowania obiektu:" -#: ../src/ui/dialog/transformation.cpp:105 -msgid "" -"Add the specified relative displacement to the current position; otherwise, " -"edit the current absolute position directly" -msgstr "" -"Dodaj wybraną wartość przesunięcia względnego do aktualnej pozycji lub " -"bezpośrednio edytuj bezwzględną pozycję" +#: ../src/ui/dialog/inkscape-preferences.cpp:353 +msgid "Visual bounding box" +msgstr "Wizualne obramowanie obiektu" -#: ../src/ui/dialog/transformation.cpp:106 -msgid "Scale proportionally" -msgstr "Skaluj proporcjonalne" +#: ../src/ui/dialog/inkscape-preferences.cpp:355 +msgid "This bounding box includes stroke width, markers, filter margins, etc." +msgstr "Ten typ obramowania obiektu zawiera szerokość konturu, znaczniki, filtr marginesów itd." -#: ../src/ui/dialog/transformation.cpp:106 -msgid "Preserve the width/height ratio of the scaled objects" -msgstr "" -"Zachowuje proporcje pomiędzy szerokością i wysokością dla skalowanych " -"obiektów" +#: ../src/ui/dialog/inkscape-preferences.cpp:356 +msgid "Geometric bounding box" +msgstr "Geometryczne obramowanie obiektu" -#: ../src/ui/dialog/transformation.cpp:107 -msgid "Apply to each _object separately" -msgstr "Zastosuj osobno dla każdego obiektu" +#: ../src/ui/dialog/inkscape-preferences.cpp:358 +msgid "This bounding box includes only the bare path" +msgstr "Ten typ obramowania obiektu zawiera tylko gołą ścieżkę" -#: ../src/ui/dialog/transformation.cpp:107 -msgid "" -"Apply the scale/rotate/skew to each selected object separately; otherwise, " -"transform the selection as a whole" -msgstr "" -"Wykonuje skalowanie/obrot/pochylenie osobno dla każdego z zaznaczonych " -"obiektów, w przeciwnym razie zaznaczenie jest przekształcane jako całość" +#: ../src/ui/dialog/inkscape-preferences.cpp:360 +msgid "Conversion to guides:" +msgstr "Konwersja na prowadnice" -#: ../src/ui/dialog/transformation.cpp:108 -msgid "Edit c_urrent matrix" -msgstr "Edycja macierzy istniejącego przekształcenia" +#: ../src/ui/dialog/inkscape-preferences.cpp:361 +msgid "Keep objects after conversion to guides" +msgstr "Zachowaj obiekty po konwersji na prowadnice" -#: ../src/ui/dialog/transformation.cpp:108 -msgid "" -"Edit the current transform= matrix; otherwise, post-multiply transform= by " -"this matrix" -msgstr "" -"Jeśli opcja jest zaznaczona, edytowana jest macierz całego istniejącego " -"przekształcenia obiektu, w przeciwnym razie istniejące przekształcenie " -"zostanie pomnożone przez nową macierz" +#: ../src/ui/dialog/inkscape-preferences.cpp:363 +msgid "When converting an object to guides, don't delete the object after the conversion." +msgstr "Po zakończeniu konwersji obiektu na prowadnice obiekt nie będzie usuwany" -#: ../src/ui/dialog/transformation.cpp:118 -msgid "_Move" -msgstr "_Przesuń" +#: ../src/ui/dialog/inkscape-preferences.cpp:364 +msgid "Treat groups as a single object" +msgstr "Traktuj grupy jak pojedynczy obiekt" -#: ../src/ui/dialog/transformation.cpp:121 -msgid "_Scale" -msgstr "_Skaluj" +#: ../src/ui/dialog/inkscape-preferences.cpp:366 +msgid "Treat groups as a single object during conversion to guides rather than converting each child separately." +msgstr "Podczas konwersji na prowadnice cała grupa będzie przekształcana jak pojedynczy obiekt, zamiast przekształcania każdego elementu grupy osobno." -#: ../src/ui/dialog/transformation.cpp:124 -msgid "_Rotate" -msgstr "_Obróć" +#: ../src/ui/dialog/inkscape-preferences.cpp:368 +msgid "Width is in absolute units" +msgstr "Szerokość w jednostkach bezwzględnych" -#: ../src/ui/dialog/transformation.cpp:127 -msgid "Ske_w" -msgstr "Po_chyl" +#: ../src/ui/dialog/inkscape-preferences.cpp:369 +msgid "Select new path" +msgstr "Zaznaczaj nową ścieżkę" -#: ../src/ui/dialog/transformation.cpp:130 -msgid "Matri_x" -msgstr "_Macierz" +#: ../src/ui/dialog/inkscape-preferences.cpp:370 +msgid "Don't attach connectors to text objects" +msgstr "Nie prowadź łączników do obiektów tekstowych" -#: ../src/ui/dialog/transformation.cpp:153 -msgid "Reset the values on the current tab to defaults" -msgstr "Zresetuj wartości w aktywnej karcie do wartości domyślnych" +#. Selector +#: ../src/ui/dialog/inkscape-preferences.cpp:373 +msgid "Selector" +msgstr "Wskaźnik" -#: ../src/ui/dialog/transformation.cpp:160 -msgid "Apply transformation to selection" -msgstr "Zastosuj przekształcenie do zaznaczenia" +#: ../src/ui/dialog/inkscape-preferences.cpp:376 +msgid "When transforming, show:" +msgstr "Podczas przekształcania wyświetlaj:" -#: ../src/ui/dialog/transformation.cpp:842 -msgid "Edit transformation matrix" -msgstr "Edytuj macierz przekształcenia" +#: ../src/ui/dialog/inkscape-preferences.cpp:377 +msgid "Objects" +msgstr "Obiekty" -#: ../src/ui/dialog/whiteboard-connect.cpp:44 -msgid "_Use SSL" -msgstr "_Użyj SSL" +#: ../src/ui/dialog/inkscape-preferences.cpp:379 +msgid "Show the actual objects when moving or transforming" +msgstr "Wyświetla obiekty podczas ich przemieszczania lub przekształcania" -#: ../src/ui/dialog/whiteboard-connect.cpp:44 -msgid "_Register" -msgstr "_Rejestruj" +#: ../src/ui/dialog/inkscape-preferences.cpp:380 +msgid "Box outline" +msgstr "Tylko obramowanie obiektów" -#. Construct dialog interface -#: ../src/ui/dialog/whiteboard-connect.cpp:75 -msgid "_Server:" -msgstr "_Serwer:" +#: ../src/ui/dialog/inkscape-preferences.cpp:382 +msgid "Show only a box outline of the objects when moving or transforming" +msgstr "Podczas przemieszczania lub przekształcania obiektów wyświetla tylko ich obramowanie" -#: ../src/ui/dialog/whiteboard-connect.cpp:76 -msgid "_Username:" -msgstr "Nazwa _użytkownika:" +#: ../src/ui/dialog/inkscape-preferences.cpp:383 +msgid "Per-object selection cue:" +msgstr "Wyróżniaj obiekty wewnątrz zaznaczenia:" -#: ../src/ui/dialog/whiteboard-connect.cpp:77 -msgid "_Password:" -msgstr "_Hasło:" +#: ../src/ui/dialog/inkscape-preferences.cpp:386 +msgid "No per-object selection indication" +msgstr "Obiekty wewnątrz zaznaczenia nie będą wyróżniane" -#: ../src/ui/dialog/whiteboard-connect.cpp:78 -msgid "P_ort:" -msgstr "P_ort:" +#: ../src/ui/dialog/inkscape-preferences.cpp:387 +msgid "Mark" +msgstr "Uchwyt" -#. Buttons -#: ../src/ui/dialog/whiteboard-connect.cpp:113 -msgid "Connect" -msgstr "Połącz" +#: ../src/ui/dialog/inkscape-preferences.cpp:389 +msgid "Each selected object has a diamond mark in the top left corner" +msgstr "W lewym górnym rogu każdego zaznaczonego obiektu będzie wyświetlany uchwyt w kształcie rombu" -#: ../src/ui/dialog/whiteboard-connect.cpp:144 -msgid "Establishing connection to Jabber server %1" -msgstr "Ustanawianie połączenia z serwerem Jabbera %1" +#: ../src/ui/dialog/inkscape-preferences.cpp:390 +msgid "Box" +msgstr "Obramowanie" -#: ../src/ui/dialog/whiteboard-connect.cpp:171 -#: ../src/ui/dialog/whiteboard-connect.cpp:216 -#: ../src/ui/dialog/whiteboard-connect.cpp:254 -msgid "Failed to establish connection to Jabber server %1" -msgstr "Nie udało się ustanowić połączenia z serwerem Jabbera %1" +#: ../src/ui/dialog/inkscape-preferences.cpp:392 +msgid "Each selected object displays its bounding box" +msgstr "Każdy z zaznaczonych obiektów będzie otoczony obramowaniem" -#: ../src/ui/dialog/whiteboard-connect.cpp:209 -msgid "Establishing connection to Jabber server %1 as user %2" -msgstr "Ustanowiono połączenie z serwerem Jabbera %1 jako %2" +#. Node +#: ../src/ui/dialog/inkscape-preferences.cpp:395 +msgid "Node" +msgstr "Edycja węzłów" -#: ../src/ui/dialog/whiteboard-connect.cpp:221 -msgid "Authentication failed on Jabber server %1 as %2" -msgstr "" -"Autoryzacja na serwerze Jabbera %1 jako %2 się nie powiodła" +#: ../src/ui/dialog/inkscape-preferences.cpp:398 +msgid "Path outline:" +msgstr "Ścieżka konturu:" -#: ../src/ui/dialog/whiteboard-connect.cpp:226 -#: ../src/ui/dialog/whiteboard-connect.cpp:264 -msgid "SSL initialization failed when connecting to Jabber server %1" -msgstr "" -"Nie udało się zainicjować obsługi SSL w trakcie połączenia z serwerem " -"Jabbera %1" +#: ../src/ui/dialog/inkscape-preferences.cpp:399 +#: ../src/ui/dialog/inkscape-preferences.cpp:400 +msgid "Path outline color" +msgstr "Kolor ścieżki konturu" -#: ../src/ui/dialog/whiteboard-connect.cpp:232 -#: ../src/ui/dialog/whiteboard-connect.cpp:270 -msgid "Connected to Jabber server %1 as %2" -msgstr "Połączono z serwerem Jabbera %1 jako %2" +#: ../src/ui/dialog/inkscape-preferences.cpp:400 +msgid "Selects the color used for showing the path outline." +msgstr "Wybierz kolor w jakim będzie wyświetlana ścieżka konturui" -#: ../src/ui/dialog/whiteboard-connect.cpp:259 -msgid "Registration failed on Jabber server %1 as %2" -msgstr "" -"Nie udało się zarejestrować na serwerze Jabbera %1 jako %2" +#: ../src/ui/dialog/inkscape-preferences.cpp:401 +msgid "Path outline flash on mouse-over" +msgstr "Migocz konturem ścieżki" -#. Construct labels -#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:75 -msgid "Chatroom _name:" -msgstr "_Nazwa pokoju rozmów:" +#: ../src/ui/dialog/inkscape-preferences.cpp:402 +msgid "When hovering over a path, briefly flash its outline." +msgstr "Kontur ścieżki po umieszczeniu nad ścieżką wskażnika myszy będzie migotał" -#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:76 -msgid "Chatroom _server:" -msgstr "_Serwer pokoju rozmów:" +#: ../src/ui/dialog/inkscape-preferences.cpp:404 +msgid "Flash time" +msgstr "Czas wyświetlania konturu" -#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:77 -msgid "Chatroom _password:" -msgstr "_Hasło pokoju rozmów:" +#: ../src/ui/dialog/inkscape-preferences.cpp:404 +msgid "Specifies how long the path outline will be visible after a mouse-over (in milliseconds). Specify 0 to have the outline shown until mouse leaves the path." +msgstr "Określa, jak długo obramowanie ścieżki będzie widoczne po umieszczeniu nad nim wskaźnika myszy (w ms). Aby obramowanie ścieżki było wyświetlane do momentu przesunięcia wskaźnika myszy poza obramowanie, należy wstawić wartość 0." -#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:78 -#, fuzzy -msgid "Chatroom _handle:" -msgstr "_Nazwa pokoju rozmów" +#. Tweak +#: ../src/ui/dialog/inkscape-preferences.cpp:407 +#: ../src/verbs.cpp:2500 +msgid "Tweak" +msgstr "Udoskonalanie" -#. Button setup and callback registration -#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:102 -msgid "Connect to chatroom" -msgstr "Połącz z pokojem rozmów" +#: ../src/ui/dialog/inkscape-preferences.cpp:408 +#, fuzzy +msgid "Paint objects with:" +msgstr "Twórz nowe obiekty z zastosowaniem stylu:" -#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:137 -msgid "Synchronizing with chatroom %1@%2 using the handle %3" -msgstr "" -"Synchronizowanie z pokojem rozmów %1@%2 używając nazwy %3" +#. Shapes +#: ../src/ui/dialog/inkscape-preferences.cpp:418 +msgid "Shapes" +msgstr "Kształty" -#. Construct dialog interface -#: ../src/ui/dialog/whiteboard-sharewithuser.cpp:76 -msgid "_User's Jabber ID:" -msgstr "ID Jabbera _użytkownika" +#. Pencil +#: ../src/ui/dialog/inkscape-preferences.cpp:446 +#: ../src/verbs.cpp:2512 +msgid "Pencil" +msgstr "Ołówek" -#. Buttons -#: ../src/ui/dialog/whiteboard-sharewithuser.cpp:80 -msgid "_Invite user" -msgstr "_Zaproś" +#. Pen +#: ../src/ui/dialog/inkscape-preferences.cpp:452 +#: ../src/verbs.cpp:2514 +msgid "Pen" +msgstr "Pióro" -#: ../src/ui/dialog/whiteboard-sharewithuser.cpp:81 -msgid "_Cancel" -msgstr "_Anuluj" +#. Calligraphy +#: ../src/ui/dialog/inkscape-preferences.cpp:458 +#: ../src/verbs.cpp:2516 +msgid "Calligraphy" +msgstr "Kaligrafia" -#: ../src/ui/dialog/whiteboard-sharewithuser.cpp:92 -msgid "Buddy List" -msgstr "Lista znajomych" +#: ../src/ui/dialog/inkscape-preferences.cpp:462 +msgid "If on, pen width is in absolute units (px) independent of zoom; otherwise pen width depends on zoom so that it looks the same at any zoom" +msgstr "Szerokość linii pióra - niezależnie od powiększenia - będzie wyrażona w jednostkach absolutnych (px). Jeśli jest nieaktywna - szerokość będzie zależała od powiększenia i będzie wyglądała tak samo w każdym powiększeniu." -#: ../src/ui/dialog/whiteboard-sharewithuser.cpp:181 -msgid "Sending whiteboard invitation to %1" -msgstr "Wysyłanie zaproszenia do %1" +#: ../src/ui/dialog/inkscape-preferences.cpp:464 +msgid "If on, each newly created object will be selected (deselecting previous selection)" +msgstr "Każdy utworzony obiekt będzie zaznaczony; poprzednie zaznaczenie zostanie odznaczone" -#. FIXME: strings are replaced by placeholders, NOT to be translated until the code is enabled -#. See http://sourceforge.net/mailarchive/message.php?msg_id=11746016 for details -#. File menu -#. Edit menu -#. View menu -#. Layer menu -#. Object menu -#. Path menu -#. add(Gtk::StockItem(CLEANUP, _("PLACEHOLDER, do not translate"))); (using Gtk::Stock::CLEAR) -#. Text menu -#. About menu -#. Tools toolbox -#. Select Tool controls -#. Node Tool controls -#. Calligraphy Tool controls -#. Session playback controls -#: ../src/ui/stock-items.cpp:31 ../src/ui/stock-items.cpp:32 -#: ../src/ui/stock-items.cpp:33 ../src/ui/stock-items.cpp:34 -#: ../src/ui/stock-items.cpp:35 ../src/ui/stock-items.cpp:36 -#: ../src/ui/stock-items.cpp:37 ../src/ui/stock-items.cpp:38 -#: ../src/ui/stock-items.cpp:39 ../src/ui/stock-items.cpp:40 -#: ../src/ui/stock-items.cpp:41 ../src/ui/stock-items.cpp:42 -#: ../src/ui/stock-items.cpp:45 ../src/ui/stock-items.cpp:46 -#: ../src/ui/stock-items.cpp:47 ../src/ui/stock-items.cpp:48 -#: ../src/ui/stock-items.cpp:49 ../src/ui/stock-items.cpp:50 -#: ../src/ui/stock-items.cpp:51 ../src/ui/stock-items.cpp:52 -#: ../src/ui/stock-items.cpp:53 ../src/ui/stock-items.cpp:54 -#: ../src/ui/stock-items.cpp:55 ../src/ui/stock-items.cpp:56 -#: ../src/ui/stock-items.cpp:57 ../src/ui/stock-items.cpp:58 -#: ../src/ui/stock-items.cpp:61 ../src/ui/stock-items.cpp:62 -#: ../src/ui/stock-items.cpp:63 ../src/ui/stock-items.cpp:64 -#: ../src/ui/stock-items.cpp:65 ../src/ui/stock-items.cpp:66 -#: ../src/ui/stock-items.cpp:67 ../src/ui/stock-items.cpp:68 -#: ../src/ui/stock-items.cpp:69 ../src/ui/stock-items.cpp:70 -#: ../src/ui/stock-items.cpp:71 ../src/ui/stock-items.cpp:72 -#: ../src/ui/stock-items.cpp:73 ../src/ui/stock-items.cpp:74 -#: ../src/ui/stock-items.cpp:75 ../src/ui/stock-items.cpp:76 -#: ../src/ui/stock-items.cpp:77 ../src/ui/stock-items.cpp:78 -#: ../src/ui/stock-items.cpp:79 ../src/ui/stock-items.cpp:80 -#: ../src/ui/stock-items.cpp:81 ../src/ui/stock-items.cpp:82 -#: ../src/ui/stock-items.cpp:83 ../src/ui/stock-items.cpp:84 -#: ../src/ui/stock-items.cpp:85 ../src/ui/stock-items.cpp:86 -#: ../src/ui/stock-items.cpp:87 ../src/ui/stock-items.cpp:88 -#: ../src/ui/stock-items.cpp:91 ../src/ui/stock-items.cpp:92 -#: ../src/ui/stock-items.cpp:93 ../src/ui/stock-items.cpp:94 -#: ../src/ui/stock-items.cpp:95 ../src/ui/stock-items.cpp:96 -#: ../src/ui/stock-items.cpp:97 ../src/ui/stock-items.cpp:98 -#: ../src/ui/stock-items.cpp:99 ../src/ui/stock-items.cpp:100 -#: ../src/ui/stock-items.cpp:101 ../src/ui/stock-items.cpp:102 -#: ../src/ui/stock-items.cpp:103 ../src/ui/stock-items.cpp:104 -#: ../src/ui/stock-items.cpp:107 ../src/ui/stock-items.cpp:108 -#: ../src/ui/stock-items.cpp:109 ../src/ui/stock-items.cpp:110 -#: ../src/ui/stock-items.cpp:111 ../src/ui/stock-items.cpp:112 -#: ../src/ui/stock-items.cpp:113 ../src/ui/stock-items.cpp:114 -#: ../src/ui/stock-items.cpp:115 ../src/ui/stock-items.cpp:116 -#: ../src/ui/stock-items.cpp:117 ../src/ui/stock-items.cpp:118 -#: ../src/ui/stock-items.cpp:119 ../src/ui/stock-items.cpp:120 -#: ../src/ui/stock-items.cpp:121 ../src/ui/stock-items.cpp:122 -#: ../src/ui/stock-items.cpp:123 ../src/ui/stock-items.cpp:124 -#: ../src/ui/stock-items.cpp:125 ../src/ui/stock-items.cpp:126 -#: ../src/ui/stock-items.cpp:129 ../src/ui/stock-items.cpp:130 -#: ../src/ui/stock-items.cpp:131 ../src/ui/stock-items.cpp:132 -#: ../src/ui/stock-items.cpp:133 ../src/ui/stock-items.cpp:134 -#: ../src/ui/stock-items.cpp:135 ../src/ui/stock-items.cpp:136 -#: ../src/ui/stock-items.cpp:137 ../src/ui/stock-items.cpp:138 -#: ../src/ui/stock-items.cpp:139 ../src/ui/stock-items.cpp:140 -#: ../src/ui/stock-items.cpp:141 ../src/ui/stock-items.cpp:142 -#: ../src/ui/stock-items.cpp:143 ../src/ui/stock-items.cpp:144 -#: ../src/ui/stock-items.cpp:145 ../src/ui/stock-items.cpp:149 -#: ../src/ui/stock-items.cpp:150 ../src/ui/stock-items.cpp:151 -#: ../src/ui/stock-items.cpp:152 ../src/ui/stock-items.cpp:155 -#: ../src/ui/stock-items.cpp:156 ../src/ui/stock-items.cpp:157 -#: ../src/ui/stock-items.cpp:160 ../src/ui/stock-items.cpp:161 -#: ../src/ui/stock-items.cpp:162 ../src/ui/stock-items.cpp:163 -#: ../src/ui/stock-items.cpp:164 ../src/ui/stock-items.cpp:165 -#: ../src/ui/stock-items.cpp:166 ../src/ui/stock-items.cpp:167 -#: ../src/ui/stock-items.cpp:168 ../src/ui/stock-items.cpp:169 -#: ../src/ui/stock-items.cpp:170 ../src/ui/stock-items.cpp:171 -#: ../src/ui/stock-items.cpp:174 ../src/ui/stock-items.cpp:175 -#: ../src/ui/stock-items.cpp:176 ../src/ui/stock-items.cpp:177 -#: ../src/ui/stock-items.cpp:180 ../src/ui/stock-items.cpp:181 -#: ../src/ui/stock-items.cpp:182 ../src/ui/stock-items.cpp:183 -#: ../src/ui/stock-items.cpp:184 ../src/ui/stock-items.cpp:185 -#: ../src/ui/stock-items.cpp:186 ../src/ui/stock-items.cpp:187 -#: ../src/ui/stock-items.cpp:188 ../src/ui/stock-items.cpp:189 -#: ../src/ui/stock-items.cpp:190 ../src/ui/stock-items.cpp:193 -#: ../src/ui/stock-items.cpp:194 ../src/ui/stock-items.cpp:197 -#: ../src/ui/stock-items.cpp:198 ../src/ui/stock-items.cpp:199 -#: ../src/ui/stock-items.cpp:200 ../src/ui/stock-items.cpp:201 -#: ../src/ui/view/edit-widget.cpp:343 ../src/ui/view/edit-widget.cpp:348 -#: ../src/ui/view/edit-widget.cpp:356 ../src/ui/view/edit-widget.cpp:361 -#: ../src/ui/view/edit-widget.cpp:366 ../src/ui/view/edit-widget.cpp:371 -#: ../src/ui/view/edit-widget.cpp:376 ../src/ui/view/edit-widget.cpp:381 -#: ../src/ui/view/edit-widget.cpp:394 ../src/ui/view/edit-widget.cpp:399 -#: ../src/ui/view/edit-widget.cpp:413 ../src/ui/view/edit-widget.cpp:417 -#: ../src/ui/view/edit-widget.cpp:421 ../src/ui/view/edit-widget.cpp:425 -#: ../src/ui/view/edit-widget.cpp:429 ../src/ui/view/edit-widget.cpp:433 -#: ../src/ui/view/edit-widget.cpp:447 ../src/ui/view/edit-widget.cpp:451 -#: ../src/ui/view/edit-widget.cpp:455 ../src/ui/view/edit-widget.cpp:486 -#: ../src/ui/view/edit-widget.cpp:495 ../src/ui/view/edit-widget.cpp:499 -#: ../src/ui/view/edit-widget.cpp:503 ../src/ui/view/edit-widget.cpp:507 -#: ../src/ui/view/edit-widget.cpp:511 ../src/ui/view/edit-widget.cpp:515 -#: ../src/ui/view/edit-widget.cpp:519 ../src/ui/view/edit-widget.cpp:523 -#: ../src/ui/view/edit-widget.cpp:527 ../src/ui/view/edit-widget.cpp:531 -#: ../src/ui/view/edit-widget.cpp:535 ../src/ui/view/edit-widget.cpp:632 -#: ../src/ui/view/edit-widget.cpp:644 ../src/ui/view/edit-widget.cpp:648 -#: ../src/ui/view/edit-widget.cpp:652 ../src/ui/view/edit-widget.cpp:656 -#: ../src/ui/view/edit-widget.cpp:660 ../src/ui/view/edit-widget.cpp:664 -#: ../src/ui/view/edit-widget.cpp:668 ../src/ui/view/edit-widget.cpp:672 -#: ../src/ui/view/edit-widget.cpp:676 ../src/ui/view/edit-widget.cpp:680 -#: ../src/ui/view/edit-widget.cpp:684 ../src/ui/view/edit-widget.cpp:688 -#: ../src/ui/view/edit-widget.cpp:692 ../src/ui/view/edit-widget.cpp:696 -#: ../src/ui/view/edit-widget.cpp:700 ../src/ui/view/edit-widget.cpp:704 -#: ../src/ui/view/edit-widget.cpp:709 ../src/ui/view/edit-widget.cpp:715 -#: ../src/ui/view/edit-widget.cpp:719 ../src/ui/view/edit-widget.cpp:769 -#: ../src/ui/view/edit-widget.cpp:774 ../src/ui/view/edit-widget.cpp:810 -#: ../src/ui/view/edit-widget.cpp:815 ../src/ui/view/edit-widget.cpp:820 -#: ../src/ui/view/edit-widget.cpp:824 ../src/ui/view/edit-widget.cpp:828 -#: ../src/ui/view/edit-widget.cpp:832 ../src/ui/view/edit-widget.cpp:836 -#: ../src/ui/view/edit-widget.cpp:840 ../src/ui/view/edit-widget.cpp:844 -#: ../src/ui/view/edit-widget.cpp:848 ../src/ui/view/edit-widget.cpp:852 -#: ../src/ui/view/edit-widget.cpp:856 ../src/ui/view/edit-widget.cpp:861 -#: ../src/ui/view/edit-widget.cpp:865 ../src/ui/view/edit-widget.cpp:869 -#: ../src/ui/view/edit-widget.cpp:873 ../src/ui/view/edit-widget.cpp:878 -#: ../src/ui/view/edit-widget.cpp:882 ../src/ui/view/edit-widget.cpp:886 -#: ../src/ui/view/edit-widget.cpp:890 ../src/ui/view/edit-widget.cpp:894 -#: ../src/ui/view/edit-widget.cpp:898 ../src/ui/view/edit-widget.cpp:902 -#: ../src/ui/view/edit-widget.cpp:906 ../src/ui/view/edit-widget.cpp:910 -#: ../src/ui/view/edit-widget.cpp:914 ../src/ui/view/edit-widget.cpp:918 -#: ../src/ui/view/edit-widget.cpp:1003 -msgid "PLACEHOLDER, do not translate" -msgstr "-" +#. Paint Bucket +#: ../src/ui/dialog/inkscape-preferences.cpp:466 +#: ../src/verbs.cpp:2528 +msgid "Paint Bucket" +msgstr "Wypełnianie" -#: ../src/ui/view/edit-widget.cpp:1062 ../src/widgets/desktop-widget.cpp:381 -msgid "Zoom drawing if window size changes" -msgstr "Dopasowuje rozmiar całego rysunku do okna" +#. Eraser +#: ../src/ui/dialog/inkscape-preferences.cpp:471 +#: ../src/verbs.cpp:2532 +msgid "Eraser" +msgstr "Gumka" -#: ../src/ui/view/edit-widget.cpp:1083 ../src/widgets/desktop-widget.cpp:510 -msgid "Cursor coordinates" -msgstr "Współrzędne kursora" +#. LPETool +#: ../src/ui/dialog/inkscape-preferences.cpp:475 +#: ../src/verbs.cpp:2534 +msgid "LPE Tool" +msgstr "Narzędzie LPE" -#. display the initial welcome message in the statusbar -#: ../src/ui/view/edit-widget.cpp:1100 ../src/widgets/desktop-widget.cpp:558 -msgid "" -"Welcome to Inkscape! Use shape or freehand tools to create objects; " -"use selector (arrow) to move or transform them." -msgstr "" -"Witaj w programie Inkscape! Wybierz z przybornika narzędzie do " -"rysowania lub użyj wskaźnika (strzałki), aby przesuwać lub przekształcać " -"obiekty." +#. Gradient +#: ../src/ui/dialog/inkscape-preferences.cpp:485 +#: ../src/verbs.cpp:2520 +msgid "Gradient" +msgstr "Gradient" -#: ../src/ui/view/edit-widget.cpp:1211 ../src/widgets/desktop-widget.cpp:844 -#, c-format -msgid "" -"Save changes to document \"%s\" before " -"closing?\n" -"\n" -"If you close without saving, your changes will be discarded." -msgstr "" -"Czy przed zamknięciem programu zapisać " -"zmiany w dokumencie \"%s\"?\n" -"\n" -"Zamknięcie bez zapisywania spowoduje utratę wprowadzonych zmian." +#. Connector +#: ../src/ui/dialog/inkscape-preferences.cpp:489 +#: ../src/verbs.cpp:2526 +msgid "Connector" +msgstr "Łącznik" -#: ../src/ui/view/edit-widget.cpp:1222 ../src/ui/view/edit-widget.cpp:1269 -#: ../src/widgets/desktop-widget.cpp:851 ../src/widgets/desktop-widget.cpp:907 -msgid "Close _without saving" -msgstr "_Zamknij" +#: ../src/ui/dialog/inkscape-preferences.cpp:492 +msgid "If on, connector attachment points will not be shown for text objects" +msgstr "Punkty zaczepienia łączników nie będą wyświetlane dla obiektów tekstowych" -#: ../src/ui/view/edit-widget.cpp:1257 ../src/widgets/desktop-widget.cpp:899 -#, c-format -msgid "" -"The file \"%s\" was saved with a " -"format (%s) that may cause data loss!\n" -"\n" -"Do you want to save this file as an Inkscape SVG?" -msgstr "" -"Plik \"%s\" został zapisany w formacie " -"(%s), który może spowodować utratę danych!\n" -"\n" -"Czy chcesz zapisać ten plik w formacie SVG Inkscape'a?" +#. Dropper +#: ../src/ui/dialog/inkscape-preferences.cpp:494 +#: ../src/verbs.cpp:2524 +msgid "Dropper" +msgstr "Próbnik koloru" -#: ../src/ui/view/edit-widget.cpp:1272 ../src/widgets/desktop-widget.cpp:910 -msgid "_Save as SVG" -msgstr "Zapisz jako S_VG" +#: ../src/ui/dialog/inkscape-preferences.cpp:501 +msgid "Save and restore window geometry for each document" +msgstr "Zapisuj i odtwarzaj ustawienia okna dla każdego dokumentu" -#: ../src/ui/widget/filter-effect-chooser.cpp:25 -msgid "_Blend mode:" -msgstr "Tryb _przenikania:" +#: ../src/ui/dialog/inkscape-preferences.cpp:502 +msgid "Remember and use last window's geometry" +msgstr "Zapamiętaj i stosuj ostatnie ustawienia okna" -#: ../src/ui/widget/filter-effect-chooser.cpp:26 -msgid "B_lur:" -msgstr "_Rozmycie" +#: ../src/ui/dialog/inkscape-preferences.cpp:503 +msgid "Don't save window geometry" +msgstr "Nie zapisuj ustawień okna" -#: ../src/ui/widget/licensor.cpp:35 -msgid "Proprietary" -msgstr "Własność autora" +#: ../src/ui/dialog/inkscape-preferences.cpp:505 +#: ../src/ui/dialog/inkscape-preferences.cpp:525 +msgid "Dockable" +msgstr "Zadokowane" -#: ../src/ui/widget/licensor.cpp:38 -msgid "Other" -msgstr "Inne" +#: ../src/ui/dialog/inkscape-preferences.cpp:508 +msgid "Dialogs are hidden in taskbar" +msgstr "Ukrywaj okienka zadań na pasku zadań" -#: ../src/ui/widget/object-composite-settings.cpp:51 -#: ../src/ui/widget/selected-style.cpp:1031 -#: ../src/ui/widget/selected-style.cpp:1032 -msgid "Opacity, %" -msgstr "Krycie, %" +#: ../src/ui/dialog/inkscape-preferences.cpp:509 +msgid "Zoom when window is resized" +msgstr "Zmieniaj pprzybliżenie przy zmianie rozmiaru okna" -#: ../src/ui/widget/object-composite-settings.cpp:152 -msgid "Change blur" -msgstr "Zmień rozmycie" +#: ../src/ui/dialog/inkscape-preferences.cpp:510 +msgid "Show close button on dialogs" +msgstr "Wyświetlaj przycisk zamykania w okienkach zadań" -#: ../src/ui/widget/object-composite-settings.cpp:192 -#: ../src/ui/widget/selected-style.cpp:855 -#: ../src/ui/widget/selected-style.cpp:1149 -msgid "Change opacity" -msgstr "Zmień krycie" +#: ../src/ui/dialog/inkscape-preferences.cpp:512 +#: ../src/ui/dialog/inkscape-preferences.cpp:971 +msgid "Normal" +msgstr "Normalne" -#: ../src/ui/widget/page-sizer.cpp:190 -msgid "U_nits:" -msgstr "_Jednostki:" +#: ../src/ui/dialog/inkscape-preferences.cpp:513 +msgid "Aggressive" +msgstr "Agresywne" -#: ../src/ui/widget/page-sizer.cpp:191 -msgid "Width of paper" -msgstr "Szerokość papieru" +#: ../src/ui/dialog/inkscape-preferences.cpp:515 +msgid "Saving window geometry (size and position):" +msgstr "Zapisuj położenie i wielkość okien:" -#: ../src/ui/widget/page-sizer.cpp:192 -msgid "_Height:" -msgstr "_Wysokość:" +#: ../src/ui/dialog/inkscape-preferences.cpp:517 +msgid "Let the window manager determine placement of all windows" +msgstr "Menedżer okien będzie określał położenie wszystkich okien" -#: ../src/ui/widget/page-sizer.cpp:192 -msgid "Height of paper" -msgstr "Wysokość papieru" +#: ../src/ui/dialog/inkscape-preferences.cpp:519 +msgid "Remember and use the last window's geometry (saves geometry to user preferences)" +msgstr "Ostatnia wielkość i położenie okna zostanie zapamiętane (zapisane w preferencjach użytkownika) i stosowane w przyszłości" -#: ../src/ui/widget/page-sizer.cpp:236 -msgid "P_age size:" -msgstr "_Rozmiar:" +#: ../src/ui/dialog/inkscape-preferences.cpp:521 +msgid "Save and restore window geometry for each document (saves geometry in the document)" +msgstr "Wielkość i położenie okna każdego dokumentu zostanie zapamiętane (zapisane w dokumencie) i odtwarzane razem z nim" -#: ../src/ui/widget/page-sizer.cpp:244 -msgid "Page orientation:" -msgstr "Orientacja:" +#: ../src/ui/dialog/inkscape-preferences.cpp:523 +msgid "Dialog behavior (requires restart):" +msgstr "Rozmieszczenie okienek zadań (zmiana wymaga ponownego uruchomienia):" -#: ../src/ui/widget/page-sizer.cpp:247 -msgid "_Landscape" -msgstr "P_ozioma" +#: ../src/ui/dialog/inkscape-preferences.cpp:530 +msgid "Dialogs on top:" +msgstr "Wyświetlanie okienek zadań" -#: ../src/ui/widget/page-sizer.cpp:252 -msgid "_Portrait" -msgstr "_Pionowa" +#: ../src/ui/dialog/inkscape-preferences.cpp:533 +msgid "Dialogs are treated as regular windows" +msgstr "Okienka zadań wyświetlane jak zwykłe okna" -#. ## Set up custom size frame -#: ../src/ui/widget/page-sizer.cpp:259 -msgid "Custom size" -msgstr "Rozmiar niestandardowy" +#: ../src/ui/dialog/inkscape-preferences.cpp:535 +msgid "Dialogs stay on top of document windows" +msgstr "Okienka zadań na wierzchu" -#: ../src/ui/widget/page-sizer.cpp:272 -msgid "_Fit page to selection" -msgstr "_Dopasuj do ramki zaznaczenia" +#: ../src/ui/dialog/inkscape-preferences.cpp:537 +msgid "Same as Normal but may work better with some window managers" +msgstr "Tak samo jak normalnie, ale może działać lepiej z niektórymi menedżerami okien" -#: ../src/ui/widget/page-sizer.cpp:273 -msgid "" -"Resize the page to fit the current selection, or the entire drawing if there " -"is no selection" +#: ../src/ui/dialog/inkscape-preferences.cpp:541 +msgid "Dialog Transparency:" msgstr "" -"Zmienia rozmiar strony tak, aby dopasować do aktualnego zaznaczenia lub " -"jeśli nie ma zaznaczenia, zmieścić cały rysunek" -#: ../src/ui/widget/page-sizer.cpp:331 -msgid "Set page size" -msgstr "Określ rozmiar strony" +#: ../src/ui/dialog/inkscape-preferences.cpp:543 +#, fuzzy +msgid "Opacity when focused:" +msgstr "Kanał krycia" -#: ../src/ui/widget/panel.cpp:121 -msgid "List" -msgstr "Lista" +#: ../src/ui/dialog/inkscape-preferences.cpp:545 +#, fuzzy +msgid "Opacity when unfocused:" +msgstr "Kanał krycia" -#: ../src/ui/widget/panel.cpp:144 -msgid "swatches|Size" -msgstr "Wysokość elementów palety" +#: ../src/ui/dialog/inkscape-preferences.cpp:547 +msgid "Time of opacity change animation:" +msgstr "" -#: ../src/ui/widget/panel.cpp:148 -msgid "tiny" -msgstr "bardzo niskie" +#: ../src/ui/dialog/inkscape-preferences.cpp:550 +msgid "Miscellaneous:" +msgstr "Różne" -#: ../src/ui/widget/panel.cpp:149 -msgid "small" -msgstr "niskie" +#: ../src/ui/dialog/inkscape-preferences.cpp:553 +msgid "Whether dialog windows are to be hidden in the window manager taskbar" +msgstr "Wyłącza wyświetlanie przycisków okien dialogowych na pasku zadań menadżera okien" -#. TRANSLATORS: Translate only the word "medium". Indicates size of colour swatches -#: ../src/ui/widget/panel.cpp:151 -msgid "swatchesHeight|medium" -msgstr "średnie" +#: ../src/ui/dialog/inkscape-preferences.cpp:556 +msgid "Zoom drawing when document window is resized, to keep the same area visible (this is the default which can be changed in any window using the button above the right scrollbar)" +msgstr "Wraz ze zmianą rozmiarów okna dokumentu nastąpi zmiana pprzybliżenia z zachowaniem widocznego obszaru. Jest to zachowanie domyślne, które może być zmienione w każdym oknie przyciskiem znajdującym się nad prawym paskiem przewijania." -#: ../src/ui/widget/panel.cpp:152 -msgid "large" -msgstr "wysokie" +#: ../src/ui/dialog/inkscape-preferences.cpp:558 +msgid "Whether dialog windows have a close button (requires restart)" +msgstr "Wyświetlanie przycisku \"Zamknij\" w okienkach zadań (wymaga ponownego uruchomienia)" -#: ../src/ui/widget/panel.cpp:153 -msgid "huge" -msgstr "bardzo wysokie" +#: ../src/ui/dialog/inkscape-preferences.cpp:559 +msgid "Windows" +msgstr "Okna" -#: ../src/ui/widget/panel.cpp:175 -msgid "swatches|Width" -msgstr "Szerokość elementów palety" +#: ../src/ui/dialog/inkscape-preferences.cpp:564 +msgid "Move in parallel" +msgstr "Przemieszczają się równolegle" -#: ../src/ui/widget/panel.cpp:179 -msgid "narrower" -msgstr "bardzo wąskie" +#: ../src/ui/dialog/inkscape-preferences.cpp:566 +msgid "Stay unmoved" +msgstr "Pozostają nieprzemieszczone" -#: ../src/ui/widget/panel.cpp:180 -msgid "narrow" -msgstr "wąskie" +#: ../src/ui/dialog/inkscape-preferences.cpp:568 +msgid "Move according to transform" +msgstr "Przemieszczają się zgodnie z przypisanym przekształceniem" -#. TRANSLATORS: Translate only the word "medium". Indicates width of colour swatches -#: ../src/ui/widget/panel.cpp:182 -msgid "swatchesWidth|medium" -msgstr "średnie" +#: ../src/ui/dialog/inkscape-preferences.cpp:570 +msgid "Are unlinked" +msgstr "Zostaną odłączone" -#: ../src/ui/widget/panel.cpp:183 -msgid "wide" -msgstr "szerokie" +#: ../src/ui/dialog/inkscape-preferences.cpp:572 +msgid "Are deleted" +msgstr "Zostaną usunięte" -#: ../src/ui/widget/panel.cpp:184 -msgid "wider" -msgstr "bardzo szerokie" +#: ../src/ui/dialog/inkscape-preferences.cpp:575 +msgid "When the original moves, its clones and linked offsets:" +msgstr "Podczas przemieszczania oryginału jego klony i połączone odsunięcia:" -#. TRANSLATORS: Translate only the word "Wrap". Indicates how colour swatches are displayed -#: ../src/ui/widget/panel.cpp:215 -msgid "swatches|Wrap" -msgstr "Zawijaj" +#: ../src/ui/dialog/inkscape-preferences.cpp:577 +msgid "Clones are translated by the same vector as their original." +msgstr "Klony są przemieszczane o ten sam wektor co oryginał" -#: ../src/ui/widget/preferences-widget.cpp:278 -msgid "Reset" -msgstr "Resetuj" +#: ../src/ui/dialog/inkscape-preferences.cpp:579 +msgid "Clones preserve their positions when their original is moved." +msgstr "Klony zachowują swoją pozycję podczas, gdy oryginał zostaje przesunięty" -#: ../src/ui/widget/random.cpp:123 -msgid "" -"Reseed the random number generator; this creates a different sequence of " -"random numbers." -msgstr "" -"Wygeneruj ponownie liczby losowe; operacja ta tworzy różne sekwencje liczb " -"losowych" +#: ../src/ui/dialog/inkscape-preferences.cpp:581 +msgid "Each clone moves according to the value of its transform= attribute. For example, a rotated clone will move in a different direction than its original." +msgstr "Każda ze sklonowanych kopii zostaje przemieszczona zgodnie z wartością przypisanego do niej przekształcenia. Na przykład obrócony klon przesuwa się w innym kierunku niż oryginał." -#: ../src/ui/widget/rendering-options.cpp:39 -msgid "Backend" -msgstr "Format wyjściowy" +#: ../src/ui/dialog/inkscape-preferences.cpp:582 +msgid "When the original is deleted, its clones:" +msgstr "Podczas usuwania oryginału jego klony:" -#: ../src/ui/widget/rendering-options.cpp:40 -msgid "Vector" -msgstr "Wektorowy" +#: ../src/ui/dialog/inkscape-preferences.cpp:584 +msgid "Orphaned clones are converted to regular objects." +msgstr "Osierocone klony zostaną zamienione na zwykłe obiekty" -#: ../src/ui/widget/rendering-options.cpp:41 -msgid "Bitmap" -msgstr "Bitmapowy" +#: ../src/ui/dialog/inkscape-preferences.cpp:586 +msgid "Orphaned clones are deleted along with their original." +msgstr "Osierocone obiekty zostaną usunięte razem z oryginałem" -#: ../src/ui/widget/rendering-options.cpp:42 -msgid "Bitmap options" -msgstr "Opcje bitmapy" +#: ../src/ui/dialog/inkscape-preferences.cpp:588 +msgid "When duplicating original+clones:" +msgstr "Podczas powielania oryginału i klonu:" -#: ../src/ui/widget/rendering-options.cpp:44 -msgid "Preferred resolution of rendering, in dots per inch." -msgstr "Preferowana rozdzielczość renderowania (w dpi)" +#: ../src/ui/dialog/inkscape-preferences.cpp:590 +msgid "Relink duplicated clones" +msgstr "Skojarz powielone klony" -#: ../src/ui/widget/rendering-options.cpp:52 -msgid "" -"Render using Cairo vector operations. The resulting image is usually " -"smaller in file size and can be arbitrarily scaled, but some filter effects " -"will not be correctly rendered." -msgstr "" -"Renderuj stosując wektorowe operacje Cairo. Plik wynikowy jest zwykle " -"mniejszy i można skalować zapisany w nim rysunek, ale niektóre efekty " -"filtrów nie będą prawidłowo przetworzone." +#: ../src/ui/dialog/inkscape-preferences.cpp:592 +msgid "When duplicating a selection containing both a clone and its original (possibly in groups), relink the duplicated clone to the duplicated original instead of the old original" +msgstr "Podczas powielania zaznaczenia zawierającego oryginał i klon (taka sytacja może zdarzyć się w grupach) kojarzy powielony klon z powielonym oryginałem zamiast z pierwszym oryginałem" -#: ../src/ui/widget/rendering-options.cpp:57 -msgid "" -"Render everything as bitmap. The resulting image is usually larger in file " -"size and cannot be arbitrarily scaled without quality loss, but all objects " -"will be rendered exactly as displayed." -msgstr "" -"Renderuj wszystko jako bitmapę. Plik wynikowy jest zwykle większy i nie " -"można skalować zapisanego w nim rysunku bez utraty jakości, ale wszystkie " -"obiekty zostaną zobrazowane dokładnie tak jak są wyświetlane na ekranie." +#. TRANSLATORS: Heading for the Inkscape Preferences "Clones" Page +#: ../src/ui/dialog/inkscape-preferences.cpp:595 +msgid "Clones" +msgstr "Klony" -#: ../src/ui/widget/selected-style.cpp:106 -#: ../src/ui/widget/style-swatch.cpp:110 -msgid "Fill:" -msgstr "Wypełnienie:" +#: ../src/ui/dialog/inkscape-preferences.cpp:600 +msgid "When applying, use the topmost selected object as clippath/mask" +msgstr "Używaj ostatnio zaznaczonego obiektu jako ścieżki przycinania/maskowania" -#: ../src/ui/widget/selected-style.cpp:107 -#: ../src/ui/widget/style-swatch.cpp:111 -msgid "Stroke:" -msgstr "Kontur:" +#: ../src/ui/dialog/inkscape-preferences.cpp:602 +msgid "Uncheck this to use the bottom selected object as the clipping path or mask" +msgstr "Aby używać obiektu zaznaczonego pod spodem jako ścieżki przycinania lub maskowania należy tę opcję odznaczyć" -#: ../src/ui/widget/selected-style.cpp:108 -msgid "O:" -msgstr "N:" +#: ../src/ui/dialog/inkscape-preferences.cpp:603 +msgid "Remove clippath/mask object after applying" +msgstr "Usuwaj ścieżkę przycinania lub maskowania po wykonaniu operacji" -#: ../src/ui/widget/selected-style.cpp:150 -msgid "N/A" -msgstr "N/D" +#: ../src/ui/dialog/inkscape-preferences.cpp:605 +msgid "After applying, remove the object used as the clipping path or mask from the drawing" +msgstr "Po wykonaniu operacji, użyty jako ścieżka przycinania lub maskowania obiekt zostanie usunięty z rysunku" -#: ../src/ui/widget/selected-style.cpp:153 -#: ../src/ui/widget/selected-style.cpp:1024 -#: ../src/ui/widget/selected-style.cpp:1025 -msgid "Nothing selected" -msgstr "Nie zaznaczono żadnego obiektu" +#: ../src/ui/dialog/inkscape-preferences.cpp:606 +msgid "Clippaths and masks" +msgstr "Ścieżki przycinania i maski" -#: ../src/ui/widget/selected-style.cpp:155 -#: ../src/ui/widget/style-swatch.cpp:328 -msgid "None" -msgstr "Brak" +#: ../src/ui/dialog/inkscape-preferences.cpp:611 +#: ../src/widgets/select-toolbar.cpp:531 +msgid "Scale stroke width" +msgstr "Skaluj szerokość konturu" -#: ../src/ui/widget/selected-style.cpp:158 -#: ../src/ui/widget/style-swatch.cpp:330 -msgid "No fill" -msgstr "Brak wypełnienia" +#: ../src/ui/dialog/inkscape-preferences.cpp:612 +msgid "Scale rounded corners in rectangles" +msgstr "Skaluj zaokrąglenia narożników prostokątów" -#: ../src/ui/widget/selected-style.cpp:158 -#: ../src/ui/widget/style-swatch.cpp:330 -msgid "No stroke" -msgstr "Brak konturu" +#: ../src/ui/dialog/inkscape-preferences.cpp:613 +msgid "Transform gradients" +msgstr "Przekształcaj gradienty" -#: ../src/ui/widget/selected-style.cpp:160 -#: ../src/ui/widget/style-swatch.cpp:309 ../src/widgets/paint-selector.cpp:189 -msgid "Pattern" -msgstr "Deseń" +#: ../src/ui/dialog/inkscape-preferences.cpp:614 +msgid "Transform patterns" +msgstr "Przekształcaj desenie" -#: ../src/ui/widget/selected-style.cpp:163 -#: ../src/ui/widget/style-swatch.cpp:311 ../src/widgets/paint-selector.cpp:997 -msgid "Pattern fill" -msgstr "Wypełnienie desenia" +#: ../src/ui/dialog/inkscape-preferences.cpp:615 +msgid "Optimized" +msgstr "Zoptymalizowany" -#: ../src/ui/widget/selected-style.cpp:163 -#: ../src/ui/widget/style-swatch.cpp:311 -msgid "Pattern stroke" -msgstr "Kontur desenia" +#: ../src/ui/dialog/inkscape-preferences.cpp:616 +msgid "Preserved" +msgstr "Zawsze zapisywane" -#: ../src/ui/widget/selected-style.cpp:165 -msgid "L" -msgstr "L" +#: ../src/ui/dialog/inkscape-preferences.cpp:619 +#: ../src/widgets/select-toolbar.cpp:532 +msgid "When scaling objects, scale the stroke width by the same proportion" +msgstr "Podczas skalowania obiektów szerokość konturu zmienia się proporcjonalnie" -#: ../src/ui/widget/selected-style.cpp:168 -#: ../src/ui/widget/style-swatch.cpp:303 -msgid "Linear gradient fill" -msgstr "Wypełnienie gradientem liniowym" +#: ../src/ui/dialog/inkscape-preferences.cpp:621 +#: ../src/widgets/select-toolbar.cpp:543 +msgid "When scaling rectangles, scale the radii of rounded corners" +msgstr "Podczas skalowania prostokątów następuje również skalowanie promienia zaokrąglenia narożników" -#: ../src/ui/widget/selected-style.cpp:168 -#: ../src/ui/widget/style-swatch.cpp:303 -msgid "Linear gradient stroke" -msgstr "Kontur z gradientem liniowym" +#: ../src/ui/dialog/inkscape-preferences.cpp:623 +#: ../src/widgets/select-toolbar.cpp:554 +msgid "Move gradients (in fill or stroke) along with the objects" +msgstr "Przekształcanie gradientu (w wypełnieniu lub konturze) następuje wraz z przekształcaniem obiektów" -#: ../src/ui/widget/selected-style.cpp:175 -msgid "R" -msgstr "R" +#: ../src/ui/dialog/inkscape-preferences.cpp:625 +#: ../src/widgets/select-toolbar.cpp:565 +msgid "Move patterns (in fill or stroke) along with the objects" +msgstr "Przekształcanie deseni (w wypełnieniu i konturze) następuje wraz z przekształcaniem obiektów" -#: ../src/ui/widget/selected-style.cpp:178 -#: ../src/ui/widget/style-swatch.cpp:307 -msgid "Radial gradient fill" -msgstr "Wypełnienie gradientem radialnym" +#: ../src/ui/dialog/inkscape-preferences.cpp:626 +msgid "Store transformation:" +msgstr "Sposób zapisu przekształcenia:" -#: ../src/ui/widget/selected-style.cpp:178 -#: ../src/ui/widget/style-swatch.cpp:307 -msgid "Radial gradient stroke" -msgstr "Kontur z gradientem radialnym" +#: ../src/ui/dialog/inkscape-preferences.cpp:628 +msgid "If possible, apply transformation to objects without adding a transform= attribute" +msgstr "Gdy tylko możliwe, przekształcenie na obiektach jest wykonywane bez dodawania atrybutu transform=" -#: ../src/ui/widget/selected-style.cpp:185 -msgid "Different" -msgstr "Różne" +#: ../src/ui/dialog/inkscape-preferences.cpp:630 +msgid "Always store transformation as a transform= attribute on objects" +msgstr "Zawsze zapisuje przekształcenie na obiektach jako atrybut transform=" -#: ../src/ui/widget/selected-style.cpp:188 -msgid "Different fills" -msgstr "Różne wypełnienia" +#: ../src/ui/dialog/inkscape-preferences.cpp:632 +msgid "Transforms" +msgstr "Przekształcenia" -#: ../src/ui/widget/selected-style.cpp:188 -msgid "Different strokes" -msgstr "Różne kontury" +#: ../src/ui/dialog/inkscape-preferences.cpp:637 +msgid "Best quality (slowest)" +msgstr "Najlepsza (najwolniej)" -#: ../src/ui/widget/selected-style.cpp:190 -#: ../src/ui/widget/style-swatch.cpp:333 -msgid "Unset" -msgstr "Nie ustawiono" +#: ../src/ui/dialog/inkscape-preferences.cpp:639 +msgid "Better quality (slower)" +msgstr "Dobra (wolno)" -#: ../src/ui/widget/selected-style.cpp:196 -msgid "Flat color fill" -msgstr "Jednolity kolor wypełnienia" +#: ../src/ui/dialog/inkscape-preferences.cpp:641 +msgid "Average quality" +msgstr "Średnia" -#: ../src/ui/widget/selected-style.cpp:196 -msgid "Flat color stroke" -msgstr "Jednolity kolor konturu" +#: ../src/ui/dialog/inkscape-preferences.cpp:643 +msgid "Lower quality (faster)" +msgstr "Niższa (szybciej)" -#. TRANSLATOR COMMENT: A means "Averaged" -#: ../src/ui/widget/selected-style.cpp:199 -msgid "a" -msgstr "u" +#: ../src/ui/dialog/inkscape-preferences.cpp:645 +msgid "Lowest quality (fastest)" +msgstr "Najniższa (najszybciej)" -#: ../src/ui/widget/selected-style.cpp:202 -msgid "Fill is averaged over selected objects" -msgstr "Uśredniony styl wypełnienia z zaznaczonych obiektów" +#: ../src/ui/dialog/inkscape-preferences.cpp:648 +msgid "Gaussian blur quality for display:" +msgstr "Jakość rozmycia gaussowskiego:" -#: ../src/ui/widget/selected-style.cpp:202 -msgid "Stroke is averaged over selected objects" -msgstr "Uśredniony styl konturu z zaznaczonych obiektów" +#: ../src/ui/dialog/inkscape-preferences.cpp:650 +msgid "Best quality, but display may be very slow at high zooms (bitmap export always uses best quality)" +msgstr "Najlepsza jakość, ale wyświetlanie może być bardzo wolne przy dużych przybliżeniach (eksport bitmap używa zawsze najlepszej jakości)" -#. TRANSLATOR COMMENT: M means "Multiple" -#: ../src/ui/widget/selected-style.cpp:205 -msgid "m" -msgstr "w" +#: ../src/ui/dialog/inkscape-preferences.cpp:652 +msgid "Better quality, but slower display" +msgstr "Dobra jakość, ale wolniejsze wyświetlanie" -#: ../src/ui/widget/selected-style.cpp:208 -msgid "Multiple selected objects have the same fill" -msgstr "Wszystkie zaznaczone obiekty mają ten sam styl wypełnienia" +#: ../src/ui/dialog/inkscape-preferences.cpp:654 +msgid "Average quality, acceptable display speed" +msgstr "Średnia jakość - akceptowalna szybkość wyświetlania" -#: ../src/ui/widget/selected-style.cpp:208 -msgid "Multiple selected objects have the same stroke" -msgstr "Wszystkie zaznaczone obiekty mają ten sam styl konturu" +#: ../src/ui/dialog/inkscape-preferences.cpp:656 +msgid "Lower quality (some artifacts), but display is faster" +msgstr "Niska jakość - niewielkie błędy w obrazku, ale szybsze wyświetlanie" -#: ../src/ui/widget/selected-style.cpp:210 -msgid "Edit fill..." -msgstr "Edytuj wypełnienie..." +#: ../src/ui/dialog/inkscape-preferences.cpp:658 +msgid "Lowest quality (considerable artifacts), but display is fastest" +msgstr "Najniższa jakość - spore błędy w obrazku, ale najszybsze wyświetlanie" -#: ../src/ui/widget/selected-style.cpp:210 -msgid "Edit stroke..." -msgstr "Edytuj kontur..." +#: ../src/ui/dialog/inkscape-preferences.cpp:660 +msgid "Show filter primitives infobox" +msgstr "Wyświetlaj panel informacyjny efektów specjalnych" -#: ../src/ui/widget/selected-style.cpp:214 -msgid "Last set color" -msgstr "Ostatnio ustawiony kolor" +#: ../src/ui/dialog/inkscape-preferences.cpp:662 +msgid "Show icons and descriptions for the filter primitives available at the filter effects dialog." +msgstr "W oknie dialogowym efektów specjalnych wyświetla panel informacyjny zawierający ikony i opisy dostępnych efektów" -#: ../src/ui/widget/selected-style.cpp:218 -msgid "Last selected color" -msgstr "Ostatnio zaznaczony kolor" +#: ../src/ui/dialog/inkscape-preferences.cpp:664 +msgid "Filters" +msgstr "Filtry" -#: ../src/ui/widget/selected-style.cpp:222 -msgid "Invert" -msgstr "Negatyw" +#: ../src/ui/dialog/inkscape-preferences.cpp:670 +msgid "Select in all layers" +msgstr "Zaznaczaj na wszystkich warstwach" -#: ../src/ui/widget/selected-style.cpp:226 -msgid "White" -msgstr "Biały" +#: ../src/ui/dialog/inkscape-preferences.cpp:671 +msgid "Select only within current layer" +msgstr "Zaznaczaj jedynie w obrębie aktywnej warstwy" -#: ../src/ui/widget/selected-style.cpp:230 -#: ../src/widgets/sp-color-icc-selector.cpp:237 -#: ../src/widgets/sp-color-scales.cpp:461 -#: ../src/widgets/sp-color-scales.cpp:462 -msgid "Black" -msgstr "Czarny" +#: ../src/ui/dialog/inkscape-preferences.cpp:672 +msgid "Select in current layer and sublayers" +msgstr "Zaznaczaj na aktywnej i na podrzędnych warstwach " -#: ../src/ui/widget/selected-style.cpp:234 -msgid "Copy color" -msgstr "Kopiuj kolor" +#: ../src/ui/dialog/inkscape-preferences.cpp:673 +msgid "Ignore hidden objects and layers" +msgstr "Pomijaj ukryte obiekty i warstwy" -#: ../src/ui/widget/selected-style.cpp:238 -msgid "Paste color" -msgstr "Wklej kolor" +#: ../src/ui/dialog/inkscape-preferences.cpp:674 +msgid "Ignore locked objects and layers" +msgstr "Pomijaj zablokowane obiekty i warstwy" -#: ../src/ui/widget/selected-style.cpp:242 -#: ../src/ui/widget/selected-style.cpp:780 -msgid "Swap fill and stroke" -msgstr "Zamień styl wypełnienia i konturu" +#: ../src/ui/dialog/inkscape-preferences.cpp:675 +msgid "Deselect upon layer change" +msgstr "Usuwaj zaznaczenie obiektów przy zmianie warstwy" -#: ../src/ui/widget/selected-style.cpp:246 -#: ../src/ui/widget/selected-style.cpp:522 -#: ../src/ui/widget/selected-style.cpp:531 -msgid "Make fill opaque" -msgstr "Wyzeruj przezroczystość wypełnienia" +#: ../src/ui/dialog/inkscape-preferences.cpp:677 +msgid "Ctrl+A, Tab, Shift+Tab:" +msgstr "Działanie skrótów [Ctrl + A] [Tab] [Shift + Tab]:" -#: ../src/ui/widget/selected-style.cpp:246 -msgid "Make stroke opaque" -msgstr "Wyzeruj przezroczystość konturu" +#: ../src/ui/dialog/inkscape-preferences.cpp:679 +msgid "Make keyboard selection commands work on objects in all layers" +msgstr "Zaznacza obiekty na wszystkich warstwach" -#: ../src/ui/widget/selected-style.cpp:308 -msgid "Remove" -msgstr "Usuń" +#: ../src/ui/dialog/inkscape-preferences.cpp:681 +msgid "Make keyboard selection commands work on objects in current layer only" +msgstr "Zaznacza obiekty tylko na aktywnej warstwie" -#: ../src/ui/widget/selected-style.cpp:543 -msgid "Apply last set color to fill" -msgstr "Zastosuj dla wypełnienia ostatnio ustawiony kolor" +#: ../src/ui/dialog/inkscape-preferences.cpp:683 +msgid "Make keyboard selection commands work on objects in current layer and all its sublayers" +msgstr "Zaznacza obiekty na aktywnej warstwie i wszystkich jej podrzędnych warstwach" -#: ../src/ui/widget/selected-style.cpp:555 -msgid "Apply last set color to stroke" -msgstr "Zastosuj dla konturu ostatnio ustawiony kolor" +#: ../src/ui/dialog/inkscape-preferences.cpp:685 +msgid "Uncheck this to be able to select objects that are hidden (either by themselves or by being in a hidden layer)" +msgstr "Jeśli ta opcja będzie nieaktywna, będzie można zaznaczać ukryte obiekty, zarówno te ustawione jako ukryte, jak i znajdujące się w ukrytej grupie lub warstwie" -#: ../src/ui/widget/selected-style.cpp:566 -msgid "Apply last selected color to fill" -msgstr "Zastosuj dla wypełnienia ostatnio wybrany kolor" +#: ../src/ui/dialog/inkscape-preferences.cpp:687 +msgid "Uncheck this to be able to select objects that are locked (either by themselves or by being in a locked layer)" +msgstr "Jeśli ta opcja będzie nieaktywna, będzie można zaznaczać zablokowane obiekty, zarówno te ustawione jako zablokowane, jak i znajdujące się w zablokowanej grupie lub warstwie" -#: ../src/ui/widget/selected-style.cpp:577 -msgid "Apply last selected color to stroke" -msgstr "Zastosuj dla konturu ostatnio wybrany kolor" +#: ../src/ui/dialog/inkscape-preferences.cpp:690 +msgid "Uncheck this to be able to keep the current objects selected when the current layer changes" +msgstr "Jeśli ta opcja będzie nieaktywna, będzie można zachować aktualnie zaznaczone obiekty przy zmianie aktywnej warstwy" -#: ../src/ui/widget/selected-style.cpp:597 -msgid "Invert fill" -msgstr "Negatyw wypełnienia" +#: ../src/ui/dialog/inkscape-preferences.cpp:692 +msgid "Selecting" +msgstr "Zaznaczanie" -#: ../src/ui/widget/selected-style.cpp:617 -msgid "Invert stroke" -msgstr "Negatyw konturu" +#: ../src/ui/dialog/inkscape-preferences.cpp:699 +msgid "Default export resolution:" +msgstr "Domyślna rozdzielczość eksportu:" -#: ../src/ui/widget/selected-style.cpp:629 -msgid "White fill" -msgstr "Białe wypełnienie" +#: ../src/ui/dialog/inkscape-preferences.cpp:700 +msgid "Default bitmap resolution (in dots per inch) in the Export dialog" +msgstr "Domyślna rozdzielczość bitmapy (w dpi) wyświetlana w oknie dialogowym eksportu" -#: ../src/ui/widget/selected-style.cpp:641 -msgid "White stroke" -msgstr "Biały kontur" +#: ../src/ui/dialog/inkscape-preferences.cpp:702 +msgid "Open Clip Art Library Server Name:" +msgstr "Nazwa serwera klipartów:" + +#: ../src/ui/dialog/inkscape-preferences.cpp:703 +msgid "The server name of the Open Clip Art Library webdav server. It's used by the Import and Export to OCAL function." +msgstr "Nazwa serwera Open Clip Art Library. Jest ona używana przez funkcję importu i eksportu na serwer Open Clip Art Library. " -#: ../src/ui/widget/selected-style.cpp:653 -msgid "Black fill" -msgstr "Czarne wypełnienie" +#: ../src/ui/dialog/inkscape-preferences.cpp:705 +msgid "Open Clip Art Library Username:" +msgstr "Nazwa użytkownika:" -#: ../src/ui/widget/selected-style.cpp:665 -msgid "Black stroke" -msgstr "Czarny kontur" +#: ../src/ui/dialog/inkscape-preferences.cpp:706 +msgid "The username used to log into Open Clip Art Library." +msgstr "Nazwa użytkownika używana do logowania do Open Clip Art Library" -#: ../src/ui/widget/selected-style.cpp:708 -msgid "Paste fill" -msgstr "Wklej wypełnienie" +#: ../src/ui/dialog/inkscape-preferences.cpp:708 +msgid "Open Clip Art Library Password:" +msgstr "Hasło:" -#: ../src/ui/widget/selected-style.cpp:726 -msgid "Paste stroke" -msgstr "Wklej kontur" +#: ../src/ui/dialog/inkscape-preferences.cpp:709 +msgid "The password used to log into Open Clip Art Library." +msgstr "Hasło używane do logowania do Open Clip Art Library" -#: ../src/ui/widget/selected-style.cpp:890 -msgid "Change stroke width" -msgstr "Skalowanie szerokości konturu" +#: ../src/ui/dialog/inkscape-preferences.cpp:711 +msgid "Import/Export" +msgstr "Import/Eksport" -#: ../src/ui/widget/selected-style.cpp:985 -msgid ", drag to adjust" -msgstr ", wykonaj ciągnięcie, aby dostroić" +#: ../src/ui/dialog/inkscape-preferences.cpp:761 +msgid "Absolute Colorimetric" +msgstr "Kolorymetryczny bezwzględny" -#: ../src/ui/widget/selected-style.cpp:1066 -#, c-format -msgid "Stroke width: %.5g%s%s" -msgstr "Szerokość konturu: %.5g%s%s" +#. TRANSLATORS: see http://www.newsandtech.com/issues/2004/03-04/pt/03-04_rendering.htm +#: ../src/ui/dialog/inkscape-preferences.cpp:761 +msgid "Perceptual" +msgstr "Percepcyjny" -#: ../src/ui/widget/selected-style.cpp:1070 -msgid " (averaged)" -msgstr " (uśredniona)" +#: ../src/ui/dialog/inkscape-preferences.cpp:761 +msgid "Relative Colorimetric" +msgstr "Kolorymetryczny względny" -#: ../src/ui/widget/selected-style.cpp:1098 -msgid "0 (transparent)" -msgstr "0 (przezroczysty)" +#: ../src/ui/dialog/inkscape-preferences.cpp:765 +msgid "(Note: Color management has been disabled in this build)" +msgstr "(Uwaga: W tej wersji programu zarządzanie kolorem zostało wyłączone)" -#: ../src/ui/widget/selected-style.cpp:1122 -msgid "100% (opaque)" -msgstr "100% (nieprzezroczysty)" +#: ../src/ui/dialog/inkscape-preferences.cpp:769 +msgid "Display adjustment" +msgstr "Dostrajanie monitora" -#: ../src/ui/widget/selected-style.cpp:1271 -msgid "Adjust saturation" -msgstr "Dostosuj nasycenie" +#: ../src/ui/dialog/inkscape-preferences.cpp:771 +msgid "Display profile:" +msgstr "Profil monitora:" -#: ../src/ui/widget/selected-style.cpp:1273 -#, c-format -msgid "" -"Adjusting saturation: was %.3g, now %.3g (diff %.3g); with " -"Ctrl to adjust lightness, without modifiers to adjust hue" -msgstr "" -"Dostosowywanie nasycenia: było %.3g, jest %.3g (różnica %.3g); " -"z Ctrl dostrajanie jasności, bez modyfikatorów dostrajanie barwy" +#: ../src/ui/dialog/inkscape-preferences.cpp:772 +msgid "The ICC profile to use to calibrate display output." +msgstr "Profil ICC używany do kalibracji monitora" -#: ../src/ui/widget/selected-style.cpp:1277 -msgid "Adjust lightness" -msgstr "Dostosuj jasność" +#: ../src/ui/dialog/inkscape-preferences.cpp:774 +msgid "Retrieve profile from display" +msgstr "Pobierz profil z monitora" -#: ../src/ui/widget/selected-style.cpp:1279 -#, c-format -msgid "" -"Adjusting lightness: was %.3g, now %.3g (diff %.3g); with " -"Shift to adjust saturation, without modifiers to adjust hue" -msgstr "" -"Dostosowywanie jasności: było %.3g, jest %.3g (różnica %.3g); " -"z Shift dostrajanie nasycenia, bez modyfikatorów dostrajanie barwy" +#: ../src/ui/dialog/inkscape-preferences.cpp:777 +msgid "Retrieve profiles from those attached to displays via XICC." +msgstr "Pobierz poprzez XICC istniejące profile monitora" -#: ../src/ui/widget/selected-style.cpp:1283 -msgid "Adjust hue" -msgstr "Dostosuj barwę" +#: ../src/ui/dialog/inkscape-preferences.cpp:779 +msgid "Retrieve profiles from those attached to displays." +msgstr "Będą pobierane istniejące profile monitora" -#: ../src/ui/widget/selected-style.cpp:1285 -#, c-format -msgid "" -"Adjusting hue: was %.3g, now %.3g (diff %.3g); with Shift to adjust saturation, with Ctrl to adjust lightness" -msgstr "" -"Dostosowywanie barwy: było %.3g, jest %.3g (różnica %.3g); z " -"Shift dostrajanie nasycenia, z Ctrl dostrajanie jasności" +#: ../src/ui/dialog/inkscape-preferences.cpp:784 +msgid "Display rendering intent:" +msgstr "Sposób renderowania monitora:" -#: ../src/ui/widget/selected-style.cpp:1391 -#: ../src/ui/widget/selected-style.cpp:1405 -msgid "Adjust stroke width" -msgstr "Ustaw szerokość konturu" +#: ../src/ui/dialog/inkscape-preferences.cpp:785 +#: ../src/ui/dialog/inkscape-preferences.cpp:808 +msgid "The rendering intent to use to calibrate display output." +msgstr "Sposób renderowania używany do kalibracji wyjścia monitora" -#: ../src/ui/widget/selected-style.cpp:1392 -#, c-format -msgid "Adjusting stroke width: was %.3g, now %.3g (diff %.3g)" -msgstr "" +#: ../src/ui/dialog/inkscape-preferences.cpp:787 +msgid "Proofing" +msgstr "Sprawdzanie" -#. TRANSLATORS: Only translate the word "Link" - means to _link_ two sliders together -#: ../src/ui/widget/spin-slider.cpp:118 -msgid "sliders|Link" -msgstr "Odnośnik" +#: ../src/ui/dialog/inkscape-preferences.cpp:789 +msgid "Simulate output on screen" +msgstr "Symuluj wyjście na ekranie" -#: ../src/ui/widget/style-swatch.cpp:301 -msgid "L Gradient" -msgstr "Gradient L" +#: ../src/ui/dialog/inkscape-preferences.cpp:791 +msgid "Simulates output of target device." +msgstr "Wyjście urządzenia docelowego będzie symulowane na ekranie" -#: ../src/ui/widget/style-swatch.cpp:305 -msgid "R Gradient" -msgstr "Gradient R" +#: ../src/ui/dialog/inkscape-preferences.cpp:793 +msgid "Mark out of gamut colors" +msgstr "Oznacz kolory będące poza gamą kolorów" -#: ../src/ui/widget/style-swatch.cpp:321 -#, c-format -msgid "Fill: %06x/%.3g" -msgstr "Wypełnienie: %06x/%.3g" +#: ../src/ui/dialog/inkscape-preferences.cpp:795 +msgid "Highlights colors that are out of gamut for the target device." +msgstr "Będą podświetlane kolory znajdujące się poza gamą kolorów urządzenia docelowego" -#: ../src/ui/widget/style-swatch.cpp:323 -#, c-format -msgid "Stroke: %06x/%.3g" -msgstr "Kontur: %06x/%.3g" +#: ../src/ui/dialog/inkscape-preferences.cpp:800 +msgid "Out of gamut warning color:" +msgstr "Kolor ostrzeżeń:" -#: ../src/ui/widget/style-swatch.cpp:355 -#, c-format -msgid "Stroke width: %.5g%s" -msgstr "Szerokość konturu: %.5g%s" +#: ../src/ui/dialog/inkscape-preferences.cpp:801 +msgid "Selects the color used for out of gamut warning." +msgstr "Określ kolor używany do ostrzeżeń o kolorach znajdujących się poza gamą kolorów" -#: ../src/ui/widget/style-swatch.cpp:371 -#, c-format -msgid "O:%.3g" -msgstr "N:%.3g" +#: ../src/ui/dialog/inkscape-preferences.cpp:803 +msgid "Device profile:" +msgstr "Profil urządzenia:" -#: ../src/ui/widget/style-swatch.cpp:373 -#, c-format -msgid "O:.%d" -msgstr "N:.%d" +#: ../src/ui/dialog/inkscape-preferences.cpp:804 +msgid "The ICC profile to use to simulate device output." +msgstr "Profil ICC używany do symulacji urządzenia wyjściowego" -#: ../src/ui/widget/style-swatch.cpp:378 -#, c-format -msgid "Opacity: %.3g" -msgstr "Krycie: %.3g" +#: ../src/ui/dialog/inkscape-preferences.cpp:807 +msgid "Device rendering intent:" +msgstr "Sposób renderowania:" -#: ../src/vanishing-point.cpp:124 -msgid "Split vanishing points" -msgstr "Rozdziel punkty zbiegu" +#: ../src/ui/dialog/inkscape-preferences.cpp:810 +msgid "Black point compensation" +msgstr "Kompensuj punktu czerni" -#: ../src/vanishing-point.cpp:169 -msgid "Merge vanishing points" -msgstr "Połącz punkty zbiegu" +#: ../src/ui/dialog/inkscape-preferences.cpp:812 +msgid "Enables black point compensation." +msgstr "Aktywowanie kompensacji punktu czerni" -#: ../src/vanishing-point.cpp:225 -msgid "3D box: Move vanishing point" -msgstr "Obiekt 3D: Przesuń punkty zbiegu" +#: ../src/ui/dialog/inkscape-preferences.cpp:814 +msgid "Preserve black" +msgstr "Zachowaj kanał K" -#: ../src/vanishing-point.cpp:306 -#, c-format -msgid "Finite vanishing point shared by %d box" -msgid_plural "" -"Finite vanishing point shared by %d boxes; drag with Shift to separate selected box(es)" -msgstr[0] "Skończony punkt zbiegu współdzielony z %d obiektem " -msgstr[1] "" -"Skończony punkt zbiegu współdzielony z %d obiektem. Wykonaj " -"ciągnięcie z Shift, aby rozdzielić zaznaczone obiekty." -msgstr[2] "" -"Skończony punkt zbiegu współdzielony z %d obiektem. Wykonaj " -"ciągnięcie z Shift, aby rozdzielić zaznaczone obiekty." +#: ../src/ui/dialog/inkscape-preferences.cpp:819 +msgid "(LittleCMS 1.15 or later required)" +msgstr "(Jest wymagany program LittleCMS 1.15 lub nowszy)" -#. This won't make sense any more when infinite VPs are not shown on the canvas, -#. but currently we update the status message anyway -#: ../src/vanishing-point.cpp:313 -#, c-format -msgid "Infinite vanishing point shared by %d box" -msgid_plural "" -"Infinite vanishing point shared by %d boxes; drag with " -"Shift to separate selected box(es)" -msgstr[0] "" -"Nieskończony punkt zbiegu współdzielony z %d obiektem " -msgstr[1] "" -"Nieskończony punkt zbiegu współdzielony z %d obiektem. Wykonaj " -"ciągnięcie z Shift, aby rozdzielić zaznaczone obiekty." -msgstr[2] "" -"Nieskończony punkt zbiegu współdzielony z %d obiektem. Wykonaj " -"ciągnięcie z Shift, aby rozdzielić zaznaczone obiekty." +#: ../src/ui/dialog/inkscape-preferences.cpp:821 +msgid "Preserve K channel in CMYK -> CMYK transforms" +msgstr "Zachowywanie kanału K (czarnego) podczas transformacji CMYK -> CMYK" -#: ../src/vanishing-point.cpp:321 -#, c-format -msgid "" -"shared by %d box; drag with Shift to separate selected box(es)" -msgid_plural "" -"shared by %d boxes; drag with Shift to separate selected box" -"(es)" -msgstr[0] "" -"współdzielony z %d obiektem. Wykonaj ciągnięcie z Shift, aby " -"rozdzielić zaznaczone obiekty." -msgstr[1] "" -"współdzielony z %d obiektami. Wykonaj ciągnięcie z Shift, aby " -"rozdzielić zaznaczone obiekty." -msgstr[2] "" -"współdzielony z %d obiektami. Wykonaj ciągnięcie z Shift, aby " -"rozdzielić zaznaczone obiekty." - -#: ../src/verbs.cpp:1134 -msgid "Switch to next layer" -msgstr "Przenieś do następnej warstwy" +#: ../src/ui/dialog/inkscape-preferences.cpp:834 +msgid "" +msgstr "" -#: ../src/verbs.cpp:1135 -msgid "Switched to next layer." -msgstr "Przeniesiono do następnej warstwy" +#: ../src/ui/dialog/inkscape-preferences.cpp:879 +msgid "Color management" +msgstr "Zarządzanie kolorem" -#: ../src/verbs.cpp:1137 -msgid "Cannot go past last layer." -msgstr "Nie można przenieść poza ostatnią warstwę" +#: ../src/ui/dialog/inkscape-preferences.cpp:884 +msgid "Major grid line emphasizing" +msgstr "Wyróżniane głównej linii siatki" -#: ../src/verbs.cpp:1146 -msgid "Switch to previous layer" -msgstr "Przenieś do poprzedniej warstwy" +#: ../src/ui/dialog/inkscape-preferences.cpp:886 +msgid "Don't emphasize gridlines when zoomed out" +msgstr "Nie uwydatniaj siatki podczas pomniejszania" -#: ../src/verbs.cpp:1147 -msgid "Switched to previous layer." -msgstr "Przeniesiono do poprzedniej warstwy" +#: ../src/ui/dialog/inkscape-preferences.cpp:887 +msgid "If set and zoomed out, the gridlines will be shown in normal color instead of major grid line color." +msgstr "Podczas pomniejszania linie siatki będą wyświetlane w normalnym kolorze zamiast w kolorze linii głównej siatki" -#: ../src/verbs.cpp:1149 -msgid "Cannot go before first layer." -msgstr "Nie można przenieść przed pierwszą warstwę" +#: ../src/ui/dialog/inkscape-preferences.cpp:889 +msgid "Default grid settings" +msgstr "Domyślne ustawienia siatki" -#: ../src/verbs.cpp:1166 ../src/verbs.cpp:1250 -msgid "No current layer." -msgstr "Brak aktywnej warstwy" +#: ../src/ui/dialog/inkscape-preferences.cpp:895 +#: ../src/ui/dialog/inkscape-preferences.cpp:916 +msgid "Grid units:" +msgstr "Jednostki siatki:" -#: ../src/verbs.cpp:1195 ../src/verbs.cpp:1199 -#, c-format -msgid "Raised layer %s." -msgstr "Warstwa %s została przeniesiona wyżej" +#: ../src/ui/dialog/inkscape-preferences.cpp:898 +#: ../src/ui/dialog/inkscape-preferences.cpp:919 +msgid "Origin X:" +msgstr "Początek X:" -#: ../src/verbs.cpp:1196 -msgid "Layer to top" -msgstr "Przenieś warstwę na wierzch" +#: ../src/ui/dialog/inkscape-preferences.cpp:899 +#: ../src/ui/dialog/inkscape-preferences.cpp:920 +msgid "Origin Y:" +msgstr "Początek Y:" -#: ../src/verbs.cpp:1200 -msgid "Raise layer" -msgstr "Przesuń warstwę wyżej" +#: ../src/ui/dialog/inkscape-preferences.cpp:902 +msgid "Spacing X:" +msgstr "Odstępy X:" -#: ../src/verbs.cpp:1203 ../src/verbs.cpp:1207 -#, c-format -msgid "Lowered layer %s." -msgstr "Warstwa %s przeniesiona niżej" +#: ../src/ui/dialog/inkscape-preferences.cpp:903 +#: ../src/ui/dialog/inkscape-preferences.cpp:922 +msgid "Spacing Y:" +msgstr "Odstępy Y:" -#: ../src/verbs.cpp:1204 -msgid "Layer to bottom" -msgstr "Przenieś warstwę na spód" +#: ../src/ui/dialog/inkscape-preferences.cpp:905 +#: ../src/ui/dialog/inkscape-preferences.cpp:906 +#: ../src/ui/dialog/inkscape-preferences.cpp:927 +#: ../src/ui/dialog/inkscape-preferences.cpp:928 +msgid "Grid line color:" +msgstr "Kolor linii siatki:" + +#: ../src/ui/dialog/inkscape-preferences.cpp:906 +#: ../src/ui/dialog/inkscape-preferences.cpp:928 +msgid "Color used for normal grid lines" +msgstr "Kolor normalnych linii siatki" -#: ../src/verbs.cpp:1208 -msgid "Lower layer" -msgstr "Przesuń warstwę niżej" +#: ../src/ui/dialog/inkscape-preferences.cpp:907 +#: ../src/ui/dialog/inkscape-preferences.cpp:908 +#: ../src/ui/dialog/inkscape-preferences.cpp:929 +#: ../src/ui/dialog/inkscape-preferences.cpp:930 +msgid "Major grid line color:" +msgstr "Kolor linii głównych:" -#: ../src/verbs.cpp:1217 -msgid "Cannot move layer any further." -msgstr "Nie można przenieść warstwy dalej" +#: ../src/ui/dialog/inkscape-preferences.cpp:908 +#: ../src/ui/dialog/inkscape-preferences.cpp:930 +msgid "Color used for major (highlighted) grid lines" +msgstr "Kolor głównych (podświetlonych) linii siatki" -#: ../src/verbs.cpp:1245 -msgid "Delete layer" -msgstr "Usuń warstwę" +#: ../src/ui/dialog/inkscape-preferences.cpp:910 +#: ../src/ui/dialog/inkscape-preferences.cpp:932 +msgid "Major grid line every:" +msgstr "Rozstaw linii głównych:" -#. TRANSLATORS: this means "The layer has been deleted." -#: ../src/verbs.cpp:1248 -msgid "Deleted layer." -msgstr "Warstwa została usunięta" +#: ../src/ui/dialog/inkscape-preferences.cpp:911 +msgid "Show dots instead of lines" +msgstr "Wyświetlaj kropki zamiast linii" -#: ../src/verbs.cpp:1330 -msgid "Flip horizontally" -msgstr "Odbij poziomo" +#: ../src/ui/dialog/inkscape-preferences.cpp:912 +msgid "If set, display dots at gridpoints instead of gridlines" +msgstr "Siatka będzie wyświetlana za pomocą kropek" -#: ../src/verbs.cpp:1345 -msgid "Flip vertically" -msgstr "Odbij pionowo" +#: ../src/ui/dialog/inkscape-preferences.cpp:939 +msgid "Use named colors" +msgstr "Używaj nazw kolorów" -#. TRANSLATORS: If you have translated the tutorial-basic.svg file to your language, -#. then translate this string as "tutorial-basic.LANG.svg" (where LANG is your language -#. code); otherwise leave as "tutorial-basic.svg". -#: ../src/verbs.cpp:1829 -msgid "tutorial-basic.svg" -msgstr "tutorial-basic.svg" +#: ../src/ui/dialog/inkscape-preferences.cpp:940 +msgid "If set, write the CSS name of the color when available (e.g. 'red' or 'magenta') instead of the numeric value" +msgstr "Zamiast określeń numerycznych będą używane nazwy kolorów np. czerwony, żółty..." -#. TRANSLATORS: See "tutorial-basic.svg" comment. -#: ../src/verbs.cpp:1833 -msgid "tutorial-shapes.svg" -msgstr "tutorial-shapes.svg" +#: ../src/ui/dialog/inkscape-preferences.cpp:942 +msgid "XML formatting" +msgstr "Formatowanie XML" -#. TRANSLATORS: See "tutorial-basic.svg" comment. -#: ../src/verbs.cpp:1837 -msgid "tutorial-advanced.svg" -msgstr "tutorial-advanced.svg" +#: ../src/ui/dialog/inkscape-preferences.cpp:944 +msgid "Inline attributes" +msgstr "Atrybuty w tym samym wierszu" -#. TRANSLATORS: See "tutorial-basic.svg" comment. -#: ../src/verbs.cpp:1841 -msgid "tutorial-tracing.svg" -msgstr "tutorial-tracing.svg" +#: ../src/ui/dialog/inkscape-preferences.cpp:945 +msgid "Put attributes on the same line as the element tag" +msgstr "Wstawia atrybuty w tym samym wierszu co znacznik elementu" -#. TRANSLATORS: See "tutorial-basic.svg" comment. -#: ../src/verbs.cpp:1845 -msgid "tutorial-calligraphy.svg" -msgstr "tutorial-calligraphy.svg" +#: ../src/ui/dialog/inkscape-preferences.cpp:948 +msgid "Indent, spaces:" +msgstr "Wcięcie, spacje:" -#. TRANSLATORS: See "tutorial-basic.svg" comment. -#: ../src/verbs.cpp:1849 -msgid "tutorial-elements.svg" -msgstr "tutorial-elements.svg" +#: ../src/ui/dialog/inkscape-preferences.cpp:948 +msgid "The number of spaces to use for indenting nested elements; set to 0 for no indentation" +msgstr "Liczba spacji jaka zostanie użyta do wcięcia zagnieżdżonych elementów. Wartość zerowa - brak wcięcia." -#. TRANSLATORS: See "tutorial-basic.svg" comment. -#: ../src/verbs.cpp:1853 -msgid "tutorial-tips.svg" -msgstr "tutorial-tips.svg" +#: ../src/ui/dialog/inkscape-preferences.cpp:950 +msgid "Path data" +msgstr "Dane ścieżki" -#: ../src/verbs.cpp:2129 ../src/verbs.cpp:2634 -msgid "Unlock all objects in the current layer" -msgstr "Odblokowuje wszystkie obiekty na aktywnej warstwie" +#: ../src/ui/dialog/inkscape-preferences.cpp:952 +msgid "Allow relative coordinates" +msgstr "Używaj współrzędne biegunowe" -#: ../src/verbs.cpp:2133 ../src/verbs.cpp:2636 -msgid "Unlock all objects in all layers" -msgstr "Odblokowuje wszystkie obiekty na wszystkich warstwach" +#: ../src/ui/dialog/inkscape-preferences.cpp:953 +msgid "If set, relative coordinates may be used in path data" +msgstr "Używanie współrzędnych biegunowych w danych ścieżki " -#: ../src/verbs.cpp:2137 ../src/verbs.cpp:2638 -msgid "Unhide all objects in the current layer" -msgstr "Wyświetla wszystkie obiekty na aktywnej warstwie" +#: ../src/ui/dialog/inkscape-preferences.cpp:955 +msgid "Force repeat commands" +msgstr "Powtarzaj polecenia" -#: ../src/verbs.cpp:2141 ../src/verbs.cpp:2640 -msgid "Unhide all objects in all layers" -msgstr "Wyświetla wszystkie obiekty na wszystkich warstwach" +#: ../src/ui/dialog/inkscape-preferences.cpp:956 +msgid "Force repeating of the same path command (for example, 'L 1,2 L 3,4' instead of 'L 1,2 3,4')" +msgstr "Wymusza powtarzanie poleceń ścieżkowych (np. L 1,2 L 3,4 zamiast L 1,2 3,4)" -#: ../src/verbs.cpp:2156 -msgid "Does nothing" -msgstr "Nic nie wykonuje" +#: ../src/ui/dialog/inkscape-preferences.cpp:958 +msgid "Numbers" +msgstr "Liczby" -#: ../src/verbs.cpp:2159 -msgid "Create new document from the default template" -msgstr "Utwórz nowy dokument na bazie domyślnego szablonu" +#: ../src/ui/dialog/inkscape-preferences.cpp:961 +msgid "How many digits to write after the decimal dot" +msgstr "Określa ile będzie wyświetlanych cyfr dziesiętnych (po przecinku)" -#: ../src/verbs.cpp:2161 -msgid "_Open..." -msgstr "_Otwórz..." +#: ../src/ui/dialog/inkscape-preferences.cpp:961 +msgid "Numeric precision:" +msgstr "Precyzja" -#: ../src/verbs.cpp:2162 -msgid "Open an existing document" -msgstr "Otwórz istniejący dokument" +#: ../src/ui/dialog/inkscape-preferences.cpp:964 +msgid "Minimum exponent:" +msgstr "Minimalny wykładnik" -#: ../src/verbs.cpp:2163 -msgid "Re_vert" -msgstr "P_rzywróć" +#: ../src/ui/dialog/inkscape-preferences.cpp:964 +msgid "The smallest number written to SVG is 10 to the power of this exponent; anything smaller is written as zero." +msgstr "Najmniejsza wartość jaką może przybrać ten wykładnik, to 10. Wartości mniejsze, zostaną zapisane jako zero." -#: ../src/verbs.cpp:2164 -msgid "Revert to the last saved version of document (changes will be lost)" -msgstr "Przywraca ostatnio zapisaną wersję dokumentu (zmiany zostaną utracone)" +#: ../src/ui/dialog/inkscape-preferences.cpp:966 +msgid "SVG output" +msgstr "Zapis w formacie SVG" -#: ../src/verbs.cpp:2165 -msgid "_Save" -msgstr "_Zapisz" +#: ../src/ui/dialog/inkscape-preferences.cpp:975 +msgid "Commands bar icon size" +msgstr "Wielkość ikon w przyborniku" -#: ../src/verbs.cpp:2165 -msgid "Save document" -msgstr "Zapisz dokument" +#: ../src/ui/dialog/inkscape-preferences.cpp:976 +msgid "Set the size for the commands toolbar to use (requires restart)" +msgstr "Określ wielkość ikon w przyborniku (wymaga ponownego uruchomienia aplikacji)" -#: ../src/verbs.cpp:2167 -msgid "Save _As..." -msgstr "Za_pisz jako..." +#: ../src/ui/dialog/inkscape-preferences.cpp:979 +msgid "Tool controls bar icon size" +msgstr "Wielkość ikon na pasku narzędzi sterujących" -#: ../src/verbs.cpp:2168 -msgid "Save document under a new name" -msgstr "Zapisuje dokument pod nową nazwą" +#: ../src/ui/dialog/inkscape-preferences.cpp:980 +msgid "Set the size for the secondary toolbar to use (requires restart)" +msgstr "Określ wielkość ikon na pasku narzędzi sterujących (wymaga ponownego uruchomienia aplikacji)" -#: ../src/verbs.cpp:2169 -msgid "Save a Cop_y..." -msgstr "Z_apisz kopię..." +#: ../src/ui/dialog/inkscape-preferences.cpp:983 +msgid "Main toolbar icon size" +msgstr "Wielkość ikon na głównym pasku narzędzi" -#: ../src/verbs.cpp:2170 -msgid "Save a copy of the document under a new name" -msgstr "Zapisuje kopię dokumentu z nową nazwą" +#: ../src/ui/dialog/inkscape-preferences.cpp:984 +msgid "Set the size for the main tools to use (requires restart)" +msgstr "Określ wielkość ikon na głównym pasku narzędzi (wymaga ponownego uruchomienia aplikacji)" -#: ../src/verbs.cpp:2171 -msgid "_Print..." -msgstr "_Drukuj..." +#: ../src/ui/dialog/inkscape-preferences.cpp:987 +msgid "Maximum documents in Open Recent:" +msgstr "Maksymalna liczba dokumentów:" -#: ../src/verbs.cpp:2171 -msgid "Print document" -msgstr "Drukuj dokument" +#: ../src/ui/dialog/inkscape-preferences.cpp:988 +msgid "The maximum length of the Open Recent list in the File menu" +msgstr "Maksymalna liczba dokumentów przechowywanych na liście ostatnio używanych dokumentów znajdującej się w menu \"Plik\"" -#. TRANSLATORS: "Vacuum Defs" means "Clean up defs" (so as to remove unused definitions) -#: ../src/verbs.cpp:2174 -msgid "Vac_uum Defs" -msgstr "Wyczyść de_finicje" +#: ../src/ui/dialog/inkscape-preferences.cpp:991 +msgid "Zoom correction factor (in %):" +msgstr "Wskaźnik korekcji przybliżenia (%)" -#: ../src/verbs.cpp:2174 -msgid "" -"Remove unused definitions (such as gradients or clipping paths) from the <" -"defs> of the document" -msgstr "" -"Usuwa nieużywane elementy (takie jak gradienty, czy ścieżki przycinające) z " -"<defs> dokumentu" +#: ../src/ui/dialog/inkscape-preferences.cpp:992 +msgid "Adjust the slider until the length of the ruler on your screen matches its real length. This information is used when zooming to 1:1, 1:2, etc., to display objects in their true sizes" +msgstr "Dostrój, używając suwaka, długość widocznej tutaj linijki do wartości rzeczywistych. Dane te są używane podczas przybliżania w skali 1:1, 1:2 itd., aby wyświetlać obiekty w ich rzeczywistej wielkości." -#: ../src/verbs.cpp:2176 -msgid "Print Previe_w" -msgstr "Podgląd _wydruku" +#: ../src/ui/dialog/inkscape-preferences.cpp:994 +msgid "Interface" +msgstr "Interfejs" -#: ../src/verbs.cpp:2177 -msgid "Preview document printout" -msgstr "Wyświetla podgląd wydruku rysunku" +#. Autosave options +#: ../src/ui/dialog/inkscape-preferences.cpp:1001 +msgid "Enable autosave (requires restart)" +msgstr "Automatyczny zapis (wymaga ponownego uruchomienia aplikacji):" -#: ../src/verbs.cpp:2178 -msgid "_Import..." -msgstr "_Importuj..." +#: ../src/ui/dialog/inkscape-preferences.cpp:1002 +msgid "Automatically save the current document(s) at a given interval, thus minimizing loss in case of a crash" +msgstr "Automatycznie zapisuje aktywne dokumenty po określonym czasie. Minimalizuje to straty w przypadku awarii programu." -#: ../src/verbs.cpp:2179 -msgid "Import a bitmap or SVG image into this document" -msgstr "Importuj bitmapę lub rysunek SVG do dokumentu" +#: ../src/ui/dialog/inkscape-preferences.cpp:1004 +msgid "Interval (in minutes) at which document will be autosaved" +msgstr "Odstęp czasowy po jakim nastąpi kolejny automatyczny zapis" -#: ../src/verbs.cpp:2180 -msgid "_Export Bitmap..." -msgstr "_Eksportuj jako bitmapę..." +#: ../src/ui/dialog/inkscape-preferences.cpp:1004 +msgid "Interval (in minutes):" +msgstr "Odstęp czasowy (min.):" -#: ../src/verbs.cpp:2181 -msgid "Export this document or a selection as a bitmap image" -msgstr "Eksportuj dokument lub obszar zaznaczenia jako bitmapę" +#: ../src/ui/dialog/inkscape-preferences.cpp:1006 +msgid "Path:" +msgstr "Ścieżka do katalogu zapisu:" -#: ../src/verbs.cpp:2182 -msgid "Import a document from Open Clip Art Library" -msgstr "Importuje dokument z biblioteki klipartów" +#: ../src/ui/dialog/inkscape-preferences.cpp:1006 +msgid "The directory where autosaves will be written" +msgstr "Ścieżka do katalogu gdzie będą przechowywane kopie automatyczne" -#: ../src/verbs.cpp:2183 -msgid "Export To Open Clip Art Library" -msgstr "Eksportuje do biblioteki klipartów" +#: ../src/ui/dialog/inkscape-preferences.cpp:1008 +msgid "Maximum number of autosaved files; use this to limit the storage space used" +msgstr "Maksymalna liczba zapisywanych automatycznie plików. Opcję można używać do limitowania miejsca zajmowanego przez pliki kopii." -#: ../src/verbs.cpp:2183 -msgid "Export this document to Open Clip Art Library" -msgstr "Eksportuje ten dokument do galerii klipartów" +#: ../src/ui/dialog/inkscape-preferences.cpp:1008 +msgid "Maximum number of autosaves:" +msgstr "Maksymalna liczba kopii automatycznych:" -#: ../src/verbs.cpp:2184 -msgid "N_ext Window" -msgstr "_Następne okno" +#. When changing the interval or enabling/disabling the autosave function, +#. * update our running configuration +#. * +#. * FIXME! +#. * the inkscape_autosave_init should be called AFTER the values have been changed +#. * (which cannot be guaranteed from here) +#. * +#. * For now, autosave-settings will not change until restart +#. +#. +#. _autosave_autosave_enable.signal_toggled().connect( sigc::ptr_fun(inkscape_autosave_init), TRUE ); +#. _autosave_autosave_interval.signal_changed().connect( sigc::ptr_fun(inkscape_autosave_init), TRUE ); +#. +#. ----------- +#: ../src/ui/dialog/inkscape-preferences.cpp:1026 +msgid "Autosave" +msgstr "Automatyczny zapis" -#: ../src/verbs.cpp:2185 -msgid "Switch to the next document window" -msgstr "Przełącza do okna następnego dokumentu" +#: ../src/ui/dialog/inkscape-preferences.cpp:1032 +msgid "16x16" +msgstr "16x16" -#: ../src/verbs.cpp:2186 -msgid "P_revious Window" -msgstr "Popr_zednie okno" +#: ../src/ui/dialog/inkscape-preferences.cpp:1032 +msgid "2x2" +msgstr "2x2" -#: ../src/verbs.cpp:2187 -msgid "Switch to the previous document window" -msgstr "Przełącza do okna poprzedniego dokumentu" +#: ../src/ui/dialog/inkscape-preferences.cpp:1032 +msgid "4x4" +msgstr "4x4" -#: ../src/verbs.cpp:2188 -msgid "_Close" -msgstr "Zam_knij" +#: ../src/ui/dialog/inkscape-preferences.cpp:1032 +msgid "8x8" +msgstr "8x8" -#: ../src/verbs.cpp:2189 -msgid "Close this document window" -msgstr "Zamyka okno aktywnego dokumentu" +#: ../src/ui/dialog/inkscape-preferences.cpp:1036 +msgid "Oversample bitmaps:" +msgstr "Nadpróbkowanie bitmap:" -#: ../src/verbs.cpp:2190 -msgid "_Quit" -msgstr "Zakoń_cz" +#: ../src/ui/dialog/inkscape-preferences.cpp:1039 +msgid "Automatically reload bitmaps" +msgstr "Odświeżaj automatycznie bitmapy" -#: ../src/verbs.cpp:2190 -msgid "Quit Inkscape" -msgstr "Zamyka program Inkscape" +#: ../src/ui/dialog/inkscape-preferences.cpp:1041 +msgid "Automatically reload linked images when file is changed on disk" +msgstr "Po zmianie w pliku obrazka na dysku, automatycznie odświeża powiązane wyświetlone obrazki" -#: ../src/verbs.cpp:2193 -msgid "Undo last action" -msgstr "Wycofaj ostatnio wykonaną operację" +#: ../src/ui/dialog/inkscape-preferences.cpp:1055 +msgid "Bitmap editor:" +msgstr "Edytor bitmap:" -#: ../src/verbs.cpp:2196 -msgid "Do again the last undone action" -msgstr "Przywróć ostatnio wycofaną operację" +#: ../src/ui/dialog/inkscape-preferences.cpp:1061 +msgid "Resolution for Create Bitmap Copy:" +msgstr "Rozdzielczość tworzonej kopii bitmapy" -#: ../src/verbs.cpp:2197 -msgid "Cu_t" -msgstr "Wy_tnij" +#: ../src/ui/dialog/inkscape-preferences.cpp:1062 +msgid "Resolution used by the Create Bitmap Copy command" +msgstr "Rozdzielczość stosowana przez polecenie Utwórz kopię bitmapy" -#: ../src/verbs.cpp:2198 -msgid "Cut selection to clipboard" -msgstr "Wytnij zaznaczone obiekty i przechowuj je w schowku" +#: ../src/ui/dialog/inkscape-preferences.cpp:1064 +msgid "Bitmaps" +msgstr "Bitmapy" -#: ../src/verbs.cpp:2199 -msgid "_Copy" -msgstr "_Kopiuj" +#: ../src/ui/dialog/inkscape-preferences.cpp:1070 +msgid "Add label comments to printing output" +msgstr "Dodawaj etykiety komentarzy do pliku wyjściowego" -#: ../src/verbs.cpp:2200 -msgid "Copy selection to clipboard" -msgstr "Kopiuj zaznaczone obiekty do schowka" +#: ../src/ui/dialog/inkscape-preferences.cpp:1072 +msgid "When on, a comment will be added to the raw print output, marking the rendered output for an object with its label" +msgstr "Powoduje wstawienie do pliku wyjściowego RAW komentarzy opisujących każdy obiekt jego etykietą" -#: ../src/verbs.cpp:2201 -msgid "_Paste" -msgstr "_Wklej" +#: ../src/ui/dialog/inkscape-preferences.cpp:1074 +msgid "Prevent sharing of gradient definitions" +msgstr "Zapobiegaj współdzieleniu definicji gradientu" -#: ../src/verbs.cpp:2202 -msgid "Paste objects from clipboard to mouse point, or paste text" -msgstr "Wklej obiekty lub tekst ze schowka w pozycji wskaźnika myszy" +#: ../src/ui/dialog/inkscape-preferences.cpp:1076 +msgid "When on, shared gradient definitions are automatically forked on change; uncheck to allow sharing of gradient definitions so that editing one object may affect other objects using the same gradient" +msgstr "Współdzielone definicje gradientu będą automatycznie zabezpieczone przed zmianą. Jeśli opcja zostanie wyłączona, dozwolone będzie współdzielenie definicji gradientu, zatem edytowanie jednego obiektu będzie miało wpływ na inne obiekty używające tego samego gradientu." -#: ../src/verbs.cpp:2203 -msgid "Paste _Style" -msgstr "Wklej _styl" +#: ../src/ui/dialog/inkscape-preferences.cpp:1079 +msgid "Simplification threshold:" +msgstr "Próg czułości uproszczenia:" -#: ../src/verbs.cpp:2204 -msgid "Apply the style of the copied object to selection" -msgstr "Przypisuje zaznaczonym obiektom styl ze skopiowanego obiektu" +#: ../src/ui/dialog/inkscape-preferences.cpp:1080 +msgid "How strong is the Simplify command by default. If you invoke this command several times in quick succession, it will act more and more aggressively; invoking it again after a pause restores the default threshold." +msgstr "Domyślna wartość (siła upraszczania) używana przez polecenie \"Uprość\". Wywołanie tego polecenia kilkakrotnie w krótkich odstępach czasu powoduje nasilenie jego działania. Ponowne wykonanie po krótkiej przerwie przywraca wartość domyślną." -#: ../src/verbs.cpp:2206 -msgid "Scale selection to match the size of the copied object" -msgstr "" -"Skaluje zaznaczenie tak, aby dopasować do rozmiaru skopiowanego obiektu" +#: ../src/ui/dialog/inkscape-preferences.cpp:1083 +msgid "(requires restart)" +msgstr "(wymaga ponownego uruchomienia aplikacji):" -#: ../src/verbs.cpp:2207 -msgid "Paste _Width" -msgstr "Wklej _szerokość" +#: ../src/ui/dialog/inkscape-preferences.cpp:1083 +msgid "Latency skew:" +msgstr "Przesunięcie czasowe" -#: ../src/verbs.cpp:2208 -msgid "Scale selection horizontally to match the width of the copied object" -msgstr "" -"Skaluje zaznaczenie poziomo tak, aby dopasować do szerokości skopiowanego " -"obiektu" +#: ../src/ui/dialog/inkscape-preferences.cpp:1084 +msgid "Factor by which the event clock is skewed from the actual time (0.9766 on some systems)." +msgstr "Wskażnik wg, którego nastepuje przesunięcie czasu w stosunku do aktualnego czasu (na niektórych systemach jest to 0.9766)" -#: ../src/verbs.cpp:2209 -msgid "Paste _Height" -msgstr "Wklej _wysokość" +#: ../src/ui/dialog/inkscape-preferences.cpp:1086 +msgid "Pre-render named icons" +msgstr "Renderuj wstępnie nazwy ikon" -#: ../src/verbs.cpp:2210 -msgid "Scale selection vertically to match the height of the copied object" -msgstr "" -"Skaluje zaznaczenie pionowo tak, aby dopasować do wysokości skopiowanego " -"obiektu" +#: ../src/ui/dialog/inkscape-preferences.cpp:1088 +msgid "When on, named icons will be rendered before displaying the ui. This is for working around bugs in GTK+ named icon notification" +msgstr "Nazwy ikon będą renderowane przed wyświetleniem interfejsu." -#: ../src/verbs.cpp:2211 -msgid "Paste Size Separately" -msgstr "Wklej _rozmiar oddzielnie" +#: ../src/ui/dialog/inkscape-preferences.cpp:1090 +msgid "Misc" +msgstr "Różne" -#: ../src/verbs.cpp:2212 -msgid "Scale each selected object to match the size of the copied object" -msgstr "" -"Skaluje osobno każdy z zaznaczonych obiektów tak, aby dopasować do rozmiaru " -"skopiowanego obiektu" +#: ../src/ui/dialog/livepatheffect-editor.cpp:76 +msgid "Apply new effect" +msgstr "Zastosuj nowy efekt" -#: ../src/verbs.cpp:2213 -msgid "Paste Width Separately" -msgstr "Wklej s_zerokość oddzielnie" +#: ../src/ui/dialog/livepatheffect-editor.cpp:77 +msgid "Current effect" +msgstr "Aktualny efekt" -#: ../src/verbs.cpp:2214 -msgid "" -"Scale each selected object horizontally to match the width of the copied " -"object" -msgstr "" -"Skaluje osobno każdy z zaznaczonych obiektów poziomo tak, aby dopasować do " -"szerokości skopiowanego obiektu" +#: ../src/ui/dialog/livepatheffect-editor.cpp:78 +msgid "Effect list" +msgstr "Lista efektów" -#: ../src/verbs.cpp:2215 -msgid "Paste Height Separately" -msgstr "Wklej wyso_kość oddzielnie" +#: ../src/ui/dialog/livepatheffect-editor.cpp:266 +msgid "Unknown effect is applied" +msgstr "Został zastosowany nieznany efekt" -#: ../src/verbs.cpp:2216 -msgid "" -"Scale each selected object vertically to match the height of the copied " -"object" -msgstr "" -"Skaluje osobno każdy z zaznaczonych obiektów pionowo tak, aby dopasować do " -"wysokości skopiowanego obiektu" +#: ../src/ui/dialog/livepatheffect-editor.cpp:269 +msgid "No effect applied" +msgstr "Nie zastosowano żadnego efektu" -#: ../src/verbs.cpp:2217 -msgid "Paste _In Place" -msgstr "Wkle_j w miejscu pochodzenia" +#: ../src/ui/dialog/livepatheffect-editor.cpp:273 +msgid "Item is not a path or shape" +msgstr "Element nie jest ścieżką ani kształtem" -#: ../src/verbs.cpp:2218 -msgid "Paste objects from clipboard to the original location" -msgstr "Wkleja obiekty ze schowka w miejscu, z którego pochodzą" +#: ../src/ui/dialog/livepatheffect-editor.cpp:277 +msgid "Only one item can be selected" +msgstr "Tylko jeden element może być zaznaczony" -#: ../src/verbs.cpp:2219 -msgid "Paste Path _Effect" -msgstr "Wklej e_fekt ścieżki" +#: ../src/ui/dialog/livepatheffect-editor.cpp:281 +msgid "Empty selection" +msgstr "Puste zaznaczenie" -#: ../src/verbs.cpp:2220 -msgid "Apply the path effect of the copied object to selection" -msgstr "Przypisuje efekt ścieżki ze skopiowanego obiektu do zaznaczenia" +#: ../src/ui/dialog/livepatheffect-editor.cpp:371 +msgid "Create and apply path effect" +msgstr "Tworzy i zastosowuje efekt ścieżki" -#: ../src/verbs.cpp:2221 -msgid "Remove Path _Effect" -msgstr "Usuń _efekt ścieżki" +#: ../src/ui/dialog/livepatheffect-editor.cpp:388 +msgid "Remove path effect" +msgstr "Usuń efekt ścieżki" -#: ../src/verbs.cpp:2222 -msgid "Remove any path effects from selected objects" -msgstr "Usuwa wszystkie efekty ścieżki z zaznaczonych obiektów" +#: ../src/ui/dialog/livepatheffect-editor.cpp:404 +msgid "Move path effect up" +msgstr "Przenieś efekt ścieżki do góry" -#: ../src/verbs.cpp:2223 -#, fuzzy -msgid "Remove Filter" -msgstr "Usuń filtr" +#: ../src/ui/dialog/livepatheffect-editor.cpp:420 +msgid "Move path effect down" +msgstr "Przenieś efekt ścieżki w dół" -#: ../src/verbs.cpp:2224 -#, fuzzy -msgid "Remove any filters from selected objects" -msgstr "Usuwa wszystkie efekty ścieżki z zaznaczonych obiektów" +#: ../src/ui/dialog/livepatheffect-editor.cpp:459 +msgid "Activate path effect" +msgstr "Aktywuj efekt ścieżki" -#: ../src/verbs.cpp:2225 -msgid "_Delete" -msgstr "_Usuń" +#: ../src/ui/dialog/livepatheffect-editor.cpp:459 +msgid "Deactivate path effect" +msgstr "Dezaktywuj efekt ścieżki" -#: ../src/verbs.cpp:2226 -msgid "Delete selection" -msgstr "Usuwa zaznaczone obiekty" +#: ../src/ui/dialog/memory.cpp:94 +msgid "Heap" +msgstr "Stos" -#: ../src/verbs.cpp:2227 -msgid "Duplic_ate" -msgstr "_Powiel" +#: ../src/ui/dialog/memory.cpp:95 +msgid "In Use" +msgstr "Używana" -#: ../src/verbs.cpp:2228 -msgid "Duplicate selected objects" -msgstr "Duplikuj zaznaczone obiekty" +#. TRANSLATORS: "Slack" refers to memory which is in the heap but currently unused. +#. More typical usage is to call this memory "free" rather than "slack". +#: ../src/ui/dialog/memory.cpp:98 +msgid "Slack" +msgstr "Wolna" -#: ../src/verbs.cpp:2229 -msgid "Create Clo_ne" -msgstr "_Utwórz klon" +#: ../src/ui/dialog/memory.cpp:99 +msgid "Total" +msgstr "Całkowita" -#: ../src/verbs.cpp:2230 -msgid "Create a clone (a copy linked to the original) of selected object" -msgstr "Utwórz klon zaznaczonego obiektu (kopia połączona z oryginałem)" +#: ../src/ui/dialog/memory.cpp:139 +#: ../src/ui/dialog/memory.cpp:145 +#: ../src/ui/dialog/memory.cpp:152 +#: ../src/ui/dialog/memory.cpp:184 +msgid "Unknown" +msgstr "Nieznane" -#: ../src/verbs.cpp:2231 -msgid "Unlin_k Clone" -msgstr "_Odłącz klon" +#: ../src/ui/dialog/memory.cpp:165 +msgid "Combined" +msgstr "Połączone" -#: ../src/verbs.cpp:2232 -msgid "" -"Cut the selected clone's link to its original, turning it into a standalone " -"object" -msgstr "" -"Usuń zaznaczone połączenie klonu z jego oryginałem zamieniając go na " -"samodzielny obiekt" +#: ../src/ui/dialog/memory.cpp:207 +msgid "Recalculate" +msgstr "Przelicz ponownie" -#: ../src/verbs.cpp:2233 -msgid "Select _Original" -msgstr "Zaznacz o_ryginał" +#: ../src/ui/dialog/messages.cpp:75 +msgid "Ready." +msgstr "Gotowe" -#: ../src/verbs.cpp:2234 -msgid "Select the object to which the selected clone is linked" -msgstr "Zaznacza oryginalny obiekt, z którym połączony jest zaznaczony klon" +#: ../src/ui/dialog/messages.cpp:76 +msgid "Enable log display by setting dialogs.debug 'redirect' attribute to 1 in preferences.xml" +msgstr "Włącz wyświetlanie dziennika ustawiając w pliku preferences.xml dla dialogs.debug atrybut \"redirect\" na 1" -#. TRANSLATORS: Convert selection to a line marker -#: ../src/verbs.cpp:2236 -msgid "Objects to _Marker" -msgstr "Obiekty na _znacznik" +#: ../src/ui/dialog/ocaldialogs.cpp:78 +msgid "File" +msgstr "Plik" -#: ../src/verbs.cpp:2237 -msgid "Convert selection to a line marker" -msgstr "Konwertuje zaznaczenie na znacznik lini" +#: ../src/ui/dialog/ocaldialogs.cpp:176 +msgid "Username:" +msgstr "Nazwa użytkownika:" -#. TRANSLATORS: Convert selection to a collection of guidelines -#: ../src/verbs.cpp:2239 -msgid "Objects to Gu_ides" -msgstr "Obiekty na prow_adnice" +#: ../src/ui/dialog/ocaldialogs.cpp:177 +msgid "Password:" +msgstr "Hasło:" -#: ../src/verbs.cpp:2240 -msgid "" -"Convert selected objects to a collection of guidelines aligned with their " -"edges" -msgstr "" -"Konwertuje zaznaczone obiekty na kolekcję linii prowadnic wyrównanych z ich " -"krawędziami" +#: ../src/ui/dialog/ocaldialogs.cpp:404 +msgid "Error while reading the Open Clip Art RSS feed" +msgstr "Wystąpił błąd podczas czytania kanału RSS Open Clip Art" -#. TRANSLATORS: Convert selection to a rectangle with tiled pattern fill -#: ../src/verbs.cpp:2242 -msgid "Objects to Patter_n" -msgstr "_Obiekty na deseń" +#: ../src/ui/dialog/ocaldialogs.cpp:443 +msgid "Failed to receive the Open Clip Art Library RSS feed. Verify if the server name is correct in Configuration->Import/Export (e.g.: openclipart.org)" +msgstr "Nie udało się odebrać kanału RSS Open Clip Art Library. Proszę sprawdzić w ustawieniach nazwę serwera (np: openclipart.org.)" -#: ../src/verbs.cpp:2243 -msgid "Convert selection to a rectangle with tiled pattern fill" -msgstr "Konwertuje zaznaczenie na prostokąt z ułożonym wzorcem wypełnienia" +#: ../src/ui/dialog/ocaldialogs.cpp:457 +msgid "Server supplied malformed Clip Art feed" +msgstr "Serwer dostarczył zniekształcony kanał Clip Art" -#. TRANSLATORS: Extract objects from a tiled pattern fill -#: ../src/verbs.cpp:2245 -msgid "Pattern to _Objects" -msgstr "_Deseń na obiekty" +#: ../src/ui/dialog/ocaldialogs.cpp:548 +msgid "Search for:" +msgstr "Szukaj:" -#: ../src/verbs.cpp:2246 -msgid "Extract objects from a tiled pattern fill" -msgstr "Wyodrębnia obiekty z wypełnienia desenia" +#: ../src/ui/dialog/ocaldialogs.cpp:549 +msgid "No files matched your search" +msgstr "Nie ma plików spełniających kryteria szukania" -#: ../src/verbs.cpp:2247 -msgid "Clea_r All" -msgstr "_Wyczyść wszystko" +#: ../src/ui/dialog/ocaldialogs.cpp:560 +msgid "Search" +msgstr "Szukaj" -#: ../src/verbs.cpp:2248 -msgid "Delete all objects from document" -msgstr "Usuwa wszystkie obiekty z dokumentu" +#: ../src/ui/dialog/ocaldialogs.cpp:577 +msgid "Files found" +msgstr "Znaleziono pliki" -#: ../src/verbs.cpp:2249 -msgid "Select Al_l" -msgstr "Z_aznacz wszystko" +#: ../src/ui/dialog/print.cpp:142 +msgid "Could not open temporary PNG for bitmap printing" +msgstr "Nie można otworzyć do wydruku tymczasowego pliku PNG" -#: ../src/verbs.cpp:2250 -msgid "Select all objects or all nodes" -msgstr "Zaznacz wszystkie obiekty lub węzły" +#: ../src/ui/dialog/print.cpp:177 +msgid "Could not set up Document" +msgstr "Nie można określić dokumentu" -#: ../src/verbs.cpp:2251 -msgid "Select All in All La_yers" -msgstr "Zaznacz wsz_ystko na wszystkich warstwach" +#: ../src/ui/dialog/print.cpp:181 +msgid "Failed to set CairoRenderContext" +msgstr "Nie udało się ustawić CairoRenderContext" -#: ../src/verbs.cpp:2252 -msgid "Select all objects in all visible and unlocked layers" -msgstr "" -"Zaznacz wszystkie obiekty na wszystkich widocznych i odblokowanych warstwach" +#. set up dialog title, based on document name +#: ../src/ui/dialog/print.cpp:221 +msgid "SVG Document" +msgstr "Dokument SVG" -#: ../src/verbs.cpp:2253 -msgid "In_vert Selection" -msgstr "O_dwróć zaznaczenie" +#: ../src/ui/dialog/print.cpp:222 +msgid "Print" +msgstr "Drukuj" -#: ../src/verbs.cpp:2254 -msgid "Invert selection (unselect what is selected and select everything else)" -msgstr "Odwraca zaznaczenie (usuwa zaznaczenie obiektów i zaznacza pozostałe)" +#. build custom preferences tab +#: ../src/ui/dialog/print.cpp:249 +msgid "Rendering" +msgstr "Renderowanie" -#: ../src/verbs.cpp:2255 -msgid "Invert in All Layers" -msgstr "Odwróć na wszystkich warstwach" +#: ../src/ui/dialog/scriptdialog.cpp:211 +msgid "_Execute Javascript" +msgstr "Wykonaj skrypt _Javascript" -#: ../src/verbs.cpp:2256 -msgid "Invert selection in all visible and unlocked layers" -msgstr "Odwraca zaznaczenie na wszystkich widocznych i odblokowanych warstwach" +#: ../src/ui/dialog/scriptdialog.cpp:213 +msgid "_Execute Python" +msgstr "Wykonaj skrypt _Python" -#: ../src/verbs.cpp:2257 -msgid "Select Next" -msgstr "Zaznacz następny" +#: ../src/ui/dialog/scriptdialog.cpp:215 +msgid "_Execute Ruby" +msgstr "Wykonaj skrypt _Ruby" -#: ../src/verbs.cpp:2258 -msgid "Select next object or node" -msgstr "Zaznacza następny obiekt lub węzeł" +#: ../src/ui/dialog/scriptdialog.cpp:224 +msgid "Script" +msgstr "Skrypt" -#: ../src/verbs.cpp:2259 -msgid "Select Previous" -msgstr "Zaznacz poprzedni" +#: ../src/ui/dialog/scriptdialog.cpp:234 +msgid "Output" +msgstr "Wyjście" -#: ../src/verbs.cpp:2260 -msgid "Select previous object or node" -msgstr "Zaznacza poprzedni obiekt lub węzeł" +#: ../src/ui/dialog/scriptdialog.cpp:244 +msgid "Errors" +msgstr "Błędy" -#: ../src/verbs.cpp:2261 -msgid "D_eselect" -msgstr "Usuń zaz_naczenie" +#. Dialog organization +#: ../src/ui/dialog/session-player.cpp:73 +msgid "Session file" +msgstr "Plik sesji" -#: ../src/verbs.cpp:2262 -msgid "Deselect any selected objects or nodes" -msgstr "Usuń zaznaczenie ze wszystkich zaznaczonych obiektów lub węzłów" +#: ../src/ui/dialog/session-player.cpp:74 +msgid "Playback controls" +msgstr "Kontrola odtwarzania" -#: ../src/verbs.cpp:2263 -msgid "_Guides around page" -msgstr "_Prowadnice wokół strony" +#: ../src/ui/dialog/session-player.cpp:75 +#, fuzzy +msgid "Message information" +msgstr "Informacja o użyciu pamięci" -#: ../src/verbs.cpp:2264 -msgid "Create four guides aligned with the page borders" -msgstr "Tworzy cztery prowadnice przylegające do krawędzi strony" +#. Active session file display +#. fixme: Does this mean the active file for the session, or the file for the active session? +#. Please indicate which with a TRANSLATORS comment. +#: ../src/ui/dialog/session-player.cpp:85 +msgid "Active session file:" +msgstr "Aktywny plik sesji:" -#: ../src/verbs.cpp:2265 -msgid "Next Path Effect Parameter" -msgstr "Następny parametr efektu ścieżki" +#: ../src/ui/dialog/session-player.cpp:86 +msgid "Delay (milliseconds):" +msgstr "Opóźnienie (ms):" -#: ../src/verbs.cpp:2266 -msgid "Show next Path Effect parameter for editing" -msgstr "Wyświetl do edycji następny parametr efektu ścieżki" +#. Unload/load buttons +#: ../src/ui/dialog/session-player.cpp:94 +msgid "Close file" +msgstr "Zamknij plik" -#. Selection -#: ../src/verbs.cpp:2269 -msgid "Raise to _Top" -msgstr "Przenieś na wierzc_h" +#: ../src/ui/dialog/session-player.cpp:95 +msgid "Open new file" +msgstr "Otwórz nowy plik" -#: ../src/verbs.cpp:2270 -msgid "Raise selection to top" -msgstr "Przenieś zaznaczone obiekty na wierzch" +#: ../src/ui/dialog/session-player.cpp:96 +msgid "Set delay" +msgstr "Ustaw opóźnienie" -#: ../src/verbs.cpp:2271 -msgid "Lower to _Bottom" -msgstr "Przenieś pod _spód" +#: ../src/ui/dialog/session-player.cpp:138 +msgid "Rewind" +msgstr "Powrót" -#: ../src/verbs.cpp:2272 -msgid "Lower selection to bottom" -msgstr "Przenieś zaznaczone obiekty na spód" +#: ../src/ui/dialog/session-player.cpp:139 +msgid "Go back one change" +msgstr "Powraca o jedną zmianę" -#: ../src/verbs.cpp:2273 -msgid "_Raise" -msgstr "Przenieś w _górę" +#: ../src/ui/dialog/session-player.cpp:140 +msgid "Pause" +msgstr "Pauza" -#: ../src/verbs.cpp:2274 -msgid "Raise selection one step" -msgstr "Przenieś zaznaczone obiekty o jedną pozycję w górę" +#: ../src/ui/dialog/session-player.cpp:141 +msgid "Go forward one change" +msgstr "Przechodzi do przodu o jedną zmianę" -#: ../src/verbs.cpp:2275 -msgid "_Lower" -msgstr "Przenieś w _dół" +#: ../src/ui/dialog/session-player.cpp:142 +msgid "Play" +msgstr "Odtwórz" -#: ../src/verbs.cpp:2276 -msgid "Lower selection one step" -msgstr "Przenieś zaznaczone obiekty o jedną pozycję w dół" +#: ../src/ui/dialog/session-player.cpp:177 +msgid "Open session file" +msgstr "Otwórz plik sesji" -#: ../src/verbs.cpp:2277 -msgid "_Group" -msgstr "Grup_uj" +#: ../src/ui/dialog/svg-fonts-dialog.cpp:111 +msgid "Set SVG Font attribute" +msgstr "Określ atrybut czcionki SVG" -#: ../src/verbs.cpp:2278 -msgid "Group selected objects" -msgstr "Grupuj zaznaczone obiekty" +#: ../src/ui/dialog/svg-fonts-dialog.cpp:261 +msgid "Set width:" +msgstr "Określ szerokość:" -#: ../src/verbs.cpp:2280 -msgid "Ungroup selected groups" -msgstr "Rozdziel zaznaczone grupy obiektów" +#. Kerning Setup: +#: ../src/ui/dialog/svg-fonts-dialog.cpp:287 +msgid "Kerning Setup:" +msgstr "Ustawienia kerningu:" -#: ../src/verbs.cpp:2282 -msgid "_Put on Path" -msgstr "_Wstaw na ścieżkę" +#: ../src/ui/dialog/svg-fonts-dialog.cpp:289 +msgid "1st Glyph:" +msgstr "Pierwszy glif:" -#: ../src/verbs.cpp:2284 -msgid "_Remove from Path" -msgstr "_Zdejmij ze ścieżki" +#: ../src/ui/dialog/svg-fonts-dialog.cpp:291 +msgid "2nd Glyph:" +msgstr "Drugi glif:" -#: ../src/verbs.cpp:2286 -msgid "Remove Manual _Kerns" -msgstr "U_suń ręczne podcięcie" +#: ../src/ui/dialog/svg-fonts-dialog.cpp:302 +msgid "Kerning value:" +msgstr "Wartość kerningu:" -#. TRANSLATORS: "glyph": An image used in the visual representation of characters; -#. roughly speaking, how a character looks. A font is a set of glyphs. -#: ../src/verbs.cpp:2289 -msgid "Remove all manual kerns and glyph rotations from a text object" -msgstr "Usuwa ręcznie wprowadzone podcięcia i obrót glifu z obiektu tekstowego" +#: ../src/ui/dialog/svg-fonts-dialog.cpp:322 +msgid "_Font" +msgstr "_Czcionka" + +#: ../src/ui/dialog/svg-fonts-dialog.cpp:330 +msgid "_Global Settings" +msgstr "Ustawienia _globalne:" -#: ../src/verbs.cpp:2291 -msgid "_Union" -msgstr "_Suma" +#: ../src/ui/dialog/svg-fonts-dialog.cpp:331 +msgid "_Glyphs" +msgstr "_Glify" -#: ../src/verbs.cpp:2292 -msgid "Create union of selected paths" -msgstr "Tworzy sumę zaznaczonych ścieżek" +#: ../src/ui/dialog/svg-fonts-dialog.cpp:332 +msgid "_Kerning" +msgstr "_Kerning" -#: ../src/verbs.cpp:2293 -msgid "_Intersection" -msgstr "Część wspó_lna" +#: ../src/ui/dialog/svg-fonts-dialog.cpp:344 +msgid "Preview Text:" +msgstr "Podgląd tekstu:" -#: ../src/verbs.cpp:2294 -msgid "Create intersection of selected paths" -msgstr "Tworzy część wspólną zaznaczonych ścieżek" +#. #### begin left panel +#. ### begin notebook +#. ## begin mode page +#. # begin single scan +#. brightness +#: ../src/ui/dialog/tracedialog.cpp:396 +msgid "Brightness cutoff" +msgstr "Rozdzielanie jasności" -#: ../src/verbs.cpp:2295 -msgid "_Difference" -msgstr "Różnic_a" +#: ../src/ui/dialog/tracedialog.cpp:400 +msgid "Trace by a given brightness level" +msgstr "Wektoryzacja w oparciu o jasność" -#: ../src/verbs.cpp:2296 -msgid "Create difference of selected paths (bottom minus top)" -msgstr "Tworzy różnicę zaznaczonych ścieżek (dalszy minus bliższy)" +#: ../src/ui/dialog/tracedialog.cpp:408 +msgid "Brightness cutoff for black/white" +msgstr "Próg rozdzielenia czarny/biały" -#: ../src/verbs.cpp:2297 -msgid "E_xclusion" -msgstr "_Wykluczenie" +#: ../src/ui/dialog/tracedialog.cpp:415 +msgid "Single scan: creates a path" +msgstr "Jeden przebieg: tworzy jedną ścieżkę" -#: ../src/verbs.cpp:2298 -msgid "" -"Create exclusive OR of selected paths (those parts that belong to only one " -"path)" -msgstr "" -"Tworzy różnicę symetryczną zaznaczonych ścieżek (części należące tylko do " -"jednej ze ścieżek)" +#. canny edge detection +#. TRANSLATORS: "Canny" is the name of the inventor of this edge detection method +#: ../src/ui/dialog/tracedialog.cpp:420 +msgid "Edge detection" +msgstr "Wykrywanie krawędzi" -#: ../src/verbs.cpp:2299 -msgid "Di_vision" -msgstr "_Podział" +#: ../src/ui/dialog/tracedialog.cpp:424 +msgid "Trace with optimal edge detection by J. Canny's algorithm" +msgstr "Wektoryzacja z wykorzystaniem optymalnego wykrywania krawędzi metodą J.Canny'ego" -#: ../src/verbs.cpp:2300 -msgid "Cut the bottom path into pieces" -msgstr "Rozcina dolną ścieżkę na części" +#: ../src/ui/dialog/tracedialog.cpp:441 +msgid "Brightness cutoff for adjacent pixels (determines edge thickness)" +msgstr "Odcięcie jasności dla sąsiednich pikseli (decyduje o szerokości krawędzi)" -#. TRANSLATORS: "to cut a path" is not the same as "to break a path apart" - see the -#. Advanced tutorial for more info -#: ../src/verbs.cpp:2303 -msgid "Cut _Path" -msgstr "Ro_zcięcie ścieżki" +#. quantization +#. TRANSLATORS: Color Quantization: the process of reducing the number +#. of colors in an image by selecting an optimized set of representative +#. colors and then re-applying this reduced set to the original image. +#: ../src/ui/dialog/tracedialog.cpp:453 +msgid "Color quantization" +msgstr "Redukcja kolorów" -#: ../src/verbs.cpp:2304 -msgid "Cut the bottom path's stroke into pieces, removing fill" -msgstr "Rozcina kontur dolnej ścieżki na części i usuwa wypełnienie" +#: ../src/ui/dialog/tracedialog.cpp:457 +msgid "Trace along the boundaries of reduced colors" +msgstr "Śledzenie wzdłuż obszarów granicznych redukowanych kolorów" -#. TRANSLATORS: "outset": expand a shape by offsetting the object's path, -#. i.e. by displacing it perpendicular to the path in each point. -#. See also the Advanced Tutorial for explanation. -#: ../src/verbs.cpp:2308 -msgid "Outs_et" -msgstr "Przesuń na z_ewnątrz" +#: ../src/ui/dialog/tracedialog.cpp:465 +msgid "The number of reduced colors" +msgstr "Liczba zredukowanych kolorów" -#: ../src/verbs.cpp:2309 -msgid "Outset selected paths" -msgstr "Przesuwa zaznaczone ścieżki na zewnątrz kształtu" +#: ../src/ui/dialog/tracedialog.cpp:467 +msgid "Colors:" +msgstr "Liczba kolorów:" -#: ../src/verbs.cpp:2311 -msgid "O_utset Path by 1 px" -msgstr "Przesuń ścieżkę na _zewnątrz o 1px" +#. swap black and white +#: ../src/ui/dialog/tracedialog.cpp:473 +msgid "Invert image" +msgstr "Odwróć obrazek" -#: ../src/verbs.cpp:2312 -msgid "Outset selected paths by 1 px" -msgstr "Przesuwa zaznaczone ścieżki na zewnątrz kształtu o 1 px" +#: ../src/ui/dialog/tracedialog.cpp:478 +msgid "Invert black and white regions" +msgstr "Zamienia białe i czarne obszary" -#: ../src/verbs.cpp:2314 -msgid "O_utset Path by 10 px" -msgstr "Przesuń ścieżkę na z_ewnątrz o 10px" +#. # end single scan +#. # begin multiple scan +#: ../src/ui/dialog/tracedialog.cpp:487 +msgid "Brightness steps" +msgstr "Stopnie jasności" -#: ../src/verbs.cpp:2315 -msgid "Outset selected paths by 10 px" -msgstr "Przesuwa zaznaczone ścieżki na zewnątrz kształtu o 10 px" +#: ../src/ui/dialog/tracedialog.cpp:491 +msgid "Trace the given number of brightness levels" +msgstr "Śledzenie określonej ilości stopni jasności" -#. TRANSLATORS: "inset": contract a shape by offsetting the object's path, -#. i.e. by displacing it perpendicular to the path in each point. -#. See also the Advanced Tutorial for explanation. -#: ../src/verbs.cpp:2319 -msgid "I_nset" -msgstr "Przesuń do wewną_trz" +#: ../src/ui/dialog/tracedialog.cpp:498 +msgid "Scans:" +msgstr "Liczba przebiegów:" -#: ../src/verbs.cpp:2320 -msgid "Inset selected paths" -msgstr "Przesuwa zaznaczone ścieżki do wewnątrz kształtu" +#: ../src/ui/dialog/tracedialog.cpp:501 +msgid "The desired number of scans" +msgstr "Żądana liczba przebiegów skanowania" -#: ../src/verbs.cpp:2322 -msgid "I_nset Path by 1 px" -msgstr "Przesuń ścieżkę do _wewnątrz o 1px" +#: ../src/ui/dialog/tracedialog.cpp:505 +msgid "Colors" +msgstr "Kolory" -#: ../src/verbs.cpp:2323 -msgid "Inset selected paths by 1 px" -msgstr "Przesuwa zaznaczone ścieżki do wewnątrz kształtu o 1 px" +#: ../src/ui/dialog/tracedialog.cpp:509 +msgid "Trace the given number of reduced colors" +msgstr "Śledzenie określonej ilości zredukowanych kolorów" -#: ../src/verbs.cpp:2325 -msgid "I_nset Path by 10 px" -msgstr "Przesuń ścieżkę do wew_nątrz o 10 px" +#: ../src/ui/dialog/tracedialog.cpp:513 +msgid "Grays" +msgstr "Odcienie szarości" -#: ../src/verbs.cpp:2326 -msgid "Inset selected paths by 10 px" -msgstr "Przesuwa zaznaczone ścieżki do wewnątrz kształtu o 10 px" +#: ../src/ui/dialog/tracedialog.cpp:517 +msgid "Same as Colors, but the result is converted to grayscale" +msgstr "Jak dla funkcji \"Kolory\", ale z końcową konwersją do skali szarości" -#: ../src/verbs.cpp:2328 -msgid "D_ynamic Offset" -msgstr "Przesuń _dynamicznie" +#. TRANSLATORS: "Smooth" is a verb here +#: ../src/ui/dialog/tracedialog.cpp:522 +msgid "Smooth" +msgstr "Rozmycie" -#: ../src/verbs.cpp:2328 -msgid "Create a dynamic offset object" -msgstr "Tworzy obiekt przesunięty dynamicznie" +#: ../src/ui/dialog/tracedialog.cpp:526 +msgid "Apply Gaussian blur to the bitmap before tracing" +msgstr "Przed wektoryzacją wykonuje na bitmapie rozmycie Gaussa" -#: ../src/verbs.cpp:2330 -msgid "_Linked Offset" -msgstr "Przesuń łą_cznie" +#. TRANSLATORS: "Stack" is a verb here +#: ../src/ui/dialog/tracedialog.cpp:529 +msgid "Stack scans" +msgstr "Tworzenie stosu przebiegów" -#: ../src/verbs.cpp:2331 -msgid "Create a dynamic offset object linked to the original path" -msgstr "Tworzy obiekt przesunięty dynamicznie i połączony z oryginalną ścieżką" +#: ../src/ui/dialog/tracedialog.cpp:532 +msgid "Stack scans on top of one another (no gaps) instead of tiling (usually with gaps)" +msgstr "Nakładanie na siebie obszarów (brak prześwitów) zamiast złożenia wzdłuż krawędzi (zwykle widoczne są prześwity)" -#: ../src/verbs.cpp:2333 -msgid "_Stroke to Path" -msgstr "_Kontur na ścieżkę" +#: ../src/ui/dialog/tracedialog.cpp:535 +msgid "Remove background" +msgstr "Usuń tło" -#: ../src/verbs.cpp:2334 -msgid "Convert selected object's stroke to paths" -msgstr "Konwertuj kontur zaznaczonych obiektów na ścieżki" +#: ../src/ui/dialog/tracedialog.cpp:540 +msgid "Remove bottom (background) layer when done" +msgstr "Po zakończeniu usuwa dolną (tło) warstwę" -#: ../src/verbs.cpp:2335 -msgid "Si_mplify" -msgstr "_Uprość" +#: ../src/ui/dialog/tracedialog.cpp:544 +msgid "Multiple scans: creates a group of paths" +msgstr "Wiele przebiegów - tworzy grupę ścieżek" -#: ../src/verbs.cpp:2336 -msgid "Simplify selected paths (remove extra nodes)" -msgstr "Upraszcza zaznaczone ścieżki usuwając zbędne węzły" +#. ## begin option page +#. # potrace parameters +#: ../src/ui/dialog/tracedialog.cpp:559 +msgid "Suppress speckles" +msgstr "Tuszuj plamki" -#: ../src/verbs.cpp:2337 -msgid "_Reverse" -msgstr "Odwróć kieru_nek" +#: ../src/ui/dialog/tracedialog.cpp:561 +msgid "Ignore small spots (speckles) in the bitmap" +msgstr "Pomija małe plamki (cętki) w bitmapie" -#: ../src/verbs.cpp:2338 -msgid "Reverse the direction of selected paths (useful for flipping markers)" -msgstr "" -"Odwraca kierunek zaznaczonych ścieżek (przydatne do odwracania znaczników " -"rozmieszczonych na konturze)" +#: ../src/ui/dialog/tracedialog.cpp:569 +msgid "Speckles of up to this many pixels will be suppressed" +msgstr "Plamki powyżej określonej tutaj ilości pikseli będą tuszowane" -#. TRANSLATORS: "to trace" means "to convert a bitmap to vector graphics" (to vectorize) -#: ../src/verbs.cpp:2340 -msgid "_Trace Bitmap..." -msgstr "Wektoryzuj bit_mapę..." +#: ../src/ui/dialog/tracedialog.cpp:571 +msgid "Size:" +msgstr "Rozmiar" -#: ../src/verbs.cpp:2341 -msgid "Create one or more paths from a bitmap by tracing it" -msgstr "Tworzy z bitmapy, poprzez jej wektoryzację, jedną lub więcej ścieżek" +#: ../src/ui/dialog/tracedialog.cpp:574 +msgid "Smooth corners" +msgstr "Wygładź narożniki" -#: ../src/verbs.cpp:2342 -msgid "_Make a Bitmap Copy" -msgstr "Kopiuj jako _bitmapę" +#: ../src/ui/dialog/tracedialog.cpp:576 +msgid "Smooth out sharp corners of the trace" +msgstr "Wygładza ostre krawędzie ścieżki wektorowej" -#: ../src/verbs.cpp:2343 -msgid "Export selection to a bitmap and insert it into document" -msgstr "Eksportuje zaznaczenie do bitmapy i wstawia do dokumentu jako obraz" +#: ../src/ui/dialog/tracedialog.cpp:585 +msgid "Increase this to smooth corners more" +msgstr "Zwiększ wartość, aby bardziej wygładzić narożniki" -#: ../src/verbs.cpp:2344 -msgid "_Combine" -msgstr "P_ołącz" +#: ../src/ui/dialog/tracedialog.cpp:589 +msgid "Optimize paths" +msgstr "Optymalizuj ścieżki" -#: ../src/verbs.cpp:2345 -msgid "Combine several paths into one" -msgstr "Łączy kilka ścieżek w jedną" +#: ../src/ui/dialog/tracedialog.cpp:592 +msgid "Try to optimize paths by joining adjacent Bezier curve segments" +msgstr "Nastąpi próba optymalizacji ścieżek poprzez łączenie przylegających do siebie segmentów krzywej Beziera" -#. TRANSLATORS: "to cut a path" is not the same as "to break a path apart" - see the -#. Advanced tutorial for more info -#: ../src/verbs.cpp:2348 -msgid "Break _Apart" -msgstr "_Rozdziel" +#: ../src/ui/dialog/tracedialog.cpp:600 +msgid "Increase this to reduce the number of nodes in the trace by more aggressive optimization" +msgstr "Zwiększ wartość, aby poprzez intensywniejszą optymalizację, w tworzonej krzywej wektorowej zredukować liczbę węzłów" + +#: ../src/ui/dialog/tracedialog.cpp:601 +msgid "Tolerance:" +msgstr "Zaokrąglenie:" -#: ../src/verbs.cpp:2349 -msgid "Break selected paths into subpaths" -msgstr "Rozdziela zaznaczone ścieżki na poszczególne elementy" +#. ## end option page +#: ../src/ui/dialog/tracedialog.cpp:607 +#: ../src/ui/dialog/tracedialog.cpp:613 +msgid "Options" +msgstr "Opcje" -#: ../src/verbs.cpp:2350 -msgid "Rows and Columns..." -msgstr "W_iersze i kolumny..." +#. ### credits +#: ../src/ui/dialog/tracedialog.cpp:621 +msgid "Thanks to Peter Selinger, http://potrace.sourceforge.net" +msgstr "Podziękowania dla Petera Selingera, http://potrace.sourceforge.net" -#: ../src/verbs.cpp:2351 -msgid "Arrange selected objects in a table" -msgstr "" -"Otwórz okno umożliwiające rozmieszczanie zaznaczonych obiektów w tabeli" +#: ../src/ui/dialog/tracedialog.cpp:623 +msgid "Credits" +msgstr "Podziękowania" -#. Layer -#: ../src/verbs.cpp:2353 -msgid "_Add Layer..." -msgstr "_Nowa warstwa..." +#. #### begin right panel +#. ## SIOX +#: ../src/ui/dialog/tracedialog.cpp:637 +msgid "SIOX foreground selection" +msgstr "SIOX - wybór obszaru pierwszego planu" -#: ../src/verbs.cpp:2354 -msgid "Create a new layer" -msgstr "Tworzy nową warstwę" +#: ../src/ui/dialog/tracedialog.cpp:640 +msgid "Cover the area you want to select as the foreground" +msgstr "Oznacza obszar jaki chcesz wybrać jako pierwszy plan" -#: ../src/verbs.cpp:2355 -msgid "Re_name Layer..." -msgstr "_Zmień nazwę warstwy..." +#. ## preview +#: ../src/ui/dialog/tracedialog.cpp:645 +msgid "Update" +msgstr "Aktualizuj" -#: ../src/verbs.cpp:2356 -msgid "Rename the current layer" -msgstr "Zmienia nazwę aktywnej warstwy" +#: ../src/ui/dialog/tracedialog.cpp:651 +msgid "Preview the intermediate bitmap with the current settings, without actual tracing" +msgstr "Podgląd bitmapy z aktualnymi ustawieniami, bez wektoryzacji" -#: ../src/verbs.cpp:2357 -msgid "Switch to Layer Abov_e" -msgstr "_Przejdź na wyższą warstwę" +#: ../src/ui/dialog/tracedialog.cpp:655 +msgid "Preview" +msgstr "Podgląd" -#: ../src/verbs.cpp:2358 -msgid "Switch to the layer above the current" -msgstr "Przechodzi do warstwy położonej powyżej aktywnej warstwy" +#: ../src/ui/dialog/tracedialog.cpp:672 +msgid "Abort a trace in progress" +msgstr "Przerwij wektoryzację" -#: ../src/verbs.cpp:2359 -msgid "Switch to Layer Belo_w" -msgstr "Przej_dź na niższą warstwę" +#: ../src/ui/dialog/tracedialog.cpp:676 +msgid "Execute the trace" +msgstr "Wykonaj wektoryzację" -#: ../src/verbs.cpp:2360 -msgid "Switch to the layer below the current" -msgstr "Przechodzi do warstwy położonej poniżej aktywnej warstwy" +#: ../src/ui/dialog/transformation.cpp:83 +msgid "Horizontal displacement (relative) or position (absolute)" +msgstr "Przesunięcie poziome (względne) lub pozycja (bezwzględna)" -#: ../src/verbs.cpp:2361 -msgid "Move Selection to Layer Abo_ve" -msgstr "Przenieś zazna_czenie na wyższą warstwę" +#: ../src/ui/dialog/transformation.cpp:83 +#: ../src/ui/dialog/transformation.cpp:93 +msgid "_Horizontal" +msgstr "_Poziome" -#: ../src/verbs.cpp:2362 -msgid "Move selection to the layer above the current" -msgstr "Przenosi zaznaczenie na warstwę ponad aktywną" +#: ../src/ui/dialog/transformation.cpp:85 +msgid "Vertical displacement (relative) or position (absolute)" +msgstr "Przesunięcie pionowe (względne) lub pozycja (bezwzględna)" -#: ../src/verbs.cpp:2363 -msgid "Move Selection to Layer Bel_ow" -msgstr "Prz_enieś zaznaczenie na niższą warstwę" +#: ../src/ui/dialog/transformation.cpp:85 +#: ../src/ui/dialog/transformation.cpp:95 +msgid "_Vertical" +msgstr "Pi_onowe" -#: ../src/verbs.cpp:2364 -msgid "Move selection to the layer below the current" -msgstr "Przenosi zaznaczenie na warstwę poniżej aktywnej" +#: ../src/ui/dialog/transformation.cpp:87 +msgid "Horizontal size (absolute or percentage of current)" +msgstr "Poziomy przyrost rozmiaru (bezwzględny lub procentowy aktualnego)" -#: ../src/verbs.cpp:2365 -msgid "Layer to _Top" -msgstr "Przenieś warstwę na _wierzch" +#: ../src/ui/dialog/transformation.cpp:87 +msgid "_Width" +msgstr "_Szerokość" -#: ../src/verbs.cpp:2366 -msgid "Raise the current layer to the top" -msgstr "Przenosi aktywną warstwę na górę" +#: ../src/ui/dialog/transformation.cpp:89 +msgid "Vertical size (absolute or percentage of current)" +msgstr "Pionowy przyrost rozmiaru (bezwzględny lub procentowy aktualnego)" -#: ../src/verbs.cpp:2367 -msgid "Layer to _Bottom" -msgstr "Przenieś warstwę pod _spód" +#: ../src/ui/dialog/transformation.cpp:89 +msgid "_Height" +msgstr "_Wysokość" -#: ../src/verbs.cpp:2368 -msgid "Lower the current layer to the bottom" -msgstr "Przenosi aktywną warstwę na dół" +#: ../src/ui/dialog/transformation.cpp:91 +msgid "A_ngle" +msgstr "_Kąt" -#: ../src/verbs.cpp:2369 -msgid "_Raise Layer" -msgstr "Przenieś w_arstwę wyżej" +#: ../src/ui/dialog/transformation.cpp:91 +msgid "Rotation angle (positive = counterclockwise)" +msgstr "Kąt obrotu (dodatni = przeciwnie do ruchu wskazówek zegara)" -#: ../src/verbs.cpp:2370 -msgid "Raise the current layer" -msgstr "Przenosi aktywną warstwę o jedną pozycję wyżej" +#: ../src/ui/dialog/transformation.cpp:93 +msgid "Horizontal skew angle (positive = counterclockwise), or absolute displacement, or percentage displacement" +msgstr "Poziomy kąt pochylenia (dodatni = przeciwnie do ruchu wskazówek zegara), lub bezwzględne przesunięcie, lub przesunięcie procentowe" -#: ../src/verbs.cpp:2371 -msgid "_Lower Layer" -msgstr "Przenieś wa_rstwę niżej" +#: ../src/ui/dialog/transformation.cpp:95 +msgid "Vertical skew angle (positive = counterclockwise), or absolute displacement, or percentage displacement" +msgstr "Pionowy kąt pochylenia (dodatni = przeciwnie do ruchu wskazówek zegara), lub bezwzględne przesunięcie, lub przesunięcie procentowe" -#: ../src/verbs.cpp:2372 -msgid "Lower the current layer" -msgstr "Przenosi aktywną warstwę o jedną pozycję niżej" +#: ../src/ui/dialog/transformation.cpp:98 +msgid "Transformation matrix element A" +msgstr "Element A macierzy przekształcenia" -#: ../src/verbs.cpp:2373 -msgid "_Delete Current Layer" -msgstr "_Usuń aktywną warstwę" +#: ../src/ui/dialog/transformation.cpp:99 +msgid "Transformation matrix element B" +msgstr "Element B macierzy przekształcenia" -#: ../src/verbs.cpp:2374 -msgid "Delete the current layer" -msgstr "Usuwa aktywną warstwę razem ze znajdującymi się na niej obiektami" +#: ../src/ui/dialog/transformation.cpp:100 +msgid "Transformation matrix element C" +msgstr "Element C macierzy przekształcenia" -#. Object -#: ../src/verbs.cpp:2377 -msgid "Rotate _90° CW" -msgstr "_Obróć o 90° w prawo" +#: ../src/ui/dialog/transformation.cpp:101 +msgid "Transformation matrix element D" +msgstr "Element D macierzy przekształcenia" -#. This is shared between tooltips and statusbar, so they -#. must use UTF-8, not HTML entities for special characters. -#: ../src/verbs.cpp:2380 -msgid "Rotate selection 90° clockwise" -msgstr "Obróć zaznaczone obiekty o 90° w prawo" +#: ../src/ui/dialog/transformation.cpp:102 +msgid "Transformation matrix element E" +msgstr "Element E macierzy przekształcenia" -#: ../src/verbs.cpp:2381 -msgid "Rotate 9_0° CCW" -msgstr "O_bróć o 90° w lewo" +#: ../src/ui/dialog/transformation.cpp:103 +msgid "Transformation matrix element F" +msgstr "Element F macierzy przekształcenia" -#. This is shared between tooltips and statusbar, so they -#. must use UTF-8, not HTML entities for special characters. -#: ../src/verbs.cpp:2384 -msgid "Rotate selection 90° counter-clockwise" -msgstr "Obróć zaznaczone obiekty o 90° w lewo" +#: ../src/ui/dialog/transformation.cpp:105 +msgid "Add the specified relative displacement to the current position; otherwise, edit the current absolute position directly" +msgstr "Dodaj wybraną wartość przesunięcia względnego do aktualnej pozycji lub bezpośrednio edytuj bezwzględną pozycję" -#: ../src/verbs.cpp:2385 -msgid "Remove _Transformations" -msgstr "Usuń przekształcenia" +#: ../src/ui/dialog/transformation.cpp:105 +msgid "Rela_tive move" +msgstr "Przesunięcie względne" -#: ../src/verbs.cpp:2386 -msgid "Remove transformations from object" -msgstr "Usuwa przekształcenia z obiektu" +#: ../src/ui/dialog/transformation.cpp:106 +msgid "Preserve the width/height ratio of the scaled objects" +msgstr "Zachowuje proporcje pomiędzy szerokością i wysokością dla skalowanych obiektów" -#: ../src/verbs.cpp:2387 -msgid "_Object to Path" -msgstr "O_biekt na ścieżkę" +#: ../src/ui/dialog/transformation.cpp:106 +msgid "Scale proportionally" +msgstr "Skaluj proporcjonalne" -#: ../src/verbs.cpp:2388 -msgid "Convert selected object to path" -msgstr "Konwertuj zaznaczone obiekty na ścieżki" +#: ../src/ui/dialog/transformation.cpp:107 +msgid "Apply the scale/rotate/skew to each selected object separately; otherwise, transform the selection as a whole" +msgstr "Wykonuje skalowanie/obrot/pochylenie osobno dla każdego z zaznaczonych obiektów, w przeciwnym razie zaznaczenie jest przekształcane jako całość" -#: ../src/verbs.cpp:2389 -msgid "_Flow into Frame" -msgstr "W_prowadź tekst do kształtu" +#: ../src/ui/dialog/transformation.cpp:107 +msgid "Apply to each _object separately" +msgstr "Zastosuj osobno dla każdego obiektu" -#: ../src/verbs.cpp:2390 -msgid "" -"Put text into a frame (path or shape), creating a flowed text linked to the " -"frame object" -msgstr "" -"Wprowadza tekst do ramki, ścieżki lub kształtu, tworząc tekst opływający " -"przypisany do ramki obiektu" +#: ../src/ui/dialog/transformation.cpp:108 +msgid "Edit c_urrent matrix" +msgstr "Edycja macierzy istniejącego przekształcenia" -#: ../src/verbs.cpp:2391 -msgid "_Unflow" -msgstr "_Uwolnij tekst" +#: ../src/ui/dialog/transformation.cpp:108 +msgid "Edit the current transform= matrix; otherwise, post-multiply transform= by this matrix" +msgstr "Jeśli opcja jest zaznaczona, edytowana jest macierz całego istniejącego przekształcenia obiektu, w przeciwnym razie istniejące przekształcenie zostanie pomnożone przez nową macierz" -#: ../src/verbs.cpp:2392 -msgid "Remove text from frame (creates a single-line text object)" -msgstr "Usuwa tekst z ramki (tworzy obiekt tekstowy w pojedynczej linii)" +#: ../src/ui/dialog/transformation.cpp:118 +msgid "_Move" +msgstr "_Przesuń" -#: ../src/verbs.cpp:2393 -msgid "_Convert to Text" -msgstr "_Konwertuj na zwykły tekst" +#: ../src/ui/dialog/transformation.cpp:121 +msgid "_Scale" +msgstr "_Skaluj" -#: ../src/verbs.cpp:2394 -msgid "Convert flowed text to regular text object (preserves appearance)" -msgstr "" -"Konwertuje tekst dopasowany do kształtu na zwykły obiekt tekstowy (z " -"zachowaniem wyglądu)" +#: ../src/ui/dialog/transformation.cpp:124 +msgid "_Rotate" +msgstr "_Obróć" -#: ../src/verbs.cpp:2396 -msgid "Flip _Horizontal" -msgstr "Odbij pozio_mo" +#: ../src/ui/dialog/transformation.cpp:127 +msgid "Ske_w" +msgstr "Po_chyl" -#: ../src/verbs.cpp:2396 -msgid "Flip selected objects horizontally" -msgstr "Odbij zaznaczone obiekty poziomo" +#: ../src/ui/dialog/transformation.cpp:130 +msgid "Matri_x" +msgstr "_Macierz" -#: ../src/verbs.cpp:2399 -msgid "Flip _Vertical" -msgstr "Odbij pio_nowo" +#: ../src/ui/dialog/transformation.cpp:153 +msgid "Reset the values on the current tab to defaults" +msgstr "Zresetuj wartości w aktywnej karcie do wartości domyślnych" -#: ../src/verbs.cpp:2399 -msgid "Flip selected objects vertically" -msgstr "Odbij zaznaczone obiekty pionowo" +#: ../src/ui/dialog/transformation.cpp:160 +msgid "Apply transformation to selection" +msgstr "Zastosuj przekształcenie do zaznaczenia" -#: ../src/verbs.cpp:2402 -msgid "Apply mask to selection (using the topmost object as mask)" -msgstr "" -"Nakłada maskę na zaznaczenie (wykorzystując obiekt na wierzchu jako maskę)" +#: ../src/ui/dialog/transformation.cpp:842 +msgid "Edit transformation matrix" +msgstr "Edytuj macierz przekształcenia" -#: ../src/verbs.cpp:2404 -msgid "Edit mask" -msgstr "Edytuj maskę" +#: ../src/ui/dialog/whiteboard-connect.cpp:44 +msgid "_Register" +msgstr "_Rejestruj" -#: ../src/verbs.cpp:2405 ../src/verbs.cpp:2411 -msgid "_Release" -msgstr "_Zdejmij" +#: ../src/ui/dialog/whiteboard-connect.cpp:44 +msgid "_Use SSL" +msgstr "_Użyj SSL" -#: ../src/verbs.cpp:2406 -msgid "Remove mask from selection" -msgstr "Zdejmuje maskę z zaznaczonych obiektów" +#. Construct dialog interface +#: ../src/ui/dialog/whiteboard-connect.cpp:75 +msgid "_Server:" +msgstr "_Serwer:" -#: ../src/verbs.cpp:2408 -msgid "" -"Apply clipping path to selection (using the topmost object as clipping path)" -msgstr "" -"Nakłada ścieżkę przycinającą na zaznaczenie wykorzystując obiekt na wierzchu " -"jako ścieżkę przycinającą" +#: ../src/ui/dialog/whiteboard-connect.cpp:76 +msgid "_Username:" +msgstr "Nazwa _użytkownika:" -#: ../src/verbs.cpp:2410 ../src/widgets/toolbox.cpp:1222 -msgid "Edit clipping path" -msgstr "Edytuj ścieżkę przycinania" +#: ../src/ui/dialog/whiteboard-connect.cpp:77 +msgid "_Password:" +msgstr "_Hasło:" -#: ../src/verbs.cpp:2412 -msgid "Remove clipping path from selection" -msgstr "Usuwa z zaznaczenia ścieżkę przycinającą" +#: ../src/ui/dialog/whiteboard-connect.cpp:78 +msgid "P_ort:" +msgstr "P_ort:" -#. Tools -#: ../src/verbs.cpp:2415 -msgid "Select" -msgstr "Wskaźnik" +#. Buttons +#: ../src/ui/dialog/whiteboard-connect.cpp:115 +msgid "Connect" +msgstr "Połącz" -#: ../src/verbs.cpp:2416 -msgid "Select and transform objects" -msgstr "Wskaźnik: Zaznaczanie i przekształcanie obiektów" +#: ../src/ui/dialog/whiteboard-connect.cpp:146 +msgid "Establishing connection to Jabber server %1" +msgstr "Ustanawianie połączenia z serwerem Jabbera %1" -#: ../src/verbs.cpp:2417 -msgid "Node Edit" -msgstr "Edycja węzłów" +#: ../src/ui/dialog/whiteboard-connect.cpp:173 +#: ../src/ui/dialog/whiteboard-connect.cpp:219 +#: ../src/ui/dialog/whiteboard-connect.cpp:257 +msgid "Failed to establish connection to Jabber server %1" +msgstr "Nie udało się ustanowić połączenia z serwerem Jabbera %1" -#: ../src/verbs.cpp:2418 -msgid "Edit paths by nodes" -msgstr "Edycja węzłów: Edytowanie węzłów i uchwytów sterujących ścieżek" +#: ../src/ui/dialog/whiteboard-connect.cpp:212 +msgid "Establishing connection to Jabber server %1 as user %2" +msgstr "Ustanowiono połączenie z serwerem Jabbera %1 jako %2" -#: ../src/verbs.cpp:2420 -msgid "Tweak objects by sculpting or painting" -msgstr "Ulepszanie: Ulepszanie obiektów za pomocą rzeźbienia lub malowania" +#: ../src/ui/dialog/whiteboard-connect.cpp:224 +msgid "Authentication failed on Jabber server %1 as %2" +msgstr "Autoryzacja na serwerze Jabbera %1 jako %2 się nie powiodła" -#: ../src/verbs.cpp:2422 -msgid "Create rectangles and squares" -msgstr "Prostokąt: Tworzenie prostokątów i kwadratów" +#: ../src/ui/dialog/whiteboard-connect.cpp:229 +#: ../src/ui/dialog/whiteboard-connect.cpp:267 +msgid "SSL initialization failed when connecting to Jabber server %1" +msgstr "Nie udało się zainicjować obsługi SSL w trakcie połączenia z serwerem Jabbera %1" -#: ../src/verbs.cpp:2424 -msgid "Create 3D boxes" -msgstr "Obiekt 3D: Tworzenie obiektów 3D" +#: ../src/ui/dialog/whiteboard-connect.cpp:235 +#: ../src/ui/dialog/whiteboard-connect.cpp:273 +msgid "Connected to Jabber server %1 as %2" +msgstr "Połączono z serwerem Jabbera %1 jako %2" -#: ../src/verbs.cpp:2426 -msgid "Create circles, ellipses, and arcs" -msgstr "Okrąg: Tworzenie okręgów, elips i łuków" +#: ../src/ui/dialog/whiteboard-connect.cpp:262 +msgid "Registration failed on Jabber server %1 as %2" +msgstr "Nie udało się zarejestrować na serwerze Jabbera %1 jako %2" -#: ../src/verbs.cpp:2428 -msgid "Create stars and polygons" -msgstr "Gwiazda: Tworzenie gwiazd i wielokątów" +#. Construct labels +#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:74 +msgid "Chatroom _name:" +msgstr "_Nazwa pokoju rozmów:" -#: ../src/verbs.cpp:2430 -msgid "Create spirals" -msgstr "Spirala: Tworzenie spiral" +#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:75 +msgid "Chatroom _server:" +msgstr "_Serwer pokoju rozmów:" -#: ../src/verbs.cpp:2432 -msgid "Draw freehand lines" -msgstr "Ołówek: Ręczne rysowanie krzywych" +#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:76 +msgid "Chatroom _password:" +msgstr "_Hasło pokoju rozmów:" -#: ../src/verbs.cpp:2434 -msgid "Draw Bezier curves and straight lines" -msgstr "Pióro: Rysowanie krzywych Beziera i linii prostych" +#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:77 +#, fuzzy +msgid "Chatroom _handle:" +msgstr "_Nazwa pokoju rozmów" -#: ../src/verbs.cpp:2436 -msgid "Draw calligraphic or brush strokes" -msgstr "Kaligrafia: Tworzenie linii kaligraficznych lub pociągnięć pędzlem" +#. Button setup and callback registration +#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:101 +msgid "Connect to chatroom" +msgstr "Połącz z pokojem rozmów" -#: ../src/verbs.cpp:2438 -msgid "Create and edit text objects" -msgstr "Tekst: Tworzenie i modyfikowanie obiektów tekstowych" +#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:136 +msgid "Synchronizing with chatroom %1@%2 using the handle %3" +msgstr "Synchronizowanie z pokojem rozmów %1@%2 używając nazwy %3" -#: ../src/verbs.cpp:2440 -msgid "Create and edit gradients" -msgstr "Gradient: Tworzenie i modyfikowanie gradientów" +#. Construct dialog interface +#: ../src/ui/dialog/whiteboard-sharewithuser.cpp:76 +msgid "_User's Jabber ID:" +msgstr "ID Jabbera _użytkownika" -#: ../src/verbs.cpp:2442 -msgid "Zoom in or out" -msgstr "Powiększenie: Zmienianie skali wyświetlania rysunku" +#. Buttons +#: ../src/ui/dialog/whiteboard-sharewithuser.cpp:80 +msgid "_Invite user" +msgstr "_Zaproś" -#: ../src/verbs.cpp:2444 -msgid "Pick colors from image" -msgstr "Próbnik koloru: Pobieranie kolorów z obrazka" +#: ../src/ui/dialog/whiteboard-sharewithuser.cpp:81 +msgid "_Cancel" +msgstr "_Anuluj" -#: ../src/verbs.cpp:2446 -msgid "Create diagram connectors" -msgstr "Łącznik: Tworzenie diagramu łączników" +#: ../src/ui/dialog/whiteboard-sharewithuser.cpp:92 +msgid "Buddy List" +msgstr "Lista znajomych" -#: ../src/verbs.cpp:2448 -msgid "Fill bounded areas" -msgstr "Wypełnienie: Wypełnianie kolorem zaznaczonych obszarów" +#: ../src/ui/dialog/whiteboard-sharewithuser.cpp:181 +msgid "Sending whiteboard invitation to %1" +msgstr "Wysyłanie zaproszenia do %1" -#: ../src/verbs.cpp:2449 -msgid "LPE Edit" -msgstr "Edytuj LPE" +#. FIXME: strings are replaced by placeholders, NOT to be translated until the code is enabled +#. See http://sourceforge.net/mailarchive/message.php?msg_id=11746016 for details +#. File menu +#. Edit menu +#. View menu +#. Layer menu +#. Object menu +#. Path menu +#. add(Gtk::StockItem(CLEANUP, _("PLACEHOLDER, do not translate"))); (using Gtk::Stock::CLEAR) +#. Text menu +#. About menu +#. Tools toolbox +#. Select Tool controls +#. Node Tool controls +#. Calligraphy Tool controls +#. Session playback controls +#: ../src/ui/stock-items.cpp:31 +#: ../src/ui/stock-items.cpp:32 +#: ../src/ui/stock-items.cpp:33 +#: ../src/ui/stock-items.cpp:34 +#: ../src/ui/stock-items.cpp:35 +#: ../src/ui/stock-items.cpp:36 +#: ../src/ui/stock-items.cpp:37 +#: ../src/ui/stock-items.cpp:38 +#: ../src/ui/stock-items.cpp:39 +#: ../src/ui/stock-items.cpp:40 +#: ../src/ui/stock-items.cpp:41 +#: ../src/ui/stock-items.cpp:42 +#: ../src/ui/stock-items.cpp:45 +#: ../src/ui/stock-items.cpp:46 +#: ../src/ui/stock-items.cpp:47 +#: ../src/ui/stock-items.cpp:48 +#: ../src/ui/stock-items.cpp:49 +#: ../src/ui/stock-items.cpp:50 +#: ../src/ui/stock-items.cpp:51 +#: ../src/ui/stock-items.cpp:52 +#: ../src/ui/stock-items.cpp:53 +#: ../src/ui/stock-items.cpp:54 +#: ../src/ui/stock-items.cpp:55 +#: ../src/ui/stock-items.cpp:56 +#: ../src/ui/stock-items.cpp:57 +#: ../src/ui/stock-items.cpp:58 +#: ../src/ui/stock-items.cpp:61 +#: ../src/ui/stock-items.cpp:62 +#: ../src/ui/stock-items.cpp:63 +#: ../src/ui/stock-items.cpp:64 +#: ../src/ui/stock-items.cpp:65 +#: ../src/ui/stock-items.cpp:66 +#: ../src/ui/stock-items.cpp:67 +#: ../src/ui/stock-items.cpp:68 +#: ../src/ui/stock-items.cpp:69 +#: ../src/ui/stock-items.cpp:70 +#: ../src/ui/stock-items.cpp:71 +#: ../src/ui/stock-items.cpp:72 +#: ../src/ui/stock-items.cpp:73 +#: ../src/ui/stock-items.cpp:74 +#: ../src/ui/stock-items.cpp:75 +#: ../src/ui/stock-items.cpp:76 +#: ../src/ui/stock-items.cpp:77 +#: ../src/ui/stock-items.cpp:78 +#: ../src/ui/stock-items.cpp:79 +#: ../src/ui/stock-items.cpp:80 +#: ../src/ui/stock-items.cpp:81 +#: ../src/ui/stock-items.cpp:82 +#: ../src/ui/stock-items.cpp:83 +#: ../src/ui/stock-items.cpp:84 +#: ../src/ui/stock-items.cpp:85 +#: ../src/ui/stock-items.cpp:86 +#: ../src/ui/stock-items.cpp:87 +#: ../src/ui/stock-items.cpp:88 +#: ../src/ui/stock-items.cpp:91 +#: ../src/ui/stock-items.cpp:92 +#: ../src/ui/stock-items.cpp:93 +#: ../src/ui/stock-items.cpp:94 +#: ../src/ui/stock-items.cpp:95 +#: ../src/ui/stock-items.cpp:96 +#: ../src/ui/stock-items.cpp:97 +#: ../src/ui/stock-items.cpp:98 +#: ../src/ui/stock-items.cpp:99 +#: ../src/ui/stock-items.cpp:100 +#: ../src/ui/stock-items.cpp:101 +#: ../src/ui/stock-items.cpp:102 +#: ../src/ui/stock-items.cpp:103 +#: ../src/ui/stock-items.cpp:104 +#: ../src/ui/stock-items.cpp:107 +#: ../src/ui/stock-items.cpp:108 +#: ../src/ui/stock-items.cpp:109 +#: ../src/ui/stock-items.cpp:110 +#: ../src/ui/stock-items.cpp:111 +#: ../src/ui/stock-items.cpp:112 +#: ../src/ui/stock-items.cpp:113 +#: ../src/ui/stock-items.cpp:114 +#: ../src/ui/stock-items.cpp:115 +#: ../src/ui/stock-items.cpp:116 +#: ../src/ui/stock-items.cpp:117 +#: ../src/ui/stock-items.cpp:118 +#: ../src/ui/stock-items.cpp:119 +#: ../src/ui/stock-items.cpp:120 +#: ../src/ui/stock-items.cpp:121 +#: ../src/ui/stock-items.cpp:122 +#: ../src/ui/stock-items.cpp:123 +#: ../src/ui/stock-items.cpp:124 +#: ../src/ui/stock-items.cpp:125 +#: ../src/ui/stock-items.cpp:126 +#: ../src/ui/stock-items.cpp:129 +#: ../src/ui/stock-items.cpp:130 +#: ../src/ui/stock-items.cpp:131 +#: ../src/ui/stock-items.cpp:132 +#: ../src/ui/stock-items.cpp:133 +#: ../src/ui/stock-items.cpp:134 +#: ../src/ui/stock-items.cpp:135 +#: ../src/ui/stock-items.cpp:136 +#: ../src/ui/stock-items.cpp:137 +#: ../src/ui/stock-items.cpp:138 +#: ../src/ui/stock-items.cpp:139 +#: ../src/ui/stock-items.cpp:140 +#: ../src/ui/stock-items.cpp:141 +#: ../src/ui/stock-items.cpp:142 +#: ../src/ui/stock-items.cpp:143 +#: ../src/ui/stock-items.cpp:144 +#: ../src/ui/stock-items.cpp:145 +#: ../src/ui/stock-items.cpp:149 +#: ../src/ui/stock-items.cpp:150 +#: ../src/ui/stock-items.cpp:151 +#: ../src/ui/stock-items.cpp:152 +#: ../src/ui/stock-items.cpp:155 +#: ../src/ui/stock-items.cpp:156 +#: ../src/ui/stock-items.cpp:157 +#: ../src/ui/stock-items.cpp:160 +#: ../src/ui/stock-items.cpp:161 +#: ../src/ui/stock-items.cpp:162 +#: ../src/ui/stock-items.cpp:163 +#: ../src/ui/stock-items.cpp:164 +#: ../src/ui/stock-items.cpp:165 +#: ../src/ui/stock-items.cpp:166 +#: ../src/ui/stock-items.cpp:167 +#: ../src/ui/stock-items.cpp:168 +#: ../src/ui/stock-items.cpp:169 +#: ../src/ui/stock-items.cpp:170 +#: ../src/ui/stock-items.cpp:171 +#: ../src/ui/stock-items.cpp:174 +#: ../src/ui/stock-items.cpp:175 +#: ../src/ui/stock-items.cpp:176 +#: ../src/ui/stock-items.cpp:177 +#: ../src/ui/stock-items.cpp:180 +#: ../src/ui/stock-items.cpp:181 +#: ../src/ui/stock-items.cpp:182 +#: ../src/ui/stock-items.cpp:183 +#: ../src/ui/stock-items.cpp:184 +#: ../src/ui/stock-items.cpp:185 +#: ../src/ui/stock-items.cpp:186 +#: ../src/ui/stock-items.cpp:187 +#: ../src/ui/stock-items.cpp:188 +#: ../src/ui/stock-items.cpp:189 +#: ../src/ui/stock-items.cpp:190 +#: ../src/ui/stock-items.cpp:193 +#: ../src/ui/stock-items.cpp:194 +#: ../src/ui/stock-items.cpp:197 +#: ../src/ui/stock-items.cpp:198 +#: ../src/ui/stock-items.cpp:199 +#: ../src/ui/stock-items.cpp:200 +#: ../src/ui/stock-items.cpp:201 +#: ../src/ui/view/edit-widget.cpp:343 +#: ../src/ui/view/edit-widget.cpp:348 +#: ../src/ui/view/edit-widget.cpp:356 +#: ../src/ui/view/edit-widget.cpp:361 +#: ../src/ui/view/edit-widget.cpp:366 +#: ../src/ui/view/edit-widget.cpp:371 +#: ../src/ui/view/edit-widget.cpp:376 +#: ../src/ui/view/edit-widget.cpp:381 +#: ../src/ui/view/edit-widget.cpp:394 +#: ../src/ui/view/edit-widget.cpp:399 +#: ../src/ui/view/edit-widget.cpp:413 +#: ../src/ui/view/edit-widget.cpp:417 +#: ../src/ui/view/edit-widget.cpp:421 +#: ../src/ui/view/edit-widget.cpp:425 +#: ../src/ui/view/edit-widget.cpp:429 +#: ../src/ui/view/edit-widget.cpp:433 +#: ../src/ui/view/edit-widget.cpp:447 +#: ../src/ui/view/edit-widget.cpp:451 +#: ../src/ui/view/edit-widget.cpp:455 +#: ../src/ui/view/edit-widget.cpp:486 +#: ../src/ui/view/edit-widget.cpp:495 +#: ../src/ui/view/edit-widget.cpp:499 +#: ../src/ui/view/edit-widget.cpp:503 +#: ../src/ui/view/edit-widget.cpp:507 +#: ../src/ui/view/edit-widget.cpp:511 +#: ../src/ui/view/edit-widget.cpp:515 +#: ../src/ui/view/edit-widget.cpp:519 +#: ../src/ui/view/edit-widget.cpp:523 +#: ../src/ui/view/edit-widget.cpp:527 +#: ../src/ui/view/edit-widget.cpp:531 +#: ../src/ui/view/edit-widget.cpp:535 +#: ../src/ui/view/edit-widget.cpp:632 +#: ../src/ui/view/edit-widget.cpp:644 +#: ../src/ui/view/edit-widget.cpp:648 +#: ../src/ui/view/edit-widget.cpp:652 +#: ../src/ui/view/edit-widget.cpp:656 +#: ../src/ui/view/edit-widget.cpp:660 +#: ../src/ui/view/edit-widget.cpp:664 +#: ../src/ui/view/edit-widget.cpp:668 +#: ../src/ui/view/edit-widget.cpp:672 +#: ../src/ui/view/edit-widget.cpp:676 +#: ../src/ui/view/edit-widget.cpp:680 +#: ../src/ui/view/edit-widget.cpp:684 +#: ../src/ui/view/edit-widget.cpp:688 +#: ../src/ui/view/edit-widget.cpp:692 +#: ../src/ui/view/edit-widget.cpp:696 +#: ../src/ui/view/edit-widget.cpp:700 +#: ../src/ui/view/edit-widget.cpp:704 +#: ../src/ui/view/edit-widget.cpp:709 +#: ../src/ui/view/edit-widget.cpp:715 +#: ../src/ui/view/edit-widget.cpp:719 +#: ../src/ui/view/edit-widget.cpp:769 +#: ../src/ui/view/edit-widget.cpp:774 +#: ../src/ui/view/edit-widget.cpp:810 +#: ../src/ui/view/edit-widget.cpp:815 +#: ../src/ui/view/edit-widget.cpp:820 +#: ../src/ui/view/edit-widget.cpp:824 +#: ../src/ui/view/edit-widget.cpp:828 +#: ../src/ui/view/edit-widget.cpp:832 +#: ../src/ui/view/edit-widget.cpp:836 +#: ../src/ui/view/edit-widget.cpp:840 +#: ../src/ui/view/edit-widget.cpp:844 +#: ../src/ui/view/edit-widget.cpp:848 +#: ../src/ui/view/edit-widget.cpp:852 +#: ../src/ui/view/edit-widget.cpp:856 +#: ../src/ui/view/edit-widget.cpp:861 +#: ../src/ui/view/edit-widget.cpp:865 +#: ../src/ui/view/edit-widget.cpp:869 +#: ../src/ui/view/edit-widget.cpp:873 +#: ../src/ui/view/edit-widget.cpp:878 +#: ../src/ui/view/edit-widget.cpp:882 +#: ../src/ui/view/edit-widget.cpp:886 +#: ../src/ui/view/edit-widget.cpp:890 +#: ../src/ui/view/edit-widget.cpp:894 +#: ../src/ui/view/edit-widget.cpp:898 +#: ../src/ui/view/edit-widget.cpp:902 +#: ../src/ui/view/edit-widget.cpp:906 +#: ../src/ui/view/edit-widget.cpp:910 +#: ../src/ui/view/edit-widget.cpp:914 +#: ../src/ui/view/edit-widget.cpp:918 +#: ../src/ui/view/edit-widget.cpp:1003 +msgid "PLACEHOLDER, do not translate" +msgstr "-" -#: ../src/verbs.cpp:2450 -msgid "Edit Live Path Effect parameters" -msgstr "Edycja parametrów efektu żywej ścieżki" +#: ../src/ui/view/edit-widget.cpp:1062 +#: ../src/widgets/desktop-widget.cpp:379 +msgid "Zoom drawing if window size changes" +msgstr "Dopasowuje rozmiar całego rysunku do okna" -#: ../src/verbs.cpp:2452 -msgid "Erase existing paths" -msgstr "Usuń istniejące ścieżki" +#: ../src/ui/view/edit-widget.cpp:1083 +#: ../src/widgets/desktop-widget.cpp:504 +msgid "Cursor coordinates" +msgstr "Współrzędne kursora" -#. Tool prefs -#: ../src/verbs.cpp:2454 -msgid "Selector Preferences" -msgstr "Ustawienia narzędzia \"Wskaźnik\"" +#: ../src/ui/view/edit-widget.cpp:1100 +#, fuzzy +msgid "Welcome to Inkscape! Use shape or drawing tools to create objects; use selector (arrow) to move or transform them." +msgstr "Witaj w programie Inkscape! Wybierz z przybornika narzędzie do rysowania lub użyj wskaźnika (strzałki), aby przesuwać lub przekształcać obiekty." -#: ../src/verbs.cpp:2455 -msgid "Open Preferences for the Selector tool" -msgstr "Otwiera okno ustawień dla narzędzia \"Wskaźnik\"" +#: ../src/ui/view/edit-widget.cpp:1211 +#: ../src/widgets/desktop-widget.cpp:839 +#, c-format +msgid "" +"Save changes to document \"%s\" before closing?\n" +"\n" +"If you close without saving, your changes will be discarded." +msgstr "" +"Czy przed zamknięciem programu zapisać zmiany w dokumencie \"%s\"?\n" +"\n" +"Zamknięcie bez zapisywania spowoduje utratę wprowadzonych zmian." -#: ../src/verbs.cpp:2456 -msgid "Node Tool Preferences" -msgstr "Ustawienia narzędzia \"Edycja węzłów\"" +#: ../src/ui/view/edit-widget.cpp:1222 +#: ../src/ui/view/edit-widget.cpp:1269 +#: ../src/widgets/desktop-widget.cpp:846 +#: ../src/widgets/desktop-widget.cpp:902 +msgid "Close _without saving" +msgstr "_Nie zapisuj" -#: ../src/verbs.cpp:2457 -msgid "Open Preferences for the Node tool" -msgstr "Otwiera okno ustawień dla narzędzia \"Edycja węzłów\"" +#: ../src/ui/view/edit-widget.cpp:1257 +#: ../src/widgets/desktop-widget.cpp:894 +#, c-format +msgid "" +"The file \"%s\" was saved with a format (%s) that may cause data loss!\n" +"\n" +"Do you want to save this file as an Inkscape SVG?" +msgstr "" +"Plik \"%s\" został zapisany w formacie (%s), który może spowodować utratę danych!\n" +"\n" +"Czy chcesz zapisać ten plik w formacie SVG Inkscape'a?" -#: ../src/verbs.cpp:2458 -msgid "Tweak Tool Preferences" -msgstr "Ustawienia narzędzia \"Ulepszanie\"" +#: ../src/ui/view/edit-widget.cpp:1272 +#: ../src/widgets/desktop-widget.cpp:905 +msgid "_Save as SVG" +msgstr "Zapisz jako S_VG" -#: ../src/verbs.cpp:2459 -msgid "Open Preferences for the Tweak tool" -msgstr "Otwiera okno ustawień dla narzędzia \"Ulepszanie\"" +#: ../src/ui/widget/filter-effect-chooser.cpp:25 +msgid "_Blend mode:" +msgstr "Tryb _przenikania:" -#: ../src/verbs.cpp:2460 -msgid "Rectangle Preferences" -msgstr "Ustawienia narzędzia \"Prostokąt\"" +#: ../src/ui/widget/filter-effect-chooser.cpp:26 +msgid "B_lur:" +msgstr "_Rozmycie" -#: ../src/verbs.cpp:2461 -msgid "Open Preferences for the Rectangle tool" -msgstr "Otwiera okno ustawień dla narzędzia \"Prostokąt\"" +#: ../src/ui/widget/licensor.cpp:35 +msgid "Proprietary" +msgstr "Własność autora" -#: ../src/verbs.cpp:2462 -msgid "3D Box Preferences" -msgstr "Ustawienia narzędzia \"Obiekt 3D\"" +#: ../src/ui/widget/licensor.cpp:38 +msgid "Other" +msgstr "Inne" -#: ../src/verbs.cpp:2463 -msgid "Open Preferences for the 3D Box tool" -msgstr "Otwiera okno ustawień dla narzędzia \"Obiekt 3D\"" +#: ../src/ui/widget/object-composite-settings.cpp:158 +msgid "Change blur" +msgstr "Zmień rozmycie" -#: ../src/verbs.cpp:2464 -msgid "Ellipse Preferences" -msgstr "Ustawienia narzędzia \"Okrąg\"" +#: ../src/ui/widget/object-composite-settings.cpp:198 +#: ../src/ui/widget/selected-style.cpp:851 +#: ../src/ui/widget/selected-style.cpp:1145 +msgid "Change opacity" +msgstr "Zmień krycie" -#: ../src/verbs.cpp:2465 -msgid "Open Preferences for the Ellipse tool" -msgstr "Otwiera okno ustawień dla narzędzia \"Okrąg\"" +#: ../src/ui/widget/page-sizer.cpp:208 +msgid "U_nits:" +msgstr "_Jednostki:" -#: ../src/verbs.cpp:2466 -msgid "Star Preferences" -msgstr "Ustawienia narzędzia \"Gwiazda\"" +#: ../src/ui/widget/page-sizer.cpp:209 +msgid "Width of paper" +msgstr "Szerokość papieru" -#: ../src/verbs.cpp:2467 -msgid "Open Preferences for the Star tool" -msgstr "Otwiera okno ustawień dla narzędzia \"Gwiazda\"" +#: ../src/ui/widget/page-sizer.cpp:210 +msgid "Height of paper" +msgstr "Wysokość papieru" -#: ../src/verbs.cpp:2468 -msgid "Spiral Preferences" -msgstr "Ustawienia narzędzia \"Spirala\"" +#: ../src/ui/widget/page-sizer.cpp:210 +msgid "_Height:" +msgstr "_Wysokość:" -#: ../src/verbs.cpp:2469 -msgid "Open Preferences for the Spiral tool" -msgstr "Otwiera okno ustawień dla narzędzia \"Spirala\"" +#: ../src/ui/widget/page-sizer.cpp:256 +msgid "P_age size:" +msgstr "_Rozmiar:" -#: ../src/verbs.cpp:2470 -msgid "Pencil Preferences" -msgstr "Ustawienia narzędzia \"Ołówek\"" +#: ../src/ui/widget/page-sizer.cpp:264 +msgid "Page orientation:" +msgstr "Orientacja:" -#: ../src/verbs.cpp:2471 -msgid "Open Preferences for the Pencil tool" -msgstr "Otwiera okno ustawień dla narzędzia \"Ołówek\"" +#: ../src/ui/widget/page-sizer.cpp:267 +msgid "_Landscape" +msgstr "P_ozioma" -#: ../src/verbs.cpp:2472 -msgid "Pen Preferences" -msgstr "Ustawienia narzędzia \"Pióro\"" +#: ../src/ui/widget/page-sizer.cpp:272 +msgid "_Portrait" +msgstr "_Pionowa" -#: ../src/verbs.cpp:2473 -msgid "Open Preferences for the Pen tool" -msgstr "Otwiera okno ustawień dla narzędzia \"Pióro\"" +#. ## Set up custom size frame +#: ../src/ui/widget/page-sizer.cpp:279 +msgid "Custom size" +msgstr "Rozmiar niestandardowy" -#: ../src/verbs.cpp:2474 -msgid "Calligraphic Preferences" -msgstr "Ustawienia narzędzia \"Kaligrafia\"" +#: ../src/ui/widget/page-sizer.cpp:292 +msgid "_Fit page to selection" +msgstr "_Dopasuj do ramki zaznaczenia" -#: ../src/verbs.cpp:2475 -msgid "Open Preferences for the Calligraphy tool" -msgstr "Otwiera okno ustawień dla narzędzia \"Kaligrafia\"" +#: ../src/ui/widget/page-sizer.cpp:293 +msgid "Resize the page to fit the current selection, or the entire drawing if there is no selection" +msgstr "Zmienia rozmiar strony tak, aby dopasować do aktualnego zaznaczenia lub jeśli nie ma zaznaczenia, zmieścić cały rysunek" -#: ../src/verbs.cpp:2476 -msgid "Text Preferences" -msgstr "Ustawienia narzędzia \"Tekst\"" +#: ../src/ui/widget/page-sizer.cpp:351 +msgid "Set page size" +msgstr "Określ rozmiar strony" -#: ../src/verbs.cpp:2477 -msgid "Open Preferences for the Text tool" -msgstr "Otwiera okno ustawień dla narzędzia \"Tekst\"" +#: ../src/ui/widget/panel.cpp:121 +msgid "List" +msgstr "Lista" -#: ../src/verbs.cpp:2478 -msgid "Gradient Preferences" -msgstr "Ustawienia narzędzia \"Gradient\"" +#: ../src/ui/widget/panel.cpp:144 +msgid "swatches|Size" +msgstr "Wysokość elementów palety" -#: ../src/verbs.cpp:2479 -msgid "Open Preferences for the Gradient tool" -msgstr "Otwiera okno ustawień dla narzędzia \"Gradient\"" +#: ../src/ui/widget/panel.cpp:148 +msgid "tiny" +msgstr "Bardzo niskie" -#: ../src/verbs.cpp:2480 -msgid "Zoom Preferences" -msgstr "Ustawienia narzędzia \"Powiększenie\"" +#: ../src/ui/widget/panel.cpp:149 +msgid "small" +msgstr "Niskie" -#: ../src/verbs.cpp:2481 -msgid "Open Preferences for the Zoom tool" -msgstr "Otwiera okno ustawień dla narzędzia \"Powiększenie\"" +#. TRANSLATORS: Translate only the word "medium". Indicates size of colour swatches +#: ../src/ui/widget/panel.cpp:151 +msgid "swatchesHeight|medium" +msgstr "Średnie" -#: ../src/verbs.cpp:2482 -msgid "Dropper Preferences" -msgstr "Ustawienia narzędzia \"Próbnik koloru\"" +#: ../src/ui/widget/panel.cpp:152 +msgid "large" +msgstr "Wysokie" -#: ../src/verbs.cpp:2483 -msgid "Open Preferences for the Dropper tool" -msgstr "Otwiera okno ustawień dla narzędzia \"Próbnik koloru\"" +#: ../src/ui/widget/panel.cpp:153 +msgid "huge" +msgstr "Bardzo wysokie" -#: ../src/verbs.cpp:2484 -msgid "Connector Preferences" -msgstr "Ustawienia narzędzia \"Łącznik\"" +#: ../src/ui/widget/panel.cpp:175 +msgid "swatches|Width" +msgstr "Szerokość elementów palety" -#: ../src/verbs.cpp:2485 -msgid "Open Preferences for the Connector tool" -msgstr "Otwiera okno ustawień dla narzędzia \"Łącznik\"" +#: ../src/ui/widget/panel.cpp:179 +msgid "narrower" +msgstr "Bardzo wąskie" -#: ../src/verbs.cpp:2486 -msgid "Paint Bucket Preferences" -msgstr "Ustawienia narzędzia \"Wypełnienie\"" +#: ../src/ui/widget/panel.cpp:180 +msgid "narrow" +msgstr "Wąskie" -#: ../src/verbs.cpp:2487 -msgid "Open Preferences for the Paint Bucket tool" -msgstr "Otwiera okno ustawień dla narzędzia \"Wypełnienie\"" +#. TRANSLATORS: Translate only the word "medium". Indicates width of colour swatches +#: ../src/ui/widget/panel.cpp:182 +msgid "swatchesWidth|medium" +msgstr "Średnie" -#: ../src/verbs.cpp:2488 -msgid "Eraser Preferences" -msgstr "Ustawienia usuwania" +#: ../src/ui/widget/panel.cpp:183 +msgid "wide" +msgstr "Szerokie" -#: ../src/verbs.cpp:2489 -msgid "Open Preferences for the Eraser tool" -msgstr "Otwiera okno ustawień dla narzędzia usuwania" +#: ../src/ui/widget/panel.cpp:184 +msgid "wider" +msgstr "Bardzo szerokie" -#. Zoom/View -#: ../src/verbs.cpp:2492 -msgid "Zoom In" -msgstr "Powiększ" +#. TRANSLATORS: Translate only the word "Wrap". Indicates how colour swatches are displayed +#: ../src/ui/widget/panel.cpp:215 +msgid "swatches|Wrap" +msgstr "Zawijaj" -#: ../src/verbs.cpp:2492 -msgid "Zoom in" -msgstr "Powiększ" +#: ../src/ui/widget/preferences-widget.cpp:504 +msgid "Reset" +msgstr "Resetuj" -#: ../src/verbs.cpp:2493 -msgid "Zoom Out" -msgstr "Pomniejsz" +#: ../src/ui/widget/random.cpp:123 +msgid "Reseed the random number generator; this creates a different sequence of random numbers." +msgstr "Wygeneruj ponownie liczby losowe; operacja ta tworzy różne sekwencje liczb losowych" -#: ../src/verbs.cpp:2493 -msgid "Zoom out" -msgstr "Pomniejsz" +#: ../src/ui/widget/rendering-options.cpp:39 +msgid "Backend" +msgstr "Format wyjściowy" -#: ../src/verbs.cpp:2494 -msgid "_Rulers" -msgstr "_Linijki" +#: ../src/ui/widget/rendering-options.cpp:40 +msgid "Vector" +msgstr "Wektorowy" -#: ../src/verbs.cpp:2494 -msgid "Show or hide the canvas rulers" -msgstr "Wyświetla lub ukrywa linijki" +#: ../src/ui/widget/rendering-options.cpp:41 +msgid "Bitmap" +msgstr "Bitmapowy" -#: ../src/verbs.cpp:2495 -msgid "Scroll_bars" -msgstr "Paski p_rzewijania" +#: ../src/ui/widget/rendering-options.cpp:42 +msgid "Bitmap options" +msgstr "Opcje bitmapy" -#: ../src/verbs.cpp:2495 -msgid "Show or hide the canvas scrollbars" -msgstr "Wyświetla lub ukrywa paski przewijania" +#: ../src/ui/widget/rendering-options.cpp:44 +msgid "Preferred resolution of rendering, in dots per inch." +msgstr "Preferowana rozdzielczość renderowania (w dpi)" -#: ../src/verbs.cpp:2496 -msgid "_Grid" -msgstr "Wyświetl _siatkę" +#: ../src/ui/widget/rendering-options.cpp:52 +msgid "Render using Cairo vector operations. The resulting image is usually smaller in file size and can be arbitrarily scaled, but some filter effects will not be correctly rendered." +msgstr "Renderuj stosując wektorowe operacje Cairo. Plik wynikowy jest zwykle mniejszy i można skalować zapisany w nim rysunek, ale niektóre efekty filtrów nie będą prawidłowo przetworzone." -#: ../src/verbs.cpp:2496 -msgid "Show or hide the grid" -msgstr "Wyświetla lub ukrywa siatkę" +#: ../src/ui/widget/rendering-options.cpp:57 +msgid "Render everything as bitmap. The resulting image is usually larger in file size and cannot be arbitrarily scaled without quality loss, but all objects will be rendered exactly as displayed." +msgstr "Renderuj wszystko jako bitmapę. Plik wynikowy jest zwykle większy i nie można skalować zapisanego w nim rysunku bez utraty jakości, ale wszystkie obiekty zostaną zobrazowane dokładnie tak jak są wyświetlane na ekranie." -#: ../src/verbs.cpp:2497 -msgid "G_uides" -msgstr "Wyświetl pro_wadnice" +#: ../src/ui/widget/selected-style.cpp:106 +#: ../src/ui/widget/style-swatch.cpp:110 +msgid "Fill:" +msgstr "Wypełnienie:" -#: ../src/verbs.cpp:2497 -msgid "Show or hide guides (drag from a ruler to create a guide)" -msgstr "" -"Wyświetla lub ukrywa prowadnice (przeciągnij z linijki, aby utworzyć " -"prowadnice)" +#: ../src/ui/widget/selected-style.cpp:107 +#: ../src/ui/widget/style-swatch.cpp:111 +msgid "Stroke:" +msgstr "Kontur:" -#: ../src/verbs.cpp:2499 -msgid "Nex_t Zoom" -msgstr "_Następne powiększenie" +#: ../src/ui/widget/selected-style.cpp:108 +msgid "O:" +msgstr "K:" -#: ../src/verbs.cpp:2499 -msgid "Next zoom (from the history of zooms)" -msgstr "Następne powiększenie (z historii powiększeń)" +#: ../src/ui/widget/selected-style.cpp:150 +msgid "N/A" +msgstr "N/D" -#: ../src/verbs.cpp:2501 -msgid "Pre_vious Zoom" -msgstr "_Poprzednie powiększenie" +#: ../src/ui/widget/selected-style.cpp:153 +#: ../src/ui/widget/selected-style.cpp:1020 +#: ../src/ui/widget/selected-style.cpp:1021 +msgid "Nothing selected" +msgstr "Nie zaznaczono żadnego obiektu" -#: ../src/verbs.cpp:2501 -msgid "Previous zoom (from the history of zooms)" -msgstr "Poprzednie powiększenie (z historii powiększeń)" +#: ../src/ui/widget/selected-style.cpp:155 +#: ../src/ui/widget/style-swatch.cpp:328 +msgid "None" +msgstr "Brak" -#: ../src/verbs.cpp:2503 -msgid "Zoom 1:_1" -msgstr "Skala 1:_1" +#: ../src/ui/widget/selected-style.cpp:158 +#: ../src/ui/widget/style-swatch.cpp:330 +msgid "No fill" +msgstr "Brak wypełnienia" -#: ../src/verbs.cpp:2503 -msgid "Zoom to 1:1" -msgstr "Skala 1:1" +#: ../src/ui/widget/selected-style.cpp:158 +#: ../src/ui/widget/style-swatch.cpp:330 +msgid "No stroke" +msgstr "Brak konturu" -#: ../src/verbs.cpp:2505 -msgid "Zoom 1:_2" -msgstr "Skala 1:_2" +#: ../src/ui/widget/selected-style.cpp:160 +#: ../src/ui/widget/style-swatch.cpp:309 +#: ../src/widgets/paint-selector.cpp:189 +msgid "Pattern" +msgstr "Deseń" -#: ../src/verbs.cpp:2505 -msgid "Zoom to 1:2" -msgstr "Skala 1:2" +#: ../src/ui/widget/selected-style.cpp:163 +#: ../src/ui/widget/style-swatch.cpp:311 +#: ../src/widgets/paint-selector.cpp:997 +msgid "Pattern fill" +msgstr "Wypełnienie desenia" -#: ../src/verbs.cpp:2507 -msgid "_Zoom 2:1" -msgstr "_Skala 2:1" +#: ../src/ui/widget/selected-style.cpp:163 +#: ../src/ui/widget/style-swatch.cpp:311 +msgid "Pattern stroke" +msgstr "Kontur desenia" -#: ../src/verbs.cpp:2507 -msgid "Zoom to 2:1" -msgstr "Skala 2:1" +#: ../src/ui/widget/selected-style.cpp:165 +msgid "L" +msgstr "L" -#: ../src/verbs.cpp:2510 -msgid "_Fullscreen" -msgstr "Pełny _ekran" +#: ../src/ui/widget/selected-style.cpp:168 +#: ../src/ui/widget/style-swatch.cpp:303 +msgid "Linear gradient fill" +msgstr "Wypełnienie gradientem liniowym" -#: ../src/verbs.cpp:2510 -msgid "Stretch this document window to full screen" -msgstr "Rozciąga okno dokumentu na cały ekran" +#: ../src/ui/widget/selected-style.cpp:168 +#: ../src/ui/widget/style-swatch.cpp:303 +msgid "Linear gradient stroke" +msgstr "Kontur z gradientem liniowym" -#: ../src/verbs.cpp:2513 -msgid "Duplic_ate Window" -msgstr "_Powiel okno" +#: ../src/ui/widget/selected-style.cpp:175 +msgid "R" +msgstr "R" -#: ../src/verbs.cpp:2513 -msgid "Open a new window with the same document" -msgstr "Otwiera nowe okno z tym samym dokumentem" +#: ../src/ui/widget/selected-style.cpp:178 +#: ../src/ui/widget/style-swatch.cpp:307 +msgid "Radial gradient fill" +msgstr "Wypełnienie gradientem radialnym" + +#: ../src/ui/widget/selected-style.cpp:178 +#: ../src/ui/widget/style-swatch.cpp:307 +msgid "Radial gradient stroke" +msgstr "Kontur z gradientem radialnym" -#: ../src/verbs.cpp:2515 -msgid "_New View Preview" -msgstr "Nowy podgląd widoku" +#: ../src/ui/widget/selected-style.cpp:185 +msgid "Different" +msgstr "Różne" -#: ../src/verbs.cpp:2516 -msgid "New View Preview" -msgstr "Nowy podgląd widoku" +#: ../src/ui/widget/selected-style.cpp:188 +msgid "Different fills" +msgstr "Różne wypełnienia" -#. "view_new_preview" -#: ../src/verbs.cpp:2518 -msgid "_Normal" -msgstr "_Normalny" +#: ../src/ui/widget/selected-style.cpp:188 +msgid "Different strokes" +msgstr "Różne kontury" -#: ../src/verbs.cpp:2519 -msgid "Switch to normal display mode" -msgstr "Przełącza do normalnego widoku" +#: ../src/ui/widget/selected-style.cpp:190 +#: ../src/ui/widget/style-swatch.cpp:333 +msgid "Unset" +msgstr "Nie ustawiono" -#: ../src/verbs.cpp:2520 -msgid "No _Filters" -msgstr "Bez _filtrów" +#: ../src/ui/widget/selected-style.cpp:196 +msgid "Flat color fill" +msgstr "Jednolity kolor wypełnienia" -#: ../src/verbs.cpp:2521 -msgid "Switch to normal display without filters" -msgstr "Przełącza do normalnego widoku bez filtrów" +#: ../src/ui/widget/selected-style.cpp:196 +msgid "Flat color stroke" +msgstr "Jednolity kolor konturu" -#: ../src/verbs.cpp:2522 -msgid "_Outline" -msgstr "_Szkieletowy" +#. TRANSLATOR COMMENT: A means "Averaged" +#: ../src/ui/widget/selected-style.cpp:199 +msgid "a" +msgstr "u" -#: ../src/verbs.cpp:2523 -msgid "Switch to outline (wireframe) display mode" -msgstr "Przełącza do widoku konturowego (bez wypełnienia)" +#: ../src/ui/widget/selected-style.cpp:202 +msgid "Fill is averaged over selected objects" +msgstr "Uśredniony styl wypełnienia z zaznaczonych obiektów" -#: ../src/verbs.cpp:2524 -msgid "_Toggle" -msgstr "_Przełącz" +#: ../src/ui/widget/selected-style.cpp:202 +msgid "Stroke is averaged over selected objects" +msgstr "Uśredniony styl konturu z zaznaczonych obiektów" -#: ../src/verbs.cpp:2525 -msgid "Toggle between normal and outline display modes" -msgstr "Przełącza pomiędzy normalnym i szkieletowym trybem wyświetlania" +#. TRANSLATOR COMMENT: M means "Multiple" +#: ../src/ui/widget/selected-style.cpp:205 +msgid "m" +msgstr "w" -#: ../src/verbs.cpp:2527 -msgid "Color-managed view" -msgstr "Za_rządzanie kolorem" +#: ../src/ui/widget/selected-style.cpp:208 +msgid "Multiple selected objects have the same fill" +msgstr "Wszystkie zaznaczone obiekty mają ten sam styl wypełnienia" -#: ../src/verbs.cpp:2528 -msgid "Toggle color-managed display for this document window" -msgstr "Przełącza zarządzanie kolorem monitora dla okna tego dokumentu" +#: ../src/ui/widget/selected-style.cpp:208 +msgid "Multiple selected objects have the same stroke" +msgstr "Wszystkie zaznaczone obiekty mają ten sam styl konturu" -#: ../src/verbs.cpp:2530 -msgid "Ico_n Preview..." -msgstr "Po_dgląd ikon..." +#: ../src/ui/widget/selected-style.cpp:210 +msgid "Edit fill..." +msgstr "Edytuj wypełnienie..." -#: ../src/verbs.cpp:2531 -msgid "Open a window to preview objects at different icon resolutions" -msgstr "" -"Otwiera okno z podglądem zaznaczonych obiektów jako ikony w różnych " -"rozdzielczościach" +#: ../src/ui/widget/selected-style.cpp:210 +msgid "Edit stroke..." +msgstr "Edytuj kontur..." -#: ../src/verbs.cpp:2533 -msgid "Zoom to fit page in window" -msgstr "Dopasuj stronę do okna" +#: ../src/ui/widget/selected-style.cpp:214 +msgid "Last set color" +msgstr "Ostatnio ustawiony kolor" -#: ../src/verbs.cpp:2534 -msgid "Page _Width" -msgstr "Szerokość s_trony" +#: ../src/ui/widget/selected-style.cpp:218 +msgid "Last selected color" +msgstr "Ostatnio zaznaczony kolor" -#: ../src/verbs.cpp:2535 -msgid "Zoom to fit page width in window" -msgstr "Dopasuj szerokość strony do okna" +#: ../src/ui/widget/selected-style.cpp:222 +msgid "Invert" +msgstr "Negatyw" -#: ../src/verbs.cpp:2537 -msgid "Zoom to fit drawing in window" -msgstr "Dopasuj rozmiar rysunku do okna" +#: ../src/ui/widget/selected-style.cpp:226 +msgid "White" +msgstr "Biały" -#: ../src/verbs.cpp:2539 -msgid "Zoom to fit selection in window" -msgstr "Dopasuj rozmiar zaznaczenia do okna" +#: ../src/ui/widget/selected-style.cpp:230 +#: ../src/widgets/sp-color-icc-selector.cpp:237 +#: ../src/widgets/sp-color-scales.cpp:461 +#: ../src/widgets/sp-color-scales.cpp:462 +msgid "Black" +msgstr "Czarny" -#. Dialogs -#: ../src/verbs.cpp:2542 -msgid "In_kscape Preferences..." -msgstr "Usta_wienia Inkscape..." +#: ../src/ui/widget/selected-style.cpp:234 +msgid "Copy color" +msgstr "Kopiuj kolor" -#: ../src/verbs.cpp:2543 -msgid "Edit global Inkscape preferences" -msgstr "Ustawienia globalne Inkscape" +#: ../src/ui/widget/selected-style.cpp:238 +msgid "Paste color" +msgstr "Wklej kolor" -#: ../src/verbs.cpp:2544 -msgid "_Document Properties..." -msgstr "Właściwości doku_mentu..." +#: ../src/ui/widget/selected-style.cpp:242 +#: ../src/ui/widget/selected-style.cpp:776 +msgid "Swap fill and stroke" +msgstr "Zamień styl wypełnienia i konturu" -#: ../src/verbs.cpp:2545 -msgid "Edit properties of this document (to be saved with the document)" -msgstr "Edytuj właściwości dokumentu zapisywane razem z dokumentem" +#: ../src/ui/widget/selected-style.cpp:246 +#: ../src/ui/widget/selected-style.cpp:518 +#: ../src/ui/widget/selected-style.cpp:527 +msgid "Make fill opaque" +msgstr "Wyzeruj przezroczystość wypełnienia" -#: ../src/verbs.cpp:2546 -msgid "Document _Metadata..." -msgstr "Me_tadane dokumentu..." +#: ../src/ui/widget/selected-style.cpp:246 +msgid "Make stroke opaque" +msgstr "Wyzeruj przezroczystość konturu" -#: ../src/verbs.cpp:2547 -msgid "Edit document metadata (to be saved with the document)" -msgstr "Zmiana metadanych dokumentu (zapisywanych razem z dokumentem)" +#: ../src/ui/widget/selected-style.cpp:308 +msgid "Remove" +msgstr "Usuń" -#: ../src/verbs.cpp:2548 -msgid "_Fill and Stroke..." -msgstr "_Wypełnienie i kontur..." +#: ../src/ui/widget/selected-style.cpp:539 +msgid "Apply last set color to fill" +msgstr "Zastosuj dla wypełnienia ostatnio ustawiony kolor" -#: ../src/verbs.cpp:2549 -msgid "" -"Edit objects' colors, gradients, stroke width, arrowheads, dash patterns..." -msgstr "Edytuj kolor, gradient, styl konturu obiektów" +#: ../src/ui/widget/selected-style.cpp:551 +msgid "Apply last set color to stroke" +msgstr "Zastosuj dla konturu ostatnio ustawiony kolor" -#. TRANSLATORS: "Swatches" means: color samples -#: ../src/verbs.cpp:2551 -msgid "S_watches..." -msgstr "Przykł_adowe kolory..." +#: ../src/ui/widget/selected-style.cpp:562 +msgid "Apply last selected color to fill" +msgstr "Zastosuj dla wypełnienia ostatnio wybrany kolor" -#: ../src/verbs.cpp:2552 -msgid "Select colors from a swatches palette" -msgstr "Otwiera okno umożliwiające wybór kolorów z palety" +#: ../src/ui/widget/selected-style.cpp:573 +msgid "Apply last selected color to stroke" +msgstr "Zastosuj dla konturu ostatnio wybrany kolor" -#: ../src/verbs.cpp:2553 -msgid "Transfor_m..." -msgstr "Przeksz_tałć..." +#: ../src/ui/widget/selected-style.cpp:593 +msgid "Invert fill" +msgstr "Negatyw wypełnienia" -#: ../src/verbs.cpp:2554 -msgid "Precisely control objects' transformations" -msgstr "Otwiera okno umożliwiające dokładną kontrolę przekształcenia obiektów" +#: ../src/ui/widget/selected-style.cpp:613 +msgid "Invert stroke" +msgstr "Negatyw konturu" -#: ../src/verbs.cpp:2555 -msgid "_Align and Distribute..." -msgstr "W_yrównaj i rozmieść..." +#: ../src/ui/widget/selected-style.cpp:625 +msgid "White fill" +msgstr "Białe wypełnienie" -#: ../src/verbs.cpp:2556 -msgid "Align and distribute objects" -msgstr "Otwórz okno umożliwiające wyrównanie i rozmieszczenie obiektów" +#: ../src/ui/widget/selected-style.cpp:637 +msgid "White stroke" +msgstr "Biały kontur" -#: ../src/verbs.cpp:2557 -msgid "Undo _History..." -msgstr "_Historia wycofanych zmian..." +#: ../src/ui/widget/selected-style.cpp:649 +msgid "Black fill" +msgstr "Czarne wypełnienie" -#: ../src/verbs.cpp:2558 -msgid "Undo History" -msgstr "Historia wycofanych zmian" +#: ../src/ui/widget/selected-style.cpp:661 +msgid "Black stroke" +msgstr "Czarny kontur" -#: ../src/verbs.cpp:2559 -msgid "_Text and Font..." -msgstr "_Tekst i czcionka..." +#: ../src/ui/widget/selected-style.cpp:704 +msgid "Paste fill" +msgstr "Wklej wypełnienie" -#: ../src/verbs.cpp:2560 -msgid "View and select font family, font size and other text properties" -msgstr "Zobacz i wybierz typ czcionki, jej wielkości i inne właściwości tekstu" +#: ../src/ui/widget/selected-style.cpp:722 +msgid "Paste stroke" +msgstr "Wklej kontur" -#: ../src/verbs.cpp:2561 -msgid "_XML Editor..." -msgstr "Edytor _XML..." +#: ../src/ui/widget/selected-style.cpp:886 +msgid "Change stroke width" +msgstr "Skalowanie szerokości konturu" -#: ../src/verbs.cpp:2562 -msgid "View and edit the XML tree of the document" -msgstr "Otwórz okno do przeglądania i edycji drzewa XML dokumentu" +#: ../src/ui/widget/selected-style.cpp:981 +msgid ", drag to adjust" +msgstr ", wykonaj ciągnięcie, aby dostroić" -#: ../src/verbs.cpp:2563 -msgid "_Find..." -msgstr "_Znajdź..." +#: ../src/ui/widget/selected-style.cpp:1062 +#, c-format +msgid "Stroke width: %.5g%s%s" +msgstr "Szerokość konturu: %.5g%s%s" -#: ../src/verbs.cpp:2564 -msgid "Find objects in document" -msgstr "Wyszukuje obiekty w dokumencie" +#: ../src/ui/widget/selected-style.cpp:1066 +msgid " (averaged)" +msgstr " (uśredniona)" -#: ../src/verbs.cpp:2565 -msgid "_Messages..." -msgstr "Ko_munikaty..." +#: ../src/ui/widget/selected-style.cpp:1094 +msgid "0 (transparent)" +msgstr "0 (przezroczysty)" -#: ../src/verbs.cpp:2566 -msgid "View debug messages" -msgstr "Wyświetla okno komunikatów programu" +#: ../src/ui/widget/selected-style.cpp:1118 +msgid "100% (opaque)" +msgstr "100% (nieprzezroczysty)" + +#: ../src/ui/widget/selected-style.cpp:1271 +msgid "Adjust saturation" +msgstr "Dostosuj nasycenie" -#: ../src/verbs.cpp:2567 -msgid "S_cripts..." -msgstr "Skr_ypty..." +#: ../src/ui/widget/selected-style.cpp:1273 +#, c-format +msgid "Adjusting saturation: was %.3g, now %.3g (diff %.3g); with Ctrl to adjust lightness, without modifiers to adjust hue" +msgstr "Dostosowywanie nasycenia: było %.3g, jest %.3g (różnica %.3g); z Ctrl dostrajanie jasności, bez modyfikatorów dostrajanie barwy" -#: ../src/verbs.cpp:2568 -msgid "Run scripts" -msgstr "Otwiera okno do uruchamiania skryptów" +#: ../src/ui/widget/selected-style.cpp:1277 +msgid "Adjust lightness" +msgstr "Dostosuj jasność" -#: ../src/verbs.cpp:2569 -msgid "Show/Hide D_ialogs" -msgstr "Wyświetl/_Ukryj okna dialogowe" +#: ../src/ui/widget/selected-style.cpp:1279 +#, c-format +msgid "Adjusting lightness: was %.3g, now %.3g (diff %.3g); with Shift to adjust saturation, without modifiers to adjust hue" +msgstr "Dostosowywanie jasności: było %.3g, jest %.3g (różnica %.3g); z Shift dostrajanie nasycenia, bez modyfikatorów dostrajanie barwy" -#: ../src/verbs.cpp:2570 -msgid "Show or hide all open dialogs" -msgstr "Wyświetla lub ukrywa wszystkie otwarte okna dialogowe" +#: ../src/ui/widget/selected-style.cpp:1283 +msgid "Adjust hue" +msgstr "Dostosuj barwę" -#: ../src/verbs.cpp:2571 -msgid "Create Tiled Clones..." -msgstr "Ut_wórz układ klonów..." +#: ../src/ui/widget/selected-style.cpp:1285 +#, c-format +msgid "Adjusting hue: was %.3g, now %.3g (diff %.3g); with Shift to adjust saturation, with Ctrl to adjust lightness" +msgstr "Dostosowywanie barwy: było %.3g, jest %.3g (różnica %.3g); z Shift dostrajanie nasycenia, z Ctrl dostrajanie jasności" -#: ../src/verbs.cpp:2572 -msgid "" -"Create multiple clones of selected object, arranging them into a pattern or " -"scattering" -msgstr "" -"Utwórz wiele klonów zaznaczonego obiektu, rozkładając je równomiernie bądź " -"rozpraszając" +#: ../src/ui/widget/selected-style.cpp:1394 +#: ../src/ui/widget/selected-style.cpp:1408 +msgid "Adjust stroke width" +msgstr "Ustaw szerokość konturu" -#: ../src/verbs.cpp:2573 -msgid "_Object Properties..." -msgstr "Właś_ciwości obiektu..." +#: ../src/ui/widget/selected-style.cpp:1395 +#, c-format +msgid "Adjusting stroke width: was %.3g, now %.3g (diff %.3g)" +msgstr "Dostosowywanie szerokości konturu: było %.3g, teraz jest %.3g (różnica %.3g)" -#: ../src/verbs.cpp:2574 -msgid "Edit the ID, locked and visible status, and other object properties" -msgstr "" -"Otwiera okno do edycji ID, blokowania, stanu widoczności i innych " -"właściwości obiektów" +#. TRANSLATORS: Only translate the word "Link" - means to _link_ two sliders together +#: ../src/ui/widget/spin-slider.cpp:118 +msgid "sliders|Link" +msgstr "Odnośnik" -#: ../src/verbs.cpp:2577 -msgid "_Instant Messaging..." -msgstr "_Komunikator..." +#: ../src/ui/widget/style-swatch.cpp:301 +msgid "L Gradient" +msgstr "Gradient L" -#: ../src/verbs.cpp:2577 -msgid "Jabber Instant Messaging Client" -msgstr "Klient Jabbera" +#: ../src/ui/widget/style-swatch.cpp:305 +msgid "R Gradient" +msgstr "Gradient R" -#: ../src/verbs.cpp:2579 -msgid "_Input Devices..." -msgstr "_Urządzenia wejściowe..." +#: ../src/ui/widget/style-swatch.cpp:321 +#, c-format +msgid "Fill: %06x/%.3g" +msgstr "Wypełnienie: %06x/%.3g" -#: ../src/verbs.cpp:2580 ../src/verbs.cpp:2582 -msgid "Configure extended input devices, such as a graphics tablet" -msgstr "Skonfiguruj urządzenie wejściowe, takie jak tablet graficzny" +#: ../src/ui/widget/style-swatch.cpp:323 +#, c-format +msgid "Stroke: %06x/%.3g" +msgstr "Kontur: %06x/%.3g" -#: ../src/verbs.cpp:2581 -msgid "_Input Devices (new)..." -msgstr "_Urządzenia wejściowe(nowe)..." +#: ../src/ui/widget/style-swatch.cpp:355 +#, c-format +msgid "Stroke width: %.5g%s" +msgstr "Szerokość konturu: %.5g%s" -#: ../src/verbs.cpp:2583 -msgid "_Extensions..." -msgstr "Rozszerzenia..." +#: ../src/ui/widget/style-swatch.cpp:371 +#, c-format +msgid "O:%.3g" +msgstr "N:%.3g" -#: ../src/verbs.cpp:2584 -msgid "Query information about extensions" -msgstr "Pobiera i wyświetla informacje na temat rozszerzeń" +#: ../src/ui/widget/style-swatch.cpp:373 +#, c-format +msgid "O:.%d" +msgstr "N:.%d" -#: ../src/verbs.cpp:2585 -msgid "Layer_s..." -msgstr "Wars_twy..." +#: ../src/ui/widget/style-swatch.cpp:378 +#, c-format +msgid "Opacity: %.3g" +msgstr "Krycie: %.3g" -#: ../src/verbs.cpp:2586 -msgid "View Layers" -msgstr "Otwiera okno dialogowe z ustawieniami warstw" +#: ../src/vanishing-point.cpp:124 +msgid "Split vanishing points" +msgstr "Rozdziel punkty zbiegu" -#: ../src/verbs.cpp:2587 -msgid "Path Effects..." -msgstr "E_fekty ścieżki..." +#: ../src/vanishing-point.cpp:169 +msgid "Merge vanishing points" +msgstr "Połącz punkty zbiegu" -#: ../src/verbs.cpp:2588 -msgid "Manage path effects" -msgstr "Zarządzanie efektami ścieżki" +#: ../src/vanishing-point.cpp:225 +msgid "3D box: Move vanishing point" +msgstr "Obiekt 3D: Przesuń punkty zbiegu" -#: ../src/verbs.cpp:2589 -msgid "Filter Effects..." -msgstr "_Filtry efektów..." +#: ../src/vanishing-point.cpp:306 +#, c-format +msgid "Finite vanishing point shared by %d box" +msgid_plural "Finite vanishing point shared by %d boxes; drag with Shift to separate selected box(es)" +msgstr[0] "Skończony punkt zbiegu współdzielony z %d obiektem " +msgstr[1] "Skończony punkt zbiegu współdzielony z %d obiektem. Wykonaj ciągnięcie z Shift, aby rozdzielić zaznaczone obiekty." +msgstr[2] "Skończony punkt zbiegu współdzielony z %d obiektem. Wykonaj ciągnięcie z Shift, aby rozdzielić zaznaczone obiekty." -#: ../src/verbs.cpp:2590 -msgid "Manage SVG filter effects" -msgstr "Zarządzanie filtrami SVG" +#. This won't make sense any more when infinite VPs are not shown on the canvas, +#. but currently we update the status message anyway +#: ../src/vanishing-point.cpp:313 +#, c-format +msgid "Infinite vanishing point shared by %d box" +msgid_plural "Infinite vanishing point shared by %d boxes; drag with Shift to separate selected box(es)" +msgstr[0] "Nieskończony punkt zbiegu współdzielony z %d obiektem " +msgstr[1] "Nieskończony punkt zbiegu współdzielony z %d obiektem. Wykonaj ciągnięcie z Shift, aby rozdzielić zaznaczone obiekty." +msgstr[2] "Nieskończony punkt zbiegu współdzielony z %d obiektem. Wykonaj ciągnięcie z Shift, aby rozdzielić zaznaczone obiekty." -#. Help -#: ../src/verbs.cpp:2593 -msgid "About E_xtensions" -msgstr "Informacje o _rozszerzeniach" +#: ../src/vanishing-point.cpp:321 +#, c-format +msgid "shared by %d box; drag with Shift to separate selected box(es)" +msgid_plural "shared by %d boxes; drag with Shift to separate selected box(es)" +msgstr[0] "współdzielony z %d obiektem. Wykonaj ciągnięcie z Shift, aby rozdzielić zaznaczone obiekty." +msgstr[1] "współdzielony z %d obiektami. Wykonaj ciągnięcie z Shift, aby rozdzielić zaznaczone obiekty." +msgstr[2] "współdzielony z %d obiektami. Wykonaj ciągnięcie z Shift, aby rozdzielić zaznaczone obiekty." -#: ../src/verbs.cpp:2594 -msgid "Information on Inkscape extensions" -msgstr "Informacje o rozszerzeniach Inkscape" +#: ../src/verbs.cpp:1137 +msgid "Switch to next layer" +msgstr "Przenieś do następnej warstwy" -#: ../src/verbs.cpp:2595 -msgid "About _Memory" -msgstr "_Informacje o pamięci" +#: ../src/verbs.cpp:1138 +msgid "Switched to next layer." +msgstr "Przeniesiono do następnej warstwy" -#: ../src/verbs.cpp:2596 -msgid "Memory usage information" -msgstr "Informacja o użyciu pamięci" +#: ../src/verbs.cpp:1140 +msgid "Cannot go past last layer." +msgstr "Nie można przenieść poza ostatnią warstwę" -#: ../src/verbs.cpp:2597 -msgid "_About Inkscape" -msgstr "_O programie Inkscape" +#: ../src/verbs.cpp:1149 +msgid "Switch to previous layer" +msgstr "Przenieś do poprzedniej warstwy" -#: ../src/verbs.cpp:2598 -msgid "Inkscape version, authors, license" -msgstr "Wersja Inkscape, autorzy, licencja" +#: ../src/verbs.cpp:1150 +msgid "Switched to previous layer." +msgstr "Przeniesiono do poprzedniej warstwy" -#. "help_about" -#. new HelpVerb(SP_VERB_SHOW_LICENSE, "ShowLicense", N_("_License"), -#. N_("Distribution terms"), /*"show_license"*/"inkscape_options"), -#. Tutorials -#: ../src/verbs.cpp:2603 -msgid "Inkscape: _Basic" -msgstr "Inkscape: _Podstawy" +#: ../src/verbs.cpp:1152 +msgid "Cannot go before first layer." +msgstr "Nie można przenieść przed pierwszą warstwę" -#: ../src/verbs.cpp:2604 -msgid "Getting started with Inkscape" -msgstr "Pierwsze kroki z Inkscape" +#: ../src/verbs.cpp:1169 +#: ../src/verbs.cpp:1246 +#: ../src/verbs.cpp:1278 +#: ../src/verbs.cpp:1284 +msgid "No current layer." +msgstr "Brak aktywnej warstwy" -#. "tutorial_basic" -#: ../src/verbs.cpp:2605 -msgid "Inkscape: _Shapes" -msgstr "Inkscape: _Kształty" +#: ../src/verbs.cpp:1198 +#: ../src/verbs.cpp:1202 +#, c-format +msgid "Raised layer %s." +msgstr "Warstwa %s została przeniesiona wyżej" -#: ../src/verbs.cpp:2606 -msgid "Using shape tools to create and edit shapes" -msgstr "Stosowanie narzędzi do tworzenia i edycji kształtów" +#: ../src/verbs.cpp:1199 +msgid "Layer to top" +msgstr "Przenieś warstwę na wierzch" -#: ../src/verbs.cpp:2607 -msgid "Inkscape: _Advanced" -msgstr "Inkscape: _Zaawansowane" +#: ../src/verbs.cpp:1203 +msgid "Raise layer" +msgstr "Przesuń warstwę wyżej" -#: ../src/verbs.cpp:2608 -msgid "Advanced Inkscape topics" -msgstr "Zaawansowane zagadnienia związane z Inkscape" +#: ../src/verbs.cpp:1206 +#: ../src/verbs.cpp:1210 +#, c-format +msgid "Lowered layer %s." +msgstr "Warstwa %s przeniesiona niżej" -#. "tutorial_advanced" -#. TRANSLATORS: "to trace" means "to convert a bitmap to vector graphics" (to vectorize) -#: ../src/verbs.cpp:2610 -msgid "Inkscape: T_racing" -msgstr "Inkscape: _Wektoryzacja" +#: ../src/verbs.cpp:1207 +msgid "Layer to bottom" +msgstr "Przenieś warstwę na spód" -#: ../src/verbs.cpp:2611 -msgid "Using bitmap tracing" -msgstr "Obsługa wektoryzacji bitmap" +#: ../src/verbs.cpp:1211 +msgid "Lower layer" +msgstr "Przesuń warstwę niżej" -#. "tutorial_tracing" -#: ../src/verbs.cpp:2612 -msgid "Inkscape: _Calligraphy" -msgstr "Inkscape: Kali_grafia" +#: ../src/verbs.cpp:1220 +msgid "Cannot move layer any further." +msgstr "Nie można przenieść warstwy dalej" -#: ../src/verbs.cpp:2613 -msgid "Using the Calligraphy pen tool" -msgstr "Stosowanie narzędzia \"Pióro\"" +#: ../src/verbs.cpp:1229 +#, c-format +msgid "%s copy" +msgstr "%s kopia" -#: ../src/verbs.cpp:2614 -msgid "_Elements of Design" -msgstr "_Elementy kompozycji" +#: ../src/verbs.cpp:1241 +msgid "Duplicate layer" +msgstr "Powiel warstwę" -#: ../src/verbs.cpp:2615 -msgid "Principles of design in the tutorial form" -msgstr "Przewodnik po zasadach kształtowania kompozycji" +#. TRANSLATORS: this means "The layer has been duplicated." +#: ../src/verbs.cpp:1244 +msgid "Duplicated layer." +msgstr "Powielona ścieżka" -#. "tutorial_design" -#: ../src/verbs.cpp:2616 -msgid "_Tips and Tricks" -msgstr "Porady i _sztuczki" +#: ../src/verbs.cpp:1273 +msgid "Delete layer" +msgstr "Usuń warstwę" -#: ../src/verbs.cpp:2617 -msgid "Miscellaneous tips and tricks" -msgstr "Zbiór różnych porad i sztuczek" +#. TRANSLATORS: this means "The layer has been deleted." +#: ../src/verbs.cpp:1276 +msgid "Deleted layer." +msgstr "Warstwa została usunięta" -#. "tutorial_tips" -#. Effect -#: ../src/verbs.cpp:2620 -msgid "Previous Effect" -msgstr "Poprzedni efekt" +#: ../src/verbs.cpp:1287 +#, fuzzy +msgid "Toggle layer solo" +msgstr "Przełącz widzialność aktywnej warstwy" -#: ../src/verbs.cpp:2621 -msgid "Repeat the last effect with the same settings" -msgstr "Powtórz ostatni efekt z zachowaniem ustawień" +#: ../src/verbs.cpp:1380 +msgid "Flip horizontally" +msgstr "Odbij poziomo" -#: ../src/verbs.cpp:2622 -msgid "Previous Effect Settings..." -msgstr "Ustawienia poprzedniego efektu..." +#: ../src/verbs.cpp:1395 +msgid "Flip vertically" +msgstr "Odbij pionowo" -#: ../src/verbs.cpp:2623 -msgid "Repeat the last effect with new settings" -msgstr "Powtórz ostatni efekt z nowymi ustawieniami" +#. TRANSLATORS: If you have translated the tutorial-basic.svg file to your language, +#. then translate this string as "tutorial-basic.LANG.svg" (where LANG is your language +#. code); otherwise leave as "tutorial-basic.svg". +#: ../src/verbs.cpp:1896 +msgid "tutorial-basic.svg" +msgstr "tutorial-basic.svg" + +#. TRANSLATORS: See "tutorial-basic.svg" comment. +#: ../src/verbs.cpp:1900 +msgid "tutorial-shapes.svg" +msgstr "tutorial-shapes.svg" -#. Fit Page -#: ../src/verbs.cpp:2626 -msgid "Fit Page to Selection" -msgstr "Dopasuj stronę do ramki zaznaczenia" +#. TRANSLATORS: See "tutorial-basic.svg" comment. +#: ../src/verbs.cpp:1904 +msgid "tutorial-advanced.svg" +msgstr "tutorial-advanced.svg" -#: ../src/verbs.cpp:2627 -msgid "Fit the page to the current selection" -msgstr "Dopasuj rozmiar strony do aktualnego zaznaczenia" +#. TRANSLATORS: See "tutorial-basic.svg" comment. +#: ../src/verbs.cpp:1908 +msgid "tutorial-tracing.svg" +msgstr "tutorial-tracing.svg" -#: ../src/verbs.cpp:2628 -msgid "Fit Page to Drawing" -msgstr "Dopasuj stronę do rysunku" +#. TRANSLATORS: See "tutorial-basic.svg" comment. +#: ../src/verbs.cpp:1912 +msgid "tutorial-calligraphy.svg" +msgstr "tutorial-calligraphy.svg" -#: ../src/verbs.cpp:2629 -msgid "Fit the page to the drawing" -msgstr "Dopasuj stronę do rysunku" +#. TRANSLATORS: See "tutorial-basic.svg" comment. +#: ../src/verbs.cpp:1916 +msgid "tutorial-elements.svg" +msgstr "tutorial-elements.svg" -#: ../src/verbs.cpp:2630 -msgid "Fit Page to Selection or Drawing" -msgstr "Dopasuj stronę do zaznaczenia lub rysunku" +#. TRANSLATORS: See "tutorial-basic.svg" comment. +#: ../src/verbs.cpp:1920 +msgid "tutorial-tips.svg" +msgstr "tutorial-tips.svg" -#: ../src/verbs.cpp:2631 -msgid "" -"Fit the page to the current selection or the drawing if there is no selection" -msgstr "" -"Dopasuj stronę do aktualnego zaznaczenia lub do rysunku jeśli nic nie jest " -"zaznaczone" +#: ../src/verbs.cpp:2196 +#: ../src/verbs.cpp:2723 +msgid "Unlock all objects in the current layer" +msgstr "Odblokowuje wszystkie obiekty na aktywnej warstwie" -#. LockAndHide -#: ../src/verbs.cpp:2633 -msgid "Unlock All" -msgstr "Odb_lokuj wszystko" +#: ../src/verbs.cpp:2200 +#: ../src/verbs.cpp:2725 +msgid "Unlock all objects in all layers" +msgstr "Odblokowuje wszystkie obiekty na wszystkich warstwach" -#: ../src/verbs.cpp:2635 -msgid "Unlock All in All Layers" -msgstr "Odblokowuje wszystko na wszystkich warstwach" +#: ../src/verbs.cpp:2204 +#: ../src/verbs.cpp:2727 +msgid "Unhide all objects in the current layer" +msgstr "Wyświetla wszystkie obiekty na aktywnej warstwie" -#: ../src/verbs.cpp:2637 -msgid "Unhide All" -msgstr "_Pokaż wszystko" +#: ../src/verbs.cpp:2208 +#: ../src/verbs.cpp:2729 +msgid "Unhide all objects in all layers" +msgstr "Wyświetla wszystkie obiekty na wszystkich warstwach" -#: ../src/verbs.cpp:2639 -msgid "Unhide All in All Layers" -msgstr "Wyświetla wszystko na wszystkich warstwach" +#: ../src/verbs.cpp:2223 +msgid "Does nothing" +msgstr "Nic nie wykonuje" -#: ../src/widgets/calligraphic-profile-rename.cpp:34 -msgid "Profile name:" -msgstr "Nazwa profilu:" +#: ../src/verbs.cpp:2226 +msgid "Create new document from the default template" +msgstr "Utwórz nowy dokument na bazie domyślnego szablonu" -#: ../src/widgets/calligraphic-profile-rename.cpp:48 -msgid "Save" -msgstr "Zapisz" +#: ../src/verbs.cpp:2228 +msgid "_Open..." +msgstr "_Otwórz..." -#: ../src/widgets/dash-selector.cpp:106 -msgid "Dash pattern" -msgstr "Style kresek" +#: ../src/verbs.cpp:2229 +msgid "Open an existing document" +msgstr "Otwórz istniejący dokument" -#: ../src/widgets/dash-selector.cpp:121 -msgid "Pattern offset" -msgstr "Przesunięcie wzoru" +#: ../src/verbs.cpp:2230 +msgid "Re_vert" +msgstr "P_rzywróć" -#: ../src/widgets/desktop-widget.cpp:620 -#, c-format -msgid "%s: %d (outline) - Inkscape" -msgstr "%s: %d (obramowanie) - Inkscape" +#: ../src/verbs.cpp:2231 +msgid "Revert to the last saved version of document (changes will be lost)" +msgstr "Przywraca ostatnio zapisaną wersję dokumentu (zmiany zostaną utracone)" -#: ../src/widgets/desktop-widget.cpp:622 -#, c-format -msgid "%s: %d - Inkscape" -msgstr "%s: %d - Inkscape" +#: ../src/verbs.cpp:2232 +msgid "Save document" +msgstr "Zapisz dokument" -#: ../src/widgets/desktop-widget.cpp:626 -#, c-format -msgid "%s (outline) - Inkscape" -msgstr "%s - (obramowanie) Inkscape" +#: ../src/verbs.cpp:2232 +msgid "_Save" +msgstr "_Zapisz" -#: ../src/widgets/desktop-widget.cpp:628 -#, c-format -msgid "%s - Inkscape" -msgstr "%s - Inkscape" +#: ../src/verbs.cpp:2234 +msgid "Save _As..." +msgstr "Za_pisz jako..." -#. Family frame -#: ../src/widgets/font-selector.cpp:154 -msgid "Font family" -msgstr "Czcionki" +#: ../src/verbs.cpp:2235 +msgid "Save document under a new name" +msgstr "Zapisuje dokument pod nową nazwą" -#. Style frame -#: ../src/widgets/font-selector.cpp:185 -#: ../share/extensions/polyhedron_3d.inx.h:44 -msgid "Style" -msgstr "Styl" +#: ../src/verbs.cpp:2236 +msgid "Save a Cop_y..." +msgstr "Z_apisz kopię..." -#: ../src/widgets/font-selector.cpp:223 -msgid "Font size:" -msgstr "Rozmiar czcionki:" +#: ../src/verbs.cpp:2237 +msgid "Save a copy of the document under a new name" +msgstr "Zapisuje kopię dokumentu z nową nazwą" -#. TRANSLATORS: Test string used in text and font dialog (when no -#. * text has been entered) to get a preview of the font. Choose -#. * some representative characters that users of your locale will be -#. * interested in. -#: ../src/widgets/font-selector.cpp:636 ../src/widgets/toolbox.cpp:5123 -msgid "AaBbCcIiPpQq12369$€¢?.;/()" -msgstr "AaĄąBbCćĘęKkÓóŹź0123:/()" +#: ../src/verbs.cpp:2238 +msgid "Print document" +msgstr "Drukuj dokument" -#: ../src/widgets/gradient-selector.cpp:139 -#: ../src/widgets/gradient-toolbar.cpp:462 -msgid "Edit..." -msgstr "Edytuj..." +#: ../src/verbs.cpp:2238 +msgid "_Print..." +msgstr "_Drukuj..." -#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/pservers.html#LinearGradientSpreadMethodAttribute -#: ../src/widgets/gradient-selector.cpp:156 -msgid "" -"Whether to fill with flat color beyond the ends of the gradient vector " -"(spreadMethod=\"pad\"), or repeat the gradient in the same direction " -"(spreadMethod=\"repeat\"), or repeat the gradient in alternating opposite " -"directions (spreadMethod=\"reflect\")" -msgstr "" -"Wygląd gradientu poza końcami definiującego wektora:\n" -"\"brak\" = zostanie zastosowany jednolity kolor\n" -"\"kierunek\" = zostanie powtórzony gradient w tym samym kierunku\n" -"\"odbicie\" = zostanie powtórzony gradient w odwrotnym kierunku" +#: ../src/verbs.cpp:2241 +msgid "Remove unused definitions (such as gradients or clipping paths) from the <defs> of the document" +msgstr "Usuwa nieużywane elementy (takie jak gradienty, czy ścieżki przycinające) z <defs> dokumentu" -#: ../src/widgets/gradient-selector.cpp:166 -msgid "reflected" -msgstr "odbicie" +#. TRANSLATORS: "Vacuum Defs" means "Clean up defs" (so as to remove unused definitions) +#: ../src/verbs.cpp:2241 +msgid "Vac_uum Defs" +msgstr "Wyczyść de_finicje" -#: ../src/widgets/gradient-selector.cpp:170 -msgid "direct" -msgstr "kierunek" +#: ../src/verbs.cpp:2243 +msgid "Print Previe_w" +msgstr "Podgląd _wydruku" -#: ../src/widgets/gradient-selector.cpp:178 -msgid "Repeat:" -msgstr "Powtarzanie:" +#: ../src/verbs.cpp:2244 +msgid "Preview document printout" +msgstr "Wyświetla podgląd wydruku rysunku" -#: ../src/widgets/gradient-toolbar.cpp:151 -msgid "Assign gradient to object" -msgstr "Przypisz gradient do obiektu" +#: ../src/verbs.cpp:2245 +msgid "_Import..." +msgstr "_Importuj..." -#: ../src/widgets/gradient-toolbar.cpp:185 -msgid "No gradients" -msgstr "Brak gradientów" +#: ../src/verbs.cpp:2246 +msgid "Import a bitmap or SVG image into this document" +msgstr "Importuj bitmapę lub rysunek SVG do dokumentu" -#: ../src/widgets/gradient-toolbar.cpp:194 -msgid "Nothing selected" -msgstr "Nic nie zaznaczono" +#: ../src/verbs.cpp:2247 +msgid "_Export Bitmap..." +msgstr "_Eksportuj jako bitmapę..." -#: ../src/widgets/gradient-toolbar.cpp:205 -msgid "No gradients in selection" -msgstr "Brak gradientów w zaznaczeniu" +#: ../src/verbs.cpp:2248 +msgid "Export this document or a selection as a bitmap image" +msgstr "Eksportuj dokument lub obszar zaznaczenia jako bitmapę" -#: ../src/widgets/gradient-toolbar.cpp:215 -msgid "Multiple gradients" -msgstr "Wiele gradientów" +#: ../src/verbs.cpp:2249 +msgid "Import a document from Open Clip Art Library" +msgstr "Importuje dokument z biblioteki klipartów" -#: ../src/widgets/gradient-toolbar.cpp:463 -msgid "Edit the stops of the gradient" -msgstr "Edytuj punkty sterujące gradientu" +#: ../src/verbs.cpp:2250 +msgid "Export To Open Clip Art Library" +msgstr "Eksportuje do biblioteki klipartów" -#: ../src/widgets/gradient-toolbar.cpp:522 ../src/widgets/toolbox.cpp:1936 -#: ../src/widgets/toolbox.cpp:2010 ../src/widgets/toolbox.cpp:2340 -#: ../src/widgets/toolbox.cpp:2378 ../src/widgets/toolbox.cpp:2992 -#: ../src/widgets/toolbox.cpp:3016 ../src/widgets/toolbox.cpp:4110 -#: ../src/widgets/toolbox.cpp:4137 -msgid "New:" -msgstr "Nowy:" +#: ../src/verbs.cpp:2250 +msgid "Export this document to Open Clip Art Library" +msgstr "Eksportuje ten dokument do galerii klipartów" -#: ../src/widgets/gradient-toolbar.cpp:535 -msgid "Create linear gradient" -msgstr "Utwórz gradient liniowy" +#: ../src/verbs.cpp:2251 +msgid "N_ext Window" +msgstr "_Następne okno" -#: ../src/widgets/gradient-toolbar.cpp:549 -msgid "Create radial (elliptic or circular) gradient" -msgstr "Utwórz gradient radialny (eliptyczny lub kołowy)" +#: ../src/verbs.cpp:2252 +msgid "Switch to the next document window" +msgstr "Przełącza do okna następnego dokumentu" -#: ../src/widgets/gradient-toolbar.cpp:564 -msgid "on" -msgstr "na" +#: ../src/verbs.cpp:2253 +msgid "P_revious Window" +msgstr "Popr_zednie okno" -#: ../src/widgets/gradient-toolbar.cpp:577 -msgid "Create gradient in the fill" -msgstr "Utwórz gradient w wypełnieniu" +#: ../src/verbs.cpp:2254 +msgid "Switch to the previous document window" +msgstr "Przełącza do okna poprzedniego dokumentu" -#: ../src/widgets/gradient-toolbar.cpp:591 -msgid "Create gradient in the stroke" -msgstr "Utwórz gradient na konturze" +#: ../src/verbs.cpp:2255 +msgid "_Close" +msgstr "Zam_knij" -#. FIXME: implement averaging of all parameters for multiple selected -#. gtk_label_set_markup(GTK_LABEL(l), _("Average:")); -#: ../src/widgets/gradient-toolbar.cpp:605 ../src/widgets/toolbox.cpp:1938 -#: ../src/widgets/toolbox.cpp:2348 ../src/widgets/toolbox.cpp:2366 -#: ../src/widgets/toolbox.cpp:2994 ../src/widgets/toolbox.cpp:3005 -#: ../src/widgets/toolbox.cpp:4113 ../src/widgets/toolbox.cpp:4124 -msgid "Change:" -msgstr "Zmień:" +#: ../src/verbs.cpp:2256 +msgid "Close this document window" +msgstr "Zamyka okno aktywnego dokumentu" -#: ../src/widgets/gradient-vector.cpp:270 -msgid "No gradients in document" -msgstr "Brak gradientów w dokumencie" +#: ../src/verbs.cpp:2257 +msgid "Quit Inkscape" +msgstr "Zamyka program Inkscape" -#: ../src/widgets/gradient-vector.cpp:276 -msgid "No gradient selected" -msgstr "Nie zaznaczono gradientu" +#: ../src/verbs.cpp:2257 +msgid "_Quit" +msgstr "Zakoń_cz" -#: ../src/widgets/gradient-vector.cpp:538 -msgid "No stops in gradient" -msgstr "Brak punktów sterujących w gradiencie" +#: ../src/verbs.cpp:2260 +msgid "Undo last action" +msgstr "Wycofaj ostatnio wykonaną operację" -#: ../src/widgets/gradient-vector.cpp:661 -msgid "Change gradient stop offset" -msgstr "Zmień przesunięcie punktu kontrolnego" +#: ../src/verbs.cpp:2263 +msgid "Do again the last undone action" +msgstr "Przywróć ostatnio wycofaną operację" -#. TRANSLATORS: "Stop" means: a "phase" of a gradient -#: ../src/widgets/gradient-vector.cpp:803 -msgid "Add stop" -msgstr "Dodaj punkt" +#: ../src/verbs.cpp:2264 +msgid "Cu_t" +msgstr "Wy_tnij" -#: ../src/widgets/gradient-vector.cpp:806 -msgid "Add another control stop to gradient" -msgstr "Dodaj kolejny punkt kontrolny do gradientu" +#: ../src/verbs.cpp:2265 +msgid "Cut selection to clipboard" +msgstr "Wytnij zaznaczone obiekty i przechowuj je w schowku" -#: ../src/widgets/gradient-vector.cpp:808 -msgid "Delete stop" -msgstr "Usuń punkt" +#: ../src/verbs.cpp:2266 +msgid "_Copy" +msgstr "_Kopiuj" -#: ../src/widgets/gradient-vector.cpp:811 -msgid "Delete current control stop from gradient" -msgstr "Usuń z gradientu wyświetlony powyżej punkt kontrolny" +#: ../src/verbs.cpp:2267 +msgid "Copy selection to clipboard" +msgstr "Kopiuj zaznaczone obiekty do schowka" -#. Label -#: ../src/widgets/gradient-vector.cpp:822 -msgid "Offset:" -msgstr "Przesunięcie:" +#: ../src/verbs.cpp:2268 +msgid "_Paste" +msgstr "_Wklej" -#. TRANSLATORS: "Stop" means: a "phase" of a gradient -#: ../src/widgets/gradient-vector.cpp:867 -msgid "Stop Color" -msgstr "Kolor w punkcie" +#: ../src/verbs.cpp:2269 +msgid "Paste objects from clipboard to mouse point, or paste text" +msgstr "Wklej obiekty lub tekst ze schowka w pozycji wskaźnika myszy" -#: ../src/widgets/gradient-vector.cpp:896 -msgid "Gradient editor" -msgstr "Edytor gradientu" +#: ../src/verbs.cpp:2270 +msgid "Paste _Style" +msgstr "Wklej _styl" -#: ../src/widgets/gradient-vector.cpp:1171 -msgid "Change gradient stop color" -msgstr "Zmień kolor w punkcie kontrolnym" +#: ../src/verbs.cpp:2271 +msgid "Apply the style of the copied object to selection" +msgstr "Przypisuje zaznaczonym obiektom styl ze skopiowanego obiektu" -#: ../src/widgets/layer-selector.cpp:115 -msgid "Toggle current layer visibility" -msgstr "Przełącz widzialność aktywnej warstwy" +#: ../src/verbs.cpp:2273 +msgid "Scale selection to match the size of the copied object" +msgstr "Skaluje zaznaczenie tak, aby dopasować do rozmiaru skopiowanego obiektu" -#: ../src/widgets/layer-selector.cpp:135 -msgid "Lock or unlock current layer" -msgstr "Zablokuj/odblokuj aktywną warstwę" +#: ../src/verbs.cpp:2274 +msgid "Paste _Width" +msgstr "Wklej _szerokość" -#: ../src/widgets/layer-selector.cpp:138 -msgid "Current layer" -msgstr "Aktywna warstwa" +#: ../src/verbs.cpp:2275 +msgid "Scale selection horizontally to match the width of the copied object" +msgstr "Skaluje zaznaczenie poziomo tak, aby dopasować do szerokości skopiowanego obiektu" -#: ../src/widgets/layer-selector.cpp:566 -msgid "(root)" -msgstr "(warstwa główna)" +#: ../src/verbs.cpp:2276 +msgid "Paste _Height" +msgstr "Wklej _wysokość" -#: ../src/widgets/paint-selector.cpp:181 ../src/widgets/paint-selector.cpp:564 -msgid "No paint" -msgstr "Brak koloru" +#: ../src/verbs.cpp:2277 +msgid "Scale selection vertically to match the height of the copied object" +msgstr "Skaluje zaznaczenie pionowo tak, aby dopasować do wysokości skopiowanego obiektu" -#: ../src/widgets/paint-selector.cpp:183 ../src/widgets/paint-selector.cpp:636 -msgid "Flat color" -msgstr "Jednolity kolor" +#: ../src/verbs.cpp:2278 +msgid "Paste Size Separately" +msgstr "Wklej _rozmiar oddzielnie" -#: ../src/widgets/paint-selector.cpp:185 ../src/widgets/paint-selector.cpp:707 -msgid "Linear gradient" -msgstr "Gradient liniowy" +#: ../src/verbs.cpp:2279 +msgid "Scale each selected object to match the size of the copied object" +msgstr "Skaluje osobno każdy z zaznaczonych obiektów tak, aby dopasować do rozmiaru skopiowanego obiektu" -#: ../src/widgets/paint-selector.cpp:187 ../src/widgets/paint-selector.cpp:710 -msgid "Radial gradient" -msgstr "Gradient radialny" +#: ../src/verbs.cpp:2280 +msgid "Paste Width Separately" +msgstr "Wklej s_zerokość oddzielnie" -#: ../src/widgets/paint-selector.cpp:191 -msgid "Unset paint (make it undefined so it can be inherited)" -msgstr "" -"Wyzeruj wypełnienie (ustaw jako niezdefiniowane, co umożliwia późniejsze " -"dziedziczenie)" +#: ../src/verbs.cpp:2281 +msgid "Scale each selected object horizontally to match the width of the copied object" +msgstr "Skaluje osobno każdy z zaznaczonych obiektów poziomo tak, aby dopasować do szerokości skopiowanego obiektu" -#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/painting.html#FillRuleProperty -#: ../src/widgets/paint-selector.cpp:203 -msgid "" -"Any path self-intersections or subpaths create holes in the fill (fill-rule: " -"evenodd)" -msgstr "" -"Obszary nałożone lub ścieżki wewnątrz figury nie są wypełniane (zasada " -"nieparzystości)" +#: ../src/verbs.cpp:2282 +msgid "Paste Height Separately" +msgstr "Wklej wyso_kość oddzielnie" -#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/painting.html#FillRuleProperty -#: ../src/widgets/paint-selector.cpp:214 -msgid "" -"Fill is solid unless a subpath is counterdirectional (fill-rule: nonzero)" -msgstr "" -"Wypełnienie przenika całą figurę, chyba że ścieżka składowa ma odwrócony " -"kierunek (zasada przenikania)" +#: ../src/verbs.cpp:2283 +msgid "Scale each selected object vertically to match the height of the copied object" +msgstr "Skaluje osobno każdy z zaznaczonych obiektów pionowo tak, aby dopasować do wysokości skopiowanego obiektu" -#: ../src/widgets/paint-selector.cpp:531 -msgid "No objects" -msgstr "Brak obiektów" +#: ../src/verbs.cpp:2284 +msgid "Paste _In Place" +msgstr "Wkle_j w miejscu pochodzenia" -#: ../src/widgets/paint-selector.cpp:542 -msgid "Multiple styles" -msgstr "Wiele stylów" +#: ../src/verbs.cpp:2285 +msgid "Paste objects from clipboard to the original location" +msgstr "Wkleja obiekty ze schowka w miejscu, z którego pochodzą" -#: ../src/widgets/paint-selector.cpp:553 -msgid "Paint is undefined" -msgstr "Wypełnienie niezdefiniowane" +#: ../src/verbs.cpp:2286 +msgid "Paste Path _Effect" +msgstr "Wklej e_fekt ścieżki" -#: ../src/widgets/paint-selector.cpp:984 -msgid "" -"Use the Node tool to adjust position, scale, and rotation of the " -"pattern on canvas. Use Object > Pattern > Objects to Pattern to " -"create a new pattern from selection." -msgstr "" -"Użyj narzędzia Edycja węzłów, aby dopasować położenie, skalowanie i " -"rotację wzorca w obszarze roboczym. Użyj Obiekt » Deseń » " -"Obiekty na deseń, aby utworzyć nowy wzór wypełnienia z zaznaczonych " -"obiektów." +#: ../src/verbs.cpp:2287 +msgid "Apply the path effect of the copied object to selection" +msgstr "Przypisuje efekt ścieżki ze skopiowanego obiektu do zaznaczenia" -#: ../src/widgets/select-toolbar.cpp:244 -msgid "Transform by toolbar" -msgstr "Przekształć używając paska narzędziowego" +#: ../src/verbs.cpp:2288 +msgid "Remove Path _Effect" +msgstr "Usuń _efekt ścieżki" -#: ../src/widgets/select-toolbar.cpp:299 -msgid "Now stroke width is scaled when objects are scaled." -msgstr "" -"Teraz szerokość konturu jest skalowana podczas skalowania " -"obiektów" +#: ../src/verbs.cpp:2289 +msgid "Remove any path effects from selected objects" +msgstr "Usuwa wszystkie efekty ścieżki z zaznaczonych obiektów" -#: ../src/widgets/select-toolbar.cpp:301 -msgid "Now stroke width is not scaled when objects are scaled." -msgstr "" -"Teraz szerokość konturu nie jest skalowana podczas skalowania " -"obiektów" +#: ../src/verbs.cpp:2290 +msgid "Remove Filter" +msgstr "Usuń filtr" -#: ../src/widgets/select-toolbar.cpp:310 -msgid "" -"Now rounded rectangle corners are scaled when rectangles are " -"scaled." -msgstr "" -"Teraz zaokrąglone narożniki są skalowane podczas skalowania " -"prostokątów" +#: ../src/verbs.cpp:2291 +msgid "Remove any filters from selected objects" +msgstr "Usuwa wszystkie efekty ścieżki z zaznaczonych obiektów" -#: ../src/widgets/select-toolbar.cpp:312 -msgid "" -"Now rounded rectangle corners are not scaled when rectangles " -"are scaled." -msgstr "" -"Teraz zaokrąglone narożniki nie są skalowane podczas " -"skalowania prostokątów" +#: ../src/verbs.cpp:2292 +msgid "_Delete" +msgstr "_Usuń" -#: ../src/widgets/select-toolbar.cpp:321 -msgid "" -"Now gradients are transformed along with their objects when " -"those are transformed (moved, scaled, rotated, or skewed)." -msgstr "" -"Teraz gradienty są przekształcane wraz z edycją obiektów " -"(przesuwanie, skalowanie, obrót, pochylenie)" +#: ../src/verbs.cpp:2293 +msgid "Delete selection" +msgstr "Usuwa zaznaczone obiekty" -#: ../src/widgets/select-toolbar.cpp:323 -msgid "" -"Now gradients remain fixed when objects are transformed " -"(moved, scaled, rotated, or skewed)." -msgstr "" -"Teraz gradienty pozostają niezmienione podczas, gdy obiekty są " -"przekształcane (przesuwanie, skalowanie, obrót, pochylenie)" +#: ../src/verbs.cpp:2294 +msgid "Duplic_ate" +msgstr "_Powiel" -#: ../src/widgets/select-toolbar.cpp:332 -msgid "" -"Now patterns are transformed along with their objects when " -"those are transformed (moved, scaled, rotated, or skewed)." -msgstr "" -"Teraz desenie są przekształcane wraz z edycją obiektów " -"(przesuwanie, skalowanie, obrót, pochylenie)" +#: ../src/verbs.cpp:2295 +msgid "Duplicate selected objects" +msgstr "Duplikuj zaznaczone obiekty" -#: ../src/widgets/select-toolbar.cpp:334 -msgid "" -"Now patterns remain fixed when objects are transformed (moved, " -"scaled, rotated, or skewed)." -msgstr "" -"Teraz desenie pozostają niezmienione podczas, gdy obiekty są " -"przekształcane (przesuwanie, skalowanie, obrót, pochylenie)" +#: ../src/verbs.cpp:2296 +msgid "Create Clo_ne" +msgstr "_Utwórz klon" -#. four spinbuttons -#. TRANSLATORS: only translate "string" in "context|string". -#. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS -#: ../src/widgets/select-toolbar.cpp:446 -msgid "select_toolbar|X position" -msgstr "pozycja X" +#: ../src/verbs.cpp:2297 +msgid "Create a clone (a copy linked to the original) of selected object" +msgstr "Utwórz klon zaznaczonego obiektu (kopia połączona z oryginałem)" -#: ../src/widgets/select-toolbar.cpp:446 -msgid "select_toolbar|X" -msgstr "X" +#: ../src/verbs.cpp:2298 +msgid "Unlin_k Clone" +msgstr "_Odłącz klon" -#: ../src/widgets/select-toolbar.cpp:448 -msgid "Horizontal coordinate of selection" -msgstr "Pozioma współrzędna zaznaczenia" +#: ../src/verbs.cpp:2299 +msgid "Cut the selected clones' links to the originals, turning them into standalone objects" +msgstr "Usuń zaznaczone połączenie klonu z jego oryginałem zamieniając go na samodzielne obiekty" -#. TRANSLATORS: only translate "string" in "context|string". -#. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS -#: ../src/widgets/select-toolbar.cpp:454 -msgid "select_toolbar|Y position" -msgstr "pozycja Y" +#: ../src/verbs.cpp:2300 +msgid "Relink to Copied" +msgstr "" -#: ../src/widgets/select-toolbar.cpp:454 -msgid "select_toolbar|Y" -msgstr "Y" +#: ../src/verbs.cpp:2301 +msgid "Relink the selected clones to the object currently on the clipboard" +msgstr "" -#: ../src/widgets/select-toolbar.cpp:456 -msgid "Vertical coordinate of selection" -msgstr "Pionowa współrzędna zaznaczenia" +#: ../src/verbs.cpp:2302 +msgid "Select _Original" +msgstr "Zaznacz o_ryginał" -#. TRANSLATORS: only translate "string" in "context|string". -#. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS -#: ../src/widgets/select-toolbar.cpp:462 -msgid "select_toolbar|Width" -msgstr "Szerokość" +#: ../src/verbs.cpp:2303 +msgid "Select the object to which the selected clone is linked" +msgstr "Zaznacza oryginalny obiekt, z którym połączony jest zaznaczony klon" -#: ../src/widgets/select-toolbar.cpp:462 -msgid "select_toolbar|W" -msgstr "Szer." +#. TRANSLATORS: Convert selection to a line marker +#: ../src/verbs.cpp:2305 +msgid "Objects to _Marker" +msgstr "Obiekty na _znacznik" -#: ../src/widgets/select-toolbar.cpp:464 -msgid "Width of selection" -msgstr "Szerokość zaznaczenia" +#: ../src/verbs.cpp:2306 +msgid "Convert selection to a line marker" +msgstr "Konwertuje zaznaczenie na znacznik lini" -#: ../src/widgets/select-toolbar.cpp:471 -msgid "Lock width and height" -msgstr "Zablokuj szerokość i wysokość" +#. TRANSLATORS: Convert selection to a collection of guidelines +#: ../src/verbs.cpp:2308 +msgid "Objects to Gu_ides" +msgstr "Obiekty na prow_adnice" -#: ../src/widgets/select-toolbar.cpp:472 -msgid "When locked, change both width and height by the same proportion" -msgstr "" -"Gdy blokada jest włączona, zmiana szerokości i wysokości następuje z " -"zachowaniem proporcji" +#: ../src/verbs.cpp:2309 +msgid "Convert selected objects to a collection of guidelines aligned with their edges" +msgstr "Konwertuje zaznaczone obiekty na kolekcję linii prowadnic wyrównanych z ich krawędziami" -#. TRANSLATORS: only translate "string" in "context|string". -#. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS -#: ../src/widgets/select-toolbar.cpp:483 -msgid "select_toolbar|Height" -msgstr "Wysokość" +#. TRANSLATORS: Convert selection to a rectangle with tiled pattern fill +#: ../src/verbs.cpp:2311 +msgid "Objects to Patter_n" +msgstr "_Obiekty na deseń" -#: ../src/widgets/select-toolbar.cpp:483 -msgid "select_toolbar|H" -msgstr "Wys." +#: ../src/verbs.cpp:2312 +msgid "Convert selection to a rectangle with tiled pattern fill" +msgstr "Konwertuje zaznaczenie na prostokąt z ułożonym wzorcem wypełnienia" -#: ../src/widgets/select-toolbar.cpp:485 -msgid "Height of selection" -msgstr "Wysokość zaznaczenia" +#. TRANSLATORS: Extract objects from a tiled pattern fill +#: ../src/verbs.cpp:2314 +msgid "Pattern to _Objects" +msgstr "_Deseń na obiekty" -#: ../src/widgets/select-toolbar.cpp:516 -msgid "Affect:" -msgstr "Zależności:" +#: ../src/verbs.cpp:2315 +msgid "Extract objects from a tiled pattern fill" +msgstr "Wyodrębnia obiekty z wypełnienia desenia" -#: ../src/widgets/select-toolbar.cpp:535 -msgid "Scale rounded corners" -msgstr "Skaluj zaokrąglone narożniki" +#: ../src/verbs.cpp:2316 +msgid "Clea_r All" +msgstr "_Wyczyść wszystko" -#: ../src/widgets/select-toolbar.cpp:546 -msgid "Move gradients" -msgstr "Przesuń uchwyt gradientu" +#: ../src/verbs.cpp:2317 +msgid "Delete all objects from document" +msgstr "Usuwa wszystkie obiekty z dokumentu" -#: ../src/widgets/select-toolbar.cpp:557 -msgid "Move patterns" -msgstr "Przesuń desenie" +#: ../src/verbs.cpp:2318 +msgid "Select Al_l" +msgstr "Z_aznacz wszystko" -#: ../src/widgets/sp-color-gtkselector.cpp:50 -msgid "System" -msgstr "System" +#: ../src/verbs.cpp:2319 +msgid "Select all objects or all nodes" +msgstr "Zaznacz wszystkie obiekty lub węzły" -#: ../src/widgets/sp-color-icc-selector.cpp:110 -msgid "CMS" -msgstr "CMS" +#: ../src/verbs.cpp:2320 +msgid "Select All in All La_yers" +msgstr "Zaznacz wsz_ystko na wszystkich warstwach" -#: ../src/widgets/sp-color-icc-selector.cpp:219 -#: ../src/widgets/sp-color-scales.cpp:397 -msgid "_R" -msgstr "_R" +#: ../src/verbs.cpp:2321 +msgid "Select all objects in all visible and unlocked layers" +msgstr "Zaznacz wszystkie obiekty na wszystkich widocznych i odblokowanych warstwach" -#: ../src/widgets/sp-color-icc-selector.cpp:219 -#: ../src/widgets/sp-color-icc-selector.cpp:220 -#: ../src/widgets/sp-color-scales.cpp:400 -msgid "_G" -msgstr "_G" +#: ../src/verbs.cpp:2322 +msgid "In_vert Selection" +msgstr "O_dwróć zaznaczenie" -#: ../src/widgets/sp-color-icc-selector.cpp:219 -#: ../src/widgets/sp-color-scales.cpp:403 -msgid "_B" -msgstr "_B" +#: ../src/verbs.cpp:2323 +msgid "Invert selection (unselect what is selected and select everything else)" +msgstr "Odwraca zaznaczenie (usuwa zaznaczenie obiektów i zaznacza pozostałe)" -#: ../src/widgets/sp-color-icc-selector.cpp:221 -#: ../src/widgets/sp-color-icc-selector.cpp:222 -#: ../src/widgets/sp-color-scales.cpp:423 -msgid "_H" -msgstr "_H" +#: ../src/verbs.cpp:2324 +msgid "Invert in All Layers" +msgstr "Odwróć na wszystkich warstwach" -#: ../src/widgets/sp-color-icc-selector.cpp:221 -#: ../src/widgets/sp-color-icc-selector.cpp:222 -#: ../src/widgets/sp-color-scales.cpp:426 -msgid "_S" -msgstr "_S" +#: ../src/verbs.cpp:2325 +msgid "Invert selection in all visible and unlocked layers" +msgstr "Odwraca zaznaczenie na wszystkich widocznych i odblokowanych warstwach" -#: ../src/widgets/sp-color-icc-selector.cpp:222 -#: ../src/widgets/sp-color-scales.cpp:429 -msgid "_L" -msgstr "_L" +#: ../src/verbs.cpp:2326 +msgid "Select Next" +msgstr "Zaznacz następny" -#: ../src/widgets/sp-color-icc-selector.cpp:223 -#: ../src/widgets/sp-color-icc-selector.cpp:224 -#: ../src/widgets/sp-color-scales.cpp:451 -msgid "_C" -msgstr "_C" +#: ../src/verbs.cpp:2327 +msgid "Select next object or node" +msgstr "Zaznacza następny obiekt lub węzeł" -#: ../src/widgets/sp-color-icc-selector.cpp:223 -#: ../src/widgets/sp-color-icc-selector.cpp:224 -#: ../src/widgets/sp-color-scales.cpp:454 -msgid "_M" -msgstr "_M" +#: ../src/verbs.cpp:2328 +msgid "Select Previous" +msgstr "Zaznacz poprzedni" -#: ../src/widgets/sp-color-icc-selector.cpp:223 -#: ../src/widgets/sp-color-icc-selector.cpp:224 -#: ../src/widgets/sp-color-scales.cpp:457 -msgid "_Y" -msgstr "_Y" +#: ../src/verbs.cpp:2329 +msgid "Select previous object or node" +msgstr "Zaznacza poprzedni obiekt lub węzeł" -#: ../src/widgets/sp-color-icc-selector.cpp:223 -#: ../src/widgets/sp-color-scales.cpp:460 -msgid "_K" -msgstr "_K" +#: ../src/verbs.cpp:2330 +msgid "D_eselect" +msgstr "Usuń zaz_naczenie" -#: ../src/widgets/sp-color-icc-selector.cpp:234 -msgid "Gray" -msgstr "Odcienie szarości" +#: ../src/verbs.cpp:2331 +msgid "Deselect any selected objects or nodes" +msgstr "Usuń zaznaczenie ze wszystkich zaznaczonych obiektów lub węzłów" -#: ../src/widgets/sp-color-icc-selector.cpp:237 -#: ../src/widgets/sp-color-icc-selector.cpp:238 -#: ../src/widgets/sp-color-scales.cpp:452 -#: ../src/widgets/sp-color-scales.cpp:453 -msgid "Cyan" -msgstr "Cyjan" +#: ../src/verbs.cpp:2332 +msgid "_Guides around page" +msgstr "_Prowadnice wokół strony" -#: ../src/widgets/sp-color-icc-selector.cpp:237 -#: ../src/widgets/sp-color-icc-selector.cpp:238 -#: ../src/widgets/sp-color-scales.cpp:455 -#: ../src/widgets/sp-color-scales.cpp:456 -msgid "Magenta" -msgstr "Magenta" +#: ../src/verbs.cpp:2333 +msgid "Create four guides aligned with the page borders" +msgstr "Tworzy cztery prowadnice przylegające do krawędzi strony" -#: ../src/widgets/sp-color-icc-selector.cpp:237 -#: ../src/widgets/sp-color-icc-selector.cpp:238 -#: ../src/widgets/sp-color-scales.cpp:458 -#: ../src/widgets/sp-color-scales.cpp:459 -msgid "Yellow" -msgstr "Yellow" +#: ../src/verbs.cpp:2334 +msgid "Next Path Effect Parameter" +msgstr "Następny parametr efektu ścieżki" -#: ../src/widgets/sp-color-icc-selector.cpp:295 -msgid "Fix" -msgstr "Napraw" +#: ../src/verbs.cpp:2335 +msgid "Show next Path Effect parameter for editing" +msgstr "Wyświetl do edycji następny parametr efektu ścieżki" -#: ../src/widgets/sp-color-icc-selector.cpp:298 -msgid "Fix RGB fallback to match icc-color() value." -msgstr "Napraw awarię składowych RGB, aby odpowiadały wartościom icc-color()" +#. Selection +#: ../src/verbs.cpp:2338 +msgid "Raise to _Top" +msgstr "Przenieś na wierzc_h" -#. Label -#: ../src/widgets/sp-color-icc-selector.cpp:379 -#: ../src/widgets/sp-color-scales.cpp:406 -#: ../src/widgets/sp-color-scales.cpp:432 -#: ../src/widgets/sp-color-scales.cpp:463 -#: ../src/widgets/sp-color-wheel-selector.cpp:134 -msgid "_A" -msgstr "_A" +#: ../src/verbs.cpp:2339 +msgid "Raise selection to top" +msgstr "Przenieś zaznaczone obiekty na wierzch" -#: ../src/widgets/sp-color-icc-selector.cpp:389 -#: ../src/widgets/sp-color-icc-selector.cpp:401 -#: ../src/widgets/sp-color-scales.cpp:407 -#: ../src/widgets/sp-color-scales.cpp:408 -#: ../src/widgets/sp-color-scales.cpp:433 -#: ../src/widgets/sp-color-scales.cpp:434 -#: ../src/widgets/sp-color-scales.cpp:464 -#: ../src/widgets/sp-color-scales.cpp:465 -#: ../src/widgets/sp-color-wheel-selector.cpp:144 -#: ../src/widgets/sp-color-wheel-selector.cpp:156 -msgid "Alpha (opacity)" -msgstr "Krycie (przezroczystość)" +#: ../src/verbs.cpp:2340 +msgid "Lower to _Bottom" +msgstr "Przenieś pod _spód" -#: ../src/widgets/sp-color-notebook.cpp:329 -msgid "RGBA_:" -msgstr "RGBA_:" +#: ../src/verbs.cpp:2341 +msgid "Lower selection to bottom" +msgstr "Przenieś zaznaczone obiekty na spód" -#: ../src/widgets/sp-color-notebook.cpp:337 -msgid "Hexadecimal RGBA value of the color" -msgstr "Wartość szesnastkowa koloru RGBA" +#: ../src/verbs.cpp:2342 +msgid "_Raise" +msgstr "Przenieś w _górę" -#: ../src/widgets/sp-color-scales.cpp:77 -msgid "RGB" -msgstr "RGB" +#: ../src/verbs.cpp:2343 +msgid "Raise selection one step" +msgstr "Przenieś zaznaczone obiekty o jedną pozycję w górę" -#: ../src/widgets/sp-color-scales.cpp:77 -msgid "HSL" -msgstr "HSL" +#: ../src/verbs.cpp:2344 +msgid "_Lower" +msgstr "Przenieś w _dół" -#: ../src/widgets/sp-color-scales.cpp:77 -msgid "CMYK" -msgstr "CMYK" +#: ../src/verbs.cpp:2345 +msgid "Lower selection one step" +msgstr "Przenieś zaznaczone obiekty o jedną pozycję w dół" -#: ../src/widgets/sp-color-selector.cpp:64 -msgid "Unnamed" -msgstr "Bez nazwy" +#: ../src/verbs.cpp:2346 +msgid "_Group" +msgstr "Grup_uj" -#: ../src/widgets/sp-color-wheel-selector.cpp:61 -msgid "Wheel" -msgstr "Koło" +#: ../src/verbs.cpp:2347 +msgid "Group selected objects" +msgstr "Grupuj zaznaczone obiekty" -#: ../src/widgets/sp-xmlview-attr-list.cpp:46 -msgid "Attribute" -msgstr "Atrybut" +#: ../src/verbs.cpp:2349 +msgid "Ungroup selected groups" +msgstr "Rozdziel zaznaczone grupy obiektów" -#: ../src/widgets/sp-xmlview-attr-list.cpp:47 -#: ../share/extensions/perfectboundcover.inx.h:19 -msgid "Value" -msgstr "Wartość" +#: ../src/verbs.cpp:2351 +msgid "_Put on Path" +msgstr "_Wstaw na ścieżkę" -#: ../src/widgets/sp-xmlview-content.cpp:169 -msgid "Type text in a text node" -msgstr "Wprowadź tekst w węźle tekstowym" +#: ../src/verbs.cpp:2353 +msgid "_Remove from Path" +msgstr "_Zdejmij ze ścieżki" -#: ../src/widgets/toolbox.cpp:187 -msgid "Color/opacity used for color tweaking" -msgstr "Kolor/krycie użyte dla ustawień koloru" +#: ../src/verbs.cpp:2355 +msgid "Remove Manual _Kerns" +msgstr "U_suń ręczne podcięcie" -#: ../src/widgets/toolbox.cpp:191 -msgid "Style of new stars" -msgstr "Styl nowych gwiazd" +#. TRANSLATORS: "glyph": An image used in the visual representation of characters; +#. roughly speaking, how a character looks. A font is a set of glyphs. +#: ../src/verbs.cpp:2358 +msgid "Remove all manual kerns and glyph rotations from a text object" +msgstr "Usuwa ręcznie wprowadzone podcięcia i obrót glifu z obiektu tekstowego" -#: ../src/widgets/toolbox.cpp:193 -msgid "Style of new rectangles" -msgstr "Styl nowych prostokątów" +#: ../src/verbs.cpp:2360 +msgid "_Union" +msgstr "_Suma" -#: ../src/widgets/toolbox.cpp:195 -msgid "Style of new 3D boxes" -msgstr "Styl nowych elementów 3D" +#: ../src/verbs.cpp:2361 +msgid "Create union of selected paths" +msgstr "Tworzy sumę zaznaczonych ścieżek" -#: ../src/widgets/toolbox.cpp:197 -msgid "Style of new ellipses" -msgstr "Styl nowych elips" +#: ../src/verbs.cpp:2362 +msgid "_Intersection" +msgstr "Część wspó_lna" -#: ../src/widgets/toolbox.cpp:199 -msgid "Style of new spirals" -msgstr "Styl nowych spiral" +#: ../src/verbs.cpp:2363 +msgid "Create intersection of selected paths" +msgstr "Tworzy część wspólną zaznaczonych ścieżek" -#: ../src/widgets/toolbox.cpp:201 -msgid "Style of new paths created by Pencil" -msgstr "Styl nowych ścieżek utworzonych za pomocą ołówka" +#: ../src/verbs.cpp:2364 +msgid "_Difference" +msgstr "Różnic_a" -#: ../src/widgets/toolbox.cpp:203 -msgid "Style of new paths created by Pen" -msgstr "Styl nowych ścieżek utworzonych za pomocą narzędzia \"Pióro\"" +#: ../src/verbs.cpp:2365 +msgid "Create difference of selected paths (bottom minus top)" +msgstr "Tworzy różnicę zaznaczonych ścieżek (dalszy minus bliższy)" -#: ../src/widgets/toolbox.cpp:205 -msgid "Style of new calligraphic strokes" -msgstr "Styl nowych linii kaligraficznych" +#: ../src/verbs.cpp:2366 +msgid "E_xclusion" +msgstr "_Wykluczenie" -#: ../src/widgets/toolbox.cpp:207 -msgid "TBD" -msgstr "" +#: ../src/verbs.cpp:2367 +msgid "Create exclusive OR of selected paths (those parts that belong to only one path)" +msgstr "Tworzy różnicę symetryczną zaznaczonych ścieżek (części należące tylko do jednej ze ścieżek)" -#: ../src/widgets/toolbox.cpp:217 -msgid "Style of Paint Bucket fill objects" -msgstr "Styl wypełniania obiektów" +#: ../src/verbs.cpp:2368 +msgid "Di_vision" +msgstr "_Podział" -#: ../src/widgets/toolbox.cpp:1075 -msgid "Insert node" -msgstr "Wstaw węzeł" +#: ../src/verbs.cpp:2369 +msgid "Cut the bottom path into pieces" +msgstr "Rozcina dolną ścieżkę na części" -#: ../src/widgets/toolbox.cpp:1076 -msgid "Insert new nodes into selected segments" -msgstr "Wstaw nowe węzły do zaznaczonych segmentów" +#. TRANSLATORS: "to cut a path" is not the same as "to break a path apart" - see the +#. Advanced tutorial for more info +#: ../src/verbs.cpp:2372 +msgid "Cut _Path" +msgstr "Ro_zcięcie ścieżki" -#: ../src/widgets/toolbox.cpp:1079 -msgid "Insert" -msgstr "Wstaw" +#: ../src/verbs.cpp:2373 +msgid "Cut the bottom path's stroke into pieces, removing fill" +msgstr "Rozcina kontur dolnej ścieżki na części i usuwa wypełnienie" -#: ../src/widgets/toolbox.cpp:1087 -msgid "Delete selected nodes" -msgstr "Usuń zaznaczone węzły" +#. TRANSLATORS: "outset": expand a shape by offsetting the object's path, +#. i.e. by displacing it perpendicular to the path in each point. +#. See also the Advanced Tutorial for explanation. +#: ../src/verbs.cpp:2377 +msgid "Outs_et" +msgstr "Przesuń na z_ewnątrz" -#: ../src/widgets/toolbox.cpp:1097 -msgid "Join endnodes" -msgstr "Połącz węzły końcowe" +#: ../src/verbs.cpp:2378 +msgid "Outset selected paths" +msgstr "Przesuwa zaznaczone ścieżki na zewnątrz kształtu" -#: ../src/widgets/toolbox.cpp:1098 -msgid "Join selected endnodes" -msgstr "Połącz zaznaczone węzły końcowe" +#: ../src/verbs.cpp:2380 +msgid "O_utset Path by 1 px" +msgstr "Przesuń ścieżkę na _zewnątrz o 1px" -#: ../src/widgets/toolbox.cpp:1101 -msgid "Join" -msgstr "Połącz" +#: ../src/verbs.cpp:2381 +msgid "Outset selected paths by 1 px" +msgstr "Przesuwa zaznaczone ścieżki na zewnątrz kształtu o 1 px" -#: ../src/widgets/toolbox.cpp:1108 -msgid "Break nodes" -msgstr "" +#: ../src/verbs.cpp:2383 +msgid "O_utset Path by 10 px" +msgstr "Przesuń ścieżkę na z_ewnątrz o 10px" -#: ../src/widgets/toolbox.cpp:1109 -msgid "Break path at selected nodes" -msgstr "Rozdziel ścieżkę w zaznaczonych węzłach" +#: ../src/verbs.cpp:2384 +msgid "Outset selected paths by 10 px" +msgstr "Przesuwa zaznaczone ścieżki na zewnątrz kształtu o 10 px" -#: ../src/widgets/toolbox.cpp:1119 -msgid "Join with segment" -msgstr "Połącz z odcinkiem" +#. TRANSLATORS: "inset": contract a shape by offsetting the object's path, +#. i.e. by displacing it perpendicular to the path in each point. +#. See also the Advanced Tutorial for explanation. +#: ../src/verbs.cpp:2388 +msgid "I_nset" +msgstr "Przesuń do wewną_trz" -#: ../src/widgets/toolbox.cpp:1120 -msgid "Join selected endnodes with a new segment" -msgstr "Połącz zaznaczone węzły końcowe wstawiając nowy odcinek" +#: ../src/verbs.cpp:2389 +msgid "Inset selected paths" +msgstr "Przesuwa zaznaczone ścieżki do wewnątrz kształtu" -#: ../src/widgets/toolbox.cpp:1130 -msgid "Delete segment between two non-endpoint nodes" -msgstr "Usuń odcinek pomiędzy dwoma nie końcowymi punktami" +#: ../src/verbs.cpp:2391 +msgid "I_nset Path by 1 px" +msgstr "Przesuń ścieżkę do _wewnątrz o 1px" -#: ../src/widgets/toolbox.cpp:1139 -msgid "Node Cusp" -msgstr "Węzeł wierzchołka" +#: ../src/verbs.cpp:2392 +msgid "Inset selected paths by 1 px" +msgstr "Przesuwa zaznaczone ścieżki do wewnątrz kształtu o 1 px" -#: ../src/widgets/toolbox.cpp:1140 -msgid "Make selected nodes corner" -msgstr "Zamień zaznaczone węzły w narożniki" +#: ../src/verbs.cpp:2394 +msgid "I_nset Path by 10 px" +msgstr "Przesuń ścieżkę do wew_nątrz o 10 px" -#: ../src/widgets/toolbox.cpp:1149 -msgid "Node Smooth" -msgstr "Wygładź węzły" +#: ../src/verbs.cpp:2395 +msgid "Inset selected paths by 10 px" +msgstr "Przesuwa zaznaczone ścieżki do wewnątrz kształtu o 10 px" -#: ../src/widgets/toolbox.cpp:1150 -msgid "Make selected nodes smooth" -msgstr "Zamień zaznaczone węzły w gładkie zaokrąglenia" +#: ../src/verbs.cpp:2397 +msgid "Create a dynamic offset object" +msgstr "Tworzy obiekt przesunięty dynamicznie" -#: ../src/widgets/toolbox.cpp:1159 -msgid "Node Symmetric" -msgstr "Symetria" +#: ../src/verbs.cpp:2397 +msgid "D_ynamic Offset" +msgstr "Przesuń _dynamicznie" -#: ../src/widgets/toolbox.cpp:1160 -msgid "Make selected nodes symmetric" -msgstr "Ustaw symetrię zaznaczonych węzłów" +#: ../src/verbs.cpp:2399 +msgid "_Linked Offset" +msgstr "Przesuń łą_cznie" -#: ../src/widgets/toolbox.cpp:1169 -msgid "Node Line" -msgstr "Linia" +#: ../src/verbs.cpp:2400 +msgid "Create a dynamic offset object linked to the original path" +msgstr "Tworzy obiekt przesunięty dynamicznie i połączony z oryginalną ścieżką" -#: ../src/widgets/toolbox.cpp:1170 -msgid "Make selected segments lines" -msgstr "Zamień zaznaczone segmenty na linie" +#: ../src/verbs.cpp:2402 +msgid "_Stroke to Path" +msgstr "_Kontur na ścieżkę" -#: ../src/widgets/toolbox.cpp:1179 -msgid "Node Curve" -msgstr "Krzywa" +#: ../src/verbs.cpp:2403 +msgid "Convert selected object's stroke to paths" +msgstr "Konwertuj kontur zaznaczonych obiektów na ścieżki" -#: ../src/widgets/toolbox.cpp:1180 -msgid "Make selected segments curves" -msgstr "Zamień zaznaczone segmenty na krzywe" +#: ../src/verbs.cpp:2404 +msgid "Si_mplify" +msgstr "_Uprość" -#: ../src/widgets/toolbox.cpp:1189 -msgid "Show Handles" -msgstr "Pokaż uchwyty" +#: ../src/verbs.cpp:2405 +msgid "Simplify selected paths (remove extra nodes)" +msgstr "Upraszcza zaznaczone ścieżki usuwając zbędne węzły" -#: ../src/widgets/toolbox.cpp:1190 -msgid "Show the Bezier handles of selected nodes" -msgstr "Pokaż uchwyty kontrolne krzywej Beziera zaznaczonych węzłów" +#: ../src/verbs.cpp:2406 +msgid "_Reverse" +msgstr "Odwróć kieru_nek" -#: ../src/widgets/toolbox.cpp:1200 -msgid "Show Outline" -msgstr "Pokaż obramowanie" +#: ../src/verbs.cpp:2407 +msgid "Reverse the direction of selected paths (useful for flipping markers)" +msgstr "Odwraca kierunek zaznaczonych ścieżek (przydatne do odwracania znaczników rozmieszczonych na konturze)" -#: ../src/widgets/toolbox.cpp:1201 -msgid "Show the outline of the path" -msgstr "Pokaż obramowanie ścieżki" +#. TRANSLATORS: "to trace" means "to convert a bitmap to vector graphics" (to vectorize) +#: ../src/verbs.cpp:2409 +msgid "_Trace Bitmap..." +msgstr "Wektoryzuj bit_mapę..." -#: ../src/widgets/toolbox.cpp:1211 -msgid "Next path effect parameter" -msgstr "Następny parametr efektu ścieżki" +#: ../src/verbs.cpp:2410 +msgid "Create one or more paths from a bitmap by tracing it" +msgstr "Tworzy z bitmapy, poprzez jej wektoryzację, jedną lub więcej ścieżek" -#: ../src/widgets/toolbox.cpp:1212 -msgid "Show next path effect parameter for editing" -msgstr "Wyświetl do edycji następny parametr efektu ścieżki" +#: ../src/verbs.cpp:2411 +msgid "_Make a Bitmap Copy" +msgstr "Kopiuj jako _bitmapę" -#: ../src/widgets/toolbox.cpp:1223 -msgid "Edit the clipping path of the object" -msgstr "Eytuj ścieżkę przycinania obiektu" +#: ../src/verbs.cpp:2412 +msgid "Export selection to a bitmap and insert it into document" +msgstr "Eksportuje zaznaczenie do bitmapy i wstawia do dokumentu jako obraz" -#: ../src/widgets/toolbox.cpp:1233 -msgid "Edit mask path" -msgstr "Eytuj ścieżkę maski" +#: ../src/verbs.cpp:2413 +msgid "_Combine" +msgstr "P_ołącz" -#: ../src/widgets/toolbox.cpp:1234 -msgid "Edit the mask of the object" -msgstr "Edytuj maskę obiektu" +#: ../src/verbs.cpp:2414 +msgid "Combine several paths into one" +msgstr "Łączy kilka ścieżek w jedną" -#: ../src/widgets/toolbox.cpp:1248 -msgid "X coordinate:" -msgstr "Współrzędna X:" +#. TRANSLATORS: "to cut a path" is not the same as "to break a path apart" - see the +#. Advanced tutorial for more info +#: ../src/verbs.cpp:2417 +msgid "Break _Apart" +msgstr "_Rozdziel" -#: ../src/widgets/toolbox.cpp:1248 -msgid "X coordinate of selected node(s)" -msgstr "Współrzędna X zaznaczonego węzła(ów)" +#: ../src/verbs.cpp:2418 +msgid "Break selected paths into subpaths" +msgstr "Rozdziela zaznaczone ścieżki na poszczególne elementy" -#: ../src/widgets/toolbox.cpp:1266 -msgid "Y coordinate:" -msgstr "Współrzędna Y:" +#: ../src/verbs.cpp:2419 +msgid "Rows and Columns..." +msgstr "W_iersze i kolumny..." -#: ../src/widgets/toolbox.cpp:1266 -msgid "Y coordinate of selected node(s)" -msgstr "Współrzędna Y zaznaczonego węzła(ów)" +#: ../src/verbs.cpp:2420 +msgid "Arrange selected objects in a table" +msgstr "Otwórz okno umożliwiające rozmieszczanie zaznaczonych obiektów w tabeli" -#: ../src/widgets/toolbox.cpp:1688 -msgid "Star: Change number of corners" -msgstr "Gwiazda: Zmień liczbę narożników" +#. Layer +#: ../src/verbs.cpp:2422 +msgid "_Add Layer..." +msgstr "_Nowa warstwa..." -#: ../src/widgets/toolbox.cpp:1730 -msgid "Star: Change spoke ratio" -msgstr "Gwiazda: Zmień proporcje ramion" +#: ../src/verbs.cpp:2423 +msgid "Create a new layer" +msgstr "Tworzy nową warstwę" -#: ../src/widgets/toolbox.cpp:1773 -msgid "Make polygon" -msgstr "Utwórz wielokąt" +#: ../src/verbs.cpp:2424 +msgid "Re_name Layer..." +msgstr "_Zmień nazwę warstwy..." -#: ../src/widgets/toolbox.cpp:1773 -msgid "Make star" -msgstr "Utwórz gwiazdę" +#: ../src/verbs.cpp:2425 +msgid "Rename the current layer" +msgstr "Zmienia nazwę aktywnej warstwy" -#: ../src/widgets/toolbox.cpp:1808 -msgid "Star: Change rounding" -msgstr "Gwiazda: Zmień zaokrąglenia" +#: ../src/verbs.cpp:2426 +msgid "Switch to Layer Abov_e" +msgstr "_Przejdź na wyższą warstwę" -#: ../src/widgets/toolbox.cpp:1842 -msgid "Star: Change randomization" -msgstr "Gwiazda: Zmień losowość" +#: ../src/verbs.cpp:2427 +msgid "Switch to the layer above the current" +msgstr "Przechodzi do warstwy położonej powyżej aktywnej warstwy" -#: ../src/widgets/toolbox.cpp:2029 -msgid "Regular polygon (with one handle) instead of a star" -msgstr "Wielokąt foremny zamiast gwiazdy (z jednym uchwytem)" +#: ../src/verbs.cpp:2428 +msgid "Switch to Layer Belo_w" +msgstr "Przej_dź na niższą warstwę" -#: ../src/widgets/toolbox.cpp:2036 -msgid "Star instead of a regular polygon (with one handle)" -msgstr "Gwiazda zamiast wielokąta foremnego (z jednym uchwytem)" +#: ../src/verbs.cpp:2429 +msgid "Switch to the layer below the current" +msgstr "Przechodzi do warstwy położonej poniżej aktywnej warstwy" -#: ../src/widgets/toolbox.cpp:2057 -msgid "triangle/tri-star" -msgstr "trójkąt/gwiazda trójramienna" +#: ../src/verbs.cpp:2430 +msgid "Move Selection to Layer Abo_ve" +msgstr "Przenieś zazna_czenie na wyższą warstwę" -#: ../src/widgets/toolbox.cpp:2057 -msgid "square/quad-star" -msgstr "kwadrat/gwiazda czteroramienna" +#: ../src/verbs.cpp:2431 +msgid "Move selection to the layer above the current" +msgstr "Przenosi zaznaczenie na warstwę ponad aktywną" -#: ../src/widgets/toolbox.cpp:2057 -msgid "pentagon/five-pointed star" -msgstr "pentagon/gwiazda pięcioramienna" +#: ../src/verbs.cpp:2432 +msgid "Move Selection to Layer Bel_ow" +msgstr "Prz_enieś zaznaczenie na niższą warstwę" -#: ../src/widgets/toolbox.cpp:2057 -msgid "hexagon/six-pointed star" -msgstr "hexagon/gwiazda sześcioramienna" +#: ../src/verbs.cpp:2433 +msgid "Move selection to the layer below the current" +msgstr "Przenosi zaznaczenie na warstwę poniżej aktywnej" + +#: ../src/verbs.cpp:2434 +msgid "Layer to _Top" +msgstr "Przenieś warstwę na _wierzch" -#: ../src/widgets/toolbox.cpp:2060 -msgid "Corners" -msgstr "Narożniki" +#: ../src/verbs.cpp:2435 +msgid "Raise the current layer to the top" +msgstr "Przenosi aktywną warstwę na górę" -#: ../src/widgets/toolbox.cpp:2060 -msgid "Corners:" -msgstr "Narożniki:" +#: ../src/verbs.cpp:2436 +msgid "Layer to _Bottom" +msgstr "Przenieś warstwę pod _spód" -#: ../src/widgets/toolbox.cpp:2060 -msgid "Number of corners of a polygon or star" -msgstr "Liczba narożników wielokąta lub gwiazdy" +#: ../src/verbs.cpp:2437 +msgid "Lower the current layer to the bottom" +msgstr "Przenosi aktywną warstwę na dół" -#: ../src/widgets/toolbox.cpp:2073 -msgid "thin-ray star" -msgstr "gwiazda o cienkich ramionach" +#: ../src/verbs.cpp:2438 +msgid "_Raise Layer" +msgstr "Przenieś w_arstwę wyżej" -#: ../src/widgets/toolbox.cpp:2073 -msgid "pentagram" -msgstr "pentagram" +#: ../src/verbs.cpp:2439 +msgid "Raise the current layer" +msgstr "Przenosi aktywną warstwę o jedną pozycję wyżej" -#: ../src/widgets/toolbox.cpp:2073 -msgid "hexagram" -msgstr "heksagram" +#: ../src/verbs.cpp:2440 +msgid "_Lower Layer" +msgstr "Przenieś wa_rstwę niżej" -#: ../src/widgets/toolbox.cpp:2073 -msgid "heptagram" -msgstr "heptagram" +#: ../src/verbs.cpp:2441 +msgid "Lower the current layer" +msgstr "Przenosi aktywną warstwę o jedną pozycję niżej" -#: ../src/widgets/toolbox.cpp:2073 -msgid "octagram" -msgstr "oktagram" +#: ../src/verbs.cpp:2442 +msgid "Duplicate Current Layer..." +msgstr "Powiel aktywną warstwę..." -#: ../src/widgets/toolbox.cpp:2073 -msgid "regular polygon" -msgstr "wielokąt foremny" +#: ../src/verbs.cpp:2443 +msgid "Duplicate an existing layer" +msgstr "Powiel istniejącą warstwę" -#: ../src/widgets/toolbox.cpp:2076 -msgid "Spoke ratio" -msgstr "Proporcje ramion" +#: ../src/verbs.cpp:2444 +msgid "_Delete Current Layer" +msgstr "_Usuń aktywną warstwę" -#: ../src/widgets/toolbox.cpp:2076 -msgid "Spoke ratio:" -msgstr "Proporcje ramion:" +#: ../src/verbs.cpp:2445 +msgid "Delete the current layer" +msgstr "Usuwa aktywną warstwę razem ze znajdującymi się na niej obiektami" -#. TRANSLATORS: Tip radius of a star is the distance from the center to the farthest handle. -#. Base radius is the same for the closest handle. -#: ../src/widgets/toolbox.cpp:2079 -msgid "Base radius to tip radius ratio" -msgstr "Stosunek promienia podstawy do promienia wierzchołków ramion" +#: ../src/verbs.cpp:2446 +msgid "_Show/hide other layers" +msgstr "Wyświetl/Ukryj inne warstwy" -#: ../src/widgets/toolbox.cpp:2097 -msgid "stretched" -msgstr "rozciągnięty" +#: ../src/verbs.cpp:2447 +#, fuzzy +msgid "Solo the current layer" +msgstr "Przenosi aktywną warstwę o jedną pozycję niżej" -#: ../src/widgets/toolbox.cpp:2097 -msgid "twisted" -msgstr "zwichrowany" +#: ../src/verbs.cpp:2449 +msgid "Lock Layers" +msgstr "Zablokuj warstwy" -#: ../src/widgets/toolbox.cpp:2097 -msgid "slightly pinched" -msgstr "odchudzony" +#: ../src/verbs.cpp:2450 +msgid "Lock all layers" +msgstr "Zablokuj wszystkie warstwy" -#: ../src/widgets/toolbox.cpp:2097 -msgid "NOT rounded" -msgstr "niezaokrąglony" +#: ../src/verbs.cpp:2451 +msgid "Unlock Layers" +msgstr "Odblokuj warstwy" -#: ../src/widgets/toolbox.cpp:2097 -msgid "slightly rounded" -msgstr "nieznacznie zaokrąglony" +#: ../src/verbs.cpp:2452 +msgid "Unlock all layers" +msgstr "Odblokuj wszystkie warstwy" -#: ../src/widgets/toolbox.cpp:2097 -msgid "visibly rounded" -msgstr "wyraźnie zaokrąglony" +#: ../src/verbs.cpp:2453 +msgid "Hide Layers" +msgstr "Ukryj warstwy" -#: ../src/widgets/toolbox.cpp:2097 -msgid "well rounded" -msgstr "dobrze zaokrąglony" +#: ../src/verbs.cpp:2454 +msgid "Hide all layers" +msgstr "Ukryj wszystkie warstwy" -#: ../src/widgets/toolbox.cpp:2097 -msgid "amply rounded" -msgstr "bardzo zaokrąglony" +#: ../src/verbs.cpp:2455 +msgid "Show Layers" +msgstr "Pokaż warstwy" -#: ../src/widgets/toolbox.cpp:2097 ../src/widgets/toolbox.cpp:2112 -msgid "blown up" -msgstr "nadmuchany" +#: ../src/verbs.cpp:2456 +msgid "Show all layers" +msgstr "Pokaż wszystkie warstwy" -#: ../src/widgets/toolbox.cpp:2100 -msgid "Rounded" -msgstr "Zaokrąglone" +#. Object +#: ../src/verbs.cpp:2458 +msgid "Rotate _90° CW" +msgstr "Obróć o _90° w prawo" -#: ../src/widgets/toolbox.cpp:2100 -msgid "Rounded:" -msgstr "Zaokrąglenie:" +#. This is shared between tooltips and statusbar, so they +#. must use UTF-8, not HTML entities for special characters. +#: ../src/verbs.cpp:2461 +msgid "Rotate selection 90° clockwise" +msgstr "Obróć zaznaczone obiekty o 90° w prawo" -#: ../src/widgets/toolbox.cpp:2100 -msgid "How much rounded are the corners (0 for sharp)" -msgstr "Wartość zaokrąglenia narożników (0 dla ostrych)" +#: ../src/verbs.cpp:2462 +msgid "Rotate 9_0° CCW" +msgstr "Obróć o 9_0° w lewo" -#: ../src/widgets/toolbox.cpp:2112 -msgid "NOT randomized" -msgstr "bez losowości" +#. This is shared between tooltips and statusbar, so they +#. must use UTF-8, not HTML entities for special characters. +#: ../src/verbs.cpp:2465 +msgid "Rotate selection 90° counter-clockwise" +msgstr "Obróć zaznaczone obiekty o 90° w lewo" -#: ../src/widgets/toolbox.cpp:2112 -msgid "slightly irregular" -msgstr "nierównomierny" +#: ../src/verbs.cpp:2466 +msgid "Remove _Transformations" +msgstr "Usuń przekształcenia" -#: ../src/widgets/toolbox.cpp:2112 -msgid "visibly randomized" -msgstr "widocznie zdeformowany" +#: ../src/verbs.cpp:2467 +msgid "Remove transformations from object" +msgstr "Usuwa przekształcenia z obiektu" -#: ../src/widgets/toolbox.cpp:2112 -msgid "strongly randomized" -msgstr "silnie zdeformowany" +#: ../src/verbs.cpp:2468 +msgid "_Object to Path" +msgstr "O_biekt na ścieżkę" -#: ../src/widgets/toolbox.cpp:2115 -msgid "Randomized" -msgstr "Deformacja losowa" +#: ../src/verbs.cpp:2469 +msgid "Convert selected object to path" +msgstr "Konwertuj zaznaczone obiekty na ścieżki" -#: ../src/widgets/toolbox.cpp:2115 -msgid "Randomized:" -msgstr "Deformacja losowa:" +#: ../src/verbs.cpp:2470 +msgid "_Flow into Frame" +msgstr "W_prowadź tekst do kształtu" -#: ../src/widgets/toolbox.cpp:2115 -msgid "Scatter randomly the corners and angles" -msgstr "Losowe zniekształcenie narożników i kątów" +#: ../src/verbs.cpp:2471 +msgid "Put text into a frame (path or shape), creating a flowed text linked to the frame object" +msgstr "Wprowadza tekst do ramki, ścieżki lub kształtu, tworząc tekst opływający przypisany do ramki obiektu" -#: ../src/widgets/toolbox.cpp:2130 ../src/widgets/toolbox.cpp:3067 -#: ../src/widgets/toolbox.cpp:3847 ../src/widgets/toolbox.cpp:5804 -msgid "Defaults" -msgstr "Domyślne" +#: ../src/verbs.cpp:2472 +msgid "_Unflow" +msgstr "_Uwolnij tekst" -#: ../src/widgets/toolbox.cpp:2131 ../src/widgets/toolbox.cpp:3068 -msgid "" -"Reset shape parameters to defaults (use Inkscape Preferences > Tools to " -"change defaults)" -msgstr "" -"Przywróć domyślne ustawienia dla kształtu. Aby zmienić domyślne wartości " -"przejdź do Ustawienia Inkscape » Narzędzia." +#: ../src/verbs.cpp:2473 +msgid "Remove text from frame (creates a single-line text object)" +msgstr "Usuwa tekst z ramki (tworzy obiekt tekstowy w pojedynczej linii)" -#: ../src/widgets/toolbox.cpp:2203 -msgid "Change rectangle" -msgstr "Zmień prostokąt" +#: ../src/verbs.cpp:2474 +msgid "_Convert to Text" +msgstr "_Konwertuj na zwykły tekst" -#: ../src/widgets/toolbox.cpp:2396 -msgid "W:" -msgstr "Szer.:" +#: ../src/verbs.cpp:2475 +msgid "Convert flowed text to regular text object (preserves appearance)" +msgstr "Konwertuje tekst dopasowany do kształtu na zwykły obiekt tekstowy (z zachowaniem wyglądu)" -#: ../src/widgets/toolbox.cpp:2396 -msgid "Width of rectangle" -msgstr "Szerokość prostokąta" +#: ../src/verbs.cpp:2477 +msgid "Flip _Horizontal" +msgstr "Odbij pozio_mo" -#: ../src/widgets/toolbox.cpp:2413 -msgid "H:" -msgstr "Wys.:" +#: ../src/verbs.cpp:2477 +msgid "Flip selected objects horizontally" +msgstr "Odbij zaznaczone obiekty poziomo" -#: ../src/widgets/toolbox.cpp:2413 -msgid "Height of rectangle" -msgstr "Wysokość prostokąta" +#: ../src/verbs.cpp:2480 +msgid "Flip _Vertical" +msgstr "Odbij pio_nowo" -#: ../src/widgets/toolbox.cpp:2427 ../src/widgets/toolbox.cpp:2442 -msgid "not rounded" -msgstr "niezaokrąglony" +#: ../src/verbs.cpp:2480 +msgid "Flip selected objects vertically" +msgstr "Odbij zaznaczone obiekty pionowo" -#: ../src/widgets/toolbox.cpp:2430 -msgid "Horizontal radius" -msgstr "Promień poziomy" +#: ../src/verbs.cpp:2483 +msgid "Apply mask to selection (using the topmost object as mask)" +msgstr "Nakłada maskę na zaznaczenie (wykorzystując obiekt na wierzchu jako maskę)" -#: ../src/widgets/toolbox.cpp:2430 -msgid "Rx:" -msgstr "Rx:" +#: ../src/verbs.cpp:2485 +msgid "Edit mask" +msgstr "Edytuj maskę" -#: ../src/widgets/toolbox.cpp:2430 -msgid "Horizontal radius of rounded corners" -msgstr "Poziomy promień zaokrąglonych narożników" +#: ../src/verbs.cpp:2486 +#: ../src/verbs.cpp:2492 +msgid "_Release" +msgstr "_Zdejmij" -#: ../src/widgets/toolbox.cpp:2445 -msgid "Vertical radius" -msgstr "Promień pionowy" +#: ../src/verbs.cpp:2487 +msgid "Remove mask from selection" +msgstr "Zdejmuje maskę z zaznaczonych obiektów" -#: ../src/widgets/toolbox.cpp:2445 -msgid "Ry:" -msgstr "Ry:" +#: ../src/verbs.cpp:2489 +msgid "Apply clipping path to selection (using the topmost object as clipping path)" +msgstr "Nakłada ścieżkę przycinającą na zaznaczenie wykorzystując obiekt na wierzchu jako ścieżkę przycinającą" -#: ../src/widgets/toolbox.cpp:2445 -msgid "Vertical radius of rounded corners" -msgstr "Pionowy promień zaokrąglonych narożników" +#: ../src/verbs.cpp:2491 +#: ../src/widgets/toolbox.cpp:1412 +msgid "Edit clipping path" +msgstr "Edytuj ścieżkę przycinania" -#: ../src/widgets/toolbox.cpp:2464 -msgid "Not rounded" -msgstr "Bez zaokrąglenia" +#: ../src/verbs.cpp:2493 +msgid "Remove clipping path from selection" +msgstr "Usuwa z zaznaczenia ścieżkę przycinającą" -#: ../src/widgets/toolbox.cpp:2465 -msgid "Make corners sharp" -msgstr "Utwórz ostre narożniki" +#. Tools +#: ../src/verbs.cpp:2496 +msgid "Select" +msgstr "Wskaźnik" -#. TODO: use the correct axis here, too -#: ../src/widgets/toolbox.cpp:2654 -msgid "3D Box: Change perspective (angle of infinite axis)" -msgstr "Obiekt 3D: Zmienia perspektywę (kąt osi nieskończonej)" +#: ../src/verbs.cpp:2497 +msgid "Select and transform objects" +msgstr "Wskaźnik: Zaznaczanie i przekształcanie obiektów" -#: ../src/widgets/toolbox.cpp:2723 -msgid "Angle in X direction" -msgstr "Kąt w orientacji X" +#: ../src/verbs.cpp:2498 +msgid "Node Edit" +msgstr "Edycja węzłów" -#. Translators: PL is short for 'perspective line' -#: ../src/widgets/toolbox.cpp:2725 -msgid "Angle of PLs in X direction" -msgstr "Kąt linii perspektywy w orientacji X" +#: ../src/verbs.cpp:2499 +msgid "Edit paths by nodes" +msgstr "Edycja węzłów: Edytowanie węzłów i uchwytów sterujących ścieżek" -#. Translators: VP is short for 'vanishing point' -#: ../src/widgets/toolbox.cpp:2747 -msgid "State of VP in X direction" -msgstr "Stan punktu zbiegu w orientacji X" +#: ../src/verbs.cpp:2501 +msgid "Tweak objects by sculpting or painting" +msgstr "Ulepszanie: Ulepszanie obiektów za pomocą rzeźbienia lub malowania" -#: ../src/widgets/toolbox.cpp:2748 -msgid "Toggle VP in X direction between 'finite' and 'infinite' (=parallel)" -msgstr "" -"Przełącza punkt zbiegu w orientacji X pomiędzy \"skończony\" i \"nieskończony" -"\" (=równoległy)" +#: ../src/verbs.cpp:2503 +msgid "Create rectangles and squares" +msgstr "Prostokąt: Tworzenie prostokątów i kwadratów" -#: ../src/widgets/toolbox.cpp:2763 -msgid "Angle in Y direction" -msgstr "Kąt w orientacji Y" +#: ../src/verbs.cpp:2505 +msgid "Create 3D boxes" +msgstr "Obiekt 3D: Tworzenie obiektów 3D" -#: ../src/widgets/toolbox.cpp:2763 -msgid "Angle Y:" -msgstr "Kąt Y:" +#: ../src/verbs.cpp:2507 +msgid "Create circles, ellipses, and arcs" +msgstr "Okrąg: Tworzenie okręgów, elips i łuków" -#. Translators: PL is short for 'perspective line' -#: ../src/widgets/toolbox.cpp:2765 -msgid "Angle of PLs in Y direction" -msgstr "Kąt linii perspektywy w orientacji Y" +#: ../src/verbs.cpp:2509 +msgid "Create stars and polygons" +msgstr "Gwiazda: Tworzenie gwiazd i wielokątów" -#. Translators: VP is short for 'vanishing point' -#: ../src/widgets/toolbox.cpp:2786 -msgid "State of VP in Y direction" -msgstr "Stan punktu zbiegu w orientacji Y" +#: ../src/verbs.cpp:2511 +msgid "Create spirals" +msgstr "Spirala: Tworzenie spiral" -#: ../src/widgets/toolbox.cpp:2787 -msgid "Toggle VP in Y direction between 'finite' and 'infinite' (=parallel)" -msgstr "" -"Przełącza punkt zbiegu w orientacji Y pomiędzy \"skończony\" i \"nieskończony" -"\" (=równoległy)" +#: ../src/verbs.cpp:2513 +msgid "Draw freehand lines" +msgstr "Ołówek: Ręczne rysowanie krzywych" -#: ../src/widgets/toolbox.cpp:2802 -msgid "Angle in Z direction" -msgstr "Kąt w orientacji Z" +#: ../src/verbs.cpp:2515 +msgid "Draw Bezier curves and straight lines" +msgstr "Pióro: Rysowanie krzywych Beziera i linii prostych" -#. Translators: PL is short for 'perspective line' -#: ../src/widgets/toolbox.cpp:2804 -msgid "Angle of PLs in Z direction" -msgstr "Kąt linii perspektywy w orientacji Z" +#: ../src/verbs.cpp:2517 +msgid "Draw calligraphic or brush strokes" +msgstr "Kaligrafia: Tworzenie linii kaligraficznych lub pociągnięć pędzlem" -#. Translators: VP is short for 'vanishing point' -#: ../src/widgets/toolbox.cpp:2825 -msgid "State of VP in Z direction" -msgstr "Stan punktu zbiegu w orientacji Z" +#: ../src/verbs.cpp:2519 +msgid "Create and edit text objects" +msgstr "Tekst: Tworzenie i modyfikowanie obiektów tekstowych" -#: ../src/widgets/toolbox.cpp:2826 -msgid "Toggle VP in Z direction between 'finite' and 'infinite' (=parallel)" -msgstr "" -"Przełącza punkt zbiegu w orientacji Z pomiędzy \"skończony\" i \"nieskończony" -"\" (=równoległy)" +#: ../src/verbs.cpp:2521 +msgid "Create and edit gradients" +msgstr "Gradient: Tworzenie i modyfikowanie gradientów" -#: ../src/widgets/toolbox.cpp:2883 -msgid "Change spiral" -msgstr "Zmień spiralę" +#: ../src/verbs.cpp:2523 +msgid "Zoom in or out" +msgstr "Powiększenie: Zmienianie skali wyświetlania rysunku" -#: ../src/widgets/toolbox.cpp:3024 -msgid "just a curve" -msgstr "tylko krzywa" +#: ../src/verbs.cpp:2525 +msgid "Pick colors from image" +msgstr "Próbnik koloru: Pobieranie kolorów z obrazka" -#: ../src/widgets/toolbox.cpp:3024 -msgid "one full revolution" -msgstr "jeden pełny obrót" +#: ../src/verbs.cpp:2527 +msgid "Create diagram connectors" +msgstr "Łącznik: Tworzenie diagramu łączników" -#: ../src/widgets/toolbox.cpp:3027 -msgid "Number of turns" -msgstr "Liczba obrotów" +#: ../src/verbs.cpp:2529 +msgid "Fill bounded areas" +msgstr "Wypełnienie: Wypełnianie kolorem zaznaczonych obszarów" -#: ../src/widgets/toolbox.cpp:3027 -msgid "Turns:" -msgstr "Obroty:" +#: ../src/verbs.cpp:2530 +msgid "LPE Edit" +msgstr "Edytuj LPE" -#: ../src/widgets/toolbox.cpp:3027 -msgid "Number of revolutions" -msgstr "Liczba obrotów" +#: ../src/verbs.cpp:2531 +msgid "Edit Live Path Effect parameters" +msgstr "Edycja parametrów efektu żywej ścieżki" -#: ../src/widgets/toolbox.cpp:3038 -msgid "circle" -msgstr "okrąg" +#: ../src/verbs.cpp:2533 +msgid "Erase existing paths" +msgstr "Usuń istniejące ścieżki" -#: ../src/widgets/toolbox.cpp:3038 -msgid "edge is much denser" -msgstr "krawędź jest bardzo skupiona" +#: ../src/verbs.cpp:2535 +msgid "Do geometric constructions" +msgstr "" -#: ../src/widgets/toolbox.cpp:3038 -msgid "edge is denser" -msgstr "krawędź jest skupiona" +#. Tool prefs +#: ../src/verbs.cpp:2537 +msgid "Selector Preferences" +msgstr "Ustawienia narzędzia \"Wskaźnik\"" -#: ../src/widgets/toolbox.cpp:3038 -msgid "even" -msgstr "równy" +#: ../src/verbs.cpp:2538 +msgid "Open Preferences for the Selector tool" +msgstr "Otwiera okno ustawień dla narzędzia \"Wskaźnik\"" -#: ../src/widgets/toolbox.cpp:3038 -msgid "center is denser" -msgstr "środek jest skupiony" +#: ../src/verbs.cpp:2539 +msgid "Node Tool Preferences" +msgstr "Ustawienia narzędzia \"Edycja węzłów\"" -#: ../src/widgets/toolbox.cpp:3038 -msgid "center is much denser" -msgstr "środek jest bardzo skupiony" +#: ../src/verbs.cpp:2540 +msgid "Open Preferences for the Node tool" +msgstr "Otwiera okno ustawień dla narzędzia \"Edycja węzłów\"" -#: ../src/widgets/toolbox.cpp:3041 -msgid "Divergence" -msgstr "Zbieżność" +#: ../src/verbs.cpp:2541 +msgid "Tweak Tool Preferences" +msgstr "Ustawienia narzędzia \"Ulepszanie\"" -#: ../src/widgets/toolbox.cpp:3041 -msgid "Divergence:" -msgstr "Zbieżność:" +#: ../src/verbs.cpp:2542 +msgid "Open Preferences for the Tweak tool" +msgstr "Otwiera okno ustawień dla narzędzia \"Ulepszanie\"" -#: ../src/widgets/toolbox.cpp:3041 -msgid "How much denser/sparser are outer revolutions; 1 = uniform" -msgstr "Jak bardzo są skupione/rozrzucone obroty; 1 = równomiernie" +#: ../src/verbs.cpp:2543 +msgid "Rectangle Preferences" +msgstr "Ustawienia narzędzia \"Prostokąt\"" -#: ../src/widgets/toolbox.cpp:3052 -msgid "starts from center" -msgstr "rozpocznij od środka" +#: ../src/verbs.cpp:2544 +msgid "Open Preferences for the Rectangle tool" +msgstr "Otwiera okno ustawień dla narzędzia \"Prostokąt\"" -#: ../src/widgets/toolbox.cpp:3052 -msgid "starts mid-way" -msgstr "rozpocznij w połowie drogi" +#: ../src/verbs.cpp:2545 +msgid "3D Box Preferences" +msgstr "Ustawienia narzędzia \"Obiekt 3D\"" -#: ../src/widgets/toolbox.cpp:3052 -msgid "starts near edge" -msgstr "rozpocznij w pobliżu krawędzi" +#: ../src/verbs.cpp:2546 +msgid "Open Preferences for the 3D Box tool" +msgstr "Otwiera okno ustawień dla narzędzia \"Obiekt 3D\"" -#: ../src/widgets/toolbox.cpp:3055 -msgid "Inner radius" -msgstr "Wewnętrzny promień" +#: ../src/verbs.cpp:2547 +msgid "Ellipse Preferences" +msgstr "Ustawienia narzędzia \"Okrąg\"" -#: ../src/widgets/toolbox.cpp:3055 -msgid "Inner radius:" -msgstr "Wewnętrzny promień:" +#: ../src/verbs.cpp:2548 +msgid "Open Preferences for the Ellipse tool" +msgstr "Otwiera okno ustawień dla narzędzia \"Okrąg\"" -#: ../src/widgets/toolbox.cpp:3055 -msgid "Radius of the innermost revolution (relative to the spiral size)" -msgstr "" -"Promień położonego najbliżej środka obrotu (względem wielkości spirali)" +#: ../src/verbs.cpp:2549 +msgid "Star Preferences" +msgstr "Ustawienia narzędzia \"Gwiazda\"" -#: ../src/widgets/toolbox.cpp:3101 -#, fuzzy -msgid "Mode:" -msgstr "Kontur" +#: ../src/verbs.cpp:2550 +msgid "Open Preferences for the Star tool" +msgstr "Otwiera okno ustawień dla narzędzia \"Gwiazda\"" -#: ../src/widgets/toolbox.cpp:3121 -msgid "Bézier" -msgstr "" +#: ../src/verbs.cpp:2551 +msgid "Spiral Preferences" +msgstr "Ustawienia narzędzia \"Spirala\"" -#: ../src/widgets/toolbox.cpp:3122 -msgid "Regular Bézier mode" -msgstr "" +#: ../src/verbs.cpp:2552 +msgid "Open Preferences for the Spiral tool" +msgstr "Otwiera okno ustawień dla narzędzia \"Spirala\"" -#: ../src/widgets/toolbox.cpp:3128 -#, fuzzy -msgid "Spiro" -msgstr "Spirala" +#: ../src/verbs.cpp:2553 +msgid "Pencil Preferences" +msgstr "Ustawienia narzędzia \"Ołówek\"" -#: ../src/widgets/toolbox.cpp:3129 -#, fuzzy -msgid "Spiro splines mode" -msgstr "Tryb zmniejszania" +#: ../src/verbs.cpp:2554 +msgid "Open Preferences for the Pencil tool" +msgstr "Otwiera okno ustawień dla narzędzia \"Ołówek\"" -#. Width -#: ../src/widgets/toolbox.cpp:3238 -msgid "(pinch tweak)" -msgstr "(udoskonalanie wąskie)" +#: ../src/verbs.cpp:2555 +msgid "Pen Preferences" +msgstr "Ustawienia narzędzia \"Pióro\"" -#: ../src/widgets/toolbox.cpp:3238 ../src/widgets/toolbox.cpp:3254 -#: ../src/widgets/toolbox.cpp:3420 ../src/widgets/toolbox.cpp:3642 -#: ../src/widgets/toolbox.cpp:3674 ../src/widgets/toolbox.cpp:4315 -msgid "(default)" -msgstr "(domyślny)" +#: ../src/verbs.cpp:2556 +msgid "Open Preferences for the Pen tool" +msgstr "Otwiera okno ustawień dla narzędzia \"Pióro\"" -#: ../src/widgets/toolbox.cpp:3238 -msgid "(broad tweak)" -msgstr "(udoskonalanie szerokie)" +#: ../src/verbs.cpp:2557 +msgid "Calligraphic Preferences" +msgstr "Ustawienia narzędzia \"Kaligrafia\"" -#: ../src/widgets/toolbox.cpp:3241 -msgid "The width of the tweak area (relative to the visible canvas area)" -msgstr "Szerokość zmienianego obszaru (względem widocznego obszaru pracy)" +#: ../src/verbs.cpp:2558 +msgid "Open Preferences for the Calligraphy tool" +msgstr "Otwiera okno ustawień dla narzędzia \"Kaligrafia\"" -#. Force -#: ../src/widgets/toolbox.cpp:3254 -msgid "(minimum force)" -msgstr "(minimalna siła)" +#: ../src/verbs.cpp:2559 +msgid "Text Preferences" +msgstr "Ustawienia narzędzia \"Tekst\"" -#: ../src/widgets/toolbox.cpp:3254 -msgid "(maximum force)" -msgstr "(maksymalna siła)" +#: ../src/verbs.cpp:2560 +msgid "Open Preferences for the Text tool" +msgstr "Otwiera okno ustawień dla narzędzia \"Tekst\"" -#: ../src/widgets/toolbox.cpp:3257 -msgid "Force" -msgstr "Siła" +#: ../src/verbs.cpp:2561 +msgid "Gradient Preferences" +msgstr "Ustawienia narzędzia \"Gradient\"" -#: ../src/widgets/toolbox.cpp:3257 -msgid "Force:" -msgstr "Siła:" +#: ../src/verbs.cpp:2562 +msgid "Open Preferences for the Gradient tool" +msgstr "Otwiera okno ustawień dla narzędzia \"Gradient\"" -#: ../src/widgets/toolbox.cpp:3257 -msgid "The force of the tweak action" -msgstr "Siła działania udoskonalania" +#: ../src/verbs.cpp:2563 +msgid "Zoom Preferences" +msgstr "Ustawienia narzędzia \"Powiększenie\"" -#: ../src/widgets/toolbox.cpp:3274 -msgid "Push mode" -msgstr "Tryb nacisku" +#: ../src/verbs.cpp:2564 +msgid "Open Preferences for the Zoom tool" +msgstr "Otwiera okno ustawień dla narzędzia \"Powiększenie\"" -#: ../src/widgets/toolbox.cpp:3275 -msgid "Push parts of paths in any direction" -msgstr "Popychaj części ścieżek w jakimkolwiek kierunku" +#: ../src/verbs.cpp:2565 +msgid "Dropper Preferences" +msgstr "Ustawienia narzędzia \"Próbnik koloru\"" -#: ../src/widgets/toolbox.cpp:3281 -msgid "Shrink mode" -msgstr "Tryb zmniejszania" +#: ../src/verbs.cpp:2566 +msgid "Open Preferences for the Dropper tool" +msgstr "Otwiera okno ustawień dla narzędzia \"Próbnik koloru\"" -#: ../src/widgets/toolbox.cpp:3282 -msgid "Shrink (inset) parts of paths" -msgstr "Zmniejsz części ścieżki (efekt wklęśnięcia)" +#: ../src/verbs.cpp:2567 +msgid "Connector Preferences" +msgstr "Ustawienia narzędzia \"Łącznik\"" -#: ../src/widgets/toolbox.cpp:3288 -msgid "Grow mode" -msgstr "Tryb powiększania" +#: ../src/verbs.cpp:2568 +msgid "Open Preferences for the Connector tool" +msgstr "Otwiera okno ustawień dla narzędzia \"Łącznik\"" -#: ../src/widgets/toolbox.cpp:3289 -msgid "Grow (outset) parts of paths" -msgstr "Zwiększ części ścieżki (efekt uwypuklenia)" +#: ../src/verbs.cpp:2569 +msgid "Paint Bucket Preferences" +msgstr "Ustawienia narzędzia \"Wypełnienie\"" -#: ../src/widgets/toolbox.cpp:3295 -msgid "Attract mode" -msgstr "Tryb przyciągania" +#: ../src/verbs.cpp:2570 +msgid "Open Preferences for the Paint Bucket tool" +msgstr "Otwiera okno ustawień dla narzędzia \"Wypełnienie\"" -#: ../src/widgets/toolbox.cpp:3296 -msgid "Attract parts of paths towards cursor" -msgstr "Przyciągaj części ścieżek do kursora" +#: ../src/verbs.cpp:2571 +msgid "Eraser Preferences" +msgstr "Ustawienia usuwania" -#: ../src/widgets/toolbox.cpp:3302 -msgid "Repel mode" -msgstr "Tryb odpychania" +#: ../src/verbs.cpp:2572 +msgid "Open Preferences for the Eraser tool" +msgstr "Otwiera okno ustawień dla narzędzia usuwania" -#: ../src/widgets/toolbox.cpp:3303 -msgid "Repel parts of paths from cursor" -msgstr "Odpychaj części ścieżek od kursora" +#: ../src/verbs.cpp:2573 +msgid "LPE Tool Preferences" +msgstr "" -#: ../src/widgets/toolbox.cpp:3309 -msgid "Roughen mode" -msgstr "Tryb chropowatości" +#: ../src/verbs.cpp:2574 +#, fuzzy +msgid "Open Preferences for the LPETool tool" +msgstr "Otwiera okno ustawień dla narzędzia \"Powiększenie\"" -#: ../src/widgets/toolbox.cpp:3310 -msgid "Roughen parts of paths" -msgstr "Twórz chropowatość ścieżek" +#. Zoom/View +#: ../src/verbs.cpp:2577 +msgid "Zoom In" +msgstr "Powiększ" -#: ../src/widgets/toolbox.cpp:3316 -msgid "Color paint mode" -msgstr "Tryb malowania" +#: ../src/verbs.cpp:2577 +msgid "Zoom in" +msgstr "Powiększ" -#: ../src/widgets/toolbox.cpp:3317 -msgid "Paint the tool's color upon selected objects" -msgstr "Maluj kolorem narzędzia na zaznaczonych obiektach" +#: ../src/verbs.cpp:2578 +msgid "Zoom Out" +msgstr "Pomniejsz" -#: ../src/widgets/toolbox.cpp:3323 -msgid "Color jitter mode" -msgstr "Tryb desynchronizacji koloru" +#: ../src/verbs.cpp:2578 +msgid "Zoom out" +msgstr "Pomniejsz" -#: ../src/widgets/toolbox.cpp:3324 -msgid "Jitter the colors of selected objects" -msgstr "Desynchronizuj kolory zaznaczonych obiektów" +#: ../src/verbs.cpp:2579 +msgid "Show or hide the canvas rulers" +msgstr "Wyświetla lub ukrywa linijki" -#: ../src/widgets/toolbox.cpp:3329 -msgid "Mode:" -msgstr "Tryb:" +#: ../src/verbs.cpp:2579 +msgid "_Rulers" +msgstr "_Linijki" -#: ../src/widgets/toolbox.cpp:3350 -msgid "Channels:" -msgstr "Kanały:" +#: ../src/verbs.cpp:2580 +msgid "Scroll_bars" +msgstr "Paski p_rzewijania" -#: ../src/widgets/toolbox.cpp:3361 -msgid "In color mode, act on objects' hue" -msgstr "W trybie koloru oddziałuje na barwę obiektu" +#: ../src/verbs.cpp:2580 +msgid "Show or hide the canvas scrollbars" +msgstr "Wyświetla lub ukrywa paski przewijania" -#. TRANSLATORS: "H" here stands for hue -#: ../src/widgets/toolbox.cpp:3365 -msgid "H" -msgstr "B" +#: ../src/verbs.cpp:2581 +msgid "Show or hide the grid" +msgstr "Wyświetla lub ukrywa siatkę" -#: ../src/widgets/toolbox.cpp:3376 -msgid "In color mode, act on objects' saturation" -msgstr "W trybie koloru oddziałuje na nasycenie kolorów obiektu" +#: ../src/verbs.cpp:2581 +msgid "_Grid" +msgstr "Wyświetl _siatkę" -#. TRANSLATORS: "S" here stands for Saturation -#: ../src/widgets/toolbox.cpp:3380 -msgid "S" -msgstr "N" +#: ../src/verbs.cpp:2582 +msgid "G_uides" +msgstr "Wyświetl pro_wadnice" -#: ../src/widgets/toolbox.cpp:3391 -msgid "In color mode, act on objects' lightness" -msgstr "W trybie koloru oddziałuje na jasność obiektu" +#: ../src/verbs.cpp:2582 +msgid "Show or hide guides (drag from a ruler to create a guide)" +msgstr "Wyświetla lub ukrywa prowadnice (przeciągnij z linijki, aby utworzyć prowadnice)" -#. TRANSLATORS: "L" here stands for Lightness -#: ../src/widgets/toolbox.cpp:3395 -msgid "L" -msgstr "J" +#: ../src/verbs.cpp:2584 +msgid "Nex_t Zoom" +msgstr "_Następne powiększenie" -#: ../src/widgets/toolbox.cpp:3406 -msgid "In color mode, act on objects' opacity" -msgstr "W trybie koloru oddziałuje na krycie obiektu" +#: ../src/verbs.cpp:2584 +msgid "Next zoom (from the history of zooms)" +msgstr "Następne powiększenie (z historii powiększeń)" -#. TRANSLATORS: "O" here stands for Opacity -#: ../src/widgets/toolbox.cpp:3410 -msgid "O" -msgstr "K" +#: ../src/verbs.cpp:2586 +msgid "Pre_vious Zoom" +msgstr "_Poprzednie powiększenie" -#. Fidelity -#: ../src/widgets/toolbox.cpp:3420 -msgid "(rough, simplified)" -msgstr "(niewygładzony, uproszczony)" +#: ../src/verbs.cpp:2586 +msgid "Previous zoom (from the history of zooms)" +msgstr "Poprzednie powiększenie (z historii powiększeń)" -#: ../src/widgets/toolbox.cpp:3420 -msgid "(fine, but many nodes)" -msgstr "(dokładnie, ale wiele węzłów)" +#: ../src/verbs.cpp:2588 +msgid "Zoom 1:_1" +msgstr "Skala 1:_1" -#: ../src/widgets/toolbox.cpp:3423 -msgid "Fidelity" -msgstr "Dokładność" +#: ../src/verbs.cpp:2588 +msgid "Zoom to 1:1" +msgstr "Skala 1:1" -#: ../src/widgets/toolbox.cpp:3423 -msgid "Fidelity:" -msgstr "Dokładność:" +#: ../src/verbs.cpp:2590 +msgid "Zoom 1:_2" +msgstr "Skala 1:_2" -#: ../src/widgets/toolbox.cpp:3424 -msgid "" -"Low fidelity simplifies paths; high fidelity preserves path features but may " -"generate a lot of new nodes" -msgstr "" -"Mała dokładność upraszcza ścieżki, duża zachowuje cechy ścieżki, ale może " -"generować dodatkowe węzły" +#: ../src/verbs.cpp:2590 +msgid "Zoom to 1:2" +msgstr "Skala 1:2" -#: ../src/widgets/toolbox.cpp:3441 ../src/widgets/toolbox.cpp:3789 -msgid "Pressure" -msgstr "Siła nacisku" +#: ../src/verbs.cpp:2592 +msgid "Zoom to 2:1" +msgstr "Skala 2:1" -#: ../src/widgets/toolbox.cpp:3442 -msgid "Use the pressure of the input device to alter the force of tweak action" -msgstr "" -"Zastosuj siłę nacisku urządzenia wejściowego do zmiany szerokości kreski" +#: ../src/verbs.cpp:2592 +msgid "_Zoom 2:1" +msgstr "_Skala 2:1" -#. Width -#: ../src/widgets/toolbox.cpp:3642 ../src/widgets/toolbox.cpp:4315 -msgid "(hairline)" -msgstr "(włosowy)" +#: ../src/verbs.cpp:2595 +msgid "Stretch this document window to full screen" +msgstr "Rozciąga okno dokumentu na cały ekran" -#: ../src/widgets/toolbox.cpp:3642 ../src/widgets/toolbox.cpp:4315 -msgid "(broad stroke)" -msgstr "(szeroki kontur)" +#: ../src/verbs.cpp:2595 +msgid "_Fullscreen" +msgstr "Pełny _ekran" -#: ../src/widgets/toolbox.cpp:3645 ../src/widgets/toolbox.cpp:4318 -msgid "Pen Width" -msgstr "Szerokość linii kaligraficznych" +#: ../src/verbs.cpp:2598 +msgid "Remove excess toolbars to focus on drawing" +msgstr "" -#: ../src/widgets/toolbox.cpp:3646 -msgid "The width of the calligraphic pen (relative to the visible canvas area)" +#: ../src/verbs.cpp:2598 +msgid "Toggle _Focus Mode" msgstr "" -"Szerokość pisma kaligraficznego (względem widocznego obszaru roboczego)" -#. Thinning -#: ../src/widgets/toolbox.cpp:3658 -msgid "(speed blows up stroke)" -msgstr "(szybkość powiększa kontur)" +#: ../src/verbs.cpp:2600 +msgid "Duplic_ate Window" +msgstr "_Powiel okno" -#: ../src/widgets/toolbox.cpp:3658 -msgid "(slight widening)" -msgstr "(niewielkie poszerzenie)" +#: ../src/verbs.cpp:2600 +msgid "Open a new window with the same document" +msgstr "Otwiera nowe okno z tym samym dokumentem" -#: ../src/widgets/toolbox.cpp:3658 -msgid "(constant width)" -msgstr "(stała szerokość)" +#: ../src/verbs.cpp:2602 +msgid "_New View Preview" +msgstr "Nowy podgląd widoku" -#: ../src/widgets/toolbox.cpp:3658 -msgid "(slight thinning, default)" -msgstr "(niewielkie pocienienie, domyślna)" +#: ../src/verbs.cpp:2603 +msgid "New View Preview" +msgstr "Nowy podgląd widoku" -#: ../src/widgets/toolbox.cpp:3658 -msgid "(speed deflates stroke)" -msgstr "(szybkość znacznie zmniejsza kontur)" +#. "view_new_preview" +#: ../src/verbs.cpp:2605 +msgid "_Normal" +msgstr "_Normalny" -#: ../src/widgets/toolbox.cpp:3661 -msgid "Stroke Thinning" -msgstr "Pocienienie konturu" +#: ../src/verbs.cpp:2606 +msgid "Switch to normal display mode" +msgstr "Przełącza do normalnego widoku" -#: ../src/widgets/toolbox.cpp:3661 -msgid "Thinning:" -msgstr "Pocienienie:" +#: ../src/verbs.cpp:2607 +msgid "No _Filters" +msgstr "Bez _filtrów" -#: ../src/widgets/toolbox.cpp:3662 -msgid "" -"How much velocity thins the stroke (> 0 makes fast strokes thinner, < 0 " -"makes them broader, 0 makes width independent of velocity)" -msgstr "" -"W jakim stopniu szybkość pociągnięcia wpływa na szerokość konturu (> 0 " -"pocienia szybkie pociągnięcia, < 0 poszerza je, 0 uniezależnia szerokość od " -"szybkości)" +#: ../src/verbs.cpp:2608 +msgid "Switch to normal display without filters" +msgstr "Przełącza do normalnego widoku bez filtrów" -#. Angle -#: ../src/widgets/toolbox.cpp:3674 -msgid "(left edge up)" -msgstr "(lewa górna krawędź)" +#: ../src/verbs.cpp:2609 +msgid "_Outline" +msgstr "_Szkieletowy" -#: ../src/widgets/toolbox.cpp:3674 -msgid "(horizontal)" -msgstr "(poziomo)" +#: ../src/verbs.cpp:2610 +msgid "Switch to outline (wireframe) display mode" +msgstr "Przełącza do widoku konturowego (bez wypełnienia)" -#: ../src/widgets/toolbox.cpp:3674 -msgid "(right edge up)" -msgstr "(prawa górna krawędź)" +#: ../src/verbs.cpp:2611 +msgid "_Toggle" +msgstr "_Przełącz" -#: ../src/widgets/toolbox.cpp:3677 -msgid "Pen Angle" -msgstr "Kąt linii kaligraficznych" +#: ../src/verbs.cpp:2612 +msgid "Toggle between normal and outline display modes" +msgstr "Przełącza pomiędzy normalnym i szkieletowym trybem wyświetlania" -#: ../src/widgets/toolbox.cpp:3677 -msgid "Angle:" -msgstr "Kąt:" +#: ../src/verbs.cpp:2614 +msgid "Color-managed view" +msgstr "Za_rządzanie kolorem" -#: ../src/widgets/toolbox.cpp:3678 -msgid "" -"The angle of the pen's nib (in degrees; 0 = horizontal; has no effect if " -"fixation = 0)" -msgstr "" -"Kąt stalówki pióra (w stopniach; 0 = poziomo; nie daje efektu jeśli wartość " -"= 0)" +#: ../src/verbs.cpp:2615 +msgid "Toggle color-managed display for this document window" +msgstr "Przełącza zarządzanie kolorem monitora dla okna tego dokumentu" -#. Fixation -#: ../src/widgets/toolbox.cpp:3692 -msgid "(perpendicular to stroke, \"brush\")" -msgstr "(prostopadle do konturu, \"pędzel\")" +#: ../src/verbs.cpp:2617 +msgid "Ico_n Preview..." +msgstr "Po_dgląd ikon..." -#: ../src/widgets/toolbox.cpp:3692 -msgid "(almost fixed, default)" -msgstr "(prawie stały, domyślny)" +#: ../src/verbs.cpp:2618 +msgid "Open a window to preview objects at different icon resolutions" +msgstr "Otwiera okno z podglądem zaznaczonych obiektów jako ikony w różnych rozdzielczościach" -#: ../src/widgets/toolbox.cpp:3692 -msgid "(fixed by Angle, \"pen\")" -msgstr "(określony przez kąt, \"pióro\")" +#: ../src/verbs.cpp:2620 +msgid "Zoom to fit page in window" +msgstr "Dopasuj stronę do okna" -#: ../src/widgets/toolbox.cpp:3695 -msgid "Fixation" -msgstr "Ułożenie" +#: ../src/verbs.cpp:2621 +msgid "Page _Width" +msgstr "Szerokość s_trony" -#: ../src/widgets/toolbox.cpp:3695 -msgid "Fixation:" -msgstr "Ułożenie:" +#: ../src/verbs.cpp:2622 +msgid "Zoom to fit page width in window" +msgstr "Dopasuj szerokość strony do okna" -#: ../src/widgets/toolbox.cpp:3696 -msgid "" -"Angle behavior (0 = nib always perpendicular to stroke direction, 1 = fixed " -"angle)" -msgstr "" -"Zachowanie kąta stalówki (0 = zawsze prostopadle do kierunku linii, 1 = " -"zachowanie wybranego kąta)" +#: ../src/verbs.cpp:2624 +msgid "Zoom to fit drawing in window" +msgstr "Dopasuj rozmiar rysunku do okna" -#. Cap Rounding -#: ../src/widgets/toolbox.cpp:3708 -msgid "(blunt caps, default)" -msgstr "(tępo zakończone, wartość domyślna)" +#: ../src/verbs.cpp:2626 +msgid "Zoom to fit selection in window" +msgstr "Dopasuj rozmiar zaznaczenia do okna" -#: ../src/widgets/toolbox.cpp:3708 -msgid "(slightly bulging)" -msgstr "(nieznacznie wybrzuszone)" +#. Dialogs +#: ../src/verbs.cpp:2629 +msgid "In_kscape Preferences..." +msgstr "Usta_wienia Inkscape..." -#: ../src/widgets/toolbox.cpp:3708 -msgid "(approximately round)" -msgstr "(nieznacznie zaokrąglone)" +#: ../src/verbs.cpp:2630 +msgid "Edit global Inkscape preferences" +msgstr "Ustawienia globalne Inkscape" -#: ../src/widgets/toolbox.cpp:3708 -msgid "(long protruding caps)" -msgstr "długie uwypuklenie" +#: ../src/verbs.cpp:2631 +msgid "_Document Properties..." +msgstr "Właściwości doku_mentu..." -#: ../src/widgets/toolbox.cpp:3712 -msgid "Cap rounding" -msgstr "Zaokrąglenia końcówek" +#: ../src/verbs.cpp:2632 +msgid "Edit properties of this document (to be saved with the document)" +msgstr "Edytuj właściwości dokumentu zapisywane razem z dokumentem" -#: ../src/widgets/toolbox.cpp:3712 -msgid "Caps:" -msgstr "Zakończenia:" +#: ../src/verbs.cpp:2633 +msgid "Document _Metadata..." +msgstr "Me_tadane dokumentu..." -#: ../src/widgets/toolbox.cpp:3713 -msgid "" -"Increase to make caps at the ends of strokes protrude more (0 = no caps, 1 = " -"round caps)" -msgstr "" -"Zwiększ wartość, aby zakończenia pociągnięć były bardziej wypukłe (0 = bez " -"zakończeń, 1 = zakończenia zaokrąglone)" +#: ../src/verbs.cpp:2634 +msgid "Edit document metadata (to be saved with the document)" +msgstr "Zmiana metadanych dokumentu (zapisywanych razem z dokumentem)" -#. Tremor -#: ../src/widgets/toolbox.cpp:3725 -msgid "(smooth line)" -msgstr "(gładka linia)" +#: ../src/verbs.cpp:2635 +msgid "_Fill and Stroke..." +msgstr "_Wypełnienie i kontur..." -#: ../src/widgets/toolbox.cpp:3725 -msgid "(slight tremor)" -msgstr "(niewielkie drżenie)" +#: ../src/verbs.cpp:2636 +msgid "Edit objects' colors, gradients, stroke width, arrowheads, dash patterns..." +msgstr "Edytuj kolor, gradient, styl konturu obiektów" -#: ../src/widgets/toolbox.cpp:3725 -msgid "(noticeable tremor)" -msgstr "(widoczne drżenie)" +#. TRANSLATORS: "Swatches" means: color samples +#: ../src/verbs.cpp:2638 +msgid "S_watches..." +msgstr "Przykł_adowe kolory..." -#: ../src/widgets/toolbox.cpp:3725 -msgid "(maximum tremor)" -msgstr "(maksymalne drżenie)" +#: ../src/verbs.cpp:2639 +msgid "Select colors from a swatches palette" +msgstr "Otwiera okno umożliwiające wybór kolorów z palety" -#: ../src/widgets/toolbox.cpp:3728 -msgid "Stroke Tremor" -msgstr "Drżenie konturu" +#: ../src/verbs.cpp:2640 +msgid "Transfor_m..." +msgstr "Przeksz_tałć..." -#: ../src/widgets/toolbox.cpp:3728 -msgid "Tremor:" -msgstr "Drżenie:" +#: ../src/verbs.cpp:2641 +msgid "Precisely control objects' transformations" +msgstr "Otwiera okno umożliwiające dokładną kontrolę przekształcenia obiektów" -#: ../src/widgets/toolbox.cpp:3729 -msgid "Increase to make strokes rugged and trembling" -msgstr "Zwiększ wartość, aby pociągnięcia były nierówne i roztrzęsione" +#: ../src/verbs.cpp:2642 +msgid "_Align and Distribute..." +msgstr "W_yrównaj i rozmieść..." -#. Wiggle -#: ../src/widgets/toolbox.cpp:3742 -msgid "(no wiggle)" -msgstr "(nie ma ruchu)" +#: ../src/verbs.cpp:2643 +msgid "Align and distribute objects" +msgstr "Otwórz okno umożliwiające wyrównanie i rozmieszczenie obiektów" -#: ../src/widgets/toolbox.cpp:3742 -msgid "(slight deviation)" -msgstr "(niewielkie odchylenie)" +#: ../src/verbs.cpp:2644 +msgid "Undo _History..." +msgstr "_Historia wycofanych zmian..." -#: ../src/widgets/toolbox.cpp:3742 -msgid "(wild waves and curls)" -msgstr "(szalone fale i wiry)" +#: ../src/verbs.cpp:2645 +msgid "Undo History" +msgstr "Historia wycofanych zmian" -#: ../src/widgets/toolbox.cpp:3745 -msgid "Pen Wiggle" -msgstr "Drżenie ołówka" +#: ../src/verbs.cpp:2646 +msgid "_Text and Font..." +msgstr "_Tekst i czcionka..." -#: ../src/widgets/toolbox.cpp:3745 -msgid "Wiggle:" -msgstr "Poruszenie:" +#: ../src/verbs.cpp:2647 +msgid "View and select font family, font size and other text properties" +msgstr "Zobacz i wybierz typ czcionki, jej wielkości i inne właściwości tekstu" -#: ../src/widgets/toolbox.cpp:3746 -msgid "Increase to make the pen waver and wiggle" -msgstr "Zwiększ wartość, aby pióro było bardziej chwiejne i drżące" +#: ../src/verbs.cpp:2648 +msgid "_XML Editor..." +msgstr "Edytor _XML..." -#. Mass -#: ../src/widgets/toolbox.cpp:3758 -msgid "(no inertia)" -msgstr "(brak inercji)" +#: ../src/verbs.cpp:2649 +msgid "View and edit the XML tree of the document" +msgstr "Otwórz okno do przeglądania i edycji drzewa XML dokumentu" -#: ../src/widgets/toolbox.cpp:3758 -msgid "(slight smoothing, default)" -msgstr "(niewielkie wygładzanie, domyślna)" +#: ../src/verbs.cpp:2650 +msgid "_Find..." +msgstr "_Znajdź..." -#: ../src/widgets/toolbox.cpp:3758 -msgid "(noticeable lagging)" -msgstr "(widoczne opóźnienie)" +#: ../src/verbs.cpp:2651 +msgid "Find objects in document" +msgstr "Wyszukuje obiekty w dokumencie" -#: ../src/widgets/toolbox.cpp:3758 -msgid "(maximum inertia)" -msgstr "(maksymalna inercja)" +#: ../src/verbs.cpp:2652 +msgid "_Messages..." +msgstr "Ko_munikaty..." -#: ../src/widgets/toolbox.cpp:3761 -msgid "Pen Mass" -msgstr "Masa pióra" +#: ../src/verbs.cpp:2653 +msgid "View debug messages" +msgstr "Wyświetla okno komunikatów programu" -#: ../src/widgets/toolbox.cpp:3761 -msgid "Mass:" -msgstr "Masa:" +#: ../src/verbs.cpp:2654 +msgid "S_cripts..." +msgstr "Skr_ypty..." -#: ../src/widgets/toolbox.cpp:3762 -msgid "Increase to make the pen drag behind, as if slowed by inertia" -msgstr "" -"Zwiększ wartość, aby ciągnięcie piórem pozostawało w tyle, jak gdyby było " -"spowalniane przez inercję" +#: ../src/verbs.cpp:2655 +msgid "Run scripts" +msgstr "Otwiera okno do uruchamiania skryptów" -#: ../src/widgets/toolbox.cpp:3776 -msgid "Trace Background" -msgstr "Śledzenie tła" +#: ../src/verbs.cpp:2656 +msgid "Show/Hide D_ialogs" +msgstr "Wyświetl/_Ukryj okna dialogowe" -#: ../src/widgets/toolbox.cpp:3777 -msgid "" -"Trace the lightness of the background by the width of the pen (white - " -"minimum width, black - maximum width)" -msgstr "" -"Śledzenie jasności tła poprzez szerokość pióra (biały - minimalna szerokość, " -"czarny - maksymalna szerokość)" +#: ../src/verbs.cpp:2657 +msgid "Show or hide all open dialogs" +msgstr "Wyświetla lub ukrywa wszystkie otwarte okna dialogowe" -#: ../src/widgets/toolbox.cpp:3790 -msgid "Use the pressure of the input device to alter the width of the pen" -msgstr "" -"Zastosuj siłę nacisku urządzenia wejściowego do zmiany szerokości kreski" +#: ../src/verbs.cpp:2658 +msgid "Create Tiled Clones..." +msgstr "Ut_wórz układ klonów..." -#: ../src/widgets/toolbox.cpp:3802 -msgid "Tilt" -msgstr "Nachylenie" +#: ../src/verbs.cpp:2659 +msgid "Create multiple clones of selected object, arranging them into a pattern or scattering" +msgstr "Utwórz wiele klonów zaznaczonego obiektu, rozkładając je równomiernie bądź rozpraszając" -#: ../src/widgets/toolbox.cpp:3803 -msgid "Use the tilt of the input device to alter the angle of the pen's nib" -msgstr "" -"Zastosuj nachylenie urządzenia wejściowego do zmiany kąta ustawienia stalówki" +#: ../src/verbs.cpp:2660 +msgid "_Object Properties..." +msgstr "Właś_ciwości obiektu..." -#: ../src/widgets/toolbox.cpp:3821 -msgid "No preset" -msgstr "Brak ustawień" +#: ../src/verbs.cpp:2661 +msgid "Edit the ID, locked and visible status, and other object properties" +msgstr "Otwiera okno do edycji ID, blokowania, stanu widoczności i innych właściwości obiektów" -#: ../src/widgets/toolbox.cpp:3836 -#, fuzzy -msgid "Change calligraphic profile" -msgstr "Rysuj linie kaligraficzne" +#: ../src/verbs.cpp:2664 +msgid "Jabber Instant Messaging Client" +msgstr "Klient Jabbera" -#: ../src/widgets/toolbox.cpp:3848 -msgid "Save current settings as new profile" -msgstr "Zapisz obecne ustawienia jako nowy profil" +#: ../src/verbs.cpp:2664 +msgid "_Instant Messaging..." +msgstr "_Komunikator..." -#: ../src/widgets/toolbox.cpp:3933 -msgid "Arc: Change start/end" -msgstr "Łuk: Zmień początek/koniec" +#: ../src/verbs.cpp:2666 +msgid "_Input Devices..." +msgstr "_Urządzenia wejściowe..." -#: ../src/widgets/toolbox.cpp:4022 -msgid "Arc: Change open/closed" -msgstr "Łuk: Zmień otwarcie/zamknięcie" +#: ../src/verbs.cpp:2667 +#: ../src/verbs.cpp:2669 +msgid "Configure extended input devices, such as a graphics tablet" +msgstr "Skonfiguruj urządzenie wejściowe, takie jak tablet graficzny" -#: ../src/widgets/toolbox.cpp:4146 -msgid "Start" -msgstr "Początek" +#: ../src/verbs.cpp:2668 +msgid "_Input Devices (new)..." +msgstr "_Urządzenia wejściowe(nowe)..." -#: ../src/widgets/toolbox.cpp:4146 -msgid "Start:" -msgstr "Początek:" +#: ../src/verbs.cpp:2670 +msgid "_Extensions..." +msgstr "Rozszerzenia..." -#: ../src/widgets/toolbox.cpp:4147 -msgid "The angle (in degrees) from the horizontal to the arc's start point" -msgstr "Kąt (w stopniach) od poziomu do punktu początkowego łuku" +#: ../src/verbs.cpp:2671 +msgid "Query information about extensions" +msgstr "Pobiera i wyświetla informacje na temat rozszerzeń" -#: ../src/widgets/toolbox.cpp:4159 -msgid "End" -msgstr "Koniec" +#: ../src/verbs.cpp:2672 +msgid "Layer_s..." +msgstr "Wars_twy..." -#: ../src/widgets/toolbox.cpp:4159 -msgid "End:" -msgstr "Koniec:" +#: ../src/verbs.cpp:2673 +msgid "View Layers" +msgstr "Otwiera okno dialogowe z ustawieniami warstw" -#: ../src/widgets/toolbox.cpp:4160 -msgid "The angle (in degrees) from the horizontal to the arc's end point" -msgstr "Kąt (w stopniach) od poziomu do punktu końcowego łuku" +#: ../src/verbs.cpp:2674 +msgid "Path Effects..." +msgstr "E_fekty ścieżki..." -#: ../src/widgets/toolbox.cpp:4176 -msgid "Closed arc" -msgstr "Łuk zamknięty" +#: ../src/verbs.cpp:2675 +msgid "Manage path effects" +msgstr "Zarządzanie efektami ścieżki" -#: ../src/widgets/toolbox.cpp:4177 -msgid "Switch to segment (closed shape with two radii)" -msgstr "Przełącz do odcinka (zamknięty kształt z dwoma promieniami)" +#: ../src/verbs.cpp:2676 +msgid "Filter Effects..." +msgstr "_Filtry efektów..." -#: ../src/widgets/toolbox.cpp:4183 -msgid "Open Arc" -msgstr "Łuk otwarty" +#: ../src/verbs.cpp:2677 +msgid "Manage SVG filter effects" +msgstr "Zarządzanie filtrami SVG" -#: ../src/widgets/toolbox.cpp:4184 -msgid "Switch to arc (unclosed shape)" -msgstr "Przełącz do łuku (kształt otwarty)" +#: ../src/verbs.cpp:2678 +msgid "SVG Fonts..." +msgstr "Czcionki SVG..." -#: ../src/widgets/toolbox.cpp:4208 -msgid "Make whole" -msgstr "Pełny kształt" +#: ../src/verbs.cpp:2679 +msgid "Manage SVG fonts" +msgstr "Zarządzanie czcionkami SVG" -#: ../src/widgets/toolbox.cpp:4209 -msgid "Make the shape a whole ellipse, not arc or segment" -msgstr "Zamień na pełną elipsę, zamiast łuku lub wycinka elipsy" +#. Help +#: ../src/verbs.cpp:2682 +msgid "About E_xtensions" +msgstr "Informacje o _rozszerzeniach" -#: ../src/widgets/toolbox.cpp:4275 -msgid "Opacity:" -msgstr "Krycie:" +#: ../src/verbs.cpp:2683 +msgid "Information on Inkscape extensions" +msgstr "Informacje o rozszerzeniach Inkscape" -#: ../src/widgets/toolbox.cpp:4282 -msgid "Pick opacity" -msgstr "Wybierz krycie" +#: ../src/verbs.cpp:2684 +msgid "About _Memory" +msgstr "_Informacje o pamięci" -#: ../src/widgets/toolbox.cpp:4283 -msgid "" -"Pick both the color and the alpha (transparency) under cursor; otherwise, " -"pick only the visible color premultiplied by alpha" -msgstr "" -"Wybiera zarówno kolor jak i krycie (przezroczystość) obiektów wskazanych " -"przez kursor myszy. W pozostałych przypadkach wskazuje tylko widziany kolor " -"zwielokrotniony przez kanał alfa." +#: ../src/verbs.cpp:2685 +msgid "Memory usage information" +msgstr "Informacja o użyciu pamięci" -#: ../src/widgets/toolbox.cpp:4286 -#, fuzzy -msgid "Pick" -msgstr "Pika" +#: ../src/verbs.cpp:2686 +msgid "_About Inkscape" +msgstr "_O programie Inkscape" -#: ../src/widgets/toolbox.cpp:4295 -msgid "Assign opacity" -msgstr "Określ krycie" +#: ../src/verbs.cpp:2687 +msgid "Inkscape version, authors, license" +msgstr "Wersja Inkscape, autorzy, licencja" -#: ../src/widgets/toolbox.cpp:4296 -msgid "" -"If alpha was picked, assign it to selection as fill or stroke transparency" -msgstr "" -"Jeśli zostało wybrane krycie, to zostaje ono przydzielone do zaznaczenia " -"jako przezroczystość wypełnienia lub konturu" +#. "help_about" +#. new HelpVerb(SP_VERB_SHOW_LICENSE, "ShowLicense", N_("_License"), +#. N_("Distribution terms"), /*"show_license"*/"inkscape_options"), +#. Tutorials +#: ../src/verbs.cpp:2692 +msgid "Inkscape: _Basic" +msgstr "Inkscape: _Podstawy" -#: ../src/widgets/toolbox.cpp:4299 -msgid "Assign" -msgstr "Przydziel" +#: ../src/verbs.cpp:2693 +msgid "Getting started with Inkscape" +msgstr "Pierwsze kroki z Inkscape" -#: ../src/widgets/toolbox.cpp:4319 -msgid "The width of the eraser pen (relative to the visible canvas area)" -msgstr "Szerokość gumki (relatywna do widocznego obszaru pracy)" +#. "tutorial_basic" +#: ../src/verbs.cpp:2694 +msgid "Inkscape: _Shapes" +msgstr "Inkscape: _Kształty" -#: ../src/widgets/toolbox.cpp:4336 -msgid "Delete objects touched by the eraser" -msgstr "" +#: ../src/verbs.cpp:2695 +msgid "Using shape tools to create and edit shapes" +msgstr "Stosowanie narzędzi do tworzenia i edycji kształtów" -#: ../src/widgets/toolbox.cpp:4342 -msgid "Cut" -msgstr "Wytnij" +#: ../src/verbs.cpp:2696 +msgid "Inkscape: _Advanced" +msgstr "Inkscape: _Zaawansowane" -#: ../src/widgets/toolbox.cpp:4343 -msgid "Cut out from objects" -msgstr "Wycinanie z obiektów" +#: ../src/verbs.cpp:2697 +msgid "Advanced Inkscape topics" +msgstr "Zaawansowane zagadnienia związane z Inkscape" -#: ../src/widgets/toolbox.cpp:4678 -msgid "Text: Change font family" -msgstr "Tekst: Zmień czcionkę" +#. "tutorial_advanced" +#. TRANSLATORS: "to trace" means "to convert a bitmap to vector graphics" (to vectorize) +#: ../src/verbs.cpp:2699 +msgid "Inkscape: T_racing" +msgstr "Inkscape: _Wektoryzacja" -#: ../src/widgets/toolbox.cpp:4763 -msgid "Text: Change alignment" -msgstr "Tekst: Zmień wyrównanie" +#: ../src/verbs.cpp:2700 +msgid "Using bitmap tracing" +msgstr "Obsługa wektoryzacji bitmap" -#: ../src/widgets/toolbox.cpp:4846 -msgid "Text: Change font style" -msgstr "Tekst: Zmień styl czcionki" +#. "tutorial_tracing" +#: ../src/verbs.cpp:2701 +msgid "Inkscape: _Calligraphy" +msgstr "Inkscape: Kali_grafia" -#: ../src/widgets/toolbox.cpp:4893 -msgid "Text: Change orientation" -msgstr "Tekst: Zmień orientację" +#: ../src/verbs.cpp:2702 +msgid "Using the Calligraphy pen tool" +msgstr "Stosowanie narzędzia \"Pióro\"" -#: ../src/widgets/toolbox.cpp:4992 -msgid "Text: Change font size" -msgstr "Tekst: Zmień rozmiar czcionki" +#: ../src/verbs.cpp:2703 +msgid "_Elements of Design" +msgstr "_Elementy kompozycji" -#: ../src/widgets/toolbox.cpp:5232 -msgid "" -"This font is currently not installed on your system. Inkscape will use the " -"default font instead." -msgstr "" -"Ta czcionka nie jest aktualnie zainstalowana systemie. Inkscape będzie " -"używał zamiast niej czcionkę domyślną." +#: ../src/verbs.cpp:2704 +msgid "Principles of design in the tutorial form" +msgstr "Przewodnik po zasadach kształtowania kompozycji" -#: ../src/widgets/toolbox.cpp:5271 -msgid "Align left" -msgstr "Wyrównaj do lewej" +#. "tutorial_design" +#: ../src/verbs.cpp:2705 +msgid "_Tips and Tricks" +msgstr "Porady i _sztuczki" -#: ../src/widgets/toolbox.cpp:5282 -msgid "Center" -msgstr "Wyśrodkuj" +#: ../src/verbs.cpp:2706 +msgid "Miscellaneous tips and tricks" +msgstr "Zbiór różnych porad i sztuczek" + +#. "tutorial_tips" +#. Effect +#: ../src/verbs.cpp:2709 +msgid "Previous Effect" +msgstr "Poprzedni efekt" -#: ../src/widgets/toolbox.cpp:5293 -msgid "Align right" -msgstr "Wyrównaj do prawej" +#: ../src/verbs.cpp:2710 +msgid "Repeat the last effect with the same settings" +msgstr "Powtórz ostatni efekt z zachowaniem ustawień" -#: ../src/widgets/toolbox.cpp:5304 -msgid "Justify" -msgstr "Wyjustuj" +#: ../src/verbs.cpp:2711 +msgid "Previous Effect Settings..." +msgstr "Ustawienia poprzedniego efektu..." -#: ../src/widgets/toolbox.cpp:5320 -msgid "Bold" -msgstr "Pogrubienie" +#: ../src/verbs.cpp:2712 +msgid "Repeat the last effect with new settings" +msgstr "Powtórz ostatni efekt z nowymi ustawieniami" -#: ../src/widgets/toolbox.cpp:5331 -msgid "Italic" -msgstr "Kursywa" +#: ../src/verbs.cpp:2716 +msgid "Fit the page to the current selection" +msgstr "Dopasuj rozmiar strony do aktualnego zaznaczenia" -#: ../src/widgets/toolbox.cpp:5465 -msgid "Change connector spacing" -msgstr "Zmień odstęp łącznika" +#: ../src/verbs.cpp:2718 +msgid "Fit the page to the drawing" +msgstr "Dopasuj stronę do rysunku" -#: ../src/widgets/toolbox.cpp:5553 -msgid "Avoid" -msgstr "Pomiń" +#: ../src/verbs.cpp:2720 +msgid "Fit the page to the current selection or the drawing if there is no selection" +msgstr "Dopasuj stronę do aktualnego zaznaczenia lub do rysunku jeśli nic nie jest zaznaczone" -#: ../src/widgets/toolbox.cpp:5563 -msgid "Ignore" -msgstr "Ignoruj" +#. LockAndHide +#: ../src/verbs.cpp:2722 +msgid "Unlock All" +msgstr "Odb_lokuj wszystko" -#: ../src/widgets/toolbox.cpp:5575 -msgid "Connector Spacing" -msgstr "Odstępy łączników" +#: ../src/verbs.cpp:2724 +msgid "Unlock All in All Layers" +msgstr "Odblokowuje wszystko na wszystkich warstwach" -#: ../src/widgets/toolbox.cpp:5575 -msgid "Spacing:" -msgstr "Odstępy:" +#: ../src/verbs.cpp:2726 +msgid "Unhide All" +msgstr "_Pokaż wszystko" -#: ../src/widgets/toolbox.cpp:5576 -msgid "The amount of space left around objects by auto-routing connectors" -msgstr "Odstęp wokół obiektów automatycznie wyznaczony przez łączniki" +#: ../src/verbs.cpp:2728 +msgid "Unhide All in All Layers" +msgstr "Wyświetla wszystko na wszystkich warstwach" -#: ../src/widgets/toolbox.cpp:5587 -msgid "Graph" -msgstr "Wykres" +#: ../src/widgets/calligraphic-profile-rename.cpp:34 +msgid "Profile name:" +msgstr "Nazwa profilu:" -#: ../src/widgets/toolbox.cpp:5597 -msgid "Connector Length" -msgstr "Długość łącznika" +#: ../src/widgets/calligraphic-profile-rename.cpp:48 +msgid "Save" +msgstr "Zapisz" -#: ../src/widgets/toolbox.cpp:5597 -msgid "Length:" -msgstr "Długość:" +#: ../src/widgets/dash-selector.cpp:59 +msgid "Dash pattern" +msgstr "Style kresek" -#: ../src/widgets/toolbox.cpp:5598 -msgid "Ideal length for connectors when layout is applied" -msgstr "Odpowiednia długość dla łączników podczas stosowania rozmieszczenia" +#: ../src/widgets/dash-selector.cpp:74 +msgid "Pattern offset" +msgstr "Przesunięcie wzoru" -#: ../src/widgets/toolbox.cpp:5610 -msgid "Downwards" -msgstr "Do dołu" +#. display the initial welcome message in the statusbar +#: ../src/widgets/desktop-widget.cpp:552 +msgid "Welcome to Inkscape! Use shape or freehand tools to create objects; use selector (arrow) to move or transform them." +msgstr "Witaj w programie Inkscape! Wybierz z przybornika narzędzie do rysowania lub użyj wskaźnika (strzałki), aby przesuwać lub przekształcać obiekty." -#: ../src/widgets/toolbox.cpp:5611 -msgid "Make connectors with end-markers (arrows) point downwards" -msgstr "Utwórz łączniki ze strzałkami skierowanymi w dół" +#: ../src/widgets/desktop-widget.cpp:614 +#, c-format +msgid "%s: %d (outline) - Inkscape" +msgstr "%s: %d (obramowanie) - Inkscape" -#: ../src/widgets/toolbox.cpp:5627 -msgid "Do not allow overlapping shapes" -msgstr "Nie pozwalaj na nakładanie się kształtów" +#: ../src/widgets/desktop-widget.cpp:616 +#, c-format +msgid "%s: %d - Inkscape" +msgstr "%s: %d - Inkscape" -#: ../src/widgets/toolbox.cpp:5728 -msgid "Fill by" -msgstr "Wypełnij" +#: ../src/widgets/desktop-widget.cpp:620 +#, c-format +msgid "%s (outline) - Inkscape" +msgstr "%s - (obramowanie) Inkscape" -#: ../src/widgets/toolbox.cpp:5729 -msgid "Fill by:" -msgstr "Wypełnij:" +#: ../src/widgets/desktop-widget.cpp:622 +#, c-format +msgid "%s - Inkscape" +msgstr "%s - Inkscape" -#: ../src/widgets/toolbox.cpp:5741 -msgid "Fill Threshold" -msgstr "Próg wypełniania" +#. Family frame +#: ../src/widgets/font-selector.cpp:157 +msgid "Font family" +msgstr "Czcionki" -#: ../src/widgets/toolbox.cpp:5742 -msgid "" -"The maximum allowed difference between the clicked pixel and the neighboring " -"pixels to be counted in the fill" -msgstr "" -"Maksymalna dozwolona różnica pomiędzy klikniętym pikselem, a sąsiednimi " -"pikselami branymi pod uwagę podczas wypełniania" +#: ../src/widgets/font-selector.cpp:226 +msgid "Font size:" +msgstr "Rozmiar czcionki:" -#: ../src/widgets/toolbox.cpp:5766 -msgid "Grow/shrink by" -msgstr "Powiększ/pomniejsz o" +#. TRANSLATORS: Test string used in text and font dialog (when no +#. * text has been entered) to get a preview of the font. Choose +#. * some representative characters that users of your locale will be +#. * interested in. +#: ../src/widgets/font-selector.cpp:639 +#: ../src/widgets/toolbox.cpp:6093 +msgid "AaBbCcIiPpQq12369$€¢?.;/()" +msgstr "AaĄąBbCćĘęKkÓóŹź0123:/()" -#: ../src/widgets/toolbox.cpp:5766 -msgid "Grow/shrink by:" -msgstr "Powiększ/pomniejsz o:" +#: ../src/widgets/gradient-selector.cpp:139 +#: ../src/widgets/gradient-toolbar.cpp:462 +msgid "Edit..." +msgstr "Edytuj..." -#: ../src/widgets/toolbox.cpp:5767 -msgid "" -"The amount to grow (positive) or shrink (negative) the created fill path" +#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/pservers.html#LinearGradientSpreadMethodAttribute +#: ../src/widgets/gradient-selector.cpp:156 +msgid "Whether to fill with flat color beyond the ends of the gradient vector (spreadMethod=\"pad\"), or repeat the gradient in the same direction (spreadMethod=\"repeat\"), or repeat the gradient in alternating opposite directions (spreadMethod=\"reflect\")" msgstr "" -"Wartość zwiększenia (wartości dodatnie) lub zmniejszenia (wartości ujemne) " -"utworzonej ścieżki wypełnienia" - -#: ../src/widgets/toolbox.cpp:5792 -msgid "Close gaps" -msgstr "Zamyknie przerw" +"Wygląd gradientu poza końcami definiującego wektora:\n" +"\"brak\" = zostanie zastosowany jednolity kolor\n" +"\"kierunek\" = zostanie powtórzony gradient w tym samym kierunku\n" +"\"odbicie\" = zostanie powtórzony gradient w odwrotnym kierunku" -#: ../src/widgets/toolbox.cpp:5793 -msgid "Close gaps:" -msgstr "Zamknij przerwy:" +#: ../src/widgets/gradient-selector.cpp:166 +msgid "reflected" +msgstr "odbicie" -#: ../src/widgets/toolbox.cpp:5805 -msgid "" -"Reset paint bucket parameters to defaults (use Inkscape Preferences > Tools " -"to change defaults)" -msgstr "" -"Przywraca domyślne ustawienia wypełniania. Aby zmienić domyślne wartości " -"przejdź do Ustawienia Inkscape » Narzędzia." +#: ../src/widgets/gradient-selector.cpp:170 +msgid "direct" +msgstr "kierunek" -#: ../share/extensions/dimension.py:97 -msgid "Unable to process this object. Try changing it into a path first." -msgstr "" +#: ../src/widgets/gradient-selector.cpp:178 +msgid "Repeat:" +msgstr "Powtarzanie:" -#: ../share/extensions/embedimage.py:79 -msgid "" -"No xlink:href or sodipodi:absref attributes found, or they do not point to " -"an existing file! Unable to embed image." -msgstr "" +#: ../src/widgets/gradient-toolbar.cpp:151 +msgid "Assign gradient to object" +msgstr "Przypisz gradient do obiektu" -#: ../share/extensions/embedimage.py:104 -#, python-format -msgid "" -"%s is not of type image/png, image/jpeg, image/bmp, image/gif, image/tiff, " -"or image/x-icon" -msgstr "" +#: ../src/widgets/gradient-toolbar.cpp:185 +msgid "No gradients" +msgstr "Brak gradientów" -#: ../share/extensions/embedimage.py:106 -#, python-format -msgid "Sorry we could not locate %s" -msgstr "" +#: ../src/widgets/gradient-toolbar.cpp:194 +msgid "Nothing selected" +msgstr "Nic nie zaznaczono" -#: ../share/extensions/export_gimp_palette.py:14 -msgid "" -"The export_gpl.py module requires PyXML. Please download the latest version " -"from http://pyxml.sourceforge.net/." -msgstr "" +#: ../src/widgets/gradient-toolbar.cpp:205 +msgid "No gradients in selection" +msgstr "Brak gradientów w zaznaczeniu" -#: ../share/extensions/extractimage.py:66 -msgid "Difficulty finding the image data." -msgstr "" +#: ../src/widgets/gradient-toolbar.cpp:215 +msgid "Multiple gradients" +msgstr "Wiele gradientów" -#: ../share/extensions/inkex.py:61 -msgid "" -"The fantastic lxml wrapper for libxml2 is required by inkex.py and therefore " -"this extension. Please download and install the latest version from http://" -"cheeseshop.python.org/pypi/lxml/, or install it through your package manager " -"by a command like: sudo apt-get install python-lxml" -msgstr "" +#: ../src/widgets/gradient-toolbar.cpp:463 +msgid "Edit the stops of the gradient" +msgstr "Edytuj punkty sterujące gradientu" -#: ../share/extensions/inkex.py:187 -#, python-format -msgid "No matching node for expression: %s" -msgstr "" +#: ../src/widgets/gradient-toolbar.cpp:522 +#: ../src/widgets/toolbox.cpp:2151 +#: ../src/widgets/toolbox.cpp:2229 +#: ../src/widgets/toolbox.cpp:2560 +#: ../src/widgets/toolbox.cpp:2598 +#: ../src/widgets/toolbox.cpp:3213 +#: ../src/widgets/toolbox.cpp:3237 +#: ../src/widgets/toolbox.cpp:4672 +#: ../src/widgets/toolbox.cpp:4701 +msgid "New:" +msgstr "Nowy:" -#: ../share/extensions/markers_strokepaint.py:41 -#, python-format -msgid "No style attribute found for id: %s" -msgstr "" +#: ../src/widgets/gradient-toolbar.cpp:535 +msgid "Create linear gradient" +msgstr "Utwórz gradient liniowy" -#: ../share/extensions/markers_strokepaint.py:56 -#, python-format -msgid "unable to locate marker: %s" -msgstr "" +#: ../src/widgets/gradient-toolbar.cpp:549 +msgid "Create radial (elliptic or circular) gradient" +msgstr "Utwórz gradient radialny (eliptyczny lub kołowy)" -#: ../share/extensions/pathalongpath.py:197 -#: ../share/extensions/pathscatter.py:208 -#: ../share/extensions/perspective.py:55 -#: ../share/extensions/summersnight.py:30 -#, fuzzy -msgid "This extension requires two selected paths." -msgstr "Tworzy sumę zaznaczonych ścieżek" +#. TODO replace aux_toolbox_space(tbl, AUX_SPACING); +#: ../src/widgets/gradient-toolbar.cpp:564 +msgid "on" +msgstr "na" -#: ../share/extensions/pathmodifier.py:229 -#, python-format -msgid "Please first convert objects to paths! (Got [%s].)" -msgstr "" +#: ../src/widgets/gradient-toolbar.cpp:577 +msgid "Create gradient in the fill" +msgstr "Utwórz gradient w wypełnieniu" -#: ../share/extensions/perspective.py:29 -msgid "" -"Failed to import the numpy or numpy.linalg modules. These modules are " -"required by this extension. Please install them and try again. On a Debian-" -"like system this can be done with the command, sudo apt-get install python-" -"numpy." -msgstr "" +#: ../src/widgets/gradient-toolbar.cpp:591 +msgid "Create gradient in the stroke" +msgstr "Utwórz gradient na konturze" -#: ../share/extensions/perspective.py:64 -msgid "" -"This extension requires that the second selected path be four nodes long." -msgstr "" +#. FIXME: implement averaging of all parameters for multiple selected +#. gtk_label_set_markup(GTK_LABEL(l), _("Average:")); +#: ../src/widgets/gradient-toolbar.cpp:605 +#: ../src/widgets/toolbox.cpp:2153 +#: ../src/widgets/toolbox.cpp:2568 +#: ../src/widgets/toolbox.cpp:2586 +#: ../src/widgets/toolbox.cpp:3215 +#: ../src/widgets/toolbox.cpp:3226 +#: ../src/widgets/toolbox.cpp:4675 +#: ../src/widgets/toolbox.cpp:4686 +msgid "Change:" +msgstr "Zmień:" -#: ../share/extensions/polyhedron_3d.py:60 -msgid "" -"Failed to import the numpy module. This module is required by this " -"extension. Please install them and try again. On a Debian-like system this " -"can be done with the command, sudo apt-get install python-numpy." -msgstr "" +#: ../src/widgets/gradient-vector.cpp:270 +msgid "No gradients in document" +msgstr "Brak gradientów w dokumencie" -#: ../share/extensions/summersnight.py:32 -msgid "The second path must be exactly four nodes long." -msgstr "" +#: ../src/widgets/gradient-vector.cpp:276 +msgid "No gradient selected" +msgstr "Nie zaznaczono gradientu" -#: ../share/extensions/svg_and_media_zip_output.py:103 -#, fuzzy, python-format -msgid "Could not locate file: %s" -msgstr "Nie można wyeksportować do pliku %s.\n" +#: ../src/widgets/gradient-vector.cpp:541 +msgid "No stops in gradient" +msgstr "Brak punktów sterujących w gradiencie" -#. vim: expandtab shiftwidth=4 tabstop=8 softtabstop=4 encoding=utf-8 textwidth=99 -#: ../share/extensions/addnodes.inx.h:1 -msgid "Add Nodes" -msgstr "Dodaj węzły" +#: ../src/widgets/gradient-vector.cpp:664 +msgid "Change gradient stop offset" +msgstr "Zmień przesunięcie punktu kontrolnego" -#: ../share/extensions/addnodes.inx.h:2 -msgid "By max. segment length" -msgstr "Wg maksymalnej długość odcinka" +#. TRANSLATORS: "Stop" means: a "phase" of a gradient +#: ../src/widgets/gradient-vector.cpp:806 +msgid "Add stop" +msgstr "Dodaj punkt" -#: ../share/extensions/addnodes.inx.h:3 -msgid "By number of segments" -msgstr "Wg liczby zębów" +#: ../src/widgets/gradient-vector.cpp:809 +msgid "Add another control stop to gradient" +msgstr "Dodaj kolejny punkt kontrolny do gradientu" -#: ../share/extensions/addnodes.inx.h:4 -msgid "Division method" -msgstr "Metoda podziału" +#: ../src/widgets/gradient-vector.cpp:811 +msgid "Delete stop" +msgstr "Usuń punkt" -#: ../share/extensions/addnodes.inx.h:5 -msgid "Maximum segment length (px)" -msgstr "Maksymalna długość odcinka (px)" +#: ../src/widgets/gradient-vector.cpp:814 +msgid "Delete current control stop from gradient" +msgstr "Usuń z gradientu wyświetlony powyżej punkt kontrolny" -#: ../share/extensions/addnodes.inx.h:6 ../share/extensions/edge3d.inx.h:6 -#: ../share/extensions/flatten.inx.h:3 ../share/extensions/fractalize.inx.h:2 -#: ../share/extensions/markers_strokepaint.inx.h:2 -#: ../share/extensions/perspective.inx.h:1 -#: ../share/extensions/radiusrand.inx.h:4 -#: ../share/extensions/rubberstretch.inx.h:3 -#: ../share/extensions/straightseg.inx.h:2 -#: ../share/extensions/summersnight.inx.h:2 ../share/extensions/whirl.inx.h:2 -msgid "Modify Path" -msgstr "Modyfikuj ścieżkę" +#. Label +#: ../src/widgets/gradient-vector.cpp:825 +msgid "Offset:" +msgstr "Przesunięcie:" -#: ../share/extensions/addnodes.inx.h:7 -msgid "Number of segments" -msgstr "Liczba odcinków" +#. TRANSLATORS: "Stop" means: a "phase" of a gradient +#: ../src/widgets/gradient-vector.cpp:870 +msgid "Stop Color" +msgstr "Kolor w punkcie" -#: ../share/extensions/ai_input.inx.h:1 -msgid "AI 8.0 Input" -msgstr "Źródło AI 8.0" +#: ../src/widgets/gradient-vector.cpp:899 +msgid "Gradient editor" +msgstr "Edytor gradientu" -#: ../share/extensions/ai_input.inx.h:2 -msgid "Adobe Illustrator 8.0 and below (*.ai)" -msgstr "Adobe Illustrator 8.0 lub starszy (*.ai)" +#: ../src/widgets/gradient-vector.cpp:1174 +msgid "Change gradient stop color" +msgstr "Zmień kolor w punkcie kontrolnym" -#: ../share/extensions/ai_input.inx.h:3 -msgid "Open files saved with Adobe Illustrator 8.0 or older" -msgstr "Otwórz pliki zapisane w programie Adobe Illustrator 8.0 lub starszym" +#: ../src/widgets/layer-selector.cpp:115 +msgid "Toggle current layer visibility" +msgstr "Przełącz widzialność aktywnej warstwy" -#: ../share/extensions/ai_output.inx.h:1 -msgid "AI 8.0 Output" -msgstr "Zapis AI 8.0" +#: ../src/widgets/layer-selector.cpp:135 +msgid "Lock or unlock current layer" +msgstr "Zablokuj/odblokuj aktywną warstwę" -#: ../share/extensions/ai_output.inx.h:2 -msgid "Adobe Illustrator 8.0 (*.ai)" -msgstr "Adobe Illustrator 8.0 (*.ai)" +#: ../src/widgets/layer-selector.cpp:138 +msgid "Current layer" +msgstr "Aktywna warstwa" -#: ../share/extensions/ai_output.inx.h:3 -msgid "Write Adobe Illustrator 8.0 (Postscript-based)" -msgstr "Zapisz jako Adobe Illustrator 8.0 (oparty o Postscript)" +#: ../src/widgets/layer-selector.cpp:566 +msgid "(root)" +msgstr "(warstwa główna)" -#: ../share/extensions/aisvg.inx.h:1 -msgid "AI SVG Input" -msgstr "Źródło plików AI SVG" +#: ../src/widgets/paint-selector.cpp:181 +#: ../src/widgets/paint-selector.cpp:564 +msgid "No paint" +msgstr "Brak koloru" -#: ../share/extensions/aisvg.inx.h:2 -msgid "Adobe Illustrator SVG (*.ai.svg)" -msgstr "Adobe Illustrator SVG (*.ai.svg)" +#: ../src/widgets/paint-selector.cpp:183 +#: ../src/widgets/paint-selector.cpp:636 +msgid "Flat color" +msgstr "Jednolity kolor" -#: ../share/extensions/aisvg.inx.h:3 -msgid "Cleans the cruft out of Adobe Illustrator SVGs before opening" -msgstr "" -"Wyczyść niestandardowe dodatki programu Adobe Illustrator przed otwarciem " -"pliku SVG" +#: ../src/widgets/paint-selector.cpp:185 +#: ../src/widgets/paint-selector.cpp:707 +msgid "Linear gradient" +msgstr "Gradient liniowy" -#: ../share/extensions/ccx_input.inx.h:1 -msgid "Corel DRAW Compressed Exchange files (.ccx)" -msgstr "Pliki Corel DRAW Compressed Exchange (.ccx)" +#: ../src/widgets/paint-selector.cpp:187 +#: ../src/widgets/paint-selector.cpp:710 +msgid "Radial gradient" +msgstr "Gradient radialny" -#: ../share/extensions/ccx_input.inx.h:2 -msgid "Corel DRAW Compressed Exchange files input" -msgstr "Źródło plików Corel DRAW Compressed Exchange" +#: ../src/widgets/paint-selector.cpp:191 +msgid "Unset paint (make it undefined so it can be inherited)" +msgstr "Wyzeruj wypełnienie (ustaw jako niezdefiniowane, co umożliwia późniejsze dziedziczenie)" -#: ../share/extensions/ccx_input.inx.h:3 -msgid "Open compressed exchange files saved in Corel DRAW" -msgstr "Otwórz skompresowane pliki wymiany zapisane w programie Corel DRAW" +#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/painting.html#FillRuleProperty +#: ../src/widgets/paint-selector.cpp:203 +msgid "Any path self-intersections or subpaths create holes in the fill (fill-rule: evenodd)" +msgstr "Obszary nałożone lub ścieżki wewnątrz figury nie są wypełniane (zasada nieparzystości)" -#: ../share/extensions/cdr_input.inx.h:1 -msgid "Corel DRAW 7-X4 files (*.cdr)" -msgstr "Pliki Corel DRAW 7-X4 (*.cdr)" +#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/painting.html#FillRuleProperty +#: ../src/widgets/paint-selector.cpp:214 +msgid "Fill is solid unless a subpath is counterdirectional (fill-rule: nonzero)" +msgstr "Wypełnienie przenika całą figurę, chyba że ścieżka składowa ma odwrócony kierunek (zasada przenikania)" -#: ../share/extensions/cdr_input.inx.h:2 -msgid "Corel DRAW Input" -msgstr "Źródło plików Corel DRAW" +#: ../src/widgets/paint-selector.cpp:531 +msgid "No objects" +msgstr "Brak obiektów" -#: ../share/extensions/cdr_input.inx.h:3 -msgid "Open files saved in Corel DRAW 7-X4" -msgstr "Otwórz pliki zapisane w programie Corel DRAW 7-X4" +#: ../src/widgets/paint-selector.cpp:542 +msgid "Multiple styles" +msgstr "Wiele stylów" -#: ../share/extensions/cdt_input.inx.h:1 -msgid "Corel DRAW 7-13 template files (.cdt)" -msgstr "Pliki Corel DRAW 7-13 template (.cdt)" +#: ../src/widgets/paint-selector.cpp:553 +msgid "Paint is undefined" +msgstr "Wypełnienie niezdefiniowane" -#: ../share/extensions/cdt_input.inx.h:2 -msgid "Corel DRAW templates input" -msgstr "Źródło szablonów Corel DRAW" +#: ../src/widgets/paint-selector.cpp:984 +msgid "Use the Node tool to adjust position, scale, and rotation of the pattern on canvas. Use Object > Pattern > Objects to Pattern to create a new pattern from selection." +msgstr "Użyj narzędzia Edycja węzłów, aby dopasować położenie, skalowanie i rotację wzorca w obszarze roboczym. Użyj Obiekt » Deseń » Obiekty na deseń, aby utworzyć nowy wzór wypełnienia z zaznaczonych obiektów." -#: ../share/extensions/cdt_input.inx.h:3 -msgid "Open files saved in Corel DRAW 7-13" -msgstr "Otwórz pliki zapisane w programie Corel DRAW 7-13" +#: ../src/widgets/select-toolbar.cpp:245 +msgid "Transform by toolbar" +msgstr "Przekształć używając paska narzędziowego" -#: ../share/extensions/cgm_input.inx.h:1 -msgid "Computer Graphics Metafile files (.cgm)" -msgstr "Pliki Computer Graphics Metafile (.cgm)" +#: ../src/widgets/select-toolbar.cpp:300 +msgid "Now stroke width is scaled when objects are scaled." +msgstr "Teraz szerokość konturu jest skalowana podczas skalowania obiektów" -#: ../share/extensions/cgm_input.inx.h:2 -msgid "Computer Graphics Metafile files input" -msgstr "Źródło plików Computer Graphics Metafile" +#: ../src/widgets/select-toolbar.cpp:302 +msgid "Now stroke width is not scaled when objects are scaled." +msgstr "Teraz szerokość konturu nie jest skalowana podczas skalowania obiektów" -#: ../share/extensions/cgm_input.inx.h:3 -msgid "Open Computer Graphics Metafile files" -msgstr "Otwórz pliki zapisane w programie Computer Graphics Metafile" +#: ../src/widgets/select-toolbar.cpp:311 +msgid "Now rounded rectangle corners are scaled when rectangles are scaled." +msgstr "Teraz zaokrąglone narożniki są skalowane podczas skalowania prostokątów" -#: ../share/extensions/cmx_input.inx.h:1 -msgid "Corel DRAW Presentation Exchange files (.cmx)" -msgstr "Pliki Corel DRAW Presentation Exchange (.cmx)" +#: ../src/widgets/select-toolbar.cpp:313 +msgid "Now rounded rectangle corners are not scaled when rectangles are scaled." +msgstr "Teraz zaokrąglone narożniki nie są skalowane podczas skalowania prostokątów" -#: ../share/extensions/cmx_input.inx.h:2 -msgid "Corel DRAW Presentation Exchange files input" -msgstr "Źródło plików Corel DRAW Presentation Exchange" +#: ../src/widgets/select-toolbar.cpp:322 +msgid "Now gradients are transformed along with their objects when those are transformed (moved, scaled, rotated, or skewed)." +msgstr "Teraz gradienty są przekształcane wraz z edycją obiektów (przesuwanie, skalowanie, obrót, pochylenie)" -#: ../share/extensions/cmx_input.inx.h:3 -msgid "Open presentation exchange files saved in Corel DRAW" -msgstr "Otwórz pliki prezentacji zapisane w programie Corel DRAW" +#: ../src/widgets/select-toolbar.cpp:324 +msgid "Now gradients remain fixed when objects are transformed (moved, scaled, rotated, or skewed)." +msgstr "Teraz gradienty pozostają niezmienione podczas, gdy obiekty są przekształcane (przesuwanie, skalowanie, obrót, pochylenie)" -#: ../share/extensions/color_brighter.inx.h:1 -msgid "Brighter" -msgstr "Jaśniejszy" +#: ../src/widgets/select-toolbar.cpp:333 +msgid "Now patterns are transformed along with their objects when those are transformed (moved, scaled, rotated, or skewed)." +msgstr "Teraz desenie są przekształcane wraz z edycją obiektów (przesuwanie, skalowanie, obrót, pochylenie)" -#: ../share/extensions/color_custom.inx.h:1 -msgid "Blue Function" -msgstr "Funkcja składowej b (niebieski)" +#: ../src/widgets/select-toolbar.cpp:335 +msgid "Now patterns remain fixed when objects are transformed (moved, scaled, rotated, or skewed)." +msgstr "Teraz desenie pozostają niezmienione podczas, gdy obiekty są przekształcane (przesuwanie, skalowanie, obrót, pochylenie)" -#: ../share/extensions/color_custom.inx.h:4 -msgid "Green Function" -msgstr "Funkcja składowej g (zielony)" +#: ../src/widgets/select-toolbar.cpp:447 +msgid "select_toolbar|X" +msgstr "X" -#: ../share/extensions/color_custom.inx.h:5 -msgid "Red Function" -msgstr "Funkcja składowej r (czerwony)" +#. four spinbuttons +#. TRANSLATORS: only translate "string" in "context|string". +#. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS +#: ../src/widgets/select-toolbar.cpp:447 +msgid "select_toolbar|X position" +msgstr "pozycja X" -#: ../share/extensions/color_darker.inx.h:2 -msgid "Darker" -msgstr "Ciemniejszy" +#: ../src/widgets/select-toolbar.cpp:449 +msgid "Horizontal coordinate of selection" +msgstr "Pozioma współrzędna zaznaczenia" -#: ../share/extensions/color_desaturate.inx.h:2 -msgid "Desaturate" -msgstr "Mniejsze nasycenie" +#: ../src/widgets/select-toolbar.cpp:455 +msgid "select_toolbar|Y" +msgstr "Y" -#: ../share/extensions/color_grayscale.inx.h:2 -msgid "Grayscale" -msgstr "Skala szarości" +#. TRANSLATORS: only translate "string" in "context|string". +#. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS +#: ../src/widgets/select-toolbar.cpp:455 +msgid "select_toolbar|Y position" +msgstr "pozycja Y" -#: ../share/extensions/color_lesshue.inx.h:2 -msgid "Less Hue" -msgstr "Mniejsze zabarwienie" +#: ../src/widgets/select-toolbar.cpp:457 +msgid "Vertical coordinate of selection" +msgstr "Pionowa współrzędna zaznaczenia" -#: ../share/extensions/color_lesslight.inx.h:2 -msgid "Less Light" -msgstr "Mniej światła" +#: ../src/widgets/select-toolbar.cpp:463 +msgid "select_toolbar|W" +msgstr "Szer." -#: ../share/extensions/color_lesssaturation.inx.h:2 -msgid "Less Saturation" -msgstr "Mniejsze nasycenie" +#. TRANSLATORS: only translate "string" in "context|string". +#. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS +#: ../src/widgets/select-toolbar.cpp:463 +msgid "select_toolbar|Width" +msgstr "Szerokość" -#: ../share/extensions/color_morehue.inx.h:2 -msgid "More Hue" -msgstr "Większe zabarwienie" +#: ../src/widgets/select-toolbar.cpp:465 +msgid "Width of selection" +msgstr "Szerokość zaznaczenia" -#: ../share/extensions/color_morelight.inx.h:2 -msgid "More Light" -msgstr "Więcej światła" +#: ../src/widgets/select-toolbar.cpp:472 +msgid "Lock width and height" +msgstr "Zablokuj szerokość i wysokość" -#: ../share/extensions/color_moresaturation.inx.h:2 -msgid "More Saturation" -msgstr "Większe nasycenie" +#: ../src/widgets/select-toolbar.cpp:473 +msgid "When locked, change both width and height by the same proportion" +msgstr "Gdy blokada jest włączona, zmiana szerokości i wysokości następuje z zachowaniem proporcji" -#: ../share/extensions/color_negative.inx.h:2 -msgid "Negative" -msgstr "Negatyw" +#: ../src/widgets/select-toolbar.cpp:484 +msgid "select_toolbar|H" +msgstr "Wys." -#: ../share/extensions/color_randomize.inx.h:4 -msgid "Randomize" -msgstr "Zmiana losowa" +#. TRANSLATORS: only translate "string" in "context|string". +#. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS +#: ../src/widgets/select-toolbar.cpp:484 +msgid "select_toolbar|Height" +msgstr "Wysokość" -#: ../share/extensions/color_removeblue.inx.h:2 -msgid "Remove Blue" -msgstr "Usuń niebieski" +#: ../src/widgets/select-toolbar.cpp:486 +msgid "Height of selection" +msgstr "Wysokość zaznaczenia" -#: ../share/extensions/color_removegreen.inx.h:2 -msgid "Remove Green" -msgstr "Usuń zielony" +#: ../src/widgets/select-toolbar.cpp:523 +msgid "Affect:" +msgstr "Zależności:" -#: ../share/extensions/color_removered.inx.h:2 -msgid "Remove Red" -msgstr "Usuń czerwony" +#: ../src/widgets/select-toolbar.cpp:542 +msgid "Scale rounded corners" +msgstr "Skaluj zaokrąglone narożniki" -#: ../share/extensions/color_replace.inx.h:1 -msgid "By color (RRGGBB hex):" -msgstr "Na kolor (RRGGBB hex):" +#: ../src/widgets/select-toolbar.cpp:553 +msgid "Move gradients" +msgstr "Przesuń uchwyt gradientu" -#: ../share/extensions/color_replace.inx.h:3 -msgid "Replace color" -msgstr "Zamień kolor" +#: ../src/widgets/select-toolbar.cpp:564 +msgid "Move patterns" +msgstr "Przesuń desenie" -#: ../share/extensions/color_replace.inx.h:4 -msgid "Replace color (RRGGBB hex):" -msgstr "Zamień kolor (RRGGBB hex):" +#: ../src/widgets/sp-color-gtkselector.cpp:50 +msgid "System" +msgstr "System" -#: ../share/extensions/color_rgbbarrel.inx.h:2 -msgid "RGB Barrel" -msgstr "Rotacja kanałów RGB" +#: ../src/widgets/sp-color-icc-selector.cpp:110 +msgid "CMS" +msgstr "CMS" -#: ../share/extensions/dia.inx.h:1 -msgid "A diagram created with the program Dia" -msgstr "Diagram utworzony za pomocą programu Dia" +#: ../src/widgets/sp-color-icc-selector.cpp:219 +#: ../src/widgets/sp-color-scales.cpp:403 +msgid "_B" +msgstr "_B" -#: ../share/extensions/dia.inx.h:2 -msgid "Dia Diagram (*.dia)" -msgstr "Diagram programu Dia (*.dia)" +#: ../src/widgets/sp-color-icc-selector.cpp:219 +#: ../src/widgets/sp-color-icc-selector.cpp:220 +#: ../src/widgets/sp-color-scales.cpp:400 +msgid "_G" +msgstr "_G" -#: ../share/extensions/dia.inx.h:3 -msgid "Dia Input" -msgstr "Źródło Dia" +#: ../src/widgets/sp-color-icc-selector.cpp:219 +#: ../src/widgets/sp-color-scales.cpp:397 +msgid "_R" +msgstr "_R" -#: ../share/extensions/dia.inx.h:4 -msgid "" -"In order to import Dia files, Dia itself must be installed. You can get Dia " -"at http://live.gnome.org/Dia" -msgstr "" -"Aby dokonać importu plików Dia konieczne jest zainstalowanie programu Dia. " -"Można pobrać go pod adresem http://live.gnome.org/Dia" +#: ../src/widgets/sp-color-icc-selector.cpp:221 +#: ../src/widgets/sp-color-icc-selector.cpp:222 +#: ../src/widgets/sp-color-scales.cpp:423 +msgid "_H" +msgstr "_H" -#: ../share/extensions/dia.inx.h:5 -msgid "" -"The dia2svg.sh script should be installed with your Inkscape distribution. " -"If you do not have it, there is likely to be something wrong with your " -"Inkscape installation." -msgstr "" -"Skrypt konwersji dia2svg.sh powinien zostać zainstalowany wraz z pakietem " -"programu Inkscape. Jeśli go nie ma, to prawdopodobnie proces instalacji " -"Inkscape nie przebiegł prawidłowo." +#: ../src/widgets/sp-color-icc-selector.cpp:221 +#: ../src/widgets/sp-color-icc-selector.cpp:222 +#: ../src/widgets/sp-color-scales.cpp:426 +msgid "_S" +msgstr "_S" -#: ../share/extensions/dimension.inx.h:2 ../share/extensions/dots.inx.h:4 -#: ../share/extensions/handles.inx.h:2 ../share/extensions/measure.inx.h:11 -msgid "Visualize Path" -msgstr "Wizualizacja ścieżki" +#: ../src/widgets/sp-color-icc-selector.cpp:222 +#: ../src/widgets/sp-color-scales.cpp:429 +msgid "_L" +msgstr "_L" -#: ../share/extensions/dimension.inx.h:3 -msgid "X Offset" -msgstr "Odsunięcie X" +#: ../src/widgets/sp-color-icc-selector.cpp:223 +#: ../src/widgets/sp-color-icc-selector.cpp:224 +#: ../src/widgets/sp-color-scales.cpp:451 +msgid "_C" +msgstr "_C" -#: ../share/extensions/dimension.inx.h:4 -msgid "Y Offset" -msgstr "Odsunięcie Y" +#: ../src/widgets/sp-color-icc-selector.cpp:223 +#: ../src/widgets/sp-color-scales.cpp:460 +msgid "_K" +msgstr "_K" -#: ../share/extensions/dots.inx.h:1 -msgid "Dot size" -msgstr "Rozmiar punktów" +#: ../src/widgets/sp-color-icc-selector.cpp:223 +#: ../src/widgets/sp-color-icc-selector.cpp:224 +#: ../src/widgets/sp-color-scales.cpp:454 +msgid "_M" +msgstr "_M" -#: ../share/extensions/dots.inx.h:2 -msgid "Font size" -msgstr "Rozmiar czcionki" +#: ../src/widgets/sp-color-icc-selector.cpp:223 +#: ../src/widgets/sp-color-icc-selector.cpp:224 +#: ../src/widgets/sp-color-scales.cpp:457 +msgid "_Y" +msgstr "_Y" -#: ../share/extensions/dots.inx.h:3 -msgid "Number Nodes" -msgstr "Numeruj węzły" +#: ../src/widgets/sp-color-icc-selector.cpp:234 +msgid "Gray" +msgstr "Odcienie szarości" -#: ../share/extensions/dxf_input.inx.h:1 -#: ../share/extensions/dxf_output.inx.h:1 -msgid "AutoCAD DXF (*.dxf)" -msgstr "AutoCAD DXF (*.dxf)" +#: ../src/widgets/sp-color-icc-selector.cpp:237 +#: ../src/widgets/sp-color-icc-selector.cpp:238 +#: ../src/widgets/sp-color-scales.cpp:452 +#: ../src/widgets/sp-color-scales.cpp:453 +msgid "Cyan" +msgstr "Cyjan" -#: ../share/extensions/dxf_input.inx.h:2 -msgid "DXF Input" -msgstr "Źródło DXF" +#: ../src/widgets/sp-color-icc-selector.cpp:237 +#: ../src/widgets/sp-color-icc-selector.cpp:238 +#: ../src/widgets/sp-color-scales.cpp:455 +#: ../src/widgets/sp-color-scales.cpp:456 +msgid "Magenta" +msgstr "Magenta" -#: ../share/extensions/dxf_input.inx.h:3 -msgid "Import AutoCAD's Document Exchange Format" -msgstr "Import formatu Document Exchange programu AutoCAD" +#: ../src/widgets/sp-color-icc-selector.cpp:237 +#: ../src/widgets/sp-color-icc-selector.cpp:238 +#: ../src/widgets/sp-color-scales.cpp:458 +#: ../src/widgets/sp-color-scales.cpp:459 +msgid "Yellow" +msgstr "Yellow" -#: ../share/extensions/dxf_input.inx.h:4 -msgid "" -"dxf2svg may come with Inkscape, but is also at http://dxf-svg-convert." -"sourceforge.net/" -msgstr "" -"Skrypt dxf2svg może być dostępny wraz z pakietem Inkscape. Można go także " -"pobrać pod adresem http://dxf-svg-convert.sourceforge.net/" +#: ../src/widgets/sp-color-icc-selector.cpp:295 +msgid "Fix" +msgstr "Napraw" -#: ../share/extensions/dxf_outlines.inx.h:1 -msgid "Desktop Cutting Plotter" -msgstr "Ploter tnący" +#: ../src/widgets/sp-color-icc-selector.cpp:298 +msgid "Fix RGB fallback to match icc-color() value." +msgstr "Napraw awarię składowych RGB, aby odpowiadały wartościom icc-color()" -#: ../share/extensions/dxf_outlines.inx.h:2 -msgid "Desktop Cutting Plotter (*.DXF)" -msgstr "Desktop Cutting Plotter (*.DXF)" +#. Label +#: ../src/widgets/sp-color-icc-selector.cpp:379 +#: ../src/widgets/sp-color-scales.cpp:406 +#: ../src/widgets/sp-color-scales.cpp:432 +#: ../src/widgets/sp-color-scales.cpp:463 +#: ../src/widgets/sp-color-wheel-selector.cpp:134 +msgid "_A" +msgstr "_A" -#: ../share/extensions/dxf_output.inx.h:2 -msgid "DXF Output" -msgstr "Zapis DXF" +#: ../src/widgets/sp-color-icc-selector.cpp:389 +#: ../src/widgets/sp-color-icc-selector.cpp:401 +#: ../src/widgets/sp-color-scales.cpp:407 +#: ../src/widgets/sp-color-scales.cpp:408 +#: ../src/widgets/sp-color-scales.cpp:433 +#: ../src/widgets/sp-color-scales.cpp:434 +#: ../src/widgets/sp-color-scales.cpp:464 +#: ../src/widgets/sp-color-scales.cpp:465 +#: ../src/widgets/sp-color-wheel-selector.cpp:144 +#: ../src/widgets/sp-color-wheel-selector.cpp:156 +msgid "Alpha (opacity)" +msgstr "Krycie (przezroczystość)" -#: ../share/extensions/dxf_output.inx.h:3 -msgid "DXF file written by pstoedit" -msgstr "Plik DXF zapisany przez pstoedit" +#: ../src/widgets/sp-color-notebook.cpp:329 +msgid "RGBA_:" +msgstr "RGBA_:" -#: ../share/extensions/dxf_output.inx.h:4 -msgid "pstoedit must be installed to run; see http://www.pstoedit.net/pstoedit" -msgstr "" -"Aby wykonać operację musi być zainstalowany program pstoedit. Odwiedź " -"witrynę http://www.pstoedit.net/pstoedit" +#: ../src/widgets/sp-color-notebook.cpp:337 +msgid "Hexadecimal RGBA value of the color" +msgstr "Wartość szesnastkowa koloru RGBA" -#: ../share/extensions/edge3d.inx.h:1 -msgid "Blur height" -msgstr "Wysokość rozmycia" +#: ../src/widgets/sp-color-scales.cpp:77 +msgid "CMYK" +msgstr "CMYK" -#: ../share/extensions/edge3d.inx.h:2 -msgid "Blur stdDeviation" -msgstr "Odchylenie standardowe rozmycia" +#: ../src/widgets/sp-color-scales.cpp:77 +msgid "HSL" +msgstr "HSL" -#: ../share/extensions/edge3d.inx.h:3 -msgid "Blur width" -msgstr "Szerokość rozmycia" +#: ../src/widgets/sp-color-scales.cpp:77 +msgid "RGB" +msgstr "RGB" -#: ../share/extensions/edge3d.inx.h:4 -msgid "Edge 3D" -msgstr "Krawędź 3D" +#: ../src/widgets/sp-color-selector.cpp:64 +msgid "Unnamed" +msgstr "Bez nazwy" -#: ../share/extensions/edge3d.inx.h:5 -msgid "Illumination Angle" -msgstr "Kąt oświetlenia" +#: ../src/widgets/sp-color-wheel-selector.cpp:61 +msgid "Wheel" +msgstr "Koło" -#: ../share/extensions/edge3d.inx.h:7 -msgid "Only black and white" -msgstr "Tylko czarny i biały" +#: ../src/widgets/sp-xmlview-attr-list.cpp:46 +msgid "Attribute" +msgstr "Atrybut" -#: ../share/extensions/edge3d.inx.h:8 -msgid "Shades" -msgstr "Cienie" +#: ../src/widgets/sp-xmlview-content.cpp:169 +msgid "Type text in a text node" +msgstr "Wprowadź tekst w węźle tekstowym" -#: ../share/extensions/embedimage.inx.h:1 -msgid "Embed All Images" -msgstr "Osadź wszystkie obrazki" +#: ../src/widgets/toolbox.cpp:197 +msgid "Color/opacity used for color tweaking" +msgstr "Kolor/krycie użyte dla ustawień koloru" -#: ../share/extensions/embedimage.inx.h:2 -msgid "Embed only selected images" -msgstr "Osadź tylko zaznaczone obrazki" +#: ../src/widgets/toolbox.cpp:201 +msgid "Style of new stars" +msgstr "Styl nowych gwiazd" -#: ../share/extensions/eps_input.inx.h:1 -msgid "EPS Input" -msgstr "Źródło EPS" +#: ../src/widgets/toolbox.cpp:203 +msgid "Style of new rectangles" +msgstr "Styl nowych prostokątów" -#: ../share/extensions/eps_input.inx.h:2 -msgid "Encapsulated Postscript" -msgstr "Encapsulated Postscript" +#: ../src/widgets/toolbox.cpp:205 +msgid "Style of new 3D boxes" +msgstr "Styl nowych elementów 3D" -#: ../share/extensions/epsi_output.inx.h:1 -msgid "EPSI Output" -msgstr "Zapis EPSI" +#: ../src/widgets/toolbox.cpp:207 +msgid "Style of new ellipses" +msgstr "Styl nowych elips" -#: ../share/extensions/epsi_output.inx.h:2 -msgid "Encapsulated Postscript Interchange (*.epsi)" -msgstr "Encapsulated Postscript Interchange (*.epsi)" +#: ../src/widgets/toolbox.cpp:209 +msgid "Style of new spirals" +msgstr "Styl nowych spiral" -#: ../share/extensions/epsi_output.inx.h:3 -msgid "Encapsulated Postscript with a thumbnail" -msgstr "Encapsulated Postscript z miniaturką" +#: ../src/widgets/toolbox.cpp:211 +msgid "Style of new paths created by Pencil" +msgstr "Styl nowych ścieżek utworzonych za pomocą ołówka" -#: ../share/extensions/eqtexsvg.inx.h:1 -msgid "LaTeX formula" -msgstr "Wzór LaTeX" +#: ../src/widgets/toolbox.cpp:213 +msgid "Style of new paths created by Pen" +msgstr "Styl nowych ścieżek utworzonych za pomocą narzędzia \"Pióro\"" -#: ../share/extensions/eqtexsvg.inx.h:2 -msgid "LaTeX formula: " -msgstr "Wzór LaTeX:" +#: ../src/widgets/toolbox.cpp:215 +msgid "Style of new calligraphic strokes" +msgstr "Styl nowych linii kaligraficznych" -#: ../share/extensions/export_gimp_palette.inx.h:1 -msgid "Export as GIMP Palette" -msgstr "Eksportuj jako paletę GIMP-a" +#: ../src/widgets/toolbox.cpp:217 +#: ../src/widgets/toolbox.cpp:219 +msgid "TBD" +msgstr "" -#: ../share/extensions/export_gimp_palette.inx.h:2 -msgid "Exports the colors of this document as GIMP Palette" -msgstr "Eksportuje kolory zawarte w tym dokumencie jako paletę GIMP-a" +#: ../src/widgets/toolbox.cpp:229 +msgid "Style of Paint Bucket fill objects" +msgstr "Styl wypełniania obiektów" -#: ../share/extensions/export_gimp_palette.inx.h:3 -msgid "GIMP Palette (*.gpl)" -msgstr "Paleta GIMP-a (*.gpl)" +#: ../src/widgets/toolbox.cpp:1265 +msgid "Insert node" +msgstr "Wstaw węzeł" -#: ../share/extensions/extractimage.inx.h:1 -msgid "Extract One Image" -msgstr "Wyodrębnij jeden obrazek" +#: ../src/widgets/toolbox.cpp:1266 +msgid "Insert new nodes into selected segments" +msgstr "Wstaw nowe węzły do zaznaczonych segmentów" -#: ../share/extensions/extractimage.inx.h:3 -msgid "Note: The file extension is appended automatically." -msgstr "Informacja: Rozszerzenie pliku jest dodawane automatycznie." +#: ../src/widgets/toolbox.cpp:1269 +msgid "Insert" +msgstr "Wstaw" -#: ../share/extensions/extractimage.inx.h:4 -msgid "Path to save image" -msgstr "Ścieżka do zapisania obrazka" +#: ../src/widgets/toolbox.cpp:1277 +msgid "Delete selected nodes" +msgstr "Usuń zaznaczone węzły" -#: ../share/extensions/fig_input.inx.h:1 -msgid "Open files saved with XFIG" -msgstr "Otwórz pliki zapisane za pomocą XFIG" +#: ../src/widgets/toolbox.cpp:1287 +msgid "Join endnodes" +msgstr "Połącz węzły końcowe" -#: ../share/extensions/fig_input.inx.h:2 -msgid "XFIG Graphics File (*.fig)" -msgstr "Plik graficzny XFIG (*.fig)" +#: ../src/widgets/toolbox.cpp:1288 +msgid "Join selected endnodes" +msgstr "Połącz zaznaczone węzły końcowe" -#: ../share/extensions/fig_input.inx.h:3 -msgid "XFIG Input" -msgstr "Wyjście XFIG" +#: ../src/widgets/toolbox.cpp:1291 +msgid "Join" +msgstr "Połącz" -#: ../share/extensions/flatten.inx.h:1 -msgid "Flatness" -msgstr "Redukcja krzywizny" +#: ../src/widgets/toolbox.cpp:1298 +msgid "Break nodes" +msgstr "" -#: ../share/extensions/flatten.inx.h:2 -msgid "Flatten Beziers" -msgstr "Spłaszcz krzywe Beziera" +#: ../src/widgets/toolbox.cpp:1299 +msgid "Break path at selected nodes" +msgstr "Rozdziel ścieżkę w zaznaczonych węzłach" -#: ../share/extensions/fractalize.inx.h:1 -msgid "Fractalize" -msgstr "Generuj fraktale" +#: ../src/widgets/toolbox.cpp:1309 +msgid "Join with segment" +msgstr "Połącz z odcinkiem" -#: ../share/extensions/fractalize.inx.h:3 -msgid "Smoothness" -msgstr "Wygładzanie" +#: ../src/widgets/toolbox.cpp:1310 +msgid "Join selected endnodes with a new segment" +msgstr "Połącz zaznaczone węzły końcowe wstawiając nowy odcinek" -#: ../share/extensions/fractalize.inx.h:4 -msgid "Subdivisions" -msgstr "Podziały" +#: ../src/widgets/toolbox.cpp:1320 +msgid "Delete segment between two non-endpoint nodes" +msgstr "Usuń odcinek pomiędzy dwoma nie końcowymi punktami" -#: ../share/extensions/funcplot.inx.h:1 -msgid "Calculate first derivative numerically" -msgstr "Oblicz numerycznie pierwszą pochodną" +#: ../src/widgets/toolbox.cpp:1329 +msgid "Node Cusp" +msgstr "Węzeł wierzchołka" -#: ../share/extensions/funcplot.inx.h:2 -msgid "Draw Axes" -msgstr "Rysuj osie" +#: ../src/widgets/toolbox.cpp:1330 +msgid "Make selected nodes corner" +msgstr "Zamień zaznaczone węzły w narożniki" -#: ../share/extensions/funcplot.inx.h:3 -msgid "End X value" -msgstr "Wartość końcowa X" +#: ../src/widgets/toolbox.cpp:1339 +msgid "Node Smooth" +msgstr "Wygładź węzły" -#: ../share/extensions/funcplot.inx.h:4 -msgid "First derivative" -msgstr "Pierwsza pochodna" +#: ../src/widgets/toolbox.cpp:1340 +msgid "Make selected nodes smooth" +msgstr "Zamień zaznaczone węzły w gładkie zaokrąglenia" -#: ../share/extensions/funcplot.inx.h:5 -msgid "Function" -msgstr "Funkcja" +#: ../src/widgets/toolbox.cpp:1349 +msgid "Node Symmetric" +msgstr "Symetria" -#: ../share/extensions/funcplot.inx.h:6 -msgid "Function Plotter" -msgstr "Ploter funkcji" +#: ../src/widgets/toolbox.cpp:1350 +msgid "Make selected nodes symmetric" +msgstr "Ustaw symetrię zaznaczonych węzłów" -#: ../share/extensions/funcplot.inx.h:7 -msgid "Functions" -msgstr "Funkcje" +#: ../src/widgets/toolbox.cpp:1359 +msgid "Node Line" +msgstr "Linia" -#: ../share/extensions/funcplot.inx.h:8 -msgid "Isotropic scaling (uses smallest of width/xrange or height/yrange)" -msgstr "" -"Skalowanie izotropowe (używa najmniejszego zakresu X/szerokość lub Y/" -"wysokość)" +#: ../src/widgets/toolbox.cpp:1360 +msgid "Make selected segments lines" +msgstr "Zamień zaznaczone segmenty na linie" -#: ../share/extensions/funcplot.inx.h:9 -msgid "Multiply X range by 2*pi" -msgstr "Pomnóż zakres X przez 2*pi" +#: ../src/widgets/toolbox.cpp:1369 +msgid "Node Curve" +msgstr "Krzywa" -#: ../share/extensions/funcplot.inx.h:10 -msgid "Range and sampling" -msgstr "Zakres i próbkowanie" +#: ../src/widgets/toolbox.cpp:1370 +msgid "Make selected segments curves" +msgstr "Zamień zaznaczone segmenty na krzywe" -#: ../share/extensions/funcplot.inx.h:11 -msgid "Remove rectangle" -msgstr "Usuń prostokąt" +#: ../src/widgets/toolbox.cpp:1379 +msgid "Show Handles" +msgstr "Pokaż uchwyty" -#: ../share/extensions/funcplot.inx.h:13 -msgid "Samples" -msgstr "Próbki" +#: ../src/widgets/toolbox.cpp:1380 +msgid "Show the Bezier handles of selected nodes" +msgstr "Pokaż uchwyty kontrolne krzywej Beziera zaznaczonych węzłów" -#: ../share/extensions/funcplot.inx.h:14 -msgid "" -"Select a rectangle before calling the extension, it will determine X and Y " -"scales. With polar coordinates: Start and end X values define the angle " -"range in radians. X scale is set so that left and right edges of rectangle " -"are at +/-1. Isotropic scaling is disabled. First derivative is always " -"determined numerically." -msgstr "" -"Przed wywołaniem efektu zaznacz prostokąt. Prostokąt określają parametry X " -"iYy. Ze spolaryzowanymi współrzędnymi: Początkowe i końcowe wartości X " -"definiują zakres kąta w radianach. Skala X jest określona, zatem lewa i " -"prawa krawędź prostokąta są +/-1. Skalowanie izotropowe jest wyłączone. " -"Pierwsza pochodna jest zawsze określona numerycznie. " +#: ../src/widgets/toolbox.cpp:1390 +msgid "Show Outline" +msgstr "Pokaż obramowanie" -#: ../share/extensions/funcplot.inx.h:15 -msgid "" -"Standard Python math functions are available: ceil(x); fabs(x); floor(x); " -"fmod(x,y); frexp(x); ldexp(x,i); modf(x); exp(x); log(x [, base]); log10(x); " -"pow(x,y); sqrt(x); acos(x); asin(x); atan(x); atan2(y,x); hypot(x,y); cos" -"(x); sin(x); tan(x); degrees(x); radians(x); cosh(x); sinh(x); tanh(x). The " -"constants pi and e are also available." -msgstr "" -"Dostępne są standardowe funkcje matematyczne języka Python: ceil(x); fabs" -"(x); floor(x); fmod(x,y); frexp(x); ldexp(x,i); modf(x); exp(x); log(x [, " -"podstawa]); log10(x); pow(x,y); sqrt(x); acos(x); asin(x); atan(x); atan2(y," -"x); hypot(x,y); cos(x); sin(x); tan(x); degrees(x); radians(x); cosh(x); sinh" -"(x); tanh(x). Są także dostępne stałe \"pi\" i \"e\"." +#: ../src/widgets/toolbox.cpp:1391 +msgid "Show the outline of the path" +msgstr "Pokaż obramowanie ścieżki" -#: ../share/extensions/funcplot.inx.h:16 -msgid "Start X value" -msgstr "Wartość początkowa X" +#: ../src/widgets/toolbox.cpp:1401 +msgid "Next path effect parameter" +msgstr "Następny parametr efektu ścieżki" -#: ../share/extensions/funcplot.inx.h:17 -msgid "Use" -msgstr "Użyj" +#: ../src/widgets/toolbox.cpp:1402 +msgid "Show next path effect parameter for editing" +msgstr "Wyświetl do edycji następny parametr efektu ścieżki" -#: ../share/extensions/funcplot.inx.h:18 -msgid "Use polar coordinates" -msgstr "Użyj współrzędne biegunowe" +#: ../src/widgets/toolbox.cpp:1413 +msgid "Edit the clipping path of the object" +msgstr "Eytuj ścieżkę przycinania obiektu" -#: ../share/extensions/funcplot.inx.h:19 -msgid "Y value of rectangle's bottom" -msgstr "Wartość Y dołu prostokąta" +#: ../src/widgets/toolbox.cpp:1423 +msgid "Edit mask path" +msgstr "Eytuj ścieżkę maski" -#: ../share/extensions/funcplot.inx.h:20 -msgid "Y value of rectangle's top" -msgstr "Wartość Y góry prostokąta" +#: ../src/widgets/toolbox.cpp:1424 +msgid "Edit the mask of the object" +msgstr "Edytuj maskę obiektu" -# Circular pitch is the arc distance along a specified pitch circle or pitch line between corresponding profiles of adjacent teeth. -#: ../share/extensions/gears.inx.h:1 -msgid "Circular pitch, px" -msgstr "Podziałka zęba (px)" +#: ../src/widgets/toolbox.cpp:1438 +msgid "X coordinate of selected node(s)" +msgstr "Współrzędna X zaznaczonego węzła(ów)" -# http://pl.wikipedia.org/wiki/Ko%C5%82o_z%C4%99bate -#: ../share/extensions/gears.inx.h:2 -msgid "Gear" -msgstr "Koło zębate" +#: ../src/widgets/toolbox.cpp:1438 +msgid "X coordinate:" +msgstr "Współrzędna X:" -#: ../share/extensions/gears.inx.h:3 -msgid "Number of teeth" -msgstr "Liczba zębów" +#: ../src/widgets/toolbox.cpp:1456 +msgid "Y coordinate of selected node(s)" +msgstr "Współrzędna Y zaznaczonego węzła(ów)" -# The complement of the angle between the direction that the teeth exert force on each other, and the line joining the centers of the two gears. For involute gears, the teeth always exert force along the line of action, which, for involute gears, is a straight line; and thus, for involute gears, the pressure angle is constant. -#: ../share/extensions/gears.inx.h:4 -msgid "Pressure angle" -msgstr "Kąt przyporu" +#: ../src/widgets/toolbox.cpp:1456 +msgid "Y coordinate:" +msgstr "Współrzędna Y:" -#: ../share/extensions/gimp_xcf.inx.h:1 -msgid "GIMP XCF" -msgstr "GIMP XCF" +#: ../src/widgets/toolbox.cpp:1900 +msgid "Star: Change number of corners" +msgstr "Gwiazda: Zmień liczbę narożników" -#: ../share/extensions/gimp_xcf.inx.h:2 -msgid "GIMP XCF maintaining layers (*.XCF)" -msgstr "GIMP XCF z zachowaniem warstw (*.XCF)" +#: ../src/widgets/toolbox.cpp:1943 +msgid "Star: Change spoke ratio" +msgstr "Gwiazda: Zmień proporcje ramion" -#: ../share/extensions/gimp_xcf.inx.h:3 -msgid "Save Grid:" -msgstr "" +#: ../src/widgets/toolbox.cpp:1986 +msgid "Make polygon" +msgstr "Utwórz wielokąt" -#: ../share/extensions/gimp_xcf.inx.h:4 -msgid "Save Guides:" -msgstr "Zapis prowadnic:" +#: ../src/widgets/toolbox.cpp:1986 +msgid "Make star" +msgstr "Utwórz gwiazdę" -#: ../share/extensions/grid_cartesian.inx.h:1 -msgid "Border Thickness / px" -msgstr "" +#: ../src/widgets/toolbox.cpp:2022 +msgid "Star: Change rounding" +msgstr "Gwiazda: Zmień zaokrąglenia" -#: ../share/extensions/grid_cartesian.inx.h:2 -msgid "Cartesian Grid" -msgstr "Siatka kartezjańska" +#: ../src/widgets/toolbox.cpp:2057 +msgid "Star: Change randomization" +msgstr "Gwiazda: Zmień losowość" -#: ../share/extensions/grid_cartesian.inx.h:3 -msgid "Halve X Subsubdiv. Frequency after 'n' Subdivs. (log only)" -msgstr "" +#: ../src/widgets/toolbox.cpp:2248 +msgid "Regular polygon (with one handle) instead of a star" +msgstr "Wielokąt foremny zamiast gwiazdy (z jednym uchwytem)" -#: ../share/extensions/grid_cartesian.inx.h:4 -msgid "Halve Y Subsubdiv. Frequency after 'n' Subdivs. (log only)" -msgstr "" +#: ../src/widgets/toolbox.cpp:2255 +msgid "Star instead of a regular polygon (with one handle)" +msgstr "Gwiazda zamiast wielokąta foremnego (z jednym uchwytem)" -#: ../share/extensions/grid_cartesian.inx.h:5 -msgid "Logarithmic X Subdiv. (Base given by entry above)" -msgstr "" +#: ../src/widgets/toolbox.cpp:2276 +msgid "hexagon/six-pointed star" +msgstr "hexagon/gwiazda sześcioramienna" -#: ../share/extensions/grid_cartesian.inx.h:6 -msgid "Logarithmic Y Subdiv. (Base given by entry above)" -msgstr "" +#: ../src/widgets/toolbox.cpp:2276 +msgid "pentagon/five-pointed star" +msgstr "pentagon/gwiazda pięcioramienna" -#: ../share/extensions/grid_cartesian.inx.h:7 -msgid "Major X Division Thickness / px" -msgstr "Grubość głównego podziału X (px)" +#: ../src/widgets/toolbox.cpp:2276 +msgid "square/quad-star" +msgstr "kwadrat/gwiazda czteroramienna" -#: ../share/extensions/grid_cartesian.inx.h:8 -msgid "Major X Divisions" -msgstr "Podział główny X" +#: ../src/widgets/toolbox.cpp:2276 +msgid "triangle/tri-star" +msgstr "trójkąt/gwiazda trójramienna" -#: ../share/extensions/grid_cartesian.inx.h:9 -msgid "Major X Divsion Spacing / px" -msgstr "Odstepy głównego podziału X (px)" +#: ../src/widgets/toolbox.cpp:2279 +msgid "Corners" +msgstr "Narożniki" -#: ../share/extensions/grid_cartesian.inx.h:10 -msgid "Major Y Division Spacing" -msgstr "Odstępy podziału głównego Y" +#: ../src/widgets/toolbox.cpp:2279 +msgid "Corners:" +msgstr "Narożniki:" -#: ../share/extensions/grid_cartesian.inx.h:11 -msgid "Major Y Division Thickness / px" -msgstr "Grubość głównego podziału Y (px)" +#: ../src/widgets/toolbox.cpp:2279 +msgid "Number of corners of a polygon or star" +msgstr "Liczba narożników wielokąta lub gwiazdy" -#: ../share/extensions/grid_cartesian.inx.h:12 -msgid "Major Y Divisions" -msgstr "Podział główny Y" +#: ../src/widgets/toolbox.cpp:2292 +msgid "heptagram" +msgstr "heptagram" -#: ../share/extensions/grid_cartesian.inx.h:13 -msgid "Minor X Division Thickness / px" -msgstr "Grubość drugorzędnego podziału X (px)" +#: ../src/widgets/toolbox.cpp:2292 +msgid "hexagram" +msgstr "heksagram" -#: ../share/extensions/grid_cartesian.inx.h:14 -msgid "Minor Y Division Thickness / px" -msgstr "Grubość drugorzędnego podziału Y (px)" +#: ../src/widgets/toolbox.cpp:2292 +msgid "octagram" +msgstr "oktagram" -#: ../share/extensions/grid_cartesian.inx.h:16 -msgid "Subdivisions per Major X Division" -msgstr "Ponowne podziały przez główny podział X" +#: ../src/widgets/toolbox.cpp:2292 +msgid "pentagram" +msgstr "pentagram" -#: ../share/extensions/grid_cartesian.inx.h:17 -msgid "Subdivisions per Major Y Division" -msgstr "Ponowne podziały przez główny podział Y" +#: ../src/widgets/toolbox.cpp:2292 +msgid "regular polygon" +msgstr "wielokąt foremny" -#: ../share/extensions/grid_cartesian.inx.h:18 -msgid "Subminor X Division Thickness / px" -msgstr "" +#: ../src/widgets/toolbox.cpp:2292 +msgid "thin-ray star" +msgstr "gwiazda o cienkich ramionach" -#: ../share/extensions/grid_cartesian.inx.h:19 -msgid "Subminor Y Division Thickness / px" -msgstr "" +#: ../src/widgets/toolbox.cpp:2295 +msgid "Spoke ratio" +msgstr "Proporcje ramion" -#: ../share/extensions/grid_cartesian.inx.h:20 -msgid "Subsubdivs. per X Subdiv." -msgstr "" +#: ../src/widgets/toolbox.cpp:2295 +msgid "Spoke ratio:" +msgstr "Proporcje ramion:" -#: ../share/extensions/grid_cartesian.inx.h:21 -msgid "Subsubdivs. per Y Subdivision" -msgstr "" +#. TRANSLATORS: Tip radius of a star is the distance from the center to the farthest handle. +#. Base radius is the same for the closest handle. +#: ../src/widgets/toolbox.cpp:2298 +msgid "Base radius to tip radius ratio" +msgstr "Stosunek promienia podstawy do promienia wierzchołków ramion" -#: ../share/extensions/grid_polar.inx.h:1 -msgid "Angle Divisions" -msgstr "Podział kąta" +#: ../src/widgets/toolbox.cpp:2316 +msgid "NOT rounded" +msgstr "niezaokrąglony" -#: ../share/extensions/grid_polar.inx.h:2 -msgid "Angle Divisions at Centre" -msgstr "Podziały kąta w środku" +#: ../src/widgets/toolbox.cpp:2316 +msgid "amply rounded" +msgstr "bardzo zaokrąglony" -#: ../share/extensions/grid_polar.inx.h:3 -msgid "Centre Dot Diameter / px" -msgstr "" +#: ../src/widgets/toolbox.cpp:2316 +#: ../src/widgets/toolbox.cpp:2331 +msgid "blown up" +msgstr "nadmuchany" -#: ../share/extensions/grid_polar.inx.h:4 -msgid "Circumferential Label Outset / px" -msgstr "" +#: ../src/widgets/toolbox.cpp:2316 +msgid "slightly pinched" +msgstr "odchudzony" -#: ../share/extensions/grid_polar.inx.h:5 -msgid "Circumferential Label Size / px" -msgstr "" +#: ../src/widgets/toolbox.cpp:2316 +msgid "slightly rounded" +msgstr "nieznacznie zaokrąglony" -#: ../share/extensions/grid_polar.inx.h:6 -msgid "Circumferential Labels" -msgstr "" +#: ../src/widgets/toolbox.cpp:2316 +msgid "stretched" +msgstr "rozciągnięty" -#: ../share/extensions/grid_polar.inx.h:8 -msgid "Logarithmic Subdiv. (Base given by entry above)" -msgstr "" +#: ../src/widgets/toolbox.cpp:2316 +msgid "twisted" +msgstr "zwichrowany" -#: ../share/extensions/grid_polar.inx.h:9 -msgid "Major Angular Division Thickness / px" -msgstr "Grubość głównego podziału kątowego (px)" +#: ../src/widgets/toolbox.cpp:2316 +msgid "visibly rounded" +msgstr "wyraźnie zaokrąglony" -#: ../share/extensions/grid_polar.inx.h:10 -msgid "Major Circular Division Thickness / px" -msgstr "Grubość głównego podziału kołowego (px)" +#: ../src/widgets/toolbox.cpp:2316 +msgid "well rounded" +msgstr "dobrze zaokrąglony" -#: ../share/extensions/grid_polar.inx.h:11 -msgid "Major Circular Divisions" -msgstr "Główne podziały kołowe" +#: ../src/widgets/toolbox.cpp:2319 +msgid "How much rounded are the corners (0 for sharp)" +msgstr "Wartość zaokrąglenia narożników (0 dla ostrych)" -#: ../share/extensions/grid_polar.inx.h:12 -msgid "Major Circular Divsion Spacing / px" -msgstr "Odstępy głównych podziałów kołowych (px)" +#: ../src/widgets/toolbox.cpp:2319 +msgid "Rounded" +msgstr "Zaokrąglone" -#: ../share/extensions/grid_polar.inx.h:13 -msgid "Minor Angle Division End 'n' Divs. Before Centre" -msgstr "" +#: ../src/widgets/toolbox.cpp:2319 +msgid "Rounded:" +msgstr "Zaokrąglenie:" -#: ../share/extensions/grid_polar.inx.h:14 -msgid "Minor Angular Division Thickness / px" -msgstr "Grubość drugorzędnego podziału kątowego (px)" +#: ../src/widgets/toolbox.cpp:2331 +msgid "NOT randomized" +msgstr "bez losowości" -#: ../share/extensions/grid_polar.inx.h:15 -msgid "Minor Circular Division Thickness / px" -msgstr "Grubość drugorzędnego podziału kołowego (px)" +#: ../src/widgets/toolbox.cpp:2331 +msgid "slightly irregular" +msgstr "nierównomierny" -#: ../share/extensions/grid_polar.inx.h:17 -msgid "Polar Grid" -msgstr "Siatka biegunowa" +#: ../src/widgets/toolbox.cpp:2331 +msgid "strongly randomized" +msgstr "silnie zdeformowany" -#: ../share/extensions/grid_polar.inx.h:19 -msgid "Subdivisions per Major Angular Division" -msgstr "Dalsze podziały przez główny podział kątowy" +#: ../src/widgets/toolbox.cpp:2331 +msgid "visibly randomized" +msgstr "widocznie zdeformowany" -#: ../share/extensions/grid_polar.inx.h:20 -msgid "Subdivisions per Major Circular Division" -msgstr "Dalsze podziały przez główny podział kołowy" +#: ../src/widgets/toolbox.cpp:2334 +msgid "Randomized" +msgstr "Deformacja losowa" -#: ../share/extensions/handles.inx.h:1 -msgid "Draw Handles" -msgstr "Rysuj uchwyty" +#: ../src/widgets/toolbox.cpp:2334 +msgid "Randomized:" +msgstr "Deformacja losowa:" -#: ../share/extensions/hpgl_output.inx.h:1 -msgid "Export to an HP Graphics Language file" -msgstr "" +#: ../src/widgets/toolbox.cpp:2334 +msgid "Scatter randomly the corners and angles" +msgstr "Losowe zniekształcenie narożników i kątów" -#: ../share/extensions/hpgl_output.inx.h:2 -#, fuzzy -msgid "HP Graphics Language file (*.hpgl)" -msgstr "Plik graficzny XFIG (*.fig)" +#: ../src/widgets/toolbox.cpp:2349 +#: ../src/widgets/toolbox.cpp:3288 +#: ../src/widgets/toolbox.cpp:3561 +#: ../src/widgets/toolbox.cpp:6761 +msgid "Defaults" +msgstr "Domyślne" -#: ../share/extensions/hpgl_output.inx.h:3 -#, fuzzy -msgid "HPGL Output" -msgstr "Zapis w formacie SVG" +#: ../src/widgets/toolbox.cpp:2350 +#: ../src/widgets/toolbox.cpp:3289 +msgid "Reset shape parameters to defaults (use Inkscape Preferences > Tools to change defaults)" +msgstr "Przywróć domyślne ustawienia dla kształtu. Aby zmienić domyślne wartości przejdź do Ustawienia Inkscape » Narzędzia." -#: ../share/extensions/inkscape_help_askaquestion.inx.h:1 -msgid "Ask Us a Question" -msgstr "Zadaj pytanie" +#: ../src/widgets/toolbox.cpp:2423 +msgid "Change rectangle" +msgstr "Zmień prostokąt" -#: ../share/extensions/inkscape_help_commandline.inx.h:1 -msgid "Command Line Options" -msgstr "Opcje wiersza poleceń" +#: ../src/widgets/toolbox.cpp:2616 +msgid "W:" +msgstr "Szer.:" -#: ../share/extensions/inkscape_help_faq.inx.h:1 -msgid "FAQ" -msgstr "FAQ" +#: ../src/widgets/toolbox.cpp:2616 +msgid "Width of rectangle" +msgstr "Szerokość prostokąta" -#: ../share/extensions/inkscape_help_keys.inx.h:1 -msgid "Keys and Mouse Reference" -msgstr "Używanie klawiatury i myszy" +#: ../src/widgets/toolbox.cpp:2633 +msgid "H:" +msgstr "Wys.:" -#: ../share/extensions/inkscape_help_manual.inx.h:1 -msgid "Inkscape Manual" -msgstr "Podręcznik programu Inkscape" +#: ../src/widgets/toolbox.cpp:2633 +msgid "Height of rectangle" +msgstr "Wysokość prostokąta" -#: ../share/extensions/inkscape_help_relnotes.inx.h:1 -msgid "New in This Version" -msgstr "Nowości w tej wersji" +#: ../src/widgets/toolbox.cpp:2647 +#: ../src/widgets/toolbox.cpp:2662 +msgid "not rounded" +msgstr "niezaokrąglony" -#: ../share/extensions/inkscape_help_reportabug.inx.h:1 -msgid "Report a Bug" -msgstr "Zgłaszanie błędów" +#: ../src/widgets/toolbox.cpp:2650 +msgid "Horizontal radius" +msgstr "Promień poziomy" -#: ../share/extensions/inkscape_help_svgspec.inx.h:1 -msgid "SVG 1.1 Specification" -msgstr "Specyfikacja SVG 1.1" +#: ../src/widgets/toolbox.cpp:2650 +msgid "Horizontal radius of rounded corners" +msgstr "Poziomy promień zaokrąglonych narożników" -#: ../share/extensions/interp.inx.h:1 -msgid "Duplicate endpaths" -msgstr "Powiel ścieżki końcowe" +#: ../src/widgets/toolbox.cpp:2650 +msgid "Rx:" +msgstr "Rx:" -#: ../share/extensions/interp.inx.h:4 -msgid "Interpolate" -msgstr "Interpolacja" +#: ../src/widgets/toolbox.cpp:2665 +msgid "Ry:" +msgstr "Ry:" -#: ../share/extensions/interp.inx.h:5 -#, fuzzy -msgid "Interpolate style" -msgstr "Interpolacja" +#: ../src/widgets/toolbox.cpp:2665 +msgid "Vertical radius" +msgstr "Promień pionowy" -#: ../share/extensions/interp.inx.h:6 -msgid "Interpolation method" -msgstr "Metoda interpolacji" +#: ../src/widgets/toolbox.cpp:2665 +msgid "Vertical radius of rounded corners" +msgstr "Pionowy promień zaokrąglonych narożników" -#: ../share/extensions/interp.inx.h:7 -msgid "Interpolation steps" -msgstr "Kroki interpolacji" +#: ../src/widgets/toolbox.cpp:2684 +msgid "Not rounded" +msgstr "Bez zaokrąglenia" -#: ../share/extensions/lindenmayer.inx.h:1 -msgid "Axiom" -msgstr "Aksjomat" +#: ../src/widgets/toolbox.cpp:2685 +msgid "Make corners sharp" +msgstr "Utwórz ostre narożniki" -#: ../share/extensions/lindenmayer.inx.h:2 -msgid "Axiom and rules" -msgstr "Pewniki i reguły" +#. TODO: use the correct axis here, too +#: ../src/widgets/toolbox.cpp:2873 +msgid "3D Box: Change perspective (angle of infinite axis)" +msgstr "Obiekt 3D: Zmienia perspektywę (kąt osi nieskończonej)" -#: ../share/extensions/lindenmayer.inx.h:4 -msgid "L-system" -msgstr "L-system" +#: ../src/widgets/toolbox.cpp:2943 +msgid "Angle in X direction" +msgstr "Kąt w orientacji X" -#: ../share/extensions/lindenmayer.inx.h:5 -msgid "Left angle" -msgstr "Lewy kąt" +#. Translators: PL is short for 'perspective line' +#: ../src/widgets/toolbox.cpp:2945 +msgid "Angle of PLs in X direction" +msgstr "Kąt linii perspektywy w orientacji X" -#: ../share/extensions/lindenmayer.inx.h:8 -#, no-c-format -msgid "Randomize angle (%)" -msgstr "Zmiana losowa kąta (%)" +#. Translators: VP is short for 'vanishing point' +#: ../src/widgets/toolbox.cpp:2967 +msgid "State of VP in X direction" +msgstr "Stan punktu zbiegu w orientacji X" -#: ../share/extensions/lindenmayer.inx.h:10 -#, no-c-format -msgid "Randomize step (%)" -msgstr "Zmiana losowa kroku (%)" +#: ../src/widgets/toolbox.cpp:2968 +msgid "Toggle VP in X direction between 'finite' and 'infinite' (=parallel)" +msgstr "Przełącza punkt zbiegu w orientacji X pomiędzy \"skończony\" i \"nieskończony\" (=równoległy)" -#: ../share/extensions/lindenmayer.inx.h:12 -msgid "Right angle" -msgstr "Prawy kąt" +#: ../src/widgets/toolbox.cpp:2983 +msgid "Angle Y:" +msgstr "Kąt Y:" -#: ../share/extensions/lindenmayer.inx.h:13 -msgid "Rules" -msgstr "Formuła" +#: ../src/widgets/toolbox.cpp:2983 +msgid "Angle in Y direction" +msgstr "Kąt w orientacji Y" + +#. Translators: PL is short for 'perspective line' +#: ../src/widgets/toolbox.cpp:2985 +msgid "Angle of PLs in Y direction" +msgstr "Kąt linii perspektywy w orientacji Y" -#: ../share/extensions/lindenmayer.inx.h:14 -msgid "Step length (px)" -msgstr "Długość kroku (px)" +#. Translators: VP is short for 'vanishing point' +#: ../src/widgets/toolbox.cpp:3006 +msgid "State of VP in Y direction" +msgstr "Stan punktu zbiegu w orientacji Y" -#: ../share/extensions/lindenmayer.inx.h:15 -msgid "" -"The path is generated by applying the substitutions of Rules to the Axiom, " -"Order times. The following commands are recognized in Axiom and Rules: Any " -"of A,B,C,D,E,F: draw forward Any of G,H,I,J,K,L: move forward +: turn left " -"-: turn right |: turn 180 degrees [: remember poing ]: return to remembered " -"point" -msgstr "" +#: ../src/widgets/toolbox.cpp:3007 +msgid "Toggle VP in Y direction between 'finite' and 'infinite' (=parallel)" +msgstr "Przełącza punkt zbiegu w orientacji Y pomiędzy \"skończony\" i \"nieskończony\" (=równoległy)" -#: ../share/extensions/lorem_ipsum.inx.h:1 -msgid "Lorem ipsum" -msgstr "Lorem ipsum" +#: ../src/widgets/toolbox.cpp:3022 +msgid "Angle in Z direction" +msgstr "Kąt w orientacji Z" -#: ../share/extensions/lorem_ipsum.inx.h:2 -msgid "Number of paragraphs" -msgstr "Liczba akapitów" +#. Translators: PL is short for 'perspective line' +#: ../src/widgets/toolbox.cpp:3024 +msgid "Angle of PLs in Z direction" +msgstr "Kąt linii perspektywy w orientacji Z" -#: ../share/extensions/lorem_ipsum.inx.h:3 -msgid "Paragraph length fluctuation (sentences)" -msgstr "Fluktuacja długości akapitu (zdania)" +#. Translators: VP is short for 'vanishing point' +#: ../src/widgets/toolbox.cpp:3045 +msgid "State of VP in Z direction" +msgstr "Stan punktu zbiegu w orientacji Z" -#: ../share/extensions/lorem_ipsum.inx.h:4 -msgid "Sentences per paragraph" -msgstr "Liczba zdań w akapicie" +#: ../src/widgets/toolbox.cpp:3046 +msgid "Toggle VP in Z direction between 'finite' and 'infinite' (=parallel)" +msgstr "Przełącza punkt zbiegu w orientacji Z pomiędzy \"skończony\" i \"nieskończony\" (=równoległy)" -#: ../share/extensions/lorem_ipsum.inx.h:6 -msgid "" -"This effect creates the standard \"Lorem Ipsum\" pseudolatin placeholder " -"text. If a flowed text is selected, Lorem Ipsum is added to it; otherwise a " -"new flowed text object, the size of the page, is created in a new layer." -msgstr "" -"Ten efekt tworzy standardowy, pseudo łaciński tekst \"Lorem Ipsum\". Jeśli " -"tekst wpisany jest zaznaczony, Lorem Ipsum jest dodawany do niego. W innym " -"przypadku nowy obiekt tekstu wpisanego i rozmiar strony jest tworzony na " -"nowej warstwie." +#: ../src/widgets/toolbox.cpp:3104 +msgid "Change spiral" +msgstr "Zmień spiralę" -#: ../share/extensions/markers_strokepaint.inx.h:1 -msgid "Color Markers to Match Stroke" -msgstr "Kolor znaczników jak konturu" +#: ../src/widgets/toolbox.cpp:3245 +msgid "just a curve" +msgstr "tylko krzywa" -#: ../share/extensions/measure.inx.h:1 -msgid "Font size [px]" -msgstr "Rozmiar czcionki (px)" +#: ../src/widgets/toolbox.cpp:3245 +msgid "one full revolution" +msgstr "jeden pełny obrót" -#. mm -#: ../share/extensions/measure.inx.h:4 -msgid "Length Unit: " -msgstr "Jednostka długości:" +#: ../src/widgets/toolbox.cpp:3248 +msgid "Number of revolutions" +msgstr "Liczba obrotów" -#: ../share/extensions/measure.inx.h:5 -msgid "Measure" -msgstr "Pomiary" +#: ../src/widgets/toolbox.cpp:3248 +msgid "Number of turns" +msgstr "Liczba obrotów" -#: ../share/extensions/measure.inx.h:6 -msgid "Measure Path" -msgstr "Zmierz ścieżkę" +#: ../src/widgets/toolbox.cpp:3248 +msgid "Turns:" +msgstr "Obroty:" -#: ../share/extensions/measure.inx.h:7 -msgid "Offset [px]" -msgstr "Przesunięcie (px)" +#: ../src/widgets/toolbox.cpp:3259 +msgid "center is denser" +msgstr "środek jest skupiony" -#: ../share/extensions/measure.inx.h:8 -msgid "Precision" -msgstr "Precyzja" +#: ../src/widgets/toolbox.cpp:3259 +msgid "center is much denser" +msgstr "środek jest bardzo skupiony" -#: ../share/extensions/measure.inx.h:9 -msgid "Scale Factor (Drawing:Real Length) = 1:" -msgstr "Współczynnik skalowania (Rysowanie: rzeczywista długość) = 1:" +#: ../src/widgets/toolbox.cpp:3259 +msgid "circle" +msgstr "okrąg" -#: ../share/extensions/measure.inx.h:10 -msgid "" -"This effect measures the length of the selected path and adds it as a text-" -"on-path object with the selected unit. The number of significant digits can " -"be controlled by the Precision field. The Offset field controls the distance " -"from the text to the path. The Scale factor can be used to make measurements " -"in scaled drawings. For example, if 1 cm in the drawing equals 2.5 m in the " -"real world, Scale must be set to 250." -msgstr "" -"Ten efekt wykonuje pomiar długości zaznaczonej ścieżki i dodaje go jako " -"obiekt tekstowy na ścieżce z zaznaczonymi jednostkami. Istotną ilość cyfr " -"można kontrolować poprzez pole \"Precyzja\". W polu \"Przesuniecie\" można " -"kontrolować odległość tekstu od ścieżki. Współczynnik skalowania może być " -"używany do wykonania pomiarów w skalowanym rysunku. Na przykład, jeśli 1 cm " -"na rysunku odpowiada 2,5 m w rzeczywistości, współczynnik skalowania należy " -"ustawić na wartość 250." +#: ../src/widgets/toolbox.cpp:3259 +msgid "edge is denser" +msgstr "krawędź jest skupiona" -#: ../share/extensions/motion.inx.h:2 -msgid "Extrude" -msgstr "Wyciągnij" +#: ../src/widgets/toolbox.cpp:3259 +msgid "edge is much denser" +msgstr "krawędź jest bardzo skupiona" -#: ../share/extensions/motion.inx.h:4 -msgid "Magnitude" -msgstr "Wielkość" +#: ../src/widgets/toolbox.cpp:3259 +msgid "even" +msgstr "równy" -#: ../share/extensions/outline2svg.inx.h:1 -msgid "ASCII Text with outline markup" -msgstr "Tekst ASCII ze znacznikiem obramowania" +#: ../src/widgets/toolbox.cpp:3262 +msgid "Divergence" +msgstr "Zbieżność" -#: ../share/extensions/outline2svg.inx.h:2 -msgid "Text Outline File (*.outline)" -msgstr "Text Outline File (*.outline)" +#: ../src/widgets/toolbox.cpp:3262 +msgid "Divergence:" +msgstr "Zbieżność:" -#: ../share/extensions/outline2svg.inx.h:3 -msgid "Text Outline Input" -msgstr "Plik obramowania tekstu" +#: ../src/widgets/toolbox.cpp:3262 +msgid "How much denser/sparser are outer revolutions; 1 = uniform" +msgstr "Jak bardzo są skupione/rozrzucone obroty; 1 = równomiernie" -#: ../share/extensions/pathalongpath.inx.h:1 -msgid "Copies of the pattern:" -msgstr "Kopie desenia:" +#: ../src/widgets/toolbox.cpp:3273 +msgid "starts from center" +msgstr "rozpocznij od środka" -#: ../share/extensions/pathalongpath.inx.h:2 -msgid "Deformation type:" -msgstr "Rodzaj deformacji:" +#: ../src/widgets/toolbox.cpp:3273 +msgid "starts mid-way" +msgstr "rozpocznij w połowie drogi" -#: ../share/extensions/pathalongpath.inx.h:3 -#: ../share/extensions/pathscatter.inx.h:3 -msgid "Duplicate the pattern before deformation" -msgstr "Powiel deseń przed deformacją" +#: ../src/widgets/toolbox.cpp:3273 +msgid "starts near edge" +msgstr "rozpocznij w pobliżu krawędzi" -#: ../share/extensions/pathalongpath.inx.h:6 -msgid "Pattern along Path" -msgstr "Deseń na ścieżce" +#: ../src/widgets/toolbox.cpp:3276 +msgid "Inner radius" +msgstr "Wewnętrzny promień" -#: ../share/extensions/pathalongpath.inx.h:10 -#, fuzzy -msgid "Ribbon" -msgstr "Taśma elastyczna" +#: ../src/widgets/toolbox.cpp:3276 +msgid "Inner radius:" +msgstr "Wewnętrzny promień:" -#: ../share/extensions/pathalongpath.inx.h:13 -msgid "Snake" -msgstr "Pochylenie" +#: ../src/widgets/toolbox.cpp:3276 +msgid "Radius of the innermost revolution (relative to the spiral size)" +msgstr "Promień położonego najbliżej środka obrotu (względem wielkości spirali)" -#: ../share/extensions/pathalongpath.inx.h:14 -#: ../share/extensions/pathscatter.inx.h:11 -msgid "Space between copies:" -msgstr "Odstęp pomiędzy kopiami:" +#: ../src/widgets/toolbox.cpp:3349 +msgid "Bezier" +msgstr "" -#: ../share/extensions/pathalongpath.inx.h:16 -msgid "" -"This effect bends a pattern object along arbitrary \"skeleton\" paths. The " -"pattern is the top most object in the selection. (groups of paths/shapes/" -"clones... allowed)" +#: ../src/widgets/toolbox.cpp:3350 +msgid "Create regular Bezier path" msgstr "" -"Ten efekt wykonuje zagięcie desenia obiektu wzdłuż dowolnych \"szkieletowych" -"\" ścieżek. Deseń jest najważniejszym obiektem w zaznaczeniu. Dozwolone są " -"grupy ścieżek, kształtów, klonów." -#: ../share/extensions/pathscatter.inx.h:1 -msgid "Cloned" -msgstr "Sklonowano" +#: ../src/widgets/toolbox.cpp:3356 +msgid "Spiro" +msgstr "" -#: ../share/extensions/pathscatter.inx.h:2 -msgid "Copied" -msgstr "Skopiowano" +#: ../src/widgets/toolbox.cpp:3357 +msgid "Create Spiro path" +msgstr "" -#: ../share/extensions/pathscatter.inx.h:4 -msgid "Follow path orientation." -msgstr "Podążaj za kierunkiem ścieżki." +#: ../src/widgets/toolbox.cpp:3364 +msgid "Zigzag" +msgstr "Zygzak" -#: ../share/extensions/pathscatter.inx.h:6 -msgid "Moved" -msgstr "Przesunięto" +#: ../src/widgets/toolbox.cpp:3365 +msgid "Create a sequence of straight line segments" +msgstr "Tworzy sekwencje prostych odcinków" -#: ../share/extensions/pathscatter.inx.h:8 -msgid "Original pattern will be:" -msgstr "Oryginałem wzorca będzie:" +#: ../src/widgets/toolbox.cpp:3371 +msgid "Paraxial" +msgstr "" -# a może dać Rozrzucanie -#: ../share/extensions/pathscatter.inx.h:10 -msgid "Scatter" -msgstr "Rozpraszanie " +#: ../src/widgets/toolbox.cpp:3372 +msgid "Create a sequence of paraxial line segments" +msgstr "" -#: ../share/extensions/pathscatter.inx.h:12 -msgid "Stretch spaces to fit skeleton length" -msgstr "Rozciąga odstępy, aby wypełnić długość szkieletu" +#: ../src/widgets/toolbox.cpp:3409 +msgid "Triangle in" +msgstr "" -#: ../share/extensions/pathscatter.inx.h:14 -msgid "" -"This effect scatters a pattern along arbitrary \"skeleton\" paths. The " -"pattern is the top most object in the selection. (groups of paths/shapes/" -"clones... allowed)" +#: ../src/widgets/toolbox.cpp:3410 +msgid "Triangle out" msgstr "" -"Ten efekt rozprasza wzorzec wzdłuż dowolnych ścieżek \"szkieletowych\". " -"Wzorcem jest najwyżej położony obiekt w zaznaczeniu. Dozwolone są grupy " -"ścieżek, kształtów, klonów itp." -#: ../share/extensions/perfectboundcover.inx.h:1 -msgid "Bleed (in)" -msgstr "Wystawanie poza margines (w calach):" +#: ../src/widgets/toolbox.cpp:3412 +msgid "From clipboard" +msgstr "Ze schowka" -#: ../share/extensions/perfectboundcover.inx.h:2 -msgid "Bond Weight #" -msgstr "Gramatura ryzy (US)" +#: ../src/widgets/toolbox.cpp:3437 +#: ../src/widgets/toolbox.cpp:3438 +msgid "Shape:" +msgstr "Kształt:" -#: ../share/extensions/perfectboundcover.inx.h:3 -msgid "Book Height (inches)" -msgstr "Wysokość książki (w calach):" +#: ../src/widgets/toolbox.cpp:3532 +#: ../src/widgets/toolbox.cpp:3655 +#: ../src/widgets/toolbox.cpp:3672 +#: ../src/widgets/toolbox.cpp:3875 +#: ../src/widgets/toolbox.cpp:4254 +#: ../src/widgets/toolbox.cpp:4287 +#: ../src/widgets/toolbox.cpp:5273 +msgid "(default)" +msgstr "(domyślny)" -#: ../share/extensions/perfectboundcover.inx.h:4 -msgid "Book Properties" -msgstr "Właściwości książki" +#: ../src/widgets/toolbox.cpp:3532 +msgid "(few nodes, smooth)" +msgstr "" -#: ../share/extensions/perfectboundcover.inx.h:5 -msgid "Book Width (inches)" -msgstr "Szerokość książki (w calach):" +#: ../src/widgets/toolbox.cpp:3532 +msgid "(many nodes, rough)" +msgstr "" -#: ../share/extensions/perfectboundcover.inx.h:6 -msgid "Caliper (inches)" -msgstr "Caliper (w calach)" +#: ../src/widgets/toolbox.cpp:3535 +msgid "Smoothing:" +msgstr "Wygładzanie:" -#: ../share/extensions/perfectboundcover.inx.h:7 -msgid "Cover" -msgstr "Oprawa" +#: ../src/widgets/toolbox.cpp:3535 +msgid "Smoothing: " +msgstr "Wygładzanie:" -#: ../share/extensions/perfectboundcover.inx.h:8 -msgid "Cover Thickness Measurement" -msgstr "Sposób pomiaru grubości oprawy:" +#: ../src/widgets/toolbox.cpp:3536 +msgid "How much smoothing (simplifying) is applied to the line" +msgstr "" -#: ../share/extensions/perfectboundcover.inx.h:9 -msgid "Generate Template" -msgstr "Utwórz szablon okładki" +#: ../src/widgets/toolbox.cpp:3562 +#, fuzzy +msgid "Reset pencil parameters to defaults (use Inkscape Preferences > Tools to change defaults)" +msgstr "Przywróć domyślne ustawienia dla kształtu. Aby zmienić domyślne wartości przejdź do Ustawienia Inkscape » Narzędzia." -#: ../share/extensions/perfectboundcover.inx.h:10 -msgid "Interior Pages" -msgstr "Wkład książki" +#: ../src/widgets/toolbox.cpp:3655 +msgid "(broad tweak)" +msgstr "(udoskonalanie szerokie)" -#: ../share/extensions/perfectboundcover.inx.h:11 -msgid "Note: Bond Weight # calculations are a best-guess estimate." -msgstr "" -"Uwaga: Obliczenia oparte na gramaturze ryzy będą jedynie dużym przybliżeniem" +#. Width +#: ../src/widgets/toolbox.cpp:3655 +msgid "(pinch tweak)" +msgstr "(udoskonalanie wąskie)" -#: ../share/extensions/perfectboundcover.inx.h:12 -msgid "Number of Pages" -msgstr "Liczba stron:" +#: ../src/widgets/toolbox.cpp:3658 +msgid "The width of the tweak area (relative to the visible canvas area)" +msgstr "Szerokość zmienianego obszaru (względem widocznego obszaru pracy)" -#: ../share/extensions/perfectboundcover.inx.h:13 -msgid "Pages Per Inch (PPI)" -msgstr "Strony na cal (PPI)" +#: ../src/widgets/toolbox.cpp:3672 +msgid "(maximum force)" +msgstr "(maksymalna siła)" -#: ../share/extensions/perfectboundcover.inx.h:14 -msgid "Paper Thickness Measurement" -msgstr "Sposób pomiaru grubości papieru:" +#. Force +#: ../src/widgets/toolbox.cpp:3672 +msgid "(minimum force)" +msgstr "(minimalna siła)" -#: ../share/extensions/perfectboundcover.inx.h:15 -msgid "Perfect-Bound Cover" -msgstr "Oprawa klejona książki" +#: ../src/widgets/toolbox.cpp:3675 +msgid "Force" +msgstr "Siła" -#: ../share/extensions/perfectboundcover.inx.h:17 -msgid "Remove existing guides" -msgstr "Usuń istniejące prowadnice" +#: ../src/widgets/toolbox.cpp:3675 +msgid "Force:" +msgstr "Siła:" -#: ../share/extensions/perfectboundcover.inx.h:18 -msgid "Specify Width" -msgstr "Szerokość określona poniżej" +#: ../src/widgets/toolbox.cpp:3675 +msgid "The force of the tweak action" +msgstr "Siła działania udoskonalania" -#: ../share/extensions/perspective.inx.h:2 -msgid "Perspective" -msgstr "Perspektywa" +#: ../src/widgets/toolbox.cpp:3693 +#, fuzzy +msgid "Move mode" +msgstr "Przesuń węzły" -#: ../share/extensions/polyhedron_3d.inx.h:1 +#: ../src/widgets/toolbox.cpp:3694 #, fuzzy -msgid "3D Polyhedron" -msgstr "Wielokąt" +msgid "Move objects in any direction" +msgstr "Przesunięcie w orientacji Y" -#: ../share/extensions/polyhedron_3d.inx.h:2 +#: ../src/widgets/toolbox.cpp:3700 #, fuzzy -msgid "Clockwise Wound Object" -msgstr "Odblokuj obiekt" +msgid "Move in/out mode" +msgstr "Przesuń węzły" -#: ../share/extensions/polyhedron_3d.inx.h:3 -msgid "Cube" +#: ../src/widgets/toolbox.cpp:3701 +msgid "Move objects towards cursor; with Shift from cursor" msgstr "" -#: ../share/extensions/polyhedron_3d.inx.h:4 -msgid "Cuboctohedron" -msgstr "" +#: ../src/widgets/toolbox.cpp:3707 +#, fuzzy +msgid "Move jitter mode" +msgstr "Tryb desynchronizacji koloru" -#: ../share/extensions/polyhedron_3d.inx.h:5 -msgid "Dodecahedron" +#: ../src/widgets/toolbox.cpp:3708 +msgid "Move objects in random directions" msgstr "" -#: ../share/extensions/polyhedron_3d.inx.h:6 -msgid "Draw Back-Facing Polygons" -msgstr "" +#: ../src/widgets/toolbox.cpp:3714 +msgid "Scale mode" +msgstr "Tryb skalowania" -#: ../share/extensions/polyhedron_3d.inx.h:7 -msgid "Edge-Specified" +#: ../src/widgets/toolbox.cpp:3715 +msgid "Scale objects, with Shift scale up" msgstr "" -#: ../share/extensions/polyhedron_3d.inx.h:8 +#: ../src/widgets/toolbox.cpp:3721 +msgid "Rotate mode" +msgstr "Tryb obracania" + +#: ../src/widgets/toolbox.cpp:3722 #, fuzzy -msgid "Edges" -msgstr "Krawędź" +msgid "Rotate objects, with Shift counterclockwise" +msgstr "Obróć zaznaczone obiekty o 90° w lewo" -#: ../share/extensions/polyhedron_3d.inx.h:9 -msgid "Face-Specified" +#: ../src/widgets/toolbox.cpp:3728 +#, fuzzy +msgid "Duplicate/delete mode" +msgstr "Powiel węzeł" + +#: ../src/widgets/toolbox.cpp:3729 +msgid "Duplicate objects, with Shift delete" msgstr "" -#: ../share/extensions/polyhedron_3d.inx.h:10 +#: ../src/widgets/toolbox.cpp:3735 +msgid "Push mode" +msgstr "Tryb nacisku" + +#: ../src/widgets/toolbox.cpp:3736 +msgid "Push parts of paths in any direction" +msgstr "Popychaj części ścieżek w jakimkolwiek kierunku" + +#: ../src/widgets/toolbox.cpp:3742 #, fuzzy -msgid "Faces" -msgstr "Redukcja krzywizny" +msgid "Shrink/grow mode" +msgstr "Tryb zmniejszania" -#: ../share/extensions/polyhedron_3d.inx.h:11 +#: ../src/widgets/toolbox.cpp:3743 #, fuzzy -msgid "Filename:" -msgstr "Nazwa profilu:" +msgid "Shrink (inset) parts of paths; with Shift grow (outset)" +msgstr "Zmniejsz części ścieżki (efekt wklęśnięcia)" -#: ../share/extensions/polyhedron_3d.inx.h:12 -msgid "Fill Colour (Blue)" -msgstr "" +#: ../src/widgets/toolbox.cpp:3749 +#, fuzzy +msgid "Attract/repel mode" +msgstr "Tryb przyciągania" -#: ../share/extensions/polyhedron_3d.inx.h:13 -msgid "Fill Colour (Green)" -msgstr "" +#: ../src/widgets/toolbox.cpp:3750 +#, fuzzy +msgid "Attract parts of paths towards cursor; with Shift from cursor" +msgstr "Przyciągaj części ścieżek do kursora" -#: ../share/extensions/polyhedron_3d.inx.h:14 -msgid "Fill Colour (Red)" -msgstr "" +#: ../src/widgets/toolbox.cpp:3756 +msgid "Roughen mode" +msgstr "Tryb chropowatości" -#: ../share/extensions/polyhedron_3d.inx.h:16 -#, fuzzy, no-c-format -msgid "Fill Opacity/ %" -msgstr "Krycie, %" +#: ../src/widgets/toolbox.cpp:3757 +msgid "Roughen parts of paths" +msgstr "Twórz chropowatość ścieżek" -#: ../share/extensions/polyhedron_3d.inx.h:17 -msgid "Great Dodecahedron" -msgstr "" +#: ../src/widgets/toolbox.cpp:3763 +msgid "Color paint mode" +msgstr "Tryb malowania" -#: ../share/extensions/polyhedron_3d.inx.h:18 -msgid "Great Stellated Dodecahedron" -msgstr "" +#: ../src/widgets/toolbox.cpp:3764 +msgid "Paint the tool's color upon selected objects" +msgstr "Maluj kolorem narzędzia na zaznaczonych obiektach" -#: ../share/extensions/polyhedron_3d.inx.h:19 -msgid "Icosahedron" -msgstr "" +#: ../src/widgets/toolbox.cpp:3770 +msgid "Color jitter mode" +msgstr "Tryb desynchronizacji koloru" -#: ../share/extensions/polyhedron_3d.inx.h:20 -#, fuzzy -msgid "Light x-Position" -msgstr "Lokalizacja" +#: ../src/widgets/toolbox.cpp:3771 +msgid "Jitter the colors of selected objects" +msgstr "Desynchronizuj kolory zaznaczonych obiektów" -#: ../share/extensions/polyhedron_3d.inx.h:21 +#: ../src/widgets/toolbox.cpp:3777 #, fuzzy -msgid "Light y-Position" -msgstr "Lokalizacja" +msgid "Blur mode" +msgstr "Tryb _przenikania:" -#: ../share/extensions/polyhedron_3d.inx.h:22 +#: ../src/widgets/toolbox.cpp:3778 #, fuzzy -msgid "Light z-Position" -msgstr "Lokalizacja" +msgid "Blur selected objects more; with Shift, blur less" +msgstr "Odbij zaznaczone obiekty poziomo" -#: ../share/extensions/polyhedron_3d.inx.h:23 -#, fuzzy -msgid "Line Thickness / px" -msgstr "Grubość głównego podziału X (px)" +#: ../src/widgets/toolbox.cpp:3805 +msgid "Channels:" +msgstr "Kanały:" -#: ../share/extensions/polyhedron_3d.inx.h:24 -msgid "Load From File" -msgstr "" +#: ../src/widgets/toolbox.cpp:3816 +msgid "In color mode, act on objects' hue" +msgstr "W trybie koloru oddziałuje na barwę obiektu" -#: ../share/extensions/polyhedron_3d.inx.h:25 -#, fuzzy -msgid "Maximum" -msgstr "Średni" +#. TRANSLATORS: "H" here stands for hue +#: ../src/widgets/toolbox.cpp:3820 +msgid "H" +msgstr "B" -#: ../share/extensions/polyhedron_3d.inx.h:26 -#, fuzzy -msgid "Mean" -msgstr "Metal" +#: ../src/widgets/toolbox.cpp:3831 +msgid "In color mode, act on objects' saturation" +msgstr "W trybie koloru oddziałuje na nasycenie kolorów obiektu" -#: ../share/extensions/polyhedron_3d.inx.h:27 -#, fuzzy -msgid "Minimum" -msgstr "Rozmiar minimalny" +#. TRANSLATORS: "S" here stands for Saturation +#: ../src/widgets/toolbox.cpp:3835 +msgid "S" +msgstr "N" -#: ../share/extensions/polyhedron_3d.inx.h:28 -#, fuzzy -msgid "Model File" -msgstr "Wszystkie pliki" +#: ../src/widgets/toolbox.cpp:3846 +msgid "In color mode, act on objects' lightness" +msgstr "W trybie koloru oddziałuje na jasność obiektu" -#: ../share/extensions/polyhedron_3d.inx.h:29 -#, fuzzy -msgid "Object Type" -msgstr "Obiekt" +#. TRANSLATORS: "L" here stands for Lightness +#: ../src/widgets/toolbox.cpp:3850 +msgid "L" +msgstr "J" -#: ../share/extensions/polyhedron_3d.inx.h:30 -#, fuzzy -msgid "Object:" -msgstr "Obiekt" +#: ../src/widgets/toolbox.cpp:3861 +msgid "In color mode, act on objects' opacity" +msgstr "W trybie koloru oddziałuje na krycie obiektu" -#: ../share/extensions/polyhedron_3d.inx.h:31 -#, fuzzy -msgid "Octahedron" -msgstr "Inne" +#. TRANSLATORS: "O" here stands for Opacity +#: ../src/widgets/toolbox.cpp:3865 +msgid "O" +msgstr "K" -#: ../share/extensions/polyhedron_3d.inx.h:33 -#, fuzzy -msgid "Report Normal Vector Information" -msgstr "Informacja o użyciu pamięci" +#: ../src/widgets/toolbox.cpp:3875 +msgid "(fine, but many nodes)" +msgstr "(dokładnie, ale wiele węzłów)" -#: ../share/extensions/polyhedron_3d.inx.h:34 -#, fuzzy -msgid "Rotate Around:" -msgstr "Obróć węzły" +#. Fidelity +#: ../src/widgets/toolbox.cpp:3875 +msgid "(rough, simplified)" +msgstr "(niewygładzony, uproszczony)" -#: ../share/extensions/polyhedron_3d.inx.h:35 -#, fuzzy -msgid "Rotation / Degrees" -msgstr "Obrót (°)" +#: ../src/widgets/toolbox.cpp:3878 +msgid "Fidelity" +msgstr "Dokładność" -#: ../share/extensions/polyhedron_3d.inx.h:36 -#, fuzzy -msgid "Scaling Factor" -msgstr "Wskaźnik pochylenia" +#: ../src/widgets/toolbox.cpp:3878 +msgid "Fidelity:" +msgstr "Dokładność:" -#: ../share/extensions/polyhedron_3d.inx.h:37 -#, fuzzy -msgid "Shading" -msgstr "Odstępy" +#: ../src/widgets/toolbox.cpp:3879 +msgid "Low fidelity simplifies paths; high fidelity preserves path features but may generate a lot of new nodes" +msgstr "Mała dokładność upraszcza ścieżki, duża zachowuje cechy ścieżki, ale może generować dodatkowe węzły" -#: ../share/extensions/polyhedron_3d.inx.h:39 -msgid "Small Triambic Icosahedron" -msgstr "" +#: ../src/widgets/toolbox.cpp:3896 +#: ../src/widgets/toolbox.cpp:4405 +msgid "Pressure" +msgstr "Siła nacisku" -#: ../share/extensions/polyhedron_3d.inx.h:40 -msgid "Snub Cube" -msgstr "" +#: ../src/widgets/toolbox.cpp:3897 +msgid "Use the pressure of the input device to alter the force of tweak action" +msgstr "Zastosuj siłę nacisku urządzenia wejściowego do zmiany szerokości kreski" -#: ../share/extensions/polyhedron_3d.inx.h:41 -msgid "Snub Dodecahedron" -msgstr "" +#: ../src/widgets/toolbox.cpp:4080 +msgid "No preset" +msgstr "Brak ustawień" -#: ../share/extensions/polyhedron_3d.inx.h:43 -#, fuzzy, no-c-format -msgid "Stroke Opacity/ %" -msgstr "_Kontur" +#: ../src/widgets/toolbox.cpp:4099 +msgid "Save..." +msgstr "Zapisz..." -#: ../share/extensions/polyhedron_3d.inx.h:45 -msgid "Tetrahedron" -msgstr "" +#: ../src/widgets/toolbox.cpp:4254 +#: ../src/widgets/toolbox.cpp:5273 +msgid "(broad stroke)" +msgstr "(szeroki kontur)" + +#. Width +#: ../src/widgets/toolbox.cpp:4254 +#: ../src/widgets/toolbox.cpp:5273 +msgid "(hairline)" +msgstr "(włosowy)" + +#: ../src/widgets/toolbox.cpp:4257 +#: ../src/widgets/toolbox.cpp:5276 +msgid "Pen Width" +msgstr "Szerokość linii kaligraficznych" + +#: ../src/widgets/toolbox.cpp:4258 +msgid "The width of the calligraphic pen (relative to the visible canvas area)" +msgstr "Szerokość pisma kaligraficznego (względem widocznego obszaru roboczego)" + +#: ../src/widgets/toolbox.cpp:4271 +msgid "(constant width)" +msgstr "(stała szerokość)" + +#: ../src/widgets/toolbox.cpp:4271 +msgid "(slight thinning, default)" +msgstr "(niewielkie pocienienie, domyślna)" + +#: ../src/widgets/toolbox.cpp:4271 +msgid "(slight widening)" +msgstr "(niewielkie poszerzenie)" + +#. Thinning +#: ../src/widgets/toolbox.cpp:4271 +msgid "(speed blows up stroke)" +msgstr "(szybkość powiększa kontur)" + +#: ../src/widgets/toolbox.cpp:4271 +msgid "(speed deflates stroke)" +msgstr "(szybkość znacznie zmniejsza kontur)" + +#: ../src/widgets/toolbox.cpp:4274 +msgid "Stroke Thinning" +msgstr "Pocienienie konturu" + +#: ../src/widgets/toolbox.cpp:4274 +msgid "Thinning:" +msgstr "Pocienienie:" + +#: ../src/widgets/toolbox.cpp:4275 +msgid "How much velocity thins the stroke (> 0 makes fast strokes thinner, < 0 makes them broader, 0 makes width independent of velocity)" +msgstr "W jakim stopniu szybkość pociągnięcia wpływa na szerokość konturu (> 0 pocienia szybkie pociągnięcia, < 0 poszerza je, 0 uniezależnia szerokość od szybkości)" + +#: ../src/widgets/toolbox.cpp:4287 +msgid "(horizontal)" +msgstr "(poziomo)" + +#. Angle +#: ../src/widgets/toolbox.cpp:4287 +msgid "(left edge up)" +msgstr "(lewa górna krawędź)" + +#: ../src/widgets/toolbox.cpp:4287 +msgid "(right edge up)" +msgstr "(prawa górna krawędź)" + +#: ../src/widgets/toolbox.cpp:4290 +msgid "Angle:" +msgstr "Kąt:" + +#: ../src/widgets/toolbox.cpp:4290 +msgid "Pen Angle" +msgstr "Kąt linii kaligraficznych" -#: ../share/extensions/polyhedron_3d.inx.h:46 -#, fuzzy -msgid "Then Rotate Around:" -msgstr "niezaokrąglony" +#: ../src/widgets/toolbox.cpp:4291 +msgid "The angle of the pen's nib (in degrees; 0 = horizontal; has no effect if fixation = 0)" +msgstr "Kąt stalówki pióra (w stopniach; 0 = poziomo; nie daje efektu jeśli wartość = 0)" -#: ../share/extensions/polyhedron_3d.inx.h:47 -msgid "Truncated Cube" -msgstr "" +#: ../src/widgets/toolbox.cpp:4305 +msgid "(almost fixed, default)" +msgstr "(prawie stały, domyślny)" -#: ../share/extensions/polyhedron_3d.inx.h:48 -msgid "Truncated Dodecahedron" -msgstr "" +#: ../src/widgets/toolbox.cpp:4305 +msgid "(fixed by Angle, \"pen\")" +msgstr "(określony przez kąt, \"pióro\")" -#: ../share/extensions/polyhedron_3d.inx.h:49 -msgid "Truncated Icosahedron" -msgstr "" +#. Fixation +#: ../src/widgets/toolbox.cpp:4305 +msgid "(perpendicular to stroke, \"brush\")" +msgstr "(prostopadle do konturu, \"pędzel\")" -#: ../share/extensions/polyhedron_3d.inx.h:50 -msgid "Truncated Octahedron" -msgstr "" +#: ../src/widgets/toolbox.cpp:4308 +msgid "Fixation" +msgstr "Ułożenie" -#: ../share/extensions/polyhedron_3d.inx.h:51 -msgid "Truncated Tetrahedron" -msgstr "" +#: ../src/widgets/toolbox.cpp:4308 +msgid "Fixation:" +msgstr "Ułożenie:" -#: ../share/extensions/polyhedron_3d.inx.h:52 +#: ../src/widgets/toolbox.cpp:4309 #, fuzzy -msgid "Vertices" -msgstr "Pi_onowe" +msgid "Angle behavior (0 = nib always perpendicular to stroke direction, 100 = fixed angle)" +msgstr "Zachowanie kąta stalówki (0 = zawsze prostopadle do kierunku linii, 1 = zachowanie wybranego kąta)" -#: ../share/extensions/polyhedron_3d.inx.h:53 -#, fuzzy -msgid "View" -msgstr "_Widok" +#: ../src/widgets/toolbox.cpp:4321 +msgid "(approximately round)" +msgstr "(nieznacznie zaokrąglone)" -#: ../share/extensions/polyhedron_3d.inx.h:54 -msgid "X-Axis" -msgstr "" +#. Cap Rounding +#: ../src/widgets/toolbox.cpp:4321 +msgid "(blunt caps, default)" +msgstr "(tępo zakończone, wartość domyślna)" -#: ../share/extensions/polyhedron_3d.inx.h:55 -msgid "Y-Axis" -msgstr "" +#: ../src/widgets/toolbox.cpp:4321 +msgid "(long protruding caps)" +msgstr "długie uwypuklenie" -#: ../share/extensions/polyhedron_3d.inx.h:56 -msgid "Z-Axis" -msgstr "" +#: ../src/widgets/toolbox.cpp:4321 +msgid "(slightly bulging)" +msgstr "(nieznacznie wybrzuszone)" -#: ../share/extensions/polyhedron_3d.inx.h:57 -msgid "Z-Sort Faces By:" -msgstr "" +#: ../src/widgets/toolbox.cpp:4325 +msgid "Cap rounding" +msgstr "Zaokrąglenia końcówek" -#: ../share/extensions/ps_input.inx.h:1 -msgid "Postscript" -msgstr "Postscript" +#: ../src/widgets/toolbox.cpp:4325 +msgid "Caps:" +msgstr "Zakończenia:" -#: ../share/extensions/ps_input.inx.h:2 -msgid "Postscript (*.ps)" -msgstr "Postscript (*.ps)" +#: ../src/widgets/toolbox.cpp:4326 +msgid "Increase to make caps at the ends of strokes protrude more (0 = no caps, 1 = round caps)" +msgstr "Zwiększ wartość, aby zakończenia pociągnięć były bardziej wypukłe (0 = bez zakończeń, 1 = zakończenia zaokrąglone)" -#: ../share/extensions/ps_input.inx.h:3 -msgid "Postscript Input" -msgstr "Źródło Postscriptu" +#: ../src/widgets/toolbox.cpp:4338 +msgid "(maximum tremor)" +msgstr "(maksymalne drżenie)" -#: ../share/extensions/radiusrand.inx.h:1 -msgid "Jitter nodes" -msgstr "Desynchronizuj węzły" +#: ../src/widgets/toolbox.cpp:4338 +msgid "(noticeable tremor)" +msgstr "(widoczne drżenie)" -#: ../share/extensions/radiusrand.inx.h:2 -msgid "Maximum displacement in X, px" -msgstr "Maksymalne przemieszczenie X (px)" +#: ../src/widgets/toolbox.cpp:4338 +msgid "(slight tremor)" +msgstr "(niewielkie drżenie)" -#: ../share/extensions/radiusrand.inx.h:3 -msgid "Maximum displacement in Y, px" -msgstr "Maksymalne przemieszczenie Y (px)" +#. Tremor +#: ../src/widgets/toolbox.cpp:4338 +msgid "(smooth line)" +msgstr "(gładka linia)" -#: ../share/extensions/radiusrand.inx.h:5 -msgid "Shift node handles" -msgstr "Przesuń uchwyty węzłów" +#: ../src/widgets/toolbox.cpp:4341 +msgid "Stroke Tremor" +msgstr "Drżenie konturu" -#: ../share/extensions/radiusrand.inx.h:6 -msgid "Shift nodes" -msgstr "Przesuń węzły" +#: ../src/widgets/toolbox.cpp:4341 +msgid "Tremor:" +msgstr "Drżenie:" -#: ../share/extensions/radiusrand.inx.h:7 -msgid "" -"This effect randomly shifts the nodes (and optionally node handles) of the " -"selected path." -msgstr "" -"Ten efekt losowo przesuwa węzły i opcjonalnie uchwyty węzłów zaznaczonej " -"ścieżki" +#: ../src/widgets/toolbox.cpp:4342 +msgid "Increase to make strokes rugged and trembling" +msgstr "Zwiększ wartość, aby pociągnięcia były nierówne i roztrzęsione" -#: ../share/extensions/radiusrand.inx.h:8 -msgid "Use normal distribution" -msgstr "Zastosuj równomierne rozproszenie" +#. Wiggle +#: ../src/widgets/toolbox.cpp:4356 +msgid "(no wiggle)" +msgstr "(nie ma ruchu)" -#: ../share/extensions/render_alphabetsoup.inx.h:1 -msgid "Alphabet Soup" -msgstr "Alphabet Soup" +#: ../src/widgets/toolbox.cpp:4356 +msgid "(slight deviation)" +msgstr "(niewielkie odchylenie)" -#: ../share/extensions/render_alphabetsoup.inx.h:2 -#, fuzzy -msgid "Random Seed" -msgstr "Losowe drzewko" +#: ../src/widgets/toolbox.cpp:4356 +msgid "(wild waves and curls)" +msgstr "(szalone fale i wiry)" -#: ../share/extensions/render_barcode.inx.h:1 -msgid "Bar Height:" -msgstr "Wysokość kodu kreskowego:" +#: ../src/widgets/toolbox.cpp:4359 +msgid "Pen Wiggle" +msgstr "Drżenie ołówka" -#: ../share/extensions/render_barcode.inx.h:2 -msgid "Barcode" -msgstr "Kod kreskowy" +#: ../src/widgets/toolbox.cpp:4359 +msgid "Wiggle:" +msgstr "Poruszenie:" -#: ../share/extensions/render_barcode.inx.h:3 -msgid "Barcode Data:" -msgstr "Informacja:" +#: ../src/widgets/toolbox.cpp:4360 +msgid "Increase to make the pen waver and wiggle" +msgstr "Zwiększ wartość, aby pióro było bardziej chwiejne i drżące" -#: ../share/extensions/render_barcode.inx.h:4 -msgid "Barcode Type:" -msgstr "Rodzaj kodu:" +#: ../src/widgets/toolbox.cpp:4373 +msgid "(maximum inertia)" +msgstr "(maksymalna inercja)" -#: ../share/extensions/restack.inx.h:2 -msgid "Arbitrary Angle:" -msgstr "Kąt dowolny:" +#. Mass +#: ../src/widgets/toolbox.cpp:4373 +msgid "(no inertia)" +msgstr "(brak inercji)" -#: ../share/extensions/restack.inx.h:4 -#, fuzzy -msgid "Bottom" -msgstr "Na spód" +#: ../src/widgets/toolbox.cpp:4373 +msgid "(noticeable lagging)" +msgstr "(widoczne opóźnienie)" -#: ../share/extensions/restack.inx.h:5 -msgid "Bottom to Top (90)" -msgstr "Z dołu na górę (90)" +#: ../src/widgets/toolbox.cpp:4373 +msgid "(slight smoothing, default)" +msgstr "(niewielkie wygładzanie, domyślna)" -#: ../share/extensions/restack.inx.h:6 -#, fuzzy -msgid "Horizontal Point:" -msgstr "Poziomy układ tekstu" +#: ../src/widgets/toolbox.cpp:4376 +msgid "Mass:" +msgstr "Masa:" -#: ../share/extensions/restack.inx.h:7 -msgid "Left" -msgstr "Lewa" +#: ../src/widgets/toolbox.cpp:4376 +msgid "Pen Mass" +msgstr "Masa pióra" -#: ../share/extensions/restack.inx.h:8 -msgid "Left to Right (0)" -msgstr "Od lewej do prawej (0)" +#: ../src/widgets/toolbox.cpp:4377 +msgid "Increase to make the pen drag behind, as if slowed by inertia" +msgstr "Zwiększ wartość, aby ciągnięcie piórem pozostawało w tyle, jak gdyby było spowalniane przez inercję" -#: ../share/extensions/restack.inx.h:9 -msgid "Middle" -msgstr "Środek" +#: ../src/widgets/toolbox.cpp:4392 +msgid "Trace Background" +msgstr "Śledzenie tła" -#: ../share/extensions/restack.inx.h:10 -#, fuzzy -msgid "Radial Inward" -msgstr "Gradient radialny" +#: ../src/widgets/toolbox.cpp:4393 +msgid "Trace the lightness of the background by the width of the pen (white - minimum width, black - maximum width)" +msgstr "Śledzenie jasności tła poprzez szerokość pióra (biały - minimalna szerokość, czarny - maksymalna szerokość)" -#: ../share/extensions/restack.inx.h:11 +#: ../src/widgets/toolbox.cpp:4406 +msgid "Use the pressure of the input device to alter the width of the pen" +msgstr "Zastosuj siłę nacisku urządzenia wejściowego do zmiany szerokości kreski" + +#: ../src/widgets/toolbox.cpp:4418 +msgid "Tilt" +msgstr "Nachylenie" + +#: ../src/widgets/toolbox.cpp:4419 +msgid "Use the tilt of the input device to alter the angle of the pen's nib" +msgstr "Zastosuj nachylenie urządzenia wejściowego do zmiany kąta ustawienia stalówki" + +#: ../src/widgets/toolbox.cpp:4432 #, fuzzy -msgid "Radial Outward" -msgstr "Gradient radialny" +msgid "Choose a preset" +msgstr "Brak ustawień" -#: ../share/extensions/restack.inx.h:12 -msgid "Restack" -msgstr "Utwórz ponownie stos" +#: ../src/widgets/toolbox.cpp:4520 +msgid "Arc: Change start/end" +msgstr "Łuk: Zmień początek/koniec" -#: ../share/extensions/restack.inx.h:13 -msgid "Restack Direction:" -msgstr "Kierunek stosu:" +#: ../src/widgets/toolbox.cpp:4584 +msgid "Arc: Change open/closed" +msgstr "Łuk: Zmień otwarcie/zamknięcie" -#: ../share/extensions/restack.inx.h:14 -msgid "Right" -msgstr "Prawa" +#: ../src/widgets/toolbox.cpp:4710 +msgid "Start:" +msgstr "Początek:" -#: ../share/extensions/restack.inx.h:15 -msgid "Right to Left (180)" -msgstr "Od prawej do lewej (180)" +#: ../src/widgets/toolbox.cpp:4711 +msgid "The angle (in degrees) from the horizontal to the arc's start point" +msgstr "Kąt (w stopniach) od poziomu do punktu początkowego łuku" -#: ../share/extensions/restack.inx.h:17 -msgid "Top to Bottom (270)" -msgstr "Z góry na dół (270)" +#: ../src/widgets/toolbox.cpp:4723 +msgid "End:" +msgstr "Koniec:" -#: ../share/extensions/restack.inx.h:18 -msgid "Vertical Point:" -msgstr "Punkt pionowy:" +#: ../src/widgets/toolbox.cpp:4724 +msgid "The angle (in degrees) from the horizontal to the arc's end point" +msgstr "Kąt (w stopniach) od poziomu do punktu końcowego łuku" -#: ../share/extensions/rtree.inx.h:1 -msgid "Initial size" -msgstr "Rozmiar początkowy" +#: ../src/widgets/toolbox.cpp:4740 +msgid "Closed arc" +msgstr "Łuk zamknięty" -#: ../share/extensions/rtree.inx.h:2 -msgid "Minimum size" -msgstr "Rozmiar minimalny" +#: ../src/widgets/toolbox.cpp:4741 +msgid "Switch to segment (closed shape with two radii)" +msgstr "Przełącz do odcinka (zamknięty kształt z dwoma promieniami)" -#: ../share/extensions/rtree.inx.h:3 -msgid "Random Tree" -msgstr "Losowe drzewko" +#: ../src/widgets/toolbox.cpp:4747 +msgid "Open Arc" +msgstr "Łuk otwarty" -#: ../share/extensions/rubberstretch.inx.h:2 -#, no-c-format -msgid "Curve (%):" -msgstr "Krzywa (%):" +#: ../src/widgets/toolbox.cpp:4748 +msgid "Switch to arc (unclosed shape)" +msgstr "Przełącz do łuku (kształt otwarty)" -#: ../share/extensions/rubberstretch.inx.h:4 -msgid "Rubber Stretch" -msgstr "Zaznaczenie elastyczne" +#: ../src/widgets/toolbox.cpp:4771 +msgid "Make whole" +msgstr "Pełny kształt" -#: ../share/extensions/rubberstretch.inx.h:6 -#, no-c-format -msgid "Strength (%):" -msgstr "Siła (%):" +#: ../src/widgets/toolbox.cpp:4772 +msgid "Make the shape a whole ellipse, not arc or segment" +msgstr "Zamień na pełną elipsę, zamiast łuku lub wycinka elipsy" + +#: ../src/widgets/toolbox.cpp:4841 +msgid "Opacity:" +msgstr "Krycie:" + +#: ../src/widgets/toolbox.cpp:4848 +msgid "Pick opacity" +msgstr "Wybierz krycie" -#: ../share/extensions/sk1_input.inx.h:1 -msgid "Open files saved in sK1 vector graphics editor" -msgstr "Otwiera pliki zapisane w edytorze grafiki wektorowej sK1" +#: ../src/widgets/toolbox.cpp:4849 +msgid "Pick both the color and the alpha (transparency) under cursor; otherwise, pick only the visible color premultiplied by alpha" +msgstr "Wybiera zarówno kolor jak i krycie (przezroczystość) obiektów wskazanych przez kursor myszy. W pozostałych przypadkach wskazuje tylko widziany kolor zwielokrotniony przez kanał alfa." -#: ../share/extensions/sk1_input.inx.h:2 -msgid "sK1 vector graphics files (.sk1)" -msgstr "Pliki grafiki wektorowej sK1 (.sk1)" +#: ../src/widgets/toolbox.cpp:4852 +msgid "Pick" +msgstr "" -#: ../share/extensions/sk1_input.inx.h:3 -msgid "sK1 vector graphics files input" -msgstr "Źródło plików grafiki wektorowej sK1" +#: ../src/widgets/toolbox.cpp:4861 +msgid "Assign opacity" +msgstr "Określ krycie" -#: ../share/extensions/sk_input.inx.h:1 -msgid "A diagram created with the program Sketch" -msgstr "Diagram utworzony w programie Sketch" +#: ../src/widgets/toolbox.cpp:4862 +msgid "If alpha was picked, assign it to selection as fill or stroke transparency" +msgstr "Jeśli zostało wybrane krycie, to zostaje ono przydzielone do zaznaczenia jako przezroczystość wypełnienia lub konturu" -#: ../share/extensions/sk_input.inx.h:2 -msgid "Sketch Diagram (*.sk)" -msgstr "Diagram Sketch (*.sk)" +#: ../src/widgets/toolbox.cpp:4865 +msgid "Assign" +msgstr "Przydziel" -#: ../share/extensions/sk_input.inx.h:3 -msgid "Sketch Input" -msgstr "Źródło Sketch" +#: ../src/widgets/toolbox.cpp:5116 +msgid "All inactive" +msgstr "" -#: ../share/extensions/spirograph.inx.h:1 -msgid "Gear Placement" -msgstr "Położenie trybów:" +#: ../src/widgets/toolbox.cpp:5117 +msgid "No geometric tool is active" +msgstr "" -#: ../share/extensions/spirograph.inx.h:2 -msgid "Inside (Hypotrochoid)" -msgstr "wewnątrz (hipotrochoida)" +#: ../src/widgets/toolbox.cpp:5118 +msgid "all_inactive" +msgstr "" -#: ../share/extensions/spirograph.inx.h:3 -msgid "Outside (Epitrochoid)" -msgstr "na zewnątrz (epitrochoida)" +#: ../src/widgets/toolbox.cpp:5150 +#, fuzzy +msgid "Show limiting bounding box" +msgstr "Geometryczne obramowanie obiektu" -#: ../share/extensions/spirograph.inx.h:4 -msgid "Quality (Default = 16)" -msgstr "Jakość (wartość domyślna = 16)" +#: ../src/widgets/toolbox.cpp:5151 +msgid "Show bounding box (used to cut infinite lines)" +msgstr "" -#: ../share/extensions/spirograph.inx.h:5 -msgid "R - Ring Radius (px)" -msgstr "R - promień pierścienia (px)" +#: ../src/widgets/toolbox.cpp:5162 +#, fuzzy +msgid "Get limiting bounding box from selection" +msgstr "Usuwa z zaznaczenia ścieżkę przycinającą" -#: ../share/extensions/spirograph.inx.h:7 -msgid "Rotation (deg)" -msgstr "Obrót (°)" +#: ../src/widgets/toolbox.cpp:5163 +msgid "Set limiting bounding box (used to cut infinite lines) to the bounding box of current selection" +msgstr "" -#: ../share/extensions/spirograph.inx.h:8 -msgid "Spirograph" -msgstr "Spirograf" +#: ../src/widgets/toolbox.cpp:5175 +#, fuzzy +msgid "Choose a line segment type" +msgstr "Zmień typ odcinka" -#: ../share/extensions/spirograph.inx.h:9 -msgid "d - Pen Radius (px)" -msgstr "d - promień pióra (px)" +#: ../src/widgets/toolbox.cpp:5191 +msgid "Display measuring info" +msgstr "Wyświetl informacje o pomiarach" -#: ../share/extensions/spirograph.inx.h:10 -msgid "r - Gear Radius (px)" -msgstr "r - promień trybu (px)" +#: ../src/widgets/toolbox.cpp:5192 +msgid "Display measuring info for selected items" +msgstr "" -#: ../share/extensions/straightseg.inx.h:1 -msgid "Behavior" -msgstr "Zachowanie" +#: ../src/widgets/toolbox.cpp:5212 +msgid "Open LPE dialog" +msgstr "" -#: ../share/extensions/straightseg.inx.h:4 -msgid "Straighten Segments" -msgstr "Wyprostuj odcinki" +#: ../src/widgets/toolbox.cpp:5213 +msgid "Open LPE dialog (to adapt parameters numerically)" +msgstr "" -#: ../share/extensions/summersnight.inx.h:1 -msgid "Envelope" -msgstr "Obwiednia" +#: ../src/widgets/toolbox.cpp:5277 +msgid "The width of the eraser pen (relative to the visible canvas area)" +msgstr "Szerokość gumki (relatywna do widocznego obszaru pracy)" -#: ../share/extensions/svg2xaml.inx.h:1 ../share/extensions/xaml2svg.inx.h:1 -msgid "Microsoft XAML (*.xaml)" -msgstr "Microsoft XAML (*.xaml)" +#: ../src/widgets/toolbox.cpp:5295 +msgid "Delete objects touched by the eraser" +msgstr "" -#: ../share/extensions/svg2xaml.inx.h:2 ../share/extensions/xaml2svg.inx.h:2 -msgid "Microsoft's GUI definition format" -msgstr "Format opisu GUI firmy Microsoft" +#: ../src/widgets/toolbox.cpp:5301 +msgid "Cut" +msgstr "Wytnij" -#: ../share/extensions/svg2xaml.inx.h:3 -msgid "XAML Output" -msgstr "Zapis w XAML" +#: ../src/widgets/toolbox.cpp:5302 +msgid "Cut out from objects" +msgstr "Wycinanie z obiektów" -#: ../share/extensions/svg_and_media_zip_output.inx.h:1 -msgid "Compressed Inkscape SVG with media (*.zip)" -msgstr "Skompresowany plik Inkscape SVG z mediami (*.zip)" +#: ../src/widgets/toolbox.cpp:5647 +msgid "Text: Change font family" +msgstr "Tekst: Zmień czcionkę" -#: ../share/extensions/svg_and_media_zip_output.inx.h:2 -msgid "" -"Inkscape's native file format compressed with Zip and including all media " -"files" -msgstr "" -"Natywny plik Inkscape skompresowany razem ze wszystkimi mediami metodą Zip" +#: ../src/widgets/toolbox.cpp:5735 +msgid "Text: Change alignment" +msgstr "Tekst: Zmień wyrównanie" -#: ../share/extensions/svg_and_media_zip_output.inx.h:3 -msgid "ZIP Output" -msgstr "Zapis ZIP" +#: ../src/widgets/toolbox.cpp:5813 +msgid "Text: Change font style" +msgstr "Tekst: Zmień styl czcionki" -#: ../share/extensions/text_braille.inx.h:1 -msgid "Convert to Braille" -msgstr "Konwertuj na alfabet Braille'a" +#: ../src/widgets/toolbox.cpp:5860 +msgid "Text: Change orientation" +msgstr "Tekst: Zmień orientację" -#: ../share/extensions/text_flipcase.inx.h:2 -msgid "fLIP cASE" -msgstr "oDWRÓĆ wIELKOŚĆ lITER" +#: ../src/widgets/toolbox.cpp:5962 +msgid "Text: Change font size" +msgstr "Tekst: Zmień rozmiar czcionki" -#: ../share/extensions/text_lowercase.inx.h:2 -msgid "lowercase" -msgstr "małe litery" +#: ../src/widgets/toolbox.cpp:6197 +msgid "This font is currently not installed on your system. Inkscape will use the default font instead." +msgstr "Ta czcionka nie jest aktualnie zainstalowana systemie. Inkscape będzie używał zamiast niej czcionkę domyślną." -#: ../share/extensions/text_randomcase.inx.h:2 -msgid "rANdOm CasE" -msgstr "LosoWa wIelKość litER" +#: ../src/widgets/toolbox.cpp:6233 +msgid "Align left" +msgstr "Wyrównaj do lewej" -#: ../share/extensions/text_replace.inx.h:1 -msgid "By:" -msgstr "Nowy tekst:" +#: ../src/widgets/toolbox.cpp:6244 +msgid "Center" +msgstr "Wyśrodkuj" -#: ../share/extensions/text_replace.inx.h:2 -msgid "Replace text" -msgstr "Zamień tekst" +#: ../src/widgets/toolbox.cpp:6255 +msgid "Align right" +msgstr "Wyrównaj do prawej" -#: ../share/extensions/text_replace.inx.h:3 -msgid "Replace:" -msgstr "Tekst:" +#: ../src/widgets/toolbox.cpp:6266 +msgid "Justify" +msgstr "Wyjustuj" -#: ../share/extensions/text_sentencecase.inx.h:1 -msgid "Sentence case" -msgstr "Styl zdania" +#: ../src/widgets/toolbox.cpp:6281 +msgid "Bold" +msgstr "Pogrubienie" -#: ../share/extensions/text_titlecase.inx.h:2 -msgid "Title Case" -msgstr "Styl Tytułu" +#: ../src/widgets/toolbox.cpp:6292 +msgid "Italic" +msgstr "Kursywa" -#: ../share/extensions/text_uppercase.inx.h:2 -msgid "UPPERCASE" -msgstr "WIELKIE LITERY" +#: ../src/widgets/toolbox.cpp:6425 +msgid "Change connector spacing" +msgstr "Zmień odstęp łącznika" -#: ../share/extensions/triangle.inx.h:1 -msgid "Angle a / deg" -msgstr "Kąt a / stopnie" +#: ../src/widgets/toolbox.cpp:6508 +msgid "Avoid" +msgstr "Pomiń" -#: ../share/extensions/triangle.inx.h:2 -msgid "Angle b / deg" -msgstr "Kąt b / stopnie" +#: ../src/widgets/toolbox.cpp:6518 +msgid "Ignore" +msgstr "Ignoruj" -#: ../share/extensions/triangle.inx.h:3 -msgid "Angle c / deg" -msgstr "Kąt c / stopnie" +#: ../src/widgets/toolbox.cpp:6530 +msgid "Connector Spacing" +msgstr "Odstępy łączników" -#: ../share/extensions/triangle.inx.h:4 -msgid "From Side a and Angles a, b" -msgstr "Ze strony a i kątów a, b" +#: ../src/widgets/toolbox.cpp:6530 +msgid "Spacing:" +msgstr "Odstępy:" -#: ../share/extensions/triangle.inx.h:5 -msgid "From Side c and Angles a, b" -msgstr "Ze strony c i kątów a, b" +#: ../src/widgets/toolbox.cpp:6531 +msgid "The amount of space left around objects by auto-routing connectors" +msgstr "Odstęp wokół obiektów automatycznie wyznaczony przez łączniki" -#: ../share/extensions/triangle.inx.h:6 -msgid "From Sides a, b and Angle a" -msgstr "Ze stron a, b i kąta a" +#: ../src/widgets/toolbox.cpp:6542 +msgid "Graph" +msgstr "Wykres" -#: ../share/extensions/triangle.inx.h:7 -msgid "From Sides a, b and Angle c" -msgstr "Ze stron a, b i kąta c" +#: ../src/widgets/toolbox.cpp:6552 +msgid "Connector Length" +msgstr "Długość łącznika" -#: ../share/extensions/triangle.inx.h:8 -msgid "From Three Sides" -msgstr "Z trzech stron" +#: ../src/widgets/toolbox.cpp:6552 +msgid "Length:" +msgstr "Długość:" -#: ../share/extensions/triangle.inx.h:11 -msgid "Side Length a / px" -msgstr "Długość boku (px)" +#: ../src/widgets/toolbox.cpp:6553 +msgid "Ideal length for connectors when layout is applied" +msgstr "Odpowiednia długość dla łączników podczas stosowania rozmieszczenia" -#: ../share/extensions/triangle.inx.h:12 -msgid "Side Length b / px" -msgstr "Długość boku (px)" +#: ../src/widgets/toolbox.cpp:6565 +msgid "Downwards" +msgstr "Do dołu" -#: ../share/extensions/triangle.inx.h:13 -msgid "Side Length c / px" -msgstr "Długość boku (px)" +#: ../src/widgets/toolbox.cpp:6566 +msgid "Make connectors with end-markers (arrows) point downwards" +msgstr "Utwórz łączniki ze strzałkami skierowanymi w dół" -#: ../share/extensions/triangle.inx.h:14 -msgid "Triangle" -msgstr "Trójkąt" +#: ../src/widgets/toolbox.cpp:6581 +msgid "Do not allow overlapping shapes" +msgstr "Nie pozwalaj na nakładanie się kształtów" -#: ../share/extensions/txt2svg.inx.h:1 -msgid "ASCII Text" -msgstr "Tekst ASCII" +#: ../src/widgets/toolbox.cpp:6684 +msgid "Fill by" +msgstr "Wypełnij" -#: ../share/extensions/txt2svg.inx.h:2 -msgid "Text File (*.txt)" -msgstr "Plik tekstowy (*.txt)" +#: ../src/widgets/toolbox.cpp:6685 +msgid "Fill by:" +msgstr "Wypełnij:" -#: ../share/extensions/txt2svg.inx.h:3 -msgid "Text Input" -msgstr "Źródło tekstowe" +#: ../src/widgets/toolbox.cpp:6697 +msgid "Fill Threshold" +msgstr "Próg wypełniania" -#: ../share/extensions/whirl.inx.h:1 -msgid "Amount of whirl" -msgstr "Stopień skręcenia" +#: ../src/widgets/toolbox.cpp:6698 +msgid "The maximum allowed difference between the clicked pixel and the neighboring pixels to be counted in the fill" +msgstr "Maksymalna dozwolona różnica pomiędzy klikniętym pikselem, a sąsiednimi pikselami branymi pod uwagę podczas wypełniania" -#: ../share/extensions/whirl.inx.h:3 -msgid "Rotation is clockwise" -msgstr "Skręcenie w prawo" +#: ../src/widgets/toolbox.cpp:6723 +msgid "Grow/shrink by" +msgstr "Powiększ/pomniejsz o" -#: ../share/extensions/whirl.inx.h:4 -msgid "Whirl" -msgstr "Wir" +#: ../src/widgets/toolbox.cpp:6723 +msgid "Grow/shrink by:" +msgstr "Powiększ/pomniejsz o:" -#: ../share/extensions/wmf_input.inx.h:1 -msgid "A popular graphics file format for clipart" -msgstr "Popularny format graficzny dla klipartów" +#: ../src/widgets/toolbox.cpp:6724 +msgid "The amount to grow (positive) or shrink (negative) the created fill path" +msgstr "Wartość zwiększenia (wartości dodatnie) lub zmniejszenia (wartości ujemne) utworzonej ścieżki wypełnienia" -#: ../share/extensions/wmf_input.inx.h:2 -msgid "Windows Metafile (*.wmf)" -msgstr "Windows Metafile (*.wmf)" +#: ../src/widgets/toolbox.cpp:6749 +msgid "Close gaps" +msgstr "Zamyknie przerw" -#: ../share/extensions/wmf_input.inx.h:3 -msgid "Windows Metafile Input" -msgstr "Źródło Metaplik Windows" +#: ../src/widgets/toolbox.cpp:6750 +msgid "Close gaps:" +msgstr "Zamknij przerwy:" -#: ../share/extensions/xaml2svg.inx.h:3 -msgid "XAML Input" -msgstr "Źródło XAML" +#: ../src/widgets/toolbox.cpp:6762 +msgid "Reset paint bucket parameters to defaults (use Inkscape Preferences > Tools to change defaults)" +msgstr "Przywraca domyślne ustawienia wypełniania. Aby zmienić domyślne wartości przejdź do Ustawienia Inkscape » Narzędzia." diff --git a/po/ru.po b/po/ru.po index d5c471862..74a16232a 100644 --- a/po/ru.po +++ b/po/ru.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: inkscape\n" "Report-Msgid-Bugs-To: inkscape-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-09-20 01:31+0400\n" -"PO-Revision-Date: 2008-09-22 04:07+0300\n" +"POT-Creation-Date: 2008-10-26 02:38+0400\n" +"PO-Revision-Date: 2008-10-26 02:48+0300\n" "Last-Translator: Alexandre Prokoudine \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" @@ -31,44 +31,44 @@ msgstr "Создание и редактирование масштабируе msgid "Inkscape Vector Graphics Editor" msgstr "Редактор векторной графики Inkscape" -#: ../src/arc-context.cpp:340 +#: ../src/arc-context.cpp:341 msgid "Ctrl: make circle or integer-ratio ellipse, snap arc/segment angle" msgstr "Ctrl: создать круг или эллипс с целым отношением сторон, ограничить угол дуги/сегмента" -#: ../src/arc-context.cpp:341 -#: ../src/rect-context.cpp:384 +#: ../src/arc-context.cpp:342 +#: ../src/rect-context.cpp:383 msgid "Shift: draw around the starting point" msgstr "Shift: рисовать вокруг начальной точки" -#: ../src/arc-context.cpp:487 +#: ../src/arc-context.cpp:488 #, c-format msgid "Ellipse: %s × %s (constrained to ratio %d:%d); with Shift to draw around the starting point" msgstr "Эллипс: %s × %s; (с соотношением сторон %d:%d); с Shift рисует вокруг начальной точки" -#: ../src/arc-context.cpp:489 +#: ../src/arc-context.cpp:490 #, c-format msgid "Ellipse: %s × %s; with Ctrl to make square or integer-ratio ellipse; with Shift to draw around the starting point" msgstr "Эллипс: %s × %s; с Ctrl рисует круг или эллипс с целым отношением сторон; с Shift рисует вокруг начальной точки" -#: ../src/arc-context.cpp:508 +#: ../src/arc-context.cpp:509 msgid "Create ellipse" msgstr "Создание эллипса" -#: ../src/box3d-context.cpp:449 -#: ../src/box3d-context.cpp:456 -#: ../src/box3d-context.cpp:463 -#: ../src/box3d-context.cpp:470 -#: ../src/box3d-context.cpp:477 -#: ../src/box3d-context.cpp:484 +#: ../src/box3d-context.cpp:451 +#: ../src/box3d-context.cpp:458 +#: ../src/box3d-context.cpp:465 +#: ../src/box3d-context.cpp:472 +#: ../src/box3d-context.cpp:479 +#: ../src/box3d-context.cpp:486 msgid "Change perspective (angle of PLs)" msgstr "Менять перспективу (угол параллельных линий)" #. status text -#: ../src/box3d-context.cpp:639 +#: ../src/box3d-context.cpp:641 msgid "3D Box; with Shift to extrude along the Z axis" msgstr "Параллелепипед; с Shift — для выдавливания вдоль оси Z" -#: ../src/box3d-context.cpp:663 +#: ../src/box3d-context.cpp:665 msgid "Create 3D box" msgstr "Создание паралеллепипеда" @@ -76,46 +76,46 @@ msgstr "Создание паралеллепипеда" msgid "3D Box" msgstr "Параллелепипед" -#: ../src/connector-context.cpp:519 +#: ../src/connector-context.cpp:520 msgid "Creating new connector" msgstr "Создается новая соединительная линия" -#: ../src/connector-context.cpp:751 +#: ../src/connector-context.cpp:752 msgid "Connector endpoint drag cancelled." msgstr "Перемещение конечных точек соединительной линии отменено." -#: ../src/connector-context.cpp:799 +#: ../src/connector-context.cpp:800 msgid "Reroute connector" msgstr "Объекты пересоединены" #. Flush pending updates -#: ../src/connector-context.cpp:963 +#: ../src/connector-context.cpp:964 msgid "Create connector" msgstr "Создание соединительной линии" -#: ../src/connector-context.cpp:987 +#: ../src/connector-context.cpp:988 msgid "Finishing connector" msgstr "Соединительная линия закрывается" -#: ../src/connector-context.cpp:1130 +#: ../src/connector-context.cpp:1131 msgid "Connection point: click or drag to create a new connector" msgstr "Точка соединения: щелкните мышкой или перетащите для создания новой соединительной линии" -#: ../src/connector-context.cpp:1203 +#: ../src/connector-context.cpp:1204 msgid "Connector endpoint: drag to reroute or connect to new shapes" msgstr "Конечная соединительная точка: перетащите для пересоединения или соединения с новыми фигурами" -#: ../src/connector-context.cpp:1314 +#: ../src/connector-context.cpp:1316 msgid "Select at least one non-connector object." msgstr "Выделите как минимум один объект (не соединительную линию)." -#: ../src/connector-context.cpp:1319 -#: ../src/widgets/toolbox.cpp:6497 +#: ../src/connector-context.cpp:1321 +#: ../src/widgets/toolbox.cpp:6485 msgid "Make connectors avoid selected objects" msgstr "Линии обходят выделенные объекты" -#: ../src/connector-context.cpp:1320 -#: ../src/widgets/toolbox.cpp:6507 +#: ../src/connector-context.cpp:1322 +#: ../src/widgets/toolbox.cpp:6495 msgid "Make connectors ignore selected objects" msgstr "Линии игнорируют выделенные объекты" @@ -129,29 +129,29 @@ msgstr "Текущий слой скрыт. Включите его по msgid "Current layer is locked. Unlock it to be able to draw on it." msgstr "Текущий слой заперт. Отоприте его, чтобы иметь возможность снова рисовать на нём." -#: ../src/desktop.cpp:816 +#: ../src/desktop.cpp:820 msgid "No previous zoom." msgstr "Нет предыдущего масштаба." -#: ../src/desktop.cpp:841 +#: ../src/desktop.cpp:845 msgid "No next zoom." msgstr "Нет следующего масштаба." -#: ../src/desktop-events.cpp:175 +#: ../src/desktop-events.cpp:176 msgid "Create guide" msgstr "Создание направляющей" -#: ../src/desktop-events.cpp:221 -#: ../src/desktop-events.cpp:275 +#: ../src/desktop-events.cpp:222 +#: ../src/desktop-events.cpp:276 #: ../src/dialogs/guidelinedialog.cpp:127 msgid "Delete guide" msgstr "Удаление направляющей" -#: ../src/desktop-events.cpp:269 +#: ../src/desktop-events.cpp:270 msgid "Move guide" msgstr "Перемещение направляющей" -#: ../src/desktop-events.cpp:290 +#: ../src/desktop-events.cpp:291 #, c-format msgid "Guideline: %s" msgstr "Направляющая: %s" @@ -190,7 +190,7 @@ msgid "Delete tiled clones" msgstr "Удаление узора из клонов" #: ../src/dialogs/clonetiler.cpp:1111 -#: ../src/selection-chemistry.cpp:1835 +#: ../src/selection-chemistry.cpp:1845 msgid "Select an object to clone." msgstr "Выделите объект для клонирования." @@ -202,23 +202,23 @@ msgstr "Для клонирования нескольких объектов Creating tiled clones..." msgstr "Создается узор из клонов..." -#: ../src/dialogs/clonetiler.cpp:1531 +#: ../src/dialogs/clonetiler.cpp:1529 msgid "Create tiled clones" msgstr "Создание узора из клонов" -#: ../src/dialogs/clonetiler.cpp:1722 +#: ../src/dialogs/clonetiler.cpp:1720 msgid "Per row:" msgstr "На строку:" -#: ../src/dialogs/clonetiler.cpp:1735 +#: ../src/dialogs/clonetiler.cpp:1733 msgid "Per column:" msgstr "На столбец:" -#: ../src/dialogs/clonetiler.cpp:1743 +#: ../src/dialogs/clonetiler.cpp:1741 msgid "Randomize:" msgstr "Случайно:" -#: ../src/dialogs/clonetiler.cpp:1904 +#: ../src/dialogs/clonetiler.cpp:1902 msgid "_Symmetry" msgstr "С_имметрия" @@ -227,483 +227,483 @@ msgstr "С_имметрия" #. * http://www.clarku.edu/~djoyce/wallpaper/seventeen.html (English vocabulary); or #. * http://membres.lycos.fr/villemingerard/Geometri/Sym1D.htm (French vocabulary). #. -#: ../src/dialogs/clonetiler.cpp:1912 +#: ../src/dialogs/clonetiler.cpp:1910 msgid "Select one of the 17 symmetry groups for the tiling" msgstr "Выберите одну из 17 групп симметрии для узора" #. TRANSLATORS: "translation" means "shift" / "displacement" here. -#: ../src/dialogs/clonetiler.cpp:1923 +#: ../src/dialogs/clonetiler.cpp:1921 msgid "P1: simple translation" msgstr "P1: простое смещение" -#: ../src/dialogs/clonetiler.cpp:1924 +#: ../src/dialogs/clonetiler.cpp:1922 msgid "P2: 180° rotation" msgstr "P2: поворот на 180°" -#: ../src/dialogs/clonetiler.cpp:1925 +#: ../src/dialogs/clonetiler.cpp:1923 msgid "PM: reflection" msgstr "PM: отражение" #. TRANSLATORS: "glide reflection" is a reflection and a translation combined. #. For more info, see http://mathforum.org/sum95/suzanne/symsusan.html -#: ../src/dialogs/clonetiler.cpp:1928 +#: ../src/dialogs/clonetiler.cpp:1926 msgid "PG: glide reflection" msgstr "PG: отражение со сдвигом" -#: ../src/dialogs/clonetiler.cpp:1929 +#: ../src/dialogs/clonetiler.cpp:1927 msgid "CM: reflection + glide reflection" msgstr "CM: отражение + отражение со сдвигом" -#: ../src/dialogs/clonetiler.cpp:1930 +#: ../src/dialogs/clonetiler.cpp:1928 msgid "PMM: reflection + reflection" msgstr "PMM: отражение + отражение" -#: ../src/dialogs/clonetiler.cpp:1931 +#: ../src/dialogs/clonetiler.cpp:1929 msgid "PMG: reflection + 180° rotation" msgstr "PMG: отражение + поворот на 180°" -#: ../src/dialogs/clonetiler.cpp:1932 +#: ../src/dialogs/clonetiler.cpp:1930 msgid "PGG: glide reflection + 180° rotation" msgstr "PGG: отражение со сдвигом + поворот на 180°" -#: ../src/dialogs/clonetiler.cpp:1933 +#: ../src/dialogs/clonetiler.cpp:1931 msgid "CMM: reflection + reflection + 180° rotation" msgstr "CMM: отражение + отражение + поворот на 180°" -#: ../src/dialogs/clonetiler.cpp:1934 +#: ../src/dialogs/clonetiler.cpp:1932 msgid "P4: 90° rotation" msgstr "P4: поворот на 90°" -#: ../src/dialogs/clonetiler.cpp:1935 +#: ../src/dialogs/clonetiler.cpp:1933 msgid "P4M: 90° rotation + 45° reflection" msgstr "P4M: поворот на 90° + отражение на 45°" -#: ../src/dialogs/clonetiler.cpp:1936 +#: ../src/dialogs/clonetiler.cpp:1934 msgid "P4G: 90° rotation + 90° reflection" msgstr "P4G: поворот на 90° + отражение на 90°" -#: ../src/dialogs/clonetiler.cpp:1937 +#: ../src/dialogs/clonetiler.cpp:1935 msgid "P3: 120° rotation" msgstr "P3: поворот на 120°" -#: ../src/dialogs/clonetiler.cpp:1938 +#: ../src/dialogs/clonetiler.cpp:1936 msgid "P31M: reflection + 120° rotation, dense" msgstr "P31M: отражение + поворот на 120°, плотно" -#: ../src/dialogs/clonetiler.cpp:1939 +#: ../src/dialogs/clonetiler.cpp:1937 msgid "P3M1: reflection + 120° rotation, sparse" msgstr "P3M1: отражение + поворот на 120°, редко" -#: ../src/dialogs/clonetiler.cpp:1940 +#: ../src/dialogs/clonetiler.cpp:1938 msgid "P6: 60° rotation" msgstr "P6: поворот на 60°" -#: ../src/dialogs/clonetiler.cpp:1941 +#: ../src/dialogs/clonetiler.cpp:1939 msgid "P6M: reflection + 60° rotation" msgstr "P6M: отражение + поворот на 60°" -#: ../src/dialogs/clonetiler.cpp:1969 +#: ../src/dialogs/clonetiler.cpp:1967 msgid "S_hift" msgstr "Сме_щение" #. TRANSLATORS: "shift" means: the tiles will be shifted (offset) horizontally by this amount -#: ../src/dialogs/clonetiler.cpp:1979 +#: ../src/dialogs/clonetiler.cpp:1977 #, no-c-format msgid "Shift X:" msgstr "Смещение по X:" -#: ../src/dialogs/clonetiler.cpp:1987 +#: ../src/dialogs/clonetiler.cpp:1985 #, no-c-format msgid "Horizontal shift per row (in % of tile width)" msgstr "" "Смещение по горизонтали на каждую строку\n" "(в процентах от ширины элемента узора)" -#: ../src/dialogs/clonetiler.cpp:1995 +#: ../src/dialogs/clonetiler.cpp:1993 #, no-c-format msgid "Horizontal shift per column (in % of tile width)" msgstr "" "Смещение по горизонтали на каждый столбец\n" "(в процентах от ширины элемента узора)" -#: ../src/dialogs/clonetiler.cpp:2002 +#: ../src/dialogs/clonetiler.cpp:2000 msgid "Randomize the horizontal shift by this percentage" msgstr "" "Случайно менять смещение по горизонтали\n" "на этот процент" #. TRANSLATORS: "shift" means: the tiles will be shifted (offset) vertically by this amount -#: ../src/dialogs/clonetiler.cpp:2012 +#: ../src/dialogs/clonetiler.cpp:2010 #, no-c-format msgid "Shift Y:" msgstr "Смещение по Y:" -#: ../src/dialogs/clonetiler.cpp:2020 +#: ../src/dialogs/clonetiler.cpp:2018 #, no-c-format msgid "Vertical shift per row (in % of tile height)" msgstr "" "Смещение по вертикали на каждую строку\n" "(в процентах от высоты элемента узора)" -#: ../src/dialogs/clonetiler.cpp:2028 +#: ../src/dialogs/clonetiler.cpp:2026 #, no-c-format msgid "Vertical shift per column (in % of tile height)" msgstr "" "Смещение по вертикали на каждый столбец\n" "(в процентах от высоты элемента узора)" -#: ../src/dialogs/clonetiler.cpp:2035 +#: ../src/dialogs/clonetiler.cpp:2033 msgid "Randomize the vertical shift by this percentage" msgstr "" "Случайно менять смещение по вертикали\n" "на этот процент" -#: ../src/dialogs/clonetiler.cpp:2043 -#: ../src/dialogs/clonetiler.cpp:2191 +#: ../src/dialogs/clonetiler.cpp:2041 +#: ../src/dialogs/clonetiler.cpp:2189 msgid "Exponent:" msgstr "Экспонента:" -#: ../src/dialogs/clonetiler.cpp:2050 +#: ../src/dialogs/clonetiler.cpp:2048 msgid "Whether rows are spaced evenly (1), converge (<1) or diverge (>1)" msgstr "Располагать ли строки на одинаковом расстоянии (1), постепенно сдвигая (<1) или раздвигая (>1)" -#: ../src/dialogs/clonetiler.cpp:2057 +#: ../src/dialogs/clonetiler.cpp:2055 msgid "Whether columns are spaced evenly (1), converge (<1) or diverge (>1)" msgstr "Располагать ли столбцы на одинаковом расстоянии (1), постепенно сдвигая (<1) или раздвигая (>1)" #. TRANSLATORS: "Alternate" is a verb here -#: ../src/dialogs/clonetiler.cpp:2065 -#: ../src/dialogs/clonetiler.cpp:2235 -#: ../src/dialogs/clonetiler.cpp:2312 -#: ../src/dialogs/clonetiler.cpp:2388 -#: ../src/dialogs/clonetiler.cpp:2437 -#: ../src/dialogs/clonetiler.cpp:2568 +#: ../src/dialogs/clonetiler.cpp:2063 +#: ../src/dialogs/clonetiler.cpp:2233 +#: ../src/dialogs/clonetiler.cpp:2310 +#: ../src/dialogs/clonetiler.cpp:2386 +#: ../src/dialogs/clonetiler.cpp:2435 +#: ../src/dialogs/clonetiler.cpp:2566 msgid "Alternate:" msgstr "Чередовать:" -#: ../src/dialogs/clonetiler.cpp:2071 +#: ../src/dialogs/clonetiler.cpp:2069 msgid "Alternate the sign of shifts for each row" msgstr "Чередовать знак смещения для каждой строки" -#: ../src/dialogs/clonetiler.cpp:2076 +#: ../src/dialogs/clonetiler.cpp:2074 msgid "Alternate the sign of shifts for each column" msgstr "Чередовать знак смещения для каждого столбца" #. TRANSLATORS: "Cumulate" is a verb here -#: ../src/dialogs/clonetiler.cpp:2083 -#: ../src/dialogs/clonetiler.cpp:2253 -#: ../src/dialogs/clonetiler.cpp:2330 +#: ../src/dialogs/clonetiler.cpp:2081 +#: ../src/dialogs/clonetiler.cpp:2251 +#: ../src/dialogs/clonetiler.cpp:2328 msgid "Cumulate:" msgstr "Накапливать:" -#: ../src/dialogs/clonetiler.cpp:2089 +#: ../src/dialogs/clonetiler.cpp:2087 msgid "Cumulate the shifts for each row" msgstr "Накапливать смещение для каждой строки" -#: ../src/dialogs/clonetiler.cpp:2094 +#: ../src/dialogs/clonetiler.cpp:2092 msgid "Cumulate the shifts for each column" msgstr "Накапливать смещение для каждого столбца" #. TRANSLATORS: "Cumulate" is a verb here -#: ../src/dialogs/clonetiler.cpp:2101 +#: ../src/dialogs/clonetiler.cpp:2099 msgid "Exclude tile:" msgstr "Исключить элемент:" -#: ../src/dialogs/clonetiler.cpp:2107 +#: ../src/dialogs/clonetiler.cpp:2105 msgid "Exclude tile height in shift" msgstr "Исключить высоту элемента при смещении" -#: ../src/dialogs/clonetiler.cpp:2112 +#: ../src/dialogs/clonetiler.cpp:2110 msgid "Exclude tile width in shift" msgstr "Исключить ширину элемента при смещении" -#: ../src/dialogs/clonetiler.cpp:2121 +#: ../src/dialogs/clonetiler.cpp:2119 msgid "Sc_ale" msgstr "_Масштаб" -#: ../src/dialogs/clonetiler.cpp:2129 +#: ../src/dialogs/clonetiler.cpp:2127 msgid "Scale X:" msgstr "Масштаб по X:" -#: ../src/dialogs/clonetiler.cpp:2137 +#: ../src/dialogs/clonetiler.cpp:2135 #, no-c-format msgid "Horizontal scale per row (in % of tile width)" msgstr "" "Масштабировать по горизонтали на каждую строку\n" "(в процентах от ширины элемента узора)" -#: ../src/dialogs/clonetiler.cpp:2145 +#: ../src/dialogs/clonetiler.cpp:2143 #, no-c-format msgid "Horizontal scale per column (in % of tile width)" msgstr "" "Масштабировать по горизонтали на каждый столбец\n" "(в процентах от ширины элемента узора)" -#: ../src/dialogs/clonetiler.cpp:2152 +#: ../src/dialogs/clonetiler.cpp:2150 msgid "Randomize the horizontal scale by this percentage" msgstr "" "Случайным образом масштабировать \n" "по горизонтали на этот процент" -#: ../src/dialogs/clonetiler.cpp:2160 +#: ../src/dialogs/clonetiler.cpp:2158 msgid "Scale Y:" msgstr "Масштаб по Y:" -#: ../src/dialogs/clonetiler.cpp:2168 +#: ../src/dialogs/clonetiler.cpp:2166 #, no-c-format msgid "Vertical scale per row (in % of tile height)" msgstr "" "Масштабировать по вертикали на каждую строку\n" "(в процентах от высоты элемента узора)" -#: ../src/dialogs/clonetiler.cpp:2176 +#: ../src/dialogs/clonetiler.cpp:2174 #, no-c-format msgid "Vertical scale per column (in % of tile height)" msgstr "" "Масштабировать по вертикали на каждый столбец\n" "(в процентах от высоты элемента узора)" -#: ../src/dialogs/clonetiler.cpp:2183 +#: ../src/dialogs/clonetiler.cpp:2181 msgid "Randomize the vertical scale by this percentage" msgstr "" "Случайным образом масштабировать\n" "по вертикали на этот процент" -#: ../src/dialogs/clonetiler.cpp:2198 +#: ../src/dialogs/clonetiler.cpp:2196 msgid "Whether row scaling is uniform (1), converge (<1) or diverge (>1)" msgstr "Располагать ли строки на одинаковом расстоянии (1), постепенно сдвигая (<1) или раздвигая (>1)" -#: ../src/dialogs/clonetiler.cpp:2205 +#: ../src/dialogs/clonetiler.cpp:2203 msgid "Whether column scaling is uniform (1), converge (<1) or diverge (>1)" msgstr "Располагать ли столбцы на одинаковом расстоянии (1), постепенно сдвигая (<1) или раздвигая (>1)" -#: ../src/dialogs/clonetiler.cpp:2213 +#: ../src/dialogs/clonetiler.cpp:2211 msgid "Base:" msgstr "Основа" -#: ../src/dialogs/clonetiler.cpp:2220 -#: ../src/dialogs/clonetiler.cpp:2227 +#: ../src/dialogs/clonetiler.cpp:2218 +#: ../src/dialogs/clonetiler.cpp:2225 msgid "Base for a logarithmic spiral: not used (0), converge (<1), or diverge (>1)" msgstr "Основа логарифмической спирали: не используется (0), сходящаяся спираль (<1), расходящаяся спираль (>1)" -#: ../src/dialogs/clonetiler.cpp:2241 +#: ../src/dialogs/clonetiler.cpp:2239 msgid "Alternate the sign of scales for each row" msgstr "Чередовать знак масштаба для каждой строки" -#: ../src/dialogs/clonetiler.cpp:2246 +#: ../src/dialogs/clonetiler.cpp:2244 msgid "Alternate the sign of scales for each column" msgstr "Чередовать знак масштаба для каждого столбца" -#: ../src/dialogs/clonetiler.cpp:2259 +#: ../src/dialogs/clonetiler.cpp:2257 msgid "Cumulate the scales for each row" msgstr "Накапливать масштаб для каждой строки" -#: ../src/dialogs/clonetiler.cpp:2264 +#: ../src/dialogs/clonetiler.cpp:2262 msgid "Cumulate the scales for each column" msgstr "Накапливать масштаб для каждого столбца" -#: ../src/dialogs/clonetiler.cpp:2273 +#: ../src/dialogs/clonetiler.cpp:2271 msgid "_Rotation" msgstr "_Поворот" -#: ../src/dialogs/clonetiler.cpp:2281 +#: ../src/dialogs/clonetiler.cpp:2279 msgid "Angle:" msgstr "Угол:" -#: ../src/dialogs/clonetiler.cpp:2289 +#: ../src/dialogs/clonetiler.cpp:2287 #, no-c-format msgid "Rotate tiles by this angle for each row" msgstr "Поворачивать элементы узора на этот угол в каждой строке" -#: ../src/dialogs/clonetiler.cpp:2297 +#: ../src/dialogs/clonetiler.cpp:2295 #, no-c-format msgid "Rotate tiles by this angle for each column" msgstr "Поворачивать элементы узора на этот угол в каждом столбце" -#: ../src/dialogs/clonetiler.cpp:2304 +#: ../src/dialogs/clonetiler.cpp:2302 msgid "Randomize the rotation angle by this percentage" msgstr "" "Случайным образом менять \n" "угол поворота на этот процент" -#: ../src/dialogs/clonetiler.cpp:2318 +#: ../src/dialogs/clonetiler.cpp:2316 msgid "Alternate the rotation direction for each row" msgstr "Чередовать направление поворота для каждой строки" -#: ../src/dialogs/clonetiler.cpp:2323 +#: ../src/dialogs/clonetiler.cpp:2321 msgid "Alternate the rotation direction for each column" msgstr "Чередовать направление поворота для каждого столбца" -#: ../src/dialogs/clonetiler.cpp:2336 +#: ../src/dialogs/clonetiler.cpp:2334 msgid "Cumulate the rotation for each row" msgstr "Накапливать поворот для каждой строки" -#: ../src/dialogs/clonetiler.cpp:2341 +#: ../src/dialogs/clonetiler.cpp:2339 msgid "Cumulate the rotation for each column" msgstr "Накапливать поворот для каждого столбца" -#: ../src/dialogs/clonetiler.cpp:2350 +#: ../src/dialogs/clonetiler.cpp:2348 msgid "_Blur & opacity" msgstr "_Размывание и непрозрачность" -#: ../src/dialogs/clonetiler.cpp:2359 +#: ../src/dialogs/clonetiler.cpp:2357 msgid "Blur:" msgstr "Размывание:" -#: ../src/dialogs/clonetiler.cpp:2366 +#: ../src/dialogs/clonetiler.cpp:2364 msgid "Blur tiles by this percentage for each row" msgstr "Размыть элементы узора на этот процент для каждой строки" -#: ../src/dialogs/clonetiler.cpp:2373 +#: ../src/dialogs/clonetiler.cpp:2371 msgid "Blur tiles by this percentage for each column" msgstr "Размыть элементы узора на этот процент для каждого столбца" -#: ../src/dialogs/clonetiler.cpp:2380 +#: ../src/dialogs/clonetiler.cpp:2378 msgid "Randomize the tile blur by this percentage" msgstr "Случайно менять размывание на этот процент" -#: ../src/dialogs/clonetiler.cpp:2394 +#: ../src/dialogs/clonetiler.cpp:2392 msgid "Alternate the sign of blur change for each row" msgstr "Чередовать знак изменения размывания для каждой строки" -#: ../src/dialogs/clonetiler.cpp:2399 +#: ../src/dialogs/clonetiler.cpp:2397 msgid "Alternate the sign of blur change for each column" msgstr "Чередовать знак изменения размывания для каждого столбца" -#: ../src/dialogs/clonetiler.cpp:2408 +#: ../src/dialogs/clonetiler.cpp:2406 msgid "Fade out:" msgstr "Прозрачнее на:" -#: ../src/dialogs/clonetiler.cpp:2415 +#: ../src/dialogs/clonetiler.cpp:2413 msgid "Decrease tile opacity by this percentage for each row" msgstr "" "Увеличить прозрачность элементов узора\n" "на этот процент для каждой строки" -#: ../src/dialogs/clonetiler.cpp:2422 +#: ../src/dialogs/clonetiler.cpp:2420 msgid "Decrease tile opacity by this percentage for each column" msgstr "" "Увеличить прозрачность элементов узора\n" "на этот процент для каждого столбца" -#: ../src/dialogs/clonetiler.cpp:2429 +#: ../src/dialogs/clonetiler.cpp:2427 msgid "Randomize the tile opacity by this percentage" msgstr "Случайно менять прозрачность, максимум на данный процент" -#: ../src/dialogs/clonetiler.cpp:2443 +#: ../src/dialogs/clonetiler.cpp:2441 msgid "Alternate the sign of opacity change for each row" msgstr "" "Чередовать знак изменения прозрачности\n" "для каждой строки" -#: ../src/dialogs/clonetiler.cpp:2448 +#: ../src/dialogs/clonetiler.cpp:2446 msgid "Alternate the sign of opacity change for each column" msgstr "" "Чередовать знак изменения прозрачности\n" "для каждого столбца" -#: ../src/dialogs/clonetiler.cpp:2456 +#: ../src/dialogs/clonetiler.cpp:2454 msgid "Co_lor" msgstr "Цвет" -#: ../src/dialogs/clonetiler.cpp:2461 +#: ../src/dialogs/clonetiler.cpp:2459 msgid "Initial color: " msgstr "Исходный цвет:" -#: ../src/dialogs/clonetiler.cpp:2465 +#: ../src/dialogs/clonetiler.cpp:2463 msgid "Initial color of tiled clones" msgstr "Исходный цвет элементов узора" -#: ../src/dialogs/clonetiler.cpp:2465 +#: ../src/dialogs/clonetiler.cpp:2463 msgid "Initial color for clones (works only if the original has unset fill or stroke)" msgstr "Исходный цвет клонов (у оригинала должен быть сброшен цвет заливки или обводки)" -#: ../src/dialogs/clonetiler.cpp:2480 +#: ../src/dialogs/clonetiler.cpp:2478 msgid "H:" msgstr "H:" -#: ../src/dialogs/clonetiler.cpp:2487 +#: ../src/dialogs/clonetiler.cpp:2485 msgid "Change the tile hue by this percentage for each row" msgstr "" "Менять цветовой тон элементов узора\n" "на этот процент для каждой строки" -#: ../src/dialogs/clonetiler.cpp:2494 +#: ../src/dialogs/clonetiler.cpp:2492 msgid "Change the tile hue by this percentage for each column" msgstr "" "Менять цветовой тон элементов узора\n" "на этот процент для каждого столбца" -#: ../src/dialogs/clonetiler.cpp:2501 +#: ../src/dialogs/clonetiler.cpp:2499 msgid "Randomize the tile hue by this percentage" msgstr "Случайно менять цветовой тон, максимум на этот процент" -#: ../src/dialogs/clonetiler.cpp:2510 +#: ../src/dialogs/clonetiler.cpp:2508 msgid "S:" msgstr "S:" -#: ../src/dialogs/clonetiler.cpp:2517 +#: ../src/dialogs/clonetiler.cpp:2515 msgid "Change the color saturation by this percentage for each row" msgstr "" "Менять насыщенность цвета элементов узора\n" "на этот процент для каждой строки" -#: ../src/dialogs/clonetiler.cpp:2524 +#: ../src/dialogs/clonetiler.cpp:2522 msgid "Change the color saturation by this percentage for each column" msgstr "" "Менять насыщенность цвета элементов узора\n" "на этот процент для каждого столбца" -#: ../src/dialogs/clonetiler.cpp:2531 +#: ../src/dialogs/clonetiler.cpp:2529 msgid "Randomize the color saturation by this percentage" msgstr "Случайно менять насыщенность цвета, максимум на этот процент" -#: ../src/dialogs/clonetiler.cpp:2539 +#: ../src/dialogs/clonetiler.cpp:2537 msgid "L:" msgstr "L:" -#: ../src/dialogs/clonetiler.cpp:2546 +#: ../src/dialogs/clonetiler.cpp:2544 msgid "Change the color lightness by this percentage for each row" msgstr "Менять яркость цвета на этот процент для каждой строки" -#: ../src/dialogs/clonetiler.cpp:2553 +#: ../src/dialogs/clonetiler.cpp:2551 msgid "Change the color lightness by this percentage for each column" msgstr "Менять яркость цвета на этот процент для каждого столбца" -#: ../src/dialogs/clonetiler.cpp:2560 +#: ../src/dialogs/clonetiler.cpp:2558 msgid "Randomize the color lightness by this percentage" msgstr "Случайно менять яркость цвета, максимум на данный процент" -#: ../src/dialogs/clonetiler.cpp:2574 +#: ../src/dialogs/clonetiler.cpp:2572 msgid "Alternate the sign of color changes for each row" msgstr "" "Чередовать знак изменения цвета\n" "для каждой строки" -#: ../src/dialogs/clonetiler.cpp:2579 +#: ../src/dialogs/clonetiler.cpp:2577 msgid "Alternate the sign of color changes for each column" msgstr "" "Чередовать знак изменения цвета\n" "для каждого столбца" -#: ../src/dialogs/clonetiler.cpp:2587 +#: ../src/dialogs/clonetiler.cpp:2585 msgid "_Trace" msgstr "_Обводка" -#: ../src/dialogs/clonetiler.cpp:2594 +#: ../src/dialogs/clonetiler.cpp:2592 msgid "Trace the drawing under the tiles" msgstr "Обвести узором рисунок под ним" -#: ../src/dialogs/clonetiler.cpp:2598 +#: ../src/dialogs/clonetiler.cpp:2596 msgid "For each clone, pick a value from the drawing in that clone's location and apply it to the clone" msgstr "Для каждого клона в узоре взять значение под клоном и применить его к клону" -#: ../src/dialogs/clonetiler.cpp:2612 +#: ../src/dialogs/clonetiler.cpp:2610 msgid "1. Pick from the drawing:" msgstr "1. Взять значение:" -#: ../src/dialogs/clonetiler.cpp:2623 -#: ../src/dialogs/clonetiler.cpp:2770 +#: ../src/dialogs/clonetiler.cpp:2621 +#: ../src/dialogs/clonetiler.cpp:2768 #: ../src/extension/internal/bitmap/colorize.cpp:51 #: ../share/extensions/color_brighter.inx.h:2 #: ../share/extensions/color_custom.inx.h:2 @@ -726,171 +726,171 @@ msgstr "1. Взять значение:" msgid "Color" msgstr "Цвет" -#: ../src/dialogs/clonetiler.cpp:2624 +#: ../src/dialogs/clonetiler.cpp:2622 msgid "Pick the visible color and opacity" msgstr "Взять видимый цвет (без прозрачности) в каждой точке" -#: ../src/dialogs/clonetiler.cpp:2631 -#: ../src/dialogs/clonetiler.cpp:2780 +#: ../src/dialogs/clonetiler.cpp:2629 +#: ../src/dialogs/clonetiler.cpp:2778 #: ../src/extension/internal/bitmap/opacity.cpp:37 #: ../src/extension/internal/bitmap/opacity.cpp:39 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2245 -#: ../src/widgets/toolbox.cpp:3854 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2246 +#: ../src/widgets/toolbox.cpp:3845 msgid "Opacity" msgstr "Непрозрачность" -#: ../src/dialogs/clonetiler.cpp:2632 +#: ../src/dialogs/clonetiler.cpp:2630 msgid "Pick the total accumulated opacity" msgstr "Взять суммарную непрозрачность в каждой точке" -#: ../src/dialogs/clonetiler.cpp:2639 +#: ../src/dialogs/clonetiler.cpp:2637 msgid "R" msgstr "R" -#: ../src/dialogs/clonetiler.cpp:2640 +#: ../src/dialogs/clonetiler.cpp:2638 msgid "Pick the Red component of the color" msgstr "Взять значение красного канала цвета" -#: ../src/dialogs/clonetiler.cpp:2647 +#: ../src/dialogs/clonetiler.cpp:2645 msgid "G" msgstr "G" -#: ../src/dialogs/clonetiler.cpp:2648 +#: ../src/dialogs/clonetiler.cpp:2646 msgid "Pick the Green component of the color" msgstr "Взять значение зеленого канала цвета" -#: ../src/dialogs/clonetiler.cpp:2655 +#: ../src/dialogs/clonetiler.cpp:2653 msgid "B" msgstr "B" -#: ../src/dialogs/clonetiler.cpp:2656 +#: ../src/dialogs/clonetiler.cpp:2654 msgid "Pick the Blue component of the color" msgstr "Взять значение синего канала цвета" #. TRANSLATORS: only translate "string" in "context|string". #. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS -#: ../src/dialogs/clonetiler.cpp:2665 +#: ../src/dialogs/clonetiler.cpp:2663 msgid "clonetiler|H" msgstr "H" -#: ../src/dialogs/clonetiler.cpp:2666 +#: ../src/dialogs/clonetiler.cpp:2664 msgid "Pick the hue of the color" msgstr "Взять цветовой тон" #. TRANSLATORS: only translate "string" in "context|string". #. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS -#: ../src/dialogs/clonetiler.cpp:2675 +#: ../src/dialogs/clonetiler.cpp:2673 msgid "clonetiler|S" msgstr "S" -#: ../src/dialogs/clonetiler.cpp:2676 +#: ../src/dialogs/clonetiler.cpp:2674 msgid "Pick the saturation of the color" msgstr "Взять насыщенность цвета" #. TRANSLATORS: only translate "string" in "context|string". #. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS -#: ../src/dialogs/clonetiler.cpp:2685 +#: ../src/dialogs/clonetiler.cpp:2683 msgid "clonetiler|L" msgstr "L" -#: ../src/dialogs/clonetiler.cpp:2686 +#: ../src/dialogs/clonetiler.cpp:2684 msgid "Pick the lightness of the color" msgstr "Взять яркость цвета" -#: ../src/dialogs/clonetiler.cpp:2696 +#: ../src/dialogs/clonetiler.cpp:2694 msgid "2. Tweak the picked value:" msgstr "2. Изменить взятое значение:" -#: ../src/dialogs/clonetiler.cpp:2706 +#: ../src/dialogs/clonetiler.cpp:2704 msgid "Gamma-correct:" msgstr "Гамма-коррекция:" -#: ../src/dialogs/clonetiler.cpp:2711 +#: ../src/dialogs/clonetiler.cpp:2709 msgid "Shift the mid-range of the picked value upwards (>0) or downwards (<0)" msgstr "Сдвинуть середину диапазона снятых значений вверх (>0) или вниз (<0)" -#: ../src/dialogs/clonetiler.cpp:2718 +#: ../src/dialogs/clonetiler.cpp:2716 msgid "Randomize:" msgstr "Случайно:" -#: ../src/dialogs/clonetiler.cpp:2723 +#: ../src/dialogs/clonetiler.cpp:2721 msgid "Randomize the picked value by this percentage" msgstr "Случайно менять взятое значение, максимум на данный процент" -#: ../src/dialogs/clonetiler.cpp:2730 +#: ../src/dialogs/clonetiler.cpp:2728 msgid "Invert:" msgstr "Инвертировать:" -#: ../src/dialogs/clonetiler.cpp:2734 +#: ../src/dialogs/clonetiler.cpp:2732 msgid "Invert the picked value" msgstr "Инвертировать взятое значение" -#: ../src/dialogs/clonetiler.cpp:2740 +#: ../src/dialogs/clonetiler.cpp:2738 msgid "3. Apply the value to the clones':" msgstr "3. Применить это значение к клонам через:" -#: ../src/dialogs/clonetiler.cpp:2750 +#: ../src/dialogs/clonetiler.cpp:2748 msgid "Presence" msgstr "Наличие" -#: ../src/dialogs/clonetiler.cpp:2753 +#: ../src/dialogs/clonetiler.cpp:2751 msgid "Each clone is created with the probability determined by the picked value in that point" msgstr "Вероятность появления каждого клона определяется значением, взятым в данной точке" -#: ../src/dialogs/clonetiler.cpp:2760 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2220 +#: ../src/dialogs/clonetiler.cpp:2758 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2221 msgid "Size" msgstr "Размер" -#: ../src/dialogs/clonetiler.cpp:2763 +#: ../src/dialogs/clonetiler.cpp:2761 msgid "Each clone's size is determined by the picked value in that point" msgstr "Размер каждого клона определяется значением, взятым в данной точке" -#: ../src/dialogs/clonetiler.cpp:2773 +#: ../src/dialogs/clonetiler.cpp:2771 msgid "Each clone is painted by the picked color (the original must have unset fill or stroke)" msgstr "Каждый клон красится взятым в данной точке цветом (у оригинала должен быть сброшен цвет заливки или обводки)" -#: ../src/dialogs/clonetiler.cpp:2783 +#: ../src/dialogs/clonetiler.cpp:2781 msgid "Each clone's opacity is determined by the picked value in that point" msgstr "Прозрачность каждого клона определяется значением, взятым в данной точке" -#: ../src/dialogs/clonetiler.cpp:2810 +#: ../src/dialogs/clonetiler.cpp:2808 msgid "How many rows in the tiling" msgstr "Количество строк в узоре" -#: ../src/dialogs/clonetiler.cpp:2830 +#: ../src/dialogs/clonetiler.cpp:2828 msgid "How many columns in the tiling" msgstr "Количество столбцов в узоре" -#: ../src/dialogs/clonetiler.cpp:2860 +#: ../src/dialogs/clonetiler.cpp:2858 msgid "Width of the rectangle to be filled" msgstr "Ширина заполняемой области" -#: ../src/dialogs/clonetiler.cpp:2885 +#: ../src/dialogs/clonetiler.cpp:2883 msgid "Height of the rectangle to be filled" msgstr "Высота заполняемой области" -#: ../src/dialogs/clonetiler.cpp:2900 +#: ../src/dialogs/clonetiler.cpp:2898 msgid "Rows, columns: " msgstr "Строк, столбцов: " -#: ../src/dialogs/clonetiler.cpp:2901 +#: ../src/dialogs/clonetiler.cpp:2899 msgid "Create the specified number of rows and columns" msgstr "Создать указанное количество строк и столбцов" -#: ../src/dialogs/clonetiler.cpp:2910 +#: ../src/dialogs/clonetiler.cpp:2908 msgid "Width, height: " msgstr "Ширина, высота: " -#: ../src/dialogs/clonetiler.cpp:2911 +#: ../src/dialogs/clonetiler.cpp:2909 msgid "Fill the specified width and height with the tiling" msgstr "Заполнить узором указанную область" -#: ../src/dialogs/clonetiler.cpp:2927 +#: ../src/dialogs/clonetiler.cpp:2925 msgid "Use saved size and position of the tile" msgstr "Использовать запомненный размер и позицию оригинала" -#: ../src/dialogs/clonetiler.cpp:2930 +#: ../src/dialogs/clonetiler.cpp:2928 msgid "Pretend that the size and position of the tile are the same as the last time you tiled it (if any), instead of using the current size" msgstr "" "Использовать те же самые размер и позицию элемента узора,\n" @@ -898,11 +898,11 @@ msgstr "" "узор из этого же объекта (если делали),\n" "вместо того чтобы использовать его настоящий размер/позицию" -#: ../src/dialogs/clonetiler.cpp:2954 +#: ../src/dialogs/clonetiler.cpp:2952 msgid " _Create " msgstr "_Создать" -#: ../src/dialogs/clonetiler.cpp:2956 +#: ../src/dialogs/clonetiler.cpp:2954 msgid "Create and tile the clones of the selection" msgstr "Создать узор из клонов выделенного объекта" @@ -911,30 +911,30 @@ msgstr "Создать узор из клонов выделенного объ #. diagrams on the left in the following screenshot: #. http://www.inkscape.org/screenshots/gallery/inkscape-0.42-CVS-tiles-unclump.png #. So unclumping is the process of spreading a number of objects out more evenly. -#: ../src/dialogs/clonetiler.cpp:2971 +#: ../src/dialogs/clonetiler.cpp:2969 msgid " _Unclump " msgstr " _Разровнять" -#: ../src/dialogs/clonetiler.cpp:2972 +#: ../src/dialogs/clonetiler.cpp:2970 msgid "Spread out clones to reduce clumping; can be applied repeatedly" msgstr "Распределить клоны более равномерно, избавиться от комков; можно применять несколько раз подряд" -#: ../src/dialogs/clonetiler.cpp:2978 +#: ../src/dialogs/clonetiler.cpp:2976 msgid " Re_move " msgstr " _Удалить " -#: ../src/dialogs/clonetiler.cpp:2979 +#: ../src/dialogs/clonetiler.cpp:2977 msgid "Remove existing tiled clones of the selected object (siblings only)" msgstr "" "Удалить составляющие узор клоны выделенного объекта\n" "(только в том же слое/группе)" -#: ../src/dialogs/clonetiler.cpp:2995 +#: ../src/dialogs/clonetiler.cpp:2993 msgid " R_eset " msgstr " С_бросить " #. TRANSLATORS: "change" is a noun here -#: ../src/dialogs/clonetiler.cpp:2997 +#: ../src/dialogs/clonetiler.cpp:2995 msgid "Reset all shifts, scales, rotates, opacity and color changes in the dialog to zero" msgstr "Обнулить все введенные значения смещения, масштабирования, поворотов, непрозрачности и цвета" @@ -945,27 +945,27 @@ msgstr "Сообщения" #. ## Add a menu for clear() #: ../src/dialogs/debugdialog.cpp:141 #: ../src/menus-skeleton.h:16 -#: ../src/ui/dialog/messages.cpp:54 +#: ../src/ui/dialog/messages.cpp:52 #: ../src/ui/dialog/scriptdialog.cpp:208 msgid "_File" msgstr "_Файл" #. TRANSLATORS: "Clear" is a verb here #: ../src/dialogs/debugdialog.cpp:142 -#: ../src/dialogs/find.cpp:753 -#: ../src/ui/dialog/find.cpp:85 -#: ../src/ui/dialog/messages.cpp:55 +#: ../src/dialogs/find.cpp:755 +#: ../src/ui/dialog/find.cpp:84 +#: ../src/ui/dialog/messages.cpp:53 #: ../src/ui/dialog/scriptdialog.cpp:209 msgid "_Clear" msgstr "О_чистить" #: ../src/dialogs/debugdialog.cpp:144 -#: ../src/ui/dialog/messages.cpp:57 +#: ../src/ui/dialog/messages.cpp:55 msgid "Capture log messages" msgstr "Сохранять отладочные сообщения" #: ../src/dialogs/debugdialog.cpp:146 -#: ../src/ui/dialog/messages.cpp:59 +#: ../src/ui/dialog/messages.cpp:57 msgid "Release log messages" msgstr "Отключить сохранение отладочных сообщений" @@ -975,17 +975,17 @@ msgid "none" msgstr "нет" #: ../src/dialogs/export.cpp:143 -#: ../src/verbs.cpp:2594 +#: ../src/verbs.cpp:2599 msgid "_Page" msgstr "_Страница" #: ../src/dialogs/export.cpp:143 -#: ../src/verbs.cpp:2598 +#: ../src/verbs.cpp:2603 msgid "_Drawing" msgstr "_Рисунок" #: ../src/dialogs/export.cpp:143 -#: ../src/verbs.cpp:2600 +#: ../src/verbs.cpp:2605 msgid "_Selection" msgstr "_Выделение" @@ -1009,14 +1009,12 @@ msgstr "_x0" msgid "x_1:" msgstr "x_1" -#. Stroke width #: ../src/dialogs/export.cpp:320 #: ../src/dialogs/object-attributes.cpp:60 #: ../src/dialogs/object-attributes.cpp:68 -#: ../src/dialogs/stroke-style.cpp:1083 -#: ../src/widgets/toolbox.cpp:3660 -#: ../src/widgets/toolbox.cpp:4251 -#: ../src/widgets/toolbox.cpp:5263 +#: ../src/widgets/toolbox.cpp:3643 +#: ../src/widgets/toolbox.cpp:4233 +#: ../src/widgets/toolbox.cpp:5252 msgid "Width:" msgstr "Ширина:" @@ -1054,8 +1052,8 @@ msgid "dp_i" msgstr "dp_i" #: ../src/dialogs/export.cpp:506 -#: ../src/ui/dialog/inkscape-preferences.cpp:689 -#: ../src/ui/dialog/inkscape-preferences.cpp:1051 +#: ../src/ui/dialog/inkscape-preferences.cpp:723 +#: ../src/ui/dialog/inkscape-preferences.cpp:1083 msgid "dpi" msgstr "dpi" @@ -1102,7 +1100,7 @@ msgstr[2] "Пакетный экспорт %d выделенных объект #: ../src/dialogs/export.cpp:1011 msgid "Export in progress" -msgstr "Идет экспорт..." +msgstr "Выполняется экспорт" #: ../src/dialogs/export.cpp:1081 #, c-format @@ -1165,13 +1163,13 @@ msgstr "Текстурная заливка" #: ../src/ui/widget/selected-style.cpp:193 #: ../src/ui/widget/selected-style.cpp:251 #: ../src/ui/widget/selected-style.cpp:493 -#: ../src/ui/widget/style-swatch.cpp:335 +#: ../src/ui/widget/style-swatch.cpp:303 msgid "Unset fill" -msgstr "Убрать заливку" +msgstr "Снять заливку" #. TRANSLATORS: "%s" is replaced with "exact" or "partial" when this string is displayed -#: ../src/dialogs/find.cpp:372 -#: ../src/ui/dialog/find.cpp:436 +#: ../src/dialogs/find.cpp:373 +#: ../src/ui/dialog/find.cpp:435 #, c-format msgid "%d object found (out of %d), %s match." msgid_plural "%d objects found (out of %d), %s match." @@ -1179,242 +1177,242 @@ msgstr[0] "Найден %d объект (из %d), %s соотве msgstr[1] "Найдено %d объекта (из %d), %s соответствия." msgstr[2] "Найдено %d объектов (из %d), %s соответствий." -#: ../src/dialogs/find.cpp:375 -#: ../src/ui/dialog/find.cpp:439 +#: ../src/dialogs/find.cpp:376 +#: ../src/ui/dialog/find.cpp:438 msgid "exact" msgstr "точное" -#: ../src/dialogs/find.cpp:375 -#: ../src/ui/dialog/find.cpp:439 +#: ../src/dialogs/find.cpp:376 +#: ../src/ui/dialog/find.cpp:438 msgid "partial" msgstr "частичное" -#: ../src/dialogs/find.cpp:382 -#: ../src/ui/dialog/find.cpp:446 +#: ../src/dialogs/find.cpp:383 +#: ../src/ui/dialog/find.cpp:445 msgid "No objects found" msgstr "Ничего не найдено" -#: ../src/dialogs/find.cpp:540 +#: ../src/dialogs/find.cpp:541 msgid "T_ype: " msgstr "Ти_п: " -#: ../src/dialogs/find.cpp:547 -#: ../src/ui/dialog/find.cpp:70 +#: ../src/dialogs/find.cpp:548 +#: ../src/ui/dialog/find.cpp:69 msgid "Search in all object types" msgstr "Искать в объектах всех типов" -#: ../src/dialogs/find.cpp:547 -#: ../src/ui/dialog/find.cpp:70 +#: ../src/dialogs/find.cpp:548 +#: ../src/ui/dialog/find.cpp:69 msgid "All types" msgstr "Все типы" -#: ../src/dialogs/find.cpp:558 -#: ../src/ui/dialog/find.cpp:71 +#: ../src/dialogs/find.cpp:559 +#: ../src/ui/dialog/find.cpp:70 msgid "Search all shapes" msgstr "Искать среди всех фигур" -#: ../src/dialogs/find.cpp:558 -#: ../src/ui/dialog/find.cpp:71 +#: ../src/dialogs/find.cpp:559 +#: ../src/ui/dialog/find.cpp:70 msgid "All shapes" msgstr "Все фигуры" -#: ../src/dialogs/find.cpp:575 -#: ../src/ui/dialog/find.cpp:72 +#: ../src/dialogs/find.cpp:576 +#: ../src/ui/dialog/find.cpp:71 msgid "Search rectangles" msgstr "Искать в прямоугольниках" -#: ../src/dialogs/find.cpp:575 -#: ../src/ui/dialog/find.cpp:72 +#: ../src/dialogs/find.cpp:576 +#: ../src/ui/dialog/find.cpp:71 msgid "Rectangles" msgstr "Прямоугольники" -#: ../src/dialogs/find.cpp:580 -#: ../src/ui/dialog/find.cpp:73 +#: ../src/dialogs/find.cpp:581 +#: ../src/ui/dialog/find.cpp:72 msgid "Search ellipses, arcs, circles" msgstr "Искать в эллипсах, секторах, кругах" -#: ../src/dialogs/find.cpp:580 -#: ../src/ui/dialog/find.cpp:73 +#: ../src/dialogs/find.cpp:581 +#: ../src/ui/dialog/find.cpp:72 msgid "Ellipses" msgstr "Эллипсы" -#: ../src/dialogs/find.cpp:585 -#: ../src/ui/dialog/find.cpp:74 +#: ../src/dialogs/find.cpp:586 +#: ../src/ui/dialog/find.cpp:73 msgid "Search stars and polygons" msgstr "Искать в звездах и многоугольниках" -#: ../src/dialogs/find.cpp:585 -#: ../src/ui/dialog/find.cpp:74 +#: ../src/dialogs/find.cpp:586 +#: ../src/ui/dialog/find.cpp:73 msgid "Stars" msgstr "Звезды" -#: ../src/dialogs/find.cpp:590 -#: ../src/ui/dialog/find.cpp:75 +#: ../src/dialogs/find.cpp:591 +#: ../src/ui/dialog/find.cpp:74 msgid "Search spirals" msgstr "Искать в спиралях" -#: ../src/dialogs/find.cpp:590 -#: ../src/ui/dialog/find.cpp:75 +#: ../src/dialogs/find.cpp:591 +#: ../src/ui/dialog/find.cpp:74 msgid "Spirals" msgstr "Спирали" #. TRANSLATORS: polyline is a set of connected straight line segments #. http://www.w3.org/TR/SVG11/shapes.html#PolylineElement -#: ../src/dialogs/find.cpp:603 -#: ../src/ui/dialog/find.cpp:76 +#: ../src/dialogs/find.cpp:604 +#: ../src/ui/dialog/find.cpp:75 msgid "Search paths, lines, polylines" msgstr "Искать в контурах, линиях, полилиниях" -#: ../src/dialogs/find.cpp:603 -#: ../src/ui/dialog/find.cpp:76 +#: ../src/dialogs/find.cpp:604 +#: ../src/ui/dialog/find.cpp:75 msgid "Paths" msgstr "Контуры" -#: ../src/dialogs/find.cpp:608 -#: ../src/ui/dialog/find.cpp:77 +#: ../src/dialogs/find.cpp:609 +#: ../src/ui/dialog/find.cpp:76 msgid "Search text objects" msgstr "Искать в текстовых объектах" -#: ../src/dialogs/find.cpp:608 -#: ../src/ui/dialog/find.cpp:77 +#: ../src/dialogs/find.cpp:609 +#: ../src/ui/dialog/find.cpp:76 msgid "Texts" msgstr "Тексты" -#: ../src/dialogs/find.cpp:613 -#: ../src/ui/dialog/find.cpp:78 +#: ../src/dialogs/find.cpp:614 +#: ../src/ui/dialog/find.cpp:77 msgid "Search groups" msgstr "Искать в группах" -#: ../src/dialogs/find.cpp:613 -#: ../src/ui/dialog/find.cpp:78 +#: ../src/dialogs/find.cpp:614 +#: ../src/ui/dialog/find.cpp:77 msgid "Groups" msgstr "Группы" -#: ../src/dialogs/find.cpp:618 -#: ../src/ui/dialog/find.cpp:81 +#: ../src/dialogs/find.cpp:619 +#: ../src/ui/dialog/find.cpp:80 msgid "Search clones" msgstr "Искать в клонах" #. TRANSLATORS: Translate the word "Clones" only. A noun indicating type of object to find -#: ../src/dialogs/find.cpp:620 -#: ../src/ui/dialog/find.cpp:81 +#: ../src/dialogs/find.cpp:621 +#: ../src/ui/dialog/find.cpp:80 msgid "find|Clones" msgstr "Клоны" -#: ../src/dialogs/find.cpp:625 -#: ../src/ui/dialog/find.cpp:82 +#: ../src/dialogs/find.cpp:626 +#: ../src/ui/dialog/find.cpp:81 msgid "Search images" msgstr "Искать в растрах" -#: ../src/dialogs/find.cpp:625 -#: ../src/ui/dialog/find.cpp:82 +#: ../src/dialogs/find.cpp:626 +#: ../src/ui/dialog/find.cpp:81 #: ../share/extensions/embedimage.inx.h:3 #: ../share/extensions/extractimage.inx.h:2 msgid "Images" msgstr "Изображения" -#: ../src/dialogs/find.cpp:630 -#: ../src/ui/dialog/find.cpp:83 +#: ../src/dialogs/find.cpp:631 +#: ../src/ui/dialog/find.cpp:82 msgid "Search offset objects" msgstr "Искать во втяжках" -#: ../src/dialogs/find.cpp:630 -#: ../src/ui/dialog/find.cpp:83 +#: ../src/dialogs/find.cpp:631 +#: ../src/ui/dialog/find.cpp:82 msgid "Offsets" msgstr "Втяжки" -#: ../src/dialogs/find.cpp:694 -#: ../src/ui/dialog/find.cpp:61 +#: ../src/dialogs/find.cpp:696 +#: ../src/ui/dialog/find.cpp:60 msgid "_Text: " msgstr "_Текст: " -#: ../src/dialogs/find.cpp:694 -#: ../src/ui/dialog/find.cpp:61 +#: ../src/dialogs/find.cpp:696 +#: ../src/ui/dialog/find.cpp:60 msgid "Find objects by their text content (exact or partial match)" msgstr "Искать объекты по их текстовому содержанию (полное или частичное соответствие)" -#: ../src/dialogs/find.cpp:695 -#: ../src/ui/dialog/find.cpp:62 +#: ../src/dialogs/find.cpp:697 +#: ../src/ui/dialog/find.cpp:61 msgid "_ID: " msgstr "_ID: " -#: ../src/dialogs/find.cpp:695 -#: ../src/ui/dialog/find.cpp:62 +#: ../src/dialogs/find.cpp:697 +#: ../src/ui/dialog/find.cpp:61 msgid "Find objects by the value of the id attribute (exact or partial match)" msgstr "Искать объекты по идентификатору (полное или частичное соответствие)" -#: ../src/dialogs/find.cpp:696 -#: ../src/ui/dialog/find.cpp:63 +#: ../src/dialogs/find.cpp:698 +#: ../src/ui/dialog/find.cpp:62 msgid "_Style: " msgstr "_Стиль: " -#: ../src/dialogs/find.cpp:696 -#: ../src/ui/dialog/find.cpp:63 +#: ../src/dialogs/find.cpp:698 +#: ../src/ui/dialog/find.cpp:62 msgid "Find objects by the value of the style attribute (exact or partial match)" msgstr "Искать объекты по значению атрибута style (полное или частичное соответствие)" -#: ../src/dialogs/find.cpp:697 -#: ../src/ui/dialog/find.cpp:64 +#: ../src/dialogs/find.cpp:699 +#: ../src/ui/dialog/find.cpp:63 msgid "_Attribute: " msgstr "_Атрибут: " -#: ../src/dialogs/find.cpp:697 -#: ../src/ui/dialog/find.cpp:64 +#: ../src/dialogs/find.cpp:699 +#: ../src/ui/dialog/find.cpp:63 msgid "Find objects by the name of an attribute (exact or partial match)" msgstr "Искать объекты по имени атрибута (полное или частичное соответствие)" -#: ../src/dialogs/find.cpp:711 -#: ../src/ui/dialog/find.cpp:65 +#: ../src/dialogs/find.cpp:713 +#: ../src/ui/dialog/find.cpp:64 msgid "Search in s_election" msgstr "Искать в _выделенном" -#: ../src/dialogs/find.cpp:715 -#: ../src/ui/dialog/find.cpp:65 +#: ../src/dialogs/find.cpp:717 +#: ../src/ui/dialog/find.cpp:64 msgid "Limit search to the current selection" msgstr "Ограничить поиск текущим выделением" -#: ../src/dialogs/find.cpp:720 -#: ../src/ui/dialog/find.cpp:66 +#: ../src/dialogs/find.cpp:722 +#: ../src/ui/dialog/find.cpp:65 msgid "Search in current _layer" msgstr "Искать в т_екущем слое" -#: ../src/dialogs/find.cpp:724 -#: ../src/ui/dialog/find.cpp:66 +#: ../src/dialogs/find.cpp:726 +#: ../src/ui/dialog/find.cpp:65 msgid "Limit search to the current layer" msgstr "Ограничить поиск текущим слоем" -#: ../src/dialogs/find.cpp:729 -#: ../src/ui/dialog/find.cpp:67 +#: ../src/dialogs/find.cpp:731 +#: ../src/ui/dialog/find.cpp:66 msgid "Include _hidden" msgstr "Включая с_крытые" -#: ../src/dialogs/find.cpp:733 -#: ../src/ui/dialog/find.cpp:67 +#: ../src/dialogs/find.cpp:735 +#: ../src/ui/dialog/find.cpp:66 msgid "Include hidden objects in search" msgstr "Искать среди скрытых объектов" -#: ../src/dialogs/find.cpp:738 -#: ../src/ui/dialog/find.cpp:68 +#: ../src/dialogs/find.cpp:740 +#: ../src/ui/dialog/find.cpp:67 msgid "Include l_ocked" msgstr "Включая _запертые" -#: ../src/dialogs/find.cpp:742 -#: ../src/ui/dialog/find.cpp:68 +#: ../src/dialogs/find.cpp:744 +#: ../src/ui/dialog/find.cpp:67 msgid "Include locked objects in search" msgstr "Искать среди запертых объектов" -#: ../src/dialogs/find.cpp:753 -#: ../src/ui/dialog/find.cpp:85 +#: ../src/dialogs/find.cpp:755 +#: ../src/ui/dialog/find.cpp:84 msgid "Clear values" msgstr "Очистить значения" -#: ../src/dialogs/find.cpp:754 -#: ../src/ui/dialog/find.cpp:86 +#: ../src/dialogs/find.cpp:756 +#: ../src/ui/dialog/find.cpp:85 msgid "_Find" msgstr "_Искать" -#: ../src/dialogs/find.cpp:754 -#: ../src/ui/dialog/find.cpp:86 +#: ../src/dialogs/find.cpp:756 +#: ../src/ui/dialog/find.cpp:85 msgid "Select objects matching all of the fields you filled in" msgstr "Выделить объекты, подходящие по всем указанным критериям поиска" @@ -1425,14 +1423,14 @@ msgstr "Единица измерения:" #: ../src/dialogs/guidelinedialog.cpp:45 #: ../src/dialogs/object-attributes.cpp:58 #: ../src/dialogs/object-attributes.cpp:66 -#: ../src/widgets/toolbox.cpp:1438 +#: ../src/widgets/toolbox.cpp:1437 msgid "X:" msgstr "X:" #: ../src/dialogs/guidelinedialog.cpp:46 #: ../src/dialogs/object-attributes.cpp:59 #: ../src/dialogs/object-attributes.cpp:67 -#: ../src/widgets/toolbox.cpp:1456 +#: ../src/widgets/toolbox.cpp:1455 msgid "Y:" msgstr "Y:" @@ -1466,125 +1464,125 @@ msgstr "ID направляющей: %s" msgid "Current: %s" msgstr "Сейчас: %s" -#: ../src/dialogs/iconpreview.cpp:139 +#: ../src/dialogs/iconpreview.cpp:132 #, c-format msgid "%d x %d" msgstr "%d x %d" -#: ../src/dialogs/iconpreview.cpp:187 -#: ../src/ui/dialog/align-and-distribute.cpp:918 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1371 +#: ../src/dialogs/iconpreview.cpp:180 +#: ../src/ui/dialog/align-and-distribute.cpp:925 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1368 #: ../src/widgets/desktop-widget.cpp:1552 msgid "Selection" msgstr "Выделение" -#: ../src/dialogs/iconpreview.cpp:189 +#: ../src/dialogs/iconpreview.cpp:182 msgid "Selection only or whole document" msgstr "Либо только выделение, либо весь документ" -#: ../src/dialogs/iconpreview.cpp:197 +#: ../src/dialogs/iconpreview.cpp:190 msgid "Refresh the icons" msgstr "Обновить пиктограммы" #. Create the label for the object id -#: ../src/dialogs/item-properties.cpp:120 -#: ../src/dialogs/item-properties.cpp:326 -#: ../src/dialogs/item-properties.cpp:419 -#: ../src/dialogs/item-properties.cpp:426 +#: ../src/dialogs/item-properties.cpp:121 +#: ../src/dialogs/item-properties.cpp:327 +#: ../src/dialogs/item-properties.cpp:420 +#: ../src/dialogs/item-properties.cpp:427 msgid "_Id" msgstr "_ID" -#: ../src/dialogs/item-properties.cpp:129 +#: ../src/dialogs/item-properties.cpp:130 msgid "The id= attribute (only letters, digits, and the characters .-_: allowed)" msgstr "Атрибут id= (разрешены только латинские буквы, цифры и символы .-_:)" #. Button for setting the object's id, label, title and description. -#: ../src/dialogs/item-properties.cpp:143 -#: ../src/verbs.cpp:2459 -#: ../src/verbs.cpp:2465 +#: ../src/dialogs/item-properties.cpp:144 +#: ../src/verbs.cpp:2462 +#: ../src/verbs.cpp:2468 msgid "_Set" msgstr "_Установить" #. Create the label for the object label -#: ../src/dialogs/item-properties.cpp:152 +#: ../src/dialogs/item-properties.cpp:153 msgid "_Label" msgstr "Метка" -#: ../src/dialogs/item-properties.cpp:161 +#: ../src/dialogs/item-properties.cpp:162 msgid "A freeform label for the object" msgstr "Произвольная метка объекта" #. Create the label for the object title -#: ../src/dialogs/item-properties.cpp:173 +#: ../src/dialogs/item-properties.cpp:174 msgid "_Title" msgstr "_Название" #. Create the frame for the object description -#: ../src/dialogs/item-properties.cpp:191 +#: ../src/dialogs/item-properties.cpp:192 msgid "_Description" msgstr "О_писание" #. Hide -#: ../src/dialogs/item-properties.cpp:222 +#: ../src/dialogs/item-properties.cpp:223 msgid "_Hide" msgstr "Скрыть" -#: ../src/dialogs/item-properties.cpp:223 +#: ../src/dialogs/item-properties.cpp:224 msgid "Check to make the object invisible" msgstr "Сделать этот объект невидимым" #. Lock #. TRANSLATORS: "Lock" is a verb here -#: ../src/dialogs/item-properties.cpp:232 +#: ../src/dialogs/item-properties.cpp:233 msgid "L_ock" msgstr "Запереть" -#: ../src/dialogs/item-properties.cpp:233 +#: ../src/dialogs/item-properties.cpp:234 msgid "Check to make the object insensitive (not selectable by mouse)" msgstr "Сделать этот объект невыделяемым" -#: ../src/dialogs/item-properties.cpp:309 -#: ../src/dialogs/item-properties.cpp:316 +#: ../src/dialogs/item-properties.cpp:310 +#: ../src/dialogs/item-properties.cpp:317 msgid "Ref" msgstr "Ref" -#: ../src/dialogs/item-properties.cpp:378 +#: ../src/dialogs/item-properties.cpp:379 msgid "Lock object" msgstr "Запирание объекта" -#: ../src/dialogs/item-properties.cpp:378 +#: ../src/dialogs/item-properties.cpp:379 msgid "Unlock object" msgstr "Отпирание объекта" -#: ../src/dialogs/item-properties.cpp:397 +#: ../src/dialogs/item-properties.cpp:398 msgid "Hide object" msgstr "Сокрытие объекта" -#: ../src/dialogs/item-properties.cpp:397 +#: ../src/dialogs/item-properties.cpp:398 msgid "Unhide object" msgstr "Раскрытие объекта" -#: ../src/dialogs/item-properties.cpp:421 +#: ../src/dialogs/item-properties.cpp:422 msgid "Id invalid! " msgstr "ID неверен" -#: ../src/dialogs/item-properties.cpp:423 +#: ../src/dialogs/item-properties.cpp:424 msgid "Id exists! " msgstr "Такой ID уже есть" -#: ../src/dialogs/item-properties.cpp:430 +#: ../src/dialogs/item-properties.cpp:431 msgid "Set object ID" msgstr "Установка ID объекта" -#: ../src/dialogs/item-properties.cpp:445 +#: ../src/dialogs/item-properties.cpp:446 msgid "Set object label" msgstr "Установка метки объекта" -#: ../src/dialogs/item-properties.cpp:453 +#: ../src/dialogs/item-properties.cpp:454 msgid "Set object title" msgstr "Установка заголовка объекта" -#: ../src/dialogs/item-properties.cpp:463 +#: ../src/dialogs/item-properties.cpp:464 msgid "Set object description" msgstr "Установка описания объекта" @@ -1641,52 +1639,52 @@ msgstr "_Добавить" msgid "New layer created." msgstr "Создание нового слоя." -#: ../src/dialogs/layers-panel.cpp:483 +#: ../src/dialogs/layers-panel.cpp:494 #: ../src/widgets/layer-selector.cpp:595 msgid "Unhide layer" msgstr "Раскрытие объекта" -#: ../src/dialogs/layers-panel.cpp:483 +#: ../src/dialogs/layers-panel.cpp:494 #: ../src/widgets/layer-selector.cpp:595 msgid "Hide layer" msgstr "Сокрытие слоя" -#: ../src/dialogs/layers-panel.cpp:494 +#: ../src/dialogs/layers-panel.cpp:505 #: ../src/widgets/layer-selector.cpp:587 msgid "Lock layer" msgstr "Запирание слоя" -#: ../src/dialogs/layers-panel.cpp:494 +#: ../src/dialogs/layers-panel.cpp:505 #: ../src/widgets/layer-selector.cpp:587 msgid "Unlock layer" msgstr "Отпирание слоя" -#: ../src/dialogs/layers-panel.cpp:634 +#: ../src/dialogs/layers-panel.cpp:646 msgid "Layers" msgstr "Слои" -#: ../src/dialogs/layers-panel.cpp:643 +#: ../src/dialogs/layers-panel.cpp:655 msgid "New" msgstr "Новый" -#: ../src/dialogs/layers-panel.cpp:648 +#: ../src/dialogs/layers-panel.cpp:660 #: ../share/extensions/restack.inx.h:16 msgid "Top" msgstr "Верх" -#: ../src/dialogs/layers-panel.cpp:654 +#: ../src/dialogs/layers-panel.cpp:666 msgid "Up" msgstr "Выше" -#: ../src/dialogs/layers-panel.cpp:660 +#: ../src/dialogs/layers-panel.cpp:672 msgid "Dn" msgstr "Ниже" -#: ../src/dialogs/layers-panel.cpp:666 +#: ../src/dialogs/layers-panel.cpp:678 msgid "Bot" msgstr "Низ" -#: ../src/dialogs/layers-panel.cpp:676 +#: ../src/dialogs/layers-panel.cpp:688 msgid "X" msgstr "X" @@ -1720,7 +1718,7 @@ msgid "Title:" msgstr "Название:" #: ../src/dialogs/object-attributes.cpp:50 -#: ../share/extensions/polyhedron_3d.inx.h:38 +#: ../share/extensions/polyhedron_3d.inx.h:37 msgid "Show:" msgstr "Show:" @@ -1801,8 +1799,8 @@ msgstr "Физическое или цифровое представление #. _settings->add_checkbutton(false, SP_ATTR_STITCHTILES, _("Stitch Tiles"), "stitch", "noStitch"); #: ../src/dialogs/rdf.cpp:248 #: ../src/extension/internal/bitmap/addNoise.cpp:46 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2198 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2277 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2199 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2278 msgid "Type" msgstr "Тип" @@ -1843,7 +1841,7 @@ msgid "Unique URI to reference this document." msgstr "Уникальный URI для ссылки на этот документ." #: ../src/dialogs/rdf.cpp:265 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1395 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1392 msgid "Source" msgstr "Источник" @@ -1925,64 +1923,68 @@ msgstr "XML-фрагмент RDF-раздела \"Лицензия\"." #. TRANSLATORS: "Set" is a verb here #: ../src/dialogs/sp-attribute-widget.cpp:166 #: ../src/dialogs/sp-attribute-widget.cpp:773 -#: ../src/dialogs/xml-tree.cpp:533 +#: ../src/dialogs/xml-tree.cpp:534 msgid "Set attribute" msgstr "Установить атрибут" -#: ../src/dialogs/stroke-style.cpp:292 -#: ../src/dialogs/stroke-style.cpp:351 +#: ../src/dialogs/stroke-style.cpp:293 +#: ../src/dialogs/stroke-style.cpp:352 msgid "Set stroke color" msgstr "Установка цвета обводки" -#: ../src/dialogs/stroke-style.cpp:342 +#: ../src/dialogs/stroke-style.cpp:343 #: ../src/ui/widget/selected-style.cpp:255 #: ../src/ui/widget/selected-style.cpp:484 msgid "Remove stroke" -msgstr "Удаление обводки" +msgstr "Удалить обводку" -#: ../src/dialogs/stroke-style.cpp:403 +#: ../src/dialogs/stroke-style.cpp:404 msgid "Set gradient on stroke" msgstr "Заливка обводки градиентом" -#: ../src/dialogs/stroke-style.cpp:447 +#: ../src/dialogs/stroke-style.cpp:448 msgid "Set pattern on stroke" msgstr "Заливка обводки текстурой" -#: ../src/dialogs/stroke-style.cpp:468 +#: ../src/dialogs/stroke-style.cpp:469 #: ../src/ui/widget/selected-style.cpp:193 #: ../src/ui/widget/selected-style.cpp:251 #: ../src/ui/widget/selected-style.cpp:509 -#: ../src/ui/widget/style-swatch.cpp:335 +#: ../src/ui/widget/style-swatch.cpp:303 msgid "Unset stroke" -msgstr "Снятие обводки" +msgstr "Снять обводку" -#: ../src/dialogs/stroke-style.cpp:771 +#: ../src/dialogs/stroke-style.cpp:772 #: ../src/filter-enums.cpp:95 -#: ../src/flood-context.cpp:288 -#: ../src/interface.cpp:826 -#: ../src/live_effects/lpe-ruler.cpp:33 +#: ../src/flood-context.cpp:292 +#: ../src/live_effects/lpe-ruler.cpp:34 #: ../src/ui/dialog/filter-effects-dialog.cpp:509 -#: ../src/ui/dialog/inkscape-preferences.cpp:219 -#: ../src/ui/dialog/inkscape-preferences.cpp:384 -#: ../src/ui/dialog/inkscape-preferences.cpp:511 -#: ../src/ui/dialog/inkscape-preferences.cpp:1022 -#: ../src/verbs.cpp:2208 -#: ../src/widgets/toolbox.cpp:3410 +#: ../src/ui/dialog/inkscape-preferences.cpp:220 +#: ../src/ui/dialog/inkscape-preferences.cpp:382 +#: ../src/ui/dialog/inkscape-preferences.cpp:509 +#: ../src/ui/dialog/inkscape-preferences.cpp:1054 +#: ../src/verbs.cpp:2211 +#: ../src/widgets/toolbox.cpp:3406 #: ../share/extensions/grid_polar.inx.h:16 msgid "None" msgstr "Нет" -#: ../src/dialogs/stroke-style.cpp:826 +#: ../src/dialogs/stroke-style.cpp:827 #: ../src/widgets/gradient-vector.cpp:264 #: ../src/widgets/paint-selector.cpp:885 msgid "No document selected" msgstr "Документ не выбран" -#: ../src/dialogs/stroke-style.cpp:910 +#: ../src/dialogs/stroke-style.cpp:911 msgid "Set markers" msgstr "Установка маркеров" -#: ../src/dialogs/stroke-style.cpp:1097 +#. Stroke width +#: ../src/dialogs/stroke-style.cpp:1084 +msgid "StrokeWidth|Width:" +msgstr "Толщина:" + +#: ../src/dialogs/stroke-style.cpp:1098 #: ../share/extensions/edge3d.inx.h:9 msgid "Stroke width" msgstr "Толщина обводки" @@ -1990,28 +1992,28 @@ msgstr "Толщина обводки" #. Join type #. TRANSLATORS: The line join style specifies the shape to be used at the #. corners of paths. It can be "miter", "round" or "bevel". -#: ../src/dialogs/stroke-style.cpp:1121 +#: ../src/dialogs/stroke-style.cpp:1122 msgid "Join:" msgstr "Соединение:" #. TRANSLATORS: Miter join: joining lines with a sharp (pointed) corner. #. For an example, draw a triangle with a large stroke width and modify the #. "Join" option (in the Fill and Stroke dialog). -#: ../src/dialogs/stroke-style.cpp:1133 +#: ../src/dialogs/stroke-style.cpp:1134 msgid "Miter join" msgstr "Острое" #. TRANSLATORS: Round join: joining lines with a rounded corner. #. For an example, draw a triangle with a large stroke width and modify the #. "Join" option (in the Fill and Stroke dialog). -#: ../src/dialogs/stroke-style.cpp:1141 +#: ../src/dialogs/stroke-style.cpp:1142 msgid "Round join" msgstr "Скруглённое" #. TRANSLATORS: Bevel join: joining lines with a blunted (flattened) corner. #. For an example, draw a triangle with a large stroke width and modify the #. "Join" option (in the Fill and Stroke dialog). -#: ../src/dialogs/stroke-style.cpp:1149 +#: ../src/dialogs/stroke-style.cpp:1150 msgid "Bevel join" msgstr "Фаска" @@ -2022,59 +2024,59 @@ msgstr "Фаска" #. spike that extends well beyond the connection point. The purpose of the #. miter limit is to cut off such spikes (i.e. convert them into bevels) #. when they become too long. -#: ../src/dialogs/stroke-style.cpp:1160 +#: ../src/dialogs/stroke-style.cpp:1161 msgid "Miter limit:" msgstr "Предел острия:" -#: ../src/dialogs/stroke-style.cpp:1168 +#: ../src/dialogs/stroke-style.cpp:1169 msgid "Maximum length of the miter (in units of stroke width)" msgstr "Максимальная длина острия (в единицах толщины обводки)" #. Cap type #. TRANSLATORS: cap type specifies the shape for the ends of lines -#: ../src/dialogs/stroke-style.cpp:1180 +#: ../src/dialogs/stroke-style.cpp:1181 msgid "Cap:" msgstr "Концы:" #. TRANSLATORS: Butt cap: the line shape does not extend beyond the end point #. of the line; the ends of the line are square -#: ../src/dialogs/stroke-style.cpp:1191 +#: ../src/dialogs/stroke-style.cpp:1192 msgid "Butt cap" msgstr "Плоские" #. TRANSLATORS: Round cap: the line shape extends beyond the end point of the #. line; the ends of the line are rounded -#: ../src/dialogs/stroke-style.cpp:1198 +#: ../src/dialogs/stroke-style.cpp:1199 msgid "Round cap" msgstr "Круглые" #. TRANSLATORS: Square cap: the line shape extends beyond the end point of the #. line; the ends of the line are square -#: ../src/dialogs/stroke-style.cpp:1205 +#: ../src/dialogs/stroke-style.cpp:1206 msgid "Square cap" msgstr "Квадратные" #. Dash -#: ../src/dialogs/stroke-style.cpp:1211 +#: ../src/dialogs/stroke-style.cpp:1212 msgid "Dashes:" msgstr "Пунктир:" #. TRANSLATORS: Path markers are an SVG feature that allows you to attach arbitrary shapes #. (arrowheads, bullets, faces, whatever) to the start, end, or middle nodes of a path. -#: ../src/dialogs/stroke-style.cpp:1228 +#: ../src/dialogs/stroke-style.cpp:1229 msgid "Start Markers:" msgstr "Маркер начала:" -#: ../src/dialogs/stroke-style.cpp:1238 +#: ../src/dialogs/stroke-style.cpp:1239 msgid "Mid Markers:" msgstr "Маркер середины:" -#: ../src/dialogs/stroke-style.cpp:1248 +#: ../src/dialogs/stroke-style.cpp:1249 msgid "End Markers:" msgstr "Маркер конца:" -#: ../src/dialogs/stroke-style.cpp:1572 -#: ../src/dialogs/stroke-style.cpp:1668 +#: ../src/dialogs/stroke-style.cpp:1573 +#: ../src/dialogs/stroke-style.cpp:1669 msgid "Set stroke style" msgstr "Установка стиля обводки" @@ -2110,50 +2112,50 @@ msgstr "Заливка из палитры образцов" msgid "Palettes directory (%s) is unavailable." msgstr "Каталог с палитрами (%s) недоступен." -#: ../src/dialogs/text-edit.cpp:200 +#: ../src/dialogs/text-edit.cpp:201 msgid "Font" msgstr "Гарнитура" -#: ../src/dialogs/text-edit.cpp:223 +#: ../src/dialogs/text-edit.cpp:224 msgid "Layout" msgstr "Размещение" -#: ../src/dialogs/text-edit.cpp:237 +#: ../src/dialogs/text-edit.cpp:238 msgid "Align lines left" msgstr "Выровнять строки по левому краю" #. TRANSLATORS: `Center' here is a verb. -#: ../src/dialogs/text-edit.cpp:252 +#: ../src/dialogs/text-edit.cpp:253 msgid "Center lines" msgstr "Центрировать строки" -#: ../src/dialogs/text-edit.cpp:266 +#: ../src/dialogs/text-edit.cpp:267 msgid "Align lines right" msgstr "Выровнять строки по правому краю" -#: ../src/dialogs/text-edit.cpp:280 +#: ../src/dialogs/text-edit.cpp:281 msgid "Justify lines" msgstr "Выключить строки по ширине" -#: ../src/dialogs/text-edit.cpp:302 -#: ../src/widgets/toolbox.cpp:6301 +#: ../src/dialogs/text-edit.cpp:303 +#: ../src/widgets/toolbox.cpp:6290 msgid "Horizontal text" msgstr "Горизонтальный текст" -#: ../src/dialogs/text-edit.cpp:316 -#: ../src/widgets/toolbox.cpp:6313 +#: ../src/dialogs/text-edit.cpp:317 +#: ../src/widgets/toolbox.cpp:6302 msgid "Vertical text" msgstr "Вертикальный текст" -#: ../src/dialogs/text-edit.cpp:331 +#: ../src/dialogs/text-edit.cpp:332 msgid "Line spacing:" msgstr "Интерлиньяж:" #. Text -#: ../src/dialogs/text-edit.cpp:377 +#: ../src/dialogs/text-edit.cpp:378 #: ../src/selection-describer.cpp:67 -#: ../src/ui/dialog/inkscape-preferences.cpp:479 -#: ../src/verbs.cpp:2495 +#: ../src/ui/dialog/inkscape-preferences.cpp:477 +#: ../src/verbs.cpp:2498 #: ../share/extensions/lorem_ipsum.inx.h:5 #: ../share/extensions/render_alphabetsoup.inx.h:4 #: ../share/extensions/text_braille.inx.h:2 @@ -2167,83 +2169,83 @@ msgstr "Интерлиньяж:" msgid "Text" msgstr "Текст" -#: ../src/dialogs/text-edit.cpp:424 +#: ../src/dialogs/text-edit.cpp:425 msgid "Set as default" msgstr "Сохранить как умолчание" -#: ../src/dialogs/text-edit.cpp:665 -#: ../src/text-context.cpp:1500 +#: ../src/dialogs/text-edit.cpp:668 +#: ../src/text-context.cpp:1510 msgid "Set text style" msgstr "Смена стиля текста" -#: ../src/dialogs/tiledialog.cpp:352 +#: ../src/dialogs/tiledialog.cpp:349 msgid "Arrange in a grid" msgstr "Расстановка по сетке" -#: ../src/dialogs/tiledialog.cpp:653 +#: ../src/dialogs/tiledialog.cpp:657 msgid "Rows:" msgstr "Строк:" -#: ../src/dialogs/tiledialog.cpp:661 +#: ../src/dialogs/tiledialog.cpp:665 msgid "Number of rows" msgstr "Количество строк" -#: ../src/dialogs/tiledialog.cpp:665 +#: ../src/dialogs/tiledialog.cpp:669 msgid "Equal height" msgstr "Равная высота" -#: ../src/dialogs/tiledialog.cpp:675 +#: ../src/dialogs/tiledialog.cpp:679 msgid "If not set, each row has the height of the tallest object in it" msgstr "Без этой опции каждая строка принимает высоту самого высокого в ней объекта" #. #### Radio buttons to control vertical alignment #### #. #### Radio buttons to control horizontal alignment #### -#: ../src/dialogs/tiledialog.cpp:681 -#: ../src/dialogs/tiledialog.cpp:751 +#: ../src/dialogs/tiledialog.cpp:685 +#: ../src/dialogs/tiledialog.cpp:755 msgid "Align:" msgstr "Выровнять" #. #### Number of columns #### -#: ../src/dialogs/tiledialog.cpp:723 +#: ../src/dialogs/tiledialog.cpp:727 msgid "Columns:" msgstr "Столбцов:" -#: ../src/dialogs/tiledialog.cpp:731 +#: ../src/dialogs/tiledialog.cpp:735 msgid "Number of columns" msgstr "Сколько столбцов в таблице" -#: ../src/dialogs/tiledialog.cpp:735 +#: ../src/dialogs/tiledialog.cpp:739 msgid "Equal width" msgstr "Равная ширина" -#: ../src/dialogs/tiledialog.cpp:744 +#: ../src/dialogs/tiledialog.cpp:748 msgid "If not set, each column has the width of the widest object in it" msgstr "Если выключено, каждый столбец принимает ширину самого широкого в нем объекта" #. #### Radio buttons to control spacing manually or to fit selection bbox #### -#: ../src/dialogs/tiledialog.cpp:790 +#: ../src/dialogs/tiledialog.cpp:794 msgid "Fit into selection box" msgstr "Сохранить ширину/высоту выделения" -#: ../src/dialogs/tiledialog.cpp:796 +#: ../src/dialogs/tiledialog.cpp:800 msgid "Set spacing:" msgstr "Установить интервал:" -#: ../src/dialogs/tiledialog.cpp:816 +#: ../src/dialogs/tiledialog.cpp:820 msgid "Vertical spacing between rows (px units)" msgstr "Вертикальный интервал между строк (в пикселах)" -#: ../src/dialogs/tiledialog.cpp:841 +#: ../src/dialogs/tiledialog.cpp:845 msgid "Horizontal spacing between columns (px units)" msgstr "Горизонтальный интервал между столбцами (в пикселах)" #. ## The OK button -#: ../src/dialogs/tiledialog.cpp:864 +#: ../src/dialogs/tiledialog.cpp:868 #: ../share/extensions/restack.inx.h:3 msgid "Arrange" msgstr "Расставить" -#: ../src/dialogs/tiledialog.cpp:865 +#: ../src/dialogs/tiledialog.cpp:869 msgid "Arrange selected objects" msgstr "Расставить выделенные объекты" @@ -2260,356 +2262,356 @@ msgstr "Щелкните мышкой по атрибуту для его msgid "Attribute %s selected. Press Ctrl+Enter when done editing to commit changes." msgstr "Выбран атрибут %s. Нажмите Ctrl+Enter, когда закончите правку." -#: ../src/dialogs/xml-tree.cpp:284 +#: ../src/dialogs/xml-tree.cpp:285 msgid "Drag to reorder nodes" msgstr "Используйте мышь для перетаскивания ветвей" -#: ../src/dialogs/xml-tree.cpp:304 +#: ../src/dialogs/xml-tree.cpp:305 msgid "New element node" msgstr "Создать ветвь элемента" -#: ../src/dialogs/xml-tree.cpp:326 +#: ../src/dialogs/xml-tree.cpp:327 msgid "New text node" msgstr "Создать ветвь с текстом" -#: ../src/dialogs/xml-tree.cpp:347 -#: ../src/dialogs/xml-tree.cpp:1424 -#: ../src/nodepath.cpp:2157 +#: ../src/dialogs/xml-tree.cpp:348 +#: ../src/dialogs/xml-tree.cpp:1427 +#: ../src/nodepath.cpp:2168 msgid "Duplicate node" msgstr "Дублирование ветви" -#: ../src/dialogs/xml-tree.cpp:368 -#: ../src/dialogs/xml-tree.cpp:1441 -#: ../src/nodepath.cpp:3404 -#: ../src/widgets/toolbox.cpp:1276 +#: ../src/dialogs/xml-tree.cpp:369 +#: ../src/dialogs/xml-tree.cpp:1444 +#: ../src/nodepath.cpp:3415 +#: ../src/widgets/toolbox.cpp:1275 msgid "Delete node" msgstr "Удаление ветви" -#: ../src/dialogs/xml-tree.cpp:384 -#: ../src/dialogs/xml-tree.cpp:1586 +#: ../src/dialogs/xml-tree.cpp:385 +#: ../src/dialogs/xml-tree.cpp:1589 msgid "Unindent node" msgstr "Переместить к корню" -#: ../src/dialogs/xml-tree.cpp:399 -#: ../src/dialogs/xml-tree.cpp:1565 +#: ../src/dialogs/xml-tree.cpp:400 +#: ../src/dialogs/xml-tree.cpp:1568 msgid "Indent node" msgstr "Переместить от корня" -#: ../src/dialogs/xml-tree.cpp:411 -#: ../src/dialogs/xml-tree.cpp:1518 +#: ../src/dialogs/xml-tree.cpp:412 +#: ../src/dialogs/xml-tree.cpp:1521 msgid "Raise node" msgstr "Поднять ветвь" -#: ../src/dialogs/xml-tree.cpp:423 -#: ../src/dialogs/xml-tree.cpp:1535 +#: ../src/dialogs/xml-tree.cpp:424 +#: ../src/dialogs/xml-tree.cpp:1538 msgid "Lower node" msgstr "Опустить ветвь" -#: ../src/dialogs/xml-tree.cpp:468 -#: ../src/dialogs/xml-tree.cpp:1459 +#: ../src/dialogs/xml-tree.cpp:469 +#: ../src/dialogs/xml-tree.cpp:1462 msgid "Delete attribute" msgstr "Удалить атрибут" #. TRANSLATORS: "Attribute" is a noun here -#: ../src/dialogs/xml-tree.cpp:513 +#: ../src/dialogs/xml-tree.cpp:514 msgid "Attribute name" msgstr "Имя атрибута" #. TRANSLATORS: "Set" is a verb here -#: ../src/dialogs/xml-tree.cpp:535 +#: ../src/dialogs/xml-tree.cpp:536 msgid "Set" msgstr "Установить" #. TRANSLATORS: "Attribute" is a noun here -#: ../src/dialogs/xml-tree.cpp:558 +#: ../src/dialogs/xml-tree.cpp:559 msgid "Attribute value" msgstr "Значение атрибута" -#: ../src/dialogs/xml-tree.cpp:891 +#: ../src/dialogs/xml-tree.cpp:892 msgid "Drag XML subtree" msgstr "Перетаскивание поддерева XML" -#: ../src/dialogs/xml-tree.cpp:1327 +#: ../src/dialogs/xml-tree.cpp:1329 msgid "New element node..." msgstr "Создать ветвь элемента..." -#: ../src/dialogs/xml-tree.cpp:1349 -#: ../src/ui/dialog/whiteboard-connect.cpp:116 -#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:102 +#: ../src/dialogs/xml-tree.cpp:1351 +#: ../src/ui/dialog/whiteboard-connect.cpp:119 +#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:104 msgid "Cancel" msgstr "Отменить" -#: ../src/dialogs/xml-tree.cpp:1357 +#: ../src/dialogs/xml-tree.cpp:1359 msgid "Create" msgstr "Создать" -#: ../src/dialogs/xml-tree.cpp:1390 +#: ../src/dialogs/xml-tree.cpp:1393 msgid "Create new element node" msgstr "Создание ветви элемента" -#: ../src/dialogs/xml-tree.cpp:1406 +#: ../src/dialogs/xml-tree.cpp:1409 msgid "Create new text node" msgstr "Создание текстовой ветви" -#: ../src/dialogs/xml-tree.cpp:1488 +#: ../src/dialogs/xml-tree.cpp:1491 msgid "Change attribute" msgstr "Смена атрибута" -#: ../src/display/canvas-axonomgrid.cpp:392 -#: ../src/display/canvas-grid.cpp:657 +#: ../src/display/canvas-axonomgrid.cpp:391 +#: ../src/display/canvas-grid.cpp:656 msgid "Grid _units:" msgstr "Е_диницы сетки:" -#: ../src/display/canvas-axonomgrid.cpp:394 -#: ../src/display/canvas-grid.cpp:659 +#: ../src/display/canvas-axonomgrid.cpp:393 +#: ../src/display/canvas-grid.cpp:658 msgid "_Origin X:" msgstr "_Точка отсчёта по X:" -#: ../src/display/canvas-axonomgrid.cpp:394 -#: ../src/display/canvas-grid.cpp:659 -#: ../src/ui/dialog/inkscape-preferences.cpp:888 -#: ../src/ui/dialog/inkscape-preferences.cpp:909 +#: ../src/display/canvas-axonomgrid.cpp:393 +#: ../src/display/canvas-grid.cpp:658 +#: ../src/ui/dialog/inkscape-preferences.cpp:922 +#: ../src/ui/dialog/inkscape-preferences.cpp:943 msgid "X coordinate of grid origin" msgstr "Координата начала отсчёта по оси X" -#: ../src/display/canvas-axonomgrid.cpp:396 -#: ../src/display/canvas-grid.cpp:661 +#: ../src/display/canvas-axonomgrid.cpp:395 +#: ../src/display/canvas-grid.cpp:660 msgid "O_rigin Y:" msgstr "Т_очка отсчёта по Y:" -#: ../src/display/canvas-axonomgrid.cpp:396 -#: ../src/display/canvas-grid.cpp:661 -#: ../src/ui/dialog/inkscape-preferences.cpp:889 -#: ../src/ui/dialog/inkscape-preferences.cpp:910 +#: ../src/display/canvas-axonomgrid.cpp:395 +#: ../src/display/canvas-grid.cpp:660 +#: ../src/ui/dialog/inkscape-preferences.cpp:923 +#: ../src/ui/dialog/inkscape-preferences.cpp:944 msgid "Y coordinate of grid origin" msgstr "Координата начала отсчёта по оси Y" -#: ../src/display/canvas-axonomgrid.cpp:398 -#: ../src/display/canvas-grid.cpp:665 +#: ../src/display/canvas-axonomgrid.cpp:397 +#: ../src/display/canvas-grid.cpp:664 msgid "Spacing _Y:" msgstr "И_нтервал по Y:" -#: ../src/display/canvas-axonomgrid.cpp:398 -#: ../src/ui/dialog/inkscape-preferences.cpp:912 +#: ../src/display/canvas-axonomgrid.cpp:397 +#: ../src/ui/dialog/inkscape-preferences.cpp:946 msgid "Base length of z-axis" msgstr "Основная длина оси Z" -#: ../src/display/canvas-axonomgrid.cpp:400 -#: ../src/ui/dialog/inkscape-preferences.cpp:915 -#: ../src/widgets/toolbox.cpp:2945 +#: ../src/display/canvas-axonomgrid.cpp:399 +#: ../src/ui/dialog/inkscape-preferences.cpp:949 +#: ../src/widgets/toolbox.cpp:2941 msgid "Angle X:" msgstr "Угол X:" -#: ../src/display/canvas-axonomgrid.cpp:400 -#: ../src/ui/dialog/inkscape-preferences.cpp:915 +#: ../src/display/canvas-axonomgrid.cpp:399 +#: ../src/ui/dialog/inkscape-preferences.cpp:949 msgid "Angle of x-axis" msgstr "Угол оси X" -#: ../src/display/canvas-axonomgrid.cpp:402 -#: ../src/ui/dialog/inkscape-preferences.cpp:916 -#: ../src/widgets/toolbox.cpp:3024 +#: ../src/display/canvas-axonomgrid.cpp:401 +#: ../src/ui/dialog/inkscape-preferences.cpp:950 +#: ../src/widgets/toolbox.cpp:3020 msgid "Angle Z:" msgstr "Угол Z:" -#: ../src/display/canvas-axonomgrid.cpp:402 -#: ../src/ui/dialog/inkscape-preferences.cpp:916 +#: ../src/display/canvas-axonomgrid.cpp:401 +#: ../src/ui/dialog/inkscape-preferences.cpp:950 msgid "Angle of z-axis" msgstr "Угол оси Z" -#: ../src/display/canvas-axonomgrid.cpp:406 -#: ../src/display/canvas-grid.cpp:669 +#: ../src/display/canvas-axonomgrid.cpp:405 +#: ../src/display/canvas-grid.cpp:668 msgid "Grid line _color:" msgstr "_Цвет обычных линий сетки:" -#: ../src/display/canvas-axonomgrid.cpp:406 -#: ../src/display/canvas-grid.cpp:669 +#: ../src/display/canvas-axonomgrid.cpp:405 +#: ../src/display/canvas-grid.cpp:668 msgid "Grid line color" msgstr "Цвет обычных линий сетки" -#: ../src/display/canvas-axonomgrid.cpp:406 -#: ../src/display/canvas-grid.cpp:669 +#: ../src/display/canvas-axonomgrid.cpp:405 +#: ../src/display/canvas-grid.cpp:668 msgid "Color of grid lines" msgstr "Цвет обычных линий сетки" -#: ../src/display/canvas-axonomgrid.cpp:411 -#: ../src/display/canvas-grid.cpp:674 +#: ../src/display/canvas-axonomgrid.cpp:410 +#: ../src/display/canvas-grid.cpp:673 msgid "Ma_jor grid line color:" msgstr "Цвет о_сновных линий сетки:" -#: ../src/display/canvas-axonomgrid.cpp:411 -#: ../src/display/canvas-grid.cpp:674 +#: ../src/display/canvas-axonomgrid.cpp:410 +#: ../src/display/canvas-grid.cpp:673 msgid "Major grid line color" msgstr "Цвет основных линий сетки" -#: ../src/display/canvas-axonomgrid.cpp:412 -#: ../src/display/canvas-grid.cpp:675 +#: ../src/display/canvas-axonomgrid.cpp:411 +#: ../src/display/canvas-grid.cpp:674 msgid "Color of the major (highlighted) grid lines" msgstr "Цвет основных линий сетки" -#: ../src/display/canvas-axonomgrid.cpp:416 -#: ../src/display/canvas-grid.cpp:679 +#: ../src/display/canvas-axonomgrid.cpp:415 +#: ../src/display/canvas-grid.cpp:678 msgid "_Major grid line every:" msgstr "Осно_вная линия сетки каждые:" -#: ../src/display/canvas-axonomgrid.cpp:416 -#: ../src/display/canvas-grid.cpp:679 +#: ../src/display/canvas-axonomgrid.cpp:415 +#: ../src/display/canvas-grid.cpp:678 msgid "lines" msgstr "линий" -#: ../src/display/canvas-grid.cpp:40 +#: ../src/display/canvas-grid.cpp:39 msgid "Rectangular grid" msgstr "Прямоугольная сетка" -#: ../src/display/canvas-grid.cpp:41 +#: ../src/display/canvas-grid.cpp:40 msgid "Axonometric grid" msgstr "Аксонометрическая сетка" -#: ../src/display/canvas-grid.cpp:259 +#: ../src/display/canvas-grid.cpp:258 msgid "Create new grid" msgstr "Создание новой сетки" -#: ../src/display/canvas-grid.cpp:325 +#: ../src/display/canvas-grid.cpp:324 msgid "_Enabled" msgstr "_Включена" -#: ../src/display/canvas-grid.cpp:326 +#: ../src/display/canvas-grid.cpp:325 msgid "Determines whether to snap to this grid or not. Can be 'on' for invisible grids." msgstr "Определяет, включено ли прилипание к этой сетке. Прилипание может работать и с невидимыми сетками." -#: ../src/display/canvas-grid.cpp:329 +#: ../src/display/canvas-grid.cpp:328 msgid "_Visible" msgstr "_Видима" -#: ../src/display/canvas-grid.cpp:330 +#: ../src/display/canvas-grid.cpp:329 msgid "Determines whether the grid is displayed or not. Objects are still snapped to invisible grids." msgstr "Определяет, отображается ли сетка. Объекты по-прежнему остаются прилепленными к невидимым сеткам." -#: ../src/display/canvas-grid.cpp:663 +#: ../src/display/canvas-grid.cpp:662 msgid "Spacing _X:" msgstr "_Интервал по X:" -#: ../src/display/canvas-grid.cpp:663 -#: ../src/ui/dialog/inkscape-preferences.cpp:892 +#: ../src/display/canvas-grid.cpp:662 +#: ../src/ui/dialog/inkscape-preferences.cpp:926 msgid "Distance between vertical grid lines" msgstr "Расстояние между вертикальными линиями сетки" -#: ../src/display/canvas-grid.cpp:665 -#: ../src/ui/dialog/inkscape-preferences.cpp:893 +#: ../src/display/canvas-grid.cpp:664 +#: ../src/ui/dialog/inkscape-preferences.cpp:927 msgid "Distance between horizontal grid lines" msgstr "Расстояние между горизонтальными линиями сетки" -#: ../src/display/canvas-grid.cpp:698 +#: ../src/display/canvas-grid.cpp:697 msgid "_Show dots instead of lines" msgstr "Показывать точки в_место линий" -#: ../src/display/canvas-grid.cpp:699 +#: ../src/display/canvas-grid.cpp:698 msgid "If set, displays dots at gridpoints instead of gridlines" msgstr "Отображается ли сетка лишь точками пересечения ее линий" -#: ../src/document.cpp:416 +#: ../src/document.cpp:437 #, c-format msgid "New document %d" msgstr "Новый документ %d" -#: ../src/document.cpp:448 +#: ../src/document.cpp:469 #, c-format msgid "Memory document %d" msgstr "Документ в памяти %d" -#: ../src/document.cpp:603 +#: ../src/document.cpp:624 #, c-format msgid "Unnamed document %d" msgstr "Безымянный документ %d" #. We hit green anchor, closing Green-Blue-Red -#: ../src/draw-context.cpp:569 +#: ../src/draw-context.cpp:571 msgid "Path is closed." msgstr "Контур закрыт." #. We hit bot start and end of single curve, closing paths -#: ../src/draw-context.cpp:584 +#: ../src/draw-context.cpp:586 msgid "Closing path." msgstr "Закрываем контур" -#: ../src/draw-context.cpp:694 +#: ../src/draw-context.cpp:696 msgid "Draw path" msgstr "Создание контура" -#: ../src/draw-context.cpp:851 +#: ../src/draw-context.cpp:856 msgid "Creating single dot" msgstr "Рисуется точка" -#: ../src/draw-context.cpp:852 +#: ../src/draw-context.cpp:857 msgid "Create single dot" msgstr "Рисование точки" #. alpha of color under cursor, to show in the statusbar #. locale-sensitive printf is OK, since this goes to the UI, not into SVG -#: ../src/dropper-context.cpp:288 +#: ../src/dropper-context.cpp:291 #, c-format msgid " alpha %.3g" msgstr " альфа %.3g" #. where the color is picked, to show in the statusbar -#: ../src/dropper-context.cpp:290 +#: ../src/dropper-context.cpp:293 #, c-format msgid ", averaged with radius %d" msgstr ", усредненный с радиусом %d" -#: ../src/dropper-context.cpp:290 +#: ../src/dropper-context.cpp:293 #, c-format msgid " under cursor" msgstr " под курсором" #. message, to show in the statusbar -#: ../src/dropper-context.cpp:292 +#: ../src/dropper-context.cpp:295 msgid "Release mouse to set color." msgstr "Отпустите кнопку мыши для установки цвета." -#: ../src/dropper-context.cpp:292 -#: ../src/tools-switch.cpp:232 +#: ../src/dropper-context.cpp:295 +#: ../src/tools-switch.cpp:208 msgid "Click to set fill, Shift+click to set stroke; drag to average color in area; with Alt to pick inverse color; Ctrl+C to copy the color under mouse to clipboard" msgstr "Щелчок меняет цвет заполнения, Shift+щелчок меняет цвет обводки. Перетаскивание вычисляет средний цвет области. Alt берет обратный цвет. Ctrl+C копирует в буфер цвет под курсором." -#: ../src/dropper-context.cpp:325 +#: ../src/dropper-context.cpp:328 msgid "Set picked color" msgstr "Использование снятого пипеткой цвета" -#: ../src/dyna-draw-context.cpp:619 +#: ../src/dyna-draw-context.cpp:620 msgid "Guide path selected; start drawing along the guide with Ctrl" msgstr "Выбран направляющий контур; начните рисовать вдоль него с нажатой клавишой Ctrl" -#: ../src/dyna-draw-context.cpp:621 +#: ../src/dyna-draw-context.cpp:622 msgid "Select a guide path to track with Ctrl" msgstr "Выберите направляющий контур с нажатой клавишой Ctrl" -#: ../src/dyna-draw-context.cpp:726 +#: ../src/dyna-draw-context.cpp:727 msgid "Tracking: connection to guide path lost!" msgstr "Отслеживание: соединение с направляющим контуром потеряно!" -#: ../src/dyna-draw-context.cpp:726 +#: ../src/dyna-draw-context.cpp:727 msgid "Tracking a guide path" msgstr "Отслеживание направляющего контура" -#: ../src/dyna-draw-context.cpp:729 +#: ../src/dyna-draw-context.cpp:730 msgid "Drawing a calligraphic stroke" msgstr "Рисование каллиграфическим пером" -#: ../src/dyna-draw-context.cpp:1008 +#: ../src/dyna-draw-context.cpp:1009 msgid "Draw calligraphic stroke" msgstr "Рисование каллиграфическим пером" -#: ../src/eraser-context.cpp:527 +#: ../src/eraser-context.cpp:528 msgid "Drawing an eraser stroke" msgstr "Рисуется стирающий штрих ластика" -#: ../src/eraser-context.cpp:828 +#: ../src/eraser-context.cpp:831 msgid "Draw eraser stroke" msgstr "Стирание ластиком" -#: ../src/event-context.cpp:598 +#: ../src/event-context.cpp:608 msgid "Space+mouse drag to pan canvas" -msgstr "Нажмите пробел и перетаскивайте курсор мыши для перемещения по холсту" +msgstr "Нажмите пробел и перетащите курсор мыши для перемещения по холсту" #: ../src/event-log.cpp:37 msgid "[Unchanged]" @@ -2618,13 +2620,13 @@ msgstr "[Без изменений]" #. Edit #: ../src/event-log.cpp:264 #: ../src/event-log.cpp:267 -#: ../src/verbs.cpp:2245 +#: ../src/verbs.cpp:2248 msgid "_Undo" msgstr "_Отменить" #: ../src/event-log.cpp:274 #: ../src/event-log.cpp:278 -#: ../src/verbs.cpp:2247 +#: ../src/verbs.cpp:2250 msgid "_Redo" msgstr "_Повторить" @@ -2663,8 +2665,7 @@ msgstr "" "\n" "Незагруженные сценарии пропущены. Inkscape будет работать нормально, но эти расширения будут недоступны. Подробности можно найти в файле журнала событий, находящегося здесь:" -#. This is some filler text, needs to change before relase -#: ../src/extension/error-file.cpp:62 +#: ../src/extension/error-file.cpp:63 msgid "Show dialog on startup" msgstr "Показывать диалог при запуске" @@ -2741,7 +2742,7 @@ msgstr "Деактивирован" msgid "Currently there is no help available for this Extension. Please look on the Inkscape website or ask on the mailing lists if you have questions regarding this extension." msgstr "В настоящее время для этого расширения нет справочной информации. Поищите ее на сайте Inkscape или задайте вопрос в списке рассылки для пользователей." -#: ../src/extension/implementation/script.cpp:1056 +#: ../src/extension/implementation/script.cpp:1036 msgid "Inkscape has received additional data from the script executed. The script did not return an error, but this may indicate the results will not be as expected." msgstr "Inkscape получил дополнительные данные от выполненного сценария. Сценарий не возвратил ошибки, но это может означать и то, что результаты будут отличаться от ожидаемых." @@ -2762,13 +2763,13 @@ msgstr "Адаптивная постеризация" #: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:40 #: ../src/extension/internal/bitmap/raise.cpp:41 #: ../src/extension/internal/bitmap/sample.cpp:40 -#: ../src/extension/internal/bluredge.cpp:134 +#: ../src/extension/internal/bluredge.cpp:136 #: ../src/libgdl/gdl-dock.c:190 #: ../src/libgdl/gdl-dock-placeholder.c:169 #: ../src/live_effects/lpe-bendpath.cpp:56 #: ../src/live_effects/lpe-patternalongpath.cpp:63 -#: ../src/widgets/toolbox.cpp:2616 -#: ../src/widgets/toolbox.cpp:3660 +#: ../src/widgets/toolbox.cpp:2614 +#: ../src/widgets/toolbox.cpp:3643 msgid "Width" msgstr "Ширина" @@ -2777,7 +2778,7 @@ msgstr "Ширина" #: ../src/extension/internal/bitmap/sample.cpp:41 #: ../src/libgdl/gdl-dock.c:198 #: ../src/libgdl/gdl-dock-placeholder.c:177 -#: ../src/widgets/toolbox.cpp:2633 +#: ../src/widgets/toolbox.cpp:2631 msgid "Height" msgstr "Высота" @@ -2787,7 +2788,7 @@ msgstr "Высота" #: ../src/live_effects/effect.cpp:93 #: ../src/live_effects/lpe-offset.cpp:30 #: ../src/live_effects/lpe-parallel.cpp:46 -#: ../src/live_effects/lpe-ruler.cpp:48 +#: ../src/live_effects/lpe-ruler.cpp:49 msgid "Offset" msgstr "Смещение" @@ -2877,7 +2878,7 @@ msgstr "Размывание" #: ../src/extension/internal/bitmap/oilPaint.cpp:38 #: ../src/extension/internal/bitmap/sharpen.cpp:39 #: ../src/extension/internal/bitmap/unsharpmask.cpp:42 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2255 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2256 msgid "Radius" msgstr "Радиус" @@ -3127,24 +3128,24 @@ msgid "Brightness" msgstr "Яркость" #: ../src/extension/internal/bitmap/modulate.cpp:42 -#: ../src/flood-context.cpp:275 -#: ../src/ui/dialog/inkscape-preferences.cpp:751 -#: ../src/widgets/sp-color-icc-selector.cpp:235 +#: ../src/flood-context.cpp:279 +#: ../src/ui/dialog/inkscape-preferences.cpp:785 #: ../src/widgets/sp-color-icc-selector.cpp:236 +#: ../src/widgets/sp-color-icc-selector.cpp:237 #: ../src/widgets/sp-color-scales.cpp:427 #: ../src/widgets/sp-color-scales.cpp:428 -#: ../src/widgets/toolbox.cpp:3824 +#: ../src/widgets/toolbox.cpp:3815 #: ../share/extensions/color_randomize.inx.h:5 msgid "Saturation" msgstr "Насыщенность" #: ../src/extension/internal/bitmap/modulate.cpp:43 -#: ../src/flood-context.cpp:274 -#: ../src/widgets/sp-color-icc-selector.cpp:235 +#: ../src/flood-context.cpp:278 #: ../src/widgets/sp-color-icc-selector.cpp:236 +#: ../src/widgets/sp-color-icc-selector.cpp:237 #: ../src/widgets/sp-color-scales.cpp:424 #: ../src/widgets/sp-color-scales.cpp:425 -#: ../src/widgets/toolbox.cpp:3809 +#: ../src/widgets/toolbox.cpp:3800 #: ../share/extensions/color_randomize.inx.h:2 msgid "Hue" msgstr "Тон" @@ -3299,23 +3300,23 @@ msgstr "Длина волны" msgid "Alter selected bitmap(s) along sine wave." msgstr "Изменить выбранные изображения по синусоиде" -#: ../src/extension/internal/bluredge.cpp:132 +#: ../src/extension/internal/bluredge.cpp:134 msgid "Inset/Outset Halo" msgstr "Втяжка/растяжка ореола" -#: ../src/extension/internal/bluredge.cpp:134 +#: ../src/extension/internal/bluredge.cpp:136 msgid "Width in px of the halo" msgstr "Ширина ореола в пикселах" -#: ../src/extension/internal/bluredge.cpp:135 +#: ../src/extension/internal/bluredge.cpp:137 msgid "Number of steps" msgstr "Количество шагов" -#: ../src/extension/internal/bluredge.cpp:135 +#: ../src/extension/internal/bluredge.cpp:137 msgid "Number of inset/outset copies of the object to make" msgstr "Количество копий втяжки/растяжки объекта" -#: ../src/extension/internal/bluredge.cpp:139 +#: ../src/extension/internal/bluredge.cpp:141 #: ../share/extensions/extrude.inx.h:2 #: ../share/extensions/interp.inx.h:3 #: ../share/extensions/motion.inx.h:2 @@ -3329,19 +3330,19 @@ msgid "Cairo PDF Output" msgstr "Экспорт в PDF через Cairo" #: ../src/extension/internal/cairo-pdf-out.cpp:240 -#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:217 +#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:215 msgid "Restrict to PDF version" msgstr "Версия PDF:" #: ../src/extension/internal/cairo-pdf-out.cpp:241 -#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:218 +#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:216 msgid "PDF 1.4" msgstr "PDF 1.4" #: ../src/extension/internal/cairo-pdf-out.cpp:243 -#: ../src/extension/internal/cairo-ps-out.cpp:347 -#: ../src/extension/internal/cairo-ps-out.cpp:381 -#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:220 +#: ../src/extension/internal/cairo-ps-out.cpp:284 +#: ../src/extension/internal/cairo-ps-out.cpp:321 +#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:218 #: ../src/extension/internal/emf-win32-inout.cpp:2435 #: ../src/extension/internal/eps-out.cpp:92 #: ../src/extension/internal/ps-out.cpp:84 @@ -3349,30 +3350,32 @@ msgid "Convert texts to paths" msgstr "Текст в кривые Безье" #: ../src/extension/internal/cairo-pdf-out.cpp:244 -#: ../src/extension/internal/cairo-ps-out.cpp:348 -#: ../src/extension/internal/cairo-ps-out.cpp:382 +#: ../src/extension/internal/cairo-ps-out.cpp:285 +#: ../src/extension/internal/cairo-ps-out.cpp:322 msgid "Convert blur effects to bitmaps" msgstr "Размытые объекты в растровые" #: ../src/extension/internal/cairo-pdf-out.cpp:245 -#: ../src/extension/internal/cairo-ps-out.cpp:349 -#: ../src/extension/internal/cairo-ps-out.cpp:383 -#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:222 +#: ../src/extension/internal/cairo-ps-out.cpp:286 +#: ../src/extension/internal/cairo-ps-out.cpp:323 +#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:220 msgid "Preferred resolution (DPI) of bitmaps" msgstr "Разрешение растра (dpi):" #: ../src/extension/internal/cairo-pdf-out.cpp:246 -#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:223 +#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:221 msgid "Export drawing, not page" msgstr "Экспортировать только рисунок" #: ../src/extension/internal/cairo-pdf-out.cpp:247 -#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:224 +#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:222 msgid "Export canvas" msgstr "Экспортировать холст" #: ../src/extension/internal/cairo-pdf-out.cpp:248 -#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:225 +#: ../src/extension/internal/cairo-ps-out.cpp:287 +#: ../src/extension/internal/cairo-ps-out.cpp:324 +#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:223 msgid "Limit export to the object with ID" msgstr "Только объект с ID" @@ -3384,54 +3387,65 @@ msgstr "PDF через Cairo (*.pdf)" msgid "PDF File" msgstr "Файл PDF" -#: ../src/extension/internal/cairo-ps-out.cpp:339 +#: ../src/extension/internal/cairo-ps-out.cpp:274 #: ../share/extensions/ps_input.inx.h:1 msgid "PostScript" msgstr "PostScript" -#: ../src/extension/internal/cairo-ps-out.cpp:341 -#: ../src/extension/internal/cairo-ps-out.cpp:375 +#: ../src/extension/internal/cairo-ps-out.cpp:276 +#: ../src/extension/internal/cairo-ps-out.cpp:313 msgid "Restrict to PS level" msgstr "Версия PS:" -#: ../src/extension/internal/cairo-ps-out.cpp:342 -#: ../src/extension/internal/cairo-ps-out.cpp:376 +#: ../src/extension/internal/cairo-ps-out.cpp:277 +#: ../src/extension/internal/cairo-ps-out.cpp:314 msgid "PostScript level 3" msgstr "PostScript Level 3" -#: ../src/extension/internal/cairo-ps-out.cpp:344 -#: ../src/extension/internal/cairo-ps-out.cpp:378 +#: ../src/extension/internal/cairo-ps-out.cpp:279 +#: ../src/extension/internal/cairo-ps-out.cpp:316 msgid "PostScript level 2" msgstr "PostScript Level 2" -#: ../src/extension/internal/cairo-ps-out.cpp:353 +#: ../src/extension/internal/cairo-ps-out.cpp:282 +#: ../src/extension/internal/cairo-ps-out.cpp:319 +#, fuzzy +msgid "Export area is whole canvas" +msgstr "Экспортируемая область включает в себя весь холст" + +#: ../src/extension/internal/cairo-ps-out.cpp:283 +#: ../src/extension/internal/cairo-ps-out.cpp:320 +#, fuzzy +msgid "Export area is the drawing" +msgstr "Экспортируемая область включает в себя весь холст" + +#: ../src/extension/internal/cairo-ps-out.cpp:291 #: ../share/extensions/ps_input.inx.h:2 msgid "PostScript (*.ps)" msgstr "Файлы Postscript (*.ps)" -#: ../src/extension/internal/cairo-ps-out.cpp:354 +#: ../src/extension/internal/cairo-ps-out.cpp:292 #: ../src/extension/internal/ps-out.cpp:90 msgid "PostScript File" msgstr "Файл PostScript" -#: ../src/extension/internal/cairo-ps-out.cpp:373 +#: ../src/extension/internal/cairo-ps-out.cpp:311 #: ../share/extensions/eps_input.inx.h:2 msgid "Encapsulated PostScript" msgstr "Encapsulated Postscript" -#: ../src/extension/internal/cairo-ps-out.cpp:387 +#: ../src/extension/internal/cairo-ps-out.cpp:328 #: ../share/extensions/eps_input.inx.h:3 msgid "Encapsulated PostScript (*.eps)" msgstr "Файлы Encapsulated Postscript (*.eps)" -#: ../src/extension/internal/cairo-ps-out.cpp:388 +#: ../src/extension/internal/cairo-ps-out.cpp:329 msgid "Encapsulated PostScript File" msgstr "Файл Encapsulated PostScript" -#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:221 -#, fuzzy +#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:219 msgid "Convert filter effects to bitmaps" -msgstr "Размытые объекты в растровые" +msgstr "Объекты с фильтрами SVG в растр" #: ../src/extension/internal/emf-win32-inout.cpp:2405 msgid "EMF Input" @@ -3568,7 +3582,7 @@ msgid "Vertical offset, px" msgstr "Сдвиг по вертикали, px" #: ../src/extension/internal/filter/drop-shadow.h:44 -#: ../src/extension/internal/filter/filter.cpp:196 +#: ../src/extension/internal/filter/filter.cpp:201 #: ../src/extension/internal/filter/filter-file.cpp:146 #: ../src/extension/internal/filter/snow.h:38 msgid "Filter" @@ -3786,7 +3800,7 @@ msgstr "Полоски зебры" msgid "Paint your object with zebra stripes" msgstr "Раскрасить объект под зебру" -#: ../src/extension/internal/gdkpixbuf-input.cpp:114 +#: ../src/extension/internal/gdkpixbuf-input.cpp:113 #, c-format msgid "%s GDK pixbuf Input" msgstr "Импорт %s через GDK pixbuf" @@ -3803,32 +3817,33 @@ msgstr "Градиенты GIMP (*.ggr)" msgid "Gradients used in GIMP" msgstr "Градиенты, используемые в GIMP" -#: ../src/extension/internal/grid.cpp:191 -#: ../src/ui/widget/panel.cpp:122 +#: ../src/extension/internal/grid.cpp:192 +#: ../src/ui/widget/panel.cpp:112 msgid "Grid" msgstr "Сетка" -#: ../src/extension/internal/grid.cpp:193 +#: ../src/extension/internal/grid.cpp:194 msgid "Line Width" msgstr "Ширина линии" -#: ../src/extension/internal/grid.cpp:194 +#: ../src/extension/internal/grid.cpp:195 msgid "Horizontal Spacing" msgstr "Интервал по горизонтали" -#: ../src/extension/internal/grid.cpp:195 +#: ../src/extension/internal/grid.cpp:196 msgid "Vertical Spacing" msgstr "Интервал по вертикали" -#: ../src/extension/internal/grid.cpp:196 +#: ../src/extension/internal/grid.cpp:197 msgid "Horizontal Offset" msgstr "Сдвиг по горизонтали" -#: ../src/extension/internal/grid.cpp:197 +#: ../src/extension/internal/grid.cpp:198 msgid "Vertical Offset" msgstr "Сдвиг по вертикали" -#: ../src/extension/internal/grid.cpp:201 +#: ../src/extension/internal/grid.cpp:202 +#: ../share/extensions/draw_from_triangle.inx.h:30 #: ../share/extensions/eqtexsvg.inx.h:3 #: ../share/extensions/funcplot.inx.h:12 #: ../share/extensions/gears.inx.h:5 @@ -3844,7 +3859,7 @@ msgstr "Сдвиг по вертикали" msgid "Render" msgstr "Отрисовка" -#: ../src/extension/internal/grid.cpp:203 +#: ../src/extension/internal/grid.cpp:204 msgid "Draw a path which is a grid" msgstr "Нарисовать контур, являющийся сеткой" @@ -3857,9 +3872,8 @@ msgid "JavaFX (*.fx)" msgstr "Файлы JavaFX (*.fx)" #: ../src/extension/internal/javafx-out.cpp:928 -#, fuzzy msgid "JavaFX Raytracer File" -msgstr "Файл трассировщика лучей POV-Ray" +msgstr "Файл трассировщика лучей JavaFX" #: ../src/extension/internal/latex-pstricks.cpp:345 msgid "LaTeX Print" @@ -4172,7 +4186,7 @@ msgstr "Сжатые файлы Inkscape SVG (*.svgz)" msgid "Scalable Vector Graphics format compressed with GZip" msgstr "Масштабируемая векторная графика (SVG), сжатая GZip" -#: ../src/extension/internal/win32.cpp:491 +#: ../src/extension/internal/win32.cpp:485 msgid "Windows 32-bit Print" msgstr "Печать в Windows 32-bit" @@ -4208,42 +4222,42 @@ msgstr "Невозможно определить формат файла. Фа #. template. This way you can localize the default pagesize, translate the name of #. the default layer, etc. If you wish to localize this file, please create a #. localized share/templates/default.xx.svg file, where xx is your language code. -#: ../src/file.cpp:142 +#: ../src/file.cpp:154 msgid "default.svg" msgstr "default.svg" -#: ../src/file.cpp:228 -#: ../src/file.cpp:1007 +#: ../src/file.cpp:240 +#: ../src/file.cpp:1020 #, c-format msgid "Failed to load the requested file %s" msgstr "Не удалось загрузить запрошенный файл %s" -#: ../src/file.cpp:253 +#: ../src/file.cpp:265 msgid "Document not saved yet. Cannot revert." msgstr "Документ еще не был сохранен. Вернуться к сохраненному невозможно." -#: ../src/file.cpp:259 +#: ../src/file.cpp:271 #, c-format msgid "Changes will be lost! Are you sure you want to reload document %s?" msgstr "Изменения будут потеряны! Вы уверены, что хотите загрузить документ %s заново?" -#: ../src/file.cpp:288 +#: ../src/file.cpp:300 msgid "Document reverted." msgstr "Документ возвращен к последнему сохраненному состоянию." -#: ../src/file.cpp:290 +#: ../src/file.cpp:302 msgid "Document not reverted." msgstr "Документ не возвращен к сохраненному состоянию." -#: ../src/file.cpp:440 +#: ../src/file.cpp:452 msgid "Select file to open" msgstr "Выберите файл" -#: ../src/file.cpp:527 +#: ../src/file.cpp:539 msgid "Vacuum <defs>" msgstr "О_чистить <defs>" -#: ../src/file.cpp:532 +#: ../src/file.cpp:544 #, c-format msgid "Removed %i unused definition in <defs>." msgid_plural "Removed %i unused definitions in <defs>." @@ -4251,90 +4265,90 @@ msgstr[0] "Удалено %i ненужное определение в & msgstr[1] "Удалено %i ненужных определения в <defs>." msgstr[2] "Удалено %i ненужных определений в <defs>." -#: ../src/file.cpp:537 +#: ../src/file.cpp:549 msgid "No unused definitions in <defs>." msgstr "Нет ненужных элементов в <defs>." -#: ../src/file.cpp:566 +#: ../src/file.cpp:578 #, c-format msgid "No Inkscape extension found to save document (%s). This may have been caused by an unknown filename extension." msgstr "Не найдено расширение Inkscape для сохранения документа (%s). Возможно, задано неизвестное расширение имени файла." -#: ../src/file.cpp:567 -#: ../src/file.cpp:575 +#: ../src/file.cpp:579 +#: ../src/file.cpp:587 msgid "Document not saved." msgstr "Документ не сохранен." -#: ../src/file.cpp:574 +#: ../src/file.cpp:586 #, c-format msgid "File %s could not be saved." msgstr "Невозможно сохранить файл %s." -#: ../src/file.cpp:585 +#: ../src/file.cpp:597 msgid "Document saved." msgstr "Документ сохранен." -#: ../src/file.cpp:726 -#: ../src/file.cpp:1134 -#: ../src/file.cpp:1251 +#: ../src/file.cpp:738 +#: ../src/file.cpp:1147 +#: ../src/file.cpp:1266 #, c-format msgid "drawing%s" msgstr "рисунок%s" -#: ../src/file.cpp:732 +#: ../src/file.cpp:744 #, c-format msgid "drawing-%d%s" msgstr "рисунок-%d%s" -#: ../src/file.cpp:751 +#: ../src/file.cpp:763 msgid "Select file to save a copy to" msgstr "Выберите файл для сохранения копии" -#: ../src/file.cpp:753 +#: ../src/file.cpp:765 msgid "Select file to save to" msgstr "Выберите файл для сохранения" -#: ../src/file.cpp:832 +#: ../src/file.cpp:845 msgid "No changes need to be saved." msgstr "Файл не был изменен. Сохранение не требуется." -#: ../src/file.cpp:849 +#: ../src/file.cpp:862 msgid "Saving document..." msgstr "Выполняется сохранение документа..." -#: ../src/file.cpp:1004 +#: ../src/file.cpp:1017 msgid "Import" msgstr "Импорт" -#: ../src/file.cpp:1036 +#: ../src/file.cpp:1049 msgid "Select file to import" msgstr "Выберите файл для импорта" -#: ../src/file.cpp:1156 -#: ../src/file.cpp:1266 +#: ../src/file.cpp:1169 +#: ../src/file.cpp:1281 msgid "Select file to export to" msgstr "Выберите файл для экспорта" -#: ../src/file.cpp:1293 +#: ../src/file.cpp:1308 #, c-format msgid "Error saving a temporary copy" msgstr "Ошибка сохранения временной копии" -#: ../src/file.cpp:1313 +#: ../src/file.cpp:1328 msgid "Open Clip Art Login" msgstr "Вход в Open Clip Art" -#: ../src/file.cpp:1334 +#: ../src/file.cpp:1349 #, fuzzy, c-format msgid "Error exporting the document. Verify if the server name, username and password are correct, if the server has support for webdav and verify if you didn't forget to choose a license." msgstr "В ходе экспорта документа произошла ошибка. Проверьте, корректно ли введены имя сервера, имя пользователя и пароль, есть ли у сервера поддержка webdav, не забыли ли вы указать лицензию." -#: ../src/file.cpp:1355 +#: ../src/file.cpp:1370 msgid "Document exported..." msgstr "Документ экспортирован..." -#: ../src/file.cpp:1383 -#: ../src/verbs.cpp:2234 +#: ../src/file.cpp:1398 +#: ../src/verbs.cpp:2237 msgid "Import From Open Clip Art Library" msgstr "Импортировать из Open Clip Art Library" @@ -4459,7 +4473,7 @@ msgstr "Освещенность в альфа" #. File #: ../src/filter-enums.cpp:71 -#: ../src/verbs.cpp:2211 +#: ../src/verbs.cpp:2214 msgid "Default" msgstr "По умолчанию" @@ -4508,7 +4522,7 @@ msgid "Gamma" msgstr "Гамма" #: ../src/filter-enums.cpp:93 -#: ../src/selection-chemistry.cpp:314 +#: ../src/selection-chemistry.cpp:311 #: ../src/widgets/gradient-selector.cpp:134 msgid "Duplicate" msgstr "Продублировать" @@ -4518,31 +4532,31 @@ msgid "Wrap" msgstr "Крупнее" #: ../src/filter-enums.cpp:101 -#: ../src/flood-context.cpp:271 -#: ../src/widgets/sp-color-icc-selector.cpp:233 +#: ../src/flood-context.cpp:275 +#: ../src/widgets/sp-color-icc-selector.cpp:234 #: ../src/widgets/sp-color-scales.cpp:398 #: ../src/widgets/sp-color-scales.cpp:399 msgid "Red" msgstr "Красный" #: ../src/filter-enums.cpp:102 -#: ../src/flood-context.cpp:272 -#: ../src/widgets/sp-color-icc-selector.cpp:233 +#: ../src/flood-context.cpp:276 +#: ../src/widgets/sp-color-icc-selector.cpp:234 #: ../src/widgets/sp-color-scales.cpp:401 #: ../src/widgets/sp-color-scales.cpp:402 msgid "Green" msgstr "Зеленый" #: ../src/filter-enums.cpp:103 -#: ../src/flood-context.cpp:273 -#: ../src/widgets/sp-color-icc-selector.cpp:233 +#: ../src/flood-context.cpp:277 +#: ../src/widgets/sp-color-icc-selector.cpp:234 #: ../src/widgets/sp-color-scales.cpp:404 #: ../src/widgets/sp-color-scales.cpp:405 msgid "Blue" msgstr "Синий" #: ../src/filter-enums.cpp:104 -#: ../src/flood-context.cpp:277 +#: ../src/flood-context.cpp:281 msgid "Alpha" msgstr "Альфа-канал" @@ -4570,38 +4584,38 @@ msgstr "Точечный" msgid "Spot Light" msgstr "Прожектор" -#: ../src/flood-context.cpp:270 +#: ../src/flood-context.cpp:274 msgid "Visible Colors" msgstr "Видимые цвета" -#: ../src/flood-context.cpp:276 -#: ../src/widgets/sp-color-icc-selector.cpp:236 +#: ../src/flood-context.cpp:280 +#: ../src/widgets/sp-color-icc-selector.cpp:237 #: ../src/widgets/sp-color-scales.cpp:430 #: ../src/widgets/sp-color-scales.cpp:431 -#: ../src/widgets/toolbox.cpp:3839 +#: ../src/widgets/toolbox.cpp:3830 #: ../share/extensions/color_randomize.inx.h:3 msgid "Lightness" msgstr "Яркость" -#: ../src/flood-context.cpp:289 -#: ../src/ui/dialog/inkscape-preferences.cpp:961 +#: ../src/flood-context.cpp:293 +#: ../src/ui/dialog/inkscape-preferences.cpp:995 msgid "Small" msgstr "Маленькие" -#: ../src/flood-context.cpp:290 -#: ../src/ui/dialog/inkscape-preferences.cpp:961 +#: ../src/flood-context.cpp:294 +#: ../src/ui/dialog/inkscape-preferences.cpp:995 msgid "Medium" msgstr "Средние" -#: ../src/flood-context.cpp:291 +#: ../src/flood-context.cpp:295 msgid "Large" msgstr "Большие" -#: ../src/flood-context.cpp:491 +#: ../src/flood-context.cpp:497 msgid "Too much inset, the result is empty." msgstr "Слишком сильная втяжка, в результате ничего не осталось." -#: ../src/flood-context.cpp:531 +#: ../src/flood-context.cpp:537 #, c-format msgid "Area filled, path with %d node created and unioned with selection." msgid_plural "Area filled, path with %d nodes created and unioned with selection." @@ -4609,7 +4623,7 @@ msgstr[0] "Область залита, контур с %d узлом с msgstr[1] "Область залита, контур с %d узлами создан и объединен с выделением." msgstr[2] "Область залита, контур с %d узлами создан и объединен с выделением." -#: ../src/flood-context.cpp:535 +#: ../src/flood-context.cpp:541 #, c-format msgid "Area filled, path with %d node created." msgid_plural "Area filled, path with %d nodes created." @@ -4617,25 +4631,25 @@ msgstr[0] "Область залита, создан контур с %d msgstr[1] "Область залита, создан контур с %d узлами." msgstr[2] "Область залита, создан контур с %d узлами." -#: ../src/flood-context.cpp:807 -#: ../src/flood-context.cpp:1120 +#: ../src/flood-context.cpp:813 +#: ../src/flood-context.cpp:1127 msgid "Area is not bounded, cannot fill." msgstr "Область не замкнута, заливка невозможна" -#: ../src/flood-context.cpp:1125 +#: ../src/flood-context.cpp:1132 msgid "Only the visible part of the bounded area was filled. If you want to fill all of the area, undo, zoom out, and fill again." msgstr "Только видимая часть замнутой области была заполнена. Если вы хотите залить цветом всю область, отмените предыдущее действие, уменьшите масштаб отображения и попробуйте снова." -#: ../src/flood-context.cpp:1143 -#: ../src/flood-context.cpp:1303 +#: ../src/flood-context.cpp:1150 +#: ../src/flood-context.cpp:1310 msgid "Fill bounded area" msgstr "Заливка замкнутой области" -#: ../src/flood-context.cpp:1163 +#: ../src/flood-context.cpp:1170 msgid "Set style on object" msgstr "Установка стиля объекта" -#: ../src/flood-context.cpp:1222 +#: ../src/flood-context.cpp:1229 msgid "Draw over areas to add to fill, hold Alt for touch fill" msgstr "Проведите курсором мыши по областям, добавляемым в заливку, нажмите Alt для переключения на касательную заливку" @@ -4734,37 +4748,37 @@ msgstr[0] "Ни одной опорной точки градиента msgstr[1] "Ни одной опорной точки градиента из %d не выбрано в %d выбранных объектах" msgstr[2] "Ни одной опорной точки градиента из %d не выбрано в %d выбранных объектах" -#: ../src/gradient-context.cpp:385 -#: ../src/gradient-context.cpp:478 -#: ../src/widgets/gradient-vector.cpp:735 +#: ../src/gradient-context.cpp:386 +#: ../src/gradient-context.cpp:479 +#: ../src/widgets/gradient-vector.cpp:738 msgid "Add gradient stop" msgstr "Добавка опорной точки в градиент" -#: ../src/gradient-context.cpp:453 +#: ../src/gradient-context.cpp:454 msgid "Simplify gradient" msgstr "Упростить градиент" -#: ../src/gradient-context.cpp:529 +#: ../src/gradient-context.cpp:531 msgid "Create default gradient" msgstr "Создание обычного градиента" -#: ../src/gradient-context.cpp:584 +#: ../src/gradient-context.cpp:586 msgid "Draw around handles to select them" msgstr "Обведите курсором мыши рычаги, чтобы выделить их" -#: ../src/gradient-context.cpp:682 +#: ../src/gradient-context.cpp:684 msgid "Ctrl: snap gradient angle" msgstr "Ctrl: ограничить угол" -#: ../src/gradient-context.cpp:683 +#: ../src/gradient-context.cpp:685 msgid "Shift: draw gradient around the starting point" msgstr "Shift: рисовать градиент вокруг начальной точки" -#: ../src/gradient-context.cpp:803 +#: ../src/gradient-context.cpp:805 msgid "Invert gradient" msgstr "Инвертирование градиента" -#: ../src/gradient-context.cpp:919 +#: ../src/gradient-context.cpp:922 #, c-format msgid "Gradient for %d object; with Ctrl to snap angle" msgid_plural "Gradient for %d objects; with Ctrl to snap angle" @@ -4772,7 +4786,7 @@ msgstr[0] "Градиент для %d объекта; Ctrl огр msgstr[1] "Градиент для %d объектов; Ctrl ограничивает угол" msgstr[2] "Градиент для %d объектов; Ctrl ограничивает угол" -#: ../src/gradient-context.cpp:923 +#: ../src/gradient-context.cpp:926 msgid "Select objects on which to create gradient." msgstr "Выделите объекты, к которым будет применен градиент." @@ -4780,36 +4794,36 @@ msgstr "Выделите объекты, к которым будет п msgid "Merge gradient handles" msgstr "Объединение рычагов градиента" -#: ../src/gradient-drag.cpp:895 +#: ../src/gradient-drag.cpp:896 msgid "Move gradient handle" msgstr "Смещение рычага градиента" -#: ../src/gradient-drag.cpp:948 -#: ../src/widgets/gradient-vector.cpp:767 +#: ../src/gradient-drag.cpp:949 +#: ../src/widgets/gradient-vector.cpp:770 msgid "Delete gradient stop" msgstr "Удаление опорной точки" -#: ../src/gradient-drag.cpp:1112 +#: ../src/gradient-drag.cpp:1113 #, c-format msgid "%s %d for: %s%s; drag with Ctrl to snap offset; click with Ctrl+Alt to delete stop" msgstr "%s %d для: %s%s; c Ctrl прилипать по 1/10 радиуса, щелчком с Ctrl+Alt удалить опорную точку" -#: ../src/gradient-drag.cpp:1116 -#: ../src/gradient-drag.cpp:1123 +#: ../src/gradient-drag.cpp:1117 +#: ../src/gradient-drag.cpp:1124 msgid " (stroke)" msgstr "(штрих)" -#: ../src/gradient-drag.cpp:1120 +#: ../src/gradient-drag.cpp:1121 #, c-format msgid "%s for: %s%s; drag with Ctrl to snap angle, with Ctrl+Alt to preserve angle, with Ctrl+Shift to scale around center" msgstr "%s для: %s%s; Ctrl ограничивает угол, Ctrl+Alt фиксирует угол, Ctrl+Shift масштабирует вокруг центра" -#: ../src/gradient-drag.cpp:1128 +#: ../src/gradient-drag.cpp:1129 #, c-format msgid "Radial gradient center and focus; drag with Shift to separate focus" msgstr "Центр и фокус радиального градиента; перетаскивание с Shift отделяет фокус" -#: ../src/gradient-drag.cpp:1131 +#: ../src/gradient-drag.cpp:1132 #, c-format msgid "Gradient point shared by %d gradient; drag with Shift to separate" msgid_plural "Gradient point shared by %d gradients; drag with Shift to separate" @@ -4817,15 +4831,15 @@ msgstr[0] "Точка градиента, общая для %d гради msgstr[1] "Точка градиента, общая для %d градиентов; перетаскивание с Shift разделяет точки" msgstr[2] "Точка градиента, общая для %d градиентов; перетаскивание с Shift разделяет точки" -#: ../src/gradient-drag.cpp:1806 +#: ../src/gradient-drag.cpp:1807 msgid "Move gradient handle(s)" msgstr "Смещение рычага градиента" -#: ../src/gradient-drag.cpp:1842 +#: ../src/gradient-drag.cpp:1843 msgid "Move gradient mid stop(s)" msgstr "Смещение опорной точки градиента" -#: ../src/gradient-drag.cpp:2130 +#: ../src/gradient-drag.cpp:2131 msgid "Delete gradient stop(s)" msgstr "Удалить опорную точку (-и)" @@ -4836,11 +4850,11 @@ msgstr "Единица" #. Add the units menu. #: ../src/helper/units.cpp:37 -#: ../src/widgets/select-toolbar.cpp:491 -#: ../src/widgets/toolbox.cpp:1470 -#: ../src/widgets/toolbox.cpp:2677 -#: ../src/widgets/toolbox.cpp:5196 -#: ../src/widgets/toolbox.cpp:6703 +#: ../src/widgets/select-toolbar.cpp:501 +#: ../src/widgets/toolbox.cpp:1469 +#: ../src/widgets/toolbox.cpp:2675 +#: ../src/widgets/toolbox.cpp:5178 +#: ../src/widgets/toolbox.cpp:6691 msgid "Units" msgstr "Единицы" @@ -4883,9 +4897,9 @@ msgid "Pixel" msgstr "Пиксел" #: ../src/helper/units.cpp:40 -#: ../src/ui/dialog/inkscape-preferences.cpp:206 -#: ../src/ui/dialog/inkscape-preferences.cpp:210 -#: ../src/ui/dialog/inkscape-preferences.cpp:213 +#: ../src/ui/dialog/inkscape-preferences.cpp:207 +#: ../src/ui/dialog/inkscape-preferences.cpp:211 +#: ../src/ui/dialog/inkscape-preferences.cpp:214 #: ../src/ui/widget/selected-style.cpp:283 msgid "px" msgstr "px" @@ -4905,7 +4919,7 @@ msgid "Percent" msgstr "Процент" #: ../src/helper/units.cpp:42 -#: ../src/ui/dialog/inkscape-preferences.cpp:226 +#: ../src/ui/dialog/inkscape-preferences.cpp:227 msgid "%" msgstr "%" @@ -5002,121 +5016,125 @@ msgstr "ex" msgid "Ex squares" msgstr "Ex squares" -#: ../src/inkscape.cpp:334 +#: ../src/inkscape.cpp:329 msgid "Autosaving documents..." msgstr "Выполняется автоматическое сохранение документов..." -#: ../src/inkscape.cpp:402 +#: ../src/inkscape.cpp:400 msgid "Autosave failed! Could not find inkscape extension to save document." msgstr "Автосохранение не сработало! Не удалось найти расширение Inkscape для сохранения документа." -#: ../src/inkscape.cpp:405 -#: ../src/inkscape.cpp:412 +#: ../src/inkscape.cpp:403 +#: ../src/inkscape.cpp:410 #, c-format msgid "Autosave failed! File %s could not be saved." msgstr "Не удалось автоматически сохранить файл %s!" -#: ../src/inkscape.cpp:427 +#: ../src/inkscape.cpp:425 msgid "Autosave complete." msgstr "Автосохранение завершено" -#: ../src/inkscape.cpp:654 +#: ../src/inkscape.cpp:647 msgid "Untitled document" msgstr "Без названия" #. Show nice dialog box -#: ../src/inkscape.cpp:683 +#: ../src/inkscape.cpp:676 msgid "Inkscape encountered an internal error and will close now.\n" msgstr "Внутренняя ошибка. Inkscape придется закрыть.\n" -#: ../src/inkscape.cpp:684 +#: ../src/inkscape.cpp:677 msgid "Automatic backups of unsaved documents were done to the following locations:\n" msgstr "Выполнено автоматическое резервное копирование несохраненных документов:\n" -#: ../src/inkscape.cpp:685 +#: ../src/inkscape.cpp:678 msgid "Automatic backup of the following documents failed:\n" msgstr "Не получилось сохранить резервную копию следующего документа:\n" #. sp_ui_menu_append_check_item_from_verb(m, view, _("_Menu"), _("Show or hide the menu bar"), "menu", #. checkitem_toggled, checkitem_update, 0); -#: ../src/interface.cpp:838 +#: ../src/interface.cpp:827 msgid "Commands Bar" msgstr "Панель команд" -#: ../src/interface.cpp:838 +#: ../src/interface.cpp:827 msgid "Show or hide the Commands bar (under the menu)" msgstr "Показать/скрыть панель команд (под меню)" -#: ../src/interface.cpp:840 +#: ../src/interface.cpp:829 msgid "Tool Controls Bar" msgstr "Панель параметров инструментов" -#: ../src/interface.cpp:840 +#: ../src/interface.cpp:829 msgid "Show or hide the Tool Controls bar" msgstr "Показать/скрыть панель с параметрами инструментов" -#: ../src/interface.cpp:842 +#: ../src/interface.cpp:831 msgid "_Toolbox" msgstr "_Панель инструментов" -#: ../src/interface.cpp:842 +#: ../src/interface.cpp:831 msgid "Show or hide the main toolbox (on the left)" msgstr "Показать/скрыть главную панель инструментов (слева)" -#: ../src/interface.cpp:848 +#: ../src/interface.cpp:837 msgid "_Palette" msgstr "О_бразцы цветов" -#: ../src/interface.cpp:848 +#: ../src/interface.cpp:837 msgid "Show or hide the color palette" msgstr "Показать/скрыть панель с палитрой цветов" -#: ../src/interface.cpp:850 +#: ../src/interface.cpp:839 msgid "_Statusbar" msgstr "_Строка состояния" -#: ../src/interface.cpp:850 +#: ../src/interface.cpp:839 msgid "Show or hide the statusbar (at the bottom of the window)" msgstr "Показать/скрыть строку состояния (внизу окна)" -#: ../src/interface.cpp:904 +#: ../src/interface.cpp:893 #, c-format msgid "Verb \"%s\" Unknown" msgstr "Глагол \"%s\" неизвестен" +#: ../src/interface.cpp:932 +msgid "Open _Recent" +msgstr "Открыть н_едавние" + #. TRANSLATORS: #%s is the id of the group e.g. , not a number. -#: ../src/interface.cpp:1023 +#: ../src/interface.cpp:1030 #, c-format msgid "Enter group #%s" msgstr "Войти в группу #%s" -#: ../src/interface.cpp:1034 +#: ../src/interface.cpp:1041 msgid "Go to parent" msgstr "На уровень выше" -#: ../src/interface.cpp:1125 -#: ../src/interface.cpp:1210 +#: ../src/interface.cpp:1132 +#: ../src/interface.cpp:1218 #: ../src/ui/widget/selected-style.cpp:462 msgid "Drop color" msgstr "Перенос цвета" -#: ../src/interface.cpp:1164 +#: ../src/interface.cpp:1171 msgid "Drop color on gradient" msgstr "Перенос цвета на градиент" -#: ../src/interface.cpp:1223 +#: ../src/interface.cpp:1231 msgid "Could not parse SVG data" msgstr "Невозможно разобрать данные SVG" -#: ../src/interface.cpp:1265 +#: ../src/interface.cpp:1274 msgid "Drop SVG" msgstr "Drop SVG" -#: ../src/interface.cpp:1323 +#: ../src/interface.cpp:1332 msgid "Drop bitmap image" msgstr "Импорт растра" -#: ../src/interface.cpp:1415 +#: ../src/interface.cpp:1424 #, c-format msgid "" "A file named \"%s\" already exists. Do you want to replace it?\n" @@ -5127,55 +5145,55 @@ msgstr "" "\n" "Этот файл уже есть в каталоге \"%s\". Замена перезапишет его содержание." -#: ../src/interface.cpp:1422 +#: ../src/interface.cpp:1431 msgid "Replace" msgstr "Заменить" -#: ../src/io/sys.cpp:411 -#: ../src/io/sys.cpp:419 +#: ../src/io/sys.cpp:412 +#: ../src/io/sys.cpp:420 #, c-format msgid "Failed to read from child pipe (%s)" msgstr "" -#: ../src/io/sys.cpp:443 +#: ../src/io/sys.cpp:444 #, c-format msgid "Failed to change to directory '%s' (%s)" msgstr "Не удалось изменить каталог на '%s' (%s)" -#: ../src/io/sys.cpp:449 -#: ../src/io/sys.cpp:675 +#: ../src/io/sys.cpp:450 +#: ../src/io/sys.cpp:676 #, fuzzy, c-format msgid "Failed to execute child process (%s)" msgstr "Не удалось загрузить запрошенный файл %s" -#: ../src/io/sys.cpp:622 +#: ../src/io/sys.cpp:623 #, c-format msgid "Invalid program name: %s" msgstr "Некорректное название программы: %s" -#: ../src/io/sys.cpp:632 -#: ../src/io/sys.cpp:921 +#: ../src/io/sys.cpp:633 +#: ../src/io/sys.cpp:922 #, c-format msgid "Invalid string in argument vector at %d: %s" msgstr "" -#: ../src/io/sys.cpp:643 -#: ../src/io/sys.cpp:936 +#: ../src/io/sys.cpp:644 +#: ../src/io/sys.cpp:937 #, c-format msgid "Invalid string in environment: %s" msgstr "Некорректная строка в окружении: %s" -#: ../src/io/sys.cpp:704 +#: ../src/io/sys.cpp:705 #, fuzzy, c-format msgid "Failed to create pipe for communicating with child process (%s)" msgstr "Не удалось создать временный файл для печати: %s" -#: ../src/io/sys.cpp:917 +#: ../src/io/sys.cpp:918 #, c-format msgid "Invalid working directory: %s" msgstr "Некорректный рабочий каталог: %s" -#: ../src/io/sys.cpp:985 +#: ../src/io/sys.cpp:986 #, c-format msgid "Failed to execute helper program (%s)" msgstr "Не удалось выполнить вспомогательную программу (%s)" @@ -5221,7 +5239,7 @@ msgstr "Отклонить приглашение" msgid "Inkboard session (%1 to %2)" msgstr "Сессия Inkboard (%1 до %2)" -#: ../src/knot.cpp:431 +#: ../src/knot.cpp:432 msgid "Node or handle drag canceled." msgstr "Перемещение отменено." @@ -5263,8 +5281,8 @@ msgid "Dockbar style to show items on it" msgstr "Dockbar style to show items on it" #: ../src/libgdl/gdl-dock.c:175 -#: ../src/ui/dialog/inkscape-preferences.cpp:506 -#: ../src/ui/dialog/inkscape-preferences.cpp:527 +#: ../src/ui/dialog/inkscape-preferences.cpp:504 +#: ../src/ui/dialog/inkscape-preferences.cpp:525 msgid "Floating" msgstr "Свободно перемещаются по экрану" @@ -5457,9 +5475,9 @@ msgid "The new dock controller %p is automatic. Only manual dock objects should msgstr "The new dock controller %p is automatic. Only manual dock objects should be named controller." #: ../src/libgdl/gdl-dock-notebook.c:134 -#: ../src/ui/dialog/align-and-distribute.cpp:916 -#: ../src/ui/dialog/document-properties.cpp:134 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1367 +#: ../src/ui/dialog/align-and-distribute.cpp:923 +#: ../src/ui/dialog/document-properties.cpp:133 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1364 #: ../src/widgets/desktop-widget.cpp:1544 msgid "Page" msgstr "Страница" @@ -6069,7 +6087,7 @@ msgid "Path along which intermediate steps are created." msgstr "Контур, по которому будут выстроены промежуточные фигуры" #: ../src/live_effects/lpe-interpolate.cpp:31 -#: ../src/ui/dialog/inkscape-preferences.cpp:202 +#: ../src/ui/dialog/inkscape-preferences.cpp:203 msgid "Steps" msgstr "Шаги" @@ -6086,32 +6104,31 @@ msgid "If true, the spacing between intermediates is constant along the length o msgstr "Если включено, интервал между промежуточными фигурами не меняется на протяжении всего контура. Если выключено, расстояние меняется в зависимости от положения узлов на контуре траектории." #. initialise your parameters here: -#: ../src/live_effects/lpe-knot.cpp:281 +#: ../src/live_effects/lpe-knot.cpp:327 msgid "Gap width" msgstr "Ширина интервала:" -#: ../src/live_effects/lpe-knot.cpp:281 +#: ../src/live_effects/lpe-knot.cpp:327 msgid "The width of the gap in the path where it self-intersects" msgstr "Ширина интервала в участках, где контур сам себя пересекает" -#: ../src/live_effects/lpe-knot.cpp:282 -#, fuzzy +#: ../src/live_effects/lpe-knot.cpp:328 msgid "Switcher size" -msgstr "Стиль переключателя" +msgstr "Размер переключателя:" -#: ../src/live_effects/lpe-knot.cpp:282 +#: ../src/live_effects/lpe-knot.cpp:328 msgid "Orientation indicator/switcher size" -msgstr "" +msgstr "Размер индикатора-переключателя направления" -#: ../src/live_effects/lpe-knot.cpp:283 +#: ../src/live_effects/lpe-knot.cpp:329 msgid "Crossing Signs" msgstr "" -#: ../src/live_effects/lpe-knot.cpp:283 +#: ../src/live_effects/lpe-knot.cpp:329 msgid "Crossings signs" msgstr "" -#: ../src/live_effects/lpe-knot.cpp:290 +#: ../src/live_effects/lpe-knot.cpp:336 msgid "Drag to select a crossing, click to flip it" msgstr "" @@ -6181,22 +6198,22 @@ msgid "Control handle 15" msgstr "Регулятор 15" #: ../src/live_effects/lpe-line_segment.cpp:27 -#: ../src/widgets/toolbox.cpp:5045 +#: ../src/widgets/toolbox.cpp:5027 msgid "Closed" msgstr "Закрытый" #: ../src/live_effects/lpe-line_segment.cpp:28 -#: ../src/widgets/toolbox.cpp:5047 +#: ../src/widgets/toolbox.cpp:5029 msgid "Open start" msgstr "С открытым началом" #: ../src/live_effects/lpe-line_segment.cpp:29 -#: ../src/widgets/toolbox.cpp:5049 +#: ../src/widgets/toolbox.cpp:5031 msgid "Open end" msgstr "С открытым концом" #: ../src/live_effects/lpe-line_segment.cpp:30 -#: ../src/widgets/toolbox.cpp:5051 +#: ../src/widgets/toolbox.cpp:5033 msgid "Open both" msgstr "Открыт с обеих сторон" @@ -6250,10 +6267,10 @@ msgstr "Изменить правый конец параллели" #: ../src/live_effects/lpe-path_length.cpp:25 #: ../src/live_effects/lpe-sketch.cpp:54 -#: ../src/selection-chemistry.cpp:1468 -#: ../src/seltrans.cpp:455 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2239 -#: ../src/ui/dialog/transformation.cpp:736 +#: ../src/selection-chemistry.cpp:1478 +#: ../src/seltrans.cpp:448 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2240 +#: ../src/ui/dialog/transformation.cpp:738 msgid "Scale" msgstr "Масштабирование" @@ -6409,89 +6426,89 @@ msgstr "" msgid "Adjust the origin" msgstr "Изменить исходную точку" -#: ../src/live_effects/lpe-ruler.cpp:26 +#: ../src/live_effects/lpe-ruler.cpp:27 #: ../share/extensions/restack.inx.h:7 msgid "Left" msgstr "Слева" -#: ../src/live_effects/lpe-ruler.cpp:27 +#: ../src/live_effects/lpe-ruler.cpp:28 #: ../share/extensions/restack.inx.h:14 msgid "Right" msgstr "Справа" -#: ../src/live_effects/lpe-ruler.cpp:28 -#: ../src/live_effects/lpe-ruler.cpp:36 +#: ../src/live_effects/lpe-ruler.cpp:29 +#: ../src/live_effects/lpe-ruler.cpp:37 msgid "Both" msgstr "Оба" -#: ../src/live_effects/lpe-ruler.cpp:34 -#: ../src/widgets/toolbox.cpp:4704 +#: ../src/live_effects/lpe-ruler.cpp:35 +#: ../src/widgets/toolbox.cpp:4686 msgid "Start" msgstr "Начало" -#: ../src/live_effects/lpe-ruler.cpp:35 -#: ../src/widgets/toolbox.cpp:4717 +#: ../src/live_effects/lpe-ruler.cpp:36 +#: ../src/widgets/toolbox.cpp:4699 msgid "End" msgstr "Конец" -#: ../src/live_effects/lpe-ruler.cpp:42 +#: ../src/live_effects/lpe-ruler.cpp:43 msgid "Mark distance" msgstr "Расстояние между метками:" -#: ../src/live_effects/lpe-ruler.cpp:42 +#: ../src/live_effects/lpe-ruler.cpp:43 msgid "Distance between successive ruler marks" msgstr "Расстояние между соседними метками линейки" -#: ../src/live_effects/lpe-ruler.cpp:43 +#: ../src/live_effects/lpe-ruler.cpp:44 msgid "Major length" msgstr "Основные метки:" -#: ../src/live_effects/lpe-ruler.cpp:43 +#: ../src/live_effects/lpe-ruler.cpp:44 msgid "Length of major ruler marks" msgstr "Длина основных меток линейки" -#: ../src/live_effects/lpe-ruler.cpp:44 +#: ../src/live_effects/lpe-ruler.cpp:45 msgid "Minor length" msgstr "Вспомогательные метки:" -#: ../src/live_effects/lpe-ruler.cpp:44 +#: ../src/live_effects/lpe-ruler.cpp:45 msgid "Length of minor ruler marks" msgstr "Длина вспомогательных меток линейки" -#: ../src/live_effects/lpe-ruler.cpp:45 +#: ../src/live_effects/lpe-ruler.cpp:46 msgid "Major steps" msgstr "" -#: ../src/live_effects/lpe-ruler.cpp:45 +#: ../src/live_effects/lpe-ruler.cpp:46 msgid "Draw a major mark every ... steps" msgstr "" -#: ../src/live_effects/lpe-ruler.cpp:46 +#: ../src/live_effects/lpe-ruler.cpp:47 msgid "Shift marks by" msgstr "Смещать метки на:" -#: ../src/live_effects/lpe-ruler.cpp:46 +#: ../src/live_effects/lpe-ruler.cpp:47 msgid "Shift marks by this many steps" msgstr "" -#: ../src/live_effects/lpe-ruler.cpp:47 +#: ../src/live_effects/lpe-ruler.cpp:48 msgid "Mark direction" msgstr "Направление меток:" -#: ../src/live_effects/lpe-ruler.cpp:47 +#: ../src/live_effects/lpe-ruler.cpp:48 msgid "Direction of marks (when viewing along the path from start to end)" msgstr "" -#: ../src/live_effects/lpe-ruler.cpp:48 +#: ../src/live_effects/lpe-ruler.cpp:49 msgid "Offset of first mark" msgstr "" -#: ../src/live_effects/lpe-ruler.cpp:49 +#: ../src/live_effects/lpe-ruler.cpp:50 #, fuzzy msgid "Border marks" msgstr "Цвет _каймы:" -#: ../src/live_effects/lpe-ruler.cpp:49 +#: ../src/live_effects/lpe-ruler.cpp:50 msgid "Choose whether to draw marks at the beginning and end of the path" msgstr "" @@ -6609,11 +6626,6 @@ msgstr "Вариативность длины:" msgid "Random variation of the length of construction lines" msgstr "Случайно варьирование длины карандашных штрихов" -#: ../src/live_effects/lpe-spiro.cpp:227 -#, fuzzy -msgid "An exception occurred during execution of the Spiro Path Effect." -msgstr "Прерывание при выполнении контурного эффекта" - #: ../src/live_effects/lpe-tangent_to_curve.cpp:56 #: ../share/extensions/motion.inx.h:1 #: ../share/extensions/restack.inx.h:1 @@ -6661,6 +6673,11 @@ msgstr "Шаг складывания в стопку" msgid "point param" msgstr "пентаграмма" +#: ../src/live_effects/lpe-test-doEffect-stack.cpp:24 +#, fuzzy +msgid "path param" +msgstr "пентаграмма" + #: ../src/live_effects/lpe-text_label.cpp:22 msgid "Label" msgstr "Метка:" @@ -6669,59 +6686,56 @@ msgstr "Метка:" msgid "Text label attached to the path" msgstr "Текстовая метка, привязанная к контуру" -#: ../src/live_effects/lpe-vonkoch.cpp:42 -msgid "Bounding box" -msgstr "Площадка (BB)" - -#: ../src/live_effects/lpe-vonkoch.cpp:43 -msgid "Last gen. segment" -msgstr "Последний созданный сегмент" - -#: ../src/live_effects/lpe-vonkoch.cpp:49 -msgid "Nb of generations" -msgstr "Количество поколений" +#: ../src/live_effects/lpe-vonkoch.cpp:47 +#, fuzzy +msgid "Reference segment" +msgstr "Удаление сегмента" -#: ../src/live_effects/lpe-vonkoch.cpp:49 -msgid "Depth of the recursion --- keep low!!" -msgstr "Глубина рекурсии — должна быть небольшой!" +#: ../src/live_effects/lpe-vonkoch.cpp:47 +msgid "The reference segment. Defaults to bbox diameter." +msgstr "" +#. refA(_("Ref Start"), _("Left side middle of the reference box"), "refA", &wr, this), +#. refB(_("Ref End"), _("Right side middle of the reference box"), "refB", &wr, this), #: ../src/live_effects/lpe-vonkoch.cpp:50 msgid "Generating path" msgstr "Порождающий контур" #: ../src/live_effects/lpe-vonkoch.cpp:50 -msgid "Path whos segments define the fractal" +#, fuzzy +msgid "Path whose segments define the iterated transforms" msgstr "Контур, чьи сегменты определяют фрактал" #: ../src/live_effects/lpe-vonkoch.cpp:51 -msgid "Use uniform scale/rotation only" +msgid "Use uniform transforms only" msgstr "" #: ../src/live_effects/lpe-vonkoch.cpp:51 -msgid "If off, 2segments component of generating path can be used to define a general rtansform. If on, they only affect the orientation preserving/reversing of the transform." +msgid "2 consecutive segments are used to reverse/preserve orientation only (otherwise, they define a general transform)." msgstr "" #: ../src/live_effects/lpe-vonkoch.cpp:52 -msgid "Draw all generations" -msgstr "Рисовать все поколения" +msgid "Nb of generations" +msgstr "Количество поколений" #: ../src/live_effects/lpe-vonkoch.cpp:52 -msgid "If unchecked, draw only the last generation" -msgstr "Если отключено, рисовать только последнее поколение" +msgid "Depth of the recursion --- keep low!!" +msgstr "Глубина рекурсии — должна быть небольшой!" #: ../src/live_effects/lpe-vonkoch.cpp:53 -msgid "Reference" -msgstr "Ориентир:" +msgid "Draw all generations" +msgstr "Рисовать все поколения" #: ../src/live_effects/lpe-vonkoch.cpp:53 -msgid "Generating path segments define transforms in reference to bbox or last segment" -msgstr "" +msgid "If unchecked, draw only the last generation" +msgstr "Если отключено, рисовать только последнее поколение" -#: ../src/live_effects/lpe-vonkoch.cpp:54 +#. FIXME: a path is used here instead of 2 points to work around path/point param incompatibility bug. +#: ../src/live_effects/lpe-vonkoch.cpp:55 msgid "Max complexity" msgstr "Макс. сложность" -#: ../src/live_effects/lpe-vonkoch.cpp:54 +#: ../src/live_effects/lpe-vonkoch.cpp:55 msgid "Disable effect if the output is too complex" msgstr "Отключить эффект, если вывод слишком сложен" @@ -6767,7 +6781,7 @@ msgstr "Вставить параметр контура" msgid "Change point parameter" msgstr "Смена точечного параметра" -#: ../src/live_effects/parameter/pointparam-knotholder.cpp:133 +#: ../src/live_effects/parameter/pointparam-knotholder.cpp:134 #, fuzzy msgid "Change LPE point parameter" msgstr "Смена точечного параметра" @@ -6785,7 +6799,7 @@ msgstr "Смена текстового параметра" msgid "Change unit parameter" msgstr "Смена точечного параметра" -#: ../src/lpe-tool-context.cpp:269 +#: ../src/lpe-tool-context.cpp:271 #, fuzzy msgid "Choose a construction tool from the toolbar." msgstr "Выберите режим инструмента из его контекстной панели" @@ -6800,216 +6814,208 @@ msgstr "Не удалось найти ID команды '%s', указанны msgid "Unable to find node ID: '%s'\n" msgstr "Невозможно найти ID узла: '%s'\n" -#: ../src/main.cpp:262 +#: ../src/main.cpp:256 msgid "Print the Inkscape version number" msgstr "Напечатать версию Inkscape" -#: ../src/main.cpp:267 +#: ../src/main.cpp:261 msgid "Do not use X server (only process files from console)" msgstr "Не использовать X сервер (допустимы только консольные операции)" -#: ../src/main.cpp:272 +#: ../src/main.cpp:266 msgid "Try to use X server (even if $DISPLAY is not set)" msgstr "Пытаться использовать X сервер (даже если переменная $DISPLAY не установлена)" -#: ../src/main.cpp:277 +#: ../src/main.cpp:271 msgid "Open specified document(s) (option string may be excluded)" msgstr "Открыть указанные документы (строка параметра может быть исключена)" -#: ../src/main.cpp:278 -#: ../src/main.cpp:283 -#: ../src/main.cpp:288 -#: ../src/main.cpp:355 -#: ../src/main.cpp:360 -#: ../src/main.cpp:365 +#: ../src/main.cpp:272 +#: ../src/main.cpp:277 +#: ../src/main.cpp:282 +#: ../src/main.cpp:349 +#: ../src/main.cpp:354 +#: ../src/main.cpp:359 +#: ../src/main.cpp:364 #: ../src/main.cpp:370 -#: ../src/main.cpp:376 msgid "FILENAME" msgstr "FILENAME" -#: ../src/main.cpp:282 +#: ../src/main.cpp:276 msgid "Print document(s) to specified output file (use '| program' for pipe)" msgstr "Напечатать документ(ы) в указанный файл (используйте '| program' для передачи программе)" -#: ../src/main.cpp:287 +#: ../src/main.cpp:281 msgid "Export document to a PNG file" msgstr "Экспортировать документ в файл PNG" -#: ../src/main.cpp:292 +#: ../src/main.cpp:286 msgid "The resolution used for exporting SVG into bitmap (default 90)" msgstr "Разрешение, используемое для экспорта SVG в растр (по умолчанию 90)" -#: ../src/main.cpp:293 +#: ../src/main.cpp:287 #: ../src/ui/widget/rendering-options.cpp:43 msgid "DPI" msgstr "DPI" -#: ../src/main.cpp:297 +#: ../src/main.cpp:291 msgid "Exported area in SVG user units (default is the canvas; 0,0 is lower-left corner)" msgstr "Экспортируемая область в SVG пользовательских единицах измерения (по умолчанию - вся канва; 0,0 - левый нижний угол)" -#: ../src/main.cpp:298 +#: ../src/main.cpp:292 msgid "x0:y0:x1:y1" msgstr "x0:y0:x1:y1" -#: ../src/main.cpp:302 +#: ../src/main.cpp:296 msgid "Exported area is the entire drawing (not canvas)" msgstr "Экспортируемая область включает в себя весь рисунок (а не страницу)" -#: ../src/main.cpp:307 +#: ../src/main.cpp:301 msgid "Exported area is the entire canvas" msgstr "Экспортируемая область включает в себя весь холст" -#: ../src/main.cpp:312 +#: ../src/main.cpp:306 msgid "Snap the bitmap export area outwards to the nearest integer values (in SVG user units)" msgstr "Расширить область экспортируемого растра до ближайших целых значений (в SVG единицах)" -#: ../src/main.cpp:317 +#: ../src/main.cpp:311 msgid "The width of exported bitmap in pixels (overrides export-dpi)" msgstr "Ширина экспортируемого растра в точках (отменяет export-dpi)" -#: ../src/main.cpp:318 +#: ../src/main.cpp:312 msgid "WIDTH" msgstr "WIDTH" -#: ../src/main.cpp:322 +#: ../src/main.cpp:316 msgid "The height of exported bitmap in pixels (overrides export-dpi)" msgstr "Высота экспортируемого растра в точках (отменяет export-dpi)" -#: ../src/main.cpp:323 +#: ../src/main.cpp:317 msgid "HEIGHT" msgstr "HEIGHT" -#: ../src/main.cpp:327 +#: ../src/main.cpp:321 msgid "The ID of the object to export" msgstr "Идентификатор экспортируемого объекта" -#: ../src/main.cpp:328 -#: ../src/main.cpp:426 +#: ../src/main.cpp:322 +#: ../src/main.cpp:410 msgid "ID" msgstr "ID" #. TRANSLATORS: this means: "Only export the object whose id is given in --export-id". #. See "man inkscape" for details. -#: ../src/main.cpp:334 +#: ../src/main.cpp:328 msgid "Export just the object with export-id, hide all others (only with export-id)" msgstr "Экспортировать только объект с заданным export-id, скрыв все прочие объекты (только с опцией export-id)" -#: ../src/main.cpp:339 +#: ../src/main.cpp:333 msgid "Use stored filename and DPI hints when exporting (only with export-id)" msgstr "Использовать сохраненное имя файла и разрешение при экспорте (только с опцией export-id)" -#: ../src/main.cpp:344 +#: ../src/main.cpp:338 msgid "Background color of exported bitmap (any SVG-supported color string)" msgstr "Фоновый цвет для экспорта растра (любая поддерживаемая в SVG цветовая строка)" -#: ../src/main.cpp:345 +#: ../src/main.cpp:339 msgid "COLOR" msgstr "COLOR" -#: ../src/main.cpp:349 +#: ../src/main.cpp:343 msgid "Background opacity of exported bitmap (either 0.0 to 1.0, or 1 to 255)" msgstr "Непрозрачность фона для экспорта растра (от 0.0 до 1.0 либо от 1 до 255)" -#: ../src/main.cpp:350 +#: ../src/main.cpp:344 msgid "VALUE" msgstr "VALUE" -#: ../src/main.cpp:354 +#: ../src/main.cpp:348 msgid "Export document to plain SVG file (no sodipodi or inkscape namespaces)" msgstr "Экспортировать документ в формат чистый SVG (без пространств имен sodipodi: или inkscape:)" -#: ../src/main.cpp:359 +#: ../src/main.cpp:353 msgid "Export document to a PS file" msgstr "Экспортировать документ в файл PS" -#: ../src/main.cpp:364 +#: ../src/main.cpp:358 msgid "Export document to an EPS file" msgstr "Экспортировать документ в файл EPS" -#: ../src/main.cpp:369 +#: ../src/main.cpp:363 msgid "Export document to a PDF file" msgstr "Экспортировать документ в файл PDF" -#: ../src/main.cpp:375 +#: ../src/main.cpp:369 msgid "Export document to an Enhanced Metafile (EMF) File" msgstr "Экспортировать документ в файл Enhanced Metafile (EMF)" -#: ../src/main.cpp:381 +#: ../src/main.cpp:375 msgid "Convert text object to paths on export (EPS)" msgstr "Перевести текст в контуры при экспорте (EPS)" -#: ../src/main.cpp:386 -msgid "Embed fonts on export (Type 1 only) (EPS)" -msgstr "Встроить шрифтовый файл (только Type 1) при экспорте (EPS)" - -#: ../src/main.cpp:391 -msgid "Export files with the bounding box set to the page size (EPS)" -msgstr "При экспорте установить значение BoundingBox равным размеру страницы, а не рисунка (EPS)" - #. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help" -#: ../src/main.cpp:397 +#: ../src/main.cpp:381 msgid "Query the X coordinate of the drawing or, if specified, of the object with --query-id" msgstr "Запросить X координату рисунка или, если задано, объекта с --query-id" #. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help" -#: ../src/main.cpp:403 +#: ../src/main.cpp:387 msgid "Query the Y coordinate of the drawing or, if specified, of the object with --query-id" msgstr "Запросить Y координату рисунка или, если задано, объекта с --query-id" #. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help" -#: ../src/main.cpp:409 +#: ../src/main.cpp:393 msgid "Query the width of the drawing or, if specified, of the object with --query-id" msgstr "Запросить ширину рисунка или, если задано, объекта — при помощи --query-id" #. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help" -#: ../src/main.cpp:415 +#: ../src/main.cpp:399 msgid "Query the height of the drawing or, if specified, of the object with --query-id" msgstr "Запросить высоту рисунка или, если задано, объекта с --query-id" -#: ../src/main.cpp:420 +#: ../src/main.cpp:404 msgid "List id,x,y,w,h for all objects" msgstr "Перечислить id,x,y,w,h для всех объектов" -#: ../src/main.cpp:425 +#: ../src/main.cpp:409 msgid "The ID of the object whose dimensions are queried" msgstr "Идентификатор объекта для запроса" #. TRANSLATORS: this option makes Inkscape print the name (path) of the extension directory -#: ../src/main.cpp:431 +#: ../src/main.cpp:415 msgid "Print out the extension directory and exit" msgstr "Вывести на экран каталог расширения и выйти" -#: ../src/main.cpp:436 +#: ../src/main.cpp:420 msgid "Remove unused definitions from the defs section(s) of the document" msgstr "Убрать лишние определения из раздела <defs> документа" -#: ../src/main.cpp:441 +#: ../src/main.cpp:425 msgid "List the IDs of all the verbs in Inkscape" msgstr "Вывести список ID всех действий Inkscape" -#: ../src/main.cpp:446 +#: ../src/main.cpp:430 msgid "Verb to call when Inkscape opens." msgstr "Вызываемое действие при открытии Inkscape." -#: ../src/main.cpp:447 +#: ../src/main.cpp:431 msgid "VERB-ID" msgstr "ДЕЙСТВИЕ-ID" -#: ../src/main.cpp:451 +#: ../src/main.cpp:435 msgid "Object ID to select when Inkscape opens." msgstr "ID объекта, выделяемого при открытии документа в Inkscape." -#: ../src/main.cpp:452 +#: ../src/main.cpp:436 msgid "OBJECT-ID" msgstr "ОБЪЕКТ-ID" -#: ../src/main.cpp:456 +#: ../src/main.cpp:440 msgid "Start Inkscape in interative shell mode." msgstr "Запустить Inkscape в интерактивном командном режиме" -#: ../src/main.cpp:737 -#: ../src/main.cpp:972 +#: ../src/main.cpp:721 +#: ../src/main.cpp:957 msgid "" "[OPTIONS...] [FILE...]\n" "\n" @@ -7023,41 +7029,39 @@ msgstr "" msgid "_New" msgstr "_Создать" -#: ../src/menus-skeleton.h:22 -msgid "Open _Recent" -msgstr "Открыть н_едавние" - -#: ../src/menus-skeleton.h:50 -#: ../src/verbs.cpp:2461 -#: ../src/verbs.cpp:2467 +#: ../src/menus-skeleton.h:48 +#: ../src/verbs.cpp:2464 +#: ../src/verbs.cpp:2470 msgid "_Edit" msgstr "_Правка" -#: ../src/menus-skeleton.h:60 -#: ../src/verbs.cpp:2257 +#: ../src/menus-skeleton.h:58 +#: ../src/verbs.cpp:2260 msgid "Paste Si_ze" msgstr "Вставить _размер" -#: ../src/menus-skeleton.h:72 +#: ../src/menus-skeleton.h:70 msgid "Clo_ne" msgstr "Клон_ы" -#: ../src/menus-skeleton.h:92 +#: ../src/menus-skeleton.h:90 msgid "_View" msgstr "_Вид" -#: ../src/menus-skeleton.h:93 +#: ../src/menus-skeleton.h:91 msgid "_Zoom" msgstr "_Масштаб" -#: ../src/menus-skeleton.h:109 +#: ../src/menus-skeleton.h:107 msgid "_Display mode" msgstr "Отобр_ажение" -#: ../src/menus-skeleton.h:121 +#: ../src/menus-skeleton.h:119 msgid "Show/Hide" msgstr "Показать или спрятать" +#. Not quite ready to be in the menus. +#. " \n" #: ../src/menus-skeleton.h:138 msgid "_Layer" msgstr "С_лой" @@ -7118,182 +7122,182 @@ msgstr "Shift: выделить/развыделить узел, откл msgid "Alt: lock handle length; Ctrl+Alt: move along handles" msgstr "Alt: зафиксировать длину рычага; Ctrl+Alt: двигать вдоль рычагов" -#: ../src/nodepath.cpp:739 -#: ../src/seltrans.cpp:548 +#: ../src/nodepath.cpp:749 +#: ../src/seltrans.cpp:541 msgid "Stamp" msgstr "Штамповка" -#: ../src/nodepath.cpp:1591 -#: ../src/nodepath.cpp:1617 +#: ../src/nodepath.cpp:1602 +#: ../src/nodepath.cpp:1628 msgid "Move nodes vertically" msgstr "Смещение узлов по вертикали" -#: ../src/nodepath.cpp:1593 -#: ../src/nodepath.cpp:1619 +#: ../src/nodepath.cpp:1604 +#: ../src/nodepath.cpp:1630 msgid "Move nodes horizontally" msgstr "Смещение узлов по горизонтали" -#: ../src/nodepath.cpp:1595 -#: ../src/nodepath.cpp:1621 -#: ../src/nodepath.cpp:1636 -#: ../src/nodepath.cpp:3490 +#: ../src/nodepath.cpp:1606 +#: ../src/nodepath.cpp:1632 +#: ../src/nodepath.cpp:1647 +#: ../src/nodepath.cpp:3501 msgid "Move nodes" msgstr "Смещение узлов" -#: ../src/nodepath.cpp:1674 +#: ../src/nodepath.cpp:1685 msgid "Node handle: drag to shape the curve; with Ctrl to snap angle; with Alt to lock length; with Shift to rotate both handles" msgstr "Рычаг узла: перетаскивание с Ctrl ограничивает угол; с Alt фиксирует длину; с Shift синхронно вращает противоположный рычаг" -#: ../src/nodepath.cpp:1844 +#: ../src/nodepath.cpp:1855 msgid "Align nodes" msgstr "Выровнять узлы" -#: ../src/nodepath.cpp:1906 +#: ../src/nodepath.cpp:1917 msgid "Distribute nodes" msgstr "Расстановка узлов" -#: ../src/nodepath.cpp:1944 +#: ../src/nodepath.cpp:1955 msgid "Add nodes" msgstr "Добавление узлов" -#: ../src/nodepath.cpp:1946 -#: ../src/nodepath.cpp:2045 +#: ../src/nodepath.cpp:1957 +#: ../src/nodepath.cpp:2056 msgid "Add node" msgstr "Добавление узла" -#: ../src/nodepath.cpp:2128 +#: ../src/nodepath.cpp:2139 msgid "Break path" msgstr "Разбитие контура" -#: ../src/nodepath.cpp:2184 +#: ../src/nodepath.cpp:2195 msgid "Close subpath" msgstr "Закрытие подконтура" -#: ../src/nodepath.cpp:2245 +#: ../src/nodepath.cpp:2256 msgid "Join nodes" msgstr "Соединение узлов" -#: ../src/nodepath.cpp:2272 +#: ../src/nodepath.cpp:2283 msgid "Close subpath by segment" msgstr "Закрытие подконтура сегментом" -#: ../src/nodepath.cpp:2326 +#: ../src/nodepath.cpp:2337 msgid "Join nodes by segment" msgstr "Соединение узлов сегментом" -#: ../src/nodepath.cpp:2339 -#: ../src/nodepath.cpp:2354 +#: ../src/nodepath.cpp:2350 +#: ../src/nodepath.cpp:2365 msgid "To join, you must have two endnodes selected." msgstr "Для соединения выделите два оконечных узла." -#: ../src/nodepath.cpp:2511 -#: ../src/nodepath.cpp:2547 -#: ../src/nodepath.cpp:2551 +#: ../src/nodepath.cpp:2522 +#: ../src/nodepath.cpp:2558 +#: ../src/nodepath.cpp:2562 msgid "Delete nodes" msgstr "Удаление узлов" -#: ../src/nodepath.cpp:2513 +#: ../src/nodepath.cpp:2524 msgid "Delete nodes preserving shape" msgstr "Удаление узлов без смены формы" -#: ../src/nodepath.cpp:2570 -#: ../src/nodepath.cpp:2584 +#: ../src/nodepath.cpp:2581 +#: ../src/nodepath.cpp:2595 msgid "Select two non-endpoint nodes on a path between which to delete segments." msgstr "Выделите два неоконечных узла контура, чтобы удалить сегменты между ними" -#: ../src/nodepath.cpp:2680 +#: ../src/nodepath.cpp:2691 msgid "Cannot find path between nodes." msgstr "Невозможно найти контур между узлами." -#: ../src/nodepath.cpp:2712 -#: ../src/widgets/toolbox.cpp:1319 +#: ../src/nodepath.cpp:2723 +#: ../src/widgets/toolbox.cpp:1318 msgid "Delete segment" msgstr "Удаление сегмента" -#: ../src/nodepath.cpp:2733 +#: ../src/nodepath.cpp:2744 msgid "Change segment type" msgstr "Смена типа сегмента" -#: ../src/nodepath.cpp:2750 -#: ../src/nodepath.cpp:3448 +#: ../src/nodepath.cpp:2761 +#: ../src/nodepath.cpp:3459 msgid "Change node type" msgstr "Смена типа узла" -#: ../src/nodepath.cpp:3736 +#: ../src/nodepath.cpp:3747 msgid "Retract handle" msgstr "Втяжка узла" -#: ../src/nodepath.cpp:3785 +#: ../src/nodepath.cpp:3796 msgid "Move node handle" msgstr "Смещение рычага узла" -#: ../src/nodepath.cpp:3970 +#: ../src/nodepath.cpp:3982 #, c-format msgid "Node handle: angle %0.2f°, length %s; with Ctrl to snap angle; with Alt to lock length; with Shift to rotate both handles" msgstr "Рычаг узла под углом %0.2f°, длина %s; перетаскивание с Ctrl ограничивает угол; с Alt фиксирует длину; с Shift синхронно вращает противоположный рычаг" -#: ../src/nodepath.cpp:4164 +#: ../src/nodepath.cpp:4176 msgid "Rotate nodes" msgstr "Вращение узлов" -#: ../src/nodepath.cpp:4295 +#: ../src/nodepath.cpp:4307 msgid "Scale nodes" msgstr "Масштабирование узлов" -#: ../src/nodepath.cpp:4339 +#: ../src/nodepath.cpp:4351 msgid "Flip nodes" msgstr "Зеркалирование узлов" -#: ../src/nodepath.cpp:4508 +#: ../src/nodepath.cpp:4520 msgid "Node: drag to edit the path; with Ctrl to snap to horizontal/vertical; with Ctrl+Alt to snap to handles' directions" msgstr "Узел: перетаскивание при нажатой клавише Ctrl — с прилипанием по горизонтали/вертикали; с Ctrl+Alt — вдоль рычагов" #. TRANSLATORS: "end" is an adjective here (NOT a verb) -#: ../src/nodepath.cpp:4742 +#: ../src/nodepath.cpp:4754 msgid "end node" msgstr "оконечный узел" #. TRANSLATORS: "cusp" means "sharp" (cusp node); see also the Advanced Tutorial -#: ../src/nodepath.cpp:4747 +#: ../src/nodepath.cpp:4759 msgid "cusp" msgstr "острый" #. TRANSLATORS: "smooth" is an adjective here -#: ../src/nodepath.cpp:4750 +#: ../src/nodepath.cpp:4762 msgid "smooth" msgstr "гладкий" -#: ../src/nodepath.cpp:4752 +#: ../src/nodepath.cpp:4764 msgid "symmetric" msgstr "симметричный" #. TRANSLATORS: "end" is an adjective here (NOT a verb) -#: ../src/nodepath.cpp:4758 +#: ../src/nodepath.cpp:4770 msgid "end node, handle retracted (drag with Shift to extend)" msgstr "оконечный узел, рычаг втянут (вытаскивается с Shift)" -#: ../src/nodepath.cpp:4760 +#: ../src/nodepath.cpp:4772 msgid "one handle retracted (drag with Shift to extend)" msgstr "один рычаг втянут (вытаскивается с Shift)" -#: ../src/nodepath.cpp:4763 +#: ../src/nodepath.cpp:4775 msgid "both handles retracted (drag with Shift to extend)" msgstr "оба рычага втянуты (вытаскиваются с Shift)" -#: ../src/nodepath.cpp:4775 +#: ../src/nodepath.cpp:4787 msgid "Drag nodes or node handles; Alt+drag nodes to sculpt; arrow keys to move nodes, < > to scale, [ ] to rotate" msgstr "Перетаскивайте узлы или рычаги; Alt+перетаскивание узлов для лепки; клавиши со стрелками для смещения узлов, < > для масштабирования, [ ] для вращения" -#: ../src/nodepath.cpp:4776 +#: ../src/nodepath.cpp:4788 msgid "Drag the node or its handles; arrow keys to move the node" msgstr "Перетаскивайте узел или его рычаги; клавиши-стрелки двигают узел" -#: ../src/nodepath.cpp:4802 #: ../src/nodepath.cpp:4814 +#: ../src/nodepath.cpp:4826 msgid "Select a single object to edit its nodes or handles." msgstr "Выберите один объект для изменения его узлов или рычагов." -#: ../src/nodepath.cpp:4806 +#: ../src/nodepath.cpp:4818 #, c-format msgid "0 out of %i node selected. Click, Shift+click, or drag around nodes to select." msgid_plural "0 out of %i nodes selected. Click, Shift+click, or drag around nodes to select." @@ -7301,11 +7305,11 @@ msgstr[0] "Выделен 0 из %i узлов. Для выдел msgstr[1] "Выделено 0 из %i узлов. Для выделения узлов используйте щелчок, Shift+щелчок, либо обведение рамкой." msgstr[2] "Выделено 0 из %i узлов. Для выделения узлов используйте щелчок, Shift+щелчок, либо обведение рамкой." -#: ../src/nodepath.cpp:4812 +#: ../src/nodepath.cpp:4824 msgid "Drag the handles of the object to modify it." msgstr "Двигайте ручки фигуры, чтобы изменить ее." -#: ../src/nodepath.cpp:4820 +#: ../src/nodepath.cpp:4832 #, c-format msgid "%i of %i node selected; %s. %s." msgid_plural "%i of %i nodes selected; %s. %s." @@ -7313,7 +7317,7 @@ msgstr[0] "%i из %i узла выделен; %s. %s." msgstr[1] "%i из %i узлов выделено; %s. %s." msgstr[2] "%i из %i узлов выделено; %s. %s." -#: ../src/nodepath.cpp:4827 +#: ../src/nodepath.cpp:4839 #, c-format msgid "%i of %i node selected in %i of %i subpaths. %s." msgid_plural "%i of %i nodes selected in %i of %i subpaths. %s." @@ -7321,7 +7325,7 @@ msgstr[0] "%i из %i узла выделен в %i из %i из %i узлов выделено в %i из %i субконтуров. %s." msgstr[2] "%i из %i узлов выделено в %i из %i субконтуров. %s." -#: ../src/nodepath.cpp:4833 +#: ../src/nodepath.cpp:4845 #, c-format msgid "%i of %i node selected. %s." msgid_plural "%i of %i nodes selected. %s." @@ -7361,44 +7365,44 @@ msgstr "Изменить размер вдоль оси Z; с Shift — msgid "Move the box in perspective" msgstr "Перемещение параллелепипеда в перспективе" -#: ../src/object-edit.cpp:894 +#: ../src/object-edit.cpp:896 msgid "Adjust ellipse width, with Ctrl to make circle" msgstr "Менять большую ось эллипса. Ctrl дает круг." -#: ../src/object-edit.cpp:897 +#: ../src/object-edit.cpp:899 msgid "Adjust ellipse height, with Ctrl to make circle" msgstr "Менять малую ось эллипса. Ctrl дает круг." -#: ../src/object-edit.cpp:900 +#: ../src/object-edit.cpp:902 #, fuzzy msgid "Position the start point of the arc or segment; with Ctrlto snap angle; drag inside the ellipse for arc, outside for segment" msgstr "Начальная точка сектора или дуги. Ctrl ограничивает угол. Перетаскивание внутри дает дугу, снаружи — сектор." -#: ../src/object-edit.cpp:904 +#: ../src/object-edit.cpp:906 msgid "Position the end point of the arc or segment; with Ctrl to snap angle; drag inside the ellipse for arc, outside for segment" msgstr "Конечная точка сектора или дуги. Ctrl ограничивает угол. Перетаскивание внутри дает дугу, снаружи — сектор." -#: ../src/object-edit.cpp:1043 +#: ../src/object-edit.cpp:1045 msgid "Adjust the tip radius of the star or polygon; with Shift to round; with Alt to randomize" msgstr "Менять большой радиус звезды или многоугольника. Shift закругляет, Alt искажает." -#: ../src/object-edit.cpp:1050 +#: ../src/object-edit.cpp:1052 msgid "Adjust the base radius of the star; with Ctrl to keep star rays radial (no skew); with Shift to round; with Alt to randomize" msgstr "Менять малый радиус звезды или многоугольника. Ctrl сохраняет радиус, Shift закругляет, Alt делает случайным." -#: ../src/object-edit.cpp:1231 +#: ../src/object-edit.cpp:1235 msgid "Roll/unroll the spiral from inside; with Ctrl to snap angle; with Alt to converge/diverge" msgstr "Удлинять или укорачивать спираль изнутри. Ctrl ограничивает угол. Alt меняет нелинейность." -#: ../src/object-edit.cpp:1234 +#: ../src/object-edit.cpp:1238 msgid "Roll/unroll the spiral from outside; with Ctrl to snap angle; with Shift to scale/rotate" msgstr "Удлинять или укорачивать спираль снаружи. Ctrl ограничивает угол. Shift растягивает/вращает как целое." -#: ../src/object-edit.cpp:1278 +#: ../src/object-edit.cpp:1282 msgid "Adjust the offset distance" msgstr "Менять расстояние втяжки" -#: ../src/object-edit.cpp:1314 +#: ../src/object-edit.cpp:1318 msgid "Drag to resize the flowed text frame" msgstr "Изменять размер текстового блока" @@ -7466,77 +7470,77 @@ msgstr "Развернуть контур" msgid "No paths to reverse in the selection." msgstr "В выделении нет контуров для разворота." -#: ../src/pencil-context.cpp:250 -#: ../src/pen-context.cpp:483 +#: ../src/pencil-context.cpp:251 +#: ../src/pen-context.cpp:486 msgid "Continuing selected path" msgstr "Продолжение выделенного контура" -#: ../src/pencil-context.cpp:259 -#: ../src/pen-context.cpp:493 +#: ../src/pencil-context.cpp:260 +#: ../src/pen-context.cpp:496 msgid "Creating new path" msgstr "Создание нового контура" -#: ../src/pencil-context.cpp:264 -#: ../src/pen-context.cpp:495 +#: ../src/pencil-context.cpp:265 +#: ../src/pen-context.cpp:498 msgid "Appending to selected path" msgstr "Добавление к выделенному контуру" -#: ../src/pencil-context.cpp:362 +#: ../src/pencil-context.cpp:363 msgid "Release here to close and finish the path." msgstr "Отпустите здесь для закрытия и завершения контура." -#: ../src/pencil-context.cpp:368 +#: ../src/pencil-context.cpp:369 msgid "Drawing a freehand path" msgstr "Рисуется произвольный контур" -#: ../src/pencil-context.cpp:373 +#: ../src/pencil-context.cpp:374 msgid "Drag to continue the path from this point." msgstr "Перетащите для продолжения контура из этой точки." #. Write curves to object -#: ../src/pencil-context.cpp:435 +#: ../src/pencil-context.cpp:436 msgid "Finishing freehand" msgstr "Завершается произвольный контур" -#: ../src/pencil-context.cpp:486 -#: ../src/pen-context.cpp:252 +#: ../src/pencil-context.cpp:487 +#: ../src/pen-context.cpp:254 msgid "Drawing cancelled" msgstr "Отмена рисования" -#: ../src/pen-context.cpp:655 +#: ../src/pen-context.cpp:658 msgid "Click or click and drag to close and finish the path." msgstr "Щелчок или щелчок + перетаскивание закрывают этот контур." -#: ../src/pen-context.cpp:665 +#: ../src/pen-context.cpp:668 msgid "Click or click and drag to continue the path from this point." msgstr "Щелчок или щелчок + перетаскивание продолжает контур из этой точки." -#: ../src/pen-context.cpp:1256 +#: ../src/pen-context.cpp:1261 #, c-format msgid "Curve segment: angle %3.2f°, distance %s; with Ctrl to snap angle, Enter to finish the path" msgstr "Сегмент кривой: угол %3.2f°, расстояние %s; Ctrl ограничивает угол, Enter завершает контур" -#: ../src/pen-context.cpp:1257 +#: ../src/pen-context.cpp:1262 #, c-format msgid "Line segment: angle %3.2f°, distance %s; with Ctrl to snap angle, Enter to finish the path" msgstr "Сегмент линии: угол %3.2f°, расстояние %s; Ctrl ограничивает угол, Enter завершает контур" -#: ../src/pen-context.cpp:1275 +#: ../src/pen-context.cpp:1280 #, c-format msgid "Curve handle: angle %3.2f°, length %s; with Ctrl to snap angle" msgstr "Ус узла кривой: угол %3.2f°, длина %s; Ctrl ограничивает угол" -#: ../src/pen-context.cpp:1297 +#: ../src/pen-context.cpp:1302 #, fuzzy, c-format msgid "Curve handle, symmetric: angle %3.2f°, length %s; with Ctrl to snap angle, with Shift to move this handle only" msgstr "%s: угол %3.2f°, длина %s; перетаскивание с Ctrl ограничивает угол; с Shift синхронно вращает противоположный ус" -#: ../src/pen-context.cpp:1298 +#: ../src/pen-context.cpp:1303 #, fuzzy, c-format msgid "Curve handle: angle %3.2f°, length %s; with Ctrl to snap angle, with Shift to move this handle only" msgstr "%s: угол %3.2f°, длина %s; перетаскивание с Ctrl ограничивает угол; с Shift синхронно вращает противоположный ус" -#: ../src/pen-context.cpp:1345 +#: ../src/pen-context.cpp:1350 msgid "Drawing finished" msgstr "Рисование закончено" @@ -7548,7 +7552,7 @@ msgstr "Переключение точек схода" msgid "Toggle multiple vanishing points" msgstr "Переключение нескольких точек схода" -#: ../src/preferences.cpp:74 +#: ../src/preferences.cpp:106 #, fuzzy msgid "Inkscape will run with default settings, and new settings will not be saved. " msgstr "" @@ -7558,7 +7562,7 @@ msgstr "" #. the creation failed #. _errorDialog(Glib::ustring::compose(_("Cannot create profile directory %1."), #. Glib::filename_to_utf8(_prefs_dir)), not_saved); -#: ../src/preferences.cpp:89 +#: ../src/preferences.cpp:121 #, fuzzy, c-format msgid "Cannot create profile directory %s." msgstr "" @@ -7568,7 +7572,7 @@ msgstr "" #. The profile dir is not actually a directory #. _errorDialog(Glib::ustring::compose(_("%1 is not a valid directory."), #. Glib::filename_to_utf8(_prefs_dir)), not_saved); -#: ../src/preferences.cpp:107 +#: ../src/preferences.cpp:139 #, c-format msgid "%s is not a valid directory." msgstr "%s в действительности не является каталогом." @@ -7576,14 +7580,14 @@ msgstr "%s в действительности не является катал #. The write failed. #. _errorDialog(Glib::ustring::compose(_("Failed to create the preferences file %1."), #. Glib::filename_to_utf8(_prefs_filename)), not_saved); -#: ../src/preferences.cpp:118 +#: ../src/preferences.cpp:150 #, c-format msgid "Failed to create the preferences file %s." msgstr "Не удалось загрузить файл параметров %s." #. _errorDialog(Glib::ustring::compose(_("The preferences file %1 is not a regular file."), #. Glib::filename_to_utf8(_prefs_filename)), not_saved); -#: ../src/preferences.cpp:136 +#: ../src/preferences.cpp:168 #, fuzzy, c-format msgid "The preferences file %s is not a regular file." msgstr "" @@ -7592,443 +7596,443 @@ msgstr "" #. _errorDialog(Glib::ustring::compose(_("The preferences file %1 could not be read."), #. Glib::filename_to_utf8(_prefs_filename)), not_saved); -#: ../src/preferences.cpp:148 +#: ../src/preferences.cpp:180 #, fuzzy, c-format msgid "The preferences file %s could not be read." msgstr "Невозможно сохранить файл %s." #. _errorDialog(Glib::ustring::compose(_("The preferences file %1 is not a valid XML document."), #. Glib::filename_to_utf8(_prefs_filename)), not_saved); -#: ../src/preferences.cpp:160 +#: ../src/preferences.cpp:192 #, c-format msgid "The preferences file %s is not a valid XML document." msgstr "" #. _errorDialog(Glib::ustring::compose(_("The file %1 is not a valid Inkscape preferences file."), #. Glib::filename_to_utf8(_prefs_filename)), not_saved); -#: ../src/preferences.cpp:170 +#: ../src/preferences.cpp:202 #, fuzzy, c-format msgid "The file %s is not a valid Inkscape preferences file." msgstr "" "%s не является корректным файлом настроек.\n" "%s" -#: ../src/rect-context.cpp:383 +#: ../src/rect-context.cpp:382 msgid "Ctrl: make square or integer-ratio rect, lock a rounded corner circular" msgstr "Ctrl: квадрат или прямоугольник с целым соотношением сторон, закругленные углы" -#: ../src/rect-context.cpp:524 +#: ../src/rect-context.cpp:523 #, c-format msgid "Rectangle: %s × %s (constrained to ratio %d:%d); with Shift to draw around the starting point" msgstr "Прямоугольник: %s × %s; (с соотношением сторон %d:%d); с Shift рисует вокруг начальной точки" -#: ../src/rect-context.cpp:527 +#: ../src/rect-context.cpp:526 #, c-format msgid "Rectangle: %s × %s (constrained to golden ratio 1.618 : 1); with Shift to draw around the starting point" msgstr "Прямоугольник: %s × %s; (с «золотым» соотношением сторон 1.618 : 1); с Shift рисует вокруг начальной точки" -#: ../src/rect-context.cpp:529 +#: ../src/rect-context.cpp:528 #, c-format msgid "Rectangle: %s × %s (constrained to golden ratio 1 : 1.618); with Shift to draw around the starting point" msgstr "Прямоугольник: %s × %s; (с «золотым» соотношением сторон 1 : 1.618); с Shift рисует вокруг начальной точки" -#: ../src/rect-context.cpp:533 +#: ../src/rect-context.cpp:532 #, c-format msgid "Rectangle: %s × %s; with Ctrl to make square or integer-ratio rectangle; with Shift to draw around the starting point" msgstr "Прямоугольник: %s x %s; с Ctrl: квадрат или прямоугольник с целым соотношением сторон, с Shift рисовать вокруг начальной точки" -#: ../src/rect-context.cpp:554 +#: ../src/rect-context.cpp:553 msgid "Create rectangle" msgstr "Создание прямоугольника" -#: ../src/select-context.cpp:230 +#: ../src/select-context.cpp:232 msgid "Move canceled." msgstr "Перемещение отменено." -#: ../src/select-context.cpp:238 +#: ../src/select-context.cpp:240 msgid "Selection canceled." msgstr "Выделение отменено." -#: ../src/select-context.cpp:545 +#: ../src/select-context.cpp:550 msgid "Draw over objects to select them; release Alt to switch to rubberband selection" msgstr "Проведите курсором мыши по объектам, чтобы выделить их; отпустите Alt, чтобы переключиться на обычное выделение" -#: ../src/select-context.cpp:547 +#: ../src/select-context.cpp:552 msgid "Drag around objects to select them; press Alt to switch to touch selection" msgstr "Проведите курсором мыши вокруг объектов, чтобы выделить их; нажмите Alt для переключения на касательное выделение" -#: ../src/select-context.cpp:707 +#: ../src/select-context.cpp:712 msgid "Ctrl: click to select in groups; drag to move hor/vert" msgstr "Ctrl: щелчок выделяет в группе; перетаскивание двигает по горизонтали/вертикали" -#: ../src/select-context.cpp:708 +#: ../src/select-context.cpp:713 msgid "Shift: click to toggle select; drag for rubberband selection" msgstr "Shift: выделить/снять выделение; перетаскивание включает выделение «липкой лентой»" -#: ../src/select-context.cpp:709 +#: ../src/select-context.cpp:714 msgid "Alt: click to select under; drag to move selected or select by touch" msgstr "Alt: выделять под выделенным; перетаскиванием двигать выделение" -#: ../src/select-context.cpp:880 +#: ../src/select-context.cpp:885 msgid "Selected object is not a group. Cannot enter." msgstr "Выделенный объект не является группой. В неё нельзя войти." -#: ../src/selection-chemistry.cpp:195 +#: ../src/selection-chemistry.cpp:192 msgid "Delete text" msgstr "Удалить текст" -#: ../src/selection-chemistry.cpp:203 +#: ../src/selection-chemistry.cpp:200 msgid "Nothing was deleted." msgstr "Ничего не удалено." -#: ../src/selection-chemistry.cpp:221 -#: ../src/text-context.cpp:1004 -#: ../src/widgets/toolbox.cpp:1280 -#: ../src/widgets/toolbox.cpp:5281 +#: ../src/selection-chemistry.cpp:218 +#: ../src/text-context.cpp:1014 +#: ../src/widgets/toolbox.cpp:1279 +#: ../src/widgets/toolbox.cpp:5270 msgid "Delete" msgstr "Удаление" -#: ../src/selection-chemistry.cpp:249 +#: ../src/selection-chemistry.cpp:246 msgid "Select object(s) to duplicate." msgstr "Выделите объекты для дублирования." -#: ../src/selection-chemistry.cpp:339 +#: ../src/selection-chemistry.cpp:336 msgid "Delete all" msgstr "Удалить всё" -#: ../src/selection-chemistry.cpp:462 +#: ../src/selection-chemistry.cpp:459 msgid "Select some objects to group." msgstr "Выделите несколько объектов для группировки." -#: ../src/selection-chemistry.cpp:535 +#: ../src/selection-chemistry.cpp:532 #: ../src/selection-describer.cpp:51 msgid "Group" msgstr "Группа" -#: ../src/selection-chemistry.cpp:549 +#: ../src/selection-chemistry.cpp:546 msgid "Select a group to ungroup." msgstr "Выделите группу для разгруппирования." -#: ../src/selection-chemistry.cpp:590 +#: ../src/selection-chemistry.cpp:587 msgid "No groups to ungroup in the selection." msgstr "В выделении нет групп для разгруппирования." -#: ../src/selection-chemistry.cpp:596 -#: ../src/sp-item-group.cpp:498 +#: ../src/selection-chemistry.cpp:593 +#: ../src/sp-item-group.cpp:497 msgid "Ungroup" msgstr "Разгруппировать" -#: ../src/selection-chemistry.cpp:656 +#: ../src/selection-chemistry.cpp:653 msgid "Select object(s) to raise." msgstr "Выделите объект(ы) для поднятия." -#: ../src/selection-chemistry.cpp:662 -#: ../src/selection-chemistry.cpp:722 -#: ../src/selection-chemistry.cpp:756 -#: ../src/selection-chemistry.cpp:820 +#: ../src/selection-chemistry.cpp:659 +#: ../src/selection-chemistry.cpp:719 +#: ../src/selection-chemistry.cpp:753 +#: ../src/selection-chemistry.cpp:817 msgid "You cannot raise/lower objects from different groups or layers." msgstr "Нельзя поднять или опустить объекты из разных групп или слоев." #. TRANSLATORS: Only put the word "Raise" in the translation. Means "to raise an object" in the undo history -#: ../src/selection-chemistry.cpp:702 +#: ../src/selection-chemistry.cpp:699 msgid "undo_action|Raise" msgstr "Поднятие" -#: ../src/selection-chemistry.cpp:714 +#: ../src/selection-chemistry.cpp:711 msgid "Select object(s) to raise to top." msgstr "Выделите объект(ы) для поднятия на самый верх." -#: ../src/selection-chemistry.cpp:737 +#: ../src/selection-chemistry.cpp:734 msgid "Raise to top" msgstr "Поднять на передний план" -#: ../src/selection-chemistry.cpp:750 +#: ../src/selection-chemistry.cpp:747 msgid "Select object(s) to lower." msgstr "Выделите объект(ы) для опускания." -#: ../src/selection-chemistry.cpp:800 +#: ../src/selection-chemistry.cpp:797 msgid "Lower" msgstr "Опустить" -#: ../src/selection-chemistry.cpp:812 +#: ../src/selection-chemistry.cpp:809 msgid "Select object(s) to lower to bottom." msgstr "Выделите объект(ы) для опускания на самый низ." -#: ../src/selection-chemistry.cpp:847 +#: ../src/selection-chemistry.cpp:844 msgid "Lower to bottom" msgstr "Опустить на задний план" -#: ../src/selection-chemistry.cpp:854 +#: ../src/selection-chemistry.cpp:851 msgid "Nothing to undo." msgstr "Нет отменяемых операций." -#: ../src/selection-chemistry.cpp:861 +#: ../src/selection-chemistry.cpp:858 msgid "Nothing to redo." msgstr "Нет повторяемых операций." -#: ../src/selection-chemistry.cpp:921 +#: ../src/selection-chemistry.cpp:918 msgid "Paste" msgstr "Вставка" -#: ../src/selection-chemistry.cpp:928 +#: ../src/selection-chemistry.cpp:925 msgid "Paste style" msgstr "Вставка стиля" -#: ../src/selection-chemistry.cpp:937 +#: ../src/selection-chemistry.cpp:934 msgid "Paste live path effect" msgstr "Вставить динамический контурный эффект" -#: ../src/selection-chemistry.cpp:956 +#: ../src/selection-chemistry.cpp:953 msgid "Select object(s) to remove live path effects from." msgstr "Выделите объект(ы) для удаления динамического контурного эффекта." -#: ../src/selection-chemistry.cpp:968 +#: ../src/selection-chemistry.cpp:965 msgid "Remove live path effect" msgstr "Удаление контурного эффекта" -#: ../src/selection-chemistry.cpp:979 +#: ../src/selection-chemistry.cpp:976 msgid "Select object(s) to remove filters from." msgstr "Выделите объект(ы) для удаления фильтров." -#: ../src/selection-chemistry.cpp:989 -#: ../src/ui/dialog/filter-effects-dialog.cpp:1366 +#: ../src/selection-chemistry.cpp:986 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1367 msgid "Remove filter" msgstr "Удаление фильтра" -#: ../src/selection-chemistry.cpp:998 +#: ../src/selection-chemistry.cpp:995 msgid "Paste size" msgstr "Вставить размер" -#: ../src/selection-chemistry.cpp:1006 +#: ../src/selection-chemistry.cpp:1003 msgid "Paste size separately" msgstr "Вставить размер раздельно" -#: ../src/selection-chemistry.cpp:1015 +#: ../src/selection-chemistry.cpp:1012 msgid "Select object(s) to move to the layer above." msgstr "Выделите объект(ы) для перемещения на слой выше." -#: ../src/selection-chemistry.cpp:1041 +#: ../src/selection-chemistry.cpp:1038 msgid "Raise to next layer" msgstr "Поднятие на следующий слой" -#: ../src/selection-chemistry.cpp:1048 +#: ../src/selection-chemistry.cpp:1045 msgid "No more layers above." msgstr "Выше слоёв нет." -#: ../src/selection-chemistry.cpp:1060 +#: ../src/selection-chemistry.cpp:1057 msgid "Select object(s) to move to the layer below." msgstr "Выделите объект(ы) для перемещения на слой ниже." -#: ../src/selection-chemistry.cpp:1086 +#: ../src/selection-chemistry.cpp:1083 msgid "Lower to previous layer" msgstr "Опускание на предыдущий слой" -#: ../src/selection-chemistry.cpp:1093 +#: ../src/selection-chemistry.cpp:1090 msgid "No more layers below." msgstr "Ниже слоёв нет." -#: ../src/selection-chemistry.cpp:1282 +#: ../src/selection-chemistry.cpp:1277 msgid "Remove transform" msgstr "Убрать трансформацию" -#: ../src/selection-chemistry.cpp:1385 +#: ../src/selection-chemistry.cpp:1380 msgid "Rotate 90° CCW" msgstr "Повернуть на 90° против часовой стрелки" -#: ../src/selection-chemistry.cpp:1385 +#: ../src/selection-chemistry.cpp:1380 msgid "Rotate 90° CW" msgstr "Повернуть на 90° по часовой стрелке" -#: ../src/selection-chemistry.cpp:1406 -#: ../src/seltrans.cpp:458 -#: ../src/ui/dialog/transformation.cpp:757 +#: ../src/selection-chemistry.cpp:1401 +#: ../src/seltrans.cpp:451 +#: ../src/ui/dialog/transformation.cpp:760 msgid "Rotate" msgstr "Вращение" -#: ../src/selection-chemistry.cpp:1438 +#: ../src/selection-chemistry.cpp:1448 msgid "Rotate by pixels" msgstr "Вращение по пикселам" -#: ../src/selection-chemistry.cpp:1493 +#: ../src/selection-chemistry.cpp:1503 msgid "Scale by whole factor" msgstr "Масштабирование по целым числам" -#: ../src/selection-chemistry.cpp:1508 +#: ../src/selection-chemistry.cpp:1518 msgid "Move vertically" msgstr "Смещение по вертикали" -#: ../src/selection-chemistry.cpp:1511 +#: ../src/selection-chemistry.cpp:1521 msgid "Move horizontally" msgstr "Смещение по горизонтали" -#: ../src/selection-chemistry.cpp:1514 -#: ../src/selection-chemistry.cpp:1540 -#: ../src/seltrans.cpp:452 -#: ../src/ui/dialog/transformation.cpp:680 +#: ../src/selection-chemistry.cpp:1524 +#: ../src/selection-chemistry.cpp:1550 +#: ../src/seltrans.cpp:445 +#: ../src/ui/dialog/transformation.cpp:681 msgid "Move" msgstr "Смещение" -#: ../src/selection-chemistry.cpp:1534 +#: ../src/selection-chemistry.cpp:1544 msgid "Move vertically by pixels" msgstr "Попиксельное смещение по вертикали" -#: ../src/selection-chemistry.cpp:1537 +#: ../src/selection-chemistry.cpp:1547 msgid "Move horizontally by pixels" msgstr "Попиксельное смещение по горизонтали" -#: ../src/selection-chemistry.cpp:1665 +#: ../src/selection-chemistry.cpp:1675 msgid "The selection has no applied path effect." msgstr "В выделении нет примененного контурного эффекта." -#: ../src/selection-chemistry.cpp:1712 +#: ../src/selection-chemistry.cpp:1722 msgid "The selection has no applied clip path." msgstr "В выделении нет примененного обтравочного контура." -#: ../src/selection-chemistry.cpp:1714 +#: ../src/selection-chemistry.cpp:1724 msgid "The selection has no applied mask." msgstr "В выделении нет примененной маски." -#: ../src/selection-chemistry.cpp:1871 +#: ../src/selection-chemistry.cpp:1881 msgid "action|Clone" msgstr "Склонировать" -#: ../src/selection-chemistry.cpp:1887 +#: ../src/selection-chemistry.cpp:1897 #, fuzzy msgid "Select clones to relink." msgstr "Выделите клон для отсоединения." -#: ../src/selection-chemistry.cpp:1894 +#: ../src/selection-chemistry.cpp:1904 #, fuzzy msgid "Copy an object to clipboard to relink clones to." msgstr "Выделите объект для клонирования." -#: ../src/selection-chemistry.cpp:1918 +#: ../src/selection-chemistry.cpp:1928 msgid "No clones to relink in the selection." msgstr "В текущем выделении нет клонов для повторного связывания." -#: ../src/selection-chemistry.cpp:1921 +#: ../src/selection-chemistry.cpp:1931 #, fuzzy msgid "Relink clone" msgstr "Отсоединение клона" -#: ../src/selection-chemistry.cpp:1935 +#: ../src/selection-chemistry.cpp:1945 #, fuzzy msgid "Select clones to unlink." msgstr "Выделите клон для отсоединения." -#: ../src/selection-chemistry.cpp:1984 +#: ../src/selection-chemistry.cpp:1994 msgid "No clones to unlink in the selection." msgstr "В выделении нет клонов." -#: ../src/selection-chemistry.cpp:1988 +#: ../src/selection-chemistry.cpp:1998 msgid "Unlink clone" msgstr "Отсоединение клона" -#: ../src/selection-chemistry.cpp:2001 +#: ../src/selection-chemistry.cpp:2011 msgid "Select a clone to go to its original. Select a linked offset to go to its source. Select a text on path to go to the path. Select a flowed text to go to its frame." msgstr "Выделите клон, чтобы перейти к его оригиналу. Выделите связанную втяжку, чтобы перейти к исходному контуру. Выделите текст по контуру, чтобы перейти к его контуру. Выделите текст в рамке, чтобы перейти к рамке." -#: ../src/selection-chemistry.cpp:2024 +#: ../src/selection-chemistry.cpp:2034 msgid "Cannot find the object to select (orphaned clone, offset, textpath, flowed text?)" msgstr "Невозможно найти выбираемый объект (orphaned clone, offset, текст по контуру, завёрстанный текст?)" -#: ../src/selection-chemistry.cpp:2030 +#: ../src/selection-chemistry.cpp:2040 msgid "The object you're trying to select is not visible (it is in <defs>)" msgstr "Объект, который вы пытаетесь выделить, невидим (находится в <defs>)" -#: ../src/selection-chemistry.cpp:2076 +#: ../src/selection-chemistry.cpp:2086 msgid "Select object(s) to convert to marker." msgstr "Выделите объект для преобразования в маркер." -#: ../src/selection-chemistry.cpp:2144 +#: ../src/selection-chemistry.cpp:2154 msgid "Objects to marker" msgstr "Объекты в маркер" -#: ../src/selection-chemistry.cpp:2172 +#: ../src/selection-chemistry.cpp:2182 msgid "Select object(s) to convert to guides." msgstr "Выделите объект для преобразования в направляющие." -#: ../src/selection-chemistry.cpp:2184 +#: ../src/selection-chemistry.cpp:2194 msgid "Objects to guides" msgstr "Объекты в направляющие" -#: ../src/selection-chemistry.cpp:2200 +#: ../src/selection-chemistry.cpp:2210 msgid "Select object(s) to convert to pattern." msgstr "Выделите объект(ы) для преобразования в текстуру." -#: ../src/selection-chemistry.cpp:2288 +#: ../src/selection-chemistry.cpp:2298 msgid "Objects to pattern" msgstr "Объекты в текстуру" -#: ../src/selection-chemistry.cpp:2304 +#: ../src/selection-chemistry.cpp:2314 msgid "Select an object with pattern fill to extract objects from." msgstr "Выделите объект с текстурной заливкой для извлечения из него объектов." -#: ../src/selection-chemistry.cpp:2357 +#: ../src/selection-chemistry.cpp:2367 msgid "No pattern fills in the selection." msgstr "В выделении нет текстурной заливки." -#: ../src/selection-chemistry.cpp:2360 +#: ../src/selection-chemistry.cpp:2370 msgid "Pattern to objects" msgstr "Текстура в объекты" -#: ../src/selection-chemistry.cpp:2445 +#: ../src/selection-chemistry.cpp:2455 msgid "Select object(s) to make a bitmap copy." msgstr "Выделите объект(ы) для создания растровой копии." -#: ../src/selection-chemistry.cpp:2449 +#: ../src/selection-chemistry.cpp:2459 msgid "Rendering bitmap..." msgstr "Создается растровая копия..." -#: ../src/selection-chemistry.cpp:2613 +#: ../src/selection-chemistry.cpp:2623 msgid "Create bitmap" msgstr "Создание растровой копии" -#: ../src/selection-chemistry.cpp:2645 +#: ../src/selection-chemistry.cpp:2655 msgid "Select object(s) to create clippath or mask from." msgstr "Выделите объект(ы), из которых будет создан обтравочный контур или маска." -#: ../src/selection-chemistry.cpp:2648 +#: ../src/selection-chemistry.cpp:2658 msgid "Select mask object and object(s) to apply clippath or mask to." msgstr "Выделите объект-маску и объект(ы), к которым применить обтравочный контур или маску." -#: ../src/selection-chemistry.cpp:2755 +#: ../src/selection-chemistry.cpp:2765 msgid "Set clipping path" msgstr "Установлен обтравочный контур" -#: ../src/selection-chemistry.cpp:2757 +#: ../src/selection-chemistry.cpp:2767 msgid "Set mask" msgstr "Установлена маска" -#: ../src/selection-chemistry.cpp:2770 +#: ../src/selection-chemistry.cpp:2780 msgid "Select object(s) to remove clippath or mask from." msgstr "Выделите объект(ы), с которых нужно снять обтравочный контур или маску." -#: ../src/selection-chemistry.cpp:2843 +#: ../src/selection-chemistry.cpp:2853 msgid "Release clipping path" msgstr "Обтравочный контур снят" -#: ../src/selection-chemistry.cpp:2845 +#: ../src/selection-chemistry.cpp:2855 msgid "Release mask" msgstr "Маска снята" -#: ../src/selection-chemistry.cpp:2861 +#: ../src/selection-chemistry.cpp:2871 msgid "Select object(s) to fit canvas to." msgstr "Выделите объект, по размеру которого подогнать холст." #. Fit Page -#: ../src/selection-chemistry.cpp:2881 -#: ../src/verbs.cpp:2690 +#: ../src/selection-chemistry.cpp:2891 +#: ../src/verbs.cpp:2695 msgid "Fit Page to Selection" msgstr "Cтраница до выделения" -#: ../src/selection-chemistry.cpp:2906 -#: ../src/verbs.cpp:2692 +#: ../src/selection-chemistry.cpp:2916 +#: ../src/verbs.cpp:2697 msgid "Fit Page to Drawing" msgstr "Откадрировать холст до рисунка" -#: ../src/selection-chemistry.cpp:2922 -#: ../src/verbs.cpp:2694 +#: ../src/selection-chemistry.cpp:2932 +#: ../src/verbs.cpp:2699 msgid "Fit Page to Selection or Drawing" msgstr "Откадрировать холст до выделения или рисунка" @@ -8044,9 +8048,9 @@ msgstr "Окружность" #. ellipse #: ../src/selection-describer.cpp:47 #: ../src/selection-describer.cpp:73 -#: ../src/ui/dialog/inkscape-preferences.cpp:434 -#: ../src/verbs.cpp:2483 -#: ../src/widgets/toolbox.cpp:3413 +#: ../src/ui/dialog/inkscape-preferences.cpp:432 +#: ../src/verbs.cpp:2486 +#: ../src/widgets/toolbox.cpp:3409 msgid "Ellipse" msgstr "Эллипс" @@ -8063,7 +8067,7 @@ msgid "Path" msgstr "Контур" #: ../src/selection-describer.cpp:59 -#: ../src/widgets/toolbox.cpp:2247 +#: ../src/widgets/toolbox.cpp:2245 msgid "Polygon" msgstr "Многоугольник" @@ -8073,15 +8077,15 @@ msgstr "Полилиния" #. Rectangle #: ../src/selection-describer.cpp:63 -#: ../src/ui/dialog/inkscape-preferences.cpp:424 -#: ../src/verbs.cpp:2479 +#: ../src/ui/dialog/inkscape-preferences.cpp:422 +#: ../src/verbs.cpp:2482 msgid "Rectangle" msgstr "Прямоугольник" #. 3D box #: ../src/selection-describer.cpp:65 -#: ../src/ui/dialog/inkscape-preferences.cpp:429 -#: ../src/verbs.cpp:2481 +#: ../src/ui/dialog/inkscape-preferences.cpp:427 +#: ../src/verbs.cpp:2484 msgid "3D Box" msgstr "Паралеллепипед" @@ -8095,58 +8099,58 @@ msgstr "Растянутый контур" #. spiral #: ../src/selection-describer.cpp:77 -#: ../src/ui/dialog/inkscape-preferences.cpp:442 -#: ../src/verbs.cpp:2487 +#: ../src/ui/dialog/inkscape-preferences.cpp:440 +#: ../src/verbs.cpp:2490 msgid "Spiral" msgstr "Спираль" #. star #: ../src/selection-describer.cpp:79 -#: ../src/ui/dialog/inkscape-preferences.cpp:438 -#: ../src/verbs.cpp:2485 -#: ../src/widgets/toolbox.cpp:2254 +#: ../src/ui/dialog/inkscape-preferences.cpp:436 +#: ../src/verbs.cpp:2488 +#: ../src/widgets/toolbox.cpp:2252 msgid "Star" msgstr "Звезда" -#: ../src/selection-describer.cpp:107 +#: ../src/selection-describer.cpp:115 msgid "Click selection to toggle scale/rotation handles" msgstr "Щелчок по объекту переключает стрелки масштабирования/вращения" #. no items -#: ../src/selection-describer.cpp:109 +#: ../src/selection-describer.cpp:117 msgid "No objects selected. Click, Shift+click, or drag around objects to select." msgstr "Нет выделенных объектов. Используйте щелчок, Shift+щелчок или обведите рамку вокруг выделяемых объектов." -#: ../src/selection-describer.cpp:118 +#: ../src/selection-describer.cpp:126 msgid "root" msgstr "корневом слое" -#: ../src/selection-describer.cpp:130 +#: ../src/selection-describer.cpp:138 #, c-format msgid "layer %s" msgstr "слое %s" -#: ../src/selection-describer.cpp:132 +#: ../src/selection-describer.cpp:140 #, c-format msgid "layer %s" msgstr "слой %s" -#: ../src/selection-describer.cpp:141 +#: ../src/selection-describer.cpp:149 #, c-format msgid "%s" msgstr "%s" -#: ../src/selection-describer.cpp:150 +#: ../src/selection-describer.cpp:158 #, c-format msgid " in %s" msgstr " в %s" -#: ../src/selection-describer.cpp:152 +#: ../src/selection-describer.cpp:160 #, c-format msgid " in group %s (%s)" msgstr " в группе %s (%s)" -#: ../src/selection-describer.cpp:154 +#: ../src/selection-describer.cpp:162 #, c-format msgid " in %i parents (%s)" msgid_plural " in %i parents (%s)" @@ -8154,7 +8158,7 @@ msgstr[0] " в %i родителе (%s)" msgstr[1] " в %i родителях (%s)" msgstr[2] " в %i родителях (%s)" -#: ../src/selection-describer.cpp:157 +#: ../src/selection-describer.cpp:165 #, c-format msgid " in %i layers" msgid_plural " in %i layers" @@ -8162,20 +8166,21 @@ msgstr[0] " в %i слое." msgstr[1] " в %i слоях." msgstr[2] " в %i слоях.." -#: ../src/selection-describer.cpp:167 +#: ../src/selection-describer.cpp:175 msgid "Use Shift+D to look up original" msgstr "Shift+D выделяет оригинал" -#: ../src/selection-describer.cpp:171 +#: ../src/selection-describer.cpp:179 msgid "Use Shift+D to look up path" msgstr "Shift+D выделяет контур" -#: ../src/selection-describer.cpp:175 +#: ../src/selection-describer.cpp:183 msgid "Use Shift+D to look up frame" msgstr "Shift+D выделяет блок" #. this is only used with 2 or more objects -#: ../src/selection-describer.cpp:190 +#: ../src/selection-describer.cpp:198 +#: ../src/tweak-context.cpp:204 #, c-format msgid "%i object selected" msgid_plural "%i objects selected" @@ -8184,7 +8189,7 @@ msgstr[1] "%i объекта выделено." msgstr[2] "%i объектов выделено." #. this is only used with 2 or more objects -#: ../src/selection-describer.cpp:195 +#: ../src/selection-describer.cpp:203 #, c-format msgid "%i object of type %s" msgid_plural "%i objects of type %s" @@ -8193,7 +8198,7 @@ msgstr[1] "%i объекта типа %s" msgstr[2] "%i объектов типа %s" #. this is only used with 2 or more objects -#: ../src/selection-describer.cpp:200 +#: ../src/selection-describer.cpp:208 #, c-format msgid "%i object of types %s, %s" msgid_plural "%i objects of types %s, %s" @@ -8202,7 +8207,7 @@ msgstr[1] "%i объекта типов %s, %s" msgstr[2] "%i объектов типов %s, %s" #. this is only used with 2 or more objects -#: ../src/selection-describer.cpp:205 +#: ../src/selection-describer.cpp:213 #, c-format msgid "%i object of types %s, %s, %s" msgid_plural "%i objects of types %s, %s, %s" @@ -8211,7 +8216,7 @@ msgstr[1] "Найдено %d объекта типов %s, %s%d объектов типов %s, %s, %s" #. this is only used with 2 or more objects -#: ../src/selection-describer.cpp:210 +#: ../src/selection-describer.cpp:218 #, c-format msgid "%i object of %i types" msgid_plural "%i objects of %i types" @@ -8219,75 +8224,75 @@ msgstr[0] "%i объект %i типов" msgstr[1] "%i объекта %i типов" msgstr[2] "%i объектов %i типов" -#: ../src/selection-describer.cpp:215 +#: ../src/selection-describer.cpp:223 #, c-format msgid "%s%s. %s." msgstr "%s%s. %s." -#: ../src/seltrans.cpp:461 -#: ../src/ui/dialog/transformation.cpp:815 +#: ../src/seltrans.cpp:454 +#: ../src/ui/dialog/transformation.cpp:819 msgid "Skew" msgstr "Скос" -#: ../src/seltrans.cpp:473 +#: ../src/seltrans.cpp:466 msgid "Set center" msgstr "Смена центра объекта" -#: ../src/seltrans.cpp:570 +#: ../src/seltrans.cpp:563 msgid "Center of rotation and skewing: drag to reposition; scaling with Shift also uses this center" msgstr "Центр вращения и перекоса: его можно перетащить; изменение размера с Shift также происходит относительно этого центра" -#: ../src/seltrans.cpp:597 +#: ../src/seltrans.cpp:590 msgid "Squeeze or stretch selection; with Ctrl to scale uniformly; with Shift to scale around rotation center" msgstr "Сжать или растянуть выделение; с Ctrl — сохранять пропорцию; с Shift — вокруг центра вращения" -#: ../src/seltrans.cpp:598 +#: ../src/seltrans.cpp:591 msgid "Scale selection; with Ctrl to scale uniformly; with Shift to scale around rotation center" msgstr "Менять размер выделения; с Ctrl —сохранять пропорцию; с Shift — вокруг центра вращения" -#: ../src/seltrans.cpp:602 +#: ../src/seltrans.cpp:595 msgid "Skew selection; with Ctrl to snap angle; with Shift to skew around the opposite side" msgstr "Перекашивать выделение; с Ctrl — ограничивать угол; с Shift — вокруг противоположной стороны" -#: ../src/seltrans.cpp:603 +#: ../src/seltrans.cpp:596 msgid "Rotate selection; with Ctrl to snap angle; with Shift to rotate around the opposite corner" msgstr "Вращать выделение; с Ctrl — ограничивать угол; с Shift — вокруг противоположного угла" -#: ../src/seltrans.cpp:737 +#: ../src/seltrans.cpp:730 msgid "Reset center" msgstr "Возврат к исходному центру" -#: ../src/seltrans.cpp:985 -#: ../src/seltrans.cpp:1087 +#: ../src/seltrans.cpp:975 +#: ../src/seltrans.cpp:1074 #, c-format msgid "Scale: %0.2f%% x %0.2f%%; with Ctrl to lock ratio" msgstr "Изменить размер: %0.2f%% x %0.2f%%; Ctrl сохраняет пропорцию" #. TRANSLATORS: don't modify the first ";" #. (it will NOT be displayed as ";" - only the second one will be) -#: ../src/seltrans.cpp:1204 +#: ../src/seltrans.cpp:1186 #, c-format msgid "Skew: %0.2f°; with Ctrl to snap angle" msgstr "Перекашивание: %0.2f°; Ctrl ограничивает угол" #. TRANSLATORS: don't modify the first ";" #. (it will NOT be displayed as ";" - only the second one will be) -#: ../src/seltrans.cpp:1263 +#: ../src/seltrans.cpp:1246 #, c-format msgid "Rotate: %0.2f°; with Ctrl to snap angle" msgstr "Вращение: %0.2f°; Ctrl ограничивает угол" -#: ../src/seltrans.cpp:1306 +#: ../src/seltrans.cpp:1287 #, c-format msgid "Move center to %s, %s" msgstr "Переместить центр в %s, %s" -#: ../src/seltrans.cpp:1467 +#: ../src/seltrans.cpp:1448 #, c-format msgid "Move by %s, %s; with Ctrl to restrict to horizontal/vertical; with Shift to disable snapping" msgstr "Перемещение на %s, %s; с Ctrl только по горизонтали/вертикали; с Shift без прилипания" -#: ../src/shape-editor.cpp:474 +#: ../src/shape-editor.cpp:477 msgid "Drag curve" msgstr "Перетаскивание кривой" @@ -8367,25 +8372,25 @@ msgstr "горизонтальная, в позиции %s" msgid "at %d degrees, through (%s,%s); Ctrl+click to delete" msgstr "под углом %d градусов, через (%s,%s); Ctrl+щелчок удаляет ее" -#: ../src/sp-image.cpp:1100 +#: ../src/sp-image.cpp:1101 msgid "embedded" msgstr "включенное" -#: ../src/sp-image.cpp:1108 +#: ../src/sp-image.cpp:1109 #, c-format msgid "Image with bad reference: %s" msgstr "Изображение без ссылки: %s" -#: ../src/sp-image.cpp:1109 +#: ../src/sp-image.cpp:1110 #, c-format msgid "Image %d × %d: %s" msgstr "Изображение %d x %d: %s" -#: ../src/spiral-context.cpp:344 +#: ../src/spiral-context.cpp:343 msgid "Ctrl: snap angle" msgstr "Ctrl: ограничить угол" -#: ../src/spiral-context.cpp:346 +#: ../src/spiral-context.cpp:345 msgid "Alt: lock spiral radius" msgstr "Alt: зафиксировать радиус спирали" @@ -8398,26 +8403,26 @@ msgstr "Спираль: радиус %s, угол %5g°; Ctrl msgid "Create spiral" msgstr "Создание спирали" -#: ../src/sp-item.cpp:1016 +#: ../src/sp-item.cpp:1025 msgid "Object" msgstr "Объект" -#: ../src/sp-item.cpp:1033 +#: ../src/sp-item.cpp:1042 #, c-format msgid "%s; clipped" msgstr "%s; под обтравочным контуром" -#: ../src/sp-item.cpp:1038 +#: ../src/sp-item.cpp:1047 #, c-format msgid "%s; masked" msgstr "%s; маскирован" -#: ../src/sp-item.cpp:1043 +#: ../src/sp-item.cpp:1052 #, c-format msgid "%s; filtered" msgstr "%s; с фильтром" -#: ../src/sp-item-group.cpp:746 +#: ../src/sp-item-group.cpp:745 #, c-format msgid "Group of %d object" msgid_plural "Group of %d objects" @@ -8480,67 +8485,67 @@ msgstr "Оконтуривание обводки" msgid "No stroked paths in the selection." msgstr "В выделении нет контуров с обводкой." -#: ../src/splivarot.cpp:1033 +#: ../src/splivarot.cpp:1035 msgid "Selected object is not a path, cannot inset/outset." msgstr "Выделенный объект не является контуром, втяжка/растяжка невозможны." -#: ../src/splivarot.cpp:1153 -#: ../src/splivarot.cpp:1222 +#: ../src/splivarot.cpp:1154 +#: ../src/splivarot.cpp:1223 msgid "Create linked offset" msgstr "Создание связанной втяжки" -#: ../src/splivarot.cpp:1154 -#: ../src/splivarot.cpp:1223 +#: ../src/splivarot.cpp:1155 +#: ../src/splivarot.cpp:1224 msgid "Create dynamic offset" msgstr "Создание динамической втяжки" -#: ../src/splivarot.cpp:1248 +#: ../src/splivarot.cpp:1249 msgid "Select path(s) to inset/outset." msgstr "Выделите контур для втяжки/растяжки." -#: ../src/splivarot.cpp:1466 +#: ../src/splivarot.cpp:1467 msgid "Outset path" msgstr "Растяжка контура" -#: ../src/splivarot.cpp:1466 +#: ../src/splivarot.cpp:1467 msgid "Inset path" msgstr "Втяжка контура" -#: ../src/splivarot.cpp:1468 +#: ../src/splivarot.cpp:1469 msgid "No paths to inset/outset in the selection." msgstr "В выделении нет контуров для втяжки/растяжки." -#: ../src/splivarot.cpp:1643 +#: ../src/splivarot.cpp:1644 msgid "Simplifying paths (separately):" msgstr "Упрощение контуров (раздельно):" -#: ../src/splivarot.cpp:1645 +#: ../src/splivarot.cpp:1646 msgid "Simplifying paths:" msgstr "Упрощение контуров:" -#: ../src/splivarot.cpp:1682 +#: ../src/splivarot.cpp:1683 #, c-format msgid "%s %d of %d paths simplified..." msgstr "%s: %d из %d контуров упрощено..." -#: ../src/splivarot.cpp:1693 +#: ../src/splivarot.cpp:1695 #, c-format msgid "%d paths simplified." msgstr "%d контуров упрощено." -#: ../src/splivarot.cpp:1707 +#: ../src/splivarot.cpp:1709 msgid "Select path(s) to simplify." msgstr "Выделите контур(ы) для упрощения." -#: ../src/splivarot.cpp:1721 +#: ../src/splivarot.cpp:1723 msgid "Simplify" msgstr "Упрощение контура" -#: ../src/splivarot.cpp:1723 +#: ../src/splivarot.cpp:1725 msgid "No paths to simplify in the selection." msgstr "В выделении нет контуров для упрощения." -#: ../src/sp-lpe-item.cpp:335 +#: ../src/sp-lpe-item.cpp:339 msgid "An exception occurred during execution of the Path Effect." msgstr "Прерывание при выполнении контурного эффекта" @@ -8566,7 +8571,7 @@ msgstr "втянута" msgid "Dynamic offset, %s by %f pt" msgstr "Динамическая втяжка, %s на %f pt" -#: ../src/sp-path.cpp:137 +#: ../src/sp-path.cpp:136 #, c-format msgid "Path (%i node, path effect)" msgid_plural "Path (%i nodes, path effect)" @@ -8574,7 +8579,7 @@ msgstr[0] "Контур (%i узел, контурный эффект)" msgstr[1] "Контур (%i узла, контурный эффект)" msgstr[2] "Контур (%i узлов, контурный эффект)" -#: ../src/sp-path.cpp:140 +#: ../src/sp-path.cpp:139 #, c-format msgid "Path (%i node)" msgid_plural "Path (%i nodes)" @@ -8626,16 +8631,16 @@ msgstr[1] "Условная группа из %d объектов" msgstr[2] "Условная группа из %d объектов" #. TRANSLATORS: For description of font with no name. -#: ../src/sp-text.cpp:418 +#: ../src/sp-text.cpp:419 msgid "<no name found>" msgstr "<нет имени>" -#: ../src/sp-text.cpp:424 +#: ../src/sp-text.cpp:425 #, c-format msgid "Text on path (%s, %s)" msgstr "Текст по контуру (%s, %s)" -#: ../src/sp-text.cpp:425 +#: ../src/sp-text.cpp:426 #, c-format msgid "Text (%s, %s)" msgstr "Текст (%s, %s)" @@ -8659,20 +8664,20 @@ msgstr "Текстовый блок" #. TRANSLATORS: Used for statusbar description for long chains: #. * "Clone of: Clone of: ... in Layer 1". -#: ../src/sp-use.cpp:318 +#: ../src/sp-use.cpp:327 msgid "..." msgstr "..." -#: ../src/sp-use.cpp:326 +#: ../src/sp-use.cpp:335 #, c-format msgid "Clone of: %s" msgstr "Клон: %s" -#: ../src/sp-use.cpp:330 +#: ../src/sp-use.cpp:339 msgid "Orphaned clone" msgstr "Осиротевший клон" -#: ../src/star-context.cpp:356 +#: ../src/star-context.cpp:355 msgid "Ctrl: snap angle; keep rays radial" msgstr "Ctrl: ограничивать угол; лучи по радиусу без перекоса" @@ -8708,7 +8713,7 @@ msgid "The flowed text(s) must be visible in order to be put on a path." msgstr "Заверстанный текст должен быть видимым, чтобы быть размещенным по контуру." #: ../src/text-chemistry.cpp:192 -#: ../src/verbs.cpp:2337 +#: ../src/verbs.cpp:2340 msgid "Put text on path" msgstr "Разместить текст по контуру" @@ -8721,7 +8726,7 @@ msgid "No texts-on-paths in the selection." msgstr "В выделении нет текстов по контуру." #: ../src/text-chemistry.cpp:229 -#: ../src/verbs.cpp:2339 +#: ../src/verbs.cpp:2342 msgid "Remove text from path" msgstr "Снять текст с контура" @@ -8766,136 +8771,136 @@ msgstr "Завёрстанный текст в обычный" msgid "No flowed text(s) to convert in the selection." msgstr "В выделении нет завёрстанного текста, преобразуемого в обычный." -#: ../src/text-context.cpp:452 +#: ../src/text-context.cpp:461 msgid "Click to edit the text, drag to select part of the text." msgstr "Щелчок ставит курсор, перетаскивание выделяет текст." -#: ../src/text-context.cpp:454 +#: ../src/text-context.cpp:463 msgid "Click to edit the flowed text, drag to select part of the text." msgstr "Щелчок ставит курсор, перетаскивание выделяет текст." -#: ../src/text-context.cpp:508 +#: ../src/text-context.cpp:517 msgid "Create text" msgstr "Создание текстового объекта" -#: ../src/text-context.cpp:532 +#: ../src/text-context.cpp:541 msgid "Non-printable character" msgstr "Непечатаемый символ" -#: ../src/text-context.cpp:547 +#: ../src/text-context.cpp:556 msgid "Insert Unicode character" msgstr "Вставить юникодный символ" -#: ../src/text-context.cpp:582 +#: ../src/text-context.cpp:591 #, c-format msgid "Unicode (Enter to finish): %s: %s" msgstr "Юникод (нажмите Ввод для завершения): %s: %s" -#: ../src/text-context.cpp:584 -#: ../src/text-context.cpp:858 +#: ../src/text-context.cpp:593 +#: ../src/text-context.cpp:868 msgid "Unicode (Enter to finish): " msgstr "Юникод (нажмите Ввод для завершения): " -#: ../src/text-context.cpp:658 +#: ../src/text-context.cpp:668 #, c-format msgid "Flowed text frame: %s × %s" msgstr "Рамка для текста: %s × %s" -#: ../src/text-context.cpp:690 -#: ../src/text-context.cpp:1609 +#: ../src/text-context.cpp:700 +#: ../src/text-context.cpp:1619 msgid "Type text; Enter to start new line." msgstr "Вводите текст; Enter начинает новый абзац." -#: ../src/text-context.cpp:703 +#: ../src/text-context.cpp:713 msgid "Flowed text is created." msgstr "Завёрстывание текста в блок" -#: ../src/text-context.cpp:705 +#: ../src/text-context.cpp:715 msgid "Create flowed text" msgstr "Создание текстового блока" -#: ../src/text-context.cpp:707 +#: ../src/text-context.cpp:717 msgid "The frame is too small for the current font size. Flowed text not created." msgstr "Рамка слишком мала для текущего размера шрифта. Невозможно создать текст в рамке." -#: ../src/text-context.cpp:843 +#: ../src/text-context.cpp:853 msgid "No-break space" msgstr "Неразрывный пробел" -#: ../src/text-context.cpp:845 +#: ../src/text-context.cpp:855 msgid "Insert no-break space" msgstr "Вставка неразрывного пробела" -#: ../src/text-context.cpp:882 +#: ../src/text-context.cpp:892 msgid "Make bold" msgstr "Полужирное начертание" -#: ../src/text-context.cpp:900 +#: ../src/text-context.cpp:910 msgid "Make italic" msgstr "Курсивное начертание" -#: ../src/text-context.cpp:939 +#: ../src/text-context.cpp:949 msgid "New line" msgstr "Новая строка" -#: ../src/text-context.cpp:973 +#: ../src/text-context.cpp:983 msgid "Backspace" msgstr "Забой" -#: ../src/text-context.cpp:1021 +#: ../src/text-context.cpp:1031 msgid "Kern to the left" msgstr "Кернинг влево" -#: ../src/text-context.cpp:1046 +#: ../src/text-context.cpp:1056 msgid "Kern to the right" msgstr "Кернинг вправо" -#: ../src/text-context.cpp:1071 +#: ../src/text-context.cpp:1081 msgid "Kern up" msgstr "Кернинг вверх" -#: ../src/text-context.cpp:1097 +#: ../src/text-context.cpp:1107 msgid "Kern down" msgstr "Кернинг вниз" -#: ../src/text-context.cpp:1174 +#: ../src/text-context.cpp:1184 msgid "Rotate counterclockwise" msgstr "Поворот против часовой стрелки" -#: ../src/text-context.cpp:1195 +#: ../src/text-context.cpp:1205 msgid "Rotate clockwise" msgstr "Поворот по часовой стрелке" -#: ../src/text-context.cpp:1212 +#: ../src/text-context.cpp:1222 msgid "Contract line spacing" msgstr "Сокращение межстрочного интервала" -#: ../src/text-context.cpp:1220 +#: ../src/text-context.cpp:1230 msgid "Contract letter spacing" msgstr "Сокращение межбуквенного интервала" -#: ../src/text-context.cpp:1239 +#: ../src/text-context.cpp:1249 msgid "Expand line spacing" msgstr "Увеличение межстрочного интервала" -#: ../src/text-context.cpp:1247 +#: ../src/text-context.cpp:1257 msgid "Expand letter spacing" msgstr "Увеличение межбуквенного интервала" -#: ../src/text-context.cpp:1374 +#: ../src/text-context.cpp:1384 msgid "Paste text" msgstr "Вставка стиля" -#: ../src/text-context.cpp:1607 +#: ../src/text-context.cpp:1617 msgid "Type flowed text; Enter to start new paragraph." msgstr "Набирайте завёрстанный текст; Ввод начинает новый абзац" -#: ../src/text-context.cpp:1617 -#: ../src/tools-switch.cpp:214 +#: ../src/text-context.cpp:1627 +#: ../src/tools-switch.cpp:190 msgid "Click to select or create text, drag to create flowed text; then type." msgstr "Щелчок выделяет или создает текст, перетаскивание создает текст в рамке; после этого можно набирать текст." -#: ../src/text-context.cpp:1726 +#: ../src/text-context.cpp:1737 msgid "Type text" msgstr "Ввод текста" @@ -8903,67 +8908,67 @@ msgstr "Ввод текста" msgid "You cannot edit cloned character data." msgstr "Вы не можете редактировать склонированный текст." -#: ../src/tools-switch.cpp:154 +#: ../src/tools-switch.cpp:130 msgid "To edit a path, click, Shift+click, or drag around nodes to select them, then drag nodes and handles. Click on an object to select." msgstr "Для правки контура щелчком, Shift+щелчком или обведением рамки выделите узлы, затем перетащите узлы и рычаги. Щелчок по объекту выделяет его." -#: ../src/tools-switch.cpp:160 +#: ../src/tools-switch.cpp:136 msgid "To tweak a path by pushing, select it and drag over it." msgstr "Для коррекции контура толканием, выберите и проведите по нему мышью" -#: ../src/tools-switch.cpp:166 +#: ../src/tools-switch.cpp:142 msgid "Drag to create a rectangle. Drag controls to round corners and resize. Click to select." msgstr "Перетаскивание рисует прямоугольник. Перетаскивание ручек меняет размер и закругляет углы. Щелчок по объекту выделяет его." -#: ../src/tools-switch.cpp:172 +#: ../src/tools-switch.cpp:148 msgid "Drag to create a 3D box. Drag controls to resize in perspective. Click to select (with Ctrl+Alt for single faces)." msgstr "Перетаскивание рисует параллелепипед. Перетаскивание рычагов меняет перспективу. Щелчком выделяются стороны объекта." -#: ../src/tools-switch.cpp:178 +#: ../src/tools-switch.cpp:154 msgid "Drag to create an ellipse. Drag controls to make an arc or segment. Click to select." msgstr "Перетаскивание рисует эллипс. Перетаскивание ручек делает дугу или сегмент. Щелчок по объекту выделяет его." -#: ../src/tools-switch.cpp:184 +#: ../src/tools-switch.cpp:160 msgid "Drag to create a star. Drag controls to edit the star shape. Click to select." msgstr "Перетаскивание рисует звезду. Перетаскивание ручек меняет ее форму. Щелчок по объекту выделяет его." -#: ../src/tools-switch.cpp:190 +#: ../src/tools-switch.cpp:166 msgid "Drag to create a spiral. Drag controls to edit the spiral shape. Click to select." msgstr "Перетаскивание рисует спираль. Перетаскивание ручек меняет ее форму. Щелчок по объекту выделяет его." -#: ../src/tools-switch.cpp:196 +#: ../src/tools-switch.cpp:172 msgid "Drag to create a freehand line. Start drawing with Shift to append to selected path. Ctrl+click to create single dots." msgstr "Перетаскиванием рисуется произвольная линия. С Shift линия присоединяется к выделенному контуру. По Ctrl+щелчок создаются точки." -#: ../src/tools-switch.cpp:202 +#: ../src/tools-switch.cpp:178 msgid "Click or click and drag to start a path; with Shift to append to selected path. Ctrl+click to create single dots." msgstr "Щелчок и щелчок с перетаскиванием начинают контур. С Shift линия добавляется к выделенному контуру. Ctrl+щелчок рисует точку." -#: ../src/tools-switch.cpp:208 +#: ../src/tools-switch.cpp:184 msgid "Drag to draw a calligraphic stroke; with Ctrl to track a guide path. Arrow keys adjust width (left/right) and angle (up/down)." msgstr "Перетаскивание рисует каллиграфический штрих; с Ctrl — отслеживание направляющего контура. Клавиши-стрелки меняют ширину (влево/вправо) и угол (вверх/вниз) пера." -#: ../src/tools-switch.cpp:220 +#: ../src/tools-switch.cpp:196 msgid "Drag or double click to create a gradient on selected objects, drag handles to adjust gradients." msgstr "Новый градиент для выделенного объекта создается перетаскиванием или двойным щелчком и корректируется перетаскиванием за ручки." -#: ../src/tools-switch.cpp:226 +#: ../src/tools-switch.cpp:202 msgid "Click or drag around an area to zoom in, Shift+click to zoom out." msgstr "Щелчок или обведение рамкой приближают, Shift+щелчок отдаляет холст." -#: ../src/tools-switch.cpp:238 +#: ../src/tools-switch.cpp:214 msgid "Click and drag between shapes to create a connector." msgstr "Щелчок с перетаскиванием между фигурами создают линию соединения." -#: ../src/tools-switch.cpp:244 +#: ../src/tools-switch.cpp:220 msgid "Click to paint a bounded area, Shift+click to union the new fill with the current selection, Ctrl+click to change the clicked object's fill and stroke to the current setting." msgstr "Щёлкните для рисования замкнутой области, Shift+щелчок для объединения новой заливки с активным выделением, Ctrl+щелчок для смены заливки и обводки щелкнутого объекта до текущих параметров" -#: ../src/tools-switch.cpp:250 +#: ../src/tools-switch.cpp:226 msgid "Drag to erase." msgstr "Нажмите клавишу и перетащите курсор для стирания" -#: ../src/tools-switch.cpp:256 +#: ../src/tools-switch.cpp:232 msgid "Choose a subtool from the toolbar" msgstr "Выберите режим инструмента из его контекстной панели" @@ -9018,128 +9023,132 @@ msgstr "Векторизация растра" msgid "Trace: Done. %ld nodes created" msgstr "Векторизация: Готово. Создано узлов: %ld" -#: ../src/tweak-context.cpp:200 -#, c-format -msgid "%i objects selected" -msgstr "%i объектов выделено" - -#: ../src/tweak-context.cpp:202 +#: ../src/tweak-context.cpp:206 #, c-format msgid "Nothing selected" msgstr "Ничего не выделено" -#: ../src/tweak-context.cpp:208 +#: ../src/tweak-context.cpp:212 #, c-format msgid "%s. Drag to move." msgstr "%s. Перетащите курсор для их перемещения." -#: ../src/tweak-context.cpp:213 +#: ../src/tweak-context.cpp:217 #, c-format msgid "%s. Drag or click to move in; with Shift to move out." msgstr "%s. Перетащите курсор или щелкните для притягивания, с Shift — для отталкивания объектов." -#: ../src/tweak-context.cpp:216 +#: ../src/tweak-context.cpp:220 #, c-format msgid "%s. Drag or click to move randomly." msgstr "%s. Перетащите курсор или щелкните для случайного перемещения объектов." -#: ../src/tweak-context.cpp:219 +#: ../src/tweak-context.cpp:223 #, c-format msgid "%s. Drag or click to scale down; with Shift to scale up." msgstr "%s. Перетащите курсор или щелкните для уменьшения, с Shift — для увеличения размера объектов." -#: ../src/tweak-context.cpp:222 +#: ../src/tweak-context.cpp:226 #, c-format msgid "%s. Drag or click to rotate clockwise; with Shift, counterclockwise." msgstr "%s. Перетащите курсор или щелкните для вращения объектов по часовой стрелке, с Shift — против часовой стрелки." -#: ../src/tweak-context.cpp:225 +#: ../src/tweak-context.cpp:229 #, c-format msgid "%s. Drag or click to duplicate; with Shift, delete." msgstr "%s. Перетащите курсор или щелкните для дублирования, с Shift — для удаления объектов." -#: ../src/tweak-context.cpp:228 +#: ../src/tweak-context.cpp:232 #, c-format msgid "%s. Drag to push paths." msgstr "%s. Перетащите курсор для выталкивания контуров." -#: ../src/tweak-context.cpp:232 +#: ../src/tweak-context.cpp:236 #, c-format msgid "%s. Drag or click to inset paths; with Shift to outset." msgstr "%s. Перетащите курсор или щелкните для втягивания, с Shift — для растягивания контуров." -#: ../src/tweak-context.cpp:240 +#: ../src/tweak-context.cpp:244 #, c-format msgid "%s. Drag or click to attract paths; with Shift to repel." msgstr "%s. Перетащите курсор или щелкните для притягивания, с Shift — для отталкивания контуров." -#: ../src/tweak-context.cpp:248 +#: ../src/tweak-context.cpp:252 #, c-format msgid "%s. Drag or click to roughen paths." msgstr "%s. Перетащите курсор или щелкните для огрубления контуров." -#: ../src/tweak-context.cpp:252 +#: ../src/tweak-context.cpp:256 #, c-format msgid "%s. Drag or click to paint objects with color." msgstr "%s. Перетащите курсор или щелкните для раскрашивания объектов." -#: ../src/tweak-context.cpp:255 +#: ../src/tweak-context.cpp:259 #, c-format msgid "%s. Drag or click to randomize colors." msgstr "%s. Перетащите курсор или щелкните для перебора цветов заливки объектов." -#: ../src/tweak-context.cpp:1104 +#: ../src/tweak-context.cpp:263 +#, fuzzy, c-format +msgid "%s. Drag or click to increase blur; with Shift to decrease." +msgstr "%s. Перетащите курсор или щелкните для втягивания, с Shift — для растягивания контуров." + +#: ../src/tweak-context.cpp:1179 msgid "Nothing selected! Select objects to tweak." msgstr "Ничего не выделено! Выделите объект(ы) для коррекции." -#: ../src/tweak-context.cpp:1140 +#: ../src/tweak-context.cpp:1215 msgid "Move tweak" msgstr "Перемещение корректором" -#: ../src/tweak-context.cpp:1144 +#: ../src/tweak-context.cpp:1219 msgid "Move in/out tweak" -msgstr "Притягивание и отталкивание корректором" +msgstr "Притягивание/отталкивание объектов" -#: ../src/tweak-context.cpp:1148 +#: ../src/tweak-context.cpp:1223 msgid "Move jitter tweak" msgstr "Случайное перемещение корректором" -#: ../src/tweak-context.cpp:1152 +#: ../src/tweak-context.cpp:1227 msgid "Scale tweak" msgstr "Масштабирование корректором" -#: ../src/tweak-context.cpp:1156 +#: ../src/tweak-context.cpp:1231 msgid "Rotate tweak" msgstr "Вращение корректором" -#: ../src/tweak-context.cpp:1160 +#: ../src/tweak-context.cpp:1235 msgid "Duplicate/delete tweak" -msgstr "Дубликация и удаление корректором" +msgstr "Дубликация/удаление корректором" -#: ../src/tweak-context.cpp:1164 +#: ../src/tweak-context.cpp:1239 msgid "Push path tweak" msgstr "Толкание контуров корректором" -#: ../src/tweak-context.cpp:1168 +#: ../src/tweak-context.cpp:1243 msgid "Shrink/grow path tweak" -msgstr "Сокращение и наращивание контуров" +msgstr "Коррекция объема контуров" -#: ../src/tweak-context.cpp:1172 +#: ../src/tweak-context.cpp:1247 msgid "Attract/repel path tweak" msgstr "Притяжение и отталкивание контуров" -#: ../src/tweak-context.cpp:1176 +#: ../src/tweak-context.cpp:1251 msgid "Roughen path tweak" msgstr "Огрубление контуров корректором" -#: ../src/tweak-context.cpp:1180 +#: ../src/tweak-context.cpp:1255 msgid "Color paint tweak" msgstr "Коррекция заливки цветом" -#: ../src/tweak-context.cpp:1184 +#: ../src/tweak-context.cpp:1259 msgid "Color jitter tweak" msgstr "Коррекция перебором цветов" +#: ../src/tweak-context.cpp:1263 +msgid "Blur tweak" +msgstr "Коррекция размывания" + #. check whether something is selected #: ../src/ui/clipboard.cpp:224 msgid "Nothing was copied." @@ -9183,56 +9192,76 @@ msgid "Clipboard does not contain a path." msgstr "В буфере обмена нет контура" #. Item dialog -#: ../src/ui/context-menu.cpp:100 +#: ../src/ui/context-menu.cpp:105 msgid "Object _Properties" msgstr "_Свойства объекта" #. Select item -#: ../src/ui/context-menu.cpp:110 +#: ../src/ui/context-menu.cpp:115 msgid "_Select This" msgstr "_Выделить это" #. Create link -#: ../src/ui/context-menu.cpp:120 +#: ../src/ui/context-menu.cpp:125 msgid "_Create Link" msgstr "Создать сс_ылку" -#: ../src/ui/context-menu.cpp:177 +#. Set mask +#: ../src/ui/context-menu.cpp:132 +msgid "Set Mask" +msgstr "Применить маску" + +#. Release mask +#: ../src/ui/context-menu.cpp:143 +msgid "Release Mask" +msgstr "Снять маску" + +#. Set Clip +#: ../src/ui/context-menu.cpp:154 +msgid "Set Clip" +msgstr "Применить обтравочный контур" + +#. Release Clip +#: ../src/ui/context-menu.cpp:165 +msgid "Release Clip" +msgstr "Снять обтравочный контур" + +#: ../src/ui/context-menu.cpp:288 msgid "Create link" msgstr "Создание ссылки" #. "Ungroup" -#: ../src/ui/context-menu.cpp:195 -#: ../src/verbs.cpp:2333 +#: ../src/ui/context-menu.cpp:306 +#: ../src/verbs.cpp:2336 msgid "_Ungroup" msgstr "Разгр_уппировать" #. Link dialog -#: ../src/ui/context-menu.cpp:235 +#: ../src/ui/context-menu.cpp:346 msgid "Link _Properties" msgstr "_Свойства ссылки" #. Select item -#: ../src/ui/context-menu.cpp:241 +#: ../src/ui/context-menu.cpp:352 msgid "_Follow Link" msgstr "Перейти по ссылке" #. Reset transformations -#: ../src/ui/context-menu.cpp:246 +#: ../src/ui/context-menu.cpp:357 msgid "_Remove Link" msgstr "_Удалить ссылку" #. Link dialog -#: ../src/ui/context-menu.cpp:294 +#: ../src/ui/context-menu.cpp:405 msgid "Image _Properties" msgstr "_Свойства изображения" -#: ../src/ui/context-menu.cpp:300 +#: ../src/ui/context-menu.cpp:411 msgid "Edit Externally..." msgstr "Изменить извне..." #. Item dialog -#: ../src/ui/context-menu.cpp:393 +#: ../src/ui/context-menu.cpp:504 msgid "_Fill and Stroke" msgstr "_Заливка и обводка" @@ -9285,417 +9314,425 @@ msgstr "" "bulia byak (buliabyak@users.sf.net), 2004.\n" "Alexandre Prokoudine (alexandre.prokoudine@gmail.com), 2004-2008." -#: ../src/ui/dialog/align-and-distribute.cpp:246 -#: ../src/ui/dialog/align-and-distribute.cpp:788 +#: ../src/ui/dialog/align-and-distribute.cpp:247 +#: ../src/ui/dialog/align-and-distribute.cpp:794 msgid "Align" msgstr "Выровнять" -#: ../src/ui/dialog/align-and-distribute.cpp:404 -#: ../src/ui/dialog/align-and-distribute.cpp:789 +#: ../src/ui/dialog/align-and-distribute.cpp:406 +#: ../src/ui/dialog/align-and-distribute.cpp:795 msgid "Distribute" msgstr "Расставить" -#: ../src/ui/dialog/align-and-distribute.cpp:473 +#: ../src/ui/dialog/align-and-distribute.cpp:475 msgid "Minimum horizontal gap (in px units) between bounding boxes" msgstr "Минимальный горизонтальный интервал между рамками (в пикселах)" #. TRANSLATORS: Horizontal gap. Only put "H:" equivalent in the translation -#: ../src/ui/dialog/align-and-distribute.cpp:475 +#: ../src/ui/dialog/align-and-distribute.cpp:477 msgid "gap|H:" msgstr "Г:" -#: ../src/ui/dialog/align-and-distribute.cpp:483 +#: ../src/ui/dialog/align-and-distribute.cpp:485 msgid "Minimum vertical gap (in px units) between bounding boxes" msgstr "Минимальный вертикальный интервал между рамками (в пикселах)" #. TRANSLATORS: Vertical gap -#: ../src/ui/dialog/align-and-distribute.cpp:485 +#: ../src/ui/dialog/align-and-distribute.cpp:487 msgid "V:" msgstr "В:" -#: ../src/ui/dialog/align-and-distribute.cpp:513 -#: ../src/ui/dialog/align-and-distribute.cpp:790 -#: ../src/widgets/toolbox.cpp:6568 +#: ../src/ui/dialog/align-and-distribute.cpp:516 +#: ../src/ui/dialog/align-and-distribute.cpp:796 +#: ../src/widgets/toolbox.cpp:6556 msgid "Remove overlaps" msgstr "Убрать перекрытия" -#: ../src/ui/dialog/align-and-distribute.cpp:543 -#: ../src/widgets/toolbox.cpp:6433 +#: ../src/ui/dialog/align-and-distribute.cpp:547 +#: ../src/widgets/toolbox.cpp:6421 msgid "Arrange connector network" msgstr "Гармоничная расстановка связанных объектов" -#: ../src/ui/dialog/align-and-distribute.cpp:573 +#: ../src/ui/dialog/align-and-distribute.cpp:578 msgid "Unclump" msgstr "Разровнять" -#: ../src/ui/dialog/align-and-distribute.cpp:643 +#: ../src/ui/dialog/align-and-distribute.cpp:649 msgid "Randomize positions" msgstr "Случайное расположение объектов" -#: ../src/ui/dialog/align-and-distribute.cpp:740 +#: ../src/ui/dialog/align-and-distribute.cpp:746 msgid "Distribute text baselines" msgstr "Расстановка линий шрифта текста" -#: ../src/ui/dialog/align-and-distribute.cpp:760 +#: ../src/ui/dialog/align-and-distribute.cpp:766 msgid "Align text baselines" msgstr "Выравнивание линий шрифта текста" -#: ../src/ui/dialog/align-and-distribute.cpp:791 +#: ../src/ui/dialog/align-and-distribute.cpp:797 msgid "Connector network layout" msgstr "Внешний вид блок-схем" -#: ../src/ui/dialog/align-and-distribute.cpp:792 +#: ../src/ui/dialog/align-and-distribute.cpp:798 msgid "Nodes" msgstr "Узлы" -#: ../src/ui/dialog/align-and-distribute.cpp:798 +#: ../src/ui/dialog/align-and-distribute.cpp:804 msgid "Relative to: " msgstr "Ориентир: " -#: ../src/ui/dialog/align-and-distribute.cpp:799 +#: ../src/ui/dialog/align-and-distribute.cpp:805 msgid "Treat selection as group: " msgstr "Считать выделение группой:" -#: ../src/ui/dialog/align-and-distribute.cpp:804 +#: ../src/ui/dialog/align-and-distribute.cpp:811 msgid "Align right sides of objects to left side of anchor" msgstr "Правые края объектов к левому краю якоря" -#: ../src/ui/dialog/align-and-distribute.cpp:807 +#: ../src/ui/dialog/align-and-distribute.cpp:814 msgid "Align left sides" msgstr "Выровнять по левым краям" -#: ../src/ui/dialog/align-and-distribute.cpp:810 +#: ../src/ui/dialog/align-and-distribute.cpp:817 msgid "Center on vertical axis" msgstr "Центрировать на вертикальной оси" -#: ../src/ui/dialog/align-and-distribute.cpp:813 +#: ../src/ui/dialog/align-and-distribute.cpp:820 msgid "Align right sides" msgstr "Выровнять по правым краям" -#: ../src/ui/dialog/align-and-distribute.cpp:816 +#: ../src/ui/dialog/align-and-distribute.cpp:823 msgid "Align left sides of objects to right side of anchor" msgstr "Левые края объектов к правому краю якоря" -#: ../src/ui/dialog/align-and-distribute.cpp:819 +#: ../src/ui/dialog/align-and-distribute.cpp:826 msgid "Align bottoms of objects to top of anchor" msgstr "Нижние края объектов к верхнему краю якоря" -#: ../src/ui/dialog/align-and-distribute.cpp:822 +#: ../src/ui/dialog/align-and-distribute.cpp:829 msgid "Align tops" msgstr "Выровнять по верхним краям" -#: ../src/ui/dialog/align-and-distribute.cpp:825 +#: ../src/ui/dialog/align-and-distribute.cpp:832 msgid "Center on horizontal axis" msgstr "Центрировать на горизонтальной оси" -#: ../src/ui/dialog/align-and-distribute.cpp:828 +#: ../src/ui/dialog/align-and-distribute.cpp:835 msgid "Align bottoms" msgstr "Выровнять по нижним краям" -#: ../src/ui/dialog/align-and-distribute.cpp:831 +#: ../src/ui/dialog/align-and-distribute.cpp:838 msgid "Align tops of objects to bottom of anchor" msgstr "Верхние края объектов к нижнему краю якоря" -#: ../src/ui/dialog/align-and-distribute.cpp:836 +#: ../src/ui/dialog/align-and-distribute.cpp:843 msgid "Align baseline anchors of texts vertically" msgstr "Выровнять текстовые опорные точки по вертикали" -#: ../src/ui/dialog/align-and-distribute.cpp:839 +#: ../src/ui/dialog/align-and-distribute.cpp:846 msgid "Align baseline anchors of texts horizontally" msgstr "Выровнять текстовые опорные точки по горизонтали" -#: ../src/ui/dialog/align-and-distribute.cpp:844 +#: ../src/ui/dialog/align-and-distribute.cpp:851 msgid "Make horizontal gaps between objects equal" msgstr "Выровнять интервалы между объектами по горизонтали" -#: ../src/ui/dialog/align-and-distribute.cpp:848 +#: ../src/ui/dialog/align-and-distribute.cpp:855 msgid "Distribute left sides equidistantly" msgstr "Равноудаленно расставить левые края объектов" -#: ../src/ui/dialog/align-and-distribute.cpp:851 +#: ../src/ui/dialog/align-and-distribute.cpp:858 msgid "Distribute centers equidistantly horizontally" msgstr "Равноудаленно расставить центры объектов по горизонтали" -#: ../src/ui/dialog/align-and-distribute.cpp:854 +#: ../src/ui/dialog/align-and-distribute.cpp:861 msgid "Distribute right sides equidistantly" msgstr "Равноудаленно расставить правые края объектов" -#: ../src/ui/dialog/align-and-distribute.cpp:858 +#: ../src/ui/dialog/align-and-distribute.cpp:865 msgid "Make vertical gaps between objects equal" msgstr "Выравнять интервалы между объектами по вертикали" -#: ../src/ui/dialog/align-and-distribute.cpp:862 +#: ../src/ui/dialog/align-and-distribute.cpp:869 msgid "Distribute tops equidistantly" msgstr "Равноудаленно расставить верхние края" -#: ../src/ui/dialog/align-and-distribute.cpp:865 +#: ../src/ui/dialog/align-and-distribute.cpp:872 msgid "Distribute centers equidistantly vertically" msgstr "Равноудаленно расставить центры объектов по вертикали" -#: ../src/ui/dialog/align-and-distribute.cpp:868 +#: ../src/ui/dialog/align-and-distribute.cpp:875 msgid "Distribute bottoms equidistantly" msgstr "Равноудаленно расставить нижние края объектов" -#: ../src/ui/dialog/align-and-distribute.cpp:873 +#: ../src/ui/dialog/align-and-distribute.cpp:880 msgid "Distribute baseline anchors of texts horizontally" msgstr "Распределить текстовые опорные точки по горизонтали" -#: ../src/ui/dialog/align-and-distribute.cpp:876 +#: ../src/ui/dialog/align-and-distribute.cpp:883 msgid "Distribute baseline anchors of texts vertically" msgstr "Распределить текстовые опорные точки по вертикали" -#: ../src/ui/dialog/align-and-distribute.cpp:881 +#: ../src/ui/dialog/align-and-distribute.cpp:888 msgid "Randomize centers in both dimensions" msgstr "Случайным образом расставить центры" -#: ../src/ui/dialog/align-and-distribute.cpp:884 +#: ../src/ui/dialog/align-and-distribute.cpp:891 msgid "Unclump objects: try to equalize edge-to-edge distances" msgstr "Попробовать выравнять расстояния между краями объектов" -#: ../src/ui/dialog/align-and-distribute.cpp:889 +#: ../src/ui/dialog/align-and-distribute.cpp:896 msgid "Move objects as little as possible so that their bounding boxes do not overlap" msgstr "Переместить объекты так, чтобы их рамки едва-едва не пересекались" -#: ../src/ui/dialog/align-and-distribute.cpp:893 -#: ../src/widgets/toolbox.cpp:6531 +#: ../src/ui/dialog/align-and-distribute.cpp:900 +#: ../src/widgets/toolbox.cpp:6519 msgid "Nicely arrange selected connector network" msgstr "Гармонично расставить связанные коннектором объекты" -#: ../src/ui/dialog/align-and-distribute.cpp:898 +#: ../src/ui/dialog/align-and-distribute.cpp:905 msgid "Align selected nodes horizontally" msgstr "Выровнять выделенные узлы по горизонтали" -#: ../src/ui/dialog/align-and-distribute.cpp:901 +#: ../src/ui/dialog/align-and-distribute.cpp:908 msgid "Align selected nodes vertically" msgstr "Выровнять выделенные узлы по вертикали" -#: ../src/ui/dialog/align-and-distribute.cpp:904 +#: ../src/ui/dialog/align-and-distribute.cpp:911 msgid "Distribute selected nodes horizontally" msgstr "Распределить выделенные узлы по горизонтали" -#: ../src/ui/dialog/align-and-distribute.cpp:907 +#: ../src/ui/dialog/align-and-distribute.cpp:914 msgid "Distribute selected nodes vertically" msgstr "Распределить выделенные узлы по вертикали" #. Rest of the widgetry -#: ../src/ui/dialog/align-and-distribute.cpp:912 +#: ../src/ui/dialog/align-and-distribute.cpp:919 msgid "Last selected" msgstr "Последний выделенный" -#: ../src/ui/dialog/align-and-distribute.cpp:913 +#: ../src/ui/dialog/align-and-distribute.cpp:920 msgid "First selected" msgstr "Первый выделенный" -#: ../src/ui/dialog/align-and-distribute.cpp:914 +#: ../src/ui/dialog/align-and-distribute.cpp:921 msgid "Biggest item" msgstr "Наибольший объект" -#: ../src/ui/dialog/align-and-distribute.cpp:915 +#: ../src/ui/dialog/align-and-distribute.cpp:922 msgid "Smallest item" msgstr "Наименьший объект" -#: ../src/ui/dialog/align-and-distribute.cpp:917 +#: ../src/ui/dialog/align-and-distribute.cpp:924 #: ../src/widgets/desktop-widget.cpp:1548 msgid "Drawing" msgstr "Рисунок" -#: ../src/ui/dialog/document-metadata.cpp:79 +#: ../src/ui/dialog/document-metadata.cpp:77 msgid "Metadata" msgstr "Метаданные" -#: ../src/ui/dialog/document-metadata.cpp:80 +#: ../src/ui/dialog/document-metadata.cpp:78 msgid "License" msgstr "Лицензия" -#: ../src/ui/dialog/document-metadata.cpp:160 +#: ../src/ui/dialog/document-metadata.cpp:158 msgid "Dublin Core Entities" msgstr "Сущности Dublin Core" -#: ../src/ui/dialog/document-metadata.cpp:182 +#: ../src/ui/dialog/document-metadata.cpp:180 msgid "License" msgstr "Лицензия" #. --------------------------------------------------------------- -#: ../src/ui/dialog/document-properties.cpp:88 +#: ../src/ui/dialog/document-properties.cpp:87 msgid "Show page _border" msgstr "Показывать ка_йму холста" -#: ../src/ui/dialog/document-properties.cpp:88 +#: ../src/ui/dialog/document-properties.cpp:87 msgid "If set, rectangular page border is shown" msgstr "Если включено, отображается прямоугольная кайма холста" -#: ../src/ui/dialog/document-properties.cpp:89 +#: ../src/ui/dialog/document-properties.cpp:88 msgid "Border on _top of drawing" msgstr "Кайма над р_исунком" -#: ../src/ui/dialog/document-properties.cpp:89 +#: ../src/ui/dialog/document-properties.cpp:88 msgid "If set, border is always on top of the drawing" msgstr "Если включено, кайма всегда над холстом" -#: ../src/ui/dialog/document-properties.cpp:90 +#: ../src/ui/dialog/document-properties.cpp:89 msgid "_Show border shadow" msgstr "Показать _тень каймы" -#: ../src/ui/dialog/document-properties.cpp:90 +#: ../src/ui/dialog/document-properties.cpp:89 msgid "If set, page border shows a shadow on its right and lower side" msgstr "Если включено, кайма холста отбрасывает тень вправо и вниз" -#: ../src/ui/dialog/document-properties.cpp:91 +#: ../src/ui/dialog/document-properties.cpp:90 msgid "Back_ground:" msgstr "_Фон:" -#: ../src/ui/dialog/document-properties.cpp:91 +#: ../src/ui/dialog/document-properties.cpp:90 msgid "Background color" msgstr "Цвет фона" -#: ../src/ui/dialog/document-properties.cpp:91 +#: ../src/ui/dialog/document-properties.cpp:90 msgid "Color and transparency of the page background (also used for bitmap export)" msgstr "Цвет и прозрачность фона страницы (важно учитывать при экспорте в растр)" -#: ../src/ui/dialog/document-properties.cpp:92 +#: ../src/ui/dialog/document-properties.cpp:91 msgid "Border _color:" msgstr "Цвет _каймы:" -#: ../src/ui/dialog/document-properties.cpp:92 +#: ../src/ui/dialog/document-properties.cpp:91 msgid "Page border color" msgstr "Цвет каймы холста" -#: ../src/ui/dialog/document-properties.cpp:92 +#: ../src/ui/dialog/document-properties.cpp:91 msgid "Color of the page border" msgstr "Цвет каймы холста" -#: ../src/ui/dialog/document-properties.cpp:93 +#: ../src/ui/dialog/document-properties.cpp:92 msgid "Default _units:" msgstr "_Единица измерения:" #. --------------------------------------------------------------- #. General snap options -#: ../src/ui/dialog/document-properties.cpp:97 +#: ../src/ui/dialog/document-properties.cpp:96 msgid "Show _guides" msgstr "Показывать н_аправляющие" -#: ../src/ui/dialog/document-properties.cpp:97 +#: ../src/ui/dialog/document-properties.cpp:96 msgid "Show or hide guides" msgstr "Показать или скрыть направляющие" -#: ../src/ui/dialog/document-properties.cpp:98 +#: ../src/ui/dialog/document-properties.cpp:97 msgid "_Snap guides while dragging" msgstr "_Направляющие прилипают при перетаскивании" -#: ../src/ui/dialog/document-properties.cpp:98 +#: ../src/ui/dialog/document-properties.cpp:97 msgid "While dragging a guide, snap to object nodes or bounding box corners ('Snap to nodes' or 'snap to bounding box corners' must be enabled in the 'Snap' tab; only a small part of the guide near the cursor will snap)" msgstr "При перетаскивании направляющая будет прилипать к узлам и площадкам (BB) объектов (для этого должны быть включены параметры «Прилипать к узлам» и «Прилипать к углам площадок», лишь небольшая часть направляющей рядом с курсором будет прилипать)" -#: ../src/ui/dialog/document-properties.cpp:100 +#: ../src/ui/dialog/document-properties.cpp:99 msgid "Guide co_lor:" msgstr "Цв_ет направляющей:" -#: ../src/ui/dialog/document-properties.cpp:100 +#: ../src/ui/dialog/document-properties.cpp:99 msgid "Guideline color" msgstr "Цвет направляющей" -#: ../src/ui/dialog/document-properties.cpp:100 +#: ../src/ui/dialog/document-properties.cpp:99 msgid "Color of guidelines" msgstr "Цвет направляющих линий" -#: ../src/ui/dialog/document-properties.cpp:101 +#: ../src/ui/dialog/document-properties.cpp:100 msgid "_Highlight color:" msgstr "По_дсветка:" -#: ../src/ui/dialog/document-properties.cpp:101 +#: ../src/ui/dialog/document-properties.cpp:100 msgid "Highlighted guideline color" msgstr "Цвет подсвеченной направляющей" -#: ../src/ui/dialog/document-properties.cpp:101 +#: ../src/ui/dialog/document-properties.cpp:100 msgid "Color of a guideline when it is under mouse" msgstr "Цвет направляющей линии в момент её нахождения под курсором" #. --------------------------------------------------------------- -#: ../src/ui/dialog/document-properties.cpp:103 +#: ../src/ui/dialog/document-properties.cpp:102 msgid "_Enable snapping" msgstr "_Включить прилипание" -#: ../src/ui/dialog/document-properties.cpp:103 -#: ../src/verbs.cpp:2560 +#: ../src/ui/dialog/document-properties.cpp:102 +#: ../src/verbs.cpp:2563 msgid "Toggle snapping on or off" msgstr "Включить или выключить прилипание" -#: ../src/ui/dialog/document-properties.cpp:104 +#: ../src/ui/dialog/document-properties.cpp:103 msgid "_Enable snap indicator" msgstr "_Показывать индикатор прилипания" -#: ../src/ui/dialog/document-properties.cpp:104 +#: ../src/ui/dialog/document-properties.cpp:103 msgid "After snapping, a symbol is drawn at the point that has snapped" msgstr "" -#: ../src/ui/dialog/document-properties.cpp:105 +#: ../src/ui/dialog/document-properties.cpp:104 msgid "_Bounding box corners" msgstr "У_глы площадки (BB)" -#: ../src/ui/dialog/document-properties.cpp:105 +#: ../src/ui/dialog/document-properties.cpp:104 msgid "Only available in the selector tool: snap bounding box corners to guides, to grids, and to other bounding boxes (but not to nodes or paths)" msgstr "Работает только для Селектора: прилипание площадки к направляющим, сетке и другим площадкам (но не к узлам или контурам)" -#: ../src/ui/dialog/document-properties.cpp:107 +#: ../src/ui/dialog/document-properties.cpp:106 msgid "_Nodes" msgstr "_Узлы" -#: ../src/ui/dialog/document-properties.cpp:107 +#: ../src/ui/dialog/document-properties.cpp:106 msgid "Snap nodes (e.g. path nodes, special points in shapes, gradient handles, text base points, transformation origins, etc.) to guides, to grids, to paths and to other nodes" msgstr "Узлы (т.е. узлы контуров, управляющие ручки фигур, опорные точки градиентов, якорные точки текста и т.д.) прилипают направляющим, к линиям сетки, к контурам и к другим узлам" #. Options for snapping to objects -#: ../src/ui/dialog/document-properties.cpp:110 +#: ../src/ui/dialog/document-properties.cpp:109 msgid "Snap to path_s" msgstr "Прилипать к _контурам" -#: ../src/ui/dialog/document-properties.cpp:110 +#: ../src/ui/dialog/document-properties.cpp:109 msgid "Snap nodes to object paths" msgstr "Узлы прилипают к объектам" -#: ../src/ui/dialog/document-properties.cpp:111 +#: ../src/ui/dialog/document-properties.cpp:110 msgid "Snap to n_odes" msgstr "Прилипать к у_злам" -#: ../src/ui/dialog/document-properties.cpp:111 +#: ../src/ui/dialog/document-properties.cpp:110 msgid "Snap nodes and guides to object nodes" msgstr "Узлы и направляющие прилипают к узлам объектов" -#: ../src/ui/dialog/document-properties.cpp:112 +#: ../src/ui/dialog/document-properties.cpp:111 msgid "Snap to bounding bo_x edges" msgstr "Прилипать к краям пло_щадок" -#: ../src/ui/dialog/document-properties.cpp:112 +#: ../src/ui/dialog/document-properties.cpp:111 msgid "Snap bounding box corners and guides to bounding box edges" msgstr "Углы площадок и направляющие прилипают к краям площадок" -#: ../src/ui/dialog/document-properties.cpp:113 +#: ../src/ui/dialog/document-properties.cpp:112 msgid "Snap to bounding box co_rners" msgstr "Прилипать к углам _площадок" -#: ../src/ui/dialog/document-properties.cpp:113 +#: ../src/ui/dialog/document-properties.cpp:112 msgid "Snap bounding box corners to other bounding box corners" msgstr "Углы площадок прилипают к углам других площадок" -#: ../src/ui/dialog/document-properties.cpp:114 +#: ../src/ui/dialog/document-properties.cpp:113 msgid "Snap to page border" msgstr "Прилипать к краю страницы" -#: ../src/ui/dialog/document-properties.cpp:114 +#: ../src/ui/dialog/document-properties.cpp:113 #, fuzzy msgid "Snap bounding box corners and nodes to the page border" msgstr "Углы площадок и направляющие прилипают к краям площадок" #. --------------------------------------------------------------- #. Applies to both nodes and guides, but not to bboxes, that's why its located here -#: ../src/ui/dialog/document-properties.cpp:117 +#: ../src/ui/dialog/document-properties.cpp:116 msgid "Rotation _center" msgstr "_Центр вращения" -#: ../src/ui/dialog/document-properties.cpp:117 +#: ../src/ui/dialog/document-properties.cpp:116 msgid "Consider the rotation center of an object when snapping" msgstr "Прилипать к центру вращения объекта" +#: ../src/ui/dialog/document-properties.cpp:117 +msgid "_Smooth nodes" +msgstr "_Сглаженные узлы" + +#: ../src/ui/dialog/document-properties.cpp:117 +msgid "Snap to smooth nodes too, instead of only snapping to cusp nodes" +msgstr "" + #: ../src/ui/dialog/document-properties.cpp:118 msgid "_Grid with guides" msgstr "С_етки с направляющими" @@ -9729,133 +9766,133 @@ msgstr "_Удалить" msgid "Remove selected grid." msgstr "Удалить выделенную сетку" -#: ../src/ui/dialog/document-properties.cpp:135 +#: ../src/ui/dialog/document-properties.cpp:134 msgid "Guides" msgstr "Направляющие" -#: ../src/ui/dialog/document-properties.cpp:136 -#: ../src/ui/dialog/inkscape-preferences.cpp:924 +#: ../src/ui/dialog/document-properties.cpp:135 +#: ../src/ui/dialog/inkscape-preferences.cpp:958 msgid "Grids" msgstr "Сетки" -#: ../src/ui/dialog/document-properties.cpp:137 -#: ../src/verbs.cpp:2560 +#: ../src/ui/dialog/document-properties.cpp:136 +#: ../src/verbs.cpp:2563 msgid "Snap" msgstr "Прилипание" -#: ../src/ui/dialog/document-properties.cpp:138 +#: ../src/ui/dialog/document-properties.cpp:137 msgid "Snap points" msgstr "Точки" -#: ../src/ui/dialog/document-properties.cpp:233 +#: ../src/ui/dialog/document-properties.cpp:232 msgid "General" msgstr "Общие" -#: ../src/ui/dialog/document-properties.cpp:235 +#: ../src/ui/dialog/document-properties.cpp:234 msgid "Border" msgstr "Кайма" -#: ../src/ui/dialog/document-properties.cpp:237 +#: ../src/ui/dialog/document-properties.cpp:236 msgid "Format" msgstr "Формат" -#: ../src/ui/dialog/document-properties.cpp:265 +#: ../src/ui/dialog/document-properties.cpp:264 msgid "Guides" msgstr "Направляющие" -#: ../src/ui/dialog/document-properties.cpp:284 +#: ../src/ui/dialog/document-properties.cpp:283 msgid "Snap _distance" msgstr "Радиус _прилипания" -#: ../src/ui/dialog/document-properties.cpp:284 +#: ../src/ui/dialog/document-properties.cpp:283 msgid "Snap only when _closer than:" msgstr "Прилипать _только если ближе чем:" -#: ../src/ui/dialog/document-properties.cpp:284 -#: ../src/ui/dialog/document-properties.cpp:290 -#: ../src/ui/dialog/document-properties.cpp:296 +#: ../src/ui/dialog/document-properties.cpp:283 +#: ../src/ui/dialog/document-properties.cpp:289 +#: ../src/ui/dialog/document-properties.cpp:295 msgid "Always snap" msgstr "Всегда прилипать" -#: ../src/ui/dialog/document-properties.cpp:285 +#: ../src/ui/dialog/document-properties.cpp:284 msgid "Snapping distance, in screen pixels, for snapping to objects" msgstr "Зона прилипания к объектам, в экранных пикселах" -#: ../src/ui/dialog/document-properties.cpp:285 +#: ../src/ui/dialog/document-properties.cpp:284 msgid "Always snap to objects, regardless of their distance" msgstr "Всегда прилипать к объектам вне зависимости от расстояния до них" -#: ../src/ui/dialog/document-properties.cpp:286 +#: ../src/ui/dialog/document-properties.cpp:285 msgid "If set, objects only snap to another object when it's within the range specified below" msgstr "Если включено, объекты прилипают к другим объектам только на указанном минимальном расстоянии" #. Options for snapping to grids -#: ../src/ui/dialog/document-properties.cpp:290 +#: ../src/ui/dialog/document-properties.cpp:289 msgid "Snap d_istance" msgstr "Радиус _прилипания" -#: ../src/ui/dialog/document-properties.cpp:290 +#: ../src/ui/dialog/document-properties.cpp:289 msgid "Snap only when c_loser than:" msgstr "Прилипать только _если ближе чем:" -#: ../src/ui/dialog/document-properties.cpp:291 +#: ../src/ui/dialog/document-properties.cpp:290 msgid "Snapping distance, in screen pixels, for snapping to grid" msgstr "Зона прилипания к сетке, в экранных точках" -#: ../src/ui/dialog/document-properties.cpp:291 +#: ../src/ui/dialog/document-properties.cpp:290 msgid "Always snap to grids, regardless of the distance" msgstr "Всегда прилипать к сеткам вне зависимости от расстояния до их линий" -#: ../src/ui/dialog/document-properties.cpp:292 +#: ../src/ui/dialog/document-properties.cpp:291 msgid "If set, objects only snap to a grid line when it's within the range specified below" msgstr "Если включено, объекты прилипают к линиям сетки только на указанном минимальном расстоянии" #. Options for snapping to guides -#: ../src/ui/dialog/document-properties.cpp:296 +#: ../src/ui/dialog/document-properties.cpp:295 msgid "Snap dist_ance" msgstr "Радиус _прилипания" -#: ../src/ui/dialog/document-properties.cpp:296 +#: ../src/ui/dialog/document-properties.cpp:295 msgid "Snap only when close_r than:" msgstr "Прилипать только если _ближе чем:" -#: ../src/ui/dialog/document-properties.cpp:297 +#: ../src/ui/dialog/document-properties.cpp:296 msgid "Snapping distance, in screen pixels, for snapping to guides" msgstr "Зона прилипания к направляющим, в экранных точках" -#: ../src/ui/dialog/document-properties.cpp:297 +#: ../src/ui/dialog/document-properties.cpp:296 msgid "Always snap to guides, regardless of the distance" msgstr "Всегда прилипать к направляющим вне зависимости от расстояния до них" -#: ../src/ui/dialog/document-properties.cpp:298 +#: ../src/ui/dialog/document-properties.cpp:297 msgid "If set, objects only snap to a guide when it's within the range specified below" msgstr "Если включено, объекты прилипают к направляющим только на указанном минимальном расстоянии" -#: ../src/ui/dialog/document-properties.cpp:321 +#: ../src/ui/dialog/document-properties.cpp:320 msgid "Snapping" msgstr "Прилипание" -#: ../src/ui/dialog/document-properties.cpp:323 +#: ../src/ui/dialog/document-properties.cpp:322 msgid "What snaps" msgstr "Что прилипает" -#: ../src/ui/dialog/document-properties.cpp:325 +#: ../src/ui/dialog/document-properties.cpp:324 msgid "Snap to objects" msgstr "Прилипание к объектам" -#: ../src/ui/dialog/document-properties.cpp:327 +#: ../src/ui/dialog/document-properties.cpp:326 msgid "Snap to grids" msgstr "Прилипание к сеткам" -#: ../src/ui/dialog/document-properties.cpp:329 +#: ../src/ui/dialog/document-properties.cpp:328 msgid "Snap to guides" msgstr "Прилипание к направляющим" -#: ../src/ui/dialog/document-properties.cpp:367 +#: ../src/ui/dialog/document-properties.cpp:366 msgid "Snapping to intersections of" msgstr "Прилипание к пересечениям" -#: ../src/ui/dialog/document-properties.cpp:369 +#: ../src/ui/dialog/document-properties.cpp:368 msgid "Special points to consider" msgstr "Какие спецточки учитывать" @@ -9867,7 +9904,7 @@ msgstr "Создание" msgid "Defined grids" msgstr "Определённые пользователем сетки" -#: ../src/ui/dialog/document-properties.cpp:656 +#: ../src/ui/dialog/document-properties.cpp:657 msgid "Remove grid" msgstr "Удаление сетки" @@ -9876,6 +9913,7 @@ msgid "Information" msgstr "Информация" #: ../src/ui/dialog/extension-editor.cpp:81 +#: ../share/extensions/draw_from_triangle.inx.h:20 #: ../share/extensions/lindenmayer.inx.h:3 #: ../share/extensions/measure.inx.h:2 msgid "Help" @@ -9885,11 +9923,11 @@ msgstr "Справка" msgid "Parameters" msgstr "Параметры" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:382 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:383 msgid "No preview" msgstr "Без предпросмотра" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:488 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:489 msgid "too large for preview" msgstr "Слишком велик для просмотра" @@ -9899,13 +9937,13 @@ msgstr "Включить предпросмотр" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:711 #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:712 -#: ../src/ui/dialog/filedialogimpl-win32.cpp:199 +#: ../src/ui/dialog/filedialogimpl-win32.cpp:198 msgid "All Inkscape Files" msgstr "Все файлы Inkscape" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:716 #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:717 -#: ../src/ui/dialog/filedialogimpl-win32.cpp:198 +#: ../src/ui/dialog/filedialogimpl-win32.cpp:197 msgid "All Files" msgstr "Все файлы" @@ -9914,54 +9952,51 @@ msgstr "Все файлы" msgid "All Images" msgstr "Все изображения" -#. ###### Add the file types menu -#. createFilterMenu(); -#. ###### Do we want the .xxx extension automatically added? #. ###### File options #. ###### Do we want the .xxx extension automatically added? -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:890 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1432 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:891 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1429 msgid "Append filename extension automatically" msgstr "Автоматически добавить расширение файла" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1045 -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1297 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1293 msgid "Guess from extension" msgstr "Угадать по расширению" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1318 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1314 msgid "Left edge of source" msgstr "Исходный левый край" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1319 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1315 msgid "Top edge of source" msgstr "Исходный правый край" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1320 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1316 msgid "Right edge of source" msgstr "Исходный правый край" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1321 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1317 msgid "Bottom edge of source" msgstr "Исходный нижний край" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1322 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1318 msgid "Source width" msgstr "Исходная ширина" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1323 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1319 msgid "Source height" msgstr "Исходная высота" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1324 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1320 msgid "Destination width" msgstr "Конечная ширина" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1325 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1321 msgid "Destination height" msgstr "Конечная высота" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1326 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1322 msgid "Resolution (dots per inch)" msgstr "Разрешение (в точках на дюйм)" @@ -9969,52 +10004,52 @@ msgstr "Разрешение (в точках на дюйм)" #. ## EXTRA WIDGET -- SOURCE SIDE #. ######################################### #. ##### Export options buttons/spinners, etc -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1363 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1360 msgid "Document" msgstr "Документ" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1375 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1372 #: ../share/extensions/color_custom.inx.h:3 msgid "Custom" msgstr "Другой" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1415 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1412 msgid "Cairo" msgstr "Cairo" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1418 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1415 msgid "Antialias" msgstr "Сглаживать" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1421 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1418 msgid "Background" msgstr "Фон" -#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1444 +#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1441 msgid "Destination" msgstr "Назначение" -#: ../src/ui/dialog/filedialogimpl-win32.cpp:200 +#: ../src/ui/dialog/filedialogimpl-win32.cpp:199 msgid "All Image Files" msgstr "Все файлы изображений" -#: ../src/ui/dialog/filedialogimpl-win32.cpp:429 +#: ../src/ui/dialog/filedialogimpl-win32.cpp:428 msgid "Show Preview" msgstr "Предпросмотр" -#: ../src/ui/dialog/filedialogimpl-win32.cpp:565 +#: ../src/ui/dialog/filedialogimpl-win32.cpp:564 msgid "No file selected" msgstr "Ни один файл не выбран" -#: ../src/ui/dialog/fill-and-stroke.cpp:53 +#: ../src/ui/dialog/fill-and-stroke.cpp:50 msgid "Fill" msgstr "Заливка" -#: ../src/ui/dialog/fill-and-stroke.cpp:54 +#: ../src/ui/dialog/fill-and-stroke.cpp:51 msgid "Stroke _paint" msgstr "Об_водка" -#: ../src/ui/dialog/fill-and-stroke.cpp:55 +#: ../src/ui/dialog/fill-and-stroke.cpp:52 msgid "Stroke st_yle" msgstr "_Стиль обводки" @@ -10102,289 +10137,289 @@ msgstr "Угол конуса" msgid "This is the angle between the spot light axis (i.e. the axis between the light source and the point to which it is pointing at) and the spot light cone. No light is projected outside this cone." msgstr "Угол между осью источника света (т.е. осью, проходящей через источник света и точку, на которую он указывает) и конусом прожектора. За пределы конуса свет не проецируется." -#: ../src/ui/dialog/filter-effects-dialog.cpp:1068 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1069 msgid "New light source" msgstr "Новый источник света" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1109 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1110 msgid "_Duplicate" msgstr "_Продублировать" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1135 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1136 msgid "_Filter" msgstr "_Фильтры" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1149 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1150 msgid "R_ename" msgstr "Пере_именовать" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1243 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1244 msgid "Rename filter" msgstr "Переименовать фильтр" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1279 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1280 msgid "Apply filter" msgstr "Применение фильтра" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1355 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1356 msgid "Add filter" msgstr "Добавление фильтра" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1381 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1382 msgid "Duplicate filter" msgstr "Дублирование фильтра" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1448 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1449 msgid "_Effect" msgstr "Эффе_кт" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1456 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1457 msgid "Connections" msgstr "Cоединения" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1572 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1573 msgid "Remove filter primitive" msgstr "Удаление примитива фильтра" -#: ../src/ui/dialog/filter-effects-dialog.cpp:1944 +#: ../src/ui/dialog/filter-effects-dialog.cpp:1945 msgid "Remove merge node" msgstr "Удалить объединяющий узел" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2060 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2061 msgid "Reorder filter primitive" msgstr "Смена порядка примитивов фильтра" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2094 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2095 msgid "Add Effect:" msgstr "Добавить:" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2095 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2096 msgid "No effect selected" msgstr "Ни один эффект не выбран" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2096 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2097 msgid "No filter selected" msgstr "Ни один фильтр не выбран" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2134 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2135 msgid "Effect parameters" msgstr "Параметры эффекта" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2135 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2136 msgid "Filter General Settings" msgstr "Общие параметры фильтра" #. default x: #. default y: -#: ../src/ui/dialog/filter-effects-dialog.cpp:2191 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2192 msgid "Coordinates" msgstr "Координаты" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2191 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2192 msgid "X coordinate of the left corners of filter effects region" msgstr "Координата X левых углов области действия фильтра эффектов" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2191 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2192 msgid "Y coordinate of the upper corners of filter effects region" msgstr "Координата X верхних углов области действия фильтра эффектов" #. default width: #. default height: -#: ../src/ui/dialog/filter-effects-dialog.cpp:2192 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2193 #: ../share/extensions/dimension.inx.h:1 msgid "Dimensions" msgstr "Размеры" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2192 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2193 msgid "Width of filter effects region" msgstr "Ширина области действия фильтра эффектов" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2192 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2193 msgid "Height of filter effects region" msgstr "Высота области действия фильтра эффектов" #. # end multiple scan #. ## end mode page -#: ../src/ui/dialog/filter-effects-dialog.cpp:2195 -#: ../src/ui/dialog/tracedialog.cpp:553 -#: ../src/widgets/toolbox.cpp:3777 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2196 +#: ../src/ui/dialog/tracedialog.cpp:552 +#: ../src/widgets/toolbox.cpp:3768 #: ../share/extensions/triangle.inx.h:9 msgid "Mode" msgstr "Режим" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2198 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2199 msgid "Indicates the type of matrix operation. The keyword 'matrix' indicates that a full 5x4 matrix of values will be provided. The other keywords represent convenience shortcuts to allow commonly used color operations to be performed without specifying a complete matrix." msgstr "Тип матричной операции. Слово «матрица» означает, что будет предоставлена полная матрица значений размером 5×4. Остальные варианты — это простой способ выполнить наиболее популярные операции, не задавая все значения матрицы вручную." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2199 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2200 msgid "Value(s)" msgstr "Значение(-я)" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2213 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2254 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2214 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2255 msgid "Operator" msgstr "Оператор" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2214 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2215 msgid "K1" msgstr "K1" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2214 #: ../src/ui/dialog/filter-effects-dialog.cpp:2215 #: ../src/ui/dialog/filter-effects-dialog.cpp:2216 #: ../src/ui/dialog/filter-effects-dialog.cpp:2217 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2218 msgid "If the arithmetic operation is chosen, each result pixel is computed using the formula k1*i1*i2 + k2*i1 + k3*i2 + k4 where i1 and i2 are the pixel values of the first and second inputs respectively." msgstr "Если выбран арифметический оператор, каждый получаемый пиксел вычисляется по формуле k1*i1*i2 + k2*i1 + k3*i2 + k4, где i1 и i2 — пикселы первого и второго входов соответственно." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2215 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2216 msgid "K2" msgstr "K2" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2216 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2217 msgid "K3" msgstr "K3" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2217 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2218 msgid "K4" msgstr "K4" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2220 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2221 msgid "width of the convolve matrix" msgstr "Ширина матрицы свёртки" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2220 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2221 msgid "height of the convolve matrix" msgstr "Высота матрицы свёртки" #. default x: #. default y: -#: ../src/ui/dialog/filter-effects-dialog.cpp:2221 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2222 msgid "Target" msgstr "Цель" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2221 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2222 msgid "X coordinate of the target point in the convolve matrix. The convolution is applied to pixels around this point." msgstr "Координата X конечной точки матрицы свертки. Свертка применяется к пикселам вокруг этой точки." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2221 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2222 msgid "Y coordinate of the target point in the convolve matrix. The convolution is applied to pixels around this point." msgstr "Координата Y конечной точки матрицы свертки. Свертка применяется к пикселам вокруг этой точки." #. TRANSLATORS: for info on "Kernel", see http://en.wikipedia.org/wiki/Kernel_(matrix) -#: ../src/ui/dialog/filter-effects-dialog.cpp:2223 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2224 msgid "Kernel" msgstr "Ядро" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2223 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2224 msgid "This matrix describes the convolve operation that is applied to the input image in order to calculate the pixel colors at the output. Different arrangements of values in this matrix result in various possible visual effects. An identity matrix would lead to a motion blur effect (parallel to the matrix diagonal) while a matrix filled with a constant non-zero value would lead to a common blur effect." msgstr "Эта матрица описывает операцию свертки, которая будет применена к входящему изображению для вычисления цветов пикселов на выходе. Различные комбинации значений дают различные визуальные эффекты. Тождественная матрица даст эффект размывания движением, в то время как матрица, заполненная постоянным ненулевым значением даст обычный эффект размывания." #. TODO: svg spec: The default value is the sum of all values in kernelMatrix, with the exception that if the sum is zero, then the divisor is set to 1. -#: ../src/ui/dialog/filter-effects-dialog.cpp:2226 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2227 msgid "Divisor" msgstr "Делитель" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2226 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2227 msgid "After applying the kernelMatrix to the input image to yield a number, that number is divided by divisor to yield the final destination color value. A divisor that is the sum of all the matrix values tends to have an evening effect on the overall color intensity of the result." msgstr "После применения kernelMatrix к входящему изображению для получения числа, это число делится на делитель для получения конечного значения цвета. Делитель, являющийся суммой всех значений матрицы, имеет тенденцию приглушать общую интенсивность цветов в конечной картинке." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2227 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2228 msgid "Bias" msgstr "Смещение" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2227 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2228 msgid "This value is added to each component. This is useful to define a constant value as the zero response of the filter." msgstr "Это значение добавляется к каждому компоненту. Полезно для задания константы как нулевого отклика фильтра." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2228 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2229 msgid "Edge Mode" msgstr "Режим краёв" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2228 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2229 msgid "Determines how to extend the input image as necessary with color values so that the matrix operations can be applied when the kernel is positioned at or near the edge of the input image." msgstr "Определяет, как расширить входящие изображение цветными пикселами, чтобы матричные операции могли работать с ядром, расположенным на крае изображения или близко к нему." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2229 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2230 msgid "Preserve Alpha" msgstr "Сохранять альфа-канал" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2229 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2230 msgid "If set, the alpha channel won't be altered by this filter primitive." msgstr "Если включено, альфа-канал не будет изменен этим примитивом фильтра." #. default: white -#: ../src/ui/dialog/filter-effects-dialog.cpp:2232 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2233 msgid "Diffuse Color" msgstr "Цвет диффузии" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2232 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2265 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2233 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2266 msgid "Defines the color of the light source" msgstr "Определяет цвет источника света" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2233 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2266 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2234 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2267 msgid "Surface Scale" msgstr "Коэфф. высоты поверхности" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2233 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2266 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2234 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2267 msgid "This value amplifies the heights of the bump map defined by the input alpha channel" msgstr "На это значение умножается высота карты рельефа, определенная входящим альфа-каналом" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2234 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2267 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2235 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2268 msgid "Constant" msgstr "Константа диффузии" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2234 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2267 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2235 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2268 msgid "This constant affects the Phong lighting model." msgstr "Эта константа касается модели освещения Фонга" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2235 -#: ../src/ui/dialog/filter-effects-dialog.cpp:2269 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2236 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2270 msgid "Kernel Unit Length" msgstr "Длина единицы ядра" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2239 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2240 msgid "This defines the intensity of the displacement effect." msgstr "Определяет интенсивность эффекта смещения" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2240 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2241 msgid "X displacement" msgstr "Смещение по X" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2240 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2241 msgid "Color component that controls the displacement in the X direction" msgstr "Цветовой компонент, контролирующий смещение по оси X" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2241 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2242 msgid "Y displacement" msgstr "Смещение по Y" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2241 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2242 msgid "Color component that controls the displacement in the Y direction" msgstr "Цветовой компонент, контролирующий смещение по оси Y" #. default: black -#: ../src/ui/dialog/filter-effects-dialog.cpp:2244 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2245 msgid "Flood Color" msgstr "Цвет заливки" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2244 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2245 msgid "The whole filter region will be filled with this color." msgstr "Вся область действия фильтра будет залита этим цветом" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2248 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2249 msgid "Standard Deviation" msgstr "Стандартное отклонение" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2248 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2249 msgid "The standard deviation for the blur operation." msgstr "Стандартное отклонение при размывании, выражается в процентах" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2254 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2255 msgid "" "Erode: performs \"thinning\" of input image.\n" "Dilate: performs \"fattenning\" of input image." @@ -10392,1356 +10427,1391 @@ msgstr "" "Эрозия: «утоньшает» входящее изображение\n" "Дилатация: «утолщает» входящее изображение" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2258 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2259 msgid "Source of Image" msgstr "Источник изображения" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2261 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2262 msgid "Delta X" msgstr "Дельта X" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2261 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2262 msgid "This is how far the input image gets shifted to the right" msgstr "Как далеко входящее изображение смещается вправо" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2262 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2263 msgid "Delta Y" msgstr "Дельта Y" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2262 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2263 msgid "This is how far the input image gets shifted downwards" msgstr "Как далеко входящее изображение смещается вниз" #. default: white -#: ../src/ui/dialog/filter-effects-dialog.cpp:2265 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2266 msgid "Specular Color" msgstr "Цвет отражения" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2268 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2269 #: ../share/extensions/interp.inx.h:2 msgid "Exponent" msgstr "Экспонента" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2268 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2269 msgid "Exponent for specular term, larger is more \"shiny\"." msgstr "Экспонента отражения: чем больше значение, тем ярче отражение" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2277 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2278 msgid "Indicates whether the filter primitive should perform a noise or turbulence function." msgstr "Должен ли примитив выполнять функцию создания турбулентности или же шума" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2278 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2279 msgid "Base Frequency" msgstr "Основная частота" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2279 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2280 msgid "Octaves" msgstr "Числа Кейли" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2280 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2281 msgid "Seed" msgstr "Случайное значение" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2280 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2281 msgid "The starting number for the pseudo random number generator." msgstr "Начальное число для генератора псевдослучайных чисел" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2292 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2293 msgid "Add filter primitive" msgstr "Добавление примитива фильтра" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2309 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2310 msgid "The feBlend filter primitive provides 4 image blending modes: screen, multiply, darken and lighten." msgstr "Примитив feBlend дает 4 режима наложения: экран, умножение, затемнение и осветление." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2313 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2314 msgid "The feColorMatrix filter primitive applies a matrix transformation to colour of each rendered pixel. This allows for effects like turning object to grayscale, modifying colour saturation and changing colour hue." msgstr "Примитив feColorMatrix применяет матричное преобразование для раскрашивания каждого пиксела. Таким образом можно обесцвечивать, повышать насыщенность и менять тон." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2317 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2318 msgid "The feComponentTransfer filter primitive manipulates the input's color components (red, green, blue, and alpha) according to particular transfer functions, allowing operations like brightness and contrast adjustment, color balance, and thresholding." msgstr "Примитив feComponentTransfer позволяет манипулировать цветовыми компонентами входящего объекта (красный, зеленый, синий и альфа-каналы) в соответствии с определенными функциями передачи, допуская операции вроде коррекции яркости и контраста, цветового баланса и порога." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2321 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2322 msgid "The feComposite filter primitive composites two images using one of the Porter-Duff blending modes or the aritmetic mode described in SVG standard. Porter-Duff blending modes are essentially logical operations between the corresponding pixel values of the images." msgstr "Примитив feComposite совмещает два изображения, используя один из режимов наложения Портера-Даффа или арифметический оператор из стандарта SVG. Режимы наложения Портера-Даффа — по сути,логические операции между значениями соответствующих пикселов этих изображений." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2325 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2326 msgid "The feConvolveMatrix lets you specify a Convolution to be applied on the image. Common effects created using convolution matrices are blur, sharpening, embossing and edge detection. Note that while gaussian blur can be created using this filter primitive, the special gaussian blur primitive is faster and resolution-independent." msgstr "Примитив feConvolveMatrix позволяет указать свертку, применяемую к изображению. Типичные эффекты, создаваемые при помощи матрицы свертки — размывание, повышение резкости, создание рельефа и определение краев. Хотя гауссово размывание можно выполнить и этим примитивом, специализированный примитив работает быстрее и не зависит от разрешения." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2329 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2330 msgid "The feDiffuseLighting and feSpecularLighting filter primitives create \"embossed\" shadings. The input's alpha channel is used to provide depth information: higher opacity areas are raised toward the viewer and lower opacity areas recede away from the viewer." msgstr "Примитивы feDiffuseLighting и feSpecularLighting создают рельефные тени. Входящий альфа-канал используется для предоставления информации о глубине: чем выше непрозрачность, тем выше рельеф и, соответственно, тем ближе к наблюдателю верхняя точка этого рельефа." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2333 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2334 msgid "The feDisplacementMap filter primitive displaces the pixels in the first input using the second input as a displacement map, that shows from how far the pixel should come from. Classical examples are whirl and pinch effects." msgstr "Примитив feDisplacementMap смещает пикселы первого входа, используя пикселы второго в качестве карты смещения, показывающей, как далеко должны отойти пикселы. Типичные эффекты, создаваемые при помощи карты смещения — завихрение и щипок." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2337 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2338 msgid "The feFlood filter primitive fills the region with a given color and opacity. It is usually used as an input to other filters to apply color to a graphic." msgstr "Примитив feFlood заливает область заданным цветом и непрозрачностью. Обычно он используется как вход для других фильтров, применяющих цвет." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2341 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2342 msgid "The feGaussianBlur filter primitive uniformly blurs its input. It is commonly used together with feOffset to create a drop shadow effect." msgstr "Примитив feGaussianBlur равномерно размывает объекты на входе. Фильтр часто используется с feOffset для создания эффекта отбрасываемой тени." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2345 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2346 msgid "The feImage filter primitive fills the region with an external image or another part of the document." msgstr "Примитив feImage заполняет область внешним изображением или другой частью документа." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2349 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2350 msgid "The feMerge filter primitive composites several temporary images inside the filter primitive to a single image. It uses normal alpha compositing for this. This is equivalent to using several feBlend primitives in 'normal' mode or several feComposite primitives in 'over' mode." msgstr "Примитив feMerge сводит несколько временных изображений в одно, используя обычное альфа‑совмещение. Получаемый эффект эквивалентен нескольким примитивам feBlend в режиме «Обычный» или нескольким примитивам feComposite в режиме «Над» (over)." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2353 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2354 msgid "The feMorphology filter primitive provides erode and dilate effects. For single-colour objects erode makes the object thinner and dilate makes it thicker." msgstr "Примитив feMorphology позволяет применить эффект эрозии и дилатации. Объекты с плоской заливкой при эрозии становятся тоньше, а с дилатацией — толще." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2357 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2358 msgid "The feOffset filter primitive offsets the image by an user-defined amount. For example, this is useful for drop shadows, where the shadow is in a slightly different position than the actual object." msgstr "Примитив feOffset смещает изображение на заданное расстояние. Он используется, к примеру, для создания эффекта отбрасываемой тени, где тень слегка смещена относительно исходного объекта." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2361 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2362 msgid "The feDiffuseLighting and feSpecularLighting filter primitives create \"embossed\" shadings. The input's alpha channel is used to provide depth information: higher opacity areas are raised toward the viewer and lower opacity areas recede away from the viewer." msgstr "Примитивы feDiffuseLighting и feSpecularLighting создают рельефные тени. Входящий альфа-канал используется для предоставления информации о глубине: чем выше непрозрачность, тем выше рельеф и, соответственно, тем ближе к наблюдателю верхняя точка этого рельефа." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2365 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2366 msgid "The feTile filter primitive tiles a region with its input graphic" msgstr "Примитив feTile заполняет область мозаикой из входящего изображения." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2369 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2370 msgid "The feTurbulence filter primitive renders Perlin noise. This kind of noise is useful in simulating several nature phenomena like clouds, fire and smoke and in generating complex textures like marble or granite." msgstr "Примитив feTurbulence создает перлинов шум. Этот тип шума полезен для имитации различных природных явлений вроде облаков, огня и дыма, а также для создания сложных текстур наподобие мрамора или гранита." -#: ../src/ui/dialog/filter-effects-dialog.cpp:2387 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2388 msgid "Duplicate filter primitive" msgstr "Дубликация примитива фильтра" -#: ../src/ui/dialog/filter-effects-dialog.cpp:2440 +#: ../src/ui/dialog/filter-effects-dialog.cpp:2441 msgid "Set filter primitive attribute" msgstr "Смена атрибута примитива фильтра" -#: ../src/ui/dialog/inkscape-preferences.cpp:155 +#: ../src/ui/dialog/inkscape-preferences.cpp:156 msgid "Mouse" msgstr "Мышь" -#: ../src/ui/dialog/inkscape-preferences.cpp:157 +#: ../src/ui/dialog/inkscape-preferences.cpp:158 msgid "Grab sensitivity:" msgstr "Радиус захвата:" -#: ../src/ui/dialog/inkscape-preferences.cpp:157 -#: ../src/ui/dialog/inkscape-preferences.cpp:160 -#: ../src/ui/dialog/inkscape-preferences.cpp:176 -#: ../src/ui/dialog/inkscape-preferences.cpp:180 -#: ../src/ui/dialog/inkscape-preferences.cpp:190 +#: ../src/ui/dialog/inkscape-preferences.cpp:158 +#: ../src/ui/dialog/inkscape-preferences.cpp:161 +#: ../src/ui/dialog/inkscape-preferences.cpp:177 +#: ../src/ui/dialog/inkscape-preferences.cpp:181 +#: ../src/ui/dialog/inkscape-preferences.cpp:191 msgid "pixels" msgstr "пикселов" -#: ../src/ui/dialog/inkscape-preferences.cpp:158 +#: ../src/ui/dialog/inkscape-preferences.cpp:159 msgid "How close on the screen you need to be to an object to be able to grab it with mouse (in screen pixels)" msgstr "Насколько близко (в пикселах) нужно подвести курсор мыши к объекту, чтобы ухватить его мышью" -#: ../src/ui/dialog/inkscape-preferences.cpp:160 +#: ../src/ui/dialog/inkscape-preferences.cpp:161 msgid "Click/drag threshold:" msgstr "Считать щелчком перетаскивание на:" -#: ../src/ui/dialog/inkscape-preferences.cpp:161 +#: ../src/ui/dialog/inkscape-preferences.cpp:162 msgid "Maximum mouse drag (in screen pixels) which is considered a click, not a drag" msgstr "" "Максимальное количество пикселов, перетаскивание на которое\n" "воспринимается как щелчок, а не как перетаскивание" -#: ../src/ui/dialog/inkscape-preferences.cpp:163 +#: ../src/ui/dialog/inkscape-preferences.cpp:164 msgid "Use pressure-sensitive tablet (requires restart)" msgstr "Использовать графический планшет (требует перезапуска)" -#: ../src/ui/dialog/inkscape-preferences.cpp:165 +#: ../src/ui/dialog/inkscape-preferences.cpp:166 msgid "Use the capabilities of a tablet or other pressure-sensitive device. Disable this only if you have problems with the tablet (you can still use it as a mouse)" msgstr "Использовать возможности графического планшета или иного устройства, распознающего силу нажатия. Отключайте этот параметр только при возникновении неполадок с устройством. Мышь по-прежнему будет доступна." -#: ../src/ui/dialog/inkscape-preferences.cpp:167 +#: ../src/ui/dialog/inkscape-preferences.cpp:168 msgid "Switch tool based on tablet device (requires restart)" msgstr "" "Менять инструмент в зависимости от активного устройства\n" "графического планшета (требует перезапуска)" -#: ../src/ui/dialog/inkscape-preferences.cpp:169 +#: ../src/ui/dialog/inkscape-preferences.cpp:170 msgid "Change tool as different devices are used on the tablet (pen, eraser, mouse)" msgstr "Менять инструмент в зависимости от активного инструмента планшета" -#: ../src/ui/dialog/inkscape-preferences.cpp:174 +#: ../src/ui/dialog/inkscape-preferences.cpp:175 msgid "Scrolling" msgstr "Прокрутка" -#: ../src/ui/dialog/inkscape-preferences.cpp:176 +#: ../src/ui/dialog/inkscape-preferences.cpp:177 msgid "Mouse wheel scrolls by:" msgstr "Колесико мыши прокручивает на:" -#: ../src/ui/dialog/inkscape-preferences.cpp:177 +#: ../src/ui/dialog/inkscape-preferences.cpp:178 msgid "One mouse wheel notch scrolls by this distance in screen pixels (horizontally with Shift)" msgstr "" "На это расстояние в пикселах изображение сдвигается одним щелчком\n" "колесика мыши (с нажатой клавишей Shift - по горизонтали)" -#: ../src/ui/dialog/inkscape-preferences.cpp:178 +#: ../src/ui/dialog/inkscape-preferences.cpp:179 msgid "Ctrl+arrows" msgstr "Ctrl+стрелки" -#: ../src/ui/dialog/inkscape-preferences.cpp:180 +#: ../src/ui/dialog/inkscape-preferences.cpp:181 msgid "Scroll by:" msgstr "Шаг прокрутки:" -#: ../src/ui/dialog/inkscape-preferences.cpp:181 +#: ../src/ui/dialog/inkscape-preferences.cpp:182 msgid "Pressing Ctrl+arrow key scrolls by this distance (in screen pixels)" msgstr "На это расстояние в пикселах изображение сдвигается при нажатии Ctrl+стрелки" -#: ../src/ui/dialog/inkscape-preferences.cpp:183 +#: ../src/ui/dialog/inkscape-preferences.cpp:184 msgid "Acceleration:" msgstr "Ускорение:" -#: ../src/ui/dialog/inkscape-preferences.cpp:184 +#: ../src/ui/dialog/inkscape-preferences.cpp:185 msgid "Pressing and holding Ctrl+arrow will gradually speed up scrolling (0 for no acceleration)" msgstr "Если удерживать нажатыми Ctrl+стрелку, скорость прокрутки будет возрастать (0 отменяет ускорение)" -#: ../src/ui/dialog/inkscape-preferences.cpp:185 +#: ../src/ui/dialog/inkscape-preferences.cpp:186 msgid "Autoscrolling" msgstr "Автопрокрутка" -#: ../src/ui/dialog/inkscape-preferences.cpp:187 +#: ../src/ui/dialog/inkscape-preferences.cpp:188 msgid "Speed:" msgstr "Скорость:" -#: ../src/ui/dialog/inkscape-preferences.cpp:188 +#: ../src/ui/dialog/inkscape-preferences.cpp:189 msgid "How fast the canvas autoscrolls when you drag beyond canvas edge (0 to turn autoscroll off)" msgstr "С какой скоростью будет происходить прокрутка при перетаскивании объекта за пределы окна (0 отменяет автопрокрутку)" -#: ../src/ui/dialog/inkscape-preferences.cpp:190 -#: ../src/ui/dialog/tracedialog.cpp:410 -#: ../src/ui/dialog/tracedialog.cpp:443 -#: ../src/ui/dialog/tracedialog.cpp:586 -#: ../src/widgets/toolbox.cpp:6685 +#: ../src/ui/dialog/inkscape-preferences.cpp:191 +#: ../src/ui/dialog/tracedialog.cpp:409 +#: ../src/ui/dialog/tracedialog.cpp:442 +#: ../src/ui/dialog/tracedialog.cpp:585 +#: ../src/widgets/toolbox.cpp:6673 msgid "Threshold:" msgstr "Порог:" -#: ../src/ui/dialog/inkscape-preferences.cpp:191 +#: ../src/ui/dialog/inkscape-preferences.cpp:192 msgid "How far (in screen pixels) you need to be from the canvas edge to trigger autoscroll; positive is outside the canvas, negative is within the canvas" msgstr "" "Насколько далеко (в пикселах) нужно отстоять от края окна, чтобы\n" "включилась автопрокрутка; положительные значения - за пределами окна,\n" "отрицательные - внутри окна" -#: ../src/ui/dialog/inkscape-preferences.cpp:192 +#: ../src/ui/dialog/inkscape-preferences.cpp:193 msgid "Left mouse button pans when Space is pressed" msgstr "Перемещение по окну с нажатым пробелом и левой клавишей мыши" -#: ../src/ui/dialog/inkscape-preferences.cpp:194 +#: ../src/ui/dialog/inkscape-preferences.cpp:195 msgid "When on, pressing and holding Space and dragging with left mouse button pans canvas (as in Adobe Illustrator). When off, Space temporarily switches to Selector tool (default)." msgstr "Если включено, нажатие пробела и перетаскивание левой клавиши мыши приводит к перемещению по холсту (как в Adobe Illustrator). Если выключено, нажатие пробела приводит к временному переключению на Селектор (по умолчанию)." -#: ../src/ui/dialog/inkscape-preferences.cpp:195 +#: ../src/ui/dialog/inkscape-preferences.cpp:196 msgid "Mouse wheel zooms by default" msgstr "По умолчанию колесо мыши масштабирует вид" -#: ../src/ui/dialog/inkscape-preferences.cpp:197 +#: ../src/ui/dialog/inkscape-preferences.cpp:198 msgid "When on, mouse wheel zooms without Ctrl and scrolls canvas with Ctrl; when off, it zooms with Ctrl and scrolls without Ctrl." msgstr "Если включено, прокрутка колеса мыши без Ctrl масштабирует вид документа, а с Ctrl — прокручивает холст; если выключено, с Ctrl масштабируется вид документа, а без - прокручивается холст." #. nudgedistance is limited to 1000 in select-context.cpp: use the same limit here -#: ../src/ui/dialog/inkscape-preferences.cpp:206 +#: ../src/ui/dialog/inkscape-preferences.cpp:207 msgid "Arrow keys move by:" msgstr "Стрелки двигают на:" -#: ../src/ui/dialog/inkscape-preferences.cpp:207 +#: ../src/ui/dialog/inkscape-preferences.cpp:208 msgid "Pressing an arrow key moves selected object(s) or node(s) by this distance (in px units)" msgstr "" "На это расстояние (в SVG пикселах) выделенный объект или\n" "узел перемещается по нажатию клавиши со стрелкой" #. defaultscale is limited to 1000 in select-context.cpp: use the same limit here -#: ../src/ui/dialog/inkscape-preferences.cpp:210 +#: ../src/ui/dialog/inkscape-preferences.cpp:211 msgid "> and < scale by:" msgstr "Шаг масштабирования по > и <:" -#: ../src/ui/dialog/inkscape-preferences.cpp:211 +#: ../src/ui/dialog/inkscape-preferences.cpp:212 msgid "Pressing > or < scales selection up or down by this increment (in px units)" msgstr "На эту величину (в SVG пикселах) изменяется размер выделения по нажатию клавиш > и <" -#: ../src/ui/dialog/inkscape-preferences.cpp:213 +#: ../src/ui/dialog/inkscape-preferences.cpp:214 msgid "Inset/Outset by:" msgstr "Втяжка или растяжка на:" -#: ../src/ui/dialog/inkscape-preferences.cpp:214 +#: ../src/ui/dialog/inkscape-preferences.cpp:215 msgid "Inset and Outset commands displace the path by this distance (in px units)" msgstr "На это расстояние (в SVG пикселах) команды втяжки и растяжки смещают контур" -#: ../src/ui/dialog/inkscape-preferences.cpp:215 +#: ../src/ui/dialog/inkscape-preferences.cpp:216 msgid "Compass-like display of angles" msgstr "Компасообразное отображение углов" -#: ../src/ui/dialog/inkscape-preferences.cpp:217 +#: ../src/ui/dialog/inkscape-preferences.cpp:218 msgid "When on, angles are displayed with 0 at north, 0 to 360 range, positive clockwise; otherwise with 0 at east, -180 to 180 range, positive counterclockwise" msgstr "Если включено, угол со значением 0° показывает на север с диапазоном от 0° до 360°, причем значение увеличивается по часовой стрелке. В противном случае 0° показывает на восток, диапазон значений находится между -180° и 180°, приращение угла происходит против часовой стрелки." -#: ../src/ui/dialog/inkscape-preferences.cpp:223 +#: ../src/ui/dialog/inkscape-preferences.cpp:224 msgid "Rotation snaps every:" msgstr "Ограничение вращения:" -#: ../src/ui/dialog/inkscape-preferences.cpp:223 +#: ../src/ui/dialog/inkscape-preferences.cpp:224 msgid "degrees" msgstr "градусов" -#: ../src/ui/dialog/inkscape-preferences.cpp:224 +#: ../src/ui/dialog/inkscape-preferences.cpp:225 msgid "Rotating with Ctrl pressed snaps every that much degrees; also, pressing [ or ] rotates by this amount" msgstr "Вращение с нажатым Ctrl ограничивает угол значениями, кратными выбранному; нажатие [ или ] поворачивает на выбранный угол" -#: ../src/ui/dialog/inkscape-preferences.cpp:226 +#: ../src/ui/dialog/inkscape-preferences.cpp:227 msgid "Zoom in/out by:" msgstr "Шаг масштаба:" -#: ../src/ui/dialog/inkscape-preferences.cpp:227 +#: ../src/ui/dialog/inkscape-preferences.cpp:228 msgid "Zoom tool click, +/- keys, and middle click zoom in and out by this multiplier" msgstr "" "Шаг для щелчка инструментом масштаба,\n" "нажатия клавиш +/- и щелчка средней клавишей мыши" -#: ../src/ui/dialog/inkscape-preferences.cpp:233 +#: ../src/ui/dialog/inkscape-preferences.cpp:234 msgid "Show selection cue" msgstr "Показывать пометку выделения" -#: ../src/ui/dialog/inkscape-preferences.cpp:234 +#: ../src/ui/dialog/inkscape-preferences.cpp:235 msgid "Whether selected objects display a selection cue (the same as in selector)" msgstr "Будет ли отображаться пометка выделения (как и в селекторе)" -#: ../src/ui/dialog/inkscape-preferences.cpp:240 +#: ../src/ui/dialog/inkscape-preferences.cpp:241 msgid "Enable gradient editing" msgstr "Включить правку градиентов" -#: ../src/ui/dialog/inkscape-preferences.cpp:241 +#: ../src/ui/dialog/inkscape-preferences.cpp:242 msgid "Whether selected objects display gradient editing controls" msgstr "Будут ли отображаться средства правки градиентов" -#: ../src/ui/dialog/inkscape-preferences.cpp:246 +#: ../src/ui/dialog/inkscape-preferences.cpp:247 msgid "Conversion to guides uses edges instead of bounding box" msgstr "" "При преобразовании в направляющие вместо\n" "площадки (BB) используются края" -#: ../src/ui/dialog/inkscape-preferences.cpp:247 +#: ../src/ui/dialog/inkscape-preferences.cpp:248 msgid "Converting an object to guides places these along the object's true edges (imitating the object's shape), not along the bounding box." msgstr "При преобразовании объекта в направляющие эти направляющие будут размещены по настоящим краям объекта, а не по его площадке (BB)" -#: ../src/ui/dialog/inkscape-preferences.cpp:254 +#: ../src/ui/dialog/inkscape-preferences.cpp:255 msgid "Ctrl+click dot size:" msgstr "Размер точки по Ctrl+щелчок в" -#: ../src/ui/dialog/inkscape-preferences.cpp:254 +#: ../src/ui/dialog/inkscape-preferences.cpp:255 msgid "times current stroke width" msgstr "раза больше текущей обводки" -#: ../src/ui/dialog/inkscape-preferences.cpp:255 +#: ../src/ui/dialog/inkscape-preferences.cpp:256 msgid "Size of dots created with Ctrl+click (relative to current stroke width)" msgstr "Размер точек, создаваемых по Ctrl+щелчок (относительно текущей толщины штриха)" -#: ../src/ui/dialog/inkscape-preferences.cpp:270 +#: ../src/ui/dialog/inkscape-preferences.cpp:271 msgid "No objects selected to take the style from." msgstr "Нет выделенных объектов, откуда можно было бы взять стиль." -#: ../src/ui/dialog/inkscape-preferences.cpp:279 +#: ../src/ui/dialog/inkscape-preferences.cpp:280 msgid "More than one object selected. Cannot take style from multiple objects." msgstr "Выделено больше одного объекта. Невозможно взять стиль от нескольких объектов сразу." -#: ../src/ui/dialog/inkscape-preferences.cpp:314 +#: ../src/ui/dialog/inkscape-preferences.cpp:313 msgid "Create new objects with:" msgstr "Создавать новые объекты с:" -#: ../src/ui/dialog/inkscape-preferences.cpp:316 +#: ../src/ui/dialog/inkscape-preferences.cpp:315 msgid "Last used style" msgstr "Последним использованным стилем" -#: ../src/ui/dialog/inkscape-preferences.cpp:318 +#: ../src/ui/dialog/inkscape-preferences.cpp:317 msgid "Apply the style you last set on an object" msgstr "Применить последний использованный стиль" -#: ../src/ui/dialog/inkscape-preferences.cpp:323 +#: ../src/ui/dialog/inkscape-preferences.cpp:322 msgid "This tool's own style:" msgstr "Собственным стилем инструмента:" -#: ../src/ui/dialog/inkscape-preferences.cpp:327 +#: ../src/ui/dialog/inkscape-preferences.cpp:326 msgid "Each tool may store its own style to apply to the newly created objects. Use the button below to set it." msgstr "Каждый инструмент может использовать свой собственный стиль для создаваемых объектов. Кнопка внизу устанавливает этот стиль." -#: ../src/ui/dialog/inkscape-preferences.cpp:332 +#. style swatch +#: ../src/ui/dialog/inkscape-preferences.cpp:330 msgid "Take from selection" msgstr "Взять от выделения" -#: ../src/ui/dialog/inkscape-preferences.cpp:336 +#: ../src/ui/dialog/inkscape-preferences.cpp:335 msgid "This tool's style of new objects" msgstr "Стиль новых объектов, создаваемых этим инструментом" -#: ../src/ui/dialog/inkscape-preferences.cpp:344 +#: ../src/ui/dialog/inkscape-preferences.cpp:342 msgid "Remember the style of the (first) selected object as this tool's style" msgstr "Запомнить стиль (первого) выделенного объекта как стиль данного инструмента" -#: ../src/ui/dialog/inkscape-preferences.cpp:349 +#: ../src/ui/dialog/inkscape-preferences.cpp:347 msgid "Tools" msgstr "Инструменты" -#: ../src/ui/dialog/inkscape-preferences.cpp:352 +#: ../src/ui/dialog/inkscape-preferences.cpp:350 msgid "Bounding box to use:" msgstr "Используемая площадка (BB):" -#: ../src/ui/dialog/inkscape-preferences.cpp:353 +#: ../src/ui/dialog/inkscape-preferences.cpp:351 msgid "Visual bounding box" msgstr "Видимая площадка (BB)" -#: ../src/ui/dialog/inkscape-preferences.cpp:355 +#: ../src/ui/dialog/inkscape-preferences.cpp:353 msgid "This bounding box includes stroke width, markers, filter margins, etc." msgstr "Сюда входит толщина обводки, маркеры, поля фильтра и т.д." -#: ../src/ui/dialog/inkscape-preferences.cpp:356 +#: ../src/ui/dialog/inkscape-preferences.cpp:354 msgid "Geometric bounding box" msgstr "Геометрическая площадка (BB)" -#: ../src/ui/dialog/inkscape-preferences.cpp:358 +#: ../src/ui/dialog/inkscape-preferences.cpp:356 msgid "This bounding box includes only the bare path" msgstr "Сюда входит только сам контур" -#: ../src/ui/dialog/inkscape-preferences.cpp:360 +#: ../src/ui/dialog/inkscape-preferences.cpp:358 msgid "Conversion to guides:" msgstr "Преобразование в направляющие:" -#: ../src/ui/dialog/inkscape-preferences.cpp:361 +#: ../src/ui/dialog/inkscape-preferences.cpp:359 msgid "Keep objects after conversion to guides" msgstr "Сохранять объекты после преобразования" -#: ../src/ui/dialog/inkscape-preferences.cpp:363 +#: ../src/ui/dialog/inkscape-preferences.cpp:361 msgid "When converting an object to guides, don't delete the object after the conversion." msgstr "После преобразования в направляющие не удалять исходный объект." -#: ../src/ui/dialog/inkscape-preferences.cpp:364 +#: ../src/ui/dialog/inkscape-preferences.cpp:362 msgid "Treat groups as a single object" msgstr "Считать группы единым объектом" -#: ../src/ui/dialog/inkscape-preferences.cpp:366 +#: ../src/ui/dialog/inkscape-preferences.cpp:364 msgid "Treat groups as a single object during conversion to guides rather than converting each child separately." msgstr "Считать группы одним объектом при преобразовании в направляющие, не преобразовывать каждый элемент группы отдельно" -#: ../src/ui/dialog/inkscape-preferences.cpp:368 +#: ../src/ui/dialog/inkscape-preferences.cpp:366 msgid "Width is in absolute units" msgstr "Ширина в абсолютных единицах измерения" -#: ../src/ui/dialog/inkscape-preferences.cpp:369 +#: ../src/ui/dialog/inkscape-preferences.cpp:367 msgid "Select new path" msgstr "Выделять новый контур" -#: ../src/ui/dialog/inkscape-preferences.cpp:370 +#: ../src/ui/dialog/inkscape-preferences.cpp:368 msgid "Don't attach connectors to text objects" msgstr "Не соединяться линиями с текстовыми объектами" #. Selector -#: ../src/ui/dialog/inkscape-preferences.cpp:373 +#: ../src/ui/dialog/inkscape-preferences.cpp:371 msgid "Selector" msgstr "Селектор" -#: ../src/ui/dialog/inkscape-preferences.cpp:376 +#: ../src/ui/dialog/inkscape-preferences.cpp:374 msgid "When transforming, show:" msgstr "При трансформации показывать:" -#: ../src/ui/dialog/inkscape-preferences.cpp:377 +#: ../src/ui/dialog/inkscape-preferences.cpp:375 msgid "Objects" msgstr "Объекты" -#: ../src/ui/dialog/inkscape-preferences.cpp:379 +#: ../src/ui/dialog/inkscape-preferences.cpp:377 msgid "Show the actual objects when moving or transforming" msgstr "Показывать объекты полностью при перемещении или трансформации" -#: ../src/ui/dialog/inkscape-preferences.cpp:380 +#: ../src/ui/dialog/inkscape-preferences.cpp:378 msgid "Box outline" msgstr "Рамку" -#: ../src/ui/dialog/inkscape-preferences.cpp:382 +#: ../src/ui/dialog/inkscape-preferences.cpp:380 msgid "Show only a box outline of the objects when moving or transforming" msgstr "Показывать только прямоугольную рамку объектов при перемещении или трансформации" -#: ../src/ui/dialog/inkscape-preferences.cpp:383 +#: ../src/ui/dialog/inkscape-preferences.cpp:381 msgid "Per-object selection cue:" msgstr "Пометка выделенных объектов:" -#: ../src/ui/dialog/inkscape-preferences.cpp:386 +#: ../src/ui/dialog/inkscape-preferences.cpp:384 msgid "No per-object selection indication" msgstr "Выделенные объекты никак не помечены" -#: ../src/ui/dialog/inkscape-preferences.cpp:387 +#: ../src/ui/dialog/inkscape-preferences.cpp:385 msgid "Mark" msgstr "Метка" -#: ../src/ui/dialog/inkscape-preferences.cpp:389 +#: ../src/ui/dialog/inkscape-preferences.cpp:387 msgid "Each selected object has a diamond mark in the top left corner" msgstr "Каждый выделенный объект имеет метку в виде ромбика в левом верхнем углу" -#: ../src/ui/dialog/inkscape-preferences.cpp:390 +#: ../src/ui/dialog/inkscape-preferences.cpp:388 msgid "Box" msgstr "Рамка" -#: ../src/ui/dialog/inkscape-preferences.cpp:392 +#: ../src/ui/dialog/inkscape-preferences.cpp:390 msgid "Each selected object displays its bounding box" msgstr "Каждый выделенный объект помечен пунктирной рамкой" #. Node -#: ../src/ui/dialog/inkscape-preferences.cpp:395 +#: ../src/ui/dialog/inkscape-preferences.cpp:393 msgid "Node" msgstr "Узлы" -#: ../src/ui/dialog/inkscape-preferences.cpp:398 +#: ../src/ui/dialog/inkscape-preferences.cpp:396 msgid "Path outline:" msgstr "Обводка контура:" -#: ../src/ui/dialog/inkscape-preferences.cpp:399 -#: ../src/ui/dialog/inkscape-preferences.cpp:400 +#: ../src/ui/dialog/inkscape-preferences.cpp:397 +#: ../src/ui/dialog/inkscape-preferences.cpp:398 msgid "Path outline color" msgstr "Цвет обводки контура" -#: ../src/ui/dialog/inkscape-preferences.cpp:400 +#: ../src/ui/dialog/inkscape-preferences.cpp:398 msgid "Selects the color used for showing the path outline." msgstr "Выбор цвета, используемого для отображения скелета контура." -#: ../src/ui/dialog/inkscape-preferences.cpp:401 +#: ../src/ui/dialog/inkscape-preferences.cpp:399 msgid "Path outline flash on mouse-over" msgstr "Мерцать контуром при прохождении над ним мыши" -#: ../src/ui/dialog/inkscape-preferences.cpp:402 +#: ../src/ui/dialog/inkscape-preferences.cpp:400 msgid "When hovering over a path, briefly flash its outline." msgstr "Мерцать скелетом контура, когда курсор мыши или иного устройства ввода проходит над ним." -#: ../src/ui/dialog/inkscape-preferences.cpp:404 +#: ../src/ui/dialog/inkscape-preferences.cpp:402 msgid "Flash time" msgstr "Длительность мерцания" -#: ../src/ui/dialog/inkscape-preferences.cpp:404 +#: ../src/ui/dialog/inkscape-preferences.cpp:402 msgid "Specifies how long the path outline will be visible after a mouse-over (in milliseconds). Specify 0 to have the outline shown until mouse leaves the path." msgstr "" #. Tweak -#: ../src/ui/dialog/inkscape-preferences.cpp:407 -#: ../src/verbs.cpp:2477 +#: ../src/ui/dialog/inkscape-preferences.cpp:405 +#: ../src/verbs.cpp:2480 msgid "Tweak" msgstr "Корректор" -#: ../src/ui/dialog/inkscape-preferences.cpp:408 +#: ../src/ui/dialog/inkscape-preferences.cpp:406 msgid "Paint objects with:" msgstr "Раскрашивать объекты:" #. Zoom -#: ../src/ui/dialog/inkscape-preferences.cpp:413 +#: ../src/ui/dialog/inkscape-preferences.cpp:411 #: ../src/ui/view/edit-widget.cpp:1073 -#: ../src/verbs.cpp:2499 -#: ../src/widgets/desktop-widget.cpp:485 +#: ../src/verbs.cpp:2502 +#: ../src/widgets/desktop-widget.cpp:477 #: ../share/extensions/render_alphabetsoup.inx.h:5 msgid "Zoom" msgstr "Лупа" #. Shapes -#: ../src/ui/dialog/inkscape-preferences.cpp:418 +#: ../src/ui/dialog/inkscape-preferences.cpp:416 msgid "Shapes" msgstr "Фигуры" #. Pencil -#: ../src/ui/dialog/inkscape-preferences.cpp:446 -#: ../src/verbs.cpp:2489 +#: ../src/ui/dialog/inkscape-preferences.cpp:444 +#: ../src/verbs.cpp:2492 msgid "Pencil" msgstr "Карандаш" #. Pen -#: ../src/ui/dialog/inkscape-preferences.cpp:452 -#: ../src/verbs.cpp:2491 +#: ../src/ui/dialog/inkscape-preferences.cpp:450 +#: ../src/verbs.cpp:2494 msgid "Pen" msgstr "Перо" #. Calligraphy -#: ../src/ui/dialog/inkscape-preferences.cpp:458 -#: ../src/verbs.cpp:2493 +#: ../src/ui/dialog/inkscape-preferences.cpp:456 +#: ../src/verbs.cpp:2496 msgid "Calligraphy" msgstr "Каллиграфическое перо" -#: ../src/ui/dialog/inkscape-preferences.cpp:462 +#: ../src/ui/dialog/inkscape-preferences.cpp:460 msgid "If on, pen width is in absolute units (px) independent of zoom; otherwise pen width depends on zoom so that it looks the same at any zoom" msgstr "Если включено, толщина линии в абсолютных единицах (px) независима от масштаба; в противном случае толщина линии зависит от масштаба и выглядит одинаково при любом масштабе" -#: ../src/ui/dialog/inkscape-preferences.cpp:464 +#: ../src/ui/dialog/inkscape-preferences.cpp:462 msgid "If on, each newly created object will be selected (deselecting previous selection)" msgstr "Если включено, каждый новый объект будет автоматически выделяться (со сбросом предыдущего выделения)" #. Paint Bucket -#: ../src/ui/dialog/inkscape-preferences.cpp:466 -#: ../src/verbs.cpp:2505 +#: ../src/ui/dialog/inkscape-preferences.cpp:464 +#: ../src/verbs.cpp:2508 msgid "Paint Bucket" msgstr "Плоская заливка" #. Eraser -#: ../src/ui/dialog/inkscape-preferences.cpp:471 -#: ../src/verbs.cpp:2509 +#: ../src/ui/dialog/inkscape-preferences.cpp:469 +#: ../src/verbs.cpp:2512 msgid "Eraser" msgstr "Ластик" #. LPETool -#: ../src/ui/dialog/inkscape-preferences.cpp:475 -#: ../src/verbs.cpp:2511 +#: ../src/ui/dialog/inkscape-preferences.cpp:473 +#: ../src/verbs.cpp:2514 msgid "LPE Tool" msgstr "Геометрические конструкции" #. Gradient -#: ../src/ui/dialog/inkscape-preferences.cpp:485 -#: ../src/verbs.cpp:2497 +#: ../src/ui/dialog/inkscape-preferences.cpp:483 +#: ../src/verbs.cpp:2500 msgid "Gradient" msgstr "Градиентная заливка" #. Connector -#: ../src/ui/dialog/inkscape-preferences.cpp:489 -#: ../src/verbs.cpp:2503 +#: ../src/ui/dialog/inkscape-preferences.cpp:487 +#: ../src/verbs.cpp:2506 msgid "Connector" msgstr "Соединительные линии" -#: ../src/ui/dialog/inkscape-preferences.cpp:492 +#: ../src/ui/dialog/inkscape-preferences.cpp:490 msgid "If on, connector attachment points will not be shown for text objects" msgstr "Если включено, точки соединения линиями не показываются на текстовых объектах" #. Dropper -#: ../src/ui/dialog/inkscape-preferences.cpp:494 -#: ../src/verbs.cpp:2501 +#: ../src/ui/dialog/inkscape-preferences.cpp:492 +#: ../src/verbs.cpp:2504 msgid "Dropper" msgstr "Пипетка" -#: ../src/ui/dialog/inkscape-preferences.cpp:501 +#: ../src/ui/dialog/inkscape-preferences.cpp:499 msgid "Save and restore window geometry for each document" msgstr "Запоминать и использовать геометрию окна для каждого документа" -#: ../src/ui/dialog/inkscape-preferences.cpp:502 +#: ../src/ui/dialog/inkscape-preferences.cpp:500 msgid "Remember and use last window's geometry" msgstr "Запоминать и использовать геометрию последнего окна" -#: ../src/ui/dialog/inkscape-preferences.cpp:503 +#: ../src/ui/dialog/inkscape-preferences.cpp:501 msgid "Don't save window geometry" msgstr "Не запоминать геометрию окон" -#: ../src/ui/dialog/inkscape-preferences.cpp:505 -#: ../src/ui/dialog/inkscape-preferences.cpp:525 +#: ../src/ui/dialog/inkscape-preferences.cpp:503 +#: ../src/ui/dialog/inkscape-preferences.cpp:523 msgid "Dockable" msgstr "Прикрепляются к правому краю окна" -#: ../src/ui/dialog/inkscape-preferences.cpp:508 +#: ../src/ui/dialog/inkscape-preferences.cpp:506 msgid "Dialogs are hidden in taskbar" msgstr "Диалоги не видны на панели задач" -#: ../src/ui/dialog/inkscape-preferences.cpp:509 +#: ../src/ui/dialog/inkscape-preferences.cpp:507 msgid "Zoom when window is resized" msgstr "Масштабировать рисунок при изменении размеров окна" -#: ../src/ui/dialog/inkscape-preferences.cpp:510 +#: ../src/ui/dialog/inkscape-preferences.cpp:508 msgid "Show close button on dialogs" msgstr "Показывать кнопку «Закрыть» во всех диалогах" -#: ../src/ui/dialog/inkscape-preferences.cpp:512 -#: ../src/ui/dialog/inkscape-preferences.cpp:961 +#: ../src/ui/dialog/inkscape-preferences.cpp:510 +#: ../src/ui/dialog/inkscape-preferences.cpp:995 msgid "Normal" msgstr "Нормальный" -#: ../src/ui/dialog/inkscape-preferences.cpp:513 +#: ../src/ui/dialog/inkscape-preferences.cpp:511 msgid "Aggressive" msgstr "Настойчивый" -#: ../src/ui/dialog/inkscape-preferences.cpp:515 +#: ../src/ui/dialog/inkscape-preferences.cpp:513 msgid "Saving window geometry (size and position):" msgstr "Запоминание геометрии окна (размера и положения)" -#: ../src/ui/dialog/inkscape-preferences.cpp:517 +#: ../src/ui/dialog/inkscape-preferences.cpp:515 msgid "Let the window manager determine placement of all windows" msgstr "Пусть оконный менеджер сам определяет располжение окон" -#: ../src/ui/dialog/inkscape-preferences.cpp:519 +#: ../src/ui/dialog/inkscape-preferences.cpp:517 msgid "Remember and use the last window's geometry (saves geometry to user preferences)" msgstr "Запоминать (в параметрах программы) и использовать геометрию последнего окна" -#: ../src/ui/dialog/inkscape-preferences.cpp:521 +#: ../src/ui/dialog/inkscape-preferences.cpp:519 msgid "Save and restore window geometry for each document (saves geometry in the document)" msgstr "Запоминать (в параметрах документа) и использовать геометрию окна каждого документа" -#: ../src/ui/dialog/inkscape-preferences.cpp:523 +#: ../src/ui/dialog/inkscape-preferences.cpp:521 msgid "Dialog behavior (requires restart):" msgstr "Поведение диалогов (требует перезапуска программы)" -#: ../src/ui/dialog/inkscape-preferences.cpp:530 +#: ../src/ui/dialog/inkscape-preferences.cpp:528 msgid "Dialogs on top:" msgstr "Способ размещения диалогов поверх окна:" -#: ../src/ui/dialog/inkscape-preferences.cpp:533 +#: ../src/ui/dialog/inkscape-preferences.cpp:531 msgid "Dialogs are treated as regular windows" msgstr "Диалоги рассматриваются как обычные окна" -#: ../src/ui/dialog/inkscape-preferences.cpp:535 +#: ../src/ui/dialog/inkscape-preferences.cpp:533 msgid "Dialogs stay on top of document windows" msgstr "Диалоги остаются поверх окон с документами" -#: ../src/ui/dialog/inkscape-preferences.cpp:537 +#: ../src/ui/dialog/inkscape-preferences.cpp:535 msgid "Same as Normal but may work better with some window managers" msgstr "То же, что и «Нормальный», но может лучше работать с некоторыми оконными менеджерами" -#: ../src/ui/dialog/inkscape-preferences.cpp:540 +#: ../src/ui/dialog/inkscape-preferences.cpp:539 +msgid "Dialog Transparency:" +msgstr "" + +#: ../src/ui/dialog/inkscape-preferences.cpp:541 +msgid "Opacity when focused:" +msgstr "Непрозрачность в фокусе:" + +#: ../src/ui/dialog/inkscape-preferences.cpp:543 +msgid "Opacity when unfocused:" +msgstr "Непрозрачность вне фокуса:" + +#: ../src/ui/dialog/inkscape-preferences.cpp:545 +msgid "Time of opacity change animation:" +msgstr "" + +#: ../src/ui/dialog/inkscape-preferences.cpp:548 msgid "Miscellaneous:" msgstr "Прочие параметры:" -#: ../src/ui/dialog/inkscape-preferences.cpp:543 +#: ../src/ui/dialog/inkscape-preferences.cpp:551 msgid "Whether dialog windows are to be hidden in the window manager taskbar" msgstr "Убирать ли диалоговые окна из панели задач оконного менеджера" -#: ../src/ui/dialog/inkscape-preferences.cpp:546 +#: ../src/ui/dialog/inkscape-preferences.cpp:554 msgid "Zoom drawing when document window is resized, to keep the same area visible (this is the default which can be changed in any window using the button above the right scrollbar)" msgstr "Масштабировать рисунок при изменении размеров окна, чтобы сохранить видимую область (для каждого окна это можно изменить с помощью кнопки над правой полосой прокрутки)" -#: ../src/ui/dialog/inkscape-preferences.cpp:548 +#: ../src/ui/dialog/inkscape-preferences.cpp:556 msgid "Whether dialog windows have a close button (requires restart)" msgstr "Отображается ли в диалогах кнопка «Закрыть»" -#: ../src/ui/dialog/inkscape-preferences.cpp:549 +#: ../src/ui/dialog/inkscape-preferences.cpp:557 msgid "Windows" msgstr "Окна" -#: ../src/ui/dialog/inkscape-preferences.cpp:554 +#: ../src/ui/dialog/inkscape-preferences.cpp:562 msgid "Move in parallel" msgstr "Двигаются параллельно" -#: ../src/ui/dialog/inkscape-preferences.cpp:556 +#: ../src/ui/dialog/inkscape-preferences.cpp:564 msgid "Stay unmoved" msgstr "Остаются неподвижными" -#: ../src/ui/dialog/inkscape-preferences.cpp:558 +#: ../src/ui/dialog/inkscape-preferences.cpp:566 msgid "Move according to transform" msgstr "Двигаются в соответствии с transform=" -#: ../src/ui/dialog/inkscape-preferences.cpp:560 +#: ../src/ui/dialog/inkscape-preferences.cpp:568 msgid "Are unlinked" msgstr "Отсоединяются" -#: ../src/ui/dialog/inkscape-preferences.cpp:562 +#: ../src/ui/dialog/inkscape-preferences.cpp:570 msgid "Are deleted" msgstr "Удаляются" -#: ../src/ui/dialog/inkscape-preferences.cpp:565 +#: ../src/ui/dialog/inkscape-preferences.cpp:573 msgid "When the original moves, its clones and linked offsets:" msgstr "Когда перемещается оригинал, его клоны и потомки:" -#: ../src/ui/dialog/inkscape-preferences.cpp:567 +#: ../src/ui/dialog/inkscape-preferences.cpp:575 msgid "Clones are translated by the same vector as their original." msgstr "Каждый клон сдвигается на тот же вектор, что и его оригинал." -#: ../src/ui/dialog/inkscape-preferences.cpp:569 +#: ../src/ui/dialog/inkscape-preferences.cpp:577 msgid "Clones preserve their positions when their original is moved." msgstr "Клоны остаются на месте, когда двигаются их оригиналы." -#: ../src/ui/dialog/inkscape-preferences.cpp:571 +#: ../src/ui/dialog/inkscape-preferences.cpp:579 msgid "Each clone moves according to the value of its transform= attribute. For example, a rotated clone will move in a different direction than its original." msgstr "Каждый клон двигается в соответствии со значением его атрибута transform=. Например, повернутый клон будет перемещаться в ином направлении, нежели его оригинал." -#: ../src/ui/dialog/inkscape-preferences.cpp:572 +#: ../src/ui/dialog/inkscape-preferences.cpp:580 msgid "When the original is deleted, its clones:" msgstr "Когда оригинал удаляется, его клоны:" -#: ../src/ui/dialog/inkscape-preferences.cpp:574 +#: ../src/ui/dialog/inkscape-preferences.cpp:582 msgid "Orphaned clones are converted to regular objects." msgstr "Осиротевшие клоны преобразуются в обычные объекты." -#: ../src/ui/dialog/inkscape-preferences.cpp:576 +#: ../src/ui/dialog/inkscape-preferences.cpp:584 msgid "Orphaned clones are deleted along with their original." msgstr "Осиротевшие клоны удаляются вместе с их оригиналом." -#: ../src/ui/dialog/inkscape-preferences.cpp:578 +#: ../src/ui/dialog/inkscape-preferences.cpp:586 msgid "When duplicating original+clones:" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:580 +#: ../src/ui/dialog/inkscape-preferences.cpp:588 #, fuzzy msgid "Relink duplicated clones" msgstr "Отсоединение клона" -#: ../src/ui/dialog/inkscape-preferences.cpp:582 +#: ../src/ui/dialog/inkscape-preferences.cpp:590 msgid "When duplicating a selection containing both a clone and its original (possibly in groups), relink the duplicated clone to the duplicated original instead of the old original" msgstr "" #. TRANSLATORS: Heading for the Inkscape Preferences "Clones" Page -#: ../src/ui/dialog/inkscape-preferences.cpp:585 +#: ../src/ui/dialog/inkscape-preferences.cpp:593 msgid "Clones" msgstr "Клоны" -#: ../src/ui/dialog/inkscape-preferences.cpp:590 +#: ../src/ui/dialog/inkscape-preferences.cpp:598 msgid "When applying, use the topmost selected object as clippath/mask" msgstr "Верхний выбранный объект — обтравочный контур или маска" -#: ../src/ui/dialog/inkscape-preferences.cpp:592 +#: ../src/ui/dialog/inkscape-preferences.cpp:600 msgid "Uncheck this to use the bottom selected object as the clipping path or mask" msgstr "Отключите эту опцию, если хотите использовать в качестве обтравочного контура или маски самый нижний из выбранных объектов" -#: ../src/ui/dialog/inkscape-preferences.cpp:593 +#: ../src/ui/dialog/inkscape-preferences.cpp:601 msgid "Remove clippath/mask object after applying" msgstr "Убрать обтравочный контур или маску после применения" -#: ../src/ui/dialog/inkscape-preferences.cpp:595 +#: ../src/ui/dialog/inkscape-preferences.cpp:603 msgid "After applying, remove the object used as the clipping path or mask from the drawing" msgstr "По применении удалить из рисунка объект, использованный в качестве обтравочного контура или маски" -#: ../src/ui/dialog/inkscape-preferences.cpp:596 +#: ../src/ui/dialog/inkscape-preferences.cpp:604 msgid "Clippaths and masks" msgstr "Обтравочные контуры и маски" -#: ../src/ui/dialog/inkscape-preferences.cpp:601 -#: ../src/widgets/select-toolbar.cpp:531 +#: ../src/ui/dialog/inkscape-preferences.cpp:609 +#: ../src/widgets/select-toolbar.cpp:541 msgid "Scale stroke width" msgstr "Менять толщину обводки" -#: ../src/ui/dialog/inkscape-preferences.cpp:602 +#: ../src/ui/dialog/inkscape-preferences.cpp:610 msgid "Scale rounded corners in rectangles" msgstr "Менять радиус закругленных углов" -#: ../src/ui/dialog/inkscape-preferences.cpp:603 +#: ../src/ui/dialog/inkscape-preferences.cpp:611 msgid "Transform gradients" msgstr "Трансформировать градиенты" -#: ../src/ui/dialog/inkscape-preferences.cpp:604 +#: ../src/ui/dialog/inkscape-preferences.cpp:612 msgid "Transform patterns" msgstr "Трансформировать текстуры" -#: ../src/ui/dialog/inkscape-preferences.cpp:605 +#: ../src/ui/dialog/inkscape-preferences.cpp:613 msgid "Optimized" msgstr "С оптимизацией" -#: ../src/ui/dialog/inkscape-preferences.cpp:606 +#: ../src/ui/dialog/inkscape-preferences.cpp:614 msgid "Preserved" msgstr "Без оптимизации" -#: ../src/ui/dialog/inkscape-preferences.cpp:609 -#: ../src/widgets/select-toolbar.cpp:532 +#: ../src/ui/dialog/inkscape-preferences.cpp:617 +#: ../src/widgets/select-toolbar.cpp:542 msgid "When scaling objects, scale the stroke width by the same proportion" msgstr "При изменении размера объектов менять в той же пропорции и толщину обводки" -#: ../src/ui/dialog/inkscape-preferences.cpp:611 -#: ../src/widgets/select-toolbar.cpp:543 +#: ../src/ui/dialog/inkscape-preferences.cpp:619 +#: ../src/widgets/select-toolbar.cpp:553 msgid "When scaling rectangles, scale the radii of rounded corners" msgstr "При изменении размера прямоугольников менять в той же пропорции и радиус закруглённых углов" -#: ../src/ui/dialog/inkscape-preferences.cpp:613 -#: ../src/widgets/select-toolbar.cpp:554 +#: ../src/ui/dialog/inkscape-preferences.cpp:621 +#: ../src/widgets/select-toolbar.cpp:564 msgid "Move gradients (in fill or stroke) along with the objects" msgstr "Трансформировать градиенты (в заливке или обводке) вместе с объектом" -#: ../src/ui/dialog/inkscape-preferences.cpp:615 -#: ../src/widgets/select-toolbar.cpp:565 +#: ../src/ui/dialog/inkscape-preferences.cpp:623 +#: ../src/widgets/select-toolbar.cpp:575 msgid "Move patterns (in fill or stroke) along with the objects" msgstr "Трансформировать текстуры (в заливке или обводке) вместе с объектом" -#: ../src/ui/dialog/inkscape-preferences.cpp:616 +#: ../src/ui/dialog/inkscape-preferences.cpp:624 msgid "Store transformation:" msgstr "Сохранение трансформации:" -#: ../src/ui/dialog/inkscape-preferences.cpp:618 +#: ../src/ui/dialog/inkscape-preferences.cpp:626 msgid "If possible, apply transformation to objects without adding a transform= attribute" msgstr "По возможности применять трансформацию к объектам без добавления атрибута transform=" -#: ../src/ui/dialog/inkscape-preferences.cpp:620 +#: ../src/ui/dialog/inkscape-preferences.cpp:628 msgid "Always store transformation as a transform= attribute on objects" msgstr "Всегда сохранять трансформацию в виде атрибута transform=" -#: ../src/ui/dialog/inkscape-preferences.cpp:622 +#: ../src/ui/dialog/inkscape-preferences.cpp:630 msgid "Transforms" msgstr "Трансформации" -#: ../src/ui/dialog/inkscape-preferences.cpp:627 +#. blur quality +#. filter quality +#: ../src/ui/dialog/inkscape-preferences.cpp:636 +#: ../src/ui/dialog/inkscape-preferences.cpp:660 msgid "Best quality (slowest)" msgstr "Наилучшее качество (самая медленная отрисовка)" -#: ../src/ui/dialog/inkscape-preferences.cpp:629 +#: ../src/ui/dialog/inkscape-preferences.cpp:638 +#: ../src/ui/dialog/inkscape-preferences.cpp:662 msgid "Better quality (slower)" msgstr "Хорошее качество (медленная отрисовка)" -#: ../src/ui/dialog/inkscape-preferences.cpp:631 +#: ../src/ui/dialog/inkscape-preferences.cpp:640 +#: ../src/ui/dialog/inkscape-preferences.cpp:664 msgid "Average quality" msgstr "Среднее качество" -#: ../src/ui/dialog/inkscape-preferences.cpp:633 +#: ../src/ui/dialog/inkscape-preferences.cpp:642 +#: ../src/ui/dialog/inkscape-preferences.cpp:666 msgid "Lower quality (faster)" msgstr "Низкое качество (быстрая отрисовка)" -#: ../src/ui/dialog/inkscape-preferences.cpp:635 +#: ../src/ui/dialog/inkscape-preferences.cpp:644 +#: ../src/ui/dialog/inkscape-preferences.cpp:668 msgid "Lowest quality (fastest)" msgstr "Самое низкое качество (самая быстрая отрисовка)" -#: ../src/ui/dialog/inkscape-preferences.cpp:638 +#: ../src/ui/dialog/inkscape-preferences.cpp:647 msgid "Gaussian blur quality for display:" msgstr "Качество гауссова размывания при отображении:" -#: ../src/ui/dialog/inkscape-preferences.cpp:640 +#: ../src/ui/dialog/inkscape-preferences.cpp:649 +#: ../src/ui/dialog/inkscape-preferences.cpp:673 msgid "Best quality, but display may be very slow at high zooms (bitmap export always uses best quality)" msgstr "Наилучшее качество, но при большом масштабе отрисовка очень медленная (при экспорте качество остаётся максимальным)" -#: ../src/ui/dialog/inkscape-preferences.cpp:642 +#: ../src/ui/dialog/inkscape-preferences.cpp:651 +#: ../src/ui/dialog/inkscape-preferences.cpp:675 msgid "Better quality, but slower display" msgstr "Хорошее качество, но невысокая скорость" -#: ../src/ui/dialog/inkscape-preferences.cpp:644 +#: ../src/ui/dialog/inkscape-preferences.cpp:653 +#: ../src/ui/dialog/inkscape-preferences.cpp:677 msgid "Average quality, acceptable display speed" msgstr "Среднее качество, приемлимая скорость отрисовки" -#: ../src/ui/dialog/inkscape-preferences.cpp:646 +#: ../src/ui/dialog/inkscape-preferences.cpp:655 +#: ../src/ui/dialog/inkscape-preferences.cpp:679 msgid "Lower quality (some artifacts), but display is faster" msgstr "Низкое качество с видимым артефактами, но быстрая отрисовка" -#: ../src/ui/dialog/inkscape-preferences.cpp:648 +#: ../src/ui/dialog/inkscape-preferences.cpp:657 +#: ../src/ui/dialog/inkscape-preferences.cpp:681 msgid "Lowest quality (considerable artifacts), but display is fastest" msgstr "Очень низкое качество с достаточно заметными артефактами, но очень быстрая отрисовка" -#: ../src/ui/dialog/inkscape-preferences.cpp:650 +#: ../src/ui/dialog/inkscape-preferences.cpp:671 +#, fuzzy +msgid "Filter effects quality for display:" +msgstr "Качество гауссова размывания при отображении:" + +#. show infobox +#: ../src/ui/dialog/inkscape-preferences.cpp:684 msgid "Show filter primitives infobox" msgstr "Показывать справку по примитивам фильтра" -#: ../src/ui/dialog/inkscape-preferences.cpp:652 +#: ../src/ui/dialog/inkscape-preferences.cpp:686 msgid "Show icons and descriptions for the filter primitives available at the filter effects dialog." msgstr "Показывать значки и описания для каждого примитива фильтров в диалоге фильтров эффектов" -#: ../src/ui/dialog/inkscape-preferences.cpp:654 +#: ../src/ui/dialog/inkscape-preferences.cpp:688 msgid "Filters" msgstr "Фильтры" -#: ../src/ui/dialog/inkscape-preferences.cpp:660 +#: ../src/ui/dialog/inkscape-preferences.cpp:694 msgid "Select in all layers" msgstr "Работают во всех слоях" -#: ../src/ui/dialog/inkscape-preferences.cpp:661 +#: ../src/ui/dialog/inkscape-preferences.cpp:695 msgid "Select only within current layer" msgstr "Работают только в текущем слое" -#: ../src/ui/dialog/inkscape-preferences.cpp:662 +#: ../src/ui/dialog/inkscape-preferences.cpp:696 msgid "Select in current layer and sublayers" msgstr "Работают только в текущем слое и субслоях" -#: ../src/ui/dialog/inkscape-preferences.cpp:663 +#: ../src/ui/dialog/inkscape-preferences.cpp:697 msgid "Ignore hidden objects and layers" msgstr "Игнорируют скрытые объекты и слои" -#: ../src/ui/dialog/inkscape-preferences.cpp:664 +#: ../src/ui/dialog/inkscape-preferences.cpp:698 msgid "Ignore locked objects and layers" msgstr "Игнорируют запертые объекты и слои" -#: ../src/ui/dialog/inkscape-preferences.cpp:665 +#: ../src/ui/dialog/inkscape-preferences.cpp:699 msgid "Deselect upon layer change" msgstr "Снять выделение при изменениях в слое" -#: ../src/ui/dialog/inkscape-preferences.cpp:667 +#: ../src/ui/dialog/inkscape-preferences.cpp:701 msgid "Ctrl+A, Tab, Shift+Tab:" msgstr "Ctrl+A, Tab, Shift+Tab:" -#: ../src/ui/dialog/inkscape-preferences.cpp:669 +#: ../src/ui/dialog/inkscape-preferences.cpp:703 msgid "Make keyboard selection commands work on objects in all layers" msgstr "Команды выделения с клавиатуры работают во всех слоях." -#: ../src/ui/dialog/inkscape-preferences.cpp:671 +#: ../src/ui/dialog/inkscape-preferences.cpp:705 msgid "Make keyboard selection commands work on objects in current layer only" msgstr "Команды выделения с клавиатуры работают только в текущем слое." -#: ../src/ui/dialog/inkscape-preferences.cpp:673 +#: ../src/ui/dialog/inkscape-preferences.cpp:707 msgid "Make keyboard selection commands work on objects in current layer and all its sublayers" msgstr "Команды выделения с клавиатуры работают в текущем слое и всех его субслоях." -#: ../src/ui/dialog/inkscape-preferences.cpp:675 +#: ../src/ui/dialog/inkscape-preferences.cpp:709 msgid "Uncheck this to be able to select objects that are hidden (either by themselves or by being in a hidden layer)" msgstr "Отключите этот параметр, если хотите выделять скрытые объекты или объекты на скрытом слое" -#: ../src/ui/dialog/inkscape-preferences.cpp:677 +#: ../src/ui/dialog/inkscape-preferences.cpp:711 msgid "Uncheck this to be able to select objects that are locked (either by themselves or by being in a locked layer)" msgstr "Отключите эту опцию, если хотите выделять запертые объекты или объекты на запертом слое" -#: ../src/ui/dialog/inkscape-preferences.cpp:680 +#: ../src/ui/dialog/inkscape-preferences.cpp:714 msgid "Uncheck this to be able to keep the current objects selected when the current layer changes" msgstr "Отключите эту опцию, если хотите оставлять объекты выбранными при изменениях в текущем слое." -#: ../src/ui/dialog/inkscape-preferences.cpp:682 +#: ../src/ui/dialog/inkscape-preferences.cpp:716 msgid "Selecting" msgstr "Выделение" -#: ../src/ui/dialog/inkscape-preferences.cpp:689 +#: ../src/ui/dialog/inkscape-preferences.cpp:723 msgid "Default export resolution:" msgstr "Разрешение для экспорта:" -#: ../src/ui/dialog/inkscape-preferences.cpp:690 +#: ../src/ui/dialog/inkscape-preferences.cpp:724 msgid "Default bitmap resolution (in dots per inch) in the Export dialog" msgstr "Разрешение растра (в точках на дюйм) в диалоге экспорта по умолчанию" -#: ../src/ui/dialog/inkscape-preferences.cpp:692 +#: ../src/ui/dialog/inkscape-preferences.cpp:726 msgid "Open Clip Art Library Server Name:" msgstr "Сервер Open Clip Art Library:" -#: ../src/ui/dialog/inkscape-preferences.cpp:693 +#: ../src/ui/dialog/inkscape-preferences.cpp:727 msgid "The server name of the Open Clip Art Library webdav server. It's used by the Import and Export to OCAL function." msgstr "Имя webdav-сервера Open Clip Art Library. Используется для функций импорта и экспорта в OCAL." -#: ../src/ui/dialog/inkscape-preferences.cpp:695 +#: ../src/ui/dialog/inkscape-preferences.cpp:729 msgid "Open Clip Art Library Username:" msgstr "Пользователь Open Clip Art Library:" -#: ../src/ui/dialog/inkscape-preferences.cpp:696 +#: ../src/ui/dialog/inkscape-preferences.cpp:730 msgid "The username used to log into Open Clip Art Library." msgstr "Имя пользователя для авторизации на Open Clip Art Library." -#: ../src/ui/dialog/inkscape-preferences.cpp:698 +#: ../src/ui/dialog/inkscape-preferences.cpp:732 msgid "Open Clip Art Library Password:" msgstr "Пароль на Open Clip Art Library:" -#: ../src/ui/dialog/inkscape-preferences.cpp:699 +#: ../src/ui/dialog/inkscape-preferences.cpp:733 msgid "The password used to log into Open Clip Art Library." msgstr "Пароль для авторизации на Open Clip Art Library." -#: ../src/ui/dialog/inkscape-preferences.cpp:701 +#: ../src/ui/dialog/inkscape-preferences.cpp:735 msgid "Import/Export" msgstr "Импорт/Экспорт" #. TRANSLATORS: see http://www.newsandtech.com/issues/2004/03-04/pt/03-04_rendering.htm -#: ../src/ui/dialog/inkscape-preferences.cpp:751 +#: ../src/ui/dialog/inkscape-preferences.cpp:785 msgid "Perceptual" msgstr "Воспринимаемая" -#: ../src/ui/dialog/inkscape-preferences.cpp:751 +#: ../src/ui/dialog/inkscape-preferences.cpp:785 msgid "Relative Colorimetric" msgstr "Относительная колориметрическая" -#: ../src/ui/dialog/inkscape-preferences.cpp:751 +#: ../src/ui/dialog/inkscape-preferences.cpp:785 msgid "Absolute Colorimetric" msgstr "Абсолютная колориметрическая" -#: ../src/ui/dialog/inkscape-preferences.cpp:755 +#: ../src/ui/dialog/inkscape-preferences.cpp:789 msgid "(Note: Color management has been disabled in this build)" msgstr "(Примечание: в этой сборке управление цветом отключено)" -#: ../src/ui/dialog/inkscape-preferences.cpp:759 +#: ../src/ui/dialog/inkscape-preferences.cpp:793 msgid "Display adjustment" msgstr "Коррекция вывода на монитор" -#: ../src/ui/dialog/inkscape-preferences.cpp:761 +#: ../src/ui/dialog/inkscape-preferences.cpp:795 msgid "Display profile:" msgstr "Профиль монитора:" -#: ../src/ui/dialog/inkscape-preferences.cpp:762 +#: ../src/ui/dialog/inkscape-preferences.cpp:796 msgid "The ICC profile to use to calibrate display output." msgstr "ICC-профиль, используемый для коррекции вывода на дисплей." -#: ../src/ui/dialog/inkscape-preferences.cpp:764 +#: ../src/ui/dialog/inkscape-preferences.cpp:798 msgid "Retrieve profile from display" msgstr "Получать профиль от видеоподсистемы" -#: ../src/ui/dialog/inkscape-preferences.cpp:767 +#: ../src/ui/dialog/inkscape-preferences.cpp:801 msgid "Retrieve profiles from those attached to displays via XICC." msgstr "Использовать профиль, назначенный монитору через xicc." -#: ../src/ui/dialog/inkscape-preferences.cpp:769 +#: ../src/ui/dialog/inkscape-preferences.cpp:803 msgid "Retrieve profiles from those attached to displays." msgstr "Использовать профили, используемые видеподсистемой для каждого из мониторов" -#: ../src/ui/dialog/inkscape-preferences.cpp:774 +#: ../src/ui/dialog/inkscape-preferences.cpp:808 msgid "Display rendering intent:" msgstr "Цветопередача монитора:" -#: ../src/ui/dialog/inkscape-preferences.cpp:775 -#: ../src/ui/dialog/inkscape-preferences.cpp:798 +#: ../src/ui/dialog/inkscape-preferences.cpp:809 +#: ../src/ui/dialog/inkscape-preferences.cpp:832 msgid "The rendering intent to use to calibrate display output." msgstr "Цветопередача выводимых на дисплей изображений" -#: ../src/ui/dialog/inkscape-preferences.cpp:777 +#: ../src/ui/dialog/inkscape-preferences.cpp:811 msgid "Proofing" msgstr "Цветопроба" -#: ../src/ui/dialog/inkscape-preferences.cpp:779 +#: ../src/ui/dialog/inkscape-preferences.cpp:813 msgid "Simulate output on screen" msgstr "Имитировать устройство вывода" -#: ../src/ui/dialog/inkscape-preferences.cpp:781 +#: ../src/ui/dialog/inkscape-preferences.cpp:815 msgid "Simulates output of target device." msgstr "Имитировать на экране устройство вывода" -#: ../src/ui/dialog/inkscape-preferences.cpp:783 +#: ../src/ui/dialog/inkscape-preferences.cpp:817 msgid "Mark out of gamut colors" msgstr "Помечать цвета вне цветового охвата" -#: ../src/ui/dialog/inkscape-preferences.cpp:785 +#: ../src/ui/dialog/inkscape-preferences.cpp:819 msgid "Highlights colors that are out of gamut for the target device." msgstr "Помечать цвета, выходящие за рамки цветового охвата для данного устройства" -#: ../src/ui/dialog/inkscape-preferences.cpp:790 +#: ../src/ui/dialog/inkscape-preferences.cpp:824 msgid "Out of gamut warning color:" msgstr "Цвета вне цветового охвата:" -#: ../src/ui/dialog/inkscape-preferences.cpp:791 +#: ../src/ui/dialog/inkscape-preferences.cpp:825 msgid "Selects the color used for out of gamut warning." msgstr "Выберите цвет предупреждения о выходе за цветовой охват." -#: ../src/ui/dialog/inkscape-preferences.cpp:793 +#: ../src/ui/dialog/inkscape-preferences.cpp:827 msgid "Device profile:" msgstr "Профиль устройства вывода:" -#: ../src/ui/dialog/inkscape-preferences.cpp:794 +#: ../src/ui/dialog/inkscape-preferences.cpp:828 msgid "The ICC profile to use to simulate device output." msgstr "ICC-профиль, используемый для имитации устройства вывода" -#: ../src/ui/dialog/inkscape-preferences.cpp:797 +#: ../src/ui/dialog/inkscape-preferences.cpp:831 msgid "Device rendering intent:" msgstr "Цветопередача устройства вывода:" -#: ../src/ui/dialog/inkscape-preferences.cpp:800 +#: ../src/ui/dialog/inkscape-preferences.cpp:834 msgid "Black point compensation" msgstr "Использовать компенсацию черной точки" -#: ../src/ui/dialog/inkscape-preferences.cpp:802 +#: ../src/ui/dialog/inkscape-preferences.cpp:836 msgid "Enables black point compensation." msgstr "Включить компенсацию черной точки" -#: ../src/ui/dialog/inkscape-preferences.cpp:804 +#: ../src/ui/dialog/inkscape-preferences.cpp:838 msgid "Preserve black" msgstr "Сохранять черный цвет" -#: ../src/ui/dialog/inkscape-preferences.cpp:809 +#: ../src/ui/dialog/inkscape-preferences.cpp:843 msgid "(LittleCMS 1.15 or later required)" msgstr "(необходима библиотека LittleCMS версии 1.15 или новее)" -#: ../src/ui/dialog/inkscape-preferences.cpp:811 +#: ../src/ui/dialog/inkscape-preferences.cpp:845 msgid "Preserve K channel in CMYK -> CMYK transforms" msgstr "Сохранять канал K при преобразованиях CMYK → CMYK" -#: ../src/ui/dialog/inkscape-preferences.cpp:824 +#: ../src/ui/dialog/inkscape-preferences.cpp:858 msgid "" msgstr "<нет>" -#: ../src/ui/dialog/inkscape-preferences.cpp:869 +#: ../src/ui/dialog/inkscape-preferences.cpp:903 msgid "Color management" msgstr "Управление цветом" -#: ../src/ui/dialog/inkscape-preferences.cpp:874 +#: ../src/ui/dialog/inkscape-preferences.cpp:908 msgid "Major grid line emphasizing" msgstr "Выделение основной линии сетки" -#: ../src/ui/dialog/inkscape-preferences.cpp:876 +#: ../src/ui/dialog/inkscape-preferences.cpp:910 msgid "Don't emphasize gridlines when zoomed out" msgstr "Не подчеркивать линии сетки на большом удалении" -#: ../src/ui/dialog/inkscape-preferences.cpp:877 +#: ../src/ui/dialog/inkscape-preferences.cpp:911 msgid "If set and zoomed out, the gridlines will be shown in normal color instead of major grid line color." msgstr "При просмотре на большом удалении основные линии сетки будут отображаться обычным цветом." -#: ../src/ui/dialog/inkscape-preferences.cpp:879 +#: ../src/ui/dialog/inkscape-preferences.cpp:913 msgid "Default grid settings" msgstr "Параметры сетки по умолчанию" -#: ../src/ui/dialog/inkscape-preferences.cpp:885 -#: ../src/ui/dialog/inkscape-preferences.cpp:906 +#: ../src/ui/dialog/inkscape-preferences.cpp:919 +#: ../src/ui/dialog/inkscape-preferences.cpp:940 msgid "Grid units:" msgstr "Единицы сетки:" -#: ../src/ui/dialog/inkscape-preferences.cpp:888 -#: ../src/ui/dialog/inkscape-preferences.cpp:909 +#: ../src/ui/dialog/inkscape-preferences.cpp:922 +#: ../src/ui/dialog/inkscape-preferences.cpp:943 msgid "Origin X:" msgstr "Точка отсчета по X:" -#: ../src/ui/dialog/inkscape-preferences.cpp:889 -#: ../src/ui/dialog/inkscape-preferences.cpp:910 +#: ../src/ui/dialog/inkscape-preferences.cpp:923 +#: ../src/ui/dialog/inkscape-preferences.cpp:944 msgid "Origin Y:" msgstr "Точка отсчета по Y:" -#: ../src/ui/dialog/inkscape-preferences.cpp:892 +#: ../src/ui/dialog/inkscape-preferences.cpp:926 msgid "Spacing X:" msgstr "Интервал по X:" -#: ../src/ui/dialog/inkscape-preferences.cpp:893 -#: ../src/ui/dialog/inkscape-preferences.cpp:912 +#: ../src/ui/dialog/inkscape-preferences.cpp:927 +#: ../src/ui/dialog/inkscape-preferences.cpp:946 msgid "Spacing Y:" msgstr "Интервал по Y:" -#: ../src/ui/dialog/inkscape-preferences.cpp:895 -#: ../src/ui/dialog/inkscape-preferences.cpp:896 -#: ../src/ui/dialog/inkscape-preferences.cpp:917 -#: ../src/ui/dialog/inkscape-preferences.cpp:918 +#: ../src/ui/dialog/inkscape-preferences.cpp:929 +#: ../src/ui/dialog/inkscape-preferences.cpp:930 +#: ../src/ui/dialog/inkscape-preferences.cpp:951 +#: ../src/ui/dialog/inkscape-preferences.cpp:952 msgid "Grid line color:" msgstr "Цвет обычных линий сетки:" -#: ../src/ui/dialog/inkscape-preferences.cpp:896 -#: ../src/ui/dialog/inkscape-preferences.cpp:918 +#: ../src/ui/dialog/inkscape-preferences.cpp:930 +#: ../src/ui/dialog/inkscape-preferences.cpp:952 msgid "Color used for normal grid lines" msgstr "Цвет обычных линий сетки" -#: ../src/ui/dialog/inkscape-preferences.cpp:897 -#: ../src/ui/dialog/inkscape-preferences.cpp:898 -#: ../src/ui/dialog/inkscape-preferences.cpp:919 -#: ../src/ui/dialog/inkscape-preferences.cpp:920 +#: ../src/ui/dialog/inkscape-preferences.cpp:931 +#: ../src/ui/dialog/inkscape-preferences.cpp:932 +#: ../src/ui/dialog/inkscape-preferences.cpp:953 +#: ../src/ui/dialog/inkscape-preferences.cpp:954 msgid "Major grid line color:" msgstr "Цвет основных линий сетки:" -#: ../src/ui/dialog/inkscape-preferences.cpp:898 -#: ../src/ui/dialog/inkscape-preferences.cpp:920 +#: ../src/ui/dialog/inkscape-preferences.cpp:932 +#: ../src/ui/dialog/inkscape-preferences.cpp:954 msgid "Color used for major (highlighted) grid lines" msgstr "Цвет основных линий сетки" -#: ../src/ui/dialog/inkscape-preferences.cpp:900 -#: ../src/ui/dialog/inkscape-preferences.cpp:922 +#: ../src/ui/dialog/inkscape-preferences.cpp:934 +#: ../src/ui/dialog/inkscape-preferences.cpp:956 msgid "Major grid line every:" msgstr "Основная линия сетки каждые:" -#: ../src/ui/dialog/inkscape-preferences.cpp:901 +#: ../src/ui/dialog/inkscape-preferences.cpp:935 msgid "Show dots instead of lines" msgstr "Показывать точки вместо линий" -#: ../src/ui/dialog/inkscape-preferences.cpp:902 +#: ../src/ui/dialog/inkscape-preferences.cpp:936 msgid "If set, display dots at gridpoints instead of gridlines" msgstr "Если включено, сетка отображается лишь точками пересечения ее линий, а не самими линиями" -#: ../src/ui/dialog/inkscape-preferences.cpp:929 +#: ../src/ui/dialog/inkscape-preferences.cpp:963 msgid "Use named colors" msgstr "Использовать именованные цвета" -#: ../src/ui/dialog/inkscape-preferences.cpp:930 +#: ../src/ui/dialog/inkscape-preferences.cpp:964 msgid "If set, write the CSS name of the color when available (e.g. 'red' or 'magenta') instead of the numeric value" msgstr "Если включено, записывать название цвета по CSS (например, 'red' или 'magenta') вместо числового значения" -#: ../src/ui/dialog/inkscape-preferences.cpp:932 +#: ../src/ui/dialog/inkscape-preferences.cpp:966 msgid "XML formatting" msgstr "Форматирование XML" -#: ../src/ui/dialog/inkscape-preferences.cpp:934 +#: ../src/ui/dialog/inkscape-preferences.cpp:968 msgid "Inline attributes" msgstr "Внутристрочные атрибуты" -#: ../src/ui/dialog/inkscape-preferences.cpp:935 +#: ../src/ui/dialog/inkscape-preferences.cpp:969 msgid "Put attributes on the same line as the element tag" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:938 +#: ../src/ui/dialog/inkscape-preferences.cpp:972 msgid "Indent, spaces:" msgstr "Отступ, пробелы:" -#: ../src/ui/dialog/inkscape-preferences.cpp:938 +#: ../src/ui/dialog/inkscape-preferences.cpp:972 msgid "The number of spaces to use for indenting nested elements; set to 0 for no indentation" msgstr "Количество пробелов, используемых для отступов вложенных элементов; ноль выключает отступы" -#: ../src/ui/dialog/inkscape-preferences.cpp:940 +#: ../src/ui/dialog/inkscape-preferences.cpp:974 msgid "Path data" msgstr "Данные контуров" -#: ../src/ui/dialog/inkscape-preferences.cpp:942 +#: ../src/ui/dialog/inkscape-preferences.cpp:976 msgid "Allow relative coordinates" msgstr "Разрешать относительные координаты" -#: ../src/ui/dialog/inkscape-preferences.cpp:943 +#: ../src/ui/dialog/inkscape-preferences.cpp:977 msgid "If set, relative coordinates may be used in path data" msgstr "Если включено, в данных контура могут использоваться относительные координаты" -#: ../src/ui/dialog/inkscape-preferences.cpp:945 +#: ../src/ui/dialog/inkscape-preferences.cpp:979 msgid "Force repeat commands" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:946 +#: ../src/ui/dialog/inkscape-preferences.cpp:980 msgid "Force repeating of the same path command (for example, 'L 1,2 L 3,4' instead of 'L 1,2 3,4')" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:948 +#: ../src/ui/dialog/inkscape-preferences.cpp:982 msgid "Numbers" msgstr "Числа" -#: ../src/ui/dialog/inkscape-preferences.cpp:951 +#: ../src/ui/dialog/inkscape-preferences.cpp:985 msgid "Numeric precision:" msgstr "Точность чисел:" -#: ../src/ui/dialog/inkscape-preferences.cpp:951 +#: ../src/ui/dialog/inkscape-preferences.cpp:985 msgid "How many digits to write after the decimal dot" msgstr "Сколько цифр писать после десятичного разделителя" -#: ../src/ui/dialog/inkscape-preferences.cpp:954 +#: ../src/ui/dialog/inkscape-preferences.cpp:988 msgid "Minimum exponent:" msgstr "Минимальная экспонента:" -#: ../src/ui/dialog/inkscape-preferences.cpp:954 +#: ../src/ui/dialog/inkscape-preferences.cpp:988 msgid "The smallest number written to SVG is 10 to the power of this exponent; anything smaller is written as zero." msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:956 +#: ../src/ui/dialog/inkscape-preferences.cpp:990 msgid "SVG output" msgstr "Экспорт в SVG" -#: ../src/ui/dialog/inkscape-preferences.cpp:965 +#: ../src/ui/dialog/inkscape-preferences.cpp:999 msgid "Commands bar icon size" msgstr "Значки панели команд:" -#: ../src/ui/dialog/inkscape-preferences.cpp:966 +#: ../src/ui/dialog/inkscape-preferences.cpp:1000 msgid "Set the size for the commands toolbar to use (requires restart)" msgstr "Изменить размер значков в панели команд (требует перезапуска программы)" -#: ../src/ui/dialog/inkscape-preferences.cpp:969 +#: ../src/ui/dialog/inkscape-preferences.cpp:1003 msgid "Tool controls bar icon size" msgstr "Значки панели параметров:" -#: ../src/ui/dialog/inkscape-preferences.cpp:970 +#: ../src/ui/dialog/inkscape-preferences.cpp:1004 msgid "Set the size for the secondary toolbar to use (requires restart)" msgstr "Изменить размер значков в панели параметров инструментов (требует перезапуска программы)" -#: ../src/ui/dialog/inkscape-preferences.cpp:973 +#: ../src/ui/dialog/inkscape-preferences.cpp:1007 msgid "Main toolbar icon size" msgstr "Значки панели инструментов:" -#: ../src/ui/dialog/inkscape-preferences.cpp:974 +#: ../src/ui/dialog/inkscape-preferences.cpp:1008 msgid "Set the size for the main tools to use (requires restart)" msgstr "Изменить размер значков в панели инструментов (требует перезапуска программы)" -#: ../src/ui/dialog/inkscape-preferences.cpp:977 +#: ../src/ui/dialog/inkscape-preferences.cpp:1011 msgid "Maximum documents in Open Recent:" msgstr "Недавних документов в меню:" -#: ../src/ui/dialog/inkscape-preferences.cpp:978 +#: ../src/ui/dialog/inkscape-preferences.cpp:1012 msgid "The maximum length of the Open Recent list in the File menu" msgstr "Сколько недавно открывавшихся документов помнить" -#: ../src/ui/dialog/inkscape-preferences.cpp:981 +#: ../src/ui/dialog/inkscape-preferences.cpp:1015 msgid "Zoom correction factor (in %):" msgstr "Коэфф. масштаба видимой страницы (%):" -#: ../src/ui/dialog/inkscape-preferences.cpp:982 +#: ../src/ui/dialog/inkscape-preferences.cpp:1016 msgid "Adjust the slider until the length of the ruler on your screen matches its real length. This information is used when zooming to 1:1, 1:2, etc., to display objects in their true sizes" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:984 +#: ../src/ui/dialog/inkscape-preferences.cpp:1018 msgid "Interface" msgstr "Интерфейс" #. Autosave options -#: ../src/ui/dialog/inkscape-preferences.cpp:991 +#: ../src/ui/dialog/inkscape-preferences.cpp:1025 msgid "Enable autosave (requires restart)" msgstr "Включить автосохранение (требует перезапуска программы)" -#: ../src/ui/dialog/inkscape-preferences.cpp:992 +#: ../src/ui/dialog/inkscape-preferences.cpp:1026 msgid "Automatically save the current document(s) at a given interval, thus minimizing loss in case of a crash" msgstr "Автоматически сохранять текущий документ через заданный временной интервал, минимизируя риск потери данных" -#: ../src/ui/dialog/inkscape-preferences.cpp:994 +#: ../src/ui/dialog/inkscape-preferences.cpp:1028 msgid "Interval (in minutes):" msgstr "Интервал (в минутах):" -#: ../src/ui/dialog/inkscape-preferences.cpp:994 +#: ../src/ui/dialog/inkscape-preferences.cpp:1028 msgid "Interval (in minutes) at which document will be autosaved" msgstr "Интервал в минутах, через который документ автоматически сохраняется" -#: ../src/ui/dialog/inkscape-preferences.cpp:996 +#: ../src/ui/dialog/inkscape-preferences.cpp:1030 msgid "Path:" msgstr "Путь:" -#: ../src/ui/dialog/inkscape-preferences.cpp:996 +#: ../src/ui/dialog/inkscape-preferences.cpp:1030 msgid "The directory where autosaves will be written" msgstr "Каталог, в который записываются файлы автосохранения" -#: ../src/ui/dialog/inkscape-preferences.cpp:998 +#: ../src/ui/dialog/inkscape-preferences.cpp:1032 msgid "Maximum number of autosaves:" msgstr "Максимальное число автосохранений:" -#: ../src/ui/dialog/inkscape-preferences.cpp:998 +#: ../src/ui/dialog/inkscape-preferences.cpp:1032 msgid "Maximum number of autosaved files; use this to limit the storage space used" msgstr "Максимальное число файлов автосохранения; используйте этот параметр для ограничения используемого дискового пространства" @@ -11750,164 +11820,162 @@ msgstr "Максимальное число файлов автосохране #. * #. * FIXME! #. * the inkscape_autosave_init should be called AFTER the values have been changed -#. * (which cannot be guaranteed from here) -#. * -#. * For now, autosave-settings will not change until restart +#. * (which cannot be guaranteed from here) - use a PrefObserver somewhere #. #. #. _autosave_autosave_enable.signal_toggled().connect( sigc::ptr_fun(inkscape_autosave_init), TRUE ); #. _autosave_autosave_interval.signal_changed().connect( sigc::ptr_fun(inkscape_autosave_init), TRUE ); #. #. ----------- -#: ../src/ui/dialog/inkscape-preferences.cpp:1016 +#: ../src/ui/dialog/inkscape-preferences.cpp:1048 msgid "Autosave" msgstr "Автосохранение" -#: ../src/ui/dialog/inkscape-preferences.cpp:1022 +#: ../src/ui/dialog/inkscape-preferences.cpp:1054 msgid "2x2" msgstr "2×2" -#: ../src/ui/dialog/inkscape-preferences.cpp:1022 +#: ../src/ui/dialog/inkscape-preferences.cpp:1054 msgid "4x4" msgstr "4×4" -#: ../src/ui/dialog/inkscape-preferences.cpp:1022 +#: ../src/ui/dialog/inkscape-preferences.cpp:1054 msgid "8x8" msgstr "8×8" -#: ../src/ui/dialog/inkscape-preferences.cpp:1022 +#: ../src/ui/dialog/inkscape-preferences.cpp:1054 msgid "16x16" msgstr "16×16" -#: ../src/ui/dialog/inkscape-preferences.cpp:1026 +#: ../src/ui/dialog/inkscape-preferences.cpp:1058 msgid "Oversample bitmaps:" msgstr "Усреднять растр по точкам:" -#: ../src/ui/dialog/inkscape-preferences.cpp:1029 +#: ../src/ui/dialog/inkscape-preferences.cpp:1061 msgid "Automatically reload bitmaps" msgstr "Автоматически перезагружать растровые файлы" -#: ../src/ui/dialog/inkscape-preferences.cpp:1031 +#: ../src/ui/dialog/inkscape-preferences.cpp:1063 msgid "Automatically reload linked images when file is changed on disk" msgstr "Автоматически заново загружать связанные изображения, когда они меняются на диске" -#: ../src/ui/dialog/inkscape-preferences.cpp:1045 +#: ../src/ui/dialog/inkscape-preferences.cpp:1077 msgid "Bitmap editor:" msgstr "Редактор растровых файлов:" -#: ../src/ui/dialog/inkscape-preferences.cpp:1051 +#: ../src/ui/dialog/inkscape-preferences.cpp:1083 msgid "Resolution for Create Bitmap Copy:" msgstr "Разрешение растровой копии:" -#: ../src/ui/dialog/inkscape-preferences.cpp:1052 +#: ../src/ui/dialog/inkscape-preferences.cpp:1084 msgid "Resolution used by the Create Bitmap Copy command" msgstr "Разрешение растра при создании растровой копии выделения" -#: ../src/ui/dialog/inkscape-preferences.cpp:1054 +#: ../src/ui/dialog/inkscape-preferences.cpp:1086 msgid "Bitmaps" msgstr "Растр" -#: ../src/ui/dialog/inkscape-preferences.cpp:1060 +#: ../src/ui/dialog/inkscape-preferences.cpp:1092 msgid "Add label comments to printing output" msgstr "Добавлять метки в виде комментариев при выводе на печать" -#: ../src/ui/dialog/inkscape-preferences.cpp:1062 +#: ../src/ui/dialog/inkscape-preferences.cpp:1094 msgid "When on, a comment will be added to the raw print output, marking the rendered output for an object with its label" msgstr "С этой опцией при выводе на печать будут добавляться комментарии, содержащие метки для каждого объекта" -#: ../src/ui/dialog/inkscape-preferences.cpp:1064 +#: ../src/ui/dialog/inkscape-preferences.cpp:1096 msgid "Prevent sharing of gradient definitions" msgstr "Не разделять определения градиентов между объектами" -#: ../src/ui/dialog/inkscape-preferences.cpp:1066 +#: ../src/ui/dialog/inkscape-preferences.cpp:1098 msgid "When on, shared gradient definitions are automatically forked on change; uncheck to allow sharing of gradient definitions so that editing one object may affect other objects using the same gradient" msgstr "Если параметр включен, разделяемые определения (defs) градиентов при изменении копируются в новые; если выключен, определения разделяются между объектами, так что изменение градиента для одного объекта может сказаться на другом объекте." -#: ../src/ui/dialog/inkscape-preferences.cpp:1069 +#: ../src/ui/dialog/inkscape-preferences.cpp:1101 msgid "Simplification threshold:" msgstr "Порог упрощения:" -#: ../src/ui/dialog/inkscape-preferences.cpp:1070 +#: ../src/ui/dialog/inkscape-preferences.cpp:1102 msgid "How strong is the Simplify command by default. If you invoke this command several times in quick succession, it will act more and more aggressively; invoking it again after a pause restores the default threshold." msgstr "Степень упрощения по команде Упростить. Если вызывать эту команду несколько раз подряд, она будет действовать с каждым разом все более агрессивно; чтобы вернуться к значению по умолчанию, сделайте паузу перед очередным вызовом команды." -#: ../src/ui/dialog/inkscape-preferences.cpp:1073 +#: ../src/ui/dialog/inkscape-preferences.cpp:1105 msgid "Latency skew:" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1073 +#: ../src/ui/dialog/inkscape-preferences.cpp:1105 msgid "(requires restart)" msgstr "(требует перезапуска программы)" -#: ../src/ui/dialog/inkscape-preferences.cpp:1074 +#: ../src/ui/dialog/inkscape-preferences.cpp:1106 msgid "Factor by which the event clock is skewed from the actual time (0.9766 on some systems)." msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1076 +#: ../src/ui/dialog/inkscape-preferences.cpp:1108 msgid "Pre-render named icons" msgstr "Предварительно отрисовывать именованные значки" -#: ../src/ui/dialog/inkscape-preferences.cpp:1078 +#: ../src/ui/dialog/inkscape-preferences.cpp:1110 msgid "When on, named icons will be rendered before displaying the ui. This is for working around bugs in GTK+ named icon notification" msgstr "" -#: ../src/ui/dialog/inkscape-preferences.cpp:1080 +#: ../src/ui/dialog/inkscape-preferences.cpp:1112 msgid "Misc" msgstr "Прочее" -#: ../src/ui/dialog/livepatheffect-editor.cpp:76 +#: ../src/ui/dialog/livepatheffect-editor.cpp:75 msgid "Apply new effect" msgstr "Применить новый эффект" -#: ../src/ui/dialog/livepatheffect-editor.cpp:77 +#: ../src/ui/dialog/livepatheffect-editor.cpp:76 msgid "Current effect" msgstr "Текущий эффект" -#: ../src/ui/dialog/livepatheffect-editor.cpp:78 +#: ../src/ui/dialog/livepatheffect-editor.cpp:77 msgid "Effect list" msgstr "Список эффектов" -#: ../src/ui/dialog/livepatheffect-editor.cpp:266 +#: ../src/ui/dialog/livepatheffect-editor.cpp:265 msgid "Unknown effect is applied" msgstr "Применен неизвестный эффект" -#: ../src/ui/dialog/livepatheffect-editor.cpp:269 +#: ../src/ui/dialog/livepatheffect-editor.cpp:268 msgid "No effect applied" msgstr "Нет примененных эффектов" -#: ../src/ui/dialog/livepatheffect-editor.cpp:273 +#: ../src/ui/dialog/livepatheffect-editor.cpp:272 msgid "Item is not a path or shape" msgstr "Объект не является контуром или фигурой" -#: ../src/ui/dialog/livepatheffect-editor.cpp:277 +#: ../src/ui/dialog/livepatheffect-editor.cpp:276 msgid "Only one item can be selected" msgstr "Можно выбрать только один объект" -#: ../src/ui/dialog/livepatheffect-editor.cpp:281 +#: ../src/ui/dialog/livepatheffect-editor.cpp:280 msgid "Empty selection" msgstr "Выделение пусто" -#: ../src/ui/dialog/livepatheffect-editor.cpp:364 +#: ../src/ui/dialog/livepatheffect-editor.cpp:370 msgid "Create and apply path effect" msgstr "Создание контурного эффекта" -#: ../src/ui/dialog/livepatheffect-editor.cpp:381 +#: ../src/ui/dialog/livepatheffect-editor.cpp:387 msgid "Remove path effect" msgstr "Удаление контурного эффекта" -#: ../src/ui/dialog/livepatheffect-editor.cpp:397 +#: ../src/ui/dialog/livepatheffect-editor.cpp:403 msgid "Move path effect up" msgstr "Повысить контурный эффект" -#: ../src/ui/dialog/livepatheffect-editor.cpp:413 +#: ../src/ui/dialog/livepatheffect-editor.cpp:419 msgid "Move path effect down" msgstr "Понизить контурный эффект" -#: ../src/ui/dialog/livepatheffect-editor.cpp:450 +#: ../src/ui/dialog/livepatheffect-editor.cpp:458 msgid "Activate path effect" msgstr "Активация контурного эффекта" -#: ../src/ui/dialog/livepatheffect-editor.cpp:450 +#: ../src/ui/dialog/livepatheffect-editor.cpp:458 msgid "Deactivate path effect" msgstr "Деактивация контурного эффекта" @@ -11944,11 +12012,11 @@ msgstr "Совокупно" msgid "Recalculate" msgstr "Пересчитать" -#: ../src/ui/dialog/messages.cpp:75 +#: ../src/ui/dialog/messages.cpp:73 msgid "Ready." msgstr "Готово." -#: ../src/ui/dialog/messages.cpp:76 +#: ../src/ui/dialog/messages.cpp:74 msgid "Enable log display by setting dialogs.debug 'redirect' attribute to 1 in preferences.xml" msgstr "" "Включить отображение журнала, \n" @@ -11996,29 +12064,29 @@ msgstr "Искать" msgid "Files found" msgstr "Найденные рисунки" -#: ../src/ui/dialog/print.cpp:138 +#: ../src/ui/dialog/print.cpp:141 msgid "Could not open temporary PNG for bitmap printing" msgstr "Не удалось открыть временный файл PNG для растровой печати" -#: ../src/ui/dialog/print.cpp:173 +#: ../src/ui/dialog/print.cpp:176 msgid "Could not set up Document" msgstr "Не удалось подготовить документ" -#: ../src/ui/dialog/print.cpp:177 +#: ../src/ui/dialog/print.cpp:180 msgid "Failed to set CairoRenderContext" msgstr "Не удалось установить CairoRenderContext" #. set up dialog title, based on document name -#: ../src/ui/dialog/print.cpp:217 +#: ../src/ui/dialog/print.cpp:220 msgid "SVG Document" msgstr "Документ SVG" -#: ../src/ui/dialog/print.cpp:218 +#: ../src/ui/dialog/print.cpp:221 msgid "Print" msgstr "Напечатать" #. build custom preferences tab -#: ../src/ui/dialog/print.cpp:245 +#: ../src/ui/dialog/print.cpp:248 msgid "Rendering" msgstr "Тип печати" @@ -12047,15 +12115,15 @@ msgid "Errors" msgstr "Ошибки" #. Dialog organization -#: ../src/ui/dialog/session-player.cpp:73 +#: ../src/ui/dialog/session-player.cpp:72 msgid "Session file" msgstr "Файл сессии" -#: ../src/ui/dialog/session-player.cpp:74 +#: ../src/ui/dialog/session-player.cpp:73 msgid "Playback controls" msgstr "Управление воспроизведением" -#: ../src/ui/dialog/session-player.cpp:75 +#: ../src/ui/dialog/session-player.cpp:74 #, fuzzy msgid "Message information" msgstr "Информация об используемой памяти" @@ -12063,95 +12131,120 @@ msgstr "Информация об используемой памяти" #. Active session file display #. fixme: Does this mean the active file for the session, or the file for the active session? #. Please indicate which with a TRANSLATORS comment. -#: ../src/ui/dialog/session-player.cpp:85 +#: ../src/ui/dialog/session-player.cpp:84 msgid "Active session file:" msgstr "Файл активной сессии:" -#: ../src/ui/dialog/session-player.cpp:86 +#: ../src/ui/dialog/session-player.cpp:85 msgid "Delay (milliseconds):" msgstr "Задержка (мс):" #. Unload/load buttons -#: ../src/ui/dialog/session-player.cpp:94 +#: ../src/ui/dialog/session-player.cpp:93 msgid "Close file" msgstr "Закрыть файл" -#: ../src/ui/dialog/session-player.cpp:95 +#: ../src/ui/dialog/session-player.cpp:94 msgid "Open new file" msgstr "Открыть новый файл" -#: ../src/ui/dialog/session-player.cpp:96 +#: ../src/ui/dialog/session-player.cpp:95 #, fuzzy msgid "Set delay" msgstr "Установить полупрозрачность" -#: ../src/ui/dialog/session-player.cpp:138 +#: ../src/ui/dialog/session-player.cpp:137 msgid "Rewind" msgstr "Перемотать назад" -#: ../src/ui/dialog/session-player.cpp:139 +#: ../src/ui/dialog/session-player.cpp:138 msgid "Go back one change" msgstr "На изменение вперед" -#: ../src/ui/dialog/session-player.cpp:140 +#: ../src/ui/dialog/session-player.cpp:139 msgid "Pause" msgstr "Пауза" -#: ../src/ui/dialog/session-player.cpp:141 +#: ../src/ui/dialog/session-player.cpp:140 msgid "Go forward one change" msgstr "На изменение назад" -#: ../src/ui/dialog/session-player.cpp:142 +#: ../src/ui/dialog/session-player.cpp:141 msgid "Play" msgstr "Воспроизвести" -#: ../src/ui/dialog/session-player.cpp:177 +#: ../src/ui/dialog/session-player.cpp:176 msgid "Open session file" msgstr "Открыть файл сессии" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:111 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:110 msgid "Set SVG Font attribute" msgstr "Установить атрибут SVG Font" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:261 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:251 +msgid "Family Name:" +msgstr "Гарнитура:" + +#: ../src/ui/dialog/svg-fonts-dialog.cpp:254 +msgid "Style:" +msgstr "Начертание:" + +#: ../src/ui/dialog/svg-fonts-dialog.cpp:255 +#, fuzzy +msgid "Variant:" +msgstr "Напечатать" + +#: ../src/ui/dialog/svg-fonts-dialog.cpp:256 +msgid "Weight:" +msgstr "Насыщенность:" + +#: ../src/ui/dialog/svg-fonts-dialog.cpp:260 #, fuzzy msgid "Set width:" msgstr "Масштаб ширины" +#: ../src/ui/dialog/svg-fonts-dialog.cpp:273 +msgid "Glyph Name:" +msgstr "Название глифа:" + +#: ../src/ui/dialog/svg-fonts-dialog.cpp:274 +msgid "Unicode:" +msgstr "Значение Unicode:" + #. Kerning Setup: -#: ../src/ui/dialog/svg-fonts-dialog.cpp:287 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:286 msgid "Kerning Setup:" msgstr "Параметры кернинга:" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:289 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:288 msgid "1st Glyph:" msgstr "Первый глиф:" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:291 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:290 msgid "2nd Glyph:" msgstr "Второй глиф:" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:302 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:301 msgid "Kerning value:" msgstr "Значение кернинга:" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:322 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:321 msgid "_Font" msgstr "_Шрифт" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:330 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:329 msgid "_Global Settings" -msgstr "Г_лобальные параметры" +msgstr "О_бщие параметры" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:331 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:330 msgid "_Glyphs" msgstr "_Глифы" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:332 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:331 msgid "_Kerning" msgstr "_Кернинг" -#: ../src/ui/dialog/svg-fonts-dialog.cpp:344 +#: ../src/ui/dialog/svg-fonts-dialog.cpp:343 msgid "Preview Text:" msgstr "Текст:" @@ -12160,33 +12253,33 @@ msgstr "Текст:" #. ## begin mode page #. # begin single scan #. brightness -#: ../src/ui/dialog/tracedialog.cpp:396 +#: ../src/ui/dialog/tracedialog.cpp:395 msgid "Brightness cutoff" msgstr "Сокращение яркости" -#: ../src/ui/dialog/tracedialog.cpp:400 +#: ../src/ui/dialog/tracedialog.cpp:399 msgid "Trace by a given brightness level" msgstr "Векторизовать по заданному уровню яркости" -#: ../src/ui/dialog/tracedialog.cpp:408 +#: ../src/ui/dialog/tracedialog.cpp:407 msgid "Brightness cutoff for black/white" msgstr "Порог яркости для черно-белого" -#: ../src/ui/dialog/tracedialog.cpp:415 +#: ../src/ui/dialog/tracedialog.cpp:414 msgid "Single scan: creates a path" msgstr "Одиночное сканирование: создаёт контур" #. canny edge detection #. TRANSLATORS: "Canny" is the name of the inventor of this edge detection method -#: ../src/ui/dialog/tracedialog.cpp:420 +#: ../src/ui/dialog/tracedialog.cpp:419 msgid "Edge detection" msgstr "Определение краёв" -#: ../src/ui/dialog/tracedialog.cpp:424 +#: ../src/ui/dialog/tracedialog.cpp:423 msgid "Trace with optimal edge detection by J. Canny's algorithm" msgstr "Векторизовать с оптимальным определением краев по алгоритму J. Canny" -#: ../src/ui/dialog/tracedialog.cpp:441 +#: ../src/ui/dialog/tracedialog.cpp:440 msgid "Brightness cutoff for adjacent pixels (determines edge thickness)" msgstr "Порог яркости для смежных пикселов (определяет толщину краев)" @@ -12194,312 +12287,312 @@ msgstr "Порог яркости для смежных пикселов (опр #. TRANSLATORS: Color Quantization: the process of reducing the number #. of colors in an image by selecting an optimized set of representative #. colors and then re-applying this reduced set to the original image. -#: ../src/ui/dialog/tracedialog.cpp:453 +#: ../src/ui/dialog/tracedialog.cpp:452 msgid "Color quantization" msgstr "Квантование цветов" -#: ../src/ui/dialog/tracedialog.cpp:457 +#: ../src/ui/dialog/tracedialog.cpp:456 msgid "Trace along the boundaries of reduced colors" msgstr "Векторизовать вдоль границы сокращенных цветов" -#: ../src/ui/dialog/tracedialog.cpp:465 +#: ../src/ui/dialog/tracedialog.cpp:464 msgid "The number of reduced colors" msgstr "Количество цветов после сокращения" -#: ../src/ui/dialog/tracedialog.cpp:467 +#: ../src/ui/dialog/tracedialog.cpp:466 msgid "Colors:" msgstr "Цветов:" #. swap black and white -#: ../src/ui/dialog/tracedialog.cpp:473 +#: ../src/ui/dialog/tracedialog.cpp:472 msgid "Invert image" msgstr "Инвертировать изображение" -#: ../src/ui/dialog/tracedialog.cpp:478 +#: ../src/ui/dialog/tracedialog.cpp:477 msgid "Invert black and white regions" msgstr "Поменять местами чёрные и белые области" #. # end single scan #. # begin multiple scan -#: ../src/ui/dialog/tracedialog.cpp:487 +#: ../src/ui/dialog/tracedialog.cpp:486 msgid "Brightness steps" msgstr "Шаги яркости" -#: ../src/ui/dialog/tracedialog.cpp:491 +#: ../src/ui/dialog/tracedialog.cpp:490 msgid "Trace the given number of brightness levels" msgstr "Трассировать указанное количество уровней яркости" -#: ../src/ui/dialog/tracedialog.cpp:498 +#: ../src/ui/dialog/tracedialog.cpp:497 msgid "Scans:" msgstr "Сканирований:" -#: ../src/ui/dialog/tracedialog.cpp:501 +#: ../src/ui/dialog/tracedialog.cpp:500 msgid "The desired number of scans" msgstr "Желаемое количество сканирований" -#: ../src/ui/dialog/tracedialog.cpp:505 +#: ../src/ui/dialog/tracedialog.cpp:504 msgid "Colors" msgstr "В цвете" -#: ../src/ui/dialog/tracedialog.cpp:509 +#: ../src/ui/dialog/tracedialog.cpp:508 msgid "Trace the given number of reduced colors" msgstr "Трассировать указанное количество цветов" -#: ../src/ui/dialog/tracedialog.cpp:513 +#: ../src/ui/dialog/tracedialog.cpp:512 msgid "Grays" msgstr "В градациях серого" -#: ../src/ui/dialog/tracedialog.cpp:517 +#: ../src/ui/dialog/tracedialog.cpp:516 msgid "Same as Colors, but the result is converted to grayscale" msgstr "" "То же, что и для «В цвете», но конечное\n" "изображение будет в градациях серого" #. TRANSLATORS: "Smooth" is a verb here -#: ../src/ui/dialog/tracedialog.cpp:522 +#: ../src/ui/dialog/tracedialog.cpp:521 msgid "Smooth" msgstr "Сгладить" -#: ../src/ui/dialog/tracedialog.cpp:526 +#: ../src/ui/dialog/tracedialog.cpp:525 msgid "Apply Gaussian blur to the bitmap before tracing" msgstr "Применить Гауссово размывание растра перед векторизацией" #. TRANSLATORS: "Stack" is a verb here -#: ../src/ui/dialog/tracedialog.cpp:529 +#: ../src/ui/dialog/tracedialog.cpp:528 msgid "Stack scans" msgstr "Сложить стопкой" -#: ../src/ui/dialog/tracedialog.cpp:532 +#: ../src/ui/dialog/tracedialog.cpp:531 msgid "Stack scans on top of one another (no gaps) instead of tiling (usually with gaps)" msgstr "Слои выкладываются стопкой один над другим (без щелей), а не встык (обычно со щелями)" -#: ../src/ui/dialog/tracedialog.cpp:535 +#: ../src/ui/dialog/tracedialog.cpp:534 msgid "Remove background" msgstr "Убрать фон" -#: ../src/ui/dialog/tracedialog.cpp:540 +#: ../src/ui/dialog/tracedialog.cpp:539 msgid "Remove bottom (background) layer when done" msgstr "Удалить нижнюю стопку объектов по завершении" -#: ../src/ui/dialog/tracedialog.cpp:544 +#: ../src/ui/dialog/tracedialog.cpp:543 msgid "Multiple scans: creates a group of paths" msgstr "Множественное сканирование: создаёт группу контуров" #. ## begin option page #. # potrace parameters -#: ../src/ui/dialog/tracedialog.cpp:559 +#: ../src/ui/dialog/tracedialog.cpp:558 msgid "Suppress speckles" msgstr "Убрать пятна" -#: ../src/ui/dialog/tracedialog.cpp:561 +#: ../src/ui/dialog/tracedialog.cpp:560 msgid "Ignore small spots (speckles) in the bitmap" msgstr "Проигнорировать мелкие точки (пятна) на изображении" -#: ../src/ui/dialog/tracedialog.cpp:569 +#: ../src/ui/dialog/tracedialog.cpp:568 msgid "Speckles of up to this many pixels will be suppressed" msgstr "Пятна такого диаметра в пикселах будут подавлены" -#: ../src/ui/dialog/tracedialog.cpp:571 +#: ../src/ui/dialog/tracedialog.cpp:570 msgid "Size:" msgstr "Размер:" -#: ../src/ui/dialog/tracedialog.cpp:574 +#: ../src/ui/dialog/tracedialog.cpp:573 msgid "Smooth corners" msgstr "Сгладить углы" -#: ../src/ui/dialog/tracedialog.cpp:576 +#: ../src/ui/dialog/tracedialog.cpp:575 msgid "Smooth out sharp corners of the trace" msgstr "Сгладить острые углы при векторизации" -#: ../src/ui/dialog/tracedialog.cpp:585 +#: ../src/ui/dialog/tracedialog.cpp:584 msgid "Increase this to smooth corners more" msgstr "Чем больше значение, тем глаже углы" -#: ../src/ui/dialog/tracedialog.cpp:589 +#: ../src/ui/dialog/tracedialog.cpp:588 msgid "Optimize paths" msgstr "Оптимизировать контуры" -#: ../src/ui/dialog/tracedialog.cpp:592 +#: ../src/ui/dialog/tracedialog.cpp:591 msgid "Try to optimize paths by joining adjacent Bezier curve segments" msgstr "Попытаться оптимизировать контуры соединением соседних сегментов кривых Безье" -#: ../src/ui/dialog/tracedialog.cpp:600 +#: ../src/ui/dialog/tracedialog.cpp:599 msgid "Increase this to reduce the number of nodes in the trace by more aggressive optimization" msgstr "Чем больше значение, тем меньше количество узлов" -#: ../src/ui/dialog/tracedialog.cpp:601 +#: ../src/ui/dialog/tracedialog.cpp:600 msgid "Tolerance:" msgstr "Сглаживание:" #. ## end option page -#: ../src/ui/dialog/tracedialog.cpp:607 -#: ../src/ui/dialog/tracedialog.cpp:613 +#: ../src/ui/dialog/tracedialog.cpp:606 +#: ../src/ui/dialog/tracedialog.cpp:612 msgid "Options" msgstr "Параметры" #. ### credits -#: ../src/ui/dialog/tracedialog.cpp:621 +#: ../src/ui/dialog/tracedialog.cpp:620 msgid "Thanks to Peter Selinger, http://potrace.sourceforge.net" msgstr "Спасибо Питеру Селинджеру, http://potrace.sourceforge.net" -#: ../src/ui/dialog/tracedialog.cpp:623 +#: ../src/ui/dialog/tracedialog.cpp:622 msgid "Credits" msgstr "Благодарности" #. #### begin right panel #. ## SIOX -#: ../src/ui/dialog/tracedialog.cpp:637 +#: ../src/ui/dialog/tracedialog.cpp:636 msgid "SIOX foreground selection" msgstr "Выделение переднего плана при помощи SIOX" -#: ../src/ui/dialog/tracedialog.cpp:640 +#: ../src/ui/dialog/tracedialog.cpp:639 msgid "Cover the area you want to select as the foreground" msgstr "Обведите область изображения, которая находится на переднем плане" #. ## preview -#: ../src/ui/dialog/tracedialog.cpp:645 +#: ../src/ui/dialog/tracedialog.cpp:644 msgid "Update" msgstr "Обновить" -#: ../src/ui/dialog/tracedialog.cpp:651 +#: ../src/ui/dialog/tracedialog.cpp:650 msgid "Preview the intermediate bitmap with the current settings, without actual tracing" msgstr "Просмотреть будущий результат перед собственно векторизацией" -#: ../src/ui/dialog/tracedialog.cpp:655 +#: ../src/ui/dialog/tracedialog.cpp:654 msgid "Preview" msgstr "Предпросмотр" -#: ../src/ui/dialog/tracedialog.cpp:672 +#: ../src/ui/dialog/tracedialog.cpp:671 msgid "Abort a trace in progress" msgstr "Прервать векторизацию" -#: ../src/ui/dialog/tracedialog.cpp:676 +#: ../src/ui/dialog/tracedialog.cpp:675 msgid "Execute the trace" msgstr "Векторизовать" -#: ../src/ui/dialog/transformation.cpp:83 -#: ../src/ui/dialog/transformation.cpp:93 +#: ../src/ui/dialog/transformation.cpp:82 +#: ../src/ui/dialog/transformation.cpp:92 msgid "_Horizontal" msgstr "По _горизонтали" -#: ../src/ui/dialog/transformation.cpp:83 +#: ../src/ui/dialog/transformation.cpp:82 msgid "Horizontal displacement (relative) or position (absolute)" msgstr "Смещение (относительное) или позиционирование (абсолютное) по горизонтали" -#: ../src/ui/dialog/transformation.cpp:85 -#: ../src/ui/dialog/transformation.cpp:95 +#: ../src/ui/dialog/transformation.cpp:84 +#: ../src/ui/dialog/transformation.cpp:94 msgid "_Vertical" msgstr "По _вертикали" -#: ../src/ui/dialog/transformation.cpp:85 +#: ../src/ui/dialog/transformation.cpp:84 msgid "Vertical displacement (relative) or position (absolute)" msgstr "Смещение (относительное) или позиционирование (абсолютное) по вертикали" -#: ../src/ui/dialog/transformation.cpp:87 +#: ../src/ui/dialog/transformation.cpp:86 msgid "_Width" msgstr "_Ширина" -#: ../src/ui/dialog/transformation.cpp:87 +#: ../src/ui/dialog/transformation.cpp:86 msgid "Horizontal size (absolute or percentage of current)" msgstr "Размер по горизонтали (абсолютный или в %)" -#: ../src/ui/dialog/transformation.cpp:89 +#: ../src/ui/dialog/transformation.cpp:88 msgid "_Height" msgstr "_Высота" -#: ../src/ui/dialog/transformation.cpp:89 +#: ../src/ui/dialog/transformation.cpp:88 msgid "Vertical size (absolute or percentage of current)" msgstr "Размер по вертикали (абсолютный или в %)" -#: ../src/ui/dialog/transformation.cpp:91 +#: ../src/ui/dialog/transformation.cpp:90 msgid "A_ngle" msgstr "_Угол:" -#: ../src/ui/dialog/transformation.cpp:91 +#: ../src/ui/dialog/transformation.cpp:90 msgid "Rotation angle (positive = counterclockwise)" msgstr "Угол поворота (больше 0 = против часовой стрелки)" -#: ../src/ui/dialog/transformation.cpp:93 +#: ../src/ui/dialog/transformation.cpp:92 msgid "Horizontal skew angle (positive = counterclockwise), or absolute displacement, or percentage displacement" msgstr "Угол скоса по горизонтали (больше 0 = против часовой стрелки), либо абсолютное смещение, либо процентное смещение" -#: ../src/ui/dialog/transformation.cpp:95 +#: ../src/ui/dialog/transformation.cpp:94 msgid "Vertical skew angle (positive = counterclockwise), or absolute displacement, or percentage displacement" msgstr "Угол скоса по вертикали (больше 0 = против часовой стрелки), либо абсолютное смещение, либо процентное смещение" -#: ../src/ui/dialog/transformation.cpp:98 +#: ../src/ui/dialog/transformation.cpp:97 msgid "Transformation matrix element A" msgstr "Преобразование элемента матрицы A" -#: ../src/ui/dialog/transformation.cpp:99 +#: ../src/ui/dialog/transformation.cpp:98 msgid "Transformation matrix element B" msgstr "Преобразование элемента матрицы B" -#: ../src/ui/dialog/transformation.cpp:100 +#: ../src/ui/dialog/transformation.cpp:99 msgid "Transformation matrix element C" msgstr "Преобразование элемента матрицы C" -#: ../src/ui/dialog/transformation.cpp:101 +#: ../src/ui/dialog/transformation.cpp:100 msgid "Transformation matrix element D" msgstr "Преобразование элемента матрицы D" -#: ../src/ui/dialog/transformation.cpp:102 +#: ../src/ui/dialog/transformation.cpp:101 msgid "Transformation matrix element E" msgstr "Преобразование элемента матрицы E" -#: ../src/ui/dialog/transformation.cpp:103 +#: ../src/ui/dialog/transformation.cpp:102 msgid "Transformation matrix element F" msgstr "Преобразование элемента матрицы F" -#: ../src/ui/dialog/transformation.cpp:105 +#: ../src/ui/dialog/transformation.cpp:104 msgid "Rela_tive move" msgstr "_Относительное смещение" -#: ../src/ui/dialog/transformation.cpp:105 +#: ../src/ui/dialog/transformation.cpp:104 msgid "Add the specified relative displacement to the current position; otherwise, edit the current absolute position directly" msgstr "Добавить указанное относительное смещение к текущей позиции; в противном случае изменить текущую абсолютную позицию напрямую" -#: ../src/ui/dialog/transformation.cpp:106 +#: ../src/ui/dialog/transformation.cpp:105 msgid "Scale proportionally" msgstr "Пропорциональное масштабирование" -#: ../src/ui/dialog/transformation.cpp:106 +#: ../src/ui/dialog/transformation.cpp:105 msgid "Preserve the width/height ratio of the scaled objects" msgstr "Сохранять соотношение ширины и высоты масштабируемых объектов" -#: ../src/ui/dialog/transformation.cpp:107 +#: ../src/ui/dialog/transformation.cpp:106 msgid "Apply to each _object separately" msgstr "Применить к _каждому объекту отдельно" -#: ../src/ui/dialog/transformation.cpp:107 +#: ../src/ui/dialog/transformation.cpp:106 msgid "Apply the scale/rotate/skew to each selected object separately; otherwise, transform the selection as a whole" msgstr "Применить масштабирование/вращение/скашивание к каждому объекту отдельно; в противном случае выделенное преобразовывается как один объект" -#: ../src/ui/dialog/transformation.cpp:108 +#: ../src/ui/dialog/transformation.cpp:107 msgid "Edit c_urrent matrix" msgstr "Изменить текущую _матрицу" -#: ../src/ui/dialog/transformation.cpp:108 +#: ../src/ui/dialog/transformation.cpp:107 msgid "Edit the current transform= matrix; otherwise, post-multiply transform= by this matrix" msgstr "Изменить текущую матрицу transform=; в противном случае, послеумножить transform= на эту матрицу" -#: ../src/ui/dialog/transformation.cpp:118 +#: ../src/ui/dialog/transformation.cpp:117 msgid "_Move" msgstr "_Смещение" -#: ../src/ui/dialog/transformation.cpp:121 +#: ../src/ui/dialog/transformation.cpp:120 msgid "_Scale" msgstr "_Масштаб" -#: ../src/ui/dialog/transformation.cpp:124 +#: ../src/ui/dialog/transformation.cpp:123 msgid "_Rotate" msgstr "_Вращение" -#: ../src/ui/dialog/transformation.cpp:127 +#: ../src/ui/dialog/transformation.cpp:126 msgid "Ske_w" msgstr "С_кос" -#: ../src/ui/dialog/transformation.cpp:130 +#: ../src/ui/dialog/transformation.cpp:129 msgid "Matri_x" msgstr "М_атрица" @@ -12511,98 +12604,98 @@ msgstr "Сбросить значения в этой вкладке до исх msgid "Apply transformation to selection" msgstr "Применить эти изменения к выбранному" -#: ../src/ui/dialog/transformation.cpp:842 +#: ../src/ui/dialog/transformation.cpp:846 msgid "Edit transformation matrix" msgstr "Правка матрицы преобразования" -#: ../src/ui/dialog/whiteboard-connect.cpp:44 +#: ../src/ui/dialog/whiteboard-connect.cpp:47 msgid "_Use SSL" msgstr "Ис_пользовать SSL" -#: ../src/ui/dialog/whiteboard-connect.cpp:44 +#: ../src/ui/dialog/whiteboard-connect.cpp:47 msgid "_Register" msgstr "За_регистрироваться" #. Construct dialog interface -#: ../src/ui/dialog/whiteboard-connect.cpp:75 +#: ../src/ui/dialog/whiteboard-connect.cpp:78 msgid "_Server:" msgstr "_Сервер:" -#: ../src/ui/dialog/whiteboard-connect.cpp:76 +#: ../src/ui/dialog/whiteboard-connect.cpp:79 msgid "_Username:" msgstr "_Имя пользователя:" -#: ../src/ui/dialog/whiteboard-connect.cpp:77 +#: ../src/ui/dialog/whiteboard-connect.cpp:80 msgid "_Password:" msgstr "_Пароль:" -#: ../src/ui/dialog/whiteboard-connect.cpp:78 +#: ../src/ui/dialog/whiteboard-connect.cpp:81 msgid "P_ort:" msgstr "П_орт:" #. Buttons -#: ../src/ui/dialog/whiteboard-connect.cpp:115 +#: ../src/ui/dialog/whiteboard-connect.cpp:118 msgid "Connect" msgstr "Соединиться" -#: ../src/ui/dialog/whiteboard-connect.cpp:146 +#: ../src/ui/dialog/whiteboard-connect.cpp:149 msgid "Establishing connection to Jabber server %1" msgstr "Устанавливается соединение с Jabber-сервером %1" -#: ../src/ui/dialog/whiteboard-connect.cpp:173 -#: ../src/ui/dialog/whiteboard-connect.cpp:219 -#: ../src/ui/dialog/whiteboard-connect.cpp:257 +#: ../src/ui/dialog/whiteboard-connect.cpp:176 +#: ../src/ui/dialog/whiteboard-connect.cpp:222 +#: ../src/ui/dialog/whiteboard-connect.cpp:260 msgid "Failed to establish connection to Jabber server %1" msgstr "Не удалось установить соединение с сервером Jabber %1" -#: ../src/ui/dialog/whiteboard-connect.cpp:212 +#: ../src/ui/dialog/whiteboard-connect.cpp:215 msgid "Establishing connection to Jabber server %1 as user %2" msgstr "Устанавливается соединение с сервером Jabber %1 по именем %2" -#: ../src/ui/dialog/whiteboard-connect.cpp:224 +#: ../src/ui/dialog/whiteboard-connect.cpp:227 msgid "Authentication failed on Jabber server %1 as %2" msgstr "" -#: ../src/ui/dialog/whiteboard-connect.cpp:229 -#: ../src/ui/dialog/whiteboard-connect.cpp:267 +#: ../src/ui/dialog/whiteboard-connect.cpp:232 +#: ../src/ui/dialog/whiteboard-connect.cpp:270 msgid "SSL initialization failed when connecting to Jabber server %1" msgstr "" -#: ../src/ui/dialog/whiteboard-connect.cpp:235 -#: ../src/ui/dialog/whiteboard-connect.cpp:273 +#: ../src/ui/dialog/whiteboard-connect.cpp:238 +#: ../src/ui/dialog/whiteboard-connect.cpp:276 msgid "Connected to Jabber server %1 as %2" msgstr "" -#: ../src/ui/dialog/whiteboard-connect.cpp:262 +#: ../src/ui/dialog/whiteboard-connect.cpp:265 msgid "Registration failed on Jabber server %1 as %2" msgstr "" #. Construct labels -#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:74 +#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:76 #, fuzzy msgid "Chatroom _name:" msgstr "Имя слоя:" -#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:75 +#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:77 msgid "Chatroom _server:" msgstr "" -#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:76 +#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:78 msgid "Chatroom _password:" msgstr "" -#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:77 +#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:79 #, fuzzy msgid "Chatroom _handle:" msgstr "Смена рычага" #. Button setup and callback registration -#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:101 +#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:103 #, fuzzy msgid "Connect to chatroom" msgstr "Линия соединения" -#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:136 +#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:138 msgid "Synchronizing with chatroom %1@%2 using the handle %3" msgstr "" @@ -12875,23 +12968,22 @@ msgid "PLACEHOLDER, do not translate" msgstr "PLACEHOLDER, do not translate" #: ../src/ui/view/edit-widget.cpp:1062 -#: ../src/widgets/desktop-widget.cpp:380 +#: ../src/widgets/desktop-widget.cpp:374 msgid "Zoom drawing if window size changes" msgstr "Изменять масштаб при изменении размеров окна" #: ../src/ui/view/edit-widget.cpp:1083 -#: ../src/widgets/desktop-widget.cpp:505 +#: ../src/widgets/desktop-widget.cpp:497 msgid "Cursor coordinates" msgstr "Координаты курсора" -#. display the initial welcome message in the statusbar #: ../src/ui/view/edit-widget.cpp:1100 -#: ../src/widgets/desktop-widget.cpp:553 -msgid "Welcome to Inkscape! Use shape or freehand tools to create objects; use selector (arrow) to move or transform them." +#, fuzzy +msgid "Welcome to Inkscape! Use shape or drawing tools to create objects; use selector (arrow) to move or transform them." msgstr "Добро пожаловать в Inkscape! Используйте инструменты фигур или рисования для создания объектов; используйте селектор (стрелку) для их перемещения и трансформации." #: ../src/ui/view/edit-widget.cpp:1211 -#: ../src/widgets/desktop-widget.cpp:840 +#: ../src/widgets/desktop-widget.cpp:832 #, c-format msgid "" "Save changes to document \"%s\" before closing?\n" @@ -12904,13 +12996,13 @@ msgstr "" #: ../src/ui/view/edit-widget.cpp:1222 #: ../src/ui/view/edit-widget.cpp:1269 -#: ../src/widgets/desktop-widget.cpp:847 -#: ../src/widgets/desktop-widget.cpp:903 +#: ../src/widgets/desktop-widget.cpp:839 +#: ../src/widgets/desktop-widget.cpp:895 msgid "Close _without saving" msgstr "_Не сохранять" #: ../src/ui/view/edit-widget.cpp:1257 -#: ../src/widgets/desktop-widget.cpp:895 +#: ../src/widgets/desktop-widget.cpp:887 #, c-format msgid "" "The file \"%s\" was saved with a format (%s) that may cause data loss!\n" @@ -12922,7 +13014,7 @@ msgstr "" "Сохранить документ в формате Inkscape SVG?" #: ../src/ui/view/edit-widget.cpp:1272 -#: ../src/widgets/desktop-widget.cpp:906 +#: ../src/widgets/desktop-widget.cpp:898 msgid "_Save as SVG" msgstr "_Сохранить как SVG" @@ -13001,66 +13093,66 @@ msgstr "Изменить размер страницы до размеров т msgid "Set page size" msgstr "Смена формата страницы" -#: ../src/ui/widget/panel.cpp:121 +#: ../src/ui/widget/panel.cpp:111 msgid "List" msgstr "Список" -#: ../src/ui/widget/panel.cpp:144 +#: ../src/ui/widget/panel.cpp:134 msgid "swatches|Size" msgstr "Размер" -#: ../src/ui/widget/panel.cpp:148 +#: ../src/ui/widget/panel.cpp:138 msgid "tiny" msgstr "Крошечные" -#: ../src/ui/widget/panel.cpp:149 +#: ../src/ui/widget/panel.cpp:139 msgid "small" msgstr "Маленькие" #. TRANSLATORS: Translate only the word "medium". Indicates size of colour swatches -#: ../src/ui/widget/panel.cpp:151 +#: ../src/ui/widget/panel.cpp:141 msgid "swatchesHeight|medium" msgstr "Средней высоты" -#: ../src/ui/widget/panel.cpp:152 +#: ../src/ui/widget/panel.cpp:142 msgid "large" msgstr "Большие" -#: ../src/ui/widget/panel.cpp:153 +#: ../src/ui/widget/panel.cpp:143 msgid "huge" msgstr "Огромные" -#: ../src/ui/widget/panel.cpp:175 +#: ../src/ui/widget/panel.cpp:165 msgid "swatches|Width" msgstr "Ширина" -#: ../src/ui/widget/panel.cpp:179 +#: ../src/ui/widget/panel.cpp:169 msgid "narrower" msgstr "Еще уже" -#: ../src/ui/widget/panel.cpp:180 +#: ../src/ui/widget/panel.cpp:170 msgid "narrow" msgstr "Узкие" #. TRANSLATORS: Translate only the word "medium". Indicates width of colour swatches -#: ../src/ui/widget/panel.cpp:182 +#: ../src/ui/widget/panel.cpp:172 msgid "swatchesWidth|medium" msgstr "Средней ширины" -#: ../src/ui/widget/panel.cpp:183 +#: ../src/ui/widget/panel.cpp:173 msgid "wide" msgstr "Широкие" -#: ../src/ui/widget/panel.cpp:184 +#: ../src/ui/widget/panel.cpp:174 msgid "wider" msgstr "Еще шире" #. TRANSLATORS: Translate only the word "Wrap". Indicates how colour swatches are displayed -#: ../src/ui/widget/panel.cpp:215 +#: ../src/ui/widget/panel.cpp:205 msgid "swatches|Wrap" msgstr "В несколько строк" -#: ../src/ui/widget/preferences-widget.cpp:504 +#: ../src/ui/widget/preferences-widget.cpp:498 msgid "Reset" msgstr "Сбросить " @@ -13097,12 +13189,12 @@ msgid "Render everything as bitmap. The resulting image is usually larger in fi msgstr "Напечатать как растр. Как правило, файл будет большего размера, и полученное изображение нельзя будет произвольно масштабировать без потери качества. Однако все графические элементы будут напечатаны так, как они выглядят на экране." #: ../src/ui/widget/selected-style.cpp:106 -#: ../src/ui/widget/style-swatch.cpp:110 +#: ../src/ui/widget/style-swatch.cpp:117 msgid "Fill:" msgstr "Заливка:" #: ../src/ui/widget/selected-style.cpp:107 -#: ../src/ui/widget/style-swatch.cpp:111 +#: ../src/ui/widget/style-swatch.cpp:118 msgid "Stroke:" msgstr "Обводка:" @@ -13121,34 +13213,34 @@ msgid "Nothing selected" msgstr "Ничего не выбрано" #: ../src/ui/widget/selected-style.cpp:155 -#: ../src/ui/widget/style-swatch.cpp:328 +#: ../src/ui/widget/style-swatch.cpp:296 msgid "None" msgstr "Нет" #: ../src/ui/widget/selected-style.cpp:158 -#: ../src/ui/widget/style-swatch.cpp:330 +#: ../src/ui/widget/style-swatch.cpp:298 msgid "No fill" msgstr "Без заливки" #: ../src/ui/widget/selected-style.cpp:158 -#: ../src/ui/widget/style-swatch.cpp:330 +#: ../src/ui/widget/style-swatch.cpp:298 msgid "No stroke" msgstr "Без обводки" #: ../src/ui/widget/selected-style.cpp:160 -#: ../src/ui/widget/style-swatch.cpp:309 +#: ../src/ui/widget/style-swatch.cpp:277 #: ../src/widgets/paint-selector.cpp:189 msgid "Pattern" msgstr "Текстура" #: ../src/ui/widget/selected-style.cpp:163 -#: ../src/ui/widget/style-swatch.cpp:311 +#: ../src/ui/widget/style-swatch.cpp:279 #: ../src/widgets/paint-selector.cpp:997 msgid "Pattern fill" msgstr "Текстурная заливка" #: ../src/ui/widget/selected-style.cpp:163 -#: ../src/ui/widget/style-swatch.cpp:311 +#: ../src/ui/widget/style-swatch.cpp:279 msgid "Pattern stroke" msgstr "Текстурная обводка" @@ -13157,12 +13249,12 @@ msgid "L" msgstr "Л:" #: ../src/ui/widget/selected-style.cpp:168 -#: ../src/ui/widget/style-swatch.cpp:303 +#: ../src/ui/widget/style-swatch.cpp:271 msgid "Linear gradient fill" msgstr "Линейная градиентная заливка" #: ../src/ui/widget/selected-style.cpp:168 -#: ../src/ui/widget/style-swatch.cpp:303 +#: ../src/ui/widget/style-swatch.cpp:271 msgid "Linear gradient stroke" msgstr "Линейная градиентная обводка" @@ -13171,12 +13263,12 @@ msgid "R" msgstr "Р" #: ../src/ui/widget/selected-style.cpp:178 -#: ../src/ui/widget/style-swatch.cpp:307 +#: ../src/ui/widget/style-swatch.cpp:275 msgid "Radial gradient fill" msgstr "Радиальная градиентная заливка" #: ../src/ui/widget/selected-style.cpp:178 -#: ../src/ui/widget/style-swatch.cpp:307 +#: ../src/ui/widget/style-swatch.cpp:275 msgid "Radial gradient stroke" msgstr "Радиальная градиентная обводка" @@ -13193,7 +13285,7 @@ msgid "Different strokes" msgstr "Разные обводки" #: ../src/ui/widget/selected-style.cpp:190 -#: ../src/ui/widget/style-swatch.cpp:333 +#: ../src/ui/widget/style-swatch.cpp:301 msgid "Unset" msgstr "Снята" @@ -13256,7 +13348,7 @@ msgid "White" msgstr "Белый" #: ../src/ui/widget/selected-style.cpp:230 -#: ../src/widgets/sp-color-icc-selector.cpp:237 +#: ../src/widgets/sp-color-icc-selector.cpp:238 #: ../src/widgets/sp-color-scales.cpp:461 #: ../src/widgets/sp-color-scales.cpp:462 msgid "Black" @@ -13404,40 +13496,40 @@ msgstr "" msgid "sliders|Link" msgstr "Связь" -#: ../src/ui/widget/style-swatch.cpp:301 +#: ../src/ui/widget/style-swatch.cpp:269 msgid "L Gradient" msgstr "Лин. градиент" -#: ../src/ui/widget/style-swatch.cpp:305 +#: ../src/ui/widget/style-swatch.cpp:273 msgid "R Gradient" msgstr "Рад. градиент" -#: ../src/ui/widget/style-swatch.cpp:321 +#: ../src/ui/widget/style-swatch.cpp:289 #, c-format msgid "Fill: %06x/%.3g" msgstr "Заливка: %06x/%.3g" -#: ../src/ui/widget/style-swatch.cpp:323 +#: ../src/ui/widget/style-swatch.cpp:291 #, c-format msgid "Stroke: %06x/%.3g" msgstr "Обводка: %06x/%.3g" -#: ../src/ui/widget/style-swatch.cpp:355 +#: ../src/ui/widget/style-swatch.cpp:323 #, c-format msgid "Stroke width: %.5g%s" msgstr "Толщина обводки: %.5g%s" -#: ../src/ui/widget/style-swatch.cpp:371 +#: ../src/ui/widget/style-swatch.cpp:339 #, c-format msgid "O:%.3g" msgstr "Н:%.3g" -#: ../src/ui/widget/style-swatch.cpp:373 +#: ../src/ui/widget/style-swatch.cpp:341 #, c-format msgid "O:.%d" msgstr "Н:.%d" -#: ../src/ui/widget/style-swatch.cpp:378 +#: ../src/ui/widget/style-swatch.cpp:346 #, c-format msgid "Opacity: %.3g" msgstr "Непрозрачность: %.3g" @@ -13480,1679 +13572,1686 @@ msgstr[0] "разделяемых %d параллелепипедом; п msgstr[1] "разделяемых %d параллелепипедами; перетаскиванием с Shift разделяются выбранные параллелепипеды" msgstr[2] "разделяемых %d параллелепипедами; перетаскиванием с Shift разделяются выбранные параллелепипеды" -#: ../src/verbs.cpp:1138 +#: ../src/verbs.cpp:1137 msgid "Switch to next layer" msgstr "Перейти на следующий слой" -#: ../src/verbs.cpp:1139 +#: ../src/verbs.cpp:1138 msgid "Switched to next layer." msgstr "Переход на следующий слой." -#: ../src/verbs.cpp:1141 +#: ../src/verbs.cpp:1140 msgid "Cannot go past last layer." msgstr "Невозможно перейти за последний слой." -#: ../src/verbs.cpp:1150 +#: ../src/verbs.cpp:1149 msgid "Switch to previous layer" msgstr "Опускание на предыдущий слой" -#: ../src/verbs.cpp:1151 +#: ../src/verbs.cpp:1150 msgid "Switched to previous layer." msgstr "Перемещен на предыдущий слой" -#: ../src/verbs.cpp:1153 +#: ../src/verbs.cpp:1152 msgid "Cannot go before first layer." msgstr "Невозможно перейти за первый слой." -#: ../src/verbs.cpp:1170 -#: ../src/verbs.cpp:1247 -#: ../src/verbs.cpp:1279 -#: ../src/verbs.cpp:1285 +#: ../src/verbs.cpp:1169 +#: ../src/verbs.cpp:1246 +#: ../src/verbs.cpp:1278 +#: ../src/verbs.cpp:1284 msgid "No current layer." msgstr "Нет текущего слоя." -#: ../src/verbs.cpp:1199 -#: ../src/verbs.cpp:1203 +#: ../src/verbs.cpp:1198 +#: ../src/verbs.cpp:1202 #, c-format msgid "Raised layer %s." msgstr "Слой %s поднят." -#: ../src/verbs.cpp:1200 +#: ../src/verbs.cpp:1199 msgid "Layer to top" msgstr "Слой на передний план" -#: ../src/verbs.cpp:1204 +#: ../src/verbs.cpp:1203 msgid "Raise layer" msgstr "Повышение слоя" -#: ../src/verbs.cpp:1207 -#: ../src/verbs.cpp:1211 +#: ../src/verbs.cpp:1206 +#: ../src/verbs.cpp:1210 #, c-format msgid "Lowered layer %s." msgstr "Слой %s опущен" -#: ../src/verbs.cpp:1208 +#: ../src/verbs.cpp:1207 msgid "Layer to bottom" msgstr "Слой на задний план" -#: ../src/verbs.cpp:1212 +#: ../src/verbs.cpp:1211 msgid "Lower layer" msgstr "Опускание слоя" -#: ../src/verbs.cpp:1221 +#: ../src/verbs.cpp:1220 msgid "Cannot move layer any further." msgstr "Невозможно переместить слой дальше." -#: ../src/verbs.cpp:1230 +#: ../src/verbs.cpp:1229 #, c-format msgid "%s copy" msgstr "Копия слоя %s" -#: ../src/verbs.cpp:1242 +#: ../src/verbs.cpp:1241 msgid "Duplicate layer" msgstr "Дубликация слоя" #. TRANSLATORS: this means "The layer has been duplicated." -#: ../src/verbs.cpp:1245 +#: ../src/verbs.cpp:1244 msgid "Duplicated layer." msgstr "Слой продублирован." -#: ../src/verbs.cpp:1274 +#: ../src/verbs.cpp:1273 msgid "Delete layer" msgstr "Слой удалён" #. TRANSLATORS: this means "The layer has been deleted." -#: ../src/verbs.cpp:1277 +#: ../src/verbs.cpp:1276 msgid "Deleted layer." msgstr "Слой удалён." -#: ../src/verbs.cpp:1288 -#, fuzzy +#: ../src/verbs.cpp:1287 msgid "Toggle layer solo" -msgstr "Скрыть или открыть текущий слой" +msgstr "Солирующий слой" -#: ../src/verbs.cpp:1368 +#: ../src/verbs.cpp:1367 msgid "Flip horizontally" msgstr "Отразить горизонтально" -#: ../src/verbs.cpp:1383 +#: ../src/verbs.cpp:1382 msgid "Flip vertically" msgstr "Отразить вертикально" #. TRANSLATORS: If you have translated the tutorial-basic.svg file to your language, #. then translate this string as "tutorial-basic.LANG.svg" (where LANG is your language #. code); otherwise leave as "tutorial-basic.svg". -#: ../src/verbs.cpp:1881 +#: ../src/verbs.cpp:1884 msgid "tutorial-basic.svg" msgstr "tutorial-basic.ru.svg" #. TRANSLATORS: See "tutorial-basic.svg" comment. -#: ../src/verbs.cpp:1885 +#: ../src/verbs.cpp:1888 msgid "tutorial-shapes.svg" msgstr "tutorial-shapes.ru.svg" #. TRANSLATORS: See "tutorial-basic.svg" comment. -#: ../src/verbs.cpp:1889 +#: ../src/verbs.cpp:1892 msgid "tutorial-advanced.svg" msgstr "tutorial-advanced.ru.svg" #. TRANSLATORS: See "tutorial-basic.svg" comment. -#: ../src/verbs.cpp:1893 +#: ../src/verbs.cpp:1896 msgid "tutorial-tracing.svg" msgstr "tutorial-tracing.ru.svg" #. TRANSLATORS: See "tutorial-basic.svg" comment. -#: ../src/verbs.cpp:1897 +#: ../src/verbs.cpp:1900 msgid "tutorial-calligraphy.svg" msgstr "tutorial-calligraphy.ru.svg" #. TRANSLATORS: See "tutorial-basic.svg" comment. -#: ../src/verbs.cpp:1901 +#: ../src/verbs.cpp:1904 msgid "tutorial-elements.svg" msgstr "tutorial-elements.ru.svg" #. TRANSLATORS: See "tutorial-basic.svg" comment. -#: ../src/verbs.cpp:1905 +#: ../src/verbs.cpp:1908 msgid "tutorial-tips.svg" msgstr "tutorial-tips.ru.svg" -#: ../src/verbs.cpp:2181 -#: ../src/verbs.cpp:2698 +#: ../src/verbs.cpp:2184 +#: ../src/verbs.cpp:2703 msgid "Unlock all objects in the current layer" msgstr "Отпереть все объекты в текущем слое" -#: ../src/verbs.cpp:2185 -#: ../src/verbs.cpp:2700 +#: ../src/verbs.cpp:2188 +#: ../src/verbs.cpp:2705 msgid "Unlock all objects in all layers" msgstr "Отпереть все объекты во всех слоях" -#: ../src/verbs.cpp:2189 -#: ../src/verbs.cpp:2702 +#: ../src/verbs.cpp:2192 +#: ../src/verbs.cpp:2707 msgid "Unhide all objects in the current layer" msgstr "Раскрыть все объекты в текущем слое" -#: ../src/verbs.cpp:2193 -#: ../src/verbs.cpp:2704 +#: ../src/verbs.cpp:2196 +#: ../src/verbs.cpp:2709 msgid "Unhide all objects in all layers" msgstr "Раскрыть все объекты во всех слоях" -#: ../src/verbs.cpp:2208 +#: ../src/verbs.cpp:2211 msgid "Does nothing" msgstr "Нет действий" -#: ../src/verbs.cpp:2211 +#: ../src/verbs.cpp:2214 msgid "Create new document from the default template" msgstr "Создать новый документ из стандартного шаблона" -#: ../src/verbs.cpp:2213 +#: ../src/verbs.cpp:2216 msgid "_Open..." msgstr "_Открыть..." -#: ../src/verbs.cpp:2214 +#: ../src/verbs.cpp:2217 msgid "Open an existing document" msgstr "Открыть существующий документ" -#: ../src/verbs.cpp:2215 +#: ../src/verbs.cpp:2218 msgid "Re_vert" msgstr "_Восстановить" -#: ../src/verbs.cpp:2216 +#: ../src/verbs.cpp:2219 msgid "Revert to the last saved version of document (changes will be lost)" msgstr "Вернуться к последней сохраненной версии документа (изменения будут потеряны)" -#: ../src/verbs.cpp:2217 +#: ../src/verbs.cpp:2220 msgid "_Save" msgstr "Со_хранить" -#: ../src/verbs.cpp:2217 +#: ../src/verbs.cpp:2220 msgid "Save document" msgstr "Сохранить документ" -#: ../src/verbs.cpp:2219 +#: ../src/verbs.cpp:2222 msgid "Save _As..." msgstr "Сохранить _как..." -#: ../src/verbs.cpp:2220 +#: ../src/verbs.cpp:2223 msgid "Save document under a new name" msgstr "Сохранить документ под другим именем" -#: ../src/verbs.cpp:2221 +#: ../src/verbs.cpp:2224 msgid "Save a Cop_y..." msgstr "Сохр_анить копию..." -#: ../src/verbs.cpp:2222 +#: ../src/verbs.cpp:2225 msgid "Save a copy of the document under a new name" msgstr "Сохранить копию документа под другим именем" -#: ../src/verbs.cpp:2223 +#: ../src/verbs.cpp:2226 msgid "_Print..." msgstr "На_печатать..." -#: ../src/verbs.cpp:2223 +#: ../src/verbs.cpp:2226 msgid "Print document" msgstr "Напечатать документ" #. TRANSLATORS: "Vacuum Defs" means "Clean up defs" (so as to remove unused definitions) -#: ../src/verbs.cpp:2226 +#: ../src/verbs.cpp:2229 msgid "Vac_uum Defs" msgstr "О_чистить defs" -#: ../src/verbs.cpp:2226 +#: ../src/verbs.cpp:2229 msgid "Remove unused definitions (such as gradients or clipping paths) from the <defs> of the document" msgstr "Убрать ненужное (например, градиенты или обтравочные контуры) из <defs> документа" -#: ../src/verbs.cpp:2228 +#: ../src/verbs.cpp:2231 msgid "Print Previe_w" msgstr "П_редпросмотр печати" -#: ../src/verbs.cpp:2229 +#: ../src/verbs.cpp:2232 msgid "Preview document printout" msgstr "Предварительный просмотр печати" -#: ../src/verbs.cpp:2230 +#: ../src/verbs.cpp:2233 msgid "_Import..." msgstr "_Импортировать..." -#: ../src/verbs.cpp:2231 +#: ../src/verbs.cpp:2234 msgid "Import a bitmap or SVG image into this document" msgstr "Импортировать растровое или SVG-изображение в документ" -#: ../src/verbs.cpp:2232 +#: ../src/verbs.cpp:2235 msgid "_Export Bitmap..." msgstr "_Экспортировать в растр..." -#: ../src/verbs.cpp:2233 +#: ../src/verbs.cpp:2236 msgid "Export this document or a selection as a bitmap image" msgstr "Экспортировать документ или выделенное в PNG" -#: ../src/verbs.cpp:2234 +#: ../src/verbs.cpp:2237 msgid "Import a document from Open Clip Art Library" msgstr "Импортировать документ из Open Clip Art Library" -#: ../src/verbs.cpp:2235 +#: ../src/verbs.cpp:2238 msgid "Export To Open Clip Art Library" msgstr "Экспортировать в Open Clip Art Library" -#: ../src/verbs.cpp:2235 +#: ../src/verbs.cpp:2238 msgid "Export this document to Open Clip Art Library" msgstr "Экспортировать документ или выделенное в Open Clip Art Library" -#: ../src/verbs.cpp:2236 +#: ../src/verbs.cpp:2239 msgid "N_ext Window" msgstr "Сл_едующее окно" -#: ../src/verbs.cpp:2237 +#: ../src/verbs.cpp:2240 msgid "Switch to the next document window" msgstr "Переключиться в следующее окно документа" -#: ../src/verbs.cpp:2238 +#: ../src/verbs.cpp:2241 msgid "P_revious Window" msgstr "_Предыдущее окно" -#: ../src/verbs.cpp:2239 +#: ../src/verbs.cpp:2242 msgid "Switch to the previous document window" msgstr "Переключиться в предыдущее окно документа" -#: ../src/verbs.cpp:2240 +#: ../src/verbs.cpp:2243 msgid "_Close" msgstr "_Закрыть" -#: ../src/verbs.cpp:2241 +#: ../src/verbs.cpp:2244 msgid "Close this document window" msgstr "Закрыть это окно документа" -#: ../src/verbs.cpp:2242 +#: ../src/verbs.cpp:2245 msgid "_Quit" msgstr "В_ыйти" -#: ../src/verbs.cpp:2242 +#: ../src/verbs.cpp:2245 msgid "Quit Inkscape" msgstr "Выйти из Inkscape" -#: ../src/verbs.cpp:2245 +#: ../src/verbs.cpp:2248 msgid "Undo last action" msgstr "Отменить последнее действие" -#: ../src/verbs.cpp:2248 +#: ../src/verbs.cpp:2251 msgid "Do again the last undone action" msgstr "Повторить последнее отменённое действие" -#: ../src/verbs.cpp:2249 +#: ../src/verbs.cpp:2252 msgid "Cu_t" msgstr "_Вырезать" -#: ../src/verbs.cpp:2250 +#: ../src/verbs.cpp:2253 msgid "Cut selection to clipboard" msgstr "Вырезать выделение в буфер обмена" -#: ../src/verbs.cpp:2251 +#: ../src/verbs.cpp:2254 msgid "_Copy" msgstr "С_копировать" -#: ../src/verbs.cpp:2252 +#: ../src/verbs.cpp:2255 msgid "Copy selection to clipboard" msgstr "Скопировать выделение в буфер обмена" -#: ../src/verbs.cpp:2253 +#: ../src/verbs.cpp:2256 msgid "_Paste" msgstr "Вст_авить" -#: ../src/verbs.cpp:2254 +#: ../src/verbs.cpp:2257 msgid "Paste objects from clipboard to mouse point, or paste text" msgstr "Вставить объект из буфера обмена под курсор, либо вставить текст" -#: ../src/verbs.cpp:2255 +#: ../src/verbs.cpp:2258 msgid "Paste _Style" msgstr "Вставить _стиль" -#: ../src/verbs.cpp:2256 +#: ../src/verbs.cpp:2259 msgid "Apply the style of the copied object to selection" msgstr "Применить стиль скопированного объекта к выделению" -#: ../src/verbs.cpp:2258 +#: ../src/verbs.cpp:2261 msgid "Scale selection to match the size of the copied object" msgstr "Отмасштабировать выделение до размеров скопированного объекта" -#: ../src/verbs.cpp:2259 +#: ../src/verbs.cpp:2262 msgid "Paste _Width" msgstr "Вставить _ширину" -#: ../src/verbs.cpp:2260 +#: ../src/verbs.cpp:2263 msgid "Scale selection horizontally to match the width of the copied object" msgstr "Отмасштабировать выделение по горизонтали до высоты скопированного объекта" -#: ../src/verbs.cpp:2261 +#: ../src/verbs.cpp:2264 msgid "Paste _Height" msgstr "Вставить _высоту" -#: ../src/verbs.cpp:2262 +#: ../src/verbs.cpp:2265 msgid "Scale selection vertically to match the height of the copied object" msgstr "Отмасштабировать выделение по вертикали до высоты скопированного объекта" -#: ../src/verbs.cpp:2263 +#: ../src/verbs.cpp:2266 msgid "Paste Size Separately" msgstr "Вставить размер раздельно" -#: ../src/verbs.cpp:2264 +#: ../src/verbs.cpp:2267 msgid "Scale each selected object to match the size of the copied object" msgstr "Отмасштабировать каждый выбранный объект до совпадения с размерами скопированного объекта" -#: ../src/verbs.cpp:2265 +#: ../src/verbs.cpp:2268 msgid "Paste Width Separately" msgstr "Вставить ширину раздельно" -#: ../src/verbs.cpp:2266 +#: ../src/verbs.cpp:2269 msgid "Scale each selected object horizontally to match the width of the copied object" msgstr "Отмасштабировать каждый выбранный объект по горизонтали до ширины скопированного объекта" -#: ../src/verbs.cpp:2267 +#: ../src/verbs.cpp:2270 msgid "Paste Height Separately" msgstr "Вставить высоту раздельно" -#: ../src/verbs.cpp:2268 +#: ../src/verbs.cpp:2271 msgid "Scale each selected object vertically to match the height of the copied object" msgstr "Отмасштабировать каждый выбранный объект по вертикали до высоты скопированного объекта" -#: ../src/verbs.cpp:2269 +#: ../src/verbs.cpp:2272 msgid "Paste _In Place" msgstr "Вставить на _место" -#: ../src/verbs.cpp:2270 +#: ../src/verbs.cpp:2273 msgid "Paste objects from clipboard to the original location" msgstr "Вставить объекты из буфера обмена в их исходное местоположение" -#: ../src/verbs.cpp:2271 +#: ../src/verbs.cpp:2274 msgid "Paste Path _Effect" msgstr "_Вставить контурный эффект" -#: ../src/verbs.cpp:2272 +#: ../src/verbs.cpp:2275 msgid "Apply the path effect of the copied object to selection" msgstr "Применить контурный эффект скопированного объекта к выделению" -#: ../src/verbs.cpp:2273 +#: ../src/verbs.cpp:2276 msgid "Remove Path _Effect" msgstr "_Удалить контурный эффект" -#: ../src/verbs.cpp:2274 +#: ../src/verbs.cpp:2277 msgid "Remove any path effects from selected objects" msgstr "Убрать все контурные эффекты из выделения" -#: ../src/verbs.cpp:2275 +#: ../src/verbs.cpp:2278 msgid "Remove Filter" msgstr "Снять фильтр" -#: ../src/verbs.cpp:2276 +#: ../src/verbs.cpp:2279 msgid "Remove any filters from selected objects" msgstr "Снять все фильтры с выделения" -#: ../src/verbs.cpp:2277 +#: ../src/verbs.cpp:2280 msgid "_Delete" msgstr "У_далить" -#: ../src/verbs.cpp:2278 +#: ../src/verbs.cpp:2281 msgid "Delete selection" msgstr "Удалить выделение" -#: ../src/verbs.cpp:2279 +#: ../src/verbs.cpp:2282 msgid "Duplic_ate" msgstr "Проду_блировать" -#: ../src/verbs.cpp:2280 +#: ../src/verbs.cpp:2283 msgid "Duplicate selected objects" msgstr "Продублировать выделенные объекты" -#: ../src/verbs.cpp:2281 +#: ../src/verbs.cpp:2284 msgid "Create Clo_ne" msgstr "Создать _клон" -#: ../src/verbs.cpp:2282 +#: ../src/verbs.cpp:2285 msgid "Create a clone (a copy linked to the original) of selected object" msgstr "Создать клон выделенного объекта (копию, связанную с оригиналом)" -#: ../src/verbs.cpp:2283 +#: ../src/verbs.cpp:2286 msgid "Unlin_k Clone" msgstr "О_тсоединить клон" -#: ../src/verbs.cpp:2284 +#: ../src/verbs.cpp:2287 #, fuzzy msgid "Cut the selected clones' links to the originals, turning them into standalone objects" msgstr "Убрать ссылку клона на его оригинал, превратив клон в самостоятельный объект" -#: ../src/verbs.cpp:2285 +#: ../src/verbs.cpp:2288 msgid "Relink to Copied" msgstr "" -#: ../src/verbs.cpp:2286 +#: ../src/verbs.cpp:2289 msgid "Relink the selected clones to the object currently on the clipboard" msgstr "" -#: ../src/verbs.cpp:2287 +#: ../src/verbs.cpp:2290 msgid "Select _Original" msgstr "Выделить _оригинал" -#: ../src/verbs.cpp:2288 +#: ../src/verbs.cpp:2291 msgid "Select the object to which the selected clone is linked" msgstr "Выделить объект, с которым связан клон" #. TRANSLATORS: Convert selection to a line marker -#: ../src/verbs.cpp:2290 +#: ../src/verbs.cpp:2293 msgid "Objects to _Marker" msgstr "Объекты в м_аркер" -#: ../src/verbs.cpp:2291 +#: ../src/verbs.cpp:2294 msgid "Convert selection to a line marker" msgstr "Превратить выделение в маркер линий" #. TRANSLATORS: Convert selection to a collection of guidelines -#: ../src/verbs.cpp:2293 +#: ../src/verbs.cpp:2296 msgid "Objects to Gu_ides" msgstr "Объ_екты в направляющие" -#: ../src/verbs.cpp:2294 +#: ../src/verbs.cpp:2297 msgid "Convert selected objects to a collection of guidelines aligned with their edges" msgstr "Превратить выбранные объекты в набор направляющих по краям объектов" #. TRANSLATORS: Convert selection to a rectangle with tiled pattern fill -#: ../src/verbs.cpp:2296 +#: ../src/verbs.cpp:2299 msgid "Objects to Patter_n" msgstr "_Объект(ы) в текстуру" -#: ../src/verbs.cpp:2297 +#: ../src/verbs.cpp:2300 msgid "Convert selection to a rectangle with tiled pattern fill" msgstr "Преобразовать выделение в прямоугольник, заполненный текстурой" #. TRANSLATORS: Extract objects from a tiled pattern fill -#: ../src/verbs.cpp:2299 +#: ../src/verbs.cpp:2302 msgid "Pattern to _Objects" msgstr "_Текстуру в объект(ы)" -#: ../src/verbs.cpp:2300 +#: ../src/verbs.cpp:2303 msgid "Extract objects from a tiled pattern fill" msgstr "Извлечь объекты из текстурной заливки" -#: ../src/verbs.cpp:2301 +#: ../src/verbs.cpp:2304 msgid "Clea_r All" msgstr "О_чистить все" -#: ../src/verbs.cpp:2302 +#: ../src/verbs.cpp:2305 msgid "Delete all objects from document" msgstr "Удалить все объекты из документа" -#: ../src/verbs.cpp:2303 +#: ../src/verbs.cpp:2306 msgid "Select Al_l" msgstr "Выделить _все" -#: ../src/verbs.cpp:2304 +#: ../src/verbs.cpp:2307 msgid "Select all objects or all nodes" msgstr "Выделить все объекты или все узлы" -#: ../src/verbs.cpp:2305 +#: ../src/verbs.cpp:2308 msgid "Select All in All La_yers" msgstr "Выделить все во всех сло_ях" -#: ../src/verbs.cpp:2306 +#: ../src/verbs.cpp:2309 msgid "Select all objects in all visible and unlocked layers" msgstr "Выделить все объекты во всех видимых и незапертых слоях" -#: ../src/verbs.cpp:2307 +#: ../src/verbs.cpp:2310 msgid "In_vert Selection" msgstr "Инвертировать выделение" -#: ../src/verbs.cpp:2308 +#: ../src/verbs.cpp:2311 msgid "Invert selection (unselect what is selected and select everything else)" msgstr "Инвертировать выделение (выделить все кроме выделенного в настоящий момент)" -#: ../src/verbs.cpp:2309 +#: ../src/verbs.cpp:2312 msgid "Invert in All Layers" msgstr "Инвертировать во всех слоях" -#: ../src/verbs.cpp:2310 +#: ../src/verbs.cpp:2313 msgid "Invert selection in all visible and unlocked layers" msgstr "Инвертировать выделение во всех видимых и незапертых слоях" -#: ../src/verbs.cpp:2311 +#: ../src/verbs.cpp:2314 msgid "Select Next" msgstr "Выбрать следующий" -#: ../src/verbs.cpp:2312 +#: ../src/verbs.cpp:2315 msgid "Select next object or node" msgstr "Выбрать следующий объект или узел" -#: ../src/verbs.cpp:2313 +#: ../src/verbs.cpp:2316 msgid "Select Previous" msgstr "Выбрать предыдущий" -#: ../src/verbs.cpp:2314 +#: ../src/verbs.cpp:2317 msgid "Select previous object or node" msgstr "Выбрать предыдущий объект или узел" -#: ../src/verbs.cpp:2315 +#: ../src/verbs.cpp:2318 msgid "D_eselect" msgstr "Сн_ять выделение" -#: ../src/verbs.cpp:2316 +#: ../src/verbs.cpp:2319 msgid "Deselect any selected objects or nodes" msgstr "Снять выделение со всех объектов или узлов" -#: ../src/verbs.cpp:2317 +#: ../src/verbs.cpp:2320 msgid "_Guides around page" msgstr "На_правляющие вокруг страницы" -#: ../src/verbs.cpp:2318 +#: ../src/verbs.cpp:2321 msgid "Create four guides aligned with the page borders" msgstr "Создать четыре направляющие по краям страницы" -#: ../src/verbs.cpp:2319 +#: ../src/verbs.cpp:2322 msgid "Next Path Effect Parameter" msgstr "Следующий эффект динамического контура" -#: ../src/verbs.cpp:2320 +#: ../src/verbs.cpp:2323 msgid "Show next Path Effect parameter for editing" msgstr "Показать следующий редактируемый параметр динамического эффекта" #. Selection -#: ../src/verbs.cpp:2323 +#: ../src/verbs.cpp:2326 msgid "Raise to _Top" msgstr "Поднять на _передний план" -#: ../src/verbs.cpp:2324 +#: ../src/verbs.cpp:2327 msgid "Raise selection to top" msgstr "Поднять выделение на передний план" -#: ../src/verbs.cpp:2325 +#: ../src/verbs.cpp:2328 msgid "Lower to _Bottom" msgstr "Опустить на _задний план" -#: ../src/verbs.cpp:2326 +#: ../src/verbs.cpp:2329 msgid "Lower selection to bottom" msgstr "Опустить выделение на задний план" -#: ../src/verbs.cpp:2327 +#: ../src/verbs.cpp:2330 msgid "_Raise" msgstr "П_однять" -#: ../src/verbs.cpp:2328 +#: ../src/verbs.cpp:2331 msgid "Raise selection one step" msgstr "Поднять выделение на один уровень" -#: ../src/verbs.cpp:2329 +#: ../src/verbs.cpp:2332 msgid "_Lower" msgstr "Опу_стить" -#: ../src/verbs.cpp:2330 +#: ../src/verbs.cpp:2333 msgid "Lower selection one step" msgstr "Опустить выделение на один уровень" -#: ../src/verbs.cpp:2331 +#: ../src/verbs.cpp:2334 msgid "_Group" msgstr "С_группировать" -#: ../src/verbs.cpp:2332 +#: ../src/verbs.cpp:2335 msgid "Group selected objects" msgstr "Сгруппировать выделенные объекты" -#: ../src/verbs.cpp:2334 +#: ../src/verbs.cpp:2337 msgid "Ungroup selected groups" msgstr "Разгруппировать выделенные группы" -#: ../src/verbs.cpp:2336 +#: ../src/verbs.cpp:2339 msgid "_Put on Path" msgstr "_Разместить по контуру" -#: ../src/verbs.cpp:2338 +#: ../src/verbs.cpp:2341 msgid "_Remove from Path" msgstr "_Снять с контура" -#: ../src/verbs.cpp:2340 +#: ../src/verbs.cpp:2343 msgid "Remove Manual _Kerns" msgstr "Убрать ручной _кернинг" #. TRANSLATORS: "glyph": An image used in the visual representation of characters; #. roughly speaking, how a character looks. A font is a set of glyphs. -#: ../src/verbs.cpp:2343 +#: ../src/verbs.cpp:2346 msgid "Remove all manual kerns and glyph rotations from a text object" msgstr "Удалить из текста все вертикальные и горизонтальные керны и вращения" -#: ../src/verbs.cpp:2345 +#: ../src/verbs.cpp:2348 msgid "_Union" msgstr "С_умма" -#: ../src/verbs.cpp:2346 +#: ../src/verbs.cpp:2349 msgid "Create union of selected paths" msgstr "Создать один контур из всех выбранных" -#: ../src/verbs.cpp:2347 +#: ../src/verbs.cpp:2350 msgid "_Intersection" msgstr "_Пересечение" -#: ../src/verbs.cpp:2348 +#: ../src/verbs.cpp:2351 msgid "Create intersection of selected paths" msgstr "Создать пересечение выделенных контуров" -#: ../src/verbs.cpp:2349 +#: ../src/verbs.cpp:2352 msgid "_Difference" msgstr "_Разность" -#: ../src/verbs.cpp:2350 +#: ../src/verbs.cpp:2353 msgid "Create difference of selected paths (bottom minus top)" msgstr "Создать разность выделенных контуров (низ минус верх)" -#: ../src/verbs.cpp:2351 +#: ../src/verbs.cpp:2354 msgid "E_xclusion" msgstr "_Исключающее ИЛИ" -#: ../src/verbs.cpp:2352 +#: ../src/verbs.cpp:2355 msgid "Create exclusive OR of selected paths (those parts that belong to only one path)" msgstr "Создать Исключающее ИЛИ из выбранных контуров (части, принадлежащие только одному контуру)" -#: ../src/verbs.cpp:2353 +#: ../src/verbs.cpp:2356 msgid "Di_vision" msgstr "Р_азделить" -#: ../src/verbs.cpp:2354 +#: ../src/verbs.cpp:2357 msgid "Cut the bottom path into pieces" msgstr "Разделить нижний контур на части верхним" #. TRANSLATORS: "to cut a path" is not the same as "to break a path apart" - see the #. Advanced tutorial for more info -#: ../src/verbs.cpp:2357 +#: ../src/verbs.cpp:2360 msgid "Cut _Path" msgstr "Разр_езать контур" -#: ../src/verbs.cpp:2358 +#: ../src/verbs.cpp:2361 msgid "Cut the bottom path's stroke into pieces, removing fill" msgstr "Разрезать контур нижнего контура на части с удалением заливки" #. TRANSLATORS: "outset": expand a shape by offsetting the object's path, #. i.e. by displacing it perpendicular to the path in each point. #. See also the Advanced Tutorial for explanation. -#: ../src/verbs.cpp:2362 +#: ../src/verbs.cpp:2365 msgid "Outs_et" msgstr "Вы_тянуть" -#: ../src/verbs.cpp:2363 +#: ../src/verbs.cpp:2366 msgid "Outset selected paths" msgstr "Вытянуть выделенный контур" -#: ../src/verbs.cpp:2365 +#: ../src/verbs.cpp:2368 msgid "O_utset Path by 1 px" msgstr "_Вытянуть контур на 1 px" -#: ../src/verbs.cpp:2366 +#: ../src/verbs.cpp:2369 msgid "Outset selected paths by 1 px" msgstr "Вытянуть выделенный контур на 1 px" -#: ../src/verbs.cpp:2368 +#: ../src/verbs.cpp:2371 msgid "O_utset Path by 10 px" msgstr "_Вытянуть контур на 10 px" -#: ../src/verbs.cpp:2369 +#: ../src/verbs.cpp:2372 msgid "Outset selected paths by 10 px" msgstr "Вытянуть выделенный контур на 10 px" #. TRANSLATORS: "inset": contract a shape by offsetting the object's path, #. i.e. by displacing it perpendicular to the path in each point. #. See also the Advanced Tutorial for explanation. -#: ../src/verbs.cpp:2373 +#: ../src/verbs.cpp:2376 msgid "I_nset" msgstr "Втян_уть" -#: ../src/verbs.cpp:2374 +#: ../src/verbs.cpp:2377 msgid "Inset selected paths" msgstr "Втянуть выделенный контур" -#: ../src/verbs.cpp:2376 +#: ../src/verbs.cpp:2379 msgid "I_nset Path by 1 px" msgstr "Втян_уть контур на 1 px" -#: ../src/verbs.cpp:2377 +#: ../src/verbs.cpp:2380 msgid "Inset selected paths by 1 px" msgstr "Втянуть выделенный контур на 1 px" -#: ../src/verbs.cpp:2379 +#: ../src/verbs.cpp:2382 msgid "I_nset Path by 10 px" msgstr "Втян_уть контур на 10 px" -#: ../src/verbs.cpp:2380 +#: ../src/verbs.cpp:2383 msgid "Inset selected paths by 10 px" msgstr "Втянуть выделенный контур на 10 px" -#: ../src/verbs.cpp:2382 +#: ../src/verbs.cpp:2385 msgid "D_ynamic Offset" msgstr "_Динамическая втяжка" -#: ../src/verbs.cpp:2382 +#: ../src/verbs.cpp:2385 msgid "Create a dynamic offset object" msgstr "Создать объект, втяжку/растяжку которого можно менять динамически" -#: ../src/verbs.cpp:2384 +#: ../src/verbs.cpp:2387 msgid "_Linked Offset" msgstr "С_вязанная втяжка" -#: ../src/verbs.cpp:2385 +#: ../src/verbs.cpp:2388 msgid "Create a dynamic offset object linked to the original path" msgstr "Создать втяжку/растяжку, динамически связанную с исходным контуром" -#: ../src/verbs.cpp:2387 +#: ../src/verbs.cpp:2390 msgid "_Stroke to Path" msgstr "Оконтурить _обводку" -#: ../src/verbs.cpp:2388 +#: ../src/verbs.cpp:2391 msgid "Convert selected object's stroke to paths" msgstr "Преобразовать обводки выбранных объектов в контуры" -#: ../src/verbs.cpp:2389 +#: ../src/verbs.cpp:2392 msgid "Si_mplify" msgstr "_Упростить" -#: ../src/verbs.cpp:2390 +#: ../src/verbs.cpp:2393 msgid "Simplify selected paths (remove extra nodes)" msgstr "Упростить выделенные контуры удалением лишних узлов" -#: ../src/verbs.cpp:2391 +#: ../src/verbs.cpp:2394 msgid "_Reverse" msgstr "_Развернуть" -#: ../src/verbs.cpp:2392 +#: ../src/verbs.cpp:2395 msgid "Reverse the direction of selected paths (useful for flipping markers)" msgstr "Развернуть направление выделенных контуров; полезно для отражения маркеров" #. TRANSLATORS: "to trace" means "to convert a bitmap to vector graphics" (to vectorize) -#: ../src/verbs.cpp:2394 +#: ../src/verbs.cpp:2397 msgid "_Trace Bitmap..." msgstr "_Векторизовать растр..." -#: ../src/verbs.cpp:2395 +#: ../src/verbs.cpp:2398 msgid "Create one or more paths from a bitmap by tracing it" msgstr "Создать один или более контуров из растра, векторизовав его" -#: ../src/verbs.cpp:2396 +#: ../src/verbs.cpp:2399 msgid "_Make a Bitmap Copy" msgstr "_Сделать растровую копию" -#: ../src/verbs.cpp:2397 +#: ../src/verbs.cpp:2400 msgid "Export selection to a bitmap and insert it into document" msgstr "Экспортировать выделение в растр и вставить его в документ" -#: ../src/verbs.cpp:2398 +#: ../src/verbs.cpp:2401 msgid "_Combine" msgstr "_Объединить" -#: ../src/verbs.cpp:2399 +#: ../src/verbs.cpp:2402 msgid "Combine several paths into one" msgstr "Объединить несколько контуров в один" #. TRANSLATORS: "to cut a path" is not the same as "to break a path apart" - see the #. Advanced tutorial for more info -#: ../src/verbs.cpp:2402 +#: ../src/verbs.cpp:2405 msgid "Break _Apart" msgstr "_Разбить" -#: ../src/verbs.cpp:2403 +#: ../src/verbs.cpp:2406 msgid "Break selected paths into subpaths" msgstr "Разбить выделенные контуры на части" -#: ../src/verbs.cpp:2404 +#: ../src/verbs.cpp:2407 msgid "Rows and Columns..." msgstr "Расставить по сетке..." -#: ../src/verbs.cpp:2405 +#: ../src/verbs.cpp:2408 msgid "Arrange selected objects in a table" msgstr "Расставить выделенные объекты по сетке" #. Layer -#: ../src/verbs.cpp:2407 +#: ../src/verbs.cpp:2410 msgid "_Add Layer..." msgstr "_Новый слой..." -#: ../src/verbs.cpp:2408 +#: ../src/verbs.cpp:2411 msgid "Create a new layer" msgstr "Создать новый слой" -#: ../src/verbs.cpp:2409 +#: ../src/verbs.cpp:2412 msgid "Re_name Layer..." msgstr "_Переименовать слой..." -#: ../src/verbs.cpp:2410 +#: ../src/verbs.cpp:2413 msgid "Rename the current layer" msgstr "Переименовать текущий слой" -#: ../src/verbs.cpp:2411 +#: ../src/verbs.cpp:2414 msgid "Switch to Layer Abov_e" msgstr "Перейти на слой _выше" -#: ../src/verbs.cpp:2412 +#: ../src/verbs.cpp:2415 msgid "Switch to the layer above the current" msgstr "Перейти на слой, находящийся выше текущего" -#: ../src/verbs.cpp:2413 +#: ../src/verbs.cpp:2416 msgid "Switch to Layer Belo_w" msgstr "Перейти на слой _ниже" -#: ../src/verbs.cpp:2414 +#: ../src/verbs.cpp:2417 msgid "Switch to the layer below the current" msgstr "Перейти на слой, находящийся под текущим" -#: ../src/verbs.cpp:2415 +#: ../src/verbs.cpp:2418 msgid "Move Selection to Layer Abo_ve" msgstr "Перенести выделение в слой _выше" -#: ../src/verbs.cpp:2416 +#: ../src/verbs.cpp:2419 msgid "Move selection to the layer above the current" msgstr "Перенести выделение в слой над текущим слоем" -#: ../src/verbs.cpp:2417 +#: ../src/verbs.cpp:2420 msgid "Move Selection to Layer Bel_ow" msgstr "Перенести выделение в слой _ниже" -#: ../src/verbs.cpp:2418 +#: ../src/verbs.cpp:2421 msgid "Move selection to the layer below the current" msgstr "Перенести выделение в слой ниже текущего слоя" -#: ../src/verbs.cpp:2419 +#: ../src/verbs.cpp:2422 msgid "Layer to _Top" msgstr "Поднять до _верха" -#: ../src/verbs.cpp:2420 +#: ../src/verbs.cpp:2423 msgid "Raise the current layer to the top" msgstr "Поднять текущий слой на самый верх" -#: ../src/verbs.cpp:2421 +#: ../src/verbs.cpp:2424 msgid "Layer to _Bottom" msgstr "Опустить до _низа" -#: ../src/verbs.cpp:2422 +#: ../src/verbs.cpp:2425 msgid "Lower the current layer to the bottom" msgstr "Опустить текущий слой на самый низ" -#: ../src/verbs.cpp:2423 +#: ../src/verbs.cpp:2426 msgid "_Raise Layer" msgstr "П_однять слой" -#: ../src/verbs.cpp:2424 +#: ../src/verbs.cpp:2427 msgid "Raise the current layer" msgstr "Поднять текущий слой" -#: ../src/verbs.cpp:2425 +#: ../src/verbs.cpp:2428 msgid "_Lower Layer" msgstr "Опу_стить слой" -#: ../src/verbs.cpp:2426 +#: ../src/verbs.cpp:2429 msgid "Lower the current layer" msgstr "Опустить текущий слой" -#: ../src/verbs.cpp:2427 +#: ../src/verbs.cpp:2430 msgid "Duplicate Current Layer..." msgstr "Продублировать активный слой..." -#: ../src/verbs.cpp:2428 +#: ../src/verbs.cpp:2431 msgid "Duplicate an existing layer" msgstr "Дубликация активного слоя" -#: ../src/verbs.cpp:2429 +#: ../src/verbs.cpp:2432 msgid "_Delete Current Layer" msgstr "_Удалить текущий слой" -#: ../src/verbs.cpp:2430 +#: ../src/verbs.cpp:2433 msgid "Delete the current layer" msgstr "Удалить текущий слой" -#: ../src/verbs.cpp:2431 +#: ../src/verbs.cpp:2434 msgid "_Show/hide other layers" msgstr "_Показать/скрыть остальные слои" -#: ../src/verbs.cpp:2432 +#: ../src/verbs.cpp:2435 msgid "Solo the current layer" msgstr "Отображение только активного слоя" #. Object -#: ../src/verbs.cpp:2435 +#: ../src/verbs.cpp:2438 msgid "Rotate _90° CW" msgstr "Повернуть на _90° по часовой стрелке" #. This is shared between tooltips and statusbar, so they #. must use UTF-8, not HTML entities for special characters. -#: ../src/verbs.cpp:2438 +#: ../src/verbs.cpp:2441 msgid "Rotate selection 90° clockwise" msgstr "Повернуть выделение на 90° по часовой стрелке" -#: ../src/verbs.cpp:2439 +#: ../src/verbs.cpp:2442 msgid "Rotate 9_0° CCW" msgstr "Повернуть на 9_0° против часовой стрелки" #. This is shared between tooltips and statusbar, so they #. must use UTF-8, not HTML entities for special characters. -#: ../src/verbs.cpp:2442 +#: ../src/verbs.cpp:2445 msgid "Rotate selection 90° counter-clockwise" msgstr "Повернуть выделение на 90° против часовой стрелки" -#: ../src/verbs.cpp:2443 +#: ../src/verbs.cpp:2446 msgid "Remove _Transformations" msgstr "Убрать _трансформацию" -#: ../src/verbs.cpp:2444 +#: ../src/verbs.cpp:2447 msgid "Remove transformations from object" msgstr "Убрать преобразования объекта" -#: ../src/verbs.cpp:2445 +#: ../src/verbs.cpp:2448 msgid "_Object to Path" msgstr "_Оконтурить объект" -#: ../src/verbs.cpp:2446 +#: ../src/verbs.cpp:2449 msgid "Convert selected object to path" msgstr "Преобразовать выбранный объект в контур" -#: ../src/verbs.cpp:2447 +#: ../src/verbs.cpp:2450 msgid "_Flow into Frame" msgstr "_Заверстать в блок" -#: ../src/verbs.cpp:2448 +#: ../src/verbs.cpp:2451 msgid "Put text into a frame (path or shape), creating a flowed text linked to the frame object" msgstr "Заверстать текст в блок (контур или фигуру), создав перетекающий текст, связанный с объектом блока" -#: ../src/verbs.cpp:2449 +#: ../src/verbs.cpp:2452 msgid "_Unflow" msgstr "_Вынуть из блока" -#: ../src/verbs.cpp:2450 +#: ../src/verbs.cpp:2453 msgid "Remove text from frame (creates a single-line text object)" msgstr "Вынуть текст из блока, создав обычный текстовый объект в одну строку" -#: ../src/verbs.cpp:2451 +#: ../src/verbs.cpp:2454 msgid "_Convert to Text" msgstr "_Преобразовать в текст" -#: ../src/verbs.cpp:2452 +#: ../src/verbs.cpp:2455 msgid "Convert flowed text to regular text object (preserves appearance)" msgstr "Преобразовать текст, заверстанный в рамку, в обычный текст, сохранив форматирование" -#: ../src/verbs.cpp:2454 +#: ../src/verbs.cpp:2457 msgid "Flip _Horizontal" msgstr "Отразить _горизонтально" -#: ../src/verbs.cpp:2454 +#: ../src/verbs.cpp:2457 msgid "Flip selected objects horizontally" msgstr "Горизонтально отразить выбранные объекты" -#: ../src/verbs.cpp:2457 +#: ../src/verbs.cpp:2460 msgid "Flip _Vertical" msgstr "Отразить _вертикально" -#: ../src/verbs.cpp:2457 +#: ../src/verbs.cpp:2460 msgid "Flip selected objects vertically" msgstr "Вертикально отразить выбранные объекты" -#: ../src/verbs.cpp:2460 +#: ../src/verbs.cpp:2463 msgid "Apply mask to selection (using the topmost object as mask)" msgstr "Применить самый верхний объект выделения к нему как маску" -#: ../src/verbs.cpp:2462 +#: ../src/verbs.cpp:2465 msgid "Edit mask" msgstr "Изменить маску" -#: ../src/verbs.cpp:2463 -#: ../src/verbs.cpp:2469 +#: ../src/verbs.cpp:2466 +#: ../src/verbs.cpp:2472 msgid "_Release" msgstr "_Снять" -#: ../src/verbs.cpp:2464 +#: ../src/verbs.cpp:2467 msgid "Remove mask from selection" msgstr "Убрать маску из выделения" -#: ../src/verbs.cpp:2466 +#: ../src/verbs.cpp:2469 msgid "Apply clipping path to selection (using the topmost object as clipping path)" msgstr "Применить самый верхний объект выделения к нему как обтравочный контур" -#: ../src/verbs.cpp:2468 -#: ../src/widgets/toolbox.cpp:1412 +#: ../src/verbs.cpp:2471 +#: ../src/widgets/toolbox.cpp:1411 msgid "Edit clipping path" msgstr "Изменить обтравочный контур" -#: ../src/verbs.cpp:2470 +#: ../src/verbs.cpp:2473 msgid "Remove clipping path from selection" msgstr "Убрать обтравочный контур из выделения" #. Tools -#: ../src/verbs.cpp:2473 +#: ../src/verbs.cpp:2476 msgid "Select" msgstr "Селектор" -#: ../src/verbs.cpp:2474 +#: ../src/verbs.cpp:2477 msgid "Select and transform objects" msgstr "Выделять и трансформировать объекты" -#: ../src/verbs.cpp:2475 +#: ../src/verbs.cpp:2478 msgid "Node Edit" msgstr "Инструмент узлов" -#: ../src/verbs.cpp:2476 +#: ../src/verbs.cpp:2479 msgid "Edit paths by nodes" msgstr "Редактировать узлы контура или рычаги узлов" -#: ../src/verbs.cpp:2478 +#: ../src/verbs.cpp:2481 msgid "Tweak objects by sculpting or painting" msgstr "Корректировать объекты лепкой или раскрашиванием" -#: ../src/verbs.cpp:2480 +#: ../src/verbs.cpp:2483 msgid "Create rectangles and squares" msgstr "Рисовать прямоугольники и квадраты" -#: ../src/verbs.cpp:2482 +#: ../src/verbs.cpp:2485 msgid "Create 3D boxes" msgstr "Рисовать паралеллепипеды в 3D" -#: ../src/verbs.cpp:2484 +#: ../src/verbs.cpp:2487 msgid "Create circles, ellipses, and arcs" msgstr "Рисовать круги, эллипсы и дуги" -#: ../src/verbs.cpp:2486 +#: ../src/verbs.cpp:2489 msgid "Create stars and polygons" msgstr "Рисовать звезды и многоугольники" -#: ../src/verbs.cpp:2488 +#: ../src/verbs.cpp:2491 msgid "Create spirals" msgstr "Рисовать спирали" -#: ../src/verbs.cpp:2490 +#: ../src/verbs.cpp:2493 msgid "Draw freehand lines" msgstr "Рисовать произвольные контуры" -#: ../src/verbs.cpp:2492 +#: ../src/verbs.cpp:2495 msgid "Draw Bezier curves and straight lines" msgstr "Рисовать кривые Безье и прямые линии" -#: ../src/verbs.cpp:2494 +#: ../src/verbs.cpp:2497 msgid "Draw calligraphic or brush strokes" msgstr "Рисовать каллиграфическим пером" -#: ../src/verbs.cpp:2496 +#: ../src/verbs.cpp:2499 msgid "Create and edit text objects" msgstr "Создавать и править текстовые объекты" -#: ../src/verbs.cpp:2498 +#: ../src/verbs.cpp:2501 msgid "Create and edit gradients" msgstr "Создавать и править градиенты" -#: ../src/verbs.cpp:2500 +#: ../src/verbs.cpp:2503 msgid "Zoom in or out" msgstr "Увеличивать или уменьшать отображение документа" -#: ../src/verbs.cpp:2502 +#: ../src/verbs.cpp:2505 msgid "Pick colors from image" msgstr "Брать усредненные цвета из изображений" -#: ../src/verbs.cpp:2504 +#: ../src/verbs.cpp:2507 msgid "Create diagram connectors" msgstr "Создавать соединительные линии в диаграммах" -#: ../src/verbs.cpp:2506 +#: ../src/verbs.cpp:2509 msgid "Fill bounded areas" msgstr "Заливать замкнутые области" -#: ../src/verbs.cpp:2507 +#: ../src/verbs.cpp:2510 msgid "LPE Edit" msgstr "Геометрические конструкции" -#: ../src/verbs.cpp:2508 +#: ../src/verbs.cpp:2511 msgid "Edit Live Path Effect parameters" msgstr "Менять параметры динамического контурного эффекта" -#: ../src/verbs.cpp:2510 +#: ../src/verbs.cpp:2513 msgid "Erase existing paths" msgstr "Удалять существующие объекты" -#: ../src/verbs.cpp:2512 +#: ../src/verbs.cpp:2515 msgid "Do geometric constructions" msgstr "Создавать геометрические построения" #. Tool prefs -#: ../src/verbs.cpp:2514 +#: ../src/verbs.cpp:2517 msgid "Selector Preferences" msgstr "Параметры селектора" -#: ../src/verbs.cpp:2515 +#: ../src/verbs.cpp:2518 msgid "Open Preferences for the Selector tool" msgstr "Открыть окно параметров селектора" -#: ../src/verbs.cpp:2516 +#: ../src/verbs.cpp:2519 msgid "Node Tool Preferences" msgstr "Параметры инструмента правки узлов" -#: ../src/verbs.cpp:2517 +#: ../src/verbs.cpp:2520 msgid "Open Preferences for the Node tool" msgstr "Открыть окно параметров инструмента для правки узлов" -#: ../src/verbs.cpp:2518 +#: ../src/verbs.cpp:2521 msgid "Tweak Tool Preferences" msgstr "Параметры инструмента коррекции" -#: ../src/verbs.cpp:2519 +#: ../src/verbs.cpp:2522 msgid "Open Preferences for the Tweak tool" msgstr "Открыть окно параметров корректора" -#: ../src/verbs.cpp:2520 +#: ../src/verbs.cpp:2523 msgid "Rectangle Preferences" msgstr "Параметры прямоугольника" -#: ../src/verbs.cpp:2521 +#: ../src/verbs.cpp:2524 msgid "Open Preferences for the Rectangle tool" msgstr "Открыть окно параметров инструмента для рисования прямоугольников" -#: ../src/verbs.cpp:2522 +#: ../src/verbs.cpp:2525 msgid "3D Box Preferences" msgstr "Параметры паралеллепипеда" -#: ../src/verbs.cpp:2523 +#: ../src/verbs.cpp:2526 msgid "Open Preferences for the 3D Box tool" msgstr "Открыть окно параметров инструмента для рисования параллелепипедов" -#: ../src/verbs.cpp:2524 +#: ../src/verbs.cpp:2527 msgid "Ellipse Preferences" msgstr "Параметры эллипса" -#: ../src/verbs.cpp:2525 +#: ../src/verbs.cpp:2528 msgid "Open Preferences for the Ellipse tool" msgstr "Открыть окно параметров инструмента для рисования эллипсов" -#: ../src/verbs.cpp:2526 +#: ../src/verbs.cpp:2529 msgid "Star Preferences" msgstr "Параметры звезды" -#: ../src/verbs.cpp:2527 +#: ../src/verbs.cpp:2530 msgid "Open Preferences for the Star tool" msgstr "Открыть окно параметров инструмента для рисования звёзд" -#: ../src/verbs.cpp:2528 +#: ../src/verbs.cpp:2531 msgid "Spiral Preferences" msgstr "Параметры спирали" -#: ../src/verbs.cpp:2529 +#: ../src/verbs.cpp:2532 msgid "Open Preferences for the Spiral tool" msgstr "Открыть окно параметров инструмента для рисования спиралей" -#: ../src/verbs.cpp:2530 +#: ../src/verbs.cpp:2533 msgid "Pencil Preferences" msgstr "Параметры карандаша" -#: ../src/verbs.cpp:2531 +#: ../src/verbs.cpp:2534 msgid "Open Preferences for the Pencil tool" msgstr "Открыть окно параметров карандаша" -#: ../src/verbs.cpp:2532 +#: ../src/verbs.cpp:2535 msgid "Pen Preferences" msgstr "Параметры пера" -#: ../src/verbs.cpp:2533 +#: ../src/verbs.cpp:2536 msgid "Open Preferences for the Pen tool" msgstr "Открыть окно параметров пера" -#: ../src/verbs.cpp:2534 +#: ../src/verbs.cpp:2537 msgid "Calligraphic Preferences" msgstr "Параметры каллиграфического пера" -#: ../src/verbs.cpp:2535 +#: ../src/verbs.cpp:2538 msgid "Open Preferences for the Calligraphy tool" msgstr "Открыть окно параметров каллиграфического пера" -#: ../src/verbs.cpp:2536 +#: ../src/verbs.cpp:2539 msgid "Text Preferences" msgstr "Параметры текста" -#: ../src/verbs.cpp:2537 +#: ../src/verbs.cpp:2540 msgid "Open Preferences for the Text tool" msgstr "Открыть окно параметров инструмента для набора текста" -#: ../src/verbs.cpp:2538 +#: ../src/verbs.cpp:2541 msgid "Gradient Preferences" msgstr "Параметры градиентной заливки" -#: ../src/verbs.cpp:2539 +#: ../src/verbs.cpp:2542 msgid "Open Preferences for the Gradient tool" msgstr "Открыть окно параметров инструмента для градиентной заливки" -#: ../src/verbs.cpp:2540 +#: ../src/verbs.cpp:2543 msgid "Zoom Preferences" msgstr "Параметры лупы" -#: ../src/verbs.cpp:2541 +#: ../src/verbs.cpp:2544 msgid "Open Preferences for the Zoom tool" msgstr "Открыть окно параметров лупы" -#: ../src/verbs.cpp:2542 +#: ../src/verbs.cpp:2545 msgid "Dropper Preferences" msgstr "Параметры пипетки" -#: ../src/verbs.cpp:2543 +#: ../src/verbs.cpp:2546 msgid "Open Preferences for the Dropper tool" msgstr "Открыть окно параметров пипетки" -#: ../src/verbs.cpp:2544 +#: ../src/verbs.cpp:2547 msgid "Connector Preferences" msgstr "Параметры соединительных линий" -#: ../src/verbs.cpp:2545 +#: ../src/verbs.cpp:2548 msgid "Open Preferences for the Connector tool" msgstr "Открыть окно параметров соединительных линий" -#: ../src/verbs.cpp:2546 +#: ../src/verbs.cpp:2549 msgid "Paint Bucket Preferences" msgstr "Параметры инструмента плоской заливки" -#: ../src/verbs.cpp:2547 +#: ../src/verbs.cpp:2550 msgid "Open Preferences for the Paint Bucket tool" msgstr "Открыть окно параметров инструмента для плоской заливки" -#: ../src/verbs.cpp:2548 +#: ../src/verbs.cpp:2551 msgid "Eraser Preferences" msgstr "Параметры ластика" -#: ../src/verbs.cpp:2549 +#: ../src/verbs.cpp:2552 msgid "Open Preferences for the Eraser tool" msgstr "Открыть окно параметров ластика" -#: ../src/verbs.cpp:2550 +#: ../src/verbs.cpp:2553 msgid "LPE Tool Preferences" msgstr "Параметры инструмента для создания геометрических конструкций" -#: ../src/verbs.cpp:2551 +#: ../src/verbs.cpp:2554 msgid "Open Preferences for the LPETool tool" msgstr "Открыть окно параметров Inkscape для инструмента геометрических конструкций" #. Zoom/View -#: ../src/verbs.cpp:2554 +#: ../src/verbs.cpp:2557 msgid "Zoom In" msgstr "Увеличить" -#: ../src/verbs.cpp:2554 +#: ../src/verbs.cpp:2557 msgid "Zoom in" msgstr "Увеличить" -#: ../src/verbs.cpp:2555 +#: ../src/verbs.cpp:2558 msgid "Zoom Out" msgstr "Уменьшить" -#: ../src/verbs.cpp:2555 +#: ../src/verbs.cpp:2558 msgid "Zoom out" msgstr "Уменьшить" -#: ../src/verbs.cpp:2556 +#: ../src/verbs.cpp:2559 msgid "_Rulers" msgstr "_Линейки" -#: ../src/verbs.cpp:2556 +#: ../src/verbs.cpp:2559 msgid "Show or hide the canvas rulers" msgstr "Показать/скрыть линейки холста" -#: ../src/verbs.cpp:2557 +#: ../src/verbs.cpp:2560 msgid "Scroll_bars" msgstr "Полосы _прокрутки" -#: ../src/verbs.cpp:2557 +#: ../src/verbs.cpp:2560 msgid "Show or hide the canvas scrollbars" msgstr "Показать или скрыть полосы прокрутки холста" -#: ../src/verbs.cpp:2558 +#: ../src/verbs.cpp:2561 msgid "_Grid" msgstr "_Сетка" -#: ../src/verbs.cpp:2558 +#: ../src/verbs.cpp:2561 msgid "Show or hide the grid" msgstr "Показать или скрыть сетку" -#: ../src/verbs.cpp:2559 +#: ../src/verbs.cpp:2562 msgid "G_uides" msgstr "_Направляющие" -#: ../src/verbs.cpp:2559 +#: ../src/verbs.cpp:2562 msgid "Show or hide guides (drag from a ruler to create a guide)" msgstr "Показать или скрыть направляющие (создаваемые перетаскиванием с линейки)" -#: ../src/verbs.cpp:2561 +#: ../src/verbs.cpp:2564 msgid "Nex_t Zoom" msgstr "С_ледующий масштаб" -#: ../src/verbs.cpp:2561 +#: ../src/verbs.cpp:2564 msgid "Next zoom (from the history of zooms)" msgstr "Следующий масштаб (из истории масштабирования)" -#: ../src/verbs.cpp:2563 +#: ../src/verbs.cpp:2566 msgid "Pre_vious Zoom" msgstr "_Предыдущий масштаб" -#: ../src/verbs.cpp:2563 +#: ../src/verbs.cpp:2566 msgid "Previous zoom (from the history of zooms)" msgstr "Предыдущий масштаб (из истории масштабирования)" -#: ../src/verbs.cpp:2565 +#: ../src/verbs.cpp:2568 msgid "Zoom 1:_1" msgstr "Масштаб 1:_1" -#: ../src/verbs.cpp:2565 +#: ../src/verbs.cpp:2568 msgid "Zoom to 1:1" msgstr "Масштаб 1:1" -#: ../src/verbs.cpp:2567 +#: ../src/verbs.cpp:2570 msgid "Zoom 1:_2" msgstr "Масштаб 1:_2" -#: ../src/verbs.cpp:2567 +#: ../src/verbs.cpp:2570 msgid "Zoom to 1:2" msgstr "Масштаб 1:2" -#: ../src/verbs.cpp:2569 +#: ../src/verbs.cpp:2572 msgid "_Zoom 2:1" msgstr "_Масштаб 2:1" -#: ../src/verbs.cpp:2569 +#: ../src/verbs.cpp:2572 msgid "Zoom to 2:1" msgstr "Масштаб 2:1" -#: ../src/verbs.cpp:2572 +#: ../src/verbs.cpp:2575 msgid "_Fullscreen" msgstr "Во весь _экран" -#: ../src/verbs.cpp:2572 +#: ../src/verbs.cpp:2575 msgid "Stretch this document window to full screen" msgstr "Развернуть окно документа на весь экран" -#: ../src/verbs.cpp:2575 +#: ../src/verbs.cpp:2578 +msgid "Toggle _Focus Mode" +msgstr "" + +#: ../src/verbs.cpp:2578 +msgid "Remove excess toolbars to focus on drawing" +msgstr "" + +#: ../src/verbs.cpp:2580 msgid "Duplic_ate Window" msgstr "Пов_торить окно" -#: ../src/verbs.cpp:2575 +#: ../src/verbs.cpp:2580 msgid "Open a new window with the same document" msgstr "Открыть новое окно с этим же документом" -#: ../src/verbs.cpp:2577 +#: ../src/verbs.cpp:2582 msgid "_New View Preview" msgstr "_Создать предварительный просмотр" -#: ../src/verbs.cpp:2578 +#: ../src/verbs.cpp:2583 msgid "New View Preview" msgstr "Создать новое окно предварительного просмотра" #. "view_new_preview" -#: ../src/verbs.cpp:2580 +#: ../src/verbs.cpp:2585 msgid "_Normal" msgstr "Об_ычное" -#: ../src/verbs.cpp:2581 +#: ../src/verbs.cpp:2586 msgid "Switch to normal display mode" msgstr "Переключиться на обычное отображение" -#: ../src/verbs.cpp:2582 +#: ../src/verbs.cpp:2587 msgid "No _Filters" msgstr "Б_ез фильтров" -#: ../src/verbs.cpp:2583 +#: ../src/verbs.cpp:2588 msgid "Switch to normal display without filters" msgstr "Переключиться на обычное отображение без фильтров" -#: ../src/verbs.cpp:2584 +#: ../src/verbs.cpp:2589 msgid "_Outline" msgstr "К_аркас" -#: ../src/verbs.cpp:2585 +#: ../src/verbs.cpp:2590 msgid "Switch to outline (wireframe) display mode" msgstr "Переключиться на отображение каркаса объектов" -#: ../src/verbs.cpp:2586 +#: ../src/verbs.cpp:2591 msgid "_Toggle" msgstr "_Переключиться" -#: ../src/verbs.cpp:2587 +#: ../src/verbs.cpp:2592 msgid "Toggle between normal and outline display modes" msgstr "Переключиться между нормальным и каркасным режимами отображения" -#: ../src/verbs.cpp:2589 +#: ../src/verbs.cpp:2594 msgid "Color-managed view" msgstr "Цветоуправляемое отображение" -#: ../src/verbs.cpp:2590 +#: ../src/verbs.cpp:2595 msgid "Toggle color-managed display for this document window" msgstr "Включить или выключить управление цветом для этого окна с документом" -#: ../src/verbs.cpp:2592 +#: ../src/verbs.cpp:2597 msgid "Ico_n Preview..." msgstr "Просмотреть как _значок" -#: ../src/verbs.cpp:2593 +#: ../src/verbs.cpp:2598 msgid "Open a window to preview objects at different icon resolutions" msgstr "Просмотреть выделение как значок разных размеров" -#: ../src/verbs.cpp:2595 +#: ../src/verbs.cpp:2600 msgid "Zoom to fit page in window" msgstr "Масштабировать так, чтобы целиком уместить страницу в окне" -#: ../src/verbs.cpp:2596 +#: ../src/verbs.cpp:2601 msgid "Page _Width" msgstr "_Ширина страницы" -#: ../src/verbs.cpp:2597 +#: ../src/verbs.cpp:2602 msgid "Zoom to fit page width in window" msgstr "Масштабировать так, чтобы уместить в окне страницу по ширине" -#: ../src/verbs.cpp:2599 +#: ../src/verbs.cpp:2604 msgid "Zoom to fit drawing in window" msgstr "Масштабировать так, чтобы целиком уместить рисунок в окне" -#: ../src/verbs.cpp:2601 +#: ../src/verbs.cpp:2606 msgid "Zoom to fit selection in window" msgstr "Масштабировать так, чтобы уместить в окне выделенную область" #. Dialogs -#: ../src/verbs.cpp:2604 +#: ../src/verbs.cpp:2609 msgid "In_kscape Preferences..." msgstr "Нас_троить Inkscape..." -#: ../src/verbs.cpp:2605 +#: ../src/verbs.cpp:2610 msgid "Edit global Inkscape preferences" msgstr "Изменить общие настройки Inkscape" -#: ../src/verbs.cpp:2606 +#: ../src/verbs.cpp:2611 msgid "_Document Properties..." msgstr "Свойства _документа..." -#: ../src/verbs.cpp:2607 +#: ../src/verbs.cpp:2612 msgid "Edit properties of this document (to be saved with the document)" msgstr "Изменить параметры этого документа, сохраняемые вместе с ним" -#: ../src/verbs.cpp:2608 +#: ../src/verbs.cpp:2613 msgid "Document _Metadata..." msgstr "_Метаданные документа..." -#: ../src/verbs.cpp:2609 +#: ../src/verbs.cpp:2614 msgid "Edit document metadata (to be saved with the document)" msgstr "Изменить сведения о документе, сохраняемые вместе с ним" -#: ../src/verbs.cpp:2610 +#: ../src/verbs.cpp:2615 msgid "_Fill and Stroke..." msgstr "_Заливка и обводка..." -#: ../src/verbs.cpp:2611 +#: ../src/verbs.cpp:2616 msgid "Edit objects' colors, gradients, stroke width, arrowheads, dash patterns..." msgstr "Изменить заливку объекта, параметры обводки, маркеры и штриховку стрелок..." #. TRANSLATORS: "Swatches" means: color samples -#: ../src/verbs.cpp:2613 +#: ../src/verbs.cpp:2618 msgid "S_watches..." msgstr "Образцы _цветов..." -#: ../src/verbs.cpp:2614 +#: ../src/verbs.cpp:2619 msgid "Select colors from a swatches palette" msgstr "Выбрать цвет из палитры образцов" -#: ../src/verbs.cpp:2615 +#: ../src/verbs.cpp:2620 msgid "Transfor_m..." msgstr "Транс_формировать..." -#: ../src/verbs.cpp:2616 +#: ../src/verbs.cpp:2621 msgid "Precisely control objects' transformations" msgstr "Точно изменить текущий объект" -#: ../src/verbs.cpp:2617 +#: ../src/verbs.cpp:2622 msgid "_Align and Distribute..." msgstr "_Выровнять и расставить..." -#: ../src/verbs.cpp:2618 +#: ../src/verbs.cpp:2623 msgid "Align and distribute objects" msgstr "Выровнять и расставить объекты" -#: ../src/verbs.cpp:2619 +#: ../src/verbs.cpp:2624 msgid "Undo _History..." msgstr "_История действий..." -#: ../src/verbs.cpp:2620 +#: ../src/verbs.cpp:2625 msgid "Undo History" msgstr "История действий" -#: ../src/verbs.cpp:2621 +#: ../src/verbs.cpp:2626 msgid "_Text and Font..." msgstr "_Текст и шрифт..." -#: ../src/verbs.cpp:2622 +#: ../src/verbs.cpp:2627 msgid "View and select font family, font size and other text properties" msgstr "Просмотреть и выбрать гарнитуру, кегль и прочие характеристики текста" -#: ../src/verbs.cpp:2623 +#: ../src/verbs.cpp:2628 msgid "_XML Editor..." msgstr "Редактор _XML..." -#: ../src/verbs.cpp:2624 +#: ../src/verbs.cpp:2629 msgid "View and edit the XML tree of the document" msgstr "Просмотреть и изменить XML-дерево документа" -#: ../src/verbs.cpp:2625 +#: ../src/verbs.cpp:2630 msgid "_Find..." msgstr "_Найти..." -#: ../src/verbs.cpp:2626 +#: ../src/verbs.cpp:2631 msgid "Find objects in document" msgstr "Найти объекты в документе" -#: ../src/verbs.cpp:2627 +#: ../src/verbs.cpp:2632 msgid "_Messages..." msgstr "_Сообщения..." -#: ../src/verbs.cpp:2628 +#: ../src/verbs.cpp:2633 msgid "View debug messages" msgstr "Просмотреть отладочные сообщения" -#: ../src/verbs.cpp:2629 +#: ../src/verbs.cpp:2634 msgid "S_cripts..." msgstr "С_ценарии..." -#: ../src/verbs.cpp:2630 +#: ../src/verbs.cpp:2635 msgid "Run scripts" msgstr "Выполнить сценарии" -#: ../src/verbs.cpp:2631 +#: ../src/verbs.cpp:2636 msgid "Show/Hide D_ialogs" msgstr "Показать/спря_тать диалоги" -#: ../src/verbs.cpp:2632 +#: ../src/verbs.cpp:2637 msgid "Show or hide all open dialogs" msgstr "Показать или скрыть все открытые диалоги" -#: ../src/verbs.cpp:2633 +#: ../src/verbs.cpp:2638 msgid "Create Tiled Clones..." msgstr "_Создать узор из клонов..." -#: ../src/verbs.cpp:2634 +#: ../src/verbs.cpp:2639 msgid "Create multiple clones of selected object, arranging them into a pattern or scattering" msgstr "Создать несколько клонов выделенного объекта, расставив их в текстуру или разбросав" -#: ../src/verbs.cpp:2635 +#: ../src/verbs.cpp:2640 msgid "_Object Properties..." msgstr "_Свойства объекта..." -#: ../src/verbs.cpp:2636 +#: ../src/verbs.cpp:2641 msgid "Edit the ID, locked and visible status, and other object properties" msgstr "Изменить ID, статус запертости и видимости, иные свойства объекта" -#: ../src/verbs.cpp:2639 +#: ../src/verbs.cpp:2644 msgid "_Instant Messaging..." msgstr "_Коллективное рисование..." -#: ../src/verbs.cpp:2639 +#: ../src/verbs.cpp:2644 msgid "Jabber Instant Messaging Client" msgstr "Клиент для коллективного рисования" -#: ../src/verbs.cpp:2641 +#: ../src/verbs.cpp:2646 msgid "_Input Devices..." msgstr "_Устройства ввода..." -#: ../src/verbs.cpp:2642 -#: ../src/verbs.cpp:2644 +#: ../src/verbs.cpp:2647 +#: ../src/verbs.cpp:2649 msgid "Configure extended input devices, such as a graphics tablet" msgstr "Настройка расширенных устройств ввода, таких как графический планшет" -#: ../src/verbs.cpp:2643 +#: ../src/verbs.cpp:2648 msgid "_Input Devices (new)..." msgstr "_Устройства ввода (новый диалог)..." -#: ../src/verbs.cpp:2645 +#: ../src/verbs.cpp:2650 msgid "_Extensions..." msgstr "_Расширения..." -#: ../src/verbs.cpp:2646 +#: ../src/verbs.cpp:2651 msgid "Query information about extensions" msgstr "Запросить информацию о расширениях" -#: ../src/verbs.cpp:2647 +#: ../src/verbs.cpp:2652 msgid "Layer_s..." msgstr "Сл_ои..." -#: ../src/verbs.cpp:2648 +#: ../src/verbs.cpp:2653 msgid "View Layers" msgstr "Открыть палитру слоёв" -#: ../src/verbs.cpp:2649 +#: ../src/verbs.cpp:2654 msgid "Path Effects..." msgstr "Контурные эффекты..." -#: ../src/verbs.cpp:2650 +#: ../src/verbs.cpp:2655 msgid "Manage path effects" msgstr "Управление контурными эффектами" -#: ../src/verbs.cpp:2651 +#: ../src/verbs.cpp:2656 msgid "Filter Effects..." msgstr "Фильтры эффектов..." -#: ../src/verbs.cpp:2652 +#: ../src/verbs.cpp:2657 msgid "Manage SVG filter effects" msgstr "Изменить фильтры SVG" -#: ../src/verbs.cpp:2653 +#: ../src/verbs.cpp:2658 msgid "SVG Fonts..." msgstr "Шрифты SVG..." -#: ../src/verbs.cpp:2654 +#: ../src/verbs.cpp:2659 msgid "Manage SVG fonts" msgstr "Управление шрифтами SVG" #. Help -#: ../src/verbs.cpp:2657 +#: ../src/verbs.cpp:2662 msgid "About E_xtensions" msgstr "О р_асширениях" -#: ../src/verbs.cpp:2658 +#: ../src/verbs.cpp:2663 msgid "Information on Inkscape extensions" msgstr "Информация о расширениях Inkscape" -#: ../src/verbs.cpp:2659 +#: ../src/verbs.cpp:2664 msgid "About _Memory" msgstr "Об используемой _памяти" -#: ../src/verbs.cpp:2660 +#: ../src/verbs.cpp:2665 msgid "Memory usage information" msgstr "Информация об используемой памяти" -#: ../src/verbs.cpp:2661 +#: ../src/verbs.cpp:2666 msgid "_About Inkscape" msgstr "_О программе" -#: ../src/verbs.cpp:2662 +#: ../src/verbs.cpp:2667 msgid "Inkscape version, authors, license" msgstr "Версия Inkscape, авторы, лицензия" @@ -15160,111 +15259,111 @@ msgstr "Версия Inkscape, авторы, лицензия" #. new HelpVerb(SP_VERB_SHOW_LICENSE, "ShowLicense", N_("_License"), #. N_("Distribution terms"), /*"show_license"*/"inkscape_options"), #. Tutorials -#: ../src/verbs.cpp:2667 +#: ../src/verbs.cpp:2672 msgid "Inkscape: _Basic" msgstr "Inkscape: _Основы" -#: ../src/verbs.cpp:2668 +#: ../src/verbs.cpp:2673 msgid "Getting started with Inkscape" msgstr "Начинаем работу с Inkscape" #. "tutorial_basic" -#: ../src/verbs.cpp:2669 +#: ../src/verbs.cpp:2674 msgid "Inkscape: _Shapes" msgstr "Inkscape: _Фигуры" -#: ../src/verbs.cpp:2670 +#: ../src/verbs.cpp:2675 msgid "Using shape tools to create and edit shapes" msgstr "Использование инструментов рисования и редактирования фигур" -#: ../src/verbs.cpp:2671 +#: ../src/verbs.cpp:2676 msgid "Inkscape: _Advanced" msgstr "Inkscape: _Продвинутый курс" -#: ../src/verbs.cpp:2672 +#: ../src/verbs.cpp:2677 msgid "Advanced Inkscape topics" msgstr "Дополнительные темы по Inkscape" #. "tutorial_advanced" #. TRANSLATORS: "to trace" means "to convert a bitmap to vector graphics" (to vectorize) -#: ../src/verbs.cpp:2674 +#: ../src/verbs.cpp:2679 msgid "Inkscape: T_racing" msgstr "Inkscape: _Векторизация" -#: ../src/verbs.cpp:2675 +#: ../src/verbs.cpp:2680 msgid "Using bitmap tracing" msgstr "Использование векторизации" #. "tutorial_tracing" -#: ../src/verbs.cpp:2676 +#: ../src/verbs.cpp:2681 msgid "Inkscape: _Calligraphy" msgstr "Inkscape: _Каллиграфия" -#: ../src/verbs.cpp:2677 +#: ../src/verbs.cpp:2682 msgid "Using the Calligraphy pen tool" msgstr "Использование каллиграфического пера" -#: ../src/verbs.cpp:2678 +#: ../src/verbs.cpp:2683 msgid "_Elements of Design" msgstr "Основы _дизайна" -#: ../src/verbs.cpp:2679 +#: ../src/verbs.cpp:2684 msgid "Principles of design in the tutorial form" msgstr "Самоучитель по элементам дизайна в виде урока" #. "tutorial_design" -#: ../src/verbs.cpp:2680 +#: ../src/verbs.cpp:2685 msgid "_Tips and Tricks" msgstr "Inkscape: _Советы и хитрости" -#: ../src/verbs.cpp:2681 +#: ../src/verbs.cpp:2686 msgid "Miscellaneous tips and tricks" msgstr "Различные советы по использованию программы" #. "tutorial_tips" #. Effect -#: ../src/verbs.cpp:2684 +#: ../src/verbs.cpp:2689 msgid "Previous Effect" msgstr "Повторить последний" -#: ../src/verbs.cpp:2685 +#: ../src/verbs.cpp:2690 msgid "Repeat the last effect with the same settings" msgstr "Повторить последний эффект с теми же настройками" -#: ../src/verbs.cpp:2686 +#: ../src/verbs.cpp:2691 msgid "Previous Effect Settings..." msgstr "Повторить с изменениями..." -#: ../src/verbs.cpp:2687 +#: ../src/verbs.cpp:2692 msgid "Repeat the last effect with new settings" msgstr "Повторить последний эффект с новыми настройками" -#: ../src/verbs.cpp:2691 +#: ../src/verbs.cpp:2696 msgid "Fit the page to the current selection" msgstr "Откадрировать холст до текущего выделения" -#: ../src/verbs.cpp:2693 +#: ../src/verbs.cpp:2698 msgid "Fit the page to the drawing" msgstr "Откадрировать холст до рисунка" -#: ../src/verbs.cpp:2695 +#: ../src/verbs.cpp:2700 msgid "Fit the page to the current selection or the drawing if there is no selection" msgstr "Откадрировать холст до текущего выделения или рисунка, если ничего не выделено" #. LockAndHide -#: ../src/verbs.cpp:2697 +#: ../src/verbs.cpp:2702 msgid "Unlock All" msgstr "Отпереть все" -#: ../src/verbs.cpp:2699 +#: ../src/verbs.cpp:2704 msgid "Unlock All in All Layers" msgstr "Отпереть все во всех слоях" -#: ../src/verbs.cpp:2701 +#: ../src/verbs.cpp:2706 msgid "Unhide All" msgstr "Раскрыть все" -#: ../src/verbs.cpp:2703 +#: ../src/verbs.cpp:2708 msgid "Unhide All in All Layers" msgstr "Раскрыть все во всех слоях" @@ -15276,30 +15375,35 @@ msgstr "Название профиля:" msgid "Save" msgstr "Сохранить" -#: ../src/widgets/dash-selector.cpp:59 +#: ../src/widgets/dash-selector.cpp:62 msgid "Dash pattern" msgstr "Пунктир" -#: ../src/widgets/dash-selector.cpp:74 +#: ../src/widgets/dash-selector.cpp:77 msgid "Pattern offset" msgstr "Смещение пунктира" -#: ../src/widgets/desktop-widget.cpp:615 +#. display the initial welcome message in the statusbar +#: ../src/widgets/desktop-widget.cpp:545 +msgid "Welcome to Inkscape! Use shape or freehand tools to create objects; use selector (arrow) to move or transform them." +msgstr "Добро пожаловать в Inkscape! Используйте инструменты фигур или рисования для создания объектов; используйте селектор (стрелку) для их перемещения и трансформации." + +#: ../src/widgets/desktop-widget.cpp:607 #, c-format msgid "%s: %d (outline) - Inkscape" msgstr "%s: %d (каркас) — Inkscape" -#: ../src/widgets/desktop-widget.cpp:617 +#: ../src/widgets/desktop-widget.cpp:609 #, c-format msgid "%s: %d - Inkscape" msgstr "%s: %d — Inkscape" -#: ../src/widgets/desktop-widget.cpp:621 +#: ../src/widgets/desktop-widget.cpp:613 #, c-format msgid "%s (outline) - Inkscape" msgstr "%s (каркас) — Inkscape" -#: ../src/widgets/desktop-widget.cpp:623 +#: ../src/widgets/desktop-widget.cpp:615 #, c-format msgid "%s - Inkscape" msgstr "%s — Inkscape" @@ -15311,7 +15415,7 @@ msgstr "Гарнитура" #. Style frame #: ../src/widgets/font-selector.cpp:188 -#: ../share/extensions/polyhedron_3d.inx.h:44 +#: ../share/extensions/polyhedron_3d.inx.h:43 msgid "Style" msgstr "Начертание" @@ -15324,12 +15428,12 @@ msgstr "Кегль шрифта:" #. * some representative characters that users of your locale will be #. * interested in. #: ../src/widgets/font-selector.cpp:639 -#: ../src/widgets/toolbox.cpp:6080 +#: ../src/widgets/toolbox.cpp:6069 msgid "AaBbCcIiPpQq12369$€¢?.;/()" msgstr "АаБбВвГгЁёФфЩщЯя$€¢?.;/()" #: ../src/widgets/gradient-selector.cpp:139 -#: ../src/widgets/gradient-toolbar.cpp:462 +#: ../src/widgets/gradient-toolbar.cpp:465 msgid "Edit..." msgstr "Изменить..." @@ -15350,73 +15454,73 @@ msgstr "повторный" msgid "Repeat:" msgstr "Повтор:" -#: ../src/widgets/gradient-toolbar.cpp:151 +#: ../src/widgets/gradient-toolbar.cpp:154 msgid "Assign gradient to object" msgstr "Применить градиент к объекту" -#: ../src/widgets/gradient-toolbar.cpp:185 +#: ../src/widgets/gradient-toolbar.cpp:188 msgid "No gradients" msgstr "Градиентов нет" -#: ../src/widgets/gradient-toolbar.cpp:194 +#: ../src/widgets/gradient-toolbar.cpp:197 msgid "Nothing selected" msgstr "Ничего не выделено" -#: ../src/widgets/gradient-toolbar.cpp:205 +#: ../src/widgets/gradient-toolbar.cpp:208 msgid "No gradients in selection" msgstr "Градиент не выделен" -#: ../src/widgets/gradient-toolbar.cpp:215 +#: ../src/widgets/gradient-toolbar.cpp:218 msgid "Multiple gradients" msgstr "Несколько градиентов" -#: ../src/widgets/gradient-toolbar.cpp:463 +#: ../src/widgets/gradient-toolbar.cpp:466 msgid "Edit the stops of the gradient" msgstr "Изменить опорные точки в градиенте" -#: ../src/widgets/gradient-toolbar.cpp:522 -#: ../src/widgets/toolbox.cpp:2151 -#: ../src/widgets/toolbox.cpp:2229 -#: ../src/widgets/toolbox.cpp:2560 -#: ../src/widgets/toolbox.cpp:2598 -#: ../src/widgets/toolbox.cpp:3215 -#: ../src/widgets/toolbox.cpp:3239 -#: ../src/widgets/toolbox.cpp:4666 -#: ../src/widgets/toolbox.cpp:4695 +#: ../src/widgets/gradient-toolbar.cpp:526 +#: ../src/widgets/toolbox.cpp:2149 +#: ../src/widgets/toolbox.cpp:2227 +#: ../src/widgets/toolbox.cpp:2558 +#: ../src/widgets/toolbox.cpp:2596 +#: ../src/widgets/toolbox.cpp:3211 +#: ../src/widgets/toolbox.cpp:3235 +#: ../src/widgets/toolbox.cpp:4648 +#: ../src/widgets/toolbox.cpp:4677 msgid "New:" msgstr "Новый:" -#: ../src/widgets/gradient-toolbar.cpp:535 +#: ../src/widgets/gradient-toolbar.cpp:539 msgid "Create linear gradient" msgstr "Создать линейный градиент" -#: ../src/widgets/gradient-toolbar.cpp:549 +#: ../src/widgets/gradient-toolbar.cpp:553 msgid "Create radial (elliptic or circular) gradient" msgstr "Создать радиальный (эллиптический или круговой) градиент" #. TODO replace aux_toolbox_space(tbl, AUX_SPACING); -#: ../src/widgets/gradient-toolbar.cpp:564 +#: ../src/widgets/gradient-toolbar.cpp:568 msgid "on" msgstr "на" -#: ../src/widgets/gradient-toolbar.cpp:577 +#: ../src/widgets/gradient-toolbar.cpp:581 msgid "Create gradient in the fill" msgstr "Создать градиент в заливке" -#: ../src/widgets/gradient-toolbar.cpp:591 +#: ../src/widgets/gradient-toolbar.cpp:595 msgid "Create gradient in the stroke" msgstr "Создать градиент в обводке" #. FIXME: implement averaging of all parameters for multiple selected #. gtk_label_set_markup(GTK_LABEL(l), _("Average:")); -#: ../src/widgets/gradient-toolbar.cpp:605 -#: ../src/widgets/toolbox.cpp:2153 -#: ../src/widgets/toolbox.cpp:2568 -#: ../src/widgets/toolbox.cpp:2586 -#: ../src/widgets/toolbox.cpp:3217 -#: ../src/widgets/toolbox.cpp:3228 -#: ../src/widgets/toolbox.cpp:4669 -#: ../src/widgets/toolbox.cpp:4680 +#: ../src/widgets/gradient-toolbar.cpp:609 +#: ../src/widgets/toolbox.cpp:2151 +#: ../src/widgets/toolbox.cpp:2566 +#: ../src/widgets/toolbox.cpp:2584 +#: ../src/widgets/toolbox.cpp:3213 +#: ../src/widgets/toolbox.cpp:3224 +#: ../src/widgets/toolbox.cpp:4651 +#: ../src/widgets/toolbox.cpp:4662 msgid "Change:" msgstr "Менять:" @@ -15428,46 +15532,46 @@ msgstr "Документ не содержит градиентов" msgid "No gradient selected" msgstr "Градиент не выделен" -#: ../src/widgets/gradient-vector.cpp:538 +#: ../src/widgets/gradient-vector.cpp:541 msgid "No stops in gradient" msgstr "В градиенте нет опорных точек" -#: ../src/widgets/gradient-vector.cpp:661 +#: ../src/widgets/gradient-vector.cpp:664 msgid "Change gradient stop offset" msgstr "Правка смещения опорной точки градиента" #. TRANSLATORS: "Stop" means: a "phase" of a gradient -#: ../src/widgets/gradient-vector.cpp:803 +#: ../src/widgets/gradient-vector.cpp:806 msgid "Add stop" msgstr "Добавить опорную точку" -#: ../src/widgets/gradient-vector.cpp:806 +#: ../src/widgets/gradient-vector.cpp:809 msgid "Add another control stop to gradient" msgstr "Добавить еще одну опорную точку в градиент" -#: ../src/widgets/gradient-vector.cpp:808 +#: ../src/widgets/gradient-vector.cpp:811 msgid "Delete stop" msgstr "Удалить опорную точку" -#: ../src/widgets/gradient-vector.cpp:811 +#: ../src/widgets/gradient-vector.cpp:814 msgid "Delete current control stop from gradient" msgstr "Удалить опорную точку градиента" #. Label -#: ../src/widgets/gradient-vector.cpp:822 +#: ../src/widgets/gradient-vector.cpp:825 msgid "Offset:" msgstr "Смещение:" #. TRANSLATORS: "Stop" means: a "phase" of a gradient -#: ../src/widgets/gradient-vector.cpp:867 +#: ../src/widgets/gradient-vector.cpp:870 msgid "Stop Color" msgstr "Цвет опорной точки" -#: ../src/widgets/gradient-vector.cpp:896 +#: ../src/widgets/gradient-vector.cpp:900 msgid "Gradient editor" msgstr "Редактор градиентов" -#: ../src/widgets/gradient-vector.cpp:1171 +#: ../src/widgets/gradient-vector.cpp:1176 msgid "Change gradient stop color" msgstr "Смена цвета опорной точки градиента" @@ -15537,120 +15641,120 @@ msgstr "Цвет не определен" msgid "Use the Node tool to adjust position, scale, and rotation of the pattern on canvas. Use Object > Pattern > Objects to Pattern to create a new pattern from selection." msgstr "Используйте Инструмент правки узлов для коррекции позиции, масштаба и вращения текстуры на холсте. Используйте команду Объект → Текстура → Объект(ы) в текстуру, чтобы создать новую текстуру из выделения." -#: ../src/widgets/select-toolbar.cpp:245 +#: ../src/widgets/select-toolbar.cpp:246 msgid "Transform by toolbar" msgstr "Смена ШВ/XY через панель" -#: ../src/widgets/select-toolbar.cpp:300 +#: ../src/widgets/select-toolbar.cpp:303 msgid "Now stroke width is scaled when objects are scaled." msgstr "Теперь толщина обводки масштабируется вместе с объектами." -#: ../src/widgets/select-toolbar.cpp:302 +#: ../src/widgets/select-toolbar.cpp:305 msgid "Now stroke width is not scaled when objects are scaled." msgstr "Теперь толщина обводки не масштабируется вместе с объектами." -#: ../src/widgets/select-toolbar.cpp:311 +#: ../src/widgets/select-toolbar.cpp:316 msgid "Now rounded rectangle corners are scaled when rectangles are scaled." msgstr "Теперь скруглённые углы прямоугольников масштабируются вместе с прямоугольниками." -#: ../src/widgets/select-toolbar.cpp:313 +#: ../src/widgets/select-toolbar.cpp:318 msgid "Now rounded rectangle corners are not scaled when rectangles are scaled." msgstr "Теперь скруглённые углы прямоугольников не масштабируются вместе с прямоугольниками." -#: ../src/widgets/select-toolbar.cpp:322 +#: ../src/widgets/select-toolbar.cpp:329 msgid "Now gradients are transformed along with their objects when those are transformed (moved, scaled, rotated, or skewed)." msgstr "Теперь градиенты трансформируются вместе с объектами (при перемещении, масштабировании, вращении или скосе)." -#: ../src/widgets/select-toolbar.cpp:324 +#: ../src/widgets/select-toolbar.cpp:331 msgid "Now gradients remain fixed when objects are transformed (moved, scaled, rotated, or skewed)." msgstr "Теперь градиенты остаются неизменными при трансформации объектов (перемещение, масштабирование, вращение или скос)." -#: ../src/widgets/select-toolbar.cpp:333 +#: ../src/widgets/select-toolbar.cpp:342 msgid "Now patterns are transformed along with their objects when those are transformed (moved, scaled, rotated, or skewed)." msgstr "Теперь текстуры трансформируются вместе с объектами (при перемещении, масштабировании, вращении или скосе)." -#: ../src/widgets/select-toolbar.cpp:335 +#: ../src/widgets/select-toolbar.cpp:344 msgid "Now patterns remain fixed when objects are transformed (moved, scaled, rotated, or skewed)." msgstr "Теперь текстуры остаются неизменными при трансформации объектов (перемещение, масштабирование, вращение или скос)." #. four spinbuttons #. TRANSLATORS: only translate "string" in "context|string". #. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS -#: ../src/widgets/select-toolbar.cpp:447 +#: ../src/widgets/select-toolbar.cpp:457 msgid "select_toolbar|X position" msgstr "Координата X" -#: ../src/widgets/select-toolbar.cpp:447 +#: ../src/widgets/select-toolbar.cpp:457 msgid "select_toolbar|X" msgstr "X" -#: ../src/widgets/select-toolbar.cpp:449 +#: ../src/widgets/select-toolbar.cpp:459 msgid "Horizontal coordinate of selection" msgstr "Горизонтальная координата выделения" #. TRANSLATORS: only translate "string" in "context|string". #. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS -#: ../src/widgets/select-toolbar.cpp:455 +#: ../src/widgets/select-toolbar.cpp:465 msgid "select_toolbar|Y position" msgstr "Координата Y" -#: ../src/widgets/select-toolbar.cpp:455 +#: ../src/widgets/select-toolbar.cpp:465 msgid "select_toolbar|Y" msgstr "Y" -#: ../src/widgets/select-toolbar.cpp:457 +#: ../src/widgets/select-toolbar.cpp:467 msgid "Vertical coordinate of selection" msgstr "Вертикальная координата выделения" #. TRANSLATORS: only translate "string" in "context|string". #. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS -#: ../src/widgets/select-toolbar.cpp:463 +#: ../src/widgets/select-toolbar.cpp:473 msgid "select_toolbar|Width" msgstr "Ширина" -#: ../src/widgets/select-toolbar.cpp:463 +#: ../src/widgets/select-toolbar.cpp:473 msgid "select_toolbar|W" msgstr "Ш" -#: ../src/widgets/select-toolbar.cpp:465 +#: ../src/widgets/select-toolbar.cpp:475 msgid "Width of selection" msgstr "Ширина выделения" -#: ../src/widgets/select-toolbar.cpp:472 +#: ../src/widgets/select-toolbar.cpp:482 msgid "Lock width and height" msgstr "Запереть ширину и высоту" -#: ../src/widgets/select-toolbar.cpp:473 +#: ../src/widgets/select-toolbar.cpp:483 msgid "When locked, change both width and height by the same proportion" msgstr "Если заперто, пропорционально изменять ширину и высоту" #. TRANSLATORS: only translate "string" in "context|string". #. For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS -#: ../src/widgets/select-toolbar.cpp:484 +#: ../src/widgets/select-toolbar.cpp:494 msgid "select_toolbar|Height" msgstr "Высота" -#: ../src/widgets/select-toolbar.cpp:484 +#: ../src/widgets/select-toolbar.cpp:494 msgid "select_toolbar|H" msgstr "В" -#: ../src/widgets/select-toolbar.cpp:486 +#: ../src/widgets/select-toolbar.cpp:496 msgid "Height of selection" msgstr "Высота выделения" -#: ../src/widgets/select-toolbar.cpp:523 +#: ../src/widgets/select-toolbar.cpp:533 msgid "Affect:" msgstr "Менять:" -#: ../src/widgets/select-toolbar.cpp:542 +#: ../src/widgets/select-toolbar.cpp:552 msgid "Scale rounded corners" msgstr "Менять радиус закругленных углов" -#: ../src/widgets/select-toolbar.cpp:553 +#: ../src/widgets/select-toolbar.cpp:563 msgid "Move gradients" msgstr "Смещать градиенты" -#: ../src/widgets/select-toolbar.cpp:564 +#: ../src/widgets/select-toolbar.cpp:574 msgid "Move patterns" msgstr "Смещать текстуры" @@ -15658,101 +15762,101 @@ msgstr "Смещать текстуры" msgid "System" msgstr "Системный" -#: ../src/widgets/sp-color-icc-selector.cpp:110 +#: ../src/widgets/sp-color-icc-selector.cpp:111 msgid "CMS" msgstr "CMS" -#: ../src/widgets/sp-color-icc-selector.cpp:219 +#: ../src/widgets/sp-color-icc-selector.cpp:220 #: ../src/widgets/sp-color-scales.cpp:397 msgid "_R" msgstr "_R" -#: ../src/widgets/sp-color-icc-selector.cpp:219 #: ../src/widgets/sp-color-icc-selector.cpp:220 +#: ../src/widgets/sp-color-icc-selector.cpp:221 #: ../src/widgets/sp-color-scales.cpp:400 msgid "_G" msgstr "_G" -#: ../src/widgets/sp-color-icc-selector.cpp:219 +#: ../src/widgets/sp-color-icc-selector.cpp:220 #: ../src/widgets/sp-color-scales.cpp:403 msgid "_B" msgstr "_B" -#: ../src/widgets/sp-color-icc-selector.cpp:221 #: ../src/widgets/sp-color-icc-selector.cpp:222 +#: ../src/widgets/sp-color-icc-selector.cpp:223 #: ../src/widgets/sp-color-scales.cpp:423 msgid "_H" msgstr "_H" -#: ../src/widgets/sp-color-icc-selector.cpp:221 #: ../src/widgets/sp-color-icc-selector.cpp:222 +#: ../src/widgets/sp-color-icc-selector.cpp:223 #: ../src/widgets/sp-color-scales.cpp:426 msgid "_S" msgstr "_S" -#: ../src/widgets/sp-color-icc-selector.cpp:222 +#: ../src/widgets/sp-color-icc-selector.cpp:223 #: ../src/widgets/sp-color-scales.cpp:429 msgid "_L" msgstr "_L" -#: ../src/widgets/sp-color-icc-selector.cpp:223 #: ../src/widgets/sp-color-icc-selector.cpp:224 +#: ../src/widgets/sp-color-icc-selector.cpp:225 #: ../src/widgets/sp-color-scales.cpp:451 msgid "_C" msgstr "_C" -#: ../src/widgets/sp-color-icc-selector.cpp:223 #: ../src/widgets/sp-color-icc-selector.cpp:224 +#: ../src/widgets/sp-color-icc-selector.cpp:225 #: ../src/widgets/sp-color-scales.cpp:454 msgid "_M" msgstr "_M" -#: ../src/widgets/sp-color-icc-selector.cpp:223 #: ../src/widgets/sp-color-icc-selector.cpp:224 +#: ../src/widgets/sp-color-icc-selector.cpp:225 #: ../src/widgets/sp-color-scales.cpp:457 msgid "_Y" msgstr "_Y" -#: ../src/widgets/sp-color-icc-selector.cpp:223 +#: ../src/widgets/sp-color-icc-selector.cpp:224 #: ../src/widgets/sp-color-scales.cpp:460 msgid "_K" msgstr "_K" -#: ../src/widgets/sp-color-icc-selector.cpp:234 +#: ../src/widgets/sp-color-icc-selector.cpp:235 msgid "Gray" msgstr "Серый" -#: ../src/widgets/sp-color-icc-selector.cpp:237 #: ../src/widgets/sp-color-icc-selector.cpp:238 +#: ../src/widgets/sp-color-icc-selector.cpp:239 #: ../src/widgets/sp-color-scales.cpp:452 #: ../src/widgets/sp-color-scales.cpp:453 msgid "Cyan" msgstr "Голубой" -#: ../src/widgets/sp-color-icc-selector.cpp:237 #: ../src/widgets/sp-color-icc-selector.cpp:238 +#: ../src/widgets/sp-color-icc-selector.cpp:239 #: ../src/widgets/sp-color-scales.cpp:455 #: ../src/widgets/sp-color-scales.cpp:456 msgid "Magenta" msgstr "Пурпурный" -#: ../src/widgets/sp-color-icc-selector.cpp:237 #: ../src/widgets/sp-color-icc-selector.cpp:238 +#: ../src/widgets/sp-color-icc-selector.cpp:239 #: ../src/widgets/sp-color-scales.cpp:458 #: ../src/widgets/sp-color-scales.cpp:459 msgid "Yellow" msgstr "Жёлтый" -#: ../src/widgets/sp-color-icc-selector.cpp:295 +#: ../src/widgets/sp-color-icc-selector.cpp:296 msgid "Fix" msgstr "Исправить" -#: ../src/widgets/sp-color-icc-selector.cpp:298 +#: ../src/widgets/sp-color-icc-selector.cpp:299 msgid "Fix RGB fallback to match icc-color() value." msgstr "Исправить откат на RGB до совпадения со значением icc-color()" #. Label -#: ../src/widgets/sp-color-icc-selector.cpp:379 +#: ../src/widgets/sp-color-icc-selector.cpp:380 #: ../src/widgets/sp-color-scales.cpp:406 #: ../src/widgets/sp-color-scales.cpp:432 #: ../src/widgets/sp-color-scales.cpp:463 @@ -15760,8 +15864,8 @@ msgstr "Исправить откат на RGB до совпадения со з msgid "_A" msgstr "_A" -#: ../src/widgets/sp-color-icc-selector.cpp:389 -#: ../src/widgets/sp-color-icc-selector.cpp:401 +#: ../src/widgets/sp-color-icc-selector.cpp:390 +#: ../src/widgets/sp-color-icc-selector.cpp:402 #: ../src/widgets/sp-color-scales.cpp:407 #: ../src/widgets/sp-color-scales.cpp:408 #: ../src/widgets/sp-color-scales.cpp:433 @@ -15773,11 +15877,11 @@ msgstr "_A" msgid "Alpha (opacity)" msgstr "Альфа-канал (непрозрачность)" -#: ../src/widgets/sp-color-notebook.cpp:329 +#: ../src/widgets/sp-color-notebook.cpp:330 msgid "RGBA_:" msgstr "RGBA_:" -#: ../src/widgets/sp-color-notebook.cpp:337 +#: ../src/widgets/sp-color-notebook.cpp:338 msgid "Hexadecimal RGBA value of the color" msgstr "Шестнадцатеричное значение RGBA" @@ -15814,1406 +15918,1409 @@ msgstr "Значение" msgid "Type text in a text node" msgstr "Ввод текста в текстовую ветвь" -#: ../src/widgets/toolbox.cpp:197 +#: ../src/widgets/toolbox.cpp:194 msgid "Color/opacity used for color tweaking" msgstr "Цвет/непрозрачность, используемые для коррекции цвета" -#: ../src/widgets/toolbox.cpp:201 +#: ../src/widgets/toolbox.cpp:198 msgid "Style of new stars" msgstr "Стиль новых звёзд" -#: ../src/widgets/toolbox.cpp:203 +#: ../src/widgets/toolbox.cpp:200 msgid "Style of new rectangles" msgstr "Стиль новых прямоугольников" -#: ../src/widgets/toolbox.cpp:205 +#: ../src/widgets/toolbox.cpp:202 msgid "Style of new 3D boxes" msgstr "Стиль новых паралеллепипедов" -#: ../src/widgets/toolbox.cpp:207 +#: ../src/widgets/toolbox.cpp:204 msgid "Style of new ellipses" msgstr "Стиль новых эллипсов" -#: ../src/widgets/toolbox.cpp:209 +#: ../src/widgets/toolbox.cpp:206 msgid "Style of new spirals" msgstr "Стиль новых спиралей" -#: ../src/widgets/toolbox.cpp:211 +#: ../src/widgets/toolbox.cpp:208 msgid "Style of new paths created by Pencil" msgstr "Стиль новых контуров, созданных Карандашом" -#: ../src/widgets/toolbox.cpp:213 +#: ../src/widgets/toolbox.cpp:210 msgid "Style of new paths created by Pen" msgstr "Стиль новых контуров, созданных Пером" -#: ../src/widgets/toolbox.cpp:215 +#: ../src/widgets/toolbox.cpp:212 msgid "Style of new calligraphic strokes" msgstr "Стиль новых каллиграфических штрихов" -#: ../src/widgets/toolbox.cpp:217 -#: ../src/widgets/toolbox.cpp:219 +#: ../src/widgets/toolbox.cpp:214 +#: ../src/widgets/toolbox.cpp:216 msgid "TBD" msgstr "" -#: ../src/widgets/toolbox.cpp:229 +#: ../src/widgets/toolbox.cpp:226 msgid "Style of Paint Bucket fill objects" msgstr "Стиль заливки новых объектов, созданных инструментом заливки" -#: ../src/widgets/toolbox.cpp:1265 +#: ../src/widgets/toolbox.cpp:1264 msgid "Insert node" msgstr "Вставка узла" -#: ../src/widgets/toolbox.cpp:1266 +#: ../src/widgets/toolbox.cpp:1265 msgid "Insert new nodes into selected segments" msgstr "Вставить новые узлы в выделенные сегменты" -#: ../src/widgets/toolbox.cpp:1269 +#: ../src/widgets/toolbox.cpp:1268 msgid "Insert" msgstr "Вставить" -#: ../src/widgets/toolbox.cpp:1277 +#: ../src/widgets/toolbox.cpp:1276 msgid "Delete selected nodes" msgstr "Удалить выделенные узлы" -#: ../src/widgets/toolbox.cpp:1287 +#: ../src/widgets/toolbox.cpp:1286 msgid "Join endnodes" msgstr "Соединение оконечных узлов" -#: ../src/widgets/toolbox.cpp:1288 +#: ../src/widgets/toolbox.cpp:1287 msgid "Join selected endnodes" msgstr "Соединить контуры по выделенным оконечным узлам" -#: ../src/widgets/toolbox.cpp:1291 +#: ../src/widgets/toolbox.cpp:1290 msgid "Join" msgstr "Соединение" -#: ../src/widgets/toolbox.cpp:1298 +#: ../src/widgets/toolbox.cpp:1297 #, fuzzy msgid "Break nodes" msgstr "Перемещение узлов" -#: ../src/widgets/toolbox.cpp:1299 +#: ../src/widgets/toolbox.cpp:1298 msgid "Break path at selected nodes" msgstr "Разорвать контур в выделенном узле" -#: ../src/widgets/toolbox.cpp:1309 +#: ../src/widgets/toolbox.cpp:1308 #, fuzzy msgid "Join with segment" msgstr "Соединение узлов сегментом" -#: ../src/widgets/toolbox.cpp:1310 +#: ../src/widgets/toolbox.cpp:1309 msgid "Join selected endnodes with a new segment" msgstr "Соединить контуры по выделенным оконечным узлам новым сегментом" -#: ../src/widgets/toolbox.cpp:1320 +#: ../src/widgets/toolbox.cpp:1319 msgid "Delete segment between two non-endpoint nodes" msgstr "Удалить сегмент между двумя неоконечными узлами" -#: ../src/widgets/toolbox.cpp:1329 +#: ../src/widgets/toolbox.cpp:1328 msgid "Node Cusp" msgstr "Острые узлы" -#: ../src/widgets/toolbox.cpp:1330 +#: ../src/widgets/toolbox.cpp:1329 msgid "Make selected nodes corner" msgstr "Сделать выделенные узлы острыми" -#: ../src/widgets/toolbox.cpp:1339 +#: ../src/widgets/toolbox.cpp:1338 msgid "Node Smooth" msgstr "Гладкие узлы" -#: ../src/widgets/toolbox.cpp:1340 +#: ../src/widgets/toolbox.cpp:1339 msgid "Make selected nodes smooth" msgstr "Сделать выделенные узлы сглаженными" -#: ../src/widgets/toolbox.cpp:1349 +#: ../src/widgets/toolbox.cpp:1348 msgid "Node Symmetric" msgstr "Симметричные узлы" -#: ../src/widgets/toolbox.cpp:1350 +#: ../src/widgets/toolbox.cpp:1349 msgid "Make selected nodes symmetric" msgstr "Сделать выделенные узлы симметричными" -#: ../src/widgets/toolbox.cpp:1359 +#: ../src/widgets/toolbox.cpp:1358 msgid "Node Line" msgstr "Линия по узлам" -#: ../src/widgets/toolbox.cpp:1360 +#: ../src/widgets/toolbox.cpp:1359 msgid "Make selected segments lines" msgstr "Сделать выделенные сегменты прямыми" -#: ../src/widgets/toolbox.cpp:1369 +#: ../src/widgets/toolbox.cpp:1368 msgid "Node Curve" msgstr "Кривая по узлам" -#: ../src/widgets/toolbox.cpp:1370 +#: ../src/widgets/toolbox.cpp:1369 msgid "Make selected segments curves" msgstr "Сделать выделенные сегменты кривыми" -#: ../src/widgets/toolbox.cpp:1379 +#: ../src/widgets/toolbox.cpp:1378 msgid "Show Handles" msgstr "Показывать рычаги" -#: ../src/widgets/toolbox.cpp:1380 +#: ../src/widgets/toolbox.cpp:1379 msgid "Show the Bezier handles of selected nodes" msgstr "Показывать рычаги выбранных узлов" -#: ../src/widgets/toolbox.cpp:1390 +#: ../src/widgets/toolbox.cpp:1389 msgid "Show Outline" msgstr "Показать контур" -#: ../src/widgets/toolbox.cpp:1391 +#: ../src/widgets/toolbox.cpp:1390 msgid "Show the outline of the path" msgstr "Показать очертания контура" -#: ../src/widgets/toolbox.cpp:1401 +#: ../src/widgets/toolbox.cpp:1400 msgid "Next path effect parameter" msgstr "Следующий параметр контурного эффекта" -#: ../src/widgets/toolbox.cpp:1402 +#: ../src/widgets/toolbox.cpp:1401 msgid "Show next path effect parameter for editing" msgstr "Показать следующий редактируемый параметр динамического эффекта" -#: ../src/widgets/toolbox.cpp:1413 +#: ../src/widgets/toolbox.cpp:1412 msgid "Edit the clipping path of the object" msgstr "Изменить обтравочный контур объекта" -#: ../src/widgets/toolbox.cpp:1423 +#: ../src/widgets/toolbox.cpp:1422 msgid "Edit mask path" msgstr "Изменить контур маски" -#: ../src/widgets/toolbox.cpp:1424 +#: ../src/widgets/toolbox.cpp:1423 msgid "Edit the mask of the object" msgstr "Изменить маску объекта" -#: ../src/widgets/toolbox.cpp:1438 +#: ../src/widgets/toolbox.cpp:1437 msgid "X coordinate:" msgstr "Координата по X:" -#: ../src/widgets/toolbox.cpp:1438 +#: ../src/widgets/toolbox.cpp:1437 msgid "X coordinate of selected node(s)" msgstr "Координата X выбранных узлов" -#: ../src/widgets/toolbox.cpp:1456 +#: ../src/widgets/toolbox.cpp:1455 msgid "Y coordinate:" msgstr "Координата по Y:" -#: ../src/widgets/toolbox.cpp:1456 +#: ../src/widgets/toolbox.cpp:1455 msgid "Y coordinate of selected node(s)" msgstr "Координата Y выбранных узлов" -#: ../src/widgets/toolbox.cpp:1900 +#: ../src/widgets/toolbox.cpp:1898 msgid "Star: Change number of corners" msgstr "Смена количества лучей" -#: ../src/widgets/toolbox.cpp:1943 +#: ../src/widgets/toolbox.cpp:1941 msgid "Star: Change spoke ratio" msgstr "Смена отношения радиусов" -#: ../src/widgets/toolbox.cpp:1986 +#: ../src/widgets/toolbox.cpp:1984 msgid "Make polygon" msgstr "Звезда → многоугольник" -#: ../src/widgets/toolbox.cpp:1986 +#: ../src/widgets/toolbox.cpp:1984 msgid "Make star" msgstr "Многоугольник → звезда" -#: ../src/widgets/toolbox.cpp:2022 +#: ../src/widgets/toolbox.cpp:2020 msgid "Star: Change rounding" msgstr "Смена закругления" -#: ../src/widgets/toolbox.cpp:2057 +#: ../src/widgets/toolbox.cpp:2055 msgid "Star: Change randomization" msgstr "Смена случайности искажения" -#: ../src/widgets/toolbox.cpp:2248 +#: ../src/widgets/toolbox.cpp:2246 msgid "Regular polygon (with one handle) instead of a star" msgstr "Правильный многоугольник, а не звезда" -#: ../src/widgets/toolbox.cpp:2255 +#: ../src/widgets/toolbox.cpp:2253 msgid "Star instead of a regular polygon (with one handle)" msgstr "Звезда вместо обычного многоугольника (с одним рычагом)" -#: ../src/widgets/toolbox.cpp:2276 +#: ../src/widgets/toolbox.cpp:2274 msgid "triangle/tri-star" msgstr "треугольник/звезда с 3 лучами" -#: ../src/widgets/toolbox.cpp:2276 +#: ../src/widgets/toolbox.cpp:2274 msgid "square/quad-star" msgstr "квадрат/звезда с 4 лучами" -#: ../src/widgets/toolbox.cpp:2276 +#: ../src/widgets/toolbox.cpp:2274 msgid "pentagon/five-pointed star" msgstr "пятиугольник/звезда с 5 лучами" -#: ../src/widgets/toolbox.cpp:2276 +#: ../src/widgets/toolbox.cpp:2274 msgid "hexagon/six-pointed star" msgstr "шестиугольник/звезда с 6 лучами" -#: ../src/widgets/toolbox.cpp:2279 +#: ../src/widgets/toolbox.cpp:2277 msgid "Corners" msgstr "Углы" -#: ../src/widgets/toolbox.cpp:2279 +#: ../src/widgets/toolbox.cpp:2277 msgid "Corners:" msgstr "Углы:" -#: ../src/widgets/toolbox.cpp:2279 +#: ../src/widgets/toolbox.cpp:2277 msgid "Number of corners of a polygon or star" msgstr "Количество вершин многоугольника или звезды" -#: ../src/widgets/toolbox.cpp:2292 +#: ../src/widgets/toolbox.cpp:2290 msgid "thin-ray star" msgstr "звезда с тонкими лучами" -#: ../src/widgets/toolbox.cpp:2292 +#: ../src/widgets/toolbox.cpp:2290 msgid "pentagram" msgstr "пентаграмма" -#: ../src/widgets/toolbox.cpp:2292 +#: ../src/widgets/toolbox.cpp:2290 msgid "hexagram" msgstr "гексаграмма" -#: ../src/widgets/toolbox.cpp:2292 +#: ../src/widgets/toolbox.cpp:2290 msgid "heptagram" msgstr "гептаграмма" -#: ../src/widgets/toolbox.cpp:2292 +#: ../src/widgets/toolbox.cpp:2290 msgid "octagram" msgstr "октограмма" -#: ../src/widgets/toolbox.cpp:2292 +#: ../src/widgets/toolbox.cpp:2290 msgid "regular polygon" msgstr "обычный многоугольник" -#: ../src/widgets/toolbox.cpp:2295 +#: ../src/widgets/toolbox.cpp:2293 msgid "Spoke ratio" msgstr "Отношение радиусов" -#: ../src/widgets/toolbox.cpp:2295 +#: ../src/widgets/toolbox.cpp:2293 msgid "Spoke ratio:" msgstr "Отношение радиусов:" #. TRANSLATORS: Tip radius of a star is the distance from the center to the farthest handle. #. Base radius is the same for the closest handle. -#: ../src/widgets/toolbox.cpp:2298 +#: ../src/widgets/toolbox.cpp:2296 msgid "Base radius to tip radius ratio" msgstr "Отношение радиусов основания и вершины луча" -#: ../src/widgets/toolbox.cpp:2316 +#: ../src/widgets/toolbox.cpp:2314 msgid "stretched" msgstr "растянуто" -#: ../src/widgets/toolbox.cpp:2316 +#: ../src/widgets/toolbox.cpp:2314 msgid "twisted" msgstr "извилисто" -#: ../src/widgets/toolbox.cpp:2316 +#: ../src/widgets/toolbox.cpp:2314 msgid "slightly pinched" msgstr "слегка прищемлено" -#: ../src/widgets/toolbox.cpp:2316 +#: ../src/widgets/toolbox.cpp:2314 msgid "NOT rounded" msgstr "БЕЗ закругления" -#: ../src/widgets/toolbox.cpp:2316 +#: ../src/widgets/toolbox.cpp:2314 msgid "slightly rounded" msgstr "небольшое закругление" -#: ../src/widgets/toolbox.cpp:2316 +#: ../src/widgets/toolbox.cpp:2314 msgid "visibly rounded" msgstr "заметное закругление" -#: ../src/widgets/toolbox.cpp:2316 +#: ../src/widgets/toolbox.cpp:2314 msgid "well rounded" msgstr "порядочное закругление" -#: ../src/widgets/toolbox.cpp:2316 +#: ../src/widgets/toolbox.cpp:2314 msgid "amply rounded" msgstr "изрядное закругление" -#: ../src/widgets/toolbox.cpp:2316 -#: ../src/widgets/toolbox.cpp:2331 +#: ../src/widgets/toolbox.cpp:2314 +#: ../src/widgets/toolbox.cpp:2329 msgid "blown up" msgstr "безумное" -#: ../src/widgets/toolbox.cpp:2319 +#: ../src/widgets/toolbox.cpp:2317 msgid "Rounded" msgstr "Закругление" -#: ../src/widgets/toolbox.cpp:2319 +#: ../src/widgets/toolbox.cpp:2317 msgid "Rounded:" msgstr "Закругление:" -#: ../src/widgets/toolbox.cpp:2319 +#: ../src/widgets/toolbox.cpp:2317 msgid "How much rounded are the corners (0 for sharp)" msgstr "Насколько сглажены углы (0 — острые)" -#: ../src/widgets/toolbox.cpp:2331 +#: ../src/widgets/toolbox.cpp:2329 msgid "NOT randomized" msgstr "без случайности" -#: ../src/widgets/toolbox.cpp:2331 +#: ../src/widgets/toolbox.cpp:2329 msgid "slightly irregular" msgstr "едва беспорядочно" -#: ../src/widgets/toolbox.cpp:2331 +#: ../src/widgets/toolbox.cpp:2329 msgid "visibly randomized" msgstr "заметная случайность" -#: ../src/widgets/toolbox.cpp:2331 +#: ../src/widgets/toolbox.cpp:2329 msgid "strongly randomized" msgstr "изрядная случайность" -#: ../src/widgets/toolbox.cpp:2334 +#: ../src/widgets/toolbox.cpp:2332 msgid "Randomized" msgstr "Случайность" -#: ../src/widgets/toolbox.cpp:2334 +#: ../src/widgets/toolbox.cpp:2332 msgid "Randomized:" msgstr "Искажение:" -#: ../src/widgets/toolbox.cpp:2334 +#: ../src/widgets/toolbox.cpp:2332 msgid "Scatter randomly the corners and angles" msgstr "Случайным образом смещать вершины и вращать углы" -#: ../src/widgets/toolbox.cpp:2349 -#: ../src/widgets/toolbox.cpp:3290 -#: ../src/widgets/toolbox.cpp:3563 -#: ../src/widgets/toolbox.cpp:6749 +#: ../src/widgets/toolbox.cpp:2347 +#: ../src/widgets/toolbox.cpp:3286 +#: ../src/widgets/toolbox.cpp:3546 +#: ../src/widgets/toolbox.cpp:6737 msgid "Defaults" msgstr "По умолчанию" -#: ../src/widgets/toolbox.cpp:2350 -#: ../src/widgets/toolbox.cpp:3291 +#: ../src/widgets/toolbox.cpp:2348 +#: ../src/widgets/toolbox.cpp:3287 msgid "Reset shape parameters to defaults (use Inkscape Preferences > Tools to change defaults)" msgstr "Сбросить параметры фигуры к значениям по умолчанию (параметры по умолчанию можно изменить в настройках Inkscape)" -#: ../src/widgets/toolbox.cpp:2423 +#: ../src/widgets/toolbox.cpp:2421 msgid "Change rectangle" msgstr "Удаление закругления" -#: ../src/widgets/toolbox.cpp:2616 +#: ../src/widgets/toolbox.cpp:2614 msgid "W:" msgstr "Ш:" -#: ../src/widgets/toolbox.cpp:2616 +#: ../src/widgets/toolbox.cpp:2614 msgid "Width of rectangle" msgstr "Ширина прямоугольника" -#: ../src/widgets/toolbox.cpp:2633 +#: ../src/widgets/toolbox.cpp:2631 msgid "H:" msgstr "Г:" -#: ../src/widgets/toolbox.cpp:2633 +#: ../src/widgets/toolbox.cpp:2631 msgid "Height of rectangle" msgstr "Высота прямоугольника" -#: ../src/widgets/toolbox.cpp:2647 -#: ../src/widgets/toolbox.cpp:2662 +#: ../src/widgets/toolbox.cpp:2645 +#: ../src/widgets/toolbox.cpp:2660 msgid "not rounded" msgstr "без закругления" -#: ../src/widgets/toolbox.cpp:2650 +#: ../src/widgets/toolbox.cpp:2648 msgid "Horizontal radius" msgstr "Горизонтальный радиус" -#: ../src/widgets/toolbox.cpp:2650 +#: ../src/widgets/toolbox.cpp:2648 msgid "Rx:" msgstr "Гор. радиус:" -#: ../src/widgets/toolbox.cpp:2650 +#: ../src/widgets/toolbox.cpp:2648 msgid "Horizontal radius of rounded corners" msgstr "Горизонтальный радиус закругленных углов" -#: ../src/widgets/toolbox.cpp:2665 +#: ../src/widgets/toolbox.cpp:2663 msgid "Vertical radius" msgstr "Вертикальный радиус" -#: ../src/widgets/toolbox.cpp:2665 +#: ../src/widgets/toolbox.cpp:2663 msgid "Ry:" msgstr "Верт. радиус:" -#: ../src/widgets/toolbox.cpp:2665 +#: ../src/widgets/toolbox.cpp:2663 msgid "Vertical radius of rounded corners" msgstr "Вертикальный радиус закругленных углов" -#: ../src/widgets/toolbox.cpp:2684 +#: ../src/widgets/toolbox.cpp:2682 msgid "Not rounded" msgstr "Не закруглён" -#: ../src/widgets/toolbox.cpp:2685 +#: ../src/widgets/toolbox.cpp:2683 msgid "Make corners sharp" msgstr "Убрать закругление углов" #. TODO: use the correct axis here, too -#: ../src/widgets/toolbox.cpp:2875 +#: ../src/widgets/toolbox.cpp:2871 msgid "3D Box: Change perspective (angle of infinite axis)" msgstr "Паралеллепипед: смена перспективы" -#: ../src/widgets/toolbox.cpp:2945 +#: ../src/widgets/toolbox.cpp:2941 msgid "Angle in X direction" msgstr "Угол в направлении X" #. Translators: PL is short for 'perspective line' -#: ../src/widgets/toolbox.cpp:2947 +#: ../src/widgets/toolbox.cpp:2943 msgid "Angle of PLs in X direction" msgstr "Угол ПЛ в направлении X" #. Translators: VP is short for 'vanishing point' -#: ../src/widgets/toolbox.cpp:2969 +#: ../src/widgets/toolbox.cpp:2965 msgid "State of VP in X direction" msgstr "Состояние точек схода в направлении X" -#: ../src/widgets/toolbox.cpp:2970 +#: ../src/widgets/toolbox.cpp:2966 msgid "Toggle VP in X direction between 'finite' and 'infinite' (=parallel)" msgstr "Переключить точку схода в направлении X между «конечной» и «бесконечной» (=параллельной)" -#: ../src/widgets/toolbox.cpp:2985 +#: ../src/widgets/toolbox.cpp:2981 msgid "Angle in Y direction" msgstr "Угол в направлении Y" -#: ../src/widgets/toolbox.cpp:2985 +#: ../src/widgets/toolbox.cpp:2981 msgid "Angle Y:" msgstr "Угол Y:" #. Translators: PL is short for 'perspective line' -#: ../src/widgets/toolbox.cpp:2987 +#: ../src/widgets/toolbox.cpp:2983 msgid "Angle of PLs in Y direction" msgstr "Угол ПЛ в направлении Y" #. Translators: VP is short for 'vanishing point' -#: ../src/widgets/toolbox.cpp:3008 +#: ../src/widgets/toolbox.cpp:3004 msgid "State of VP in Y direction" msgstr "Состояние точек схода в направлении Y" -#: ../src/widgets/toolbox.cpp:3009 +#: ../src/widgets/toolbox.cpp:3005 msgid "Toggle VP in Y direction between 'finite' and 'infinite' (=parallel)" msgstr "Переключить точку схода в направлении Y между «конечной» и «бесконечной» (=параллельной)" -#: ../src/widgets/toolbox.cpp:3024 +#: ../src/widgets/toolbox.cpp:3020 msgid "Angle in Z direction" msgstr "Угол в направлении Z" #. Translators: PL is short for 'perspective line' -#: ../src/widgets/toolbox.cpp:3026 +#: ../src/widgets/toolbox.cpp:3022 msgid "Angle of PLs in Z direction" msgstr "Угол ПЛ в направлении Z" #. Translators: VP is short for 'vanishing point' -#: ../src/widgets/toolbox.cpp:3047 +#: ../src/widgets/toolbox.cpp:3043 msgid "State of VP in Z direction" msgstr "Состояние точек схода в направлении Z" -#: ../src/widgets/toolbox.cpp:3048 +#: ../src/widgets/toolbox.cpp:3044 msgid "Toggle VP in Z direction between 'finite' and 'infinite' (=parallel)" msgstr "Переключить точку схода в направлении Z между «конечной» и «бесконечной» (=параллельной)" -#: ../src/widgets/toolbox.cpp:3106 +#: ../src/widgets/toolbox.cpp:3102 msgid "Change spiral" msgstr "Сброс изменений спирали" -#: ../src/widgets/toolbox.cpp:3247 +#: ../src/widgets/toolbox.cpp:3243 msgid "just a curve" msgstr "просто кривая" -#: ../src/widgets/toolbox.cpp:3247 +#: ../src/widgets/toolbox.cpp:3243 msgid "one full revolution" msgstr "один полный оборот" -#: ../src/widgets/toolbox.cpp:3250 +#: ../src/widgets/toolbox.cpp:3246 msgid "Number of turns" msgstr "Количество поворотов" -#: ../src/widgets/toolbox.cpp:3250 +#: ../src/widgets/toolbox.cpp:3246 msgid "Turns:" msgstr "Витков:" -#: ../src/widgets/toolbox.cpp:3250 +#: ../src/widgets/toolbox.cpp:3246 msgid "Number of revolutions" msgstr "Количество витков" -#: ../src/widgets/toolbox.cpp:3261 +#: ../src/widgets/toolbox.cpp:3257 msgid "circle" msgstr "окружность" -#: ../src/widgets/toolbox.cpp:3261 +#: ../src/widgets/toolbox.cpp:3257 msgid "edge is much denser" msgstr "край намного плотнее" -#: ../src/widgets/toolbox.cpp:3261 +#: ../src/widgets/toolbox.cpp:3257 msgid "edge is denser" msgstr "центр плотнее" -#: ../src/widgets/toolbox.cpp:3261 +#: ../src/widgets/toolbox.cpp:3257 msgid "even" msgstr "ровная спираль" -#: ../src/widgets/toolbox.cpp:3261 +#: ../src/widgets/toolbox.cpp:3257 msgid "center is denser" msgstr "центр плотнее" -#: ../src/widgets/toolbox.cpp:3261 +#: ../src/widgets/toolbox.cpp:3257 msgid "center is much denser" msgstr "центр намного плотнее" -#: ../src/widgets/toolbox.cpp:3264 +#: ../src/widgets/toolbox.cpp:3260 msgid "Divergence" msgstr "Отклонение" -#: ../src/widgets/toolbox.cpp:3264 +#: ../src/widgets/toolbox.cpp:3260 msgid "Divergence:" msgstr "Нелинейность:" -#: ../src/widgets/toolbox.cpp:3264 +#: ../src/widgets/toolbox.cpp:3260 msgid "How much denser/sparser are outer revolutions; 1 = uniform" msgstr "Насколько постепенно увеличивать или уменьшать расстояния между витками; 1 = равномерно" -#: ../src/widgets/toolbox.cpp:3275 +#: ../src/widgets/toolbox.cpp:3271 msgid "starts from center" msgstr "начинается из центра" -#: ../src/widgets/toolbox.cpp:3275 +#: ../src/widgets/toolbox.cpp:3271 msgid "starts mid-way" msgstr "начинается с середины" -#: ../src/widgets/toolbox.cpp:3275 +#: ../src/widgets/toolbox.cpp:3271 msgid "starts near edge" msgstr "начинается с края" -#: ../src/widgets/toolbox.cpp:3278 +#: ../src/widgets/toolbox.cpp:3274 msgid "Inner radius" msgstr "Внутренний радиус" -#: ../src/widgets/toolbox.cpp:3278 +#: ../src/widgets/toolbox.cpp:3274 msgid "Inner radius:" msgstr "Внутренний радиус:" -#: ../src/widgets/toolbox.cpp:3278 +#: ../src/widgets/toolbox.cpp:3274 msgid "Radius of the innermost revolution (relative to the spiral size)" msgstr "Радиус первого изнутри витка (относительно размера спирали)" -#: ../src/widgets/toolbox.cpp:3351 +#: ../src/widgets/toolbox.cpp:3347 msgid "Bezier" msgstr "Кривые Безье" -#: ../src/widgets/toolbox.cpp:3352 +#: ../src/widgets/toolbox.cpp:3348 msgid "Create regular Bezier path" msgstr "Рисовать кривую Безье" -#: ../src/widgets/toolbox.cpp:3358 +#: ../src/widgets/toolbox.cpp:3354 msgid "Spiro" msgstr "Кривые Спиро" -#: ../src/widgets/toolbox.cpp:3359 +#: ../src/widgets/toolbox.cpp:3355 msgid "Create Spiro path" msgstr "Рисовать кривую Спиро" -#: ../src/widgets/toolbox.cpp:3366 +#: ../src/widgets/toolbox.cpp:3362 msgid "Zigzag" msgstr "Зигзаги" -#: ../src/widgets/toolbox.cpp:3367 +#: ../src/widgets/toolbox.cpp:3363 msgid "Create a sequence of straight line segments" msgstr "Рисовать последовательность прямых отрезков" -#: ../src/widgets/toolbox.cpp:3373 +#: ../src/widgets/toolbox.cpp:3369 msgid "Paraxial" msgstr "Параксиальный режим" -#: ../src/widgets/toolbox.cpp:3374 +#: ../src/widgets/toolbox.cpp:3370 msgid "Create a sequence of paraxial line segments" msgstr "Рисовать последовательность прямых отрезков" -#: ../src/widgets/toolbox.cpp:3382 -#: ../src/widgets/toolbox.cpp:3778 +#: ../src/widgets/toolbox.cpp:3378 +#: ../src/widgets/toolbox.cpp:3769 #: ../share/extensions/extrude.inx.h:3 msgid "Mode:" msgstr "Режим:" -#: ../src/widgets/toolbox.cpp:3411 +#: ../src/widgets/toolbox.cpp:3407 msgid "Triangle in" msgstr "Декрещендо" -#: ../src/widgets/toolbox.cpp:3412 +#: ../src/widgets/toolbox.cpp:3408 msgid "Triangle out" msgstr "Крещендо" -#: ../src/widgets/toolbox.cpp:3414 +#: ../src/widgets/toolbox.cpp:3410 msgid "From clipboard" msgstr "Из буфера обмена" -#: ../src/widgets/toolbox.cpp:3439 -#: ../src/widgets/toolbox.cpp:3440 +#: ../src/widgets/toolbox.cpp:3435 +#: ../src/widgets/toolbox.cpp:3436 msgid "Shape:" msgstr "Форма:" -#: ../src/widgets/toolbox.cpp:3534 +#: ../src/widgets/toolbox.cpp:3520 msgid "(many nodes, rough)" msgstr "(много узлов, грубые линии)" -#: ../src/widgets/toolbox.cpp:3534 +#: ../src/widgets/toolbox.cpp:3520 +#: ../src/widgets/toolbox.cpp:3640 #: ../src/widgets/toolbox.cpp:3657 -#: ../src/widgets/toolbox.cpp:3674 -#: ../src/widgets/toolbox.cpp:3869 -#: ../src/widgets/toolbox.cpp:4248 -#: ../src/widgets/toolbox.cpp:4281 -#: ../src/widgets/toolbox.cpp:5260 +#: ../src/widgets/toolbox.cpp:3860 +#: ../src/widgets/toolbox.cpp:4230 +#: ../src/widgets/toolbox.cpp:4263 +#: ../src/widgets/toolbox.cpp:5249 msgid "(default)" msgstr "(по умолчанию)" -#: ../src/widgets/toolbox.cpp:3534 +#: ../src/widgets/toolbox.cpp:3520 msgid "(few nodes, smooth)" msgstr "(мало узлов, плавные линии)" -#: ../src/widgets/toolbox.cpp:3537 +#: ../src/widgets/toolbox.cpp:3523 msgid "Smoothing:" msgstr "Сглаживание:" -#: ../src/widgets/toolbox.cpp:3537 +#: ../src/widgets/toolbox.cpp:3523 msgid "Smoothing: " msgstr "Сглаживание:" -#: ../src/widgets/toolbox.cpp:3538 +#: ../src/widgets/toolbox.cpp:3524 msgid "How much smoothing (simplifying) is applied to the line" msgstr "Как сильно сглаживается (упрощается) рисуемая от руки линия" -#: ../src/widgets/toolbox.cpp:3564 +#: ../src/widgets/toolbox.cpp:3547 msgid "Reset pencil parameters to defaults (use Inkscape Preferences > Tools to change defaults)" msgstr "Сбросить параметры карандаша к значениям по умолчанию (параметры по умолчанию можно изменить в диалоге настройки Inkscape)" #. Width -#: ../src/widgets/toolbox.cpp:3657 +#: ../src/widgets/toolbox.cpp:3640 msgid "(pinch tweak)" msgstr "(узкая кисть)" -#: ../src/widgets/toolbox.cpp:3657 +#: ../src/widgets/toolbox.cpp:3640 msgid "(broad tweak)" msgstr "(широкая кисть)" -#: ../src/widgets/toolbox.cpp:3660 +#: ../src/widgets/toolbox.cpp:3643 msgid "The width of the tweak area (relative to the visible canvas area)" msgstr "Ширина области коррекции (относительно видимой области холста)" #. Force -#: ../src/widgets/toolbox.cpp:3674 +#: ../src/widgets/toolbox.cpp:3657 msgid "(minimum force)" msgstr "(минимальная)" -#: ../src/widgets/toolbox.cpp:3674 +#: ../src/widgets/toolbox.cpp:3657 msgid "(maximum force)" msgstr "(максимальная)" -#: ../src/widgets/toolbox.cpp:3677 +#: ../src/widgets/toolbox.cpp:3660 msgid "Force" msgstr "Сила" -#: ../src/widgets/toolbox.cpp:3677 +#: ../src/widgets/toolbox.cpp:3660 msgid "Force:" msgstr "Сила:" -#: ../src/widgets/toolbox.cpp:3677 +#: ../src/widgets/toolbox.cpp:3660 msgid "The force of the tweak action" msgstr "Сила действия инструмента коррекции" -#: ../src/widgets/toolbox.cpp:3695 +#: ../src/widgets/toolbox.cpp:3678 msgid "Move mode" msgstr "Перемещение объектов" -#: ../src/widgets/toolbox.cpp:3696 +#: ../src/widgets/toolbox.cpp:3679 msgid "Move objects in any direction" msgstr "Перемещать объекты в любом направлении" -#: ../src/widgets/toolbox.cpp:3702 +#: ../src/widgets/toolbox.cpp:3685 msgid "Move in/out mode" msgstr "Приближение и отталкивание объектов" -#: ../src/widgets/toolbox.cpp:3703 +#: ../src/widgets/toolbox.cpp:3686 msgid "Move objects towards cursor; with Shift from cursor" msgstr "Перемещать объекты по направлению к курсору, с Shift — в направлении от курсора" -#: ../src/widgets/toolbox.cpp:3709 +#: ../src/widgets/toolbox.cpp:3692 msgid "Move jitter mode" msgstr "Случайное перемещение объектов" -#: ../src/widgets/toolbox.cpp:3710 +#: ../src/widgets/toolbox.cpp:3693 msgid "Move objects in random directions" msgstr "Перемещать объекты в случайных направлениях" -#: ../src/widgets/toolbox.cpp:3716 +#: ../src/widgets/toolbox.cpp:3699 msgid "Scale mode" msgstr "Масштабирование объектов" -#: ../src/widgets/toolbox.cpp:3717 +#: ../src/widgets/toolbox.cpp:3700 msgid "Scale objects, with Shift scale up" msgstr "Менять размер объектов, с Shift — увеличивать" -#: ../src/widgets/toolbox.cpp:3723 +#: ../src/widgets/toolbox.cpp:3706 msgid "Rotate mode" msgstr "Вращение объектов" -#: ../src/widgets/toolbox.cpp:3724 +#: ../src/widgets/toolbox.cpp:3707 msgid "Rotate objects, with Shift counterclockwise" msgstr "Вращать объекты, с Shift — против часовой стрелки" -#: ../src/widgets/toolbox.cpp:3730 +#: ../src/widgets/toolbox.cpp:3713 msgid "Duplicate/delete mode" msgstr "Дублирование и удаление объектов" -#: ../src/widgets/toolbox.cpp:3731 +#: ../src/widgets/toolbox.cpp:3714 msgid "Duplicate objects, with Shift delete" msgstr "Дублировать объекты, с Shift — удалять" -#: ../src/widgets/toolbox.cpp:3737 +#: ../src/widgets/toolbox.cpp:3720 msgid "Push mode" msgstr "Толкание контуров" -#: ../src/widgets/toolbox.cpp:3738 +#: ../src/widgets/toolbox.cpp:3721 msgid "Push parts of paths in any direction" msgstr "Выталкивать части контуров" -#: ../src/widgets/toolbox.cpp:3744 +#: ../src/widgets/toolbox.cpp:3727 msgid "Shrink/grow mode" msgstr "Сокращение и наращивание объема контуров" -#: ../src/widgets/toolbox.cpp:3745 +#: ../src/widgets/toolbox.cpp:3728 msgid "Shrink (inset) parts of paths; with Shift grow (outset)" msgstr "Сокращать объем контуров (втягивать их), с Shift — наращивать его (раздувать контуры)" -#: ../src/widgets/toolbox.cpp:3751 +#: ../src/widgets/toolbox.cpp:3734 msgid "Attract/repel mode" msgstr "Притяжение и отталкивание контуров" -#: ../src/widgets/toolbox.cpp:3752 -#, fuzzy +#: ../src/widgets/toolbox.cpp:3735 msgid "Attract parts of paths towards cursor; with Shift from cursor" -msgstr "Притяжение частей контуров к курсору" +msgstr "Притягивать части контуров к курсору; с Shift — отталкивать их от курсора" -#: ../src/widgets/toolbox.cpp:3758 +#: ../src/widgets/toolbox.cpp:3741 msgid "Roughen mode" msgstr "Огрубление контуров" -#: ../src/widgets/toolbox.cpp:3759 +#: ../src/widgets/toolbox.cpp:3742 msgid "Roughen parts of paths" msgstr "Огрублять части контуров, рисовать заусенцы" -#: ../src/widgets/toolbox.cpp:3765 +#: ../src/widgets/toolbox.cpp:3748 msgid "Color paint mode" msgstr "Раскрашивание объектов" -#: ../src/widgets/toolbox.cpp:3766 +#: ../src/widgets/toolbox.cpp:3749 msgid "Paint the tool's color upon selected objects" msgstr "Рисовать цветом инструмента по выбранным объектам" -#: ../src/widgets/toolbox.cpp:3772 +#: ../src/widgets/toolbox.cpp:3755 msgid "Color jitter mode" msgstr "Перебор цветов для объектов" -#: ../src/widgets/toolbox.cpp:3773 +#: ../src/widgets/toolbox.cpp:3756 msgid "Jitter the colors of selected objects" msgstr "Перебирать цвета выделенных объектов" -#: ../src/widgets/toolbox.cpp:3799 +#: ../src/widgets/toolbox.cpp:3762 +msgid "Blur mode" +msgstr "Размывание" + +#: ../src/widgets/toolbox.cpp:3763 +msgid "Blur selected objects more; with Shift, blur less" +msgstr "Размывать объекты, с Shift — уменьшать размытость" + +#: ../src/widgets/toolbox.cpp:3790 msgid "Channels:" msgstr "Каналы:" -#: ../src/widgets/toolbox.cpp:3810 +#: ../src/widgets/toolbox.cpp:3801 msgid "In color mode, act on objects' hue" msgstr "В режиме изменения цвета влиять на тон объектов" #. TRANSLATORS: "H" here stands for hue -#: ../src/widgets/toolbox.cpp:3814 +#: ../src/widgets/toolbox.cpp:3805 msgid "H" msgstr "H" -#: ../src/widgets/toolbox.cpp:3825 +#: ../src/widgets/toolbox.cpp:3816 msgid "In color mode, act on objects' saturation" msgstr "В режиме изменения цвета влиять на насыщенность объектов" #. TRANSLATORS: "S" here stands for Saturation -#: ../src/widgets/toolbox.cpp:3829 +#: ../src/widgets/toolbox.cpp:3820 msgid "S" msgstr "S" -#: ../src/widgets/toolbox.cpp:3840 +#: ../src/widgets/toolbox.cpp:3831 msgid "In color mode, act on objects' lightness" msgstr "В режиме изменения цвета влиять на яркость объектов" #. TRANSLATORS: "L" here stands for Lightness -#: ../src/widgets/toolbox.cpp:3844 +#: ../src/widgets/toolbox.cpp:3835 msgid "L" msgstr "L" -#: ../src/widgets/toolbox.cpp:3855 +#: ../src/widgets/toolbox.cpp:3846 msgid "In color mode, act on objects' opacity" msgstr "В режиме изменения цвета влиять на непрозрачность объектов" #. TRANSLATORS: "O" here stands for Opacity -#: ../src/widgets/toolbox.cpp:3859 +#: ../src/widgets/toolbox.cpp:3850 msgid "O" msgstr "O" #. Fidelity -#: ../src/widgets/toolbox.cpp:3869 +#: ../src/widgets/toolbox.cpp:3860 msgid "(rough, simplified)" msgstr "(грубо, упрощённо)" -#: ../src/widgets/toolbox.cpp:3869 +#: ../src/widgets/toolbox.cpp:3860 msgid "(fine, but many nodes)" msgstr "(точно, но много узлов)" -#: ../src/widgets/toolbox.cpp:3872 +#: ../src/widgets/toolbox.cpp:3863 msgid "Fidelity" msgstr "Точность" -#: ../src/widgets/toolbox.cpp:3872 +#: ../src/widgets/toolbox.cpp:3863 msgid "Fidelity:" msgstr "Точность:" -#: ../src/widgets/toolbox.cpp:3873 +#: ../src/widgets/toolbox.cpp:3864 msgid "Low fidelity simplifies paths; high fidelity preserves path features but may generate a lot of new nodes" msgstr "Низкая точность упрощает контуры; высокая точность сохраняет общую форму неизменной части контура, но добавляет новые узлы" -#: ../src/widgets/toolbox.cpp:3890 -#: ../src/widgets/toolbox.cpp:4399 +#: ../src/widgets/toolbox.cpp:3881 +#: ../src/widgets/toolbox.cpp:4381 msgid "Pressure" msgstr "Нажим" -#: ../src/widgets/toolbox.cpp:3891 +#: ../src/widgets/toolbox.cpp:3882 msgid "Use the pressure of the input device to alter the force of tweak action" msgstr "Нажим устройства ввода изменяет силу корректирующего действия" -#: ../src/widgets/toolbox.cpp:4074 +#: ../src/widgets/toolbox.cpp:4062 msgid "No preset" msgstr "Не выбрана" -#: ../src/widgets/toolbox.cpp:4093 +#: ../src/widgets/toolbox.cpp:4080 msgid "Save..." msgstr "Сохранить..." #. Width -#: ../src/widgets/toolbox.cpp:4248 -#: ../src/widgets/toolbox.cpp:5260 +#: ../src/widgets/toolbox.cpp:4230 +#: ../src/widgets/toolbox.cpp:5249 msgid "(hairline)" msgstr "(волосок)" -#: ../src/widgets/toolbox.cpp:4248 -#: ../src/widgets/toolbox.cpp:5260 +#: ../src/widgets/toolbox.cpp:4230 +#: ../src/widgets/toolbox.cpp:5249 msgid "(broad stroke)" msgstr "(широкий штрих)" -#: ../src/widgets/toolbox.cpp:4251 -#: ../src/widgets/toolbox.cpp:5263 +#: ../src/widgets/toolbox.cpp:4233 +#: ../src/widgets/toolbox.cpp:5252 msgid "Pen Width" msgstr "Толщина пера" -#: ../src/widgets/toolbox.cpp:4252 +#: ../src/widgets/toolbox.cpp:4234 msgid "The width of the calligraphic pen (relative to the visible canvas area)" msgstr "Ширина каллиграфического пера (относительно видимой области холста)" #. Thinning -#: ../src/widgets/toolbox.cpp:4265 +#: ../src/widgets/toolbox.cpp:4247 msgid "(speed blows up stroke)" msgstr "(скорость утолщает штрих)" -#: ../src/widgets/toolbox.cpp:4265 +#: ../src/widgets/toolbox.cpp:4247 msgid "(slight widening)" msgstr "(легкое утолщение)" -#: ../src/widgets/toolbox.cpp:4265 +#: ../src/widgets/toolbox.cpp:4247 msgid "(constant width)" msgstr "(постоянная ширина)" -#: ../src/widgets/toolbox.cpp:4265 +#: ../src/widgets/toolbox.cpp:4247 msgid "(slight thinning, default)" msgstr "(легкое утоньшение, по умолчанию)" -#: ../src/widgets/toolbox.cpp:4265 +#: ../src/widgets/toolbox.cpp:4247 msgid "(speed deflates stroke)" msgstr "(скорость обнуляет штрих)" -#: ../src/widgets/toolbox.cpp:4268 +#: ../src/widgets/toolbox.cpp:4250 msgid "Stroke Thinning" msgstr "Утоньшение штриха" -#: ../src/widgets/toolbox.cpp:4268 +#: ../src/widgets/toolbox.cpp:4250 msgid "Thinning:" msgstr "Сужение:" -#: ../src/widgets/toolbox.cpp:4269 +#: ../src/widgets/toolbox.cpp:4251 msgid "How much velocity thins the stroke (> 0 makes fast strokes thinner, < 0 makes them broader, 0 makes width independent of velocity)" msgstr "Как сильно скорость сужает штрих (> 0: быстрые штрихи уже, < 0: быстрые штрихи шире; при 0 ширина штриха не зависит от скорости)" #. Angle -#: ../src/widgets/toolbox.cpp:4281 +#: ../src/widgets/toolbox.cpp:4263 msgid "(left edge up)" msgstr "(левый угол вверху)" -#: ../src/widgets/toolbox.cpp:4281 +#: ../src/widgets/toolbox.cpp:4263 msgid "(horizontal)" msgstr "(перо горизонтально)" -#: ../src/widgets/toolbox.cpp:4281 +#: ../src/widgets/toolbox.cpp:4263 msgid "(right edge up)" msgstr "(правый угол вверху)" -#: ../src/widgets/toolbox.cpp:4284 +#: ../src/widgets/toolbox.cpp:4266 msgid "Pen Angle" msgstr "Угол пера" -#: ../src/widgets/toolbox.cpp:4284 +#: ../src/widgets/toolbox.cpp:4266 msgid "Angle:" msgstr "Угол:" -#: ../src/widgets/toolbox.cpp:4285 +#: ../src/widgets/toolbox.cpp:4267 msgid "The angle of the pen's nib (in degrees; 0 = horizontal; has no effect if fixation = 0)" msgstr "Угол пера (в градусах; 0 = горизонтально; при нулевой фиксации значения не имеет)" #. Fixation -#: ../src/widgets/toolbox.cpp:4299 +#: ../src/widgets/toolbox.cpp:4281 msgid "(perpendicular to stroke, \"brush\")" msgstr "(перпендикулярно штриху)" -#: ../src/widgets/toolbox.cpp:4299 +#: ../src/widgets/toolbox.cpp:4281 msgid "(almost fixed, default)" msgstr "(почти полная, значение по умолчанию)" -#: ../src/widgets/toolbox.cpp:4299 +#: ../src/widgets/toolbox.cpp:4281 msgid "(fixed by Angle, \"pen\")" msgstr "(угол зафиксирован)" -#: ../src/widgets/toolbox.cpp:4302 +#: ../src/widgets/toolbox.cpp:4284 msgid "Fixation" msgstr "Фиксация" -#: ../src/widgets/toolbox.cpp:4302 +#: ../src/widgets/toolbox.cpp:4284 msgid "Fixation:" msgstr "Фиксация:" -#: ../src/widgets/toolbox.cpp:4303 -#, fuzzy +#: ../src/widgets/toolbox.cpp:4285 msgid "Angle behavior (0 = nib always perpendicular to stroke direction, 100 = fixed angle)" -msgstr "Фиксация угла (0 = перо всегда перпендикулярно направлению штриха, 1 = угол не меняется)" +msgstr "Фиксация угла (0 = перо всегда перпендикулярно направлению штриха, 100 = угол не меняется)" #. Cap Rounding -#: ../src/widgets/toolbox.cpp:4315 +#: ../src/widgets/toolbox.cpp:4297 msgid "(blunt caps, default)" msgstr "(плоские концы, значение по умолчанию)" -#: ../src/widgets/toolbox.cpp:4315 +#: ../src/widgets/toolbox.cpp:4297 msgid "(slightly bulging)" msgstr "(слегка закругленные)" -#: ../src/widgets/toolbox.cpp:4315 +#: ../src/widgets/toolbox.cpp:4297 msgid "(approximately round)" msgstr "(примерно круглые)" -#: ../src/widgets/toolbox.cpp:4315 +#: ../src/widgets/toolbox.cpp:4297 msgid "(long protruding caps)" msgstr "(округлые, далеко выдающиеся концы)" -#: ../src/widgets/toolbox.cpp:4319 +#: ../src/widgets/toolbox.cpp:4301 msgid "Cap rounding" msgstr "Закругление концов" -#: ../src/widgets/toolbox.cpp:4319 +#: ../src/widgets/toolbox.cpp:4301 msgid "Caps:" msgstr "Концы:" -#: ../src/widgets/toolbox.cpp:4320 +#: ../src/widgets/toolbox.cpp:4302 msgid "Increase to make caps at the ends of strokes protrude more (0 = no caps, 1 = round caps)" msgstr "Увеличение значения дает далеко выдающиеся концы (0=без концов, 1=округлые концы)" #. Tremor -#: ../src/widgets/toolbox.cpp:4332 +#: ../src/widgets/toolbox.cpp:4314 msgid "(smooth line)" msgstr "(гладкая линия)" -#: ../src/widgets/toolbox.cpp:4332 +#: ../src/widgets/toolbox.cpp:4314 msgid "(slight tremor)" msgstr "(легкое дрожание)" -#: ../src/widgets/toolbox.cpp:4332 +#: ../src/widgets/toolbox.cpp:4314 msgid "(noticeable tremor)" msgstr "(заметное дрожание)" -#: ../src/widgets/toolbox.cpp:4332 +#: ../src/widgets/toolbox.cpp:4314 msgid "(maximum tremor)" msgstr "(максимальное дрожание)" -#: ../src/widgets/toolbox.cpp:4335 +#: ../src/widgets/toolbox.cpp:4317 msgid "Stroke Tremor" msgstr "Дрожание штриха" -#: ../src/widgets/toolbox.cpp:4335 +#: ../src/widgets/toolbox.cpp:4317 msgid "Tremor:" msgstr "Дрожание:" -#: ../src/widgets/toolbox.cpp:4336 +#: ../src/widgets/toolbox.cpp:4318 msgid "Increase to make strokes rugged and trembling" msgstr "Увеличение значения делает штрихи дрожащими" #. Wiggle -#: ../src/widgets/toolbox.cpp:4350 +#: ../src/widgets/toolbox.cpp:4332 msgid "(no wiggle)" msgstr "(без виляния)" -#: ../src/widgets/toolbox.cpp:4350 +#: ../src/widgets/toolbox.cpp:4332 msgid "(slight deviation)" msgstr "(легкое отклонение)" -#: ../src/widgets/toolbox.cpp:4350 +#: ../src/widgets/toolbox.cpp:4332 msgid "(wild waves and curls)" msgstr "(сумасшедшее вихляние)" -#: ../src/widgets/toolbox.cpp:4353 +#: ../src/widgets/toolbox.cpp:4335 msgid "Pen Wiggle" msgstr "Виляние пером" -#: ../src/widgets/toolbox.cpp:4353 +#: ../src/widgets/toolbox.cpp:4335 msgid "Wiggle:" msgstr "Виляние:" -#: ../src/widgets/toolbox.cpp:4354 +#: ../src/widgets/toolbox.cpp:4336 msgid "Increase to make the pen waver and wiggle" msgstr "Увеличение значения делает штрихи виляющими" #. Mass -#: ../src/widgets/toolbox.cpp:4367 +#: ../src/widgets/toolbox.cpp:4349 msgid "(no inertia)" msgstr "(без инерции)" -#: ../src/widgets/toolbox.cpp:4367 +#: ../src/widgets/toolbox.cpp:4349 msgid "(slight smoothing, default)" msgstr "(легкое отставание, по умолчанию)" -#: ../src/widgets/toolbox.cpp:4367 +#: ../src/widgets/toolbox.cpp:4349 msgid "(noticeable lagging)" msgstr "(заметное отставание)" -#: ../src/widgets/toolbox.cpp:4367 +#: ../src/widgets/toolbox.cpp:4349 msgid "(maximum inertia)" msgstr "(максимальная инерция)" -#: ../src/widgets/toolbox.cpp:4370 +#: ../src/widgets/toolbox.cpp:4352 msgid "Pen Mass" msgstr "Масса пера" -#: ../src/widgets/toolbox.cpp:4370 +#: ../src/widgets/toolbox.cpp:4352 msgid "Mass:" msgstr "Масса:" -#: ../src/widgets/toolbox.cpp:4371 +#: ../src/widgets/toolbox.cpp:4353 msgid "Increase to make the pen drag behind, as if slowed by inertia" msgstr "Увеличение значения затормаживает перо, словно оно очень инертно" -#: ../src/widgets/toolbox.cpp:4386 +#: ../src/widgets/toolbox.cpp:4368 msgid "Trace Background" msgstr "Трассировать фон" -#: ../src/widgets/toolbox.cpp:4387 +#: ../src/widgets/toolbox.cpp:4369 msgid "Trace the lightness of the background by the width of the pen (white - minimum width, black - maximum width)" msgstr "Трассировать освещенность фона толщиной линии пера (белый — минимальная толщина, черный — максимальная толщина)" -#: ../src/widgets/toolbox.cpp:4400 +#: ../src/widgets/toolbox.cpp:4382 msgid "Use the pressure of the input device to alter the width of the pen" msgstr "Нажим (pressure) устройства ввода изменяет ширину пера" -#: ../src/widgets/toolbox.cpp:4412 +#: ../src/widgets/toolbox.cpp:4394 msgid "Tilt" msgstr "Наклон" -#: ../src/widgets/toolbox.cpp:4413 +#: ../src/widgets/toolbox.cpp:4395 msgid "Use the tilt of the input device to alter the angle of the pen's nib" msgstr "Наклон (tilt) устройства ввода изменяет угол пера" -#: ../src/widgets/toolbox.cpp:4426 +#: ../src/widgets/toolbox.cpp:4408 msgid "Choose a preset" msgstr "Выберите предустановку" -#: ../src/widgets/toolbox.cpp:4514 +#: ../src/widgets/toolbox.cpp:4496 msgid "Arc: Change start/end" msgstr "Дуга: изменить начало/конец" -#: ../src/widgets/toolbox.cpp:4578 +#: ../src/widgets/toolbox.cpp:4560 msgid "Arc: Change open/closed" msgstr "Дуга: Изменить открытость/закрытость" -#: ../src/widgets/toolbox.cpp:4704 +#: ../src/widgets/toolbox.cpp:4686 msgid "Start:" msgstr "Начало:" -#: ../src/widgets/toolbox.cpp:4705 +#: ../src/widgets/toolbox.cpp:4687 msgid "The angle (in degrees) from the horizontal to the arc's start point" msgstr "Угол (в градусах) от горизонтали до начальной точки дуги" -#: ../src/widgets/toolbox.cpp:4717 +#: ../src/widgets/toolbox.cpp:4699 msgid "End:" msgstr "Конец:" -#: ../src/widgets/toolbox.cpp:4718 +#: ../src/widgets/toolbox.cpp:4700 msgid "The angle (in degrees) from the horizontal to the arc's end point" msgstr "Угол (в градусах) от горизонтали до конечной точки дуги" -#: ../src/widgets/toolbox.cpp:4734 +#: ../src/widgets/toolbox.cpp:4716 msgid "Closed arc" msgstr "Закрытая дуга" -#: ../src/widgets/toolbox.cpp:4735 +#: ../src/widgets/toolbox.cpp:4717 msgid "Switch to segment (closed shape with two radii)" msgstr "Переключиться на сегмент (закрытый эллипс с двумя радиусами)" -#: ../src/widgets/toolbox.cpp:4741 +#: ../src/widgets/toolbox.cpp:4723 msgid "Open Arc" msgstr "Открытая дуга" -#: ../src/widgets/toolbox.cpp:4742 +#: ../src/widgets/toolbox.cpp:4724 msgid "Switch to arc (unclosed shape)" msgstr "Переключиться на дугу (незакрытый эллипс)" -#: ../src/widgets/toolbox.cpp:4765 +#: ../src/widgets/toolbox.cpp:4747 msgid "Make whole" msgstr "Сделать целым" -#: ../src/widgets/toolbox.cpp:4766 +#: ../src/widgets/toolbox.cpp:4748 msgid "Make the shape a whole ellipse, not arc or segment" msgstr "Сделать фигуру целым эллипсом, а не дугой или сегментом" -#: ../src/widgets/toolbox.cpp:4835 +#: ../src/widgets/toolbox.cpp:4817 msgid "Opacity:" msgstr "Непрозрачность:" -#: ../src/widgets/toolbox.cpp:4842 +#: ../src/widgets/toolbox.cpp:4824 msgid "Pick opacity" msgstr "Снять непрозрачность" -#: ../src/widgets/toolbox.cpp:4843 +#: ../src/widgets/toolbox.cpp:4825 msgid "Pick both the color and the alpha (transparency) under cursor; otherwise, pick only the visible color premultiplied by alpha" msgstr "Снимать значение альфа-канала (полупрозрачности) под курсором; если отключено, снимается только видимый цвет" -#: ../src/widgets/toolbox.cpp:4846 +#: ../src/widgets/toolbox.cpp:4828 msgid "Pick" msgstr "Снять" -#: ../src/widgets/toolbox.cpp:4855 +#: ../src/widgets/toolbox.cpp:4837 msgid "Assign opacity" msgstr "Назначить непрозрачность" -#: ../src/widgets/toolbox.cpp:4856 +#: ../src/widgets/toolbox.cpp:4838 msgid "If alpha was picked, assign it to selection as fill or stroke transparency" msgstr "Если полупрозрачность снята, назначать её заливке или обводке в выделении" -#: ../src/widgets/toolbox.cpp:4859 +#: ../src/widgets/toolbox.cpp:4841 msgid "Assign" msgstr "Назначить" -#: ../src/widgets/toolbox.cpp:5110 +#: ../src/widgets/toolbox.cpp:5092 msgid "All inactive" msgstr "Все неактивны" -#: ../src/widgets/toolbox.cpp:5111 +#: ../src/widgets/toolbox.cpp:5093 msgid "No geometric tool is active" msgstr "Ни один инструмент создания геометрических конструкций не выбран" -#: ../src/widgets/toolbox.cpp:5112 +#: ../src/widgets/toolbox.cpp:5094 msgid "all_inactive" msgstr "все_неактивны" -#: ../src/widgets/toolbox.cpp:5144 -#, fuzzy +#: ../src/widgets/toolbox.cpp:5126 msgid "Show limiting bounding box" -msgstr "Геометрическая площадка (BB)" +msgstr "Показывать ограничивающую площадку (BB)" -#: ../src/widgets/toolbox.cpp:5145 +#: ../src/widgets/toolbox.cpp:5127 msgid "Show bounding box (used to cut infinite lines)" msgstr "" -#: ../src/widgets/toolbox.cpp:5156 -#, fuzzy +#: ../src/widgets/toolbox.cpp:5138 msgid "Get limiting bounding box from selection" -msgstr "Убрать обтравочный контур из выделения" +msgstr "Делать ограничивающую площадку (BB) из выделения" -#: ../src/widgets/toolbox.cpp:5157 +#: ../src/widgets/toolbox.cpp:5139 msgid "Set limiting bounding box (used to cut infinite lines) to the bounding box of current selection" msgstr "Создание и редактирование масштабируемой векторной графики в формате SVG" -#: ../src/widgets/toolbox.cpp:5169 +#: ../src/widgets/toolbox.cpp:5151 msgid "Choose a line segment type" msgstr "Выберите тип сегмента линии" -#: ../src/widgets/toolbox.cpp:5185 -#, fuzzy +#: ../src/widgets/toolbox.cpp:5167 msgid "Display measuring info" -msgstr "Цветопередача монитора:" +msgstr "Показывать данные измерений" -#: ../src/widgets/toolbox.cpp:5186 +#: ../src/widgets/toolbox.cpp:5168 msgid "Display measuring info for selected items" msgstr "" -#: ../src/widgets/toolbox.cpp:5206 +#: ../src/widgets/toolbox.cpp:5188 msgid "Open LPE dialog" msgstr "Открыть диалог LPE" -#: ../src/widgets/toolbox.cpp:5207 +#: ../src/widgets/toolbox.cpp:5189 msgid "Open LPE dialog (to adapt parameters numerically)" msgstr "Открыть диалог динамических контурных эффектов для ручного ввода параметров" -#: ../src/widgets/toolbox.cpp:5264 +#: ../src/widgets/toolbox.cpp:5253 msgid "The width of the eraser pen (relative to the visible canvas area)" msgstr "Толщина пера ластика (относительно видимой области холста)" -#: ../src/widgets/toolbox.cpp:5282 +#: ../src/widgets/toolbox.cpp:5271 msgid "Delete objects touched by the eraser" msgstr "Удалять объекты, которых коснулся ластик" -#: ../src/widgets/toolbox.cpp:5288 +#: ../src/widgets/toolbox.cpp:5277 msgid "Cut" msgstr "Вырезать" -#: ../src/widgets/toolbox.cpp:5289 +#: ../src/widgets/toolbox.cpp:5278 msgid "Cut out from objects" msgstr "Вырезать из объектов" -#: ../src/widgets/toolbox.cpp:5634 +#: ../src/widgets/toolbox.cpp:5619 msgid "Text: Change font family" msgstr "Текст: сменить гарнитуру" -#: ../src/widgets/toolbox.cpp:5722 +#: ../src/widgets/toolbox.cpp:5708 msgid "Text: Change alignment" msgstr "Текст: сменить выключку" -#: ../src/widgets/toolbox.cpp:5800 +#: ../src/widgets/toolbox.cpp:5787 msgid "Text: Change font style" msgstr "Текст: сменить начертание" -#: ../src/widgets/toolbox.cpp:5847 +#: ../src/widgets/toolbox.cpp:5835 msgid "Text: Change orientation" msgstr "Текст: сменить ориентацию" -#: ../src/widgets/toolbox.cpp:5949 +#: ../src/widgets/toolbox.cpp:5938 msgid "Text: Change font size" msgstr "Текст: сменить кегль" -#: ../src/widgets/toolbox.cpp:6184 +#: ../src/widgets/toolbox.cpp:6173 msgid "This font is currently not installed on your system. Inkscape will use the default font instead." msgstr "Этот шрифт сейчас отсутствует в системе. Вместо него Inkscape использует шрифт по умолчанию." -#: ../src/widgets/toolbox.cpp:6220 +#: ../src/widgets/toolbox.cpp:6209 msgid "Align left" msgstr "Выключка влево" -#: ../src/widgets/toolbox.cpp:6231 +#: ../src/widgets/toolbox.cpp:6220 msgid "Center" msgstr "Выключка по центру" -#: ../src/widgets/toolbox.cpp:6242 +#: ../src/widgets/toolbox.cpp:6231 msgid "Align right" msgstr "Выключка вправо" -#: ../src/widgets/toolbox.cpp:6253 +#: ../src/widgets/toolbox.cpp:6242 msgid "Justify" msgstr "Выключка по ширине" -#: ../src/widgets/toolbox.cpp:6268 +#: ../src/widgets/toolbox.cpp:6257 msgid "Bold" msgstr "Полужирное" -#: ../src/widgets/toolbox.cpp:6279 +#: ../src/widgets/toolbox.cpp:6268 msgid "Italic" msgstr "Наклонное" -#: ../src/widgets/toolbox.cpp:6413 +#: ../src/widgets/toolbox.cpp:6401 msgid "Change connector spacing" msgstr "Смена интервала соед. линии" -#: ../src/widgets/toolbox.cpp:6496 +#: ../src/widgets/toolbox.cpp:6484 msgid "Avoid" msgstr "Избегать" -#: ../src/widgets/toolbox.cpp:6506 +#: ../src/widgets/toolbox.cpp:6494 msgid "Ignore" msgstr "Игнорировать" -#: ../src/widgets/toolbox.cpp:6518 +#: ../src/widgets/toolbox.cpp:6506 msgid "Connector Spacing" msgstr "Интервал линии соединения" -#: ../src/widgets/toolbox.cpp:6518 +#: ../src/widgets/toolbox.cpp:6506 msgid "Spacing:" msgstr "Интервал:" -#: ../src/widgets/toolbox.cpp:6519 +#: ../src/widgets/toolbox.cpp:6507 msgid "The amount of space left around objects by auto-routing connectors" msgstr "Оставшееся пространство вокруг объектов при автосоединении" -#: ../src/widgets/toolbox.cpp:6530 +#: ../src/widgets/toolbox.cpp:6518 msgid "Graph" msgstr "Граф" -#: ../src/widgets/toolbox.cpp:6540 +#: ../src/widgets/toolbox.cpp:6528 msgid "Connector Length" msgstr "Длина линии соединения" -#: ../src/widgets/toolbox.cpp:6540 +#: ../src/widgets/toolbox.cpp:6528 msgid "Length:" msgstr "Длина:" -#: ../src/widgets/toolbox.cpp:6541 +#: ../src/widgets/toolbox.cpp:6529 msgid "Ideal length for connectors when layout is applied" msgstr "Идеальная длина при использовании оптимизации внешнего вида линий соединения" -#: ../src/widgets/toolbox.cpp:6553 +#: ../src/widgets/toolbox.cpp:6541 msgid "Downwards" msgstr "Вниз" -#: ../src/widgets/toolbox.cpp:6554 +#: ../src/widgets/toolbox.cpp:6542 msgid "Make connectors with end-markers (arrows) point downwards" msgstr "Линии соединения со стрелками указывают вниз" -#: ../src/widgets/toolbox.cpp:6569 +#: ../src/widgets/toolbox.cpp:6557 msgid "Do not allow overlapping shapes" msgstr "Не допускать перекрытия фигур" -#: ../src/widgets/toolbox.cpp:6672 +#: ../src/widgets/toolbox.cpp:6660 msgid "Fill by" msgstr "Чем залить" -#: ../src/widgets/toolbox.cpp:6673 +#: ../src/widgets/toolbox.cpp:6661 msgid "Fill by:" msgstr "Чем залить:" -#: ../src/widgets/toolbox.cpp:6685 +#: ../src/widgets/toolbox.cpp:6673 msgid "Fill Threshold" msgstr "Порог заливки" -#: ../src/widgets/toolbox.cpp:6686 +#: ../src/widgets/toolbox.cpp:6674 msgid "The maximum allowed difference between the clicked pixel and the neighboring pixels to be counted in the fill" msgstr "Максимально допустимая разница между щелкнутым пикселом и соседними пикселами, попадающими в заливку" -#: ../src/widgets/toolbox.cpp:6711 +#: ../src/widgets/toolbox.cpp:6699 msgid "Grow/shrink by" msgstr "Увеличить/уменьшить на" -#: ../src/widgets/toolbox.cpp:6711 +#: ../src/widgets/toolbox.cpp:6699 msgid "Grow/shrink by:" msgstr "Увеличить/уменьшить на:" -#: ../src/widgets/toolbox.cpp:6712 +#: ../src/widgets/toolbox.cpp:6700 msgid "The amount to grow (positive) or shrink (negative) the created fill path" msgstr "Насколько увеличить (положительное число) или уменьшить (отрицательное число) создаваемый контур с заливкой" -#: ../src/widgets/toolbox.cpp:6737 +#: ../src/widgets/toolbox.cpp:6725 msgid "Close gaps" msgstr "Закрыть интервалы" -#: ../src/widgets/toolbox.cpp:6738 +#: ../src/widgets/toolbox.cpp:6726 msgid "Close gaps:" msgstr "Закрыть интервалы:" -#: ../src/widgets/toolbox.cpp:6750 +#: ../src/widgets/toolbox.cpp:6738 msgid "Reset paint bucket parameters to defaults (use Inkscape Preferences > Tools to change defaults)" msgstr "Сбросить параметры заливки к значениям по умолчанию (параметры по умолчанию можно изменить через диалог настройки Inkscape)" -#: ../share/extensions/dimension.py:97 +#: ../share/extensions/dimension.py:99 msgid "Unable to process this object. Try changing it into a path first." msgstr "Невозможно обработать этот объект. Попробуйте сначала оконтурить его." @@ -17278,10 +17385,27 @@ msgstr "" msgid "This extension requires that the second selected path be four nodes long." msgstr "Второй выбранный контур должен содержать четыре узла." -#: ../share/extensions/polyhedron_3d.py:60 +#: ../share/extensions/polyhedron_3d.py:58 msgid "Failed to import the numpy module. This module is required by this extension. Please install them and try again. On a Debian-like system this can be done with the command, sudo apt-get install python-numpy." msgstr "Не удалось импортировать модуль numpy, необходимый для этого расширения. Установите его и попробуйте еще раз. В системах наподобие Debian это можно сделать командой sudo apt-get install python-numpy." +#: ../share/extensions/polyhedron_3d.py:329 +msgid "No face data found in specified file\n" +msgstr "" + +#: ../share/extensions/polyhedron_3d.py:335 +msgid "No edge data found in specified file\n" +msgstr "" + +#. we cannot generate a list of faces from the edges without a lot of computation +#: ../share/extensions/polyhedron_3d.py:510 +msgid "Face Data Not Found. Ensure file contains face data, and check the file is imported as \"Face-Specifed\" under the \"Model File\" tab.\n" +msgstr "" + +#: ../share/extensions/polyhedron_3d.py:512 +msgid "Internal Error. No view type selected\n" +msgstr "" + #: ../share/extensions/summersnight.py:32 msgid "The second path must be exactly four nodes long." msgstr "Второй контур должен состоят ровно из четырех узлов." @@ -17561,6 +17685,146 @@ msgstr "Кегль шрифта" msgid "Number Nodes" msgstr "Нумерация узлов" +#: ../share/extensions/draw_from_triangle.inx.h:1 +msgid "Altitudes" +msgstr "Угловые возвышения" + +#: ../share/extensions/draw_from_triangle.inx.h:2 +msgid "Angle Bisectors" +msgstr "Угловые биссектрисы" + +#: ../share/extensions/draw_from_triangle.inx.h:3 +msgid "Centroid" +msgstr "Центроид" + +#: ../share/extensions/draw_from_triangle.inx.h:4 +msgid "Circumcentre" +msgstr "Центр описанной окружности" + +#: ../share/extensions/draw_from_triangle.inx.h:5 +msgid "Circumcircle" +msgstr "Описанная окружность" + +#: ../share/extensions/draw_from_triangle.inx.h:6 +msgid "Common Objects" +msgstr "Обычные объекты" + +#: ../share/extensions/draw_from_triangle.inx.h:7 +msgid "Contact Triangle" +msgstr "" + +#: ../share/extensions/draw_from_triangle.inx.h:8 +msgid "Custom Point Specified By:" +msgstr "" + +#: ../share/extensions/draw_from_triangle.inx.h:9 +msgid "Custom Points and Options" +msgstr "Заказные точки и параметры" + +#: ../share/extensions/draw_from_triangle.inx.h:10 +#, fuzzy +msgid "Draw Circle About This Point" +msgstr "Окружность через три точки" + +#: ../share/extensions/draw_from_triangle.inx.h:11 +msgid "Draw From Triangle" +msgstr "Геометрия треугольника" + +#: ../share/extensions/draw_from_triangle.inx.h:12 +msgid "Draw Isogonal Conjugate" +msgstr "" + +#: ../share/extensions/draw_from_triangle.inx.h:13 +msgid "Draw Isotomic Conjugate" +msgstr "" + +#: ../share/extensions/draw_from_triangle.inx.h:14 +msgid "Draw Marker At This Point" +msgstr "" + +#: ../share/extensions/draw_from_triangle.inx.h:15 +#, fuzzy +msgid "Excentral Triangle" +msgstr "Треугольник" + +#: ../share/extensions/draw_from_triangle.inx.h:16 +msgid "Excentres" +msgstr "Центры вневписанных окружностей" + +#: ../share/extensions/draw_from_triangle.inx.h:17 +msgid "Excircles" +msgstr "Вневписанные окружности" + +#: ../share/extensions/draw_from_triangle.inx.h:18 +#, fuzzy +msgid "Extouch Triangle" +msgstr "Треугольник" + +#: ../share/extensions/draw_from_triangle.inx.h:19 +msgid "Gergonne Point" +msgstr "Точка Жергонна" + +#: ../share/extensions/draw_from_triangle.inx.h:21 +msgid "Incentre" +msgstr "Центр вписанной окружности" + +#: ../share/extensions/draw_from_triangle.inx.h:22 +msgid "Incircle" +msgstr "Вписанная окружность" + +#: ../share/extensions/draw_from_triangle.inx.h:23 +msgid "Nagel Point" +msgstr "Точка Нагеля" + +#: ../share/extensions/draw_from_triangle.inx.h:24 +msgid "Nine-Point Centre" +msgstr "Центр окружности девяти точек" + +#: ../share/extensions/draw_from_triangle.inx.h:25 +msgid "Nine-Point Circle" +msgstr "Окружность девяти точек" + +#: ../share/extensions/draw_from_triangle.inx.h:26 +msgid "Orthic Triangle" +msgstr "Ортоцентрический треугольник" + +#: ../share/extensions/draw_from_triangle.inx.h:27 +msgid "Orthocentre" +msgstr "Ортоцентр" + +#: ../share/extensions/draw_from_triangle.inx.h:28 +msgid "Point At" +msgstr "Указывает на:" + +#: ../share/extensions/draw_from_triangle.inx.h:29 +msgid "Radius / px" +msgstr "Радиус (px):" + +#: ../share/extensions/draw_from_triangle.inx.h:31 +#, fuzzy +msgid "Report this triangle's properties" +msgstr "Смена свойств направляющей" + +#: ../share/extensions/draw_from_triangle.inx.h:32 +msgid "Symmedial Triangle" +msgstr "Симмедиальный треугольник" + +#: ../share/extensions/draw_from_triangle.inx.h:33 +msgid "Symmedian Point" +msgstr "Точка симмедианы" + +#: ../share/extensions/draw_from_triangle.inx.h:34 +msgid "Symmedians" +msgstr "Симмедианы" + +#: ../share/extensions/draw_from_triangle.inx.h:35 +msgid "Triangle Function" +msgstr "функции треугольника" + +#: ../share/extensions/draw_from_triangle.inx.h:36 +msgid "Trilinear Coordinates" +msgstr "трилинейным координатам" + #: ../share/extensions/dxf_input.inx.h:1 #: ../share/extensions/dxf_output.inx.h:1 msgid "AutoCAD DXF (*.dxf)" @@ -18434,93 +18698,88 @@ msgid "Octahedron" msgstr "Октаэдр" #: ../share/extensions/polyhedron_3d.inx.h:33 -#, fuzzy -msgid "Report Normal Vector Information" -msgstr "Информация об используемой памяти" - -#: ../share/extensions/polyhedron_3d.inx.h:34 msgid "Rotate Around:" msgstr "Повернуть вокруг:" -#: ../share/extensions/polyhedron_3d.inx.h:35 +#: ../share/extensions/polyhedron_3d.inx.h:34 msgid "Rotation / Degrees" msgstr "Вращение, градусы" -#: ../share/extensions/polyhedron_3d.inx.h:36 +#: ../share/extensions/polyhedron_3d.inx.h:35 msgid "Scaling Factor" msgstr "Коэффициент масштаба:" -#: ../share/extensions/polyhedron_3d.inx.h:37 +#: ../share/extensions/polyhedron_3d.inx.h:36 #, fuzzy msgid "Shading" msgstr "Интервал" -#: ../share/extensions/polyhedron_3d.inx.h:39 +#: ../share/extensions/polyhedron_3d.inx.h:38 msgid "Small Triambic Icosahedron" msgstr "" -#: ../share/extensions/polyhedron_3d.inx.h:40 +#: ../share/extensions/polyhedron_3d.inx.h:39 msgid "Snub Cube" msgstr "" -#: ../share/extensions/polyhedron_3d.inx.h:41 +#: ../share/extensions/polyhedron_3d.inx.h:40 msgid "Snub Dodecahedron" msgstr "" -#: ../share/extensions/polyhedron_3d.inx.h:43 +#: ../share/extensions/polyhedron_3d.inx.h:42 #, no-c-format msgid "Stroke Opacity/ %" msgstr "Непрозрачность обводки, %s" -#: ../share/extensions/polyhedron_3d.inx.h:45 +#: ../share/extensions/polyhedron_3d.inx.h:44 msgid "Tetrahedron" msgstr "Тетраэдр" -#: ../share/extensions/polyhedron_3d.inx.h:46 +#: ../share/extensions/polyhedron_3d.inx.h:45 msgid "Then Rotate Around:" msgstr "Затем повернуть вокруг:" -#: ../share/extensions/polyhedron_3d.inx.h:47 +#: ../share/extensions/polyhedron_3d.inx.h:46 msgid "Truncated Cube" msgstr "" -#: ../share/extensions/polyhedron_3d.inx.h:48 +#: ../share/extensions/polyhedron_3d.inx.h:47 msgid "Truncated Dodecahedron" msgstr "" -#: ../share/extensions/polyhedron_3d.inx.h:49 +#: ../share/extensions/polyhedron_3d.inx.h:48 msgid "Truncated Icosahedron" msgstr "" -#: ../share/extensions/polyhedron_3d.inx.h:50 +#: ../share/extensions/polyhedron_3d.inx.h:49 msgid "Truncated Octahedron" msgstr "" -#: ../share/extensions/polyhedron_3d.inx.h:51 +#: ../share/extensions/polyhedron_3d.inx.h:50 msgid "Truncated Tetrahedron" msgstr "" -#: ../share/extensions/polyhedron_3d.inx.h:52 +#: ../share/extensions/polyhedron_3d.inx.h:51 msgid "Vertices" msgstr "Вершины" -#: ../share/extensions/polyhedron_3d.inx.h:53 +#: ../share/extensions/polyhedron_3d.inx.h:52 msgid "View" msgstr "Вид" -#: ../share/extensions/polyhedron_3d.inx.h:54 +#: ../share/extensions/polyhedron_3d.inx.h:53 msgid "X-Axis" msgstr "Ось X" -#: ../share/extensions/polyhedron_3d.inx.h:55 +#: ../share/extensions/polyhedron_3d.inx.h:54 msgid "Y-Axis" msgstr "Ось Y" -#: ../share/extensions/polyhedron_3d.inx.h:56 +#: ../share/extensions/polyhedron_3d.inx.h:55 msgid "Z-Axis" msgstr "Ось Z" -#: ../share/extensions/polyhedron_3d.inx.h:57 +#: ../share/extensions/polyhedron_3d.inx.h:56 msgid "Z-Sort Faces By:" msgstr "" @@ -18886,6 +19145,28 @@ msgstr "Импорт файлов Windows Metafile" msgid "XAML Input" msgstr "Импорт XAML" +#~ msgid "Embed fonts on export (Type 1 only) (EPS)" +#~ msgstr "Встроить шрифтовый файл (только Type 1) при экспорте (EPS)" +#~ msgid "Export files with the bounding box set to the page size (EPS)" +#~ msgstr "" +#~ "При экспорте установить значение BoundingBox равным размеру страницы, а " +#~ "не рисунка (EPS)" + +#, fuzzy +#~ msgid "Report Normal Vector Information" +#~ msgstr "Информация об используемой памяти" + +#, fuzzy +#~ msgid "An exception occurred during execution of the Spiro Path Effect." +#~ msgstr "Прерывание при выполнении контурного эффекта" +#~ msgid "Bounding box" +#~ msgstr "Площадка (BB)" +#~ msgid "Last gen. segment" +#~ msgstr "Последний созданный сегмент" +#~ msgid "Reference" +#~ msgstr "Ориентир:" +#~ msgid "%i objects selected" +#~ msgstr "%i объектов выделено" #~ msgid "Pushing %d selected object" #~ msgid_plural "Pushing %d selected objects" #~ msgstr[0] "Толкается %d выбранный объект" @@ -19102,10 +19383,6 @@ msgstr "Импорт XAML" #, fuzzy #~ msgid "Curve handle" #~ msgstr "Смещение рычага" - -#, fuzzy -#~ msgid "Common Objects" -#~ msgstr "Объекты" #~ msgid "" #~ "Cannot set %s: Another element with value %s already exists!" #~ msgstr "" diff --git a/share/extensions/dimension.py b/share/extensions/dimension.py index 4ff7148ef..0ff5cb7be 100644 --- a/share/extensions/dimension.py +++ b/share/extensions/dimension.py @@ -34,6 +34,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA import sys, inkex, pathmodifier from simpletransform import * +import gettext +_ = gettext.gettext class Dimension(pathmodifier.PathModifier): def __init__(self): diff --git a/share/extensions/draw_from_triangle.inx b/share/extensions/draw_from_triangle.inx new file mode 100644 index 000000000..7973cda8a --- /dev/null +++ b/share/extensions/draw_from_triangle.inx @@ -0,0 +1,78 @@ + + + <_name>Draw From Triangle + il.fromtriangle + draw_from_triangle.py + inkex.py + + + + + + + + + + + + + + + + + + + + + + + + + + + <_option value="trilin">Trilinear Coordinates + <_option value="tcf">Triangle Function + + cos(a_a):cos(a_b):cos(a_c) + + + s_a*s_b*s_c/(4*area) + + + + + + This extension draws constructions about a triangle defined by the first 3 nodes of a selected path. You may select one of preset objects or create your own ones. + +All units are the Inkscape's pixel unit. Angles are all in radians. +You can specify a point by trilinear coordinates or by a triangle centre function. +Enter as functions of the side length or angles. +Trilinear elements should be separated by a colon: ':'. +Side lengths are represented as 's_a', 's_b' and 's_c'. +Angles corresponding to these are 'a_a', 'a_b', and 'a_c'. +You can also use the semi-perimeter and area of the triangle as constants. Write 'area' or 'semiperim' for these. + +You can use any standard Python math function: +ceil(x); fabs(x); floor(x); fmod(x,y); frexp(x); ldexp(x,i); +modf(x); exp(x); log(x [, base]); log10(x); pow(x,y); sqrt(x); +acos(x); asin(x); atan(x); atan2(y,x); hypot(x,y); +cos(x); sin(x); tan(x); degrees(x); radians(x); +cosh(x); sinh(x); tanh(x) + +Also available are the inverse trigonometric functions: +sec(x); csc(x); cot(x) + +You can specify the radius of a circle about a custom point using an formula, which may also contain the side lengths, angles, etc. You can also plot the isogonal and isotomic conjugate of the point. Be aware that this may cause a divide-by-zero error for certain points. + + + + + all + + + + + + diff --git a/share/extensions/draw_from_triangle.py b/share/extensions/draw_from_triangle.py new file mode 100644 index 000000000..b63d0f556 --- /dev/null +++ b/share/extensions/draw_from_triangle.py @@ -0,0 +1,474 @@ +#!/usr/bin/env python +''' +Copyright (C) 2007 John Beard john.j.beard@gmail.com + +##This extension allows you to draw various triangle constructions +##It requires a path to be selected +##It will use the first three nodes of this path + +## Dimensions of a triangle__ +# +# /`__ +# / a_c``--__ +# / ``--__ s_a +# s_b / ``--__ +# /a_a a_b`--__ +# /--------------------------------``B +# A s_b + +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 +''' + +import inkex +import simplestyle, sys, simplepath +from math import * +import gettext +_ = gettext.gettext + +#DRAWING ROUTINES + +#draw an SVG triangle given in trilinar coords +def draw_SVG_circle(rad, centre, params, style, name, parent):#draw an SVG circle with a given radius as trilinear coordinates + if rad == 0: #we want a dot + r = style.d_rad #get the dot width from the style + circ_style = { 'stroke':style.d_col, 'stroke-width':str(style.d_th), 'fill':style.d_fill } + else: + r = rad #use given value + circ_style = { 'stroke':style.c_col, 'stroke-width':str(style.c_th), 'fill':style.c_fill } + + cx,cy = get_cartesian_pt(centre, params) + circ_attribs = {'style':simplestyle.formatStyle(circ_style), + inkex.addNS('label','inkscape'):name, + 'cx':str(cx), 'cy':str(cy), + 'r':str(r)} + inkex.etree.SubElement(parent, inkex.addNS('circle','svg'), circ_attribs ) + +#draw an SVG triangle given in trilinar coords +def draw_SVG_tri(vert_mat, params, style, name, parent): + p1,p2,p3 = get_cartesian_tri(vert_mat, params) #get the vertex matrix in cartesian points + tri_style = { 'stroke': style.l_col, 'stroke-width':str(style.l_th), 'fill': style.l_fill } + tri_attribs = {'style':simplestyle.formatStyle(tri_style), + inkex.addNS('label','inkscape'):name, + 'd':'M '+str(p1[0])+','+str(p1[1])+ + ' L '+str(p2[0])+','+str(p2[1])+ + ' L '+str(p3[0])+','+str(p3[1])+ + ' L '+str(p1[0])+','+str(p1[1])+' z'} + inkex.etree.SubElement(parent, inkex.addNS('path','svg'), tri_attribs ) + +#draw an SVG line segment between the given (raw) points +def draw_SVG_line( (x1, y1), (x2, y2), style, name, parent): + line_style = { 'stroke': style.l_col, 'stroke-width':str(style.l_th), 'fill': style.l_fill } + line_attribs = {'style':simplestyle.formatStyle(line_style), + inkex.addNS('label','inkscape'):name, + 'd':'M '+str(x1)+','+str(y1)+' L '+str(x2)+','+str(y2)} + inkex.etree.SubElement(parent, inkex.addNS('path','svg'), line_attribs ) + +#lines from each vertex to a corresponding point in trilinears +def draw_vertex_lines( vert_mat, params, width, name, parent): + for i in range(3): + oppositepoint = get_cartesian_pt( vert_mat[i], params) + draw_SVG_line(params[3][-i%3], oppositepoint, width, name+':'+str(i), parent) + +#MATHEMATICAL ROUTINES + +def distance( (x0,y0),(x1,y1)):#find the pythagorean distance + return sqrt( (x0-x1)*(x0-x1) + (y0-y1)*(y0-y1) ) + +def vector_from_to( (x0,y0),(x1,y1) ):#get the vector from (x0,y0) to (x1,y1) + return (x1-x0, y1-y0) + +def get_cartesian_pt( t, p):#get the cartesian coordinates from a trilinear set + denom = p[0][0]*t[0] + p[0][1]*t[1] + p[0][2]*t[2] + c1 = p[0][1]*t[1]/denom + c2 = p[0][2]*t[2]/denom + return ( c1*p[2][1][0]+c2*p[2][0][0], c1*p[2][1][1]+c2*p[2][0][1] ) + +def get_cartesian_tri( ((t11,t12,t13),(t21,t22,t23),(t31,t32,t33)), params):#get the cartesian points from a trilinear vertex matrix + p1=get_cartesian_pt( (t11,t12,t13), params ) + p2=get_cartesian_pt( (t21,t22,t23), params ) + p3=get_cartesian_pt( (t31,t32,t33), params ) + return (p1,p2,p3) + +def angle_from_3_sides(a, b, c): #return the angle opposite side c + cosx = (a*a + b*b - c*c)/(2*a*b) #use the cosine rule + return acos(cosx) + +def translate_string(string, os): #translates s_a, a_a, etc to params[x][y], with cyclic offset + string = string.replace('s_a', 'params[0]['+str((os+0)%3)+']') #replace with ref. to the relvant values, + string = string.replace('s_b', 'params[0]['+str((os+1)%3)+']') #cycled by i + string = string.replace('s_c', 'params[0]['+str((os+2)%3)+']') + string = string.replace('a_a', 'params[1]['+str((os+0)%3)+']') + string = string.replace('a_b', 'params[1]['+str((os+1)%3)+']') + string = string.replace('a_c', 'params[1]['+str((os+2)%3)+']') + string = string.replace('area','params[4][0]') + string = string.replace('semiperim','params[4][1]') + return string + +def pt_from_tcf( tcf , params):#returns a trilinear triplet from a triangle centre function + trilin_pts=[]#will hold the final points + for i in range(3): + temp = tcf #read in the tcf + temp = translate_string(temp, i) + func = eval('lambda params: ' + temp.strip('"')) #the function leading to the trilinar element + trilin_pts.append(func(params))#evaluate the function for the first trilinear element + return trilin_pts + +#SVG DATA PROCESSING + +def get_n_points_from_path( node, n):#returns a list of first n points (x,y) in an SVG path-representing node + + p = simplepath.parsePath(node.get('d')) #parse the path + + xi = [] #temporary storage for x and y (will combine at end) + yi = [] + + for cmd,params in p: #a parsed path is made up of (cmd, params) pairs + defs = simplepath.pathdefs[cmd] + for i in range(defs[1]): + if defs[3][i] == 'x' and len(xi) < n:#only collect the first three + xi.append(params[i]) + elif defs[3][i] == 'y' and len(yi) < n:#only collect the first three + yi.append(params[i]) + + if len(xi) == n and len(yi) == n: + points = [] # returned pairs of points + for i in range(n): + points.append( [ xi[i], yi[i] ] ) + else: + #inkex.errormsg(_('Error: Not enough nodes to gather coordinates.')) #fail silently and exit, rather than invoke an error console + return [] #return a blank + + return points + +#EXTRA MATHS FUNCTIONS +def sec(x):#secant(x) + if x == pi/2 or x==-pi/2 or x == 3*pi/2 or x == -3*pi/2: #sec(x) is undefined + return 100000000000 + else: + return 1/cos(x) + +def csc(x):#cosecant(x) + if x == 0 or x==pi or x==2*pi or x==-2*pi: #csc(x) is undefined + return 100000000000 + else: + return 1/sin(x) + +def cot(x):#cotangent(x) + if x == 0 or x==pi or x==2*pi or x==-2*pi: #cot(x) is undefined + return 100000000000 + else: + return 1/tan(x) + +def report_properties( params ):#report to the Inkscape console using errormsg + inkex.errormsg(_("Side Length 'a'/px: " + str( params[0][0] ) )) + inkex.errormsg(_("Side Length 'b'/px: " + str( params[0][1] ) )) + inkex.errormsg(_("Side Length 'c'/px: " + str( params[0][2] ) )) + inkex.errormsg(_("Angle 'A'/radians:" + str( params[1][0] ) )) + inkex.errormsg(_("Angle 'B'/radians: " + str( params[1][1] ) )) + inkex.errormsg(_("Angle 'C'/radians: " + str( params[1][2] ) )) + inkex.errormsg(_("Semiperimeter/px: " + str( params[4][1] ) )) + inkex.errormsg(_("Area /px^2: " + str( params[4][0] ) )) + return + + +class Style(object): #container for style information + def __init__(self, options): + #dot markers + self.d_rad = 4 #dot marker radius + self.d_th = 2 #stroke width + self.d_fill= '#aaaaaa' #fill colour + self.d_col = '#000000' #stroke colour + + #lines + self.l_th = 2 + self.l_fill= 'none' + self.l_col = '#000000' + + #circles + self.c_th = 2 + self.c_fill= 'none' + self.c_col = '#000000' + +class Draw_From_Triangle(inkex.Effect): + def __init__(self): + inkex.Effect.__init__(self) + self.OptionParser.add_option("--tab", + action="store", type="string", + dest="tab", default="sampling", + help="The selected UI-tab when OK was pressed") +#PRESET POINT OPTIONS + self.OptionParser.add_option("--circumcircle", + action="store", type="inkbool", + dest="do_circumcircle", default=False) + self.OptionParser.add_option("--circumcentre", + action="store", type="inkbool", + dest="do_circumcentre", default=False) + self.OptionParser.add_option("--incircle", + action="store", type="inkbool", + dest="do_incircle", default=False) + self.OptionParser.add_option("--incentre", + action="store", type="inkbool", + dest="do_incentre", default=False) + self.OptionParser.add_option("--contact_tri", + action="store", type="inkbool", + dest="do_contact_tri", default=False) + self.OptionParser.add_option("--excircles", + action="store", type="inkbool", + dest="do_excircles", default=False) + self.OptionParser.add_option("--excentres", + action="store", type="inkbool", + dest="do_excentres", default=False) + self.OptionParser.add_option("--extouch_tri", + action="store", type="inkbool", + dest="do_extouch_tri", default=False) + self.OptionParser.add_option("--excentral_tri", + action="store", type="inkbool", + dest="do_excentral_tri", default=False) + self.OptionParser.add_option("--orthocentre", + action="store", type="inkbool", + dest="do_orthocentre", default=False) + self.OptionParser.add_option("--orthic_tri", + action="store", type="inkbool", + dest="do_orthic_tri", default=False) + self.OptionParser.add_option("--altitudes", + action="store", type="inkbool", + dest="do_altitudes", default=False) + self.OptionParser.add_option("--anglebisectors", + action="store", type="inkbool", + dest="do_anglebisectors", default=False) + self.OptionParser.add_option("--centroid", + action="store", type="inkbool", + dest="do_centroid", default=False) + self.OptionParser.add_option("--ninepointcentre", + action="store", type="inkbool", + dest="do_ninepointcentre", default=False) + self.OptionParser.add_option("--ninepointcircle", + action="store", type="inkbool", + dest="do_ninepointcircle", default=False) + self.OptionParser.add_option("--symmedians", + action="store", type="inkbool", + dest="do_symmedians", default=False) + self.OptionParser.add_option("--sym_point", + action="store", type="inkbool", + dest="do_sym_pt", default=False) + self.OptionParser.add_option("--sym_tri", + action="store", type="inkbool", + dest="do_sym_tri", default=False) + self.OptionParser.add_option("--gergonne_pt", + action="store", type="inkbool", + dest="do_gergonne_pt", default=False) + self.OptionParser.add_option("--nagel_pt", + action="store", type="inkbool", + dest="do_nagel_pt", default=False) +#CUSTOM POINT OPTIONS + self.OptionParser.add_option("--mode", + action="store", type="string", + dest="mode", default='trilin') + self.OptionParser.add_option("--cust_str", + action="store", type="string", + dest="cust_str", default='s_a') + self.OptionParser.add_option("--cust_pt", + action="store", type="inkbool", + dest="do_cust_pt", default=False) + self.OptionParser.add_option("--cust_radius", + action="store", type="inkbool", + dest="do_cust_radius", default=False) + self.OptionParser.add_option("--radius", + action="store", type="string", + dest="radius", default='s_a') + self.OptionParser.add_option("--isogonal_conj", + action="store", type="inkbool", + dest="do_isogonal_conj", default=False) + self.OptionParser.add_option("--isotomic_conj", + action="store", type="inkbool", + dest="do_isotomic_conj", default=False) + self.OptionParser.add_option("--report", + action="store", type="inkbool", + dest="report", default=False) + + + def effect(self): + + so = self.options #shorthand + + pts = [] #initialise in case nothing is selected and following loop is not executed + for id, node in self.selected.iteritems(): + if node.tag == inkex.addNS('path','svg'): + pts = get_n_points_from_path( node, 3 ) #find the (x,y) coordinates of the first 3 points of the path + + + if len(pts) == 3: #if we have right number of nodes, else skip and end program + st = Style(so)#style for dots, lines and circles + + #CREATE A GROUP TO HOLD ALL GENERATED ELEMENTS IN + #Hold relative to point A (pt[0]) + group_translation = 'translate(' + str( pts[0][0] ) + ','+ str( pts[0][1] ) + ')' + group_attribs = {inkex.addNS('label','inkscape'):'TriangleElements', + 'transform':group_translation } + layer = inkex.etree.SubElement(self.current_layer, 'g', group_attribs) + + #GET METRICS OF THE TRIANGLE + #vertices in the local coordinates (set pt[0] to be the origin) + vtx = [[0,0], + [pts[1][0]-pts[0][0],pts[1][1]-pts[0][1]], + [pts[2][0]-pts[0][0],pts[2][1]-pts[0][1]]] + + s_a = distance(vtx[1],vtx[2])#get the scalar side lengths + s_b = distance(vtx[0],vtx[1]) + s_c = distance(vtx[0],vtx[2]) + sides=(s_a,s_b,s_c)#side list for passing to functions easily and for indexing + + a_a = angle_from_3_sides(s_b, s_c, s_a)#angles in radians + a_b = angle_from_3_sides(s_a, s_c, s_b) + a_c = angle_from_3_sides(s_a, s_b, s_c) + angles=(a_a,a_b,a_c) + + ab = vector_from_to(vtx[0], vtx[1]) #vector from a to b + ac = vector_from_to(vtx[0], vtx[2]) #vector from a to c + bc = vector_from_to(vtx[1], vtx[2]) #vector from b to c + vecs= (ab,ac) # vectors for finding cartesian point from trilinears + + semiperim = (s_a+s_b+s_c)/2.0 #semiperimeter + area = sqrt( semiperim*(semiperim-s_a)*(semiperim-s_b)*(semiperim-s_c) ) #area of the triangle by heron's formula + uvals = (area, semiperim) #useful values + + params = (sides, angles, vecs, vtx, uvals) #all useful triangle parameters in one object + + if so.report: + report_properties( params ) + + #BEGIN DRAWING + if so.do_circumcentre or so.do_circumcircle: + r = s_a*s_b*s_c/(4*area) + pt = (cos(a_a),cos(a_b),cos(a_c)) + if so.do_circumcentre: + draw_SVG_circle(0, pt, params, st, 'Circumcentre', layer) + if so.do_circumcircle: + draw_SVG_circle(r, pt, params, st, 'Circumcircle', layer) + + if so.do_incentre or so.do_incircle: + pt = [1,1,1] + if so.do_incentre: + draw_SVG_circle(0, pt, params, st, 'Incentre', layer) + if so.do_incircle: + r = area/semiperim + draw_SVG_circle(r, pt, params, st, 'Incircle', layer) + + if so.do_contact_tri: + t1 = s_b*s_c/(-s_a+s_b+s_c) + t2 = s_a*s_c/( s_a-s_b+s_c) + t3 = s_a*s_b/( s_a+s_b-s_c) + v_mat = ( (0,t2,t3),(t1,0,t3),(t1,t2,0)) + draw_SVG_tri(v_mat, params, st,'ContactTriangle',layer) + + if so.do_extouch_tri: + t1 = (-s_a+s_b+s_c)/s_a + t2 = ( s_a-s_b+s_c)/s_b + t3 = ( s_a+s_b-s_c)/s_c + v_mat = ( (0,t2,t3),(t1,0,t3),(t1,t2,0)) + draw_SVG_tri(v_mat, params, st,'ExtouchTriangle',layer) + + if so.do_orthocentre: + pt = pt_from_tcf('cos(a_b)*cos(a_c)', params) + draw_SVG_circle(0, pt, params, st, 'Orthocentre', layer) + + if so.do_orthic_tri: + v_mat = [[0,sec(a_b),sec(a_c)],[sec(a_a),0,sec(a_c)],[sec(a_a),sec(a_b),0]] + draw_SVG_tri(v_mat, params, st,'OrthicTriangle',layer) + + if so.do_centroid: + pt = [1/s_a,1/s_b,1/s_c] + draw_SVG_circle(0, pt, params, st, 'Centroid', layer) + + if so.do_ninepointcentre or so.do_ninepointcircle: + pt = [cos(a_b-a_c),cos(a_c-a_a),cos(a_a-a_b)] + if so.do_ninepointcentre: + draw_SVG_circle(0, pt, params, st, 'NinePointCentre', layer) + if so.do_ninepointcircle: + r = s_a*s_b*s_c/(8*area) + draw_SVG_circle(r, pt, params, st, 'NinePointCircle', layer) + + if so.do_altitudes: + v_mat = [[0,sec(a_b),sec(a_c)],[sec(a_a),0,sec(a_c)],[sec(a_a),sec(a_b),0]] + draw_vertex_lines( v_mat, params, st, 'Altitude', layer) + + if so.do_anglebisectors: + v_mat = ((0,1,1),(1,0,1),(1,1,0)) + draw_vertex_lines(v_mat,params, st, 'AngleBisectors', layer) + + if so.do_excircles or so.do_excentres or so.do_excentral_tri: + v_mat = ((-1,1,1),(1,-1,1),(1,1,-1)) + if so.do_excentral_tri: + draw_SVG_tri(v_mat, params, st,'ExcentralTriangle',layer) + for i in range(3): + if so.do_excircles: + r = area/(semiperim-sides[i]) + draw_SVG_circle(r, v_mat[i], params, st, 'Excircle:'+str(i), layer) + if so.do_excentres: + draw_SVG_circle(0, v_mat[i], params, st, 'Excentre:'+str(i), layer) + + if so.do_sym_tri or so.do_symmedians: + v_mat = ((0,s_b,s_c), (s_a, 0, s_c), (s_a, s_b, 0)) + if so.do_sym_tri: + draw_SVG_tri(v_mat, params, st,'SymmedialTriangle',layer) + if so.do_symmedians: + draw_vertex_lines(v_mat,params, st, 'Symmedian', layer) + + if so.do_sym_pt: + pt = (s_a,s_b,s_c) + draw_SVG_circle(0, pt, params, st, 'SymmmedianPoint', layer) + + if so.do_gergonne_pt: + pt = pt_from_tcf('1/(s_a*(s_b+s_c-s_a))', params) + draw_SVG_circle(0, pt, params, st, 'GergonnePoint', layer) + + if so.do_nagel_pt: + pt = pt_from_tcf('(s_b+s_c-s_a)/s_a', params) + draw_SVG_circle(0, pt, params, st, 'NagelPoint', layer) + + if so.do_cust_pt or so.do_cust_radius or so.do_isogonal_conj or so.do_isotomic_conj: + pt = []#where we will store the point in trilinears + if so.mode == 'trilin':#if we are receiving from trilinears + for i in range(3): + strings = so.cust_str.split(':')#get split string + strings[i] = translate_string(strings[i],0) + func = eval('lambda params: ' + strings[i].strip('"')) #the function leading to the trilinar element + pt.append(func(params)) #evaluate the function for the trilinear element + else:#we need a triangle function + string = so.cust_str #don't need to translate, as the pt_from_tcf function does that for us + pt = pt_from_tcf(string, params)#get the point from the tcf directly + + if so.do_cust_pt:#draw the point + draw_SVG_circle(0, pt, params, st, 'CustomTrilinearPoint', layer) + if so.do_cust_radius:#draw the circle with given radius + strings = translate_string(so.radius,0) + func = eval('lambda params: ' + strings.strip('"')) #the function leading to the radius + r = func(params) + draw_SVG_circle(r, pt, params, st, 'CustomTrilinearCircle', layer) + if so.do_isogonal_conj: + isogonal=[0,0,0] + for i in range (3): + isogonal[i] = 1/pt[i] + draw_SVG_circle(0, isogonal, params, st, 'CustomIsogonalConjugate', layer) + if so.do_isotomic_conj: + isotomic=[0,0,0] + for i in range (3): + isotomic[i] = 1/( params[0][i]*params[0][i]*pt[i] ) + draw_SVG_circle(0, isotomic, params, st, 'CustomIsotomicConjugate', layer) + + +e = Draw_From_Triangle() +e.affect() + diff --git a/share/extensions/dxf_outlines.py b/share/extensions/dxf_outlines.py index 5826be693..ca3777627 100755 --- a/share/extensions/dxf_outlines.py +++ b/share/extensions/dxf_outlines.py @@ -22,12 +22,14 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ''' import inkex, simplepath, cubicsuperpath, dxf_templates, math +import gettext +_ = gettext.gettext try: from numpy import * from numpy.linalg import solve except: - inkex.errormsg("Failed to import the numpy or numpy.linalg modules. These modules are required by this extension. Please install them and try again.") + inkex.errormsg(_("Failed to import the numpy or numpy.linalg modules. These modules are required by this extension. Please install them and try again.")) inkex.sys.exit() def pointdistance((x1,y1),(x2,y2)): diff --git a/share/extensions/polyhedron_3d.inx b/share/extensions/polyhedron_3d.inx index 3ef24399e..17c80814e 100644 --- a/share/extensions/polyhedron_3d.inx +++ b/share/extensions/polyhedron_3d.inx @@ -8,21 +8,21 @@ <_option value="cube">Cube - <_option value="t_cube">Truncated Cube - <_option value="sn_cube">Snub Cube + <_option value="trunc_cube">Truncated Cube + <_option value="snub_cube">Snub Cube <_option value="cuboct">Cuboctohedron <_option value="tet">Tetrahedron - <_option value="t_tet">Truncated Tetrahedron + <_option value="trunc_tet">Truncated Tetrahedron <_option value="oct">Octahedron - <_option value="t_oct">Truncated Octahedron + <_option value="trunc_oct">Truncated Octahedron <_option value="icos">Icosahedron - <_option value="t_icos">Truncated Icosahedron - <_option value="s_t_icos">Small Triambic Icosahedron + <_option value="trunc_icos">Truncated Icosahedron + <_option value="small_triam_icos">Small Triambic Icosahedron <_option value="dodec">Dodecahedron - <_option value="t_dodec">Truncated Dodecahedron - <_option value="sn_dodec">Snub Dodecahedron - <_option value="g_dodec">Great Dodecahedron - <_option value="g_s_dodec">Great Stellated Dodecahedron + <_option value="trunc_dodec">Truncated Dodecahedron + <_option value="snub_dodec">Snub Dodecahedron + <_option value="great_dodec">Great Dodecahedron + <_option value="great_stel_dodec">Great Stellated Dodecahedron <_option value="from_file">Load From File great_rhombicuboct.obj @@ -84,7 +84,6 @@ <_option value="max">Maximum <_option value="min">Minimum <_option value="mean">Mean - 0 diff --git a/share/extensions/polyhedron_3d.py b/share/extensions/polyhedron_3d.py index fca66b113..a6a33ccdf 100644 --- a/share/extensions/polyhedron_3d.py +++ b/share/extensions/polyhedron_3d.py @@ -26,12 +26,12 @@ Copyright (C) 2007 John Beard john.j.beard@gmail.com #f 1 2 3 #Edges are given by a list of vertices. These will be broken down -#into adjacent pairs. Each edge can connect only two vertices +#into adjacent pairs automatically. #l 1 2 3 #Faces are rendered according to the painter's algorithm and perhaps #back-face culling, if selected. The parameter to sort the faces by -#is user-selectable +#is user-selectable between max, min and average z-value of the vertices ######LICENCE####### This program is free software; you can redistribute it and/or modify @@ -50,16 +50,23 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ''' import inkex -import simplestyle, sys, simplepath, re +import simplestyle, sys, re from math import * -import gettext -_ = gettext.gettext try: from numpy import * except: inkex.errormsg(_("Failed to import the numpy module. This module is required by this extension. Please install them and try again. On a Debian-like system this can be done with the command, sudo apt-get install python-numpy.")) sys.exit() +#FILE IO ROUTINES +def get_filename(self_options): + if self_options.obj == 'from_file': + file = self_options.spec_file + else: + file = self_options.obj + '.obj' + + return file + def objfile(name): import os.path if __name__ == '__main__': @@ -75,30 +82,25 @@ def get_obj_data(obj, name): #regular expressions getname = '(.[nN]ame:\\s*)(.*)' - floating = '([\-\+\\d*\.e]*)' + floating = '([\-\+\\d*\.e]*)' #a possibly non-integer number, with +/- and exponent. getvertex = '(v\\s+)'+floating+'\\s+'+floating+'\\s+'+floating getedgeline = '(l\\s+)(.*)' getfaceline = '(f\\s+)(.*)' - getnextint = '(\\d+)([/\\d]*)(.*)'#we need to deal with 133\343\123 or 123\\456 as one item - - obj.vtx = [] - obj.edg = [] - obj.fce = [] - obj.name='' + getnextint = '(\\d+)([/\\d]*)(.*)'#we need to deal with 123\343\123 or 123\\456 as equivalent to 123 (we are ignoring the other options in the obj file) for line in infile: - if line[0]=='#': #we have a comment line - m = re.search(getname, line) + if line[0]=='#': #we have a comment line + m = re.search(getname, line) #check to see if this line contains a name if m: - obj.name = m.group(2) - elif line[0:1] == 'v': #we have a vertex (maybe) - m = re.search(getvertex, line) - if m: #we have a valid vertex + obj.name = m.group(2) #if it does, set the property + elif line[0] == 'v': #we have a vertex (maybe) + m = re.search(getvertex, line) #check to see if this line contains a valid vertex + if m: #we have a valid vertex obj.vtx.append( [float(m.group(2)), float(m.group(3)), float(m.group(4)) ] ) - elif line[0:1] == 'l':#we have a line (maybe) - m = re.search(getedgeline, line) - if m:#we have a line beginning 'l ' - vtxlist = []#buffer + elif line[0] == 'l': #we have a line (maybe) + m = re.search(getedgeline, line) #check to see if this line begins 'l ' + if m: #we have a line beginning 'l ' + vtxlist = [] #buffer while line: m2 = re.search(getnextint, line) if m2: @@ -109,9 +111,9 @@ def get_obj_data(obj, name): if len(vtxlist) > 1:#we need at least 2 vertices to make an edge for i in range (len(vtxlist)-1):#we can have more than one vertex per line - get adjacent pairs obj.edg.append( ( vtxlist[i], vtxlist[i+1] ) )#get the vertex pair between that vertex and the next - elif line[0:1] == 'f':#we have a face (maybe) + elif line[0] == 'f': #we have a face (maybe) m = re.search(getfaceline, line) - if m:#we have a line beginning 'l ' + if m: #we have a line beginning 'f ' vtxlist = []#buffer while line: m2 = re.search(getnextint, line) @@ -120,12 +122,14 @@ def get_obj_data(obj, name): line = m2.group(3)#remainder else: line = None - if len(vtxlist) > 2:#we need at least 3 vertices to make an edge + if len(vtxlist) > 2: #we need at least 3 vertices to make an edge obj.fce.append(vtxlist) - if obj.name == '':#no name was found, use filename, without extension + if obj.name == '':#no name was found, use filename, without extension (.obj) obj.name = name[0:-4] +#RENDERING AND SVG OUTPUT FUNCTIONS + def draw_SVG_dot((cx, cy), st, name, parent): style = { 'stroke': '#000000', 'stroke-width':str(st.th), 'fill': st.fill, 'stroke-opacity':st.s_opac, 'fill-opacity':st.f_opac} circ_attribs = {'style':simplestyle.formatStyle(style), @@ -135,8 +139,7 @@ def draw_SVG_dot((cx, cy), st, name, parent): inkex.etree.SubElement(parent, inkex.addNS('circle','svg'), circ_attribs ) def draw_SVG_line((x1, y1),(x2, y2), st, name, parent): - #sys.stderr.write(str(p1)) - style = { 'stroke': '#000000', 'stroke-width':str(st.th)} + style = { 'stroke': '#000000', 'stroke-width':str(st.th), 'stroke-linecap':st.linecap} line_attribs = {'style':simplestyle.formatStyle(style), inkex.addNS('label','inkscape'):name, 'd':'M '+str(x1)+','+str(-y1)+' L '+str(x2)+','+str(-y2)} @@ -157,12 +160,95 @@ def draw_SVG_poly(pts, face, st, name, parent): inkex.addNS('label','inkscape'):name,'d': d} inkex.etree.SubElement(parent, inkex.addNS('path','svg'), line_attribs ) +def draw_edges( edge_list, pts, st, parent ): + for edge in edge_list:#for every edge + pt_1 = pts[ edge[0]-1 ][0:2] #the point at the start + pt_2 = pts[ edge[1]-1 ][0:2] #the point at the end + name = 'Edge'+str(edge[0])+'-'+str(edge[1]) + draw_SVG_line(pt_1,pt_2,st, name, parent)#plot edges + +def draw_faces( faces_data, pts, obj, shading, fill_col,st, parent): + for face in faces_data:#for every polygon that has been sorted + if shading: + st.fill = get_darkened_colour(fill_col, face[1]/pi)#darken proportionally to angle to lighting vector + else: + st.fill = get_darkened_colour(fill_col, 1)#do not darken colour + + face_no = face[3]#the number of the face to draw + draw_SVG_poly(pts, obj.fce[ face_no ], st, 'Face:'+str(face_no), parent) + +def get_darkened_colour( (r,g,b), factor): +#return a hex triplet of colour, reduced in lightness proportionally to a value between 0 and 1 + return '#' + "%02X" % floor( factor*r ) \ + + "%02X" % floor( factor*g ) \ + + "%02X" % floor( factor*b ) #make the colour string + +def make_rotation_log(options): +#makes a string recording the axes and angles of each roation, so an object can be repeated + return options.r1_ax+str('%.2f'%options.r1_ang)+':'+\ + options.r2_ax+str('%.2f'%options.r2_ang)+':'+\ + options.r3_ax+str('%.2f'%options.r3_ang)+':'+\ + options.r1_ax+str('%.2f'%options.r4_ang)+':'+\ + options.r2_ax+str('%.2f'%options.r5_ang)+':'+\ + options.r3_ax+str('%.2f'%options.r6_ang) + +#MATHEMATICAL FUNCTIONS +def get_angle( vector1, vector2 ): #returns the angle between two vectors + return acos( dot(vector1, vector2) ) + +def length(vector):#return the pythagorean length of a vector + return sqrt(dot(vector,vector)) + +def normalise(vector):#return the unit vector pointing in the same direction as the argument + return vector / length(vector) + def get_normal( pts, face): #returns the normal vector for the plane passing though the first three elements of face of pts #n = pt[0]->pt[1] x pt[0]->pt[3] a = (array(pts[ face[0]-1 ]) - array(pts[ face[1]-1 ])) b = (array(pts[ face[0]-1 ]) - array(pts[ face[2]-1 ])) return cross(a,b).flatten() + +def get_unit_normal(pts, face, cw_wound): #returns the unit normal for the plane passing through the first three points of face, taking account of winding + if cw_wound: + winding = -1 #if it is clockwise wound, reverse the vecotr direction + else: + winding = 1 #else leave alone + + return winding*normalise(get_normal(pts, face)) + +def rotate( matrix, angle, axis ):#choose the correct rotation matrix to use + if axis == 'x': + matrix = rot_x(matrix, angle) + elif axis == 'y': + matrix = rot_y(matrix, angle) + elif axis == 'z': + matrix = rot_z(matrix, angle) + return matrix + +def rot_z( matrix , a):#rotate around the z-axis by a radians + trans_mat = mat(array( [[ cos(a) , -sin(a) , 0 ], + [ sin(a) , cos(a) , 0 ], + [ 0 , 0 , 1 ]])) + return trans_mat*matrix + +def rot_y( matrix , a):#rotate around the y-axis by a radians + trans_mat = mat(array( [[ cos(a) , 0 , sin(a) ], + [ 0 , 1 , 0 ], + [-sin(a) , 0 , cos(a) ]])) + return trans_mat*matrix +def rot_x( matrix , a):#rotate around the x-axis by a radians + trans_mat = mat(array( [[ 1 , 0 , 0 ], + [ 0 , cos(a) ,-sin(a) ], + [ 0 , sin(a) , cos(a) ]])) + return trans_mat*matrix + +def get_transformed_pts( vtx_list, trans_mat):#translate the points according to the matrix + transformed_pts = [] + for vtx in vtx_list: + transformed_pts.append((trans_mat * mat(vtx).T).T.tolist()[0] )#transform the points at add to the list + return transformed_pts + def get_max_z(pts, face): #returns the largest z_value of any point in the face max_z = pts[ face[0]-1 ][2] for i in range(1, len(face)): @@ -183,54 +269,71 @@ def get_cent_z(pts, face): #returns the centroid z_value of any point in the fac sum += pts[ face[i]-1 ][2] return sum/len(face) -def length(vector):#return the pythagorean length of a vector - return sqrt(dot(vector,vector)) - -def rot_z( matrix , a): - trans_mat = mat(array( [[ cos(a) , -sin(a) , 0 ], - [ sin(a) , cos(a) , 0 ], - [ 0 , 0 , 1 ]])) - return trans_mat*matrix +def get_z_sort_param(pts, face, method): #returns the z-sorting parameter specified by 'method' ('max', 'min', 'cent') + z_sort_param = '' + if method == 'max': + z_sort_param = get_max_z(pts, face) + elif method == 'min': + z_sort_param = get_min_z(pts, face) + else: + z_sort_param = get_cent_z(pts, face) + return z_sort_param + +#OBJ DATA MANIPULATION +def remove_duplicates(list):#removes the duplicates from a list + list.sort()#sort the list + + last = list[-1] + for i in range(len(list)-2, -1, -1): + if last==list[i]: + del list[i] + else: + last = list[i] + return list -def rot_y( matrix , a): - trans_mat = mat(array( [[ cos(a) , 0 , sin(a) ], - [ 0 , 1 , 0 ], - [-sin(a) , 0 , cos(a) ]])) - return trans_mat*matrix - -def rot_x( matrix , a): - trans_mat = mat(array( [[ 1 , 0 , 0 ], - [ 0 , cos(a) ,-sin(a) ], - [ 0 , sin(a) , cos(a) ]])) - return trans_mat*matrix - def make_edge_list(face_list):#make an edge vertex list from an existing face vertex list edge_list = [] for i in range(len(face_list)):#for every face edges = len(face_list[i]) #number of edges around that face for j in range(edges):#for every vertex in that face - edge_list.append( [face_list[i][j], face_list[i][(j+1)%edges] ] )#get the vertex pair between that vertex and the next - - for i in range(len(edge_list)): - edge_list[i].sort()#sort the entries of the entries - edge_list.sort()#sort the list - - last = edge_list[-1] #delete duplicate entries - for i in range(len(edge_list)-2, -1, -1): - if last==edge_list[i]: - del edge_list[i] - else: - last=edge_list[i] - return edge_list + new_edge = [face_list[i][j], face_list[i][(j+1)%edges] ] + new_edge.sort() #put in ascending order of vertices (to ensure we spot duplicates) + edge_list.append( new_edge )#get the vertex pair between that vertex and the next + + return remove_duplicates(edge_list) class Style(object): #container for style information - def __init__(self): - None + def __init__(self,options): + self.th = options.th + self.fill= '#ff0000' + self.col = '#000000' + self.r = 2 + self.f_opac = str(options.f_opac/100.0) + self.s_opac = str(options.s_opac/100.0) + self.linecap = 'round' + self.linejoin = 'round' class Obj(object): #a 3d object defined by the vertices and the faces (eg a polyhedron) #edges can be generated from this information def __init__(self): - None + self.vtx = [] + self.edg = [] + self.fce = [] + self.name='' + + def set_type(self, options): + if options.type == 'face': + if self.fce != []: + self.type = 'face' + else: + inkex.errormsg(_('No face data found in specified file\n')) + self.type = 'error' + else: + if self.edg != []: + self.type = 'edge' + else: + inkex.errormsg(_('No edge data found in specified file\n')) + obj.type = 'error' class Poly_3D(inkex.Effect): def __init__(self): @@ -338,170 +441,75 @@ class Poly_3D(inkex.Effect): def effect(self): - so = self.options + so = self.options#shorthand - st = Style() - st.th = so.th - st.fill= '#ff0000' - st.col = '#000000' - st.r = 2 - st.f_opac = str(so.f_opac/100.0) - st.s_opac = str(so.s_opac/100.0) - st.linecap = 'round' - st.linejoin = 'round' + #INITIALISE AND LOAD DATA - file = '' - if so.obj == 'cube': - file = 'cube.obj' - elif so.obj == 't_cube': - file = 'trunc_cube.obj' - elif so.obj == 'sn_cube': - file = 'snub_cube.obj' - elif so.obj == 'cuboct': - file = 'cuboct.obj' - elif so.obj == 'tet': - file = 'tet.obj' - elif so.obj == 't_tet': - file = 'trunc_tet.obj' - elif so.obj == 'oct': - file = 'oct.obj' - elif so.obj == 't_oct': - file = 'trunc_oct.obj' - elif so.obj == 'icos': - file = 'icos.obj' - elif so.obj == 't_icos': - file = 'trunc_icos.obj' - elif so.obj == 's_t_icos': - file = 'small_triam_icos.obj' - elif so.obj == 'g_s_dodec': - file = 'great_stel_dodec.obj' - elif so.obj == 'dodec': - file = 'dodec.obj' - elif so.obj == 'sn_dodec': - file = 'snub_dodec.obj' - elif so.obj == 'g_dodec': - file = 'great_dodec.obj' - elif so.obj == 't_dodec': - file = 'trunc_dodec.obj' - elif so.obj == 'from_file': - file = so.spec_file - obj = Obj() #create the object - get_obj_data(obj, file) + file = get_filename(so)#get the file to load data from + get_obj_data(obj, file)#load data from the obj file + obj.set_type(so)#set the type (face or edge) as per the settings - obj.type='' - if so.type == 'face': - if len(obj.fce) > 0: - obj.type = 'face' - else: - sys.stderr.write('No face data found in specified file\n') - obj.type = 'error' - else: - if len(obj.edg) > 0: - obj.type = 'edge' - else: - sys.stderr.write('No edge data found in specified file\n') - obj.type = 'error' + st = Style(so) #initialise style + fill_col = (so.f_r, so.f_g, so.f_b) #colour tuple for the face fill + lighting = normalise( (so.lv_x,-so.lv_y,so.lv_z) ) #unit light vector - trans_mat = mat(identity(3, float)) #init. trans matrix as identity matrix + #INKSCAPE GROUP TO CONTAIN THE POLYHEDRON - #perform rotations + #Put in in the centre of the current view + poly_transform = 'translate(' + str( self.view_center[0]) + ',' + str( self.view_center[1]) + ')' + #we will put all the rotations in the object name, so it can be repeated in + poly_name = obj.name+':'+make_rotation_log(so) + poly_attribs = {inkex.addNS('label','inkscape'):poly_name, + 'transform':poly_transform } + poly = inkex.etree.SubElement(self.current_layer, 'g', poly_attribs)#the group to put everything in + + #TRANFORMATION OF THE OBJECT (ROTATION, SCALE, ETC) + + trans_mat = mat(identity(3, float)) #init. trans matrix as identity matrix for i in range(1, 7):#for each rotation axis = eval('so.r'+str(i)+'_ax') angle = eval('so.r'+str(i)+'_ang') *pi/180 - if axis == 'x': - trans_mat = rot_x(trans_mat, angle) - elif axis == 'y': - trans_mat = rot_y(trans_mat, angle) - elif axis == 'z': - trans_mat = rot_z(trans_mat, angle) - - # Embed points in group - #Put in in the centre of the current view - t = 'translate(' + str( self.view_center[0]) + ',' + str( self.view_center[1]) + ')' - #we will put all the rotations in the object name, so it can be repeated in future - proj_attribs = {inkex.addNS('label','inkscape'):obj.name+':'+so.r1_ax+str('%.2f'%so.r1_ang)+':'+ - so.r2_ax+str('%.2f'%so.r2_ang)+':'+ - so.r3_ax+str('%.2f'%so.r3_ang)+':'+ - so.r1_ax+str('%.2f'%so.r4_ang)+':'+ - so.r2_ax+str('%.2f'%so.r5_ang)+':'+ - so.r3_ax+str('%.2f'%so.r6_ang), - 'transform':t } - proj = inkex.etree.SubElement(self.current_layer, 'g', proj_attribs)#the group to put everything in - - vp_pts=[] #the points as projected in the z-axis onto the viewplane + trans_mat = rotate(trans_mat, angle, axis) + trans_mat = trans_mat*so.scl #scale by linear factor (do this only after the transforms to reduce round-off) - for i in range(len(obj.vtx)): - vp_pts.append((so.scl* (trans_mat * mat(obj.vtx[i]).T)).T.tolist()[0] )#transform the points at add to vp_pts + transformed_pts = get_transformed_pts(obj.vtx, trans_mat) #the points as projected in the z-axis onto the viewplane - lighting = [so.lv_x,-so.lv_y,so.lv_z] #direction of light vector - lighting = lighting/length(lighting) #normalise + #RENDERING OF THE OBJECT if so.show == 'vtx': - for i in range(len(vp_pts)): - draw_SVG_dot([vp_pts[i][0],vp_pts[i][1]], st, 'Point'+str(i), proj)#plot points + for i in range(len(transformed_pts)): + draw_SVG_dot([transformed_pts[i][0],transformed_pts[i][1]], st, 'Point'+str(i), poly)#plot points using transformed_pts x and y coords elif so.show == 'edg': - if obj.type == 'face':#we must generate the edge list + if obj.type == 'face':#we must generate the edge list from the faces edge_list = make_edge_list(obj.fce) else:#we already have an edge list edge_list = obj.edg - for i in range(len(edge_list)):#for every edge - pt_1 = vp_pts[ edge_list[i][0]-1 ] #the point at the start - pt_2 = vp_pts[ edge_list[i][1]-1 ] #the point at the end - - draw_SVG_line((pt_1[0], pt_1[1]), - (pt_2[0], pt_2[1]), - st, 'Edge', proj)#plot edges + draw_edges( edge_list, transformed_pts, st, poly) elif so.show == 'fce': if obj.type == 'face':#we have a face list - - if so.cw_wound: rev = -1 #if cw wound, reverse normals - else: rev = 1 - + z_list = [] for i in range(len(obj.fce)): - norm = get_normal(vp_pts, obj.fce[i])#get the normal to the face - norm = rev*norm / length(norm)#normalise and reverse if needed - angle = acos( dot(norm, lighting) )#get the angle between the normal and the lighting vector - - - if so.z_sort =='max': - z_sort_param = get_max_z(vp_pts, obj.fce[i]) - elif so.z_sort == 'min': - z_sort_param = get_min_z(vp_pts, obj.fce[i]) - else: - z_sort_param = get_cent_z(vp_pts, obj.fce[i]) + face = obj.fce[i] #the face we are dealing with + norm = get_unit_normal(transformed_pts, face, so.cw_wound) #get the normal vector to the face + angle = get_angle( norm, lighting )#get the angle between the normal and the lighting vector + z_sort_param = get_z_sort_param(transformed_pts, face, so.z_sort) - if so.norm:#if a log of normals is required - if i == 0: - sys.stderr.write('Normal Vectors for each face are: \n\n') - sys.stderr.write('Face '+str(i)+': ' + str(norm) + '\n') - - if so.back: # draw all polygons - z_list.append((z_sort_param, angle, norm, i) ) - elif norm[2] > 0:#ignore backwards-facing faces (back face cull) - z_list.append((z_sort_param, angle, norm, i) ) #record the maximum z-value of the face and angle to light, along with the face ID and normal + if so.back or norm[2] > 0: # include all polygons or just the front-facing ones as needed + z_list.append((z_sort_param, angle, norm, i))#record the maximum z-value of the face and angle to light, along with the face ID and normal z_list.sort(lambda x, y: cmp(x[0],y[0])) #sort by ascending sort parameter of the face - - for i in range(len(z_list)):#for every polygon that has been sorted - if so.shade: - st.fill = '#' + "%02X" % floor( z_list[i][1]*so.f_r/pi ) \ - + "%02X" % floor( z_list[i][1]*so.f_g/pi ) \ - + "%02X" % floor( z_list[i][1]*so.f_b/pi ) #make the colour string - else: - st.fill = '#' + '%02X' % so.f_r + '%02X' % so.f_g + '%02X' % so.f_b #opaque - - face_no = z_list[i][3]#the number of the face to draw - draw_SVG_poly(vp_pts, obj.fce[ face_no ], st, 'Face:'+str(face_no), proj) - else: - sys.stderr.write('Face Data Not Found. Ensure file contains face data, and check the file is imported as "Face-Specifed" under the "Model File" tab.\n') + draw_faces( z_list, transformed_pts, obj, so.shade, fill_col, st, poly) + + else:#we cannot generate a list of faces from the edges without a lot of computation + inkex.errormsg(_('Face Data Not Found. Ensure file contains face data, and check the file is imported as "Face-Specifed" under the "Model File" tab.\n')) else: - sys.stderr.write('Internal Error. No view type selected\n') + inkex.errormsg(_('Internal Error. No view type selected\n')) if __name__ == '__main__': e = Poly_3D() diff --git a/share/extensions/render_barcode.inx b/share/extensions/render_barcode.inx index a7f738d41..610c8bf19 100644 --- a/share/extensions/render_barcode.inx +++ b/share/extensions/render_barcode.inx @@ -5,16 +5,15 @@ inkex.py render_barcode.py - EAN13 EAN8 - UPC-A - UPC-E - UPC-5 + EAN13 + UPC-A + UPC-E Code39 Code39Ext Code93 Code128 - RM4SCC + RM4CC / RM4SCC 30 diff --git a/share/extensions/simplestyle.py b/share/extensions/simplestyle.py index 012ea5c77..356d75581 100755 --- a/share/extensions/simplestyle.py +++ b/share/extensions/simplestyle.py @@ -191,6 +191,21 @@ def parseColor(c): c=svgcolors[c] if c.startswith('#') and len(c)==4: c='#'+c[1:2]+c[1:2]+c[2:3]+c[2:3]+c[3:]+c[3:] + elif c.startswith('rgb('): + # remove the rgb(...) stuff + tmp = c.strip()[4:-1] + numbers = [number.strip() for number in tmp.split(',')] + converted_numbers = [] + if len(numbers) == 3: + for num in numbers: + if num.endswith(r'%'): + converted_numbers.append( int(int(num[0:-1])*255/100)) + else: + converted_numbers.append(int(num)) + return tuple(converted_numbers) + else: + return (0,0,0) + r=int(c[1:3],16) g=int(c[3:5],16) b=int(c[5:],16) diff --git a/share/icons/icons.svg b/share/icons/icons.svg index 6c004ca15..5e1b6078d 100644 --- a/share/icons/icons.svg +++ b/share/icons/icons.svg @@ -37,10 +37,6 @@ - - - - @@ -511,7 +507,6 @@ - @@ -644,7 +639,6 @@ - @@ -654,8 +648,9 @@ + - + @@ -702,7 +697,7 @@ http://www.inkscape.org/ - + @@ -984,8 +979,8 @@ http://www.inkscape.org/ - - + + @@ -993,20 +988,19 @@ http://www.inkscape.org/ - - + - - + + - + - + @@ -2197,11 +2191,11 @@ http://www.inkscape.org/ - + - + @@ -2749,13 +2743,13 @@ http://www.inkscape.org/ - + - - + + @@ -2847,7 +2841,7 @@ http://www.inkscape.org/ - + @@ -2870,20 +2864,20 @@ http://www.inkscape.org/ - - - + + + - - + + - - + + - - + + @@ -3127,30 +3121,35 @@ http://www.inkscape.org/ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Makefile_insert b/src/Makefile_insert index 33e4f07f8..8244996c8 100644 --- a/src/Makefile_insert +++ b/src/Makefile_insert @@ -81,7 +81,6 @@ libinkpre_a_SOURCES = \ filter-chemistry.cpp filter-chemistry.h \ filter-enums.cpp filter-enums.h \ flood-context.cpp flood-context.h \ - fontsize-expansion.cpp fontsize-expansion.h \ forward.h \ gradient-context.cpp gradient-context.h \ gradient-drag.cpp gradient-drag.h \ @@ -131,8 +130,6 @@ libinkpre_a_SOURCES = \ menus-skeleton.h \ prefix.cpp \ prefix.h \ - prefs-utils.cpp \ - prefs-utils.h \ print.cpp print.h \ profile-manager.cpp \ profile-manager.h \ @@ -151,6 +148,7 @@ libinkpre_a_SOURCES = \ shape-editor.cpp shape-editor.h \ shortcuts.cpp shortcuts.h \ snap.cpp snap.h \ + snap-preferences.cpp snap-preferences.h \ snapped-curve.cpp snapped-curve.h \ snapped-line.cpp snapped-line.h \ snapped-point.cpp snapped-point.h \ diff --git a/src/arc-context.cpp b/src/arc-context.cpp index 1409d1d64..50d348e7b 100644 --- a/src/arc-context.cpp +++ b/src/arc-context.cpp @@ -34,7 +34,7 @@ #include "xml/repr.h" #include "xml/node-event-vector.h" #include "object-edit.h" -#include "prefs-utils.h" +#include "preferences.h" #include "message-context.h" #include "desktop.h" #include "desktop-style.h" @@ -208,11 +208,12 @@ static void sp_arc_context_setup(SPEventContext *ec) sigc::bind(sigc::ptr_fun(&sp_arc_context_selection_changed), (gpointer) ac) ); - if (prefs_get_int_attribute("tools.shapes", "selcue", 0) != 0) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/tools/shapes/selcue")) { ec->enableSelectionCue(); } - if (prefs_get_int_attribute("tools.shapes", "gradientdrag", 0) != 0) { + if (prefs->getBool("/tools/shapes/gradientdrag")) { ec->enableGrDrag(); } @@ -250,8 +251,9 @@ static gint sp_arc_context_root_handler(SPEventContext *event_context, GdkEvent SPDesktop *desktop = event_context->desktop; Inkscape::Selection *selection = sp_desktop_selection(desktop); SPArcContext *ac = SP_ARC_CONTEXT(event_context); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - event_context->tolerance = prefs_get_int_attribute_limited("options.dragtolerance", "value", 0, 0, 100); + event_context->tolerance = prefs->getIntLimited("/options/dragtolerance/value", 0, 0, 100); gint ret = FALSE; @@ -266,7 +268,7 @@ static gint sp_arc_context_root_handler(SPEventContext *event_context, GdkEvent SnapManager &m = desktop->namedview->snap_manager; m.setup(desktop); Geom::Point pt2g = to_2geom(ac->center); - m.freeSnapReturnByRef(Inkscape::Snapper::SNAPPOINT_NODE, pt2g); + m.freeSnapReturnByRef(Inkscape::SnapPreferences::SNAPPOINT_NODE, pt2g); ac->center = from_2geom(pt2g); sp_canvas_item_grab(SP_CANVAS_ITEM(desktop->acetate), @@ -423,7 +425,7 @@ static void sp_arc_drag(SPArcContext *ac, Geom::Point pt, guint state) repr->setAttribute("sodipodi:type", "arc"); /* Set style */ - sp_desktop_apply_style_tool(desktop, repr, "tools.shapes.arc", false); + sp_desktop_apply_style_tool(desktop, repr, "/tools/shapes/arc", false); ac->item = SP_ITEM(desktop->currentLayer()->appendChildRepr(repr)); Inkscape::GC::release(repr); diff --git a/src/attributes-test.h b/src/attributes-test.h index 25167e75b..89be0eb4f 100644 --- a/src/attributes-test.h +++ b/src/attributes-test.h @@ -352,6 +352,7 @@ struct {char const *attr; bool supported;} const all_attrs[] = { {"inkscape:snap-nodes", true}, {"inkscape:snap-guide", true}, {"inkscape:snap-center", true}, + {"inkscape:snap-smooth-nodes", true}, {"inkscape:snap-intersection-grid-guide", true}, {"inkscape:snap-intersection-paths", true}, {"inkscape:pageopacity", true}, diff --git a/src/attributes.cpp b/src/attributes.cpp index e64cedf36..add2c8caf 100644 --- a/src/attributes.cpp +++ b/src/attributes.cpp @@ -92,6 +92,7 @@ static SPStyleProp const props[] = { {SP_ATTR_INKSCAPE_SNAP_NODES, "inkscape:snap-nodes"}, {SP_ATTR_INKSCAPE_SNAP_GUIDE, "inkscape:snap-guide"}, {SP_ATTR_INKSCAPE_SNAP_CENTER, "inkscape:snap-center"}, + {SP_ATTR_INKSCAPE_SNAP_SMOOTH_NODES, "inkscape:snap-smooth-nodes"}, {SP_ATTR_INKSCAPE_SNAP_INTERS_GRIDGUIDE, "inkscape:snap-intersection-grid-guide"}, {SP_ATTR_INKSCAPE_SNAP_INTERS_PATHS, "inkscape:snap-intersection-paths"}, {SP_ATTR_INKSCAPE_OBJECT_PATHS, "inkscape:object-paths"}, diff --git a/src/attributes.h b/src/attributes.h index 82fba18a9..e15822411 100644 --- a/src/attributes.h +++ b/src/attributes.h @@ -92,6 +92,7 @@ enum SPAttributeEnum { SP_ATTR_INKSCAPE_SNAP_NODES, SP_ATTR_INKSCAPE_SNAP_GUIDE, SP_ATTR_INKSCAPE_SNAP_CENTER, + SP_ATTR_INKSCAPE_SNAP_SMOOTH_NODES, SP_ATTR_INKSCAPE_SNAP_INTERS_GRIDGUIDE, SP_ATTR_INKSCAPE_SNAP_INTERS_PATHS, SP_ATTR_INKSCAPE_OBJECT_PATHS, diff --git a/src/box3d-context.cpp b/src/box3d-context.cpp index 03a9073b4..404723231 100644 --- a/src/box3d-context.cpp +++ b/src/box3d-context.cpp @@ -38,7 +38,7 @@ #include "object-edit.h" #include "xml/repr.h" #include "xml/node-event-vector.h" -#include "prefs-utils.h" +#include "preferences.h" #include "context-fns.h" #include "desktop-style.h" #include "transf_mat_3x4.h" @@ -247,12 +247,13 @@ static void sp_box3d_context_setup(SPEventContext *ec) ); bc->_vpdrag = new Box3D::VPDrag(sp_desktop_document (ec->desktop)); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - if (prefs_get_int_attribute("tools.shapes", "selcue", 0) != 0) { + if (prefs->getBool("/tools/shapes/selcue")) { ec->enableSelectionCue(); } - if (prefs_get_int_attribute("tools.shapes", "gradientdrag", 0) != 0) { + if (prefs->getBool("/tools/shapes/gradientdrag")) { ec->enableGrDrag(); } @@ -290,13 +291,14 @@ static gint sp_box3d_context_root_handler(SPEventContext *event_context, GdkEven SPDesktop *desktop = event_context->desktop; Inkscape::Selection *selection = sp_desktop_selection (desktop); - int const snaps = prefs_get_int_attribute("options.rotationsnapsperpi", "value", 12); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int const snaps = prefs->getInt("/options/rotationsnapsperpi/value", 12); Box3DContext *bc = SP_BOX3D_CONTEXT(event_context); g_assert (SP_ACTIVE_DOCUMENT->current_persp3d); Persp3D *cur_persp = SP_ACTIVE_DOCUMENT->current_persp3d; - event_context->tolerance = prefs_get_int_attribute_limited("options.dragtolerance", "value", 0, 0, 100); + event_context->tolerance = prefs->getIntLimited("/options/dragtolerance/value", 0, 0, 100); gint ret = FALSE; switch (event->type) { @@ -331,7 +333,7 @@ static gint sp_box3d_context_root_handler(SPEventContext *event_context, GdkEven /* Snap center */ SnapManager &m = desktop->namedview->snap_manager; m.setup(desktop, true, bc->item); - m.freeSnapReturnByRef(Inkscape::Snapper::SNAPPOINT_NODE, button_dt); + m.freeSnapReturnByRef(Inkscape::SnapPreferences::SNAPPOINT_NODE, button_dt); bc->center = from_2geom(button_dt); sp_canvas_item_grab(SP_CANVAS_ITEM(desktop->acetate), @@ -363,7 +365,7 @@ static gint sp_box3d_context_root_handler(SPEventContext *event_context, GdkEven SnapManager &m = desktop->namedview->snap_manager; m.setup(desktop, true, bc->item); - m.freeSnapReturnByRef(Inkscape::Snapper::SNAPPOINT_NODE, motion_dt); + m.freeSnapReturnByRef(Inkscape::SnapPreferences::SNAPPOINT_NODE, motion_dt); bc->ctrl_dragged = event->motion.state & GDK_CONTROL_MASK; @@ -397,7 +399,7 @@ static gint sp_box3d_context_root_handler(SPEventContext *event_context, GdkEven bc->drag_ptC_proj = cur_persp->tmat.preimage (from_2geom(motion_dt), bc->drag_ptB_proj[Proj::X], Proj::X); } Geom::Point pt2g = to_2geom(bc->drag_ptC); - m.freeSnapReturnByRef(Inkscape::Snapper::SNAPPOINT_NODE, pt2g); + m.freeSnapReturnByRef(Inkscape::SnapPreferences::SNAPPOINT_NODE, pt2g); bc->drag_ptC = from_2geom(pt2g); } @@ -583,7 +585,7 @@ static void sp_box3d_drag(Box3DContext &bc, guint /*state*/) repr->setAttribute("sodipodi:type", "inkscape:box3d"); /* Set style */ - sp_desktop_apply_style_tool (desktop, repr, "tools.shapes.3dbox", false); + sp_desktop_apply_style_tool (desktop, repr, "/tools/shapes/3dbox", false); bc.item = (SPItem *) desktop->currentLayer()->appendChildRepr(repr); Inkscape::GC::release(repr); diff --git a/src/box3d-side.cpp b/src/box3d-side.cpp index cdeb001eb..866cbbca4 100644 --- a/src/box3d-side.cpp +++ b/src/box3d-side.cpp @@ -241,19 +241,20 @@ box3d_side_apply_style (Box3DSide *side) { Inkscape::XML::Node *repr_face = SP_OBJECT_REPR(SP_OBJECT(side)); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - Glib::ustring descr = "desktop."; + Glib::ustring descr = "/desktop/"; descr += box3d_side_axes_string(side); - Glib::ustring cur_style = prefs->getString(descr, "style"); + descr += "/style"; + Glib::ustring cur_style = prefs->getString(descr); SPDesktop *desktop = inkscape_active_desktop(); - bool use_current = prefs->getBool("tools.shapes.3dbox", "usecurrent", false); + bool use_current = prefs->getBool("/tools/shapes/3dbox/usecurrent", false); if (use_current && !cur_style.empty()) { /* use last used style */ repr_face->setAttribute("style", cur_style.data()); } else { /* use default style */ GString *pstring = g_string_new(""); - g_string_printf (pstring, "tools.shapes.3dbox.%s", box3d_side_axes_string(side)); + g_string_printf (pstring, "/tools/shapes/3dbox/%s", box3d_side_axes_string(side)); sp_desktop_apply_style_tool (desktop, repr_face, pstring->str, false); } } diff --git a/src/box3d.cpp b/src/box3d.cpp index 548132bdc..057329a28 100644 --- a/src/box3d.cpp +++ b/src/box3d.cpp @@ -35,7 +35,7 @@ #include "2geom/geom.h" #include "sp-guide.h" #include "sp-namedview.h" -#include "prefs-utils.h" +#include "preferences.h" #include "desktop.h" #include "desktop-handles.h" @@ -1416,8 +1416,9 @@ box3d_push_back_corner_pair(SPBox3D *box, std::listgetBool("/tools/shapes/3dbox/convertguides", true)) { sp_item_convert_to_guides(SP_ITEM(box)); return; } diff --git a/src/color-profile.cpp b/src/color-profile.cpp index 583145c80..fbfa8efb1 100644 --- a/src/color-profile.cpp +++ b/src/color-profile.cpp @@ -39,9 +39,9 @@ extern guint update_in_progress; #define DEBUG_MESSAGE(key, ...) \ {\ Inkscape::Preferences *prefs = Inkscape::Preferences::get();\ - bool dump = prefs->getBool("options.scislac", #key);\ - bool dumpD = prefs->getBool("options.scislac", #key"D");\ - bool dumpD2 = prefs->getBool("options.scislac", #key"D2");\ + bool dump = prefs->getBool(Glib::ustring("/options/scislac/") + #key);\ + bool dumpD = prefs->getBool(Glib::ustring("/options/scislac/") + #key"D");\ + bool dumpD2 = prefs->getBool(Glib::ustring("/options/scislac/") + #key"D2");\ dumpD &= ( (update_in_progress == 0) || dumpD2 );\ if ( dump )\ {\ @@ -684,7 +684,7 @@ cmsHPROFILE Inkscape::colorprofile_get_system_profile_handle() } Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - Glib::ustring uri = prefs->getString("options.displayprofile", "uri"); + Glib::ustring uri = prefs->getString("/options/displayprofile/uri"); if ( !uri.empty() ) { if ( uri != lastURI ) { @@ -743,8 +743,8 @@ cmsHPROFILE Inkscape::colorprofile_get_proof_profile_handle() } Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - bool which = prefs->getBool( "options.softproof", "enable"); - Glib::ustring uri = prefs->getString("options.softproof", "uri"); + bool which = prefs->getBool( "/options/softproof/enable"); + Glib::ustring uri = prefs->getString("/options/softproof/uri"); if ( which && !uri.empty() ) { if ( lastURI != uri ) { @@ -799,7 +799,7 @@ static void free_transforms(); cmsHTRANSFORM Inkscape::colorprofile_get_display_transform() { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - bool fromDisplay = prefs->getBool( "options.displayprofile", "from_display"); + bool fromDisplay = prefs->getBool( "/options/displayprofile/from_display"); if ( fromDisplay ) { if ( transf ) { cmsDeleteTransform(transf); @@ -808,14 +808,14 @@ cmsHTRANSFORM Inkscape::colorprofile_get_display_transform() return 0; } - bool warn = prefs->getBool( "options.softproof", "gamutwarn"); - int intent = prefs->getIntLimited( "options.displayprofile", "intent", 0, 0, 3 ); - int proofIntent = prefs->getIntLimited( "options.softproof", "intent", 0, 0, 3 ); - bool bpc = prefs->getBool( "options.softproof", "bpc"); + bool warn = prefs->getBool( "/options/softproof/gamutwarn"); + int intent = prefs->getIntLimited( "/options/displayprofile/intent", 0, 0, 3 ); + int proofIntent = prefs->getIntLimited( "/options/softproof/intent", 0, 0, 3 ); + bool bpc = prefs->getBool( "/options/softproof/bpc"); #if defined(cmsFLAGS_PRESERVEBLACK) - bool preserveBlack = prefs->getBool( "options.softproof", "preserveblack"); + bool preserveBlack = prefs->getBool( "/options/softproof/preserveblack"); #endif //defined(cmsFLAGS_PRESERVEBLACK) - Glib::ustring colorStr = prefs->getString("options.softproof", "gamutcolor"); + Glib::ustring colorStr = prefs->getString("/options/softproof/gamutcolor"); Gdk::Color gamutColor( colorStr.empty() ? "#808080" : colorStr ); if ( (warn != gamutWarn) @@ -969,14 +969,14 @@ cmsHTRANSFORM Inkscape::colorprofile_get_display_per( Glib::ustring const& id ) if ( id == it2->id ) { MemProfile& item = *it2; - bool warn = prefs->getBool( "options.softproof", "gamutwarn"); - int intent = prefs->getIntLimited( "options.displayprofile", "intent", 0, 0, 3 ); - int proofIntent = prefs->getIntLimited( "options.softproof", "intent", 0, 0, 3 ); - bool bpc = prefs->getBool( "options.softproof", "bpc"); + bool warn = prefs->getBool( "/options/softproof/gamutwarn"); + int intent = prefs->getIntLimited( "/options/displayprofile/intent", 0, 0, 3 ); + int proofIntent = prefs->getIntLimited( "/options/softproof/intent", 0, 0, 3 ); + bool bpc = prefs->getBool( "/options/softproof/bpc"); #if defined(cmsFLAGS_PRESERVEBLACK) - bool preserveBlack = prefs->getBool( "options.softproof", "preserveblack"); + bool preserveBlack = prefs->getBool( "/options/softproof/preserveblack"); #endif //defined(cmsFLAGS_PRESERVEBLACK) - Glib::ustring colorStr = prefs->getString("options.softproof", "gamutcolor"); + Glib::ustring colorStr = prefs->getString("/options/softproof/gamutcolor"); Gdk::Color gamutColor( colorStr.empty() ? "#808080" : colorStr ); if ( (warn != gamutWarn) diff --git a/src/common-context.cpp b/src/common-context.cpp index eab50b478..48a7f308c 100644 --- a/src/common-context.cpp +++ b/src/common-context.cpp @@ -8,6 +8,7 @@ #include "forward.h" #include "message-context.h" #include "streq.h" +#include "preferences.h" #define MIN_PRESSURE 0.0 #define MAX_PRESSURE 1.0 @@ -23,7 +24,7 @@ static void sp_common_context_init(SPCommonContext *erc); static void sp_common_context_dispose(GObject *object); static void sp_common_context_setup(SPEventContext *ec); -static void sp_common_context_set(SPEventContext *ec, gchar const *key, gchar const *value); +static void sp_common_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val); static gint sp_common_context_root_handler(SPEventContext *event_context, GdkEvent *event); @@ -154,51 +155,38 @@ static void sp_common_context_setup(SPEventContext *ec) } } -static inline bool -get_bool_value(char const *const val) -{ - return ( val && *val == '1' ); - /* The only possible values if written by inkscape are NULL (attribute not present) - * or "0" or "1". - * - * For other values (e.g. if modified by a human without following the above rules), the - * current implementation does the right thing for empty string, "no", "false", "n", "f" - * but the wrong thing for "yes", "true", "y", "t". */ -} - -static void sp_common_context_set(SPEventContext *ec, gchar const *key, gchar const *value) +static void sp_common_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *value) { SPCommonContext *ctx = SP_COMMON_CONTEXT(ec); - - if (streq(key, "mass")) { - double const dval = ( value ? g_ascii_strtod (value, NULL) : 0.2 ); - ctx->mass = CLAMP(dval, -1000.0, 1000.0); - } else if (streq(key, "wiggle")) { - double const dval = ( value ? g_ascii_strtod (value, NULL) : (1 - DRAG_DEFAULT)); - ctx->drag = CLAMP((1 - dval), DRAG_MIN, DRAG_MAX); // drag is inverse to wiggle - } else if (streq(key, "angle")) { - double const dval = ( value ? g_ascii_strtod (value, NULL) : 0.0); - ctx->angle = CLAMP (dval, -90, 90); - } else if (streq(key, "width")) { - double const dval = ( value ? g_ascii_strtod (value, NULL) : 0.1 ); - ctx->width = CLAMP(dval, -1000.0, 1000.0); - } else if (streq(key, "thinning")) { - double const dval = ( value ? g_ascii_strtod (value, NULL) : 0.1 ); - ctx->vel_thin = CLAMP(dval, -1.0, 1.0); - } else if (streq(key, "tremor")) { - double const dval = ( value ? g_ascii_strtod (value, NULL) : 0.0 ); - ctx->tremor = CLAMP(dval, 0.0, 1.0); - } else if (streq(key, "flatness")) { - double const dval = ( value ? g_ascii_strtod (value, NULL) : 1.0 ); - ctx->flatness = CLAMP(dval, 0, 1.0); - } else if (streq(key, "usepressure")) { - ctx->usepressure = get_bool_value(value); - } else if (streq(key, "usetilt")) { - ctx->usetilt = get_bool_value(value); - } else if (streq(key, "abs_width")) { - ctx->abs_width = get_bool_value(value); - } else if (streq(key, "cap_rounding")) { - ctx->cap_rounding = ( value ? g_ascii_strtod (value, NULL) : 0.0 ); + Glib::ustring path = value->getEntryName(); + + // ignore preset modifications + static Glib::ustring const presets_path = ec->pref_observer->observed_path + "/preset"; + Glib::ustring const &full_path = value->getPath(); + if (full_path.compare(0, presets_path.size(), presets_path) == 0) return; + + if (path == "mass") { + ctx->mass = CLAMP(value->getDouble(0.2), -1000.0, 1000.0); + } else if (path == "wiggle") { + ctx->drag = CLAMP((1 - value->getDouble(1 - DRAG_DEFAULT)), DRAG_MIN, DRAG_MAX); // drag is inverse to wiggle + } else if (path == "angle") { + ctx->angle = CLAMP(value->getDouble(), -90, 90); + } else if (path == "width") { + ctx->width = CLAMP(value->getDouble(0.1), -1000.0, 1000.0); + } else if (path == "thinning") { + ctx->vel_thin = CLAMP(value->getDouble(0.1), -1.0, 1.0); + } else if (path == "tremor") { + ctx->tremor = CLAMP(value->getDouble(), 0.0, 1.0); + } else if (path == "flatness") { + ctx->flatness = CLAMP(value->getDouble(1.0), 0, 1.0); + } else if (path == "usepressure") { + ctx->usepressure = value->getBool(); + } else if (path == "usetilt") { + ctx->usetilt = value->getBool(); + } else if (path == "abs_width") { + ctx->abs_width = value->getBool(); + } else if (path == "cap_rounding") { + ctx->cap_rounding = value->getDouble(); } } diff --git a/src/conn-avoid-ref.cpp b/src/conn-avoid-ref.cpp index 5a09f8765..ac9064713 100644 --- a/src/conn-avoid-ref.cpp +++ b/src/conn-avoid-ref.cpp @@ -15,14 +15,11 @@ #include "sp-item.h" #include "conn-avoid-ref.h" -#include "libnr/nr-rect-ops.h" #include "libavoid/polyutil.h" #include "libavoid/router.h" #include "libavoid/connector.h" #include "xml/simple-node.h" #include "document.h" -#include "prefs-utils.h" - #include "desktop.h" #include "desktop-handles.h" #include "sp-namedview.h" @@ -206,9 +203,9 @@ static Avoid::Polygn avoid_item_poly(SPItem const *item) poly = Avoid::newPoly(4); for (unsigned n = 0; n < 4; ++n) { - NR::Point hullPoint = rExpandedHull.corner(n); - poly.ps[n].x = hullPoint[NR::X]; - poly.ps[n].y = hullPoint[NR::Y]; + Geom::Point hullPoint = rExpandedHull.corner(n); + poly.ps[n].x = hullPoint[Geom::X]; + poly.ps[n].y = hullPoint[Geom::Y]; } return poly; diff --git a/src/connector-context.cpp b/src/connector-context.cpp index 527ba720f..ef89c290f 100644 --- a/src/connector-context.cpp +++ b/src/connector-context.cpp @@ -59,7 +59,7 @@ #include "message-stack.h" #include "selection.h" #include "inkscape.h" -#include "prefs-utils.h" +#include "preferences.h" #include "sp-path.h" #include "display/canvas-bpath.h" #include "display/sodipodi-ctrl.h" @@ -85,9 +85,9 @@ static gint sp_connector_context_root_handler(SPEventContext *ec, GdkEvent *even static gint sp_connector_context_item_handler(SPEventContext *event_context, SPItem *item, GdkEvent *event); // Stuff borrowed from DrawContext -static void spcc_connector_set_initial_point(SPConnectorContext *cc, NR::Point const p); -static void spcc_connector_set_subsequent_point(SPConnectorContext *cc, NR::Point const p); -static void spcc_connector_finish_segment(SPConnectorContext *cc, NR::Point p); +static void spcc_connector_set_initial_point(SPConnectorContext *cc, Geom::Point const p); +static void spcc_connector_set_subsequent_point(SPConnectorContext *cc, Geom::Point const p); +static void spcc_connector_finish_segment(SPConnectorContext *cc, Geom::Point p); static void spcc_reset_colors(SPConnectorContext *cc); static void spcc_connector_finish(SPConnectorContext *cc); static void spcc_concat_colors_and_flush(SPConnectorContext *cc); @@ -103,11 +103,11 @@ static void cc_set_active_shape(SPConnectorContext *cc, SPItem *item); static void cc_clear_active_shape(SPConnectorContext *cc); static void cc_set_active_conn(SPConnectorContext *cc, SPItem *item); static void cc_clear_active_conn(SPConnectorContext *cc); -static gchar *conn_pt_handle_test(SPConnectorContext *cc, NR::Point& w); +static gchar *conn_pt_handle_test(SPConnectorContext *cc, Geom::Point& w); static bool cc_item_is_shape(SPItem *item); static void cc_selection_changed(Inkscape::Selection *selection, gpointer data); static void cc_connector_rerouting_finish(SPConnectorContext *const cc, - NR::Point *const p); + Geom::Point *const p); static void shape_event_attr_deleted(Inkscape::XML::Node *repr, Inkscape::XML::Node *child, Inkscape::XML::Node *ref, gpointer data); @@ -116,7 +116,7 @@ static void shape_event_attr_changed(Inkscape::XML::Node *repr, gchar const *nam gpointer data); -static NR::Point connector_drag_origin_w(0, 0); +static Geom::Point connector_drag_origin_w(0, 0); static bool connector_within_tolerance = false; static SPEventContextClass *parent_class; @@ -283,7 +283,8 @@ sp_connector_context_setup(SPEventContext *ec) // Notice the initial selection. cc_selection_changed(cc->selection, (gpointer) cc); - if (prefs_get_int_attribute("tools.connector", "selcue", 0) != 0) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/tools/connector/selcue", 0)) { ec->enableSelectionCue(); } @@ -373,7 +374,7 @@ cc_clear_active_conn(SPConnectorContext *cc) static gchar * -conn_pt_handle_test(SPConnectorContext *cc, NR::Point& p) +conn_pt_handle_test(SPConnectorContext *cc, Geom::Point& p) { // TODO: this will need to change when there are more connection // points available for each shape. @@ -398,7 +399,7 @@ sp_connector_context_item_handler(SPEventContext *event_context, SPItem *item, G SPConnectorContext *cc = SP_CONNECTOR_CONTEXT(event_context); - NR::Point p(event->button.x, event->button.y); + Geom::Point p(event->button.x, event->button.y); switch (event->type) { case GDK_BUTTON_RELEASE: @@ -488,9 +489,9 @@ sp_connector_context_root_handler(SPEventContext *ec, GdkEvent *event) static gint connector_handle_button_press(SPConnectorContext *const cc, GdkEventButton const &bevent) { - NR::Point const event_w(bevent.x, bevent.y); + Geom::Point const event_w(bevent.x, bevent.y); /* Find desktop coordinates */ - NR::Point p = cc->desktop->w2d(event_w); + Geom::Point p = cc->desktop->w2d(event_w); SPEventContext *event_context = SP_EVENT_CONTEXT(cc); gint ret = FALSE; @@ -502,12 +503,12 @@ connector_handle_button_press(SPConnectorContext *const cc, GdkEventButton const return TRUE; } - NR::Point const event_w(bevent.x, + Geom::Point const event_w(bevent.x, bevent.y); connector_drag_origin_w = event_w; connector_within_tolerance = true; - NR::Point const event_dt = cc->desktop->w2d(event_w); + Geom::Point const event_dt = cc->desktop->w2d(event_w); switch (cc->state) { case SP_CONNECTOR_CONTEXT_STOP: /* This is allowed, if we just cancelled curve */ @@ -520,7 +521,7 @@ connector_handle_button_press(SPConnectorContext *const cc, GdkEventButton const /* Set start anchor */ /* Create green anchor */ - NR::Point p = event_dt; + Geom::Point p = event_dt; // Test whether we clicked on a connection point cc->sid = conn_pt_handle_test(cc, p); @@ -532,7 +533,7 @@ connector_handle_button_press(SPConnectorContext *const cc, GdkEventButton const // as there's no other points to go off. SnapManager &m = cc->desktop->namedview->snap_manager; m.setup(cc->desktop); - m.freeSnapReturnByRef(Inkscape::Snapper::SNAPPOINT_NODE, pt2g); + m.freeSnapReturnByRef(Inkscape::SnapPreferences::SNAPPOINT_NODE, pt2g); } spcc_connector_set_initial_point(cc, from_2geom(pt2g)); @@ -590,17 +591,17 @@ connector_handle_motion_notify(SPConnectorContext *const cc, GdkEventMotion cons { gint ret = FALSE; SPEventContext *event_context = SP_EVENT_CONTEXT(cc); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); if (event_context->space_panning || mevent.state & GDK_BUTTON2_MASK || mevent.state & GDK_BUTTON3_MASK) { // allow middle-button scrolling return FALSE; } - NR::Point const event_w(mevent.x, mevent.y); + Geom::Point const event_w(mevent.x, mevent.y); if (connector_within_tolerance) { - gint const tolerance = prefs_get_int_attribute_limited("options.dragtolerance", - "value", 0, 0, 100); + gint const tolerance = prefs->getIntLimited("/options/dragtolerance/value", 0, 0, 100); if ( NR::LInfty( event_w - connector_drag_origin_w ) < tolerance ) { return FALSE; // Do not drag if we're within tolerance from origin. } @@ -675,10 +676,10 @@ connector_handle_button_release(SPConnectorContext *const cc, GdkEventButton con SPDesktop *desktop = SP_EVENT_CONTEXT_DESKTOP(cc); SPDocument *doc = sp_desktop_document(desktop); - NR::Point const event_w(revent.x, revent.y); + Geom::Point const event_w(revent.x, revent.y); /* Find desktop coordinates */ - NR::Point p = cc->desktop->w2d(event_w); + Geom::Point p = cc->desktop->w2d(event_w); switch (cc->state) { //case SP_CONNECTOR_CONTEXT_POINT: @@ -766,7 +767,7 @@ connector_handle_key_press(SPConnectorContext *const cc, guint const keyval) static void -cc_connector_rerouting_finish(SPConnectorContext *const cc, NR::Point *const p) +cc_connector_rerouting_finish(SPConnectorContext *const cc, Geom::Point *const p) { SPDesktop *desktop = SP_EVENT_CONTEXT_DESKTOP(cc); SPDocument *doc = sp_desktop_document(desktop); @@ -814,7 +815,7 @@ spcc_reset_colors(SPConnectorContext *cc) static void -spcc_connector_set_initial_point(SPConnectorContext *const cc, NR::Point const p) +spcc_connector_set_initial_point(SPConnectorContext *const cc, Geom::Point const p) { g_assert( cc->npoints == 0 ); @@ -826,15 +827,15 @@ spcc_connector_set_initial_point(SPConnectorContext *const cc, NR::Point const p static void -spcc_connector_set_subsequent_point(SPConnectorContext *const cc, NR::Point const p) +spcc_connector_set_subsequent_point(SPConnectorContext *const cc, Geom::Point const p) { g_assert( cc->npoints != 0 ); SPDesktop *dt = cc->desktop; - NR::Point o = dt->dt2doc(cc->p[0]); - NR::Point d = dt->dt2doc(p); - Avoid::Point src(o[NR::X], o[NR::Y]); - Avoid::Point dst(d[NR::X], d[NR::Y]); + Geom::Point o = dt->dt2doc(cc->p[0]); + Geom::Point d = dt->dt2doc(p); + Avoid::Point src(o[Geom::X], o[Geom::Y]); + Avoid::Point dst(d[Geom::X], d[Geom::Y]); if (!cc->newConnRef) { Avoid::Router *router = sp_desktop_document(dt)->router; @@ -850,11 +851,11 @@ spcc_connector_set_subsequent_point(SPConnectorContext *const cc, NR::Point cons cc->newConnRef->calcRouteDist(); cc->red_curve->reset(); - NR::Point pt(route.ps[0].x, route.ps[0].y); + Geom::Point pt(route.ps[0].x, route.ps[0].y); cc->red_curve->moveto(pt); for (int i = 1; i < route.pn; ++i) { - NR::Point p(route.ps[i].x, route.ps[i].y); + Geom::Point p(route.ps[i].x, route.ps[i].y); cc->red_curve->lineto(p); } cc->red_curve->transform(dt->doc2dt()); @@ -919,7 +920,7 @@ spcc_flush_white(SPConnectorContext *cc, SPCurve *gc) Inkscape::XML::Node *repr = xml_doc->createElement("svg:path"); /* Set style */ - sp_desktop_apply_style_tool(desktop, repr, "tools.connector", false); + sp_desktop_apply_style_tool(desktop, repr, "/tools/connector", false); gchar *str = sp_svg_write_path( c->get_pathvector() ); g_assert( str != NULL ); @@ -966,7 +967,7 @@ spcc_flush_white(SPConnectorContext *cc, SPCurve *gc) static void -spcc_connector_finish_segment(SPConnectorContext *const cc, NR::Point const /*p*/) +spcc_connector_finish_segment(SPConnectorContext *const cc, Geom::Point const /*p*/) { if (!cc->red_curve->is_empty()) { cc->green_curve->append_continuous(cc->red_curve, 0.0625); @@ -1068,7 +1069,7 @@ endpt_handler(SPKnot */*knot*/, GdkEvent *event, SPConnectorContext *cc) unsigned ind = (cc->active_handle == cc->endpt_handle[0]) ? 0 : 1; sp_conn_end_detach(cc->clickeditem, ind); - NR::Point origin; + Geom::Point origin; if (cc->clickedhandle == cc->endpt_handle[0]) { origin = cc->endpt_handle[1]->pos; } @@ -1258,7 +1259,8 @@ static bool cc_item_is_shape(SPItem *item) } } else if (SP_IS_TEXT(item) || SP_IS_FLOWTEXT(item)) { - if (prefs_get_int_attribute("tools.connector", "ignoretext", 1) == 1) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/tools/connector/ignoretext", true)) { // Don't count text as a shape we can connect connector to. return false; } diff --git a/src/connector-context.h b/src/connector-context.h index e8d9a4390..d67e12b81 100644 --- a/src/connector-context.h +++ b/src/connector-context.h @@ -17,7 +17,7 @@ #include "event-context.h" #include #include -#include +#include <2geom/point.h> #include "libavoid/connector.h" @@ -44,7 +44,7 @@ enum { struct SPConnectorContext : public SPEventContext { Inkscape::Selection *selection; - NR::Point p[5]; + Geom::Point p[5]; /** \invar npoints in {0, 2}. */ gint npoints; diff --git a/src/context-fns.cpp b/src/context-fns.cpp index e6ebbe337..c80def787 100644 --- a/src/context-fns.cpp +++ b/src/context-fns.cpp @@ -132,11 +132,11 @@ Geom::Rect Inkscape::snap_rectangular_box(SPDesktop const *desktop, SPItem *item Inkscape::SnappedPoint s[2]; /* Try to snap p[0] (the opposite corner) along the constraint vector */ - s[0] = m.constrainedSnap(Inkscape::Snapper::SNAPPOINT_NODE, to_2geom(p[0]), + s[0] = m.constrainedSnap(Inkscape::SnapPreferences::SNAPPOINT_NODE, to_2geom(p[0]), Inkscape::Snapper::ConstraintLine(p[0] - p[1])); /* Try to snap p[1] (the dragged corner) along the constraint vector */ - s[1] = m.constrainedSnap(Inkscape::Snapper::SNAPPOINT_NODE, to_2geom(p[1]), + s[1] = m.constrainedSnap(Inkscape::SnapPreferences::SNAPPOINT_NODE, to_2geom(p[1]), Inkscape::Snapper::ConstraintLine(p[1] - p[0])); /* Choose the best snap and update points accordingly */ @@ -157,7 +157,7 @@ Geom::Rect Inkscape::snap_rectangular_box(SPDesktop const *desktop, SPItem *item /* Our origin is the opposite corner. Snap the drag point along the constraint vector */ p[0] = center; - snappoint = m.constrainedSnap(Inkscape::Snapper::SNAPPOINT_NODE, to_2geom(p[1]), + snappoint = m.constrainedSnap(Inkscape::SnapPreferences::SNAPPOINT_NODE, to_2geom(p[1]), Inkscape::Snapper::ConstraintLine(p[1] - p[0])); if (snappoint.getSnapped()) { p[1] = snappoint.getPoint(); @@ -175,8 +175,8 @@ Geom::Rect Inkscape::snap_rectangular_box(SPDesktop const *desktop, SPItem *item Inkscape::SnappedPoint s[2]; - s[0] = m.freeSnap(Inkscape::Snapper::SNAPPOINT_NODE, to_2geom(p[0])); - s[1] = m.freeSnap(Inkscape::Snapper::SNAPPOINT_NODE, to_2geom(p[1])); + s[0] = m.freeSnap(Inkscape::SnapPreferences::SNAPPOINT_NODE, to_2geom(p[0])); + s[1] = m.freeSnap(Inkscape::SnapPreferences::SNAPPOINT_NODE, to_2geom(p[1])); if (s[0].getDistance() < s[1].getDistance()) { if (s[0].getSnapped()) { @@ -197,7 +197,7 @@ Geom::Rect Inkscape::snap_rectangular_box(SPDesktop const *desktop, SPItem *item /* There's no constraint on the corner point, so just snap it to anything */ p[0] = center; p[1] = pt; - snappoint = m.freeSnap(Inkscape::Snapper::SNAPPOINT_NODE, to_2geom(pt)); + snappoint = m.freeSnap(Inkscape::SnapPreferences::SNAPPOINT_NODE, to_2geom(pt)); if (snappoint.getSnapped()) { p[1] = snappoint.getPoint(); } diff --git a/src/debug/gdk-event-latency-tracker.cpp b/src/debug/gdk-event-latency-tracker.cpp index cfd5a9b71..a6baae8da 100644 --- a/src/debug/gdk-event-latency-tracker.cpp +++ b/src/debug/gdk-event-latency-tracker.cpp @@ -10,7 +10,7 @@ */ #include "debug/gdk-event-latency-tracker.h" -#include "prefs-utils.h" +#include "preferences.h" namespace Inkscape { namespace Debug { @@ -32,7 +32,8 @@ boost::optional GdkEventLatencyTracker::process(GdkEvent const *event) { if (start_seconds == 0.0) { elapsed.start(); start_seconds = timestamp_seconds; - skew = prefs_get_double_attribute_limited("debug.latency", "skew", 1.0, 0.5, 2.0); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + skew = prefs->getDoubleLimited("/debug/latency/skew", 1.0, 0.5, 2.0); return boost::optional(0.0); } else { last_elapsed = elapsed.elapsed(); diff --git a/src/desktop-events.cpp b/src/desktop-events.cpp index 726341ded..4258d1980 100644 --- a/src/desktop-events.cpp +++ b/src/desktop-events.cpp @@ -36,7 +36,7 @@ #include "snap.h" #include "display/canvas-grid.h" #include "display/canvas-axonomgrid.h" -#include "prefs-utils.h" +#include "preferences.h" #include "helper/action.h" #include "tools-switch.h" #include <2geom/point.h> @@ -52,8 +52,9 @@ int sp_desktop_root_handler(SPCanvasItem */*item*/, GdkEvent *event, SPDesktop * static bool first = true; if ( first ) { - if ( prefs_get_int_attribute("options.useextinput", "value", 1) - && prefs_get_int_attribute("options.switchonextinput", "value", 0) ) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if ( prefs->getBool("/options/useextinput/value", true) + && prefs->getBool("/options/switchonextinput/value") ) { watch = true; init_extended(); } diff --git a/src/desktop-handles.h b/src/desktop-handles.h index 72c943949..a8d0a3d1e 100644 --- a/src/desktop-handles.h +++ b/src/desktop-handles.h @@ -25,8 +25,8 @@ namespace Inkscape { #define SP_DESKTOP_ZOOM_MIN 0.01 #define SP_COORDINATES_UNDERLINE_NONE (0) -#define SP_COORDINATES_UNDERLINE_X (1 << NR::X) -#define SP_COORDINATES_UNDERLINE_Y (1 << NR::Y) +#define SP_COORDINATES_UNDERLINE_X (1 << Geom::X) +#define SP_COORDINATES_UNDERLINE_Y (1 << Geom::Y) SPEventContext * sp_desktop_event_context (SPDesktop const * desktop); Inkscape::Selection * sp_desktop_selection (SPDesktop const * desktop); diff --git a/src/desktop-style.cpp b/src/desktop-style.cpp index 23b2e07a5..07817529d 100644 --- a/src/desktop-style.cpp +++ b/src/desktop-style.cpp @@ -23,7 +23,7 @@ #include "selection.h" #include "inkscape.h" #include "style.h" -#include "prefs-utils.h" +#include "preferences.h" #include "sp-use.h" #include "sp-feblend.h" #include "sp-filter.h" @@ -159,22 +159,22 @@ void sp_desktop_set_style(SPDesktop *desktop, SPCSSAttr *css, bool change, bool write_current) { if (write_current) { -// 1. Set internal value + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + // 1. Set internal value sp_repr_css_merge(desktop->current, css); -// 1a. Write to prefs; make a copy and unset any URIs first + // 1a. Write to prefs; make a copy and unset any URIs first SPCSSAttr *css_write = sp_repr_css_attr_new(); sp_repr_css_merge(css_write, css); sp_css_attr_unset_uris(css_write); - sp_repr_css_change(inkscape_get_repr(INKSCAPE, "desktop"), css_write, "style"); + prefs->mergeStyle("/desktop/style", css_write); + for (const GSList *i = desktop->selection->itemList(); i != NULL; i = i->next) { /* last used styles for 3D box faces are stored separately */ if (SP_IS_BOX3D_SIDE (i->data)) { const char * descr = box3d_side_axes_string(SP_BOX3D_SIDE(i->data)); if (descr != NULL) { - gchar *style_grp = g_strconcat ("desktop.", descr, NULL); - sp_repr_css_change(inkscape_get_repr(INKSCAPE, style_grp), css_write, "style"); - g_free (style_grp); + prefs->mergeStyle(Glib::ustring("/desktop/") + descr + "/style", css_write); } } } @@ -243,19 +243,17 @@ sp_desktop_get_color(SPDesktop *desktop, bool is_fill) } double -sp_desktop_get_master_opacity_tool(SPDesktop *desktop, char const *tool, bool *has_opacity) +sp_desktop_get_master_opacity_tool(SPDesktop *desktop, Glib::ustring const &tool, bool *has_opacity) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); SPCSSAttr *css = NULL; gfloat value = 1.0; // default if nothing else found if (has_opacity) *has_opacity = false; - if (prefs_get_double_attribute(tool, "usecurrent", 0) != 0) { + if (prefs->getBool(tool + "/usecurrent")) { css = sp_desktop_get_style(desktop, true); - } else { - Inkscape::XML::Node *tool_repr = inkscape_get_repr(INKSCAPE, tool); - if (tool_repr) { - css = sp_repr_css_attr_inherited(tool_repr, "style"); - } + } else { + css = prefs->getStyle(tool + "/style"); } if (css) { @@ -276,17 +274,15 @@ sp_desktop_get_master_opacity_tool(SPDesktop *desktop, char const *tool, bool *h return value; } double -sp_desktop_get_opacity_tool(SPDesktop *desktop, char const *tool, bool is_fill) +sp_desktop_get_opacity_tool(SPDesktop *desktop, Glib::ustring const &tool, bool is_fill) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); SPCSSAttr *css = NULL; gfloat value = 1.0; // default if nothing else found - if (prefs_get_double_attribute(tool, "usecurrent", 0) != 0) { + if (prefs->getBool(tool + "/usecurrent")) { css = sp_desktop_get_style(desktop, true); } else { - Inkscape::XML::Node *tool_repr = inkscape_get_repr(INKSCAPE, tool); - if (tool_repr) { - css = sp_repr_css_attr_inherited(tool_repr, "style"); - } + css = prefs->getStyle(tool + "/style"); } if (css) { @@ -305,19 +301,17 @@ sp_desktop_get_opacity_tool(SPDesktop *desktop, char const *tool, bool is_fill) } guint32 -sp_desktop_get_color_tool(SPDesktop *desktop, char const *tool, bool is_fill, bool *has_color) -{ +sp_desktop_get_color_tool(SPDesktop *desktop, Glib::ustring const &tool, bool is_fill, bool *has_color) +{ + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); SPCSSAttr *css = NULL; guint32 r = 0; // if there's no color, return black if (has_color) *has_color = false; - if (prefs_get_int_attribute(tool, "usecurrent", 0) != 0) { + if (prefs->getBool(tool + "/usecurrent")) { css = sp_desktop_get_style(desktop, true); } else { - Inkscape::XML::Node *tool_repr = inkscape_get_repr(INKSCAPE, tool); - if (tool_repr) { - css = sp_repr_css_attr_inherited(tool_repr, "style"); - } + css = prefs->getStyle(tool + "/style"); } if (css) { @@ -342,18 +336,17 @@ sp_desktop_get_color_tool(SPDesktop *desktop, char const *tool, bool is_fill, bo * Apply the desktop's current style or the tool style to repr. */ void -sp_desktop_apply_style_tool(SPDesktop *desktop, Inkscape::XML::Node *repr, char const *tool, bool with_text) +sp_desktop_apply_style_tool(SPDesktop *desktop, Inkscape::XML::Node *repr, Glib::ustring const &tool_path, bool with_text) { SPCSSAttr *css_current = sp_desktop_get_style(desktop, with_text); - if ((prefs_get_int_attribute(tool, "usecurrent", 0) != 0) && css_current) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + + if (prefs->getBool(tool_path + "/usecurrent") && css_current) { sp_repr_css_set(repr, css_current, "style"); } else { - Inkscape::XML::Node *tool_repr = inkscape_get_repr(INKSCAPE, tool); - if (tool_repr) { - SPCSSAttr *css = sp_repr_css_attr_inherited(tool_repr, "style"); - sp_repr_css_set(repr, css, "style"); - sp_repr_css_attr_unref(css); - } + SPCSSAttr *css = prefs->getStyle(tool_path + "/style"); + sp_repr_css_set(repr, css, "style"); + sp_repr_css_attr_unref(css); } if (css_current) { sp_repr_css_attr_unref(css_current); @@ -368,21 +361,19 @@ double sp_desktop_get_font_size_tool(SPDesktop *desktop) { (void)desktop; // TODO cleanup - gchar const *desktop_style = inkscape_get_repr(INKSCAPE, "desktop")->attribute("style"); - gchar const *style_str = NULL; - if ((prefs_get_int_attribute("tools.text", "usecurrent", 0) != 0) && desktop_style) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + Glib::ustring desktop_style = prefs->getString("/desktop/style"); + Glib::ustring style_str; + if ((prefs->getBool("/tools/text/usecurrent")) && !desktop_style.empty()) { style_str = desktop_style; } else { - Inkscape::XML::Node *tool_repr = inkscape_get_repr(INKSCAPE, "tools.text"); - if (tool_repr) { - style_str = tool_repr->attribute("style"); - } + style_str = prefs->getString("/tools/text/style"); } double ret = 12; - if (style_str) { + if (!style_str.empty()) { SPStyle *style = sp_style_new(SP_ACTIVE_DOCUMENT); - sp_style_merge_from_style_string(style, style_str); + sp_style_merge_from_style_string(style, style_str.data()); ret = style->font_size.computed; sp_style_unref(style); } diff --git a/src/desktop-style.h b/src/desktop-style.h index 57d8e0ae1..40461da72 100644 --- a/src/desktop-style.h +++ b/src/desktop-style.h @@ -25,6 +25,7 @@ namespace XML { struct Node; } } +namespace Glib { class ustring; } enum { // what kind of a style the query is returning QUERY_STYLE_NOTHING, // nothing was queried - e.g. no selection @@ -57,11 +58,11 @@ void sp_desktop_set_color(SPDesktop *desktop, ColorRGBA const &color, bool is_re void sp_desktop_set_style(SPDesktop *desktop, SPCSSAttr *css, bool change = true, bool write_current = true); SPCSSAttr *sp_desktop_get_style(SPDesktop *desktop, bool with_text); guint32 sp_desktop_get_color (SPDesktop *desktop, bool is_fill); -double sp_desktop_get_master_opacity_tool(SPDesktop *desktop, char const *tool, bool* has_opacity = NULL); -double sp_desktop_get_opacity_tool(SPDesktop *desktop, char const *tool, bool is_fill); -guint32 sp_desktop_get_color_tool(SPDesktop *desktop, char const *tool, bool is_fill, bool* has_color = NULL); +double sp_desktop_get_master_opacity_tool(SPDesktop *desktop, Glib::ustring const &tool, bool* has_opacity = NULL); +double sp_desktop_get_opacity_tool(SPDesktop *desktop, Glib::ustring const &tool, bool is_fill); +guint32 sp_desktop_get_color_tool(SPDesktop *desktop, Glib::ustring const &tool, bool is_fill, bool* has_color = NULL); double sp_desktop_get_font_size_tool (SPDesktop *desktop); -void sp_desktop_apply_style_tool(SPDesktop *desktop, Inkscape::XML::Node *repr, char const *tool, bool with_text); +void sp_desktop_apply_style_tool(SPDesktop *desktop, Inkscape::XML::Node *repr, Glib::ustring const &tool, bool with_text); gdouble stroke_average_width (GSList const *objects); diff --git a/src/desktop.cpp b/src/desktop.cpp index eb4a50410..1ee24f9c6 100644 --- a/src/desktop.cpp +++ b/src/desktop.cpp @@ -70,7 +70,7 @@ #include "sp-namedview.h" #include "color.h" #include "sp-item-group.h" -#include "prefs-utils.h" +#include "preferences.h" #include "object-hierarchy.h" #include "helper/units.h" #include "display/canvas-arena.h" @@ -133,7 +133,7 @@ SPDesktop::SPDesktop() : page( 0 ), page_border( 0 ), current( 0 ), - _focusMode(false), + _focusMode(false), zooms_past( 0 ), zooms_future( 0 ), dkey( 0 ), @@ -156,7 +156,7 @@ SPDesktop::SPDesktop() : _active( false ), _w2d(), _d2w(), - _doc2dt( NR::Matrix(Geom::Scale(1, -1)) ), + _doc2dt( Geom::Scale(1, -1) ), grids_visible( false ) { _d2w.setIdentity(); @@ -170,10 +170,11 @@ SPDesktop::init (SPNamedView *nv, SPCanvas *aCanvas) { // Temporary workaround for link order issues: Inkscape::DeviceManager::getManager().getDevices(); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); _guides_message_context = new Inkscape::MessageContext(const_cast(messageStack())); - current = sp_repr_css_attr_inherited (inkscape_get_repr (INKSCAPE, "desktop"), "style"); + current = prefs->getStyle("/desktop/style"); namedview = nv; canvas = aCanvas; @@ -216,9 +217,9 @@ SPDesktop::init (SPNamedView *nv, SPCanvas *aCanvas) drawing = sp_canvas_item_new (main, SP_TYPE_CANVAS_ARENA, NULL); g_signal_connect (G_OBJECT (drawing), "arena_event", G_CALLBACK (_arena_handler), this); - SP_CANVAS_ARENA (drawing)->arena->delta = prefs_get_double_attribute ("options.cursortolerance", "value", 1.0); // default is 1 px + SP_CANVAS_ARENA (drawing)->arena->delta = prefs->getDouble("/options/cursortolerance/value", 1.0); // default is 1 px - if (prefs_get_int_attribute("options.startmode", "outline", 0)) { + if (prefs->getBool("/options/startmode/outline")) { // Start in outline mode setDisplayModeOutline(); } else { @@ -238,7 +239,7 @@ SPDesktop::init (SPNamedView *nv, SPCanvas *aCanvas) * call "set" instead of "push". Can we assume that there is only one * context ever? */ - push_event_context (SP_TYPE_SELECT_CONTEXT, "tools.select", SP_EVENT_CONTEXT_STATIC); + push_event_context (SP_TYPE_SELECT_CONTEXT, "/tools/select", SP_EVENT_CONTEXT_STATIC); // display rect and zoom are now handled in sp_desktop_widget_realize() @@ -613,8 +614,7 @@ SPDesktop::set_event_context (GtkType type, const gchar *config) g_object_unref (G_OBJECT (ec)); } - Inkscape::XML::Node *repr = (config) ? inkscape_get_repr (_inkscape, config) : NULL; - ec = sp_event_context_new (type, this, repr, SP_EVENT_CONTEXT_STATIC); + ec = sp_event_context_new (type, this, config, SP_EVENT_CONTEXT_STATIC); ec->next = event_context; event_context = ec; sp_event_context_activate (ec); @@ -628,7 +628,6 @@ void SPDesktop::push_event_context (GtkType type, const gchar *config, unsigned int key) { SPEventContext *ref, *ec; - Inkscape::XML::Node *repr; if (event_context && event_context->key == key) return; ref = event_context; @@ -641,8 +640,7 @@ SPDesktop::push_event_context (GtkType type, const gchar *config, unsigned int k } if (event_context) sp_event_context_deactivate (event_context); - repr = (config) ? inkscape_get_repr (INKSCAPE, config) : NULL; - ec = sp_event_context_new (type, this, repr, key); + ec = sp_event_context_new (type, this, config, key); ec->next = event_context; event_context = ec; sp_event_context_activate (ec); @@ -723,10 +721,10 @@ SPDesktop::push_current_zoom (GList **history) Geom::Rect const area = get_display_area(); NRRect *old_zoom = g_new(NRRect, 1); - old_zoom->x0 = area.min()[NR::X]; - old_zoom->x1 = area.max()[NR::X]; - old_zoom->y0 = area.min()[NR::Y]; - old_zoom->y1 = area.max()[NR::Y]; + old_zoom->x0 = area.min()[Geom::X]; + old_zoom->x1 = area.max()[Geom::X]; + old_zoom->y0 = area.min()[Geom::Y]; + old_zoom->y1 = area.max()[Geom::Y]; if ( *history == NULL || !( ( ((NRRect *) ((*history)->data))->x0 == old_zoom->x0 ) && ( ((NRRect *) ((*history)->data))->x1 == old_zoom->x1 ) && @@ -773,15 +771,15 @@ SPDesktop::set_display_area (double x0, double y0, double x1, double y1, double int clear = FALSE; if (!NR_DF_TEST_CLOSE (newscale, scale, 1e-4 * scale)) { /* Set zoom factors */ - _d2w = NR::Matrix(Geom::Scale(newscale, -newscale)); - _w2d = NR::Matrix(Geom::Scale(1/newscale, 1/-newscale)); + _d2w = Geom::Scale(newscale, -newscale); + _w2d = Geom::Scale(1/newscale, 1/-newscale); sp_canvas_item_affine_absolute(SP_CANVAS_ITEM(main), _d2w); clear = TRUE; } /* Calculate top left corner (in document pixels) */ - x0 = cx - 0.5 * viewbox.dimensions()[NR::X] / newscale; - y1 = cy + 0.5 * viewbox.dimensions()[NR::Y] / newscale; + x0 = cx - 0.5 * viewbox.dimensions()[Geom::X] / newscale; + y1 = cy + 0.5 * viewbox.dimensions()[Geom::Y] / newscale; /* Scroll */ sp_canvas_scroll_to (canvas, x0 * newscale - border, y1 * -newscale - border, clear); @@ -868,94 +866,94 @@ SPDesktop::next_zoom() #include "nodepath.h" /** \brief Performs a quick zoom into what the user is working on - \param enable Whether we're going in or out of quick zoom + \param enable Whether we're going in or out of quick zoom */ void SPDesktop::zoom_quick (bool enable) { - if (enable == _quick_zoom_enabled) { - return; - } - - if (enable == true) { - _quick_zoom_stored_area = get_display_area(); - bool zoomed = false; - - if (!zoomed) { - SPItem * singleItem = selection->singleItem(); - if (singleItem != NULL && tools_isactive(this, TOOLS_NODES)) { - SPNodeContext * ncontext = SP_NODE_CONTEXT(event_context); - - Inkscape::NodePath::Path * nodepath = ncontext->shape_editor->get_nodepath(); - // printf("I've got a nodepath, crazy\n"); - - Geom::Rect nodes; - bool firstnode = true; - - if (nodepath->selected) { - for (GList *spl = nodepath->subpaths; spl != NULL; spl = spl->next) { - Inkscape::NodePath::SubPath *subpath = (Inkscape::NodePath::SubPath *) spl->data; - for (GList *nl = subpath->nodes; nl != NULL; nl = nl->next) { - Inkscape::NodePath::Node *node = (Inkscape::NodePath::Node *) nl->data; - if (node->selected) { - // printf("\tSelected node\n"); - if (firstnode) { - nodes = Geom::Rect(node->pos, node->pos); - firstnode = false; - } else { - nodes.expandTo(node->pos); - } - - if (node->p.other != NULL) { - /* Include previous node pos */ - nodes.expandTo(node->p.other->pos); - - /* Include previous handle */ - if (!sp_node_side_is_line(node, &node->p)) { - nodes.expandTo(node->p.pos); - } - } - - if (node->n.other != NULL) { - /* Include previous node pos */ - nodes.expandTo(node->n.other->pos); - - /* Include previous handle */ - if (!sp_node_side_is_line(node, &node->n)) { - nodes.expandTo(node->n.pos); - } - } - } - } - } - - if (!firstnode && nodes.area() * 2.0 < _quick_zoom_stored_area.area()) { - set_display_area(nodes, 10); - zoomed = true; - } - } - } - } - - if (!zoomed) { - boost::optional const d = selection->bounds(); - if (d && !d->isEmpty() && d->area() * 2.0 < _quick_zoom_stored_area.area()) { - set_display_area(*d, 10); - zoomed = true; - } - } - - if (!zoomed) { - zoom_relative(_quick_zoom_stored_area.midpoint()[NR::X], _quick_zoom_stored_area.midpoint()[NR::Y], 2.0); - zoomed = true; - } - } else { - set_display_area(_quick_zoom_stored_area, 0); - } - - _quick_zoom_enabled = enable; - return; + if (enable == _quick_zoom_enabled) { + return; + } + + if (enable == true) { + _quick_zoom_stored_area = get_display_area(); + bool zoomed = false; + + if (!zoomed) { + SPItem * singleItem = selection->singleItem(); + if (singleItem != NULL && tools_isactive(this, TOOLS_NODES)) { + SPNodeContext * ncontext = SP_NODE_CONTEXT(event_context); + + Inkscape::NodePath::Path * nodepath = ncontext->shape_editor->get_nodepath(); + // printf("I've got a nodepath, crazy\n"); + + Geom::Rect nodes; + bool firstnode = true; + + if (nodepath->selected) { + for (GList *spl = nodepath->subpaths; spl != NULL; spl = spl->next) { + Inkscape::NodePath::SubPath *subpath = (Inkscape::NodePath::SubPath *) spl->data; + for (GList *nl = subpath->nodes; nl != NULL; nl = nl->next) { + Inkscape::NodePath::Node *node = (Inkscape::NodePath::Node *) nl->data; + if (node->selected) { + // printf("\tSelected node\n"); + if (firstnode) { + nodes = Geom::Rect(node->pos, node->pos); + firstnode = false; + } else { + nodes.expandTo(node->pos); + } + + if (node->p.other != NULL) { + /* Include previous node pos */ + nodes.expandTo(node->p.other->pos); + + /* Include previous handle */ + if (!sp_node_side_is_line(node, &node->p)) { + nodes.expandTo(node->p.pos); + } + } + + if (node->n.other != NULL) { + /* Include previous node pos */ + nodes.expandTo(node->n.other->pos); + + /* Include previous handle */ + if (!sp_node_side_is_line(node, &node->n)) { + nodes.expandTo(node->n.pos); + } + } + } + } + } + + if (!firstnode && nodes.area() * 2.0 < _quick_zoom_stored_area.area()) { + set_display_area(nodes, 10); + zoomed = true; + } + } + } + } + + if (!zoomed) { + boost::optional const d = selection->bounds(); + if (d && !d->isEmpty() && d->area() * 2.0 < _quick_zoom_stored_area.area()) { + set_display_area(*d, 10); + zoomed = true; + } + } + + if (!zoomed) { + zoom_relative(_quick_zoom_stored_area.midpoint()[Geom::X], _quick_zoom_stored_area.midpoint()[Geom::Y], 2.0); + zoomed = true; + } + } else { + set_display_area(_quick_zoom_stored_area, 0); + } + + _quick_zoom_enabled = enable; + return; } /** @@ -974,8 +972,8 @@ SPDesktop::zoom_absolute_keep_point (double cx, double cy, double px, double py, Geom::Rect const viewbox = canvas->getViewbox(); - double const width2 = viewbox.dimensions()[NR::X] / zoom; - double const height2 = viewbox.dimensions()[NR::Y] / zoom; + double const width2 = viewbox.dimensions()[Geom::X] / zoom; + double const height2 = viewbox.dimensions()[Geom::Y] / zoom; set_display_area(cx - px * width2, cy - py * height2, @@ -1001,22 +999,22 @@ SPDesktop::zoom_relative_keep_point (double cx, double cy, double zoom) { Geom::Rect const area = get_display_area(); - if (cx < area.min()[NR::X]) { - cx = area.min()[NR::X]; + if (cx < area.min()[Geom::X]) { + cx = area.min()[Geom::X]; } - if (cx > area.max()[NR::X]) { - cx = area.max()[NR::X]; + if (cx > area.max()[Geom::X]) { + cx = area.max()[Geom::X]; } - if (cy < area.min()[NR::Y]) { - cy = area.min()[NR::Y]; + if (cy < area.min()[Geom::Y]) { + cy = area.min()[Geom::Y]; } - if (cy > area.max()[NR::Y]) { - cy = area.max()[NR::Y]; + if (cy > area.max()[Geom::Y]) { + cy = area.max()[Geom::Y]; } gdouble const scale = _d2w.descrim() * zoom; - double const px = (cx - area.min()[NR::X]) / area.dimensions()[NR::X]; - double const py = (cy - area.min()[NR::Y]) / area.dimensions()[NR::Y]; + double const px = (cx - area.min()[Geom::X]) / area.dimensions()[Geom::X]; + double const py = (cy - area.min()[Geom::Y]) / area.dimensions()[Geom::Y]; zoom_absolute_keep_point(cx, cy, px, py, scale); } @@ -1146,7 +1144,11 @@ SPDesktop::scroll_world (double dx, double dy, bool is_scrolling) bool SPDesktop::scroll_to_point (Geom::Point const &p, gdouble autoscrollspeed) { - gdouble autoscrolldistance = (gdouble) prefs_get_int_attribute_limited ("options.autoscrolldistance", "value", 0, -1000, 10000); + using Geom::X; + using Geom::Y; + + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + gdouble autoscrolldistance = (gdouble) prefs->getIntLimited("/options/autoscrolldistance/value", 0, -1000, 10000); // autoscrolldistance is in screen pixels, but the display area is in document units autoscrolldistance /= _d2w.descrim(); @@ -1154,33 +1156,33 @@ SPDesktop::scroll_to_point (Geom::Point const &p, gdouble autoscrollspeed) Geom::Rect dbox = get_display_area(); dbox.expandBy(-autoscrolldistance); - if (!(p[NR::X] > dbox.min()[NR::X] && p[NR::X] < dbox.max()[NR::X]) || - !(p[NR::Y] > dbox.min()[NR::Y] && p[NR::Y] < dbox.max()[NR::Y]) ) { + if (!(p[X] > dbox.min()[X] && p[X] < dbox.max()[X]) || + !(p[Y] > dbox.min()[Y] && p[Y] < dbox.max()[Y]) ) { Geom::Point const s_w( p * (Geom::Matrix)_d2w ); gdouble x_to; - if (p[NR::X] < dbox.min()[NR::X]) - x_to = dbox.min()[NR::X]; - else if (p[NR::X] > dbox.max()[NR::X]) - x_to = dbox.max()[NR::X]; + if (p[X] < dbox.min()[X]) + x_to = dbox.min()[X]; + else if (p[X] > dbox.max()[X]) + x_to = dbox.max()[X]; else - x_to = p[NR::X]; + x_to = p[X]; gdouble y_to; - if (p[NR::Y] < dbox.min()[NR::Y]) - y_to = dbox.min()[NR::Y]; - else if (p[NR::Y] > dbox.max()[NR::Y]) - y_to = dbox.max()[NR::Y]; + if (p[Y] < dbox.min()[Y]) + y_to = dbox.min()[Y]; + else if (p[Y] > dbox.max()[Y]) + y_to = dbox.max()[Y]; else - y_to = p[NR::Y]; + y_to = p[Y]; Geom::Point const d_dt(x_to, y_to); Geom::Point const d_w( d_dt * _d2w ); Geom::Point const moved_w( d_w - s_w ); if (autoscrollspeed == 0) - autoscrollspeed = prefs_get_double_attribute_limited ("options.autoscrollspeed", "value", 1, 0, 10); + autoscrollspeed = prefs->getDoubleLimited("/options/autoscrollspeed/value", 1, 0, 10); if (autoscrollspeed != 0) scroll_world (autoscrollspeed * moved_w); @@ -1228,29 +1230,29 @@ SPDesktop::fullscreen() /** \brief Checks to see if the user is working in focused mode - Returns the value of \c _focusMode + Returns the value of \c _focusMode */ bool SPDesktop::is_focusMode() { - return _focusMode; + return _focusMode; } /** \brief Changes whether the user is in focus mode or not - \param mode Which mode the view should be in + \param mode Which mode the view should be in */ void SPDesktop::focusMode (bool mode) { - if (mode == _focusMode) { return; } + if (mode == _focusMode) { return; } - _focusMode = mode; + _focusMode = mode; - layoutWidget(); - //sp_desktop_widget_layout(SPDesktopWidget); + layoutWidget(); + //sp_desktop_widget_layout(SPDesktopWidget); - return; + return; } void @@ -1344,7 +1346,7 @@ bool SPDesktop::onDeleteUI (GdkEventAny*) bool SPDesktop::onWindowStateEvent (GdkEventWindowState* event) { - // Record the desktop window's state + // Record the desktop window's state window_state = event->new_window_state; // Layout may differ depending on full-screen mode or not @@ -1353,7 +1355,7 @@ SPDesktop::onWindowStateEvent (GdkEventWindowState* event) layoutWidget(); } - return false; + return false; } void @@ -1383,8 +1385,8 @@ SPDesktop::isToolboxButtonActive (gchar const *id) void SPDesktop::emitToolSubselectionChanged(gpointer data) { - _tool_subselection_changed.emit(data); - inkscape_subselection_changed (this); + _tool_subselection_changed.emit(data); + inkscape_subselection_changed (this); } void @@ -1452,7 +1454,7 @@ void SPDesktop::showGrids(bool show, bool dirty_document) void SPDesktop::toggleSnapping() { - bool v = namedview->snap_manager.getSnapEnabledGlobally(); + bool v = namedview->snap_manager.snapprefs.getSnapEnabledGlobally(); Inkscape::XML::Node *repr = SP_OBJECT_REPR(namedview); sp_repr_set_boolean(repr, "inkscape:snap-global", !v); } @@ -1731,7 +1733,7 @@ _namedview_modified (SPObject *obj, guint flags, SPDesktop *desktop) int order = sp_canvas_item_order (desktop->page_border); int morder = sp_canvas_item_order (desktop->drawing); if (morder > order) sp_canvas_item_raise (desktop->page_border, - morder - order); + morder - order); } } else { sp_canvas_item_hide (desktop->page_border); @@ -1747,14 +1749,15 @@ _namedview_modified (SPObject *obj, guint flags, SPDesktop *desktop) ((CtrlRect *) desktop->page_border)->setShadow(0, 0x00000000); } + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); if (SP_RGBA32_A_U(nv->pagecolor) < 128 || (SP_RGBA32_R_U(nv->pagecolor) + SP_RGBA32_G_U(nv->pagecolor) + SP_RGBA32_B_U(nv->pagecolor)) >= 384) { // the background color is light or transparent, use black outline - SP_CANVAS_ARENA (desktop->drawing)->arena->outlinecolor = prefs_get_int_attribute("options.wireframecolors", "onlight", 0xff); + SP_CANVAS_ARENA (desktop->drawing)->arena->outlinecolor = prefs->getInt("/options/wireframecolors/onlight", 0xff); } else { // use white outline - SP_CANVAS_ARENA (desktop->drawing)->arena->outlinecolor = prefs_get_int_attribute("options.wireframecolors", "ondark", 0xffffffff); + SP_CANVAS_ARENA (desktop->drawing)->arena->outlinecolor = prefs->getInt("/options/wireframecolors/ondark", 0xffffffff); } } } diff --git a/src/desktop.h b/src/desktop.h index fa38e1b71..ce82f4ea6 100644 --- a/src/desktop.h +++ b/src/desktop.h @@ -118,7 +118,7 @@ struct SPDesktop : public Inkscape::UI::View::View GList *zooms_past; GList *zooms_future; bool _quick_zoom_enabled; ///< Signifies that currently we're in quick zoom mode - Geom::Rect _quick_zoom_stored_area; ///< The area of the screen before quick zoom + Geom::Rect _quick_zoom_stored_area; ///< The area of the screen before quick zoom unsigned int dkey; unsigned int number; guint window_state; diff --git a/src/dialogs/clonetiler.cpp b/src/dialogs/clonetiler.cpp index c27c2b666..ce0fc15df 100644 --- a/src/dialogs/clonetiler.cpp +++ b/src/dialogs/clonetiler.cpp @@ -68,7 +68,7 @@ static win_data wd; // impossible original values to make sure they are read from prefs static gint x = -1000, y = -1000, w = 0, h = 0; -static gchar const *prefs_path = "dialogs.clonetiler"; +static Glib::ustring const prefs_path = "/dialogs/clonetiler/"; #define SB_MARGIN 1 #define VB_MARGIN 4 @@ -125,10 +125,10 @@ clonetiler_dialog_delete (GtkObject */*object*/, GdkEvent * /*event*/, gpointer if (y<0) y=0; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setInt(prefs_path, "x", x); - prefs->setInt(prefs_path, "y", y); - prefs->setInt(prefs_path, "w", w); - prefs->setInt(prefs_path, "h", h); + prefs->setInt(prefs_path + "x", x); + prefs->setInt(prefs_path + "y", y); + prefs->setInt(prefs_path + "w", w); + prefs->setInt(prefs_path + "h", h); return FALSE; // which means, go ahead and destroy it @@ -151,7 +151,7 @@ on_picker_color_changed (guint rgba) gchar c[32]; sp_svg_write_color(c, sizeof(c), rgba); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setString(prefs_path, "initial_color", c); + prefs->setString(prefs_path + "initial_color", c); is_updating = false; } @@ -1134,89 +1134,87 @@ clonetiler_apply( GtkWidget */*widget*/, void * ) clonetiler_remove (NULL, NULL, false); - double shiftx_per_i = 0.01 * prefs->getDoubleLimited(prefs_path, "shiftx_per_i", 0, -10000, 10000); - double shifty_per_i = 0.01 * prefs->getDoubleLimited(prefs_path, "shifty_per_i", 0, -10000, 10000); - double shiftx_per_j = 0.01 * prefs->getDoubleLimited(prefs_path, "shiftx_per_j", 0, -10000, 10000); - double shifty_per_j = 0.01 * prefs->getDoubleLimited(prefs_path, "shifty_per_j", 0, -10000, 10000); - double shiftx_rand = 0.01 * prefs->getDoubleLimited(prefs_path, "shiftx_rand", 0, 0, 1000); - double shifty_rand = 0.01 * prefs->getDoubleLimited(prefs_path, "shifty_rand", 0, 0, 1000); - double shiftx_exp = prefs->getDoubleLimited(prefs_path, "shiftx_exp", 1, 0, 10); - double shifty_exp = prefs->getDoubleLimited(prefs_path, "shifty_exp", 1, 0, 10); - bool shiftx_alternate = prefs->getBool(prefs_path, "shiftx_alternate"); - bool shifty_alternate = prefs->getBool(prefs_path, "shifty_alternate"); - bool shiftx_cumulate = prefs->getBool(prefs_path, "shiftx_cumulate"); - bool shifty_cumulate = prefs->getBool(prefs_path, "shifty_cumulate"); - bool shiftx_excludew = prefs->getBool(prefs_path, "shiftx_excludew"); - bool shifty_excludeh = prefs->getBool(prefs_path, "shifty_excludeh"); - - double scalex_per_i = 0.01 * prefs->getDoubleLimited(prefs_path, "scalex_per_i", 0, -100, 1000); - double scaley_per_i = 0.01 * prefs->getDoubleLimited(prefs_path, "scaley_per_i", 0, -100, 1000); - double scalex_per_j = 0.01 * prefs->getDoubleLimited(prefs_path, "scalex_per_j", 0, -100, 1000); - double scaley_per_j = 0.01 * prefs->getDoubleLimited(prefs_path, "scaley_per_j", 0, -100, 1000); - double scalex_rand = 0.01 * prefs->getDoubleLimited(prefs_path, "scalex_rand", 0, 0, 1000); - double scaley_rand = 0.01 * prefs->getDoubleLimited(prefs_path, "scaley_rand", 0, 0, 1000); - double scalex_exp = prefs->getDoubleLimited(prefs_path, "scalex_exp", 1, 0, 10); - double scaley_exp = prefs->getDoubleLimited(prefs_path, "scaley_exp", 1, 0, 10); - double scalex_log = prefs->getDoubleLimited(prefs_path, "scalex_log", 0, 0, 10); - double scaley_log = prefs->getDoubleLimited(prefs_path, "scaley_log", 0, 0, 10); - bool scalex_alternate = prefs->getBool(prefs_path, "scalex_alternate"); - bool scaley_alternate = prefs->getBool(prefs_path, "scaley_alternate"); - bool scalex_cumulate = prefs->getBool(prefs_path, "scalex_cumulate"); - bool scaley_cumulate = prefs->getBool(prefs_path, "scaley_cumulate"); - - double rotate_per_i = prefs->getDoubleLimited(prefs_path, "rotate_per_i", 0, -180, 180); - double rotate_per_j = prefs->getDoubleLimited(prefs_path, "rotate_per_j", 0, -180, 180); - double rotate_rand = 0.01 * prefs->getDoubleLimited(prefs_path, "rotate_rand", 0, 0, 100); - bool rotate_alternatei = prefs->getBool(prefs_path, "rotate_alternatei"); - bool rotate_alternatej = prefs->getBool(prefs_path, "rotate_alternatej"); - bool rotate_cumulatei = prefs->getBool(prefs_path, "rotate_cumulatei"); - bool rotate_cumulatej = prefs->getBool(prefs_path, "rotate_cumulatej"); - - double blur_per_i = 0.01 * prefs->getDoubleLimited(prefs_path, "blur_per_i", 0, 0, 100); - double blur_per_j = 0.01 * prefs->getDoubleLimited(prefs_path, "blur_per_j", 0, 0, 100); - bool blur_alternatei = prefs->getBool(prefs_path, "blur_alternatei"); - bool blur_alternatej = prefs->getBool(prefs_path, "blur_alternatej"); - double blur_rand = 0.01 * prefs->getDoubleLimited(prefs_path, "blur_rand", 0, 0, 100); - - double opacity_per_i = 0.01 * prefs->getDoubleLimited(prefs_path, "opacity_per_i", 0, 0, 100); - double opacity_per_j = 0.01 * prefs->getDoubleLimited(prefs_path, "opacity_per_j", 0, 0, 100); - bool opacity_alternatei = prefs->getBool(prefs_path, "opacity_alternatei"); - bool opacity_alternatej = prefs->getBool(prefs_path, "opacity_alternatej"); - double opacity_rand = 0.01 * prefs->getDoubleLimited(prefs_path, "opacity_rand", 0, 0, 100); - - Glib::ustring initial_color = prefs->getString(prefs_path, "initial_color"); - double hue_per_j = 0.01 * prefs->getDoubleLimited(prefs_path, "hue_per_j", 0, -100, 100); - double hue_per_i = 0.01 * prefs->getDoubleLimited(prefs_path, "hue_per_i", 0, -100, 100); - double hue_rand = 0.01 * prefs->getDoubleLimited(prefs_path, "hue_rand", 0, 0, 100); - double saturation_per_j = 0.01 * prefs->getDoubleLimited(prefs_path, "saturation_per_j", 0, -100, 100); - double saturation_per_i = 0.01 * prefs->getDoubleLimited(prefs_path, "saturation_per_i", 0, -100, 100); - double saturation_rand = 0.01 * prefs->getDoubleLimited(prefs_path, "saturation_rand", 0, 0, 100); - double lightness_per_j = 0.01 * prefs->getDoubleLimited(prefs_path, "lightness_per_j", 0, -100, 100); - double lightness_per_i = 0.01 * prefs->getDoubleLimited(prefs_path, "lightness_per_i", 0, -100, 100); - double lightness_rand = 0.01 * prefs->getDoubleLimited(prefs_path, "lightness_rand", 0, 0, 100); - bool color_alternatej = prefs->getBool(prefs_path, "color_alternatej"); - bool color_alternatei = prefs->getBool(prefs_path, "color_alternatei"); - - int type = prefs->getInt(prefs_path, "symmetrygroup", 0); - - bool keepbbox = prefs->getBool(prefs_path, "keepbbox", true); - - int imax = prefs->getInt(prefs_path, "imax", 2); - int jmax = prefs->getInt(prefs_path, "jmax", 2); - - bool fillrect = prefs->getBool(prefs_path, "fillrect"); - double fillwidth = prefs->getDoubleLimited(prefs_path, "fillwidth", 50, 0, 1e6); - double fillheight = prefs->getDoubleLimited(prefs_path, "fillheight", 50, 0, 1e6); - - bool dotrace = prefs->getBool(prefs_path, "dotrace"); - int pick = prefs->getInt(prefs_path, "pick"); - bool pick_to_presence = prefs->getBool(prefs_path, "pick_to_presence"); - bool pick_to_size = prefs->getBool(prefs_path, "pick_to_size"); - bool pick_to_color = prefs->getBool(prefs_path, "pick_to_color"); - bool pick_to_opacity = prefs->getBool(prefs_path, "pick_to_opacity"); - double rand_picked = 0.01 * prefs->getDoubleLimited(prefs_path, "rand_picked", 0, 0, 100); - bool invert_picked = prefs->getBool(prefs_path, "invert_picked"); - double gamma_picked = prefs->getDoubleLimited(prefs_path, "gamma_picked", 0, -10, 10); + double shiftx_per_i = 0.01 * prefs->getDoubleLimited(prefs_path + "shiftx_per_i", 0, -10000, 10000); + double shifty_per_i = 0.01 * prefs->getDoubleLimited(prefs_path + "shifty_per_i", 0, -10000, 10000); + double shiftx_per_j = 0.01 * prefs->getDoubleLimited(prefs_path + "shiftx_per_j", 0, -10000, 10000); + double shifty_per_j = 0.01 * prefs->getDoubleLimited(prefs_path + "shifty_per_j", 0, -10000, 10000); + double shiftx_rand = 0.01 * prefs->getDoubleLimited(prefs_path + "shiftx_rand", 0, 0, 1000); + double shifty_rand = 0.01 * prefs->getDoubleLimited(prefs_path + "shifty_rand", 0, 0, 1000); + double shiftx_exp = prefs->getDoubleLimited(prefs_path + "shiftx_exp", 1, 0, 10); + double shifty_exp = prefs->getDoubleLimited(prefs_path + "shifty_exp", 1, 0, 10); + bool shiftx_alternate = prefs->getBool(prefs_path + "shiftx_alternate"); + bool shifty_alternate = prefs->getBool(prefs_path + "shifty_alternate"); + bool shiftx_cumulate = prefs->getBool(prefs_path + "shiftx_cumulate"); + bool shifty_cumulate = prefs->getBool(prefs_path + "shifty_cumulate"); + bool shiftx_excludew = prefs->getBool(prefs_path + "shiftx_excludew"); + bool shifty_excludeh = prefs->getBool(prefs_path + "shifty_excludeh"); + + double scalex_per_i = 0.01 * prefs->getDoubleLimited(prefs_path + "scalex_per_i", 0, -100, 1000); + double scaley_per_i = 0.01 * prefs->getDoubleLimited(prefs_path + "scaley_per_i", 0, -100, 1000); + double scalex_per_j = 0.01 * prefs->getDoubleLimited(prefs_path + "scalex_per_j", 0, -100, 1000); + double scaley_per_j = 0.01 * prefs->getDoubleLimited(prefs_path + "scaley_per_j", 0, -100, 1000); + double scalex_rand = 0.01 * prefs->getDoubleLimited(prefs_path + "scalex_rand", 0, 0, 1000); + double scaley_rand = 0.01 * prefs->getDoubleLimited(prefs_path + "scaley_rand", 0, 0, 1000); + double scalex_exp = prefs->getDoubleLimited(prefs_path + "scalex_exp", 1, 0, 10); + double scaley_exp = prefs->getDoubleLimited(prefs_path + "scaley_exp", 1, 0, 10); + double scalex_log = prefs->getDoubleLimited(prefs_path + "scalex_log", 0, 0, 10); + double scaley_log = prefs->getDoubleLimited(prefs_path + "scaley_log", 0, 0, 10); + bool scalex_alternate = prefs->getBool(prefs_path + "scalex_alternate"); + bool scaley_alternate = prefs->getBool(prefs_path + "scaley_alternate"); + bool scalex_cumulate = prefs->getBool(prefs_path + "scalex_cumulate"); + bool scaley_cumulate = prefs->getBool(prefs_path + "scaley_cumulate"); + + double rotate_per_i = prefs->getDoubleLimited(prefs_path + "rotate_per_i", 0, -180, 180); + double rotate_per_j = prefs->getDoubleLimited(prefs_path + "rotate_per_j", 0, -180, 180); + double rotate_rand = 0.01 * prefs->getDoubleLimited(prefs_path + "rotate_rand", 0, 0, 100); + bool rotate_alternatei = prefs->getBool(prefs_path + "rotate_alternatei"); + bool rotate_alternatej = prefs->getBool(prefs_path + "rotate_alternatej"); + bool rotate_cumulatei = prefs->getBool(prefs_path + "rotate_cumulatei"); + bool rotate_cumulatej = prefs->getBool(prefs_path + "rotate_cumulatej"); + + double blur_per_i = 0.01 * prefs->getDoubleLimited(prefs_path + "blur_per_i", 0, 0, 100); + double blur_per_j = 0.01 * prefs->getDoubleLimited(prefs_path + "blur_per_j", 0, 0, 100); + bool blur_alternatei = prefs->getBool(prefs_path + "blur_alternatei"); + bool blur_alternatej = prefs->getBool(prefs_path + "blur_alternatej"); + double blur_rand = 0.01 * prefs->getDoubleLimited(prefs_path + "blur_rand", 0, 0, 100); + + double opacity_per_i = 0.01 * prefs->getDoubleLimited(prefs_path + "opacity_per_i", 0, 0, 100); + double opacity_per_j = 0.01 * prefs->getDoubleLimited(prefs_path + "opacity_per_j", 0, 0, 100); + bool opacity_alternatei = prefs->getBool(prefs_path + "opacity_alternatei"); + bool opacity_alternatej = prefs->getBool(prefs_path + "opacity_alternatej"); + double opacity_rand = 0.01 * prefs->getDoubleLimited(prefs_path + "opacity_rand", 0, 0, 100); + + Glib::ustring initial_color = prefs->getString(prefs_path + "initial_color"); + double hue_per_j = 0.01 * prefs->getDoubleLimited(prefs_path + "hue_per_j", 0, -100, 100); + double hue_per_i = 0.01 * prefs->getDoubleLimited(prefs_path + "hue_per_i", 0, -100, 100); + double hue_rand = 0.01 * prefs->getDoubleLimited(prefs_path + "hue_rand", 0, 0, 100); + double saturation_per_j = 0.01 * prefs->getDoubleLimited(prefs_path + "saturation_per_j", 0, -100, 100); + double saturation_per_i = 0.01 * prefs->getDoubleLimited(prefs_path + "saturation_per_i", 0, -100, 100); + double saturation_rand = 0.01 * prefs->getDoubleLimited(prefs_path + "saturation_rand", 0, 0, 100); + double lightness_per_j = 0.01 * prefs->getDoubleLimited(prefs_path + "lightness_per_j", 0, -100, 100); + double lightness_per_i = 0.01 * prefs->getDoubleLimited(prefs_path + "lightness_per_i", 0, -100, 100); + double lightness_rand = 0.01 * prefs->getDoubleLimited(prefs_path + "lightness_rand", 0, 0, 100); + bool color_alternatej = prefs->getBool(prefs_path + "color_alternatej"); + bool color_alternatei = prefs->getBool(prefs_path + "color_alternatei"); + + int type = prefs->getInt(prefs_path + "symmetrygroup", 0); + bool keepbbox = prefs->getBool(prefs_path + "keepbbox", true); + int imax = prefs->getInt(prefs_path + "imax", 2); + int jmax = prefs->getInt(prefs_path + "jmax", 2); + + bool fillrect = prefs->getBool(prefs_path + "fillrect"); + double fillwidth = prefs->getDoubleLimited(prefs_path + "fillwidth", 50, 0, 1e6); + double fillheight = prefs->getDoubleLimited(prefs_path + "fillheight", 50, 0, 1e6); + + bool dotrace = prefs->getBool(prefs_path + "dotrace"); + int pick = prefs->getInt(prefs_path + "pick"); + bool pick_to_presence = prefs->getBool(prefs_path + "pick_to_presence"); + bool pick_to_size = prefs->getBool(prefs_path + "pick_to_size"); + bool pick_to_color = prefs->getBool(prefs_path + "pick_to_color"); + bool pick_to_opacity = prefs->getBool(prefs_path + "pick_to_opacity"); + double rand_picked = 0.01 * prefs->getDoubleLimited(prefs_path + "rand_picked", 0, 0, 100); + bool invert_picked = prefs->getBool(prefs_path + "invert_picked"); + double gamma_picked = prefs->getDoubleLimited(prefs_path + "gamma_picked", 0, -10, 10); if (dotrace) { clonetiler_trace_setup (sp_desktop_document(desktop), 1.0, SP_ITEM (obj)); @@ -1245,7 +1243,7 @@ clonetiler_apply( GtkWidget */*widget*/, void * ) x0 = sp_repr_get_double_attribute (obj_repr, "inkscape:tile-x0", 0); y0 = sp_repr_get_double_attribute (obj_repr, "inkscape:tile-y0", 0); } else { - bool prefs_bbox = prefs->getBool("tools", "bounding_box", false); + bool prefs_bbox = prefs->getBool("/tools/bounding_box", false); SPItem::BBoxType bbox_type = ( prefs_bbox ? SPItem::APPROXIMATE_BBOX : SPItem::GEOMETRIC_BBOX ); boost::optional r = SP_ITEM(obj)->getBounds(sp_item_i2doc_affine(SP_ITEM(obj)), @@ -1546,7 +1544,7 @@ clonetiler_checkbox_toggled (GtkToggleButton *tb, gpointer *data) { const gchar *attr = (const gchar *) data; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setBool(prefs_path, attr, gtk_toggle_button_get_active(tb)); + prefs->setBool(prefs_path + attr, gtk_toggle_button_get_active(tb)); } static GtkWidget * @@ -1558,7 +1556,7 @@ clonetiler_checkbox (GtkTooltips *tt, const char *tip, const char *attr) gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), b, tip, NULL); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - bool value = prefs->getBool(prefs_path, attr); + bool value = prefs->getBool(prefs_path + attr); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(b), value); gtk_box_pack_end (GTK_BOX (hb), b, FALSE, TRUE, 0); @@ -1576,7 +1574,7 @@ clonetiler_value_changed (GtkAdjustment *adj, gpointer data) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); const gchar *pref = (const gchar *) data; - prefs->setDouble(prefs_path, pref, adj->value); + prefs->setDouble(prefs_path + pref, adj->value); } static GtkWidget * @@ -1602,7 +1600,7 @@ clonetiler_spinbox (GtkTooltips *tt, const char *tip, const char *attr, double l gtk_box_pack_start (GTK_BOX (hb), sb, FALSE, FALSE, SB_MARGIN); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - double value = prefs->getDoubleLimited(prefs_path, attr, exponent? 1.0 : 0.0, lower, upper); + double value = prefs->getDoubleLimited(prefs_path + attr, exponent? 1.0 : 0.0, lower, upper); gtk_adjustment_set_value (GTK_ADJUSTMENT (a), value); gtk_signal_connect(GTK_OBJECT(a), "value_changed", GTK_SIGNAL_FUNC(clonetiler_value_changed), (gpointer) attr); @@ -1628,7 +1626,7 @@ clonetiler_symgroup_changed( GtkMenuItem */*item*/, gpointer data ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); gint group_new = GPOINTER_TO_INT (data); - prefs->setInt(prefs_path, "symmetrygroup", group_new); + prefs->setInt(prefs_path + "symmetrygroup", group_new); } static void @@ -1636,14 +1634,14 @@ clonetiler_xy_changed (GtkAdjustment *adj, gpointer data) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); const gchar *pref = (const gchar *) data; - prefs->setInt(prefs_path, pref, (int) floor(adj->value + 0.5)); + prefs->setInt(prefs_path + pref, (int) floor(adj->value + 0.5)); } static void clonetiler_keep_bbox_toggled( GtkToggleButton *tb, gpointer /*data*/ ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setBool(prefs_path, "keepbbox", gtk_toggle_button_get_active(tb)); + prefs->setBool(prefs_path + "keepbbox", gtk_toggle_button_get_active(tb)); } static void @@ -1651,7 +1649,7 @@ clonetiler_pick_to (GtkToggleButton *tb, gpointer data) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); const gchar *pref = (const gchar *) data; - prefs->setBool(prefs_path, pref, gtk_toggle_button_get_active(tb)); + prefs->setBool(prefs_path + pref, gtk_toggle_button_get_active(tb)); } @@ -1752,7 +1750,7 @@ clonetiler_pick_switched( GtkToggleButton */*tb*/, gpointer data ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); guint v = GPOINTER_TO_INT (data); - prefs->setInt(prefs_path, "pick", v); + prefs->setInt(prefs_path + "pick", v); } @@ -1770,7 +1768,7 @@ clonetiler_switch_to_create( GtkToggleButton */*tb*/, GtkWidget *dlg ) } Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setBool(prefs_path, "fillrect", false); + prefs->setBool(prefs_path + "fillrect", false); } @@ -1788,7 +1786,7 @@ clonetiler_switch_to_fill( GtkToggleButton */*tb*/, GtkWidget *dlg ) } Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setBool(prefs_path, "fillrect", true); + prefs->setBool(prefs_path + "fillrect", true); } @@ -1802,7 +1800,7 @@ clonetiler_fill_width_changed (GtkAdjustment *adj, GtkWidget *u) gdouble const pixels = sp_units_get_pixels (raw_dist, unit); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble(prefs_path, "fillwidth", pixels); + prefs->setDouble(prefs_path + "fillwidth", pixels); } static void @@ -1813,7 +1811,7 @@ clonetiler_fill_height_changed (GtkAdjustment *adj, GtkWidget *u) gdouble const pixels = sp_units_get_pixels (raw_dist, unit); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble(prefs_path, "fillheight", pixels); + prefs->setDouble(prefs_path + "fillheight", pixels); } @@ -1823,7 +1821,7 @@ clonetiler_do_pick_toggled( GtkToggleButton *tb, gpointer /*data*/ ) GtkWidget *vvb = (GtkWidget *) g_object_get_data (G_OBJECT(dlg), "dotrace"); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setBool(prefs_path, "dotrace", gtk_toggle_button_get_active (tb)); + prefs->setBool(prefs_path + "dotrace", gtk_toggle_button_get_active (tb)); if (vvb) gtk_widget_set_sensitive (vvb, gtk_toggle_button_get_active (tb)); @@ -1843,13 +1841,13 @@ clonetiler_dialog (void) dlg = sp_window_new (title, TRUE); if (x == -1000 || y == -1000) { - x = prefs->getInt(prefs_path, "x", -1000); - y = prefs->getInt(prefs_path, "y", -1000); + x = prefs->getInt(prefs_path + "x", -1000); + y = prefs->getInt(prefs_path + "y", -1000); } if (w ==0 || h == 0) { - w = prefs->getInt(prefs_path, "w", 0); - h = prefs->getInt(prefs_path, "h", 0); + w = prefs->getInt(prefs_path + "w", 0); + h = prefs->getInt(prefs_path + "h", 0); } // if (x<0) x=0; @@ -1913,7 +1911,7 @@ clonetiler_dialog (void) gtk_box_pack_start (GTK_BOX (vb), om, FALSE, FALSE, SB_MARGIN); GtkWidget *m = gtk_menu_new (); - int current = prefs->getInt(prefs_path, "symmetrygroup", 0); + int current = prefs->getInt(prefs_path + "symmetrygroup", 0); struct SymGroups { int group; @@ -2461,7 +2459,7 @@ clonetiler_dialog (void) GtkWidget *l = gtk_label_new (_("Initial color: ")); gtk_box_pack_start (GTK_BOX (hb), l, FALSE, FALSE, 0); - guint32 rgba = 0x000000ff | sp_svg_read_color (prefs->getString(prefs_path, "initial_color").data(), 0x000000ff); + guint32 rgba = 0x000000ff | sp_svg_read_color (prefs->getString(prefs_path + "initial_color").data(), 0x000000ff); color_picker = new Inkscape::UI::Widget::ColorPicker (*new Glib::ustring(_("Initial color of tiled clones")), *new Glib::ustring(_("Initial color for clones (works only if the original has unset fill or stroke)")), rgba, false); _color_changed_connection = color_picker->connectChanged (sigc::ptr_fun(on_picker_color_changed)); @@ -2593,7 +2591,7 @@ clonetiler_dialog (void) GtkWidget *b = gtk_check_button_new_with_label (_("Trace the drawing under the tiles")); g_object_set_data (G_OBJECT(b), "uncheckable", GINT_TO_POINTER(TRUE)); - bool old = prefs->getBool(prefs_path, "dotrace"); + bool old = prefs->getBool(prefs_path + "dotrace"); gtk_toggle_button_set_active ((GtkToggleButton *) b, old); gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), b, _("For each clone, pick a value from the drawing in that clone's location and apply it to the clone"), NULL); gtk_box_pack_start (GTK_BOX (hb), b, FALSE, FALSE, 0); @@ -2625,7 +2623,7 @@ clonetiler_dialog (void) clonetiler_table_attach (table, radio, 0.0, 1, 1); gtk_signal_connect (GTK_OBJECT (radio), "toggled", GTK_SIGNAL_FUNC (clonetiler_pick_switched), GINT_TO_POINTER(PICK_COLOR)); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path, "pick", 0) == PICK_COLOR); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path + "pick", 0) == PICK_COLOR); } { radio = gtk_radio_button_new_with_label (gtk_radio_button_group (GTK_RADIO_BUTTON (radio)), _("Opacity")); @@ -2633,7 +2631,7 @@ clonetiler_dialog (void) clonetiler_table_attach (table, radio, 0.0, 2, 1); gtk_signal_connect (GTK_OBJECT (radio), "toggled", GTK_SIGNAL_FUNC (clonetiler_pick_switched), GINT_TO_POINTER(PICK_OPACITY)); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path, "pick", 0) == PICK_OPACITY); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path + "pick", 0) == PICK_OPACITY); } { radio = gtk_radio_button_new_with_label (gtk_radio_button_group (GTK_RADIO_BUTTON (radio)), _("R")); @@ -2641,7 +2639,7 @@ clonetiler_dialog (void) clonetiler_table_attach (table, radio, 0.0, 1, 2); gtk_signal_connect (GTK_OBJECT (radio), "toggled", GTK_SIGNAL_FUNC (clonetiler_pick_switched), GINT_TO_POINTER(PICK_R)); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path, "pick", 0) == PICK_R); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path + "pick", 0) == PICK_R); } { radio = gtk_radio_button_new_with_label (gtk_radio_button_group (GTK_RADIO_BUTTON (radio)), _("G")); @@ -2649,7 +2647,7 @@ clonetiler_dialog (void) clonetiler_table_attach (table, radio, 0.0, 2, 2); gtk_signal_connect (GTK_OBJECT (radio), "toggled", GTK_SIGNAL_FUNC (clonetiler_pick_switched), GINT_TO_POINTER(PICK_G)); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path, "pick", 0) == PICK_G); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path + "pick", 0) == PICK_G); } { radio = gtk_radio_button_new_with_label (gtk_radio_button_group (GTK_RADIO_BUTTON (radio)), _("B")); @@ -2657,7 +2655,7 @@ clonetiler_dialog (void) clonetiler_table_attach (table, radio, 0.0, 3, 2); gtk_signal_connect (GTK_OBJECT (radio), "toggled", GTK_SIGNAL_FUNC (clonetiler_pick_switched), GINT_TO_POINTER(PICK_B)); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path, "pick", 0) == PICK_B); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path + "pick", 0) == PICK_B); } { //TRANSLATORS: only translate "string" in "context|string". @@ -2667,7 +2665,7 @@ clonetiler_dialog (void) clonetiler_table_attach (table, radio, 0.0, 1, 3); gtk_signal_connect (GTK_OBJECT (radio), "toggled", GTK_SIGNAL_FUNC (clonetiler_pick_switched), GINT_TO_POINTER(PICK_H)); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path, "pick", 0) == PICK_H); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path + "pick", 0) == PICK_H); } { //TRANSLATORS: only translate "string" in "context|string". @@ -2677,7 +2675,7 @@ clonetiler_dialog (void) clonetiler_table_attach (table, radio, 0.0, 2, 3); gtk_signal_connect (GTK_OBJECT (radio), "toggled", GTK_SIGNAL_FUNC (clonetiler_pick_switched), GINT_TO_POINTER(PICK_S)); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path, "pick", 0) == PICK_S); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path + "pick", 0) == PICK_S); } { //TRANSLATORS: only translate "string" in "context|string". @@ -2687,7 +2685,7 @@ clonetiler_dialog (void) clonetiler_table_attach (table, radio, 0.0, 3, 3); gtk_signal_connect (GTK_OBJECT (radio), "toggled", GTK_SIGNAL_FUNC (clonetiler_pick_switched), GINT_TO_POINTER(PICK_L)); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path, "pick", 0) == PICK_L); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), prefs->getInt(prefs_path + "pick", 0) == PICK_L); } } @@ -2748,7 +2746,7 @@ clonetiler_dialog (void) { GtkWidget *b = gtk_check_button_new_with_label (_("Presence")); - bool old = prefs->getBool(prefs_path, "pick_to_presence", true); + bool old = prefs->getBool(prefs_path + "pick_to_presence", true); gtk_toggle_button_set_active ((GtkToggleButton *) b, old); gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), b, _("Each clone is created with the probability determined by the picked value in that point"), NULL); clonetiler_table_attach (table, b, 0.0, 1, 1); @@ -2758,7 +2756,7 @@ clonetiler_dialog (void) { GtkWidget *b = gtk_check_button_new_with_label (_("Size")); - bool old = prefs->getBool(prefs_path, "pick_to_size"); + bool old = prefs->getBool(prefs_path + "pick_to_size"); gtk_toggle_button_set_active ((GtkToggleButton *) b, old); gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), b, _("Each clone's size is determined by the picked value in that point"), NULL); clonetiler_table_attach (table, b, 0.0, 2, 1); @@ -2768,7 +2766,7 @@ clonetiler_dialog (void) { GtkWidget *b = gtk_check_button_new_with_label (_("Color")); - bool old = prefs->getBool(prefs_path, "pick_to_color", 0); + bool old = prefs->getBool(prefs_path + "pick_to_color", 0); gtk_toggle_button_set_active ((GtkToggleButton *) b, old); gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), b, _("Each clone is painted by the picked color (the original must have unset fill or stroke)"), NULL); clonetiler_table_attach (table, b, 0.0, 1, 2); @@ -2778,7 +2776,7 @@ clonetiler_dialog (void) { GtkWidget *b = gtk_check_button_new_with_label (_("Opacity")); - bool old = prefs->getBool(prefs_path, "pick_to_opacity", 0); + bool old = prefs->getBool(prefs_path + "pick_to_opacity", 0); gtk_toggle_button_set_active ((GtkToggleButton *) b, old); gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), b, _("Each clone's opacity is determined by the picked value in that point"), NULL); clonetiler_table_attach (table, b, 0.0, 2, 2); @@ -2786,7 +2784,7 @@ clonetiler_dialog (void) GTK_SIGNAL_FUNC(clonetiler_pick_to), (gpointer) "pick_to_opacity"); } } - gtk_widget_set_sensitive (vvb, prefs->getBool(prefs_path, "dotrace")); + gtk_widget_set_sensitive (vvb, prefs->getBool(prefs_path + "dotrace")); } } @@ -2804,7 +2802,7 @@ clonetiler_dialog (void) { GtkObject *a = gtk_adjustment_new(0.0, 1, 500, 1, 10, 10); - int value = prefs->getInt(prefs_path, "jmax", 2); + int value = prefs->getInt(prefs_path + "jmax", 2); gtk_adjustment_set_value (GTK_ADJUSTMENT (a), value); GtkWidget *sb = gtk_spin_button_new (GTK_ADJUSTMENT (a), 1.0, 0); gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), sb, _("How many rows in the tiling"), NULL); @@ -2824,7 +2822,7 @@ clonetiler_dialog (void) { GtkObject *a = gtk_adjustment_new(0.0, 1, 500, 1, 10, 10); - int value = prefs->getInt(prefs_path, "imax", 2); + int value = prefs->getInt(prefs_path + "imax", 2); gtk_adjustment_set_value (GTK_ADJUSTMENT (a), value); GtkWidget *sb = gtk_spin_button_new (GTK_ADJUSTMENT (a), 1.0, 0); gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), sb, _("How many columns in the tiling"), NULL); @@ -2851,7 +2849,7 @@ clonetiler_dialog (void) GtkObject *a = gtk_adjustment_new (0.0, -1e6, 1e6, 1.0, 10.0, 10.0); sp_unit_selector_add_adjustment (SP_UNIT_SELECTOR (u), GTK_ADJUSTMENT (a)); - double value = prefs->getDouble(prefs_path, "fillwidth", 50.0); + double value = prefs->getDouble(prefs_path + "fillwidth", 50.0); SPUnit const &unit = *sp_unit_selector_get_unit(SP_UNIT_SELECTOR(u)); gdouble const units = sp_pixels_get_units (value, unit); gtk_adjustment_set_value (GTK_ADJUSTMENT (a), units); @@ -2875,7 +2873,7 @@ clonetiler_dialog (void) GtkObject *a = gtk_adjustment_new (0.0, -1e6, 1e6, 1.0, 10.0, 10.0); sp_unit_selector_add_adjustment (SP_UNIT_SELECTOR (u), GTK_ADJUSTMENT (a)); - double value = prefs->getDouble(prefs_path, "fillheight", 50.0); + double value = prefs->getDouble(prefs_path + "fillheight", 50.0); SPUnit const &unit = *sp_unit_selector_get_unit(SP_UNIT_SELECTOR(u)); gdouble const units = sp_pixels_get_units (value, unit); gtk_adjustment_set_value (GTK_ADJUSTMENT (a), units); @@ -2902,7 +2900,7 @@ clonetiler_dialog (void) clonetiler_table_attach (table, radio, 0.0, 1, 1); gtk_signal_connect (GTK_OBJECT (radio), "toggled", GTK_SIGNAL_FUNC (clonetiler_switch_to_create), (gpointer) dlg); } - if (!prefs->getBool(prefs_path, "fillrect")) { + if (!prefs->getBool(prefs_path + "fillrect")) { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), TRUE); gtk_toggle_button_toggled (GTK_TOGGLE_BUTTON (radio)); } @@ -2912,7 +2910,7 @@ clonetiler_dialog (void) clonetiler_table_attach (table, radio, 0.0, 2, 1); gtk_signal_connect (GTK_OBJECT (radio), "toggled", GTK_SIGNAL_FUNC (clonetiler_switch_to_fill), (gpointer) dlg); } - if (prefs->getBool(prefs_path, "fillrect")) { + if (prefs->getBool(prefs_path + "fillrect")) { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), TRUE); gtk_toggle_button_toggled (GTK_TOGGLE_BUTTON (radio)); } @@ -2925,7 +2923,7 @@ clonetiler_dialog (void) gtk_box_pack_start (GTK_BOX (mainbox), hb, FALSE, FALSE, 0); GtkWidget *b = gtk_check_button_new_with_label (_("Use saved size and position of the tile")); - bool keepbbox = prefs->getBool(prefs_path, "keepbbox", true); + bool keepbbox = prefs->getBool(prefs_path + "keepbbox", true); gtk_toggle_button_set_active ((GtkToggleButton *) b, keepbbox); gtk_tooltips_set_tip (GTK_TOOLTIPS (tt), b, _("Pretend that the size and position of the tile are the same as the last time you tiled it (if any), instead of using the current size"), NULL); gtk_box_pack_start (GTK_BOX (hb), b, FALSE, FALSE, 0); diff --git a/src/dialogs/dialog-events.cpp b/src/dialogs/dialog-events.cpp index dc9f4ac2a..b306e42d6 100644 --- a/src/dialogs/dialog-events.cpp +++ b/src/dialogs/dialog-events.cpp @@ -21,7 +21,7 @@ #include #include "desktop.h" #include "inkscape-private.h" -#include "prefs-utils.h" +#include "preferences.h" #include "event-context.h" #include "dialog-events.h" @@ -172,16 +172,17 @@ sp_dialog_event_handler (GtkWindow *win, GdkEvent *event, gpointer data) void sp_transientize (GtkWidget *dialog) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); #ifndef WIN32 // FIXME: Temporary Win32 special code to enable transient dialogs // _set_skip_taskbar_hint makes transient dialogs NON-transient! When dialogs // are made transient (_set_transient_for), they are already removed from // the taskbar in Win32. - if (prefs_get_int_attribute ( "options.dialogsskiptaskbar", "value", 0)) { + if (prefs->getBool( "/options/dialogsskiptaskbar/value")) { gtk_window_set_skip_taskbar_hint (GTK_WINDOW (dialog), TRUE); } #endif - gint transient_policy = prefs_get_int_attribute_limited ( "options.transientpolicy", "value", 1, 0, 2 ); + gint transient_policy = prefs->getIntLimited("/options/transientpolicy/value", 1, 0, 2); #ifdef WIN32 // Win32 special code to enable transient dialogs transient_policy = 2; @@ -207,7 +208,8 @@ void sp_transientize_callback ( Inkscape::Application * /*inkscape*/, SPDesktop *desktop, win_data *wd ) { - gint transient_policy = prefs_get_int_attribute_limited ( "options.transientpolicy", "value", 1, 0, 2); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + gint transient_policy = prefs->getIntLimited( "/options/transientpolicy/value", 1, 0, 2); #ifdef WIN32 // Win32 special code to enable transient dialogs transient_policy = 2; diff --git a/src/dialogs/export.cpp b/src/dialogs/export.cpp index 816a50754..dc337ef8e 100644 --- a/src/dialogs/export.cpp +++ b/src/dialogs/export.cpp @@ -114,7 +114,7 @@ static void sp_export_filename_modified (GtkObject * object, gpointer data); static inline void sp_export_find_default_selection(GtkWidget * dlg); static void sp_export_detect_size(GtkObject * base); -static const gchar *prefs_path = "dialogs.export"; +static Glib::ustring const prefs_path = "/dialogs/export/"; // these all need to be reinitialized to their defaults during dialog_destroy static GtkWidget *dlg = NULL; @@ -171,10 +171,10 @@ sp_export_dialog_delete ( GtkObject */*object*/, GdkEvent */*event*/, gpointer / if (y<0) y=0; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setInt(prefs_path, "x", x); - prefs->setInt(prefs_path, "y", y); - prefs->setInt(prefs_path, "w", w); - prefs->setInt(prefs_path, "h", h); + prefs->setInt(prefs_path + "x", x); + prefs->setInt(prefs_path + "y", y); + prefs->setInt(prefs_path + "w", w); + prefs->setInt(prefs_path + "h", h); return FALSE; // which means, go ahead and destroy it @@ -400,13 +400,13 @@ sp_export_dialog (void) dlg = sp_window_new (title, TRUE); if (x == -1000 || y == -1000) { - x = prefs->getInt(prefs_path, "x", 0); - y = prefs->getInt(prefs_path, "y", 0); + x = prefs->getInt(prefs_path + "x", 0); + y = prefs->getInt(prefs_path + "y", 0); } if (w ==0 || h == 0) { - w = prefs->getInt(prefs_path, "w", 0); - h = prefs->getInt(prefs_path, "h", 0); + w = prefs->getInt(prefs_path + "w", 0); + h = prefs->getInt(prefs_path + "h", 0); } // if (x<0) x=0; @@ -484,7 +484,7 @@ sp_export_dialog (void) dlg ); sp_export_spinbutton_new ( "xdpi", - prefs->getDouble("dialogs.export.defaultxdpi", "value", DPI_BASE), + prefs->getDouble("/dialogs/export/defaultxdpi/value", DPI_BASE), 0.01, 100000.0, 0.1, 1.0, NULL, GTK_WIDGET(t->gobj()), 3, 0, NULL, _("dp_i"), 2, 1, G_CALLBACK (sp_export_xdpi_value_changed), @@ -501,7 +501,7 @@ sp_export_dialog (void) * Needs fixing: there's no way to set ydpi currently, so we use * the defaultxdpi value here, too... */ - sp_export_spinbutton_new ( "ydpi", prefs->getDouble("dialogs.export.defaultxdpi", "value", DPI_BASE), + sp_export_spinbutton_new ( "ydpi", prefs->getDouble("/dialogs/export/defaultxdpi/value", DPI_BASE), 0.01, 100000.0, 0.1, 1.0, NULL, GTK_WIDGET(t->gobj()), 3, 1, NULL, _("dpi"), 2, 0, NULL, dlg ); @@ -703,7 +703,7 @@ sp_export_find_default_selection(GtkWidget * dlg) Inkscape::Preferences *prefs = Inkscape::Preferences::get(); int i = SELECTION_NUMBER_OF; - Glib::ustring what = prefs->getString("dialogs.export.exportarea", "value"); + Glib::ustring what = prefs->getString("/dialogs/export/exportarea/value"); if (!what.empty()) { for (i = 0; i < SELECTION_NUMBER_OF; i++) { @@ -881,7 +881,7 @@ sp_export_area_toggled (GtkToggleButton *tb, GtkObject *base) // remember area setting Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setString("dialogs.export.exportarea", "value", selection_names[key]); + prefs->setString("/dialogs/export/exportarea/value", selection_names[key]); if ( key != SELECTION_CUSTOM && bbox ) { sp_export_set_area (base, bbox->min()[Geom::X], @@ -1796,7 +1796,7 @@ sp_export_xdpi_value_changed (GtkAdjustment */*adj*/, GtkObject *base) // remember xdpi setting Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble("dialogs.export.defaultxdpi", "value", xdpi); + prefs->setDouble("/dialogs/export/defaultxdpi/value", xdpi); bmwidth = (x1 - x0) * xdpi / DPI_BASE; diff --git a/src/dialogs/fill-style.cpp b/src/dialogs/fill-style.cpp index ebf2d4bdd..e095425a9 100644 --- a/src/dialogs/fill-style.cpp +++ b/src/dialogs/fill-style.cpp @@ -21,21 +21,21 @@ #endif -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "widgets/sp-widget.h" +#include "sp-linear-gradient.h" +#include "sp-pattern.h" +#include "sp-radial-gradient.h" +#include "widgets/paint-selector.h" +#include "style.h" +#include "gradient-chemistry.h" +#include "desktop-style.h" +#include "desktop-handles.h" +#include "selection.h" +#include "inkscape.h" +#include "document-private.h" +#include "xml/repr.h" #include -#include +#include "display/sp-canvas.h" // These can be deleted once we sort out the libart dependence. diff --git a/src/dialogs/find.cpp b/src/dialogs/find.cpp index 6f9eca0d7..96a630553 100644 --- a/src/dialogs/find.cpp +++ b/src/dialogs/find.cpp @@ -44,7 +44,7 @@ sp_find_dialog(){ #include "desktop-handles.h" #include "dialog-events.h" -#include "../prefs-utils.h" +#include "../preferences.h" #include "../verbs.h" #include "../interface.h" #include "../sp-text.h" @@ -77,7 +77,7 @@ static win_data wd; // impossible original values to make sure they are read from prefs static gint x = -1000, y = -1000, w = 0, h = 0; -static gchar const *prefs_path = "dialogs.find"; +static Glib::ustring const prefs_path = "/dialogs/find/"; @@ -99,10 +99,11 @@ static gboolean sp_find_dialog_delete(GtkObject *, GdkEvent *, gpointer /*data*/ if (x<0) x=0; if (y<0) y=0; - prefs_set_int_attribute (prefs_path, "x", x); - prefs_set_int_attribute (prefs_path, "y", y); - prefs_set_int_attribute (prefs_path, "w", w); - prefs_set_int_attribute (prefs_path, "h", h); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setInt(prefs_path + "x", x); + prefs->setInt(prefs_path + "y", y); + prefs->setInt(prefs_path + "w", w); + prefs->setInt(prefs_path + "h", h); return FALSE; // which means, go ahead and destroy it } @@ -647,15 +648,16 @@ sp_find_dialog_old (void) { gchar title[500]; sp_ui_dialog_title_string (Inkscape::Verb::get(SP_VERB_DIALOG_FIND), title); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); dlg = sp_window_new (title, TRUE); if (x == -1000 || y == -1000) { - x = prefs_get_int_attribute (prefs_path, "x", -1000); - y = prefs_get_int_attribute (prefs_path, "y", -1000); + x = prefs->getInt(prefs_path + "x", -1000); + y = prefs->getInt(prefs_path + "y", -1000); } if (w ==0 || h == 0) { - w = prefs_get_int_attribute (prefs_path, "w", 0); - h = prefs_get_int_attribute (prefs_path, "h", 0); + w = prefs->getInt(prefs_path + "w", 0); + h = prefs->getInt(prefs_path + "h", 0); } // if (x<0) x=0; diff --git a/src/dialogs/iconpreview.cpp b/src/dialogs/iconpreview.cpp index c3d15d830..f31914e3e 100644 --- a/src/dialogs/iconpreview.cpp +++ b/src/dialogs/iconpreview.cpp @@ -25,7 +25,7 @@ #include #include -#include "prefs-utils.h" +#include "preferences.h" #include "inkscape.h" #include "document.h" #include "desktop-handles.h" @@ -50,7 +50,7 @@ namespace Dialogs { IconPreviewPanel& IconPreviewPanel::getInstance() { - IconPreviewPanel &instance = *new IconPreviewPanel(); + static IconPreviewPanel &instance = *new IconPreviewPanel(); instance.refreshPreview(); @@ -82,39 +82,32 @@ void IconPreviewPanel::on_button_clicked(int which) * Constructor */ IconPreviewPanel::IconPreviewPanel() : - UI::Widget::Panel("", "dialogs.iconpreview", SP_VERB_VIEW_ICON_PREVIEW), + UI::Widget::Panel("", "/dialogs/iconpreview", SP_VERB_VIEW_ICON_PREVIEW), hot(1), refreshButton(0), selectionButton(0) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); numEntries = 0; - Inkscape::XML::Node *things = inkscape_get_repr(INKSCAPE, "iconpreview.sizes.default"); - if (things) { - std::vector rawSizes; - for ( Inkscape::XML::Node *child = things->firstChild(); child; child = child->next() ) - { - gchar const *id = child->attribute("id"); - if ( id ) - { - std::string path("iconpreview.sizes.default."); - path += id; - gint show = prefs_get_int_attribute_limited( path.c_str(), "show", 1, 0, 1 ); - gint sizeVal = prefs_get_int_attribute( path.c_str(), "value", -1 ); - if ( show && (sizeVal > 0) ) - { - rawSizes.push_back( sizeVal ); - } + + std::vector pref_sizes = prefs->getAllDirs("/iconpreview/sizes/default"); + std::vector rawSizes; + + for (std::vector::iterator i = pref_sizes.begin(); i != pref_sizes.end(); ++i) { + if (prefs->getBool(*i + "/show", true)) { + int sizeVal = prefs->getInt(*i + "/value", -1); + if (sizeVal > 0) { + rawSizes.push_back(sizeVal); } } + } - if ( !rawSizes.empty() ) - { - numEntries = rawSizes.size(); - sizes = new int[numEntries]; - int i = 0; - for ( std::vector::iterator it = rawSizes.begin(); it != rawSizes.end(); ++it, ++i ) { - sizes[i] = *it; - } + if ( !rawSizes.empty() ) { + numEntries = rawSizes.size(); + sizes = new int[numEntries]; + int i = 0; + for ( std::vector::iterator it = rawSizes.begin(); it != rawSizes.end(); ++it, ++i ) { + sizes[i] = *it; } } @@ -189,7 +182,7 @@ IconPreviewPanel::IconPreviewPanel() : tips.set_tip((*selectionButton), _("Selection only or whole document")); selectionButton->signal_clicked().connect( sigc::mem_fun(*this, &IconPreviewPanel::modeToggled) ); - gint val = prefs_get_int_attribute_limited( "iconpreview", "selectionOnly", 0, 0, 1 ); + gint val = prefs->getBool("/iconpreview/selectionOnly"); selectionButton->set_active( val != 0 ); refreshButton = new Gtk::Button(Gtk::Stock::REFRESH); // , GTK_RESPONSE_APPLY @@ -248,7 +241,8 @@ void IconPreviewPanel::refreshPreview() void IconPreviewPanel::modeToggled() { - prefs_set_int_attribute( "iconpreview", "selectionOnly", (selectionButton && selectionButton->get_active()) ? 1 : 0 ); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setBool("/iconpreview/selectionOnly", (selectionButton && selectionButton->get_active())); refreshPreview(); } @@ -307,13 +301,9 @@ void IconPreviewPanel::updateMagnify() Local Variables: mode:c++ c-file-style:"stroustrup" - c-file-offsets:((innamespace . 0)(inline-open . 0)) + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) indent-tabs-mode:nil fill-column:99 End: */ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : - -//######################################################################### -//## E N D O F F I L E -//######################################################################### +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/dialogs/input.cpp b/src/dialogs/input.cpp index f4690623e..e23fcc848 100644 --- a/src/dialogs/input.cpp +++ b/src/dialogs/input.cpp @@ -1,9 +1,9 @@ #define __SP_INPUT_C__ -/* - * Extended input devices dialog - * - * Authors: +/** @file + * @brief Extended input devices dialog + */ +/* Authors: * Nicklas Lindgren * Johan Engelen * @@ -19,14 +19,14 @@ #include #include -#include "../inkscape.h" -#include "../macros.h" -#include "../verbs.h" -#include "../interface.h" -#include "../xml/repr.h" +#include "macros.h" +#include "verbs.h" +#include "inkscape.h" +#include "interface.h" +#include "xml/repr.h" -#include "dialog-events.h" -#include "../prefs-utils.h" +#include "dialogs/dialog-events.h" +#include "preferences.h" #define MIN_ONSCREEN_DISTANCE 50 @@ -35,7 +35,7 @@ static win_data wd; // impossible original values to make sure they are read from prefs static gint x = -1000, y = -1000, w = 0, h = 0; -static const gchar *prefs_path = "dialogs.input"; +static Glib::ustring const prefs_path = "/dialogs/input/"; static void sp_input_dialog_destroy (GtkObject */*object*/, gpointer /*data*/) @@ -48,16 +48,17 @@ sp_input_dialog_destroy (GtkObject */*object*/, gpointer /*data*/) static gboolean sp_input_dialog_delete (GtkObject */*object*/, GdkEvent */*event*/, gpointer /*data*/) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); gtk_window_get_position ((GtkWindow *) dlg, &x, &y); gtk_window_get_size ((GtkWindow *) dlg, &w, &h); if (x<0) x=0; if (y<0) y=0; - prefs_set_int_attribute (prefs_path, "x", x); - prefs_set_int_attribute (prefs_path, "y", y); - prefs_set_int_attribute (prefs_path, "w", w); - prefs_set_int_attribute (prefs_path, "h", h); + prefs->setInt(prefs_path + "x", x); + prefs->setInt(prefs_path + "y", y); + prefs->setInt(prefs_path + "w", w); + prefs->setInt(prefs_path + "h", h); return FALSE; // which means, go ahead and destroy it @@ -70,25 +71,21 @@ static const gchar *axis_use_strings[GDK_AXIS_LAST] = { void sp_input_load_from_preferences (void) { - Inkscape::XML::Node *devices = inkscape_get_repr(INKSCAPE, "devices"); - if (devices == NULL) - return; + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - Inkscape::XML::Node *repr; - GList *list_ptr; - - for (list_ptr = gdk_devices_list(); list_ptr != NULL; list_ptr = list_ptr->next) { + for (GList *list_ptr = gdk_devices_list(); list_ptr != NULL; list_ptr = list_ptr->next) { GdkDevice *device = static_cast(list_ptr->data); - repr = sp_repr_lookup_child(devices, "id", device->name); - if (repr != NULL) { + //repr = sp_repr_lookup_child(devices, "id", device->name); + Glib::ustring device_path = Glib::ustring("/devices/") + device->name; + if (/*repr != NULL*/ 1) { GdkInputMode mode; - const gchar *attribute = repr->attribute("mode"); + Glib::ustring device_mode = prefs->getString(device_path + "/mode"); - if (attribute == NULL) + if (device_mode.empty()) mode = GDK_MODE_DISABLED; - else if (!strcmp(attribute, "screen")) + else if (device_mode == "screen") mode = GDK_MODE_SCREEN; - else if (!strcmp(attribute, "window")) + else if (device_mode == "window") mode = GDK_MODE_WINDOW; else mode = GDK_MODE_DISABLED; @@ -97,50 +94,40 @@ sp_input_load_from_preferences (void) gdk_device_set_mode(device, mode); } - const gchar *temp_ptr; - Glib::ustring::size_type pos0; - Glib::ustring::size_type pos1; - gint i; - gint j; - + Glib::ustring::size_type pos0, pos1; GdkAxisUse axis_use; - temp_ptr = repr->attribute("axes"); - if (temp_ptr != NULL) { - const Glib::ustring temp_str = temp_ptr; - pos0 = pos1 = 0; - for (i=0; i < device->num_axes; i++) { - pos1 = temp_str.find(";", pos0); - if (pos1 == Glib::ustring::npos) - break; // Too few axis specifications - - axis_use = GDK_AXIS_IGNORE; - for (j=0; j < GDK_AXIS_LAST; j++) - if (!strcmp(temp_str.substr(pos0, pos1-pos0).c_str(), axis_use_strings[j])) { - axis_use = static_cast(j); - break; - } - gdk_device_set_axis_use(device, i, axis_use); - pos0 = pos1 + 1; - } + //temp_ptr = repr->attribute("axes"); + Glib::ustring const axes_str = prefs->getString(device_path + "/axes"); + pos0 = pos1 = 0; + for (gint i=0; i < device->num_axes; i++) { + pos1 = axes_str.find(';', pos0); + if (pos1 == Glib::ustring::npos) + break; // Too few axis specifications + + axis_use = GDK_AXIS_IGNORE; + for (gint j=0; j < GDK_AXIS_LAST; j++) + if (!strcmp(axes_str.substr(pos0, pos1-pos0).c_str(), axis_use_strings[j])) { + axis_use = static_cast(j); + break; + } + gdk_device_set_axis_use(device, i, axis_use); + pos0 = pos1 + 1; } guint keyval; GdkModifierType modifier; - temp_ptr = repr->attribute("keys"); - if (temp_ptr != NULL) { - const Glib::ustring temp_str = temp_ptr; - pos0 = pos1 = 0; - for (i=0; i < device->num_keys; i++) { - pos1 = temp_str.find(";", pos0); - if (pos1 == Glib::ustring::npos) - break; // Too few key specifications - - gtk_accelerator_parse(temp_str.substr(pos0, pos1-pos0).c_str(), &keyval, &modifier); - gdk_device_set_key(device, i, keyval, modifier); - pos0 = pos1 + 1; - } + Glib::ustring const keys_str = prefs->getString(device_path + "/keys"); + pos0 = pos1 = 0; + for (gint i=0; i < device->num_keys; i++) { + pos1 = keys_str.find(';', pos0); + if (pos1 == Glib::ustring::npos) + break; // Too few key specifications + + gtk_accelerator_parse(keys_str.substr(pos0, pos1-pos0).c_str(), &keyval, &modifier); + gdk_device_set_key(device, i, keyval, modifier); + pos0 = pos1 + 1; } } } @@ -149,56 +136,43 @@ sp_input_load_from_preferences (void) void sp_input_save_to_preferences (void) { - Inkscape::XML::Node *devices = inkscape_get_repr(INKSCAPE, "devices"); - if (devices == NULL) - // TODO: find a clean way to add a node to the preferences root, or - // give an error message - return; - - Inkscape::XML::Node *repr; - GList *list_ptr; - - for (list_ptr = gdk_devices_list(); list_ptr != NULL; list_ptr = list_ptr->next) { - gint i; - Glib::ustring temp_attribute; + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + + for (GList *list_ptr = gdk_devices_list(); list_ptr != NULL; list_ptr = list_ptr->next) { GdkDevice *device = static_cast(list_ptr->data); - repr = sp_repr_lookup_child(devices, "id", device->name); - if (repr == NULL) { - repr = devices->document()->createElement("group"); - repr->setAttribute("id", device->name); - devices->appendChild(repr); - Inkscape::GC::release(repr); - } + //repr = sp_repr_lookup_child(devices, "id", device->name); + Glib::ustring device_path = Glib::ustring("/devices/") + device->name; + switch (device->mode) { default: case GDK_MODE_DISABLED: { - repr->setAttribute("mode", "disabled"); + prefs->setString(device_path + "/mode", "disabled"); break; } case GDK_MODE_SCREEN: { - repr->setAttribute("mode", "screen"); + prefs->setString(device_path + "/mode", "screen"); break; } case GDK_MODE_WINDOW: { - repr->setAttribute("mode", "window"); + prefs->setString(device_path + "/mode", "window"); break; } } - temp_attribute = ""; - for (i=0; i < device->num_axes; i++) { + Glib::ustring temp_attribute = ""; + for (gint i=0; i < device->num_axes; i++) { temp_attribute += axis_use_strings[device->axes[i].use]; temp_attribute += ";"; } - repr->setAttribute("axes", temp_attribute.c_str()); + prefs->setString(device_path + "/axes", temp_attribute); temp_attribute = ""; - for (i=0; i < device->num_keys; i++) { + for (gint i=0; i < device->num_keys; i++) { temp_attribute += gtk_accelerator_name(device->keys[i].keyval, device->keys[i].modifiers); temp_attribute += ";"; } - repr->setAttribute("keys", temp_attribute.c_str()); + prefs->setString(device_path + "/keys", temp_attribute); } } @@ -208,14 +182,11 @@ sp_input_save_button (GtkObject */*object*/, gpointer /*data*/) sp_input_save_to_preferences(); } -/** - * \brief Dialog - * - */ void sp_input_dialog (void) { if (dlg == NULL) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); gchar title[500]; sp_ui_dialog_title_string (Inkscape::Verb::get(SP_VERB_DIALOG_INPUT), title); @@ -223,13 +194,13 @@ sp_input_dialog (void) dlg = gtk_input_dialog_new(); if (x == -1000 || y == -1000) { - x = prefs_get_int_attribute (prefs_path, "x", -1000); - y = prefs_get_int_attribute (prefs_path, "y", -1000); + x = prefs->getInt(prefs_path + "x", -1000); + y = prefs->getInt(prefs_path + "y", -1000); } if (w ==0 || h == 0) { - w = prefs_get_int_attribute (prefs_path, "w", 0); - h = prefs_get_int_attribute (prefs_path, "h", 0); + w = prefs->getInt(prefs_path + "w", 0); + h = prefs->getInt(prefs_path + "h", 0); } // if (x<0) x=0; diff --git a/src/dialogs/item-properties.cpp b/src/dialogs/item-properties.cpp index 9b816436b..808775786 100644 --- a/src/dialogs/item-properties.cpp +++ b/src/dialogs/item-properties.cpp @@ -40,7 +40,7 @@ #include "../interface.h" #include "dialog-events.h" -#include "../prefs-utils.h" +#include "../preferences.h" #define MIN_ONSCREEN_DISTANCE 50 @@ -49,7 +49,7 @@ static win_data wd; // impossible original values to make sure they are read from prefs static gint x = -1000, y = -1000, w = 0, h = 0; -static gchar const *prefs_path = "dialogs.object"; +static Glib::ustring const prefs_path = "/dialogs/object/"; static void sp_item_widget_modify_selection (SPWidget *spw, Inkscape::Selection *selection, guint flags, GtkWidget *itemw); static void sp_item_widget_change_selection (SPWidget *spw, Inkscape::Selection *selection, GtkWidget *itemw); @@ -75,10 +75,11 @@ sp_item_dialog_delete( GtkObject */*object*/, GdkEvent */*event*/, gpointer /*da if (x<0) x=0; if (y<0) y=0; - prefs_set_int_attribute (prefs_path, "x", x); - prefs_set_int_attribute (prefs_path, "y", y); - prefs_set_int_attribute (prefs_path, "w", w); - prefs_set_int_attribute (prefs_path, "h", h); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setInt(prefs_path + "x", x); + prefs->setInt(prefs_path + "y", y); + prefs->setInt(prefs_path + "w", w); + prefs->setInt(prefs_path + "h", h); return FALSE; // which means, go ahead and destroy it @@ -479,16 +480,16 @@ sp_item_dialog (void) gchar title[500]; sp_ui_dialog_title_string (Inkscape::Verb::get(SP_VERB_DIALOG_ITEM), title); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); dlg = sp_window_new (title, TRUE); if (x == -1000 || y == -1000) { - x = prefs_get_int_attribute (prefs_path, "x", -1000); - y = prefs_get_int_attribute (prefs_path, "y", -1000); + x = prefs->getInt(prefs_path + "x", -1000); + y = prefs->getInt(prefs_path + "y", -1000); } - if (w ==0 || h == 0) { - w = prefs_get_int_attribute (prefs_path, "w", 0); - h = prefs_get_int_attribute (prefs_path, "h", 0); + w = prefs->getInt(prefs_path + "w", 0); + h = prefs->getInt(prefs_path + "h", 0); } // if (x<0) x=0; diff --git a/src/dialogs/layers-panel.cpp b/src/dialogs/layers-panel.cpp index a8c55f9de..1b754c606 100644 --- a/src/dialogs/layers-panel.cpp +++ b/src/dialogs/layers-panel.cpp @@ -36,7 +36,7 @@ #include "widgets/icon.h" #include "ui/widget/imagetoggler.h" #include -#include "prefs-utils.h" +#include "preferences.h" #include "xml/repr.h" #include "svg/css-ostringstream.h" #include "desktop-style.h" @@ -581,7 +581,7 @@ bool LayersPanel::_rowSelectFunction( Glib::RefPtr const & /*mod * Constructor */ LayersPanel::LayersPanel() : - UI::Widget::Panel("", "dialogs.layers", SP_VERB_DIALOG_LAYERS), + UI::Widget::Panel("", "/dialogs/layers", SP_VERB_DIALOG_LAYERS), _maxNestDepth(20), _mgr(0), _desktop(0), @@ -590,7 +590,8 @@ LayersPanel::LayersPanel() : _toggleEvent(0), _compositeSettings(SP_VERB_DIALOG_LAYERS, "layers", UI::Widget::SimpleFilterModifier::BLEND) { - _maxNestDepth = prefs_get_int_attribute_limited("dialogs.layers", "maxDepth", 20, 1, 1000); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + _maxNestDepth = prefs->getIntLimited("/dialogs/layers/maxDepth", 20, 1, 1000); ModelColumns *zoop = new ModelColumns(); _model = zoop; diff --git a/src/dialogs/stroke-style.cpp b/src/dialogs/stroke-style.cpp index 00e308278..c7173ad1e 100644 --- a/src/dialogs/stroke-style.cpp +++ b/src/dialogs/stroke-style.cpp @@ -8,6 +8,7 @@ * Bryce Harrington * bulia byak * Maximilian Albert + * Josh Andler * * Copyright (C) 2001-2005 authors * Copyright (C) 2001 Ximian, Inc. @@ -59,6 +60,7 @@ #include "helper/stock-items.h" #include "io/sys.h" #include "ui/cache/svg_preview_cache.h" +#include "xml/repr.h" #include "dialogs/stroke-style.h" @@ -1080,7 +1082,7 @@ sp_stroke_style_line_widget_new(void) gint i = 0; /* Stroke width */ - spw_label(t, _("Width:"), 0, i); + spw_label(t, Q_("StrokeWidth|Width:"), 0, i); hb = spw_hbox(t, 3, 1, i); @@ -1209,7 +1211,7 @@ sp_stroke_style_line_widget_new(void) /* Dash */ spw_label(t, _("Dashes:"), 0, i); - ds = manage(new SPDashSelector(inkscape_get_repr(INKSCAPE, "palette.dashes"))); + ds = manage(new SPDashSelector); ds->show(); t->attach(*ds, 1, 4, i, i+1, (Gtk::EXPAND | Gtk::FILL), static_cast(0), 0, 0); @@ -1227,6 +1229,7 @@ sp_stroke_style_line_widget_new(void) // (arrowheads, bullets, faces, whatever) to the start, end, or middle nodes of a path. spw_label(t, _("Start Markers:"), 0, i); marker_start_menu = ink_marker_menu(spw ,"marker-start", sandbox); + tt->set_tip(*marker_start_menu, _("Start Markers are drawn on the first node of a path or shape")); marker_start_menu_connection = marker_start_menu->signal_changed().connect( sigc::bind( sigc::ptr_fun(&sp_marker_select), marker_start_menu, spw, SP_MARKER_LOC_START)); @@ -1237,6 +1240,7 @@ sp_stroke_style_line_widget_new(void) i++; spw_label(t, _("Mid Markers:"), 0, i); marker_mid_menu = ink_marker_menu(spw ,"marker-mid", sandbox); + tt->set_tip(*marker_mid_menu, _("Mid Markers are drawn on every node of a path or shape except the first and last nodes")); marker_mid_menu_connection = marker_mid_menu->signal_changed().connect( sigc::bind( sigc::ptr_fun(&sp_marker_select), marker_mid_menu,spw, SP_MARKER_LOC_MID)); @@ -1247,6 +1251,7 @@ sp_stroke_style_line_widget_new(void) i++; spw_label(t, _("End Markers:"), 0, i); marker_end_menu = ink_marker_menu(spw ,"marker-end", sandbox); + tt->set_tip(*marker_end_menu, _("End Markers are drawn on the last node of a path or shape")); marker_end_menu_connection = marker_end_menu->signal_changed().connect( sigc::bind( sigc::ptr_fun(&sp_marker_select), marker_end_menu, spw, SP_MARKER_LOC_END)); diff --git a/src/dialogs/swatches.cpp b/src/dialogs/swatches.cpp index 5d76cc8f6..71c16d87a 100644 --- a/src/dialogs/swatches.cpp +++ b/src/dialogs/swatches.cpp @@ -1047,9 +1047,9 @@ SwatchesPanel::SwatchesPanel(gchar const* prefsPath) : if ( !possible.empty() ) { JustForNow* first = 0; Glib::ustring targetName; - if ( _prefs_path ) { + if ( !_prefs_path.empty() ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - targetName = prefs->getString(_prefs_path, "palette"); + targetName = prefs->getString(_prefs_path + "/palette"); if (!targetName.empty()) { for ( std::vector::iterator iter = possible.begin(); iter != possible.end(); ++iter ) { if ( (*iter)->_name == targetName ) { @@ -1123,9 +1123,9 @@ void SwatchesPanel::_handleAction( int setId, int itemId ) _holder->clear(); JustForNow* curr = possible[itemId]; - if ( _prefs_path ) { + if ( !_prefs_path.empty() ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setString(_prefs_path, "palette", curr->_name); + prefs->setString(_prefs_path + "/palette", curr->_name); } if ( curr->_prefWidth > 0 ) { diff --git a/src/dialogs/swatches.h b/src/dialogs/swatches.h index 310272b1c..630fada7c 100644 --- a/src/dialogs/swatches.h +++ b/src/dialogs/swatches.h @@ -90,7 +90,7 @@ private: class SwatchesPanel : public Inkscape::UI::Widget::Panel { public: - SwatchesPanel(gchar const* prefsPath = "dialogs.swatches"); + SwatchesPanel(gchar const* prefsPath = "/dialogs/swatches"); virtual ~SwatchesPanel(); static SwatchesPanel& getInstance(); diff --git a/src/dialogs/text-edit.cpp b/src/dialogs/text-edit.cpp index 8f4d1b8bd..1f8395c95 100644 --- a/src/dialogs/text-edit.cpp +++ b/src/dialogs/text-edit.cpp @@ -45,7 +45,7 @@ extern "C" { #include #include "dialog-events.h" -#include "../prefs-utils.h" +#include "../preferences.h" #include "../verbs.h" #include "../interface.h" #include "svg/css-ostringstream.h" @@ -80,7 +80,7 @@ static GtkWidget *dlg = NULL; static win_data wd; // impossible original values to make sure they are read from prefs static gint x = -1000, y = -1000, w = 0, h = 0; -static gchar const *prefs_path = "dialogs.textandfont"; +static Glib::ustring const prefs_path = "/dialogs/textandfont/"; @@ -104,10 +104,11 @@ sp_text_edit_dialog_delete( GtkObject */*object*/, GdkEvent */*event*/, gpointer if (x<0) x=0; if (y<0) y=0; - prefs_set_int_attribute (prefs_path, "x", x); - prefs_set_int_attribute (prefs_path, "y", y); - prefs_set_int_attribute (prefs_path, "w", w); - prefs_set_int_attribute (prefs_path, "h", h); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setInt(prefs_path + "x", x); + prefs->setInt(prefs_path + "y", y); + prefs->setInt(prefs_path + "w", w); + prefs->setInt(prefs_path + "h", h); return FALSE; // which means, go ahead and destroy it } @@ -142,16 +143,16 @@ sp_text_edit_dialog (void) gchar title[500]; sp_ui_dialog_title_string (Inkscape::Verb::get(SP_VERB_DIALOG_TEXT), title); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); dlg = sp_window_new (title, TRUE); if (x == -1000 || y == -1000) { - x = prefs_get_int_attribute (prefs_path, "x", -1000); - y = prefs_get_int_attribute (prefs_path, "y", -1000); + x = prefs->getInt(prefs_path + "x", -1000); + y = prefs->getInt(prefs_path + "y", -1000); } - if (w ==0 || h == 0) { - w = prefs_get_int_attribute (prefs_path, "w", 0); - h = prefs_get_int_attribute (prefs_path, "h", 0); + w = prefs->getInt(prefs_path + "w", 0); + h = prefs->getInt(prefs_path + "h", 0); } // if (x<0) x=0; @@ -608,9 +609,10 @@ sp_text_edit_dialog_set_default( GtkButton */*button*/, GtkWidget *dlg ) GtkWidget *def = (GtkWidget*)g_object_get_data (G_OBJECT (dlg), "default"); SPCSSAttr *css = sp_get_text_dialog_style (); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); g_object_set_data (G_OBJECT (dlg), "blocked", GINT_TO_POINTER (TRUE)); - sp_repr_css_change (inkscape_get_repr (INKSCAPE, "tools.text"), css, "style"); + prefs->mergeStyle("/tools/text/style", css); g_object_set_data (G_OBJECT (dlg), "blocked", GINT_TO_POINTER (FALSE)); sp_repr_css_attr_unref (css); @@ -650,7 +652,8 @@ sp_text_edit_dialog_apply( GtkButton */*button*/, GtkWidget *dlg ) if (items == 0) { // no text objects; apply style to prefs for new objects - sp_repr_css_change (inkscape_get_repr (INKSCAPE, "tools.text"), css, "style"); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->mergeStyle("/tools/text/style", css); gtk_widget_set_sensitive (def, FALSE); } else if (items == 1) { /* exactly one text object; now set its text, too */ @@ -749,13 +752,7 @@ sp_text_edit_dialog_read_selection ( GtkWidget *dlg, // (Ok to not get a font specification - must just rely on the family and style in that case) if (result_family == QUERY_STYLE_NOTHING || result_style == QUERY_STYLE_NOTHING || result_numbers == QUERY_STYLE_NOTHING) { - repr = inkscape_get_repr (INKSCAPE, "tools.text"); - if (repr) { - gtk_widget_set_sensitive (notebook, TRUE); - sp_style_read_from_repr (query, repr); - } else { - gtk_widget_set_sensitive (notebook, FALSE); - } + sp_style_read_from_prefs(query, "/tools/text"); } // FIXME: process result_family/style == QUERY_STYLE_MULTIPLE_DIFFERENT by showing "Many" in the lists diff --git a/src/dialogs/tiledialog.cpp b/src/dialogs/tiledialog.cpp index 1643057e8..f597c601b 100644 --- a/src/dialogs/tiledialog.cpp +++ b/src/dialogs/tiledialog.cpp @@ -24,7 +24,7 @@ #include #include "verbs.h" -#include "prefs-utils.h" +#include "preferences.h" #include "inkscape.h" #include "desktop-handles.h" #include "selection.h" @@ -383,7 +383,8 @@ void TileDialog::on_row_spinbutton_changed() double PerCol = ceil(selcount / NoOfColsSpinner.get_value()); NoOfRowsSpinner.set_value(PerCol); - prefs_set_double_attribute ("dialogs.gridtiler", "NoOfCols", NoOfColsSpinner.get_value()); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setDouble("/dialogs/gridtiler/NoOfCols", NoOfColsSpinner.get_value()); updating=false; } @@ -407,7 +408,8 @@ void TileDialog::on_col_spinbutton_changed() double PerRow = ceil(selcount / NoOfRowsSpinner.get_value()); NoOfColsSpinner.set_value(PerRow); - prefs_set_double_attribute ("dialogs.gridtiler", "NoOfCols", PerRow); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setDouble("/dialogs/gridtiler/NoOfCols", PerRow); updating=false; } @@ -417,8 +419,8 @@ void TileDialog::on_col_spinbutton_changed() */ void TileDialog::on_xpad_spinbutton_changed() { - - prefs_set_double_attribute ("dialogs.gridtiler", "XPad", XPadSpinner.get_value()); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setDouble("/dialogs/gridtiler/XPad", XPadSpinner.get_value()); } @@ -427,9 +429,8 @@ void TileDialog::on_xpad_spinbutton_changed() */ void TileDialog::on_ypad_spinbutton_changed() { - - prefs_set_double_attribute ("dialogs.gridtiler", "YPad", YPadSpinner.get_value()); - + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setDouble("/dialogs/gridtiler/YPad", YPadSpinner.get_value()); } @@ -438,13 +439,13 @@ void TileDialog::on_ypad_spinbutton_changed() */ void TileDialog::on_RowSize_checkbutton_changed() { - - if (RowHeightButton.get_active()) { - prefs_set_double_attribute ("dialogs.gridtiler", "AutoRowSize", 20); - } else { - prefs_set_double_attribute ("dialogs.gridtiler", "AutoRowSize", -20); - } - RowHeightBox.set_sensitive ( !RowHeightButton.get_active()); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (RowHeightButton.get_active()) { + prefs->setDouble("/dialogs/gridtiler/AutoRowSize", 20); + } else { + prefs->setDouble("/dialogs/gridtiler/AutoRowSize", -20); + } + RowHeightBox.set_sensitive ( !RowHeightButton.get_active()); } /** @@ -452,14 +453,13 @@ void TileDialog::on_RowSize_checkbutton_changed() */ void TileDialog::on_ColSize_checkbutton_changed() { - - if (ColumnWidthButton.get_active()) { - prefs_set_double_attribute ("dialogs.gridtiler", "AutoColSize", 20); - } else { - prefs_set_double_attribute ("dialogs.gridtiler", "AutoColSize", -20); - } - ColumnWidthBox.set_sensitive ( !ColumnWidthButton.get_active()); - + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (ColumnWidthButton.get_active()) { + prefs->setDouble("/dialogs/gridtiler/AutoColSize", 20); + } else { + prefs->setDouble("/dialogs/gridtiler/AutoColSize", -20); + } + ColumnWidthBox.set_sensitive ( !ColumnWidthButton.get_active()); } /** @@ -474,7 +474,8 @@ void TileDialog::on_rowSize_spinbutton_changed() // in turn, prevent listener from responding updating = true; - prefs_set_double_attribute ("dialogs.gridtiler", "RowHeight", RowHeightSpinner.get_value()); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setDouble("/dialogs/gridtiler/RowHeight", RowHeightSpinner.get_value()); updating=false; } @@ -491,7 +492,8 @@ void TileDialog::on_colSize_spinbutton_changed() // in turn, prevent listener from responding updating = true; - prefs_set_double_attribute ("dialogs.gridtiler", "ColWidth", ColumnWidthSpinner.get_value()); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setDouble("/dialogs/gridtiler/ColWidth", ColumnWidthSpinner.get_value()); updating=false; } @@ -501,13 +503,14 @@ void TileDialog::on_colSize_spinbutton_changed() */ void TileDialog::Spacing_button_changed() { - if (SpaceManualRadioButton.get_active()) { - prefs_set_double_attribute ("dialogs.gridtiler", "SpacingType", 20); - } else { - prefs_set_double_attribute ("dialogs.gridtiler", "SpacingType", -20); - } + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (SpaceManualRadioButton.get_active()) { + prefs->setDouble("/dialogs/gridtiler/SpacingType", 20); + } else { + prefs->setDouble("/dialogs/gridtiler/SpacingType", -20); + } - SizesHBox.set_sensitive ( SpaceManualRadioButton.get_active()); + SizesHBox.set_sensitive ( SpaceManualRadioButton.get_active()); } /** @@ -515,17 +518,17 @@ void TileDialog::Spacing_button_changed() */ void TileDialog::VertAlign_changed() { - if (VertTopRadioButton.get_active()) { - VertAlign = 0; - prefs_set_double_attribute ("dialogs.gridtiler", "VertAlign", 0); - } else if (VertCentreRadioButton.get_active()){ - VertAlign = 1; - prefs_set_double_attribute ("dialogs.gridtiler", "VertAlign", 1); - } else if (VertBotRadioButton.get_active()){ - VertAlign = 2; - prefs_set_double_attribute ("dialogs.gridtiler", "VertAlign", 2); - } - + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (VertTopRadioButton.get_active()) { + VertAlign = 0; + prefs->setInt("/dialogs/gridtiler/VertAlign", 0); + } else if (VertCentreRadioButton.get_active()){ + VertAlign = 1; + prefs->setInt("/dialogs/gridtiler/VertAlign", 1); + } else if (VertBotRadioButton.get_active()){ + VertAlign = 2; + prefs->setInt("/dialogs/gridtiler/VertAlign", 2); + } } /** @@ -533,17 +536,17 @@ void TileDialog::VertAlign_changed() */ void TileDialog::HorizAlign_changed() { - if (HorizLeftRadioButton.get_active()) { - HorizAlign = 0; - prefs_set_double_attribute ("dialogs.gridtiler", "HorizAlign", 0); - } else if (HorizCentreRadioButton.get_active()){ - HorizAlign = 1; - prefs_set_double_attribute ("dialogs.gridtiler", "HorizAlign", 1); - } else if (HorizRightRadioButton.get_active()){ - HorizAlign = 2; - prefs_set_double_attribute ("dialogs.gridtiler", "HorizAlign", 2); - } - + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (HorizLeftRadioButton.get_active()) { + HorizAlign = 0; + prefs->setInt("/dialogs/gridtiler/HorizAlign", 0); + } else if (HorizCentreRadioButton.get_active()){ + HorizAlign = 1; + prefs->setInt("/dialogs/gridtiler/HorizAlign", 1); + } else if (HorizRightRadioButton.get_active()){ + HorizAlign = 2; + prefs->setInt("/dialogs/gridtiler/HorizAlign", 2); + } } /** @@ -551,14 +554,14 @@ void TileDialog::HorizAlign_changed() */ void TileDialog::updateSelection() { - double col_width, row_height; // quit if run by the attr_changed listener if (updating) { - return; - } + return; + } - col_width=0; - row_height=0; + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + double col_width = 0; + double row_height = 0; // in turn, prevent listener from responding updating = true; SPDesktop *desktop = getDesktop(); @@ -575,14 +578,14 @@ void TileDialog::updateSelection() if (selcountsetInt("/dialogs/gridtiler/NoOfCols", NoOfCols); } } else { double PerRow = ceil(sqrt(selcount)); double PerCol = ceil(sqrt(selcount)); NoOfRowsSpinner.set_value(PerRow); NoOfColsSpinner.set_value(PerCol); - prefs_set_double_attribute ("dialogs.gridtiler", "NoOfCols", PerCol); + prefs->setInt("/dialogs/gridtiler/NoOfCols", static_cast(PerCol)); } @@ -610,10 +613,11 @@ static void updateSelectionCallback(Inkscape::Application */*inkscape*/, Inkscap * Constructor */ TileDialog::TileDialog() - : UI::Widget::Panel("", "dialogs.gridtiler", SP_VERB_SELECTION_GRIDTILE) + : UI::Widget::Panel("", "/dialogs/gridtiler", SP_VERB_SELECTION_GRIDTILE) { // bool used by spin button callbacks to stop loops where they change each other. updating = false; + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); // could not do this in gtkmm - there's no Gtk::SizeGroup public constructor (!) GtkSizeGroup *_col1 = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); @@ -663,7 +667,7 @@ TileDialog::TileDialog() gtk_size_group_add_widget(_col1, (GtkWidget *) NoOfRowsBox.gobj()); RowHeightButton.set_label(_("Equal height")); - double AutoRow = prefs_get_double_attribute ("dialogs.gridtiler", "AutoRowSize", 15); + double AutoRow = prefs->getDouble("/dialogs/gridtiler/AutoRowSize", 15); if (AutoRow>0) AutoRowSize=true; else @@ -693,7 +697,7 @@ TileDialog::TileDialog() VertBotRadioButton.signal_toggled().connect(sigc::mem_fun(*this, &TileDialog::VertAlign_changed)); VertAlignVBox.pack_start(VertBotRadioButton, false, false, 0); - VertAlign = prefs_get_double_attribute ("dialogs.gridtiler", "VertAlign", 1); + VertAlign = prefs->getInt("/dialogs/gridtiler/VertAlign", 1); if (VertAlign == 0) { VertTopRadioButton.set_active(TRUE); } @@ -733,7 +737,7 @@ TileDialog::TileDialog() gtk_size_group_add_widget(_col3, (GtkWidget *) NoOfColsBox.gobj()); ColumnWidthButton.set_label(_("Equal width")); - double AutoCol = prefs_get_double_attribute ("dialogs.gridtiler", "AutoColSize", 15); + double AutoCol = prefs->getDouble("/dialogs/gridtiler/AutoColSize", 15); if (AutoCol>0) AutoColSize=true; else @@ -767,7 +771,7 @@ TileDialog::TileDialog() HorizAlignHBox.pack_start(*(new Gtk::HBox()), true, true, 0); // centering strut - HorizAlign = prefs_get_double_attribute ("dialogs.gridtiler", "HorizAlign", 1); + HorizAlign = prefs->getInt("/dialogs/gridtiler/HorizAlign", 1); if (HorizAlign == 0) { HorizLeftRadioButton.set_active(TRUE); } @@ -810,7 +814,7 @@ TileDialog::TileDialog() YPadSpinner.set_digits(1); YPadSpinner.set_increments(0.2, 2); YPadSpinner.set_range(-10000, 10000); - double YPad = prefs_get_double_attribute ("dialogs.gridtiler", "YPad", 15); + double YPad = prefs->getDouble("/dialogs/gridtiler/YPad", 15); YPadSpinner.set_value(YPad); YPadBox.pack_start(YPadSpinner, true, true, MARGIN); tips.set_tip(YPadSpinner, _("Vertical spacing between rows (px units)")); @@ -835,7 +839,7 @@ TileDialog::TileDialog() XPadSpinner.set_digits(1); XPadSpinner.set_increments(0.2, 2); XPadSpinner.set_range(-10000, 10000); - double XPad = prefs_get_double_attribute ("dialogs.gridtiler", "XPad", 15); + double XPad = prefs->getDouble("/dialogs/gridtiler/XPad", 15); XPadSpinner.set_value(XPad); XPadBox.pack_start(XPadSpinner, true, true, MARGIN); tips.set_tip(XPadSpinner, _("Horizontal spacing between columns (px units)")); @@ -850,7 +854,7 @@ TileDialog::TileDialog() contents->pack_start(TileBox); - double SpacingType = prefs_get_double_attribute ("dialogs.gridtiler", "SpacingType", 15); + double SpacingType = prefs->getDouble("/dialogs/gridtiler/SpacingType", 15); if (SpacingType>0) { ManualSpacing=true; } else { @@ -867,20 +871,10 @@ TileDialog::TileDialog() show_all_children(); } - - - - - } //namespace Dialog } //namespace UI } //namespace Inkscape -//######################################################################### -//## E N D O F F I L E -//######################################################################### - - /* Local Variables: mode:c++ @@ -890,7 +884,4 @@ TileDialog::TileDialog() fill-column:99 End: */ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : - - - +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :: diff --git a/src/dialogs/xml-tree.cpp b/src/dialogs/xml-tree.cpp index 89892aab4..06103e9b3 100644 --- a/src/dialogs/xml-tree.cpp +++ b/src/dialogs/xml-tree.cpp @@ -54,7 +54,7 @@ #include "widgets/icon.h" #include "dialog-events.h" -#include "../prefs-utils.h" +#include "../preferences.h" #include "../verbs.h" #include "../interface.h" @@ -78,7 +78,7 @@ static sigc::connection document_replaced_connection; static win_data wd; // impossible original values to make sure they are read from prefs static gint x = -1000, y = -1000, w = 0, h = 0; -static gchar const *const prefs_path = "dialogs.xml"; +static Glib::ustring const prefs_path = "/dialogs/xml/"; static GtkWidget *status = NULL; static Inkscape::MessageStack *_message_stack = NULL; static Inkscape::MessageContext *_message_context = NULL; @@ -212,13 +212,14 @@ void sp_xml_tree_dialog() gtk_tooltips_enable(tooltips); dlg = sp_window_new("", TRUE); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); if (x == -1000 || y == -1000) { - x = prefs_get_int_attribute(prefs_path, "x", -1000); - y = prefs_get_int_attribute(prefs_path, "y", -1000); + x = prefs->getInt(prefs_path + "x", -1000); + y = prefs->getInt(prefs_path + "y", -1000); } if (w ==0 || h == 0) { - w = prefs_get_int_attribute(prefs_path, "w", 0); - h = prefs_get_int_attribute(prefs_path, "h", 0); + w = prefs->getInt(prefs_path + "w", 0); + h = prefs->getInt(prefs_path + "h", 0); } // if (x<0) x=0; @@ -924,10 +925,11 @@ static gboolean on_delete(GtkObject */*object*/, GdkEvent */*event*/, gpointer / if (x<0) x=0; if (y<0) y=0; - prefs_set_int_attribute(prefs_path, "x", x); - prefs_set_int_attribute(prefs_path, "y", y); - prefs_set_int_attribute(prefs_path, "w", w); - prefs_set_int_attribute(prefs_path, "h", h); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setInt(prefs_path + "x", x); + prefs->setInt(prefs_path + "y", y); + prefs->setInt(prefs_path + "w", w); + prefs->setInt(prefs_path + "h", h); return FALSE; // which means, go ahead and destroy it } diff --git a/src/display/bezier-utils-test.cpp b/src/display/bezier-utils-test.cpp index edeb9e3b7..4d6313886 100644 --- a/src/display/bezier-utils-test.cpp +++ b/src/display/bezier-utils-test.cpp @@ -7,7 +7,7 @@ #define's and `using' directives of the included file. */ #include "bezier-utils.cpp" -using NR::Point; +using Geom::Point; static bool range_approx_equal(double const a[], double const b[], unsigned len); @@ -22,9 +22,9 @@ static bool range_equal(T const a[], T const b[], unsigned len) { return true; } -inline bool point_approx_equal(NR::Point const &a, NR::Point const &b, double const eps) +inline bool point_approx_equal(Geom::Point const &a, Geom::Point const &b, double const eps) { - using NR::X; using NR::Y; + using Geom::X; using Geom::Y; return ( NR_DF_TEST_CLOSE(a[X], b[X], eps) && NR_DF_TEST_CLOSE(a[Y], b[Y], eps) ); } @@ -86,7 +86,7 @@ int main(int /*argc*/, char */*argv*/[]) { utest_start("bezier-utils.cpp"); UTEST_TEST("copy_without_nans_or_adjacent_duplicates") { - NR::Point const src[] = { + Geom::Point const src[] = { Point(2., 3.), Point(2., 3.), Point(0., 0.), diff --git a/src/display/bezier-utils-test.h b/src/display/bezier-utils-test.h index eb2b13d7b..cc24adaad 100644 --- a/src/display/bezier-utils-test.h +++ b/src/display/bezier-utils-test.h @@ -19,9 +19,9 @@ static bool range_approx_equal(double const a[], double const b[], unsigned cons return true; } -static inline bool point_approx_equal(NR::Point const &a, NR::Point const &b, double const eps) +static inline bool point_approx_equal(Geom::Point const &a, Geom::Point const &b, double const eps) { - using NR::X; using NR::Y; + using Geom::X; using Geom::Y; return ( NR_DF_TEST_CLOSE(a[X], b[X], eps) && NR_DF_TEST_CLOSE(a[Y], b[Y], eps) ); } @@ -35,7 +35,7 @@ static inline double square(double const x) { the most important test is that the root-mean-square of errors in the estimation are low rather than that the control points found are the same. **/ -static void compare_ctlpts(NR::Point const est_b[], NR::Point const exp_est_b[]) +static void compare_ctlpts(Geom::Point const est_b[], Geom::Point const exp_est_b[]) { unsigned diff_mask = 0; for (unsigned i = 0; i < 4; ++i) { @@ -62,13 +62,13 @@ static void compare_ctlpts(NR::Point const est_b[], NR::Point const exp_est_b[]) } } -static void compare_rms(NR::Point const est_b[], double const t[], NR::Point const d[], unsigned const n, +static void compare_rms(Geom::Point const est_b[], double const t[], Geom::Point const d[], unsigned const n, double const exp_rms_error) { double sum_errsq = 0.0; for (unsigned i = 0; i < n; ++i) { - NR::Point const fit_pt = bezier_pt(3, est_b, t[i]); - NR::Point const diff = fit_pt - d[i]; + Geom::Point const fit_pt = bezier_pt(3, est_b, t[i]); + Geom::Point const diff = fit_pt - d[i]; sum_errsq += dot(diff, diff); } double const rms_error = sqrt( sum_errsq / n ); @@ -84,13 +84,13 @@ static void compare_rms(NR::Point const est_b[], double const t[], NR::Point con class BezierUtilsTest : public CxxTest::TestSuite { public: - static NR::Point const c[4]; + static Geom::Point const c[4]; static double const t[24]; static unsigned const n; - NR::Point d[24]; - static NR::Point const src_b[4]; - static NR::Point const tHat1; - static NR::Point const tHat2; + Geom::Point d[24]; + static Geom::Point const src_b[4]; + static Geom::Point const tHat1; + static Geom::Point const tHat2; BezierUtilsTest() { @@ -109,23 +109,23 @@ public: void testCopyWithoutNansOrAdjacentDuplicates() { - NR::Point const src[] = { - NR::Point(2., 3.), - NR::Point(2., 3.), - NR::Point(0., 0.), - NR::Point(2., 3.), - NR::Point(2., 3.), - NR::Point(1., 9.), - NR::Point(1., 9.) + Geom::Point const src[] = { + Geom::Point(2., 3.), + Geom::Point(2., 3.), + Geom::Point(0., 0.), + Geom::Point(2., 3.), + Geom::Point(2., 3.), + Geom::Point(1., 9.), + Geom::Point(1., 9.) }; - NR::Point const exp_dest[] = { - NR::Point(2., 3.), - NR::Point(0., 0.), - NR::Point(2., 3.), - NR::Point(1., 9.) + Geom::Point const exp_dest[] = { + Geom::Point(2., 3.), + Geom::Point(0., 0.), + Geom::Point(2., 3.), + Geom::Point(1., 9.) }; g_assert( G_N_ELEMENTS(src) == 7 ); - NR::Point dest[7]; + Geom::Point dest[7]; struct tst { unsigned src_ix0; unsigned src_len; @@ -157,11 +157,11 @@ public: void testBezierPt1() { - NR::Point const a[] = {NR::Point(2.0, 4.0), - NR::Point(1.0, 8.0)}; + Geom::Point const a[] = {Geom::Point(2.0, 4.0), + Geom::Point(1.0, 8.0)}; TS_ASSERT_EQUALS( bezier_pt(1, a, 0.0) , a[0] ); TS_ASSERT_EQUALS( bezier_pt(1, a, 1.0) , a[1] ); - TS_ASSERT_EQUALS( bezier_pt(1, a, 0.5) , NR::Point(1.5, 6.0) ); + TS_ASSERT_EQUALS( bezier_pt(1, a, 0.5) , Geom::Point(1.5, 6.0) ); double const t[] = {0.5, 0.25, 0.3, 0.6}; for (unsigned i = 0; i < G_N_ELEMENTS(t); ++i) { double const ti = t[i], si = 1.0 - ti; @@ -171,17 +171,17 @@ public: void testBezierPt2() { - NR::Point const b[] = {NR::Point(1.0, 2.0), - NR::Point(8.0, 4.0), - NR::Point(3.0, 1.0)}; + Geom::Point const b[] = {Geom::Point(1.0, 2.0), + Geom::Point(8.0, 4.0), + Geom::Point(3.0, 1.0)}; TS_ASSERT_EQUALS( bezier_pt(2, b, 0.0) , b[0] ); TS_ASSERT_EQUALS( bezier_pt(2, b, 1.0) , b[2] ); - TS_ASSERT_EQUALS( bezier_pt(2, b, 0.5) , NR::Point(5.0, 2.75) ); + TS_ASSERT_EQUALS( bezier_pt(2, b, 0.5) , Geom::Point(5.0, 2.75) ); double const t[] = {0.5, 0.25, 0.3, 0.6}; for (unsigned i = 0; i < G_N_ELEMENTS(t); ++i) { double const ti = t[i], si = 1.0 - ti; - NR::Point const exp_pt( si*si * b[0] + 2*si*ti * b[1] + ti*ti * b[2] ); - NR::Point const pt(bezier_pt(2, b, ti)); + Geom::Point const exp_pt( si*si * b[0] + 2*si*ti * b[1] + ti*ti * b[2] ); + Geom::Point const pt(bezier_pt(2, b, ti)); TS_ASSERT(point_approx_equal(pt, exp_pt, 1e-11)); } } @@ -190,7 +190,7 @@ public: { TS_ASSERT_EQUALS( bezier_pt(3, c, 0.0) , c[0] ); TS_ASSERT_EQUALS( bezier_pt(3, c, 1.0) , c[3] ); - TS_ASSERT_EQUALS( bezier_pt(3, c, 0.5) , NR::Point(4.0, 13.0/8.0) ); + TS_ASSERT_EQUALS( bezier_pt(3, c, 0.5) , Geom::Point(4.0, 13.0/8.0) ); double const t[] = {0.5, 0.25, 0.3, 0.6}; for (unsigned i = 0; i < G_N_ELEMENTS(t); ++i) { double const ti = t[i], si = 1.0 - ti; @@ -206,18 +206,18 @@ public: void testComputeMaxErrorRatio() { struct Err_tst { - NR::Point pt; + Geom::Point pt; double u; double err; } const err_tst[] = { {c[0], 0.0, 0.0}, - {NR::Point(4.0, 13.0/8.0), 0.5, 0.0}, - {NR::Point(4.0, 2.0), 0.5, 9.0/64.0}, - {NR::Point(3.0, 2.0), 0.5, 1.0 + 9.0/64.0}, - {NR::Point(6.0, 2.0), 0.5, 4.0 + 9.0/64.0}, + {Geom::Point(4.0, 13.0/8.0), 0.5, 0.0}, + {Geom::Point(4.0, 2.0), 0.5, 9.0/64.0}, + {Geom::Point(3.0, 2.0), 0.5, 1.0 + 9.0/64.0}, + {Geom::Point(6.0, 2.0), 0.5, 4.0 + 9.0/64.0}, {c[3], 1.0, 0.0}, }; - NR::Point d[G_N_ELEMENTS(err_tst)]; + Geom::Point d[G_N_ELEMENTS(err_tst)]; double u[G_N_ELEMENTS(err_tst)]; for (unsigned i = 0; i < G_N_ELEMENTS(err_tst); ++i) { Err_tst const &t = err_tst[i]; @@ -235,8 +235,8 @@ public: { /* n == 2 */ { - NR::Point const d[] = {NR::Point(2.9415, -5.8149), - NR::Point(23.021, 4.9814)}; + Geom::Point const d[] = {Geom::Point(2.9415, -5.8149), + Geom::Point(23.021, 4.9814)}; double u[G_N_ELEMENTS(d)]; double const exp_u[] = {0.0, 1.0}; g_assert( G_N_ELEMENTS(u) == G_N_ELEMENTS(exp_u) ); @@ -248,9 +248,9 @@ public: { double const exp_u[] = {0.0, 0.1829, 0.2105, 0.2105, 0.619, 0.815, 0.999, 1.0}; unsigned const n = G_N_ELEMENTS(exp_u); - NR::Point d[n]; + Geom::Point d[n]; double u[n]; - NR::Point const a(-23.985, 4.915), b(4.9127, 5.203); + Geom::Point const a(-23.985, 4.915), b(4.9127, 5.203); for (unsigned i = 0; i < n; ++i) { double bi = exp_u[i], ai = 1.0 - bi; d[i] = ai * a + bi * b; @@ -262,7 +262,7 @@ public: void testGenerateBezier() { - NR::Point est_b[4]; + Geom::Point est_b[4]; generate_bezier(est_b, d, t, n, tHat1, tHat2, 1.0); compare_ctlpts(est_b, src_b); @@ -274,16 +274,16 @@ public: void testSpBezierFitCubicFull() { - NR::Point est_b[4]; + Geom::Point est_b[4]; int splitpoints[2]; gint const succ = sp_bezier_fit_cubic_full(est_b, splitpoints, d, n, tHat1, tHat2, square(1.2), 1); TS_ASSERT_EQUALS( succ , 1 ); - NR::Point const exp_est_b[4] = { - NR::Point(5.000000, -3.000000), - NR::Point(7.5753, -0.4247), - NR::Point(4.77533, 1.22467), - NR::Point(3, 3) + Geom::Point const exp_est_b[4] = { + Geom::Point(5.000000, -3.000000), + Geom::Point(7.5753, -0.4247), + Geom::Point(4.77533, 1.22467), + Geom::Point(3, 3) }; compare_ctlpts(est_b, exp_est_b); @@ -294,15 +294,15 @@ public: void testSpBezierFitCubic() { - NR::Point est_b[4]; + Geom::Point est_b[4]; gint const succ = sp_bezier_fit_cubic(est_b, d, n, square(1.2)); TS_ASSERT_EQUALS( succ , 1 ); - NR::Point const exp_est_b[4] = { - NR::Point(5.000000, -3.000000), - NR::Point(7.57134, -0.423509), - NR::Point(4.77929, 1.22426), - NR::Point(3, 3) + Geom::Point const exp_est_b[4] = { + Geom::Point(5.000000, -3.000000), + Geom::Point(7.57134, -0.423509), + Geom::Point(4.77929, 1.22426), + Geom::Point(3, 3) }; compare_ctlpts(est_b, exp_est_b); @@ -321,22 +321,22 @@ public: }; // This is not very neat, but since we know this header is only included by the generated CxxTest file it shouldn't give any problems -NR::Point const BezierUtilsTest::c[4] = { - NR::Point(1.0, 2.0), - NR::Point(8.0, 4.0), - NR::Point(3.0, 1.0), - NR::Point(-2.0, -4.0)}; +Geom::Point const BezierUtilsTest::c[4] = { + Geom::Point(1.0, 2.0), + Geom::Point(8.0, 4.0), + Geom::Point(3.0, 1.0), + Geom::Point(-2.0, -4.0)}; double const BezierUtilsTest::t[24] = { 0.0, .001, .03, .05, .09, .13, .18, .25, .29, .33, .39, .44, .51, .57, .62, .69, .75, .81, .91, .93, .97, .98, .999, 1.0}; unsigned const BezierUtilsTest::n = G_N_ELEMENTS(BezierUtilsTest::t); -NR::Point const BezierUtilsTest::src_b[4] = { - NR::Point(5., -3.), - NR::Point(8., 0.), - NR::Point(4., 2.), - NR::Point(3., 3.)}; -NR::Point const BezierUtilsTest::tHat1(unit_vector( BezierUtilsTest::src_b[1] - BezierUtilsTest::src_b[0] )); -NR::Point const BezierUtilsTest::tHat2(unit_vector( BezierUtilsTest::src_b[2] - BezierUtilsTest::src_b[3] )); +Geom::Point const BezierUtilsTest::src_b[4] = { + Geom::Point(5., -3.), + Geom::Point(8., 0.), + Geom::Point(4., 2.), + Geom::Point(3., 3.)}; +Geom::Point const BezierUtilsTest::tHat1(unit_vector( BezierUtilsTest::src_b[1] - BezierUtilsTest::src_b[0] )); +Geom::Point const BezierUtilsTest::tHat2(unit_vector( BezierUtilsTest::src_b[2] - BezierUtilsTest::src_b[3] )); /* Local Variables: diff --git a/src/display/bezier-utils.cpp b/src/display/bezier-utils.cpp index 5d09e66a7..b538f7fba 100644 --- a/src/display/bezier-utils.cpp +++ b/src/display/bezier-utils.cpp @@ -80,10 +80,10 @@ static Geom::Point const unconstrained_tangent(0, 0); #ifdef BEZIER_DEBUG # define DOUBLE_ASSERT(x) g_assert( ( (x) > -SP_HUGE ) && ( (x) < SP_HUGE ) ) # define BEZIER_ASSERT(b) do { \ - DOUBLE_ASSERT((b)[0][NR::X]); DOUBLE_ASSERT((b)[0][NR::Y]); \ - DOUBLE_ASSERT((b)[1][NR::X]); DOUBLE_ASSERT((b)[1][NR::Y]); \ - DOUBLE_ASSERT((b)[2][NR::X]); DOUBLE_ASSERT((b)[2][NR::Y]); \ - DOUBLE_ASSERT((b)[3][NR::X]); DOUBLE_ASSERT((b)[3][NR::Y]); \ + DOUBLE_ASSERT((b)[0][Geom::X]); DOUBLE_ASSERT((b)[0][Geom::Y]); \ + DOUBLE_ASSERT((b)[1][Geom::X]); DOUBLE_ASSERT((b)[1][Geom::Y]); \ + DOUBLE_ASSERT((b)[2][Geom::X]); DOUBLE_ASSERT((b)[2][Geom::Y]); \ + DOUBLE_ASSERT((b)[3][Geom::X]); DOUBLE_ASSERT((b)[3][Geom::Y]); \ } while(0) #else # define DOUBLE_ASSERT(x) do { } while(0) @@ -148,8 +148,8 @@ copy_without_nans_or_adjacent_duplicates(Geom::Point const src[], unsigned src_l if ( si == src_len ) { return 0; } - if (!IS_NAN(src[si][NR::X]) && - !IS_NAN(src[si][NR::Y])) { + if (!IS_NAN(src[si][Geom::X]) && + !IS_NAN(src[si][Geom::Y])) { dest[0] = Geom::Point(src[si]); ++si; break; @@ -160,8 +160,8 @@ copy_without_nans_or_adjacent_duplicates(Geom::Point const src[], unsigned src_l for (; si < src_len; ++si) { Geom::Point const src_pt = Geom::Point(src[si]); if ( src_pt != dest[di] - && !IS_NAN(src_pt[NR::X]) - && !IS_NAN(src_pt[NR::Y])) { + && !IS_NAN(src_pt[Geom::X]) + && !IS_NAN(src_pt[Geom::Y])) { dest[++di] = src_pt; } } @@ -806,7 +806,7 @@ sp_darray_center_tangent(Geom::Point const d[], if ( d[center + 1] == d[center - 1] ) { /* Rotate 90 degrees in an arbitrary direction. */ Geom::Point const diff = d[center] - d[center - 1]; - ret = NR::rot90(diff); + ret = Geom::rot90(diff); } else { ret = d[center - 1] - d[center + 1]; } @@ -959,11 +959,11 @@ compute_hook(Geom::Point const &a, Geom::Point const &b, double const u, BezierC { Geom::Point const P = bezier_pt(3, bezCurve, u); Geom::Point const diff = .5 * (a + b) - P; - double const dist = NR::L2(diff); + double const dist = Geom::L2(diff); if (dist < tolerance) { return 0; } - double const allowed = NR::L2(b - a) + tolerance; + double const allowed = Geom::L2(b - a) + tolerance; return dist / allowed; /** \todo * effic: Hooks are very rare. We could start by comparing diff --git a/src/display/canvas-arena.h b/src/display/canvas-arena.h index 5e6188eee..34bc19946 100644 --- a/src/display/canvas-arena.h +++ b/src/display/canvas-arena.h @@ -32,7 +32,7 @@ struct _SPCanvasArena { guint cursor : 1; guint sticky : 1; - NR::Point c; // what is this? + Geom::Point c; // what is this? NRArena *arena; NRArenaItem *root; diff --git a/src/display/canvas-axonomgrid.cpp b/src/display/canvas-axonomgrid.cpp index 0f5045c4d..e181035eb 100644 --- a/src/display/canvas-axonomgrid.cpp +++ b/src/display/canvas-axonomgrid.cpp @@ -194,17 +194,17 @@ CanvasAxonomGrid::CanvasAxonomGrid (SPNamedView * nv, Inkscape::XML::Node * in_r : CanvasGrid(nv, in_repr, in_doc, GRID_AXONOMETRIC) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - gridunit = sp_unit_get_by_abbreviation( prefs->getString("options.grids.axonom", "units").data() ); + gridunit = sp_unit_get_by_abbreviation( prefs->getString("/options/grids/axonom/units").data() ); if (!gridunit) gridunit = &sp_unit_get_by_id(SP_UNIT_PX); - origin[Geom::X] = sp_units_get_pixels( prefs->getDouble("options.grids.axonom", "origin_x", 0.0), *gridunit ); - origin[Geom::Y] = sp_units_get_pixels( prefs->getDouble("options.grids.axonom", "origin_y", 0.0), *gridunit ); - color = prefs->getInt("options.grids.axonom", "color", 0x0000ff20); - empcolor = prefs->getInt("options.grids.axonom", "empcolor", 0x0000ff40); - empspacing = prefs->getInt("options.grids.axonom", "empspacing", 5); - lengthy = sp_units_get_pixels( prefs->getDouble("options.grids.axonom", "spacing_y", 1.0), *gridunit ); - angle_deg[X] = prefs->getDouble("options.grids.axonom", "angle_x", 30.0); - angle_deg[Z] = prefs->getDouble("options.grids.axonom", "angle_z", 30.0); + origin[Geom::X] = sp_units_get_pixels( prefs->getDouble("/options/grids/axonom/origin_x", 0.0), *gridunit ); + origin[Geom::Y] = sp_units_get_pixels( prefs->getDouble("/options/grids/axonom/origin_y", 0.0), *gridunit ); + color = prefs->getInt("/options/grids/axonom/color", 0x0000ff20); + empcolor = prefs->getInt("/options/grids/axonom/empcolor", 0x0000ff40); + empspacing = prefs->getInt("/options/grids/axonom/empspacing", 5); + lengthy = sp_units_get_pixels( prefs->getDouble("/options/grids/axonom/spacing_y", 1.0), *gridunit ); + angle_deg[X] = prefs->getDouble("/options/grids/axonom/angle_x", 30.0); + angle_deg[Z] = prefs->getDouble("/options/grids/axonom/angle_z", 30.0); angle_deg[Y] = 0; angle_rad[X] = deg_to_rad(angle_deg[X]); @@ -298,7 +298,6 @@ static gboolean sp_nv_read_opacity(gchar const *str, guint32 *color) void CanvasAxonomGrid::readRepr() { - /// @todo Replace direct XML preference node manipulation with calls to public prefs API gchar const *value; if ( (value = repr->attribute("originx")) ) { sp_nv_read_length(value, SP_UNIT_ABSOLUTE | SP_UNIT_DEVICE, &origin[Geom::X], &gridunit); @@ -551,7 +550,7 @@ CanvasAxonomGrid::Render (SPCanvasBuf *buf) //set correct coloring, depending preference (when zoomed out, always major coloring or minor coloring) Inkscape::Preferences *prefs = Inkscape::Preferences::get(); guint32 _empcolor; - bool preference = prefs->getBool("options.grids", "no_emphasize_when_zoomedout", false); + bool preference = prefs->getBool("/options/grids/no_emphasize_when_zoomedout", false); if( scaled && preference ) { _empcolor = color; } else { diff --git a/src/display/canvas-grid.cpp b/src/display/canvas-grid.cpp index 9b6b512b0..8505426d3 100644 --- a/src/display/canvas-grid.cpp +++ b/src/display/canvas-grid.cpp @@ -1,10 +1,8 @@ -#define INKSCAPE_CANVAS_GRID_C - -/* - * - * Copyright (C) Johan Engelen 2006-2007 +/** @file + * @brief Cartesian grid implementation + */ +/* Copyright (C) Johan Engelen 2006-2007 * Copyright (C) Lauris Kaplinski 2000 - * */ /* As a general comment, I am not exactly proud of how things are done. @@ -13,6 +11,7 @@ * Don't be shy to correct things. */ +#define INKSCAPE_CANVAS_GRID_C #include "sp-canvas-util.h" #include "util/mathfns.h" @@ -416,17 +415,17 @@ CanvasXYGrid::CanvasXYGrid (SPNamedView * nv, Inkscape::XML::Node * in_repr, SPD : CanvasGrid(nv, in_repr, in_doc, GRID_RECTANGULAR) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - gridunit = sp_unit_get_by_abbreviation( prefs->getString("options.grids.xy", "units").data() ); + gridunit = sp_unit_get_by_abbreviation( prefs->getString("/options/grids/xy/units").data() ); if (!gridunit) gridunit = &sp_unit_get_by_id(SP_UNIT_PX); - origin[Geom::X] = sp_units_get_pixels(prefs->getDouble("options.grids.xy", "origin_x", 0.0), *gridunit); - origin[Geom::Y] = sp_units_get_pixels(prefs->getDouble("options.grids.xy", "origin_y", 0.0), *gridunit); - color = prefs->getInt("options.grids.xy", "color", 0x0000ff20); - empcolor = prefs->getInt("options.grids.xy", "empcolor", 0x0000ff40); - empspacing = prefs->getInt("options.grids.xy", "empspacing", 5); - spacing[Geom::X] = sp_units_get_pixels(prefs->getDouble("options.grids.xy", "spacing_x", 0.0), *gridunit); - spacing[Geom::Y] = sp_units_get_pixels(prefs->getDouble("options.grids.xy", "spacing_y", 0.0), *gridunit); - render_dotted = prefs->getBool("options.grids.xy", "dotted", false); + origin[Geom::X] = sp_units_get_pixels(prefs->getDouble("/options/grids/xy/origin_x", 0.0), *gridunit); + origin[Geom::Y] = sp_units_get_pixels(prefs->getDouble("/options/grids/xy/origin_y", 0.0), *gridunit); + color = prefs->getInt("/options/grids/xy/color", 0x0000ff20); + empcolor = prefs->getInt("/options/grids/xy/empcolor", 0x0000ff40); + empspacing = prefs->getInt("/options/grids/xy/empspacing", 5); + spacing[Geom::X] = sp_units_get_pixels(prefs->getDouble("/options/grids/xy/spacing_x", 0.0), *gridunit); + spacing[Geom::Y] = sp_units_get_pixels(prefs->getDouble("/options/grids/xy/spacing_y", 0.0), *gridunit); + render_dotted = prefs->getBool("/options/grids/xy/dotted", false); snapper = new CanvasXYGridSnapper(this, &namedview->snap_manager, 0); @@ -889,7 +888,7 @@ CanvasXYGrid::Render (SPCanvasBuf *buf) //set correct coloring, depending preference (when zoomed out, always major coloring or minor coloring) Inkscape::Preferences *prefs = Inkscape::Preferences::get(); guint32 _empcolor; - bool no_emp_when_zoomed_out = prefs->getBool("options.grids", "no_emphasize_when_zoomedout", false); + bool no_emp_when_zoomed_out = prefs->getBool("/options/grids/no_emphasize_when_zoomedout", false); if( (scaled[Geom::X] || scaled[Geom::Y]) && no_emp_when_zoomed_out ) { _empcolor = color; } else { @@ -1000,14 +999,10 @@ void CanvasXYGridSnapper::_addSnappedLine(SnappedConstraints &sc, Geom::Point co */ bool CanvasXYGridSnapper::ThisSnapperMightSnap() const { - return _snap_enabled && _snap_from != 0; + return _snapmanager->snapprefs.getSnapModeBBoxOrNodes(); } - - - - -}; /* namespace Inkscape */ +} // namespace Inkscape /* diff --git a/src/display/canvas-grid.h b/src/display/canvas-grid.h index 66f3bc43c..f50537065 100644 --- a/src/display/canvas-grid.h +++ b/src/display/canvas-grid.h @@ -1,16 +1,13 @@ -#ifndef INKSCAPE_CANVAS_GRID_H -#define INKSCAPE_CANVAS_GRID_H - -/* - * Inkscape::CXYGrid - * - * Generic (and quite unintelligent) grid item for gnome canvas - * - * Copyright (C) Johan Engelen 2006-2007 +/** @file + * @brief Cartesian grid item for the Inkscape canvas + */ +/* Copyright (C) Johan Engelen 2006-2007 * Copyright (C) Lauris Kaplinski 2000 - * */ +#ifndef INKSCAPE_CANVAS_GRID_H +#define INKSCAPE_CANVAS_GRID_H + #include #include diff --git a/src/display/canvas-text.cpp b/src/display/canvas-text.cpp index 21e1fbd48..f7a8cfb01 100644 --- a/src/display/canvas-text.cpp +++ b/src/display/canvas-text.cpp @@ -74,8 +74,8 @@ static void sp_canvastext_init (SPCanvasText *canvastext) { canvastext->rgba = 0x0000ff7f; - canvastext->s[NR::X] = canvastext->s[NR::Y] = 0.0; - canvastext->affine = NR::identity(); + canvastext->s[Geom::X] = canvastext->s[Geom::Y] = 0.0; + canvastext->affine = Geom::identity(); canvastext->fontsize = 10.0; canvastext->item = NULL; canvastext->text = NULL; @@ -113,9 +113,9 @@ sp_canvastext_render (SPCanvasItem *item, SPCanvasBuf *buf) guint32 rgba = cl->rgba; cairo_set_source_rgba(buf->ct, SP_RGBA32_B_F(rgba), SP_RGBA32_G_F(rgba), SP_RGBA32_R_F(rgba), SP_RGBA32_A_F(rgba)); - NR::Point s = cl->s * cl->affine; - double offsetx = s[NR::X] - buf->rect.x0; - double offsety = s[NR::Y] - buf->rect.y0; + Geom::Point s = cl->s * cl->affine; + double offsetx = s[Geom::X] - buf->rect.x0; + double offsety = s[Geom::Y] - buf->rect.y0; offsetx -= anchor_offset_x; offsety += anchor_offset_y; @@ -150,10 +150,10 @@ sp_canvastext_update (SPCanvasItem *item, Geom::Matrix const &affine, unsigned i cairo_text_extents_t bbox; cairo_text_extents(&tmp_buf, cl->text, &bbox); **/ - item->x1 = s[NR::X] + 0; - item->y1 = s[NR::Y] - cl->fontsize; - item->x2 = s[NR::X] + cl->fontsize * strlen(cl->text); - item->y2 = s[NR::Y] + cl->fontsize * 0.5; // for letters below the baseline + item->x1 = s[Geom::X] + 0; + item->y1 = s[Geom::Y] - cl->fontsize; + item->x2 = s[Geom::X] + cl->fontsize * strlen(cl->text); + item->y2 = s[Geom::Y] + cl->fontsize * 0.5; // for letters below the baseline // adjust update region according to anchor shift // FIXME: use the correct text extent @@ -208,16 +208,16 @@ sp_canvastext_set_coords (SPCanvasText *ct, gdouble x0, gdouble y0) g_return_if_fail (ct != NULL); g_return_if_fail (SP_IS_CANVASTEXT (ct)); - if (DIFFER (x0, ct->s[NR::X]) || DIFFER (y0, ct->s[NR::Y])) { - ct->s[NR::X] = x0; - ct->s[NR::Y] = y0; + if (DIFFER (x0, ct->s[Geom::X]) || DIFFER (y0, ct->s[Geom::Y])) { + ct->s[Geom::X] = x0; + ct->s[Geom::Y] = y0; sp_canvas_item_request_update (SP_CANVAS_ITEM (ct)); } sp_canvas_item_request_update (SP_CANVAS_ITEM (ct)); } void -sp_canvastext_set_coords (SPCanvasText *ct, const NR::Point start) +sp_canvastext_set_coords (SPCanvasText *ct, const Geom::Point start) { sp_canvastext_set_coords(ct, start[0], start[1]); } diff --git a/src/display/canvas-text.h b/src/display/canvas-text.h index bb732ae6f..0e4724d92 100644 --- a/src/display/canvas-text.h +++ b/src/display/canvas-text.h @@ -41,7 +41,7 @@ SPCanvasItem *sp_canvastext_new(SPCanvasGroup *parent, Geom::Point pos, gchar co void sp_canvastext_set_rgba32 (SPCanvasText *ct, guint32 rgba); void sp_canvastext_set_coords (SPCanvasText *ct, gdouble x0, gdouble y0); -void sp_canvastext_set_coords (SPCanvasText *ct, const NR::Point start); +void sp_canvastext_set_coords (SPCanvasText *ct, const Geom::Point start); void sp_canvastext_set_text (SPCanvasText *ct, gchar const* new_text); void sp_canvastext_set_number_as_text (SPCanvasText *ct, int num); void sp_canvastext_set_fontsize (SPCanvasText *ct, double size); diff --git a/src/display/nr-arena-glyphs.cpp b/src/display/nr-arena-glyphs.cpp index 5f20d077a..ef60f0502 100644 --- a/src/display/nr-arena-glyphs.cpp +++ b/src/display/nr-arena-glyphs.cpp @@ -89,7 +89,7 @@ static void nr_arena_glyphs_init(NRArenaGlyphs *glyphs) { glyphs->style = NULL; - glyphs->g_transform.set_identity(); + glyphs->g_transform.setIdentity(); glyphs->font = NULL; glyphs->glyph = 0; @@ -142,7 +142,7 @@ nr_arena_glyphs_update(NRArenaItem *item, NRRectL */*area*/, NRGC *gc, guint /*s bbox.x0 = bbox.y0 = NR_HUGE; bbox.x1 = bbox.y1 = -NR_HUGE; - float const scale = NR::expansion(gc->transform); + float const scale = gc->transform.descrim(); if (!glyphs->style->fill.isNone()) { Geom::Matrix t; @@ -265,7 +265,7 @@ nr_arena_glyphs_set_path(NRArenaGlyphs *glyphs, SPCurve */*curve*/, unsigned int if (transform) { glyphs->g_transform = *transform; } else { - glyphs->g_transform.set_identity(); + glyphs->g_transform.setIdentity(); } if (font) font->Ref(); @@ -298,7 +298,7 @@ nr_arena_glyphs_fill_mask(NRArenaGlyphs *glyphs, NRRectL *area, NRPixBlock *m) if (glyphs->rfont && nr_rect_l_test_intersect_ptr(area, &item->bbox)) { raster_glyph *g = glyphs->rfont->GetGlyph(glyphs->glyph); - if ( g ) g->Blit(NR::Point(glyphs->x, glyphs->y), *m); + if ( g ) g->Blit(Geom::Point(glyphs->x, glyphs->y), *m); } return item->state; @@ -310,7 +310,7 @@ nr_arena_glyphs_stroke_mask(NRArenaGlyphs *glyphs, NRRectL *area, NRPixBlock *m) NRArenaItem *item = NR_ARENA_ITEM(glyphs); if (glyphs->sfont && nr_rect_l_test_intersect_ptr(area, &item->bbox)) { raster_glyph *g=glyphs->sfont->GetGlyph(glyphs->glyph); - if ( g ) g->Blit(NR::Point(glyphs->x, glyphs->y),*m); + if ( g ) g->Blit(Geom::Point(glyphs->x, glyphs->y),*m); } return item->state; diff --git a/src/display/nr-arena-glyphs.h b/src/display/nr-arena-glyphs.h index 9c6762363..5bf94f3fc 100644 --- a/src/display/nr-arena-glyphs.h +++ b/src/display/nr-arena-glyphs.h @@ -33,7 +33,7 @@ NRType nr_arena_glyphs_get_type (void); struct NRArenaGlyphs : public NRArenaItem { /* Glyphs data */ SPStyle *style; - NR::Matrix g_transform; + Geom::Matrix g_transform; font_instance *font; gint glyph; @@ -41,7 +41,7 @@ struct NRArenaGlyphs : public NRArenaItem { raster_font *sfont; float x, y; -// NR::Matrix cached_tr; +// Geom::Matrix cached_tr; // Shape *cached_shp; // bool cached_shp_dirty; // bool cached_style_dirty; diff --git a/src/display/nr-arena-image.cpp b/src/display/nr-arena-image.cpp index c8a988483..17c9ab07c 100644 --- a/src/display/nr-arena-image.cpp +++ b/src/display/nr-arena-image.cpp @@ -15,7 +15,7 @@ #include #include <2geom/transforms.h> #include -#include "../prefs-utils.h" +#include "../preferences.h" #include "nr-arena-image.h" #include "style.h" #include "display/nr-arena.h" @@ -173,7 +173,8 @@ nr_arena_image_update( NRArenaItem *item, NRRectL */*area*/, NRGC *gc, unsigned static unsigned int nr_arena_image_render( cairo_t *ct, NRArenaItem *item, NRRectL */*area*/, NRPixBlock *pb, unsigned int /*flags*/ ) { - nr_arena_image_x_sample = prefs_get_int_attribute ("options.bitmapoversample", "value", 1); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + nr_arena_image_x_sample = prefs->getInt("/options/bitmapoversample/value", 1); nr_arena_image_y_sample = nr_arena_image_x_sample; bool outline = (item->arena->rendermode == Inkscape::RENDERMODE_OUTLINE); @@ -228,7 +229,7 @@ nr_arena_image_render( cairo_t *ct, NRArenaItem *item, NRRectL */*area*/, NRPixB if (!ct) return item->state; - guint32 rgba = prefs_get_int_attribute("options.wireframecolors", "images", 0xff0000ff); + guint32 rgba = prefs->getInt("/options/wireframecolors/images", 0xff0000ff); // FIXME: we use RGBA buffers but cairo writes BGRA (on i386), so we must cheat // by setting color channels in the "wrong" order cairo_set_source_rgba(ct, SP_RGBA32_B_F(rgba), SP_RGBA32_G_F(rgba), SP_RGBA32_R_F(rgba), SP_RGBA32_A_F(rgba)); diff --git a/src/display/nr-arena-item.cpp b/src/display/nr-arena-item.cpp index b9a0cc371..d944b4228 100644 --- a/src/display/nr-arena-item.cpp +++ b/src/display/nr-arena-item.cpp @@ -30,7 +30,7 @@ #include "nr-filter.h" #include "libnr/nr-rect.h" #include "nr-arena-group.h" -#include "prefs-utils.h" +#include "preferences.h" namespace GC = Inkscape::GC; @@ -343,13 +343,14 @@ nr_arena_item_invoke_render (cairo_t *ct, NRArenaItem *item, NRRectL const *area // render clip and mask, if any guint32 saved_rgba = item->arena->outlinecolor; // save current outline color // render clippath as an object, using a different color + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); if (item->clip) { - item->arena->outlinecolor = prefs_get_int_attribute("options.wireframecolors", "clips", 0x00ff00ff); // green clips + item->arena->outlinecolor = prefs->getInt("/options/wireframecolors/clips", 0x00ff00ff); // green clips NR_ARENA_ITEM_VIRTUAL (item->clip, render) (ct, item->clip, &carea, pb, flags); } // render mask as an object, using a different color if (item->mask) { - item->arena->outlinecolor = prefs_get_int_attribute("options.wireframecolors", "masks", 0x0000ffff); // blue masks + item->arena->outlinecolor = prefs->getInt("/options/wireframecolors/masks", 0x0000ffff); // blue masks NR_ARENA_ITEM_VIRTUAL (item->mask, render) (ct, item->mask, &carea, pb, flags); } item->arena->outlinecolor = saved_rgba; // restore outline color diff --git a/src/display/nr-arena-shape.cpp b/src/display/nr-arena-shape.cpp index 6a252e5f5..4c988be46 100644 --- a/src/display/nr-arena-shape.cpp +++ b/src/display/nr-arena-shape.cpp @@ -29,7 +29,6 @@ #include #include #include -#include "prefs-utils.h" #include "inkscape-cairo.h" #include "helper/geom.h" #include "helper/geom-curves.h" diff --git a/src/display/nr-arena-shape.h b/src/display/nr-arena-shape.h index 8ff8c476a..455757806 100644 --- a/src/display/nr-arena-shape.h +++ b/src/display/nr-arena-shape.h @@ -154,6 +154,7 @@ struct NRArenaShape : public NRArenaItem { static NRArenaShape *create(NRArena *arena) { NRArenaShape *obj=reinterpret_cast(nr_object_new(NR_TYPE_ARENA_SHAPE)); obj->init(arena); + obj->key = 0; return obj; } diff --git a/src/display/nr-filter-gaussian.cpp b/src/display/nr-filter-gaussian.cpp index 76b541ace..14a039630 100644 --- a/src/display/nr-filter-gaussian.cpp +++ b/src/display/nr-filter-gaussian.cpp @@ -30,7 +30,7 @@ #include "libnr/nr-matrix.h" #include "libnr/nr-matrix-fns.h" #include "util/fixed_point.h" -#include "prefs-utils.h" +#include "preferences.h" // IIR filtering method based on: // L.J. van Vliet, I.T. Young, and P.W. Verbeek, Recursive Gaussian Derivative Filters, @@ -85,7 +85,7 @@ namespace NR { FilterGaussian::FilterGaussian() { - _deviation_x = _deviation_y = prefs_get_double_attribute("options.filtertest", "value", 1.0); + _deviation_x = _deviation_y = 0.0; } FilterPrimitive *FilterGaussian::create() @@ -545,7 +545,8 @@ int FilterGaussian::render(FilterSlot &slot, FilterUnits const &units) int const PC = NR_PIXBLOCK_BPP(in); // Subsampling constants - int const quality = prefs_get_int_attribute("options.blurquality", "value", 0); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int const quality = prefs->getInt("/options/blurquality/value"); int const x_step_l2 = _effect_subsample_step_log2(deviation_x_org, quality); int const y_step_l2 = _effect_subsample_step_log2(deviation_y_org, quality); int const x_step = 1< 0) ? slots : 2); _slot = new NRPixBlock*[_slot_count]; @@ -74,10 +77,6 @@ FilterSlot::FilterSlot(int slots, NRArenaItem const *item) _slot[i] = NULL; _slot_number[i] = NR_FILTER_SLOT_NOT_SET; } - - _last_out = -1; - - _arena_item = item; } FilterSlot::~FilterSlot() @@ -163,7 +162,11 @@ void FilterSlot::get_final(int slot_nr, NRPixBlock *result) { memset(NR_PIXBLOCK_PX(result), 0, size); if (fabs(trans[1]) > 1e-6 || fabs(trans[2]) > 1e-6) { - transform_bicubic(result, final_usr, trans); + if (filterquality == FILTER_QUALITY_BEST) { + transform_bicubic(result, final_usr, trans); + } else { + transform_nearest(result, final_usr, trans); + } } else if (fabs(trans[0] - 1) > 1e-6 || fabs(trans[3] - 1) > 1e-6) { scale_bicubic(result, final_usr); } else { @@ -223,7 +226,11 @@ void FilterSlot::set(int slot_nr, NRPixBlock *pb) g_warning("Memory allocation failed in NR::FilterSlot::set (transform)"); return; } - transform_bicubic(trans_pb, pb, trans); + if (filterquality == FILTER_QUALITY_BEST) { + transform_bicubic(trans_pb, pb, trans); + } else { + transform_nearest(trans_pb, pb, trans); + } nr_pixblock_release(pb); delete pb; pb = trans_pb; @@ -338,6 +345,10 @@ void FilterSlot::set_units(FilterUnits const &units) { this->units = units; } +void FilterSlot::set_quality(FilterQuality const q) { + filterquality = q; +} + } /* diff --git a/src/display/nr-filter-slot.h b/src/display/nr-filter-slot.h index aaf22e513..b566be10e 100644 --- a/src/display/nr-filter-slot.h +++ b/src/display/nr-filter-slot.h @@ -15,6 +15,7 @@ */ #include "libnr/nr-pixblock.h" +#include "display/nr-filter-types.h" #include "display/nr-filter-units.h" struct NRArenaItem; @@ -72,6 +73,9 @@ public: /** Sets the unit system to be used for the internal images. */ void set_units(FilterUnits const &units); + /** Sets the filtering quality. Affects used interpolation methods */ + void set_quality(FilterQuality const q); + private: NRPixBlock **_slot; int *_slot_number; @@ -79,6 +83,8 @@ private: int _last_out; + FilterQuality filterquality; + NRArenaItem const *_arena_item; FilterUnits units; diff --git a/src/display/nr-filter-types.h b/src/display/nr-filter-types.h index ee24840cf..a54bfa670 100644 --- a/src/display/nr-filter-types.h +++ b/src/display/nr-filter-types.h @@ -37,6 +37,14 @@ enum FilterSlotType { /* Unnamed slot is for NR::FilterSlot internal use. Passing it as * parameter to NR::FilterSlot accessors may have unforeseen consequences. */ +enum FilterQuality { + FILTER_QUALITY_BEST = 2, + FILTER_QUALITY_BETTER = 1, + FILTER_QUALITY_NORMAL = 0, + FILTER_QUALITY_WORSE = -1, + FILTER_QUALITY_WORST = -2 +}; + } /* namespace NR */ #endif // __NR_FILTER_TYPES_H__ diff --git a/src/display/nr-filter.cpp b/src/display/nr-filter.cpp index 8930a74df..31aec0748 100644 --- a/src/display/nr-filter.cpp +++ b/src/display/nr-filter.cpp @@ -46,6 +46,8 @@ #include "libnr/nr-scale.h" #include "svg/svg-length.h" #include "sp-filter-units.h" +#include "preferences.h" + #if defined (SOLARIS) && (SOLARIS == 8) #include "round.h" using Inkscape::round; @@ -111,8 +113,12 @@ int Filter::render(NRArenaItem const *item, NRPixBlock *pb) return 1; } - Matrix trans = item->ctm; + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + FilterQuality const filterquality = (FilterQuality)prefs->getInt("/options/filterquality/value"); + + Geom::Matrix trans = item->ctm; FilterSlot slot(_slot_count, item); + slot.set_quality(filterquality); Geom::Rect item_bbox; if (item->item_bbox) { @@ -130,7 +136,7 @@ int Filter::render(NRArenaItem const *item, NRPixBlock *pb) } Geom::Rect filter_area = filter_effect_area(item_bbox); - if (item_bbox.isEmpty()) { + if (item_bbox.area() == 0.0) { // It's no use to try and filter an empty object. return 1; } @@ -152,18 +158,19 @@ int Filter::render(NRArenaItem const *item, NRPixBlock *pb) units.set_automatic_resolution(false); units.set_resolution(_x_pixels, y_len); } else { - Point origo = filter_area.min(); + Geom::Point origo = filter_area.min(); origo *= trans; - Point max_i(filter_area.max()[X], filter_area.min()[Y]); + Geom::Point max_i(filter_area.max()[X], filter_area.min()[Y]); max_i *= trans; - Point max_j(filter_area.min()[X], filter_area.max()[Y]); + Geom::Point max_j(filter_area.min()[X], filter_area.max()[Y]); max_j *= trans; double i_len = sqrt((origo[X] - max_i[X]) * (origo[X] - max_i[X]) + (origo[Y] - max_i[Y]) * (origo[Y] - max_i[Y])); double j_len = sqrt((origo[X] - max_j[X]) * (origo[X] - max_j[X]) + (origo[Y] - max_j[Y]) * (origo[Y] - max_j[Y])); units.set_automatic_resolution(true); - units.set_resolution(i_len, j_len); + double const divisor = _resolution_divisor(filterquality); + units.set_resolution(i_len / divisor, j_len / divisor); } units.set_paraller(false); @@ -211,7 +218,7 @@ int Filter::render(NRArenaItem const *item, NRPixBlock *pb) return 0; } -void Filter::area_enlarge(NRRectL &bbox, Matrix const &m) { +void Filter::area_enlarge(NRRectL &bbox, Geom::Matrix const &m) { for (int i = 0 ; i < _primitive_count ; i++) { if (_primitive[i]) _primitive[i]->area_enlarge(bbox, m); } @@ -238,7 +245,7 @@ void Filter::bbox_enlarge(NRRectL &bbox) { Geom::Rect Filter::filter_effect_area(Geom::Rect const &bbox) { - Point minp, maxp; + Geom::Point minp, maxp; double len_x = bbox.max()[X] - bbox.min()[X]; double len_y = bbox.max()[Y] - bbox.min()[Y]; /* TODO: fetch somehow the object ex and em lengths */ @@ -432,6 +439,26 @@ void Filter::reset_resolution() { _y_pixels = -1; } +double Filter::_resolution_divisor(FilterQuality const quality) const { + double divisor = 1; + switch (quality) { + case FILTER_QUALITY_WORST: + divisor = 8; + break; + case FILTER_QUALITY_WORSE: + divisor = 4; + break; + case FILTER_QUALITY_NORMAL: + divisor = 2; + break; + case FILTER_QUALITY_BETTER: + case FILTER_QUALITY_BEST: + default: + break; + } + return divisor; +} + } /* namespace NR */ /* diff --git a/src/display/nr-filter.h b/src/display/nr-filter.h index 1dbdfd1ef..ae3857c65 100644 --- a/src/display/nr-filter.h +++ b/src/display/nr-filter.h @@ -144,7 +144,7 @@ public: * to be rendered so that after filtering, the original area is * drawn correctly. */ - void area_enlarge(NRRectL &area, Matrix const &m); + void area_enlarge(NRRectL &area, Geom::Matrix const &m); /** * Given an object bounding box, this function enlarges it so that * it contains the filter effect area. @@ -198,6 +198,7 @@ private: void _create_constructor_table(); void _enlarge_primitive_table(); void _common_init(); + double _resolution_divisor(FilterQuality const quality) const; }; diff --git a/src/display/nr-svgfonts.cpp b/src/display/nr-svgfonts.cpp index 28d29b59c..02c9a9ea2 100644 --- a/src/display/nr-svgfonts.cpp +++ b/src/display/nr-svgfonts.cpp @@ -91,11 +91,17 @@ SvgFont::scaled_font_init (cairo_scaled_font_t *scaled_font, return CAIRO_STATUS_SUCCESS; } -unsigned int compare_them(char* s1, char* s2){ - unsigned int p=0; - while((s1[p] == s2[p]) && s1[p] != '\0' && s2[p] != '\0') p++; - if (s1[p]=='\0') return p; - else return 0; +unsigned int size_of_substring(gchar* substring, gchar* str){ + const gchar* original_substring = substring; + + while((g_utf8_get_char(substring)==g_utf8_get_char(str)) && g_utf8_get_char(substring) != 0 && g_utf8_get_char(str) != 0){ + substring = g_utf8_next_char(substring); + str = g_utf8_next_char(str); + } + if (g_utf8_get_char(substring)==0) + return substring - original_substring; + else + return 0; } cairo_status_t @@ -115,15 +121,31 @@ SvgFont::scaled_font_text_to_glyphs (cairo_scaled_font_t *scaled_font, unsigned long i; int count = 0; - char* _utf8 = (char*) utf8; + gchar* _utf8 = (gchar*) utf8; unsigned int len; - //First we findout whats the worst case number of glyphs. - while(_utf8[0] != '\0'){ - _utf8++; - count++; + bool missing; + //First we findout whats the number of glyphs needed. + while(g_utf8_get_char(_utf8) != 0){ + missing = true; + for (i=0; i < (unsigned long) this->glyphs.size(); i++){ + if ( (len = size_of_substring(this->glyphs[i]->unicode, _utf8)) ){ + //TODO: store this cluster + _utf8+=len; + count++; + missing=false; + break; + } + } + if (missing){ + //TODO: store this cluster + _utf8++; + count++; + } } +//g_warning("count is %d", count); + //We use that info to allocate memory for the glyphs *glyphs = (cairo_glyph_t*) malloc(count*sizeof(cairo_glyph_t)); @@ -134,10 +156,10 @@ SvgFont::scaled_font_text_to_glyphs (cairo_scaled_font_t *scaled_font, double x=0, y=0;//These vars store the position of the glyph within the rendered string bool is_horizontal_text = true; //TODO _utf8 = (char*) utf8; - while(_utf8[0] != '\0'){ + while(g_utf8_get_char(_utf8) != 0){ len = 0; for (i=0; i < (unsigned long) this->glyphs.size(); i++){ - if ( (len = compare_them(this->glyphs[i]->unicode, _utf8)) ){ + if ( (len = size_of_substring(this->glyphs[i]->unicode, _utf8)) ){ //check whether is there a glyph declared on the SVG document // that matches with the text string in its current position for(SPObject* node = this->font->children;previous_unicode && node;node=node->next){ @@ -167,7 +189,7 @@ SvgFont::scaled_font_text_to_glyphs (cairo_scaled_font_t *scaled_font, //advance glyph coordinates: if (is_horizontal_text) x++; else y++; - _utf8+=len; //advance 'len' chars in our string pointer + _utf8+=len; //advance 'len' bytes in our string pointer //continue; goto dirty; } @@ -180,7 +202,7 @@ dirty: //advance glyph coordinates: if (is_horizontal_text) x++; else y++; - _utf8++; //advance 1 char in our string pointer + _utf8 = g_utf8_next_char(_utf8); //advance 1 char in our string pointer } } *num_glyphs = count; diff --git a/src/display/sp-canvas.cpp b/src/display/sp-canvas.cpp index d82e39238..53dd6c62c 100644 --- a/src/display/sp-canvas.cpp +++ b/src/display/sp-canvas.cpp @@ -35,7 +35,7 @@ #include #include #include -#include "prefs-utils.h" +#include "preferences.h" #include "inkscape.h" #include "sodipodi-ctrlrect.h" #if ENABLE_LCMS @@ -45,6 +45,8 @@ #include "libnr/nr-blit.h" #include "display/inkscape-cairo.h" #include "debug/gdk-event-latency-tracker.h" +#include "desktop.h" +#include "sp-namedview.h" using Inkscape::Debug::GdkEventLatencyTracker; @@ -945,6 +947,10 @@ static void sp_canvas_dirty_rect(SPCanvas* canvas, int nl, int nt, int nr, int n static void sp_canvas_mark_rect(SPCanvas* canvas, int nl, int nt, int nr, int nb, uint8_t val); static int do_update (SPCanvas *canvas); +static gboolean sp_canvas_snap_watchdog_callback(gpointer data); +static void sp_canvas_snap_watchdog_set(SPCanvas *canvas, GdkEventMotion *event); +static void sp_canvas_snap_watchdog_kill(SPCanvas *canvas); + /** * Registers the SPCanvas class if necessary, and returns the type ID * associated to it. @@ -1042,6 +1048,8 @@ sp_canvas_init (SPCanvas *canvas) canvas->is_scrolling = false; + canvas->watchdog_id = 0; + canvas->watchdog_event = NULL; } /** @@ -1106,7 +1114,7 @@ static void track_latency(GdkEvent const *event) { GdkEventLatencyTracker &tracker = GdkEventLatencyTracker::default_tracker(); boost::optional latency = tracker.process(event); if (latency && *latency > 2.0) { - g_warning("Event latency reached %f sec (%1.4f)", *latency, tracker.getSkew()); + //g_warning("Event latency reached %f sec (%1.4f)", *latency, tracker.getSkew()); } } @@ -1157,7 +1165,8 @@ sp_canvas_realize (GtkWidget *widget) widget->window = gdk_window_new (gtk_widget_get_parent_window (widget), &attributes, attributes_mask); gdk_window_set_user_data (widget->window, widget); - if ( prefs_get_int_attribute ("options.useextinput", "value", 1) ) + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if ( prefs->getBool("/options/useextinput/value", true) ) gtk_widget_set_events(widget, attributes.event_mask); widget->style = gtk_style_attach (widget->style, widget->window); @@ -1574,7 +1583,10 @@ static inline void request_motions(GdkWindow *w, GdkEventMotion *event) { static int sp_canvas_motion (GtkWidget *widget, GdkEventMotion *event) { - int status; + static guint32 prev_time; + static boost::optional prev_pos; + + int status; SPCanvas *canvas = SP_CANVAS (widget); track_latency((GdkEvent *)event); @@ -1584,7 +1596,52 @@ sp_canvas_motion (GtkWidget *widget, GdkEventMotion *event) if (canvas->pixmap_gc == NULL) // canvas being deleted return FALSE; - + + // Snap when speed drops below e.g. 0.1 px/msec, or when no motion events have occured for 100 msec. + // i.e. snap when we're at stand still. The speed threshold enforces snapping for tablets, which will never + // be full at stand still and might keep spitting out motion events. + + // When moving at speeds around the speed limit, Inkscape might snap for one motion event but not for the + // next, which will make the object that's being dragged jump from the snapped position to the mouse + // position and back again. That could be annoying, but I don't see an easy way around this. + + if (event->type == GDK_MOTION_NOTIFY) { + Geom::Point event_pos(event->x, event->y); + guint32 event_t = gdk_event_get_time ( (GdkEvent *) event ); + + sp_canvas_snap_watchdog_kill(canvas); + SPDesktop *dt = SP_ACTIVE_DESKTOP; + + if (prev_pos) { + Geom::Coord dist = Geom::L2(event_pos - *prev_pos); + guint32 delta_t = event_t - prev_time; + gdouble speed = delta_t > 0 ? dist/delta_t : 1000; + // std::cout << "speed = " << speed << " px/msec " << "| time passed = " << delta_t << " msec" << std::endl; + if (speed < 0.1) { + if (dt) { + dt->namedview->snap_manager.snapprefs.setSnapPostponedGlobally(false); + } + } else { + // We're moving fast, so postpone any snapping until the next GDK_MOTION_NOTIFY event. + if (dt) { + dt->namedview->snap_manager.snapprefs.setSnapPostponedGlobally(true); + } + // We must snap at some point in time though, so set a watchdog timer at 100 msec from + // now, just in case there's no future motion event that's under the speed limit. + sp_canvas_snap_watchdog_set(canvas, event); + } + } else { + // This is the first GDK_MOTION_NOTIFY event, so postpone snapping and set the watchdog + if (dt) { + dt->namedview->snap_manager.snapprefs.setSnapPostponedGlobally(true); + } + sp_canvas_snap_watchdog_set(canvas, event); + } + + prev_pos = event_pos; + prev_time = event_t; + } + canvas->state = event->state; pick_current_item (canvas, (GdkEvent *) event); @@ -1597,6 +1654,43 @@ sp_canvas_motion (GtkWidget *widget, GdkEventMotion *event) return status; } +gboolean sp_canvas_snap_watchdog_callback(gpointer data) +{ + SPDesktop *dt = SP_ACTIVE_DESKTOP; + if (dt) { + dt->namedview->snap_manager.snapprefs.setSnapPostponedGlobally(false); + } + + SPCanvas *canvas = reinterpret_cast(data); + emit_event(canvas, canvas->watchdog_event); + gdk_event_free(canvas->watchdog_event); + canvas->watchdog_event = NULL; + canvas->watchdog_id = 0; + + return FALSE; +} + +void sp_canvas_snap_watchdog_set(SPCanvas *canvas, GdkEventMotion *event) +{ + g_assert(canvas->watchdog_id == 0); + canvas->watchdog_id = g_timeout_add(100, &sp_canvas_snap_watchdog_callback, canvas); + g_assert(canvas->watchdog_event == NULL); + canvas->watchdog_event = gdk_event_copy( (GdkEvent *) event); +} + +void sp_canvas_snap_watchdog_kill(SPCanvas *canvas) +{ + if (canvas->watchdog_id) { + g_source_remove(canvas->watchdog_id); // Kill the watchdog + canvas->watchdog_id = 0; + } + + if (canvas->watchdog_event) { + gdk_event_free(canvas->watchdog_event); + canvas->watchdog_event = NULL; + } +} + static void sp_canvas_paint_single_buffer (SPCanvas *canvas, int x0, int y0, int x1, int y1, int draw_x1, int draw_y1, int draw_x2, int draw_y2, int sw) { @@ -1635,7 +1729,8 @@ sp_canvas_paint_single_buffer (SPCanvas *canvas, int x0, int y0, int x1, int y1, #if ENABLE_LCMS cmsHTRANSFORM transf = 0; - long long int fromDisplay = prefs_get_int_attribute_limited( "options.displayprofile", "from_display", 0, 0, 1 ); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + bool fromDisplay = prefs->getBool( "/options/displayprofile/from_display"); if ( fromDisplay ) { transf = Inkscape::colorprofile_get_display_per( canvas->cms_key ? *(canvas->cms_key) : "" ); } else { diff --git a/src/display/sp-canvas.h b/src/display/sp-canvas.h index 60bda5818..8b0958ca5 100644 --- a/src/display/sp-canvas.h +++ b/src/display/sp-canvas.h @@ -75,7 +75,7 @@ struct SPCanvasItem : public GtkObject { SPCanvasItem *parent; double x1, y1, x2, y2; - NR::Rect bounds; + Geom::Rect bounds; Geom::Matrix xform; }; @@ -193,6 +193,9 @@ struct SPCanvas { Geom::Rect getViewbox() const; NR::IRect getViewboxIntegers() const; + + guint watchdog_id; + GdkEvent *watchdog_event; }; GtkWidget *sp_canvas_new_aa(); diff --git a/src/display/sp-ctrlquadr.cpp b/src/display/sp-ctrlquadr.cpp index 31766c3c2..b307684e5 100644 --- a/src/display/sp-ctrlquadr.cpp +++ b/src/display/sp-ctrlquadr.cpp @@ -97,7 +97,7 @@ sp_ctrlquadr_render (SPCanvasItem *item, SPCanvasBuf *buf) { SPCtrlQuadr *cq = SP_CTRLQUADR (item); - //NR::Rect area (NR::Point(buf->rect.x0, buf->rect.y0), NR::Point(buf->rect.x1, buf->rect.y1)); + //Geom::Rect area (Geom::Point(buf->rect.x0, buf->rect.y0), Geom::Point(buf->rect.x1, buf->rect.y1)); if (!buf->ct) return; diff --git a/src/document.cpp b/src/document.cpp index b27d8d1cb..28a2be9a1 100644 --- a/src/document.cpp +++ b/src/document.cpp @@ -52,7 +52,7 @@ #include "document-private.h" #include "dir-util.h" #include "unit-constants.h" -#include "prefs-utils.h" +#include "preferences.h" #include "libavoid/router.h" #include "sp-item-group.h" #include "profile-manager.h" @@ -258,6 +258,7 @@ sp_document_create(Inkscape::XML::Document *rdoc, SPDocument *document; Inkscape::XML::Node *rroot; Inkscape::Version sodipodi_version; + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); rroot = rdoc->root(); @@ -313,18 +314,38 @@ sp_document_create(Inkscape::XML::Document *rdoc, // creating namedview if (!sp_item_group_get_child_by_name((SPGroup *) document->root, NULL, "sodipodi:namedview")) { // if there's none in the document already, - Inkscape::XML::Node *r = NULL; Inkscape::XML::Node *rnew = NULL; - r = inkscape_get_repr(INKSCAPE, "template.base"); - // see if there's a template with id="base" in the preferences - if (!r) { - // if there's none, create an empty element - rnew = rdoc->createElement("sodipodi:namedview"); - rnew->setAttribute("id", "base"); - } else { - // otherwise, take from preferences - rnew = r->duplicate(rroot->document()); + + rnew = rdoc->createElement("sodipodi:namedview"); + //rnew->setAttribute("id", "base"); + + // Add namedview data from the preferences + // we can't use getAllEntries because this could produce non-SVG doubles + Glib::ustring pagecolor = prefs->getString("/template/base/pagecolor"); + if (!pagecolor.empty()) { + rnew->setAttribute("pagecolor", pagecolor.data()); + } + Glib::ustring bordercolor = prefs->getString("/template/base/pagecolor"); + if (!bordercolor.empty()) { + rnew->setAttribute("bordercolor", bordercolor.data()); } + sp_repr_set_svg_double(rnew, "borderopacity", + prefs->getDouble("/template/base/borderopacity", 1.0)); + sp_repr_set_svg_double(rnew, "objecttolerance", + prefs->getDouble("/template/base/objecttolerance", 10.0)); + sp_repr_set_svg_double(rnew, "gridtolerance", + prefs->getDouble("/template/base/gridtolerance", 10.0)); + sp_repr_set_svg_double(rnew, "guidetolerance", + prefs->getDouble("/template/base/guidetolerance", 10.0)); + sp_repr_set_svg_double(rnew, "inkscape:pageopacity", + prefs->getDouble("/template/base/inkscape:pageopacity", 0.0)); + sp_repr_set_int(rnew, "inkscape:pageshadow", + prefs->getInt("/template/base/inkscape:pageshadow", 2)); + sp_repr_set_int(rnew, "inkscape:window-width", + prefs->getInt("/template/base/inkscape:window-width", 640)); + sp_repr_set_int(rnew, "inkscape:window-height", + prefs->getInt("/template/base/inkscape:window-height", 480)); + // insert into the document rroot->addChild(rnew, NULL); // clean up @@ -931,8 +952,8 @@ sp_document_item_from_list_at_point_bottom(unsigned int dkey, SPGroup *group, GS Geom::Point const p, bool take_insensitive) { g_return_val_if_fail(group, NULL); - - gdouble delta = prefs_get_double_attribute ("options.cursortolerance", "value", 1.0); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + gdouble delta = prefs->getDouble("/options/cursortolerance/value", 1.0); for (SPObject *o = sp_object_first_child(SP_OBJECT(group)) ; o != NULL ; o = SP_OBJECT_NEXT(o) ) { @@ -968,8 +989,8 @@ SPItem* find_item_at_point(unsigned int dkey, SPGroup *group, Geom::Point const p, gboolean into_groups, bool take_insensitive = false, SPItem *upto = NULL) { SPItem *seen = NULL, *newseen = NULL; - - gdouble delta = prefs_get_double_attribute ("options.cursortolerance", "value", 1.0); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + gdouble delta = prefs->getDouble("/options/cursortolerance/value", 1.0); for (SPObject *o = sp_object_first_child(SP_OBJECT(group)) ; o != NULL ; o = SP_OBJECT_NEXT(o) ) { if (!SP_IS_ITEM(o)) continue; @@ -1010,8 +1031,8 @@ SPItem* find_group_at_point(unsigned int dkey, SPGroup *group, Geom::Point const p) { SPItem *seen = NULL; - - gdouble delta = prefs_get_double_attribute ("options.cursortolerance", "value", 1.0); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + gdouble delta = prefs->getDouble("/options/cursortolerance/value", 1.0); for (SPObject *o = sp_object_first_child(SP_OBJECT(group)) ; o != NULL ; o = SP_OBJECT_NEXT(o) ) { if (!SP_IS_ITEM(o)) continue; @@ -1068,12 +1089,13 @@ GSList * sp_document_items_at_points(SPDocument *document, unsigned const key, std::vector points) { GSList *items = NULL; + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); // When picking along the path, we don't want small objects close together // (such as hatching strokes) to obscure each other by their deltas, // so we temporarily set delta to a small value - gdouble saved_delta = prefs_get_double_attribute ("options.cursortolerance", "value", 1.0); - prefs_set_double_attribute ("options.cursortolerance", "value", 0.25); + gdouble saved_delta = prefs->getDouble("/options/cursortolerance/value", 1.0); + prefs->setDouble("/options/cursortolerance/value", 0.25); for(unsigned int i = 0; i < points.size(); i++) { SPItem *item = sp_document_item_at_point(document, key, points[i], @@ -1083,7 +1105,7 @@ sp_document_items_at_points(SPDocument *document, unsigned const key, std::vecto } // and now we restore it back - prefs_set_double_attribute ("options.cursortolerance", "value", saved_delta); + prefs->setDouble("/options/cursortolerance/value", saved_delta); return items; } diff --git a/src/draw-anchor.cpp b/src/draw-anchor.cpp index 363ea0b6e..f4abd596e 100644 --- a/src/draw-anchor.cpp +++ b/src/draw-anchor.cpp @@ -25,7 +25,7 @@ * Creates an anchor object and initializes it. */ SPDrawAnchor * -sp_draw_anchor_new(SPDrawContext *dc, SPCurve *curve, gboolean start, NR::Point delta) +sp_draw_anchor_new(SPDrawContext *dc, SPCurve *curve, gboolean start, Geom::Point delta) { if (SP_IS_LPETOOL_CONTEXT(dc)) { // suppress all kinds of anchors in LPEToolContext @@ -78,7 +78,7 @@ sp_draw_anchor_destroy(SPDrawAnchor *anchor) * pointer to it or NULL. */ SPDrawAnchor * -sp_draw_anchor_test(SPDrawAnchor *anchor, NR::Point w, gboolean activate) +sp_draw_anchor_test(SPDrawAnchor *anchor, Geom::Point w, gboolean activate) { SPDesktop *dt = SP_EVENT_CONTEXT_DESKTOP(anchor->dc); diff --git a/src/draw-anchor.h b/src/draw-anchor.h index 1036a5472..027761684 100644 --- a/src/draw-anchor.h +++ b/src/draw-anchor.h @@ -6,8 +6,8 @@ */ #include +#include <2geom/point.h> -#include "libnr/nr-point.h" struct SPDrawContext; struct SPCurve; struct SPCanvasItem; @@ -19,15 +19,15 @@ struct SPDrawAnchor { SPCurve *curve; guint start : 1; guint active : 1; - NR::Point dp; + Geom::Point dp; SPCanvasItem *ctrl; }; SPDrawAnchor *sp_draw_anchor_new(SPDrawContext *dc, SPCurve *curve, gboolean start, - NR::Point delta); + Geom::Point delta); SPDrawAnchor *sp_draw_anchor_destroy(SPDrawAnchor *anchor); -SPDrawAnchor *sp_draw_anchor_test(SPDrawAnchor *anchor, NR::Point w, gboolean activate); +SPDrawAnchor *sp_draw_anchor_test(SPDrawAnchor *anchor, Geom::Point w, gboolean activate); #endif /* !SEEN_DRAW_ANCHOR_H */ diff --git a/src/draw-context.cpp b/src/draw-context.cpp index d21ee5ffe..d1124b75a 100644 --- a/src/draw-context.cpp +++ b/src/draw-context.cpp @@ -35,7 +35,7 @@ #include "message-stack.h" #include "pen-context.h" #include "lpe-tool-context.h" -#include "prefs-utils.h" +#include "preferences.h" #include "selection.h" #include "selection-chemistry.h" #include "snap.h" @@ -49,7 +49,7 @@ static void sp_draw_context_init(SPDrawContext *dc); static void sp_draw_context_dispose(GObject *object); static void sp_draw_context_setup(SPEventContext *ec); -static void sp_draw_context_set(SPEventContext *ec, gchar const *key, gchar const *value); +static void sp_draw_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val); static void sp_draw_context_finish(SPEventContext *ec); static gint sp_draw_context_root_handler(SPEventContext *event_context, GdkEvent *event); @@ -225,7 +225,7 @@ sp_draw_context_finish(SPEventContext *ec) } static void -sp_draw_context_set(SPEventContext */*ec*/, const gchar */*key*/, const gchar */*value*/) +sp_draw_context_set(SPEventContext */*ec*/, Inkscape::Preferences::Entry */*val*/) { } @@ -263,12 +263,12 @@ sp_draw_context_root_handler(SPEventContext *ec, GdkEvent *event) return ret; } -static char const * +static Glib::ustring const tool_name(SPDrawContext *dc) { return ( SP_IS_PEN_CONTEXT(dc) - ? "tools.freehand.pen" - : "tools.freehand.pencil" ); + ? "/tools/freehand/pen" + : "/tools/freehand/pencil" ); } static void @@ -292,13 +292,14 @@ void spdc_check_for_and_apply_waiting_LPE(SPDrawContext *dc, SPItem *item) { using namespace Inkscape::LivePathEffect; + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); if (item && SP_IS_LPE_ITEM(item)) { - if (prefs_get_int_attribute(tool_name(dc), "freehand-mode", 0) == 1) { + if (prefs->getBool(tool_name(dc) + "/freehand-mode", 0) == 1) { Effect::createAndApply(SPIRO, dc->desktop->doc(), item); } - int shape = prefs_get_int_attribute(tool_name(dc), "shape", 0); + int shape = prefs->getInt(tool_name(dc) + "/shape", 0); bool shape_applied = false; SPCSSAttr *css_item = sp_css_attr_from_object (SP_OBJECT(item), SP_STYLE_FLAG_ALWAYS); const char *cstroke = sp_repr_css_property(css_item, "stroke", "none"); @@ -469,7 +470,8 @@ spdc_attach_selection(SPDrawContext *dc, Inkscape::Selection */*sel*/) void spdc_endpoint_snap_rotation(SPEventContext const *const ec, Geom::Point &p, Geom::Point const &o, guint state) { - unsigned const snaps = abs(prefs_get_int_attribute("options.rotationsnapsperpi", "value", 12)); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + unsigned const snaps = abs(prefs->getInt("/options/rotationsnapsperpi/value", 12)); /* 0 means no snapping. */ /* mirrored by fabs, so this corresponds to 15 degrees */ @@ -484,8 +486,8 @@ void spdc_endpoint_snap_rotation(SPEventContext const *const ec, Geom::Point &p, for (unsigned i = 0; i < snaps; i++) { double const ndot = fabs(dot(v,Geom::rot90(delta))); - Geom::Point t(r00*v[NR::X] + r01*v[NR::Y], - r10*v[NR::X] + r11*v[NR::Y]); + Geom::Point t(r00*v[Geom::X] + r01*v[Geom::Y], + r10*v[Geom::X] + r11*v[Geom::Y]); if (ndot < bn) { /* I think it is better numerically to use the normal, rather than the dot product * to assess solutions, but I haven't proven it. */ @@ -506,7 +508,7 @@ void spdc_endpoint_snap_rotation(SPEventContext const *const ec, Geom::Point &p, SnapManager &m = SP_EVENT_CONTEXT_DESKTOP(ec)->namedview->snap_manager; m.setup(SP_EVENT_CONTEXT_DESKTOP(ec)); Geom::Point pt2g = to_2geom(p); - m.constrainedSnapReturnByRef( Inkscape::Snapper::SNAPPOINT_NODE, pt2g, Inkscape::Snapper::ConstraintLine(best)); + m.constrainedSnapReturnByRef( Inkscape::SnapPreferences::SNAPPOINT_NODE, pt2g, Inkscape::Snapper::ConstraintLine(best)); p = from_2geom(pt2g); } } @@ -518,7 +520,7 @@ void spdc_endpoint_snap_free(SPEventContext const * const ec, Geom::Point& p, gu SnapManager &m = SP_EVENT_CONTEXT_DESKTOP(ec)->namedview->snap_manager; m.setup(SP_EVENT_CONTEXT_DESKTOP(ec)); Geom::Point pt2g = to_2geom(p); - m.freeSnapReturnByRef(Inkscape::Snapper::SNAPPOINT_NODE, pt2g); + m.freeSnapReturnByRef(Inkscape::SnapPreferences::SNAPPOINT_NODE, pt2g); p = from_2geom(pt2g); } @@ -666,7 +668,7 @@ spdc_flush_white(SPDrawContext *dc, SPCurve *gc) } else { repr = xml_doc->createElement("svg:path"); /* Set style */ - sp_desktop_apply_style_tool(desktop, repr, tool_name(dc), false); + sp_desktop_apply_style_tool(desktop, repr, tool_name(dc).data(), false); } gchar *str = sp_svg_write_path( c->get_pathvector() ); @@ -794,7 +796,8 @@ spdc_free_colors(SPDrawContext *dc) /* Create a single dot represented by a circle */ void spdc_create_single_dot(SPEventContext *ec, Geom::Point const &pt, char const *tool, guint event_state) { - g_return_if_fail(!strcmp(tool, "tools.freehand.pen") || !strcmp(tool, "tools.freehand.pencil")); + g_return_if_fail(!strcmp(tool, "/tools/freehand/pen") || !strcmp(tool, "/tools/freehand/pencil")); + Glib::ustring tool_path = tool; SPDesktop *desktop = SP_EVENT_CONTEXT_DESKTOP(ec); Inkscape::XML::Document *xml_doc = sp_document_repr_doc(desktop->doc()); @@ -825,9 +828,11 @@ void spdc_create_single_dot(SPEventContext *ec, Geom::Point const &pt, char cons /* put the circle where the mouse click occurred and set the diameter to the current stroke width, multiplied by the amount specified in the preferences */ + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + Geom::Matrix const i2d (sp_item_i2d_affine (item)); Geom::Point pp = pt * i2d; - double rad = 0.5 * prefs_get_double_attribute(tool, "dot-size", 3.0); + double rad = 0.5 * prefs->getDouble(tool_path + "/dot-size", 3.0); if (event_state & GDK_MOD1_MASK) { /* TODO: We vary the dot size between 0.5*rad and 1.5*rad, where rad is the dot size as specified in prefs. Very simple, but it might be sufficient in practice. If not, @@ -840,8 +845,8 @@ void spdc_create_single_dot(SPEventContext *ec, Geom::Point const &pt, char cons rad *= 2; } - sp_repr_set_svg_double (repr, "sodipodi:cx", pp[NR::X]); - sp_repr_set_svg_double (repr, "sodipodi:cy", pp[NR::Y]); + sp_repr_set_svg_double (repr, "sodipodi:cx", pp[Geom::X]); + sp_repr_set_svg_double (repr, "sodipodi:cy", pp[Geom::Y]); sp_repr_set_svg_double (repr, "sodipodi:rx", rad * stroke_width); sp_repr_set_svg_double (repr, "sodipodi:ry", rad * stroke_width); item->updateRepr(); diff --git a/src/dropper-context.cpp b/src/dropper-context.cpp index 0e30acf1b..1f6842a5c 100644 --- a/src/dropper-context.cpp +++ b/src/dropper-context.cpp @@ -30,7 +30,7 @@ #include "color.h" #include "color-rgba.h" #include "desktop-style.h" -#include "prefs-utils.h" +#include "preferences.h" #include "sp-namedview.h" #include "desktop.h" #include "desktop-handles.h" @@ -114,11 +114,12 @@ static void sp_dropper_context_setup(SPEventContext *ec) sp_canvas_bpath_set_stroke(SP_CANVAS_BPATH(dc->area), 0x0000007f, 1.0, SP_STROKE_LINEJOIN_MITER, SP_STROKE_LINECAP_BUTT); sp_canvas_item_hide(dc->area); - if (prefs_get_int_attribute("tools.dropper", "selcue", 0) != 0) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/tools/dropper/selcue")) { ec->enableSelectionCue(); } - if (prefs_get_int_attribute("tools.dropper", "gradientdrag", 0) != 0) { + if (prefs->getBool("/tools/dropper/gradientdrag")) { ec->enableGrDrag(); } } @@ -142,10 +143,11 @@ static void sp_dropper_context_finish(SPEventContext *ec) guint32 sp_dropper_context_get_color(SPEventContext *ec) { SPDropperContext *dc = SP_DROPPER_CONTEXT(ec); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - int pick = prefs_get_int_attribute("tools.dropper", "pick", + int pick = prefs->getInt("/tools/dropper/pick", SP_DROPPER_PICK_VISIBLE); - int setalpha = prefs_get_int_attribute("tools.dropper", "setalpha", 1); + bool setalpha = prefs->getBool("/tools/dropper/setalpha", true); return SP_RGBA32_F_COMPOSE(dc->R, dc->G, dc->B, (pick == SP_DROPPER_PICK_ACTUAL && setalpha) ? dc->alpha : 1.0); @@ -157,9 +159,10 @@ static gint sp_dropper_context_root_handler(SPEventContext *event_context, GdkEv SPDropperContext *dc = (SPDropperContext *) event_context; int ret = FALSE; SPDesktop *desktop = event_context->desktop; + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - int pick = prefs_get_int_attribute("tools.dropper", "pick", SP_DROPPER_PICK_VISIBLE); - int setalpha = prefs_get_int_attribute("tools.dropper", "setalpha", 1); + int pick = prefs->getInt("/tools/dropper/pick", SP_DROPPER_PICK_VISIBLE); + bool setalpha = prefs->getBool("/tools/dropper/setalpha", true); switch (event->type) { case GDK_BUTTON_PRESS: diff --git a/src/dyna-draw-context.cpp b/src/dyna-draw-context.cpp index 2d4782f9b..e22520ecb 100644 --- a/src/dyna-draw-context.cpp +++ b/src/dyna-draw-context.cpp @@ -46,7 +46,7 @@ #include "desktop-affine.h" #include "desktop-style.h" #include "message-context.h" -#include "prefs-utils.h" +#include "preferences.h" #include "pixmaps/cursor-calligraphy.xpm" #include "libnr/nr-matrix-ops.h" #include "libnr/nr-scale-translate-ops.h" @@ -84,7 +84,7 @@ static void sp_dyna_draw_context_init(SPDynaDrawContext *ddc); static void sp_dyna_draw_context_dispose(GObject *object); static void sp_dyna_draw_context_setup(SPEventContext *ec); -static void sp_dyna_draw_context_set(SPEventContext *ec, gchar const *key, gchar const *val); +static void sp_dyna_draw_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *value); static gint sp_dyna_draw_context_root_handler(SPEventContext *ec, GdkEvent *event); static void clear_current(SPDynaDrawContext *dc); @@ -236,27 +236,28 @@ sp_dyna_draw_context_setup(SPEventContext *ec) sp_event_context_read(ec, "cap_rounding"); ddc->is_drawing = false; - ddc->_message_context = new Inkscape::MessageContext((ec->desktop)->messageStack()); - if (prefs_get_int_attribute("tools.calligraphic", "selcue", 0) != 0) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/tools/calligraphic/selcue")) { ec->enableSelectionCue(); } } static void -sp_dyna_draw_context_set(SPEventContext *ec, gchar const *key, gchar const *val) +sp_dyna_draw_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val) { SPDynaDrawContext *ddc = SP_DYNA_DRAW_CONTEXT(ec); + Glib::ustring path = val->getEntryName(); - if (!strcmp(key, "tracebackground")) { - ddc->trace_bg = (val && strcmp(val, "0")); - } else if (!strcmp(key, "keep_selected")) { - ddc->keep_selected = (val && strcmp(val, "0")); + if (path == "tracebackground") { + ddc->trace_bg = val->getBool(); + } else if (path == "keep_selected") { + ddc->keep_selected = val->getBool(); } else { //pass on up to parent class to handle common attributes. if ( dd_parent_class->set ) { - dd_parent_class->set(ec, key, val); + dd_parent_class->set(ec, val); } } @@ -337,7 +338,7 @@ sp_dyna_draw_apply(SPDynaDrawContext *dc, Geom::Point p) // This prevents flips, blobs, and jerks caused by microscopic tremor of the tablet pen, // especially bothersome at the start of the stroke where we don't yet have the inertia to // smooth them out. - if ( NR::L2(force) < DYNA_EPSILON || (dc->vel_max < DYNA_VEL_START && NR::L2(force) < DYNA_EPSILON_START)) { + if ( Geom::L2(force) < DYNA_EPSILON || (dc->vel_max < DYNA_VEL_START && Geom::L2(force) < DYNA_EPSILON_START)) { return FALSE; } @@ -346,8 +347,8 @@ sp_dyna_draw_apply(SPDynaDrawContext *dc, Geom::Point p) /* Calculate new velocity */ dc->vel += dc->acc; - if (NR::L2(dc->vel) > dc->vel_max) - dc->vel_max = NR::L2(dc->vel); + if (Geom::L2(dc->vel) > dc->vel_max) + dc->vel_max = Geom::L2(dc->vel); /* Calculate angle of drawing tool */ @@ -371,11 +372,11 @@ sp_dyna_draw_apply(SPDynaDrawContext *dc, Geom::Point p) } // 2. perpendicular to dc->vel (absolutely non-flat nib): - gdouble const mag_vel = NR::L2(dc->vel); + gdouble const mag_vel = Geom::L2(dc->vel); if ( mag_vel < DYNA_EPSILON ) { return FALSE; } - Geom::Point ang2 = NR::rot90(dc->vel) / mag_vel; + Geom::Point ang2 = Geom::rot90(dc->vel) / mag_vel; // 3. Average them using flatness parameter: // calculate angles @@ -397,8 +398,8 @@ sp_dyna_draw_apply(SPDynaDrawContext *dc, Geom::Point p) // Try to detect a sudden flip when the new angle differs too much from the previous for the // current velocity; in that case discard this move - double angle_delta = NR::L2(Geom::Point (cos (new_ang), sin (new_ang)) - dc->ang); - if ( angle_delta / NR::L2(dc->vel) > 4000 ) { + double angle_delta = Geom::L2(Geom::Point (cos (new_ang), sin (new_ang)) - dc->ang); + if ( angle_delta / Geom::L2(dc->vel) > 4000 ) { return FALSE; } @@ -437,8 +438,8 @@ sp_dyna_draw_brush(SPDynaDrawContext *dc) if (dc->trace_bg) { // pick single pixel NRPixBlock pb; - int x = (int) floor(brush_w[NR::X]); - int y = (int) floor(brush_w[NR::Y]); + int x = (int) floor(brush_w[Geom::X]); + int y = (int) floor(brush_w[Geom::Y]); nr_pixblock_setup_fast(&pb, NR_PIXBLOCK_MODE_R8G8B8A8P, x, y, x+1, y+1, TRUE); sp_canvas_arena_render_pixblock(SP_CANVAS_ARENA(sp_desktop_drawing(SP_EVENT_CONTEXT(dc)->desktop)), &pb); const unsigned char *s = NR_PIXBLOCK_PX(&pb); @@ -453,7 +454,7 @@ sp_dyna_draw_brush(SPDynaDrawContext *dc) //g_print ("L %g thick %g\n", L, trace_thick); } - double width = (pressure_thick * trace_thick - vel_thin * NR::L2(dc->vel)) * dc->width; + double width = (pressure_thick * trace_thick - vel_thin * Geom::L2(dc->vel)) * dc->width; double tremble_left = 0, tremble_right = 0; if (dc->tremor > 0) { @@ -473,8 +474,8 @@ sp_dyna_draw_brush(SPDynaDrawContext *dc) // (2) deflection depends on width, but is upped for small widths for better visual uniformity across widths; // (3) deflection somewhat depends on speed, to prevent fast strokes looking // comparatively smooth and slow ones excessively jittery - tremble_left = (y1)*dc->tremor * (0.15 + 0.8*width) * (0.35 + 14*NR::L2(dc->vel)); - tremble_right = (y2)*dc->tremor * (0.15 + 0.8*width) * (0.35 + 14*NR::L2(dc->vel)); + tremble_left = (y1)*dc->tremor * (0.15 + 0.8*width) * (0.35 + 14*Geom::L2(dc->vel)); + tremble_right = (y2)*dc->tremor * (0.15 + 0.8*width) * (0.35 + 14*Geom::L2(dc->vel)); } if ( width < 0.02 * dc->width ) { @@ -644,11 +645,11 @@ sp_dyna_draw_context_root_handler(SPEventContext *event_context, // mass recommended; with zero mass, jerks are still quite noticeable). double speed = 1; - if (NR::L2(dc->hatch_last_nearest) != 0) { + if (Geom::L2(dc->hatch_last_nearest) != 0) { // the distance nearest moved since the last motion event - double nearest_moved = NR::L2(nearest - dc->hatch_last_nearest); + double nearest_moved = Geom::L2(nearest - dc->hatch_last_nearest); // the distance pointer moved since the last motion event - double pointer_moved = NR::L2(pointer - dc->hatch_last_pointer); + double pointer_moved = Geom::L2(pointer - dc->hatch_last_pointer); // store them in stacks limited to SPEED_ELEMENTS dc->hatch_nearest_past.push_front(nearest_moved); if (dc->hatch_nearest_past.size() > SPEED_ELEMENTS) @@ -686,7 +687,7 @@ sp_dyna_draw_context_root_handler(SPEventContext *event_context, // summed, to detect if we accidentally flipped to the other side of the // guide double dot = NR::dot (pointer - nearest, dc->hatch_vector_accumulated); - dot /= NR::L2(pointer - nearest) * NR::L2(dc->hatch_vector_accumulated); + dot /= Geom::L2(pointer - nearest) * Geom::L2(dc->hatch_vector_accumulated); if (dc->hatch_spacing != 0) { // spacing was already set double target; @@ -769,7 +770,7 @@ sp_dyna_draw_context_root_handler(SPEventContext *event_context, } else { // Not drawing but spacing set: gray, center snapped, fixed radius Geom::Point c = (nearest + dc->hatch_spacing * hatch_unit_vector) * motion_to_curve.inverse(); - if (!IS_NAN(c[NR::X]) && !IS_NAN(c[NR::Y])) { + if (!IS_NAN(c[Geom::X]) && !IS_NAN(c[Geom::Y])) { NR::Matrix const sm (Geom::Scale(dc->hatch_spacing, dc->hatch_spacing) * Geom::Translate(c)); sp_canvas_item_affine_absolute(dc->hatch_area, sm); sp_canvas_bpath_set_stroke(SP_CANVAS_BPATH(dc->hatch_area), 0x7f7f7fff, 1.0, SP_STROKE_LINEJOIN_MITER, SP_STROKE_LINECAP_BUTT); @@ -973,7 +974,7 @@ set_to_accumulated(SPDynaDrawContext *dc, bool unionize) Inkscape::XML::Node *repr = xml_doc->createElement("svg:path"); /* Set style */ - sp_desktop_apply_style_tool (desktop, repr, "tools.calligraphic", false); + sp_desktop_apply_style_tool (desktop, repr, "/tools/calligraphic", false); dc->repr = repr; @@ -1014,11 +1015,11 @@ add_cap(SPCurve *curve, Geom::Point const &to, double rounding) { - if (NR::L2( to - from ) > DYNA_EPSILON) { + if (Geom::L2( to - from ) > DYNA_EPSILON) { Geom::Point vel = rounding * NR::rot90( to - from ) / sqrt(2.0); - double mag = NR::L2(vel); + double mag = Geom::L2(vel); - Geom::Point v = mag * NR::rot90( to - from ) / NR::L2( to - from ); + Geom::Point v = mag * NR::rot90( to - from ) / Geom::L2( to - from ); curve->curveto(from + v, to + v, to); } } @@ -1195,11 +1196,11 @@ fit_and_split(SPDynaDrawContext *dc, gboolean release) sp_canvas_bpath_set_bpath(SP_CANVAS_BPATH (cbp), curve); curve->unref(); - guint32 fillColor = sp_desktop_get_color_tool (desktop, "tools.calligraphic", true); - //guint32 strokeColor = sp_desktop_get_color_tool (desktop, "tools.calligraphic", false); - double opacity = sp_desktop_get_master_opacity_tool (desktop, "tools.calligraphic"); - double fillOpacity = sp_desktop_get_opacity_tool (desktop, "tools.calligraphic", true); - //double strokeOpacity = sp_desktop_get_opacity_tool (desktop, "tools.calligraphic", false); + guint32 fillColor = sp_desktop_get_color_tool (desktop, "/tools/calligraphic", true); + //guint32 strokeColor = sp_desktop_get_color_tool (desktop, "/tools/calligraphic", false); + double opacity = sp_desktop_get_master_opacity_tool (desktop, "/tools/calligraphic"); + double fillOpacity = sp_desktop_get_opacity_tool (desktop, "/tools/calligraphic", true); + //double strokeOpacity = sp_desktop_get_opacity_tool (desktop, "/tools/calligraphic", false); sp_canvas_bpath_set_fill(SP_CANVAS_BPATH(cbp), ((fillColor & 0xffffff00) | SP_COLOR_F_TO_U(opacity*fillOpacity)), SP_WIND_RULE_EVENODD); //on second thougtht don't do stroke yet because we don't have stoke-width yet and because stoke appears between segments while drawing //sp_canvas_bpath_set_stroke(SP_CANVAS_BPATH(cbp), ((strokeColor & 0xffffff00) | SP_COLOR_F_TO_U(opacity*strokeOpacity)), 1.0, SP_STROKE_LINEJOIN_MITER, SP_STROKE_LINECAP_BUTT); diff --git a/src/eraser-context.cpp b/src/eraser-context.cpp index d82d7ea89..fab6f4dad 100644 --- a/src/eraser-context.cpp +++ b/src/eraser-context.cpp @@ -46,7 +46,7 @@ #include "desktop-affine.h" #include "desktop-style.h" #include "message-context.h" -#include "prefs-utils.h" +#include "preferences.h" #include "pixmaps/cursor-eraser.xpm" #include "xml/repr.h" #include "context-fns.h" @@ -84,7 +84,7 @@ static void sp_eraser_context_init(SPEraserContext *erc); static void sp_eraser_context_dispose(GObject *object); static void sp_eraser_context_setup(SPEventContext *ec); -static void sp_eraser_context_set(SPEventContext *ec, gchar const *key, gchar const *val); +static void sp_eraser_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val); static gint sp_eraser_context_root_handler(SPEventContext *ec, GdkEvent *event); static void clear_current(SPEraserContext *dc); @@ -204,7 +204,8 @@ static ProfileFloatElement f_profile[PROFILE_FLOAT_SIZE] = { erc->_message_context = new Inkscape::MessageContext(desktop->messageStack()); - if (prefs_get_int_attribute("tools.eraser", "selcue", 0) != 0) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/tools/eraser/selcue", 0) != 0) { ec->enableSelectionCue(); } // TODO temp force: @@ -213,11 +214,11 @@ static ProfileFloatElement f_profile[PROFILE_FLOAT_SIZE] = { } static void -sp_eraser_context_set(SPEventContext *ec, gchar const *key, gchar const *val) +sp_eraser_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val) { //pass on up to parent class to handle common attributes. if ( eraser_parent_class->set ) { - eraser_parent_class->set(ec, key, val); + eraser_parent_class->set(ec, val); } } @@ -295,7 +296,7 @@ sp_eraser_apply(SPEraserContext *dc, Geom::Point p) // This prevents flips, blobs, and jerks caused by microscopic tremor of the tablet pen, // especially bothersome at the start of the stroke where we don't yet have the inertia to // smooth them out. - if ( NR::L2(force) < ERASER_EPSILON || (dc->vel_max < ERASER_VEL_START && NR::L2(force) < ERASER_EPSILON_START)) { + if ( Geom::L2(force) < ERASER_EPSILON || (dc->vel_max < ERASER_VEL_START && Geom::L2(force) < ERASER_EPSILON_START)) { return FALSE; } @@ -304,8 +305,8 @@ sp_eraser_apply(SPEraserContext *dc, Geom::Point p) /* Calculate new velocity */ dc->vel += dc->acc; - if (NR::L2(dc->vel) > dc->vel_max) - dc->vel_max = NR::L2(dc->vel); + if (Geom::L2(dc->vel) > dc->vel_max) + dc->vel_max = Geom::L2(dc->vel); /* Calculate angle of drawing tool */ @@ -717,7 +718,7 @@ set_to_accumulated(SPEraserContext *dc) Inkscape::XML::Node *repr = xml_doc->createElement("svg:path"); /* Set style */ - sp_desktop_apply_style_tool (desktop, repr, "tools.eraser", false); + sp_desktop_apply_style_tool (desktop, repr, "/tools/eraser", false); dc->repr = repr; @@ -735,7 +736,9 @@ set_to_accumulated(SPEraserContext *dc) if ( dc->repr ) { bool wasSelection = false; Inkscape::Selection *selection = sp_desktop_selection(desktop); - gint eraserMode = (prefs_get_int_attribute("tools.eraser", "mode", 0) != 0) ? 1 : 0; + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + + gint eraserMode = prefs->getBool("/tools/eraser/mode") ? 1 : 0; Inkscape::XML::Document *xml_doc = sp_document_repr_doc(desktop->doc()); SPItem* acid = SP_ITEM(desktop->doc()->getObjectByRepr(dc->repr)); @@ -1001,7 +1004,8 @@ fit_and_split(SPEraserContext *dc, gboolean release) g_print("[%d]Yup\n", dc->npoints); #endif if (!release) { - gint eraserMode = (prefs_get_int_attribute("tools.eraser", "mode", 0) != 0) ? 1 : 0; + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + gint eraserMode = prefs->getBool("/tools/eraser/mode") ? 1 : 0; g_assert(!dc->currentcurve->is_empty()); SPCanvasItem *cbp = sp_canvas_item_new(sp_desktop_sketch(desktop), @@ -1011,11 +1015,11 @@ fit_and_split(SPEraserContext *dc, gboolean release) sp_canvas_bpath_set_bpath(SP_CANVAS_BPATH (cbp), curve); curve->unref(); - guint32 fillColor = sp_desktop_get_color_tool (desktop, "tools.eraser", true); - //guint32 strokeColor = sp_desktop_get_color_tool (desktop, "tools.eraser", false); - double opacity = sp_desktop_get_master_opacity_tool (desktop, "tools.eraser"); - double fillOpacity = sp_desktop_get_opacity_tool (desktop, "tools.eraser", true); - //double strokeOpacity = sp_desktop_get_opacity_tool (desktop, "tools.eraser", false); + guint32 fillColor = sp_desktop_get_color_tool (desktop, "/tools/eraser", true); + //guint32 strokeColor = sp_desktop_get_color_tool (desktop, "/tools/eraser", false); + double opacity = sp_desktop_get_master_opacity_tool (desktop, "/tools/eraser"); + double fillOpacity = sp_desktop_get_opacity_tool (desktop, "/tools/eraser", true); + //double strokeOpacity = sp_desktop_get_opacity_tool (desktop, "/tools/eraser", false); sp_canvas_bpath_set_fill(SP_CANVAS_BPATH(cbp), ((fillColor & 0xffffff00) | SP_COLOR_F_TO_U(opacity*fillOpacity)), SP_WIND_RULE_EVENODD); //on second thougtht don't do stroke yet because we don't have stoke-width yet and because stoke appears between segments while drawing //sp_canvas_bpath_set_stroke(SP_CANVAS_BPATH(cbp), ((strokeColor & 0xffffff00) | SP_COLOR_F_TO_U(opacity*strokeOpacity)), 1.0, SP_STROKE_LINEJOIN_MITER, SP_STROKE_LINECAP_BUTT); diff --git a/src/event-context.cpp b/src/event-context.cpp index e5f81a2b9..be7b2e033 100644 --- a/src/event-context.cpp +++ b/src/event-context.cpp @@ -48,7 +48,7 @@ #include "interface.h" #include "macros.h" #include "tools-switch.h" -#include "prefs-utils.h" +#include "preferences.h" #include "message-context.h" #include "gradient-drag.h" #include "object-edit.h" @@ -166,10 +166,8 @@ sp_event_context_dispose(GObject *object) ec->desktop = NULL; } - if (ec->prefs_repr) { - sp_repr_remove_listener_by_data(ec->prefs_repr, ec); - Inkscape::GC::release(ec->prefs_repr); - ec->prefs_repr = NULL; + if (ec->pref_observer) { + delete ec->pref_observer; } G_OBJECT_CLASS(parent_class)->dispose(object); @@ -338,17 +336,19 @@ static gint sp_event_context_private_root_handler(SPEventContext *event_context, static unsigned int zoom_rb = 0; SPDesktop *desktop = event_context->desktop; - - tolerance = prefs_get_int_attribute_limited( - "options.dragtolerance","value", 0, 0, 100); - double const zoom_inc = prefs_get_double_attribute_limited( - "options.zoomincrement", "value", M_SQRT2, 1.01, 10); - double const acceleration = prefs_get_double_attribute_limited( - "options.scrollingacceleration", "value", 0, 0, 6); - int const key_scroll = prefs_get_int_attribute_limited( - "options.keyscroll", "value", 10, 0, 1000); - int const wheel_scroll = prefs_get_int_attribute_limited( - "options.wheelscroll", "value", 40, 0, 1000); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + + /// @todo REmove redundant /value in preference keys + tolerance = prefs->getIntLimited( + "/options/dragtolerance/value", 0, 0, 100); + double const zoom_inc = prefs->getDoubleLimited( + "/options/zoomincrement/value", M_SQRT2, 1.01, 10); + double const acceleration = prefs->getDoubleLimited( + "/options/scrollingacceleration/value", 0, 0, 6); + int const key_scroll = prefs->getIntLimited( + "/options/keyscroll/value", 10, 0, 1000); + int const wheel_scroll = prefs->getIntLimited( + "/options/wheelscroll/value", 40, 0, 1000); gint ret = FALSE; @@ -603,7 +603,7 @@ static gint sp_event_context_private_root_handler(SPEventContext *event_context, } break; case GDK_space: - if (prefs_get_int_attribute("options.spacepans","value", 0) == 1) { + if (prefs->getBool("/options/spacepans/value")) { event_context->space_panning = true; event_context->_message_context->set(Inkscape::INFORMATION_MESSAGE, _("Space+mouse drag to pan canvas")); ret= TRUE; @@ -652,7 +652,7 @@ static gint sp_event_context_private_root_handler(SPEventContext *event_context, case GDK_SCROLL: { bool ctrl = (event->scroll.state & GDK_CONTROL_MASK); - bool wheelzooms = (prefs_get_int_attribute("options.wheelzooms","value", 0) == 1); + bool wheelzooms = prefs->getBool("/options/wheelzooms/value"); /* shift + wheel, pan left--right */ if (event->scroll.state & GDK_SHIFT_MASK) { switch (event->scroll.direction) { @@ -738,34 +738,30 @@ sp_event_context_private_item_handler(SPEventContext *ec, SPItem *item, GdkEvent } /** - * Gets called when attribute changes value. + * @brief An observer that relays pref changes to the derived classes */ -static void -sp_ec_repr_attr_changed(Inkscape::XML::Node */*prefs_repr*/, gchar const *key, gchar const */*oldval*/, gchar const *newval, - bool /*is_interactive*/, gpointer data) -{ - SPEventContext *ec; - - ec = SP_EVENT_CONTEXT(data); - - if (((SPEventContextClass *) G_OBJECT_GET_CLASS(ec))->set) { - ((SPEventContextClass *) G_OBJECT_GET_CLASS(ec))->set(ec, key, newval); +class ToolPrefObserver : public Inkscape::Preferences::Observer { +public: + ToolPrefObserver(Glib::ustring const &path, SPEventContext *ec) : + Inkscape::Preferences::Observer(path), + _ec(ec) {} + virtual void notify(Inkscape::Preferences::Entry const &val) + { + if (((SPEventContextClass *) G_OBJECT_GET_CLASS(_ec))->set) { + ((SPEventContextClass *) G_OBJECT_GET_CLASS(_ec))->set(_ec, + const_cast(&val)); + } } -} - -Inkscape::XML::NodeEventVector sp_ec_event_vector = { - NULL, /* Child added */ - NULL, /* Child removed */ - sp_ec_repr_attr_changed, - NULL, /* Content changed */ - NULL /* Order changed */ +private: + SPEventContext * const _ec; }; /** * Creates new SPEventContext object and calls its virtual setup() function. + * @todo This is bogus. pref_path should be a private property of the inheriting objects. */ SPEventContext * -sp_event_context_new(GType type, SPDesktop *desktop, Inkscape::XML::Node *prefs_repr, unsigned int key) +sp_event_context_new(GType type, SPDesktop *desktop, gchar const *pref_path, unsigned int key) { g_return_val_if_fail(g_type_is_a(type, SP_TYPE_EVENT_CONTEXT), NULL); g_return_val_if_fail(desktop != NULL, NULL); @@ -775,10 +771,13 @@ sp_event_context_new(GType type, SPDesktop *desktop, Inkscape::XML::Node *prefs_ ec->desktop = desktop; ec->_message_context = new Inkscape::MessageContext(desktop->messageStack()); ec->key = key; - ec->prefs_repr = prefs_repr; - if (ec->prefs_repr) { - Inkscape::GC::anchor(ec->prefs_repr); - sp_repr_add_listener(ec->prefs_repr, &sp_ec_event_vector, ec); + ec->pref_observer = NULL; + + if (pref_path) { + ec->pref_observer = new ToolPrefObserver(pref_path, ec); + + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->addObserver(*(ec->pref_observer)); } if (((SPEventContextClass *) G_OBJECT_GET_CLASS(ec))->setup) @@ -848,10 +847,11 @@ sp_event_context_read(SPEventContext *ec, gchar const *key) g_return_if_fail(SP_IS_EVENT_CONTEXT(ec)); g_return_if_fail(key != NULL); - if (ec->prefs_repr) { - gchar const *val = ec->prefs_repr->attribute(key); - if (((SPEventContextClass *) G_OBJECT_GET_CLASS(ec))->set) - ((SPEventContextClass *) G_OBJECT_GET_CLASS(ec))->set(ec, key, val); + if (((SPEventContextClass *) G_OBJECT_GET_CLASS(ec))->set) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + Inkscape::Preferences::Entry val = prefs->getEntry( + ec->pref_observer->observed_path + '/' + key ); + ((SPEventContextClass *) G_OBJECT_GET_CLASS(ec))->set(ec, &val); } } diff --git a/src/event-context.h b/src/event-context.h index fbffc4065..9b464b7fa 100644 --- a/src/event-context.h +++ b/src/event-context.h @@ -21,7 +21,8 @@ #include #include -#include <2geom/forward.h> +#include "2geom/forward.h" +#include "preferences.h" struct GrDrag; struct SPDesktop; @@ -48,7 +49,7 @@ struct SPEventContext : public GObject { SPEventContext *next; unsigned key; SPDesktop *desktop; - Inkscape::XML::Node *prefs_repr; + Inkscape::Preferences::Observer *pref_observer; gchar const *const *cursor_shape; gint hot_x, hot_y; ///< indicates the cursor's hot spot GdkCursor *cursor; @@ -83,7 +84,7 @@ struct SPEventContext : public GObject { struct SPEventContextClass : public GObjectClass { void (* setup)(SPEventContext *ec); void (* finish)(SPEventContext *ec); - void (* set)(SPEventContext *ec, gchar const *key, gchar const *val); + void (* set)(SPEventContext *ec, Inkscape::Preferences::Entry *val); void (* activate)(SPEventContext *ec); void (* deactivate)(SPEventContext *ec); gint (* root_handler)(SPEventContext *ec, GdkEvent *event); @@ -95,7 +96,7 @@ struct SPEventContextClass : public GObjectClass { #define SP_EVENT_CONTEXT_STATIC 0 -SPEventContext *sp_event_context_new(GType type, SPDesktop *desktop, Inkscape::XML::Node *prefs_repr, unsigned key); +SPEventContext *sp_event_context_new(GType type, SPDesktop *desktop, gchar const *pref_path, unsigned key); void sp_event_context_finish(SPEventContext *ec); void sp_event_context_read(SPEventContext *ec, gchar const *key); void sp_event_context_activate(SPEventContext *ec); diff --git a/src/extension/error-file.cpp b/src/extension/error-file.cpp index ec2878f5d..7e40522b3 100644 --- a/src/extension/error-file.cpp +++ b/src/extension/error-file.cpp @@ -16,7 +16,7 @@ #include "inkscape.h" -#include "prefs-utils.h" +#include "preferences.h" #include "dialogs/extensions.h" #include "extension/extension.h" @@ -24,7 +24,7 @@ /** The name and group of the preference to say whether the error dialog should be shown on startup. */ -#define PREFERENCE_ID "dialogs.extension-error", "show-on-startup" +#define PREFERENCE_ID "/dialogs/extension-error/show-on-startup" namespace Inkscape { namespace Extension { @@ -59,10 +59,11 @@ ErrorFileNotice::ErrorFileNotice (void) : Gtk::VBox * vbox = get_vbox(); /* This is some filler text, needs to change before relase */ + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); checkbutton = Gtk::manage(new Gtk::CheckButton(_("Show dialog on startup"))); vbox->pack_start(*checkbutton, true, false, 5); checkbutton->show(); - checkbutton->set_active(prefs_get_int_attribute(PREFERENCE_ID, 1) == 0 ? false : true); + checkbutton->set_active(prefs->getBool(PREFERENCE_ID, true)); checkbutton->signal_toggled().connect(sigc::mem_fun(this, &ErrorFileNotice::checkbox_toggle)); @@ -81,7 +82,8 @@ void ErrorFileNotice::checkbox_toggle (void) { // std::cout << "Toggle value" << std::endl; - prefs_set_int_attribute(PREFERENCE_ID, checkbutton->get_active() ? 1 : 0); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setBool(PREFERENCE_ID, checkbutton->get_active()); } /** \brief Shows the dialog @@ -92,7 +94,8 @@ ErrorFileNotice::checkbox_toggle (void) int ErrorFileNotice::run (void) { - if (prefs_get_int_attribute(PREFERENCE_ID, 1) == 0) + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (!prefs->getBool(PREFERENCE_ID, true)) return 0; return Gtk::Dialog::run(); } diff --git a/src/extension/implementation/script.cpp b/src/extension/implementation/script.cpp index 9475b4796..fc94205b6 100644 --- a/src/extension/implementation/script.cpp +++ b/src/extension/implementation/script.cpp @@ -120,7 +120,7 @@ Script::resolveInterpreterExecutable(const Glib::ustring &interpNameArg) // 1. Check preferences Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - Glib::ustring prefInterp = prefs->getString("extensions", interp->prefstring); + Glib::ustring prefInterp = prefs->getString("/extensions/" + Glib::ustring(interp->prefstring)); if (!prefInterp.empty()) { interpName = prefInterp; diff --git a/src/extension/init.cpp b/src/extension/init.cpp index 9a5aea86c..afacbed63 100644 --- a/src/extension/init.cpp +++ b/src/extension/init.cpp @@ -19,6 +19,7 @@ #include "inkscape.h" +#include #include #include "system.h" @@ -118,17 +119,16 @@ static void check_extensions(); * \brief Examines the given string preference and checks to see * that at least one of the registered extensions matches * it. If not, a default is assigned. - * \param pref_path Preference path to load - * \param pref_attr Attribute to load from the preference + * \param pref_path Preference path to update * \param pref_default Default string to set * \param extension_family List of extensions to search */ static void -update_pref(gchar const *pref_path, gchar const *pref_attr, +update_pref(Glib::ustring const &pref_path, gchar const *pref_default) // , GSList *extension_family) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - Glib::ustring pref = prefs->getString(pref_path, pref_attr); + Glib::ustring pref = prefs->getString(pref_path); /* gboolean missing=TRUE; for (GSList *list = extension_family; list; list = g_slist_next(list)) { @@ -141,7 +141,7 @@ update_pref(gchar const *pref_path, gchar const *pref_attr, } */ if (!Inkscape::Extension::db.get( pref.data() ) /*missing*/) { - prefs->setString(pref_path, pref_attr, pref_default); + prefs->setString(pref_path, pref_default); } } @@ -164,7 +164,7 @@ init() //Internal::EpsOutput::init(); // disabled, to be deleted, replaced by CairoEpsOutput Internal::PrintPS::init(); #ifdef HAVE_CAIRO_PDF - if (prefs->getInt("options.useoldpdfexporter", "value", 1) == 1) { + if (prefs->getBool("/options/useoldpdfexporter/value")) { //g_print ("Using CairoPdfOutput: old pdf exporter\n"); Internal::CairoPdfOutput::init(); Internal::PrintCairoPDF::init(); @@ -268,7 +268,7 @@ init() /* This is a hack to deal with updating saved outdated module * names in the prefs... */ - update_pref("dialogs.save_as", "default", + update_pref("/dialogs/save_as/default", SP_MODULE_KEY_OUTPUT_SVG_INKSCAPE // Inkscape::Extension::db.get_output_list() ); diff --git a/src/extension/internal/bluredge.cpp b/src/extension/internal/bluredge.cpp index 80454f9ed..e32012070 100644 --- a/src/extension/internal/bluredge.cpp +++ b/src/extension/internal/bluredge.cpp @@ -16,7 +16,7 @@ #include "desktop.h" #include "selection.h" #include "helper/action.h" -#include "prefs-utils.h" +#include "preferences.h" #include "path-chemistry.h" #include "sp-item.h" @@ -58,7 +58,8 @@ BlurEdge::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::View float width = module->get_param_float("blur-width"); int steps = module->get_param_int("num-steps"); - double old_offset = prefs_get_double_attribute("options.defaultoffsetwidth", "value", 1.0); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + double old_offset = prefs->getDouble("/options/defaultoffsetwidth/value", 1.0); using Inkscape::Util::GSListConstIterator; // TODO need to properly refcount the items, at least @@ -96,10 +97,10 @@ BlurEdge::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::View if (offset < 0.0) { /* Doing an inset here folks */ offset *= -1.0; - prefs_set_double_attribute("options.defaultoffsetwidth", "value", offset); + prefs->setDouble("/options/defaultoffsetwidth/value", offset); sp_action_perform(Inkscape::Verb::get(SP_VERB_SELECTION_INSET)->get_action(desktop), NULL); } else if (offset > 0.0) { - prefs_set_double_attribute("options.defaultoffsetwidth", "value", offset); + prefs->setDouble("/options/defaultoffsetwidth/value", offset); sp_action_perform(Inkscape::Verb::get(SP_VERB_SELECTION_OFFSET)->get_action(desktop), NULL); } @@ -109,7 +110,7 @@ BlurEdge::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::View Inkscape::GC::release(new_group); } - prefs_set_double_attribute("options.defaultoffsetwidth", "value", old_offset); + prefs->setDouble("/options/defaultoffsetwidth/value", old_offset); selection->clear(); selection->add(items.begin(), items.end()); diff --git a/src/extension/internal/cairo-ps-out.cpp b/src/extension/internal/cairo-ps-out.cpp index fba0ab571..01afec0fc 100644 --- a/src/extension/internal/cairo-ps-out.cpp +++ b/src/extension/internal/cairo-ps-out.cpp @@ -61,23 +61,35 @@ CairoEpsOutput::check (Inkscape::Extension::Extension * module) } static bool -ps_print_document_to_file(SPDocument *doc, gchar const *filename, unsigned int level, bool texttopath, bool filtertobitmap, int resolution, bool eps = false) +ps_print_document_to_file(SPDocument *doc, gchar const *filename, unsigned int level, bool texttopath, bool filtertobitmap, int resolution, const gchar * const exportId, bool exportDrawing, bool exportCanvas, bool eps = false) { - CairoRenderer *renderer; - CairoRenderContext *ctx; - sp_document_ensure_up_to_date(doc); -/* Start */ + SPItem *base = NULL; + + bool pageBoundingBox = TRUE; + if (exportId && strcmp(exportId, "")) { + // we want to export the given item only + base = SP_ITEM(doc->getObjectById(exportId)); + pageBoundingBox = exportCanvas; + } + else { + // we want to export the entire document from root + base = SP_ITEM(sp_document_root(doc)); + pageBoundingBox = !exportDrawing; + } + + if (!base) + return false; + /* Create new arena */ - SPItem *base = SP_ITEM(sp_document_root(doc)); NRArena *arena = NRArena::create(); unsigned dkey = sp_item_display_key_new(1); - NRArenaItem *root = sp_item_invoke_show(base, arena, dkey, SP_ITEM_SHOW_DISPLAY); + sp_item_invoke_show(base, arena, dkey, SP_ITEM_SHOW_DISPLAY); /* Create renderer and context */ - renderer = new CairoRenderer(); - ctx = renderer->createContext(); + CairoRenderer *renderer = new CairoRenderer(); + CairoRenderContext *ctx = renderer->createContext(); ctx->setPSLevel(level); ctx->setEPS(eps); ctx->setTextToPath(texttopath); @@ -87,22 +99,21 @@ ps_print_document_to_file(SPDocument *doc, gchar const *filename, unsigned int l bool ret = ctx->setPsTarget(filename); if(ret) { /* Render document */ - ret = renderer->setupDocument(ctx, doc, TRUE, NULL); + ret = renderer->setupDocument(ctx, doc, pageBoundingBox, base); if (ret) { renderer->renderItem(ctx, base); ret = ctx->finish(); } } - renderer->destroyContext(ctx); /* Release arena */ sp_item_invoke_hide(base, dkey); nr_object_unref((NRObject *) arena); -/* end */ + + renderer->destroyContext(ctx); delete renderer; return ret; - } @@ -122,89 +133,51 @@ CairoPsOutput::save (Inkscape::Extension::Output *mod, SPDocument *doc, const gc if (ext == NULL) return; - const gchar *old_level = NULL; const gchar *new_level = NULL; - int level = 1; + int level = CAIRO_PS_LEVEL_2; try { - old_level = ext->get_param_enum("PSlevel"); new_level = mod->get_param_enum("PSlevel"); - if((new_level != NULL) && (g_ascii_strcasecmp("PS2", new_level) == 0)) - level = 0; -// ext->set_param_enum("PSlevel", new_level); - } - catch(...) { - g_warning("Parameter might not exists"); - } + if((new_level != NULL) && !(g_ascii_strcasecmp("PS3", new_level) == 0)) + level = CAIRO_PS_LEVEL_3; + } catch(...) {} - bool old_textToPath = FALSE; bool new_textToPath = FALSE; try { - old_textToPath = ext->get_param_bool("textToPath"); new_textToPath = mod->get_param_bool("textToPath"); - ext->set_param_bool("textToPath", new_textToPath); - } - catch(...) { - g_warning("Parameter might not exists"); - } + } catch(...) {} - bool old_blurToBitmap = FALSE; bool new_blurToBitmap = FALSE; try { - old_blurToBitmap = ext->get_param_bool("blurToBitmap"); new_blurToBitmap = mod->get_param_bool("blurToBitmap"); - ext->set_param_bool("blurToBitmap", new_blurToBitmap); - } - catch(...) { - g_warning("Parameter might not exists"); - } + } catch(...) {} - int old_bitmapResolution = 72; int new_bitmapResolution = 72; try { - old_bitmapResolution = ext->get_param_int("resolution"); new_bitmapResolution = mod->get_param_int("resolution"); - ext->set_param_int("resolution", new_bitmapResolution); - } - catch(...) { - g_warning("Parameter might not exists"); - } - - gchar * final_name; - final_name = g_strdup_printf("> %s", uri); - ret = ps_print_document_to_file(doc, final_name, level, new_textToPath, new_blurToBitmap, new_bitmapResolution); - g_free(final_name); + } catch(...) {} + bool new_areaCanvas = true; try { - ext->set_param_int("resolution", old_bitmapResolution); - } - catch(...) { - g_warning("Parameter might not exists"); - } - try { - ext->set_param_bool("blurToBitmap", old_blurToBitmap); - } - catch(...) { - g_warning("Parameter might not exists"); - } + new_areaCanvas = mod->get_param_bool("areaCanvas"); + } catch(...) {} + + bool new_areaDrawing = true; try { - ext->set_param_bool("textToPath", old_textToPath); - } - catch(...) { - g_warning("Parameter might not exists"); - } + new_areaDrawing = mod->get_param_bool("areaDrawing"); + } catch(...) {} + + const gchar *new_exportId = NULL; try { -// ext->set_param_enum("PSlevel", old_level); - } - catch(...) { - g_warning("Parameter might not exists"); - } + new_exportId = mod->get_param_string("exportId"); + } catch(...) {} + gchar * final_name; + final_name = g_strdup_printf("> %s", uri); + ret = ps_print_document_to_file(doc, final_name, level, new_textToPath, new_blurToBitmap, new_bitmapResolution, new_exportId, new_areaDrawing, new_areaCanvas); + g_free(final_name); if (!ret) throw Inkscape::Extension::Output::save_failed(); - - return; - } @@ -224,89 +197,51 @@ CairoEpsOutput::save (Inkscape::Extension::Output *mod, SPDocument *doc, const g if (ext == NULL) return; - const gchar *old_level = NULL; const gchar *new_level = NULL; - int level = 1; + int level = CAIRO_PS_LEVEL_2; try { - old_level = ext->get_param_enum("PSlevel"); new_level = mod->get_param_enum("PSlevel"); - if((new_level != NULL) && (g_ascii_strcasecmp("PS2", new_level) == 0)) - level = 0; -// ext->set_param_enum("PSlevel", new_level); - } - catch(...) { - g_warning("Parameter might not exists"); - } + if((new_level != NULL) && !(g_ascii_strcasecmp("PS3", new_level) == 0)) + level = CAIRO_PS_LEVEL_3; + } catch(...) {} - bool old_textToPath = FALSE; bool new_textToPath = FALSE; try { - old_textToPath = ext->get_param_bool("textToPath"); new_textToPath = mod->get_param_bool("textToPath"); - ext->set_param_bool("textToPath", new_textToPath); - } - catch(...) { - g_warning("Parameter might not exists"); - } + } catch(...) {} - bool old_blurToBitmap = FALSE; bool new_blurToBitmap = FALSE; try { - old_blurToBitmap = ext->get_param_bool("blurToBitmap"); new_blurToBitmap = mod->get_param_bool("blurToBitmap"); - ext->set_param_bool("blurToBitmap", new_blurToBitmap); - } - catch(...) { - g_warning("Parameter might not exists"); - } + } catch(...) {} - int old_bitmapResolution = 72; int new_bitmapResolution = 72; try { - old_bitmapResolution = ext->get_param_int("resolution"); new_bitmapResolution = mod->get_param_int("resolution"); - ext->set_param_int("resolution", new_bitmapResolution); - } - catch(...) { - g_warning("Parameter might not exists"); - } - - gchar * final_name; - final_name = g_strdup_printf("> %s", uri); - ret = ps_print_document_to_file(doc, final_name, level, new_textToPath, new_blurToBitmap, new_bitmapResolution, true); - g_free(final_name); + } catch(...) {} + bool new_areaCanvas = true; try { - ext->set_param_int("resolution", old_bitmapResolution); - } - catch(...) { - g_warning("Parameter might not exists"); - } - try { - ext->set_param_bool("blurToBitmap", old_blurToBitmap); - } - catch(...) { - g_warning("Parameter might not exists"); - } + new_areaCanvas = mod->get_param_bool("areaCanvas"); + } catch(...) {} + + bool new_areaDrawing = true; try { - ext->set_param_bool("textToPath", old_textToPath); - } - catch(...) { - g_warning("Parameter might not exists"); - } + new_areaDrawing = mod->get_param_bool("areaDrawing"); + } catch(...) {} + + const gchar *new_exportId = NULL; try { -// ext->set_param_enum("PSlevel", old_level); - } - catch(...) { - g_warning("Parameter might not exists"); - } + new_exportId = mod->get_param_string("exportId"); + } catch(...) {} + gchar * final_name; + final_name = g_strdup_printf("> %s", uri); + ret = ps_print_document_to_file(doc, final_name, level, new_textToPath, new_blurToBitmap, new_bitmapResolution, new_exportId, new_areaDrawing, new_areaCanvas, true); + g_free(final_name); if (!ret) throw Inkscape::Extension::Output::save_failed(); - - return; - } @@ -344,9 +279,12 @@ CairoPsOutput::init (void) "<_item value='PS2'>" N_("PostScript level 2") "\n" #endif "\n" + "true\n" + "true\n" "false\n" "false\n" "90\n" + "\n" "\n" ".ps\n" "image/x-postscript\n" @@ -378,9 +316,12 @@ CairoEpsOutput::init (void) "<_item value='PS2'>" N_("PostScript level 2") "\n" #endif "\n" + "true\n" + "true\n" "false\n" "false\n" "90\n" + "\n" "\n" ".eps\n" "image/x-e-postscript\n" diff --git a/src/extension/internal/cairo-renderer-pdf-out.cpp b/src/extension/internal/cairo-renderer-pdf-out.cpp index 4e6c74dff..c82cc7611 100644 --- a/src/extension/internal/cairo-renderer-pdf-out.cpp +++ b/src/extension/internal/cairo-renderer-pdf-out.cpp @@ -75,7 +75,7 @@ pdf_render_document_to_file(SPDocument *doc, gchar const *filename, unsigned int /* Create new arena */ NRArena *arena = NRArena::create(); unsigned dkey = sp_item_display_key_new(1); - NRArenaItem *root = sp_item_invoke_show(base, arena, dkey, SP_ITEM_SHOW_DISPLAY); + sp_item_invoke_show(base, arena, dkey, SP_ITEM_SHOW_DISPLAY); /* Create renderer and context */ CairoRenderer *renderer = new CairoRenderer(); @@ -98,7 +98,7 @@ pdf_render_document_to_file(SPDocument *doc, gchar const *filename, unsigned int /* Release arena */ sp_item_invoke_hide(base, dkey); nr_object_unref((NRObject *) arena); -/* end */ + renderer->destroyContext(ctx); delete renderer; @@ -134,7 +134,7 @@ CairoRendererPdfOutput::save (Inkscape::Extension::Output *mod, SPDocument *doc, // level = 1; } catch(...) { -// g_warning("Parameter might not exists"); +// g_warning("Parameter might not exist"); } bool new_textToPath = FALSE; @@ -142,7 +142,7 @@ CairoRendererPdfOutput::save (Inkscape::Extension::Output *mod, SPDocument *doc, new_textToPath = mod->get_param_bool("textToPath"); } catch(...) { - g_warning("Parameter might not exists"); + g_warning("Parameter might not exist"); } bool new_blurToBitmap = FALSE; @@ -150,7 +150,7 @@ CairoRendererPdfOutput::save (Inkscape::Extension::Output *mod, SPDocument *doc, new_blurToBitmap = mod->get_param_bool("blurToBitmap"); } catch(...) { - g_warning("Parameter might not exists"); + g_warning("Parameter might not exist"); } int new_bitmapResolution = 72; @@ -158,7 +158,7 @@ CairoRendererPdfOutput::save (Inkscape::Extension::Output *mod, SPDocument *doc, new_bitmapResolution = mod->get_param_int("resolution"); } catch(...) { - g_warning("Parameter might not exists"); + g_warning("Parameter might not exist"); } const gchar *new_exportId = NULL; @@ -166,23 +166,23 @@ CairoRendererPdfOutput::save (Inkscape::Extension::Output *mod, SPDocument *doc, new_exportId = mod->get_param_string("exportId"); } catch(...) { - g_warning("Parameter might not exists"); + g_warning("Parameter might not exist"); } bool new_exportDrawing = FALSE; try { - new_exportDrawing = mod->get_param_bool("exportDrawing"); + new_exportDrawing = mod->get_param_bool("areaDrawing"); } catch(...) { - g_warning("Parameter might not exists"); + g_warning("Parameter might not exist"); } bool new_exportCanvas = FALSE; try { - new_exportCanvas = mod->get_param_bool("exportCanvas"); + new_exportCanvas = mod->get_param_bool("areaCanvas"); } catch(...) { - g_warning("Parameter might not exists"); + g_warning("Parameter might not exist"); } gchar * final_name; @@ -194,8 +194,6 @@ CairoRendererPdfOutput::save (Inkscape::Extension::Output *mod, SPDocument *doc, if (!ret) throw Inkscape::Extension::Output::save_failed(); - - return; } #include "clear-n_.h" @@ -220,8 +218,8 @@ CairoRendererPdfOutput::init (void) "false\n" "false\n" "90\n" - "false\n" - "false\n" + "false\n" + "false\n" "\n" "\n" ".pdf\n" diff --git a/src/extension/internal/cairo-renderer.cpp b/src/extension/internal/cairo-renderer.cpp index 07d799b0f..86e04fb54 100644 --- a/src/extension/internal/cairo-renderer.cpp +++ b/src/extension/internal/cairo-renderer.cpp @@ -180,7 +180,12 @@ static void sp_shape_render (SPItem *item, CairoRenderContext *ctx) SPMarker* marker = SP_MARKER (shape->marker[SP_MARKER_LOC_START]); SPItem* marker_item = sp_item_first_item_child (SP_OBJECT (shape->marker[SP_MARKER_LOC_START])); - Geom::Matrix tr(sp_shape_marker_get_transform_at_start(path_it->front())); + Geom::Matrix tr; + if (marker->orient_auto) { + tr = sp_shape_marker_get_transform_at_start(path_it->front()); + } else { + tr = Geom::Rotate::from_degrees(marker->orient) * Geom::Translate(path_it->front().pointAt(0)); + } if (marker->markerUnits == SP_MARKER_UNITS_STROKEWIDTH) { tr = Geom::Scale(style->stroke_width.computed) * tr; @@ -206,7 +211,12 @@ static void sp_shape_render (SPItem *item, CairoRenderContext *ctx) SPMarker* marker = SP_MARKER (shape->marker[SP_MARKER_LOC_MID]); SPItem* marker_item = sp_item_first_item_child (SP_OBJECT (shape->marker[SP_MARKER_LOC_MID])); - Geom::Matrix tr(sp_shape_marker_get_transform(*curve_it1, *curve_it2)); + Geom::Matrix tr; + if (marker->orient_auto) { + tr = sp_shape_marker_get_transform(*curve_it1, *curve_it2); + } else { + tr = Geom::Rotate::from_degrees(marker->orient) * Geom::Translate(curve_it1->pointAt(1)); + } if (marker->markerUnits == SP_MARKER_UNITS_STROKEWIDTH) { tr = Geom::Scale(style->stroke_width.computed) * tr; @@ -236,7 +246,12 @@ static void sp_shape_render (SPItem *item, CairoRenderContext *ctx) } Geom::Curve const &lastcurve = (*path_it)[index]; - Geom::Matrix tr = sp_shape_marker_get_transform_at_end(lastcurve); + Geom::Matrix tr; + if (marker->orient_auto) { + tr = sp_shape_marker_get_transform_at_end(lastcurve); + } else { + tr = Geom::Rotate::from_degrees(marker->orient) * Geom::Translate(lastcurve.pointAt(1)); + } if (marker->markerUnits == SP_MARKER_UNITS_STROKEWIDTH) { tr = Geom::Scale(style->stroke_width.computed) * tr; @@ -557,42 +572,42 @@ CairoRenderer::setupDocument(CairoRenderContext *ctx, SPDocument *doc, bool page { g_assert( ctx != NULL ); - if (ctx->_vector_based_target) { - // width and height in pt - ctx->_width = sp_document_width(doc) * PT_PER_PX; - ctx->_height = sp_document_height(doc) * PT_PER_PX; - } else { - ctx->_width = sp_document_width(doc); - ctx->_height = sp_document_height(doc); - } + if (!base) + base = SP_ITEM(sp_document_root(doc)); NRRect d; - if (pageBoundingBox || !base) { + if (pageBoundingBox) { d.x0 = d.y0 = 0; - d.x1 = ceil(ctx->_width); - d.y1 = ceil(ctx->_height); + d.x1 = ceil(sp_document_width(doc)); + d.y1 = ceil(sp_document_height(doc)); } else { - sp_item_invoke_bbox(base, &d, sp_item_i2r_affine(base), TRUE); - if (ctx->_vector_based_target) { - // convert from px to pt - d.x0 *= PT_PER_PX; - d.x1 *= PT_PER_PX; - d.y0 *= PT_PER_PX; - d.y1 *= PT_PER_PX; - } + sp_item_invoke_bbox(base, &d, sp_item_i2r_affine(base), TRUE, SPItem::RENDERING_BBOX); } + + if (ctx->_vector_based_target) { + // convert from px to pt + d.x0 *= PT_PER_PX; + d.x1 *= PT_PER_PX; + d.y0 *= PT_PER_PX; + d.y1 *= PT_PER_PX; + } + + ctx->_width = d.x1-d.x0; + ctx->_height = d.y1-d.y0; + TRACE(("setupDocument: %f x %f\n", ctx->_width, ctx->_height)); - bool ret = ctx->setupSurface(d.x1-d.x0, d.y1-d.y0); + bool ret = ctx->setupSurface(ctx->_width, ctx->_height); - if (ret && !pageBoundingBox && base) + if (ret && !pageBoundingBox) { + double high = sp_document_height(doc); + if (ctx->_vector_based_target) + high *= PT_PER_PX; + Geom::Matrix tp(Geom::Translate(-d.x0 * (ctx->_vector_based_target ? PX_PER_PT : 1.0), - (d.y1 - ctx->_height) * (ctx->_vector_based_target ? PX_PER_PT : 1.0))); + (d.y1 - high) * (ctx->_vector_based_target ? PX_PER_PT : 1.0))); ctx->transform(&tp); - - ctx->_width = d.x1 - d.x0; - ctx->_height = d.y1 - d.y0; } return ret; diff --git a/src/extension/internal/gdkpixbuf-input.cpp b/src/extension/internal/gdkpixbuf-input.cpp index 14effbeb7..e8af0ec9d 100644 --- a/src/extension/internal/gdkpixbuf-input.cpp +++ b/src/extension/internal/gdkpixbuf-input.cpp @@ -3,7 +3,6 @@ #endif #include "document-private.h" #include -#include "prefs-utils.h" #include "extension/system.h" #include "gdkpixbuf-input.h" #include "selection-chemistry.h" diff --git a/src/extension/internal/pdfinput/svg-builder.cpp b/src/extension/internal/pdfinput/svg-builder.cpp index e28264eff..f58e37173 100644 --- a/src/extension/internal/pdfinput/svg-builder.cpp +++ b/src/extension/internal/pdfinput/svg-builder.cpp @@ -1210,7 +1210,9 @@ void SvgBuilder::_flushText() { last_delta_pos = delta_pos; // Append the character to the text buffer - text_buffer.append((char *)&glyph.code, 1); + if (0 != glyph.code[0]) { + text_buffer.append((char *)&glyph.code, 1); + } glyphs_in_a_row++; i++; diff --git a/src/extension/param/bool.cpp b/src/extension/param/bool.cpp index ab90ddaf9..1dda3d73f 100644 --- a/src/extension/param/bool.cpp +++ b/src/extension/param/bool.cpp @@ -13,10 +13,10 @@ #include #include -#include - +#include "xml/node.h" #include "../extension.h" #include "bool.h" +#include "preferences.h" namespace Inkscape { namespace Extension { @@ -36,7 +36,8 @@ ParamBool::ParamBool (const gchar * name, const gchar * guitext, const gchar * d } gchar * pref_name = this->pref_name(); - _value = (bool)prefs_get_int_attribute(PREF_DIR, pref_name, _value); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + _value = prefs->getBool(extension_pref_root + pref_name, _value); g_free(pref_name); return; @@ -57,7 +58,8 @@ ParamBool::set( bool in, SPDocument * /*doc*/, Inkscape::XML::Node * /*node*/ ) _value = in; gchar * prefname = this->pref_name(); - prefs_set_int_attribute(PREF_DIR, prefname, _value == true ? 1 : 0); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setBool(extension_pref_root + prefname, _value); g_free(prefname); return _value; @@ -150,3 +152,14 @@ ParamBool::get_widget (SPDocument * doc, Inkscape::XML::Node * node, sigc::signa } /* namespace Extension */ } /* namespace Inkscape */ + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/extension/param/color.cpp b/src/extension/param/color.cpp index 555461bc7..58db85748 100644 --- a/src/extension/param/color.cpp +++ b/src/extension/param/color.cpp @@ -50,7 +50,7 @@ ParamColor::set( guint32 in, SPDocument * /*doc*/, Inkscape::XML::Node * /*node* string(value); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setString(PREF_DIR, prefname, value); + prefs->setString(extension_pref_root + prefname, value); g_free(prefname); return _value; @@ -66,7 +66,7 @@ ParamColor::ParamColor (const gchar * name, const gchar * guitext, const gchar * gchar * pref_name = this->pref_name(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - Glib::ustring paramval = prefs->getString(PREF_DIR, pref_name); + Glib::ustring paramval = prefs->getString(extension_pref_root + pref_name); g_free(pref_name); if (!paramval.empty()) diff --git a/src/extension/param/color.h b/src/extension/param/color.h index 6836442a1..e6b44fbcb 100644 --- a/src/extension/param/color.h +++ b/src/extension/param/color.h @@ -8,10 +8,10 @@ */ #include -#include -#include +#include "xml/node.h" +#include "document.h" #include -#include "parameter.h" +#include "extension/param/parameter.h" namespace Inkscape { namespace Extension { diff --git a/src/extension/param/description.cpp b/src/extension/param/description.cpp index 61bfa9f5a..656e58c49 100644 --- a/src/extension/param/description.cpp +++ b/src/extension/param/description.cpp @@ -20,14 +20,10 @@ #include #include #include - - #include -#include - -#include -#include +#include "xml/node.h" +#include "extension/extension.h" namespace Inkscape { namespace Extension { diff --git a/src/extension/param/enum.cpp b/src/extension/param/enum.cpp index 33c153434..9d324a47c 100644 --- a/src/extension/param/enum.cpp +++ b/src/extension/param/enum.cpp @@ -22,23 +22,15 @@ #include #include #include - #include -#include - -#include -#include -#include -#include - +#include "xml/node.h" +#include "extension/extension.h" +#include "document-private.h" +#include "sp-object.h" #include "enum.h" #include "preferences.h" -/** \brief The root directory in the preferences database for extension - related parameters. */ -#define PREF_DIR "extensions" - namespace Inkscape { namespace Extension { @@ -106,7 +98,7 @@ ParamComboBox::ParamComboBox (const gchar * name, const gchar * guitext, const g gchar * pref_name = this->pref_name(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - Glib::ustring paramval = prefs->getString(PREF_DIR, pref_name); + Glib::ustring paramval = prefs->getString(extension_pref_root + pref_name); g_free(pref_name); if (!paramval.empty()) @@ -160,7 +152,7 @@ ParamComboBox::set (const gchar * in, SPDocument * /*doc*/, Inkscape::XML::Node _value = g_strdup(settext->c_str()); gchar * prefname = this->pref_name(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setString(PREF_DIR, prefname, _value); + prefs->setString(extension_pref_root + prefname, _value); g_free(prefname); } diff --git a/src/extension/param/float.cpp b/src/extension/param/float.cpp index 1225648d6..40cb81ddd 100644 --- a/src/extension/param/float.cpp +++ b/src/extension/param/float.cpp @@ -13,9 +13,9 @@ #include #include -#include - -#include +#include "xml/node.h" +#include "extension/extension.h" +#include "preferences.h" #include "float.h" namespace Inkscape { @@ -53,7 +53,8 @@ ParamFloat::ParamFloat (const gchar * name, const gchar * guitext, const gchar * } gchar * pref_name = this->pref_name(); - _value = prefs_get_double_attribute(PREF_DIR, pref_name, _value); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + _value = prefs->getDouble(extension_pref_root + pref_name, _value); g_free(pref_name); // std::cout << "New Float:: value: " << _value << " max: " << _max << " min: " << _min << std::endl; @@ -81,7 +82,8 @@ ParamFloat::set (float in, SPDocument * /*doc*/, Inkscape::XML::Node * /*node*/) if (_value < _min) _value = _min; gchar * prefname = this->pref_name(); - prefs_set_double_attribute(PREF_DIR, prefname, _value); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setDouble(extension_pref_root + prefname, _value); g_free(prefname); return _value; diff --git a/src/extension/param/int.cpp b/src/extension/param/int.cpp index dc523435e..db7f9c67b 100644 --- a/src/extension/param/int.cpp +++ b/src/extension/param/int.cpp @@ -13,9 +13,9 @@ #include #include -#include - -#include +#include "xml/node.h" +#include "extension/extension.h" +#include "preferences.h" #include "int.h" namespace Inkscape { @@ -47,8 +47,9 @@ ParamInt::ParamInt (const gchar * name, const gchar * guitext, const gchar * des _min = 0; } - gchar * pref_name = this->pref_name(); - _value = prefs_get_int_attribute(PREF_DIR, pref_name, _value); + gchar *pref_name = this->pref_name(); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + _value = prefs->getInt(extension_pref_root + pref_name, _value); g_free(pref_name); // std::cout << "New Int:: value: " << _value << " max: " << _max << " min: " << _min << std::endl; @@ -76,7 +77,8 @@ ParamInt::set (int in, SPDocument * /*doc*/, Inkscape::XML::Node * /*node*/) if (_value < _min) _value = _min; gchar * prefname = this->pref_name(); - prefs_set_int_attribute(PREF_DIR, prefname, _value); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setInt(extension_pref_root + prefname, _value); g_free(prefname); return _value; @@ -157,3 +159,14 @@ ParamInt::string (std::string &string) } /* namespace Extension */ } /* namespace Inkscape */ + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/extension/param/notebook.cpp b/src/extension/param/notebook.cpp index bce6bc3d0..1c30b7e0e 100644 --- a/src/extension/param/notebook.cpp +++ b/src/extension/param/notebook.cpp @@ -223,13 +223,6 @@ ParamNotebookPage::get_widget (SPDocument * doc, Inkscape::XML::Node * node, sig } - - - - - - - ParamNotebook::ParamNotebook (const gchar * name, const gchar * guitext, const gchar * desc, const Parameter::_scope_t scope, bool gui_hidden, const gchar * gui_tip, Inkscape::Extension::Extension * ext, Inkscape::XML::Node * xml) : Parameter(name, guitext, desc, scope, gui_hidden, gui_tip, ext) { @@ -264,7 +257,7 @@ ParamNotebook::ParamNotebook (const gchar * name, const gchar * guitext, const g gchar * pref_name = this->pref_name(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - Glib::ustring paramval = prefs->getString(PREF_DIR, pref_name); + Glib::ustring paramval = prefs->getString(extension_pref_root + pref_name); g_free(pref_name); if (!paramval.empty()) @@ -317,7 +310,8 @@ ParamNotebook::set (const int in, SPDocument * /*doc*/, Inkscape::XML::Node * /* _value = g_strdup(page->name()); gchar * prefname = this->pref_name(); - prefs_set_string_attribute(PREF_DIR, prefname, _value); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setString(extension_pref_root + prefname, _value); g_free(prefname); return _value; @@ -434,4 +428,4 @@ ParamNotebook::get_widget (SPDocument * doc, Inkscape::XML::Node * node, sigc::s fill-column:99 End: */ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/extension/param/parameter.cpp b/src/extension/param/parameter.cpp index 5f434e5e1..2773af61d 100644 --- a/src/extension/param/parameter.cpp +++ b/src/extension/param/parameter.cpp @@ -1,9 +1,7 @@ -/** \file - * Parameters for extensions. +/** @file + * @brief Parameters for extensions. */ - -/* - * Author: +/* Author: * Ted Gould * Johan Engelen * @@ -386,6 +384,8 @@ Parameter::string (std::list &list) return; } +Glib::ustring const extension_pref_root = "/extensions/"; + } /* namespace Extension */ } /* namespace Inkscape */ @@ -398,4 +398,4 @@ Parameter::string (std::list &list) fill-column:99 End: */ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/extension/param/parameter.h b/src/extension/param/parameter.h index 1aeafbd7c..54249c12e 100644 --- a/src/extension/param/parameter.h +++ b/src/extension/param/parameter.h @@ -1,12 +1,7 @@ -#ifndef __INK_EXTENSION_PARAM_H__ -#define __INK_EXTENSION_PARAM_H__ - -/** \file - * Parameters for extensions. +/** @file + * @brief Parameters for extensions. */ - -/* - * Authors: +/* Authors: * Ted Gould * * Copyright (C) 2005-2006 Authors @@ -14,24 +9,29 @@ * Released under GNU GPL, read the file 'COPYING' for more information */ -/** \brief The root directory in the preferences database for extension-related parameters. */ -#define PREF_DIR "extensions" +#ifndef SEEN_INK_EXTENSION_PARAM_H__ +#define SEEN_INK_EXTENSION_PARAM_H__ #include +#include #include "xml/document.h" #include "xml/node.h" #include "document.h" -#include -#include "prefs-utils.h" - -#include - +#include "extension/extension-forward.h" #include namespace Inkscape { namespace Extension { +/** + * @brief The root directory in the preferences database for extension-related parameters + * + * The directory path has both a leading and a trailing slash, so that extension_pref_root + pref_name works + * without having to append a separator. + */ +extern Glib::ustring const extension_pref_root; + /** \brief A class to represent the parameter of an extension This is really a super class that allows them to abstract all @@ -132,4 +132,4 @@ public: fill-column:99 End: */ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/extension/param/radiobutton.cpp b/src/extension/param/radiobutton.cpp index c05191b58..1e4ba3c8f 100644 --- a/src/extension/param/radiobutton.cpp +++ b/src/extension/param/radiobutton.cpp @@ -25,12 +25,10 @@ #include #include #include - #include -#include - -#include +#include "xml/node.h" +#include "extension/extension.h" #include "preferences.h" #include "document-private.h" #include "sp-object.h" @@ -113,7 +111,7 @@ ParamRadioButton::ParamRadioButton (const gchar * name, gchar * pref_name = this->pref_name(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - Glib::ustring paramval = prefs->getString(PREF_DIR, pref_name); + Glib::ustring paramval = prefs->getString(extension_pref_root + pref_name); g_free(pref_name); if (!paramval.empty()) @@ -167,7 +165,7 @@ ParamRadioButton::set (const gchar * in, SPDocument * /*doc*/, Inkscape::XML::No _value = g_strdup(settext->c_str()); gchar * prefname = this->pref_name(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setString(PREF_DIR, prefname, _value); + prefs->setString(extension_pref_root + prefname, _value); g_free(prefname); } diff --git a/src/extension/param/string.cpp b/src/extension/param/string.cpp index 56ceeaad5..e32224332 100644 --- a/src/extension/param/string.cpp +++ b/src/extension/param/string.cpp @@ -13,9 +13,8 @@ #include #include -#include - -#include +#include "xml/node.h" +#include "extension/extension.h" #include "string.h" #include "preferences.h" @@ -53,7 +52,7 @@ ParamString::set (const gchar * in, SPDocument * /*doc*/, Inkscape::XML::Node * gchar * prefname = this->pref_name(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setString(PREF_DIR, prefname, _value); + prefs->setString(extension_pref_root + prefname, _value); g_free(prefname); return _value; @@ -80,7 +79,7 @@ ParamString::ParamString (const gchar * name, const gchar * guitext, const gchar gchar * pref_name = this->pref_name(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - Glib::ustring paramval = prefs->getString(PREF_DIR, pref_name); + Glib::ustring paramval = prefs->getString(extension_pref_root + pref_name); g_free(pref_name); if (!paramval.empty()) diff --git a/src/file.cpp b/src/file.cpp index b2f53b967..d5700bb6e 100644 --- a/src/file.cpp +++ b/src/file.cpp @@ -18,8 +18,8 @@ * Released under GNU GPL, read the file 'COPYING' for more information */ -/** - * Note: This file needs to be cleaned up extensively. +/** @file + * @note This file needs to be cleaned up extensively. * What it probably needs is to have one .h file for * the API, and two or more .cpp files for the implementations. */ @@ -28,6 +28,7 @@ # include "config.h" #endif +#include #include #include @@ -90,6 +91,17 @@ void dump_str(gchar const *str, gchar const *prefix); void dump_ustr(Glib::ustring const &ustr); +// what gets passed here is not actually an URI... it is an UTF-8 encoded filename (!) +static void sp_file_add_recent(gchar const *uri) +{ + GtkRecentManager *recent = gtk_recent_manager_get_default(); + gchar *fn = g_filename_from_utf8(uri, -1, NULL, NULL, NULL); + gchar *uri_to_add = g_filename_to_uri(fn, NULL, NULL); + gtk_recent_manager_add_item(recent, uri_to_add); + g_free(uri_to_add); + g_free(fn); +} + /*###################### ## N E W @@ -219,7 +231,7 @@ sp_file_open(const Glib::ustring &uri, sp_namedview_update_layers_from_document(desktop); if (add_to_recent) { - prefs_set_recent_file(SP_DOCUMENT_URI(doc), SP_DOCUMENT_NAME(doc)); + sp_file_add_recent(SP_DOCUMENT_URI(doc)); } return TRUE; @@ -386,7 +398,7 @@ sp_file_open_dialog(Gtk::Window &parentWindow, gpointer /*object*/, gpointer /*d if(open_path.empty()) { - Glib::ustring attr = prefs->getString("dialogs.open", "path"); + Glib::ustring attr = prefs->getString("/dialogs/open/path"); if (!attr.empty()) open_path = attr; } @@ -498,7 +510,7 @@ sp_file_open_dialog(Gtk::Window &parentWindow, gpointer /*object*/, gpointer /*d open_path = Glib::path_get_dirname (fileName); open_path.append(G_DIR_SEPARATOR_S); - prefs->setString("dialogs.open", "path", open_path); + prefs->setString("/dialogs/open/path", open_path); sp_file_open(fileName, selection); } @@ -689,7 +701,7 @@ sp_file_save_dialog(Gtk::Window &parentWindow, SPDocument *doc, bool is_copy) Glib::ustring default_extension; char *attr = (char *)repr->attribute("inkscape:output_extension"); if (!attr) { - Glib::ustring attr2 = prefs->getString("dialogs.save_as", "default"); + Glib::ustring attr2 = prefs->getString("/dialogs/save_as/default"); if(!attr2.empty()) default_extension = attr2; } else { default_extension = attr; @@ -710,7 +722,7 @@ sp_file_save_dialog(Gtk::Window &parentWindow, SPDocument *doc, bool is_copy) if (extension) filename_extension = extension->get_extension(); - Glib::ustring attr3 = prefs->getString("dialogs.save_as", "path"); + Glib::ustring attr3 = prefs->getString("/dialogs/save_as/path"); if (!attr3.empty()) save_path = attr3; @@ -793,12 +805,13 @@ sp_file_save_dialog(Gtk::Window &parentWindow, SPDocument *doc, bool is_copy) success = file_save(parentWindow, doc, fileName, selectionType, TRUE, !is_copy); - if (success) - prefs_set_recent_file(SP_DOCUMENT_URI(doc), SP_DOCUMENT_NAME(doc)); + if (success) { + sp_file_add_recent(SP_DOCUMENT_URI(doc)); + } save_path = Glib::path_get_dirname(fileName); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setString("dialogs.save_as", "path", save_path); + prefs->setString("/dialogs/save_as/path", save_path); return success; } @@ -987,15 +1000,15 @@ file_import(SPDocument *in_doc, const Glib::ustring &uri, // object" option. { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - bool const saved_pref = prefs->getBool("options.transform", "pattern", true); - prefs->setBool("options.transform", "pattern", true); + bool const saved_pref = prefs->getBool("/options/transform/pattern", true); + prefs->setBool("/options/transform/pattern", true); sp_document_ensure_up_to_date(sp_desktop_document(desktop)); boost::optional sel_bbox = selection->bounds(); if (sel_bbox) { Geom::Point m( desktop->point() - sel_bbox->midpoint() ); sp_selection_move_relative(selection, m); } - prefs->setBool("options.transform", "pattern", saved_pref); + prefs->setBool("/options/transform/pattern", saved_pref); } } @@ -1100,7 +1113,7 @@ sp_file_export_dialog(void *widget) Glib::ustring default_extension; char *attr = (char *)repr->attribute("inkscape:output_extension"); if (!attr) { - Glib::ustring attr2 = prefs->getString("dialogs.save_as", "default"); + Glib::ustring attr2 = prefs->getString("/dialogs/save_as/default"); if(!attr2.empty()) default_extension = attr2; } else { default_extension = attr; @@ -1118,7 +1131,7 @@ sp_file_export_dialog(void *widget) if (extension) filename_extension = extension->get_extension(); - Glib::ustring attr3 = prefs->getString("dialogs.save_as", "path"); + Glib::ustring attr3 = prefs->getString("/dialogs/save_as/path"); if (!attr3.empty()) export_path = attr3; @@ -1177,11 +1190,13 @@ sp_file_export_dialog(void *widget) success = file_save(doc, fileName, selectionType, TRUE, FALSE); - if (success) - prefs_set_recent_file(SP_DOCUMENT_URI(doc), SP_DOCUMENT_NAME(doc)); + if (success) { + Glib::RefPtr recent = Gtk::RecentManager::get_default(); + recent->add_item(SP_DOCUMENT_URI(doc)); + } export_path = fileName; - prefs->setString("dialogs.save_as", "path", export_path); + prefs->setString("/dialogs/save_as/path", export_path); return success; } @@ -1301,8 +1316,8 @@ sp_file_export_to_ocal_dialog(Gtk::Window &parentWindow) // Create the uri Inkscape::Preferences *prefs = Inkscape::Preferences::get(); Glib::ustring uri = "dav://"; - Glib::ustring username = prefs->getString("options.ocalusername", "str"); - Glib::ustring password = prefs->getString("options.ocalpassword", "str"); + Glib::ustring username = prefs->getString("/options/ocalusername/str"); + Glib::ustring password = prefs->getString("/options/ocalpassword/str"); if (username.empty() || password.empty()) { if(!gotSuccess) @@ -1322,7 +1337,7 @@ sp_file_export_to_ocal_dialog(Gtk::Window &parentWindow) uri.append(":"); uri.append(password); uri.append("@"); - uri.append(prefs->getString("options.ocalurl", "str")); + uri.append(prefs->getString("/options/ocalurl/str")); uri.append("/dav.php/"); uri.append(Glib::path_get_basename(fileName)); diff --git a/src/flood-context.cpp b/src/flood-context.cpp index 47e3d3d2b..992791976 100644 --- a/src/flood-context.cpp +++ b/src/flood-context.cpp @@ -1,21 +1,24 @@ #define __SP_FLOOD_CONTEXT_C__ -/** \file -* Bucket fill drawing context, works by bitmap filling an area on a rendered version of the current display and then tracing the result using potrace. -* -* Author: -* Lauris Kaplinski -* bulia byak -* John Bintz -* -* Copyright (C) 2006 Johan Engelen -* Copyright (C) 2000-2005 authors -* Copyright (C) 2000-2001 Ximian, Inc. -* -* Released under GNU GPL, read the file 'COPYING' for more information -*/ +/** @file + * @brief Bucket fill drawing context, works by bitmap filling an area on a rendered version + * of the current display and then tracing the result using potrace. + */ +/* Author: + * Lauris Kaplinski + * bulia byak + * John Bintz + * + * Copyright (C) 2006 Johan Engelen + * Copyright (C) 2000-2005 authors + * Copyright (C) 2000-2001 Ximian, Inc. + * + * Released under GNU GPL, read the file 'COPYING' for more information + */ +#ifdef HAVE_CONFIG_H #include "config.h" +#endif #include #include @@ -40,7 +43,7 @@ #include "object-edit.h" #include "xml/repr.h" #include "xml/node-event-vector.h" -#include "prefs-utils.h" +#include "preferences.h" #include "context-fns.h" #include "rubberband.h" @@ -223,7 +226,8 @@ static void sp_flood_context_setup(SPEventContext *ec) rc->_message_context = new Inkscape::MessageContext((ec->desktop)->messageStack()); - if (prefs_get_int_attribute("tools.paintbucket", "selcue", 0) != 0) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/tools/paintbucket/selcue")) { rc->enableSelectionCue(); } } @@ -437,6 +441,7 @@ static void do_trace(bitmap_coords_info bci, guchar *trace_px, SPDesktop *deskto } Inkscape::Trace::Potrace::PotraceTracingEngine pte; + pte.keepGoing = 1; std::vector results = pte.traceGrayMap(gray_map); gray_map->destroy(gray_map); @@ -445,7 +450,8 @@ static void do_trace(bitmap_coords_info bci, guchar *trace_px, SPDesktop *deskto long totalNodeCount = 0L; - double offset = prefs_get_double_attribute("tools.paintbucket", "offset", 0.0); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + double offset = prefs->getDouble("/tools/paintbucket/offset", 0.0); for (unsigned int i=0 ; icreateElement("svg:path"); /* Set style */ - sp_desktop_apply_style_tool (desktop, pathRepr, "tools.paintbucket", false); + sp_desktop_apply_style_tool (desktop, pathRepr, "/tools/paintbucket", false); Geom::PathVector pathv = sp_svg_read_pathv(result.getPathData().c_str()); Path *path = new Path; @@ -887,8 +893,9 @@ static void sp_flood_do_flood_fill(SPEventContext *event_context, GdkEvent *even bool aborted = false; int y_limit = height - 1; - PaintBucketChannels method = (PaintBucketChannels)prefs_get_int_attribute("tools.paintbucket", "channels", 0); - int threshold = prefs_get_int_attribute_limited("tools.paintbucket", "threshold", 1, 0, 100); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + PaintBucketChannels method = (PaintBucketChannels) prefs->getInt("/tools/paintbucket/channels", 0); + int threshold = prefs->getIntLimited("/tools/paintbucket/threshold", 1, 0, 100); switch(method) { case FLOOD_CHANNELS_ALPHA: @@ -914,7 +921,7 @@ static void sp_flood_do_flood_fill(SPEventContext *event_context, GdkEvent *even bci.bbox = *bbox; bci.screen = screen; bci.dtc = dtc; - bci.radius = prefs_get_int_attribute_limited("tools.paintbucket", "autogap", 0, 0, 3); + bci.radius = prefs->getIntLimited("/tools/paintbucket/autogap", 0, 0, 3); bci.max_queue_size = (width * height) / 4; bci.current_step = 0; @@ -1159,7 +1166,7 @@ static gint sp_flood_context_item_handler(SPEventContext *event_context, SPItem Inkscape::XML::Node *pathRepr = SP_OBJECT_REPR(item); /* Set style */ - sp_desktop_apply_style_tool (desktop, pathRepr, "tools.paintbucket", false); + sp_desktop_apply_style_tool (desktop, pathRepr, "/tools/paintbucket", false); sp_document_done(sp_desktop_document(desktop), SP_VERB_CONTEXT_PAINTBUCKET, _("Set style on object")); ret = TRUE; } @@ -1308,7 +1315,8 @@ static void sp_flood_finish(SPFloodContext *rc) void flood_channels_set_channels( gint channels ) { - prefs_set_int_attribute("tools.paintbucket", "channels", channels); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setInt("/tools/paintbucket/channels", channels); } /* diff --git a/src/fontsize-expansion.cpp b/src/fontsize-expansion.cpp deleted file mode 100644 index 50169c3c2..000000000 --- a/src/fontsize-expansion.cpp +++ /dev/null @@ -1,30 +0,0 @@ -#include "libnr/nr-matrix-ops.h" - -/** - * Returns the distance from the transformed baseline to the - * transformation of a point at (0, 1); or 0 if \a m has no inverse. - */ -double -fontsize_expansion(NR::Matrix const &m) -{ - double const denom(hypot(m[0], m[1])); - if (!(denom > 1e-100)) { - return 0.; - } - double const numer(m.descrim2()); - if (!(numer > 1e-100)) { - return 0.; - } - return numer / denom; -} - -/* - Local Variables: - mode:c++ - c-file-style:"stroustrup" - c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) - indent-tabs-mode:nil - fill-column:99 - End: -*/ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/fontsize-expansion.h b/src/fontsize-expansion.h deleted file mode 100644 index 2477cd49c..000000000 --- a/src/fontsize-expansion.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef INKSCAPE_FONTSIZE_EXPANSION_H -#define INKSCAPE_FONTSIZE_EXPANSION_H - -#include "libnr/nr-forward.h" - -double fontsize_expansion(NR::Matrix const &m); - - -#endif /* !INKSCAPE_FONTSIZE_EXPANSION_H */ diff --git a/src/gradient-chemistry.cpp b/src/gradient-chemistry.cpp index 7b32b37d7..ce26d2c5f 100644 --- a/src/gradient-chemistry.cpp +++ b/src/gradient-chemistry.cpp @@ -38,7 +38,7 @@ #include "svg/svg.h" #include "svg/svg-color.h" #include "svg/css-ostringstream.h" -#include "prefs-utils.h" +#include "preferences.h" // Terminology: @@ -240,7 +240,8 @@ SPGradient * sp_gradient_fork_vector_if_necessary (SPGradient *gr) { // Some people actually prefer their gradient vectors to be shared... - if (prefs_get_int_attribute("options.forkgradientvectors", "value", 1) == 0) + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (!prefs->getBool("/options/forkgradientvectors/value", true)) return gr; if (SP_OBJECT_HREFCOUNT(gr) > 1) { diff --git a/src/gradient-context.cpp b/src/gradient-context.cpp index 7181fab4e..3741bc499 100644 --- a/src/gradient-context.cpp +++ b/src/gradient-context.cpp @@ -32,7 +32,7 @@ #include "gradient-context.h" #include "gradient-chemistry.h" #include -#include "prefs-utils.h" +#include "preferences.h" #include "gradient-drag.h" #include "gradient-chemistry.h" #include "xml/repr.h" @@ -203,7 +203,8 @@ static void sp_gradient_context_setup(SPEventContext *ec) ((SPEventContextClass *) parent_class)->setup(ec); } - if (prefs_get_int_attribute("tools.gradient", "selcue", 1) != 0) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/tools/gradient/selcue", true)) { ec->enableSelectionCue(); } @@ -488,11 +489,12 @@ sp_gradient_context_root_handler(SPEventContext *event_context, GdkEvent *event) SPDesktop *desktop = event_context->desktop; Inkscape::Selection *selection = sp_desktop_selection (desktop); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); SPGradientContext *rc = SP_GRADIENT_CONTEXT(event_context); - event_context->tolerance = prefs_get_int_attribute_limited("options.dragtolerance", "value", 0, 0, 100); - double const nudge = prefs_get_double_attribute_limited("options.nudgedistance", "value", 2, 0, 1000); // in px + event_context->tolerance = prefs->getIntLimited("/options/dragtolerance/value", 0, 0, 100); + double const nudge = prefs->getDoubleLimited("/options/nudgedistance/value", 2, 0, 1000); // in px GrDrag *drag = event_context->_grdrag; g_assert (drag); @@ -516,8 +518,8 @@ sp_gradient_context_root_handler(SPEventContext *event_context, GdkEvent *event) } else { for (GSList const* i = selection->itemList(); i != NULL; i = i->next) { SPItem *item = SP_ITEM(i->data); - SPGradientType new_type = (SPGradientType) prefs_get_int_attribute ("tools.gradient", "newgradient", SP_GRADIENT_TYPE_LINEAR); - guint new_fill = prefs_get_int_attribute ("tools.gradient", "newfillorstroke", 1); + SPGradientType new_type = (SPGradientType) prefs->getInt("/tools/gradient/newgradient", SP_GRADIENT_TYPE_LINEAR); + guint new_fill = prefs->getInt("/tools/gradient/newfillorstroke", 1); SPGradient *vector = sp_gradient_vector_for_object(sp_desktop_document(desktop), desktop, SP_OBJECT (item), new_fill); @@ -554,7 +556,7 @@ sp_gradient_context_root_handler(SPEventContext *event_context, GdkEvent *event) /* Snap center to nearest magnetic point */ SnapManager &m = desktop->namedview->snap_manager; m.setup(desktop); - m.freeSnapReturnByRef(Inkscape::Snapper::SNAPPOINT_NODE, button_dt); + m.freeSnapReturnByRef(Inkscape::SnapPreferences::SNAPPOINT_NODE, button_dt); rc->origin = from_2geom(button_dt); } @@ -861,8 +863,9 @@ static void sp_gradient_drag(SPGradientContext &rc, NR::Point const pt, guint /* SPEventContext *ec = SP_EVENT_CONTEXT(&rc); if (!selection->isEmpty()) { - int type = prefs_get_int_attribute ("tools.gradient", "newgradient", 1); - int fill_or_stroke = prefs_get_int_attribute ("tools.gradient", "newfillorstroke", 1); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int type = prefs->getInt("/tools/gradient/newgradient", 1); + int fill_or_stroke = prefs->getInt("/tools/gradient/newfillorstroke", 1); SPGradient *vector; if (ec->item_to_select) { diff --git a/src/gradient-drag.cpp b/src/gradient-drag.cpp index 994171d13..b507ab72b 100644 --- a/src/gradient-drag.cpp +++ b/src/gradient-drag.cpp @@ -27,11 +27,12 @@ #include "desktop-style.h" #include "document.h" #include "display/sp-ctrlline.h" +#include "display/sp-canvas-util.h" #include "xml/repr.h" #include "svg/css-ostringstream.h" #include "svg/svg.h" #include "libnr/nr-point-fns.h" -#include "prefs-utils.h" +#include "preferences.h" #include "sp-item.h" #include "style.h" #include "knot.h" @@ -581,7 +582,7 @@ gr_knot_moved_handler(SPKnot *knot, NR::Point const *ppointer, guint state, gpoi SPDesktop *desktop = dragger->parent->desktop; SnapManager &m = desktop->namedview->snap_manager; m.setup(desktop); - Inkscape::SnappedPoint s = m.freeSnap(Inkscape::Snapper::SNAPPOINT_NODE, to_2geom(p)); + Inkscape::SnappedPoint s = m.freeSnap(Inkscape::SnapPreferences::SNAPPOINT_NODE, to_2geom(p)); if (s.getSnapped()) { p = s.getPoint(); sp_knot_moveto (knot, p); @@ -614,7 +615,8 @@ gr_knot_moved_handler(SPKnot *knot, NR::Point const *ppointer, guint state, gpoi } if (state & GDK_CONTROL_MASK) { - unsigned snaps = abs(prefs_get_int_attribute("options.rotationsnapsperpi", "value", 12)); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + unsigned snaps = abs(prefs->getInt("/options/rotationsnapsperpi/value", 12)); /* 0 means no snapping. */ // This list will store snap vectors from all draggables of dragger @@ -1282,7 +1284,7 @@ GrDragger::GrDragger (GrDrag *parent, NR::Point p, GrDraggable *draggable) this->knot = sp_knot_new (parent->desktop, NULL); this->knot->setMode(SP_KNOT_MODE_XOR); this->knot->setFill(GR_KNOT_COLOR_NORMAL, GR_KNOT_COLOR_MOUSEOVER, GR_KNOT_COLOR_MOUSEOVER); - this->knot->setStroke(0x000000ff, 0x000000ff, 0x000000ff); + this->knot->setStroke(0x0000007f, 0x0000007f, 0x0000007f); sp_knot_update_ctrl(this->knot); // move knot to the given point @@ -1526,6 +1528,7 @@ GrDrag::addLine (SPItem *item, NR::Point p1, NR::Point p2, guint32 rgba) { SPCanvasItem *line = sp_canvas_item_new(sp_desktop_controls(this->desktop), SP_TYPE_CTRLLINE, NULL); + sp_canvas_item_move_to_z(line, 0); SP_CTRLLINE(line)->item = item; sp_ctrlline_set_coords(SP_CTRLLINE(line), p1, p2); if (rgba != GR_LINE_COLOR_FILL) // fill is the default, so don't set color for it to speed up redraw diff --git a/src/graphlayout/graphlayout.cpp b/src/graphlayout/graphlayout.cpp index d0ba2d20e..87ec60695 100644 --- a/src/graphlayout/graphlayout.cpp +++ b/src/graphlayout/graphlayout.cpp @@ -1,14 +1,15 @@ -/** \file - * Interface between Inkscape code (SPItem) and graphlayout functions. +/** @file + * @brief Interface between Inkscape code (SPItem) and graphlayout functions. */ /* -* Authors: -* Tim Dwyer -* -* Copyright (C) 2005 Authors -* -* Released under GNU GPL. Read the file 'COPYING' for more information. -*/ + * Authors: + * Tim Dwyer + * + * Copyright (C) 2005 Authors + * + * Released under GNU GPL. Read the file 'COPYING' for more information. + */ + #include #include #include @@ -142,11 +143,11 @@ void graphlayout(GSList const *const items) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); SimpleConstraints scx,scy; - double ideal_connector_length = prefs->getDouble("tools.connector", "length", 100.0); + double ideal_connector_length = prefs->getDouble("/tools/connector/length", 100.0); double directed_edge_height_modifier = 1.0; - bool directed = prefs->getBool("tools.connector", "directedlayout"); - bool avoid_overlaps = prefs->getBool("tools.connector", "avoidoverlaplayout"); + bool directed = prefs->getBool("/tools/connector/directedlayout"); + bool avoid_overlaps = prefs->getBool("/tools/connector/avoidoverlaplayout"); for (list::iterator i(selected.begin()); i != selected.end(); diff --git a/src/guide-snapper.cpp b/src/guide-snapper.cpp index d1991e75d..d9c57f829 100644 --- a/src/guide-snapper.cpp +++ b/src/guide-snapper.cpp @@ -43,7 +43,7 @@ Inkscape::GuideSnapper::LineList Inkscape::GuideSnapper::_getSnapLines(Geom::Poi */ bool Inkscape::GuideSnapper::ThisSnapperMightSnap() const { - return _snapmanager->getNamedView() == NULL ? false : (_snap_enabled && _snap_from != 0 && _snapmanager->getNamedView()->showguides); + return _snapmanager->getNamedView() == NULL ? false : (_snap_enabled && _snapmanager->snapprefs.getSnapModeBBoxOrNodes() && _snapmanager->getNamedView()->showguides); } void Inkscape::GuideSnapper::_addSnappedLine(SnappedConstraints &sc, Geom::Point const snapped_point, Geom::Coord const snapped_distance, Geom::Point const normal_to_line, Geom::Point const point_on_line) const diff --git a/src/helper/png-write.cpp b/src/helper/png-write.cpp index dd405b7d9..89ab32f55 100644 --- a/src/helper/png-write.cpp +++ b/src/helper/png-write.cpp @@ -29,7 +29,7 @@ #include #include #include -#include "prefs-utils.h" +#include "preferences.h" #include "dialogs/rdf.h" /* This is an example of how to use libpng to read and write PNG files. @@ -409,8 +409,11 @@ sp_export_png_file(SPDocument *doc, gchar const *filename, } // export with maximum blur rendering quality - int saved_quality = prefs_get_int_attribute("options.blurquality", "value", 0); - prefs_set_int_attribute("options.blurquality", "value", 2); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int saved_quality = prefs->getInt("/options/blurquality/value", 0); + prefs->setInt("/options/blurquality/value", 2); + int saved_filter_quality = prefs->getInt("/options/filterquality/value", 0); + prefs->setInt("/options/filterquality/value", 2); sp_document_ensure_up_to_date(doc); @@ -487,8 +490,9 @@ sp_export_png_file(SPDocument *doc, gchar const *filename, /* Free arena */ nr_object_unref((NRObject *) arena); - // restore saved blur quality - prefs_set_int_attribute("options.blurquality", "value", saved_quality); + // restore saved blur and filter quality + prefs->setInt("/options/blurquality/value", saved_quality); + prefs->setInt("/options/filterquality/value", saved_filter_quality); return write_status; } diff --git a/src/inkscape.cpp b/src/inkscape.cpp index bf3c25e94..51f740fb4 100644 --- a/src/inkscape.cpp +++ b/src/inkscape.cpp @@ -303,7 +303,7 @@ static gint inkscape_autosave(gpointer) Glib::ustring autosave_dir; { - Glib::ustring tmp = prefs->getString("options.autosave", "path"); + Glib::ustring tmp = prefs->getString("/options/autosave/path"); if (!tmp.empty()) { autosave_dir = tmp; } else { @@ -322,7 +322,7 @@ static gint inkscape_autosave(gpointer) gchar sptstr[256]; strftime(sptstr, 256, "%Y_%m_%d_%H_%M_%S", sptm); - gint autosave_max = prefs->getInt("options.autosave", "max", 10); + gint autosave_max = prefs->getInt("/options/autosave/max", 10); gint docnum = 0; @@ -438,14 +438,14 @@ void inkscape_autosave_init() autosave_timeout_id = 0; } - // g_debug("options.autosave.enable = %d", prefs->getBool("options.autosave", "enable", true)); + // g_debug("options.autosave.enable = %d", prefs->getBool("/options/autosave/enable", true)); // Is autosave enabled? - if (!prefs->getBool("options.autosave", "enable", true)){ + if (!prefs->getBool("/options/autosave/enable", true)){ autosave_timeout_id = 0; } else { // Turn on autosave - guint32 timeout = prefs->getInt("options.autosave", "interval", 10) * 60; - // g_debug("options.autosave.interval = %d", prefs->getInt("options.autosave", "interval", 10)); + guint32 timeout = prefs->getInt("/options/autosave/interval", 10) * 60; + // g_debug("options.autosave.interval = %d", prefs->getInt("/options/autosave/interval", 10)); #if GLIB_CHECK_VERSION(2,14,0) autosave_timeout_id = g_timeout_add_seconds(timeout, inkscape_autosave, NULL); #else @@ -772,7 +772,7 @@ inkscape_application_init (const gchar *argv0, gboolean use_gui) #define DEFAULT_LOG_REDIRECT false #endif - if (use_gui == TRUE && prefs->getBool("dialogs.debug", "redirect", DEFAULT_LOG_REDIRECT)) + if (use_gui == TRUE && prefs->getBool("/dialogs/debug/redirect", DEFAULT_LOG_REDIRECT)) { Inkscape::UI::Dialogs::DebugDialog::getInstance()->captureLogMessages(); } @@ -780,7 +780,7 @@ inkscape_application_init (const gchar *argv0, gboolean use_gui) /* Check for global remapping of Alt key */ if(use_gui) { - inkscape_mapalt(guint(prefs->getInt("options.mapalt", "value", 0))); + inkscape_mapalt(guint(prefs->getInt("/options/mapalt/value", 0))); } /* Initialize the extensions */ @@ -825,15 +825,6 @@ bool inkscape_load_menus (Inkscape::Application */*inkscape*/) return false; } -/** - * @deprecated Use the Preferences class instead, and try not to use _getNode - */ -Inkscape::XML::Node *inkscape_get_repr(Inkscape::Application */*inkscape*/, const gchar *key) -{ - Inkscape::Preferences *ps = Inkscape::Preferences::get(); - return ps->_getNode(key); -} - void inkscape_selection_modified (Inkscape::Selection *selection, guint flags) diff --git a/src/inkscape.h b/src/inkscape.h index 90737cc41..ca2894227 100644 --- a/src/inkscape.h +++ b/src/inkscape.h @@ -34,7 +34,6 @@ void inkscape_autosave_init(); void inkscape_application_init (const gchar *argv0, gboolean use_gui); bool inkscape_load_config (const gchar *filename, Inkscape::XML::Document *config, const gchar *skeleton, unsigned int skel_size, const gchar *e_notreg, const gchar *e_notxml, const gchar *e_notsp, const gchar *warn); -Inkscape::XML::Node *inkscape_get_repr (Inkscape::Application *inkscape, const gchar *key); /* Menus */ bool inkscape_load_menus (Inkscape::Application * inkscape); diff --git a/src/inkview.cpp b/src/inkview.cpp index fee18612d..873cacc31 100644 --- a/src/inkview.cpp +++ b/src/inkview.cpp @@ -555,7 +555,6 @@ void inkscape_ref (void) {} void inkscape_unref (void) {} void inkscape_add_document (SPDocument *document) {} void inkscape_remove_document (SPDocument *document) {} -Inkscape::XML::Node *inkscape_get_repr (Inkscape::Application *inkscape, const gchar *key) {return NULL;} #endif diff --git a/src/interface.cpp b/src/interface.cpp index 1bc00a250..8a3182103 100644 --- a/src/interface.cpp +++ b/src/interface.cpp @@ -1,9 +1,9 @@ #define __SP_INTERFACE_C__ -/** - * Main UI stuff - * - * Authors: +/** @file + * @brief Main UI stuff + */ +/* Authors: * Lauris Kaplinski * Frank Felfe * bulia byak @@ -23,7 +23,7 @@ #include "inkscape-private.h" #include "extension/effect.h" #include "widgets/icon.h" -#include "prefs-utils.h" +#include "preferences.h" #include "path-prefix.h" #include "shortcuts.h" @@ -132,6 +132,7 @@ static void sp_ui_menu_item_set_sensitive(SPAction *action, static void sp_ui_menu_item_set_name(SPAction *action, Glib::ustring name, void *data); +static void sp_recent_open(GtkRecentChooser *, gpointer); SPActionEventVector menu_item_event_vector = { {NULL}, @@ -170,15 +171,16 @@ sp_create_window(SPViewWidget *vw, gboolean editable) win->signal_window_state_event().connect(sigc::mem_fun(*desktop, &SPDesktop::onWindowStateEvent)); win->signal_focus_in_event().connect(sigc::mem_fun(*desktop_widget, &SPDesktopWidget::onFocusInEvent)); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); gint prefs_geometry = - (2==prefs_get_int_attribute("options.savewindowgeometry", "value", 0)); + (2==prefs->getInt("/options/savewindowgeometry/value", 0)); if (prefs_geometry) { - gint pw = prefs_get_int_attribute("desktop.geometry", "width", -1); - gint ph = prefs_get_int_attribute("desktop.geometry", "height", -1); - gint px = prefs_get_int_attribute("desktop.geometry", "x", -1); - gint py = prefs_get_int_attribute("desktop.geometry", "y", -1); - gint full = prefs_get_int_attribute("desktop.geometry", "fullscreen", 0); - gint maxed = prefs_get_int_attribute("desktop.geometry", "maximized", 0); + gint pw = prefs->getInt("/desktop/geometry/width", -1); + gint ph = prefs->getInt("/desktop/geometry/height", -1); + gint px = prefs->getInt("/desktop/geometry/x", -1); + gint py = prefs->getInt("/desktop/geometry/y", -1); + gint full = prefs->getBool("/desktop/geometry/fullscreen"); + gint maxed = prefs->getBool("/desktop/geometry/maximized"); if (pw>0 && ph>0) { gint w = MIN(gdk_screen_width(), pw); gint h = MIN(gdk_screen_height(), ph); @@ -633,18 +635,20 @@ checkitem_toggled(GtkCheckMenuItem *menuitem, gpointer user_data) gchar const *pref = (gchar const *) user_data; Inkscape::UI::View::View *view = (Inkscape::UI::View::View *) g_object_get_data(G_OBJECT(menuitem), "view"); - gchar *pref_path; + Glib::ustring pref_path; if (reinterpret_cast(view)->is_focusMode()) { - pref_path = g_strconcat("focus.", pref, NULL); + pref_path = "/focus/"; } else if (reinterpret_cast(view)->is_fullscreen()) { - pref_path = g_strconcat("fullscreen.", pref, NULL); + pref_path = "/fullscreen/"; } else { - pref_path = g_strconcat("window.", pref, NULL); - } + pref_path = "/window/"; + } + pref_path += pref; + pref_path += "/state"; + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); gboolean checked = gtk_check_menu_item_get_active(menuitem); - prefs_set_int_attribute(pref_path, "state", checked); - g_free(pref_path); + prefs->setBool(pref_path, checked); reinterpret_cast(view)->layoutWidget(); } @@ -657,13 +661,16 @@ checkitem_update(GtkWidget *widget, GdkEventExpose */*event*/, gpointer user_dat gchar const *pref = (gchar const *) user_data; Inkscape::UI::View::View *view = (Inkscape::UI::View::View *) g_object_get_data(G_OBJECT(menuitem), "view"); - gchar const *pref_path; - if ((static_cast(view))->is_fullscreen()) - pref_path = g_strconcat("fullscreen.", pref, NULL); - else - pref_path = g_strconcat("window.", pref, NULL); + Glib::ustring pref_path; + if ((static_cast(view))->is_fullscreen()) { + pref_path = "/fullscreen/"; + } else { + pref_path = "/window/"; + } + pref_path += pref; - gint ison = prefs_get_int_attribute_limited(pref_path, "state", 1, 0, 1); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + bool ison = prefs->getBool(pref_path + "/state", true); g_signal_handlers_block_by_func(G_OBJECT(menuitem), (gpointer)(GCallback)checkitem_toggled, user_data); gtk_check_menu_item_set_active(menuitem, ison); @@ -737,9 +744,16 @@ sp_ui_menu_append_check_item_from_verb(GtkMenu *menu, Inkscape::UI::View::View * } static void -sp_recent_open(GtkWidget */*widget*/, gchar const *uri) +sp_recent_open(GtkRecentChooser *recent_menu, gpointer /*user_data*/) { - sp_file_open(uri, NULL); + // dealing with the bizarre filename convention in Inkscape for now + gchar *uri = gtk_recent_chooser_get_current_uri(GTK_RECENT_CHOOSER(recent_menu)); + gchar *local_fn = g_filename_from_uri(uri, NULL, NULL); + gchar *utf8_fn = g_filename_to_utf8(local_fn, -1, NULL, NULL, NULL); + sp_file_open(utf8_fn, NULL); + g_free(utf8_fn); + g_free(local_fn); + g_free(uri); } static void @@ -805,35 +819,6 @@ sp_menu_append_new_templates(GtkWidget *menu, Inkscape::UI::View::View *view) } } -void -sp_menu_append_recent_documents(GtkWidget *menu, Inkscape::UI::View::View* /* view */) -{ - gchar const **recent = prefs_get_recent_files(); - if (recent) { - int i; - - for (i = 0; recent[i] != NULL; i += 2) { - gchar const *uri = recent[i]; - gchar const *name = recent[i + 1]; - - GtkWidget *item = gtk_menu_item_new_with_label(name); - gtk_widget_show(item); - g_signal_connect(G_OBJECT(item), - "activate", - G_CALLBACK(sp_recent_open), - (gpointer)uri); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); - } - - g_free(recent); - } else { - GtkWidget *item = gtk_menu_item_new_with_label(_("None")); - gtk_widget_show(item); - gtk_widget_set_sensitive(item, FALSE); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); - } -} - void sp_ui_checkboxes_menus(GtkMenu *m, Inkscape::UI::View::View *view) { @@ -929,7 +914,25 @@ sp_ui_build_dyn_menus(Inkscape::XML::Node *menus, GtkWidget *menu, Inkscape::UI: continue; } if (!strcmp(menu_pntr->name(), "recent-file-list")) { - sp_menu_append_recent_documents(menu, view); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + + // create recent files menu + int max_recent = prefs->getInt("/options/maxrecentdocuments/value"); + GtkWidget *recent_menu = gtk_recent_chooser_menu_new_for_manager(gtk_recent_manager_get_default()); + gtk_recent_chooser_set_limit(GTK_RECENT_CHOOSER(recent_menu), max_recent); + // sort most recently used documents first to preserve previous behavior + gtk_recent_chooser_set_sort_type(GTK_RECENT_CHOOSER(recent_menu), GTK_RECENT_SORT_MRU); + g_signal_connect(G_OBJECT(recent_menu), "item-activated", G_CALLBACK(sp_recent_open), (gpointer) NULL); + + // add filter to only open files added by Inkscape + GtkRecentFilter *inkscape_only_filter = gtk_recent_filter_new(); + gtk_recent_filter_add_application(inkscape_only_filter, "inkscape"); + gtk_recent_chooser_add_filter(GTK_RECENT_CHOOSER(recent_menu), inkscape_only_filter); + + GtkWidget *recent_item = gtk_menu_item_new_with_mnemonic(_("Open _Recent")); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(recent_item), recent_menu); + + gtk_menu_append(GTK_MENU(menu), GTK_WIDGET(recent_item)); continue; } if (!strcmp(menu_pntr->name(), "objects-checkboxes")) { @@ -1188,6 +1191,7 @@ sp_ui_drag_data_received(GtkWidget *widget, if (position) { NR::Point nearest = get_point_on_Path(livarot_path, position->piece, position->t); NR::Point delta = nearest - button_doc; + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); delta = desktop->d2w(delta); double stroke_tolerance = ( !SP_OBJECT_STYLE(item)->stroke.isNone() ? @@ -1195,7 +1199,7 @@ sp_ui_drag_data_received(GtkWidget *widget, SP_OBJECT_STYLE (item)->stroke_width.computed * to_2geom(sp_item_i2d_affine(item)).descrim() * 0.5 : 0.0) - + prefs_get_int_attribute_limited("options.dragtolerance", "value", 0, 0, 100); + + prefs->getIntLimited("/options/dragtolerance/value", 0, 0, 100); if (NR::L2 (delta) < stroke_tolerance) { fillnotstroke = false; @@ -1253,15 +1257,16 @@ sp_ui_drag_data_received(GtkWidget *widget, // To move the imported object, we must temporarily set the "transform pattern with // object" option. { - int const saved_pref = prefs_get_int_attribute("options.transform", "pattern", 1); - prefs_set_int_attribute("options.transform", "pattern", 1); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + bool const saved_pref = prefs->getBool("/options/transform/pattern", true); + prefs->setBool("/options/transform/pattern", true); sp_document_ensure_up_to_date(sp_desktop_document(desktop)); boost::optional sel_bbox = selection->bounds(); if (sel_bbox) { Geom::Point m( desktop->point() - sel_bbox->midpoint() ); sp_selection_move_relative(selection, m); } - prefs_set_int_attribute("options.transform", "pattern", saved_pref); + prefs->setBool("/options/transform/pattern", saved_pref); } Inkscape::GC::release(newgroup); diff --git a/src/io/sys.cpp b/src/io/sys.cpp index 029ff88fd..96d0ae983 100644 --- a/src/io/sys.cpp +++ b/src/io/sys.cpp @@ -23,7 +23,7 @@ #include #include -#include "prefs-utils.h" +#include "preferences.h" #include "sys.h" #ifdef WIN32 @@ -75,9 +75,10 @@ extern guint update_in_progress; #define DEBUG_MESSAGE(key, ...) \ {\ - gint dump = prefs_get_int_attribute_limited("options.bulia", #key, 0, 0, 1);\ - gint dumpD = prefs_get_int_attribute_limited("options.bulia", #key"D", 0, 0, 1);\ - gint dumpD2 = prefs_get_int_attribute_limited("options.bulia", #key"D2", 0, 0, 1);\ + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); \ + gint dump = prefs->getBool("/options/bulia/" #key) ? 1 : 0;\ + gint dumpD = prefs->getBool("/options/bulia/" #key"D") ? 1 : 0;\ + gint dumpD2 = prefs->getBool("/options/bulia/" #key"D2") ? 1 : 0;\ dumpD &= ( (update_in_progress == 0) || dumpD2 );\ if ( dump )\ {\ diff --git a/src/knot-holder-entity.cpp b/src/knot-holder-entity.cpp index 1fd6bc4b5..f6c82582b 100644 --- a/src/knot-holder-entity.cpp +++ b/src/knot-holder-entity.cpp @@ -19,7 +19,7 @@ #include "knotholder.h" #include "sp-item.h" #include "style.h" -#include "prefs-utils.h" +#include "preferences.h" #include "macros.h" #include #include "sp-pattern.h" @@ -93,7 +93,7 @@ KnotHolderEntity::snap_knot_position(Geom::Point const &p) Geom::Point s = p * i2d; SnapManager &m = desktop->namedview->snap_manager; m.setup(desktop, true, item); - m.freeSnapReturnByRef(Inkscape::Snapper::SNAPPOINT_NODE, s); + m.freeSnapReturnByRef(Inkscape::SnapPreferences::SNAPPOINT_NODE, s); return s * i2d.inverse(); } @@ -168,7 +168,8 @@ PatternKnotHolderEntityAngle::knot_get() void PatternKnotHolderEntityAngle::knot_set(Geom::Point const &p, Geom::Point const &/*origin*/, guint state) { - int const snaps = prefs_get_int_attribute("options.rotationsnapsperpi", "value", 12); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int const snaps = prefs->getInt("/options/rotationsnapsperpi/value", 12); SPPattern *pat = SP_PATTERN(SP_STYLE_FILL_SERVER(SP_OBJECT(item)->style)); diff --git a/src/knot.cpp b/src/knot.cpp index 59e32a56e..741199098 100644 --- a/src/knot.cpp +++ b/src/knot.cpp @@ -24,7 +24,7 @@ #include "desktop-handles.h" #include "knot.h" #include "document.h" -#include "prefs-utils.h" +#include "preferences.h" #include "message-stack.h" #include "message-context.h" #include "event-context.h" @@ -299,7 +299,8 @@ static int sp_knot_handler(SPCanvasItem */*item*/, GdkEvent *event, SPKnot *knot } g_object_ref(knot); - tolerance = prefs_get_int_attribute_limited("options.dragtolerance", "value", 0, 0, 100); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + tolerance = prefs->getIntLimited("/options/dragtolerance/value", 0, 0, 100); switch (event->type) { case GDK_2BUTTON_PRESS: diff --git a/src/layer-manager.cpp b/src/layer-manager.cpp index c7ba0e904..3e49edac5 100644 --- a/src/layer-manager.cpp +++ b/src/layer-manager.cpp @@ -16,7 +16,7 @@ #include "desktop.h" #include "desktop-handles.h" #include "layer-manager.h" -#include "prefs-utils.h" +#include "preferences.h" #include "ui/view/view.h" #include "selection.h" #include "sp-object.h" @@ -150,7 +150,8 @@ void LayerManager::setCurrentLayer( SPObject* obj ) if ( _desktop->currentRoot() ) { _desktop->setCurrentLayer( obj ); - if ( prefs_get_int_attribute_limited("options.selection", "layerdeselect", 1, 0, 1) ) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/options/selection/layerdeselect", true)) { sp_desktop_selection( _desktop )->clear(); } } diff --git a/src/line-snapper.cpp b/src/line-snapper.cpp index b2934c2e3..140157fe3 100644 --- a/src/line-snapper.cpp +++ b/src/line-snapper.cpp @@ -6,7 +6,7 @@ * Diederik van Lierop * And others... * - * Copyright (C) 1999-2007 Authors + * Copyright (C) 1999-2008 Authors * * Released under GNU GPL, read the file 'COPYING' for more information */ @@ -17,23 +17,23 @@ #include "line-snapper.h" #include "snapped-line.h" #include +#include "snap.h" Inkscape::LineSnapper::LineSnapper(SnapManager const *sm, Geom::Coord const d) : Snapper(sm, d) { - } void Inkscape::LineSnapper::freeSnap(SnappedConstraints &sc, - Inkscape::Snapper::PointType const &t, + Inkscape::SnapPreferences::PointType const &t, Geom::Point const &p, bool const &/*f*/, boost::optional const &/*bbox_to_snap*/, std::vector const */*it*/, std::vector */*unselected_nodes*/) const { - if (_snap_enabled == false || getSnapFrom(t) == false) { + if (_snap_enabled == false || _snapmanager->snapprefs.getSnapFrom(t) == false) { return; - } + } /* Get the lines that we will try to snap to */ const LineList lines = _getSnapLines(p); @@ -58,7 +58,7 @@ void Inkscape::LineSnapper::freeSnap(SnappedConstraints &sc, } void Inkscape::LineSnapper::constrainedSnap(SnappedConstraints &sc, - Inkscape::Snapper::PointType const &t, + Inkscape::SnapPreferences::PointType const &t, Geom::Point const &p, bool const &/*f*/, boost::optional const &/*bbox_to_snap*/, @@ -66,7 +66,7 @@ void Inkscape::LineSnapper::constrainedSnap(SnappedConstraints &sc, std::vector const */*it*/) const { - if (_snap_enabled == false || getSnapFrom(t) == false) { + if (_snap_enabled == false || _snapmanager->snapprefs.getSnapFrom(t) == false) { return; } diff --git a/src/line-snapper.h b/src/line-snapper.h index 7767fe2ea..593e8bd73 100644 --- a/src/line-snapper.h +++ b/src/line-snapper.h @@ -7,6 +7,9 @@ * * Authors: * Carl Hetherington + * Diederik van Lierop + * + * Copyright (C) 1999-2008 Authors * * Released under GNU GPL, read the file 'COPYING' for more information. */ @@ -22,7 +25,7 @@ public: LineSnapper(SnapManager const *sm, Geom::Coord const d); void freeSnap(SnappedConstraints &sc, - Inkscape::Snapper::PointType const &t, + Inkscape::SnapPreferences::PointType const &t, Geom::Point const &p, bool const &first_point, boost::optional const &bbox_to_snap, @@ -30,7 +33,7 @@ public: std::vector *unselected_nodes) const; void constrainedSnap(SnappedConstraints &sc, - Inkscape::Snapper::PointType const &t, + Inkscape::SnapPreferences::PointType const &t, Geom::Point const &p, bool const &first_point, boost::optional const &bbox_to_snap, diff --git a/src/live_effects/effect.cpp b/src/live_effects/effect.cpp index ef886a749..a04100cd3 100644 --- a/src/live_effects/effect.cpp +++ b/src/live_effects/effect.cpp @@ -491,7 +491,7 @@ Effect::getHelperPaths(SPLPEItem *lpeitem) std::vector hp_vec; if (!SP_IS_SHAPE(lpeitem)) { - g_print ("How to handle helperpaths for non-shapes?\n"); + g_print ("How to handle helperpaths for non-shapes?\n"); // non-shapes are for example SPGroups. return hp_vec; } diff --git a/src/live_effects/effect.h b/src/live_effects/effect.h index 609778b46..8dd1354e2 100644 --- a/src/live_effects/effect.h +++ b/src/live_effects/effect.h @@ -129,12 +129,13 @@ public: virtual void setup_nodepath(Inkscape::NodePath::Path *np); + /// /todo: is this method really necessary? it causes UI inconsistensies... (johan) virtual void transform_multiply(Geom::Matrix const& postmul, bool set); - // TODO: providesKnotholder() is currently used as an indicator of whether a nodepath is + // /TODO: providesKnotholder() is currently used as an indicator of whether a nodepath is // created for an item or not. When we allow both at the same time, this needs rethinking! bool providesKnotholder(); - // TODO: in view of providesOwnFlashPaths() below, this is somewhat redundant + // /TODO: in view of providesOwnFlashPaths() below, this is somewhat redundant // (but spiro lpe still needs it!) virtual LPEPathFlashType pathFlashType() { return DEFAULT; } void addHandles(KnotHolder *knotholder, SPDesktop *desktop, SPItem *item); diff --git a/src/live_effects/lpe-bendpath.cpp b/src/live_effects/lpe-bendpath.cpp index c5cde7025..c3be57981 100644 --- a/src/live_effects/lpe-bendpath.cpp +++ b/src/live_effects/lpe-bendpath.cpp @@ -139,13 +139,6 @@ LPEBendPath::resetDefaults(SPItem * item) bend_path.set_new_value( path.toPwSb(), true ); } -void -LPEBendPath::transform_multiply(Geom::Matrix const& postmul, bool set) -{ - // TODO: implement correct transformation instead of this default behavior - Effect::transform_multiply(postmul, set); -} - } // namespace LivePathEffect } /* namespace Inkscape */ diff --git a/src/live_effects/lpe-bendpath.h b/src/live_effects/lpe-bendpath.h index 20871bc0f..98421df88 100644 --- a/src/live_effects/lpe-bendpath.h +++ b/src/live_effects/lpe-bendpath.h @@ -39,7 +39,6 @@ public: virtual void resetDefaults(SPItem * item); - virtual void transform_multiply(Geom::Matrix const& postmul, bool set); private: PathParam bend_path; diff --git a/src/live_effects/lpe-curvestitch.cpp b/src/live_effects/lpe-curvestitch.cpp index 34c17a025..4404620be 100644 --- a/src/live_effects/lpe-curvestitch.cpp +++ b/src/live_effects/lpe-curvestitch.cpp @@ -179,6 +179,11 @@ LPECurveStitch::resetDefaults(SPItem * item) } } + +/** /todo check whether this special case is necessary. It seems to "bug" editing behavior: + * scaling an object with transforms preserved behaves differently from scaling with + * transforms optimized (difference caused by this special method). + */ void LPECurveStitch::transform_multiply(Geom::Matrix const& postmul, bool set) { diff --git a/src/live_effects/lpe-envelope.cpp b/src/live_effects/lpe-envelope.cpp index fad912df7..553390585 100755 --- a/src/live_effects/lpe-envelope.cpp +++ b/src/live_effects/lpe-envelope.cpp @@ -248,13 +248,6 @@ LPEEnvelope::resetDefaults(SPItem * item) bend_path4.set_new_value( path4.toPwSb(), true ); } -void -LPEEnvelope::transform_multiply(Geom::Matrix const& postmul, bool set) -{ - // TODO: implement correct transformation instead of this default behavior - Effect::transform_multiply(postmul, set); -} - } // namespace LivePathEffect } /* namespace Inkscape */ diff --git a/src/live_effects/lpe-envelope.h b/src/live_effects/lpe-envelope.h index 282169674..fe1d9561d 100755 --- a/src/live_effects/lpe-envelope.h +++ b/src/live_effects/lpe-envelope.h @@ -37,8 +37,6 @@ public: virtual void resetDefaults(SPItem * item); - virtual void transform_multiply(Geom::Matrix const& postmul, bool set); - private: PathParam bend_path1; PathParam bend_path2; diff --git a/src/live_effects/lpe-knot.cpp b/src/live_effects/lpe-knot.cpp index 4504f4467..0ff1beccf 100644 --- a/src/live_effects/lpe-knot.cpp +++ b/src/live_effects/lpe-knot.cpp @@ -28,6 +28,8 @@ #include <2geom/path-intersection.h> #include <2geom/elliptical-arc.h> +#include + namespace Inkscape { namespace LivePathEffect { @@ -171,12 +173,12 @@ namespace LPEKnotNS { CrossingPoints::CrossingPoints(Geom::CrossingSet const &input, std::vector const &path) : std::vector() { using namespace Geom; - g_print("JF>\nCrossing set content:\n"); +// g_print("JF>\nCrossing set content:\n"); for( unsigned i=0; i (%u,%u) at times (%f,%f) ----->",c.a,c.b,c.ta,c.tb); +// g_print("JF> (%u,%u) at times (%f,%f) ----->",c.a,c.b,c.ta,c.tb); unsigned j = c.getOther(i); if (i const &input_path) for(unsigned i=0;iavant: %u,%u,%f,%f\n",crossingTable[i][j].a, crossingTable[i][j].b, crossingTable[i][j].ta, crossingTable[i][j].tb); +// g_print("JF>avant: %u,%u,%f,%f\n",crossingTable[i][j].a, crossingTable[i][j].b, crossingTable[i][j].ta, crossingTable[i][j].tb); } } crossingTable = crossingSet_remove_double(crossingTable); for(unsigned i=0;iapres: %u,%u,%f,%f\n",crossingTable[i][j].a, crossingTable[i][j].b, crossingTable[i][j].ta, crossingTable[i][j].tb); +// g_print("JF>apres: %u,%u,%f,%f\n",crossingTable[i][j].a, crossingTable[i][j].b, crossingTable[i][j].ta, crossingTable[i][j].tb); } } diff --git a/src/live_effects/lpe-patternalongpath.cpp b/src/live_effects/lpe-patternalongpath.cpp index 2240a0c3d..0e5011e51 100644 --- a/src/live_effects/lpe-patternalongpath.cpp +++ b/src/live_effects/lpe-patternalongpath.cpp @@ -195,13 +195,6 @@ LPEPatternAlongPath::doEffect_pwd2 (Geom::Piecewise > con return output; } -void -LPEPatternAlongPath::transform_multiply(Geom::Matrix const& postmul, bool set) -{ - // TODO: implement correct transformation instead of this default behavior - Effect::transform_multiply(postmul, set); -} - LPEFreehandShape::LPEFreehandShape(LivePathEffectObject *lpeobject) : LPEPatternAlongPath(lpeobject) { } diff --git a/src/live_effects/lpe-patternalongpath.h b/src/live_effects/lpe-patternalongpath.h index 10b9e8bc2..5adc049fb 100644 --- a/src/live_effects/lpe-patternalongpath.h +++ b/src/live_effects/lpe-patternalongpath.h @@ -32,8 +32,6 @@ public: virtual Geom::Piecewise > doEffect_pwd2 (Geom::Piecewise > const & pwd2_in); - virtual void transform_multiply(Geom::Matrix const& postmul, bool set); - PathParam pattern; private: EnumParam copytype; diff --git a/src/live_effects/lpe-sketch.cpp b/src/live_effects/lpe-sketch.cpp index a95d89398..38957a658 100644 --- a/src/live_effects/lpe-sketch.cpp +++ b/src/live_effects/lpe-sketch.cpp @@ -180,17 +180,6 @@ LPESketch::doEffect_pwd2 (Geom::Piecewise > const & pwd2_ Piecewise > output; - - //init random parameters. - parallel_offset.resetRandomizer(); - strokelength_rdm.resetRandomizer(); - strokeoverlap_rdm.resetRandomizer(); - ends_tolerance.resetRandomizer(); - tremble_size.resetRandomizer(); - tgtlength_rdm.resetRandomizer(); - - - // some variables for futur use (for construction lines; compute arclength only once...) // notations will be : t = path time, s = distance from start along the path. Piecewise pathlength; @@ -304,6 +293,18 @@ LPESketch::doEffect_pwd2 (Geom::Piecewise > const & pwd2_ return output; } +void +LPESketch::doBeforeEffect (SPLPEItem *lpeitem) +{ + //init random parameters. + parallel_offset.resetRandomizer(); + strokelength_rdm.resetRandomizer(); + strokeoverlap_rdm.resetRandomizer(); + ends_tolerance.resetRandomizer(); + tremble_size.resetRandomizer(); + tgtlength_rdm.resetRandomizer(); +} + /* ######################## */ } //namespace LivePathEffect (setq default-directory "c:/Documents And Settings/jf/Mes Documents/InkscapeSVN") diff --git a/src/live_effects/lpe-sketch.h b/src/live_effects/lpe-sketch.h index f4881ac55..bca4e2447 100644 --- a/src/live_effects/lpe-sketch.h +++ b/src/live_effects/lpe-sketch.h @@ -27,11 +27,10 @@ public: LPESketch(LivePathEffectObject *lpeobject); virtual ~LPESketch(); -// Choose to implement one of the doEffect functions. You can delete or comment out the others. -// virtual void doEffect (SPCurve * curve); -// virtual std::vector doEffect_path (std::vector & path_in); virtual Geom::Piecewise > doEffect_pwd2 (Geom::Piecewise > const & pwd2_in); + virtual void doBeforeEffect (SPLPEItem *lpeitem); + private: // add the parameters for your effect here: //PointParam testpointA; diff --git a/src/live_effects/lpe-vonkoch.cpp b/src/live_effects/lpe-vonkoch.cpp index 72d96f5a2..0f105ad60 100644 --- a/src/live_effects/lpe-vonkoch.cpp +++ b/src/live_effects/lpe-vonkoch.cpp @@ -305,14 +305,6 @@ LPEVonKoch::resetDefaults(SPItem * item) //generator.set_new_value(paths, true); } -void -LPEVonKoch::transform_multiply(Geom::Matrix const& postmul, bool set) -{ - // TODO: implement correct transformation instead of this default behavior - Effect::transform_multiply(postmul, set); -} - - } // namespace LivePathEffect } /* namespace Inkscape */ diff --git a/src/live_effects/lpe-vonkoch.h b/src/live_effects/lpe-vonkoch.h index 16964f527..7862cdbb5 100644 --- a/src/live_effects/lpe-vonkoch.h +++ b/src/live_effects/lpe-vonkoch.h @@ -55,8 +55,6 @@ public: virtual void doBeforeEffect(SPLPEItem * item); - virtual void transform_multiply(Geom::Matrix const& postmul, bool set); - //Usefull?? // protected: //virtual void addCanvasIndicators(SPLPEItem *lpeitem, std::vector &hp_vec); diff --git a/src/live_effects/lpegroupbbox.cpp b/src/live_effects/lpegroupbbox.cpp index 79e6857f0..3b1ece2ad 100644 --- a/src/live_effects/lpegroupbbox.cpp +++ b/src/live_effects/lpegroupbbox.cpp @@ -13,6 +13,16 @@ namespace Inkscape { namespace LivePathEffect { +/** + * \brief Updates the \c boundingbox_X and \c boundingbox_Y values from the geometric bounding box of \c lpeitem. + * + * \pre lpeitem must have an existing geometric boundingbox (usually this is guaranteed when: \code SP_SHAPE(lpeitem)->curve != NULL \endcode ) + It's not possible to run LPEs on items without their original-d having a bbox. + * \param lpeitem This is not allowed to be NULL. + * \param absolute Determines whether the bbox should be calculated of the untransformed lpeitem (\c absolute = \c false) + * or of the transformed lpeitem (\c absolute = \c true) using sp_item_i2doc_affine. + * \post Updated values of boundingbox_X and boundingbox_Y. These intervals are set to empty intervals when the precondition is not met. + */ void GroupBBoxEffect::original_bbox(SPLPEItem *lpeitem, bool absolute) { @@ -27,9 +37,14 @@ GroupBBoxEffect::original_bbox(SPLPEItem *lpeitem, bool absolute) transform = Geom::identity(); } - Geom::Rect itemBBox = *item->getBounds(transform, SPItem::GEOMETRIC_BBOX); // fixme: fix for when getBounds returns invalid Rect - boundingbox_X = itemBBox[Geom::X]; - boundingbox_Y = itemBBox[Geom::Y]; + boost::optional bbox = item->getBounds(transform, SPItem::GEOMETRIC_BBOX); + if (bbox) { + boundingbox_X = (*bbox)[Geom::X]; + boundingbox_Y = (*bbox)[Geom::Y]; + } else { + boundingbox_X = Geom::Interval(); + boundingbox_Y = Geom::Interval(); + } } } // namespace LivePathEffect diff --git a/src/live_effects/lpeobject-reference.cpp b/src/live_effects/lpeobject-reference.cpp index f522ae56e..9163d1c91 100644 --- a/src/live_effects/lpeobject-reference.cpp +++ b/src/live_effects/lpeobject-reference.cpp @@ -11,8 +11,6 @@ #include "enums.h" #include "live_effects/lpeobject-reference.h" #include "live_effects/lpeobject.h" - -#include "prefs-utils.h" #include "uri.h" namespace Inkscape { diff --git a/src/lpe-tool-context.cpp b/src/lpe-tool-context.cpp index b001214cf..8439f7086 100644 --- a/src/lpe-tool-context.cpp +++ b/src/lpe-tool-context.cpp @@ -27,7 +27,7 @@ #include #include "desktop.h" #include "message-context.h" -#include "prefs-utils.h" +#include "preferences.h" #include "shape-editor.h" #include "selection.h" #include "desktop-handles.h" @@ -45,7 +45,7 @@ static void sp_lpetool_context_init(SPLPEToolContext *erc); static void sp_lpetool_context_dispose(GObject *object); static void sp_lpetool_context_setup(SPEventContext *ec); -static void sp_lpetool_context_set(SPEventContext *ec, gchar const *key, gchar const *val); +static void sp_lpetool_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *); static gint sp_lpetool_context_item_handler(SPEventContext *ec, SPItem *item, GdkEvent *event); static gint sp_lpetool_context_root_handler(SPEventContext *ec, GdkEvent *event); @@ -164,13 +164,15 @@ sp_lpetool_context_setup(SPEventContext *ec) // TODO temp force: ec->enableSelectionCue(); + + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); if (item) { lc->shape_editor->set_item(item, SH_NODEPATH); lc->shape_editor->set_item(item, SH_KNOTHOLDER); } - if (prefs_get_int_attribute("tools.lpetool", "selcue", 0) != 0) { + if (prefs->getBool("/tools/lpetool/selcue")) { ec->enableSelectionCue(); } @@ -199,18 +201,18 @@ sp_lpetool_context_selection_changed(Inkscape::Selection *selection, gpointer da } static void -sp_lpetool_context_set(SPEventContext *ec, gchar const *key, gchar const *val) +sp_lpetool_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val) { // FIXME: how to set this correcly? the value from preferences-skeleton.h doesn't seem to get // read (it wants to set drag = 1) - lpetool_parent_class->set(ec, key, "drag"); + // lpetool_parent_class->set(ec, key, "drag"); - /** + /* //pass on up to parent class to handle common attributes. if ( lpetool_parent_class->set ) { lpetool_parent_class->set(ec, key, val); } - **/ + */ } static gint @@ -279,7 +281,8 @@ sp_lpetool_context_root_handler(SPEventContext *event_context, GdkEvent *event) using namespace Inkscape::LivePathEffect; - int mode = prefs_get_int_attribute("tools.lpetool", "mode", 0); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int mode = prefs->getInt("/tools/lpetool/mode"); EffectType type = lpesubtools[mode]; //bool over_stroke = lc->shape_editor->is_over_stroke(NR::Point(event->button.x, event->button.y), true); @@ -419,11 +422,12 @@ void lpetool_get_limiting_bbox_corners(SPDocument *document, Geom::Point &A, Geom::Point &B) { Geom::Coord w = sp_document_width(document); Geom::Coord h = sp_document_height(document); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - double ulx = prefs_get_double_attribute ("tools.lpetool", "bbox_upperleftx", 0); - double uly = prefs_get_double_attribute ("tools.lpetool", "bbox_upperlefty", 0); - double lrx = prefs_get_double_attribute ("tools.lpetool", "bbox_lowerrightx", w); - double lry = prefs_get_double_attribute ("tools.lpetool", "bbox_lowerrighty", h); + double ulx = prefs->getDouble("/tools/lpetool/bbox_upperleftx", 0); + double uly = prefs->getDouble("/tools/lpetool/bbox_upperlefty", 0); + double lrx = prefs->getDouble("/tools/lpetool/bbox_lowerrightx", w); + double lry = prefs->getDouble("/tools/lpetool/bbox_lowerrighty", h); A = Geom::Point(ulx, uly); B = Geom::Point(lrx, lry); @@ -441,7 +445,8 @@ lpetool_context_reset_limiting_bbox(SPLPEToolContext *lc) lc->canvas_bbox = NULL; } - if (prefs_get_int_attribute("tools.lpetool", "show_bbox", 1) == 0) + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (!prefs->getBool("/tools/lpetool/show_bbox", true)) return; SPDocument *document = sp_desktop_document(lc->desktop); @@ -479,10 +484,11 @@ set_pos_and_anchor(SPCanvasText *canvas_text, const Geom::Piecewisedesktop); } + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + bool show = prefs->getBool("/tools/lpetool/show_measuring_info", true); SPPath *path; SPCurve *curve; @@ -500,7 +506,7 @@ lpetool_create_measuring_items(SPLPEToolContext *lc, Inkscape::Selection *select if (!show) sp_canvas_item_hide(SP_CANVAS_ITEM(canvas_text)); - SPUnitId unitid = static_cast(prefs_get_int_attribute("tools.lpetool", "unitid", SP_UNIT_PX)); + SPUnitId unitid = static_cast(prefs->getInt("/tools/lpetool/unitid", SP_UNIT_PX)); SPUnit unit = sp_unit_get_by_id(unitid); lengthval = Geom::length(pwd2); @@ -528,6 +534,7 @@ lpetool_delete_measuring_items(SPLPEToolContext *lc) void lpetool_update_measuring_items(SPLPEToolContext *lc) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); SPPath *path; SPCurve *curve; double lengthval; @@ -537,7 +544,7 @@ lpetool_update_measuring_items(SPLPEToolContext *lc) path = i->first; curve = sp_shape_get_curve(SP_SHAPE(path)); Geom::Piecewise > pwd2 = Geom::paths_to_pw(curve->get_pathvector()); - SPUnitId unitid = static_cast(prefs_get_int_attribute("tools.lpetool", "unitid", SP_UNIT_PX)); + SPUnitId unitid = static_cast(prefs->getInt("/tools/lpetool/unitid", SP_UNIT_PX)); SPUnit unit = sp_unit_get_by_id(unitid); lengthval = Geom::length(pwd2); gboolean success; diff --git a/src/main.cpp b/src/main.cpp index 7dcf9bf95..03beb0734 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -141,10 +141,7 @@ enum { SP_ARG_EXPORT_EMF, #endif //WIN32 SP_ARG_EXPORT_TEXT_TO_PATH, - SP_ARG_EXPORT_FONT, - SP_ARG_EXPORT_BBOX_PAGE, SP_ARG_EXTENSIONDIR, - SP_ARG_FIT_PAGE_TO_DRAWING, SP_ARG_QUERY_X, SP_ARG_QUERY_Y, SP_ARG_QUERY_WIDTH, @@ -163,8 +160,7 @@ enum { int sp_main_gui(int argc, char const **argv); int sp_main_console(int argc, char const **argv); static void sp_do_export_png(SPDocument *doc); -static void do_export_ps(SPDocument* doc, gchar const* uri, char const *mime); -static void do_export_pdf(SPDocument* doc, gchar const* uri, char const *mime); +static void do_export_ps_pdf(SPDocument* doc, gchar const* uri, char const *mime); #ifdef WIN32 static void do_export_emf(SPDocument* doc, gchar const* uri, char const *mime); #endif //WIN32 @@ -195,7 +191,6 @@ static gchar *sp_export_emf = NULL; #endif //WIN32 static gboolean sp_export_text_to_path = FALSE; static gboolean sp_export_font = FALSE; -static gboolean sp_export_bbox_page = FALSE; static gboolean sp_query_x = FALSE; static gboolean sp_query_y = FALSE; static gboolean sp_query_width = FALSE; @@ -238,7 +233,6 @@ static void resetCommandlineGlobals() { #endif //WIN32 sp_export_text_to_path = FALSE; sp_export_font = FALSE; - sp_export_bbox_page = FALSE; sp_query_x = FALSE; sp_query_y = FALSE; sp_query_width = FALSE; @@ -381,16 +375,6 @@ struct poptOption options[] = { N_("Convert text object to paths on export (EPS)"), NULL}, - {"export-embed-fonts", 'F', - POPT_ARG_NONE, &sp_export_font, SP_ARG_EXPORT_FONT, - N_("Embed fonts on export (Type 1 only) (EPS)"), - NULL}, - - {"export-bbox-page", 'B', - POPT_ARG_NONE, &sp_export_bbox_page, SP_ARG_EXPORT_BBOX_PAGE, - N_("Export files with the bounding box set to the page size (EPS)"), - NULL}, - {"query-x", 'X', POPT_ARG_NONE, &sp_query_x, SP_ARG_QUERY_X, // TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help" @@ -521,6 +505,26 @@ static int _win32_set_inkscape_env(const Glib::ustring &exePath) } #endif +/** + * Add INKSCAPE_EXTENSIONDIR to PYTHONPATH so that extensions in users home + * can find inkex.py et al. (Bug #197475) + */ +static int set_extensions_env() +{ + char *oldenv = getenv("PYTHONPATH"); + Glib::ustring tmp = INKSCAPE_EXTENSIONDIR; + if (oldenv != NULL) { +#ifdef WIN32 + tmp += ";"; +#else + tmp += ":"; +#endif + tmp += oldenv; + } + setenv("PYTHONPATH", tmp.c_str(), 1); + + return 0; +} /** @@ -552,6 +556,9 @@ main(int argc, char **argv) rt.setPathInfo(); #endif + // Bug #197475 + set_extensions_env(); + /** * Call bindtextdomain() for various machines's paths */ @@ -893,18 +900,18 @@ void sp_process_file_list(GSList *fl) sp_repr_save_file(repr->document(), sp_export_svg, SP_SVG_NS_URI); } if (sp_export_ps) { - do_export_ps(doc, sp_export_ps, "image/x-postscript"); + do_export_ps_pdf(doc, sp_export_ps, "image/x-postscript"); } if (sp_export_eps) { - do_export_ps(doc, sp_export_eps, "image/x-e-postscript"); + do_export_ps_pdf(doc, sp_export_eps, "image/x-e-postscript"); } if (sp_export_pdf) { - do_export_pdf(doc, sp_export_pdf, "application/pdf"); - } + do_export_ps_pdf(doc, sp_export_pdf, "application/pdf"); + } #ifdef WIN32 - if (sp_export_emf) { - do_export_emf(doc, sp_export_emf, "image/x-emf"); - } + if (sp_export_emf) { + do_export_emf(doc, sp_export_emf, "image/x-emf"); + } #endif //WIN32 if (sp_query_all) { do_query_all (doc); @@ -981,7 +988,7 @@ int sp_main_shell(char const* command_name) resetCommandlineGlobals(); g_strfreev(argv); } else { - g_warning("problem parsing commandline: %s", useme); + g_warning("Cannot parse commandline: %s", useme); } } } @@ -1023,7 +1030,6 @@ int sp_main_console(int argc, char const **argv) } else { sp_process_file_list(fl); // Normal command line invokation } - inkscape_unref(); return 0; } @@ -1319,77 +1325,14 @@ sp_do_export_png(SPDocument *doc) /** - * Perform an export of either PS or EPS. - * - * \param doc Document to export. - * \param uri URI to export to. - * \param mime MIME type to export as. - */ - -static void do_export_ps(SPDocument* doc, gchar const* uri, char const* mime) -{ - Inkscape::Extension::DB::OutputList o; - Inkscape::Extension::db.get_output_list(o); - Inkscape::Extension::DB::OutputList::const_iterator i = o.begin(); - while (i != o.end() && strcmp( (*i)->get_mimetype(), mime ) != 0) { - i++; - } - - if (i == o.end()) - { - g_warning ("Could not find an extension to export to MIME type %s.", mime); - return; - } - - bool old_text_to_path = false; - bool old_font_embedded = false; - bool old_bbox_page = false; - - try { - old_text_to_path = (*i)->get_param_bool("textToPath"); - (*i)->set_param_bool("textToPath", sp_export_text_to_path); - } - catch (...) { - g_warning ("Could not set export-text-to-path option for this export."); - } - - try { - old_font_embedded = (*i)->get_param_bool("fontEmbedded"); - (*i)->set_param_bool("fontEmbedded", sp_export_font); - } - catch (...) { - g_warning ("Could not set export-font option for this export."); - } - - try { - old_bbox_page = (*i)->get_param_bool("pageBoundingBox"); - (*i)->set_param_bool("pageBoundingBox", sp_export_bbox_page); - } - catch (...) { - g_warning ("Could not set export-bbox-page option for this export."); - } - - (*i)->save(doc, uri); - - try { - (*i)->set_param_bool("textToPath", old_text_to_path); - (*i)->set_param_bool("fontEmbedded", old_font_embedded); - (*i)->set_param_bool("pageBoundingBox", old_bbox_page); - } - catch (...) { - - } -} - -/** - * Perform a PDF export + * Perform a PDF/PS/EPS export * * \param doc Document to export. * \param uri URI to export to. * \param mime MIME type to export as. */ -static void do_export_pdf(SPDocument* doc, gchar const* uri, char const* mime) +static void do_export_ps_pdf(SPDocument* doc, gchar const* uri, char const* mime) { Inkscape::Extension::DB::OutputList o; Inkscape::Extension::db.get_output_list(o); @@ -1415,16 +1358,33 @@ static void do_export_pdf(SPDocument* doc, gchar const* uri, char const* mime) (*i)->set_param_string ("exportId", ""); } + if (sp_export_area_canvas && sp_export_area_drawing) { + g_warning ("You cannot use --export-area-canvas and --export-area-drawing at the same time; only the former will take effect."); + sp_export_area_drawing = false; + } + if (sp_export_area_drawing) { - (*i)->set_param_bool ("exportDrawing", TRUE); + (*i)->set_param_bool ("areaDrawing", TRUE); } else { - (*i)->set_param_bool ("exportDrawing", FALSE); + (*i)->set_param_bool ("areaDrawing", FALSE); } if (sp_export_area_canvas) { - (*i)->set_param_bool ("exportCanvas", TRUE); + if (sp_export_eps) { + g_warning ("EPS cannot have its bounding box extend beyond its content, so if your drawing is smaller than the canvas, --export-area-canvas will clip it to drawing."); + } + (*i)->set_param_bool ("areaCanvas", TRUE); } else { - (*i)->set_param_bool ("exportCanvas", FALSE); + (*i)->set_param_bool ("areaCanvas", FALSE); + } + + if (!sp_export_area_drawing && !sp_export_area_canvas && !sp_export_id) { + // neither is set, set canvas as default for ps/pdf and drawing for eps + if (sp_export_eps) { + try { + (*i)->set_param_bool("areaDrawing", TRUE); + } catch (...) {} + } } if (sp_export_text_to_path) { @@ -1746,7 +1706,7 @@ sp_process_args(poptContext ctx) GSList *fl = NULL; gint a; - while ((a = poptGetNextOpt(ctx)) >= 0) { + while ((a = poptGetNextOpt(ctx)) != -1) { switch (a) { case SP_ARG_FILE: { gchar const *fn = poptGetOptArg(ctx); @@ -1784,6 +1744,11 @@ sp_process_args(poptContext ctx) } break; } + case POPT_ERROR_BADOPT: { + g_warning ("Invalid option %s", poptBadOption(ctx, 0)); + exit(1); + break; + } default: { break; } diff --git a/src/marker.cpp b/src/marker.cpp index fded90c4a..37cb8223c 100644 --- a/src/marker.cpp +++ b/src/marker.cpp @@ -37,8 +37,7 @@ struct SPMarkerView { SPMarkerView *next; unsigned int key; - unsigned int size; - NRArenaItem *items[1]; + std::vector items; }; static void sp_marker_class_init (SPMarkerClass *klass); @@ -479,12 +478,12 @@ sp_marker_update (SPObject *object, SPCtx *ctx, guint flags) /* As last step set additional transform of arena group */ for (v = marker->views; v != NULL; v = v->next) { - for (unsigned i = 0 ; i < v->size ; i++) { + for (unsigned i = 0 ; i < v->items.size() ; i++) { if (v->items[i]) { Geom::Matrix tmp = marker->c2p; nr_arena_group_set_child_transform(NR_ARENA_GROUP(v->items[i]), &tmp); } - } + } } } @@ -609,7 +608,7 @@ sp_marker_show_dimension (SPMarker *marker, unsigned int key, unsigned int size) for (view = marker->views; view != NULL; view = view->next) { if (view->key == key) break; } - if (view && (view->size != size)) { + if (view && (view->items.size() != size)) { /* Free old view and allocate new */ /* Parent class ::hide method */ ((SPItemClass *) parent_class)->hide ((SPItem *) marker, key); @@ -617,12 +616,15 @@ sp_marker_show_dimension (SPMarker *marker, unsigned int key, unsigned int size) view = NULL; } if (!view) { - view = (SPMarkerView *)g_malloc (sizeof (SPMarkerView) + (size) * sizeof (NRArenaItem *)); - for (i = 0; i < size; i++) view->items[i] = NULL; + view = (SPMarkerView *) g_new (SPMarkerView, 1); + new (&view->items) std::vector; + view->items.clear(); + for (i = 0; i < size; i++) { + view->items.push_back(NULL); + } view->next = marker->views; marker->views = view; view->key = key; - view->size = size; } } @@ -637,7 +639,7 @@ sp_marker_show_instance ( SPMarker *marker, NRArenaItem *parent, { for (SPMarkerView *v = marker->views; v != NULL; v = v->next) { if (v->key == key) { - if (pos >= v->size) { + if (pos >= v->items.size()) { return NULL; } if (!v->items[pos]) { @@ -715,16 +717,17 @@ sp_marker_view_remove (SPMarker *marker, SPMarkerView *view, unsigned int destro v->next = view->next; } if (destroyitems) { - for (i = 0; i < view->size; i++) { + for (i = 0; i < view->items.size(); i++) { /* We have to walk through the whole array because there may be hidden items */ if (view->items[i]) nr_arena_item_unref (view->items[i]); } } + view->items.clear(); g_free (view); } const gchar * -generate_marker (GSList *reprs, NR::Rect bounds, SPDocument *document, Geom::Matrix /*transform*/, Geom::Matrix move) +generate_marker (GSList *reprs, Geom::Rect bounds, SPDocument *document, Geom::Matrix /*transform*/, Geom::Matrix move) { Inkscape::XML::Document *xml_doc = sp_document_repr_doc(document); Inkscape::XML::Node *defsrepr = SP_OBJECT_REPR (SP_DOCUMENT_DEFS (document)); @@ -736,8 +739,8 @@ generate_marker (GSList *reprs, NR::Rect bounds, SPDocument *document, Geom::Mat // stroke width: //repr->setAttribute("markerUnits", "userSpaceOnUse"); - sp_repr_set_svg_double(repr, "markerWidth", bounds.extent(NR::X)); - sp_repr_set_svg_double(repr, "markerHeight", bounds.extent(NR::Y)); + sp_repr_set_svg_double(repr, "markerWidth", bounds.dimensions()[Geom::X]); + sp_repr_set_svg_double(repr, "markerHeight", bounds.dimensions()[Geom::Y]); repr->setAttribute("orient", "auto"); diff --git a/src/marker.h b/src/marker.h index cc7924486..8f9a2889e 100644 --- a/src/marker.h +++ b/src/marker.h @@ -90,7 +90,7 @@ NRArenaItem *sp_marker_show_instance (SPMarker *marker, NRArenaItem *parent, unsigned int key, unsigned int pos, Geom::Matrix const &base, float linewidth); void sp_marker_hide (SPMarker *marker, unsigned int key); -const gchar *generate_marker (GSList *reprs, NR::Rect bounds, SPDocument *document, Geom::Matrix transform, Geom::Matrix move); +const gchar *generate_marker (GSList *reprs, Geom::Rect bounds, SPDocument *document, Geom::Matrix transform, Geom::Matrix move); #endif diff --git a/src/menus-skeleton.h b/src/menus-skeleton.h index 680d4f0fe..86ffa8e21 100644 --- a/src/menus-skeleton.h +++ b/src/menus-skeleton.h @@ -19,9 +19,7 @@ static char const menus_skeleton[] = " \n" " \n" " \n" -" \n" -" \n" -" \n" +" \n" " \n" " \n" " \n" diff --git a/src/node-context.cpp b/src/node-context.cpp index f16af7035..9ff7257ce 100644 --- a/src/node-context.cpp +++ b/src/node-context.cpp @@ -30,7 +30,7 @@ #include "message-context.h" #include "node-context.h" #include "pixmaps/cursor-node-d.xpm" -#include "prefs-utils.h" +#include "preferences.h" #include "xml/node-event-vector.h" #include "style.h" #include "splivarot.h" @@ -160,11 +160,11 @@ sp_node_context_setup(SPEventContext *ec) nc->shape_editor->set_item(item, SH_KNOTHOLDER); } - if (prefs_get_int_attribute("tools.nodes", "selcue", 0) != 0) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/tools/nodes/selcue")) { ec->enableSelectionCue(); } - - if (prefs_get_int_attribute("tools.nodes", "gradientdrag", 0) != 0) { + if (prefs->getBool("/tools/nodes/gradientdrag")) { ec->enableGrDrag(); } @@ -234,9 +234,10 @@ static gint sp_node_context_item_handler(SPEventContext *event_context, SPItem *item, GdkEvent *event) { gint ret = FALSE; + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - if (prefs_get_int_attribute ("tools.nodes", "pathflash_enabled", 0) == 1) { - guint timeout = prefs_get_int_attribute("tools.nodes", "pathflash_timeout", 500); + if (prefs->getBool("/tools/nodes/pathflash_enabled")) { + guint timeout = prefs->getInt("/tools/nodes/pathflash_timeout", 500); if (SP_IS_LPE_ITEM(item)) { Inkscape::LivePathEffect::Effect *lpe = sp_lpe_item_get_current_lpe(SP_LPE_ITEM(item)); if (lpe && (lpe->providesOwnFlashPaths() || @@ -260,12 +261,13 @@ sp_node_context_root_handler(SPEventContext *event_context, GdkEvent *event) { SPDesktop *desktop = event_context->desktop; Inkscape::Selection *selection = sp_desktop_selection (desktop); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); SPNodeContext *nc = SP_NODE_CONTEXT(event_context); - double const nudge = prefs_get_double_attribute_limited("options.nudgedistance", "value", 2, 0, 1000); // in px - event_context->tolerance = prefs_get_int_attribute_limited("options.dragtolerance", "value", 0, 0, 100); // read every time, to make prefs changes really live - int const snaps = prefs_get_int_attribute("options.rotationsnapsperpi", "value", 12); - double const offset = prefs_get_double_attribute_limited("options.defaultscale", "value", 2, 0, 1000); + double const nudge = prefs->getDoubleLimited("/options/nudgedistance/value", 2, 0, 1000); // in px + event_context->tolerance = prefs->getIntLimited("/options/dragtolerance/value", 0, 0, 100); // read every time, to make prefs changes really live + int const snaps = prefs->getInt("/options/rotationsnapsperpi/value", 12); + double const offset = prefs->getDoubleLimited("/options/defaultscale/value", 2, 0, 1000); if ( (nc->flash_tempitem) && (nc->remove_flash_counter <= 0) ) { desktop->remove_temporary_canvasitem(nc->flash_tempitem); @@ -498,6 +500,13 @@ sp_node_context_root_handler(SPEventContext *event_context, GdkEvent *event) ret = TRUE; } break; + case GDK_A: + case GDK_a: + if (MOD__SHIFT_ONLY) { + nc->shape_editor->set_node_type(Inkscape::NodePath::NODE_AUTO); + ret = TRUE; + } + break; case GDK_Y: case GDK_y: if (MOD__SHIFT_ONLY) { diff --git a/src/nodepath.cpp b/src/nodepath.cpp index adcfd8d76..bb63a014d 100644 --- a/src/nodepath.cpp +++ b/src/nodepath.cpp @@ -21,10 +21,10 @@ #include "display/sodipodi-ctrl.h" #include "display/sp-canvas-util.h" #include -#include <2geom/pathvector.h> -#include <2geom/sbasis-to-bezier.h> -#include <2geom/bezier-curve.h> -#include <2geom/hvlinesegment.h> +#include "2geom/pathvector.h" +#include "2geom/sbasis-to-bezier.h" +#include "2geom/bezier-curve.h" +#include "2geom/hvlinesegment.h" #include "helper/units.h" #include "helper/geom.h" #include "knot.h" @@ -42,7 +42,7 @@ #include "selection-chemistry.h" #include "selection.h" #include "xml/repr.h" -#include "prefs-utils.h" +#include "preferences.h" #include "sp-metrics.h" #include "sp-path.h" #include "libnr/nr-matrix-ops.h" @@ -53,7 +53,6 @@ #include #include #include -#include #include "live_effects/lpeobject.h" #include "live_effects/lpeobject-reference.h" #include "live_effects/effect.h" @@ -63,7 +62,7 @@ #include "display/snap-indicator.h" #include "snapped-point.h" -class Geom::Matrix; +namespace Geom { class Matrix; } /// \todo /// evil evil evil. FIXME: conflict of two different Path classes! @@ -121,6 +120,7 @@ static Inkscape::NodePath::Node *sp_nodepath_set_node_type(Inkscape::NodePath::N /* Adjust handle placement, if the node or the other handle is moved */ static void sp_node_adjust_handle(Inkscape::NodePath::Node *node, gint which_adjust); static void sp_node_adjust_handles(Inkscape::NodePath::Node *node); +static void sp_node_adjust_handles_auto(Inkscape::NodePath::Node *node); /* Node event callbacks */ static void node_clicked(SPKnot *knot, guint state, gpointer data); @@ -284,6 +284,8 @@ Inkscape::NodePath::Path *sp_nodepath_new(SPDesktop *desktop, SPObject *object, return NULL; } + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + // Set defaults np->desktop = desktop; np->object = object; @@ -294,10 +296,10 @@ Inkscape::NodePath::Path *sp_nodepath_new(SPDesktop *desktop, SPObject *object, np->show_handles = show_handles; np->helper_path = NULL; np->helper_path_vec = new HelperPathList; - np->helperpath_rgba = prefs_get_int_attribute("tools.nodes", "highlight_color", 0xff0000ff); + np->helperpath_rgba = prefs->getInt("/tools/nodes/highlight_color", 0xff0000ff); np->helperpath_width = 1.0; np->curve = curve->copy(); - np->show_helperpath = (prefs_get_int_attribute ("tools.nodes", "show_helperpath", 0) == 1); + np->show_helperpath = prefs->getBool("/tools/nodes/show_helperpath"); if (SP_IS_LPE_ITEM(object)) { Inkscape::LivePathEffect::Effect *lpe = sp_lpe_item_get_current_lpe(SP_LPE_ITEM(object)); if (lpe && lpe->isVisible() && lpe->showOrigPath()) { @@ -602,6 +604,9 @@ Inkscape::NodePath::NodeType * parse_nodetypes(gchar const *types, guint length) case 's': typestr[pos++] =Inkscape::NodePath::NODE_SMOOTH; break; + case 'a': + typestr[pos++] =Inkscape::NodePath::NODE_AUTO; + break; case 'z': typestr[pos++] =Inkscape::NodePath::NODE_SYMM; break; @@ -824,6 +829,9 @@ static gchar *create_typestr(Inkscape::NodePath::Path *np) case Inkscape::NodePath::NODE_SMOOTH: code = 's'; break; + case Inkscape::NodePath::NODE_AUTO: + code = 'a'; + break; case Inkscape::NodePath::NODE_SYMM: code = 'z'; break; @@ -1053,6 +1061,15 @@ static void sp_nodepath_set_line_type(Inkscape::NodePath::Node *end, NRPathcode sp_nodepath_set_node_type(end, Inkscape::NodePath::NODE_CUSP); } } + + if (start->type == Inkscape::NodePath::NODE_AUTO) + start->type = Inkscape::NodePath::NODE_SMOOTH; + if (end->type == Inkscape::NodePath::NODE_AUTO) + end->type = Inkscape::NodePath::NODE_SMOOTH; + + sp_node_adjust_handle(start, -1); + sp_node_adjust_handle(end, 1); + } else { Geom::Point delta = end->pos - start->pos; start->n.pos = start->pos + delta / 3; @@ -1066,6 +1083,25 @@ static void sp_nodepath_set_line_type(Inkscape::NodePath::Node *end, NRPathcode } } +static void +sp_nodepath_update_node_knot(Inkscape::NodePath::Node *node) +{ + if (node->type == Inkscape::NodePath::NODE_CUSP) { + node->knot->setShape (SP_KNOT_SHAPE_DIAMOND); + node->knot->setSize (node->selected? 11 : 9); + sp_knot_update_ctrl(node->knot); + } else if (node->type == Inkscape::NodePath::NODE_AUTO) { + node->knot->setShape (SP_KNOT_SHAPE_CIRCLE); + node->knot->setSize (node->selected? 11 : 9); + sp_knot_update_ctrl(node->knot); + } else { + node->knot->setShape (SP_KNOT_SHAPE_SQUARE); + node->knot->setSize (node->selected? 9 : 7); + sp_knot_update_ctrl(node->knot); + } +} + + /** * Change node type, and its handles accordingly. */ @@ -1082,15 +1118,7 @@ static Inkscape::NodePath::Node *sp_nodepath_set_node_type(Inkscape::NodePath::N node->type = type; - if (node->type == Inkscape::NodePath::NODE_CUSP) { - node->knot->setShape (SP_KNOT_SHAPE_DIAMOND); - node->knot->setSize (node->selected? 11 : 9); - sp_knot_update_ctrl(node->knot); - } else { - node->knot->setShape (SP_KNOT_SHAPE_SQUARE); - node->knot->setSize (node->selected? 9 : 7); - sp_knot_update_ctrl(node->knot); - } + sp_nodepath_update_node_knot(node); // if one of handles is mouseovered, preserve its position if (node->p.knot && SP_KNOT_IS_MOUSEOVER(node->p.knot)) { @@ -1140,6 +1168,13 @@ sp_node_side_is_line (Inkscape::NodePath::Node *node, Inkscape::NodePath::NodeSi */ void sp_nodepath_convert_node_type(Inkscape::NodePath::Node *node, Inkscape::NodePath::NodeType type) { + if (type == Inkscape::NodePath::NODE_AUTO) { + if (node->p.other != NULL) + node->code = NR_CURVETO; + if (node->n.other != NULL) + node->n.other->code = NR_CURVETO; + } + if (type == Inkscape::NodePath::NODE_SYMM || type == Inkscape::NodePath::NODE_SMOOTH) { /* @@ -1215,28 +1250,7 @@ void sp_nodepath_convert_node_type(Inkscape::NodePath::Node *node, Inkscape::Nod node->code = NR_CURVETO; node->n.other->code = NR_CURVETO; - Geom::Point leg_prev = node->pos - node->p.other->pos; - Geom::Point leg_next = node->pos - node->n.other->pos; - - double norm_leg_prev = L2(leg_prev); - double norm_leg_next = L2(leg_next); - - Geom::Point delta; - if (norm_leg_next > 0.0) { - delta = (norm_leg_prev / norm_leg_next) * leg_next - leg_prev; - (&delta)->normalize(); - } - - if (type == Inkscape::NodePath::NODE_SYMM) { - double norm_leg_avg = (norm_leg_prev + norm_leg_next) / 2; - node->p.pos = node->pos + 0.3 * norm_leg_avg * delta; - node->n.pos = node->pos - 0.3 * norm_leg_avg * delta; - } else { - // length of handle is proportional to distance to adjacent node - node->p.pos = node->pos + 0.3 * norm_leg_prev * delta; - node->n.pos = node->pos - 0.3 * norm_leg_next * delta; - } - + sp_node_adjust_handles_auto(node); } else { // pull the handle opposite to line segment, making it half-smooth if (p_is_line && node->n.other) { @@ -1270,11 +1284,16 @@ void sp_nodepath_convert_node_type(Inkscape::NodePath::Node *node, Inkscape::Nod */ void sp_node_moveto(Inkscape::NodePath::Node *node, Geom::Point p) { - Geom::Point delta = p - node->pos; - node->pos = p; + if (node->type == Inkscape::NodePath::NODE_AUTO) { + node->pos = p; + sp_node_adjust_handles_auto(node); + } else { + Geom::Point delta = p - node->pos; + node->pos = p; - node->p.pos += delta; - node->n.pos += delta; + node->p.pos += delta; + node->n.pos += delta; + } Inkscape::NodePath::Node *node_p = NULL; Inkscape::NodePath::Node *node_n = NULL; @@ -1285,6 +1304,10 @@ void sp_node_moveto(Inkscape::NodePath::Node *node, Geom::Point p) sp_node_adjust_handle(node->p.other, -1); node_p = node->p.other; } + if (!node->p.other->selected && node->p.other->type == Inkscape::NodePath::NODE_AUTO) { + sp_node_adjust_handles_auto(node->p.other); + node_p = node->p.other; + } } if (node->n.other) { if (node->n.other->code == NR_LINETO) { @@ -1292,6 +1315,10 @@ void sp_node_moveto(Inkscape::NodePath::Node *node, Geom::Point p) sp_node_adjust_handle(node->n.other, 1); node_n = node->n.other; } + if (!node->n.other->selected && node->n.other->type == Inkscape::NodePath::NODE_AUTO) { + sp_node_adjust_handles_auto(node->n.other); + node_n = node->n.other; + } } // this function is only called from batch movers that will update display at the end @@ -1343,9 +1370,9 @@ static void sp_nodepath_selected_nodes_move(Inkscape::NodePath::Path *nodepath, if (constrained) { Inkscape::Snapper::ConstraintLine dedicated_constraint = constraint; dedicated_constraint.setPoint(n->pos); - s = m.constrainedSnap(Inkscape::Snapper::SNAPPOINT_NODE, to_2geom(n->pos + delta), dedicated_constraint); + s = m.constrainedSnap(Inkscape::SnapPreferences::SNAPPOINT_NODE, to_2geom(n->pos + delta), dedicated_constraint); } else { - s = m.freeSnap(Inkscape::Snapper::SNAPPOINT_NODE, to_2geom(n->pos + delta)); + s = m.freeSnap(Inkscape::SnapPreferences::SNAPPOINT_NODE, to_2geom(n->pos + delta)); } if (s.getSnapped() && (s.getDistance() < best)) { best = s.getDistance(); @@ -1443,7 +1470,8 @@ sp_nodepath_selected_nodes_sculpt(Inkscape::NodePath::Path *nodepath, Inkscape:: if (pressure > 0.5) alpha = 1/alpha; - guint profile = prefs_get_int_attribute("tools.nodes", "sculpting_profile", SCULPT_PROFILE_BELL); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + guint profile = prefs->getInt("/tools/nodes/sculpting_profile", SCULPT_PROFILE_BELL); if (sp_nodepath_selection_get_subpath_count(nodepath) <= 1) { // Only one subpath has selected nodes: @@ -2072,6 +2100,15 @@ sp_nodepath_curve_drag(Inkscape::NodePath::Path *nodepath, int node, double t, G g_return_if_fail(e != NULL); g_return_if_fail(&e->p != NULL); + if (e->type == Inkscape::NodePath::NODE_AUTO) { + e->type = Inkscape::NodePath::NODE_SMOOTH; + sp_nodepath_update_node_knot (e); + } + if (e->p.other->type == Inkscape::NodePath::NODE_AUTO) { + e->p.other->type = Inkscape::NodePath::NODE_SMOOTH; + sp_nodepath_update_node_knot (e->p.other); + } + /* feel good is an arbitrary parameter that distributes the delta between handles * if t of the drag point is less than 1/6 distance form the endpoint only * the corresponding hadle is adjusted. This matches the behavior in GIMP @@ -3232,6 +3269,10 @@ static void sp_node_adjust_handle(Inkscape::NodePath::Node *node, gint which_adj { g_assert(node); + // nothing to do for auto nodes (sp_node_adjust_handles() does the job) + if (node->type == Inkscape::NodePath::NODE_AUTO) + return; + Inkscape::NodePath::NodeSide *me = sp_node_get_side(node, which_adjust); Inkscape::NodePath::NodeSide *other = sp_node_opposite_side(node, me); @@ -3291,6 +3332,11 @@ static void sp_node_adjust_handles(Inkscape::NodePath::Node *node) if (node->p.other == NULL) return; if (node->n.other == NULL) return; + if (node->type == Inkscape::NodePath::NODE_AUTO) { + sp_node_adjust_handles_auto(node); + return; + } + if (sp_node_side_is_line(node, &node->p)) { sp_node_adjust_handle(node, 1); return; @@ -3319,6 +3365,30 @@ static void sp_node_adjust_handles(Inkscape::NodePath::Node *node) node->n.pos = node->pos + (nlen / (plen + nlen)) * delta; } +static void sp_node_adjust_handles_auto(Inkscape::NodePath::Node *node) +{ + if (node->p.other == NULL || node->n.other == NULL) { + node->p.pos = node->pos; + node->n.pos = node->pos; + return; + } + + Geom::Point leg_prev = to_2geom(node->p.other->pos - node->pos); + Geom::Point leg_next = to_2geom(node->n.other->pos - node->pos); + + double norm_leg_prev = Geom::L2(leg_prev); + double norm_leg_next = Geom::L2(leg_next); + + Geom::Point delta; + if (norm_leg_next > 0.0) { + delta = (norm_leg_prev / norm_leg_next) * leg_next - leg_prev; + delta.normalize(); + } + + node->p.pos = node->pos - norm_leg_prev / 3 * delta; + node->n.pos = node->pos + norm_leg_next / 3 * delta; +} + /** * Node event callback. */ @@ -3422,6 +3492,10 @@ gboolean node_key(GdkEvent *event) sp_nodepath_set_node_type(Inkscape::NodePath::Path::active_node,Inkscape::NodePath::NODE_SMOOTH); ret = TRUE; break; + case GDK_a: + sp_nodepath_set_node_type(Inkscape::NodePath::Path::active_node,Inkscape::NodePath::NODE_AUTO); + ret = TRUE; + break; case GDK_y: sp_nodepath_set_node_type(Inkscape::NodePath::Path::active_node,Inkscape::NodePath::NODE_SYMM); ret = TRUE; @@ -3451,6 +3525,8 @@ static void node_clicked(SPKnot */*knot*/, guint state, gpointer data) sp_nodepath_convert_node_type (n,Inkscape::NodePath::NODE_SMOOTH); } else if (n->type == Inkscape::NodePath::NODE_SMOOTH) { sp_nodepath_convert_node_type (n,Inkscape::NodePath::NODE_SYMM); + } else if (n->type == Inkscape::NodePath::NODE_SYMM) { + sp_nodepath_convert_node_type (n,Inkscape::NodePath::NODE_AUTO); } else { sp_nodepath_convert_node_type (n,Inkscape::NodePath::NODE_CUSP); } @@ -3757,6 +3833,12 @@ static void node_handle_grabbed(SPKnot *knot, guint state, gpointer data) { Inkscape::NodePath::Node *n = (Inkscape::NodePath::Node *) data; + // convert auto -> smooth when dragging handle + if (n->type == Inkscape::NodePath::NODE_AUTO) { + n->type = Inkscape::NodePath::NODE_SMOOTH; + sp_nodepath_update_node_knot (n); + } + if (!n->selected) { sp_nodepath_node_select(n, (state & GDK_SHIFT_MASK), FALSE); } @@ -3842,16 +3924,16 @@ static gboolean node_handle_request(SPKnot *knot, Geom::Point *p, guint state, g (*p) = n->pos + (scal / linelen) * ndelta; } if ((state & GDK_SHIFT_MASK) == 0) { - s = m.constrainedSnap(Inkscape::Snapper::SNAPPOINT_NODE, to_2geom(*p), Inkscape::Snapper::ConstraintLine(*p, ndelta)); + s = m.constrainedSnap(Inkscape::SnapPreferences::SNAPPOINT_NODE, to_2geom(*p), Inkscape::Snapper::ConstraintLine(*p, ndelta)); } } else { if ((state & GDK_SHIFT_MASK) == 0) { - s = m.freeSnap(Inkscape::Snapper::SNAPPOINT_NODE, to_2geom(*p)); + s = m.freeSnap(Inkscape::SnapPreferences::SNAPPOINT_NODE, to_2geom(*p)); } } } else { if ((state & GDK_SHIFT_MASK) == 0) { - s = m.freeSnap(Inkscape::Snapper::SNAPPOINT_NODE, to_2geom(*p)); + s = m.freeSnap(Inkscape::SnapPreferences::SNAPPOINT_NODE, to_2geom(*p)); } } @@ -3870,6 +3952,7 @@ static gboolean node_handle_request(SPKnot *knot, Geom::Point *p, guint state, g static void node_handle_moved(SPKnot *knot, Geom::Point *p, guint state, gpointer data) { Inkscape::NodePath::Node *n = (Inkscape::NodePath::Node *) data; + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); Inkscape::NodePath::NodeSide *me; Inkscape::NodePath::NodeSide *other; @@ -3891,7 +3974,7 @@ static void node_handle_moved(SPKnot *knot, Geom::Point *p, guint state, gpointe Radial rnew(*p - n->pos); if (state & GDK_CONTROL_MASK && rnew.a != HUGE_VAL) { - int const snaps = prefs_get_int_attribute("options.rotationsnapsperpi", "value", 12); + int const snaps = prefs->getInt("/options/rotationsnapsperpi/value", 12); /* 0 interpreted as "no snapping". */ // 1. Snap to the closest PI/snaps angle, starting from zero. @@ -3970,7 +4053,7 @@ static void node_handle_moved(SPKnot *knot, Geom::Point *p, guint state, gpointe double degrees = 180 / M_PI * rnew.a; if (degrees > 180) degrees -= 360; if (degrees < -180) degrees += 360; - if (prefs_get_int_attribute("options.compassangledisplay", "value", 0) != 0) + if (prefs->getBool("/options/compassangledisplay/value")) degrees = angle_to_compass (degrees); GString *length = SP_PX_TO_METRIC_STRING(rnew.r, desktop->namedview->getDefaultMetric()); @@ -4517,7 +4600,7 @@ sp_nodepath_node_new(Inkscape::NodePath::SubPath *sp, Inkscape::NodePath::Node * n->knot = sp_knot_new(sp->nodepath->desktop, _("Node: drag to edit the path; with Ctrl to snap to horizontal/vertical; with Ctrl+Alt to snap to handles' directions")); sp_knot_set_position(n->knot, *pos, 0); - n->knot->setShape ((n->type == Inkscape::NodePath::NODE_CUSP)? SP_KNOT_SHAPE_DIAMOND : SP_KNOT_SHAPE_SQUARE); + n->knot->setShape ((n->type == Inkscape::NodePath::NODE_CUSP)? SP_KNOT_SHAPE_DIAMOND : (n->type == Inkscape::NodePath::NODE_AUTO)? SP_KNOT_SHAPE_CIRCLE : SP_KNOT_SHAPE_SQUARE); n->knot->setSize ((n->type == Inkscape::NodePath::NODE_CUSP)? 9 : 7); n->knot->setAnchor (GTK_ANCHOR_CENTER); n->knot->setFill(NODE_FILL, NODE_FILL_HI, NODE_FILL_HI); @@ -4757,6 +4840,8 @@ static gchar const *sp_node_type_description(Inkscape::NodePath::Node *node) case Inkscape::NodePath::NODE_SMOOTH: // TRANSLATORS: "smooth" is an adjective here return _("smooth"); + case Inkscape::NodePath::NODE_AUTO: + return _("auto"); case Inkscape::NodePath::NODE_SYMM: return _("symmetric"); } @@ -4894,14 +4979,14 @@ void sp_nodepath_set_curve (Inkscape::NodePath::Path *np, SPCurve *curve) { } } -/** +/* SPCanvasItem * sp_nodepath_path_to_canvasitem(Inkscape::NodePath::Path *np, SPPath *path) { return sp_nodepath_make_helper_item(np, sp_path_get_curve_for_edit(path)); } -**/ +*/ -/** +/* SPCanvasItem * sp_nodepath_generate_helperpath(SPDesktop *desktop, SPCurve *curve, const SPItem *item, guint32 color = 0xff0000ff) { SPCurve *flash_curve = curve->copy(); @@ -4919,10 +5004,11 @@ sp_nodepath_generate_helperpath(SPDesktop *desktop, SPCurve *curve, const SPItem SPCanvasItem * sp_nodepath_generate_helperpath(SPDesktop *desktop, SPPath *path) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); return sp_nodepath_generate_helperpath(desktop, sp_path_get_curve_for_edit(path), SP_ITEM(path), - prefs_get_int_attribute("tools.nodes", "highlight_color", 0xff0000ff)); + prefs->getInt("/tools/nodes/highlight_color", 0xff0000ff)); } -**/ +*/ SPCanvasItem * sp_nodepath_helperpath_from_path(SPDesktop *desktop, SPPath *path) { @@ -4932,7 +5018,8 @@ sp_nodepath_helperpath_from_path(SPDesktop *desktop, SPPath *path) { SPCanvasItem * canvasitem = sp_canvas_bpath_new(sp_desktop_tempgroup(desktop), flash_curve); // would be nice if its color could be XORed or something, now it is invisible for red stroked objects... // unless we also flash the nodes... - guint32 color = prefs_get_int_attribute("tools.nodes", "highlight_color", 0xff0000ff); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + guint32 color = prefs->getInt("/tools/nodes/highlight_color", 0xff0000ff); sp_canvas_bpath_set_stroke(SP_CANVAS_BPATH(canvasitem), color, 1.0, SP_STROKE_LINEJOIN_MITER, SP_STROKE_LINECAP_BUTT); sp_canvas_bpath_set_fill(SP_CANVAS_BPATH(canvasitem), 0, SP_WIND_RULE_NONZERO); sp_canvas_item_show(canvasitem); diff --git a/src/nodepath.h b/src/nodepath.h index 336c9019c..4d05b9f01 100644 --- a/src/nodepath.h +++ b/src/nodepath.h @@ -145,6 +145,8 @@ typedef enum { NODE_CUSP, /** This node continuously joins two segments. */ NODE_SMOOTH, +/** This node has automatic handles. */ + NODE_AUTO, /** This node is symmetric. */ NODE_SYMM } NodeType; diff --git a/src/object-edit.cpp b/src/object-edit.cpp index 63e404e4b..86e1f5302 100644 --- a/src/object-edit.cpp +++ b/src/object-edit.cpp @@ -25,7 +25,7 @@ #include "sp-spiral.h" #include "sp-offset.h" #include "sp-flowtext.h" -#include "prefs-utils.h" +#include "preferences.h" #include "desktop-affine.h" #include "style.h" #include "desktop.h" @@ -741,7 +741,8 @@ sp_genericellipse_side(SPGenericEllipse *ellipse, Geom::Point const &p) void ArcKnotHolderEntityStart::knot_set(Geom::Point const &p, Geom::Point const &/*origin*/, guint state) { - int snaps = prefs_get_int_attribute("options.rotationsnapsperpi", "value", 12); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int snaps = prefs->getInt("/options/rotationsnapsperpi/value", 12); SPGenericEllipse *ge = SP_GENERICELLIPSE(item); SPArc *arc = SP_ARC(item); @@ -772,7 +773,8 @@ ArcKnotHolderEntityStart::knot_get() void ArcKnotHolderEntityEnd::knot_set(Geom::Point const &p, Geom::Point const &/*origin*/, guint state) { - int snaps = prefs_get_int_attribute("options.rotationsnapsperpi", "value", 12); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int snaps = prefs->getInt("/options/rotationsnapsperpi/value", 12); SPGenericEllipse *ge = SP_GENERICELLIPSE(item); SPArc *arc = SP_ARC(item); @@ -1080,7 +1082,8 @@ public: void SpiralKnotHolderEntityInner::knot_set(Geom::Point const &p, Geom::Point const &/*origin*/, guint state) { - int snaps = prefs_get_int_attribute("options.rotationsnapsperpi", "value", 12); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int snaps = prefs->getInt("/options/rotationsnapsperpi/value", 12); SPSpiral *spiral = SP_SPIRAL(item); @@ -1122,7 +1125,8 @@ SpiralKnotHolderEntityInner::knot_set(Geom::Point const &p, Geom::Point const &/ void SpiralKnotHolderEntityOuter::knot_set(Geom::Point const &p, Geom::Point const &/*origin*/, guint state) { - int snaps = prefs_get_int_attribute("options.rotationsnapsperpi", "value", 12); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int snaps = prefs->getInt("/options/rotationsnapsperpi/value", 12); SPSpiral *spiral = SP_SPIRAL(item); diff --git a/src/object-snapper.cpp b/src/object-snapper.cpp index cbf31c271..0458add78 100644 --- a/src/object-snapper.cpp +++ b/src/object-snapper.cpp @@ -25,7 +25,7 @@ #include "sp-use.h" #include "display/curve.h" #include "inkscape.h" -#include "prefs-utils.h" +#include "preferences.h" #include "sp-text.h" #include "sp-flowtext.h" #include "text-editing.h" @@ -46,7 +46,7 @@ Inkscape::SnapCandidate::~SnapCandidate() Inkscape::ObjectSnapper::ObjectSnapper(SnapManager const *sm, Geom::Coord const d) : Snapper(sm, d), _snap_to_itemnode(true), _snap_to_itempath(true), _snap_to_bboxnode(true), _snap_to_bboxpath(true), _snap_to_page_border(false), - _strict_snapping(true), _include_item_center(false) + _strict_snapping(true) { _candidates = new std::vector; _points_to_snap_to = new std::vector; @@ -163,7 +163,7 @@ void Inkscape::ObjectSnapper::_findCandidates(SPObject* parent, } -void Inkscape::ObjectSnapper::_collectNodes(Inkscape::Snapper::PointType const &t, +void Inkscape::ObjectSnapper::_collectNodes(Inkscape::SnapPreferences::PointType const &t, bool const &first_point) const { // Now, let's first collect all points to snap to. If we have a whole bunch of points to snap, @@ -175,16 +175,17 @@ void Inkscape::ObjectSnapper::_collectNodes(Inkscape::Snapper::PointType const & // Determine the type of bounding box we should snap to SPItem::BBoxType bbox_type = SPItem::GEOMETRIC_BBOX; - bool p_is_a_node = t & Inkscape::Snapper::SNAPPOINT_NODE; - bool p_is_a_bbox = t & Inkscape::Snapper::SNAPPOINT_BBOX; - bool p_is_a_guide = t & Inkscape::Snapper::SNAPPOINT_GUIDE; + bool p_is_a_node = t & Inkscape::SnapPreferences::SNAPPOINT_NODE; + bool p_is_a_bbox = t & Inkscape::SnapPreferences::SNAPPOINT_BBOX; + bool p_is_a_guide = t & Inkscape::SnapPreferences::SNAPPOINT_GUIDE; // A point considered for snapping should be either a node, a bbox corner or a guide. Pick only ONE! - g_assert(!(p_is_a_node && p_is_a_bbox || p_is_a_bbox && p_is_a_guide || p_is_a_node && p_is_a_guide)); + g_assert(!((p_is_a_node && p_is_a_bbox) || (p_is_a_bbox && p_is_a_guide) || (p_is_a_node && p_is_a_guide))); if (_snap_to_bboxnode) { - int prefs_bbox = prefs_get_int_attribute("tools", "bounding_box", 0); - bbox_type = (prefs_bbox == 0)? + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + bool prefs_bbox = prefs->getBool("/tools/bounding_box"); + bbox_type = !prefs_bbox ? SPItem::APPROXIMATE_BBOX : SPItem::GEOMETRIC_BBOX; } @@ -204,7 +205,7 @@ void Inkscape::ObjectSnapper::_collectNodes(Inkscape::Snapper::PointType const & //Collect all nodes so we can snap to them if (_snap_to_itemnode) { if (!(_strict_snapping && !p_is_a_node) || p_is_a_guide) { - sp_item_snappoints(root_item, _include_item_center, SnapPointsIter(*_points_to_snap_to)); + sp_item_snappoints(root_item, SnapPointsIter(*_points_to_snap_to), &_snapmanager->snapprefs); } } @@ -228,7 +229,7 @@ void Inkscape::ObjectSnapper::_collectNodes(Inkscape::Snapper::PointType const & } void Inkscape::ObjectSnapper::_snapNodes(SnappedConstraints &sc, - Inkscape::Snapper::PointType const &t, + Inkscape::SnapPreferences::PointType const &t, Geom::Point const &p, bool const &first_point, std::vector *unselected_nodes) const @@ -258,7 +259,7 @@ void Inkscape::ObjectSnapper::_snapNodes(SnappedConstraints &sc, } void Inkscape::ObjectSnapper::_snapTranslatingGuideToNodes(SnappedConstraints &sc, - Inkscape::Snapper::PointType const &t, + Inkscape::SnapPreferences::PointType const &t, Geom::Point const &p, Geom::Point const &guide_normal) const { @@ -275,7 +276,7 @@ void Inkscape::ObjectSnapper::_snapTranslatingGuideToNodes(SnappedConstraints &s Geom::Point p_proj = project_on_linesegment(*k, p, p + Geom::rot90(guide_normal)); Geom::Coord dist = Geom::L2(*k - p_proj); // distance from node to the guide Geom::Coord dist2 = Geom::L2(p - p_proj); // distance from projection of node on the guide, to the mouse location - if ((dist < tol && dist2 < tol || getSnapperAlwaysSnap()) && dist < s.getDistance()) { + if ((dist < tol && dist2 < tol) || (getSnapperAlwaysSnap() && dist < s.getDistance())) { s = SnappedPoint(*k, SNAPTARGET_NODE, dist, tol, getSnapperAlwaysSnap(), true); success = true; } @@ -291,7 +292,7 @@ void Inkscape::ObjectSnapper::_snapTranslatingGuideToNodes(SnappedConstraints &s * Returns index of first NR_END bpath in array. */ -void Inkscape::ObjectSnapper::_collectPaths(Inkscape::Snapper::PointType const &t, +void Inkscape::ObjectSnapper::_collectPaths(Inkscape::SnapPreferences::PointType const &t, bool const &first_point) const { // Now, let's first collect all paths to snap to. If we have a whole bunch of points to snap, @@ -303,11 +304,12 @@ void Inkscape::ObjectSnapper::_collectPaths(Inkscape::Snapper::PointType const & // Determine the type of bounding box we should snap to SPItem::BBoxType bbox_type = SPItem::GEOMETRIC_BBOX; - bool p_is_a_node = t & Inkscape::Snapper::SNAPPOINT_NODE; + bool p_is_a_node = t & Inkscape::SnapPreferences::SNAPPOINT_NODE; if (_snap_to_bboxpath) { - int prefs_bbox = prefs_get_int_attribute("tools", "bounding_box", 0); - bbox_type = (prefs_bbox ==0)? + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int prefs_bbox = prefs->getBool("/tools/bounding_box", 0); + bbox_type = !prefs_bbox ? SPItem::APPROXIMATE_BBOX : SPItem::GEOMETRIC_BBOX; } @@ -389,7 +391,7 @@ void Inkscape::ObjectSnapper::_collectPaths(Inkscape::Snapper::PointType const & } void Inkscape::ObjectSnapper::_snapPaths(SnappedConstraints &sc, - Inkscape::Snapper::PointType const &t, + Inkscape::SnapPreferences::PointType const &t, Geom::Point const &p, bool const &first_point, std::vector *unselected_nodes, @@ -487,7 +489,7 @@ bool Inkscape::ObjectSnapper::isUnselectedNode(Geom::Point const &point, std::ve } void Inkscape::ObjectSnapper::_snapPathsConstrained(SnappedConstraints &sc, - Inkscape::Snapper::PointType const &t, + Inkscape::SnapPreferences::PointType const &t, Geom::Point const &p, bool const &first_point, ConstraintLine const &c) const @@ -545,14 +547,14 @@ void Inkscape::ObjectSnapper::_snapPathsConstrained(SnappedConstraints &sc, void Inkscape::ObjectSnapper::freeSnap(SnappedConstraints &sc, - Inkscape::Snapper::PointType const &t, + Inkscape::SnapPreferences::PointType const &t, Geom::Point const &p, bool const &first_point, boost::optional const &bbox_to_snap, std::vector const *it, std::vector *unselected_nodes) const { - if (_snap_enabled == false || getSnapFrom(t) == false ) { + if (_snap_enabled == false || _snapmanager->snapprefs.getSnapFrom(t) == false ) { return; } @@ -588,14 +590,14 @@ void Inkscape::ObjectSnapper::freeSnap(SnappedConstraints &sc, } void Inkscape::ObjectSnapper::constrainedSnap( SnappedConstraints &sc, - Inkscape::Snapper::PointType const &t, + Inkscape::SnapPreferences::PointType const &t, Geom::Point const &p, bool const &first_point, boost::optional const &bbox_to_snap, ConstraintLine const &c, std::vector const *it) const { - if (_snap_enabled == false || getSnapFrom(t) == false) { + if (_snap_enabled == false || _snapmanager->snapprefs.getSnapFrom(t) == false) { return; } @@ -649,7 +651,7 @@ void Inkscape::ObjectSnapper::guideSnap(SnappedConstraints &sc, // line, or can it be located anywhere?) _findCandidates(sp_document_root(_snapmanager->getDocument()), &it, true, Geom::Rect(p, p), snap_dim, false, Geom::identity()); - _snapTranslatingGuideToNodes(sc, Inkscape::Snapper::SNAPPOINT_GUIDE, p, guide_normal); + _snapTranslatingGuideToNodes(sc, Inkscape::SnapPreferences::SNAPPOINT_GUIDE, p, guide_normal); // _snapRotatingGuideToNodes has not been implemented yet. } @@ -659,13 +661,13 @@ void Inkscape::ObjectSnapper::guideSnap(SnappedConstraints &sc, bool Inkscape::ObjectSnapper::ThisSnapperMightSnap() const { bool snap_to_something = _snap_to_itempath || _snap_to_itemnode || _snap_to_bboxpath || _snap_to_bboxnode || _snap_to_page_border; - return (_snap_enabled && _snap_from != 0 && snap_to_something); + return (_snap_enabled && _snapmanager->snapprefs.getSnapModeBBoxOrNodes() && snap_to_something); } bool Inkscape::ObjectSnapper::GuidesMightSnap() const { bool snap_to_something = _snap_to_itemnode || _snap_to_bboxnode; - return (_snap_enabled && (_snap_from & SNAPPOINT_GUIDE) && snap_to_something); + return (_snap_enabled && _snapmanager->snapprefs.getSnapModeGuide() && snap_to_something); } void Inkscape::ObjectSnapper::_clear_paths() const diff --git a/src/object-snapper.h b/src/object-snapper.h index c567e115b..01ef8cf50 100644 --- a/src/object-snapper.h +++ b/src/object-snapper.h @@ -66,9 +66,6 @@ public: bool getSnapToBBoxPath() const {return _snap_to_bboxpath;} void setSnapToPageBorder(bool s) {_snap_to_page_border = s;} bool getSnapToPageBorder() const {return _snap_to_page_border;} - void setIncludeItemCenter(bool s) {_include_item_center = s;} - bool getIncludeItemCenter() const {return _include_item_center;} - void setStrictSnapping(bool enabled) {_strict_snapping = enabled;} void guideSnap(SnappedConstraints &sc, Geom::Point const &p, Geom::Point const &guide_normal) const; @@ -77,7 +74,7 @@ public: bool GuidesMightSnap() const; void freeSnap(SnappedConstraints &sc, - Inkscape::Snapper::PointType const &t, + Inkscape::SnapPreferences::PointType const &t, Geom::Point const &p, bool const &first_point, boost::optional const &bbox_to_snap, @@ -85,7 +82,7 @@ public: std::vector *unselected_nodes) const; void constrainedSnap(SnappedConstraints &sc, - Inkscape::Snapper::PointType const &t, + Inkscape::SnapPreferences::PointType const &t, Geom::Point const &p, bool const &first_point, boost::optional const &bbox_to_snap, @@ -107,35 +104,35 @@ private: Geom::Matrix const additional_affine) const; void _snapNodes(SnappedConstraints &sc, - Inkscape::Snapper::PointType const &t, + Inkscape::SnapPreferences::PointType const &t, Geom::Point const &p, // in desktop coordinates bool const &first_point, std::vector *unselected_nodes) const; // in desktop coordinates void _snapTranslatingGuideToNodes(SnappedConstraints &sc, - Inkscape::Snapper::PointType const &t, + Inkscape::SnapPreferences::PointType const &t, Geom::Point const &p, Geom::Point const &guide_normal) const; - void _collectNodes(Inkscape::Snapper::PointType const &t, + void _collectNodes(Inkscape::SnapPreferences::PointType const &t, bool const &first_point) const; void _snapPaths(SnappedConstraints &sc, - Inkscape::Snapper::PointType const &t, + Inkscape::SnapPreferences::PointType const &t, Geom::Point const &p, // in desktop coordinates bool const &first_point, std::vector *unselected_nodes, // in desktop coordinates SPPath const *selected_path) const; void _snapPathsConstrained(SnappedConstraints &sc, - Inkscape::Snapper::PointType const &t, + Inkscape::SnapPreferences::PointType const &t, Geom::Point const &p, // in desktop coordinates bool const &first_point, ConstraintLine const &c) const; bool isUnselectedNode(Geom::Point const &point, std::vector const *unselected_nodes) const; - void _collectPaths(Inkscape::Snapper::PointType const &t, + void _collectPaths(Inkscape::SnapPreferences::PointType const &t, bool const &first_point) const; void _clear_paths() const; @@ -154,7 +151,6 @@ private: //snap bbox corners to nodes, or nodes to bboxes. //(snapping to grids and guides is not affected by this) bool _strict_snapping; - bool _include_item_center; }; } diff --git a/src/path-chemistry.cpp b/src/path-chemistry.cpp index 0dd73bba9..0227e9caf 100644 --- a/src/path-chemistry.cpp +++ b/src/path-chemistry.cpp @@ -38,18 +38,6 @@ #include <2geom/pathvector.h> #include "path-chemistry.h" -/* Helper functions for sp_selected_path_to_curves */ -static void sp_selected_path_to_curves0(SPDesktop *desktop, bool do_document_done, guint32 text_grouping_policy); -static bool sp_item_list_to_curves(const GSList *items, GSList **selected, GSList **to_select); - -enum { - /* Not used yet. This is the placeholder of Lauris's idea. */ - SP_TOCURVE_INTERACTIVE = 1 << 0, - SP_TOCURVE_GROUPING_BY_WORD = 1 << 1, - SP_TOCURVE_GROUPING_BY_LINE = 1 << 2, - SP_TOCURVE_GROUPING_BY_WHOLE = 1 << 3 -}; - void sp_selected_path_combine(SPDesktop *desktop) { @@ -281,12 +269,6 @@ sp_selected_path_break_apart(SPDesktop *desktop) /* This function is an entry point from GUI */ void sp_selected_path_to_curves(SPDesktop *desktop, bool interactive) -{ - sp_selected_path_to_curves0(desktop, interactive, interactive ? SP_TOCURVE_INTERACTIVE : 0); -} - -static void -sp_selected_path_to_curves0(SPDesktop *desktop, bool interactive, guint32 /*text_grouping_policy*/) { Inkscape::Selection *selection = sp_desktop_selection(desktop); @@ -328,7 +310,7 @@ sp_selected_path_to_curves0(SPDesktop *desktop, bool interactive, guint32 /*text } } -static bool +bool sp_item_list_to_curves(const GSList *items, GSList **selected, GSList **to_select) { bool did = false; @@ -427,12 +409,86 @@ sp_selected_item_to_curved_repr(SPItem *item, guint32 /*text_grouping_policy*/) if (!item) return NULL; + Inkscape::XML::Document *xml_doc = SP_OBJECT_REPR(item)->document(); + + if (SP_IS_TEXT(item) || SP_IS_FLOWTEXT(item)) { + // Special treatment for text: convert each glyph to separate path, then group the paths + Inkscape::XML::Node *g_repr = xml_doc->createElement("svg:g"); + g_repr->setAttribute("transform", SP_OBJECT_REPR(item)->attribute("transform")); + /* Mask */ + gchar *mask_str = (gchar *) SP_OBJECT_REPR(item)->attribute("mask"); + if ( mask_str ) + g_repr->setAttribute("mask", mask_str); + /* Clip path */ + gchar *clip_path_str = (gchar *) SP_OBJECT_REPR(item)->attribute("clip-path"); + if ( clip_path_str ) + g_repr->setAttribute("clip-path", clip_path_str); + /* Rotation center */ + g_repr->setAttribute("inkscape:transform-center-x", SP_OBJECT_REPR(item)->attribute("inkscape:transform-center-x"), false); + g_repr->setAttribute("inkscape:transform-center-y", SP_OBJECT_REPR(item)->attribute("inkscape:transform-center-y"), false); + /* Whole text's style */ + gchar *style_str = sp_style_write_difference(SP_OBJECT_STYLE(item), + SP_OBJECT_STYLE(SP_OBJECT_PARENT(item))); + g_repr->setAttribute("style", style_str); + g_free(style_str); + Inkscape::Text::Layout::iterator iter = te_get_layout(item)->begin(); + do { + Inkscape::Text::Layout::iterator iter_next = iter; + iter_next.nextGlyph(); // iter_next is one glyph ahead from iter + if (iter == iter_next) + break; + + /* This glyph's style */ + SPObject const *pos_obj = 0; + void *rawptr = 0; + te_get_layout(item)->getSourceOfCharacter(iter, &rawptr); + if (!rawptr || !SP_IS_OBJECT(rawptr)) // no source for glyph, abort + break; + pos_obj = SP_OBJECT(rawptr); + while (SP_IS_STRING(pos_obj) && SP_OBJECT_PARENT(pos_obj)) { + pos_obj = SP_OBJECT_PARENT(pos_obj); // SPStrings don't have style + } + gchar *style_str = sp_style_write_difference(SP_OBJECT_STYLE(pos_obj), + SP_OBJECT_STYLE(SP_OBJECT_PARENT(pos_obj))); + + // get path from iter to iter_next: + SPCurve *curve = te_get_layout(item)->convertToCurves(iter, iter_next); + iter = iter_next; // shift to next glyph + if (!curve) { // error converting this glyph + g_free (style_str); + continue; + } + if (curve->is_empty()) { // whitespace glyph? + curve->unref(); + g_free (style_str); + continue; + } + + Inkscape::XML::Node *p_repr = xml_doc->createElement("svg:path"); + + gchar *def_str = sp_svg_write_path(curve->get_pathvector()); + p_repr->setAttribute("d", def_str); + g_free(def_str); + curve->unref(); + + p_repr->setAttribute("style", style_str); + g_free(style_str); + + g_repr->appendChild(p_repr); + Inkscape::GC::release(p_repr); + + if (iter == te_get_layout(item)->end()) + break; + + } while (true); + + return g_repr; + } + SPCurve *curve = NULL; if (SP_IS_SHAPE(item)) { curve = sp_shape_get_curve(SP_SHAPE(item)); - } else if (SP_IS_TEXT(item) || SP_IS_FLOWTEXT(item)) { - curve = te_get_layout(item)->convertToCurves(); - } + } if (!curve) return NULL; @@ -445,7 +501,6 @@ sp_selected_item_to_curved_repr(SPItem *item, guint32 /*text_grouping_policy*/) return NULL; } - Inkscape::XML::Document *xml_doc = SP_OBJECT_REPR(item)->document(); Inkscape::XML::Node *repr = xml_doc->createElement("svg:path"); /* Transformation */ repr->setAttribute("transform", SP_OBJECT_REPR(item)->attribute("transform")); diff --git a/src/path-chemistry.h b/src/path-chemistry.h index 27c3b8680..14b2b6ffb 100644 --- a/src/path-chemistry.h +++ b/src/path-chemistry.h @@ -20,6 +20,7 @@ void sp_selected_path_break_apart (SPDesktop *desktop); void sp_selected_path_to_curves (SPDesktop *desktop, bool interactive = true); Inkscape::XML::Node *sp_selected_item_to_curved_repr(SPItem *item, guint32 text_grouping_policy); void sp_selected_path_reverse (SPDesktop *desktop); +bool sp_item_list_to_curves(const GSList *items, GSList **selected, GSList **to_select); #endif diff --git a/src/pen-context.cpp b/src/pen-context.cpp index 9d11df059..eb399d191 100644 --- a/src/pen-context.cpp +++ b/src/pen-context.cpp @@ -29,7 +29,7 @@ #include "draw-anchor.h" #include "message-stack.h" #include "message-context.h" -#include "prefs-utils.h" +#include "preferences.h" #include "sp-path.h" #include "display/curve.h" #include "pixmaps/cursor-pen.xpm" @@ -49,7 +49,7 @@ static void sp_pen_context_dispose(GObject *object); static void sp_pen_context_setup(SPEventContext *ec); static void sp_pen_context_finish(SPEventContext *ec); -static void sp_pen_context_set(SPEventContext *ec, gchar const *key, gchar const *val); +static void sp_pen_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val); static gint sp_pen_context_root_handler(SPEventContext *ec, GdkEvent *event); static gint sp_pen_context_item_handler(SPEventContext *event_context, SPItem *item, GdkEvent *event); @@ -193,7 +193,8 @@ sp_pen_context_dispose(GObject *object) void sp_pen_context_set_polyline_mode(SPPenContext *const pc) { - guint mode = prefs_get_int_attribute("tools.freehand.pen", "freehand-mode", 0); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + guint mode = prefs->getInt("/tools/freehand/pen/freehand-mode", 0); pc->polylines_only = (mode == 2 || mode == 3); pc->polylines_paraxial = (mode == 3); } @@ -233,7 +234,8 @@ sp_pen_context_setup(SPEventContext *ec) sp_pen_context_set_polyline_mode(pc); - if (prefs_get_int_attribute("tools.freehand.pen", "selcue", 0) != 0) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/tools/freehand/pen/selcue")) { ec->enableSelectionCue(); } } @@ -275,12 +277,13 @@ sp_pen_context_finish(SPEventContext *ec) * Callback that sets key to value in pen context. */ static void -sp_pen_context_set(SPEventContext *ec, gchar const *key, gchar const *val) +sp_pen_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val) { SPPenContext *pc = SP_PEN_CONTEXT(ec); + Glib::ustring name = val->getEntryName(); - if (!strcmp(key, "mode")) { - if ( val && !strcmp(val, "drag") ) { + if (name == "mode") { + if ( val->getString() == "drag" ) { pc->mode = SP_PEN_CONTEXT_MODE_DRAG; } else { pc->mode = SP_PEN_CONTEXT_MODE_CLICK; @@ -465,7 +468,7 @@ static gint pen_handle_button_press(SPPenContext *const pc, GdkEventButton const if (pc->npoints == 0) { if (bevent.state & GDK_CONTROL_MASK) { - spdc_create_single_dot(event_context, event_dt, "tools.freehand.pen", bevent.state); + spdc_create_single_dot(event_context, event_dt, "/tools/freehand/pen", bevent.state); ret = TRUE; break; } @@ -597,8 +600,8 @@ pen_handle_motion_notify(SPPenContext *const pc, GdkEventMotion const &mevent) Geom::Point const event_w(mevent.x, mevent.y); if (pen_within_tolerance) { - gint const tolerance = prefs_get_int_attribute_limited("options.dragtolerance", - "value", 0, 0, 100); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + gint const tolerance = prefs->getIntLimited("/options/dragtolerance/value", 0, 0, 100); if ( NR::LInfty( event_w - pen_drag_origin_w ) < tolerance ) { return FALSE; // Do not drag if we're within tolerance from origin. } @@ -962,7 +965,8 @@ static gint pen_handle_key_press(SPPenContext *const pc, GdkEvent *event) { gint ret = FALSE; - gdouble const nudge = prefs_get_double_attribute_limited("options.nudgedistance", "value", 2, 0, 1000); // in px + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + gdouble const nudge = prefs->getDoubleLimited("/options/nudgedistance/value", 2, 0, 1000); // in px switch (get_group0_keyval (&event->key)) { @@ -1210,7 +1214,8 @@ spdc_pen_set_angle_distance_status_message(SPPenContext *const pc, Geom::Point c Geom::Point rel = p - pc->p[pc_point_to_compare]; GString *dist = SP_PX_TO_METRIC_STRING(NR::L2(rel), desktop->namedview->getDefaultMetric()); double angle = atan2(rel[NR::Y], rel[NR::X]) * 180 / M_PI; - if (prefs_get_int_attribute("options.compassangledisplay", "value", 0) != 0) + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/options/compassangledisplay/value", 0) != 0) angle = angle_to_compass (angle); pc->_message_context->setF(Inkscape::IMMEDIATE_MESSAGE, message, angle, dist->str); diff --git a/src/pencil-context.cpp b/src/pencil-context.cpp index 96313ab37..acc10389c 100644 --- a/src/pencil-context.cpp +++ b/src/pencil-context.cpp @@ -27,7 +27,7 @@ #include "message-context.h" #include "modifier-fns.h" #include "sp-path.h" -#include "prefs-utils.h" +#include "preferences.h" #include "snap.h" #include "pixmaps/cursor-pencil.xpm" #include "display/bezier-utils.h" @@ -130,7 +130,8 @@ sp_pencil_context_init(SPPencilContext *pc) static void sp_pencil_context_setup(SPEventContext *ec) { - if (prefs_get_int_attribute("tools.freehand.pencil", "selcue", 0) != 0) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/tools/freehand/pencil/selcue")) { ec->enableSelectionCue(); } @@ -241,7 +242,7 @@ pencil_handle_button_press(SPPencilContext *const pc, GdkEventButton const &beve default: /* Set first point of sequence */ if (bevent.state & GDK_CONTROL_MASK) { - spdc_create_single_dot(event_context, from_2geom(p), "tools.freehand.pencil", bevent.state); + spdc_create_single_dot(event_context, from_2geom(p), "/tools/freehand/pencil", bevent.state); ret = true; break; } @@ -259,7 +260,13 @@ pencil_handle_button_press(SPPencilContext *const pc, GdkEventButton const &beve desktop->messageStack()->flash(Inkscape::NORMAL_MESSAGE, _("Creating new path")); SnapManager &m = desktop->namedview->snap_manager; m.setup(desktop); - m.freeSnapReturnByRef(Inkscape::Snapper::SNAPPOINT_NODE, p); + Inkscape::SnappedPoint const s = m.freeSnap(Inkscape::SnapPreferences::SNAPPOINT_NODE, p); + if (s.getSnapped()) { + s.getPoint(p); + pc->pencil_has_snapped_before = true; + } else { + pc->pencil_has_snapped_before = false; + } } else if (selection->singleItem() && SP_IS_PATH(selection->singleItem())) { desktop->messageStack()->flash(Inkscape::NORMAL_MESSAGE, _("Appending to selected path")); } @@ -309,8 +316,8 @@ pencil_handle_motion_notify(SPPencilContext *const pc, GdkEventMotion const &mev SPDrawAnchor *anchor = spdc_test_inside(pc, Geom::Point(mevent.x, mevent.y)); if (pencil_within_tolerance) { - gint const tolerance = prefs_get_int_attribute_limited("options.dragtolerance", - "value", 0, 0, 100); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + gint const tolerance = prefs->getIntLimited("/options/dragtolerance/value", 0, 0, 100); if ( NR::LInfty( Geom::Point(mevent.x,mevent.y) - pencil_drag_origin_w ) < tolerance ) { return FALSE; // Do not drag if we're within tolerance from origin. } @@ -346,16 +353,25 @@ pencil_handle_motion_notify(SPPencilContext *const pc, GdkEventMotion const &mev * fixme: I am not sure whether we want to snap to anchors * in middle of freehand (Lauris) */ + SnapManager &m = dt->namedview->snap_manager; + if (anchor) { p = to_2geom(anchor->dp); } else if ((mevent.state & GDK_SHIFT_MASK) == 0) { - SnapManager &m = dt->namedview->snap_manager; m.setup(dt); - m.freeSnapReturnByRef(Inkscape::Snapper::SNAPPOINT_NODE, p); + Inkscape::SnappedPoint const s = m.freeSnap(Inkscape::SnapPreferences::SNAPPOINT_NODE, p); + if (s.getSnapped()) { + s.getPoint(p); + pc->pencil_has_snapped_before = true; + } } - if ( pc->npoints != 0 ) { // buttonpress may have happened before we entered draw context! - spdc_add_freehand_point(pc, from_2geom(p), mevent.state); - ret = TRUE; + if ( pc->npoints != 0) { // buttonpress may have happened before we entered draw context! + if (!(pc->pencil_has_snapped_before && m.snapprefs.getSnapPostponedGlobally())) { + // When snapping is enabled but temporarily on hold because the mouse is moving + // fast, then we don't want to add nodes off-grid + spdc_add_freehand_point(pc, from_2geom(p), mevent.state); + ret = TRUE; + } } if (anchor && !pc->anchor_statusbar) { @@ -633,7 +649,8 @@ fit_and_split(SPPencilContext *pc) { g_assert( pc->npoints > 1 ); - double const tol = prefs_get_double_attribute_limited("tools.freehand.pencil", "tolerance", 10.0, 1.0, 100.0); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + double const tol = prefs->getDoubleLimited("/tools/freehand/pencil/tolerance", 10.0, 1.0, 100.0); double const tolerance_sq = 0.02 * square( pc->desktop->w2d().descrim() * tol) * exp(0.2*tol - 2); diff --git a/src/pencil-context.h b/src/pencil-context.h index 87e9b2470..467241b17 100644 --- a/src/pencil-context.h +++ b/src/pencil-context.h @@ -30,6 +30,7 @@ struct SPPencilContext : public SPDrawContext { Geom::Point req_tangent; bool is_drawing; + bool pencil_has_snapped_before; }; /// The SPPencilContext vtable (empty). diff --git a/src/preferences-skeleton.h b/src/preferences-skeleton.h index 6cf1b3feb..c6b547a9e 100644 --- a/src/preferences-skeleton.h +++ b/src/preferences-skeleton.h @@ -276,6 +276,7 @@ static char const preferences_skeleton[] = " \n" " \n" " \n" +" \n" " \n" " \n" " \n" diff --git a/src/preferences.cpp b/src/preferences.cpp index 54ab79448..e999182c7 100644 --- a/src/preferences.cpp +++ b/src/preferences.cpp @@ -2,7 +2,7 @@ * @brief Singleton class to access the preferences file - implementation */ /* Authors: - * Krzysztof Kosinski + * Krzysztof Kosiński * * Copyright (C) 2008 Authors * @@ -14,6 +14,10 @@ #include "inkscape.h" #include "xml/repr.h" #include "xml/node-observer.h" +#include "xml/node-iterators.h" +#include "xml/attribute-record.h" +#include +#include #include #include #include @@ -24,6 +28,28 @@ namespace Inkscape { +// private inner class definition + +/** + * @brief XML - prefs observer bridge + * + * This is an XML node observer that watches for changes in the XML document storing the preferences. + * It is used to implement preference observers. + */ +class Preferences::PrefNodeObserver : public XML::NodeObserver { +public: + PrefNodeObserver(Observer &o, Glib::ustring const &filter) : + _observer(o), + _filter(filter) + {} + virtual ~PrefNodeObserver() {} + virtual void notifyAttributeChanged(XML::Node &node, GQuark name, Util::ptr_shared, Util::ptr_shared); +private: + Observer &_observer; + Glib::ustring const _filter; +}; + + Preferences::Preferences() : _prefs_basename(PREFERENCES_FILE_NAME), _prefs_dir(""), @@ -35,11 +61,11 @@ Preferences::Preferences() : gchar *path = profile_path(NULL); _prefs_dir = path; g_free(path); - + path = profile_path(_prefs_basename.data()); _prefs_filename = path; g_free(path); - + _load(); } @@ -47,6 +73,12 @@ Preferences::~Preferences() { // when the preferences are unloaded, save them save(); + + // delete all PrefNodeObservers + for (_ObsMap::iterator i = _observer_map.begin(); i != _observer_map.end(); ) { + delete (*i++).second; // avoids reference to a deleted key + } + // unref XML document Inkscape::GC::release(_prefs_doc); } @@ -70,12 +102,12 @@ void Preferences::_loadDefaults() void Preferences::_load() { _loadDefaults(); - + Glib::ustring const not_saved = _("Inkscape will run with default settings, " "and new settings will not be saved. "); - + // NOTE: After we upgrade to Glib 2.16, use Glib::ustring::compose - + // 1. Does the file exist? if (!g_file_test(_prefs_filename.data(), G_FILE_TEST_EXISTS)) { // No - we need to create one. @@ -99,7 +131,7 @@ void Preferences::_load() g_mkdir(dir, 0755); g_free(dir); } - + } else if (!g_file_test(_prefs_dir.data(), G_FILE_TEST_IS_DIR)) { // The profile dir is not actually a directory //_errorDialog(Glib::ustring::compose(_("%1 is not a valid directory."), @@ -121,13 +153,13 @@ void Preferences::_load() g_free(msg); return; } - + // The prefs file was just created. // We can return now and skip the rest of the load process. _writable = true; return; } - + // Yes, the pref file exists. // 2. Is it a regular file? if (!g_file_test(_prefs_filename.data(), G_FILE_TEST_IS_REGULAR)) { @@ -139,7 +171,7 @@ void Preferences::_load() g_free(msg); return; } - + // 3. Is the file readable? gchar *prefs_xml = NULL; gsize len = 0; if (!g_file_get_contents(_prefs_filename.data(), &prefs_xml, &len, NULL)) { @@ -174,7 +206,7 @@ void Preferences::_load() Inkscape::GC::release(prefs_read); return; } - + // Merge the loaded prefs with defaults. _prefs_doc->root()->mergeFrom(prefs_read->root(), "id"); Inkscape::GC::release(prefs_read); @@ -187,255 +219,281 @@ void Preferences::_load() void Preferences::save() { if (!_writable) return; // no-op if the prefs file is not writable - + // sp_repr_save_file uses utf-8 instead of the glib filename encoding. // I don't know why filenames are kept in utf-8 in Inkscape and then - // converted to filename encoding when necessary through sepcial functions + // converted to filename encoding when necessary through special functions // - wouldn't it be easier to keep things in the encoding they are supposed // to be in? - Glib::ustring utf8name = Glib::filename_from_utf8(_prefs_filename); + Glib::ustring utf8name = Glib::filename_to_utf8(_prefs_filename); if (utf8name.empty()) return; sp_repr_save_file(_prefs_doc, utf8name.data()); } -void Preferences::addPrefsObserver(Inkscape::XML::NodeObserver *observer) -{ - _prefs_doc->addSubtreeObserver(*observer); -} - - // Now for the meat. -// Most of the logic is similar to former prefs-utils.cpp - /** - * @brief Check for the existence of a given pref key - * @param pref_key Preference key to check - * @return True if the key exists, false otherwise + * @brief Get names of all entries in the specified path + * @param path Preference path to query + * @return A vector containing all entries in the given directory */ -bool Preferences::exists(Glib::ustring const &pref_key) +std::vector Preferences::getAllEntries(Glib::ustring const &path) { - return _getNode(pref_key) != NULL; + std::vector temp; + Inkscape::XML::Node *node = _getNode(path, false); + if (!node) return temp; + + // argh - purge this Util::List nonsense from XML classes fast + Inkscape::Util::List alist = node->attributeList(); + for (; alist; ++alist) + temp.push_back( Entry(path + '/' + g_quark_to_string(alist->key), static_cast(alist->value.pointer())) ); + return temp; } /** - * @brief Get the number of sub-preferences of a given pref - * @param pref_key Preference key to check - * @return Number of sub-preferences - * - * Note: This does not count attributes, only child preferences. + * @brief Get the paths to all subdirectories of the specified path + * @param path Preference path to query + * @return A vector containing absolute paths to all subdirectories in the given path */ -unsigned int Preferences::childCount(Glib::ustring const &pref_key) +std::vector Preferences::getAllDirs(Glib::ustring const &path) { - Inkscape::XML::Node *node = _getNode(pref_key); - return ( node ? node->childCount() : 0 ); -} - -/** - * @brief Get the key of the n-th sub-preference of the specified pref - * @param father_key Parent key - * @param n The zero-based index of the pref key to retrieve - * @return The key of the n-th sub-preference - */ -Glib::ustring Preferences::getNthChild(Glib::ustring const &father_key, unsigned int n) -{ - Inkscape::XML::Node *node = _getNode(father_key), *child; - if (!node) return ""; - child = node->nthChild(n); - if (!child) return ""; - if (child->attribute("id")) { - Glib::ustring child_key = father_key; - child_key += '.'; - child_key += child->attribute("id"); - return child_key; + std::vector temp; + Inkscape::XML::Node *node = _getNode(path, false); + if (!node) return temp; + + for (Inkscape::XML::NodeSiblingIterator i = node->firstChild(); i; ++i) { + temp.push_back(path + '/' + i->attribute("id")); } - return ""; + return temp; } +// getter methods -/** - * @brief Create the preference with the specified key - * @return True if the node was created, false if it already existed - * - * This method is redundant, because the setters automatically create prefs - * if they don't already exist. It is only left to accomodate some legacy code - * which manipulates the DOM of the preferences file directly. - */ -bool Preferences::create(Glib::ustring const &pref_key) +Preferences::Entry const Preferences::getEntry(Glib::ustring const &pref_path) { - if (_getNode(pref_key)) return false; - _getNode(pref_key, true); - return true; + gchar const *v; + _getRawValue(pref_path, v); + return Entry(pref_path, v); } -// getter methods +// setter methods /** - * @brief Get a boolean attribute of a preference - * @param pref_key Key of he preference to retrieve - * @param attr Attribute to retrieve - * @param def The default value to return if the preference is not set - * @return The retrieved value + * @brief Set a boolean attribute of a preference + * @param pref_path Path of the preference to modify + * @param value The new value of the pref attribute */ -bool Preferences::getBool(Glib::ustring const &pref_key, Glib::ustring const &attr, bool def) +void Preferences::setBool(Glib::ustring const &pref_path, bool value) { - Inkscape::XML::Node *node = _getNode(pref_key); - if (!node) return def; - gchar const *rawstr = node->attribute(attr.data()); - if(!rawstr || !rawstr[0]) return def; - Glib::ustring str = rawstr; - - // This is to handle legacy preferences using ints as booleans - if (str == "true" || str == "1") return true; - return false; + /// @todo Boolean values should be stored as "true" and "false", + /// but this is not possible due to an interaction with event contexts. + /// Investigate this in depth. + _setRawValue(pref_path, ( value ? "1" : "0" )); } - /** - * @brief Get an integer attribute of a preference - * @param pref_key Key of he preference to retrieve - * @param attr Attribute to retrieve - * @param def The default value to return if the preference is not set - * @return The retrieved value + * @brief Set an integer attribute of a preference + * @param pref_path Path of the preference to modify + * @param value The new value of the pref attribute */ -int Preferences::getInt(Glib::ustring const &pref_key, Glib::ustring const &attr, int def) +void Preferences::setInt(Glib::ustring const &pref_path, int value) { - Inkscape::XML::Node *node = _getNode(pref_key); - if (!node) return def; - gchar const *rawstr = node->attribute(attr.data()); - if (!rawstr || !rawstr[0]) return def; - Glib::ustring str = rawstr; - // Protection against leftover getInt calls when the value is in fact a boolean - if (str == "true") return 1; - if (str == "false") return 0; - return atoi(str.data()); + gchar intstr[32]; + g_snprintf(intstr, 32, "%d", value); + _setRawValue(pref_path, intstr); } -int Preferences::getIntLimited(Glib::ustring const &pref_key, Glib::ustring const &attr, int def, int min, int max) +/** + * @brief Set a floating point attribute of a preference + * @param pref_path Path of the preference to modify + * @param value The new value of the pref attribute + */ +void Preferences::setDouble(Glib::ustring const &pref_path, double value) { - int value = getInt(pref_key, attr, def); - return ( value >= min && value <= max ? value : def); + gchar buf[G_ASCII_DTOSTR_BUF_SIZE]; + g_ascii_dtostr(buf, G_ASCII_DTOSTR_BUF_SIZE, value); + _setRawValue(pref_path, buf); } /** - * @brief Get a floating point attribute of a preference - * @param pref_key Key of he preference to retrieve - * @param attr Attribute to retrieve - * @param def The default value to return if the preference is not set - * @return The retrieved value + * @brief Set a string attribute of a preference + * @param pref_path Path of the preference to modify + * @param value The new value of the pref attribute */ -double Preferences::getDouble(Glib::ustring const &pref_key, Glib::ustring const &attr, double def) +void Preferences::setString(Glib::ustring const &pref_path, Glib::ustring const &value) { - Inkscape::XML::Node *node = _getNode(pref_key); - if (!node) return def; - gchar const *str = node->attribute(attr.data()); - if (!str) return def; - return g_ascii_strtod(str, NULL); + _setRawValue(pref_path, value.data()); } -double Preferences::getDoubleLimited(Glib::ustring const &pref_key, Glib::ustring const &attr, double def, double min, double max) +void Preferences::setStyle(Glib::ustring const &pref_path, SPCSSAttr *style) { - double value = getDouble(pref_key, attr, def); - return ( value >= min && value <= max ? value : def); + gchar *css_str = sp_repr_css_write_string(style); + _setRawValue(pref_path, css_str); + g_free(css_str); } -/** - * @brief Get a string attribute of a preference - * @param pref_key Key of he preference to retrieve - * @param attr Attribute to retrieve - * @param def The default value to return if the preference is not set - * @return The retrieved value - */ -Glib::ustring Preferences::getString(Glib::ustring const &pref_key, Glib::ustring const &attr) +void Preferences::mergeStyle(Glib::ustring const &pref_path, SPCSSAttr *style) { - Inkscape::XML::Node *node = _getNode(pref_key); - if (!node) return ""; - gchar const *str = node->attribute(attr.data()); - if (!str) return ""; - return Glib::ustring(str); + SPCSSAttr *current = getStyle(pref_path); + sp_repr_css_merge(current, style); + gchar *css_str = sp_repr_css_write_string(current); + _setRawValue(pref_path, css_str); + g_free(css_str); + sp_repr_css_attr_unref(current); } -// setter methods +// Observer stuff +namespace { /** - * @brief Set a boolean attribute of a preference - * @param pref_key Key of the preference to modify - * @param attr Attribute to set - * @param value The new value of the pref attribute + * @brief Structure that holds additional information for registered Observers */ -void Preferences::setBool(Glib::ustring const &pref_key, Glib::ustring const &attr, bool value) +struct _ObserverData { + Inkscape::XML::Node *_node; ///< Node at which the wrapping PrefNodeObserver is registered + bool _is_attr; ///< Whether this Observer watches a single attribute +}; + +} // anonymous namespace + +Preferences::Observer::Observer(Glib::ustring const &path) : + observed_path(path) { - /// @todo Boolean values should be stored as "true" and "false", - /// but this is not possible ude to an interaction with event contexts. - /// Investigate this in depth. - Inkscape::XML::Node *node = _getNode(pref_key, true); - node->setAttribute(attr.data(), ( value ? "1" : "0" )); } -/** - * @brief Set an integer attribute of a preference - * @param pref_key Key of the preference to modify - * @param attr Attribute to set - * @param value The new value of the pref attribute - */ -void Preferences::setInt(Glib::ustring const &pref_key, Glib::ustring const &attr, int value) +Preferences::Observer::~Observer() { - Inkscape::XML::Node *node = _getNode(pref_key, true); - gchar intstr[32]; - g_snprintf(intstr, 32, "%d", value); - node->setAttribute(attr.data(), intstr); + // on destruction remove observer to prevent invalid references + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->removeObserver(*this); } -/** - * @brief Set a floating point attribute of a preference - * @param pref_key Key of the preference to modify - * @param attr Attribute to set - * @param value The new value of the pref attribute - */ -void Preferences::setDouble(Glib::ustring const &pref_key, Glib::ustring const &attr, double value) +void Preferences::PrefNodeObserver::notifyAttributeChanged(XML::Node &node, GQuark name, Util::ptr_shared, Util::ptr_shared new_value) { - Inkscape::XML::Node *node = _getNode(pref_key, true); - sp_repr_set_svg_double(node, attr.data(), value); - /* - gchar dblstr[32]; - g_snprintf(dblstr, 32, "%g", value); - node->setAttribute(attr, dblstr); - */ + // filter out attributes we don't watch + gchar const *attr_name = g_quark_to_string(name); + if ( !_filter.empty() && _filter != attr_name ) return; + + _ObserverData *d = static_cast<_ObserverData*>(Preferences::_get_pref_observer_data(_observer)); + Glib::ustring notify_path = _observer.observed_path; + + if (!d->_is_attr) { + std::vector path_fragments; + notify_path.reserve(256); // this will make appending operations faster + + // walk the XML tree, saving each of the id attributes in a vector + // we terminate when we hit the observer's attachment node, because the path to this node + // is already stored in notify_path + for (XML::NodeParentIterator n = &node; static_cast(n) != d->_node; ++n) + path_fragments.push_back(n->attribute("id")); + // assemble the elements into a path + for (std::vector::reverse_iterator i = path_fragments.rbegin(); i != path_fragments.rend(); ++i) { + notify_path.push_back('/'); + notify_path.append(*i); + } + + // append attribute name + notify_path.push_back('/'); + notify_path.append(attr_name); + } + + Entry const val = Preferences::_create_pref_value(notify_path, static_cast(new_value.pointer())); + _observer.notify(val); } /** - * @brief Set a string attribute of a preference - * @param pref_key Key of the preference to modify - * @param attr Attribute to set - * @param value The new value of the pref attribute + * @brief Find the XML node to observe */ -void Preferences::setString(Glib::ustring const &pref_key, Glib::ustring const &attr, Glib::ustring const &value) +XML::Node *Preferences::_findObserverNode(Glib::ustring const &pref_path, Glib::ustring &node_key, Glib::ustring &attr_key, bool create) +{ + // first assume that the last path element is an entry. + _keySplit(pref_path, node_key, attr_key); + + // find the node corresponding to the "directory". + Inkscape::XML::Node *node = _getNode(node_key, create), *child; + for (child = node->firstChild(); child; child = child->next()) { + // If there is a node with id corresponding to the attr key, + // this means that the last part of the path is actually a key (folder). + // Change values accordingly. + if (attr_key == child->attribute("id")) { + node = child; + attr_key = ""; + node_key = pref_path; + break; + } + } + return node; +} + +void Preferences::addObserver(Observer &o) +{ + // prevent adding the same observer twice + if ( _observer_map.find(&o) != _observer_map.end() ) return; + + Glib::ustring node_key, attr_key; + Inkscape::XML::Node *node; + node = _findObserverNode(o.observed_path, node_key, attr_key, false); + if (!node) return; + + // set additional data + _ObserverData *d = new _ObserverData; + d->_node = node; + d->_is_attr = !attr_key.empty(); + o._data = static_cast(d); + + _observer_map[&o] = new PrefNodeObserver(o, attr_key); + + // if we watch a single pref, we want to receive notifications only for a single node + if (d->_is_attr) { + node->addObserver( *(_observer_map[&o]) ); + } else { + node->addSubtreeObserver( *(_observer_map[&o]) ); + } +} + +void Preferences::removeObserver(Observer &o) { - Inkscape::XML::Node *node = _getNode(pref_key, true); - node->setAttribute(attr.data(), value.data()); + // prevent removing an observer which was not added + if ( _observer_map.find(&o) == _observer_map.end() ) return; + Inkscape::XML::Node *node = static_cast<_ObserverData*>(o._data)->_node; + delete static_cast<_ObserverData*>(o._data); + o._data = NULL; + + node->removeSubtreeObserver( *(_observer_map[&o]) ); + delete _observer_map[&o]; + _observer_map.erase(&o); } + /** * @brief Get the XML node corresponding to the given pref key * @param pref_key Preference key (path) to get * @param create Whether to create the corresponding node if it doesn't exist + * @param separator The character used to separate parts of the pref key * @return XML node corresponding to the specified key * - * The separator for key components is '.' (a dot). Derived from former - * inkscape_get_repr(). + * Derived from former inkscape_get_repr(). Private because it assumes that the backend is + * a flat XML file, which may not be the case e.g. if we are using GConf (in future). */ Inkscape::XML::Node *Preferences::_getNode(Glib::ustring const &pref_key, bool create) { - Inkscape::XML::Node *node = _prefs_doc->root(), *child = NULL; - gchar **splits = g_strsplit(pref_key.data(), ".", 0); - int part_i = 0; + // verify path + g_assert( pref_key.at(0) == '/' ); + g_assert( pref_key.find('.') == Glib::ustring::npos ); - while(splits[part_i]) { + Inkscape::XML::Node *node = _prefs_doc->root(), *child = NULL; + gchar **splits = g_strsplit(pref_key.data(), "/", 0); + + if ( splits == NULL ) return node; + + for (int part_i = 0; splits[part_i]; ++part_i) { + // skip empty path segments + if (!splits[part_i][0]) continue; + for (child = node->firstChild(); child; child = child->next()) if (!strcmp(splits[part_i], child->attribute("id"))) break; - + // If the previous loop found a matching key, child now contains the node // matching the processed key part. If no node was found then it is NULL. if (!child) { @@ -445,7 +503,7 @@ Inkscape::XML::Node *Preferences::_getNode(Glib::ustring const &pref_key, bool c child = node->document()->createElement("group"); child->setAttribute("id", splits[part_i]); node->appendChild(child); - + ++part_i; node = child; } @@ -456,13 +514,99 @@ Inkscape::XML::Node *Preferences::_getNode(Glib::ustring const &pref_key, bool c } } - ++part_i; node = child; } g_strfreev(splits); return node; } +void Preferences::_getRawValue(Glib::ustring const &path, gchar const *&result) +{ + // create node and attribute keys + Glib::ustring node_key, attr_key; + _keySplit(path, node_key, attr_key); + + // retrieve the attribute + Inkscape::XML::Node *node = _getNode(node_key, false); + if ( node == NULL ) { + result = NULL; + } else { + gchar const *attr = node->attribute(attr_key.data()); + if ( attr == NULL ) { + result = NULL; + } else { + result = attr; + } + } +} + +void Preferences::_setRawValue(Glib::ustring const &path, gchar const *value) +{ + // create node and attribute keys + Glib::ustring node_key, attr_key; + _keySplit(path, node_key, attr_key); + + // set the attribute + Inkscape::XML::Node *node = _getNode(node_key, true); + node->setAttribute(attr_key.data(), value); +} + +// The _extract* methods are where the actual wrok is done - they define how preferences are stored +// in the XML file. + +bool Preferences::_extractBool(Entry const &v) +{ + gchar const *s = static_cast(v._value); + if ( !s[0] || !strcmp(s, "0") || !strcmp(s, "false") ) return false; + return true; +} + +int Preferences::_extractInt(Entry const &v) +{ + gchar const *s = static_cast(v._value); + if ( !strcmp(s, "true") ) return true; + if ( !strcmp(s, "false") ) return false; + return atoi(s); +} + +double Preferences::_extractDouble(Entry const &v) +{ + gchar const *s = static_cast(v._value); + return g_ascii_strtod(s, NULL); +} + +Glib::ustring Preferences::_extractString(Entry const &v) +{ + return Glib::ustring(static_cast(v._value)); +} + +SPCSSAttr *Preferences::_extractStyle(Entry const &v) +{ + SPCSSAttr *style = sp_repr_css_attr_new(); + sp_repr_css_attr_add_from_string(style, static_cast(v._value)); + return style; +} + +SPCSSAttr *Preferences::_extractInheritedStyle(Entry const &v) +{ + // This is the dirtiest extraction method. Generally we ignore whatever was in v._value + // and just get the style using sp_repr_css_attr_inherited. To implement this in GConf, + // we'll have to walk up the tree and call sp_repr_css_attr_add_from_string + Glib::ustring node_key, attr_key; + _keySplit(v._pref_path, node_key, attr_key); + + Inkscape::XML::Node *node = _getNode(node_key, false); + return sp_repr_css_attr_inherited(node, attr_key.data()); +} + +// XML backend helper: Split the path into a node key and an attribute key. +void Preferences::_keySplit(Glib::ustring const &pref_path, Glib::ustring &node_key, Glib::ustring &attr_key) +{ + // everything after the last slash + attr_key = pref_path.substr(pref_path.rfind('/') + 1, Glib::ustring::npos); + // everything before the last slash + node_key = pref_path.substr(0, pref_path.rfind('/')); +} void Preferences::_errorDialog(Glib::ustring const &msg, Glib::ustring const &secondary) { @@ -477,12 +621,17 @@ void Preferences::_errorDialog(Glib::ustring const &msg, Glib::ustring const &se } } +Preferences::Entry const Preferences::_create_pref_value(Glib::ustring const &path, void const *ptr) +{ + return Entry(path, ptr); +} + bool Preferences::use_gui = true; Preferences *Preferences::_instance = NULL; } // namespace Inkscape - + /* Local Variables: mode:c++ diff --git a/src/preferences.h b/src/preferences.h index b2a56308c..e39adc228 100644 --- a/src/preferences.h +++ b/src/preferences.h @@ -14,72 +14,387 @@ #include #include +#include +#include #include #include #include "xml/xml-forward.h" +class SPCSSAttr; + namespace Inkscape { /** * @brief Preference storage class * * This is a singleton that allows one to access the user preferences stored in - * the preferences.xml file. The preferences are stored in a tree hierarchy. - * Each preference is identified by its key, and sections of the key - * corresponding to the levels of the hierarchy are delimited with dots. - * Preferences are generally typeless - it's up to the programmer to ensure - * that a given preference is always accessed as the correct type. + * the preferences.xml file. The preferences are stored in a file system-like + * hierarchy. They are generally typeless - it's up to the programmer to ensure + * that a given preference is always accessed as the correct type. The backend + * is not guaranteed to be tolerant to type mismatches. + * + * Preferences are identified by paths similar to file system paths. Components + * of the path are separated by a slash (/). As an additional requirement, + * the path must start with a slash, and not contain a trailing slash. + * An example of a correct path would be "/options/some_group/some_option". * * All preferences are loaded when the first singleton pointer is requested, * or when the static load() method is called. Before loading, the static * variable @c use_gui should be set accordingly. To save the preferences, * the method save() or the static function unload() can be used. * - * In future, this could be a virtual base from which specific backends - * derive (e.g. GConf, Windows registry, flat XML file...) + * In future, this will be a virtual base from which specific backends + * derive (e.g. GConf, flat XML file...) */ class Preferences { public: + // ############################# + // ## inner class definitions ## + // ############################# + + class Entry; + class Observer; + + /** + * @brief Base class for preference observers + * + * If you want to watch for changes in the preferences, you'll have to + * derive a class from this one and override the notify() method. + */ + class Observer { + friend class Preferences; + public: + /** + * @brief Constructor. + * + * Since each Observer is assigned to a single path, the base + * constructor takes this path as an argument. This prevents one from + * adding a single observer to multiple paths, but this is intentional + * to simplify the implementation of observers and notifications. + * + * After you add the object with Preferences::addObserver(), you will + * receive notifications for everything below the attachment point. + * You can also specify a single preference as the watch point. + * For example, watching the directory "/foo" will give you notifications + * about "/foo/some_pref" as well as "/foo/some_dir/other_pref". + * Watching the preference "/options/some_group/some_option" will only + * generate notifications when this single preference changes. + * + * @param path Preference path the observer should watch + */ + Observer(Glib::ustring const &path); + virtual ~Observer(); + /** + * @brief Notification about a preference change + * @param new_val Entry object containing information about + * the modified preference + */ + virtual void notify(Preferences::Entry const &new_val) = 0; + + Glib::ustring const observed_path; ///< Path which the observer watches + private: + void *_data; ///< additional data used by the implementation while the observer is active + }; + + + /** + * @brief Data type representing a typeless value of a preference + * + * This is passed to the observer in the notify() method. + * To retrieve useful data from it, use its member functions. Setting + * any preference using the Preferences class invalidates this object, + * so use its get methods before doing so. + */ + class Entry { + friend class Preferences; // Preferences class has to access _value + public: + ~Entry() {} + Entry(Entry const &other) : _pref_path(other._pref_path), _value(other._value) {} + /** + * @brief Check whether the received entry is valid. + * @return If false, the default value will be returned by the getters. + */ + bool isValid() const { return _value != NULL; } + + /** + * @brief Interpret the preference as a Boolean value. + * @param def Default value if the preference is not set + */ + inline bool getBool(bool def=false) const; + /** + * @brief Interpret the preference as an integer. + * @param def Default value if the preference is not set + */ + inline int getInt(int def=0) const; + /** + * @brief Interpret the preference as a limited integer. + * + * This method will return the default value if the interpreted value is + * larger than @c max or smaller than @c min. Do not use to store + * Boolean values as integers. + * + * @param def Default value if the preference is not set + * @param min Minimum value allowed to return + * @param max Maximum value allowed to return + */ + inline int getIntLimited(int def=0, int min=INT_MIN, int max=INT_MAX) const; + /** + * @brief Interpret the preference as a floating point value. + * @param def Default value if the preference is not set + */ + inline double getDouble(double def=0.0) const; + /** + * @brief Interpret the preference as a limited floating point value. + * + * This method will return the default value if the interpreted value is + * larger than @c max or smaller than @c min. + * + * @param def Default value if the preference is not set + * @param min Minimum value allowed to return + * @param max Maximum value allowed to return + */ + inline double getDoubleLimited(double def=0.0, double min=DBL_MIN, double max=DBL_MAX) const; + /** + * @brief Interpret the preference as an UTF-8 string. + * + * To store a filename, convert it using Glib::filename_to_utf8(). + */ + inline Glib::ustring getString() const; + /** + * @brief Interpret the preference as a CSS style. + * @return A CSS style that has to be unrefed when no longer necessary. + */ + inline SPCSSAttr *getStyle() const; + /** + * @brief Interpret the preference as a CSS style with directory-based + * inheritance + * + * This function will look up the preferences with the same entry name + * in ancestor directories and return the inherited CSS style. + * + * @return Inherited CSS style that has to be unrefed after use. + */ + inline SPCSSAttr *getInheritedStyle() const; + + /** + * @brief Get the full path of the preference described by this Entry. + */ + Glib::ustring const &getPath() const { return _pref_path; } + /** + * @brief Get the last component of the preference's path + * + * E.g. For "/options/some_group/some_option" it will return "some_option". + */ + Glib::ustring getEntryName() const; + private: + Entry(Glib::ustring const &path, void const *v) : _pref_path(path), _value(v) {} + + Glib::ustring _pref_path; + void const *_value; + }; + // utility methods + + /** + * @name Save preferences to the disk. + * @{ + */ + + /** + * @brief Save all preferences to the hard disk. + * + * For some backends, the preferences may be saved as they are modified. + * Not calling this method doesn't guarantee the preferences are unmodified + * the next time Inkscape runs. + */ void save(); + /** + * @brief Check whether saving the preferences will have any effect. + */ bool isWritable() { return _writable; } + /*@}*/ + + /** + * @name Iterate over directories and entries. + * @{ + */ + + /** + * @brief Get all entries from the specified directory + * + * This method will return a vector populated with preference entries + * from the specified directory. Subdirectories will not be represented. + */ + std::vector getAllEntries(Glib::ustring const &path); + /** + * @brief Get all subdirectories of the specified directory + * + * This will return a vector populated with full paths to the subdirectories + * present in the specified @c path. + */ + std::vector getAllDirs(Glib::ustring const &path); + /*@}*/ - // some helpers - bool exists(Glib::ustring const &pref_key); - unsigned int childCount(Glib::ustring const &pref_key); - Glib::ustring getNthChild(Glib::ustring const &father_path, unsigned int n); - bool create(Glib::ustring const &pref_key); - - // getter methods - // Note that default values supplied as arguments are last-chance, - // and are overridden by those in preferences-defaults.h - bool getBool(Glib::ustring const &pref_path, Glib::ustring const &attr, bool def=false); - int getInt(Glib::ustring const &pref_path, Glib::ustring const &attr, int def=0); - int getIntLimited(Glib::ustring const &pref_path, Glib::ustring const &attr, int def=0, int min=INT_MIN, int max=INT_MAX); - double getDouble(Glib::ustring const &pref_path, Glib::ustring const &attr, double def=0.0); - double getDoubleLimited(Glib::ustring const &pref_path, Glib::ustring const &attr, double def=0.0, double min=DBL_MIN, double max=DBL_MAX); - Glib::ustring getString(Glib::ustring const &pref_path, Glib::ustring const &attr); - - // setter methods - void setBool(Glib::ustring const &pref_path, Glib::ustring const &attr, bool value); - void setInt(Glib::ustring const &pref_path, Glib::ustring const &attr, int value); - void setDouble(Glib::ustring const &pref_path, Glib::ustring const &attr, double value); - void setString(Glib::ustring const &pref_path, Glib::ustring const &attr, Glib::ustring const &value); - - // do not use this - it is only temporarily public to ease porting old code to this class - XML::Node *_getNode(Glib::ustring const &pref_path, bool create=false); + /** + * @name Retrieve data from the preference storage. + * @{ + */ + /** + * @brief Retrieve a Boolean value + * @param pref_path Path to the retrieved preference + * @param def The default value to return if the preference is not set + */ + bool getBool(Glib::ustring const &pref_path, bool def=false) { + return getEntry(pref_path).getBool(def); + } + /** + * @brief Retrieve an integer + * @param pref_path Path to the retrieved preference + * @param def The default value to return if the preference is not set + */ + int getInt(Glib::ustring const &pref_path, int def=0) { + return getEntry(pref_path).getInt(def); + } + /** + * @brief Retrieve a limited integer + * + * The default value is returned if the actual value is larger than @c max + * or smaller than @c min. Do not use to store Boolean values. + * + * @param pref_path Path to the retrieved preference + * @param def The default value to return if the preference is not set + * @param min Minimum value to return + * @param max Maximum value to return + */ + int getIntLimited(Glib::ustring const &pref_path, int def=0, int min=INT_MIN, int max=INT_MAX) { + return getEntry(pref_path).getIntLimited(def, min, max); + } + double getDouble(Glib::ustring const &pref_path, double def=0.0) { + return getEntry(pref_path).getDouble(def); + } + /** + * @brief Retrieve a limited floating point value + * + * The default value is returned if the actual value is larger than @c max + * or smaller than @c min. + * + * @param pref_path Path to the retrieved preference + * @param def The default value to return if the preference is not set + * @param min Minimum value to return + * @param max Maximum value to return + */ + double getDoubleLimited(Glib::ustring const &pref_path, double def=0.0, double min=DBL_MIN, double max=DBL_MAX) { + return getEntry(pref_path).getDoubleLimited(def, min, max); + } + /** + * @brief Retrieve an UTF-8 string + * @param pref_path Path to the retrieved preference + */ + Glib::ustring getString(Glib::ustring const &pref_path) { + return getEntry(pref_path).getString(); + } + /** + * @brief Retrieve a CSS style + * @param pref_path Path to the retrieved preference + * @return A CSS style that has to be unrefed after use. + */ + SPCSSAttr *getStyle(Glib::ustring const &pref_path) { + return getEntry(pref_path).getStyle(); + } + /** + * @brief Retrieve an inherited CSS style + * + * This method will look up preferences with the same entry name in ancestor + * directories and return a style obtained by inheriting properties from + * ancestor styles. + * + * @param pref_path Path to the retrieved preference + * @return An inherited CSS style that has to be unrefed after use. + */ + SPCSSAttr *getInheritedStyle(Glib::ustring const &pref_path) { + return getEntry(pref_path).getInheritedStyle(); + } + /** + * @brief Retrieve a preference entry without specifying its type + */ + Entry const getEntry(Glib::ustring const &pref_path); + /*@}*/ - // used for some obscure purpose in sp_desktop_widget_init - void addPrefsObserver(XML::NodeObserver *observer); + /** + * @name Update preference values. + * @{ + */ - // singleton accessor + /** + * @brief Set a Boolean value + */ + void setBool(Glib::ustring const &pref_path, bool value); + /** + * @brief Set an integer value + */ + void setInt(Glib::ustring const &pref_path, int value); + /** + * @brief Set a floating point value + */ + void setDouble(Glib::ustring const &pref_path, double value); + /** + * @brief Set an UTF-8 string value + */ + void setString(Glib::ustring const &pref_path, Glib::ustring const &value); + /** + * @brief Set a CSS style + */ + void setStyle(Glib::ustring const &pref_path, SPCSSAttr *style); + /** + * @brief Merge a CSS style with the current preference value + * + * This method is similar to setStyle(), except that it merges the style + * rather than replacing it. This means that if @c style doesn't have + * a property set, it is left unchanged in the style stored in + * the preferences. + */ + void mergeStyle(Glib::ustring const &pref_path, SPCSSAttr *style); + /*@}*/ + + /** + * @name Receive notifications about preference changes. + * @{ + */ + /** + * @brief Register a preference observer + */ + void addObserver(Observer &); + /** + * @brief Remove an observer an prevent further notifications to it. + */ + void removeObserver(Observer &); + /*@}*/ + + /** + * @name Access and manipulate the Preferences object. + */ + + /** + * @brief Access the singleton Preferences object. + */ static Preferences *get() { if (!_instance) _instance = new Preferences(); return _instance; } + /** + * @brief Load the preferences. + * + * This method is automatically called from get(). It exists to supress + * possible compiler warnings over unused variables. + */ static void load() { if (!_instance) _instance = new Preferences(); } + /** + * @brief Unload all preferences and store them on the hard disk. + * + * This deletes the singleton object. Calling get() after this function is + */ static void unload() { if(_instance) { @@ -87,15 +402,40 @@ public: _instance = NULL; } } - // this is a static member to reduce dependency bloat for this class - static bool use_gui; ///< Whether to use GUI error notifications + + /** + * @brief Whether to use GUI error notifications + * + * Set this to false when running Inkscape in command-line mode. + * Preference-related warnings will be printed to the console. + */ + static bool use_gui; + /*@}*/ + +protected: + /* helper methods used by Entry + * This will enable using the same Entry class with different backends. + * For now, however, those methods are not virtual. These methods assume + * that v._value is not NULL + */ + bool _extractBool(Entry const &v); + int _extractInt(Entry const &v); + double _extractDouble(Entry const &v); + Glib::ustring _extractString(Entry const &v); + SPCSSAttr *_extractStyle(Entry const &v); + SPCSSAttr *_extractInheritedStyle(Entry const &v); private: Preferences(); ~Preferences(); void _load(); void _loadDefaults(); + void _getRawValue(Glib::ustring const &path, gchar const *&result); + void _setRawValue(Glib::ustring const &path, gchar const *value); void _errorDialog(Glib::ustring const &, Glib::ustring const &); + void _keySplit(Glib::ustring const &pref_path, Glib::ustring &node_key, Glib::ustring &attr_key); + XML::Node *_getNode(Glib::ustring const &pref_path, bool create=false); + XML::Node *_findObserverNode(Glib::ustring const &pref_path, Glib::ustring &node_key, Glib::ustring &attr_key, bool create); // disable copying Preferences(Preferences const &); @@ -107,9 +447,86 @@ private: bool _writable; ///< Will the preferences be saved at exit? XML::Document *_prefs_doc; ///< XML document storing all the preferences + /// Wrapper class for XML node observers + class PrefNodeObserver; + + typedef std::map _ObsMap; + /// Map that keeps track of wrappers assigned to PrefObservers + _ObsMap _observer_map; + + // privilege escalation methods for PrefNodeObserver + static Entry const _create_pref_value(Glib::ustring const &, void const *ptr); + static void *_get_pref_observer_data(Observer &o) { return o._data; } + static Preferences *_instance; + +friend class PrefNodeObserver; +friend class Entry; }; +/* Trivial inline Preferences::Entry functions. + * In fact only the _extract* methods do something, the rest is delegation + * to avoid duplication of code. There should be no performance hit if + * compiled with -finline-functions. + */ + +inline bool Preferences::Entry::getBool(bool def) const +{ + if (!this->isValid()) return def; + return Inkscape::Preferences::get()->_extractBool(*this); +} + +inline int Preferences::Entry::getInt(int def) const +{ + if (!this->isValid()) return def; + return Inkscape::Preferences::get()->_extractInt(*this); +} + +inline int Preferences::Entry::getIntLimited(int def, int min, int max) const +{ + if (!this->isValid()) return def; + int val = Inkscape::Preferences::get()->_extractInt(*this); + return ( val >= min && val <= max ? val : def ); +} + +inline double Preferences::Entry::getDouble(double def) const +{ + if (!this->isValid()) return def; + return Inkscape::Preferences::get()->_extractDouble(*this); +} + +inline double Preferences::Entry::getDoubleLimited(double def, double min, double max) const +{ + if (!this->isValid()) return def; + double val = Inkscape::Preferences::get()->_extractDouble(*this); + return ( val >= min && val <= max ? val : def ); +} + +inline Glib::ustring Preferences::Entry::getString() const +{ + if (!this->isValid()) return ""; + return Inkscape::Preferences::get()->_extractString(*this); +} + +inline SPCSSAttr *Preferences::Entry::getStyle() const +{ + if (!this->isValid()) return NULL; + return Inkscape::Preferences::get()->_extractStyle(*this); +} + +inline SPCSSAttr *Preferences::Entry::getInheritedStyle() const +{ + if (!this->isValid()) return NULL; + return Inkscape::Preferences::get()->_extractInheritedStyle(*this); +} + +inline Glib::ustring Preferences::Entry::getEntryName() const +{ + Glib::ustring path_base = _pref_path; + path_base.erase(0, path_base.rfind('/') + 1); + return path_base; +} + } // namespace Inkscape #endif // INKSCAPE_PREFSTORE_H diff --git a/src/prefs-utils.cpp b/src/prefs-utils.cpp deleted file mode 100644 index 004626ac6..000000000 --- a/src/prefs-utils.cpp +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Utility functions for reading and setting preferences - * - * Authors: - * bulia byak - * - * Copyright (C) 2003 authors - * - * Released under GNU GPL, read the file 'COPYING' for more information - */ - - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include "prefs-utils.h" -#include "inkscape.h" -#include "xml/repr.h" - - -void -prefs_set_recent_file(gchar const *uri, gchar const *name) -{ - unsigned const max_documents = prefs_get_int_attribute("options.maxrecentdocuments", "value", 20); - - if (uri != NULL) { - Inkscape::XML::Node *recent = inkscape_get_repr(INKSCAPE, "documents.recent"); - if (recent) { - // remove excess recent files - if (recent->childCount() >= max_documents) { - Inkscape::XML::Node *child = recent->firstChild(); - // count to the last - for (unsigned i = 0; child && i + 1 < max_documents; ++i) { - child = child->next(); - } - // remove all after the last - while (child) { - Inkscape::XML::Node *next = child->next(); - sp_repr_unparent(child); - child = next; - } - } - - if (max_documents > 0) { - Inkscape::XML::Node *child = sp_repr_lookup_child(recent, "uri", uri); - if (child) { - recent->changeOrder(child, NULL); - } else { - child = recent->document()->createElement("document"); - child->setAttribute("uri", uri); - recent->addChild(child, NULL); - } - child->setAttribute("name", name); - } - } - } -} - -gchar const ** -prefs_get_recent_files() -{ - Inkscape::XML::Node *recent = inkscape_get_repr(INKSCAPE, "documents.recent"); - if (recent) { - unsigned const docs = recent->childCount(); - gchar const **datalst = (gchar const **) g_malloc(sizeof(gchar *) * ((docs * 2) + 1)); - - gint i; - Inkscape::XML::Node *child; - for (i = 0, child = recent->firstChild(); - child != NULL; - child = child->next(), i += 2) - { - gchar const *uri = child->attribute("uri"); - gchar const *name = child->attribute("name"); - datalst[i] = uri; - datalst[i + 1] = name; - } - - datalst[i] = NULL; - return datalst; - } - - return NULL; -} - -/* - Local Variables: - mode:c++ - c-file-style:"stroustrup" - c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) - indent-tabs-mode:nil - fill-column:99 - End: -*/ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/prefs-utils.h b/src/prefs-utils.h deleted file mode 100644 index 60eb694b5..000000000 --- a/src/prefs-utils.h +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Utility functions for reading and setting preferences - * - * Authors: - * bulia byak - * - * Copyright (C) 2003 authors - * - * Released under GNU GPL, read the file 'COPYING' for more information - */ - -#ifndef SEEN_PREFS_UTILS_H -#define SEEN_PREFS_UTILS_H - -#include -#include -#include "preferences.h" - -inline bool pref_path_exists(gchar const *path){ - Inkscape::Preferences *ps = Inkscape::Preferences::get(); - return ps->exists(path); -} - -inline unsigned pref_path_number_of_children(gchar const *path){ - Inkscape::Preferences *ps = Inkscape::Preferences::get(); - return ps->childCount(path); -} - -inline void -prefs_set_int_attribute(gchar const *path, gchar const *attr, long long int value) -{ - Inkscape::Preferences *ps = Inkscape::Preferences::get(); - ps->setInt(path, attr, value); -} - -inline int -prefs_get_int_attribute(gchar const *path, gchar const *attr, long long int def) -{ - Inkscape::Preferences *ps = Inkscape::Preferences::get(); - return ps->getInt(path, attr, def); -} - -inline int -prefs_get_int_attribute_limited(gchar const *path, gchar const *attr, long long int def, long long int min, long long int max) -{ - Inkscape::Preferences *ps = Inkscape::Preferences::get(); - return ps->getIntLimited(path, attr, def, min, max); -} - -inline void -prefs_set_double_attribute(gchar const *path, gchar const *attr, double value) -{ - Inkscape::Preferences *ps = Inkscape::Preferences::get(); - ps->setDouble(path, attr, value); -} - -inline double -prefs_get_double_attribute(gchar const *path, gchar const *attr, double def) -{ - Inkscape::Preferences *ps = Inkscape::Preferences::get(); - return ps->getDouble(path, attr, def); -} - -inline double -prefs_get_double_attribute_limited(gchar const *path, gchar const *attr, double def, double min, double max) -{ - Inkscape::Preferences *ps = Inkscape::Preferences::get(); - return ps->getDoubleLimited(path, attr, def, min, max); -} - -inline void -prefs_set_string_attribute(gchar const *path, gchar const *attr, gchar const *value) -{ - Inkscape::Preferences *ps = Inkscape::Preferences::get(); - ps->setString(path, attr, value); -} - -/// @todo Reimplement using Gtk::RecentManager -void prefs_set_recent_file(const gchar * uri, const gchar * name); -const gchar ** prefs_get_recent_files(void); - -#endif /* !SEEN_PREFS_UTILS_H */ - -/* - Local Variables: - mode:c++ - c-file-style:"stroustrup" - c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) - indent-tabs-mode:nil - fill-column:99 - End: -*/ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/rect-context.cpp b/src/rect-context.cpp index 56d74d901..93e7e8470 100644 --- a/src/rect-context.cpp +++ b/src/rect-context.cpp @@ -39,7 +39,7 @@ #include "object-edit.h" #include "xml/repr.h" #include "xml/node-event-vector.h" -#include "prefs-utils.h" +#include "preferences.h" #include "context-fns.h" //static const double goldenratio = 1.61803398874989484820; // golden ratio @@ -49,7 +49,7 @@ static void sp_rect_context_init(SPRectContext *rect_context); static void sp_rect_context_dispose(GObject *object); static void sp_rect_context_setup(SPEventContext *ec); -static void sp_rect_context_set(SPEventContext *ec, gchar const *key, gchar const *val); +static void sp_rect_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val); static gint sp_rect_context_root_handler(SPEventContext *event_context, GdkEvent *event); static gint sp_rect_context_item_handler(SPEventContext *event_context, SPItem *item, GdkEvent *event); @@ -218,31 +218,29 @@ static void sp_rect_context_setup(SPEventContext *ec) sp_event_context_read(ec, "rx"); sp_event_context_read(ec, "ry"); - if (prefs_get_int_attribute("tools.shapes", "selcue", 0) != 0) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/tools/shapes/selcue")) { ec->enableSelectionCue(); } - if (prefs_get_int_attribute("tools.shapes", "gradientdrag", 0) != 0) { + if (prefs->getBool("/tools/shapes/gradientdrag")) { ec->enableGrDrag(); } rc->_message_context = new Inkscape::MessageContext((ec->desktop)->messageStack()); } -static void sp_rect_context_set(SPEventContext *ec, gchar const *key, gchar const *val) +static void sp_rect_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val) { SPRectContext *rc = SP_RECT_CONTEXT(ec); /* fixme: Proper error handling for non-numeric data. Use a locale-independent function like * g_ascii_strtod (or a thin wrapper that does the right thing for invalid values inf/nan). */ - if ( strcmp(key, "rx") == 0 ) { - rc->rx = ( val - ? g_ascii_strtod (val, NULL) - : 0.0 ); - } else if ( strcmp(key, "ry") == 0 ) { - rc->ry = ( val - ? g_ascii_strtod (val, NULL) - : 0.0 ); + Glib::ustring name = val->getEntryName(); + if ( name == "rx" ) { + rc->rx = val->getDoubleLimited(); // prevents NaN and +/-Inf from messing up + } else if ( name == "ry" ) { + rc->ry = val->getDoubleLimited(); } } @@ -279,8 +277,9 @@ static gint sp_rect_context_root_handler(SPEventContext *event_context, GdkEvent Inkscape::Selection *selection = sp_desktop_selection (desktop); SPRectContext *rc = SP_RECT_CONTEXT(event_context); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - event_context->tolerance = prefs_get_int_attribute_limited("options.dragtolerance", "value", 0, 0, 100); + event_context->tolerance = prefs->getIntLimited("/options/dragtolerance/value", 0, 0, 100); gint ret = FALSE; switch (event->type) { @@ -306,7 +305,7 @@ static gint sp_rect_context_root_handler(SPEventContext *event_context, GdkEvent /* Snap center */ SnapManager &m = desktop->namedview->snap_manager; m.setup(desktop); - m.freeSnapReturnByRef(Inkscape::Snapper::SNAPPOINT_NODE, button_dt); + m.freeSnapReturnByRef(Inkscape::SnapPreferences::SNAPPOINT_NODE, button_dt); rc->center = from_2geom(button_dt); sp_canvas_item_grab(SP_CANVAS_ITEM(desktop->acetate), @@ -476,7 +475,7 @@ static void sp_rect_drag(SPRectContext &rc, NR::Point const pt, guint state) Inkscape::XML::Node *repr = xml_doc->createElement("svg:rect"); /* Set style */ - sp_desktop_apply_style_tool (desktop, repr, "tools.shapes.rect", false); + sp_desktop_apply_style_tool (desktop, repr, "/tools/shapes/rect", false); rc.item = (SPItem *) desktop->currentLayer()->appendChildRepr(repr); Inkscape::GC::release(repr); diff --git a/src/selcue.cpp b/src/selcue.cpp index 661f0a2e4..241802a87 100644 --- a/src/selcue.cpp +++ b/src/selcue.cpp @@ -23,7 +23,7 @@ #include "text-editing.h" #include "sp-text.h" #include "sp-flowtext.h" -#include "prefs-utils.h" +#include "preferences.h" #include "selcue.h" Inkscape::SelCue::SelCue(SPDesktop *desktop) @@ -70,15 +70,16 @@ void Inkscape::SelCue::_updateItemBboxes() } _text_baselines.clear(); - gint mode = prefs_get_int_attribute ("options.selcue", "value", MARK); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + gint mode = prefs->getInt("/options/selcue/value", MARK); if (mode == NONE) { return; } g_return_if_fail(_selection != NULL); - int prefs_bbox = prefs_get_int_attribute("tools", "bounding_box", 0); - SPItem::BBoxType bbox_type = (prefs_bbox ==0)? + int prefs_bbox = prefs->getBool("/tools/bounding_box"); + SPItem::BBoxType bbox_type = !prefs_bbox ? SPItem::APPROXIMATE_BBOX : SPItem::GEOMETRIC_BBOX; for (GSList const *l = _selection->itemList(); l != NULL; l = l->next) { diff --git a/src/select-context.cpp b/src/select-context.cpp index 374bf0810..b726243f9 100644 --- a/src/select-context.cpp +++ b/src/select-context.cpp @@ -35,7 +35,7 @@ #include "desktop.h" #include "desktop-handles.h" #include "sp-root.h" -#include "prefs-utils.h" +#include "preferences.h" #include "tools-switch.h" #include "message-stack.h" #include "selection-describer.h" @@ -47,7 +47,7 @@ static void sp_select_context_init(SPSelectContext *select_context); static void sp_select_context_dispose(GObject *object); static void sp_select_context_setup(SPEventContext *ec); -static void sp_select_context_set(SPEventContext *ec, gchar const *key, gchar const *val); +static void sp_select_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val); static gint sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event); static gint sp_select_context_item_handler(SPEventContext *event_context, SPItem *item, GdkEvent *event); @@ -179,18 +179,20 @@ sp_select_context_setup(SPEventContext *ec) sp_event_context_read(ec, "show"); sp_event_context_read(ec, "transform"); - if (prefs_get_int_attribute("tools.select", "gradientdrag", 0) != 0) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/tools/select/gradientdrag")) { ec->enableGrDrag(); } } static void -sp_select_context_set(SPEventContext *ec, gchar const *key, gchar const *val) +sp_select_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val) { SPSelectContext *sc = SP_SELECT_CONTEXT(ec); + Glib::ustring path = val->getEntryName(); - if (!strcmp(key, "show")) { - if (val && !strcmp(val, "outline")) { + if (path == "show") { + if (val->getString() == "outline") { sc->_seltrans->setShow(Inkscape::SelTrans::SHOW_OUTLINE); } else { sc->_seltrans->setShow(Inkscape::SelTrans::SHOW_CONTENT); @@ -293,7 +295,8 @@ sp_select_context_item_handler(SPEventContext *event_context, SPItem *item, GdkE SPSelectContext *sc = SP_SELECT_CONTEXT(event_context); Inkscape::SelTrans *seltrans = sc->_seltrans; - tolerance = prefs_get_int_attribute_limited("options.dragtolerance", "value", 0, 0, 100); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + tolerance = prefs->getIntLimited("/options/dragtolerance/value", 0, 0, 100); // make sure we still have valid objects to move around if (sc->item && SP_OBJECT_DOCUMENT( SP_OBJECT(sc->item))==NULL) { @@ -400,10 +403,12 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event) SPSelectContext *sc = SP_SELECT_CONTEXT(event_context); Inkscape::SelTrans *seltrans = sc->_seltrans; Inkscape::Selection *selection = sp_desktop_selection(desktop); - gdouble const nudge = prefs_get_double_attribute_limited("options.nudgedistance", "value", 2, 0, 1000); // in px - gdouble const offset = prefs_get_double_attribute_limited("options.defaultscale", "value", 2, 0, 1000); - tolerance = prefs_get_int_attribute_limited("options.dragtolerance", "value", 0, 0, 100); - int const snaps = prefs_get_int_attribute("options.rotationsnapsperpi", "value", 12); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + + gdouble const nudge = prefs->getDoubleLimited("/options/nudgedistance/value", 2, 0, 1000); // in px + gdouble const offset = prefs->getDoubleLimited("/options/defaultscale/value", 2, 0, 1000); + tolerance = prefs->getIntLimited("/options/dragtolerance/value", 0, 0, 100); + int const snaps = prefs->getInt("/options/rotationsnapsperpi/value", 12); // make sure we still have valid objects to move around if (sc->item && SP_OBJECT_DOCUMENT( SP_OBJECT(sc->item))==NULL) { diff --git a/src/selection-chemistry.cpp b/src/selection-chemistry.cpp index d58f7ff25..08449720d 100644 --- a/src/selection-chemistry.cpp +++ b/src/selection-chemistry.cpp @@ -260,7 +260,7 @@ void sp_selection_duplicate(SPDesktop *desktop, bool suppressDone) std::vector old_ids; std::vector new_ids; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - bool relink_clones = prefs->getBool("options.relinkclonesonduplicate", "value"); + bool relink_clones = prefs->getBool("/options/relinkclonesonduplicate/value"); while (reprs) { Inkscape::XML::Node *old_repr = (Inkscape::XML::Node *) reprs->data; @@ -368,9 +368,9 @@ void sp_edit_select_all_full (SPDesktop *dt, bool force_all_layers, bool invert) g_return_if_fail(SP_IS_GROUP(dt->currentLayer())); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - PrefsSelectionContext inlayer = (PrefsSelectionContext) prefs->getInt("options.kbselection", "inlayer", PREFS_SELECTION_LAYER); - bool onlyvisible = prefs->getBool("options.kbselection", "onlyvisible", true); - bool onlysensitive = prefs->getBool("options.kbselection", "onlysensitive", true); + PrefsSelectionContext inlayer = (PrefsSelectionContext) prefs->getInt("/options/kbselection/inlayer", PREFS_SELECTION_LAYER); + bool onlyvisible = prefs->getBool("/options/kbselection/onlyvisible", true); + bool onlysensitive = prefs->getBool("/options/kbselection/onlysensitive", true); GSList *items = NULL; @@ -1182,7 +1182,7 @@ void sp_selection_apply_affine(Inkscape::Selection *selection, Geom::Matrix cons // "clones are unmoved when original is moved" preference Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - int compensation = prefs->getInt("options.clonecompensation", "value", SP_CLONE_COMPENSATION_UNMOVED); + int compensation = prefs->getInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED); bool prefs_unmoved = (compensation == SP_CLONE_COMPENSATION_UNMOVED); bool prefs_parallel = (compensation == SP_CLONE_COMPENSATION_PARALLEL); @@ -1610,9 +1610,9 @@ sp_selection_item_next(SPDesktop *desktop) Inkscape::Selection *selection = sp_desktop_selection(desktop); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - PrefsSelectionContext inlayer = (PrefsSelectionContext)prefs->getInt("options.kbselection", "inlayer", PREFS_SELECTION_LAYER); - bool onlyvisible = prefs->getBool("options.kbselection", "onlyvisible", true); - bool onlysensitive = prefs->getBool("options.kbselection", "onlysensitive", true); + PrefsSelectionContext inlayer = (PrefsSelectionContext)prefs->getInt("/options/kbselection/inlayer", PREFS_SELECTION_LAYER); + bool onlyvisible = prefs->getBool("/options/kbselection/onlyvisible", true); + bool onlysensitive = prefs->getBool("/options/kbselection/onlysensitive", true); SPObject *root; if (PREFS_SELECTION_ALL != inlayer) { @@ -1640,9 +1640,9 @@ sp_selection_item_prev(SPDesktop *desktop) Inkscape::Selection *selection = sp_desktop_selection(desktop); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - PrefsSelectionContext inlayer = (PrefsSelectionContext) prefs->getInt("options.kbselection", "inlayer", PREFS_SELECTION_LAYER); - bool onlyvisible = prefs->getBool("options.kbselection", "onlyvisible", true); - bool onlysensitive = prefs->getBool("options.kbselection", "onlysensitive", true); + PrefsSelectionContext inlayer = (PrefsSelectionContext) prefs->getInt("/options/kbselection/inlayer", PREFS_SELECTION_LAYER); + bool onlyvisible = prefs->getBool("/options/kbselection/onlyvisible", true); + bool onlysensitive = prefs->getBool("/options/kbselection/onlysensitive", true); SPObject *root; if (PREFS_SELECTION_ALL != inlayer) { @@ -1710,8 +1710,8 @@ void sp_selection_edit_clip_or_mask(SPDesktop * dt, bool clip) // take colors from prefs (same as used in outline mode) Inkscape::Preferences *prefs = Inkscape::Preferences::get(); np->helperpath_rgba = clip ? - prefs->getInt("options.wireframecolors", "clips", 0x00ff00ff) : - prefs->getInt("options.wireframecolors", "masks", 0x0000ffff); + prefs->getInt("/options/wireframecolors/clips", 0x00ff00ff) : + prefs->getInt("/options/wireframecolors/masks", 0x0000ffff); np->helperpath_width = 1.0; sp_nodepath_show_helperpath(np, true); } @@ -2044,7 +2044,7 @@ sp_select_clone_original(SPDesktop *desktop) if (original) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - bool highlight = prefs->getBool("options.highlightoriginal", "value"); + bool highlight = prefs->getBool("/options/highlightoriginal/value"); if (highlight) { boost::optional a = item->getBounds(sp_item_i2d_affine(item)); boost::optional b = original->getBounds(sp_item_i2d_affine(original)); @@ -2119,7 +2119,7 @@ void sp_selection_to_marker(SPDesktop *desktop, bool apply) repr_copies = g_slist_prepend (repr_copies, dup); } - NR::Rect bounds(desktop->dt2doc(r->min()), desktop->dt2doc(r->max())); + Geom::Rect bounds(desktop->dt2doc(r->min()), desktop->dt2doc(r->max())); if (apply) { // delete objects so that their clones don't get alerted; this object will be restored shortly @@ -2133,8 +2133,8 @@ void sp_selection_to_marker(SPDesktop *desktop, bool apply) // without disturbing clones. // See ActorAlign::on_button_click() in src/ui/dialog/align-and-distribute.cpp Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - int saved_compensation = prefs->getInt("options.clonecompensation", "value", SP_CLONE_COMPENSATION_UNMOVED); - prefs->setInt("options.clonecompensation", "value", SP_CLONE_COMPENSATION_UNMOVED); + int saved_compensation = prefs->getInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED); + prefs->setInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED); gchar const *mark_id = generate_marker(repr_copies, bounds, doc, ( Geom::Matrix(Geom::Translate(desktop->dt2doc( @@ -2145,7 +2145,7 @@ void sp_selection_to_marker(SPDesktop *desktop, bool apply) (void)mark_id; // restore compensation setting - prefs->setInt("options.clonecompensation", "value", saved_compensation); + prefs->setInt("/options/clonecompensation/value", saved_compensation); g_slist_free (items); @@ -2184,8 +2184,8 @@ void sp_selection_to_guides(SPDesktop *desktop) } Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - bool deleteitem = !prefs->getBool("tools", "cvg_keep_objects", 0); - bool wholegroups = prefs->getBool("tools", "cvg_convert_whole_groups", 0); + bool deleteitem = !prefs->getBool("/tools/cvg_keep_objects", 0); + bool wholegroups = prefs->getBool("/tools/cvg_convert_whole_groups", 0); for (GSList const *i = items; i != NULL; i = i->next) { sp_selection_to_guides_recursive(SP_ITEM(i->data), deleteitem, wholegroups); @@ -2257,8 +2257,8 @@ sp_selection_tile(SPDesktop *desktop, bool apply) // without disturbing clones. // See ActorAlign::on_button_click() in src/ui/dialog/align-and-distribute.cpp Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - int saved_compensation = prefs->getInt("options.clonecompensation", "value", SP_CLONE_COMPENSATION_UNMOVED); - prefs->setInt("options.clonecompensation", "value", SP_CLONE_COMPENSATION_UNMOVED); + int saved_compensation = prefs->getInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED); + prefs->setInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED); gchar const *pat_id = pattern_tile(repr_copies, bounds, doc, ( NR::Matrix(Geom::Translate(desktop->dt2doc(NR::Point(r->min()[NR::X], @@ -2267,7 +2267,7 @@ sp_selection_tile(SPDesktop *desktop, bool apply) parent_transform * move); // restore compensation setting - prefs->setInt("options.clonecompensation", "value", saved_compensation); + prefs->setInt("/options/clonecompensation/value", saved_compensation); if (apply) { Inkscape::XML::Node *rect = xml_doc->createElement("svg:rect"); @@ -2499,8 +2499,8 @@ sp_selection_create_bitmap_copy (SPDesktop *desktop) // Calculate resolution Inkscape::Preferences *prefs = Inkscape::Preferences::get(); double res; - int const prefs_res = prefs->getInt("options.createbitmap", "resolution", 0); - int const prefs_min = prefs->getInt("options.createbitmap", "minsize", 0); + int const prefs_res = prefs->getInt("/options/createbitmap/resolution", 0); + int const prefs_min = prefs->getInt("/options/createbitmap/minsize", 0); if (0 < prefs_res) { // If it's given explicitly in prefs, take it res = prefs_res; @@ -2532,11 +2532,11 @@ sp_selection_create_bitmap_copy (SPDesktop *desktop) // Find out if we have to run an external filter gchar const *run = NULL; - Glib::ustring filter = prefs->getString("options.createbitmap", "filter"); + Glib::ustring filter = prefs->getString("/options/createbitmap/filter"); if (!filter.empty()) { // filter command is given; // see if we have a parameter to pass to it - Glib::ustring param1 = prefs->getString("options.createbitmap", "filter_param1"); + Glib::ustring param1 = prefs->getString("/options/createbitmap/filter_param1"); if (!param1.empty()) { if (param1[param1.length() - 1] == '%') { // if the param string ends with %, interpret it as a percentage of the image's max dimension @@ -2678,8 +2678,8 @@ sp_selection_set_mask(SPDesktop *desktop, bool apply_clip_path, bool apply_to_la GSList *apply_to_items = NULL; GSList *items_to_delete = NULL; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - bool topmost = prefs->getBool("options.maskobject", "topmost", true); - bool remove_original = prefs->getBool("options.maskobject", "remove", true); + bool topmost = prefs->getBool("/options/maskobject/topmost", true); + bool remove_original = prefs->getBool("/options/maskobject/remove", true); if (apply_to_layer) { // all selected items are used for mask, which is applied to a layer @@ -2782,7 +2782,7 @@ void sp_selection_unset_mask(SPDesktop *desktop, bool apply_clip_path) { } Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - bool remove_original = prefs->getBool("options.maskobject", "remove", true); + bool remove_original = prefs->getBool("/options/maskobject/remove", true); sp_document_ensure_up_to_date(doc); gchar const *attributeName = apply_clip_path ? "clip-path" : "mask"; diff --git a/src/selection.cpp b/src/selection.cpp index bd695ff8b..4ed6c0842 100644 --- a/src/selection.cpp +++ b/src/selection.cpp @@ -379,7 +379,7 @@ Inkscape::XML::Node *Selection::singleRepr() { NRRect *Selection::bounds(NRRect *bbox, SPItem::BBoxType type) const { g_return_val_if_fail (bbox != NULL, NULL); - bounds(bbox, type); + *bbox = NRRect(bounds(type)); return bbox; } @@ -441,15 +441,20 @@ boost::optional Selection::center() const { /** * Compute the list of points in the selection that are to be considered for snapping. */ -std::vector Selection::getSnapPoints(bool includeItemCenter) const { +std::vector Selection::getSnapPoints(SnapPreferences const *snapprefs) const { GSList const *items = const_cast(this)->itemList(); + + SnapPreferences snapprefs_dummy = *snapprefs; // create a local copy of the snapping prefs + snapprefs_dummy.setIncludeItemCenter(false); // locally disable snapping to the item center + std::vector p; for (GSList const *iter = items; iter != NULL; iter = iter->next) { SPItem *this_item = SP_ITEM(iter->data); - sp_item_snappoints(this_item, false, SnapPointsIter(p)); + sp_item_snappoints(this_item, SnapPointsIter(p), &snapprefs_dummy); + //Include the transformation origin for snapping - //For a group only the group's origin is considered - if (includeItemCenter) { + //For a selection or group only the overall origin is considered + if (snapprefs != NULL && snapprefs->getIncludeItemCenter()) { p.push_back(this_item->getCenter()); } } @@ -457,12 +462,12 @@ std::vector Selection::getSnapPoints(bool includeItemCenter) const return p; } -std::vector Selection::getSnapPointsConvexHull() const { +std::vector Selection::getSnapPointsConvexHull(SnapPreferences const *snapprefs) const { GSList const *items = const_cast(this)->itemList(); std::vector p; for (GSList const *iter = items; iter != NULL; iter = iter->next) { - sp_item_snappoints(SP_ITEM(iter->data), false, SnapPointsIter(p)); + sp_item_snappoints(SP_ITEM(iter->data), SnapPointsIter(p), snapprefs); } std::vector pHull; @@ -521,31 +526,31 @@ SPObject *Selection::_objectForXMLNode(Inkscape::XML::Node *repr) const { } guint Selection::numberOfLayers() { - GSList const *items = const_cast(this)->itemList(); - GSList *layers = NULL; - for (GSList const *iter = items; iter != NULL; iter = iter->next) { - SPObject *layer = desktop()->layerForObject(SP_OBJECT(iter->data)); - if (g_slist_find (layers, layer) == NULL) { - layers = g_slist_prepend (layers, layer); - } - } - guint ret = g_slist_length (layers); - g_slist_free (layers); - return ret; + GSList const *items = const_cast(this)->itemList(); + GSList *layers = NULL; + for (GSList const *iter = items; iter != NULL; iter = iter->next) { + SPObject *layer = desktop()->layerForObject(SP_OBJECT(iter->data)); + if (g_slist_find (layers, layer) == NULL) { + layers = g_slist_prepend (layers, layer); + } + } + guint ret = g_slist_length (layers); + g_slist_free (layers); + return ret; } guint Selection::numberOfParents() { - GSList const *items = const_cast(this)->itemList(); - GSList *parents = NULL; - for (GSList const *iter = items; iter != NULL; iter = iter->next) { - SPObject *parent = SP_OBJECT_PARENT(iter->data); - if (g_slist_find (parents, parent) == NULL) { - parents = g_slist_prepend (parents, parent); - } - } - guint ret = g_slist_length (parents); - g_slist_free (parents); - return ret; + GSList const *items = const_cast(this)->itemList(); + GSList *parents = NULL; + for (GSList const *iter = items; iter != NULL; iter = iter->next) { + SPObject *parent = SP_OBJECT_PARENT(iter->data); + if (g_slist_find (parents, parent) == NULL) { + parents = g_slist_prepend (parents, parent); + } + } + guint ret = g_slist_length (parents); + g_slist_free (parents); + return ret; } } diff --git a/src/selection.h b/src/selection.h index 6ae462fc3..88e8ae90d 100644 --- a/src/selection.h +++ b/src/selection.h @@ -268,13 +268,13 @@ public: * @brief Gets the selection's snap points. * @return Selection's snap points */ - std::vector getSnapPoints(bool includeItemCenter) const; + std::vector getSnapPoints(SnapPreferences const *snapprefs) const; /** * @brief Gets the snap points of a selection that form a convex hull. * @return Selection's convex hull points */ - std::vector getSnapPointsConvexHull() const; + std::vector getSnapPointsConvexHull(SnapPreferences const *snapprefs) const; /** * @brief Connects a slot to be notified of selection changes diff --git a/src/seltrans.cpp b/src/seltrans.cpp index 6ae7948f1..0b1c4f5c9 100644 --- a/src/seltrans.cpp +++ b/src/seltrans.cpp @@ -1,9 +1,7 @@ -#define __SELTRANS_C__ - -/* - * Helper object for transforming selected items - * - * Authors: +/** @file + * @brief Helper object for transforming selected items + */ +/* Authors: * Lauris Kaplinski * bulia byak * Carl Hetherington @@ -41,7 +39,7 @@ #include "verbs.h" #include #include "display/sp-ctrlline.h" -#include "prefs-utils.h" +#include "preferences.h" #include "xml/repr.h" #include "mod360.h" #include <2geom/angle.h> @@ -101,8 +99,9 @@ Inkscape::SelTrans::SelTrans(SPDesktop *desktop) : _stamp_cache(NULL), _message_context(desktop->messageStack()) { - int prefs_bbox = prefs_get_int_attribute("tools", "bounding_box", 0); - _snap_bbox_type = (prefs_bbox ==0)? + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int prefs_bbox = prefs->getBool("/tools/bounding_box"); + _snap_bbox_type = !prefs_bbox ? SPItem::APPROXIMATE_BBOX : SPItem::GEOMETRIC_BBOX; g_return_if_fail(desktop != NULL); @@ -287,8 +286,8 @@ void Inkscape::SelTrans::grab(Geom::Point const &p, gdouble x, gdouble y, bool s // Next, get all points to consider for snapping SnapManager const &m = _desktop->namedview->snap_manager; _snap_points.clear(); - _snap_points = selection->getSnapPoints(m.getIncludeItemCenter()); - std::vector snap_points_hull = selection->getSnapPointsConvexHull(); + _snap_points = selection->getSnapPoints(&m.snapprefs); + std::vector snap_points_hull = selection->getSnapPointsConvexHull(&m.snapprefs); if (_snap_points.size() > 100) { /* Snapping a huge number of nodes will take way too long, so limit the number of snappable nodes An average user would rarely ever try to snap such a large number of nodes anyway, because @@ -815,9 +814,10 @@ gboolean Inkscape::SelTrans::handleRequest(SPKnot *knot, Geom::Point *position, void Inkscape::SelTrans::_selChanged(Inkscape::Selection */*selection*/) { if (!_grabbed) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); // reread in case it changed on the fly: - int prefs_bbox = prefs_get_int_attribute("tools", "bounding_box", 0); - _snap_bbox_type = (prefs_bbox ==0)? + int prefs_bbox = prefs->getBool("/tools/bounding_box"); + _snap_bbox_type = !prefs_bbox ? SPItem::APPROXIMATE_BBOX : SPItem::GEOMETRIC_BBOX; //SPItem::APPROXIMATE_BBOX will be replaced by SPItem::VISUAL_BBOX, as soon as the latter is implemented properly @@ -932,8 +932,8 @@ gboolean Inkscape::SelTrans::scaleRequest(Geom::Point &pt, guint state) } // Snap along a suitable constraint vector from the origin. - bb = m.constrainedSnapScale(Snapper::SNAPPOINT_BBOX, _bbox_points, default_scale, _origin_for_bboxpoints); - sn = m.constrainedSnapScale(Snapper::SNAPPOINT_NODE, _snap_points, geom_scale, _origin_for_specpoints); + bb = m.constrainedSnapScale(SnapPreferences::SNAPPOINT_BBOX, _bbox_points, default_scale, _origin_for_bboxpoints); + sn = m.constrainedSnapScale(SnapPreferences::SNAPPOINT_NODE, _snap_points, geom_scale, _origin_for_specpoints); /* Choose the smaller difference in scale. Since s[X] == s[Y] we can ** just compare difference in s[X]. @@ -942,8 +942,8 @@ gboolean Inkscape::SelTrans::scaleRequest(Geom::Point &pt, guint state) sd = sn.getSnapped() ? fabs(sn.getTransformation()[Geom::X] - geom_scale[Geom::X]) : NR_HUGE; } else { /* Scale aspect ratio is unlocked */ - bb = m.freeSnapScale(Snapper::SNAPPOINT_BBOX, _bbox_points, default_scale, _origin_for_bboxpoints); - sn = m.freeSnapScale(Snapper::SNAPPOINT_NODE, _snap_points, geom_scale, _origin_for_specpoints); + bb = m.freeSnapScale(SnapPreferences::SNAPPOINT_BBOX, _bbox_points, default_scale, _origin_for_bboxpoints); + sn = m.freeSnapScale(SnapPreferences::SNAPPOINT_NODE, _snap_points, geom_scale, _origin_for_specpoints); /* Pick the snap that puts us closest to the original scale */ bd = bb.getSnapped() ? fabs(Geom::L2(bb.getTransformation()) - Geom::L2(Geom::Point(default_scale[Geom::X], default_scale[Geom::Y]))) : NR_HUGE; @@ -1031,8 +1031,8 @@ gboolean Inkscape::SelTrans::stretchRequest(SPSelTransHandle const &handle, Geom bool symmetrical = state & GDK_CONTROL_MASK; - bb = m.constrainedSnapStretch(Snapper::SNAPPOINT_BBOX, _bbox_points, Geom::Coord(default_scale[axis]), _origin_for_bboxpoints, Geom::Dim2(axis), symmetrical); - sn = m.constrainedSnapStretch(Snapper::SNAPPOINT_NODE, _snap_points, Geom::Coord(geom_scale[axis]), _origin_for_specpoints, Geom::Dim2(axis), symmetrical); + bb = m.constrainedSnapStretch(SnapPreferences::SNAPPOINT_BBOX, _bbox_points, Geom::Coord(default_scale[axis]), _origin_for_bboxpoints, Geom::Dim2(axis), symmetrical); + sn = m.constrainedSnapStretch(SnapPreferences::SNAPPOINT_NODE, _snap_points, Geom::Coord(geom_scale[axis]), _origin_for_specpoints, Geom::Dim2(axis), symmetrical); if (bb.getSnapped()) { // We snapped the bbox (which is either visual or geometric) @@ -1129,8 +1129,9 @@ gboolean Inkscape::SelTrans::skewRequest(SPSelTransHandle const &handle, Geom::P double radians = atan(skew[dim_a] / scale[dim_a]); if (state & GDK_CONTROL_MASK) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); // Snap to defined angle increments - int snaps = prefs_get_int_attribute("options.rotationsnapsperpi", "value", 12); + int snaps = prefs->getInt("/options/rotationsnapsperpi/value", 12); if (snaps) { double sections = floor(radians * snaps / M_PI + .5); if (fabs(sections) >= snaps / 2) { @@ -1148,7 +1149,7 @@ gboolean Inkscape::SelTrans::skewRequest(SPSelTransHandle const &handle, Geom::P Inkscape::Snapper::ConstraintLine const constraint(component_vectors[dim_b]); // When skewing, we cannot snap the corners of the bounding box, see the comment in "constrainedSnapSkew" for details Geom::Point const s(skew[dim_a], scale[dim_a]); - Inkscape::SnappedPoint sn = m.constrainedSnapSkew(Inkscape::Snapper::SNAPPOINT_NODE, _snap_points, constraint, s, _origin, Geom::Dim2(dim_b)); + Inkscape::SnappedPoint sn = m.constrainedSnapSkew(Inkscape::SnapPreferences::SNAPPOINT_NODE, _snap_points, constraint, s, _origin, Geom::Dim2(dim_b)); if (sn.getSnapped()) { // We snapped something, so change the skew to reflect it @@ -1198,7 +1199,8 @@ gboolean Inkscape::SelTrans::rotateRequest(Geom::Point &pt, guint state) * the handle; otherwise it will be relative to the center as set for the selection */ - int snaps = prefs_get_int_attribute("options.rotationsnapsperpi", "value", 12); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int snaps = prefs->getInt("/options/rotationsnapsperpi/value", 12); // rotate affine in rotate Geom::Point const d1 = _point - _origin; @@ -1250,7 +1252,7 @@ gboolean Inkscape::SelTrans::centerRequest(Geom::Point &pt, guint state) { SnapManager &m = _desktop->namedview->snap_manager; m.setup(_desktop); - m.freeSnapReturnByRef(Snapper::SNAPPOINT_NODE, pt); + m.freeSnapReturnByRef(SnapPreferences::SNAPPOINT_NODE, pt); if (state & GDK_CONTROL_MASK) { if ( fabs(_point[Geom::X] - pt[Geom::X]) > fabs(_point[Geom::Y] - pt[Geom::Y]) ) { @@ -1358,7 +1360,7 @@ void Inkscape::SelTrans::moveTo(Geom::Point const &xy, guint state) ** FIXME: this will snap to more than just the grid, nowadays. */ - m.freeSnapReturnByRef(Snapper::SNAPPOINT_NODE, dxy); + m.freeSnapReturnByRef(SnapPreferences::SNAPPOINT_NODE, dxy); } else if (!shift) { @@ -1380,12 +1382,12 @@ void Inkscape::SelTrans::moveTo(Geom::Point const &xy, guint state) // the constraint-line once. The constraint lines are parallel, but might not be colinear. // Therefore we will have to set the point through which the constraint-line runs // individually for each point to be snapped; this will be handled however by _snapTransformed() - s.push_back(m.constrainedSnapTranslation(Inkscape::Snapper::SNAPPOINT_BBOX, + s.push_back(m.constrainedSnapTranslation(Inkscape::SnapPreferences::SNAPPOINT_BBOX, _bbox_points, Inkscape::Snapper::ConstraintLine(component_vectors[dim]), dxy)); - s.push_back(m.constrainedSnapTranslation(Inkscape::Snapper::SNAPPOINT_NODE, + s.push_back(m.constrainedSnapTranslation(Inkscape::SnapPreferences::SNAPPOINT_NODE, _snap_points, Inkscape::Snapper::ConstraintLine(component_vectors[dim]), dxy)); @@ -1399,8 +1401,8 @@ void Inkscape::SelTrans::moveTo(Geom::Point const &xy, guint state) g_get_current_time(&starttime); */ /* Snap to things with no constraint */ - s.push_back(m.freeSnapTranslation(Inkscape::Snapper::SNAPPOINT_BBOX, _bbox_points, dxy)); - s.push_back(m.freeSnapTranslation(Inkscape::Snapper::SNAPPOINT_NODE, _snap_points, dxy)); + s.push_back(m.freeSnapTranslation(Inkscape::SnapPreferences::SNAPPOINT_BBOX, _bbox_points, dxy)); + s.push_back(m.freeSnapTranslation(Inkscape::SnapPreferences::SNAPPOINT_NODE, _snap_points, dxy)); /*g_get_current_time(&endtime); double elapsed = ((((double)endtime.tv_sec - starttime.tv_sec) * G_USEC_PER_SEC + (endtime.tv_usec - starttime.tv_usec))) / 1000.0; @@ -1471,7 +1473,8 @@ Geom::Point Inkscape::SelTrans::_getGeomHandlePos(Geom::Point const &visual_hand Geom::Point normalized_handle_pos = (visual_handle_pos - new_bbox.min()) * Geom::Scale(new_bbox.dimensions()).inverse(); // Calculate the absolute affine while taking into account the scaling of the stroke width - int transform_stroke = prefs_get_int_attribute ("options.transform", "stroke", 1); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + bool transform_stroke = prefs->getBool("/options/transform/stroke", true); Geom::Matrix abs_affine = get_scale_transform_with_stroke (*_bbox, _strokewidth, transform_stroke, new_bbox.min()[Geom::X], new_bbox.min()[Geom::Y], new_bbox.max()[Geom::X], new_bbox.max()[Geom::Y]); @@ -1510,11 +1513,12 @@ Geom::Point Inkscape::SelTrans::_calcAbsAffineDefault(Geom::Scale const default_ Geom::Point new_bbox_min = _approximate_bbox->min() * abs_affine; Geom::Point new_bbox_max = _approximate_bbox->max() * abs_affine; - int transform_stroke = false; + bool transform_stroke = false; gdouble strokewidth = 0; if ( _snap_bbox_type != SPItem::GEOMETRIC_BBOX) { - transform_stroke = prefs_get_int_attribute ("options.transform", "stroke", 1); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + transform_stroke = prefs->getBool("/options/transform/stroke", true); strokewidth = _strokewidth; } @@ -1531,14 +1535,14 @@ Geom::Point Inkscape::SelTrans::_calcAbsAffineGeom(Geom::Scale const geom_scale) _relative_affine = Geom::Matrix(geom_scale); _absolute_affine = Geom::Translate(-_origin_for_specpoints) * _relative_affine * Geom::Translate(_origin_for_specpoints); - bool const transform_stroke = prefs_get_int_attribute ("options.transform", "stroke", 1); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + bool const transform_stroke = prefs->getBool("/options/transform/stroke", true); Geom::Rect visual_bbox = get_visual_bbox(_geometric_bbox, _absolute_affine, _strokewidth, transform_stroke); // return the new handle position return visual_bbox.min() + visual_bbox.dimensions() * Geom::Scale(_handle_x, _handle_y); } - /* Local Variables: mode:c++ @@ -1548,4 +1552,4 @@ Geom::Point Inkscape::SelTrans::_calcAbsAffineGeom(Geom::Scale const geom_scale) fill-column:99 End: */ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/shape-editor.cpp b/src/shape-editor.cpp index 4fe1130bc..04f40929b 100644 --- a/src/shape-editor.cpp +++ b/src/shape-editor.cpp @@ -25,7 +25,7 @@ #include "live_effects/parameter/pointparam-knotholder.h" #include "nodepath.h" #include "xml/node-event-vector.h" -#include "prefs-utils.h" +#include "preferences.h" #include "object-edit.h" #include "style.h" #include "display/curve.h" @@ -241,7 +241,8 @@ void ShapeEditor::set_item(SPItem *item, SubType type, bool keep_knotholder) { switch(type) { case SH_NODEPATH: if (SP_IS_LPE_ITEM(item)) { - this->nodepath = sp_nodepath_new(desktop, item, (prefs_get_int_attribute("tools.nodes", "show_handles", 1) != 0)); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + this->nodepath = sp_nodepath_new(desktop, item, (prefs->getBool("/tools/nodes/show_handles", true))); } if (this->nodepath) { this->nodepath->shape_editor = this; @@ -286,8 +287,9 @@ void ShapeEditor::set_item_lpe_path_parameter(SPItem *item, SPObject *lpeobject, this->grab_node = -1; if (lpeobject) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); this->nodepath = sp_nodepath_new( desktop, lpeobject, - (prefs_get_int_attribute("tools.nodes", "show_handles", 1) != 0), + (prefs->getInt("/tools/nodes/show_handles", true)), key, item); if (this->nodepath) { this->nodepath->shape_editor = this; @@ -377,13 +379,14 @@ bool ShapeEditor::is_over_stroke (Geom::Point event_p, bool remember) { delta = desktop->d2w(delta); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); double stroke_tolerance = (( !SP_OBJECT_STYLE(item)->stroke.isNone() ? desktop->current_zoom() * SP_OBJECT_STYLE (item)->stroke_width.computed * 0.5 * to_2geom(sp_item_i2d_affine(item)).descrim() : 0.0) - + prefs_get_int_attribute_limited("options.dragtolerance", "value", 0, 0, 100)) / to_2geom(sp_item_i2d_affine(item)).descrim(); + + prefs->getIntLimited("/options/dragtolerance/value", 0, 0, 100)) / to_2geom(sp_item_i2d_affine(item)).descrim(); bool close = (Geom::L2 (delta) < stroke_tolerance); if (remember && close) { diff --git a/src/snap-preferences.cpp b/src/snap-preferences.cpp new file mode 100644 index 000000000..f1ad0fd0d --- /dev/null +++ b/src/snap-preferences.cpp @@ -0,0 +1,124 @@ +#define __SNAPPREFERENCES_CPP__ + +/** + * \file snap-preferences.cpp + * \brief Storing of snapping preferences + * + * Authors: + * Diederik van Lierop + * + * Copyright (C) 2008 Authors + * + * Released under GNU GPL, read the file 'COPYING' for more information + */ + +#include "inkscape.h" +#include "snap-preferences.h" + +Inkscape::SnapPreferences::PointType const Inkscape::SnapPreferences::SNAPPOINT_NODE = 0x1; +Inkscape::SnapPreferences::PointType const Inkscape::SnapPreferences::SNAPPOINT_BBOX = 0x2; +Inkscape::SnapPreferences::PointType const Inkscape::SnapPreferences::SNAPPOINT_GUIDE = 0x4; + + +Inkscape::SnapPreferences::SnapPreferences() : + _include_item_center(false), + _snap_enabled_globally(true) +{ + setSnapFrom(SNAPPOINT_BBOX | SNAPPOINT_NODE, true); //Snap any point. In v0.45 and earlier, this was controlled in the preferences tab +} + +/* + * The snappers have too many parameters to adjust individually. Therefore only + * two snapping modes are presented to the user: snapping bounding box corners (to + * other bounding boxes, grids or guides), and/or snapping nodes (to other nodes, + * paths, grids or guides). To select either of these modes (or both), use the + * methods defined below: setSnapModeBBox() and setSnapModeNode(). + * + * */ + + +void Inkscape::SnapPreferences::setSnapModeBBox(bool enabled) +{ + if (enabled) { + _snap_from |= Inkscape::SnapPreferences::SNAPPOINT_BBOX; + } else { + _snap_from &= ~Inkscape::SnapPreferences::SNAPPOINT_BBOX; + } +} + +bool Inkscape::SnapPreferences::getSnapModeBBox() const +{ + return (_snap_from & Inkscape::SnapPreferences::SNAPPOINT_BBOX); +} + +void Inkscape::SnapPreferences::setSnapModeNode(bool enabled) +{ + if (enabled) { + _snap_from |= Inkscape::SnapPreferences::SNAPPOINT_NODE; + } else { + _snap_from &= ~Inkscape::SnapPreferences::SNAPPOINT_NODE; + } +} + +bool Inkscape::SnapPreferences::getSnapModeNode() const +{ + return (_snap_from & Inkscape::SnapPreferences::SNAPPOINT_NODE); +} + +bool Inkscape::SnapPreferences::getSnapModeBBoxOrNodes() const +{ + return (_snap_from & (Inkscape::SnapPreferences::SNAPPOINT_BBOX | Inkscape::SnapPreferences::SNAPPOINT_NODE) ); +} + +bool Inkscape::SnapPreferences::getSnapModeAny() const +{ + return (_snap_from != 0); +} + +void Inkscape::SnapPreferences::setSnapModeGuide(bool enabled) +{ + if (enabled) { + _snap_from |= Inkscape::SnapPreferences::SNAPPOINT_GUIDE; + } else { + _snap_from &= ~Inkscape::SnapPreferences::SNAPPOINT_GUIDE; + } +} + +bool Inkscape::SnapPreferences::getSnapModeGuide() const +{ + return (_snap_from & Inkscape::SnapPreferences::SNAPPOINT_GUIDE); +} + +/** + * Turn on/off snapping of specific point types. + * \param t Point type. + * \param s true to snap to this point type, otherwise false; + */ +void Inkscape::SnapPreferences::setSnapFrom(PointType t, bool s) +{ + if (s) { + _snap_from |= t; + } else { + _snap_from &= ~t; + } +} + +/** + * \param t Point type. + * \return true if snapper will snap this type of point, otherwise false. + */ +bool Inkscape::SnapPreferences::getSnapFrom(PointType t) const +{ + return (_snap_from & t); +} + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/snap-preferences.h b/src/snap-preferences.h new file mode 100644 index 000000000..d98cd7cef --- /dev/null +++ b/src/snap-preferences.h @@ -0,0 +1,81 @@ +#ifndef SNAPPREFERENCES_H_ +#define SNAPPREFERENCES_H_ + +/** + * \file snap-preferences.cpp + * \brief Storing of snapping preferences + * + * Authors: + * Diederik van Lierop + * + * Copyright (C) 2008 Authors + * + * Released under GNU GPL, read the file 'COPYING' for more information + */ + +namespace Inkscape +{ + +class SnapPreferences +{ +public: + SnapPreferences(); + + /// Point types to snap. + typedef int PointType; + static const PointType SNAPPOINT_NODE; + static const PointType SNAPPOINT_BBOX; + static const PointType SNAPPOINT_GUIDE; + + void setSnapModeBBox(bool enabled); + void setSnapModeNode(bool enabled); + void setSnapModeGuide(bool enabled); + bool getSnapModeBBox() const; + bool getSnapModeNode() const; + bool getSnapModeBBoxOrNodes() const; + bool getSnapModeAny() const; + bool getSnapModeGuide() const; + + void setSnapIntersectionGG(bool enabled) {_intersectionGG = enabled;} + void setSnapIntersectionCS(bool enabled) {_intersectionCS = enabled;} + void setSnapSmoothNodes(bool enabled) {_smoothNodes = enabled;} + bool getSnapIntersectionGG() const {return _intersectionGG;} + bool getSnapIntersectionCS() const {return _intersectionCS;} + bool getSnapSmoothNodes() const {return _smoothNodes;} + + void setIncludeItemCenter(bool enabled) {_include_item_center = enabled;} + bool getIncludeItemCenter() const {return _include_item_center;} + + void setSnapEnabledGlobally(bool enabled) {_snap_enabled_globally = enabled;} + bool getSnapEnabledGlobally() const {return _snap_enabled_globally;} + + void setSnapPostponedGlobally(bool postponed) {_snap_postponed_globally = postponed;} + bool getSnapPostponedGlobally() const {return _snap_postponed_globally;} + + void setSnapFrom(PointType t, bool s); + bool getSnapFrom(PointType t) const; + +private: + bool _include_item_center; //If true, snapping nodes will also snap the item's center + bool _intersectionGG; + bool _intersectionCS; + bool _smoothNodes; + bool _snap_enabled_globally; // Toggles ALL snapping + bool _snap_postponed_globally; // Hold all snapping temporarily when the mouse is moving fast + PointType _snap_from; ///< bitmap of point types that we will snap from + +}; + +} +#endif /*SNAPPREFERENCES_H_*/ + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/snap.cpp b/src/snap.cpp index 202dd8e92..6fa99f288 100644 --- a/src/snap.cpp +++ b/src/snap.cpp @@ -46,13 +46,11 @@ using std::vector; SnapManager::SnapManager(SPNamedView const *v) : guide(this, 0), object(this, 0), - _named_view(v), - _include_item_center(false), - _snap_enabled_globally(true) + snapprefs(), + _named_view(v) { } - /** * \return List of snappers that we use. */ @@ -93,9 +91,9 @@ SnapManager::getGridSnappers() const * \return true if one of the snappers will try to snap something. */ -bool SnapManager::SomeSnapperMightSnap() const +bool SnapManager::someSnapperMightSnap() const { - if (!_snap_enabled_globally) { + if ( !snapprefs.getSnapEnabledGlobally() || snapprefs.getSnapPostponedGlobally() ) { return false; } @@ -108,67 +106,6 @@ bool SnapManager::SomeSnapperMightSnap() const return (i != s.end()); } -/* - * The snappers have too many parameters to adjust individually. Therefore only - * two snapping modes are presented to the user: snapping bounding box corners (to - * other bounding boxes, grids or guides), and/or snapping nodes (to other nodes, - * paths, grids or guides). To select either of these modes (or both), use the - * methods defined below: setSnapModeBBox() and setSnapModeNode(). - * - * */ - - -void SnapManager::setSnapModeBBox(bool enabled) -{ - //The default values are being set in sp_namedview_set() (in sp-namedview.cpp) - guide.setSnapFrom(Inkscape::Snapper::SNAPPOINT_BBOX, enabled); - - for ( GSList const *l = _named_view->grids; l != NULL; l = l->next) { - Inkscape::CanvasGrid *grid = (Inkscape::CanvasGrid*) l->data; - grid->snapper->setSnapFrom(Inkscape::Snapper::SNAPPOINT_BBOX, enabled); - } - - object.setSnapFrom(Inkscape::Snapper::SNAPPOINT_BBOX, enabled); - //object.setSnapToBBoxNode(enabled); // On second thought, these should be controlled - //object.setSnapToBBoxPath(enabled); // separately by the snapping prefs dialog - object.setStrictSnapping(true); //don't snap bboxes to nodes/paths and vice versa -} - -bool SnapManager::getSnapModeBBox() const -{ - return guide.getSnapFrom(Inkscape::Snapper::SNAPPOINT_BBOX); -} - -void SnapManager::setSnapModeNode(bool enabled) -{ - guide.setSnapFrom(Inkscape::Snapper::SNAPPOINT_NODE, enabled); - - for ( GSList const *l = _named_view->grids; l != NULL; l = l->next) { - Inkscape::CanvasGrid *grid = (Inkscape::CanvasGrid*) l->data; - grid->snapper->setSnapFrom(Inkscape::Snapper::SNAPPOINT_NODE, enabled); - } - - object.setSnapFrom(Inkscape::Snapper::SNAPPOINT_NODE, enabled); - //object.setSnapToItemNode(enabled); // On second thought, these should be controlled - //object.setSnapToItemPath(enabled); // separately by the snapping prefs dialog - object.setStrictSnapping(true); -} - -bool SnapManager::getSnapModeNode() const -{ - return guide.getSnapFrom(Inkscape::Snapper::SNAPPOINT_NODE); -} - -void SnapManager::setSnapModeGuide(bool enabled) -{ - object.setSnapFrom(Inkscape::Snapper::SNAPPOINT_GUIDE, enabled); -} - -bool SnapManager::getSnapModeGuide() const -{ - return object.getSnapFrom(Inkscape::Snapper::SNAPPOINT_GUIDE); -} - /** * Try to snap a point to any of the specified snappers. * @@ -180,7 +117,7 @@ bool SnapManager::getSnapModeGuide() const * \return Snapped point. */ -void SnapManager::freeSnapReturnByRef(Inkscape::Snapper::PointType point_type, +void SnapManager::freeSnapReturnByRef(Inkscape::SnapPreferences::PointType point_type, Geom::Point &p, bool first_point, boost::optional const &bbox_to_snap) const @@ -200,12 +137,12 @@ void SnapManager::freeSnapReturnByRef(Inkscape::Snapper::PointType point_type, * \return Snapped point. */ -Inkscape::SnappedPoint SnapManager::freeSnap(Inkscape::Snapper::PointType point_type, +Inkscape::SnappedPoint SnapManager::freeSnap(Inkscape::SnapPreferences::PointType point_type, Geom::Point const &p, bool first_point, boost::optional const &bbox_to_snap) const { - if (!SomeSnapperMightSnap()) { + if (!someSnapperMightSnap()) { return Inkscape::SnappedPoint(p, Inkscape::SNAPTARGET_UNDEFINED, NR_HUGE, 0, false, false); } @@ -241,7 +178,7 @@ Inkscape::SnappedPoint SnapManager::freeSnap(Inkscape::Snapper::PointType point_ // PS: Wether we really find a multiple also depends on the snapping range! Geom::Point SnapManager::multipleOfGridPitch(Geom::Point const &t) const { - if (!_snap_enabled_globally) + if (!snapprefs.getSnapEnabledGlobally()) // No need to check for snapprefs.getSnapPostponedGlobally() here return t; //FIXME: this code should actually do this: add new grid snappers that are active for this desktop. now it just adds all gridsnappers @@ -269,7 +206,7 @@ Geom::Point SnapManager::multipleOfGridPitch(Geom::Point const &t) const Geom::Point const t_offset = from_2geom(t) + grid->origin; SnappedConstraints sc; // Only the first three parameters are being used for grid snappers - snapper->freeSnap(sc, Inkscape::Snapper::SNAPPOINT_NODE, t_offset, TRUE, boost::optional(), NULL, NULL); + snapper->freeSnap(sc, Inkscape::SnapPreferences::SNAPPOINT_NODE, t_offset, TRUE, boost::optional(), NULL, NULL); // Find the best snap for this grid, including intersections of the grid-lines Inkscape::SnappedPoint s = findBestSnap(t_offset, sc, false); if (s.getSnapped() && (s.getDistance() < nearest_distance)) { @@ -299,7 +236,7 @@ Geom::Point SnapManager::multipleOfGridPitch(Geom::Point const &t) const * \return Snapped point. */ -void SnapManager::constrainedSnapReturnByRef(Inkscape::Snapper::PointType point_type, +void SnapManager::constrainedSnapReturnByRef(Inkscape::SnapPreferences::PointType point_type, Geom::Point &p, Inkscape::Snapper::ConstraintLine const &constraint, bool first_point, @@ -321,13 +258,13 @@ void SnapManager::constrainedSnapReturnByRef(Inkscape::Snapper::PointType point_ * \return Snapped point. */ -Inkscape::SnappedPoint SnapManager::constrainedSnap(Inkscape::Snapper::PointType point_type, +Inkscape::SnappedPoint SnapManager::constrainedSnap(Inkscape::SnapPreferences::PointType point_type, Geom::Point const &p, Inkscape::Snapper::ConstraintLine const &constraint, bool first_point, boost::optional const &bbox_to_snap) const { - if (!SomeSnapperMightSnap()) { + if (!someSnapperMightSnap()) { return Inkscape::SnappedPoint(p, Inkscape::SNAPTARGET_UNDEFINED, NR_HUGE, 0, false, false); } @@ -358,8 +295,8 @@ void SnapManager::guideSnap(Geom::Point &p, Geom::Point const &guide_normal) con { // This method is used to snap a guide to nodes, while dragging the guide around - if (!(object.GuidesMightSnap() && _snap_enabled_globally)) { - return; + if ( !(object.GuidesMightSnap() && snapprefs.getSnapEnabledGlobally()) || snapprefs.getSnapPostponedGlobally() ) { + return; } SnappedConstraints sc; @@ -387,7 +324,7 @@ void SnapManager::guideSnap(Geom::Point &p, Geom::Point const &guide_normal) con */ Inkscape::SnappedPoint SnapManager::_snapTransformed( - Inkscape::Snapper::PointType type, + Inkscape::SnapPreferences::PointType type, std::vector const &points, bool constrained, Inkscape::Snapper::ConstraintLine const &constraint, @@ -405,7 +342,7 @@ Inkscape::SnappedPoint SnapManager::_snapTransformed( /* Quick check to see if we have any snappers that are enabled ** Also used to globally disable all snapping */ - if (SomeSnapperMightSnap() == false) { + if (someSnapperMightSnap() == false) { g_assert(points.size() > 0); return Inkscape::SnappedPoint(); } @@ -653,7 +590,7 @@ Inkscape::SnappedPoint SnapManager::_snapTransformed( * \return Snapped translation, if a snap occurred, and a flag indicating whether a snap occurred. */ -Inkscape::SnappedPoint SnapManager::freeSnapTranslation(Inkscape::Snapper::PointType point_type, +Inkscape::SnappedPoint SnapManager::freeSnapTranslation(Inkscape::SnapPreferences::PointType point_type, std::vector const &p, Geom::Point const &tr) const { @@ -673,7 +610,7 @@ Inkscape::SnappedPoint SnapManager::freeSnapTranslation(Inkscape::Snapper::Point * \return Snapped translation, if a snap occurred, and a flag indicating whether a snap occurred. */ -Inkscape::SnappedPoint SnapManager::constrainedSnapTranslation(Inkscape::Snapper::PointType point_type, +Inkscape::SnappedPoint SnapManager::constrainedSnapTranslation(Inkscape::SnapPreferences::PointType point_type, std::vector const &p, Inkscape::Snapper::ConstraintLine const &constraint, Geom::Point const &tr) const @@ -693,7 +630,7 @@ Inkscape::SnappedPoint SnapManager::constrainedSnapTranslation(Inkscape::Snapper * \return Snapped scale, if a snap occurred, and a flag indicating whether a snap occurred. */ -Inkscape::SnappedPoint SnapManager::freeSnapScale(Inkscape::Snapper::PointType point_type, +Inkscape::SnappedPoint SnapManager::freeSnapScale(Inkscape::SnapPreferences::PointType point_type, std::vector const &p, Geom::Scale const &s, Geom::Point const &o) const @@ -714,7 +651,7 @@ Inkscape::SnappedPoint SnapManager::freeSnapScale(Inkscape::Snapper::PointType p * \return Snapped scale, if a snap occurred, and a flag indicating whether a snap occurred. */ -Inkscape::SnappedPoint SnapManager::constrainedSnapScale(Inkscape::Snapper::PointType point_type, +Inkscape::SnappedPoint SnapManager::constrainedSnapScale(Inkscape::SnapPreferences::PointType point_type, std::vector const &p, Geom::Scale const &s, Geom::Point const &o) const @@ -737,7 +674,7 @@ Inkscape::SnappedPoint SnapManager::constrainedSnapScale(Inkscape::Snapper::Poin * \return Snapped stretch, if a snap occurred, and a flag indicating whether a snap occurred. */ -Inkscape::SnappedPoint SnapManager::constrainedSnapStretch(Inkscape::Snapper::PointType point_type, +Inkscape::SnappedPoint SnapManager::constrainedSnapStretch(Inkscape::SnapPreferences::PointType point_type, std::vector const &p, Geom::Coord const &s, Geom::Point const &o, @@ -760,7 +697,7 @@ Inkscape::SnappedPoint SnapManager::constrainedSnapStretch(Inkscape::Snapper::Po * \return Snapped skew, if a snap occurred, and a flag indicating whether a snap occurred. */ -Inkscape::SnappedPoint SnapManager::constrainedSnapSkew(Inkscape::Snapper::PointType point_type, +Inkscape::SnappedPoint SnapManager::constrainedSnapSkew(Inkscape::SnapPreferences::PointType point_type, std::vector const &p, Inkscape::Snapper::ConstraintLine const &constraint, Geom::Point const &s, @@ -774,7 +711,7 @@ Inkscape::SnappedPoint SnapManager::constrainedSnapSkew(Inkscape::Snapper::Point // NOT the case for example when rotating or skewing. The bounding box itself cannot possibly rotate or skew, // so it's corners have a different transformation. The snappers cannot handle this, therefore snapping // of bounding boxes is not allowed here. - g_assert(!(point_type & Inkscape::Snapper::SNAPPOINT_BBOX)); + g_assert(!(point_type & Inkscape::SnapPreferences::SNAPPOINT_BBOX)); return _snapTransformed(point_type, p, true, constraint, SKEW, s, o, d, false); } @@ -805,7 +742,7 @@ Inkscape::SnappedPoint SnapManager::findBestSnap(Geom::Point const &p, SnappedCo sp_list.push_back(Inkscape::SnappedPoint(closestCurve)); } - if (_intersectionCS) { + if (snapprefs.getSnapIntersectionCS()) { // search for the closest snapped intersection of curves Inkscape::SnappedPoint closestCurvesIntersection; if (getClosestIntersectionCS(sc.curves, p, closestCurvesIntersection)) { @@ -849,7 +786,7 @@ Inkscape::SnappedPoint SnapManager::findBestSnap(Geom::Point const &p, SnappedCo } // search for the closest snapped intersection of grid with guide lines - if (_intersectionGG) { + if (snapprefs.getSnapIntersectionGG()) { Inkscape::SnappedPoint closestGridGuidePoint; if (getClosestIntersectionSL(sc.grid_lines, sc.guide_lines, closestGridGuidePoint)) { closestGridGuidePoint.setTarget(Inkscape::SNAPTARGET_GRID_GUIDE_INTERSECTION); diff --git a/src/snap.h b/src/snap.h index df0860274..624f7adac 100644 --- a/src/snap.h +++ b/src/snap.h @@ -27,6 +27,7 @@ #include "guide-snapper.h" #include "object-snapper.h" +#include "snap-preferences.h" class SPNamedView; @@ -45,19 +46,19 @@ public: typedef std::list SnapperList; - bool SomeSnapperMightSnap() const; + bool someSnapperMightSnap() const; void setup(SPDesktop const *desktop, bool snapindicator = true, SPItem const *item_to_ignore = NULL, std::vector *unselected_nodes = NULL); void setup(SPDesktop const *desktop, bool snapindicator, std::vector &items_to_ignore, std::vector *unselected_nodes = NULL); // freeSnapReturnByRef() is preferred over freeSnap(), because it only returns a // point if snapping has occured (by overwriting p); otherwise p is untouched - void freeSnapReturnByRef(Inkscape::Snapper::PointType point_type, + void freeSnapReturnByRef(Inkscape::SnapPreferences::PointType point_type, Geom::Point &p, bool first_point = true, boost::optional const &bbox_to_snap = boost::optional()) const; - Inkscape::SnappedPoint freeSnap(Inkscape::Snapper::PointType point_type, + Inkscape::SnappedPoint freeSnap(Inkscape::SnapPreferences::PointType point_type, Geom::Point const &p, bool first_point = true, boost::optional const &bbox_to_snap = boost::optional() ) const; @@ -66,13 +67,13 @@ public: // constrainedSnapReturnByRef() is preferred over constrainedSnap(), because it only returns a // point, by overwriting p, if snapping has occured; otherwise p is untouched - void constrainedSnapReturnByRef(Inkscape::Snapper::PointType point_type, + void constrainedSnapReturnByRef(Inkscape::SnapPreferences::PointType point_type, Geom::Point &p, Inkscape::Snapper::ConstraintLine const &constraint, bool first_point = true, boost::optional const &bbox_to_snap = boost::optional()) const; - Inkscape::SnappedPoint constrainedSnap(Inkscape::Snapper::PointType point_type, + Inkscape::SnappedPoint constrainedSnap(Inkscape::SnapPreferences::PointType point_type, Geom::Point const &p, Inkscape::Snapper::ConstraintLine const &constraint, bool first_point = true, @@ -80,33 +81,33 @@ public: void guideSnap(Geom::Point &p, Geom::Point const &guide_normal) const; - Inkscape::SnappedPoint freeSnapTranslation(Inkscape::Snapper::PointType point_type, + Inkscape::SnappedPoint freeSnapTranslation(Inkscape::SnapPreferences::PointType point_type, std::vector const &p, Geom::Point const &tr) const; - Inkscape::SnappedPoint constrainedSnapTranslation(Inkscape::Snapper::PointType point_type, + Inkscape::SnappedPoint constrainedSnapTranslation(Inkscape::SnapPreferences::PointType point_type, std::vector const &p, Inkscape::Snapper::ConstraintLine const &constraint, Geom::Point const &tr) const; - Inkscape::SnappedPoint freeSnapScale(Inkscape::Snapper::PointType point_type, + Inkscape::SnappedPoint freeSnapScale(Inkscape::SnapPreferences::PointType point_type, std::vector const &p, Geom::Scale const &s, Geom::Point const &o) const; - Inkscape::SnappedPoint constrainedSnapScale(Inkscape::Snapper::PointType point_type, + Inkscape::SnappedPoint constrainedSnapScale(Inkscape::SnapPreferences::PointType point_type, std::vector const &p, Geom::Scale const &s, Geom::Point const &o) const; - Inkscape::SnappedPoint constrainedSnapStretch(Inkscape::Snapper::PointType point_type, + Inkscape::SnappedPoint constrainedSnapStretch(Inkscape::SnapPreferences::PointType point_type, std::vector const &p, Geom::Coord const &s, Geom::Point const &o, Geom::Dim2 d, bool uniform) const; - Inkscape::SnappedPoint constrainedSnapSkew(Inkscape::Snapper::PointType point_type, + Inkscape::SnappedPoint constrainedSnapSkew(Inkscape::SnapPreferences::PointType point_type, std::vector const &p, Inkscape::Snapper::ConstraintLine const &constraint, Geom::Point const &s, // s[0] = skew factor, s[1] = scale factor @@ -115,6 +116,7 @@ public: Inkscape::GuideSnapper guide; ///< guide snapper Inkscape::ObjectSnapper object; ///< snapper to other objects + Inkscape::SnapPreferences snapprefs; SnapperList getSnappers() const; SnapperList getGridSnappers() const; @@ -123,64 +125,24 @@ public: SPNamedView const *getNamedView() const {return _named_view;} SPDocument *getDocument() const; - void setSnapModeBBox(bool enabled); - void setSnapModeNode(bool enabled); - void setSnapModeGuide(bool enabled); - bool getSnapModeBBox() const; - bool getSnapModeNode() const; - bool getSnapModeGuide() const; - - void setSnapIntersectionGG(bool enabled) {_intersectionGG = enabled;} - void setSnapIntersectionCS(bool enabled) {_intersectionCS = enabled;} - bool getSnapIntersectionGG() {return _intersectionGG;} - bool getSnapIntersectionCS() {return _intersectionCS;} - - void setIncludeItemCenter(bool enabled) { - _include_item_center = enabled; - // also store a local copy in the object-snapper instead of passing it through many functions - object.setIncludeItemCenter(enabled); - } - - bool getIncludeItemCenter() const { - return _include_item_center; - } - - void setSnapEnabledGlobally(bool enabled) { - _snap_enabled_globally = enabled; - } - - bool getSnapEnabledGlobally() const { - return _snap_enabled_globally; - } - - void toggleSnapEnabledGlobally() { - _snap_enabled_globally = !_snap_enabled_globally; - } - protected: SPNamedView const *_named_view; private: - - enum Transformation { + enum Transformation { TRANSLATION, SCALE, STRETCH, SKEW }; - bool _include_item_center; //If true, snapping nodes will also snap the item's center - bool _intersectionGG; - bool _intersectionCS; - bool _snap_enabled_globally; //Toggles ALL snapping - std::vector *_items_to_ignore; SPItem const *_item_to_ignore; SPDesktop const *_desktop; bool _snapindicator; std::vector *_unselected_nodes; - Inkscape::SnappedPoint _snapTransformed(Inkscape::Snapper::PointType type, + Inkscape::SnappedPoint _snapTransformed(Inkscape::SnapPreferences::PointType type, std::vector const &points, bool constrained, Inkscape::Snapper::ConstraintLine const &constraint, diff --git a/src/snapper.cpp b/src/snapper.cpp index 51ffaa42d..7e4568160 100644 --- a/src/snapper.cpp +++ b/src/snapper.cpp @@ -14,20 +14,17 @@ #include "inkscape.h" #include "desktop.h" -Inkscape::Snapper::PointType const Inkscape::Snapper::SNAPPOINT_BBOX = 0x1; -Inkscape::Snapper::PointType const Inkscape::Snapper::SNAPPOINT_NODE = 0x2; -Inkscape::Snapper::PointType const Inkscape::Snapper::SNAPPOINT_GUIDE = 0x4; - /** * Construct new Snapper for named view. * \param nv Named view. * \param d Snap tolerance. */ -Inkscape::Snapper::Snapper(SnapManager const *sm, Geom::Coord const t) : _snapmanager(sm), _snap_enabled(true), _snapper_tolerance(t) +Inkscape::Snapper::Snapper(SnapManager const *sm, Geom::Coord const t) : + _snapmanager(sm), + _snap_enabled(true), + _snapper_tolerance(t) { g_assert(_snapmanager != NULL); - - setSnapFrom(SNAPPOINT_BBOX | SNAPPOINT_NODE, true); //Snap any point. In v0.45 and earlier, this was controlled in the preferences tab } /** @@ -52,29 +49,6 @@ bool Inkscape::Snapper::getSnapperAlwaysSnap() const return _snapper_tolerance == 10000; //TODO: Replace this threshold of 10000 by a constant; see also tolerance-slider.cpp } -/** - * Turn on/off snapping of specific point types. - * \param t Point type. - * \param s true to snap to this point type, otherwise false; - */ -void Inkscape::Snapper::setSnapFrom(PointType t, bool s) -{ - if (s) { - _snap_from |= t; - } else { - _snap_from &= ~t; - } -} - -/** - * \param t Point type. - * \return true if snapper will snap this type of point, otherwise false. - */ -bool Inkscape::Snapper::getSnapFrom(PointType t) const -{ - return (_snap_from & t); -} - /** * \param s true to enable this snapper, otherwise false. */ diff --git a/src/snapper.h b/src/snapper.h index 97068bf10..7ad548ab4 100644 --- a/src/snapper.h +++ b/src/snapper.h @@ -21,6 +21,7 @@ #include "snapped-point.h" #include "snapped-line.h" #include "snapped-curve.h" +#include "snap-preferences.h" struct SnappedConstraints { std::list points; @@ -40,19 +41,10 @@ namespace Inkscape class Snapper { public: - Snapper() {} - Snapper(SnapManager const *sm, ::Geom::Coord const d); - virtual ~Snapper() {} - - /// Point types to snap. - typedef int PointType; - static const PointType SNAPPOINT_NODE; - static const PointType SNAPPOINT_BBOX; - static const PointType SNAPPOINT_GUIDE; - - void setSnapFrom(PointType t, bool s); - bool getSnapFrom(PointType t) const; - + Snapper() {} + Snapper(SnapManager const *sm, ::Geom::Coord const t); + virtual ~Snapper() {} + void setSnapperTolerance(Geom::Coord t); Geom::Coord getSnapperTolerance() const; //returns the tolerance of the snapper in screen pixels (i.e. independent of zoom) bool getSnapperAlwaysSnap() const; //if true, then the snapper will always snap, regardless of its tolerance @@ -60,13 +52,14 @@ public: /** * \return true if this Snapper will snap at least one kind of point. */ - virtual bool ThisSnapperMightSnap() const {return (_snap_enabled && _snap_from != 0);} // will likely be overridden by derived classes + //virtual bool ThisSnapperMightSnap() const; + virtual bool ThisSnapperMightSnap() const {return _snap_enabled;} // will likely be overridden by derived classes void setEnabled(bool s); bool getEnabled() const {return _snap_enabled;} virtual void freeSnap(SnappedConstraints &/*sc*/, - PointType const &/*t*/, + SnapPreferences::PointType const &/*t*/, Geom::Point const &/*p*/, bool const &/*first_point*/, boost::optional const &/*bbox_to_snap*/, @@ -104,7 +97,7 @@ public: }; virtual void constrainedSnap(SnappedConstraints &/*sc*/, - PointType const &/*t*/, + SnapPreferences::PointType const &/*t*/, Geom::Point const &/*p*/, bool const &/*first_point*/, boost::optional const &/*bbox_to_snap*/, @@ -112,15 +105,14 @@ public: std::vector const */*it*/) const {}; protected: - SnapManager const *_snapmanager; - int _snap_from; ///< bitmap of point types that we will snap from - bool _snap_enabled; ///< true if this snapper is enabled, otherwise false + SnapManager const *_snapmanager; + + bool _snap_enabled; ///< true if this snapper is enabled, otherwise false private: Geom::Coord _snapper_tolerance; ///< snap tolerance in desktop coordinates // must be private to enforce the usage of getTolerance(), which retrieves // the tolerance in screen pixels (making it zoom independent) - }; } diff --git a/src/sp-ellipse.cpp b/src/sp-ellipse.cpp index a9833e053..e1284f61e 100644 --- a/src/sp-ellipse.cpp +++ b/src/sp-ellipse.cpp @@ -72,7 +72,7 @@ static void sp_genericellipse_init(SPGenericEllipse *ellipse); static void sp_genericellipse_update(SPObject *object, SPCtx *ctx, guint flags); -static void sp_genericellipse_snappoints(SPItem const *item, SnapPointsIter p); +static void sp_genericellipse_snappoints(SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs); static void sp_genericellipse_set_shape(SPShape *shape); static void sp_genericellipse_update_patheffect (SPLPEItem *lpeitem, bool write); @@ -248,7 +248,7 @@ static void sp_genericellipse_set_shape(SPShape *shape) curve->unref(); } -static void sp_genericellipse_snappoints(SPItem const *item, SnapPointsIter p) +static void sp_genericellipse_snappoints(SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs) { g_assert(item != NULL); g_assert(SP_IS_GENERICELLIPSE(item)); @@ -859,11 +859,11 @@ sp_arc_position_set(SPArc *arc, gdouble x, gdouble y, gdouble rx, gdouble ry) ge->rx.computed = rx; ge->ry.computed = ry; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - if (prefs->getDouble("tools.shapes.arc", "start", 0.0) != 0) - ge->start = prefs->getDouble("tools.shapes.arc", "start", 0.0); - if (prefs->getDouble("tools.shapes.arc", "end", 0.0) != 0) - ge->end = prefs->getDouble("tools.shapes.arc", "end", 0.0); - if (!prefs->getBool("tools.shapes.arc", "open")) + if (prefs->getDouble("/tools/shapes/arc/start", 0.0) != 0) + ge->start = prefs->getDouble("/tools/shapes/arc/start", 0.0); + if (prefs->getDouble("/tools/shapes/arc/end", 0.0) != 0) + ge->end = prefs->getDouble("/tools/shapes/arc/end", 0.0); + if (!prefs->getBool("/tools/shapes/arc/open")) ge->closed = 1; else ge->closed = 0; diff --git a/src/sp-flowtext.cpp b/src/sp-flowtext.cpp index dcaa59ea0..83c13ca05 100644 --- a/src/sp-flowtext.cpp +++ b/src/sp-flowtext.cpp @@ -363,7 +363,7 @@ sp_flowtext_print(SPItem *item, SPPrintContext *ctx) dbox.y0 = 0.0; dbox.x1 = sp_document_width(SP_OBJECT_DOCUMENT(item)); dbox.y1 = sp_document_height(SP_OBJECT_DOCUMENT(item)); - NR::Matrix const ctm (sp_item_i2d_affine(item)); + Geom::Matrix const ctm (sp_item_i2d_affine(item)); group->layout.print(ctx, &pbox, &dbox, &bbox, ctm); } @@ -533,9 +533,9 @@ SPFlowtext::getAsText() Inkscape::XML::Node *repr = xml_doc->createElement("svg:text"); repr->setAttribute("xml:space", "preserve"); repr->setAttribute("style", SP_OBJECT_REPR(this)->attribute("style")); - NR::Point anchor_point = this->layout.characterAnchorPoint(this->layout.begin()); - sp_repr_set_svg_double(repr, "x", anchor_point[NR::X]); - sp_repr_set_svg_double(repr, "y", anchor_point[NR::Y]); + Geom::Point anchor_point = this->layout.characterAnchorPoint(this->layout.begin()); + sp_repr_set_svg_double(repr, "x", anchor_point[Geom::X]); + sp_repr_set_svg_double(repr, "y", anchor_point[Geom::Y]); for (Inkscape::Text::Layout::iterator it = this->layout.begin() ; it != this->layout.end() ; ) { Inkscape::XML::Node *line_tspan = xml_doc->createElement("svg:tspan"); @@ -547,7 +547,7 @@ SPFlowtext::getAsText() while (it != it_line_end) { Inkscape::XML::Node *span_tspan = xml_doc->createElement("svg:tspan"); - NR::Point anchor_point = this->layout.characterAnchorPoint(it); + Geom::Point anchor_point = this->layout.characterAnchorPoint(it); // use kerning to simulate justification and whatnot Inkscape::Text::Layout::iterator it_span_end = it; it_span_end.nextStartOfSpan(); @@ -574,9 +574,9 @@ SPFlowtext::getAsText() attrs.dx[0] = 0.0; TextTagAttributes(attrs).writeTo(span_tspan); if (set_x) - sp_repr_set_svg_double(span_tspan, "x", anchor_point[NR::X]); // FIXME: this will pick up the wrong end of counter-directional runs + sp_repr_set_svg_double(span_tspan, "x", anchor_point[Geom::X]); // FIXME: this will pick up the wrong end of counter-directional runs if (set_y) - sp_repr_set_svg_double(span_tspan, "y", anchor_point[NR::Y]); + sp_repr_set_svg_double(span_tspan, "y", anchor_point[Geom::Y]); SPObject *source_obj = 0; void *rawptr = 0; @@ -672,7 +672,7 @@ bool SPFlowtext::has_internal_frame() } -SPItem *create_flowtext_with_internal_frame (SPDesktop *desktop, NR::Point p0, NR::Point p1) +SPItem *create_flowtext_with_internal_frame (SPDesktop *desktop, Geom::Point p0, Geom::Point p1) { SPDocument *doc = sp_desktop_document (desktop); @@ -695,14 +695,14 @@ SPItem *create_flowtext_with_internal_frame (SPDesktop *desktop, NR::Point p0, N p0 = sp_desktop_dt2root_xy_point(desktop, p0); p1 = sp_desktop_dt2root_xy_point(desktop, p1); - using NR::X; - using NR::Y; - NR::Coord const x0 = MIN(p0[X], p1[X]); - NR::Coord const y0 = MIN(p0[Y], p1[Y]); - NR::Coord const x1 = MAX(p0[X], p1[X]); - NR::Coord const y1 = MAX(p0[Y], p1[Y]); - NR::Coord const w = x1 - x0; - NR::Coord const h = y1 - y0; + using Geom::X; + using Geom::Y; + Geom::Coord const x0 = MIN(p0[X], p1[X]); + Geom::Coord const y0 = MIN(p0[Y], p1[Y]); + Geom::Coord const x1 = MAX(p0[X], p1[X]); + Geom::Coord const y1 = MAX(p0[Y], p1[Y]); + Geom::Coord const w = x1 - x0; + Geom::Coord const h = y1 - y0; sp_rect_position_set(SP_RECT(rect), x0, y0, w, h); SP_OBJECT(rect)->updateRepr(); diff --git a/src/sp-flowtext.h b/src/sp-flowtext.h index 144157dc9..8889c7a56 100644 --- a/src/sp-flowtext.h +++ b/src/sp-flowtext.h @@ -7,7 +7,7 @@ #include "sp-item.h" #include "display/nr-arena-forward.h" - +#include <2geom/forward.h> #include "libnrtype/Layout-TNG.h" #define SP_TYPE_FLOWTEXT (sp_flowtext_get_type ()) @@ -32,9 +32,9 @@ struct SPFlowtext : public SPItem { Inkscape::Text::Layout layout; /** discards the NRArena objects representing this text. */ - void _clearFlow(NRArenaGroup* in_arena); + void _clearFlow(NRArenaGroup* in_arena); - double par_indent; + double par_indent; private: /** Recursively walks the xml tree adding tags and their contents. */ @@ -47,12 +47,12 @@ private: }; struct SPFlowtextClass { - SPItemClass parent_class; + SPItemClass parent_class; }; GType sp_flowtext_get_type (void); -SPItem *create_flowtext_with_internal_frame (SPDesktop *desktop, NR::Point p1, NR::Point p2); +SPItem *create_flowtext_with_internal_frame (SPDesktop *desktop, Geom::Point p1, Geom::Point p2); #endif diff --git a/src/sp-guide.cpp b/src/sp-guide.cpp index 561e0e62c..bbb85cb78 100644 --- a/src/sp-guide.cpp +++ b/src/sp-guide.cpp @@ -114,7 +114,7 @@ static void sp_guide_class_init(SPGuideClass *gc) static void sp_guide_init(SPGuide *guide) { - guide->normal_to_line = component_vectors[NR::Y]; + guide->normal_to_line = component_vectors[Geom::Y]; guide->point_on_line = Geom::Point(0.,0.); guide->color = 0x0000ff7f; guide->hicolor = 0xff00007f; @@ -185,9 +185,9 @@ static void sp_guide_set(SPObject *object, unsigned int key, const gchar *value) { if (value && !strcmp(value, "horizontal")) { /* Visual representation of a horizontal line, constrain vertically (y coordinate). */ - guide->normal_to_line = component_vectors[NR::Y]; + guide->normal_to_line = component_vectors[Geom::Y]; } else if (value && !strcmp(value, "vertical")) { - guide->normal_to_line = component_vectors[NR::X]; + guide->normal_to_line = component_vectors[Geom::X]; } else if (value) { gchar ** strarray = g_strsplit(value, ",", 2); double newx, newy; @@ -200,11 +200,11 @@ static void sp_guide_set(SPObject *object, unsigned int key, const gchar *value) guide->normal_to_line = direction; } else { // default to vertical line for bad arguments - guide->normal_to_line = component_vectors[NR::X]; + guide->normal_to_line = component_vectors[Geom::X]; } } else { // default to vertical line for bad arguments - guide->normal_to_line = component_vectors[NR::X]; + guide->normal_to_line = component_vectors[Geom::X]; } sp_guide_set_normal(*guide, guide->normal_to_line, false); } @@ -332,7 +332,7 @@ void sp_guide_sensitize(SPGuide *guide, SPCanvas *canvas, gboolean sensitive) g_assert_not_reached(); } -Geom::Point sp_guide_position_from_pt(SPGuide const *guide, NR::Point const &pt) +Geom::Point sp_guide_position_from_pt(SPGuide const *guide, Geom::Point const &pt) { return -(pt - guide->point_on_line); } @@ -409,17 +409,17 @@ void sp_guide_set_normal(SPGuide const &guide, Geom::Point const normal_to_line, */ char *sp_guide_description(SPGuide const *guide) { - using NR::X; - using NR::Y; + using Geom::X; + using Geom::Y; GString *position_string_x = SP_PX_TO_METRIC_STRING(guide->point_on_line[X], SP_ACTIVE_DESKTOP->namedview->getDefaultMetric()); GString *position_string_y = SP_PX_TO_METRIC_STRING(guide->point_on_line[Y], SP_ACTIVE_DESKTOP->namedview->getDefaultMetric()); - if ( guide->normal_to_line == component_vectors[X] || - guide->normal_to_line == -component_vectors[X]) { + if ( are_near(guide->normal_to_line, component_vectors[X]) || + are_near(guide->normal_to_line, -component_vectors[X]) ) { return g_strdup_printf(_("vertical, at %s"), position_string_x->str); - } else if ( guide->normal_to_line == component_vectors[Y] || - guide->normal_to_line == -component_vectors[Y]) { + } else if ( are_near(guide->normal_to_line, component_vectors[Y]) || + are_near(guide->normal_to_line, -component_vectors[Y]) ) { return g_strdup_printf(_("horizontal, at %s"), position_string_y->str); } else { double const radians = guide->angle(); diff --git a/src/sp-guide.h b/src/sp-guide.h index 78c795f83..593e4583f 100644 --- a/src/sp-guide.h +++ b/src/sp-guide.h @@ -14,7 +14,7 @@ #include #include "display/display-forward.h" -#include "libnr/nr-point.h" +#include <2geom/point.h> #include "sp-object.h" #include "sp-guide-attachment.h" @@ -26,7 +26,7 @@ /* Represents the constraint on p that dot(g.direction, p) == g.position. */ struct SPGuide : public SPObject { - NR::Point normal_to_line; + Geom::Point normal_to_line; Geom::Point point_on_line; guint32 color; @@ -53,7 +53,7 @@ void sp_guide_show(SPGuide *guide, SPCanvasGroup *group, GCallback handler); void sp_guide_hide(SPGuide *guide, SPCanvas *canvas); void sp_guide_sensitize(SPGuide *guide, SPCanvas *canvas, gboolean sensitive); -Geom::Point sp_guide_position_from_pt(SPGuide const *guide, NR::Point const &pt); +Geom::Point sp_guide_position_from_pt(SPGuide const *guide, Geom::Point const &pt); double sp_guide_distance_from_pt(SPGuide const *guide, Geom::Point const &pt); void sp_guide_moveto(SPGuide const &guide, Geom::Point const point_on_line, bool const commit); void sp_guide_set_normal(SPGuide const &guide, Geom::Point const normal_to_line, bool const commit); diff --git a/src/sp-image.cpp b/src/sp-image.cpp index 57f8804d9..c9ee25632 100644 --- a/src/sp-image.cpp +++ b/src/sp-image.cpp @@ -53,7 +53,7 @@ #include "color-profile.h" //#define DEBUG_LCMS #ifdef DEBUG_LCMS -#include "prefs-utils.h" +#include "preferences.h" #include #endif // DEBUG_LCMS #endif // ENABLE_LCMS @@ -74,7 +74,7 @@ static Inkscape::XML::Node *sp_image_write (SPObject *object, Inkscape::XML::Doc static void sp_image_bbox(SPItem const *item, NRRect *bbox, Geom::Matrix const &transform, unsigned const flags); static void sp_image_print (SPItem * item, SPPrintContext *ctx); static gchar * sp_image_description (SPItem * item); -static void sp_image_snappoints(SPItem const *item, SnapPointsIter p); +static void sp_image_snappoints(SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs); static NRArenaItem *sp_image_show (SPItem *item, NRArena *arena, unsigned int key, unsigned int flags); static Geom::Matrix sp_image_set_transform (SPItem *item, Geom::Matrix const &xform); static void sp_image_set_curve(SPImage *image); @@ -102,10 +102,11 @@ extern "C" extern guint update_in_progress; #define DEBUG_MESSAGE(key, ...) \ {\ - gint dump = prefs_get_int_attribute_limited("options.scislac", #key, 0, 0, 1);\ - gint dumpD = prefs_get_int_attribute_limited("options.scislac", #key"D", 0, 0, 1);\ - gint dumpD2 = prefs_get_int_attribute_limited("options.scislac", #key"D2", 0, 0, 1);\ - dumpD &= ( (update_in_progress == 0) || dumpD2 );\ + Inkscape::Preferences *prefs = Inkscape::Preferences::get();\ + bool dump = prefs->getBool("/options/scislac/" #key);\ + bool dumpD = prefs->getBool("/options/scislac/" #key "D");\ + bool dumpD2 = prefs->getBool("/options/scislac/" #key "D2");\ + dumpD &&= ( (update_in_progress == 0) || dumpD2 );\ if ( dump )\ {\ g_message( __VA_ARGS__ );\ @@ -1293,7 +1294,7 @@ sp_image_update_canvas_image (SPImage *image) } } -static void sp_image_snappoints(SPItem const *item, SnapPointsIter p) +static void sp_image_snappoints(SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs) { /* An image doesn't have any nodes to snap, but still we want to be able snap one image to another. Therefore we will create some snappoints at the corner, similar to a rect. If diff --git a/src/sp-item-group.cpp b/src/sp-item-group.cpp index 45410960c..d0338f369 100644 --- a/src/sp-item-group.cpp +++ b/src/sp-item-group.cpp @@ -34,7 +34,6 @@ #include "sp-item-transform.h" #include "sp-root.h" #include "sp-use.h" -#include "prefs-utils.h" #include "sp-clippath.h" #include "sp-mask.h" #include "sp-path.h" @@ -69,7 +68,7 @@ static gchar * sp_group_description (SPItem * item); static Geom::Matrix sp_group_set_transform(SPItem *item, Geom::Matrix const &xform); static NRArenaItem *sp_group_show (SPItem *item, NRArena *arena, unsigned int key, unsigned int flags); static void sp_group_hide (SPItem * item, unsigned int key); -static void sp_group_snappoints (SPItem const *item, SnapPointsIter p); +static void sp_group_snappoints (SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs); static void sp_group_update_patheffect(SPLPEItem *lpeitem, bool write); static void sp_group_perform_patheffect(SPGroup *group, SPGroup *topgroup); @@ -79,105 +78,105 @@ static SPLPEItemClass * parent_class; GType sp_group_get_type (void) { - static GType group_type = 0; - if (!group_type) { - GTypeInfo group_info = { - sizeof (SPGroupClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) sp_group_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (SPGroup), - 16, /* n_preallocs */ - (GInstanceInitFunc) sp_group_init, - NULL, /* value_table */ - }; - group_type = g_type_register_static (SP_TYPE_LPE_ITEM, "SPGroup", &group_info, (GTypeFlags)0); - } - return group_type; + static GType group_type = 0; + if (!group_type) { + GTypeInfo group_info = { + sizeof (SPGroupClass), + NULL, /* base_init */ + NULL, /* base_finalize */ + (GClassInitFunc) sp_group_class_init, + NULL, /* class_finalize */ + NULL, /* class_data */ + sizeof (SPGroup), + 16, /* n_preallocs */ + (GInstanceInitFunc) sp_group_init, + NULL, /* value_table */ + }; + group_type = g_type_register_static (SP_TYPE_LPE_ITEM, "SPGroup", &group_info, (GTypeFlags)0); + } + return group_type; } static void sp_group_class_init (SPGroupClass *klass) { - GObjectClass * object_class; - SPObjectClass * sp_object_class; - SPItemClass * item_class; - SPLPEItemClass * lpe_item_class; - - object_class = (GObjectClass *) klass; - sp_object_class = (SPObjectClass *) klass; - item_class = (SPItemClass *) klass; - lpe_item_class = (SPLPEItemClass *) klass; - - parent_class = (SPLPEItemClass *)g_type_class_ref (SP_TYPE_LPE_ITEM); - - object_class->dispose = sp_group_dispose; - - sp_object_class->child_added = sp_group_child_added; - sp_object_class->remove_child = sp_group_remove_child; - sp_object_class->order_changed = sp_group_order_changed; - sp_object_class->update = sp_group_update; - sp_object_class->modified = sp_group_modified; - sp_object_class->set = sp_group_set; - sp_object_class->write = sp_group_write; - sp_object_class->release = sp_group_release; - sp_object_class->build = sp_group_build; - - item_class->bbox = sp_group_bbox; - item_class->print = sp_group_print; - item_class->description = sp_group_description; + GObjectClass * object_class; + SPObjectClass * sp_object_class; + SPItemClass * item_class; + SPLPEItemClass * lpe_item_class; + + object_class = (GObjectClass *) klass; + sp_object_class = (SPObjectClass *) klass; + item_class = (SPItemClass *) klass; + lpe_item_class = (SPLPEItemClass *) klass; + + parent_class = (SPLPEItemClass *)g_type_class_ref (SP_TYPE_LPE_ITEM); + + object_class->dispose = sp_group_dispose; + + sp_object_class->child_added = sp_group_child_added; + sp_object_class->remove_child = sp_group_remove_child; + sp_object_class->order_changed = sp_group_order_changed; + sp_object_class->update = sp_group_update; + sp_object_class->modified = sp_group_modified; + sp_object_class->set = sp_group_set; + sp_object_class->write = sp_group_write; + sp_object_class->release = sp_group_release; + sp_object_class->build = sp_group_build; + + item_class->bbox = sp_group_bbox; + item_class->print = sp_group_print; + item_class->description = sp_group_description; item_class->set_transform = sp_group_set_transform; - item_class->show = sp_group_show; - item_class->hide = sp_group_hide; - item_class->snappoints = sp_group_snappoints; + item_class->show = sp_group_show; + item_class->hide = sp_group_hide; + item_class->snappoints = sp_group_snappoints; - lpe_item_class->update_patheffect = sp_group_update_patheffect; + lpe_item_class->update_patheffect = sp_group_update_patheffect; } static void sp_group_init (SPGroup *group) { - group->_layer_mode = SPGroup::GROUP; + group->_layer_mode = SPGroup::GROUP; group->group = new CGroup(group); - new (&group->_display_modes) std::map(); + new (&group->_display_modes) std::map(); } static void sp_group_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr) { - sp_object_read_attr(object, "inkscape:groupmode"); + sp_object_read_attr(object, "inkscape:groupmode"); - if (((SPObjectClass *)parent_class)->build) { - ((SPObjectClass *)parent_class)->build(object, document, repr); - } + if (((SPObjectClass *)parent_class)->build) { + ((SPObjectClass *)parent_class)->build(object, document, repr); + } } static void sp_group_release(SPObject *object) { - if ( SP_GROUP(object)->_layer_mode == SPGroup::LAYER ) { - sp_document_remove_resource(SP_OBJECT_DOCUMENT(object), "layer", object); - } - if (((SPObjectClass *)parent_class)->release) { - ((SPObjectClass *)parent_class)->release(object); - } + if ( SP_GROUP(object)->_layer_mode == SPGroup::LAYER ) { + sp_document_remove_resource(SP_OBJECT_DOCUMENT(object), "layer", object); + } + if (((SPObjectClass *)parent_class)->release) { + ((SPObjectClass *)parent_class)->release(object); + } } static void sp_group_dispose(GObject *object) { - SP_GROUP(object)->_display_modes.~map(); + SP_GROUP(object)->_display_modes.~map(); delete SP_GROUP(object)->group; } static void sp_group_child_added (SPObject *object, Inkscape::XML::Node *child, Inkscape::XML::Node *ref) { - SPItem *item; + SPItem *item; - item = SP_ITEM (object); + item = SP_ITEM (object); - if (((SPObjectClass *) (parent_class))->child_added) - (* ((SPObjectClass *) (parent_class))->child_added) (object, child, ref); + if (((SPObjectClass *) (parent_class))->child_added) + (* ((SPObjectClass *) (parent_class))->child_added) (object, child, ref); SP_GROUP(object)->group->onChildAdded(child); } @@ -187,8 +186,8 @@ sp_group_child_added (SPObject *object, Inkscape::XML::Node *child, Inkscape::XM static void sp_group_remove_child (SPObject * object, Inkscape::XML::Node * child) { - if (((SPObjectClass *) (parent_class))->remove_child) - (* ((SPObjectClass *) (parent_class))->remove_child) (object, child); + if (((SPObjectClass *) (parent_class))->remove_child) + (* ((SPObjectClass *) (parent_class))->remove_child) (object, child); SP_GROUP(object)->group->onChildRemoved(child); } @@ -196,8 +195,8 @@ sp_group_remove_child (SPObject * object, Inkscape::XML::Node * child) static void sp_group_order_changed (SPObject *object, Inkscape::XML::Node *child, Inkscape::XML::Node *old_ref, Inkscape::XML::Node *new_ref) { - if (((SPObjectClass *) (parent_class))->order_changed) - (* ((SPObjectClass *) (parent_class))->order_changed) (object, child, old_ref, new_ref); + if (((SPObjectClass *) (parent_class))->order_changed) + (* ((SPObjectClass *) (parent_class))->order_changed) (object, child, old_ref, new_ref); SP_GROUP(object)->group->onOrderChanged(child, old_ref, new_ref); } @@ -309,22 +308,22 @@ sp_group_set_transform(SPItem *item, Geom::Matrix const &xform) } static void sp_group_set(SPObject *object, unsigned key, char const *value) { - SPGroup *group = SP_GROUP(object); - - switch (key) { - case SP_ATTR_INKSCAPE_GROUPMODE: - if ( value && !strcmp(value, "layer") ) { - group->setLayerMode(SPGroup::LAYER); - } else { - group->setLayerMode(SPGroup::GROUP); - } - break; - default: { - if (((SPObjectClass *) (parent_class))->set) { - (* ((SPObjectClass *) (parent_class))->set)(object, key, value); - } - } - } + SPGroup *group = SP_GROUP(object); + + switch (key) { + case SP_ATTR_INKSCAPE_GROUPMODE: + if ( value && !strcmp(value, "layer") ) { + group->setLayerMode(SPGroup::LAYER); + } else { + group->setLayerMode(SPGroup::GROUP); + } + break; + default: { + if (((SPObjectClass *) (parent_class))->set) { + (* ((SPObjectClass *) (parent_class))->set)(object, key, value); + } + } + } } static NRArenaItem * @@ -339,39 +338,39 @@ sp_group_hide (SPItem *item, unsigned int key) SP_GROUP(item)->group->hide(key); } -static void sp_group_snappoints (SPItem const *item, SnapPointsIter p) +static void sp_group_snappoints (SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs) { - for (SPObject const *o = sp_object_first_child(SP_OBJECT(item)); - o != NULL; - o = SP_OBJECT_NEXT(o)) - { - if (SP_IS_ITEM(o)) { - sp_item_snappoints(SP_ITEM(o), false, p); - } - } + for (SPObject const *o = sp_object_first_child(SP_OBJECT(item)); + o != NULL; + o = SP_OBJECT_NEXT(o)) + { + if (SP_IS_ITEM(o)) { + sp_item_snappoints(SP_ITEM(o), p, snapprefs); + } + } } void sp_item_group_ungroup (SPGroup *group, GSList **children, bool do_done) { - g_return_if_fail (group != NULL); - g_return_if_fail (SP_IS_GROUP (group)); + g_return_if_fail (group != NULL); + g_return_if_fail (SP_IS_GROUP (group)); - SPDocument *doc = SP_OBJECT_DOCUMENT (group); - SPObject *root = SP_DOCUMENT_ROOT (doc); - SPObject *defs = SP_OBJECT (SP_ROOT (root)->defs); + SPDocument *doc = SP_OBJECT_DOCUMENT (group); + SPObject *root = SP_DOCUMENT_ROOT (doc); + SPObject *defs = SP_OBJECT (SP_ROOT (root)->defs); - SPItem *gitem = SP_ITEM (group); - Inkscape::XML::Node *grepr = SP_OBJECT_REPR (gitem); + SPItem *gitem = SP_ITEM (group); + Inkscape::XML::Node *grepr = SP_OBJECT_REPR (gitem); - g_return_if_fail (!strcmp (grepr->name(), "svg:g") || !strcmp (grepr->name(), "svg:a") || !strcmp (grepr->name(), "svg:switch")); + g_return_if_fail (!strcmp (grepr->name(), "svg:g") || !strcmp (grepr->name(), "svg:a") || !strcmp (grepr->name(), "svg:switch")); // this converts the gradient/pattern fill/stroke on the group, if any, to userSpaceOnUse sp_item_adjust_paint_recursive (gitem, NR::identity(), NR::identity(), false); - SPItem *pitem = SP_ITEM (SP_OBJECT_PARENT (gitem)); - Inkscape::XML::Node *prepr = SP_OBJECT_REPR (pitem); + SPItem *pitem = SP_ITEM (SP_OBJECT_PARENT (gitem)); + Inkscape::XML::Node *prepr = SP_OBJECT_REPR (pitem); if (SP_IS_BOX3D(gitem)) { group = box3d_convert_to_group(SP_BOX3D(gitem)); @@ -380,122 +379,122 @@ sp_item_group_ungroup (SPGroup *group, GSList **children, bool do_done) sp_lpe_item_remove_all_path_effects(SP_LPE_ITEM(group), false); - /* Step 1 - generate lists of children objects */ - GSList *items = NULL; - GSList *objects = NULL; - for (SPObject *child = sp_object_first_child(SP_OBJECT(group)) ; child != NULL; child = SP_OBJECT_NEXT(child) ) { - - if (SP_IS_ITEM (child)) { - - SPItem *citem = SP_ITEM (child); - - /* Merging of style */ - // this converts the gradient/pattern fill/stroke, if any, to userSpaceOnUse; we need to do - // it here _before_ the new transform is set, so as to use the pre-transform bbox - sp_item_adjust_paint_recursive (citem, NR::identity(), NR::identity(), false); - - sp_style_merge_from_dying_parent(SP_OBJECT_STYLE(child), SP_OBJECT_STYLE(gitem)); - /* - * fixme: We currently make no allowance for the case where child is cloned - * and the group has any style settings. - * - * (This should never occur with documents created solely with the current - * version of inkscape without using the XML editor: we usually apply group - * style changes to children rather than to the group itself.) - * - * If the group has no style settings, then - * sp_style_merge_from_dying_parent should be a no-op. Otherwise (i.e. if - * we change the child's style to compensate for its parent going away) - * then those changes will typically be reflected in any clones of child, - * whereas we'd prefer for Ungroup not to affect the visual appearance. - * - * The only way of preserving styling appearance in general is for child to - * be put into a new group -- a somewhat surprising response to an Ungroup - * command. We could add a new groupmode:transparent that would mostly - * hide the existence of such groups from the user (i.e. editing behaves as - * if the transparent group's children weren't in a group), though that's - * extra complication & maintenance burden and this case is rare. - */ - - child->updateRepr(); - - Inkscape::XML::Node *nrepr = SP_OBJECT_REPR (child)->duplicate(prepr->document()); - - // Merging transform - Geom::Matrix ctrans; - Geom::Matrix const g(gitem->transform); - if (SP_IS_USE(citem) && sp_use_get_original (SP_USE(citem)) && - SP_OBJECT_PARENT (sp_use_get_original (SP_USE(citem))) == SP_OBJECT(group)) { - // make sure a clone's effective transform is the same as was under group - ctrans = g.inverse() * citem->transform * g; - } else { - ctrans = citem->transform * g; - } - - // FIXME: constructing a transform that would fully preserve the appearance of a - // textpath if it is ungrouped with its path seems to be impossible in general - // case. E.g. if the group was squeezed, to keep the ungrouped textpath squeezed - // as well, we'll need to relink it to some "virtual" path which is inversely - // stretched relative to the actual path, and then squeeze the textpath back so it - // would both fit the actual path _and_ be squeezed as before. It's a bummer. - - // This is just a way to temporarily remember the transform in repr. When repr is - // reattached outside of the group, the transform will be written more properly - // (i.e. optimized into the object if the corresponding preference is set) - gchar *affinestr=sp_svg_transform_write(ctrans); - nrepr->setAttribute("transform", affinestr); + /* Step 1 - generate lists of children objects */ + GSList *items = NULL; + GSList *objects = NULL; + for (SPObject *child = sp_object_first_child(SP_OBJECT(group)) ; child != NULL; child = SP_OBJECT_NEXT(child) ) { + + if (SP_IS_ITEM (child)) { + + SPItem *citem = SP_ITEM (child); + + /* Merging of style */ + // this converts the gradient/pattern fill/stroke, if any, to userSpaceOnUse; we need to do + // it here _before_ the new transform is set, so as to use the pre-transform bbox + sp_item_adjust_paint_recursive (citem, NR::identity(), NR::identity(), false); + + sp_style_merge_from_dying_parent(SP_OBJECT_STYLE(child), SP_OBJECT_STYLE(gitem)); + /* + * fixme: We currently make no allowance for the case where child is cloned + * and the group has any style settings. + * + * (This should never occur with documents created solely with the current + * version of inkscape without using the XML editor: we usually apply group + * style changes to children rather than to the group itself.) + * + * If the group has no style settings, then + * sp_style_merge_from_dying_parent should be a no-op. Otherwise (i.e. if + * we change the child's style to compensate for its parent going away) + * then those changes will typically be reflected in any clones of child, + * whereas we'd prefer for Ungroup not to affect the visual appearance. + * + * The only way of preserving styling appearance in general is for child to + * be put into a new group -- a somewhat surprising response to an Ungroup + * command. We could add a new groupmode:transparent that would mostly + * hide the existence of such groups from the user (i.e. editing behaves as + * if the transparent group's children weren't in a group), though that's + * extra complication & maintenance burden and this case is rare. + */ + + child->updateRepr(); + + Inkscape::XML::Node *nrepr = SP_OBJECT_REPR (child)->duplicate(prepr->document()); + + // Merging transform + Geom::Matrix ctrans; + Geom::Matrix const g(gitem->transform); + if (SP_IS_USE(citem) && sp_use_get_original (SP_USE(citem)) && + SP_OBJECT_PARENT (sp_use_get_original (SP_USE(citem))) == SP_OBJECT(group)) { + // make sure a clone's effective transform is the same as was under group + ctrans = g.inverse() * citem->transform * g; + } else { + ctrans = citem->transform * g; + } + + // FIXME: constructing a transform that would fully preserve the appearance of a + // textpath if it is ungrouped with its path seems to be impossible in general + // case. E.g. if the group was squeezed, to keep the ungrouped textpath squeezed + // as well, we'll need to relink it to some "virtual" path which is inversely + // stretched relative to the actual path, and then squeeze the textpath back so it + // would both fit the actual path _and_ be squeezed as before. It's a bummer. + + // This is just a way to temporarily remember the transform in repr. When repr is + // reattached outside of the group, the transform will be written more properly + // (i.e. optimized into the object if the corresponding preference is set) + gchar *affinestr=sp_svg_transform_write(ctrans); + nrepr->setAttribute("transform", affinestr); g_free(affinestr); - items = g_slist_prepend (items, nrepr); + items = g_slist_prepend (items, nrepr); - } else { - Inkscape::XML::Node *nrepr = SP_OBJECT_REPR (child)->duplicate(prepr->document()); - objects = g_slist_prepend (objects, nrepr); - } - } + } else { + Inkscape::XML::Node *nrepr = SP_OBJECT_REPR (child)->duplicate(prepr->document()); + objects = g_slist_prepend (objects, nrepr); + } + } - /* Step 2 - clear group */ - // remember the position of the group - gint pos = SP_OBJECT_REPR(group)->position(); + /* Step 2 - clear group */ + // remember the position of the group + gint pos = SP_OBJECT_REPR(group)->position(); - // the group is leaving forever, no heir, clones should take note; its children however are going to reemerge - SP_OBJECT (group)->deleteObject(true, false); + // the group is leaving forever, no heir, clones should take note; its children however are going to reemerge + SP_OBJECT (group)->deleteObject(true, false); - /* Step 3 - add nonitems */ - if (objects) { - Inkscape::XML::Node *last_def = SP_OBJECT_REPR(defs)->lastChild(); - while (objects) { + /* Step 3 - add nonitems */ + if (objects) { + Inkscape::XML::Node *last_def = SP_OBJECT_REPR(defs)->lastChild(); + while (objects) { Inkscape::XML::Node *repr = (Inkscape::XML::Node *) objects->data; if (!sp_repr_is_meta_element(repr)) SP_OBJECT_REPR(defs)->addChild(repr, last_def); Inkscape::GC::release(repr); - objects = g_slist_remove (objects, objects->data); - } - } - - /* Step 4 - add items */ - while (items) { - Inkscape::XML::Node *repr = (Inkscape::XML::Node *) items->data; - // add item + objects = g_slist_remove (objects, objects->data); + } + } + + /* Step 4 - add items */ + while (items) { + Inkscape::XML::Node *repr = (Inkscape::XML::Node *) items->data; + // add item prepr->appendChild(repr); - // restore position; since the items list was prepended (i.e. reverse), we now add - // all children at the same pos, which inverts the order once again - repr->setPosition(pos > 0 ? pos : 0); + // restore position; since the items list was prepended (i.e. reverse), we now add + // all children at the same pos, which inverts the order once again + repr->setPosition(pos > 0 ? pos : 0); - // fill in the children list if non-null - SPItem *item = (SPItem *) doc->getObjectByRepr(repr); + // fill in the children list if non-null + SPItem *item = (SPItem *) doc->getObjectByRepr(repr); - sp_item_write_transform(item, repr, item->transform, NULL, false); + sp_item_write_transform(item, repr, item->transform, NULL, false); - Inkscape::GC::release(repr); - if (children && SP_IS_ITEM (item)) - *children = g_slist_prepend (*children, item); + Inkscape::GC::release(repr); + if (children && SP_IS_ITEM (item)) + *children = g_slist_prepend (*children, item); - items = g_slist_remove (items, items->data); - } + items = g_slist_remove (items, items->data); + } - if (do_done) - sp_document_done (doc, SP_VERB_NONE, _("Ungroup")); + if (do_done) + sp_document_done (doc, SP_VERB_NONE, _("Ungroup")); } /* @@ -506,72 +505,72 @@ GSList * sp_item_group_item_list (SPGroup * group) { GSList *s; - SPObject *o; + SPObject *o; - g_return_val_if_fail (group != NULL, NULL); - g_return_val_if_fail (SP_IS_GROUP (group), NULL); + g_return_val_if_fail (group != NULL, NULL); + g_return_val_if_fail (SP_IS_GROUP (group), NULL); - s = NULL; + s = NULL; - for ( o = sp_object_first_child(SP_OBJECT(group)) ; o != NULL ; o = SP_OBJECT_NEXT(o) ) { - if (SP_IS_ITEM (o)) { - s = g_slist_prepend (s, o); - } - } + for ( o = sp_object_first_child(SP_OBJECT(group)) ; o != NULL ; o = SP_OBJECT_NEXT(o) ) { + if (SP_IS_ITEM (o)) { + s = g_slist_prepend (s, o); + } + } - return g_slist_reverse (s); + return g_slist_reverse (s); } SPObject * sp_item_group_get_child_by_name (SPGroup *group, SPObject *ref, const gchar *name) { - SPObject *child; - child = (ref) ? SP_OBJECT_NEXT(ref) : sp_object_first_child(SP_OBJECT(group)); - while ( child && strcmp (SP_OBJECT_REPR(child)->name(), name) ) { - child = SP_OBJECT_NEXT(child); - } - return child; + SPObject *child; + child = (ref) ? SP_OBJECT_NEXT(ref) : sp_object_first_child(SP_OBJECT(group)); + while ( child && strcmp (SP_OBJECT_REPR(child)->name(), name) ) { + child = SP_OBJECT_NEXT(child); + } + return child; } void SPGroup::setLayerMode(LayerMode mode) { - if ( _layer_mode != mode ) { - if ( mode == LAYER ) { - sp_document_add_resource(SP_OBJECT_DOCUMENT(this), "layer", this); - } else { - sp_document_remove_resource(SP_OBJECT_DOCUMENT(this), "layer", this); - } - _layer_mode = mode; - _updateLayerMode(); - } + if ( _layer_mode != mode ) { + if ( mode == LAYER ) { + sp_document_add_resource(SP_OBJECT_DOCUMENT(this), "layer", this); + } else { + sp_document_remove_resource(SP_OBJECT_DOCUMENT(this), "layer", this); + } + _layer_mode = mode; + _updateLayerMode(); + } } SPGroup::LayerMode SPGroup::layerDisplayMode(unsigned int dkey) const { - std::map::const_iterator iter; - iter = _display_modes.find(dkey); - if ( iter != _display_modes.end() ) { - return (*iter).second; - } else { - return GROUP; - } + std::map::const_iterator iter; + iter = _display_modes.find(dkey); + if ( iter != _display_modes.end() ) { + return (*iter).second; + } else { + return GROUP; + } } void SPGroup::setLayerDisplayMode(unsigned int dkey, SPGroup::LayerMode mode) { - if ( layerDisplayMode(dkey) != mode ) { - _display_modes[dkey] = mode; - _updateLayerMode(dkey); - } + if ( layerDisplayMode(dkey) != mode ) { + _display_modes[dkey] = mode; + _updateLayerMode(dkey); + } } void SPGroup::_updateLayerMode(unsigned int display_key) { - SPItemView *view; - for ( view = this->display ; view ; view = view->next ) { - if ( !display_key || view->key == display_key ) { - NRArenaGroup *arena_group=NR_ARENA_GROUP(view->arenaitem); - if (arena_group) { - nr_arena_group_set_transparent(arena_group, effectiveLayerMode(view->key) == SPGroup::LAYER); - } - } - } + SPItemView *view; + for ( view = this->display ; view ; view = view->next ) { + if ( !display_key || view->key == display_key ) { + NRArenaGroup *arena_group=NR_ARENA_GROUP(view->arenaitem); + if (arena_group) { + nr_arena_group_set_transparent(arena_group, effectiveLayerMode(view->key) == SPGroup::LAYER); + } + } + } } void SPGroup::translateChildItems(Geom::Translate const &tr) @@ -654,7 +653,7 @@ void CGroup::onUpdate(SPCtx *ctx, unsigned int flags) { if (flags & SP_OBJECT_STYLE_MODIFIED_FLAG) { SPObject *object = SP_OBJECT(_group); for (SPItemView *v = SP_ITEM(_group)->display; v != NULL; v = v->next) { - nr_arena_group_set_style(NR_ARENA_GROUP(v->arenaitem), SP_OBJECT_STYLE(object)); + nr_arena_group_set_style(NR_ARENA_GROUP(v->arenaitem), SP_OBJECT_STYLE(object)); } } @@ -685,7 +684,7 @@ void CGroup::onModified(guint flags) { if (flags & SP_OBJECT_STYLE_MODIFIED_FLAG) { SPObject *object = SP_OBJECT(_group); for (SPItemView *v = SP_ITEM(_group)->display; v != NULL; v = v->next) { - nr_arena_group_set_style(NR_ARENA_GROUP(v->arenaitem), SP_OBJECT_STYLE(object)); + nr_arena_group_set_style(NR_ARENA_GROUP(v->arenaitem), SP_OBJECT_STYLE(object)); } } @@ -832,7 +831,7 @@ sp_group_update_patheffect (SPLPEItem *lpeitem, bool write) } } } - + if (sp_lpe_item_has_path_effect(lpeitem) && sp_lpe_item_path_effects_enabled(lpeitem)) { for (PathEffectList::iterator it = lpeitem->path_effect_list->begin(); it != lpeitem->path_effect_list->end(); it++) { @@ -841,7 +840,7 @@ sp_group_update_patheffect (SPLPEItem *lpeitem, bool write) lpeobj->get_lpe()->doBeforeEffect(lpeitem); } } - + sp_group_perform_patheffect(SP_GROUP(lpeitem), SP_GROUP(lpeitem)); } } @@ -856,16 +855,19 @@ sp_group_perform_patheffect(SPGroup *group, SPGroup *topgroup) sp_group_perform_patheffect(SP_GROUP(subitem), topgroup); } else if (SP_IS_SHAPE(subitem)) { SPCurve * c = sp_shape_get_curve(SP_SHAPE(subitem)); - sp_lpe_item_perform_path_effect(SP_LPE_ITEM(topgroup), c); - sp_shape_set_curve(SP_SHAPE(subitem), c, TRUE); - - Inkscape::XML::Node *repr = SP_OBJECT_REPR(subitem); - - gchar *str = sp_svg_write_path(c->get_pathvector()); - repr->setAttribute("d", str); - g_free(str); - - c->unref(); + // only run LPEs when the shape has a curve defined + if (c) { + sp_lpe_item_perform_path_effect(SP_LPE_ITEM(topgroup), c); + sp_shape_set_curve(SP_SHAPE(subitem), c, TRUE); + + Inkscape::XML::Node *repr = SP_OBJECT_REPR(subitem); + + gchar *str = sp_svg_write_path(c->get_pathvector()); + repr->setAttribute("d", str); + g_free(str); + + c->unref(); + } } } } diff --git a/src/sp-item-notify-moveto.cpp b/src/sp-item-notify-moveto.cpp index a51674c3a..5cc169221 100644 --- a/src/sp-item-notify-moveto.cpp +++ b/src/sp-item-notify-moveto.cpp @@ -25,7 +25,7 @@ void sp_item_notify_moveto(SPItem &item, SPGuide const &mv_g, int const snappoin g_return_if_fail( dir_lensq != 0 ); std::vector snappoints; - sp_item_snappoints(&item, true, SnapPointsIter(snappoints)); + sp_item_snappoints(&item, SnapPointsIter(snappoints), NULL); g_return_if_fail( snappoint_ix < int(snappoints.size()) ); double const pos0 = dot(dir, snappoints[snappoint_ix]); diff --git a/src/sp-item-rm-unsatisfied-cns.cpp b/src/sp-item-rm-unsatisfied-cns.cpp index d10e1d543..6d7ab2fda 100644 --- a/src/sp-item-rm-unsatisfied-cns.cpp +++ b/src/sp-item-rm-unsatisfied-cns.cpp @@ -15,7 +15,7 @@ void sp_item_rm_unsatisfied_cns(SPItem &item) return; } std::vector snappoints; - sp_item_snappoints(&item, true, SnapPointsIter(snappoints)); + sp_item_snappoints(&item, SnapPointsIter(snappoints), NULL); for (unsigned i = item.constraints.size(); i--;) { g_assert( i < item.constraints.size() ); SPGuideConstraint const &cn = item.constraints[i]; diff --git a/src/sp-item-update-cns.cpp b/src/sp-item-update-cns.cpp index 55846f4b7..f7329bd45 100644 --- a/src/sp-item-update-cns.cpp +++ b/src/sp-item-update-cns.cpp @@ -10,7 +10,7 @@ using std::vector; void sp_item_update_cns(SPItem &item, SPDesktop const &desktop) { std::vector snappoints; - sp_item_snappoints(&item, true, SnapPointsIter(snappoints)); + sp_item_snappoints(&item, SnapPointsIter(snappoints), NULL); /* TODO: Implement the ordering. */ vector found_cns; satisfied_guide_cns(desktop, snappoints, found_cns); diff --git a/src/sp-item.cpp b/src/sp-item.cpp index c993a6163..99f543328 100644 --- a/src/sp-item.cpp +++ b/src/sp-item.cpp @@ -49,7 +49,7 @@ #include "sp-pattern.h" #include "sp-switch.h" #include "gradient-chemistry.h" -#include "prefs-utils.h" +#include "preferences.h" #include "conn-avoid-ref.h" #include "conditions.h" #include "sp-filter-reference.h" @@ -90,7 +90,7 @@ static void sp_item_update(SPObject *object, SPCtx *ctx, guint flags); static Inkscape::XML::Node *sp_item_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags); static gchar *sp_item_private_description(SPItem *item); -static void sp_item_private_snappoints(SPItem const *item, SnapPointsIter p); +static void sp_item_private_snappoints(SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs); static SPItemView *sp_item_view_new_prepend(SPItemView *list, SPItem *item, unsigned flags, unsigned key, NRArenaItem *arenaitem); static SPItemView *sp_item_view_list_remove(SPItemView *list, SPItemView *view); @@ -721,6 +721,10 @@ sp_item_write(SPObject *const object, Inkscape::XML::Document *xml_doc, Inkscape return repr; } +/** + * \return There is no guarantee that the return value will contain a rectangle. + If this item does not have a boundingbox, it might well be empty. + */ boost::optional SPItem::getBounds(Geom::Matrix const &transform, SPItem::BBoxType type, unsigned int /*dkey*/) const @@ -746,7 +750,10 @@ sp_item_invoke_bbox(SPItem const *item, NRRect *bbox, Geom::Matrix const &transf /** Calls \a item's subclass' bounding box method; clips it by the bbox of clippath, if any; and * unions the resulting bbox with \a bbox. If \a clear is true, empties \a bbox first. Passes the * transform and the flags to the actual bbox methods. Note that many of subclasses (e.g. groups, - * clones), in turn, call this function in their bbox methods. */ + * clones), in turn, call this function in their bbox methods. + * \retval bbox Note that there is no guarantee that bbox will contain a rectangle when the + * function returns. If this item does not have a boundingbox, this might well be empty. + */ void sp_item_invoke_bbox_full(SPItem const *item, boost::optional &bbox, Geom::Matrix const &transform, unsigned const flags, unsigned const clear) { @@ -931,7 +938,7 @@ boost::optional sp_item_bbox_desktop(SPItem *item, SPItem::BBoxType return rect; } -static void sp_item_private_snappoints(SPItem const *item, SnapPointsIter p) +static void sp_item_private_snappoints(SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs) { /* This will only be called if the derived class doesn't override this. * see for example sp_genericellipse_snappoints in sp-ellipse.cpp @@ -952,7 +959,7 @@ static void sp_item_private_snappoints(SPItem const *item, SnapPointsIter p) } -void sp_item_snappoints(SPItem const *item, bool includeItemCenter, SnapPointsIter p) +void sp_item_snappoints(SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs) { g_assert (item != NULL); g_assert (SP_IS_ITEM(item)); @@ -960,11 +967,11 @@ void sp_item_snappoints(SPItem const *item, bool includeItemCenter, SnapPointsIt // Get the snappoints of the item SPItemClass const &item_class = *(SPItemClass const *) G_OBJECT_GET_CLASS(item); if (item_class.snappoints) { - item_class.snappoints(item, p); + item_class.snappoints(item, p, snapprefs); } // Get the snappoints at the item's center - if (includeItemCenter) { + if (snapprefs != NULL && snapprefs->getIncludeItemCenter()) { *p = item->getCenter(); } @@ -981,7 +988,7 @@ void sp_item_snappoints(SPItem const *item, bool includeItemCenter, SnapPointsIt if (SP_IS_ITEM(child)) { std::vector p_clip_or_mask; // Please note the recursive call here! - sp_item_snappoints(SP_ITEM(child), includeItemCenter, SnapPointsIter(p_clip_or_mask)); + sp_item_snappoints(SP_ITEM(child), SnapPointsIter(p_clip_or_mask), snapprefs); // Take into account the transformation of the item being clipped or masked for (std::vector::const_iterator p_orig = p_clip_or_mask.begin(); p_orig != p_clip_or_mask.end(); p_orig++) { // All snappoints are in desktop coordinates, but the item's transformation is @@ -1409,26 +1416,27 @@ sp_item_write_transform(SPItem *item, Inkscape::XML::Node *repr, Geom::Matrix co advertized_transform = sp_item_transform_repr (item).inverse() * transform; } + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); if (compensate) { // recursively compensate for stroke scaling, depending on user preference - if (prefs_get_int_attribute("options.transform", "stroke", 1) == 0) { + if (!prefs->getBool("/options/transform/stroke", true)) { double const expansion = 1. / advertized_transform.descrim(); sp_item_adjust_stroke_width_recursive(item, expansion); } // recursively compensate rx/ry of a rect if requested - if (prefs_get_int_attribute("options.transform", "rectcorners", 1) == 0) { + if (!prefs->getBool("/options/transform/rectcorners", true)) { sp_item_adjust_rects_recursive(item, advertized_transform); } // recursively compensate pattern fill if it's not to be transformed - if (prefs_get_int_attribute("options.transform", "pattern", 1) == 0) { + if (!prefs->getBool("/options/transform/pattern", true)) { sp_item_adjust_paint_recursive (item, advertized_transform.inverse(), Geom::identity(), true); } /// \todo FIXME: add the same else branch as for gradients below, to convert patterns to userSpaceOnUse as well /// recursively compensate gradient fill if it's not to be transformed - if (prefs_get_int_attribute("options.transform", "gradient", 1) == 0) { + if (!prefs->getBool("/options/transform/gradient", true)) { sp_item_adjust_paint_recursive (item, advertized_transform.inverse(), Geom::identity(), false); } else { // this converts the gradient/pattern fill/stroke, if any, to userSpaceOnUse; we need to do @@ -1438,7 +1446,7 @@ sp_item_write_transform(SPItem *item, Inkscape::XML::Node *repr, Geom::Matrix co } // endif(compensate) - gint preserve = prefs_get_int_attribute("options.preservetransform", "value", 0); + gint preserve = prefs->getBool("/options/preservetransform/value", 0); Geom::Matrix transform_attr (transform); if ( // run the object's set_transform (i.e. embed transform) only if: ((SPItemClass *) G_OBJECT_GET_CLASS(item))->set_transform && // it does have a set_transform method @@ -1727,7 +1735,8 @@ sp_item_convert_to_guides(SPItem *item) { SPNamedView *nv = sp_desktop_namedview(dt); (void)nv; - int prefs_bbox = prefs_get_int_attribute("tools", "bounding_box", 0); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int prefs_bbox = prefs->getInt("/tools/bounding_box", 0); SPItem::BBoxType bbox_type = (prefs_bbox ==0)? SPItem::APPROXIMATE_BBOX : SPItem::GEOMETRIC_BBOX; diff --git a/src/sp-item.h b/src/sp-item.h index a900c4b87..cd0a376bb 100644 --- a/src/sp-item.h +++ b/src/sp-item.h @@ -25,6 +25,7 @@ #include #include <2geom/forward.h> #include +#include class SPGuideConstraint; struct SPClipPathReference; @@ -195,7 +196,7 @@ struct SPItemClass { /** Write to an iterator the points that should be considered for snapping * as the item's `nodes'. */ - void (* snappoints) (SPItem const *item, SnapPointsIter p); + void (* snappoints) (SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs); /** Apply the transform optimally, and return any residual transformation */ Geom::Matrix (* set_transform)(SPItem *item, Geom::Matrix const &transform); @@ -228,7 +229,7 @@ unsigned int sp_item_display_key_new(unsigned int numkeys); NRArenaItem *sp_item_invoke_show(SPItem *item, NRArena *arena, unsigned int key, unsigned int flags); void sp_item_invoke_hide(SPItem *item, unsigned int key); -void sp_item_snappoints(SPItem const *item, bool includeItemCenter, SnapPointsIter p); +void sp_item_snappoints(SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs); void sp_item_adjust_pattern(SPItem *item, /* Geom::Matrix const &premul, */ Geom::Matrix const &postmul, bool set = false); void sp_item_adjust_gradient(SPItem *item, /* Geom::Matrix const &premul, */ Geom::Matrix const &postmul, bool set = false); diff --git a/src/sp-lpe-item.cpp b/src/sp-lpe-item.cpp index 5ab9e27d6..0fe02e01d 100644 --- a/src/sp-lpe-item.cpp +++ b/src/sp-lpe-item.cpp @@ -309,11 +309,17 @@ void sp_lpe_item_perform_path_effect(SPLPEItem *lpeitem, SPCurve *curve) { { LivePathEffectObject *lpeobj = (*it)->lpeobject; if (!lpeobj) { + /** \todo Investigate the cause of this. + * For example, this happens when copy pasting an object with LPE applied. Probably because the object is pasted while the effect is not yet pasted to defs, and cannot be found. + */ g_warning("sp_lpe_item_perform_path_effect - NULL lpeobj in list!"); return; } Inkscape::LivePathEffect::Effect *lpe = lpeobj->get_lpe(); if (!lpe) { + /** \todo Investigate the cause of this. + * Not sure, but I think this can happen when an unknown effect type is specified... + */ g_warning("sp_lpe_item_perform_path_effect - lpeobj without lpe!"); return; } @@ -335,8 +341,10 @@ void sp_lpe_item_perform_path_effect(SPLPEItem *lpeitem, SPCurve *curve) { } catch (std::exception & e) { g_warning("Exception during LPE %s execution. \n %s", lpe->getName().c_str(), e.what()); - SP_ACTIVE_DESKTOP->messageStack()->flash( Inkscape::WARNING_MESSAGE, - _("An exception occurred during execution of the Path Effect.") ); + if (SP_ACTIVE_DESKTOP && SP_ACTIVE_DESKTOP->messageStack()) { + SP_ACTIVE_DESKTOP->messageStack()->flash( Inkscape::WARNING_MESSAGE, + _("An exception occurred during execution of the Path Effect.") ); + } } } } @@ -362,11 +370,13 @@ sp_lpe_item_update_patheffect (SPLPEItem *lpeitem, bool wholetree, bool write) PathEffectList lpelist = sp_lpe_item_get_effect_list(lpeitem); std::list::iterator i; for (i = lpelist.begin(); i != lpelist.end(); ++i) { - Inkscape::LivePathEffect::Effect *lpe = (*i)->lpeobject->get_lpe(); - if (dynamic_cast(lpe)) { - if (!lpe->isVisible()) { - // we manually disable text for LPEPathLength - dynamic_cast(lpe)->hideCanvasText(); + if ((*i)->lpeobject) { + Inkscape::LivePathEffect::Effect *lpe = (*i)->lpeobject->get_lpe(); + if (dynamic_cast(lpe)) { + if (!lpe->isVisible()) { + // we manually disable text for LPEPathLength + dynamic_cast(lpe)->hideCanvasText(); + } } } } diff --git a/src/sp-namedview.cpp b/src/sp-namedview.cpp index 006e3a140..a73c178c7 100644 --- a/src/sp-namedview.cpp +++ b/src/sp-namedview.cpp @@ -30,7 +30,7 @@ #include "sp-guide.h" #include "sp-item-group.h" #include "sp-namedview.h" -#include "prefs-utils.h" +#include "preferences.h" #include "desktop.h" #include "conn-avoid-ref.h" // for defaultConnSpacing. @@ -251,6 +251,7 @@ static void sp_namedview_build(SPObject *object, SPDocument *document, Inkscape: sp_object_read_attr(object, "inkscape:snap-nodes"); sp_object_read_attr(object, "inkscape:snap-guide"); sp_object_read_attr(object, "inkscape:snap-center"); + sp_object_read_attr(object, "inkscape:snap-smooth-nodes"); sp_object_read_attr(object, "inkscape:snap-intersection-grid-guide"); sp_object_read_attr(object, "inkscape:snap-intersection-paths"); sp_object_read_attr(object, "inkscape:object-paths"); @@ -454,7 +455,7 @@ static void sp_namedview_set(SPObject *object, unsigned int key, const gchar *va object->requestModified(SP_OBJECT_MODIFIED_FLAG); break; case SP_ATTR_INKSCAPE_SNAP_GLOBAL: - nv->snap_manager.setSnapEnabledGlobally(value ? sp_str_to_bool(value) : TRUE); + nv->snap_manager.snapprefs.setSnapEnabledGlobally(value ? sp_str_to_bool(value) : TRUE); object->requestModified(SP_OBJECT_MODIFIED_FLAG); break; case SP_ATTR_INKSCAPE_SNAP_INDICATOR: @@ -462,27 +463,31 @@ static void sp_namedview_set(SPObject *object, unsigned int key, const gchar *va object->requestModified(SP_OBJECT_MODIFIED_FLAG); break; case SP_ATTR_INKSCAPE_SNAP_BBOX: - nv->snap_manager.setSnapModeBBox(value ? sp_str_to_bool(value) : FALSE); + nv->snap_manager.snapprefs.setSnapModeBBox(value ? sp_str_to_bool(value) : FALSE); object->requestModified(SP_OBJECT_MODIFIED_FLAG); break; case SP_ATTR_INKSCAPE_SNAP_NODES: - nv->snap_manager.setSnapModeNode(value ? sp_str_to_bool(value) : TRUE); + nv->snap_manager.snapprefs.setSnapModeNode(value ? sp_str_to_bool(value) : TRUE); object->requestModified(SP_OBJECT_MODIFIED_FLAG); break; case SP_ATTR_INKSCAPE_SNAP_CENTER: - nv->snap_manager.setIncludeItemCenter(value ? sp_str_to_bool(value) : FALSE); + nv->snap_manager.snapprefs.setIncludeItemCenter(value ? sp_str_to_bool(value) : FALSE); object->requestModified(SP_OBJECT_MODIFIED_FLAG); break; + case SP_ATTR_INKSCAPE_SNAP_SMOOTH_NODES: + nv->snap_manager.snapprefs.setSnapSmoothNodes(value ? sp_str_to_bool(value) : FALSE); + object->requestModified(SP_OBJECT_MODIFIED_FLAG); + break; case SP_ATTR_INKSCAPE_SNAP_GUIDE: - nv->snap_manager.setSnapModeGuide(value ? sp_str_to_bool(value) : FALSE); + nv->snap_manager.snapprefs.setSnapModeGuide(value ? sp_str_to_bool(value) : FALSE); object->requestModified(SP_OBJECT_MODIFIED_FLAG); break; case SP_ATTR_INKSCAPE_SNAP_INTERS_GRIDGUIDE: - nv->snap_manager.setSnapIntersectionGG(value ? sp_str_to_bool(value) : TRUE); + nv->snap_manager.snapprefs.setSnapIntersectionGG(value ? sp_str_to_bool(value) : TRUE); object->requestModified(SP_OBJECT_MODIFIED_FLAG); break; case SP_ATTR_INKSCAPE_SNAP_INTERS_PATHS: - nv->snap_manager.setSnapIntersectionCS(value ? sp_str_to_bool(value) : FALSE); + nv->snap_manager.snapprefs.setSnapIntersectionCS(value ? sp_str_to_bool(value) : FALSE); object->requestModified(SP_OBJECT_MODIFIED_FLAG); break; case SP_ATTR_INKSCAPE_OBJECT_PATHS: @@ -582,22 +587,12 @@ sp_namedview_add_grid(SPNamedView *nv, Inkscape::XML::Node *repr, SPDesktop *des if (!grid) { //create grid object Inkscape::GridType gridtype = Inkscape::CanvasGrid::getGridTypeFromSVGName(repr->attribute("type")); - SPDocument *doc = NULL; - if (desktop) - doc = sp_desktop_document(desktop); - else - doc = sp_desktop_document(static_cast(nv->views->data)); - if (!doc) { + if (!nv->document) { g_warning("sp_namedview_add_grid - how come doc is null here?!"); return NULL; } - grid = Inkscape::CanvasGrid::NewGrid(nv, repr, doc, gridtype); + grid = Inkscape::CanvasGrid::NewGrid(nv, repr, nv->document, gridtype); nv->grids = g_slist_append(nv->grids, grid); - //Initialize the snapping parameters for the new grid - bool enabled_node = nv->snap_manager.getSnapModeNode(); - bool enabled_bbox = nv->snap_manager.getSnapModeBBox(); - grid->snapper->setSnapFrom(Inkscape::Snapper::SNAPPOINT_NODE, enabled_node); - grid->snapper->setSnapFrom(Inkscape::Snapper::SNAPPOINT_BBOX, enabled_bbox); } if (!desktop) { @@ -742,8 +737,8 @@ void SPNamedView::show(SPDesktop *desktop) void sp_namedview_window_from_document(SPDesktop *desktop) { SPNamedView *nv = desktop->namedview; - gint geometry_from_file = - (1==prefs_get_int_attribute("options.savewindowgeometry", "value", 0)); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + bool geometry_from_file = prefs->getBool("/options/savewindowgeometry/value"); // restore window size and position stored with the document if (geometry_from_file) { @@ -810,8 +805,8 @@ void sp_namedview_update_layers_from_document (SPDesktop *desktop) void sp_namedview_document_from_window(SPDesktop *desktop) { - gint save_geometry_in_file = - (1==prefs_get_int_attribute("options.savewindowgeometry", "value", 0)); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + bool save_geometry_in_file = prefs->getBool("/options/savewindowgeometry/value", 0); Inkscape::XML::Node *view = SP_OBJECT_REPR(desktop->namedview); Geom::Rect const r = desktop->get_display_area(); diff --git a/src/sp-offset.cpp b/src/sp-offset.cpp index 877bc6823..c91b0ad0d 100644 --- a/src/sp-offset.cpp +++ b/src/sp-offset.cpp @@ -31,7 +31,7 @@ #include "livarot/Shape.h" #include "enums.h" -#include "prefs-utils.h" +#include "preferences.h" #include "sp-text.h" #include "sp-offset.h" #include "sp-use-reference.h" @@ -83,7 +83,7 @@ static void sp_offset_update (SPObject * object, SPCtx * ctx, guint flags); static void sp_offset_release (SPObject * object); static gchar *sp_offset_description (SPItem * item); -static void sp_offset_snappoints(SPItem const *item, SnapPointsIter p); +static void sp_offset_snappoints(SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs); static void sp_offset_set_shape (SPShape * shape); static void refresh_offset_source(SPOffset* offset); @@ -241,7 +241,7 @@ sp_offset_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *rep gchar const *oldA = object->repr->attribute("inkscape:href"); if (oldA) { size_t lA = strlen(oldA); - char *nA=(char*)malloc((lA+1)*sizeof(char)); + char *nA=(char*)malloc((1+lA+1)*sizeof(char)); memcpy(nA+1,oldA,lA*sizeof(char)); nA[0]='#'; nA[lA+1]=0; @@ -718,10 +718,10 @@ sp_offset_set_shape(SPShape *shape) /** * Virtual snappoints function. */ -static void sp_offset_snappoints(SPItem const *item, SnapPointsIter p) +static void sp_offset_snappoints(SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs) { if (((SPItemClass *) parent_class)->snappoints) { - ((SPItemClass *) parent_class)->snappoints (item, p); + ((SPItemClass *) parent_class)->snappoints (item, p, snapprefs); } } @@ -885,7 +885,7 @@ sp_offset_distance_to_original (SPOffset * offset, NR::Point px) } while (cb >= 0 && pb >= 0 && pb != fb); } - } + } } // loop over the edges to try to improve the distance for (int i = 0; i < theRes->numberOfEdges(); i++) @@ -895,7 +895,7 @@ sp_offset_distance_to_original (SPOffset * offset, NR::Point px) NR::Point nx = ex - sx; double len = sqrt (dot(nx,nx)); if (len > 0.0001) - { + { NR::Point pxsx=px-sx; double ab = dot(nx,pxsx); if (ab > 0 && ab < len * len) @@ -908,7 +908,7 @@ sp_offset_distance_to_original (SPOffset * offset, NR::Point px) arSet = true; } } - } + } } if (arSet || ptSet) { @@ -1023,7 +1023,8 @@ sp_offset_href_changed(SPObject */*old_ref*/, SPObject */*ref*/, SPOffset *offse static void sp_offset_move_compensate(Geom::Matrix const *mp, SPItem */*original*/, SPOffset *self) { - guint mode = prefs_get_int_attribute("options.clonecompensation", "value", SP_CLONE_COMPENSATION_PARALLEL); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + guint mode = prefs->getInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_PARALLEL); if (mode == SP_CLONE_COMPENSATION_NONE) return; Geom::Matrix m(*mp); @@ -1055,7 +1056,8 @@ sp_offset_move_compensate(Geom::Matrix const *mp, SPItem */*original*/, SPOffset static void sp_offset_delete_self(SPObject */*deleted*/, SPOffset *offset) { - guint const mode = prefs_get_int_attribute("options.cloneorphans", "value", SP_CLONE_ORPHANS_UNLINK); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + guint const mode = prefs->getInt("/options/cloneorphans/value", SP_CLONE_ORPHANS_UNLINK); if (mode == SP_CLONE_ORPHANS_UNLINK) { // leave it be. just forget about the source diff --git a/src/sp-offset.h b/src/sp-offset.h index 1ccffd0ff..0e1a9d4e5 100644 --- a/src/sp-offset.h +++ b/src/sp-offset.h @@ -4,7 +4,7 @@ /** \file * SPOffset class. * - * Authors: + * Authors: * Mitsuru Oka * Lauris Kaplinski * (of the sp-spiral.h upon which this file was created) @@ -31,52 +31,52 @@ class SPUseReference; /** * SPOffset class. * - * An offset is defined by curve and radius. The original curve is kept as - * a path in a sodipodi:original attribute. It's not possible to change + * An offset is defined by curve and radius. The original curve is kept as + * a path in a sodipodi:original attribute. It's not possible to change * the original curve. * * SPOffset is a derivative of SPShape, much like the SPSpiral or SPRect. - * The goal is to have a source shape (= originalPath), an offset (= radius) - * and compute the offset of the source by the radius. To get it to work, - * one needs to know what the source is and what the radius is, and how it's - * stored in the xml representation. The object itself is a "path" element, - * to get lots of shape functionality for free. The source is the easy part: - * it's stored in a "inkscape:original" attribute in the path. In case of + * The goal is to have a source shape (= originalPath), an offset (= radius) + * and compute the offset of the source by the radius. To get it to work, + * one needs to know what the source is and what the radius is, and how it's + * stored in the xml representation. The object itself is a "path" element, + * to get lots of shape functionality for free. The source is the easy part: + * it's stored in a "inkscape:original" attribute in the path. In case of * "linked" offset, as they've been dubbed, there is an additional - * "inkscape:href" that contains the id of an element of the svg. - * When built, the object will attach a listener vector to that object and - * rebuild the "inkscape:original" whenever the href'd object changes. This - * is of course grossly inefficient, and also does not react to changes - * to the href'd during context stuff (like changing the shape of a star by - * dragging control points) unless the path of that object is changed during - * the context (seems to be the case for SPEllipse). The computation of the - * offset is done in sp_offset_set_shape(), a function that is called whenever + * "inkscape:href" that contains the id of an element of the svg. + * When built, the object will attach a listener vector to that object and + * rebuild the "inkscape:original" whenever the href'd object changes. This + * is of course grossly inefficient, and also does not react to changes + * to the href'd during context stuff (like changing the shape of a star by + * dragging control points) unless the path of that object is changed during + * the context (seems to be the case for SPEllipse). The computation of the + * offset is done in sp_offset_set_shape(), a function that is called whenever * a change occurs to the offset (change of source or change of radius). - * just like the sp-star and other, this path derivative can make control - * points, or more precisely one control point, that's enough to define the + * just like the sp-star and other, this path derivative can make control + * points, or more precisely one control point, that's enough to define the * radius (look in object-edit). */ struct SPOffset : public SPShape { - void *originalPath; ///< will be a livarot Path, just don't declare it here to please the gcc linker - char *original; ///< SVG description of the source path - float rad; ///< offset radius - - /// for interactive setting of the radius - bool knotSet; - NR::Point knot; - - bool sourceDirty; - bool isUpdating; - - gchar *sourceHref; - SPUseReference *sourceRef; - Inkscape::XML::Node *sourceRepr; ///< the repr associated with that id - SPObject *sourceObject; - - sigc::connection _modified_connection; - sigc::connection _delete_connection; - sigc::connection _changed_connection; - sigc::connection _transformed_connection; + void *originalPath; ///< will be a livarot Path, just don't declare it here to please the gcc linker + char *original; ///< SVG description of the source path + float rad; ///< offset radius + + /// for interactive setting of the radius + bool knotSet; + NR::Point knot; + + bool sourceDirty; + bool isUpdating; + + gchar *sourceHref; + SPUseReference *sourceRef; + Inkscape::XML::Node *sourceRepr; ///< the repr associated with that id + SPObject *sourceObject; + + sigc::connection _modified_connection; + sigc::connection _delete_connection; + sigc::connection _changed_connection; + sigc::connection _transformed_connection; }; /// The SPOffset vtable. diff --git a/src/sp-path.cpp b/src/sp-path.cpp index 16e3bec40..404612be3 100644 --- a/src/sp-path.cpp +++ b/src/sp-path.cpp @@ -42,7 +42,6 @@ #include "inkscape.h" #include "style.h" #include "message-stack.h" -#include "prefs-utils.h" #include "selection.h" #define noPATH_VERBOSE @@ -383,34 +382,34 @@ sp_path_set_transform(SPItem *item, Geom::Matrix const &xform) return Geom::identity(); } + static void sp_path_update_patheffect(SPLPEItem *lpeitem, bool write) { SPShape * const shape = (SPShape *) lpeitem; SPPath * const path = (SPPath *) lpeitem; - if (sp_lpe_item_has_path_effect(lpeitem) && sp_lpe_item_path_effects_enabled(lpeitem)) { - if (path->original_curve) { - SPCurve *curve = path->original_curve->copy(); - sp_shape_set_curve_insync(shape, curve, TRUE); - sp_lpe_item_perform_path_effect(SP_LPE_ITEM(shape), curve); - SP_OBJECT(shape)->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); - curve->unref(); - - if (write) { - // could also do SP_OBJECT(shape)->updateRepr(); but only the d attribute needs updating. - Inkscape::XML::Node *repr = SP_OBJECT_REPR(shape); - if ( shape->curve != NULL ) { - gchar *str = sp_svg_write_path(shape->curve->get_pathvector()); - repr->setAttribute("d", str); - g_free(str); - } else { - repr->setAttribute("d", NULL); - } + if (path->original_curve) { + // if a path does not have an lpeitem applied, then reset the curve to the original_curve. + // This is very important for LPEs on groups to work properly! + SPCurve *curve = path->original_curve->copy(); + sp_shape_set_curve_insync(shape, curve, TRUE); + sp_lpe_item_perform_path_effect(SP_LPE_ITEM(shape), curve); + SP_OBJECT(shape)->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); // this might be optimized in future for the case when this path is in a group with lpe applied (and will therefore have its curve change again when the group LPE is applied) + curve->unref(); + + if (write) { + // could also do SP_OBJECT(shape)->updateRepr(); but only the d attribute needs updating. + Inkscape::XML::Node *repr = SP_OBJECT_REPR(shape); + if ( shape->curve != NULL ) { + gchar *str = sp_svg_write_path(shape->curve->get_pathvector()); + repr->setAttribute("d", str); + g_free(str); + } else { + repr->setAttribute("d", NULL); } } } - // else: do nothing. } diff --git a/src/sp-rect.cpp b/src/sp-rect.cpp index 36e64614e..ab0ea3d72 100644 --- a/src/sp-rect.cpp +++ b/src/sp-rect.cpp @@ -30,7 +30,7 @@ #include #include "xml/repr.h" #include "sp-guide.h" -#include "prefs-utils.h" +#include "preferences.h" #define noRECT_VERBOSE @@ -47,7 +47,7 @@ static Geom::Matrix sp_rect_set_transform(SPItem *item, Geom::Matrix const &xfor static void sp_rect_convert_to_guides(SPItem *item); static void sp_rect_set_shape(SPShape *shape); -static void sp_rect_snappoints(SPItem const *item, SnapPointsIter p); +static void sp_rect_snappoints(SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs); static SPShapeClass *parent_class; @@ -546,7 +546,7 @@ sp_rect_get_visible_height(SPRect *rect) /** * Sets the snappoint p to the unrounded corners of the rectangle */ -static void sp_rect_snappoints(SPItem const *item, SnapPointsIter p) +static void sp_rect_snappoints(SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs) { /* This method overrides sp_shape_snappoints, which is the default for any shape. The default method returns all eight points along the path of a rounded rectangle, but not the real corners. Snapping @@ -572,7 +572,8 @@ void sp_rect_convert_to_guides(SPItem *item) { SPRect *rect = SP_RECT(item); - if (prefs_get_int_attribute("tools.shapes.rect", "convertguides", 1) == 0) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (!prefs->getBool("/tools/shapes/rect/convertguides", true)) { sp_item_convert_to_guides(SP_ITEM(rect)); return; } diff --git a/src/sp-shape.cpp b/src/sp-shape.cpp index bdffd821c..fb3bb9e6a 100644 --- a/src/sp-shape.cpp +++ b/src/sp-shape.cpp @@ -37,7 +37,7 @@ #include "style.h" #include "marker.h" #include "sp-path.h" -#include "prefs-utils.h" +#include "preferences.h" #include "attributes.h" #include "live_effects/lpeobject.h" @@ -67,7 +67,7 @@ static void sp_shape_bbox(SPItem const *item, NRRect *bbox, Geom::Matrix const & void sp_shape_print (SPItem * item, SPPrintContext * ctx); static NRArenaItem *sp_shape_show (SPItem *item, NRArena *arena, unsigned int key, unsigned int flags); static void sp_shape_hide (SPItem *item, unsigned int key); -static void sp_shape_snappoints (SPItem const *item, SnapPointsIter p); +static void sp_shape_snappoints (SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs); static void sp_shape_update_marker_view (SPShape *shape, NRArenaItem *ai); @@ -251,7 +251,6 @@ sp_shape_update (SPObject *object, SPCtx *ctx, unsigned int flags) * that the appropriate marker objects are present (or absent) to * match the style. */ - /* TODO: It would be nice if this could be done at an earlier level */ for (int i = 0 ; i < SP_MARKER_LOC_QTY ; i++) { sp_shape_set_marker (object, i, object->style->marker[i].value); } @@ -287,7 +286,6 @@ sp_shape_update (SPObject *object, SPCtx *ctx, unsigned int flags) if (sp_shape_has_markers (shape)) { /* Dimension marker views */ for (SPItemView *v = item->display; v != NULL; v = v->next) { - for (int i = 0 ; i < SP_MARKER_LOC_QTY ; i++) { if (shape->marker[i]) { sp_marker_show_dimension ((SPMarker *) shape->marker[i], @@ -477,7 +475,6 @@ sp_shape_modified (SPObject *object, unsigned int flags) static void sp_shape_bbox(SPItem const *item, NRRect *bbox, Geom::Matrix const &transform, unsigned const flags) { SPShape const *shape = SP_SHAPE (item); - if (shape->curve) { NRRect cbbox; @@ -612,7 +609,8 @@ sp_shape_print (SPItem *item, SPPrintContext *ctx) if (!shape->curve) return; - gint add_comments = prefs_get_int_attribute_limited ("printing.debug", "add-label-comments", 0, 0, 1); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + gint add_comments = prefs->getBool("/printing/debug/add-label-comments"); if (add_comments) { gchar * comment = g_strdup_printf("begin '%s'", SP_OBJECT(item)->defaultLabel()); @@ -731,39 +729,47 @@ sp_shape_print (SPItem *item, SPPrintContext *ctx) static NRArenaItem * sp_shape_show (SPItem *item, NRArena *arena, unsigned int /*key*/, unsigned int /*flags*/) { - SPObject *object = SP_OBJECT(item); - SPShape *shape = SP_SHAPE(item); + SPObject *object = SP_OBJECT(item); + SPShape *shape = SP_SHAPE(item); + + NRArenaItem *arenaitem = NRArenaShape::create(arena); + NRArenaShape * const s = NR_ARENA_SHAPE(arenaitem); + nr_arena_shape_set_style(s, object->style); + nr_arena_shape_set_path(s, shape->curve, false); + boost::optional paintbox = item->getBounds(Geom::identity()); + if (paintbox) { + s->setPaintBox(*paintbox); + } - NRArenaItem *arenaitem = NRArenaShape::create(arena); - NRArenaShape * const s = NR_ARENA_SHAPE(arenaitem); - nr_arena_shape_set_style(s, object->style); - nr_arena_shape_set_path(s, shape->curve, false); - boost::optional paintbox = item->getBounds(Geom::identity()); - if (paintbox) { - s->setPaintBox(*paintbox); - } + /* This stanza checks that an object's marker style agrees with + * the marker objects it has allocated. sp_shape_set_marker ensures + * that the appropriate marker objects are present (or absent) to + * match the style. + */ + for (int i = 0 ; i < SP_MARKER_LOC_QTY ; i++) { + sp_shape_set_marker (object, i, object->style->marker[i].value); + } - if (sp_shape_has_markers (shape)) { + if (sp_shape_has_markers (shape)) { - /* Dimension the marker views */ - if (!arenaitem->key) { - NR_ARENA_ITEM_SET_KEY (arenaitem, sp_item_display_key_new (SP_MARKER_LOC_QTY)); - } + /* provide key and dimension the marker views */ + if (!arenaitem->key) { + NR_ARENA_ITEM_SET_KEY (arenaitem, sp_item_display_key_new (SP_MARKER_LOC_QTY)); + } - for (int i = 0; i < SP_MARKER_LOC_QTY; i++) { - if (shape->marker[i]) { - sp_marker_show_dimension ((SPMarker *) shape->marker[i], - NR_ARENA_ITEM_GET_KEY (arenaitem) + i - SP_MARKER_LOC, - sp_shape_number_of_markers (shape, i)); - } + for (int i = 0; i < SP_MARKER_LOC_QTY; i++) { + if (shape->marker[i]) { + sp_marker_show_dimension ((SPMarker *) shape->marker[i], + NR_ARENA_ITEM_GET_KEY (arenaitem) + i - SP_MARKER_LOC, + sp_shape_number_of_markers (shape, i)); } + } + /* Update marker views */ + sp_shape_update_marker_view (shape, arenaitem); + } - /* Update marker views */ - sp_shape_update_marker_view (shape, arenaitem); - } - - return arenaitem; + return arenaitem; } /** @@ -1019,7 +1025,7 @@ sp_shape_set_curve_insync (SPShape *shape, SPCurve *curve, unsigned int owner) /** * Return all nodes in a path that are to be considered for snapping */ -static void sp_shape_snappoints(SPItem const *item, SnapPointsIter p) +static void sp_shape_snappoints(SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs) { g_assert(item != NULL); g_assert(SP_IS_SHAPE(item)); @@ -1050,14 +1056,11 @@ static void sp_shape_snappoints(SPItem const *item, SnapPointsIter p) Geom::NodeType nodetype = Geom::get_nodetype(*curve_it1, *curve_it2); - // Only add cusp nodes. TODO: Shouldn't this be a preference instead? - if (nodetype == Geom::NODE_NONE) { + // Depending on the snapping preferences, either add only cusp nodes, or add add both cusp and smooths nodes + if (snapprefs->getSnapSmoothNodes() || nodetype == Geom::NODE_NONE || nodetype == Geom::NODE_CUSP) { *p = from_2geom(curve_it1->finalPoint() * i2d); } - if (nodetype == Geom::NODE_CUSP) { - *p = from_2geom(curve_it1->finalPoint() * i2d); - } - + ++curve_it1; ++curve_it2; } diff --git a/src/sp-spiral.cpp b/src/sp-spiral.cpp index 7b741a940..9a3708d4b 100644 --- a/src/sp-spiral.cpp +++ b/src/sp-spiral.cpp @@ -36,7 +36,7 @@ static void sp_spiral_set (SPObject *object, unsigned int key, const gchar *valu static void sp_spiral_update (SPObject *object, SPCtx *ctx, guint flags); static gchar * sp_spiral_description (SPItem * item); -static void sp_spiral_snappoints(SPItem const *item, SnapPointsIter p); +static void sp_spiral_snappoints(SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs); static void sp_spiral_set_shape (SPShape *shape); static void sp_spiral_update_patheffect (SPLPEItem *lpeitem, bool write); @@ -494,10 +494,10 @@ sp_spiral_position_set (SPSpiral *spiral, /** * Virtual snappoints callback. */ -static void sp_spiral_snappoints(SPItem const *item, SnapPointsIter p) +static void sp_spiral_snappoints(SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs) { if (((SPItemClass *) parent_class)->snappoints) { - ((SPItemClass *) parent_class)->snappoints (item, p); + ((SPItemClass *) parent_class)->snappoints (item, p, snapprefs); } } diff --git a/src/sp-star.cpp b/src/sp-star.cpp index d86e3de48..f5649e19f 100644 --- a/src/sp-star.cpp +++ b/src/sp-star.cpp @@ -39,7 +39,7 @@ static void sp_star_set (SPObject *object, unsigned int key, const gchar *value) static void sp_star_update (SPObject *object, SPCtx *ctx, guint flags); static gchar * sp_star_description (SPItem * item); -static void sp_star_snappoints(SPItem const *item, SnapPointsIter p); +static void sp_star_snappoints(SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs); static void sp_star_set_shape (SPShape *shape); static void sp_star_update_patheffect (SPLPEItem *lpeitem, bool write); @@ -520,10 +520,10 @@ sp_star_position_set (SPStar *star, gint sides, NR::Point center, gdouble r1, gd /* fixme: We should use all corners of star (Lauris) */ -static void sp_star_snappoints(SPItem const *item, SnapPointsIter p) +static void sp_star_snappoints(SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs) { if (((SPItemClass *) parent_class)->snappoints) { - ((SPItemClass *) parent_class)->snappoints (item, p); + ((SPItemClass *) parent_class)->snappoints (item, p, snapprefs); } } diff --git a/src/sp-text.cpp b/src/sp-text.cpp index dd57428ef..eae9dd088 100644 --- a/src/sp-text.cpp +++ b/src/sp-text.cpp @@ -74,7 +74,7 @@ static void sp_text_bbox(SPItem const *item, NRRect *bbox, Geom::Matrix const &t static NRArenaItem *sp_text_show (SPItem *item, NRArena *arena, unsigned key, unsigned flags); static void sp_text_hide (SPItem *item, unsigned key); static char *sp_text_description (SPItem *item); -static void sp_text_snappoints(SPItem const *item, SnapPointsIter p); +static void sp_text_snappoints(SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs); static Geom::Matrix sp_text_set_transform(SPItem *item, Geom::Matrix const &xform); static void sp_text_print (SPItem *item, SPPrintContext *gpc); @@ -428,7 +428,7 @@ sp_text_description(SPItem *item) return ret; } -static void sp_text_snappoints(SPItem const *item, SnapPointsIter p) +static void sp_text_snappoints(SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs) { // the baseline anchor of the first char Inkscape::Text::Layout const *layout = te_get_layout((SPItem *) item); diff --git a/src/sp-use-reference.cpp b/src/sp-use-reference.cpp index 347a82427..b2188c0d5 100644 --- a/src/sp-use-reference.cpp +++ b/src/sp-use-reference.cpp @@ -16,7 +16,7 @@ #include "display/curve.h" #include "livarot/Path.h" -#include "prefs-utils.h" +#include "preferences.h" #include "sp-shape.h" #include "sp-text.h" #include "uri.h" @@ -141,7 +141,8 @@ sp_usepath_href_changed(SPObject */*old_ref*/, SPObject */*ref*/, SPUsePath *off static void sp_usepath_move_compensate(Geom::Matrix const *mp, SPItem *original, SPUsePath *self) { - guint mode = prefs_get_int_attribute("options.clonecompensation", "value", SP_CLONE_COMPENSATION_PARALLEL); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + guint mode = prefs->getInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_PARALLEL); if (mode == SP_CLONE_COMPENSATION_NONE) { return; } @@ -183,7 +184,8 @@ sp_usepath_move_compensate(Geom::Matrix const *mp, SPItem *original, SPUsePath * static void sp_usepath_delete_self(SPObject */*deleted*/, SPUsePath *offset) { - guint const mode = prefs_get_int_attribute("options.cloneorphans", "value", SP_CLONE_ORPHANS_UNLINK); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + guint const mode = prefs->getInt("/options/cloneorphans/value", SP_CLONE_ORPHANS_UNLINK); if (mode == SP_CLONE_ORPHANS_UNLINK) { // leave it be. just forget about the source diff --git a/src/sp-use.cpp b/src/sp-use.cpp index 12066f925..91b90502a 100644 --- a/src/sp-use.cpp +++ b/src/sp-use.cpp @@ -32,7 +32,7 @@ #include "uri.h" #include "print.h" #include "xml/repr.h" -#include "prefs-utils.h" +#include "preferences.h" #include "style.h" #include "sp-symbol.h" #include "sp-use.h" @@ -52,7 +52,7 @@ static void sp_use_update(SPObject *object, SPCtx *ctx, guint flags); static void sp_use_modified(SPObject *object, guint flags); static void sp_use_bbox(SPItem const *item, NRRect *bbox, Geom::Matrix const &transform, unsigned const flags); -static void sp_use_snappoints(SPItem const *item, SnapPointsIter p); +static void sp_use_snappoints(SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs); static void sp_use_print(SPItem *item, SPPrintContext *ctx); static gchar *sp_use_description(SPItem *item); static NRArenaItem *sp_use_show(SPItem *item, NRArena *arena, unsigned key, unsigned flags); @@ -471,7 +471,8 @@ sp_use_move_compensate(Geom::Matrix const *mp, SPItem */*original*/, SPUse *self return; } - guint mode = prefs_get_int_attribute("options.clonecompensation", "value", SP_CLONE_COMPENSATION_PARALLEL); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + guint mode = prefs->getInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_PARALLEL); // user wants no compensation if (mode == SP_CLONE_COMPENSATION_NONE) return; @@ -556,7 +557,8 @@ sp_use_delete_self(SPObject */*deleted*/, SPUse *self) return; } - guint const mode = prefs_get_int_attribute("options.cloneorphans", "value", + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + guint const mode = prefs->getInt("/options/cloneorphans/value", SP_CLONE_ORPHANS_UNLINK); if (mode == SP_CLONE_ORPHANS_UNLINK) { @@ -739,7 +741,7 @@ sp_use_get_original(SPUse *use) } static void -sp_use_snappoints(SPItem const *item, SnapPointsIter p) +sp_use_snappoints(SPItem const *item, SnapPointsIter p, Inkscape::SnapPreferences const *snapprefs) { g_assert (item != NULL); g_assert (SP_IS_ITEM(item)); @@ -751,7 +753,7 @@ sp_use_snappoints(SPItem const *item, SnapPointsIter p) SPItemClass const &item_class = *(SPItemClass const *) G_OBJECT_GET_CLASS(root); if (item_class.snappoints) { - item_class.snappoints(root, p); + item_class.snappoints(root, p, snapprefs); } } diff --git a/src/spiral-context.cpp b/src/spiral-context.cpp index 1e341e3d1..57ff80209 100644 --- a/src/spiral-context.cpp +++ b/src/spiral-context.cpp @@ -39,14 +39,14 @@ #include "object-edit.h" #include "xml/repr.h" #include "xml/node-event-vector.h" -#include "prefs-utils.h" +#include "preferences.h" #include "context-fns.h" static void sp_spiral_context_class_init(SPSpiralContextClass * klass); static void sp_spiral_context_init(SPSpiralContext *spiral_context); static void sp_spiral_context_dispose(GObject *object); static void sp_spiral_context_setup(SPEventContext *ec); -static void sp_spiral_context_set(SPEventContext *ec, gchar const *key, gchar const *val); +static void sp_spiral_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val); static gint sp_spiral_context_root_handler(SPEventContext *event_context, GdkEvent *event); @@ -217,11 +217,11 @@ sp_spiral_context_setup(SPEventContext *ec) sc->sel_changed_connection.disconnect(); sc->sel_changed_connection = selection->connectChanged(sigc::bind(sigc::ptr_fun(&sp_spiral_context_selection_changed), (gpointer)sc)); - if (prefs_get_int_attribute("tools.shapes", "selcue", 0) != 0) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/tools/shapes/selcue")) { ec->enableSelectionCue(); } - - if (prefs_get_int_attribute("tools.shapes", "gradientdrag", 0) != 0) { + if (prefs->getBool("/tools/shapes/gradientdrag")) { ec->enableGrDrag(); } @@ -229,19 +229,17 @@ sp_spiral_context_setup(SPEventContext *ec) } static void -sp_spiral_context_set(SPEventContext *ec, gchar const *key, gchar const *val) +sp_spiral_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val) { SPSpiralContext *sc = SP_SPIRAL_CONTEXT(ec); - - if (!strcmp(key, "expansion")) { - sc->exp = (val) ? g_ascii_strtod(val, NULL) : 1.0; - sc->exp = CLAMP(sc->exp, 0.0, 1000.0); - } else if (!strcmp(key, "revolution")) { - sc->revo = (val) ? g_ascii_strtod(val, NULL) : 3.0; - sc->revo = CLAMP(sc->revo, 0.05, 40.0); - } else if (!strcmp(key, "t0")) { - sc->t0 = (val) ? g_ascii_strtod(val, NULL) : 0.0; - sc->t0 = CLAMP(sc->t0, 0.0, 0.999); + Glib::ustring name = val->getEntryName(); + + if (name == "expansion") { + sc->exp = CLAMP(val->getDouble(), 0.0, 1000.0); + } else if (name == "revolution") { + sc->revo = CLAMP(val->getDouble(3.0), 0.05, 40.0); + } else if (name == "t0") { + sc->t0 = CLAMP(val->getDouble(), 0.0, 0.999); } } @@ -254,7 +252,8 @@ sp_spiral_context_root_handler(SPEventContext *event_context, GdkEvent *event) Inkscape::Selection *selection = sp_desktop_selection (desktop); SPSpiralContext *sc = SP_SPIRAL_CONTEXT(event_context); - event_context->tolerance = prefs_get_int_attribute_limited("options.dragtolerance", "value", 0, 0, 100); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + event_context->tolerance = prefs->getIntLimited("/options/dragtolerance/value", 0, 0, 100); gint ret = FALSE; @@ -268,7 +267,7 @@ sp_spiral_context_root_handler(SPEventContext *event_context, GdkEvent *event) SnapManager &m = desktop->namedview->snap_manager; m.setup(desktop); Geom::Point pt2g = to_2geom(sc->center); - m.freeSnapReturnByRef(Inkscape::Snapper::SNAPPOINT_NODE, pt2g); + m.freeSnapReturnByRef(Inkscape::SnapPreferences::SNAPPOINT_NODE, pt2g); sc->center = from_2geom(pt2g); sp_canvas_item_grab(SP_CANVAS_ITEM(desktop->acetate), @@ -299,7 +298,7 @@ sp_spiral_context_root_handler(SPEventContext *event_context, GdkEvent *event) SnapManager &m = desktop->namedview->snap_manager; m.setup(desktop, true, sc->item); - m.freeSnapReturnByRef(Inkscape::Snapper::SNAPPOINT_NODE, motion_dt); + m.freeSnapReturnByRef(Inkscape::SnapPreferences::SNAPPOINT_NODE, motion_dt); sp_spiral_drag(sc, from_2geom(motion_dt), event->motion.state); gobble_motion_events(GDK_BUTTON1_MASK); @@ -415,7 +414,8 @@ sp_spiral_drag(SPSpiralContext *sc, Geom::Point p, guint state) { SPDesktop *desktop = SP_EVENT_CONTEXT(sc)->desktop; - int const snaps = prefs_get_int_attribute("options.rotationsnapsperpi", "value", 12); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int const snaps = prefs->getInt("/options/rotationsnapsperpi/value", 12); if (!sc->item) { @@ -429,7 +429,7 @@ sp_spiral_drag(SPSpiralContext *sc, Geom::Point p, guint state) repr->setAttribute("sodipodi:type", "spiral"); /* Set style */ - sp_desktop_apply_style_tool(desktop, repr, "tools.shapes.spiral", false); + sp_desktop_apply_style_tool(desktop, repr, "/tools/shapes/spiral", false); sc->item = (SPItem *) desktop->currentLayer()->appendChildRepr(repr); Inkscape::GC::release(repr); @@ -442,7 +442,7 @@ sp_spiral_drag(SPSpiralContext *sc, Geom::Point p, guint state) SnapManager &m = desktop->namedview->snap_manager; m.setup(desktop, true, sc->item); Geom::Point pt2g = to_2geom(p); - m.freeSnapReturnByRef(Inkscape::Snapper::SNAPPOINT_NODE, pt2g); + m.freeSnapReturnByRef(Inkscape::SnapPreferences::SNAPPOINT_NODE, pt2g); Geom::Point const p0 = to_2geom(sp_desktop_dt2root_xy_point(desktop, sc->center)); Geom::Point const p1 = to_2geom(sp_desktop_dt2root_xy_point(desktop, from_2geom(pt2g))); diff --git a/src/splivarot.cpp b/src/splivarot.cpp index dc19ac761..a3a4ce59f 100644 --- a/src/splivarot.cpp +++ b/src/splivarot.cpp @@ -41,7 +41,7 @@ #include "display/canvas-bpath.h" #include "display/curve.h" #include -#include "prefs-utils.h" +#include "preferences.h" #include "xml/repr.h" #include "xml/repr-sorting.h" @@ -958,14 +958,16 @@ sp_selected_path_outline(SPDesktop *desktop) void sp_selected_path_offset(SPDesktop *desktop) { - double prefOffset = prefs_get_double_attribute("options.defaultoffsetwidth", "value", 1.0); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + double prefOffset = prefs->getDouble("/options/defaultoffsetwidth/value", 1.0); sp_selected_path_do_offset(desktop, true, prefOffset); } void sp_selected_path_inset(SPDesktop *desktop) { - double prefOffset = prefs_get_double_attribute("options.defaultoffsetwidth", "value", 1.0); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + double prefOffset = prefs->getDouble("/options/defaultoffsetwidth/value", 1.0); sp_selected_path_do_offset(desktop, false, prefOffset); } @@ -1090,9 +1092,8 @@ sp_selected_path_create_offset_object(SPDesktop *desktop, int expand, bool updat } { - double prefOffset = 1.0; - prefOffset = prefs_get_double_attribute("options.defaultoffsetwidth", "value", prefOffset); - o_width = prefOffset; + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + o_width = prefs->getDouble("/options/defaultoffsetwidth/value", 1.0); } if (o_width < 0.01) @@ -1635,65 +1636,66 @@ sp_selected_path_simplify_items(SPDesktop *desktop, float angleLimit, bool breakableAngles, bool modifySelection) { - bool simplifyIndividualPaths = - (bool) prefs_get_int_attribute("options.simplifyindividualpaths", "value", 0); - - gchar *simplificationType; - if (simplifyIndividualPaths) { - simplificationType = _("Simplifying paths (separately):"); - } else { - simplificationType = _("Simplifying paths:"); - } - - bool didSomething = false; - - boost::optional selectionBbox = selection->bounds(); - if (!selectionBbox) { - return false; - } - gdouble selectionSize = L2(selectionBbox->dimensions()); - - gdouble simplifySize = selectionSize; - - int pathsSimplified = 0; - int totalPathCount = g_slist_length(items); - - // set "busy" cursor - desktop->setWaitingCursor(); - - for (; items != NULL; items = items->next) { - SPItem *item = (SPItem *) items->data; - - if (!(SP_IS_GROUP(item) || SP_IS_SHAPE(item) || SP_IS_TEXT(item))) + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + bool simplifyIndividualPaths = prefs->getBool("/options/simplifyindividualpaths/value"); + + gchar *simplificationType; + if (simplifyIndividualPaths) { + simplificationType = _("Simplifying paths (separately):"); + } else { + simplificationType = _("Simplifying paths:"); + } + + bool didSomething = false; + + boost::optional selectionBbox = selection->bounds(); + if (!selectionBbox) { + return false; + } + gdouble selectionSize = L2(selectionBbox->dimensions()); + + gdouble simplifySize = selectionSize; + + int pathsSimplified = 0; + int totalPathCount = g_slist_length(items); + + // set "busy" cursor + desktop->setWaitingCursor(); + + for (; items != NULL; items = items->next) { + SPItem *item = (SPItem *) items->data; + + if (!(SP_IS_GROUP(item) || SP_IS_SHAPE(item) || SP_IS_TEXT(item))) continue; - if (simplifyIndividualPaths) { - boost::optional itemBbox = item->getBounds(sp_item_i2d_affine(item)); - if (itemBbox) { - simplifySize = L2(itemBbox->dimensions()); - } else { - simplifySize = 0; - } - } - - pathsSimplified++; - - if (pathsSimplified % 20 == 0) { - gchar *message = g_strdup_printf(_("%s %d of %d paths simplified..."), simplificationType, pathsSimplified, totalPathCount); - desktop->messageStack()->flash(Inkscape::IMMEDIATE_MESSAGE, message); - } - - didSomething |= sp_selected_path_simplify_item(desktop, selection, item, - threshold, justCoalesce, angleLimit, breakableAngles, simplifySize, modifySelection); - } - - desktop->clearWaitingCursor(); - - if (pathsSimplified > 20) { - desktop->messageStack()->flash(Inkscape::NORMAL_MESSAGE, g_strdup_printf(_("%d paths simplified."), pathsSimplified)); - } - - return didSomething; + if (simplifyIndividualPaths) { + boost::optional itemBbox = item->getBounds(sp_item_i2d_affine(item)); + if (itemBbox) { + simplifySize = L2(itemBbox->dimensions()); + } else { + simplifySize = 0; + } + } + + pathsSimplified++; + + if (pathsSimplified % 20 == 0) { + gchar *message = g_strdup_printf(_("%s %d of %d paths simplified..."), + simplificationType, pathsSimplified, totalPathCount); + desktop->messageStack()->flash(Inkscape::IMMEDIATE_MESSAGE, message); + } + + didSomething |= sp_selected_path_simplify_item(desktop, selection, item, + threshold, justCoalesce, angleLimit, breakableAngles, simplifySize, modifySelection); + } + + desktop->clearWaitingCursor(); + + if (pathsSimplified > 20) { + desktop->messageStack()->flash(Inkscape::NORMAL_MESSAGE, g_strdup_printf(_("%d paths simplified."), pathsSimplified)); + } + + return didSomething; } void @@ -1732,10 +1734,10 @@ static gdouble simplifyMultiply = 1.0; void sp_selected_path_simplify(SPDesktop *desktop) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); gdouble simplifyThreshold = - prefs_get_double_attribute("options.simplifythreshold", "value", 0.003); - bool simplifyJustCoalesce = - (bool) prefs_get_int_attribute("options.simplifyjustcoalesce", "value", 0); + prefs->getDouble("/options/simplifythreshold/value", 0.003); + bool simplifyJustCoalesce = prefs->getBool("/options/simplifyjustcoalesce/value", 0); //Get the current time GTimeVal currentTimeVal; diff --git a/src/star-context.cpp b/src/star-context.cpp index 97577bcba..6bb0a6f2d 100644 --- a/src/star-context.cpp +++ b/src/star-context.cpp @@ -38,7 +38,7 @@ #include "pixmaps/cursor-star.xpm" #include "sp-metrics.h" #include -#include "prefs-utils.h" +#include "preferences.h" #include "xml/repr.h" #include "xml/node-event-vector.h" #include "object-edit.h" @@ -51,7 +51,7 @@ static void sp_star_context_init (SPStarContext * star_context); static void sp_star_context_dispose (GObject *object); static void sp_star_context_setup (SPEventContext *ec); -static void sp_star_context_set (SPEventContext *ec, const gchar *key, const gchar *val); +static void sp_star_context_set (SPEventContext *ec, Inkscape::Preferences::Entry *val); static gint sp_star_context_root_handler (SPEventContext *ec, GdkEvent *event); static void sp_star_drag (SPStarContext * sc, NR::Point p, guint state); @@ -226,11 +226,12 @@ sp_star_context_setup (SPEventContext *ec) sc->sel_changed_connection.disconnect(); sc->sel_changed_connection = selection->connectChanged(sigc::bind(sigc::ptr_fun(&sp_star_context_selection_changed), (gpointer)sc)); - if (prefs_get_int_attribute("tools.shapes", "selcue", 0) != 0) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/tools/shapes/selcue")) { ec->enableSelectionCue(); } - if (prefs_get_int_attribute("tools.shapes", "gradientdrag", 0) != 0) { + if (prefs->getBool("/tools/shapes/gradientdrag")) { ec->enableGrDrag(); } @@ -238,24 +239,21 @@ sp_star_context_setup (SPEventContext *ec) } static void -sp_star_context_set (SPEventContext *ec, const gchar *key, const gchar *val) +sp_star_context_set (SPEventContext *ec, Inkscape::Preferences::Entry *val) { SPStarContext *sc = SP_STAR_CONTEXT (ec); - if (!strcmp (key, "magnitude")) { - sc->magnitude = (val) ? atoi (val) : 5; - sc->magnitude = CLAMP (sc->magnitude, 3, 1024); - } else if (!strcmp (key, "proportion")) { - sc->proportion = (val) ? g_ascii_strtod (val, NULL) : 0.5; - sc->proportion = CLAMP (sc->proportion, 0.01, 2.0); - } else if (!strcmp (key, "isflatsided")) { - if (val && !strcmp(val, "true")) - sc->isflatsided = true; - else - sc->isflatsided = false; - } else if (!strcmp (key, "rounded")) { - sc->rounded = (val) ? g_ascii_strtod (val, NULL) : 0.0; - } else if (!strcmp (key, "randomized")) { - sc->randomized = (val) ? g_ascii_strtod (val, NULL) : 0.0; + Glib::ustring path = val->getEntryName(); + + if (path == "magnitude") { + sc->magnitude = CLAMP (val->getInt(5), 3, 1024); + } else if (path == "proportion") { + sc->proportion = CLAMP (val->getDouble(0.5), 0.01, 2.0); + } else if (path == "isflatsided") { + sc->isflatsided = val->getBool(); + } else if (path == "rounded") { + sc->rounded = val->getDouble(); + } else if (path == "randomized") { + sc->randomized = val->getDouble(); } } @@ -265,10 +263,11 @@ static gint sp_star_context_root_handler(SPEventContext *event_context, GdkEvent SPDesktop *desktop = event_context->desktop; Inkscape::Selection *selection = sp_desktop_selection (desktop); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); SPStarContext *sc = SP_STAR_CONTEXT (event_context); - event_context->tolerance = prefs_get_int_attribute_limited("options.dragtolerance", "value", 0, 0, 100); + event_context->tolerance = prefs->getIntLimited("/options/dragtolerance/value", 0, 0, 100); gint ret = FALSE; @@ -284,7 +283,7 @@ static gint sp_star_context_root_handler(SPEventContext *event_context, GdkEvent SnapManager &m = desktop->namedview->snap_manager; m.setup(desktop, true); Geom::Point pt2g = to_2geom(sc->center); - m.freeSnapReturnByRef(Inkscape::Snapper::SNAPPOINT_NODE, pt2g); + m.freeSnapReturnByRef(Inkscape::SnapPreferences::SNAPPOINT_NODE, pt2g); sc->center = from_2geom(pt2g); sp_canvas_item_grab(SP_CANVAS_ITEM(desktop->acetate), @@ -426,7 +425,8 @@ static void sp_star_drag(SPStarContext *sc, NR::Point p, guint state) { SPDesktop *desktop = SP_EVENT_CONTEXT(sc)->desktop; - int const snaps = prefs_get_int_attribute ("options.rotationsnapsperpi", "value", 12); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int const snaps = prefs->getInt("/options/rotationsnapsperpi/value", 12); if (!sc->item) { @@ -440,7 +440,7 @@ static void sp_star_drag(SPStarContext *sc, NR::Point p, guint state) repr->setAttribute("sodipodi:type", "star"); /* Set style */ - sp_desktop_apply_style_tool(desktop, repr, "tools.shapes.star", false); + sp_desktop_apply_style_tool(desktop, repr, "/tools/shapes/star", false); sc->item = SP_ITEM(desktop->currentLayer()->appendChildRepr(repr)); Inkscape::GC::release(repr); @@ -454,7 +454,7 @@ static void sp_star_drag(SPStarContext *sc, NR::Point p, guint state) SnapManager &m = desktop->namedview->snap_manager; m.setup(desktop, true, sc->item); Geom::Point pt2g = to_2geom(p); - m.freeSnapReturnByRef(Inkscape::Snapper::SNAPPOINT_NODE, pt2g); + m.freeSnapReturnByRef(Inkscape::SnapPreferences::SNAPPOINT_NODE, pt2g); Geom::Point const p0 = to_2geom(sp_desktop_dt2root_xy_point(desktop, sc->center)); Geom::Point const p1 = to_2geom(sp_desktop_dt2root_xy_point(desktop, from_2geom(pt2g))); diff --git a/src/style.cpp b/src/style.cpp index 966764800..a5b25e6ff 100644 --- a/src/style.cpp +++ b/src/style.cpp @@ -1,9 +1,9 @@ #define __SP_STYLE_C__ -/** \file - * SVG stylesheets implementation. - * - * Authors: +/** @file + * @brief SVG stylesheets implementation. + */ +/* Authors: * Lauris Kaplinski * Peter Moulder * bulia byak @@ -41,9 +41,11 @@ #include "style.h" #include "svg/css-ostringstream.h" #include "xml/repr.h" +#include "xml/simple-document.h" #include "unit-constants.h" #include "2geom/isnan.h" #include "macros.h" +#include "preferences.h" #include "sp-filter-reference.h" @@ -790,15 +792,33 @@ sp_style_read_from_object(SPStyle *style, SPObject *object) /** - * Read style properties from repr only. + * Read style properties from preferences. + * @param style The style to write to + * @param path Preferences directory from which the style should be read */ void -sp_style_read_from_repr(SPStyle *style, Inkscape::XML::Node *repr) +sp_style_read_from_prefs(SPStyle *style, Glib::ustring const &path) { g_return_if_fail(style != NULL); - g_return_if_fail(repr != NULL); + g_return_if_fail(path != ""); + + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - sp_style_read(style, NULL, repr); + // not optimal: we reconstruct the node based on the prefs, then pass it to + // sp_style_read for actual processing. + Inkscape::XML::SimpleDocument *tempdoc = new Inkscape::XML::SimpleDocument; + Inkscape::XML::Node *tempnode = tempdoc->createElement("temp"); + + std::vector attrs = prefs->getAllEntries(path); + for (std::vector::iterator i = attrs.begin(); i != attrs.end(); ++i) { + tempnode->setAttribute(i->getEntryName().data(), i->getString().data()); + } + + sp_style_read(style, NULL, tempnode); + + Inkscape::GC::release(tempnode); + Inkscape::GC::release(tempdoc); + delete tempdoc; } diff --git a/src/style.h b/src/style.h index 47ba6955e..d5ccc4901 100644 --- a/src/style.h +++ b/src/style.h @@ -3,8 +3,8 @@ /** \file * SPStyle - a style object for SPItem objects - * - * Authors: + */ +/* Authors: * Lauris Kaplinski * * Copyright (C) 2001-2002 Lauris Kaplinski @@ -382,7 +382,7 @@ SPStyle *sp_style_unref(SPStyle *style); void sp_style_read_from_object(SPStyle *style, SPObject *object); -void sp_style_read_from_repr(SPStyle *style, Inkscape::XML::Node *repr); +void sp_style_read_from_prefs(SPStyle *style, Glib::ustring const &path); void sp_style_merge_from_style_string(SPStyle *style, gchar const *p); diff --git a/src/svg-view.cpp b/src/svg-view.cpp index c406e70a5..bd86d5477 100644 --- a/src/svg-view.cpp +++ b/src/svg-view.cpp @@ -100,7 +100,7 @@ SPSVGView::doRescale (bool event) } if (_drawing) { - sp_canvas_item_affine_absolute (_drawing, NR::Matrix(Geom::Scale(_hscale, _vscale))); + sp_canvas_item_affine_absolute (_drawing, Geom::Scale(_hscale, _vscale)); } if (event) { diff --git a/src/svg/css-ostringstream.cpp b/src/svg/css-ostringstream.cpp index 362eb7662..a6eb2783e 100644 --- a/src/svg/css-ostringstream.cpp +++ b/src/svg/css-ostringstream.cpp @@ -1,6 +1,6 @@ #include "svg/css-ostringstream.h" #include "svg/strip-trailing-zeros.h" -#include "prefs-utils.h" +#include "preferences.h" #include #include @@ -14,7 +14,8 @@ Inkscape::CSSOStringStream::CSSOStringStream() /* This one is (currently) needed though, as we currently use ostr.precision as a sort of variable for storing the desired precision: see our two precision methods and our operator<< methods for float and double. */ - ostr.precision(prefs_get_int_attribute("options.svgoutput", "numericprecision", 8)); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + ostr.precision(prefs->getInt("/options/svgoutput/numericprecision", 8)); } static void diff --git a/src/svg/path-string.cpp b/src/svg/path-string.cpp index 6f6a1f20f..c0e33fddd 100644 --- a/src/svg/path-string.cpp +++ b/src/svg/path-string.cpp @@ -15,7 +15,7 @@ #include "svg/path-string.h" #include "svg/stringstream.h" #include "svg/svg.h" -#include "prefs-utils.h" +#include "preferences.h" #include // 1<=numericprecision<=16, doubles are only accurate upto (slightly less than) 16 digits (and less than one digit doesn't make sense) @@ -27,11 +27,12 @@ int Inkscape::SVG::PathString::numericprecision; int Inkscape::SVG::PathString::minimumexponent; Inkscape::SVG::PathString::PathString() : - allow_relative_coordinates(0 != prefs_get_int_attribute("options.svgoutput", "allowrelativecoordinates", 1)), - force_repeat_commands(0 != prefs_get_int_attribute("options.svgoutput", "forcerepeatcommands", 0)) + allow_relative_coordinates(Inkscape::Preferences::get()->getBool("/options/svgoutput/allowrelativecoordinates", true)), + force_repeat_commands(Inkscape::Preferences::get()->getBool("/options/svgoutput/forcerepeatcommands")) { - numericprecision = std::max(minprec,std::min(maxprec,prefs_get_int_attribute("options.svgoutput", "numericprecision", 8))); - minimumexponent = prefs_get_int_attribute("options.svgoutput", "minimumexponent", -8); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + numericprecision = std::max(minprec,std::min(maxprec, prefs->getInt("/options/svgoutput/numericprecision", 8))); + minimumexponent = prefs->getInt("/options/svgoutput/minimumexponent", -8); } void Inkscape::SVG::PathString::_appendOp(char abs_op, char rel_op) { diff --git a/src/svg/stringstream.cpp b/src/svg/stringstream.cpp index 62e20961a..6b9e512a1 100644 --- a/src/svg/stringstream.cpp +++ b/src/svg/stringstream.cpp @@ -1,6 +1,6 @@ #include "svg/stringstream.h" #include "svg/strip-trailing-zeros.h" -#include "prefs-utils.h" +#include "preferences.h" #include <2geom/point.h> Inkscape::SVGOStringStream::SVGOStringStream() @@ -13,7 +13,8 @@ Inkscape::SVGOStringStream::SVGOStringStream() /* This one is (currently) needed though, as we currently use ostr.precision as a sort of variable for storing the desired precision: see our two precision methods and our operator<< methods for float and double. */ - ostr.precision(prefs_get_int_attribute("options.svgoutput", "numericprecision", 8)); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + ostr.precision(prefs->getInt("/options/svgoutput/numericprecision", 8)); } Inkscape::SVGOStringStream & diff --git a/src/svg/svg-affine.cpp b/src/svg/svg-affine.cpp index 2445135c3..2b9a79d3d 100644 --- a/src/svg/svg-affine.cpp +++ b/src/svg/svg-affine.cpp @@ -28,7 +28,7 @@ #include <2geom/angle.h> #include #include "svg.h" -#include "prefs-utils.h" +#include "preferences.h" #ifndef M_PI # define M_PI 3.14159265358979323846 @@ -194,15 +194,14 @@ sp_svg_transform_write(NR::Matrix const &transform) gchar * sp_svg_transform_write(NR::Matrix const *transform) { - double e; - if (!transform) { return NULL; } + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - e = 0.000001 * NR::expansion(*transform); - int prec = prefs_get_int_attribute("options.svgoutput", "numericprecision", 8); - int min_exp = prefs_get_int_attribute("options.svgoutput", "minimumexponent", -8); + double e = 0.000001 * NR::expansion(*transform); + int prec = prefs->getInt("/options/svgoutput/numericprecision", 8); + int min_exp = prefs->getInt("/options/svgoutput/minimumexponent", -8); /* fixme: We could use t1 * t1 + t2 * t2 here instead */ if (NR_DF_TEST_CLOSE ((*transform)[1], 0.0, e) && NR_DF_TEST_CLOSE ((*transform)[2], 0.0, e)) { diff --git a/src/svg/svg-color-test.h b/src/svg/svg-color-test.h index dbefa1af5..d249c675c 100644 --- a/src/svg/svg-color-test.h +++ b/src/svg/svg-color-test.h @@ -2,7 +2,7 @@ #include #include -#include "prefs-utils.h" +#include "preferences.h" #include "svg/svg-color.h" #include "svg/svg-icc-color.h" @@ -18,12 +18,13 @@ class SVGColorTest : public CxxTest::TestSuite public: void check_rgb24(unsigned const rgb24) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); char css[8]; - prefs_set_int_attribute("options.svgoutput", "usenamedcolors", 0); + prefs->setBool("/options/svgoutput/usenamedcolors", false); sp_svg_write_color(css, sizeof(css), rgb24 << 8); TS_ASSERT_EQUALS(sp_svg_read_color(css, 0xff), rgb24 << 8); - prefs_set_int_attribute("options.svgoutput", "usenamedcolors", 1); + prefs->setBool("/options/svgoutput/usenamedcolors", true); sp_svg_write_color(css, sizeof(css), rgb24 << 8); TS_ASSERT_EQUALS(sp_svg_read_color(css, 0xff), rgb24 << 8); diff --git a/src/svg/svg-color.cpp b/src/svg/svg-color.cpp index e1f87fdb9..9040d6e43 100644 --- a/src/svg/svg-color.cpp +++ b/src/svg/svg-color.cpp @@ -32,7 +32,7 @@ #include #include "strneq.h" -#include "prefs-utils.h" +#include "preferences.h" #include "svg-color.h" #include "svg-icc-color.h" @@ -431,8 +431,9 @@ sp_svg_write_color(gchar *buf, unsigned const buflen, guint32 const rgba32) { g_assert(8 <= buflen); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); unsigned const rgb24 = rgba32 >> 8; - if (prefs_get_int_attribute("options.svgoutput", "usenamedcolors", 0)) { + if (prefs->getBool("/options/svgoutput/usenamedcolors")) { rgb24_to_css(buf, rgb24); } else { g_snprintf(buf, buflen, "#%06x", rgb24); diff --git a/src/svg/svg-path-geom-test.h b/src/svg/svg-path-geom-test.h index 32a2ed231..7358c6d69 100644 --- a/src/svg/svg-path-geom-test.h +++ b/src/svg/svg-path-geom-test.h @@ -3,7 +3,7 @@ #include "2geom/curves.h" #include "2geom/pathvector.h" #include "svg/svg.h" -#include "prefs-utils.h" +#include "preferences.h" #include "streq.h" #include #include @@ -391,11 +391,12 @@ public: void testMinexpPrecision() { Geom::PathVector pv; char * path_str; - // Default values - prefs_set_int_attribute("options.svgoutput", "allowrelativecoordinates", 1); - prefs_set_int_attribute("options.svgoutput", "forcerepeatcommands", 0); - prefs_set_int_attribute("options.svgoutput", "numericprecision", 8); - prefs_set_int_attribute("options.svgoutput", "minimumexponent", -8); + // Default values + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setBool("/options/svgoutput/allowrelativecoordinates", true); + prefs->setBool("/options/svgoutput/forcerepeatcommands", false); + prefs->setInt("/options/svgoutput/numericprecision", 8); + prefs->setInt("/options/svgoutput/minimumexponent", -8); pv = sp_svg_read_pathv("M 123456781,1.23456781e-8 L 123456782,1.23456782e-8 L 123456785,1.23456785e-8 L 10123456400,1.23456785e-8 L 123456789,1.23456789e-8 L 123456789,101.234564e-8 L 123456789,1.23456789e-8"); path_str = sp_svg_write_path(pv); TS_ASSERT_RELATION( streq_rel , "m 123456780,1.2345678e-8 0,0 10,1e-15 9999999210,0 -9999999210,0 0,9.99999921e-7 0,-9.99999921e-7" , path_str ); diff --git a/src/text-context.cpp b/src/text-context.cpp index 08f0cf0d9..e277ff584 100644 --- a/src/text-context.cpp +++ b/src/text-context.cpp @@ -44,7 +44,7 @@ #include "object-edit.h" #include "xml/repr.h" #include "xml/node-event-vector.h" -#include "prefs-utils.h" +#include "preferences.h" #include "rubberband.h" #include "sp-metrics.h" #include "context-fns.h" @@ -137,7 +137,7 @@ sp_text_context_init(SPTextContext *tc) tc->imc = NULL; tc->text = NULL; - tc->pdoc = NR::Point(0, 0); + tc->pdoc = Geom::Point(0, 0); new (&tc->text_sel_start) Inkscape::Text::Layout::iterator(); new (&tc->text_sel_end) Inkscape::Text::Layout::iterator(); new (&tc->text_selection_quads) std::vector(); @@ -285,10 +285,11 @@ sp_text_context_setup(SPEventContext *ec) sp_text_context_selection_changed(sp_desktop_selection(desktop), tc); - if (prefs_get_int_attribute("tools.text", "selcue", 0) != 0) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/tools/text/selcue")) { ec->enableSelectionCue(); } - if (prefs_get_int_attribute("tools.text", "gradientdrag", 0) != 0) { + if (prefs->getBool("/tools/text/gradientdrag")) { ec->enableGrDrag(); } } @@ -360,12 +361,12 @@ sp_text_context_item_handler(SPEventContext *event_context, SPItem *item, GdkEve case GDK_BUTTON_PRESS: if (event->button.button == 1 && !event_context->space_panning) { // find out clicked item, disregarding groups - item_ungrouped = desktop->item_at_point(NR::Point(event->button.x, event->button.y), TRUE); + item_ungrouped = desktop->item_at_point(Geom::Point(event->button.x, event->button.y), TRUE); if (SP_IS_TEXT(item_ungrouped) || SP_IS_FLOWTEXT(item_ungrouped)) { sp_desktop_selection(desktop)->set(item_ungrouped); if (tc->text) { // find out click point in document coordinates - NR::Point p = desktop->w2d(NR::Point(event->button.x, event->button.y)); + Geom::Point p = desktop->w2d(Geom::Point(event->button.x, event->button.y)); // set the cursor closest to that point tc->text_sel_start = tc->text_sel_end = sp_te_get_position_by_coords(tc->text, p); // update display @@ -413,7 +414,7 @@ sp_text_context_item_handler(SPEventContext *event_context, SPItem *item, GdkEve Inkscape::Text::Layout const *layout = te_get_layout(tc->text); if (!layout) break; // find out click point in document coordinates - NR::Point p = desktop->w2d(NR::Point(event->button.x, event->button.y)); + Geom::Point p = desktop->w2d(Geom::Point(event->button.x, event->button.y)); // set the cursor closest to that point Inkscape::Text::Layout::iterator new_end = sp_te_get_position_by_coords(tc->text, p); if (tc->dragging == 2) { @@ -442,7 +443,7 @@ sp_text_context_item_handler(SPEventContext *event_context, SPItem *item, GdkEve break; } // find out item under mouse, disregarding groups - item_ungrouped = desktop->item_at_point(NR::Point(event->button.x, event->button.y), TRUE); + item_ungrouped = desktop->item_at_point(Geom::Point(event->button.x, event->button.y), TRUE); if (SP_IS_TEXT(item_ungrouped) || SP_IS_FLOWTEXT(item_ungrouped)) { sp_canvas_item_show(tc->indicator); boost::optional ibbox = sp_item_bbox_desktop(item_ungrouped); @@ -490,10 +491,10 @@ sp_text_context_setup_text(SPTextContext *tc) rtext->setAttribute("xml:space", "preserve"); // we preserve spaces in the text objects we create /* Set style */ - sp_desktop_apply_style_tool(SP_EVENT_CONTEXT_DESKTOP(ec), rtext, "tools.text", true); + sp_desktop_apply_style_tool(SP_EVENT_CONTEXT_DESKTOP(ec), rtext, "/tools/text", true); - sp_repr_set_svg_double(rtext, "x", tc->pdoc[NR::X]); - sp_repr_set_svg_double(rtext, "y", tc->pdoc[NR::Y]); + sp_repr_set_svg_double(rtext, "x", tc->pdoc[Geom::X]); + sp_repr_set_svg_double(rtext, "y", tc->pdoc[Geom::Y]); /* Create */ Inkscape::XML::Node *rtspan = xml_doc->createElement("svg:tspan"); @@ -604,7 +605,8 @@ sp_text_context_root_handler(SPEventContext *const event_context, GdkEvent *cons sp_text_context_validate_cursor_iterators(tc); - event_context->tolerance = prefs_get_int_attribute_limited("options.dragtolerance", "value", 0, 0, 100); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + event_context->tolerance = prefs->getIntLimited("/options/dragtolerance/value", 0, 0, 100); switch (event->type) { case GDK_BUTTON_PRESS: @@ -619,7 +621,7 @@ sp_text_context_root_handler(SPEventContext *const event_context, GdkEvent *cons event_context->yp = (gint) event->button.y; event_context->within_tolerance = true; - NR::Point const button_pt(event->button.x, event->button.y); + Geom::Point const button_pt(event->button.x, event->button.y); tc->p0 = desktop->w2d(button_pt); Inkscape::Rubberband::get(desktop)->start(desktop, tc->p0); sp_canvas_item_grab(SP_CANVAS_ITEM(desktop->acetate), @@ -654,15 +656,15 @@ sp_text_context_root_handler(SPEventContext *const event_context, GdkEvent *cons // motion notify coordinates as given (no snapping back to origin) event_context->within_tolerance = false; - NR::Point const motion_pt(event->motion.x, event->motion.y); - NR::Point const p = desktop->w2d(motion_pt); + Geom::Point const motion_pt(event->motion.x, event->motion.y); + Geom::Point const p = desktop->w2d(motion_pt); Inkscape::Rubberband::get(desktop)->move(p); gobble_motion_events(GDK_BUTTON1_MASK); // status text - GString *xs = SP_PX_TO_METRIC_STRING(fabs((p - tc->p0)[NR::X]), desktop->namedview->getDefaultMetric()); - GString *ys = SP_PX_TO_METRIC_STRING(fabs((p - tc->p0)[NR::Y]), desktop->namedview->getDefaultMetric()); + GString *xs = SP_PX_TO_METRIC_STRING(fabs((p - tc->p0)[Geom::X]), desktop->namedview->getDefaultMetric()); + GString *ys = SP_PX_TO_METRIC_STRING(fabs((p - tc->p0)[Geom::Y]), desktop->namedview->getDefaultMetric()); event_context->_message_context->setF(Inkscape::IMMEDIATE_MESSAGE, _("Flowed text frame: %s × %s"), xs->str, ys->str); g_string_free(xs, FALSE); g_string_free(ys, FALSE); @@ -682,7 +684,7 @@ sp_text_context_root_handler(SPEventContext *const event_context, GdkEvent *cons if (tc->creating && event_context->within_tolerance) { /* Button 1, set X & Y & new item */ sp_desktop_selection(desktop)->clear(); - NR::Point dtp = desktop->w2d(NR::Point(event->button.x, event->button.y)); + Geom::Point dtp = desktop->w2d(Geom::Point(event->button.x, event->button.y)); tc->pdoc = sp_desktop_dt2root_xy_point(desktop, dtp); tc->show = TRUE; @@ -694,19 +696,19 @@ sp_text_context_root_handler(SPEventContext *const event_context, GdkEvent *cons // Cursor height is defined by the new text object's font size; it needs to be set // articifically here, for the text object does not exist yet: double cursor_height = sp_desktop_get_font_size_tool(desktop); - sp_ctrlline_set_coords(SP_CTRLLINE(tc->cursor), dtp, dtp + NR::Point(0, cursor_height)); + sp_ctrlline_set_coords(SP_CTRLLINE(tc->cursor), dtp, dtp + Geom::Point(0, cursor_height)); event_context->_message_context->set(Inkscape::NORMAL_MESSAGE, _("Type text; Enter to start new line.")); // FIXME:: this is a copy of a string from _update_cursor below, do not desync event_context->within_tolerance = false; } else if (tc->creating) { - NR::Point const button_pt(event->button.x, event->button.y); - NR::Point p1 = desktop->w2d(button_pt); + Geom::Point const button_pt(event->button.x, event->button.y); + Geom::Point p1 = desktop->w2d(button_pt); double cursor_height = sp_desktop_get_font_size_tool(desktop); - if (fabs(p1[NR::Y] - tc->p0[NR::Y]) > cursor_height) { + if (fabs(p1[Geom::Y] - tc->p0[Geom::Y]) > cursor_height) { // otherwise even one line won't fit; most probably a slip of hand (even if bigger than tolerance) SPItem *ft = create_flowtext_with_internal_frame (desktop, tc->p0, p1); /* Set style */ - sp_desktop_apply_style_tool(desktop, SP_OBJECT_REPR(ft), "tools.text", true); + sp_desktop_apply_style_tool(desktop, SP_OBJECT_REPR(ft), "/tools/text", true); sp_desktop_selection(desktop)->set(ft); desktop->messageStack()->flash(Inkscape::NORMAL_MESSAGE, _("Flowed text is created.")); sp_document_done(sp_desktop_document(desktop), SP_VERB_CONTEXT_TEXT, @@ -1020,9 +1022,9 @@ sp_text_context_root_handler(SPEventContext *const event_context, GdkEvent *cons gint mul = 1 + gobble_key_events( get_group0_keyval(&event->key), 0); // with any mask if (MOD__SHIFT) - sp_te_adjust_kerning_screen(tc->text, tc->text_sel_start, tc->text_sel_end, desktop, NR::Point(mul*-10, 0)); + sp_te_adjust_kerning_screen(tc->text, tc->text_sel_start, tc->text_sel_end, desktop, Geom::Point(mul*-10, 0)); else - sp_te_adjust_kerning_screen(tc->text, tc->text_sel_start, tc->text_sel_end, desktop, NR::Point(mul*-1, 0)); + sp_te_adjust_kerning_screen(tc->text, tc->text_sel_start, tc->text_sel_end, desktop, Geom::Point(mul*-1, 0)); sp_text_context_update_cursor(tc); sp_text_context_update_text_selection(tc); sp_document_maybe_done(sp_desktop_document(desktop), "kern:left", SP_VERB_CONTEXT_TEXT, @@ -1045,9 +1047,9 @@ sp_text_context_root_handler(SPEventContext *const event_context, GdkEvent *cons gint mul = 1 + gobble_key_events( get_group0_keyval(&event->key), 0); // with any mask if (MOD__SHIFT) - sp_te_adjust_kerning_screen(tc->text, tc->text_sel_start, tc->text_sel_end, desktop, NR::Point(mul*10, 0)); + sp_te_adjust_kerning_screen(tc->text, tc->text_sel_start, tc->text_sel_end, desktop, Geom::Point(mul*10, 0)); else - sp_te_adjust_kerning_screen(tc->text, tc->text_sel_start, tc->text_sel_end, desktop, NR::Point(mul*1, 0)); + sp_te_adjust_kerning_screen(tc->text, tc->text_sel_start, tc->text_sel_end, desktop, Geom::Point(mul*1, 0)); sp_text_context_update_cursor(tc); sp_text_context_update_text_selection(tc); sp_document_maybe_done(sp_desktop_document(desktop), "kern:right", SP_VERB_CONTEXT_TEXT, @@ -1070,9 +1072,9 @@ sp_text_context_root_handler(SPEventContext *const event_context, GdkEvent *cons gint mul = 1 + gobble_key_events( get_group0_keyval(&event->key), 0); // with any mask if (MOD__SHIFT) - sp_te_adjust_kerning_screen(tc->text, tc->text_sel_start, tc->text_sel_end, desktop, NR::Point(0, mul*-10)); + sp_te_adjust_kerning_screen(tc->text, tc->text_sel_start, tc->text_sel_end, desktop, Geom::Point(0, mul*-10)); else - sp_te_adjust_kerning_screen(tc->text, tc->text_sel_start, tc->text_sel_end, desktop, NR::Point(0, mul*-1)); + sp_te_adjust_kerning_screen(tc->text, tc->text_sel_start, tc->text_sel_end, desktop, Geom::Point(0, mul*-1)); sp_text_context_update_cursor(tc); sp_text_context_update_text_selection(tc); sp_document_maybe_done(sp_desktop_document(desktop), "kern:up", SP_VERB_CONTEXT_TEXT, @@ -1096,9 +1098,9 @@ sp_text_context_root_handler(SPEventContext *const event_context, GdkEvent *cons gint mul = 1 + gobble_key_events( get_group0_keyval(&event->key), 0); // with any mask if (MOD__SHIFT) - sp_te_adjust_kerning_screen(tc->text, tc->text_sel_start, tc->text_sel_end, desktop, NR::Point(0, mul*10)); + sp_te_adjust_kerning_screen(tc->text, tc->text_sel_start, tc->text_sel_end, desktop, Geom::Point(0, mul*10)); else - sp_te_adjust_kerning_screen(tc->text, tc->text_sel_start, tc->text_sel_end, desktop, NR::Point(0, mul*1)); + sp_te_adjust_kerning_screen(tc->text, tc->text_sel_start, tc->text_sel_end, desktop, Geom::Point(0, mul*1)); sp_text_context_update_cursor(tc); sp_text_context_update_text_selection(tc); sp_document_maybe_done(sp_desktop_document(desktop), "kern:down", SP_VERB_CONTEXT_TEXT, @@ -1584,7 +1586,7 @@ sp_text_context_update_cursor(SPTextContext *tc, bool scroll_to_see) // scroll to show cursor if (scroll_to_see) { Geom::Point const center = SP_EVENT_CONTEXT(tc)->desktop->get_display_area().midpoint(); - if (NR::L2(d0 - center) > NR::L2(d1 - center)) + if (Geom::L2(d0 - center) > Geom::L2(d1 - center)) // unlike mouse moves, here we must scroll all the way at first shot, so we override the autoscrollspeed SP_EVENT_CONTEXT(tc)->desktop->scroll_to_point(d0, 1.0); else diff --git a/src/text-context.h b/src/text-context.h index 8441cb04b..b9068e497 100644 --- a/src/text-context.h +++ b/src/text-context.h @@ -20,7 +20,7 @@ #include "event-context.h" #include -#include +#include <2geom/point.h> #include "libnrtype/Layout-TNG.h" #define SP_TYPE_TEXT_CONTEXT (sp_text_context_get_type ()) @@ -35,48 +35,48 @@ class SPCanvasArena; struct SPTextContext : public SPEventContext { - sigc::connection sel_changed_connection; - sigc::connection sel_modified_connection; - sigc::connection style_set_connection; - sigc::connection style_query_connection; + sigc::connection sel_changed_connection; + sigc::connection sel_modified_connection; + sigc::connection style_set_connection; + sigc::connection style_query_connection; - GtkIMContext *imc; + GtkIMContext *imc; - SPItem *text; // the text we're editing, or NULL if none selected + SPItem *text; // the text we're editing, or NULL if none selected - /* Text item position in root coordinates */ - NR::Point pdoc; - /* Insertion point position */ - Inkscape::Text::Layout::iterator text_sel_start; - Inkscape::Text::Layout::iterator text_sel_end; + /* Text item position in root coordinates */ + Geom::Point pdoc; + /* Insertion point position */ + Inkscape::Text::Layout::iterator text_sel_start; + Inkscape::Text::Layout::iterator text_sel_end; - gchar uni[9]; - bool unimode; - guint unipos; + gchar uni[9]; + bool unimode; + guint unipos; - SPCanvasItem *cursor; - SPCanvasItem *indicator; - SPCanvasItem *frame; // hiliting the first frame of flowtext; FIXME: make this a list to accommodate arbitrarily many chained shapes - std::vector text_selection_quads; - gint timeout; - guint show : 1; - guint phase : 1; - guint nascent_object : 1; // true if we're clicked on canvas to put cursor, but no text typed yet so ->text is still NULL + SPCanvasItem *cursor; + SPCanvasItem *indicator; + SPCanvasItem *frame; // hiliting the first frame of flowtext; FIXME: make this a list to accommodate arbitrarily many chained shapes + std::vector text_selection_quads; + gint timeout; + guint show : 1; + guint phase : 1; + guint nascent_object : 1; // true if we're clicked on canvas to put cursor, but no text typed yet so ->text is still NULL - guint over_text : 1; // true if cursor is over a text object + guint over_text : 1; // true if cursor is over a text object - guint dragging : 2; // dragging selection over text + guint dragging : 2; // dragging selection over text - guint creating : 1; // dragging rubberband to create flowtext - SPCanvasItem *grabbed; // we grab while we are creating, to get events even if the mouse goes out of the window - NR::Point p0; // initial point if the flowtext rect + guint creating : 1; // dragging rubberband to create flowtext + SPCanvasItem *grabbed; // we grab while we are creating, to get events even if the mouse goes out of the window + Geom::Point p0; // initial point if the flowtext rect - /* Preedit String */ - gchar* preedit_string; + /* Preedit String */ + gchar* preedit_string; }; struct SPTextContextClass { - SPEventContextClass parent_class; + SPEventContextClass parent_class; }; /* Standard Gtk function */ diff --git a/src/text-editing.cpp b/src/text-editing.cpp index 11b0f0fe4..be427715e 100644 --- a/src/text-editing.cpp +++ b/src/text-editing.cpp @@ -105,7 +105,7 @@ sp_te_get_cursor_coords (SPItem const *item, Inkscape::Text::Layout::iterator co Inkscape::Text::Layout const *layout = te_get_layout(item); double height, rotation; layout->queryCursorShape(position, p0, height, rotation); - p1 = Geom::Point(p0[NR::X] + height * sin(rotation), p0[NR::Y] - height * cos(rotation)); + p1 = Geom::Point(p0[Geom::X] + height * sin(rotation), p0[Geom::Y] - height * cos(rotation)); } SPStyle const * sp_te_style_at_position(SPItem const *text, Inkscape::Text::Layout::iterator const &position) diff --git a/src/tools-switch.cpp b/src/tools-switch.cpp index da03ab7bf..f10b86f64 100644 --- a/src/tools-switch.cpp +++ b/src/tools-switch.cpp @@ -59,58 +59,34 @@ static char const *const tool_names[] = { NULL, - "tools.select", - "tools.nodes", - "tools.tweak", - "tools.shapes.rect", - "tools.shapes.3dbox", - "tools.shapes.arc", - "tools.shapes.star", - "tools.shapes.spiral", - "tools.freehand.pencil", - "tools.freehand.pen", - "tools.calligraphic", - "tools.text", - "tools.gradient", - "tools.zoom", - "tools.dropper", - "tools.connector", - "tools.paintbucket", - "tools.eraser", - "tools.lpetool", - NULL -}; - -static char const *const tool_ids[] = { - NULL, - "select", - "nodes", - "tweak", - "rect", - "3dbox", - "arc", - "star", - "spiral", - "pencil", - "pen", - "calligraphic", - "text", - "gradient", - "zoom", - "dropper", - "connector", - "paintbucket", - "eraser", - "lpetool", + "/tools/select", + "/tools/nodes", + "/tools/tweak", + "/tools/shapes/rect", + "/tools/shapes/3dbox", + "/tools/shapes/arc", + "/tools/shapes/star", + "/tools/shapes/spiral", + "/tools/freehand/pencil", + "/tools/freehand/pen", + "/tools/calligraphic", + "/tools/text", + "/tools/gradient", + "/tools/zoom", + "/tools/dropper", + "/tools/connector", + "/tools/paintbucket", + "/tools/eraser", + "/tools/lpetool", NULL }; static int -tools_id2num(char const *id) +tools_prefpath2num(char const *id) { int i = 1; - while (tool_ids[i]) { - if (strcmp(tool_ids[i], id) == 0) + while (tool_names[i]) { + if (strcmp(tool_names[i], id) == 0) return i; else i++; } @@ -121,16 +97,16 @@ tools_id2num(char const *id) int tools_isactive(SPDesktop *dt, unsigned num) { - g_assert( num < G_N_ELEMENTS(tool_ids) ); + g_assert( num < G_N_ELEMENTS(tool_names) ); if (SP_IS_EVENT_CONTEXT(dt->event_context)) - return (!strcmp(dt->event_context->prefs_repr->attribute("id"), tool_ids[num])); + return dt->event_context->pref_observer->observed_path == tool_names[num]; else return FALSE; } int tools_active(SPDesktop *dt) { - return (tools_id2num(dt->event_context->prefs_repr->attribute("id"))); + return tools_prefpath2num(dt->event_context->pref_observer->observed_path.data()); } void diff --git a/src/tweak-context.cpp b/src/tweak-context.cpp index df10ca7a1..f8e88b53a 100644 --- a/src/tweak-context.cpp +++ b/src/tweak-context.cpp @@ -70,7 +70,7 @@ #include "livarot/Shape.h" #include <2geom/isnan.h> #include <2geom/transforms.h> -#include "prefs-utils.h" +#include "preferences.h" #include "style.h" #include "box3d.h" #include "sp-item-transform.h" @@ -89,7 +89,7 @@ static void sp_tweak_context_init(SPTweakContext *ddc); static void sp_tweak_context_dispose(GObject *object); static void sp_tweak_context_setup(SPEventContext *ec); -static void sp_tweak_context_set(SPEventContext *ec, gchar const *key, gchar const *val); +static void sp_tweak_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val); static gint sp_tweak_context_root_handler(SPEventContext *ec, GdkEvent *event); static SPEventContextClass *parent_class; @@ -274,9 +274,8 @@ sp_tweak_context_style_set(SPCSSAttr const *css, SPTweakContext *tc) if (tc->mode == TWEAK_MODE_COLORPAINT) { // intercept color setting only in this mode // we cannot store properties with uris css = sp_css_attr_unset_uris ((SPCSSAttr *) css); - - sp_repr_css_change (inkscape_get_repr (INKSCAPE, "tools.tweak"), (SPCSSAttr *) css, "style"); - + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setStyle("/tools/tweak/style", const_cast(css)); return true; } return false; @@ -325,44 +324,42 @@ sp_tweak_context_setup(SPEventContext *ec) tc->style_set_connection = ec->desktop->connectSetStyle( // catch style-setting signal in this tool sigc::bind(sigc::ptr_fun(&sp_tweak_context_style_set), tc) ); - - if (prefs_get_int_attribute("tools.tweak", "selcue", 0) != 0) { + + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/tools/tweak/selcue")) { ec->enableSelectionCue(); } - if (prefs_get_int_attribute("tools.tweak", "gradientdrag", 0) != 0) { + if (prefs->getBool("/tools/tweak/gradientdrag")) { ec->enableGrDrag(); } } static void -sp_tweak_context_set(SPEventContext *ec, gchar const *key, gchar const *val) +sp_tweak_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val) { SPTweakContext *tc = SP_TWEAK_CONTEXT(ec); + Glib::ustring path = val->getEntryName(); - if (!strcmp(key, "width")) { - double const dval = ( val ? g_ascii_strtod (val, NULL) : 0.1 ); - tc->width = CLAMP(dval, -1000.0, 1000.0); - } else if (!strcmp(key, "mode")) { - gint64 const dval = ( val ? g_ascii_strtoll (val, NULL, 10) : 0 ); - tc->mode = dval; + if (path == "width") { + tc->width = CLAMP(val->getDouble(0.1), -1000.0, 1000.0); + } else if (path == "mode") { + tc->mode = val->getInt(); sp_tweak_update_cursor(tc, false); - } else if (!strcmp(key, "fidelity")) { - double const dval = ( val ? g_ascii_strtod (val, NULL) : 0.0 ); - tc->fidelity = CLAMP(dval, 0.0, 1.0); - } else if (!strcmp(key, "force")) { - double const dval = ( val ? g_ascii_strtod (val, NULL) : 1.0 ); - tc->force = CLAMP(dval, 0, 1.0); - } else if (!strcmp(key, "usepressure")) { - tc->usepressure = (val && strcmp(val, "0")); - } else if (!strcmp(key, "doh")) { - tc->do_h = (val && strcmp(val, "0")); - } else if (!strcmp(key, "dos")) { - tc->do_s = (val && strcmp(val, "0")); - } else if (!strcmp(key, "dol")) { - tc->do_l = (val && strcmp(val, "0")); - } else if (!strcmp(key, "doo")) { - tc->do_o = (val && strcmp(val, "0")); + } else if (path == "fidelity") { + tc->fidelity = CLAMP(val->getDouble(), 0.0, 1.0); + } else if (path == "force") { + tc->force = CLAMP(val->getDouble(1.0), 0, 1.0); + } else if (path == "usepressure") { + tc->usepressure = val->getBool(); + } else if (path == "doh") { + tc->do_h = val->getBool(); + } else if (path == "dos") { + tc->do_s = val->getBool(); + } else if (path == "dol") { + tc->do_l = val->getBool(); + } else if (path == "doo") { + tc->do_o = val->getBool(); } } @@ -411,6 +408,19 @@ sp_tweak_dilate_recursive (Inkscape::Selection *selection, SPItem *item, Geom::P selection->add(item); } + if (SP_IS_TEXT(item) || SP_IS_FLOWTEXT(item)) { + GSList *items = g_slist_prepend (NULL, item); + GSList *selected = NULL; + GSList *to_select = NULL; + SPDocument *doc = SP_OBJECT_DOCUMENT(item); + sp_item_list_to_curves (items, &selected, &to_select); + g_slist_free (items); + SPObject* newObj = doc->getObjectByRepr((Inkscape::XML::Node *) to_select->data); + g_slist_free (to_select); + item = (SPItem *) newObj; + selection->add(item); + } + if (SP_IS_GROUP(item) && !SP_IS_BOX3D(item)) { for (SPObject *child = sp_object_first_child(SP_OBJECT(item)) ; child != NULL; child = SP_OBJECT_NEXT(child) ) { if (SP_IS_ITEM(child)) { @@ -520,7 +530,7 @@ sp_tweak_dilate_recursive (Inkscape::Selection *selection, SPItem *item, Geom::P } } - } else if (SP_IS_PATH(item) || SP_IS_SHAPE(item) || SP_IS_TEXT(item) || SP_IS_FLOWTEXT(item)) { + } else if (SP_IS_PATH(item) || SP_IS_SHAPE(item)) { Inkscape::XML::Node *newrepr = NULL; gint pos = 0; @@ -1038,10 +1048,28 @@ sp_tweak_dilate (SPTweakContext *tc, NR::Point event_p, NR::Point p, NR::Point v SPItem *item_at_point = SP_EVENT_CONTEXT(tc)->desktop->item_at_point(event_p, TRUE); bool do_fill = false, do_stroke = false, do_opacity = false; - guint32 fill_goal = sp_desktop_get_color_tool(desktop, "tools.tweak", true, &do_fill); - guint32 stroke_goal = sp_desktop_get_color_tool(desktop, "tools.tweak", false, &do_stroke); - double opacity_goal = sp_desktop_get_master_opacity_tool(desktop, "tools.tweak", &do_opacity); + guint32 fill_goal = sp_desktop_get_color_tool(desktop, "/tools/tweak", true, &do_fill); + guint32 stroke_goal = sp_desktop_get_color_tool(desktop, "/tools/tweak", false, &do_stroke); + double opacity_goal = sp_desktop_get_master_opacity_tool(desktop, "/tools/tweak", &do_opacity); if (reverse) { +#if 0 + // HSL inversion + float hsv[3]; + float rgb[3]; + sp_color_rgb_to_hsv_floatv (hsv, + SP_RGBA32_R_F(fill_goal), + SP_RGBA32_G_F(fill_goal), + SP_RGBA32_B_F(fill_goal)); + sp_color_hsv_to_rgb_floatv (rgb, hsv[0]<.5? hsv[0]+.5 : hsv[0]-.5, 1 - hsv[1], 1 - hsv[2]); + fill_goal = SP_RGBA32_F_COMPOSE(rgb[0], rgb[1], rgb[2], 1); + sp_color_rgb_to_hsv_floatv (hsv, + SP_RGBA32_R_F(stroke_goal), + SP_RGBA32_G_F(stroke_goal), + SP_RGBA32_B_F(stroke_goal)); + sp_color_hsv_to_rgb_floatv (rgb, hsv[0]<.5? hsv[0]+.5 : hsv[0]-.5, 1 - hsv[1], 1 - hsv[2]); + stroke_goal = SP_RGBA32_F_COMPOSE(rgb[0], rgb[1], rgb[2], 1); +#else + // RGB inversion fill_goal = SP_RGBA32_U_COMPOSE( (255 - SP_RGBA32_R_U(fill_goal)), (255 - SP_RGBA32_G_U(fill_goal)), @@ -1052,6 +1080,7 @@ sp_tweak_dilate (SPTweakContext *tc, NR::Point event_p, NR::Point p, NR::Point v (255 - SP_RGBA32_G_U(stroke_goal)), (255 - SP_RGBA32_B_U(stroke_goal)), (255 - SP_RGBA32_A_U(stroke_goal))); +#endif opacity_goal = 1 - opacity_goal; } @@ -1111,11 +1140,12 @@ sp_tweak_switch_mode (SPTweakContext *tc, gint mode, bool with_shift) void sp_tweak_switch_mode_temporarily (SPTweakContext *tc, gint mode, bool with_shift) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); // Juggling about so that prefs have the old value but tc->mode and the button show new mode: - gint now_mode = prefs_get_int_attribute("tools.tweak", "mode", 0); + gint now_mode = prefs->getInt("/tools/tweak/mode", 0); SP_EVENT_CONTEXT(tc)->desktop->setToolboxSelectOneValue ("tweak_tool_mode", mode); // button has changed prefs, restore - prefs_set_int_attribute("tools.tweak", "mode", now_mode); + prefs->setInt("/tools/tweak/mode", now_mode); // changing prefs changed tc->mode, restore back :) tc->mode = mode; sp_tweak_update_cursor (tc, with_shift); @@ -1453,7 +1483,8 @@ sp_tweak_context_root_handler(SPEventContext *event_context, } break; - case GDK_KEY_RELEASE: + case GDK_KEY_RELEASE: { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); switch (get_group0_keyval(&event->key)) { case GDK_Shift_L: case GDK_Shift_R: @@ -1461,13 +1492,14 @@ sp_tweak_context_root_handler(SPEventContext *event_context, break; case GDK_Control_L: case GDK_Control_R: - sp_tweak_switch_mode (tc, prefs_get_int_attribute("tools.tweak", "mode", 0), MOD__SHIFT); + sp_tweak_switch_mode (tc, prefs->getInt("/tools/tweak/mode"), MOD__SHIFT); tc->_message_context->clear(); break; default: - sp_tweak_switch_mode (tc, prefs_get_int_attribute("tools.tweak", "mode", 0), MOD__SHIFT); + sp_tweak_switch_mode (tc, prefs->getInt("/tools/tweak/mode"), MOD__SHIFT); break; } + } default: break; diff --git a/src/ui/clipboard.cpp b/src/ui/clipboard.cpp index 09521008b..e76af958f 100644 --- a/src/ui/clipboard.cpp +++ b/src/ui/clipboard.cpp @@ -863,7 +863,7 @@ bool ClipboardManagerImpl::_pasteImage() strftime(image_filename, 128, "inkscape_pasted_image_%Y%m%d_%H%M%S.png", localtime( &rawtime )); /// @todo Check whether the encoding is correct here Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - std::string save_folder = Glib::filename_from_utf8(prefs->getString("dialogs.save_as", "path")); + std::string save_folder = Glib::filename_from_utf8(prefs->getString("/dialogs/save_as/path")); gchar *image_path = g_build_filename(save_folder.data(), image_filename, NULL); img->save(image_path, "png"); diff --git a/src/ui/context-menu.cpp b/src/ui/context-menu.cpp index aa93ffed9..98ad9dc7b 100644 --- a/src/ui/context-menu.cpp +++ b/src/ui/context-menu.cpp @@ -50,11 +50,13 @@ sp_object_menu(SPObject *object, SPDesktop *desktop, GtkMenu *menu) #include "document.h" #include "desktop-handles.h" #include "selection.h" - +#include "selection-chemistry.h" #include "dialogs/item-properties.h" #include "dialogs/object-attributes.h" #include "sp-path.h" +#include "sp-clippath.h" +#include "sp-mask.h" static void sp_item_menu(SPObject *object, SPDesktop *desktop, GtkMenu *menu); @@ -85,7 +87,10 @@ sp_object_type_menu(GType type, SPObject *object, SPDesktop *desktop, GtkMenu *m static void sp_item_properties(GtkMenuItem *menuitem, SPItem *item); static void sp_item_select_this(GtkMenuItem *menuitem, SPItem *item); static void sp_item_create_link(GtkMenuItem *menuitem, SPItem *item); - +static void sp_set_mask(GtkMenuItem *menuitem, SPItem *item); +static void sp_release_mask(GtkMenuItem *menuitem, SPItem *item); +static void sp_set_clip(GtkMenuItem *menuitem, SPItem *item); +static void sp_release_clip(GtkMenuItem *menuitem, SPItem *item); /* Generate context menu item section */ static void @@ -123,6 +128,51 @@ sp_item_menu(SPObject *object, SPDesktop *desktop, GtkMenu *m) gtk_widget_set_sensitive(w, !SP_IS_ANCHOR(item)); gtk_widget_show(w); gtk_menu_append(GTK_MENU(m), w); + /* Set mask */ + w = gtk_menu_item_new_with_mnemonic(_("Set Mask")); + gtk_object_set_data(GTK_OBJECT(w), "desktop", desktop); + gtk_signal_connect(GTK_OBJECT(w), "activate", GTK_SIGNAL_FUNC(sp_set_mask), item); + if ((item && item->mask_ref && item->mask_ref->getObject()) || (item->clip_ref && item->clip_ref->getObject())) { + gtk_widget_set_sensitive(w, FALSE); + } else { + gtk_widget_set_sensitive(w, TRUE); + } + gtk_widget_show(w); + gtk_menu_append(GTK_MENU(m), w); + /* Release mask */ + w = gtk_menu_item_new_with_mnemonic(_("Release Mask")); + gtk_object_set_data(GTK_OBJECT(w), "desktop", desktop); + gtk_signal_connect(GTK_OBJECT(w), "activate", GTK_SIGNAL_FUNC(sp_release_mask), item); + if (item && item->mask_ref && item->mask_ref->getObject()) { + gtk_widget_set_sensitive(w, TRUE); + } else { + gtk_widget_set_sensitive(w, FALSE); + } + gtk_widget_show(w); + gtk_menu_append(GTK_MENU(m), w); + /* Set Clip */ + w = gtk_menu_item_new_with_mnemonic(_("Set Clip")); + gtk_object_set_data(GTK_OBJECT(w), "desktop", desktop); + gtk_signal_connect(GTK_OBJECT(w), "activate", GTK_SIGNAL_FUNC(sp_set_clip), item); + if ((item && item->mask_ref && item->mask_ref->getObject()) || (item->clip_ref && item->clip_ref->getObject())) { + gtk_widget_set_sensitive(w, FALSE); + } else { + gtk_widget_set_sensitive(w, TRUE); + } + gtk_widget_show(w); + gtk_menu_append(GTK_MENU(m), w); + /* Release Clip */ + w = gtk_menu_item_new_with_mnemonic(_("Release Clip")); + gtk_object_set_data(GTK_OBJECT(w), "desktop", desktop); + gtk_signal_connect(GTK_OBJECT(w), "activate", GTK_SIGNAL_FUNC(sp_release_clip), item); + if (item && item->clip_ref && item->clip_ref->getObject()) { + gtk_widget_set_sensitive(w, TRUE); + } else { + gtk_widget_set_sensitive(w, FALSE); + } + gtk_widget_show(w); + gtk_menu_append(GTK_MENU(m), w); + } static void @@ -140,6 +190,63 @@ sp_item_properties(GtkMenuItem *menuitem, SPItem *item) sp_item_dialog(); } + +static void +sp_set_mask(GtkMenuItem *menuitem, SPItem *item) +{ + SPDesktop *desktop; + + g_assert(SP_IS_ITEM(item)); + + desktop = (SPDesktop*)gtk_object_get_data(GTK_OBJECT(menuitem), "desktop"); + g_return_if_fail(desktop != NULL); + + sp_selection_set_mask(desktop, false, false); +} + + +static void +sp_release_mask(GtkMenuItem *menuitem, SPItem *item) +{ + SPDesktop *desktop; + + g_assert(SP_IS_ITEM(item)); + + desktop = (SPDesktop*)gtk_object_get_data(GTK_OBJECT(menuitem), "desktop"); + g_return_if_fail(desktop != NULL); + + sp_selection_unset_mask(desktop, false); +} + + +static void +sp_set_clip(GtkMenuItem *menuitem, SPItem *item) +{ + SPDesktop *desktop; + + g_assert(SP_IS_ITEM(item)); + + desktop = (SPDesktop*)gtk_object_get_data(GTK_OBJECT(menuitem), "desktop"); + g_return_if_fail(desktop != NULL); + + sp_selection_set_mask(desktop, true, false); +} + + +static void +sp_release_clip(GtkMenuItem *menuitem, SPItem *item) +{ + SPDesktop *desktop; + + g_assert(SP_IS_ITEM(item)); + + desktop = (SPDesktop*)gtk_object_get_data(GTK_OBJECT(menuitem), "desktop"); + g_return_if_fail(desktop != NULL); + + sp_selection_unset_mask(desktop, true); +} + + static void sp_item_select_this(GtkMenuItem *menuitem, SPItem *item) { @@ -322,12 +429,12 @@ sp_image_image_properties(GtkMenuItem */*menuitem*/, SPAnchor *anchor) static gchar* getImageEditorName() { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); gchar* value = 0; - Glib::ustring choices = prefs->getString("options.bitmapeditor", "choices"); + Glib::ustring choices = prefs->getString("/options/bitmapeditor/choices"); if (!choices.empty()) { gchar** splits = g_strsplit(choices.data(), ",", 0); gint numIems = g_strv_length(splits); - int setting = prefs->getIntLimited("options.bitmapeditor", "value", 0, 0, numIems); + int setting = prefs->getIntLimited("/options/bitmapeditor/value", 0, 0, numIems); value = g_strdup(splits[setting]); g_strfreev(splits); diff --git a/src/ui/dialog/aboutbox.cpp b/src/ui/dialog/aboutbox.cpp index 9a17ed20c..261a586b4 100644 --- a/src/ui/dialog/aboutbox.cpp +++ b/src/ui/dialog/aboutbox.cpp @@ -1,7 +1,7 @@ -/** - * \brief AboutBox - the Inkscape about dialog - * - * Authors: +/** @file + * @brief Inkscape About box - implementation + */ +/* Authors: * Derek P. Moore * MenTaLguY * Kees Cook diff --git a/src/ui/dialog/aboutbox.h b/src/ui/dialog/aboutbox.h index ebd7e0a53..622b1324f 100644 --- a/src/ui/dialog/aboutbox.h +++ b/src/ui/dialog/aboutbox.h @@ -1,10 +1,10 @@ -/** - * \brief About Widget - Adds the "about" doc to the Gnome::UI::About Class +/** @file + * @brief Inkscape About box * * The standard Gnome::UI::About class doesn't include a place to stuff * a renderable View that holds the classic Inkscape "about.svg". - * - * Author: + */ +/* Author: * Kees Cook * * Copyright (C) 2005 Kees Cook diff --git a/src/ui/dialog/align-and-distribute.cpp b/src/ui/dialog/align-and-distribute.cpp index b8b59230a..367a744c7 100644 --- a/src/ui/dialog/align-and-distribute.cpp +++ b/src/ui/dialog/align-and-distribute.cpp @@ -1,7 +1,7 @@ -/** - * \brief Align and Distribute dialog - * - * Authors: +/** @file + * @brief Align and Distribute dialog - implementation + */ +/* Authors: * Bryce W. Harrington * Aubanel MONNIER * Frank Felfe @@ -39,7 +39,7 @@ #include "desktop-handles.h" #include "macros.h" #include "sp-item-transform.h" -#include "prefs-utils.h" +#include "preferences.h" #include "enums.h" #include "sp-text.h" @@ -122,7 +122,8 @@ private : Inkscape::Selection *selection = sp_desktop_selection(desktop); if (!selection) return; - bool sel_as_group = (prefs_get_int_attribute("dialogs.align", "sel-as-groups", 0) != 0); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + bool sel_as_group = prefs->getBool("/dialogs/align/sel-as-groups"); using Inkscape::Util::GSListConstIterator; std::list selected; @@ -211,8 +212,8 @@ private : // a selected original, they will be unmoved too, possibly contrary to user's // expecation. However this is a minor point compared to making align/distribute always // work as expected, and "unmoved" is the default option anyway. - int saved_compensation = prefs_get_int_attribute("options.clonecompensation", "value", SP_CLONE_COMPENSATION_UNMOVED); - prefs_set_int_attribute("options.clonecompensation", "value", SP_CLONE_COMPENSATION_UNMOVED); + int saved_compensation = prefs->getInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED); + prefs->setInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED); bool changed = false; boost::optional b; @@ -239,7 +240,7 @@ private : } // restore compensation setting - prefs_set_int_attribute("options.clonecompensation", "value", saved_compensation); + prefs->setInt("/options/clonecompensation/value", saved_compensation); if (changed) { sp_document_done ( sp_desktop_document (desktop) , SP_VERB_DIALOG_ALIGN_DISTRIBUTE, @@ -339,8 +340,9 @@ private : std::sort(sorted.begin(), sorted.end()); // see comment in ActionAlign above - int saved_compensation = prefs_get_int_attribute("options.clonecompensation", "value", SP_CLONE_COMPENSATION_UNMOVED); - prefs_set_int_attribute("options.clonecompensation", "value", SP_CLONE_COMPENSATION_UNMOVED); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int saved_compensation = prefs->getInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED); + prefs->setInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED); unsigned int len = sorted.size(); bool changed = false; @@ -397,7 +399,7 @@ private : } // restore compensation setting - prefs_set_int_attribute("options.clonecompensation", "value", saved_compensation); + prefs->setInt("/options/clonecompensation/value", saved_compensation); if (changed) { sp_document_done ( sp_desktop_document (desktop), SP_VERB_DIALOG_ALIGN_DISTRIBUTE, @@ -497,8 +499,9 @@ private : if (!_dialog.getDesktop()) return; // see comment in ActionAlign above - int saved_compensation = prefs_get_int_attribute("options.clonecompensation", "value", SP_CLONE_COMPENSATION_UNMOVED); - prefs_set_int_attribute("options.clonecompensation", "value", SP_CLONE_COMPENSATION_UNMOVED); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int saved_compensation = prefs->getInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED); + prefs->setInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED); // xGap and yGap are the minimum space required between bounding rectangles. double const xGap = removeOverlapXGap.get_value(); @@ -507,7 +510,7 @@ private : xGap, yGap); // restore compensation setting - prefs_set_int_attribute("options.clonecompensation", "value", saved_compensation); + prefs->setInt("/options/clonecompensation/value", saved_compensation); sp_document_done(sp_desktop_document(_dialog.getDesktop()), SP_VERB_DIALOG_ALIGN_DISTRIBUTE, _("Remove overlaps")); @@ -531,13 +534,14 @@ private : if (!_dialog.getDesktop()) return; // see comment in ActionAlign above - int saved_compensation = prefs_get_int_attribute("options.clonecompensation", "value", SP_CLONE_COMPENSATION_UNMOVED); - prefs_set_int_attribute("options.clonecompensation", "value", SP_CLONE_COMPENSATION_UNMOVED); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int saved_compensation = prefs->getInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED); + prefs->setInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED); graphlayout(sp_desktop_selection(_dialog.getDesktop())->itemList()); // restore compensation setting - prefs_set_int_attribute("options.clonecompensation", "value", saved_compensation); + prefs->setInt("/options/clonecompensation/value", saved_compensation); sp_document_done(sp_desktop_document(_dialog.getDesktop()), SP_VERB_DIALOG_ALIGN_DISTRIBUTE, _("Arrange connector network")); @@ -561,13 +565,14 @@ private : if (!_dialog.getDesktop()) return; // see comment in ActionAlign above - int saved_compensation = prefs_get_int_attribute("options.clonecompensation", "value", SP_CLONE_COMPENSATION_UNMOVED); - prefs_set_int_attribute("options.clonecompensation", "value", SP_CLONE_COMPENSATION_UNMOVED); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int saved_compensation = prefs->getInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED); + prefs->setInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED); unclump ((GSList *) sp_desktop_selection(_dialog.getDesktop())->itemList()); // restore compensation setting - prefs_set_int_attribute("options.clonecompensation", "value", saved_compensation); + prefs->setInt("/options/clonecompensation/value", saved_compensation); sp_document_done (sp_desktop_document (_dialog.getDesktop()), SP_VERB_DIALOG_ALIGN_DISTRIBUTE, _("Unclump")); @@ -615,8 +620,9 @@ private : } // see comment in ActionAlign above - int saved_compensation = prefs_get_int_attribute("options.clonecompensation", "value", SP_CLONE_COMPENSATION_UNMOVED); - prefs_set_int_attribute("options.clonecompensation", "value", SP_CLONE_COMPENSATION_UNMOVED); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int saved_compensation = prefs->getInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED); + prefs->setInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED); for (std::list::iterator it(selected.begin()); it != selected.end(); @@ -631,13 +637,13 @@ private : double y = _dialog.randomize_bbox->min()[Geom::Y] + (*item_box)[Geom::Y].extent()/2 + g_random_double_range (0, (*_dialog.randomize_bbox)[Geom::Y].extent() - (*item_box)[Geom::Y].extent()); // displacement is the new center minus old: - NR::Point t = NR::Point (x, y) - 0.5*(item_box->max() + item_box->min()); + Geom::Point t = Geom::Point (x, y) - 0.5*(item_box->max() + item_box->min()); sp_item_move_rel(*it, Geom::Translate(t)); } } // restore compensation setting - prefs_set_int_attribute("options.clonecompensation", "value", saved_compensation); + prefs->setInt("/options/clonecompensation/value", saved_compensation); sp_document_done (sp_desktop_document (desktop), SP_VERB_DIALOG_ALIGN_DISTRIBUTE, _("Randomize positions")); @@ -783,7 +789,7 @@ void on_selection_changed(Inkscape::Application */*inkscape*/, Inkscape::Selecti AlignAndDistribute::AlignAndDistribute() - : UI::Widget::Panel ("", "dialogs.align", SP_VERB_DIALOG_ALIGN_DISTRIBUTE), + : UI::Widget::Panel ("", "/dialogs/align", SP_VERB_DIALOG_ALIGN_DISTRIBUTE), randomize_bbox(), _alignFrame(_("Align")), _distributeFrame(_("Distribute")), @@ -798,6 +804,7 @@ AlignAndDistribute::AlignAndDistribute() _anchorLabel(_("Relative to: ")), _selgrpLabel(_("Treat selection as group: ")) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); //Instanciate the align buttons addAlignButton("al_left_out", @@ -917,7 +924,7 @@ AlignAndDistribute::AlignAndDistribute() _combo.append_text(_("Drawing")); _combo.append_text(_("Selection")); - _combo.set_active(prefs_get_int_attribute("dialogs.align", "align-to", 6)); + _combo.set_active(prefs->getInt("/dialogs/align/align-to", 6)); _combo.signal_changed().connect(sigc::mem_fun(*this, &AlignAndDistribute::on_ref_change)); _anchorBox.pack_start(_anchorLabel); @@ -925,7 +932,7 @@ AlignAndDistribute::AlignAndDistribute() _selgrpBox.pack_start(_selgrpLabel); _selgrpBox.pack_start(_selgrp); - _selgrp.set_active(prefs_get_int_attribute("dialogs.align", "sel-as-groups", 0)); + _selgrp.set_active(prefs->getBool("/dialogs/align/sel-as-groups")); _selgrp.signal_toggled().connect(sigc::mem_fun(*this, &AlignAndDistribute::on_selgrp_toggled)); _alignBox.pack_start(_anchorBox); @@ -972,15 +979,15 @@ AlignAndDistribute::~AlignAndDistribute() } void AlignAndDistribute::on_ref_change(){ - - prefs_set_int_attribute("dialogs.align", "align-to", _combo.get_active_row_number()); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setInt("/dialogs/align/align-to", _combo.get_active_row_number()); //Make blink the master } void AlignAndDistribute::on_selgrp_toggled(){ - - prefs_set_int_attribute("dialogs.align", "sel-as-groups", _selgrp.get_active()); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setInt("/dialogs/align/sel-as-groups", _selgrp.get_active()); //Make blink the master } diff --git a/src/ui/dialog/align-and-distribute.h b/src/ui/dialog/align-and-distribute.h index e2bb68fe5..3d6b5984e 100644 --- a/src/ui/dialog/align-and-distribute.h +++ b/src/ui/dialog/align-and-distribute.h @@ -1,7 +1,7 @@ -/** - * \brief Align and Distribute dialog - * - * Authors: +/** @file + * @brief Align and Distribute dialog + */ +/* Authors: * Bryce W. Harrington * Aubanel MONNIER * Frank Felfe diff --git a/src/ui/dialog/behavior.h b/src/ui/dialog/behavior.h index 4b5fe06b8..fbe42c2fb 100644 --- a/src/ui/dialog/behavior.h +++ b/src/ui/dialog/behavior.h @@ -1,7 +1,7 @@ -/** - * \brief Dialog behavior interface - * - * Author: +/** @file + * @brief Dialog behavior interface + */ +/* Author: * Gustav Broberg * * Copyright (C) 2007 Authors diff --git a/src/ui/dialog/dialog-manager.cpp b/src/ui/dialog/dialog-manager.cpp index 227814cd1..e73200a1f 100644 --- a/src/ui/dialog/dialog-manager.cpp +++ b/src/ui/dialog/dialog-manager.cpp @@ -45,6 +45,7 @@ #include "ui/dialog/floating-behavior.h" #include "ui/dialog/dock-behavior.h" +#include "preferences.h" namespace Inkscape { namespace UI { @@ -84,7 +85,8 @@ DialogManager::DialogManager() { using namespace Behavior; using namespace Inkscape::UI::Dialogs; // temporary - int dialogs_type = prefs_get_int_attribute_limited ("options.dialogtype", "value", DOCK, 0, 1); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int dialogs_type = prefs->getIntLimited("/options/dialogtype/value", DOCK, 0, 1); if (dialogs_type == FLOATING) { @@ -150,7 +152,8 @@ DialogManager::~DialogManager() { DialogManager &DialogManager::getInstance() { - int dialogs_type = prefs_get_int_attribute_limited ("options.dialogtype", "value", DOCK, 0, 1); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int dialogs_type = prefs->getIntLimited("/options/dialogtype/value", DOCK, 0, 1); /* Use singleton behavior for floating dialogs */ if (dialogs_type == FLOATING) { diff --git a/src/ui/dialog/dialog-manager.h b/src/ui/dialog/dialog-manager.h index 80070f19c..a97b58ce3 100644 --- a/src/ui/dialog/dialog-manager.h +++ b/src/ui/dialog/dialog-manager.h @@ -1,8 +1,8 @@ -/** - * \brief Object for managing a set of dialogs, including their signals and +/** @file + * @brief Object for managing a set of dialogs, including their signals and * construction/caching/destruction of them. - * - * Author: + */ +/* Author: * Bryce W. Harrington * Jon Phillips * diff --git a/src/ui/dialog/dialog.cpp b/src/ui/dialog/dialog.cpp index 1361b4977..2b39eb3c9 100644 --- a/src/ui/dialog/dialog.cpp +++ b/src/ui/dialog/dialog.cpp @@ -1,8 +1,7 @@ -/** - * \brief Base class for dialogs in Inkscape. This class provides certain - * common behaviors and styles wanted of all dialogs in the application. - * - * Authors: +/** @file + * @brief Base class for dialogs in Inkscape - implementation + */ +/* Authors: * Bryce W. Harrington * buliabyak@gmail.com * Johan Engelen @@ -30,7 +29,7 @@ #include "dialog-manager.h" #include "modifier-fns.h" #include "shortcuts.h" -#include "prefs-utils.h" +#include "preferences.h" #include "interface.h" #include "verbs.h" @@ -206,10 +205,11 @@ Dialog::read_geometry() { _user_hidden = false; - int x = prefs_get_int_attribute (_prefs_path, "x", -1000); - int y = prefs_get_int_attribute (_prefs_path, "y", -1000); - int w = prefs_get_int_attribute (_prefs_path, "w", 0); - int h = prefs_get_int_attribute (_prefs_path, "h", 0); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int x = prefs->getInt(_prefs_path + "/x", -1000); + int y = prefs->getInt(_prefs_path + "/y", -1000); + int w = prefs->getInt(_prefs_path + "/w", 0); + int h = prefs->getInt(_prefs_path + "/h", 0); // g_print ("read %d %d %d %d\n", x, y, w, h); @@ -245,10 +245,11 @@ Dialog::save_geometry() if (x<0) x=0; if (y<0) y=0; - prefs_set_int_attribute (_prefs_path, "x", x); - prefs_set_int_attribute (_prefs_path, "y", y); - prefs_set_int_attribute (_prefs_path, "w", w); - prefs_set_int_attribute (_prefs_path, "h", h); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setInt(_prefs_path + "/x", x); + prefs->setInt(_prefs_path + "/y", y); + prefs->setInt(_prefs_path + "/w", w); + prefs->setInt(_prefs_path + "/h", h); } diff --git a/src/ui/dialog/dialog.h b/src/ui/dialog/dialog.h index a1229fb94..1a59a236c 100644 --- a/src/ui/dialog/dialog.h +++ b/src/ui/dialog/dialog.h @@ -1,9 +1,7 @@ -/** - * \brief Base class for dialogs in Inkscape. This class provides certain common behaviors and - * styles wanted of all dialogs in the application. Fundamental parts of the dialog's - * behavior is controlled by a Dialog::Behavior subclass instance connected to the dialog. - * - * Author: +/** @file + * @brief Base class for dialogs in Inkscape + */ +/* Authors: * Bryce W. Harrington * Gustav Broberg * @@ -38,6 +36,12 @@ void sp_retransientize(Inkscape::Application *inkscape, SPDesktop *desktop, gpoi gboolean sp_retransientize_again(gpointer dlgPtr); void sp_dialog_shutdown(GtkObject *object, gpointer dlgPtr); +/** + * @brief Base class for Inkscape dialogs + * This class provides certain common behaviors and styles wanted of all dialogs + * in the application. Fundamental parts of the dialog's behavior are controlled by + * a Dialog::Behavior subclass instance connected to the dialog. + */ class Dialog { public: @@ -83,7 +87,7 @@ public: bool retransientize_suppress; // when true, do not retransientize (prevents races when switching new windows too fast) protected: - const char *_prefs_path; + Glib::ustring const _prefs_path; int _verb_num; Glib::ustring _title; Glib::ustring _apply_label; diff --git a/src/ui/dialog/dock-behavior.cpp b/src/ui/dialog/dock-behavior.cpp index 6f3df89da..6b7a9b697 100644 --- a/src/ui/dialog/dock-behavior.cpp +++ b/src/ui/dialog/dock-behavior.cpp @@ -1,7 +1,7 @@ -/** - * \brief A dockable dialog implementation. - * - * Author: +/** @file + * @brief A dockable dialog implementation. + */ +/* Author: * Gustav Broberg * * Copyright (C) 2007 Authors @@ -22,7 +22,7 @@ #include "ui/widget/dock.h" #include "verbs.h" #include "dialog.h" -#include "prefs-utils.h" +#include "preferences.h" #include "dialogs/dialog-events.h" #include @@ -44,7 +44,7 @@ DockBehavior::DockBehavior(Dialog &dialog) : (Inkscape::Verb::get(dialog._verb_num)->get_image() ? Inkscape::Verb::get(dialog._verb_num)->get_image() : ""), static_cast( - prefs_get_int_attribute (_dialog._prefs_path, "state", + Inkscape::Preferences::get()->getInt(_dialog._prefs_path + "/state", UI::Widget::DockItem::DOCKED_STATE))) { // Connect signals @@ -178,7 +178,8 @@ DockBehavior::_onHide() { _dialog.save_geometry(); _dialog._user_hidden = true; - prefs_set_int_attribute (_dialog._prefs_path, "state", _dock_item.getPrevState()); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setInt(_dialog._prefs_path + "/state", _dock_item.getPrevState()); } void @@ -186,7 +187,8 @@ DockBehavior::_onStateChanged(Widget::DockItem::State /*prev_state*/, Widget::DockItem::State new_state) { // TODO probably need to avoid window calls unless the state is different. Check. - prefs_set_int_attribute (_dialog._prefs_path, "state", new_state); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setInt(_dialog._prefs_path + "/state", new_state); if (new_state == Widget::DockItem::FLOATING_STATE) { if (Gtk::Window *floating_win = _dock_item.getWindow()) @@ -210,13 +212,15 @@ DockBehavior::onShowF12() void DockBehavior::onShutdown() { - prefs_set_int_attribute (_dialog._prefs_path, "state", _dock_item.getPrevState()); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setInt(_dialog._prefs_path + "/state", _dock_item.getPrevState()); } void DockBehavior::onDesktopActivated(SPDesktop *desktop) { - gint transient_policy = prefs_get_int_attribute_limited ( "options.transientpolicy", "value", 1, 0, 2); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + gint transient_policy = prefs->getIntLimited( "/options/transientpolicy/value", 1, 0, 2); #ifdef WIN32 // Win32 special code to enable transient dialogs transient_policy = 2; diff --git a/src/ui/dialog/dock-behavior.h b/src/ui/dialog/dock-behavior.h index d873bfb0a..7f0d0ece0 100644 --- a/src/ui/dialog/dock-behavior.h +++ b/src/ui/dialog/dock-behavior.h @@ -1,7 +1,7 @@ -/** - * \brief A dockable dialog implementation. - * - * Author: +/** @file + * @brief A dockable dialog implementation. + */ +/* Author: * Gustav Broberg * * Copyright (C) 2007 Authors diff --git a/src/ui/dialog/document-metadata.cpp b/src/ui/dialog/document-metadata.cpp index 5956cfb9b..32838309a 100644 --- a/src/ui/dialog/document-metadata.cpp +++ b/src/ui/dialog/document-metadata.cpp @@ -1,8 +1,7 @@ -/** \file - * - * Document metadata dialog, Gtkmm-style - * - * Authors: +/** @file + * @brief Document metadata dialog, Gtkmm-style + */ +/* Authors: * bulia byak * Bryce W. Harrington * Lauris Kaplinski @@ -67,9 +66,8 @@ DocumentMetadata::getInstance() DocumentMetadata::DocumentMetadata() - : UI::Widget::Panel ("", "dialogs.documentmetadata", SP_VERB_DIALOG_METADATA), - _page_metadata1(1, 1), _page_metadata2(1, 1), - _prefs_path("dialogs.documentmetadata") + : UI::Widget::Panel ("", "/dialogs/documentmetadata", SP_VERB_DIALOG_METADATA), + _page_metadata1(1, 1), _page_metadata2(1, 1) { hide(); _tt.enable(); @@ -255,9 +253,9 @@ on_repr_attr_changed (Inkscape::XML::Node *, gchar const *, gchar const *, gchar Local Variables: mode:c++ c-file-style:"stroustrup" - c-file-offsets:((innamespace . 0)(inline-open . 0)) + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) indent-tabs-mode:nil fill-column:99 End: */ -// vim: filetype=c++:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/ui/dialog/document-metadata.h b/src/ui/dialog/document-metadata.h index 1b5c08ce1..7f718e9f7 100644 --- a/src/ui/dialog/document-metadata.h +++ b/src/ui/dialog/document-metadata.h @@ -1,7 +1,7 @@ /** \file * \brief Document Metadata dialog - * - * Authors: + */ +/* Authors: * Ralf Stephan * Bryce W. Harrington * @@ -62,7 +62,6 @@ protected: RDElist _rdflist; Licensor _licensor; - gchar const *_prefs_path; Registry _wr; private: @@ -80,9 +79,9 @@ private: Local Variables: mode:c++ c-file-style:"stroustrup" - c-file-offsets:((innamespace . 0)(inline-open . 0)) + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) indent-tabs-mode:nil fill-column:99 End: */ -// vim: filetype=c++:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/ui/dialog/document-properties.cpp b/src/ui/dialog/document-properties.cpp index a2d5b50ed..7c738c503 100644 --- a/src/ui/dialog/document-properties.cpp +++ b/src/ui/dialog/document-properties.cpp @@ -1,8 +1,7 @@ -/** \file - * - * Document properties dialog, Gtkmm-style - * - * Authors: +/** @file + * @brief Document properties dialog, Gtkmm-style + */ +/* Authors: * bulia byak * Bryce W. Harrington * Lauris Kaplinski @@ -28,7 +27,7 @@ #include "xml/node-event-vector.h" #include "helper/units.h" -#include "prefs-utils.h" +#include "preferences.h" #include "inkscape.h" #include "verbs.h" @@ -81,7 +80,7 @@ DocumentProperties::getInstance() } DocumentProperties::DocumentProperties() - : UI::Widget::Panel ("", "dialogs.documentoptions", SP_VERB_DIALOG_NAMEDVIEW), + : UI::Widget::Panel ("", "/dialogs/documentoptions", SP_VERB_DIALOG_NAMEDVIEW), _page_page(1, 1, true, true), _page_guides(1, 1), _page_snap(1, 1), _page_snap_dtls(1, 1), //--------------------------------------------------------------- @@ -115,6 +114,7 @@ DocumentProperties::DocumentProperties() //--------------------------------------------------------------- //Applies to both nodes and guides, but not to bboxes, that's why its located here _rcbic( _("Rotation _center"), _("Consider the rotation center of an object when snapping"), "inkscape:snap-center", _wr), + _rcbsm( _("_Smooth nodes"), _("Snap to smooth nodes too, instead of only snapping to cusp nodes"), "inkscape:snap-smooth-nodes", _wr), _rcbsigg(_("_Grid with guides"), _("Snap to grid-guide intersections"), "inkscape:snap-intersection-grid-guide", _wr), _rcbsils(_("_Paths"), _("Snap to intersections of paths ('snap to paths' must be enabled, see the previous tab)"), "inkscape:snap-intersection-paths", _wr), @@ -123,9 +123,8 @@ DocumentProperties::DocumentProperties() //TRANSLATORS: In Grid|_New translate only the word _New. It ref to grid _grids_button_new(Q_("Grid|_New"), _("Create new grid.")), _grids_button_remove(_("_Remove"), _("Remove selected grid.")), - _grids_label_def("", Gtk::ALIGN_LEFT), + _grids_label_def("", Gtk::ALIGN_LEFT) //--------------------------------------------------------------- - _prefs_path("dialogs.documentoptions") { _tt.enable(); _getContents()->set_spacing (4); @@ -376,6 +375,7 @@ DocumentProperties::build_snap_dtls() 0, 0, label_m, 0, 0, &_rcbic, + 0, &_rcbsm }; attach_all(_page_snap_dtls.table(), array, G_N_ELEMENTS(array)); @@ -496,12 +496,13 @@ DocumentProperties::update() //-----------------------------------------------------------snap - _rcbsnbb.setActive (nv->snap_manager.getSnapModeBBox()); - _rcbsnn.setActive (nv->snap_manager.getSnapModeNode()); - _rcbsng.setActive (nv->snap_manager.getSnapModeGuide()); - _rcbic.setActive (nv->snap_manager.getIncludeItemCenter()); - _rcbsigg.setActive (nv->snap_manager.getSnapIntersectionGG()); - _rcbsils.setActive (nv->snap_manager.getSnapIntersectionCS()); + _rcbsnbb.setActive (nv->snap_manager.snapprefs.getSnapModeBBox()); + _rcbsnn.setActive (nv->snap_manager.snapprefs.getSnapModeNode()); + _rcbsng.setActive (nv->snap_manager.snapprefs.getSnapModeGuide()); + _rcbic.setActive (nv->snap_manager.snapprefs.getIncludeItemCenter()); + _rcbsm.setActive (nv->snap_manager.snapprefs.getSnapSmoothNodes()); + _rcbsigg.setActive (nv->snap_manager.snapprefs.getSnapIntersectionGG()); + _rcbsils.setActive (nv->snap_manager.snapprefs.getSnapIntersectionCS()); _rcbsnop.setActive(nv->snap_manager.object.getSnapToItemPath()); _rcbsnon.setActive(nv->snap_manager.object.getSnapToItemNode()); _rcbsnbbp.setActive(nv->snap_manager.object.getSnapToBBoxPath()); @@ -513,7 +514,7 @@ DocumentProperties::update() _rsu_gusn.setValue (nv->guidetolerance); - _rcbs.setActive (nv->snap_manager.getSnapEnabledGlobally()); + _rcbs.setActive (nv->snap_manager.snapprefs.getSnapEnabledGlobally()); _rcbsi.setActive (nv->snapindicator); //-----------------------------------------------------------grids page @@ -666,9 +667,9 @@ DocumentProperties::onRemoveGrid() Local Variables: mode:c++ c-file-style:"stroustrup" - c-file-offsets:((innamespace . 0)(inline-open . 0)) + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) indent-tabs-mode:nil fill-column:99 End: */ -// vim: filetype=c++:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/ui/dialog/document-properties.h b/src/ui/dialog/document-properties.h index a8750a32b..ab70b0d07 100644 --- a/src/ui/dialog/document-properties.h +++ b/src/ui/dialog/document-properties.h @@ -1,7 +1,7 @@ /** \file * \brief Document Properties dialog - * - * Authors: + */ +/* Authors: * Ralf Stephan * Bryce W. Harrington * @@ -78,7 +78,7 @@ protected: RegisteredCheckButton _rcbsnon, _rcbsnbbp, _rcbsnbbn, _rcbsnpb; ToleranceSlider _rsu_sno, _rsu_sn, _rsu_gusn; //--------------------------------------------------------------- - RegisteredCheckButton _rcbic; + RegisteredCheckButton _rcbic, _rcbsm; RegisteredCheckButton _rcbsigg, _rcbsils; //--------------------------------------------------------------- Gtk::Notebook _grids_notebook; @@ -91,8 +91,6 @@ protected: Gtk::HBox _grids_space; //--------------------------------------------------------------- - gchar const *_prefs_path; - Gtk::HBox& _createPageTabLabel(const Glib::ustring& label, const char *label_image); private: @@ -114,9 +112,9 @@ private: Local Variables: mode:c++ c-file-style:"stroustrup" - c-file-offsets:((innamespace . 0)(inline-open . 0)) + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) indent-tabs-mode:nil fill-column:99 End: */ -// vim: filetype=c++:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/ui/dialog/extension-editor.cpp b/src/ui/dialog/extension-editor.cpp index a92087668..c2f3426fd 100644 --- a/src/ui/dialog/extension-editor.cpp +++ b/src/ui/dialog/extension-editor.cpp @@ -1,7 +1,7 @@ -/** - * \brief Extension editor dialog - * - * Authors: +/** @file + * @brief Extension editor dialog + */ +/* Authors: * Bryce W. Harrington * Ted Gould * @@ -43,7 +43,7 @@ namespace Dialog { a new extension is selected, the notebooks are changed appropriately. */ ExtensionEditor::ExtensionEditor() - : UI::Widget::Panel ("", "dialogs.extensioneditor", SP_VERB_DIALOG_EXTENSIONEDITOR) + : UI::Widget::Panel ("", "/dialogs/extensioneditor", SP_VERB_DIALOG_EXTENSIONEDITOR) { _notebook_info.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); _notebook_help.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); @@ -85,7 +85,7 @@ ExtensionEditor::ExtensionEditor() Inkscape::Extension::db.foreach(dbfunc, this); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - Glib::ustring defaultext = prefs->getString("dialogs.extensioneditor", "selected-extension"); + Glib::ustring defaultext = prefs->getString("/dialogs/extensioneditor/selected-extension"); if (defaultext.empty()) defaultext = "org.inkscape.input.svg"; this->setExtension(defaultext); @@ -137,7 +137,7 @@ ExtensionEditor::on_pagelist_selection_changed (void) /* Set the selection in the preferences */ Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setString("dialogs.extensioneditor", "selected-extension", id); + prefs->setString("/dialogs/extensioneditor/selected-extension", id); /* Adjust the dialog's title */ gchar title[500]; diff --git a/src/ui/dialog/extension-editor.h b/src/ui/dialog/extension-editor.h index cfda36856..fe171f60c 100644 --- a/src/ui/dialog/extension-editor.h +++ b/src/ui/dialog/extension-editor.h @@ -1,7 +1,7 @@ -/** - * \brief Extension editor - * - * Authors: +/** @file + * @brief Extension editor dialog + */ +/* Authors: * Bryce W. Harrington * Ted Gould * diff --git a/src/ui/dialog/filedialog.cpp b/src/ui/dialog/filedialog.cpp index b1ea5dfee..172edf8a5 100644 --- a/src/ui/dialog/filedialog.cpp +++ b/src/ui/dialog/filedialog.cpp @@ -1,7 +1,7 @@ -/** - * Implementation of the file dialog interfaces defined in filedialog.h - * - * Authors: +/** @file + * @brief Implementation of the file dialog interfaces defined in filedialog.h + */ +/* Authors: * Bob Jamison * Joel Holdsworth * Other dudes from The Inkscape Organization @@ -194,4 +194,4 @@ void FileSaveDialog::appendExtension(Glib::ustring& path, Inkscape::Extension::O fill-column:99 End: */ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/ui/dialog/filedialog.h b/src/ui/dialog/filedialog.h index eda8c4eb4..52dcd1b23 100644 --- a/src/ui/dialog/filedialog.h +++ b/src/ui/dialog/filedialog.h @@ -1,10 +1,7 @@ -#ifndef __FILE_DIALOG_H__ -#define __FILE_DIALOG_H__ -/** - * Defines the FileOpenDialog, FileSaveDialog, and FileExportDialog - * and their supporting classes. - * - * Authors: +/** @file + * @brief Virtual base definitions for native file dialogs + */ +/* Authors: * Bob Jamison * Joel Holdsworth * Inkscape Guys @@ -16,6 +13,9 @@ * Released under GNU GPL, read the file 'COPYING' for more information */ +#ifndef __FILE_DIALOG_H__ +#define __FILE_DIALOG_H__ + #include #include #include diff --git a/src/ui/dialog/filedialogimpl-gtkmm.cpp b/src/ui/dialog/filedialogimpl-gtkmm.cpp index 541eb388b..379d43fbf 100644 --- a/src/ui/dialog/filedialogimpl-gtkmm.cpp +++ b/src/ui/dialog/filedialogimpl-gtkmm.cpp @@ -1,7 +1,7 @@ -/** - * Implementation of the file dialog interfaces defined in filedialogimpl.h - * - * Authors: +/** @file + * @brief Implementation of the file dialog interfaces defined in filedialogimpl.h + */ +/* Authors: * Bob Jamison * Joel Holdsworth * Bruno Dilly @@ -24,6 +24,7 @@ #include "interface.h" #include "io/sys.h" #include "path-prefix.h" +#include "preferences.h" #ifdef WITH_GNOME_VFS # include @@ -570,9 +571,8 @@ SVGPreview::~SVGPreview() void FileDialogBaseGtk::internalSetup() { - bool enablePreview = - (bool)prefs_get_int_attribute( preferenceBase.c_str(), - "enable_preview", 1 ); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + bool enablePreview = prefs->getBool( preferenceBase + "/enable_preview", true); previewCheckbox.set_label( Glib::ustring(_("Enable preview")) ); previewCheckbox.set_active( enablePreview ); @@ -594,9 +594,9 @@ void FileDialogBaseGtk::internalSetup() void FileDialogBaseGtk::cleanup( bool showConfirmed ) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); if ( showConfirmed ) - prefs_set_int_attribute( preferenceBase.c_str(), - "enable_preview", previewCheckbox.get_active() ); + prefs->setBool( preferenceBase + "/enable_preview", previewCheckbox.get_active() ); } @@ -643,7 +643,7 @@ FileOpenDialogImplGtk::FileOpenDialogImplGtk(Gtk::Window& parentWindow, const Glib::ustring &dir, FileDialogType fileTypes, const Glib::ustring &title) : - FileDialogBaseGtk(parentWindow, title, Gtk::FILE_CHOOSER_ACTION_OPEN, fileTypes, "dialogs.open") + FileDialogBaseGtk(parentWindow, title, Gtk::FILE_CHOOSER_ACTION_OPEN, fileTypes, "/dialogs/open") { @@ -851,7 +851,7 @@ FileSaveDialogImplGtk::FileSaveDialogImplGtk( Gtk::Window &parentWindow, const Glib::ustring &title, const Glib::ustring &/*default_key*/, const gchar* docTitle) : - FileDialogBaseGtk(parentWindow, title, Gtk::FILE_CHOOSER_ACTION_SAVE, fileTypes, "dialogs.save_as") + FileDialogBaseGtk(parentWindow, title, Gtk::FILE_CHOOSER_ACTION_SAVE, fileTypes, "/dialogs/save_as") { FileSaveDialog::myDocTitle = docTitle; @@ -887,9 +887,9 @@ FileSaveDialogImplGtk::FileSaveDialogImplGtk( Gtk::Window &parentWindow, //createFilterMenu(); //###### Do we want the .xxx extension automatically added? + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); fileTypeCheckbox.set_label(Glib::ustring(_("Append filename extension automatically"))); - fileTypeCheckbox.set_active( (bool)prefs_get_int_attribute("dialogs.save_as", - "append_extension", 1) ); + fileTypeCheckbox.set_active(prefs->getBool("/dialogs/save_as/append_extension", true)); createFileTypeMenu(); fileTypeComboBox.set_size_request(200,40); @@ -1071,27 +1071,23 @@ FileSaveDialogImplGtk::show() set_preview_widget_active(false); hide(); - if (b == Gtk::RESPONSE_OK) - { + if (b == Gtk::RESPONSE_OK) { updateNameAndExtension(); - + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + // Store changes of the "Append filename automatically" checkbox back to preferences. - prefs_set_int_attribute("dialogs.save_as", "append_extension", fileTypeCheckbox.get_active()); + prefs->setBool("/dialogs/save_as/append_extension", fileTypeCheckbox.get_active()); // Store the last used save-as filetype to preferences. - prefs_set_string_attribute("dialogs.save_as", "default", - ( extension != NULL ? extension->get_id() : "" )); + prefs->setString("/dialogs/save_as/default", ( extension != NULL ? extension->get_id() : "" )); cleanup( true ); return TRUE; - } - else - { + } else { cleanup( false ); - return FALSE; - } + } } @@ -1314,7 +1310,7 @@ FileExportDialogImpl::FileExportDialogImpl( Gtk::Window& parentWindow, FileDialogType fileTypes, const Glib::ustring &title, const Glib::ustring &/*default_key*/ ) : - FileDialogBaseGtk(parentWindow, title, Gtk::FILE_CHOOSER_ACTION_SAVE, fileTypes, "dialogs.export"), + FileDialogBaseGtk(parentWindow, title, Gtk::FILE_CHOOSER_ACTION_SAVE, fileTypes, "/dialogs/export"), sourceX0Spinner("X0", _("Left edge of source")), sourceY0Spinner("Y0", _("Top edge of source")), sourceX1Spinner("X1", _("Right edge of source")), @@ -1325,7 +1321,8 @@ FileExportDialogImpl::FileExportDialogImpl( Gtk::Window& parentWindow, destHeightSpinner("Height", _("Destination height")), destDPISpinner("DPI", _("Resolution (dots per inch)")) { - append_extension = (bool)prefs_get_int_attribute("dialogs.save_as", "append_extension", 1); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + append_extension = prefs->getBool("/dialogs/save_as/append_extension", true); /* One file at a time */ set_select_multiple(false); @@ -1534,9 +1531,9 @@ FileExportDialogImpl::show() // FIXME: Why do we have more code append_extension = checkbox.get_active(); - prefs_set_int_attribute("dialogs.save_as", "append_extension", append_extension); - prefs_set_string_attribute("dialogs.save_as", "default", - ( extension != NULL ? extension->get_id() : "" )); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setBool("/dialogs/save_as/append_extension", append_extension); + prefs->setBool("/dialogs/save_as/default", ( extension != NULL ? extension->get_id() : "" )); */ return TRUE; } @@ -1580,4 +1577,4 @@ FileExportDialogImpl::getFilename() fill-column:99 End: */ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/ui/dialog/filedialogimpl-gtkmm.h b/src/ui/dialog/filedialogimpl-gtkmm.h index 5137b8481..1ac259221 100644 --- a/src/ui/dialog/filedialogimpl-gtkmm.h +++ b/src/ui/dialog/filedialogimpl-gtkmm.h @@ -1,9 +1,9 @@ #ifndef __FILE_DIALOGIMPL_H__ #define __FILE_DIALOGIMPL_H__ -/** - * Implementation of the file dialog interfaces defined in filedialogimpl.h - * - * Authors: +/** @file + * @brief Implementation of the file dialog interfaces defined in filedialogimpl.h + */ +/* Authors: * Bob Jamison * Joel Holdsworth * Bruno Dilly @@ -39,18 +39,13 @@ //Another hack #include #include -#ifdef WITH_GNOME_VFS -# include // gnome_vfs_initialized -#endif //Inkscape includes -#include "prefs-utils.h" -#include -#include -#include +#include "extension/input.h" +#include "extension/output.h" +#include "extension/db.h" #include "inkscape.h" #include "svg-view-widget.h" -#include "gc-core.h" //For export dialog #include "ui/widget/scalar-unit.h" @@ -192,7 +187,7 @@ public: protected: void cleanup( bool showConfirmed ); - Glib::ustring preferenceBase; + Glib::ustring const preferenceBase; /** * What type of 'open' are we? (open, import, place, etc) */ @@ -571,9 +566,9 @@ private: }; -} -} -} +} // namespace Dialog +} // namespace UI +} // namespace Inkscape #endif /*__FILE_DIALOGIMPL_H__*/ @@ -586,4 +581,4 @@ private: fill-column:99 End: */ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/ui/dialog/filedialogimpl-win32.cpp b/src/ui/dialog/filedialogimpl-win32.cpp index e1479d3b4..77a42df99 100644 --- a/src/ui/dialog/filedialogimpl-win32.cpp +++ b/src/ui/dialog/filedialogimpl-win32.cpp @@ -1,7 +1,7 @@ -/** - * Implementation of the file dialog interfaces defined in filedialog.h for Win32 - * - * Authors: +/** @file + * @brief Implementation of native file dialogs for Win32 + */ +/* Authors: * Joel Holdsworth * The Inkscape Organization * @@ -29,7 +29,6 @@ //Inkscape includes #include "inkscape.h" -#include "prefs-utils.h" #include #include #include @@ -1710,4 +1709,4 @@ UINT_PTR CALLBACK FileSaveDialogImplWin32::GetSaveFileName_hookproc( fill-column:99 End: */ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/ui/dialog/filedialogimpl-win32.h b/src/ui/dialog/filedialogimpl-win32.h index 3a0c3775b..bb026169a 100644 --- a/src/ui/dialog/filedialogimpl-win32.h +++ b/src/ui/dialog/filedialogimpl-win32.h @@ -1,7 +1,7 @@ -/** - * Implementation of the file dialog interfaces defined in filedialog.h for Win32 - * - * Authors: +/** @file + * @brief Implementation of native file dialogs for Win32 + */ +/* Authors: * Joel Holdsworth * The Inkscape Organization * @@ -367,4 +367,4 @@ private: fill-column:99 End: */ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/ui/dialog/fill-and-stroke.cpp b/src/ui/dialog/fill-and-stroke.cpp index 50b2a5c79..a05c20b36 100644 --- a/src/ui/dialog/fill-and-stroke.cpp +++ b/src/ui/dialog/fill-and-stroke.cpp @@ -1,8 +1,9 @@ -/** - * \brief Fill and Stroke dialog, - * based on sp_object_properties_dialog +/** @file + * @brief Fill and Stroke dialog - implementation * - * Authors: + * Based on the old sp_object_properties_dialog. + */ +/* Authors: * Bryce W. Harrington * Gustav Broberg * @@ -11,10 +12,6 @@ * Released under GNU GPL. Read the file 'COPYING' for more information. */ -#ifdef HAVE_CONFIG_H -# include -#endif - #include "desktop-handles.h" #include "desktop-style.h" #include "document.h" @@ -39,7 +36,7 @@ namespace UI { namespace Dialog { FillAndStroke::FillAndStroke() - : UI::Widget::Panel ("", "dialogs.fillstroke", SP_VERB_DIALOG_FILL_STROKE), + : UI::Widget::Panel ("", "/dialogs/fillstroke", SP_VERB_DIALOG_FILL_STROKE), _page_fill(1, 1, true, true), _page_stroke_paint(1, 1, true, true), _page_stroke_style(1, 1, true, true), diff --git a/src/ui/dialog/fill-and-stroke.h b/src/ui/dialog/fill-and-stroke.h index 37aa4ccc8..7dc892fea 100644 --- a/src/ui/dialog/fill-and-stroke.h +++ b/src/ui/dialog/fill-and-stroke.h @@ -1,8 +1,7 @@ -/** - * \brief Fill and Stroke dialog - * based on sp_object_properties_dialog - * - * Authors: +/** @file + * @brief Fill and Stroke dialog + */ +/* Authors: * Bryce W. Harrington * Gustav Broberg * diff --git a/src/ui/dialog/filter-effects-dialog.cpp b/src/ui/dialog/filter-effects-dialog.cpp index 06bc0dd73..d31331a0d 100644 --- a/src/ui/dialog/filter-effects-dialog.cpp +++ b/src/ui/dialog/filter-effects-dialog.cpp @@ -1,7 +1,7 @@ -/** - * \brief Filter Effects dialog - * - * Authors: +/** @file + * @brief Filter Effects dialog + */ +/* Authors: * Nicholas Bishop * Rodrigo Kumpera * Felipe C. da S. Sanches @@ -663,7 +663,7 @@ private: //# Get the current directory for finding files Inkscape::Preferences *prefs = Inkscape::Preferences::get(); Glib::ustring open_path; - Glib::ustring attr = prefs->getString("dialogs.open", "path"); + Glib::ustring attr = prefs->getString("/dialogs/open/path"); if (!attr.empty()) open_path = attr; @@ -708,7 +708,7 @@ private: open_path = fileName; open_path.append(G_DIR_SEPARATOR_S); - prefs->setString("dialogs.open", "path", open_path); + prefs->setString("/dialogs/open/path", open_path); _entry.set_text(fileName); } @@ -2090,7 +2090,7 @@ int FilterEffectsDialog::PrimitiveList::primitive_count() const /*** FilterEffectsDialog ***/ FilterEffectsDialog::FilterEffectsDialog() - : UI::Widget::Panel("", "dialogs.filtereffects", SP_VERB_DIALOG_FILTER_EFFECTS), + : UI::Widget::Panel("", "/dialogs/filtereffects", SP_VERB_DIALOG_FILTER_EFFECTS), _add_primitive_type(FPConverter), _add_primitive(_("Add Effect:")), _empty_settings(_("No effect selected"), Gtk::ALIGN_LEFT), @@ -2297,7 +2297,7 @@ void FilterEffectsDialog::add_primitive() void FilterEffectsDialog::update_primitive_infobox() { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - if (prefs->getBool("options.showfiltersinfobox", "value", true)){ + if (prefs->getBool("/options/showfiltersinfobox/value", true)){ _infobox_icon.show(); _infobox_desc.show(); } else { @@ -2482,7 +2482,7 @@ void FilterEffectsDialog::update_settings_view() _empty_settings.show(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - if (prefs->getBool("options.showfiltersinfobox", "value", true)){ + if (prefs->getBool("/options/showfiltersinfobox/value", true)){ _infobox_icon.show(); _infobox_desc.show(); } else { diff --git a/src/ui/dialog/filter-effects-dialog.h b/src/ui/dialog/filter-effects-dialog.h index 9e39de2bb..0522b7a99 100644 --- a/src/ui/dialog/filter-effects-dialog.h +++ b/src/ui/dialog/filter-effects-dialog.h @@ -1,7 +1,7 @@ -/** - * \brief Filter Effects dialog - * - * Authors: +/** @file + * @brief Filter Effects dialog + */ +/* Authors: * Nicholas Bishop * Rodrigo Kumpera * diff --git a/src/ui/dialog/find.cpp b/src/ui/dialog/find.cpp index f59f2504c..b86234521 100644 --- a/src/ui/dialog/find.cpp +++ b/src/ui/dialog/find.cpp @@ -22,13 +22,12 @@ #include "helper/window.h" #include "macros.h" #include "inkscape.h" -#include "document.h" #include "desktop.h" +#include "document.h" #include "selection.h" #include "desktop-handles.h" #include "dialogs/dialog-events.h" -#include "prefs-utils.h" #include "verbs.h" #include "interface.h" #include "sp-text.h" @@ -49,7 +48,7 @@ #include "sp-use.h" #include "sp-image.h" #include "sp-offset.h" -#include +#include "xml/repr.h" namespace Inkscape { @@ -57,7 +56,7 @@ namespace UI { namespace Dialog { Find::Find() - : UI::Widget::Panel("", "dialogs.find", SP_VERB_DIALOG_FIND), + : UI::Widget::Panel("", "/dialogs/find", SP_VERB_DIALOG_FIND), _entry_text(_("_Text: "), _("Find objects by their text content (exact or partial match)")), _entry_id(_("_ID: "), _("Find objects by the value of the id attribute (exact or partial match)")), _entry_style(_("_Style: "), _("Find objects by the value of the style attribute (exact or partial match)")), diff --git a/src/ui/dialog/find.h b/src/ui/dialog/find.h index 2d79b37ad..891df221f 100644 --- a/src/ui/dialog/find.h +++ b/src/ui/dialog/find.h @@ -1,7 +1,7 @@ -/** - * \brief Find dialog - * - * Authors: +/** @file + * @brief Find dialog + */ +/* Authors: * Bryce W. Harrington * * Copyright (C) 2004, 2005 Authors @@ -18,42 +18,14 @@ #include "ui/widget/button.h" #include "ui/widget/entry.h" #include +#include -#include "message-stack.h" -#include "helper/window.h" -#include "macros.h" -#include "inkscape.h" -#include "document.h" -#include "desktop.h" -#include "selection.h" -#include "desktop-handles.h" - -#include "dialogs/dialog-events.h" -#include "prefs-utils.h" -#include "verbs.h" -#include "interface.h" -#include "sp-text.h" -#include "sp-flowtext.h" -#include "text-editing.h" -#include "sp-tspan.h" -#include "selection-chemistry.h" -#include "sp-defs.h" -#include "sp-rect.h" -#include "sp-ellipse.h" -#include "sp-star.h" -#include "sp-spiral.h" -#include "sp-path.h" -#include "sp-line.h" -#include "sp-polyline.h" -#include "sp-item-group.h" -#include "sp-use.h" -#include "sp-image.h" -#include "sp-offset.h" -#include - -using namespace Inkscape::UI::Widget; +class SPItem; +class SPObject; namespace Inkscape { +class Selection; + namespace UI { namespace Dialog { @@ -66,29 +38,29 @@ public: protected: // Widgets: - Entry _entry_text; - Entry _entry_id; - Entry _entry_style; - Entry _entry_attribute; - - CheckButton _check_search_selection; - CheckButton _check_search_layer; - CheckButton _check_include_hidden; - CheckButton _check_include_locked; + Inkscape::UI::Widget::Entry _entry_text; + Inkscape::UI::Widget::Entry _entry_id; + Inkscape::UI::Widget::Entry _entry_style; + Inkscape::UI::Widget::Entry _entry_attribute; + + Inkscape::UI::Widget::CheckButton _check_search_selection; + Inkscape::UI::Widget::CheckButton _check_search_layer; + Inkscape::UI::Widget::CheckButton _check_include_hidden; + Inkscape::UI::Widget::CheckButton _check_include_locked; // Type checkbutton widgets... - CheckButton _check_all; - CheckButton _check_all_shapes; - CheckButton _check_rects; - CheckButton _check_ellipses; - CheckButton _check_stars; - CheckButton _check_spirals; - CheckButton _check_paths; - CheckButton _check_texts; - CheckButton _check_groups; - CheckButton _check_clones; - CheckButton _check_images; - CheckButton _check_offsets; + Inkscape::UI::Widget::CheckButton _check_all; + Inkscape::UI::Widget::CheckButton _check_all_shapes; + Inkscape::UI::Widget::CheckButton _check_rects; + Inkscape::UI::Widget::CheckButton _check_ellipses; + Inkscape::UI::Widget::CheckButton _check_stars; + Inkscape::UI::Widget::CheckButton _check_spirals; + Inkscape::UI::Widget::CheckButton _check_paths; + Inkscape::UI::Widget::CheckButton _check_texts; + Inkscape::UI::Widget::CheckButton _check_groups; + Inkscape::UI::Widget::CheckButton _check_clones; + Inkscape::UI::Widget::CheckButton _check_images; + Inkscape::UI::Widget::CheckButton _check_offsets; // Button-click handlers void onClear(); @@ -115,8 +87,8 @@ private: Find(Find const &d); Find& operator=(Find const &d); - Button _button_clear; - Button _button_find; + Inkscape::UI::Widget::Button _button_clear; + Inkscape::UI::Widget::Button _button_find; }; } // namespace Dialog diff --git a/src/ui/dialog/floating-behavior.cpp b/src/ui/dialog/floating-behavior.cpp index 9f5571b4b..19147f2c7 100644 --- a/src/ui/dialog/floating-behavior.cpp +++ b/src/ui/dialog/floating-behavior.cpp @@ -1,7 +1,7 @@ -/** - * \brief A floating dialog implementation. - * - * Author: +/** @file + * @brief Floating dialog implementation. + */ +/* Author: * Gustav Broberg * * Copyright (C) 2007 Authors @@ -21,7 +21,7 @@ #include "desktop.h" #include "dialogs/dialog-events.h" #include "interface.h" -#include "prefs-utils.h" +#include "preferences.h" #include "verbs.h" namespace Inkscape { @@ -35,9 +35,9 @@ FloatingBehavior::FloatingBehavior(Dialog &dialog) : #if GTK_VERSION_GE(2, 12) ,_dialog_active(_d->property_is_active()) ,_steps(0) - ,_trans_focus(prefs_get_double_attribute_limited("dialogs.transparency", "on-focus", 0.95, 0.0, 1.0)) - ,_trans_blur(prefs_get_double_attribute_limited("dialogs.transparency", "on-blur", 0.50, 0.0, 1.0)) - ,_trans_time(prefs_get_int_attribute_limited("dialogs.transparency", "animate-time", 100, 0, 5000)) + ,_trans_focus(Inkscape::Preferences::get()->getDoubleLimited("/dialogs/transparency/on-focus", 0.95, 0.0, 1.0)) + ,_trans_blur(Inkscape::Preferences::get()->getDoubleLimited("/dialogs/transparency/on-blur", 0.50, 0.0, 1.0)) + ,_trans_time(Inkscape::Preferences::get()->getIntLimited("/dialogs/transparency/animate-time", 100, 0, 5000)) #endif { hide(); @@ -65,28 +65,30 @@ FloatingBehavior::FloatingBehavior(Dialog &dialog) : zero so that the transition happens instantaneously. This occurs on windows as opacity changes cause flicker there. */ -void FloatingBehavior::_focus_event (void) { - _steps = 0; - _trans_focus = prefs_get_double_attribute_limited("dialogs.transparency", "on-focus", 0.95, 0.0, 1.0); - _trans_blur = prefs_get_double_attribute_limited("dialogs.transparency", "on-blur", 0.50, 0.0, 1.0); - _trans_time = prefs_get_int_attribute_limited("dialogs.transparency", "animate-time", 100, 0, 5000); - - if (_trans_time != 0) { - float diff = _trans_focus - _trans_blur; - if (diff < 0.0) diff *= -1.0; - - while (diff > 0.05) { - _steps++; - diff = diff / 2.0; - } +void FloatingBehavior::_focus_event (void) +{ + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + _steps = 0; + _trans_focus = prefs->getDoubleLimited("/dialogs/transparency/on-focus", 0.95, 0.0, 1.0); + _trans_blur = prefs->getDoubleLimited("/dialogs/transparency/on-blur", 0.50, 0.0, 1.0); + _trans_time = prefs->getIntLimited("/dialogs/transparency/animate-time", 100, 0, 5000); + + if (_trans_time != 0) { + float diff = _trans_focus - _trans_blur; + if (diff < 0.0) diff *= -1.0; + + while (diff > 0.05) { + _steps++; + diff = diff / 2.0; + } - if (_steps != 0) { - Glib::signal_timeout().connect(sigc::mem_fun(this, &FloatingBehavior::_trans_timer), _trans_time / _steps); - } - } - _trans_timer(); + if (_steps != 0) { + Glib::signal_timeout().connect(sigc::mem_fun(this, &FloatingBehavior::_trans_timer), _trans_time / _steps); + } + } + _trans_timer(); - return; + return; } /** \brief Move the opacity of a window towards our goal @@ -177,7 +179,8 @@ FloatingBehavior::onShutdown() {} void FloatingBehavior::onDesktopActivated (SPDesktop *desktop) { - gint transient_policy = prefs_get_int_attribute_limited ( "options.transientpolicy", "value", 1, 0, 2); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + gint transient_policy = prefs->getIntLimited("/options/transientpolicy/value", 1, 0, 2); #ifdef WIN32 // Win32 special code to enable transient dialogs transient_policy = 2; diff --git a/src/ui/dialog/floating-behavior.h b/src/ui/dialog/floating-behavior.h index 0ab2d6981..0360ccf49 100644 --- a/src/ui/dialog/floating-behavior.h +++ b/src/ui/dialog/floating-behavior.h @@ -1,7 +1,7 @@ -/** - * \brief A floating dialog implementation. - * - * Author: +/** @file + * @brief A floating dialog implementation. + */ +/* Author: * Gustav Broberg * * Copyright (C) 2007 Authors diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp index e2e717c53..d06d3a406 100644 --- a/src/ui/dialog/inkscape-preferences.cpp +++ b/src/ui/dialog/inkscape-preferences.cpp @@ -1,7 +1,7 @@ -/** - * \brief Inkscape Preferences dialog - * - * Authors: +/** @file + * @brief Inkscape Preferences dialog - implementation + */ +/* Authors: * Carl Hetherington * Marco Scholten * Johan Engelen @@ -28,7 +28,7 @@ #include "unit-constants.h" #include #include "enums.h" -#include "inkscape.h" +// #include "inkscape.h" #include "desktop-handles.h" #include "message-stack.h" #include "style.h" @@ -37,6 +37,7 @@ #include "xml/repr.h" #include "ui/widget/style-swatch.h" #include "display/nr-filter-gaussian.h" +#include "display/nr-filter-types.h" #include "color-profile-fns.h" #include "display/canvas-grid.h" @@ -45,7 +46,7 @@ namespace UI { namespace Dialog { InkscapePreferences::InkscapePreferences() - : UI::Widget::Panel ("", "dialogs.preferences", SP_VERB_DIALOG_DISPLAY), + : UI::Widget::Panel ("", "/dialogs/preferences", SP_VERB_DIALOG_DISPLAY), _max_dialog_width(0), _max_dialog_height(0), _current_page(0) @@ -153,18 +154,18 @@ Gtk::TreeModel::iterator InkscapePreferences::AddPage(DialogPage& p, Glib::ustri void InkscapePreferences::initPageMouse() { this->AddPage(_page_mouse, _("Mouse"), PREFS_PAGE_MOUSE); - _mouse_sens.init ( "options.cursortolerance", "value", 0.0, 30.0, 1.0, 1.0, 8.0, true, false); + _mouse_sens.init ( "/options/cursortolerance/value", 0.0, 30.0, 1.0, 1.0, 8.0, true, false); _page_mouse.add_line( false, _("Grab sensitivity:"), _mouse_sens, _("pixels"), _("How close on the screen you need to be to an object to be able to grab it with mouse (in screen pixels)"), false); - _mouse_thres.init ( "options.dragtolerance", "value", 0.0, 20.0, 1.0, 1.0, 4.0, true, false); + _mouse_thres.init ( "/options/dragtolerance/value", 0.0, 20.0, 1.0, 1.0, 4.0, true, false); _page_mouse.add_line( false, _("Click/drag threshold:"), _mouse_thres, _("pixels"), _("Maximum mouse drag (in screen pixels) which is considered a click, not a drag"), false); - _mouse_use_ext_input.init( _("Use pressure-sensitive tablet (requires restart)"), "options.useextinput", "value", true); + _mouse_use_ext_input.init( _("Use pressure-sensitive tablet (requires restart)"), "/options/useextinput/value", true); _page_mouse.add_line(true, "",_mouse_use_ext_input, "", _("Use the capabilities of a tablet or other pressure-sensitive device. Disable this only if you have problems with the tablet (you can still use it as a mouse)")); - _mouse_switch_on_ext_input.init( _("Switch tool based on tablet device (requires restart)"), "options.switchonextinput", "value", false); + _mouse_switch_on_ext_input.init( _("Switch tool based on tablet device (requires restart)"), "/options/switchonextinput/value", false); _page_mouse.add_line(true, "",_mouse_switch_on_ext_input, "", _("Change tool as different devices are used on the tablet (pen, eraser, mouse)")); } @@ -172,27 +173,27 @@ void InkscapePreferences::initPageMouse() void InkscapePreferences::initPageScrolling() { this->AddPage(_page_scrolling, _("Scrolling"), PREFS_PAGE_SCROLLING); - _scroll_wheel.init ( "options.wheelscroll", "value", 0.0, 1000.0, 1.0, 1.0, 40.0, true, false); + _scroll_wheel.init ( "/options/wheelscroll/value", 0.0, 1000.0, 1.0, 1.0, 40.0, true, false); _page_scrolling.add_line( false, _("Mouse wheel scrolls by:"), _scroll_wheel, _("pixels"), _("One mouse wheel notch scrolls by this distance in screen pixels (horizontally with Shift)"), false); _page_scrolling.add_group_header( _("Ctrl+arrows")); - _scroll_arrow_px.init ( "options.keyscroll", "value", 0.0, 1000.0, 1.0, 1.0, 10.0, true, false); + _scroll_arrow_px.init ( "/options/keyscroll/value", 0.0, 1000.0, 1.0, 1.0, 10.0, true, false); _page_scrolling.add_line( true, _("Scroll by:"), _scroll_arrow_px, _("pixels"), _("Pressing Ctrl+arrow key scrolls by this distance (in screen pixels)"), false); - _scroll_arrow_acc.init ( "options.scrollingacceleration", "value", 0.0, 5.0, 0.01, 1.0, 0.35, false, false); + _scroll_arrow_acc.init ( "/options/scrollingacceleration/value", 0.0, 5.0, 0.01, 1.0, 0.35, false, false); _page_scrolling.add_line( true, _("Acceleration:"), _scroll_arrow_acc, "", _("Pressing and holding Ctrl+arrow will gradually speed up scrolling (0 for no acceleration)"), false); _page_scrolling.add_group_header( _("Autoscrolling")); - _scroll_auto_speed.init ( "options.autoscrollspeed", "value", 0.0, 5.0, 0.01, 1.0, 0.7, false, false); + _scroll_auto_speed.init ( "/options/autoscrollspeed/value", 0.0, 5.0, 0.01, 1.0, 0.7, false, false); _page_scrolling.add_line( true, _("Speed:"), _scroll_auto_speed, "", _("How fast the canvas autoscrolls when you drag beyond canvas edge (0 to turn autoscroll off)"), false); - _scroll_auto_thres.init ( "options.autoscrolldistance", "value", -600.0, 600.0, 1.0, 1.0, -10.0, true, false); + _scroll_auto_thres.init ( "/options/autoscrolldistance/value", -600.0, 600.0, 1.0, 1.0, -10.0, true, false); _page_scrolling.add_line( true, _("Threshold:"), _scroll_auto_thres, _("pixels"), _("How far (in screen pixels) you need to be from the canvas edge to trigger autoscroll; positive is outside the canvas, negative is within the canvas"), false); - _scroll_space.init ( _("Left mouse button pans when Space is pressed"), "options.spacepans", "value", false); + _scroll_space.init ( _("Left mouse button pans when Space is pressed"), "/options/spacepans/value", false); _page_scrolling.add_line( false, "", _scroll_space, "", _("When on, pressing and holding Space and dragging with left mouse button pans canvas (as in Adobe Illustrator). When off, Space temporarily switches to Selector tool (default).")); - _wheel_zoom.init ( _("Mouse wheel zooms by default"), "options.wheelzooms", "value", false); + _wheel_zoom.init ( _("Mouse wheel zooms by default"), "/options/wheelzooms/value", false); _page_scrolling.add_line( false, "", _wheel_zoom, "", _("When on, mouse wheel zooms without Ctrl and scrolls canvas with Ctrl; when off, it zooms with Ctrl and scrolls without Ctrl.")); } @@ -201,28 +202,28 @@ void InkscapePreferences::initPageSteps() { this->AddPage(_page_steps, _("Steps"), PREFS_PAGE_STEPS); - _steps_arrow.init ( "options.nudgedistance", "value", 0.0, 1000.0, 0.01, 1.0, 2.0, false, false); + _steps_arrow.init ( "/options/nudgedistance/value", 0.0, 1000.0, 0.01, 1.0, 2.0, false, false); //nudgedistance is limited to 1000 in select-context.cpp: use the same limit here _page_steps.add_line( false, _("Arrow keys move by:"), _steps_arrow, _("px"), _("Pressing an arrow key moves selected object(s) or node(s) by this distance (in px units)"), false); - _steps_scale.init ( "options.defaultscale", "value", 0.0, 1000.0, 0.01, 1.0, 2.0, false, false); + _steps_scale.init ( "/options/defaultscale/value", 0.0, 1000.0, 0.01, 1.0, 2.0, false, false); //defaultscale is limited to 1000 in select-context.cpp: use the same limit here _page_steps.add_line( false, _("> and < scale by:"), _steps_scale, _("px"), _("Pressing > or < scales selection up or down by this increment (in px units)"), false); - _steps_inset.init ( "options.defaultoffsetwidth", "value", 0.0, 3000.0, 0.01, 1.0, 2.0, false, false); + _steps_inset.init ( "/options/defaultoffsetwidth/value", 0.0, 3000.0, 0.01, 1.0, 2.0, false, false); _page_steps.add_line( false, _("Inset/Outset by:"), _steps_inset, _("px"), _("Inset and Outset commands displace the path by this distance (in px units)"), false); - _steps_compass.init ( _("Compass-like display of angles"), "options.compassangledisplay", "value", true); + _steps_compass.init ( _("Compass-like display of angles"), "/options/compassangledisplay/value", true); _page_steps.add_line( false, "", _steps_compass, "", _("When on, angles are displayed with 0 at north, 0 to 360 range, positive clockwise; otherwise with 0 at east, -180 to 180 range, positive counterclockwise")); int const num_items = 17; Glib::ustring labels[num_items] = {"90", "60", "45", "36", "30", "22.5", "18", "15", "12", "10", "7.5", "6", "3", "2", "1", "0.5", _("None")}; int values[num_items] = {2, 3, 4, 5, 6, 8, 10, 12, 15, 18, 24, 30, 60, 90, 180, 360, 0}; _steps_rot_snap.set_size_request(_sb_width); - _steps_rot_snap.init("options.rotationsnapsperpi", "value", labels, values, num_items, 12); + _steps_rot_snap.init("/options/rotationsnapsperpi/value", labels, values, num_items, 12); _page_steps.add_line( false, _("Rotation snaps every:"), _steps_rot_snap, _("degrees"), _("Rotating with Ctrl pressed snaps every that much degrees; also, pressing [ or ] rotates by this amount"), false); - _steps_zoom.init ( "options.zoomincrement", "value", 101.0, 500.0, 1.0, 1.0, 1.414213562, true, true); + _steps_zoom.init ( "/options/zoomincrement/value", 101.0, 500.0, 1.0, 1.0, 1.414213562, true, true); _page_steps.add_line( false, _("Zoom in/out by:"), _steps_zoom, _("%"), _("Zoom tool click, +/- keys, and middle click zoom in and out by this multiplier"), false); } @@ -230,34 +231,34 @@ void InkscapePreferences::initPageSteps() void InkscapePreferences::AddSelcueCheckbox(DialogPage &p, Glib::ustring const &prefs_path, bool def_value) { PrefCheckButton* cb = Gtk::manage( new PrefCheckButton); - cb->init ( _("Show selection cue"), prefs_path, "selcue", def_value); + cb->init ( _("Show selection cue"), prefs_path + "/selcue", def_value); p.add_line( false, "", *cb, "", _("Whether selected objects display a selection cue (the same as in selector)")); } void InkscapePreferences::AddGradientCheckbox(DialogPage &p, Glib::ustring const &prefs_path, bool def_value) { PrefCheckButton* cb = Gtk::manage( new PrefCheckButton); - cb->init ( _("Enable gradient editing"), prefs_path, "gradientdrag", def_value); + cb->init ( _("Enable gradient editing"), prefs_path + "/gradientdrag", def_value); p.add_line( false, "", *cb, "", _("Whether selected objects display gradient editing controls")); } void InkscapePreferences::AddConvertGuidesCheckbox(DialogPage &p, Glib::ustring const &prefs_path, bool def_value) { PrefCheckButton* cb = Gtk::manage( new PrefCheckButton); - cb->init ( _("Conversion to guides uses edges instead of bounding box"), prefs_path, "convertguides", def_value); + cb->init ( _("Conversion to guides uses edges instead of bounding box"), prefs_path + "/convertguides", def_value); p.add_line( false, "", *cb, "", _("Converting an object to guides places these along the object's true edges (imitating the object's shape), not along the bounding box.")); } void InkscapePreferences::AddDotSizeSpinbutton(DialogPage &p, Glib::ustring const &prefs_path, double def_value) { PrefSpinButton* sb = Gtk::manage( new PrefSpinButton); - sb->init ( prefs_path, "dot-size", 0.0, 1000.0, 0.1, 10.0, def_value, false, false); + sb->init ( prefs_path + "/dot-size", 0.0, 1000.0, 0.1, 10.0, def_value, false, false); p.add_line( false, _("Ctrl+click dot size:"), *sb, _("times current stroke width"), _("Size of dots created with Ctrl+click (relative to current stroke width)"), false ); } -void StyleFromSelectionToTool(gchar const *prefs_path, StyleSwatch *swatch) +void StyleFromSelectionToTool(Glib::ustring const &prefs_path, StyleSwatch *swatch) { SPDesktop *desktop = SP_ACTIVE_DESKTOP; if (desktop == NULL) @@ -285,24 +286,22 @@ void StyleFromSelectionToTool(gchar const *prefs_path, StyleSwatch *swatch) if (!css) return; // only store text style for the text tool - if (!g_strrstr ((const gchar *) prefs_path, "text")) { + if (prefs_path == "/tools/text") { css = sp_css_attr_unset_text (css); } // we cannot store properties with uris - they will be invalid in other documents css = sp_css_attr_unset_uris (css); - sp_repr_css_change (inkscape_get_repr (INKSCAPE, prefs_path), css, "style"); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setStyle(prefs_path + "/style", css); sp_repr_css_attr_unref (css); // update the swatch if (swatch) { - Inkscape::XML::Node *tool_repr = inkscape_get_repr(INKSCAPE, prefs_path); - if (tool_repr) { - SPCSSAttr *css = sp_repr_css_attr_inherited(tool_repr, "style"); - swatch->setStyle (css); - sp_repr_css_attr_unref(css); - } + SPCSSAttr *css = prefs->getInheritedStyle(prefs_path + "/style"); + swatch->setStyle (css); + sp_repr_css_attr_unref(css); } } @@ -313,14 +312,14 @@ void InkscapePreferences::AddNewObjectsStyle(DialogPage &p, Glib::ustring const else p.add_group_header( _("Create new objects with:")); PrefRadioButton* current = Gtk::manage( new PrefRadioButton); - current->init ( _("Last used style"), prefs_path, "usecurrent", 1, true, 0); + current->init ( _("Last used style"), prefs_path + "/usecurrent", 1, true, 0); p.add_line( true, "", *current, "", _("Apply the style you last set on an object")); PrefRadioButton* own = Gtk::manage( new PrefRadioButton); Gtk::HBox* hb = Gtk::manage( new Gtk::HBox); Gtk::Alignment* align = Gtk::manage( new Gtk::Alignment); - own->init ( _("This tool's own style:"), prefs_path, "usecurrent", 0, false, current); + own->init ( _("This tool's own style:"), prefs_path + "/usecurrent", 0, false, current); align->set(0,0,0,0); align->add(*own); hb->add(*align); @@ -328,17 +327,16 @@ void InkscapePreferences::AddNewObjectsStyle(DialogPage &p, Glib::ustring const p.add_line( true, "", *hb, "", ""); // style swatch - Inkscape::XML::Node *tool_repr = inkscape_get_repr(INKSCAPE, prefs_path.c_str()); Gtk::Button* button = Gtk::manage( new Gtk::Button(_("Take from selection"),true)); StyleSwatch *swatch = 0; - if (tool_repr) { - SPCSSAttr *css = sp_repr_css_attr_inherited(tool_repr, "style"); - swatch = new StyleSwatch(css, _("This tool's style of new objects")); - hb->add(*swatch); - sp_repr_css_attr_unref(css); - } + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + + SPCSSAttr *css = prefs->getStyle(prefs_path + "/style"); + swatch = new StyleSwatch(css, _("This tool's style of new objects")); + hb->add(*swatch); + sp_repr_css_attr_unref(css); - button->signal_clicked().connect( sigc::bind( sigc::ptr_fun(StyleFromSelectionToTool), prefs_path.c_str(), swatch) ); + button->signal_clicked().connect( sigc::bind( sigc::ptr_fun(StyleFromSelectionToTool), prefs_path, swatch) ); own->changed_signal.connect( sigc::mem_fun(*button, &Gtk::Button::set_sensitive) ); p.add_line( true, "", *button, "", _("Remember the style of the (first) selected object as this tool's style")); @@ -350,167 +348,167 @@ void InkscapePreferences::initPageTools() _path_tools = _page_list.get_model()->get_path(iter_tools); _page_tools.add_group_header( _("Bounding box to use:")); - _t_bbox_visual.init ( _("Visual bounding box"), "tools", "bounding_box", "0", false, 0); // 0 means visual + _t_bbox_visual.init ( _("Visual bounding box"), "/tools/bounding_box", 0, false, 0); // 0 means visual _page_tools.add_line( true, "", _t_bbox_visual, "", _("This bounding box includes stroke width, markers, filter margins, etc.")); - _t_bbox_geometric.init ( _("Geometric bounding box"), "tools", "bounding_box", "1", true, &_t_bbox_visual); // 1 means geometric + _t_bbox_geometric.init ( _("Geometric bounding box"), "/tools/bounding_box", 1, true, &_t_bbox_visual); // 1 means geometric _page_tools.add_line( true, "", _t_bbox_geometric, "", _("This bounding box includes only the bare path")); _page_tools.add_group_header( _("Conversion to guides:")); - _t_cvg_keep_objects.init ( _("Keep objects after conversion to guides"), "tools", "cvg_keep_objects", false); + _t_cvg_keep_objects.init ( _("Keep objects after conversion to guides"), "/tools/cvg_keep_objects", false); _page_tools.add_line( true, "", _t_cvg_keep_objects, "", _("When converting an object to guides, don't delete the object after the conversion.")); - _t_cvg_convert_whole_groups.init ( _("Treat groups as a single object"), "tools", "cvg_convert_whole_groups", false); + _t_cvg_convert_whole_groups.init ( _("Treat groups as a single object"), "/tools/cvg_convert_whole_groups", false); _page_tools.add_line( true, "", _t_cvg_convert_whole_groups, "", _("Treat groups as a single object during conversion to guides rather than converting each child separately.")); - _calligrapy_use_abs_size.init ( _("Width is in absolute units"), "tools.calligraphic", "abs_width", false); - _calligrapy_keep_selected.init ( _("Select new path"), "tools.calligraphic", "keep_selected", true); - _connector_ignore_text.init( _("Don't attach connectors to text objects"), "tools.connector", "ignoretext", true); + _calligrapy_use_abs_size.init ( _("Width is in absolute units"), "/tools/calligraphic/abs_width", false); + _calligrapy_keep_selected.init ( _("Select new path"), "/tools/calligraphic/keep_selected", true); + _connector_ignore_text.init( _("Don't attach connectors to text objects"), "/tools/connector/ignoretext", true); //Selector this->AddPage(_page_selector, _("Selector"), iter_tools, PREFS_PAGE_TOOLS_SELECTOR); - AddSelcueCheckbox(_page_selector, "tools.select", false); + AddSelcueCheckbox(_page_selector, "/tools/select", false); _page_selector.add_group_header( _("When transforming, show:")); - _t_sel_trans_obj.init ( _("Objects"), "tools.select", "show", "content", true, 0); + _t_sel_trans_obj.init ( _("Objects"), "/tools/select/show", "content", true, 0); _page_selector.add_line( true, "", _t_sel_trans_obj, "", _("Show the actual objects when moving or transforming")); - _t_sel_trans_outl.init ( _("Box outline"), "tools.select", "show", "outline", false, &_t_sel_trans_obj); + _t_sel_trans_outl.init ( _("Box outline"), "/tools/select/show", "outline", false, &_t_sel_trans_obj); _page_selector.add_line( true, "", _t_sel_trans_outl, "", _("Show only a box outline of the objects when moving or transforming")); _page_selector.add_group_header( _("Per-object selection cue:")); - _t_sel_cue_none.init ( _("None"), "options.selcue", "value", Inkscape::SelCue::NONE, false, 0); + _t_sel_cue_none.init ( _("None"), "/options/selcue/value", Inkscape::SelCue::NONE, false, 0); _page_selector.add_line( true, "", _t_sel_cue_none, "", _("No per-object selection indication")); - _t_sel_cue_mark.init ( _("Mark"), "options.selcue", "value", Inkscape::SelCue::MARK, true, &_t_sel_cue_none); + _t_sel_cue_mark.init ( _("Mark"), "/options/selcue/value", Inkscape::SelCue::MARK, true, &_t_sel_cue_none); _page_selector.add_line( true, "", _t_sel_cue_mark, "", _("Each selected object has a diamond mark in the top left corner")); - _t_sel_cue_box.init ( _("Box"), "options.selcue", "value", Inkscape::SelCue::BBOX, false, &_t_sel_cue_none); + _t_sel_cue_box.init ( _("Box"), "/options/selcue/value", Inkscape::SelCue::BBOX, false, &_t_sel_cue_none); _page_selector.add_line( true, "", _t_sel_cue_box, "", _("Each selected object displays its bounding box")); //Node this->AddPage(_page_node, _("Node"), iter_tools, PREFS_PAGE_TOOLS_NODE); - AddSelcueCheckbox(_page_node, "tools.nodes", true); - AddGradientCheckbox(_page_node, "tools.nodes", true); + AddSelcueCheckbox(_page_node, "/tools/nodes", true); + AddGradientCheckbox(_page_node, "/tools/nodes", true); _page_node.add_group_header( _("Path outline:")); - _t_node_pathoutline_color.init(_("Path outline color"), "tools.nodes", "highlight_color", 0xff0000ff); + _t_node_pathoutline_color.init(_("Path outline color"), "/tools/nodes/highlight_color", 0xff0000ff); _page_node.add_line( false, _("Path outline color"), _t_node_pathoutline_color, "", _("Selects the color used for showing the path outline."), false); - _t_node_pathflash_enabled.init ( _("Path outline flash on mouse-over"), "tools.nodes", "pathflash_enabled", false); + _t_node_pathflash_enabled.init ( _("Path outline flash on mouse-over"), "/tools/nodes/pathflash_enabled", false); _page_node.add_line( true, "", _t_node_pathflash_enabled, "", _("When hovering over a path, briefly flash its outline.")); - _t_node_pathflash_timeout.init("tools.nodes", "pathflash_timeout", 0, 10000.0, 100.0, 100.0, 1000.0, true, false); + _t_node_pathflash_timeout.init("/tools/nodes/pathflash_timeout", 0, 10000.0, 100.0, 100.0, 1000.0, true, false); _page_node.add_line( false, _("Flash time"), _t_node_pathflash_timeout, "ms", _("Specifies how long the path outline will be visible after a mouse-over (in milliseconds). Specify 0 to have the outline shown until mouse leaves the path."), false); //Tweak this->AddPage(_page_tweak, _("Tweak"), iter_tools, PREFS_PAGE_TOOLS_TWEAK); - this->AddNewObjectsStyle(_page_tweak, "tools.tweak", _("Paint objects with:")); - AddSelcueCheckbox(_page_tweak, "tools.tweak", true); - AddGradientCheckbox(_page_tweak, "tools.tweak", false); + this->AddNewObjectsStyle(_page_tweak, "/tools/tweak", _("Paint objects with:")); + AddSelcueCheckbox(_page_tweak, "/tools/tweak", true); + AddGradientCheckbox(_page_tweak, "/tools/tweak", false); //Zoom this->AddPage(_page_zoom, _("Zoom"), iter_tools, PREFS_PAGE_TOOLS_ZOOM); - AddSelcueCheckbox(_page_zoom, "tools.zoom", true); - AddGradientCheckbox(_page_zoom, "tools.zoom", false); + AddSelcueCheckbox(_page_zoom, "/tools/zoom", true); + AddGradientCheckbox(_page_zoom, "/tools/zoom", false); //Shapes Gtk::TreeModel::iterator iter_shapes = this->AddPage(_page_shapes, _("Shapes"), iter_tools, PREFS_PAGE_TOOLS_SHAPES); _path_shapes = _page_list.get_model()->get_path(iter_shapes); - this->AddSelcueCheckbox(_page_shapes, "tools.shapes", true); - this->AddGradientCheckbox(_page_shapes, "tools.shapes", true); + this->AddSelcueCheckbox(_page_shapes, "/tools/shapes", true); + this->AddGradientCheckbox(_page_shapes, "/tools/shapes", true); //Rectangle this->AddPage(_page_rectangle, _("Rectangle"), iter_shapes, PREFS_PAGE_TOOLS_SHAPES_RECT); - this->AddNewObjectsStyle(_page_rectangle, "tools.shapes.rect"); - this->AddConvertGuidesCheckbox(_page_rectangle, "tools.shapes.rect", true); + this->AddNewObjectsStyle(_page_rectangle, "/tools/shapes/rect"); + this->AddConvertGuidesCheckbox(_page_rectangle, "/tools/shapes/rect", true); //3D box this->AddPage(_page_3dbox, _("3D Box"), iter_shapes, PREFS_PAGE_TOOLS_SHAPES_3DBOX); - this->AddNewObjectsStyle(_page_3dbox, "tools.shapes.3dbox"); - this->AddConvertGuidesCheckbox(_page_3dbox, "tools.shapes.3dbox", true); + this->AddNewObjectsStyle(_page_3dbox, "/tools/shapes/3dbox"); + this->AddConvertGuidesCheckbox(_page_3dbox, "/tools/shapes/3dbox", true); //ellipse this->AddPage(_page_ellipse, _("Ellipse"), iter_shapes, PREFS_PAGE_TOOLS_SHAPES_ELLIPSE); - this->AddNewObjectsStyle(_page_ellipse, "tools.shapes.arc"); + this->AddNewObjectsStyle(_page_ellipse, "/tools/shapes/arc"); //star this->AddPage(_page_star, _("Star"), iter_shapes, PREFS_PAGE_TOOLS_SHAPES_STAR); - this->AddNewObjectsStyle(_page_star, "tools.shapes.star"); + this->AddNewObjectsStyle(_page_star, "/tools/shapes/star"); //spiral this->AddPage(_page_spiral, _("Spiral"), iter_shapes, PREFS_PAGE_TOOLS_SHAPES_SPIRAL); - this->AddNewObjectsStyle(_page_spiral, "tools.shapes.spiral"); + this->AddNewObjectsStyle(_page_spiral, "/tools/shapes/spiral"); //Pencil this->AddPage(_page_pencil, _("Pencil"), iter_tools, PREFS_PAGE_TOOLS_PENCIL); - this->AddSelcueCheckbox(_page_pencil, "tools.freehand.pencil", true); - this->AddNewObjectsStyle(_page_pencil, "tools.freehand.pencil"); - this->AddDotSizeSpinbutton(_page_pencil, "tools.freehand.pencil", 3.0); + this->AddSelcueCheckbox(_page_pencil, "/tools/freehand/pencil", true); + this->AddNewObjectsStyle(_page_pencil, "/tools/freehand/pencil"); + this->AddDotSizeSpinbutton(_page_pencil, "/tools/freehand/pencil", 3.0); //Pen this->AddPage(_page_pen, _("Pen"), iter_tools, PREFS_PAGE_TOOLS_PEN); - this->AddSelcueCheckbox(_page_pen, "tools.freehand.pen", true); - this->AddNewObjectsStyle(_page_pen, "tools.freehand.pen"); - this->AddDotSizeSpinbutton(_page_pen, "tools.freehand.pen", 3.0); + this->AddSelcueCheckbox(_page_pen, "/tools/freehand/pen", true); + this->AddNewObjectsStyle(_page_pen, "/tools/freehand/pen"); + this->AddDotSizeSpinbutton(_page_pen, "/tools/freehand/pen", 3.0); //Calligraphy this->AddPage(_page_calligraphy, _("Calligraphy"), iter_tools, PREFS_PAGE_TOOLS_CALLIGRAPHY); - this->AddSelcueCheckbox(_page_calligraphy, "tools.calligraphic", false); - this->AddNewObjectsStyle(_page_calligraphy, "tools.calligraphic"); + this->AddSelcueCheckbox(_page_calligraphy, "/tools/calligraphic", false); + this->AddNewObjectsStyle(_page_calligraphy, "/tools/calligraphic"); _page_calligraphy.add_line( false, "", _calligrapy_use_abs_size, "", _("If on, pen width is in absolute units (px) independent of zoom; otherwise pen width depends on zoom so that it looks the same at any zoom")); _page_calligraphy.add_line( false, "", _calligrapy_keep_selected, "", _("If on, each newly created object will be selected (deselecting previous selection)")); //Paint Bucket this->AddPage(_page_paintbucket, _("Paint Bucket"), iter_tools, PREFS_PAGE_TOOLS_PAINTBUCKET); - this->AddSelcueCheckbox(_page_paintbucket, "tools.paintbucket", false); - this->AddNewObjectsStyle(_page_paintbucket, "tools.paintbucket"); + this->AddSelcueCheckbox(_page_paintbucket, "/tools/paintbucket", false); + this->AddNewObjectsStyle(_page_paintbucket, "/tools/paintbucket"); //Eraser this->AddPage(_page_eraser, _("Eraser"), iter_tools, PREFS_PAGE_TOOLS_ERASER); - this->AddNewObjectsStyle(_page_eraser, "tools.eraser"); + this->AddNewObjectsStyle(_page_eraser, "/tools/eraser"); //LPETool this->AddPage(_page_lpetool, _("LPE Tool"), iter_tools, PREFS_PAGE_TOOLS_LPETOOL); - this->AddNewObjectsStyle(_page_lpetool, "tools.lpetool"); + this->AddNewObjectsStyle(_page_lpetool, "/tools/lpetool"); //Text this->AddPage(_page_text, _("Text"), iter_tools, PREFS_PAGE_TOOLS_TEXT); - this->AddSelcueCheckbox(_page_text, "tools.text", true); - this->AddGradientCheckbox(_page_text, "tools.text", true); - this->AddNewObjectsStyle(_page_text, "tools.text"); + this->AddSelcueCheckbox(_page_text, "/tools/text", true); + this->AddGradientCheckbox(_page_text, "/tools/text", true); + this->AddNewObjectsStyle(_page_text, "/tools/text"); //Gradient this->AddPage(_page_gradient, _("Gradient"), iter_tools, PREFS_PAGE_TOOLS_GRADIENT); - this->AddSelcueCheckbox(_page_gradient, "tools.gradient", true); + this->AddSelcueCheckbox(_page_gradient, "/tools/gradient", true); //Connector this->AddPage(_page_connector, _("Connector"), iter_tools, PREFS_PAGE_TOOLS_CONNECTOR); - this->AddSelcueCheckbox(_page_connector, "tools.connector", true); + this->AddSelcueCheckbox(_page_connector, "/tools/connector", true); _page_connector.add_line(false, "", _connector_ignore_text, "", _("If on, connector attachment points will not be shown for text objects")); //Dropper this->AddPage(_page_dropper, _("Dropper"), iter_tools, PREFS_PAGE_TOOLS_DROPPER); - this->AddSelcueCheckbox(_page_dropper, "tools.dropper", true); - this->AddGradientCheckbox(_page_dropper, "tools.dropper", true); + this->AddSelcueCheckbox(_page_dropper, "/tools/dropper", true); + this->AddGradientCheckbox(_page_dropper, "/tools/dropper", true); } void InkscapePreferences::initPageWindows() { - _win_save_geom.init ( _("Save and restore window geometry for each document"), "options.savewindowgeometry", "value", 1, true, 0); - _win_save_geom_prefs.init ( _("Remember and use last window's geometry"), "options.savewindowgeometry", "value", 2, false, &_win_save_geom); - _win_save_geom_off.init ( _("Don't save window geometry"), "options.savewindowgeometry", "value", 0, false, &_win_save_geom); + _win_save_geom.init ( _("Save and restore window geometry for each document"), "/options/savewindowgeometry/value", 1, true, 0); + _win_save_geom_prefs.init ( _("Remember and use last window's geometry"), "/options/savewindowgeometry/value", 2, false, &_win_save_geom); + _win_save_geom_off.init ( _("Don't save window geometry"), "/options/savewindowgeometry/value", 0, false, &_win_save_geom); - _win_dockable.init ( _("Dockable"), "options.dialogtype", "value", 1, true, 0); - _win_floating.init ( _("Floating"), "options.dialogtype", "value", 0, false, &_win_dockable); + _win_dockable.init ( _("Dockable"), "/options/dialogtype/value", 1, true, 0); + _win_floating.init ( _("Floating"), "/options/dialogtype/value", 0, false, &_win_dockable); - _win_hide_task.init ( _("Dialogs are hidden in taskbar"), "options.dialogsskiptaskbar", "value", true); - _win_zoom_resize.init ( _("Zoom when window is resized"), "options.stickyzoom", "value", false); - _win_show_close.init ( _("Show close button on dialogs"), "dialogs", "showclose", false); - _win_ontop_none.init ( _("None"), "options.transientpolicy", "value", 0, false, 0); - _win_ontop_normal.init ( _("Normal"), "options.transientpolicy", "value", 1, true, &_win_ontop_none); - _win_ontop_agressive.init ( _("Aggressive"), "options.transientpolicy", "value", 2, false, &_win_ontop_none); + _win_hide_task.init ( _("Dialogs are hidden in taskbar"), "/options/dialogsskiptaskbar/value", true); + _win_zoom_resize.init ( _("Zoom when window is resized"), "/options/stickyzoom/value", false); + _win_show_close.init ( _("Show close button on dialogs"), "/dialogs/showclose", false); + _win_ontop_none.init ( _("None"), "/options/transientpolicy/value", 0, false, 0); + _win_ontop_normal.init ( _("Normal"), "/options/transientpolicy/value", 1, true, &_win_ontop_none); + _win_ontop_agressive.init ( _("Aggressive"), "/options/transientpolicy/value", 2, false, &_win_ontop_none); _page_windows.add_group_header( _("Saving window geometry (size and position):")); _page_windows.add_line( true, "", _win_save_geom_off, "", @@ -539,11 +537,11 @@ void InkscapePreferences::initPageWindows() #if GTK_VERSION_GE(2, 12) _page_windows.add_group_header( _("Dialog Transparency:")); - _win_trans_focus.init("dialogs.transparency", "on-focus", 0.5, 1.0, 0.01, 0.1, 1.0, false, false); + _win_trans_focus.init("/dialogs/transparency/on-focus", 0.5, 1.0, 0.01, 0.1, 1.0, false, false); _page_windows.add_line( true, _("Opacity when focused:"), _win_trans_focus, "", ""); - _win_trans_blur.init("dialogs.transparency", "on-blur", 0.0, 1.0, 0.01, 0.1, 0.5, false, false); + _win_trans_blur.init("/dialogs/transparency/on-blur", 0.0, 1.0, 0.01, 0.1, 0.5, false, false); _page_windows.add_line( true, _("Opacity when unfocused:"), _win_trans_blur, "", ""); - _win_trans_time.init("dialogs.transparency", "animate-time", 0, 1000, 10, 100, 100, true, false); + _win_trans_time.init("/dialogs/transparency/animate-time", 0, 1000, 10, 100, 100, true, false); _page_windows.add_line( true, _("Time of opacity change animation:"), _win_trans_time, "ms", ""); #endif @@ -561,15 +559,15 @@ void InkscapePreferences::initPageWindows() void InkscapePreferences::initPageClones() { - _clone_option_parallel.init ( _("Move in parallel"), "options.clonecompensation", "value", + _clone_option_parallel.init ( _("Move in parallel"), "/options/clonecompensation/value", SP_CLONE_COMPENSATION_PARALLEL, true, 0); - _clone_option_stay.init ( _("Stay unmoved"), "options.clonecompensation", "value", + _clone_option_stay.init ( _("Stay unmoved"), "/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED, false, &_clone_option_parallel); - _clone_option_transform.init ( _("Move according to transform"), "options.clonecompensation", "value", + _clone_option_transform.init ( _("Move according to transform"), "/options/clonecompensation/value", SP_CLONE_COMPENSATION_NONE, false, &_clone_option_parallel); - _clone_option_unlink.init ( _("Are unlinked"), "options.cloneorphans", "value", + _clone_option_unlink.init ( _("Are unlinked"), "/options/cloneorphans/value", SP_CLONE_ORPHANS_UNLINK, true, 0); - _clone_option_delete.init ( _("Are deleted"), "options.cloneorphans", "value", + _clone_option_delete.init ( _("Are deleted"), "/options/cloneorphans/value", SP_CLONE_ORPHANS_DELETE, false, &_clone_option_unlink); _page_clones.add_group_header( _("When the original moves, its clones and linked offsets:")); @@ -587,7 +585,7 @@ void InkscapePreferences::initPageClones() _page_clones.add_group_header( _("When duplicating original+clones:")); - _clone_relink_on_duplicate.init ( _("Relink duplicated clones"), "options.relinkclonesonduplicate", "value", false); + _clone_relink_on_duplicate.init ( _("Relink duplicated clones"), "/options/relinkclonesonduplicate/value", false); _page_clones.add_line(true, "", _clone_relink_on_duplicate, "", _("When duplicating a selection containing both a clone and its original (possibly in groups), relink the duplicated clone to the duplicated original instead of the old original")); @@ -597,10 +595,10 @@ void InkscapePreferences::initPageClones() void InkscapePreferences::initPageMasks() { - _mask_mask_on_top.init ( _("When applying, use the topmost selected object as clippath/mask"), "options.maskobject", "topmost", true); + _mask_mask_on_top.init ( _("When applying, use the topmost selected object as clippath/mask"), "/options/maskobject/topmost", true); _page_mask.add_line(true, "", _mask_mask_on_top, "", _("Uncheck this to use the bottom selected object as the clipping path or mask")); - _mask_mask_remove.init ( _("Remove clippath/mask object after applying"), "options.maskobject", "remove", true); + _mask_mask_remove.init ( _("Remove clippath/mask object after applying"), "/options/maskobject/remove", true); _page_mask.add_line(true, "", _mask_mask_remove, "", _("After applying, remove the object used as the clipping path or mask from the drawing")); this->AddPage(_page_mask, _("Clippaths and masks"), PREFS_PAGE_MASKS); @@ -608,12 +606,12 @@ void InkscapePreferences::initPageMasks() void InkscapePreferences::initPageTransforms() { - _trans_scale_stroke.init ( _("Scale stroke width"), "options.transform", "stroke", true); - _trans_scale_corner.init ( _("Scale rounded corners in rectangles"), "options.transform", "rectcorners", false); - _trans_gradient.init ( _("Transform gradients"), "options.transform", "gradient", true); - _trans_pattern.init ( _("Transform patterns"), "options.transform", "pattern", false); - _trans_optimized.init ( _("Optimized"), "options.preservetransform", "value", 0, true, 0); - _trans_preserved.init ( _("Preserved"), "options.preservetransform", "value", 1, false, &_trans_optimized); + _trans_scale_stroke.init ( _("Scale stroke width"), "/options/transform/stroke", true); + _trans_scale_corner.init ( _("Scale rounded corners in rectangles"), "/options/transform/rectcorners", false); + _trans_gradient.init ( _("Transform gradients"), "/options/transform/gradient", true); + _trans_pattern.init ( _("Transform patterns"), "/options/transform/pattern", false); + _trans_optimized.init ( _("Optimized"), "/options/preservetransform/value", 0, true, 0); + _trans_preserved.init ( _("Preserved"), "/options/preservetransform/value", 1, false, &_trans_optimized); _page_transforms.add_line( false, "", _trans_scale_stroke, "", _("When scaling objects, scale the stroke width by the same proportion")); @@ -634,15 +632,16 @@ void InkscapePreferences::initPageTransforms() void InkscapePreferences::initPageFilters() { - _blur_quality_best.init ( _("Best quality (slowest)"), "options.blurquality", "value", + /* blur quality */ + _blur_quality_best.init ( _("Best quality (slowest)"), "/options/blurquality/value", BLUR_QUALITY_BEST, false, 0); - _blur_quality_better.init ( _("Better quality (slower)"), "options.blurquality", "value", + _blur_quality_better.init ( _("Better quality (slower)"), "/options/blurquality/value", BLUR_QUALITY_BETTER, false, &_blur_quality_best); - _blur_quality_normal.init ( _("Average quality"), "options.blurquality", "value", + _blur_quality_normal.init ( _("Average quality"), "/options/blurquality/value", BLUR_QUALITY_NORMAL, true, &_blur_quality_best); - _blur_quality_worse.init ( _("Lower quality (faster)"), "options.blurquality", "value", + _blur_quality_worse.init ( _("Lower quality (faster)"), "/options/blurquality/value", BLUR_QUALITY_WORSE, false, &_blur_quality_best); - _blur_quality_worst.init ( _("Lowest quality (fastest)"), "options.blurquality", "value", + _blur_quality_worst.init ( _("Lowest quality (fastest)"), "/options/blurquality/value", BLUR_QUALITY_WORST, false, &_blur_quality_best); _page_filters.add_group_header( _("Gaussian blur quality for display:")); @@ -657,7 +656,32 @@ void InkscapePreferences::initPageFilters() _page_filters.add_line( true, "", _blur_quality_worst, "", _("Lowest quality (considerable artifacts), but display is fastest")); - _show_filters_info_box.init( _("Show filter primitives infobox"), "options.showfiltersinfobox", "value", true); + /* filter quality */ + _filter_quality_best.init ( _("Best quality (slowest)"), "/options/filterquality/value", + NR::FILTER_QUALITY_BEST, false, 0); + _filter_quality_better.init ( _("Better quality (slower)"), "/options/filterquality/value", + NR::FILTER_QUALITY_BETTER, false, &_filter_quality_best); + _filter_quality_normal.init ( _("Average quality"), "/options/filterquality/value", + NR::FILTER_QUALITY_NORMAL, true, &_filter_quality_best); + _filter_quality_worse.init ( _("Lower quality (faster)"), "/options/filterquality/value", + NR::FILTER_QUALITY_WORSE, false, &_filter_quality_best); + _filter_quality_worst.init ( _("Lowest quality (fastest)"), "/options/filterquality/value", + NR::FILTER_QUALITY_WORST, false, &_filter_quality_best); + + _page_filters.add_group_header( _("Filter effects quality for display:")); + _page_filters.add_line( true, "", _filter_quality_best, "", + _("Best quality, but display may be very slow at high zooms (bitmap export always uses best quality)")); + _page_filters.add_line( true, "", _filter_quality_better, "", + _("Better quality, but slower display")); + _page_filters.add_line( true, "", _filter_quality_normal, "", + _("Average quality, acceptable display speed")); + _page_filters.add_line( true, "", _filter_quality_worse, "", + _("Lower quality (some artifacts), but display is faster")); + _page_filters.add_line( true, "", _filter_quality_worst, "", + _("Lowest quality (considerable artifacts), but display is fastest")); + + /* show infobox */ + _show_filters_info_box.init( _("Show filter primitives infobox"), "/options/showfiltersinfobox/value", true); _page_filters.add_line(true, "", _show_filters_info_box, "", _("Show icons and descriptions for the filter primitives available at the filter effects dialog.")); @@ -667,12 +691,12 @@ void InkscapePreferences::initPageFilters() void InkscapePreferences::initPageSelecting() { - _sel_all.init ( _("Select in all layers"), "options.kbselection", "inlayer", PREFS_SELECTION_ALL, false, 0); - _sel_current.init ( _("Select only within current layer"), "options.kbselection", "inlayer", PREFS_SELECTION_LAYER, true, &_sel_all); - _sel_recursive.init ( _("Select in current layer and sublayers"), "options.kbselection", "inlayer", PREFS_SELECTION_LAYER_RECURSIVE, false, &_sel_all); - _sel_hidden.init ( _("Ignore hidden objects and layers"), "options.kbselection", "onlyvisible", true); - _sel_locked.init ( _("Ignore locked objects and layers"), "options.kbselection", "onlysensitive", true); - _sel_layer_deselects.init ( _("Deselect upon layer change"), "options.selection", "layerdeselect", true); + _sel_all.init ( _("Select in all layers"), "/options/kbselection/inlayer", PREFS_SELECTION_ALL, false, 0); + _sel_current.init ( _("Select only within current layer"), "/options/kbselection/inlayer", PREFS_SELECTION_LAYER, true, &_sel_all); + _sel_recursive.init ( _("Select in current layer and sublayers"), "/options/kbselection/inlayer", PREFS_SELECTION_LAYER_RECURSIVE, false, &_sel_all); + _sel_hidden.init ( _("Ignore hidden objects and layers"), "/options/kbselection/onlyvisible", true); + _sel_locked.init ( _("Ignore locked objects and layers"), "/options/kbselection/onlysensitive", true); + _sel_layer_deselects.init ( _("Deselect upon layer change"), "/options/selection/layerdeselect", true); _page_select.add_group_header( _("Ctrl+A, Tab, Shift+Tab:")); _page_select.add_line( true, "", _sel_all, "", @@ -695,16 +719,16 @@ void InkscapePreferences::initPageSelecting() void InkscapePreferences::initPageImportExport() { - _importexport_export.init("dialogs.export.defaultxdpi", "value", 0.0, 6000.0, 1.0, 1.0, PX_PER_IN, true, false); + _importexport_export.init("/dialogs/export/defaultxdpi/value", 0.0, 6000.0, 1.0, 1.0, PX_PER_IN, true, false); _page_importexport.add_line( false, _("Default export resolution:"), _importexport_export, _("dpi"), _("Default bitmap resolution (in dots per inch) in the Export dialog"), false); - _importexport_ocal_url.init("options.ocalurl", "str", true, g_strdup_printf("openclipart.org")); + _importexport_ocal_url.init("/options/ocalurl/str", true, g_strdup_printf("openclipart.org")); _page_importexport.add_line( false, _("Open Clip Art Library Server Name:"), _importexport_ocal_url, "", _("The server name of the Open Clip Art Library webdav server. It's used by the Import and Export to OCAL function."), true); - _importexport_ocal_username.init("options.ocalusername", "str", true); + _importexport_ocal_username.init("/options/ocalusername/str", true); _page_importexport.add_line( false, _("Open Clip Art Library Username:"), _importexport_ocal_username, "", _("The username used to log into Open Clip Art Library."), true); - _importexport_ocal_password.init("options.ocalpassword", "str", false); + _importexport_ocal_password.init("/options/ocalpassword/str", false); _page_importexport.add_line( false, _("Open Clip Art Library Password:"), _importexport_ocal_password, "", _("The password used to log into Open Clip Art Library."), true); @@ -717,13 +741,13 @@ static void profileComboChanged( Gtk::ComboBoxText* combo ) Inkscape::Preferences *prefs = Inkscape::Preferences::get(); int rowNum = combo->get_active_row_number(); if ( rowNum < 1 ) { - prefs->setString("options.displayprofile", "uri", ""); + prefs->setString("/options/displayprofile/uri", ""); } else { Glib::ustring active = combo->get_active_text(); Glib::ustring path = get_path_for_profile(active); if ( !path.empty() ) { - prefs->setString("options.displayprofile", "uri", path); + prefs->setString("/options/displayprofile/uri", path); } } } @@ -735,7 +759,7 @@ static void proofComboChanged( Gtk::ComboBoxText* combo ) if ( !path.empty() ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setString("options.softproof", "uri", path); + prefs->setString("/options/softproof/uri", path); } } @@ -748,7 +772,7 @@ static void gamutColorChanged( Gtk::ColorButton* btn ) { gchar* tmp = g_strdup_printf("#%02x%02x%02x", (r >> 8), (g >> 8), (b >> 8) ); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setString("options.softproof", "gamutcolor", tmp); + prefs->setString("/options/softproof/gamutcolor", tmp); g_free(tmp); } #endif // ENABLE_LCMS @@ -771,7 +795,7 @@ void InkscapePreferences::initPageCMS() _page_cms.add_line( false, _("Display profile:"), _cms_display_profile, "", _("The ICC profile to use to calibrate display output."), false); - _cms_from_display.init( _("Retrieve profile from display"), "options.displayprofile", "from_display", false); + _cms_from_display.init( _("Retrieve profile from display"), "/options/displayprofile/from_display", false); _page_cms.add_line( false, "", _cms_from_display, "", #ifdef GDK_WINDOWING_X11 _("Retrieve profiles from those attached to displays via XICC."), false); @@ -780,21 +804,21 @@ void InkscapePreferences::initPageCMS() #endif // GDK_WINDOWING_X11 - _cms_intent.init("options.displayprofile", "intent", intentLabels, intentValues, numIntents, 0); + _cms_intent.init("/options/displayprofile/intent", intentLabels, intentValues, numIntents, 0); _page_cms.add_line( false, _("Display rendering intent:"), _cms_intent, "", _("The rendering intent to use to calibrate display output."), false); _page_cms.add_group_header( _("Proofing")); - _cms_softproof.init( _("Simulate output on screen"), "options.softproof", "enable", false); + _cms_softproof.init( _("Simulate output on screen"), "/options/softproof/enable", false); _page_cms.add_line( false, "", _cms_softproof, "", _("Simulates output of target device."), false); - _cms_gamutwarn.init( _("Mark out of gamut colors"), "options.softproof", "gamutwarn", false); + _cms_gamutwarn.init( _("Mark out of gamut colors"), "/options/softproof/gamutwarn", false); _page_cms.add_line( false, "", _cms_gamutwarn, "", _("Highlights colors that are out of gamut for the target device."), false); - Glib::ustring colorStr = prefs->getString("options.softproof", "gamutcolor"); + Glib::ustring colorStr = prefs->getString("/options/softproof/gamutcolor"); Gdk::Color tmpColor( colorStr.empty() ? "#00ff00" : colorStr); _cms_gamutcolor.set_color( tmpColor ); _page_cms.add_line( true, _("Out of gamut warning color:"), _cms_gamutcolor, "", @@ -803,15 +827,15 @@ void InkscapePreferences::initPageCMS() _page_cms.add_line( false, _("Device profile:"), _cms_proof_profile, "", _("The ICC profile to use to simulate device output."), false); - _cms_proof_intent.init("options.softproof", "intent", intentLabels, intentValues, numIntents, 0); + _cms_proof_intent.init("/options/softproof/intent", intentLabels, intentValues, numIntents, 0); _page_cms.add_line( false, _("Device rendering intent:"), _cms_proof_intent, "", _("The rendering intent to use to calibrate display output."), false); - _cms_proof_blackpoint.init( _("Black point compensation"), "options.softproof", "bpc", false); + _cms_proof_blackpoint.init( _("Black point compensation"), "/options/softproof/bpc", false); _page_cms.add_line( false, "", _cms_proof_blackpoint, "", _("Enables black point compensation."), false); - _cms_proof_preserveblack.init( _("Preserve black"), "options.softproof", "preserveblack", false); + _cms_proof_preserveblack.init( _("Preserve black"), "/options/softproof/preserveblack", false); _page_cms.add_line( false, "", _cms_proof_preserveblack, #if defined(cmsFLAGS_PRESERVEBLACK) "", @@ -828,7 +852,7 @@ void InkscapePreferences::initPageCMS() #if ENABLE_LCMS { std::vector names = ::Inkscape::colorprofile_get_display_names(); - Glib::ustring current = prefs->getString( "options.displayprofile", "uri" ); + Glib::ustring current = prefs->getString( "/options/displayprofile/uri" ); gint index = 0; _cms_display_profile.append_text(_("")); @@ -846,7 +870,7 @@ void InkscapePreferences::initPageCMS() } names = ::Inkscape::colorprofile_get_softproof_names(); - current = prefs->getString("options.softproof", "uri"); + current = prefs->getString("/options/softproof/uri"); index = 0; for ( std::vector::iterator it = names.begin(); it != names.end(); ++it ) { _cms_proof_profile.append_text( *it ); @@ -883,7 +907,7 @@ void InkscapePreferences::initPageGrids() { _page_grids.add_group_header( _("Major grid line emphasizing")); - _grids_no_emphasize_on_zoom.init( _("Don't emphasize gridlines when zoomed out"), "options.grids", "no_emphasize_when_zoomedout", false); + _grids_no_emphasize_on_zoom.init( _("Don't emphasize gridlines when zoomed out"), "/options/grids/no_emphasize_when_zoomedout", false); _page_grids.add_line( false, "", _grids_no_emphasize_on_zoom, "", _("If set and zoomed out, the gridlines will be shown in normal color instead of major grid line color."), false); _page_grids.add_group_header( _("Default grid settings")); @@ -891,44 +915,44 @@ void InkscapePreferences::initPageGrids() _page_grids.add_line( false, "", _grids_notebook, "", "", false); _grids_notebook.append_page(_grids_xy, CanvasGrid::getName( GRID_RECTANGULAR )); _grids_notebook.append_page(_grids_axonom, CanvasGrid::getName( GRID_AXONOMETRIC )); - _grids_xy_units.init("options.grids.xy", "units"); + _grids_xy_units.init("/options/grids/units"); _grids_xy.add_line( false, _("Grid units:"), _grids_xy_units, "", "", false); - _grids_xy_origin_x.init("options.grids.xy", "origin_x", -10000.0, 10000.0, 0.1, 1.0, 0.0, false, false); - _grids_xy_origin_y.init("options.grids.xy", "origin_y", -10000.0, 10000.0, 0.1, 1.0, 0.0, false, false); + _grids_xy_origin_x.init("/options/grids/xy/origin_x", -10000.0, 10000.0, 0.1, 1.0, 0.0, false, false); + _grids_xy_origin_y.init("/options/grids/xy/origin_y", -10000.0, 10000.0, 0.1, 1.0, 0.0, false, false); _grids_xy.add_line( false, _("Origin X:"), _grids_xy_origin_x, "", _("X coordinate of grid origin"), false); _grids_xy.add_line( false, _("Origin Y:"), _grids_xy_origin_y, "", _("Y coordinate of grid origin"), false); - _grids_xy_spacing_x.init("options.grids.xy", "spacing_x", -10000.0, 10000.0, 0.1, 1.0, 1.0, false, false); - _grids_xy_spacing_y.init("options.grids.xy", "spacing_y", -10000.0, 10000.0, 0.1, 1.0, 1.0, false, false); + _grids_xy_spacing_x.init("/options/grids/xy/spacing_x", -10000.0, 10000.0, 0.1, 1.0, 1.0, false, false); + _grids_xy_spacing_y.init("/options/grids/xy/spacing_y", -10000.0, 10000.0, 0.1, 1.0, 1.0, false, false); _grids_xy.add_line( false, _("Spacing X:"), _grids_xy_spacing_x, "", _("Distance between vertical grid lines"), false); _grids_xy.add_line( false, _("Spacing Y:"), _grids_xy_spacing_y, "", _("Distance between horizontal grid lines"), false); - _grids_xy_color.init(_("Grid line color:"), "options.grids.xy", "color", 0x0000ff20); + _grids_xy_color.init(_("Grid line color:"), "/options/grids/xy/color", 0x0000ff20); _grids_xy.add_line( false, _("Grid line color:"), _grids_xy_color, "", _("Color used for normal grid lines"), false); - _grids_xy_empcolor.init(_("Major grid line color:"), "options.grids.xy", "empcolor", 0x0000ff40); + _grids_xy_empcolor.init(_("Major grid line color:"), "/options/grids/xy/empcolor", 0x0000ff40); _grids_xy.add_line( false, _("Major grid line color:"), _grids_xy_empcolor, "", _("Color used for major (highlighted) grid lines"), false); - _grids_xy_empspacing.init("options.grids.xy", "empspacing", 1.0, 1000.0, 1.0, 5.0, 5.0, true, false); + _grids_xy_empspacing.init("/options/grids/xy/empspacing", 1.0, 1000.0, 1.0, 5.0, 5.0, true, false); _grids_xy.add_line( false, _("Major grid line every:"), _grids_xy_empspacing, "", "", false); - _grids_xy_dotted.init( _("Show dots instead of lines"), "options.grids.xy", "dotted", false); + _grids_xy_dotted.init( _("Show dots instead of lines"), "/options/grids/xy/dotted", false); _grids_xy.add_line( false, "", _grids_xy_dotted, "", _("If set, display dots at gridpoints instead of gridlines"), false); // CanvasAxonomGrid properties: - _grids_axonom_units.init("options.grids.axonom", "units"); + _grids_axonom_units.init("/options/grids/axonom/units"); _grids_axonom.add_line( false, _("Grid units:"), _grids_axonom_units, "", "", false); - _grids_axonom_origin_x.init("options.grids.axonom", "origin_x", -10000.0, 10000.0, 0.1, 1.0, 0.0, false, false); - _grids_axonom_origin_y.init("options.grids.axonom", "origin_y", -10000.0, 10000.0, 0.1, 1.0, 0.0, false, false); + _grids_axonom_origin_x.init("/options/grids/axonom/origin_x", -10000.0, 10000.0, 0.1, 1.0, 0.0, false, false); + _grids_axonom_origin_y.init("/options/grids/axonom/origin_y", -10000.0, 10000.0, 0.1, 1.0, 0.0, false, false); _grids_axonom.add_line( false, _("Origin X:"), _grids_axonom_origin_x, "", _("X coordinate of grid origin"), false); _grids_axonom.add_line( false, _("Origin Y:"), _grids_axonom_origin_y, "", _("Y coordinate of grid origin"), false); - _grids_axonom_spacing_y.init("options.grids.axonom", "spacing_y", -10000.0, 10000.0, 0.1, 1.0, 1.0, false, false); + _grids_axonom_spacing_y.init("/options/grids/axonom/spacing_y", -10000.0, 10000.0, 0.1, 1.0, 1.0, false, false); _grids_axonom.add_line( false, _("Spacing Y:"), _grids_axonom_spacing_y, "", _("Base length of z-axis"), false); - _grids_axonom_angle_x.init("options.grids.axonom", "angle_x", -360.0, 360.0, 1.0, 10.0, 30.0, false, false); - _grids_axonom_angle_z.init("options.grids.axonom", "angle_z", -360.0, 360.0, 1.0, 10.0, 30.0, false, false); + _grids_axonom_angle_x.init("/options/grids/axonom/angle_x", -360.0, 360.0, 1.0, 10.0, 30.0, false, false); + _grids_axonom_angle_z.init("/options/grids/axonom/angle_z", -360.0, 360.0, 1.0, 10.0, 30.0, false, false); _grids_axonom.add_line( false, _("Angle X:"), _grids_axonom_angle_x, "", _("Angle of x-axis"), false); _grids_axonom.add_line( false, _("Angle Z:"), _grids_axonom_angle_z, "", _("Angle of z-axis"), false); - _grids_axonom_color.init(_("Grid line color:"), "options.grids.axonom", "color", 0x0000ff20); + _grids_axonom_color.init(_("Grid line color:"), "/options/grids/axonom/color", 0x0000ff20); _grids_axonom.add_line( false, _("Grid line color:"), _grids_axonom_color, "", _("Color used for normal grid lines"), false); - _grids_axonom_empcolor.init(_("Major grid line color:"), "options.grids.axonom", "empcolor", 0x0000ff40); + _grids_axonom_empcolor.init(_("Major grid line color:"), "/options/grids/axonom/empcolor", 0x0000ff40); _grids_axonom.add_line( false, _("Major grid line color:"), _grids_axonom_empcolor, "", _("Color used for major (highlighted) grid lines"), false); - _grids_axonom_empspacing.init("options.grids.axonom", "empspacing", 1.0, 1000.0, 1.0, 5.0, 5.0, true, false); + _grids_axonom_empspacing.init("/options/grids/axonom/empspacing", 1.0, 1000.0, 1.0, 5.0, 5.0, true, false); _grids_axonom.add_line( false, _("Major grid line every:"), _grids_axonom_empspacing, "", "", false); this->AddPage(_page_grids, _("Grids"), PREFS_PAGE_GRIDS); @@ -936,31 +960,31 @@ void InkscapePreferences::initPageGrids() void InkscapePreferences::initPageSVGOutput() { - _svgoutput_usenamedcolors.init( _("Use named colors"), "options.svgoutput", "usenamedcolors", false); + _svgoutput_usenamedcolors.init( _("Use named colors"), "/options/svgoutput/usenamedcolors", false); _page_svgoutput.add_line( false, "", _svgoutput_usenamedcolors, "", _("If set, write the CSS name of the color when available (e.g. 'red' or 'magenta') instead of the numeric value"), false); _page_svgoutput.add_group_header( _("XML formatting")); - _svgoutput_inlineattrs.init( _("Inline attributes"), "options.svgoutput", "inlineattrs", false); + _svgoutput_inlineattrs.init( _("Inline attributes"), "/options/svgoutput/inlineattrs", false); _page_svgoutput.add_line( false, "", _svgoutput_inlineattrs, "", _("Put attributes on the same line as the element tag"), false); - _svgoutput_indent.init("options.svgoutput", "indent", 0.0, 1000.0, 1.0, 2.0, 2.0, true, false); + _svgoutput_indent.init("/options/svgoutput/indent", 0.0, 1000.0, 1.0, 2.0, 2.0, true, false); _page_svgoutput.add_line( false, _("Indent, spaces:"), _svgoutput_indent, "", _("The number of spaces to use for indenting nested elements; set to 0 for no indentation"), false); _page_svgoutput.add_group_header( _("Path data")); - _svgoutput_allowrelativecoordinates.init( _("Allow relative coordinates"), "options.svgoutput", "allowrelativecoordinates", true); + _svgoutput_allowrelativecoordinates.init( _("Allow relative coordinates"), "/options/svgoutput/allowrelativecoordinates", true); _page_svgoutput.add_line( false, "", _svgoutput_allowrelativecoordinates, "", _("If set, relative coordinates may be used in path data"), false); - _svgoutput_forcerepeatcommands.init( _("Force repeat commands"), "options.svgoutput", "forcerepeatcommands", false); + _svgoutput_forcerepeatcommands.init( _("Force repeat commands"), "/options/svgoutput/forcerepeatcommands", false); _page_svgoutput.add_line( false, "", _svgoutput_forcerepeatcommands, "", _("Force repeating of the same path command (for example, 'L 1,2 L 3,4' instead of 'L 1,2 3,4')"), false); _page_svgoutput.add_group_header( _("Numbers")); - _svgoutput_numericprecision.init("options.svgoutput", "numericprecision", 1.0, 16.0, 1.0, 2.0, 8.0, true, false); + _svgoutput_numericprecision.init("/options/svgoutput/numericprecision", 1.0, 16.0, 1.0, 2.0, 8.0, true, false); _page_svgoutput.add_line( false, _("Numeric precision:"), _svgoutput_numericprecision, "", _("How many digits to write after the decimal dot"), false); - _svgoutput_minimumexponent.init("options.svgoutput", "minimumexponent", -32.0, -1, 1.0, 2.0, -8.0, true, false); + _svgoutput_minimumexponent.init("/options/svgoutput/minimumexponent", -32.0, -1, 1.0, 2.0, -8.0, true, false); _page_svgoutput.add_line( false, _("Minimum exponent:"), _svgoutput_minimumexponent, "", _("The smallest number written to SVG is 10 to the power of this exponent; anything smaller is written as zero."), false); this->AddPage(_page_svgoutput, _("SVG output"), PREFS_PAGE_SVGOUTPUT); @@ -971,19 +995,19 @@ void InkscapePreferences::initPageUI() Glib::ustring sizeLabels[] = {_("Normal"), _("Medium"), _("Small")}; int sizeValues[] = {0, 1, 2}; - _misc_small_toolbar.init( "toolbox", "small", sizeLabels, sizeValues, G_N_ELEMENTS(sizeLabels), 0 ); + _misc_small_toolbar.init( "/toolbox/small", sizeLabels, sizeValues, G_N_ELEMENTS(sizeLabels), 0 ); _page_ui.add_line( false, _("Commands bar icon size"), _misc_small_toolbar, "", _("Set the size for the commands toolbar to use (requires restart)"), false); - _misc_small_secondary.init( "toolbox", "secondary", sizeLabels, sizeValues, G_N_ELEMENTS(sizeLabels), 1 ); + _misc_small_secondary.init( "/toolbox/secondary", sizeLabels, sizeValues, G_N_ELEMENTS(sizeLabels), 1 ); _page_ui.add_line( false, _("Tool controls bar icon size"), _misc_small_secondary, "", _("Set the size for the secondary toolbar to use (requires restart)"), false); - _misc_small_tools.init( "toolbox.tools", "small", sizeLabels, sizeValues, G_N_ELEMENTS(sizeLabels), 0 ); + _misc_small_tools.init( "/toolbox/tools/small", sizeLabels, sizeValues, G_N_ELEMENTS(sizeLabels), 0 ); _page_ui.add_line( false, _("Main toolbar icon size"), _misc_small_tools, "", _("Set the size for the main tools to use (requires restart)"), false); - _misc_recent.init("options.maxrecentdocuments", "value", 0.0, 1000.0, 1.0, 1.0, 1.0, true, false); + _misc_recent.init("/options/maxrecentdocuments/value", 0.0, 1000.0, 1.0, 1.0, 1.0, true, false); _page_ui.add_line( false, _("Maximum documents in Open Recent:"), _misc_recent, "", _("The maximum length of the Open Recent list in the File menu"), false); @@ -998,13 +1022,13 @@ void InkscapePreferences::initPageUI() void InkscapePreferences::initPageAutosave() { // Autosave options - _autosave_autosave_enable.init( _("Enable autosave (requires restart)"), "options.autosave", "enable", false); + _autosave_autosave_enable.init( _("Enable autosave (requires restart)"), "/options/autosave/enable", false); _page_autosave.add_line(false, "", _autosave_autosave_enable, "", _("Automatically save the current document(s) at a given interval, thus minimizing loss in case of a crash"), false); - _autosave_autosave_interval.init("options.autosave", "interval", 1.0, 10800.0, 1.0, 10.0, 10.0, true, false); + _autosave_autosave_interval.init("/options/autosave/interval", 1.0, 10800.0, 1.0, 10.0, 10.0, true, false); _page_autosave.add_line(true, _("Interval (in minutes):"), _autosave_autosave_interval, "", _("Interval (in minutes) at which document will be autosaved"), false); - _autosave_autosave_path.init("options.autosave", "path", true); + _autosave_autosave_path.init("/options/autosave/path", true); _page_autosave.add_line(true, _("Path:"), _autosave_autosave_path, "", _("The directory where autosaves will be written"), false); - _autosave_autosave_max.init("options.autosave", "max", 1.0, 100.0, 1.0, 10.0, 10.0, true, false); + _autosave_autosave_max.init("/options/autosave/max", 1.0, 100.0, 1.0, 10.0, 10.0, true, false); _page_autosave.add_line(true, _("Maximum number of autosaves:"), _autosave_autosave_max, "", _("Maximum number of autosaved files; use this to limit the storage space used"), false); /* When changing the interval or enabling/disabling the autosave function, @@ -1012,9 +1036,7 @@ void InkscapePreferences::initPageAutosave() * * FIXME! * the inkscape_autosave_init should be called AFTER the values have been changed - * (which cannot be guaranteed from here) - * - * For now, autosave-settings will not change until restart + * (which cannot be guaranteed from here) - use a PrefObserver somewhere */ /* _autosave_autosave_enable.signal_toggled().connect( sigc::ptr_fun(inkscape_autosave_init), TRUE ); @@ -1032,15 +1054,15 @@ void InkscapePreferences::initPageBitmaps() Glib::ustring labels[] = {_("None"), _("2x2"), _("4x4"), _("8x8"), _("16x16")}; int values[] = {0, 1, 2, 3, 4}; _misc_overs_bitmap.set_size_request(_sb_width); - _misc_overs_bitmap.init("options.bitmapoversample", "value", labels, values, G_N_ELEMENTS(values), 1); + _misc_overs_bitmap.init("/options/bitmapoversample/value", labels, values, G_N_ELEMENTS(values), 1); _page_bitmaps.add_line( false, _("Oversample bitmaps:"), _misc_overs_bitmap, "", "", false); } - _misc_bitmap_autoreload.init(_("Automatically reload bitmaps"), "options.bitmapautoreload", "value", true); + _misc_bitmap_autoreload.init(_("Automatically reload bitmaps"), "/options/bitmapautoreload/value", true); _page_bitmaps.add_line( false, "", _misc_bitmap_autoreload, "", _("Automatically reload linked images when file is changed on disk")); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - Glib::ustring choices = prefs->getString("options.bitmapeditor", "choices"); + Glib::ustring choices = prefs->getString("/options/bitmapeditor/choices"); if (!choices.empty()) { gchar** splits = g_strsplit(choices.data(), ",", 0); gint numIems = g_strv_length(splits); @@ -1051,13 +1073,13 @@ void InkscapePreferences::initPageBitmaps() values[i] = i; labels[i] = splits[i]; } - _misc_bitmap_editor.init("options.bitmapeditor", "value", labels, values, numIems, 0); + _misc_bitmap_editor.init("/options/bitmapeditor/value", labels, values, numIems, 0); _page_bitmaps.add_line( false, _("Bitmap editor:"), _misc_bitmap_editor, "", "", false); g_strfreev(splits); } - _bitmap_copy_res.init("options.createbitmap", "resolution", 1.0, 6000.0, 1.0, 1.0, PX_PER_IN, true, false); + _bitmap_copy_res.init("/options/createbitmap/resolution", 1.0, 6000.0, 1.0, 1.0, PX_PER_IN, true, false); _page_bitmaps.add_line( false, _("Resolution for Create Bitmap Copy:"), _bitmap_copy_res, _("dpi"), _("Resolution used by the Create Bitmap Copy command"), false); @@ -1067,23 +1089,23 @@ void InkscapePreferences::initPageBitmaps() void InkscapePreferences::initPageMisc() { - _misc_comment.init( _("Add label comments to printing output"), "printing.debug", "show-label-comments", false); + _misc_comment.init( _("Add label comments to printing output"), "/printing/debug/show-label-comments", false); _page_misc.add_line( false, "", _misc_comment, "", _("When on, a comment will be added to the raw print output, marking the rendered output for an object with its label"), true); - _misc_forkvectors.init( _("Prevent sharing of gradient definitions"), "options.forkgradientvectors", "value", true); + _misc_forkvectors.init( _("Prevent sharing of gradient definitions"), "/options/forkgradientvectors/value", true); _page_misc.add_line( false, "", _misc_forkvectors, "", _("When on, shared gradient definitions are automatically forked on change; uncheck to allow sharing of gradient definitions so that editing one object may affect other objects using the same gradient"), true); - _misc_simpl.init("options.simplifythreshold", "value", 0.0001, 1.0, 0.0001, 0.0010, 0.0010, false, false); + _misc_simpl.init("/options/simplifythreshold/value", 0.0001, 1.0, 0.0001, 0.0010, 0.0010, false, false); _page_misc.add_line( false, _("Simplification threshold:"), _misc_simpl, "", _("How strong is the Simplify command by default. If you invoke this command several times in quick succession, it will act more and more aggressively; invoking it again after a pause restores the default threshold."), false); - _misc_latency_skew.init("debug.latency", "skew", 0.5, 2.0, 0.01, 0.10, 1.0, false, false); + _misc_latency_skew.init("/debug/latency/skew", 0.5, 2.0, 0.01, 0.10, 1.0, false, false); _page_misc.add_line( false, _("Latency skew:"), _misc_latency_skew, _("(requires restart)"), _("Factor by which the event clock is skewed from the actual time (0.9766 on some systems)."), false); - _misc_namedicon_delay.init( _("Pre-render named icons"), "options.iconrender", "named_nodelay", false); + _misc_namedicon_delay.init( _("Pre-render named icons"), "/options/iconrender/named_nodelay", false); _page_misc.add_line( false, "", _misc_namedicon_delay, "", _("When on, named icons will be rendered before displaying the ui. This is for working around bugs in GTK+ named icon notification"), true); @@ -1108,7 +1130,7 @@ bool InkscapePreferences::PresentPage(const Gtk::TreeModel::iterator& iter) { Gtk::TreeModel::Row row = *iter; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - int desired_page = prefs->getInt("dialogs.preferences", "page", 0); + int desired_page = prefs->getInt("/dialogs/preferences/page", 0); if (desired_page == row[_page_list_columns._col_id]) { if (desired_page >= PREFS_PAGE_TOOLS && desired_page <= PREFS_PAGE_TOOLS_DROPPER) @@ -1133,7 +1155,7 @@ void InkscapePreferences::on_pagelist_selection_changed() Gtk::TreeModel::Row row = *iter; _current_page = row[_page_list_columns._col_page]; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setInt("dialogs.preferences", "page", row[_page_list_columns._col_id]); + prefs->setInt("/dialogs/preferences/page", row[_page_list_columns._col_id]); _page_title.set_markup("" + row[_page_list_columns._col_name] + ""); _page_frame.add(*_current_page); _current_page->show(); diff --git a/src/ui/dialog/inkscape-preferences.h b/src/ui/dialog/inkscape-preferences.h index 02794d0e2..98ecda855 100644 --- a/src/ui/dialog/inkscape-preferences.h +++ b/src/ui/dialog/inkscape-preferences.h @@ -1,7 +1,7 @@ -/** - * brief Inkscape Preferences dialog - * - * Authors: +/** @file + * @brief Inkscape Preferences dialog + */ +/* Authors: * Carl Hetherington * Marco Scholten * Johan Engelen @@ -158,6 +158,7 @@ protected: PrefCheckButton _mask_mask_remove; PrefRadioButton _blur_quality_best, _blur_quality_better, _blur_quality_normal, _blur_quality_worse, _blur_quality_worst; + PrefRadioButton _filter_quality_best, _filter_quality_better, _filter_quality_normal, _filter_quality_worse, _filter_quality_worst; PrefCheckButton _show_filters_info_box; PrefCheckButton _trans_scale_stroke, _trans_scale_corner, _trans_gradient,_trans_pattern; diff --git a/src/ui/dialog/input.cpp b/src/ui/dialog/input.cpp index 25f123797..ae8594e50 100644 --- a/src/ui/dialog/input.cpp +++ b/src/ui/dialog/input.cpp @@ -1,4 +1,37 @@ +/** @file + * @brief Input devices dialog (new) - implementation + */ +/* Author: + * Jon A. Cruz + * + * Copyright (C) 2008 Author + * Released under GNU GPL. Read the file 'COPYING' for more information. + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "ui/widget/panel.h" +#include "device-manager.h" + +#include "input.h" /* XPM */ static char const * core_xpm[] = { @@ -282,35 +315,6 @@ static char const * axis_on_xpm[] = { " .................... ", " "}; - - - - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "ui/widget/panel.h" -#include "device-manager.h" - -#include "input.h" - using Inkscape::InputDevice; namespace Inkscape { diff --git a/src/ui/dialog/input.h b/src/ui/dialog/input.h index b3cd97a44..38666f52c 100644 --- a/src/ui/dialog/input.h +++ b/src/ui/dialog/input.h @@ -1,3 +1,12 @@ +/** @file + * @brief Input devices dialog (new) + */ +/* Author: + * Jon A. Cruz + * + * Copyright (C) 2008 Author + * Released under GNU GPL. Read the file 'COPYING' for more information. + */ #ifndef INKSCAPE_UI_DIALOG_INPUT_H #define INKSCAPE_UI_DIALOG_INPUT_H @@ -16,7 +25,7 @@ class InputDialog : public UI::Widget::Panel public: static InputDialog &getInstance(); - InputDialog() : UI::Widget::Panel("", "dialogs.inputdevices2", SP_VERB_DIALOG_INPUT2) {} + InputDialog() : UI::Widget::Panel("", "/dialogs/inputdevices2", SP_VERB_DIALOG_INPUT2) {} virtual ~InputDialog() {} }; diff --git a/src/ui/dialog/livepatheffect-editor.cpp b/src/ui/dialog/livepatheffect-editor.cpp index 73d26b67e..8a7e0adeb 100644 --- a/src/ui/dialog/livepatheffect-editor.cpp +++ b/src/ui/dialog/livepatheffect-editor.cpp @@ -1,13 +1,12 @@ -/** - * \brief LivePathEffect dialog - * - * Authors: +/** @file + * @brief Live Path Effect editing dialog - implementation + */ +/* Authors: * Johan Engelen * Steren Giannini * Bastien Bouclet * - * Copyright (C) 2007 Author - * + * Copyright (C) 2007 Authors * Released under GNU GPL. Read the file 'COPYING' for more information. */ @@ -68,7 +67,7 @@ static void lpeeditor_selection_modified (Inkscape::Selection * selection, guint */ LivePathEffectEditor::LivePathEffectEditor() - : UI::Widget::Panel("", "dialogs.livepatheffect", SP_VERB_DIALOG_LIVE_PATH_EFFECT), + : UI::Widget::Panel("", "/dialogs/livepatheffect", SP_VERB_DIALOG_LIVE_PATH_EFFECT), lpe_list_locked(false), combo_effecttype(Inkscape::LivePathEffect::LPETypeConverter), effectwidget(NULL), diff --git a/src/ui/dialog/livepatheffect-editor.h b/src/ui/dialog/livepatheffect-editor.h index 49db74fca..370bd599a 100644 --- a/src/ui/dialog/livepatheffect-editor.h +++ b/src/ui/dialog/livepatheffect-editor.h @@ -1,11 +1,10 @@ -/** - * \brief LivePathEffect dialog - * - * Author: +/** @file + * @brief Live Path Effect editing dialog + */ +/* Author: * Johan Engelen * * Copyright (C) 2007 Author - * * Released under GNU GPL. Read the file 'COPYING' for more information. */ diff --git a/src/ui/dialog/memory.cpp b/src/ui/dialog/memory.cpp index 1931976d6..a80c7b449 100644 --- a/src/ui/dialog/memory.cpp +++ b/src/ui/dialog/memory.cpp @@ -1,7 +1,7 @@ -/** - * \brief Memory statistics dialog - * - * Authors: +/** @file + * @brief Memory statistics dialog + */ +/* Authors: * MenTaLguY * * Copyright (C) 2005 @@ -204,7 +204,7 @@ void Memory::Private::stop_update_task() { } Memory::Memory() - : UI::Widget::Panel ("", "dialogs.memory", SP_VERB_HELP_MEMORY, _("Recalculate")), + : UI::Widget::Panel ("", "/dialogs/memory", SP_VERB_HELP_MEMORY, _("Recalculate")), _private(*(new Memory::Private())) { _getContents()->add(_private.view); diff --git a/src/ui/dialog/memory.h b/src/ui/dialog/memory.h index 6f832f3e1..48dcc8f09 100644 --- a/src/ui/dialog/memory.h +++ b/src/ui/dialog/memory.h @@ -1,11 +1,10 @@ -/** - * \brief Memory statistics dialog - * - * Authors: +/** @file + * @brief Memory statistics dialog + */ +/* Authors: * MenTaLguY * * Copyright 2005 Authors - * * Released under GNU GPL. Read the file 'COPYING' for more information. */ diff --git a/src/ui/dialog/messages.cpp b/src/ui/dialog/messages.cpp index 7eaf23f50..958256310 100644 --- a/src/ui/dialog/messages.cpp +++ b/src/ui/dialog/messages.cpp @@ -1,9 +1,7 @@ -/* - * A very simple dialog for displaying Inkscape messages. Messages - * sent to g_log(), g_warning(), g_message(), ets, are routed here, - * in order to avoid messing with the startup console. - * - * Authors: +/** @file + * @brief Messages dialog - implementation + */ +/* Authors: * Bob Jamison * Other dudes from The Inkscape Organization * @@ -46,7 +44,7 @@ void Messages::clear() * Constructor */ Messages::Messages() - : UI::Widget::Panel("", "dialogs.messages", SP_VERB_DIALOG_DEBUG) + : UI::Widget::Panel("", "/dialogs/messages", SP_VERB_DIALOG_DEBUG) { Gtk::Box *contents = _getContents(); @@ -183,6 +181,13 @@ void Messages::releaseLogMessages() } //namespace UI } //namespace Inkscape -//######################################################################### -//## E N D O F F I L E -//######################################################################### +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/ui/dialog/messages.h b/src/ui/dialog/messages.h index 8dcb718cc..b0a9d812b 100644 --- a/src/ui/dialog/messages.h +++ b/src/ui/dialog/messages.h @@ -1,16 +1,15 @@ -/* - * \brief Messages Dialog +/** @file + * @brief Messages dialog * * A very simple dialog for displaying Inkscape messages. Messages * sent to g_log(), g_warning(), g_message(), ets, are routed here, * in order to avoid messing with the startup console. - * - * Authors: + */ +/* Authors: * Bob Jamison * Other dudes from The Inkscape Organization * * Copyright (C) 2004, 2005 Authors - * * Released under GNU GPL, read the file 'COPYING' for more information */ diff --git a/src/ui/dialog/ocaldialogs.cpp b/src/ui/dialog/ocaldialogs.cpp index de22c16d6..ba572336c 100644 --- a/src/ui/dialog/ocaldialogs.cpp +++ b/src/ui/dialog/ocaldialogs.cpp @@ -1,7 +1,7 @@ -/** - * Implementation of the ocal dialog interfaces defined in ocaldialog.h - * - * Authors: +/** @file + * @brief Open Clip Art Library integration dialogs - implementation + */ +/* Authors: * Bruno Dilly * Other dudes from The Inkscape Organization * @@ -309,7 +309,7 @@ void FileListViewText::on_cursor_changed() //Inkscape::Preferences *prefs = Inkscape::Preferences::get(); //Glib::ustring fileUrl = "dav://"; //dav url - //fileUrl.append(prefs->getString("options.ocalurl", "str")); + //fileUrl.append(prefs->getString("/options/ocalurl/str")); //fileUrl.append("/dav.php/"); //fileUrl.append(get_text(posArray[0], 3)); //author dir //fileUrl.append("/"); @@ -425,7 +425,7 @@ void FileImportFromOCALDialog::searchTagEntryChangedCallback() Glib::ustring searchTag = searchTagEntry->get_text(); // create the ocal uri to get rss feed Glib::ustring uri = "http://"; - uri.append(prefs->getString("options.ocalurl", "str")); + uri.append(prefs->getString("/options/ocalurl/str")); uri.append("/media/feed/rss/"); uri.append(searchTag); if (!Glib::get_charset()) //If we are not utf8 diff --git a/src/ui/dialog/ocaldialogs.h b/src/ui/dialog/ocaldialogs.h index 0953e76bc..75d57fc59 100644 --- a/src/ui/dialog/ocaldialogs.h +++ b/src/ui/dialog/ocaldialogs.h @@ -1,17 +1,16 @@ -#ifndef __OCAL_DIALOG_H__ -#define __OCAL_DIALOG_H__ -/** - * Defines the FileExportToOCALDialog, FileImportFromOCALDialog and - * FileExportToOCALPasswordDialog and their supporting classes. - * - * Authors: +/** @file + * @brief Open Clip Art Library integration dialogs + */ +/* Authors: * Bruno Dilly * Inkscape Guys * * Copyright (C) 2007 Bruno Dilly - * * Released under GNU GPL, read the file 'COPYING' for more information */ + +#ifndef __OCAL_DIALOG_H__ +#define __OCAL_DIALOG_H__ #include #include @@ -45,7 +44,6 @@ #endif //Inkscape includes -#include "prefs-utils.h" #include #include #include diff --git a/src/ui/dialog/panel-dialog.h b/src/ui/dialog/panel-dialog.h index eebd323d6..f087f40e4 100644 --- a/src/ui/dialog/panel-dialog.h +++ b/src/ui/dialog/panel-dialog.h @@ -1,11 +1,10 @@ -/** - * \brief A panel holding dialog - * - * Authors: +/** @file + * @brief A panel holding dialog + */ +/* Authors: * Gustav Broberg * * Copyright (C) 2007 Authors - * * Released under GNU GPL. Read the file 'COPYING' for more information. */ @@ -23,7 +22,7 @@ #include "dialogs/swatches.h" #include "ui/dialog/floating-behavior.h" #include "ui/dialog/dock-behavior.h" -#include "prefs-utils.h" +#include "preferences.h" namespace Inkscape { namespace UI { @@ -147,7 +146,8 @@ PanelDialog::PanelDialog(Panel &panel, char const *prefs_path, int const verb _document_replaced_connection = desktop->connectDocumentReplaced(sigc::mem_fun(*this, &PanelDialog::_propagateDocumentReplaced)); - if (prefs_get_int_attribute ("dialogs", "showclose", 0) || !apply_label.empty()) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/dialogs/showclose") || !apply_label.empty()) { // TODO: make the order of buttons obey the global preference if (!apply_label.empty()) { panel.addResponseButton(apply_label, Gtk::RESPONSE_APPLY); @@ -198,7 +198,8 @@ PanelDialog::PanelDialog(Panel &panel, char const *p _document_replaced_connection = desktop->connectDocumentReplaced(sigc::mem_fun(*this, &PanelDialog::_propagateDocumentReplaced)); - if (prefs_get_int_attribute ("dialogs", "showclose", 0) || !apply_label.empty()) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/dialogs/showclose") || !apply_label.empty()) { // TODO: make the order of buttons obey the global preference if (!apply_label.empty()) { panel.addResponseButton(apply_label, Gtk::RESPONSE_APPLY); diff --git a/src/ui/dialog/print.cpp b/src/ui/dialog/print.cpp index 9e848bd6a..b2094f540 100644 --- a/src/ui/dialog/print.cpp +++ b/src/ui/dialog/print.cpp @@ -1,11 +1,10 @@ -/** - * \brief Print dialog - * - * Authors: +/** @file + * @brief Print dialog + */ +/* Authors: * Kees Cook * * Copyright (C) 2007 Kees Cook - * * Released under GNU GPL. Read the file 'COPYING' for more information. */ @@ -260,3 +259,14 @@ Gtk::PrintOperationResult Print::run(Gtk::PrintOperationAction, Gtk::Window &par } // namespace Dialog } // namespace UI } // namespace Inkscape + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/ui/dialog/print.h b/src/ui/dialog/print.h index f6c69bdb8..ea89ebdf2 100644 --- a/src/ui/dialog/print.h +++ b/src/ui/dialog/print.h @@ -1,11 +1,10 @@ -/** - * \brief Print dialog - * - * Authors: +/** @file + * @brief Print dialog + */ +/* Authors: * Kees Cook * * Copyright (C) 2007 Kees Cook - * * Released under GNU GPL. Read the file 'COPYING' for more information. */ diff --git a/src/ui/dialog/scriptdialog.cpp b/src/ui/dialog/scriptdialog.cpp index 7b299b700..0e8a23baf 100644 --- a/src/ui/dialog/scriptdialog.cpp +++ b/src/ui/dialog/scriptdialog.cpp @@ -1,7 +1,7 @@ -/** - * Dialog for executing and monitoring script execution - * - * Author: +/** @file + * @brief Dialog for executing and monitoring script execution + */ +/* Author: * Bob Jamison * * Copyright (C) 2004-2008 Authors @@ -270,9 +270,13 @@ ScriptDialog &ScriptDialog::getInstance() } //namespace UI } //namespace Inkscape -//######################################################################### -//## E N D O F F I L E -//######################################################################### - - - +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/ui/dialog/scriptdialog.h b/src/ui/dialog/scriptdialog.h index 780d44a92..d0021ce68 100644 --- a/src/ui/dialog/scriptdialog.h +++ b/src/ui/dialog/scriptdialog.h @@ -1,10 +1,10 @@ -#ifndef __SCRIPTDIALOG_H__ -#define __SCRIPTDIALOG_H__ -/* - * This dialog is for launching scripts whose main purpose if - * the scripting of Inkscape itself. +/** @file + * @brief Script dialog * - * Authors: + * This dialog is for launching scripts whose main purpose is + * the scripting of Inkscape itself. + */ +/* Authors: * Bob Jamison * Other dudes from The Inkscape Organization * @@ -13,6 +13,8 @@ * Released under GNU GPL, read the file 'COPYING' for more information */ +#ifndef __SCRIPTDIALOG_H__ +#define __SCRIPTDIALOG_H__ #include "ui/widget/panel.h" #include "verbs.h" @@ -35,7 +37,7 @@ class ScriptDialog : public UI::Widget::Panel * Constructor */ ScriptDialog() : - UI::Widget::Panel("", "dialogs.script", SP_VERB_DIALOG_SCRIPT) + UI::Widget::Panel("", "/dialogs/script", SP_VERB_DIALOG_SCRIPT) {} @@ -62,8 +64,15 @@ class ScriptDialog : public UI::Widget::Panel } //namespace UI } //namespace Inkscape - - - #endif /* __DEBUGDIALOG_H__ */ +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/ui/dialog/session-player.cpp b/src/ui/dialog/session-player.cpp index b378c0b5a..b9a44fd98 100644 --- a/src/ui/dialog/session-player.cpp +++ b/src/ui/dialog/session-player.cpp @@ -1,11 +1,10 @@ -/** - * Whiteboard session playback control dialog - * - * Authors: +/** @file + * @brief Whiteboard session playback control dialog - implementation + */ +/* Authors: * David Yip * * Copyright (c) 2005 Authors - * * Released under GNU GPL, read the file 'COPYING' for more information */ @@ -228,3 +227,14 @@ SessionPlaybackDialogImpl::_respCallback(int resp) } } + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/ui/dialog/session-player.h b/src/ui/dialog/session-player.h index fd2945bb0..52377a73f 100644 --- a/src/ui/dialog/session-player.h +++ b/src/ui/dialog/session-player.h @@ -1,11 +1,10 @@ -/** - * Whiteboard session playback control dialog - * - * Authors: +/** @file + * @brief Whiteboard session playback control dialog + */ +/* Authors: * David Yip * * Copyright (c) 2005 Authors - * * Released under GNU GPL, read the file 'COPYING' for more information */ @@ -38,7 +37,7 @@ namespace Dialog { class SessionPlaybackDialog : public Dialog { public: - SessionPlaybackDialog() : Dialog("dialogs.session_playback", SP_VERB_DIALOG_WHITEBOARD_SESSIONPLAYBACK) + SessionPlaybackDialog() : Dialog("/dialogs/session_playback", SP_VERB_DIALOG_WHITEBOARD_SESSIONPLAYBACK) { } @@ -122,3 +121,14 @@ private: } #endif + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/ui/dialog/svg-fonts-dialog.cpp b/src/ui/dialog/svg-fonts-dialog.cpp index fa81e84ca..6a27f6048 100644 --- a/src/ui/dialog/svg-fonts-dialog.cpp +++ b/src/ui/dialog/svg-fonts-dialog.cpp @@ -1,11 +1,10 @@ -/** - * \brief SVG Fonts dialog - * - * Authors: +/** @file + * @brief SVG Fonts dialog - implementation + */ +/* Authors: * Felipe C. da S. Sanches * * Copyright (C) 2008 Authors - * * Released under GNU GPLv2 (or later). Read the file 'COPYING' for more information. */ @@ -249,12 +248,12 @@ Gtk::VBox* SvgFontsDialog::global_settings_tab(){ Gtk::VBox* global_vbox = Gtk::manage(new Gtk::VBox()); AttrEntry* familyname; - familyname = new AttrEntry(this, (gchar*) "Family Name", SP_PROP_FONT_FAMILY); + familyname = new AttrEntry(this, (gchar*) _("Family Name:"), SP_PROP_FONT_FAMILY); global_vbox->add(*familyname); - global_vbox->add(*AttrCombo((gchar*) "Style", SP_PROP_FONT_STYLE)); - global_vbox->add(*AttrCombo((gchar*) "Variant", SP_PROP_FONT_VARIANT)); - global_vbox->add(*AttrCombo((gchar*) "Weight", SP_PROP_FONT_WEIGHT)); + global_vbox->add(*AttrCombo((gchar*) _("Style:"), SP_PROP_FONT_STYLE)); + global_vbox->add(*AttrCombo((gchar*) _("Variant:"), SP_PROP_FONT_VARIANT)); + global_vbox->add(*AttrCombo((gchar*) _("Weight:"), SP_PROP_FONT_WEIGHT)); //Set Width (horiz_adv_x): Gtk::HBox* setwidth_hbox = Gtk::manage(new Gtk::HBox()); @@ -271,8 +270,8 @@ Gtk::VBox* SvgFontsDialog::global_settings_tab(){ Gtk::VBox* SvgFontsDialog::glyphs_tab(){ Gtk::VBox* glyphs_vbox = Gtk::manage(new Gtk::VBox()); - glyphs_vbox->add(*new SvgFontsDialog::AttrEntry(this, (gchar*) "Glyph Name", SP_ATTR_GLYPH_NAME)); - glyphs_vbox->add(*new SvgFontsDialog::AttrEntry(this, (gchar*) "Unicode", SP_ATTR_UNICODE)); + glyphs_vbox->add(*new SvgFontsDialog::AttrEntry(this, (gchar*) _("Glyph Name:"), SP_ATTR_GLYPH_NAME)); + glyphs_vbox->add(*new SvgFontsDialog::AttrEntry(this, (gchar*) _("Unicode:"), SP_ATTR_UNICODE)); //glyphs_vbox->add(*AttrSpin((gchar*) "Horizontal Advance"), SP_ATTR_HORIZ_ADV_X); //glyphs_vbox->add(*AttrCombo((gchar*) "Missing Glyph"), SP_ATTR_); ? return glyphs_vbox; @@ -309,7 +308,7 @@ Gtk::VBox* SvgFontsDialog::kerning_tab(){ } SvgFontsDialog::SvgFontsDialog() - : UI::Widget::Panel("", "dialogs.svgfonts", SP_VERB_DIALOG_SVG_FONTS) + : UI::Widget::Panel("", "/dialogs/svgfonts", SP_VERB_DIALOG_SVG_FONTS) { Gtk::HBox* hbox = Gtk::manage(new Gtk::HBox()); hbox->add(_font_list); diff --git a/src/ui/dialog/svg-fonts-dialog.h b/src/ui/dialog/svg-fonts-dialog.h index 8502a3468..f7d13a714 100644 --- a/src/ui/dialog/svg-fonts-dialog.h +++ b/src/ui/dialog/svg-fonts-dialog.h @@ -1,11 +1,10 @@ -/** - * \brief SVG Fonts dialog - * - * Authors: +/** @file + * @brief SVG Fonts dialog + */ +/* Authors: * Felipe Corrêa da Silva Sanches * * Copyright (C) 2008 Authors - * * Released under GNU GPLv2 (or later). Read the file 'COPYING' for more information. */ diff --git a/src/ui/dialog/tracedialog.cpp b/src/ui/dialog/tracedialog.cpp index 84d7978fb..6ec2da5de 100644 --- a/src/ui/dialog/tracedialog.cpp +++ b/src/ui/dialog/tracedialog.cpp @@ -1,8 +1,7 @@ -/* - * A simple dialog for setting the parameters for autotracing a - * bitmap into an svg - * - * Authors: +/** @file + * @brief Bitmap tracing settings dialog - implementation + */ +/* Authors: * Bob Jamison * Stéphane Gimenez * Other dudes from The Inkscape Organization diff --git a/src/ui/dialog/tracedialog.h b/src/ui/dialog/tracedialog.h index 0933aee3b..9dc084cd6 100644 --- a/src/ui/dialog/tracedialog.h +++ b/src/ui/dialog/tracedialog.h @@ -1,18 +1,16 @@ -#ifndef __TRACEDIALOG_H__ -#define __TRACEDIALOG_H__ -/* - * A simple dialog for setting the parameters for autotracing a - * bitmap into an svg - * - * Authors: +/** @file + * @brief Bitmap tracing settings dialog + */ +/* Authors: * Bob Jamison * Other dudes from The Inkscape Organization * * Copyright (C) 2004, 2005 Authors - * * Released under GNU GPL, read the file 'COPYING' for more information */ +#ifndef __TRACEDIALOG_H__ +#define __TRACEDIALOG_H__ #include "verbs.h" #include "ui/widget/panel.h" @@ -34,7 +32,7 @@ public: * Constructor */ TraceDialog() : - UI::Widget::Panel("", "dialogs.trace", SP_VERB_SELECTION_TRACE) + UI::Widget::Panel("", "/dialogs/trace", SP_VERB_SELECTION_TRACE) {} @@ -56,8 +54,15 @@ public: } //namespace UI } //namespace Inkscape - - - #endif /* __TRACEDIALOG_H__ */ +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : diff --git a/src/ui/dialog/transformation.cpp b/src/ui/dialog/transformation.cpp index 5927dc740..899053cc9 100644 --- a/src/ui/dialog/transformation.cpp +++ b/src/ui/dialog/transformation.cpp @@ -1,12 +1,11 @@ -/** - * \brief Object Transformation dialog - * - * Authors: +/** @file + * \brief Transform dialog - implementation + */ +/* Authors: * Bryce W. Harrington * buliabyak@gmail.com * * Copyright (C) 2004, 2005 Authors - * * Released under GNU GPL. Read the file 'COPYING' for more information. */ @@ -26,7 +25,7 @@ #include "selection.h" #include "selection-chemistry.h" #include "verbs.h" -#include "prefs-utils.h" +#include "preferences.h" #include "sp-item-transform.h" #include "macros.h" #include "sp-item.h" @@ -74,7 +73,7 @@ void on_selection_modified( Inkscape::Application */*inkscape*/, * */ Transformation::Transformation() - : UI::Widget::Panel ("", "dialogs.transformation", SP_VERB_DIALOG_TRANSFORM), + : UI::Widget::Panel ("", "/dialogs/transformation", SP_VERB_DIALOG_TRANSFORM), _page_move (4, 2), _page_scale (4, 2), _page_rotate (4, 2), @@ -134,7 +133,8 @@ Transformation::Transformation() // Apply separately contents->pack_start(_check_apply_separately, true, true); - _check_apply_separately.set_active(prefs_get_int_attribute_limited ("dialogs.transformation", "applyseparately", 0, 0, 1)); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + _check_apply_separately.set_active(prefs->getBool("/dialogs/transformation/applyseparately")); _check_apply_separately.signal_toggled().connect(sigc::mem_fun(*this, &Transformation::onApplySeparatelyToggled)); // make sure all spinbuttons activate Apply on pressing Enter @@ -599,7 +599,8 @@ Transformation::applyPageMove(Inkscape::Selection *selection) double x = _scalar_move_horizontal.getValue("px"); double y = _scalar_move_vertical.getValue("px"); - if (prefs_get_int_attribute_limited ("dialogs.transformation", "applyseparately", 0, 0, 1) == 0) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (!prefs->getBool("/dialogs/transformation/applyseparately")) { // move selection as a whole if (_check_move_relative.get_active()) { sp_selection_move_relative(selection, x, y); @@ -686,7 +687,8 @@ Transformation::applyPageScale(Inkscape::Selection *selection) double scaleX = _scalar_scale_horizontal.getValue("px"); double scaleY = _scalar_scale_vertical.getValue("px"); - if (prefs_get_int_attribute_limited ("dialogs.transformation", "applyseparately", 0, 0, 1) == 1) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/dialogs/transformation/applyseparately")) { for (GSList const *l = selection->itemList(); l != NULL; l = l->next) { SPItem *item = SP_ITEM(l->data); Geom::Scale scale (0,0); @@ -741,7 +743,8 @@ Transformation::applyPageRotate(Inkscape::Selection *selection) { double angle = _scalar_rotate.getValue("deg"); - if (prefs_get_int_attribute_limited ("dialogs.transformation", "applyseparately", 0, 0, 1) == 1) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/dialogs/transformation/applyseparately")) { for (GSList const *l = selection->itemList(); l != NULL; l = l->next) { SPItem *item = SP_ITEM(l->data); sp_item_rotate_rel(item, Geom::Rotate (angle*M_PI/180.0)); @@ -760,7 +763,8 @@ Transformation::applyPageRotate(Inkscape::Selection *selection) void Transformation::applyPageSkew(Inkscape::Selection *selection) { - if (prefs_get_int_attribute_limited ("dialogs.transformation", "applyseparately", 0, 0, 1) == 1) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/dialogs/transformation/applyseparately")) { for (GSList const *l = selection->itemList(); l != NULL; l = l->next) { SPItem *item = SP_ITEM(l->data); @@ -826,7 +830,7 @@ Transformation::applyPageTransform(Inkscape::Selection *selection) double e = _scalar_transform_e.getValue(); double f = _scalar_transform_f.getValue(); - NR::Matrix displayed(a, b, c, d, e, f); + Geom::Matrix displayed(a, b, c, d, e, f); if (_check_replace_matrix.get_active()) { for (GSList const *l = selection->itemList(); l != NULL; l = l->next) { @@ -1046,7 +1050,8 @@ Transformation::onClear() void Transformation::onApplySeparatelyToggled() { - prefs_set_int_attribute ("dialogs.transformation", "applyseparately", _check_apply_separately.get_active()? 1 : 0); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setBool("/dialogs/transformation/applyseparately", _check_apply_separately.get_active()); } @@ -1054,8 +1059,6 @@ Transformation::onApplySeparatelyToggled() } // namespace UI } // namespace Inkscape - - /* Local Variables: mode:c++ diff --git a/src/ui/dialog/transformation.h b/src/ui/dialog/transformation.h index e64353f5a..9d05713ad 100644 --- a/src/ui/dialog/transformation.h +++ b/src/ui/dialog/transformation.h @@ -1,11 +1,10 @@ -/** - * \brief Object Transformation dialog - * - * Author: +/** @file + * @brief Transform dialog + */ +/* Author: * Bryce W. Harrington * * Copyright (C) 2004, 2005 Authors - * * Released under GNU GPL. Read the file 'COPYING' for more information. */ diff --git a/src/ui/dialog/undo-history.cpp b/src/ui/dialog/undo-history.cpp index f2f51a780..2dec1e2d4 100644 --- a/src/ui/dialog/undo-history.cpp +++ b/src/ui/dialog/undo-history.cpp @@ -1,11 +1,10 @@ -/** - * \brief Undo History dialog - * - * Author: +/** @file + * @brief Undo History dialog - implementation + */ +/* Author: * Gustav Broberg * * Copyright (C) 2006 Authors - * * Released under GNU GPL. Read the file 'COPYING' for more information. */ @@ -125,7 +124,7 @@ UndoHistory::setDesktop(SPDesktop* desktop) } UndoHistory::UndoHistory() - : UI::Widget::Panel ("", "dialogs.undo-history", SP_VERB_DIALOG_UNDO_HISTORY), + : UI::Widget::Panel ("", "/dialogs/undo-history", SP_VERB_DIALOG_UNDO_HISTORY), _document (sp_desktop_document(getDesktop())), _event_log (getDesktop() ? getDesktop()->event_log : NULL), _columns (_event_log ? &_event_log->getColumns() : NULL), diff --git a/src/ui/dialog/undo-history.h b/src/ui/dialog/undo-history.h index 070a1eb22..82e04f3c9 100644 --- a/src/ui/dialog/undo-history.h +++ b/src/ui/dialog/undo-history.h @@ -1,16 +1,10 @@ -/** - * Undo History dialog - * - * \brief A dialog for presenting an event log of commited, undone and redone events. Allows the - * user to undo and redo multiple events in a more convenient way than repateaded ctrl-z, - * ctrl-shift-z. - * - * - * Author: +/** @file + * @brief Undo History dialog + */ +/* Author: * Gustav Broberg * * Copyright (C) 2006 Authors - * * Released under GNU GPL. Read the file 'COPYING' for more information. */ @@ -111,11 +105,12 @@ private: struct NoFilter : Filter { bool operator() (const int& /*x*/) const { return true; } }; }; - /** - * + * \brief Dialog for presenting document change history + * + * This dialog allows the user to undo and redo multiple events in a more convenient way + * than repateaded ctrl-z, ctrl-shift-z. */ - class UndoHistory : public Widget::Panel { public: virtual ~UndoHistory(); diff --git a/src/ui/dialog/whiteboard-connect.cpp b/src/ui/dialog/whiteboard-connect.cpp index f91d4a607..b18ed99d4 100644 --- a/src/ui/dialog/whiteboard-connect.cpp +++ b/src/ui/dialog/whiteboard-connect.cpp @@ -1,12 +1,15 @@ -/** - * Whiteboard connection establishment dialog - * - * Authors: - * David Yip - * Jason Segal, Jonas Collaros, Stephen Montgomery, Brandi Soggs, Matthew Weinstock (original C/Gtk version) +/** @file + * @brief Whiteboard connection dialog - implementation + */ +/* Authors: + * David Yip + * Jason Segal + * Jonas Collaros + * Stephen Montgomery + * Brandi Soggs + * Matthew Weinstock (original C/Gtk version) * * Copyright (c) 2004-2005 Authors - * * Released under GNU GPL, read the file 'COPYING' for more information */ @@ -83,11 +86,11 @@ WhiteboardConnectDialogImpl::_construct() this->_labels[3].set_mnemonic_widget(this->_port); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - this->_server.set_text(prefs->getString("whiteboard.server", "name")); + this->_server.set_text(prefs->getString("/whiteboard/server/name")); /// @todo Convert port to an integer preference? - this->_port.set_text(prefs->getString("whiteboard.server", "port")); - this->_username.set_text(prefs->getString("whiteboard.server", "username")); - this->_usessl.set_active(prefs->getBool("whiteboard.server", "ssl", false); + this->_port.set_text(prefs->getString("/whiteboard/server/port")); + this->_username.set_text(prefs->getString("/whiteboard/server/username")); + this->_usessl.set_active(prefs->getBool("/whiteboard/server/ssl", false); this->_layout.attach(this->_labels[0], 0, 1, 0, 1); this->_layout.attach(this->_labels[1], 0, 1, 1, 2); @@ -236,7 +239,7 @@ WhiteboardConnectDialogImpl::_respCallback(int resp) this->_desktop->messageStack()->flash(INFORMATION_MESSAGE, msg.data()); // Save preferences - prefs->setString(this->_prefs_path, "server", this->_server.get_text()); + prefs->setString(this->_prefs_path + "/server", this->_server.get_text()); break; default: break; @@ -274,7 +277,7 @@ WhiteboardConnectDialogImpl::_respCallback(int resp) this->_desktop->messageStack()->flash(INFORMATION_MESSAGE, msg.data()); // Save preferences - prefs->setString(this->_prefs_path, "server", this->_server.get_text()); + prefs->setString(this->_prefs_path + "/server", this->_server.get_text()); break; default: break; diff --git a/src/ui/dialog/whiteboard-connect.h b/src/ui/dialog/whiteboard-connect.h index b96f1ce3b..8b34215f9 100644 --- a/src/ui/dialog/whiteboard-connect.h +++ b/src/ui/dialog/whiteboard-connect.h @@ -1,12 +1,15 @@ -/** - * Whiteboard connection establishment dialog - * - * Authors: - * David Yip - * Jason Segal, Jonas Collaros, Stephen Montgomery, Brandi Soggs, Matthew Weinstock (original C/Gtk version) +/** @file + * @brief Whiteboard connection dialog + */ +/* Authors: + * David Yip + * Jason Segal + * Jonas Collaros + * Stephen Montgomery + * Brandi Soggs + * Matthew Weinstock (original C/Gtk version) * * Copyright (c) 2004-2005 Authors - * * Released under GNU GPL, read the file 'COPYING' for more information */ @@ -34,7 +37,7 @@ namespace Dialog { class WhiteboardConnectDialog : public Dialog { public: - WhiteboardConnectDialog() : Dialog("dialogs.whiteboard_connect", SP_VERB_DIALOG_WHITEBOARD_CONNECT) + WhiteboardConnectDialog() : Dialog("/dialogs/whiteboard_connect", SP_VERB_DIALOG_WHITEBOARD_CONNECT) { } diff --git a/src/ui/dialog/whiteboard-sharewithchat.cpp b/src/ui/dialog/whiteboard-sharewithchat.cpp index 4e9ea7abf..3315a7029 100644 --- a/src/ui/dialog/whiteboard-sharewithchat.cpp +++ b/src/ui/dialog/whiteboard-sharewithchat.cpp @@ -1,13 +1,15 @@ -/** - * @file - * @brief Whiteboard share with chatroom dialog - * - * Authors: - * David Yip - * Jason Segal, Jonas Collaros, Stephen Montgomery, Brandi Soggs, Matthew Weinstock (original C/Gtk version) +/** @file + * @brief Whiteboard share with chatroom dialog - implementation + */ +/* Authors: + * David Yip + * Jason Segal + * Jonas Collaros + * Stephen Montgomery + * Brandi Soggs + * Matthew Weinstock (original C/Gtk version) * * Copyright (c) 2004-2005 Authors - * * Released under GNU GPL, read the file 'COPYING' for more information */ @@ -82,9 +84,9 @@ WhiteboardShareWithChatroomDialogImpl::_construct() this->_labels[3].set_mnemonic_widget(this->_handle); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - this->_roomname.set_text(prefs->getString("whiteboard.room", "name")); - this->_confserver.set_text(prefs->getString("whiteboard.room", "server")); - this->_handle.set_text(prefs->getString("whiteboard.server", "username")); + this->_roomname.set_text(prefs->getString("/whiteboard/room/name")); + this->_confserver.set_text(prefs->getString("/whiteboard/room/server")); + this->_handle.set_text(prefs->getString("/whiteboard/server/username")); // Pack table this->_layout.attach(this->_labels[0], 0, 1, 0, 1); diff --git a/src/ui/dialog/whiteboard-sharewithchat.h b/src/ui/dialog/whiteboard-sharewithchat.h index 898f8da26..4a6c2fc89 100644 --- a/src/ui/dialog/whiteboard-sharewithchat.h +++ b/src/ui/dialog/whiteboard-sharewithchat.h @@ -1,12 +1,15 @@ -/** - * Whiteboard share with chatroom dialog - * - * Authors: - * David Yip - * Jason Segal, Jonas Collaros, Stephen Montgomery, Brandi Soggs, Matthew Weinstock (original C/Gtk version) +/** @file + * @brief Whiteboard share with chatroom dialog + */ +/* Authors: + * David Yip + * Jason Segal + * Jonas Collaros + * Stephen Montgomery + * Brandi Soggs + * Matthew Weinstock (original C/Gtk version) * * Copyright (c) 2004-2005 Authors - * * Released under GNU GPL, read the file 'COPYING' for more information */ @@ -35,7 +38,7 @@ namespace Dialog { class WhiteboardShareWithChatroomDialog : public Dialog { public: - WhiteboardShareWithChatroomDialog() : Dialog("dialogs.whiteboard_sharewithuser", SP_VERB_DIALOG_WHITEBOARD_SHAREWITHUSER) + WhiteboardShareWithChatroomDialog() : Dialog("/dialogs/whiteboard_sharewithuser", SP_VERB_DIALOG_WHITEBOARD_SHAREWITHUSER) { } diff --git a/src/ui/dialog/whiteboard-sharewithuser.cpp b/src/ui/dialog/whiteboard-sharewithuser.cpp index ebe91f0f3..bb3761f31 100644 --- a/src/ui/dialog/whiteboard-sharewithuser.cpp +++ b/src/ui/dialog/whiteboard-sharewithuser.cpp @@ -1,7 +1,7 @@ -/** - * Whiteboard share with user dialog - * - * Authors: +/** @file + * Whiteboard share with user dialog - implementation + */ +/* Authors: * David Yip * Jason Segal, Jonas Collaros, Stephen Montgomery, Brandi Soggs, Matthew Weinstock (original C/Gtk version) * diff --git a/src/ui/dialog/whiteboard-sharewithuser.h b/src/ui/dialog/whiteboard-sharewithuser.h index ad0870707..24ec91be5 100644 --- a/src/ui/dialog/whiteboard-sharewithuser.h +++ b/src/ui/dialog/whiteboard-sharewithuser.h @@ -1,7 +1,7 @@ -/** - * Whiteboard share with user dialog - * - * Authors: +/** @file + * @brief Whiteboard share with user dialog + */ +/* Authors: * David Yip * Jason Segal, Jonas Collaros, Stephen Montgomery, Brandi Soggs, Matthew Weinstock (original C/Gtk version) * @@ -33,7 +33,7 @@ namespace Inkscape { class WhiteboardShareWithUserDialog : public Dialog { public: - WhiteboardShareWithUserDialog() : Dialog("dialogs.whiteboard_sharewithuser", SP_VERB_DIALOG_WHITEBOARD_SHAREWITHUSER) + WhiteboardShareWithUserDialog() : Dialog("/dialogs/whiteboard_sharewithuser", SP_VERB_DIALOG_WHITEBOARD_SHAREWITHUSER) { } diff --git a/src/ui/view/edit-widget.cpp b/src/ui/view/edit-widget.cpp index 67091fc40..5e7713044 100644 --- a/src/ui/view/edit-widget.cpp +++ b/src/ui/view/edit-widget.cpp @@ -46,7 +46,7 @@ #include "macros.h" #include "path-prefix.h" -#include "prefs-utils.h" +#include "preferences.h" #include "file.h" #include "application/editor.h" #include "edit-widget.h" @@ -1056,9 +1056,9 @@ EditWidget::initRightScrollbar() void EditWidget::initStickyZoom() { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); _viewport_table.attach(_sticky_zoom, 2, 3, 0, 1, Gtk::SHRINK, Gtk::SHRINK); - - _sticky_zoom.set_active (prefs_get_int_attribute ("options.stickyzoom", "value", 0) != 0); + _sticky_zoom.set_active (prefs->getBool("/options/stickyzoom/value")); _tooltips.set_tip (_sticky_zoom, _("Zoom drawing if window size changes")); /// \todo icon not implemented @@ -1437,30 +1437,32 @@ EditWidget::updateScrollbars (double scale) void EditWidget::toggleRulers() { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); if (_top_ruler.is_visible()) { _top_ruler.hide_all(); _left_ruler.hide_all(); - prefs_set_int_attribute (_desktop->is_fullscreen() ? "fullscreen.rulers" : "window.rulers", "state", 0); + prefs->setBool(_desktop->is_fullscreen() ? "/fullscreen/rulers/state" : "/window/rulers/state", false); } else { _top_ruler.show_all(); _left_ruler.show_all(); - prefs_set_int_attribute (_desktop->is_fullscreen() ? "fullscreen.rulers" : "window.rulers", "state", 1); + prefs->setBool(_desktop->is_fullscreen() ? "/fullscreen/rulers/state" : "/window/rulers/state", true); } } void EditWidget::toggleScrollbars() { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); if (_bottom_scrollbar.is_visible()) { _bottom_scrollbar.hide_all(); _right_scrollbar.hide_all(); - prefs_set_int_attribute (_desktop->is_fullscreen() ? "fullscreen.scrollbars" : "window.scrollbars", "state", 0); + prefs->setBool(_desktop->is_fullscreen() ? "/fullscreen/scrollbars/state" : "/window/scrollbars/state", false); } else { _bottom_scrollbar.show_all(); _right_scrollbar.show_all(); - prefs_set_int_attribute (_desktop->is_fullscreen() ? "fullscreen.scrollbars" : "window.scrollbars", "state", 1); + prefs->setBool(_desktop->is_fullscreen() ? "/fullscreen/scrollbars/state" : "/window/scrollbars/state", true); } } @@ -1662,8 +1664,8 @@ EditWidget::onWindowSizeAllocate (Gtk::Allocation &newall) void EditWidget::onWindowRealize() { - NR::Rect d(Geom::Point(0, 0), - Geom::Point(sp_document_width(_desktop->doc()), sp_document_height(_desktop->doc()))); + NR::Rect d( Geom::Point(0, 0), + Geom::Point(sp_document_width(_desktop->doc()), sp_document_height(_desktop->doc())) ); if (d.isEmpty(1.0)) { return; diff --git a/src/ui/widget/dock-item.cpp b/src/ui/widget/dock-item.cpp index e61b8080e..12a0686f0 100644 --- a/src/ui/widget/dock-item.cpp +++ b/src/ui/widget/dock-item.cpp @@ -12,7 +12,7 @@ #include "dock-item.h" #include "desktop.h" #include "inkscape.h" -#include "prefs-utils.h" +#include "preferences.h" #include "ui/widget/dock.h" #include "widgets/icon.h" @@ -37,11 +37,11 @@ DockItem::DockItem(Dock& dock, const Glib::ustring& name, const Glib::ustring& l _gdl_dock_item(0), _dock_item_action_area(0) { - + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); GdlDockItemBehavior gdl_dock_behavior = - (prefs_get_int_attribute_limited ("options.dock", "cancenterdock", 1, 0, 1) == 0 ? - GDL_DOCK_ITEM_BEH_CANT_DOCK_CENTER - : GDL_DOCK_ITEM_BEH_NORMAL); + (prefs->getBool("/options/dock/cancenterdock", true) ? + GDL_DOCK_ITEM_BEH_NORMAL : + GDL_DOCK_ITEM_BEH_CANT_DOCK_CENTER); if (!icon_name.empty()) { Gtk::Widget *icon = sp_icon_get_icon(icon_name, Inkscape::ICON_SIZE_MENU); diff --git a/src/ui/widget/dock.cpp b/src/ui/widget/dock.cpp index 563ed8e98..3608c3551 100644 --- a/src/ui/widget/dock.cpp +++ b/src/ui/widget/dock.cpp @@ -1,7 +1,7 @@ -/** - * \brief A desktop dock pane to dock dialogs. - * - * Author: +/** @file + * @brief A desktop dock pane to dock dialogs. + */ +/* Author: * Gustav Broberg * * Copyright (C) 2007 Authors @@ -10,7 +10,7 @@ */ #include "inkscape.h" -#include "prefs-utils.h" +#include "preferences.h" #include "desktop.h" #include "dock.h" @@ -74,8 +74,9 @@ Dock::Dock(Gtk::Orientation orientation) _scrolled_window->set_size_request(0); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); GdlSwitcherStyle gdl_switcher_style = - static_cast(prefs_get_int_attribute_limited("options.dock", "switcherstyle", + static_cast(prefs->getIntLimited("/options/dock/switcherstyle", GDL_SWITCHER_STYLE_BOTH, 0, 4)); g_object_set (GDL_DOCK_OBJECT(_gdl_dock)->master, @@ -84,7 +85,7 @@ Dock::Dock(Gtk::Orientation orientation) NULL); GdlDockBarStyle gdl_dock_bar_style = - static_cast(prefs_get_int_attribute_limited("options.dock", "dockbarstyle", + static_cast(prefs->getIntLimited("/options/dock/dockbarstyle", GDL_DOCK_BAR_BOTH, 0, 3)); gdl_dock_bar_set_style(_gdl_dock_bar, gdl_dock_bar_style); diff --git a/src/ui/widget/dock.h b/src/ui/widget/dock.h index dd501f186..c49d71268 100644 --- a/src/ui/widget/dock.h +++ b/src/ui/widget/dock.h @@ -1,7 +1,7 @@ -/** - * \brief A desktop dock pane to dock dialogs, a custom wrapper around gdl-dock. - * - * Author: +/** @file + * @brief A desktop dock pane to dock dialogs, a custom wrapper around gdl-dock. + */ +/* Author: * Gustav Broberg * * Copyright (C) 2007 Authors diff --git a/src/ui/widget/panel.cpp b/src/ui/widget/panel.cpp index 9333ffc35..9811cc89c 100644 --- a/src/ui/widget/panel.cpp +++ b/src/ui/widget/panel.cpp @@ -26,7 +26,7 @@ #include "panel.h" #include "icon-size.h" -#include "prefs-utils.h" +#include "preferences.h" #include "desktop-handles.h" #include "inkscape.h" #include "dialogs/eek-preview.h" @@ -94,50 +94,40 @@ void Panel::_init() Glib::ustring tmp("<"); _anchor = Gtk::ANCHOR_CENTER; - guint panel_size = 0; - if (_prefs_path) { - panel_size = prefs_get_int_attribute_limited( _prefs_path, "panel_size", 1, 0, static_cast(PREVIEW_SIZE_HUGE) ); - } - - guint panel_mode = 0; - if (_prefs_path) { - panel_mode = prefs_get_int_attribute_limited( _prefs_path, "panel_mode", 1, 0, 10 ); - } - - guint panel_wrap = 0; - if (_prefs_path) { - panel_wrap = prefs_get_int_attribute_limited( _prefs_path, "panel_wrap", 0, 0, 1 ); - } - - guint panel_ratio = 100; - if (_prefs_path) { - panel_ratio = prefs_get_int_attribute_limited( _prefs_path, "panel_ratio", 100, 0, 500 ); + guint panel_size = 0, panel_mode = 0, panel_ratio = 100; + bool panel_wrap = 0; + if (!_prefs_path.empty()) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + panel_wrap = prefs->getBool(_prefs_path + "/panel_wrap"); + panel_size = prefs->getIntLimited(_prefs_path + "/panel_size", 1, 0, PREVIEW_SIZE_HUGE); + panel_mode = prefs->getIntLimited(_prefs_path + "/panel_mode", 1, 0, 10); + panel_ratio = prefs->getIntLimited(_prefs_path + "/panel_ratio", 100, 0, 500 ); } _menu = new Gtk::Menu(); { - Gtk::RadioMenuItem::Group group; - Glib::ustring one_label(_("List")); - Glib::ustring two_label(_("Grid")); - Gtk::RadioMenuItem *one = manage(new Gtk::RadioMenuItem(group, one_label)); - Gtk::RadioMenuItem *two = manage(new Gtk::RadioMenuItem(group, two_label)); - - if (panel_mode == 0) { - one->set_active(true); - } else if (panel_mode == 1) { - two->set_active(true); - } - - _menu->append(*one); - _non_horizontal.push_back(one); - _menu->append(*two); - _non_horizontal.push_back(two); - Gtk::MenuItem* sep = manage(new Gtk::SeparatorMenuItem()); - _menu->append(*sep); - _non_horizontal.push_back(sep); - one->signal_activate().connect(sigc::bind(sigc::mem_fun(*this, &Panel::_bounceCall), PANEL_SETTING_MODE, 0)); - two->signal_activate().connect(sigc::bind(sigc::mem_fun(*this, &Panel::_bounceCall), PANEL_SETTING_MODE, 1)); + Gtk::RadioMenuItem::Group group; + Glib::ustring one_label(_("List")); + Glib::ustring two_label(_("Grid")); + Gtk::RadioMenuItem *one = manage(new Gtk::RadioMenuItem(group, one_label)); + Gtk::RadioMenuItem *two = manage(new Gtk::RadioMenuItem(group, two_label)); + + if (panel_mode == 0) { + one->set_active(true); + } else if (panel_mode == 1) { + two->set_active(true); + } + + _menu->append(*one); + _non_horizontal.push_back(one); + _menu->append(*two); + _non_horizontal.push_back(two); + Gtk::MenuItem* sep = manage(new Gtk::SeparatorMenuItem()); + _menu->append(*sep); + _non_horizontal.push_back(sep); + one->signal_activate().connect(sigc::bind(sigc::mem_fun(*this, &Panel::_bounceCall), PANEL_SETTING_MODE, 0)); + two->signal_activate().connect(sigc::bind(sigc::mem_fun(*this, &Panel::_bounceCall), PANEL_SETTING_MODE, 1)); } { @@ -336,21 +326,14 @@ void Panel::present() void Panel::restorePanelPrefs() { - guint panel_size = 0; - if (_prefs_path) { - panel_size = prefs_get_int_attribute_limited(_prefs_path, "panel_size", 1, 0, static_cast(PREVIEW_SIZE_HUGE)); - } - guint panel_mode = 0; - if (_prefs_path) { - panel_mode = prefs_get_int_attribute_limited(_prefs_path, "panel_mode", 1, 0, 10); - } - guint panel_wrap = 0; - if (_prefs_path) { - panel_wrap = prefs_get_int_attribute_limited(_prefs_path, "panel_wrap", 0, 0, 1 ); - } - guint panel_ratio = 100; - if (_prefs_path) { - panel_ratio = prefs_get_int_attribute_limited(_prefs_path, "panel_ratio", 000, 0, 500 ); + guint panel_size = 0, panel_mode = 0, panel_ratio = 100; + bool panel_wrap = 0; + if (!_prefs_path.empty()) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + panel_wrap = prefs->getBool(_prefs_path + "/panel_wrap"); + panel_size = prefs->getIntLimited(_prefs_path + "/panel_size", 1, 0, PREVIEW_SIZE_HUGE); + panel_mode = prefs->getIntLimited(_prefs_path + "/panel_mode", 1, 0, 10); + panel_ratio = prefs->getIntLimited(_prefs_path + "/panel_ratio", 000, 0, 500 ); } _bounceCall(PANEL_SETTING_SIZE, panel_size); _bounceCall(PANEL_SETTING_MODE, panel_mode); @@ -375,8 +358,9 @@ void Panel::_bounceCall(int i, int j) _menu->set_active(0); switch (i) { case PANEL_SETTING_SIZE: - if (_prefs_path) { - prefs_set_int_attribute(_prefs_path, "panel_size", j); + if (!_prefs_path.empty()) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setInt(_prefs_path + "/panel_size", j); } if (_fillable) { ViewType curr_type = _fillable->getPreviewType(); @@ -413,8 +397,9 @@ void Panel::_bounceCall(int i, int j) } break; case PANEL_SETTING_MODE: - if (_prefs_path) { - prefs_set_int_attribute (_prefs_path, "panel_mode", j); + if (!_prefs_path.empty()) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setInt(_prefs_path + "/panel_mode", j); } if (_fillable) { ::PreviewSize curr_size = _fillable->getPreviewSize(); @@ -436,8 +421,9 @@ void Panel::_bounceCall(int i, int j) } break; case PANEL_SETTING_SHAPE: - if (_prefs_path) { - prefs_set_int_attribute (_prefs_path, "panel_ratio", j); + if (!_prefs_path.empty()) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setInt(_prefs_path + "/panel_ratio", j); } if ( _fillable ) { ViewType curr_type = _fillable->getPreviewType(); @@ -446,8 +432,9 @@ void Panel::_bounceCall(int i, int j) } break; case PANEL_SETTING_WRAP: - if (_prefs_path) { - prefs_set_int_attribute (_prefs_path, "panel_wrap", j ? 1 : 0); + if (!_prefs_path.empty()) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setBool(_prefs_path + "/panel_wrap", j); } if ( _fillable ) { _fillable->setWrap(j); @@ -468,7 +455,7 @@ void Panel::_wrapToggled(Gtk::CheckMenuItem* toggler) gchar const *Panel::getPrefsPath() const { - return _prefs_path; + return _prefs_path.data(); } Glib::ustring const &Panel::getLabel() const diff --git a/src/ui/widget/panel.h b/src/ui/widget/panel.h index 1062ee58e..d42548f16 100644 --- a/src/ui/widget/panel.h +++ b/src/ui/widget/panel.h @@ -92,7 +92,7 @@ protected: /** Tooltips object for all descendants to use */ Gtk::Tooltips _tooltips; - const gchar *_prefs_path; + Glib::ustring const _prefs_path; bool _menu_desired; Gtk::AnchorType _anchor; diff --git a/src/ui/widget/preferences-widget.cpp b/src/ui/widget/preferences-widget.cpp index b11ca2e93..72df1baab 100644 --- a/src/ui/widget/preferences-widget.cpp +++ b/src/ui/widget/preferences-widget.cpp @@ -128,13 +128,12 @@ void DialogPage::set_tip(Gtk::Widget& widget, Glib::ustring const &tip) } void PrefCheckButton::init(Glib::ustring const &label, Glib::ustring const &prefs_path, - Glib::ustring const &attr, bool default_value) + bool default_value) { _prefs_path = prefs_path; - _attr = attr; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); this->set_label(label); - this->set_active( prefs->getBool(_prefs_path, _attr, default_value) ); + this->set_active( prefs->getBool(_prefs_path, default_value) ); } void PrefCheckButton::on_toggled() @@ -142,15 +141,14 @@ void PrefCheckButton::on_toggled() if (this->is_visible()) //only take action if the user toggled it { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setBool(_prefs_path, _attr, this->get_active()); + prefs->setBool(_prefs_path, this->get_active()); } } void PrefRadioButton::init(Glib::ustring const &label, Glib::ustring const &prefs_path, - Glib::ustring const &attr, Glib::ustring const &string_value, bool default_value, PrefRadioButton* group_member) + Glib::ustring const &string_value, bool default_value, PrefRadioButton* group_member) { _prefs_path = prefs_path; - _attr = attr; _value_type = VAL_STRING; _string_value = string_value; (void)default_value; @@ -161,7 +159,7 @@ void PrefRadioButton::init(Glib::ustring const &label, Glib::ustring const &pref this->set_group(rbg); } Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - Glib::ustring val = prefs->getString(_prefs_path, _attr); + Glib::ustring val = prefs->getString(_prefs_path); if ( !val.empty() ) this->set_active(val == _string_value); else @@ -169,10 +167,9 @@ void PrefRadioButton::init(Glib::ustring const &label, Glib::ustring const &pref } void PrefRadioButton::init(Glib::ustring const &label, Glib::ustring const &prefs_path, - Glib::ustring const &attr, int int_value, bool default_value, PrefRadioButton* group_member) + int int_value, bool default_value, PrefRadioButton* group_member) { _prefs_path = prefs_path; - _attr = attr; _value_type = VAL_INT; _int_value = int_value; this->set_label(label); @@ -183,9 +180,9 @@ void PrefRadioButton::init(Glib::ustring const &label, Glib::ustring const &pref } Inkscape::Preferences *prefs = Inkscape::Preferences::get(); if (default_value) - this->set_active( prefs->getInt(_prefs_path, _attr, int_value) == _int_value ); + this->set_active( prefs->getInt(_prefs_path, int_value) == _int_value ); else - this->set_active( prefs->getInt(_prefs_path, _attr, int_value + 1) == _int_value ); + this->set_active( prefs->getInt(_prefs_path, int_value + 1) == _int_value ); } void PrefRadioButton::on_toggled() @@ -196,30 +193,29 @@ void PrefRadioButton::on_toggled() if (this->is_visible() && this->get_active() ) //only take action if toggled by user (to active) { if ( _value_type == VAL_STRING ) - prefs->setString(_prefs_path, _attr, _string_value); + prefs->setString(_prefs_path, _string_value); else if ( _value_type == VAL_INT ) - prefs->setInt(_prefs_path, _attr, _int_value); + prefs->setInt(_prefs_path, _int_value); } } -void PrefSpinButton::init(Glib::ustring const &prefs_path, Glib::ustring const &attr, +void PrefSpinButton::init(Glib::ustring const &prefs_path, double lower, double upper, double step_increment, double page_increment, double default_value, bool is_int, bool is_percent) { _prefs_path = prefs_path; - _attr = attr; _is_int = is_int; _is_percent = is_percent; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); double value; if (is_int) { if (is_percent) { - value = 100 * prefs->getDoubleLimited(prefs_path, attr, default_value, lower/100.0, upper/100.0); + value = 100 * prefs->getDoubleLimited(prefs_path, default_value, lower/100.0, upper/100.0); } else { - value = (double) prefs->getIntLimited(prefs_path, attr, (int) default_value, (int) lower, (int) upper); + value = (double) prefs->getIntLimited(prefs_path, (int) default_value, (int) lower, (int) upper); } } else { - value = prefs->getDoubleLimited(prefs_path, attr, default_value, lower, upper); + value = prefs->getDoubleLimited(prefs_path, default_value, lower, upper); } this->set_range (lower, upper); @@ -243,12 +239,12 @@ void PrefSpinButton::on_value_changed() { if (_is_int) { if (_is_percent) { - prefs->setDouble(_prefs_path, _attr, this->get_value()/100.0); + prefs->setDouble(_prefs_path, this->get_value()/100.0); } else { - prefs->setInt(_prefs_path, _attr, (int) this->get_value()); + prefs->setInt(_prefs_path, (int) this->get_value()); } } else { - prefs->setDouble(_prefs_path, _attr, this->get_value()); + prefs->setDouble(_prefs_path, this->get_value()); } } } @@ -273,7 +269,7 @@ void ZoomCorrRuler::set_size(int x, int y) // The following two functions are borrowed from 2geom's toy-framework-2; if they are useful in // other locations, we should perhaps make them (or adapted versions of them) publicly available static void -draw_text(cairo_t *cr, Geom::Point loc, const char* txt, bool bottom = "false", +draw_text(cairo_t *cr, Geom::Point loc, const char* txt, bool bottom = false, double fontsize = ZoomCorrRuler::textsize, std::string fontdesc = "Sans") { PangoLayout* layout = pango_cairo_create_layout (cr); pango_layout_set_text(layout, txt, -1); @@ -306,7 +302,7 @@ draw_number(cairo_t *cr, Geom::Point pos, double num) { void ZoomCorrRuler::draw_marks(Cairo::RefPtr cr, double dist, int major_interval) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - const double zoomcorr = prefs->getDouble("options.zoomcorrection", "value", 1.0); + const double zoomcorr = prefs->getDouble("/options/zoomcorrection/value", 1.0); double mark = 0; int i = 0; while (mark <= _drawing_width) { @@ -347,7 +343,7 @@ ZoomCorrRuler::redraw() { cr->line_to (_drawing_width, _height); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - Glib::ustring abbr = prefs->getString("options.zoomcorrection", "unit"); + Glib::ustring abbr = prefs->getString("/options/zoomcorrection/unit"); if (abbr == "cm") { draw_marks(cr, 0.1, 10); } else if (abbr == "ft") { @@ -383,7 +379,7 @@ ZoomCorrRulerSlider::on_slider_value_changed() { freeze = true; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble("options.zoomcorrection", "value", _slider.get_value() / 100.0); + prefs->setDouble("/options/zoomcorrection/value", _slider.get_value() / 100.0); _sb.set_value(_slider.get_value()); _ruler.redraw(); freeze = false; @@ -397,7 +393,7 @@ ZoomCorrRulerSlider::on_spinbutton_value_changed() { freeze = true; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble("options.zoomcorrection", "value", _sb.get_value() / 100.0); + prefs->setDouble("/options/zoomcorrection/value", _sb.get_value() / 100.0); _slider.set_value(_sb.get_value()); _ruler.redraw(); freeze = false; @@ -412,7 +408,7 @@ ZoomCorrRulerSlider::on_unit_changed() { return; } Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setString("options.zoomcorrection", "unit", _unit.getUnitAbbr()); + prefs->setString("/options/zoomcorrection/unit", _unit.getUnitAbbr()); double conv = _unit.getConversion(_unit.getUnitAbbr(), "px"); _ruler.set_unit_conversion(conv); if (_ruler.is_visible()) { @@ -425,7 +421,7 @@ ZoomCorrRulerSlider::init(int ruler_width, int ruler_height, double lower, doubl double step_increment, double page_increment, double default_value) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - double value = prefs->getDoubleLimited("options.zoomcorrection", "value", default_value, lower, upper) * 100.0; + double value = prefs->getDoubleLimited("/options/zoomcorrection/value", default_value, lower, upper) * 100.0; freeze = false; @@ -449,7 +445,7 @@ ZoomCorrRulerSlider::init(int ruler_width, int ruler_height, double lower, doubl _unit.set_data("sensitive", GINT_TO_POINTER(0)); _unit.setUnitType(UNIT_TYPE_LINEAR); _unit.set_data("sensitive", GINT_TO_POINTER(1)); - _unit.setUnit(prefs->getString("options.zoomcorrection", "unit")); + _unit.setUnit(prefs->getString("/options/zoomcorrection/unit")); Gtk::Table *table = Gtk::manage(new Gtk::Table()); Gtk::Alignment *alignment1 = Gtk::manage(new Gtk::Alignment(0.5,1,0,0)); @@ -465,14 +461,13 @@ ZoomCorrRulerSlider::init(int ruler_width, int ruler_height, double lower, doubl this->pack_start(*table, Gtk::PACK_EXPAND_WIDGET); } -void PrefCombo::init(Glib::ustring const &prefs_path, Glib::ustring const &attr, +void PrefCombo::init(Glib::ustring const &prefs_path, Glib::ustring labels[], int values[], int num_items, int default_value) { _prefs_path = prefs_path; - _attr = attr; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); int row = 0; - int value = prefs->getInt(_prefs_path, _attr, default_value); + int value = prefs->getInt(_prefs_path, default_value); for (int i = 0 ; i < num_items; ++i) { @@ -489,22 +484,21 @@ void PrefCombo::on_changed() if (this->is_visible()) //only take action if user changed value { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setInt(_prefs_path, _attr, _values[this->get_active_row_number()]); + prefs->setInt(_prefs_path, _values[this->get_active_row_number()]); } } -void PrefEntryButtonHBox::init(Glib::ustring const &prefs_path, Glib::ustring const &attr, +void PrefEntryButtonHBox::init(Glib::ustring const &prefs_path, bool visibility, Glib::ustring const &default_string) { _prefs_path = prefs_path; - _attr = attr; _default_string = default_string; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); relatedEntry = new Gtk::Entry(); relatedButton = new Gtk::Button(_("Reset")); relatedEntry->set_invisible_char('*'); relatedEntry->set_visibility(visibility); - relatedEntry->set_text(prefs->getString(_prefs_path, _attr)); + relatedEntry->set_text(prefs->getString(_prefs_path)); this->pack_start(*relatedEntry); this->pack_start(*relatedButton); relatedButton->signal_clicked().connect( @@ -518,7 +512,7 @@ void PrefEntryButtonHBox::onRelatedEntryChangedCallback() if (this->is_visible()) //only take action if user changed value { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setString(_prefs_path, _attr, relatedEntry->get_text()); + prefs->setString(_prefs_path, relatedEntry->get_text()); } } @@ -527,18 +521,17 @@ void PrefEntryButtonHBox::onRelatedButtonClickedCallback() if (this->is_visible()) //only take action if user changed value { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setString(_prefs_path, _attr, _default_string); + prefs->setString(_prefs_path, _default_string); relatedEntry->set_text(_default_string); } } -void PrefFileButton::init(Glib::ustring const &prefs_path, Glib::ustring const &attr) +void PrefFileButton::init(Glib::ustring const &prefs_path) { _prefs_path = prefs_path; - _attr = attr; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - select_filename(Glib::filename_from_utf8(prefs->getString(_prefs_path, _attr))); + select_filename(Glib::filename_from_utf8(prefs->getString(_prefs_path))); signal_selection_changed().connect(sigc::mem_fun(*this, &PrefFileButton::onFileChanged)); } @@ -546,18 +539,16 @@ void PrefFileButton::init(Glib::ustring const &prefs_path, Glib::ustring const & void PrefFileButton::onFileChanged() { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setString(_prefs_path, _attr, Glib::filename_to_utf8(get_filename())); + prefs->setString(_prefs_path, Glib::filename_to_utf8(get_filename())); } -void PrefEntry::init(Glib::ustring const &prefs_path, Glib::ustring const &attr, - bool visibility) +void PrefEntry::init(Glib::ustring const &prefs_path, bool visibility) { _prefs_path = prefs_path; - _attr = attr; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); this->set_invisible_char('*'); this->set_visibility(visibility); - this->set_text(prefs->getString(_prefs_path, _attr)); + this->set_text(prefs->getString(_prefs_path)); } void PrefEntry::on_changed() @@ -565,18 +556,17 @@ void PrefEntry::on_changed() if (this->is_visible()) //only take action if user changed value { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setString(_prefs_path, _attr, this->get_text()); + prefs->setString(_prefs_path, this->get_text()); } } -void PrefColorPicker::init(Glib::ustring const &label, Glib::ustring const &prefs_path, Glib::ustring const &attr, +void PrefColorPicker::init(Glib::ustring const &label, Glib::ustring const &prefs_path, guint32 default_rgba) { _prefs_path = prefs_path; - _attr = attr; _title = label; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - this->setRgba32( prefs->getInt(_prefs_path, _attr, (int)default_rgba) ); + this->setRgba32( prefs->getInt(_prefs_path, (int)default_rgba) ); } void PrefColorPicker::on_changed (guint32 rgba) @@ -584,17 +574,16 @@ void PrefColorPicker::on_changed (guint32 rgba) if (this->is_visible()) //only take action if the user toggled it { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setInt(_prefs_path, _attr, (int) rgba); + prefs->setInt(_prefs_path, (int) rgba); } } -void PrefUnit::init(Glib::ustring const &prefs_path, Glib::ustring const &attr) +void PrefUnit::init(Glib::ustring const &prefs_path) { _prefs_path = prefs_path; - _attr = attr; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); setUnitType(UNIT_TYPE_LINEAR); - setUnit(prefs->getString(_prefs_path, _attr)); + setUnit(prefs->getString(_prefs_path)); } void PrefUnit::on_changed() @@ -602,7 +591,7 @@ void PrefUnit::on_changed() if (this->is_visible()) //only take action if user changed value { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setString(_prefs_path, _attr, getUnitAbbr()); + prefs->setString(_prefs_path, getUnitAbbr()); } } diff --git a/src/ui/widget/preferences-widget.h b/src/ui/widget/preferences-widget.h index da07db5d9..dbc319c1a 100644 --- a/src/ui/widget/preferences-widget.h +++ b/src/ui/widget/preferences-widget.h @@ -39,25 +39,23 @@ namespace Widget { class PrefCheckButton : public Gtk::CheckButton { public: - void init(Glib::ustring const &label, Glib::ustring const &prefs_path, Glib::ustring const &attr, + void init(Glib::ustring const &label, Glib::ustring const &prefs_path, bool default_value); protected: Glib::ustring _prefs_path; - Glib::ustring _attr; void on_toggled(); }; class PrefRadioButton : public Gtk::RadioButton { public: - void init(Glib::ustring const &label, Glib::ustring const &prefs_path, Glib::ustring const &attr, + void init(Glib::ustring const &label, Glib::ustring const &prefs_path, int int_value, bool default_value, PrefRadioButton* group_member); - void init(Glib::ustring const &label, Glib::ustring const &prefs_path, Glib::ustring const &attr, + void init(Glib::ustring const &label, Glib::ustring const &prefs_path, Glib::ustring const &string_value, bool default_value, PrefRadioButton* group_member); sigc::signal changed_signal; protected: Glib::ustring _prefs_path; - Glib::ustring _attr; Glib::ustring _string_value; int _value_type; enum @@ -72,12 +70,11 @@ protected: class PrefSpinButton : public Gtk::SpinButton { public: - void init(Glib::ustring const &prefs_path, Glib::ustring const &attr, + void init(Glib::ustring const &prefs_path, double lower, double upper, double step_increment, double page_increment, double default_value, bool is_int, bool is_percent); protected: Glib::ustring _prefs_path; - Glib::ustring _attr; bool _is_int; bool _is_percent; void on_value_changed(); @@ -128,11 +125,10 @@ private: class PrefCombo : public Gtk::ComboBoxText { public: - void init(Glib::ustring const &prefs_path, Glib::ustring const &attr, + void init(Glib::ustring const &prefs_path, Glib::ustring labels[], int values[], int num_items, int default_value); protected: Glib::ustring _prefs_path; - Glib::ustring _attr; std::vector _values; void on_changed(); }; @@ -140,22 +136,19 @@ protected: class PrefEntry : public Gtk::Entry { public: - void init(Glib::ustring const &prefs_path, Glib::ustring const &attr, - bool mask); + void init(Glib::ustring const &prefs_path, bool mask); protected: Glib::ustring _prefs_path; - Glib::ustring _attr; void on_changed(); }; class PrefEntryButtonHBox : public Gtk::HBox { public: - void init(Glib::ustring const &prefs_path, Glib::ustring const &attr, + void init(Glib::ustring const &prefs_path, bool mask, Glib::ustring const &default_string); protected: Glib::ustring _prefs_path; - Glib::ustring _attr; Glib::ustring _default_string; Gtk::Button *relatedButton; Gtk::Entry *relatedEntry; @@ -166,11 +159,10 @@ protected: class PrefFileButton : public Gtk::FileChooserButton { public: - void init(Glib::ustring const &prefs_path, Glib::ustring const &attr); + void init(Glib::ustring const &prefs_path); protected: Glib::ustring _prefs_path; - Glib::ustring _attr; void onFileChanged(); }; @@ -180,22 +172,20 @@ public: PrefColorPicker() : ColorPicker("", "", 0, false) {}; virtual ~PrefColorPicker() {}; - void init(Glib::ustring const &abel, Glib::ustring const &prefs_path, Glib::ustring const &attr, + void init(Glib::ustring const &abel, Glib::ustring const &prefs_path, guint32 default_rgba); protected: Glib::ustring _prefs_path; - Glib::ustring _attr; virtual void on_changed (guint32 rgba); }; class PrefUnit : public UnitMenu { public: - void init(Glib::ustring const &prefs_path, Glib::ustring const &attr); + void init(Glib::ustring const &prefs_path); protected: Glib::ustring _prefs_path; - Glib::ustring _attr; void on_changed(); }; diff --git a/src/ui/widget/registered-widget.cpp b/src/ui/widget/registered-widget.cpp index 2cc6e3c62..95ddec286 100644 --- a/src/ui/widget/registered-widget.cpp +++ b/src/ui/widget/registered-widget.cpp @@ -155,6 +155,8 @@ RegisteredScalarUnit::RegisteredScalarUnit (const Glib::ustring& label, const Gl { init_parent(key, wr, repr_in, doc_in); + setProgrammatically = false; + initScalar (-1e6, 1e6); setUnit (rum.getUnitMenu()->getUnitAbbr()); setDigits (2); @@ -203,6 +205,8 @@ RegisteredScalar::RegisteredScalar ( const Glib::ustring& label, const Glib::ust { init_parent(key, wr, repr_in, doc_in); + setProgrammatically = false; + setRange (-1e6, 1e6); setDigits (2); setIncrements(0.1, 1.0); @@ -249,6 +253,8 @@ RegisteredText::RegisteredText ( const Glib::ustring& label, const Glib::ustring { init_parent(key, wr, repr_in, doc_in); + setProgrammatically = false; + setText(""); _activate_connection = signal_activate().connect (sigc::mem_fun (*this, &RegisteredText::on_activate)); } @@ -597,6 +603,8 @@ RegisteredRandom::RegisteredRandom ( const Glib::ustring& label, const Glib::ust { init_parent(key, wr, repr_in, doc_in); + setProgrammatically = false; + setRange (-1e6, 1e6); setDigits (2); setIncrements(0.1, 1.0); diff --git a/src/ui/widget/style-swatch.cpp b/src/ui/widget/style-swatch.cpp index 807c21de5..47f6292e3 100644 --- a/src/ui/widget/style-swatch.cpp +++ b/src/ui/widget/style-swatch.cpp @@ -1,10 +1,11 @@ -/** - * \brief Static style swatch (fill, stroke, opacity) - * - * Author: +/** @file + * @brief Static style swatch (fill, stroke, opacity) + */ +/* Authors: * buliabyak@gmail.com + * Krzysztof Kosiński * - * Copyright (C) 2005 author + * Copyright (C) 2005-2008 Authors * * Released under GNU GPL. Read the file 'COPYING' for more information. */ @@ -26,10 +27,10 @@ #include "sp-radial-gradient-fns.h" #include "sp-pattern.h" #include "xml/repr.h" -#include "xml/node-event-vector.h" #include "widgets/widget-sizes.h" #include "helper/units.h" #include "helper/action.h" +#include "preferences.h" #include "inkscape.h" enum { @@ -37,74 +38,80 @@ enum { SS_STROKE }; -static void style_swatch_attr_changed( Inkscape::XML::Node *repr, gchar const *name, - gchar const */*old_value*/, gchar const */*new_value*/, - bool /*is_interactive*/, gpointer data) -{ - Inkscape::UI::Widget::StyleSwatch *ss = (Inkscape::UI::Widget::StyleSwatch *) data; - - if (!strcmp (name, "style")) { // FIXME: watching only for the style attr, no CSS attrs - SPCSSAttr *css = sp_repr_css_attr_inherited(repr, "style"); - ss->setStyle (css); - } -} - +namespace Inkscape { +namespace UI { +namespace Widget { -static Inkscape::XML::NodeEventVector style_swatch_repr_events = -{ - NULL, /* child_added */ - NULL, /* child_removed */ - style_swatch_attr_changed, - NULL, /* content_changed */ - NULL /* order_changed */ +/** + * @brief Watches whether the tool uses the current style + */ +class StyleSwatch::ToolObserver : public Inkscape::Preferences::Observer { +public: + ToolObserver(Glib::ustring const &path, StyleSwatch &ss) : + Observer(path), + _style_swatch(ss) + {} + virtual void notify(Inkscape::Preferences::Entry const &val); +private: + StyleSwatch &_style_swatch; }; +/** + * @brief Watches for changes in the observed style pref + */ +class StyleSwatch::StyleObserver : public Inkscape::Preferences::Observer { +public: + StyleObserver(Glib::ustring const &path, StyleSwatch &ss) : + Observer(path), + _style_swatch(ss) + { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + this->notify(prefs->getEntry(path)); + } + virtual void notify(Inkscape::Preferences::Entry const &val) { + SPCSSAttr *css = val.getInheritedStyle(); + _style_swatch.setStyle(css); + sp_repr_css_attr_unref(css); + } +private: + StyleSwatch &_style_swatch; +}; -static void style_swatch_tool_attr_changed( Inkscape::XML::Node */*repr*/, gchar const *name, - gchar const */*old_value*/, gchar const *new_value, - bool /*is_interactive*/, gpointer data) +void StyleSwatch::ToolObserver::notify(Inkscape::Preferences::Entry const &val) { - Inkscape::UI::Widget::StyleSwatch *ss = (Inkscape::UI::Widget::StyleSwatch *) data; + bool usecurrent = val.getBool(); - if (!strcmp (name, "usecurrent")) { // FIXME: watching only for the style attr, no CSS attrs - if (!strcmp (new_value, "1")) { - ss->setWatched (inkscape_get_repr(INKSCAPE, "desktop"), inkscape_get_repr(INKSCAPE, ss->_tool_path)); - } else { - ss->setWatched (inkscape_get_repr(INKSCAPE, ss->_tool_path), NULL); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (_style_swatch._style_obs) delete _style_swatch._style_obs; + + if (usecurrent) { + _style_swatch._style_obs = new StyleObserver("/desktop/style", _style_swatch); + + // If desktop's last-set style is empty, a tool uses its own fixed style even if set to use + // last-set (so long as it's empty). To correctly show this, we get the tool's style + // if the desktop's style is empty. + SPCSSAttr *css = prefs->getStyle("/desktop/style"); + if (!css->attributeList()) { + SPCSSAttr *css2 = prefs->getInheritedStyle(_style_swatch._tool_path + "/style"); + _style_swatch.setStyle(css2); + sp_repr_css_attr_unref(css2); } - // UGLY HACK: we have to reconnect to the watched tool repr again, retrieving it from the stored - // tool_path, because the actual repr keeps shifting with each change, no idea why - ss->setWatchedTool(ss->_tool_path, false); + sp_repr_css_attr_unref(css); + } else { + _style_swatch._style_obs = new StyleObserver(_style_swatch._tool_path + "/style", _style_swatch); } + prefs->addObserver(*_style_swatch._style_obs); } -static Inkscape::XML::NodeEventVector style_swatch_tool_repr_events = -{ - NULL, /* child_added */ - NULL, /* child_removed */ - style_swatch_tool_attr_changed, - NULL, /* content_changed */ - NULL /* order_changed */ -}; - -namespace Inkscape { -namespace UI { -namespace Widget { - StyleSwatch::StyleSwatch(SPCSSAttr *css, gchar const *main_tip) : - _tool_path(NULL), - _desktop(0), - _verb_t(0), - _css (NULL), - - _watched(NULL), - _watched_tool(NULL), - + _desktop(NULL), + _verb_t(NULL), + _css(NULL), + _tool_obs(NULL), + _style_obs(NULL), _table(2, 6), - _sw_unit(NULL), - _tooltips () { _label[SS_FILL].set_markup(_("Fill:")); @@ -185,72 +192,33 @@ StyleSwatch::~StyleSwatch() delete _color_preview[i]; } - if (_watched) { - sp_repr_remove_listener_by_data(_watched, this); - Inkscape::GC::release(_watched); - _watched = NULL; - } - - if (_watched_tool) { - sp_repr_remove_listener_by_data(_watched_tool, this); - Inkscape::GC::release(_watched_tool); - _watched_tool = NULL; - _tool_path = NULL; - } -} - -void -StyleSwatch::setWatched(Inkscape::XML::Node *watched, Inkscape::XML::Node *secondary) -{ - if (_watched) { - sp_repr_remove_listener_by_data(_watched, this); - Inkscape::GC::release(_watched); - _watched = NULL; - } - - if (watched) { - _watched = watched; - Inkscape::GC::anchor(_watched); - sp_repr_add_listener(_watched, &style_swatch_repr_events, this); - sp_repr_synthesize_events(_watched, &style_swatch_repr_events, this); - - // If desktop's last-set style is empty, a tool uses its own fixed style even if set to use - // last-set (so long as it's empty). To correctly show this, we're passed the second repr, - // that of the tool prefs node, from which we now setStyle if the watched repr's style is - // empty. - if (secondary) { - SPCSSAttr *css = sp_repr_css_attr_inherited(watched, "style"); - if (!css->attributeList()) { // is css empty? - SPCSSAttr *css_secondary = sp_repr_css_attr_inherited(secondary, "style"); - this->setStyle (css_secondary); - } - } - } + if (_style_obs) delete _style_obs; + if (_tool_obs) delete _tool_obs; } void StyleSwatch::setWatchedTool(const char *path, bool synthesize) { - if (_watched_tool) { - sp_repr_remove_listener_by_data(_watched_tool, this); - Inkscape::GC::release(_watched_tool); - _watched_tool = NULL; - _tool_path = NULL; + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + + if (_tool_obs) { + delete _tool_obs; + _tool_obs = NULL; } if (path) { - _tool_path = (char *) path; - Inkscape::XML::Node *watched_tool = inkscape_get_repr(INKSCAPE, path); - if (watched_tool) { - _watched_tool = watched_tool; - Inkscape::GC::anchor(_watched_tool); - sp_repr_add_listener(_watched_tool, &style_swatch_tool_repr_events, this); - if (synthesize) { - sp_repr_synthesize_events(_watched_tool, &style_swatch_tool_repr_events, this); - } - } + _tool_path = path; + _tool_obs = new ToolObserver(_tool_path + "/usecurrent", *this); + prefs->addObserver(*_tool_obs); + } else { + _tool_path = ""; + } + + // hack until there is a real synthesize events function for prefs, + // which shouldn't be hard to write once there is sufficient need for it + if (synthesize && _tool_obs) { + _tool_obs->notify(prefs->getEntry(_tool_path + "/usecurrent")); } - } diff --git a/src/ui/widget/style-swatch.h b/src/ui/widget/style-swatch.h index 5efd561f3..dfbbe13d3 100644 --- a/src/ui/widget/style-swatch.h +++ b/src/ui/widget/style-swatch.h @@ -1,10 +1,11 @@ -/** - * \brief Static style swatch (fill, stroke, opacity) - * - * Author: +/** @file + * @brief Static style swatch (fill, stroke, opacity) + */ +/* Authors: * buliabyak@gmail.com + * Krzysztof Kosiński * - * Copyright (C) 2005 author + * Copyright (C) 2005-2008 Authors * * Released under GNU GPL. Read the file 'COPYING' for more information. */ @@ -20,21 +21,15 @@ #include -#include -#include - +#include "desktop.h" +#include "verbs.h" #include "button.h" +#include "preferences.h" class SPUnit; class SPStyle; class SPCSSAttr; -namespace Inkscape { -namespace XML { -class Node; -} -} - namespace Inkscape { namespace UI { namespace Widget { @@ -50,40 +45,32 @@ public: void setStyle(SPCSSAttr *attr); SPCSSAttr *getStyle(); - void setWatched (Inkscape::XML::Node *watched, Inkscape::XML::Node *secondary); void setWatchedTool (const char *path, bool synthesize); void setClickVerb(sp_verb_t verb_t); void setDesktop(SPDesktop *desktop); bool on_click(GdkEventButton *event); - char *_tool_path; +private: + class ToolObserver; + class StyleObserver; -protected: SPDesktop *_desktop; - sp_verb_t _verb_t; - SPCSSAttr *_css; - - Inkscape::XML::Node *_watched; - Inkscape::XML::Node *_watched_tool; + ToolObserver *_tool_obs; + StyleObserver *_style_obs; + Glib::ustring _tool_path; Gtk::EventBox _swatch; - Gtk::Table _table; - Gtk::Label _label[2]; - Gtk::EventBox _place[2]; Gtk::EventBox _opacity_place; - Gtk::Label _value[2]; Gtk::Label _opacity_value; - Gtk::Widget *_color_preview[2]; Glib::ustring __color[2]; - Gtk::HBox _stroke; Gtk::EventBox _stroke_width_place; Gtk::Label _stroke_width; @@ -91,6 +78,8 @@ protected: SPUnit *_sw_unit; Gtk::Tooltips _tooltips; + +friend class ToolObserver; }; diff --git a/src/vanishing-point.cpp b/src/vanishing-point.cpp index 14bf8d161..c57232c74 100644 --- a/src/vanishing-point.cpp +++ b/src/vanishing-point.cpp @@ -130,7 +130,7 @@ vp_knot_moved_handler (SPKnot */*knot*/, Geom::Point const *ppointer, guint stat // without Shift; see if we need to snap to another dragger for (GList *di = dragger->parent->draggers; di != NULL; di = di->next) { VPDragger *d_new = (VPDragger *) di->data; - if ((d_new != dragger) && (NR::L2 (d_new->point - p) < snap_dist)) { + if ((d_new != dragger) && (Geom::L2 (d_new->point - p) < snap_dist)) { if (have_VPs_of_same_perspective (dragger, d_new)) { // this would result in degenerate boxes, which we disallow for the time being continue; @@ -457,7 +457,7 @@ VPDragger::updateZOrders () void VPDragger::printVPs() { - g_print ("VPDragger at position (%f, %f):\n", point[NR::X], point[NR::Y]); + g_print ("VPDragger at position (%f, %f):\n", point[Geom::X], point[Geom::Y]); for (std::list::iterator i = this->vps.begin(); i != this->vps.end(); ++i) { g_print (" VP %s\n", (*i).axisString()); } @@ -725,7 +725,7 @@ VPDrag::addDragger (VanishingPoint &vp) for (GList *i = this->draggers; i != NULL; i = i->next) { VPDragger *dragger = (VPDragger *) i->data; - if (NR::L2 (dragger->point - p) < MERGE_DIST) { + if (Geom::L2 (dragger->point - p) < MERGE_DIST) { // distance is small, merge this draggable into dragger, no need to create new dragger dragger->addVP (vp); return; diff --git a/src/verbs.cpp b/src/verbs.cpp index 55a465fbb..37961ab15 100644 --- a/src/verbs.cpp +++ b/src/verbs.cpp @@ -71,7 +71,7 @@ #include "ui/dialog/dialog-manager.h" #include "ui/dialog/inkscape-preferences.h" #include "interface.h" -#include "prefs-utils.h" +#include "preferences.h" #include "splivarot.h" #include "sp-namedview.h" #include "sp-flowtext.h" @@ -1314,7 +1314,7 @@ ObjectVerb::perform( SPAction *action, void *data, void */*pdata*/ ) } // If the rotation center of the selection is visible, choose it as reference point // for horizontal and vertical flips. Otherwise, take the center of the bounding box. - NR::Point center; + Geom::Point center; if (tools_isactive(dt, TOOLS_SELECT) && sel->center() && SP_SELECT_CONTEXT(ec)->_seltrans->centerIsVisible()) center = *sel->center(); else @@ -1431,6 +1431,7 @@ ContextVerb::perform(SPAction *action, void *data, void */*pdata*/) } } + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); switch (verb) { case SP_VERB_CONTEXT_SELECT: tools_switch(dt, TOOLS_SELECT); @@ -1491,80 +1492,80 @@ ContextVerb::perform(SPAction *action, void *data, void */*pdata*/) break; case SP_VERB_CONTEXT_SELECT_PREFS: - prefs_set_int_attribute("dialogs.preferences", "page", PREFS_PAGE_TOOLS_SELECTOR); + prefs->setInt("/dialogs/preferences/page", PREFS_PAGE_TOOLS_SELECTOR); dt->_dlg_mgr->showDialog("InkscapePreferences"); break; case SP_VERB_CONTEXT_NODE_PREFS: - prefs_set_int_attribute("dialogs.preferences", "page", PREFS_PAGE_TOOLS_NODE); + prefs->setInt("/dialogs/preferences/page", PREFS_PAGE_TOOLS_NODE); dt->_dlg_mgr->showDialog("InkscapePreferences"); break; case SP_VERB_CONTEXT_TWEAK_PREFS: - prefs_set_int_attribute("dialogs.preferences", "page", PREFS_PAGE_TOOLS_TWEAK); + prefs->setInt("/dialogs/preferences/page", PREFS_PAGE_TOOLS_TWEAK); dt->_dlg_mgr->showDialog("InkscapePreferences"); break; case SP_VERB_CONTEXT_RECT_PREFS: - prefs_set_int_attribute("dialogs.preferences", "page", PREFS_PAGE_TOOLS_SHAPES_RECT); + prefs->setInt("/dialogs/preferences/page", PREFS_PAGE_TOOLS_SHAPES_RECT); dt->_dlg_mgr->showDialog("InkscapePreferences"); break; case SP_VERB_CONTEXT_3DBOX_PREFS: - prefs_set_int_attribute("dialogs.preferences", "page", PREFS_PAGE_TOOLS_SHAPES_3DBOX); + prefs->setInt("/dialogs/preferences/page", PREFS_PAGE_TOOLS_SHAPES_3DBOX); dt->_dlg_mgr->showDialog("InkscapePreferences"); break; case SP_VERB_CONTEXT_ARC_PREFS: - prefs_set_int_attribute("dialogs.preferences", "page", PREFS_PAGE_TOOLS_SHAPES_ELLIPSE); + prefs->setInt("/dialogs/preferences/page", PREFS_PAGE_TOOLS_SHAPES_ELLIPSE); dt->_dlg_mgr->showDialog("InkscapePreferences"); break; case SP_VERB_CONTEXT_STAR_PREFS: - prefs_set_int_attribute("dialogs.preferences", "page", PREFS_PAGE_TOOLS_SHAPES_STAR); + prefs->setInt("/dialogs/preferences/page", PREFS_PAGE_TOOLS_SHAPES_STAR); dt->_dlg_mgr->showDialog("InkscapePreferences"); break; case SP_VERB_CONTEXT_SPIRAL_PREFS: - prefs_set_int_attribute("dialogs.preferences", "page", PREFS_PAGE_TOOLS_SHAPES_SPIRAL); + prefs->setInt("/dialogs/preferences/page", PREFS_PAGE_TOOLS_SHAPES_SPIRAL); dt->_dlg_mgr->showDialog("InkscapePreferences"); break; case SP_VERB_CONTEXT_PENCIL_PREFS: - prefs_set_int_attribute("dialogs.preferences", "page", PREFS_PAGE_TOOLS_PENCIL); + prefs->setInt("/dialogs/preferences/page", PREFS_PAGE_TOOLS_PENCIL); dt->_dlg_mgr->showDialog("InkscapePreferences"); break; case SP_VERB_CONTEXT_PEN_PREFS: - prefs_set_int_attribute("dialogs.preferences", "page", PREFS_PAGE_TOOLS_PEN); + prefs->setInt("/dialogs/preferences/page", PREFS_PAGE_TOOLS_PEN); dt->_dlg_mgr->showDialog("InkscapePreferences"); break; case SP_VERB_CONTEXT_CALLIGRAPHIC_PREFS: - prefs_set_int_attribute("dialogs.preferences", "page", PREFS_PAGE_TOOLS_CALLIGRAPHY); + prefs->setInt("/dialogs/preferences/page", PREFS_PAGE_TOOLS_CALLIGRAPHY); dt->_dlg_mgr->showDialog("InkscapePreferences"); break; case SP_VERB_CONTEXT_TEXT_PREFS: - prefs_set_int_attribute("dialogs.preferences", "page", PREFS_PAGE_TOOLS_TEXT); + prefs->setInt("/dialogs/preferences/page", PREFS_PAGE_TOOLS_TEXT); dt->_dlg_mgr->showDialog("InkscapePreferences"); break; case SP_VERB_CONTEXT_GRADIENT_PREFS: - prefs_set_int_attribute("dialogs.preferences", "page", PREFS_PAGE_TOOLS_GRADIENT); + prefs->setInt("/dialogs/preferences/page", PREFS_PAGE_TOOLS_GRADIENT); dt->_dlg_mgr->showDialog("InkscapePreferences"); break; case SP_VERB_CONTEXT_ZOOM_PREFS: - prefs_set_int_attribute("dialogs.preferences", "page", PREFS_PAGE_TOOLS_ZOOM); + prefs->setInt("/dialogs/preferences/page", PREFS_PAGE_TOOLS_ZOOM); dt->_dlg_mgr->showDialog("InkscapePreferences"); break; case SP_VERB_CONTEXT_DROPPER_PREFS: - prefs_set_int_attribute("dialogs.preferences", "page", PREFS_PAGE_TOOLS_DROPPER); + prefs->setInt("/dialogs/preferences/page", PREFS_PAGE_TOOLS_DROPPER); dt->_dlg_mgr->showDialog("InkscapePreferences"); break; case SP_VERB_CONTEXT_CONNECTOR_PREFS: - prefs_set_int_attribute ("dialogs.preferences", "page", PREFS_PAGE_TOOLS_CONNECTOR); + prefs->setInt("/dialogs/preferences/page", PREFS_PAGE_TOOLS_CONNECTOR); dt->_dlg_mgr->showDialog("InkscapePreferences"); break; case SP_VERB_CONTEXT_PAINTBUCKET_PREFS: - prefs_set_int_attribute ("dialogs.preferences", "page", PREFS_PAGE_TOOLS_PAINTBUCKET); + prefs->setInt("/dialogs/preferences/page", PREFS_PAGE_TOOLS_PAINTBUCKET); dt->_dlg_mgr->showDialog("InkscapePreferences"); break; case SP_VERB_CONTEXT_ERASER_PREFS: - prefs_set_int_attribute("dialogs.preferences", "page", PREFS_PAGE_TOOLS_ERASER); + prefs->setInt("/dialogs/preferences/page", PREFS_PAGE_TOOLS_ERASER); dt->_dlg_mgr->showDialog("InkscapePreferences"); break; case SP_VERB_CONTEXT_LPETOOL_PREFS: g_print ("TODO: Create preferences page for LPETool\n"); - prefs_set_int_attribute("dialogs.preferences", "page", PREFS_PAGE_TOOLS_LPETOOL); + prefs->setInt("/dialogs/preferences/page", PREFS_PAGE_TOOLS_LPETOOL); dt->_dlg_mgr->showDialog("InkscapePreferences"); break; @@ -1601,9 +1602,9 @@ ZoomVerb::perform(SPAction *action, void *data, void */*pdata*/) Inkscape::XML::Node *repr = SP_OBJECT_REPR(dt->namedview); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); gdouble zoom_inc = - prefs_get_double_attribute_limited( "options.zoomincrement", - "value", 1.414213562, 1.01, 10 ); + prefs->getDoubleLimited( "/options/zoomincrement/value", 1.414213562, 1.01, 10 ); switch (GPOINTER_TO_INT(data)) { case SP_VERB_ZOOM_IN: @@ -1644,21 +1645,21 @@ ZoomVerb::perform(SPAction *action, void *data, void */*pdata*/) } case SP_VERB_ZOOM_1_1: { - double zcorr = prefs_get_double_attribute ("options.zoomcorrection", "value", 1.0); + double zcorr = prefs->getDouble("/options/zoomcorrection/value", 1.0); Geom::Rect const d = dt->get_display_area(); dt->zoom_absolute( d.midpoint()[Geom::X], d.midpoint()[Geom::Y], 1.0 * zcorr ); break; } case SP_VERB_ZOOM_1_2: { - double zcorr = prefs_get_double_attribute ("options.zoomcorrection", "value", 1.0); + double zcorr = prefs->getDouble("/options/zoomcorrection/value", 1.0); Geom::Rect const d = dt->get_display_area(); dt->zoom_absolute( d.midpoint()[Geom::X], d.midpoint()[Geom::Y], 0.5 * zcorr ); break; } case SP_VERB_ZOOM_2_1: { - double zcorr = prefs_get_double_attribute ("options.zoomcorrection", "value", 1.0); + double zcorr = prefs->getDouble("/options/zoomcorrection/value", 1.0); Geom::Rect const d = dt->get_display_area(); dt->zoom_absolute( d.midpoint()[Geom::X], d.midpoint()[Geom::Y], 2.0 * zcorr ); break; diff --git a/src/widgets/dash-selector.cpp b/src/widgets/dash-selector.cpp index 57f9259e2..284a8a596 100644 --- a/src/widgets/dash-selector.cpp +++ b/src/widgets/dash-selector.cpp @@ -1,9 +1,9 @@ #define __SP_DASH_SELECTOR_NEW_C__ -/* - * Optionmenu for selecting dash patterns - * - * Author: +/** @file + * @brief Option menu for selecting dash patterns - implementation + */ +/* Author: * Lauris Kaplinski * bulia byak * Maximilian Albert @@ -28,6 +28,7 @@ #include "style.h" #include "dialogs/dialog-events.h" +#include "preferences.h" #include #include @@ -36,6 +37,8 @@ #include "dash-selector.h" +gchar const *const SPDashSelector::_prefs_path = "/palette/dashes"; + static double dash_0[] = {-1.0}; static double dash_1_1[] = {1.0, 1.0, -1.0}; static double dash_2_1[] = {2.0, 1.0, -1.0}; @@ -49,9 +52,9 @@ static double **dashes = NULL; static void sp_dash_selector_menu_item_image_realize(Gtk::Image *px, double *pattern); -SPDashSelector::SPDashSelector(Inkscape::XML::Node *drepr) { +SPDashSelector::SPDashSelector() { // TODO: find something more sensible here!! - init_dashes(drepr); + init_dashes(); Gtk::Tooltips *tt = new Gtk::Tooltips(); @@ -89,39 +92,33 @@ SPDashSelector::~SPDashSelector() { } void -SPDashSelector::init_dashes(Inkscape::XML::Node *drepr) { +SPDashSelector::init_dashes() { if (!dashes) { - int ndashes = 0; - if (drepr) { - for (Inkscape::XML::Node *dr = drepr->firstChild(); dr; dr = dr->next()) { - if (!strcmp (dr->name(), "dash")) - ndashes += 1; - } - } - - if (ndashes > 0) { + + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + std::vector dash_prefs = prefs->getAllDirs(_prefs_path); + + if (!dash_prefs.empty()) { int pos = 0; SPStyle *style = sp_style_new (NULL); - dashes = g_new (double *, ndashes + 1); - for (Inkscape::XML::Node *dr = drepr->firstChild(); dr; dr = dr->next()) { - if (!strcmp (dr->name(), "dash")) { - sp_style_read_from_repr (style, dr); - if (style->stroke_dash.n_dash > 0) { - dashes[pos] = g_new (double, style->stroke_dash.n_dash + 1); - double *d = dashes[pos]; - int i = 0; - for (; i < style->stroke_dash.n_dash; i++) { - d[i] = style->stroke_dash.dash[i]; - } - d[i] = -1; - } else { - dashes[pos] = dash_0; + dashes = g_new (double *, dash_prefs.size() + 1); + + for (std::vector::iterator i = dash_prefs.begin(); i != dash_prefs.end(); ++i) { + sp_style_read_from_prefs(style, *i); + + if (style->stroke_dash.n_dash > 0) { + dashes[pos] = g_new (double, style->stroke_dash.n_dash + 1); + double *d = dashes[pos]; + int i = 0; + for (; i < style->stroke_dash.n_dash; i++) { + d[i] = style->stroke_dash.dash[i]; } - pos += 1; + d[i] = -1; + } else { + dashes[pos] = dash_0; } + pos += 1; } - sp_style_unref (style); - dashes[pos] = NULL; } else { dashes = builtin_dashes; } diff --git a/src/widgets/dash-selector.h b/src/widgets/dash-selector.h index 97e0b7379..25417285a 100644 --- a/src/widgets/dash-selector.h +++ b/src/widgets/dash-selector.h @@ -1,10 +1,10 @@ #ifndef __SP_DASH_SELECTOR_NEW_H__ #define __SP_DASH_SELECTOR_NEW_H__ -/* - * Optionmenu for selecting dash patterns - * - * Author: +/** @file + * @brief Option menu for selecting dash patterns + */ +/* Authors: * Lauris Kaplinski * Maximilian Albert (gtkmm-ification) * @@ -13,8 +13,7 @@ * Released under GNU GPL, read the file 'COPYING' for more information */ -#include "xml/repr.h" - +#include #include #include @@ -28,7 +27,7 @@ class Adjustment; // TODO: should we rather derive this from OptionMenu and add the spinbutton somehow else? class SPDashSelector : public Gtk::HBox { public: - SPDashSelector(Inkscape::XML::Node *drepr); + SPDashSelector(); ~SPDashSelector(); void set_dash(int ndash, double *dash, double offset); @@ -37,13 +36,15 @@ public: sigc::signal changed_signal; private: - static void init_dashes(Inkscape::XML::Node *drepr); + static void init_dashes(); void dash_activate(Gtk::MenuItem *mi); void offset_value_changed(); Gtk::MenuItem *menu_item_new(double *pattern); Gtk::OptionMenu *dash; Gtk::Adjustment *offset; + + static gchar const *const _prefs_path; }; #endif diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp index e4190b930..3c78eb0bb 100644 --- a/src/widgets/desktop-widget.cpp +++ b/src/widgets/desktop-widget.cpp @@ -2,8 +2,8 @@ /** \file * Desktop widget implementation - * - * Authors: + */ +/* Authors: * Lauris Kaplinski * MenTaLguY * bulia byak @@ -57,7 +57,6 @@ #include "ege-select-one-action.h" #include "ege-color-prof-tracker.h" #include "color-profile-fns.h" -#include "xml/node-observer.h" #include "box3d-context.h" #include "sp-image.h" @@ -114,48 +113,68 @@ static void sp_dtw_zoom_selection (GtkMenuItem *item, gpointer data); SPViewWidgetClass *dtw_parent_class; -using Inkscape::XML::Node; - -class PrefWatcher : public Inkscape::XML::NodeObserver { +class CMSPrefWatcher { public: - PrefWatcher(); - virtual ~PrefWatcher(); - - - virtual void notifyChildAdded( Node &/*node*/, Node &/*child*/, Node */*prev*/ ) {} - virtual void notifyChildRemoved( Node &/*node*/, Node &/*child*/, Node */*prev*/ ) {} - virtual void notifyChildOrderChanged( Node &/*node*/, Node &/*child*/, - Node */*old_prev*/, Node */*new_prev*/ ) {} - virtual void notifyContentChanged( Node &/*node*/, - Inkscape::Util::ptr_shared /*old_content*/, - Inkscape::Util::ptr_shared /*new_content*/ ) {} - virtual void notifyAttributeChanged( Node &node, GQuark name, - Inkscape::Util::ptr_shared old_value, - Inkscape::Util::ptr_shared new_value ); - void add( SPDesktopWidget* dtw ); - void remove( SPDesktopWidget* dtw ); + CMSPrefWatcher() : + _dpw(*this), + _spw(*this), + _tracker(ege_color_prof_tracker_new(0)) + { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + g_signal_connect( G_OBJECT(_tracker), "modified", G_CALLBACK(hook), this ); + prefs->addObserver(_dpw); + prefs->addObserver(_spw); + } + virtual ~CMSPrefWatcher() {} + + //virtual void notify(PrefValue &); + void add( SPDesktopWidget* dtw ) { + _widget_list.push_back(dtw); + } + void remove( SPDesktopWidget* dtw ) { + _widget_list.remove(dtw); + } private: - static void hook(EgeColorProfTracker *tracker, gint a, gint b, PrefWatcher *watcher); + static void hook(EgeColorProfTracker *tracker, gint a, gint b, CMSPrefWatcher *watcher); + + class DisplayProfileWatcher : public Inkscape::Preferences::Observer { + public: + DisplayProfileWatcher(CMSPrefWatcher &pw) : Observer("/options/displayprofile"), _pw(pw) {} + virtual void notify(Inkscape::Preferences::Entry const &val) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + _pw._setCmsSensitive(!prefs->getString("/options/displayprofile/uri").empty()); + _pw._refreshAll(); + } + private: + CMSPrefWatcher &_pw; + }; + + DisplayProfileWatcher _dpw; + + class SoftProofWatcher : public Inkscape::Preferences::Observer { + public: + SoftProofWatcher(CMSPrefWatcher &pw) : Observer("/options/softproof"), _pw(pw) {} + virtual void notify(Inkscape::Preferences::Entry const &) { + _pw._refreshAll(); + } + private: + CMSPrefWatcher &_pw; + }; + + SoftProofWatcher _spw; + + void _refreshAll(); + void _setCmsSensitive(bool value); - std::list dtws; + std::list _widget_list; EgeColorProfTracker *_tracker; + + friend class DisplayProfileWatcher; + friend class SoftproofWatcher; }; -PrefWatcher::PrefWatcher() : - NodeObserver(), - dtws(), - _tracker(0) -{ - _tracker = ege_color_prof_tracker_new(0); - g_signal_connect( G_OBJECT(_tracker), "modified", G_CALLBACK(hook), this ); -} - -PrefWatcher::~PrefWatcher() -{ -} - -void PrefWatcher::hook(EgeColorProfTracker */*tracker*/, gint screen, gint monitor, PrefWatcher */*watcher*/) +void CMSPrefWatcher::hook(EgeColorProfTracker */*tracker*/, gint screen, gint monitor, CMSPrefWatcher */*watcher*/) { #if ENABLE_LCMS unsigned char* buf = 0; @@ -166,56 +185,32 @@ void PrefWatcher::hook(EgeColorProfTracker */*tracker*/, gint screen, gint monit #endif // ENABLE_LCMS } -void PrefWatcher::add( SPDesktopWidget* dtw ) -{ - dtws.push_back(dtw); -} - -void PrefWatcher::remove( SPDesktopWidget* dtw ) +/// @todo Use conditional compilation in saner places. The whole PrefWatcher +/// object is unnecessary if ENABLE_LCMS is not defined. +void CMSPrefWatcher::_refreshAll() { - dtws.remove(dtw); +#if ENABLE_LCMS + for ( std::list::iterator it = _widget_list.begin(); it != _widget_list.end(); ++it ) { + (*it)->requestCanvasUpdate(); + } +#endif // ENABLE_LCMS } -void PrefWatcher::notifyAttributeChanged( Node &node, GQuark name, - Inkscape::Util::ptr_shared /*old_value*/, - Inkscape::Util::ptr_shared /*new_value*/ ) +void CMSPrefWatcher::_setCmsSensitive(bool enabled) { #if ENABLE_LCMS - (void)name; - if ( strcmp("group", node.name()) == 0 ) { - gchar const* id = node.attribute("id"); - bool refresh = false; - if ( !id ) { - // bad - } else if (strcmp("displayprofile", id) == 0) { - Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - Glib::ustring current = prefs->getString("options.displayprofile", "uri"); - bool enabled = !current.empty(); - - for ( std::list::iterator it = dtws.begin(); it != dtws.end(); ++it ) { - SPDesktopWidget* dtw = *it; - if ( GTK_WIDGET_SENSITIVE( dtw->cms_adjust ) != enabled ) { - cms_adjust_set_sensitive( dtw, enabled ); - } - } - refresh = true; - } else if (strcmp("softproof", id) == 0) { - refresh = true; - } - - if ( refresh ) { - for ( std::list::iterator it = dtws.begin(); it != dtws.end(); ++it ) { - (*it)->requestCanvasUpdate(); - } + for ( std::list::iterator it = _widget_list.begin(); it != _widget_list.end(); ++it ) { + SPDesktopWidget *dtw = *it; + if ( GTK_WIDGET_SENSITIVE( dtw->cms_adjust ) != enabled ) { + cms_adjust_set_sensitive( dtw, enabled ); } } #else - (void)node; - (void)name; + (void) enabled; #endif // ENABLE_LCMS } -static PrefWatcher* watcher = 0; +static CMSPrefWatcher* watcher = NULL; void SPDesktopWidget::setMessage (Inkscape::MessageType type, const gchar *message) @@ -317,7 +312,7 @@ sp_desktop_widget_init (SPDesktopWidget *dtw) { using Inkscape::UI::Dialogs::SwatchesPanel; - SwatchesPanel* swatches = new SwatchesPanel("embedded.swatches"); + SwatchesPanel* swatches = new SwatchesPanel("/embedded/swatches"); swatches->setOrientation( Gtk::ANCHOR_SOUTH ); dtw->panels = GTK_WIDGET(swatches->gobj()); gtk_box_pack_end( GTK_BOX( dtw->vbox ), dtw->panels, FALSE, TRUE, 0 ); @@ -378,7 +373,7 @@ sp_desktop_widget_init (SPDesktopWidget *dtw) "sticky_zoom", _("Zoom drawing if window size changes"), dtw->tt); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dtw->sticky_zoom), prefs->getBool("options.stickyzoom", "value")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dtw->sticky_zoom), prefs->getBool("/options/stickyzoom/value")); gtk_box_pack_start (GTK_BOX (dtw->vscrollbar_box), dtw->sticky_zoom, FALSE, FALSE, 0); dtw->vadj = (GtkAdjustment *) gtk_adjustment_new (0.0, -4000.0, 4000.0, 10.0, 100.0, 4.0); dtw->vscrollbar = gtk_vscrollbar_new (GTK_ADJUSTMENT (dtw->vadj)); @@ -402,11 +397,11 @@ sp_desktop_widget_init (SPDesktopWidget *dtw) dtw->tt ); #if ENABLE_LCMS { - Glib::ustring current = prefs->getString("options.displayprofile", "uri"); + Glib::ustring current = prefs->getString("/options/displayprofile/uri"); bool enabled = current.length() > 0; cms_adjust_set_sensitive( dtw, enabled ); if ( enabled ) { - bool active = prefs->getBool("options.displayprofile", "enable"); + bool active = prefs->getBool("/options/displayprofile/enable"); if ( active ) { sp_button_toggle_set_down( SP_BUTTON(dtw->cms_adjust), TRUE ); } @@ -418,10 +413,8 @@ sp_desktop_widget_init (SPDesktopWidget *dtw) #endif // ENABLE_LCMS gtk_table_attach( GTK_TABLE(canvas_tbl), dtw->cms_adjust, 2, 3, 2, 3, (GtkAttachOptions)(GTK_SHRINK), (GtkAttachOptions)(GTK_SHRINK), 0, 0); { - Inkscape::Preferences* prefs = Inkscape::Preferences::get(); if (!watcher) { - watcher = new PrefWatcher(); - prefs->addPrefsObserver( watcher ); + watcher = new CMSPrefWatcher(); } watcher->add(dtw); } @@ -429,20 +422,20 @@ sp_desktop_widget_init (SPDesktopWidget *dtw) /* Canvas */ dtw->canvas = SP_CANVAS (sp_canvas_new_aa ()); #if ENABLE_LCMS - dtw->canvas->enable_cms_display_adj = prefs->getBool("options.displayprofile", "enable"); + dtw->canvas->enable_cms_display_adj = prefs->getBool("/options/displayprofile/enable"); #endif // ENABLE_LCMS GTK_WIDGET_SET_FLAGS (GTK_WIDGET (dtw->canvas), GTK_CAN_FOCUS); style = gtk_style_copy (GTK_WIDGET (dtw->canvas)->style); style->bg[GTK_STATE_NORMAL] = style->white; gtk_widget_set_style (GTK_WIDGET (dtw->canvas), style); - if ( prefs->getBool("options.useextinput", "value", true) ) + if ( prefs->getBool("/options/useextinput/value", true) ) gtk_widget_set_extension_events(GTK_WIDGET (dtw->canvas) , GDK_EXTENSION_EVENTS_ALL); //set extension events for tablets, unless disabled in preferences g_signal_connect (G_OBJECT (dtw->canvas), "event", G_CALLBACK (sp_desktop_widget_event), dtw); gtk_table_attach (GTK_TABLE (canvas_tbl), GTK_WIDGET(dtw->canvas), 1, 2, 1, 2, (GtkAttachOptions)(GTK_FILL | GTK_EXPAND), (GtkAttachOptions)(GTK_FILL | GTK_EXPAND), 0, 0); /* Dock */ bool create_dock = - prefs->getIntLimited("options.dialogtype", "value", Inkscape::UI::Dialog::FLOATING, 0, 1) == + prefs->getIntLimited("/options/dialogtype/value", Inkscape::UI::Dialog::FLOATING, 0, 1) == Inkscape::UI::Dialog::DOCK; if (create_dock) { @@ -782,7 +775,7 @@ void cms_adjust_toggled( GtkWidget */*button*/, gpointer data ) dtw->canvas->enable_cms_display_adj = down; dtw->requestCanvasUpdate(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setBool("options.displayprofile", "enable", down); + prefs->setBool("/options/displayprofile/enable", down); } #endif // ENABLE_LCMS } @@ -948,18 +941,18 @@ SPDesktopWidget::shutdown() Inkscape::Preferences *prefs = Inkscape::Preferences::get(); bool maxed = desktop->is_maximized(); bool full = desktop->is_fullscreen(); - prefs->setBool("desktop.geometry", "fullscreen", full); - prefs->setBool("desktop.geometry", "maximized", maxed); + prefs->setBool("/desktop/geometry/fullscreen", full); + prefs->setBool("/desktop/geometry/maximized", maxed); gint w, h, x, y; desktop->getWindowGeometry(x, y, w, h); // Don't save geom for maximized windows. It // just tells you the current maximized size, which is not // as useful as whatever value it had previously. if (!maxed && !full) { - prefs->setInt("desktop.geometry", "width", w); - prefs->setInt("desktop.geometry", "height", h); - prefs->setInt("desktop.geometry", "x", x); - prefs->setInt("desktop.geometry", "y", y); + prefs->setInt("/desktop/geometry/width", w); + prefs->setInt("/desktop/geometry/height", h); + prefs->setInt("/desktop/geometry/x", x); + prefs->setInt("/desktop/geometry/y", y); } } @@ -1148,10 +1141,10 @@ sp_desktop_widget_maximize(SPDesktopWidget *dtw) Inkscape::Preferences *prefs = Inkscape::Preferences::get(); gint w, h, x, y; dtw->getWindowGeometry(x, y, w, h); - prefs->setInt("desktop.geometry", "width", w); - prefs->setInt("desktop.geometry", "height", h); - prefs->setInt("desktop.geometry", "x", x); - prefs->setInt("desktop.geometry", "y", y); + prefs->setInt("/desktop/geometry/width", w); + prefs->setInt("/desktop/geometry/height", h); + prefs->setInt("/desktop/geometry/x", x); + prefs->setInt("/desktop/geometry/y", y); } gtk_window_maximize(topw); } @@ -1176,10 +1169,10 @@ sp_desktop_widget_fullscreen(SPDesktopWidget *dtw) Inkscape::Preferences *prefs = Inkscape::Preferences::get(); gint w, h, x, y; dtw->getWindowGeometry(x, y, w, h); - prefs->setInt("desktop.geometry", "width", w); - prefs->setInt("desktop.geometry", "height", h); - prefs->setInt("desktop.geometry", "x", x); - prefs->setInt("desktop.geometry", "y", y); + prefs->setInt("/desktop/geometry/width", w); + prefs->setInt("/desktop/geometry/height", h); + prefs->setInt("/desktop/geometry/x", x); + prefs->setInt("/desktop/geometry/y", y); } gtk_window_fullscreen(topw); // widget layout is triggered by the resulting window_state_event @@ -1194,72 +1187,56 @@ sp_desktop_widget_fullscreen(SPDesktopWidget *dtw) void sp_desktop_widget_layout (SPDesktopWidget *dtw) { - gchar * pref_path = NULL; - gchar const * pref_root = NULL; - - if (dtw->desktop->is_focusMode()) { - pref_root = "focus."; - } else if (dtw->desktop->is_fullscreen()) { - pref_root = "fullscreen."; - } else { - pref_root = "window."; - } - - pref_path = g_strconcat(pref_root, "menu", NULL); - + Glib::ustring pref_root; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - if (!prefs->getBool(pref_path, "state", true)) { + if (dtw->desktop->is_focusMode()) { + pref_root = "/focus/"; + } else if (dtw->desktop->is_fullscreen()) { + pref_root = "/fullscreen/"; + } else { + pref_root = "/window/"; + } + + if (!prefs->getBool(pref_root + "menu/state", true)) { gtk_widget_hide_all (dtw->menubar); } else { gtk_widget_show_all (dtw->menubar); } - g_free(pref_path); - pref_path = g_strconcat(pref_root, "commands", NULL); - if (!prefs->getBool(pref_path, "state", true)) { + if (!prefs->getBool(pref_root + "commands/state", true)) { gtk_widget_hide_all (dtw->commands_toolbox); } else { gtk_widget_show_all (dtw->commands_toolbox); } - g_free(pref_path); - pref_path = g_strconcat(pref_root, "toppanel", NULL); - if (!prefs->getBool(pref_path, "state", true)) { + if (!prefs->getBool(pref_root + "toppanel/state", true)) { gtk_widget_hide_all (dtw->aux_toolbox); } else { // we cannot just show_all because that will show all tools' panels; // this is a function from toolbox.cpp that shows only the current tool's panel show_aux_toolbox (dtw->aux_toolbox); } - g_free(pref_path); - pref_path = g_strconcat(pref_root, "toolbox", NULL); - if (!prefs->getBool(pref_path, "state", true)) { + if (!prefs->getBool(pref_root + "toolbox/state", true)) { gtk_widget_hide_all (dtw->tool_toolbox); } else { gtk_widget_show_all (dtw->tool_toolbox); } - g_free(pref_path); - pref_path = g_strconcat(pref_root, "statusbar", NULL); - if (!prefs->getBool(pref_path, "state", true)) { + if (!prefs->getBool(pref_root + "statusbar/state", true)) { gtk_widget_hide_all (dtw->statusbar); } else { gtk_widget_show_all (dtw->statusbar); } - g_free(pref_path); - pref_path = g_strconcat(pref_root, "panels", NULL); - if (!prefs->getBool(pref_path, "state", true)) { + if (!prefs->getBool(pref_root + "panels/state", true)) { gtk_widget_hide_all( dtw->panels ); } else { gtk_widget_show_all( dtw->panels ); } - g_free(pref_path); - pref_path = g_strconcat(pref_root, "scrollbars", NULL); - if (!prefs->getBool(pref_path, "state", true)) { + if (!prefs->getBool(pref_root + "scrollbars/state", true)) { gtk_widget_hide_all (dtw->hscrollbar); gtk_widget_hide_all (dtw->vscrollbar_box); gtk_widget_hide_all( dtw->cms_adjust ); @@ -1268,19 +1245,14 @@ sp_desktop_widget_layout (SPDesktopWidget *dtw) gtk_widget_show_all (dtw->vscrollbar_box); gtk_widget_show_all( dtw->cms_adjust ); } - g_free(pref_path); - pref_path = g_strconcat(pref_root, "rulers", NULL); - if (!prefs->getBool(pref_path, "state", true)) { + if (!prefs->getBool(pref_root + "rulers/state", true)) { gtk_widget_hide_all (dtw->hruler); gtk_widget_hide_all (dtw->vruler); } else { gtk_widget_show_all (dtw->hruler); gtk_widget_show_all (dtw->vruler); } - g_free(pref_path); - - return; } void @@ -1468,7 +1440,7 @@ sp_desktop_widget_adjustment_value_changed (GtkAdjustment */*adj*/, SPDesktopWid bool SPDesktopWidget::onFocusInEvent(GdkEventFocus*) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - if (prefs->getBool("options.bitmapautoreload", "value", true)) { + if (prefs->getBool("/options/bitmapautoreload/value", true)) { GSList const *imageList = sp_document_get_resource_list(desktop->doc(), "image"); for (GSList const *p = imageList; p; p = p->next) { SPImage* image = SP_IMAGE(p->data); @@ -1646,11 +1618,11 @@ sp_desktop_widget_toggle_rulers (SPDesktopWidget *dtw) if (GTK_WIDGET_VISIBLE (dtw->hruler)) { gtk_widget_hide_all (dtw->hruler); gtk_widget_hide_all (dtw->vruler); - prefs->setBool(dtw->desktop->is_fullscreen() ? "fullscreen.rulers" : "window.rulers", "state", false); + prefs->setBool(dtw->desktop->is_fullscreen() ? "/fullscreen/rulers/state" : "/window/rulers/state", false); } else { gtk_widget_show_all (dtw->hruler); gtk_widget_show_all (dtw->vruler); - prefs->setBool(dtw->desktop->is_fullscreen() ? "fullscreen.rulers" : "window.rulers", "state", true); + prefs->setBool(dtw->desktop->is_fullscreen() ? "/fullscreen/rulers/state" : "/window/rulers/state", true); } } @@ -1662,12 +1634,12 @@ sp_desktop_widget_toggle_scrollbars (SPDesktopWidget *dtw) gtk_widget_hide_all (dtw->hscrollbar); gtk_widget_hide_all (dtw->vscrollbar_box); gtk_widget_hide_all( dtw->cms_adjust ); - prefs->setBool(dtw->desktop->is_fullscreen() ? "fullscreen.scrollbars" : "window.scrollbars", "state", false); + prefs->setBool(dtw->desktop->is_fullscreen() ? "/fullscreen/scrollbars/state" : "/window/scrollbars/state", false); } else { gtk_widget_show_all (dtw->hscrollbar); gtk_widget_show_all (dtw->vscrollbar_box); gtk_widget_show_all( dtw->cms_adjust ); - prefs->setBool(dtw->desktop->is_fullscreen() ? "fullscreen.scrollbars" : "window.scrollbars", "state", true); + prefs->setBool(dtw->desktop->is_fullscreen() ? "/fullscreen/scrollbars/state" : "/window/scrollbars/state", true); } } @@ -1690,10 +1662,10 @@ sp_spw_toggle_menubar (SPDesktopWidget *dtw, bool is_fullscreen) Inkscape::Preferences *prefs = Inkscape::Preferences::get(); if (GTK_WIDGET_VISIBLE (dtw->menubar)) { gtk_widget_hide_all (dtw->menubar); - prefs->setBool(is_fullscreen ? "fullscreen.menu" : "window.menu", "state", false); + prefs->setBool(is_fullscreen ? "/fullscreen/menu/state" : "/window/menu/state", false); } else { gtk_widget_show_all (dtw->menubar); - prefs->setBool(is_fullscreen ? "fullscreen.menu" : "window.menu", "state", true); + prefs->setBool(is_fullscreen ? "/fullscreen/menu/state" : "/window/menu/state", true); } } */ diff --git a/src/widgets/gradient-toolbar.cpp b/src/widgets/gradient-toolbar.cpp index afb20cbd5..319ef4be1 100644 --- a/src/widgets/gradient-toolbar.cpp +++ b/src/widgets/gradient-toolbar.cpp @@ -26,7 +26,7 @@ #include "widgets/gradient-image.h" #include "style.h" -#include "prefs-utils.h" +#include "preferences.h" #include "document-private.h" #include "desktop.h" #include "desktop-handles.h" @@ -47,25 +47,27 @@ //######################## static void gr_toggle_type (GtkWidget *button, gpointer data) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); GtkWidget *linear = (GtkWidget *) g_object_get_data (G_OBJECT(data), "linear"); GtkWidget *radial = (GtkWidget *) g_object_get_data (G_OBJECT(data), "radial"); if (button == linear && gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (linear))) { - prefs_set_int_attribute ("tools.gradient", "newgradient", SP_GRADIENT_TYPE_LINEAR); + prefs->setInt("/tools/gradient/newgradient", SP_GRADIENT_TYPE_LINEAR); if (radial) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radial), FALSE); } else if (button == radial && gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (radial))) { - prefs_set_int_attribute ("tools.gradient", "newgradient", SP_GRADIENT_TYPE_RADIAL); + prefs->setInt("/tools/gradient/newgradient", SP_GRADIENT_TYPE_RADIAL); if (linear) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (linear), FALSE); } } static void gr_toggle_fillstroke (GtkWidget *button, gpointer data) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); GtkWidget *fill = (GtkWidget *) g_object_get_data (G_OBJECT(data), "fill"); GtkWidget *stroke = (GtkWidget *) g_object_get_data (G_OBJECT(data), "stroke"); if (button == fill && gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (fill))) { - prefs_set_int_attribute ("tools.gradient", "newfillorstroke", 1); + prefs->setBool("/tools/gradient/newfillorstroke", true); if (stroke) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (stroke), FALSE); } else if (button == stroke && gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (stroke))) { - prefs_set_int_attribute ("tools.gradient", "newfillorstroke", 0); + prefs->setBool("/tools/gradient/newfillorstroke", false); if (fill) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fill), FALSE); } } @@ -113,8 +115,9 @@ gradient. void gr_apply_gradient (Inkscape::Selection *selection, GrDrag *drag, SPGradient *gr) { - SPGradientType new_type = (SPGradientType) prefs_get_int_attribute ("tools.gradient", "newgradient", SP_GRADIENT_TYPE_LINEAR); - guint new_fill = prefs_get_int_attribute ("tools.gradient", "newfillorstroke", 1); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + SPGradientType new_type = (SPGradientType) prefs->getInt("/tools/gradient/newgradient", SP_GRADIENT_TYPE_LINEAR); + guint new_fill = prefs->getBool("/tools/gradient/newfillorstroke", true); // GRADIENTFIXME: make this work for multiple selected draggers. @@ -512,6 +515,7 @@ gr_change_widget (SPDesktop *desktop) GtkWidget * sp_gradient_toolbox_new(SPDesktop *desktop) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); GtkWidget *tbl = gtk_toolbar_new(); gtk_object_set_data(GTK_OBJECT(tbl), "dtw", desktop->canvas); @@ -537,7 +541,7 @@ sp_gradient_toolbox_new(SPDesktop *desktop) g_signal_connect_after (G_OBJECT (button), "clicked", G_CALLBACK (gr_toggle_type), tbl); g_object_set_data(G_OBJECT(tbl), "linear", button); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), - prefs_get_int_attribute ("tools.gradient", "newgradient", SP_GRADIENT_TYPE_LINEAR) == SP_GRADIENT_TYPE_LINEAR); + prefs->getInt("/tools/gradient/newgradient", SP_GRADIENT_TYPE_LINEAR) == SP_GRADIENT_TYPE_LINEAR); gtk_box_pack_start(GTK_BOX(cbox), button, FALSE, FALSE, 0); } @@ -551,7 +555,7 @@ sp_gradient_toolbox_new(SPDesktop *desktop) g_signal_connect_after (G_OBJECT (button), "clicked", G_CALLBACK (gr_toggle_type), tbl); g_object_set_data(G_OBJECT(tbl), "radial", button); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), - prefs_get_int_attribute ("tools.gradient", "newgradient", SP_GRADIENT_TYPE_LINEAR) == SP_GRADIENT_TYPE_RADIAL); + prefs->getInt("/tools/gradient/newgradient", SP_GRADIENT_TYPE_LINEAR) == SP_GRADIENT_TYPE_RADIAL); gtk_box_pack_start(GTK_BOX(cbox), button, FALSE, FALSE, 0); } @@ -579,7 +583,7 @@ sp_gradient_toolbox_new(SPDesktop *desktop) g_signal_connect_after (G_OBJECT (button), "clicked", G_CALLBACK (gr_toggle_fillstroke), tbl); g_object_set_data(G_OBJECT(tbl), "fill", button); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), - prefs_get_int_attribute ("tools.gradient", "newfillorstroke", 1) == 1); + prefs->getBool("/tools/gradient/newfillorstroke", true)); gtk_box_pack_start(GTK_BOX(cbox), button, FALSE, FALSE, 0); } @@ -593,7 +597,7 @@ sp_gradient_toolbox_new(SPDesktop *desktop) g_signal_connect_after (G_OBJECT (button), "clicked", G_CALLBACK (gr_toggle_fillstroke), tbl); g_object_set_data(G_OBJECT(tbl), "stroke", button); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), - prefs_get_int_attribute ("tools.gradient", "newfillorstroke", 1) == 0); + !prefs->getBool("/tools/gradient/newfillorstroke", true)); gtk_box_pack_start(GTK_BOX(cbox), button, FALSE, FALSE, 0); } diff --git a/src/widgets/gradient-vector.cpp b/src/widgets/gradient-vector.cpp index 881f34628..5f4d06172 100644 --- a/src/widgets/gradient-vector.cpp +++ b/src/widgets/gradient-vector.cpp @@ -36,7 +36,7 @@ #include "xml/repr.h" #include "../dialogs/dialog-events.h" -#include "../prefs-utils.h" +#include "../preferences.h" #include "svg/css-ostringstream.h" #include "sp-stop.h" @@ -65,7 +65,7 @@ static guint signals[LAST_SIGNAL] = {0}; static GtkWidget *dlg = NULL; static win_data wd; static gint x = -1000, y = -1000, w = 0, h = 0; // impossible original values to make sure they are read from prefs -static gchar const *prefs_path = "dialogs.gradienteditor"; +static Glib::ustring const prefs_path = "/dialogs/gradienteditor/"; GtkType sp_gradient_vector_selector_get_type (void) @@ -892,67 +892,68 @@ sp_gradient_vector_widget_new (SPGradient *gradient, SPStop *select_stop) GtkWidget * sp_gradient_vector_editor_new (SPGradient *gradient, SPStop *stop) { - GtkWidget *wid; - - if (dlg == NULL) { - - dlg = sp_window_new (_("Gradient editor"), TRUE); - if (x == -1000 || y == -1000) { - x = prefs_get_int_attribute (prefs_path, "x", 0); - y = prefs_get_int_attribute (prefs_path, "y", 0); - } - if (w ==0 || h == 0) { - w = prefs_get_int_attribute (prefs_path, "w", 0); - h = prefs_get_int_attribute (prefs_path, "h", 0); - } - - if (x<0) x=0; - if (y<0) y=0; - - if (x != 0 || y != 0) - gtk_window_move ((GtkWindow *) dlg, x, y); - else - gtk_window_set_position(GTK_WINDOW(dlg), GTK_WIN_POS_CENTER); - if (w && h) gtk_window_resize ((GtkWindow *) dlg, w, h); - sp_transientize (dlg); - wd.win = dlg; - wd.stop = 0; - g_signal_connect (G_OBJECT (INKSCAPE), "activate_desktop", G_CALLBACK (sp_transientize_callback), &wd); - gtk_signal_connect (GTK_OBJECT (dlg), "event", GTK_SIGNAL_FUNC (sp_dialog_event_handler), dlg); - gtk_signal_connect (GTK_OBJECT (dlg), "destroy", G_CALLBACK (sp_gradient_vector_dialog_destroy), dlg); - gtk_signal_connect (GTK_OBJECT (dlg), "delete_event", G_CALLBACK (sp_gradient_vector_dialog_delete), dlg); - g_signal_connect (G_OBJECT (INKSCAPE), "shut_down", G_CALLBACK (sp_gradient_vector_dialog_delete), dlg); - g_signal_connect ( G_OBJECT (INKSCAPE), "dialogs_hide", G_CALLBACK (sp_dialog_hide), dlg ); - g_signal_connect ( G_OBJECT (INKSCAPE), "dialogs_unhide", G_CALLBACK (sp_dialog_unhide), dlg ); - - gtk_container_set_border_width (GTK_CONTAINER (dlg), PAD); - - wid = (GtkWidget*)sp_gradient_vector_widget_new (gradient, stop); - g_object_set_data (G_OBJECT (dlg), "gradient-vector-widget", wid); - /* Connect signals */ - gtk_widget_show (wid); - gtk_container_add (GTK_CONTAINER (dlg), wid); - } else { - // FIXME: temp fix for 0.38 - // Simply load_gradient into the editor does not work for multi-stop gradients, - // as the stop list and other widgets are in a wrong state and crash readily. - // Instead we just delete the window (by sending the delete signal) - // and call sp_gradient_vector_editor_new again, so it creates the window anew. - - GdkEventAny event; - GtkWidget *widget = (GtkWidget *) dlg; - event.type = GDK_DELETE; - event.window = widget->window; - event.send_event = TRUE; - g_object_ref (G_OBJECT (event.window)); - gtk_main_do_event ((GdkEvent*)&event); - g_object_unref (G_OBJECT (event.window)); - - g_assert (dlg == NULL); - sp_gradient_vector_editor_new (gradient, stop); - } - - return dlg; + GtkWidget *wid; + + if (dlg == NULL) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + + dlg = sp_window_new (_("Gradient editor"), TRUE); + if (x == -1000 || y == -1000) { + x = prefs->getInt(prefs_path + "x", -1000); + y = prefs->getInt(prefs_path + "y", -1000); + } + if (w ==0 || h == 0) { + w = prefs->getInt(prefs_path + "w", 0); + h = prefs->getInt(prefs_path + "h", 0); + } + + if (x<0) x=0; + if (y<0) y=0; + + if (x != 0 || y != 0) + gtk_window_move ((GtkWindow *) dlg, x, y); + else + gtk_window_set_position(GTK_WINDOW(dlg), GTK_WIN_POS_CENTER); + if (w && h) gtk_window_resize ((GtkWindow *) dlg, w, h); + sp_transientize (dlg); + wd.win = dlg; + wd.stop = 0; + g_signal_connect (G_OBJECT (INKSCAPE), "activate_desktop", G_CALLBACK (sp_transientize_callback), &wd); + gtk_signal_connect (GTK_OBJECT (dlg), "event", GTK_SIGNAL_FUNC (sp_dialog_event_handler), dlg); + gtk_signal_connect (GTK_OBJECT (dlg), "destroy", G_CALLBACK (sp_gradient_vector_dialog_destroy), dlg); + gtk_signal_connect (GTK_OBJECT (dlg), "delete_event", G_CALLBACK (sp_gradient_vector_dialog_delete), dlg); + g_signal_connect (G_OBJECT (INKSCAPE), "shut_down", G_CALLBACK (sp_gradient_vector_dialog_delete), dlg); + g_signal_connect ( G_OBJECT (INKSCAPE), "dialogs_hide", G_CALLBACK (sp_dialog_hide), dlg ); + g_signal_connect ( G_OBJECT (INKSCAPE), "dialogs_unhide", G_CALLBACK (sp_dialog_unhide), dlg ); + + gtk_container_set_border_width (GTK_CONTAINER (dlg), PAD); + + wid = (GtkWidget*)sp_gradient_vector_widget_new (gradient, stop); + g_object_set_data (G_OBJECT (dlg), "gradient-vector-widget", wid); + /* Connect signals */ + gtk_widget_show (wid); + gtk_container_add (GTK_CONTAINER (dlg), wid); + } else { + // FIXME: temp fix for 0.38 + // Simply load_gradient into the editor does not work for multi-stop gradients, + // as the stop list and other widgets are in a wrong state and crash readily. + // Instead we just delete the window (by sending the delete signal) + // and call sp_gradient_vector_editor_new again, so it creates the window anew. + + GdkEventAny event; + GtkWidget *widget = (GtkWidget *) dlg; + event.type = GDK_DELETE; + event.window = widget->window; + event.send_event = TRUE; + g_object_ref (G_OBJECT (event.window)); + gtk_main_do_event ((GdkEvent*)&event); + g_object_unref (G_OBJECT (event.window)); + + g_assert (dlg == NULL); + sp_gradient_vector_editor_new (gradient, stop); + } + + return dlg; } static void @@ -1051,18 +1052,19 @@ sp_gradient_vector_dialog_destroy (GtkObject *object, gpointer data) static gboolean sp_gradient_vector_dialog_delete (GtkWidget *widget, GdkEvent *event, GtkWidget *dialog) { - gtk_window_get_position ((GtkWindow *) dlg, &x, &y); - gtk_window_get_size ((GtkWindow *) dlg, &w, &h); + gtk_window_get_position ((GtkWindow *) dlg, &x, &y); + gtk_window_get_size ((GtkWindow *) dlg, &w, &h); if (x<0) x=0; if (y<0) y=0; - prefs_set_int_attribute (prefs_path, "x", x); - prefs_set_int_attribute (prefs_path, "y", y); - prefs_set_int_attribute (prefs_path, "w", w); - prefs_set_int_attribute (prefs_path, "h", h); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setInt(prefs_path + "x", x); + prefs->setInt(prefs_path + "y", y); + prefs->setInt(prefs_path + "w", w); + prefs->setInt(prefs_path + "h", h); - return FALSE; // which means, go ahead and destroy it + return FALSE; // which means, go ahead and destroy it } /* Widget destroy handler */ diff --git a/src/widgets/icon.cpp b/src/widgets/icon.cpp index 401d76474..4c0439da7 100644 --- a/src/widgets/icon.cpp +++ b/src/widgets/icon.cpp @@ -27,7 +27,7 @@ #include #include "path-prefix.h" -#include "prefs-utils.h" +#include "preferences.h" #include "inkscape.h" #include "document.h" #include "sp-item.h" @@ -280,7 +280,8 @@ static void setupLegacyNaming() { static GtkWidget * sp_icon_new_full( Inkscape::IconSize lsize, gchar const *name ) { - static gint dump = prefs_get_int_attribute_limited( "debug.icons", "dumpGtk", 0, 0, 1 ); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + static bool dump = prefs->getBool( "/debug/icons/dumpGtk"); GtkWidget *widget = 0; gint trySize = CLAMP( static_cast(lsize), 0, static_cast(G_N_ELEMENTS(iconSizeLookup) - 1) ); @@ -336,7 +337,7 @@ sp_icon_new_full( Inkscape::IconSize lsize, gchar const *name ) // Add a hook to render if set visible before prerender is done. g_signal_connect( G_OBJECT(widget), "map", G_CALLBACK(imageMapNamedCB), GINT_TO_POINTER(0) ); - if ( prefs_get_int_attribute_limited( "options.iconrender", "named_nodelay", 0, 0, 1 ) ) { + if ( prefs->getBool("/options/iconrender/named_nodelay") ) { int psize = sp_icon_get_phys_size(lsize); prerender_icon(name, mappedSize, psize); } else { @@ -408,7 +409,8 @@ static void injectCustomSize() // TODO - still need to handle the case of theme changes and resize, especially as we can't re-register a string. if ( !sizeMapDone ) { - gint dump = prefs_get_int_attribute_limited( "debug.icons", "dumpDefault", 0, 0, 1 ); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + bool dump = prefs->getBool( "/debug/icons/dumpDefault"); gint width = 0; gint height = 0; if ( gtk_icon_size_lookup(GTK_ICON_SIZE_MENU, &width, &height ) ) { @@ -493,7 +495,8 @@ int sp_icon_get_phys_size(int size) if ( !init ) { sizeDirty = false; - gint dump = prefs_get_int_attribute_limited( "debug.icons", "dumpDefault", 0, 0, 1 ); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + bool dump = prefs->getBool("/debug/icons/dumpDefault"); if ( dump ) { g_message( "Default icon sizes:" ); @@ -650,7 +653,8 @@ extern "C" guchar * sp_icon_doc_icon( SPDocument *doc, NRArenaItem *root, gchar const *name, unsigned psize ) { - gint const dump = prefs_get_int_attribute_limited( "debug.icons", "dumpSvg", 0, 0, 1 ); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + bool const dump = prefs->getBool("/debug/icons/dumpSvg"); guchar *px = NULL; if (doc) { @@ -763,7 +767,7 @@ sp_icon_doc_icon( SPDocument *doc, NRArenaItem *root, NR_ARENA_ITEM_RENDER_NO_CACHE ); nr_pixblock_release(&B); - gint useOverlay = prefs_get_int_attribute_limited( "debug.icons", "overlaySvg", 0, 0, 1 ); + bool useOverlay = prefs->getBool("/debug/icons/overlaySvg"); if ( useOverlay ) { sp_icon_overlay_pixels( px, psize, psize, 4 * psize, 0x00, 0x00, 0xff ); } @@ -890,7 +894,8 @@ static void populate_placeholder_icon(gchar const* name, GtkIconSize size) } static void addToIconSet(GdkPixbuf* pb, gchar const* name, GtkIconSize lsize, unsigned psize) { - static gint dump = prefs_get_int_attribute_limited( "debug.icons", "dumpGtk", 0, 0, 1 ); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + static bool dump = prefs->getBool("/debug/icons/dumpGtk"); GtkStockItem stock; gboolean stockFound = gtk_stock_lookup( name, &stock ); if ( !stockFound ) { @@ -924,7 +929,8 @@ static void addToIconSet(GdkPixbuf* pb, gchar const* name, GtkIconSize lsize, un // returns true if icon needed preloading, false if nothing was done bool prerender_icon(gchar const *name, GtkIconSize lsize, unsigned psize) { - static gint dump = prefs_get_int_attribute_limited( "debug.icons", "dumpGtk", 0, 0, 1 ); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + static bool dump = prefs->getBool("/debug/icons/dumpGtk"); Glib::ustring key = icon_cache_key(name, lsize, psize); GdkPixbuf *pb = get_cached_pixbuf(key); if (pb) { diff --git a/src/widgets/select-toolbar.cpp b/src/widgets/select-toolbar.cpp index 5f43f7925..af1883916 100644 --- a/src/widgets/select-toolbar.cpp +++ b/src/widgets/select-toolbar.cpp @@ -25,7 +25,7 @@ #include "widgets/icon.h" #include "widgets/sp-widget.h" -#include "prefs-utils.h" +#include "preferences.h" #include "selection-chemistry.h" #include "document.h" #include "inkscape.h" @@ -39,7 +39,6 @@ #include "helper/units.h" #include "inkscape.h" #include "verbs.h" -#include "prefs-utils.h" #include "selection.h" #include "selection-chemistry.h" #include "sp-item-transform.h" @@ -62,10 +61,11 @@ sp_selection_layout_widget_update(SPWidget *spw, Inkscape::Selection *sel) g_object_set_data(G_OBJECT(spw), "update", GINT_TO_POINTER(TRUE)); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); using Geom::X; using Geom::Y; if ( sel && !sel->isEmpty() ) { - int prefs_bbox = prefs_get_int_attribute("tools", "bounding_box", 0); + int prefs_bbox = prefs->getInt("/tools/bounding_box", 0); SPItem::BBoxType bbox_type = (prefs_bbox ==0)? SPItem::APPROXIMATE_BBOX : SPItem::GEOMETRIC_BBOX; boost::optional const bbox(sel->bounds(bbox_type)); @@ -155,7 +155,8 @@ sp_object_layout_any_value_changed(GtkAdjustment *adj, SPWidget *spw) SPDocument *document = sp_desktop_document(desktop); sp_document_ensure_up_to_date (document); - int prefs_bbox = prefs_get_int_attribute("tools", "bounding_box", 0); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + int prefs_bbox = prefs->getInt("/tools/bounding_box"); SPItem::BBoxType bbox_type = (prefs_bbox ==0)? SPItem::APPROXIMATE_BBOX : SPItem::GEOMETRIC_BBOX; boost::optional bbox = selection->bounds(bbox_type); @@ -236,9 +237,9 @@ sp_object_layout_any_value_changed(GtkAdjustment *adj, SPWidget *spw) sp_canvas_force_full_redraw_after_interruptions(sp_desktop_canvas(desktop), 0); gdouble strokewidth = stroke_average_width (selection->itemList()); - int transform_stroke = prefs_get_int_attribute ("options.transform", "stroke", 1); + int transform_stroke = prefs->getBool("/options/transform/stroke", true) ? 1 : 0; - NR::Matrix scaler = get_scale_transform_with_stroke (*bbox, strokewidth, transform_stroke, x0, y0, x1, y1); + Geom::Matrix scaler = get_scale_transform_with_stroke (*bbox, strokewidth, transform_stroke, x0, y0, x1, y1); sp_selection_apply_affine(selection, scaler); sp_document_maybe_done (document, actionkey, SP_VERB_CONTEXT_SELECT, @@ -292,9 +293,11 @@ static EgeAdjustmentAction * create_adjustment_action( gchar const *name, // toggle button callbacks and updaters -static void toggle_stroke( GtkToggleAction* act, gpointer data ) { - gboolean active = gtk_toggle_action_get_active( act ); - prefs_set_int_attribute( "options.transform", "stroke", active ? 1 : 0 ); +static void toggle_stroke( GtkToggleAction* act, gpointer data ) +{ + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + gboolean active = gtk_toggle_action_get_active(act); + prefs->setBool("/options/transform/stroke", active); SPDesktop *desktop = (SPDesktop *)data; if ( active ) { desktop->messageStack()->flash(Inkscape::INFORMATION_MESSAGE, _("Now stroke width is scaled when objects are scaled.")); @@ -303,9 +306,11 @@ static void toggle_stroke( GtkToggleAction* act, gpointer data ) { } } -static void toggle_corners( GtkToggleAction* act, gpointer data) { - gboolean active = gtk_toggle_action_get_active( act ); - prefs_set_int_attribute( "options.transform", "rectcorners", active ? 1 : 0 ); +static void toggle_corners( GtkToggleAction* act, gpointer data) +{ + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + gboolean active = gtk_toggle_action_get_active(act); + prefs->setBool("/options/transform/rectcorners", active); SPDesktop *desktop = (SPDesktop *)data; if ( active ) { desktop->messageStack()->flash(Inkscape::INFORMATION_MESSAGE, _("Now rounded rectangle corners are scaled when rectangles are scaled.")); @@ -314,9 +319,11 @@ static void toggle_corners( GtkToggleAction* act, gpointer data) { } } -static void toggle_gradient( GtkToggleAction *act, gpointer data ) { - gboolean active = gtk_toggle_action_get_active( act ); - prefs_set_int_attribute( "options.transform", "gradient", active ? 1 : 0 ); +static void toggle_gradient( GtkToggleAction *act, gpointer data ) +{ + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + gboolean active = gtk_toggle_action_get_active(act); + prefs->setBool("/options/transform/gradient", active); SPDesktop *desktop = (SPDesktop *)data; if ( active ) { desktop->messageStack()->flash(Inkscape::INFORMATION_MESSAGE, _("Now gradients are transformed along with their objects when those are transformed (moved, scaled, rotated, or skewed).")); @@ -325,9 +332,11 @@ static void toggle_gradient( GtkToggleAction *act, gpointer data ) { } } -static void toggle_pattern( GtkToggleAction* act, gpointer data ) { - gboolean active = gtk_toggle_action_get_active( act ); - prefs_set_int_attribute( "options.transform", "pattern", active ? 1 : 0 ); +static void toggle_pattern( GtkToggleAction* act, gpointer data ) +{ + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + gboolean active = gtk_toggle_action_get_active(act); + prefs->setInt("/options/transform/pattern", active); SPDesktop *desktop = (SPDesktop *)data; if ( active ) { desktop->messageStack()->flash(Inkscape::INFORMATION_MESSAGE, _("Now patterns are transformed along with their objects when those are transformed (moved, scaled, rotated, or skewed).")); @@ -378,7 +387,8 @@ static GtkAction* create_action_for_verb( Inkscape::Verb* verb, Inkscape::UI::Vi void sp_select_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GObject* holder) { Inkscape::UI::View::View *view = desktop; - Inkscape::IconSize secondarySize = prefToSize("toolbox", "secondary", 1); + Inkscape::IconSize secondarySize = prefToSize("/toolbox/secondary", 1); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); GtkAction* act = 0; @@ -532,7 +542,7 @@ void sp_select_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GOb _("When scaling objects, scale the stroke width by the same proportion"), "transform_stroke", Inkscape::ICON_SIZE_DECORATION ); - gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(itact), prefs_get_int_attribute("options.transform", "stroke", 1) ); + gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(itact), prefs->getBool("/options/transform/stroke", true) ); g_signal_connect_after( G_OBJECT(itact), "toggled", G_CALLBACK(toggle_stroke), desktop) ; gtk_action_group_add_action( mainActions, GTK_ACTION(itact) ); } @@ -543,7 +553,7 @@ void sp_select_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GOb _("When scaling rectangles, scale the radii of rounded corners"), "transform_corners", Inkscape::ICON_SIZE_DECORATION ); - gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(itact), prefs_get_int_attribute("options.transform", "rectcorners", 1) ); + gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(itact), prefs->getBool("/options/transform/rectcorners", true) ); g_signal_connect_after( G_OBJECT(itact), "toggled", G_CALLBACK(toggle_corners), desktop) ; gtk_action_group_add_action( mainActions, GTK_ACTION(itact) ); } @@ -554,7 +564,7 @@ void sp_select_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GOb _("Move gradients (in fill or stroke) along with the objects"), "transform_gradient", Inkscape::ICON_SIZE_DECORATION ); - gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(itact), prefs_get_int_attribute("options.transform", "gradient", 1) ); + gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(itact), prefs->getBool("/options/transform/gradient", true) ); g_signal_connect_after( G_OBJECT(itact), "toggled", G_CALLBACK(toggle_gradient), desktop) ; gtk_action_group_add_action( mainActions, GTK_ACTION(itact) ); } @@ -565,7 +575,7 @@ void sp_select_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GOb _("Move patterns (in fill or stroke) along with the objects"), "transform_pattern", Inkscape::ICON_SIZE_DECORATION ); - gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(itact), prefs_get_int_attribute("options.transform", "pattern", 1) ); + gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(itact), prefs->getBool("/options/transform/pattern", true) ); g_signal_connect_after( G_OBJECT(itact), "toggled", G_CALLBACK(toggle_pattern), desktop) ; gtk_action_group_add_action( mainActions, GTK_ACTION(itact) ); } diff --git a/src/widgets/sp-color-icc-selector.cpp b/src/widgets/sp-color-icc-selector.cpp index 43a2a3cbe..b18290923 100644 --- a/src/widgets/sp-color-icc-selector.cpp +++ b/src/widgets/sp-color-icc-selector.cpp @@ -24,7 +24,7 @@ #include "color-profile.h" //#define DEBUG_LCMS #ifdef DEBUG_LCMS -#include "prefs-utils.h" +#include "preferences.h" #include #endif // DEBUG_LCMS #endif // ENABLE_LCMS @@ -34,10 +34,11 @@ extern guint update_in_progress; #define DEBUG_MESSAGE(key, ...) \ {\ - gint dump = prefs_get_int_attribute_limited("options.scislac", #key, 0, 0, 1);\ - gint dumpD = prefs_get_int_attribute_limited("options.scislac", #key"D", 0, 0, 1);\ - gint dumpD2 = prefs_get_int_attribute_limited("options.scislac", #key"D2", 0, 0, 1);\ - dumpD &= ( (update_in_progress == 0) || dumpD2 );\ + Inkscape::Preferences *prefs = Inkscape::Preferences::get();\ + bool dump = prefs->getBool("/options/scislac/" #key);\ + bool dumpD = prefs->getBool("/options/scislac/" #key "D");\ + bool dumpD2 = prefs->getBool("/options/scislac/" #key "D2");\ + dumpD &&= ( (update_in_progress == 0) || dumpD2 );\ if ( dump )\ {\ g_message( __VA_ARGS__ );\ diff --git a/src/widgets/sp-color-notebook.cpp b/src/widgets/sp-color-notebook.cpp index 376cd8ee5..9766a9498 100644 --- a/src/widgets/sp-color-notebook.cpp +++ b/src/widgets/sp-color-notebook.cpp @@ -26,7 +26,7 @@ #include #include "../dialogs/dialog-events.h" -#include "../prefs-utils.h" +#include "../preferences.h" #include "sp-color-notebook.h" #include "spw-utilities.h" #include "sp-color-scales.h" @@ -97,19 +97,19 @@ sp_color_notebook_class_init (SPColorNotebookClass *klass) static void sp_color_notebook_switch_page(GtkNotebook *notebook, - GtkNotebookPage *page, - guint page_num, - SPColorNotebook *colorbook) + GtkNotebookPage *page, + guint page_num, + SPColorNotebook *colorbook) { - if ( colorbook ) - { + if ( colorbook ) + { ColorNotebook* nb = (ColorNotebook*)(SP_COLOR_SELECTOR(colorbook)->base); nb->switchPage( notebook, page, page_num ); - // remember the page we seitched to - prefs_set_int_attribute ("colorselector", "page", page_num); - - } + // remember the page we seitched to + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setInt("/colorselector/page", page_num); + } } void ColorNotebook::switchPage(GtkNotebook*, @@ -274,7 +274,8 @@ void ColorNotebook::init() XPAD, YPAD); // restore the last active page - gtk_notebook_set_current_page (GTK_NOTEBOOK (_book), prefs_get_int_attribute ("colorselector", "page", 0)); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + gtk_notebook_set_current_page (GTK_NOTEBOOK (_book), prefs->getInt("/colorselector/page", 0)); { gboolean found = FALSE; diff --git a/src/widgets/toolbox.cpp b/src/widgets/toolbox.cpp index b70684692..b945765db 100644 --- a/src/widgets/toolbox.cpp +++ b/src/widgets/toolbox.cpp @@ -1,28 +1,25 @@ -/** \file - * Controls bars for some of Inkscape's tools - * (for some tools, they are in their own files) +/** @file + * @brief Controls bars for some of Inkscape's tools (for some tools, + * they are in their own files) + */ +/* Authors: + * MenTaLguY + * Lauris Kaplinski + * bulia byak + * Frank Felfe + * John Cliff + * David Turner + * Josh Andler + * Jon A. Cruz + * Maximilian Albert + * + * Copyright (C) 2004 David Turner + * Copyright (C) 2003 MenTaLguY + * Copyright (C) 1999-2008 authors + * Copyright (C) 2001-2002 Ximian, Inc. + * + * Released under GNU GPL, read the file 'COPYING' for more information */ - -/* -* -* Authors: -* MenTaLguY -* Lauris Kaplinski -* bulia byak -* Frank Felfe -* John Cliff -* David Turner -* Josh Andler -* Jon A. Cruz -* Maximilian Albert -* -* Copyright (C) 2004 David Turner -* Copyright (C) 2003 MenTaLguY -* Copyright (C) 1999-2008 authors -* Copyright (C) 2001-2002 Ximian, Inc. -* -* Released under GNU GPL, read the file 'COPYING' for more information -*/ #ifdef HAVE_CONFIG_H # include "config.h" @@ -140,14 +137,14 @@ static void sp_lpetool_toolbox_prep(SPDesktop *desktop, GtkActionGroup* ma namespace { GtkWidget *sp_text_toolbox_new (SPDesktop *desktop); } -Inkscape::IconSize prefToSize( gchar const *path, gchar const *attr, int base ) { +Inkscape::IconSize prefToSize( Glib::ustring const &path, int base ) { static Inkscape::IconSize sizeChoices[] = { Inkscape::ICON_SIZE_LARGE_TOOLBAR, Inkscape::ICON_SIZE_SMALL_TOOLBAR, Inkscape::ICON_SIZE_MENU }; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - int index = prefs->getIntLimited( path, attr, base, 0, G_N_ELEMENTS(sizeChoices) ); + int index = prefs->getIntLimited( path, base, 0, G_N_ELEMENTS(sizeChoices) ); return sizeChoices[index]; } @@ -194,29 +191,29 @@ static struct { { "SPNodeContext", "node_toolbox", 0, sp_node_toolbox_prep, "NodeToolbar", SP_VERB_INVALID, 0, 0}, { "SPTweakContext", "tweak_toolbox", 0, sp_tweak_toolbox_prep, "TweakToolbar", - SP_VERB_CONTEXT_TWEAK_PREFS, "tools.tweak", N_("Color/opacity used for color tweaking")}, + SP_VERB_CONTEXT_TWEAK_PREFS, "/tools/tweak", N_("Color/opacity used for color tweaking")}, { "SPZoomContext", "zoom_toolbox", 0, sp_zoom_toolbox_prep, "ZoomToolbar", SP_VERB_INVALID, 0, 0}, { "SPStarContext", "star_toolbox", 0, sp_star_toolbox_prep, "StarToolbar", - SP_VERB_CONTEXT_STAR_PREFS, "tools.shapes.star", N_("Style of new stars")}, + SP_VERB_CONTEXT_STAR_PREFS, "/tools/shapes/star", N_("Style of new stars")}, { "SPRectContext", "rect_toolbox", 0, sp_rect_toolbox_prep, "RectToolbar", - SP_VERB_CONTEXT_RECT_PREFS, "tools.shapes.rect", N_("Style of new rectangles")}, + SP_VERB_CONTEXT_RECT_PREFS, "/tools/shapes/rect", N_("Style of new rectangles")}, { "Box3DContext", "3dbox_toolbox", 0, box3d_toolbox_prep, "3DBoxToolbar", - SP_VERB_CONTEXT_3DBOX_PREFS, "tools.shapes.3dbox", N_("Style of new 3D boxes")}, + SP_VERB_CONTEXT_3DBOX_PREFS, "/tools/shapes/3dbox", N_("Style of new 3D boxes")}, { "SPArcContext", "arc_toolbox", 0, sp_arc_toolbox_prep, "ArcToolbar", - SP_VERB_CONTEXT_ARC_PREFS, "tools.shapes.arc", N_("Style of new ellipses")}, + SP_VERB_CONTEXT_ARC_PREFS, "/tools/shapes/arc", N_("Style of new ellipses")}, { "SPSpiralContext", "spiral_toolbox", 0, sp_spiral_toolbox_prep, "SpiralToolbar", - SP_VERB_CONTEXT_SPIRAL_PREFS, "tools.shapes.spiral", N_("Style of new spirals")}, + SP_VERB_CONTEXT_SPIRAL_PREFS, "/tools/shapes/spiral", N_("Style of new spirals")}, { "SPPencilContext", "pencil_toolbox", 0, sp_pencil_toolbox_prep, "PencilToolbar", - SP_VERB_CONTEXT_PENCIL_PREFS, "tools.freehand.pencil", N_("Style of new paths created by Pencil")}, + SP_VERB_CONTEXT_PENCIL_PREFS, "/tools/freehand/pencil", N_("Style of new paths created by Pencil")}, { "SPPenContext", "pen_toolbox", 0, sp_pen_toolbox_prep, "PenToolbar", - SP_VERB_CONTEXT_PEN_PREFS, "tools.freehand.pen", N_("Style of new paths created by Pen")}, + SP_VERB_CONTEXT_PEN_PREFS, "/tools/freehand/pen", N_("Style of new paths created by Pen")}, { "SPDynaDrawContext", "calligraphy_toolbox", 0, sp_calligraphy_toolbox_prep,"CalligraphyToolbar", - SP_VERB_CONTEXT_CALLIGRAPHIC_PREFS, "tools.calligraphic", N_("Style of new calligraphic strokes")}, + SP_VERB_CONTEXT_CALLIGRAPHIC_PREFS, "/tools/calligraphic", N_("Style of new calligraphic strokes")}, { "SPEraserContext", "eraser_toolbox", 0, sp_eraser_toolbox_prep,"EraserToolbar", - SP_VERB_CONTEXT_ERASER_PREFS, "tools.eraser", _("TBD")}, + SP_VERB_CONTEXT_ERASER_PREFS, "/tools/eraser", _("TBD")}, { "SPLPEToolContext", "lpetool_toolbox", 0, sp_lpetool_toolbox_prep, "LPEToolToolbar", - SP_VERB_CONTEXT_LPETOOL_PREFS, "tools.lpetool", _("TBD")}, + SP_VERB_CONTEXT_LPETOOL_PREFS, "/tools/lpetool", _("TBD")}, { "SPTextContext", "text_toolbox", sp_text_toolbox_new, 0, 0, SP_VERB_INVALID, 0, 0}, { "SPDropperContext", "dropper_toolbox", 0, sp_dropper_toolbox_prep, "DropperToolbar", @@ -226,7 +223,7 @@ static struct { { "SPConnectorContext", "connector_toolbox", 0, sp_connector_toolbox_prep, "ConnectorToolbar", SP_VERB_INVALID, 0, 0}, { "SPFloodContext", "paintbucket_toolbox", 0, sp_paintbucket_toolbox_prep, "PaintbucketToolbar", - SP_VERB_CONTEXT_PAINTBUCKET_PREFS, "tools.paintbucket", N_("Style of Paint Bucket fill objects")}, + SP_VERB_CONTEXT_PAINTBUCKET_PREFS, "/tools/paintbucket", N_("Style of Paint Bucket fill objects")}, { NULL, NULL, NULL, NULL, NULL, SP_VERB_INVALID, NULL, NULL } }; @@ -276,6 +273,7 @@ static gchar const * ui_descr = " " " " " " + " " " " " " " " @@ -561,7 +559,7 @@ Gtk::Widget* VerbAction::create_menu_item_vfunc() Gtk::Widget* VerbAction::create_tool_item_vfunc() { // Gtk::Widget* widg = Gtk::Action::create_tool_item_vfunc(); - Inkscape::IconSize toolboxSize = prefToSize("toolbox.tools", "small"); + Inkscape::IconSize toolboxSize = prefToSize("/toolbox/tools/small"); GtkWidget* toolbox = 0; GtkWidget *button = sp_toolbox_button_new_from_verb_with_doubleclick( toolbox, toolboxSize, SP_BUTTON_TYPE_TOGGLE, @@ -768,7 +766,7 @@ Glib::RefPtr create_or_fetch_actions( SPDesktop* desktop ) SP_VERB_ZOOM_SELECTION, }; - Inkscape::IconSize toolboxSize = prefToSize("toolbox", "small"); + Inkscape::IconSize toolboxSize = prefToSize("/toolbox/small"); static std::map > groups; Glib::RefPtr mainActions; @@ -913,7 +911,7 @@ sp_commands_toolbox_new() static EgeAdjustmentAction * create_adjustment_action( gchar const *name, gchar const *label, gchar const *shortLabel, gchar const *tooltip, - gchar const *path, gchar const *data, gdouble def, + Glib::ustring const &path, gdouble def, GtkWidget *focusTarget, GtkWidget *us, GObject *dataKludge, @@ -924,7 +922,7 @@ static EgeAdjustmentAction * create_adjustment_action( gchar const *name, gdouble climb = 0.1, guint digits = 3, double factor = 1.0 ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - GtkAdjustment* adj = GTK_ADJUSTMENT( gtk_adjustment_new( prefs->getDouble(path, data, def) * factor, + GtkAdjustment* adj = GTK_ADJUSTMENT( gtk_adjustment_new( prefs->getDouble(path, def) * factor, lower, upper, step, page, page ) ); if (us) { sp_unit_selector_add_adjustment( SP_UNIT_SELECTOR(us), adj ); @@ -950,7 +948,9 @@ static EgeAdjustmentAction * create_adjustment_action( gchar const *name, } if ( dataKludge ) { - g_object_set_data( dataKludge, data, adj ); + // Rather lame, but it's the only place where we need to get the entry name + // but we don't have an Entry + g_object_set_data( dataKludge, prefs->getEntry(path).getEntryName().data(), adj ); } // Using a cast just to make sure we pass in the right kind of function pointer @@ -1060,10 +1060,17 @@ sp_node_path_edit_symmetrical(void) if (shape_editor) shape_editor->set_node_type(Inkscape::NodePath::NODE_SYMM); } +void +sp_node_path_edit_auto(void) +{ + ShapeEditor *shape_editor = get_current_shape_editor(); + if (shape_editor) shape_editor->set_node_type(Inkscape::NodePath::NODE_AUTO); +} + static void toggle_show_handles (GtkToggleAction *act, gpointer /*data*/) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); bool show = gtk_toggle_action_get_active( act ); - prefs->setBool("tools.nodes", "show_handles", show); + prefs->setBool("/tools/nodes/show_handles", show); ShapeEditor *shape_editor = get_current_shape_editor(); if (shape_editor) shape_editor->show_handles(show); } @@ -1071,7 +1078,7 @@ static void toggle_show_handles (GtkToggleAction *act, gpointer /*data*/) { static void toggle_show_helperpath (GtkToggleAction *act, gpointer /*data*/) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); bool show = gtk_toggle_action_get_active( act ); - prefs->setBool("tools.nodes", "show_helperpath", show); + prefs->setBool("/tools/nodes/show_helperpath", show); ShapeEditor *shape_editor = get_current_shape_editor(); if (shape_editor) shape_editor->show_helperpath(show); } @@ -1164,7 +1171,7 @@ sp_node_path_value_changed(GtkAdjustment *adj, GObject *tbl, gchar const *value_ SPUnit const *unit = tracker->getActiveUnit(); if (sp_document_get_undo_sensitive(sp_desktop_document(desktop))) { - prefs->setDouble("tools.nodes", value_name, sp_units_get_pixels(adj->value, *unit)); + prefs->setDouble(Glib::ustring("/tools/nodes/") + value_name, sp_units_get_pixels(adj->value, *unit)); } // quit if run by the attr_changed listener @@ -1258,7 +1265,7 @@ static void sp_node_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions tracker->setActiveUnit( sp_desktop_namedview(desktop)->doc_units ); g_object_set_data( holder, "tracker", tracker ); - Inkscape::IconSize secondarySize = prefToSize("toolbox", "secondary", 1); + Inkscape::IconSize secondarySize = prefToSize("/toolbox/secondary", 1); { InkAction* inky = ink_action_new( "NodeInsertAction", @@ -1354,6 +1361,16 @@ static void sp_node_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions gtk_action_group_add_action( mainActions, GTK_ACTION(inky) ); } + { + InkAction* inky = ink_action_new( "NodeAutoAction", + _("Node Auto"), + _("Make selected nodes auto-smooth"), + "node_auto", + secondarySize ); + g_signal_connect_after( G_OBJECT(inky), "activate", G_CALLBACK(sp_node_path_edit_auto), 0 ); + gtk_action_group_add_action( mainActions, GTK_ACTION(inky) ); + } + { InkAction* inky = ink_action_new( "NodeLineAction", _("Node Line"), @@ -1382,7 +1399,7 @@ static void sp_node_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions Inkscape::ICON_SIZE_DECORATION ); gtk_action_group_add_action( mainActions, GTK_ACTION( act ) ); g_signal_connect_after( G_OBJECT(act), "toggled", G_CALLBACK(toggle_show_handles), desktop ); - gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool("tools.nodes", "show_handles", true) ); + gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool("/tools/nodes/show_handles", true) ); } { @@ -1393,7 +1410,7 @@ static void sp_node_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions Inkscape::ICON_SIZE_DECORATION ); gtk_action_group_add_action( mainActions, GTK_ACTION( act ) ); g_signal_connect_after( G_OBJECT(act), "toggled", G_CALLBACK(toggle_show_helperpath), desktop ); - gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool("tools.nodes", "show_helperpath", false) ); + gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool("/tools/nodes/show_helperpath", false) ); } { @@ -1436,7 +1453,7 @@ static void sp_node_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions gdouble values[] = {1, 2, 3, 5, 10, 20, 50, 100, 200, 500}; eact = create_adjustment_action( "NodeXAction", _("X coordinate:"), _("X:"), _("X coordinate of selected node(s)"), - "tools.nodes", "Xcoord", 0, + "/tools/nodes/Xcoord", 0, GTK_WIDGET(desktop->canvas), NULL/*us*/, holder, TRUE, "altx-nodes", -1e6, 1e6, SPIN_STEP, SPIN_PAGE_STEP, labels, values, G_N_ELEMENTS(labels), @@ -1454,7 +1471,7 @@ static void sp_node_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions gdouble values[] = {1, 2, 3, 5, 10, 20, 50, 100, 200, 500}; eact = create_adjustment_action( "NodeYAction", _("Y coordinate:"), _("Y:"), _("Y coordinate of selected node(s)"), - "tools.nodes", "Ycoord", 0, + "/tools/nodes/Ycoord", 0, GTK_WIDGET(desktop->canvas), NULL/*us*/, holder, FALSE, NULL, -1e6, 1e6, SPIN_STEP, SPIN_PAGE_STEP, labels, values, G_N_ELEMENTS(labels), @@ -1608,10 +1625,10 @@ setup_tool_toolbox(GtkWidget *toolbox, SPDesktop *desktop) gtk_ui_manager_add_ui_from_string( mgr, descr, -1, &errVal ); GtkWidget* toolBar = gtk_ui_manager_get_widget( mgr, "/ui/ToolToolbar" ); - if ( prefs->getIntLimited("toolbox", "icononly", 1, 0, 1) ) { + if ( prefs->getBool("/toolbox/icononly", true) ) { gtk_toolbar_set_style( GTK_TOOLBAR(toolBar), GTK_TOOLBAR_ICONS ); } - Inkscape::IconSize toolboxSize = prefToSize("toolbox.tools", "small"); + Inkscape::IconSize toolboxSize = prefToSize("/toolbox/tools/small"); gtk_toolbar_set_icon_size( GTK_TOOLBAR(toolBar), (GtkIconSize)toolboxSize ); gtk_toolbar_set_orientation(GTK_TOOLBAR(toolBar), GTK_ORIENTATION_VERTICAL); @@ -1625,7 +1642,7 @@ setup_tool_toolbox(GtkWidget *toolbox, SPDesktop *desktop) } gtk_container_add( GTK_CONTAINER(toolbox), toolBar ); -// Inkscape::IconSize toolboxSize = prefToSize("toolbox.tools", "small"); +// Inkscape::IconSize toolboxSize = prefToSize("/toolbox/tools/small"); } @@ -1703,9 +1720,8 @@ setup_aux_toolbox(GtkWidget *toolbox, SPDesktop *desktop) g_free( tmp ); tmp = 0; - Inkscape::IconSize toolboxSize = prefToSize("toolbox", "small"); - /// @todo convert to getBool - if ( prefs->getIntLimited( "toolbox", "icononly", 1, 0, 1 ) ) { + Inkscape::IconSize toolboxSize = prefToSize("/toolbox/small"); + if ( prefs->getBool( "/toolbox/icononly", true) ) { gtk_toolbar_set_style( GTK_TOOLBAR(toolBar), GTK_TOOLBAR_ICONS ); } gtk_toolbar_set_icon_size( GTK_TOOLBAR(toolBar), static_cast(toolboxSize) ); @@ -1803,11 +1819,11 @@ setup_commands_toolbox(GtkWidget *toolbox, SPDesktop *desktop) gtk_ui_manager_add_ui_from_string( mgr, descr, -1, &errVal ); GtkWidget* toolBar = gtk_ui_manager_get_widget( mgr, "/ui/CommandsToolbar" ); - if ( prefs->getBool("toolbox", "icononly", true) ) { + if ( prefs->getBool("/toolbox/icononly", true) ) { gtk_toolbar_set_style( GTK_TOOLBAR(toolBar), GTK_TOOLBAR_ICONS ); } - Inkscape::IconSize toolboxSize = prefToSize("toolbox", "small"); + Inkscape::IconSize toolboxSize = prefToSize("/toolbox/small"); gtk_toolbar_set_icon_size( GTK_TOOLBAR(toolBar), (GtkIconSize)toolboxSize ); gtk_toolbar_set_orientation(GTK_TOOLBAR(toolBar), GTK_ORIENTATION_HORIZONTAL); @@ -1870,7 +1886,7 @@ static void sp_stb_magnitude_value_changed( GtkAdjustment *adj, GObject *dataKlu // do not remember prefs if this call is initiated by an undo change, because undoing object // creation sets bogus values to its attributes before it is deleted Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setInt("tools.shapes.star", "magnitude", (gint)adj->value); + prefs->setInt("/tools/shapes/star/magnitude", (gint)adj->value); } // quit if run by the attr_changed listener @@ -1908,7 +1924,7 @@ static void sp_stb_proportion_value_changed( GtkAdjustment *adj, GObject *dataKl if (sp_document_get_undo_sensitive(sp_desktop_document(desktop))) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble("tools.shapes.star", "proportion", adj->value); + prefs->setDouble("/tools/shapes/star/proportion", adj->value); } // quit if run by the attr_changed listener @@ -1952,7 +1968,7 @@ static void sp_stb_sides_flat_state_changed( EgeSelectOneAction *act, GObject *d if (sp_document_get_undo_sensitive(sp_desktop_document(desktop))) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setBool( "tools.shapes.star", "isflatsided", flat); + prefs->setBool( "/tools/shapes/star/isflatsided", flat); } // quit if run by the attr_changed listener @@ -1995,7 +2011,7 @@ static void sp_stb_rounded_value_changed( GtkAdjustment *adj, GObject *dataKludg if (sp_document_get_undo_sensitive(sp_desktop_document(desktop))) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble("tools.shapes.star", "rounded", (gdouble) adj->value); + prefs->setDouble("/tools/shapes/star/rounded", (gdouble) adj->value); } // quit if run by the attr_changed listener @@ -2030,7 +2046,7 @@ static void sp_stb_randomized_value_changed( GtkAdjustment *adj, GObject *dataKl if (sp_document_get_undo_sensitive(sp_desktop_document(desktop))) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble("tools.shapes.star", "randomized", (gdouble) adj->value); + prefs->setDouble("/tools/shapes/star/randomized", (gdouble) adj->value); } // quit if run by the attr_changed listener @@ -2077,7 +2093,7 @@ static void star_tb_event_attr_changed(Inkscape::XML::Node *repr, gchar const *n GtkAdjustment *adj = 0; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - bool isFlatSided = prefs->getBool("tools.shapes.star", "isflatsided", true); + bool isFlatSided = prefs->getBool("/tools/shapes/star/isflatsided", true); if (!strcmp(name, "inkscape:randomized")) { adj = GTK_ADJUSTMENT( gtk_object_get_data(GTK_OBJECT(tbl), "randomized") ); @@ -2223,7 +2239,7 @@ sp_toolbox_add_label(GtkWidget *tbl, gchar const *title, bool wide) static void sp_star_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GObject* holder) { - Inkscape::IconSize secondarySize = prefToSize("toolbox", "secondary", 1); + Inkscape::IconSize secondarySize = prefToSize("/toolbox/secondary", 1); { EgeOutputAction* act = ege_output_action_new( "StarStateAction", _("New:"), "", 0 ); @@ -2235,7 +2251,7 @@ static void sp_star_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions { EgeAdjustmentAction* eact = 0; Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - bool isFlatSided = prefs->getBool("tools.shapes.star", "isflatsided", true); + bool isFlatSided = prefs->getBool("/tools/shapes/star/isflatsided", true); /* Flatsided checkbox */ { @@ -2277,7 +2293,7 @@ static void sp_star_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions gdouble values[] = {3, 4, 5, 6, 7, 8, 10, 12, 20}; eact = create_adjustment_action( "MagnitudeAction", _("Corners"), _("Corners:"), _("Number of corners of a polygon or star"), - "tools.shapes.star", "magnitude", 3, + "/tools/shapes/star/magnitude", 3, GTK_WIDGET(desktop->canvas), NULL, holder, FALSE, NULL, 3, 1024, 1, 5, labels, values, G_N_ELEMENTS(labels), @@ -2296,7 +2312,7 @@ static void sp_star_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions // TRANSLATORS: Tip radius of a star is the distance from the center to the farthest handle. // Base radius is the same for the closest handle. _("Base radius to tip radius ratio"), - "tools.shapes.star", "proportion", 0.5, + "/tools/shapes/star/proportion", 0.5, GTK_WIDGET(desktop->canvas), NULL, holder, FALSE, NULL, 0.01, 1.0, 0.01, 0.1, labels, values, G_N_ELEMENTS(labels), @@ -2317,7 +2333,7 @@ static void sp_star_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions gdouble values[] = {-1, -0.2, -0.03, 0, 0.05, 0.1, 0.2, 0.3, 0.5, 1, 10}; eact = create_adjustment_action( "RoundednessAction", _("Rounded"), _("Rounded:"), _("How much rounded are the corners (0 for sharp)"), - "tools.shapes.star", "rounded", 0.0, + "/tools/shapes/star/rounded", 0.0, GTK_WIDGET(desktop->canvas), NULL, holder, FALSE, NULL, -10.0, 10.0, 0.01, 0.1, labels, values, G_N_ELEMENTS(labels), @@ -2332,7 +2348,7 @@ static void sp_star_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions gdouble values[] = {0, 0.01, 0.1, 0.5, 10}; eact = create_adjustment_action( "RandomizationAction", _("Randomized"), _("Randomized:"), _("Scatter randomly the corners and angles"), - "tools.shapes.star", "randomized", 0.0, + "/tools/shapes/star/randomized", 0.0, GTK_WIDGET(desktop->canvas), NULL, holder, FALSE, NULL, -10.0, 10.0, 0.001, 0.01, labels, values, G_N_ELEMENTS(labels), @@ -2392,7 +2408,7 @@ sp_rtb_value_changed(GtkAdjustment *adj, GObject *tbl, gchar const *value_name, if (sp_document_get_undo_sensitive(sp_desktop_document(desktop))) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble("tools.shapes.rect", value_name, sp_units_get_pixels(adj->value, *unit)); + prefs->setDouble(Glib::ustring("/tools/shapes/rect/") + value_name, sp_units_get_pixels(adj->value, *unit)); } // quit if run by the attr_changed listener @@ -2592,7 +2608,7 @@ sp_rect_toolbox_selection_changed(Inkscape::Selection *selection, GObject *tbl) static void sp_rect_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GObject* holder) { EgeAdjustmentAction* eact = 0; - Inkscape::IconSize secondarySize = prefToSize("toolbox", "secondary", 1); + Inkscape::IconSize secondarySize = prefToSize("/toolbox/secondary", 1); { EgeOutputAction* act = ege_output_action_new( "RectStateAction", _("New:"), "", 0 ); @@ -2614,7 +2630,7 @@ static void sp_rect_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions gdouble values[] = {1, 2, 3, 5, 10, 20, 50, 100, 200, 500}; eact = create_adjustment_action( "RectWidthAction", _("Width"), _("W:"), _("Width of rectangle"), - "tools.shapes.rect", "width", 0, + "/tools/shapes/rect/width", 0, GTK_WIDGET(desktop->canvas), NULL/*us*/, holder, TRUE, "altx-rect", 0, 1e6, SPIN_STEP, SPIN_PAGE_STEP, labels, values, G_N_ELEMENTS(labels), @@ -2631,7 +2647,7 @@ static void sp_rect_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions gdouble values[] = {1, 2, 3, 5, 10, 20, 50, 100, 200, 500}; eact = create_adjustment_action( "RectHeightAction", _("Height"), _("H:"), _("Height of rectangle"), - "tools.shapes.rect", "height", 0, + "/tools/shapes/rect/height", 0, GTK_WIDGET(desktop->canvas), NULL/*us*/, holder, FALSE, NULL, 0, 1e6, SPIN_STEP, SPIN_PAGE_STEP, labels, values, G_N_ELEMENTS(labels), @@ -2648,7 +2664,7 @@ static void sp_rect_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions gdouble values[] = {0.5, 1, 2, 3, 5, 10, 20, 50, 100}; eact = create_adjustment_action( "RadiusXAction", _("Horizontal radius"), _("Rx:"), _("Horizontal radius of rounded corners"), - "tools.shapes.rect", "rx", 0, + "/tools/shapes/rect/rx", 0, GTK_WIDGET(desktop->canvas), NULL/*us*/, holder, FALSE, NULL, 0, 1e6, SPIN_STEP, SPIN_PAGE_STEP, labels, values, G_N_ELEMENTS(labels), @@ -2663,7 +2679,7 @@ static void sp_rect_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions gdouble values[] = {0.5, 1, 2, 3, 5, 10, 20, 50, 100}; eact = create_adjustment_action( "RadiusYAction", _("Vertical radius"), _("Ry:"), _("Vertical radius of rounded corners"), - "tools.shapes.rect", "ry", 0, + "/tools/shapes/rect/ry", 0, GTK_WIDGET(desktop->canvas), NULL/*us*/, holder, FALSE, NULL, 0, 1e6, SPIN_STEP, SPIN_PAGE_STEP, labels, values, G_N_ELEMENTS(labels), @@ -2777,16 +2793,14 @@ static void box3d_persp_tb_event_attr_changed(Inkscape::XML::Node *repr, gchar c { GtkWidget *tbl = GTK_WIDGET(data); - // quit if run by the attr_changed listener - // note: it used to work without the differently called freeze_ attributes (here and in - // box3d_angle_value_changed()) but I now it doesn't so I'm leaving them in for now - if (g_object_get_data(G_OBJECT(tbl), "freeze_angle")) { + // quit if run by the attr_changed or selection changed listener + if (g_object_get_data(G_OBJECT(tbl), "freeze")) { return; } // set freeze so that it can be caught in box3d_angle_z_value_changed() (to avoid calling // sp_document_maybe_done() when the document is undo insensitive) - g_object_set_data(G_OBJECT(tbl), "freeze_attr", GINT_TO_POINTER(TRUE)); + g_object_set_data(G_OBJECT(tbl), "freeze", GINT_TO_POINTER(TRUE)); // TODO: Only update the appropriate part of the toolbar // if (!strcmp(name, "inkscape:vp_z")) { @@ -2796,7 +2810,7 @@ static void box3d_persp_tb_event_attr_changed(Inkscape::XML::Node *repr, gchar c Persp3D *persp = persp3d_get_from_repr(repr); persp3d_update_box_reprs(persp); - g_object_set_data(G_OBJECT(tbl), "freeze_attr", GINT_TO_POINTER(FALSE)); + g_object_set_data(G_OBJECT(tbl), "freeze", GINT_TO_POINTER(FALSE)); } static Inkscape::XML::NodeEventVector box3d_persp_tb_repr_events = @@ -2838,9 +2852,11 @@ box3d_toolbox_selection_changed(Inkscape::Selection *selection, GObject *tbl) inkscape_active_document()->current_persp3d = persp3d_get_from_repr(persp_repr); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setString("tools.shapes.3dbox", "persp", persp_repr->attribute("id")); + prefs->setString("/tools/shapes/3dbox/persp", persp_repr->attribute("id")); + g_object_set_data(tbl, "freeze", GINT_TO_POINTER(TRUE)); box3d_resync_toolbar(persp_repr, tbl); + g_object_set_data(tbl, "freeze", GINT_TO_POINTER(FALSE)); } } @@ -2850,15 +2866,13 @@ box3d_angle_value_changed(GtkAdjustment *adj, GObject *dataKludge, Proj::Axis ax SPDesktop *desktop = (SPDesktop *) g_object_get_data( dataKludge, "desktop" ); SPDocument *document = sp_desktop_document(desktop); - // quit if run by the attr_changed listener - // note: it used to work without the differently called freeze_ attributes (here and in - // box3d_persp_tb_event_attr_changed()) but I now it doesn't so I'm leaving them in for now - if (g_object_get_data( dataKludge, "freeze_attr" )) { + // quit if run by the attr_changed or selection changed listener + if (g_object_get_data( dataKludge, "freeze" )) { return; } // in turn, prevent listener from responding - g_object_set_data(dataKludge, "freeze_angle", GINT_TO_POINTER(TRUE)); + g_object_set_data(dataKludge, "freeze", GINT_TO_POINTER(TRUE)); //Persp3D *persp = document->current_persp3d; std::list sel_persps = sp_desktop_selection(desktop)->perspList(); @@ -2874,7 +2888,7 @@ box3d_angle_value_changed(GtkAdjustment *adj, GObject *dataKludge, Proj::Axis ax // TODO: use the correct axis here, too sp_document_maybe_done(document, "perspangle", SP_VERB_CONTEXT_3DBOX, _("3D Box: Change perspective (angle of infinite axis)")); - g_object_set_data( dataKludge, "freeze_angle", GINT_TO_POINTER(FALSE) ); + g_object_set_data( dataKludge, "freeze", GINT_TO_POINTER(FALSE) ); } @@ -2945,7 +2959,7 @@ static void box3d_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, _("Angle in X direction"), _("Angle X:"), // Translators: PL is short for 'perspective line' _("Angle of PLs in X direction"), - "tools.shapes.3dbox", "box3d_angle_x", 30, + "/tools/shapes/3dbox/box3d_angle_x", 30, GTK_WIDGET(desktop->canvas), NULL, holder, TRUE, "altx-box3d", -360.0, 360.0, 1.0, 10.0, labels, values, G_N_ELEMENTS(labels), @@ -2973,8 +2987,8 @@ static void box3d_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, gtk_action_group_add_action( mainActions, GTK_ACTION( act ) ); g_object_set_data( holder, "box3d_vp_x_state_action", act ); g_signal_connect_after( G_OBJECT(act), "toggled", G_CALLBACK(box3d_vp_x_state_changed), box3d_angle_x ); - gtk_action_set_sensitive( GTK_ACTION(box3d_angle_x), !prefs->getBool("tools.shapes.3dbox", "vp_x_state", true) ); - gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool("tools.shapes.3dbox", "vp_x_state", true) ); + gtk_action_set_sensitive( GTK_ACTION(box3d_angle_x), !prefs->getBool("/tools/shapes/3dbox/vp_x_state", true) ); + gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool("/tools/shapes/3dbox/vp_x_state", true) ); } /* Angle Y */ @@ -2985,7 +2999,7 @@ static void box3d_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, _("Angle in Y direction"), _("Angle Y:"), // Translators: PL is short for 'perspective line' _("Angle of PLs in Y direction"), - "tools.shapes.3dbox", "box3d_angle_y", 30, + "/tools/shapes/3dbox/box3d_angle_y", 30, GTK_WIDGET(desktop->canvas), NULL, holder, FALSE, NULL, -360.0, 360.0, 1.0, 10.0, labels, values, G_N_ELEMENTS(labels), @@ -3012,8 +3026,8 @@ static void box3d_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, gtk_action_group_add_action( mainActions, GTK_ACTION( act ) ); g_object_set_data( holder, "box3d_vp_y_state_action", act ); g_signal_connect_after( G_OBJECT(act), "toggled", G_CALLBACK(box3d_vp_y_state_changed), box3d_angle_y ); - gtk_action_set_sensitive( GTK_ACTION(box3d_angle_y), !prefs->getBool("tools.shapes.3dbox", "vp_y_state", true) ); - gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool("tools.shapes.3dbox", "vp_y_state", true) ); + gtk_action_set_sensitive( GTK_ACTION(box3d_angle_y), !prefs->getBool("/tools/shapes/3dbox/vp_y_state", true) ); + gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool("/tools/shapes/3dbox/vp_y_state", true) ); } /* Angle Z */ @@ -3024,7 +3038,7 @@ static void box3d_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, _("Angle in Z direction"), _("Angle Z:"), // Translators: PL is short for 'perspective line' _("Angle of PLs in Z direction"), - "tools.shapes.3dbox", "box3d_angle_z", 30, + "/tools/shapes/3dbox/box3d_angle_z", 30, GTK_WIDGET(desktop->canvas), NULL, holder, FALSE, NULL, -360.0, 360.0, 1.0, 10.0, labels, values, G_N_ELEMENTS(labels), @@ -3051,8 +3065,8 @@ static void box3d_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, gtk_action_group_add_action( mainActions, GTK_ACTION( act ) ); g_object_set_data( holder, "box3d_vp_z_state_action", act ); g_signal_connect_after( G_OBJECT(act), "toggled", G_CALLBACK(box3d_vp_z_state_changed), box3d_angle_z ); - gtk_action_set_sensitive( GTK_ACTION(box3d_angle_z), !prefs->getBool("tools.shapes.3dbox", "vp_z_state", true) ); - gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool("tools.shapes.3dbox", "vp_z_state", true) ); + gtk_action_set_sensitive( GTK_ACTION(box3d_angle_z), !prefs->getBool("/tools/shapes/3dbox/vp_z_state", true) ); + gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool("/tools/shapes/3dbox/vp_z_state", true) ); } sigc::connection *connection = new sigc::connection( @@ -3067,13 +3081,13 @@ static void box3d_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, //######################## static void -sp_spl_tb_value_changed(GtkAdjustment *adj, GObject *tbl, gchar const *value_name) +sp_spl_tb_value_changed(GtkAdjustment *adj, GObject *tbl, Glib::ustring const &value_name) { SPDesktop *desktop = (SPDesktop *) g_object_get_data( tbl, "desktop" ); if (sp_document_get_undo_sensitive(sp_desktop_document(desktop))) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble("tools.shapes.spiral", value_name, adj->value); + prefs->setDouble("/tools/shapes/spiral/" + value_name, adj->value); } // quit if run by the attr_changed listener @@ -3084,7 +3098,7 @@ sp_spl_tb_value_changed(GtkAdjustment *adj, GObject *tbl, gchar const *value_nam // in turn, prevent listener from responding g_object_set_data( tbl, "freeze", GINT_TO_POINTER(TRUE) ); - gchar* namespaced_name = g_strconcat("sodipodi:", value_name, NULL); + gchar* namespaced_name = g_strconcat("sodipodi:", value_name.data(), NULL); bool modmade = false; for (GSList const *items = sp_desktop_selection(desktop)->itemList(); @@ -3233,7 +3247,7 @@ sp_spiral_toolbox_selection_changed(Inkscape::Selection *selection, GObject *tbl static void sp_spiral_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GObject* holder) { EgeAdjustmentAction* eact = 0; - Inkscape::IconSize secondarySize = prefToSize("toolbox", "secondary", 1); + Inkscape::IconSize secondarySize = prefToSize("/toolbox/secondary", 1); { EgeOutputAction* act = ege_output_action_new( "SpiralStateAction", _("New:"), "", 0 ); @@ -3248,7 +3262,7 @@ static void sp_spiral_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActio gdouble values[] = {0.01, 0.5, 1, 2, 3, 5, 10, 20, 50, 100}; eact = create_adjustment_action( "SpiralRevolutionAction", _("Number of turns"), _("Turns:"), _("Number of revolutions"), - "tools.shapes.spiral", "revolution", 3.0, + "/tools/shapes/spiral/revolution", 3.0, GTK_WIDGET(desktop->canvas), NULL, holder, TRUE, "altx-spiral", 0.01, 1024.0, 0.1, 1.0, labels, values, G_N_ELEMENTS(labels), @@ -3262,7 +3276,7 @@ static void sp_spiral_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActio gdouble values[] = {0, 0.1, 0.5, 1, 1.5, 5, 20}; eact = create_adjustment_action( "SpiralExpansionAction", _("Divergence"), _("Divergence:"), _("How much denser/sparser are outer revolutions; 1 = uniform"), - "tools.shapes.spiral", "expansion", 1.0, + "/tools/shapes/spiral/expansion", 1.0, GTK_WIDGET(desktop->canvas), NULL, holder, FALSE, NULL, 0.0, 1000.0, 0.01, 1.0, labels, values, G_N_ELEMENTS(labels), @@ -3276,7 +3290,7 @@ static void sp_spiral_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActio gdouble values[] = {0, 0.5, 0.9}; eact = create_adjustment_action( "SpiralT0Action", _("Inner radius"), _("Inner radius:"), _("Radius of the innermost revolution (relative to the spiral size)"), - "tools.shapes.spiral", "t0", 0.0, + "/tools/shapes/spiral/t0", 0.0, GTK_WIDGET(desktop->canvas), NULL, holder, FALSE, NULL, 0.0, 0.999, 0.01, 1.0, labels, values, G_N_ELEMENTS(labels), @@ -3308,13 +3322,13 @@ static void sp_spiral_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActio //######################## /* This is used in generic functions below to share large portions of code between pen and pencil tool */ -static char const * +static Glib::ustring const freehand_tool_name(GObject *dataKludge) { SPDesktop *desktop = (SPDesktop *) g_object_get_data(dataKludge, "desktop"); return ( tools_isactive(desktop, TOOLS_FREEHAND_PEN) - ? "tools.freehand.pen" - : "tools.freehand.pencil" ); + ? "/tools/freehand/pen" + : "/tools/freehand/pencil" ); } static void freehand_mode_changed(EgeSelectOneAction* act, GObject* tbl) @@ -3322,7 +3336,7 @@ static void freehand_mode_changed(EgeSelectOneAction* act, GObject* tbl) gint mode = ege_select_one_action_get_active(act); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setInt(freehand_tool_name(tbl), "freehand-mode", mode); + prefs->setInt(freehand_tool_name(tbl) + "/freehand-mode", mode); SPDesktop *desktop = (SPDesktop *) g_object_get_data(tbl, "desktop"); @@ -3339,8 +3353,8 @@ static void sp_add_freehand_mode_toggle(GtkActionGroup* mainActions, GObject* ho /* Freehand mode toggle buttons */ { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - guint freehandMode = prefs->getInt(( tool_is_pencil ? "tools.freehand.pencil" : "tools.freehand.pen" ), "freehand-mode", 0); - Inkscape::IconSize secondarySize = prefToSize("toolbox", "secondary", 1); + guint freehandMode = prefs->getInt(( tool_is_pencil ? "/tools/freehand/pencil/freehand-mode" : "/tools/freehand/pen/freehand-mode" ), 0); + Inkscape::IconSize secondarySize = prefToSize("/toolbox/secondary", 1); { GtkListStore* model = gtk_list_store_new( 3, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING ); @@ -3398,7 +3412,7 @@ static void sp_add_freehand_mode_toggle(GtkActionGroup* mainActions, GObject* ho static void freehand_change_shape(EgeSelectOneAction* act, GObject *dataKludge) { gint shape = ege_select_one_action_get_active( act ); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setInt(freehand_tool_name(dataKludge), "shape", shape); + prefs->setInt(freehand_tool_name(dataKludge) + "/shape", shape); } /** @@ -3439,7 +3453,7 @@ freehand_add_advanced_shape_options(GtkActionGroup* mainActions, GObject* holder _("Shape:"), ("Shape"), NULL, GTK_TREE_MODEL(model)); g_object_set( act1, "short_label", _("Shape:"), NULL ); ege_select_one_action_set_appearance( act1, "compact" ); - ege_select_one_action_set_active( act1, prefs->getInt(( tool_is_pencil ? "tools.freehand.pencil" : "tools.freehand.pen" ), "shape", 0) ); + ege_select_one_action_set_active( act1, prefs->getInt(( tool_is_pencil ? "/tools/freehand/pencil/shape" : "/tools/freehand/pen/shape" ), 0) ); g_signal_connect( G_OBJECT(act1), "changed", G_CALLBACK(freehand_change_shape), holder ); gtk_action_group_add_action( mainActions, GTK_ACTION(act1) ); g_object_set_data( holder, "shape_action", act1 ); @@ -3473,7 +3487,6 @@ sp_pencil_tb_defaults(GtkWidget */*widget*/, GtkObject *obj) static void sp_pencil_tb_tolerance_value_changed(GtkAdjustment *adj, GObject *tbl) { - // quit if run by the attr_changed listener if (g_object_get_data( tbl, "freeze" )) { return; @@ -3481,45 +3494,36 @@ sp_pencil_tb_tolerance_value_changed(GtkAdjustment *adj, GObject *tbl) // in turn, prevent listener from responding Inkscape::Preferences *prefs = Inkscape::Preferences::get(); g_object_set_data( tbl, "freeze", GINT_TO_POINTER(TRUE) ); - prefs->setDouble("tools.freehand.pencil", "tolerance", adj->value); + prefs->setDouble("/tools/freehand/pencil/tolerance", adj->value); g_object_set_data( tbl, "freeze", GINT_TO_POINTER(FALSE) ); - } - - -static void -sp_pencil_tb_tolerance_value_changed_external(Inkscape::XML::Node */*repr*/, - const gchar */*key*/, - const gchar */*oldval*/, - const gchar */*newval*/, - bool /*is_interactive*/, - void * data) -{ - GObject* tbl = G_OBJECT(data); - if (g_object_get_data( tbl, "freeze" )) { - return; +class PencilToleranceObserver : public Inkscape::Preferences::Observer { +public: + PencilToleranceObserver(Glib::ustring const &path, GObject *x) : Observer(path), _obj(x) + { + g_object_set_data(_obj, "prefobserver", this); } + virtual ~PencilToleranceObserver() { + if (g_object_get_data(_obj, "prefobserver") == this) { + g_object_set_data(_obj, "prefobserver", NULL); + } + } + virtual void notify(Inkscape::Preferences::Entry const &val) { + GObject* tbl = _obj; + if (g_object_get_data( tbl, "freeze" )) { + return; + } + g_object_set_data( tbl, "freeze", GINT_TO_POINTER(TRUE) ); - g_object_set_data( tbl, "freeze", GINT_TO_POINTER(TRUE) ); - - GtkAdjustment * adj = (GtkAdjustment*)g_object_get_data(tbl, - "tolerance"); - - Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - double v = prefs->getDouble("tools.freehand.pencil", "tolerance", adj->value); - gtk_adjustment_set_value(adj, v); - g_object_set_data( tbl, "freeze", GINT_TO_POINTER(FALSE) ); - -} + GtkAdjustment * adj = (GtkAdjustment*)g_object_get_data(tbl, "tolerance"); -static Inkscape::XML::NodeEventVector pencil_node_events = -{ - NULL, - NULL, - sp_pencil_tb_tolerance_value_changed_external, - NULL, - NULL, + double v = val.getDouble(adj->value); + gtk_adjustment_set_value(adj, v); + g_object_set_data( tbl, "freeze", GINT_TO_POINTER(FALSE) ); + } +private: + GObject *_obj; }; @@ -3536,7 +3540,7 @@ static void sp_pencil_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActio eact = create_adjustment_action( "PencilToleranceAction", _("Smoothing:"), _("Smoothing: "), _("How much smoothing (simplifying) is applied to the line"), - "tools.freehand.pencil", "tolerance", + "/tools/freehand/pencil/tolerance", 3.0, GTK_WIDGET(desktop->canvas), NULL, holder, TRUE, "altx-pencil", @@ -3547,11 +3551,8 @@ static void sp_pencil_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActio ege_adjustment_action_set_appearance( eact, TOOLBAR_SLIDER_HINT ); gtk_action_group_add_action( mainActions, GTK_ACTION(eact) ); - Inkscape::XML::Node *repr = inkscape_get_repr(INKSCAPE, - "tools.freehand.pencil"); - repr->addListener(&pencil_node_events, G_OBJECT(holder)); - g_object_set_data(G_OBJECT(holder), "repr", repr); - + PencilToleranceObserver *obs = + new PencilToleranceObserver("/tools/freehand/pencil/tolerance", G_OBJECT(holder)); } /* advanced shape options */ @@ -3580,26 +3581,26 @@ static void sp_pencil_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActio static void sp_tweak_width_value_changed( GtkAdjustment *adj, GObject */*tbl*/ ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble( "tools.tweak", "width", adj->value * 0.01 ); + prefs->setDouble( "/tools/tweak/width", adj->value * 0.01 ); } static void sp_tweak_force_value_changed( GtkAdjustment *adj, GObject */*tbl*/ ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble( "tools.tweak", "force", adj->value * 0.01 ); + prefs->setDouble( "/tools/tweak/force", adj->value * 0.01 ); } static void sp_tweak_pressure_state_changed( GtkToggleAction *act, gpointer /*data*/ ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setBool("tools.tweak", "usepressure", gtk_toggle_action_get_active(act)); + prefs->setBool("/tools/tweak/usepressure", gtk_toggle_action_get_active(act)); } static void sp_tweak_mode_changed( EgeSelectOneAction *act, GObject *tbl ) { int mode = ege_select_one_action_get_active( act ); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setInt("tools.tweak", "mode", mode); + prefs->setInt("/tools/tweak/mode", mode); GtkAction *doh = GTK_ACTION(g_object_get_data( tbl, "tweak_doh")); GtkAction *dos = GTK_ACTION(g_object_get_data( tbl, "tweak_dos")); @@ -3627,29 +3628,29 @@ static void sp_tweak_mode_changed( EgeSelectOneAction *act, GObject *tbl ) static void sp_tweak_fidelity_value_changed( GtkAdjustment *adj, GObject */*tbl*/ ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble( "tools.tweak", "fidelity", adj->value * 0.01 ); + prefs->setDouble( "/tools/tweak/fidelity", adj->value * 0.01 ); } static void tweak_toggle_doh (GtkToggleAction *act, gpointer /*data*/) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setBool("tools.tweak", "doh", gtk_toggle_action_get_active(act)); + prefs->setBool("/tools/tweak/doh", gtk_toggle_action_get_active(act)); } static void tweak_toggle_dos (GtkToggleAction *act, gpointer /*data*/) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setBool("tools.tweak", "dos", gtk_toggle_action_get_active(act)); + prefs->setBool("/tools/tweak/dos", gtk_toggle_action_get_active(act)); } static void tweak_toggle_dol (GtkToggleAction *act, gpointer /*data*/) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setBool("tools.tweak", "dol", gtk_toggle_action_get_active(act)); + prefs->setBool("/tools/tweak/dol", gtk_toggle_action_get_active(act)); } static void tweak_toggle_doo (GtkToggleAction *act, gpointer /*data*/) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setBool("tools.tweak", "doo", gtk_toggle_action_get_active(act)); + prefs->setBool("/tools/tweak/doo", gtk_toggle_action_get_active(act)); } static void sp_tweak_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GObject* holder) { - Inkscape::IconSize secondarySize = prefToSize("toolbox", "secondary", 1); + Inkscape::IconSize secondarySize = prefToSize("/toolbox/secondary", 1); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); { @@ -3658,7 +3659,7 @@ static void sp_tweak_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainAction gdouble values[] = {1, 3, 5, 10, 15, 20, 30, 50, 75, 100}; EgeAdjustmentAction *eact = create_adjustment_action( "TweakWidthAction", _("Width"), _("Width:"), _("The width of the tweak area (relative to the visible canvas area)"), - "tools.tweak", "width", 15, + "/tools/tweak/width", 15, GTK_WIDGET(desktop->canvas), NULL, holder, TRUE, "altx-tweak", 1, 100, 1.0, 0.0, labels, values, G_N_ELEMENTS(labels), @@ -3675,7 +3676,7 @@ static void sp_tweak_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainAction gdouble values[] = {1, 5, 10, 20, 30, 50, 70, 100}; EgeAdjustmentAction *eact = create_adjustment_action( "TweakForceAction", _("Force"), _("Force:"), _("The force of the tweak action"), - "tools.tweak", "force", 20, + "/tools/tweak/force", 20, GTK_WIDGET(desktop->canvas), NULL, holder, TRUE, "tweak-force", 1, 100, 1.0, 0.0, labels, values, G_N_ELEMENTS(labels), @@ -3794,14 +3795,14 @@ static void sp_tweak_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainAction ege_select_one_action_set_icon_size( act, secondarySize ); ege_select_one_action_set_tooltip_column( act, 1 ); - gint mode = prefs->getInt("tools.tweak", "mode", 0); + gint mode = prefs->getInt("/tools/tweak/mode", 0); ege_select_one_action_set_active( act, mode ); g_signal_connect_after( G_OBJECT(act), "changed", G_CALLBACK(sp_tweak_mode_changed), holder ); g_object_set_data( G_OBJECT(holder), "tweak_tool_mode", act); } - guint mode = prefs->getInt("tools.tweak", "mode", 0); + guint mode = prefs->getInt("/tools/tweak/mode", 0); { EgeOutputAction* act = ege_output_action_new( "TweakChannelsLabel", _("Channels:"), "", 0 ); @@ -3822,7 +3823,7 @@ static void sp_tweak_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainAction g_object_set( act, "short_label", _("H"), NULL ); gtk_action_group_add_action( mainActions, GTK_ACTION( act ) ); g_signal_connect_after( G_OBJECT(act), "toggled", G_CALLBACK(tweak_toggle_doh), desktop ); - gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getInt( "tools.tweak", "doh", 1 ) ); + gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool("/tools/tweak/doh", true) ); if (mode != TWEAK_MODE_COLORPAINT && mode != TWEAK_MODE_COLORJITTER) gtk_action_set_sensitive (GTK_ACTION(act), FALSE); g_object_set_data( holder, "tweak_doh", act); @@ -3837,7 +3838,7 @@ static void sp_tweak_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainAction g_object_set( act, "short_label", _("S"), NULL ); gtk_action_group_add_action( mainActions, GTK_ACTION( act ) ); g_signal_connect_after( G_OBJECT(act), "toggled", G_CALLBACK(tweak_toggle_dos), desktop ); - gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getInt( "tools.tweak", "dos", 1 ) ); + gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool("/tools/tweak/dos", true) ); if (mode != TWEAK_MODE_COLORPAINT && mode != TWEAK_MODE_COLORJITTER) gtk_action_set_sensitive (GTK_ACTION(act), FALSE); g_object_set_data( holder, "tweak_dos", act ); @@ -3852,7 +3853,7 @@ static void sp_tweak_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainAction g_object_set( act, "short_label", _("L"), NULL ); gtk_action_group_add_action( mainActions, GTK_ACTION( act ) ); g_signal_connect_after( G_OBJECT(act), "toggled", G_CALLBACK(tweak_toggle_dol), desktop ); - gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getInt( "tools.tweak", "dol", 1 ) ); + gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool("/tools/tweak/dol", true) ); if (mode != TWEAK_MODE_COLORPAINT && mode != TWEAK_MODE_COLORJITTER) gtk_action_set_sensitive (GTK_ACTION(act), FALSE); g_object_set_data( holder, "tweak_dol", act ); @@ -3867,7 +3868,7 @@ static void sp_tweak_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainAction g_object_set( act, "short_label", _("O"), NULL ); gtk_action_group_add_action( mainActions, GTK_ACTION( act ) ); g_signal_connect_after( G_OBJECT(act), "toggled", G_CALLBACK(tweak_toggle_doo), desktop ); - gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getInt( "tools.tweak", "doo", 1 ) ); + gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool("/tools/tweak/doo", true) ); if (mode != TWEAK_MODE_COLORPAINT && mode != TWEAK_MODE_COLORJITTER) gtk_action_set_sensitive (GTK_ACTION(act), FALSE); g_object_set_data( holder, "tweak_doo", act ); @@ -3879,7 +3880,7 @@ static void sp_tweak_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainAction EgeAdjustmentAction *eact = create_adjustment_action( "TweakFidelityAction", _("Fidelity"), _("Fidelity:"), _("Low fidelity simplifies paths; high fidelity preserves path features but may generate a lot of new nodes"), - "tools.tweak", "fidelity", 50, + "/tools/tweak/fidelity", 50, GTK_WIDGET(desktop->canvas), NULL, holder, TRUE, "tweak-fidelity", 1, 100, 1.0, 10.0, labels, values, G_N_ELEMENTS(labels), @@ -3901,7 +3902,7 @@ static void sp_tweak_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainAction Inkscape::ICON_SIZE_DECORATION ); gtk_action_group_add_action( mainActions, GTK_ACTION( act ) ); g_signal_connect_after( G_OBJECT(act), "toggled", G_CALLBACK(sp_tweak_pressure_state_changed), NULL); - gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool("tools.tweak", "usepressure", true) ); + gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool("/tools/tweak/usepressure", true) ); } } @@ -3918,29 +3919,26 @@ static void update_presets_list (GObject *tbl) EgeSelectOneAction *sel = static_cast(g_object_get_data(tbl, "profile_selector")); if (!sel) { - ege_select_one_action_set_active(sel, 0); + // WTF!? This will cause a segfault if ever reached + //ege_select_one_action_set_active(sel, 0); return; } - int total_prefs = prefs->childCount("tools.calligraphic.preset"); - - for (int i = 0; i < total_prefs; ++i) { - Glib::ustring preset_path = prefs->getNthChild("tools.calligraphic.preset", i); - /// @todo Remove the use of _getNode() - Inkscape::XML::Node *preset_repr = prefs->_getNode(preset_path); + std::vector presets = prefs->getAllDirs("/tools/calligraphic/preset"); + int ege_index = 1; + for (std::vector::iterator i = presets.begin(); i != presets.end(); ++i, ++ege_index) { bool match = true; + + std::vector preset = prefs->getAllEntries(*i); + for (std::vector::iterator j = preset.begin(); j != preset.end(); ++j) { + Glib::ustring entry_name = j->getEntryName(); + if (entry_name == "id" || entry_name == "name") continue; - for ( Inkscape::Util::List iter = preset_repr->attributeList(); - iter; - ++iter ) { - const gchar *attr_name = g_quark_to_string(iter->key); - if (!strcmp(attr_name, "id") || !strcmp(attr_name, "name")) - continue; - void *widget = g_object_get_data(tbl, attr_name); + void *widget = g_object_get_data(tbl, entry_name.data()); if (widget) { if (GTK_IS_ADJUSTMENT(widget)) { - double v = prefs->getDouble(preset_path, attr_name, 0); // fixme: no min/max checks here, add? + double v = j->getDouble(); GtkAdjustment* adj = static_cast(widget); //std::cout << "compared adj " << attr_name << gtk_adjustment_get_value(adj) << " to " << v << "\n"; if (fabs(gtk_adjustment_get_value(adj) - v) > 1e-6) { @@ -3948,7 +3946,7 @@ static void update_presets_list (GObject *tbl) break; } } else if (GTK_IS_TOGGLE_ACTION(widget)) { - bool v = prefs->getBool(preset_path, attr_name); + bool v = j->getBool(); GtkToggleAction* toggle = static_cast(widget); //std::cout << "compared toggle " << attr_name << gtk_toggle_action_get_active(toggle) << " to " << v << "\n"; if ( static_cast(gtk_toggle_action_get_active(toggle)) != v ) { @@ -3957,13 +3955,13 @@ static void update_presets_list (GObject *tbl) } } } - } - - if (match) { + } + + if (match) { // newly added item is at the same index as the // save command, so we need to change twice for it to take effect ege_select_one_action_set_active(sel, 0); - ege_select_one_action_set_active(sel, i + 1); // one-based index + ege_select_one_action_set_active(sel, ege_index); // one-based index return; } } @@ -3975,70 +3973,70 @@ static void update_presets_list (GObject *tbl) static void sp_ddc_mass_value_changed( GtkAdjustment *adj, GObject* tbl ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble( "tools.calligraphic", "mass", adj->value * 0.01 ); + prefs->setDouble( "/tools/calligraphic/mass", adj->value * 0.01 ); update_presets_list(tbl); } static void sp_ddc_wiggle_value_changed( GtkAdjustment *adj, GObject* tbl ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble( "tools.calligraphic", "wiggle", adj->value * 0.01 ); + prefs->setDouble( "/tools/calligraphic/wiggle", adj->value * 0.01 ); update_presets_list(tbl); } static void sp_ddc_angle_value_changed( GtkAdjustment *adj, GObject* tbl ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble( "tools.calligraphic", "angle", adj->value ); + prefs->setDouble( "/tools/calligraphic/angle", adj->value ); update_presets_list(tbl); } static void sp_ddc_width_value_changed( GtkAdjustment *adj, GObject *tbl ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble( "tools.calligraphic", "width", adj->value * 0.01 ); + prefs->setDouble( "/tools/calligraphic/width", adj->value * 0.01 ); update_presets_list(tbl); } static void sp_ddc_velthin_value_changed( GtkAdjustment *adj, GObject* tbl ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble("tools.calligraphic", "thinning", adj->value * 0.01 ); + prefs->setDouble("/tools/calligraphic/thinning", adj->value * 0.01 ); update_presets_list(tbl); } static void sp_ddc_flatness_value_changed( GtkAdjustment *adj, GObject* tbl ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble( "tools.calligraphic", "flatness", adj->value * 0.01); + prefs->setDouble( "/tools/calligraphic/flatness", adj->value * 0.01); update_presets_list(tbl); } static void sp_ddc_tremor_value_changed( GtkAdjustment *adj, GObject* tbl ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble( "tools.calligraphic", "tremor", adj->value * 0.01 ); + prefs->setDouble( "/tools/calligraphic/tremor", adj->value * 0.01 ); update_presets_list(tbl); } static void sp_ddc_cap_rounding_value_changed( GtkAdjustment *adj, GObject* tbl ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble( "tools.calligraphic", "cap_rounding", adj->value ); + prefs->setDouble( "/tools/calligraphic/cap_rounding", adj->value ); update_presets_list(tbl); } static void sp_ddc_pressure_state_changed( GtkToggleAction *act, GObject* tbl ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setBool("tools.calligraphic", "usepressure", gtk_toggle_action_get_active( act )); + prefs->setBool("/tools/calligraphic/usepressure", gtk_toggle_action_get_active( act )); update_presets_list(tbl); } static void sp_ddc_trace_background_changed( GtkToggleAction *act, GObject* tbl ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setBool("tools.calligraphic", "tracebackground", gtk_toggle_action_get_active( act )); + prefs->setBool("/tools/calligraphic/tracebackground", gtk_toggle_action_get_active( act )); update_presets_list(tbl); } @@ -4046,7 +4044,7 @@ static void sp_ddc_tilt_state_changed( GtkToggleAction *act, GObject* tbl ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); GtkAction * calligraphy_angle = static_cast (g_object_get_data(tbl,"angle_action")); - prefs->setBool("tools.calligraphic", "usetilt", gtk_toggle_action_get_active( act )); + prefs->setBool("/tools/calligraphic/usetilt", gtk_toggle_action_get_active( act )); update_presets_list(tbl); if (calligraphy_angle ) gtk_action_set_sensitive( calligraphy_angle, !gtk_toggle_action_get_active( act ) ); @@ -4081,18 +4079,17 @@ static void sp_dcc_build_presets_list(GObject *tbl) gtk_list_store_append( model, &iter ); gtk_list_store_set( model, &iter, 0, _("No preset"), 1, 0, -1 ); } - - /// @todo Use public Preferences API instead of node manipulation + + // iterate over all presets to populate the list Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - Inkscape::XML::Node *repr = prefs->_getNode("tools.calligraphic.preset", true); - Inkscape::XML::Node *child_repr = repr->firstChild(); + std::vector presets = prefs->getAllDirs("/tools/calligraphic/preset"); int ii=1; - while (child_repr) { - GtkTreeIter iter; - char *preset_name = (char *) child_repr->attribute("name"); + + for (std::vector::iterator i = presets.begin(); i != presets.end(); ++i) { + GtkTreeIter iter; + Glib::ustring preset_name = prefs->getString(*i + "/name"); gtk_list_store_append( model, &iter ); - gtk_list_store_set( model, &iter, 0, preset_name, 1, ii++, -1 ); - child_repr = child_repr->next(); + gtk_list_store_set( model, &iter, 0, preset_name.data(), 1, ii++, -1 ); } { @@ -4131,29 +4128,28 @@ static void sp_dcc_save_profile (GtkWidget */*widget*/, GObject *tbl) } g_object_set_data(tbl, "presets_blocked", GINT_TO_POINTER(TRUE)); - + + // If there's a preset with the given name, find it and set save_path appropriately + std::vector presets = prefs->getAllDirs("/tools/calligraphic/preset"); + int total_presets = presets.size(); int new_index = -1; - Glib::ustring pref_path; - int total_prefs = prefs->childCount("tools.calligraphic.preset"); - - for (int i = 0; i < total_prefs; ++i) { - Glib::ustring path = prefs->getNthChild("tools.calligraphic.preset", i); - Glib::ustring name = prefs->getString(path, "name"); - if (!name.empty() && ( profile_name == name )) { - // we already have preset with this name, replace its values - new_index = i; - pref_path = path; + Glib::ustring save_path; // profile pref path without a trailing slash + + int temp_index = 0; + for (std::vector::iterator i = presets.begin(); i != presets.end(); ++i, ++temp_index) { + Glib::ustring name = prefs->getString(*i + "/name"); + if (!name.empty() && profile_name == name) { + new_index = temp_index; + save_path = *i; break; - } + } } if (new_index == -1) { // no preset with this name, create - /// @todo This is wrong, the name should be encoded in the key - /// to allow deletion of presets - new_index = total_prefs + 1; - gchar *profile_id = g_strdup_printf(".dcc%d", new_index); - pref_path = Glib::ustring("tools.calligraphic.preset") + profile_id; + new_index = total_presets + 1; + gchar *profile_id = g_strdup_printf("/dcc%d", new_index); + save_path = Glib::ustring("/tools/calligraphic/preset") + profile_id; g_free(profile_id); } @@ -4163,22 +4159,20 @@ static void sp_dcc_save_profile (GtkWidget */*widget*/, GObject *tbl) if (widget) { if (GTK_IS_ADJUSTMENT(widget)) { GtkAdjustment* adj = static_cast(widget); - double v = gtk_adjustment_get_value(adj); - prefs->setDouble(pref_path, widget_name, v); + prefs->setDouble(save_path + "/" + widget_name, gtk_adjustment_get_value(adj)); //std::cout << "wrote adj " << widget_name << ": " << v << "\n"; } else if (GTK_IS_TOGGLE_ACTION(widget)) { GtkToggleAction* toggle = static_cast(widget); - bool v = gtk_toggle_action_get_active(toggle); - prefs->setBool(pref_path, widget_name, v); + prefs->setBool(save_path + "/" + widget_name, gtk_toggle_action_get_active(toggle)); //std::cout << "wrote tog " << widget_name << ": " << v << "\n"; } else { - g_warning("Unknown widget type for preset: %s\n", widget_name); + g_warning("Unknown widget type for preset: %s\n", widget_name); } } else { g_warning("Bad key when writing preset: %s\n", widget_name); } } - prefs->setString(pref_path, "name", profile_name); + prefs->setString(save_path + "/name", profile_name); g_object_set_data(tbl, "presets_blocked", GINT_TO_POINTER(FALSE)); sp_dcc_build_presets_list (tbl); @@ -4190,6 +4184,11 @@ static void sp_ddc_change_profile(EgeSelectOneAction* act, GObject* tbl) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); gint preset_index = ege_select_one_action_get_active( act ); + // This is necessary because EgeSelectOneAction spams us with GObject "changed" signal calls + // even when the preset is not changed. It would be good to replace it with something more + // modern. Index 0 means "No preset", so we don't do anything. + if (preset_index == 0) return; + gint save_presets_index = GPOINTER_TO_INT(g_object_get_data(tbl, "save_presets_index")); if (preset_index == save_presets_index) { @@ -4202,44 +4201,37 @@ static void sp_ddc_change_profile(EgeSelectOneAction* act, GObject* tbl) { return; // preset_index is one-based so we subtract 1 - Glib::ustring preset_path = prefs->getNthChild("tools.calligraphic.preset", preset_index - 1); + std::vector presets = prefs->getAllDirs("/tools/calligraphic/preset"); + Glib::ustring preset_path = presets.at(preset_index - 1); if (!preset_path.empty()) { g_object_set_data(tbl, "presets_blocked", GINT_TO_POINTER(TRUE)); //temporarily block the selector so no one will updadte it while we're reading it - - /// @todo Remove the use of _getNode() in this fragment, modify - /// the public interface of Preferences if necessary - Inkscape::XML::Node *preset_repr = prefs->_getNode(preset_path); + + std::vector preset = prefs->getAllEntries(preset_path); // Shouldn't this be std::map? - for ( Inkscape::Util::List iter = preset_repr->attributeList(); - iter; - ++iter ) { - const gchar *attr_name = g_quark_to_string(iter->key); - if (!strcmp(attr_name, "id") || !strcmp(attr_name, "name")) - continue; - void *widget = g_object_get_data(tbl, attr_name); + for (std::vector::iterator i = preset.begin(); i != preset.end(); ++i) { + Glib::ustring entry_name = i->getEntryName(); + if (entry_name == "id" || entry_name == "name") continue; + void *widget = g_object_get_data(tbl, entry_name.data()); if (widget) { if (GTK_IS_ADJUSTMENT(widget)) { - double v = prefs->getDouble(preset_path, attr_name, 0); // fixme: no min/max checks here, add? GtkAdjustment* adj = static_cast(widget); - gtk_adjustment_set_value(adj, v); + gtk_adjustment_set_value(adj, i->getDouble()); //std::cout << "set adj " << attr_name << " to " << v << "\n"; } else if (GTK_IS_TOGGLE_ACTION(widget)) { - int v = prefs->getInt(preset_path, attr_name, 0); // fixme: no min/max checks here, add? GtkToggleAction* toggle = static_cast(widget); - gtk_toggle_action_set_active(toggle, v); + gtk_toggle_action_set_active(toggle, i->getBool()); //std::cout << "set toggle " << attr_name << " to " << v << "\n"; } else { - g_warning("Unknown widget type for preset: %s\n", attr_name); + g_warning("Unknown widget type for preset: %s\n", entry_name.data()); } } else { - g_warning("Bad key found in a preset record: %s\n", attr_name); + g_warning("Bad key found in a preset record: %s\n", entry_name.data()); } } g_object_set_data(tbl, "presets_blocked", GINT_TO_POINTER(FALSE)); } - } @@ -4258,7 +4250,7 @@ static void sp_calligraphy_toolbox_prep(SPDesktop *desktop, GtkActionGroup* main EgeAdjustmentAction *eact = create_adjustment_action( "CalligraphyWidthAction", _("Pen Width"), _("Width:"), _("The width of the calligraphic pen (relative to the visible canvas area)"), - "tools.calligraphic", "width", 15, + "/tools/calligraphic/width", 15, GTK_WIDGET(desktop->canvas), NULL, holder, TRUE, "altx-calligraphy", 1, 100, 1.0, 0.0, labels, values, G_N_ELEMENTS(labels), @@ -4275,7 +4267,7 @@ static void sp_calligraphy_toolbox_prep(SPDesktop *desktop, GtkActionGroup* main EgeAdjustmentAction* eact = create_adjustment_action( "ThinningAction", _("Stroke Thinning"), _("Thinning:"), _("How much velocity thins the stroke (> 0 makes fast strokes thinner, < 0 makes them broader, 0 makes width independent of velocity)"), - "tools.calligraphic", "thinning", 10, + "/tools/calligraphic/thinning", 10, GTK_WIDGET(desktop->canvas), NULL, holder, FALSE, NULL, -100, 100, 1, 0.1, labels, values, G_N_ELEMENTS(labels), @@ -4291,7 +4283,7 @@ static void sp_calligraphy_toolbox_prep(SPDesktop *desktop, GtkActionGroup* main EgeAdjustmentAction* eact = create_adjustment_action( "AngleAction", _("Pen Angle"), _("Angle:"), _("The angle of the pen's nib (in degrees; 0 = horizontal; has no effect if fixation = 0)"), - "tools.calligraphic", "angle", 30, + "/tools/calligraphic/angle", 30, GTK_WIDGET(desktop->canvas), NULL, holder, TRUE, "calligraphy-angle", -90.0, 90.0, 1.0, 10.0, labels, values, G_N_ELEMENTS(labels), @@ -4309,7 +4301,7 @@ static void sp_calligraphy_toolbox_prep(SPDesktop *desktop, GtkActionGroup* main EgeAdjustmentAction* eact = create_adjustment_action( "FixationAction", _("Fixation"), _("Fixation:"), _("Angle behavior (0 = nib always perpendicular to stroke direction, 100 = fixed angle)"), - "tools.calligraphic", "flatness", 90, + "/tools/calligraphic/flatness", 90, GTK_WIDGET(desktop->canvas), NULL, holder, FALSE, NULL, 0.0, 100, 1.0, 10.0, labels, values, G_N_ELEMENTS(labels), @@ -4326,7 +4318,7 @@ static void sp_calligraphy_toolbox_prep(SPDesktop *desktop, GtkActionGroup* main EgeAdjustmentAction* eact = create_adjustment_action( "CapRoundingAction", _("Cap rounding"), _("Caps:"), _("Increase to make caps at the ends of strokes protrude more (0 = no caps, 1 = round caps)"), - "tools.calligraphic", "cap_rounding", 0.0, + "/tools/calligraphic/cap_rounding", 0.0, GTK_WIDGET(desktop->canvas), NULL, holder, FALSE, NULL, 0.0, 5.0, 0.01, 0.1, labels, values, G_N_ELEMENTS(labels), @@ -4342,7 +4334,7 @@ static void sp_calligraphy_toolbox_prep(SPDesktop *desktop, GtkActionGroup* main EgeAdjustmentAction* eact = create_adjustment_action( "TremorAction", _("Stroke Tremor"), _("Tremor:"), _("Increase to make strokes rugged and trembling"), - "tools.calligraphic", "tremor", 0.0, + "/tools/calligraphic/tremor", 0.0, GTK_WIDGET(desktop->canvas), NULL, holder, FALSE, NULL, 0.0, 100, 1, 0.0, labels, values, G_N_ELEMENTS(labels), @@ -4360,7 +4352,7 @@ static void sp_calligraphy_toolbox_prep(SPDesktop *desktop, GtkActionGroup* main EgeAdjustmentAction* eact = create_adjustment_action( "WiggleAction", _("Pen Wiggle"), _("Wiggle:"), _("Increase to make the pen waver and wiggle"), - "tools.calligraphic", "wiggle", 0.0, + "/tools/calligraphic/wiggle", 0.0, GTK_WIDGET(desktop->canvas), NULL, holder, FALSE, NULL, 0.0, 100, 1, 0.0, labels, values, G_N_ELEMENTS(labels), @@ -4377,7 +4369,7 @@ static void sp_calligraphy_toolbox_prep(SPDesktop *desktop, GtkActionGroup* main EgeAdjustmentAction* eact = create_adjustment_action( "MassAction", _("Pen Mass"), _("Mass:"), _("Increase to make the pen drag behind, as if slowed by inertia"), - "tools.calligraphic", "mass", 2.0, + "/tools/calligraphic/mass", 2.0, GTK_WIDGET(desktop->canvas), NULL, holder, FALSE, NULL, 0.0, 100, 1, 0.0, labels, values, G_N_ELEMENTS(labels), @@ -4397,7 +4389,7 @@ static void sp_calligraphy_toolbox_prep(SPDesktop *desktop, GtkActionGroup* main Inkscape::ICON_SIZE_DECORATION ); gtk_action_group_add_action( mainActions, GTK_ACTION( act ) ); g_signal_connect_after( G_OBJECT(act), "toggled", G_CALLBACK(sp_ddc_trace_background_changed), holder); - gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool("tools.calligraphic", "tracebackground", false) ); + gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool("/tools/calligraphic/tracebackground", false) ); g_object_set_data( holder, "tracebackground", act ); } @@ -4410,7 +4402,7 @@ static void sp_calligraphy_toolbox_prep(SPDesktop *desktop, GtkActionGroup* main Inkscape::ICON_SIZE_DECORATION ); gtk_action_group_add_action( mainActions, GTK_ACTION( act ) ); g_signal_connect_after( G_OBJECT(act), "toggled", G_CALLBACK(sp_ddc_pressure_state_changed), holder); - gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool("tools.calligraphic", "usepressure", true) ); + gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool("/tools/calligraphic/usepressure", true) ); g_object_set_data( holder, "usepressure", act ); } @@ -4423,8 +4415,8 @@ static void sp_calligraphy_toolbox_prep(SPDesktop *desktop, GtkActionGroup* main Inkscape::ICON_SIZE_DECORATION ); gtk_action_group_add_action( mainActions, GTK_ACTION( act ) ); g_signal_connect_after( G_OBJECT(act), "toggled", G_CALLBACK(sp_ddc_tilt_state_changed), holder ); - gtk_action_set_sensitive( GTK_ACTION(calligraphy_angle), !prefs->getBool("tools.calligraphic", "usetilt", true) ); - gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool("tools.calligraphic", "usetilt", true) ); + gtk_action_set_sensitive( GTK_ACTION(calligraphy_angle), !prefs->getBool("/tools/calligraphic/usetilt", true) ); + gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool("/tools/calligraphic/usetilt", true) ); g_object_set_data( holder, "usetilt", act ); } @@ -4473,7 +4465,7 @@ sp_arctb_startend_value_changed(GtkAdjustment *adj, GObject *tbl, gchar const *v if (sp_document_get_undo_sensitive(sp_desktop_document(desktop))) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble("tools.shapes.arc", value_name, (adj->value * M_PI)/ 180); + prefs->setDouble(Glib::ustring("/tools/shapes/arc") + value_name, (adj->value * M_PI)/ 180); } // quit if run by the attr_changed listener @@ -4542,7 +4534,7 @@ static void sp_arctb_open_state_changed( EgeSelectOneAction *act, GObject *tbl ) SPDesktop *desktop = (SPDesktop *) g_object_get_data( tbl, "desktop" ); if (sp_document_get_undo_sensitive(sp_desktop_document(desktop))) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setBool("tools.shapes.arc", "open", ege_select_one_action_get_active(act) != 0); + prefs->setBool("/tools/shapes/arc/open", ege_select_one_action_get_active(act) != 0); } // quit if run by the attr_changed listener @@ -4696,7 +4688,7 @@ static void sp_arc_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, Inkscape::Preferences *prefs = Inkscape::Preferences::get(); EgeAdjustmentAction* eact = 0; - Inkscape::IconSize secondarySize = prefToSize("toolbox", "secondary", 1); + Inkscape::IconSize secondarySize = prefToSize("/toolbox/secondary", 1); { @@ -4711,7 +4703,7 @@ static void sp_arc_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, eact = create_adjustment_action( "ArcStartAction", _("Start"), _("Start:"), _("The angle (in degrees) from the horizontal to the arc's start point"), - "tools.shapes.arc", "start", 0.0, + "/tools/shapes/arc/start", 0.0, GTK_WIDGET(desktop->canvas), NULL/*us*/, holder, TRUE, "altx-arc", -360.0, 360.0, 1.0, 10.0, 0, 0, 0, @@ -4724,7 +4716,7 @@ static void sp_arc_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, eact = create_adjustment_action( "ArcEndAction", _("End"), _("End:"), _("The angle (in degrees) from the horizontal to the arc's end point"), - "tools.shapes.arc", "end", 0.0, + "/tools/shapes/arc/end", 0.0, GTK_WIDGET(desktop->canvas), NULL/*us*/, holder, FALSE, NULL, -360.0, 360.0, 1.0, 10.0, 0, 0, 0, @@ -4762,7 +4754,7 @@ static void sp_arc_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, ege_select_one_action_set_icon_size( act, secondarySize ); ege_select_one_action_set_tooltip_column( act, 1 ); - bool isClosed = !prefs->getBool("tools.shapes.arc", "open", false); + bool isClosed = !prefs->getBool("/tools/shapes/arc/open", false); ege_select_one_action_set_active( act, isClosed ? 0 : 1 ); g_signal_connect_after( G_OBJECT(act), "changed", G_CALLBACK(sp_arctb_open_state_changed), holder ); } @@ -4807,7 +4799,7 @@ static void sp_arc_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, static void toggle_dropper_pick_alpha( GtkToggleAction* act, gpointer tbl ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setInt( "tools.dropper", "pick", gtk_toggle_action_get_active( act ) ); + prefs->setInt( "/tools/dropper/pick", gtk_toggle_action_get_active( act ) ); GtkAction* set_action = GTK_ACTION( g_object_get_data(G_OBJECT(tbl), "set_action") ); if ( set_action ) { if ( gtk_toggle_action_get_active( act ) ) { @@ -4822,7 +4814,7 @@ static void toggle_dropper_pick_alpha( GtkToggleAction* act, gpointer tbl ) { static void toggle_dropper_set_alpha( GtkToggleAction* act, gpointer tbl ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setInt( "tools.dropper", "setalpha", gtk_toggle_action_get_active( act ) ? 1 : 0 ); + prefs->setBool( "/tools/dropper/setalpha", gtk_toggle_action_get_active( act ) ); spinbutton_defocus(GTK_OBJECT(tbl)); } @@ -4837,7 +4829,7 @@ static void toggle_dropper_set_alpha( GtkToggleAction* act, gpointer tbl ) { static void sp_dropper_toolbox_prep(SPDesktop */*desktop*/, GtkActionGroup* mainActions, GObject* holder) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - gint pickAlpha = prefs->getInt( "tools.dropper", "pick", 1 ); + gint pickAlpha = prefs->getInt( "/tools/dropper/pick", 1 ); { EgeOutputAction* act = ege_output_action_new( "DropperOpacityAction", _("Opacity:"), "", 0 ); @@ -4867,7 +4859,7 @@ static void sp_dropper_toolbox_prep(SPDesktop */*desktop*/, GtkActionGroup* main g_object_set( act, "short_label", _("Assign"), NULL ); gtk_action_group_add_action( mainActions, GTK_ACTION( act ) ); g_object_set_data( holder, "set_action", act ); - gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getInt( "tools.dropper", "setalpha", 1 ) ); + gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool( "/tools/dropper/setalpha", true) ); // make sure it's disabled if we're not picking alpha gtk_action_set_sensitive( GTK_ACTION(act), pickAlpha ); g_signal_connect_after( G_OBJECT(act), "toggled", G_CALLBACK(toggle_dropper_set_alpha), holder ); @@ -4913,7 +4905,7 @@ static void sp_lpetool_mode_changed(EgeSelectOneAction *act, GObject *tbl) if (sp_document_get_undo_sensitive(sp_desktop_document(desktop))) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setInt( "tools.lpetool", "mode", mode ); + prefs->setInt( "/tools/lpetool/mode", mode ); } g_object_set_data(tbl, "freeze", GINT_TO_POINTER(FALSE)); @@ -4971,7 +4963,7 @@ lpetool_toggle_show_bbox (GtkToggleAction *act, gpointer data) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); bool show = gtk_toggle_action_get_active( act ); - prefs->setInt("tools.lpetool", "show_bbox", show ? 1 : 0); + prefs->setBool("/tools/lpetool/show_bbox", show); if (tools_isactive(desktop, TOOLS_LPETOOL)) { SPLPEToolContext *lc = SP_LPETOOL_CONTEXT(desktop->event_context); @@ -4990,7 +4982,7 @@ lpetool_toggle_show_measuring_info (GtkToggleAction *act, GObject *tbl) { if (tools_isactive(desktop, TOOLS_LPETOOL)) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); bool show = gtk_toggle_action_get_active( act ); - prefs->setInt("tools.lpetool", "show_measuring_info", show ? 1 : 0); + prefs->setBool("/tools/lpetool/show_measuring_info", show); lpetool_show_measuring_info(lc, show); gtk_action_set_sensitive(GTK_ACTION(unitact), show); } @@ -5000,7 +4992,7 @@ static void lpetool_unit_changed(GtkAction* /*act*/, GObject* tbl) { UnitTracker* tracker = reinterpret_cast(g_object_get_data(tbl, "tracker")); SPUnit const *unit = tracker->getActiveUnit(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setInt("tools.lpetool", "unitid", unit->unit_id); + prefs->setInt("/tools/lpetool/unitid", unit->unit_id); SPDesktop *desktop = (SPDesktop *) g_object_get_data( tbl, "desktop" ); if (SP_IS_LPETOOL_CONTEXT(desktop->event_context)) { @@ -5026,10 +5018,10 @@ lpetool_toggle_set_bbox (GtkToggleAction *act, gpointer data) { // TODO: should we provide a way to store points in prefs? Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble("tools.lpetool", "bbox_upperleftx", A[Geom::X]); - prefs->setDouble("tools.lpetool", "bbox_upperlefty", A[Geom::Y]); - prefs->setDouble("tools.lpetool", "bbox_lowerrightx", B[Geom::X]); - prefs->setDouble("tools.lpetool", "bbox_lowerrighty", B[Geom::Y]); + prefs->setDouble("/tools/lpetool/bbox_upperleftx", A[Geom::X]); + prefs->setDouble("/tools/lpetool/bbox_upperlefty", A[Geom::Y]); + prefs->setDouble("/tools/lpetool/bbox_lowerrightx", B[Geom::X]); + prefs->setDouble("/tools/lpetool/bbox_lowerrighty", B[Geom::Y]); lpetool_context_reset_limiting_bbox(SP_LPETOOL_CONTEXT(desktop->event_context)); } @@ -5103,7 +5095,7 @@ static void sp_lpetool_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActi SPUnit const *unit = tracker->getActiveUnit(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setInt("tools.lpetool", "unitid", unit->unit_id); + prefs->setInt("/tools/lpetool/unitid", unit->unit_id); /** Automatically create a list of LPEs that get added to the toolbar **/ { @@ -5141,7 +5133,7 @@ static void sp_lpetool_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActi ege_select_one_action_set_icon_column( act, 2 ); ege_select_one_action_set_tooltip_column( act, 1 ); - gint lpeToolMode = prefs->getInt("tools.lpetool", "mode", 0); + gint lpeToolMode = prefs->getInt("/tools/lpetool/mode", 0); ege_select_one_action_set_active( act, lpeToolMode ); g_signal_connect_after( G_OBJECT(act), "changed", G_CALLBACK(sp_lpetool_mode_changed), holder ); } @@ -5155,7 +5147,7 @@ static void sp_lpetool_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActi Inkscape::ICON_SIZE_DECORATION ); gtk_action_group_add_action( mainActions, GTK_ACTION( act ) ); g_signal_connect_after( G_OBJECT(act), "toggled", G_CALLBACK(lpetool_toggle_show_bbox), desktop ); - gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getInt( "tools.lpetool", "show_bbox", 1 ) ); + gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool( "/tools/lpetool/show_bbox", true ) ); } /* Set limiting bounding box to bbox of current selection */ @@ -5196,7 +5188,7 @@ static void sp_lpetool_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActi Inkscape::ICON_SIZE_DECORATION ); gtk_action_group_add_action( mainActions, GTK_ACTION( act ) ); g_signal_connect_after( G_OBJECT(act), "toggled", G_CALLBACK(lpetool_toggle_show_measuring_info), holder ); - gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getInt( "tools.lpetool", "show_measuring_info", 1 ) ); + gtk_toggle_action_set_active( GTK_TOGGLE_ACTION(act), prefs->getBool( "/tools/lpetool/show_measuring_info", true ) ); } // add the units menu @@ -5205,7 +5197,7 @@ static void sp_lpetool_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActi gtk_action_group_add_action( mainActions, act ); g_signal_connect_after( G_OBJECT(act), "changed", G_CALLBACK(lpetool_unit_changed), (GObject*)holder ); g_object_set_data(holder, "lpetool_units_action", act); - gtk_action_set_sensitive(act, prefs->getInt("tools.lpetool", "show_measuring_info", 1)); + gtk_action_set_sensitive(act, prefs->getBool("/tools/lpetool/show_measuring_info", true)); } /* Open LPE dialog (to adapt parameters numerically) */ @@ -5241,17 +5233,17 @@ static void sp_lpetool_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActi static void sp_erc_width_value_changed( GtkAdjustment *adj, GObject *tbl ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble( "tools.eraser", "width", adj->value * 0.01 ); + prefs->setDouble( "/tools/eraser/width", adj->value * 0.01 ); update_presets_list(tbl); } static void sp_erasertb_mode_changed( EgeSelectOneAction *act, GObject *tbl ) { SPDesktop *desktop = (SPDesktop *) g_object_get_data( tbl, "desktop" ); - gint eraserMode = (ege_select_one_action_get_active( act ) != 0) ? 1 : 0; + bool eraserMode = ege_select_one_action_get_active( act ) != 0; if (sp_document_get_undo_sensitive(sp_desktop_document(desktop))) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setInt( "tools.eraser", "mode", eraserMode ); + prefs->setBool( "/tools/eraser/mode", eraserMode ); } // only take action if run by the attr_changed listener @@ -5277,7 +5269,7 @@ static void sp_eraser_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActio EgeAdjustmentAction *eact = create_adjustment_action( "EraserWidthAction", _("Pen Width"), _("Width:"), _("The width of the eraser pen (relative to the visible canvas area)"), - "tools.eraser", "width", 15, + "/tools/eraser/width", 15, GTK_WIDGET(desktop->canvas), NULL, holder, TRUE, "altx-eraser", 1, 100, 1.0, 0.0, labels, values, G_N_ELEMENTS(labels), @@ -5317,7 +5309,7 @@ static void sp_eraser_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActio /// @todo Convert to boolean? Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - gint eraserMode = (prefs->getInt("tools.eraser", "mode", 0) != 0) ? 1 : 0; + gint eraserMode = prefs->getBool("/tools/eraser/mode") ? 1 : 0; ege_select_one_action_set_active( act, eraserMode ); g_signal_connect_after( G_OBJECT(act), "changed", G_CALLBACK(sp_erasertb_mode_changed), holder ); } @@ -5385,20 +5377,15 @@ sp_text_toolbox_selection_changed (Inkscape::Selection */*selection*/, GObject * // If querying returned nothing, read the style from the text tool prefs (default style for new texts) if (result_family == QUERY_STYLE_NOTHING || result_style == QUERY_STYLE_NOTHING || result_numbers == QUERY_STYLE_NOTHING) { // there are no texts in selection, read from prefs - - Inkscape::XML::Node *repr = inkscape_get_repr (INKSCAPE, "tools.text"); - if (repr) { - sp_style_read_from_repr (query, repr); - if (g_object_get_data(tbl, "text_style_from_prefs")) { - // do not reset the toolbar style from prefs if we already did it last time - sp_style_unref(query); - return; - } - g_object_set_data(tbl, "text_style_from_prefs", GINT_TO_POINTER(TRUE)); - } else { + + sp_style_read_from_prefs(query, "/tools/text"); + + if (g_object_get_data(tbl, "text_style_from_prefs")) { + // do not reset the toolbar style from prefs if we already did it last time sp_style_unref(query); return; } + g_object_set_data(tbl, "text_style_from_prefs", GINT_TO_POINTER(TRUE)); } else { g_object_set_data(tbl, "text_style_from_prefs", GINT_TO_POINTER(FALSE)); } @@ -5635,7 +5622,8 @@ sp_text_toolbox_family_changed (GtkTreeSelection *selection, // If querying returned nothing, set the default style of the tool (for new texts) if (result_fontspec == QUERY_STYLE_NOTHING) { - sp_repr_css_change (inkscape_get_repr (INKSCAPE, "tools.text"), css, "style"); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setStyle("/tools/text/style", css); sp_text_edit_dialog_default_set_insensitive (); //FIXME: Replace trough a verb } else @@ -5727,7 +5715,8 @@ sp_text_toolbox_anchoring_toggled (GtkRadioButton *button, // If querying returned nothing, read the style from the text tool prefs (default style for new texts) if (result_numbers == QUERY_STYLE_NOTHING) { - sp_repr_css_change (inkscape_get_repr (INKSCAPE, "tools.text"), css, "style"); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setStyle("/tools/text/style", css); } sp_style_unref(query); @@ -5805,7 +5794,8 @@ sp_text_toolbox_style_toggled (GtkToggleButton *button, // If querying returned nothing, read the style from the text tool prefs (default style for new texts) if (result_fontspec == QUERY_STYLE_NOTHING) { - sp_repr_css_change (inkscape_get_repr (INKSCAPE, "tools.text"), css, "style"); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setStyle("/tools/text/style", css); } sp_style_unref(query); @@ -5854,7 +5844,8 @@ sp_text_toolbox_orientation_toggled (GtkRadioButton *button, // If querying returned nothing, read the style from the text tool prefs (default style for new texts) if (result_numbers == QUERY_STYLE_NOTHING) { - sp_repr_css_change (inkscape_get_repr (INKSCAPE, "tools.text"), css, "style"); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setStyle("/tools/text/style", css); } sp_desktop_set_style (desktop, css, true, true); @@ -5954,7 +5945,8 @@ sp_text_toolbox_size_changed (GtkComboBox *cbox, // If querying returned nothing, read the style from the text tool prefs (default style for new texts) if (result_numbers == QUERY_STYLE_NOTHING) { - sp_repr_css_change (inkscape_get_repr (INKSCAPE, "tools.text"), css, "style"); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setStyle("/tools/text/style", css); } sp_style_unref(query); @@ -6117,7 +6109,7 @@ GtkWidget* sp_text_toolbox_new (SPDesktop *desktop) { GtkToolbar *tbl = GTK_TOOLBAR(gtk_toolbar_new()); - GtkIconSize secondarySize = static_cast(prefToSize("toolbox", "secondary", 1)); + GtkIconSize secondarySize = static_cast(prefToSize("/toolbox/secondary", 1)); gtk_object_set_data(GTK_OBJECT(tbl), "dtw", desktop->canvas); gtk_object_set_data(GTK_OBJECT(tbl), "desktop", desktop); @@ -6437,12 +6429,12 @@ static void sp_connector_graph_layout(void) Inkscape::Preferences *prefs = Inkscape::Preferences::get(); // hack for clones, see comment in align-and-distribute.cpp - int saved_compensation = prefs->getInt("options.clonecompensation", "value", SP_CLONE_COMPENSATION_UNMOVED); - prefs->setInt("options.clonecompensation", "value", SP_CLONE_COMPENSATION_UNMOVED); + int saved_compensation = prefs->getInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED); + prefs->setInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED); graphlayout(sp_desktop_selection(SP_ACTIVE_DESKTOP)->itemList()); - prefs->setInt("options.clonecompensation", "value", saved_compensation); + prefs->setInt("/options/clonecompensation/value", saved_compensation); sp_document_done(sp_desktop_document(SP_ACTIVE_DESKTOP), SP_VERB_DIALOG_ALIGN_DISTRIBUTE, _("Arrange connector network")); } @@ -6450,14 +6442,14 @@ static void sp_connector_graph_layout(void) static void sp_directed_graph_layout_toggled( GtkToggleAction* act, GtkObject */*tbl*/ ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setBool("tools.connector", "directedlayout", + prefs->setBool("/tools/connector/directedlayout", gtk_toggle_action_get_active( act )); } static void sp_nooverlaps_graph_layout_toggled( GtkToggleAction* act, GtkObject */*tbl*/ ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setBool("tools.connector", "avoidoverlaplayout", + prefs->setBool("/tools/connector/avoidoverlaplayout", gtk_toggle_action_get_active( act )); } @@ -6465,7 +6457,7 @@ static void sp_nooverlaps_graph_layout_toggled( GtkToggleAction* act, GtkObject static void connector_length_changed(GtkAdjustment *adj, GObject* tbl) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble("tools.connector", "length", adj->value); + prefs->setDouble("/tools/connector/length", adj->value); spinbutton_defocus(GTK_OBJECT(tbl)); } @@ -6503,7 +6495,7 @@ static Inkscape::XML::NodeEventVector connector_tb_repr_events = { static void sp_connector_toolbox_prep( SPDesktop *desktop, GtkActionGroup* mainActions, GObject* holder ) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - Inkscape::IconSize secondarySize = prefToSize("toolbox", "secondary", 1); + Inkscape::IconSize secondarySize = prefToSize("/toolbox/secondary", 1); { InkAction* inky = ink_action_new( "ConnectorAvoidAction", @@ -6531,7 +6523,7 @@ static void sp_connector_toolbox_prep( SPDesktop *desktop, GtkActionGroup* mainA eact = create_adjustment_action( "ConnectorSpacingAction", _("Connector Spacing"), _("Spacing:"), _("The amount of space left around objects by auto-routing connectors"), - "tools.connector", "spacing", defaultConnSpacing, + "/tools/connector/spacing", defaultConnSpacing, GTK_WIDGET(desktop->canvas), NULL, holder, TRUE, "inkscape:connector-spacing", 0, 100, 1.0, 10.0, 0, 0, 0, @@ -6553,7 +6545,7 @@ static void sp_connector_toolbox_prep( SPDesktop *desktop, GtkActionGroup* mainA eact = create_adjustment_action( "ConnectorLengthAction", _("Connector Length"), _("Length:"), _("Ideal length for connectors when layout is applied"), - "tools.connector", "length", 100, + "/tools/connector/length", 100, GTK_WIDGET(desktop->canvas), NULL, holder, TRUE, "inkscape:connector-length", 10, 1000, 10.0, 100.0, 0, 0, 0, @@ -6570,7 +6562,7 @@ static void sp_connector_toolbox_prep( SPDesktop *desktop, GtkActionGroup* mainA Inkscape::ICON_SIZE_DECORATION ); gtk_action_group_add_action( mainActions, GTK_ACTION( act ) ); - bool tbuttonstate = prefs->getBool("tools.connector", "directedlayout"); + bool tbuttonstate = prefs->getBool("/tools/connector/directedlayout"); gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(act), ( tbuttonstate ? TRUE : FALSE )); g_signal_connect_after( G_OBJECT(act), "toggled", G_CALLBACK(sp_directed_graph_layout_toggled), holder ); @@ -6585,7 +6577,7 @@ static void sp_connector_toolbox_prep( SPDesktop *desktop, GtkActionGroup* mainA Inkscape::ICON_SIZE_DECORATION ); gtk_action_group_add_action( mainActions, GTK_ACTION( act ) ); - bool tbuttonstate = prefs->getBool("tools.connector", "avoidoverlaplayout"); + bool tbuttonstate = prefs->getBool("/tools/connector/avoidoverlaplayout"); gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(act), (tbuttonstate ? TRUE : FALSE )); g_signal_connect_after( G_OBJECT(act), "toggled", G_CALLBACK(sp_nooverlaps_graph_layout_toggled), holder ); @@ -6620,13 +6612,13 @@ static void paintbucket_channels_changed(EgeSelectOneAction* act, GObject* /*tbl static void paintbucket_threshold_changed(GtkAdjustment *adj, GObject */*tbl*/) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setInt("tools.paintbucket", "threshold", (gint)adj->value); + prefs->setInt("/tools/paintbucket/threshold", (gint)adj->value); } static void paintbucket_autogap_changed(EgeSelectOneAction* act, GObject */*tbl*/) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setInt("tools.paintbucket", "autogap", ege_select_one_action_get_active( act )); + prefs->setBool("/tools/paintbucket/autogap", ege_select_one_action_get_active( act )); } static void paintbucket_offset_changed(GtkAdjustment *adj, GObject *tbl) @@ -6635,8 +6627,8 @@ static void paintbucket_offset_changed(GtkAdjustment *adj, GObject *tbl) SPUnit const *unit = tracker->getActiveUnit(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble("tools.paintbucket", "offset", (gdouble)sp_units_get_pixels(adj->value, *unit)); - prefs->setString("tools.paintbucket", "offsetunits", sp_unit_get_abbreviation(unit)); + prefs->setDouble("/tools/paintbucket/offset", (gdouble)sp_units_get_pixels(adj->value, *unit)); + prefs->setString("/tools/paintbucket/offsetunits", sp_unit_get_abbreviation(unit)); } static void paintbucket_defaults (GtkWidget *, GObject *tbl) @@ -6686,7 +6678,7 @@ static void sp_paintbucket_toolbox_prep(SPDesktop *desktop, GtkActionGroup* main EgeSelectOneAction* act1 = ege_select_one_action_new( "ChannelsAction", _("Fill by"), (""), NULL, GTK_TREE_MODEL(model) ); g_object_set( act1, "short_label", _("Fill by:"), NULL ); ege_select_one_action_set_appearance( act1, "compact" ); - ege_select_one_action_set_active( act1, prefs->getInt("tools.paintbucket", "channels", 0) ); + ege_select_one_action_set_active( act1, prefs->getInt("/tools/paintbucket/channels", 0) ); g_signal_connect( G_OBJECT(act1), "changed", G_CALLBACK(paintbucket_channels_changed), holder ); gtk_action_group_add_action( mainActions, GTK_ACTION(act1) ); g_object_set_data( holder, "channels_action", act1 ); @@ -6698,7 +6690,7 @@ static void sp_paintbucket_toolbox_prep(SPDesktop *desktop, GtkActionGroup* main "ThresholdAction", _("Fill Threshold"), _("Threshold:"), _("The maximum allowed difference between the clicked pixel and the neighboring pixels to be counted in the fill"), - "tools.paintbucket", "threshold", 5, GTK_WIDGET(desktop->canvas), NULL, holder, TRUE, + "/tools/paintbucket/threshold", 5, GTK_WIDGET(desktop->canvas), NULL, holder, TRUE, "inkscape:paintbucket-threshold", 0, 100.0, 1.0, 0.0, 0, 0, 0, paintbucket_threshold_changed, 1, 0 ); @@ -6709,7 +6701,7 @@ static void sp_paintbucket_toolbox_prep(SPDesktop *desktop, GtkActionGroup* main // Create the units menu. UnitTracker* tracker = new UnitTracker( SP_UNIT_ABSOLUTE | SP_UNIT_DEVICE ); - Glib::ustring stored_unit = prefs->getString("tools.paintbucket", "offsetunits"); + Glib::ustring stored_unit = prefs->getString("/tools/paintbucket/offsetunits"); if (!stored_unit.empty()) tracker->setActiveUnit(sp_unit_get_by_abbreviation(stored_unit.data())); g_object_set_data( holder, "tracker", tracker ); @@ -6724,7 +6716,7 @@ static void sp_paintbucket_toolbox_prep(SPDesktop *desktop, GtkActionGroup* main "OffsetAction", _("Grow/shrink by"), _("Grow/shrink by:"), _("The amount to grow (positive) or shrink (negative) the created fill path"), - "tools.paintbucket", "offset", 0, GTK_WIDGET(desktop->canvas), NULL/*us*/, holder, TRUE, + "/tools/paintbucket/offset", 0, GTK_WIDGET(desktop->canvas), NULL/*us*/, holder, TRUE, "inkscape:paintbucket-offset", -1e6, 1e6, 0.1, 0.5, 0, 0, 0, paintbucket_offset_changed, 1, 2); @@ -6751,7 +6743,7 @@ static void sp_paintbucket_toolbox_prep(SPDesktop *desktop, GtkActionGroup* main EgeSelectOneAction* act2 = ege_select_one_action_new( "AutoGapAction", _("Close gaps"), (""), NULL, GTK_TREE_MODEL(model) ); g_object_set( act2, "short_label", _("Close gaps:"), NULL ); ege_select_one_action_set_appearance( act2, "compact" ); - ege_select_one_action_set_active( act2, prefs->getInt("tools.paintbucket", "autogap", 0) ); + ege_select_one_action_set_active( act2, prefs->getBool("/tools/paintbucket/autogap") ); g_signal_connect( G_OBJECT(act2), "changed", G_CALLBACK(paintbucket_autogap_changed), holder ); gtk_action_group_add_action( mainActions, GTK_ACTION(act2) ); g_object_set_data( holder, "autogap_action", act2 ); @@ -6780,7 +6772,3 @@ static void sp_paintbucket_toolbox_prep(SPDesktop *desktop, GtkActionGroup* main End: */ // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : - - - - diff --git a/src/widgets/toolbox.h b/src/widgets/toolbox.h index 27bf6d052..a4d6f21a5 100644 --- a/src/widgets/toolbox.h +++ b/src/widgets/toolbox.h @@ -42,7 +42,7 @@ void aux_toolbox_space(GtkWidget *tb, gint space); // utility void sp_toolbox_add_label(GtkWidget *tbl, gchar const *title, bool wide = true); -Inkscape::IconSize prefToSize( gchar const *path, gchar const *attr, int base = 0 ); +Inkscape::IconSize prefToSize(Glib::ustring const &path, int base = 0 ); #endif /* !SEEN_TOOLBOX_H */ diff --git a/src/xml/node-observer.h b/src/xml/node-observer.h index 6052e48b6..8f317e2d0 100644 --- a/src/xml/node-observer.h +++ b/src/xml/node-observer.h @@ -29,7 +29,7 @@ namespace XML { /** * @brief Interface for XML node observers * - * This pure abstract class defines an interface for objects that can receive + * This class defines an interface for objects that can receive * XML node state change notifications. The observer has to be registered using * the Node::addObserver() method to be notified of changes of this node only, * or using Node::addSubtreeObserver() to also receive notifications about its @@ -40,6 +40,11 @@ namespace XML { * The method will be called again due to the XML modification performed in it. If you * don't take special precautions to ignore the second call, it will result in infinite * recursion. + * + * The virtual methods of this class do nothing by default, so you don't need to provide + * stubs for things you don't use. A good idea is to make the observer register itself + * on construction and unregister itself on destruction. This will ensure there are + * no dangling references. */ class NodeObserver { public: @@ -56,7 +61,7 @@ public: * @param child The newly added child node * @param prev The node after which the new child was inserted into the sibling order, or NULL */ - virtual void notifyChildAdded(Node &node, Node &child, Node *prev)=0; + virtual void notifyChildAdded(Node &node, Node &child, Node *prev) {} /** * @brief Child removal callback @@ -68,7 +73,7 @@ public: * @param child The removed child node * @param prev The node that was before the removed node in sibling order, or NULL */ - virtual void notifyChildRemoved(Node &node, Node &child, Node *prev)=0; + virtual void notifyChildRemoved(Node &node, Node &child, Node *prev) {} /** * @brief Child order change callback @@ -84,7 +89,7 @@ public: * @param new_prev The node that is before @c child after the order change */ virtual void notifyChildOrderChanged(Node &node, Node &child, - Node *old_prev, Node *new_prev)=0; + Node *old_prev, Node *new_prev) {} /** * @brief Content change callback @@ -98,7 +103,7 @@ public: */ virtual void notifyContentChanged(Node &node, Util::ptr_shared old_content, - Util::ptr_shared new_content)=0; + Util::ptr_shared new_content) {} /** * @brief Attribute change callback @@ -112,7 +117,7 @@ public: */ virtual void notifyAttributeChanged(Node &node, GQuark name, Util::ptr_shared old_value, - Util::ptr_shared new_value)=0; + Util::ptr_shared new_value) {} }; } // namespace XML diff --git a/src/xml/repr-io.cpp b/src/xml/repr-io.cpp index 2a5125375..371af729f 100644 --- a/src/xml/repr-io.cpp +++ b/src/xml/repr-io.cpp @@ -29,7 +29,7 @@ #include "io/stringstream.h" #include "io/gzipstream.h" -#include "prefs-utils.h" +#include "preferences.h" using Inkscape::IO::Writer; using Inkscape::Util::List; @@ -511,8 +511,9 @@ void sp_repr_save_writer(Document *doc, Inkscape::IO::Writer *out, gchar const *default_ns) { - int inlineattrs = prefs_get_int_attribute("options.svgoutput", "inlineattrs", 0); - int indent = prefs_get_int_attribute("options.svgoutput", "indent", 2); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + bool inlineattrs = prefs->getBool("/options/svgoutput/inlineattrs"); + int indent = prefs->getInt("/options/svgoutput/indent", 2); /* fixme: do this The Right Way */ out->writeString( "\n" ); diff --git a/src/zoom-context.cpp b/src/zoom-context.cpp index 1d14d20cd..b00845077 100644 --- a/src/zoom-context.cpp +++ b/src/zoom-context.cpp @@ -21,7 +21,7 @@ #include "desktop.h" #include "pixmaps/cursor-zoom.xpm" #include "pixmaps/cursor-zoom-out.xpm" -#include "prefs-utils.h" +#include "preferences.h" #include "zoom-context.h" @@ -91,10 +91,11 @@ sp_zoom_context_finish (SPEventContext *ec) static void sp_zoom_context_setup(SPEventContext *ec) { - if (prefs_get_int_attribute("tools.zoom", "selcue", 0) != 0) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if (prefs->getBool("/tools/zoom/selcue")) { ec->enableSelectionCue(); } - if (prefs_get_int_attribute("tools.zoom", "gradientdrag", 0) != 0) { + if (prefs->getBool("/tools/zoom/gradientdrag")) { ec->enableGrDrag(); } @@ -117,16 +118,17 @@ static gint sp_zoom_context_item_handler(SPEventContext *event_context, SPItem * static gint sp_zoom_context_root_handler(SPEventContext *event_context, GdkEvent *event) { SPDesktop *desktop = event_context->desktop; - tolerance = prefs_get_int_attribute_limited ("options.dragtolerance", "value", 0, 0, 100); - double const zoom_inc = prefs_get_double_attribute_limited("options.zoomincrement", "value", M_SQRT2, 1.01, 10); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + tolerance = prefs->getIntLimited("/options/dragtolerance/value", 0, 0, 100); + double const zoom_inc = prefs->getDoubleLimited("/options/zoomincrement/value", M_SQRT2, 1.01, 10); gint ret = FALSE; switch (event->type) { case GDK_BUTTON_PRESS: { - NR::Point const button_w(event->button.x, event->button.y); - NR::Point const button_dt(desktop->w2d(button_w)); + Geom::Point const button_w(event->button.x, event->button.y); + Geom::Point const button_dt(desktop->w2d(button_w)); if (event->button.button == 1 && !event_context->space_panning) { // save drag origin xp = (gint) event->button.x; @@ -162,8 +164,8 @@ static gint sp_zoom_context_root_handler(SPEventContext *event_context, GdkEvent // motion notify coordinates as given (no snapping back to origin) within_tolerance = false; - NR::Point const motion_w(event->motion.x, event->motion.y); - NR::Point const motion_dt(desktop->w2d(motion_w)); + Geom::Point const motion_w(event->motion.x, event->motion.y); + Geom::Point const motion_dt(desktop->w2d(motion_w)); Inkscape::Rubberband::get(desktop)->move(motion_dt); gobble_motion_events(GDK_BUTTON1_MASK); } @@ -171,8 +173,8 @@ static gint sp_zoom_context_root_handler(SPEventContext *event_context, GdkEvent case GDK_BUTTON_RELEASE: { - NR::Point const button_w(event->button.x, event->button.y); - NR::Point const button_dt(desktop->w2d(button_w)); + Geom::Point const button_w(event->button.x, event->button.y); + Geom::Point const button_dt(desktop->w2d(button_w)); if ( event->button.button == 1 && !event_context->space_panning) { boost::optional const b = Inkscape::Rubberband::get(desktop)->getRectangle(); if (b && !within_tolerance) { diff --git a/utf8-to-roff b/utf8-to-roff index 0ce0f565f..9bb178f10 100755 --- a/utf8-to-roff +++ b/utf8-to-roff @@ -25,9 +25,9 @@ use strict; # Table generated automatically using: # zcat /usr/share/man/man7/groff_char.7.gz |groff -man -Tutf8| col -pb | grep '\\\['| # perl -CI -nae 'my ($ch, $seq) = @F; if (ord($ch) >= 128) { printf(" 0x\%x, q{\%s},\n", ord($ch), $seq); }' -# with č (0x10d) manually translated as ˇc (\[ah]c). (Anyone have a better translation, e.g. using +# with č (0x10d) manually translated as cˇ (c\[ah]). (Anyone have a better translation, e.g. using # overprint? \[vc] doesn't work, btw.) -# Similarly, ć (0x107) has been manually translated as ´c (\[aa]c). +# Similarly, ć (0x107) has been manually translated as c´ (c\[aa]), and ń (0x144) as n´ (n\[aa]). my %map = ( 0xd0, q{\[-D]}, 0xf0, q{\[Sd]}, @@ -94,8 +94,8 @@ my %map = ( 0xe3, q{\[~a]}, 0xf1, q{\[~n]}, 0xf5, q{\[~o]}, - 0x107, q{\[aa]c}, # Added manually; see above. - 0x10d, q{\[ah]c}, # Added manually; see above. + 0x107, q{c\[aa]}, # Added manually; see above. + 0x10d, q{c\[ah]}, # Added manually; see above. 0x160, q{\[vS]}, 0x161, q{\[vs]}, 0x17d, q{\[vZ]}, @@ -104,6 +104,7 @@ my %map = ( 0xe7, q{\[,c]}, 0x141, q{\[/L]}, 0x142, q{\[/l]}, + 0x144, q{n\[aa]}, # Added manually; see above. 0xd8, q{\[/O]}, 0xf8, q{\[/o]}, 0xc5, q{\[oA]}, -- 2.30.2